@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.js CHANGED
@@ -3217,12 +3217,9 @@ let accordionIds = 0;
3217
3217
  * @param message - The string message to be logged to the console.
3218
3218
  */
3219
3219
  const printIonWarning = (message, ...params) => {
3220
- const logLevel = config.get('logLevel', "WARN" /* LogLevel.WARN */);
3221
- if (["WARN" /* LogLevel.WARN */].includes(logLevel)) {
3222
- return console.warn(`[Ionic Warning]: ${message}`, ...params);
3223
- }
3220
+ return console.warn(`[Ionic Warning]: ${message}`, ...params);
3224
3221
  };
3225
- /**
3222
+ /*
3226
3223
  * Logs an error to the console with an Ionic prefix
3227
3224
  * to indicate the library that is warning the developer.
3228
3225
  *
@@ -3230,10 +3227,7 @@ const printIonWarning = (message, ...params) => {
3230
3227
  * @param params - Additional arguments to supply to the console.error.
3231
3228
  */
3232
3229
  const printIonError = (message, ...params) => {
3233
- const logLevel = config.get('logLevel', "ERROR" /* LogLevel.ERROR */);
3234
- if (["ERROR" /* LogLevel.ERROR */, "WARN" /* LogLevel.WARN */].includes(logLevel)) {
3235
- return console.error(`[Ionic Error]: ${message}`, ...params);
3236
- }
3230
+ return console.error(`[Ionic Error]: ${message}`, ...params);
3237
3231
  };
3238
3232
  /**
3239
3233
  * Prints an error informing developers that an implementation requires an element to be used
@@ -8497,7 +8491,6 @@ class Checkbox {
8497
8491
  this.labelPlacement = 'start';
8498
8492
  this.justify = undefined;
8499
8493
  this.alignment = undefined;
8500
- this.required = false;
8501
8494
  }
8502
8495
  componentWillLoad() {
8503
8496
  this.inheritedAttributes = Object.assign({}, inheritAriaAttributes(this.el));
@@ -8509,11 +8502,11 @@ class Checkbox {
8509
8502
  }
8510
8503
  }
8511
8504
  render() {
8512
- const { color, checked, disabled, el, getSVGPath, indeterminate, inheritedAttributes, inputId, justify, labelPlacement, name, value, alignment, required, } = this;
8505
+ const { color, checked, disabled, el, getSVGPath, indeterminate, inheritedAttributes, inputId, justify, labelPlacement, name, value, alignment, } = this;
8513
8506
  const mode = getIonMode$1(this);
8514
8507
  const path = getSVGPath(mode, indeterminate);
8515
8508
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
8516
- return (hAsync(Host, { key: '07a5884062dd256b570e856270c74a5a09d2f2a5', "aria-checked": indeterminate ? 'mixed' : `${checked}`, class: createColorClasses$1(color, {
8509
+ return (hAsync(Host, { key: '6dc787e1100521d08c4900104e1a3e2f594e919f', "aria-checked": indeterminate ? 'mixed' : `${checked}`, class: createColorClasses$1(color, {
8517
8510
  [mode]: true,
8518
8511
  'in-item': hostContext('ion-item', el),
8519
8512
  'checkbox-checked': checked,
@@ -8523,10 +8516,10 @@ class Checkbox {
8523
8516
  [`checkbox-justify-${justify}`]: justify !== undefined,
8524
8517
  [`checkbox-alignment-${alignment}`]: alignment !== undefined,
8525
8518
  [`checkbox-label-placement-${labelPlacement}`]: true,
8526
- }), 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: {
8519
+ }), 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: {
8527
8520
  'label-text-wrapper': true,
8528
8521
  'label-text-wrapper-hidden': el.textContent === '',
8529
- }, 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)))));
8522
+ }, 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)))));
8530
8523
  }
8531
8524
  getSVGPath(mode, indeterminate) {
8532
8525
  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" }));
@@ -8553,7 +8546,6 @@ class Checkbox {
8553
8546
  "labelPlacement": [1, "label-placement"],
8554
8547
  "justify": [1],
8555
8548
  "alignment": [1],
8556
- "required": [4],
8557
8549
  "setFocus": [64]
8558
8550
  },
8559
8551
  "$listeners$": undefined,
@@ -9113,20 +9105,20 @@ class Content {
9113
9105
  const forceOverscroll = this.shouldForceOverscroll();
9114
9106
  const transitionShadow = mode === 'ios';
9115
9107
  this.resize();
9116
- return (hAsync(Host, Object.assign({ key: 'e3241b81c97aa6187c43397006fd1136e8c7a1b5', role: isMainContent ? 'main' : undefined, class: createColorClasses$1(this.color, {
9108
+ return (hAsync(Host, Object.assign({ key: 'f2a24aa66dbf5c76f9d4b06f708eb73cadc239df', role: isMainContent ? 'main' : undefined, class: createColorClasses$1(this.color, {
9117
9109
  [mode]: true,
9118
9110
  'content-sizing': hostContext('ion-popover', this.el),
9119
9111
  overscroll: forceOverscroll,
9120
9112
  [`content-${rtl}`]: true,
9121
- }), tabIndex: '0', style: {
9113
+ }), style: {
9122
9114
  '--offset-top': `${this.cTop}px`,
9123
9115
  '--offset-bottom': `${this.cBottom}px`,
9124
- } }, 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: {
9116
+ } }, 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: {
9125
9117
  'inner-scroll': true,
9126
9118
  'scroll-x': scrollX,
9127
9119
  'scroll-y': scrollY,
9128
9120
  overscroll: (scrollX || scrollY) && forceOverscroll,
9129
- }, 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));
9121
+ }, 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));
9130
9122
  }
9131
9123
  get el() { return getElement(this); }
9132
9124
  static get style() { return IonContentStyle0; }
@@ -19029,7 +19021,7 @@ const computeDuration = (remaining, velocity) => {
19029
19021
  };
19030
19022
 
19031
19023
  const createSheetEnterAnimation = (opts) => {
19032
- const { currentBreakpoint, backdropBreakpoint, expandToScroll } = opts;
19024
+ const { currentBreakpoint, backdropBreakpoint } = opts;
19033
19025
  /**
19034
19026
  * If the backdropBreakpoint is undefined, then the backdrop
19035
19027
  * should always fade in. If the backdropBreakpoint came before the
@@ -19049,16 +19041,7 @@ const createSheetEnterAnimation = (opts) => {
19049
19041
  { offset: 0, opacity: 1, transform: 'translateY(100%)' },
19050
19042
  { offset: 1, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
19051
19043
  ]);
19052
- /**
19053
- * This allows the content to be scrollable at any breakpoint.
19054
- */
19055
- const contentAnimation = !expandToScroll
19056
- ? createAnimation('contentAnimation').keyframes([
19057
- { offset: 0, opacity: 1, maxHeight: `${(1 - currentBreakpoint) * 100}%` },
19058
- { offset: 1, opacity: 1, maxHeight: `${currentBreakpoint * 100}%` },
19059
- ])
19060
- : undefined;
19061
- return { wrapperAnimation, backdropAnimation, contentAnimation };
19044
+ return { wrapperAnimation, backdropAnimation };
19062
19045
  };
