@ionic/core 8.7.6-dev.11759524961.1cff6814 → 8.7.6-dev.11759752152.17f114d8

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 (945) hide show
  1. package/components/action-sheet.js +14 -10
  2. package/components/alert.js +15 -12
  3. package/components/animation.js +1 -1
  4. package/components/backdrop.js +10 -7
  5. package/components/button.js +42 -11
  6. package/components/buttons.js +12 -9
  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 +32 -13
  12. package/components/content.js +15 -13
  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 +29 -17
  17. package/components/helpers.js +42 -3
  18. package/components/icon.js +1 -1
  19. package/components/index2.js +3 -70
  20. package/components/index5.js +8 -8
  21. package/components/index6.js +1 -1
  22. package/components/index7.js +111 -150
  23. package/components/index8.js +150 -111
  24. package/components/input-shims.js +2 -2
  25. package/components/input.utils.js +1 -1
  26. package/components/ion-accordion-group.js +24 -6
  27. package/components/ion-accordion.js +33 -22
  28. package/components/ion-app.js +13 -78
  29. package/components/ion-avatar.js +58 -5
  30. package/components/ion-back-button.js +28 -20
  31. package/components/ion-badge.js +74 -10
  32. package/components/ion-breadcrumb.js +44 -11
  33. package/components/ion-breadcrumbs.js +9 -6
  34. package/components/ion-card-content.js +11 -8
  35. package/components/ion-card-header.js +10 -7
  36. package/components/ion-card-subtitle.js +9 -6
  37. package/components/ion-card-title.js +9 -6
  38. package/components/ion-card.js +22 -10
  39. package/components/ion-chip.js +54 -9
  40. package/components/ion-col.js +52 -51
  41. package/components/ion-datetime-button.js +9 -6
  42. package/components/ion-datetime.js +99 -22
  43. package/components/ion-divider.d.ts +11 -0
  44. package/components/ion-divider.js +70 -0
  45. package/components/ion-fab-button.js +32 -16
  46. package/components/ion-fab-list.js +6 -6
  47. package/components/ion-fab.js +7 -7
  48. package/components/ion-footer.js +19 -14
  49. package/components/ion-grid.js +6 -6
  50. package/components/ion-img.js +6 -3
  51. package/components/ion-infinite-scroll-content.js +12 -9
  52. package/components/ion-infinite-scroll.js +79 -7
  53. package/components/ion-input-otp.js +10 -7
  54. package/components/ion-input-password-toggle.js +52 -14
  55. package/components/ion-input.js +121 -29
  56. package/components/ion-item-divider.js +9 -6
  57. package/components/ion-item-group.js +9 -6
  58. package/components/ion-item-option.js +37 -10
  59. package/components/ion-item-options.js +11 -8
  60. package/components/ion-item-sliding.js +6 -6
  61. package/components/ion-loading.js +13 -10
  62. package/components/ion-menu-button.js +27 -11
  63. package/components/ion-menu-toggle.js +6 -6
  64. package/components/ion-menu.js +11 -9
  65. package/components/ion-nav-link.js +2 -2
  66. package/components/ion-nav.js +8 -6
  67. package/components/ion-note.js +9 -6
  68. package/components/ion-picker-legacy.js +8 -8
  69. package/components/ion-progress-bar.js +26 -8
  70. package/components/ion-range.js +13 -10
  71. package/components/ion-refresher-content.js +23 -8
  72. package/components/ion-refresher.js +11 -8
  73. package/components/ion-reorder-group.js +6 -6
  74. package/components/ion-reorder.js +31 -6
  75. package/components/ion-router-link.js +7 -7
  76. package/components/ion-router-outlet.js +5 -5
  77. package/components/ion-row.js +7 -4
  78. package/components/ion-searchbar.js +138 -24
  79. package/components/ion-segment-button.js +11 -8
  80. package/components/ion-segment-content.js +2 -2
  81. package/components/ion-segment-view.js +6 -3
  82. package/components/ion-segment.js +11 -8
  83. package/components/ion-select-option.js +6 -3
  84. package/components/ion-select.js +118 -34
  85. package/components/ion-skeleton-text.js +6 -6
  86. package/components/ion-split-pane.js +12 -9
  87. package/components/ion-tab-bar.js +40 -10
  88. package/components/ion-tab-button.js +26 -8
  89. package/components/ion-tab.js +3 -3
  90. package/components/ion-tabs.js +3 -3
  91. package/components/ion-text.js +6 -6
  92. package/components/ion-textarea.js +53 -12
  93. package/components/ion-thumbnail.js +6 -3
  94. package/components/ion-toast.js +38 -13
  95. package/components/ion-toggle.js +75 -18
  96. package/components/ionic-global.js +349 -15
  97. package/components/ios.transition.js +1 -0
  98. package/components/item.js +40 -15
  99. package/components/keyboard-controller.js +4 -2
  100. package/components/label.js +9 -6
  101. package/components/list-header.js +11 -8
  102. package/components/list.js +28 -7
  103. package/components/list2.js +6 -0
  104. package/components/modal.js +49 -21
  105. package/components/notch-controller.js +1 -1
  106. package/components/overlays.js +3 -4
  107. package/components/picker-column-option.js +9 -6
  108. package/components/picker-column.js +8 -9
  109. package/components/picker-column2.js +5 -5
  110. package/components/picker.js +8 -5
  111. package/components/popover.js +13 -10
  112. package/components/radio-group.js +11 -6
  113. package/components/radio.js +12 -9
  114. package/components/ripple-effect.js +15 -7
  115. package/components/select-modal.js +6 -6
  116. package/components/select-popover.js +10 -4
  117. package/components/spinner.js +31 -8
  118. package/components/status-tap.js +1 -1
  119. package/components/title.js +11 -8
  120. package/components/toolbar.js +154 -10
  121. package/components/x.js +6 -0
  122. package/css/core.css +1 -1
  123. package/css/core.css.map +1 -1
  124. package/css/display.css +1 -1
  125. package/css/display.css.map +1 -1
  126. package/css/flex-utils.css +1 -1
  127. package/css/flex-utils.css.map +1 -1
  128. package/css/float-elements.css.map +1 -1
  129. package/css/global.bundle.css.map +1 -1
  130. package/css/ionic/bundle.ionic.css +1 -0
  131. package/css/ionic/bundle.ionic.css.map +1 -0
  132. package/css/ionic/core.ionic.css +1 -0
  133. package/css/ionic/core.ionic.css.map +1 -0
  134. package/css/ionic/global.bundle.ionic.css +1 -0
  135. package/css/ionic/global.bundle.ionic.css.map +1 -0
  136. package/css/ionic/ionic-swiper.ionic.css +1 -0
  137. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  138. package/css/ionic/link.ionic.css +1 -0
  139. package/css/ionic/link.ionic.css.map +1 -0
  140. package/css/ionic/structure.ionic.css +1 -0
  141. package/css/ionic/structure.ionic.css.map +1 -0
  142. package/css/ionic/typography.ionic.css +1 -0
  143. package/css/ionic/typography.ionic.css.map +1 -0
  144. package/css/ionic/utils.bundle.ionic.css +1 -0
  145. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  146. package/css/ionic-swiper.css +1 -1
  147. package/css/ionic-swiper.css.map +1 -1
  148. package/css/ionic.bundle.css +1 -1
  149. package/css/ionic.bundle.css.map +1 -1
  150. package/css/normalize.css.map +1 -1
  151. package/css/padding.css.map +1 -1
  152. package/css/palettes/dark.always.css.map +1 -1
  153. package/css/palettes/dark.class.css.map +1 -1
  154. package/css/palettes/dark.system.css.map +1 -1
  155. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  156. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  157. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  158. package/css/palettes/high-contrast.always.css.map +1 -1
  159. package/css/palettes/high-contrast.class.css.map +1 -1
  160. package/css/palettes/high-contrast.system.css.map +1 -1
  161. package/css/structure.css.map +1 -1
  162. package/css/text-alignment.css.map +1 -1
  163. package/css/text-transformation.css.map +1 -1
  164. package/css/typography.css.map +1 -1
  165. package/css/utils.bundle.css +1 -1
  166. package/css/utils.bundle.css.map +1 -1
  167. package/dist/cjs/{animation-ZJ1lAkZD.js → animation-Bcz4qmJk.js} +2 -3
  168. package/dist/cjs/{button-active-BzZenWWH.js → button-active-1nO6qpCH.js} +2 -2
  169. package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-CzFst28-.js} +1 -1
  170. package/dist/cjs/caret-down-vtVgfXIs.js +8 -0
  171. package/dist/cjs/caret-left-CxZXLRv5.js +8 -0
  172. package/dist/cjs/caret-right-CRCgv98E.js +8 -0
  173. package/dist/cjs/{config-CKhELRRu.js → config-DGKt4XfG.js} +1 -1
  174. package/dist/cjs/{data-DW6ofvJ8.js → data-B3i-krcw.js} +6 -6
  175. package/dist/cjs/{focus-visible-CCvKiLh3.js → focus-visible-BIj-I3-C.js} +24 -0
  176. package/dist/cjs/{framework-delegate-WkyjrnCx.js → framework-delegate-DfEY5uyC.js} +4 -2
  177. package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-DbqPcCc9.js} +1 -1
  178. package/dist/cjs/{helpers-DgwmcYAu.js → helpers-DmAvmm2T.js} +42 -3
  179. package/dist/cjs/{index-Cc5PNMyz.js → index-CaZ3uzAD.js} +2 -2
  180. package/dist/cjs/{index-DNh170BW.js → index-CmckMMX1.js} +659 -274
  181. package/dist/cjs/{index-D24wggHR.js → index-DcPe_YcG.js} +16 -17
  182. package/dist/cjs/{index--3s2Phef.js → index-DxVhwe3d.js} +7 -74
  183. package/dist/cjs/{index-bGpoPC4u.js → index-YEjC0pvJ.js} +3 -3
  184. package/dist/cjs/index.cjs.js +15 -17
  185. package/dist/cjs/{input-shims-CLI_OrmU.js → input-shims-BwdlNkON.js} +6 -6
  186. package/dist/cjs/{input.utils-B2hZ5tX6.js → input.utils-CfjyQhpu.js} +3 -4
  187. package/dist/cjs/ion-accordion_2.cjs.entry.js +55 -27
  188. package/dist/cjs/ion-action-sheet.cjs.entry.js +21 -19
  189. package/dist/cjs/ion-alert.cjs.entry.js +24 -23
  190. package/dist/cjs/ion-app_8.cjs.entry.js +245 -147
  191. package/dist/cjs/ion-avatar_3.cjs.entry.js +123 -12
  192. package/dist/cjs/ion-back-button.cjs.entry.js +28 -20
  193. package/dist/cjs/ion-backdrop.cjs.entry.js +9 -7
  194. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +51 -16
  195. package/dist/cjs/ion-button_2.cjs.entry.js +44 -13
  196. package/dist/cjs/ion-card_5.cjs.entry.js +53 -30
  197. package/dist/cjs/ion-checkbox.cjs.entry.js +31 -14
  198. package/dist/cjs/ion-chip.cjs.entry.js +48 -8
  199. package/dist/cjs/ion-col_3.cjs.entry.js +53 -57
  200. package/dist/cjs/ion-datetime-button.cjs.entry.js +11 -8
  201. package/dist/cjs/ion-datetime_3.cjs.entry.js +115 -41
  202. package/dist/cjs/ion-divider.cjs.entry.js +50 -0
  203. package/dist/cjs/ion-fab_3.cjs.entry.js +41 -26
  204. package/dist/cjs/ion-img.cjs.entry.js +7 -4
  205. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +90 -16
  206. package/dist/cjs/ion-input-otp.cjs.entry.js +12 -9
  207. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +51 -14
  208. package/dist/cjs/ion-input.cjs.entry.js +120 -31
  209. package/dist/cjs/ion-item-option_3.cjs.entry.js +48 -20
  210. package/dist/cjs/ion-item_8.cjs.entry.js +105 -46
  211. package/dist/cjs/ion-loading.cjs.entry.js +18 -17
  212. package/dist/cjs/ion-menu_3.cjs.entry.js +47 -30
  213. package/dist/cjs/ion-modal.cjs.entry.js +83 -57
  214. package/dist/cjs/ion-nav_2.cjs.entry.js +14 -12
  215. package/dist/cjs/ion-picker-column-option.cjs.entry.js +10 -7
  216. package/dist/cjs/ion-picker-column.cjs.entry.js +14 -15
  217. package/dist/cjs/ion-picker.cjs.entry.js +10 -6
  218. package/dist/cjs/ion-popover.cjs.entry.js +19 -18
  219. package/dist/cjs/ion-progress-bar.cjs.entry.js +25 -8
  220. package/dist/cjs/ion-radio_2.cjs.entry.js +22 -14
  221. package/dist/cjs/ion-range.cjs.entry.js +14 -11
  222. package/dist/cjs/ion-refresher_2.cjs.entry.js +41 -24
  223. package/dist/cjs/ion-reorder_2.cjs.entry.js +36 -13
  224. package/dist/cjs/ion-ripple-effect.cjs.entry.js +14 -7
  225. package/dist/cjs/ion-route_4.cjs.entry.js +8 -8
  226. package/dist/cjs/ion-searchbar.cjs.entry.js +134 -22
  227. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  228. package/dist/cjs/ion-segment-view.cjs.entry.js +6 -3
  229. package/dist/cjs/ion-segment_2.cjs.entry.js +21 -15
  230. package/dist/cjs/ion-select-modal.cjs.entry.js +9 -11
  231. package/dist/cjs/ion-select_3.cjs.entry.js +130 -40
  232. package/dist/cjs/ion-spinner.cjs.entry.js +29 -8
  233. package/dist/cjs/ion-split-pane.cjs.entry.js +11 -9
  234. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +65 -21
  235. package/dist/cjs/ion-tab_2.cjs.entry.js +8 -7
  236. package/dist/cjs/ion-text.cjs.entry.js +5 -6
  237. package/dist/cjs/ion-textarea.cjs.entry.js +55 -16
  238. package/dist/cjs/ion-toast.cjs.entry.js +65 -43
  239. package/dist/cjs/ion-toggle.cjs.entry.js +79 -23
  240. package/dist/cjs/ionic.cjs.js +4 -6
  241. package/dist/cjs/{ios.transition-B_rsAM9j.js → ios.transition-BMRClUxZ.js} +6 -5
  242. package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-Chl5cusY.js} +1 -1
  243. package/dist/cjs/{keyboard-controller-GXBiBRKS.js → keyboard-controller-yLvXRMuh.js} +4 -3
  244. package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-nXDIskl9.js} +3 -3
  245. package/dist/cjs/list-a-7GSA6K.js +8 -0
  246. package/dist/cjs/loader.cjs.js +3 -5
  247. package/dist/cjs/{md.transition-CQt0eBw-.js → md.transition-D2ZL4jgW.js} +5 -5
  248. package/dist/cjs/{notch-controller-Bf5Rr4R5.js → notch-controller-S50JyZJs.js} +2 -2
  249. package/dist/cjs/{overlays-czPyT6xP.js → overlays-XYRfwd6H.js} +10 -12
  250. package/dist/cjs/{status-tap-D9YPr62n.js → status-tap-DMaRrHIS.js} +4 -3
  251. package/dist/cjs/{swipe-back-C1wRtoww.js → swipe-back-CEVlQT7C.js} +3 -2
  252. package/dist/cjs/x-BTF99yFH.js +8 -0
  253. package/dist/collection/collection-manifest.json +2 -1
  254. package/dist/collection/components/accordion/accordion.ionic.css +196 -0
  255. package/dist/collection/components/accordion/accordion.ios.css +73 -58
  256. package/dist/collection/components/accordion/accordion.js +36 -26
  257. package/dist/collection/components/accordion/accordion.md.css +67 -59
  258. package/dist/collection/components/accordion-group/accordion-group.ionic.css +93 -0
  259. package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
  260. package/dist/collection/components/accordion-group/accordion-group.js +44 -8
  261. package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
  262. package/dist/collection/components/action-sheet/action-sheet.ios.css +18 -6
  263. package/dist/collection/components/action-sheet/action-sheet.js +15 -11
  264. package/dist/collection/components/action-sheet/action-sheet.md.css +17 -5
  265. package/dist/collection/components/alert/alert.ios.css +19 -1
  266. package/dist/collection/components/alert/alert.js +16 -13
  267. package/dist/collection/components/alert/alert.md.css +19 -1
  268. package/dist/collection/components/app/app.js +15 -78
  269. package/dist/collection/components/avatar/avatar.ionic.css +391 -0
  270. package/dist/collection/components/avatar/avatar.ios.css +7 -33
  271. package/dist/collection/components/avatar/avatar.js +120 -4
  272. package/dist/collection/components/avatar/avatar.md.css +51 -0
  273. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  274. package/dist/collection/components/back-button/back-button.js +27 -19
  275. package/dist/collection/components/back-button/back-button.md.css +60 -48
  276. package/dist/collection/components/backdrop/backdrop.ionic.css +109 -0
  277. package/dist/collection/components/backdrop/backdrop.ios.css +56 -19
  278. package/dist/collection/components/backdrop/backdrop.js +12 -6
  279. package/dist/collection/components/backdrop/backdrop.md.css +56 -19
  280. package/dist/collection/components/badge/badge.ionic.css +275 -0
  281. package/dist/collection/components/badge/badge.ios.css +139 -12
  282. package/dist/collection/components/badge/badge.js +145 -9
  283. package/dist/collection/components/badge/badge.md.css +123 -12
  284. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  285. package/dist/collection/components/breadcrumb/breadcrumb.js +43 -11
  286. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  287. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  288. package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
  289. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  290. package/dist/collection/components/button/button.ionic.css +620 -0
  291. package/dist/collection/components/button/button.ios.css +135 -46
  292. package/dist/collection/components/button/button.js +48 -17
  293. package/dist/collection/components/button/button.md.css +126 -50
  294. package/dist/collection/components/buttons/buttons.ionic.css +97 -0
  295. package/dist/collection/components/buttons/buttons.ios.css +59 -7
  296. package/dist/collection/components/buttons/buttons.js +15 -9
  297. package/dist/collection/components/buttons/buttons.md.css +55 -3
  298. package/dist/collection/components/card/card.ionic.css +144 -0
  299. package/dist/collection/components/card/card.ios.css +65 -14
  300. package/dist/collection/components/card/card.js +41 -10
  301. package/dist/collection/components/card/card.md.css +65 -14
  302. package/dist/collection/components/card-content/card-content.ionic.css +92 -0
  303. package/dist/collection/components/card-content/card-content.ios.css +16 -1
  304. package/dist/collection/components/card-content/card-content.js +11 -8
  305. package/dist/collection/components/card-content/card-content.md.css +16 -1
  306. package/dist/collection/components/card-header/card-header.ionic.css +85 -0
  307. package/dist/collection/components/card-header/card-header.ios.css +27 -15
  308. package/dist/collection/components/card-header/card-header.js +13 -10
  309. package/dist/collection/components/card-header/card-header.md.css +27 -15
  310. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +144 -0
  311. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  312. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  313. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  314. package/dist/collection/components/card-title/card-title.ios.css +73 -0
  315. package/dist/collection/components/card-title/card-title.js +11 -8
  316. package/dist/collection/components/card-title/card-title.md.css +73 -0
  317. package/dist/collection/components/checkbox/checkbox.ionic.css +539 -0
  318. package/dist/collection/components/checkbox/checkbox.ios.css +161 -101
  319. package/dist/collection/components/checkbox/checkbox.js +70 -14
  320. package/dist/collection/components/checkbox/checkbox.md.css +162 -102
  321. package/dist/collection/components/chip/chip.ionic.css +228 -0
  322. package/dist/collection/components/chip/chip.ios.css +67 -14
  323. package/dist/collection/components/chip/chip.js +108 -8
  324. package/dist/collection/components/chip/chip.md.css +67 -14
  325. package/dist/collection/components/col/col.css +192 -4
  326. package/dist/collection/components/col/col.js +210 -61
  327. package/dist/collection/components/content/content.css +8 -2
  328. package/dist/collection/components/content/content.js +16 -11
  329. package/dist/collection/components/datetime/datetime.ionic.css +697 -0
  330. package/dist/collection/components/datetime/datetime.ios.css +242 -86
  331. package/dist/collection/components/datetime/datetime.js +98 -20
  332. package/dist/collection/components/datetime/datetime.md.css +242 -86
  333. package/dist/collection/components/datetime/utils/data.js +5 -5
  334. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
  335. package/dist/collection/components/datetime-button/datetime-button.js +11 -8
  336. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
  337. package/dist/collection/components/divider/divider.ionic.css +148 -0
  338. package/dist/collection/components/divider/divider.ios.css +87 -0
  339. package/dist/collection/components/divider/divider.js +94 -0
  340. package/dist/collection/components/divider/divider.md.css +87 -0
  341. package/dist/collection/components/fab/fab.css +25 -1
  342. package/dist/collection/components/fab/fab.js +9 -5
  343. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  344. package/dist/collection/components/fab-button/fab-button.js +36 -21
  345. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  346. package/dist/collection/components/fab-list/fab-list.css +12 -0
  347. package/dist/collection/components/fab-list/fab-list.js +9 -5
  348. package/dist/collection/components/footer/footer.ios.css +14 -2
  349. package/dist/collection/components/footer/footer.js +21 -16
  350. package/dist/collection/components/footer/footer.md.css +12 -0
  351. package/dist/collection/components/grid/grid.css +12 -0
  352. package/dist/collection/components/grid/grid.js +9 -5
  353. package/dist/collection/components/header/header.ionic.css +98 -0
  354. package/dist/collection/components/header/header.ios.css +26 -37
  355. package/dist/collection/components/header/header.js +49 -18
  356. package/dist/collection/components/header/header.md.css +23 -8
  357. package/dist/collection/components/img/img.js +8 -2
  358. package/dist/collection/components/infinite-scroll/infinite-scroll.js +100 -5
  359. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  360. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  361. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  362. package/dist/collection/components/input/input.ionic.css +881 -0
  363. package/dist/collection/components/input/input.ios.css +223 -140
  364. package/dist/collection/components/input/input.js +149 -38
  365. package/dist/collection/components/input/input.md.css +193 -212
  366. package/dist/collection/components/input-otp/input-otp.ionic.css +369 -0
  367. package/dist/collection/components/input-otp/input-otp.ios.css +106 -60
  368. package/dist/collection/components/input-otp/input-otp.js +7 -5
  369. package/dist/collection/components/input-otp/input-otp.md.css +106 -60
  370. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +78 -0
  371. package/dist/collection/components/input-password-toggle/input-password-toggle.js +48 -12
  372. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +61 -0
  373. package/dist/collection/components/item/item.ionic.css +499 -0
  374. package/dist/collection/components/item/item.ios.css +109 -69
  375. package/dist/collection/components/item/item.js +43 -19
  376. package/dist/collection/components/item/item.md.css +120 -68
  377. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  378. package/dist/collection/components/item-divider/item-divider.js +11 -8
  379. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  380. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  381. package/dist/collection/components/item-group/item-group.js +13 -7
  382. package/dist/collection/components/item-group/item-group.md.css +12 -0
  383. package/dist/collection/components/item-option/item-option.ionic.css +278 -0
  384. package/dist/collection/components/item-option/item-option.ios.css +136 -29
  385. package/dist/collection/components/item-option/item-option.js +73 -9
  386. package/dist/collection/components/item-option/item-option.md.css +136 -29
  387. package/dist/collection/components/item-options/item-options.ionic.css +221 -0
  388. package/dist/collection/components/item-options/item-options.ios.css +77 -34
  389. package/dist/collection/components/item-options/item-options.js +13 -7
  390. package/dist/collection/components/item-options/item-options.md.css +77 -34
  391. package/dist/collection/components/item-sliding/item-sliding.css +6 -0
  392. package/dist/collection/components/item-sliding/item-sliding.js +8 -4
  393. package/dist/collection/components/label/label.ios.css +18 -0
  394. package/dist/collection/components/label/label.js +11 -8
  395. package/dist/collection/components/label/label.md.css +18 -0
  396. package/dist/collection/components/list/list.ionic.css +212 -0
  397. package/dist/collection/components/list/list.ios.css +54 -14
  398. package/dist/collection/components/list/list.js +48 -9
  399. package/dist/collection/components/list/list.md.css +56 -16
  400. package/dist/collection/components/list-header/list-header.ionic.css +190 -0
  401. package/dist/collection/components/list-header/list-header.ios.css +82 -38
  402. package/dist/collection/components/list-header/list-header.js +11 -8
  403. package/dist/collection/components/list-header/list-header.md.css +82 -38
  404. package/dist/collection/components/loading/loading.ios.css +13 -1
  405. package/dist/collection/components/loading/loading.js +14 -11
  406. package/dist/collection/components/loading/loading.md.css +13 -1
  407. package/dist/collection/components/menu/menu.ios.css +15 -3
  408. package/dist/collection/components/menu/menu.js +12 -7
  409. package/dist/collection/components/menu/menu.md.css +15 -3
  410. package/dist/collection/components/menu-button/menu-button.ionic.css +236 -0
  411. package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
  412. package/dist/collection/components/menu-button/menu-button.js +26 -10
  413. package/dist/collection/components/menu-button/menu-button.md.css +49 -15
  414. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  415. package/dist/collection/components/modal/animations/sheet.js +8 -2
  416. package/dist/collection/components/modal/gestures/sheet.js +10 -6
  417. package/dist/collection/components/modal/modal.ionic.css +241 -0
  418. package/dist/collection/components/modal/modal.ios.css +174 -70
  419. package/dist/collection/components/modal/modal.js +48 -11
  420. package/dist/collection/components/modal/modal.md.css +174 -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/popover.ios.css +13 -1
  442. package/dist/collection/components/popover/popover.js +17 -14
  443. package/dist/collection/components/popover/popover.md.css +13 -1
  444. package/dist/collection/components/progress-bar/progress-bar.ionic.css +287 -0
  445. package/dist/collection/components/progress-bar/progress-bar.ios.css +48 -17
  446. package/dist/collection/components/progress-bar/progress-bar.js +43 -7
  447. package/dist/collection/components/progress-bar/progress-bar.md.css +48 -17
  448. package/dist/collection/components/radio/radio.ionic.css +422 -0
  449. package/dist/collection/components/radio/radio.ios.css +134 -91
  450. package/dist/collection/components/radio/radio.js +12 -9
  451. package/dist/collection/components/radio/radio.md.css +134 -91
  452. package/dist/collection/components/radio-group/radio-group.ionic.css +125 -0
  453. package/dist/collection/components/radio-group/radio-group.ios.css +42 -18
  454. package/dist/collection/components/radio-group/radio-group.js +13 -5
  455. package/dist/collection/components/radio-group/radio-group.md.css +42 -18
  456. package/dist/collection/components/range/range.ionic.css +563 -0
  457. package/dist/collection/components/range/range.ios.css +128 -85
  458. package/dist/collection/components/range/range.js +12 -9
  459. package/dist/collection/components/range/range.md.css +128 -85
  460. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  461. package/dist/collection/components/refresher/refresher.js +11 -8
  462. package/dist/collection/components/refresher/refresher.md.css +15 -2
  463. package/dist/collection/components/refresher-content/refresher-content.js +28 -7
  464. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  465. package/dist/collection/components/reorder/reorder.js +33 -6
  466. package/dist/collection/components/reorder/reorder.md.css +6 -0
  467. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  468. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  469. package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
  470. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +215 -0
  471. package/dist/collection/components/ripple-effect/ripple-effect.js +14 -6
  472. package/dist/collection/components/route/route.js +4 -0
  473. package/dist/collection/components/router/router.js +4 -0
  474. package/dist/collection/components/router-link/router-link.css +8 -2
  475. package/dist/collection/components/router-link/router-link.js +9 -5
  476. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  477. package/dist/collection/components/router-outlet/router-outlet.js +6 -3
  478. package/dist/collection/components/row/row.css +16 -0
  479. package/dist/collection/components/row/row.js +9 -2
  480. package/dist/collection/components/searchbar/searchbar.ionic.css +626 -0
  481. package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
  482. package/dist/collection/components/searchbar/searchbar.js +181 -34
  483. package/dist/collection/components/searchbar/searchbar.md.css +56 -18
  484. package/dist/collection/components/segment/segment.ionic.css +115 -0
  485. package/dist/collection/components/segment/segment.ios.css +45 -2
  486. package/dist/collection/components/segment/segment.js +11 -8
  487. package/dist/collection/components/segment/segment.md.css +45 -2
  488. package/dist/collection/components/segment-button/segment-button.ionic.css +353 -0
  489. package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
  490. package/dist/collection/components/segment-button/segment-button.js +11 -8
  491. package/dist/collection/components/segment-button/segment-button.md.css +148 -107
  492. package/dist/collection/components/segment-content/segment-content.js +1 -1
  493. package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
  494. package/dist/collection/components/segment-view/segment-view.js +6 -4
  495. package/dist/collection/components/segment-view/segment-view.md.css +6 -0
  496. package/dist/collection/components/select/select.ionic.css +763 -0
  497. package/dist/collection/components/select/select.ios.css +315 -176
  498. package/dist/collection/components/select/select.js +157 -54
  499. package/dist/collection/components/select/select.md.css +331 -178
  500. package/dist/collection/components/select-modal/select-modal.ionic.css +123 -0
  501. package/dist/collection/components/select-modal/select-modal.ios.css +18 -0
  502. package/dist/collection/components/select-modal/select-modal.js +3 -3
  503. package/dist/collection/components/select-modal/select-modal.md.css +7 -3
  504. package/dist/collection/components/select-option/select-option.js +9 -2
  505. package/dist/collection/components/select-popover/select-popover.ios.css +18 -0
  506. package/dist/collection/components/select-popover/select-popover.js +12 -4
  507. package/dist/collection/components/select-popover/select-popover.md.css +18 -0
  508. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  509. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  510. package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +77 -10
  511. package/dist/collection/components/spinner/spinner.js +47 -6
  512. package/dist/collection/components/spinner/spinner.native.css +198 -0
  513. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  514. package/dist/collection/components/split-pane/split-pane.js +14 -8
  515. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  516. package/dist/collection/components/tab/tab.js +6 -2
  517. package/dist/collection/components/tab-bar/tab-bar.ionic.css +186 -0
  518. package/dist/collection/components/tab-bar/tab-bar.ios.css +71 -43
  519. package/dist/collection/components/tab-bar/tab-bar.js +78 -11
  520. package/dist/collection/components/tab-bar/tab-bar.md.css +71 -43
  521. package/dist/collection/components/tab-button/tab-button.ionic.css +336 -0
  522. package/dist/collection/components/tab-button/tab-button.ios.css +171 -95
  523. package/dist/collection/components/tab-button/tab-button.js +44 -8
  524. package/dist/collection/components/tab-button/tab-button.md.css +137 -93
  525. package/dist/collection/components/tabs/tabs.css +7 -1
  526. package/dist/collection/components/tabs/tabs.js +4 -1
  527. package/dist/collection/components/text/text.css +6 -0
  528. package/dist/collection/components/text/text.js +7 -6
  529. package/dist/collection/components/textarea/textarea.ionic.css +881 -0
  530. package/dist/collection/components/textarea/textarea.ios.css +275 -139
  531. package/dist/collection/components/textarea/textarea.js +76 -16
  532. package/dist/collection/components/textarea/textarea.md.css +288 -140
  533. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  534. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  535. package/dist/collection/components/title/title.ionic.css +127 -0
  536. package/dist/collection/components/title/title.ios.css +32 -4
  537. package/dist/collection/components/title/title.js +13 -7
  538. package/dist/collection/components/title/title.md.css +32 -4
  539. package/dist/collection/components/toast/animations/utils.js +1 -1
  540. package/dist/collection/components/toast/toast.ionic.css +394 -0
  541. package/dist/collection/components/toast/toast.ios.css +84 -45
  542. package/dist/collection/components/toast/toast.js +75 -12
  543. package/dist/collection/components/toast/toast.md.css +84 -45
  544. package/dist/collection/components/toggle/toggle.ionic.css +509 -0
  545. package/dist/collection/components/toggle/toggle.ios.css +247 -131
  546. package/dist/collection/components/toggle/toggle.js +73 -18
  547. package/dist/collection/components/toggle/toggle.md.css +244 -131
  548. package/dist/collection/components/toolbar/test/image.svg +1 -0
  549. package/dist/collection/components/toolbar/toolbar.ionic.css +241 -0
  550. package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
  551. package/dist/collection/components/toolbar/toolbar.js +157 -13
  552. package/dist/collection/components/toolbar/toolbar.md.css +90 -47
  553. package/dist/collection/global/ionic-global.js +228 -13
  554. package/dist/collection/utils/focus-visible.js +22 -0
  555. package/dist/collection/utils/framework-delegate.js +3 -1
  556. package/dist/collection/utils/helpers.js +42 -2
  557. package/dist/collection/utils/keyboard/keyboard-controller.js +3 -1
  558. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  559. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  560. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  561. package/dist/collection/utils/overlays.js +2 -1
  562. package/dist/collection/utils/test/playwright/generator.js +48 -23
  563. package/dist/collection/utils/test/playwright/page/utils/goto.js +14 -5
  564. package/dist/collection/utils/test/playwright/page/utils/set-content.js +24 -3
  565. package/dist/collection/utils/transition/index.js +3 -70
  566. package/dist/collection/utils/transition/ios.transition.js +1 -0
  567. package/dist/docs.json +8169 -373
  568. package/dist/esm/{animation-BvhAtgca.js → animation-Cgfm6Out.js} +1 -2
  569. package/dist/esm/{button-active-DBUPuLNw.js → button-active-DvzVF2u_.js} +2 -2
  570. package/dist/esm/{capacitor-CFERIeaU.js → capacitor-Dvc8Ydvg.js} +1 -1
  571. package/dist/esm/caret-down-D1t981Ih.js +6 -0
  572. package/dist/esm/caret-left-fIOYmaqA.js +6 -0
  573. package/dist/esm/caret-right-BYSs-jZz.js +6 -0
  574. package/dist/esm/{config-Dx_6wPIJ.js → config-DwiPHIF5.js} +1 -1
  575. package/dist/esm/{data-CKHMWxfe.js → data-HHZs0eLV.js} +6 -6
  576. package/dist/esm/{focus-visible-BmVRXR1y.js → focus-visible-vXpMhGrs.js} +23 -1
  577. package/dist/esm/{framework-delegate-BLEBgH06.js → framework-delegate-B4Rily6A.js} +4 -2
  578. package/dist/esm/{haptic-DzAMWJuk.js → haptic-ZZTn7IWt.js} +1 -1
  579. package/dist/esm/{helpers-8KSQQGQy.js → helpers-D_90HVv6.js} +42 -3
  580. package/dist/esm/{index-4DxY6_gG.js → index-BBrR3goV.js} +649 -270
  581. package/dist/esm/{index-BQc4arca.js → index-BoSPzYKk.js} +7 -74
  582. package/dist/esm/{index-7UbSlv7N.js → index-ByqmqxGO.js} +2 -2
  583. package/dist/esm/{index-DV3sJJW8.js → index-COG0_eom.js} +1 -1
  584. package/dist/esm/{index-CXSTcaAW.js → index-D4D_NUAr.js} +10 -11
  585. package/dist/esm/{index-C6WeRr09.js → index-k4x4i7EL.js} +3 -3
  586. package/dist/esm/index.js +11 -13
  587. package/dist/esm/{input-shims-C4KDnhxb.js → input-shims-DEtEJcaS.js} +6 -6
  588. package/dist/esm/{input.utils-be4gBvVY.js → input.utils-DNE0LB5g.js} +2 -3
  589. package/dist/esm/ion-accordion_2.entry.js +56 -28
  590. package/dist/esm/ion-action-sheet.entry.js +21 -19
  591. package/dist/esm/ion-alert.entry.js +23 -22
  592. package/dist/esm/ion-app_8.entry.js +243 -145
  593. package/dist/esm/ion-avatar_3.entry.js +124 -13
  594. package/dist/esm/ion-back-button.entry.js +29 -21
  595. package/dist/esm/ion-backdrop.entry.js +9 -7
  596. package/dist/esm/ion-breadcrumb_2.entry.js +52 -17
  597. package/dist/esm/ion-button_2.entry.js +43 -12
  598. package/dist/esm/ion-card_5.entry.js +53 -30
  599. package/dist/esm/ion-checkbox.entry.js +31 -14
  600. package/dist/esm/ion-chip.entry.js +48 -8
  601. package/dist/esm/ion-col_3.entry.js +53 -57
  602. package/dist/esm/ion-datetime-button.entry.js +11 -8
  603. package/dist/esm/ion-datetime_3.entry.js +114 -40
  604. package/dist/esm/ion-divider.entry.js +48 -0
  605. package/dist/esm/ion-fab_3.entry.js +42 -27
  606. package/dist/esm/ion-img.entry.js +7 -4
  607. package/dist/esm/ion-infinite-scroll_2.entry.js +90 -16
  608. package/dist/esm/ion-input-otp.entry.js +11 -8
  609. package/dist/esm/ion-input-password-toggle.entry.js +51 -14
  610. package/dist/esm/ion-input.entry.js +121 -32
  611. package/dist/esm/ion-item-option_3.entry.js +48 -20
  612. package/dist/esm/ion-item_8.entry.js +106 -47
  613. package/dist/esm/ion-loading.entry.js +18 -17
  614. package/dist/esm/ion-menu_3.entry.js +45 -28
  615. package/dist/esm/ion-modal.entry.js +56 -30
  616. package/dist/esm/ion-nav_2.entry.js +13 -11
  617. package/dist/esm/ion-picker-column-option.entry.js +10 -7
  618. package/dist/esm/ion-picker-column.entry.js +11 -12
  619. package/dist/esm/ion-picker.entry.js +10 -6
  620. package/dist/esm/ion-popover.entry.js +18 -17
  621. package/dist/esm/ion-progress-bar.entry.js +25 -8
  622. package/dist/esm/ion-radio_2.entry.js +22 -14
  623. package/dist/esm/ion-range.entry.js +14 -11
  624. package/dist/esm/ion-refresher_2.entry.js +38 -21
  625. package/dist/esm/ion-reorder_2.entry.js +37 -14
  626. package/dist/esm/ion-ripple-effect.entry.js +14 -7
  627. package/dist/esm/ion-route_4.entry.js +8 -8
  628. package/dist/esm/ion-searchbar.entry.js +136 -24
  629. package/dist/esm/ion-segment-content.entry.js +2 -2
  630. package/dist/esm/ion-segment-view.entry.js +6 -3
  631. package/dist/esm/ion-segment_2.entry.js +21 -15
  632. package/dist/esm/ion-select-modal.entry.js +9 -11
  633. package/dist/esm/ion-select_3.entry.js +131 -41
  634. package/dist/esm/ion-spinner.entry.js +28 -7
  635. package/dist/esm/ion-split-pane.entry.js +11 -9
  636. package/dist/esm/ion-tab-bar_2.entry.js +65 -21
  637. package/dist/esm/ion-tab_2.entry.js +8 -7
  638. package/dist/esm/ion-text.entry.js +5 -6
  639. package/dist/esm/ion-textarea.entry.js +55 -16
  640. package/dist/esm/ion-toast.entry.js +41 -19
  641. package/dist/esm/ion-toggle.entry.js +79 -23
  642. package/dist/esm/ionic.js +4 -6
  643. package/dist/esm/{ios.transition-eOa-6o5F.js → ios.transition-C_-UP8wE.js} +6 -5
  644. package/dist/esm/{keyboard-ywgs5efA.js → keyboard-BsZp3qPH.js} +3 -3
  645. package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-Cvigb3Rv.js} +1 -1
  646. package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-lts2Pswq.js} +4 -3
  647. package/dist/esm/list-Dhi5xtNS.js +6 -0
  648. package/dist/esm/loader.js +3 -5
  649. package/dist/esm/{md.transition-B99keElo.js → md.transition-BDWkLsNw.js} +5 -5
  650. package/dist/esm/{notch-controller-lb417-kU.js → notch-controller-ClKrf2l9.js} +2 -2
  651. package/dist/esm/{overlays-BYcYBCrx.js → overlays-C1ahtepl.js} +5 -7
  652. package/dist/esm/{status-tap-pATNXEtr.js → status-tap-DLatL9pG.js} +4 -3
  653. package/dist/esm/{swipe-back-B2YfOHRM.js → swipe-back-YYylMb0l.js} +3 -2
  654. package/dist/esm/x-BDqjX7Z_.js +6 -0
  655. package/dist/html.html-data.json +2532 -226
  656. package/dist/ionic/index.esm.js +1 -1
  657. package/dist/ionic/ionic.esm.js +1 -1
  658. package/dist/ionic/p-034ef39b.entry.js +4 -0
  659. package/dist/ionic/p-05030d1b.entry.js +4 -0
  660. package/dist/ionic/p-059ceab8.entry.js +4 -0
  661. package/dist/ionic/p-096b5789.entry.js +4 -0
  662. package/dist/ionic/p-09eaefc0.entry.js +4 -0
  663. package/dist/ionic/p-156bba30.entry.js +4 -0
  664. package/dist/ionic/p-238ad727.entry.js +4 -0
  665. package/dist/ionic/p-24803c39.entry.js +4 -0
  666. package/dist/ionic/p-2c28e54a.entry.js +4 -0
  667. package/dist/ionic/p-2c9459f5.entry.js +4 -0
  668. package/dist/ionic/p-2f1d100c.entry.js +4 -0
  669. package/dist/ionic/p-31331fc3.entry.js +4 -0
  670. package/dist/ionic/p-340e4f62.entry.js +4 -0
  671. package/dist/ionic/p-3bef3778.entry.js +4 -0
  672. package/dist/ionic/p-3c773ecd.entry.js +4 -0
  673. package/dist/ionic/p-47432157.entry.js +4 -0
  674. package/dist/ionic/p-52535bba.entry.js +4 -0
  675. package/dist/ionic/p-56e51161.entry.js +4 -0
  676. package/dist/ionic/p-5770869f.entry.js +4 -0
  677. package/dist/ionic/p-5af619ff.entry.js +4 -0
  678. package/dist/ionic/p-5b44ac3a.entry.js +4 -0
  679. package/dist/ionic/p-5ca4c3b8.entry.js +4 -0
  680. package/dist/ionic/p-649e2f92.entry.js +4 -0
  681. package/dist/ionic/p-6d38d3f3.entry.js +4 -0
  682. package/dist/ionic/p-6e6ce506.entry.js +4 -0
  683. package/dist/ionic/p-6ea34add.entry.js +4 -0
  684. package/dist/ionic/p-6f17f8ed.entry.js +4 -0
  685. package/dist/ionic/p-773f2ac5.entry.js +4 -0
  686. package/dist/ionic/p-80cc8511.entry.js +4 -0
  687. package/dist/ionic/p-82796bb0.entry.js +4 -0
  688. package/dist/ionic/p-8c3d3bca.entry.js +4 -0
  689. package/dist/ionic/p-9000bd9f.entry.js +4 -0
  690. package/dist/ionic/p-9cbab197.entry.js +4 -0
  691. package/dist/ionic/p-BDqjX7Z_.js +4 -0
  692. package/dist/ionic/p-BJ-EYogw.js +4 -0
  693. package/dist/ionic/p-BKDxK6_S.js +4 -0
  694. package/dist/ionic/p-BMPzyWDm.js +4 -0
  695. package/dist/ionic/p-BTqHM5hg.js +4 -0
  696. package/dist/ionic/p-BYSs-jZz.js +4 -0
  697. package/dist/ionic/p-BZR5I9yn.js +4 -0
  698. package/dist/ionic/p-BZSKvxFv.js +4 -0
  699. package/dist/ionic/p-BaAcx1TO.js +4 -0
  700. package/dist/ionic/p-BeJdFlAB.js +4 -0
  701. package/dist/ionic/{p-D13Eaw-8.js → p-Bi_aZreq.js} +1 -1
  702. package/dist/ionic/p-BpUl-Ubc.js +4 -0
  703. package/dist/ionic/{p-CKvCXMs9.js → p-BuAY53fC.js} +1 -1
  704. package/dist/ionic/{p-DV3sJJW8.js → p-COG0_eom.js} +1 -1
  705. package/dist/ionic/p-CnPZjTVf.js +4 -0
  706. package/dist/ionic/{p-DiZPU8BH.js → p-D-g7JYuH.js} +1 -1
  707. package/dist/ionic/p-D1t981Ih.js +4 -0
  708. package/dist/ionic/p-D6quDhlh.js +4 -0
  709. package/dist/ionic/{p-CWvl4RPO.js → p-DIZM2shZ.js} +1 -1
  710. package/dist/ionic/p-DJD59Sq4.js +4 -0
  711. package/dist/ionic/p-DZmL55Qn.js +4 -0
  712. package/dist/ionic/p-Dhi5xtNS.js +4 -0
  713. package/dist/ionic/p-DjxV6ul_.js +4 -0
  714. package/dist/ionic/p-DkXsr7m2.js +4 -0
  715. package/dist/ionic/p-DnNglnwY.js +4 -0
  716. package/dist/ionic/p-Dpa-63kX.js +4 -0
  717. package/dist/ionic/p-HOJ_eq4V.js +5 -0
  718. package/dist/ionic/p-MBiM0IFp.js +4 -0
  719. package/dist/ionic/p-a1af546a.entry.js +4 -0
  720. package/dist/ionic/p-a2218a8b.entry.js +4 -0
  721. package/dist/ionic/p-a22b46e4.entry.js +4 -0
  722. package/dist/ionic/p-ae10fb4c.entry.js +4 -0
  723. package/dist/ionic/p-c2122301.entry.js +4 -0
  724. package/dist/ionic/p-c428cbac.entry.js +4 -0
  725. package/dist/ionic/p-c565e353.entry.js +4 -0
  726. package/dist/ionic/p-c6301ef9.entry.js +4 -0
  727. package/dist/ionic/p-c83a1254.entry.js +4 -0
  728. package/dist/ionic/p-c9313bb8.entry.js +4 -0
  729. package/dist/ionic/p-cb6bb34f.entry.js +4 -0
  730. package/dist/ionic/p-d215bbdc.entry.js +4 -0
  731. package/dist/ionic/p-de6964a2.entry.js +4 -0
  732. package/dist/ionic/p-ded5613d.entry.js +4 -0
  733. package/dist/ionic/p-e0eae83d.entry.js +4 -0
  734. package/dist/ionic/p-e5005342.entry.js +4 -0
  735. package/dist/ionic/p-e7925263.entry.js +4 -0
  736. package/dist/ionic/p-eZzo_1L1.js +4 -0
  737. package/dist/ionic/p-eebf0420.entry.js +4 -0
  738. package/dist/ionic/p-f1bb4947.entry.js +4 -0
  739. package/dist/ionic/p-fIOYmaqA.js +4 -0
  740. package/dist/ionic/p-facf3c23.entry.js +4 -0
  741. package/dist/ionic/p-vXpMhGrs.js +4 -0
  742. package/dist/node_modules/ionicons/dist/collection/components/icon/icon.css +143 -0
  743. package/dist/types/components/accordion/accordion.d.ts +5 -3
  744. package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
  745. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  746. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  747. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  748. package/dist/types/components/alert/alert.d.ts +3 -2
  749. package/dist/types/components/app/app.d.ts +4 -2
  750. package/dist/types/components/avatar/avatar.d.ts +32 -0
  751. package/dist/types/components/back-button/back-button.d.ts +2 -1
  752. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  753. package/dist/types/components/badge/badge.d.ts +34 -1
  754. package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
  755. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  756. package/dist/types/components/button/button.d.ts +19 -6
  757. package/dist/types/components/buttons/buttons.d.ts +5 -1
  758. package/dist/types/components/card/card.d.ts +8 -1
  759. package/dist/types/components/card-content/card-content.d.ts +2 -1
  760. package/dist/types/components/card-header/card-header.d.ts +3 -2
  761. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  762. package/dist/types/components/card-title/card-title.d.ts +2 -1
  763. package/dist/types/components/checkbox/checkbox.d.ts +14 -4
  764. package/dist/types/components/chip/chip.d.ts +26 -1
  765. package/dist/types/components/col/col.d.ts +52 -5
  766. package/dist/types/components/content/content.d.ts +3 -0
  767. package/dist/types/components/datetime/datetime.d.ts +26 -1
  768. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  769. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  770. package/dist/types/components/divider/divider.d.ts +20 -0
  771. package/dist/types/components/fab/fab.d.ts +4 -0
  772. package/dist/types/components/fab-button/fab-button.d.ts +5 -3
  773. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  774. package/dist/types/components/footer/footer.d.ts +4 -3
  775. package/dist/types/components/grid/grid.d.ts +4 -0
  776. package/dist/types/components/header/header.d.ts +9 -3
  777. package/dist/types/components/img/img.d.ts +3 -0
  778. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +21 -0
  779. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  780. package/dist/types/components/input/input.d.ts +31 -5
  781. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
  782. package/dist/types/components/item/item.d.ts +11 -4
  783. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  784. package/dist/types/components/item-group/item-group.d.ts +4 -0
  785. package/dist/types/components/item-option/item-option.d.ts +18 -1
  786. package/dist/types/components/item-options/item-options.d.ts +4 -0
  787. package/dist/types/components/item-sliding/item-sliding.d.ts +4 -0
  788. package/dist/types/components/label/label.d.ts +2 -1
  789. package/dist/types/components/list/list.d.ts +15 -1
  790. package/dist/types/components/list-header/list-header.d.ts +2 -1
  791. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  792. package/dist/types/components/loading/loading.d.ts +3 -2
  793. package/dist/types/components/menu/menu.d.ts +3 -0
  794. package/dist/types/components/menu-button/menu-button.d.ts +3 -1
  795. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  796. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  797. package/dist/types/components/modal/modal-interface.d.ts +4 -7
  798. package/dist/types/components/modal/modal.d.ts +11 -1
  799. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  800. package/dist/types/components/nav/nav.d.ts +5 -1
  801. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  802. package/dist/types/components/note/note.d.ts +2 -1
  803. package/dist/types/components/picker/picker.d.ts +2 -1
  804. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  805. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  806. package/dist/types/components/picker-legacy/picker.d.ts +2 -1
  807. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  808. package/dist/types/components/popover/popover.d.ts +6 -5
  809. package/dist/types/components/progress-bar/progress-bar.d.ts +10 -1
  810. package/dist/types/components/radio/radio.d.ts +2 -1
  811. package/dist/types/components/radio-group/radio-group.d.ts +4 -0
  812. package/dist/types/components/range/range.d.ts +2 -1
  813. package/dist/types/components/refresher/refresher.d.ts +2 -1
  814. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  815. package/dist/types/components/reorder/reorder.d.ts +9 -0
  816. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  817. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  818. package/dist/types/components/route/route.d.ts +4 -0
  819. package/dist/types/components/router/router.d.ts +4 -0
  820. package/dist/types/components/router-link/router-link.d.ts +4 -0
  821. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  822. package/dist/types/components/row/row.d.ts +4 -0
  823. package/dist/types/components/searchbar/searchbar.d.ts +51 -9
  824. package/dist/types/components/segment/segment.d.ts +2 -1
  825. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  826. package/dist/types/components/select/select.d.ts +41 -13
  827. package/dist/types/components/select-option/select-option.d.ts +4 -0
  828. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  829. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  830. package/dist/types/components/spinner/spinner.d.ts +15 -0
  831. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  832. package/dist/types/components/tab/tab.d.ts +4 -0
  833. package/dist/types/components/tab-bar/tab-bar.d.ts +22 -2
  834. package/dist/types/components/tab-button/tab-button.d.ts +11 -1
  835. package/dist/types/components/tabs/tabs.d.ts +3 -0
  836. package/dist/types/components/text/text.d.ts +2 -1
  837. package/dist/types/components/textarea/textarea.d.ts +17 -4
  838. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  839. package/dist/types/components/title/title.d.ts +4 -0
  840. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  841. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  842. package/dist/types/components/toast/toast.d.ts +19 -2
  843. package/dist/types/components/toggle/toggle.d.ts +15 -1
  844. package/dist/types/components/toolbar/toolbar.d.ts +20 -3
  845. package/dist/types/components.d.ts +1593 -196
  846. package/dist/types/global/ionic-global.d.ts +27 -2
  847. package/dist/types/interface.d.ts +3 -0
  848. package/dist/types/stencil-public-runtime.d.ts +5 -12
  849. package/dist/types/utils/config.d.ts +106 -2
  850. package/dist/types/utils/focus-visible.d.ts +13 -0
  851. package/dist/types/utils/helpers.d.ts +11 -0
  852. package/dist/types/utils/overlays-interface.d.ts +31 -1
  853. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  854. package/dist/types/utils/transition/index.d.ts +0 -9
  855. package/hydrate/index.js +3080 -1436
  856. package/hydrate/index.mjs +3080 -1436
  857. package/package.json +10 -5
  858. package/components/hardware-back-button.js +0 -115
  859. package/components/index9.js +0 -7
  860. package/dist/cjs/app-globals-77ZfuXXk.js +0 -10
  861. package/dist/cjs/hardware-back-button-BxdNu76F.js +0 -121
  862. package/dist/cjs/index-DkNv4J_i.js +0 -10
  863. package/dist/cjs/ionic-global-UI5YPSi-.js +0 -151
  864. package/dist/esm/app-globals-CvLYUxE9.js +0 -8
  865. package/dist/esm/hardware-back-button-Dhbd-23H.js +0 -115
  866. package/dist/esm/index-ZjP4CjeZ.js +0 -7
  867. package/dist/esm/ionic-global-CTSyufhF.js +0 -146
  868. package/dist/ionic/p-0793aea6.entry.js +0 -4
  869. package/dist/ionic/p-0831d492.entry.js +0 -4
  870. package/dist/ionic/p-0f396661.entry.js +0 -4
  871. package/dist/ionic/p-117e7a3f.entry.js +0 -4
  872. package/dist/ionic/p-1191a2d9.entry.js +0 -4
  873. package/dist/ionic/p-148bdf18.entry.js +0 -4
  874. package/dist/ionic/p-16116947.entry.js +0 -4
  875. package/dist/ionic/p-19f80390.entry.js +0 -4
  876. package/dist/ionic/p-1GR6N4h5.js +0 -4
  877. package/dist/ionic/p-1a91f317.entry.js +0 -4
  878. package/dist/ionic/p-1bbd0a23.entry.js +0 -4
  879. package/dist/ionic/p-1f68cb59.entry.js +0 -4
  880. package/dist/ionic/p-24159ff7.entry.js +0 -4
  881. package/dist/ionic/p-25e5e5cc.entry.js +0 -4
  882. package/dist/ionic/p-2cb0f39f.entry.js +0 -4
  883. package/dist/ionic/p-3392f558.entry.js +0 -4
  884. package/dist/ionic/p-349fc921.entry.js +0 -4
  885. package/dist/ionic/p-3624b640.entry.js +0 -4
  886. package/dist/ionic/p-36a54836.entry.js +0 -4
  887. package/dist/ionic/p-39ed3212.entry.js +0 -4
  888. package/dist/ionic/p-44e3b33a.entry.js +0 -4
  889. package/dist/ionic/p-4DxY6_gG.js +0 -5
  890. package/dist/ionic/p-528af4e6.entry.js +0 -4
  891. package/dist/ionic/p-54dec9b1.entry.js +0 -4
  892. package/dist/ionic/p-568efea2.entry.js +0 -4
  893. package/dist/ionic/p-5bf5bde8.entry.js +0 -4
  894. package/dist/ionic/p-5c976c00.entry.js +0 -4
  895. package/dist/ionic/p-6383afc2.entry.js +0 -4
  896. package/dist/ionic/p-63852736.entry.js +0 -4
  897. package/dist/ionic/p-746cd400.entry.js +0 -4
  898. package/dist/ionic/p-7a53f04c.entry.js +0 -4
  899. package/dist/ionic/p-7b12d853.entry.js +0 -4
  900. package/dist/ionic/p-7da05504.entry.js +0 -4
  901. package/dist/ionic/p-8888efe4.entry.js +0 -4
  902. package/dist/ionic/p-8cdb4ff5.entry.js +0 -4
  903. package/dist/ionic/p-90f4cc71.entry.js +0 -4
  904. package/dist/ionic/p-9ddf2620.entry.js +0 -4
  905. package/dist/ionic/p-9eeaBrnk.js +0 -4
  906. package/dist/ionic/p-B1xocg0A.js +0 -4
  907. package/dist/ionic/p-B5MDSrGg.js +0 -4
  908. package/dist/ionic/p-BHGXdud8.js +0 -4
  909. package/dist/ionic/p-BhNEp2QP.js +0 -4
  910. package/dist/ionic/p-BmVRXR1y.js +0 -4
  911. package/dist/ionic/p-Br3vSlYh.js +0 -4
  912. package/dist/ionic/p-C-Cct-6D.js +0 -4
  913. package/dist/ionic/p-C4I6B3uV.js +0 -4
  914. package/dist/ionic/p-C87oPMMF.js +0 -4
  915. package/dist/ionic/p-C8d2ebIg.js +0 -4
  916. package/dist/ionic/p-CIGNaXM1.js +0 -4
  917. package/dist/ionic/p-Cnh7O81W.js +0 -4
  918. package/dist/ionic/p-CtWGkNnJ.js +0 -4
  919. package/dist/ionic/p-CvaZMP6T.js +0 -4
  920. package/dist/ionic/p-D2fQU_qK.js +0 -4
  921. package/dist/ionic/p-DA3JEZwK.js +0 -4
  922. package/dist/ionic/p-DAfH9Iif.js +0 -4
  923. package/dist/ionic/p-DJKvq7vb.js +0 -4
  924. package/dist/ionic/p-DW5tZAde.js +0 -4
  925. package/dist/ionic/p-Dm_oBkW1.js +0 -4
  926. package/dist/ionic/p-EnaLTYYj.js +0 -4
  927. package/dist/ionic/p-ZjP4CjeZ.js +0 -4
  928. package/dist/ionic/p-a00ad0f2.entry.js +0 -4
  929. package/dist/ionic/p-a81be128.entry.js +0 -4
  930. package/dist/ionic/p-afeb9df6.entry.js +0 -4
  931. package/dist/ionic/p-b292804d.entry.js +0 -4
  932. package/dist/ionic/p-bc9f9032.entry.js +0 -4
  933. package/dist/ionic/p-bf81a468.entry.js +0 -4
  934. package/dist/ionic/p-c6d35cdd.entry.js +0 -4
  935. package/dist/ionic/p-cde6d39b.entry.js +0 -4
  936. package/dist/ionic/p-d04d66fc.entry.js +0 -4
  937. package/dist/ionic/p-d3df6032.entry.js +0 -4
  938. package/dist/ionic/p-dbba38cf.entry.js +0 -4
  939. package/dist/ionic/p-e6c3214c.entry.js +0 -4
  940. package/dist/ionic/p-e6c465ff.entry.js +0 -4
  941. package/dist/ionic/p-ec76fec4.entry.js +0 -4
  942. package/dist/ionic/p-ee2e35a6.entry.js +0 -4
  943. package/dist/ionic/p-f7db572a.entry.js +0 -4
  944. package/dist/ionic/p-f9eb54ee.entry.js +0 -4
  945. /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
