@ionic/core 8.4.4-dev.11741027468.1f4941f2 → 8.4.4-dev.11741030124.1142ac6a

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 (249) hide show
  1. package/components/checkbox.js +4 -6
  2. package/components/index6.js +3 -11
  3. package/components/ion-select.js +4 -6
  4. package/components/ion-toggle.js +4 -6
  5. package/components/modal.js +35 -259
  6. package/components/toolbar.js +2 -2
  7. package/css/core.css.map +1 -1
  8. package/css/ionic.bundle.css.map +1 -1
  9. package/dist/cjs/{data-108e531d.js → data-21dc0f81.js} +1 -1
  10. package/dist/cjs/{index-0ff61d0b.js → index-1ae3f40a.js} +1 -1
  11. package/dist/cjs/{index-26bb7e42.js → index-4e14a46e.js} +3 -3
  12. package/dist/cjs/{index-2a46a047.js → index-5915f9b3.js} +3 -11
  13. package/dist/cjs/{index-6770fc00.js → index-c441c903.js} +1 -1
  14. package/dist/cjs/index.cjs.js +6 -6
  15. package/dist/cjs/{input-shims-fd997b01.js → input-shims-e748a364.js} +2 -4
  16. package/dist/cjs/{input.utils-c15a1814.js → input.utils-74e4ec28.js} +1 -1
  17. package/dist/cjs/ion-accordion_2.cjs.entry.js +1 -1
  18. package/dist/cjs/ion-action-sheet.cjs.entry.js +2 -2
  19. package/dist/cjs/ion-alert.cjs.entry.js +2 -2
  20. package/dist/cjs/ion-app_8.cjs.entry.js +7 -7
  21. package/dist/cjs/ion-button_2.cjs.entry.js +1 -1
  22. package/dist/cjs/ion-checkbox.cjs.entry.js +4 -5
  23. package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
  24. package/dist/cjs/ion-datetime_3.cjs.entry.js +3 -3
  25. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
  26. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +1 -1
  27. package/dist/cjs/ion-input.cjs.entry.js +2 -2
  28. package/dist/cjs/ion-item-option_3.cjs.entry.js +2 -2
  29. package/dist/cjs/ion-loading.cjs.entry.js +2 -2
  30. package/dist/cjs/ion-menu_3.cjs.entry.js +3 -3
  31. package/dist/cjs/ion-modal.cjs.entry.js +39 -262
  32. package/dist/cjs/ion-nav_2.cjs.entry.js +2 -2
  33. package/dist/cjs/ion-popover.cjs.entry.js +3 -3
  34. package/dist/cjs/ion-range.cjs.entry.js +2 -2
  35. package/dist/cjs/ion-refresher_2.cjs.entry.js +2 -2
  36. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  37. package/dist/cjs/ion-select-modal.cjs.entry.js +2 -2
  38. package/dist/cjs/ion-select_3.cjs.entry.js +6 -7
  39. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  40. package/dist/cjs/ion-toast.cjs.entry.js +2 -2
  41. package/dist/cjs/ion-toggle.cjs.entry.js +4 -5
  42. package/dist/cjs/ionic.cjs.js +1 -1
  43. package/dist/cjs/{ios.transition-a4f35c55.js → ios.transition-afdec89f.js} +2 -2
  44. package/dist/cjs/loader.cjs.js +1 -1
  45. package/dist/cjs/{md.transition-cdf904e6.js → md.transition-9f0d3db5.js} +2 -2
  46. package/dist/cjs/{overlays-86695cf1.js → overlays-76b29cd4.js} +1 -1
  47. package/dist/cjs/{status-tap-1a2485c1.js → status-tap-fb807fad.js} +2 -3
  48. package/dist/collection/components/checkbox/checkbox.js +4 -23
  49. package/dist/collection/components/modal/animations/ios.enter.js +4 -50
  50. package/dist/collection/components/modal/animations/ios.leave.js +2 -24
  51. package/dist/collection/components/modal/animations/md.enter.js +5 -52
  52. package/dist/collection/components/modal/animations/md.leave.js +3 -26
  53. package/dist/collection/components/modal/animations/sheet.js +2 -11
  54. package/dist/collection/components/modal/gestures/sheet.js +10 -79
  55. package/dist/collection/components/modal/modal.ios.css +0 -16
  56. package/dist/collection/components/modal/modal.js +7 -32
  57. package/dist/collection/components/modal/modal.md.css +0 -6
  58. package/dist/collection/components/select/select.js +4 -23
  59. package/dist/collection/components/toggle/toggle.js +4 -23
  60. package/dist/collection/components/toolbar/toolbar.js +2 -6
  61. package/dist/collection/utils/logging/index.js +3 -10
  62. package/dist/docs.json +2 -115
  63. package/dist/esm/{data-b3284b5e.js → data-ae11fd43.js} +1 -1
  64. package/dist/esm/{index-dd0f7395.js → index-33f7e3ff.js} +1 -1
  65. package/dist/esm/{index-6a5baab0.js → index-7ec5519a.js} +3 -3
  66. package/dist/esm/{index-7105cd59.js → index-8785a9c6.js} +1 -1
  67. package/dist/esm/{index-6ad967f3.js → index-9b0d46f4.js} +3 -11
  68. package/dist/esm/index.js +6 -6
  69. package/dist/esm/{input-shims-dff819a9.js → input-shims-0e65111b.js} +2 -4
  70. package/dist/esm/{input.utils-2f1029cf.js → input.utils-1ad8dafc.js} +1 -1
  71. package/dist/esm/ion-accordion_2.entry.js +1 -1
  72. package/dist/esm/ion-action-sheet.entry.js +2 -2
  73. package/dist/esm/ion-alert.entry.js +2 -2
  74. package/dist/esm/ion-app_8.entry.js +7 -7
  75. package/dist/esm/ion-button_2.entry.js +1 -1
  76. package/dist/esm/ion-checkbox.entry.js +4 -5
  77. package/dist/esm/ion-datetime-button.entry.js +2 -2
  78. package/dist/esm/ion-datetime_3.entry.js +3 -3
  79. package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
  80. package/dist/esm/ion-input-password-toggle.entry.js +1 -1
  81. package/dist/esm/ion-input.entry.js +2 -2
  82. package/dist/esm/ion-item-option_3.entry.js +2 -2
  83. package/dist/esm/ion-loading.entry.js +2 -2
  84. package/dist/esm/ion-menu_3.entry.js +3 -3
  85. package/dist/esm/ion-modal.entry.js +39 -262
  86. package/dist/esm/ion-nav_2.entry.js +2 -2
  87. package/dist/esm/ion-popover.entry.js +3 -3
  88. package/dist/esm/ion-range.entry.js +2 -2
  89. package/dist/esm/ion-refresher_2.entry.js +2 -2
  90. package/dist/esm/ion-reorder_2.entry.js +2 -2
  91. package/dist/esm/ion-select-modal.entry.js +2 -2
  92. package/dist/esm/ion-select_3.entry.js +6 -7
  93. package/dist/esm/ion-textarea.entry.js +2 -2
  94. package/dist/esm/ion-toast.entry.js +2 -2
  95. package/dist/esm/ion-toggle.entry.js +4 -5
  96. package/dist/esm/ionic.js +1 -1
  97. package/dist/esm/{ios.transition-314468a2.js → ios.transition-085853ff.js} +2 -2
  98. package/dist/esm/loader.js +1 -1
  99. package/dist/esm/{md.transition-a560e0e2.js → md.transition-33826623.js} +2 -2
  100. package/dist/esm/{overlays-9a81f230.js → overlays-e3d0d356.js} +1 -1
  101. package/dist/esm/{status-tap-d07dbc82.js → status-tap-163e8128.js} +2 -3
  102. package/dist/esm-es5/{data-b3284b5e.js → data-ae11fd43.js} +1 -1
  103. package/dist/esm-es5/{index-dd0f7395.js → index-33f7e3ff.js} +1 -1
  104. package/dist/esm-es5/{index-6a5baab0.js → index-7ec5519a.js} +1 -1
  105. package/dist/esm-es5/{index-7105cd59.js → index-8785a9c6.js} +1 -1
  106. package/dist/esm-es5/index-9b0d46f4.js +4 -0
  107. package/dist/esm-es5/index.js +1 -1
  108. package/dist/esm-es5/input-shims-0e65111b.js +4 -0
  109. package/dist/esm-es5/{input.utils-2f1029cf.js → input.utils-1ad8dafc.js} +1 -1
  110. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  111. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  112. package/dist/esm-es5/ion-alert.entry.js +1 -1
  113. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  114. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  115. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  116. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  117. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  118. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  119. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  120. package/dist/esm-es5/ion-input.entry.js +1 -1
  121. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  122. package/dist/esm-es5/ion-loading.entry.js +1 -1
  123. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  124. package/dist/esm-es5/ion-modal.entry.js +1 -1
  125. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  126. package/dist/esm-es5/ion-popover.entry.js +1 -1
  127. package/dist/esm-es5/ion-range.entry.js +1 -1
  128. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  129. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  130. package/dist/esm-es5/ion-select-modal.entry.js +1 -1
  131. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  132. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  133. package/dist/esm-es5/ion-toast.entry.js +1 -1
  134. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  135. package/dist/esm-es5/ionic.js +1 -1
  136. package/dist/esm-es5/{ios.transition-314468a2.js → ios.transition-085853ff.js} +1 -1
  137. package/dist/esm-es5/loader.js +1 -1
  138. package/dist/esm-es5/md.transition-33826623.js +4 -0
  139. package/dist/esm-es5/{overlays-9a81f230.js → overlays-e3d0d356.js} +1 -1
  140. package/dist/esm-es5/status-tap-163e8128.js +4 -0
  141. package/dist/html.html-data.json +0 -16
  142. package/dist/ionic/index.esm.js +1 -1
  143. package/dist/ionic/ionic.esm.js +1 -1
  144. package/dist/ionic/{p-c935cfc9.js → p-02e1ebd9.js} +1 -1
  145. package/dist/ionic/{p-037fc3f3.entry.js → p-0397811d.entry.js} +1 -1
  146. package/dist/ionic/p-06fee233.js +4 -0
  147. package/dist/ionic/p-075a94bd.js +4 -0
  148. package/dist/ionic/p-0a59f4fa.entry.js +4 -0
  149. package/dist/ionic/{p-18e101b7.system.entry.js → p-0c9b6d3a.system.entry.js} +1 -1
  150. package/dist/ionic/p-0e43be1b.entry.js +4 -0
  151. package/dist/ionic/p-0ee3b5a2.system.js +4 -0
  152. package/dist/ionic/p-135e5731.js +4 -0
  153. package/dist/ionic/{p-990630ca.js → p-13dc21b0.js} +1 -1
  154. package/dist/ionic/{p-d7bb5325.entry.js → p-14143257.entry.js} +1 -1
  155. package/dist/ionic/{p-a584c79d.system.entry.js → p-162c8d0c.system.entry.js} +1 -1
  156. package/dist/ionic/{p-578efda4.system.js → p-1a790eef.system.js} +2 -2
  157. package/dist/ionic/{p-5010643d.system.entry.js → p-1bbe8665.system.entry.js} +2 -2
  158. package/dist/ionic/{p-5882bffa.system.entry.js → p-1bc65aec.system.entry.js} +1 -1
  159. package/dist/ionic/{p-70af0afb.entry.js → p-203633d1.entry.js} +1 -1
  160. package/dist/ionic/p-25fa1d30.system.entry.js +4 -0
  161. package/dist/ionic/{p-9de5c787.entry.js → p-26194519.entry.js} +1 -1
  162. package/dist/ionic/p-322c5fb4.system.js +1 -1
  163. package/dist/ionic/{p-155c2bb0.entry.js → p-32e99b0a.entry.js} +1 -1
  164. package/dist/ionic/{p-8e407469.system.js → p-340e3f24.system.js} +1 -1
  165. package/dist/ionic/{p-d821466d.system.entry.js → p-3572f86a.system.entry.js} +1 -1
  166. package/dist/ionic/{p-63c09585.system.entry.js → p-3df889b3.system.entry.js} +1 -1
  167. package/dist/ionic/{p-e32557bb.system.entry.js → p-3eaf1444.system.entry.js} +1 -1
  168. package/dist/ionic/{p-39dd4f62.js → p-42808996.js} +1 -1
  169. package/dist/ionic/{p-efbf5af5.system.entry.js → p-4346c79d.system.entry.js} +1 -1
  170. package/dist/ionic/{p-36c448fe.entry.js → p-45de8d2a.entry.js} +1 -1
  171. package/dist/ionic/{p-acc8399c.system.entry.js → p-48a8d9b4.system.entry.js} +2 -2
  172. package/dist/ionic/{p-e5849f8d.entry.js → p-4c252070.entry.js} +1 -1
  173. package/dist/ionic/p-51dec25d.js +4 -0
  174. package/dist/ionic/{p-484d855b.system.entry.js → p-561ddcd4.system.entry.js} +1 -1
  175. package/dist/ionic/{p-bc616455.entry.js → p-57379000.entry.js} +1 -1
  176. package/dist/ionic/{p-a5b31c0f.entry.js → p-57ceead7.entry.js} +1 -1
  177. package/dist/ionic/{p-97a65908.entry.js → p-5cde8ef3.entry.js} +1 -1
  178. package/dist/ionic/p-61d044b4.entry.js +4 -0
  179. package/dist/ionic/p-68dc53a5.js +4 -0
  180. package/dist/ionic/{p-2cbe5399.entry.js → p-6b1bd0c1.entry.js} +1 -1
  181. package/dist/ionic/{p-31a6efce.system.entry.js → p-7b96e5c1.system.entry.js} +1 -1
  182. package/dist/ionic/{p-5fe8b767.entry.js → p-803f0bc2.entry.js} +1 -1
  183. package/dist/ionic/{p-9962f63f.entry.js → p-82b931e2.entry.js} +1 -1
  184. package/dist/ionic/{p-8818edd8.entry.js → p-83e68c71.entry.js} +1 -1
  185. package/dist/ionic/p-84b1b9a0.entry.js +4 -0
  186. package/dist/ionic/{p-af452fa4.system.js → p-881d9e52.system.js} +1 -1
  187. package/dist/ionic/p-8a836849.entry.js +4 -0
  188. package/dist/ionic/{p-af744710.system.entry.js → p-91f17b25.system.entry.js} +2 -2
  189. package/dist/ionic/{p-d1172fe3.system.entry.js → p-9a1f985d.system.entry.js} +1 -1
  190. package/dist/ionic/{p-eeb5cb45.system.entry.js → p-9be5f3ee.system.entry.js} +1 -1
  191. package/dist/ionic/{p-acb30a5c.system.js → p-9eee4de1.system.js} +1 -1
  192. package/dist/ionic/{p-860eb968.system.js → p-a2b6dd57.system.js} +1 -1
  193. package/dist/ionic/{p-10327ad2.system.entry.js → p-a3c78186.system.entry.js} +1 -1
  194. package/dist/ionic/{p-4d413973.system.entry.js → p-a4575db1.system.entry.js} +1 -1
  195. package/dist/ionic/{p-73897169.system.js → p-aa63b365.system.js} +1 -1
  196. package/dist/ionic/{p-155f4d90.entry.js → p-b0d8bbee.entry.js} +1 -1
  197. package/dist/ionic/p-b7433d7d.js +4 -0
  198. package/dist/ionic/{p-65346408.system.entry.js → p-b91acf8d.system.entry.js} +1 -1
  199. package/dist/ionic/{p-d99e8644.system.js → p-c1b51537.system.js} +1 -1
  200. package/dist/ionic/{p-8cfba7e9.system.entry.js → p-c29f8157.system.entry.js} +1 -1
  201. package/dist/ionic/{p-72ec9a26.entry.js → p-cc700b6b.entry.js} +1 -1
  202. package/dist/ionic/{p-0bfffa34.system.entry.js → p-d06601eb.system.entry.js} +1 -1
  203. package/dist/ionic/{p-93e3654c.system.entry.js → p-d192fdf7.system.entry.js} +1 -1
  204. package/dist/ionic/{p-7ae680ba.system.entry.js → p-d3b26da4.system.entry.js} +1 -1
  205. package/dist/ionic/{p-1a5bc5f7.js → p-d60342e3.js} +1 -1
  206. package/dist/ionic/{p-89bf08c7.entry.js → p-da074ff7.entry.js} +1 -1
  207. package/dist/ionic/{p-fec13c57.entry.js → p-e1bbacb7.entry.js} +1 -1
  208. package/dist/ionic/{p-179bf9d1.system.entry.js → p-e265ae18.system.entry.js} +1 -1
  209. package/dist/ionic/{p-fbf86e62.system.js → p-e308de5b.system.js} +1 -1
  210. package/dist/ionic/{p-655723eb.system.entry.js → p-e456ee59.system.entry.js} +1 -1
  211. package/dist/ionic/{p-058e61eb.system.js → p-e8232807.system.js} +1 -1
  212. package/dist/ionic/{p-80c6d619.entry.js → p-e97a3f44.entry.js} +1 -1
  213. package/dist/ionic/{p-f5d6624d.entry.js → p-f42743d1.entry.js} +1 -1
  214. package/dist/ionic/{p-4d3a5f86.js → p-f5035354.js} +1 -1
  215. package/dist/ionic/{p-343b6b1d.system.js → p-f687573e.system.js} +1 -1
  216. package/dist/ionic/p-ff4b7e40.system.js +4 -0
  217. package/dist/ionic/{p-f56752be.system.entry.js → p-ffc48bc5.system.entry.js} +1 -1
  218. package/dist/types/components/checkbox/checkbox.d.ts +0 -6
  219. package/dist/types/components/modal/animations/sheet.d.ts +0 -1
  220. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  221. package/dist/types/components/modal/modal-interface.d.ts +0 -1
  222. package/dist/types/components/modal/modal.d.ts +0 -11
  223. package/dist/types/components/select/select.d.ts +0 -6
  224. package/dist/types/components/toggle/toggle.d.ts +0 -6
  225. package/dist/types/components/toolbar/toolbar.d.ts +0 -4
  226. package/dist/types/components.d.ts +0 -32
  227. package/dist/types/utils/config.d.ts +0 -9
  228. package/dist/types/utils/logging/index.d.ts +1 -13
  229. package/hydrate/index.js +52 -292
  230. package/hydrate/index.mjs +52 -292
  231. package/package.json +2 -2
  232. package/dist/esm-es5/index-6ad967f3.js +0 -4
  233. package/dist/esm-es5/input-shims-dff819a9.js +0 -4
  234. package/dist/esm-es5/md.transition-a560e0e2.js +0 -4
  235. package/dist/esm-es5/status-tap-d07dbc82.js +0 -4
  236. package/dist/ionic/p-21227121.js +0 -4
  237. package/dist/ionic/p-22149a4f.js +0 -4
  238. package/dist/ionic/p-34479cfb.entry.js +0 -4
  239. package/dist/ionic/p-346b2baf.js +0 -4
  240. package/dist/ionic/p-3e99e3e0.entry.js +0 -4
  241. package/dist/ionic/p-42c9deb1.entry.js +0 -4
  242. package/dist/ionic/p-52245809.js +0 -4
  243. package/dist/ionic/p-5c9324c6.js +0 -4
  244. package/dist/ionic/p-67222c16.system.js +0 -4
  245. package/dist/ionic/p-712fedc9.entry.js +0 -4
  246. package/dist/ionic/p-a18470c6.entry.js +0 -4
  247. package/dist/ionic/p-c3802319.system.js +0 -4
  248. package/dist/ionic/p-e8d56122.js +0 -4
  249. package/dist/ionic/p-f2613334.system.entry.js +0 -4
