@ionic/core 9.0.6-dev.11790615145.1d8c56a2 → 9.0.6-dev.11790776272.1d27d1bd

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 (1098) 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-divider.d.ts +11 -0
  27. package/components/ion-divider.js +4 -0
  28. package/components/ion-fab-button.js +1 -1
  29. package/components/ion-fab-list.js +1 -1
  30. package/components/ion-fab.js +1 -1
  31. package/components/ion-footer.js +1 -1
  32. package/components/ion-gallery-item.d.ts +11 -0
  33. package/components/ion-gallery-item.js +4 -0
  34. package/components/ion-gallery.d.ts +11 -0
  35. package/components/ion-gallery.js +4 -0
  36. package/components/ion-grid.js +1 -1
  37. package/components/ion-header.js +1 -1
  38. package/components/ion-icon.js +1 -1
  39. package/components/ion-img.js +1 -1
  40. package/components/ion-infinite-scroll-content.js +1 -1
  41. package/components/ion-infinite-scroll.js +1 -1
  42. package/components/ion-input-otp.js +1 -1
  43. package/components/ion-input-password-toggle.js +1 -1
  44. package/components/ion-input.js +1 -1
  45. package/components/ion-item-divider.js +1 -1
  46. package/components/ion-item-group.js +1 -1
  47. package/components/ion-item-option.js +1 -1
  48. package/components/ion-item-options.js +1 -1
  49. package/components/ion-item-sliding.js +1 -1
  50. package/components/ion-item.js +1 -1
  51. package/components/ion-label.js +1 -1
  52. package/components/ion-list-header.js +1 -1
  53. package/components/ion-list.js +1 -1
  54. package/components/ion-loading.js +1 -1
  55. package/components/ion-menu-button.js +1 -1
  56. package/components/ion-menu-toggle.js +1 -1
  57. package/components/ion-menu.js +1 -1
  58. package/components/ion-modal.js +1 -1
  59. package/components/ion-nav-link.js +1 -1
  60. package/components/ion-nav.js +1 -1
  61. package/components/ion-note.js +1 -1
  62. package/components/ion-picker-column-option.js +1 -1
  63. package/components/ion-picker-column.js +1 -1
  64. package/components/ion-picker.js +1 -1
  65. package/components/ion-popover.js +1 -1
  66. package/components/ion-progress-bar.js +1 -1
  67. package/components/ion-radio-group.js +1 -1
  68. package/components/ion-radio.js +1 -1
  69. package/components/ion-range.js +1 -1
  70. package/components/ion-refresher-content.js +1 -1
  71. package/components/ion-refresher.js +1 -1
  72. package/components/ion-reorder-group.js +1 -1
  73. package/components/ion-reorder.js +1 -1
  74. package/components/ion-ripple-effect.js +1 -1
  75. package/components/ion-route-redirect.js +1 -1
  76. package/components/ion-route.js +1 -1
  77. package/components/ion-router-link.js +1 -1
  78. package/components/ion-router-outlet.js +1 -1
  79. package/components/ion-router.js +1 -1
  80. package/components/ion-row.js +1 -1
  81. package/components/ion-searchbar.js +1 -1
  82. package/components/ion-segment-button.js +1 -1
  83. package/components/ion-segment-content.js +1 -1
  84. package/components/ion-segment-view.js +1 -1
  85. package/components/ion-segment.js +1 -1
  86. package/components/ion-select-modal.js +1 -1
  87. package/components/ion-select-option.js +1 -1
  88. package/components/ion-select-popover.js +1 -1
  89. package/components/ion-select.js +1 -1
  90. package/components/ion-skeleton-text.js +1 -1
  91. package/components/ion-spinner.js +1 -1
  92. package/components/ion-split-pane.js +1 -1
  93. package/components/ion-tab-bar.js +1 -1
  94. package/components/ion-tab-button.js +1 -1
  95. package/components/ion-tab.js +1 -1
  96. package/components/ion-tabs.js +1 -1
  97. package/components/ion-text.js +1 -1
  98. package/components/ion-textarea.js +1 -1
  99. package/components/ion-thumbnail.js +1 -1
  100. package/components/ion-title.js +1 -1
  101. package/components/ion-toast.js +1 -1
  102. package/components/ion-toggle.js +1 -1
  103. package/components/ion-toolbar.js +1 -1
  104. package/components/p-0rXxxCTt.js +4 -0
  105. package/components/p-37X-8Gly.js +4 -0
  106. package/components/p-62jMqk_2.js +4 -0
  107. package/components/p-6bixixDn.js +4 -0
  108. package/components/p-8_oeT3pA.js +4 -0
  109. package/components/p-8n1_MTzx.js +4 -0
  110. package/components/{p-DWGgvN5e.js → p-A6ucUP3n.js} +1 -1
  111. package/components/{p-Bu6O-veK.js → p-B2N-uaer.js} +1 -1
  112. package/components/p-B6hzlC5j.js +4 -0
  113. package/components/p-B93Ra6bA.js +4 -0
  114. package/components/p-BNmpijWM.js +4 -0
  115. package/components/p-BUF_V-Kg.js +4 -0
  116. package/components/p-BYk20Mf5.js +4 -0
  117. package/components/{p-yjLe0sN2.js → p-Bdobqe7h.js} +1 -1
  118. package/components/p-BfDzKnZ-.js +4 -0
  119. package/components/p-BhahBl_4.js +4 -0
  120. package/components/p-BiYiyBQx.js +4 -0
  121. package/components/p-BrOe3-hG.js +4 -0
  122. package/components/{p-fFx6WCTj.js → p-BxmCDJGo.js} +1 -1
  123. package/components/p-BzTxsQy7.js +4 -0
  124. package/components/p-C1_1oiK1.js +4 -0
  125. package/components/{p-CVVUo4J1.js → p-CDgG2plB.js} +1 -1
  126. package/components/p-CG2KwvX8.js +4 -0
  127. package/components/p-CJgEqVkU.js +4 -0
  128. package/components/p-CODBQrPj.js +4 -0
  129. package/components/p-CO_NfcFI.js +4 -0
  130. package/components/p-COpUROd5.js +4 -0
  131. package/components/p-CU58nYdK.js +4 -0
  132. package/components/p-CfVt2cSa.js +4 -0
  133. package/components/p-CqJjxXhD.js +4 -0
  134. package/components/{p-Ctw69DyZ.js → p-CscIqeFa.js} +1 -1
  135. package/components/p-Cw238cJK.js +4 -0
  136. package/components/p-CzIKYlnt.js +4 -0
  137. package/components/p-D4qU_GAV.js +4 -0
  138. package/components/p-D5DnKj9A.js +4 -0
  139. package/components/{p-Dlr7b3_2.js → p-D5ld1tBr.js} +1 -1
  140. package/components/{p-C9ioHZq-.js → p-DGbHpbI3.js} +1 -1
  141. package/components/p-DI6CUKfX.js +4 -0
  142. package/components/p-DJHoSlfB.js +4 -0
  143. package/components/p-DKq6UKi0.js +4 -0
  144. package/components/{p-BKeulLTJ.js → p-DSXoSdmA.js} +1 -1
  145. package/components/p-D__93Idk.js +4 -0
  146. package/components/p-DdxgOJke.js +4 -0
  147. package/components/p-DfcwW1aR.js +4 -0
  148. package/components/p-DgFAwQsK.js +4 -0
  149. package/components/{p-T2dnrBya.js → p-Dgl8Vd2X.js} +1 -1
  150. package/components/{p-C_NQIzjP.js → p-Dk28-cNx.js} +1 -1
  151. package/components/p-DkiPZ_fu.js +4 -0
  152. package/components/p-ESP4CxsW.js +4 -0
  153. package/components/p-FyJJr6na.js +4 -0
  154. package/components/p-NcQUGze-.js +4 -0
  155. package/components/p-S3RGszMg.js +4 -0
  156. package/components/p-XNCy3pzc.js +4 -0
  157. package/components/p-YaCudw3M.js +4 -0
  158. package/components/p-YzlvZhlS.js +4 -0
  159. package/components/p-Z0yxDpWf.js +4 -0
  160. package/components/p-ZJCq7HeA.js +4 -0
  161. package/components/p-jQFnlcKd.js +4 -0
  162. package/components/p-yscb8Luf.js +4 -0
  163. package/css/core.css +1 -1
  164. package/css/core.css.map +1 -1
  165. package/css/display.css +1 -1
  166. package/css/display.css.map +1 -1
  167. package/css/flex-utils.css +1 -1
  168. package/css/flex-utils.css.map +1 -1
  169. package/css/float-elements.css.map +1 -1
  170. package/css/global.bundle.css.map +1 -1
  171. package/css/ionic/bundle.ionic.css +1 -0
  172. package/css/ionic/bundle.ionic.css.map +1 -0
  173. package/css/ionic/core.ionic.css +1 -0
  174. package/css/ionic/core.ionic.css.map +1 -0
  175. package/css/ionic/global.bundle.ionic.css +1 -0
  176. package/css/ionic/global.bundle.ionic.css.map +1 -0
  177. package/css/ionic/ionic-swiper.ionic.css +1 -0
  178. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  179. package/css/ionic/link.ionic.css +1 -0
  180. package/css/ionic/link.ionic.css.map +1 -0
  181. package/css/ionic/structure.ionic.css +1 -0
  182. package/css/ionic/structure.ionic.css.map +1 -0
  183. package/css/ionic/typography.ionic.css +1 -0
  184. package/css/ionic/typography.ionic.css.map +1 -0
  185. package/css/ionic/utils.bundle.ionic.css +1 -0
  186. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  187. package/css/ionic-swiper.css +1 -1
  188. package/css/ionic-swiper.css.map +1 -1
  189. package/css/ionic.bundle.css +1 -1
  190. package/css/ionic.bundle.css.map +1 -1
  191. package/css/normalize.css.map +1 -1
  192. package/css/padding.css.map +1 -1
  193. package/css/palettes/dark.always.css.map +1 -1
  194. package/css/palettes/dark.class.css.map +1 -1
  195. package/css/palettes/dark.system.css.map +1 -1
  196. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  197. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  198. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  199. package/css/palettes/high-contrast.always.css.map +1 -1
  200. package/css/palettes/high-contrast.class.css.map +1 -1
  201. package/css/palettes/high-contrast.system.css.map +1 -1
  202. package/css/structure.css.map +1 -1
  203. package/css/text-alignment.css.map +1 -1
  204. package/css/text-transformation.css.map +1 -1
  205. package/css/typography.css.map +1 -1
  206. package/css/utils.bundle.css +1 -1
  207. package/css/utils.bundle.css.map +1 -1
  208. package/dist/cjs/{animation-BFKyYY11.js → animation-DGhvrwaP.js} +3 -3
  209. package/dist/cjs/{app-globals-BLTzqkrC.js → app-globals--knHahIC.js} +1 -1
  210. package/dist/cjs/{attribute-controller-CXIeB0Mn.js → attribute-controller-DqubM70Y.js} +3 -2
  211. package/dist/cjs/{button-active-CEQaiV9N.js → button-active-DJu01UHp.js} +2 -2
  212. package/dist/cjs/{capacitor-BMzmHhwe.js → capacitor-DmA66EwP.js} +3 -3
  213. package/dist/cjs/clear-button-press-controller-C6PTS3jC.js +45 -0
  214. package/dist/cjs/focus-visible-DGPRKkcx.js +151 -0
  215. package/dist/cjs/{format-CdRlDqPs.js → format-UTEj7kb_.js} +1 -1
  216. package/dist/cjs/{framework-delegate-DTLbqaaO.js → framework-delegate-Dc-OOm7D.js} +4 -2
  217. package/dist/cjs/{haptic-CJVUv_GB.js → haptic-Ch-X4gRx.js} +1 -1
  218. package/dist/cjs/{helpers-Crluoxqu.js → helpers-CLJM7hT0.js} +88 -10
  219. package/dist/cjs/{index-CElfU-dK.js → index-BzL2o7TC.js} +16 -14
  220. package/dist/cjs/{index-wOmugbdg.js → index-CxDnX7hd.js} +2 -0
  221. package/dist/cjs/{index-CgXTRA_-.js → index-DHE2MAbY.js} +4 -4
  222. package/dist/cjs/{index-BAM4223M.js → index-DKcBQZY9.js} +2 -2
  223. package/dist/cjs/{index-BKpybYNI.js → index-DaYKwu0A.js} +9 -7
  224. package/dist/cjs/index-DkNv4J_i.js +10 -0
  225. package/dist/cjs/{index-BSD7toMO.js → index-Dy4VfNzX.js} +1 -1
  226. package/dist/cjs/{index-SAR1xwtW.js → index-sCX9078m.js} +53 -4
  227. package/dist/cjs/index.cjs.js +20 -18
  228. package/dist/cjs/{input-shims-CHghGZe-.js → input-shims-BMQzAjOD.js} +18 -16
  229. package/dist/cjs/{input.utils-BBZr0wjw.js → input.utils-BrmvFLnI.js} +1 -1
  230. package/dist/cjs/ion-accordion_2.cjs.entry.js +57 -29
  231. package/dist/cjs/ion-action-sheet.cjs.entry.js +42 -37
  232. package/dist/cjs/ion-alert.cjs.entry.js +50 -45
  233. package/dist/cjs/ion-app_8.cjs.entry.js +457 -195
  234. package/dist/cjs/ion-avatar_3.cjs.entry.js +124 -13
  235. package/dist/cjs/ion-back-button.cjs.entry.js +31 -23
  236. package/dist/cjs/ion-backdrop.cjs.entry.js +11 -7
  237. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +42 -18
  238. package/dist/cjs/ion-button_2.cjs.entry.js +61 -23
  239. package/dist/cjs/ion-card_5.cjs.entry.js +57 -34
  240. package/dist/cjs/ion-checkbox.cjs.entry.js +43 -17
  241. package/dist/cjs/ion-chip.cjs.entry.js +51 -9
  242. package/dist/cjs/ion-col_3.cjs.entry.js +57 -62
  243. package/dist/cjs/ion-datetime-button.cjs.entry.js +14 -9
  244. package/dist/cjs/ion-datetime.cjs.entry.js +75 -33
  245. package/dist/cjs/ion-divider.cjs.entry.js +52 -0
  246. package/dist/cjs/ion-fab_3.cjs.entry.js +40 -28
  247. package/dist/cjs/ion-gallery-item.cjs.entry.js +59 -0
  248. package/dist/cjs/ion-gallery.cjs.entry.js +608 -0
  249. package/dist/cjs/ion-img.cjs.entry.js +9 -4
  250. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +91 -16
  251. package/dist/cjs/ion-input-otp.cjs.entry.js +74 -9
  252. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +42 -14
  253. package/dist/cjs/ion-input.cjs.entry.js +143 -38
  254. package/dist/cjs/ion-item-option_3.cjs.entry.js +466 -52
  255. package/dist/cjs/ion-item_8.cjs.entry.js +118 -51
  256. package/dist/cjs/ion-loading.cjs.entry.js +33 -28
  257. package/dist/cjs/ion-menu_3.cjs.entry.js +53 -35
  258. package/dist/cjs/ion-modal.cjs.entry.js +285 -157
  259. package/dist/cjs/ion-nav_2.cjs.entry.js +14 -10
  260. package/dist/cjs/ion-picker-column-option.cjs.entry.js +13 -8
  261. package/dist/cjs/ion-picker-column.cjs.entry.js +17 -15
  262. package/dist/cjs/ion-picker.cjs.entry.js +11 -6
  263. package/dist/cjs/ion-popover.cjs.entry.js +33 -28
  264. package/dist/cjs/ion-progress-bar.cjs.entry.js +28 -9
  265. package/dist/cjs/ion-radio_2.cjs.entry.js +37 -18
  266. package/dist/cjs/ion-range.cjs.entry.js +21 -13
  267. package/dist/cjs/ion-refresher_2.cjs.entry.js +45 -20
  268. package/dist/cjs/ion-reorder_2.cjs.entry.js +31 -13
  269. package/dist/cjs/ion-ripple-effect.cjs.entry.js +16 -7
  270. package/dist/cjs/ion-route_4.cjs.entry.js +12 -10
  271. package/dist/cjs/ion-searchbar.cjs.entry.js +118 -32
  272. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  273. package/dist/cjs/ion-segment-view.cjs.entry.js +13 -3
  274. package/dist/cjs/ion-segment_2.cjs.entry.js +24 -16
  275. package/dist/cjs/ion-select-modal.cjs.entry.js +54 -25
  276. package/dist/cjs/ion-select_3.cjs.entry.js +199 -81
  277. package/dist/cjs/ion-spinner.cjs.entry.js +31 -8
  278. package/dist/cjs/ion-split-pane.cjs.entry.js +14 -9
  279. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +150 -27
  280. package/dist/cjs/ion-tab_2.cjs.entry.js +9 -7
  281. package/dist/cjs/ion-text.cjs.entry.js +8 -7
  282. package/dist/cjs/ion-textarea.cjs.entry.js +242 -33
  283. package/dist/cjs/ion-toast.cjs.entry.js +86 -57
  284. package/dist/cjs/ion-toggle.cjs.entry.js +67 -25
  285. package/dist/cjs/ionic-global-BKBeko9D.js +518 -0
  286. package/dist/cjs/ionic.cjs.js +5 -4
  287. package/dist/cjs/{ios.transition-YFSxiyP_.js → ios.transition-EQ8LtRHj.js} +7 -4
  288. package/dist/cjs/{item-multiple-inputs-h2PyAFzG.js → item-multiple-inputs-Wc71a2xi.js} +1 -1
  289. package/dist/cjs/{keyboard-Cv-LNReK.js → keyboard-Cix5TVkD.js} +3 -5
  290. package/dist/cjs/{keyboard-C-C7xMKk.js → keyboard-cHxZlTyz.js} +1 -1
  291. package/dist/cjs/loader.cjs.js +5 -4
  292. package/dist/cjs/{md.transition-Cm8yg0UK.js → md.transition-By9Fre6y.js} +6 -4
  293. package/dist/cjs/{overlay-control-label-D2sdL2O8.js → overlay-control-label-DnRLQR1t.js} +13 -11
  294. package/dist/cjs/{overlays-C68wNDWY.js → overlays-Ch6nAoha.js} +309 -138
  295. package/dist/cjs/scroll-hide-controller-BwW-NV0Z.js +345 -0
  296. package/dist/cjs/{select-option-render-C-Yh9yZG.js → select-option-render-BmpnIokj.js} +2 -2
  297. package/dist/cjs/{slot-mutation-controller-zixZ5LyH.js → slot-mutation-controller-C7nTDVzj.js} +5 -4
  298. package/dist/cjs/{status-tap-C3frTJ4c.js → status-tap-Dw87jmOD.js} +5 -3
  299. package/dist/cjs/{swipe-back-BigumsQ1.js → swipe-back-BXYzN9QG.js} +4 -2
  300. package/dist/cjs/{theme-Bw0rpaNN.js → theme-Cy4joHPt.js} +25 -1
  301. package/dist/cjs/validity-CoPMWggj.js +51 -0
  302. package/dist/collection/collection-manifest.json +8 -0
  303. package/dist/collection/components/accordion/accordion.ionic.css +199 -0
  304. package/dist/collection/components/accordion/accordion.ios.css +73 -58
  305. package/dist/collection/components/accordion/accordion.js +36 -27
  306. package/dist/collection/components/accordion/accordion.md.css +67 -59
  307. package/dist/collection/components/accordion-group/accordion-group.ionic.css +93 -0
  308. package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
  309. package/dist/collection/components/accordion-group/accordion-group.js +44 -8
  310. package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
  311. package/dist/collection/components/action-sheet/action-sheet.ionic.css +490 -0
  312. package/dist/collection/components/action-sheet/action-sheet.ios.css +184 -54
  313. package/dist/collection/components/action-sheet/action-sheet.js +16 -13
  314. package/dist/collection/components/action-sheet/action-sheet.md.css +179 -55
  315. package/dist/collection/components/alert/alert.ionic.css +779 -0
  316. package/dist/collection/components/alert/alert.ios.css +247 -54
  317. package/dist/collection/components/alert/alert.js +22 -19
  318. package/dist/collection/components/alert/alert.md.css +243 -56
  319. package/dist/collection/components/app/app.js +15 -83
  320. package/dist/collection/components/avatar/avatar.ionic.css +379 -0
  321. package/dist/collection/components/avatar/avatar.ios.css +7 -33
  322. package/dist/collection/components/avatar/avatar.js +120 -4
  323. package/dist/collection/components/avatar/avatar.md.css +51 -0
  324. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  325. package/dist/collection/components/back-button/back-button.js +26 -20
  326. package/dist/collection/components/back-button/back-button.md.css +60 -48
  327. package/dist/collection/components/backdrop/backdrop.ionic.css +109 -0
  328. package/dist/collection/components/backdrop/backdrop.ios.css +56 -19
  329. package/dist/collection/components/backdrop/backdrop.js +12 -6
  330. package/dist/collection/components/backdrop/backdrop.md.css +56 -19
  331. package/dist/collection/components/badge/badge.ionic.css +269 -0
  332. package/dist/collection/components/badge/badge.ios.css +137 -12
  333. package/dist/collection/components/badge/badge.js +143 -9
  334. package/dist/collection/components/badge/badge.md.css +122 -12
  335. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  336. package/dist/collection/components/breadcrumb/breadcrumb.js +31 -11
  337. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  338. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  339. package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
  340. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  341. package/dist/collection/components/button/button.ionic.css +640 -0
  342. package/dist/collection/components/button/button.ios.css +154 -46
  343. package/dist/collection/components/button/button.js +63 -27
  344. package/dist/collection/components/button/button.md.css +150 -50
  345. package/dist/collection/components/buttons/buttons.ionic.css +97 -0
  346. package/dist/collection/components/buttons/buttons.ios.css +59 -7
  347. package/dist/collection/components/buttons/buttons.js +15 -9
  348. package/dist/collection/components/buttons/buttons.md.css +55 -3
  349. package/dist/collection/components/card/card.ionic.css +144 -0
  350. package/dist/collection/components/card/card.ios.css +65 -14
  351. package/dist/collection/components/card/card.js +41 -10
  352. package/dist/collection/components/card/card.md.css +65 -14
  353. package/dist/collection/components/card-content/card-content.ionic.css +88 -0
  354. package/dist/collection/components/card-content/card-content.ios.css +20 -35
  355. package/dist/collection/components/card-content/card-content.js +12 -10
  356. package/dist/collection/components/card-content/card-content.md.css +20 -35
  357. package/dist/collection/components/card-header/card-header.ionic.css +85 -0
  358. package/dist/collection/components/card-header/card-header.ios.css +27 -15
  359. package/dist/collection/components/card-header/card-header.js +13 -10
  360. package/dist/collection/components/card-header/card-header.md.css +27 -15
  361. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +143 -0
  362. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  363. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  364. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  365. package/dist/collection/components/card-title/card-title.ios.css +73 -0
  366. package/dist/collection/components/card-title/card-title.js +11 -8
  367. package/dist/collection/components/card-title/card-title.md.css +73 -0
  368. package/dist/collection/components/checkbox/checkbox.ionic.css +535 -0
  369. package/dist/collection/components/checkbox/checkbox.ios.css +244 -115
  370. package/dist/collection/components/checkbox/checkbox.js +80 -15
  371. package/dist/collection/components/checkbox/checkbox.md.css +245 -116
  372. package/dist/collection/components/chip/chip.ionic.css +216 -0
  373. package/dist/collection/components/chip/chip.ios.css +67 -14
  374. package/dist/collection/components/chip/chip.js +108 -8
  375. package/dist/collection/components/chip/chip.md.css +67 -14
  376. package/dist/collection/components/col/col.css +192 -4
  377. package/dist/collection/components/col/col.js +211 -66
  378. package/dist/collection/components/content/content.css +47 -2
  379. package/dist/collection/components/content/content.js +16 -11
  380. package/dist/collection/components/datetime/datetime.ionic.css +697 -0
  381. package/dist/collection/components/datetime/datetime.ios.css +305 -114
  382. package/dist/collection/components/datetime/datetime.js +61 -20
  383. package/dist/collection/components/datetime/datetime.md.css +295 -103
  384. package/dist/collection/components/datetime/utils/data.js +5 -5
  385. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
  386. package/dist/collection/components/datetime-button/datetime-button.js +11 -8
  387. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
  388. package/dist/collection/components/divider/divider.ionic.css +148 -0
  389. package/dist/collection/components/divider/divider.ios.css +87 -0
  390. package/dist/collection/components/divider/divider.js +94 -0
  391. package/dist/collection/components/divider/divider.md.css +87 -0
  392. package/dist/collection/components/fab/fab.css +25 -1
  393. package/dist/collection/components/fab/fab.js +9 -5
  394. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  395. package/dist/collection/components/fab-button/fab-button.js +31 -21
  396. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  397. package/dist/collection/components/fab-list/fab-list.css +12 -0
  398. package/dist/collection/components/fab-list/fab-list.js +9 -5
  399. package/dist/collection/components/footer/footer-interface.js +1 -0
  400. package/dist/collection/components/footer/footer.ios.css +33 -6
  401. package/dist/collection/components/footer/footer.js +117 -25
  402. package/dist/collection/components/footer/footer.md.css +40 -0
  403. package/dist/collection/components/gallery/gallery-constants.js +12 -0
  404. package/dist/collection/components/gallery/gallery-interface.js +1 -0
  405. package/dist/collection/components/gallery/gallery.css +15 -0
  406. package/dist/collection/components/gallery/gallery.js +678 -0
  407. package/dist/collection/components/gallery/test/utils.js +100 -0
  408. package/dist/collection/components/gallery-item/gallery-item.css +49 -0
  409. package/dist/collection/components/gallery-item/gallery-item.js +98 -0
  410. package/dist/collection/components/grid/grid.css +12 -0
  411. package/dist/collection/components/grid/grid.js +9 -5
  412. package/dist/collection/components/header/header-interface.js +1 -0
  413. package/dist/collection/components/header/header.ionic.css +286 -0
  414. package/dist/collection/components/header/header.ios.css +178 -133
  415. package/dist/collection/components/header/header.js +180 -39
  416. package/dist/collection/components/header/header.md.css +199 -9
  417. package/dist/collection/components/header/header.utils.js +5 -13
  418. package/dist/collection/components/img/img.js +7 -2
  419. package/dist/collection/components/infinite-scroll/infinite-scroll.js +99 -5
  420. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  421. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  422. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  423. package/dist/collection/components/input/input.ionic.css +957 -0
  424. package/dist/collection/components/input/input.ios.css +254 -160
  425. package/dist/collection/components/input/input.js +168 -44
  426. package/dist/collection/components/input/input.md.css +224 -232
  427. package/dist/collection/components/input-otp/input-otp.ionic.css +369 -0
  428. package/dist/collection/components/input-otp/input-otp.ios.css +105 -60
  429. package/dist/collection/components/input-otp/input-otp.js +73 -7
  430. package/dist/collection/components/input-otp/input-otp.md.css +105 -60
  431. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +78 -0
  432. package/dist/collection/components/input-password-toggle/input-password-toggle.js +37 -10
  433. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +61 -0
  434. package/dist/collection/components/item/item.ionic.css +495 -0
  435. package/dist/collection/components/item/item.ios.css +120 -80
  436. package/dist/collection/components/item/item.js +51 -21
  437. package/dist/collection/components/item/item.md.css +131 -79
  438. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  439. package/dist/collection/components/item-divider/item-divider.js +11 -8
  440. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  441. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  442. package/dist/collection/components/item-group/item-group.js +13 -7
  443. package/dist/collection/components/item-group/item-group.md.css +12 -0
  444. package/dist/collection/components/item-option/item-option.ionic.css +276 -0
  445. package/dist/collection/components/item-option/item-option.ios.css +136 -29
  446. package/dist/collection/components/item-option/item-option.js +73 -9
  447. package/dist/collection/components/item-option/item-option.md.css +136 -29
  448. package/dist/collection/components/item-options/item-options.ionic.css +221 -0
  449. package/dist/collection/components/item-options/item-options.ios.css +77 -34
  450. package/dist/collection/components/item-options/item-options.js +13 -7
  451. package/dist/collection/components/item-options/item-options.md.css +77 -34
  452. package/dist/collection/components/item-sliding/item-sliding.ionic.css +211 -0
  453. package/dist/collection/components/item-sliding/item-sliding.js +419 -35
  454. package/dist/collection/components/item-sliding/{item-sliding.css → item-sliding.native.css} +84 -9
  455. package/dist/collection/components/item-sliding/test/test.utils.js +13 -0
  456. package/dist/collection/components/label/label.ios.css +18 -0
  457. package/dist/collection/components/label/label.js +11 -8
  458. package/dist/collection/components/label/label.md.css +18 -0
  459. package/dist/collection/components/list/list.ionic.css +212 -0
  460. package/dist/collection/components/list/list.ios.css +54 -14
  461. package/dist/collection/components/list/list.js +48 -9
  462. package/dist/collection/components/list/list.md.css +56 -16
  463. package/dist/collection/components/list-header/list-header.ionic.css +189 -0
  464. package/dist/collection/components/list-header/list-header.ios.css +82 -38
  465. package/dist/collection/components/list-header/list-header.js +11 -8
  466. package/dist/collection/components/list-header/list-header.md.css +82 -38
  467. package/dist/collection/components/loading/loading.ios.css +13 -1
  468. package/dist/collection/components/loading/loading.js +15 -12
  469. package/dist/collection/components/loading/loading.md.css +13 -1
  470. package/dist/collection/components/menu/menu.ios.css +15 -3
  471. package/dist/collection/components/menu/menu.js +12 -7
  472. package/dist/collection/components/menu/menu.md.css +15 -3
  473. package/dist/collection/components/menu-button/menu-button.ionic.css +236 -0
  474. package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
  475. package/dist/collection/components/menu-button/menu-button.js +23 -10
  476. package/dist/collection/components/menu-button/menu-button.md.css +49 -15
  477. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  478. package/dist/collection/components/modal/animations/ionic.enter.js +40 -0
  479. package/dist/collection/components/modal/animations/ionic.leave.js +28 -0
  480. package/dist/collection/components/modal/animations/sheet.js +8 -2
  481. package/dist/collection/components/modal/gestures/sheet.js +76 -10
  482. package/dist/collection/components/modal/modal.ionic.css +266 -0
  483. package/dist/collection/components/modal/modal.ios.css +178 -70
  484. package/dist/collection/components/modal/modal.js +52 -13
  485. package/dist/collection/components/modal/modal.md.css +178 -70
  486. package/dist/collection/components/nav/nav.css +7 -1
  487. package/dist/collection/components/nav/nav.js +10 -4
  488. package/dist/collection/components/nav-link/nav-link.js +5 -1
  489. package/dist/collection/components/note/note.ios.css +12 -0
  490. package/dist/collection/components/note/note.js +11 -8
  491. package/dist/collection/components/note/note.md.css +12 -0
  492. package/dist/collection/components/picker/picker.ios.css +15 -3
  493. package/dist/collection/components/picker/picker.js +8 -5
  494. package/dist/collection/components/picker/picker.md.css +15 -3
  495. package/dist/collection/components/picker-column/picker-column.css +9 -2
  496. package/dist/collection/components/picker-column/picker-column.js +8 -7
  497. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  498. package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
  499. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
  500. package/dist/collection/components/popover/popover.ionic.css +289 -0
  501. package/dist/collection/components/popover/popover.ios.css +13 -1
  502. package/dist/collection/components/popover/popover.js +19 -16
  503. package/dist/collection/components/popover/popover.md.css +13 -1
  504. package/dist/collection/components/progress-bar/progress-bar.ionic.css +287 -0
  505. package/dist/collection/components/progress-bar/progress-bar.ios.css +48 -17
  506. package/dist/collection/components/progress-bar/progress-bar.js +43 -7
  507. package/dist/collection/components/progress-bar/progress-bar.md.css +48 -17
  508. package/dist/collection/components/radio/radio.ionic.css +421 -0
  509. package/dist/collection/components/radio/radio.ios.css +207 -102
  510. package/dist/collection/components/radio/radio.js +14 -9
  511. package/dist/collection/components/radio/radio.md.css +207 -102
  512. package/dist/collection/components/radio-group/radio-group.ionic.css +118 -0
  513. package/dist/collection/components/radio-group/radio-group.ios.css +43 -19
  514. package/dist/collection/components/radio-group/radio-group.js +48 -7
  515. package/dist/collection/components/radio-group/radio-group.md.css +43 -19
  516. package/dist/collection/components/range/range.ionic.css +566 -0
  517. package/dist/collection/components/range/range.ios.css +128 -85
  518. package/dist/collection/components/range/range.js +16 -10
  519. package/dist/collection/components/range/range.md.css +128 -85
  520. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  521. package/dist/collection/components/refresher/refresher.js +11 -8
  522. package/dist/collection/components/refresher/refresher.md.css +15 -2
  523. package/dist/collection/components/refresher-content/refresher-content.js +34 -7
  524. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  525. package/dist/collection/components/reorder/reorder.js +25 -6
  526. package/dist/collection/components/reorder/reorder.md.css +6 -0
  527. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  528. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  529. package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
  530. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +215 -0
  531. package/dist/collection/components/ripple-effect/ripple-effect.js +14 -6
  532. package/dist/collection/components/route/route.js +4 -0
  533. package/dist/collection/components/router/router.js +4 -0
  534. package/dist/collection/components/router-link/router-link.css +8 -2
  535. package/dist/collection/components/router-link/router-link.js +9 -5
  536. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  537. package/dist/collection/components/router-outlet/router-outlet.js +6 -3
  538. package/dist/collection/components/row/row.css +16 -0
  539. package/dist/collection/components/row/row.js +9 -2
  540. package/dist/collection/components/searchbar/searchbar.ionic.css +621 -0
  541. package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
  542. package/dist/collection/components/searchbar/searchbar.js +164 -42
  543. package/dist/collection/components/searchbar/searchbar.md.css +56 -18
  544. package/dist/collection/components/segment/segment.ionic.css +115 -0
  545. package/dist/collection/components/segment/segment.ios.css +45 -2
  546. package/dist/collection/components/segment/segment.js +11 -8
  547. package/dist/collection/components/segment/segment.md.css +45 -2
  548. package/dist/collection/components/segment-button/segment-button.ionic.css +351 -0
  549. package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
  550. package/dist/collection/components/segment-button/segment-button.js +11 -8
  551. package/dist/collection/components/segment-button/segment-button.md.css +148 -107
  552. package/dist/collection/components/segment-content/segment-content.js +1 -1
  553. package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
  554. package/dist/collection/components/segment-view/segment-view.js +13 -4
  555. package/dist/collection/components/segment-view/segment-view.md.css +6 -0
  556. package/dist/collection/components/select/select.ionic.css +972 -0
  557. package/dist/collection/components/select/select.ios.css +300 -148
  558. package/dist/collection/components/select/select.js +228 -82
  559. package/dist/collection/components/select/select.md.css +316 -150
  560. package/dist/collection/components/select-modal/select-modal.ionic.css +254 -0
  561. package/dist/collection/components/select-modal/select-modal.ios.css +293 -45
  562. package/dist/collection/components/select-modal/select-modal.js +63 -15
  563. package/dist/collection/components/select-modal/select-modal.md.css +273 -43
  564. package/dist/collection/components/select-option/select-option.js +8 -4
  565. package/dist/collection/components/select-popover/select-popover.ionic.css +253 -0
  566. package/dist/collection/components/select-popover/select-popover.ios.css +188 -124
  567. package/dist/collection/components/select-popover/select-popover.js +17 -9
  568. package/dist/collection/components/select-popover/select-popover.md.css +228 -47
  569. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  570. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  571. package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +78 -10
  572. package/dist/collection/components/spinner/spinner.js +47 -6
  573. package/dist/collection/components/spinner/spinner.native.css +199 -0
  574. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  575. package/dist/collection/components/split-pane/split-pane.js +15 -8
  576. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  577. package/dist/collection/components/tab/tab.js +6 -2
  578. package/dist/collection/components/tab-bar/tab-bar.ionic.css +249 -0
  579. package/dist/collection/components/tab-bar/tab-bar.ios.css +86 -43
  580. package/dist/collection/components/tab-bar/tab-bar.js +178 -15
  581. package/dist/collection/components/tab-bar/tab-bar.md.css +86 -43
  582. package/dist/collection/components/tab-button/tab-button.ionic.css +372 -0
  583. package/dist/collection/components/tab-button/tab-button.ios.css +171 -95
  584. package/dist/collection/components/tab-button/tab-button.js +54 -9
  585. package/dist/collection/components/tab-button/tab-button.md.css +137 -93
  586. package/dist/collection/components/tabs/tabs.css +7 -1
  587. package/dist/collection/components/tabs/tabs.js +4 -1
  588. package/dist/collection/components/text/text.css +6 -0
  589. package/dist/collection/components/text/text.js +7 -6
  590. package/dist/collection/components/textarea/textarea.ionic.css +989 -0
  591. package/dist/collection/components/textarea/textarea.ios.css +318 -170
  592. package/dist/collection/components/textarea/textarea.js +270 -45
  593. package/dist/collection/components/textarea/textarea.md.css +332 -171
  594. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  595. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  596. package/dist/collection/components/title/title.ionic.css +125 -0
  597. package/dist/collection/components/title/title.ios.css +32 -4
  598. package/dist/collection/components/title/title.js +13 -7
  599. package/dist/collection/components/title/title.md.css +39 -4
  600. package/dist/collection/components/toast/animations/utils.js +1 -1
  601. package/dist/collection/components/toast/toast.ionic.css +391 -0
  602. package/dist/collection/components/toast/toast.ios.css +84 -45
  603. package/dist/collection/components/toast/toast.js +79 -13
  604. package/dist/collection/components/toast/toast.md.css +84 -45
  605. package/dist/collection/components/toggle/toggle.ionic.css +510 -0
  606. package/dist/collection/components/toggle/toggle.ios.css +247 -127
  607. package/dist/collection/components/toggle/toggle.js +58 -18
  608. package/dist/collection/components/toggle/toggle.md.css +245 -127
  609. package/dist/collection/components/toolbar/test/image.svg +1 -0
  610. package/dist/collection/components/toolbar/toolbar.ionic.css +249 -0
  611. package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
  612. package/dist/collection/components/toolbar/toolbar.js +216 -14
  613. package/dist/collection/components/toolbar/toolbar.md.css +90 -47
  614. package/dist/collection/global/ionic-global.js +239 -13
  615. package/dist/collection/utils/css-value-validation.js +39 -0
  616. package/dist/collection/utils/focus-trap.js +15 -4
  617. package/dist/collection/utils/focus-visible.js +73 -2
  618. package/dist/collection/utils/forms/clear-button-press-controller.js +40 -0
  619. package/dist/collection/utils/forms/index.js +1 -0
  620. package/dist/collection/utils/forms/validity.js +31 -0
  621. package/dist/collection/utils/framework-delegate.js +3 -1
  622. package/dist/collection/utils/hardware-back-button.js +15 -0
  623. package/dist/collection/utils/helpers.js +84 -3
  624. package/dist/collection/utils/keyboard/keyboard-controller.js +3 -1
  625. package/dist/collection/utils/media.js +1 -0
  626. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  627. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  628. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  629. package/dist/collection/utils/overlay-control-label.js +13 -11
  630. package/dist/collection/utils/overlays.js +289 -10
  631. package/dist/collection/utils/scroll-hide-controller.js +178 -0
  632. package/dist/collection/utils/test/playwright/drag-element.js +32 -9
  633. package/dist/collection/utils/test/playwright/field-geometry.js +34 -0
  634. package/dist/collection/utils/test/playwright/generator.js +48 -23
  635. package/dist/collection/utils/test/playwright/index.js +1 -0
  636. package/dist/collection/utils/test/playwright/page/utils/goto.js +10 -1
  637. package/dist/collection/utils/test/playwright/page/utils/set-content.js +26 -3
  638. package/dist/collection/utils/theme.js +25 -1
  639. package/dist/collection/utils/transition/ios.transition.js +1 -0
  640. package/dist/docs.json +8890 -300
  641. package/dist/esm/{animation-CFd8Olt3.js → animation-BYhTNLb0.js} +2 -2
  642. package/dist/esm/{app-globals-7GHLBkwd.js → app-globals-DwKMi0nT.js} +1 -1
  643. package/dist/esm/{attribute-controller-Cn665x42.js → attribute-controller-DSgMe9D8.js} +2 -1
  644. package/dist/esm/{button-active-DMuYeDQN.js → button-active-z7D6HahS.js} +2 -2
  645. package/dist/esm/{capacitor-CoEgIpR9.js → capacitor-CFERIeaU.js} +1 -1
  646. package/dist/esm/clear-button-press-controller-6ph4kKYn.js +43 -0
  647. package/dist/esm/focus-visible-BYk20Mf5.js +146 -0
  648. package/dist/esm/{format-C9zPmwKU.js → format-Bzx6ja8X.js} +1 -1
  649. package/dist/esm/{framework-delegate-DeT5pmPB.js → framework-delegate-1jBLyhBr.js} +4 -2
  650. package/dist/esm/{haptic-Dxm7ZmT5.js → haptic-Cq4UAeka.js} +1 -1
  651. package/dist/esm/{helpers-B54ynME_.js → helpers-DxiyEiQq.js} +86 -8
  652. package/dist/esm/{index-D_xZtbw6.js → index-3qJiaSN_.js} +4 -2
  653. package/dist/esm/{index-D4ZMZz_3.js → index-BOBjcNAK.js} +1 -1
  654. package/dist/esm/{index-BvabGprD.js → index-BkJpfpXI.js} +2 -1
  655. package/dist/esm/{index-B8iieOdw.js → index-BrTerDOH.js} +4 -4
  656. package/dist/esm/{index-D9OR05yj.js → index-CsxpVq9f.js} +53 -4
  657. package/dist/esm/{index--21qeSt0.js → index-D0-93AmS.js} +2 -2
  658. package/dist/esm/{index-B9jhwvmO.js → index-LPo3JBab.js} +12 -10
  659. package/dist/esm/index-ZjP4CjeZ.js +7 -0
  660. package/dist/esm/index.js +14 -12
  661. package/dist/esm/{input-shims-MCrhq67U.js → input-shims-HqimWtEw.js} +7 -5
  662. package/dist/esm/{input.utils-B-IIWrwT.js → input.utils-BQE7ESFW.js} +1 -1
  663. package/dist/esm/ion-accordion_2.entry.js +57 -29
  664. package/dist/esm/ion-action-sheet.entry.js +27 -22
  665. package/dist/esm/ion-alert.entry.js +34 -29
  666. package/dist/esm/ion-app_8.entry.js +455 -193
  667. package/dist/esm/ion-avatar_3.entry.js +124 -13
  668. package/dist/esm/ion-back-button.entry.js +31 -23
  669. package/dist/esm/ion-backdrop.entry.js +11 -7
  670. package/dist/esm/ion-breadcrumb_2.entry.js +42 -18
  671. package/dist/esm/ion-button_2.entry.js +61 -23
  672. package/dist/esm/ion-card_5.entry.js +57 -34
  673. package/dist/esm/ion-checkbox.entry.js +43 -17
  674. package/dist/esm/ion-chip.entry.js +51 -9
  675. package/dist/esm/ion-col_3.entry.js +57 -62
  676. package/dist/esm/ion-datetime-button.entry.js +14 -9
  677. package/dist/esm/ion-datetime.entry.js +74 -32
  678. package/dist/esm/ion-divider.entry.js +50 -0
  679. package/dist/esm/ion-fab_3.entry.js +40 -28
  680. package/dist/esm/ion-gallery-item.entry.js +57 -0
  681. package/dist/esm/ion-gallery.entry.js +606 -0
  682. package/dist/esm/ion-img.entry.js +9 -4
  683. package/dist/esm/ion-infinite-scroll_2.entry.js +91 -16
  684. package/dist/esm/ion-input-otp.entry.js +74 -9
  685. package/dist/esm/ion-input-password-toggle.entry.js +42 -14
  686. package/dist/esm/ion-input.entry.js +143 -38
  687. package/dist/esm/ion-item-option_3.entry.js +466 -52
  688. package/dist/esm/ion-item_8.entry.js +118 -51
  689. package/dist/esm/ion-loading.entry.js +22 -17
  690. package/dist/esm/ion-menu_3.entry.js +45 -27
  691. package/dist/esm/ion-modal.entry.js +218 -90
  692. package/dist/esm/ion-nav_2.entry.js +14 -10
  693. package/dist/esm/ion-picker-column-option.entry.js +13 -8
  694. package/dist/esm/ion-picker-column.entry.js +14 -12
  695. package/dist/esm/ion-picker.entry.js +11 -6
  696. package/dist/esm/ion-popover.entry.js +23 -18
  697. package/dist/esm/ion-progress-bar.entry.js +28 -9
  698. package/dist/esm/ion-radio_2.entry.js +37 -18
  699. package/dist/esm/ion-range.entry.js +21 -13
  700. package/dist/esm/ion-refresher_2.entry.js +45 -20
  701. package/dist/esm/ion-reorder_2.entry.js +31 -13
  702. package/dist/esm/ion-ripple-effect.entry.js +16 -7
  703. package/dist/esm/ion-route_4.entry.js +12 -10
  704. package/dist/esm/ion-searchbar.entry.js +118 -32
  705. package/dist/esm/ion-segment-content.entry.js +2 -2
  706. package/dist/esm/ion-segment-view.entry.js +13 -3
  707. package/dist/esm/ion-segment_2.entry.js +24 -16
  708. package/dist/esm/ion-select-modal.entry.js +53 -24
  709. package/dist/esm/ion-select_3.entry.js +194 -76
  710. package/dist/esm/ion-spinner.entry.js +31 -8
  711. package/dist/esm/ion-split-pane.entry.js +14 -9
  712. package/dist/esm/ion-tab-bar_2.entry.js +149 -26
  713. package/dist/esm/ion-tab_2.entry.js +9 -7
  714. package/dist/esm/ion-text.entry.js +8 -7
  715. package/dist/esm/ion-textarea.entry.js +242 -33
  716. package/dist/esm/ion-toast.entry.js +48 -19
  717. package/dist/esm/ion-toggle.entry.js +67 -25
  718. package/dist/esm/ionic-global-BAIaPRGU.js +509 -0
  719. package/dist/esm/ionic.js +6 -5
  720. package/dist/esm/{ios.transition-CRfGj4Mo.js → ios.transition-BN0AUjKH.js} +7 -4
  721. package/dist/esm/{item-multiple-inputs-BSD9wGHO.js → item-multiple-inputs-f3Vz153y.js} +1 -1
  722. package/dist/esm/{keyboard-DDw62P0D.js → keyboard-Cj8mLJeq.js} +3 -5
  723. package/dist/esm/{keyboard-ly3M0GO7.js → keyboard-DAF8GNJ9.js} +1 -1
  724. package/dist/esm/loader.js +6 -5
  725. package/dist/esm/{md.transition-wqThNy_C.js → md.transition-BZ3TWMK6.js} +6 -4
  726. package/dist/esm/{overlay-control-label-BSQPZ79H.js → overlay-control-label-CODBQrPj.js} +13 -11
  727. package/dist/esm/{overlays-BQnV0HAU.js → overlays-CLqEprTi.js} +307 -133
  728. package/dist/esm/scroll-hide-controller-m-39_CyK.js +342 -0
  729. package/dist/esm/{select-option-render-CGxPejmz.js → select-option-render-CDyG_Ujc.js} +2 -2
  730. package/dist/esm/{slot-mutation-controller-C3s4-_YN.js → slot-mutation-controller-DXsogmcJ.js} +2 -1
  731. package/dist/esm/{status-tap-DRx9wSD_.js → status-tap-BzPUcwpI.js} +5 -3
  732. package/dist/esm/{swipe-back-Ch3UU_US.js → swipe-back-D8sqbjOf.js} +4 -2
  733. package/dist/esm/{theme-byZM6qHV.js → theme-BUF_V-Kg.js} +25 -1
  734. package/dist/esm/validity-NcQUGze-.js +48 -0
  735. package/dist/html.html-data.json +2631 -150
  736. package/dist/ionic/index.esm.js +1 -1
  737. package/dist/ionic/ionic.esm.js +1 -1
  738. package/dist/ionic/p-00e5052e.entry.js +4 -0
  739. package/dist/ionic/p-0cb3bf40.entry.js +4 -0
  740. package/dist/ionic/p-0cb9a213.entry.js +4 -0
  741. package/dist/ionic/p-10d11d15.entry.js +4 -0
  742. package/dist/ionic/p-1c2af758.entry.js +4 -0
  743. package/dist/ionic/p-1cd8acc1.entry.js +4 -0
  744. package/dist/ionic/p-1e11cfe6.entry.js +4 -0
  745. package/dist/ionic/p-1e13dfa6.entry.js +4 -0
  746. package/dist/ionic/p-2da8417a.entry.js +4 -0
  747. package/dist/ionic/p-30643dd0.entry.js +4 -0
  748. package/dist/ionic/p-3246c8db.entry.js +4 -0
  749. package/dist/ionic/p-335f6ac5.entry.js +4 -0
  750. package/dist/ionic/p-3636e449.entry.js +4 -0
  751. package/dist/ionic/p-3c073e44.entry.js +4 -0
  752. package/dist/ionic/p-3f78fbb9.entry.js +4 -0
  753. package/dist/ionic/p-473f56d0.entry.js +4 -0
  754. package/dist/ionic/p-4ce892d6.entry.js +4 -0
  755. package/dist/ionic/p-4d824bdd.entry.js +4 -0
  756. package/dist/ionic/p-57a084b1.entry.js +4 -0
  757. package/dist/ionic/p-5dfc15b7.entry.js +4 -0
  758. package/dist/ionic/p-5e4eec2e.entry.js +4 -0
  759. package/dist/ionic/p-67d0f149.entry.js +4 -0
  760. package/dist/ionic/p-6d48ce72.entry.js +4 -0
  761. package/dist/ionic/p-78963796.entry.js +4 -0
  762. package/dist/ionic/p-8201e3a4.entry.js +4 -0
  763. package/dist/ionic/p-8675912f.entry.js +4 -0
  764. package/dist/ionic/p-8c8001d1.entry.js +4 -0
  765. package/dist/ionic/p-96ef4bc4.entry.js +4 -0
  766. package/dist/ionic/p-978335f1.entry.js +4 -0
  767. package/dist/ionic/{p-PkaVMJga.js → p-B1XKnjaF.js} +1 -1
  768. package/dist/ionic/{p-DNxEB9-T.js → p-B3KpQBCL.js} +1 -1
  769. package/dist/ionic/p-BCYG0ntp.js +4 -0
  770. package/dist/ionic/p-BI5taije.js +4 -0
  771. package/dist/ionic/{p-DxvRP6ld.js → p-BMPN55of.js} +1 -1
  772. package/dist/ionic/p-BPZc3Ck-.js +4 -0
  773. package/dist/ionic/p-BSH8IzpI.js +4 -0
  774. package/dist/ionic/p-BUF_V-Kg.js +4 -0
  775. package/dist/ionic/p-BVTltcXo.js +4 -0
  776. package/dist/ionic/p-BYk20Mf5.js +4 -0
  777. package/dist/ionic/p-BfDzKnZ-.js +4 -0
  778. package/dist/ionic/p-BjQlYdiZ.js +4 -0
  779. package/dist/ionic/p-BkJpfpXI.js +4 -0
  780. package/dist/ionic/p-Bo9gphwB.js +4 -0
  781. package/dist/ionic/p-BsFwDB3d.js +4 -0
  782. package/dist/ionic/{p-BhMQahM6.js → p-BsSAvQwi.js} +1 -1
  783. package/dist/ionic/{p-BUB5OrpU.js → p-C0TTjAkK.js} +1 -1
  784. package/dist/ionic/p-CIGNaXM1.js +4 -0
  785. package/dist/ionic/p-CODBQrPj.js +4 -0
  786. package/dist/ionic/{p-CVwXN07G.js → p-CcJ1m8ij.js} +1 -1
  787. package/dist/ionic/p-CsxpVq9f.js +6 -0
  788. package/dist/ionic/p-CvHTFTlP.js +4 -0
  789. package/dist/ionic/{p-CCik51Nv.js → p-D1Dp9g6Y.js} +1 -1
  790. package/dist/ionic/p-D5I40TIB.js +4 -0
  791. package/dist/ionic/p-D5t_-oMk.js +4 -0
  792. package/{components/p-C7rB-0-1.js → dist/ionic/p-DN4HuOWQ.js} +1 -1
  793. package/dist/ionic/p-DbnqpMyu.js +4 -0
  794. package/dist/ionic/p-DlhQjMCJ.js +4 -0
  795. package/dist/ionic/{p-kKvGoaEe.js → p-Due7p-3G.js} +1 -1
  796. package/dist/ionic/p-NcQUGze-.js +4 -0
  797. package/dist/ionic/{p-BCgqWm-V.js → p-T71k3C35.js} +1 -1
  798. package/dist/ionic/p-U8dpZ2Zp.js +4 -0
  799. package/dist/ionic/p-ZjP4CjeZ.js +4 -0
  800. package/dist/ionic/p-a13d8dbd.entry.js +4 -0
  801. package/dist/ionic/p-a60ab478.entry.js +4 -0
  802. package/dist/ionic/p-ac35ffde.entry.js +4 -0
  803. package/dist/ionic/p-b397988a.entry.js +4 -0
  804. package/dist/ionic/p-bb125f13.entry.js +4 -0
  805. package/dist/ionic/p-bb69e27a.entry.js +4 -0
  806. package/dist/ionic/p-bd6dbe7c.entry.js +4 -0
  807. package/dist/ionic/p-c3775482.entry.js +4 -0
  808. package/dist/ionic/p-c5978136.entry.js +4 -0
  809. package/dist/ionic/p-c649b0c8.entry.js +4 -0
  810. package/dist/ionic/p-c80d354e.entry.js +4 -0
  811. package/dist/ionic/p-cc47e975.entry.js +4 -0
  812. package/dist/ionic/p-d0d6727a.entry.js +4 -0
  813. package/dist/ionic/p-d3a427d2.entry.js +4 -0
  814. package/dist/ionic/p-da25ac49.entry.js +4 -0
  815. package/dist/ionic/p-dc063e74.entry.js +4 -0
  816. package/dist/ionic/p-e022d624.entry.js +4 -0
  817. package/dist/ionic/p-e43deed1.entry.js +4 -0
  818. package/dist/ionic/p-e4bb0618.entry.js +4 -0
  819. package/dist/ionic/p-e5bff83e.entry.js +4 -0
  820. package/dist/ionic/p-ea10456b.entry.js +4 -0
  821. package/dist/ionic/p-ea80809c.entry.js +4 -0
  822. package/dist/ionic/p-f10b7057.entry.js +4 -0
  823. package/dist/ionic/p-f336761a.entry.js +4 -0
  824. package/dist/ionic/p-f6df1e51.entry.js +4 -0
  825. package/dist/ionic/p-fbbef443.entry.js +4 -0
  826. package/dist/ionic/p-ox5nzV5F.js +4 -0
  827. package/dist/ionic/p-s_fyA5w3.js +4 -0
  828. package/dist/ionic/p-xGKwMcE6.js +4 -0
  829. package/dist/types/components/accordion/accordion.d.ts +12 -3
  830. package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
  831. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  832. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  833. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  834. package/dist/types/components/alert/alert.d.ts +3 -2
  835. package/dist/types/components/app/app.d.ts +4 -5
  836. package/dist/types/components/avatar/avatar.d.ts +32 -0
  837. package/dist/types/components/back-button/back-button.d.ts +10 -3
  838. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  839. package/dist/types/components/badge/badge.d.ts +34 -1
  840. package/dist/types/components/breadcrumb/breadcrumb.d.ts +14 -1
  841. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  842. package/dist/types/components/button/button.d.ts +23 -8
  843. package/dist/types/components/buttons/buttons.d.ts +5 -1
  844. package/dist/types/components/card/card.d.ts +8 -1
  845. package/dist/types/components/card-content/card-content.d.ts +2 -1
  846. package/dist/types/components/card-header/card-header.d.ts +3 -2
  847. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  848. package/dist/types/components/card-title/card-title.d.ts +2 -1
  849. package/dist/types/components/checkbox/checkbox.d.ts +26 -5
  850. package/dist/types/components/chip/chip.d.ts +26 -1
  851. package/dist/types/components/col/col.d.ts +52 -5
  852. package/dist/types/components/content/content.d.ts +3 -0
  853. package/dist/types/components/datetime/datetime.d.ts +26 -1
  854. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  855. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  856. package/dist/types/components/divider/divider.d.ts +20 -0
  857. package/dist/types/components/fab/fab.d.ts +4 -0
  858. package/dist/types/components/fab-button/fab-button.d.ts +11 -3
  859. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  860. package/dist/types/components/footer/footer-interface.d.ts +1 -0
  861. package/dist/types/components/footer/footer.d.ts +20 -3
  862. package/dist/types/components/gallery/gallery-constants.d.ts +9 -0
  863. package/dist/types/components/gallery/gallery-interface.d.ts +10 -0
  864. package/dist/types/components/gallery/gallery.d.ts +218 -0
  865. package/dist/types/components/gallery/test/utils.d.ts +3 -0
  866. package/dist/types/components/gallery-item/gallery-item.d.ts +33 -0
  867. package/dist/types/components/grid/grid.d.ts +4 -0
  868. package/dist/types/components/header/header-interface.d.ts +1 -0
  869. package/dist/types/components/header/header.d.ts +26 -3
  870. package/dist/types/components/header/header.utils.d.ts +4 -5
  871. package/dist/types/components/img/img.d.ts +2 -0
  872. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +21 -0
  873. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  874. package/dist/types/components/input/input.d.ts +45 -5
  875. package/dist/types/components/input-otp/input-otp.d.ts +37 -0
  876. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +14 -0
  877. package/dist/types/components/item/item.d.ts +17 -4
  878. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  879. package/dist/types/components/item-group/item-group.d.ts +4 -0
  880. package/dist/types/components/item-option/item-option.d.ts +18 -1
  881. package/dist/types/components/item-options/item-options.d.ts +4 -0
  882. package/dist/types/components/item-sliding/item-sliding.d.ts +47 -1
  883. package/dist/types/components/item-sliding/test/test.utils.d.ts +13 -0
  884. package/dist/types/components/label/label.d.ts +2 -1
  885. package/dist/types/components/list/list.d.ts +15 -1
  886. package/dist/types/components/list-header/list-header.d.ts +2 -1
  887. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  888. package/dist/types/components/loading/loading.d.ts +3 -2
  889. package/dist/types/components/menu/menu.d.ts +3 -0
  890. package/dist/types/components/menu-button/menu-button.d.ts +8 -1
  891. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  892. package/dist/types/components/modal/animations/ionic.enter.d.ts +6 -0
  893. package/dist/types/components/modal/animations/ionic.leave.d.ts +6 -0
  894. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  895. package/dist/types/components/modal/modal-interface.d.ts +4 -7
  896. package/dist/types/components/modal/modal.d.ts +11 -1
  897. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  898. package/dist/types/components/nav/nav.d.ts +5 -1
  899. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  900. package/dist/types/components/note/note.d.ts +2 -1
  901. package/dist/types/components/picker/picker.d.ts +2 -1
  902. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  903. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  904. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  905. package/dist/types/components/popover/popover.d.ts +6 -5
  906. package/dist/types/components/progress-bar/progress-bar.d.ts +10 -1
  907. package/dist/types/components/radio/radio.d.ts +2 -1
  908. package/dist/types/components/radio-group/radio-group.d.ts +12 -0
  909. package/dist/types/components/range/range.d.ts +2 -1
  910. package/dist/types/components/refresher/refresher.d.ts +2 -1
  911. package/dist/types/components/refresher-content/refresher-content.d.ts +10 -0
  912. package/dist/types/components/reorder/reorder.d.ts +9 -0
  913. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  914. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  915. package/dist/types/components/route/route.d.ts +4 -0
  916. package/dist/types/components/router/router.d.ts +4 -0
  917. package/dist/types/components/router-link/router-link.d.ts +4 -0
  918. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  919. package/dist/types/components/row/row.d.ts +4 -0
  920. package/dist/types/components/searchbar/searchbar.d.ts +56 -10
  921. package/dist/types/components/segment/segment.d.ts +2 -1
  922. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  923. package/dist/types/components/select/select.d.ts +59 -15
  924. package/dist/types/components/select-modal/select-modal.d.ts +13 -0
  925. package/dist/types/components/select-option/select-option.d.ts +7 -4
  926. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  927. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  928. package/dist/types/components/spinner/spinner.d.ts +15 -0
  929. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  930. package/dist/types/components/tab/tab.d.ts +4 -0
  931. package/dist/types/components/tab-bar/tab-bar-interface.d.ts +1 -0
  932. package/dist/types/components/tab-bar/tab-bar.d.ts +41 -3
  933. package/dist/types/components/tab-button/tab-button.d.ts +12 -1
  934. package/dist/types/components/tabs/tabs.d.ts +3 -0
  935. package/dist/types/components/text/text.d.ts +2 -1
  936. package/dist/types/components/textarea/textarea.d.ts +85 -10
  937. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  938. package/dist/types/components/title/title.d.ts +4 -0
  939. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  940. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  941. package/dist/types/components/toast/toast.d.ts +19 -2
  942. package/dist/types/components/toggle/toggle.d.ts +18 -1
  943. package/dist/types/components/toolbar/toolbar.d.ts +43 -3
  944. package/dist/types/components.d.ts +1839 -211
  945. package/dist/types/global/ionic-global.d.ts +28 -2
  946. package/dist/types/interface.d.ts +3 -0
  947. package/dist/types/utils/config.d.ts +128 -4
  948. package/dist/types/utils/css-value-validation.d.ts +21 -0
  949. package/dist/types/utils/focus-trap.d.ts +1 -1
  950. package/dist/types/utils/focus-visible.d.ts +33 -0
  951. package/dist/types/utils/forms/clear-button-press-controller.d.ts +20 -0
  952. package/dist/types/utils/forms/index.d.ts +1 -0
  953. package/dist/types/utils/forms/validity.d.ts +7 -0
  954. package/dist/types/utils/helpers.d.ts +29 -0
  955. package/dist/types/utils/overlay-control-label.d.ts +11 -9
  956. package/dist/types/utils/overlays-interface.d.ts +31 -1
  957. package/dist/types/utils/overlays.d.ts +1 -1
  958. package/dist/types/utils/scroll-hide-controller.d.ts +56 -0
  959. package/dist/types/utils/test/playwright/drag-element.d.ts +16 -3
  960. package/dist/types/utils/test/playwright/field-geometry.d.ts +13 -0
  961. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  962. package/dist/types/utils/test/playwright/index.d.ts +1 -0
  963. package/dist/types/utils/theme.d.ts +9 -0
  964. package/hydrate/index.js +5409 -1229
  965. package/hydrate/index.mjs +5409 -1229
  966. package/package.json +9 -6
  967. package/components/p-6sKRBFnK.js +0 -4
  968. package/components/p-B8HBLiYi.js +0 -4
  969. package/components/p-BEiYs-sz.js +0 -4
  970. package/components/p-BKxLivx4.js +0 -4
  971. package/components/p-BLjEwM6v.js +0 -4
  972. package/components/p-BNnmwjuy.js +0 -4
  973. package/components/p-BSJriPuC.js +0 -4
  974. package/components/p-BSQPZ79H.js +0 -4
  975. package/components/p-BUVGbkSc.js +0 -4
  976. package/components/p-B_tZQKpS.js +0 -4
  977. package/components/p-BhamHSw3.js +0 -4
  978. package/components/p-BinR4_P7.js +0 -4
  979. package/components/p-BmVRXR1y.js +0 -4
  980. package/components/p-BrOSQhkA.js +0 -4
  981. package/components/p-BriaEJK8.js +0 -4
  982. package/components/p-BsLM9eQu.js +0 -4
  983. package/components/p-CAQG0btC.js +0 -4
  984. package/components/p-CHHkdXfP.js +0 -4
  985. package/components/p-CJgshb3W.js +0 -4
  986. package/components/p-CQjNc-Pz.js +0 -4
  987. package/components/p-CTUMJM0R.js +0 -4
  988. package/components/p-CXy2v7GI.js +0 -4
  989. package/components/p-Canp1qah.js +0 -4
  990. package/components/p-CcQQ8oRo.js +0 -4
  991. package/components/p-CiFFeRH9.js +0 -4
  992. package/components/p-CiXOsJF2.js +0 -4
  993. package/components/p-CvzE7FFp.js +0 -4
  994. package/components/p-CzykzqAO.js +0 -4
  995. package/components/p-D0jSx7rE.js +0 -4
  996. package/components/p-D4NOsSCE.js +0 -4
  997. package/components/p-DGLuPe1e.js +0 -4
  998. package/components/p-DGUed0uX.js +0 -4
  999. package/components/p-DJztqcrH.js +0 -4
  1000. package/components/p-DM2jMsSO.js +0 -4
  1001. package/components/p-DPyjiKOq.js +0 -4
  1002. package/components/p-DSmHJ2DH.js +0 -4
  1003. package/components/p-DlUdjUlf.js +0 -4
  1004. package/components/p-LH1I_Zhd.js +0 -4
  1005. package/components/p-LpMHEu3v.js +0 -4
  1006. package/components/p-PPagT42x.js +0 -4
  1007. package/components/p-RJT5zTbD.js +0 -4
  1008. package/components/p-WMQuK_Tj.js +0 -4
  1009. package/components/p-byZM6qHV.js +0 -4
  1010. package/components/p-eJpG4UbM.js +0 -4
  1011. package/components/p-q2WJ5Igc.js +0 -4
  1012. package/components/p-y7Nhe3de.js +0 -4
  1013. package/dist/cjs/focus-visible-CCvKiLh3.js +0 -77
  1014. package/dist/cjs/ionic-global-C1h8Yi_K.js +0 -156
  1015. package/dist/cjs/keyboard-controller-CLcFxSnb.js +0 -167
  1016. package/dist/cjs/validity-BpS37YFM.js +0 -19
  1017. package/dist/esm/focus-visible-BmVRXR1y.js +0 -75
  1018. package/dist/esm/ionic-global-B-G43ddm.js +0 -151
  1019. package/dist/esm/keyboard-controller-Dzjet5wD.js +0 -165
  1020. package/dist/esm/validity-DJztqcrH.js +0 -17
  1021. package/dist/ionic/p-0517aec4.entry.js +0 -4
  1022. package/dist/ionic/p-083b1119.entry.js +0 -4
  1023. package/dist/ionic/p-0ab133d6.entry.js +0 -4
  1024. package/dist/ionic/p-1110da0d.entry.js +0 -4
  1025. package/dist/ionic/p-1213b719.entry.js +0 -4
  1026. package/dist/ionic/p-150f350e.entry.js +0 -4
  1027. package/dist/ionic/p-20d1ac29.entry.js +0 -4
  1028. package/dist/ionic/p-24b0a961.entry.js +0 -4
  1029. package/dist/ionic/p-28f506ce.entry.js +0 -4
  1030. package/dist/ionic/p-2e6e933d.entry.js +0 -4
  1031. package/dist/ionic/p-30dcf43b.entry.js +0 -4
  1032. package/dist/ionic/p-378341d1.entry.js +0 -4
  1033. package/dist/ionic/p-37f46670.entry.js +0 -4
  1034. package/dist/ionic/p-3a5faaa8.entry.js +0 -4
  1035. package/dist/ionic/p-3bd7e5df.entry.js +0 -4
  1036. package/dist/ionic/p-3c4b0ba7.entry.js +0 -4
  1037. package/dist/ionic/p-42b2a992.entry.js +0 -4
  1038. package/dist/ionic/p-52dc3309.entry.js +0 -4
  1039. package/dist/ionic/p-58f914ee.entry.js +0 -4
  1040. package/dist/ionic/p-5b9666be.entry.js +0 -4
  1041. package/dist/ionic/p-5c19330c.entry.js +0 -4
  1042. package/dist/ionic/p-61b304c8.entry.js +0 -4
  1043. package/dist/ionic/p-624f2fa8.entry.js +0 -4
  1044. package/dist/ionic/p-636349e2.entry.js +0 -4
  1045. package/dist/ionic/p-6865f0e1.entry.js +0 -4
  1046. package/dist/ionic/p-7441ed2b.entry.js +0 -4
  1047. package/dist/ionic/p-76309bab.entry.js +0 -4
  1048. package/dist/ionic/p-83448626.entry.js +0 -4
  1049. package/dist/ionic/p-834afcf7.entry.js +0 -4
  1050. package/dist/ionic/p-93cd738b.entry.js +0 -4
  1051. package/dist/ionic/p-9b78fedf.entry.js +0 -4
  1052. package/dist/ionic/p-9dd9788c.entry.js +0 -4
  1053. package/dist/ionic/p-B4ELlbJE.js +0 -4
  1054. package/dist/ionic/p-B4wzg4z4.js +0 -4
  1055. package/dist/ionic/p-B4xjg_Qu.js +0 -4
  1056. package/dist/ionic/p-BChRVdVv.js +0 -4
  1057. package/dist/ionic/p-BSQPZ79H.js +0 -4
  1058. package/dist/ionic/p-BVEsh7-M.js +0 -4
  1059. package/dist/ionic/p-Ba6ZV-qU.js +0 -4
  1060. package/dist/ionic/p-BmVRXR1y.js +0 -4
  1061. package/dist/ionic/p-BtHAx8im.js +0 -4
  1062. package/dist/ionic/p-Bv-6401R.js +0 -4
  1063. package/dist/ionic/p-BvabGprD.js +0 -4
  1064. package/dist/ionic/p-CTmJSZcs.js +0 -4
  1065. package/dist/ionic/p-CTrwMl44.js +0 -4
  1066. package/dist/ionic/p-CgQdInM0.js +0 -4
  1067. package/dist/ionic/p-CrAPHbJ3.js +0 -4
  1068. package/dist/ionic/p-CsWrz1c2.js +0 -4
  1069. package/dist/ionic/p-D5akOqD0.js +0 -4
  1070. package/dist/ionic/p-D9OR05yj.js +0 -6
  1071. package/dist/ionic/p-DHf9V6zI.js +0 -4
  1072. package/dist/ionic/p-DJztqcrH.js +0 -4
  1073. package/dist/ionic/p-DZUqAr_6.js +0 -4
  1074. package/dist/ionic/p-Dzew6Qv7.js +0 -4
  1075. package/dist/ionic/p-b0a3dd1a.entry.js +0 -4
  1076. package/dist/ionic/p-b1164028.entry.js +0 -4
  1077. package/dist/ionic/p-b710b4b8.entry.js +0 -4
  1078. package/dist/ionic/p-b9659d21.entry.js +0 -4
  1079. package/dist/ionic/p-ba7bd621.entry.js +0 -4
  1080. package/dist/ionic/p-byZM6qHV.js +0 -4
  1081. package/dist/ionic/p-daaecea3.entry.js +0 -4
  1082. package/dist/ionic/p-e05073f6.entry.js +0 -4
  1083. package/dist/ionic/p-e137f724.entry.js +0 -4
  1084. package/dist/ionic/p-e1969fd1.entry.js +0 -4
  1085. package/dist/ionic/p-e338693a.entry.js +0 -4
  1086. package/dist/ionic/p-e4c3f17f.entry.js +0 -4
  1087. package/dist/ionic/p-e7414c33.entry.js +0 -4
  1088. package/dist/ionic/p-eb762f80.entry.js +0 -4
  1089. package/dist/ionic/p-edcb63e5.entry.js +0 -4
  1090. package/dist/ionic/p-efa00ce5.entry.js +0 -4
  1091. package/dist/ionic/p-f19e50f8.entry.js +0 -4
  1092. package/dist/ionic/p-f20b6a9b.entry.js +0 -4
  1093. package/dist/ionic/p-f9057f70.entry.js +0 -4
  1094. package/dist/ionic/p-f99cf5aa.entry.js +0 -4
  1095. package/dist/ionic/p-fee863dc.entry.js +0 -4
  1096. package/dist/ionic/p-tXpzvta8.js +0 -4
  1097. package/dist/ionic/p-vPo3vRFc.js +0 -4
  1098. /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
