@ionic/core 8.4.4-dev.11741648084.118e26ac → 8.4.4-dev.11741872392.110b2b59

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 (585) hide show
  1. package/components/checkbox.js +6 -40
  2. package/components/helpers.js +0 -28
  3. package/components/index6.js +3 -11
  4. package/components/ion-input.js +2 -2
  5. package/components/ion-item-divider.js +2 -2
  6. package/components/ion-item-group.js +1 -1
  7. package/components/ion-item-option.js +2 -2
  8. package/components/ion-item-options.js +1 -1
  9. package/components/ion-item-sliding.js +1 -1
  10. package/components/ion-loading.js +2 -2
  11. package/components/ion-menu-button.js +2 -2
  12. package/components/ion-menu-toggle.js +2 -2
  13. package/components/ion-menu.js +2 -2
  14. package/components/ion-nav-link.js +1 -1
  15. package/components/ion-nav.js +1 -1
  16. package/components/ion-note.js +2 -2
  17. package/components/ion-picker-legacy.js +2 -2
  18. package/components/ion-progress-bar.js +1 -1
  19. package/components/ion-range.js +3 -3
  20. package/components/ion-refresher-content.js +1 -1
  21. package/components/ion-refresher.js +1 -1
  22. package/components/ion-reorder-group.js +1 -1
  23. package/components/ion-reorder.js +1 -1
  24. package/components/ion-router-link.js +2 -2
  25. package/components/ion-router-outlet.js +1 -1
  26. package/components/ion-row.js +1 -1
  27. package/components/ion-searchbar.js +4 -4
  28. package/components/ion-segment-button.js +2 -2
  29. package/components/ion-segment-content.js +1 -1
  30. package/components/ion-segment-view.js +2 -2
  31. package/components/ion-segment.js +2 -2
  32. package/components/ion-select-option.js +1 -1
  33. package/components/ion-select.js +6 -50
  34. package/components/ion-skeleton-text.js +2 -2
  35. package/components/ion-split-pane.js +2 -2
  36. package/components/ion-tab-bar.js +2 -2
  37. package/components/ion-tab-button.js +2 -2
  38. package/components/ion-tab.js +2 -2
  39. package/components/ion-tabs.js +1 -1
  40. package/components/ion-text.js +2 -2
  41. package/components/ion-textarea.js +4 -4
  42. package/components/ion-thumbnail.js +1 -1
  43. package/components/ion-toast.js +2 -2
  44. package/components/ion-toggle.js +6 -40
  45. package/components/ionic-global.js +1 -12
  46. package/components/label.js +2 -2
  47. package/components/list-header.js +2 -2
  48. package/components/modal.js +35 -267
  49. package/components/picker-column-option.js +2 -2
  50. package/components/picker-column2.js +2 -2
  51. package/components/popover.js +2 -2
  52. package/components/radio-group.js +2 -39
  53. package/components/radio.js +3 -3
  54. package/components/ripple-effect.js +1 -1
  55. package/components/select-modal.js +1 -1
  56. package/components/select-popover.js +1 -1
  57. package/components/spinner.js +1 -1
  58. package/components/title.js +2 -2
  59. package/components/toolbar.js +2 -2
  60. package/css/core.css.map +1 -1
  61. package/css/ionic.bundle.css.map +1 -1
  62. package/dist/cjs/{app-globals-4283fe37.js → app-globals-dd592863.js} +1 -1
  63. package/dist/cjs/{button-active-3f2f60b4.js → button-active-43e2b419.js} +1 -1
  64. package/dist/cjs/{data-26456291.js → data-21dc0f81.js} +1 -1
  65. package/dist/cjs/{framework-delegate-c4f2ba04.js → framework-delegate-11b0ba2f.js} +1 -1
  66. package/dist/cjs/{hardware-back-button-f2cbbdce.js → hardware-back-button-5a99001f.js} +2 -2
  67. package/dist/cjs/{helpers-b14a0f09.js → helpers-d0dfbb50.js} +0 -28
  68. package/dist/cjs/{index-73f75efb.js → index-2e236a04.js} +0 -4
  69. package/dist/cjs/{index-786364c7.js → index-363fe6b2.js} +1 -1
  70. package/dist/cjs/{index-6ad4725f.js → index-55a184f7.js} +6 -6
  71. package/dist/cjs/{index-275c982e.js → index-5915f9b3.js} +3 -11
  72. package/dist/cjs/{index-608fc5fd.js → index-77e085b4.js} +2 -2
  73. package/dist/cjs/{index-0d2610b6.js → index-864d95f4.js} +4 -4
  74. package/dist/cjs/index.cjs.js +11 -11
  75. package/dist/cjs/{input-shims-a2cf9d15.js → input-shims-52924092.js} +3 -5
  76. package/dist/cjs/{input.utils-18725f61.js → input.utils-e4144534.js} +2 -2
  77. package/dist/cjs/ion-accordion_2.cjs.entry.js +4 -4
  78. package/dist/cjs/ion-action-sheet.cjs.entry.js +8 -8
  79. package/dist/cjs/ion-alert.cjs.entry.js +8 -8
  80. package/dist/cjs/ion-app_8.cjs.entry.js +18 -18
  81. package/dist/cjs/ion-avatar_3.cjs.entry.js +3 -3
  82. package/dist/cjs/ion-back-button.cjs.entry.js +3 -3
  83. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
  84. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +3 -3
  85. package/dist/cjs/ion-button_2.cjs.entry.js +4 -4
  86. package/dist/cjs/ion-card_5.cjs.entry.js +3 -3
  87. package/dist/cjs/ion-checkbox.cjs.entry.js +9 -40
  88. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  89. package/dist/cjs/ion-col_3.cjs.entry.js +3 -3
  90. package/dist/cjs/ion-datetime-button.cjs.entry.js +5 -5
  91. package/dist/cjs/ion-datetime_3.cjs.entry.js +12 -12
  92. package/dist/cjs/ion-fab_3.cjs.entry.js +3 -3
  93. package/dist/cjs/ion-img.cjs.entry.js +3 -3
  94. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +5 -5
  95. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +3 -3
  96. package/dist/cjs/ion-input.cjs.entry.js +8 -8
  97. package/dist/cjs/ion-item-option_3.cjs.entry.js +9 -9
  98. package/dist/cjs/ion-item_8.cjs.entry.js +14 -14
  99. package/dist/cjs/ion-loading.cjs.entry.js +9 -9
  100. package/dist/cjs/ion-menu_3.cjs.entry.js +14 -14
  101. package/dist/cjs/ion-modal.cjs.entry.js +44 -275
  102. package/dist/cjs/ion-nav_2.cjs.entry.js +9 -9
  103. package/dist/cjs/ion-picker-column-option.cjs.entry.js +5 -5
  104. package/dist/cjs/ion-picker-column.cjs.entry.js +3 -3
  105. package/dist/cjs/ion-picker.cjs.entry.js +2 -2
  106. package/dist/cjs/ion-popover.cjs.entry.js +10 -10
  107. package/dist/cjs/ion-progress-bar.cjs.entry.js +4 -4
  108. package/dist/cjs/ion-radio_2.cjs.entry.js +7 -42
  109. package/dist/cjs/ion-range.cjs.entry.js +8 -8
  110. package/dist/cjs/ion-refresher_2.cjs.entry.js +7 -7
  111. package/dist/cjs/ion-reorder_2.cjs.entry.js +7 -7
  112. package/dist/cjs/ion-ripple-effect.cjs.entry.js +3 -3
  113. package/dist/cjs/ion-route_4.cjs.entry.js +5 -5
  114. package/dist/cjs/ion-searchbar.cjs.entry.js +7 -7
  115. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  116. package/dist/cjs/ion-segment-view.cjs.entry.js +3 -3
  117. package/dist/cjs/ion-segment_2.cjs.entry.js +7 -7
  118. package/dist/cjs/ion-select-modal.cjs.entry.js +8 -8
  119. package/dist/cjs/ion-select_3.cjs.entry.js +16 -57
  120. package/dist/cjs/ion-spinner.cjs.entry.js +3 -3
  121. package/dist/cjs/ion-split-pane.cjs.entry.js +4 -4
  122. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +7 -7
  123. package/dist/cjs/ion-tab_2.cjs.entry.js +6 -6
  124. package/dist/cjs/ion-text.cjs.entry.js +4 -4
  125. package/dist/cjs/ion-textarea.cjs.entry.js +10 -10
  126. package/dist/cjs/ion-toast.cjs.entry.js +9 -9
  127. package/dist/cjs/ion-toggle.cjs.entry.js +9 -40
  128. package/dist/cjs/{ionic-global-96da1b2e.js → ionic-global-acb665ad.js} +1 -12
  129. package/dist/cjs/ionic.cjs.js +4 -4
  130. package/dist/cjs/{ios.transition-e188169d.js → ios.transition-abac30e4.js} +5 -5
  131. package/dist/cjs/loader.cjs.js +4 -4
  132. package/dist/cjs/{md.transition-b66da2a1.js → md.transition-e328f70d.js} +5 -5
  133. package/dist/cjs/{notch-controller-bd07748b.js → notch-controller-58d2e557.js} +1 -1
  134. package/dist/cjs/{overlays-b0b07774.js → overlays-2f264f05.js} +5 -5
  135. package/dist/cjs/{status-tap-3b633cba.js → status-tap-191ccc90.js} +4 -5
  136. package/dist/cjs/{swipe-back-b70cd52e.js → swipe-back-951be2fd.js} +1 -1
  137. package/dist/collection/components/checkbox/checkbox.ios.css +15 -52
  138. package/dist/collection/components/checkbox/checkbox.js +4 -90
  139. package/dist/collection/components/checkbox/checkbox.md.css +15 -52
  140. package/dist/collection/components/input/input.ios.css +2 -3
  141. package/dist/collection/components/input/input.md.css +2 -7
  142. package/dist/collection/components/item-divider/item-divider.js +2 -2
  143. package/dist/collection/components/item-group/item-group.js +1 -1
  144. package/dist/collection/components/item-option/item-option.js +2 -2
  145. package/dist/collection/components/item-options/item-options.js +1 -1
  146. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  147. package/dist/collection/components/label/label.js +2 -2
  148. package/dist/collection/components/list-header/list-header.js +2 -2
  149. package/dist/collection/components/loading/loading.js +2 -2
  150. package/dist/collection/components/menu/menu.js +2 -2
  151. package/dist/collection/components/menu-button/menu-button.js +2 -2
  152. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  153. package/dist/collection/components/modal/animations/ios.enter.js +4 -50
  154. package/dist/collection/components/modal/animations/ios.leave.js +2 -24
  155. package/dist/collection/components/modal/animations/md.enter.js +5 -52
  156. package/dist/collection/components/modal/animations/md.leave.js +3 -26
  157. package/dist/collection/components/modal/animations/sheet.js +2 -11
  158. package/dist/collection/components/modal/gestures/sheet.js +10 -87
  159. package/dist/collection/components/modal/modal.ios.css +0 -16
  160. package/dist/collection/components/modal/modal.js +7 -32
  161. package/dist/collection/components/modal/modal.md.css +0 -6
  162. package/dist/collection/components/nav/nav.js +1 -1
  163. package/dist/collection/components/nav-link/nav-link.js +1 -1
  164. package/dist/collection/components/note/note.js +2 -2
  165. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
  166. package/dist/collection/components/picker-legacy/picker.js +2 -2
  167. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
  168. package/dist/collection/components/popover/popover.js +2 -2
  169. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  170. package/dist/collection/components/radio/radio.js +3 -3
  171. package/dist/collection/components/radio-group/radio-group.js +1 -72
  172. package/dist/collection/components/range/range.js +3 -3
  173. package/dist/collection/components/refresher/refresher.js +1 -1
  174. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  175. package/dist/collection/components/reorder/reorder.js +1 -1
  176. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  177. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  178. package/dist/collection/components/router-link/router-link.js +2 -2
  179. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  180. package/dist/collection/components/row/row.js +1 -1
  181. package/dist/collection/components/searchbar/searchbar.js +4 -4
  182. package/dist/collection/components/segment/segment.js +2 -2
  183. package/dist/collection/components/segment-button/segment-button.js +2 -2
  184. package/dist/collection/components/segment-content/segment-content.js +1 -1
  185. package/dist/collection/components/segment-view/segment-view.js +2 -2
  186. package/dist/collection/components/select/select.ios.css +0 -59
  187. package/dist/collection/components/select/select.js +4 -100
  188. package/dist/collection/components/select/select.md.css +0 -61
  189. package/dist/collection/components/select-modal/select-modal.js +1 -1
  190. package/dist/collection/components/select-option/select-option.js +1 -1
  191. package/dist/collection/components/select-popover/select-popover.js +1 -1
  192. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  193. package/dist/collection/components/spinner/spinner.js +1 -1
  194. package/dist/collection/components/split-pane/split-pane.js +2 -2
  195. package/dist/collection/components/tab/tab.js +2 -2
  196. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  197. package/dist/collection/components/tab-button/tab-button.js +2 -2
  198. package/dist/collection/components/tabs/tabs.js +1 -1
  199. package/dist/collection/components/text/text.js +2 -2
  200. package/dist/collection/components/textarea/textarea.ios.css +2 -3
  201. package/dist/collection/components/textarea/textarea.js +2 -2
  202. package/dist/collection/components/textarea/textarea.md.css +2 -7
  203. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  204. package/dist/collection/components/title/title.js +2 -2
  205. package/dist/collection/components/toast/toast.js +2 -2
  206. package/dist/collection/components/toggle/toggle.ios.css +15 -52
  207. package/dist/collection/components/toggle/toggle.js +4 -90
  208. package/dist/collection/components/toggle/toggle.md.css +15 -52
  209. package/dist/collection/components/toolbar/toolbar.js +2 -6
  210. package/dist/collection/global/ionic-global.js +1 -12
  211. package/dist/collection/utils/helpers.js +0 -28
  212. package/dist/collection/utils/logging/index.js +3 -10
  213. package/dist/docs.json +2 -379
  214. package/dist/esm/{app-globals-c10a1137.js → app-globals-7b6cbf1a.js} +1 -1
  215. package/dist/esm/{button-active-f6503382.js → button-active-90f1dbc4.js} +1 -1
  216. package/dist/esm/{data-bf516e75.js → data-ae11fd43.js} +1 -1
  217. package/dist/esm/{framework-delegate-42bc40b1.js → framework-delegate-c7d92b77.js} +1 -1
  218. package/dist/esm/{hardware-back-button-44195e92.js → hardware-back-button-864101a3.js} +2 -2
  219. package/dist/esm/{helpers-13b816c6.js → helpers-e48b0397.js} +0 -28
  220. package/dist/esm/{index-28849c61.js → index-527b9e34.js} +1 -4
  221. package/dist/esm/{index-28c8fd64.js → index-8222b29f.js} +1 -1
  222. package/dist/esm/{index-ce8d38d0.js → index-9b0d46f4.js} +3 -11
  223. package/dist/esm/{index-879a2080.js → index-c4a831fd.js} +6 -6
  224. package/dist/esm/{index-ec2140bf.js → index-d4642b24.js} +2 -2
  225. package/dist/esm/{index-b4ac4019.js → index-df741ec6.js} +4 -4
  226. package/dist/esm/index.js +11 -11
  227. package/dist/esm/{input-shims-4c3d7279.js → input-shims-80c5b98e.js} +3 -5
  228. package/dist/esm/{input.utils-b4805900.js → input.utils-3a4c0a2a.js} +2 -2
  229. package/dist/esm/ion-accordion_2.entry.js +4 -4
  230. package/dist/esm/ion-action-sheet.entry.js +8 -8
  231. package/dist/esm/ion-alert.entry.js +8 -8
  232. package/dist/esm/ion-app_8.entry.js +18 -18
  233. package/dist/esm/ion-avatar_3.entry.js +3 -3
  234. package/dist/esm/ion-back-button.entry.js +3 -3
  235. package/dist/esm/ion-backdrop.entry.js +2 -2
  236. package/dist/esm/ion-breadcrumb_2.entry.js +3 -3
  237. package/dist/esm/ion-button_2.entry.js +4 -4
  238. package/dist/esm/ion-card_5.entry.js +3 -3
  239. package/dist/esm/ion-checkbox.entry.js +9 -40
  240. package/dist/esm/ion-chip.entry.js +2 -2
  241. package/dist/esm/ion-col_3.entry.js +3 -3
  242. package/dist/esm/ion-datetime-button.entry.js +5 -5
  243. package/dist/esm/ion-datetime_3.entry.js +12 -12
  244. package/dist/esm/ion-fab_3.entry.js +3 -3
  245. package/dist/esm/ion-img.entry.js +3 -3
  246. package/dist/esm/ion-infinite-scroll_2.entry.js +5 -5
  247. package/dist/esm/ion-input-password-toggle.entry.js +3 -3
  248. package/dist/esm/ion-input.entry.js +8 -8
  249. package/dist/esm/ion-item-option_3.entry.js +9 -9
  250. package/dist/esm/ion-item_8.entry.js +14 -14
  251. package/dist/esm/ion-loading.entry.js +9 -9
  252. package/dist/esm/ion-menu_3.entry.js +14 -14
  253. package/dist/esm/ion-modal.entry.js +44 -275
  254. package/dist/esm/ion-nav_2.entry.js +9 -9
  255. package/dist/esm/ion-picker-column-option.entry.js +5 -5
  256. package/dist/esm/ion-picker-column.entry.js +3 -3
  257. package/dist/esm/ion-picker.entry.js +2 -2
  258. package/dist/esm/ion-popover.entry.js +10 -10
  259. package/dist/esm/ion-progress-bar.entry.js +4 -4
  260. package/dist/esm/ion-radio_2.entry.js +7 -42
  261. package/dist/esm/ion-range.entry.js +8 -8
  262. package/dist/esm/ion-refresher_2.entry.js +7 -7
  263. package/dist/esm/ion-reorder_2.entry.js +7 -7
  264. package/dist/esm/ion-ripple-effect.entry.js +3 -3
  265. package/dist/esm/ion-route_4.entry.js +5 -5
  266. package/dist/esm/ion-searchbar.entry.js +7 -7
  267. package/dist/esm/ion-segment-content.entry.js +2 -2
  268. package/dist/esm/ion-segment-view.entry.js +3 -3
  269. package/dist/esm/ion-segment_2.entry.js +7 -7
  270. package/dist/esm/ion-select-modal.entry.js +8 -8
  271. package/dist/esm/ion-select_3.entry.js +16 -57
  272. package/dist/esm/ion-spinner.entry.js +3 -3
  273. package/dist/esm/ion-split-pane.entry.js +4 -4
  274. package/dist/esm/ion-tab-bar_2.entry.js +7 -7
  275. package/dist/esm/ion-tab_2.entry.js +6 -6
  276. package/dist/esm/ion-text.entry.js +4 -4
  277. package/dist/esm/ion-textarea.entry.js +10 -10
  278. package/dist/esm/ion-toast.entry.js +9 -9
  279. package/dist/esm/ion-toggle.entry.js +9 -40
  280. package/dist/esm/{ionic-global-bf78a847.js → ionic-global-ca86cf32.js} +1 -12
  281. package/dist/esm/ionic.js +5 -5
  282. package/dist/esm/{ios.transition-ffee637f.js → ios.transition-a81c9c6b.js} +5 -5
  283. package/dist/esm/loader.js +5 -5
  284. package/dist/esm/{md.transition-3a4f9709.js → md.transition-dbb51edc.js} +5 -5
  285. package/dist/esm/{notch-controller-bb8f3a48.js → notch-controller-381a5334.js} +1 -1
  286. package/dist/esm/{overlays-36f5880e.js → overlays-4ff1fca8.js} +5 -5
  287. package/dist/esm/{status-tap-2ce7841e.js → status-tap-73b183f4.js} +4 -5
  288. package/dist/esm/{swipe-back-a258b011.js → swipe-back-276cda49.js} +1 -1
  289. package/dist/esm-es5/app-globals-7b6cbf1a.js +4 -0
  290. package/dist/esm-es5/{button-active-f6503382.js → button-active-90f1dbc4.js} +1 -1
  291. package/dist/esm-es5/{data-bf516e75.js → data-ae11fd43.js} +1 -1
  292. package/dist/esm-es5/{framework-delegate-42bc40b1.js → framework-delegate-c7d92b77.js} +1 -1
  293. package/dist/esm-es5/{hardware-back-button-44195e92.js → hardware-back-button-864101a3.js} +1 -1
  294. package/dist/esm-es5/helpers-e48b0397.js +4 -0
  295. package/dist/esm-es5/index-527b9e34.js +5 -0
  296. package/dist/esm-es5/{index-28c8fd64.js → index-8222b29f.js} +1 -1
  297. package/dist/esm-es5/index-9b0d46f4.js +4 -0
  298. package/dist/esm-es5/{index-879a2080.js → index-c4a831fd.js} +1 -1
  299. package/dist/esm-es5/{index-ec2140bf.js → index-d4642b24.js} +1 -1
  300. package/dist/esm-es5/{index-b4ac4019.js → index-df741ec6.js} +1 -1
  301. package/dist/esm-es5/index.js +1 -1
  302. package/dist/esm-es5/input-shims-80c5b98e.js +4 -0
  303. package/dist/esm-es5/{input.utils-b4805900.js → input.utils-3a4c0a2a.js} +1 -1
  304. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  305. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  306. package/dist/esm-es5/ion-alert.entry.js +1 -1
  307. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  308. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  309. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  310. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  311. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  312. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  313. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  314. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  315. package/dist/esm-es5/ion-chip.entry.js +1 -1
  316. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  317. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  318. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  319. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  320. package/dist/esm-es5/ion-img.entry.js +1 -1
  321. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  322. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  323. package/dist/esm-es5/ion-input.entry.js +1 -1
  324. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  325. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  326. package/dist/esm-es5/ion-loading.entry.js +1 -1
  327. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  328. package/dist/esm-es5/ion-modal.entry.js +1 -1
  329. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  330. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  331. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  332. package/dist/esm-es5/ion-picker.entry.js +1 -1
  333. package/dist/esm-es5/ion-popover.entry.js +1 -1
  334. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  335. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  336. package/dist/esm-es5/ion-range.entry.js +1 -1
  337. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  338. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  339. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  340. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  341. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  342. package/dist/esm-es5/ion-segment-content.entry.js +1 -1
  343. package/dist/esm-es5/ion-segment-view.entry.js +1 -1
  344. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  345. package/dist/esm-es5/ion-select-modal.entry.js +1 -1
  346. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  347. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  348. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  349. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  350. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  351. package/dist/esm-es5/ion-text.entry.js +1 -1
  352. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  353. package/dist/esm-es5/ion-toast.entry.js +1 -1
  354. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  355. package/dist/esm-es5/ionic-global-ca86cf32.js +4 -0
  356. package/dist/esm-es5/ionic.js +1 -1
  357. package/dist/esm-es5/{ios.transition-ffee637f.js → ios.transition-a81c9c6b.js} +1 -1
  358. package/dist/esm-es5/loader.js +1 -1
  359. package/dist/esm-es5/{md.transition-3a4f9709.js → md.transition-dbb51edc.js} +1 -1
  360. package/dist/esm-es5/{notch-controller-bb8f3a48.js → notch-controller-381a5334.js} +1 -1
  361. package/dist/esm-es5/{overlays-36f5880e.js → overlays-4ff1fca8.js} +1 -1
  362. package/dist/esm-es5/status-tap-73b183f4.js +4 -0
  363. package/dist/esm-es5/{swipe-back-a258b011.js → swipe-back-276cda49.js} +1 -1
  364. package/dist/html.html-data.json +0 -48
  365. package/dist/ionic/index.esm.js +1 -1
  366. package/dist/ionic/ionic.esm.js +1 -1
  367. package/dist/ionic/ionic.js +1 -1
  368. package/dist/ionic/{p-f6d066b4.system.js → p-00ab8b89.system.js} +2 -2
  369. package/dist/ionic/{p-05f90810.system.entry.js → p-023e8017.system.entry.js} +1 -1
  370. package/dist/ionic/p-06fee233.js +4 -0
  371. package/dist/ionic/p-0749768d.entry.js +4 -0
  372. package/dist/ionic/{p-e56b4e0f.system.entry.js → p-0b860115.system.entry.js} +1 -1
  373. package/dist/ionic/{p-c3de6cd1.system.entry.js → p-0c9b8240.system.entry.js} +1 -1
  374. package/dist/ionic/{p-9aaaff17.system.entry.js → p-0eb49e5c.system.entry.js} +1 -1
  375. package/dist/ionic/{p-4a98a017.system.entry.js → p-1164ff6b.system.entry.js} +1 -1
  376. package/dist/ionic/{p-aae5907a.system.entry.js → p-11bbdab8.system.entry.js} +1 -1
  377. package/dist/ionic/{p-21780245.entry.js → p-1332050e.entry.js} +1 -1
  378. package/dist/ionic/{p-3b872754.entry.js → p-16cd36e4.entry.js} +1 -1
  379. package/dist/ionic/p-19179876.js +4 -0
  380. package/dist/ionic/{p-f5f52b6d.system.entry.js → p-1a289aba.system.entry.js} +1 -1
  381. package/dist/ionic/{p-9c7efe25.system.entry.js → p-1c1d781d.system.entry.js} +1 -1
  382. package/dist/ionic/{p-5bc47f96.entry.js → p-1cfb788a.entry.js} +1 -1
  383. package/dist/ionic/p-1d98a7f1.entry.js +4 -0
  384. package/dist/ionic/{p-cad0b874.system.entry.js → p-1ef02643.system.entry.js} +1 -1
  385. package/dist/ionic/p-1ffab75e.entry.js +4 -0
  386. package/dist/ionic/{p-69066a53.js → p-21891ead.js} +1 -1
  387. package/dist/ionic/{p-7ef62ef9.system.entry.js → p-21d1c1c7.system.entry.js} +2 -2
  388. package/dist/ionic/{p-e25cd3c7.js → p-22bc235f.js} +1 -1
  389. package/dist/ionic/{p-8a3509b8.js → p-27da8c2c.js} +1 -1
  390. package/dist/ionic/p-297d6806.system.js +4 -0
  391. package/dist/ionic/{p-c55254f0.system.entry.js → p-2ab4a324.system.entry.js} +1 -1
  392. package/dist/ionic/p-2d4658d4.system.entry.js +4 -0
  393. package/dist/ionic/{p-72210f2a.system.entry.js → p-2f890012.system.entry.js} +1 -1
  394. package/dist/ionic/{p-7d1cbf97.system.entry.js → p-31d6b3d0.system.entry.js} +1 -1
  395. package/dist/ionic/{p-986a98d9.system.entry.js → p-3250466d.system.entry.js} +1 -1
  396. package/dist/ionic/{p-8eee812a.entry.js → p-32d4ac00.entry.js} +1 -1
  397. package/dist/ionic/{p-6321783a.system.entry.js → p-34b077b1.system.entry.js} +1 -1
  398. package/dist/ionic/{p-84fb742d.system.entry.js → p-36079188.system.entry.js} +1 -1
  399. package/dist/ionic/p-360f5507.entry.js +4 -0
  400. package/dist/ionic/{p-dde5afee.entry.js → p-3705c194.entry.js} +1 -1
  401. package/dist/ionic/{p-fe7be7b4.js → p-37e874f1.js} +1 -1
  402. package/dist/ionic/{p-dbe534f5.entry.js → p-39b5611c.entry.js} +1 -1
  403. package/dist/ionic/p-3c66a690.entry.js +4 -0
  404. package/dist/ionic/p-3e0bb0e1.entry.js +4 -0
  405. package/dist/ionic/{p-f5a536e1.system.js → p-3e86b4fa.system.js} +1 -1
  406. package/dist/ionic/p-3ef5e7fc.entry.js +4 -0
  407. package/dist/ionic/{p-9994c82e.system.entry.js → p-3fc787a8.system.entry.js} +1 -1
  408. package/dist/ionic/{p-f6e7870b.system.js → p-44e168f3.system.js} +1 -1
  409. package/dist/ionic/p-4979cd1d.entry.js +4 -0
  410. package/dist/ionic/{p-de4fef3c.system.entry.js → p-49cb79a1.system.entry.js} +1 -1
  411. package/dist/ionic/{p-f2a72b24.entry.js → p-4cfb0dc8.entry.js} +1 -1
  412. package/dist/ionic/{p-0f138cf3.entry.js → p-4e1b109b.entry.js} +1 -1
  413. package/dist/ionic/{p-09e4bf0d.entry.js → p-5175f06a.entry.js} +1 -1
  414. package/dist/ionic/p-51fc2fac.system.entry.js +4 -0
  415. package/dist/ionic/{p-bd1c99cb.entry.js → p-53d4d8c7.entry.js} +1 -1
  416. package/dist/ionic/p-5430a6da.entry.js +4 -0
  417. package/dist/ionic/p-597ff9af.js +4 -0
  418. package/dist/ionic/{p-441c2c8c.entry.js → p-5f4ff20a.entry.js} +1 -1
  419. package/dist/ionic/{p-0434c94c.entry.js → p-611d105b.entry.js} +1 -1
  420. package/dist/ionic/{p-9d4a8059.entry.js → p-61e794fb.entry.js} +1 -1
  421. package/dist/ionic/{p-97542341.system.entry.js → p-6386ccd6.system.entry.js} +1 -1
  422. package/dist/ionic/{p-47026941.system.entry.js → p-6390c6ab.system.entry.js} +1 -1
  423. package/dist/ionic/p-64279526.js +4 -0
  424. package/dist/ionic/p-64da0521.system.js +4 -0
  425. package/dist/ionic/p-66a5d6a8.js +5 -0
  426. package/dist/ionic/{p-ee70a913.system.entry.js → p-684c6a80.system.entry.js} +1 -1
  427. package/dist/ionic/p-6aa6839e.entry.js +4 -0
  428. package/dist/ionic/p-6cb61a35.entry.js +4 -0
  429. package/dist/ionic/{p-8f89c8e3.entry.js → p-6e24cf82.entry.js} +1 -1
  430. package/dist/ionic/{p-761c42da.js → p-7737b8fa.js} +1 -1
  431. package/dist/ionic/{p-86a9a4ca.system.js → p-782ed885.system.js} +1 -1
  432. package/dist/ionic/{p-eb4ac14d.system.js → p-7cc33a9a.system.js} +1 -1
  433. package/dist/ionic/{p-166a794f.system.entry.js → p-7d425376.system.entry.js} +1 -1
  434. package/dist/ionic/{p-478dfa8c.system.entry.js → p-7e3b5638.system.entry.js} +1 -1
  435. package/dist/ionic/p-7f39653f.entry.js +4 -0
  436. package/dist/ionic/{p-ec92cc52.system.entry.js → p-811ff2a0.system.entry.js} +2 -2
  437. package/dist/ionic/{p-bbfa740f.entry.js → p-847fd113.entry.js} +1 -1
  438. package/dist/ionic/p-85446175.js +4 -0
  439. package/dist/ionic/{p-82afe775.entry.js → p-85f19de9.entry.js} +1 -1
  440. package/dist/ionic/{p-1f62c30b.entry.js → p-85f6070f.entry.js} +1 -1
  441. package/dist/ionic/p-89204f3f.system.js +4 -0
  442. package/dist/ionic/{p-fa5a45cd.system.entry.js → p-8b378b48.system.entry.js} +1 -1
  443. package/dist/ionic/{p-6703c724.system.entry.js → p-8cfaf64f.system.entry.js} +1 -1
  444. package/dist/ionic/p-8d611ccd.entry.js +4 -0
  445. package/dist/ionic/p-8db97fa1.js +4 -0
  446. package/dist/ionic/{p-187396b1.system.js → p-8dbe745b.system.js} +1 -1
  447. package/dist/ionic/{p-0eab6979.entry.js → p-9023f5eb.entry.js} +1 -1
  448. package/dist/ionic/p-9048389e.entry.js +4 -0
  449. package/dist/ionic/{p-74e328cf.system.js → p-91fe21bb.system.js} +1 -1
  450. package/dist/ionic/p-941c06bc.js +4 -0
  451. package/dist/ionic/{p-99b4160f.system.entry.js → p-96f7bb84.system.entry.js} +1 -1
  452. package/dist/ionic/p-988a0306.system.js +4 -0
  453. package/dist/ionic/{p-52b61cba.system.js → p-9a2ff5ea.system.js} +1 -1
  454. package/dist/ionic/{p-6f3d8334.js → p-9af7f110.js} +1 -1
  455. package/dist/ionic/{p-8fa80de0.entry.js → p-9e7a9a27.entry.js} +1 -1
  456. package/dist/ionic/p-a300835e.system.entry.js +4 -0
  457. package/dist/ionic/{p-372ae7f4.system.js → p-a4866e3e.system.js} +1 -1
  458. package/dist/ionic/p-a6042939.entry.js +4 -0
  459. package/dist/ionic/{p-25580c85.system.entry.js → p-a63b345e.system.entry.js} +1 -1
  460. package/dist/ionic/{p-8911101b.system.js → p-a6625de8.system.js} +1 -1
  461. package/dist/ionic/p-a6f13a4e.system.entry.js +4 -0
  462. package/dist/ionic/{p-5f7a9125.system.entry.js → p-a8584808.system.entry.js} +2 -2
  463. package/dist/ionic/{p-1cf593cf.system.entry.js → p-a8cc566d.system.entry.js} +1 -1
  464. package/dist/ionic/{p-b1dbfc12.entry.js → p-a9b9259c.entry.js} +1 -1
  465. package/dist/ionic/p-aae8187b.system.entry.js +4 -0
  466. package/dist/ionic/p-ad780230.js +4 -0
  467. package/dist/ionic/{p-d8c1ac0d.system.js → p-adbbf974.system.js} +1 -1
  468. package/dist/ionic/p-ae518f0b.system.entry.js +4 -0
  469. package/dist/ionic/{p-6579f457.system.js → p-af873227.system.js} +1 -1
  470. package/dist/ionic/p-afcd55c6.entry.js +4 -0
  471. package/dist/ionic/{p-ebceb0ac.entry.js → p-afd7a6a9.entry.js} +1 -1
  472. package/dist/ionic/{p-f4cddcd0.entry.js → p-b7ed7f16.entry.js} +1 -1
  473. package/dist/ionic/{p-a4b108a7.entry.js → p-b85d199c.entry.js} +1 -1
  474. package/dist/ionic/{p-de0b8503.entry.js → p-b88c5ce4.entry.js} +1 -1
  475. package/dist/ionic/{p-fb048d4d.system.entry.js → p-b8e3b3ca.system.entry.js} +1 -1
  476. package/dist/ionic/p-b9ea58ef.js +4 -0
  477. package/dist/ionic/p-bf64af90.system.js +4 -0
  478. package/dist/ionic/{p-9104d662.system.entry.js → p-bf7f7084.system.entry.js} +2 -2
  479. package/dist/ionic/{p-506f2664.system.entry.js → p-bf973e4b.system.entry.js} +2 -2
  480. package/dist/ionic/{p-c66604e4.entry.js → p-c005cc37.entry.js} +1 -1
  481. package/dist/ionic/{p-5f10138c.system.entry.js → p-c5abee89.system.entry.js} +1 -1
  482. package/dist/ionic/{p-3559bd4f.js → p-c8402249.js} +1 -1
  483. package/dist/ionic/{p-5cc9314d.system.entry.js → p-c8c27ae7.system.entry.js} +1 -1
  484. package/dist/ionic/p-cbd5b96a.entry.js +4 -0
  485. package/dist/ionic/p-ccbb47f5.entry.js +4 -0
  486. package/dist/ionic/{p-62d2e17d.entry.js → p-cd239b25.entry.js} +1 -1
  487. package/dist/ionic/{p-89e678fa.js → p-ceaea4ce.js} +1 -1
  488. package/dist/ionic/{p-e0a2abde.system.entry.js → p-d37fdc68.system.entry.js} +1 -1
  489. package/dist/ionic/{p-98aefaa1.system.entry.js → p-d4308e05.system.entry.js} +1 -1
  490. package/dist/ionic/{p-03940ae5.js → p-d60342e3.js} +1 -1
  491. package/dist/ionic/{p-826c4d67.system.entry.js → p-da5ae6cf.system.entry.js} +1 -1
  492. package/dist/ionic/p-dbac4f3e.system.entry.js +4 -0
  493. package/dist/ionic/{p-41d7ca3c.entry.js → p-dc8cbb8b.entry.js} +1 -1
  494. package/dist/ionic/{p-66425a02.system.entry.js → p-dd141012.system.entry.js} +1 -1
  495. package/dist/ionic/p-ded39921.entry.js +4 -0
  496. package/dist/ionic/{p-c52ca485.system.entry.js → p-df4c00a4.system.entry.js} +1 -1
  497. package/dist/ionic/p-df61d353.entry.js +4 -0
  498. package/dist/ionic/p-e394222f.entry.js +4 -0
  499. package/dist/ionic/p-ea925d34.system.entry.js +4 -0
  500. package/dist/ionic/{p-4e0643a3.js → p-ec631b0f.js} +1 -1
  501. package/dist/ionic/p-f11a9436.system.js +5 -0
  502. package/dist/ionic/{p-4200e056.system.entry.js → p-f1ad06bd.system.entry.js} +1 -1
  503. package/dist/ionic/{p-020df11a.entry.js → p-f1b20f28.entry.js} +1 -1
  504. package/dist/ionic/p-f1be5454.entry.js +4 -0
  505. package/dist/ionic/p-f201b53a.system.js +4 -0
  506. package/dist/ionic/{p-3a4d77b9.system.js → p-f30071a2.system.js} +1 -1
  507. package/dist/ionic/{p-b566749e.js → p-f554845e.js} +1 -1
  508. package/dist/ionic/{p-80d837dd.system.js → p-f59611e2.system.js} +1 -1
  509. package/dist/ionic/{p-2c1d4963.system.js → p-f687573e.system.js} +1 -1
  510. package/dist/ionic/{p-717520d6.system.entry.js → p-f97efff5.system.entry.js} +1 -1
  511. package/dist/ionic/{p-a4e7eaf6.system.entry.js → p-f9e7de97.system.entry.js} +1 -1
  512. package/dist/ionic/{p-43bfbfd7.entry.js → p-fd0f8d68.entry.js} +1 -1
  513. package/dist/ionic/p-ff4b7e40.system.js +4 -0
  514. package/dist/types/components/checkbox/checkbox.d.ts +0 -25
  515. package/dist/types/components/modal/animations/sheet.d.ts +0 -1
  516. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  517. package/dist/types/components/modal/modal-interface.d.ts +0 -1
  518. package/dist/types/components/modal/modal.d.ts +0 -14
  519. package/dist/types/components/radio-group/radio-group.d.ts +0 -15
  520. package/dist/types/components/select/select.d.ts +0 -29
  521. package/dist/types/components/toggle/toggle.d.ts +0 -25
  522. package/dist/types/components/toolbar/toolbar.d.ts +0 -4
  523. package/dist/types/components.d.ts +0 -96
  524. package/dist/types/utils/config.d.ts +0 -12
  525. package/dist/types/utils/logging/index.d.ts +1 -13
  526. package/hydrate/index.js +146 -574
  527. package/hydrate/index.mjs +146 -574
  528. package/package.json +2 -2
  529. package/dist/collection/components/radio-group/radio-group.ios.css +0 -205
  530. package/dist/collection/components/radio-group/radio-group.md.css +0 -205
  531. package/dist/esm-es5/app-globals-c10a1137.js +0 -4
  532. package/dist/esm-es5/helpers-13b816c6.js +0 -4
  533. package/dist/esm-es5/index-28849c61.js +0 -5
  534. package/dist/esm-es5/index-ce8d38d0.js +0 -4
  535. package/dist/esm-es5/input-shims-4c3d7279.js +0 -4
  536. package/dist/esm-es5/ionic-global-bf78a847.js +0 -4
  537. package/dist/esm-es5/status-tap-2ce7841e.js +0 -4
  538. package/dist/ionic/p-00d5ab83.entry.js +0 -4
  539. package/dist/ionic/p-0412232d.js +0 -4
  540. package/dist/ionic/p-0ab8caf8.system.entry.js +0 -4
  541. package/dist/ionic/p-16dd9c9b.entry.js +0 -4
  542. package/dist/ionic/p-21ee4f71.system.entry.js +0 -4
  543. package/dist/ionic/p-221fbdf5.entry.js +0 -4
  544. package/dist/ionic/p-25180df3.system.js +0 -5
  545. package/dist/ionic/p-2840743b.entry.js +0 -4
  546. package/dist/ionic/p-29cccf08.entry.js +0 -4
  547. package/dist/ionic/p-2f429536.entry.js +0 -4
  548. package/dist/ionic/p-34182275.entry.js +0 -4
  549. package/dist/ionic/p-38df41a6.system.js +0 -4
  550. package/dist/ionic/p-3e6be709.entry.js +0 -4
  551. package/dist/ionic/p-48e9eedb.entry.js +0 -4
  552. package/dist/ionic/p-4e8946f7.js +0 -4
  553. package/dist/ionic/p-51d4cdba.system.js +0 -4
  554. package/dist/ionic/p-541b5191.entry.js +0 -4
  555. package/dist/ionic/p-5a1017f3.entry.js +0 -4
  556. package/dist/ionic/p-5c364a5b.entry.js +0 -4
  557. package/dist/ionic/p-60f7c85d.entry.js +0 -4
  558. package/dist/ionic/p-62151078.system.entry.js +0 -4
  559. package/dist/ionic/p-623b4fa6.system.entry.js +0 -4
  560. package/dist/ionic/p-6eb35904.js +0 -4
  561. package/dist/ionic/p-6f6dd24f.entry.js +0 -4
  562. package/dist/ionic/p-7af3d1e8.system.entry.js +0 -4
  563. package/dist/ionic/p-7e70835f.js +0 -4
  564. package/dist/ionic/p-845f8d16.js +0 -4
  565. package/dist/ionic/p-85d6d07c.entry.js +0 -4
  566. package/dist/ionic/p-8973b827.system.js +0 -4
  567. package/dist/ionic/p-8aa290af.system.js +0 -4
  568. package/dist/ionic/p-95a11fc4.entry.js +0 -4
  569. package/dist/ionic/p-9a950d3c.entry.js +0 -4
  570. package/dist/ionic/p-a17a1fb9.entry.js +0 -4
  571. package/dist/ionic/p-a3e60403.js +0 -4
  572. package/dist/ionic/p-afba4c00.system.entry.js +0 -4
  573. package/dist/ionic/p-b1c4a9db.js +0 -4
  574. package/dist/ionic/p-be8ecfc1.js +0 -4
  575. package/dist/ionic/p-c1ad8eb0.system.js +0 -4
  576. package/dist/ionic/p-c30c10af.js +0 -4
  577. package/dist/ionic/p-c43872df.entry.js +0 -4
  578. package/dist/ionic/p-c4f9367a.entry.js +0 -4
  579. package/dist/ionic/p-d836d43e.js +0 -5
  580. package/dist/ionic/p-d86d7845.system.js +0 -4
  581. package/dist/ionic/p-d9162cf7.system.entry.js +0 -4
  582. package/dist/ionic/p-e3bd1070.entry.js +0 -4
  583. package/dist/ionic/p-e824ffe7.entry.js +0 -4
  584. package/dist/ionic/p-f4f255cb.system.js +0 -4
  585. package/dist/ionic/p-fe00ac05.system.entry.js +0 -4
