@ionic/core 8.7.13-dev.11765920447.1a01ab8b → 8.7.13-dev.11765925297.1bb45463

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 (953) 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 +57 -4
  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 +112 -19
  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 +349 -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 +48 -20
  103. package/components/notch-controller.js +1 -1
  104. package/components/overlays.js +96 -6
  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 +12 -9
  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/validity.js +32 -1
  120. package/components/x.js +6 -0
  121. package/css/core.css +1 -1
  122. package/css/core.css.map +1 -1
  123. package/css/display.css +1 -1
  124. package/css/display.css.map +1 -1
  125. package/css/flex-utils.css +1 -1
  126. package/css/flex-utils.css.map +1 -1
  127. package/css/float-elements.css.map +1 -1
  128. package/css/global.bundle.css.map +1 -1
  129. package/css/ionic/bundle.ionic.css +1 -0
  130. package/css/ionic/bundle.ionic.css.map +1 -0
  131. package/css/ionic/core.ionic.css +1 -0
  132. package/css/ionic/core.ionic.css.map +1 -0
  133. package/css/ionic/global.bundle.ionic.css +1 -0
  134. package/css/ionic/global.bundle.ionic.css.map +1 -0
  135. package/css/ionic/ionic-swiper.ionic.css +1 -0
  136. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  137. package/css/ionic/link.ionic.css +1 -0
  138. package/css/ionic/link.ionic.css.map +1 -0
  139. package/css/ionic/structure.ionic.css +1 -0
  140. package/css/ionic/structure.ionic.css.map +1 -0
  141. package/css/ionic/typography.ionic.css +1 -0
  142. package/css/ionic/typography.ionic.css.map +1 -0
  143. package/css/ionic/utils.bundle.ionic.css +1 -0
  144. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  145. package/css/ionic-swiper.css +1 -1
  146. package/css/ionic-swiper.css.map +1 -1
  147. package/css/ionic.bundle.css +1 -1
  148. package/css/ionic.bundle.css.map +1 -1
  149. package/css/normalize.css.map +1 -1
  150. package/css/padding.css.map +1 -1
  151. package/css/palettes/dark.always.css.map +1 -1
  152. package/css/palettes/dark.class.css.map +1 -1
  153. package/css/palettes/dark.system.css.map +1 -1
  154. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  155. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  156. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  157. package/css/palettes/high-contrast.always.css.map +1 -1
  158. package/css/palettes/high-contrast.class.css.map +1 -1
  159. package/css/palettes/high-contrast.system.css.map +1 -1
  160. package/css/structure.css.map +1 -1
  161. package/css/text-alignment.css.map +1 -1
  162. package/css/text-transformation.css.map +1 -1
  163. package/css/typography.css.map +1 -1
  164. package/css/utils.bundle.css +1 -1
  165. package/css/utils.bundle.css.map +1 -1
  166. package/dist/cjs/{animation-Bt3H9L1C.js → animation-BBT4oe7B.js} +3 -3
  167. package/dist/cjs/{app-globals-Ciccnk9_.js → app-globals-DjZzKNoV.js} +1 -1
  168. package/dist/cjs/{button-active-CMc8cD90.js → button-active-DQ3Dd_Zw.js} +2 -2
  169. package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-G2rS2zAS.js} +3 -3
  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-C5fsO43a.js → config-CPCkFfH2.js} +1 -1
  174. package/dist/cjs/{data-JwZKaIQB.js → data-BpYscHnl.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-DMJRBuDi.js → framework-delegate-C7fZ8bup.js} +4 -2
  177. package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-CYXFB5MG.js} +1 -1
  178. package/dist/cjs/{helpers-DrTqNghc.js → helpers-DF1tCuxf.js} +57 -4
  179. package/dist/cjs/{index-094mMFB-.js → index-BIUQBJ4M.js} +4 -4
  180. package/dist/cjs/{index-DrMUZJj6.js → index-BsTUIYWV.js} +15 -15
  181. package/dist/cjs/{index-CO6eryBo.js → index-C2sRwpb7.js} +2 -2
  182. package/dist/cjs/{index-D6Wc6v08.js → index-DjlJwy91.js} +41 -4
  183. package/dist/cjs/{index-C534ULug.js → index-h_4y8nIV.js} +9 -8
  184. package/dist/cjs/index.cjs.js +12 -13
  185. package/dist/cjs/{input-shims-CW0KUFTQ.js → input-shims-co__iqWN.js} +18 -17
  186. package/dist/cjs/{input.utils-B_QROI2g.js → input.utils-DyXMjrIY.js} +5 -5
  187. package/dist/cjs/ion-accordion_2.cjs.entry.js +56 -27
  188. package/dist/cjs/ion-action-sheet.cjs.entry.js +24 -21
  189. package/dist/cjs/ion-alert.cjs.entry.js +24 -22
  190. package/dist/cjs/ion-app_8.cjs.entry.js +250 -151
  191. package/dist/cjs/ion-avatar_3.cjs.entry.js +124 -12
  192. package/dist/cjs/ion-back-button.cjs.entry.js +29 -20
  193. package/dist/cjs/ion-backdrop.cjs.entry.js +10 -7
  194. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +52 -16
  195. package/dist/cjs/ion-button_2.cjs.entry.js +44 -12
  196. package/dist/cjs/ion-card_5.cjs.entry.js +54 -30
  197. package/dist/cjs/ion-checkbox.cjs.entry.js +33 -15
  198. package/dist/cjs/ion-chip.cjs.entry.js +49 -8
  199. package/dist/cjs/ion-col_3.cjs.entry.js +54 -57
  200. package/dist/cjs/ion-datetime-button.cjs.entry.js +12 -8
  201. package/dist/cjs/ion-datetime_3.cjs.entry.js +114 -39
  202. package/dist/cjs/ion-divider.cjs.entry.js +51 -0
  203. package/dist/cjs/ion-fab_3.cjs.entry.js +42 -26
  204. package/dist/cjs/ion-img.cjs.entry.js +8 -4
  205. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +91 -16
  206. package/dist/cjs/ion-input-otp.cjs.entry.js +12 -8
  207. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +51 -13
  208. package/dist/cjs/ion-input.cjs.entry.js +122 -32
  209. package/dist/cjs/ion-item-option_3.cjs.entry.js +49 -20
  210. package/dist/cjs/ion-item_8.cjs.entry.js +114 -47
  211. package/dist/cjs/ion-loading.cjs.entry.js +19 -17
  212. package/dist/cjs/ion-menu_3.cjs.entry.js +45 -27
  213. package/dist/cjs/ion-modal.cjs.entry.js +96 -69
  214. package/dist/cjs/ion-nav_2.cjs.entry.js +14 -11
  215. package/dist/cjs/ion-picker-column-option.cjs.entry.js +11 -7
  216. package/dist/cjs/ion-picker-column.cjs.entry.js +13 -13
  217. package/dist/cjs/ion-picker.cjs.entry.js +10 -6
  218. package/dist/cjs/ion-popover.cjs.entry.js +19 -17
  219. package/dist/cjs/ion-progress-bar.cjs.entry.js +26 -8
  220. package/dist/cjs/ion-radio_2.cjs.entry.js +26 -16
  221. package/dist/cjs/ion-range.cjs.entry.js +15 -11
  222. package/dist/cjs/ion-refresher_2.cjs.entry.js +38 -20
  223. package/dist/cjs/ion-reorder_2.cjs.entry.js +37 -13
  224. package/dist/cjs/ion-ripple-effect.cjs.entry.js +15 -7
  225. package/dist/cjs/ion-route_4.cjs.entry.js +9 -8
  226. package/dist/cjs/ion-searchbar.cjs.entry.js +135 -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 +22 -15
  230. package/dist/cjs/ion-select-modal.cjs.entry.js +16 -10
  231. package/dist/cjs/ion-select_3.cjs.entry.js +131 -40
  232. package/dist/cjs/ion-spinner.cjs.entry.js +29 -7
  233. package/dist/cjs/ion-split-pane.cjs.entry.js +12 -9
  234. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +76 -22
  235. package/dist/cjs/ion-tab_2.cjs.entry.js +8 -7
  236. package/dist/cjs/ion-text.cjs.entry.js +6 -6
  237. package/dist/cjs/ion-textarea.cjs.entry.js +117 -22
  238. package/dist/cjs/ion-toast.cjs.entry.js +67 -44
  239. package/dist/cjs/ion-toggle.cjs.entry.js +80 -23
  240. package/dist/cjs/ionic-global-DlkD8-ZL.js +491 -0
  241. package/dist/cjs/ionic.cjs.js +4 -4
  242. package/dist/cjs/{ios.transition-BOt_uW73.js → ios.transition-cjE5173V.js} +7 -5
  243. package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-BiIvvomq.js} +1 -1
  244. package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-Dxl3DPOc.js} +4 -3
  245. package/dist/cjs/{keyboard-controller-GXBiBRKS.js → keyboard-controller-5GsVQphE.js} +11 -9
  246. package/dist/cjs/list-a-7GSA6K.js +8 -0
  247. package/dist/cjs/loader.cjs.js +4 -4
  248. package/dist/cjs/{md.transition-Dt968VXB.js → md.transition-ChCLDEkm.js} +6 -5
  249. package/dist/cjs/{notch-controller-Bzqhjm4f.js → notch-controller-BGNMnptF.js} +4 -4
  250. package/dist/cjs/{overlays--dagG4QM.js → overlays-DPjo0yW3.js} +102 -12
  251. package/dist/cjs/{status-tap-g0sWWkXk.js → status-tap-BLw3gi_z.js} +4 -3
  252. package/dist/cjs/{swipe-back-BIayeNOD.js → swipe-back-BD2lWufH.js} +3 -2
  253. package/dist/cjs/validity-QmuwEptc.js +51 -0
  254. package/dist/cjs/x-BTF99yFH.js +8 -0
  255. package/dist/collection/collection-manifest.json +1 -0
  256. package/dist/collection/components/accordion/accordion.ionic.css +196 -0
  257. package/dist/collection/components/accordion/accordion.ios.css +73 -58
  258. package/dist/collection/components/accordion/accordion.js +36 -26
  259. package/dist/collection/components/accordion/accordion.md.css +67 -59
  260. package/dist/collection/components/accordion-group/accordion-group.ionic.css +93 -0
  261. package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
  262. package/dist/collection/components/accordion-group/accordion-group.js +44 -8
  263. package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
  264. package/dist/collection/components/action-sheet/action-sheet.ios.css +18 -6
  265. package/dist/collection/components/action-sheet/action-sheet.js +17 -13
  266. package/dist/collection/components/action-sheet/action-sheet.md.css +17 -5
  267. package/dist/collection/components/alert/alert.ios.css +19 -1
  268. package/dist/collection/components/alert/alert.js +16 -13
  269. package/dist/collection/components/alert/alert.md.css +19 -1
  270. package/dist/collection/components/app/app.js +15 -78
  271. package/dist/collection/components/avatar/avatar.ionic.css +391 -0
  272. package/dist/collection/components/avatar/avatar.ios.css +7 -33
  273. package/dist/collection/components/avatar/avatar.js +120 -4
  274. package/dist/collection/components/avatar/avatar.md.css +51 -0
  275. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  276. package/dist/collection/components/back-button/back-button.js +27 -19
  277. package/dist/collection/components/back-button/back-button.md.css +60 -48
  278. package/dist/collection/components/backdrop/backdrop.ionic.css +109 -0
  279. package/dist/collection/components/backdrop/backdrop.ios.css +56 -19
  280. package/dist/collection/components/backdrop/backdrop.js +12 -6
  281. package/dist/collection/components/backdrop/backdrop.md.css +56 -19
  282. package/dist/collection/components/badge/badge.ionic.css +275 -0
  283. package/dist/collection/components/badge/badge.ios.css +139 -12
  284. package/dist/collection/components/badge/badge.js +145 -9
  285. package/dist/collection/components/badge/badge.md.css +123 -12
  286. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  287. package/dist/collection/components/breadcrumb/breadcrumb.js +43 -11
  288. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  289. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  290. package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
  291. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  292. package/dist/collection/components/button/button.ionic.css +636 -0
  293. package/dist/collection/components/button/button.ios.css +135 -46
  294. package/dist/collection/components/button/button.js +48 -17
  295. package/dist/collection/components/button/button.md.css +126 -50
  296. package/dist/collection/components/buttons/buttons.ionic.css +97 -0
  297. package/dist/collection/components/buttons/buttons.ios.css +59 -7
  298. package/dist/collection/components/buttons/buttons.js +15 -9
  299. package/dist/collection/components/buttons/buttons.md.css +55 -3
  300. package/dist/collection/components/card/card.ionic.css +144 -0
  301. package/dist/collection/components/card/card.ios.css +65 -14
  302. package/dist/collection/components/card/card.js +41 -10
  303. package/dist/collection/components/card/card.md.css +65 -14
  304. package/dist/collection/components/card-content/card-content.ionic.css +92 -0
  305. package/dist/collection/components/card-content/card-content.ios.css +16 -1
  306. package/dist/collection/components/card-content/card-content.js +11 -8
  307. package/dist/collection/components/card-content/card-content.md.css +16 -1
  308. package/dist/collection/components/card-header/card-header.ionic.css +85 -0
  309. package/dist/collection/components/card-header/card-header.ios.css +27 -15
  310. package/dist/collection/components/card-header/card-header.js +13 -10
  311. package/dist/collection/components/card-header/card-header.md.css +27 -15
  312. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +144 -0
  313. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  314. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  315. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  316. package/dist/collection/components/card-title/card-title.ios.css +73 -0
  317. package/dist/collection/components/card-title/card-title.js +11 -8
  318. package/dist/collection/components/card-title/card-title.md.css +73 -0
  319. package/dist/collection/components/checkbox/checkbox.ionic.css +539 -0
  320. package/dist/collection/components/checkbox/checkbox.ios.css +161 -101
  321. package/dist/collection/components/checkbox/checkbox.js +70 -14
  322. package/dist/collection/components/checkbox/checkbox.md.css +162 -102
  323. package/dist/collection/components/chip/chip.ionic.css +215 -0
  324. package/dist/collection/components/chip/chip.ios.css +67 -14
  325. package/dist/collection/components/chip/chip.js +108 -8
  326. package/dist/collection/components/chip/chip.md.css +67 -14
  327. package/dist/collection/components/col/col.css +192 -4
  328. package/dist/collection/components/col/col.js +210 -61
  329. package/dist/collection/components/content/content.css +8 -2
  330. package/dist/collection/components/content/content.js +16 -11
  331. package/dist/collection/components/datetime/datetime.ionic.css +711 -0
  332. package/dist/collection/components/datetime/datetime.ios.css +258 -96
  333. package/dist/collection/components/datetime/datetime.js +98 -20
  334. package/dist/collection/components/datetime/datetime.md.css +258 -96
  335. package/dist/collection/components/datetime/utils/data.js +5 -5
  336. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
  337. package/dist/collection/components/datetime-button/datetime-button.js +11 -8
  338. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
  339. package/dist/collection/components/divider/divider.ionic.css +148 -0
  340. package/dist/collection/components/divider/divider.ios.css +87 -0
  341. package/dist/collection/components/divider/divider.js +94 -0
  342. package/dist/collection/components/divider/divider.md.css +87 -0
  343. package/dist/collection/components/fab/fab.css +25 -1
  344. package/dist/collection/components/fab/fab.js +9 -5
  345. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  346. package/dist/collection/components/fab-button/fab-button.js +36 -21
  347. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  348. package/dist/collection/components/fab-list/fab-list.css +12 -0
  349. package/dist/collection/components/fab-list/fab-list.js +9 -5
  350. package/dist/collection/components/footer/footer.ios.css +14 -2
  351. package/dist/collection/components/footer/footer.js +21 -16
  352. package/dist/collection/components/footer/footer.md.css +12 -0
  353. package/dist/collection/components/grid/grid.css +12 -0
  354. package/dist/collection/components/grid/grid.js +9 -5
  355. package/dist/collection/components/header/header.ionic.css +97 -0
  356. package/dist/collection/components/header/header.ios.css +25 -10
  357. package/dist/collection/components/header/header.js +50 -19
  358. package/dist/collection/components/header/header.md.css +23 -8
  359. package/dist/collection/components/header/header.utils.js +5 -5
  360. package/dist/collection/components/img/img.js +8 -2
  361. package/dist/collection/components/infinite-scroll/infinite-scroll.js +100 -5
  362. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  363. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  364. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  365. package/dist/collection/components/input/input.ionic.css +885 -0
  366. package/dist/collection/components/input/input.ios.css +223 -140
  367. package/dist/collection/components/input/input.js +149 -38
  368. package/dist/collection/components/input/input.md.css +193 -212
  369. package/dist/collection/components/input-otp/input-otp.ionic.css +369 -0
  370. package/dist/collection/components/input-otp/input-otp.ios.css +102 -60
  371. package/dist/collection/components/input-otp/input-otp.js +7 -5
  372. package/dist/collection/components/input-otp/input-otp.md.css +102 -60
  373. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +78 -0
  374. package/dist/collection/components/input-password-toggle/input-password-toggle.js +48 -12
  375. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +61 -0
  376. package/dist/collection/components/item/item.ionic.css +508 -0
  377. package/dist/collection/components/item/item.ios.css +109 -69
  378. package/dist/collection/components/item/item.js +51 -20
  379. package/dist/collection/components/item/item.md.css +120 -68
  380. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  381. package/dist/collection/components/item-divider/item-divider.js +11 -8
  382. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  383. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  384. package/dist/collection/components/item-group/item-group.js +13 -7
  385. package/dist/collection/components/item-group/item-group.md.css +12 -0
  386. package/dist/collection/components/item-option/item-option.ionic.css +278 -0
  387. package/dist/collection/components/item-option/item-option.ios.css +136 -29
  388. package/dist/collection/components/item-option/item-option.js +73 -9
  389. package/dist/collection/components/item-option/item-option.md.css +136 -29
  390. package/dist/collection/components/item-options/item-options.ionic.css +221 -0
  391. package/dist/collection/components/item-options/item-options.ios.css +77 -34
  392. package/dist/collection/components/item-options/item-options.js +13 -7
  393. package/dist/collection/components/item-options/item-options.md.css +77 -34
  394. package/dist/collection/components/item-sliding/item-sliding.css +6 -0
  395. package/dist/collection/components/item-sliding/item-sliding.js +8 -4
  396. package/dist/collection/components/label/label.ios.css +18 -0
  397. package/dist/collection/components/label/label.js +11 -8
  398. package/dist/collection/components/label/label.md.css +18 -0
  399. package/dist/collection/components/list/list.ionic.css +212 -0
  400. package/dist/collection/components/list/list.ios.css +54 -14
  401. package/dist/collection/components/list/list.js +48 -9
  402. package/dist/collection/components/list/list.md.css +56 -16
  403. package/dist/collection/components/list-header/list-header.ionic.css +190 -0
  404. package/dist/collection/components/list-header/list-header.ios.css +82 -38
  405. package/dist/collection/components/list-header/list-header.js +11 -8
  406. package/dist/collection/components/list-header/list-header.md.css +82 -38
  407. package/dist/collection/components/loading/loading.ios.css +13 -1
  408. package/dist/collection/components/loading/loading.js +14 -11
  409. package/dist/collection/components/loading/loading.md.css +13 -1
  410. package/dist/collection/components/menu/menu.ios.css +15 -3
  411. package/dist/collection/components/menu/menu.js +12 -7
  412. package/dist/collection/components/menu/menu.md.css +15 -3
  413. package/dist/collection/components/menu-button/menu-button.ionic.css +236 -0
  414. package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
  415. package/dist/collection/components/menu-button/menu-button.js +26 -10
  416. package/dist/collection/components/menu-button/menu-button.md.css +49 -15
  417. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  418. package/dist/collection/components/modal/animations/sheet.js +8 -2
  419. package/dist/collection/components/modal/gestures/sheet.js +10 -6
  420. package/dist/collection/components/modal/modal.ionic.css +247 -0
  421. package/dist/collection/components/modal/modal.ios.css +174 -70
  422. package/dist/collection/components/modal/modal.js +48 -11
  423. package/dist/collection/components/modal/modal.md.css +174 -70
  424. package/dist/collection/components/nav/nav.css +7 -1
  425. package/dist/collection/components/nav/nav.js +11 -5
  426. package/dist/collection/components/nav-link/nav-link.js +5 -1
  427. package/dist/collection/components/note/note.ios.css +12 -0
  428. package/dist/collection/components/note/note.js +11 -8
  429. package/dist/collection/components/note/note.md.css +12 -0
  430. package/dist/collection/components/picker/picker.ios.css +15 -3
  431. package/dist/collection/components/picker/picker.js +8 -5
  432. package/dist/collection/components/picker/picker.md.css +15 -3
  433. package/dist/collection/components/picker-column/picker-column.css +9 -2
  434. package/dist/collection/components/picker-column/picker-column.js +8 -7
  435. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  436. package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
  437. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
  438. package/dist/collection/components/picker-legacy/picker.ios.css +13 -1
  439. package/dist/collection/components/picker-legacy/picker.js +7 -6
  440. package/dist/collection/components/picker-legacy/picker.md.css +13 -1
  441. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
  442. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  443. package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
  444. package/dist/collection/components/popover/popover.ios.css +13 -1
  445. package/dist/collection/components/popover/popover.js +17 -14
  446. package/dist/collection/components/popover/popover.md.css +13 -1
  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 +890 -0
  533. package/dist/collection/components/textarea/textarea.ios.css +283 -142
  534. package/dist/collection/components/textarea/textarea.js +146 -24
  535. package/dist/collection/components/textarea/textarea.md.css +297 -143
  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-trap.js +13 -2
  558. package/dist/collection/utils/focus-visible.js +22 -0
  559. package/dist/collection/utils/forms/validity.js +31 -0
  560. package/dist/collection/utils/framework-delegate.js +3 -1
  561. package/dist/collection/utils/helpers.js +57 -3
  562. package/dist/collection/utils/keyboard/keyboard-controller.js +3 -1
  563. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  564. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  565. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  566. package/dist/collection/utils/overlays.js +82 -1
  567. package/dist/collection/utils/test/playwright/generator.js +48 -23
  568. package/dist/collection/utils/test/playwright/page/utils/goto.js +14 -5
  569. package/dist/collection/utils/test/playwright/page/utils/set-content.js +26 -3
  570. package/dist/collection/utils/transition/ios.transition.js +1 -0
  571. package/dist/docs.json +8263 -377
  572. package/dist/esm/{animation-Dt8bGnA-.js → animation-DR5OwIG7.js} +2 -2
  573. package/dist/esm/{app-globals-BDSf8fOA.js → app-globals-tUwaabUU.js} +1 -1
  574. package/dist/esm/{button-active-L570Swow.js → button-active-CegK1Ga3.js} +2 -2
  575. package/dist/esm/{capacitor-CFERIeaU.js → capacitor-Ap5mZl6I.js} +1 -1
  576. package/dist/esm/caret-down-D1t981Ih.js +6 -0
  577. package/dist/esm/caret-left-fIOYmaqA.js +6 -0
  578. package/dist/esm/caret-right-BYSs-jZz.js +6 -0
  579. package/dist/esm/{config-mCdtaoPe.js → config-DK9FWNvn.js} +1 -1
  580. package/dist/esm/{data-DCORV9FH.js → data-B5lRlGxI.js} +6 -6
  581. package/dist/esm/{focus-visible-BmVRXR1y.js → focus-visible-vXpMhGrs.js} +23 -1
  582. package/dist/esm/{framework-delegate-BYawdMXj.js → framework-delegate-Dx6tn-_w.js} +4 -2
  583. package/dist/esm/{haptic-DzAMWJuk.js → haptic-hXtWLcs-.js} +1 -1
  584. package/dist/esm/{helpers-DEn3pfjm.js → helpers-6l6yFg3S.js} +57 -4
  585. package/dist/esm/{index-r2D9DEro.js → index-BVnPBHWX.js} +4 -4
  586. package/dist/esm/{index-ceb5RaMT.js → index-CAS79tvr.js} +4 -3
  587. package/dist/esm/{index-CvDIirVx.js → index-CH4BJAR9.js} +11 -11
  588. package/dist/esm/{index-DV3sJJW8.js → index-COG0_eom.js} +1 -1
  589. package/dist/esm/{index-Bs3kT4bc.js → index-CXCvNx5X.js} +2 -2
  590. package/dist/esm/{index-C8IsBmNU.js → index-gD7P82jx.js} +41 -4
  591. package/dist/esm/index.js +12 -13
  592. package/dist/esm/{input-shims-DyOpfTg6.js → input-shims-DFQmNfaZ.js} +7 -6
  593. package/dist/esm/{input.utils-DrvTa8gz.js → input.utils-85zOntcN.js} +3 -3
  594. package/dist/esm/ion-accordion_2.entry.js +57 -28
  595. package/dist/esm/ion-action-sheet.entry.js +24 -21
  596. package/dist/esm/ion-alert.entry.js +24 -22
  597. package/dist/esm/ion-app_8.entry.js +250 -151
  598. package/dist/esm/ion-avatar_3.entry.js +125 -13
  599. package/dist/esm/ion-back-button.entry.js +30 -21
  600. package/dist/esm/ion-backdrop.entry.js +10 -7
  601. package/dist/esm/ion-breadcrumb_2.entry.js +53 -17
  602. package/dist/esm/ion-button_2.entry.js +44 -12
  603. package/dist/esm/ion-card_5.entry.js +54 -30
  604. package/dist/esm/ion-checkbox.entry.js +33 -15
  605. package/dist/esm/ion-chip.entry.js +49 -8
  606. package/dist/esm/ion-col_3.entry.js +54 -57
  607. package/dist/esm/ion-datetime-button.entry.js +12 -8
  608. package/dist/esm/ion-datetime_3.entry.js +115 -40
  609. package/dist/esm/ion-divider.entry.js +49 -0
  610. package/dist/esm/ion-fab_3.entry.js +43 -27
  611. package/dist/esm/ion-img.entry.js +8 -4
  612. package/dist/esm/ion-infinite-scroll_2.entry.js +91 -16
  613. package/dist/esm/ion-input-otp.entry.js +12 -8
  614. package/dist/esm/ion-input-password-toggle.entry.js +52 -14
  615. package/dist/esm/ion-input.entry.js +123 -33
  616. package/dist/esm/ion-item-option_3.entry.js +49 -20
  617. package/dist/esm/ion-item_8.entry.js +115 -48
  618. package/dist/esm/ion-loading.entry.js +19 -17
  619. package/dist/esm/ion-menu_3.entry.js +46 -28
  620. package/dist/esm/ion-modal.entry.js +57 -30
  621. package/dist/esm/ion-nav_2.entry.js +14 -11
  622. package/dist/esm/ion-picker-column-option.entry.js +11 -7
  623. package/dist/esm/ion-picker-column.entry.js +12 -12
  624. package/dist/esm/ion-picker.entry.js +10 -6
  625. package/dist/esm/ion-popover.entry.js +19 -17
  626. package/dist/esm/ion-progress-bar.entry.js +26 -8
  627. package/dist/esm/ion-radio_2.entry.js +26 -16
  628. package/dist/esm/ion-range.entry.js +15 -11
  629. package/dist/esm/ion-refresher_2.entry.js +39 -21
  630. package/dist/esm/ion-reorder_2.entry.js +38 -14
  631. package/dist/esm/ion-ripple-effect.entry.js +15 -7
  632. package/dist/esm/ion-route_4.entry.js +9 -8
  633. package/dist/esm/ion-searchbar.entry.js +137 -24
  634. package/dist/esm/ion-segment-content.entry.js +2 -2
  635. package/dist/esm/ion-segment-view.entry.js +6 -3
  636. package/dist/esm/ion-segment_2.entry.js +22 -15
  637. package/dist/esm/ion-select-modal.entry.js +17 -11
  638. package/dist/esm/ion-select_3.entry.js +132 -41
  639. package/dist/esm/ion-spinner.entry.js +29 -7
  640. package/dist/esm/ion-split-pane.entry.js +12 -9
  641. package/dist/esm/ion-tab-bar_2.entry.js +76 -22
  642. package/dist/esm/ion-tab_2.entry.js +8 -7
  643. package/dist/esm/ion-text.entry.js +6 -6
  644. package/dist/esm/ion-textarea.entry.js +117 -22
  645. package/dist/esm/ion-toast.entry.js +42 -19
  646. package/dist/esm/ion-toggle.entry.js +81 -24
  647. package/dist/esm/ionic-global-C2dfEr5R.js +480 -0
  648. package/dist/esm/ionic.js +5 -5
  649. package/dist/esm/{ios.transition-BDzw0_Hm.js → ios.transition-mZDQgHke.js} +7 -5
  650. package/dist/esm/{keyboard-ywgs5efA.js → keyboard-BBx8cd5K.js} +4 -3
  651. package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-NoPSnHZy.js} +1 -1
  652. package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-D5zoL0pZ.js} +5 -3
  653. package/dist/esm/list-Dhi5xtNS.js +6 -0
  654. package/dist/esm/loader.js +5 -5
  655. package/dist/esm/{md.transition-BzDYi3qq.js → md.transition-DOqTLNQU.js} +6 -5
  656. package/dist/esm/{notch-controller-BwelN_JM.js → notch-controller-C7UVCCo4.js} +2 -2
  657. package/dist/esm/{overlays-DCabi1dI.js → overlays-DvZf7QU-.js} +99 -9
  658. package/dist/esm/{status-tap-5DQ7Fc4V.js → status-tap-BAJGCN-1.js} +4 -3
  659. package/dist/esm/{swipe-back-BKw2CAHc.js → swipe-back-bZ7qcCmT.js} +3 -2
  660. package/dist/esm/validity-BjW8SOqw.js +48 -0
  661. package/dist/esm/x-BDqjX7Z_.js +6 -0
  662. package/dist/html.html-data.json +2530 -224
  663. package/dist/ionic/index.esm.js +1 -1
  664. package/dist/ionic/ionic.esm.js +1 -1
  665. package/dist/ionic/p-01ebb298.entry.js +4 -0
  666. package/dist/ionic/p-058204d8.entry.js +4 -0
  667. package/dist/ionic/p-074b3070.entry.js +4 -0
  668. package/dist/ionic/p-0ac03d31.entry.js +4 -0
  669. package/dist/ionic/p-1552f206.entry.js +4 -0
  670. package/dist/ionic/p-2eeb3efe.entry.js +4 -0
  671. package/dist/ionic/p-35214276.entry.js +4 -0
  672. package/dist/ionic/p-354515ed.entry.js +4 -0
  673. package/dist/ionic/p-3ec68103.entry.js +4 -0
  674. package/dist/ionic/p-427c1ad4.entry.js +4 -0
  675. package/dist/ionic/p-453a5dda.entry.js +4 -0
  676. package/dist/ionic/p-45551cea.entry.js +4 -0
  677. package/dist/ionic/p-484549da.entry.js +4 -0
  678. package/dist/ionic/p-505435ca.entry.js +4 -0
  679. package/dist/ionic/p-50c72200.entry.js +4 -0
  680. package/dist/ionic/p-5189dd57.entry.js +4 -0
  681. package/dist/ionic/p-52d0d65d.entry.js +4 -0
  682. package/dist/ionic/p-59279168.entry.js +4 -0
  683. package/dist/ionic/p-59482460.entry.js +4 -0
  684. package/dist/ionic/p-5cad7882.entry.js +4 -0
  685. package/dist/ionic/p-5d4f0f1d.entry.js +4 -0
  686. package/dist/ionic/p-5fcd7b49.entry.js +4 -0
  687. package/dist/ionic/p-6760dd1e.entry.js +4 -0
  688. package/dist/ionic/p-69465c18.entry.js +4 -0
  689. package/dist/ionic/p-6c4559a0.entry.js +4 -0
  690. package/dist/ionic/p-76734290.entry.js +4 -0
  691. package/dist/ionic/p-7d15135e.entry.js +4 -0
  692. package/dist/ionic/p-80d247b1.entry.js +4 -0
  693. package/dist/ionic/p-8396abe1.entry.js +4 -0
  694. package/dist/ionic/p-86a947c1.entry.js +4 -0
  695. package/dist/ionic/p-879ce6f2.entry.js +4 -0
  696. package/dist/ionic/p-8e97391b.entry.js +4 -0
  697. package/dist/ionic/p-984df948.entry.js +4 -0
  698. package/dist/ionic/p-9a00aac8.entry.js +4 -0
  699. package/dist/ionic/p-9b5b0e6d.entry.js +4 -0
  700. package/dist/ionic/p-B9cWjC5a.js +4 -0
  701. package/dist/ionic/p-BDhPZwpV.js +4 -0
  702. package/dist/ionic/p-BDqjX7Z_.js +4 -0
  703. package/dist/ionic/p-BI1KkP1o.js +4 -0
  704. package/dist/ionic/p-BYSs-jZz.js +4 -0
  705. package/dist/ionic/p-BYnmISwy.js +4 -0
  706. package/dist/ionic/p-BjW8SOqw.js +4 -0
  707. package/dist/ionic/{p-Dc45iWE4.js → p-Bmh46Fz0.js} +1 -1
  708. package/dist/ionic/{p-BYEqWnSg.js → p-BsbREiiN.js} +1 -1
  709. package/dist/ionic/p-CCy93Kdo.js +4 -0
  710. package/dist/ionic/{p-D0dMcSkw.js → p-CDRncjej.js} +1 -1
  711. package/dist/ionic/{p-CJxh_yLS.js → p-CH8-5k8b.js} +1 -1
  712. package/dist/ionic/{p-DV3sJJW8.js → p-COG0_eom.js} +1 -1
  713. package/dist/ionic/p-CSbvB5z5.js +4 -0
  714. package/dist/ionic/p-CVI6Uwrk.js +4 -0
  715. package/dist/ionic/{p-CwgG81ZD.js → p-CYW7idR0.js} +1 -1
  716. package/dist/ionic/p-CZG8whz6.js +4 -0
  717. package/dist/ionic/p-Cq6IwwGB.js +4 -0
  718. package/dist/ionic/p-Ct1oJEVo.js +4 -0
  719. package/dist/ionic/p-CtS5hTli.js +4 -0
  720. package/dist/ionic/{p-DbQ5QkTP.js → p-Cv5jk_TK.js} +1 -1
  721. package/dist/ionic/p-D1t981Ih.js +4 -0
  722. package/dist/ionic/p-D2EO-8IE.js +4 -0
  723. package/dist/ionic/p-DIzp9O64.js +4 -0
  724. package/dist/ionic/{p-D13Eaw-8.js → p-DMo2WKG5.js} +1 -1
  725. package/dist/ionic/p-DUdm2h77.js +4 -0
  726. package/dist/ionic/p-Dhi5xtNS.js +4 -0
  727. package/dist/ionic/p-DkXYG789.js +4 -0
  728. package/dist/ionic/p-We-0jbXn.js +4 -0
  729. package/dist/ionic/p-a4282459.entry.js +4 -0
  730. package/dist/ionic/p-b9ec8be1.entry.js +4 -0
  731. package/dist/ionic/p-bf2ac6e0.entry.js +4 -0
  732. package/dist/ionic/p-c12298f5.entry.js +4 -0
  733. package/dist/ionic/p-c1562e8b.entry.js +4 -0
  734. package/dist/ionic/p-c7df4ca1.entry.js +4 -0
  735. package/dist/ionic/p-cb1f3e0c.entry.js +4 -0
  736. package/dist/ionic/p-d12a71be.entry.js +4 -0
  737. package/dist/ionic/p-d249f019.entry.js +4 -0
  738. package/dist/ionic/p-de2418c7.entry.js +4 -0
  739. package/dist/ionic/p-df036563.entry.js +4 -0
  740. package/dist/ionic/p-e174f8a8.entry.js +4 -0
  741. package/dist/ionic/p-e67abd5f.entry.js +4 -0
  742. package/dist/ionic/p-e937a89a.entry.js +4 -0
  743. package/dist/ionic/p-f01c1e73.entry.js +4 -0
  744. package/dist/ionic/p-f2ba465e.entry.js +4 -0
  745. package/dist/ionic/p-f5be9d83.entry.js +4 -0
  746. package/dist/ionic/p-fIOYmaqA.js +4 -0
  747. package/dist/ionic/p-fb3b3444.entry.js +4 -0
  748. package/dist/ionic/p-gD7P82jx.js +5 -0
  749. package/dist/ionic/p-hPTD29t1.js +4 -0
  750. package/dist/ionic/{p-CKvCXMs9.js → p-qNBpc0Qq.js} +1 -1
  751. package/dist/ionic/p-vXpMhGrs.js +4 -0
  752. package/dist/types/components/accordion/accordion.d.ts +5 -3
  753. package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
  754. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  755. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  756. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  757. package/dist/types/components/alert/alert.d.ts +3 -2
  758. package/dist/types/components/app/app.d.ts +4 -2
  759. package/dist/types/components/avatar/avatar.d.ts +32 -0
  760. package/dist/types/components/back-button/back-button.d.ts +2 -1
  761. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  762. package/dist/types/components/badge/badge.d.ts +34 -1
  763. package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
  764. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  765. package/dist/types/components/button/button.d.ts +19 -6
  766. package/dist/types/components/buttons/buttons.d.ts +5 -1
  767. package/dist/types/components/card/card.d.ts +8 -1
  768. package/dist/types/components/card-content/card-content.d.ts +2 -1
  769. package/dist/types/components/card-header/card-header.d.ts +3 -2
  770. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  771. package/dist/types/components/card-title/card-title.d.ts +2 -1
  772. package/dist/types/components/checkbox/checkbox.d.ts +14 -4
  773. package/dist/types/components/chip/chip.d.ts +26 -1
  774. package/dist/types/components/col/col.d.ts +52 -5
  775. package/dist/types/components/content/content.d.ts +3 -0
  776. package/dist/types/components/datetime/datetime.d.ts +26 -1
  777. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  778. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  779. package/dist/types/components/divider/divider.d.ts +20 -0
  780. package/dist/types/components/fab/fab.d.ts +4 -0
  781. package/dist/types/components/fab-button/fab-button.d.ts +5 -3
  782. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  783. package/dist/types/components/footer/footer.d.ts +4 -3
  784. package/dist/types/components/grid/grid.d.ts +4 -0
  785. package/dist/types/components/header/header.d.ts +9 -3
  786. package/dist/types/components/header/header.utils.d.ts +3 -3
  787. package/dist/types/components/img/img.d.ts +3 -0
  788. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +21 -0
  789. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  790. package/dist/types/components/input/input.d.ts +31 -5
  791. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
  792. package/dist/types/components/item/item.d.ts +11 -4
  793. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  794. package/dist/types/components/item-group/item-group.d.ts +4 -0
  795. package/dist/types/components/item-option/item-option.d.ts +18 -1
  796. package/dist/types/components/item-options/item-options.d.ts +4 -0
  797. package/dist/types/components/item-sliding/item-sliding.d.ts +4 -0
  798. package/dist/types/components/label/label.d.ts +2 -1
  799. package/dist/types/components/list/list.d.ts +15 -1
  800. package/dist/types/components/list-header/list-header.d.ts +2 -1
  801. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  802. package/dist/types/components/loading/loading.d.ts +3 -2
  803. package/dist/types/components/menu/menu.d.ts +3 -0
  804. package/dist/types/components/menu-button/menu-button.d.ts +3 -1
  805. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  806. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  807. package/dist/types/components/modal/modal-interface.d.ts +4 -7
  808. package/dist/types/components/modal/modal.d.ts +11 -1
  809. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  810. package/dist/types/components/nav/nav.d.ts +5 -1
  811. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  812. package/dist/types/components/note/note.d.ts +2 -1
  813. package/dist/types/components/picker/picker.d.ts +2 -1
  814. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  815. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  816. package/dist/types/components/picker-legacy/picker.d.ts +2 -1
  817. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  818. package/dist/types/components/popover/popover.d.ts +6 -5
  819. package/dist/types/components/progress-bar/progress-bar.d.ts +10 -1
  820. package/dist/types/components/radio/radio.d.ts +2 -1
  821. package/dist/types/components/radio-group/radio-group.d.ts +8 -0
  822. package/dist/types/components/range/range.d.ts +2 -1
  823. package/dist/types/components/refresher/refresher.d.ts +2 -1
  824. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  825. package/dist/types/components/reorder/reorder.d.ts +9 -0
  826. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  827. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  828. package/dist/types/components/route/route.d.ts +4 -0
  829. package/dist/types/components/router/router.d.ts +4 -0
  830. package/dist/types/components/router-link/router-link.d.ts +4 -0
  831. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  832. package/dist/types/components/row/row.d.ts +4 -0
  833. package/dist/types/components/searchbar/searchbar.d.ts +51 -9
  834. package/dist/types/components/segment/segment.d.ts +2 -1
  835. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  836. package/dist/types/components/select/select.d.ts +41 -13
  837. package/dist/types/components/select-modal/select-modal.d.ts +1 -0
  838. package/dist/types/components/select-option/select-option.d.ts +4 -0
  839. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  840. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  841. package/dist/types/components/spinner/spinner.d.ts +15 -0
  842. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  843. package/dist/types/components/tab/tab.d.ts +4 -0
  844. package/dist/types/components/tab-bar/tab-bar.d.ts +22 -2
  845. package/dist/types/components/tab-button/tab-button.d.ts +12 -1
  846. package/dist/types/components/tabs/tabs.d.ts +3 -0
  847. package/dist/types/components/text/text.d.ts +2 -1
  848. package/dist/types/components/textarea/textarea.d.ts +42 -4
  849. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  850. package/dist/types/components/title/title.d.ts +4 -0
  851. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  852. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  853. package/dist/types/components/toast/toast.d.ts +19 -2
  854. package/dist/types/components/toggle/toggle.d.ts +15 -1
  855. package/dist/types/components/toolbar/toolbar.d.ts +20 -3
  856. package/dist/types/components.d.ts +1593 -196
  857. package/dist/types/global/ionic-global.d.ts +27 -2
  858. package/dist/types/interface.d.ts +3 -0
  859. package/dist/types/utils/config.d.ts +106 -2
  860. package/dist/types/utils/focus-trap.d.ts +1 -1
  861. package/dist/types/utils/focus-visible.d.ts +13 -0
  862. package/dist/types/utils/forms/validity.d.ts +7 -0
  863. package/dist/types/utils/helpers.d.ts +11 -0
  864. package/dist/types/utils/overlays-interface.d.ts +31 -1
  865. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  866. package/hydrate/index.js +3099 -964
  867. package/hydrate/index.mjs +3099 -964
  868. package/package.json +12 -8
  869. package/components/hardware-back-button.js +0 -115
  870. package/components/index9.js +0 -7
  871. package/dist/cjs/hardware-back-button-VCK4V3mG.js +0 -121
  872. package/dist/cjs/index-DkNv4J_i.js +0 -10
  873. package/dist/cjs/ionic-global-HMVqOFGO.js +0 -151
  874. package/dist/cjs/validity-BpS37YFM.js +0 -19
  875. package/dist/esm/hardware-back-button-CPLxO-Ev.js +0 -115
  876. package/dist/esm/index-ZjP4CjeZ.js +0 -7
  877. package/dist/esm/ionic-global-CDrldh-5.js +0 -146
  878. package/dist/esm/validity-DJztqcrH.js +0 -17
  879. package/dist/ionic/p-020af078.entry.js +0 -4
  880. package/dist/ionic/p-074839fc.entry.js +0 -4
  881. package/dist/ionic/p-07753df3.entry.js +0 -4
  882. package/dist/ionic/p-0abeb0fc.entry.js +0 -4
  883. package/dist/ionic/p-0bf76d0f.entry.js +0 -4
  884. package/dist/ionic/p-0dfa5a37.entry.js +0 -4
  885. package/dist/ionic/p-11518b31.entry.js +0 -4
  886. package/dist/ionic/p-1647c46c.entry.js +0 -4
  887. package/dist/ionic/p-2a939845.entry.js +0 -4
  888. package/dist/ionic/p-316c0420.entry.js +0 -4
  889. package/dist/ionic/p-31f7095f.entry.js +0 -4
  890. package/dist/ionic/p-370e4237.entry.js +0 -4
  891. package/dist/ionic/p-3a6caca9.entry.js +0 -4
  892. package/dist/ionic/p-40c261a3.entry.js +0 -4
  893. package/dist/ionic/p-43ed1ef5.entry.js +0 -4
  894. package/dist/ionic/p-46d74291.entry.js +0 -4
  895. package/dist/ionic/p-49d06882.entry.js +0 -4
  896. package/dist/ionic/p-4b658a7c.entry.js +0 -4
  897. package/dist/ionic/p-4e41ea20.entry.js +0 -4
  898. package/dist/ionic/p-51a60e0f.entry.js +0 -4
  899. package/dist/ionic/p-576e0965.entry.js +0 -4
  900. package/dist/ionic/p-582824c5.entry.js +0 -4
  901. package/dist/ionic/p-6241ce47.entry.js +0 -4
  902. package/dist/ionic/p-639dd543.entry.js +0 -4
  903. package/dist/ionic/p-6444c606.entry.js +0 -4
  904. package/dist/ionic/p-675b1a31.entry.js +0 -4
  905. package/dist/ionic/p-6d070558.entry.js +0 -4
  906. package/dist/ionic/p-7268efa5.entry.js +0 -4
  907. package/dist/ionic/p-72c38b88.entry.js +0 -4
  908. package/dist/ionic/p-75ae4733.entry.js +0 -4
  909. package/dist/ionic/p-79bd78f9.entry.js +0 -4
  910. package/dist/ionic/p-86f53961.entry.js +0 -4
  911. package/dist/ionic/p-94de5cfa.entry.js +0 -4
  912. package/dist/ionic/p-9575b654.entry.js +0 -4
  913. package/dist/ionic/p-9eeaBrnk.js +0 -4
  914. package/dist/ionic/p-B0q1YL7N.js +0 -4
  915. package/dist/ionic/p-BFvmZNyx.js +0 -4
  916. package/dist/ionic/p-BKc55Xev.js +0 -4
  917. package/dist/ionic/p-BOVrCkpJ.js +0 -4
  918. package/dist/ionic/p-BmVRXR1y.js +0 -4
  919. package/dist/ionic/p-Bmgaetn_.js +0 -4
  920. package/dist/ionic/p-C6F4hat2.js +0 -4
  921. package/dist/ionic/p-C7hRNDhM.js +0 -4
  922. package/dist/ionic/p-C8IsBmNU.js +0 -5
  923. package/dist/ionic/p-CIGNaXM1.js +0 -4
  924. package/dist/ionic/p-CTfR9YZG.js +0 -4
  925. package/dist/ionic/p-CtWGkNnJ.js +0 -4
  926. package/dist/ionic/p-D-eFFUkA.js +0 -4
  927. package/dist/ionic/p-DCv9sLH2.js +0 -4
  928. package/dist/ionic/p-DDb5r57F.js +0 -4
  929. package/dist/ionic/p-DJztqcrH.js +0 -4
  930. package/dist/ionic/p-DNcfiJwE.js +0 -4
  931. package/dist/ionic/p-DUt5fQmA.js +0 -4
  932. package/dist/ionic/p-DZRJwG4S.js +0 -4
  933. package/dist/ionic/p-QHYY4sjU.js +0 -4
  934. package/dist/ionic/p-ZjP4CjeZ.js +0 -4
  935. package/dist/ionic/p-a127bee2.entry.js +0 -4
  936. package/dist/ionic/p-a8ed848b.entry.js +0 -4
  937. package/dist/ionic/p-ac4eb91d.entry.js +0 -4
  938. package/dist/ionic/p-b0a7585c.entry.js +0 -4
  939. package/dist/ionic/p-b57c6d3e.entry.js +0 -4
  940. package/dist/ionic/p-c19f63d0.entry.js +0 -4
  941. package/dist/ionic/p-c85a2127.entry.js +0 -4
  942. package/dist/ionic/p-cc45bcbc.entry.js +0 -4
  943. package/dist/ionic/p-cebb0328.entry.js +0 -4
  944. package/dist/ionic/p-d0a2a1ab.entry.js +0 -4
  945. package/dist/ionic/p-d126e8d3.entry.js +0 -4
  946. package/dist/ionic/p-d1f54e28.entry.js +0 -4
  947. package/dist/ionic/p-d3014190.entry.js +0 -4
  948. package/dist/ionic/p-da7d04cc.entry.js +0 -4
  949. package/dist/ionic/p-dbbe606a.entry.js +0 -4
  950. package/dist/ionic/p-ea509e3c.entry.js +0 -4
  951. package/dist/ionic/p-ec654c42.entry.js +0 -4
  952. package/dist/ionic/p-f8f22cc0.entry.js +0 -4
  953. /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
