@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
@@ -500,7 +500,7 @@ const computeDuration = (remaining, velocity) => {
500
500
  };
501
501
 
502
502
  const createSheetEnterAnimation = (opts) => {
503
- const { currentBreakpoint, backdropBreakpoint, expandToScroll } = opts;
503
+ const { currentBreakpoint, backdropBreakpoint } = opts;
504
504
  /**
505
505
  * If the backdropBreakpoint is undefined, then the backdrop
506
506
  * should always fade in. If the backdropBreakpoint came before the
@@ -520,16 +520,7 @@ const createSheetEnterAnimation = (opts) => {
520
520
  { offset: 0, opacity: 1, transform: 'translateY(100%)' },
521
521
  { offset: 1, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
522
522
  ]);
523
- /**
524
- * This allows the content to be scrollable at any breakpoint.
525
- */
526
- const contentAnimation = !expandToScroll
527
- ? createAnimation('contentAnimation').keyframes([
528
- { offset: 0, opacity: 1, maxHeight: `${(1 - currentBreakpoint) * 100}%` },
529
- { offset: 1, opacity: 1, maxHeight: `${currentBreakpoint * 100}%` },
530
- ])
531
- : undefined;
532
- return { wrapperAnimation, backdropAnimation, contentAnimation };
523
+ return { wrapperAnimation, backdropAnimation };
533
524
  };
534
525
  const createSheetLeaveAnimation = (opts) => {
535
526
  const { currentBreakpoint, backdropBreakpoint } = opts;
@@ -564,68 +555,22 @@ const createEnterAnimation$1 = () => {
564
555
  })
565
556
  .afterClearStyles(['pointer-events']);
566
557
  const wrapperAnimation = createAnimation().fromTo('transform', 'translateY(100vh)', 'translateY(0vh)');
567
- return { backdropAnimation, wrapperAnimation, contentAnimation: undefined };
558
+ return { backdropAnimation, wrapperAnimation };
568
559
  };
569
560
  /**
570
561
  * iOS Modal Enter Animation for the Card presentation style
571
562
  */