package/hydrate/index.mjs CHANGED
@@ -3223,12 +3223,9 @@ let accordionIds = 0;
3223
3223
  * @param message - The string message to be logged to the console.
3224
3224
  */
3225
3225
  const printIonWarning = (message, ...params) => {
3226
- const logLevel = config.get('logLevel', "WARN" /* LogLevel.WARN */);
3227
- if (["WARN" /* LogLevel.WARN */].includes(logLevel)) {
3228
- return console.warn(`[Ionic Warning]: ${message}`, ...params);
3229
- }
3226
+ return console.warn(`[Ionic Warning]: ${message}`, ...params);
3230
3227
  };
3231
- /**
3228
+ /*
3232
3229
  * Logs an error to the console with an Ionic prefix
3233
3230
  * to indicate the library that is warning the developer.
3234
3231
  *
@@ -3236,10 +3233,7 @@ const printIonWarning = (message, ...params) => {
3236
3233
  * @param params - Additional arguments to supply to the console.error.
3237
3234
  */
3238
3235
  const printIonError = (message, ...params) => {
3239
- const logLevel = config.get('logLevel', "ERROR" /* LogLevel.ERROR */);
3240
- if (["ERROR" /* LogLevel.ERROR */, "WARN" /* LogLevel.WARN */].includes(logLevel)) {
3241
- return console.error(`[Ionic Error]: ${message}`, ...params);
3242
- }
3236
+ return console.error(`[Ionic Error]: ${message}`, ...params);
3243
3237
  };
