@ionic/core 8.2.1 → 8.2.2-dev.11717790867.100c8d5e

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 (987) hide show
  1. package/components/action-sheet.js +13 -8
  2. package/components/alert.js +14 -10
  3. package/components/backdrop.js +10 -6
  4. package/components/button.js +41 -12
  5. package/components/buttons.js +10 -6
  6. package/components/checkbox.js +26 -13
  7. package/components/data.js +4 -4
  8. package/components/index2.js +1 -2
  9. package/components/index4.js +8 -7
  10. package/components/index6.js +27 -30
  11. package/components/index7.js +124 -27
  12. package/components/index8.js +150 -111
  13. package/components/input-shims.js +1 -1
  14. package/components/input.utils.js +1 -1
  15. package/components/ion-accordion-group.js +9 -6
  16. package/components/ion-accordion.js +15 -9
  17. package/components/ion-app.js +5 -6
  18. package/components/ion-avatar.js +52 -3
  19. package/components/ion-back-button.js +15 -11
  20. package/components/ion-badge.js +42 -6
  21. package/components/ion-breadcrumb.js +16 -10
  22. package/components/ion-breadcrumbs.js +9 -5
  23. package/components/ion-card-content.js +9 -5
  24. package/components/ion-card-header.js +9 -5
  25. package/components/ion-card-subtitle.js +9 -5
  26. package/components/ion-card-title.js +9 -5
  27. package/components/ion-card.js +17 -9
  28. package/components/ion-chip.js +45 -8
  29. package/components/ion-col.js +5 -5
  30. package/components/ion-content.js +11 -11
  31. package/components/ion-datetime-button.js +9 -6
  32. package/components/ion-datetime.js +47 -20
  33. package/components/ion-fab-button.js +15 -9
  34. package/components/ion-fab-list.js +5 -5
  35. package/components/ion-fab.js +6 -6
  36. package/components/ion-footer.js +15 -11
  37. package/components/ion-grid.js +5 -5
  38. package/components/ion-header.js +15 -11
  39. package/components/ion-img.js +5 -2
  40. package/components/ion-infinite-scroll-content.js +12 -8
  41. package/components/ion-infinite-scroll.js +5 -5
  42. package/components/ion-input-password-toggle.js +7 -8
  43. package/components/ion-input.js +101 -20
  44. package/components/ion-item-divider.js +9 -5
  45. package/components/ion-item-group.js +9 -5
  46. package/components/ion-item-option.js +11 -7
  47. package/components/ion-item-options.js +9 -5
  48. package/components/ion-item-sliding.js +5 -5
  49. package/components/ion-loading.js +12 -8
  50. package/components/ion-menu-button.js +13 -9
  51. package/components/ion-menu-toggle.js +5 -5
  52. package/components/ion-menu.js +11 -7
  53. package/components/ion-modal.js +14 -11
  54. package/components/ion-nav-link.js +1 -1
  55. package/components/ion-nav.js +7 -6
  56. package/components/ion-note.js +9 -5
  57. package/components/ion-picker-legacy.js +7 -8
  58. package/components/ion-progress-bar.js +10 -6
  59. package/components/ion-range.js +11 -8
  60. package/components/ion-refresher-content.js +9 -8
  61. package/components/ion-refresher.js +11 -7
  62. package/components/ion-reorder-group.js +5 -5
  63. package/components/ion-reorder.js +23 -5
  64. package/components/ion-router-link.js +6 -6
  65. package/components/ion-router-outlet.js +2 -2
  66. package/components/ion-row.js +5 -2
  67. package/components/ion-searchbar.js +62 -16
  68. package/components/ion-segment-button.js +12 -8
  69. package/components/ion-segment.js +9 -5
  70. package/components/ion-select-option.js +5 -2
  71. package/components/ion-select.js +67 -28
  72. package/components/ion-skeleton-text.js +5 -5
  73. package/components/ion-split-pane.js +12 -8
  74. package/components/ion-tab-bar.js +9 -5
  75. package/components/ion-tab-button.js +11 -7
  76. package/components/ion-tab.js +2 -2
  77. package/components/ion-tabs.js +2 -2
  78. package/components/ion-text.js +5 -5
  79. package/components/ion-textarea.js +13 -9
  80. package/components/ion-thumbnail.js +5 -2
  81. package/components/ion-title.js +9 -5
  82. package/components/ion-toast.js +13 -9
  83. package/components/ion-toggle.js +56 -18
  84. package/components/ion-toolbar.js +11 -7
  85. package/components/ionic-global.js +191 -14
  86. package/components/ios.transition.js +1 -0
  87. package/components/item.js +17 -11
  88. package/components/label.js +9 -5
  89. package/components/list-header.js +9 -5
  90. package/components/list.js +10 -6
  91. package/components/overlays.js +1 -2
  92. package/components/picker-column-option.js +9 -5
  93. package/components/picker-column.js +7 -7
  94. package/components/picker-column2.js +4 -4
  95. package/components/picker.js +8 -4
  96. package/components/popover.js +11 -8
  97. package/components/radio-group.js +5 -3
  98. package/components/radio.js +12 -8
  99. package/components/ripple-effect.js +5 -5
  100. package/components/select-popover.js +9 -2
  101. package/components/spinner.js +6 -6
  102. package/components/status-tap.js +1 -1
  103. package/css/core.css +1 -1
  104. package/css/core.css.map +1 -1
  105. package/css/display.css.map +1 -1
  106. package/css/flex-utils.css.map +1 -1
  107. package/css/float-elements.css.map +1 -1
  108. package/css/global.bundle.css.map +1 -1
  109. package/css/ionic/bundle.ionic.css +1 -0
  110. package/css/ionic/bundle.ionic.css.map +1 -0
  111. package/css/ionic/core.ionic.css +1 -0
  112. package/css/ionic/core.ionic.css.map +1 -0
  113. package/css/ionic/global.bundle.ionic.css +1 -0
  114. package/css/ionic/global.bundle.ionic.css.map +1 -0
  115. package/css/ionic/ionic-swiper.ionic.css +1 -0
  116. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  117. package/css/ionic/link.ionic.css +1 -0
  118. package/css/ionic/link.ionic.css.map +1 -0
  119. package/css/ionic/structure.ionic.css +1 -0
  120. package/css/ionic/structure.ionic.css.map +1 -0
  121. package/css/ionic/typography.ionic.css +1 -0
  122. package/css/ionic/typography.ionic.css.map +1 -0
  123. package/css/ionic/utils.bundle.ionic.css +1 -0
  124. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  125. package/css/ionic-swiper.css +1 -1
  126. package/css/ionic-swiper.css.map +1 -1
  127. package/css/ionic.bundle.css +1 -1
  128. package/css/ionic.bundle.css.map +1 -1
  129. package/css/normalize.css.map +1 -1
  130. package/css/padding.css.map +1 -1
  131. package/css/palettes/dark.always.css.map +1 -1
  132. package/css/palettes/dark.class.css.map +1 -1
  133. package/css/palettes/dark.system.css.map +1 -1
  134. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  135. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  136. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  137. package/css/palettes/high-contrast.always.css.map +1 -1
  138. package/css/palettes/high-contrast.class.css.map +1 -1
  139. package/css/palettes/high-contrast.system.css.map +1 -1
  140. package/css/structure.css.map +1 -1
  141. package/css/text-alignment.css.map +1 -1
  142. package/css/text-transformation.css.map +1 -1
  143. package/css/typography.css.map +1 -1
  144. package/css/utils.bundle.css.map +1 -1
  145. package/dist/cjs/{app-globals-64aa7919.js → app-globals-5b0a3f95.js} +1 -1
  146. package/dist/cjs/{data-21dc0f81.js → data-7d67d1e3.js} +6 -6
  147. package/dist/cjs/{hardware-back-button-9931602c.js → hardware-back-button-a90bf4cd.js} +1 -1
  148. package/dist/cjs/{index-63e64bb7.js → index-59095e03.js} +13 -12
  149. package/dist/cjs/{index-8a653282.js → index-71f7488c.js} +7 -8
  150. package/dist/cjs/{index-5b6a7459.js → index-ca6de37f.js} +2 -2
  151. package/dist/cjs/index.cjs.js +7 -8
  152. package/dist/cjs/{input-shims-9e59ef62.js → input-shims-58aadbb2.js} +3 -2
  153. package/dist/cjs/{input.utils-611cde0b.js → input.utils-d9907cfc.js} +2 -2
  154. package/dist/cjs/ion-accordion_2.cjs.entry.js +23 -14
  155. package/dist/cjs/ion-action-sheet.cjs.entry.js +15 -11
  156. package/dist/cjs/ion-alert.cjs.entry.js +16 -13
  157. package/dist/cjs/ion-app_8.cjs.entry.js +86 -67
  158. package/dist/cjs/ion-avatar_3.cjs.entry.js +90 -7
  159. package/dist/cjs/ion-back-button.cjs.entry.js +14 -10
  160. package/dist/cjs/ion-backdrop.cjs.entry.js +10 -6
  161. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +23 -13
  162. package/dist/cjs/ion-button_2.cjs.entry.js +44 -15
  163. package/dist/cjs/ion-card_5.cjs.entry.js +48 -25
  164. package/dist/cjs/ion-checkbox.cjs.entry.js +23 -12
  165. package/dist/cjs/ion-chip.cjs.entry.js +42 -7
  166. package/dist/cjs/ion-col_3.cjs.entry.js +13 -10
  167. package/dist/cjs/ion-datetime-button.cjs.entry.js +14 -11
  168. package/dist/cjs/ion-datetime_3.cjs.entry.js +135 -108
  169. package/dist/cjs/ion-fab_3.cjs.entry.js +23 -17
  170. package/dist/cjs/ion-img.cjs.entry.js +5 -2
  171. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +16 -13
  172. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +9 -10
  173. package/dist/cjs/ion-input.cjs.entry.js +99 -20
  174. package/dist/cjs/ion-item-option_3.cjs.entry.js +23 -16
  175. package/dist/cjs/ion-item_8.cjs.entry.js +69 -39
  176. package/dist/cjs/ion-loading.cjs.entry.js +14 -11
  177. package/dist/cjs/ion-menu_3.cjs.entry.js +29 -22
  178. package/dist/cjs/ion-modal.cjs.entry.js +22 -19
  179. package/dist/cjs/ion-nav_2.cjs.entry.js +9 -8
  180. package/dist/cjs/ion-picker-column-option.cjs.entry.js +9 -5
  181. package/dist/cjs/ion-picker-column.cjs.entry.js +7 -7
  182. package/dist/cjs/ion-picker.cjs.entry.js +8 -4
  183. package/dist/cjs/ion-popover.cjs.entry.js +17 -14
  184. package/dist/cjs/ion-progress-bar.cjs.entry.js +10 -6
  185. package/dist/cjs/ion-radio_2.cjs.entry.js +16 -10
  186. package/dist/cjs/ion-range.cjs.entry.js +16 -13
  187. package/dist/cjs/ion-refresher_2.cjs.entry.js +18 -14
  188. package/dist/cjs/ion-reorder_2.cjs.entry.js +26 -9
  189. package/dist/cjs/ion-ripple-effect.cjs.entry.js +5 -5
  190. package/dist/cjs/ion-route_4.cjs.entry.js +6 -6
  191. package/dist/cjs/ion-searchbar.cjs.entry.js +61 -15
  192. package/dist/cjs/ion-segment_2.cjs.entry.js +20 -12
  193. package/dist/cjs/ion-select_3.cjs.entry.js +80 -32
  194. package/dist/cjs/ion-spinner.cjs.entry.js +6 -6
  195. package/dist/cjs/ion-split-pane.cjs.entry.js +12 -8
  196. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +19 -11
  197. package/dist/cjs/ion-tab_2.cjs.entry.js +4 -4
  198. package/dist/cjs/ion-text.cjs.entry.js +5 -5
  199. package/dist/cjs/ion-textarea.cjs.entry.js +14 -11
  200. package/dist/cjs/ion-toast.cjs.entry.js +36 -32
  201. package/dist/cjs/ion-toggle.cjs.entry.js +55 -17
  202. package/dist/cjs/ionic-global-2bd379ad.js +418 -0
  203. package/dist/cjs/ionic.cjs.js +3 -3
  204. package/dist/cjs/{ios.transition-d94b6863.js → ios.transition-4a91b726.js} +3 -3
  205. package/dist/cjs/loader.cjs.js +3 -3
  206. package/dist/cjs/{md.transition-297be114.js → md.transition-1d783fa9.js} +2 -3
  207. package/dist/cjs/{overlays-569f7878.js → overlays-0c0d0193.js} +3 -4
  208. package/dist/cjs/{status-tap-607c6244.js → status-tap-87959a2f.js} +2 -2
  209. package/dist/collection/components/accordion/accordion.ios.css +12 -0
  210. package/dist/collection/components/accordion/accordion.js +19 -15
  211. package/dist/collection/components/accordion/accordion.md.css +6 -0
  212. package/dist/collection/components/accordion-group/accordion-group.ios.css +12 -0
  213. package/dist/collection/components/accordion-group/accordion-group.js +11 -8
  214. package/dist/collection/components/accordion-group/accordion-group.md.css +18 -0
  215. package/dist/collection/components/action-sheet/action-sheet.ios.css +18 -6
  216. package/dist/collection/components/action-sheet/action-sheet.js +14 -10
  217. package/dist/collection/components/action-sheet/action-sheet.md.css +17 -5
  218. package/dist/collection/components/alert/alert.ios.css +19 -1
  219. package/dist/collection/components/alert/alert.js +15 -12
  220. package/dist/collection/components/alert/alert.md.css +19 -1
  221. package/dist/collection/components/app/app.js +8 -4
  222. package/dist/collection/components/avatar/avatar.ionic.css +255 -0
  223. package/dist/collection/components/avatar/avatar.ios.css +12 -0
  224. package/dist/collection/components/avatar/avatar.js +92 -4
  225. package/dist/collection/components/avatar/avatar.md.css +12 -0
  226. package/dist/collection/components/avatar/test/shape/avatar.e2e.js +134 -0
  227. package/dist/collection/components/avatar/test/size/avatar.e2e.js +147 -0
  228. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  229. package/dist/collection/components/back-button/back-button.js +14 -11
  230. package/dist/collection/components/back-button/back-button.md.css +60 -48
  231. package/dist/collection/components/backdrop/backdrop.ios.css +13 -1
  232. package/dist/collection/components/backdrop/backdrop.js +12 -6
  233. package/dist/collection/components/backdrop/backdrop.md.css +13 -1
  234. package/dist/collection/components/badge/badge.ionic.css +256 -0
  235. package/dist/collection/components/badge/badge.ios.css +12 -0
  236. package/dist/collection/components/badge/badge.js +75 -8
  237. package/dist/collection/components/badge/badge.md.css +12 -0
  238. package/dist/collection/components/badge/test/shape/badge.e2e.js +84 -0
  239. package/dist/collection/components/badge/test/size/badge.e2e.js +96 -0
  240. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  241. package/dist/collection/components/breadcrumb/breadcrumb.js +16 -10
  242. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  243. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  244. package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
  245. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  246. package/dist/collection/components/button/button.ionic.css +417 -0
  247. package/dist/collection/components/button/button.ios.css +42 -16
  248. package/dist/collection/components/button/button.js +46 -17
  249. package/dist/collection/components/button/button.md.css +33 -20
  250. package/dist/collection/components/button/test/clear/button.e2e.js +6 -3
  251. package/dist/collection/components/button/test/outline/button.e2e.js +1 -0
  252. package/dist/collection/components/button/test/shape/button.e2e.js +250 -0
  253. package/dist/collection/components/button/test/size/button.e2e.js +18 -1
  254. package/dist/collection/components/button/test/states/button.e2e.js +51 -0
  255. package/dist/collection/components/buttons/buttons.ios.css +22 -4
  256. package/dist/collection/components/buttons/buttons.js +14 -8
  257. package/dist/collection/components/buttons/buttons.md.css +18 -0
  258. package/dist/collection/components/card/card.ionic.css +88 -0
  259. package/dist/collection/components/card/card.ios.css +30 -4
  260. package/dist/collection/components/card/card.js +34 -10
  261. package/dist/collection/components/card/card.md.css +30 -4
  262. package/dist/collection/components/card/test/shape/card.e2e.js +40 -0
  263. package/dist/collection/components/card-content/card-content.ios.css +12 -0
  264. package/dist/collection/components/card-content/card-content.js +11 -8
  265. package/dist/collection/components/card-content/card-content.md.css +12 -0
  266. package/dist/collection/components/card-header/card-header.ios.css +12 -0
  267. package/dist/collection/components/card-header/card-header.js +12 -9
  268. package/dist/collection/components/card-header/card-header.md.css +12 -0
  269. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  270. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  271. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  272. package/dist/collection/components/card-title/card-title.ios.css +12 -0
  273. package/dist/collection/components/card-title/card-title.js +11 -8
  274. package/dist/collection/components/card-title/card-title.md.css +12 -0
  275. package/dist/collection/components/checkbox/checkbox.ionic.css +386 -0
  276. package/dist/collection/components/checkbox/checkbox.ios.css +20 -2
  277. package/dist/collection/components/checkbox/checkbox.js +59 -14
  278. package/dist/collection/components/checkbox/checkbox.md.css +21 -3
  279. package/dist/collection/components/checkbox/test/basic/checkbox.e2e.js +66 -1
  280. package/dist/collection/components/checkbox/test/label/checkbox.e2e.js +1 -1
  281. package/dist/collection/components/checkbox/test/states/checkbox.e2e.js +32 -1
  282. package/dist/collection/components/chip/chip.ionic.css +141 -0
  283. package/dist/collection/components/chip/chip.ios.css +20 -1
  284. package/dist/collection/components/chip/chip.js +77 -8
  285. package/dist/collection/components/chip/chip.md.css +20 -1
  286. package/dist/collection/components/chip/test/shape/chip.e2e.js +39 -0
  287. package/dist/collection/components/chip/test/size/chip.e2e.js +26 -0
  288. package/dist/collection/components/chip/test/states/chip.e2e.js +16 -0
  289. package/dist/collection/components/col/col.css +12 -0
  290. package/dist/collection/components/col/col.js +9 -5
  291. package/dist/collection/components/content/content.css +8 -2
  292. package/dist/collection/components/content/content.js +13 -10
  293. package/dist/collection/components/datetime/datetime.ios.css +15 -3
  294. package/dist/collection/components/datetime/datetime.js +47 -19
  295. package/dist/collection/components/datetime/datetime.md.css +15 -3
  296. package/dist/collection/components/datetime/utils/data.js +3 -3
  297. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
  298. package/dist/collection/components/datetime-button/datetime-button.js +11 -8
  299. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
  300. package/dist/collection/components/fab/fab.css +25 -1
  301. package/dist/collection/components/fab/fab.js +9 -5
  302. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  303. package/dist/collection/components/fab-button/fab-button.js +19 -14
  304. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  305. package/dist/collection/components/fab-list/fab-list.css +12 -0
  306. package/dist/collection/components/fab-list/fab-list.js +9 -5
  307. package/dist/collection/components/footer/footer.ios.css +14 -2
  308. package/dist/collection/components/footer/footer.js +17 -14
  309. package/dist/collection/components/footer/footer.md.css +12 -0
  310. package/dist/collection/components/grid/grid.css +12 -0
  311. package/dist/collection/components/grid/grid.js +9 -5
  312. package/dist/collection/components/header/header.ios.css +14 -2
  313. package/dist/collection/components/header/header.js +17 -14
  314. package/dist/collection/components/header/header.md.css +12 -0
  315. package/dist/collection/components/img/img.js +8 -2
  316. package/dist/collection/components/infinite-scroll/infinite-scroll.js +8 -4
  317. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  318. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  319. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  320. package/dist/collection/components/input/input.ionic.css +1031 -0
  321. package/dist/collection/components/input/input.ios.css +21 -2
  322. package/dist/collection/components/input/input.js +127 -29
  323. package/dist/collection/components/input/input.md.css +43 -4
  324. package/dist/collection/components/input/test/basic/input.e2e.js +66 -0
  325. package/dist/collection/components/input/test/bottom-content/input.e2e.js +24 -5
  326. package/dist/collection/components/input/test/fill/input.e2e.js +37 -39
  327. package/dist/collection/components/input/test/highlight/input.e2e.js +94 -0
  328. package/dist/collection/components/input/test/shape/input.e2e.js +165 -0
  329. package/dist/collection/components/input/test/size/input.e2e.js +164 -0
  330. package/dist/collection/components/input/test/slot/input.e2e.js +14 -0
  331. package/dist/collection/components/input/test/states/input.e2e.js +173 -0
  332. package/dist/collection/components/input-password-toggle/input-password-toggle.js +6 -5
  333. package/dist/collection/components/item/item.ionic.css +169 -0
  334. package/dist/collection/components/item/item.ios.css +20 -8
  335. package/dist/collection/components/item/item.js +21 -16
  336. package/dist/collection/components/item/item.md.css +31 -7
  337. package/dist/collection/components/item/test/disabled/item.e2e.js +1 -1
  338. package/dist/collection/components/item/test/states/item.e2e.js +1 -1
  339. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  340. package/dist/collection/components/item-divider/item-divider.js +11 -8
  341. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  342. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  343. package/dist/collection/components/item-group/item-group.js +13 -7
  344. package/dist/collection/components/item-group/item-group.md.css +12 -0
  345. package/dist/collection/components/item-option/item-option.ios.css +14 -2
  346. package/dist/collection/components/item-option/item-option.js +11 -8
  347. package/dist/collection/components/item-option/item-option.md.css +14 -2
  348. package/dist/collection/components/item-options/item-options.ios.css +18 -0
  349. package/dist/collection/components/item-options/item-options.js +13 -7
  350. package/dist/collection/components/item-options/item-options.md.css +18 -0
  351. package/dist/collection/components/item-sliding/item-sliding.css +6 -0
  352. package/dist/collection/components/item-sliding/item-sliding.js +8 -4
  353. package/dist/collection/components/label/label.ios.css +18 -0
  354. package/dist/collection/components/label/label.js +11 -8
  355. package/dist/collection/components/label/label.md.css +18 -0
  356. package/dist/collection/components/list/list.ios.css +18 -0
  357. package/dist/collection/components/list/list.js +12 -9
  358. package/dist/collection/components/list/list.md.css +18 -0
  359. package/dist/collection/components/list-header/list-header.ios.css +18 -0
  360. package/dist/collection/components/list-header/list-header.js +11 -8
  361. package/dist/collection/components/list-header/list-header.md.css +18 -0
  362. package/dist/collection/components/loading/loading.ios.css +13 -1
  363. package/dist/collection/components/loading/loading.js +13 -10
  364. package/dist/collection/components/loading/loading.md.css +13 -1
  365. package/dist/collection/components/menu/menu.ios.css +15 -3
  366. package/dist/collection/components/menu/menu.js +12 -7
  367. package/dist/collection/components/menu/menu.md.css +15 -3
  368. package/dist/collection/components/menu-button/menu-button.ios.css +16 -4
  369. package/dist/collection/components/menu-button/menu-button.js +12 -9
  370. package/dist/collection/components/menu-button/menu-button.md.css +17 -5
  371. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  372. package/dist/collection/components/modal/modal.ios.css +14 -2
  373. package/dist/collection/components/modal/modal.js +13 -10
  374. package/dist/collection/components/modal/modal.md.css +14 -2
  375. package/dist/collection/components/nav/nav.css +7 -1
  376. package/dist/collection/components/nav/nav.js +11 -5
  377. package/dist/collection/components/nav-link/nav-link.js +5 -1
  378. package/dist/collection/components/note/note.ios.css +12 -0
  379. package/dist/collection/components/note/note.js +11 -8
  380. package/dist/collection/components/note/note.md.css +12 -0
  381. package/dist/collection/components/picker/picker.ios.css +15 -3
  382. package/dist/collection/components/picker/picker.js +8 -5
  383. package/dist/collection/components/picker/picker.md.css +15 -3
  384. package/dist/collection/components/picker-column/picker-column.css +9 -2
  385. package/dist/collection/components/picker-column/picker-column.js +8 -7
  386. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  387. package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
  388. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
  389. package/dist/collection/components/picker-legacy/picker.ios.css +13 -1
  390. package/dist/collection/components/picker-legacy/picker.js +7 -6
  391. package/dist/collection/components/picker-legacy/picker.md.css +13 -1
  392. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
  393. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  394. package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
  395. package/dist/collection/components/popover/popover.ios.css +13 -1
  396. package/dist/collection/components/popover/popover.js +15 -12
  397. package/dist/collection/components/popover/popover.md.css +13 -1
  398. package/dist/collection/components/progress-bar/progress-bar.ios.css +8 -2
  399. package/dist/collection/components/progress-bar/progress-bar.js +10 -7
  400. package/dist/collection/components/progress-bar/progress-bar.md.css +8 -2
  401. package/dist/collection/components/radio/radio.ios.css +20 -2
  402. package/dist/collection/components/radio/radio.js +12 -9
  403. package/dist/collection/components/radio/radio.md.css +20 -2
  404. package/dist/collection/components/radio-group/radio-group.js +9 -3
  405. package/dist/collection/components/range/range.ios.css +12 -0
  406. package/dist/collection/components/range/range.js +12 -9
  407. package/dist/collection/components/range/range.md.css +12 -0
  408. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  409. package/dist/collection/components/refresher/refresher.js +11 -8
  410. package/dist/collection/components/refresher/refresher.md.css +15 -2
  411. package/dist/collection/components/refresher-content/refresher-content.js +12 -7
  412. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  413. package/dist/collection/components/reorder/reorder.js +26 -6
  414. package/dist/collection/components/reorder/reorder.md.css +6 -0
  415. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  416. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  417. package/dist/collection/components/ripple-effect/ripple-effect.css +7 -1
  418. package/dist/collection/components/ripple-effect/ripple-effect.js +8 -4
  419. package/dist/collection/components/route/route.js +4 -0
  420. package/dist/collection/components/router/router.js +4 -0
  421. package/dist/collection/components/router-link/router-link.css +8 -2
  422. package/dist/collection/components/router-link/router-link.js +9 -5
  423. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  424. package/dist/collection/components/router-outlet/router-outlet.js +5 -2
  425. package/dist/collection/components/row/row.css +12 -0
  426. package/dist/collection/components/row/row.js +9 -2
  427. package/dist/collection/components/searchbar/searchbar.ios.css +14 -2
  428. package/dist/collection/components/searchbar/searchbar.js +68 -24
  429. package/dist/collection/components/searchbar/searchbar.md.css +14 -2
  430. package/dist/collection/components/segment/segment.ios.css +18 -0
  431. package/dist/collection/components/segment/segment.js +11 -8
  432. package/dist/collection/components/segment/segment.md.css +18 -0
  433. package/dist/collection/components/segment-button/segment-button.ios.css +16 -4
  434. package/dist/collection/components/segment-button/segment-button.js +12 -9
  435. package/dist/collection/components/segment-button/segment-button.md.css +18 -6
  436. package/dist/collection/components/select/select.ios.css +22 -3
  437. package/dist/collection/components/select/select.js +70 -31
  438. package/dist/collection/components/select/select.md.css +38 -5
  439. package/dist/collection/components/select-option/select-option.js +9 -2
  440. package/dist/collection/components/select-popover/select-popover.ios.css +18 -0
  441. package/dist/collection/components/select-popover/select-popover.js +12 -4
  442. package/dist/collection/components/select-popover/select-popover.md.css +18 -0
  443. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  444. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  445. package/dist/collection/components/spinner/spinner.css +6 -0
  446. package/dist/collection/components/spinner/spinner.js +10 -6
  447. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  448. package/dist/collection/components/split-pane/split-pane.js +14 -8
  449. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  450. package/dist/collection/components/tab/tab.js +6 -2
  451. package/dist/collection/components/tab-bar/tab-bar.ionic.css +163 -0
  452. package/dist/collection/components/tab-bar/tab-bar.ios.css +18 -0
  453. package/dist/collection/components/tab-bar/tab-bar.js +12 -9
  454. package/dist/collection/components/tab-bar/tab-bar.md.css +18 -0
  455. package/dist/collection/components/tab-bar/test/basic/tab-bar.e2e.js +34 -0
  456. package/dist/collection/components/tab-button/tab-button.ionic.css +264 -0
  457. package/dist/collection/components/tab-button/tab-button.ios.css +15 -3
  458. package/dist/collection/components/tab-button/tab-button.js +11 -8
  459. package/dist/collection/components/tab-button/tab-button.md.css +15 -3
  460. package/dist/collection/components/tabs/tabs.css +7 -1
  461. package/dist/collection/components/tabs/tabs.js +4 -1
  462. package/dist/collection/components/text/text.css +6 -0
  463. package/dist/collection/components/text/text.js +7 -6
  464. package/dist/collection/components/textarea/textarea.ios.css +26 -1
  465. package/dist/collection/components/textarea/textarea.js +15 -12
  466. package/dist/collection/components/textarea/textarea.md.css +39 -2
  467. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  468. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  469. package/dist/collection/components/title/title.ios.css +6 -0
  470. package/dist/collection/components/title/title.js +13 -7
  471. package/dist/collection/components/title/title.md.css +6 -0
  472. package/dist/collection/components/toast/animations/utils.js +1 -1
  473. package/dist/collection/components/toast/toast.ios.css +12 -0
  474. package/dist/collection/components/toast/toast.js +15 -11
  475. package/dist/collection/components/toast/toast.md.css +12 -0
  476. package/dist/collection/components/toggle/toggle.ios.css +23 -2
  477. package/dist/collection/components/toggle/toggle.js +55 -18
  478. package/dist/collection/components/toggle/toggle.md.css +20 -2
  479. package/dist/collection/components/toolbar/toolbar.ios.css +14 -2
  480. package/dist/collection/components/toolbar/toolbar.js +13 -10
  481. package/dist/collection/components/toolbar/toolbar.md.css +14 -2
  482. package/dist/collection/css/test/link/basic/link.e2e.js +35 -0
  483. package/dist/collection/css/test/{a11y → typography/a11y}/typography.e2e.js +1 -1
  484. package/dist/collection/css/test/typography/basic/typography.e2e.js +90 -0
  485. package/dist/collection/global/ionic-global.js +161 -13
  486. package/dist/collection/global/test/ionic-global.spec.js +109 -0
  487. package/dist/collection/themes/{test → native/test}/colors/theme.e2e.js +1 -1
  488. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  489. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  490. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  491. package/dist/collection/utils/test/playwright/generator.js +48 -23
  492. package/dist/collection/utils/test/playwright/page/utils/goto.js +14 -5
  493. package/dist/collection/utils/test/playwright/page/utils/set-content.js +13 -1
  494. package/dist/collection/utils/transition/ios.transition.js +1 -0
  495. package/dist/docs.json +6439 -325
  496. package/dist/esm/{app-globals-232dc3ed.js → app-globals-1fabe499.js} +1 -1
  497. package/dist/esm/{button-active-f7898f4b.js → button-active-367a8e84.js} +1 -1
  498. package/dist/esm/{data-ae11fd43.js → data-63b889c5.js} +4 -4
  499. package/dist/esm/{hardware-back-button-7f93f261.js → hardware-back-button-2da817f5.js} +2 -2
  500. package/dist/esm/{index-5cc724f3.js → index-00b4cca5.js} +1 -1
  501. package/dist/esm/{index-c71c5417.js → index-3321c202.js} +1 -1
  502. package/dist/esm/{index-92f14156.js → index-33a3d901.js} +4 -5
  503. package/dist/esm/{index-c8c3afda.js → index-44013081.js} +9 -8
  504. package/dist/esm/index.js +8 -9
  505. package/dist/esm/{input-shims-0314bbe5.js → input-shims-c142630d.js} +3 -2
  506. package/dist/esm/{input.utils-09c71bc7.js → input.utils-68c66dbc.js} +1 -1
  507. package/dist/esm/ion-accordion_2.entry.js +23 -14
  508. package/dist/esm/ion-action-sheet.entry.js +17 -13
  509. package/dist/esm/ion-alert.entry.js +18 -15
  510. package/dist/esm/ion-app_8.entry.js +76 -57
  511. package/dist/esm/ion-avatar_3.entry.js +91 -8
  512. package/dist/esm/ion-back-button.entry.js +15 -11
  513. package/dist/esm/ion-backdrop.entry.js +11 -7
  514. package/dist/esm/ion-breadcrumb_2.entry.js +24 -14
  515. package/dist/esm/ion-button_2.entry.js +42 -13
  516. package/dist/esm/ion-card_5.entry.js +49 -26
  517. package/dist/esm/ion-checkbox.entry.js +24 -13
  518. package/dist/esm/ion-chip.entry.js +43 -8
  519. package/dist/esm/ion-col_3.entry.js +14 -11
  520. package/dist/esm/ion-datetime-button.entry.js +11 -8
  521. package/dist/esm/ion-datetime_3.entry.js +60 -33
  522. package/dist/esm/ion-fab_3.entry.js +24 -18
  523. package/dist/esm/ion-img.entry.js +6 -3
  524. package/dist/esm/ion-infinite-scroll_2.entry.js +17 -14
  525. package/dist/esm/ion-input-password-toggle.entry.js +7 -8
  526. package/dist/esm/ion-input.entry.js +100 -21
  527. package/dist/esm/ion-item-option_3.entry.js +24 -17
  528. package/dist/esm/ion-item_8.entry.js +70 -40
  529. package/dist/esm/ion-loading.entry.js +15 -12
  530. package/dist/esm/ion-menu_3.entry.js +30 -23
  531. package/dist/esm/ion-modal.entry.js +18 -15
  532. package/dist/esm/ion-nav_2.entry.js +10 -9
  533. package/dist/esm/ion-picker-column-option.entry.js +10 -6
  534. package/dist/esm/ion-picker-column.entry.js +8 -8
  535. package/dist/esm/ion-picker.entry.js +9 -5
  536. package/dist/esm/ion-popover.entry.js +15 -12
  537. package/dist/esm/ion-progress-bar.entry.js +11 -7
  538. package/dist/esm/ion-radio_2.entry.js +17 -11
  539. package/dist/esm/ion-range.entry.js +12 -9
  540. package/dist/esm/ion-refresher_2.entry.js +19 -15
  541. package/dist/esm/ion-reorder_2.entry.js +27 -10
  542. package/dist/esm/ion-ripple-effect.entry.js +6 -6
  543. package/dist/esm/ion-route_4.entry.js +7 -7
  544. package/dist/esm/ion-searchbar.entry.js +62 -16
  545. package/dist/esm/ion-segment_2.entry.js +21 -13
  546. package/dist/esm/ion-select_3.entry.js +81 -33
  547. package/dist/esm/ion-spinner.entry.js +7 -7
  548. package/dist/esm/ion-split-pane.entry.js +13 -9
  549. package/dist/esm/ion-tab-bar_2.entry.js +20 -12
  550. package/dist/esm/ion-tab_2.entry.js +5 -5
  551. package/dist/esm/ion-text.entry.js +6 -6
  552. package/dist/esm/ion-textarea.entry.js +15 -12
  553. package/dist/esm/ion-toast.entry.js +16 -12
  554. package/dist/esm/ion-toggle.entry.js +56 -18
  555. package/dist/esm/ionic-global-be8fa30a.js +408 -0
  556. package/dist/esm/ionic.js +5 -5
  557. package/dist/esm/{ios.transition-2f45f5c1.js → ios.transition-688eab99.js} +4 -4
  558. package/dist/esm/loader.js +5 -5
  559. package/dist/esm/{md.transition-6fcc955f.js → md.transition-0540d1d2.js} +3 -4
  560. package/dist/esm/{overlays-0d212972.js → overlays-a0e93007.js} +2 -3
  561. package/dist/esm/{status-tap-53150009.js → status-tap-8d02be66.js} +3 -3
  562. package/dist/esm-es5/app-globals-1fabe499.js +4 -0
  563. package/dist/esm-es5/{button-active-f7898f4b.js → button-active-367a8e84.js} +1 -1
  564. package/dist/esm-es5/data-63b889c5.js +4 -0
  565. package/dist/esm-es5/{hardware-back-button-7f93f261.js → hardware-back-button-2da817f5.js} +1 -1
  566. package/dist/esm-es5/index-00b4cca5.js +4 -0
  567. package/dist/esm-es5/{index-c71c5417.js → index-3321c202.js} +1 -1
  568. package/dist/esm-es5/index-33a3d901.js +4 -0
  569. package/dist/esm-es5/index-44013081.js +4 -0
  570. package/dist/esm-es5/index.js +1 -1
  571. package/dist/esm-es5/input-shims-c142630d.js +4 -0
  572. package/dist/esm-es5/input.utils-68c66dbc.js +4 -0
  573. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  574. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  575. package/dist/esm-es5/ion-alert.entry.js +1 -1
  576. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  577. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  578. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  579. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  580. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  581. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  582. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  583. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  584. package/dist/esm-es5/ion-chip.entry.js +1 -1
  585. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  586. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  587. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  588. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  589. package/dist/esm-es5/ion-img.entry.js +1 -1
  590. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  591. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  592. package/dist/esm-es5/ion-input.entry.js +1 -1
  593. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  594. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  595. package/dist/esm-es5/ion-loading.entry.js +1 -1
  596. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  597. package/dist/esm-es5/ion-modal.entry.js +1 -1
  598. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  599. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  600. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  601. package/dist/esm-es5/ion-picker.entry.js +1 -1
  602. package/dist/esm-es5/ion-popover.entry.js +1 -1
  603. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  604. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  605. package/dist/esm-es5/ion-range.entry.js +1 -1
  606. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  607. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  608. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  609. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  610. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  611. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  612. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  613. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  614. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  615. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  616. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  617. package/dist/esm-es5/ion-text.entry.js +1 -1
  618. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  619. package/dist/esm-es5/ion-toast.entry.js +1 -1
  620. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  621. package/dist/esm-es5/ionic-global-be8fa30a.js +4 -0
  622. package/dist/esm-es5/ionic.js +1 -1
  623. package/dist/esm-es5/ios.transition-688eab99.js +4 -0
  624. package/dist/esm-es5/loader.js +1 -1
  625. package/dist/esm-es5/md.transition-0540d1d2.js +4 -0
  626. package/dist/esm-es5/overlays-a0e93007.js +4 -0
  627. package/dist/esm-es5/status-tap-8d02be66.js +4 -0
  628. package/dist/html.html-data.json +2054 -100
  629. package/dist/ionic/index.esm.js +1 -1
  630. package/dist/ionic/ionic.esm.js +1 -1
  631. package/dist/ionic/ionic.js +1 -1
  632. package/dist/ionic/p-0116d120.entry.js +4 -0
  633. package/dist/ionic/p-01ae1aa0.entry.js +4 -0
  634. package/dist/ionic/p-021bee2f.system.entry.js +4 -0
  635. package/dist/ionic/p-036d86ec.system.entry.js +4 -0
  636. package/dist/ionic/p-0a93c048.system.js +4 -0
  637. package/dist/ionic/p-1219eea0.system.entry.js +4 -0
  638. package/dist/ionic/{p-bbc5329a.system.entry.js → p-128f0f15.system.entry.js} +2 -2
  639. package/dist/ionic/p-12c07c03.system.entry.js +4 -0
  640. package/dist/ionic/p-132e1004.entry.js +4 -0
  641. package/dist/ionic/{p-395a0dd7.js → p-15901e6c.js} +1 -1
  642. package/dist/ionic/p-1745dc66.system.entry.js +4 -0
  643. package/dist/ionic/{p-9ea607bd.system.js → p-1b75a2d2.system.js} +2 -2
  644. package/dist/ionic/p-1d548fea.system.entry.js +4 -0
  645. package/dist/ionic/p-1dbb7fa3.entry.js +4 -0
  646. package/dist/ionic/{p-a688052d.system.js → p-1ecfe64f.system.js} +1 -1
  647. package/dist/ionic/p-22fef691.js +4 -0
  648. package/dist/ionic/p-24592a4d.system.entry.js +4 -0
  649. package/dist/ionic/p-27e42c9e.system.js +4 -0
  650. package/dist/ionic/p-28a10445.system.js +4 -0
  651. package/dist/ionic/{p-0c06e09b.system.js → p-2ac68c59.system.js} +1 -1
  652. package/dist/ionic/{p-c350c8f8.system.entry.js → p-2d618ba6.system.entry.js} +1 -1
  653. package/dist/ionic/{p-99a4d7c7.system.js → p-2df16673.system.js} +2 -2
  654. package/dist/ionic/{p-06e58c4e.js → p-2fa9c16c.js} +1 -1
  655. package/dist/ionic/{p-ea4f2b31.entry.js → p-2fdc82b4.entry.js} +1 -1
  656. package/dist/ionic/p-302c9c7a.system.entry.js +4 -0
  657. package/dist/ionic/p-350462f9.system.entry.js +4 -0
  658. package/dist/ionic/p-359afeb0.system.entry.js +4 -0
  659. package/dist/ionic/p-37e801db.entry.js +4 -0
  660. package/dist/ionic/{p-60eb4c0d.system.entry.js → p-3862d08b.system.entry.js} +1 -1
  661. package/dist/ionic/p-3b989be4.entry.js +4 -0
  662. package/dist/ionic/p-3c031826.system.entry.js +4 -0
  663. package/dist/ionic/p-3c18022f.entry.js +4 -0
  664. package/dist/ionic/p-3c6eae03.system.entry.js +4 -0
  665. package/dist/ionic/p-3cccd1c7.system.entry.js +4 -0
  666. package/dist/ionic/p-3d25c6d9.entry.js +4 -0
  667. package/dist/ionic/p-3e2568b9.system.js +4 -0
  668. package/dist/ionic/p-3e9a1680.js +4 -0
  669. package/dist/ionic/{p-ac34105e.entry.js → p-4058051c.entry.js} +1 -1
  670. package/dist/ionic/{p-266db4b6.entry.js → p-4079d071.entry.js} +1 -1
  671. package/dist/ionic/p-40c14f53.system.entry.js +4 -0
  672. package/dist/ionic/{p-f3ff1e58.entry.js → p-41c9fb60.entry.js} +1 -1
  673. package/dist/ionic/p-42452dc9.entry.js +4 -0
  674. package/dist/ionic/p-42816eab.entry.js +4 -0
  675. package/dist/ionic/p-42bb5ed7.system.entry.js +4 -0
  676. package/dist/ionic/p-44314b44.system.entry.js +4 -0
  677. package/dist/ionic/p-479bec54.entry.js +4 -0
  678. package/dist/ionic/{p-e6964b3a.js → p-493a4548.js} +1 -1
  679. package/dist/ionic/p-4b9c6418.system.entry.js +4 -0
  680. package/dist/ionic/p-4d6c2031.system.entry.js +4 -0
  681. package/dist/ionic/p-4ec67d0a.entry.js +4 -0
  682. package/dist/ionic/p-546438d8.js +4 -0
  683. package/dist/ionic/p-563a8d3b.entry.js +4 -0
  684. package/dist/ionic/p-56c72f65.system.entry.js +4 -0
  685. package/dist/ionic/p-59cd0dd7.system.entry.js +4 -0
  686. package/dist/ionic/p-61dd8967.system.entry.js +4 -0
  687. package/dist/ionic/p-61ddbdb9.entry.js +4 -0
  688. package/dist/ionic/{p-44c6eb74.js → p-644c505f.js} +1 -1
  689. package/dist/ionic/p-645a7748.entry.js +4 -0
  690. package/dist/ionic/{p-d60342e3.js → p-6649365e.js} +1 -1
  691. package/dist/ionic/p-6746c32a.entry.js +4 -0
  692. package/dist/ionic/{p-eb8098d5.system.entry.js → p-67f85d9a.system.entry.js} +1 -1
  693. package/dist/ionic/p-6c57ed08.js +4 -0
  694. package/dist/ionic/p-6daa3633.entry.js +4 -0
  695. package/dist/ionic/p-72e98815.system.js +4 -0
  696. package/dist/ionic/p-752e285d.entry.js +4 -0
  697. package/dist/ionic/p-79113968.js +4 -0
  698. package/dist/ionic/p-7b590e46.system.js +4 -0
  699. package/dist/ionic/p-7b914bfb.entry.js +4 -0
  700. package/dist/ionic/p-7bf2087e.entry.js +4 -0
  701. package/dist/ionic/p-7dad531c.system.entry.js +4 -0
  702. package/dist/ionic/p-7f5f8a14.entry.js +4 -0
  703. package/dist/ionic/p-82df3737.system.entry.js +4 -0
  704. package/dist/ionic/p-87e823ce.js +4 -0
  705. package/dist/ionic/p-89efe86f.entry.js +4 -0
  706. package/dist/ionic/p-8a04868b.system.entry.js +4 -0
  707. package/dist/ionic/p-8ac5efa9.entry.js +4 -0
  708. package/dist/ionic/p-8ed0cef4.system.entry.js +4 -0
  709. package/dist/ionic/p-90027267.system.js +4 -0
  710. package/dist/ionic/p-935801cc.entry.js +4 -0
  711. package/dist/ionic/p-96f109ca.entry.js +4 -0
  712. package/dist/ionic/p-9771abb4.entry.js +4 -0
  713. package/dist/ionic/p-9b925d37.system.entry.js +4 -0
  714. package/dist/ionic/p-9ba25d15.entry.js +4 -0
  715. package/dist/ionic/p-9ead4417.js +4 -0
  716. package/dist/ionic/p-a06d7e6a.system.js +4 -0
  717. package/dist/ionic/{p-5d6e77bd.system.entry.js → p-a2b60239.system.entry.js} +1 -1
  718. package/dist/ionic/p-a3b856e6.system.entry.js +4 -0
  719. package/dist/ionic/{p-00333e13.js → p-a42e4adb.js} +1 -1
  720. package/dist/ionic/p-ada5e8bb.entry.js +4 -0
  721. package/dist/ionic/{p-9286b16d.system.entry.js → p-b5cc6e57.system.entry.js} +2 -2
  722. package/dist/ionic/p-bab398d1.entry.js +4 -0
  723. package/dist/ionic/p-bb7162de.system.js +4 -0
  724. package/dist/ionic/p-bee73070.entry.js +4 -0
  725. package/dist/ionic/{p-13260c59.entry.js → p-c23822f8.entry.js} +1 -1
  726. package/dist/ionic/p-c24b81cc.entry.js +4 -0
  727. package/dist/ionic/p-c374ab05.system.js +4 -0
  728. package/dist/ionic/{p-1de7f9e4.entry.js → p-c47b75e3.entry.js} +1 -1
  729. package/dist/ionic/p-c79decb5.system.entry.js +4 -0
  730. package/dist/ionic/p-ca5aaed3.system.entry.js +4 -0
  731. package/dist/ionic/p-cce8c245.entry.js +4 -0
  732. package/dist/ionic/{p-96cc4814.js → p-cd99310b.js} +1 -1
  733. package/dist/ionic/p-cdc9a11c.system.entry.js +4 -0
  734. package/dist/ionic/p-d281c150.system.entry.js +4 -0
  735. package/dist/ionic/p-d2a580db.entry.js +4 -0
  736. package/dist/ionic/p-d4f55a93.entry.js +4 -0
  737. package/dist/ionic/p-d5fc7d63.entry.js +4 -0
  738. package/dist/ionic/{p-f687573e.system.js → p-d98a1d99.system.js} +1 -1
  739. package/dist/ionic/p-db08a2d0.system.entry.js +4 -0
  740. package/dist/ionic/p-db3f14c1.system.entry.js +4 -0
  741. package/dist/ionic/p-db8fac3d.system.entry.js +4 -0
  742. package/dist/ionic/p-dc60009b.system.entry.js +4 -0
  743. package/dist/ionic/p-dc8a3888.entry.js +4 -0
  744. package/dist/ionic/p-e2313846.entry.js +4 -0
  745. package/dist/ionic/{p-e6a47e94.entry.js → p-e59d16bd.entry.js} +1 -1
  746. package/dist/ionic/{p-8d3e57a0.system.entry.js → p-e7e3ba54.system.entry.js} +1 -1
  747. package/dist/ionic/p-e8aa220a.js +4 -0
  748. package/dist/ionic/p-eb72562c.entry.js +4 -0
  749. package/dist/ionic/p-ebc71ff5.system.entry.js +4 -0
  750. package/dist/ionic/p-f0fab903.system.entry.js +4 -0
  751. package/dist/ionic/p-f621b019.entry.js +4 -0
  752. package/dist/ionic/p-f997141e.entry.js +4 -0
  753. package/dist/ionic/{p-6ad705f8.system.js → p-fa019443.system.js} +1 -1
  754. package/dist/ionic/p-fb17d462.entry.js +4 -0
  755. package/dist/ionic/p-fb8ecdb4.system.entry.js +4 -0
  756. package/dist/ionic/p-fc0922fa.system.entry.js +4 -0
  757. package/dist/ionic/{p-7a43878b.system.js → p-fc9f9e4d.system.js} +1 -1
  758. package/dist/ionic/p-fcb1218a.system.entry.js +4 -0
  759. package/dist/ionic/p-ff54800f.system.entry.js +4 -0
  760. package/dist/types/components/accordion/accordion.d.ts +3 -2
  761. package/dist/types/components/accordion-group/accordion-group.d.ts +2 -1
  762. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  763. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  764. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  765. package/dist/types/components/alert/alert.d.ts +3 -2
  766. package/dist/types/components/app/app.d.ts +4 -0
  767. package/dist/types/components/avatar/avatar.d.ts +25 -0
  768. package/dist/types/components/back-button/back-button.d.ts +2 -1
  769. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  770. package/dist/types/components/badge/badge.d.ts +23 -1
  771. package/dist/types/components/breadcrumb/breadcrumb.d.ts +2 -1
  772. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  773. package/dist/types/components/button/button.d.ts +15 -4
  774. package/dist/types/components/buttons/buttons.d.ts +5 -1
  775. package/dist/types/components/card/card.d.ts +8 -1
  776. package/dist/types/components/card-content/card-content.d.ts +2 -1
  777. package/dist/types/components/card-header/card-header.d.ts +3 -2
  778. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  779. package/dist/types/components/card-title/card-title.d.ts +2 -1
  780. package/dist/types/components/checkbox/checkbox.d.ts +14 -4
  781. package/dist/types/components/chip/chip.d.ts +19 -1
  782. package/dist/types/components/col/col.d.ts +4 -0
  783. package/dist/types/components/content/content.d.ts +3 -0
  784. package/dist/types/components/datetime/datetime.d.ts +18 -1
  785. package/dist/types/components/datetime/utils/data.d.ts +3 -3
  786. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  787. package/dist/types/components/fab/fab.d.ts +4 -0
  788. package/dist/types/components/fab-button/fab-button.d.ts +4 -3
  789. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  790. package/dist/types/components/footer/footer.d.ts +4 -3
  791. package/dist/types/components/grid/grid.d.ts +4 -0
  792. package/dist/types/components/header/header.d.ts +4 -3
  793. package/dist/types/components/img/img.d.ts +3 -0
  794. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +4 -0
  795. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  796. package/dist/types/components/input/input.d.ts +31 -5
  797. package/dist/types/components/item/item.d.ts +5 -4
  798. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  799. package/dist/types/components/item-group/item-group.d.ts +4 -0
  800. package/dist/types/components/item-option/item-option.d.ts +2 -1
  801. package/dist/types/components/item-options/item-options.d.ts +4 -0
  802. package/dist/types/components/item-sliding/item-sliding.d.ts +4 -0
  803. package/dist/types/components/label/label.d.ts +2 -1
  804. package/dist/types/components/list/list.d.ts +2 -1
  805. package/dist/types/components/list-header/list-header.d.ts +2 -1
  806. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  807. package/dist/types/components/loading/loading.d.ts +3 -2
  808. package/dist/types/components/menu/menu.d.ts +3 -0
  809. package/dist/types/components/menu-button/menu-button.d.ts +2 -1
  810. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  811. package/dist/types/components/modal/modal-interface.d.ts +3 -7
  812. package/dist/types/components/modal/modal.d.ts +2 -1
  813. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  814. package/dist/types/components/nav/nav.d.ts +5 -1
  815. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  816. package/dist/types/components/note/note.d.ts +2 -1
  817. package/dist/types/components/picker/picker.d.ts +2 -1
  818. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  819. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  820. package/dist/types/components/picker-legacy/picker.d.ts +2 -1
  821. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  822. package/dist/types/components/popover/popover.d.ts +6 -5
  823. package/dist/types/components/progress-bar/progress-bar.d.ts +2 -1
  824. package/dist/types/components/radio/radio.d.ts +2 -1
  825. package/dist/types/components/radio-group/radio-group.d.ts +4 -0
  826. package/dist/types/components/range/range.d.ts +2 -1
  827. package/dist/types/components/refresher/refresher.d.ts +2 -1
  828. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  829. package/dist/types/components/reorder/reorder.d.ts +11 -0
  830. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  831. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  832. package/dist/types/components/route/route.d.ts +4 -0
  833. package/dist/types/components/router/router.d.ts +4 -0
  834. package/dist/types/components/router-link/router-link.d.ts +4 -0
  835. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  836. package/dist/types/components/row/row.d.ts +4 -0
  837. package/dist/types/components/searchbar/searchbar.d.ts +27 -8
  838. package/dist/types/components/segment/segment.d.ts +2 -1
  839. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  840. package/dist/types/components/select/select.d.ts +24 -5
  841. package/dist/types/components/select-option/select-option.d.ts +4 -0
  842. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  843. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  844. package/dist/types/components/spinner/spinner.d.ts +4 -0
  845. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  846. package/dist/types/components/tab/tab.d.ts +4 -0
  847. package/dist/types/components/tab-bar/tab-bar.d.ts +3 -2
  848. package/dist/types/components/tab-button/tab-button.d.ts +2 -1
  849. package/dist/types/components/tabs/tabs.d.ts +3 -0
  850. package/dist/types/components/text/text.d.ts +2 -1
  851. package/dist/types/components/textarea/textarea.d.ts +3 -2
  852. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  853. package/dist/types/components/title/title.d.ts +4 -0
  854. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  855. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  856. package/dist/types/components/toast/toast.d.ts +3 -2
  857. package/dist/types/components/toggle/toggle.d.ts +19 -1
  858. package/dist/types/components/toolbar/toolbar.d.ts +4 -3
  859. package/dist/types/components.d.ts +1278 -174
  860. package/dist/types/global/ionic-global.d.ts +25 -2
  861. package/dist/types/interface.d.ts +3 -0
  862. package/dist/types/utils/config.d.ts +99 -2
  863. package/dist/types/utils/overlays-interface.d.ts +31 -1
  864. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  865. package/hydrate/index.js +1563 -614
  866. package/package.json +7 -4
  867. package/components/index9.js +0 -167
  868. package/dist/cjs/index-5915f9b3.js +0 -38
  869. package/dist/cjs/ionic-global-46459c38.js +0 -237
  870. package/dist/collection/components/button/test/round/button.e2e.js +0 -52
  871. package/dist/esm/index-9b0d46f4.js +0 -34
  872. package/dist/esm/ionic-global-b9c0d1da.js +0 -231
  873. package/dist/esm-es5/app-globals-232dc3ed.js +0 -4
  874. package/dist/esm-es5/data-ae11fd43.js +0 -4
  875. package/dist/esm-es5/index-5cc724f3.js +0 -4
  876. package/dist/esm-es5/index-92f14156.js +0 -4
  877. package/dist/esm-es5/index-9b0d46f4.js +0 -4
  878. package/dist/esm-es5/index-c8c3afda.js +0 -4
  879. package/dist/esm-es5/input-shims-0314bbe5.js +0 -4
  880. package/dist/esm-es5/input.utils-09c71bc7.js +0 -4
  881. package/dist/esm-es5/ionic-global-b9c0d1da.js +0 -4
  882. package/dist/esm-es5/ios.transition-2f45f5c1.js +0 -4
  883. package/dist/esm-es5/md.transition-6fcc955f.js +0 -4
  884. package/dist/esm-es5/overlays-0d212972.js +0 -4
  885. package/dist/esm-es5/status-tap-53150009.js +0 -4
  886. package/dist/ionic/p-0471d705.entry.js +0 -4
  887. package/dist/ionic/p-05bbe79d.entry.js +0 -4
  888. package/dist/ionic/p-06fee233.js +0 -4
  889. package/dist/ionic/p-0769896d.system.entry.js +0 -4
  890. package/dist/ionic/p-13d3abce.system.entry.js +0 -4
  891. package/dist/ionic/p-1731ab58.system.entry.js +0 -4
  892. package/dist/ionic/p-17c10451.system.entry.js +0 -4
  893. package/dist/ionic/p-184fc032.system.js +0 -4
  894. package/dist/ionic/p-18fd2107.entry.js +0 -4
  895. package/dist/ionic/p-1a0848af.system.entry.js +0 -4
  896. package/dist/ionic/p-1cebad78.system.entry.js +0 -4
  897. package/dist/ionic/p-2690b1de.js +0 -4
  898. package/dist/ionic/p-26e469a2.system.entry.js +0 -4
  899. package/dist/ionic/p-2b13fb8c.entry.js +0 -4
  900. package/dist/ionic/p-2e7673a0.system.entry.js +0 -4
  901. package/dist/ionic/p-3886b5d0.entry.js +0 -4
  902. package/dist/ionic/p-38c67b66.system.entry.js +0 -4
  903. package/dist/ionic/p-3a0091c2.system.entry.js +0 -4
  904. package/dist/ionic/p-3b199ab6.entry.js +0 -4
  905. package/dist/ionic/p-3c1b674f.entry.js +0 -4
  906. package/dist/ionic/p-3dba7283.entry.js +0 -4
  907. package/dist/ionic/p-3ea44c31.system.entry.js +0 -4
  908. package/dist/ionic/p-418ad596.entry.js +0 -4
  909. package/dist/ionic/p-44f6a3e4.system.entry.js +0 -4
  910. package/dist/ionic/p-4c3d1c73.entry.js +0 -4
  911. package/dist/ionic/p-4d6b6aef.system.entry.js +0 -4
  912. package/dist/ionic/p-4d7ab66a.system.entry.js +0 -4
  913. package/dist/ionic/p-4f610234.entry.js +0 -4
  914. package/dist/ionic/p-52df00b5.entry.js +0 -4
  915. package/dist/ionic/p-56cb7d41.entry.js +0 -4
  916. package/dist/ionic/p-591528fc.entry.js +0 -4
  917. package/dist/ionic/p-5b121ea3.system.entry.js +0 -4
  918. package/dist/ionic/p-5bbd2b10.entry.js +0 -4
  919. package/dist/ionic/p-5c22c8fa.system.js +0 -4
  920. package/dist/ionic/p-5f2dc7f9.entry.js +0 -4
  921. package/dist/ionic/p-6017cbeb.system.js +0 -4
  922. package/dist/ionic/p-6167004c.system.entry.js +0 -4
  923. package/dist/ionic/p-617caf82.entry.js +0 -4
  924. package/dist/ionic/p-624e1ca6.system.js +0 -4
  925. package/dist/ionic/p-646d46b1.entry.js +0 -4
  926. package/dist/ionic/p-64e15640.system.entry.js +0 -4
  927. package/dist/ionic/p-65fd47cb.system.entry.js +0 -4
  928. package/dist/ionic/p-66621486.system.entry.js +0 -4
  929. package/dist/ionic/p-666583e1.system.entry.js +0 -4
  930. package/dist/ionic/p-68e5bec9.system.entry.js +0 -4
  931. package/dist/ionic/p-6c76eff8.system.entry.js +0 -4
  932. package/dist/ionic/p-6cf5d476.system.js +0 -4
  933. package/dist/ionic/p-6ee1e402.system.js +0 -4
  934. package/dist/ionic/p-705c21cb.system.entry.js +0 -4
  935. package/dist/ionic/p-72ee2cd6.entry.js +0 -4
  936. package/dist/ionic/p-733db888.entry.js +0 -4
  937. package/dist/ionic/p-738cb3bd.entry.js +0 -4
  938. package/dist/ionic/p-75cb6744.system.js +0 -4
  939. package/dist/ionic/p-796cfde4.entry.js +0 -4
  940. package/dist/ionic/p-7a86bd75.js +0 -4
  941. package/dist/ionic/p-7f84a4c8.system.entry.js +0 -4
  942. package/dist/ionic/p-8ee5c5bf.js +0 -4
  943. package/dist/ionic/p-943bc98f.system.entry.js +0 -4
  944. package/dist/ionic/p-94953ea1.system.entry.js +0 -4
  945. package/dist/ionic/p-94c6f6ab.system.entry.js +0 -4
  946. package/dist/ionic/p-9690c79d.system.entry.js +0 -4
  947. package/dist/ionic/p-98f199c6.system.entry.js +0 -4
  948. package/dist/ionic/p-9f5f3485.js +0 -4
  949. package/dist/ionic/p-a07f9cb7.system.entry.js +0 -4
  950. package/dist/ionic/p-a3aaeca8.system.entry.js +0 -4
  951. package/dist/ionic/p-ab27a195.system.entry.js +0 -4
  952. package/dist/ionic/p-af9d3f33.entry.js +0 -4
  953. package/dist/ionic/p-b1e856df.entry.js +0 -4
  954. package/dist/ionic/p-b6fe4a42.entry.js +0 -4
  955. package/dist/ionic/p-b7fa6074.js +0 -4
  956. package/dist/ionic/p-b9fcfe50.system.js +0 -4
  957. package/dist/ionic/p-c1859486.system.js +0 -4
  958. package/dist/ionic/p-c5477854.system.entry.js +0 -4
  959. package/dist/ionic/p-c91c13d2.js +0 -4
  960. package/dist/ionic/p-cb5d9dd4.entry.js +0 -4
  961. package/dist/ionic/p-ccab4d05.system.entry.js +0 -4
  962. package/dist/ionic/p-cdddc32e.entry.js +0 -4
  963. package/dist/ionic/p-d2293261.system.entry.js +0 -4
  964. package/dist/ionic/p-d2753e35.js +0 -4
  965. package/dist/ionic/p-d2db72d1.entry.js +0 -4
  966. package/dist/ionic/p-d529141b.entry.js +0 -4
  967. package/dist/ionic/p-d5f62e4e.entry.js +0 -4
  968. package/dist/ionic/p-d7b97091.entry.js +0 -4
  969. package/dist/ionic/p-d820d1f1.entry.js +0 -4
  970. package/dist/ionic/p-d9e26540.system.entry.js +0 -4
  971. package/dist/ionic/p-da0001cd.system.entry.js +0 -4
  972. package/dist/ionic/p-dbee9e95.system.entry.js +0 -4
  973. package/dist/ionic/p-df3ebee9.system.entry.js +0 -4
  974. package/dist/ionic/p-df4bdf05.entry.js +0 -4
  975. package/dist/ionic/p-dfb78785.system.js +0 -4
  976. package/dist/ionic/p-e08fb9c2.system.entry.js +0 -4
  977. package/dist/ionic/p-e12d7323.entry.js +0 -4
  978. package/dist/ionic/p-e4587da1.js +0 -4
  979. package/dist/ionic/p-eaed7394.entry.js +0 -4
  980. package/dist/ionic/p-ecf5f3e0.entry.js +0 -4
  981. package/dist/ionic/p-ed72bc6c.system.entry.js +0 -4
  982. package/dist/ionic/p-ef1c5743.entry.js +0 -4
  983. package/dist/ionic/p-f181073a.entry.js +0 -4
  984. package/dist/ionic/p-f52c2d9a.entry.js +0 -4
  985. package/dist/ionic/p-f654e4df.entry.js +0 -4
  986. package/dist/ionic/p-fa2abaef.entry.js +0 -4
  987. package/dist/ionic/p-ff4b7e40.system.js +0 -4