@@ -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,28 @@
53
59
  * }
54
60
  * }
55
61
  */
62
+ /**
63
+ * A heuristic that applies CSS to tablet
64
+ * viewports.
65
+ *
66
+ * Usage:
67
+ * @include tablet-viewport() {
68
+ * :host {
69
+ * background-color: green;
70
+ * }
71
+ * }
72
+ */
73
+ /**
74
+ * A heuristic that applies CSS to mobile
75
+ * viewports (i.e. phones, not tablets).
76
+ *
77
+ * Usage:
78
+ * @include mobile-viewport() {
79
+ * :host {
80
+ * background-color: blue;
81
+ * }
82
+ * }
83
+ */
56
84
  :host {
57
85
  /**
58
86
  * @prop --background: Background of the textarea
@@ -85,16 +113,11 @@
85
113
  --placeholder-color: initial;
86
114
  --placeholder-font-style: initial;
87
115
  --placeholder-font-weight: initial;
88
- --placeholder-opacity: var(--ion-placeholder-opacity, 0.6);
89
116
  --padding-top: 0;
90
117
  --padding-end: 0;
91
- --padding-bottom: 8px;
92
118
  --padding-start: 0;
93
119
  --border-radius: 0;
94
120
  --border-style: solid;
95
- --highlight-color-focused: var(--ion-color-primary, #0054e9);
96
- --highlight-color-valid: var(--ion-color-success, #2dd55b);
97
- --highlight-color-invalid: var(--ion-color-danger, #c5000f);
98
121
  /**
99
122
  * This is a private API that is used to switch
100
123
  * out the highlight color based on the state
@@ -105,27 +128,10 @@
105
128
  display: block;
106
129
  position: relative;
107
130
  width: 100%;
108
- min-height: 44px;
109
131
  color: var(--color);
110
- font-family: var(--ion-font-family, inherit);
111
- z-index: 2;
112
132
  box-sizing: border-box;
113
133
  }
114
134
 
115
- /**
116
- * Since the label sits on top of the element,
117
- * the component needs to be taller otherwise the
118
- * label will appear too close to the textarea text.
119
- * Also, floating and stacked labels should not
120
- * push the label down since it it
121
- * sits on top of the textarea.
122
- */
123
- :host(.textarea-label-placement-floating),
124
- :host(.textarea-label-placement-stacked) {
125
- --padding-top: 0px;
126
- min-height: 56px;
127
- }
128
-
129
135
  /**
130
136
  * When the cols property is set we should
131
137
  * respect that width instead of defaulting
@@ -143,16 +149,15 @@
143
149
  }
144
150
 
145
151
  :host(.ion-color) {
146
- --highlight-color-focused: var(--ion-color-base);
147
152
  background: initial;
148
153
  }
149
154
 
150
- :host-context(ion-item) {
155
+ :host(.in-item) {
151
156
  align-self: baseline;
152
157
  }
153
158
 
154
- :host-context(ion-item)[slot=start],
155
- :host-context(ion-item)[slot=end] {
159
+ :host(.in-item[slot=start]),
160
+ :host(.in-item[slot=end]) {
156
161
  width: auto;
157
162
  }
158
163
 
@@ -189,6 +194,7 @@
189
194
  resize: none;
190
195
  appearance: none;
191
196
  }
197
+
192
198
  .native-textarea::placeholder {
193
199
  padding-left: 0;
194
200
  padding-right: 0;
@@ -223,6 +229,7 @@
223
229
  position: absolute;
224
230
  pointer-events: none;
225
231
  }
232
+
226
233
  .cloned-input {
227
234
  inset-inline-start: 0;
228
235
  }
@@ -273,21 +280,10 @@
273
280
  caret-color: var(--highlight-color);
274
281
  }
275
282
 
276
- .native-wrapper textarea {
277
- -webkit-padding-start: 0px;
278
- padding-inline-start: 0px;
279
- -webkit-padding-end: 0px;
280
- padding-inline-end: 0px;
281
- padding-top: var(--padding-top);
282
- padding-bottom: var(--padding-bottom);
283
- }
284
-
285
283
  .native-wrapper {
286
284
  display: grid;
287
285
  min-width: inherit;
288
286
  max-width: inherit;
289
- min-height: inherit;
290
- max-height: inherit;
291
287
  /**
292
288
  * This avoids a WebKit bug where
293
289
  * the height of the inner textarea
@@ -297,6 +293,7 @@
297
293
  */
298
294
  grid-auto-rows: 100%;
299
295
  }