@@ -15,67 +15,20 @@ const createEnterAnimation = () => {
15
15
  { offset: 0, opacity: 0.01, transform: 'translateY(40px)' },
16
16
  { offset: 1, opacity: 1, transform: `translateY(0px)` },
17
17
  ]);
18
- return { backdropAnimation, wrapperAnimation, contentAnimation: undefined };
18
+ return { backdropAnimation, wrapperAnimation };
19
19
  };
20
20
  /**
21
21
  * Md Modal Enter Animation
22
22
  */
23
23
  export const mdEnterAnimation = (baseEl, opts) => {
24
- const { currentBreakpoint, expandToScroll } = opts;
24
+ const { currentBreakpoint } = opts;
25
25
  const root = getElementRoot(baseEl);
26
- const { wrapperAnimation, backdropAnimation, contentAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation();
26
+ const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation();
27
27
  backdropAnimation.addElement(root.querySelector('ion-backdrop'));
28
28
  wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
29
- // The content animation is only added if scrolling is enabled for
30
- // all the breakpoints.
31
- expandToScroll && (contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.addElement(baseEl.querySelector('.ion-page')));
32
- const baseAnimation = createAnimation()
29
+ return createAnimation()
33
30
  .addElement(baseEl)
34
31
  .easing('cubic-bezier(0.36,0.66,0.04,1)')
35
32
  .duration(280)
36
- .addAnimation([backdropAnimation, wrapperAnimation])
37
- .beforeAddWrite(() => {
38
- if (expandToScroll) {
39
- // Scroll can only be done when the modal is fully expanded.
40
- return;
41
- }
42
- /**
43
- * There are some browsers that causes flickering when
44
- * dragging the content when scroll is enabled at every
45
- * breakpoint. This is due to the wrapper element being
46
- * transformed off the screen and having a snap animation.
47
- *
48
- * A workaround is to clone the footer element and append
49
- * it outside of the wrapper element. This way, the footer
50
- * is still visible and the drag can be done without
51
- * flickering. The original footer is hidden until the modal
52
- * is dismissed. This maintains the animation of the footer
53
- * when the modal is dismissed.
54
- *
55
- * The workaround needs to be done before the animation starts
56
- * so there are no flickering issues.
57
- */
58
- const ionFooter = baseEl.querySelector('ion-footer');
59
- /**
60
- * This check is needed to prevent more than one footer
61
- * from being appended to the shadow root.
62
- * Otherwise, iOS and MD enter animations would append
63
- * the footer twice.
64
- */
65
- const ionFooterAlreadyAppended = baseEl.shadowRoot.querySelector('ion-footer');
66
- if (ionFooter && !ionFooterAlreadyAppended) {
67
- const footerHeight = ionFooter.clientHeight;
68
- const clonedFooter = ionFooter.cloneNode(true);
69
- baseEl.shadowRoot.appendChild(clonedFooter);
70
- ionFooter.style.setProperty('display', 'none');
71
- ionFooter.setAttribute('aria-hidden', 'true');
72
- // Padding is added to prevent some content from being hidden.
73
- const page = baseEl.querySelector('.ion-page');
74
- page.style.setProperty('padding-bottom', `${footerHeight}px`);
75
- }
76
- });
77
- if (contentAnimation) {
78
- baseAnimation.addAnimation(contentAnimation);
79
- }
80
- return baseAnimation;
33
+ .addAnimation([backdropAnimation, wrapperAnimation]);
81
34
  };
@@ -16,36 +16,13 @@ const createLeaveAnimation = () => {
16
16
  * Md Modal Leave Animation
17
17
  */
18
18
  export const mdLeaveAnimation = (baseEl, opts) => {
19
- const { currentBreakpoint, expandToScroll } = opts;
19
+ const { currentBreakpoint } = opts;
20
20
  const root = getElementRoot(baseEl);
21
21
  const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetLeaveAnimation(opts) : createLeaveAnimation();
22
22
  backdropAnimation.addElement(root.querySelector('ion-backdrop'));
23
23
  wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
24
- const baseAnimation = createAnimation()
24
+ return createAnimation()
25
25
  .easing('cubic-bezier(0.47,0,0.745,0.715)')
26
26
  .duration(200)
27
- .addAnimation([backdropAnimation, wrapperAnimation])
28
- .beforeAddWrite(() => {
29
- if (expandToScroll) {
30
- // Scroll can only be done when the modal is fully expanded.
31
- return;
32
- }
33
- /**
34
- * If expandToScroll is disabled, we need to swap
35
- * the visibility to the original, so the footer
36
- * dismisses with the modal and doesn't stay
37
- * until the modal is removed from the DOM.
38
- */
39
- const ionFooter = baseEl.querySelector('ion-footer');
40
- if (ionFooter) {
41
- const clonedFooter = baseEl.shadowRoot.querySelector('ion-footer');
42
- ionFooter.style.removeProperty('display');
43
- ionFooter.removeAttribute('aria-hidden');
44
- clonedFooter.style.setProperty('display', 'none');
45
- clonedFooter.setAttribute('aria-hidden', 'true');
46
- const page = baseEl.querySelector('.ion-page');
47
- page.style.removeProperty('padding-bottom');
48
- }
49
- });
50
- return baseAnimation;
27
+ .addAnimation([backdropAnimation, wrapperAnimation]);
51
28
  };
@@ -4,7 +4,7 @@
4
4
  import { createAnimation } from "../../../utils/animation/animation";
5
5
  import { getBackdropValueForSheet } from "../utils";
6
6
  export const createSheetEnterAnimation = (opts) => {
7
- const { currentBreakpoint, backdropBreakpoint, expandToScroll } = opts;
7
+ const { currentBreakpoint, backdropBreakpoint } = opts;
8
8
  /**
9
9
  * If the backdropBreakpoint is undefined, then the backdrop
10
10
  * should always fade in. If the backdropBreakpoint came before the
@@ -24,16 +24,7 @@ export const createSheetEnterAnimation = (opts) => {
24
24
  { offset: 0, opacity: 1, transform: 'translateY(100%)' },
25
25
  { offset: 1, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
26
26
  ]);
27
- /**
28
- * This allows the content to be scrollable at any breakpoint.
29
- */
30
- const contentAnimation = !expandToScroll
31
- ? createAnimation('contentAnimation').keyframes([
32
- { offset: 0, opacity: 1, maxHeight: `${(1 - currentBreakpoint) * 100}%` },
33
- { offset: 1, opacity: 1, maxHeight: `${currentBreakpoint * 100}%` },
34
- ])
35
- : undefined;
36
- return { wrapperAnimation, backdropAnimation, contentAnimation };
27
+ return { wrapperAnimation, backdropAnimation };
37
28
  };
38
29
  export const createSheetLeaveAnimation = (opts) => {
39
30
  const { currentBreakpoint, backdropBreakpoint } = opts;
@@ -7,7 +7,7 @@ import { clamp, raf, getElementRoot } from "../../../utils/helpers";
7
7
  import { FOCUS_TRAP_DISABLE_CLASS } from "../../../utils/overlays";
8
8
  import { getBackdropValueForSheet } from "../utils";
9
9
  import { calculateSpringStep, handleCanDismiss } from "./utils";
10
- export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange) => {
10
+ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], getCurrentBreakpoint, onDismiss, onBreakpointChange) => {
11
11
  // Defaults for the sheet swipe animation
12
12
  const defaultBackdrop = [
13
13
  { offset: 0, opacity: 'var(--backdrop-opacity)' },
@@ -24,10 +24,6 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
24
24
  { offset: 1, transform: 'translateY(100%)' },
25
25
  ],
26
26
  BACKDROP_KEYFRAMES: backdropBreakpoint !== 0 ? customBackdrop : defaultBackdrop,
27
- CONTENT_KEYFRAMES: [
28
- { offset: 0, maxHeight: '100%' },
29
- { offset: 1, maxHeight: '0%' },
30
- ],
31
27
  };
32
28
  const contentEl = baseEl.querySelector('ion-content');
33
29
  const height = wrapperEl.clientHeight;
@@ -35,11 +31,10 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
35
31
  let offset = 0;
36
32
  let canDismissBlocksGesture = false;
37
33
  const canDismissMaxStep = 0.95;
38
- const maxBreakpoint = breakpoints[breakpoints.length - 1];
39
- const minBreakpoint = breakpoints[0];
40
34
  const wrapperAnimation = animation.childAnimations.find((ani) => ani.id === 'wrapperAnimation');
41
35
  const backdropAnimation = animation.childAnimations.find((ani) => ani.id === 'backdropAnimation');
42
- const contentAnimation = animation.childAnimations.find((ani) => ani.id === 'contentAnimation');
36
+ const maxBreakpoint = breakpoints[breakpoints.length - 1];
37
+ const minBreakpoint = breakpoints[0];
43
38
  const enableBackdrop = () => {
44
39
  baseEl.style.setProperty('pointer-events', 'auto');
45
40
  backdropEl.style.setProperty('pointer-events', 'auto');
@@ -62,31 +57,6 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
62
57
  */
63
58
  baseEl.classList.add(FOCUS_TRAP_DISABLE_CLASS);
64
59
  };
65
- /**
66
- * Toggles the visible modal footer when `expandToScroll` is disabled.
67
- * @param footer The footer to show.
68
- */
69
- const swapFooterVisibility = (footer) => {
70
- const originalFooter = baseEl.querySelector('ion-footer');
71
- if (!originalFooter) {
72
- return;
73
- }
74
- const clonedFooter = wrapperEl.nextElementSibling;
75
- const footerToHide = footer === 'original' ? clonedFooter : originalFooter;
76
- const footerToShow = footer === 'original' ? originalFooter : clonedFooter;
77
- footerToShow.style.removeProperty('display');
78
- footerToShow.removeAttribute('aria-hidden');
79
- const page = baseEl.querySelector('.ion-page');
80
- if (footer === 'original') {
81
- page.style.removeProperty('padding-bottom');
82
- }
83
- else {
84
- const pagePadding = footerToShow.clientHeight;
85
- page.style.setProperty('padding-bottom', `${pagePadding}px`);
86
- }
87
- footerToHide.style.setProperty('display', 'none');
88
- footerToHide.setAttribute('aria-hidden', 'true');
89
- };
90
60
  /**
91
61
  * After the entering animation completes,
92
62
  * we need to set the animation to go from
@@ -98,7 +68,6 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
98
68
  if (wrapperAnimation && backdropAnimation) {
99
69
  wrapperAnimation.keyframes([...SheetDefaults.WRAPPER_KEYFRAMES]);
100
70
  backdropAnimation.keyframes([...SheetDefaults.BACKDROP_KEYFRAMES]);
101
- contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.keyframes([...SheetDefaults.CONTENT_KEYFRAMES]);
102
71
  animation.progressStart(true, 1 - currentBreakpoint);
103
72
  /**
104
73
  * If backdrop is not enabled, then content
@@ -115,7 +84,7 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
115
84
  disableBackdrop();
116
85
  }
117
86
  }
118
- if (contentEl && currentBreakpoint !== maxBreakpoint && expandToScroll) {
87
+ if (contentEl && currentBreakpoint !== maxBreakpoint) {
119
88
  contentEl.scrollY = false;
120
89
  }
121
90
  const canStart = (detail) => {
@@ -129,14 +98,6 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
129
98
  */
130
99
  const contentEl = findClosestIonContent(detail.event.target);
131
100
  currentBreakpoint = getCurrentBreakpoint();
132
- /**
133
- * If `expandToScroll` is disabled, we should not allow the swipe gesture
134
- * to start if the content is not scrolled to the top.
135
- */
136
- if (!expandToScroll && contentEl) {
137
- const scrollEl = isIonContent(contentEl) ? getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
138
- return scrollEl.scrollTop === 0;
139
- }
140
101
  if (currentBreakpoint === 1 && contentEl) {
141
102
  /**
142
103
  * The modal should never swipe to close on the content with a refresher.
@@ -167,15 +128,6 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
167
128
  * Remove undefined check
168
129
  */
169
130
  canDismissBlocksGesture = baseEl.canDismiss !== undefined && baseEl.canDismiss !== true && minBreakpoint === 0;
170
- /**
171
- * If expandToScroll is disabled, we need to swap
172
- * the footer visibility to the original, so if the modal
173
- * is dismissed, the footer dismisses with the modal
174
- * and doesn't stay on the screen after the modal is gone.
175
- */
176
- if (!expandToScroll) {
177
- swapFooterVisibility('original');
178
- }
179
131
  /**
180
132
  * If we are pulling down, then it is possible we are pulling on the content.
181
133
  * We do not want scrolling to happen at the same time as the gesture.
@@ -193,13 +145,6 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
193
145
  animation.progressStart(true, 1 - currentBreakpoint);
194
146
  };
195
147
  const onMove = (detail) => {
196
- /**
197
- * If `expandToScroll` is disabled, we should not allow the swipe gesture
198
- * to continue if the gesture is not pulling down.
199
- */
200
- if (!expandToScroll && detail.deltaY <= 0) {
201
- return;
202
- }
203
148
  /**
204
149
  * If we are pulling down, then it is possible we are pulling on the content.
205
150
  * We do not want scrolling to happen at the same time as the gesture.
@@ -298,19 +243,6 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
298
243
  opacity: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
299
244
  },
300
245
  ]);
301
- if (contentAnimation) {
302
- /**
303
- * The modal content should scroll at any breakpoint when expandToScroll
304
- * is disabled. In order to do this, the content needs to be completely
305
- * viewable so scrolling can access everything. Otherwise, the default
306
- * behavior would show the content off the screen and only allow
307
- * scrolling when the sheet is fully expanded.
308
- */
309
- contentAnimation.keyframes([
310
- { offset: 0, maxHeight: `${(1 - breakpointOffset) * 100}%` },
311
- { offset: 1, maxHeight: `${snapToBreakpoint * 100}%` },
312
- ]);
313
- }
314
246
  animation.progressStep(0);
315
247
  }
