@ionic/core 8.4.4-dev.11738863153.1dafb0b9 → 8.4.4-nightly.20250131

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 (269) hide show
  1. package/components/checkbox.js +4 -6
  2. package/components/content.js +4 -4
  3. package/components/index6.js +3 -11
  4. package/components/ion-select.js +4 -6
  5. package/components/ion-tab-button.js +1 -1
  6. package/components/ion-tab.js +2 -2
  7. package/components/ion-tabs.js +1 -2
  8. package/components/ion-toggle.js +4 -6
  9. package/components/modal.js +35 -259
  10. package/components/toolbar.js +2 -2
  11. package/css/core.css.map +1 -1
  12. package/css/ionic.bundle.css.map +1 -1
  13. package/dist/cjs/{data-108e531d.js → data-21dc0f81.js} +1 -1
  14. package/dist/cjs/{index-2a46a047.js → index-5915f9b3.js} +3 -11
  15. package/dist/cjs/{index-0d762bba.js → index-5b6a7459.js} +1 -1
  16. package/dist/cjs/{index-3652c918.js → index-8e789962.js} +1 -1
  17. package/dist/cjs/{index-e975c92b.js → index-f05acd21.js} +3 -3
  18. package/dist/cjs/index.cjs.js +6 -6
  19. package/dist/cjs/{input-shims-cd05268a.js → input-shims-9e59ef62.js} +2 -4
  20. package/dist/cjs/{input.utils-ffb2f81b.js → input.utils-611cde0b.js} +1 -1
  21. package/dist/cjs/ion-accordion_2.cjs.entry.js +1 -1
  22. package/dist/cjs/ion-action-sheet.cjs.entry.js +2 -2
  23. package/dist/cjs/ion-alert.cjs.entry.js +2 -2
  24. package/dist/cjs/ion-app_8.cjs.entry.js +11 -11
  25. package/dist/cjs/ion-button_2.cjs.entry.js +1 -1
  26. package/dist/cjs/ion-checkbox.cjs.entry.js +4 -5
  27. package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
  28. package/dist/cjs/ion-datetime_3.cjs.entry.js +3 -3
  29. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
  30. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +1 -1
  31. package/dist/cjs/ion-input.cjs.entry.js +2 -2
  32. package/dist/cjs/ion-item-option_3.cjs.entry.js +2 -2
  33. package/dist/cjs/ion-loading.cjs.entry.js +2 -2
  34. package/dist/cjs/ion-menu_3.cjs.entry.js +3 -3
  35. package/dist/cjs/ion-modal.cjs.entry.js +39 -262
  36. package/dist/cjs/ion-nav_2.cjs.entry.js +2 -2
  37. package/dist/cjs/ion-popover.cjs.entry.js +3 -3
  38. package/dist/cjs/ion-range.cjs.entry.js +2 -2
  39. package/dist/cjs/ion-refresher_2.cjs.entry.js +2 -2
  40. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  41. package/dist/cjs/ion-select-modal.cjs.entry.js +2 -2
  42. package/dist/cjs/ion-select_3.cjs.entry.js +6 -7
  43. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +1 -1
  44. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -4
  45. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  46. package/dist/cjs/ion-toast.cjs.entry.js +2 -2
  47. package/dist/cjs/ion-toggle.cjs.entry.js +4 -5
  48. package/dist/cjs/ionic.cjs.js +1 -1
  49. package/dist/cjs/{ios.transition-0e664e88.js → ios.transition-cf40433b.js} +2 -2
  50. package/dist/cjs/loader.cjs.js +1 -1
  51. package/dist/cjs/{md.transition-2e8aef2c.js → md.transition-ededf99f.js} +2 -2
  52. package/dist/cjs/{overlays-65fdaff6.js → overlays-aa669eb8.js} +1 -1
  53. package/dist/cjs/{status-tap-d74f1429.js → status-tap-37681226.js} +2 -3
  54. package/dist/collection/components/checkbox/checkbox.js +4 -23
  55. package/dist/collection/components/content/content.js +4 -4
  56. package/dist/collection/components/modal/animations/ios.enter.js +4 -50
  57. package/dist/collection/components/modal/animations/ios.leave.js +2 -24
  58. package/dist/collection/components/modal/animations/md.enter.js +5 -52
  59. package/dist/collection/components/modal/animations/md.leave.js +3 -26
  60. package/dist/collection/components/modal/animations/sheet.js +2 -11
  61. package/dist/collection/components/modal/gestures/sheet.js +10 -79
  62. package/dist/collection/components/modal/modal.ios.css +0 -16
  63. package/dist/collection/components/modal/modal.js +7 -32
  64. package/dist/collection/components/modal/modal.md.css +0 -6
  65. package/dist/collection/components/select/select.js +4 -23
  66. package/dist/collection/components/tab/tab.js +2 -2
  67. package/dist/collection/components/tab-button/tab-button.js +1 -1
  68. package/dist/collection/components/tabs/tabs.js +1 -2
  69. package/dist/collection/components/toggle/toggle.js +4 -23
  70. package/dist/collection/components/toolbar/toolbar.js +2 -6
  71. package/dist/collection/utils/logging/index.js +3 -10
  72. package/dist/docs.json +2 -115
  73. package/dist/esm/{data-b3284b5e.js → data-ae11fd43.js} +1 -1
  74. package/dist/esm/{index-cb21eccb.js → index-24b48b06.js} +1 -1
  75. package/dist/esm/{index-2f7fde3d.js → index-3ad7f18b.js} +3 -3
  76. package/dist/esm/{index-efb8ecdf.js → index-5cc724f3.js} +1 -1
  77. package/dist/esm/{index-6ad967f3.js → index-9b0d46f4.js} +3 -11
  78. package/dist/esm/index.js +6 -6
  79. package/dist/esm/{input-shims-2fd7c6ef.js → input-shims-0314bbe5.js} +2 -4
  80. package/dist/esm/{input.utils-961c9f17.js → input.utils-09c71bc7.js} +1 -1
  81. package/dist/esm/ion-accordion_2.entry.js +1 -1
  82. package/dist/esm/ion-action-sheet.entry.js +2 -2
  83. package/dist/esm/ion-alert.entry.js +2 -2
  84. package/dist/esm/ion-app_8.entry.js +11 -11
  85. package/dist/esm/ion-button_2.entry.js +1 -1
  86. package/dist/esm/ion-checkbox.entry.js +4 -5
  87. package/dist/esm/ion-datetime-button.entry.js +2 -2
  88. package/dist/esm/ion-datetime_3.entry.js +3 -3
  89. package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
  90. package/dist/esm/ion-input-password-toggle.entry.js +1 -1
  91. package/dist/esm/ion-input.entry.js +2 -2
  92. package/dist/esm/ion-item-option_3.entry.js +2 -2
  93. package/dist/esm/ion-loading.entry.js +2 -2
  94. package/dist/esm/ion-menu_3.entry.js +3 -3
  95. package/dist/esm/ion-modal.entry.js +39 -262
  96. package/dist/esm/ion-nav_2.entry.js +2 -2
  97. package/dist/esm/ion-popover.entry.js +3 -3
  98. package/dist/esm/ion-range.entry.js +2 -2
  99. package/dist/esm/ion-refresher_2.entry.js +2 -2
  100. package/dist/esm/ion-reorder_2.entry.js +2 -2
  101. package/dist/esm/ion-select-modal.entry.js +2 -2
  102. package/dist/esm/ion-select_3.entry.js +6 -7
  103. package/dist/esm/ion-tab-bar_2.entry.js +1 -1
  104. package/dist/esm/ion-tab_2.entry.js +3 -4
  105. package/dist/esm/ion-textarea.entry.js +2 -2
  106. package/dist/esm/ion-toast.entry.js +2 -2
  107. package/dist/esm/ion-toggle.entry.js +4 -5
  108. package/dist/esm/ionic.js +1 -1
  109. package/dist/esm/{ios.transition-b1da3753.js → ios.transition-4ee1a3af.js} +2 -2
  110. package/dist/esm/loader.js +1 -1
  111. package/dist/esm/{md.transition-571b3859.js → md.transition-5106a0d2.js} +2 -2
  112. package/dist/esm/{overlays-5deab4de.js → overlays-e7b9d6d9.js} +1 -1
  113. package/dist/esm/{status-tap-79eac0ac.js → status-tap-f472b09f.js} +2 -3
  114. package/dist/esm-es5/{data-b3284b5e.js → data-ae11fd43.js} +1 -1
  115. package/dist/esm-es5/{index-cb21eccb.js → index-24b48b06.js} +1 -1
  116. package/dist/esm-es5/{index-2f7fde3d.js → index-3ad7f18b.js} +1 -1
  117. package/dist/esm-es5/{index-efb8ecdf.js → index-5cc724f3.js} +1 -1
  118. package/dist/esm-es5/index-9b0d46f4.js +4 -0
  119. package/dist/esm-es5/index.js +1 -1
  120. package/dist/esm-es5/input-shims-0314bbe5.js +4 -0
  121. package/dist/esm-es5/{input.utils-961c9f17.js → input.utils-09c71bc7.js} +1 -1
  122. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  123. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  124. package/dist/esm-es5/ion-alert.entry.js +1 -1
  125. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  126. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  127. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  128. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  129. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  130. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  131. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  132. package/dist/esm-es5/ion-input.entry.js +1 -1
  133. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  134. package/dist/esm-es5/ion-loading.entry.js +1 -1
  135. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  136. package/dist/esm-es5/ion-modal.entry.js +1 -1
  137. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  138. package/dist/esm-es5/ion-popover.entry.js +1 -1
  139. package/dist/esm-es5/ion-range.entry.js +1 -1
  140. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  141. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  142. package/dist/esm-es5/ion-select-modal.entry.js +1 -1
  143. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  144. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  145. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  146. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  147. package/dist/esm-es5/ion-toast.entry.js +1 -1
  148. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  149. package/dist/esm-es5/ionic.js +1 -1
  150. package/dist/esm-es5/{ios.transition-b1da3753.js → ios.transition-4ee1a3af.js} +1 -1
  151. package/dist/esm-es5/loader.js +1 -1
  152. package/dist/esm-es5/{md.transition-571b3859.js → md.transition-5106a0d2.js} +1 -1
  153. package/dist/esm-es5/{overlays-5deab4de.js → overlays-e7b9d6d9.js} +1 -1
  154. package/dist/esm-es5/status-tap-f472b09f.js +4 -0
  155. package/dist/html.html-data.json +0 -16
  156. package/dist/ionic/index.esm.js +1 -1
  157. package/dist/ionic/ionic.esm.js +1 -1
  158. package/dist/ionic/p-0303d0f8.js +4 -0
  159. package/dist/ionic/{p-9343a445.js → p-06e58c4e.js} +1 -1
  160. package/dist/ionic/p-06fee233.js +4 -0
  161. package/dist/ionic/{p-ada36597.system.js → p-0aa833fb.system.js} +1 -1
  162. package/dist/ionic/{p-0eb35a7f.system.js → p-0c06e09b.system.js} +1 -1
  163. package/dist/ionic/{p-cba1f9bc.system.entry.js → p-1046866e.system.entry.js} +1 -1
  164. package/dist/ionic/{p-6dfb0f39.system.entry.js → p-12a722b8.system.entry.js} +1 -1
  165. package/dist/ionic/{p-a4a2420e.system.entry.js → p-14e159ea.system.entry.js} +1 -1
  166. package/dist/ionic/p-17474161.system.js +4 -0
  167. package/dist/ionic/p-19a5be0a.entry.js +4 -0
  168. package/dist/ionic/{p-fceec762.entry.js → p-19ec4f42.entry.js} +1 -1
  169. package/dist/ionic/{p-e09d6392.system.entry.js → p-1e010627.system.entry.js} +2 -2
  170. package/dist/ionic/{p-f1120724.system.entry.js → p-1fe02220.system.entry.js} +1 -1
  171. package/dist/ionic/p-2172893e.system.entry.js +4 -0
  172. package/dist/ionic/{p-0af823e1.js → p-21e5e7e4.js} +1 -1
  173. package/dist/ionic/p-2690b1de.js +4 -0
  174. package/dist/ionic/{p-9b122e3c.system.entry.js → p-2799c6d3.system.entry.js} +1 -1
  175. package/dist/ionic/p-2b9b78c7.entry.js +4 -0
  176. package/dist/ionic/{p-d6eaffb1.system.entry.js → p-2bd0ae94.system.entry.js} +1 -1
  177. package/dist/ionic/{p-8694928f.entry.js → p-2fc0dafe.entry.js} +1 -1
  178. package/dist/ionic/p-322c5fb4.system.js +1 -1
  179. package/dist/ionic/{p-6933c482.system.entry.js → p-32d44024.system.entry.js} +1 -1
  180. package/dist/ionic/{p-248318e0.system.entry.js → p-37cb43bd.system.entry.js} +1 -1
  181. package/dist/ionic/{p-9b428d25.entry.js → p-4439fc2a.entry.js} +1 -1
  182. package/dist/ionic/{p-948e6c6a.entry.js → p-45693d7e.entry.js} +1 -1
  183. package/dist/ionic/p-4ec778aa.entry.js +4 -0
  184. package/dist/ionic/{p-7a02f476.entry.js → p-508d024a.entry.js} +1 -1
  185. package/dist/ionic/{p-74e3f0af.system.entry.js → p-5823babc.system.entry.js} +2 -2
  186. package/dist/ionic/p-5ab1b709.entry.js +4 -0
  187. package/dist/ionic/{p-d22e2a38.system.js → p-5da94421.system.js} +1 -1
  188. package/dist/ionic/{p-f1060cd8.entry.js → p-61e3f887.entry.js} +1 -1
  189. package/dist/ionic/{p-05b74e45.system.entry.js → p-6499df44.system.entry.js} +1 -1
  190. package/dist/ionic/{p-585b455c.system.entry.js → p-66640ff7.system.entry.js} +1 -1
  191. package/dist/ionic/{p-8ac07653.system.entry.js → p-69666e8a.system.entry.js} +2 -2
  192. package/dist/ionic/{p-2da9c8a7.entry.js → p-6b280620.entry.js} +1 -1
  193. package/dist/ionic/{p-1199e388.system.entry.js → p-797eeea8.system.entry.js} +1 -1
  194. package/dist/ionic/{p-f1c4dcd4.js → p-88e63c7d.js} +1 -1
  195. package/dist/ionic/p-8b8be2fd.entry.js +4 -0
  196. package/dist/ionic/p-908d6080.entry.js +4 -0
  197. package/dist/ionic/{p-a8f2c254.entry.js → p-942b5e13.entry.js} +1 -1
  198. package/dist/ionic/{p-1ab13b2b.js → p-96cc4814.js} +1 -1
  199. package/dist/ionic/{p-f63c2d12.entry.js → p-982315a6.entry.js} +1 -1
  200. package/dist/ionic/p-98ff6b32.entry.js +4 -0
  201. package/dist/ionic/{p-61db139d.entry.js → p-9e33104d.entry.js} +1 -1
  202. package/dist/ionic/{p-a88dec0d.system.js → p-9ea607bd.system.js} +2 -2
  203. package/dist/ionic/{p-5c9eb9af.entry.js → p-9ee1e8a6.entry.js} +1 -1
  204. package/dist/ionic/{p-b1eb86fd.entry.js → p-9fa07aec.entry.js} +1 -1
  205. package/dist/ionic/{p-e76dae93.entry.js → p-a43467d8.entry.js} +1 -1
  206. package/dist/ionic/{p-b3c60433.system.js → p-a4565eb5.system.js} +1 -1
  207. package/dist/ionic/{p-ab674093.system.entry.js → p-a49378bb.system.entry.js} +1 -1
  208. package/dist/ionic/{p-92763d3d.entry.js → p-a61cba41.entry.js} +1 -1
  209. package/dist/ionic/{p-9f364443.system.entry.js → p-b2272f51.system.entry.js} +1 -1
  210. package/dist/ionic/{p-302b50bb.system.entry.js → p-b335ffed.system.entry.js} +1 -1
  211. package/dist/ionic/{p-eef505e8.entry.js → p-b79ba17c.entry.js} +1 -1
  212. package/dist/ionic/{p-cb13696c.js → p-b82d4cab.js} +1 -1
  213. package/dist/ionic/{p-744c8672.system.entry.js → p-bc36ad98.system.entry.js} +1 -1
  214. package/dist/ionic/{p-8cfba7e9.system.entry.js → p-c29f8157.system.entry.js} +1 -1
  215. package/dist/ionic/{p-5c08627a.system.js → p-c449820c.system.js} +1 -1
  216. package/dist/ionic/{p-120fb79a.entry.js → p-c9f3a539.entry.js} +1 -1
  217. package/dist/ionic/{p-a090bce8.system.entry.js → p-ca065903.system.entry.js} +1 -1
  218. package/dist/ionic/{p-933727f9.system.entry.js → p-d18ab582.system.entry.js} +1 -1
  219. package/dist/ionic/{p-1a5bc5f7.js → p-d60342e3.js} +1 -1
  220. package/dist/ionic/{p-b6efeab8.js → p-d6841eac.js} +1 -1
  221. package/dist/ionic/{p-89bf08c7.entry.js → p-da074ff7.entry.js} +1 -1
  222. package/dist/ionic/p-ddaa748a.system.entry.js +4 -0
  223. package/dist/ionic/p-dfb78785.system.js +4 -0
  224. package/dist/ionic/{p-fbd41a7e.system.entry.js → p-e4f69534.system.entry.js} +1 -1
  225. package/dist/ionic/{p-15d18206.entry.js → p-e563a35c.entry.js} +1 -1
  226. package/dist/ionic/{p-28706c6f.js → p-e6635685.js} +1 -1
  227. package/dist/ionic/{p-7de1e42c.system.js → p-e7ed4a7f.system.js} +1 -1
  228. package/dist/ionic/p-e85d901b.system.entry.js +4 -0
  229. package/dist/ionic/p-eba29931.entry.js +4 -0
  230. package/dist/ionic/{p-bdf2cb2e.system.entry.js → p-ebf042e0.system.entry.js} +1 -1
  231. package/dist/ionic/{p-7a6eaf9e.entry.js → p-efaffe74.entry.js} +1 -1
  232. package/dist/ionic/{p-2346ab53.system.entry.js → p-f1acf541.system.entry.js} +1 -1
  233. package/dist/ionic/{p-343b6b1d.system.js → p-f687573e.system.js} +1 -1
  234. package/dist/ionic/{p-c4238c12.system.js → p-f9a53abb.system.js} +1 -1
  235. package/dist/ionic/p-ff4b7e40.system.js +4 -0
  236. package/dist/types/components/checkbox/checkbox.d.ts +0 -6
  237. package/dist/types/components/modal/animations/sheet.d.ts +0 -1
  238. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  239. package/dist/types/components/modal/modal-interface.d.ts +0 -1
  240. package/dist/types/components/modal/modal.d.ts +0 -11
  241. package/dist/types/components/select/select.d.ts +0 -6
  242. package/dist/types/components/toggle/toggle.d.ts +0 -6
  243. package/dist/types/components/toolbar/toolbar.d.ts +0 -4
  244. package/dist/types/components.d.ts +0 -32
  245. package/dist/types/utils/config.d.ts +0 -9
  246. package/dist/types/utils/logging/index.d.ts +1 -13
  247. package/hydrate/index.js +60 -301
  248. package/hydrate/index.mjs +60 -301
  249. package/package.json +1 -1
  250. package/dist/esm-es5/index-6ad967f3.js +0 -4
  251. package/dist/esm-es5/input-shims-2fd7c6ef.js +0 -4
  252. package/dist/esm-es5/status-tap-79eac0ac.js +0 -4
  253. package/dist/ionic/p-0430c2e0.entry.js +0 -4
  254. package/dist/ionic/p-126be614.system.entry.js +0 -4
  255. package/dist/ionic/p-4c98e2cf.system.js +0 -4
  256. package/dist/ionic/p-577bc414.entry.js +0 -4
  257. package/dist/ionic/p-67222c16.system.js +0 -4
  258. package/dist/ionic/p-6c95736e.entry.js +0 -4
  259. package/dist/ionic/p-722ec9c7.entry.js +0 -4
  260. package/dist/ionic/p-7513b0c4.js +0 -4
  261. package/dist/ionic/p-783411f1.entry.js +0 -4
  262. package/dist/ionic/p-98e41e4f.system.entry.js +0 -4
  263. package/dist/ionic/p-a3db8ee3.js +0 -4
  264. package/dist/ionic/p-d1c5b60e.system.js +0 -4
  265. package/dist/ionic/p-d57a57d6.entry.js +0 -4
  266. package/dist/ionic/p-d7dd8fb1.entry.js +0 -4
  267. package/dist/ionic/p-e3171ff3.entry.js +0 -4
  268. package/dist/ionic/p-e6376b93.system.entry.js +0 -4
  269. package/dist/ionic/p-e8d56122.js +0 -4
