@ionic/core 8.4.6-dev.11741906766.14c01edc → 8.4.6

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 (462) hide show
  1. package/components/checkbox.js +6 -40
  2. package/components/index6.js +3 -11
  3. package/components/ion-input.js +9 -22
  4. package/components/ion-item-divider.js +2 -2
  5. package/components/ion-item-group.js +1 -1
  6. package/components/ion-item-option.js +2 -2
  7. package/components/ion-item-options.js +1 -1
  8. package/components/ion-item-sliding.js +1 -1
  9. package/components/ion-loading.js +2 -2
  10. package/components/ion-menu-button.js +2 -2
  11. package/components/ion-menu-toggle.js +2 -2
  12. package/components/ion-menu.js +2 -2
  13. package/components/ion-nav-link.js +1 -1
  14. package/components/ion-nav.js +1 -1
  15. package/components/ion-note.js +2 -2
  16. package/components/ion-picker-legacy.js +2 -2
  17. package/components/ion-progress-bar.js +1 -1
  18. package/components/ion-range.js +3 -3
  19. package/components/ion-refresher-content.js +1 -1
  20. package/components/ion-refresher.js +1 -1
  21. package/components/ion-reorder-group.js +1 -1
  22. package/components/ion-reorder.js +1 -1
  23. package/components/ion-router-link.js +2 -2
  24. package/components/ion-router-outlet.js +1 -1
  25. package/components/ion-row.js +1 -1
  26. package/components/ion-searchbar.js +4 -4
  27. package/components/ion-segment-button.js +2 -2
  28. package/components/ion-segment-content.js +1 -1
  29. package/components/ion-segment-view.js +2 -2
  30. package/components/ion-segment.js +2 -2
  31. package/components/ion-select-option.js +1 -1
  32. package/components/ion-select.js +6 -50
  33. package/components/ion-skeleton-text.js +2 -2
  34. package/components/ion-split-pane.js +2 -2
  35. package/components/ion-tab-bar.js +2 -2
  36. package/components/ion-tab-button.js +2 -2
  37. package/components/ion-tab.js +2 -2
  38. package/components/ion-tabs.js +1 -1
  39. package/components/ion-text.js +2 -2
  40. package/components/ion-textarea.js +8 -21
  41. package/components/ion-thumbnail.js +1 -1
  42. package/components/ion-toast.js +2 -2
  43. package/components/ion-toggle.js +6 -40
  44. package/components/label.js +2 -2
  45. package/components/list-header.js +2 -2
  46. package/components/modal.js +35 -267
  47. package/components/picker-column-option.js +2 -2
  48. package/components/picker-column2.js +2 -2
  49. package/components/popover.js +2 -2
  50. package/components/radio-group.js +2 -39
  51. package/components/radio.js +3 -3
  52. package/components/ripple-effect.js +1 -1
  53. package/components/select-modal.js +1 -1
  54. package/components/select-popover.js +1 -1
  55. package/components/spinner.js +1 -1
  56. package/components/title.js +2 -2
  57. package/components/toolbar.js +2 -2
  58. package/css/core.css.map +1 -1
  59. package/css/ionic.bundle.css.map +1 -1
  60. package/dist/cjs/{data-27cc2c9c.js → data-21dc0f81.js} +1 -1
  61. package/dist/cjs/{index-f68a486a.js → index-55a184f7.js} +3 -3
  62. package/dist/cjs/{index-48b2a28e.js → index-5915f9b3.js} +3 -11
  63. package/dist/cjs/{index-9b945a2d.js → index-77e085b4.js} +1 -1
  64. package/dist/cjs/{index-fd6383b6.js → index-864d95f4.js} +1 -1
  65. package/dist/cjs/index.cjs.js +6 -6
  66. package/dist/cjs/{input-shims-2d27a5be.js → input-shims-52924092.js} +2 -4
  67. package/dist/cjs/{input.utils-2f642324.js → input.utils-e4144534.js} +1 -1
  68. package/dist/cjs/ion-accordion_2.cjs.entry.js +1 -1
  69. package/dist/cjs/ion-action-sheet.cjs.entry.js +2 -2
  70. package/dist/cjs/ion-alert.cjs.entry.js +2 -2
  71. package/dist/cjs/ion-app_8.cjs.entry.js +10 -10
  72. package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
  73. package/dist/cjs/ion-button_2.cjs.entry.js +1 -1
  74. package/dist/cjs/ion-checkbox.cjs.entry.js +6 -37
  75. package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
  76. package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
  77. package/dist/cjs/ion-datetime_3.cjs.entry.js +7 -7
  78. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
  79. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +1 -1
  80. package/dist/cjs/ion-input.cjs.entry.js +9 -21
  81. package/dist/cjs/ion-item-option_3.cjs.entry.js +6 -6
  82. package/dist/cjs/ion-item_8.cjs.entry.js +11 -11
  83. package/dist/cjs/ion-loading.cjs.entry.js +4 -4
  84. package/dist/cjs/ion-menu_3.cjs.entry.js +9 -9
  85. package/dist/cjs/ion-modal.cjs.entry.js +39 -270
  86. package/dist/cjs/ion-nav_2.cjs.entry.js +4 -4
  87. package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
  88. package/dist/cjs/ion-popover.cjs.entry.js +5 -5
  89. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  90. package/dist/cjs/ion-radio_2.cjs.entry.js +4 -39
  91. package/dist/cjs/ion-range.cjs.entry.js +5 -5
  92. package/dist/cjs/ion-refresher_2.cjs.entry.js +4 -4
  93. package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
  94. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  95. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  96. package/dist/cjs/ion-searchbar.cjs.entry.js +4 -4
  97. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  98. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
  99. package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
  100. package/dist/cjs/ion-select-modal.cjs.entry.js +3 -3
  101. package/dist/cjs/ion-select_3.cjs.entry.js +10 -51
  102. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  103. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  104. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  105. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  106. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  107. package/dist/cjs/ion-textarea.cjs.entry.js +8 -20
  108. package/dist/cjs/ion-toast.cjs.entry.js +4 -4
  109. package/dist/cjs/ion-toggle.cjs.entry.js +6 -37
  110. package/dist/cjs/ionic.cjs.js +1 -1
  111. package/dist/cjs/{ios.transition-f970164c.js → ios.transition-abac30e4.js} +2 -2
  112. package/dist/cjs/loader.cjs.js +1 -1
  113. package/dist/cjs/{md.transition-aa8820dd.js → md.transition-e328f70d.js} +2 -2
  114. package/dist/cjs/{overlays-737576a2.js → overlays-2f264f05.js} +1 -1
  115. package/dist/cjs/{status-tap-08d1ac81.js → status-tap-191ccc90.js} +2 -3
  116. package/dist/collection/components/checkbox/checkbox.ios.css +15 -52
  117. package/dist/collection/components/checkbox/checkbox.js +4 -90
  118. package/dist/collection/components/checkbox/checkbox.md.css +15 -52
  119. package/dist/collection/components/input/input.ios.css +2 -3
  120. package/dist/collection/components/input/input.js +4 -18
  121. package/dist/collection/components/input/input.md.css +2 -7
  122. package/dist/collection/components/item-divider/item-divider.js +2 -2
  123. package/dist/collection/components/item-group/item-group.js +1 -1
  124. package/dist/collection/components/item-option/item-option.js +2 -2
  125. package/dist/collection/components/item-options/item-options.js +1 -1
  126. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  127. package/dist/collection/components/label/label.js +2 -2
  128. package/dist/collection/components/list-header/list-header.js +2 -2
  129. package/dist/collection/components/loading/loading.js +2 -2
  130. package/dist/collection/components/menu/menu.js +2 -2
  131. package/dist/collection/components/menu-button/menu-button.js +2 -2
  132. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  133. package/dist/collection/components/modal/animations/ios.enter.js +4 -50
  134. package/dist/collection/components/modal/animations/ios.leave.js +2 -24
  135. package/dist/collection/components/modal/animations/md.enter.js +5 -52
  136. package/dist/collection/components/modal/animations/md.leave.js +3 -26
  137. package/dist/collection/components/modal/animations/sheet.js +2 -11
  138. package/dist/collection/components/modal/gestures/sheet.js +10 -87
  139. package/dist/collection/components/modal/modal.ios.css +0 -16
  140. package/dist/collection/components/modal/modal.js +7 -32
  141. package/dist/collection/components/modal/modal.md.css +0 -6
  142. package/dist/collection/components/nav/nav.js +1 -1
  143. package/dist/collection/components/nav-link/nav-link.js +1 -1
  144. package/dist/collection/components/note/note.js +2 -2
  145. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
  146. package/dist/collection/components/picker-legacy/picker.js +2 -2
  147. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
  148. package/dist/collection/components/popover/popover.js +2 -2
  149. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  150. package/dist/collection/components/radio/radio.js +3 -3
  151. package/dist/collection/components/radio-group/radio-group.js +1 -72
  152. package/dist/collection/components/range/range.js +3 -3
  153. package/dist/collection/components/refresher/refresher.js +1 -1
  154. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  155. package/dist/collection/components/reorder/reorder.js +1 -1
  156. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  157. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  158. package/dist/collection/components/router-link/router-link.js +2 -2
  159. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  160. package/dist/collection/components/row/row.js +1 -1
  161. package/dist/collection/components/searchbar/searchbar.js +4 -4
  162. package/dist/collection/components/segment/segment.js +2 -2
  163. package/dist/collection/components/segment-button/segment-button.js +2 -2
  164. package/dist/collection/components/segment-content/segment-content.js +1 -1
  165. package/dist/collection/components/segment-view/segment-view.js +2 -2
  166. package/dist/collection/components/select/select.ios.css +0 -59
  167. package/dist/collection/components/select/select.js +4 -100
  168. package/dist/collection/components/select/select.md.css +0 -61
  169. package/dist/collection/components/select-modal/select-modal.js +1 -1
  170. package/dist/collection/components/select-option/select-option.js +1 -1
  171. package/dist/collection/components/select-popover/select-popover.js +1 -1
  172. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  173. package/dist/collection/components/spinner/spinner.js +1 -1
  174. package/dist/collection/components/split-pane/split-pane.js +2 -2
  175. package/dist/collection/components/tab/tab.js +2 -2
  176. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  177. package/dist/collection/components/tab-button/tab-button.js +2 -2
  178. package/dist/collection/components/tabs/tabs.js +1 -1
  179. package/dist/collection/components/text/text.js +2 -2
  180. package/dist/collection/components/textarea/textarea.ios.css +2 -3
  181. package/dist/collection/components/textarea/textarea.js +3 -17
  182. package/dist/collection/components/textarea/textarea.md.css +2 -7
  183. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  184. package/dist/collection/components/title/title.js +2 -2
  185. package/dist/collection/components/toast/toast.js +2 -2
  186. package/dist/collection/components/toggle/toggle.ios.css +15 -52
  187. package/dist/collection/components/toggle/toggle.js +4 -90
  188. package/dist/collection/components/toggle/toggle.md.css +15 -52
  189. package/dist/collection/components/toolbar/toolbar.js +2 -6
  190. package/dist/collection/utils/logging/index.js +3 -10
  191. package/dist/docs.json +2 -379
  192. package/dist/esm/{data-174ad5e0.js → data-ae11fd43.js} +1 -1
  193. package/dist/esm/{index-738d7504.js → index-9b0d46f4.js} +3 -11
  194. package/dist/esm/{index-a313df53.js → index-c4a831fd.js} +3 -3
  195. package/dist/esm/{index-933ca126.js → index-d4642b24.js} +1 -1
  196. package/dist/esm/{index-c63afbe6.js → index-df741ec6.js} +1 -1
  197. package/dist/esm/index.js +6 -6
  198. package/dist/esm/{input-shims-3070628a.js → input-shims-80c5b98e.js} +2 -4
  199. package/dist/esm/{input.utils-926c04a8.js → input.utils-3a4c0a2a.js} +1 -1
  200. package/dist/esm/ion-accordion_2.entry.js +1 -1
  201. package/dist/esm/ion-action-sheet.entry.js +2 -2
  202. package/dist/esm/ion-alert.entry.js +2 -2
  203. package/dist/esm/ion-app_8.entry.js +10 -10
  204. package/dist/esm/ion-avatar_3.entry.js +1 -1
  205. package/dist/esm/ion-button_2.entry.js +1 -1
  206. package/dist/esm/ion-checkbox.entry.js +6 -37
  207. package/dist/esm/ion-col_3.entry.js +1 -1
  208. package/dist/esm/ion-datetime-button.entry.js +2 -2
  209. package/dist/esm/ion-datetime_3.entry.js +7 -7
  210. package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
  211. package/dist/esm/ion-input-password-toggle.entry.js +1 -1
  212. package/dist/esm/ion-input.entry.js +10 -22
  213. package/dist/esm/ion-item-option_3.entry.js +6 -6
  214. package/dist/esm/ion-item_8.entry.js +11 -11
  215. package/dist/esm/ion-loading.entry.js +4 -4
  216. package/dist/esm/ion-menu_3.entry.js +9 -9
  217. package/dist/esm/ion-modal.entry.js +39 -270
  218. package/dist/esm/ion-nav_2.entry.js +4 -4
  219. package/dist/esm/ion-picker-column-option.entry.js +2 -2
  220. package/dist/esm/ion-popover.entry.js +5 -5
  221. package/dist/esm/ion-progress-bar.entry.js +1 -1
  222. package/dist/esm/ion-radio_2.entry.js +4 -39
  223. package/dist/esm/ion-range.entry.js +5 -5
  224. package/dist/esm/ion-refresher_2.entry.js +4 -4
  225. package/dist/esm/ion-reorder_2.entry.js +4 -4
  226. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  227. package/dist/esm/ion-route_4.entry.js +2 -2
  228. package/dist/esm/ion-searchbar.entry.js +4 -4
  229. package/dist/esm/ion-segment-content.entry.js +1 -1
  230. package/dist/esm/ion-segment-view.entry.js +2 -2
  231. package/dist/esm/ion-segment_2.entry.js +4 -4
  232. package/dist/esm/ion-select-modal.entry.js +3 -3
  233. package/dist/esm/ion-select_3.entry.js +10 -51
  234. package/dist/esm/ion-spinner.entry.js +1 -1
  235. package/dist/esm/ion-split-pane.entry.js +2 -2
  236. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  237. package/dist/esm/ion-tab_2.entry.js +3 -3
  238. package/dist/esm/ion-text.entry.js +2 -2
  239. package/dist/esm/ion-textarea.entry.js +9 -21
  240. package/dist/esm/ion-toast.entry.js +4 -4
  241. package/dist/esm/ion-toggle.entry.js +6 -37
  242. package/dist/esm/ionic.js +1 -1
  243. package/dist/esm/{ios.transition-5fe4d6c8.js → ios.transition-a81c9c6b.js} +2 -2
  244. package/dist/esm/loader.js +1 -1
  245. package/dist/esm/{md.transition-3d0d3730.js → md.transition-dbb51edc.js} +2 -2
  246. package/dist/esm/{overlays-7579a420.js → overlays-4ff1fca8.js} +1 -1
  247. package/dist/esm/{status-tap-6367b913.js → status-tap-73b183f4.js} +2 -3
  248. package/dist/esm-es5/{data-174ad5e0.js → data-ae11fd43.js} +1 -1
  249. package/dist/esm-es5/index-9b0d46f4.js +4 -0
  250. package/dist/esm-es5/{index-a313df53.js → index-c4a831fd.js} +1 -1
  251. package/dist/esm-es5/{index-933ca126.js → index-d4642b24.js} +1 -1
  252. package/dist/esm-es5/{index-c63afbe6.js → index-df741ec6.js} +1 -1
  253. package/dist/esm-es5/index.js +1 -1
  254. package/dist/esm-es5/input-shims-80c5b98e.js +4 -0
  255. package/dist/esm-es5/{input.utils-926c04a8.js → input.utils-3a4c0a2a.js} +1 -1
  256. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  257. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  258. package/dist/esm-es5/ion-alert.entry.js +1 -1
  259. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  260. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  261. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  262. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  263. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  264. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  265. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  266. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  267. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  268. package/dist/esm-es5/ion-input.entry.js +1 -1
  269. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  270. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  271. package/dist/esm-es5/ion-loading.entry.js +1 -1
  272. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  273. package/dist/esm-es5/ion-modal.entry.js +1 -1
  274. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  275. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  276. package/dist/esm-es5/ion-popover.entry.js +1 -1
  277. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  278. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  279. package/dist/esm-es5/ion-range.entry.js +1 -1
  280. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  281. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  282. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  283. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  284. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  285. package/dist/esm-es5/ion-segment-content.entry.js +1 -1
  286. package/dist/esm-es5/ion-segment-view.entry.js +1 -1
  287. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  288. package/dist/esm-es5/ion-select-modal.entry.js +1 -1
  289. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  290. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  291. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  292. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  293. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  294. package/dist/esm-es5/ion-text.entry.js +1 -1
  295. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  296. package/dist/esm-es5/ion-toast.entry.js +1 -1
  297. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  298. package/dist/esm-es5/ionic.js +1 -1
  299. package/dist/esm-es5/{ios.transition-5fe4d6c8.js → ios.transition-a81c9c6b.js} +1 -1
  300. package/dist/esm-es5/loader.js +1 -1
  301. package/dist/esm-es5/md.transition-dbb51edc.js +4 -0
  302. package/dist/esm-es5/{overlays-7579a420.js → overlays-4ff1fca8.js} +1 -1
  303. package/dist/esm-es5/status-tap-73b183f4.js +4 -0
  304. package/dist/html.html-data.json +0 -48
  305. package/dist/ionic/index.esm.js +1 -1
  306. package/dist/ionic/ionic.esm.js +1 -1
  307. package/dist/ionic/{p-77991411.system.js → p-00ab8b89.system.js} +2 -2
  308. package/dist/ionic/p-06fee233.js +4 -0
  309. package/dist/ionic/{p-4630688e.system.entry.js → p-0b860115.system.entry.js} +1 -1
  310. package/dist/ionic/{p-e5708e5d.system.entry.js → p-0eb49e5c.system.entry.js} +1 -1
  311. package/dist/ionic/{p-f94b2f2f.system.entry.js → p-11bbdab8.system.entry.js} +1 -1
  312. package/dist/ionic/p-1332050e.entry.js +4 -0
  313. package/dist/ionic/{p-7ff4f502.entry.js → p-16cd36e4.entry.js} +1 -1
  314. package/dist/ionic/p-19179876.js +4 -0
  315. package/dist/ionic/{p-491de063.system.entry.js → p-1a289aba.system.entry.js} +1 -1
  316. package/dist/ionic/{p-b6174297.entry.js → p-1cfb788a.entry.js} +1 -1
  317. package/dist/ionic/{p-0adb6909.system.entry.js → p-1ef02643.system.entry.js} +1 -1
  318. package/dist/ionic/p-1ffab75e.entry.js +4 -0
  319. package/dist/ionic/{p-37a438ad.system.entry.js → p-21d1c1c7.system.entry.js} +2 -2
  320. package/dist/ionic/{p-e7309bfa.js → p-27da8c2c.js} +1 -1
  321. package/dist/ionic/p-2d4658d4.system.entry.js +4 -0
  322. package/dist/ionic/{p-b9eb1465.system.entry.js → p-2f890012.system.entry.js} +1 -1
  323. package/dist/ionic/{p-3be7cdeb.system.entry.js → p-31d6b3d0.system.entry.js} +2 -2
  324. package/dist/ionic/{p-81378456.system.entry.js → p-3250466d.system.entry.js} +2 -2
  325. package/dist/ionic/{p-9b069739.entry.js → p-32d4ac00.entry.js} +1 -1
  326. package/dist/ionic/{p-eeee3990.system.entry.js → p-34b077b1.system.entry.js} +1 -1
  327. package/dist/ionic/{p-4d0190ad.system.entry.js → p-36079188.system.entry.js} +1 -1
  328. package/dist/ionic/{p-efa0f3f5.entry.js → p-360f5507.entry.js} +1 -1
  329. package/dist/ionic/{p-35f14792.entry.js → p-3705c194.entry.js} +1 -1
  330. package/dist/ionic/{p-e00b72ce.js → p-37e874f1.js} +1 -1
  331. package/dist/ionic/{p-838cc359.entry.js → p-39b5611c.entry.js} +1 -1
  332. package/dist/ionic/{p-ace2d2be.entry.js → p-3c66a690.entry.js} +1 -1
  333. package/dist/ionic/p-3e0bb0e1.entry.js +4 -0
  334. package/dist/ionic/p-3ef5e7fc.entry.js +4 -0
  335. package/dist/ionic/{p-9df36075.system.entry.js → p-3fc787a8.system.entry.js} +1 -1
  336. package/dist/ionic/{p-8fc426e2.entry.js → p-4979cd1d.entry.js} +1 -1
  337. package/dist/ionic/{p-ab7337e1.entry.js → p-4cfb0dc8.entry.js} +1 -1
  338. package/dist/ionic/{p-58c482af.entry.js → p-4e1b109b.entry.js} +1 -1
  339. package/dist/ionic/{p-8b1c1fd7.entry.js → p-5175f06a.entry.js} +1 -1
  340. package/dist/ionic/p-51fc2fac.system.entry.js +4 -0
  341. package/dist/ionic/{p-50f38461.entry.js → p-53d4d8c7.entry.js} +1 -1
  342. package/dist/ionic/p-5430a6da.entry.js +4 -0
  343. package/dist/ionic/{p-2ee9a2c6.entry.js → p-611d105b.entry.js} +1 -1
  344. package/dist/ionic/{p-e0c43e11.system.entry.js → p-6386ccd6.system.entry.js} +1 -1
  345. package/dist/ionic/{p-8deac7df.system.entry.js → p-6390c6ab.system.entry.js} +1 -1
  346. package/dist/ionic/p-64279526.js +4 -0
  347. package/dist/ionic/p-64da0521.system.js +4 -0
  348. package/dist/ionic/{p-def7a8bd.system.entry.js → p-684c6a80.system.entry.js} +1 -1
  349. package/dist/ionic/p-6aa6839e.entry.js +4 -0
  350. package/dist/ionic/p-6cb61a35.entry.js +4 -0
  351. package/dist/ionic/{p-e0a05506.js → p-7737b8fa.js} +1 -1
  352. package/dist/ionic/{p-3479f51b.system.js → p-782ed885.system.js} +1 -1
  353. package/dist/ionic/{p-b2296998.system.entry.js → p-7d425376.system.entry.js} +1 -1
  354. package/dist/ionic/{p-0bedc891.system.entry.js → p-811ff2a0.system.entry.js} +1 -1
  355. package/dist/ionic/{p-c25c0ba4.entry.js → p-847fd113.entry.js} +1 -1
  356. package/dist/ionic/{p-9e51f822.js → p-85446175.js} +1 -1
  357. package/dist/ionic/{p-42f6e75c.entry.js → p-85f19de9.entry.js} +1 -1
  358. package/dist/ionic/{p-a587b2ae.system.js → p-89204f3f.system.js} +1 -1
  359. package/dist/ionic/{p-e4683bfd.system.entry.js → p-8b378b48.system.entry.js} +1 -1
  360. package/dist/ionic/{p-c6a20407.system.entry.js → p-8cfaf64f.system.entry.js} +1 -1
  361. package/dist/ionic/p-8d611ccd.entry.js +4 -0
  362. package/dist/ionic/{p-4c94580e.js → p-8db97fa1.js} +1 -1
  363. package/dist/ionic/{p-3bd5fedc.system.js → p-8dbe745b.system.js} +1 -1
  364. package/dist/ionic/{p-72e6a9c6.entry.js → p-9023f5eb.entry.js} +1 -1
  365. package/dist/ionic/p-9048389e.entry.js +4 -0
  366. package/dist/ionic/{p-51c363e7.system.js → p-91fe21bb.system.js} +1 -1
  367. package/dist/ionic/{p-c8331397.system.entry.js → p-96f7bb84.system.entry.js} +1 -1
  368. package/dist/ionic/{p-c8bf9ba7.entry.js → p-9e7a9a27.entry.js} +1 -1
  369. package/dist/ionic/p-a300835e.system.entry.js +4 -0
  370. package/dist/ionic/p-a6042939.entry.js +4 -0
  371. package/dist/ionic/p-a6f13a4e.system.entry.js +4 -0
  372. package/dist/ionic/{p-e5c27d9f.system.entry.js → p-a8584808.system.entry.js} +1 -1
  373. package/dist/ionic/{p-472c7e08.system.entry.js → p-a8cc566d.system.entry.js} +1 -1
  374. package/dist/ionic/{p-0be8a0b5.entry.js → p-a9b9259c.entry.js} +1 -1
  375. package/dist/ionic/p-aae8187b.system.entry.js +4 -0
  376. package/dist/ionic/{p-060e4551.js → p-ad780230.js} +1 -1
  377. package/dist/ionic/{p-24ae7b33.system.js → p-adbbf974.system.js} +1 -1
  378. package/dist/ionic/p-ae518f0b.system.entry.js +4 -0
  379. package/dist/ionic/{p-d7032956.system.js → p-af873227.system.js} +1 -1
  380. package/dist/ionic/{p-b9f2e353.entry.js → p-afcd55c6.entry.js} +1 -1
  381. package/dist/ionic/{p-19c32a76.entry.js → p-afd7a6a9.entry.js} +1 -1
  382. package/dist/ionic/{p-ada878ce.entry.js → p-b7ed7f16.entry.js} +1 -1
  383. package/dist/ionic/{p-8fa4fa3f.entry.js → p-b88c5ce4.entry.js} +1 -1
  384. package/dist/ionic/{p-21371278.system.entry.js → p-b8e3b3ca.system.entry.js} +1 -1
  385. package/dist/ionic/p-bf64af90.system.js +1 -1
  386. package/dist/ionic/{p-524ad57e.system.entry.js → p-bf7f7084.system.entry.js} +2 -2
  387. package/dist/ionic/{p-4470f87b.system.entry.js → p-bf973e4b.system.entry.js} +2 -2
  388. package/dist/ionic/{p-ff4a1ba0.system.entry.js → p-c5abee89.system.entry.js} +1 -1
  389. package/dist/ionic/{p-f6bb9be7.system.entry.js → p-c8c27ae7.system.entry.js} +1 -1
  390. package/dist/ionic/p-cbd5b96a.entry.js +4 -0
  391. package/dist/ionic/p-ccbb47f5.entry.js +4 -0
  392. package/dist/ionic/{p-3af7b907.entry.js → p-cd239b25.entry.js} +1 -1
  393. package/dist/ionic/{p-daf1e8ec.system.entry.js → p-d4308e05.system.entry.js} +1 -1
  394. package/dist/ionic/{p-f7ce606e.js → p-d60342e3.js} +1 -1
  395. package/dist/ionic/{p-b2ee0628.system.entry.js → p-da5ae6cf.system.entry.js} +1 -1
  396. package/dist/ionic/{p-1d2844a5.system.entry.js → p-dbac4f3e.system.entry.js} +1 -1
  397. package/dist/ionic/{p-1f837356.entry.js → p-dc8cbb8b.entry.js} +1 -1
  398. package/dist/ionic/{p-1a9613bf.system.entry.js → p-dd141012.system.entry.js} +1 -1
  399. package/dist/ionic/{p-eec4b772.entry.js → p-ded39921.entry.js} +1 -1
  400. package/dist/ionic/{p-888d383b.system.entry.js → p-df4c00a4.system.entry.js} +1 -1
  401. package/dist/ionic/{p-13886789.entry.js → p-df61d353.entry.js} +1 -1
  402. package/dist/ionic/p-e394222f.entry.js +4 -0
  403. package/dist/ionic/p-ea925d34.system.entry.js +4 -0
  404. package/dist/ionic/{p-4c44d04c.js → p-ec631b0f.js} +1 -1
  405. package/dist/ionic/{p-8fa62efe.system.entry.js → p-f1ad06bd.system.entry.js} +1 -1
  406. package/dist/ionic/{p-747f9517.entry.js → p-f1b20f28.entry.js} +1 -1
  407. package/dist/ionic/{p-b055d618.entry.js → p-f1be5454.entry.js} +1 -1
  408. package/dist/ionic/{p-042d5353.system.js → p-f30071a2.system.js} +1 -1
  409. package/dist/ionic/{p-5eb6f582.system.js → p-f59611e2.system.js} +1 -1
  410. package/dist/ionic/{p-1bf5ec17.system.js → p-f687573e.system.js} +1 -1
  411. package/dist/ionic/{p-e0c0218f.system.entry.js → p-f97efff5.system.entry.js} +1 -1
  412. package/dist/ionic/{p-ac58d726.system.entry.js → p-f9e7de97.system.entry.js} +1 -1
  413. package/dist/ionic/{p-a520973b.entry.js → p-fd0f8d68.entry.js} +1 -1
  414. package/dist/ionic/p-ff4b7e40.system.js +4 -0
  415. package/dist/types/components/checkbox/checkbox.d.ts +0 -25
  416. package/dist/types/components/input/input.d.ts +0 -8
  417. package/dist/types/components/modal/animations/sheet.d.ts +0 -1
  418. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  419. package/dist/types/components/modal/modal-interface.d.ts +0 -1
  420. package/dist/types/components/modal/modal.d.ts +0 -14
  421. package/dist/types/components/radio-group/radio-group.d.ts +0 -15
  422. package/dist/types/components/select/select.d.ts +0 -29
  423. package/dist/types/components/textarea/textarea.d.ts +0 -8
  424. package/dist/types/components/toggle/toggle.d.ts +0 -25
  425. package/dist/types/components/toolbar/toolbar.d.ts +0 -4
  426. package/dist/types/components.d.ts +0 -96
  427. package/dist/types/utils/config.d.ts +0 -9
  428. package/dist/types/utils/logging/index.d.ts +1 -13
  429. package/hydrate/index.js +153 -575
  430. package/hydrate/index.mjs +153 -575
  431. package/package.json +2 -2
  432. package/dist/collection/components/radio-group/radio-group.ios.css +0 -205
  433. package/dist/collection/components/radio-group/radio-group.md.css +0 -205
  434. package/dist/esm-es5/index-738d7504.js +0 -4
  435. package/dist/esm-es5/input-shims-3070628a.js +0 -4
  436. package/dist/esm-es5/md.transition-3d0d3730.js +0 -4
  437. package/dist/esm-es5/status-tap-6367b913.js +0 -4
  438. package/dist/ionic/p-094c82d7.entry.js +0 -4
  439. package/dist/ionic/p-0ec5b7cf.system.js +0 -4
  440. package/dist/ionic/p-143ff664.system.entry.js +0 -4
  441. package/dist/ionic/p-18f9b6d5.entry.js +0 -4
  442. package/dist/ionic/p-2027221d.js +0 -4
  443. package/dist/ionic/p-29a5b4e4.entry.js +0 -4
  444. package/dist/ionic/p-2fa5a4b1.entry.js +0 -4
  445. package/dist/ionic/p-3f4327f7.js +0 -4
  446. package/dist/ionic/p-4493c1ac.entry.js +0 -4
  447. package/dist/ionic/p-54893ae3.entry.js +0 -4
  448. package/dist/ionic/p-54e9620f.js +0 -4
  449. package/dist/ionic/p-606887b7.system.entry.js +0 -4
  450. package/dist/ionic/p-6797c66e.system.js +0 -4
  451. package/dist/ionic/p-81474833.system.entry.js +0 -4
  452. package/dist/ionic/p-959cf042.system.entry.js +0 -4
  453. package/dist/ionic/p-a9f2c0a7.entry.js +0 -4
  454. package/dist/ionic/p-b8c2dbcd.entry.js +0 -4
  455. package/dist/ionic/p-bbc6db8c.entry.js +0 -4
  456. package/dist/ionic/p-bc3e5577.system.entry.js +0 -4
  457. package/dist/ionic/p-c258efb9.entry.js +0 -4
  458. package/dist/ionic/p-c5b5f44a.entry.js +0 -4
  459. package/dist/ionic/p-d8c9d5ac.system.entry.js +0 -4
  460. package/dist/ionic/p-e5cf01f1.entry.js +0 -4
  461. package/dist/ionic/p-ed768b77.entry.js +0 -4
  462. package/dist/ionic/p-f02e9382.system.entry.js +0 -4
