@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
@@ -2,15 +2,15 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { r as registerInstance, c as createEvent, w as writeTask, h, e as Host, f as getElement } from './index-527b9e34.js';
5
- import { f as findClosestIonContent, i as isIonContent, d as disableContentScrollY, r as resetContentScrollY, a as findIonContent, p as printIonContentErrorMsg } from './index-933ca126.js';
5
+ import { f as findClosestIonContent, i as isIonContent, d as disableContentScrollY, r as resetContentScrollY, a as findIonContent, p as printIonContentErrorMsg } from './index-d4642b24.js';
6
6
  import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './framework-delegate-c7d92b77.js';
7
7
  import { g as getElementRoot, j as clamp, r as raf, h as inheritAttributes, k as hasLazyBuild } from './helpers-e48b0397.js';
8
8
  import { c as createLockController } from './lock-controller-316928be.js';
9
- import { p as printIonWarning } from './index-738d7504.js';
9
+ import { p as printIonWarning } from './index-9b0d46f4.js';
10
10
  import { g as getCapacitor } from './capacitor-59395cbd.js';
11
- import { G as GESTURE, O as OVERLAY_GESTURE_PRIORITY, F as FOCUS_TRAP_DISABLE_CLASS, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod } from './overlays-7579a420.js';
11
+ import { G as GESTURE, O as OVERLAY_GESTURE_PRIORITY, F as FOCUS_TRAP_DISABLE_CLASS, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod } from './overlays-4ff1fca8.js';
12
12
  import { g as getClassMap } from './theme-01f3f29c.js';
13
- import { e as deepReady, w as waitForMount } from './index-a313df53.js';
13
+ import { e as deepReady, w as waitForMount } from './index-c4a831fd.js';
14
14
  import { b as getIonMode, c as config } from './ionic-global-ca86cf32.js';
15
15
  import { KEYBOARD_DID_OPEN } from './keyboard-52278bd7.js';
16
16
  import { c as createAnimation } from './animation-eab5a4ca.js';
@@ -502,7 +502,7 @@ const computeDuration = (remaining, velocity) => {
502
502
  };
503
503
 
504
504
  const createSheetEnterAnimation = (opts) => {
505
- const { currentBreakpoint, backdropBreakpoint, expandToScroll } = opts;
505
+ const { currentBreakpoint, backdropBreakpoint } = opts;
506
506
  /**
507
507
  * If the backdropBreakpoint is undefined, then the backdrop
508
508
  * should always fade in. If the backdropBreakpoint came before the
@@ -522,16 +522,7 @@ const createSheetEnterAnimation = (opts) => {
522
522
  { offset: 0, opacity: 1, transform: 'translateY(100%)' },
523
523
  { offset: 1, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
524
524
  ]);
525
- /**
526
- * This allows the content to be scrollable at any breakpoint.
527
- */
528
- const contentAnimation = !expandToScroll
529
- ? createAnimation('contentAnimation').keyframes([
530
- { offset: 0, opacity: 1, maxHeight: `${(1 - currentBreakpoint) * 100}%` },
531
- { offset: 1, opacity: 1, maxHeight: `${currentBreakpoint * 100}%` },
532
- ])
533
- : undefined;
534
- return { wrapperAnimation, backdropAnimation, contentAnimation };
525
+ return { wrapperAnimation, backdropAnimation };
535
526
  };
536
527
  const createSheetLeaveAnimation = (opts) => {
537
528
  const { currentBreakpoint, backdropBreakpoint } = opts;
@@ -566,68 +557,22 @@ const createEnterAnimation$1 = () => {
566
557
  })
567
558
  .afterClearStyles(['pointer-events']);
568
559
  const wrapperAnimation = createAnimation().fromTo('transform', 'translateY(100vh)', 'translateY(0vh)');
569
- return { backdropAnimation, wrapperAnimation, contentAnimation: undefined };
560
+ return { backdropAnimation, wrapperAnimation };
570
561
  };
571
562
  /**
572
563
  * iOS Modal Enter Animation for the Card presentation style
573
564
  */