package/hydrate/index.mjs CHANGED
@@ -3213,12 +3213,9 @@ let accordionIds = 0;
3213
3213
  * @param message - The string message to be logged to the console.
3214
3214
  */
3215
3215
  const printIonWarning = (message, ...params) => {
3216
- const logLevel = config.get('logLevel', "WARN" /* LogLevel.WARN */);
3217
- if (["WARN" /* LogLevel.WARN */].includes(logLevel)) {
3218
- return console.warn(`[Ionic Warning]: ${message}`, ...params);
3219
- }
3216
+ return console.warn(`[Ionic Warning]: ${message}`, ...params);
3220
3217
  };
3221
- /**
3218
+ /*
3222
3219
  * Logs an error to the console with an Ionic prefix
3223
3220
  * to indicate the library that is warning the developer.
3224
3221
  *
@@ -3226,10 +3223,7 @@ const printIonWarning = (message, ...params) => {
3226
3223
  * @param params - Additional arguments to supply to the console.error.
3227
3224
  */
3228
3225
  const printIonError = (message, ...params) => {
3229
- const logLevel = config.get('logLevel', "ERROR" /* LogLevel.ERROR */);
3230
- if (["ERROR" /* LogLevel.ERROR */, "WARN" /* LogLevel.WARN */].includes(logLevel)) {
3231
- return console.error(`[Ionic Error]: ${message}`, ...params);
3232
- }
3226
+ return console.error(`[Ionic Error]: ${message}`, ...params);
3233
3227
  };