@@ -3,23 +3,25 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index$2 = require('./index-SAR1xwtW.js');
7
- var index = require('./index-BAM4223M.js');
8
- var frameworkDelegate = require('./framework-delegate-DTLbqaaO.js');
9
- var helpers = require('./helpers-Crluoxqu.js');
6
+ var index$3 = require('./index-sCX9078m.js');
7
+ var index$1 = require('./index-DKcBQZY9.js');
8
+ var frameworkDelegate = require('./framework-delegate-Dc-OOm7D.js');
9
+ var helpers = require('./helpers-CLJM7hT0.js');
10
10
  var lockController = require('./lock-controller-aDB9wrEf.js');
11
- var capacitor = require('./capacitor-BMzmHhwe.js');
12
- var hardwareBackButton = require('./overlays-C68wNDWY.js');
13
- var theme = require('./theme-Bw0rpaNN.js');
14
- var index$3 = require('./index-CgXTRA_-.js');
15
- var ionicGlobal = require('./ionic-global-C1h8Yi_K.js');
16
- var keyboard = require('./keyboard-Cv-LNReK.js');
17
- var animation = require('./animation-BFKyYY11.js');
11
+ var capacitor = require('./capacitor-DmA66EwP.js');
12
+ var overlays = require('./overlays-Ch6nAoha.js');
13
+ var theme = require('./theme-Cy4joHPt.js');
14
+ var index$4 = require('./index-DHE2MAbY.js');
15
+ var ionicGlobal = require('./ionic-global-BKBeko9D.js');
16
+ var keyboard = require('./keyboard-Cix5TVkD.js');
17
+ var animation = require('./animation-DGhvrwaP.js');
18
+ var index = require('./index-DkNv4J_i.js');
18
19
  var cubicBezier = require('./cubic-bezier-DAjy1V-e.js');