574
565
  const iosEnterAnimation = (baseEl, opts) => {
575
- const { presentingEl, currentBreakpoint, expandToScroll } = opts;
566
+ const { presentingEl, currentBreakpoint } = opts;
576
567
  const root = getElementRoot(baseEl);
577
- const { wrapperAnimation, backdropAnimation, contentAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation$1();
568
+ const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation$1();
578
569
  backdropAnimation.addElement(root.querySelector('ion-backdrop'));
579
570
  wrapperAnimation.addElement(root.querySelectorAll('.modal-wrapper, .modal-shadow')).beforeStyles({ opacity: 1 });
580
- // The content animation is only added if scrolling is enabled for
581
- // all the breakpoints.
582
- !expandToScroll && (contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.addElement(baseEl.querySelector('.ion-page')));
583
571
  const baseAnimation = createAnimation('entering-base')
584
572
  .addElement(baseEl)
585
573
  .easing('cubic-bezier(0.32,0.72,0,1)')
586
574
  .duration(500)
587
- .addAnimation([wrapperAnimation])
588
- .beforeAddWrite(() => {
589
- if (expandToScroll) {
590
- // Scroll can only be done when the modal is fully expanded.
591
- return;
592
- }
593
- /**
594
- * There are some browsers that causes flickering when
595
- * dragging the content when scroll is enabled at every
596
- * breakpoint. This is due to the wrapper element being
597
- * transformed off the screen and having a snap animation.
598
- *
599
- * A workaround is to clone the footer element and append
600
- * it outside of the wrapper element. This way, the footer
601
- * is still visible and the drag can be done without
602
- * flickering. The original footer is hidden until the modal
603
- * is dismissed. This maintains the animation of the footer
604
- * when the modal is dismissed.
605
- *
606
- * The workaround needs to be done before the animation starts
607
- * so there are no flickering issues.
608
- */
609
- const ionFooter = baseEl.querySelector('ion-footer');
610
- /**
611
- * This check is needed to prevent more than one footer
612
- * from being appended to the shadow root.
613
- * Otherwise, iOS and MD enter animations would append
614
- * the footer twice.
615
- */
616
- const ionFooterAlreadyAppended = baseEl.shadowRoot.querySelector('ion-footer');
617
- if (ionFooter && !ionFooterAlreadyAppended) {
618
- const footerHeight = ionFooter.clientHeight;
619
- const clonedFooter = ionFooter.cloneNode(true);
620
- baseEl.shadowRoot.appendChild(clonedFooter);
621
- ionFooter.style.setProperty('display', 'none');
622
- ionFooter.setAttribute('aria-hidden', 'true');
623
- // Padding is added to prevent some content from being hidden.
624
- const page = baseEl.querySelector('.ion-page');
625
- page.style.setProperty('padding-bottom', `${footerHeight}px`);
626
- }
627
- });
628
- if (contentAnimation) {
629
- baseAnimation.addAnimation(contentAnimation);
630
- }
575
+ .addAnimation(wrapperAnimation);
631
576
  if (presentingEl) {
632
577
  const isMobile = window.innerWidth < 768;
633
578
  const hasCardModal = presentingEl.tagName === 'ION-MODAL' && presentingEl.presentingElement !== undefined;
@@ -705,7 +650,7 @@ const createLeaveAnimation$1 = () => {
705
650
  * iOS Modal Leave Animation
706
651
  */
707
652
  const iosLeaveAnimation = (baseEl, opts, duration = 500) => {
708
- const { presentingEl, currentBreakpoint, expandToScroll } = opts;
653
+ const { presentingEl, currentBreakpoint } = opts;
709
654
  const root = getElementRoot(baseEl);
710
655
  const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetLeaveAnimation(opts) : createLeaveAnimation$1();
711
656
  backdropAnimation.addElement(root.querySelector('ion-backdrop'));
@@ -714,29 +659,7 @@ const iosLeaveAnimation = (baseEl, opts, duration = 500) => {
714
659
  .addElement(baseEl)
715
660
  .easing('cubic-bezier(0.32,0.72,0,1)')
716
661
  .duration(duration)
717
- .addAnimation(wrapperAnimation)
718
- .beforeAddWrite(() => {
719
- if (expandToScroll) {
720
- // Scroll can only be done when the modal is fully expanded.
721
- return;
722
- }
723
- /**
724
- * If expandToScroll is disabled, we need to swap
725
- * the visibility to the original, so the footer
726
- * dismisses with the modal and doesn't stay
727
- * until the modal is removed from the DOM.
728
- */
729
- const ionFooter = baseEl.querySelector('ion-footer');
730
- if (ionFooter) {
731
- const clonedFooter = baseEl.shadowRoot.querySelector('ion-footer');
732
- ionFooter.style.removeProperty('display');
733
- ionFooter.removeAttribute('aria-hidden');
734
- clonedFooter.style.setProperty('display', 'none');
735
- clonedFooter.setAttribute('aria-hidden', 'true');
736
- const page = baseEl.querySelector('.ion-page');
737
- page.style.removeProperty('padding-bottom');
738
- }
739
- });
662
+ .addAnimation(wrapperAnimation);
740
663
  if (presentingEl) {
741
664
  const isMobile = window.innerWidth < 768;
742
665
  const hasCardModal = presentingEl.tagName === 'ION-MODAL' && presentingEl.presentingElement !== undefined;
@@ -814,69 +737,22 @@ const createEnterAnimation = () => {
814
737
  { offset: 0, opacity: 0.01, transform: 'translateY(40px)' },
815
738
  { offset: 1, opacity: 1, transform: `translateY(0px)` },
816
739
  ]);
817
- return { backdropAnimation, wrapperAnimation, contentAnimation: undefined };
740
+ return { backdropAnimation, wrapperAnimation };
818
741
  };
819
742
  /**
820
743
  * Md Modal Enter Animation
821
744
  */
822
745
  const mdEnterAnimation = (baseEl, opts) => {
823
- const { currentBreakpoint, expandToScroll } = opts;
746
+ const { currentBreakpoint } = opts;
824
747
  const root = getElementRoot(baseEl);
825
- const { wrapperAnimation, backdropAnimation, contentAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation();
748
+ const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation();
826
749
  backdropAnimation.addElement(root.querySelector('ion-backdrop'));
827
750
  wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
828
- // The content animation is only added if scrolling is enabled for
829
- // all the breakpoints.
830
- expandToScroll && (contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.addElement(baseEl.querySelector('.ion-page')));
831
- const baseAnimation = createAnimation()
751
+ return createAnimation()
832
752
  .addElement(baseEl)
833
753
  .easing('cubic-bezier(0.36,0.66,0.04,1)')
834
754
  .duration(280)
835
- .addAnimation([backdropAnimation, wrapperAnimation])
836
- .beforeAddWrite(() => {
837
- if (expandToScroll) {
838
- // Scroll can only be done when the modal is fully expanded.
839
- return;
840
- }
841
- /**
842
- * There are some browsers that causes flickering when
843
- * dragging the content when scroll is enabled at every
844
- * breakpoint. This is due to the wrapper element being
845
- * transformed off the screen and having a snap animation.
846
- *
847
- * A workaround is to clone the footer element and append
848
- * it outside of the wrapper element. This way, the footer
849
- * is still visible and the drag can be done without
850
- * flickering. The original footer is hidden until the modal
851
- * is dismissed. This maintains the animation of the footer
852
- * when the modal is dismissed.
853
- *
854
- * The workaround needs to be done before the animation starts
855
- * so there are no flickering issues.
856
- */
857
- const ionFooter = baseEl.querySelector('ion-footer');
858
- /**
859
- * This check is needed to prevent more than one footer
860
- * from being appended to the shadow root.
861
- * Otherwise, iOS and MD enter animations would append
862
- * the footer twice.
863
- */
864
- const ionFooterAlreadyAppended = baseEl.shadowRoot.querySelector('ion-footer');
865
- if (ionFooter && !ionFooterAlreadyAppended) {
866
- const footerHeight = ionFooter.clientHeight;
867
- const clonedFooter = ionFooter.cloneNode(true);
868
- baseEl.shadowRoot.appendChild(clonedFooter);
869
- ionFooter.style.setProperty('display', 'none');
870
- ionFooter.setAttribute('aria-hidden', 'true');
871
- // Padding is added to prevent some content from being hidden.
872
- const page = baseEl.querySelector('.ion-page');
873
- page.style.setProperty('padding-bottom', `${footerHeight}px`);
874
- }
875
- });
876
- if (contentAnimation) {
877
- baseAnimation.addAnimation(contentAnimation);
878
- }
879
- return baseAnimation;
755
+ .addAnimation([backdropAnimation, wrapperAnimation]);
880
756
  };
881
757
 
882
758
  const createLeaveAnimation = () => {
@@ -891,41 +767,18 @@ const createLeaveAnimation = () => {
891
767
  * Md Modal Leave Animation
892
768
  */
893
769
  const mdLeaveAnimation = (baseEl, opts) => {
894
- const { currentBreakpoint, expandToScroll } = opts;
770
+ const { currentBreakpoint } = opts;
895
771
  const root = getElementRoot(baseEl);
896
772
  const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetLeaveAnimation(opts) : createLeaveAnimation();
897
773
  backdropAnimation.addElement(root.querySelector('ion-backdrop'));
898
774
  wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
899
- const baseAnimation = createAnimation()
775
+ return createAnimation()
900
776
  .easing('cubic-bezier(0.47,0,0.745,0.715)')
901
777
  .duration(200)
902
- .addAnimation([backdropAnimation, wrapperAnimation])
903
- .beforeAddWrite(() => {
904
- if (expandToScroll) {
905
- // Scroll can only be done when the modal is fully expanded.
906
- return;
907
- }
908
- /**
909
- * If expandToScroll is disabled, we need to swap
910
- * the visibility to the original, so the footer
911
- * dismisses with the modal and doesn't stay
912
- * until the modal is removed from the DOM.
913
- */
914
- const ionFooter = baseEl.querySelector('ion-footer');
915
- if (ionFooter) {
916
- const clonedFooter = baseEl.shadowRoot.querySelector('ion-footer');
917
- ionFooter.style.removeProperty('display');
918
- ionFooter.removeAttribute('aria-hidden');
919
- clonedFooter.style.setProperty('display', 'none');
920
- clonedFooter.setAttribute('aria-hidden', 'true');
921
- const page = baseEl.querySelector('.ion-page');
922
- page.style.removeProperty('padding-bottom');
923
- }
924
- });
925
- return baseAnimation;
778
+ .addAnimation([backdropAnimation, wrapperAnimation]);
926
779
  };
927
780
 
928
- const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange) => {
781
+ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], getCurrentBreakpoint, onDismiss, onBreakpointChange) => {
929
782
  // Defaults for the sheet swipe animation
930
783
  const defaultBackdrop = [
931
784
  { offset: 0, opacity: 'var(--backdrop-opacity)' },
@@ -942,10 +795,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
942
795
  { offset: 1, transform: 'translateY(100%)' },
943
796
  ],
944
797
  BACKDROP_KEYFRAMES: backdropBreakpoint !== 0 ? customBackdrop : defaultBackdrop,
945
- CONTENT_KEYFRAMES: [
946
- { offset: 0, maxHeight: '100%' },
947
- { offset: 1, maxHeight: '0%' },
948
- ],
949
798
  };
950
799
  const contentEl = baseEl.querySelector('ion-content');
951
800
  const height = wrapperEl.clientHeight;
@@ -953,11 +802,10 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
953
802
  let offset = 0;
954
803
  let canDismissBlocksGesture = false;
955
804
  const canDismissMaxStep = 0.95;
956
- const maxBreakpoint = breakpoints[breakpoints.length - 1];
957
- const minBreakpoint = breakpoints[0];
958
805
  const wrapperAnimation = animation.childAnimations.find((ani) => ani.id === 'wrapperAnimation');
959
806
  const backdropAnimation = animation.childAnimations.find((ani) => ani.id === 'backdropAnimation');
960
- const contentAnimation = animation.childAnimations.find((ani) => ani.id === 'contentAnimation');
807
+ const maxBreakpoint = breakpoints[breakpoints.length - 1];
808
+ const minBreakpoint = breakpoints[0];
961
809
  const enableBackdrop = () => {
962
810
  baseEl.style.setProperty('pointer-events', 'auto');
963
811
  backdropEl.style.setProperty('pointer-events', 'auto');
@@ -980,31 +828,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
980
828
  */
981
829
  baseEl.classList.add(FOCUS_TRAP_DISABLE_CLASS);
982
830
  };
983
- /**
984
- * Toggles the visible modal footer when `expandToScroll` is disabled.
985
- * @param footer The footer to show.
986
- */
987
- const swapFooterVisibility = (footer) => {
988
- const originalFooter = baseEl.querySelector('ion-footer');
989
- if (!originalFooter) {
990
- return;
991
- }
992
- const clonedFooter = wrapperEl.nextElementSibling;
993
- const footerToHide = footer === 'original' ? clonedFooter : originalFooter;
994
- const footerToShow = footer === 'original' ? originalFooter : clonedFooter;
995
- footerToShow.style.removeProperty('display');
996
- footerToShow.removeAttribute('aria-hidden');
997
- const page = baseEl.querySelector('.ion-page');
998
- if (footer === 'original') {
999
- page.style.removeProperty('padding-bottom');
1000
- }
1001
- else {
1002
- const pagePadding = footerToShow.clientHeight;
1003
- page.style.setProperty('padding-bottom', `${pagePadding}px`);
1004
- }
1005
- footerToHide.style.setProperty('display', 'none');
1006
- footerToHide.setAttribute('aria-hidden', 'true');
1007
- };
1008
831
  /**
1009
832
  * After the entering animation completes,
1010
833
  * we need to set the animation to go from
@@ -1016,7 +839,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1016
839
  if (wrapperAnimation && backdropAnimation) {
1017
840
  wrapperAnimation.keyframes([...SheetDefaults.WRAPPER_KEYFRAMES]);
1018
841
  backdropAnimation.keyframes([...SheetDefaults.BACKDROP_KEYFRAMES]);
1019
- contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.keyframes([...SheetDefaults.CONTENT_KEYFRAMES]);
1020
842
  animation.progressStart(true, 1 - currentBreakpoint);
1021
843
  /**
1022
844
  * If backdrop is not enabled, then content
@@ -1033,7 +855,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1033
855
  disableBackdrop();
1034
856
  }
1035
857
  }
1036
- if (contentEl && currentBreakpoint !== maxBreakpoint && expandToScroll) {
858
+ if (contentEl && currentBreakpoint !== maxBreakpoint) {
1037
859
  contentEl.scrollY = false;
1038
860
  }
1039
861
  const canStart = (detail) => {
@@ -1047,14 +869,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1047
869
  */
1048
870
  const contentEl = findClosestIonContent(detail.event.target);
1049
871
  currentBreakpoint = getCurrentBreakpoint();
1050
- /**
1051
- * If `expandToScroll` is disabled, we should not allow the swipe gesture
1052
- * to start if the content is not scrolled to the top.
1053
- */
1054
- if (!expandToScroll && contentEl) {
1055
- const scrollEl = isIonContent(contentEl) ? getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
1056
- return scrollEl.scrollTop === 0;
1057
- }
1058
872
  if (currentBreakpoint === 1 && contentEl) {
1059
873
  /**
1060
874
  * The modal should never swipe to close on the content with a refresher.
@@ -1085,15 +899,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1085
899
  * Remove undefined check
1086
900
  */
1087
901
  canDismissBlocksGesture = baseEl.canDismiss !== undefined && baseEl.canDismiss !== true && minBreakpoint === 0;
1088
- /**
1089
- * If expandToScroll is disabled, we need to swap
1090
- * the footer visibility to the original, so if the modal
1091
- * is dismissed, the footer dismisses with the modal
1092
- * and doesn't stay on the screen after the modal is gone.
1093
- */
1094
- if (!expandToScroll) {
1095
- swapFooterVisibility('original');
1096
- }
1097
902
  /**
1098
903
  * If we are pulling down, then it is possible we are pulling on the content.
1099
904
  * We do not want scrolling to happen at the same time as the gesture.
@@ -1111,13 +916,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1111
916
  animation.progressStart(true, 1 - currentBreakpoint);
1112
917
  };
1113
918
  const onMove = (detail) => {
1114
- /**
1115
- * If `expandToScroll` is disabled, we should not allow the swipe gesture
1116
- * to continue if the gesture is not pulling down.
1117
- */
1118
- if (!expandToScroll && detail.deltaY <= 0) {
1119
- return;
1120
- }
1121
919
  /**
1122
920
  * If we are pulling down, then it is possible we are pulling on the content.
1123
921
  * We do not want scrolling to happen at the same time as the gesture.
@@ -1216,19 +1014,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1216
1014
  opacity: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
1217
1015
  },
1218
1016
  ]);
1219
- if (contentAnimation) {
1220
- /**
1221
- * The modal content should scroll at any breakpoint when expandToScroll
1222
- * is disabled. In order to do this, the content needs to be completely
1223
- * viewable so scrolling can access everything. Otherwise, the default
1224
- * behavior would show the content off the screen and only allow
1225
- * scrolling when the sheet is fully expanded.
1226
- */
1227
- contentAnimation.keyframes([
1228
- { offset: 0, maxHeight: `${(1 - breakpointOffset) * 100}%` },
1229
- { offset: 1, maxHeight: `${snapToBreakpoint * 100}%` },
1230
- ]);
1231
- }
1232
1017
  animation.progressStep(0);
1233
1018
  }
1234
1019
  /**
@@ -1236,14 +1021,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1236
1021
  * snapping animation completes.
1237
1022
  */
1238
1023
  gesture.enable(false);
1239
- /**
1240
- * If expandToScroll is disabled, we need to swap
1241
- * the footer visibility to the cloned one so the footer
1242
- * doesn't flicker when the sheet's height is animated.
1243
- */
1244
- if (!expandToScroll && shouldRemainOpen) {
1245
- swapFooterVisibility('cloned');
1246
- }
1247
1024
  if (shouldPreventDismiss) {
1248
1025
  handleCanDismiss(baseEl, animation);
1249
1026
  }
@@ -1251,13 +1028,13 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1251
1028
  onDismiss();
1252
1029
  }
1253
1030
  /**
1254
- * Enables scrolling immediately if the sheet is about to fully expand
1255
- * or if it allows scrolling at any breakpoint. Without this, there would
1256
- * be a ~500ms delay while the modal animation completes, causing a
1257
- * noticeable lag. Native iOS allows scrolling as soon as the gesture is
1258
- * released, so we align with that behavior.
1031
+ * If the sheet is going to be fully expanded then we should enable
1032
+ * scrolling immediately. The sheet modal animation takes ~500ms to finish
1033
+ * so if we wait until then there is a visible delay for when scrolling is
1034
+ * re-enabled. Native iOS allows for scrolling on the sheet modal as soon
1035
+ * as the gesture is released, so we align with that.
1259
1036
  */
1260
- if (contentEl && (snapToBreakpoint === breakpoints[breakpoints.length - 1] || !expandToScroll)) {
1037
+ if (contentEl && snapToBreakpoint === breakpoints[breakpoints.length - 1]) {
1261
1038
  contentEl.scrollY = true;
1262
1039
  }
1263
1040
  return new Promise((resolve) => {
@@ -1275,7 +1052,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1275
1052
  raf(() => {
1276
1053
  wrapperAnimation.keyframes([...SheetDefaults.WRAPPER_KEYFRAMES]);
1277
1054
  backdropAnimation.keyframes([...SheetDefaults.BACKDROP_KEYFRAMES]);
1278
- contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.keyframes([...SheetDefaults.CONTENT_KEYFRAMES]);
1279
1055
  animation.progressStart(true, 1 - snapToBreakpoint);
1280
1056
  currentBreakpoint = snapToBreakpoint;
1281
1057
  onBreakpointChange(currentBreakpoint);
@@ -1328,10 +1104,10 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1328
1104
  };
1329
1105
  };
1330
1106
 
1331
- 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}";
1107
+ 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}";
1332
1108
  const IonModalIosStyle0 = modalIosCss;
1333
1109
 
1334
- 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}";
1110
+ 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}";
1335
1111
  const IonModalMdStyle0 = modalMdCss;
1336
1112
 
1337
1113
  const Modal = class {
@@ -1400,7 +1176,6 @@ const Modal = class {
1400
1176
  this.enterAnimation = undefined;
1401
1177
  this.leaveAnimation = undefined;
1402
1178
  this.breakpoints = undefined;
1403
- this.expandToScroll = true;
1404
1179
  this.initialBreakpoint = undefined;
1405
1180
  this.backdropBreakpoint = 0;
1406
1181
  this.handle = undefined;
@@ -1616,7 +1391,6 @@ const Modal = class {
1616
1391
  presentingEl: presentingElement,
1617
1392
  currentBreakpoint: this.initialBreakpoint,
1618
1393
  backdropBreakpoint: this.backdropBreakpoint,
1619
- expandToScroll: this.expandToScroll,
1620
1394
  });
1621
1395
  /* tslint:disable-next-line */
1622
1396
  if (typeof window !== 'undefined') {
@@ -1667,10 +1441,7 @@ const Modal = class {
1667
1441
  // should be in the DOM and referenced by now, except
1668
1442
  // for the presenting el
1669
1443
  const animationBuilder = this.leaveAnimation || config.get('modalLeave', iosLeaveAnimation);
1670
- const ani = (this.animation = animationBuilder(el, {
1671
- presentingEl: this.presentingElement,
1672
- expandToScroll: this.expandToScroll,
1673
- }));
1444
+ const ani = (this.animation = animationBuilder(el, { presentingEl: this.presentingElement }));
1674
1445
  const contentEl = findIonContent(el);
1675
1446
  if (!contentEl) {
1676
1447
  printIonContentErrorMsg(el);
@@ -1715,10 +1486,9 @@ const Modal = class {
1715
1486
  presentingEl: this.presentingElement,
1716
1487
  currentBreakpoint: initialBreakpoint,
1717
1488
  backdropBreakpoint,
1718
- expandToScroll: this.expandToScroll,
1719
1489
  }));
1720
1490
  ani.progressStart(true, 1);
1721
- 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) => {
1491
+ 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) => {
1722
1492
  if (this.currentBreakpoint !== breakpoint) {
1723
1493
  this.currentBreakpoint = breakpoint;
1724
1494
  this.ionBreakpointDidChange.emit({ breakpoint });
@@ -1796,7 +1566,6 @@ const Modal = class {
1796
1566
  presentingEl: presentingElement,
1797
1567
  currentBreakpoint: (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : this.initialBreakpoint,
1798
1568
  backdropBreakpoint: this.backdropBreakpoint,
1799
- expandToScroll: this.expandToScroll,
1800
1569
  });
1801
1570
  if (dismissed) {
1802
1571
  const { delegate } = this.getDelegate();
@@ -1882,23 +1651,23 @@ const Modal = class {
1882
1651
  return true;
1883
1652
  }
1884
1653
  render() {
1885
- const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
1654
+ const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap } = this;
1886
1655
  const showHandle = handle !== false && isSheetModal;
1887
1656
  const mode = getIonMode(this);
1888
1657
  const isCardModal = presentingElement !== undefined && mode === 'ios';
1889
1658
  const isHandleCycle = handleBehavior === 'cycle';
1890
- return (h(Host, Object.assign({ key: 'e661562f9e4126136cee337e4ab8ca69ac80faae', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
1659
+ return (h(Host, Object.assign({ key: 'b4da5111fe4719fa450c39b2d4bd884a302a7924', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
1891
1660
  zIndex: `${20000 + this.overlayIndex}`,
1892
- }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), h("ion-backdrop", { key: '9221692e0e111f99e80239ca44faaaed9b288425', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: '20def7088d31e5eb13c3f2404c514cd8b74cd966', class: "modal-shadow" }), h("div", Object.assign({ key: 'b11229330571d4ff7b9136dfdddcd7d759ada876',
1661
+ }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), h("ion-backdrop", { key: 'c12dbf747e0eb914eaf1331798548ffc7e147763', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: 'da546ee80c6576b5acc66e959fd5009e0b9a8160', class: "modal-shadow" }), h("div", Object.assign({ key: '306ebe6427440ad5f7ed36d590e562d15a503b75',
1893
1662
  /*
1894
1663
  role and aria-modal must be used on the
1895
1664
  same element. They must also be set inside the
1896
1665
  shadow DOM otherwise ion-button will not be highlighted
1897
1666
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
1898
1667
  */
1899
- role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: '95b2a62477dfbc063a91910f0d37357388cfd914', class: "modal-handle",
1668
+ role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: 'c5d17e346fe255a7c0cacbbf15c0083f2d09c488', class: "modal-handle",
1900
1669
  // Prevents the handle from receiving keyboard focus when it does not cycle
1901
- tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), h("slot", { key: 'fba17dfdbdffbfd8992f473f633d172c5124dc19' }))));
1670
+ tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), h("slot", { key: '5cc714170a00b67f3eda0cd1d6f37c1489a99c83' }))));
1902
1671
  }
1903
1672
  get el() { return getElement(this); }
1904
1673
  static get watchers() { return {
@@ -4,10 +4,10 @@
4
4
  import { r as registerInstance, c as createEvent, h, f as getElement, e as Host } from './index-527b9e34.js';
5
5
  import { g as getTimeGivenProgression } from './cubic-bezier-fe2083dc.js';
6
6
  import { n as assert, s as shallowEqualStringMap } from './helpers-e48b0397.js';
7
+ import { l as lifecycle, t as transition, s as setPageHidden, d as LIFECYCLE_WILL_UNLOAD, b as LIFECYCLE_WILL_LEAVE, c as LIFECYCLE_DID_LEAVE } from './index-c4a831fd.js';
7
8
  import { b as getIonMode, c as config } from './ionic-global-ca86cf32.js';
8
- import { l as lifecycle, t as transition, s as setPageHidden, d as LIFECYCLE_WILL_UNLOAD, b as LIFECYCLE_WILL_LEAVE, c as LIFECYCLE_DID_LEAVE } from './index-a313df53.js';
9
9
  import { a as attachComponent } from './framework-delegate-c7d92b77.js';
10
- import './index-738d7504.js';
10
+ import './index-9b0d46f4.js';
11
11
 
12
12
  const VIEW_STATE_NEW = 1;
13
13
  const VIEW_STATE_ATTACHED = 2;
@@ -899,7 +899,7 @@ const Nav = class {
899
899
  }
900
900
  }
901
901
  render() {
902
- return h("slot", { key: '71e9b5d07fc90ca5534197a63a003a4154aabd59' });
902
+ return h("slot", { key: 'dfe98cb6604a2015a49f41beffebdd2da957dfff' });
903
903
  }
904
904
  get el() { return getElement(this); }
905
905
  static get watchers() { return {
@@ -941,7 +941,7 @@ const NavLink = class {
941
941
  this.routerAnimation = undefined;
942
942
  }
943
943
  render() {
944
- return h(Host, { key: '9ba170d1b10e08e8a6b5e6a30d363871d455a0a9', onClick: this.onClick });
944
+ return h(Host, { key: 'd2f8545b4fbd5aa25ef36eb01dffbc5d35ccfbb9', onClick: this.onClick });
945
945
  }
946
946
  get el() { return getElement(this); }
947
947
  };
@@ -84,10 +84,10 @@ const PickerColumnOption = class {
84
84
  render() {
85
85
  const { color, disabled, ariaLabel } = this;
86
86
  const mode = getIonMode(this);
87
- return (h(Host, { key: 'c1353e99c2aa19c0e3ddbe433557ed18e72e1c66', class: createColorClasses(color, {
87
+ return (h(Host, { key: 'c743c6ef44bb9f765cc15b3b5d2864de6520203a', class: createColorClasses(color, {
88
88
  [mode]: true,
89
89
  ['option-disabled']: disabled,
90
- }) }, h("button", { key: 'b4ee62ecf7458a07a56e8aa494485766a87a3fcb', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, h("slot", { key: '9ab1e4700c27103b676670a4b3521c183c6ab83d' }))));
90
+ }) }, h("button", { key: '4c3d9eb245c52b2c007f727e145cfb55759bd7a9', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, h("slot", { key: '4c907d2187cbe9d5941e27f2b12578e2b7271461' }))));
91
91
  }
92
92
  get el() { return getElement(this); }
93
93
  static get watchers() { return {