@ionic/core 8.7.16-dev.11767106094.1edd9cde → 8.7.16-dev.11767205737.13557925

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 (941) hide show
  1. package/components/action-sheet.js +11 -15
  2. package/components/alert.js +11 -14
  3. package/components/animation.js +1 -1
  4. package/components/backdrop.js +6 -9
  5. package/components/button.js +10 -41
  6. package/components/buttons.js +8 -11
  7. package/components/capacitor.js +1 -1
  8. package/components/checkbox.js +12 -31
  9. package/components/content.js +12 -14
  10. package/components/data.js +5 -5
  11. package/components/focus-visible.js +1 -23
  12. package/components/framework-delegate.js +1 -3
  13. package/components/hardware-back-button.js +115 -0
  14. package/components/header.js +22 -34
  15. package/components/helpers.js +3 -42
  16. package/components/index5.js +8 -8
  17. package/components/index6.js +1 -1
  18. package/components/index7.js +150 -111
  19. package/components/index8.js +111 -150
  20. package/components/index9.js +7 -0
  21. package/components/input-shims.js +2 -2
  22. package/components/input.utils.js +1 -1
  23. package/components/ion-accordion-group.js +5 -23
  24. package/components/ion-accordion.js +21 -32
  25. package/components/ion-app.js +77 -12
  26. package/components/ion-avatar.js +5 -58
  27. package/components/ion-back-button.js +19 -27
  28. package/components/ion-badge.js +9 -73
  29. package/components/ion-breadcrumb.js +10 -43
  30. package/components/ion-breadcrumbs.js +5 -8
  31. package/components/ion-card-content.js +7 -10
  32. package/components/ion-card-header.js +6 -9
  33. package/components/ion-card-subtitle.js +5 -8
  34. package/components/ion-card-title.js +5 -8
  35. package/components/ion-card.js +9 -21
  36. package/components/ion-chip.js +8 -53
  37. package/components/ion-col.js +50 -51
  38. package/components/ion-datetime-button.js +5 -8
  39. package/components/ion-datetime.js +21 -98
  40. package/components/ion-fab-button.js +15 -31
  41. package/components/ion-fab-list.js +5 -5
  42. package/components/ion-fab.js +6 -6
  43. package/components/ion-footer.js +13 -18
  44. package/components/ion-grid.js +5 -5
  45. package/components/ion-img.js +2 -5
  46. package/components/ion-infinite-scroll-content.js +8 -11
  47. package/components/ion-infinite-scroll.js +6 -78
  48. package/components/ion-input-otp.js +6 -9
  49. package/components/ion-input-password-toggle.js +13 -51
  50. package/components/ion-input.js +28 -120
  51. package/components/ion-item-divider.js +5 -8
  52. package/components/ion-item-group.js +5 -8
  53. package/components/ion-item-option.js +9 -36
  54. package/components/ion-item-options.js +7 -10
  55. package/components/ion-item-sliding.js +5 -5
  56. package/components/ion-loading.js +9 -12
  57. package/components/ion-menu-button.js +10 -26
  58. package/components/ion-menu-toggle.js +5 -5
  59. package/components/ion-menu.js +8 -10
  60. package/components/ion-nav-link.js +1 -1
  61. package/components/ion-nav.js +5 -7
  62. package/components/ion-note.js +5 -8
  63. package/components/ion-picker-legacy.js +7 -7
  64. package/components/ion-progress-bar.js +7 -25
  65. package/components/ion-range.js +9 -12
  66. package/components/ion-refresher-content.js +8 -23
  67. package/components/ion-refresher.js +7 -10
  68. package/components/ion-reorder-group.js +5 -5
  69. package/components/ion-reorder.js +5 -30
  70. package/components/ion-router-link.js +6 -6
  71. package/components/ion-router-outlet.js +4 -4
  72. package/components/ion-row.js +3 -6
  73. package/components/ion-searchbar.js +23 -137
  74. package/components/ion-segment-button.js +7 -10
  75. package/components/ion-segment-content.js +1 -1
  76. package/components/ion-segment-view.js +2 -5
  77. package/components/ion-segment.js +7 -10
  78. package/components/ion-select-option.js +2 -5
  79. package/components/ion-select.js +33 -117
  80. package/components/ion-skeleton-text.js +5 -5
  81. package/components/ion-split-pane.js +8 -11
  82. package/components/ion-tab-bar.js +9 -39
  83. package/components/ion-tab-button.js +8 -35
  84. package/components/ion-tab.js +2 -2
  85. package/components/ion-tabs.js +2 -2
  86. package/components/ion-text.js +5 -5
  87. package/components/ion-textarea.js +11 -52
  88. package/components/ion-thumbnail.js +2 -5
  89. package/components/ion-toast.js +12 -37
  90. package/components/ion-toggle.js +17 -74
  91. package/components/ionic-global.js +15 -364
  92. package/components/ios.transition.js +0 -1
  93. package/components/item.js +15 -47
  94. package/components/keyboard-controller.js +2 -4
  95. package/components/label.js +5 -8
  96. package/components/list-header.js +7 -10
  97. package/components/list.js +6 -27
  98. package/components/modal.js +133 -51
  99. package/components/notch-controller.js +1 -1
  100. package/components/overlays.js +4 -3
  101. package/components/picker-column-option.js +5 -8
  102. package/components/picker-column.js +8 -7
  103. package/components/picker-column2.js +4 -4
  104. package/components/picker.js +4 -7
  105. package/components/popover.js +69 -22
  106. package/components/radio-group.js +7 -15
  107. package/components/radio.js +8 -11
  108. package/components/ripple-effect.js +7 -15
  109. package/components/select-modal.js +5 -12
  110. package/components/select-popover.js +2 -8
  111. package/components/spinner.js +8 -31
  112. package/components/status-tap.js +1 -1
  113. package/components/title.js +7 -10
  114. package/components/toolbar.js +9 -153
  115. package/css/core.css +1 -1
  116. package/css/core.css.map +1 -1
  117. package/css/display.css +1 -1
  118. package/css/display.css.map +1 -1
  119. package/css/flex-utils.css +1 -1
  120. package/css/flex-utils.css.map +1 -1
  121. package/css/float-elements.css.map +1 -1
  122. package/css/global.bundle.css.map +1 -1
  123. package/css/ionic-swiper.css +1 -1
  124. package/css/ionic-swiper.css.map +1 -1
  125. package/css/ionic.bundle.css +1 -1
  126. package/css/ionic.bundle.css.map +1 -1
  127. package/css/normalize.css.map +1 -1
  128. package/css/padding.css.map +1 -1
  129. package/css/palettes/dark.always.css.map +1 -1
  130. package/css/palettes/dark.class.css.map +1 -1
  131. package/css/palettes/dark.system.css.map +1 -1
  132. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  133. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  134. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  135. package/css/palettes/high-contrast.always.css.map +1 -1
  136. package/css/palettes/high-contrast.class.css.map +1 -1
  137. package/css/palettes/high-contrast.system.css.map +1 -1
  138. package/css/structure.css.map +1 -1
  139. package/css/text-alignment.css.map +1 -1
  140. package/css/text-transformation.css.map +1 -1
  141. package/css/typography.css.map +1 -1
  142. package/css/utils.bundle.css +1 -1
  143. package/css/utils.bundle.css.map +1 -1
  144. package/dist/cjs/{animation-CD5nuON9.js → animation-Bt3H9L1C.js} +2 -2
  145. package/dist/cjs/{app-globals-CoW5jvJu.js → app-globals-Ciccnk9_.js} +1 -1
  146. package/dist/cjs/{button-active-Dxyabn6T.js → button-active-CMc8cD90.js} +1 -1
  147. package/dist/cjs/{capacitor-C8raJ_tU.js → capacitor-DmA66EwP.js} +3 -3
  148. package/dist/cjs/{data-MoL8Ckx5.js → data-JwZKaIQB.js} +5 -5
  149. package/dist/{esm/focus-visible-vXpMhGrs.js → cjs/focus-visible-CCvKiLh3.js} +3 -23
  150. package/dist/cjs/{framework-delegate-Bwdk9vFS.js → framework-delegate-DMJRBuDi.js} +2 -4
  151. package/dist/cjs/{haptic-BU6_qLwg.js → haptic-ClPPQ_PS.js} +1 -1
  152. package/dist/cjs/hardware-back-button-VCK4V3mG.js +121 -0
  153. package/dist/cjs/{helpers-DnouLczu.js → helpers-DrTqNghc.js} +2 -41
  154. package/dist/cjs/{index-JtyffOXl.js → index-094mMFB-.js} +3 -3
  155. package/dist/cjs/{index-CADY2xEW.js → index-C534ULug.js} +7 -8
  156. package/dist/cjs/{index-DUoP_H1L.js → index-CO6eryBo.js} +1 -1
  157. package/dist/cjs/index-DkNv4J_i.js +10 -0
  158. package/dist/cjs/{index-C4_FN9N0.js → index-DrMUZJj6.js} +15 -15
  159. package/dist/cjs/index.cjs.js +11 -10
  160. package/dist/cjs/{input-shims-C-YCyXjg.js → input-shims-CW0KUFTQ.js} +16 -17
  161. package/dist/cjs/{input.utils-C3-BwdV0.js → input.utils-B_QROI2g.js} +5 -5
  162. package/dist/cjs/ion-accordion_2.cjs.entry.js +26 -55
  163. package/dist/cjs/ion-action-sheet.cjs.entry.js +20 -23
  164. package/dist/cjs/ion-alert.cjs.entry.js +20 -22
  165. package/dist/cjs/ion-app_8.cjs.entry.js +150 -249
  166. package/dist/cjs/ion-avatar_3.cjs.entry.js +11 -123
  167. package/dist/cjs/ion-back-button.cjs.entry.js +19 -28
  168. package/dist/cjs/ion-backdrop.cjs.entry.js +6 -9
  169. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +15 -51
  170. package/dist/cjs/ion-button_2.cjs.entry.js +11 -43
  171. package/dist/cjs/ion-card_5.cjs.entry.js +29 -53
  172. package/dist/cjs/ion-checkbox.cjs.entry.js +13 -31
  173. package/dist/cjs/ion-chip.cjs.entry.js +7 -48
  174. package/dist/cjs/ion-col_3.cjs.entry.js +56 -53
  175. package/dist/cjs/ion-datetime-button.cjs.entry.js +7 -11
  176. package/dist/cjs/ion-datetime_3.cjs.entry.js +38 -113
  177. package/dist/cjs/ion-fab_3.cjs.entry.js +25 -41
  178. package/dist/cjs/ion-img.cjs.entry.js +3 -7
  179. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +14 -89
  180. package/dist/cjs/ion-input-otp.cjs.entry.js +7 -11
  181. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +12 -50
  182. package/dist/cjs/ion-input.cjs.entry.js +30 -120
  183. package/dist/cjs/ion-item-option_3.cjs.entry.js +19 -48
  184. package/dist/cjs/ion-item_8.cjs.entry.js +46 -113
  185. package/dist/cjs/ion-loading.cjs.entry.js +15 -17
  186. package/dist/cjs/ion-menu_3.cjs.entry.js +26 -44
  187. package/dist/cjs/ion-modal.cjs.entry.js +182 -99
  188. package/dist/cjs/ion-nav_2.cjs.entry.js +10 -13
  189. package/dist/cjs/ion-picker-column-option.cjs.entry.js +6 -10
  190. package/dist/cjs/ion-picker-column.cjs.entry.js +12 -12
  191. package/dist/cjs/ion-picker.cjs.entry.js +5 -9
  192. package/dist/cjs/ion-popover.cjs.entry.js +76 -28
  193. package/dist/cjs/ion-progress-bar.cjs.entry.js +7 -25
  194. package/dist/cjs/ion-radio_2.cjs.entry.js +14 -24
  195. package/dist/cjs/ion-range.cjs.entry.js +10 -14
  196. package/dist/cjs/ion-refresher_2.cjs.entry.js +18 -36
  197. package/dist/cjs/ion-reorder_2.cjs.entry.js +12 -36
  198. package/dist/cjs/ion-ripple-effect.cjs.entry.js +6 -14
  199. package/dist/cjs/ion-route_4.cjs.entry.js +7 -8
  200. package/dist/cjs/ion-searchbar.cjs.entry.js +21 -134
  201. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  202. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -5
  203. package/dist/cjs/ion-segment_2.cjs.entry.js +14 -21
  204. package/dist/cjs/ion-select-modal.cjs.entry.js +9 -15
  205. package/dist/cjs/ion-select_3.cjs.entry.js +38 -129
  206. package/dist/cjs/ion-spinner.cjs.entry.js +6 -28
  207. package/dist/cjs/ion-split-pane.cjs.entry.js +8 -11
  208. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +21 -75
  209. package/dist/cjs/ion-tab_2.cjs.entry.js +6 -7
  210. package/dist/cjs/ion-text.cjs.entry.js +5 -5
  211. package/dist/cjs/ion-textarea.cjs.entry.js +15 -55
  212. package/dist/cjs/ion-toast.cjs.entry.js +43 -66
  213. package/dist/cjs/ion-toggle.cjs.entry.js +21 -78
  214. package/dist/cjs/ionic-global-HMVqOFGO.js +151 -0
  215. package/dist/cjs/ionic.cjs.js +3 -3
  216. package/dist/cjs/{ios.transition-Dt4GT8w5.js → ios.transition-BOt_uW73.js} +4 -6
  217. package/dist/cjs/{keyboard-BlrG3xPK.js → keyboard-UuAS4D_9.js} +1 -1
  218. package/dist/cjs/{keyboard-controller-O8n0dTQz.js → keyboard-controller-GXBiBRKS.js} +9 -11
  219. package/dist/cjs/{keyboard-B8HJHbg3.js → keyboard-hHzlEQpk.js} +3 -4
  220. package/dist/cjs/loader.cjs.js +3 -3
  221. package/dist/cjs/{md.transition-BolcQzNP.js → md.transition-Dt968VXB.js} +4 -5
  222. package/dist/cjs/{notch-controller-BE80VRju.js → notch-controller-Bzqhjm4f.js} +4 -4
  223. package/dist/cjs/{overlays-CRSQCKrz.js → overlays-B2b-TTbl.js} +9 -8
  224. package/dist/cjs/{status-tap-e-hyosXV.js → status-tap-g0sWWkXk.js} +2 -3
  225. package/dist/cjs/{swipe-back-CR060nOX.js → swipe-back-BIayeNOD.js} +1 -2
  226. package/dist/collection/collection-manifest.json +0 -1
  227. package/dist/collection/components/accordion/accordion.ios.css +58 -73
  228. package/dist/collection/components/accordion/accordion.js +26 -36
  229. package/dist/collection/components/accordion/accordion.md.css +59 -67
  230. package/dist/collection/components/accordion-group/accordion-group.ios.css +4 -16
  231. package/dist/collection/components/accordion-group/accordion-group.js +8 -44
  232. package/dist/collection/components/accordion-group/accordion-group.md.css +4 -22
  233. package/dist/collection/components/action-sheet/action-sheet.ios.css +6 -18
  234. package/dist/collection/components/action-sheet/action-sheet.js +13 -17
  235. package/dist/collection/components/action-sheet/action-sheet.md.css +5 -17
  236. package/dist/collection/components/alert/alert.ios.css +1 -19
  237. package/dist/collection/components/alert/alert.js +13 -16
  238. package/dist/collection/components/alert/alert.md.css +1 -19
  239. package/dist/collection/components/app/app.js +78 -15
  240. package/dist/collection/components/avatar/avatar.ios.css +33 -7
  241. package/dist/collection/components/avatar/avatar.js +4 -120
  242. package/dist/collection/components/avatar/avatar.md.css +0 -51
  243. package/dist/collection/components/back-button/back-button.ios.css +48 -60
  244. package/dist/collection/components/back-button/back-button.js +19 -27
  245. package/dist/collection/components/back-button/back-button.md.css +48 -60
  246. package/dist/collection/components/backdrop/backdrop.ios.css +19 -56
  247. package/dist/collection/components/backdrop/backdrop.js +6 -12
  248. package/dist/collection/components/backdrop/backdrop.md.css +19 -56
  249. package/dist/collection/components/badge/badge.ios.css +12 -139
  250. package/dist/collection/components/badge/badge.js +9 -145
  251. package/dist/collection/components/badge/badge.md.css +12 -123
  252. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +8 -20
  253. package/dist/collection/components/breadcrumb/breadcrumb.js +11 -43
  254. package/dist/collection/components/breadcrumb/breadcrumb.md.css +8 -20
  255. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +0 -6
  256. package/dist/collection/components/breadcrumbs/breadcrumbs.js +9 -11
  257. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +0 -6
  258. package/dist/collection/components/button/button.ios.css +46 -135
  259. package/dist/collection/components/button/button.js +17 -48
  260. package/dist/collection/components/button/button.md.css +50 -126
  261. package/dist/collection/components/buttons/buttons.ios.css +7 -59
  262. package/dist/collection/components/buttons/buttons.js +9 -15
  263. package/dist/collection/components/buttons/buttons.md.css +3 -55
  264. package/dist/collection/components/card/card.ios.css +14 -65
  265. package/dist/collection/components/card/card.js +10 -41
  266. package/dist/collection/components/card/card.md.css +14 -65
  267. package/dist/collection/components/card-content/card-content.ios.css +1 -16
  268. package/dist/collection/components/card-content/card-content.js +8 -11
  269. package/dist/collection/components/card-content/card-content.md.css +1 -16
  270. package/dist/collection/components/card-header/card-header.ios.css +15 -27
  271. package/dist/collection/components/card-header/card-header.js +10 -13
  272. package/dist/collection/components/card-header/card-header.md.css +15 -27
  273. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +0 -12
  274. package/dist/collection/components/card-subtitle/card-subtitle.js +8 -11
  275. package/dist/collection/components/card-subtitle/card-subtitle.md.css +0 -12
  276. package/dist/collection/components/card-title/card-title.ios.css +0 -73
  277. package/dist/collection/components/card-title/card-title.js +8 -11
  278. package/dist/collection/components/card-title/card-title.md.css +0 -73
  279. package/dist/collection/components/checkbox/checkbox.ios.css +101 -161
  280. package/dist/collection/components/checkbox/checkbox.js +14 -70
  281. package/dist/collection/components/checkbox/checkbox.md.css +102 -162
  282. package/dist/collection/components/chip/chip.ios.css +14 -67
  283. package/dist/collection/components/chip/chip.js +8 -108
  284. package/dist/collection/components/chip/chip.md.css +14 -67
  285. package/dist/collection/components/col/col.css +4 -192
  286. package/dist/collection/components/col/col.js +61 -210
  287. package/dist/collection/components/content/content.css +2 -8
  288. package/dist/collection/components/content/content.js +11 -16
  289. package/dist/collection/components/datetime/datetime.ios.css +96 -258
  290. package/dist/collection/components/datetime/datetime.js +20 -98
  291. package/dist/collection/components/datetime/datetime.md.css +96 -258
  292. package/dist/collection/components/datetime/utils/data.js +5 -5
  293. package/dist/collection/components/datetime-button/datetime-button.ios.css +0 -6
  294. package/dist/collection/components/datetime-button/datetime-button.js +8 -11
  295. package/dist/collection/components/datetime-button/datetime-button.md.css +0 -6
  296. package/dist/collection/components/fab/fab.css +1 -25
  297. package/dist/collection/components/fab/fab.js +5 -9
  298. package/dist/collection/components/fab-button/fab-button.ios.css +6 -18
  299. package/dist/collection/components/fab-button/fab-button.js +21 -36
  300. package/dist/collection/components/fab-button/fab-button.md.css +8 -20
  301. package/dist/collection/components/fab-list/fab-list.css +0 -12
  302. package/dist/collection/components/fab-list/fab-list.js +5 -9
  303. package/dist/collection/components/footer/footer.ios.css +2 -14
  304. package/dist/collection/components/footer/footer.js +16 -21
  305. package/dist/collection/components/footer/footer.md.css +0 -12
  306. package/dist/collection/components/grid/grid.css +0 -12
  307. package/dist/collection/components/grid/grid.js +5 -9
  308. package/dist/collection/components/header/header.ios.css +10 -25
  309. package/dist/collection/components/header/header.js +19 -50
  310. package/dist/collection/components/header/header.md.css +8 -23
  311. package/dist/collection/components/header/header.utils.js +5 -5
  312. package/dist/collection/components/img/img.js +2 -8
  313. package/dist/collection/components/infinite-scroll/infinite-scroll.js +5 -100
  314. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +0 -12
  315. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +10 -16
  316. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +0 -12
  317. package/dist/collection/components/input/input.ios.css +140 -223
  318. package/dist/collection/components/input/input.js +38 -149
  319. package/dist/collection/components/input/input.md.css +212 -193
  320. package/dist/collection/components/input-otp/input-otp.ios.css +60 -102
  321. package/dist/collection/components/input-otp/input-otp.js +5 -7
  322. package/dist/collection/components/input-otp/input-otp.md.css +60 -102
  323. package/dist/collection/components/input-password-toggle/input-password-toggle.js +12 -48
  324. package/dist/collection/components/item/item.ios.css +69 -109
  325. package/dist/collection/components/item/item.js +20 -51
  326. package/dist/collection/components/item/item.md.css +68 -120
  327. package/dist/collection/components/item-divider/item-divider.ios.css +0 -18
  328. package/dist/collection/components/item-divider/item-divider.js +8 -11
  329. package/dist/collection/components/item-divider/item-divider.md.css +0 -18
  330. package/dist/collection/components/item-group/item-group.ios.css +0 -12
  331. package/dist/collection/components/item-group/item-group.js +7 -13
  332. package/dist/collection/components/item-group/item-group.md.css +0 -12
  333. package/dist/collection/components/item-option/item-option.ios.css +29 -136
  334. package/dist/collection/components/item-option/item-option.js +9 -73
  335. package/dist/collection/components/item-option/item-option.md.css +29 -136
  336. package/dist/collection/components/item-options/item-options.ios.css +34 -77
  337. package/dist/collection/components/item-options/item-options.js +7 -13
  338. package/dist/collection/components/item-options/item-options.md.css +34 -77
  339. package/dist/collection/components/item-sliding/item-sliding.css +0 -6
  340. package/dist/collection/components/item-sliding/item-sliding.js +4 -8
  341. package/dist/collection/components/label/label.ios.css +0 -18
  342. package/dist/collection/components/label/label.js +8 -11
  343. package/dist/collection/components/label/label.md.css +0 -18
  344. package/dist/collection/components/list/list.ios.css +14 -54
  345. package/dist/collection/components/list/list.js +9 -48
  346. package/dist/collection/components/list/list.md.css +16 -56
  347. package/dist/collection/components/list-header/list-header.ios.css +38 -82
  348. package/dist/collection/components/list-header/list-header.js +8 -11
  349. package/dist/collection/components/list-header/list-header.md.css +38 -82
  350. package/dist/collection/components/loading/loading.ios.css +1 -13
  351. package/dist/collection/components/loading/loading.js +11 -14
  352. package/dist/collection/components/loading/loading.md.css +1 -13
  353. package/dist/collection/components/menu/menu.ios.css +3 -15
  354. package/dist/collection/components/menu/menu.js +7 -12
  355. package/dist/collection/components/menu/menu.md.css +3 -15
  356. package/dist/collection/components/menu-button/menu-button.ios.css +14 -48
  357. package/dist/collection/components/menu-button/menu-button.js +10 -26
  358. package/dist/collection/components/menu-button/menu-button.md.css +15 -49
  359. package/dist/collection/components/menu-toggle/menu-toggle.js +5 -8
  360. package/dist/collection/components/modal/animations/sheet.js +2 -8
  361. package/dist/collection/components/modal/gestures/sheet.js +8 -10
  362. package/dist/collection/components/modal/gestures/swipe-to-close.js +3 -1
  363. package/dist/collection/components/modal/modal.ios.css +70 -178
  364. package/dist/collection/components/modal/modal.js +119 -50
  365. package/dist/collection/components/modal/modal.md.css +70 -178
  366. package/dist/collection/components/nav/nav.css +1 -7
  367. package/dist/collection/components/nav/nav.js +5 -11
  368. package/dist/collection/components/nav-link/nav-link.js +1 -5
  369. package/dist/collection/components/note/note.ios.css +0 -12
  370. package/dist/collection/components/note/note.js +8 -11
  371. package/dist/collection/components/note/note.md.css +0 -12
  372. package/dist/collection/components/picker/picker.ios.css +3 -15
  373. package/dist/collection/components/picker/picker.js +5 -8
  374. package/dist/collection/components/picker/picker.md.css +3 -15
  375. package/dist/collection/components/picker-column/picker-column.css +2 -9
  376. package/dist/collection/components/picker-column/picker-column.js +7 -8
  377. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +0 -6
  378. package/dist/collection/components/picker-column-option/picker-column-option.js +7 -13
  379. package/dist/collection/components/picker-column-option/picker-column-option.md.css +0 -6
  380. package/dist/collection/components/picker-legacy/picker.ios.css +1 -13
  381. package/dist/collection/components/picker-legacy/picker.js +6 -7
  382. package/dist/collection/components/picker-legacy/picker.md.css +1 -13
  383. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -12
  384. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  385. package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -12
  386. package/dist/collection/components/popover/animations/ios.enter.js +21 -5
  387. package/dist/collection/components/popover/animations/md.enter.js +20 -4
  388. package/dist/collection/components/popover/popover.ios.css +1 -13
  389. package/dist/collection/components/popover/popover.js +14 -17
  390. package/dist/collection/components/popover/popover.md.css +1 -13
  391. package/dist/collection/components/popover/utils.js +19 -1
  392. package/dist/collection/components/progress-bar/progress-bar.ios.css +17 -48
  393. package/dist/collection/components/progress-bar/progress-bar.js +7 -43
  394. package/dist/collection/components/progress-bar/progress-bar.md.css +17 -48
  395. package/dist/collection/components/radio/radio.ios.css +91 -134
  396. package/dist/collection/components/radio/radio.js +9 -12
  397. package/dist/collection/components/radio/radio.md.css +91 -134
  398. package/dist/collection/components/radio-group/radio-group.ios.css +23 -43
  399. package/dist/collection/components/radio-group/radio-group.js +6 -21
  400. package/dist/collection/components/radio-group/radio-group.md.css +23 -43
  401. package/dist/collection/components/range/range.ios.css +85 -128
  402. package/dist/collection/components/range/range.js +9 -12
  403. package/dist/collection/components/range/range.md.css +85 -128
  404. package/dist/collection/components/refresher/refresher.ios.css +1 -14
  405. package/dist/collection/components/refresher/refresher.js +8 -11
  406. package/dist/collection/components/refresher/refresher.md.css +2 -15
  407. package/dist/collection/components/refresher-content/refresher-content.js +7 -28
  408. package/dist/collection/components/reorder/reorder.ios.css +0 -6
  409. package/dist/collection/components/reorder/reorder.js +6 -33
  410. package/dist/collection/components/reorder/reorder.md.css +0 -6
  411. package/dist/collection/components/reorder-group/reorder-group.css +0 -6
  412. package/dist/collection/components/reorder-group/reorder-group.js +4 -8
  413. package/dist/collection/components/ripple-effect/{ripple-effect.common.css → ripple-effect.css} +1 -7
  414. package/dist/collection/components/ripple-effect/ripple-effect.js +6 -14
  415. package/dist/collection/components/route/route.js +0 -4
  416. package/dist/collection/components/router/router.js +0 -4
  417. package/dist/collection/components/router-link/router-link.css +2 -8
  418. package/dist/collection/components/router-link/router-link.js +5 -9
  419. package/dist/collection/components/router-outlet/router-outlet.css +1 -7
  420. package/dist/collection/components/router-outlet/router-outlet.js +3 -6
  421. package/dist/collection/components/row/row.css +0 -16
  422. package/dist/collection/components/row/row.js +2 -9
  423. package/dist/collection/components/searchbar/searchbar.ios.css +18 -56
  424. package/dist/collection/components/searchbar/searchbar.js +34 -181
  425. package/dist/collection/components/searchbar/searchbar.md.css +18 -56
  426. package/dist/collection/components/segment/segment.ios.css +2 -45
  427. package/dist/collection/components/segment/segment.js +8 -11
  428. package/dist/collection/components/segment/segment.md.css +2 -45
  429. package/dist/collection/components/segment-button/segment-button.ios.css +105 -146
  430. package/dist/collection/components/segment-button/segment-button.js +8 -11
  431. package/dist/collection/components/segment-button/segment-button.md.css +107 -148
  432. package/dist/collection/components/segment-content/segment-content.js +1 -1
  433. package/dist/collection/components/segment-view/segment-view.ios.css +0 -6
  434. package/dist/collection/components/segment-view/segment-view.js +4 -6
  435. package/dist/collection/components/segment-view/segment-view.md.css +0 -6
  436. package/dist/collection/components/select/select.ios.css +176 -315
  437. package/dist/collection/components/select/select.js +53 -156
  438. package/dist/collection/components/select/select.md.css +178 -331
  439. package/dist/collection/components/select-modal/select-modal.ios.css +0 -18
  440. package/dist/collection/components/select-modal/select-modal.js +4 -11
  441. package/dist/collection/components/select-modal/select-modal.md.css +3 -7
  442. package/dist/collection/components/select-option/select-option.js +2 -9
  443. package/dist/collection/components/select-popover/select-popover.ios.css +0 -18
  444. package/dist/collection/components/select-popover/select-popover.js +4 -12
  445. package/dist/collection/components/select-popover/select-popover.md.css +0 -18
  446. package/dist/collection/components/skeleton-text/skeleton-text.css +0 -6
  447. package/dist/collection/components/skeleton-text/skeleton-text.js +5 -9
  448. package/dist/collection/components/spinner/{spinner.ionic.css → spinner.css} +10 -77
  449. package/dist/collection/components/spinner/spinner.js +6 -47
  450. package/dist/collection/components/split-pane/split-pane.ios.css +2 -20
  451. package/dist/collection/components/split-pane/split-pane.js +8 -14
  452. package/dist/collection/components/split-pane/split-pane.md.css +2 -20
  453. package/dist/collection/components/tab/tab.js +2 -6
  454. package/dist/collection/components/tab-bar/tab-bar.ios.css +43 -71
  455. package/dist/collection/components/tab-bar/tab-bar.js +11 -78
  456. package/dist/collection/components/tab-bar/tab-bar.md.css +43 -71
  457. package/dist/collection/components/tab-button/tab-button.ios.css +95 -171
  458. package/dist/collection/components/tab-button/tab-button.js +9 -54
  459. package/dist/collection/components/tab-button/tab-button.md.css +93 -137
  460. package/dist/collection/components/tabs/tabs.css +1 -7
  461. package/dist/collection/components/tabs/tabs.js +1 -4
  462. package/dist/collection/components/text/text.css +0 -6
  463. package/dist/collection/components/text/text.js +6 -7
  464. package/dist/collection/components/textarea/textarea.ios.css +139 -275
  465. package/dist/collection/components/textarea/textarea.js +16 -76
  466. package/dist/collection/components/textarea/textarea.md.css +140 -288
  467. package/dist/collection/components/thumbnail/thumbnail.css +0 -6
  468. package/dist/collection/components/thumbnail/thumbnail.js +2 -9
  469. package/dist/collection/components/title/title.ios.css +4 -32
  470. package/dist/collection/components/title/title.js +7 -13
  471. package/dist/collection/components/title/title.md.css +4 -32
  472. package/dist/collection/components/toast/animations/utils.js +1 -1
  473. package/dist/collection/components/toast/toast.ios.css +45 -84
  474. package/dist/collection/components/toast/toast.js +12 -75
  475. package/dist/collection/components/toast/toast.md.css +45 -84
  476. package/dist/collection/components/toggle/toggle.ios.css +131 -247
  477. package/dist/collection/components/toggle/toggle.js +18 -73
  478. package/dist/collection/components/toggle/toggle.md.css +131 -244
  479. package/dist/collection/components/toolbar/toolbar.ios.css +47 -90
  480. package/dist/collection/components/toolbar/toolbar.js +13 -157
  481. package/dist/collection/components/toolbar/toolbar.md.css +47 -90
  482. package/dist/collection/global/ionic-global.js +13 -228
  483. package/dist/collection/utils/focus-visible.js +0 -22
  484. package/dist/collection/utils/framework-delegate.js +1 -3
  485. package/dist/collection/utils/hardware-back-button.js +0 -15
  486. package/dist/collection/utils/helpers.js +2 -42
  487. package/dist/collection/utils/keyboard/keyboard-controller.js +1 -3
  488. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  489. package/dist/collection/utils/menu-controller/animations/push.js +1 -2
  490. package/dist/collection/utils/menu-controller/animations/reveal.js +1 -2
  491. package/dist/collection/utils/overlays.js +1 -2
  492. package/dist/collection/utils/test/playwright/generator.js +23 -48
  493. package/dist/collection/utils/test/playwright/page/utils/goto.js +5 -14
  494. package/dist/collection/utils/test/playwright/page/utils/set-content.js +3 -26
  495. package/dist/collection/utils/transition/ios.transition.js +0 -1
  496. package/dist/docs.json +374 -8195
  497. package/dist/esm/{animation-BNuoDl-O.js → animation-Dt8bGnA-.js} +1 -1
  498. package/dist/esm/{app-globals-tX0s9Zd7.js → app-globals-BDSf8fOA.js} +1 -1
  499. package/dist/esm/{button-active-BF6GZ_yH.js → button-active-L570Swow.js} +1 -1
  500. package/dist/esm/{capacitor-pzVAlnC0.js → capacitor-CFERIeaU.js} +1 -1
  501. package/dist/esm/{data-DFCY8gnk.js → data-DCORV9FH.js} +5 -5
  502. package/dist/{cjs/focus-visible-BIj-I3-C.js → esm/focus-visible-BmVRXR1y.js} +1 -27
  503. package/dist/esm/{framework-delegate-D2mUP0WI.js → framework-delegate-BYawdMXj.js} +2 -4
  504. package/dist/esm/{haptic-bBvyATla.js → haptic-DzAMWJuk.js} +1 -1
  505. package/dist/esm/hardware-back-button-CPLxO-Ev.js +115 -0
  506. package/dist/esm/{helpers-Bsml3FcE.js → helpers-DEn3pfjm.js} +3 -42
  507. package/dist/esm/{index-BpFi2B8W.js → index-Bs3kT4bc.js} +1 -1
  508. package/dist/esm/{index-BQI9hSZP.js → index-CvDIirVx.js} +10 -10
  509. package/dist/esm/{index-COG0_eom.js → index-DV3sJJW8.js} +1 -1
  510. package/dist/esm/index-ZjP4CjeZ.js +7 -0
  511. package/dist/esm/{index-Bnw-zNoN.js → index-ceb5RaMT.js} +2 -3
  512. package/dist/esm/{index-M3l-IyxQ.js → index-r2D9DEro.js} +3 -3
  513. package/dist/esm/index.js +11 -10
  514. package/dist/esm/{input-shims-ACbgRt10.js → input-shims-DyOpfTg6.js} +5 -6
  515. package/dist/esm/{input.utils-loPnHH5H.js → input.utils-DrvTa8gz.js} +2 -2
  516. package/dist/esm/ion-accordion_2.entry.js +27 -56
  517. package/dist/esm/ion-action-sheet.entry.js +20 -23
  518. package/dist/esm/ion-alert.entry.js +20 -22
  519. package/dist/esm/ion-app_8.entry.js +151 -250
  520. package/dist/esm/ion-avatar_3.entry.js +13 -125
  521. package/dist/esm/ion-back-button.entry.js +20 -29
  522. package/dist/esm/ion-backdrop.entry.js +6 -9
  523. package/dist/esm/ion-breadcrumb_2.entry.js +17 -53
  524. package/dist/esm/ion-button_2.entry.js +11 -43
  525. package/dist/esm/ion-card_5.entry.js +29 -53
  526. package/dist/esm/ion-checkbox.entry.js +13 -31
  527. package/dist/esm/ion-chip.entry.js +8 -49
  528. package/dist/esm/ion-col_3.entry.js +57 -54
  529. package/dist/esm/ion-datetime-button.entry.js +7 -11
  530. package/dist/esm/ion-datetime_3.entry.js +40 -115
  531. package/dist/esm/ion-fab_3.entry.js +27 -43
  532. package/dist/esm/ion-img.entry.js +3 -7
  533. package/dist/esm/ion-infinite-scroll_2.entry.js +14 -89
  534. package/dist/esm/ion-input-otp.entry.js +7 -11
  535. package/dist/esm/ion-input-password-toggle.entry.js +14 -52
  536. package/dist/esm/ion-input.entry.js +32 -122
  537. package/dist/esm/ion-item-option_3.entry.js +19 -48
  538. package/dist/esm/ion-item_8.entry.js +48 -115
  539. package/dist/esm/ion-loading.entry.js +15 -17
  540. package/dist/esm/ion-menu_3.entry.js +27 -45
  541. package/dist/esm/ion-modal.entry.js +142 -59
  542. package/dist/esm/ion-nav_2.entry.js +10 -13
  543. package/dist/esm/ion-picker-column-option.entry.js +6 -10
  544. package/dist/esm/ion-picker-column.entry.js +11 -11
  545. package/dist/esm/ion-picker.entry.js +5 -9
  546. package/dist/esm/ion-popover.entry.js +76 -28
  547. package/dist/esm/ion-progress-bar.entry.js +7 -25
  548. package/dist/esm/ion-radio_2.entry.js +14 -24
  549. package/dist/esm/ion-range.entry.js +10 -14
  550. package/dist/esm/ion-refresher_2.entry.js +19 -37
  551. package/dist/esm/ion-reorder_2.entry.js +14 -38
  552. package/dist/esm/ion-ripple-effect.entry.js +6 -14
  553. package/dist/esm/ion-route_4.entry.js +7 -8
  554. package/dist/esm/ion-searchbar.entry.js +24 -137
  555. package/dist/esm/ion-segment-content.entry.js +1 -1
  556. package/dist/esm/ion-segment-view.entry.js +2 -5
  557. package/dist/esm/ion-segment_2.entry.js +14 -21
  558. package/dist/esm/ion-select-modal.entry.js +10 -16
  559. package/dist/esm/ion-select_3.entry.js +40 -131
  560. package/dist/esm/ion-spinner.entry.js +6 -28
  561. package/dist/esm/ion-split-pane.entry.js +8 -11
  562. package/dist/esm/ion-tab-bar_2.entry.js +21 -75
  563. package/dist/esm/ion-tab_2.entry.js +6 -7
  564. package/dist/esm/ion-text.entry.js +5 -5
  565. package/dist/esm/ion-textarea.entry.js +15 -55
  566. package/dist/esm/ion-toast.entry.js +17 -40
  567. package/dist/esm/ion-toggle.entry.js +22 -79
  568. package/dist/esm/ionic-global-CDrldh-5.js +146 -0
  569. package/dist/esm/ionic.js +3 -3
  570. package/dist/esm/{ios.transition-uJxJFbq8.js → ios.transition-BDzw0_Hm.js} +4 -6
  571. package/dist/esm/{keyboard-CU1vRv-b.js → keyboard-CUw4ekVy.js} +1 -1
  572. package/dist/esm/{keyboard-controller-Dplyc4OV.js → keyboard-controller-BaaVITYt.js} +3 -5
  573. package/dist/esm/{keyboard-B-HHSSYU.js → keyboard-ywgs5efA.js} +3 -4
  574. package/dist/esm/loader.js +3 -3
  575. package/dist/esm/{md.transition-Dp4NTeSh.js → md.transition-BzDYi3qq.js} +4 -5
  576. package/dist/esm/{notch-controller-BvFDmO69.js → notch-controller-BwelN_JM.js} +2 -2
  577. package/dist/esm/{overlays-B037a9Tz.js → overlays-D5YkFThA.js} +6 -5
  578. package/dist/esm/{status-tap-DXVlluKS.js → status-tap-5DQ7Fc4V.js} +2 -3
  579. package/dist/esm/{swipe-back-DNhAt9fY.js → swipe-back-BKw2CAHc.js} +1 -2
  580. package/dist/html.html-data.json +214 -2520
  581. package/dist/ionic/index.esm.js +1 -1
  582. package/dist/ionic/ionic.esm.js +1 -1
  583. package/dist/ionic/p-020af078.entry.js +4 -0
  584. package/dist/ionic/p-02d76786.entry.js +4 -0
  585. package/dist/ionic/p-074839fc.entry.js +4 -0
  586. package/dist/ionic/p-0dfa5a37.entry.js +4 -0
  587. package/dist/ionic/p-11518b31.entry.js +4 -0
  588. package/dist/ionic/p-11aa58d6.entry.js +4 -0
  589. package/dist/ionic/p-1647c46c.entry.js +4 -0
  590. package/dist/ionic/p-2a939845.entry.js +4 -0
  591. package/dist/ionic/p-301ad219.entry.js +4 -0
  592. package/dist/ionic/p-316c0420.entry.js +4 -0
  593. package/dist/ionic/p-31f7095f.entry.js +4 -0
  594. package/dist/ionic/p-34642fa1.entry.js +4 -0
  595. package/dist/ionic/p-35696017.entry.js +4 -0
  596. package/dist/ionic/p-370e4237.entry.js +4 -0
  597. package/dist/ionic/p-3a6caca9.entry.js +4 -0
  598. package/dist/ionic/p-40c261a3.entry.js +4 -0
  599. package/dist/ionic/p-46d74291.entry.js +4 -0
  600. package/dist/ionic/p-481858c3.entry.js +4 -0
  601. package/dist/ionic/p-49d06882.entry.js +4 -0
  602. package/dist/ionic/p-4e41ea20.entry.js +4 -0
  603. package/dist/ionic/p-51a60e0f.entry.js +4 -0
  604. package/dist/ionic/p-582824c5.entry.js +4 -0
  605. package/dist/ionic/p-6241ce47.entry.js +4 -0
  606. package/dist/ionic/p-639dd543.entry.js +4 -0
  607. package/dist/ionic/p-6444c606.entry.js +4 -0
  608. package/dist/ionic/p-675b1a31.entry.js +4 -0
  609. package/dist/ionic/p-6d070558.entry.js +4 -0
  610. package/dist/ionic/p-7268efa5.entry.js +4 -0
  611. package/dist/ionic/p-72c38b88.entry.js +4 -0
  612. package/dist/ionic/p-732b2fd6.entry.js +4 -0
  613. package/dist/ionic/p-79bd78f9.entry.js +4 -0
  614. package/dist/ionic/p-7babec72.entry.js +4 -0
  615. package/dist/ionic/p-86f53961.entry.js +4 -0
  616. package/dist/ionic/p-94de5cfa.entry.js +4 -0
  617. package/dist/ionic/p-9575b654.entry.js +4 -0
  618. package/dist/ionic/p-9eeaBrnk.js +4 -0
  619. package/dist/ionic/p-B0q1YL7N.js +4 -0
  620. package/dist/ionic/p-BFvmZNyx.js +4 -0
  621. package/dist/ionic/p-BKc55Xev.js +4 -0
  622. package/dist/ionic/p-BOVrCkpJ.js +4 -0
  623. package/dist/ionic/p-BYEqWnSg.js +4 -0
  624. package/dist/ionic/p-BmVRXR1y.js +4 -0
  625. package/dist/ionic/p-Bmgaetn_.js +4 -0
  626. package/dist/ionic/p-C7hRNDhM.js +4 -0
  627. package/dist/ionic/p-CIGNaXM1.js +4 -0
  628. package/dist/ionic/{p-D-BelbiX.js → p-CJxh_yLS.js} +1 -1
  629. package/dist/ionic/{p-Cq83JWMg.js → p-CKvCXMs9.js} +1 -1
  630. package/dist/ionic/p-CTfR9YZG.js +4 -0
  631. package/dist/ionic/p-CtWGkNnJ.js +4 -0
  632. package/dist/ionic/{p-B3uz75uZ.js → p-CwgG81ZD.js} +1 -1
  633. package/dist/ionic/p-D-eFFUkA.js +4 -0
  634. package/dist/ionic/{p-HpOiAvpC.js → p-D0dMcSkw.js} +1 -1
  635. package/dist/ionic/{p-B-D7Cfki.js → p-D13Eaw-8.js} +1 -1
  636. package/dist/ionic/{p-C8r4dtYR.js → p-DCv9sLH2.js} +1 -1
  637. package/dist/ionic/p-DDb5r57F.js +4 -0
  638. package/dist/ionic/p-DNcfiJwE.js +4 -0
  639. package/dist/ionic/{p-q1ZSn0l7.js → p-DUt5fQmA.js} +1 -1
  640. package/dist/ionic/{p-COG0_eom.js → p-DV3sJJW8.js} +1 -1
  641. package/dist/ionic/p-DZRJwG4S.js +4 -0
  642. package/dist/ionic/{p-CtUK3cKk.js → p-Dc45iWE4.js} +1 -1
  643. package/dist/ionic/p-DdR6rpbR.js +4 -0
  644. package/dist/ionic/p-QHYY4sjU.js +4 -0
  645. package/dist/ionic/p-ZjP4CjeZ.js +4 -0
  646. package/dist/ionic/p-a127bee2.entry.js +4 -0
  647. package/dist/ionic/p-ac4eb91d.entry.js +4 -0
  648. package/dist/ionic/p-b0a7585c.entry.js +4 -0
  649. package/dist/ionic/p-b3d44509.entry.js +4 -0
  650. package/dist/ionic/p-c19af093.entry.js +4 -0
  651. package/dist/ionic/p-c19f63d0.entry.js +4 -0
  652. package/dist/ionic/p-cc45bcbc.entry.js +4 -0
  653. package/dist/ionic/p-d0a2a1ab.entry.js +4 -0
  654. package/dist/ionic/p-d126e8d3.entry.js +4 -0
  655. package/dist/ionic/p-d1f54e28.entry.js +4 -0
  656. package/dist/ionic/p-d3014190.entry.js +4 -0
  657. package/dist/ionic/p-da7d04cc.entry.js +4 -0
  658. package/dist/ionic/p-db82892c.entry.js +4 -0
  659. package/dist/ionic/p-dbbe606a.entry.js +4 -0
  660. package/dist/ionic/p-dd1aef77.entry.js +4 -0
  661. package/dist/ionic/p-eb024a5b.entry.js +4 -0
  662. package/dist/ionic/p-f8f22cc0.entry.js +4 -0
  663. package/dist/types/components/accordion/accordion.d.ts +3 -5
  664. package/dist/types/components/accordion-group/accordion-group.d.ts +1 -12
  665. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +7 -3
  666. package/dist/types/components/action-sheet/action-sheet.d.ts +2 -3
  667. package/dist/types/components/alert/alert-interface.d.ts +7 -3
  668. package/dist/types/components/alert/alert.d.ts +2 -3
  669. package/dist/types/components/app/app.d.ts +2 -4
  670. package/dist/types/components/avatar/avatar.d.ts +0 -32
  671. package/dist/types/components/back-button/back-button.d.ts +1 -2
  672. package/dist/types/components/backdrop/backdrop.d.ts +0 -4
  673. package/dist/types/components/badge/badge.d.ts +1 -34
  674. package/dist/types/components/breadcrumb/breadcrumb.d.ts +1 -4
  675. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  676. package/dist/types/components/button/button.d.ts +6 -19
  677. package/dist/types/components/buttons/buttons.d.ts +1 -5
  678. package/dist/types/components/card/card.d.ts +1 -8
  679. package/dist/types/components/card-content/card-content.d.ts +1 -2
  680. package/dist/types/components/card-header/card-header.d.ts +2 -3
  681. package/dist/types/components/card-subtitle/card-subtitle.d.ts +1 -2
  682. package/dist/types/components/card-title/card-title.d.ts +1 -2
  683. package/dist/types/components/checkbox/checkbox.d.ts +4 -14
  684. package/dist/types/components/chip/chip.d.ts +1 -26
  685. package/dist/types/components/col/col.d.ts +5 -52
  686. package/dist/types/components/content/content.d.ts +0 -3
  687. package/dist/types/components/datetime/datetime.d.ts +1 -26
  688. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  689. package/dist/types/components/datetime-button/datetime-button.d.ts +1 -2
  690. package/dist/types/components/fab/fab.d.ts +0 -4
  691. package/dist/types/components/fab-button/fab-button.d.ts +3 -5
  692. package/dist/types/components/fab-list/fab-list.d.ts +0 -4
  693. package/dist/types/components/footer/footer.d.ts +3 -4
  694. package/dist/types/components/grid/grid.d.ts +0 -4
  695. package/dist/types/components/header/header.d.ts +3 -9
  696. package/dist/types/components/header/header.utils.d.ts +3 -3
  697. package/dist/types/components/img/img.d.ts +0 -3
  698. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +0 -21
  699. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +0 -4
  700. package/dist/types/components/input/input.d.ts +5 -31
  701. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +0 -2
  702. package/dist/types/components/item/item.d.ts +4 -11
  703. package/dist/types/components/item-divider/item-divider.d.ts +1 -2
  704. package/dist/types/components/item-group/item-group.d.ts +0 -4
  705. package/dist/types/components/item-option/item-option.d.ts +1 -18
  706. package/dist/types/components/item-options/item-options.d.ts +0 -4
  707. package/dist/types/components/item-sliding/item-sliding.d.ts +0 -4
  708. package/dist/types/components/label/label.d.ts +1 -2
  709. package/dist/types/components/list/list.d.ts +1 -15
  710. package/dist/types/components/list-header/list-header.d.ts +1 -2
  711. package/dist/types/components/loading/loading-interface.d.ts +7 -2
  712. package/dist/types/components/loading/loading.d.ts +2 -3
  713. package/dist/types/components/menu/menu.d.ts +0 -3
  714. package/dist/types/components/menu-button/menu-button.d.ts +1 -3
  715. package/dist/types/components/menu-toggle/menu-toggle.d.ts +0 -3
  716. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  717. package/dist/types/components/modal/gestures/swipe-to-close.d.ts +1 -1
  718. package/dist/types/components/modal/modal-interface.d.ts +7 -4
  719. package/dist/types/components/modal/modal.d.ts +25 -11
  720. package/dist/types/components/nav/nav-interface.d.ts +1 -9
  721. package/dist/types/components/nav/nav.d.ts +1 -5
  722. package/dist/types/components/nav-link/nav-link.d.ts +0 -4
  723. package/dist/types/components/note/note.d.ts +1 -2
  724. package/dist/types/components/picker/picker.d.ts +1 -2
  725. package/dist/types/components/picker-column/picker-column.d.ts +1 -2
  726. package/dist/types/components/picker-column-option/picker-column-option.d.ts +0 -4
  727. package/dist/types/components/picker-legacy/picker.d.ts +1 -2
  728. package/dist/types/components/popover/popover-interface.d.ts +6 -3
  729. package/dist/types/components/popover/popover.d.ts +5 -6
  730. package/dist/types/components/popover/utils.d.ts +2 -0
  731. package/dist/types/components/progress-bar/progress-bar.d.ts +1 -10
  732. package/dist/types/components/radio/radio.d.ts +1 -2
  733. package/dist/types/components/radio-group/radio-group.d.ts +0 -8
  734. package/dist/types/components/range/range.d.ts +1 -2
  735. package/dist/types/components/refresher/refresher.d.ts +1 -2
  736. package/dist/types/components/refresher-content/refresher-content.d.ts +0 -4
  737. package/dist/types/components/reorder/reorder.d.ts +0 -9
  738. package/dist/types/components/reorder-group/reorder-group.d.ts +0 -4
  739. package/dist/types/components/ripple-effect/ripple-effect.d.ts +0 -4
  740. package/dist/types/components/route/route.d.ts +0 -4
  741. package/dist/types/components/router/router.d.ts +0 -4
  742. package/dist/types/components/router-link/router-link.d.ts +0 -4
  743. package/dist/types/components/router-outlet/router-outlet.d.ts +1 -4
  744. package/dist/types/components/row/row.d.ts +0 -4
  745. package/dist/types/components/searchbar/searchbar.d.ts +9 -51
  746. package/dist/types/components/segment/segment.d.ts +1 -2
  747. package/dist/types/components/segment-button/segment-button.d.ts +1 -2
  748. package/dist/types/components/select/select.d.ts +13 -41
  749. package/dist/types/components/select-modal/select-modal.d.ts +0 -1
  750. package/dist/types/components/select-option/select-option.d.ts +0 -4
  751. package/dist/types/components/select-popover/select-popover.d.ts +0 -3
  752. package/dist/types/components/skeleton-text/skeleton-text.d.ts +0 -4
  753. package/dist/types/components/spinner/spinner.d.ts +0 -15
  754. package/dist/types/components/split-pane/split-pane.d.ts +0 -4
  755. package/dist/types/components/tab/tab.d.ts +0 -4
  756. package/dist/types/components/tab-bar/tab-bar.d.ts +2 -22
  757. package/dist/types/components/tab-button/tab-button.d.ts +1 -12
  758. package/dist/types/components/tabs/tabs.d.ts +0 -3
  759. package/dist/types/components/text/text.d.ts +1 -2
  760. package/dist/types/components/textarea/textarea.d.ts +4 -17
  761. package/dist/types/components/thumbnail/thumbnail.d.ts +0 -4
  762. package/dist/types/components/title/title.d.ts +0 -4
  763. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  764. package/dist/types/components/toast/toast-interface.d.ts +7 -3
  765. package/dist/types/components/toast/toast.d.ts +2 -19
  766. package/dist/types/components/toggle/toggle.d.ts +1 -15
  767. package/dist/types/components/toolbar/toolbar.d.ts +3 -20
  768. package/dist/types/components.d.ts +196 -1593
  769. package/dist/types/global/ionic-global.d.ts +2 -27
  770. package/dist/types/interface.d.ts +0 -3
  771. package/dist/types/utils/config.d.ts +2 -106
  772. package/dist/types/utils/focus-visible.d.ts +0 -13
  773. package/dist/types/utils/helpers.d.ts +0 -11
  774. package/dist/types/utils/overlays-interface.d.ts +1 -31
  775. package/dist/types/utils/test/playwright/generator.d.ts +2 -31
  776. package/hydrate/index.js +1121 -2890
  777. package/hydrate/index.mjs +1121 -2890
  778. package/package.json +4 -8
  779. package/components/caret-down.js +0 -6
  780. package/components/caret-left.js +0 -6
  781. package/components/caret-right.js +0 -6
  782. package/components/ion-divider.d.ts +0 -11
  783. package/components/ion-divider.js +0 -72
  784. package/components/list2.js +0 -6
  785. package/components/x.js +0 -6
  786. package/css/ionic/bundle.ionic.css +0 -1
  787. package/css/ionic/bundle.ionic.css.map +0 -1
  788. package/css/ionic/core.ionic.css +0 -1
  789. package/css/ionic/core.ionic.css.map +0 -1
  790. package/css/ionic/global.bundle.ionic.css +0 -1
  791. package/css/ionic/global.bundle.ionic.css.map +0 -1
  792. package/css/ionic/ionic-swiper.ionic.css +0 -1
  793. package/css/ionic/ionic-swiper.ionic.css.map +0 -1
  794. package/css/ionic/link.ionic.css +0 -1
  795. package/css/ionic/link.ionic.css.map +0 -1
  796. package/css/ionic/structure.ionic.css +0 -1
  797. package/css/ionic/structure.ionic.css.map +0 -1
  798. package/css/ionic/typography.ionic.css +0 -1
  799. package/css/ionic/typography.ionic.css.map +0 -1
  800. package/css/ionic/utils.bundle.ionic.css +0 -1
  801. package/css/ionic/utils.bundle.ionic.css.map +0 -1
  802. package/dist/cjs/caret-down-vtVgfXIs.js +0 -8
  803. package/dist/cjs/caret-left-CxZXLRv5.js +0 -8
  804. package/dist/cjs/caret-right-CRCgv98E.js +0 -8
  805. package/dist/cjs/ion-divider.cjs.entry.js +0 -51
  806. package/dist/cjs/ionic-global-DpRwOXLK.js +0 -506
  807. package/dist/cjs/list-a-7GSA6K.js +0 -8
  808. package/dist/cjs/x-BTF99yFH.js +0 -8
  809. package/dist/collection/components/accordion/accordion.ionic.css +0 -196
  810. package/dist/collection/components/accordion-group/accordion-group.ionic.css +0 -93
  811. package/dist/collection/components/avatar/avatar.ionic.css +0 -391
  812. package/dist/collection/components/backdrop/backdrop.ionic.css +0 -109
  813. package/dist/collection/components/badge/badge.ionic.css +0 -275
  814. package/dist/collection/components/button/button.ionic.css +0 -636
  815. package/dist/collection/components/buttons/buttons.ionic.css +0 -97
  816. package/dist/collection/components/card/card.ionic.css +0 -144
  817. package/dist/collection/components/card-content/card-content.ionic.css +0 -92
  818. package/dist/collection/components/card-header/card-header.ionic.css +0 -85
  819. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +0 -144
  820. package/dist/collection/components/checkbox/checkbox.ionic.css +0 -539
  821. package/dist/collection/components/chip/chip.ionic.css +0 -215
  822. package/dist/collection/components/datetime/datetime.ionic.css +0 -711
  823. package/dist/collection/components/divider/divider.ionic.css +0 -148
  824. package/dist/collection/components/divider/divider.ios.css +0 -87
  825. package/dist/collection/components/divider/divider.js +0 -94
  826. package/dist/collection/components/divider/divider.md.css +0 -87
  827. package/dist/collection/components/header/header.ionic.css +0 -97
  828. package/dist/collection/components/input/input.ionic.css +0 -885
  829. package/dist/collection/components/input-otp/input-otp.ionic.css +0 -369
  830. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +0 -78
  831. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +0 -61
  832. package/dist/collection/components/item/item.ionic.css +0 -508
  833. package/dist/collection/components/item-option/item-option.ionic.css +0 -278
  834. package/dist/collection/components/item-options/item-options.ionic.css +0 -221
  835. package/dist/collection/components/list/list.ionic.css +0 -212
  836. package/dist/collection/components/list-header/list-header.ionic.css +0 -190
  837. package/dist/collection/components/menu-button/menu-button.ionic.css +0 -236
  838. package/dist/collection/components/modal/modal.ionic.css +0 -247
  839. package/dist/collection/components/progress-bar/progress-bar.ionic.css +0 -287
  840. package/dist/collection/components/radio/radio.ionic.css +0 -422
  841. package/dist/collection/components/radio-group/radio-group.ionic.css +0 -119
  842. package/dist/collection/components/range/range.ionic.css +0 -563
  843. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +0 -215
  844. package/dist/collection/components/searchbar/searchbar.ionic.css +0 -626
  845. package/dist/collection/components/segment/segment.ionic.css +0 -115
  846. package/dist/collection/components/segment-button/segment-button.ionic.css +0 -351
  847. package/dist/collection/components/select/select.ionic.css +0 -777
  848. package/dist/collection/components/select-modal/select-modal.ionic.css +0 -130
  849. package/dist/collection/components/spinner/spinner.native.css +0 -198
  850. package/dist/collection/components/tab-bar/tab-bar.ionic.css +0 -201
  851. package/dist/collection/components/tab-button/tab-button.ionic.css +0 -337
  852. package/dist/collection/components/textarea/textarea.ionic.css +0 -885
  853. package/dist/collection/components/title/title.ionic.css +0 -127
  854. package/dist/collection/components/toast/toast.ionic.css +0 -394
  855. package/dist/collection/components/toggle/toggle.ionic.css +0 -508
  856. package/dist/collection/components/toolbar/test/image.svg +0 -1
  857. package/dist/collection/components/toolbar/toolbar.ionic.css +0 -241
  858. package/dist/esm/caret-down-D1t981Ih.js +0 -6
  859. package/dist/esm/caret-left-fIOYmaqA.js +0 -6
  860. package/dist/esm/caret-right-BYSs-jZz.js +0 -6
  861. package/dist/esm/ion-divider.entry.js +0 -49
  862. package/dist/esm/ionic-global-2lDD9k7y.js +0 -495
  863. package/dist/esm/list-Dhi5xtNS.js +0 -6
  864. package/dist/esm/x-BDqjX7Z_.js +0 -6
  865. package/dist/ionic/p-01577340.entry.js +0 -4
  866. package/dist/ionic/p-04b1d37a.entry.js +0 -4
  867. package/dist/ionic/p-04e0ff62.entry.js +0 -4
  868. package/dist/ionic/p-0607ce8e.entry.js +0 -4
  869. package/dist/ionic/p-0744265c.entry.js +0 -4
  870. package/dist/ionic/p-0ac7c560.entry.js +0 -4
  871. package/dist/ionic/p-0c41c8a8.entry.js +0 -4
  872. package/dist/ionic/p-0eecce18.entry.js +0 -4
  873. package/dist/ionic/p-0f124806.entry.js +0 -4
  874. package/dist/ionic/p-19b2060d.entry.js +0 -4
  875. package/dist/ionic/p-27dbb44c.entry.js +0 -4
  876. package/dist/ionic/p-28a9d991.entry.js +0 -4
  877. package/dist/ionic/p-2dc676b2.entry.js +0 -4
  878. package/dist/ionic/p-381eb2a4.entry.js +0 -4
  879. package/dist/ionic/p-412d5d9e.entry.js +0 -4
  880. package/dist/ionic/p-42149296.entry.js +0 -4
  881. package/dist/ionic/p-472b2ca3.entry.js +0 -4
  882. package/dist/ionic/p-5543b7b8.entry.js +0 -4
  883. package/dist/ionic/p-57a2d30b.entry.js +0 -4
  884. package/dist/ionic/p-59a79bd9.entry.js +0 -4
  885. package/dist/ionic/p-5daa0980.entry.js +0 -4
  886. package/dist/ionic/p-5f9d9c14.entry.js +0 -4
  887. package/dist/ionic/p-60549f06.entry.js +0 -4
  888. package/dist/ionic/p-616dd053.entry.js +0 -4
  889. package/dist/ionic/p-63a2b52a.entry.js +0 -4
  890. package/dist/ionic/p-68c064ce.entry.js +0 -4
  891. package/dist/ionic/p-6bb99f41.entry.js +0 -4
  892. package/dist/ionic/p-742fed9f.entry.js +0 -4
  893. package/dist/ionic/p-7fe3ea65.entry.js +0 -4
  894. package/dist/ionic/p-826267d6.entry.js +0 -4
  895. package/dist/ionic/p-8681a2a7.entry.js +0 -4
  896. package/dist/ionic/p-8ee09d4e.entry.js +0 -4
  897. package/dist/ionic/p-8f541b05.entry.js +0 -4
  898. package/dist/ionic/p-BDqjX7Z_.js +0 -4
  899. package/dist/ionic/p-BYSs-jZz.js +0 -4
  900. package/dist/ionic/p-BiTKUjko.js +0 -4
  901. package/dist/ionic/p-ByhhQryg.js +0 -4
  902. package/dist/ionic/p-CK1xn1Nt.js +0 -4
  903. package/dist/ionic/p-COLHV2ym.js +0 -4
  904. package/dist/ionic/p-C_97se21.js +0 -4
  905. package/dist/ionic/p-CvRDI-Iz.js +0 -4
  906. package/dist/ionic/p-D1t981Ih.js +0 -4
  907. package/dist/ionic/p-DHeUgOSJ.js +0 -4
  908. package/dist/ionic/p-DM-v_NNE.js +0 -4
  909. package/dist/ionic/p-DeEDqH91.js +0 -4
  910. package/dist/ionic/p-Dhi5xtNS.js +0 -4
  911. package/dist/ionic/p-DoGrslUl.js +0 -4
  912. package/dist/ionic/p-Dq8ap6AD.js +0 -4
  913. package/dist/ionic/p-DyaKZbAH.js +0 -4
  914. package/dist/ionic/p-UafGZQ8e.js +0 -4
  915. package/dist/ionic/p-a35678f4.entry.js +0 -4
  916. package/dist/ionic/p-a6a37a34.entry.js +0 -4
  917. package/dist/ionic/p-a89211bd.entry.js +0 -4
  918. package/dist/ionic/p-add1a5d8.entry.js +0 -4
  919. package/dist/ionic/p-af1f624e.entry.js +0 -4
  920. package/dist/ionic/p-b475ec18.entry.js +0 -4
  921. package/dist/ionic/p-bd295ca7.entry.js +0 -4
  922. package/dist/ionic/p-be82dc77.entry.js +0 -4
  923. package/dist/ionic/p-c082f853.entry.js +0 -4
  924. package/dist/ionic/p-c19b5c8c.entry.js +0 -4
  925. package/dist/ionic/p-cdbfbff6.entry.js +0 -4
  926. package/dist/ionic/p-d3f64c58.entry.js +0 -4
  927. package/dist/ionic/p-d9c9592a.entry.js +0 -4
  928. package/dist/ionic/p-da0a2ca6.entry.js +0 -4
  929. package/dist/ionic/p-da49c0fe.entry.js +0 -4
  930. package/dist/ionic/p-dacd8666.entry.js +0 -4
  931. package/dist/ionic/p-e1d84521.entry.js +0 -4
  932. package/dist/ionic/p-ecba552f.entry.js +0 -4
  933. package/dist/ionic/p-ecf8e713.entry.js +0 -4
  934. package/dist/ionic/p-f667945d.entry.js +0 -4
  935. package/dist/ionic/p-fIOYmaqA.js +0 -4
  936. package/dist/ionic/p-nP9c7bo5.js +0 -4
  937. package/dist/ionic/p-of4jy1ch.js +0 -4
  938. package/dist/ionic/p-qZR4N8Lu.js +0 -4
  939. package/dist/ionic/p-vXpMhGrs.js +0 -4
  940. package/dist/types/components/divider/divider.d.ts +0 -20
  941. /package/dist/collection/components/{refresher-content/refresher-content.css → input-password-toggle/input-password-toggle.css} +0 -0