3244
3238
  /**
3245
3239
  * Prints an error informing developers that an implementation requires an element to be used
@@ -8503,7 +8497,6 @@ class Checkbox {
8503
8497
  this.labelPlacement = 'start';
8504
8498
  this.justify = undefined;
8505
8499
  this.alignment = undefined;
8506
- this.required = false;
8507
8500
  }
8508
8501
  componentWillLoad() {
8509
8502
  this.inheritedAttributes = Object.assign({}, inheritAriaAttributes(this.el));
@@ -8515,11 +8508,11 @@ class Checkbox {
8515
8508
  }
8516
8509
  }
8517
8510
  render() {
8518
- const { color, checked, disabled, el, getSVGPath, indeterminate, inheritedAttributes, inputId, justify, labelPlacement, name, value, alignment, required, } = this;
8511
+ const { color, checked, disabled, el, getSVGPath, indeterminate, inheritedAttributes, inputId, justify, labelPlacement, name, value, alignment, } = this;
8519
8512
  const mode = getIonMode$1(this);
8520
8513
  const path = getSVGPath(mode, indeterminate);
8521
8514
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
8522
- return (hAsync(Host, { key: '07a5884062dd256b570e856270c74a5a09d2f2a5', "aria-checked": indeterminate ? 'mixed' : `${checked}`, class: createColorClasses$1(color, {
8515
+ return (hAsync(Host, { key: '6dc787e1100521d08c4900104e1a3e2f594e919f', "aria-checked": indeterminate ? 'mixed' : `${checked}`, class: createColorClasses$1(color, {
8523
8516
  [mode]: true,
8524
8517
  'in-item': hostContext('ion-item', el),
8525
8518
  'checkbox-checked': checked,
@@ -8529,10 +8522,10 @@ class Checkbox {
8529
8522
  [`checkbox-justify-${justify}`]: justify !== undefined,
8530
8523
  [`checkbox-alignment-${alignment}`]: alignment !== undefined,
8531
8524
  [`checkbox-label-placement-${labelPlacement}`]: true,
8532
- }), onClick: this.onClick }, hAsync("label", { key: '3439d546e8b60187421db698eab63a0bdd31c973', class: "checkbox-wrapper" }, hAsync("input", Object.assign({ key: '9f45cf7dbdedcf01ec132c11e16979adb1aa102f', type: "checkbox", checked: checked ? true : undefined, disabled: disabled, id: inputId, onChange: this.toggleChecked, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl), required: required }, inheritedAttributes)), hAsync("div", { key: '4e882f98939cc4b7c7ab7459c751d3f4bb2023fe', class: {
8525
+ }), onClick: this.onClick }, hAsync("label", { key: '68222fb736a5ec3f2e488649b0e2ce0417dcb224', class: "checkbox-wrapper" }, hAsync("input", Object.assign({ key: 'f12962d7e9b19c744cfdbdeccc67ae7f5d080281', type: "checkbox", checked: checked ? true : undefined, disabled: disabled, id: inputId, onChange: this.toggleChecked, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl) }, inheritedAttributes)), hAsync("div", { key: 'c72df2699414b1e5a41a1bc267bc634f0c93dcff', class: {
8533
8526
  'label-text-wrapper': true,
8534
8527
  'label-text-wrapper-hidden': el.textContent === '',
8535
- }, part: "label" }, hAsync("slot", { key: '0abda81297a086d02c4a56af75005547971dfcfe' })), hAsync("div", { key: '36489ea3f48a7d0ec46b77c243f9f253ef5c2b3b', class: "native-wrapper" }, hAsync("svg", { key: '4c53b52f5e93752672a34eb6f180b75fa9af9046', class: "checkbox-icon", viewBox: "0 0 24 24", part: "container" }, path)))));
8528
+ }, part: "label" }, hAsync("slot", { key: 'a2a80285178a7e0e3b536fc9ca26b8b444aa4307' })), hAsync("div", { key: 'c2b05e0d1fe8df5dcd72858220b5ff51ecaee4cc', class: "native-wrapper" }, hAsync("svg", { key: 'ee24913fded72258ebd9713654a6dba92a18fcf7', class: "checkbox-icon", viewBox: "0 0 24 24", part: "container" }, path)))));
8536
8529
  }
8537
8530
  getSVGPath(mode, indeterminate) {
8538
8531
  let path = indeterminate ? (hAsync("path", { d: "M6 12L18 12", part: "mark" })) : (hAsync("path", { d: "M5.9,12.5l3.8,3.8l8.8-8.8", part: "mark" }));
@@ -8559,7 +8552,6 @@ class Checkbox {
8559
8552
  "labelPlacement": [1, "label-placement"],
8560
8553
  "justify": [1],
8561
8554
  "alignment": [1],
8562
- "required": [4],
8563
8555
  "setFocus": [64]
8564
8556
  },
8565
8557
  "$listeners$": undefined,
@@ -19035,7 +19027,7 @@ const computeDuration = (remaining, velocity) => {
19035
19027
  };
19036
19028
 
19037
19029
  const createSheetEnterAnimation = (opts) => {
19038
- const { currentBreakpoint, backdropBreakpoint, expandToScroll } = opts;
19030
+ const { currentBreakpoint, backdropBreakpoint } = opts;
19039
19031
  /**
19040
19032
  * If the backdropBreakpoint is undefined, then the backdrop
19041
19033
  * should always fade in. If the backdropBreakpoint came before the
@@ -19055,16 +19047,7 @@ const createSheetEnterAnimation = (opts) => {
19055
19047
  { offset: 0, opacity: 1, transform: 'translateY(100%)' },
19056
19048
  { offset: 1, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
19057
19049
  ]);
19058
- /**
19059
- * This allows the content to be scrollable at any breakpoint.
19060
- */
19061
- const contentAnimation = !expandToScroll
19062
- ? createAnimation('contentAnimation').keyframes([
19063
- { offset: 0, opacity: 1, maxHeight: `${(1 - currentBreakpoint) * 100}%` },
19064
- { offset: 1, opacity: 1, maxHeight: `${currentBreakpoint * 100}%` },
19065
- ])
19066
- : undefined;
19067
- return { wrapperAnimation, backdropAnimation, contentAnimation };
19050
+ return { wrapperAnimation, backdropAnimation };
19068
19051
  };