572
563
  const iosEnterAnimation = (baseEl, opts) => {
573
- const { presentingEl, currentBreakpoint, expandToScroll } = opts;
564
+ const { presentingEl, currentBreakpoint } = opts;
574
565
  const root = getElementRoot(baseEl);
575
- const { wrapperAnimation, backdropAnimation, contentAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation$1();
566
+ const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation$1();
576
567
  backdropAnimation.addElement(root.querySelector('ion-backdrop'));
577
568
  wrapperAnimation.addElement(root.querySelectorAll('.modal-wrapper, .modal-shadow')).beforeStyles({ opacity: 1 });
578
- // The content animation is only added if scrolling is enabled for
579
- // all the breakpoints.
580
- !expandToScroll && (contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.addElement(baseEl.querySelector('.ion-page')));
581
569
  const baseAnimation = createAnimation('entering-base')
582
570
  .addElement(baseEl)
583
571
  .easing('cubic-bezier(0.32,0.72,0,1)')
584
572
  .duration(500)
585
- .addAnimation([wrapperAnimation])
586
- .beforeAddWrite(() => {
587
- if (expandToScroll) {
588
- // Scroll can only be done when the modal is fully expanded.
589
- return;
590
- }
591
- /**
592
- * There are some browsers that causes flickering when
593
- * dragging the content when scroll is enabled at every
594
- * breakpoint. This is due to the wrapper element being
595
- * transformed off the screen and having a snap animation.
596
- *
597
- * A workaround is to clone the footer element and append
598
- * it outside of the wrapper element. This way, the footer
599
- * is still visible and the drag can be done without
600
- * flickering. The original footer is hidden until the modal
601
- * is dismissed. This maintains the animation of the footer
602
- * when the modal is dismissed.
603
- *
604
- * The workaround needs to be done before the animation starts
605
- * so there are no flickering issues.
606
- */
607
- const ionFooter = baseEl.querySelector('ion-footer');
608
- /**
609
- * This check is needed to prevent more than one footer
610
- * from being appended to the shadow root.
611
- * Otherwise, iOS and MD enter animations would append
612
- * the footer twice.
613
- */
614
- const ionFooterAlreadyAppended = baseEl.shadowRoot.querySelector('ion-footer');
615
- if (ionFooter && !ionFooterAlreadyAppended) {
616
- const footerHeight = ionFooter.clientHeight;
617
- const clonedFooter = ionFooter.cloneNode(true);
618
- baseEl.shadowRoot.appendChild(clonedFooter);
619
- ionFooter.style.setProperty('display', 'none');
620
- ionFooter.setAttribute('aria-hidden', 'true');
621
- // Padding is added to prevent some content from being hidden.
622
- const page = baseEl.querySelector('.ion-page');
623
- page.style.setProperty('padding-bottom', `${footerHeight}px`);
624
- }
625
- });
626
- if (contentAnimation) {
627
- baseAnimation.addAnimation(contentAnimation);
628
- }
573
+ .addAnimation(wrapperAnimation);
629
574
  if (presentingEl) {
630
575
  const isMobile = window.innerWidth < 768;
631
576
  const hasCardModal = presentingEl.tagName === 'ION-MODAL' && presentingEl.presentingElement !== undefined;
@@ -703,7 +648,7 @@ const createLeaveAnimation$1 = () => {
703
648
  * iOS Modal Leave Animation
704
649
  */
705
650
  const iosLeaveAnimation = (baseEl, opts, duration = 500) => {
706
- const { presentingEl, currentBreakpoint, expandToScroll } = opts;
651
+ const { presentingEl, currentBreakpoint } = opts;
707
652
  const root = getElementRoot(baseEl);
708
653
  const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetLeaveAnimation(opts) : createLeaveAnimation$1();
709
654
  backdropAnimation.addElement(root.querySelector('ion-backdrop'));
@@ -712,29 +657,7 @@ const iosLeaveAnimation = (baseEl, opts, duration = 500) => {
712
657
  .addElement(baseEl)
713
658
  .easing('cubic-bezier(0.32,0.72,0,1)')
714
659
  .duration(duration)
715
- .addAnimation(wrapperAnimation)
716
- .beforeAddWrite(() => {
717
- if (expandToScroll) {
718
- // Scroll can only be done when the modal is fully expanded.
719
- return;
720
- }
721
- /**
722
- * If expandToScroll is disabled, we need to swap
723
- * the visibility to the original, so the footer
724
- * dismisses with the modal and doesn't stay
725
- * until the modal is removed from the DOM.
726
- */
727
- const ionFooter = baseEl.querySelector('ion-footer');
728
- if (ionFooter) {
729
- const clonedFooter = baseEl.shadowRoot.querySelector('ion-footer');
730
- ionFooter.style.removeProperty('display');
731
- ionFooter.removeAttribute('aria-hidden');
732
- clonedFooter.style.setProperty('display', 'none');
733
- clonedFooter.setAttribute('aria-hidden', 'true');
734
- const page = baseEl.querySelector('.ion-page');
735
- page.style.removeProperty('padding-bottom');
736
- }
737
- });
660
+ .addAnimation(wrapperAnimation);
738
661
  if (presentingEl) {
739
662
  const isMobile = window.innerWidth < 768;
740
663
  const hasCardModal = presentingEl.tagName === 'ION-MODAL' && presentingEl.presentingElement !== undefined;
@@ -812,69 +735,22 @@ const createEnterAnimation = () => {
812
735
  { offset: 0, opacity: 0.01, transform: 'translateY(40px)' },
813
736
  { offset: 1, opacity: 1, transform: `translateY(0px)` },
814
737
  ]);
815
- return { backdropAnimation, wrapperAnimation, contentAnimation: undefined };
738
+ return { backdropAnimation, wrapperAnimation };
816
739
  };
817
740
  /**
818
741
  * Md Modal Enter Animation
819
742
  */
820
743
  const mdEnterAnimation = (baseEl, opts) => {
821
- const { currentBreakpoint, expandToScroll } = opts;
744
+ const { currentBreakpoint } = opts;
822
745
  const root = getElementRoot(baseEl);
823
- const { wrapperAnimation, backdropAnimation, contentAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation();
746
+ const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation();
824
747
  backdropAnimation.addElement(root.querySelector('ion-backdrop'));
825
748
  wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
826
- // The content animation is only added if scrolling is enabled for
827
- // all the breakpoints.
828
- expandToScroll && (contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.addElement(baseEl.querySelector('.ion-page')));
829
- const baseAnimation = createAnimation()
749
+ return createAnimation()
830
750
  .addElement(baseEl)
831
751
  .easing('cubic-bezier(0.36,0.66,0.04,1)')
832
752
  .duration(280)
833
- .addAnimation([backdropAnimation, wrapperAnimation])
834
- .beforeAddWrite(() => {
835
- if (expandToScroll) {
836
- // Scroll can only be done when the modal is fully expanded.
837
- return;
838
- }
839
- /**
840
- * There are some browsers that causes flickering when
841
- * dragging the content when scroll is enabled at every
842
- * breakpoint. This is due to the wrapper element being
843
- * transformed off the screen and having a snap animation.
844
- *
845
- * A workaround is to clone the footer element and append
846
- * it outside of the wrapper element. This way, the footer
847
- * is still visible and the drag can be done without
848
- * flickering. The original footer is hidden until the modal
849
- * is dismissed. This maintains the animation of the footer
850
- * when the modal is dismissed.
851
- *
852
- * The workaround needs to be done before the animation starts
853
- * so there are no flickering issues.
854
- */
855
- const ionFooter = baseEl.querySelector('ion-footer');
856
- /**
857
- * This check is needed to prevent more than one footer
858
- * from being appended to the shadow root.
859
- * Otherwise, iOS and MD enter animations would append
860
- * the footer twice.
861
- */
862
- const ionFooterAlreadyAppended = baseEl.shadowRoot.querySelector('ion-footer');
863
- if (ionFooter && !ionFooterAlreadyAppended) {
864
- const footerHeight = ionFooter.clientHeight;
865
- const clonedFooter = ionFooter.cloneNode(true);
866
- baseEl.shadowRoot.appendChild(clonedFooter);
867
- ionFooter.style.setProperty('display', 'none');
868
- ionFooter.setAttribute('aria-hidden', 'true');
869
- // Padding is added to prevent some content from being hidden.
870
- const page = baseEl.querySelector('.ion-page');
871
- page.style.setProperty('padding-bottom', `${footerHeight}px`);
872
- }
873
- });
874
- if (contentAnimation) {
875
- baseAnimation.addAnimation(contentAnimation);
876
- }
877
- return baseAnimation;
753
+ .addAnimation([backdropAnimation, wrapperAnimation]);
878
754
  };
879
755
 
880
756
  const createLeaveAnimation = () => {
@@ -889,41 +765,18 @@ const createLeaveAnimation = () => {
889
765
  * Md Modal Leave Animation
890
766
  */
891
767
  const mdLeaveAnimation = (baseEl, opts) => {
892
- const { currentBreakpoint, expandToScroll } = opts;
768
+ const { currentBreakpoint } = opts;
893
769
  const root = getElementRoot(baseEl);
894
770
  const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetLeaveAnimation(opts) : createLeaveAnimation();
895
771
  backdropAnimation.addElement(root.querySelector('ion-backdrop'));
896
772
  wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
897
- const baseAnimation = createAnimation()
773
+ return createAnimation()
898
774
  .easing('cubic-bezier(0.47,0,0.745,0.715)')
899
775
  .duration(200)
900
- .addAnimation([backdropAnimation, wrapperAnimation])
901
- .beforeAddWrite(() => {
902
- if (expandToScroll) {
903
- // Scroll can only be done when the modal is fully expanded.
904
- return;
905
- }
906
- /**
907
- * If expandToScroll is disabled, we need to swap
908
- * the visibility to the original, so the footer
909
- * dismisses with the modal and doesn't stay
910
- * until the modal is removed from the DOM.
911
- */
912
- const ionFooter = baseEl.querySelector('ion-footer');
913
- if (ionFooter) {
914
- const clonedFooter = baseEl.shadowRoot.querySelector('ion-footer');
915
- ionFooter.style.removeProperty('display');
916
- ionFooter.removeAttribute('aria-hidden');
917
- clonedFooter.style.setProperty('display', 'none');
918
- clonedFooter.setAttribute('aria-hidden', 'true');
919
- const page = baseEl.querySelector('.ion-page');
920
- page.style.removeProperty('padding-bottom');
921
- }
922
- });
923
- return baseAnimation;
776
+ .addAnimation([backdropAnimation, wrapperAnimation]);
924
777
  };
925
778
 
926
- const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange) => {
779
+ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], getCurrentBreakpoint, onDismiss, onBreakpointChange) => {
927
780
  // Defaults for the sheet swipe animation
928
781
  const defaultBackdrop = [
929
782
  { offset: 0, opacity: 'var(--backdrop-opacity)' },
@@ -940,10 +793,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
940
793
  { offset: 1, transform: 'translateY(100%)' },
941
794
  ],
942
795
  BACKDROP_KEYFRAMES: backdropBreakpoint !== 0 ? customBackdrop : defaultBackdrop,
943
- CONTENT_KEYFRAMES: [
944
- { offset: 0, maxHeight: '100%' },
945
- { offset: 1, maxHeight: '0%' },
946
- ],
947
796
  };
948
797
  const contentEl = baseEl.querySelector('ion-content');
949
798
  const height = wrapperEl.clientHeight;
@@ -951,11 +800,10 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
951
800
  let offset = 0;
952
801
  let canDismissBlocksGesture = false;
953
802
  const canDismissMaxStep = 0.95;
954
- const maxBreakpoint = breakpoints[breakpoints.length - 1];
955
- const minBreakpoint = breakpoints[0];
956
803
  const wrapperAnimation = animation.childAnimations.find((ani) => ani.id === 'wrapperAnimation');
957
804
  const backdropAnimation = animation.childAnimations.find((ani) => ani.id === 'backdropAnimation');
958
- const contentAnimation = animation.childAnimations.find((ani) => ani.id === 'contentAnimation');
805
+ const maxBreakpoint = breakpoints[breakpoints.length - 1];
806
+ const minBreakpoint = breakpoints[0];
959
807
  const enableBackdrop = () => {
960
808
  baseEl.style.setProperty('pointer-events', 'auto');
961
809
  backdropEl.style.setProperty('pointer-events', 'auto');
@@ -978,31 +826,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
978
826
  */
979
827
  baseEl.classList.add(FOCUS_TRAP_DISABLE_CLASS);
980
828
  };
981
- /**
982
- * Toggles the visible modal footer when `expandToScroll` is disabled.
983
- * @param footer The footer to show.
984
- */
985
- const swapFooterVisibility = (footer) => {
986
- const originalFooter = baseEl.querySelector('ion-footer');
987
- if (!originalFooter) {
988
- return;
989
- }
990
- const clonedFooter = wrapperEl.nextElementSibling;
991
- const footerToHide = footer === 'original' ? clonedFooter : originalFooter;
992
- const footerToShow = footer === 'original' ? originalFooter : clonedFooter;
993
- footerToShow.style.removeProperty('display');
994
- footerToShow.removeAttribute('aria-hidden');
995
- const page = baseEl.querySelector('.ion-page');
996
- if (footer === 'original') {
997
- page.style.removeProperty('padding-bottom');
998
- }
999
- else {
1000
- const pagePadding = footerToShow.clientHeight;
1001
- page.style.setProperty('padding-bottom', `${pagePadding}px`);
1002
- }
1003
- footerToHide.style.setProperty('display', 'none');
1004
- footerToHide.setAttribute('aria-hidden', 'true');
1005
- };
1006
829
  /**
1007
830
  * After the entering animation completes,
1008
831
  * we need to set the animation to go from
@@ -1014,7 +837,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1014
837
  if (wrapperAnimation && backdropAnimation) {
1015
838
  wrapperAnimation.keyframes([...SheetDefaults.WRAPPER_KEYFRAMES]);
1016
839
  backdropAnimation.keyframes([...SheetDefaults.BACKDROP_KEYFRAMES]);
1017
- contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.keyframes([...SheetDefaults.CONTENT_KEYFRAMES]);
1018
840
  animation.progressStart(true, 1 - currentBreakpoint);
1019
841
  /**
1020
842
  * If backdrop is not enabled, then content
@@ -1031,7 +853,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1031
853
  disableBackdrop();
1032
854
  }
1033
855
  }
1034
- if (contentEl && currentBreakpoint !== maxBreakpoint && expandToScroll) {
856
+ if (contentEl && currentBreakpoint !== maxBreakpoint) {
1035
857
  contentEl.scrollY = false;
1036
858
  }
1037
859
  const canStart = (detail) => {
@@ -1045,14 +867,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1045
867
  */
1046
868
  const contentEl = findClosestIonContent(detail.event.target);
1047
869
  currentBreakpoint = getCurrentBreakpoint();
1048
- /**
1049
- * If `expandToScroll` is disabled, we should not allow the swipe gesture
1050
- * to start if the content is not scrolled to the top.
1051
- */
1052
- if (!expandToScroll && contentEl) {
1053
- const scrollEl = isIonContent(contentEl) ? getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
1054
- return scrollEl.scrollTop === 0;
1055
- }
1056
870
  if (currentBreakpoint === 1 && contentEl) {
1057
871
  /**
1058
872
  * The modal should never swipe to close on the content with a refresher.
@@ -1083,15 +897,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1083
897
  * Remove undefined check
1084
898
  */
1085
899
  canDismissBlocksGesture = baseEl.canDismiss !== undefined && baseEl.canDismiss !== true && minBreakpoint === 0;
1086
- /**
1087
- * If expandToScroll is disabled, we need to swap
1088
- * the footer visibility to the original, so if the modal
1089
- * is dismissed, the footer dismisses with the modal
1090
- * and doesn't stay on the screen after the modal is gone.
1091
- */
1092
- if (!expandToScroll) {
1093
- swapFooterVisibility('original');
1094
- }
1095
900
  /**
1096
901
  * If we are pulling down, then it is possible we are pulling on the content.
1097
902
  * We do not want scrolling to happen at the same time as the gesture.
@@ -1109,13 +914,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1109
914
  animation.progressStart(true, 1 - currentBreakpoint);
1110
915
  };
1111
916
  const onMove = (detail) => {
1112
- /**
1113
- * If `expandToScroll` is disabled, we should not allow the swipe gesture
1114
- * to continue if the gesture is not pulling down.
1115
- */
1116
- if (!expandToScroll && detail.deltaY <= 0) {
1117
- return;
1118
- }
1119
917
  /**
1120
918
  * If we are pulling down, then it is possible we are pulling on the content.
1121
919
  * We do not want scrolling to happen at the same time as the gesture.
@@ -1214,19 +1012,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1214
1012
  opacity: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
1215
1013
  },
1216
1014
  ]);
1217
- if (contentAnimation) {
1218
- /**
1219
- * The modal content should scroll at any breakpoint when expandToScroll
1220
- * is disabled. In order to do this, the content needs to be completely
1221
- * viewable so scrolling can access everything. Otherwise, the default
1222
- * behavior would show the content off the screen and only allow
1223
- * scrolling when the sheet is fully expanded.
1224
- */
1225
- contentAnimation.keyframes([
1226
- { offset: 0, maxHeight: `${(1 - breakpointOffset) * 100}%` },
1227
- { offset: 1, maxHeight: `${snapToBreakpoint * 100}%` },
1228
- ]);
1229
- }
1230
1015
  animation.progressStep(0);
1231
1016
  }
1232
1017
  /**
@@ -1234,14 +1019,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1234
1019
  * snapping animation completes.
1235
1020
  */
1236
1021
  gesture.enable(false);
1237
- /**
1238
- * If expandToScroll is disabled, we need to swap
1239
- * the footer visibility to the cloned one so the footer
1240
- * doesn't flicker when the sheet's height is animated.
1241
- */
1242
- if (!expandToScroll && shouldRemainOpen) {
1243
- swapFooterVisibility('cloned');
1244
- }
1245
1022
  if (shouldPreventDismiss) {
1246
1023
  handleCanDismiss(baseEl, animation);
1247
1024
  }
@@ -1249,13 +1026,13 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1249
1026
  onDismiss();
1250
1027
  }
1251
1028
  /**
1252
- * Enables scrolling immediately if the sheet is about to fully expand
1253
- * or if it allows scrolling at any breakpoint. Without this, there would
1254
- * be a ~500ms delay while the modal animation completes, causing a
1255
- * noticeable lag. Native iOS allows scrolling as soon as the gesture is
1256
- * released, so we align with that behavior.
1029
+ * If the sheet is going to be fully expanded then we should enable
1030
+ * scrolling immediately. The sheet modal animation takes ~500ms to finish
1031
+ * so if we wait until then there is a visible delay for when scrolling is
1032
+ * re-enabled. Native iOS allows for scrolling on the sheet modal as soon
1033
+ * as the gesture is released, so we align with that.
1257
1034
  */
1258
- if (contentEl && (snapToBreakpoint === breakpoints[breakpoints.length - 1] || !expandToScroll)) {
1035
+ if (contentEl && snapToBreakpoint === breakpoints[breakpoints.length - 1]) {
1259
1036
  contentEl.scrollY = true;
1260
1037
  }
1261
1038
  return new Promise((resolve) => {
@@ -1273,7 +1050,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1273
1050
  raf(() => {
1274
1051
  wrapperAnimation.keyframes([...SheetDefaults.WRAPPER_KEYFRAMES]);
1275
1052
  backdropAnimation.keyframes([...SheetDefaults.BACKDROP_KEYFRAMES]);
1276
- contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.keyframes([...SheetDefaults.CONTENT_KEYFRAMES]);
1277
1053
  animation.progressStart(true, 1 - snapToBreakpoint);
1278
1054
  currentBreakpoint = snapToBreakpoint;
1279
1055
  onBreakpointChange(currentBreakpoint);
@@ -1326,10 +1102,10 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1326
1102
  };
1327
1103
  };
1328
1104
 
1329
- 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}";
1105
+ 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}";
1330
1106
  const IonModalIosStyle0 = modalIosCss;
1331
1107
 
1332
- 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}";
1108
+ 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}";
1333
1109
  const IonModalMdStyle0 = modalMdCss;
1334
1110
 
1335
1111
  const Modal = /*@__PURE__*/ proxyCustomElement(class Modal extends HTMLElement {
@@ -1400,7 +1176,6 @@ const Modal = /*@__PURE__*/ proxyCustomElement(class Modal extends HTMLElement {
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 = /*@__PURE__*/ proxyCustomElement(class Modal extends HTMLElement {
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 = /*@__PURE__*/ proxyCustomElement(class Modal extends HTMLElement {
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 = /*@__PURE__*/ proxyCustomElement(class Modal extends HTMLElement {
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 = /*@__PURE__*/ proxyCustomElement(class Modal extends HTMLElement {
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 = /*@__PURE__*/ proxyCustomElement(class Modal extends HTMLElement {
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 this; }
1904
1673
  static get watchers() { return {
@@ -1917,7 +1686,6 @@ const Modal = /*@__PURE__*/ proxyCustomElement(class Modal extends HTMLElement {
1917
1686
  "enterAnimation": [16],
1918
1687
  "leaveAnimation": [16],
1919
1688
  "breakpoints": [16],
1920
- "expandToScroll": [4, "expand-to-scroll"],
1921
1689
  "initialBreakpoint": [2, "initial-breakpoint"],
1922
1690
  "backdropBreakpoint": [2, "backdrop-breakpoint"],
1923
1691
  "handle": [4],
@@ -86,10 +86,10 @@ const PickerColumnOption = /*@__PURE__*/ proxyCustomElement(class PickerColumnOp
86
86
  render() {
87
87
  const { color, disabled, ariaLabel } = this;
88
88
  const mode = getIonMode(this);
89
- return (h(Host, { key: 'c1353e99c2aa19c0e3ddbe433557ed18e72e1c66', class: createColorClasses(color, {
89
+ return (h(Host, { key: 'c743c6ef44bb9f765cc15b3b5d2864de6520203a', class: createColorClasses(color, {
90
90
  [mode]: true,
91
91
  ['option-disabled']: disabled,
92
- }) }, h("button", { key: 'b4ee62ecf7458a07a56e8aa494485766a87a3fcb', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, h("slot", { key: '9ab1e4700c27103b676670a4b3521c183c6ab83d' }))));
92
+ }) }, h("button", { key: '4c3d9eb245c52b2c007f727e145cfb55759bd7a9', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, h("slot", { key: '4c907d2187cbe9d5941e27f2b12578e2b7271461' }))));
93
93
  }
94
94
  get el() { return this; }
95
95
  static get watchers() { return {
@@ -343,9 +343,9 @@ const PickerColumnCmp = /*@__PURE__*/ proxyCustomElement(class PickerColumnCmp e
343
343
  render() {
344
344
  const col = this.col;
345
345
  const mode = getIonMode(this);
346
- return (h(Host, { key: '88a3c9397c9ac92dd814074c8ae6ecf8e3420a2c', class: Object.assign({ [mode]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
346
+ return (h(Host, { key: 'c015eb8bc01b3287cbd1d71af0aa311b6be89d36', class: Object.assign({ [mode]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
347
347
  'max-width': this.col.columnWidth,
348
- } }, col.prefix && (h("div", { key: '4491a705d15337e6f45f3cf6fd21af5242474729', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), h("div", { key: 'b0dd4b7a7a4c1edc4b73e7fb134ac85264072365', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (h("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (h("div", { key: 'c16419ce6481d60fc3ba6b8d102a4edf0ede02aa', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
348
+ } }, col.prefix && (h("div", { key: 'f9de3fe2f5c7ad3256d6e5f44b6d03a2b1f96ffb', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), h("div", { key: '10f9c12aa174f96c7cf9adc30efbb26695c0aa64', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (h("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (h("div", { key: '1d9c0892ce56e0da9044c79eb953827166f5190b', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
349
349
  }
350
350
  get el() { return this; }
351
351
  static get watchers() { return {
@@ -1294,9 +1294,9 @@ const Popover = /*@__PURE__*/ proxyCustomElement(class Popover extends HTMLEleme
1294
1294
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
1295
1295
  const desktop = isPlatform('desktop');
1296
1296
  const enableArrow = arrow && !parentPopover;
1297
- return (h(Host, Object.assign({ key: '48f108a9b74f121559626889dd5a1fcccf38fc3d', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
1297
+ return (h(Host, Object.assign({ key: 'ffe8b37c9ffb5cac210a7307e6cdfcf78712905b', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
1298
1298
  zIndex: `${20000 + this.overlayIndex}`,
1299
- }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && h("ion-backdrop", { key: '580c14ab48472534f59eedc5ba7fa486df25ed4e', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), h("div", { key: '9bcf47893e8d3053e2baa40511785d84feb4038c', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && h("div", { key: '4d47f2bdc01a546a88190c07f8f4700f21de6715', class: "popover-arrow", part: "arrow" }), h("div", { key: '70018c088654c1996e305b7b6b114419e97824ef', class: "popover-content", part: "content" }, h("slot", { key: '3de8e1959b8facba2fbe694947704832200d8276' })))));
1299
+ }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && h("ion-backdrop", { key: '12b3ffa3928b4d56a4f09c3d2f5d493d47b45255', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), h("div", { key: '2c2862d5c7e75b637973c712b4982bf4978c0cdf', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && h("div", { key: '0cfacc52afaa7abc28c1b7742889d7a1c23a37ad', class: "popover-arrow", part: "arrow" }), h("div", { key: '3ef570c44d4fe7f063dd419008c92c8c40d3cd22', class: "popover-content", part: "content" }, h("slot", { key: '6fc5dfdce20fee1642bc1f05d41b5bf7d1034457' })))));
1300
1300
  }
1301
1301
  get el() { return this; }
1302
1302
  static get watchers() { return {