voyager-ionic-core 9.0.3 → 9.0.7

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 (553) 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--cshUOAU.js +4 -0
  99. package/components/{p-BF48Oc0v.js → p-7KepMw9O.js} +1 -1
  100. package/components/p-B-5Z9djt.js +4 -0
  101. package/components/p-B02CcbPD.js +4 -0
  102. package/components/p-B4IBdPVJ.js +4 -0
  103. package/components/{p-BYJRZKHa.js → p-BMHdI-wb.js} +1 -1
  104. package/components/p-BODcC-C0.js +4 -0
  105. package/components/{p-D7wDJdFn.js → p-Ba9_OzSY.js} +1 -1
  106. package/components/{p-DMBiAyOR.js → p-BqyLLYLm.js} +1 -1
  107. package/components/{p-BQyuFxYc.js → p-C1AxSUnp.js} +1 -1
  108. package/components/p-C7r5Gja6.js +4 -0
  109. package/components/{p-D5w_FlVa.js → p-CKiqp4Vl.js} +1 -1
  110. package/components/{p-C8Ck7_Eo.js → p-C_gnmBt2.js} +1 -1
  111. package/{dist/ionic/p-DTxBioUO.js → components/p-CdrNHfZl.js} +1 -1
  112. package/components/{p-DM1gJSMP.js → p-ChkSQqfP.js} +1 -1
  113. package/components/p-ChsJlFCQ.js +4 -0
  114. package/components/{p-cEN43Ahr.js → p-CjPRDxby.js} +1 -1
  115. package/components/p-CohRJRIu.js +4 -0
  116. package/components/{p-DxhHlJln.js → p-CqvARtmt.js} +1 -1
  117. package/components/p-Ct2aBEue.js +4 -0
  118. package/components/p-CtiO6_sC.js +4 -0
  119. package/components/{p-Hp8t4RMX.js → p-CvyvLbPe.js} +1 -1
  120. package/{dist/ionic/p-BMiZX1LT.js → components/p-CwEis84J.js} +1 -1
  121. package/components/p-CxEV3Vwy.js +4 -0
  122. package/components/p-Cyajikho.js +4 -0
  123. package/components/p-D64Tyi-z.js +4 -0
  124. package/components/{p-B4lxwJ8N.js → p-DBtFJlTi.js} +1 -1
  125. package/components/p-DD92Fw3n.js +4 -0
  126. package/components/p-DDI6VLW9.js +4 -0
  127. package/components/{p-Fl7ZFU74.js → p-DHo45oj7.js} +1 -1
  128. package/components/{p-COO0eJOA.js → p-DMPsc_0r.js} +1 -1
  129. package/{dist/ionic/p-DZ6Hmc-8.js → components/p-Dbi3KqKm.js} +1 -1
  130. package/components/p-DhfJAkyd.js +4 -0
  131. package/components/p-DnGlmM4u.js +4 -0
  132. package/components/{p-CJgnoKcN.js → p-Drpw2dyl.js} +1 -1
  133. package/components/{p-5ldEpNdG.js → p-Dvyv9SMk.js} +1 -1
  134. package/components/p-GpqwNbxf.js +4 -0
  135. package/components/{p-BJr2B5hZ.js → p-HthJZjZ6.js} +1 -1
  136. package/components/p-IQN1T5zw.js +4 -0
  137. package/components/{p-DL13ieTa.js → p-KbMCbGRA.js} +1 -1
  138. package/components/p-ODGeXc3M.js +4 -0
  139. package/components/p-R4UxBukQ.js +4 -0
  140. package/components/p-TLtgwTFF.js +4 -0
  141. package/components/p-Uk13YgEc.js +4 -0
  142. package/components/{p-qAXsfUff.js → p-V1THdfzs.js} +1 -1
  143. package/components/{p-C-NbvXu4.js → p-YNnH1_Hs.js} +1 -1
  144. package/components/{p-CqbGBmqb.js → p-ZrYBjOcc.js} +1 -1
  145. package/components/p-_y7kwBO8.js +4 -0
  146. package/components/{p-GGbIHyEF.js → p-hLu-eIbb.js} +1 -1
  147. package/components/p-jsVMT15X.js +4 -0
  148. package/components/{p-TWw4e4sO.js → p-r59A3wQk.js} +1 -1
  149. package/components/p-yGD6MBgf.js +4 -0
  150. package/css/core.css +1 -1
  151. package/css/core.css.map +1 -1
  152. package/css/display.css.map +1 -1
  153. package/css/flex-utils.css.map +1 -1
  154. package/css/float-elements.css +1 -1
  155. package/css/float-elements.css.map +1 -1
  156. package/css/global.bundle.css.map +1 -1
  157. package/css/ionic.bundle.css +1 -1
  158. package/css/ionic.bundle.css.map +1 -1
  159. package/css/padding.css.map +1 -1
  160. package/css/structure.css.map +1 -1
  161. package/css/text-alignment.css.map +1 -1
  162. package/css/text-transformation.css.map +1 -1
  163. package/css/typography.css.map +1 -1
  164. package/css/utils.bundle.css +1 -1
  165. package/css/utils.bundle.css.map +1 -1
  166. package/dist/cjs/{animation-Kd1N7WTN.js → animation-DcgLg_PI.js} +3 -3
  167. package/dist/cjs/{app-globals-b1G4t26O.js → app-globals-BoFCZq0K.js} +1 -1
  168. package/dist/cjs/attribute-controller-BjTE2TOf.js +131 -0
  169. package/dist/cjs/{button-active-CQCFubJJ.js → button-active-FdsfRDY_.js} +2 -2
  170. package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-C6Pp4Z7A.js} +3 -3
  171. package/dist/cjs/{format-bHU8N1g5.js → format-CVjpvAl1.js} +1 -1
  172. package/dist/cjs/{framework-delegate-d-fWfeI6.js → framework-delegate-JbKIVMzR.js} +1 -1
  173. package/dist/cjs/{haptic-Ch-X4gRx.js → haptic--4QteuuM.js} +1 -1
  174. package/dist/cjs/{helpers-7wzdhdeg.js → helpers-Cqr69qxA.js} +50 -3
  175. package/dist/cjs/{index-KiSZqhYS.js → index-B4ONUQRp.js} +1 -1
  176. package/dist/cjs/{index-C74Q3t6a.js → index-BQpSekmz.js} +7 -8
  177. package/dist/cjs/{index-DFNrCX7M.js → index-BhWiDK25.js} +9 -9
  178. package/dist/cjs/{index-DXoo08JC.js → index-BiQyIvoc.js} +54 -28
  179. package/dist/cjs/{index-DtvKGwdh.js → index-CNaZ6SYM.js} +2 -2
  180. package/dist/cjs/{index-CQfEIyLK.js → index-DUiuw_fH.js} +4 -4
  181. package/dist/cjs/index.cjs.js +19 -19
  182. package/dist/cjs/{input-shims-VJIiKBKv.js → input-shims-2AsXPZ5m.js} +16 -17
  183. package/dist/cjs/{input.utils-EHVE2RK_.js → input.utils-Becpo0ax.js} +1 -1
  184. package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -3
  185. package/dist/cjs/ion-action-sheet.cjs.entry.js +26 -28
  186. package/dist/cjs/ion-alert.cjs.entry.js +27 -29
  187. package/dist/cjs/ion-app_8.cjs.entry.js +72 -24
  188. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  189. package/dist/cjs/ion-back-button.cjs.entry.js +3 -3
  190. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
  191. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +3 -3
  192. package/dist/cjs/ion-button_2.cjs.entry.js +23 -34
  193. package/dist/cjs/ion-card_5.cjs.entry.js +19 -7
  194. package/dist/cjs/ion-checkbox.cjs.entry.js +4 -4
  195. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  196. package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
  197. package/dist/cjs/ion-datetime-button.cjs.entry.js +4 -4
  198. package/dist/cjs/ion-datetime.cjs.entry.js +34 -29
  199. package/dist/cjs/ion-fab_3.cjs.entry.js +3 -3
  200. package/dist/cjs/ion-img.cjs.entry.js +3 -3
  201. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +5 -5
  202. package/dist/cjs/ion-input-otp.cjs.entry.js +33 -8
  203. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +2 -2
  204. package/dist/cjs/ion-input.cjs.entry.js +12 -16
  205. package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
  206. package/dist/cjs/ion-item_8.cjs.entry.js +17 -8
  207. package/dist/cjs/ion-loading.cjs.entry.js +18 -20
  208. package/dist/cjs/ion-menu_3.cjs.entry.js +18 -19
  209. package/dist/cjs/ion-modal.cjs.entry.js +177 -172
  210. package/dist/cjs/ion-nav_2.cjs.entry.js +6 -6
  211. package/dist/cjs/ion-picker-column-option.cjs.entry.js +3 -3
  212. package/dist/cjs/ion-picker-column.cjs.entry.js +8 -9
  213. package/dist/cjs/ion-picker.cjs.entry.js +2 -2
  214. package/dist/cjs/ion-popover.cjs.entry.js +119 -42
  215. package/dist/cjs/ion-progress-bar.cjs.entry.js +3 -3
  216. package/dist/cjs/ion-radio_2.cjs.entry.js +4 -4
  217. package/dist/cjs/ion-range.cjs.entry.js +4 -4
  218. package/dist/cjs/ion-refresher_2.cjs.entry.js +8 -9
  219. package/dist/cjs/ion-reorder_2.cjs.entry.js +6 -7
  220. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
  221. package/dist/cjs/ion-route_4.cjs.entry.js +4 -4
  222. package/dist/cjs/ion-searchbar.cjs.entry.js +3 -3
  223. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  224. package/dist/cjs/ion-segment-view.cjs.entry.js +1 -1
  225. package/dist/cjs/ion-segment_2.cjs.entry.js +3 -3
  226. package/dist/cjs/ion-select-modal.cjs.entry.js +8 -10
  227. package/dist/cjs/ion-select_3.cjs.entry.js +71 -53
  228. package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
  229. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  230. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +6 -7
  231. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  232. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  233. package/dist/cjs/ion-textarea.cjs.entry.js +11 -15
  234. package/dist/cjs/ion-toast.cjs.entry.js +49 -51
  235. package/dist/cjs/ion-toggle.cjs.entry.js +6 -7
  236. package/dist/cjs/{ionic-global-CYJNT-2P.js → ionic-global-48ceLiJ6.js} +1 -1
  237. package/dist/cjs/ionic.cjs.js +5 -5
  238. package/dist/cjs/{ios.transition-DYGiD6gM.js → ios.transition-D85_rHf5.js} +4 -5
  239. package/dist/cjs/{item-multiple-inputs-Dv6qrMhm.js → item-multiple-inputs-C-hz7xrh.js} +1 -1
  240. package/dist/cjs/{keyboard-cHxZlTyz.js → keyboard-BlHp4a_c.js} +1 -1
  241. package/dist/cjs/{keyboard-Cix5TVkD.js → keyboard-c2_I35b-.js} +5 -3
  242. package/dist/cjs/{keyboard-controller-PtZoN2GS.js → keyboard-controller-DHS0BgXp.js} +9 -9
  243. package/dist/cjs/loader.cjs.js +4 -4
  244. package/dist/cjs/{md.transition-CrSkaoz6.js → md.transition-Ce9X1WXr.js} +4 -5
  245. package/dist/cjs/{overlays-BR21NUIG.js → overlays-CLld3axA.js} +224 -12
  246. package/dist/cjs/{select-option-render-D8ZEjYji.js → select-option-render-CzyhrkOu.js} +2 -2
  247. package/dist/cjs/{slot-mutation-controller-D6IjSEIh.js → slot-mutation-controller-ClDxh3EK.js} +73 -5
  248. package/dist/cjs/{status-tap-CNP5eD1R.js → status-tap-CDA0Y3Ad.js} +3 -3
  249. package/dist/cjs/{swipe-back-CSIJQfu5.js → swipe-back-Dy8pxJCF.js} +2 -2
  250. package/dist/collection/collection-manifest.json +1 -1
  251. package/dist/collection/components/button/button.js +21 -32
  252. package/dist/collection/components/card/card.js +17 -6
  253. package/dist/collection/components/content/content.js +62 -8
  254. package/dist/collection/components/datetime/datetime.js +27 -20
  255. package/dist/collection/components/input/input.ios.css +6 -0
  256. package/dist/collection/components/input/input.js +6 -9
  257. package/dist/collection/components/input/input.md.css +6 -0
  258. package/dist/collection/components/input-otp/input-otp.js +29 -3
  259. package/dist/collection/components/item/item.js +15 -6
  260. package/dist/collection/components/menu/menu.js +4 -3
  261. package/dist/collection/components/modal/modal.ios.css +12 -1
  262. package/dist/collection/components/modal/modal.js +31 -8
  263. package/dist/collection/components/modal/modal.md.css +12 -1
  264. package/dist/collection/components/modal/safe-area-utils.js +69 -90
  265. package/dist/collection/components/modal/utils.js +7 -0
  266. package/dist/collection/components/popover/animations/ios.enter.js +20 -6
  267. package/dist/collection/components/popover/animations/md.enter.js +19 -5
  268. package/dist/collection/components/popover/utils.js +64 -13
  269. package/dist/collection/components/select/select.ios.css +1 -1
  270. package/dist/collection/components/select/select.js +67 -38
  271. package/dist/collection/components/select/select.md.css +1 -1
  272. package/dist/collection/components/textarea/textarea.ios.css +15 -1
  273. package/dist/collection/components/textarea/textarea.js +5 -8
  274. package/dist/collection/components/textarea/textarea.md.css +15 -1
  275. package/dist/collection/index.js +1 -1
  276. package/dist/collection/utils/attribute-controller.js +126 -0
  277. package/dist/collection/utils/forms/click-controller.js +70 -0
  278. package/dist/collection/utils/forms/index.js +1 -0
  279. package/dist/collection/utils/hardware-back-button.js +41 -12
  280. package/dist/collection/utils/helpers.js +44 -3
  281. package/dist/collection/utils/logging/index.js +4 -0
  282. package/dist/collection/utils/menu-controller/index.js +2 -1
  283. package/dist/collection/utils/overlays.js +64 -4
  284. package/dist/docs.json +9 -3
  285. package/dist/esm/{animation-BFNVlYum.js → animation-DmtJpz89.js} +2 -2
  286. package/dist/esm/{app-globals-BgX0BGL1.js → app-globals-CNfpAPW6.js} +1 -1
  287. package/dist/esm/attribute-controller-DPMIcbef.js +128 -0
  288. package/dist/esm/{button-active-BfOvDr3b.js → button-active-DVk40Sjl.js} +2 -2
  289. package/dist/esm/{capacitor-CFERIeaU.js → capacitor-CHJaJ9aX.js} +1 -1
  290. package/dist/esm/{format-DDFE9jM5.js → format-Ck1cw5z7.js} +1 -1
  291. package/dist/esm/{framework-delegate-BwNhx9NR.js → framework-delegate-CDjM1vRH.js} +1 -1
  292. package/dist/esm/{haptic-Cq4UAeka.js → haptic-WXfMCob9.js} +1 -1
  293. package/dist/esm/{helpers-BSmc0nst.js → helpers-BJqKF1pr.js} +47 -4
  294. package/dist/esm/{index-DnA_7Bnx.js → index-BBASprVu.js} +4 -4
  295. package/dist/esm/{index-C23AVPx9.js → index-BpRUsN_W.js} +55 -29
  296. package/dist/esm/{index-D76bbuoi.js → index-CK8uF0iB.js} +1 -1
  297. package/dist/esm/{index-CJln0gS3.js → index-Clv8QC5L.js} +2 -3
  298. package/dist/esm/{index-BuPaALjU.js → index-DIouXecD.js} +6 -6
  299. package/dist/esm/{index-C1b9CLFg.js → index-TkLga3ma.js} +2 -2
  300. package/dist/esm/index.js +11 -13
  301. package/dist/esm/{input-shims-Dqk-Ou25.js → input-shims-C1iYF5JK.js} +5 -6
  302. package/dist/esm/{input.utils-rqoH22pW.js → input.utils-DZY_K8Po.js} +1 -1
  303. package/dist/esm/ion-accordion_2.entry.js +3 -3
  304. package/dist/esm/ion-action-sheet.entry.js +11 -13
  305. package/dist/esm/ion-alert.entry.js +11 -13
  306. package/dist/esm/ion-app_8.entry.js +72 -24
  307. package/dist/esm/ion-avatar_3.entry.js +2 -2
  308. package/dist/esm/ion-back-button.entry.js +3 -3
  309. package/dist/esm/ion-backdrop.entry.js +2 -2
  310. package/dist/esm/ion-breadcrumb_2.entry.js +3 -3
  311. package/dist/esm/ion-button_2.entry.js +23 -34
  312. package/dist/esm/ion-card_5.entry.js +19 -7
  313. package/dist/esm/ion-checkbox.entry.js +4 -4
  314. package/dist/esm/ion-chip.entry.js +2 -2
  315. package/dist/esm/ion-col_3.entry.js +2 -2
  316. package/dist/esm/ion-datetime-button.entry.js +4 -4
  317. package/dist/esm/ion-datetime.entry.js +33 -28
  318. package/dist/esm/ion-fab_3.entry.js +3 -3
  319. package/dist/esm/ion-img.entry.js +3 -3
  320. package/dist/esm/ion-infinite-scroll_2.entry.js +5 -5
  321. package/dist/esm/ion-input-otp.entry.js +33 -8
  322. package/dist/esm/ion-input-password-toggle.entry.js +2 -2
  323. package/dist/esm/ion-input.entry.js +12 -16
  324. package/dist/esm/ion-item-option_3.entry.js +4 -4
  325. package/dist/esm/ion-item_8.entry.js +17 -8
  326. package/dist/esm/ion-loading.entry.js +7 -9
  327. package/dist/esm/ion-menu_3.entry.js +10 -11
  328. package/dist/esm/ion-modal.entry.js +115 -110
  329. package/dist/esm/ion-nav_2.entry.js +6 -6
  330. package/dist/esm/ion-picker-column-option.entry.js +3 -3
  331. package/dist/esm/ion-picker-column.entry.js +5 -6
  332. package/dist/esm/ion-picker.entry.js +2 -2
  333. package/dist/esm/ion-popover.entry.js +108 -31
  334. package/dist/esm/ion-progress-bar.entry.js +3 -3
  335. package/dist/esm/ion-radio_2.entry.js +4 -4
  336. package/dist/esm/ion-range.entry.js +4 -4
  337. package/dist/esm/ion-refresher_2.entry.js +8 -9
  338. package/dist/esm/ion-reorder_2.entry.js +6 -7
  339. package/dist/esm/ion-ripple-effect.entry.js +2 -2
  340. package/dist/esm/ion-route_4.entry.js +4 -4
  341. package/dist/esm/ion-searchbar.entry.js +3 -3
  342. package/dist/esm/ion-segment-content.entry.js +1 -1
  343. package/dist/esm/ion-segment-view.entry.js +1 -1
  344. package/dist/esm/ion-segment_2.entry.js +3 -3
  345. package/dist/esm/ion-select-modal.entry.js +7 -9
  346. package/dist/esm/ion-select_3.entry.js +66 -48
  347. package/dist/esm/ion-spinner.entry.js +2 -2
  348. package/dist/esm/ion-split-pane.entry.js +2 -2
  349. package/dist/esm/ion-tab-bar_2.entry.js +6 -7
  350. package/dist/esm/ion-tab_2.entry.js +3 -3
  351. package/dist/esm/ion-text.entry.js +2 -2
  352. package/dist/esm/ion-textarea.entry.js +11 -15
  353. package/dist/esm/ion-toast.entry.js +7 -9
  354. package/dist/esm/ion-toggle.entry.js +6 -7
  355. package/dist/esm/{ionic-global-ZXjCXKH0.js → ionic-global-Cep6oYzK.js} +1 -1
  356. package/dist/esm/ionic.js +6 -6
  357. package/dist/esm/{ios.transition-CWAgfQ1r.js → ios.transition-B8netzsb.js} +4 -5
  358. package/dist/esm/{item-multiple-inputs-DZnIiOO_.js → item-multiple-inputs-Bd2LO7qK.js} +1 -1
  359. package/dist/esm/{keyboard-Cj8mLJeq.js → keyboard-B4Y-Gph8.js} +5 -3
  360. package/dist/esm/{keyboard-DAF8GNJ9.js → keyboard-Cmqp5iZD.js} +1 -1
  361. package/dist/esm/{keyboard-controller-DEwoa1ev.js → keyboard-controller-B2NoF7bV.js} +2 -2
  362. package/dist/esm/loader.js +5 -5
  363. package/dist/esm/{md.transition-ZuqDDdDW.js → md.transition-DNCSSiXk.js} +4 -5
  364. package/dist/esm/{overlays-DKE0DgvE.js → overlays-DmDY-El7.js} +216 -10
  365. package/dist/esm/{select-option-render-CRP_teb1.js → select-option-render-BSDT9oSA.js} +2 -2
  366. package/dist/esm/{slot-mutation-controller-B5NpUZ-N.js → slot-mutation-controller-hAS2uJ7c.js} +69 -3
  367. package/dist/esm/{status-tap-Cv9gb3ja.js → status-tap-VGRBYwiC.js} +3 -3
  368. package/dist/esm/{swipe-back-De5HlmeM.js → swipe-back-tCNYR9ZM.js} +2 -2
  369. package/dist/ionic/index.esm.js +1 -1
  370. package/dist/ionic/ionic.esm.js +1 -1
  371. package/dist/ionic/{p-b9b4e85d.entry.js → p-00cd107d.entry.js} +1 -1
  372. package/dist/ionic/p-01b7e3f2.entry.js +4 -0
  373. package/dist/ionic/{p-9c5f2691.entry.js → p-0a789930.entry.js} +1 -1
  374. package/dist/ionic/p-0b09c60e.entry.js +4 -0
  375. package/dist/ionic/p-0c32c626.entry.js +4 -0
  376. package/dist/ionic/p-0f97175e.entry.js +4 -0
  377. package/dist/ionic/p-107a81a6.entry.js +4 -0
  378. package/dist/ionic/{p-ca1b8865.entry.js → p-230f510c.entry.js} +1 -1
  379. package/dist/ionic/p-27d96a9b.entry.js +4 -0
  380. package/dist/ionic/{p-db449915.entry.js → p-28251c5c.entry.js} +1 -1
  381. package/dist/ionic/{p-099b7f9f.entry.js → p-362dcd86.entry.js} +1 -1
  382. package/dist/ionic/p-4bd80334.entry.js +4 -0
  383. package/dist/ionic/p-4d785062.entry.js +4 -0
  384. package/dist/ionic/{p-efc0cf82.entry.js → p-4e4e5919.entry.js} +1 -1
  385. package/dist/ionic/{p-837db1b9.entry.js → p-4ed3c460.entry.js} +1 -1
  386. package/dist/ionic/{p-d8c138d9.entry.js → p-4f25b926.entry.js} +1 -1
  387. package/dist/ionic/{p-271c3640.entry.js → p-539d6c8e.entry.js} +1 -1
  388. package/dist/ionic/p-5bb24bce.entry.js +4 -0
  389. package/dist/ionic/p-60780b88.entry.js +4 -0
  390. package/dist/ionic/{p-54cbb0a7.entry.js → p-62c87f3d.entry.js} +1 -1
  391. package/dist/ionic/p-6317d620.entry.js +4 -0
  392. package/dist/ionic/{p-85599fe3.entry.js → p-64ac3864.entry.js} +1 -1
  393. package/dist/ionic/{p-191a651e.entry.js → p-6c7b5930.entry.js} +1 -1
  394. package/dist/ionic/{p-7fbb3319.entry.js → p-77252596.entry.js} +1 -1
  395. package/dist/ionic/p-7ce9c6f8.entry.js +4 -0
  396. package/dist/ionic/{p-8b80d9f9.entry.js → p-7db20410.entry.js} +1 -1
  397. package/dist/ionic/{p-5d9094ac.entry.js → p-7e9c2a97.entry.js} +1 -1
  398. package/dist/ionic/p-7l6ENjIV.js +4 -0
  399. package/dist/ionic/p-82abf431.entry.js +4 -0
  400. package/dist/ionic/p-8b79061e.entry.js +4 -0
  401. package/dist/ionic/{p-6e386853.entry.js → p-8c85e250.entry.js} +1 -1
  402. package/dist/ionic/{p-90f50a65.entry.js → p-8d651adb.entry.js} +1 -1
  403. package/dist/ionic/{p-dd01be0a.entry.js → p-8db08782.entry.js} +1 -1
  404. package/dist/ionic/p-91f3cd8b.entry.js +4 -0
  405. package/dist/ionic/{p-f0fb23c1.entry.js → p-930c3538.entry.js} +1 -1
  406. package/dist/ionic/{p-ee09ac9d.entry.js → p-9ffccbf1.entry.js} +1 -1
  407. package/dist/ionic/{p-CM5OBjTW.js → p-B0jcOZOE.js} +1 -1
  408. package/dist/ionic/p-B8IuTu_r.js +4 -0
  409. package/dist/ionic/p-BNXIurCt.js +4 -0
  410. package/{components/p-6ZLn6K5e.js → dist/ionic/p-BO10QT9r.js} +1 -1
  411. package/dist/ionic/p-BOLqP2-V.js +4 -0
  412. package/dist/ionic/{p-BMPN55of.js → p-BY4FwwBp.js} +1 -1
  413. package/dist/ionic/p-BdHBcCZF.js +4 -0
  414. package/{components/p-DiuOa1vw.js → dist/ionic/p-BexAj0yw.js} +1 -1
  415. package/dist/ionic/p-Bnc1L7Rk.js +4 -0
  416. package/dist/ionic/p-BpRUsN_W.js +6 -0
  417. package/dist/ionic/p-Bppj2PE0.js +4 -0
  418. package/dist/ionic/p-BuLlVedw.js +4 -0
  419. package/dist/ionic/p-Bx5x5GJV.js +4 -0
  420. package/dist/ionic/p-C1WYZOZj.js +4 -0
  421. package/dist/ionic/p-C2LaBx3E.js +4 -0
  422. package/dist/ionic/{p-Bd72UYI2.js → p-CXs4J83x.js} +1 -1
  423. package/dist/ionic/p-Co7eql8D.js +4 -0
  424. package/dist/ionic/p-D13gXhdC.js +4 -0
  425. package/dist/ionic/p-D926OmIX.js +4 -0
  426. package/dist/ionic/{p-T71k3C35.js → p-DPNVo1nr.js} +1 -1
  427. package/{components/p-C4VpVfrJ.js → dist/ionic/p-DQXtveHv.js} +1 -1
  428. package/dist/ionic/p-DXXGkPA8.js +4 -0
  429. package/dist/ionic/{p-C8XilMh0.js → p-DfvWlTdB.js} +1 -1
  430. package/dist/ionic/p-DriE1ZAo.js +4 -0
  431. package/dist/ionic/{p-D7jHfs0Y.js → p-DxftXYZp.js} +1 -1
  432. package/dist/ionic/{p-Do3zTvCA.js → p-SEecsUh7.js} +1 -1
  433. package/dist/ionic/p-a4389f13.entry.js +4 -0
  434. package/dist/ionic/p-af11d3c6.entry.js +4 -0
  435. package/dist/ionic/p-af56702e.entry.js +4 -0
  436. package/dist/ionic/{p-561af487.entry.js → p-b3aadfe8.entry.js} +1 -1
  437. package/dist/ionic/p-b5bcbbc1.entry.js +4 -0
  438. package/dist/ionic/p-b9ed3a52.entry.js +4 -0
  439. package/dist/ionic/{p-3bba83ee.entry.js → p-bfdbe24b.entry.js} +1 -1
  440. package/dist/ionic/{p-4712a8a9.entry.js → p-c250b6b0.entry.js} +1 -1
  441. package/dist/ionic/{p-38b9375b.entry.js → p-c293f854.entry.js} +1 -1
  442. package/dist/ionic/p-c81ec0e8.entry.js +4 -0
  443. package/dist/ionic/p-c83dbc12.entry.js +4 -0
  444. package/dist/ionic/p-d0e374f8.entry.js +4 -0
  445. package/dist/ionic/p-d72accc4.entry.js +4 -0
  446. package/dist/ionic/p-d9a3dfd1.entry.js +4 -0
  447. package/dist/ionic/p-e1haAYzm.js +4 -0
  448. package/dist/ionic/p-e7ab4def.entry.js +4 -0
  449. package/dist/ionic/{p-d6755739.entry.js → p-eb989dc9.entry.js} +1 -1
  450. package/dist/ionic/p-ec259ac5.entry.js +4 -0
  451. package/dist/ionic/{p-DYUjHcuH.js → p-nCAPr1Ah.js} +1 -1
  452. package/dist/types/components/button/button.d.ts +3 -12
  453. package/dist/types/components/card/card.d.ts +3 -1
  454. package/dist/types/components/content/content.d.ts +28 -3
  455. package/dist/types/components/datetime/datetime.d.ts +5 -10
  456. package/dist/types/components/input/input.d.ts +1 -0
  457. package/dist/types/components/input-otp/input-otp.d.ts +7 -0
  458. package/dist/types/components/item/item.d.ts +1 -1
  459. package/dist/types/components/modal/modal.d.ts +9 -1
  460. package/dist/types/components/modal/safe-area-utils.d.ts +28 -14
  461. package/dist/types/components/modal/utils.d.ts +4 -0
  462. package/dist/types/components/popover/utils.d.ts +16 -3
  463. package/dist/types/components/select/select.d.ts +11 -0
  464. package/dist/types/components/textarea/textarea.d.ts +1 -0
  465. package/dist/types/components.d.ts +1 -1
  466. package/dist/types/index.d.ts +1 -1
  467. package/dist/types/stencil-public-runtime.d.ts +61 -55
  468. package/dist/types/utils/attribute-controller.d.ts +56 -0
  469. package/dist/types/utils/config.d.ts +4 -1
  470. package/dist/types/utils/forms/click-controller.d.ts +36 -0
  471. package/dist/types/utils/forms/index.d.ts +1 -0
  472. package/dist/types/utils/hardware-back-button.d.ts +11 -0
  473. package/dist/types/utils/helpers.d.ts +27 -2
  474. package/dist/types/utils/logging/index.d.ts +4 -0
  475. package/dist/types/utils/overlays.d.ts +20 -2
  476. package/hydrate/index.js +1249 -484
  477. package/hydrate/index.mjs +1249 -484
  478. package/package.json +3 -3
  479. package/components/p-1sJ0ZDPe.js +0 -4
  480. package/components/p-B1_TL6RQ.js +0 -4
  481. package/components/p-BT9-hMMz.js +0 -4
  482. package/components/p-BU8a2IhR.js +0 -4
  483. package/components/p-BW_SlU2D.js +0 -4
  484. package/components/p-BWoa-cki.js +0 -4
  485. package/components/p-BgkOsq-d.js +0 -4
  486. package/components/p-Bi-it1EH.js +0 -4
  487. package/components/p-C09TXohi.js +0 -4
  488. package/components/p-CG_zZq_I.js +0 -4
  489. package/components/p-CMRYD_yR.js +0 -4
  490. package/components/p-CNLioZ3B.js +0 -4
  491. package/components/p-CWAks_S_.js +0 -4
  492. package/components/p-Cd1WaN-0.js +0 -4
  493. package/components/p-CrAKlX71.js +0 -4
  494. package/components/p-Ctop2IWW.js +0 -4
  495. package/components/p-Cw6WocLJ.js +0 -4
  496. package/components/p-DFLJvuRK.js +0 -4
  497. package/components/p-DZRZic9C.js +0 -4
  498. package/components/p-DhNuxvJH.js +0 -4
  499. package/components/p-Djmz-ssp.js +0 -4
  500. package/components/p-DnBNYc7u.js +0 -4
  501. package/components/p-DwSXbQSz.js +0 -4
  502. package/components/p-M34T2gyX.js +0 -4
  503. package/components/p-YjMkHuvH.js +0 -4
  504. package/dist/cjs/hardware-back-button-Bu4Dzw8l.js +0 -121
  505. package/dist/cjs/index-DkNv4J_i.js +0 -10
  506. package/dist/esm/hardware-back-button-DmkiRgOT.js +0 -115
  507. package/dist/esm/index-ZjP4CjeZ.js +0 -7
  508. package/dist/ionic/p-0dcb7bb6.entry.js +0 -4
  509. package/dist/ionic/p-1347880c.entry.js +0 -4
  510. package/dist/ionic/p-1f24cb24.entry.js +0 -4
  511. package/dist/ionic/p-2ea4bb36.entry.js +0 -4
  512. package/dist/ionic/p-338a02e0.entry.js +0 -4
  513. package/dist/ionic/p-3e01c744.entry.js +0 -4
  514. package/dist/ionic/p-458715a9.entry.js +0 -4
  515. package/dist/ionic/p-4c3e50f8.entry.js +0 -4
  516. package/dist/ionic/p-5906ea6f.entry.js +0 -4
  517. package/dist/ionic/p-5cc09b40.entry.js +0 -4
  518. package/dist/ionic/p-612ea3b1.entry.js +0 -4
  519. package/dist/ionic/p-68cc89a6.entry.js +0 -4
  520. package/dist/ionic/p-77c96e08.entry.js +0 -4
  521. package/dist/ionic/p-7bfeccb3.entry.js +0 -4
  522. package/dist/ionic/p-7e394cc3.entry.js +0 -4
  523. package/dist/ionic/p-803059b6.entry.js +0 -4
  524. package/dist/ionic/p-9595e305.entry.js +0 -4
  525. package/dist/ionic/p-9ee9c5b6.entry.js +0 -4
  526. package/dist/ionic/p-BY6BzzPF.js +0 -4
  527. package/dist/ionic/p-BaeKWZ-a.js +0 -4
  528. package/dist/ionic/p-BgOvhHy_.js +0 -4
  529. package/dist/ionic/p-BhamHSw3.js +0 -4
  530. package/dist/ionic/p-BijjLYjT.js +0 -4
  531. package/dist/ionic/p-C23AVPx9.js +0 -6
  532. package/dist/ionic/p-CER8qW8Y.js +0 -4
  533. package/dist/ionic/p-CFuOr1Tu.js +0 -4
  534. package/dist/ionic/p-CIGNaXM1.js +0 -4
  535. package/dist/ionic/p-CMZYmFb4.js +0 -4
  536. package/dist/ionic/p-CkxVYPtX.js +0 -4
  537. package/dist/ionic/p-CmXuiRT6.js +0 -4
  538. package/dist/ionic/p-D5t_-oMk.js +0 -4
  539. package/dist/ionic/p-D6rHcCvc.js +0 -4
  540. package/dist/ionic/p-DLM95R4x.js +0 -4
  541. package/dist/ionic/p-D_gb-kdd.js +0 -4
  542. package/dist/ionic/p-DajLgJ4d.js +0 -4
  543. package/dist/ionic/p-ZjP4CjeZ.js +0 -4
  544. package/dist/ionic/p-a8df96c8.entry.js +0 -4
  545. package/dist/ionic/p-a8ff2489.entry.js +0 -4
  546. package/dist/ionic/p-aff52029.entry.js +0 -4
  547. package/dist/ionic/p-b3532b8d.entry.js +0 -4
  548. package/dist/ionic/p-cc4320d3.entry.js +0 -4
  549. package/dist/ionic/p-d526798a.entry.js +0 -4
  550. package/dist/ionic/p-ec00fd0d.entry.js +0 -4
  551. package/dist/ionic/p-f83b3e0c.entry.js +0 -4
  552. package/dist/ionic/p-fa50d493.entry.js +0 -4
  553. package/dist/ionic/p-zWf7R2xV.js +0 -4
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import{r as t,h as o,d as i,g as r,c as a,f as n}from"./p-C23AVPx9.js";import{b as e}from"./p-Do3zTvCA.js";import{k as s,i as c}from"./p-CFuOr1Tu.js";import{h as l,o as b,c as d}from"./p-byZM6qHV.js";import{t as f}from"./p-BvabGprD.js";import"./p-Dojwmvde.js";const h=class{constructor(o){t(this,o),this.edge=!1,this.activated=!1}activatedChanged(){const t=this.activated,o=this.getFab();o&&(o.activated=t),Array.from(this.el.querySelectorAll("ion-fab-list")).forEach((o=>{o.activated=t}))}componentDidLoad(){this.activated&&this.activatedChanged()}async close(){this.activated=!1}getFab(){return this.el.querySelector("ion-fab-button")}async toggle(){this.el.querySelector("ion-fab-list")&&(this.activated=!this.activated)}render(){const{horizontal:t,vertical:r,edge:a}=this,n=e(this);return o(i,{key:"8a310806d0e748d7ebb0ed3d9a2652038e0f2960",class:{[n]:!0,[`fab-horizontal-${t}`]:void 0!==t,[`fab-vertical-${r}`]:void 0!==r,"fab-edge":a}},o("slot",{key:"9394ef6d6e5b0410fa6ba212171f687fb178ce2d"}))}get el(){return r(this)}static get watchers(){return{activated:[{activatedChanged:0}]}}};h.style=":host{position:absolute;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;z-index:999}:host(.fab-horizontal-center){left:0px;right:0px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}:host(.fab-horizontal-start){left:calc(10px + var(--ion-safe-area-left, 0px));}:host-context([dir=rtl]):host(.fab-horizontal-start),:host-context([dir=rtl]).fab-horizontal-start{right:calc(10px + var(--ion-safe-area-right, 0px));left:unset}@supports selector(:dir(rtl)){:host(.fab-horizontal-start:dir(rtl)){right:calc(10px + var(--ion-safe-area-right, 0px));left:unset}}:host(.fab-horizontal-end){right:calc(10px + var(--ion-safe-area-right, 0px));}:host-context([dir=rtl]):host(.fab-horizontal-end),:host-context([dir=rtl]).fab-horizontal-end{left:calc(10px + var(--ion-safe-area-left, 0px));right:unset}@supports selector(:dir(rtl)){:host(.fab-horizontal-end:dir(rtl)){left:calc(10px + var(--ion-safe-area-left, 0px));right:unset}}:host(.fab-vertical-top){top:10px}:host(.fab-vertical-top.fab-edge){top:0}:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-button){margin-top:-50%}:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-button.fab-button-small){margin-top:calc((-100% + 16px) / 2)}:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-list.fab-list-side-start),:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-list.fab-list-side-end){margin-top:-50%}:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-list.fab-list-side-top),:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-list.fab-list-side-bottom){margin-top:calc(50% + 10px)}:host(.fab-vertical-bottom){bottom:10px}:host(.fab-vertical-bottom.fab-edge){bottom:0}:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-button){margin-bottom:-50%}:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-button.fab-button-small){margin-bottom:calc((-100% + 16px) / 2)}:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-list.fab-list-side-start),:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-list.fab-list-side-end){margin-bottom:-50%}:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-list.fab-list-side-top),:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-list.fab-list-side-bottom){margin-bottom:calc(50% + 10px)}:host(.fab-vertical-center){top:0px;bottom:0px;margin-top:auto;margin-bottom:auto}";const p=class{constructor(o){t(this,o),this.ionFocus=a(this,"ionFocus",7),this.ionBlur=a(this,"ionBlur",7),this.fab=null,this.formButtonEl=null,this.formEl=null,this.inheritedAttributes={},this.activated=!1,this.disabled=!1,this.routerDirection="forward",this.show=!1,this.translucent=!1,this.type="button",this.closeIcon=f,this.onFocus=()=>{this.ionFocus.emit()},this.onBlur=()=>{this.ionBlur.emit()},this.onClick=t=>{const{el:o,fab:i}=this;"button"!==this.type&&s(o)&&this.submitForm(t),i&&i.toggle()}}disabledChanged(){const{disabled:t}=this;this.formButtonEl&&(this.formButtonEl.disabled=t)}connectedCallback(){this.fab=this.el.closest("ion-fab")}renderHiddenButton(){const t=this.formEl=this.findForm();if(t){const{formButtonEl:o}=this;if(null!==o&&t.contains(o))return o.disabled=this.disabled,void(o.type=this.type);const i=this.formButtonEl=document.createElement("button");i.type=this.type,i.style.display="none",i.disabled=this.disabled,t.appendChild(i)}}findForm(){const{form:t}=this;if(t instanceof HTMLFormElement)return t;if("string"==typeof t){const o=document.getElementById(t);return o?o instanceof HTMLFormElement?o:(n(`[ion-fab-button] - Form with selector: "#${t}" could not be found. Verify that the id is attached to a <form> element.`,this.el),null):(n(`[ion-fab-button] - Form with selector: "#${t}" could not be found. Verify that the id is correct and the form is rendered in the DOM.`,this.el),null)}return void 0!==t?(n('[ion-fab-button] - The provided "form" element is invalid. Verify that the form is a HTMLFormElement and rendered in the DOM.',this.el),null):this.el.closest("form")}submitForm(t){this.formEl&&this.formButtonEl&&(t.preventDefault(),this.formButtonEl.click())}componentWillLoad(){this.inheritedAttributes=c(this.el)}render(){const{el:t,disabled:r,color:a,href:n,activated:s,show:c,translucent:f,size:h,inheritedAttributes:p,type:u}=this,g=l("ion-fab-list",t),v=e(this),m=void 0===n?"button":"a",k="button"===m?{type:u}:{download:this.download,href:n,rel:this.rel,target:this.target};return"button"!==u&&this.renderHiddenButton(),o(i,{key:"89e8f2564f12f8c1cd8509a40359202347948846",onClick:this.onClick,"aria-disabled":r?"true":null,class:d(a,{[v]:!0,"fab-button-in-list":g,"fab-button-translucent-in-list":g&&f,"fab-button-close-active":s,"fab-button-show":c,"fab-button-disabled":r,"fab-button-translucent":f,"ion-activatable":!0,"ion-focusable":!0,[`fab-button-${h}`]:void 0!==h})},o(m,{key:"9e2fd462316e1aec50f53fa1b7ad7f02fd399592",...k,class:"button-native",part:"native",disabled:r,onFocus:this.onFocus,onBlur:this.onBlur,onClick:t=>"button"===u&&b(n,t,this.routerDirection,this.routerAnimation),...p},o("ion-icon",{key:"c3bdb8614eb249297afc963810066658dc85efd6","aria-hidden":"true",icon:this.closeIcon,part:"close-icon",class:"close-icon",lazy:!1}),o("span",{key:"a6a505b24d21cc716d2e3351ad4c380b95c768d7",class:"button-inner"},o("slot",{key:"f44fc1e95533438ee3adc8cc5bdd9e1e85849fd6"})),"md"===v&&o("ion-ripple-effect",{key:"b7c7dc7fceb0bb5613239608225f040010b7b2bd"})))}get el(){return r(this)}static get watchers(){return{disabled:[{disabledChanged:0}]}}};p.style={ios:':host{--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--background-hover:var(--ion-color-primary-contrast, #fff);--background-hover-opacity:.08;--transition:background-color, opacity 100ms linear;--ripple-color:currentColor;--border-radius:50%;--border-width:0;--border-style:none;--border-color:initial;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:56px;height:56px;font-size:14px;text-align:center;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);-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%;-webkit-transform:var(--transform);transform:var(--transform);-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);background-clip:padding-box;color:var(--color);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);contain:strict;cursor:pointer;overflow:hidden;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(ion-icon){line-height:1}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}.button-inner{left:0;right:0;top:0;display:-ms-flexbox;display:flex;position:absolute;-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;height:100%;-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;z-index:1}:host(.fab-button-disabled){cursor:default;opacity:0.5;pointer-events:none}@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-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-activated) .button-native{color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}::slotted(ion-icon){line-height:1}:host(.fab-button-small){-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:8px;margin-bottom:8px;width:40px;height:40px}.close-icon{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;left:0;right:0;top:0;position:absolute;height:100%;-webkit-transform:scale(0.4) rotateZ(-45deg);transform:scale(0.4) rotateZ(-45deg);-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;font-size:var(--close-icon-font-size);opacity:0;z-index:1}:host(.fab-button-close-active) .close-icon{-webkit-transform:scale(1) rotateZ(0deg);transform:scale(1) rotateZ(0deg);opacity:1}:host(.fab-button-close-active) .button-inner{-webkit-transform:scale(0.4) rotateZ(45deg);transform:scale(0.4) rotateZ(45deg);opacity:0}ion-ripple-effect{color:var(--ripple-color)}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.fab-button-translucent) .button-native{-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter)}}:host(.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host{--background:var(--ion-color-primary, #0054e9);--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;--color:var(--ion-color-primary-contrast, #fff);--box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);--transition:0.2s transform cubic-bezier(0.25, 1.11, 0.78, 1.59);--close-icon-font-size:28px}:host(.ion-activated){--box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);--transform:scale(1.1);--transition:0.2s transform ease-out}::slotted(ion-icon){font-size:28px}:host(.fab-button-in-list){--background:var(--ion-color-light, #f4f5f8);--background-activated:var(--ion-color-light-shade, #d7d8da);--background-focused:var(--background-activated);--background-hover:var(--ion-color-light-tint, #f5f6f9);--color:var(--ion-color-light-contrast, #000);--color-activated:var(--ion-color-light-contrast, #000);--color-focused:var(--color-activated);--transition:transform 200ms ease 10ms, opacity 200ms ease 10ms}:host(.fab-button-in-list) ::slotted(ion-icon){font-size:18px}:host(.ion-color.ion-focused) .button-native::after{background:var(--ion-color-shade)}:host(.ion-color.ion-focused) .button-native,:host(.ion-color.ion-activated) .button-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .button-native::after,:host(.ion-color.ion-activated) .button-native::after{background:var(--ion-color-shade)}@media (any-hover: hover){:host(.ion-color:hover) .button-native{color:var(--ion-color-contrast)}:host(.ion-color:hover) .button-native::after{background:var(--ion-color-tint)}}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.fab-button-translucent){--background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.9);--background-hover:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.8);--background-focused:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.82);--backdrop-filter:saturate(180%) blur(20px)}:host(.fab-button-translucent-in-list){--background:rgba(var(--ion-color-light-rgb, 244, 245, 248), 0.9);--background-hover:rgba(var(--ion-color-light-rgb, 244, 245, 248), 0.8);--background-focused:rgba(var(--ion-color-light-rgb, 244, 245, 248), 0.82)}}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){@media (any-hover: hover){:host(.fab-button-translucent.ion-color:hover) .button-native{background:rgba(var(--ion-color-base-rgb), 0.8)}}:host(.ion-color.fab-button-translucent) .button-native{background:rgba(var(--ion-color-base-rgb), 0.9)}:host(.ion-color.ion-focused.fab-button-translucent) .button-native,:host(.ion-color.ion-activated.fab-button-translucent) .button-native{background:var(--ion-color-base)}}',md:':host{--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--background-hover:var(--ion-color-primary-contrast, #fff);--background-hover-opacity:.08;--transition:background-color, opacity 100ms linear;--ripple-color:currentColor;--border-radius:50%;--border-width:0;--border-style:none;--border-color:initial;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:56px;height:56px;font-size:14px;text-align:center;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);-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%;-webkit-transform:var(--transform);transform:var(--transform);-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);background-clip:padding-box;color:var(--color);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);contain:strict;cursor:pointer;overflow:hidden;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(ion-icon){line-height:1}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}.button-inner{left:0;right:0;top:0;display:-ms-flexbox;display:flex;position:absolute;-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;height:100%;-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;z-index:1}:host(.fab-button-disabled){cursor:default;opacity:0.5;pointer-events:none}@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-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-activated) .button-native{color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}::slotted(ion-icon){line-height:1}:host(.fab-button-small){-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:8px;margin-bottom:8px;width:40px;height:40px}.close-icon{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;left:0;right:0;top:0;position:absolute;height:100%;-webkit-transform:scale(0.4) rotateZ(-45deg);transform:scale(0.4) rotateZ(-45deg);-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;font-size:var(--close-icon-font-size);opacity:0;z-index:1}:host(.fab-button-close-active) .close-icon{-webkit-transform:scale(1) rotateZ(0deg);transform:scale(1) rotateZ(0deg);opacity:1}:host(.fab-button-close-active) .button-inner{-webkit-transform:scale(0.4) rotateZ(45deg);transform:scale(0.4) rotateZ(45deg);opacity:0}ion-ripple-effect{color:var(--ripple-color)}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.fab-button-translucent) .button-native{-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter)}}:host(.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host{--background:var(--ion-color-primary, #0054e9);--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor;--background-activated-opacity:0;--background-focused-opacity:.24;--background-hover-opacity:.08;--color:var(--ion-color-primary-contrast, #fff);--box-shadow:0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12);--transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), background-color 280ms cubic-bezier(0.4, 0, 0.2, 1), color 280ms cubic-bezier(0.4, 0, 0.2, 1), opacity 15ms linear 30ms, transform 270ms cubic-bezier(0, 0, 0.2, 1) 0ms;--close-icon-font-size:24px}:host(.ion-activated){--box-shadow:0 7px 8px -4px rgba(0, 0, 0, 0.2), 0 12px 17px 2px rgba(0, 0, 0, 0.14), 0 5px 22px 4px rgba(0, 0, 0, 0.12)}::slotted(ion-icon){font-size:24px}:host(.fab-button-in-list){--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);--color-activated:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);--color-focused:var(--color-activated);--background:var(--ion-color-light, #f4f5f8);--background-activated:transparent;--background-focused:var(--ion-color-light-shade, #d7d8da);--background-hover:var(--ion-color-light-tint, #f5f6f9)}:host(.fab-button-in-list) ::slotted(ion-icon){font-size:18px}:host(.ion-color.ion-focused) .button-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .button-native::after{background:var(--ion-color-contrast)}:host(.ion-color.ion-activated) .button-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-activated) .button-native::after{background:transparent}@media (any-hover: hover){:host(.ion-color:hover) .button-native{color:var(--ion-color-contrast)}:host(.ion-color:hover) .button-native::after{background:var(--ion-color-contrast)}}'};const u=class{constructor(o){t(this,o),this.activateTimeouts=[],this.activated=!1,this.side="bottom"}activatedChanged(t){this.activateTimeouts.forEach(clearTimeout),this.activateTimeouts=[];const o=Array.from(this.el.querySelectorAll("ion-fab-button")),i=t?30:0;o.forEach(((o,r)=>{this.activateTimeouts.push(setTimeout((()=>o.show=t),r*i))}))}disconnectedCallback(){this.activateTimeouts.forEach(clearTimeout),this.activateTimeouts=[]}render(){const t=e(this);return o(i,{key:"03a8920c29a93c6df4bab14753a78a8a30722ce8",class:{[t]:!0,"fab-list-active":this.activated,[`fab-list-side-${this.side}`]:!0}},o("slot",{key:"d9e1541cb044e209bc2dff14080f3b938a2b84ae"}))}get el(){return r(this)}static get watchers(){return{activated:[{activatedChanged:0}]}}};u.style=":host{margin-left:0;margin-right:0;margin-top:calc(100% + 10px);margin-bottom:calc(100% + 10px);display:none;position:absolute;top:0;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;min-width:56px;min-height:56px}:host(.fab-list-active){display:-ms-flexbox;display:flex}::slotted(.fab-button-in-list){margin-left:0;margin-right:0;margin-top:8px;margin-bottom:8px;width:40px;height:40px;-webkit-transform:scale(0);transform:scale(0);opacity:0;visibility:hidden}:host(.fab-list-side-top) ::slotted(.fab-button-in-list),:host(.fab-list-side-bottom) ::slotted(.fab-button-in-list){margin-left:0;margin-right:0;margin-top:5px;margin-bottom:5px}:host(.fab-list-side-start) ::slotted(.fab-button-in-list),:host(.fab-list-side-end) ::slotted(.fab-button-in-list){-webkit-margin-start:5px;margin-inline-start:5px;-webkit-margin-end:5px;margin-inline-end:5px;margin-top:0;margin-bottom:0}::slotted(.fab-button-in-list.fab-button-show){-webkit-transform:scale(1);transform:scale(1);opacity:1;visibility:visible}:host(.fab-list-side-top){top:auto;bottom:0;-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.fab-list-side-start){-webkit-margin-start:calc(100% + 10px);margin-inline-start:calc(100% + 10px);-webkit-margin-end:calc(100% + 10px);margin-inline-end:calc(100% + 10px);margin-top:0;margin-bottom:0;-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.fab-list-side-start){inset-inline-end:0}:host(.fab-list-side-end){-webkit-margin-start:calc(100% + 10px);margin-inline-start:calc(100% + 10px);-webkit-margin-end:calc(100% + 10px);margin-inline-end:calc(100% + 10px);margin-top:0;margin-bottom:0;-ms-flex-direction:row;flex-direction:row}:host(.fab-list-side-end){inset-inline-start:0}";export{h as ion_fab,p as ion_fab_button,u as ion_fab_list}
4
+ import{r as t,h as o,f as i,g as r,d as a,a as n}from"./p-BpRUsN_W.js";import{b as e}from"./p-SEecsUh7.js";import{k as s,i as c}from"./p-Co7eql8D.js";import{h as l,o as b,c as d}from"./p-byZM6qHV.js";import{t as f}from"./p-BvabGprD.js";import"./p-Dojwmvde.js";const h=class{constructor(o){t(this,o),this.edge=!1,this.activated=!1}activatedChanged(){const t=this.activated,o=this.getFab();o&&(o.activated=t),Array.from(this.el.querySelectorAll("ion-fab-list")).forEach((o=>{o.activated=t}))}componentDidLoad(){this.activated&&this.activatedChanged()}async close(){this.activated=!1}getFab(){return this.el.querySelector("ion-fab-button")}async toggle(){this.el.querySelector("ion-fab-list")&&(this.activated=!this.activated)}render(){const{horizontal:t,vertical:r,edge:a}=this,n=e(this);return o(i,{key:"8a310806d0e748d7ebb0ed3d9a2652038e0f2960",class:{[n]:!0,[`fab-horizontal-${t}`]:void 0!==t,[`fab-vertical-${r}`]:void 0!==r,"fab-edge":a}},o("slot",{key:"9394ef6d6e5b0410fa6ba212171f687fb178ce2d"}))}get el(){return r(this)}static get watchers(){return{activated:[{activatedChanged:0}]}}};h.style=":host{position:absolute;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;z-index:999}:host(.fab-horizontal-center){left:0px;right:0px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}:host(.fab-horizontal-start){left:calc(10px + var(--ion-safe-area-left, 0px));}:host-context([dir=rtl]):host(.fab-horizontal-start),:host-context([dir=rtl]).fab-horizontal-start{right:calc(10px + var(--ion-safe-area-right, 0px));left:unset}@supports selector(:dir(rtl)){:host(.fab-horizontal-start:dir(rtl)){right:calc(10px + var(--ion-safe-area-right, 0px));left:unset}}:host(.fab-horizontal-end){right:calc(10px + var(--ion-safe-area-right, 0px));}:host-context([dir=rtl]):host(.fab-horizontal-end),:host-context([dir=rtl]).fab-horizontal-end{left:calc(10px + var(--ion-safe-area-left, 0px));right:unset}@supports selector(:dir(rtl)){:host(.fab-horizontal-end:dir(rtl)){left:calc(10px + var(--ion-safe-area-left, 0px));right:unset}}:host(.fab-vertical-top){top:10px}:host(.fab-vertical-top.fab-edge){top:0}:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-button){margin-top:-50%}:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-button.fab-button-small){margin-top:calc((-100% + 16px) / 2)}:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-list.fab-list-side-start),:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-list.fab-list-side-end){margin-top:-50%}:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-list.fab-list-side-top),:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-list.fab-list-side-bottom){margin-top:calc(50% + 10px)}:host(.fab-vertical-bottom){bottom:10px}:host(.fab-vertical-bottom.fab-edge){bottom:0}:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-button){margin-bottom:-50%}:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-button.fab-button-small){margin-bottom:calc((-100% + 16px) / 2)}:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-list.fab-list-side-start),:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-list.fab-list-side-end){margin-bottom:-50%}:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-list.fab-list-side-top),:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-list.fab-list-side-bottom){margin-bottom:calc(50% + 10px)}:host(.fab-vertical-center){top:0px;bottom:0px;margin-top:auto;margin-bottom:auto}";const p=class{constructor(o){t(this,o),this.ionFocus=a(this,"ionFocus",7),this.ionBlur=a(this,"ionBlur",7),this.fab=null,this.formButtonEl=null,this.formEl=null,this.inheritedAttributes={},this.activated=!1,this.disabled=!1,this.routerDirection="forward",this.show=!1,this.translucent=!1,this.type="button",this.closeIcon=f,this.onFocus=()=>{this.ionFocus.emit()},this.onBlur=()=>{this.ionBlur.emit()},this.onClick=t=>{const{el:o,fab:i}=this;"button"!==this.type&&s(o)&&this.submitForm(t),i&&i.toggle()}}disabledChanged(){const{disabled:t}=this;this.formButtonEl&&(this.formButtonEl.disabled=t)}connectedCallback(){this.fab=this.el.closest("ion-fab")}renderHiddenButton(){const t=this.formEl=this.findForm();if(t){const{formButtonEl:o}=this;if(null!==o&&t.contains(o))return o.disabled=this.disabled,void(o.type=this.type);const i=this.formButtonEl=document.createElement("button");i.type=this.type,i.style.display="none",i.disabled=this.disabled,t.appendChild(i)}}findForm(){const{form:t}=this;if(t instanceof HTMLFormElement)return t;if("string"==typeof t){const o=document.getElementById(t);return o?o instanceof HTMLFormElement?o:(n(`[ion-fab-button] - Form with selector: "#${t}" could not be found. Verify that the id is attached to a <form> element.`,this.el),null):(n(`[ion-fab-button] - Form with selector: "#${t}" could not be found. Verify that the id is correct and the form is rendered in the DOM.`,this.el),null)}return void 0!==t?(n('[ion-fab-button] - The provided "form" element is invalid. Verify that the form is a HTMLFormElement and rendered in the DOM.',this.el),null):this.el.closest("form")}submitForm(t){this.formEl&&this.formButtonEl&&(t.preventDefault(),this.formButtonEl.click())}componentWillLoad(){this.inheritedAttributes=c(this.el)}render(){const{el:t,disabled:r,color:a,href:n,activated:s,show:c,translucent:f,size:h,inheritedAttributes:p,type:u}=this,g=l("ion-fab-list",t),v=e(this),m=void 0===n?"button":"a",k="button"===m?{type:u}:{download:this.download,href:n,rel:this.rel,target:this.target};return"button"!==u&&this.renderHiddenButton(),o(i,{key:"89e8f2564f12f8c1cd8509a40359202347948846",onClick:this.onClick,"aria-disabled":r?"true":null,class:d(a,{[v]:!0,"fab-button-in-list":g,"fab-button-translucent-in-list":g&&f,"fab-button-close-active":s,"fab-button-show":c,"fab-button-disabled":r,"fab-button-translucent":f,"ion-activatable":!0,"ion-focusable":!0,[`fab-button-${h}`]:void 0!==h})},o(m,{key:"9e2fd462316e1aec50f53fa1b7ad7f02fd399592",...k,class:"button-native",part:"native",disabled:r,onFocus:this.onFocus,onBlur:this.onBlur,onClick:t=>"button"===u&&b(n,t,this.routerDirection,this.routerAnimation),...p},o("ion-icon",{key:"c3bdb8614eb249297afc963810066658dc85efd6","aria-hidden":"true",icon:this.closeIcon,part:"close-icon",class:"close-icon",lazy:!1}),o("span",{key:"a6a505b24d21cc716d2e3351ad4c380b95c768d7",class:"button-inner"},o("slot",{key:"f44fc1e95533438ee3adc8cc5bdd9e1e85849fd6"})),"md"===v&&o("ion-ripple-effect",{key:"b7c7dc7fceb0bb5613239608225f040010b7b2bd"})))}get el(){return r(this)}static get watchers(){return{disabled:[{disabledChanged:0}]}}};p.style={ios:':host{--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--background-hover:var(--ion-color-primary-contrast, #fff);--background-hover-opacity:.08;--transition:background-color, opacity 100ms linear;--ripple-color:currentColor;--border-radius:50%;--border-width:0;--border-style:none;--border-color:initial;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:56px;height:56px;font-size:14px;text-align:center;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);-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%;-webkit-transform:var(--transform);transform:var(--transform);-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);background-clip:padding-box;color:var(--color);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);contain:strict;cursor:pointer;overflow:hidden;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(ion-icon){line-height:1}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}.button-inner{left:0;right:0;top:0;display:-ms-flexbox;display:flex;position:absolute;-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;height:100%;-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;z-index:1}:host(.fab-button-disabled){cursor:default;opacity:0.5;pointer-events:none}@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-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-activated) .button-native{color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}::slotted(ion-icon){line-height:1}:host(.fab-button-small){-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:8px;margin-bottom:8px;width:40px;height:40px}.close-icon{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;left:0;right:0;top:0;position:absolute;height:100%;-webkit-transform:scale(0.4) rotateZ(-45deg);transform:scale(0.4) rotateZ(-45deg);-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;font-size:var(--close-icon-font-size);opacity:0;z-index:1}:host(.fab-button-close-active) .close-icon{-webkit-transform:scale(1) rotateZ(0deg);transform:scale(1) rotateZ(0deg);opacity:1}:host(.fab-button-close-active) .button-inner{-webkit-transform:scale(0.4) rotateZ(45deg);transform:scale(0.4) rotateZ(45deg);opacity:0}ion-ripple-effect{color:var(--ripple-color)}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.fab-button-translucent) .button-native{-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter)}}:host(.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host{--background:var(--ion-color-primary, #0054e9);--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;--color:var(--ion-color-primary-contrast, #fff);--box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);--transition:0.2s transform cubic-bezier(0.25, 1.11, 0.78, 1.59);--close-icon-font-size:28px}:host(.ion-activated){--box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);--transform:scale(1.1);--transition:0.2s transform ease-out}::slotted(ion-icon){font-size:28px}:host(.fab-button-in-list){--background:var(--ion-color-light, #f4f5f8);--background-activated:var(--ion-color-light-shade, #d7d8da);--background-focused:var(--background-activated);--background-hover:var(--ion-color-light-tint, #f5f6f9);--color:var(--ion-color-light-contrast, #000);--color-activated:var(--ion-color-light-contrast, #000);--color-focused:var(--color-activated);--transition:transform 200ms ease 10ms, opacity 200ms ease 10ms}:host(.fab-button-in-list) ::slotted(ion-icon){font-size:18px}:host(.ion-color.ion-focused) .button-native::after{background:var(--ion-color-shade)}:host(.ion-color.ion-focused) .button-native,:host(.ion-color.ion-activated) .button-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .button-native::after,:host(.ion-color.ion-activated) .button-native::after{background:var(--ion-color-shade)}@media (any-hover: hover){:host(.ion-color:hover) .button-native{color:var(--ion-color-contrast)}:host(.ion-color:hover) .button-native::after{background:var(--ion-color-tint)}}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.fab-button-translucent){--background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.9);--background-hover:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.8);--background-focused:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.82);--backdrop-filter:saturate(180%) blur(20px)}:host(.fab-button-translucent-in-list){--background:rgba(var(--ion-color-light-rgb, 244, 245, 248), 0.9);--background-hover:rgba(var(--ion-color-light-rgb, 244, 245, 248), 0.8);--background-focused:rgba(var(--ion-color-light-rgb, 244, 245, 248), 0.82)}}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){@media (any-hover: hover){:host(.fab-button-translucent.ion-color:hover) .button-native{background:rgba(var(--ion-color-base-rgb), 0.8)}}:host(.ion-color.fab-button-translucent) .button-native{background:rgba(var(--ion-color-base-rgb), 0.9)}:host(.ion-color.ion-focused.fab-button-translucent) .button-native,:host(.ion-color.ion-activated.fab-button-translucent) .button-native{background:var(--ion-color-base)}}',md:':host{--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--background-hover:var(--ion-color-primary-contrast, #fff);--background-hover-opacity:.08;--transition:background-color, opacity 100ms linear;--ripple-color:currentColor;--border-radius:50%;--border-width:0;--border-style:none;--border-color:initial;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:56px;height:56px;font-size:14px;text-align:center;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);-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%;-webkit-transform:var(--transform);transform:var(--transform);-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);background-clip:padding-box;color:var(--color);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);contain:strict;cursor:pointer;overflow:hidden;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(ion-icon){line-height:1}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}.button-inner{left:0;right:0;top:0;display:-ms-flexbox;display:flex;position:absolute;-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;height:100%;-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;z-index:1}:host(.fab-button-disabled){cursor:default;opacity:0.5;pointer-events:none}@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-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-activated) .button-native{color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}::slotted(ion-icon){line-height:1}:host(.fab-button-small){-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:8px;margin-bottom:8px;width:40px;height:40px}.close-icon{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;left:0;right:0;top:0;position:absolute;height:100%;-webkit-transform:scale(0.4) rotateZ(-45deg);transform:scale(0.4) rotateZ(-45deg);-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;font-size:var(--close-icon-font-size);opacity:0;z-index:1}:host(.fab-button-close-active) .close-icon{-webkit-transform:scale(1) rotateZ(0deg);transform:scale(1) rotateZ(0deg);opacity:1}:host(.fab-button-close-active) .button-inner{-webkit-transform:scale(0.4) rotateZ(45deg);transform:scale(0.4) rotateZ(45deg);opacity:0}ion-ripple-effect{color:var(--ripple-color)}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.fab-button-translucent) .button-native{-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter)}}:host(.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host{--background:var(--ion-color-primary, #0054e9);--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor;--background-activated-opacity:0;--background-focused-opacity:.24;--background-hover-opacity:.08;--color:var(--ion-color-primary-contrast, #fff);--box-shadow:0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12);--transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), background-color 280ms cubic-bezier(0.4, 0, 0.2, 1), color 280ms cubic-bezier(0.4, 0, 0.2, 1), opacity 15ms linear 30ms, transform 270ms cubic-bezier(0, 0, 0.2, 1) 0ms;--close-icon-font-size:24px}:host(.ion-activated){--box-shadow:0 7px 8px -4px rgba(0, 0, 0, 0.2), 0 12px 17px 2px rgba(0, 0, 0, 0.14), 0 5px 22px 4px rgba(0, 0, 0, 0.12)}::slotted(ion-icon){font-size:24px}:host(.fab-button-in-list){--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);--color-activated:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);--color-focused:var(--color-activated);--background:var(--ion-color-light, #f4f5f8);--background-activated:transparent;--background-focused:var(--ion-color-light-shade, #d7d8da);--background-hover:var(--ion-color-light-tint, #f5f6f9)}:host(.fab-button-in-list) ::slotted(ion-icon){font-size:18px}:host(.ion-color.ion-focused) .button-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .button-native::after{background:var(--ion-color-contrast)}:host(.ion-color.ion-activated) .button-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-activated) .button-native::after{background:transparent}@media (any-hover: hover){:host(.ion-color:hover) .button-native{color:var(--ion-color-contrast)}:host(.ion-color:hover) .button-native::after{background:var(--ion-color-contrast)}}'};const u=class{constructor(o){t(this,o),this.activateTimeouts=[],this.activated=!1,this.side="bottom"}activatedChanged(t){this.activateTimeouts.forEach(clearTimeout),this.activateTimeouts=[];const o=Array.from(this.el.querySelectorAll("ion-fab-button")),i=t?30:0;o.forEach(((o,r)=>{this.activateTimeouts.push(setTimeout((()=>o.show=t),r*i))}))}disconnectedCallback(){this.activateTimeouts.forEach(clearTimeout),this.activateTimeouts=[]}render(){const t=e(this);return o(i,{key:"03a8920c29a93c6df4bab14753a78a8a30722ce8",class:{[t]:!0,"fab-list-active":this.activated,[`fab-list-side-${this.side}`]:!0}},o("slot",{key:"d9e1541cb044e209bc2dff14080f3b938a2b84ae"}))}get el(){return r(this)}static get watchers(){return{activated:[{activatedChanged:0}]}}};u.style=":host{margin-left:0;margin-right:0;margin-top:calc(100% + 10px);margin-bottom:calc(100% + 10px);display:none;position:absolute;top:0;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;min-width:56px;min-height:56px}:host(.fab-list-active){display:-ms-flexbox;display:flex}::slotted(.fab-button-in-list){margin-left:0;margin-right:0;margin-top:8px;margin-bottom:8px;width:40px;height:40px;-webkit-transform:scale(0);transform:scale(0);opacity:0;visibility:hidden}:host(.fab-list-side-top) ::slotted(.fab-button-in-list),:host(.fab-list-side-bottom) ::slotted(.fab-button-in-list){margin-left:0;margin-right:0;margin-top:5px;margin-bottom:5px}:host(.fab-list-side-start) ::slotted(.fab-button-in-list),:host(.fab-list-side-end) ::slotted(.fab-button-in-list){-webkit-margin-start:5px;margin-inline-start:5px;-webkit-margin-end:5px;margin-inline-end:5px;margin-top:0;margin-bottom:0}::slotted(.fab-button-in-list.fab-button-show){-webkit-transform:scale(1);transform:scale(1);opacity:1;visibility:visible}:host(.fab-list-side-top){top:auto;bottom:0;-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.fab-list-side-start){-webkit-margin-start:calc(100% + 10px);margin-inline-start:calc(100% + 10px);-webkit-margin-end:calc(100% + 10px);margin-inline-end:calc(100% + 10px);margin-top:0;margin-bottom:0;-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.fab-list-side-start){inset-inline-end:0}:host(.fab-list-side-end){-webkit-margin-start:calc(100% + 10px);margin-inline-start:calc(100% + 10px);-webkit-margin-end:calc(100% + 10px);margin-inline-end:calc(100% + 10px);margin-top:0;margin-bottom:0;-ms-flex-direction:row;flex-direction:row}:host(.fab-list-side-end){inset-inline-start:0}";export{h as ion_fab,p as ion_fab_button,u as ion_fab_list}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import{a as t,r as o,d as a,i,c as e,h as s,f as n,g as r}from"./p-BpRUsN_W.js";import{E as d}from"./p-DWCzVL3Y.js";import{w as l,g as p,r as c}from"./p-Co7eql8D.js";import{c as h}from"./p-B-hirT0v.js";import{O as m,c as b,d as u,i as g,h as f,k as x,e as w,f as v,g as y,s as k,G as $}from"./p-C1WYZOZj.js";import{s as D}from"./p-DxftXYZp.js";import{c as T,g as Y}from"./p-byZM6qHV.js";import{b as j}from"./p-SEecsUh7.js";import{c as z}from"./p-7l6ENjIV.js";import{createGesture as C}from"./p-D0YpjgON.js";import"./p-Dojwmvde.js";import"./p-nCAPr1Ah.js";import"./p-B_gJaBk0.js";const M=(t,o)=>Math.floor(t/2-o/2),E=(t,o)=>{const a=z(),i=z(),{position:e,top:s,bottom:n}=o,r=p(t).querySelector(".toast-wrapper");switch(i.addElement(r),e){case"top":i.fromTo("transform","translateY(-100%)",`translateY(${s})`);break;case"middle":const o=M(t.clientHeight,r.clientHeight);r.style.top=`${o}px`,i.fromTo("opacity",.01,1);break;default:i.fromTo("transform","translateY(100%)",`translateY(${n})`)}return a.easing("cubic-bezier(.155,1.105,.295,1.12)").duration(400).addAnimation(i)},W=(t,o)=>{const a=z(),i=z(),{position:e,top:s,bottom:n}=o,r=p(t).querySelector(".toast-wrapper");switch(i.addElement(r),e){case"top":i.fromTo("transform",`translateY(${s})`,"translateY(-100%)");break;case"middle":i.fromTo("opacity",.99,0);break;default:i.fromTo("transform",`translateY(${n})`,"translateY(100%)")}return a.easing("cubic-bezier(.36,.66,.04,1)").duration(300).addAnimation(i)},H=(t,o)=>{const a=z(),i=z(),{position:e,top:s,bottom:n}=o,r=p(t).querySelector(".toast-wrapper");switch(i.addElement(r),e){case"top":r.style.setProperty("transform",`translateY(${s})`),i.fromTo("opacity",.01,1);break;case"middle":const o=M(t.clientHeight,r.clientHeight);r.style.top=`${o}px`,i.fromTo("opacity",.01,1);break;default:r.style.setProperty("transform",`translateY(${n})`),i.fromTo("opacity",.01,1)}return a.easing("cubic-bezier(.36,.66,.04,1)").duration(400).addAnimation(i)},P=t=>{const o=z(),a=z(),i=p(t).querySelector(".toast-wrapper");return a.addElement(i).fromTo("opacity",.99,0),o.easing("cubic-bezier(.36,.66,.04,1)").duration(300).addAnimation(a)},A=class{constructor(t){o(this,t),this.didPresent=a(this,"ionToastDidPresent",7),this.willPresent=a(this,"ionToastWillPresent",7),this.willDismiss=a(this,"ionToastWillDismiss",7),this.didDismiss=a(this,"ionToastDidDismiss",7),this.didPresentShorthand=a(this,"didPresent",7),this.willPresentShorthand=a(this,"willPresent",7),this.willDismissShorthand=a(this,"willDismiss",7),this.didDismissShorthand=a(this,"didDismiss",7),this.delegateController=b(this),this.lockController=h(),this.triggerController=u(),this.customHTMLEnabled=i.get("innerHTMLTemplatesEnabled",d),this.presented=!1,this.revealContentToScreenReader=!1,this.hasController=!1,this.duration=i.getNumber("toastDuration",0),this.layout="baseline",this.keyboardClose=!1,this.position="bottom",this.translucent=!1,this.animated=!0,this.isOpen=!1,this.dispatchCancelHandler=t=>{if(g(t.detail.role)){const t=this.getButtons().find((t=>"cancel"===t.role));this.callButtonHandler(t)}},this.createSwipeGesture=t=>{const o=this.gesture=((t,o,a)=>{const i=p(t).querySelector(".toast-wrapper"),e=t.clientHeight,s=i.getBoundingClientRect();let n=0;const r="middle"===t.position?.5:0,d="top"===t.position?-1:1,l=M(e,s.height),c=[{offset:0,transform:`translateY(-${l+s.height}px)`},{offset:.5,transform:"translateY(0px)"},{offset:1,transform:`translateY(${l+s.height}px)`}],h=z("toast-swipe-to-dismiss-animation").addElement(i).duration(100);switch(t.position){case"middle":n=e+s.height,h.keyframes(c),h.progressStart(!0,.5);break;case"top":n=s.bottom,h.keyframes([{offset:0,transform:`translateY(${o.top})`},{offset:1,transform:"translateY(-100%)"}]),h.progressStart(!0,0);break;default:n=e-s.top,h.keyframes([{offset:0,transform:`translateY(${o.bottom})`},{offset:1,transform:"translateY(100%)"}]),h.progressStart(!0,0)}const b=t=>t*d/n,u=C({el:i,gestureName:"toast-swipe-to-dismiss",gesturePriority:m,direction:"y",onMove:t=>{const o=r+b(t.deltaY);h.progressStep(o)},onEnd:o=>{const e=o.velocityY,s=(o.deltaY+1e3*e)/n*d;u.enable(!1);let r=!0,p=1,m=0,g=0;if("middle"===t.position){r=s>=.25||s<=-.25,p=1,m=0;const t=i.getBoundingClientRect(),a=t.top-l,e=(l+t.height)*(o.deltaY<=0?-1:1);h.keyframes([{offset:0,transform:`translateY(${a}px)`},{offset:1,transform:`translateY(${r?`${e}px`:"0px"})`}]),g=e-a}else r=s>=.5,p=r?1:0,m=b(o.deltaY),g=(r?1-m:m)*n;const f=Math.min(Math.abs(g)/Math.abs(e),200);h.onFinish((()=>{r?(a(),h.destroy()):("middle"===t.position?h.keyframes(c).progressStart(!0,.5):h.progressStart(!0,0),u.enable(!0))}),{oneTimeCallback:!0}).progressEnd(p,m,f)}});return u})(this.el,t,(()=>{this.dismiss(void 0,$)}));o.enable(!0)},this.destroySwipeGesture=()=>{const{gesture:t}=this;void 0!==t&&(t.destroy(),this.gesture=void 0)},this.prefersSwipeGesture=()=>{const{swipeGesture:t}=this;return"vertical"===t}}swipeGestureChanged(){this.destroySwipeGesture(),this.presented&&this.prefersSwipeGesture()&&this.createSwipeGesture(this.lastPresentedPosition)}onIsOpenChange(t,o){!0===t&&!1===o?this.present():!1===t&&!0===o&&this.dismiss()}triggerChanged(){const{trigger:t,el:o,triggerController:a}=this;t&&a.addClickListener(o,t)}connectedCallback(){f(this.el),this.triggerChanged()}disconnectedCallback(){this.triggerController.removeClickListener()}componentWillLoad(){this.htmlAttributes?.id||x(this.el)}componentDidLoad(){!0===this.isOpen&&c((()=>this.present())),this.triggerChanged()}async present(){const o=await this.lockController.lock();await this.delegateController.attachViewToDom();const{el:a,position:i}=this,e=function(o,a,i,e){let s;if(s="md"===i?"top"===o?8:-8:"top"===o?10:-10,a&&l){!function(o,a){null===o.offsetParent&&t("[ion-toast] - The positionAnchor element for ion-toast was found in the DOM, but appears to be hidden. This may lead to unexpected positioning of the toast.",a)}(a,e);const i=a.getBoundingClientRect();return"top"===o?s+=i.bottom:"bottom"===o&&(s-=l.innerHeight-i.top),{top:`${s}px`,bottom:`${s}px`}}return{top:`calc(${s}px + var(--ion-safe-area-top, 0px))`,bottom:`calc(${s}px - var(--ion-safe-area-bottom, 0px))`}}(i,this.getAnchorElement(),j(this),a);this.lastPresentedPosition=e,await w(this,"toastEnter",E,H,{position:i,top:e.top,bottom:e.bottom}),this.revealContentToScreenReader=!0,this.duration>0&&(this.durationTimeout=setTimeout((()=>this.dismiss(void 0,"timeout")),this.duration)),this.prefersSwipeGesture()&&this.createSwipeGesture(e),o()}async dismiss(t,o){const a=await this.lockController.lock(),{durationTimeout:i,position:e,lastPresentedPosition:s}=this;i&&clearTimeout(i);const n=await v(this,t,o,"toastLeave",W,P,{position:e,top:s?.top??"",bottom:s?.bottom??""});return n&&(this.delegateController.removeViewFromDom(),this.revealContentToScreenReader=!1),this.lastPresentedPosition=void 0,this.destroySwipeGesture(),a(),n}onDidDismiss(){return y(this.el,"ionToastDidDismiss")}onWillDismiss(){return y(this.el,"ionToastWillDismiss")}getButtons(){return this.buttons?this.buttons.map((t=>"string"==typeof t?{text:t}:t)):[]}getAnchorElement(){const{position:o,positionAnchor:a,el:i}=this;if(void 0!==a)if("middle"!==o||void 0===a){if("string"==typeof a){const o=document.getElementById(a);return null===o?void t(`[ion-toast] - An anchor element with an ID of "${a}" was not found in the DOM.`,i):o}if(a instanceof HTMLElement)return a;t("[ion-toast] - Invalid positionAnchor value:",a,i)}else t('[ion-toast] - The positionAnchor property is ignored when using position="middle".',this.el)}async buttonClick(t){const o=t.role;return g(o)||await this.callButtonHandler(t)?this.dismiss(void 0,o):Promise.resolve()}async callButtonHandler(t){if(t?.handler)try{if(!1===await k(t.handler))return!1}catch(t){e("[ion-toast] - Exception in callButtonHandler:",t)}return!0}renderButtons(t,o){if(0===t.length)return;const a=j(this);return s("div",{class:{"toast-button-group":!0,[`toast-button-group-${o}`]:!0}},t.map((t=>s("button",{...t.htmlAttributes,type:"button",class:B(t),tabIndex:0,onClick:()=>this.buttonClick(t),part:I(t)},s("div",{class:"toast-button-inner"},t.icon&&s("ion-icon",{"aria-hidden":"true",icon:t.icon,slot:void 0===t.text?"icon-only":void 0,class:"toast-button-icon"}),t.text),"md"===a&&s("ion-ripple-effect",{type:void 0!==t.icon&&void 0===t.text?"unbounded":"bounded"})))))}renderToastMessage(t,o=null){const{customHTMLEnabled:a,message:i}=this;return a?s("div",{key:t,"aria-hidden":o,class:"toast-message",part:"message",innerHTML:D(i)}):s("div",{key:t,"aria-hidden":o,class:"toast-message",part:"message"},i)}renderHeader(t,o=null){return s("div",{key:t,class:"toast-header","aria-hidden":o,part:"header"},this.header)}render(){const{layout:o,el:a,revealContentToScreenReader:i,header:e,message:r}=this,d=this.getButtons(),l=d.filter((t=>"start"===t.side)),p=d.filter((t=>"start"!==t.side)),c=j(this),h={"toast-wrapper":!0,[`toast-${this.position}`]:!0,[`toast-layout-${o}`]:!0};return"stacked"===o&&l.length>0&&p.length>0&&t("[ion-toast] - This toast is using start and end buttons with the stacked toast layout. We recommend following the best practice of using either start or end buttons with the stacked toast layout.",a),s(n,{key:"15d2ff8b689e40bb5cae3e304448dadf91b11b88",tabindex:"-1",...this.htmlAttributes,style:{zIndex:`${6e4+this.overlayIndex}`},class:T(this.color,{[c]:!0,...Y(this.cssClass),"overlay-hidden":!0,"toast-translucent":this.translucent}),onIonToastWillDismiss:this.dispatchCancelHandler},s("div",{key:"d26cc17a59e3d81810e22ee422398f2cc4c7a05c",class:h,part:"wrapper"},s("div",{key:"f15e1a97f13defcbf96612df4c7ba45999e6244d",class:"toast-container",part:"container"},this.renderButtons(l,"start"),void 0!==this.icon&&s("ion-icon",{key:"639cacec828f969673071e54dc68284050e9f2fd",class:"toast-icon",part:"icon",icon:this.icon,lazy:!1,"aria-hidden":"true"}),s("div",{key:"a07e68cf68e4c507e4515de1a4b43dd8fb3541d3",class:"toast-content",part:"content",role:"status","aria-atomic":"true","aria-live":"polite"},!i&&void 0!==e&&this.renderHeader("oldHeader","true"),!i&&void 0!==r&&this.renderToastMessage("oldMessage","true"),i&&void 0!==e&&this.renderHeader("header"),i&&void 0!==r&&this.renderToastMessage("header")),this.renderButtons(p,"end"))))}get el(){return r(this)}static get watchers(){return{swipeGesture:[{swipeGestureChanged:0}],isOpen:[{onIsOpenChange:0}],trigger:[{triggerChanged:0}]}}},B=t=>({"toast-button":!0,"toast-button-icon-only":void 0!==t.icon&&void 0===t.text,[`toast-button-${t.role}`]:void 0!==t.role,"ion-focusable":!0,"ion-activatable":!0}),I=t=>g(t.role)?"button cancel":"button";A.style={ios:":host{--border-width:0;--border-style:none;--border-color:initial;--box-shadow:none;--min-width:auto;--width:auto;--min-height:auto;--height:auto;--max-height:auto;--white-space:normal;top:0;display:block;position:absolute;width:100%;height:100%;outline:none;color:var(--color);font-family:var(--ion-font-family, inherit);contain:strict;z-index:1001;pointer-events:none}:host{inset-inline-start:0}:host(.overlay-hidden){display:none}:host(.ion-color){--button-color:inherit;color:var(--ion-color-contrast)}:host(.ion-color) .toast-button-cancel{color:inherit}:host(.ion-color) .toast-wrapper{background:var(--ion-color-base)}.toast-wrapper{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);pointer-events:auto}.toast-wrapper{inset-inline-start:var(--start);inset-inline-end:var(--end)}.toast-wrapper.toast-top{-webkit-transform:translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0);top:0}.toast-wrapper.toast-bottom{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);bottom:0}.toast-container{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;height:inherit;min-height:inherit;max-height:inherit;contain:content}.toast-layout-stacked .toast-container{-ms-flex-wrap:wrap;flex-wrap:wrap}.toast-layout-baseline .toast-content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center}.toast-icon{-webkit-margin-start:16px;margin-inline-start:16px}.toast-content{-ms-flex:1;flex:1;min-width:0}.toast-message{-ms-flex:1;flex:1;white-space:var(--white-space)}.toast-button-group{display:-ms-flexbox;display:flex}.toast-layout-stacked .toast-button-group{-ms-flex-pack:end;justify-content:end;width:100%}.toast-button{border:0;outline:none;color:var(--button-color);z-index:0}.toast-icon,.toast-button-icon{font-size:1.4em}.toast-button-inner{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}@media (any-hover: hover){.toast-button:hover{cursor:pointer}}:host{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--border-radius:14px;--button-color:var(--ion-color-primary, #0054e9);--color:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));--max-width:700px;--max-height:478px;--start:10px;--end:10px;font-size:clamp(14px, 0.875rem, 43.4px)}.toast-wrapper{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:auto;margin-bottom:auto;display:block;position:absolute;z-index:10}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.toast-translucent) .toast-wrapper{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}:host(.ion-color.toast-translucent) .toast-wrapper{background:rgba(var(--ion-color-base-rgb), 0.8)}}.toast-wrapper.toast-middle{opacity:0.01}.toast-content{-webkit-padding-start:15px;padding-inline-start:15px;-webkit-padding-end:15px;padding-inline-end:15px;padding-top:15px;padding-bottom:15px}.toast-header{margin-bottom:2px;font-weight:500}.toast-button{-webkit-padding-start:15px;padding-inline-start:15px;-webkit-padding-end:15px;padding-inline-end:15px;padding-top:10px;padding-bottom:10px;min-height:44px;-webkit-transition:background-color, opacity 100ms linear;transition:background-color, opacity 100ms linear;border:0;background-color:transparent;font-family:var(--ion-font-family);font-size:clamp(17px, 1.0625rem, 21.998px);font-weight:500;overflow:hidden}.toast-button.ion-activated{opacity:0.4}@media (any-hover: hover){.toast-button:hover{opacity:0.6}}",md:":host{--border-width:0;--border-style:none;--border-color:initial;--box-shadow:none;--min-width:auto;--width:auto;--min-height:auto;--height:auto;--max-height:auto;--white-space:normal;top:0;display:block;position:absolute;width:100%;height:100%;outline:none;color:var(--color);font-family:var(--ion-font-family, inherit);contain:strict;z-index:1001;pointer-events:none}:host{inset-inline-start:0}:host(.overlay-hidden){display:none}:host(.ion-color){--button-color:inherit;color:var(--ion-color-contrast)}:host(.ion-color) .toast-button-cancel{color:inherit}:host(.ion-color) .toast-wrapper{background:var(--ion-color-base)}.toast-wrapper{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);pointer-events:auto}.toast-wrapper{inset-inline-start:var(--start);inset-inline-end:var(--end)}.toast-wrapper.toast-top{-webkit-transform:translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0);top:0}.toast-wrapper.toast-bottom{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);bottom:0}.toast-container{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;height:inherit;min-height:inherit;max-height:inherit;contain:content}.toast-layout-stacked .toast-container{-ms-flex-wrap:wrap;flex-wrap:wrap}.toast-layout-baseline .toast-content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center}.toast-icon{-webkit-margin-start:16px;margin-inline-start:16px}.toast-content{-ms-flex:1;flex:1;min-width:0}.toast-message{-ms-flex:1;flex:1;white-space:var(--white-space)}.toast-button-group{display:-ms-flexbox;display:flex}.toast-layout-stacked .toast-button-group{-ms-flex-pack:end;justify-content:end;width:100%}.toast-button{border:0;outline:none;color:var(--button-color);z-index:0}.toast-icon,.toast-button-icon{font-size:1.4em}.toast-button-inner{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}@media (any-hover: hover){.toast-button:hover{cursor:pointer}}:host{--background:var(--ion-color-step-800, var(--ion-background-color-step-800, #333333));--border-radius:4px;--box-shadow:0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12);--button-color:var(--ion-color-primary, #0054e9);--color:var(--ion-color-step-50, var(--ion-text-color-step-950, #f2f2f2));--max-width:700px;--start:8px;--end:8px;font-size:0.875rem}.toast-wrapper{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:auto;margin-bottom:auto;display:block;position:absolute;opacity:0.01;z-index:10}.toast-content{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:14px;padding-bottom:14px}.toast-header{margin-bottom:2px;font-weight:500;line-height:1.25rem}.toast-message{line-height:1.25rem}.toast-layout-baseline .toast-button-group-start{-webkit-margin-start:8px;margin-inline-start:8px}.toast-layout-stacked .toast-button-group-start{-webkit-margin-end:8px;margin-inline-end:8px;margin-top:8px}.toast-layout-baseline .toast-button-group-end{-webkit-margin-end:8px;margin-inline-end:8px}.toast-layout-stacked .toast-button-group-end{-webkit-margin-end:8px;margin-inline-end:8px;margin-bottom:8px}.toast-button{-webkit-padding-start:15px;padding-inline-start:15px;-webkit-padding-end:15px;padding-inline-end:15px;padding-top:10px;padding-bottom:10px;position:relative;background-color:transparent;font-family:var(--ion-font-family);font-size:0.875rem;font-weight:500;letter-spacing:0.84px;text-transform:uppercase;overflow:hidden}.toast-button-cancel{color:var(--ion-color-step-100, var(--ion-text-color-step-900, #e6e6e6))}.toast-button-icon-only{border-radius:50%;-webkit-padding-start:9px;padding-inline-start:9px;-webkit-padding-end:9px;padding-inline-end:9px;padding-top:9px;padding-bottom:9px;width:36px;height:36px}@media (any-hover: hover){.toast-button:hover{background-color:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.08)}.toast-button-cancel:hover{background-color:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.08)}}"};export{A as ion_toast}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import{c as e}from"./p-CFuOr1Tu.js";const t=async(t,o,r,n,i,s)=>{if(t)return t.attachViewToDom(o,r,i,n);if(!(s||"string"==typeof r||r instanceof HTMLElement))throw new Error("framework delegate is missing");const a="string"==typeof r?o.ownerDocument?.createElement(r):r;return n&&n.forEach((e=>a.classList.add(e))),i&&Object.assign(a,i),o.appendChild(a),await new Promise((t=>e(a,t))),a},o=(e,t)=>{if(t){if(e)return e.removeViewFromDom(t.parentElement,t);t.remove()}return Promise.resolve()},r=()=>{let t,o;return{attachViewToDom:async(r,n,i={},s=[])=>{let a;if(t=r,n){const o="string"==typeof n?t.ownerDocument?.createElement(n):n;s.forEach((e=>o.classList.add(e))),Object.assign(o,i),t.appendChild(o),a=o,await new Promise((t=>e(o,t)))}else if(t.children.length>0&&("ION-MODAL"===t.tagName||"ION-POPOVER"===t.tagName)&&!(a=t.children[0]).classList.contains("ion-delegate-host")){const e=t.ownerDocument?.createElement("div");e.classList.add("ion-delegate-host"),s.forEach((t=>e.classList.add(t))),e.append(...t.children),t.appendChild(e),a=e}const c=document.querySelector("ion-app")||document.body;return o=document.createComment("ionic teleport"),t.parentNode.insertBefore(o,t),c.appendChild(t),a??t},removeViewFromDom:()=>(t&&o&&(o.parentNode.insertBefore(t,o),o.remove()),Promise.resolve())}};export{r as C,t as a,o as d}
4
+ import{c as e}from"./p-Co7eql8D.js";const t=async(t,o,r,n,i,s)=>{if(t)return t.attachViewToDom(o,r,i,n);if(!(s||"string"==typeof r||r instanceof HTMLElement))throw new Error("framework delegate is missing");const a="string"==typeof r?o.ownerDocument?.createElement(r):r;return n&&n.forEach((e=>a.classList.add(e))),i&&Object.assign(a,i),o.appendChild(a),await new Promise((t=>e(a,t))),a},o=(e,t)=>{if(t){if(e)return e.removeViewFromDom(t.parentElement,t);t.remove()}return Promise.resolve()},r=()=>{let t,o;return{attachViewToDom:async(r,n,i={},s=[])=>{let a;if(t=r,n){const o="string"==typeof n?t.ownerDocument?.createElement(n):n;s.forEach((e=>o.classList.add(e))),Object.assign(o,i),t.appendChild(o),a=o,await new Promise((t=>e(o,t)))}else if(t.children.length>0&&("ION-MODAL"===t.tagName||"ION-POPOVER"===t.tagName)&&!(a=t.children[0]).classList.contains("ion-delegate-host")){const e=t.ownerDocument?.createElement("div");e.classList.add("ion-delegate-host"),s.forEach((t=>e.classList.add(t))),e.append(...t.children),t.appendChild(e),a=e}const c=document.querySelector("ion-app")||document.body;return o=document.createComment("ionic teleport"),t.parentNode.insertBefore(o,t),c.appendChild(t),a??t},removeViewFromDom:()=>(t&&o&&(o.parentNode.insertBefore(t,o),o.remove()),Promise.resolve())}};export{r as C,t as a,o as d}
@@ -18,7 +18,7 @@ export declare class Button implements ComponentInterface, AnchorInterface, Butt
18
18
  private inToolbar;
