voyager-ionic-core 9.0.1 → 9.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (530) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-accordion-group.js +1 -1
  3. package/components/ion-accordion.js +1 -1
  4. package/components/ion-action-sheet.js +1 -1
  5. package/components/ion-alert.js +1 -1
  6. package/components/ion-app.js +1 -1
  7. package/components/ion-avatar.js +1 -1
  8. package/components/ion-back-button.js +1 -1
  9. package/components/ion-backdrop.js +1 -1
  10. package/components/ion-badge.js +1 -1
  11. package/components/ion-breadcrumb.js +1 -1
  12. package/components/ion-breadcrumbs.js +1 -1
  13. package/components/ion-button.js +1 -1
  14. package/components/ion-buttons.js +1 -1
  15. package/components/ion-card-content.js +1 -1
  16. package/components/ion-card-header.js +1 -1
  17. package/components/ion-card-subtitle.js +1 -1
  18. package/components/ion-card-title.js +1 -1
  19. package/components/ion-card.js +1 -1
  20. package/components/ion-checkbox.js +1 -1
  21. package/components/ion-chip.js +1 -1
  22. package/components/ion-col.js +1 -1
  23. package/components/ion-content.js +1 -1
  24. package/components/ion-datetime-button.js +1 -1
  25. package/components/ion-datetime.js +1 -1
  26. package/components/ion-fab-button.js +1 -1
  27. package/components/ion-fab-list.js +1 -1
  28. package/components/ion-fab.js +1 -1
  29. package/components/ion-footer.js +1 -1
  30. package/components/ion-grid.js +1 -1
  31. package/components/ion-header.js +1 -1
  32. package/components/ion-icon.js +1 -1
  33. package/components/ion-img.js +1 -1
  34. package/components/ion-infinite-scroll-content.js +1 -1
  35. package/components/ion-infinite-scroll.js +1 -1
  36. package/components/ion-input-otp.js +1 -1
  37. package/components/ion-input-password-toggle.js +1 -1
  38. package/components/ion-input.js +1 -1
  39. package/components/ion-item-divider.js +1 -1
  40. package/components/ion-item-group.js +1 -1
  41. package/components/ion-item-option.js +1 -1
  42. package/components/ion-item-options.js +1 -1
  43. package/components/ion-item-sliding.js +1 -1
  44. package/components/ion-item.js +1 -1
  45. package/components/ion-label.js +1 -1
  46. package/components/ion-list-header.js +1 -1
  47. package/components/ion-list.js +1 -1
  48. package/components/ion-loading.js +1 -1
  49. package/components/ion-menu-button.js +1 -1
  50. package/components/ion-menu-toggle.js +1 -1
  51. package/components/ion-menu.js +1 -1
  52. package/components/ion-modal.js +1 -1
  53. package/components/ion-nav-link.js +1 -1
  54. package/components/ion-nav.js +1 -1
  55. package/components/ion-note.js +1 -1
  56. package/components/ion-picker-column-option.js +1 -1
  57. package/components/ion-picker-column.js +1 -1
  58. package/components/ion-picker.js +1 -1
  59. package/components/ion-popover.js +1 -1
  60. package/components/ion-progress-bar.js +1 -1
  61. package/components/ion-radio-group.js +1 -1
  62. package/components/ion-radio.js +1 -1
  63. package/components/ion-range.js +1 -1
  64. package/components/ion-refresher-content.js +1 -1
  65. package/components/ion-refresher.js +1 -1
  66. package/components/ion-reorder-group.js +1 -1
  67. package/components/ion-reorder.js +1 -1
  68. package/components/ion-ripple-effect.js +1 -1
  69. package/components/ion-route-redirect.js +1 -1
  70. package/components/ion-route.js +1 -1
  71. package/components/ion-router-link.js +1 -1
  72. package/components/ion-router-outlet.js +1 -1
  73. package/components/ion-router.js +1 -1
  74. package/components/ion-row.js +1 -1
  75. package/components/ion-searchbar.js +1 -1
  76. package/components/ion-segment-button.js +1 -1
  77. package/components/ion-segment-content.js +1 -1
  78. package/components/ion-segment-view.js +1 -1
  79. package/components/ion-segment.js +1 -1
  80. package/components/ion-select-modal.js +1 -1
  81. package/components/ion-select-option.js +1 -1
  82. package/components/ion-select-popover.js +1 -1
  83. package/components/ion-select.js +1 -1
  84. package/components/ion-skeleton-text.js +1 -1
  85. package/components/ion-spinner.js +1 -1
  86. package/components/ion-split-pane.js +1 -1
  87. package/components/ion-tab-bar.js +1 -1
  88. package/components/ion-tab-button.js +1 -1
  89. package/components/ion-tab.js +1 -1
  90. package/components/ion-tabs.js +1 -1
  91. package/components/ion-text.js +1 -1
  92. package/components/ion-textarea.js +1 -1
  93. package/components/ion-thumbnail.js +1 -1
  94. package/components/ion-title.js +1 -1
  95. package/components/ion-toast.js +1 -1
  96. package/components/ion-toggle.js +1 -1
  97. package/components/ion-toolbar.js +1 -1
  98. package/components/{p-Hp8t4RMX.js → p-6sKRBFnK.js} +1 -1
  99. package/components/{p-qAXsfUff.js → p-B8HBLiYi.js} +1 -1
  100. package/{dist/ionic/p-Do3zTvCA.js → components/p-BEiYs-sz.js} +1 -1
  101. package/components/p-BKeulLTJ.js +4 -0
  102. package/components/{p-5ldEpNdG.js → p-BKxLivx4.js} +1 -1
  103. package/components/{p-BYJRZKHa.js → p-BLjEwM6v.js} +1 -1
  104. package/components/{p-Cd1WaN-0.js → p-BNnmwjuy.js} +1 -1
  105. package/components/{p-COO0eJOA.js → p-BSJriPuC.js} +1 -1
  106. package/components/p-BUVGbkSc.js +4 -0
  107. package/components/{p-DL13ieTa.js → p-B_tZQKpS.js} +1 -1
  108. package/components/p-BexLz2XV.js +4 -0
  109. package/components/p-BinR4_P7.js +4 -0
  110. package/components/{p-DxhHlJln.js → p-BrOSQhkA.js} +1 -1
  111. package/components/p-BriaEJK8.js +4 -0
  112. package/components/p-BsLM9eQu.js +4 -0
  113. package/components/{p-DhNuxvJH.js → p-Bu6O-veK.js} +1 -1
  114. package/components/{p-DJR0R0e1.js → p-C7rB-0-1.js} +1 -1
  115. package/components/{p-6ZLn6K5e.js → p-C9ioHZq-.js} +1 -1
  116. package/components/p-CAQG0btC.js +4 -0
  117. package/components/{p-DMBiAyOR.js → p-CHHkdXfP.js} +1 -1
  118. package/components/p-CJgshb3W.js +4 -0
  119. package/components/p-CQjNc-Pz.js +4 -0
  120. package/components/{p-CJgnoKcN.js → p-CTUMJM0R.js} +1 -1
  121. package/components/{p-C4VpVfrJ.js → p-CVVUo4J1.js} +1 -1
  122. package/components/{p-B4lxwJ8N.js → p-CXy2v7GI.js} +1 -1
  123. package/components/{p-BQyuFxYc.js → p-C_NQIzjP.js} +1 -1
  124. package/components/{p-D7wDJdFn.js → p-Canp1qah.js} +1 -1
  125. package/components/p-CcQQ8oRo.js +4 -0
  126. package/components/{p-GGbIHyEF.js → p-CiFFeRH9.js} +1 -1
  127. package/components/p-CiXOsJF2.js +4 -0
  128. package/components/p-Ctw69DyZ.js +4 -0
  129. package/components/{p-DngGb-NV.js → p-CvzE7FFp.js} +1 -1
  130. package/components/{p-TWw4e4sO.js → p-CzykzqAO.js} +1 -1
  131. package/components/p-D0jSx7rE.js +4 -0
  132. package/components/{p-C-NbvXu4.js → p-D4NOsSCE.js} +1 -1
  133. package/components/{p-cEN43Ahr.js → p-DGUed0uX.js} +1 -1
  134. package/components/p-DM2jMsSO.js +4 -0
  135. package/components/p-DPyjiKOq.js +4 -0
  136. package/components/{p-BF48Oc0v.js → p-DSmHJ2DH.js} +1 -1
  137. package/components/p-DWGgvN5e.js +4 -0
  138. package/components/p-DlUdjUlf.js +4 -0
  139. package/components/{p-DM1gJSMP.js → p-Dlr7b3_2.js} +1 -1
  140. package/components/p-F1rV0pyK.js +4 -0
  141. package/components/{p-DFLJvuRK.js → p-LH1I_Zhd.js} +1 -1
  142. package/components/p-PPagT42x.js +4 -0
  143. package/components/{p-CqbGBmqb.js → p-RJT5zTbD.js} +1 -1
  144. package/components/p-T2dnrBya.js +4 -0
  145. package/components/p-WMQuK_Tj.js +4 -0
  146. package/components/p-eJpG4UbM.js +4 -0
  147. package/components/p-fFx6WCTj.js +4 -0
  148. package/{dist/ionic/p-BgOvhHy_.js → components/p-q2WJ5Igc.js} +1 -1
  149. package/components/{p-D5w_FlVa.js → p-y7Nhe3de.js} +1 -1
  150. package/css/core.css +1 -1
  151. package/css/core.css.map +1 -1
  152. package/css/ionic.bundle.css +1 -1
  153. package/css/ionic.bundle.css.map +1 -1
  154. package/dist/cjs/{animation-Kd1N7WTN.js → animation-BFKyYY11.js} +3 -3
  155. package/dist/cjs/{app-globals-b1G4t26O.js → app-globals-BLTzqkrC.js} +1 -1
  156. package/dist/cjs/attribute-controller-CXIeB0Mn.js +131 -0
  157. package/dist/cjs/{button-active-CQCFubJJ.js → button-active-CEQaiV9N.js} +2 -2
  158. package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-BMzmHhwe.js} +3 -3
  159. package/dist/cjs/{format-bHU8N1g5.js → format-CdRlDqPs.js} +1 -1
  160. package/dist/cjs/{framework-delegate-d-fWfeI6.js → framework-delegate-DTLbqaaO.js} +1 -1
  161. package/dist/cjs/{haptic-Ch-X4gRx.js → haptic-CJVUv_GB.js} +1 -1
  162. package/dist/cjs/{helpers-7wzdhdeg.js → helpers-Crluoxqu.js} +50 -3
  163. package/dist/cjs/{index-DtvKGwdh.js → index-BAM4223M.js} +2 -2
  164. package/dist/cjs/{index-C74Q3t6a.js → index-BKpybYNI.js} +7 -8
  165. package/dist/cjs/{index-BbqUBe2T.js → index-BSD7toMO.js} +10 -8
  166. package/dist/cjs/{index-DFNrCX7M.js → index-CElfU-dK.js} +8 -9
  167. package/dist/cjs/{index-CQfEIyLK.js → index-CgXTRA_-.js} +4 -4
  168. package/dist/cjs/{index-DXoo08JC.js → index-SAR1xwtW.js} +25 -12
  169. package/dist/cjs/index.cjs.js +19 -19
  170. package/dist/cjs/{input-shims-VJIiKBKv.js → input-shims-CHghGZe-.js} +16 -17
  171. package/dist/cjs/{input.utils-EHVE2RK_.js → input.utils-BBZr0wjw.js} +1 -1
  172. package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -3
  173. package/dist/cjs/ion-action-sheet.cjs.entry.js +26 -28
  174. package/dist/cjs/ion-alert.cjs.entry.js +27 -29
  175. package/dist/cjs/ion-app_8.cjs.entry.js +72 -24
  176. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  177. package/dist/cjs/ion-back-button.cjs.entry.js +3 -3
  178. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
  179. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +3 -3
  180. package/dist/cjs/ion-button_2.cjs.entry.js +23 -34
  181. package/dist/cjs/ion-card_5.cjs.entry.js +19 -7
  182. package/dist/cjs/ion-checkbox.cjs.entry.js +4 -4
  183. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  184. package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
  185. package/dist/cjs/ion-datetime-button.cjs.entry.js +4 -4
  186. package/dist/cjs/ion-datetime.cjs.entry.js +34 -29
  187. package/dist/cjs/ion-fab_3.cjs.entry.js +3 -3
  188. package/dist/cjs/ion-img.cjs.entry.js +3 -3
  189. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +5 -5
  190. package/dist/cjs/ion-input-otp.cjs.entry.js +3 -3
  191. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +2 -2
  192. package/dist/cjs/ion-input.cjs.entry.js +12 -16
  193. package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
  194. package/dist/cjs/ion-item_8.cjs.entry.js +17 -8
  195. package/dist/cjs/ion-loading.cjs.entry.js +18 -20
  196. package/dist/cjs/ion-menu_3.cjs.entry.js +15 -17
  197. package/dist/cjs/ion-modal.cjs.entry.js +177 -172
  198. package/dist/cjs/ion-nav_2.cjs.entry.js +6 -6
  199. package/dist/cjs/ion-picker-column-option.cjs.entry.js +3 -3
  200. package/dist/cjs/ion-picker-column.cjs.entry.js +8 -9
  201. package/dist/cjs/ion-picker.cjs.entry.js +2 -2
  202. package/dist/cjs/ion-popover.cjs.entry.js +119 -42
  203. package/dist/cjs/ion-progress-bar.cjs.entry.js +3 -3
  204. package/dist/cjs/ion-radio_2.cjs.entry.js +4 -4
  205. package/dist/cjs/ion-range.cjs.entry.js +4 -4
  206. package/dist/cjs/ion-refresher_2.cjs.entry.js +8 -9
  207. package/dist/cjs/ion-reorder_2.cjs.entry.js +6 -7
  208. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
  209. package/dist/cjs/ion-route_4.cjs.entry.js +4 -4
  210. package/dist/cjs/ion-searchbar.cjs.entry.js +3 -3
  211. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  212. package/dist/cjs/ion-segment-view.cjs.entry.js +1 -1
  213. package/dist/cjs/ion-segment_2.cjs.entry.js +3 -3
  214. package/dist/cjs/ion-select-modal.cjs.entry.js +8 -10
  215. package/dist/cjs/ion-select_3.cjs.entry.js +71 -53
  216. package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
  217. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  218. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +6 -7
  219. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  220. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  221. package/dist/cjs/ion-textarea.cjs.entry.js +11 -15
  222. package/dist/cjs/ion-toast.cjs.entry.js +49 -51
  223. package/dist/cjs/ion-toggle.cjs.entry.js +6 -7
  224. package/dist/cjs/{ionic-global-CYJNT-2P.js → ionic-global-C1h8Yi_K.js} +1 -1
  225. package/dist/cjs/ionic.cjs.js +5 -5
  226. package/dist/cjs/{ios.transition-DYGiD6gM.js → ios.transition-YFSxiyP_.js} +4 -5
  227. package/dist/cjs/{item-multiple-inputs-Dv6qrMhm.js → item-multiple-inputs-h2PyAFzG.js} +1 -1
  228. package/dist/cjs/{keyboard-cHxZlTyz.js → keyboard-C-C7xMKk.js} +1 -1
  229. package/dist/cjs/{keyboard-Cix5TVkD.js → keyboard-Cv-LNReK.js} +5 -3
  230. package/dist/cjs/{keyboard-controller-PtZoN2GS.js → keyboard-controller-CLcFxSnb.js} +9 -9
  231. package/dist/cjs/loader.cjs.js +4 -4
  232. package/dist/cjs/{md.transition-CrSkaoz6.js → md.transition-Cm8yg0UK.js} +4 -5
  233. package/dist/cjs/{overlays-BR21NUIG.js → overlays-C68wNDWY.js} +162 -9
  234. package/dist/cjs/{select-option-render-CrbLc-1j.js → select-option-render-C-Yh9yZG.js} +2 -2
  235. package/dist/cjs/{slot-mutation-controller-D6IjSEIh.js → slot-mutation-controller-zixZ5LyH.js} +73 -5
  236. package/dist/cjs/{status-tap-CNP5eD1R.js → status-tap-C3frTJ4c.js} +3 -3
  237. package/dist/cjs/{swipe-back-CSIJQfu5.js → swipe-back-ChrfFzIe.js} +2 -2
  238. package/dist/collection/collection-manifest.json +1 -1
  239. package/dist/collection/components/button/button.js +21 -32
  240. package/dist/collection/components/card/card.js +17 -6
  241. package/dist/collection/components/content/content.js +62 -8
  242. package/dist/collection/components/datetime/datetime.js +27 -20
  243. package/dist/collection/components/input/input.ios.css +6 -0
  244. package/dist/collection/components/input/input.js +6 -9
  245. package/dist/collection/components/input/input.md.css +6 -0
  246. package/dist/collection/components/item/item.js +15 -6
  247. package/dist/collection/components/modal/modal.ios.css +12 -1
  248. package/dist/collection/components/modal/modal.js +31 -8
  249. package/dist/collection/components/modal/modal.md.css +12 -1
  250. package/dist/collection/components/modal/safe-area-utils.js +69 -90
  251. package/dist/collection/components/modal/utils.js +7 -0
  252. package/dist/collection/components/popover/animations/ios.enter.js +20 -6
  253. package/dist/collection/components/popover/animations/md.enter.js +19 -5
  254. package/dist/collection/components/popover/utils.js +64 -13
  255. package/dist/collection/components/select/select.ios.css +1 -1
  256. package/dist/collection/components/select/select.js +67 -38
  257. package/dist/collection/components/select/select.md.css +1 -1
  258. package/dist/collection/components/textarea/textarea.ios.css +15 -1
  259. package/dist/collection/components/textarea/textarea.js +5 -8
  260. package/dist/collection/components/textarea/textarea.md.css +15 -1
  261. package/dist/collection/index.js +1 -1
  262. package/dist/collection/utils/attribute-controller.js +126 -0
  263. package/dist/collection/utils/forms/click-controller.js +70 -0
  264. package/dist/collection/utils/forms/index.js +1 -0
  265. package/dist/collection/utils/helpers.js +44 -3
  266. package/dist/collection/utils/logging/index.js +4 -0
  267. package/dist/collection/utils/overlays.js +34 -0
  268. package/dist/collection/utils/sanitization/index.js +10 -8
  269. package/dist/docs.json +9 -3
  270. package/dist/esm/{animation-BFNVlYum.js → animation-CFd8Olt3.js} +2 -2
  271. package/dist/esm/{app-globals-BgX0BGL1.js → app-globals-7GHLBkwd.js} +1 -1
  272. package/dist/esm/attribute-controller-Cn665x42.js +128 -0
  273. package/dist/esm/{button-active-BfOvDr3b.js → button-active-DMuYeDQN.js} +2 -2
  274. package/dist/esm/{capacitor-CFERIeaU.js → capacitor-CoEgIpR9.js} +1 -1
  275. package/dist/esm/{format-DDFE9jM5.js → format-C9zPmwKU.js} +1 -1
  276. package/dist/esm/{framework-delegate-BwNhx9NR.js → framework-delegate-DeT5pmPB.js} +1 -1
  277. package/dist/esm/{haptic-Cq4UAeka.js → haptic-Dxm7ZmT5.js} +1 -1
  278. package/dist/esm/{helpers-BSmc0nst.js → helpers-B54ynME_.js} +47 -4
  279. package/dist/esm/{index-C1b9CLFg.js → index--21qeSt0.js} +2 -2
  280. package/dist/esm/{index-DnA_7Bnx.js → index-B8iieOdw.js} +4 -4
  281. package/dist/esm/{index-BuPaALjU.js → index-B9jhwvmO.js} +5 -6
  282. package/dist/esm/{index-CqoUoxgG.js → index-D4ZMZz_3.js} +10 -8
  283. package/dist/esm/{index-C23AVPx9.js → index-D9OR05yj.js} +26 -13
  284. package/dist/esm/{index-CJln0gS3.js → index-D_xZtbw6.js} +2 -3
  285. package/dist/esm/index.js +11 -13
  286. package/dist/esm/{input-shims-Dqk-Ou25.js → input-shims-MCrhq67U.js} +5 -6
  287. package/dist/esm/{input.utils-rqoH22pW.js → input.utils-B-IIWrwT.js} +1 -1
  288. package/dist/esm/ion-accordion_2.entry.js +3 -3
  289. package/dist/esm/ion-action-sheet.entry.js +11 -13
  290. package/dist/esm/ion-alert.entry.js +11 -13
  291. package/dist/esm/ion-app_8.entry.js +72 -24
  292. package/dist/esm/ion-avatar_3.entry.js +2 -2
  293. package/dist/esm/ion-back-button.entry.js +3 -3
  294. package/dist/esm/ion-backdrop.entry.js +2 -2
  295. package/dist/esm/ion-breadcrumb_2.entry.js +3 -3
  296. package/dist/esm/ion-button_2.entry.js +23 -34
  297. package/dist/esm/ion-card_5.entry.js +19 -7
  298. package/dist/esm/ion-checkbox.entry.js +4 -4
  299. package/dist/esm/ion-chip.entry.js +2 -2
  300. package/dist/esm/ion-col_3.entry.js +2 -2
  301. package/dist/esm/ion-datetime-button.entry.js +4 -4
  302. package/dist/esm/ion-datetime.entry.js +33 -28
  303. package/dist/esm/ion-fab_3.entry.js +3 -3
  304. package/dist/esm/ion-img.entry.js +3 -3
  305. package/dist/esm/ion-infinite-scroll_2.entry.js +5 -5
  306. package/dist/esm/ion-input-otp.entry.js +3 -3
  307. package/dist/esm/ion-input-password-toggle.entry.js +2 -2
  308. package/dist/esm/ion-input.entry.js +12 -16
  309. package/dist/esm/ion-item-option_3.entry.js +4 -4
  310. package/dist/esm/ion-item_8.entry.js +17 -8
  311. package/dist/esm/ion-loading.entry.js +7 -9
  312. package/dist/esm/ion-menu_3.entry.js +7 -9
  313. package/dist/esm/ion-modal.entry.js +115 -110
  314. package/dist/esm/ion-nav_2.entry.js +6 -6
  315. package/dist/esm/ion-picker-column-option.entry.js +3 -3
  316. package/dist/esm/ion-picker-column.entry.js +5 -6
  317. package/dist/esm/ion-picker.entry.js +2 -2
  318. package/dist/esm/ion-popover.entry.js +108 -31
  319. package/dist/esm/ion-progress-bar.entry.js +3 -3
  320. package/dist/esm/ion-radio_2.entry.js +4 -4
  321. package/dist/esm/ion-range.entry.js +4 -4
  322. package/dist/esm/ion-refresher_2.entry.js +8 -9
  323. package/dist/esm/ion-reorder_2.entry.js +6 -7
  324. package/dist/esm/ion-ripple-effect.entry.js +2 -2
  325. package/dist/esm/ion-route_4.entry.js +4 -4
  326. package/dist/esm/ion-searchbar.entry.js +3 -3
  327. package/dist/esm/ion-segment-content.entry.js +1 -1
  328. package/dist/esm/ion-segment-view.entry.js +1 -1
  329. package/dist/esm/ion-segment_2.entry.js +3 -3
  330. package/dist/esm/ion-select-modal.entry.js +7 -9
  331. package/dist/esm/ion-select_3.entry.js +66 -48
  332. package/dist/esm/ion-spinner.entry.js +2 -2
  333. package/dist/esm/ion-split-pane.entry.js +2 -2
  334. package/dist/esm/ion-tab-bar_2.entry.js +6 -7
  335. package/dist/esm/ion-tab_2.entry.js +3 -3
  336. package/dist/esm/ion-text.entry.js +2 -2
  337. package/dist/esm/ion-textarea.entry.js +11 -15
  338. package/dist/esm/ion-toast.entry.js +7 -9
  339. package/dist/esm/ion-toggle.entry.js +6 -7
  340. package/dist/esm/{ionic-global-ZXjCXKH0.js → ionic-global-B-G43ddm.js} +1 -1
  341. package/dist/esm/ionic.js +6 -6
  342. package/dist/esm/{ios.transition-CWAgfQ1r.js → ios.transition-CRfGj4Mo.js} +4 -5
  343. package/dist/esm/{item-multiple-inputs-DZnIiOO_.js → item-multiple-inputs-BSD9wGHO.js} +1 -1
  344. package/dist/esm/{keyboard-Cj8mLJeq.js → keyboard-DDw62P0D.js} +5 -3
  345. package/dist/esm/{keyboard-controller-DEwoa1ev.js → keyboard-controller-Dzjet5wD.js} +2 -2
  346. package/dist/esm/{keyboard-DAF8GNJ9.js → keyboard-ly3M0GO7.js} +1 -1
  347. package/dist/esm/loader.js +5 -5
  348. package/dist/esm/{md.transition-ZuqDDdDW.js → md.transition-wqThNy_C.js} +4 -5
  349. package/dist/esm/{overlays-DKE0DgvE.js → overlays-BQnV0HAU.js} +156 -7
  350. package/dist/esm/{select-option-render-1W6W9pbC.js → select-option-render-CGxPejmz.js} +2 -2
  351. package/dist/esm/{slot-mutation-controller-B5NpUZ-N.js → slot-mutation-controller-C3s4-_YN.js} +69 -3
  352. package/dist/esm/{status-tap-Cv9gb3ja.js → status-tap-DRx9wSD_.js} +3 -3
  353. package/dist/esm/{swipe-back-De5HlmeM.js → swipe-back-CXmdi75W.js} +2 -2
  354. package/dist/ionic/index.esm.js +1 -1
  355. package/dist/ionic/ionic.esm.js +1 -1
  356. package/dist/ionic/{p-8b80d9f9.entry.js → p-0517aec4.entry.js} +1 -1
  357. package/dist/ionic/{p-ee09ac9d.entry.js → p-083b1119.entry.js} +1 -1
  358. package/dist/ionic/p-0ab133d6.entry.js +4 -0
  359. package/dist/ionic/{p-271c3640.entry.js → p-1110da0d.entry.js} +1 -1
  360. package/dist/ionic/p-1213b719.entry.js +4 -0
  361. package/dist/ionic/p-150f350e.entry.js +4 -0
  362. package/dist/ionic/{p-38b9375b.entry.js → p-20d1ac29.entry.js} +1 -1
  363. package/dist/ionic/p-24b0a961.entry.js +4 -0
  364. package/dist/ionic/{p-f0fb23c1.entry.js → p-2e6e933d.entry.js} +1 -1
  365. package/dist/ionic/p-30dcf43b.entry.js +4 -0
  366. package/dist/ionic/p-336ea4b8.entry.js +4 -0
  367. package/dist/ionic/{p-b9b4e85d.entry.js → p-378341d1.entry.js} +1 -1
  368. package/dist/ionic/{p-191a651e.entry.js → p-37f46670.entry.js} +1 -1
  369. package/dist/ionic/p-3a5faaa8.entry.js +4 -0
  370. package/dist/ionic/{p-efc0cf82.entry.js → p-3c4b0ba7.entry.js} +1 -1
  371. package/dist/ionic/p-42b2a992.entry.js +4 -0
  372. package/dist/ionic/p-49a16200.entry.js +4 -0
  373. package/dist/ionic/{p-837db1b9.entry.js → p-4dbb2f4f.entry.js} +1 -1
  374. package/dist/ionic/p-52dc3309.entry.js +4 -0
  375. package/dist/ionic/{p-85599fe3.entry.js → p-58f914ee.entry.js} +1 -1
  376. package/dist/ionic/{p-561af487.entry.js → p-5b9666be.entry.js} +1 -1
  377. package/dist/ionic/p-5c19330c.entry.js +4 -0
  378. package/dist/ionic/{p-3bba83ee.entry.js → p-61b304c8.entry.js} +1 -1
  379. package/dist/ionic/p-624f2fa8.entry.js +4 -0
  380. package/dist/ionic/p-636349e2.entry.js +4 -0
  381. package/dist/ionic/{p-d8c138d9.entry.js → p-6865f0e1.entry.js} +1 -1
  382. package/dist/ionic/p-7441ed2b.entry.js +4 -0
  383. package/dist/ionic/p-76309bab.entry.js +4 -0
  384. package/dist/ionic/p-83448626.entry.js +4 -0
  385. package/dist/ionic/{p-5d9094ac.entry.js → p-834afcf7.entry.js} +1 -1
  386. package/dist/ionic/{p-099b7f9f.entry.js → p-93cd738b.entry.js} +1 -1
  387. package/dist/ionic/{p-d6755739.entry.js → p-9b78fedf.entry.js} +1 -1
  388. package/dist/ionic/p-9dd9788c.entry.js +4 -0
  389. package/dist/ionic/{p-DYUjHcuH.js → p-B4ELlbJE.js} +1 -1
  390. package/dist/ionic/p-B4wzg4z4.js +4 -0
  391. package/dist/ionic/p-B4xjg_Qu.js +4 -0
  392. package/dist/ionic/{p-T71k3C35.js → p-BCgqWm-V.js} +1 -1
  393. package/dist/ionic/p-BChRVdVv.js +4 -0
  394. package/dist/ionic/{p-DTxBioUO.js → p-BUB5OrpU.js} +1 -1
  395. package/dist/ionic/p-BVEsh7-M.js +4 -0
  396. package/dist/ionic/p-Ba6ZV-qU.js +4 -0
  397. package/dist/ionic/p-BhMQahM6.js +4 -0
  398. package/dist/ionic/p-BtHAx8im.js +4 -0
  399. package/dist/ionic/{p-DZ6Hmc-8.js → p-Bv-6401R.js} +1 -1
  400. package/dist/ionic/{p-C8XilMh0.js → p-CCik51Nv.js} +1 -1
  401. package/dist/ionic/p-CTmJSZcs.js +4 -0
  402. package/dist/ionic/{p-BaeKWZ-a.js → p-CVwXN07G.js} +1 -1
  403. package/dist/ionic/p-CgQdInM0.js +4 -0
  404. package/{components/p-BJr2B5hZ.js → dist/ionic/p-CrAPHbJ3.js} +1 -1
  405. package/dist/ionic/p-CsWrz1c2.js +4 -0
  406. package/dist/ionic/p-D5akOqD0.js +4 -0
  407. package/dist/ionic/{p-C23AVPx9.js → p-D9OR05yj.js} +2 -2
  408. package/dist/ionic/{p-D4OrdtJf.js → p-DHf9V6zI.js} +1 -1
  409. package/dist/ionic/{p-Bd72UYI2.js → p-DNxEB9-T.js} +1 -1
  410. package/dist/ionic/p-DZUqAr_6.js +4 -0
  411. package/dist/ionic/{p-CM5OBjTW.js → p-DffXRKHu.js} +1 -1
  412. package/dist/ionic/{p-BMPN55of.js → p-DxvRP6ld.js} +1 -1
  413. package/dist/ionic/p-Dzew6Qv7.js +4 -0
  414. package/dist/ionic/p-PkaVMJga.js +4 -0
  415. package/dist/ionic/{p-4712a8a9.entry.js → p-b0a3dd1a.entry.js} +1 -1
  416. package/dist/ionic/p-b1164028.entry.js +4 -0
  417. package/dist/ionic/{p-ca1b8865.entry.js → p-b710b4b8.entry.js} +1 -1
  418. package/dist/ionic/{p-6e386853.entry.js → p-b9659d21.entry.js} +1 -1
  419. package/dist/ionic/{p-68cc89a6.entry.js → p-ba7bd621.entry.js} +1 -1
  420. package/dist/ionic/{p-db449915.entry.js → p-c2a23101.entry.js} +1 -1
  421. package/dist/ionic/p-daaecea3.entry.js +4 -0
  422. package/dist/ionic/p-e05073f6.entry.js +4 -0
  423. package/dist/ionic/{p-90f50a65.entry.js → p-e137f724.entry.js} +1 -1
  424. package/dist/ionic/p-e1969fd1.entry.js +4 -0
  425. package/dist/ionic/{p-7fbb3319.entry.js → p-e338693a.entry.js} +1 -1
  426. package/dist/ionic/p-e4c3f17f.entry.js +4 -0
  427. package/dist/ionic/p-e7414c33.entry.js +4 -0
  428. package/dist/ionic/{p-dd01be0a.entry.js → p-eb762f80.entry.js} +1 -1
  429. package/dist/ionic/{p-ec00fd0d.entry.js → p-edcb63e5.entry.js} +1 -1
  430. package/dist/ionic/p-f19e50f8.entry.js +4 -0
  431. package/dist/ionic/p-f9057f70.entry.js +4 -0
  432. package/dist/ionic/{p-9c5f2691.entry.js → p-f99cf5aa.entry.js} +1 -1
  433. package/dist/ionic/{p-54cbb0a7.entry.js → p-fee863dc.entry.js} +1 -1
  434. package/dist/ionic/p-kKvGoaEe.js +4 -0
  435. package/dist/ionic/p-tXpzvta8.js +4 -0
  436. package/dist/ionic/p-vPo3vRFc.js +4 -0
  437. package/dist/types/components/button/button.d.ts +3 -12
  438. package/dist/types/components/card/card.d.ts +3 -1
  439. package/dist/types/components/content/content.d.ts +28 -3
  440. package/dist/types/components/datetime/datetime.d.ts +5 -10
  441. package/dist/types/components/input/input.d.ts +1 -0
  442. package/dist/types/components/item/item.d.ts +1 -1
  443. package/dist/types/components/modal/modal.d.ts +9 -1
  444. package/dist/types/components/modal/safe-area-utils.d.ts +28 -14
  445. package/dist/types/components/modal/utils.d.ts +4 -0
  446. package/dist/types/components/popover/utils.d.ts +16 -3
  447. package/dist/types/components/select/select.d.ts +11 -0
  448. package/dist/types/components/textarea/textarea.d.ts +1 -0
  449. package/dist/types/components.d.ts +1 -1
  450. package/dist/types/index.d.ts +1 -1
  451. package/dist/types/stencil-public-runtime.d.ts +61 -55
  452. package/dist/types/utils/attribute-controller.d.ts +56 -0
  453. package/dist/types/utils/forms/click-controller.d.ts +36 -0
  454. package/dist/types/utils/forms/index.d.ts +1 -0
  455. package/dist/types/utils/helpers.d.ts +27 -2
  456. package/dist/types/utils/logging/index.d.ts +4 -0
  457. package/dist/types/utils/overlays.d.ts +15 -0
  458. package/dist/types/utils/sanitization/index.d.ts +2 -2
  459. package/hydrate/index.js +817 -299
  460. package/hydrate/index.mjs +817 -299
  461. package/package.json +4 -4
  462. package/components/p-1sJ0ZDPe.js +0 -4
  463. package/components/p-BNBnVi_1.js +0 -4
  464. package/components/p-BT9-hMMz.js +0 -4
  465. package/components/p-BWoa-cki.js +0 -4
  466. package/components/p-BgkOsq-d.js +0 -4
  467. package/components/p-Bi-it1EH.js +0 -4
  468. package/components/p-C0493tbX.js +0 -4
  469. package/components/p-C09TXohi.js +0 -4
  470. package/components/p-CG_zZq_I.js +0 -4
  471. package/components/p-CMRYD_yR.js +0 -4
  472. package/components/p-CNLioZ3B.js +0 -4
  473. package/components/p-CWAks_S_.js +0 -4
  474. package/components/p-CrAKlX71.js +0 -4
  475. package/components/p-Cw6WocLJ.js +0 -4
  476. package/components/p-DGPjJNOU.js +0 -4
  477. package/components/p-DZRZic9C.js +0 -4
  478. package/components/p-DiuOa1vw.js +0 -4
  479. package/components/p-Dj40C8gm.js +0 -4
  480. package/components/p-Djmz-ssp.js +0 -4
  481. package/components/p-DnBNYc7u.js +0 -4
  482. package/components/p-DwSXbQSz.js +0 -4
  483. package/components/p-M34T2gyX.js +0 -4
  484. package/components/p-YjMkHuvH.js +0 -4
  485. package/dist/cjs/hardware-back-button-Bu4Dzw8l.js +0 -121
  486. package/dist/cjs/index-DkNv4J_i.js +0 -10
  487. package/dist/esm/hardware-back-button-DmkiRgOT.js +0 -115
  488. package/dist/esm/index-ZjP4CjeZ.js +0 -7
  489. package/dist/ionic/p-06c6b540.entry.js +0 -4
  490. package/dist/ionic/p-0dcb7bb6.entry.js +0 -4
  491. package/dist/ionic/p-1347880c.entry.js +0 -4
  492. package/dist/ionic/p-1f24cb24.entry.js +0 -4
  493. package/dist/ionic/p-2c52fe3e.entry.js +0 -4
  494. package/dist/ionic/p-2ea4bb36.entry.js +0 -4
  495. package/dist/ionic/p-338a02e0.entry.js +0 -4
  496. package/dist/ionic/p-4c3e50f8.entry.js +0 -4
  497. package/dist/ionic/p-4e2fef42.entry.js +0 -4
  498. package/dist/ionic/p-5906ea6f.entry.js +0 -4
  499. package/dist/ionic/p-5cc09b40.entry.js +0 -4
  500. package/dist/ionic/p-612ea3b1.entry.js +0 -4
  501. package/dist/ionic/p-66f150ec.entry.js +0 -4
  502. package/dist/ionic/p-77c96e08.entry.js +0 -4
  503. package/dist/ionic/p-7bfeccb3.entry.js +0 -4
  504. package/dist/ionic/p-7e394cc3.entry.js +0 -4
  505. package/dist/ionic/p-9595e305.entry.js +0 -4
  506. package/dist/ionic/p-BY6BzzPF.js +0 -4
  507. package/dist/ionic/p-BhamHSw3.js +0 -4
  508. package/dist/ionic/p-BijjLYjT.js +0 -4
  509. package/dist/ionic/p-CER8qW8Y.js +0 -4
  510. package/dist/ionic/p-CFuOr1Tu.js +0 -4
  511. package/dist/ionic/p-CIGNaXM1.js +0 -4
  512. package/dist/ionic/p-CMZYmFb4.js +0 -4
  513. package/dist/ionic/p-CkxVYPtX.js +0 -4
  514. package/dist/ionic/p-CmXuiRT6.js +0 -4
  515. package/dist/ionic/p-D5t_-oMk.js +0 -4
  516. package/dist/ionic/p-D6rHcCvc.js +0 -4
  517. package/dist/ionic/p-DLM95R4x.js +0 -4
  518. package/dist/ionic/p-D_gb-kdd.js +0 -4
  519. package/dist/ionic/p-DajLgJ4d.js +0 -4
  520. package/dist/ionic/p-ZjP4CjeZ.js +0 -4
  521. package/dist/ionic/p-a1cc2861.entry.js +0 -4
  522. package/dist/ionic/p-a20a2ebe.entry.js +0 -4
  523. package/dist/ionic/p-a8ff2489.entry.js +0 -4
  524. package/dist/ionic/p-b3532b8d.entry.js +0 -4
  525. package/dist/ionic/p-b80c86c4.entry.js +0 -4
  526. package/dist/ionic/p-c57fc396.entry.js +0 -4
  527. package/dist/ionic/p-cc4320d3.entry.js +0 -4
  528. package/dist/ionic/p-f83b3e0c.entry.js +0 -4
  529. package/dist/ionic/p-fU3rOYad.js +0 -4
  530. package/dist/ionic/p-zWf7R2xV.js +0 -4