316
248
  /**
@@ -318,14 +250,6 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
318
250
  * snapping animation completes.
319
251
  */
320
252
  gesture.enable(false);
321
- /**
322
- * If expandToScroll is disabled, we need to swap
323
- * the footer visibility to the cloned one so the footer
324
- * doesn't flicker when the sheet's height is animated.
325
- */
326
- if (!expandToScroll && shouldRemainOpen) {
327
- swapFooterVisibility('cloned');
328
- }
329
253
  if (shouldPreventDismiss) {
330
254
  handleCanDismiss(baseEl, animation);
331
255
  }
@@ -333,13 +257,13 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
333
257
  onDismiss();
334
258
  }
335
259
  /**
336
- * Enables scrolling immediately if the sheet is about to fully expand
337
- * or if it allows scrolling at any breakpoint. Without this, there would
338
- * be a ~500ms delay while the modal animation completes, causing a
339
- * noticeable lag. Native iOS allows scrolling as soon as the gesture is
340
- * released, so we align with that behavior.
260
+ * If the sheet is going to be fully expanded then we should enable
261
+ * scrolling immediately. The sheet modal animation takes ~500ms to finish
262
+ * so if we wait until then there is a visible delay for when scrolling is
263
+ * re-enabled. Native iOS allows for scrolling on the sheet modal as soon
264
+ * as the gesture is released, so we align with that.
341
265
  */