19
19
  private formButtonEl;
20
20
  private formEl;
21
- private inheritedAttributes;
21
+ private ariaController?;
22
22
  el: HTMLElement;
23
23
  /**
24
24
  * If `true`, the button only has an icon.
@@ -115,17 +115,6 @@ export declare class Button implements ComponentInterface, AnchorInterface, Butt
115
115
  * Emitted when the button loses focus.
116
116
  */
117
117
  ionBlur: EventEmitter<void>;
118
- /**
119
- * This component is used within the `ion-input-password-toggle` component
120
- * to toggle the visibility of the password input.
121
- * These attributes need to update based on the state of the password input.
122
- * Otherwise, the values will be stale.
123
- *
124
- * @param newValue
125
- * @param _oldValue
126
- * @param propName
127
- */
128
- onAriaChanged(newValue: string, _oldValue: string, propName: string): void;
129
118
  /**
130
119
  * This is responsible for rendering a hidden native
131
120
  * button element inside the associated form. This allows
@@ -137,6 +126,8 @@ export declare class Button implements ComponentInterface, AnchorInterface, Butt
137
126
  */
138
127
  private renderHiddenButton;
139
128
  componentWillLoad(): void;
129
+ connectedCallback(): void;
130
+ disconnectedCallback(): void;
140
131
  private get hasIconOnly();