@@ -1,21 +1,21 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, e as config, f as printIonWarning, h, d as Host, g as getElement, c as createEvent, a as readTask, i as forceUpdate, w as writeTask, j as printIonError } from './index-C23AVPx9.js';
5
- import { shouldUseCloseWatcher } from './hardware-back-button-DmkiRgOT.js';
6
- import { a as isPlatform, b as getIonMode } from './ionic-global-ZXjCXKH0.js';
7
- import { i as inheritAriaAttributes, h as hasLazyBuild, c as componentOnReady, e as clamp, s as shallowEqualStringMap } from './helpers-BSmc0nst.js';
4
+ import { r as registerInstance, i as config, a as printIonWarning, h, f as Host, g as getElement, d as createEvent, e as readTask, j as forceUpdate, w as writeTask, c as printIonError } from './index-D9OR05yj.js';
5
+ import { v as shouldUseCloseWatcher, n as getOverlaySizeType } from './overlays-BQnV0HAU.js';
6
+ import { a as isPlatform, b as getIonMode } from './ionic-global-B-G43ddm.js';
7
+ import { i as inheritAriaAttributes, h as hasLazyBuild, c as componentOnReady, e as clamp, v as shallowEqualStringMap } from './helpers-B54ynME_.js';
8
8
  import { i as isRTL } from './dir-Dojwmvde.js';