@@ -6,15 +6,15 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index$3 = require('./index-2e236a04.js');
9
- const index$2 = require('./index-9b945a2d.js');
9
+ const index$2 = require('./index-77e085b4.js');
10
10
  const frameworkDelegate = require('./framework-delegate-11b0ba2f.js');
11
11
  const helpers = require('./helpers-d0dfbb50.js');
12
12
  const lockController = require('./lock-controller-6585a42a.js');
13
- const index$4 = require('./index-48b2a28e.js');
13
+ const index$4 = require('./index-5915f9b3.js');
14
14
  const capacitor = require('./capacitor-c04564bf.js');
15
- const overlays = require('./overlays-737576a2.js');
15
+ const overlays = require('./overlays-2f264f05.js');
16
16
  const theme = require('./theme-d1c573d2.js');
17
- const index$5 = require('./index-f68a486a.js');
17
+ const index$5 = require('./index-55a184f7.js');
18
18
  const ionicGlobal = require('./ionic-global-acb665ad.js');
19
19
  const keyboard = require('./keyboard-af1bb365.js');
20
20
  const animation = require('./animation-b4fdf128.js');
@@ -506,7 +506,7 @@ const computeDuration = (remaining, velocity) => {
506
506
  };
507
507
 
508
508
  const createSheetEnterAnimation = (opts) => {
509
- const { currentBreakpoint, backdropBreakpoint, expandToScroll } = opts;
509
+ const { currentBreakpoint, backdropBreakpoint } = opts;
510
510
  /**
511
511
  * If the backdropBreakpoint is undefined, then the backdrop
512
512
  * should always fade in. If the backdropBreakpoint came before the
@@ -526,16 +526,7 @@ const createSheetEnterAnimation = (opts) => {
526
526
  { offset: 0, opacity: 1, transform: 'translateY(100%)' },
527
527
  { offset: 1, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
528
528
  ]);
529
- /**
530
- * This allows the content to be scrollable at any breakpoint.
531
- */
532
- const contentAnimation = !expandToScroll
533
- ? animation.createAnimation('contentAnimation').keyframes([
534
- { offset: 0, opacity: 1, maxHeight: `${(1 - currentBreakpoint) * 100}%` },
535
- { offset: 1, opacity: 1, maxHeight: `${currentBreakpoint * 100}%` },
536
- ])
537
- : undefined;
538
- return { wrapperAnimation, backdropAnimation, contentAnimation };
529
+ return { wrapperAnimation, backdropAnimation };
539
530
  };