@@ -0,0 +1,1031 @@
1
+ /**
2
+ * Convert a pixels given value into rem
3
+ *
4
+ * @param pixels - Value in pixels to be converted (i.e. px)
5
+ * @param context (optional) - Baseline value
6
+ */
7
+ /**
8
+ * This is an auto-generated file, please do not change it directly.
9
+ * Ionic Design System
10
+ */
11
+ /**
12
+ * Convert a pixels given value into rem
13
+ *
14
+ * @param pixels - Value in pixels to be converted (i.e. px)
15
+ * @param context (optional) - Baseline value
16
+ */
17
+ /**
18
+ * Convert a font size to a dynamic font size.
19
+ * Fonts that participate in Dynamic Type should use
20
+ * dynamic font sizes.
21
+ * @param size - The initial font size including the unit (i.e. px or pt)
22
+ * @param unit (optional) - The unit to convert to. Use this if you want to
23
+ * convert to a unit other than $baselineUnit.
24
+ */
25
+ /**
26
+ * Convert a font size to a dynamic font size but impose
27
+ * a maximum font size.
28
+ * @param size - The initial font size including the unit (i.e. px or pt)
29
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
30
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
31
+ * convert to a unit other than $baselineUnit.
32
+ */
33
+ /**
34
+ * Convert a font size to a dynamic font size but impose
35
+ * a minimum font size.
36
+ * @param size - The initial font size including the unit (i.e. px or pt)
37
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
38
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
39
+ * convert to a unit other than $baselineUnit.
40
+ */
41
+ /**
42
+ * Convert a font size to a dynamic font size but impose
43
+ * maximum and minimum font sizes.
44
+ * @param size - The initial font size including the unit (i.e. px or pt)
45
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
46
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
47
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
48
+ * convert to a unit other than $baselineUnit.
49
+ */
50
+ /**
51
+ * A heuristic that applies CSS to tablet
52
+ * viewports.
53
+ *
54
+ * Usage:
55
+ * @include tablet-viewport() {
56
+ * :host {
57
+ * background-color: green;
58
+ * }
59
+ * }
60
+ */
61
+ /**
62
+ * A heuristic that applies CSS to mobile
63
+ * viewports (i.e. phones, not tablets).
64
+ *
65
+ * Usage:
66
+ * @include mobile-viewport() {
67
+ * :host {
68
+ * background-color: blue;
69
+ * }
70
+ * }
71
+ */
72
+ :host {
73
+ /**
74
+ * @prop --background: Background of the input
75
+ *
76
+ * @prop --color: Color of the input text
77
+ *
78
+ * @prop --padding-top: Top padding of the input
79
+ * @prop --padding-end: Right padding if direction is left-to-right, and left padding if direction is right-to-left of the input
80
+ * @prop --padding-bottom: Bottom padding of the input
81
+ * @prop --padding-start: Left padding if direction is left-to-right, and right padding if direction is right-to-left of the input
82
+ *
83
+ * @prop --placeholder-color: Color of the input placeholder text
84
+ * @prop --placeholder-font-style: Font style of the input placeholder text
85
+ * @prop --placeholder-font-weight: Font weight of the input placeholder text
86
+ * @prop --placeholder-opacity: Opacity of the input placeholder text
87
+ *
88
+ * @prop --highlight-height: The height of the highlight on the input. Only applies to md mode.
89
+ * @prop --highlight-color-focused: The color of the highlight on the input when focused
90
+ * @prop --highlight-color-valid: The color of the highlight on the input when valid
91
+ * @prop --highlight-color-invalid: The color of the highlight on the input when invalid
92
+ * @prop --text-color-invalid: The color of the error text on the input when invalid. Only applies to ionic theme.
93
+ *
94
+ * @prop --border-color: Color of the border below the input when using helper text, error text, or counter
95
+ * @prop --border-radius: Radius of the input. A large radius may display unevenly when using fill="outline"; if needed, use shape="round" instead or increase --padding-start.
96
+ * @prop --border-style: Style of the border below the input when using helper text, error text, or counter
97
+ * @prop --border-width: Width of the border below the input when using helper text, error text, or counter
98
+ */
99
+ --placeholder-color: initial;
100
+ --placeholder-font-style: initial;
101
+ --placeholder-font-weight: initial;
102
+ --placeholder-opacity: var(--ion-placeholder-opacity, 0.6);
103
+ --padding-top: 0px;
104
+ --padding-end: 0px;
105
+ --padding-bottom: 0px;
106
+ --padding-start: 0px;
107
+ --background: transparent;
108
+ --color: initial;
109
+ --border-style: solid;
110
+ --highlight-color-focused: var(--ion-color-primary, #0054e9);
111
+ --highlight-color-valid: var(--ion-color-success, #2dd55b);
112
+ --highlight-color-invalid: var(--ion-color-danger, #c5000f);
113
+ /**
114
+ * This is a private API that is used to switch
115
+ * out the highlight color based on the state
116
+ * of the component without having to write
117
+ * different selectors for different fill variants.
118
+ */
119
+ --highlight-color: var(--highlight-color-focused);
120
+ display: block;
121
+ position: relative;
122
+ width: 100%;
123
+ min-height: 44px;
124
+ /* stylelint-disable-next-line all */
125
+ padding: 0 !important;
126
+ color: var(--color);
127
+ font-family: var(--ion-font-family, inherit);
128
+ z-index: 2;
129
+ }
130
+
131
+ :host-context(ion-item)[slot=start],
132
+ :host-context(ion-item)[slot=end] {
133
+ width: auto;
134
+ }
135
+
136
+ :host(.ion-color) {
137
+ --highlight-color-focused: var(--ion-color-base);
138
+ }
139
+
140
+ /**
141
+ * Since the label sits on top of the element,
142
+ * the component needs to be taller otherwise the
143
+ * label will appear too close to the input text.
144
+ */
145
+ :host(.input-label-placement-floating),
146
+ :host(.input-label-placement-stacked) {
147
+ min-height: 56px;
148
+ }
149
+
150
+ .native-input {
151
+ padding-left: 0;
152
+ padding-right: 0;
153
+ padding-top: 0;
154
+ padding-bottom: 0;
155
+ color: inherit;
156
+ font-family: inherit;
157
+ font-size: inherit;
158
+ font-style: inherit;
159
+ font-weight: inherit;
160
+ letter-spacing: inherit;
161
+ text-align: inherit;
162
+ text-decoration: inherit;
163
+ text-indent: inherit;
164
+ text-overflow: inherit;
165
+ text-transform: inherit;
166
+ white-space: inherit;
167
+ display: inline-block;
168
+ position: relative;
169
+ flex: 1;
170
+ width: 100%;
171
+ max-width: 100%;
172
+ max-height: 100%;
173
+ border: 0;
174
+ outline: none;
175
+ background: transparent;
176
+ box-sizing: border-box;
177
+ appearance: none;
178
+ /**
179
+ * This ensures the input
180
+ * remains on top of any decoration
181
+ * that we render (particularly the
182
+ * outline border when fill="outline").
183
+ * If we did not do this then Axe would
184
+ * be unable to determine the color
185
+ * contrast of the input.
186
+ */
187
+ z-index: 1;
188
+ }
189
+ .native-input::placeholder {
190
+ color: var(--placeholder-color);
191
+ font-family: inherit;
192
+ font-style: var(--placeholder-font-style);
193
+ font-weight: var(--placeholder-font-weight);
194
+ opacity: var(--placeholder-opacity);
195
+ }
196
+ .native-input:-webkit-autofill {
197
+ background-color: transparent;
198
+ }
199
+ .native-input:invalid {
200
+ box-shadow: none;
201
+ }
202
+ .native-input::-ms-clear {
203
+ display: none;
204
+ }
205
+
206
+ .cloned-input {
207
+ top: 0;
208
+ bottom: 0;
209
+ position: absolute;
210
+ pointer-events: none;
211
+ }
212
+ .cloned-input {
213
+ inset-inline-start: 0;
214
+ }
215
+
216
+ /**
217
+ * The cloned input needs to be disabled on
218
+ * Android otherwise the viewport will still
219
+ * shift when running scroll assist.
220
+ */
221
+ .cloned-input:disabled {
222
+ opacity: 1;
223
+ }
224
+
225
+ .input-clear-icon {
226
+ -webkit-margin-start: auto;
227
+ margin-inline-start: auto;
228
+ -webkit-margin-end: auto;
229
+ margin-inline-end: auto;
230
+ margin-top: auto;
231
+ margin-bottom: auto;
232
+ padding-left: 0;
233
+ padding-right: 0;
234
+ padding-top: 0;
235
+ padding-bottom: 0;
236
+ background-position: center;
237
+ display: flex;
238
+ align-items: center;
239
+ justify-content: center;
240
+ width: 30px;
241
+ height: 30px;
242
+ border: 0;
243
+ outline: none;
244
+ background-color: transparent;
245
+ background-repeat: no-repeat;
246
+ color: var(--ion-color-step-600, var(--ion-text-color-step-400, #666666));
247
+ visibility: hidden;
248
+ appearance: none;
249
+ }
250
+
251
+ :host(.in-item-color) .input-clear-icon {
252
+ color: inherit;
253
+ }
254
+
255
+ /**
256
+ * Normally, we would not want to use :focus
257
+ * here because that would mean tapping the button
258
+ * on mobile would focus it (and keep it focused).
259
+ * However, the clear button always disappears after
260
+ * being activated, so we never get to that state.
261
+ */
262
+ .input-clear-icon:focus {
263
+ opacity: 0.5;
264
+ }
265
+
266
+ :host(.has-value) .input-clear-icon {
267
+ visibility: visible;
268
+ }
269
+
270
+ .input-wrapper {
271
+ -webkit-padding-start: var(--padding-start);
272
+ padding-inline-start: var(--padding-start);
273
+ -webkit-padding-end: var(--padding-end);
274
+ padding-inline-end: var(--padding-end);
275
+ padding-top: var(--padding-top);
276
+ padding-bottom: var(--padding-bottom);
277
+ border-radius: var(--border-radius);
278
+ display: flex;
279
+ position: relative;
280
+ flex-grow: 1;
281
+ align-items: stretch;
282
+ height: inherit;
283
+ min-height: inherit;
284
+ transition: background-color 15ms linear;
285
+ background: var(--background);
286
+ line-height: normal;
287
+ }
288
+
289
+ .native-wrapper {
290
+ display: flex;
291
+ position: relative;
292
+ flex-grow: 1;
293
+ align-items: center;
294
+ width: 100%;
295
+ }
296
+
297
+ :host(.ion-touched.ion-invalid) {
298
+ --highlight-color: var(--highlight-color-invalid);
299
+ }
300
+
301
+ /**
302
+ * The component highlight is only shown
303
+ * on focus, so we can safely set the valid
304
+ * color state when valid. If we
305
+ * set it when .has-focus is present then
306
+ * the highlight color would change
307
+ * from the valid color to the component's
308
+ * color during the transition after the
309
+ * component loses focus.
310
+ */
311
+ :host(.ion-valid) {
312
+ --highlight-color: var(--highlight-color-valid);
313
+ }
314
+
315
+ .input-bottom {
316
+ /**
317
+ * The bottom content should take on the start and end
318
+ * padding so it is always aligned with either the label
319
+ * or the start of the text input.
320
+ */
321
+ -webkit-padding-start: var(--padding-start);
322
+ padding-inline-start: var(--padding-start);
323
+ -webkit-padding-end: var(--padding-end);
324
+ padding-inline-end: var(--padding-end);
325
+ padding-top: 5px;
326
+ padding-bottom: 0;
327
+ display: flex;
328
+ justify-content: space-between;
329
+ border-top: var(--border-width) var(--border-style) var(--border-color);
330
+ font-size: 0.75rem;
331
+ }
332
+
333
+ /**
334
+ * If the input has a validity state, the
335
+ * border and label should reflect that as a color.
336
+ * The invalid state should show if the input is
337
+ * invalid and has already been touched.
338
+ * The valid state should show if the input
339
+ * is valid, has already been touched, and
340
+ * is currently focused. Do not show the valid
341
+ * highlight when the input is blurred.
342
+ */
343
+ :host(.has-focus.ion-valid),
344
+ :host(.ion-touched.ion-invalid) {
345
+ --border-color: var(--highlight-color);
346
+ }
347
+
348
+ /**
349
+ * Error text should only be shown when .ion-invalid is
350
+ * present on the input. Otherwise the helper text should
351
+ * be shown.
352
+ */
353
+ .input-bottom .error-text {
354
+ display: none;
355
+ color: var(--highlight-color-invalid);
356
+ }
357
+
358
+ .input-bottom .helper-text {
359
+ display: block;
360
+ color: var(--ion-color-step-550, var(--ion-text-color-step-450, #737373));
361
+ }
362
+
363
+ :host(.ion-touched.ion-invalid) .input-bottom .error-text {
364
+ display: block;
365
+ }
366
+
367
+ :host(.ion-touched.ion-invalid) .input-bottom .helper-text {
368
+ display: none;
369
+ }
370
+
371
+ .input-bottom .counter {
372
+ /**
373
+ * Counter should always be at
374
+ * the end of the container even
375
+ * when no helper/error texts are used.
376
+ */
377
+ -webkit-margin-start: auto;
378
+ margin-inline-start: auto;
379
+ color: var(--ion-color-step-550, var(--ion-text-color-step-450, #737373));
380
+ white-space: nowrap;
381
+ padding-inline-start: 16px;
382
+ }
383
+
384
+ :host(.has-focus) input {
385
+ caret-color: var(--highlight-color);
386
+ }
387
+
388
+ .label-text-wrapper {
389
+ /**
390
+ * This causes the label to take up
391
+ * the entire height of its container
392
+ * while still keeping the text centered.
393
+ */
394
+ display: flex;
395
+ align-items: center;
396
+ /**
397
+ * Label text should not extend
398
+ * beyond the bounds of the input.
399
+ * However, we do not set the max
400
+ * width to 100% because then
401
+ * only the label would show and users
402
+ * would not be able to see what they are typing.
403
+ */
404
+ max-width: 200px;
405
+ transition: color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
406
+ /**
407
+ * This ensures that double tapping this text
408
+ * clicks the <label> and focuses the input
409
+ * when a screen reader is enabled.
410
+ */
411
+ pointer-events: none;
412
+ }
413
+
414
+ /**
415
+ * We need to use two elements instead of
416
+ * one. The .label-text-wrapper is responsible
417
+ * for centering the label text vertically regardless
418
+ * of the input height using flexbox.
419
+ *
420
+ * The .label-text element is responsible for controlling
421
+ * overflow when label-placement="fixed".
422
+ * We want the ellipses to show up when the
423
+ * fixed label overflows, but text-overflow: ellipsis only
424
+ * works on block-level elements. A flex item is
425
+ * considered blockified (https://www.w3.org/TR/css-display-3/#blockify).
426
+ */
427
+ .label-text,
428
+ ::slotted([slot=label]) {
429
+ text-overflow: ellipsis;
430
+ white-space: nowrap;
431
+ overflow: hidden;
432
+ }
433
+
434
+ /**
435
+ * If no label text is placed into the slot
436
+ * then the element should be hidden otherwise
437
+ * there will be additional margins added.
438
+ */
439
+ .label-text-wrapper-hidden,
440
+ .input-outline-notch-hidden {
441
+ display: none;
442
+ }
443
+
444
+ .input-wrapper input {
445
+ /**
446
+ * When the floating label appears on top of the
447
+ * input, we need to fade the input out so that the
448
+ * label does not overlap with the placeholder.
449
+ */
450
+ transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);
451
+ }
452
+
453
+ /**
454
+ * Label is on the left of the input in LTR and
455
+ * on the right in RTL.
456
+ */
457
+ :host(.input-label-placement-start) .input-wrapper {
458
+ flex-direction: row;
459
+ }
460
+
461
+ :host(.input-label-placement-start) .label-text-wrapper {
462
+ /**
463
+ * The margin between the label and
464
+ * the input should be on the end
465
+ * when the label sits at the start.
466
+ */
467
+ -webkit-margin-start: 0;
468
+ margin-inline-start: 0;
469
+ -webkit-margin-end: 16px;
470
+ margin-inline-end: 16px;
471
+ margin-top: 0;
472
+ margin-bottom: 0;
473
+ }
474
+
475
+ /**
476
+ * Label is on the right of the input in LTR and
477
+ * on the left in RTL.
478
+ */
479
+ :host(.input-label-placement-end) .input-wrapper {
480
+ flex-direction: row-reverse;
481
+ }
482
+
483
+ /**
484
+ * The margin between the label and
485
+ * the input should be on the start
486
+ * when the label sits at the end.
487
+ */
488
+ :host(.input-label-placement-end) .label-text-wrapper {
489
+ -webkit-margin-start: 16px;
490
+ margin-inline-start: 16px;
491
+ -webkit-margin-end: 0;
492
+ margin-inline-end: 0;
493
+ margin-top: 0;
494
+ margin-bottom: 0;
495
+ }
496
+
497
+ :host(.input-label-placement-fixed) .label-text-wrapper {
498
+ /**
499
+ * The margin between the label and
500
+ * the input should be on the end
501
+ * when the label sits at the start.
502
+ */
503
+ -webkit-margin-start: 0;
504
+ margin-inline-start: 0;
505
+ -webkit-margin-end: 16px;
506
+ margin-inline-end: 16px;
507
+ margin-top: 0;
508
+ margin-bottom: 0;
509
+ }
510
+
511
+ /**
512
+ * Label is on the left of the input in LTR and
513
+ * on the right in RTL. Label also has a fixed width.
514
+ */
515
+ :host(.input-label-placement-fixed) .label-text {
516
+ flex: 0 0 100px;
517
+ width: 100px;
518
+ min-width: 100px;
519
+ max-width: 200px;
520
+ }
521
+
522
+ /**
523
+ * Stacked: Label sits above the input and is scaled down.
524
+ * Floating: Label sits over the input when the input has no
525
+ * value and is blurred. Label sits above the input and is scaled
526
+ * down when the input is focused or has a value.
527
+ *
528
+ */
529
+ :host(.input-label-placement-stacked) .input-wrapper,
530
+ :host(.input-label-placement-floating) .input-wrapper {
531
+ flex-direction: column;
532
+ align-items: start;
533
+ }
534
+
535
+ /**
536
+ * Ensures that the label animates
537
+ * up and to the left in LTR or
538
+ * up and to the right in RTL.
539
+ */
540
+ :host(.input-label-placement-stacked) .label-text-wrapper,
541
+ :host(.input-label-placement-floating) .label-text-wrapper {
542
+ transform-origin: left top;
543
+ max-width: 100%;
544
+ /**
545
+ * The 2 ensures the label
546
+ * remains on top of any browser
547
+ * autofill background too.
548
+ */
549
+ z-index: 2;
550
+ }
551
+ :host-context([dir=rtl]):host(.input-label-placement-stacked) .label-text-wrapper, :host-context([dir=rtl]).input-label-placement-stacked .label-text-wrapper, :host-context([dir=rtl]):host(.input-label-placement-floating) .label-text-wrapper, :host-context([dir=rtl]).input-label-placement-floating .label-text-wrapper {
552
+ transform-origin: right top;
553
+ }
554
+
555
+ @supports selector(:dir(rtl)) {
556
+ :host(.input-label-placement-stacked:dir(rtl)) .label-text-wrapper, :host(.input-label-placement-floating:dir(rtl)) .label-text-wrapper {
557
+ transform-origin: right top;
558
+ }
559
+ }
560
+
561
+ /**
562
+ * Ensures the input does not
563
+ * overlap the label.
564
+ */
565
+ :host(.input-label-placement-stacked) input,
566
+ :host(.input-label-placement-floating) input {
567
+ margin-left: 0;
568
+ margin-right: 0;
569
+ margin-top: 1px;
570
+ margin-bottom: 0;
571
+ }
572
+
573
+ /**
574
+ * This makes the label sit over the input
575
+ * when the input is blurred and has no value.
576
+ */
577
+ :host(.input-label-placement-floating) .label-text-wrapper {
578
+ transform: translateY(100%) scale(1);
579
+ }
580
+
581
+ /**
582
+ * The input should be hidden when the label
583
+ * is on top of the input. This prevents the label
584
+ * from overlapping any placeholder value.
585
+ */
586
+ :host(.input-label-placement-floating) input {
587
+ opacity: 0;
588
+ }
589
+
590
+ :host(.has-focus.input-label-placement-floating) input,
591
+ :host(.has-value.input-label-placement-floating) input {
592
+ opacity: 1;
593
+ }
594
+
595
+ /**
596
+ * This makes the label sit above the input.
597
+ */
598
+ :host(.label-floating) .label-text-wrapper {
599
+ transform: translateY(50%) scale(0.75);
600
+ /**
601
+ * Label text should not extend
602
+ * beyond the bounds of the input.
603
+ */
604
+ max-width: calc(100% / 0.75);
605
+ }
606
+
607
+ ::slotted([slot=start]:last-of-type) {
608
+ margin-inline-end: 16px;
609
+ margin-inline-start: 0;
610
+ }
611
+
612
+ ::slotted([slot=end]:first-of-type) {
613
+ margin-inline-start: 16px;
614
+ margin-inline-end: 0;
615
+ }
616
+
617
+ /**
618
+ * The input password toggle component should be hidden when the input is readonly/disabled
619
+ * because it is not possible to edit a password.
620
+ */
621
+ :host([disabled]) ::slotted(ion-input-password-toggle),
622
+ :host([readonly]) ::slotted(ion-input-password-toggle) {
623
+ display: none;
624
+ }
625
+
626
+ /**
627
+ * Convert a pixels given value into rem
628
+ *
629
+ * @param pixels - Value in pixels to be converted (i.e. px)
630
+ * @param context (optional) - Baseline value
631
+ */
632
+ /**
633
+ * Convert a font size to a dynamic font size.
634
+ * Fonts that participate in Dynamic Type should use
635
+ * dynamic font sizes.
636
+ * @param size - The initial font size including the unit (i.e. px or pt)
637
+ * @param unit (optional) - The unit to convert to. Use this if you want to
638
+ * convert to a unit other than $baselineUnit.
639
+ */
640
+ /**
641
+ * Convert a font size to a dynamic font size but impose
642
+ * a maximum font size.
643
+ * @param size - The initial font size including the unit (i.e. px or pt)
644
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
645
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
646
+ * convert to a unit other than $baselineUnit.
647
+ */
648
+ /**
649
+ * Convert a font size to a dynamic font size but impose
650
+ * a minimum font size.
651
+ * @param size - The initial font size including the unit (i.e. px or pt)
652
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
653
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
654
+ * convert to a unit other than $baselineUnit.
655
+ */
656
+ /**
657
+ * Convert a font size to a dynamic font size but impose
658
+ * maximum and minimum font sizes.
659
+ * @param size - The initial font size including the unit (i.e. px or pt)
660
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
661
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
662
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
663
+ * convert to a unit other than $baselineUnit.
664
+ */
665
+ /**
666
+ * A heuristic that applies CSS to tablet
667
+ * viewports.
668
+ *
669
+ * Usage:
670
+ * @include tablet-viewport() {
671
+ * :host {
672
+ * background-color: green;
673
+ * }
674
+ * }
675
+ */
676
+ /**
677
+ * A heuristic that applies CSS to mobile
678
+ * viewports (i.e. phones, not tablets).
679
+ *
680
+ * Usage:
681
+ * @include mobile-viewport() {
682
+ * :host {
683
+ * background-color: blue;
684
+ * }
685
+ * }
686
+ */
687
+ /**
688
+ * Convert a pixels given value into rem
689
+ *
690
+ * @param pixels - Value in pixels to be converted (i.e. px)
691
+ * @param context (optional) - Baseline value
692
+ */
693
+ /**
694
+ * This is an auto-generated file, please do not change it directly.
695
+ * Ionic Design System
696
+ */
697
+ :host(.input-fill-outline) {
698
+ --border-radius: var(--ionic-border-radius-100, 4px);
699
+ --padding-start: 12px;
700
+ --padding-end: 12px;
701
+ }
702
+
703
+ :host(.input-fill-outline.input-size-large) {
704
+ --padding-start: 16px;
705
+ --padding-end: 16px;
706
+ }
707
+
708
+ :host(.input-fill-outline.input-size-xlarge) {
709
+ --padding-start: 20px;
710
+ --padding-end: 20px;
711
+ }
712
+
713
+ /**
714
+ * The bottom content should never have
715
+ * a border with the outline style.
716
+ */
717
+ :host(.input-fill-outline) .input-bottom {
718
+ border-top: none;
719
+ }
720
+
721
+ :host(.input-fill-outline.input-shape-round) .input-bottom,
722
+ :host(.input-fill-outline.input-label-placement-floating) .input-bottom {
723
+ /**
724
+ * The bottom content should take on the start and end
725
+ * padding so it is always aligned with either the label
726
+ * or the start of the text input.
727
+ */
728
+ -webkit-padding-start: var(--padding-start);
729
+ padding-inline-start: var(--padding-start);
730
+ -webkit-padding-end: var(--padding-end);
731
+ padding-inline-end: var(--padding-end);
732
+ }
733
+
734
+ :host(.input-fill-outline) .input-wrapper {
735
+ /**
736
+ * For the ionic theme, the padding needs to sit on the
737
+ * native wrapper instead, so that it sits within the
738
+ * outline container but does not always affect the
739
+ * label text.
740
+ */
741
+ padding-left: 0;
742
+ padding-right: 0;
743
+ padding-top: 0;
744
+ padding-bottom: 0;
745
+ /**
746
+ * Outline inputs do not have a bottom border.
747
+ * Instead, they have a border that wraps the
748
+ * input + label.
749
+ */
750
+ border-bottom: none;
751
+ /**
752
+ * Do not show a background on the input wrapper as
753
+ * this includes the label, instead we apply the
754
+ * background to the native wrapper.
755
+ */
756
+ background: transparent;
757
+ }
758
+
759
+ :host(.input-fill-outline.input-shape-round) .label-text-wrapper {
760
+ -webkit-padding-start: var(--padding-start);
761
+ padding-inline-start: var(--padding-start);
762
+ -webkit-padding-end: var(--padding-end);
763
+ padding-inline-end: var(--padding-end);
764
+ }
765
+
766
+ :host(.input-fill-outline.input-label-placement-stacked) .label-text-wrapper {
767
+ transform-origin: left top;
768
+ /**
769
+ * Label text should not extend
770
+ * beyond the bounds of the input.
771
+ */
772
+ max-width: calc(100% - var(--padding-start) - var(--padding-end));
773
+ }
774
+ :host-context([dir=rtl]):host(.input-fill-outline.input-label-placement-stacked) .label-text-wrapper, :host-context([dir=rtl]).input-fill-outline.input-label-placement-stacked .label-text-wrapper {
775
+ transform-origin: right top;
776
+ }
777
+
778
+ @supports selector(:dir(rtl)) {
779
+ :host(.input-fill-outline.input-label-placement-stacked:dir(rtl)) .label-text-wrapper {
780
+ transform-origin: right top;
781
+ }
782
+ }
783
+
784
+ :host(.input-fill-outline) .label-text-wrapper {
785
+ /**
786
+ * The label should appear on top of an outline
787
+ * container that overlaps it so it is always clickable.
788
+ */
789
+ position: relative;
790
+ }
791
+
792
+ :host(.input-fill-outline) .native-wrapper {
793
+ border-radius: inherit;
794
+ -webkit-padding-start: var(--padding-start);
795
+ padding-inline-start: var(--padding-start);
796
+ -webkit-padding-end: var(--padding-end);
797
+ padding-inline-end: var(--padding-end);
798
+ padding-top: var(--padding-top);
799
+ padding-bottom: var(--padding-bottom);
800
+ min-height: 40px;
801
+ /**
802
+ * Apply the background to the native input
803
+ * wrapper to only style the input.
804
+ */
805
+ background: var(--background);
806
+ }
807
+
808
+ :host(.input-fill-outline) .input-outline {
809
+ right: 0;
810
+ left: 0;
811
+ top: 0;
812
+ bottom: 0;
813
+ border-radius: var(--border-radius);
814
+ position: absolute;
815
+ width: 100%;
816
+ height: 100%;
817
+ pointer-events: none;
818
+ border: var(--border-width) var(--border-style) var(--border-color);
819
+ }
820
+
821
+ :host(.label-floating.input-fill-outline.input-label-placement-stacked) .label-text-wrapper {
822
+ margin-left: 0;
823
+ margin-right: 0;
824
+ margin-top: 0;
825
+ margin-bottom: 0;
826
+ padding-top: 4px;
827
+ padding-bottom: 4px;
828
+ }
829
+
830
+ :host(.input-fill-outline) ::slotted([slot=start]) {
831
+ margin-inline-end: 8px;
832
+ }
833
+
834
+ :host(.input-fill-outline) ::slotted([slot=end]) {
835
+ margin-inline-start: 8px;
836
+ }
837
+
838
+ :host(.input-fill-outline.input-shape-soft) {
839
+ --border-radius: var(--ionic-border-radius-200, 8px);
840
+ }
841
+
842
+ :host(.input-fill-outline.input-shape-round) {
843
+ --border-radius: var(--ionic-border-radius-full, 999px);
844
+ }
845
+
846
+ :host(.input-fill-outline.input-shape-rectangular) {
847
+ --border-radius: var(--ionic-border-radius-0, 0px);
848
+ }
849
+
850
+ :host(.input-fill-outline.has-focus) {
851
+ --border-width: var(--ionic-border-size-050, 2px);
852
+ }
853
+
854
+ :host {
855
+ --color: var(--ionic-color-neutral-1000, #3b3b3b);
856
+ --border-width: var(--ionic-border-size-025, 1px);
857
+ --border-color: var(--ionic-color-neutral-300, #cfcfcf);
858
+ --highlight-color-valid: var(--ionic-color-success-base, #1ba433);
859
+ --highlight-color-invalid: var(--ionic-color-danger-base, #e52929);
860
+ --placeholder-color: var(--ionic-color-neutral-800, #626262);
861
+ --placeholder-opacity: 1;
862
+ --text-color-invalid: var(--ionic-color-danger-800, #bf2222);
863
+ font-size: var(--ionic-font-size-350, 0.875rem);
864
+ }
865
+
866
+ :host(.input-size-medium) .native-wrapper {
867
+ min-height: 40px;
868
+ }
869
+
870
+ :host(.input-size-large) .native-wrapper {
871
+ min-height: 48px;
872
+ }
873
+
874
+ :host(.input-size-xlarge) .native-wrapper {
875
+ min-height: 56px;
876
+ }
877
+
878
+ :host .native-wrapper::after {
879
+ right: 0;
880
+ left: 0;
881
+ top: 50%;
882
+ position: absolute;
883
+ height: 100%;
884
+ min-height: 48px;
885
+ transform: translateY(-50%);
886
+ content: "";
887
+ cursor: text;
888
+ z-index: 1;
889
+ }
890
+
891
+ ::slotted([slot=start]),
892
+ ::slotted([slot=end]),
893
+ .input-clear-icon {
894
+ /**
895
+ * The target area has a z-index of 1, so the slotted elements
896
+ * should be higher. Otherwise, the slotted elements will not
897
+ * be interactable. This is especially important for the clear
898
+ * button, which should be clickable.
899
+ */
900
+ z-index: 2;
901
+ }
902
+
903
+ .input-clear-icon {
904
+ width: 16px;
905
+ height: 16px;
906
+ color: var(--ionic-color-neutral-500, #a2a2a2);
907
+ }
908
+
909
+ .input-clear-icon:focus-visible {
910
+ border-radius: var(--ionic-border-radius-100, 4px);
911
+ outline: var(--ionic-border-size-050, 2px) solid var(--ionic-state-focus-1, #9ec4fd);
912
+ opacity: 1;
913
+ }
914
+
915
+ .input-clear-icon ion-icon {
916
+ width: 100%;
917
+ height: 100%;
918
+ }
919
+
920
+ /**
921
+ * The clear button should be visible if the native input
922
+ * OR any other interactive elements in the component (the
923
+ * clear button, slotted buttons, etc.) are focused. If we
924
+ * only looked at the native input, tabbing to the clear
925
+ * button would immediately hide it.
926
+ *
927
+ * Note that the clear button also requires the native input
928
+ * to have any value, but this is not specific to the ionic
929
+ * theme, so it is handled elsewhere.
930
+ */
931
+ :host(:not(:focus-within)) .input-clear-icon {
932
+ display: none;
933
+ }
934
+
935
+ .label-text-wrapper {
936
+ color: var(--ionic-color-neutral-1000, #3b3b3b);
937
+ font-size: var(--ionic-font-size-300, 0.75rem);
938
+ font-weight: var(--ionic-font-weight-medium, 500);
939
+ line-height: var(--ionic-line-height-500, 20px);
940
+ }
941
+
942
+ :host(.label-floating) .label-text-wrapper {
943
+ transform: none;
944
+ }
945
+
946
+ .input-bottom {
947
+ padding-left: 0;
948
+ padding-right: 0;
949
+ padding-top: 7px;
950
+ padding-bottom: 7px;
951
+ font-weight: var(--ionic-font-weight-medium, 500);
952
+ }
953
+
954
+ .input-bottom .helper-text,
955
+ .input-bottom .counter {
956
+ color: var(--ionic-color-neutral-800, #626262);
957
+ }
958
+
959
+ :host(.has-focus.ion-valid) .helper-text {
960
+ color: var(--ionic-color-success-900, #126f23);
961
+ }
962
+
963
+ :host(.ion-touched.ion-invalid) .error-text {
964
+ color: var(--text-color-invalid);
965
+ }
966
+
967
+ :host(.has-focus.ion-valid),
968
+ :host(.ion-touched.ion-invalid) {
969
+ --border-width: var(--ionic-border-size-025, 1px);
970
+ }
971
+
972
+ @media (any-hover: hover) {
973
+ :host(:hover) {
974
+ --border-color: var(--ionic-color-neutral-600, #8c8c8c);
975
+ }
976
+ }
977
+ :host(.input-disabled) {
978
+ --color: var(--ionic-color-neutral-400, #b9b9b9);
979
+ --background: var(--ionic-color-neutral-100, #f1f1f1);
980
+ pointer-events: none;
981
+ }
982
+
983
+ :host(.input-disabled:not(.ion-valid)) .input-bottom .helper-text,
984
+ :host(.input-disabled) .input-bottom .counter,
985
+ :host(.input-disabled) .label-text-wrapper {
986
+ color: var(--ionic-color-neutral-400, #b9b9b9);
987
+ }
988
+
989
+ :host(.input-disabled.has-focus.ion-valid) {
990
+ --border-color: rgba(var(--ionic-color-success-base-rgb, 27, 164, 51), 0.6);
991
+ }
992
+
993
+ :host(.input-disabled.ion-touched.ion-invalid) {
994
+ --border-color: rgba(var(--ionic-color-danger-base-rgb, 229, 41, 41), 0.6);
995
+ }
996
+
997
+ :host(.input-disabled.ion-color) {
998
+ --border-color: rgba(var(--ion-color-base-rgb), 0.6);
999
+ }
1000
+
1001
+ :host(.input-disabled.has-focus.ion-valid) .input-bottom .helper-text,
1002
+ :host(.input-disabled.ion-touched.ion-invalid) .error-text,
1003
+ :host(.input-disabled.ion-color) .input-bottom .helper-text,
1004
+ :host(.input-disabled.ion-color) .helper-text {
1005
+ opacity: 0.6;
1006
+ }
1007
+
1008
+ :host(.input-readonly) {
1009
+ --background: var(--ionic-color-neutral-100, #f1f1f1);
1010
+ }
1011
+
1012
+ .input-highlight {
1013
+ bottom: -1px;
1014
+ position: absolute;
1015
+ width: 100%;
1016
+ height: var(--ionic-border-size-050, 2px);
1017
+ transform: scale(0);
1018
+ transition: transform 200ms;
1019
+ background: var(--border-color);
1020
+ }
1021
+ .input-highlight {
1022
+ inset-inline-start: 0;
1023
+ }
1024
+
1025
+ :host(.has-focus) {
1026
+ --border-color: var(--ionic-color-primary-base, #105cef);
1027
+ }
1028
+
1029
+ :host(.has-focus) .input-highlight {
1030
+ transform: scale(1);
1031
+ }