9
9
  import { h as hostContext, c as createColorClasses } from './theme-byZM6qHV.js';
10
- import { b as findIonContent, p as printIonContentErrorMsg, g as getScrollElement } from './index-C1b9CLFg.js';
11
- import { c as createKeyboardController } from './keyboard-controller-DEwoa1ev.js';
10
+ import { b as findIonContent, p as printIonContentErrorMsg, g as getScrollElement } from './index--21qeSt0.js';
11
+ import { c as createKeyboardController } from './keyboard-controller-Dzjet5wD.js';
12
12
  import { g as getTimeGivenProgression } from './cubic-bezier-hHmYLOfE.js';
13
- import { a as attachComponent, d as detachComponent } from './framework-delegate-BwNhx9NR.js';
13
+ import { a as attachComponent, d as detachComponent } from './framework-delegate-DeT5pmPB.js';
14
14
  import { c as createLockController } from './lock-controller-B-hirT0v.js';
15
- import { t as transition } from './index-DnA_7Bnx.js';
16
- import './index-ZjP4CjeZ.js';
17
- import './keyboard-DAF8GNJ9.js';
18
- import './capacitor-CFERIeaU.js';
15
+ import { t as transition } from './index-B8iieOdw.js';
16
+ import './gesture-controller-B_gJaBk0.js';
17
+ import './keyboard-ly3M0GO7.js';
18
+ import './capacitor-CoEgIpR9.js';
19
19
 