141
132
  private get rippleType();
142
133
  /**
@@ -8,7 +8,7 @@ import type { RouterDirection } from '../router/utils/interface';
8
8
  * @part native - The native HTML button, anchor, or div element that wraps all child elements.
9
9
  */
10
10
  export declare class Card implements ComponentInterface, AnchorInterface, ButtonInterface {
11
- private inheritedAriaAttributes;
11
+ private ariaController?;
12
12
  el: HTMLElement;
13
13
  /**
14
14
  * The color to use from your application's color palette.
@@ -62,6 +62,8 @@ export declare class Card implements ComponentInterface, AnchorInterface, Button
62
62
  */
63
63
  target: string | undefined;
64
64
  componentWillLoad(): void;
65
+ connectedCallback(): void;
66
+ disconnectedCallback(): void;
65
67
  private isClickable;
66
68
  private renderCard;
67
69
  render(): any;
@@ -25,6 +25,10 @@ export declare class Content implements ComponentInterface {
25
25
  private tabsLoadCallback?;
26
26
  private detail;
27
27
  el: HTMLIonContentElement;
28
+ /**
29
+ * Whether the host is sized to its content.
30
+ */
31
+ sizeToContent: boolean;
28
32
  /**
29
33
  * The color to use from your application's color palette.
30
34
  * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
@@ -92,6 +96,12 @@ export declare class Content implements ComponentInterface {
92
96
  * the host's own height, which would feed back into the observer.
93
97
  */
94
98
  private setupFullscreenResizeObserver;
99
+ /**
100
+ * Picks up an overlay that is no longer sized the way the last render
101
+ * assumed, re-rendering only when the answer changes. Read in a `readTask`
102
+ * because resolving the custom property forces a style recalculation.
103
+ */
104
+ private updateSizeToContent;
95
105
  private destroyFullscreenResizeObserver;
96
106
  /**
97
107
  * Rotating certain devices can update
@@ -112,11 +122,26 @@ export declare class Content implements ComponentInterface {
112
122
  */
113
123
  onResize(): void;
114
124
  private shouldForceOverscroll;
125
+ /**
126
+ * Reads whether to size the component to its content height. Forces a style
127
+ * recalculation, so it belongs in a read task or before the first render.
128
+ *
129
+ * This applies inside popovers and modals with a content-based `--height`,
130
+ * where the overlay does not provide the content with a definite height
131
+ * to fill.
132
+ *
133
+ * Only `--height` is consulted. Styling the wrapper directly, such as
134
+ * `ion-modal::part(content) { height: fit-content; }`, does not change
135
+ * `--height` and therefore cannot be observed. `--height` is the only
136
+ * supported way to opt into content-based sizing.
137
+ */
138
+ private readSizeToContent;
115
139
  private resize;
116
140
  /**
117
- * Recalculate content dimensions. Called by overlays (e.g., popover) when
118
- * sibling elements like headers or footers have finished rendering and their
119
- * heights are available, ensuring accurate offset-top calculations.
141
+ * Recalculates the content dimensions and whether it should size itself to
142
+ * its content. Called by overlays when something they own changes, such as
143
+ * a header finishing its render or `--height` being updated.
144
+ *
120
145
  * @internal
121
146
  */
122
147
  recalculateDimensions(): Promise<void>;
@@ -53,16 +53,6 @@ export declare class Datetime implements ComponentInterface {
53
53
  private todayParts;
54
54
  private defaultParts;
55
55
  private loadTimeout;
56
- /**
57
- * Set true only by `visibleCallback`. Lets `hiddenCallback` ignore the
58
- * synthetic "not intersecting" entry IntersectionObserver fires on
59
- * `observe()` when the host mounts offscreen.
60
- *
61
- * Don't reset this in `disconnectedCallback`. Overlays disconnect and
62
- * reconnect the host without re-creating the observers, so a reset there
63
- * makes `hiddenCallback` miss the dismissal.
64
- */
65
- private hasBeenIntersecting;
66
56
  private prevPresentation;
67
57
  private resolveForceDateScrolling?;
68
58
  showMonthAndYear: boolean;
@@ -426,6 +416,11 @@ export declare class Datetime implements ComponentInterface {
426
416
  * synthetic tests that stub IntersectionObserver.
427
417
  */
428
418
  private ensureReadyIfVisible;
419
+ /**
420
+ * Whether the datetime is on screen. A modal or popover hides its contents
421
+ * with `display: none`, which leaves the host without a layout box.
422
+ */
423
+ private hasLayoutBox;
429
424
  private markReady;
430
425
  private loadTimeoutCleanup;
431
426
  componentDidLoad(): void;
@@ -21,6 +21,7 @@ export declare class Input implements ComponentInterface {
21
21
  private notchSpacerEl;
22
22
  private startContainerController?;
23
23
  private startContainerEl;
24
+ private clickController?;
24
25
  private originalIonInput?;
25
26
  /**
26
27
  * `true` if the input was cleared as a result of the user typing
@@ -18,6 +18,11 @@ export declare class InputOTP implements ComponentInterface {
18
18
  * focus behavior when an input box is focused.
19
19
  */
20
20
  private isKeyboardNavigation;
21
+ /**
22
+ * The `length` watcher runs before new inputs render, so
23
+ * `componentDidRender` updates their tab indexes instead.
24
+ */
25
+ private updateTabIndexesAfterRender;
21
26
  el: HTMLIonInputOtpElement;
22
27
  private inputValues;
23
28
  hasFocus: boolean;
@@ -137,6 +142,7 @@ export declare class InputOTP implements ComponentInterface {
137
142
  */
138
143
  setFocus(index?: number): Promise<void>;
139
144
  valueChanged(): void;
145
+ lengthChanged(): void;
140
146
  /**
141
147
  * Processes the separators prop into an array of numbers.
142
148
  *
@@ -150,6 +156,7 @@ export declare class InputOTP implements ComponentInterface {
150
156
  private processSeparators;
151
157
  componentWillLoad(): void;
152
158
  componentDidLoad(): void;
159
+ componentDidRender(): void;
153
160
  /**
154
161
  * Get the regex pattern for allowed characters.
155
162
  * If a pattern is provided, use it to create a regex pattern
@@ -17,9 +17,9 @@ import type { RouterDirection } from '../router/utils/interface';
17
17
  export declare class Item implements ComponentInterface, AnchorInterface, ButtonInterface {
18
18
  private labelColorStyles;
19
19
  private itemStyles;
20
- private inheritedAriaAttributes;
21
20
  private indicatorControlObserver?;
22
21
  private didLoad;
22
+ private ariaController?;
23
23
  el: HTMLIonItemElement;
24
24
  multipleInputs: boolean;
25
25
  focusable: boolean;
@@ -41,6 +41,7 @@ export declare class Modal implements ComponentInterface, OverlayInterface {
41
41
  private viewTransitionAnimation?;
42
42
  private resizeTimeout?;
43
43
  private unsubscribeRootSafeAreaTop?;
44
+ private unsubscribeHeightChange?;
44
45
  private isPresenting;
45
46
  private parentRemovalObserver?;
46
47
  private cachedOriginalParent?;
@@ -393,12 +394,19 @@ export declare class Modal implements ComponentInterface, OverlayInterface {
393
394
  /**
394
395
  * Creates the context object for safe-area utilities.
395
396
  *
396
- * `hasCustomDimensions` is only set by `setInitialSafeAreaOverrides()`
397
+ * `coveredAxes` is only set by `setInitialSafeAreaOverrides()`
397
398
  * because it is only read by `getInitialSafeAreaConfig()`. Other callers
398
399
  * (resize handler, post-animation update, fullscreen-padding apply) would
399
400
  * pay a `getComputedStyle()` cost for a value they never consult.
400
401
  */
401
402
  private getSafeAreaContext;
403
+ /**
404
+ * Keeps the content's sizing in sync with `--height`. The content reads the
405
+ * property to determine whether it should size itself to its content, and
406
+ * changes to `--height` on an ancestor or the root can change that behavior
407
+ * without changing the modal itself.
408
+ */
409
+ private watchHeightForContent;
402
410
  /**
403
411
  * Sets initial safe-area overrides before modal animation.
404
412
  * Called in present() before animation starts.
@@ -9,6 +9,16 @@ export interface SafeAreaConfig {
9
9
  left: SafeAreaValue;
10
10
  right: SafeAreaValue;
11
11
  }
12
+ /**
13
+ * Indicates whether the modal spans the viewport on each axis.
14
+ *
15
+ * `vertical` means the modal reaches both the top and bottom edges.
16
+ * `horizontal` means the modal reaches both the left and right edges.
17
+ */
18
+ export interface ModalCoveredAxes {
19
+ vertical: boolean;
20
+ horizontal: boolean;
21
+ }
12
22
  /**
13
23
  * Context information about the modal used to determine safe-area behavior.
14
24
  */
@@ -19,10 +29,11 @@ export interface ModalSafeAreaContext {
19
29
  breakpoints?: number[];
20
30
  currentBreakpoint?: number;
21
31
  /**
22
- * Only consulted by `getInitialSafeAreaConfig()`. Callers that only use the
23
- * context for non-initial paths can omit this. See `hasCustomModalDimensions()`.
32
+ * Only used by `getInitialSafeAreaConfig()` to predict safe-area
33
+ * requirements before the modal is presented. Callers that only use
34
+ * the context for non-initial paths can omit this.
24
35
  */
25
- hasCustomDimensions?: boolean;
36
+ coveredAxes?: ModalCoveredAxes;
26
37
  }
27
38
  /**
28
39
  * Resolves the current root --ion-safe-area-top value to pixels.
@@ -34,22 +45,25 @@ export interface ModalSafeAreaContext {
34
45
  */
35
46
  export declare const getRootSafeAreaTop: () => number;
36
47
  /**
37
- * Calls back when the resolved root `--ion-safe-area-top` changes, which no
38
- * event and no window resize covers. The probe's height tracks the variable, so
39
- * a change to it becomes a size change the observer can see.
48
+ * Calls back when the resolved root `--ion-safe-area-top` changes. The value
49
+ * the caller already applied is passed as the baseline, so a change between
50
+ * that read and the observer starting is still reported.
40
51
  */
41
52
  export declare const onRootSafeAreaTopChange: (callback: (safeAreaTop: number) => void) => (() => void);
42
53
  /**
43
- * True when the modal host declares BOTH a non-fullscreen `--width` AND a
44
- * non-fullscreen `--height` (i.e. a centered-dialog-like modal that doesn't
45
- * touch any screen edge).
54
+ * Determines which viewport axes the modal spans so safe-area requirements
55
+ * can be predicted independently for each axis.
56
+ *
57
+ * A modal that spans an axis reaches both edges on that axis and needs the
58
+ * corresponding safe-area insets. A modal that does not span an axis reaches
59
+ * neither edge on that axis.
46
60
  *
47
- * The conservative "both axes" check avoids mis-zeroing safe-area for
48
- * partial-custom modals where the modal still touches top/bottom edges
49
- * (e.g. only `--width` overridden). Partial cases fall through to the
50
- * existing position-based post-animation correction.
61
+ * When both `--width` and `--height` are `fullscreen`, coverage can be
62
+ * determined directly. Otherwise, coverage is based on the rendered wrapper,
63
+ * including cases where content sizing or `--max-height` causes the modal
64
+ * to reach the viewport.
51
65
  */
52
- export declare const hasCustomModalDimensions: (hostEl: HTMLElement) => boolean;
66
+ export declare const getModalCoveredAxes: (hostEl: HTMLElement) => ModalCoveredAxes;
53
67
  /**
54
68
  * Returns the initial safe-area configuration based on modal type.
55
69
  * This is called before animation starts and uses configuration-based prediction.
@@ -18,3 +18,7 @@ export declare const getBackdropValueForSheet: (x: number, backdropBreakpoint: n
18
18
  */
19
19
  export declare const setCardStatusBarDark: () => void;
20
20
  export declare const setCardStatusBarDefault: (defaultStyle?: Style) => void;
21
+ /**
22
+ * Calls back when the modal's resolved `--height` changes.
23
+ */
24
+ export declare const onModalHeightChange: (hostEl: HTMLElement, callback: () => void) => (() => void);
@@ -46,12 +46,25 @@ export interface SafeAreaInsets {
46
46
  * Results are cached for the current frame to avoid repeated reflows.
47
47
  */
48
48
  export declare const getSafeAreaInsets: (doc: Document) => SafeAreaInsets;
49
+ /**
50
+ * Returns the cumulative CSS `zoom` factor applied to an element.
51
+ *
52
+ * When a CSS `zoom` other than 1 is set on an ancestor (e.g. the `html`
53
+ * element, as recommended by the docs for dynamic font scaling on Chrome for
54
+ * Android), `getBoundingClientRect()`, `clientX`/`clientY` and other geometry
55
+ * APIs report values in the *zoomed* (visual) coordinate space, while inline
56
+ * `top`/`left`/`--width` styles we set are interpreted in the *unzoomed*
57
+ * (layout) space and re-scaled by the browser. Dividing the rect-derived
58
+ * values by this factor converts them back to layout space so the popover is
59
+ * positioned and sized correctly. Returns 1 when no zoom is applied.
60
+ */
61
+ export declare const getElementCSSZoom: (el: HTMLElement | null) => number;
49
62
  /**
50
63
  * Returns the dimensions of the popover
51
64
  * arrow on `ios` mode. If arrow is disabled
52
65
  * returns (0, 0).
53
66
  */
54
- export declare const getArrowDimensions: (arrowEl: HTMLElement | null) => {
67
+ export declare const getArrowDimensions: (arrowEl: HTMLElement | null, zoom?: number) => {
55
68
  arrowWidth: number;
56
69
  arrowHeight: number;
57
70
  };
@@ -60,7 +73,7 @@ export declare const getArrowDimensions: (arrowEl: HTMLElement | null) => {
60
73
  * that takes into account whether or not the width
61
74
  * should match the trigger width.
62
75
  */
63
- export declare const getPopoverDimensions: (size: PopoverSize, contentEl: HTMLElement, triggerEl?: HTMLElement) => {
76
+ export declare const getPopoverDimensions: (size: PopoverSize, contentEl: HTMLElement, triggerEl?: HTMLElement, zoom?: number) => {
64
77
  contentWidth: number;
65
78
  contentHeight: number;
66
79
  };
@@ -98,7 +111,7 @@ export declare const configureKeyboardInteraction: (popoverEl: HTMLIonPopoverEle
98
111
  * the reference point, preferred side, alignment
99
112
  * and viewport dimensions.
100
113
  */
101
- export declare const getPopoverPosition: (isRTL: boolean, contentWidth: number, contentHeight: number, arrowWidth: number, arrowHeight: number, reference: PositionReference, side: PositionSide, align: PositionAlign, defaultPosition: PopoverPosition, triggerEl?: HTMLElement, event?: MouseEvent | CustomEvent) => PopoverPosition;
114
+ export declare const getPopoverPosition: (isRTL: boolean, contentWidth: number, contentHeight: number, arrowWidth: number, arrowHeight: number, reference: PositionReference, side: PositionSide, align: PositionAlign, defaultPosition: PopoverPosition, triggerEl?: HTMLElement, event?: MouseEvent | CustomEvent, zoom?: number) => PopoverPosition;
102
115
  /**
103
116
  * Adjusts popover positioning coordinates
104
117
  * such that popover does not appear offscreen
@@ -38,6 +38,7 @@ export declare class Select implements ComponentInterface {
38
38
  private startContainerController?;
39
39
  private startContainerEl;
40
40
  private customHTMLEnabled;
41
+ private clickController?;
41
42
  el: HTMLIonSelectElement;
42
43
  isExpanded: boolean;
43
44
  /**
@@ -254,6 +255,16 @@ export declare class Select implements ComponentInterface {
254
255
  private getText;
255
256
  private setFocus;
256
257
  private emitStyle;
258
+ /**
259
+ * The label wrapping the slots has no `for` attribute, so the browser
260
+ * forwards a click on slotted content to the label's first labelable
261
+ * descendant, the internal button. That forwarded click bubbles back out of
262
+ * the shadow root targeting the host, where it would be emitted a second
263
+ * time and open the select. The controller swallows it during the capture
264
+ * phase, leaving the click on the slotted content itself alone so slotted
265
+ * links, checkboxes and buttons keep their default behavior.
266
+ */
267
+ onClickCapture(ev: Event): void;
257
268
  private onClick;
258
269
  private onFocus;
259
270
  private onBlur;
@@ -28,6 +28,7 @@ export declare class Textarea implements ComponentInterface {
28
28
  private notchSpacerEl;
29
29
  private startContainerController?;
30
30
  private startContainerEl;
31
+ private clickController?;
31
32
  /**
32
33
  * The value of the textarea when the textarea is focused.
33
34
  */
@@ -867,7 +867,7 @@ export namespace Components {
867
867
  */
868
868
  "getScrollElement": () => Promise<HTMLElement>;
869
869
  /**
870
- * Recalculate content dimensions. Called by overlays (e.g., popover) when sibling elements like headers or footers have finished rendering and their heights are available, ensuring accurate offset-top calculations.
870
+ * Recalculates the content dimensions and whether it should size itself to its content. Called by overlays when something they own changes, such as a header finishing its render or `--height` being updated.
871
871
  */
872
872
  "recalculateDimensions": () => Promise<void>;
873
873
  /**
@@ -7,7 +7,7 @@ export { getTimeGivenProgression } from './utils/animation/cubic-bezier';
7
7
  export { createGesture } from './utils/gesture';
8
8
  export { initialize } from './global/ionic-global';
9
9
  export { componentOnReady } from './utils/helpers';
10
- export { LogLevel } from './utils/logging';
10
+ export { LogLevel, printIonWarning, printIonError } from './utils/logging';
11
11
  export { isPlatform, Platforms, PlatformConfig, getPlatforms } from './utils/platform';
12
12
  export { IonicSafeString } from './utils/sanitization';
13
13
  export { IonicConfig, getMode, setupConfig } from './utils/config';