19063
19046
  const createSheetLeaveAnimation = (opts) => {
19064
19047
  const { currentBreakpoint, backdropBreakpoint } = opts;
@@ -19093,68 +19076,22 @@ const createEnterAnimation$1 = () => {
19093
19076
  })
19094
19077
  .afterClearStyles(['pointer-events']);
19095
19078
  const wrapperAnimation = createAnimation().fromTo('transform', 'translateY(100vh)', 'translateY(0vh)');
19096
- return { backdropAnimation, wrapperAnimation, contentAnimation: undefined };
19079
+ return { backdropAnimation, wrapperAnimation };
19097
19080
  };
19098
19081
  /**
19099
19082
  * iOS Modal Enter Animation for the Card presentation style
19100
19083
  */
19101
19084
  const iosEnterAnimation$3 = (baseEl, opts) => {
19102
- const { presentingEl, currentBreakpoint, expandToScroll } = opts;
19085
+ const { presentingEl, currentBreakpoint } = opts;
19103
19086
  const root = getElementRoot(baseEl);
19104
- const { wrapperAnimation, backdropAnimation, contentAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation$1();
19087
+ const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation$1();
19105
19088
  backdropAnimation.addElement(root.querySelector('ion-backdrop'));
19106
19089
  wrapperAnimation.addElement(root.querySelectorAll('.modal-wrapper, .modal-shadow')).beforeStyles({ opacity: 1 });
19107
- // The content animation is only added if scrolling is enabled for
19108
- // all the breakpoints.
19109
- !expandToScroll && (contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.addElement(baseEl.querySelector('.ion-page')));
19110
19090
  const baseAnimation = createAnimation('entering-base')
19111
19091
  .addElement(baseEl)
19112
19092
  .easing('cubic-bezier(0.32,0.72,0,1)')
19113
19093
  .duration(500)
19114
- .addAnimation([wrapperAnimation])
19115
- .beforeAddWrite(() => {
19116
- if (expandToScroll) {
19117
- // Scroll can only be done when the modal is fully expanded.
19118
- return;
19119
- }
19120
- /**
19121
- * There are some browsers that causes flickering when
19122
- * dragging the content when scroll is enabled at every
19123
- * breakpoint. This is due to the wrapper element being
19124
- * transformed off the screen and having a snap animation.
19125
- *
19126
- * A workaround is to clone the footer element and append
19127
- * it outside of the wrapper element. This way, the footer
19128
- * is still visible and the drag can be done without
19129
- * flickering. The original footer is hidden until the modal
19130
- * is dismissed. This maintains the animation of the footer
19131
- * when the modal is dismissed.
19132
- *
19133
- * The workaround needs to be done before the animation starts
19134
- * so there are no flickering issues.
19135
- */
19136
- const ionFooter = baseEl.querySelector('ion-footer');
19137
- /**
19138
- * This check is needed to prevent more than one footer
19139
- * from being appended to the shadow root.
19140
- * Otherwise, iOS and MD enter animations would append
19141
- * the footer twice.
19142
- */
19143
- const ionFooterAlreadyAppended = baseEl.shadowRoot.querySelector('ion-footer');
19144
- if (ionFooter && !ionFooterAlreadyAppended) {
19145
- const footerHeight = ionFooter.clientHeight;
19146
- const clonedFooter = ionFooter.cloneNode(true);
19147
- baseEl.shadowRoot.appendChild(clonedFooter);
19148
- ionFooter.style.setProperty('display', 'none');
19149
- ionFooter.setAttribute('aria-hidden', 'true');
19150
- // Padding is added to prevent some content from being hidden.
19151
- const page = baseEl.querySelector('.ion-page');
19152
- page.style.setProperty('padding-bottom', `${footerHeight}px`);
19153
- }
19154
- });
19155
- if (contentAnimation) {
19156
- baseAnimation.addAnimation(contentAnimation);
19157
- }
19094
+ .addAnimation(wrapperAnimation);
19158
19095
  if (presentingEl) {
19159
19096
  const isMobile = window.innerWidth < 768;
19160
19097
  const hasCardModal = presentingEl.tagName === 'ION-MODAL' && presentingEl.presentingElement !== undefined;
@@ -19232,7 +19169,7 @@ const createLeaveAnimation$1 = () => {
19232
19169
  * iOS Modal Leave Animation
19233
19170
  */
19234
19171
  const iosLeaveAnimation$3 = (baseEl, opts, duration = 500) => {
19235
- const { presentingEl, currentBreakpoint, expandToScroll } = opts;
19172
+ const { presentingEl, currentBreakpoint } = opts;
19236
19173
  const root = getElementRoot(baseEl);
19237
19174
  const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetLeaveAnimation(opts) : createLeaveAnimation$1();
19238
19175
  backdropAnimation.addElement(root.querySelector('ion-backdrop'));
@@ -19241,29 +19178,7 @@ const iosLeaveAnimation$3 = (baseEl, opts, duration = 500) => {
19241
19178
  .addElement(baseEl)
19242
19179
  .easing('cubic-bezier(0.32,0.72,0,1)')
19243
19180
  .duration(duration)
19244
- .addAnimation(wrapperAnimation)
19245
- .beforeAddWrite(() => {
19246
- if (expandToScroll) {
19247
- // Scroll can only be done when the modal is fully expanded.
19248
- return;
19249
- }
19250
- /**
19251
- * If expandToScroll is disabled, we need to swap
19252
- * the visibility to the original, so the footer
19253
- * dismisses with the modal and doesn't stay
19254
- * until the modal is removed from the DOM.
19255
- */
19256
- const ionFooter = baseEl.querySelector('ion-footer');
19257
- if (ionFooter) {
19258
- const clonedFooter = baseEl.shadowRoot.querySelector('ion-footer');
19259
- ionFooter.style.removeProperty('display');
19260
- ionFooter.removeAttribute('aria-hidden');
19261
- clonedFooter.style.setProperty('display', 'none');
19262
- clonedFooter.setAttribute('aria-hidden', 'true');
19263
- const page = baseEl.querySelector('.ion-page');
19264
- page.style.removeProperty('padding-bottom');
19265
- }
19266
- });
19181
+ .addAnimation(wrapperAnimation);
19267
19182
  if (presentingEl) {
19268
19183
  const isMobile = window.innerWidth < 768;
19269
19184
  const hasCardModal = presentingEl.tagName === 'ION-MODAL' && presentingEl.presentingElement !== undefined;
@@ -19341,69 +19256,22 @@ const createEnterAnimation = () => {
19341
19256
  { offset: 0, opacity: 0.01, transform: 'translateY(40px)' },
19342
19257
  { offset: 1, opacity: 1, transform: `translateY(0px)` },
19343
19258
  ]);
19344
- return { backdropAnimation, wrapperAnimation, contentAnimation: undefined };
19259
+ return { backdropAnimation, wrapperAnimation };
19345
19260
  };
19346
19261
  /**
19347
19262
  * Md Modal Enter Animation
19348
19263
  */
19349
19264
  const mdEnterAnimation$2 = (baseEl, opts) => {
19350
- const { currentBreakpoint, expandToScroll } = opts;
19265
+ const { currentBreakpoint } = opts;
19351
19266
  const root = getElementRoot(baseEl);
19352
- const { wrapperAnimation, backdropAnimation, contentAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation();
19267
+ const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation();
19353
19268
  backdropAnimation.addElement(root.querySelector('ion-backdrop'));
19354
19269
  wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
19355
- // The content animation is only added if scrolling is enabled for
19356
- // all the breakpoints.
19357
- expandToScroll && (contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.addElement(baseEl.querySelector('.ion-page')));
19358
- const baseAnimation = createAnimation()
19270
+ return createAnimation()
19359
19271
  .addElement(baseEl)
19360
19272
  .easing('cubic-bezier(0.36,0.66,0.04,1)')
19361
19273
  .duration(280)
19362
- .addAnimation([backdropAnimation, wrapperAnimation])
19363
- .beforeAddWrite(() => {
19364
- if (expandToScroll) {
19365
- // Scroll can only be done when the modal is fully expanded.
19366
- return;
19367
- }
19368
- /**
19369
- * There are some browsers that causes flickering when
19370
- * dragging the content when scroll is enabled at every
19371
- * breakpoint. This is due to the wrapper element being
19372
- * transformed off the screen and having a snap animation.
19373
- *
19374
- * A workaround is to clone the footer element and append
19375
- * it outside of the wrapper element. This way, the footer
19376
- * is still visible and the drag can be done without
19377
- * flickering. The original footer is hidden until the modal
19378
- * is dismissed. This maintains the animation of the footer
19379
- * when the modal is dismissed.
19380
- *
19381
- * The workaround needs to be done before the animation starts
19382
- * so there are no flickering issues.
19383
- */
19384
- const ionFooter = baseEl.querySelector('ion-footer');
19385
- /**
19386
- * This check is needed to prevent more than one footer
19387
- * from being appended to the shadow root.
19388
- * Otherwise, iOS and MD enter animations would append
19389
- * the footer twice.
19390
- */
19391
- const ionFooterAlreadyAppended = baseEl.shadowRoot.querySelector('ion-footer');
19392
- if (ionFooter && !ionFooterAlreadyAppended) {
19393
- const footerHeight = ionFooter.clientHeight;
19394
- const clonedFooter = ionFooter.cloneNode(true);
19395
- baseEl.shadowRoot.appendChild(clonedFooter);
19396
- ionFooter.style.setProperty('display', 'none');
19397
- ionFooter.setAttribute('aria-hidden', 'true');
19398
- // Padding is added to prevent some content from being hidden.
19399
- const page = baseEl.querySelector('.ion-page');
19400
- page.style.setProperty('padding-bottom', `${footerHeight}px`);
19401
- }
19402
- });
19403
- if (contentAnimation) {
19404
- baseAnimation.addAnimation(contentAnimation);
19405
- }
19406
- return baseAnimation;
19274
+ .addAnimation([backdropAnimation, wrapperAnimation]);
19407
19275
  };
19408
19276
 
19409
19277
  const createLeaveAnimation = () => {
@@ -19418,41 +19286,18 @@ const createLeaveAnimation = () => {
19418
19286
  * Md Modal Leave Animation
19419
19287
  */
19420
19288
  const mdLeaveAnimation$2 = (baseEl, opts) => {
19421
- const { currentBreakpoint, expandToScroll } = opts;
19289
+ const { currentBreakpoint } = opts;
19422
19290
  const root = getElementRoot(baseEl);
19423
19291
  const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetLeaveAnimation(opts) : createLeaveAnimation();
19424
19292
  backdropAnimation.addElement(root.querySelector('ion-backdrop'));
19425
19293
  wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
19426
- const baseAnimation = createAnimation()
19294
+ return createAnimation()
19427
19295
  .easing('cubic-bezier(0.47,0,0.745,0.715)')
19428
19296
  .duration(200)
19429
- .addAnimation([backdropAnimation, wrapperAnimation])
19430
- .beforeAddWrite(() => {
19431
- if (expandToScroll) {
19432
- // Scroll can only be done when the modal is fully expanded.
19433
- return;
19434
- }
19435
- /**
19436
- * If expandToScroll is disabled, we need to swap
19437
- * the visibility to the original, so the footer
19438
- * dismisses with the modal and doesn't stay
19439
- * until the modal is removed from the DOM.
19440
- */
19441
- const ionFooter = baseEl.querySelector('ion-footer');
19442
- if (ionFooter) {
19443
- const clonedFooter = baseEl.shadowRoot.querySelector('ion-footer');
19444
- ionFooter.style.removeProperty('display');
19445
- ionFooter.removeAttribute('aria-hidden');
19446
- clonedFooter.style.setProperty('display', 'none');
19447
- clonedFooter.setAttribute('aria-hidden', 'true');
19448
- const page = baseEl.querySelector('.ion-page');
19449
- page.style.removeProperty('padding-bottom');
19450
- }
19451
- });
19452
- return baseAnimation;
19297
+ .addAnimation([backdropAnimation, wrapperAnimation]);
19453
19298
  };
19454
19299
 
19455
- const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange) => {
19300
+ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], getCurrentBreakpoint, onDismiss, onBreakpointChange) => {
19456
19301
  // Defaults for the sheet swipe animation
19457
19302
  const defaultBackdrop = [
19458
19303
  { offset: 0, opacity: 'var(--backdrop-opacity)' },
@@ -19469,10 +19314,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19469
19314
  { offset: 1, transform: 'translateY(100%)' },
19470
19315
  ],
19471
19316
  BACKDROP_KEYFRAMES: backdropBreakpoint !== 0 ? customBackdrop : defaultBackdrop,
19472
- CONTENT_KEYFRAMES: [
19473
- { offset: 0, maxHeight: '100%' },
19474
- { offset: 1, maxHeight: '0%' },
19475
- ],
19476
19317
  };
19477
19318
  const contentEl = baseEl.querySelector('ion-content');
19478
19319
  const height = wrapperEl.clientHeight;
@@ -19480,11 +19321,10 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19480
19321
  let offset = 0;
19481
19322
  let canDismissBlocksGesture = false;
19482
19323
  const canDismissMaxStep = 0.95;
19483
- const maxBreakpoint = breakpoints[breakpoints.length - 1];
19484
- const minBreakpoint = breakpoints[0];
19485
19324
  const wrapperAnimation = animation.childAnimations.find((ani) => ani.id === 'wrapperAnimation');
19486
19325
  const backdropAnimation = animation.childAnimations.find((ani) => ani.id === 'backdropAnimation');
19487
- const contentAnimation = animation.childAnimations.find((ani) => ani.id === 'contentAnimation');
19326
+ const maxBreakpoint = breakpoints[breakpoints.length - 1];
19327
+ const minBreakpoint = breakpoints[0];
19488
19328
  const enableBackdrop = () => {
19489
19329
  baseEl.style.setProperty('pointer-events', 'auto');
19490
19330
  backdropEl.style.setProperty('pointer-events', 'auto');
@@ -19507,31 +19347,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19507
19347
  */
19508
19348
  baseEl.classList.add(FOCUS_TRAP_DISABLE_CLASS);
19509
19349
  };
19510
- /**
19511
- * Toggles the visible modal footer when `expandToScroll` is disabled.
19512
- * @param footer The footer to show.
19513
- */
19514
- const swapFooterVisibility = (footer) => {
19515
- const originalFooter = baseEl.querySelector('ion-footer');
19516
- if (!originalFooter) {
19517
- return;
19518
- }
19519
- const clonedFooter = wrapperEl.nextElementSibling;
19520
- const footerToHide = footer === 'original' ? clonedFooter : originalFooter;
19521
- const footerToShow = footer === 'original' ? originalFooter : clonedFooter;
19522
- footerToShow.style.removeProperty('display');
19523
- footerToShow.removeAttribute('aria-hidden');
19524
- const page = baseEl.querySelector('.ion-page');
19525
- if (footer === 'original') {
19526
- page.style.removeProperty('padding-bottom');
19527
- }
19528
- else {
19529
- const pagePadding = footerToShow.clientHeight;
19530
- page.style.setProperty('padding-bottom', `${pagePadding}px`);
19531
- }
19532
- footerToHide.style.setProperty('display', 'none');
19533
- footerToHide.setAttribute('aria-hidden', 'true');
19534
- };
19535
19350
  /**
19536
19351
  * After the entering animation completes,
19537
19352
  * we need to set the animation to go from
@@ -19543,7 +19358,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19543
19358
  if (wrapperAnimation && backdropAnimation) {
19544
19359
  wrapperAnimation.keyframes([...SheetDefaults.WRAPPER_KEYFRAMES]);
19545
19360
  backdropAnimation.keyframes([...SheetDefaults.BACKDROP_KEYFRAMES]);
19546
- contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.keyframes([...SheetDefaults.CONTENT_KEYFRAMES]);
19547
19361
  animation.progressStart(true, 1 - currentBreakpoint);
19548
19362
  /**
19549
19363
  * If backdrop is not enabled, then content
@@ -19560,7 +19374,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19560
19374
  disableBackdrop();
19561
19375
  }
19562
19376
  }
19563
- if (contentEl && currentBreakpoint !== maxBreakpoint && expandToScroll) {
19377
+ if (contentEl && currentBreakpoint !== maxBreakpoint) {
19564
19378
  contentEl.scrollY = false;
19565
19379
  }
19566
19380
  const canStart = (detail) => {
@@ -19574,13 +19388,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19574
19388
  */
19575
19389
  const contentEl = findClosestIonContent(detail.event.target);
19576
19390
  currentBreakpoint = getCurrentBreakpoint();
19577
- /**
19578
- * If we have expandToScroll disabled, we should not allow the swipe gesture to start
19579
- * if the content is being swiped.
19580
- */
19581
- if (!expandToScroll && contentEl) {
19582
- return false;
19583
- }
19584
19391
  if (currentBreakpoint === 1 && contentEl) {
19585
19392
  /**
19586
19393
  * The modal should never swipe to close on the content with a refresher.
@@ -19611,15 +19418,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19611
19418
  * Remove undefined check
19612
19419
  */
19613
19420
  canDismissBlocksGesture = baseEl.canDismiss !== undefined && baseEl.canDismiss !== true && minBreakpoint === 0;
19614
- /**
19615
- * If expandToScroll is disabled, we need to swap
19616
- * the footer visibility to the original, so if the modal
19617
- * is dismissed, the footer dismisses with the modal
19618
- * and doesn't stay on the screen after the modal is gone.
19619
- */
19620
- if (!expandToScroll) {
19621
- swapFooterVisibility('original');
19622
- }
19623
19421
  /**
19624
19422
  * If we are pulling down, then it is possible we are pulling on the content.
19625
19423
  * We do not want scrolling to happen at the same time as the gesture.
@@ -19735,19 +19533,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19735
19533
  opacity: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
19736
19534
  },
19737
19535
  ]);
19738
- if (contentAnimation) {
19739
- /**
19740
- * The modal content should scroll at any breakpoint when expandToScroll
19741
- * is disabled. In order to do this, the content needs to be completely
19742
- * viewable so scrolling can access everything. Otherwise, the default
19743
- * behavior would show the content off the screen and only allow
19744
- * scrolling when the sheet is fully expanded.
19745
- */
19746
- contentAnimation.keyframes([
19747
- { offset: 0, maxHeight: `${(1 - breakpointOffset) * 100}%` },
19748
- { offset: 1, maxHeight: `${snapToBreakpoint * 100}%` },
19749
- ]);
19750
- }
19751
19536
  animation.progressStep(0);
19752
19537
  }
19753
19538
  /**
@@ -19755,14 +19540,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19755
19540
  * snapping animation completes.
19756
19541
  */
19757
19542
  gesture.enable(false);
19758
- /**
19759
- * If expandToScroll is disabled, we need to swap
19760
- * the footer visibility to the cloned one so the footer
19761
- * doesn't flicker when the sheet's height is animated.
19762
- */
19763
- if (!expandToScroll && shouldRemainOpen) {
19764
- swapFooterVisibility('cloned');
19765
- }
19766
19543
  if (shouldPreventDismiss) {
19767
19544
  handleCanDismiss(baseEl, animation);
19768
19545
  }
@@ -19770,13 +19547,13 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19770
19547
  onDismiss();
19771
19548
  }
19772
19549
  /**
19773
- * Enables scrolling immediately if the sheet is about to fully expand
19774
- * or if it allows scrolling at any breakpoint. Without this, there would
19775
- * be a ~500ms delay while the modal animation completes, causing a
19776
- * noticeable lag. Native iOS allows scrolling as soon as the gesture is
19777
- * released, so we align with that behavior.
19550
+ * If the sheet is going to be fully expanded then we should enable
19551
+ * scrolling immediately. The sheet modal animation takes ~500ms to finish
19552
+ * so if we wait until then there is a visible delay for when scrolling is
19553
+ * re-enabled. Native iOS allows for scrolling on the sheet modal as soon
19554
+ * as the gesture is released, so we align with that.
19778
19555
  */
19779
- if (contentEl && (snapToBreakpoint === breakpoints[breakpoints.length - 1] || !expandToScroll)) {
19556
+ if (contentEl && snapToBreakpoint === breakpoints[breakpoints.length - 1]) {
19780
19557
  contentEl.scrollY = true;
19781
19558
  }
19782
19559
  return new Promise((resolve) => {
@@ -19794,7 +19571,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19794
19571
  raf(() => {
19795
19572
  wrapperAnimation.keyframes([...SheetDefaults.WRAPPER_KEYFRAMES]);
19796
19573
  backdropAnimation.keyframes([...SheetDefaults.BACKDROP_KEYFRAMES]);
19797
- contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.keyframes([...SheetDefaults.CONTENT_KEYFRAMES]);
19798
19574
  animation.progressStart(true, 1 - snapToBreakpoint);
19799
19575
  currentBreakpoint = snapToBreakpoint;
19800
19576
  onBreakpointChange(currentBreakpoint);
@@ -19847,10 +19623,10 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19847
19623
  };
19848
19624
  };
19849
19625
 
19850
- 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}";
19626
+ 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}";
19851
19627
  var IonModalIosStyle0 = modalIosCss;
19852
19628
 
19853
- 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}";
19629
+ 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}";
19854
19630
  var IonModalMdStyle0 = modalMdCss;
19855
19631
 
19856
19632
  // TODO(FW-2832): types
@@ -19929,7 +19705,6 @@ class Modal {
19929
19705
  this.enterAnimation = undefined;
19930
19706
  this.leaveAnimation = undefined;
19931
19707
  this.breakpoints = undefined;
19932
- this.expandToScroll = true;
19933
19708
  this.initialBreakpoint = undefined;
19934
19709
  this.backdropBreakpoint = 0;
19935
19710
  this.handle = undefined;
@@ -20145,7 +19920,6 @@ class Modal {
20145
19920
  presentingEl: presentingElement,
20146
19921
  currentBreakpoint: this.initialBreakpoint,
20147
19922
  backdropBreakpoint: this.backdropBreakpoint,
20148
- expandToScroll: this.expandToScroll,
20149
19923
  });
20150
19924
  /* tslint:disable-next-line */
20151
19925
  if (typeof window !== 'undefined') {
@@ -20196,10 +19970,7 @@ class Modal {
20196
19970
  // should be in the DOM and referenced by now, except
20197
19971
  // for the presenting el
20198
19972
  const animationBuilder = this.leaveAnimation || config.get('modalLeave', iosLeaveAnimation$3);
20199
- const ani = (this.animation = animationBuilder(el, {
20200
- presentingEl: this.presentingElement,
20201
- expandToScroll: this.expandToScroll,
20202
- }));
19973
+ const ani = (this.animation = animationBuilder(el, { presentingEl: this.presentingElement }));
20203
19974
  const contentEl = findIonContent(el);
20204
19975
  if (!contentEl) {
20205
19976
  printIonContentErrorMsg(el);
@@ -20244,10 +20015,9 @@ class Modal {
20244
20015
  presentingEl: this.presentingElement,
20245
20016
  currentBreakpoint: initialBreakpoint,
20246
20017
  backdropBreakpoint,
20247
- expandToScroll: this.expandToScroll,
20248
20018
  }));
20249
20019
  ani.progressStart(true, 1);
20250
- 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) => {
20020
+ 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) => {
20251
20021
  if (this.currentBreakpoint !== breakpoint) {
20252
20022
  this.currentBreakpoint = breakpoint;
20253
20023
  this.ionBreakpointDidChange.emit({ breakpoint });
@@ -20325,7 +20095,6 @@ class Modal {
20325
20095
  presentingEl: presentingElement,
20326
20096
  currentBreakpoint: (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : this.initialBreakpoint,
20327
20097
  backdropBreakpoint: this.backdropBreakpoint,
20328
- expandToScroll: this.expandToScroll,
20329
20098
  });
20330
20099
  if (dismissed) {
20331
20100
  const { delegate } = this.getDelegate();
@@ -20411,23 +20180,23 @@ class Modal {
20411
20180
  return true;
20412
20181
  }
20413
20182
  render() {
20414
- const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
20183
+ const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap } = this;
20415
20184
  const showHandle = handle !== false && isSheetModal;
20416
20185
  const mode = getIonMode$1(this);
20417
20186
  const isCardModal = presentingElement !== undefined && mode === 'ios';
20418
20187
  const isHandleCycle = handleBehavior === 'cycle';
20419
- return (hAsync(Host, Object.assign({ key: 'ff15df63e72caaeb0a4ad68e9eedeaaa7d3f3bde', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
20188
+ return (hAsync(Host, Object.assign({ key: 'b4da5111fe4719fa450c39b2d4bd884a302a7924', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
20420
20189
  zIndex: `${20000 + this.overlayIndex}`,
20421
- }, 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',
20190
+ }, 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',
20422
20191
  /*
20423
20192
  role and aria-modal must be used on the
20424
20193
  same element. They must also be set inside the
20425
20194
  shadow DOM otherwise ion-button will not be highlighted
20426
20195
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
20427
20196
  */
20428
- 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",
20197
+ 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",
20429
20198
  // Prevents the handle from receiving keyboard focus when it does not cycle
20430
- 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' }))));
20199
+ 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' }))));
20431
20200
  }
20432
20201
  get el() { return getElement(this); }
20433
20202
  static get watchers() { return {
@@ -20449,7 +20218,6 @@ class Modal {
20449
20218
  "enterAnimation": [16],
20450
20219
  "leaveAnimation": [16],
20451
20220
  "breakpoints": [16],
20452
- "expandToScroll": [4, "expand-to-scroll"],
20453
20221
  "initialBreakpoint": [2, "initial-breakpoint"],
20454
20222
  "backdropBreakpoint": [2, "backdrop-breakpoint"],
20455
20223
  "handle": [4],
@@ -29893,7 +29661,6 @@ class Select {
29893
29661
  this.expandedIcon = undefined;
29894
29662
  this.shape = undefined;
29895
29663
  this.value = undefined;
29896
- this.required = false;
29897
29664
  }
29898
29665
  styleChanged() {
29899
29666
  this.emitStyle();
@@ -30378,8 +30145,8 @@ class Select {
30378
30145
  return renderedLabel;
30379
30146
  }
30380
30147
  renderListbox() {
30381
- const { disabled, inputId, isExpanded, required } = this;
30382
- 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) }));
30148
+ const { disabled, inputId, isExpanded } = this;
30149
+ 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) }));
30383
30150
  }
30384
30151
  render() {
30385
30152
  const { disabled, el, isExpanded, expandedIcon, labelPlacement, justify, placeholder, fill, shape, name, value } = this;
@@ -30410,7 +30177,7 @@ class Select {
30410
30177
  * TODO(FW-5592): Remove hasStartEndSlots condition
30411
30178
  */
30412
30179
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
30413
- return (hAsync(Host, { key: '491cf1b0e3aa31e7c9cfad3e87d83eb54272312a', onClick: this.onClick, class: createColorClasses$1(this.color, {
30180
+ return (hAsync(Host, { key: '144dfa5c49549a74fe516c65b9b8104a477ac789', onClick: this.onClick, class: createColorClasses$1(this.color, {
30414
30181
  [mode]: true,
30415
30182
  'in-item': inItem,
30416
30183
  'in-item-color': hostContext('ion-item.ion-color', el),
@@ -30426,7 +30193,7 @@ class Select {
30426
30193
  [`select-justify-${justify}`]: justifyEnabled,
30427
30194
  [`select-shape-${shape}`]: shape !== undefined,
30428
30195
  [`select-label-placement-${labelPlacement}`]: true,
30429
- }) }, 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" }))));
30196
+ }) }, 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" }))));
30430
30197
  }
30431
30198
  get el() { return getElement(this); }
30432
30199
  static get watchers() { return {
@@ -30462,7 +30229,6 @@ class Select {
30462
30229
  "expandedIcon": [1, "expanded-icon"],
30463
30230
  "shape": [1],
30464
30231
  "value": [1032],
30465
- "required": [4],
30466
30232
  "isExpanded": [32],
30467
30233
  "open": [64]
30468
30234
  },
@@ -31019,10 +30785,10 @@ class Tab {
31019
30785
  }
31020
30786
  render() {
31021
30787
  const { tab, active, component } = this;
31022
- return (hAsync(Host, { key: 'c8d049c74c66a2748f3ec81d2855446acf114abe', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
30788
+ return (hAsync(Host, { key: 'cb75d0877979b3b8df8f7e1952bfa9677da1eaa5', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
31023
30789
  'ion-page': component === undefined,
31024
30790
  'tab-hidden': !active,
31025
- } }, hAsync("slot", { key: 'fba1ddc9aefb2711e13d43734f606b493ce8380a' })));
30791
+ } }, hAsync("slot", { key: '37fbb7b7a6b03eb93b1dacd2dc1025b78eb2aa6b' })));
31026
30792
  }
31027
30793
  get el() { return getElement(this); }
31028
30794
  static get watchers() { return {
@@ -31214,7 +30980,7 @@ class TabButton {
31214
30980
  'ion-activatable': true,
31215
30981
  'ion-selectable': true,
31216
30982
  'ion-focusable': true,
31217
- } }, 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" }))));
30983
+ } }, 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" }))));
31218
30984
  }
31219
30985
  get el() { return getElement(this); }
31220
30986
  static get style() { return {
@@ -31256,7 +31022,6 @@ class Tabs {
31256
31022
  this.ionTabsDidChange = createEvent(this, "ionTabsDidChange", 3);
31257
31023
  this.transitioning = false;
31258
31024
  this.onTabClicked = (ev) => {
31259
- console.log("onTabClicked");
31260
31025
  const { href, tab } = ev.detail;
31261
31026
  if (this.useRouter && href !== undefined) {
31262
31027
  const router = document.querySelector('ion-router');
@@ -31391,7 +31156,7 @@ class Tabs {
31391
31156
  return Array.from(this.el.querySelectorAll('ion-tab'));
31392
31157
  }
31393
31158
  render() {
31394
- 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" })));
31159
+ 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" })));
31395
31160
  }
31396
31161
  get el() { return getElement(this); }
31397
31162
  static get style() { return IonTabsStyle0; }
@@ -32860,7 +32625,6 @@ class Toggle {
32860
32625
  this.labelPlacement = 'start';
32861
32626
  this.justify = undefined;
32862
32627
  this.alignment = undefined;
32863
- this.required = false;
32864
32628
  }
32865
32629
  disabledChanged() {
32866
32630
  if (this.gesture) {
@@ -32942,12 +32706,12 @@ class Toggle {
32942
32706
  return this.el.textContent !== '';
32943
32707
  }
32944
32708
  render() {
32945
- const { activated, color, checked, disabled, el, justify, labelPlacement, inputId, name, alignment, required } = this;
32709
+ const { activated, color, checked, disabled, el, justify, labelPlacement, inputId, name, alignment } = this;
32946
32710
  const mode = getIonMode$1(this);
32947
32711
  const value = this.getValue();
32948
32712
  const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
32949
32713
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
32950
- return (hAsync(Host, { key: 'ed75573caa6e37011f1453dd7f723fb9bd8a3656', onClick: this.onClick, class: createColorClasses$1(color, {
32714
+ return (hAsync(Host, { key: 'f52195ec3bc14c024647cb41319c32a4cd330e19', onClick: this.onClick, class: createColorClasses$1(color, {
32951
32715
  [mode]: true,
32952
32716
  'in-item': hostContext('ion-item', el),
32953
32717
  'toggle-activated': activated,
@@ -32957,10 +32721,10 @@ class Toggle {
32957
32721
  [`toggle-alignment-${alignment}`]: alignment !== undefined,
32958
32722
  [`toggle-label-placement-${labelPlacement}`]: true,
32959
32723
  [`toggle-${rtl}`]: true,
32960
- }) }, 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: {
32724
+ }) }, 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: {
32961
32725
  'label-text-wrapper': true,
32962
32726
  'label-text-wrapper-hidden': !this.hasLabel,
32963
- }, part: "label" }, hAsync("slot", { key: '9495a4a39889822ee68e0d89dc5a2f863d1feb3c' })), hAsync("div", { key: '55f1eb08c4b705e94fbcf02220bbe1d292f06155', class: "native-wrapper" }, this.renderToggleControl()))));
32727
+ }, part: "label" }, hAsync("slot", { key: '80a6672e2e792c15011a9496dcd75363cdba31c6' })), hAsync("div", { key: '2b2b318b38ab27b194c0dab4cecd77d9d780f2ca', class: "native-wrapper" }, this.renderToggleControl()))));
32964
32728
  }
32965
32729
  get el() { return getElement(this); }
32966
32730
  static get watchers() { return {
@@ -32983,7 +32747,6 @@ class Toggle {
32983
32747
  "labelPlacement": [1, "label-placement"],
32984
32748
  "justify": [1],
32985
32749
  "alignment": [1],
32986
- "required": [4],
32987
32750
  "activated": [32]
32988
32751
  },
32989
32752
  "$listeners$": undefined,
@@ -33015,10 +32778,6 @@ var IonToolbarMdStyle0 = toolbarMdCss;
33015
32778
  * @slot secondary - Content is placed to the left of the toolbar text in `ios` mode, and directly to the right in `md` mode.
33016
32779
  * @slot primary - Content is placed to the right of the toolbar text in `ios` mode, and to the far right in `md` mode.
33017
32780
  * @slot end - Content is placed to the right of the toolbar text in LTR, and to the left in RTL.
33018
- *
33019
- * @part background - The background of the toolbar, covering the entire area behind the toolbar content.
33020
- * @part container - The container that wraps all toolbar content, including the default slot and named slot content.
33021
- * @part content - The container for the default slot, wrapping content provided without a named slot.
33022
32781
  */
33023
32782
  class Toolbar {
33024
32783
  constructor(hostRef) {
@@ -33069,10 +32828,10 @@ class Toolbar {
33069
32828
  this.childrenStyles.forEach((value) => {
33070
32829
  Object.assign(childStyles, value);
33071
32830
  });
33072
- return (hAsync(Host, { key: '4fdc9ae82a93237cc28ceb95b0ebd8069b62839d', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
32831
+ return (hAsync(Host, { key: '462538a5ecd01baf3cde116c9f029aeda26c81be', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
33073
32832
  [mode]: true,
33074
32833
  'in-toolbar': hostContext('ion-toolbar', this.el),
33075
- })) }, 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" }))));
32834
+ })) }, 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" }))));
33076
32835
  }
33077
32836
  get el() { return getElement(this); }
33078
32837
  static get style() { return {