@@ -7,10 +7,9 @@ import { getElementRoot, raf } from "../../utils/helpers";
7
7
  import { hapticSelectionChanged, hapticSelectionEnd, hapticSelectionStart } from "../../utils/native/haptic";
8
8
  import { isPlatform } from "../../utils/platform";
9
9
  import { createColorClasses } from "../../utils/theme";
10
- import { getIonTheme } from "../../global/ionic-global";
10
+ import { getIonMode } from "../../global/ionic-global";
11
11
  /**
12
- * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
13
- * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
12
+ * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
14
13
  *
15
14
  * @slot prefix - Content to show on the left side of the picker options.
16
15
  * @slot suffix - Content to show on the right side of the picker options.
@@ -551,15 +550,15 @@ export class PickerColumn {
551
550
  }
552
551
  render() {
553
552
  const { color, disabled, isActive, numericInput } = this;
554
- const theme = getIonTheme(this);
555
- return (h(Host, { key: '7c9603b518a73f9883ff01464fe3f70c14b9059c', class: createColorClasses(color, {
556
- [theme]: true,
553
+ const mode = getIonMode(this);
554
+ return (h(Host, { key: 'db903fd415f8a2d91994dececca481c1af8ba6a9', class: createColorClasses(color, {
555
+ [mode]: true,
557
556
  ['picker-column-active']: isActive,
558
557
  ['picker-column-numeric-input']: numericInput,
559
558
  ['picker-column-disabled']: disabled,
560
- }) }, h("slot", { key: 'e98e79dd51550361131d59a8871fe2990dc40edc', name: "prefix" }), h("div", { key: '85894791c93da84401138285bf4fbb169897c3d6', class: "picker-opts", ref: (el) => {
559
+ }) }, h("slot", { key: '02ce9e1dd7df91afcd50b06416552bcffb5dec98', name: "prefix" }), h("div", { key: '6dfd7d2429bec19244a6b1afb4448121963a031b', class: "picker-opts", ref: (el) => {
561
560
  this.scrollEl = el;
562
- }, role: "slider", tabindex: this.disabled ? undefined : 0, "aria-label": this.ariaLabel, "aria-valuemin": 0, "aria-valuemax": 0, "aria-valuenow": 0, "aria-valuetext": this.getOptionValueText(this.activeItem), "aria-orientation": "vertical", onKeyDown: (ev) => this.onKeyDown(ev) }, h("div", { key: 'd9546be214c2faf2340faf31d8468c2f39f31e4c', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '47671f18a0a0659c0660b3b82d234e92b6dcc721', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: 'f3fc8f9cfc67d0d0dfbf7c134524353297117170', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("slot", { key: '4c30c1e5df5f1758978458dbd7e405a01d3118fe' }), h("div", { key: '4e71db05a18d645c6fa49d3a6e67a68cc374b868', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '7fd2461759a92a6909ab514a14bdb41f7d2d16d5', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '015fc0875e5e2df575810fd79635ed5a0f5a29dd', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0")), h("slot", { key: 'd706a79b1b5b31dc1e358fe1d64b41a2104ea153', name: "suffix" })));
561
+ }, role: "slider", tabindex: this.disabled ? undefined : 0, "aria-label": this.ariaLabel, "aria-valuemin": 0, "aria-valuemax": 0, "aria-valuenow": 0, "aria-valuetext": this.getOptionValueText(this.activeItem), "aria-orientation": "vertical", onKeyDown: (ev) => this.onKeyDown(ev) }, h("div", { key: 'e30ce0b9cefbfe4d4441fa33acf595da31855c3f', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '8be2bd293c12c6ba720d9b31d0d561a96f42e97d', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '8afdcddddabbf646fbb55cb0ba4448309a2c1dd9', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("slot", { key: '6aa0dacc34d6848575ad5b122b9046982308ca43' }), h("div", { key: '92ec8a357414c1b779b11d1dd18fb87a7ee63982', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: 'b89457cb74b5907c25594ff6720ac54ca537e933', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '5bbc92e6bc24de08e39873bf08c5b668373ac0f8', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0")), h("slot", { key: 'd7bf2b519214f0f3576a4ca79844ad97827dd97f', name: "suffix" })));
563
562
  }
564
563
  static get is() { return "ion-picker-column"; }
565
564
  static get encapsulation() { return "shadow"; }
@@ -1,9 +1,3 @@
1
- /**
2
- * Convert a pixels given value into rem
3
- *
4
- * @param pixels - Value in pixels to be converted (i.e. px)
5
- * @param context (optional) - Baseline value
6
- */
7
1
  /**
8
2
  * Convert a font size to a dynamic font size.
9
3
  * Fonts that participate in Dynamic Type should use
@@ -4,11 +4,7 @@
4
4
  import { Host, h } from "@stencil/core";
5
5
  import { inheritAttributes } from "../../utils/helpers";
6
6
  import { createColorClasses } from "../../utils/theme";
7
- import { getIonTheme } from "../../global/ionic-global";
8
- /**
9
- * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
10
- * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
11
- */
7
+ import { getIonMode } from "../../global/ionic-global";
12
8
  export class PickerColumnOption {
13
9
  constructor() {
14
10
  /**
@@ -94,26 +90,24 @@ export class PickerColumnOption {
94
90
  }
95
91
  render() {
96
92
  const { color, disabled, ariaLabel } = this;
97
- const theme = getIonTheme(this);
98
- return (h(Host, { key: 'dc87366ba724d5a0243dcde6bc8cc5c16d6d0c26', class: createColorClasses(color, {
99
- [theme]: true,
93
+ const mode = getIonMode(this);
94
+ return (h(Host, { key: 'f816729941aabcb31ddfdce3ffe2e2139030d715', class: createColorClasses(color, {
95
+ [mode]: true,
100
96
  ['option-disabled']: disabled,
101
- }) }, h("div", { key: '4cb0791a9e8f0e6c3403b2cb72c74502025f5218', class: 'picker-column-option-button', role: "button", "aria-label": ariaLabel, onClick: () => this.onClick() }, h("slot", { key: 'f6b8dd7bc429991ae9c0d3448127117d62c068ba' }))));
97
+ }) }, h("div", { key: 'd942de84fd14d7dc06b1e5cf4f7920d1dc3c6371', class: 'picker-column-option-button', role: "button", "aria-label": ariaLabel, onClick: () => this.onClick() }, h("slot", { key: 'b0df5717b42209e649097209a01476e1a66f5c5c' }))));
102
98
  }
103
99
  static get is() { return "ion-picker-column-option"; }
104
100
  static get encapsulation() { return "shadow"; }
105
101
  static get originalStyleUrls() {
106
102
  return {
107
103
  "ios": ["picker-column-option.ios.scss"],
108
- "md": ["picker-column-option.md.scss"],
109
- "ionic": ["picker-column-option.md.scss"]
104
+ "md": ["picker-column-option.md.scss"]
110
105
  };
111
106
  }
112
107
  static get styleUrls() {
113
108
  return {
114
109
  "ios": ["picker-column-option.ios.css"],
115
- "md": ["picker-column-option.md.css"],
116
- "ionic": ["picker-column-option.md.css"]
110
+ "md": ["picker-column-option.md.css"]
117
111
  };
118
112
  }
119
113
  static get properties() {
@@ -1,9 +1,3 @@
1
- /**
2
- * Convert a pixels given value into rem
3
- *
4
- * @param pixels - Value in pixels to be converted (i.e. px)
5
- * @param context (optional) - Baseline value
6
- */
7
1
  /**
8
2
  * Convert a font size to a dynamic font size.
9
3
  * Fonts that participate in Dynamic Type should use
@@ -1,9 +1,3 @@
1
- /**
2
- * Convert a pixels given value into rem
3
- *
4
- * @param pixels - Value in pixels to be converted (i.e. px)
5
- * @param context (optional) - Baseline value
6
- */
7
1
  /**
8
2
  * Convert a font size to a dynamic font size.
9
3
  * Fonts that participate in Dynamic Type should use
@@ -109,8 +103,8 @@
109
103
 
110
104
  .picker-wrapper {
111
105
  border-radius: var(--border-radius);
112
- right: 0;
113
106
  left: 0;
107
+ right: 0;
114
108
  bottom: 0;
115
109
  -webkit-margin-start: auto;
116
110
  margin-inline-start: auto;
@@ -168,12 +162,6 @@
168
162
  pointer-events: none;
169
163
  }
170
164
 
171
- /**
172
- * Convert a pixels given value into rem
173
- *
174
- * @param pixels - Value in pixels to be converted (i.e. px)
175
- * @param context (optional) - Baseline value
176
- */
177
165
  /**
178
166
  * Convert a font size to a dynamic font size.
179
167
  * Fonts that participate in Dynamic Type should use
@@ -7,13 +7,12 @@ import { createLockController } from "../../utils/lock-controller";
7
7
  import { printIonWarning } from "../../utils/logging/index";
8
8
  import { createDelegateController, createTriggerController, BACKDROP, dismiss, eventMethod, isCancel, prepareOverlay, present, safeCall, setOverlayId, } from "../../utils/overlays";
9
9
  import { getClassMap } from "../../utils/theme";
10
- import { getIonTheme } from "../../global/ionic-global";
10
+ import { getIonMode } from "../../global/ionic-global";
11
11
  import { iosEnterAnimation } from "./animations/ios.enter";
12
12
  import { iosLeaveAnimation } from "./animations/ios.leave";
13
13
  // TODO(FW-2832): types
14
14
  /**
15
- * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
16
- * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
15
+ * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
17
16
  */
18
17
  export class Picker {
19
18
  constructor() {
@@ -207,12 +206,12 @@ export class Picker {
207
206
  }
208
207
  render() {
209
208
  const { htmlAttributes } = this;
210
- const theme = getIonTheme(this);
211
- return (h(Host, Object.assign({ key: '722010a58f4c7fc3128b1f95675eba2b2b4a6f6a', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
209
+ const mode = getIonMode(this);
210
+ return (h(Host, Object.assign({ key: 'b95440747eb80cba23ae676d399d5e5816722c58', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
212
211
  zIndex: `${20000 + this.overlayIndex}`,
213
- }, class: Object.assign({ [theme]: true,
212
+ }, class: Object.assign({ [mode]: true,
214
213
  // Used internally for styling
215
- [`picker-${theme}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), h("ion-backdrop", { key: 'b3acdedf7f305b26dbec78a9e3445f24707b6673', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: '67bc76dbd12f1429ff5b5951480ed248fdef0d3b', tabindex: "0", "aria-hidden": "true" }), h("div", { key: '9bf585133a606474e1ec4ddc1028f06e1bbc88d5', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, h("div", { key: '8bd35f590263153814969636c3c47399f13aed64', class: "picker-toolbar" }, this.buttons.map((b) => (h("div", { class: buttonWrapperClass(b) }, h("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass(b) }, b.text))))), h("div", { key: 'e12063ea0bd81dfc54e379adddca75941cb8f172', class: "picker-columns" }, h("div", { key: '96baa0fab12ef8d9b79d8f10617a6791dcb2711c', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => h("ion-picker-legacy-column", { col: c })), h("div", { key: '42f2f7ad28a1802a5763e113c3fa3f807caa96de', class: "picker-below-highlight" }))), h("div", { key: '274d15028222bbd586c0497d56934d0ff72125bd', tabindex: "0", "aria-hidden": "true" })));
214
+ [`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), h("ion-backdrop", { key: '169d1c83ef40e7fcb134219a585298b403a70b0f', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: '98518e5f5cea2dfb8dfa63d9545e9ae3a5765023', tabindex: "0", "aria-hidden": "true" }), h("div", { key: '151755ab8eb23f9adafbfe201349398f5a69dee7', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, h("div", { key: '5dcf93b2f4fe8f4fce7c7aec8f85ef45a03ef470', class: "picker-toolbar" }, this.buttons.map((b) => (h("div", { class: buttonWrapperClass(b) }, h("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass(b) }, b.text))))), h("div", { key: 'fd5d66708edd38adc5a4d2fad7298969398a05e3', class: "picker-columns" }, h("div", { key: '1b5830fd6cef1016af7736792c514965d6cb38a8', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => h("ion-picker-legacy-column", { col: c })), h("div", { key: 'c6edeca7afd69e13c9c66ba36f261974fd0f8f78', class: "picker-below-highlight" }))), h("div", { key: 'e2a4b24710e30579b14b82dbfd3761b2187797b5', tabindex: "0", "aria-hidden": "true" })));
216
215
  }
217
216
  static get is() { return "ion-picker-legacy"; }
218
217
  static get encapsulation() { return "scoped"; }
@@ -1,9 +1,3 @@
1
- /**
2
- * Convert a pixels given value into rem
3
- *
4
- * @param pixels - Value in pixels to be converted (i.e. px)
5
- * @param context (optional) - Baseline value
6
- */
7
1
  /**
8
2
  * Convert a font size to a dynamic font size.
9
3
  * Fonts that participate in Dynamic Type should use
@@ -109,8 +103,8 @@
109
103
 
110
104
  .picker-wrapper {
111
105
  border-radius: var(--border-radius);
112
- right: 0;
113
106
  left: 0;
107
+ right: 0;
114
108
  bottom: 0;
115
109
  -webkit-margin-start: auto;
116
110
  margin-inline-start: auto;
@@ -168,12 +162,6 @@
168
162
  pointer-events: none;
169
163
  }
170
164
 
171
- /**
172
- * Convert a pixels given value into rem
173
- *
174
- * @param pixels - Value in pixels to be converted (i.e. px)
175
- * @param context (optional) - Baseline value
176
- */
177
165
  /**
178
166
  * Convert a font size to a dynamic font size.
179
167
  * Fonts that participate in Dynamic Type should use
@@ -1,9 +1,3 @@
1
- /**
2
- * Convert a pixels given value into rem
3
- *
4
- * @param pixels - Value in pixels to be converted (i.e. px)
5
- * @param context (optional) - Baseline value
6
- */
7
1
  /**
8
2
  * Convert a font size to a dynamic font size.
9
3
  * Fonts that participate in Dynamic Type should use
@@ -126,12 +120,6 @@
126
120
  white-space: nowrap;
127
121
  }
128
122
 
129
- /**
130
- * Convert a pixels given value into rem
131
- *
132
- * @param pixels - Value in pixels to be converted (i.e. px)
133
- * @param context (optional) - Baseline value
134
- */
135
123
  /**
136
124
  * Convert a font size to a dynamic font size.
137
125
  * Fonts that participate in Dynamic Type should use
@@ -5,7 +5,7 @@ import { Host, h } from "@stencil/core";
5
5
  import { clamp } from "../../utils/helpers";
6
6
  import { hapticSelectionChanged, hapticSelectionEnd, hapticSelectionStart } from "../../utils/native/haptic";
7
7
  import { getClassMap } from "../../utils/theme";
8
- import { getIonMode, getIonTheme } from "../../global/ionic-global";
8
+ import { getIonMode } from "../../global/ionic-global";
9
9
  /**
10
10
  * @internal
11
11
  */
@@ -334,10 +334,10 @@ export class PickerColumnCmp {
334
334
  }
335
335
  render() {
336
336
  const col = this.col;
337
- const theme = getIonTheme(this);
338
- return (h(Host, { key: 'ab339936b884abbaf075bfaf1a1556dc396ea959', class: Object.assign({ [theme]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
337
+ const mode = getIonMode(this);
338
+ return (h(Host, { key: 'ed32d108dd94f0302fb453c31a3497ebae65ec37', class: Object.assign({ [mode]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
339
339
  'max-width': this.col.columnWidth,
340
- } }, col.prefix && (h("div", { key: '3cea9388a0818db89789087b90790b7734c4a9bf', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), h("div", { key: '4e4a704f5a6ca6e1647960655ce3fe454fa33f0a', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (h("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (h("div", { key: '536ee0f81d87db545846d5cdc8364e93f15a344c', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
340
+ } }, col.prefix && (h("div", { key: '9f0634890e66fd4ae74f826d1eea3431de121393', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), h("div", { key: '337e996e5be91af16446085fe22436f213b771eb', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (h("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (h("div", { key: 'd69a132599d78d9e5107f12228978cfce4e43098', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
341
341
  }
342
342
  static get is() { return "ion-picker-legacy-column"; }
343
343
  static get originalStyleUrls() {
@@ -1,9 +1,3 @@
1
- /**
2
- * Convert a pixels given value into rem
3
- *
4
- * @param pixels - Value in pixels to be converted (i.e. px)
5
- * @param context (optional) - Baseline value
6
- */
7
1
  /**
8
2
  * Convert a font size to a dynamic font size.
9
3
  * Fonts that participate in Dynamic Type should use
@@ -126,12 +120,6 @@
126
120
  white-space: nowrap;
127
121
  }
128
122
 
129
- /**
130
- * Convert a pixels given value into rem
131
- *
132
- * @param pixels - Value in pixels to be converted (i.e. px)
133
- * @param context (optional) - Baseline value
134
- */
135
123
  /**
136
124
  * Convert a font size to a dynamic font size.
137
125
  * Fonts that participate in Dynamic Type should use
@@ -31,7 +31,7 @@ export const iosEnterAnimation = (baseEl, opts) => {
31
31
  const results = getPopoverPosition(isRTL, contentWidth, contentHeight, arrowWidth, arrowHeight, reference, side, align, defaultPosition, trigger, ev);
32
32
  const padding = size === 'cover' ? 0 : POPOVER_IOS_BODY_PADDING;
33
33
  const margin = size === 'cover' ? 0 : 25;
34
- const { originX, originY, top, left, bottom, checkSafeAreaLeft, checkSafeAreaRight, arrowTop, arrowLeft, addPopoverBottomClass, } = calculateWindowAdjustment(side, results.top, results.left, padding, bodyWidth, bodyHeight, contentWidth, contentHeight, margin, results.originX, results.originY, results.referenceCoordinates, results.arrowTop, results.arrowLeft, arrowHeight);
34
+ const { originX, originY, top, left, bottom, checkSafeAreaTop, checkSafeAreaBottom, checkSafeAreaLeft, checkSafeAreaRight, arrowTop, arrowLeft, addPopoverBottomClass, } = calculateWindowAdjustment(side, results.top, results.left, padding, bodyWidth, bodyHeight, contentWidth, contentHeight, margin, results.originX, results.originY, results.referenceCoordinates, results.arrowTop, results.arrowLeft, arrowHeight);
35
35
  const baseAnimation = createAnimation();
36
36
  const backdropAnimation = createAnimation();
37
37
  const contentAnimation = createAnimation();
@@ -61,19 +61,35 @@ export const iosEnterAnimation = (baseEl, opts) => {
61
61
  if (addPopoverBottomClass) {
62
62
  baseEl.classList.add('popover-bottom');
63
63
  }
64
- if (bottom !== undefined) {
65
- contentEl.style.setProperty('bottom', `${bottom}px`);
66
- }
64
+ /**
65
+ * Safe area CSS variable adjustments.
66
+ * When the popover is positioned near an edge, we add the corresponding
67
+ * safe-area inset to ensure the popover doesn't overlap with system UI
68
+ * (status bars, home indicators, navigation bars on Android API 36+, etc.)
69
+ */
70
+ const safeAreaTop = ' + var(--ion-safe-area-top, 0)';
71
+ const safeAreaBottom = ' + var(--ion-safe-area-bottom, 0)';
67
72
  const safeAreaLeft = ' + var(--ion-safe-area-left, 0)';
68
73
  const safeAreaRight = ' - var(--ion-safe-area-right, 0)';
74
+ let topValue = `${top}px`;
75
+ let bottomValue = bottom !== undefined ? `${bottom}px` : undefined;
69
76
  let leftValue = `${left}px`;
77
+ if (checkSafeAreaTop) {
78
+ topValue = `${top}px${safeAreaTop}`;
79
+ }
80
+ if (checkSafeAreaBottom && bottomValue !== undefined) {
81
+ bottomValue = `${bottom}px${safeAreaBottom}`;
82
+ }
70
83
  if (checkSafeAreaLeft) {
71
84
  leftValue = `${left}px${safeAreaLeft}`;
72
85
  }
73
86
  if (checkSafeAreaRight) {
74
87
  leftValue = `${left}px${safeAreaRight}`;
75
88
  }
76
- contentEl.style.setProperty('top', `calc(${top}px + var(--offset-y, 0))`);
89
+ if (bottomValue !== undefined) {
90
+ contentEl.style.setProperty('bottom', `calc(${bottomValue})`);
91
+ }
92
+ contentEl.style.setProperty('top', `calc(${topValue} + var(--offset-y, 0))`);
77
93
  contentEl.style.setProperty('left', `calc(${leftValue} + var(--offset-x, 0))`);
78
94
  contentEl.style.setProperty('transform-origin', `${originY} ${originX}`);
79
95
  if (arrowEl !== null) {
@@ -28,7 +28,23 @@ export const mdEnterAnimation = (baseEl, opts) => {
28
28
  };
29
29
  const results = getPopoverPosition(isRTL, contentWidth, contentHeight, 0, 0, reference, side, align, defaultPosition, trigger, ev);
30
30
  const padding = size === 'cover' ? 0 : POPOVER_MD_BODY_PADDING;
31
- const { originX, originY, top, left, bottom } = calculateWindowAdjustment(side, results.top, results.left, padding, bodyWidth, bodyHeight, contentWidth, contentHeight, 0, results.originX, results.originY, results.referenceCoordinates);
31
+ const { originX, originY, top, left, bottom, checkSafeAreaTop, checkSafeAreaBottom } = calculateWindowAdjustment(side, results.top, results.left, padding, bodyWidth, bodyHeight, contentWidth, contentHeight, 0, results.originX, results.originY, results.referenceCoordinates);
32
+ /**
33
+ * Safe area CSS variable adjustments.
34
+ * When the popover is positioned near an edge, we add the corresponding
35
+ * safe-area inset to ensure the popover doesn't overlap with system UI
36
+ * (status bars, home indicators, navigation bars on Android API 36+, etc.)
37
+ */
38
+ const safeAreaTop = ' + var(--ion-safe-area-top, 0)';
39
+ const safeAreaBottom = ' + var(--ion-safe-area-bottom, 0)';
40
+ let topValue = `${top}px`;
41
+ let bottomValue = bottom !== undefined ? `${bottom}px` : undefined;
42
+ if (checkSafeAreaTop) {
43
+ topValue = `${top}px${safeAreaTop}`;
44
+ }
45
+ if (checkSafeAreaBottom && bottomValue !== undefined) {
46
+ bottomValue = `${bottom}px${safeAreaBottom}`;
47
+ }
32
48
  const baseAnimation = createAnimation();
33
49
  const backdropAnimation = createAnimation();
34
50
  const wrapperAnimation = createAnimation();
@@ -45,13 +61,13 @@ export const mdEnterAnimation = (baseEl, opts) => {
45
61
  contentAnimation
46
62
  .addElement(contentEl)
47
63
  .beforeStyles({
48
- top: `calc(${top}px + var(--offset-y, 0px))`,
64
+ top: `calc(${topValue} + var(--offset-y, 0px))`,
49
65
  left: `calc(${left}px + var(--offset-x, 0px))`,
50
66
  'transform-origin': `${originY} ${originX}`,
51
67
  })
52
68
  .beforeAddWrite(() => {
53
- if (bottom !== undefined) {
54
- contentEl.style.setProperty('bottom', `${bottom}px`);
69
+ if (bottomValue !== undefined) {
70
+ contentEl.style.setProperty('bottom', `calc(${bottomValue})`);
55
71
  }
56
72
  })
57
73
  .fromTo('transform', 'scale(0.8)', 'scale(1)');
@@ -1,9 +1,3 @@
1
- /**
2
- * Convert a pixels given value into rem
3
- *
4
- * @param pixels - Value in pixels to be converted (i.e. px)
5
- * @param context (optional) - Baseline value
6
- */
7
1
  /**
8
2
  * Convert a font size to a dynamic font size.
9
3
  * Fonts that participate in Dynamic Type should use
@@ -84,8 +78,8 @@
84
78
  --height: auto;
85
79
  --offset-x: 0px;
86
80
  --offset-y: 0px;
87
- right: 0;
88
81
  left: 0;
82
+ right: 0;
89
83
  top: 0;
90
84
  bottom: 0;
91
85
  display: flex;
@@ -183,12 +177,6 @@
183
177
  }
184
178
  }
185
179
 
186
- /**
187
- * Convert a pixels given value into rem
188
- *
189
- * @param pixels - Value in pixels to be converted (i.e. px)
190
- * @param context (optional) - Baseline value
191
- */
192
180
  /**
193
181
  * Convert a font size to a dynamic font size.
194
182
  * Fonts that participate in Dynamic Type should use
@@ -11,7 +11,7 @@ import { BACKDROP, dismiss, eventMethod, prepareOverlay, present, setOverlayId,
11
11
  import { isPlatform } from "../../utils/platform";
12
12
  import { getClassMap } from "../../utils/theme";
13
13
  import { deepReady, waitForMount } from "../../utils/transition/index";
14
- import { getIonTheme } from "../../global/ionic-global";
14
+ import { getIonMode } from "../../global/ionic-global";
15
15
  import { iosEnterAnimation } from "./animations/ios.enter";
16
16
  import { iosLeaveAnimation } from "./animations/ios.leave";
17
17
  import { mdEnterAnimation } from "./animations/md.enter";
@@ -19,13 +19,12 @@ import { mdLeaveAnimation } from "./animations/md.leave";
19
19
  import { configureDismissInteraction, configureKeyboardInteraction, configureTriggerInteraction } from "./utils";
20
20
  // TODO(FW-2832): types
21
21
  /**
22
- * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
23
- * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
22
+ * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
24
23
  *
25
24
  * @slot - Content is placed inside of the `.popover-content` element.
26
25
  *
27
26
  * @part backdrop - The `ion-backdrop` element.
28
- * @part arrow - The arrow that points to the reference element. Only applies on `"ios"` theme.
27
+ * @part arrow - The arrow that points to the reference element. Only applies on `ios` mode.
29
28
  * @part content - The wrapper element for the default slot.
30
29
  */
31
30
  export class Popover {
@@ -56,7 +55,7 @@ export class Popover {
56
55
  this.showBackdrop = true;
57
56
  /**
58
57
  * If `true`, the popover will be translucent.
59
- * Only applies when the theme is `"ios"` and the device supports
58
+ * Only applies when the mode is `"ios"` and the device supports
60
59
  * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
61
60
  */
62
61
  this.translucent = false;
@@ -104,7 +103,7 @@ export class Popover {
104
103
  this.side = 'bottom';
105
104
  /**
106
105
  * If `true`, the popover will display an arrow that points at the
107
- * `reference` on `"ios"` theme.
106
+ * `reference` when running in `ios` mode. Does not apply in `md` mode.
108
107
  */
109
108
  this.arrow = true;
110
109
  /**
@@ -237,7 +236,7 @@ export class Popover {
237
236
  const popoverId = (_b = (_a = this.htmlAttributes) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : setOverlayId(el);
238
237
  this.parentPopover = el.closest(`ion-popover:not(#${popoverId})`);
239
238
  if (this.alignment === undefined) {
240
- this.alignment = getIonTheme(this) === 'ios' ? 'center' : 'start';
239
+ this.alignment = getIonMode(this) === 'ios' ? 'center' : 'start';
241
240
  }
242
241
  }
243
242
  componentDidLoad() {
@@ -464,28 +463,26 @@ export class Popover {
464
463
  return eventMethod(this.el, 'ionPopoverWillDismiss');
465
464
  }
466
465
  render() {
467
- const theme = getIonTheme(this);
466
+ const mode = getIonMode(this);
468
467
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
469
468
  const desktop = isPlatform('desktop');
470
469
  const enableArrow = arrow && !parentPopover;
471
- return (h(Host, Object.assign({ key: 'fb80dc11f59086710e4e54c233635413371b9252', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
470
+ return (h(Host, Object.assign({ key: '42863f748c93f709d433931d969230137b37d42d', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
472
471
  zIndex: `${20000 + this.overlayIndex}`,
473
- }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [theme]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && h("ion-backdrop", { key: 'e854b033fc34c173ce02287c481ce81b792efe80', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), h("div", { key: '5a91c7205e9f0f574a44a384db56fbaf14de8405', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && h("div", { key: '276be1ecb2a2867e76e9b03107dc9f6f458f91b9', class: "popover-arrow", part: "arrow" }), h("div", { key: '8043b42faba716795b324d3946ce41dec9c841a4', class: "popover-content", part: "content" }, h("slot", { key: 'afdb7c5009e221fa24ab62f37c24316be8949925' })))));
472
+ }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && h("ion-backdrop", { key: '22b6d82178b52158b76ab3fd9a7dd738fd6e4bbf', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), h("div", { key: 'b76335c64e992a964ed3fb91d17a992c3474b4cd', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && h("div", { key: '018c846c32e7ff7fa010528e6b37a17e5f03c84c', class: "popover-arrow", part: "arrow" }), h("div", { key: '350c468c80052da3a07768bceab98fe159c35a43', class: "popover-content", part: "content" }, h("slot", { key: '686443c17ac9873d33905c1cdb67e6d6da675282' })))));
474
473
  }
475
474
  static get is() { return "ion-popover"; }
476
475
  static get encapsulation() { return "shadow"; }
477
476
  static get originalStyleUrls() {
478
477
  return {
479
478
  "ios": ["popover.ios.scss"],
480
- "md": ["popover.md.scss"],
481
- "ionic": ["popover.md.scss"]
479
+ "md": ["popover.md.scss"]
482
480
  };
483
481
  }
484
482
  static get styleUrls() {
485
483
  return {
486
484
  "ios": ["popover.ios.css"],
487
- "md": ["popover.md.css"],
488
- "ionic": ["popover.md.css"]
485
+ "md": ["popover.md.css"]
489
486
  };
490
487
  }
491
488
  static get properties() {
@@ -768,7 +765,7 @@ export class Popover {
768
765
  "optional": false,
769
766
  "docs": {
770
767
  "tags": [],
771
- "text": "If `true`, the popover will be translucent.\nOnly applies when the theme is `\"ios\"` and the device supports\n[`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility)."
768
+ "text": "If `true`, the popover will be translucent.\nOnly applies when the mode is `\"ios\"` and the device supports\n[`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility)."
772
769
  },
773
770
  "getter": false,
774
771
  "setter": false,
@@ -974,7 +971,7 @@ export class Popover {
974
971
  "optional": true,
975
972
  "docs": {
976
973
  "tags": [],
977
- "text": "Describes how to align the popover content with the `reference` point.\nDefaults to `\"center\"` for `\"ios\"` theme, and `\"start\"` for `\"md\"` theme."
974
+ "text": "Describes how to align the popover content with the `reference` point.\nDefaults to `\"center\"` for `ios` mode, and `\"start\"` for `md` mode."
978
975
  },
979
976
  "getter": false,
980
977
  "setter": false,
@@ -993,7 +990,7 @@ export class Popover {
993
990
  "optional": false,
994
991
  "docs": {
995
992
  "tags": [],
996
- "text": "If `true`, the popover will display an arrow that points at the\n`reference` on `\"ios\"` theme."
993
+ "text": "If `true`, the popover will display an arrow that points at the\n`reference` when running in `ios` mode. Does not apply in `md` mode."
997
994
  },
998
995
  "getter": false,
999
996
  "setter": false,
@@ -1,9 +1,3 @@
1
- /**
2
- * Convert a pixels given value into rem
3
- *
4
- * @param pixels - Value in pixels to be converted (i.e. px)
5
- * @param context (optional) - Baseline value
6
- */
7
1
  /**
8
2
  * Convert a font size to a dynamic font size.
9
3
  * Fonts that participate in Dynamic Type should use
@@ -84,8 +78,8 @@
84
78
  --height: auto;
85
79
  --offset-x: 0px;
86
80
  --offset-y: 0px;
87
- right: 0;
88
81
  left: 0;
82
+ right: 0;
89
83
  top: 0;
90
84
  bottom: 0;
91
85
  display: flex;
@@ -183,12 +177,6 @@
183
177
  }
184
178
  }
185
179
 
186
- /**
187
- * Convert a pixels given value into rem
188
- *
189
- * @param pixels - Value in pixels to be converted (i.e. px)
190
- * @param context (optional) - Baseline value
191
- */
192
180
  /**
193
181
  * Convert a font size to a dynamic font size.
194
182
  * Fonts that participate in Dynamic Type should use
@@ -648,6 +648,8 @@ export const calculateWindowAdjustment = (side, coordTop, coordLeft, bodyPadding
648
648
  let bottom;
649
649
  let originX = contentOriginX;
650
650
  let originY = contentOriginY;
651
+ let checkSafeAreaTop = false;
652
+ let checkSafeAreaBottom = false;
651
653
  let checkSafeAreaLeft = false;
652
654
  let checkSafeAreaRight = false;
653
655
  const triggerTop = triggerCoordinates
@@ -692,10 +694,18 @@ export const calculateWindowAdjustment = (side, coordTop, coordLeft, bodyPadding
692
694
  * We chose 12 here so that the popover position looks a bit nicer as
693
695
  * it is not right up against the edge of the screen.
694
696
  */
695
- top = Math.max(12, triggerTop - contentHeight - triggerHeight - (arrowHeight - 1));
697
+ top = Math.max(bodyPadding, triggerTop - contentHeight - triggerHeight - (arrowHeight - 1));
696
698
  arrowTop = top + contentHeight;
697
699
  originY = 'bottom';
698
700
  addPopoverBottomClass = true;
701
+ /**
702
+ * If the popover is positioned near the top edge, account for safe area.
703
+ * This ensures the popover doesn't overlap with status bars or notches.
704
+ */
705
+ if (top <= bodyPadding + safeAreaMargin) {
706
+ checkSafeAreaTop = true;
707
+ top = bodyPadding;
708
+ }
699
709
  /**
700
710
  * If not enough room for popover to appear
701
711
  * above trigger, then cut it off.
@@ -703,6 +713,12 @@ export const calculateWindowAdjustment = (side, coordTop, coordLeft, bodyPadding
703
713
  }
704
714
  else {
705
715
  bottom = bodyPadding;
716
+ /**
717
+ * When the popover is pinned to the bottom, account for safe area.
718
+ * This ensures the popover doesn't overlap with home indicators
719
+ * or navigation bars (e.g., Android API 36+ edge-to-edge).
720
+ */
721
+ checkSafeAreaBottom = true;
706
722
  }
707
723
  }
708
724
  return {
@@ -711,6 +727,8 @@ export const calculateWindowAdjustment = (side, coordTop, coordLeft, bodyPadding
711
727
  bottom,
712
728
  originX,
713
729
  originY,
730
+ checkSafeAreaTop,
731
+ checkSafeAreaBottom,
714
732
  checkSafeAreaLeft,
715
733
  checkSafeAreaRight,
716
734
  arrowTop,