19069
19052
  const createSheetLeaveAnimation = (opts) => {
19070
19053
  const { currentBreakpoint, backdropBreakpoint } = opts;
@@ -19099,68 +19082,22 @@ const createEnterAnimation$1 = () => {
19099
19082
  })
19100
19083
  .afterClearStyles(['pointer-events']);
19101
19084
  const wrapperAnimation = createAnimation().fromTo('transform', 'translateY(100vh)', 'translateY(0vh)');
19102
- return { backdropAnimation, wrapperAnimation, contentAnimation: undefined };
19085
+ return { backdropAnimation, wrapperAnimation };
19103
19086
  };
19104
19087
  /**
19105
19088
  * iOS Modal Enter Animation for the Card presentation style
19106
19089
  */
19107
19090
  const iosEnterAnimation$3 = (baseEl, opts) => {
19108
- const { presentingEl, currentBreakpoint, expandToScroll } = opts;
19091
+ const { presentingEl, currentBreakpoint } = opts;
19109
19092
  const root = getElementRoot(baseEl);
19110
- const { wrapperAnimation, backdropAnimation, contentAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation$1();
19093
+ const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation$1();
19111
19094
  backdropAnimation.addElement(root.querySelector('ion-backdrop'));
19112
19095
  wrapperAnimation.addElement(root.querySelectorAll('.modal-wrapper, .modal-shadow')).beforeStyles({ opacity: 1 });
19113
- // The content animation is only added if scrolling is enabled for
19114
- // all the breakpoints.
19115
- !expandToScroll && (contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.addElement(baseEl.querySelector('.ion-page')));
19116
19096
  const baseAnimation = createAnimation('entering-base')
19117
19097
  .addElement(baseEl)
19118
19098
  .easing('cubic-bezier(0.32,0.72,0,1)')
19119
19099
  .duration(500)
19120
- .addAnimation([wrapperAnimation])
19121
- .beforeAddWrite(() => {
19122
- if (expandToScroll) {
19123
- // Scroll can only be done when the modal is fully expanded.
19124
- return;
19125
- }
19126
- /**
19127
- * There are some browsers that causes flickering when
19128
- * dragging the content when scroll is enabled at every
19129
- * breakpoint. This is due to the wrapper element being
19130
- * transformed off the screen and having a snap animation.
19131
- *
19132
- * A workaround is to clone the footer element and append
19133
- * it outside of the wrapper element. This way, the footer
19134
- * is still visible and the drag can be done without
19135
- * flickering. The original footer is hidden until the modal
19136
- * is dismissed. This maintains the animation of the footer
19137
- * when the modal is dismissed.
19138
- *
19139
- * The workaround needs to be done before the animation starts
19140
- * so there are no flickering issues.
19141
- */
19142
- const ionFooter = baseEl.querySelector('ion-footer');
19143
- /**
19144
- * This check is needed to prevent more than one footer
19145
- * from being appended to the shadow root.
19146
- * Otherwise, iOS and MD enter animations would append
19147
- * the footer twice.
19148
- */
19149
- const ionFooterAlreadyAppended = baseEl.shadowRoot.querySelector('ion-footer');
19150
- if (ionFooter && !ionFooterAlreadyAppended) {
19151
- const footerHeight = ionFooter.clientHeight;
19152
- const clonedFooter = ionFooter.cloneNode(true);
19153
- baseEl.shadowRoot.appendChild(clonedFooter);
19154
- ionFooter.style.setProperty('display', 'none');
19155
- ionFooter.setAttribute('aria-hidden', 'true');
19156
- // Padding is added to prevent some content from being hidden.
19157
- const page = baseEl.querySelector('.ion-page');
19158
- page.style.setProperty('padding-bottom', `${footerHeight}px`);
19159
- }
19160
- });
19161
- if (contentAnimation) {
19162
- baseAnimation.addAnimation(contentAnimation);
19163
- }
19100
+ .addAnimation(wrapperAnimation);
19164
19101
  if (presentingEl) {
19165
19102
  const isMobile = window.innerWidth < 768;
19166
19103
  const hasCardModal = presentingEl.tagName === 'ION-MODAL' && presentingEl.presentingElement !== undefined;
@@ -19238,7 +19175,7 @@ const createLeaveAnimation$1 = () => {
19238
19175
  * iOS Modal Leave Animation
19239
19176
  */
19240
19177
  const iosLeaveAnimation$3 = (baseEl, opts, duration = 500) => {
19241
- const { presentingEl, currentBreakpoint, expandToScroll } = opts;
19178
+ const { presentingEl, currentBreakpoint } = opts;
19242
19179
  const root = getElementRoot(baseEl);
19243
19180
  const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetLeaveAnimation(opts) : createLeaveAnimation$1();
19244
19181
  backdropAnimation.addElement(root.querySelector('ion-backdrop'));
@@ -19247,29 +19184,7 @@ const iosLeaveAnimation$3 = (baseEl, opts, duration = 500) => {
19247
19184
  .addElement(baseEl)
19248
19185
  .easing('cubic-bezier(0.32,0.72,0,1)')
19249
19186
  .duration(duration)
19250
- .addAnimation(wrapperAnimation)
19251
- .beforeAddWrite(() => {
19252
- if (expandToScroll) {
19253
- // Scroll can only be done when the modal is fully expanded.
19254
- return;
19255
- }
19256
- /**
19257
- * If expandToScroll is disabled, we need to swap
19258
- * the visibility to the original, so the footer
19259
- * dismisses with the modal and doesn't stay
19260
- * until the modal is removed from the DOM.
19261
- */
19262
- const ionFooter = baseEl.querySelector('ion-footer');
19263
- if (ionFooter) {
19264
- const clonedFooter = baseEl.shadowRoot.querySelector('ion-footer');
19265
- ionFooter.style.removeProperty('display');
19266
- ionFooter.removeAttribute('aria-hidden');
19267
- clonedFooter.style.setProperty('display', 'none');
19268
- clonedFooter.setAttribute('aria-hidden', 'true');
19269
- const page = baseEl.querySelector('.ion-page');
19270
- page.style.removeProperty('padding-bottom');
19271
- }
19272
- });
19187
+ .addAnimation(wrapperAnimation);
19273
19188
  if (presentingEl) {
19274
19189
  const isMobile = window.innerWidth < 768;
19275
19190
  const hasCardModal = presentingEl.tagName === 'ION-MODAL' && presentingEl.presentingElement !== undefined;
@@ -19347,69 +19262,22 @@ const createEnterAnimation = () => {
19347
19262
  { offset: 0, opacity: 0.01, transform: 'translateY(40px)' },
19348
19263
  { offset: 1, opacity: 1, transform: `translateY(0px)` },
19349
19264
  ]);
19350
- return { backdropAnimation, wrapperAnimation, contentAnimation: undefined };
19265
+ return { backdropAnimation, wrapperAnimation };
19351
19266
  };
19352
19267
  /**
19353
19268
  * Md Modal Enter Animation
19354
19269
  */
19355
19270
  const mdEnterAnimation$2 = (baseEl, opts) => {
19356
- const { currentBreakpoint, expandToScroll } = opts;
19271
+ const { currentBreakpoint } = opts;
19357
19272
  const root = getElementRoot(baseEl);
19358
- const { wrapperAnimation, backdropAnimation, contentAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation();
19273
+ const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation();
19359
19274
  backdropAnimation.addElement(root.querySelector('ion-backdrop'));
19360
19275
  wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
19361
- // The content animation is only added if scrolling is enabled for
19362
- // all the breakpoints.
19363
- expandToScroll && (contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.addElement(baseEl.querySelector('.ion-page')));
19364
- const baseAnimation = createAnimation()
19276
+ return createAnimation()
19365
19277
  .addElement(baseEl)
19366
19278
  .easing('cubic-bezier(0.36,0.66,0.04,1)')
19367
19279
  .duration(280)
19368
- .addAnimation([backdropAnimation, wrapperAnimation])
19369
- .beforeAddWrite(() => {
19370
- if (expandToScroll) {
19371
- // Scroll can only be done when the modal is fully expanded.
19372
- return;
19373
- }
19374
- /**
19375
- * There are some browsers that causes flickering when
19376
- * dragging the content when scroll is enabled at every
19377
- * breakpoint. This is due to the wrapper element being
19378
- * transformed off the screen and having a snap animation.
19379
- *
19380
- * A workaround is to clone the footer element and append
19381
- * it outside of the wrapper element. This way, the footer
19382
- * is still visible and the drag can be done without
19383
- * flickering. The original footer is hidden until the modal
19384
- * is dismissed. This maintains the animation of the footer
19385
- * when the modal is dismissed.
19386
- *
19387
- * The workaround needs to be done before the animation starts
19388
- * so there are no flickering issues.
19389
- */
19390
- const ionFooter = baseEl.querySelector('ion-footer');
19391
- /**
19392
- * This check is needed to prevent more than one footer
19393
- * from being appended to the shadow root.
19394
- * Otherwise, iOS and MD enter animations would append
19395
- * the footer twice.
19396
- */
19397
- const ionFooterAlreadyAppended = baseEl.shadowRoot.querySelector('ion-footer');
19398
- if (ionFooter && !ionFooterAlreadyAppended) {
19399
- const footerHeight = ionFooter.clientHeight;
19400
- const clonedFooter = ionFooter.cloneNode(true);
19401
- baseEl.shadowRoot.appendChild(clonedFooter);
19402
- ionFooter.style.setProperty('display', 'none');
19403
- ionFooter.setAttribute('aria-hidden', 'true');
19404
- // Padding is added to prevent some content from being hidden.
19405
- const page = baseEl.querySelector('.ion-page');
19406
- page.style.setProperty('padding-bottom', `${footerHeight}px`);
19407
- }
19408
- });
19409
- if (contentAnimation) {
19410
- baseAnimation.addAnimation(contentAnimation);
19411
- }
19412
- return baseAnimation;
19280
+ .addAnimation([backdropAnimation, wrapperAnimation]);
19413
19281
  };
19414
19282
 
19415
19283
  const createLeaveAnimation = () => {
@@ -19424,41 +19292,18 @@ const createLeaveAnimation = () => {
19424
19292
  * Md Modal Leave Animation
19425
19293
  */
19426
19294
  const mdLeaveAnimation$2 = (baseEl, opts) => {
19427
- const { currentBreakpoint, expandToScroll } = opts;
19295
+ const { currentBreakpoint } = opts;
19428
19296
  const root = getElementRoot(baseEl);
19429
19297
  const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetLeaveAnimation(opts) : createLeaveAnimation();
19430
19298
  backdropAnimation.addElement(root.querySelector('ion-backdrop'));
19431
19299
  wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
19432
- const baseAnimation = createAnimation()
19300
+ return createAnimation()
19433
19301
  .easing('cubic-bezier(0.47,0,0.745,0.715)')
19434
19302
  .duration(200)
19435
- .addAnimation([backdropAnimation, wrapperAnimation])
19436
- .beforeAddWrite(() => {
19437
- if (expandToScroll) {
19438
- // Scroll can only be done when the modal is fully expanded.
19439
- return;
19440
- }
19441
- /**
19442
- * If expandToScroll is disabled, we need to swap
19443
- * the visibility to the original, so the footer
19444
- * dismisses with the modal and doesn't stay
19445
- * until the modal is removed from the DOM.
19446
- */
19447
- const ionFooter = baseEl.querySelector('ion-footer');
19448
- if (ionFooter) {
19449
- const clonedFooter = baseEl.shadowRoot.querySelector('ion-footer');
19450
- ionFooter.style.removeProperty('display');
19451
- ionFooter.removeAttribute('aria-hidden');
19452
- clonedFooter.style.setProperty('display', 'none');
19453
- clonedFooter.setAttribute('aria-hidden', 'true');
19454
- const page = baseEl.querySelector('.ion-page');
19455
- page.style.removeProperty('padding-bottom');
19456
- }
19457
- });
19458
- return baseAnimation;
19303
+ .addAnimation([backdropAnimation, wrapperAnimation]);
19459
19304
  };
19460
19305
 
19461
- const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange) => {
19306
+ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], getCurrentBreakpoint, onDismiss, onBreakpointChange) => {
19462
19307
  // Defaults for the sheet swipe animation
19463
19308
  const defaultBackdrop = [
19464
19309
  { offset: 0, opacity: 'var(--backdrop-opacity)' },
@@ -19475,10 +19320,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19475
19320
  { offset: 1, transform: 'translateY(100%)' },
19476
19321
  ],
19477
19322
  BACKDROP_KEYFRAMES: backdropBreakpoint !== 0 ? customBackdrop : defaultBackdrop,
19478
- CONTENT_KEYFRAMES: [
19479
- { offset: 0, maxHeight: '100%' },
19480
- { offset: 1, maxHeight: '0%' },
19481
- ],
19482
19323
  };
19483
19324
  const contentEl = baseEl.querySelector('ion-content');
19484
19325
  const height = wrapperEl.clientHeight;
@@ -19486,11 +19327,10 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19486
19327
  let offset = 0;
19487
19328
  let canDismissBlocksGesture = false;
19488
19329
  const canDismissMaxStep = 0.95;
19489
- const maxBreakpoint = breakpoints[breakpoints.length - 1];
19490
- const minBreakpoint = breakpoints[0];
19491
19330
  const wrapperAnimation = animation.childAnimations.find((ani) => ani.id === 'wrapperAnimation');
19492
19331
  const backdropAnimation = animation.childAnimations.find((ani) => ani.id === 'backdropAnimation');
19493
- const contentAnimation = animation.childAnimations.find((ani) => ani.id === 'contentAnimation');
19332
+ const maxBreakpoint = breakpoints[breakpoints.length - 1];
19333
+ const minBreakpoint = breakpoints[0];
19494
19334
  const enableBackdrop = () => {
19495
19335
  baseEl.style.setProperty('pointer-events', 'auto');
19496
19336
  backdropEl.style.setProperty('pointer-events', 'auto');
@@ -19513,31 +19353,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19513
19353
  */
19514
19354
  baseEl.classList.add(FOCUS_TRAP_DISABLE_CLASS);
19515
19355
  };
19516
- /**
19517
- * Toggles the visible modal footer when `expandToScroll` is disabled.
19518
- * @param footer The footer to show.
19519
- */
19520
- const swapFooterVisibility = (footer) => {
19521
- const originalFooter = baseEl.querySelector('ion-footer');
19522
- if (!originalFooter) {
19523
- return;
19524
- }
19525
- const clonedFooter = wrapperEl.nextElementSibling;
19526
- const footerToHide = footer === 'original' ? clonedFooter : originalFooter;
19527
- const footerToShow = footer === 'original' ? originalFooter : clonedFooter;
19528
- footerToShow.style.removeProperty('display');
19529
- footerToShow.removeAttribute('aria-hidden');
19530
- const page = baseEl.querySelector('.ion-page');
19531
- if (footer === 'original') {
19532
- page.style.removeProperty('padding-bottom');
19533
- }
19534
- else {
19535
- const pagePadding = footerToShow.clientHeight;
19536
- page.style.setProperty('padding-bottom', `${pagePadding}px`);
19537
- }
19538
- footerToHide.style.setProperty('display', 'none');
19539
- footerToHide.setAttribute('aria-hidden', 'true');
19540
- };
19541
19356
  /**
19542
19357
  * After the entering animation completes,
19543
19358
  * we need to set the animation to go from
@@ -19549,7 +19364,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19549
19364
  if (wrapperAnimation && backdropAnimation) {
19550
19365
  wrapperAnimation.keyframes([...SheetDefaults.WRAPPER_KEYFRAMES]);
19551
19366
  backdropAnimation.keyframes([...SheetDefaults.BACKDROP_KEYFRAMES]);
19552
- contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.keyframes([...SheetDefaults.CONTENT_KEYFRAMES]);
19553
19367
  animation.progressStart(true, 1 - currentBreakpoint);
19554
19368
  /**
19555
19369
  * If backdrop is not enabled, then content
@@ -19566,7 +19380,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19566
19380
  disableBackdrop();
19567
19381
  }
19568
19382
  }
19569
- if (contentEl && currentBreakpoint !== maxBreakpoint && expandToScroll) {
19383
+ if (contentEl && currentBreakpoint !== maxBreakpoint) {
19570
19384
  contentEl.scrollY = false;
19571
19385
  }
19572
19386
  const canStart = (detail) => {
@@ -19580,13 +19394,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19580
19394
  */
19581
19395
  const contentEl = findClosestIonContent(detail.event.target);
19582
19396
  currentBreakpoint = getCurrentBreakpoint();
19583
- /**
19584
- * If we have expandToScroll disabled, we should not allow the swipe gesture to start
19585
- * if the content is being swiped.
19586
- */
19587
- if (!expandToScroll && contentEl) {
19588
- return false;
19589
- }
19590
19397
  if (currentBreakpoint === 1 && contentEl) {
19591
19398
  /**
19592
19399
  * The modal should never swipe to close on the content with a refresher.
@@ -19617,15 +19424,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19617
19424
  * Remove undefined check
19618
19425
  */
19619
19426
  canDismissBlocksGesture = baseEl.canDismiss !== undefined && baseEl.canDismiss !== true && minBreakpoint === 0;
19620
- /**
19621
- * If expandToScroll is disabled, we need to swap
19622
- * the footer visibility to the original, so if the modal
19623
- * is dismissed, the footer dismisses with the modal
19624
- * and doesn't stay on the screen after the modal is gone.
19625
- */
19626
- if (!expandToScroll) {
19627
- swapFooterVisibility('original');
19628
- }
19629
19427
  /**
19630
19428
  * If we are pulling down, then it is possible we are pulling on the content.
19631
19429
  * We do not want scrolling to happen at the same time as the gesture.
@@ -19741,19 +19539,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19741
19539
  opacity: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
19742
19540
  },
19743
19541
  ]);
19744
- if (contentAnimation) {
19745
- /**
19746
- * The modal content should scroll at any breakpoint when expandToScroll
19747
- * is disabled. In order to do this, the content needs to be completely
19748
- * viewable so scrolling can access everything. Otherwise, the default
19749
- * behavior would show the content off the screen and only allow
19750
- * scrolling when the sheet is fully expanded.
19751
- */
19752
- contentAnimation.keyframes([
19753
- { offset: 0, maxHeight: `${(1 - breakpointOffset) * 100}%` },
19754
- { offset: 1, maxHeight: `${snapToBreakpoint * 100}%` },
19755
- ]);
19756
- }
19757
19542
  animation.progressStep(0);
19758
19543
  }
19759
19544
  /**
@@ -19761,14 +19546,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19761
19546
  * snapping animation completes.
19762
19547
  */
19763
19548
  gesture.enable(false);
19764
- /**
19765
- * If expandToScroll is disabled, we need to swap
19766
- * the footer visibility to the cloned one so the footer
19767
- * doesn't flicker when the sheet's height is animated.
19768
- */
19769
- if (!expandToScroll && shouldRemainOpen) {
19770
- swapFooterVisibility('cloned');
19771
- }
19772
19549
  if (shouldPreventDismiss) {
19773
19550
  handleCanDismiss(baseEl, animation);
19774
19551
  }
@@ -19776,13 +19553,13 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19776
19553
  onDismiss();
19777
19554
  }
19778
19555
  /**
19779
- * Enables scrolling immediately if the sheet is about to fully expand
19780
- * or if it allows scrolling at any breakpoint. Without this, there would
19781
- * be a ~500ms delay while the modal animation completes, causing a
19782
- * noticeable lag. Native iOS allows scrolling as soon as the gesture is
19783
- * released, so we align with that behavior.
19556
+ * If the sheet is going to be fully expanded then we should enable
19557
+ * scrolling immediately. The sheet modal animation takes ~500ms to finish
19558
+ * so if we wait until then there is a visible delay for when scrolling is
19559
+ * re-enabled. Native iOS allows for scrolling on the sheet modal as soon
19560
+ * as the gesture is released, so we align with that.
19784
19561
  */
19785
- if (contentEl && (snapToBreakpoint === breakpoints[breakpoints.length - 1] || !expandToScroll)) {
19562
+ if (contentEl && snapToBreakpoint === breakpoints[breakpoints.length - 1]) {
19786
19563
  contentEl.scrollY = true;
19787
19564
  }
19788
19565
  return new Promise((resolve) => {
@@ -19800,7 +19577,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19800
19577
  raf(() => {
19801
19578
  wrapperAnimation.keyframes([...SheetDefaults.WRAPPER_KEYFRAMES]);
19802
19579
  backdropAnimation.keyframes([...SheetDefaults.BACKDROP_KEYFRAMES]);
19803
- contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.keyframes([...SheetDefaults.CONTENT_KEYFRAMES]);
19804
19580
  animation.progressStart(true, 1 - snapToBreakpoint);
19805
19581
  currentBreakpoint = snapToBreakpoint;
19806
19582
  onBreakpointChange(currentBreakpoint);
@@ -19853,10 +19629,10 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19853
19629
  };
19854
19630
  };
19855
19631
 
19856
- 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}";
19632
+ 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}";
19857
19633
  var IonModalIosStyle0 = modalIosCss;
19858
19634
 
19859
- 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}";
19635
+ 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}";
19860
19636
  var IonModalMdStyle0 = modalMdCss;
19861
19637
 
19862
19638
  // TODO(FW-2832): types
@@ -19935,7 +19711,6 @@ class Modal {
19935
19711
  this.enterAnimation = undefined;
19936
19712
  this.leaveAnimation = undefined;
19937
19713
  this.breakpoints = undefined;
19938
- this.expandToScroll = true;
19939
19714
  this.initialBreakpoint = undefined;
19940
19715
  this.backdropBreakpoint = 0;
19941
19716
  this.handle = undefined;
@@ -20151,7 +19926,6 @@ class Modal {
20151
19926
  presentingEl: presentingElement,
20152
19927
  currentBreakpoint: this.initialBreakpoint,
20153
19928
  backdropBreakpoint: this.backdropBreakpoint,
20154
- expandToScroll: this.expandToScroll,
20155
19929
  });
20156
19930
  /* tslint:disable-next-line */
20157
19931
  if (typeof window !== 'undefined') {
@@ -20202,10 +19976,7 @@ class Modal {
20202
19976
  // should be in the DOM and referenced by now, except
20203
19977
  // for the presenting el
20204
19978
  const animationBuilder = this.leaveAnimation || config.get('modalLeave', iosLeaveAnimation$3);
20205
- const ani = (this.animation = animationBuilder(el, {
20206
- presentingEl: this.presentingElement,
20207
- expandToScroll: this.expandToScroll,
20208
- }));
19979
+ const ani = (this.animation = animationBuilder(el, { presentingEl: this.presentingElement }));
20209
19980
  const contentEl = findIonContent(el);
20210
19981
  if (!contentEl) {
20211
19982
  printIonContentErrorMsg(el);
@@ -20250,10 +20021,9 @@ class Modal {
20250
20021
  presentingEl: this.presentingElement,
20251
20022
  currentBreakpoint: initialBreakpoint,
20252
20023
  backdropBreakpoint,
20253
- expandToScroll: this.expandToScroll,
20254
20024
  }));
20255
20025
  ani.progressStart(true, 1);
20256
- 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) => {
20026
+ 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) => {
20257
20027
  if (this.currentBreakpoint !== breakpoint) {
20258
20028
  this.currentBreakpoint = breakpoint;
20259
20029
  this.ionBreakpointDidChange.emit({ breakpoint });
@@ -20331,7 +20101,6 @@ class Modal {
20331
20101
  presentingEl: presentingElement,
20332
20102
  currentBreakpoint: (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : this.initialBreakpoint,
20333
20103
  backdropBreakpoint: this.backdropBreakpoint,
20334
- expandToScroll: this.expandToScroll,
20335
20104
  });
20336
20105
  if (dismissed) {
20337
20106
  const { delegate } = this.getDelegate();
@@ -20417,23 +20186,23 @@ class Modal {
20417
20186
  return true;
20418
20187
  }
20419
20188
  render() {
20420
- const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
20189
+ const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap } = this;
20421
20190
  const showHandle = handle !== false && isSheetModal;
20422
20191
  const mode = getIonMode$1(this);
20423
20192
  const isCardModal = presentingElement !== undefined && mode === 'ios';
20424
20193
  const isHandleCycle = handleBehavior === 'cycle';
20425
- return (hAsync(Host, Object.assign({ key: 'ff15df63e72caaeb0a4ad68e9eedeaaa7d3f3bde', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
20194
+ return (hAsync(Host, Object.assign({ key: 'b4da5111fe4719fa450c39b2d4bd884a302a7924', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
20426
20195
  zIndex: `${20000 + this.overlayIndex}`,
20427
- }, 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 }), hAsync("ion-backdrop", { key: '27a73655779af9d175a829d3d2d29e42fd2a63ee', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { key: '406a65080087e7895026ecc2f04e9d707439e86f', class: "modal-shadow" }), hAsync("div", Object.assign({ key: '8e410eb925374158996c82cbbd522f07d741679e',
20196
+ }, 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 }), hAsync("ion-backdrop", { key: 'c12dbf747e0eb914eaf1331798548ffc7e147763', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { key: 'da546ee80c6576b5acc66e959fd5009e0b9a8160', class: "modal-shadow" }), hAsync("div", Object.assign({ key: '306ebe6427440ad5f7ed36d590e562d15a503b75',
20428
20197
  /*
20429
20198
  role and aria-modal must be used on the
20430
20199
  same element. They must also be set inside the
20431
20200
  shadow DOM otherwise ion-button will not be highlighted
20432
20201
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
20433
20202
  */
20434
- role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '7326c969ebe5a70a35e83b09d3db2bb848c90e47', class: "modal-handle",
20203
+ role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: 'c5d17e346fe255a7c0cacbbf15c0083f2d09c488', class: "modal-handle",
20435
20204
  // Prevents the handle from receiving keyboard focus when it does not cycle
20436
- tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), hAsync("slot", { key: '0b65cdb9e337a27edf437b9e754e79f1449c217d' }))));
20205
+ tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), hAsync("slot", { key: '5cc714170a00b67f3eda0cd1d6f37c1489a99c83' }))));
20437
20206
  }
20438
20207
  get el() { return getElement(this); }
20439
20208
  static get watchers() { return {
@@ -20455,7 +20224,6 @@ class Modal {
20455
20224
  "enterAnimation": [16],
20456
20225
  "leaveAnimation": [16],
20457
20226
  "breakpoints": [16],
20458
- "expandToScroll": [4, "expand-to-scroll"],
20459
20227
  "initialBreakpoint": [2, "initial-breakpoint"],
20460
20228
  "backdropBreakpoint": [2, "backdrop-breakpoint"],
20461
20229
  "handle": [4],
@@ -29930,7 +29698,6 @@ class Select {
29930
29698
  this.expandedIcon = undefined;
29931
29699
  this.shape = undefined;
29932
29700
  this.value = undefined;
29933
- this.required = false;
29934
29701
  }
29935
29702
  styleChanged() {
29936
29703
  this.emitStyle();
@@ -30442,8 +30209,8 @@ class Select {
30442
30209
  return renderedLabel;
30443
30210
  }
30444
30211
  renderListbox() {
30445
- const { disabled, inputId, isExpanded, required } = this;
30446
- return (hAsync("button", { disabled: disabled, id: inputId, "aria-label": this.ariaLabel, "aria-haspopup": "dialog", "aria-expanded": `${isExpanded}`, "aria-required": `${required}`, onFocus: this.onFocus, onBlur: this.onBlur, ref: (focusEl) => (this.focusEl = focusEl) }));
30212
+ const { disabled, inputId, isExpanded } = this;
30213
+ return (hAsync("button", { disabled: disabled, id: inputId, "aria-label": this.ariaLabel, "aria-haspopup": "dialog", "aria-expanded": `${isExpanded}`, onFocus: this.onFocus, onBlur: this.onBlur, ref: (focusEl) => (this.focusEl = focusEl) }));
30447
30214
  }
30448
30215
  render() {
30449
30216
  const { disabled, el, isExpanded, expandedIcon, labelPlacement, justify, placeholder, fill, shape, name, value } = this;
@@ -30474,7 +30241,7 @@ class Select {
30474
30241
  * TODO(FW-5592): Remove hasStartEndSlots condition
30475
30242
  */
30476
30243
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
30477
- return (hAsync(Host, { key: 'f7cf03de773cd85da42978e274d65cc1eb6ed8a3', onClick: this.onClick, class: createColorClasses$1(this.color, {
30244
+ return (hAsync(Host, { key: 'b2dca9ae25d88e4d9fdb55003041a66be5668fcf', onClick: this.onClick, class: createColorClasses$1(this.color, {
30478
30245
  [mode]: true,
30479
30246
  'in-item': inItem,
30480
30247
  'in-item-color': hostContext('ion-item.ion-color', el),
@@ -30490,7 +30257,7 @@ class Select {
30490
30257
  [`select-justify-${justify}`]: justifyEnabled,
30491
30258
  [`select-shape-${shape}`]: shape !== undefined,
30492
30259
  [`select-label-placement-${labelPlacement}`]: true,
30493
- }) }, hAsync("label", { key: '91674f8f5cce37c87a7096d09b3f1d351cba1527', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), hAsync("div", { key: '2229333833047db13ed2a01cb10bb6e6f774031d', class: "select-wrapper-inner" }, hAsync("slot", { key: 'f2766bdf8bff261efa5711f72d9edef407e45189', name: "start" }), hAsync("div", { key: '84fec020ecaaac41298a01dbffdbb2f3744170b4', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), hAsync("slot", { key: '9b91237d7a1621bce1e15546abcb4f6b74cccc5f', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && hAsync("div", { key: 'e02aea3e8f344376013257f5261a29408e62b359', class: "select-highlight" }))));
30260
+ }) }, hAsync("label", { key: 'c22fe9aee8cd448223497ef143e89529fcef8af6', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), hAsync("div", { key: '601972df4579f4fa6a9c2c12865593e807decb72', class: "select-wrapper-inner" }, hAsync("slot", { key: '5f7b1261862f74b978b26f026533e3fd1cc666ba', name: "start" }), hAsync("div", { key: '39616da89f4b4b78432f6da85116a7de2ca589e7', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), hAsync("slot", { key: '1d7b3601b73af7c05b3627cfc8e5147ea379bb03', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && hAsync("div", { key: 'b0344f0ac15003e22fee66d3d7ed03a07da7e8b7', class: "select-highlight" }))));
30494
30261
  }
30495
30262
  get el() { return getElement(this); }
30496
30263
  static get watchers() { return {
@@ -30526,7 +30293,6 @@ class Select {
30526
30293
  "expandedIcon": [1, "expanded-icon"],
30527
30294
  "shape": [1],
30528
30295
  "value": [1032],
30529
- "required": [4],
30530
30296
  "isExpanded": [32],
30531
30297
  "open": [64]
30532
30298
  },
@@ -32923,7 +32689,6 @@ class Toggle {
32923
32689
  this.labelPlacement = 'start';
32924
32690
  this.justify = undefined;
32925
32691
  this.alignment = undefined;
32926
- this.required = false;
32927
32692
  }
32928
32693
  disabledChanged() {
32929
32694
  if (this.gesture) {
@@ -33005,12 +32770,12 @@ class Toggle {
33005
32770
  return this.el.textContent !== '';
33006
32771
  }
33007
32772
  render() {
33008
- const { activated, color, checked, disabled, el, justify, labelPlacement, inputId, name, alignment, required } = this;
32773
+ const { activated, color, checked, disabled, el, justify, labelPlacement, inputId, name, alignment } = this;
33009
32774
  const mode = getIonMode$1(this);
33010
32775
  const value = this.getValue();
33011
32776
  const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
33012
32777
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
33013
- return (hAsync(Host, { key: 'ed75573caa6e37011f1453dd7f723fb9bd8a3656', onClick: this.onClick, class: createColorClasses$1(color, {
32778
+ return (hAsync(Host, { key: 'f52195ec3bc14c024647cb41319c32a4cd330e19', onClick: this.onClick, class: createColorClasses$1(color, {
33014
32779
  [mode]: true,
33015
32780
  'in-item': hostContext('ion-item', el),
33016
32781
  'toggle-activated': activated,
@@ -33020,10 +32785,10 @@ class Toggle {
33020
32785
  [`toggle-alignment-${alignment}`]: alignment !== undefined,
33021
32786
  [`toggle-label-placement-${labelPlacement}`]: true,
33022
32787
  [`toggle-${rtl}`]: true,
33023
- }) }, hAsync("label", { key: '484860e2a33f4d123904edb96159f0e1972d3add', class: "toggle-wrapper" }, hAsync("input", Object.assign({ key: '360b53080aacfd99a9ff60ffb5219816bd4163ee', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl), required: required }, this.inheritedAttributes)), hAsync("div", { key: 'f7239fa668fe11257239ea30cf0198e4f3274f6b', class: {
32788
+ }) }, hAsync("label", { key: 'f8b3a215ad85b2cee611ad63449b584e1640f27f', class: "toggle-wrapper" }, hAsync("input", Object.assign({ key: 'f387b1ea840737a9737917e516834c887be99c09', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl) }, this.inheritedAttributes)), hAsync("div", { key: '936af880db59fe377cd2de9101eb28a1c4fb8914', class: {
33024
32789
  'label-text-wrapper': true,
33025
32790
  'label-text-wrapper-hidden': !this.hasLabel,
33026
- }, part: "label" }, hAsync("slot", { key: '9495a4a39889822ee68e0d89dc5a2f863d1feb3c' })), hAsync("div", { key: '55f1eb08c4b705e94fbcf02220bbe1d292f06155', class: "native-wrapper" }, this.renderToggleControl()))));
32791
+ }, part: "label" }, hAsync("slot", { key: '80a6672e2e792c15011a9496dcd75363cdba31c6' })), hAsync("div", { key: '2b2b318b38ab27b194c0dab4cecd77d9d780f2ca', class: "native-wrapper" }, this.renderToggleControl()))));
33027
32792
  }
33028
32793
  get el() { return getElement(this); }
33029
32794
  static get watchers() { return {
@@ -33046,7 +32811,6 @@ class Toggle {
33046
32811
  "labelPlacement": [1, "label-placement"],
33047
32812
  "justify": [1],
33048
32813
  "alignment": [1],
33049
- "required": [4],
33050
32814
  "activated": [32]
33051
32815
  },
33052
32816
  "$listeners$": undefined,
@@ -33078,10 +32842,6 @@ var IonToolbarMdStyle0 = toolbarMdCss;
33078
32842
  * @slot secondary - Content is placed to the left of the toolbar text in `ios` mode, and directly to the right in `md` mode.
33079
32843
  * @slot primary - Content is placed to the right of the toolbar text in `ios` mode, and to the far right in `md` mode.
33080
32844
  * @slot end - Content is placed to the right of the toolbar text in LTR, and to the left in RTL.
33081
- *
33082
- * @part background - The background of the toolbar, covering the entire area behind the toolbar content.
33083
- * @part container - The container that wraps all toolbar content, including the default slot and named slot content.
33084
- * @part content - The container for the default slot, wrapping content provided without a named slot.
33085
32845
  */
33086
32846
  class Toolbar {
33087
32847
  constructor(hostRef) {
@@ -33132,10 +32892,10 @@ class Toolbar {
33132
32892
  this.childrenStyles.forEach((value) => {
33133
32893
  Object.assign(childStyles, value);
33134
32894
  });
33135
- return (hAsync(Host, { key: '4fdc9ae82a93237cc28ceb95b0ebd8069b62839d', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
32895
+ return (hAsync(Host, { key: '462538a5ecd01baf3cde116c9f029aeda26c81be', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
33136
32896
  [mode]: true,
33137
32897
  'in-toolbar': hostContext('ion-toolbar', this.el),
33138
- })) }, hAsync("div", { key: '443a216362bbbf1c149ed12140d52b0f0ea2d664', class: "toolbar-background", part: "background" }), hAsync("div", { key: '1df87f4027d605e42757a13d4828df45b90a4fdc', class: "toolbar-container", part: "container" }, hAsync("slot", { key: 'f66f34972be8e3f4915b9c6f5808600dbaedb1ea', name: "start" }), hAsync("slot", { key: '14f38b0975e956f404c4eb3ee56f2055c6615276', name: "secondary" }), hAsync("div", { key: '75ba5953a25c7544793484d2b245792cb0a5af75', class: "toolbar-content", part: "content" }, hAsync("slot", { key: '149dfa58ff7106f318fecb4134e7c69edf8bc231' })), hAsync("slot", { key: '807ab9ad21d7f1d9d427a4086460bcb9e5e8c019', name: "primary" }), hAsync("slot", { key: 'bd2f9da95d2fa8e74dc6e0666587ceecbba99d9f', name: "end" }))));
32898
+ })) }, hAsync("div", { key: 'c0b4415d3b2472de643a9be7cb3b13b3b628621b', class: "toolbar-background" }), hAsync("div", { key: '0ccb8a2dbeaa28d8f9bed87629c0c097446690c2', class: "toolbar-container" }, hAsync("slot", { key: '3e726dac359e923df21d80301651f16063a3de20', name: "start" }), hAsync("slot", { key: 'cd799330b56a7f8833bc61bb2807aafb21846f71', name: "secondary" }), hAsync("div", { key: '395282e6ac8c53576922dcdb5f08c25d34638c86', class: "toolbar-content" }, hAsync("slot", { key: 'a437c60e4ba5aae65e55169ae82a6f379868ec1d' })), hAsync("slot", { key: '711af9b9d321a7b31ede924c9bdcad767aa9a1ca', name: "primary" }), hAsync("slot", { key: 'ecc02edeaf80a837890bcb08d5096df1e22a0b9a', name: "end" }))));
33139
32899
  }
33140
32900
  get el() { return getElement(this); }
33141
32901
  static get style() { return {