296
+
300
297
  .native-wrapper::after {
301
298
  white-space: pre-wrap;
302
299
  content: attr(data-replicated-value) " ";
@@ -337,6 +334,7 @@
337
334
  display: flex;
338
335
  width: 100%;
339
336
  min-height: inherit;
337
+ box-sizing: border-box;
340
338
  }
341
339
 
342
340
  :host(.ion-touched.ion-invalid) {
@@ -358,21 +356,9 @@
358
356
  }
359
357
 
360
358
  .textarea-bottom {
361
- /**
362
- * The bottom content should take on the start and end
363
- * padding so it is always aligned with either the label
364
- * or the start of the textarea.
365
- */
366
- -webkit-padding-start: var(--padding-start);
367
- padding-inline-start: var(--padding-start);
368
- -webkit-padding-end: var(--padding-end);
369
- padding-inline-end: var(--padding-end);
370
- padding-top: 5px;
371
- padding-bottom: 0;
372
359
  display: flex;
373
360
  justify-content: space-between;
374
361
  border-top: var(--border-width) var(--border-style) var(--border-color);
375
- font-size: 0.75rem;
376
362
  white-space: normal;
377
363
  }
378
364
 
@@ -397,7 +383,6 @@
397
383
 
398
384
  .textarea-bottom .helper-text {
399
385
  display: block;
400
- color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
401
386
  }