540
531
  const createSheetLeaveAnimation = (opts) => {
541
532
  const { currentBreakpoint, backdropBreakpoint } = opts;
@@ -570,68 +561,22 @@ const createEnterAnimation$1 = () => {
570
561
  })
571
562
  .afterClearStyles(['pointer-events']);
572
563
  const wrapperAnimation = animation.createAnimation().fromTo('transform', 'translateY(100vh)', 'translateY(0vh)');
573
- return { backdropAnimation, wrapperAnimation, contentAnimation: undefined };
564
+ return { backdropAnimation, wrapperAnimation };
574
565
  };
575
566
  /**
576
567
  * iOS Modal Enter Animation for the Card presentation style
577
568
  */
578
569
  const iosEnterAnimation = (baseEl, opts) => {
579
- const { presentingEl, currentBreakpoint, expandToScroll } = opts;
570
+ const { presentingEl, currentBreakpoint } = opts;
580
571
  const root = helpers.getElementRoot(baseEl);
581
- const { wrapperAnimation, backdropAnimation, contentAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation$1();
572
+ const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation$1();
582
573
  backdropAnimation.addElement(root.querySelector('ion-backdrop'));
583
574
  wrapperAnimation.addElement(root.querySelectorAll('.modal-wrapper, .modal-shadow')).beforeStyles({ opacity: 1 });
584
- // The content animation is only added if scrolling is enabled for
585
- // all the breakpoints.
586
- !expandToScroll && (contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.addElement(baseEl.querySelector('.ion-page')));
587
575
  const baseAnimation = animation.createAnimation('entering-base')
588
576
  .addElement(baseEl)
589
577
  .easing('cubic-bezier(0.32,0.72,0,1)')
590
578
  .duration(500)
591
- .addAnimation([wrapperAnimation])
592
- .beforeAddWrite(() => {
593
- if (expandToScroll) {
594
- // Scroll can only be done when the modal is fully expanded.
595
- return;
596
- }
597
- /**
598
- * There are some browsers that causes flickering when
599
- * dragging the content when scroll is enabled at every
600
- * breakpoint. This is due to the wrapper element being
601
- * transformed off the screen and having a snap animation.
602
- *
603
- * A workaround is to clone the footer element and append
604
- * it outside of the wrapper element. This way, the footer
605
- * is still visible and the drag can be done without
606
- * flickering. The original footer is hidden until the modal
607
- * is dismissed. This maintains the animation of the footer
608
- * when the modal is dismissed.
609
- *
610
- * The workaround needs to be done before the animation starts
611
- * so there are no flickering issues.
612
- */
613
- const ionFooter = baseEl.querySelector('ion-footer');
614
- /**
615
- * This check is needed to prevent more than one footer
616
- * from being appended to the shadow root.
617
- * Otherwise, iOS and MD enter animations would append
618
- * the footer twice.
619
- */
620
- const ionFooterAlreadyAppended = baseEl.shadowRoot.querySelector('ion-footer');
621
- if (ionFooter && !ionFooterAlreadyAppended) {
622
- const footerHeight = ionFooter.clientHeight;
623
- const clonedFooter = ionFooter.cloneNode(true);
624
- baseEl.shadowRoot.appendChild(clonedFooter);
625
- ionFooter.style.setProperty('display', 'none');
626
- ionFooter.setAttribute('aria-hidden', 'true');
627
- // Padding is added to prevent some content from being hidden.
628
- const page = baseEl.querySelector('.ion-page');
629
- page.style.setProperty('padding-bottom', `${footerHeight}px`);
630
- }
631
- });
632
- if (contentAnimation) {
633
- baseAnimation.addAnimation(contentAnimation);
634
- }
579
+ .addAnimation(wrapperAnimation);
635
580
  if (presentingEl) {
636
581
  const isMobile = window.innerWidth < 768;
637
582
  const hasCardModal = presentingEl.tagName === 'ION-MODAL' && presentingEl.presentingElement !== undefined;
@@ -709,7 +654,7 @@ const createLeaveAnimation$1 = () => {
709
654
  * iOS Modal Leave Animation
710
655
  */
711
656
  const iosLeaveAnimation = (baseEl, opts, duration = 500) => {
712
- const { presentingEl, currentBreakpoint, expandToScroll } = opts;
657
+ const { presentingEl, currentBreakpoint } = opts;
713
658
  const root = helpers.getElementRoot(baseEl);
714
659
  const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetLeaveAnimation(opts) : createLeaveAnimation$1();
715
660
  backdropAnimation.addElement(root.querySelector('ion-backdrop'));
@@ -718,29 +663,7 @@ const iosLeaveAnimation = (baseEl, opts, duration = 500) => {
718
663
  .addElement(baseEl)
719
664
  .easing('cubic-bezier(0.32,0.72,0,1)')
720
665
  .duration(duration)
721
- .addAnimation(wrapperAnimation)
722
- .beforeAddWrite(() => {
723
- if (expandToScroll) {
724
- // Scroll can only be done when the modal is fully expanded.
725
- return;
726
- }
727
- /**
728
- * If expandToScroll is disabled, we need to swap
729
- * the visibility to the original, so the footer
730
- * dismisses with the modal and doesn't stay
731
- * until the modal is removed from the DOM.
732
- */
733
- const ionFooter = baseEl.querySelector('ion-footer');
734
- if (ionFooter) {
735
- const clonedFooter = baseEl.shadowRoot.querySelector('ion-footer');
736
- ionFooter.style.removeProperty('display');
737
- ionFooter.removeAttribute('aria-hidden');
738
- clonedFooter.style.setProperty('display', 'none');
739
- clonedFooter.setAttribute('aria-hidden', 'true');
740
- const page = baseEl.querySelector('.ion-page');
741
- page.style.removeProperty('padding-bottom');
742
- }
743
- });
666
+ .addAnimation(wrapperAnimation);
744
667
  if (presentingEl) {
745
668
  const isMobile = window.innerWidth < 768;
746
669
  const hasCardModal = presentingEl.tagName === 'ION-MODAL' && presentingEl.presentingElement !== undefined;
@@ -818,69 +741,22 @@ const createEnterAnimation = () => {
818
741
  { offset: 0, opacity: 0.01, transform: 'translateY(40px)' },
819
742
  { offset: 1, opacity: 1, transform: `translateY(0px)` },
820
743
  ]);
821
- return { backdropAnimation, wrapperAnimation, contentAnimation: undefined };
744
+ return { backdropAnimation, wrapperAnimation };
822
745
  };
823
746
  /**
824
747
  * Md Modal Enter Animation
825
748
  */
826
749
  const mdEnterAnimation = (baseEl, opts) => {
827
- const { currentBreakpoint, expandToScroll } = opts;
750
+ const { currentBreakpoint } = opts;
828
751
  const root = helpers.getElementRoot(baseEl);
829
- const { wrapperAnimation, backdropAnimation, contentAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation();
752
+ const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation();
830
753
  backdropAnimation.addElement(root.querySelector('ion-backdrop'));
831
754
  wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
832
- // The content animation is only added if scrolling is enabled for
833
- // all the breakpoints.
834
- expandToScroll && (contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.addElement(baseEl.querySelector('.ion-page')));
835
- const baseAnimation = animation.createAnimation()
755
+ return animation.createAnimation()
836
756
  .addElement(baseEl)
837
757
  .easing('cubic-bezier(0.36,0.66,0.04,1)')
838
758
  .duration(280)
839
- .addAnimation([backdropAnimation, wrapperAnimation])
840
- .beforeAddWrite(() => {
841
- if (expandToScroll) {
842
- // Scroll can only be done when the modal is fully expanded.
843
- return;
844
- }
845
- /**
846
- * There are some browsers that causes flickering when
847
- * dragging the content when scroll is enabled at every
848
- * breakpoint. This is due to the wrapper element being
849
- * transformed off the screen and having a snap animation.
850
- *
851
- * A workaround is to clone the footer element and append
852
- * it outside of the wrapper element. This way, the footer
853
- * is still visible and the drag can be done without
854
- * flickering. The original footer is hidden until the modal
855
- * is dismissed. This maintains the animation of the footer
856
- * when the modal is dismissed.
857
- *
858
- * The workaround needs to be done before the animation starts
859
- * so there are no flickering issues.
860
- */
861
- const ionFooter = baseEl.querySelector('ion-footer');
862
- /**
863
- * This check is needed to prevent more than one footer
864
- * from being appended to the shadow root.
865
- * Otherwise, iOS and MD enter animations would append
866
- * the footer twice.
867
- */
868
- const ionFooterAlreadyAppended = baseEl.shadowRoot.querySelector('ion-footer');
869
- if (ionFooter && !ionFooterAlreadyAppended) {
870
- const footerHeight = ionFooter.clientHeight;
871
- const clonedFooter = ionFooter.cloneNode(true);
872
- baseEl.shadowRoot.appendChild(clonedFooter);
873
- ionFooter.style.setProperty('display', 'none');
874
- ionFooter.setAttribute('aria-hidden', 'true');
875
- // Padding is added to prevent some content from being hidden.
876
- const page = baseEl.querySelector('.ion-page');
877
- page.style.setProperty('padding-bottom', `${footerHeight}px`);
878
- }
879
- });
880
- if (contentAnimation) {
881
- baseAnimation.addAnimation(contentAnimation);
882
- }
883
- return baseAnimation;
759
+ .addAnimation([backdropAnimation, wrapperAnimation]);
884
760
  };
885
761
 
886
762
  const createLeaveAnimation = () => {
@@ -895,41 +771,18 @@ const createLeaveAnimation = () => {
895
771
  * Md Modal Leave Animation
896
772
  */
897
773
  const mdLeaveAnimation = (baseEl, opts) => {
898
- const { currentBreakpoint, expandToScroll } = opts;
774
+ const { currentBreakpoint } = opts;
899
775
  const root = helpers.getElementRoot(baseEl);
900
776
  const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetLeaveAnimation(opts) : createLeaveAnimation();
901
777
  backdropAnimation.addElement(root.querySelector('ion-backdrop'));
902
778
  wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
903
- const baseAnimation = animation.createAnimation()
779
+ return animation.createAnimation()
904
780
  .easing('cubic-bezier(0.47,0,0.745,0.715)')
905
781
  .duration(200)
906
- .addAnimation([backdropAnimation, wrapperAnimation])
907
- .beforeAddWrite(() => {
908
- if (expandToScroll) {
909
- // Scroll can only be done when the modal is fully expanded.
910
- return;
911
- }
912
- /**
913
- * If expandToScroll is disabled, we need to swap
914
- * the visibility to the original, so the footer
915
- * dismisses with the modal and doesn't stay
916
- * until the modal is removed from the DOM.
917
- */
918
- const ionFooter = baseEl.querySelector('ion-footer');
919
- if (ionFooter) {
920
- const clonedFooter = baseEl.shadowRoot.querySelector('ion-footer');
921
- ionFooter.style.removeProperty('display');
922
- ionFooter.removeAttribute('aria-hidden');
923
- clonedFooter.style.setProperty('display', 'none');
924
- clonedFooter.setAttribute('aria-hidden', 'true');
925
- const page = baseEl.querySelector('.ion-page');
926
- page.style.removeProperty('padding-bottom');
927
- }
928
- });
929
- return baseAnimation;
782
+ .addAnimation([backdropAnimation, wrapperAnimation]);
930
783
  };
931
784
 
932
- const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange) => {
785
+ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], getCurrentBreakpoint, onDismiss, onBreakpointChange) => {
933
786
  // Defaults for the sheet swipe animation
934
787
  const defaultBackdrop = [
935
788
  { offset: 0, opacity: 'var(--backdrop-opacity)' },
@@ -946,10 +799,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
946
799
  { offset: 1, transform: 'translateY(100%)' },
947
800
  ],
948
801
  BACKDROP_KEYFRAMES: backdropBreakpoint !== 0 ? customBackdrop : defaultBackdrop,
949
- CONTENT_KEYFRAMES: [
950
- { offset: 0, maxHeight: '100%' },
951
- { offset: 1, maxHeight: '0%' },
952
- ],
953
802
  };
954
803
  const contentEl = baseEl.querySelector('ion-content');
955
804
  const height = wrapperEl.clientHeight;
@@ -957,11 +806,10 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
957
806
  let offset = 0;
958
807
  let canDismissBlocksGesture = false;
959
808
  const canDismissMaxStep = 0.95;
960
- const maxBreakpoint = breakpoints[breakpoints.length - 1];
961
- const minBreakpoint = breakpoints[0];
962
809
  const wrapperAnimation = animation.childAnimations.find((ani) => ani.id === 'wrapperAnimation');
963
810
  const backdropAnimation = animation.childAnimations.find((ani) => ani.id === 'backdropAnimation');
964
- const contentAnimation = animation.childAnimations.find((ani) => ani.id === 'contentAnimation');
811
+ const maxBreakpoint = breakpoints[breakpoints.length - 1];
812
+ const minBreakpoint = breakpoints[0];
965
813
  const enableBackdrop = () => {
966
814
  baseEl.style.setProperty('pointer-events', 'auto');
967
815
  backdropEl.style.setProperty('pointer-events', 'auto');
@@ -984,31 +832,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
984
832
  */
985
833
  baseEl.classList.add(overlays.FOCUS_TRAP_DISABLE_CLASS);
986
834
  };
987
- /**
988
- * Toggles the visible modal footer when `expandToScroll` is disabled.
989
- * @param footer The footer to show.
990
- */
991
- const swapFooterVisibility = (footer) => {
992
- const originalFooter = baseEl.querySelector('ion-footer');
993
- if (!originalFooter) {
994
- return;
995
- }
996
- const clonedFooter = wrapperEl.nextElementSibling;
997
- const footerToHide = footer === 'original' ? clonedFooter : originalFooter;
998
- const footerToShow = footer === 'original' ? originalFooter : clonedFooter;
999
- footerToShow.style.removeProperty('display');
1000
- footerToShow.removeAttribute('aria-hidden');
1001
- const page = baseEl.querySelector('.ion-page');
1002
- if (footer === 'original') {
1003
- page.style.removeProperty('padding-bottom');
1004
- }
1005
- else {
1006
- const pagePadding = footerToShow.clientHeight;
1007
- page.style.setProperty('padding-bottom', `${pagePadding}px`);
1008
- }
1009
- footerToHide.style.setProperty('display', 'none');
1010
- footerToHide.setAttribute('aria-hidden', 'true');
1011
- };
1012
835
  /**
1013
836
  * After the entering animation completes,
1014
837
  * we need to set the animation to go from
@@ -1020,7 +843,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1020
843
  if (wrapperAnimation && backdropAnimation) {
1021
844
  wrapperAnimation.keyframes([...SheetDefaults.WRAPPER_KEYFRAMES]);
1022
845
  backdropAnimation.keyframes([...SheetDefaults.BACKDROP_KEYFRAMES]);
1023
- contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.keyframes([...SheetDefaults.CONTENT_KEYFRAMES]);
1024
846
  animation.progressStart(true, 1 - currentBreakpoint);
1025
847
  /**
1026
848
  * If backdrop is not enabled, then content
@@ -1037,7 +859,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1037
859
  disableBackdrop();
1038
860
  }
1039
861
  }
1040
- if (contentEl && currentBreakpoint !== maxBreakpoint && expandToScroll) {
862
+ if (contentEl && currentBreakpoint !== maxBreakpoint) {
1041
863
  contentEl.scrollY = false;
1042
864
  }
1043
865
  const canStart = (detail) => {
@@ -1051,14 +873,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1051
873
  */
1052
874
  const contentEl = index$2.findClosestIonContent(detail.event.target);
1053
875
  currentBreakpoint = getCurrentBreakpoint();
1054
- /**
1055
- * If `expandToScroll` is disabled, we should not allow the swipe gesture
1056
- * to start if the content is not scrolled to the top.
1057
- */
1058
- if (!expandToScroll && contentEl) {
1059
- const scrollEl = index$2.isIonContent(contentEl) ? helpers.getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
1060
- return scrollEl.scrollTop === 0;
1061
- }
1062
876
  if (currentBreakpoint === 1 && contentEl) {
1063
877
  /**
1064
878
  * The modal should never swipe to close on the content with a refresher.
@@ -1089,15 +903,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1089
903
  * Remove undefined check
1090
904
  */
1091
905
  canDismissBlocksGesture = baseEl.canDismiss !== undefined && baseEl.canDismiss !== true && minBreakpoint === 0;
1092
- /**
1093
- * If expandToScroll is disabled, we need to swap
1094
- * the footer visibility to the original, so if the modal
1095
- * is dismissed, the footer dismisses with the modal
1096
- * and doesn't stay on the screen after the modal is gone.
1097
- */
1098
- if (!expandToScroll) {
1099
- swapFooterVisibility('original');
1100
- }
1101
906
  /**
1102
907
  * If we are pulling down, then it is possible we are pulling on the content.
1103
908
  * We do not want scrolling to happen at the same time as the gesture.
@@ -1115,13 +920,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1115
920
  animation.progressStart(true, 1 - currentBreakpoint);
1116
921
  };
1117
922
  const onMove = (detail) => {
1118
- /**
1119
- * If `expandToScroll` is disabled, we should not allow the swipe gesture
1120
- * to continue if the gesture is not pulling down.
1121
- */
1122
- if (!expandToScroll && detail.deltaY <= 0) {
1123
- return;
1124
- }
1125
923
  /**
1126
924
  * If we are pulling down, then it is possible we are pulling on the content.
1127
925
  * We do not want scrolling to happen at the same time as the gesture.
@@ -1220,19 +1018,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1220
1018
  opacity: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
1221
1019
  },
1222
1020
  ]);
1223
- if (contentAnimation) {
1224
- /**
1225
- * The modal content should scroll at any breakpoint when expandToScroll
1226
- * is disabled. In order to do this, the content needs to be completely
1227
- * viewable so scrolling can access everything. Otherwise, the default
1228
- * behavior would show the content off the screen and only allow
1229
- * scrolling when the sheet is fully expanded.
1230
- */
1231
- contentAnimation.keyframes([
1232
- { offset: 0, maxHeight: `${(1 - breakpointOffset) * 100}%` },
1233
- { offset: 1, maxHeight: `${snapToBreakpoint * 100}%` },
1234
- ]);
1235
- }
1236
1021
  animation.progressStep(0);
1237
1022
  }
1238
1023
  /**
@@ -1240,14 +1025,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1240
1025
  * snapping animation completes.
1241
1026
  */
1242
1027
  gesture.enable(false);
1243
- /**
1244
- * If expandToScroll is disabled, we need to swap
1245
- * the footer visibility to the cloned one so the footer
1246
- * doesn't flicker when the sheet's height is animated.
1247
- */
1248
- if (!expandToScroll && shouldRemainOpen) {
1249
- swapFooterVisibility('cloned');
1250
- }
1251
1028
  if (shouldPreventDismiss) {
1252
1029
  handleCanDismiss(baseEl, animation);
1253
1030
  }
@@ -1255,13 +1032,13 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1255
1032
  onDismiss();
1256
1033
  }
1257
1034
  /**
1258
- * Enables scrolling immediately if the sheet is about to fully expand
1259
- * or if it allows scrolling at any breakpoint. Without this, there would
1260
- * be a ~500ms delay while the modal animation completes, causing a
1261
- * noticeable lag. Native iOS allows scrolling as soon as the gesture is
1262
- * released, so we align with that behavior.
1035
+ * If the sheet is going to be fully expanded then we should enable
1036
+ * scrolling immediately. The sheet modal animation takes ~500ms to finish
1037
+ * so if we wait until then there is a visible delay for when scrolling is
1038
+ * re-enabled. Native iOS allows for scrolling on the sheet modal as soon
1039
+ * as the gesture is released, so we align with that.
1263
1040
  */
1264
- if (contentEl && (snapToBreakpoint === breakpoints[breakpoints.length - 1] || !expandToScroll)) {
1041
+ if (contentEl && snapToBreakpoint === breakpoints[breakpoints.length - 1]) {
1265
1042
  contentEl.scrollY = true;
1266
1043
  }
1267
1044
  return new Promise((resolve) => {
@@ -1279,7 +1056,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1279
1056
  helpers.raf(() => {
1280
1057
  wrapperAnimation.keyframes([...SheetDefaults.WRAPPER_KEYFRAMES]);
1281
1058
  backdropAnimation.keyframes([...SheetDefaults.BACKDROP_KEYFRAMES]);
1282
- contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.keyframes([...SheetDefaults.CONTENT_KEYFRAMES]);
1283
1059
  animation.progressStart(true, 1 - snapToBreakpoint);
1284
1060
  currentBreakpoint = snapToBreakpoint;
1285
1061
  onBreakpointChange(currentBreakpoint);
@@ -1332,10 +1108,10 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1332
1108
  };
1333
1109
  };
1334
1110
 
1335
- const modalIosCss = ":host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--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-shadow{position:absolute;background:transparent}@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{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-safe-area-top) + 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}:host(.modal-sheet.modal-no-expand-scroll) ion-footer ion-toolbar:first-of-type{padding-top:6px}";
1111
+ const modalIosCss = ":host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--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-shadow{position:absolute;background:transparent}@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{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-safe-area-top) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}: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}";
1336
1112
  const IonModalIosStyle0 = modalIosCss;
1337
1113
 
1338
- const modalMdCss = ":host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--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-shadow{position:absolute;background:transparent}@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{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-safe-area-top) + 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}";
1114
+ const modalMdCss = ":host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--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-shadow{position:absolute;background:transparent}@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{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-safe-area-top) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}: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}";
1339
1115
  const IonModalMdStyle0 = modalMdCss;
1340
1116
 
1341
1117
  const Modal = class {
@@ -1404,7 +1180,6 @@ const Modal = class {
1404
1180
  this.enterAnimation = undefined;
1405
1181
  this.leaveAnimation = undefined;
1406
1182
  this.breakpoints = undefined;
1407
- this.expandToScroll = true;
1408
1183
  this.initialBreakpoint = undefined;
1409
1184
  this.backdropBreakpoint = 0;
1410
1185
  this.handle = undefined;
@@ -1620,7 +1395,6 @@ const Modal = class {
1620
1395
  presentingEl: presentingElement,
1621
1396
  currentBreakpoint: this.initialBreakpoint,
1622
1397
  backdropBreakpoint: this.backdropBreakpoint,
1623
- expandToScroll: this.expandToScroll,
1624
1398
  });
1625
1399
  /* tslint:disable-next-line */
1626
1400
  if (typeof window !== 'undefined') {
@@ -1671,10 +1445,7 @@ const Modal = class {
1671
1445
  // should be in the DOM and referenced by now, except
1672
1446
  // for the presenting el
1673
1447
  const animationBuilder = this.leaveAnimation || ionicGlobal.config.get('modalLeave', iosLeaveAnimation);
1674
- const ani = (this.animation = animationBuilder(el, {
1675
- presentingEl: this.presentingElement,
1676
- expandToScroll: this.expandToScroll,
1677
- }));
1448
+ const ani = (this.animation = animationBuilder(el, { presentingEl: this.presentingElement }));
1678
1449
  const contentEl = index$2.findIonContent(el);
1679
1450
  if (!contentEl) {
1680
1451
  index$2.printIonContentErrorMsg(el);
@@ -1719,10 +1490,9 @@ const Modal = class {
1719
1490
  presentingEl: this.presentingElement,
1720
1491
  currentBreakpoint: initialBreakpoint,
1721
1492
  backdropBreakpoint,
1722
- expandToScroll: this.expandToScroll,
1723
1493
  }));
1724
1494
  ani.progressStart(true, 1);
1725
- const { gesture, moveSheetToBreakpoint } = createSheetGesture(this.el, this.backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, ani, this.sortedBreakpoints, this.expandToScroll, () => { var _a; return (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : 0; }, () => this.sheetOnDismiss(), (breakpoint) => {
1495
+ const { gesture, moveSheetToBreakpoint } = createSheetGesture(this.el, this.backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, ani, this.sortedBreakpoints, () => { var _a; return (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : 0; }, () => this.sheetOnDismiss(), (breakpoint) => {
1726
1496
  if (this.currentBreakpoint !== breakpoint) {
1727
1497
  this.currentBreakpoint = breakpoint;
1728
1498
  this.ionBreakpointDidChange.emit({ breakpoint });
@@ -1800,7 +1570,6 @@ const Modal = class {
1800
1570
  presentingEl: presentingElement,
1801
1571
  currentBreakpoint: (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : this.initialBreakpoint,
1802
1572
  backdropBreakpoint: this.backdropBreakpoint,
1803
- expandToScroll: this.expandToScroll,
1804
1573
  });
1805
1574
  if (dismissed) {
1806
1575
  const { delegate } = this.getDelegate();
@@ -1886,23 +1655,23 @@ const Modal = class {
1886
1655
  return true;
1887
1656
  }
1888
1657
  render() {
1889
- const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
1658
+ const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap } = this;
1890
1659
  const showHandle = handle !== false && isSheetModal;
1891
1660
  const mode = ionicGlobal.getIonMode(this);
1892
1661
  const isCardModal = presentingElement !== undefined && mode === 'ios';
1893
1662
  const isHandleCycle = handleBehavior === 'cycle';
1894
- return (index$3.h(index$3.Host, Object.assign({ key: 'e661562f9e4126136cee337e4ab8ca69ac80faae', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
1663
+ return (index$3.h(index$3.Host, Object.assign({ key: 'b4da5111fe4719fa450c39b2d4bd884a302a7924', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
1895
1664
  zIndex: `${20000 + this.overlayIndex}`,
1896
- }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), index$3.h("ion-backdrop", { key: '9221692e0e111f99e80239ca44faaaed9b288425', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && index$3.h("div", { key: '20def7088d31e5eb13c3f2404c514cd8b74cd966', class: "modal-shadow" }), index$3.h("div", Object.assign({ key: 'b11229330571d4ff7b9136dfdddcd7d759ada876',
1665
+ }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, 'overlay-hidden': true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), index$3.h("ion-backdrop", { key: 'c12dbf747e0eb914eaf1331798548ffc7e147763', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && index$3.h("div", { key: 'da546ee80c6576b5acc66e959fd5009e0b9a8160', class: "modal-shadow" }), index$3.h("div", Object.assign({ key: '306ebe6427440ad5f7ed36d590e562d15a503b75',
1897
1666
  /*
1898
1667
  role and aria-modal must be used on the
1899
1668
  same element. They must also be set inside the
1900
1669
  shadow DOM otherwise ion-button will not be highlighted
1901
1670
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
1902
1671
  */
1903
- role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (index$3.h("button", { key: '95b2a62477dfbc063a91910f0d37357388cfd914', class: "modal-handle",
1672
+ role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (index$3.h("button", { key: 'c5d17e346fe255a7c0cacbbf15c0083f2d09c488', class: "modal-handle",
1904
1673
  // Prevents the handle from receiving keyboard focus when it does not cycle
1905
- tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), index$3.h("slot", { key: 'fba17dfdbdffbfd8992f473f633d172c5124dc19' }))));
1674
+ tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), index$3.h("slot", { key: '5cc714170a00b67f3eda0cd1d6f37c1489a99c83' }))));
1906
1675
  }
1907
1676
  get el() { return index$3.getElement(this); }
1908
1677
  static get watchers() { return {
@@ -8,10 +8,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
8
8
  const index = require('./index-2e236a04.js');
9
9
  const cubicBezier = require('./cubic-bezier-f2dccc53.js');
10
10
  const helpers = require('./helpers-d0dfbb50.js');
11
+ const index$1 = require('./index-55a184f7.js');
11
12
  const ionicGlobal = require('./ionic-global-acb665ad.js');
12
- const index$1 = require('./index-f68a486a.js');
13
13
  const frameworkDelegate = require('./framework-delegate-11b0ba2f.js');
14
- require('./index-48b2a28e.js');
14
+ require('./index-5915f9b3.js');
15
15
 
16
16
  const VIEW_STATE_NEW = 1;
17
17
  const VIEW_STATE_ATTACHED = 2;
@@ -903,7 +903,7 @@ const Nav = class {
903
903
  }
904
904
  }
905
905
  render() {
906
- return index.h("slot", { key: '71e9b5d07fc90ca5534197a63a003a4154aabd59' });
906
+ return index.h("slot", { key: 'dfe98cb6604a2015a49f41beffebdd2da957dfff' });
907
907
  }
908
908
  get el() { return index.getElement(this); }
909
909
  static get watchers() { return {
@@ -945,7 +945,7 @@ const NavLink = class {
945
945
  this.routerAnimation = undefined;
946
946
  }
947
947
  render() {
948
- return index.h(index.Host, { key: '9ba170d1b10e08e8a6b5e6a30d363871d455a0a9', onClick: this.onClick });
948
+ return index.h(index.Host, { key: 'd2f8545b4fbd5aa25ef36eb01dffbc5d35ccfbb9', onClick: this.onClick });
949
949
  }
950
950
  get el() { return index.getElement(this); }
951
951
  };
@@ -88,10 +88,10 @@ const PickerColumnOption = class {
88
88
  render() {
89
89
  const { color, disabled, ariaLabel } = this;
90
90
  const mode = ionicGlobal.getIonMode(this);
91
- return (index.h(index.Host, { key: 'c1353e99c2aa19c0e3ddbe433557ed18e72e1c66', class: theme.createColorClasses(color, {
91
+ return (index.h(index.Host, { key: 'c743c6ef44bb9f765cc15b3b5d2864de6520203a', class: theme.createColorClasses(color, {
92
92
  [mode]: true,
93
93
  ['option-disabled']: disabled,
94
- }) }, index.h("button", { key: 'b4ee62ecf7458a07a56e8aa494485766a87a3fcb', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, index.h("slot", { key: '9ab1e4700c27103b676670a4b3521c183c6ab83d' }))));
94
+ }) }, index.h("button", { key: '4c3d9eb245c52b2c007f727e145cfb55759bd7a9', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, index.h("slot", { key: '4c907d2187cbe9d5941e27f2b12578e2b7271461' }))));
95
95
  }
96
96
  get el() { return index.getElement(this); }
97
97
  static get watchers() { return {