@ionic/core 8.7.16-dev.11767365495.141917e9 → 8.7.16-dev.11767635068.1d59cfc8

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