402
387
 
403
388
  :host(.ion-touched.ion-invalid) .textarea-bottom .error-text {
@@ -416,9 +401,7 @@
416
401
  */
417
402
  -webkit-margin-start: auto;
418
403
  margin-inline-start: auto;
419
- color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
420
404
  white-space: nowrap;
421
- padding-inline-start: 16px;
422
405
  }
423
406
 
424
407
  .label-text-wrapper {
@@ -428,16 +411,6 @@
428
411
  padding-inline-end: 0px;
429
412
  padding-top: var(--padding-top);
430
413
  padding-bottom: var(--padding-bottom);
431
- /**
432
- * Label text should not extend
433
- * beyond the bounds of the textarea.
434
- * However, we do not set the max
435
- * width to 100% because then
436
- * only the label would show and users
437
- * would not be able to see what they are typing.
438
- */
439
- max-width: 200px;
440
- transition: color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
441
414
  /**
442
415
  * This ensures that double tapping this text
443
416
  * clicks the <label> and focuses the textarea
@@ -466,6 +439,10 @@
466
439
  overflow: hidden;
467
440
  }
468
441
 
442
+ .textarea-outline {
443
+ box-sizing: border-box;
444
+ }
445
+
469
446
  /**
470
447
  * If no label text is placed into the slot
471
448
  * then the element should be hidden otherwise
@@ -476,15 +453,6 @@
476
453
  display: none;
477
454
  }
478
455
 
479
- .textarea-wrapper textarea {
480
- /**
481
- * When the floating label appears on top of the
482
- * textarea, we need to fade the textarea out so that the
483
- * label does not overlap with the placeholder.
484
- */
485
- transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);
486
- }
487
-
488
456
  /**
489
457
  * Label is on the left of the textarea in LTR and
490
458
  * on the right in RTL.
@@ -493,20 +461,6 @@
493
461
  flex-direction: row;
494
462
  }
495
463
 
496
- :host(.textarea-label-placement-start) .label-text-wrapper {
497
- /**
498
- * The margin between the label and
499
- * the textarea should be on the end
500
- * when the label sits at the start.
501
- */
502
- -webkit-margin-start: 0;
503
- margin-inline-start: 0;
504
- -webkit-margin-end: 16px;
505
- margin-inline-end: 16px;
506
- margin-top: 0;
507
- margin-bottom: 0;
508
- }
509
-
510
464
  /**
511
465
  * Label is on the right of the textarea in LTR and
512
466
  * on the left in RTL.
@@ -515,45 +469,6 @@
515
469
  flex-direction: row-reverse;
516
470
  }
517
471
 
518
- /**
519
- * The margin between the label and
520
- * the textarea should be on the start
521
- * when the label sits at the end.
522
- */
523
- :host(.textarea-label-placement-end) .label-text-wrapper {
524
- -webkit-margin-start: 16px;
525
- margin-inline-start: 16px;
526
- -webkit-margin-end: 0;
527
- margin-inline-end: 0;
528
- margin-top: 0;
529
- margin-bottom: 0;
530
- }
531
-
532
- :host(.textarea-label-placement-fixed) .label-text-wrapper {
533
- /**
534
- * The margin between the label and
535
- * the textarea should be on the end
536
- * when the label sits at the start.
537
- */
538
- -webkit-margin-start: 0;
539
- margin-inline-start: 0;
540
- -webkit-margin-end: 16px;
541
- margin-inline-end: 16px;
542
- margin-top: 0;
543
- margin-bottom: 0;
544
- }
545
-
546
- /**
547
- * Label is on the left of the textarea in LTR and
548
- * on the right in RTL. Label also has a fixed width.
549
- */
550
- :host(.textarea-label-placement-fixed) .label-text {
551
- flex: 0 0 100px;
552
- width: 100px;
553
- min-width: 100px;
554
- max-width: 200px;
555
- }
556
-
557
472
  /**
558
473
  * Stacked: Label sits above the textarea and is scaled down.
559
474
  * Floating: Label sits over the textarea when the textarea has no
@@ -589,6 +504,7 @@
589
504
  */