3234
3228
  /**
3235
3229
  * Prints an error informing developers that an implementation requires an element to be used
@@ -8493,7 +8487,6 @@ class Checkbox {
8493
8487
  this.labelPlacement = 'start';
8494
8488
  this.justify = undefined;
8495
8489
  this.alignment = undefined;
8496
- this.required = false;
8497
8490
  }
8498
8491
  componentWillLoad() {
8499
8492
  this.inheritedAttributes = Object.assign({}, inheritAriaAttributes(this.el));
@@ -8505,11 +8498,11 @@ class Checkbox {
8505
8498
  }
8506
8499
  }
8507
8500
  render() {
8508
- const { color, checked, disabled, el, getSVGPath, indeterminate, inheritedAttributes, inputId, justify, labelPlacement, name, value, alignment, required, } = this;
8501
+ const { color, checked, disabled, el, getSVGPath, indeterminate, inheritedAttributes, inputId, justify, labelPlacement, name, value, alignment, } = this;
8509
8502
  const mode = getIonMode$1(this);
8510
8503
  const path = getSVGPath(mode, indeterminate);
8511
8504
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
8512
- return (hAsync(Host, { key: '07a5884062dd256b570e856270c74a5a09d2f2a5', "aria-checked": indeterminate ? 'mixed' : `${checked}`, class: createColorClasses$1(color, {
8505
+ return (hAsync(Host, { key: '6dc787e1100521d08c4900104e1a3e2f594e919f', "aria-checked": indeterminate ? 'mixed' : `${checked}`, class: createColorClasses$1(color, {
8513
8506
  [mode]: true,
8514
8507
  'in-item': hostContext('ion-item', el),
8515
8508
  'checkbox-checked': checked,
@@ -8519,10 +8512,10 @@ class Checkbox {
8519
8512
  [`checkbox-justify-${justify}`]: justify !== undefined,
8520
8513
  [`checkbox-alignment-${alignment}`]: alignment !== undefined,
8521
8514
  [`checkbox-label-placement-${labelPlacement}`]: true,
8522
- }), 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: {
8515
+ }), 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: {
8523
8516
  'label-text-wrapper': true,
8524
8517
  'label-text-wrapper-hidden': el.textContent === '',
8525
- }, 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)))));
8518
+ }, 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)))));
8526
8519
  }
8527
8520
  getSVGPath(mode, indeterminate) {
8528
8521
  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" }));
@@ -8549,7 +8542,6 @@ class Checkbox {
8549
8542
  "labelPlacement": [1, "label-placement"],
8550
8543
  "justify": [1],
8551
8544
  "alignment": [1],
8552
- "required": [4],
8553
8545
  "setFocus": [64]
8554
8546
  },
8555
8547
  "$listeners$": undefined,
@@ -9109,20 +9101,20 @@ class Content {
9109
9101
  const forceOverscroll = this.shouldForceOverscroll();
9110
9102
  const transitionShadow = mode === 'ios';
9111
9103
  this.resize();
9112
- return (hAsync(Host, Object.assign({ key: 'e3241b81c97aa6187c43397006fd1136e8c7a1b5', role: isMainContent ? 'main' : undefined, class: createColorClasses$1(this.color, {
9104
+ return (hAsync(Host, Object.assign({ key: 'f2a24aa66dbf5c76f9d4b06f708eb73cadc239df', role: isMainContent ? 'main' : undefined, class: createColorClasses$1(this.color, {
9113
9105
  [mode]: true,
9114
9106
  'content-sizing': hostContext('ion-popover', this.el),
9115
9107
  overscroll: forceOverscroll,
9116
9108
  [`content-${rtl}`]: true,
9117
- }), tabIndex: '0', style: {
9109
+ }), style: {
9118
9110
  '--offset-top': `${this.cTop}px`,
9119
9111
  '--offset-bottom': `${this.cBottom}px`,
9120
- } }, inheritedAttributes), hAsync("div", { key: 'b2e0837fd5cb59de4306bf1ea7b115f4fd43f6f9', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? hAsync("slot", { name: "fixed" }) : null, hAsync("div", { key: 'b66cfe79487ba5a6b06da1580514c7406f2293c9', class: {
9112
+ } }, inheritedAttributes), hAsync("div", { key: '6480ca7648b278abb36477b3838bccbcd4995e2a', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? hAsync("slot", { name: "fixed" }) : null, hAsync("div", { key: '29a23b663f5f0215bb000820c01e1814c0d55985', class: {
9121
9113
  'inner-scroll': true,
9122
9114
  'scroll-x': scrollX,
9123
9115
  'scroll-y': scrollY,
9124
9116
  overscroll: (scrollX || scrollY) && forceOverscroll,
9125
- }, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, hAsync("slot", { key: '30ae38ae7d5dc407af5cd432e577a8013996e523' })), transitionShadow ? (hAsync("div", { class: "transition-effect" }, hAsync("div", { class: "transition-cover" }), hAsync("div", { class: "transition-shadow" }))) : null, fixedSlotPlacement === 'after' ? hAsync("slot", { name: "fixed" }) : null));
9117
+ }, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, hAsync("slot", { key: '0fe1bd05609a4b88ae2ce9addf5d5dc5dc1806f0' })), transitionShadow ? (hAsync("div", { class: "transition-effect" }, hAsync("div", { class: "transition-cover" }), hAsync("div", { class: "transition-shadow" }))) : null, fixedSlotPlacement === 'after' ? hAsync("slot", { name: "fixed" }) : null));
9126
9118
  }
9127
9119
  get el() { return getElement(this); }
9128
9120
  static get style() { return IonContentStyle0; }
@@ -19025,7 +19017,7 @@ const computeDuration = (remaining, velocity) => {
19025
19017
  };
19026
19018
 
19027
19019
  const createSheetEnterAnimation = (opts) => {
19028
- const { currentBreakpoint, backdropBreakpoint, expandToScroll } = opts;
19020
+ const { currentBreakpoint, backdropBreakpoint } = opts;
19029
19021
  /**
19030
19022
  * If the backdropBreakpoint is undefined, then the backdrop
19031
19023
  * should always fade in. If the backdropBreakpoint came before the
@@ -19045,16 +19037,7 @@ const createSheetEnterAnimation = (opts) => {
19045
19037
  { offset: 0, opacity: 1, transform: 'translateY(100%)' },
19046
19038
  { offset: 1, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
19047
19039
  ]);
19048
- /**
19049
- * This allows the content to be scrollable at any breakpoint.
19050
- */
19051
- const contentAnimation = !expandToScroll
19052
- ? createAnimation('contentAnimation').keyframes([
19053
- { offset: 0, opacity: 1, maxHeight: `${(1 - currentBreakpoint) * 100}%` },
19054
- { offset: 1, opacity: 1, maxHeight: `${currentBreakpoint * 100}%` },
19055
- ])
19056
- : undefined;
19057
- return { wrapperAnimation, backdropAnimation, contentAnimation };
19040
+ return { wrapperAnimation, backdropAnimation };
19058
19041
  };