19
- var index$1 = require('./index-DRPqwSvU.js');
20
+ var index$2 = require('./index-DRPqwSvU.js');
21
+ require('./focus-visible-DGPRKkcx.js');
20
22
  require('./dir-zwDPRE5K.js');
21
23
  require('./gesture-controller-CeJslptU.js');
22
- require('./keyboard-C-C7xMKk.js');
24
+ require('./keyboard-cHxZlTyz.js');
23
25
 
24
26
  var Style;
25
27
  (function (Style) {
@@ -116,13 +118,13 @@ const getBackdropValueForSheet = (x, backdropBreakpoint) => {
116
118
  *
117
119
  */
118
120
  const setCardStatusBarDark = () => {
119
- if (!helpers.win || helpers.win.innerWidth >= 768) {
121
+ if (!index.win || index.win.innerWidth >= 768) {
120
122
  return;
121
123
  }
122
124
  StatusBar.setStyle({ style: Style.Dark });
123
125
  };
124
126
  const setCardStatusBarDefault = (defaultStyle = Style.Default) => {
125
- if (!helpers.win || helpers.win.innerWidth >= 768) {
127
+ if (!index.win || index.win.innerWidth >= 768) {
126
128
  return;
127
129
  }
128
130
  StatusBar.setStyle({ style: defaultStyle });
@@ -134,6 +136,104 @@ const onModalHeightChange = (hostEl, callback) => {
134
136
  return helpers.onCustomPropertyChange(hostEl, '--height', () => callback());
135
137
  };
136
138
 
139
+ const createSheetEnterAnimation = (opts) => {
140
+ const { currentBreakpoint, backdropBreakpoint, expandToScroll, staticBackdropOpacity } = opts;
141
+ /**
142
+ * If the backdropBreakpoint is undefined, then the backdrop
143
+ * should always fade in. If the backdropBreakpoint came before the
144
+ * current breakpoint, then the backdrop should be fading in.
145
+ */
146
+ const shouldShowBackdrop = backdropBreakpoint === undefined || backdropBreakpoint < currentBreakpoint;
147
+ let initialBackdrop = '0';
148
+ if (staticBackdropOpacity) {
149
+ initialBackdrop = 'calc(var(--backdrop-opacity)';
150
+ }
151
+ else if (shouldShowBackdrop) {
152
+ initialBackdrop = `calc(var(--backdrop-opacity) * ${currentBreakpoint})`;
153
+ }
154
+ const backdropAnimation = animation.createAnimation('backdropAnimation').fromTo('opacity', 0, initialBackdrop);
155
+ if (shouldShowBackdrop) {
156
+ backdropAnimation
157
+ .beforeStyles({
158
+ 'pointer-events': 'none',
159
+ })
160
+ .afterClearStyles(['pointer-events']);
161
+ }
162
+ const wrapperAnimation = animation.createAnimation('wrapperAnimation').keyframes([
163
+ { offset: 0, opacity: 1, transform: 'translateY(100%)' },
164
+ { offset: 1, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
165
+ ]);
166
+ /**
167
+ * This allows the content to be scrollable at any breakpoint.
168
+ */
169
+ const contentAnimation = !expandToScroll
170
+ ? animation.createAnimation('contentAnimation').keyframes([
171
+ { offset: 0, opacity: 1, maxHeight: `${(1 - currentBreakpoint) * 100}%` },
172
+ { offset: 1, opacity: 1, maxHeight: `${currentBreakpoint * 100}%` },
173
+ ])
174
+ : undefined;
175
+ return { wrapperAnimation, backdropAnimation, contentAnimation };
176
+ };
177
+ const createSheetLeaveAnimation = (opts) => {
178
+ const { currentBreakpoint, backdropBreakpoint } = opts;
179
+ /**
180
+ * Backdrop does not always fade in from 0 to 1 if backdropBreakpoint
181
+ * is defined, so we need to account for that offset by figuring out
182
+ * what the current backdrop value should be.
183
+ */
184
+ const backdropValue = `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(currentBreakpoint, backdropBreakpoint)})`;
185
+ const defaultBackdrop = [
186
+ { offset: 0, opacity: backdropValue },
187
+ { offset: 1, opacity: 0 },
188
+ ];
189
+ const customBackdrop = [
190
+ { offset: 0, opacity: backdropValue },
191
+ { offset: backdropBreakpoint, opacity: 0 },
192
+ { offset: 1, opacity: 0 },
193
+ ];
194
+ const backdropAnimation = animation.createAnimation('backdropAnimation').keyframes(backdropBreakpoint !== 0 ? customBackdrop : defaultBackdrop);
195
+ const wrapperAnimation = animation.createAnimation('wrapperAnimation').keyframes([
196
+ { offset: 0, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
197
+ { offset: 1, opacity: 1, transform: `translateY(100%)` },
198
+ ]);
199
+ return { wrapperAnimation, backdropAnimation };
200
+ };
201
+
202
+ const createEnterAnimation$2 = () => {
203
+ const backdropAnimation = animation.createAnimation()
204
+ .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
205
+ .beforeStyles({
206
+ 'pointer-events': 'none',
207
+ })
208
+ .afterClearStyles(['pointer-events']);
209
+ const wrapperAnimation = animation.createAnimation().keyframes([
210
+ { offset: 0, opacity: 0.01, transform: 'translateY(40px)' },
211
+ { offset: 1, opacity: 1, transform: `translateY(0px)` },
212
+ ]);
213
+ return { backdropAnimation, wrapperAnimation, contentAnimation: undefined };
214
+ };
215
+ /**
216
+ * Ionic Modal Enter Animation
217
+ */
218
+ const ionicEnterAnimation = (baseEl, opts) => {
219
+ const { currentBreakpoint, expandToScroll } = opts;
220
+ const root = helpers.getElementRoot(baseEl);
221
+ const { wrapperAnimation, backdropAnimation, contentAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation$2();
222
+ backdropAnimation.addElement(root.querySelector('ion-backdrop'));
223
+ wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
224
+ // The content animation is only added if scrolling is enabled for
225
+ // all the breakpoints.
226
+ !expandToScroll && contentAnimation?.addElement(baseEl.querySelector('.ion-page'));
227
+ backdropAnimation.duration(300).easing('ease-out');
228
+ wrapperAnimation.duration(400).easing('cubic-bezier(0.32, 0.68, 0, 1)');
229
+ contentAnimation?.duration(400).easing('cubic-bezier(0.32, 0.68, 0, 1)');
230
+ const baseAnimation = animation.createAnimation().addElement(baseEl).addAnimation([backdropAnimation, wrapperAnimation]);
231
+ if (contentAnimation) {
232
+ baseAnimation.addAnimation(contentAnimation);
233
+ }
234
+ return baseAnimation;
235
+ };
236
+
137
237
  /**
138
238
  * Swiping is only possible when the content is scrolled to the top, so that we
139
239
  * do not interfere with scrolling, and never on content with a refresher.
@@ -145,8 +245,8 @@ const onModalHeightChange = (hostEl, callback) => {
145
245
  * synchronous operation, and `getScrollElement` is asynchronous.
146
246
  */
147
247
  const canSwipeOnContent = (contentEl) => {
148
- const scrollEl = index.isIonContent(contentEl) ? helpers.getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
149
- const hasRefresherInContent = !!index.findRefresherInContent(contentEl);
248
+ const scrollEl = index$1.isIonContent(contentEl) ? helpers.getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
249
+ const hasRefresherInContent = !!index$1.findRefresherInContent(contentEl);
150
250
  return !hasRefresherInContent && scrollEl.scrollTop === 0;
151
251
  };
152
252
  const handleCanDismiss = async (el, animation) => {
@@ -166,7 +266,7 @@ const handleCanDismiss = async (el, animation) => {
166
266
  * If the function returns `true`,
167
267
  * then we can proceed with dismiss.
168
268
  */
169
- const shouldDismiss = await el.canDismiss(undefined, hardwareBackButton.GESTURE);
269
+ const shouldDismiss = await el.canDismiss(undefined, overlays.GESTURE);
170
270
  if (!shouldDismiss) {
171
271
  return;
172
272
  }
@@ -283,7 +383,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
283
383
  let initialScrollY = true;
284
384
  let lastStep = 0;
285
385
  const getScrollY = () => {
286
- if (contentEl && index.isIonContent(contentEl)) {
386
+ if (contentEl && index$1.isIonContent(contentEl)) {
287
387
  return contentEl.scrollY;
288
388
  /**
289
389
  * Custom scroll containers are intended to be
@@ -309,7 +409,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
309
409
  * swipe again. The target content will not
310
410
  * be the same between swipes.
311
411
  */
312
- contentEl = index.findClosestIonContent(target);
412
+ contentEl = index$1.findClosestIonContent(target);
313
413
  if (contentEl) {
314
414
  return canSwipeOnContent(contentEl);
315
415
  }
@@ -353,7 +453,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
353
453
  * happen at the same time as the gesture.
354
454
  */
355
455
  if (deltaY > 0 && contentEl) {
356
- index.disableContentScrollY(contentEl);
456
+ index$1.disableContentScrollY(contentEl);
357
457
  }
358
458
  animation.progressStart(true, isOpen ? 1 : 0);
359
459
  onDragStart();
@@ -367,7 +467,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
367
467
  * happen at the same time as the gesture.
368
468
  */
369
469
  if (deltaY > 0 && contentEl) {
370
- index.disableContentScrollY(contentEl);
470
+ index$1.disableContentScrollY(contentEl);
371
471
  }
372
472
  /**
373
473
  * If we are swiping on the content
@@ -462,7 +562,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
462
562
  isOpen = shouldComplete;
463
563
  gesture.enable(false);
464
564
  if (contentEl) {
465
- index.resetContentScrollY(contentEl, initialScrollY);
565
+ index$1.resetContentScrollY(contentEl, initialScrollY);
466
566
  }
467
567
  animation
468
568
  .onFinish(() => {
@@ -510,10 +610,10 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
510
610
  };
511
611
  onDragEnd(eventDetail);
512
612
  };
513
- const gesture = index$1.createGesture({
613
+ const gesture = index$2.createGesture({
514
614
  el,
515
615
  gestureName: 'modalSwipeToClose',
516
- gesturePriority: hardwareBackButton.OVERLAY_GESTURE_PRIORITY,
616
+ gesturePriority: overlays.OVERLAY_GESTURE_PRIORITY,
517
617
  direction: 'y',
518
618
  threshold: 10,
519
619
  canStart,
@@ -565,63 +665,6 @@ const calculateProgress = (el, deltaY) => {
565
665
  return Math.max(0, Math.min(1, roundedProgress));
566
666
  };
567
667
 
568
- const createSheetEnterAnimation = (opts) => {
569
- const { currentBreakpoint, backdropBreakpoint, expandToScroll } = opts;
570
- /**
571
- * If the backdropBreakpoint is undefined, then the backdrop
572
- * should always fade in. If the backdropBreakpoint came before the
573
- * current breakpoint, then the backdrop should be fading in.
574
- */
575
- const shouldShowBackdrop = backdropBreakpoint === undefined || backdropBreakpoint < currentBreakpoint;
576
- const initialBackdrop = shouldShowBackdrop ? `calc(var(--backdrop-opacity) * ${currentBreakpoint})` : '0';
577
- const backdropAnimation = animation.createAnimation('backdropAnimation').fromTo('opacity', 0, initialBackdrop);
578
- if (shouldShowBackdrop) {
579
- backdropAnimation
580
- .beforeStyles({
581
- 'pointer-events': 'none',
582
- })
583
- .afterClearStyles(['pointer-events']);
584
- }
585
- const wrapperAnimation = animation.createAnimation('wrapperAnimation').keyframes([
586
- { offset: 0, opacity: 1, transform: 'translateY(100%)' },
587
- { offset: 1, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
588
- ]);
589
- /**
590
- * This allows the content to be scrollable at any breakpoint.
591
- */
592
- const contentAnimation = !expandToScroll
593
- ? animation.createAnimation('contentAnimation').keyframes([
594
- { offset: 0, opacity: 1, maxHeight: `${(1 - currentBreakpoint) * 100}%` },
595
- { offset: 1, opacity: 1, maxHeight: `${currentBreakpoint * 100}%` },
596
- ])
597
- : undefined;
598
- return { wrapperAnimation, backdropAnimation, contentAnimation };
599
- };
600
- const createSheetLeaveAnimation = (opts) => {
601
- const { currentBreakpoint, backdropBreakpoint } = opts;
602
- /**
603
- * Backdrop does not always fade in from 0 to 1 if backdropBreakpoint
604
- * is defined, so we need to account for that offset by figuring out
605
- * what the current backdrop value should be.
606
- */
607
- const backdropValue = `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(currentBreakpoint, backdropBreakpoint)})`;
608
- const defaultBackdrop = [
609
- { offset: 0, opacity: backdropValue },
610
- { offset: 1, opacity: 0 },
611
- ];
612
- const customBackdrop = [
613
- { offset: 0, opacity: backdropValue },
614
- { offset: backdropBreakpoint, opacity: 0 },
615
- { offset: 1, opacity: 0 },
616
- ];
617
- const backdropAnimation = animation.createAnimation('backdropAnimation').keyframes(backdropBreakpoint !== 0 ? customBackdrop : defaultBackdrop);
618
- const wrapperAnimation = animation.createAnimation('wrapperAnimation').keyframes([
619
- { offset: 0, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
620
- { offset: 1, opacity: 1, transform: `translateY(100%)` },
621
- ]);
622
- return { wrapperAnimation, backdropAnimation };
623
- };
624
-
625
668
  const createEnterAnimation$1 = () => {
626
669
  const backdropAnimation = animation.createAnimation()
627
670
  .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
@@ -1012,16 +1055,16 @@ const mdLeaveAnimation = (baseEl, opts) => {
1012
1055
  return baseAnimation;
1013
1056
  };
1014
1057
 
1015
- const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange, onDragStart, onDragMove, onDragEnd) => {
1058
+ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange, usePhysicsBasedGesture, onDragStart, onDragMove, onDragEnd) => {
1016
1059
  // Defaults for the sheet swipe animation
1017
1060
  const defaultBackdrop = [
1018
1061
  { offset: 0, opacity: 'var(--backdrop-opacity)' },
1019
- { offset: 1, opacity: 0.01 },
1062
+ { offset: 1, opacity: usePhysicsBasedGesture ? 'var(--backdrop-opacity)' : 0.01 },
1020
1063
  ];
1021
1064
  const customBackdrop = [
1022
1065
  { offset: 0, opacity: 'var(--backdrop-opacity)' },
1023
- { offset: 1 - backdropBreakpoint, opacity: 0 },
1024
- { offset: 1, opacity: 0 },
1066
+ { offset: 1 - backdropBreakpoint, opacity: usePhysicsBasedGesture ? 'var(--backdrop-opacity)' : 0 },
1067
+ { offset: 1, opacity: usePhysicsBasedGesture ? 'var(--backdrop-opacity)' : 0 },
1025
1068
  ];
1026
1069
  const SheetDefaults = {
1027
1070
  WRAPPER_KEYFRAMES: [
@@ -1065,7 +1108,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1065
1108
  * as inputs should not be focusable outside
1066
1109
  * the sheet.
1067
1110
  */
1068
- baseEl.classList.remove(hardwareBackButton.FOCUS_TRAP_DISABLE_CLASS);
1111
+ baseEl.classList.remove(overlays.FOCUS_TRAP_DISABLE_CLASS);
1069
1112
  };
1070
1113
  const disableBackdrop = () => {
1071
1114
  baseEl.style.setProperty('pointer-events', 'none');
@@ -1077,7 +1120,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1077
1120
  * Adding this class disables focus trapping
1078
1121
  * for the sheet temporarily.
1079
1122
  */
1080
- baseEl.classList.add(hardwareBackButton.FOCUS_TRAP_DISABLE_CLASS);
1123
+ baseEl.classList.add(overlays.FOCUS_TRAP_DISABLE_CLASS);
1081
1124
  };
1082
1125
  /**
1083
1126
  * Toggles the footer to an absolute position while moving to prevent
@@ -1201,7 +1244,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1201
1244
  * For example, when using ion-nav within a modal it is possible to swipe, push a view,
1202
1245
  * and then swipe again. The target content will not be the same between swipes.
1203
1246
  */
1204
- const contentEl = index.findClosestIonContent(detail.event.target);
1247
+ const contentEl = index$1.findClosestIonContent(detail.event.target);
1205
1248
  currentBreakpoint = getCurrentBreakpoint();
1206
1249
  /**
1207
1250
  * Upwards swipes on the content cannot move the sheet anyway, so this only
@@ -1238,9 +1281,9 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1238
1281
  * which would impact performance significantly.
1239
1282
  */
1240
1283
  if (!expandToScroll) {
1241
- const targetEl = index.findClosestIonContent(detail.event.target);
1284
+ const targetEl = index$1.findClosestIonContent(detail.event.target);
1242
1285
  cachedScrollEl =
1243
- targetEl && index.isIonContent(targetEl) ? helpers.getElementRoot(targetEl).querySelector('.inner-scroll') : targetEl;
1286
+ targetEl && index$1.isIonContent(targetEl) ? helpers.getElementRoot(targetEl).querySelector('.inner-scroll') : targetEl;
1244
1287
  }
1245
1288
  /**
1246
1289
  * If expandToScroll is disabled, we need to swap
@@ -1334,7 +1377,9 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1334
1377
  : step;
1335
1378
  offset = helpers.clamp(0.0001, processedStep, maxStep);
1336
1379
  animation.progressStep(offset);
1337
- const snapBreakpoint = calculateSnapBreakpoint(detail.deltaY);
1380
+ const snapBreakpoint = usePhysicsBasedGesture
1381
+ ? calculateVelocitySnapBreakpoint(detail.deltaY, detail.velocityY, detail.currentY)
1382
+ : calculatePositionSnapBreakpoint(detail.deltaY);
1338
1383
  const eventDetail = {
1339
1384
  currentY: detail.currentY,
1340
1385
  deltaY: detail.deltaY,
@@ -1345,7 +1390,9 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1345
1390
  onDragMove(eventDetail);
1346
1391
  };
1347
1392
  const onEnd = (detail) => {
1348
- const snapBreakpoint = calculateSnapBreakpoint(detail.deltaY);
1393
+ const snapBreakpoint = usePhysicsBasedGesture
1394
+ ? calculateVelocitySnapBreakpoint(detail.deltaY, detail.velocityY, detail.currentY)
1395
+ : calculatePositionSnapBreakpoint(detail.deltaY);
1349
1396
  /**
1350
1397
  * `snapBreakpoint === 0` is not enough on its own. `canDismiss: false`
1351
1398
  * snaps to 0 but never dismisses, since `handleCanDismiss` returns early
@@ -1406,6 +1453,14 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1406
1453
  */
1407
1454
  const shouldPreventDismiss = canDismiss && breakpoint === 0;
1408
1455
  const snapToBreakpoint = shouldPreventDismiss ? currentBreakpoint : breakpoint;
1456
+ /**
1457
+ * Detect snap-back behavior: when the snap target is the same as the current breakpoint,
1458
+ * the user released before crossing the threshold to a new breakpoint.
1459
+ * Apply different timing and easing for snap-back vs. snap-to-new.
1460
+ */
1461
+ const isSnapBack = snapToBreakpoint === currentBreakpoint;
1462
+ const duration = usePhysicsBasedGesture ? (isSnapBack ? 300 : 400) : 500;
1463
+ const easing = isSnapBack ? 'cubic-bezier(0.34, 1.4, 0.64, 1)' : 'cubic-bezier(0.32, 0.68, 0, 1)';
1409
1464
  const shouldRemainOpen = snapToBreakpoint !== 0;
1410
1465
  currentBreakpoint = 0;
1411
1466
  /**
@@ -1420,11 +1475,15 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1420
1475
  backdropAnimation.keyframes([
1421
1476
  {
1422
1477
  offset: 0,
1423
- opacity: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(1 - breakpointOffset, backdropBreakpoint)})`,
1478
+ opacity: usePhysicsBasedGesture
1479
+ ? 'var(--backdrop-opacity)'
1480
+ : `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(1 - breakpointOffset, backdropBreakpoint)})`,
1424
1481
  },
1425
1482
  {
1426
1483
  offset: 1,
1427
- opacity: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
1484
+ opacity: usePhysicsBasedGesture
1485
+ ? 'var(--backdrop-opacity)'
1486
+ : `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
1428
1487
  },
1429
1488
  ]);
1430
1489
  if (contentAnimation) {
@@ -1442,6 +1501,12 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1442
1501
  }
1443
1502
  animation.progressStep(0);
1444
1503
  }
1504
+ /**
1505
+ * Apply the appropriate easing curve for this snap behavior.
1506
+ */
1507
+ if (usePhysicsBasedGesture) {
1508
+ animation.easing(easing);
1509
+ }
1445
1510
  /**
1446
1511
  * Gesture should remain disabled until the
1447
1512
  * snapping animation completes.
@@ -1531,7 +1596,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1531
1596
  * be added every time onEnd runs.
1532
1597
  */
1533
1598
  }, { oneTimeCallback: true })
1534
- .progressEnd(1, 0, animated ? 500 : 0);
1599
+ .progressEnd(1, 0, animated ? duration : 0);
1535
1600
  });
1536
1601
  };
1537
1602
  /**
@@ -1542,7 +1607,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1542
1607
  * @param deltaY The change in Y position since the gesture started.
1543
1608
  * @returns The snap breakpoint value.
1544
1609
  */
1545
- const calculateSnapBreakpoint = (deltaY) => {
1610
+ const calculatePositionSnapBreakpoint = (deltaY) => {
1546
1611
  /**
1547
1612
  * Calculates the real-time vertical position of the modal.
1548
1613
  * We combine the wrapper's current bounding box position with the
@@ -1562,6 +1627,50 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1562
1627
  });
1563
1628
  return snapBreakpoint;
1564
1629
  };
1630
+ /**
1631
+ * Calculates the snap breakpoint using velocity-based logic.
1632
+ * This provides a more intuitive and responsive sheet behavior for the Ionic theme.
1633
+ *
1634
+ * Rules:
1635
+ * 1. Fast downward flick (> 500 px/s) always dismisses, regardless of position
1636
+ * 2. Fast upward flick (> 400 px/s) snaps to the next breakpoint above
1637
+ * 3. If dragged 40% below current snap point without fast upward flick, dismisses
1638
+ * 4. Otherwise, falls back to position-based snap (closest breakpoint)
1639
+ *
1640
+ * @param deltaY The change in Y position since gesture started
1641
+ * @param velocityY The velocity in pixels per millisecond
1642
+ * @param currentY The current Y position of the gesture
1643
+ * @returns The snap breakpoint value
1644
+ */
1645
+ const calculateVelocitySnapBreakpoint = (deltaY, velocityY, currentY) => {
1646
+ // Convert velocity from px/ms to px/s for easier threshold comparison
1647
+ const velocityYPerSecond = velocityY * 1000;
1648
+ // Calculate current progress (0 = fully closed, 1 = fully expanded)
1649
+ const currentProgress = calculateProgress(currentY);
1650
+ // Rule 1: Fast downward flick always dismisses
1651
+ if (velocityYPerSecond > 500) {
1652
+ return minBreakpoint;
1653
+ }
1654
+ // Rule 2: Fast upward flick moves to next breakpoint above
1655
+ if (velocityYPerSecond < -400) {
1656
+ // Find next breakpoint above current position
1657
+ const nextBreakpoint = breakpoints.find((bp) => bp > currentProgress);
1658
+ // If no breakpoint above, stay at max breakpoint
1659
+ return nextBreakpoint ?? maxBreakpoint;
1660
+ }
1661
+ // Rule 3: 40% dismissal rule (only if not flicking up and 0 breakpoint exists)
1662
+ if (minBreakpoint === 0 && currentBreakpoint > 0) {
1663
+ // Calculate how far we've moved below the current snap point
1664
+ const distanceBelowSnap = currentBreakpoint - currentProgress;
1665
+ const percentageBelowSnap = distanceBelowSnap / currentBreakpoint;
1666
+ // If dragged more than 40% below and not flicking up, dismiss
1667
+ if (percentageBelowSnap > 0.4 && velocityYPerSecond <= 400) {
1668
+ return 0;
1669
+ }
1670
+ }
1671
+ // Rule 4: Fallback to position-based snap (existing logic)
1672
+ return calculatePositionSnapBreakpoint(deltaY);
1673
+ };
1565
1674
  /**
1566
1675
  * Calculates the progress of the swipe gesture.
1567
1676
  *
@@ -1632,7 +1741,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1632
1741
  */
1633
1742
  return viewportBottom - activeHeight;
1634
1743
  };
1635
- const gesture = index$1.createGesture({
1744
+ const gesture = index$2.createGesture({
1636
1745
  el: wrapperEl,
1637
1746
  gestureName: 'modalSheet',
1638
1747
  gesturePriority: 40,
@@ -1678,7 +1787,7 @@ const getRootSafeAreaTop = () => {
1678
1787
  if (cachedRootSafeAreaTop !== null) {
1679
1788
  return cachedRootSafeAreaTop;
1680
1789
  }
1681
- const doc = helpers.win?.document;
1790
+ const doc = index.win?.document;
1682
1791
  if (!doc?.body) {
1683
1792
  return 0;
1684
1793
  }
@@ -1704,7 +1813,7 @@ const getRootSafeAreaTop = () => {
1704
1813
  * that read and the observer starting is still reported.
1705
1814
  */
1706
1815
  const onRootSafeAreaTopChange = (callback) => {
1707
- return helpers.onCustomPropertyChange(helpers.win?.document?.body, '--ion-safe-area-top', callback, getRootSafeAreaTop());
1816
+ return helpers.onCustomPropertyChange(index.win?.document?.body, '--ion-safe-area-top', callback, getRootSafeAreaTop());
1708
1817
  };
1709
1818
  /**
1710
1819
  * Determines which viewport axes the modal spans so safe-area requirements
@@ -1721,8 +1830,8 @@ const onRootSafeAreaTopChange = (callback) => {
1721
1830
  */
1722
1831
  const getModalCoveredAxes = (hostEl) => {
1723
1832
  const styles = getComputedStyle(hostEl);
1724
- const width = hardwareBackButton.getOverlaySizeType(styles.getPropertyValue('--width'));
1725
- const height = hardwareBackButton.getOverlaySizeType(styles.getPropertyValue('--height'));
1833
+ const width = overlays.getOverlaySizeType(styles.getPropertyValue('--width'));
1834
+ const height = overlays.getOverlaySizeType(styles.getPropertyValue('--height'));
1726
1835
  if (width === 'fullscreen' && height === 'fullscreen') {
1727
1836
  return { vertical: true, horizontal: true };
1728
1837
  }
@@ -1742,7 +1851,7 @@ const getModalCoveredAxes = (hostEl) => {
1742
1851
  */
1743
1852
  const measureCoveredAxes = (hostEl) => {
1744
1853
  const wrapperEl = hostEl.shadowRoot?.querySelector('.modal-wrapper');
1745
- if (wrapperEl == null || helpers.win === undefined) {
1854
+ if (wrapperEl == null || index.win === undefined) {
1746
1855
  return { vertical: false, horizontal: false };
1747
1856
  }
1748
1857
  const wasHidden = hostEl.classList.contains('overlay-hidden');
@@ -1754,8 +1863,8 @@ const measureCoveredAxes = (hostEl) => {
1754
1863
  hostEl.classList.add('overlay-hidden');
1755
1864
  }
1756
1865
  return {
1757
- vertical: height >= helpers.win.innerHeight - EDGE_THRESHOLD,
1758
- horizontal: width >= helpers.win.innerWidth - EDGE_THRESHOLD,
1866
+ vertical: height >= index.win.innerHeight - EDGE_THRESHOLD,
1867
+ horizontal: width >= index.win.innerWidth - EDGE_THRESHOLD,
1759
1868
  };
1760
1869
  };
1761
1870
  /**
@@ -1824,8 +1933,8 @@ const getInitialSafeAreaConfig = (context) => {
1824
1933
  */
1825
1934
  const getPositionBasedSafeAreaConfig = (wrapperEl) => {
1826
1935
  const rect = wrapperEl.getBoundingClientRect();
1827
- const vh = helpers.win?.innerHeight ?? 0;
1828
- const vw = helpers.win?.innerWidth ?? 0;
1936
+ const vh = index.win?.innerHeight ?? 0;
1937
+ const vw = index.win?.innerWidth ?? 0;
1829
1938
  // Only apply safe-area to sides where modal overlaps with screen edge
1830
1939
  return {
1831
1940
  top: rect.top <= EDGE_THRESHOLD ? 'inherit' : '0px',
@@ -1858,28 +1967,30 @@ const clearSafeAreaOverrides = (hostEl) => {
1858
1967
  hostEl.style.removeProperty('--ion-safe-area-right');
1859
1968
  };
1860
1969
 
1861
- const modalIosCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:100%;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-wrapper{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;outline:none}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}:host(.modal-card),:host(.modal-sheet){--border-radius:10px}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:10px}}.modal-wrapper{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - 40px)}}:host(.modal-card) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-card){--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}:host(.modal-card) .modal-shadow{display:none}:host(.modal-card) ion-backdrop{pointer-events:none}}@media screen and (min-width: 768px){:host(.modal-card){--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px;--backdrop-opacity:0;--box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}:host(.modal-card) .modal-wrapper{-webkit-box-shadow:none;box-shadow:none}:host(.modal-card) .modal-shadow{-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}`;
1970
+ const modalIonicCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:100%;--overflow:hidden;--border-width:0;--border-style:none;--border-color:transparent;--box-shadow:none;right:0;left:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-wrapper{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;outline:none}.modal-shadow{position:absolute;background:transparent}.modal-handle{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;cursor:pointer;z-index:11}.modal-handle::before{position:absolute;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--background:var(--token-bg-surface-default, var(--token-primitives-base-white, #ffffff));--box-shadow:var(--token-elevation-3, var(--token-shadow-offset-0, 0px) var(--token-shadow-offset-6, 6px) var(--token-shadow-blur-32, 32px) var(--token-shadow-spread-0, 0px) var(--token-shadow-6, rgba(0, 0, 0, 0.1607843137)), var(--token-shadow-offset-0, 0px) var(--token-shadow-offset-2, 2px) var(--token-shadow-blur-7, 7px) var(--token-shadow-spread-0, 0px) var(--token-shadow-2, rgba(0, 0, 0, 0.0509803922)));--backdrop-opacity:0.7;color:var(--token-text-default, var(--token-primitives-neutral-1200, #242528))}:host(.modal-round){--border-radius:var(--token-border-radius-1000, var(--token-scale-1000, 40px))}:host(.modal-soft){--border-radius:var(--token-border-radius-400, var(--token-scale-400, 16px))}:host(.modal-rectangular){--border-radius:var(--token-border-radius-0, var(--token-scale-0, 0px))}:host(.select-modal.modal-default){--max-height:45%;--max-width:calc(100% - (var(--token-space-400, var(--token-scale-400, 16px)) * 2));--min-height:340px}.modal-handle{right:0px;left:0px;top:var(--token-space-300, var(--token-scale-300, 12px));border-radius:var(--token-border-radius-100, var(--token-scale-100, 4px));width:var(--token-scale-1100, 44px);height:var(--token-scale-100, 4px);background-color:var(--token-primitives-neutral-300, #e6eaee)}.modal-handle::before{-webkit-padding-start:var(--token-space-100, var(--token-scale-100, 4px));padding-inline-start:var(--token-space-100, var(--token-scale-100, 4px));-webkit-padding-end:var(--token-space-100, var(--token-scale-100, 4px));padding-inline-end:var(--token-space-100, var(--token-scale-100, 4px));padding-top:var(--token-space-100, var(--token-scale-100, 4px));padding-bottom:var(--token-space-100, var(--token-scale-100, 4px))}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + var(--token-scale-250, 10px)))}`;
1862
1971
 
1863
- const modalMdCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:100%;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-wrapper{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;outline:none}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:2px;--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}`;
1972
+ const modalIosCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:100%;--overflow:hidden;--border-width:0;--border-style:none;--border-color:transparent;--box-shadow:none;right:0;left:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-wrapper{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;outline:none}.modal-shadow{position:absolute;background:transparent}.modal-handle{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;cursor:pointer;z-index:11}.modal-handle::before{position:absolute;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--background:var(--ion-background-color, #fff);--border-radius:0;--backdrop-opacity:0;color:var(--ion-text-color, #000)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{right:0px;left:0px;top:5px;border-radius:8px;width:36px;height:5px;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be))}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;width:36px;height:5px}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}:host(.modal-card),:host(.modal-sheet){--border-radius:10px}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:10px}}.modal-wrapper{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - 40px)}}:host(.modal-card) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-card){--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}:host(.modal-card) .modal-shadow{display:none}:host(.modal-card) ion-backdrop{pointer-events:none}}@media screen and (min-width: 768px){:host(.modal-card){--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px;--backdrop-opacity:0;--box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}:host(.modal-card) .modal-wrapper{-webkit-box-shadow:none;box-shadow:none}:host(.modal-card) .modal-shadow{-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}`;
1973
+
1974
+ const modalMdCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:100%;--overflow:hidden;--border-width:0;--border-style:none;--border-color:transparent;--box-shadow:none;right:0;left:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-wrapper{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;outline:none}.modal-shadow{position:absolute;background:transparent}.modal-handle{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;cursor:pointer;z-index:11}.modal-handle::before{position:absolute;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--background:var(--ion-background-color, #fff);--border-radius:0;--backdrop-opacity:0;color:var(--ion-text-color, #000)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{right:0px;left:0px;top:5px;border-radius:8px;width:36px;height:5px;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be))}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;width:36px;height:5px}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:2px;--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}`;
1864
1975
 
1865
1976
  const Modal = class {
1866
1977
  constructor(hostRef) {
1867
- index$2.registerInstance(this, hostRef);
1868
- this.didPresent = index$2.createEvent(this, "ionModalDidPresent", 7);
1869
- this.willPresent = index$2.createEvent(this, "ionModalWillPresent", 7);
1870
- this.willDismiss = index$2.createEvent(this, "ionModalWillDismiss", 7);
1871
- this.didDismiss = index$2.createEvent(this, "ionModalDidDismiss", 7);
1872
- this.ionBreakpointDidChange = index$2.createEvent(this, "ionBreakpointDidChange", 7);
1873
- this.didPresentShorthand = index$2.createEvent(this, "didPresent", 7);
1874
- this.willPresentShorthand = index$2.createEvent(this, "willPresent", 7);
1875
- this.willDismissShorthand = index$2.createEvent(this, "willDismiss", 7);
1876
- this.didDismissShorthand = index$2.createEvent(this, "didDismiss", 7);
1877
- this.ionMount = index$2.createEvent(this, "ionMount", 7);
1878
- this.ionDragStart = index$2.createEvent(this, "ionDragStart", 7);
1879
- this.ionDragMove = index$2.createEvent(this, "ionDragMove", 7);
1880
- this.ionDragEnd = index$2.createEvent(this, "ionDragEnd", 7);
1978
+ index$3.registerInstance(this, hostRef);
1979
+ this.didPresent = index$3.createEvent(this, "ionModalDidPresent", 7);
1980
+ this.willPresent = index$3.createEvent(this, "ionModalWillPresent", 7);
1981
+ this.willDismiss = index$3.createEvent(this, "ionModalWillDismiss", 7);
1982
+ this.didDismiss = index$3.createEvent(this, "ionModalDidDismiss", 7);
1983
+ this.ionBreakpointDidChange = index$3.createEvent(this, "ionBreakpointDidChange", 7);
1984
+ this.didPresentShorthand = index$3.createEvent(this, "didPresent", 7);
1985
+ this.willPresentShorthand = index$3.createEvent(this, "willPresent", 7);
1986
+ this.willDismissShorthand = index$3.createEvent(this, "willDismiss", 7);
1987
+ this.didDismissShorthand = index$3.createEvent(this, "didDismiss", 7);
1988
+ this.ionMount = index$3.createEvent(this, "ionMount", 7);
1989
+ this.ionDragStart = index$3.createEvent(this, "ionDragStart", 7);
1990
+ this.ionDragMove = index$3.createEvent(this, "ionDragMove", 7);
1991
+ this.ionDragEnd = index$3.createEvent(this, "ionDragEnd", 7);
1881
1992
  this.lockController = lockController.createLockController();
1882
- this.triggerController = hardwareBackButton.createTriggerController();
1993
+ this.triggerController = overlays.createTriggerController();
1883
1994
  this.coreDelegate = frameworkDelegate.CoreDelegate();
1884
1995
  this.isSheetModal = false;
1885
1996
  this.inheritedAttributes = {};
@@ -2025,7 +2136,7 @@ const Modal = class {
2025
2136
  */
2026
2137
  return;
2027
2138
  }
2028
- this.dismiss(undefined, hardwareBackButton.BACKDROP);
2139
+ this.dismiss(undefined, overlays.BACKDROP);
2029
2140
  };
2030
2141
  this.onLifecycle = (modalEvent) => {
2031
2142
  const el = this.usersElement;
@@ -2123,7 +2234,7 @@ const Modal = class {
2123
2234
  }
2124
2235
  connectedCallback() {
2125
2236
  const { el } = this;
2126
- hardwareBackButton.prepareOverlay(el);
2237
+ overlays.prepareOverlay(el);
2127
2238
  this.triggerChanged();
2128
2239
  // A disconnect tears down state this presentation still needs and cannot
2129
2240
  // tell a re-insert from a removal, so put it back.
@@ -2133,7 +2244,7 @@ const Modal = class {
2133
2244
  // A relocation from `willPresent` reaches these before `present()` has
2134
2245
  // applied the lock, so they apply it instead. Both are idempotent.
2135
2246
  if (this.presented) {
2136
- hardwareBackButton.restoreRootFocusTrapAccessibility(el);
2247
+ overlays.restoreRootFocusTrapAccessibility(el);
2137
2248
  this.initParentRemovalObserver();
2138
2249
  }
2139
2250
  }
@@ -2146,7 +2257,7 @@ const Modal = class {
2146
2257
  this.cleanupSafeAreaOverrides();
2147
2258
  // Clean up aria-hidden if removed without dismiss() being called
2148
2259
  if (this.presented) {
2149
- hardwareBackButton.cleanupRootFocusTrapAccessibility();
2260
+ overlays.cleanupRootFocusTrapAccessibility();
2150
2261
  }
2151
2262
  }
2152
2263
  componentWillLoad() {
@@ -2196,10 +2307,10 @@ const Modal = class {
2196
2307
  this.currentBreakpoint = this.initialBreakpoint;
2197
2308
  }
2198
2309
  if (breakpoints !== undefined && initialBreakpoint !== undefined && !breakpoints.includes(initialBreakpoint)) {
2199
- index$2.printIonWarning('[ion-modal] - Your breakpoints array must include the initialBreakpoint value.');
2310
+ index$3.printIonWarning('[ion-modal] - Your breakpoints array must include the initialBreakpoint value.');
2200
2311
  }
2201
2312
  if (!this.htmlAttributes?.id) {
2202
- hardwareBackButton.setOverlayId(this.el);
2313
+ overlays.setOverlayId(this.el);
2203
2314
  }
2204
2315
  }
2205
2316
  componentDidLoad() {
@@ -2296,7 +2407,7 @@ const Modal = class {
2296
2407
  * get the transition incorrect.
2297
2408
  */
2298
2409
  if (helpers.hasLazyBuild(el)) {
2299
- await index$3.deepReady(this.usersElement);
2410
+ await index$4.deepReady(this.usersElement);
2300
2411
  /**
2301
2412
  * If keepContentsMounted="true" then the
2302
2413
  * JS Framework has already mounted the inner
@@ -2307,9 +2418,9 @@ const Modal = class {
2307
2418
  */
2308
2419
  }
2309
2420
  else if (!this.keepContentsMounted) {
2310
- await index$3.waitForMount();
2421
+ await index$4.waitForMount();
2311
2422
  }
2312
- index$2.writeTask(() => this.el.classList.add('show-modal'));
2423
+ index$3.writeTask(() => this.el.classList.add('show-modal'));
2313
2424
  // Recalculate isSheetModal before safe-area setup because framework
2314
2425
  // bindings (e.g., Angular) may not have been applied when componentWillLoad ran.
2315
2426
  this.isSheetModal = this.breakpoints !== undefined && this.initialBreakpoint !== undefined;
@@ -2330,11 +2441,12 @@ const Modal = class {
2330
2441
  this.statusBarStyle = await StatusBar.getStyle();
2331
2442
  setCardStatusBarDark();
2332
2443
  }
2333
- await hardwareBackButton.present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, {
2444
+ await overlays.present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, ionicEnterAnimation, {
2334
2445
  presentingEl: presentingElement,
2335
2446
  currentBreakpoint: this.initialBreakpoint,
2336
2447
  backdropBreakpoint: this.backdropBreakpoint,
2337
2448
  expandToScroll: this.expandToScroll,
2449
+ staticBackdropOpacity: ionicGlobal.getIonTheme(this) === 'ionic',
2338
2450
  });
2339
2451
  }
2340
2452
  finally {
@@ -2395,14 +2507,14 @@ const Modal = class {
2395
2507
  // All of the elements needed for the swipe gesture
2396
2508
  // should be in the DOM and referenced by now, except
2397
2509
  // for the presenting el
2398
- const animationBuilder = this.leaveAnimation || index$2.config.get('modalLeave', iosLeaveAnimation);
2510
+ const animationBuilder = this.leaveAnimation || index$3.config.get('modalLeave', iosLeaveAnimation);
2399
2511
  const ani = (this.animation = animationBuilder(el, {
2400
2512
  presentingEl: this.presentingElement,
2401
2513
  expandToScroll: this.expandToScroll,
2402
2514
  }));
2403
- const contentEl = index.findIonContent(el);
2515
+ const contentEl = index$1.findIonContent(el);
2404
2516
  if (!contentEl) {
2405
- index.printIonContentErrorMsg(el);
2517
+ index$1.printIonContentErrorMsg(el);
2406
2518
  return;
2407
2519
  }
2408
2520
  const statusBarStyle = this.statusBarStyle ?? Style.Default;
@@ -2414,12 +2526,13 @@ const Modal = class {
2414
2526
  if (!wrapperEl || initialBreakpoint === undefined) {
2415
2527
  return;
2416
2528
  }
2417
- const animationBuilder = this.enterAnimation || index$2.config.get('modalEnter', iosEnterAnimation);
2529
+ const animationBuilder = this.enterAnimation || index$3.config.get('modalEnter', iosEnterAnimation);
2418
2530
  const ani = (this.animation = animationBuilder(this.el, {
2419
2531
  presentingEl: this.presentingElement,
2420
2532
  currentBreakpoint: initialBreakpoint,
2421
2533
  backdropBreakpoint,
2422
2534
  expandToScroll: this.expandToScroll,
2535
+ staticBackdropOpacity: ionicGlobal.getIonTheme(this) === 'ionic',
2423
2536
  }));
2424
2537
  ani.progressStart(true, 1);
2425
2538
  const { gesture, moveSheetToBreakpoint, resetContentScroll } = createSheetGesture(this.el, this.backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, ani, this.sortedBreakpoints, this.expandToScroll, () => this.currentBreakpoint ?? 0, () => this.sheetOnDismiss(), (breakpoint) => {
@@ -2427,7 +2540,7 @@ const Modal = class {
2427
2540
  this.currentBreakpoint = breakpoint;
2428
2541
  this.ionBreakpointDidChange.emit({ breakpoint });
2429
2542
  }
2430
- }, () => this.onDragStart(), (detail) => this.onDragMove(detail), (detail) => this.onDragEnd(detail));
2543
+ }, ionicGlobal.getIonTheme(this) === 'ionic', () => this.onDragStart(), (detail) => this.onDragMove(detail), (detail) => this.onDragEnd(detail));
2431
2544
  this.gesture = gesture;
2432
2545
  this.moveSheetToBreakpoint = moveSheetToBreakpoint;
2433
2546
  this.resetSheetContentScroll = resetContentScroll;
@@ -2517,7 +2630,7 @@ const Modal = class {
2517
2630
  this.animation.onFinish(async () => {
2518
2631
  this.currentBreakpoint = 0;
2519
2632
  this.ionBreakpointDidChange.emit({ breakpoint: this.currentBreakpoint });
2520
- await this.dismiss(undefined, hardwareBackButton.GESTURE);
2633
+ await this.dismiss(undefined, overlays.GESTURE);
2521
2634
  this.gestureAnimationDismissing = false;
2522
2635
  });
2523
2636
  }
@@ -2543,7 +2656,7 @@ const Modal = class {
2543
2656
  */
2544
2657
  setCardStatusBarDefault(this.statusBarStyle);
2545
2658
  this.animation.onFinish(async () => {
2546
- await this.dismiss(undefined, hardwareBackButton.GESTURE);
2659
+ await this.dismiss(undefined, overlays.GESTURE);
2547
2660
  this.gestureAnimationDismissing = false;
2548
2661
  });
2549
2662
  }
@@ -2558,7 +2671,7 @@ const Modal = class {
2558
2671
  * For example, `cancel` or `backdrop`.
2559
2672
  */
2560
2673
  async dismiss(data, role) {
2561
- if (this.gestureAnimationDismissing && role !== hardwareBackButton.GESTURE) {
2674
+ if (this.gestureAnimationDismissing && role !== overlays.GESTURE) {
2562
2675
  return false;
2563
2676
  }
2564
2677
  // Cancel any pending resize timeout to prevent stale updates during dismiss
@@ -2600,7 +2713,7 @@ const Modal = class {
2600
2713
  window.removeEventListener(keyboard.KEYBOARD_DID_OPEN, this.keyboardOpenCallback);
2601
2714
  this.keyboardOpenCallback = undefined;
2602
2715
  }
2603
- const dismissed = await hardwareBackButton.dismiss(this, data, role, 'modalLeave', iosLeaveAnimation, mdLeaveAnimation, {
2716
+ const dismissed = await overlays.dismiss(this, data, role, 'modalLeave', iosLeaveAnimation, mdLeaveAnimation, {
2604
2717
  presentingEl: presentingElement,
2605
2718
  currentBreakpoint: this.currentBreakpoint ?? this.initialBreakpoint,
2606
2719
  backdropBreakpoint: this.backdropBreakpoint,
@@ -2609,7 +2722,7 @@ const Modal = class {
2609
2722
  if (dismissed) {
2610
2723
  const { delegate } = this.getDelegate();
2611
2724
  await frameworkDelegate.detachComponent(delegate, this.usersElement);
2612
- index$2.writeTask(() => this.el.classList.remove('show-modal'));
2725
+ index$3.writeTask(() => this.el.classList.remove('show-modal'));
2613
2726
  if (this.animation) {
2614
2727
  this.animation.destroy();
2615
2728
  }
@@ -2637,13 +2750,13 @@ const Modal = class {
2637
2750
  * Returns a promise that resolves when the modal did dismiss.
2638
2751
  */
2639
2752
  onDidDismiss() {
2640
- return hardwareBackButton.eventMethod(this.el, 'ionModalDidDismiss');
2753
+ return overlays.eventMethod(this.el, 'ionModalDidDismiss');
2641
2754
  }
2642
2755
  /**
2643
2756
  * Returns a promise that resolves when the modal will dismiss.
2644
2757
  */
2645
2758
  onWillDismiss() {
2646
- return hardwareBackButton.eventMethod(this.el, 'ionModalWillDismiss');
2759
+ return overlays.eventMethod(this.el, 'ionModalWillDismiss');
2647
2760
  }
2648
2761
  /**
2649
2762
  * Move a sheet style modal to a specific breakpoint.
@@ -2653,11 +2766,11 @@ const Modal = class {
2653
2766
  */
2654
2767
  async setCurrentBreakpoint(breakpoint) {
2655
2768
  if (!this.isSheetModal) {
2656
- index$2.printIonWarning('[ion-modal] - setCurrentBreakpoint is only supported on sheet modals.');
2769
+ index$3.printIonWarning('[ion-modal] - setCurrentBreakpoint is only supported on sheet modals.');
2657
2770
  return;
2658
2771
  }
2659
2772
  if (!this.breakpoints.includes(breakpoint)) {
2660
- index$2.printIonWarning(`[ion-modal] - Attempted to set invalid breakpoint value ${breakpoint}. Please double check that the breakpoint value is part of your defined breakpoints.`);
2773
+ index$3.printIonWarning(`[ion-modal] - Attempted to set invalid breakpoint value ${breakpoint}. Please double check that the breakpoint value is part of your defined breakpoints.`);
2661
2774
  return;
2662
2775
  }
2663
2776
  const { currentBreakpoint, moveSheetToBreakpoint, canDismiss, breakpoints, animated } = this;
@@ -2702,6 +2815,18 @@ const Modal = class {
2702
2815
  await this.setCurrentBreakpoint(nextBreakpoint);
2703
2816
  return true;
2704
2817
  }
2818
+ getShape() {
2819
+ const theme = ionicGlobal.getIonTheme(this);
2820
+ const { shape } = this;
2821
+ // TODO(ROU-11167): Remove theme check when shapes are defined for all themes.
2822
+ if (theme !== 'ionic') {
2823
+ return undefined;
2824
+ }
2825
+ if (shape === undefined) {
2826
+ return 'round';
2827
+ }
2828
+ return shape;
2829
+ }
2705
2830
  initViewTransitionListener() {
2706
2831
  // Only enable for iOS card modals when no custom animations are provided
2707
2832
  if (ionicGlobal.getIonMode(this) !== 'ios' || !this.presentingElement || this.enterAnimation || this.leaveAnimation) {
@@ -3094,24 +3219,26 @@ const Modal = class {
3094
3219
  render() {
3095
3220
  const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
3096
3221
  const showHandle = handle !== false && isSheetModal;
3097
- const mode = ionicGlobal.getIonMode(this);
3098
- const isCardModal = presentingElement !== undefined && mode === 'ios';
3222
+ const theme$1 = ionicGlobal.getIonTheme(this);
3223
+ const isCardModal = presentingElement !== undefined && theme$1 === 'ios';
3099
3224
  const isHandleCycle = handleBehavior === 'cycle';
3225
+ const shape = this.getShape();
3100
3226
  const isSheetModalWithHandle = isSheetModal && showHandle;
3101
- return (index$2.h(index$2.Host, { key: '17a95bd7722bac2344bea041aff97db17f55c0cf', "no-router": true,
3227
+ return (index$3.h(index$3.Host, { key: 'd7d9e9f103fb1ac669da34819e6f460316cffa48', "no-router": true,
3102
3228
  // Allow the modal to be navigable when the handle is focusable
3103
3229
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1, ...htmlAttributes, style: {
3104
3230
  zIndex: `${20000 + this.overlayIndex}`,
3105
3231
  }, class: {
3106
- [mode]: true,
3232
+ [theme$1]: true,
3107
3233
  ['modal-default']: !isCardModal && !isSheetModal,
3108
3234
  [`modal-card`]: isCardModal,
3109
3235
  [`modal-sheet`]: isSheetModal,
3236
+ [`modal-${shape}`]: shape !== undefined,
3110
3237
  [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll,
3111
3238
  'overlay-hidden': true,
3112
- [hardwareBackButton.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false,
3239
+ [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false,
3113
3240
  ...theme.getClassMap(this.cssClass),
3114
- }, onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }, index$2.h("ion-backdrop", { key: '9dab1ef4771c0d847ba2be8672afbaa2748517f3', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && index$2.h("div", { key: '64af7ed1c5f552b61fc4b9387b926acc76c8a99a', class: "modal-shadow" }), index$2.h("div", { key: '7e76d77d5b2e8f0467bb793facf5aa86f8d01bbe',
3241
+ }, onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }, index$3.h("ion-backdrop", { key: '030d13dadaef45a24fd694478cf6583a637b9e9e', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), theme$1 === 'ios' && index$3.h("div", { key: '111f4df167615ee37f6db3f1000f6bd1a6b25fee', class: "modal-shadow" }), index$3.h("div", { key: '2720518be4e2701a5641f31e3f13336778f2fdbb',
3115
3242
  /*
3116
3243
  role and aria-modal must be used on the
3117
3244
  same element. They must also be set inside the
@@ -3124,11 +3251,11 @@ const Modal = class {
3124
3251
  without the tabindex focus() would be a no-op and screen readers
3125
3252
  may not properly announce the dialog and its content when it opens.
3126
3253
  */
3127
- role: "dialog", ...inheritedAttributes, "aria-modal": "true", tabIndex: -1, class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }, showHandle && (index$2.h("button", { key: '5efc0bb0a59adcc594ac48da9fd90e57908a7ffb', class: "modal-handle",
3254
+ role: "dialog", ...inheritedAttributes, "aria-modal": "true", tabIndex: -1, class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }, showHandle && (index$3.h("button", { key: '7b8d765349e94315383e15c59ae55bbf92b7834a', class: "modal-handle",
3128
3255
  // Prevents the handle from receiving keyboard focus when it does not cycle
3129
- tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), index$2.h("slot", { key: '6175fcd0b39c086b4e9eb9e96c4d631c2a86774b', onSlotchange: this.onSlotChange }))));
3256
+ tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", "data-focus-order": "1", ref: (el) => (this.dragHandleEl = el) })), index$3.h("slot", { key: 'fb952f2216991352c002b796933d3dbee1397051', onSlotchange: this.onSlotChange }))));
3130
3257
  }
3131
- get el() { return index$2.getElement(this); }
3258
+ get el() { return index$3.getElement(this); }
3132
3259
  static get watchers() { return {
3133
3260
  "isOpen": [{
3134
3261
  "onIsOpenChange": 0
@@ -3148,6 +3275,7 @@ const LIFECYCLE_MAP = {
3148
3275
  ionModalDidDismiss: 'ionViewDidLeave',
3149
3276
  };
3150
3277
  Modal.style = {
3278
+ ionic: modalIonicCss(),
3151
3279
  ios: modalIosCss(),
3152
3280
  md: modalMdCss()
3153
3281
  };