590
505
  z-index: 2;
591
506
  }
507
+
592
508
  :host-context([dir=rtl]):host(.textarea-label-placement-stacked) .label-text-wrapper, :host-context([dir=rtl]).textarea-label-placement-stacked .label-text-wrapper, :host-context([dir=rtl]):host(.textarea-label-placement-floating) .label-text-wrapper, :host-context([dir=rtl]).textarea-label-placement-floating .label-text-wrapper {
593
509
  transform-origin: right top;
594
510
  }
@@ -598,7 +514,6 @@
598
514
  transform-origin: right top;
599
515
  }
600
516
  }
601
-
602
517
  /**
603
518
  * Ensures the textarea does not
604
519
  * overlap the label.
@@ -615,13 +530,6 @@
615
530
  margin-bottom: 0px;
616
531
  }
617
532
 
618
- :host(.textarea-label-placement-stacked) ::slotted([slot=start]),
619
- :host(.textarea-label-placement-stacked) ::slotted([slot=end]),
620
- :host(.textarea-label-placement-floating) ::slotted([slot=start]),
621
- :host(.textarea-label-placement-floating) ::slotted([slot=end]) {
622
- margin-top: 8px;
623
- }
624
-
625
533
  /**
626
534
  * This makes the label sit over the textarea
627
535
  * when the textarea is blurred and has no value.
@@ -644,26 +552,196 @@
644
552
  opacity: 1;
645
553
  }
646
554
 
555
+ .start-slot-wrapper,
556
+ .end-slot-wrapper {
557
+ display: flex;
558
+ flex-shrink: 0;
559
+ align-self: start;
560
+ }
561
+
647
562
  /**
648
- * This makes the label sit above the textarea.
563
+ * Convert a pixels given value into rem
564
+ *
565
+ * @param pixels - Value in pixels to be converted (i.e. px)
566
+ * @param context (optional) - Baseline value
649
567
  */