19059
19042
  const createSheetLeaveAnimation = (opts) => {
19060
19043
  const { currentBreakpoint, backdropBreakpoint } = opts;
@@ -19089,68 +19072,22 @@ const createEnterAnimation$1 = () => {
19089
19072
  })
19090
19073
  .afterClearStyles(['pointer-events']);
19091
19074
  const wrapperAnimation = createAnimation().fromTo('transform', 'translateY(100vh)', 'translateY(0vh)');
19092
- return { backdropAnimation, wrapperAnimation, contentAnimation: undefined };
19075
+ return { backdropAnimation, wrapperAnimation };
19093
19076
  };
19094
19077
  /**
19095
19078
  * iOS Modal Enter Animation for the Card presentation style
19096
19079
  */
19097
19080
  const iosEnterAnimation$3 = (baseEl, opts) => {
19098
- const { presentingEl, currentBreakpoint, expandToScroll } = opts;
19081
+ const { presentingEl, currentBreakpoint } = opts;
19099
19082
  const root = getElementRoot(baseEl);
19100
- const { wrapperAnimation, backdropAnimation, contentAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation$1();
19083
+ const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation$1();
19101
19084
  backdropAnimation.addElement(root.querySelector('ion-backdrop'));
19102
19085
  wrapperAnimation.addElement(root.querySelectorAll('.modal-wrapper, .modal-shadow')).beforeStyles({ opacity: 1 });
19103
- // The content animation is only added if scrolling is enabled for
19104
- // all the breakpoints.
19105
- !expandToScroll && (contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.addElement(baseEl.querySelector('.ion-page')));
19106
19086
  const baseAnimation = createAnimation('entering-base')
19107
19087
  .addElement(baseEl)
19108
19088
  .easing('cubic-bezier(0.32,0.72,0,1)')
19109
19089
  .duration(500)
19110
- .addAnimation([wrapperAnimation])
19111
- .beforeAddWrite(() => {
19112
- if (expandToScroll) {
19113
- // Scroll can only be done when the modal is fully expanded.
19114
- return;
19115
- }
19116
- /**
19117
- * There are some browsers that causes flickering when
19118
- * dragging the content when scroll is enabled at every
19119
- * breakpoint. This is due to the wrapper element being
19120
- * transformed off the screen and having a snap animation.
19121
- *
19122
- * A workaround is to clone the footer element and append
19123
- * it outside of the wrapper element. This way, the footer
19124
- * is still visible and the drag can be done without
19125
- * flickering. The original footer is hidden until the modal
19126
- * is dismissed. This maintains the animation of the footer
19127
- * when the modal is dismissed.
19128
- *
19129
- * The workaround needs to be done before the animation starts
19130
- * so there are no flickering issues.
19131
- */
19132
- const ionFooter = baseEl.querySelector('ion-footer');
19133
- /**
19134
- * This check is needed to prevent more than one footer
19135
- * from being appended to the shadow root.
19136
- * Otherwise, iOS and MD enter animations would append
19137
- * the footer twice.
19138
- */
19139
- const ionFooterAlreadyAppended = baseEl.shadowRoot.querySelector('ion-footer');
19140
- if (ionFooter && !ionFooterAlreadyAppended) {
19141
- const footerHeight = ionFooter.clientHeight;
19142
- const clonedFooter = ionFooter.cloneNode(true);
19143
- baseEl.shadowRoot.appendChild(clonedFooter);
19144
- ionFooter.style.setProperty('display', 'none');
19145
- ionFooter.setAttribute('aria-hidden', 'true');
19146
- // Padding is added to prevent some content from being hidden.
19147
- const page = baseEl.querySelector('.ion-page');
19148
- page.style.setProperty('padding-bottom', `${footerHeight}px`);
19149
- }
19150
- });
19151
- if (contentAnimation) {
19152
- baseAnimation.addAnimation(contentAnimation);
19153
- }
19090
+ .addAnimation(wrapperAnimation);
19154
19091
  if (presentingEl) {
19155
19092
  const isMobile = window.innerWidth < 768;
19156
19093
  const hasCardModal = presentingEl.tagName === 'ION-MODAL' && presentingEl.presentingElement !== undefined;
@@ -19228,7 +19165,7 @@ const createLeaveAnimation$1 = () => {
19228
19165
  * iOS Modal Leave Animation
19229
19166
  */
19230
19167
  const iosLeaveAnimation$3 = (baseEl, opts, duration = 500) => {
19231
- const { presentingEl, currentBreakpoint, expandToScroll } = opts;
19168
+ const { presentingEl, currentBreakpoint } = opts;
19232
19169
  const root = getElementRoot(baseEl);
19233
19170
  const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetLeaveAnimation(opts) : createLeaveAnimation$1();
19234
19171
  backdropAnimation.addElement(root.querySelector('ion-backdrop'));
@@ -19237,29 +19174,7 @@ const iosLeaveAnimation$3 = (baseEl, opts, duration = 500) => {
19237
19174
  .addElement(baseEl)
19238
19175
  .easing('cubic-bezier(0.32,0.72,0,1)')
19239
19176
  .duration(duration)
19240
- .addAnimation(wrapperAnimation)
19241
- .beforeAddWrite(() => {
19242
- if (expandToScroll) {
19243
- // Scroll can only be done when the modal is fully expanded.
19244
- return;
19245
- }
19246
- /**
19247
- * If expandToScroll is disabled, we need to swap
19248
- * the visibility to the original, so the footer
19249
- * dismisses with the modal and doesn't stay
19250
- * until the modal is removed from the DOM.
19251
- */
19252
- const ionFooter = baseEl.querySelector('ion-footer');
19253
- if (ionFooter) {
19254
- const clonedFooter = baseEl.shadowRoot.querySelector('ion-footer');
19255
- ionFooter.style.removeProperty('display');
19256
- ionFooter.removeAttribute('aria-hidden');
19257
- clonedFooter.style.setProperty('display', 'none');
19258
- clonedFooter.setAttribute('aria-hidden', 'true');
19259
- const page = baseEl.querySelector('.ion-page');
19260
- page.style.removeProperty('padding-bottom');
19261
- }
19262
- });
19177
+ .addAnimation(wrapperAnimation);
19263
19178
  if (presentingEl) {
19264
19179
  const isMobile = window.innerWidth < 768;
19265
19180
  const hasCardModal = presentingEl.tagName === 'ION-MODAL' && presentingEl.presentingElement !== undefined;
@@ -19337,69 +19252,22 @@ const createEnterAnimation = () => {
19337
19252
  { offset: 0, opacity: 0.01, transform: 'translateY(40px)' },
19338
19253
  { offset: 1, opacity: 1, transform: `translateY(0px)` },
19339
19254
  ]);
19340
- return { backdropAnimation, wrapperAnimation, contentAnimation: undefined };
19255
+ return { backdropAnimation, wrapperAnimation };
19341
19256
  };
19342
19257
  /**
19343
19258
  * Md Modal Enter Animation
19344
19259
  */
19345
19260
  const mdEnterAnimation$2 = (baseEl, opts) => {
19346
- const { currentBreakpoint, expandToScroll } = opts;
19261
+ const { currentBreakpoint } = opts;
19347
19262
  const root = getElementRoot(baseEl);
19348
- const { wrapperAnimation, backdropAnimation, contentAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation();
19263
+ const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation();
19349
19264
  backdropAnimation.addElement(root.querySelector('ion-backdrop'));
19350
19265
  wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
19351
- // The content animation is only added if scrolling is enabled for
19352
- // all the breakpoints.
19353
- expandToScroll && (contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.addElement(baseEl.querySelector('.ion-page')));
19354
- const baseAnimation = createAnimation()
19266
+ return createAnimation()
19355
19267
  .addElement(baseEl)
19356
19268
  .easing('cubic-bezier(0.36,0.66,0.04,1)')
19357
19269
  .duration(280)
19358
- .addAnimation([backdropAnimation, wrapperAnimation])
19359
- .beforeAddWrite(() => {
19360
- if (expandToScroll) {
19361
- // Scroll can only be done when the modal is fully expanded.
19362
- return;
19363
- }
19364
- /**
19365
- * There are some browsers that causes flickering when
19366
- * dragging the content when scroll is enabled at every
19367
- * breakpoint. This is due to the wrapper element being
19368
- * transformed off the screen and having a snap animation.
19369
- *
19370
- * A workaround is to clone the footer element and append
19371
- * it outside of the wrapper element. This way, the footer
19372
- * is still visible and the drag can be done without
19373
- * flickering. The original footer is hidden until the modal
19374
- * is dismissed. This maintains the animation of the footer
19375
- * when the modal is dismissed.
19376
- *
19377
- * The workaround needs to be done before the animation starts
19378
- * so there are no flickering issues.
19379
- */
19380
- const ionFooter = baseEl.querySelector('ion-footer');
19381
- /**
19382
- * This check is needed to prevent more than one footer
19383
- * from being appended to the shadow root.
19384
- * Otherwise, iOS and MD enter animations would append
19385
- * the footer twice.
19386
- */
19387
- const ionFooterAlreadyAppended = baseEl.shadowRoot.querySelector('ion-footer');
19388
- if (ionFooter && !ionFooterAlreadyAppended) {
19389
- const footerHeight = ionFooter.clientHeight;
19390
- const clonedFooter = ionFooter.cloneNode(true);
19391
- baseEl.shadowRoot.appendChild(clonedFooter);
19392
- ionFooter.style.setProperty('display', 'none');
19393
- ionFooter.setAttribute('aria-hidden', 'true');
19394
- // Padding is added to prevent some content from being hidden.
19395
- const page = baseEl.querySelector('.ion-page');
19396
- page.style.setProperty('padding-bottom', `${footerHeight}px`);
19397
- }
19398
- });
19399
- if (contentAnimation) {
19400
- baseAnimation.addAnimation(contentAnimation);
19401
- }
19402
- return baseAnimation;
19270
+ .addAnimation([backdropAnimation, wrapperAnimation]);
19403
19271
  };
19404
19272
 
19405
19273
  const createLeaveAnimation = () => {
@@ -19414,41 +19282,18 @@ const createLeaveAnimation = () => {
19414
19282
  * Md Modal Leave Animation
19415
19283
  */
19416
19284
  const mdLeaveAnimation$2 = (baseEl, opts) => {
19417
- const { currentBreakpoint, expandToScroll } = opts;
19285
+ const { currentBreakpoint } = opts;
19418
19286
  const root = getElementRoot(baseEl);
19419
19287
  const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetLeaveAnimation(opts) : createLeaveAnimation();
19420
19288
  backdropAnimation.addElement(root.querySelector('ion-backdrop'));
19421
19289
  wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
19422
- const baseAnimation = createAnimation()
19290
+ return createAnimation()
19423
19291
  .easing('cubic-bezier(0.47,0,0.745,0.715)')
19424
19292
  .duration(200)
19425
- .addAnimation([backdropAnimation, wrapperAnimation])
19426
- .beforeAddWrite(() => {
19427
- if (expandToScroll) {
19428
- // Scroll can only be done when the modal is fully expanded.
19429
- return;
19430
- }
19431
- /**
19432
- * If expandToScroll is disabled, we need to swap
19433
- * the visibility to the original, so the footer
19434
- * dismisses with the modal and doesn't stay
19435
- * until the modal is removed from the DOM.
19436
- */
19437
- const ionFooter = baseEl.querySelector('ion-footer');
19438
- if (ionFooter) {
19439
- const clonedFooter = baseEl.shadowRoot.querySelector('ion-footer');
19440
- ionFooter.style.removeProperty('display');
19441
- ionFooter.removeAttribute('aria-hidden');
19442
- clonedFooter.style.setProperty('display', 'none');
19443
- clonedFooter.setAttribute('aria-hidden', 'true');
19444
- const page = baseEl.querySelector('.ion-page');
19445
- page.style.removeProperty('padding-bottom');
19446
- }
19447
- });
19448
- return baseAnimation;
19293
+ .addAnimation([backdropAnimation, wrapperAnimation]);
19449
19294
  };
19450
19295
 
19451
- const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange) => {
19296
+ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], getCurrentBreakpoint, onDismiss, onBreakpointChange) => {
19452
19297
  // Defaults for the sheet swipe animation
19453
19298
  const defaultBackdrop = [
19454
19299
  { offset: 0, opacity: 'var(--backdrop-opacity)' },
@@ -19465,10 +19310,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19465
19310
  { offset: 1, transform: 'translateY(100%)' },
19466
19311
  ],
19467
19312
  BACKDROP_KEYFRAMES: backdropBreakpoint !== 0 ? customBackdrop : defaultBackdrop,
19468
- CONTENT_KEYFRAMES: [
19469
- { offset: 0, maxHeight: '100%' },
19470
- { offset: 1, maxHeight: '0%' },
19471
- ],
19472
19313
  };
19473
19314
  const contentEl = baseEl.querySelector('ion-content');
19474
19315
  const height = wrapperEl.clientHeight;
@@ -19476,11 +19317,10 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19476
19317
  let offset = 0;
19477
19318
  let canDismissBlocksGesture = false;
19478
19319
  const canDismissMaxStep = 0.95;
19479
- const maxBreakpoint = breakpoints[breakpoints.length - 1];
19480
- const minBreakpoint = breakpoints[0];
19481
19320
  const wrapperAnimation = animation.childAnimations.find((ani) => ani.id === 'wrapperAnimation');
19482
19321
  const backdropAnimation = animation.childAnimations.find((ani) => ani.id === 'backdropAnimation');
19483
- const contentAnimation = animation.childAnimations.find((ani) => ani.id === 'contentAnimation');
19322
+ const maxBreakpoint = breakpoints[breakpoints.length - 1];
19323
+ const minBreakpoint = breakpoints[0];
19484
19324
  const enableBackdrop = () => {
19485
19325
  baseEl.style.setProperty('pointer-events', 'auto');
19486
19326
  backdropEl.style.setProperty('pointer-events', 'auto');
@@ -19503,31 +19343,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19503
19343
  */
19504
19344
  baseEl.classList.add(FOCUS_TRAP_DISABLE_CLASS);
19505
19345
  };
19506
- /**
19507
- * Toggles the visible modal footer when `expandToScroll` is disabled.
19508
- * @param footer The footer to show.
19509
- */
19510
- const swapFooterVisibility = (footer) => {
19511
- const originalFooter = baseEl.querySelector('ion-footer');
19512
- if (!originalFooter) {
19513
- return;
19514
- }
19515
- const clonedFooter = wrapperEl.nextElementSibling;
19516
- const footerToHide = footer === 'original' ? clonedFooter : originalFooter;
19517
- const footerToShow = footer === 'original' ? originalFooter : clonedFooter;
19518
- footerToShow.style.removeProperty('display');
19519
- footerToShow.removeAttribute('aria-hidden');
19520
- const page = baseEl.querySelector('.ion-page');
19521
- if (footer === 'original') {
19522
- page.style.removeProperty('padding-bottom');
19523
- }
19524
- else {
19525
- const pagePadding = footerToShow.clientHeight;
19526
- page.style.setProperty('padding-bottom', `${pagePadding}px`);
19527
- }
19528
- footerToHide.style.setProperty('display', 'none');
19529
- footerToHide.setAttribute('aria-hidden', 'true');
19530
- };
19531
19346
  /**
19532
19347
  * After the entering animation completes,
19533
19348
  * we need to set the animation to go from
@@ -19539,7 +19354,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19539
19354
  if (wrapperAnimation && backdropAnimation) {
19540
19355
  wrapperAnimation.keyframes([...SheetDefaults.WRAPPER_KEYFRAMES]);
19541
19356
  backdropAnimation.keyframes([...SheetDefaults.BACKDROP_KEYFRAMES]);
19542
- contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.keyframes([...SheetDefaults.CONTENT_KEYFRAMES]);
19543
19357
  animation.progressStart(true, 1 - currentBreakpoint);
19544
19358
  /**
19545
19359
  * If backdrop is not enabled, then content
@@ -19556,7 +19370,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19556
19370
  disableBackdrop();
19557
19371
  }
19558
19372
  }
19559
- if (contentEl && currentBreakpoint !== maxBreakpoint && expandToScroll) {
19373
+ if (contentEl && currentBreakpoint !== maxBreakpoint) {
19560
19374
  contentEl.scrollY = false;
19561
19375
  }
19562
19376
  const canStart = (detail) => {
@@ -19570,13 +19384,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19570
19384
  */
19571
19385
  const contentEl = findClosestIonContent(detail.event.target);
19572
19386
  currentBreakpoint = getCurrentBreakpoint();
19573
- /**
19574
- * If we have expandToScroll disabled, we should not allow the swipe gesture to start
19575
- * if the content is being swiped.
19576
- */
19577
- if (!expandToScroll && contentEl) {
19578
- return false;
19579
- }
19580
19387
  if (currentBreakpoint === 1 && contentEl) {
19581
19388
  /**
19582
19389
  * The modal should never swipe to close on the content with a refresher.
@@ -19607,15 +19414,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19607
19414
  * Remove undefined check
19608
19415
  */
19609
19416
  canDismissBlocksGesture = baseEl.canDismiss !== undefined && baseEl.canDismiss !== true && minBreakpoint === 0;
19610
- /**
19611
- * If expandToScroll is disabled, we need to swap
19612
- * the footer visibility to the original, so if the modal
19613
- * is dismissed, the footer dismisses with the modal
19614
- * and doesn't stay on the screen after the modal is gone.
19615
- */
19616
- if (!expandToScroll) {
19617
- swapFooterVisibility('original');
19618
- }
19619
19417
  /**
19620
19418
  * If we are pulling down, then it is possible we are pulling on the content.
19621
19419
  * We do not want scrolling to happen at the same time as the gesture.
@@ -19731,19 +19529,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19731
19529
  opacity: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
19732
19530
  },
19733
19531
  ]);
19734
- if (contentAnimation) {
19735
- /**
19736
- * The modal content should scroll at any breakpoint when expandToScroll
19737
- * is disabled. In order to do this, the content needs to be completely
19738
- * viewable so scrolling can access everything. Otherwise, the default
19739
- * behavior would show the content off the screen and only allow
19740
- * scrolling when the sheet is fully expanded.
19741
- */
19742
- contentAnimation.keyframes([
19743
- { offset: 0, maxHeight: `${(1 - breakpointOffset) * 100}%` },
19744
- { offset: 1, maxHeight: `${snapToBreakpoint * 100}%` },
19745
- ]);
19746
- }
19747
19532
  animation.progressStep(0);
19748
19533
  }
19749
19534
  /**
@@ -19751,14 +19536,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19751
19536
  * snapping animation completes.
19752
19537
  */
19753
19538
  gesture.enable(false);
19754
- /**
19755
- * If expandToScroll is disabled, we need to swap
19756
- * the footer visibility to the cloned one so the footer
19757
- * doesn't flicker when the sheet's height is animated.
19758
- */
19759
- if (!expandToScroll && shouldRemainOpen) {
19760
- swapFooterVisibility('cloned');
19761
- }
19762
19539
  if (shouldPreventDismiss) {
19763
19540
  handleCanDismiss(baseEl, animation);
19764
19541
  }
@@ -19766,13 +19543,13 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19766
19543
  onDismiss();
19767
19544
  }
19768
19545
  /**
19769
- * Enables scrolling immediately if the sheet is about to fully expand
19770
- * or if it allows scrolling at any breakpoint. Without this, there would
19771
- * be a ~500ms delay while the modal animation completes, causing a
19772
- * noticeable lag. Native iOS allows scrolling as soon as the gesture is
19773
- * released, so we align with that behavior.
19546
+ * If the sheet is going to be fully expanded then we should enable
19547
+ * scrolling immediately. The sheet modal animation takes ~500ms to finish
19548
+ * so if we wait until then there is a visible delay for when scrolling is
19549
+ * re-enabled. Native iOS allows for scrolling on the sheet modal as soon
19550
+ * as the gesture is released, so we align with that.
19774
19551
  */
19775
- if (contentEl && (snapToBreakpoint === breakpoints[breakpoints.length - 1] || !expandToScroll)) {
19552
+ if (contentEl && snapToBreakpoint === breakpoints[breakpoints.length - 1]) {
19776
19553
  contentEl.scrollY = true;
19777
19554
  }
19778
19555
  return new Promise((resolve) => {
@@ -19790,7 +19567,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19790
19567
  raf(() => {
19791
19568
  wrapperAnimation.keyframes([...SheetDefaults.WRAPPER_KEYFRAMES]);
19792
19569
  backdropAnimation.keyframes([...SheetDefaults.BACKDROP_KEYFRAMES]);
19793
- contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.keyframes([...SheetDefaults.CONTENT_KEYFRAMES]);
19794
19570
  animation.progressStart(true, 1 - snapToBreakpoint);
19795
19571
  currentBreakpoint = snapToBreakpoint;
19796
19572
  onBreakpointChange(currentBreakpoint);
@@ -19843,10 +19619,10 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19843
19619
  };
19844
19620
  };
19845
19621
 
19846
- 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}";
19622
+ 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}";
19847
19623
  var IonModalIosStyle0 = modalIosCss;
19848
19624
 
19849
- 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}";
19625
+ 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}";
19850
19626
  var IonModalMdStyle0 = modalMdCss;
19851
19627
 
19852
19628
  // TODO(FW-2832): types
@@ -19925,7 +19701,6 @@ class Modal {
19925
19701
  this.enterAnimation = undefined;
19926
19702
  this.leaveAnimation = undefined;
19927
19703
  this.breakpoints = undefined;
19928
- this.expandToScroll = true;
19929
19704
  this.initialBreakpoint = undefined;
19930
19705
  this.backdropBreakpoint = 0;
19931
19706
  this.handle = undefined;
@@ -20141,7 +19916,6 @@ class Modal {
20141
19916
  presentingEl: presentingElement,
20142
19917
  currentBreakpoint: this.initialBreakpoint,
20143
19918
  backdropBreakpoint: this.backdropBreakpoint,
20144
- expandToScroll: this.expandToScroll,
20145
19919
  });
20146
19920
  /* tslint:disable-next-line */
20147
19921
  if (typeof window !== 'undefined') {
@@ -20192,10 +19966,7 @@ class Modal {
20192
19966
  // should be in the DOM and referenced by now, except
20193
19967
  // for the presenting el
20194
19968
  const animationBuilder = this.leaveAnimation || config.get('modalLeave', iosLeaveAnimation$3);
20195
- const ani = (this.animation = animationBuilder(el, {
20196
- presentingEl: this.presentingElement,
20197
- expandToScroll: this.expandToScroll,
20198
- }));
19969
+ const ani = (this.animation = animationBuilder(el, { presentingEl: this.presentingElement }));
20199
19970
  const contentEl = findIonContent(el);
20200
19971
  if (!contentEl) {
20201
19972
  printIonContentErrorMsg(el);
@@ -20240,10 +20011,9 @@ class Modal {
20240
20011
  presentingEl: this.presentingElement,
20241
20012
  currentBreakpoint: initialBreakpoint,
20242
20013
  backdropBreakpoint,
20243
- expandToScroll: this.expandToScroll,
20244
20014
  }));
20245
20015
  ani.progressStart(true, 1);
20246
- 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) => {
20016
+ 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) => {
20247
20017
  if (this.currentBreakpoint !== breakpoint) {
20248
20018
  this.currentBreakpoint = breakpoint;
20249
20019
  this.ionBreakpointDidChange.emit({ breakpoint });
@@ -20321,7 +20091,6 @@ class Modal {
20321
20091
  presentingEl: presentingElement,
20322
20092
  currentBreakpoint: (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : this.initialBreakpoint,
20323
20093
  backdropBreakpoint: this.backdropBreakpoint,
20324
- expandToScroll: this.expandToScroll,
20325
20094
  });
20326
20095
  if (dismissed) {
20327
20096
  const { delegate } = this.getDelegate();
@@ -20407,23 +20176,23 @@ class Modal {
20407
20176
  return true;
20408
20177
  }
20409
20178
  render() {
20410
- const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
20179
+ const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap } = this;
20411
20180
  const showHandle = handle !== false && isSheetModal;
20412
20181
  const mode = getIonMode$1(this);
20413
20182
  const isCardModal = presentingElement !== undefined && mode === 'ios';
20414
20183
  const isHandleCycle = handleBehavior === 'cycle';
20415
- return (hAsync(Host, Object.assign({ key: 'ff15df63e72caaeb0a4ad68e9eedeaaa7d3f3bde', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
20184
+ return (hAsync(Host, Object.assign({ key: 'b4da5111fe4719fa450c39b2d4bd884a302a7924', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
20416
20185
  zIndex: `${20000 + this.overlayIndex}`,
20417
- }, 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',
20186
+ }, 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',
20418
20187
  /*
20419
20188
  role and aria-modal must be used on the
20420
20189
  same element. They must also be set inside the
20421
20190
  shadow DOM otherwise ion-button will not be highlighted
20422
20191
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
20423
20192
  */
20424
- 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",
20193
+ 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",
20425
20194
  // Prevents the handle from receiving keyboard focus when it does not cycle
20426
- 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' }))));
20195
+ 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' }))));
20427
20196
  }
20428
20197
  get el() { return getElement(this); }
20429
20198
  static get watchers() { return {
@@ -20445,7 +20214,6 @@ class Modal {
20445
20214
  "enterAnimation": [16],
20446
20215
  "leaveAnimation": [16],
20447
20216
  "breakpoints": [16],
20448
- "expandToScroll": [4, "expand-to-scroll"],
20449
20217
  "initialBreakpoint": [2, "initial-breakpoint"],
20450
20218
  "backdropBreakpoint": [2, "backdrop-breakpoint"],
20451
20219
  "handle": [4],
@@ -29889,7 +29657,6 @@ class Select {
29889
29657
  this.expandedIcon = undefined;
29890
29658
  this.shape = undefined;
29891
29659
  this.value = undefined;
29892
- this.required = false;
29893
29660
  }
29894
29661
  styleChanged() {
29895
29662
  this.emitStyle();
@@ -30374,8 +30141,8 @@ class Select {
30374
30141
  return renderedLabel;
30375
30142
  }
30376
30143
  renderListbox() {
30377
- const { disabled, inputId, isExpanded, required } = this;
30378
- 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) }));
30144
+ const { disabled, inputId, isExpanded } = this;
30145
+ 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) }));
30379
30146
  }
30380
30147
  render() {
30381
30148
  const { disabled, el, isExpanded, expandedIcon, labelPlacement, justify, placeholder, fill, shape, name, value } = this;
@@ -30406,7 +30173,7 @@ class Select {
30406
30173
  * TODO(FW-5592): Remove hasStartEndSlots condition
30407
30174
  */
30408
30175
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
30409
- return (hAsync(Host, { key: '491cf1b0e3aa31e7c9cfad3e87d83eb54272312a', onClick: this.onClick, class: createColorClasses$1(this.color, {
30176
+ return (hAsync(Host, { key: '144dfa5c49549a74fe516c65b9b8104a477ac789', onClick: this.onClick, class: createColorClasses$1(this.color, {
30410
30177
  [mode]: true,
30411
30178
  'in-item': inItem,
30412
30179
  'in-item-color': hostContext('ion-item.ion-color', el),
@@ -30422,7 +30189,7 @@ class Select {
30422
30189
  [`select-justify-${justify}`]: justifyEnabled,
30423
30190
  [`select-shape-${shape}`]: shape !== undefined,
30424
30191
  [`select-label-placement-${labelPlacement}`]: true,
30425
- }) }, hAsync("label", { key: '07bf3cb57bd1121383d8c746e3ac49da38300082', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), hAsync("div", { key: '884facd18342797576bbacc761d18d83c52762e3', class: "select-wrapper-inner" }, hAsync("slot", { key: 'c4f2a2a7a76f52db15f9a0b806017caea443c47a', name: "start" }), hAsync("div", { key: '235cf383f268cc74412722cd31e246cbd4c2abe5', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), hAsync("slot", { key: '1481302e11c494d49dfd80a7aaf743f7e851558f', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && hAsync("div", { key: '8a45ea9280651695c8e5435f266c286f3e3f6a18', class: "select-highlight" }))));
30192
+ }) }, hAsync("label", { key: '0edcfcbac575a9dccc77991531b6980d1caebf42', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), hAsync("div", { key: '348151d90cb093f5d21c7d4a834264ac4a312c40', class: "select-wrapper-inner" }, hAsync("slot", { key: '8b7708c7f81217435c58276da0c08bba766d9500', name: "start" }), hAsync("div", { key: '10c520a335da0a0d1cf40f9365597beb244d3b48', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), hAsync("slot", { key: '0f15c40a5495e98e29d2a21ba21e0bc6f1c0125a', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && hAsync("div", { key: 'c87faad2e5ebf7f9453397d7ede43abd64d21294', class: "select-highlight" }))));
30426
30193
  }
30427
30194
  get el() { return getElement(this); }
30428
30195
  static get watchers() { return {
@@ -30458,7 +30225,6 @@ class Select {
30458
30225
  "expandedIcon": [1, "expanded-icon"],
30459
30226
  "shape": [1],
30460
30227
  "value": [1032],
30461
- "required": [4],
30462
30228
  "isExpanded": [32],
30463
30229
  "open": [64]
30464
30230
  },
@@ -31015,10 +30781,10 @@ class Tab {
31015
30781
  }
31016
30782
  render() {
31017
30783
  const { tab, active, component } = this;
31018
- return (hAsync(Host, { key: 'c8d049c74c66a2748f3ec81d2855446acf114abe', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
30784
+ return (hAsync(Host, { key: 'cb75d0877979b3b8df8f7e1952bfa9677da1eaa5', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
31019
30785
  'ion-page': component === undefined,
31020
30786
  'tab-hidden': !active,
31021
- } }, hAsync("slot", { key: 'fba1ddc9aefb2711e13d43734f606b493ce8380a' })));
30787
+ } }, hAsync("slot", { key: '37fbb7b7a6b03eb93b1dacd2dc1025b78eb2aa6b' })));
31022
30788
  }
31023
30789
  get el() { return getElement(this); }
31024
30790
  static get watchers() { return {
@@ -31210,7 +30976,7 @@ class TabButton {
31210
30976
  'ion-activatable': true,
31211
30977
  'ion-selectable': true,
31212
30978
  'ion-focusable': true,
31213
- } }, hAsync("a", Object.assign({ key: '2f32e70232c7872b14e9ead1d1c31c98ad3577b4' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : '0' }, inheritedAttributes), hAsync("span", { key: '5c9467b16e36a526a20f460980ec45022f464c3a', class: "button-inner" }, hAsync("slot", { key: 'eefd60fac84ff01366a0f82f6ad71782ee7351e9' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '0d3452ae46e47f2d50c0198668c42e00e1a4d7bf', type: "unbounded" }))));
30979
+ } }, hAsync("a", Object.assign({ key: '1db09d861b67ff292018fb4b0dc7b85bd4677eb8' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : undefined }, inheritedAttributes), hAsync("span", { key: '4381eafcb27e8c7bb0d86d4f115ceb0caf03b9b4', class: "button-inner" }, hAsync("slot", { key: '1981135f6fbb88376c1bd923c55c70fe8b5c5159' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '0509bc7155d055d1ed710600e9cf4df135881491', type: "unbounded" }))));
31214
30980
  }
31215
30981
  get el() { return getElement(this); }
31216
30982
  static get style() { return {
@@ -31252,7 +31018,6 @@ class Tabs {
31252
31018
  this.ionTabsDidChange = createEvent(this, "ionTabsDidChange", 3);
31253
31019
  this.transitioning = false;
31254
31020
  this.onTabClicked = (ev) => {
31255
- console.log("onTabClicked");
31256
31021
  const { href, tab } = ev.detail;
31257
31022
  if (this.useRouter && href !== undefined) {
31258
31023
  const router = document.querySelector('ion-router');
@@ -31387,7 +31152,7 @@ class Tabs {
31387
31152
  return Array.from(this.el.querySelectorAll('ion-tab'));
31388
31153
  }
31389
31154
  render() {
31390
- return (hAsync(Host, { key: '6c9bb24efdbb7d2135097dbaf200b9d9a106eba0', onIonTabButtonClick: this.onTabClicked }, hAsync("slot", { key: '7e29a9895b183269b3e293c3f70c9644324215ad', name: "top" }), hAsync("div", { key: '02d3c0685ff01dff1a0e0663aaec55552a24acd9', class: "tabs-inner" }, hAsync("slot", { key: 'e7b6928b811caae14f8981b1da65d1d487bd74e8' })), hAsync("slot", { key: 'd4464bcf631c7ff7afc96d95942a4af1fda64919', name: "bottom" })));
31155
+ return (hAsync(Host, { key: 'e01ccf6bfaccad094515be50e407399c733fc226', onIonTabButtonClick: this.onTabClicked }, hAsync("slot", { key: '38d2d01dbfd8a08f01e6f0e27274b21d75424e37', name: "top" }), hAsync("div", { key: '7e894f0f423e2d43e1c68daff5f9f6c442fad237', class: "tabs-inner" }, hAsync("slot", { key: 'df16be529a0370a26d0adf850530b31607507c23' })), hAsync("slot", { key: '44642e1cb24c3281c43db75fd69a32fe0defe40a', name: "bottom" })));
31391
31156
  }
31392
31157
  get el() { return getElement(this); }
31393
31158
  static get style() { return IonTabsStyle0; }
@@ -32856,7 +32621,6 @@ class Toggle {
32856
32621
  this.labelPlacement = 'start';
32857
32622
  this.justify = undefined;
32858
32623
  this.alignment = undefined;
32859
- this.required = false;
32860
32624
  }
32861
32625
  disabledChanged() {
32862
32626
  if (this.gesture) {
@@ -32938,12 +32702,12 @@ class Toggle {
32938
32702
  return this.el.textContent !== '';
32939
32703
  }
32940
32704
  render() {
32941
- const { activated, color, checked, disabled, el, justify, labelPlacement, inputId, name, alignment, required } = this;
32705
+ const { activated, color, checked, disabled, el, justify, labelPlacement, inputId, name, alignment } = this;
32942
32706
  const mode = getIonMode$1(this);
32943
32707
  const value = this.getValue();
32944
32708
  const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
32945
32709
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
32946
- return (hAsync(Host, { key: 'ed75573caa6e37011f1453dd7f723fb9bd8a3656', onClick: this.onClick, class: createColorClasses$1(color, {
32710
+ return (hAsync(Host, { key: 'f52195ec3bc14c024647cb41319c32a4cd330e19', onClick: this.onClick, class: createColorClasses$1(color, {
32947
32711
  [mode]: true,
32948
32712
  'in-item': hostContext('ion-item', el),
32949
32713
  'toggle-activated': activated,
@@ -32953,10 +32717,10 @@ class Toggle {
32953
32717
  [`toggle-alignment-${alignment}`]: alignment !== undefined,
32954
32718
  [`toggle-label-placement-${labelPlacement}`]: true,
32955
32719
  [`toggle-${rtl}`]: true,
32956
- }) }, 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: {
32720
+ }) }, 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: {
32957
32721
  'label-text-wrapper': true,
32958
32722
  'label-text-wrapper-hidden': !this.hasLabel,
32959
- }, part: "label" }, hAsync("slot", { key: '9495a4a39889822ee68e0d89dc5a2f863d1feb3c' })), hAsync("div", { key: '55f1eb08c4b705e94fbcf02220bbe1d292f06155', class: "native-wrapper" }, this.renderToggleControl()))));
32723
+ }, part: "label" }, hAsync("slot", { key: '80a6672e2e792c15011a9496dcd75363cdba31c6' })), hAsync("div", { key: '2b2b318b38ab27b194c0dab4cecd77d9d780f2ca', class: "native-wrapper" }, this.renderToggleControl()))));
32960
32724
  }
32961
32725
  get el() { return getElement(this); }
32962
32726
  static get watchers() { return {
@@ -32979,7 +32743,6 @@ class Toggle {
32979
32743
  "labelPlacement": [1, "label-placement"],
32980
32744
  "justify": [1],
32981
32745
  "alignment": [1],
32982
- "required": [4],
32983
32746
  "activated": [32]
32984
32747
  },
32985
32748
  "$listeners$": undefined,
@@ -33011,10 +32774,6 @@ var IonToolbarMdStyle0 = toolbarMdCss;
33011
32774
  * @slot secondary - Content is placed to the left of the toolbar text in `ios` mode, and directly to the right in `md` mode.
33012
32775
  * @slot primary - Content is placed to the right of the toolbar text in `ios` mode, and to the far right in `md` mode.
33013
32776
  * @slot end - Content is placed to the right of the toolbar text in LTR, and to the left in RTL.
33014
- *
33015
- * @part background - The background of the toolbar, covering the entire area behind the toolbar content.
33016
- * @part container - The container that wraps all toolbar content, including the default slot and named slot content.
33017
- * @part content - The container for the default slot, wrapping content provided without a named slot.
33018
32777
  */
33019
32778
  class Toolbar {
33020
32779
  constructor(hostRef) {
@@ -33065,10 +32824,10 @@ class Toolbar {
33065
32824
  this.childrenStyles.forEach((value) => {
33066
32825
  Object.assign(childStyles, value);
33067
32826
  });
33068
- return (hAsync(Host, { key: '4fdc9ae82a93237cc28ceb95b0ebd8069b62839d', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
32827
+ return (hAsync(Host, { key: '462538a5ecd01baf3cde116c9f029aeda26c81be', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
33069
32828
  [mode]: true,
33070
32829
  'in-toolbar': hostContext('ion-toolbar', this.el),
33071
- })) }, 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" }))));
32830
+ })) }, 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" }))));
33072
32831
  }
33073
32832
  get el() { return getElement(this); }
33074
32833
  static get style() { return {