20
20
  const appCss = () => `html.plt-mobile ion-app{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}html.plt-mobile ion-app [contenteditable]{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}ion-app.force-statusbar-padding{--ion-safe-area-top:20px}`;
21
21
 
@@ -28,10 +28,10 @@ const App = class {
28
28
  this.rIC(async () => {
29
29
  const isHybrid = isPlatform(window, 'hybrid');
30
30
  if (!config.getBoolean('_testing')) {
31
- import('./index-CJln0gS3.js').then((module) => module.startTapClick(config));
31
+ import('./index-D_xZtbw6.js').then((module) => module.startTapClick(config));
32
32
  }
33
33
  if (config.getBoolean('statusTap', isHybrid)) {
34
- import('./status-tap-Cv9gb3ja.js').then((module) => module.startStatusTap());
34
+ import('./status-tap-DRx9wSD_.js').then((module) => module.startStatusTap());
35
35
  }
36
36
  if (config.getBoolean('inputShims', needInputShims())) {
37
37
  /**
@@ -39,9 +39,9 @@ const App = class {
39
39
  * platforms proceed into this block.
40
40
  */
41
41
  const platform = isPlatform(window, 'ios') ? 'ios' : 'android';
42
- import('./input-shims-Dqk-Ou25.js').then((module) => module.startInputShims(config, platform));
42
+ import('./input-shims-MCrhq67U.js').then((module) => module.startInputShims(config, platform));
43
43
  }
44
- const hardwareBackButtonModule = await import('./hardware-back-button-DmkiRgOT.js');
44
+ const hardwareBackButtonModule = await import('./overlays-BQnV0HAU.js').then(function (n) { return n.w; });
45
45
  const supportsHardwareBackButtonEvents = isHybrid || shouldUseCloseWatcher();
46
46
  if (config.getBoolean('hardwareBackButton', supportsHardwareBackButtonEvents)) {
47
47
  hardwareBackButtonModule.startHardwareBackButton();
@@ -57,7 +57,7 @@ const App = class {
57
57
  hardwareBackButtonModule.blockHardwareBackButton();
58
58
  }
59
59
  if (typeof window !== 'undefined') {
60
- import('./keyboard-Cj8mLJeq.js').then((module) => module.startKeyboardAssist(window));
60
+ import('./keyboard-DDw62P0D.js').then((module) => module.startKeyboardAssist(window));
61
61
  }
62
62
  import('./focus-visible-BmVRXR1y.js').then((module) => (this.focusVisible = module.startFocusVisible()));
63
63
  });
@@ -196,6 +196,10 @@ const Content = class {
196
196
  data: undefined,
197
197
  isScrolling: true,
198
198
  };
199
+ /**
200
+ * Whether the host is sized to its content.
201
+ */
202
+ this.sizeToContent = false;
199
203
  /**
200
204
  * If `true`, the content will scroll behind the headers
201
205
  * and footers. This effect can easily be seen by setting the toolbar
@@ -229,6 +233,7 @@ const Content = class {
229
233
  }
230
234
  componentWillLoad() {
231
235
  this.inheritedAttributes = inheritAriaAttributes(this.el);
236
+ this.sizeToContent = this.readSizeToContent();
232
237
  }
233
238
  connectedCallback() {
234
239
  this.isMainContent = this.el.closest('ion-menu, ion-popover, ion-modal') === null;
@@ -268,6 +273,7 @@ const Content = class {
268
273
  }
269
274
  // Re-observe on reattach, since componentDidLoad only fires once.
270
275
  this.setupFullscreenResizeObserver();
276
+ this.updateSizeToContent();
271
277
  }
272
278
  componentDidLoad() {
273
279
  // The custom elements build assigns fullscreen after connectedCallback.
@@ -324,6 +330,16 @@ const Content = class {
324
330
  });
325
331
  this.fullscreenResizeObserver.observe(this.el);
326
332
  }
333
+ /**
334
+ * Picks up an overlay that is no longer sized the way the last render
335
+ * assumed, re-rendering only when the answer changes. Read in a `readTask`
336
+ * because resolving the custom property forces a style recalculation.
337
+ */
338
+ updateSizeToContent() {
339
+ readTask(() => {
340
+ this.sizeToContent = this.readSizeToContent();
341
+ });
342
+ }
327
343
  destroyFullscreenResizeObserver() {
328
344
  if (this.fullscreenResizeObserver !== undefined) {
329
345
  this.fullscreenResizeObserver.disconnect();
@@ -370,6 +386,30 @@ const Content = class {
370
386
  const mode = getIonMode(this);
371
387
  return forceOverscroll === undefined ? mode === 'ios' && isPlatform('ios') : forceOverscroll;
372
388
  }
389
+ /**
390
+ * Reads whether to size the component to its content height. Forces a style
391
+ * recalculation, so it belongs in a read task or before the first render.
392
+ *
393
+ * This applies inside popovers and modals with a content-based `--height`,
394
+ * where the overlay does not provide the content with a definite height
395
+ * to fill.
396
+ *
397
+ * Only `--height` is consulted. Styling the wrapper directly, such as
398
+ * `ion-modal::part(content) { height: fit-content; }`, does not change
399
+ * `--height` and therefore cannot be observed. `--height` is the only
400
+ * supported way to opt into content-based sizing.
401
+ */
402
+ readSizeToContent() {
403
+ if (hostContext('ion-popover', this.el)) {
404
+ return true;
405
+ }
406
+ const modal = this.el.closest('ion-modal');
407
+ if (modal === null) {
408
+ return false;
409
+ }
410
+ const height = getComputedStyle(modal).getPropertyValue('--height');
411
+ return getOverlaySizeType(height) === 'content';
412
+ }
373
413
  resize() {
374
414
  /**
375
415
  * Only force update if the component is rendered in a browser context.
@@ -380,6 +420,12 @@ const Content = class {
380
420
  * TODO: Remove if STENCIL-834 determines Stencil will account for this.
381
421
  */
382
422
  {
423
+ /**
424
+ * A window resize can cross a media query that changes the modal's
425
+ * `--height`. The content's own offsets are unchanged, so neither branch
426
+ * below re-renders and the class from the last render would go stale.
427
+ */
428
+ this.updateSizeToContent();
383
429
  if (this.fullscreen) {
384
430
  readTask(() => this.readDimensions());
385
431
  }
@@ -390,13 +436,15 @@ const Content = class {
390
436
  }
391
437
  }
392
438
  /**
393
- * Recalculate content dimensions. Called by overlays (e.g., popover) when
394
- * sibling elements like headers or footers have finished rendering and their
395
- * heights are available, ensuring accurate offset-top calculations.
439
+ * Recalculates the content dimensions and whether it should size itself to
440
+ * its content. Called by overlays when something they own changes, such as
441
+ * a header finishing its render or `--height` being updated.
442
+ *
396
443
  * @internal
397
444
  */
398
445
  async recalculateDimensions() {
399
446
  readTask(() => this.readDimensions());
447
+ this.updateSizeToContent();
400
448
  }
401
449
  readDimensions() {
402
450
  const page = getPageElement(this.el);
@@ -567,21 +615,21 @@ const Content = class {
567
615
  const forceOverscroll = this.shouldForceOverscroll();
568
616
  const transitionShadow = mode === 'ios';
569
617
  this.resize();
570
- return (h(Host, { key: '9551c759df407b10d809171641fc6e8f14d92219', role: isMainContent ? 'main' : undefined, class: createColorClasses(this.color, {
618
+ return (h(Host, { key: 'e1013621096729354ef92915af52dd823e69fdff', role: isMainContent ? 'main' : undefined, class: createColorClasses(this.color, {
571
619
  [mode]: true,
572
620
  'content-fullscreen': this.fullscreen,
573
- 'content-sizing': hostContext('ion-popover', this.el),
621
+ 'content-sizing': this.sizeToContent,
574
622
  overscroll: forceOverscroll,
575
623
  [`content-${rtl}`]: true,
576
624
  }), style: {
577
625
  '--offset-top': `${this.cTop}px`,
578
626
  '--offset-bottom': `${this.cBottom}px`,
579
- }, ...inheritedAttributes }, h("div", { key: 'c6de8fd226f0d10a534eb107fe032ac155fbe68e', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? h("slot", { name: "fixed" }) : null, h("div", { key: '082fc2936061360060b48221ecb1c864a3711fa0', class: {
627
+ }, ...inheritedAttributes }, h("div", { key: '3d8649b164d6324beaa1bc50e1d204ad06c2ec1a', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? h("slot", { name: "fixed" }) : null, h("div", { key: 'dd2d3bed8690b4f5027a43f5ec60e7e7df18106d', class: {
580
628
  'inner-scroll': true,
581
629
  'scroll-x': scrollX,
582
630
  'scroll-y': scrollY,
583
631
  overscroll: (scrollX || scrollY) && forceOverscroll,
584
- }, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, h("slot", { key: '0d2286206facb22696a9ca7e74a3f6b7d2397aab' })), transitionShadow ? (h("div", { class: "transition-effect" }, h("div", { class: "transition-cover" }), h("div", { class: "transition-shadow" }))) : null, fixedSlotPlacement === 'after' ? h("slot", { name: "fixed" }) : null));
632
+ }, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, h("slot", { key: 'dc3d4584d9e9afd43699525a619b8e873078fbbf' })), transitionShadow ? (h("div", { class: "transition-effect" }, h("div", { class: "transition-cover" }), h("div", { class: "transition-shadow" }))) : null, fixedSlotPlacement === 'after' ? h("slot", { name: "fixed" }) : null));
585
633
  }
586
634
  get el() { return getElement(this); }
587
635
  static get watchers() { return {
@@ -1218,7 +1266,7 @@ const RouterOutlet = class {
1218
1266
  this.swipeHandler.onStart();
1219
1267
  }
1220
1268
  };
1221
- this.gesture = (await import('./swipe-back-De5HlmeM.js')).createSwipeBackGesture(this.el, () => !this.gestureOrAnimationInProgress && !!this.swipeHandler && this.swipeHandler.canStart(), () => onStart(), (step) => this.ani?.progressStep(step), (shouldComplete, step, dur) => {
1269
+ this.gesture = (await import('./swipe-back-CXmdi75W.js')).createSwipeBackGesture(this.el, () => !this.gestureOrAnimationInProgress && !!this.swipeHandler && this.swipeHandler.canStart(), () => onStart(), (step) => this.ani?.progressStep(step), (shouldComplete, step, dur) => {
1222
1270
  if (this.ani) {
1223
1271
  this.ani.onFinish(() => {
1224
1272
  this.gestureOrAnimationInProgress = false;
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, h, d as Host } from './index-C23AVPx9.js';
5
- import { b as getIonMode } from './ionic-global-ZXjCXKH0.js';
4
+ import { r as registerInstance, h, f as Host } from './index-D9OR05yj.js';
5
+ import { b as getIonMode } from './ionic-global-B-G43ddm.js';
6
6
  import { c as createColorClasses } from './theme-byZM6qHV.js';
7
7
 
8
8
  const avatarIosCss = () => `:host{border-radius:var(--border-radius);display:block}::slotted(ion-img),::slotted(img){border-radius:var(--border-radius);width:100%;height:100%;-o-object-fit:cover;object-fit:cover;overflow:hidden}:host{--border-radius:50%;width:48px;height:48px}`;
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, e as config, h, d as Host, g as getElement } from './index-C23AVPx9.js';
5
- import { i as inheritAriaAttributes } from './helpers-BSmc0nst.js';
4
+ import { r as registerInstance, i as config, h, f as Host, g as getElement } from './index-D9OR05yj.js';
5
+ import { i as inheritAriaAttributes } from './helpers-B54ynME_.js';
6
6
  import { o as openURL, c as createColorClasses, h as hostContext } from './theme-byZM6qHV.js';
7
7
  import { c as chevronBack, a as arrowBackSharp } from './index-BvabGprD.js';
8
- import { b as getIonMode } from './ionic-global-ZXjCXKH0.js';
8
+ import { b as getIonMode } from './ionic-global-B-G43ddm.js';
9
9
  import './dir-Dojwmvde.js';
10
10
 
11
11
  const backButtonIosCss = () => `:host{--background:transparent;--color-focused:currentColor;--color-hover:currentColor;--icon-margin-top:0;--icon-margin-bottom:0;--icon-padding-top:0;--icon-padding-end:0;--icon-padding-bottom:0;--icon-padding-start:0;--margin-top:0;--margin-end:0;--margin-bottom:0;--margin-start:0;--min-width:auto;--min-height:auto;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;--opacity:1;--ripple-color:currentColor;--transition:background-color, opacity 100ms linear;display:none;min-width:var(--min-width);min-height:var(--min-height);color:var(--color);font-family:var(--ion-font-family, inherit);text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-font-kerning:none;font-kerning:none}ion-ripple-effect{color:var(--ripple-color)}:host(.ion-color) .button-native{color:var(--ion-color-base)}:host(.show-back-button){display:block}:host(.back-button-disabled){cursor:default;opacity:0.5;pointer-events:none}.button-native{border-radius:var(--border-radius);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:block;position:relative;width:100%;height:100%;min-height:inherit;-webkit-transition:var(--transition);transition:var(--transition);border:0;outline:none;background:var(--background);line-height:1;cursor:pointer;opacity:var(--opacity);overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}ion-icon{-webkit-padding-start:var(--icon-padding-start);padding-inline-start:var(--icon-padding-start);-webkit-padding-end:var(--icon-padding-end);padding-inline-end:var(--icon-padding-end);padding-top:var(--icon-padding-top);padding-bottom:var(--icon-padding-bottom);-webkit-margin-start:var(--icon-margin-start);margin-inline-start:var(--icon-margin-start);-webkit-margin-end:var(--icon-margin-end);margin-inline-end:var(--icon-margin-end);margin-top:var(--icon-margin-top);margin-bottom:var(--icon-margin-bottom);display:inherit;font-size:var(--icon-font-size);font-weight:var(--icon-font-weight);pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.ion-color.ion-focused) .button-native{color:var(--ion-color-base)}@media (any-hover: hover){:host(.ion-color:hover) .button-native{color:var(--ion-color-base)}}:host(.in-toolbar:not(.in-toolbar-color)){color:var(--ion-toolbar-color, var(--color))}:host{--background-hover:transparent;--background-hover-opacity:1;--background-focused:currentColor;--background-focused-opacity:.1;--border-radius:4px;--color:var(--ion-color-primary, #0054e9);--icon-margin-end:1px;--icon-margin-start:-4px;--icon-font-size:1.6em;--min-height:32px;font-size:clamp(17px, 1.0625rem, 21.998px)}.button-native{-webkit-transform:translateZ(0);transform:translateZ(0);overflow:visible;z-index:99}:host(.ion-activated) .button-native{opacity:0.4}@media (any-hover: hover){:host(:hover){opacity:0.6}}`;
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, d as Host } from './index-C23AVPx9.js';
5
- import { b as getIonMode } from './ionic-global-ZXjCXKH0.js';
4
+ import { r as registerInstance, d as createEvent, h, f as Host } from './index-D9OR05yj.js';
5
+ import { b as getIonMode } from './ionic-global-B-G43ddm.js';
6
6
 
7
7
  const backdropIosCss = () => `:host{left:0;right:0;top:0;bottom:0;display:block;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);contain:strict;cursor:pointer;opacity:0.01;-ms-touch-action:none;touch-action:none;z-index:2}:host(.backdrop-hide){background:transparent}:host(.backdrop-no-tappable){cursor:auto}:host{background-color:var(--ion-backdrop-color, #000)}`;
8
8
 
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, d as Host, g as getElement } from './index-C23AVPx9.js';
5
- import { i as inheritAriaAttributes } from './helpers-BSmc0nst.js';
4
+ import { r as registerInstance, d as createEvent, h, f as Host, g as getElement } from './index-D9OR05yj.js';
5
+ import { i as inheritAriaAttributes } from './helpers-B54ynME_.js';
6
6
  import { c as createColorClasses, o as openURL, h as hostContext } from './theme-byZM6qHV.js';
7
7
  import { p as chevronForwardOutline, q as ellipsisHorizontal } from './index-BvabGprD.js';
8
- import { b as getIonMode } from './ionic-global-ZXjCXKH0.js';
8
+ import { b as getIonMode } from './ionic-global-B-G43ddm.js';
9
9
  import './dir-Dojwmvde.js';
10
10
 
11
11
  const breadcrumbIosCss = () => `:host{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-align:center;align-items:center;color:var(--color);font-size:1rem;font-weight:400;line-height:1.5}.breadcrumb-native{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;width:100%;outline:none;background:inherit}:host(.breadcrumb-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.breadcrumb-active){color:var(--color-active)}:host(.ion-focused){color:var(--color-focused)}:host(.ion-focused) .breadcrumb-native{background:var(--background-focused)}@media (any-hover: hover){:host(.ion-activatable:hover){color:var(--color-hover)}:host(.ion-activatable.in-breadcrumbs-color:hover),:host(.ion-activatable.ion-color:hover){color:var(--ion-color-shade)}}.breadcrumb-separator{display:-ms-inline-flexbox;display:inline-flex}:host(.breadcrumb-collapsed) .breadcrumb-native{display:none}:host(.in-breadcrumbs-color),:host(.in-breadcrumbs-color.breadcrumb-active){color:var(--ion-color-base)}:host(.in-breadcrumbs-color) .breadcrumb-separator{color:var(--ion-color-base)}:host(.ion-color){color:var(--ion-color-base)}:host(.in-toolbar-color),:host(.in-toolbar-color) .breadcrumb-separator{color:rgba(var(--ion-color-contrast-rgb), 0.8)}:host(.in-toolbar-color.breadcrumb-active){color:var(--ion-color-contrast)}.breadcrumbs-collapsed-indicator{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;-webkit-margin-start:14px;margin-inline-start:14px;-webkit-margin-end:14px;margin-inline-end:14px;margin-top:0;margin-bottom:0;display:-ms-flexbox;display:flex;-ms-flex:1 1 100%;flex:1 1 100%;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:32px;height:18px;border:0;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.breadcrumbs-collapsed-indicator ion-icon{margin-top:1px;font-size:1.375rem}:host{--color:var(--ion-color-step-850, var(--ion-text-color-step-150, #2d4665));--color-active:var(--ion-text-color, #03060b);--color-hover:var(--ion-text-color, #03060b);--color-focused:var(--color-active);--background-focused:var(--ion-color-step-50, var(--ion-background-color-step-50, rgba(233, 237, 243, 0.7)));font-size:clamp(16px, 1rem, 22px)}:host(.breadcrumb-active){font-weight:600}.breadcrumb-native{border-radius:4px;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:5px;padding-bottom:5px;border:1px solid transparent}:host(.ion-focused) .breadcrumb-native{border-radius:8px}:host(.in-breadcrumbs-color.ion-focused) .breadcrumb-native,:host(.ion-color.ion-focused) .breadcrumb-native{background:rgba(var(--ion-color-base-rgb), 0.1);color:var(--ion-color-base)}:host(.ion-focused) ::slotted(ion-icon),:host(.in-breadcrumbs-color.ion-focused) ::slotted(ion-icon),:host(.ion-color.ion-focused) ::slotted(ion-icon){color:var(--ion-color-step-750, var(--ion-text-color-step-250, #445b78))}.breadcrumb-separator{color:var(--ion-color-step-550, var(--ion-text-color-step-450, #73849a))}::slotted(ion-icon){color:var(--ion-color-step-400, var(--ion-text-color-step-600, #92a0b3));font-size:min(1.125rem, 21.6px)}::slotted(ion-icon[slot=start]){-webkit-margin-end:8px;margin-inline-end:8px}::slotted(ion-icon[slot=end]){-webkit-margin-start:8px;margin-inline-start:8px}:host(.breadcrumb-active) ::slotted(ion-icon){color:var(--ion-color-step-850, var(--ion-text-color-step-150, #242d39))}.breadcrumbs-collapsed-indicator{border-radius:4px;background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e9edf3));color:var(--ion-color-step-550, var(--ion-text-color-step-450, #73849a))}.breadcrumbs-collapsed-indicator:hover{opacity:0.45}.breadcrumbs-collapsed-indicator:focus{background:var(--ion-color-step-150, var(--ion-background-color-step-150, #d9e0ea))}.breadcrumbs-collapsed-indicator ion-icon{font-size:min(1.375rem, 22px)}`;
@@ -1,10 +1,11 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, c as createEvent, i as forceUpdate, f as printIonWarning, h, d as Host, g as getElement, k as getAssetPath } from './index-C23AVPx9.js';
5
- import { k as hasShadowDom, i as inheritAriaAttributes } from './helpers-BSmc0nst.js';
4
+ import { r as registerInstance, d as createEvent, a as printIonWarning, h, f as Host, g as getElement, j as forceUpdate, k as getAssetPath } from './index-D9OR05yj.js';
5
+ import { c as createAriaAttributeController } from './attribute-controller-Cn665x42.js';
6
+ import { k as hasShadowDom } from './helpers-B54ynME_.js';
6
7
  import { o as openURL, c as createColorClasses$1, h as hostContext } from './theme-byZM6qHV.js';
7
- import { b as getIonMode$1 } from './ionic-global-ZXjCXKH0.js';
8
+ import { b as getIonMode$1 } from './ionic-global-B-G43ddm.js';
8
9
  import './dir-Dojwmvde.js';
9
10
 
10
11
  const buttonIosCss = () => `:host{--overflow:hidden;--ripple-color:currentColor;--border-width:initial;--border-color:initial;--border-style:initial;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--box-shadow:none;display:inline-block;width:auto;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:center;text-decoration:none;white-space:normal;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:top;vertical-align:-webkit-baseline-middle;-webkit-font-kerning:none;font-kerning:none}:host(.button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.button-solid){--background:var(--ion-color-primary, #0054e9);--color:var(--ion-color-primary-contrast, #fff)}:host(.button-outline){--border-color:var(--ion-color-primary, #0054e9);--background:transparent;--color:var(--ion-color-primary, #0054e9)}:host(.button-clear){--border-width:0;--background:transparent;--color:var(--ion-color-primary, #0054e9)}:host(.button-block){display:block}:host(.button-block) .button-native{margin-left:0;margin-right:0;width:100%;clear:both;contain:content}:host(.button-block) .button-native::after{clear:both}:host(.button-full){display:block}:host(.button-full) .button-native{margin-left:0;margin-right:0;width:100%;contain:content}:host(.button-full:not(.button-round)) .button-native{border-radius:0;border-right-width:0;border-left-width:0}.button-native{border-radius:var(--border-radius);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;height:100%;min-height:inherit;-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);line-height:1;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);contain:layout style;cursor:pointer;opacity:var(--opacity);overflow:var(--overflow);z-index:0;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.button-native::-moz-focus-inner{border:0}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}::slotted([slot=start]),::slotted([slot=end]){-ms-flex-negative:0;flex-shrink:0}::slotted(ion-icon){font-size:1.35em;pointer-events:none}::slotted(ion-icon[slot=start]){-webkit-margin-start:-0.3em;margin-inline-start:-0.3em;-webkit-margin-end:0.3em;margin-inline-end:0.3em;margin-top:0;margin-bottom:0}::slotted(ion-icon[slot=end]){-webkit-margin-start:0.3em;margin-inline-start:0.3em;-webkit-margin-end:-0.2em;margin-inline-end:-0.2em;margin-top:0;margin-bottom:0}ion-ripple-effect{color:var(--ripple-color)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}:host(.ion-focused){color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){:host(:hover){color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.ion-activated){color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.button-solid.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.button-outline.ion-color) .button-native{border-color:var(--ion-color-base);background:transparent;color:var(--ion-color-base)}:host(.button-clear.ion-color) .button-native{background:transparent;color:var(--ion-color-base)}:host(.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{color:var(--ion-toolbar-color, var(--color))}:host(.button-outline.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{border-color:var(--ion-toolbar-color, var(--color, var(--border-color)))}:host(.button-solid.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{background:var(--ion-toolbar-color, var(--background));color:var(--ion-toolbar-background, var(--color))}:host{--border-radius:14px;--padding-top:13px;--padding-bottom:13px;--padding-start:1em;--padding-end:1em;--transition:background-color, opacity 100ms linear;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px;margin-top:4px;margin-bottom:4px;min-height:3.1em;font-size:min(1rem, 48px);font-weight:500;letter-spacing:0}:host(.button-solid){--background-activated:var(--ion-color-primary-shade, #004acd);--background-focused:var(--ion-color-primary-shade, #004acd);--background-hover:var(--ion-color-primary-tint, #1a65eb);--background-activated-opacity:1;--background-focused-opacity:1;--background-hover-opacity:1}:host(.button-outline){--border-radius:14px;--border-width:1px;--border-style:solid;--background-activated:var(--ion-color-primary, #0054e9);--background-focused:var(--ion-color-primary, #0054e9);--background-hover:transparent;--background-focused-opacity:.1;--color-activated:var(--ion-color-primary-contrast, #fff)}:host(.button-clear){--background-activated:transparent;--background-activated-opacity:0;--background-focused:var(--ion-color-primary, #0054e9);--background-hover:transparent;--background-focused-opacity:.1;font-size:min(1.0625rem, 51px);font-weight:normal}:host(.in-buttons){font-size:clamp(17px, 1.0625rem, 21.08px);font-weight:400}:host(.button-large){--border-radius:16px;--padding-top:17px;--padding-start:1em;--padding-end:1em;--padding-bottom:17px;min-height:3.1em;font-size:min(1.25rem, 60px)}:host(.button-small){--border-radius:6px;--padding-top:4px;--padding-start:0.9em;--padding-end:0.9em;--padding-bottom:4px;min-height:2.1em;font-size:min(0.8125rem, 39px)}:host(.button-round){--border-radius:999px;--padding-top:0;--padding-start:26px;--padding-end:26px;--padding-bottom:0}:host(.button-strong){font-weight:600}:host(.button-has-icon-only){--padding-top:0;--padding-bottom:var(--padding-top);--padding-end:var(--padding-top);--padding-start:var(--padding-end);min-width:clamp(30px, 2.125em, 60px);min-height:clamp(30px, 2.125em, 60px)}::slotted(ion-icon[slot=icon-only]){font-size:clamp(15.12px, 1.125em, 43.02px)}:host(.button-small.button-has-icon-only){min-width:clamp(23px, 2.16em, 54px);min-height:clamp(23px, 2.16em, 54px)}:host(.button-small) ::slotted(ion-icon[slot=icon-only]){font-size:clamp(12.1394px, 1.308125em, 40.1856px)}:host(.button-large.button-has-icon-only){min-width:clamp(46px, 2.5em, 78px);min-height:clamp(46px, 2.5em, 78px)}:host(.button-large) ::slotted(ion-icon[slot=icon-only]){font-size:clamp(15.12px, 0.9em, 43.056px)}:host(.button-outline.ion-focused.ion-color) .button-native,:host(.button-clear.ion-focused.ion-color) .button-native{color:var(--ion-color-base)}:host(.button-outline.ion-focused.ion-color) .button-native::after,:host(.button-clear.ion-focused.ion-color) .button-native::after{background:var(--ion-color-base)}:host(.button-solid.ion-color.ion-focused) .button-native::after{background:var(--ion-color-shade)}@media (any-hover: hover){:host(.button-clear:not(.ion-activated):hover),:host(.button-outline:not(.ion-activated):hover){opacity:0.6}:host(.button-clear.ion-color:hover) .button-native,:host(.button-outline.ion-color:hover) .button-native{color:var(--ion-color-base)}:host(.button-clear.ion-color:hover) .button-native::after,:host(.button-outline.ion-color:hover) .button-native::after{background:transparent}:host(.button-solid.ion-color:hover) .button-native::after{background:var(--ion-color-tint)}:host(:hover.button-solid.in-toolbar:not(.ion-color):not(.in-toolbar-color):not(.ion-activated)) .button-native::after{background:#fff;opacity:0.1}}:host(.button-clear.ion-activated){opacity:0.4}:host(.button-outline.ion-activated.ion-color) .button-native{color:var(--ion-color-contrast)}:host(.button-outline.ion-activated.ion-color) .button-native::after{background:var(--ion-color-base)}:host(.button-solid.ion-color.ion-activated) .button-native::after{background:var(--ion-color-shade)}:host(.button-outline.ion-activated.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{background:var(--ion-toolbar-color, var(--color));color:var(--ion-toolbar-background, var(--background), var(--ion-color-primary-contrast, #fff))}`;
@@ -21,7 +22,6 @@ const Button = class {
21
22
  this.inToolbar = false;
22
23
  this.formButtonEl = null;
23
24
  this.formEl = null;
24
- this.inheritedAttributes = {};
25
25
  /**
26
26
  * If `true`, the button only has an icon.
27
27
  */
@@ -80,23 +80,6 @@ const Button = class {
80
80
  this.formButtonEl.disabled = disabled;
81
81
  }
82
82
  }
83
- /**
84
- * This component is used within the `ion-input-password-toggle` component
85
- * to toggle the visibility of the password input.
86
- * These attributes need to update based on the state of the password input.
87
- * Otherwise, the values will be stale.
88
- *
89
- * @param newValue
90
- * @param _oldValue
91
- * @param propName
92
- */
93
- onAriaChanged(newValue, _oldValue, propName) {
94
- this.inheritedAttributes = {
95
- ...this.inheritedAttributes,
96
- [propName]: newValue,
97
- };
98
- forceUpdate(this);
99
- }
100
83
  /**
101
84
  * This is responsible for rendering a hidden native
102
85
  * button element inside the associated form. This allows
@@ -134,7 +117,21 @@ const Button = class {
134
117
  this.inToolbar = !!this.el.closest('ion-buttons');
135
118
  this.inListHeader = !!this.el.closest('ion-list-header');
136
119
  this.inItem = !!this.el.closest('ion-item') || !!this.el.closest('ion-item-divider');
137
- this.inheritedAttributes = inheritAriaAttributes(this.el);
120
+ /**
121
+ * The ARIA state has to stay live, since `ion-input-password-toggle` rewrites
122
+ * `aria-label` and `aria-pressed` on its `ion-button` on every toggle. We keep
123
+ * `aria-disabled` out of the watch because the `<Host>` below renders it from the
124
+ * `disabled` prop and those writes would clobber a developer's value, and `role` out
125
+ * because a post-load write stays on the host too, which would put the same role on
126
+ * two elements in the accessibility tree.
127
+ */
128
+ this.ariaController = createAriaAttributeController(this.el, () => forceUpdate(this), ['aria-disabled', 'role']);
129
+ }
130
+ connectedCallback() {
131
+ this.ariaController?.init();
132
+ }
133
+ disconnectedCallback() {
134
+ this.ariaController?.destroy();
138
135
  }
139
136
  get hasIconOnly() {
140
137
  return !!this.el.querySelector('[slot="icon-only"]');
@@ -209,7 +206,8 @@ const Button = class {
209
206
  }
210
207
  render() {
211
208
  const mode = getIonMode$1(this);
212
- const { buttonType, type, disabled, rel, target, size, href, color, expand, hasIconOnly, shape, strong, inheritedAttributes, } = this;
209
+ const { buttonType, type, disabled, rel, target, size, href, color, expand, hasIconOnly, shape, strong } = this;
210
+ const inheritedAttributes = this.ariaController?.attributes ?? {};
213
211
  const finalSize = size === undefined && this.inItem ? 'small' : size;
214
212
  const TagType = href === undefined ? 'button' : 'a';
215
213
  const attrs = TagType === 'button'
@@ -234,7 +232,7 @@ const Button = class {
234
232
  {
235
233
  type !== 'button' && this.renderHiddenButton();
236
234
  }
237
- return (h(Host, { key: '82c71b8cbf3bb51e443f4aa99c375bf5be6b8dc7', onClick: this.handleClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses$1(color, {
235
+ return (h(Host, { key: 'fd42d1a5836c148cddd6c474c130ce4bb36286ea', onClick: this.handleClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses$1(color, {
238
236
  [mode]: true,
239
237
  [buttonType]: true,
240
238
  [`${buttonType}-${expand}`]: expand !== undefined,
@@ -249,21 +247,12 @@ const Button = class {
249
247
  'button-disabled': disabled,
250
248
  'ion-activatable': true,
251
249
  'ion-focusable': true,
252
- }) }, h(TagType, { key: '53f4cb366bac796ab38f609e858bc1a55fce7641', ...attrs, class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur, ...inheritedAttributes }, h("span", { key: '40e127fc11c889e77b8bf02e8714f0dea83bfce7', class: "button-inner" }, h("slot", { key: 'e11c8c86d3f0894658a8999129425c9c111f5540', name: "icon-only", onSlotchange: this.slotChanged }), h("slot", { key: '105ea9259ea17036359e6fe7eced8b267ab8e0f6', name: "start" }), h("slot", { key: '0d7b0966e328a5b10b0562dacbd638dfd08d92af' }), h("slot", { key: 'c542b40685802464d69f57ecc0a7c3465d24a417', name: "end" })), mode === 'md' && h("ion-ripple-effect", { key: '46df4cbeb057b0a8daab92226121d8bbb8c0ee07', type: this.rippleType }))));
250
+ }) }, h(TagType, { key: '97dbf689ea912aed38182dbe0097a2bf5b768816', ...attrs, class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur, ...inheritedAttributes }, h("span", { key: '0f1ff4c667e95a8e3dc787fee43fe529b95477b7', class: "button-inner" }, h("slot", { key: 'fc1e8b8080d02828c392e9edd6a70e0255435f82', name: "icon-only", onSlotchange: this.slotChanged }), h("slot", { key: 'c1ece4c0d935f4d023d38fee4cf529dd4123d487', name: "start" }), h("slot", { key: '970db0ee1e3633bc9cbff52eca446e4891ff6851' }), h("slot", { key: 'ef8d7d894f01dbe881f381b985620c2a482e55fe', name: "end" })), mode === 'md' && h("ion-ripple-effect", { key: 'fea5e49a54b0efd07b1bd35d9fd5d2d862a2bac1', type: this.rippleType }))));
253
251
  }
254
252
  get el() { return getElement(this); }
255
253
  static get watchers() { return {
256
254
  "disabled": [{
257
255
  "disabledChanged": 0
258
- }],
259
- "aria-checked": [{
260
- "onAriaChanged": 0
261
- }],
262
- "aria-label": [{
263
- "onAriaChanged": 0
264
- }],
265
- "aria-pressed": [{
266
- "onAriaChanged": 0
267
256
  }]
268
257
  }; }
269
258
  };
@@ -1,10 +1,11 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, h, d as Host, g as getElement } from './index-C23AVPx9.js';
5
- import { b as inheritAttributes } from './helpers-BSmc0nst.js';
4
+ import { r as registerInstance, h, f as Host, g as getElement, j as forceUpdate } from './index-D9OR05yj.js';
5
+ import { a as createAttributeController } from './attribute-controller-Cn665x42.js';
6
6
  import { o as openURL, c as createColorClasses } from './theme-byZM6qHV.js';
7
- import { b as getIonMode } from './ionic-global-ZXjCXKH0.js';
7
+ import { b as getIonMode } from './ionic-global-B-G43ddm.js';
8
+ import './helpers-B54ynME_.js';
8
9
  import './dir-Dojwmvde.js';
9
10
 
10
11
  const cardIosCss = () => `:host{--ion-safe-area-left:0px;--ion-safe-area-right:0px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);contain:content;overflow:hidden}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.card-disabled){cursor:default;opacity:0.3;pointer-events:none}.card-native{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:100%;min-height:var(--min-height);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:inherit}.card-native::-moz-focus-inner{border:0}button,a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}ion-ripple-effect{color:var(--ripple-color)}:host{--background:var(--ion-card-background, var(--ion-item-background, var(--ion-background-color, #fff)));--color:var(--ion-card-color, var(--ion-item-color, var(--ion-color-step-600, var(--ion-text-color-step-400, #666666))));-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:24px;margin-bottom:24px;border-radius:8px;-webkit-transition:-webkit-transform 500ms cubic-bezier(0.12, 0.72, 0.29, 1);transition:-webkit-transform 500ms cubic-bezier(0.12, 0.72, 0.29, 1);transition:transform 500ms cubic-bezier(0.12, 0.72, 0.29, 1);transition:transform 500ms cubic-bezier(0.12, 0.72, 0.29, 1), -webkit-transform 500ms cubic-bezier(0.12, 0.72, 0.29, 1);font-size:0.875rem;-webkit-box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);box-shadow:0 4px 16px rgba(0, 0, 0, 0.12)}:host(.ion-activated){-webkit-transform:scale3d(0.97, 0.97, 1);transform:scale3d(0.97, 0.97, 1)}`;
@@ -14,7 +15,6 @@ const cardMdCss = () => `:host{--ion-safe-area-left:0px;--ion-safe-area-right:0p
14
15
  const Card = class {
15
16
  constructor(hostRef) {
16
17
  registerInstance(this, hostRef);
17
- this.inheritedAriaAttributes = {};
18
18
  /**
19
19
  * If `true`, a button tag will be rendered and the card will be tappable.
20
20
  */
@@ -34,7 +34,18 @@ const Card = class {
34
34
  this.routerDirection = 'forward';
35
35
  }
36
36
  componentWillLoad() {
37
- this.inheritedAriaAttributes = inheritAttributes(this.el, ['aria-label']);
37
+ /**
38
+ * Only the initial copy takes the attribute off the host, so an `aria-label` written
39
+ * after load stays on the host too. That's harmless here, because unlike `ion-item`
40
+ * the card host renders no role of its own, so nothing reads the leftover copy.
41
+ */
42
+ this.ariaController = createAttributeController(this.el, ['aria-label'], () => forceUpdate(this));
43
+ }
44
+ connectedCallback() {
45
+ this.ariaController?.init();
46
+ }
47
+ disconnectedCallback() {
48
+ this.ariaController?.destroy();
38
49
  }
39
50
  isClickable() {
40
51
  return this.href !== undefined || this.button;
@@ -44,7 +55,8 @@ const Card = class {
44
55
  if (!clickable) {
45
56
  return [h("slot", null)];
46
57
  }
47
- const { href, routerAnimation, routerDirection, inheritedAriaAttributes } = this;
58
+ const { href, routerAnimation, routerDirection } = this;
59
+ const inheritedAriaAttributes = this.ariaController?.attributes ?? {};
48
60
  const TagType = clickable ? (href === undefined ? 'button' : 'a') : 'div';
49
61
  const attrs = TagType === 'button'
50
62
  ? { type: this.type }
@@ -58,7 +70,7 @@ const Card = class {
58
70
  }
59
71
  render() {
60
72
  const mode = getIonMode(this);
61
- return (h(Host, { key: '85e9b30bd81e79a0c7ac75cb3664bdcf9e4afc4d', class: createColorClasses(this.color, {
73
+ return (h(Host, { key: '104412c26f53cce36432c3bb4d9e38bbe00c5816', class: createColorClasses(this.color, {
62
74
  [mode]: true,
63
75
  'card-disabled': this.disabled,
64
76
  'ion-activatable': this.isClickable(),
@@ -1,12 +1,12 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, d as Host, g as getElement, i as forceUpdate } from './index-C23AVPx9.js';
5
- import { i as inheritAriaAttributes, a as renderHiddenInput } from './helpers-BSmc0nst.js';
6
- import { c as createItemMultipleInputsObserver } from './item-multiple-inputs-DZnIiOO_.js';
4
+ import { r as registerInstance, d as createEvent, h, f as Host, g as getElement, j as forceUpdate } from './index-D9OR05yj.js';
5
+ import { i as inheritAriaAttributes, a as renderHiddenInput } from './helpers-B54ynME_.js';
6
+ import { c as createItemMultipleInputsObserver } from './item-multiple-inputs-BSD9wGHO.js';
7
7
  import { c as checkInvalidState } from './validity-DJztqcrH.js';
8
8
  import { h as hostContext, c as createColorClasses } from './theme-byZM6qHV.js';
9
- import { b as getIonMode } from './ionic-global-ZXjCXKH0.js';
9
+ import { b as getIonMode } from './ionic-global-B-G43ddm.js';
10
10
  import './dir-Dojwmvde.js';
11
11
 
12
12
  const checkboxIosCss = () => `:host{--checkbox-background-checked:var(--ion-color-primary, #0054e9);--border-color-checked:var(--ion-color-primary, #0054e9);--checkmark-color:var(--ion-color-primary-contrast, #fff);--transition:none;display:inline-block;position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0;width:100%;height:100%}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}:host(.ion-color){--checkbox-background-checked:var(--ion-color-base);--border-color-checked:var(--ion-color-base);--checkmark-color:var(--ion-color-contrast)}.checkbox-wrapper{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;height:inherit;cursor:inherit}.label-text-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item) .label-text-wrapper,:host(.in-item:not(.checkbox-label-placement-stacked):not([slot])) .native-wrapper{margin-top:10px;margin-bottom:10px}:host(.in-item.checkbox-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.checkbox-label-placement-stacked) .native-wrapper{margin-bottom:10px}.label-text-wrapper-hidden{display:none}input{display:none}:host(:focus){outline:none}.native-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center}.checkbox-icon{border-radius:var(--border-radius);position:relative;width:var(--size);height:var(--size);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--checkbox-background);-webkit-box-sizing:border-box;box-sizing:border-box}.checkbox-icon path{fill:none;stroke:var(--checkmark-color);stroke-width:var(--checkmark-width);opacity:0}:host(.ion-focused) .native-wrapper::after{border-radius:50%;display:block;position:absolute;width:36px;height:36px;background:var(--ion-color-primary-tint, #1a65eb);content:"";opacity:0.2;inset-block-start:calc(50% - 36px / 2);inset-inline-start:calc(50% - 36px / 2)}.checkbox-bottom{padding-top:4px;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;font-size:0.75rem;white-space:normal}:host(.checkbox-label-placement-stacked) .checkbox-bottom{font-size:1rem}.checkbox-bottom .error-text{display:none;color:var(--ion-color-danger, #c5000f)}.checkbox-bottom .helper-text{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}:host(.ion-touched.ion-invalid) .checkbox-bottom .error-text{display:block}:host(.ion-touched.ion-invalid) .checkbox-bottom .helper-text{display:none}:host(.checkbox-label-placement-start) .checkbox-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.checkbox-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.checkbox-label-placement-end) .checkbox-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse;-ms-flex-pack:start;justify-content:start}:host(.checkbox-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.checkbox-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.checkbox-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.checkbox-label-placement-stacked) .checkbox-wrapper{-ms-flex-direction:column;flex-direction:column;text-align:center}:host(.checkbox-label-placement-stacked) .label-text-wrapper{-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host(.checkbox-label-placement-stacked.checkbox-alignment-start) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]):host(.checkbox-label-placement-stacked.checkbox-alignment-start) .label-text-wrapper,:host-context([dir=rtl]).checkbox-label-placement-stacked.checkbox-alignment-start .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.checkbox-label-placement-stacked.checkbox-alignment-start:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.checkbox-label-placement-stacked.checkbox-alignment-center) .label-text-wrapper{-webkit-transform-origin:center top;transform-origin:center top}:host-context([dir=rtl]):host(.checkbox-label-placement-stacked.checkbox-alignment-center) .label-text-wrapper,:host-context([dir=rtl]).checkbox-label-placement-stacked.checkbox-alignment-center .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}@supports selector(:dir(rtl)){:host(.checkbox-label-placement-stacked.checkbox-alignment-center:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}}:host(.checkbox-justify-space-between) .checkbox-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.checkbox-justify-start) .checkbox-wrapper{-ms-flex-pack:start;justify-content:start}:host(.checkbox-justify-end) .checkbox-wrapper{-ms-flex-pack:end;justify-content:end}:host(.checkbox-alignment-start) .checkbox-wrapper{-ms-flex-align:start;align-items:start}:host(.checkbox-alignment-center) .checkbox-wrapper{-ms-flex-align:center;align-items:center}:host(.checkbox-justify-space-between),:host(.checkbox-justify-start),:host(.checkbox-justify-end),:host(.checkbox-alignment-start),:host(.checkbox-alignment-center){display:block}:host(.checkbox-checked) .checkbox-icon,:host(.checkbox-indeterminate) .checkbox-icon{border-color:var(--border-color-checked);background:var(--checkbox-background-checked)}:host(.checkbox-checked) .checkbox-icon path,:host(.checkbox-indeterminate) .checkbox-icon path{opacity:1}:host(.checkbox-disabled){pointer-events:none}:host{--border-radius:50%;--border-width:0.125rem;--border-style:solid;--border-color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.23);--checkbox-background:var(--ion-item-background, var(--ion-background-color, #fff));--size:min(1.375rem, 55.836px);--checkmark-width:1.5px}:host(.checkbox-disabled){opacity:0.3}`;
@@ -1,9 +1,9 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, h, d as Host } from './index-C23AVPx9.js';
4
+ import { r as registerInstance, h, f as Host } from './index-D9OR05yj.js';
5
5
  import { c as createColorClasses } from './theme-byZM6qHV.js';
6
- import { b as getIonMode } from './ionic-global-ZXjCXKH0.js';
6
+ import { b as getIonMode } from './ionic-global-B-G43ddm.js';
7
7
 
8
8
  const chipIosCss = () => `:host{--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.12);--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.87);border-radius:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-margin-start:4px;margin-inline-start:4px;-webkit-margin-end:4px;margin-inline-end:4px;margin-top:4px;margin-bottom:4px;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:6px;padding-bottom:6px;display:-ms-inline-flexbox;display:inline-flex;position:relative;-ms-flex-align:center;align-items:center;min-height:32px;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);cursor:pointer;overflow:hidden;vertical-align:middle;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.chip-disabled){cursor:default;opacity:0.4;pointer-events:none}:host(.ion-color){background:rgba(var(--ion-color-base-rgb), 0.08);color:var(--ion-color-shade)}:host(.ion-color:focus){background:rgba(var(--ion-color-base-rgb), 0.12)}:host(.ion-color.ion-activated){background:rgba(var(--ion-color-base-rgb), 0.16)}:host(.chip-outline){border-width:1px;border-style:solid}:host(.chip-outline){border-color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.32);background:transparent}:host(.chip-outline.ion-color){border-color:rgba(var(--ion-color-base-rgb), 0.32)}:host(.chip-outline:not(.ion-color):focus){background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.04)}:host(.chip-outline.ion-activated:not(.ion-color)){background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08)}::slotted(ion-icon){font-size:1.4285714286em}:host(:not(.ion-color)) ::slotted(ion-icon){color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54)}::slotted(ion-icon:first-child){-webkit-margin-start:-4px;margin-inline-start:-4px;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:-4px;margin-bottom:-4px}::slotted(ion-icon:last-child){-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:-4px;margin-inline-end:-4px;margin-top:-4px;margin-bottom:-4px}::slotted(ion-avatar){-ms-flex-negative:0;flex-shrink:0;width:1.7142857143em;height:1.7142857143em}::slotted(ion-avatar:first-child){-webkit-margin-start:-8px;margin-inline-start:-8px;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:-4px;margin-bottom:-4px}::slotted(ion-avatar:last-child){-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:-8px;margin-inline-end:-8px;margin-top:-4px;margin-bottom:-4px}:host(:focus){outline:none}:host(:focus){--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.16)}:host(.ion-activated){--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2)}@media (any-hover: hover){:host(:hover){--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.16)}:host(.ion-color:hover){background:rgba(var(--ion-color-base-rgb), 0.12)}:host(.chip-outline:not(.ion-color):hover){background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.04)}}:host{font-size:clamp(13px, 0.875rem, 22px)}`;
9
9
 
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, i as forceUpdate, h, d as Host } from './index-C23AVPx9.js';
5
- import { b as getIonMode } from './ionic-global-ZXjCXKH0.js';
4
+ import { r as registerInstance, j as forceUpdate, h, f as Host } from './index-D9OR05yj.js';
5
+ import { b as getIonMode } from './ionic-global-B-G43ddm.js';
6
6
 
7
7
  const SIZE_TO_MEDIA = {
8
8
  xs: '(min-width: 0px)',
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, j as printIonError, h, d as Host, g as getElement } from './index-C23AVPx9.js';
5
- import { f as addEventListener, c as componentOnReady } from './helpers-BSmc0nst.js';
4
+ import { r as registerInstance, c as printIonError, h, f as Host, g as getElement } from './index-D9OR05yj.js';
5
+ import { f as addEventListener, c as componentOnReady } from './helpers-B54ynME_.js';
6
6
  import { c as createColorClasses } from './theme-byZM6qHV.js';
7
- import { b as getIonMode } from './ionic-global-ZXjCXKH0.js';
8
- import { D as parseDate, d as getHourCycle, P as getLocalizedDateTime, O as getLocalizedTime } from './format-DDFE9jM5.js';
7
+ import { b as getIonMode } from './ionic-global-B-G43ddm.js';
8
+ import { D as parseDate, d as getHourCycle, P as getLocalizedDateTime, O as getLocalizedTime } from './format-C9zPmwKU.js';
9
9
  import './dir-Dojwmvde.js';
10
10
 
11
11
  const datetimeButtonIosCss = () => `:host{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}:host button{border-radius:8px;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px;margin-top:0px;margin-bottom:0px;position:relative;-webkit-transition:150ms color ease-in-out;transition:150ms color ease-in-out;border:none;background:var(--ion-color-step-300, var(--ion-background-color-step-300, #edeef0));color:var(--ion-text-color, #000);font-family:inherit;font-size:1rem;cursor:pointer;overflow:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}:host(.time-active) #time-button,:host(.date-active) #date-button{color:var(--ion-color-primary, #0054e9)}:host(.ion-color.time-active) #time-button,:host(.ion-color.date-active) #date-button{color:var(--ion-color-base)}:host(.datetime-button-disabled){pointer-events:none}:host(.datetime-button-disabled) button{opacity:0.4}:host button{-webkit-padding-start:13px;padding-inline-start:13px;-webkit-padding-end:13px;padding-inline-end:13px;padding-top:7px;padding-bottom:7px}:host button.ion-activated{color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666))}`;