650
- :host(.label-floating) .label-text-wrapper {
651
- transform: translateY(50%) scale(0.75);
568
+ /**
569
+ * Convert a font size to a dynamic font size.
570
+ * Fonts that participate in Dynamic Type should use
571
+ * dynamic font sizes.
572
+ * @param size - The initial font size including the unit (i.e. px or pt)
573
+ * @param unit (optional) - The unit to convert to. Use this if you want to
574
+ * convert to a unit other than $baselineUnit.
575
+ */
576
+ /**
577
+ * Convert a font size to a dynamic font size but impose
578
+ * a maximum font size.
579
+ * @param size - The initial font size including the unit (i.e. px or pt)
580
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
581
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
582
+ * convert to a unit other than $baselineUnit.
583
+ */
584
+ /**
585
+ * Convert a font size to a dynamic font size but impose
586
+ * a minimum font size.
587
+ * @param size - The initial font size including the unit (i.e. px or pt)
588
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
589
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
590
+ * convert to a unit other than $baselineUnit.
591
+ */
592
+ /**
593
+ * Convert a font size to a dynamic font size but impose
594
+ * maximum and minimum font sizes.
595
+ * @param size - The initial font size including the unit (i.e. px or pt)
596
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
597
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
598
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
599
+ * convert to a unit other than $baselineUnit.
600
+ */
601
+ /**
602
+ * A heuristic that applies CSS to tablet
603
+ * viewports.
604
+ *
605
+ * Usage:
606
+ * @include tablet-viewport() {
607
+ * :host {
608
+ * background-color: green;
609
+ * }
610
+ * }
611
+ */
612
+ /**
613
+ * A heuristic that applies CSS to mobile
614
+ * viewports (i.e. phones, not tablets).
615
+ *
616
+ * Usage:
617
+ * @include mobile-viewport() {
618
+ * :host {
619
+ * background-color: blue;
620
+ * }
621
+ * }
622
+ */
623
+ :host {
624
+ --placeholder-opacity: var(--ion-placeholder-opacity, 0.6);
625
+ --padding-bottom: 8px;
626
+ --highlight-color-focused: var(--ion-color-primary, #0054e9);
627
+ --highlight-color-valid: var(--ion-color-success, #2dd55b);
628
+ --highlight-color-invalid: var(--ion-color-danger, #c5000f);
629
+ min-height: 44px;
630
+ font-family: var(--ion-font-family, inherit);
631
+ z-index: 2;
632
+ }
633
+
634
+ :host(.ion-color) {
635
+ --highlight-color-focused: var(--ion-color-base);
636
+ }
637
+
638
+ /**
639
+ * Since the label sits on top of the element,
640
+ * the component needs to be taller otherwise the
641
+ * label will appear too close to the textarea text.
642
+ * Also, floating and stacked labels should not
643
+ * push the label down since it it
644
+ * sits on top of the textarea.
645
+ */
646
+ :host(.textarea-label-placement-floating),
647
+ :host(.textarea-label-placement-stacked) {
648
+ --padding-top: 0px;
649
+ min-height: 56px;
650
+ }
651
+
652
+ .native-wrapper {
653
+ min-height: inherit;
654
+ max-height: inherit;
655
+ }
656
+
657
+ .native-wrapper textarea {
658
+ -webkit-padding-start: 0px;
659
+ padding-inline-start: 0px;
660
+ -webkit-padding-end: 0px;
661
+ padding-inline-end: 0px;
662
+ padding-top: var(--padding-top);
663
+ padding-bottom: var(--padding-bottom);
664
+ }
665
+
666
+ .textarea-bottom {
652
667
  /**
653
- * Label text should not extend
654
- * beyond the bounds of the textarea.
668
+ * The bottom content should take on the start and end
669
+ * padding so it is always aligned with either the label
670
+ * or the start of the textarea.
655
671
  */
656
- max-width: calc(100% / 0.75);
672
+ -webkit-padding-start: var(--padding-start);
673
+ padding-inline-start: var(--padding-start);
674
+ -webkit-padding-end: var(--padding-end);
675
+ padding-inline-end: var(--padding-end);
676
+ padding-top: 5px;
677
+ padding-bottom: 0;
678
+ font-size: 0.75rem;
679
+ }
680
+
681
+ .textarea-bottom .helper-text {
682
+ color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
683
+ }
684
+
685
+ .textarea-bottom .counter {
686
+ color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
687
+ padding-inline-start: 16px;
688
+ }
689
+
690
+ :host(.textarea-label-placement-start) .label-text-wrapper {
691
+ /**
692
+ * The margin between the label and
693
+ * the textarea should be on the end
694
+ * when the label sits at the start.
695
+ */
696
+ -webkit-margin-start: 0;
697
+ margin-inline-start: 0;
698
+ -webkit-margin-end: 16px;
699
+ margin-inline-end: 16px;
700
+ margin-top: 0;
701
+ margin-bottom: 0;
657
702
  }
658
703
 
659
- .start-slot-wrapper, .end-slot-wrapper {
704
+ /**
705
+ * The margin between the label and
706
+ * the textarea should be on the start
707
+ * when the label sits at the end.
708
+ */
709
+ :host(.textarea-label-placement-end) .label-text-wrapper {
710
+ -webkit-margin-start: 16px;
711
+ margin-inline-start: 16px;
712
+ -webkit-margin-end: 0;
713
+ margin-inline-end: 0;
714
+ margin-top: 0;
715
+ margin-bottom: 0;
716
+ }
717
+
718
+ :host(.textarea-label-placement-fixed) .label-text-wrapper {
719
+ /**
720
+ * The margin between the label and
721
+ * the textarea should be on the end
722
+ * when the label sits at the start.
723
+ */
724
+ -webkit-margin-start: 0;
725
+ margin-inline-start: 0;
726
+ -webkit-margin-end: 16px;
727
+ margin-inline-end: 16px;
728
+ margin-top: 0;
729
+ margin-bottom: 0;
730
+ }
731
+
732
+ .start-slot-wrapper,
733
+ .end-slot-wrapper {
660
734
  padding-left: 0;
661
735
  padding-right: 0;
662
736
  padding-top: var(--padding-top);
663
737
  padding-bottom: var(--padding-bottom);
664
- display: flex;
665
- flex-shrink: 0;
666
- align-self: start;
738
+ }
739
+
740
+ :host(.textarea-label-placement-stacked) ::slotted([slot=start]),
741
+ :host(.textarea-label-placement-stacked) ::slotted([slot=end]),
742
+ :host(.textarea-label-placement-floating) ::slotted([slot=start]),
743
+ :host(.textarea-label-placement-floating) ::slotted([slot=end]) {
744
+ margin-top: 8px;
667
745
  }
668
746
 
669
747
  ::slotted([slot=start]),
@@ -681,6 +759,57 @@
681
759
  margin-inline-end: 0;
682
760
  }
683
761
 
762
+ /**
763
+ * This makes the label sit above the textarea.
764
+ */
765
+ :host(.label-floating) .label-text-wrapper {
766
+ transform: translateY(50%) scale(0.75);
767
+ /**
768
+ * Label text should not extend
769
+ * beyond the bounds of the textarea.
770
+ */
771
+ max-width: calc(100% / 0.75);
772
+ }
773
+
774
+ .label-text-wrapper {
775
+ /**
776
+ * Label text should not extend
777
+ * beyond the bounds of the textarea.
778
+ * However, we do not set the max
779
+ * width to 100% because then
780
+ * only the label would show and users
781
+ * would not be able to see what they are typing.
782
+ */
783
+ max-width: 200px;
784
+ transition: color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
785
+ }
786
+
787
+ .textarea-wrapper textarea {
788
+ /**
789
+ * When the floating label appears on top of the
790
+ * textarea, we need to fade the textarea out so that the
791
+ * label does not overlap with the placeholder.
792
+ */
793
+ transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);
794
+ }
795
+
796
+ /**
797
+ * Label is on the left of the textarea in LTR and
798
+ * on the right in RTL. Label also has a fixed width.
799
+ */
800
+ :host(.textarea-label-placement-fixed) .label-text {
801
+ flex: 0 0 100px;
802
+ width: 100px;
803
+ min-width: 100px;
804
+ max-width: 200px;
805
+ }
806
+
807
+ /**
808
+ * Convert a pixels given value into rem
809
+ *
810
+ * @param pixels - Value in pixels to be converted (i.e. px)
811
+ * @param context (optional) - Baseline value
812
+ */
684
813
  /**
685
814
  * Convert a font size to a dynamic font size.
686
815
  * Fonts that participate in Dynamic Type should use
@@ -736,6 +865,12 @@
736
865
  * }
737
866
  * }
738
867
  */
868
+ /**
869
+ * Convert a pixels given value into rem
870
+ *
871
+ * @param pixels - Value in pixels to be converted (i.e. px)
872
+ * @param context (optional) - Baseline value
873
+ */
739
874
  /**
740
875
  * Convert a font size to a dynamic font size.
741
876
  * Fonts that participate in Dynamic Type should use
@@ -791,6 +926,12 @@
791
926
  * }
792
927
  * }
793
928
  */
929
+ /**
930
+ * Convert a pixels given value into rem
931
+ *
932
+ * @param pixels - Value in pixels to be converted (i.e. px)
933
+ * @param context (optional) - Baseline value
934
+ */
794
935
  /**
795
936
  * Convert a font size to a dynamic font size.
796
937
  * Fonts that participate in Dynamic Type should use