@@ -2,7 +2,11 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { Host, h } from "@stencil/core";
5
- import { getIonMode } from "../../global/ionic-global";
5
+ import { getIonTheme } from "../../global/ionic-global";
6
+ /**
7
+ * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
8
+ * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
9
+ */
6
10
  export class FabList {
7
11
  constructor() {
8
12
  /**
@@ -23,12 +27,12 @@ export class FabList {
23
27
  });
24
28
  }
25
29
  render() {
26
- const mode = getIonMode(this);
27
- return (h(Host, { key: '64b33366447f66c7f979cfac56307fbb1a6fac1c', class: {
28
- [mode]: true,
30
+ const theme = getIonTheme(this);
31
+ return (h(Host, { key: 'b0e984c110ea8bf4aa0daeca5f66253c9e0666fd', class: {
32
+ [theme]: true,
29
33
  'fab-list-active': this.activated,
30
34
  [`fab-list-side-${this.side}`]: true,
31
- } }, h("slot", { key: 'd9f474f7f20fd7e813db358fddc720534ca05bb6' })));
35
+ } }, h("slot", { key: '7bedbb010e89d1304d86c4261f5378e90741611e' })));
32
36
  }
33
37
  static get is() { return "ion-fab-list"; }
34
38
  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
@@ -65,6 +71,12 @@ ion-footer.footer-toolbar-padding ion-toolbar:last-of-type {
65
71
  padding-bottom: var(--ion-safe-area-bottom, 0);
66
72
  }
67
73
 
74
+ /**
75
+ * Convert a pixels given value into rem
76
+ *
77
+ * @param pixels - Value in pixels to be converted (i.e. px)
78
+ * @param context (optional) - Baseline value
79
+ */
68
80
  /**
69
81
  * Convert a font size to a dynamic font size.
70
82
  * Fonts that participate in Dynamic Type should use
@@ -126,15 +138,15 @@ ion-footer.footer-toolbar-padding ion-toolbar:last-of-type {
126
138
 
127
139
  @supports (backdrop-filter: blur(0)) {
128
140
  .footer-background {
129
- left: 0;
130
141
  right: 0;
142
+ left: 0;
131
143
  top: 0;
132
144
  bottom: 0;
133
145
  position: absolute;
134
146
  backdrop-filter: saturate(180%) blur(20px);
135
147
  }
136
148
  .footer-translucent-ios ion-toolbar {
137
- --opacity: .8;
149
+ --opacity: 0.8;
138
150
  }
139
151
  }
140
152
  .footer-ios.ion-no-border ion-toolbar:first-of-type {
@@ -4,10 +4,12 @@
4
4
  import { Host, h } from "@stencil/core";
5
5
  import { findIonContent, getScrollElement, printIonContentErrorMsg } from "../../utils/content/index";
6
6
  import { createKeyboardController } from "../../utils/keyboard/keyboard-controller";
7
- import { getIonMode } from "../../global/ionic-global";
7
+ import { config } from "../../global/config";
8
+ import { getIonTheme } from "../../global/ionic-global";
8
9
  import { handleFooterFade } from "./footer.utils";
9
10
  /**
10
- * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
11
+ * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
12
+ * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
11
13
  */
12
14
  export class Footer {
13
15
  constructor() {
@@ -15,7 +17,7 @@ export class Footer {
15
17
  this.keyboardVisible = false;
16
18
  /**
17
19
  * If `true`, the footer will be translucent.
18
- * Only applies when the mode is `"ios"` and the device supports
20
+ * Only applies when the theme is `"ios"` and the device supports
19
21
  * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
20
22
  *
21
23
  * Note: In order to scroll content behind the footer, the `fullscreen`
@@ -23,15 +25,16 @@ export class Footer {
23
25
  */
24
26
  this.translucent = false;
25
27
  this.checkCollapsibleFooter = () => {
26
- const mode = getIonMode(this);
27
- if (mode !== 'ios') {
28
+ const theme = getIonTheme(this);
29
+ if (theme !== 'ios') {
28
30
  return;
29
31
  }
30
32
  const { collapse } = this;
31
33
  const hasFade = collapse === 'fade';
32
34
  this.destroyCollapsibleFooter();
33
35
  if (hasFade) {
34
- const pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');
36
+ const appRootSelector = config.get('appRootSelector', 'ion-app');
37
+ const pageEl = this.el.closest(`${appRootSelector},ion-page,.ion-page,page-inner`);
35
38
  const contentEl = pageEl ? findIonContent(pageEl) : null;
36
39
  if (!contentEl) {
37
40
  printIonContentErrorMsg(this.el);
@@ -84,30 +87,32 @@ export class Footer {
84
87
  }
85
88
  render() {
86
89
  const { translucent, collapse } = this;
87
- const mode = getIonMode(this);
90
+ const theme = getIonTheme(this);
88
91
  const tabs = this.el.closest('ion-tabs');
89
92
  const tabBar = tabs === null || tabs === void 0 ? void 0 : tabs.querySelector(':scope > ion-tab-bar');
90
- return (h(Host, { key: 'ddc228f1a1e7fa4f707dccf74db2490ca3241137', role: "contentinfo", class: {
91
- [mode]: true,
93
+ return (h(Host, { key: 'e70e2616f69a6205a1c2045bf13a792c9a6bc27c', role: "contentinfo", class: {
94
+ [theme]: true,
92
95
  // Used internally for styling
93
- [`footer-${mode}`]: true,
96
+ [`footer-${theme}`]: true,
94
97
  [`footer-translucent`]: translucent,
95
- [`footer-translucent-${mode}`]: translucent,
98
+ [`footer-translucent-${theme}`]: translucent,
96
99
  ['footer-toolbar-padding']: !this.keyboardVisible && (!tabBar || tabBar.slot !== 'bottom'),
97
100
  [`footer-collapse-${collapse}`]: collapse !== undefined,
98
- } }, mode === 'ios' && translucent && h("div", { key: 'e16ed4963ff94e06de77eb8038201820af73937c', class: "footer-background" }), h("slot", { key: 'f186934febf85d37133d9351a96c1a64b0a4b203' })));
101
+ } }, theme === 'ios' && translucent && h("div", { key: '72803059c1d82a766a0ce69e5a8a6a3b7e576700', class: "footer-background" }), h("slot", { key: 'de450e4eb8f5c63b11f548061f29d957ef308539' })));
99
102
  }
100
103
  static get is() { return "ion-footer"; }
101
104
  static get originalStyleUrls() {
102
105
  return {
103
106
  "ios": ["footer.ios.scss"],
104
- "md": ["footer.md.scss"]
107
+ "md": ["footer.md.scss"],
108
+ "ionic": ["footer.md.scss"]
105
109
  };
106
110
  }
107
111
  static get styleUrls() {
108
112
  return {
109
113
  "ios": ["footer.ios.css"],
110
- "md": ["footer.md.css"]
114
+ "md": ["footer.md.css"],
115
+ "ionic": ["footer.md.css"]
111
116
  };
112
117
  }
113
118
  static get properties() {
@@ -125,7 +130,7 @@ export class Footer {
125
130
  "optional": true,
126
131
  "docs": {
127
132
  "tags": [],
128
- "text": "Describes the scroll effect that will be applied to the footer.\nOnly applies in iOS mode."
133
+ "text": "Describes the scroll effect that will be applied to the footer.\nOnly applies when the theme is `\"ios\"`."
129
134
  },
130
135
  "getter": false,
131
136
  "setter": false,
@@ -144,7 +149,7 @@ export class Footer {
144
149
  "optional": false,
145
150
  "docs": {
146
151
  "tags": [],
147
- "text": "If `true`, the footer 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).\n\nNote: In order to scroll content behind the footer, the `fullscreen`\nattribute needs to be set on the content."
152
+ "text": "If `true`, the footer 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).\n\nNote: In order to scroll content behind the footer, the `fullscreen`\nattribute needs to be set on the content."
148
153
  },
149
154
  "getter": false,
150
155
  "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
@@ -65,6 +71,12 @@ ion-footer.footer-toolbar-padding ion-toolbar:last-of-type {
65
71
  padding-bottom: var(--ion-safe-area-bottom, 0);
66
72
  }
67
73
 
74
+ /**
75
+ * Convert a pixels given value into rem
76
+ *
77
+ * @param pixels - Value in pixels to be converted (i.e. px)
78
+ * @param context (optional) - Baseline value
79
+ */
68
80
  /**
69
81
  * Convert a font size to a dynamic font size.
70
82
  * 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
@@ -53,6 +59,12 @@
53
59
  * }
54
60
  * }
55
61
  */
62
+ /**
63
+ * Convert a pixels given value into rem
64
+ *
65
+ * @param pixels - Value in pixels to be converted (i.e. px)
66
+ * @param context (optional) - Baseline value
67
+ */
56
68
  /**
57
69
  * Convert a font size to a dynamic font size.
58
70
  * Fonts that participate in Dynamic Type should use
@@ -2,7 +2,11 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { Host, h } from "@stencil/core";
5
- import { getIonMode } from "../../global/ionic-global";
5
+ import { getIonTheme } from "../../global/ionic-global";
6
+ /**
7
+ * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
8
+ * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
9
+ */
6
10
  export class Grid {
7
11
  constructor() {
8
12
  /**
@@ -11,11 +15,11 @@ export class Grid {
11
15
  this.fixed = false;
12
16
  }
13
17
  render() {
14
- const mode = getIonMode(this);
15
- return (h(Host, { key: '617127ecfabf9bf615bef1dda1be3fed5a065949', class: {
16
- [mode]: true,
18
+ const theme = getIonTheme(this);
19
+ return (h(Host, { key: 'f439594e1c4186e30d5b57bf3ca95c220df954fa', class: {
20
+ [theme]: true,
17
21
  'grid-fixed': this.fixed,
18
- } }, h("slot", { key: 'c781fff853b093d8f44bdb7943bbc4f17c903803' })));
22
+ } }, h("slot", { key: 'e8e01f0b46a05fb3220837fbfa9f161b086c06ad' })));
19
23
  }
20
24
  static get is() { return "ion-grid"; }
21
25
  static get encapsulation() { return "shadow"; }
@@ -0,0 +1,98 @@
1
+ ion-header {
2
+ display: block;
3
+ position: relative;
4
+ order: -1;
5
+ width: 100%;
6
+ }
7
+
8
+ ion-header ion-toolbar:first-of-type {
9
+ padding-top: var(--ion-safe-area-top, 0);
10
+ }
11
+
12
+ /**
13
+ * Convert a pixels given value into rem
14
+ *
15
+ * @param pixels - Value in pixels to be converted (i.e. px)
16
+ * @param context (optional) - Baseline value
17
+ */
18
+ /**
19
+ * A heuristic that applies CSS to tablet
20
+ * viewports.
21
+ *
22
+ * Usage:
23
+ * @include tablet-viewport() {
24
+ * :host {
25
+ * background-color: green;
26
+ * }
27
+ * }
28
+ */
29
+ /**
30
+ * A heuristic that applies CSS to mobile
31
+ * viewports (i.e. phones, not tablets).
32
+ *
33
+ * Usage:
34
+ * @include mobile-viewport() {
35
+ * :host {
36
+ * background-color: blue;
37
+ * }
38
+ * }
39
+ */
40
+ /**
41
+ * Convert a font size to a dynamic font size.
42
+ * Fonts that participate in Dynamic Type should use
43
+ * dynamic font sizes.
44
+ * @param size - The initial font size including the unit (i.e. px or pt)
45
+ * @param unit (optional) - The unit to convert to. Use this if you want to
46
+ * convert to a unit other than $baselineUnit.
47
+ */
48
+ /**
49
+ * Convert a font size to a dynamic font size but impose
50
+ * a maximum font size.
51
+ * @param size - The initial font size including the unit (i.e. px or pt)
52
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
53
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
54
+ * convert to a unit other than $baselineUnit.
55
+ */
56
+ /**
57
+ * Convert a font size to a dynamic font size but impose
58
+ * a minimum font size.
59
+ * @param size - The initial font size including the unit (i.e. px or pt)
60
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
61
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
62
+ * convert to a unit other than $baselineUnit.
63
+ */
64
+ /**
65
+ * Convert a font size to a dynamic font size but impose
66
+ * maximum and minimum font sizes.
67
+ * @param size - The initial font size including the unit (i.e. px or pt)
68
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
69
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
70
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
71
+ * convert to a unit other than $baselineUnit.
72
+ */
73
+ ion-header {
74
+ box-shadow: var(--token-elevation-2, 0px 1px 5px 0px rgba(0, 0, 0, 0.05), 0px 8px 25px 0px rgba(0, 0, 0, 0.08));
75
+ z-index: 10;
76
+ }
77
+ ion-header.header-divider {
78
+ border-bottom: var(--token-border-size-025, var(--token-scale-025, 1px)) var(--token-border-style-solid, solid) var(--token-primitives-neutral-300, #e0e0e0);
79
+ }
80
+
81
+ ion-toolbar + ion-toolbar {
82
+ --padding-start: var(--token-space-400, var(--token-scale-400, 16px));
83
+ --padding-end: var(--token-space-400, var(--token-scale-400, 16px));
84
+ }
85
+
86
+ @supports (backdrop-filter: blur(0)) {
87
+ .header-background {
88
+ right: 0;
89
+ left: 0;
90
+ top: 0;
91
+ bottom: 0;
92
+ position: absolute;
93
+ backdrop-filter: saturate(180%) blur(var(--token-scale-100, 4px));
94
+ }
95
+ .header-translucent-ionic ion-toolbar {
96
+ --opacity: 0.7;
97
+ }
98
+ }
@@ -1,3 +1,20 @@
1
+ ion-header {
2
+ display: block;
3
+ position: relative;
4
+ order: -1;
5
+ width: 100%;
6
+ }
7
+
8
+ ion-header ion-toolbar:first-of-type {
9
+ padding-top: var(--ion-safe-area-top, 0);
10
+ }
11
+
12
+ /**
13
+ * Convert a pixels given value into rem
14
+ *
15
+ * @param pixels - Value in pixels to be converted (i.e. px)
16
+ * @param context (optional) - Baseline value
17
+ */
1
18
  /**
2
19
  * Convert a font size to a dynamic font size.
3
20
  * Fonts that participate in Dynamic Type should use
@@ -54,17 +71,15 @@
54
71
  * }
55
72
  */
56
73
  ion-header {
57
- display: block;
58
- position: relative;
59
- order: -1;
60
- width: 100%;
61
74
  z-index: 10;
62
75
  }
63
76
 
64
- ion-header ion-toolbar:first-of-type {
65
- padding-top: var(--ion-safe-area-top, 0);
66
- }
67
-
77
+ /**
78
+ * Convert a pixels given value into rem
79
+ *
80
+ * @param pixels - Value in pixels to be converted (i.e. px)
81
+ * @param context (optional) - Baseline value
82
+ */
68
83
  /**
69
84
  * Convert a font size to a dynamic font size.
70
85
  * Fonts that participate in Dynamic Type should use
@@ -126,15 +141,15 @@ ion-header ion-toolbar:first-of-type {
126
141
 
127
142
  @supports (backdrop-filter: blur(0)) {
128
143
  .header-background {
129
- left: 0;
130
144
  right: 0;
145
+ left: 0;
131
146
  top: 0;
132
147
  bottom: 0;
133
148
  position: absolute;
134
149
  backdrop-filter: saturate(180%) blur(20px);
135
150
  }
136
151
  .header-translucent-ios ion-toolbar {
137
- --opacity: .8;
152
+ --opacity: 0.8;
138
153
  }
139
154
  /**
140
155
  * Disable the saturation otherwise it distorts the content
@@ -152,15 +167,6 @@ ion-header ion-toolbar:first-of-type {
152
167
  --opacity-scale: inherit;
153
168
  }
154
169
 
155
- /**
156
- * Override styles applied during the page transition to prevent
157
- * header flickering.
158
- */
159
- .header-collapse-fade.header-transitioning ion-toolbar {
160
- --background: transparent;
161
- --border-style: none;
162
- }
163
-
164
170
  .header-collapse-condense {
165
171
  z-index: 9;
166
172
  }
@@ -184,6 +190,7 @@ ion-header ion-toolbar:first-of-type {
184
190
  * since it needs to blend in with the header above it.
185
191
  */
186
192
  .header-collapse-condense ion-toolbar {
193
+ --background: var(--ion-background-color, #fff);
187
194
  z-index: 0;
188
195
  }
189
196
 
@@ -209,24 +216,6 @@ ion-header ion-toolbar:first-of-type {
209
216
  transition: all 0.2s ease-in-out;
210
217
  }
211
218
 
212
- /**
213
- * Large title toolbar should just use the content background
214
- * since it needs to blend in with the header above it.
215
- */
216
- .header-collapse-condense ion-toolbar,
217
- .header-collapse-condense-inactive.header-transitioning:not(.header-collapse-condense) ion-toolbar {
218
- --background: var(--ion-background-color, #fff);
219
- }
220
-
221
- /**
222
- * Override styles applied during the page transition to prevent
223
- * header flickering.
224
- */
225
- .header-collapse-condense-inactive.header-transitioning:not(.header-collapse-condense) ion-toolbar {
226
- --border-style: none;
227
- --opacity-scale: 1;
228
- }
229
-
230
219
  .header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-title,
231
220
  .header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-buttons.buttons-collapse {
232
221
  opacity: 0;
@@ -5,17 +5,24 @@ import { Host, h, writeTask } from "@stencil/core";
5
5
  import { findIonContent, getScrollElement, printIonContentErrorMsg } from "../../utils/content/index";
6
6
  import { inheritAriaAttributes } from "../../utils/helpers";
7
7
  import { hostContext } from "../../utils/theme";
8
- import { getIonMode } from "../../global/ionic-global";
8
+ import { config } from "../../global/config";
9
+ import { getIonTheme } from "../../global/ionic-global";
9
10
  import { cloneElement, createHeaderIndex, handleContentScroll, handleHeaderFade, handleToolbarIntersection, setHeaderActive, setToolbarBackgroundOpacity, } from "./header.utils";
10
11
  /**
11
- * @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.
12
14
  */
13
15
  export class Header {
14
16
  constructor() {
15
17
  this.inheritedAttributes = {};
18
+ /**
19
+ * If `true`, the header will have a line at the bottom.
20
+ * TODO(ROU-10855): add support for this prop on ios/md themes
21
+ */
22
+ this.divider = false;
16
23
  /**
17
24
  * If `true`, the header will be translucent.
18
- * Only applies when the mode is `"ios"` and the device supports
25
+ * Only applies when the theme is `"ios"` or `"ionic"` and the device supports
19
26
  * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
20
27
  *
21
28
  * Note: In order to scroll content behind the header, the `fullscreen`
@@ -47,16 +54,17 @@ export class Header {
47
54
  this.destroyCollapsibleHeader();
48
55
  }
49
56
  async checkCollapsibleHeader() {
50
- const mode = getIonMode(this);
51
- if (mode !== 'ios') {
57
+ const theme = getIonTheme(this);
58
+ if (theme !== 'ios') {
52
59
  return;
53
60
  }
54
61
  const { collapse } = this;
55
62
  const hasCondense = collapse === 'condense';
56
63
  const hasFade = collapse === 'fade';
57
64
  this.destroyCollapsibleHeader();
65
+ const appRootSelector = config.get('appRootSelector', 'ion-app');
58
66
  if (hasCondense) {
59
- const pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');
67
+ const pageEl = this.el.closest(`${appRootSelector},ion-page,.ion-page,page-inner`);
60
68
  const contentEl = pageEl ? findIonContent(pageEl) : null;
61
69
  // Cloned elements are always needed in iOS transition
62
70
  writeTask(() => {
@@ -67,7 +75,7 @@ export class Header {
67
75
  await this.setupCondenseHeader(contentEl, pageEl);
68
76
  }
69
77
  else if (hasFade) {
70
- const pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');
78
+ const pageEl = this.el.closest(`${appRootSelector},ion-page,.ion-page,page-inner`);
71
79
  const contentEl = pageEl ? findIonContent(pageEl) : null;
72
80
  if (!contentEl) {
73
81
  printIonContentErrorMsg(this.el);
@@ -142,31 +150,34 @@ export class Header {
142
150
  });
143
151
  }
144
152
  render() {
145
- const { translucent, inheritedAttributes } = this;
146
- const mode = getIonMode(this);
153
+ const { translucent, inheritedAttributes, divider } = this;
154
+ const theme = getIonTheme(this);
147
155
  const collapse = this.collapse || 'none';
148
156
  // banner role must be at top level, so remove role if inside a menu
149
157
  const roleType = hostContext('ion-menu', this.el) ? 'none' : 'banner';
150
- return (h(Host, Object.assign({ key: 'b6cc27f0b08afc9fcc889683525da765d80ba672', role: roleType, class: {
151
- [mode]: true,
158
+ return (h(Host, Object.assign({ key: 'f5c81cee59b635b407fcad7732c793c651edb91e', role: roleType, class: {
159
+ [theme]: true,
152
160
  // Used internally for styling
153
- [`header-${mode}`]: true,
161
+ [`header-${theme}`]: true,
154
162
  [`header-translucent`]: this.translucent,
155
163
  [`header-collapse-${collapse}`]: true,
156
- [`header-translucent-${mode}`]: this.translucent,
157
- } }, inheritedAttributes), mode === 'ios' && translucent && h("div", { key: '395766d4dcee3398bc91960db21f922095292f14', class: "header-background" }), h("slot", { key: '09a67ece27b258ff1248805d43d92a49b2c6859a' })));
164
+ [`header-translucent-${theme}`]: this.translucent,
165
+ ['header-divider']: divider,
166
+ } }, inheritedAttributes), theme !== 'md' && translucent && h("div", { key: 'd8373a8418756961185de934082142da01b27a26', class: "header-background" }), h("slot", { key: '9fda3dcb16fd09f7f6fa1c345d17cdf130e1e331' })));
158
167
  }
159
168
  static get is() { return "ion-header"; }
160
169
  static get originalStyleUrls() {
161
170
  return {
162
171
  "ios": ["header.ios.scss"],
163
- "md": ["header.md.scss"]
172
+ "md": ["header.md.scss"],
173
+ "ionic": ["header.ionic.scss"]
164
174
  };
165
175
  }
166
176
  static get styleUrls() {
167
177
  return {
168
178
  "ios": ["header.ios.css"],
169
- "md": ["header.md.css"]
179
+ "md": ["header.md.css"],
180
+ "ionic": ["header.ionic.css"]
170
181
  };
171
182
  }
172
183
  static get properties() {
@@ -184,12 +195,32 @@ export class Header {
184
195
  "optional": true,
185
196
  "docs": {
186
197
  "tags": [],
187
- "text": "Describes the scroll effect that will be applied to the header.\nOnly applies in iOS mode.\n\nTypically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)"
198
+ "text": "Describes the scroll effect that will be applied to the header.\nOnly applies when the theme is `\"ios\"`.\n\nTypically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)"
188
199
  },
189
200
  "getter": false,
190
201
  "setter": false,
191
202
  "reflect": false
192
203
  },
204
+ "divider": {
205
+ "type": "boolean",
206
+ "attribute": "divider",
207
+ "mutable": false,
208
+ "complexType": {
209
+ "original": "boolean",
210
+ "resolved": "boolean",
211
+ "references": {}
212
+ },
213
+ "required": false,
214
+ "optional": false,
215
+ "docs": {
216
+ "tags": [],
217
+ "text": "If `true`, the header will have a line at the bottom.\nTODO(ROU-10855): add support for this prop on ios/md themes"
218
+ },
219
+ "getter": false,
220
+ "setter": false,
221
+ "reflect": false,
222
+ "defaultValue": "false"
223
+ },
193
224
  "translucent": {
194
225
  "type": "boolean",
195
226
  "attribute": "translucent",
@@ -203,7 +234,7 @@ export class Header {
203
234
  "optional": false,
204
235
  "docs": {
205
236
  "tags": [],
206
- "text": "If `true`, the header 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).\n\nNote: In order to scroll content behind the header, the `fullscreen`\nattribute needs to be set on the content."
237
+ "text": "If `true`, the header will be translucent.\nOnly applies when the theme is `\"ios\"` or `\"ionic\"` and the device supports\n[`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).\n\nNote: In order to scroll content behind the header, the `fullscreen`\nattribute needs to be set on the content."
207
238
  },
208
239
  "getter": false,
209
240
  "setter": false,
@@ -1,3 +1,20 @@
1
+ ion-header {
2
+ display: block;
3
+ position: relative;
4
+ order: -1;
5
+ width: 100%;
6
+ }
7
+
8
+ ion-header ion-toolbar:first-of-type {
9
+ padding-top: var(--ion-safe-area-top, 0);
10
+ }
11
+
12
+ /**
13
+ * Convert a pixels given value into rem
14
+ *
15
+ * @param pixels - Value in pixels to be converted (i.e. px)
16
+ * @param context (optional) - Baseline value
17
+ */
1
18
  /**
2
19
  * Convert a font size to a dynamic font size.
3
20
  * Fonts that participate in Dynamic Type should use
@@ -54,17 +71,15 @@
54
71
  * }
55
72
  */
56
73
  ion-header {
57
- display: block;
58
- position: relative;
59
- order: -1;
60
- width: 100%;
61
74
  z-index: 10;
62
75
  }
63
76
 
64
- ion-header ion-toolbar:first-of-type {
65
- padding-top: var(--ion-safe-area-top, 0);
66
- }
67
-
77
+ /**
78
+ * Convert a pixels given value into rem
79
+ *
80
+ * @param pixels - Value in pixels to be converted (i.e. px)
81
+ * @param context (optional) - Baseline value
82
+ */
68
83
  /**
69
84
  * Convert a font size to a dynamic font size.
70
85
  * Fonts that participate in Dynamic Type should use