342
- if (contentEl && (snapToBreakpoint === breakpoints[breakpoints.length - 1] || !expandToScroll)) {
266
+ if (contentEl && snapToBreakpoint === breakpoints[breakpoints.length - 1]) {
343
267
  contentEl.scrollY = true;
344
268
  }
345
269
  return new Promise((resolve) => {
@@ -357,7 +281,6 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
357
281
  raf(() => {
358
282
  wrapperAnimation.keyframes([...SheetDefaults.WRAPPER_KEYFRAMES]);
359
283
  backdropAnimation.keyframes([...SheetDefaults.BACKDROP_KEYFRAMES]);
360
- contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.keyframes([...SheetDefaults.CONTENT_KEYFRAMES]);
361
284
  animation.progressStart(true, 1 - snapToBreakpoint);
362
285
  currentBreakpoint = snapToBreakpoint;
363
286
  onBreakpointChange(currentBreakpoint);
@@ -201,12 +201,6 @@ ion-backdrop {
201
201
  bottom: 0;
202
202
  }
203
203
 
204
- :host(.modal-sheet.modal-no-expand-scroll) ion-footer {
205
- position: absolute;
206
- bottom: 0;
207
- width: var(--width);
208
- }
209
-
210
204
  /**
211
205
  * Convert a font size to a dynamic font size.
212
206
  * Fonts that participate in Dynamic Type should use
@@ -331,14 +325,4 @@ ion-backdrop {
331
325
  border-start-end-radius: var(--border-radius);
332
326
  border-end-end-radius: 0;
333
327
  border-end-start-radius: 0;
334
- }
335
-
336
- /**
337
- * Sheet modals require an additional padding as mentioned in the
338
- * `core.scss` file. However, there's a workaround that requires
339
- * a cloned footer to be added to the modal. This is only necessary
340
- * because the core styles are not being applied to the cloned footer.
341
- */
342
- :host(.modal-sheet.modal-no-expand-scroll) ion-footer ion-toolbar:first-of-type {
343
- padding-top: 6px;
344
328
  }
@@ -86,7 +86,6 @@ export class Modal {
86
86
  this.enterAnimation = undefined;
87
87
  this.leaveAnimation = undefined;
88
88
  this.breakpoints = undefined;
89
- this.expandToScroll = true;
90
89
  this.initialBreakpoint = undefined;
91
90
  this.backdropBreakpoint = 0;
92
91
  this.handle = undefined;
@@ -302,7 +301,6 @@ export class Modal {
302
301
  presentingEl: presentingElement,
303
302
  currentBreakpoint: this.initialBreakpoint,
304
303
  backdropBreakpoint: this.backdropBreakpoint,
305
- expandToScroll: this.expandToScroll,
306
304
  });
307
305
  /* tslint:disable-next-line */
308
306
  if (typeof window !== 'undefined') {
@@ -353,10 +351,7 @@ export class Modal {
353
351
  // should be in the DOM and referenced by now, except
354
352
  // for the presenting el
355
353
  const animationBuilder = this.leaveAnimation || config.get('modalLeave', iosLeaveAnimation);
356
- const ani = (this.animation = animationBuilder(el, {
357
- presentingEl: this.presentingElement,
358
- expandToScroll: this.expandToScroll,
359
- }));
354
+ const ani = (this.animation = animationBuilder(el, { presentingEl: this.presentingElement }));
360
355
  const contentEl = findIonContent(el);
361
356
  if (!contentEl) {
362
357
  printIonContentErrorMsg(el);
@@ -401,10 +396,9 @@ export class Modal {
401
396
  presentingEl: this.presentingElement,
402
397
  currentBreakpoint: initialBreakpoint,
403
398
  backdropBreakpoint,
404
- expandToScroll: this.expandToScroll,
405
399
  }));
406
400
  ani.progressStart(true, 1);
407
- 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) => {
401
+ 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) => {
408
402
  if (this.currentBreakpoint !== breakpoint) {
409
403
  this.currentBreakpoint = breakpoint;
410
404
  this.ionBreakpointDidChange.emit({ breakpoint });
@@ -482,7 +476,6 @@ export class Modal {
482
476
  presentingEl: presentingElement,
483
477
  currentBreakpoint: (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : this.initialBreakpoint,
484
478
  backdropBreakpoint: this.backdropBreakpoint,
485
- expandToScroll: this.expandToScroll,
486
479
  });
487
480
  if (dismissed) {
488
481
  const { delegate } = this.getDelegate();
@@ -568,23 +561,23 @@ export class Modal {
568
561
  return true;
569
562
  }
570
563
  render() {
571
- const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
564
+ const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap } = this;
572
565
  const showHandle = handle !== false && isSheetModal;
573
566
  const mode = getIonMode(this);
574
567
  const isCardModal = presentingElement !== undefined && mode === 'ios';
575
568
  const isHandleCycle = handleBehavior === 'cycle';
576
- return (h(Host, Object.assign({ key: 'e661562f9e4126136cee337e4ab8ca69ac80faae', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
569
+ return (h(Host, Object.assign({ key: 'b4da5111fe4719fa450c39b2d4bd884a302a7924', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
577
570
  zIndex: `${20000 + this.overlayIndex}`,
578
- }, 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',
571
+ }, 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',
579
572
  /*
580
573
  role and aria-modal must be used on the
581
574
  same element. They must also be set inside the
582
575
  shadow DOM otherwise ion-button will not be highlighted
583
576
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
584
577
  */
585
- 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",
578
+ 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",
586
579
  // Prevents the handle from receiving keyboard focus when it does not cycle
587
- 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' }))));
580
+ 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' }))));
588
581
  }
589
582
  static get is() { return "ion-modal"; }
590
583
  static get encapsulation() { return "shadow"; }
@@ -742,24 +735,6 @@ export class Modal {
742
735
  "text": "The breakpoints to use when creating a sheet modal. Each value in the\narray must be a decimal between 0 and 1 where 0 indicates the modal is fully\nclosed and 1 indicates the modal is fully open. Values are relative\nto the height of the modal, not the height of the screen. One of the values in this\narray must be the value of the `initialBreakpoint` property.\nFor example: [0, .25, .5, 1]"
743
736
  }
744
737
  },
745
- "expandToScroll": {
746
- "type": "boolean",
747
- "mutable": false,
748
- "complexType": {
749
- "original": "boolean",
750
- "resolved": "boolean",
751
- "references": {}
752
- },
753
- "required": false,
754
- "optional": false,
755
- "docs": {
756
- "tags": [],
757
- "text": "Controls whether scrolling or dragging within the sheet modal expands\nit to a larger breakpoint. This only takes effect when `breakpoints`\nand `initialBreakpoint` are set.\n\nIf `true`, scrolling or dragging anywhere in the modal will first expand\nit to the next breakpoint. Once fully expanded, scrolling will affect the\ncontent.\nIf `false`, scrolling will always affect the content. The modal will\nonly expand when dragging the header or handle. The modal will close when\ndragging the header or handle. It can also be closed when dragging the\ncontent, but only if the content is scrolled to the top."
758
- },
759
- "attribute": "expand-to-scroll",
760
- "reflect": false,
761
- "defaultValue": "true"
762
- },
763
738
  "initialBreakpoint": {
764
739
  "type": "number",
765
740
  "mutable": false,
@@ -201,12 +201,6 @@ ion-backdrop {
201
201
  bottom: 0;
202
202
  }
203
203
 
204
- :host(.modal-sheet.modal-no-expand-scroll) ion-footer {
205
- position: absolute;
206
- bottom: 0;
207
- width: var(--width);
208
- }
209
-
210
204
  /**
211
205
  * Convert a font size to a dynamic font size.
212
206
  * Fonts that participate in Dynamic Type should use
@@ -830,7 +830,7 @@ export class Nav {
830
830
  }
831
831
  }
832
832
  render() {
833
- return h("slot", { key: '71e9b5d07fc90ca5534197a63a003a4154aabd59' });
833
+ return h("slot", { key: 'dfe98cb6604a2015a49f41beffebdd2da957dfff' });
834
834
  }
835
835
  static get is() { return "ion-nav"; }
836
836
  static get encapsulation() { return "shadow"; }
@@ -14,7 +14,7 @@ export class NavLink {
14
14
  this.routerAnimation = undefined;
15
15
  }
16
16
  render() {
17
- return h(Host, { key: '9ba170d1b10e08e8a6b5e6a30d363871d455a0a9', onClick: this.onClick });
17
+ return h(Host, { key: 'd2f8545b4fbd5aa25ef36eb01dffbc5d35ccfbb9', onClick: this.onClick });
18
18
  }
19
19
  static get is() { return "ion-nav-link"; }
20
20
  static get properties() {
@@ -13,9 +13,9 @@ export class Note {
13
13
  }
14
14
  render() {
15
15
  const mode = getIonMode(this);
16
- return (h(Host, { key: '3c3d9b2aa805c0bc1fdc6270a2bbf4dcc1b96c5b', class: createColorClasses(this.color, {
16
+ return (h(Host, { key: '10a3495bc21166176986441479f8f7539029d161', class: createColorClasses(this.color, {
17
17
  [mode]: true,
18
- }) }, h("slot", { key: '39e34682009fcb705ecafe51825162734bdf14d3' })));
18
+ }) }, h("slot", { key: 'b6a9459e1b85f608fafd060a4bfeb11637ebe873' })));
19
19
  }
20
20
  static get is() { return "ion-note"; }
21
21
  static get encapsulation() { return "shadow"; }
@@ -76,10 +76,10 @@ export class PickerColumnOption {
76
76
  render() {
77
77
  const { color, disabled, ariaLabel } = this;
78
78
  const mode = getIonMode(this);
79
- return (h(Host, { key: 'c1353e99c2aa19c0e3ddbe433557ed18e72e1c66', class: createColorClasses(color, {
79
+ return (h(Host, { key: 'c743c6ef44bb9f765cc15b3b5d2864de6520203a', class: createColorClasses(color, {
80
80
  [mode]: true,
81
81
  ['option-disabled']: disabled,
82
- }) }, h("button", { key: 'b4ee62ecf7458a07a56e8aa494485766a87a3fcb', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, h("slot", { key: '9ab1e4700c27103b676670a4b3521c183c6ab83d' }))));
82
+ }) }, h("button", { key: '4c3d9eb245c52b2c007f727e145cfb55759bd7a9', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, h("slot", { key: '4c907d2187cbe9d5941e27f2b12578e2b7271461' }))));
83
83
  }
84
84
  static get is() { return "ion-picker-column-option"; }
85
85
  static get encapsulation() { return "shadow"; }
@@ -185,11 +185,11 @@ export class Picker {
185
185
  render() {
186
186
  const { htmlAttributes } = this;
187
187
  const mode = getIonMode(this);
188
- return (h(Host, Object.assign({ key: 'dc03f252e3b59a94bc7132c953d2d3b36b62237e', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
188
+ return (h(Host, Object.assign({ key: '0712fa8732141848e50ad2e08e2ba66ef2a48991', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
189
189
  zIndex: `${20000 + this.overlayIndex}`,
190
190
  }, class: Object.assign({ [mode]: true,
191
191
  // Used internally for styling
192
- [`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), h("ion-backdrop", { key: 'bdabe9c82c41f96da5dafb1a0aa0854fa7e7ec93', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: '1380e0c8989153b425674753764f12f253f4a738', tabindex: "0", "aria-hidden": "true" }), h("div", { key: 'edec769bbc0993d003852d0bf1123e6e2332ebbe', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, h("div", { key: 'b82c67ff47aa9412a6ff8f3b2e6230b855e92c51', class: "picker-toolbar" }, this.buttons.map((b) => (h("div", { class: buttonWrapperClass(b) }, h("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass(b) }, b.text))))), h("div", { key: '76485b643387f36b6b3d5f85e4d072fa18e68552', class: "picker-columns" }, h("div", { key: '99268217263feb5285db1b1acd48fd0e4d5f0e7b', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => h("ion-picker-legacy-column", { col: c })), h("div", { key: '2dd7e488bc4e9695094f0758567e626e0bb5979d', class: "picker-below-highlight" }))), h("div", { key: '8b2f3ae798a4ddcdd4e2716ebba1de797e446ac4', tabindex: "0", "aria-hidden": "true" })));
192
+ [`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), h("ion-backdrop", { key: 'c997632ef0488698739664012de5a6494de438b6', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: '20045054a76cca997b410835fa6b305af22dcb12', tabindex: "0", "aria-hidden": "true" }), h("div", { key: 'a73a6ac20b685ed9694d4fa95ea236ce5d63fdbf', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, h("div", { key: '1221cdcc2ff013deeba12170129c8fe78308330c', class: "picker-toolbar" }, this.buttons.map((b) => (h("div", { class: buttonWrapperClass(b) }, h("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass(b) }, b.text))))), h("div", { key: '45038a58430a4251100797b902e7034243137564', class: "picker-columns" }, h("div", { key: 'c579bb69cddd4090912855ffd7f59536280f34b9', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => h("ion-picker-legacy-column", { col: c })), h("div", { key: '978c6632d82a97d053b729c9de65dd3af4c4cee2', class: "picker-below-highlight" }))), h("div", { key: 'e7e9dc437a3cf6d559e2cb0df71af69047a2ae31', tabindex: "0", "aria-hidden": "true" })));
193
193
  }
194
194
  static get is() { return "ion-picker-legacy"; }
195
195
  static get encapsulation() { return "scoped"; }
@@ -336,9 +336,9 @@ export class PickerColumnCmp {
336
336
  render() {
337
337
  const col = this.col;
338
338
  const mode = getIonMode(this);
339
- 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: {
339
+ 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: {
340
340
  'max-width': this.col.columnWidth,
341
- } }, 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))));
341
+ } }, 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))));
342
342
  }
343
343
  static get is() { return "ion-picker-legacy-column"; }
344
344
  static get originalStyleUrls() {
@@ -338,9 +338,9 @@ export class Popover {
338
338
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
339
339
  const desktop = isPlatform('desktop');
340
340
  const enableArrow = arrow && !parentPopover;
341
- return (h(Host, Object.assign({ key: '48f108a9b74f121559626889dd5a1fcccf38fc3d', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
341
+ return (h(Host, Object.assign({ key: 'ffe8b37c9ffb5cac210a7307e6cdfcf78712905b', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
342
342
  zIndex: `${20000 + this.overlayIndex}`,
343
- }, 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' })))));
343
+ }, 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' })))));
344
344
  }
345
345
  static get is() { return "ion-popover"; }
346
346
  static get encapsulation() { return "shadow"; }
@@ -28,7 +28,7 @@ export class ProgressBar {
28
28
  const mode = getIonMode(this);
29
29
  // If the progress is displayed as a solid bar.
30
30
  const progressSolid = buffer === 1;
31
- return (h(Host, { key: 'd60eeaa18aaee607e083c0ef9d0de8178d47c4cd', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses(color, {
31
+ return (h(Host, { key: '8d8ddf0b26fe33803d3a6168cbedd523d1a888e7', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses(color, {
32
32
  [mode]: true,
33
33
  [`progress-bar-${type}`]: true,
34
34
  'progress-paused': paused,
@@ -120,7 +120,7 @@ export class Radio {
120
120
  const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
121
121
  const mode = getIonMode(this);
122
122
  const inItem = hostContext('ion-item', el);
123
- return (h(Host, { key: '8badd4aec277addc0793e14df21f73bb345e99b7', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses(color, {
123
+ return (h(Host, { key: '5a0adab55ad009305de4856fa1b9f93f2279a734', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses(color, {
124
124
  [mode]: true,
125
125
  'in-item': inItem,
126
126
  'radio-checked': checked,
@@ -131,10 +131,10 @@ export class Radio {
131
131
  // Focus and active styling should not apply when the radio is in an item
132
132
  'ion-activatable': !inItem,
133
133
  'ion-focusable': !inItem,
134
- }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, h("label", { key: '8765b847edc93a1b5a16506e155ed03da807bb10', class: "radio-wrapper" }, h("div", { key: '3d568a0192a32d4f0b8a920019c79ff02639b5c9', class: {
134
+ }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, h("label", { key: 'f5673a798e6d87868339f046445f707e1d93b7b6', class: "radio-wrapper" }, h("div", { key: 'e9190c06f75a171cab63e3f74ccf771c3ed87005', class: {
135
135
  'label-text-wrapper': true,
136
136
  'label-text-wrapper-hidden': !hasLabel,
137
- }, part: "label" }, h("slot", { key: '331f3dc2ce5f6ed8f124fc4560f92e0f7c668a85' })), h("div", { key: '473bd4aaf448753e385f2dda3fddc9f56379aa19', class: "native-wrapper" }, this.renderRadioControl()))));
137
+ }, part: "label" }, h("slot", { key: '6cedf4e7b3bd03e4a635727dd7b6094bab64af64' })), h("div", { key: '26dd48d9d2848b7f100b732abdc4a3171adde483', class: "native-wrapper" }, this.renderRadioControl()))));
138
138
  }
139
139
  static get is() { return "ion-radio"; }
140
140
  static get encapsulation() { return "shadow"; }