@ionic/core 8.8.19-dev.11786610762.137bbb21 → 8.8.19-dev.11786735826.1fad7c0a

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 (1240) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-accordion-group.js +1 -1
  3. package/components/ion-accordion.js +1 -1
  4. package/components/ion-action-sheet.js +1 -1
  5. package/components/ion-alert.js +1 -1
  6. package/components/ion-app.js +1 -1
  7. package/components/ion-avatar.js +1 -1
  8. package/components/ion-back-button.js +1 -1
  9. package/components/ion-backdrop.js +1 -1
  10. package/components/ion-badge.js +1 -1
  11. package/components/ion-breadcrumb.js +1 -1
  12. package/components/ion-breadcrumbs.js +1 -1
  13. package/components/ion-button.js +1 -1
  14. package/components/ion-buttons.js +1 -1
  15. package/components/ion-card-content.js +1 -1
  16. package/components/ion-card-header.js +1 -1
  17. package/components/ion-card-subtitle.js +1 -1
  18. package/components/ion-card-title.js +1 -1
  19. package/components/ion-card.js +1 -1
  20. package/components/ion-checkbox.js +1 -1
  21. package/components/ion-chip.js +1 -1
  22. package/components/ion-col.js +1 -1
  23. package/components/ion-content.js +1 -1
  24. package/components/ion-datetime-button.js +1 -1
  25. package/components/ion-datetime.js +1 -1
  26. package/components/ion-fab-button.js +1 -1
  27. package/components/ion-fab-list.js +1 -1
  28. package/components/ion-fab.js +1 -1
  29. package/components/ion-footer.js +1 -1
  30. package/components/ion-grid.js +1 -1
  31. package/components/ion-header.js +1 -1
  32. package/components/ion-icon.js +1 -1
  33. package/components/ion-img.js +1 -1
  34. package/components/ion-infinite-scroll-content.js +1 -1
  35. package/components/ion-infinite-scroll.js +1 -1
  36. package/components/ion-input-otp.js +1 -1
  37. package/components/ion-input-password-toggle.js +1 -1
  38. package/components/ion-input.js +1 -1
  39. package/components/ion-item-divider.js +1 -1
  40. package/components/ion-item-group.js +1 -1
  41. package/components/ion-item-option.js +1 -1
  42. package/components/ion-item-options.js +1 -1
  43. package/components/ion-item-sliding.js +1 -1
  44. package/components/ion-item.js +1 -1
  45. package/components/ion-label.js +1 -1
  46. package/components/ion-list-header.js +1 -1
  47. package/components/ion-list.js +1 -1
  48. package/components/ion-loading.js +1 -1
  49. package/components/ion-menu-button.js +1 -1
  50. package/components/ion-menu-toggle.js +1 -1
  51. package/components/ion-menu.js +1 -1
  52. package/components/ion-modal.js +1 -1
  53. package/components/ion-nav-link.js +1 -1
  54. package/components/ion-nav.js +1 -1
  55. package/components/ion-note.js +1 -1
  56. package/components/ion-picker-column-option.js +1 -1
  57. package/components/ion-picker-column.js +1 -1
  58. package/components/ion-picker.js +1 -1
  59. package/components/ion-popover.js +1 -1
  60. package/components/ion-progress-bar.js +1 -1
  61. package/components/ion-radio-group.js +1 -1
  62. package/components/ion-radio.js +1 -1
  63. package/components/ion-range.js +1 -1
  64. package/components/ion-refresher-content.js +1 -1
  65. package/components/ion-refresher.js +1 -1
  66. package/components/ion-reorder-group.js +1 -1
  67. package/components/ion-reorder.js +1 -1
  68. package/components/ion-ripple-effect.js +1 -1
  69. package/components/ion-route-redirect.js +1 -1
  70. package/components/ion-route.js +1 -1
  71. package/components/ion-router-link.js +1 -1
  72. package/components/ion-router-outlet.js +1 -1
  73. package/components/ion-router.js +1 -1
  74. package/components/ion-row.js +1 -1
  75. package/components/ion-searchbar.js +1 -1
  76. package/components/ion-segment-button.js +1 -1
  77. package/components/ion-segment-content.js +1 -1
  78. package/components/ion-segment-view.js +1 -1
  79. package/components/ion-segment.js +1 -1
  80. package/components/ion-select-modal.js +1 -1
  81. package/components/ion-select-option.js +1 -1
  82. package/components/ion-select-popover.js +1 -1
  83. package/components/ion-select.js +1 -1
  84. package/components/ion-skeleton-text.js +1 -1
  85. package/components/ion-spinner.js +1 -1
  86. package/components/ion-split-pane.js +1 -1
  87. package/components/ion-tab-bar.js +1 -1
  88. package/components/ion-tab-button.js +1 -1
  89. package/components/ion-tab.js +1 -1
  90. package/components/ion-tabs.js +1 -1
  91. package/components/ion-text.js +1 -1
  92. package/components/ion-textarea.js +1 -1
  93. package/components/ion-thumbnail.js +1 -1
  94. package/components/ion-title.js +1 -1
  95. package/components/ion-toast.js +1 -1
  96. package/components/ion-toggle.js +1 -1
  97. package/components/ion-toolbar.js +1 -1
  98. package/components/p--m5cCjbK.js +4 -0
  99. package/components/{p-CpHPq11n.js → p-30_sZS2V.js} +1 -1
  100. package/components/p-8FN7p701.js +4 -0
  101. package/components/p-B-FxiyeI.js +4 -0
  102. package/components/p-B4uHHhPK.js +4 -0
  103. package/components/p-BMPN55of.js +4 -0
  104. package/components/p-BMS4t-kJ.js +4 -0
  105. package/components/p-BOvLNVKq.js +4 -0
  106. package/components/p-BSQPZ79H.js +4 -0
  107. package/components/p-BWBigMsI.js +4 -0
  108. package/components/p-BZ4-QTes.js +4 -0
  109. package/components/p-BhamHSw3.js +4 -0
  110. package/components/p-BjluhQMI.js +4 -0
  111. package/components/p-BlsIikdZ.js +4 -0
  112. package/components/p-Blug1Vxu.js +4 -0
  113. package/components/p-BmVRXR1y.js +4 -0
  114. package/components/p-BpG8kBfD.js +4 -0
  115. package/components/p-BqPNzJf6.js +4 -0
  116. package/components/p-C5KYjZWD.js +4 -0
  117. package/components/p-C91npEel.js +4 -0
  118. package/components/p-C9BGR5fy.js +4 -0
  119. package/components/p-CD4fmpem.js +4 -0
  120. package/components/p-CEW4RXZO.js +4 -0
  121. package/components/p-CIGNaXM1.js +4 -0
  122. package/components/p-CKhiNOEg.js +4 -0
  123. package/components/p-CO2zzh3W.js +4 -0
  124. package/components/p-CVb3x_r3.js +4 -0
  125. package/components/p-CWLrHG8Y.js +4 -0
  126. package/components/p-CbhUdtjf.js +4 -0
  127. package/components/p-CejmQs3h.js +4 -0
  128. package/components/p-CfnNZz_d.js +4 -0
  129. package/components/p-CmKf4pgI.js +4 -0
  130. package/components/p-Cs5f-uOS.js +4 -0
  131. package/components/p-D7-vHX0A.js +4 -0
  132. package/components/p-DJztqcrH.js +4 -0
  133. package/components/p-DKrhJJV0.js +4 -0
  134. package/components/p-DRfgH82D.js +4 -0
  135. package/components/p-DSzSbVP2.js +4 -0
  136. package/components/p-DV85C0e0.js +4 -0
  137. package/components/p-DVKS-ovH.js +4 -0
  138. package/components/p-DWCzVL3Y.js +4 -0
  139. package/components/p-Dd8ajo9a.js +4 -0
  140. package/components/p-DdnhY_oj.js +4 -0
  141. package/components/p-DgZOZQjJ.js +4 -0
  142. package/components/p-Dmd2xqCe.js +4 -0
  143. package/components/{p-B2SvA6NE.js → p-DwpKZ6rl.js} +1 -1
  144. package/components/p-G0TxqHfe.js +4 -0
  145. package/components/p-GG5GhznE.js +4 -0
  146. package/components/{p-Ch8jco3x.js → p-J-p0EtHR.js} +1 -1
  147. package/components/p-LXu5-6Ti.js +4 -0
  148. package/components/p-LpMHEu3v.js +4 -0
  149. package/components/p-TXPDHL13.js +4 -0
  150. package/components/p-UQSiXX2Z.js +4 -0
  151. package/components/p-UuPYCOZE.js +4 -0
  152. package/components/p-WeeS7GvC.js +4 -0
  153. package/components/p-ZjP4CjeZ.js +4 -0
  154. package/components/{p-CzlL9T_X.js → p-_0JhwClE.js} +1 -1
  155. package/components/p-_IKFD3ID.js +4 -0
  156. package/components/p-byZM6qHV.js +4 -0
  157. package/components/p-hh7qIC-X.js +4 -0
  158. package/components/p-idq4JFo2.js +4 -0
  159. package/components/p-qT1szVjw.js +4 -0
  160. package/components/{p-BZwQa9ey.js → p-ryyf_ItD.js} +1 -1
  161. package/components/p-wzAhIh03.js +4 -0
  162. package/components/p-ypuYdSDB.js +4 -0
  163. package/components/{p-Dovs7FIs.js → p-yuj4Nkm_.js} +1 -1
  164. package/css/core.css +1 -1
  165. package/css/core.css.map +1 -1
  166. package/css/display.css +1 -1
  167. package/css/display.css.map +1 -1
  168. package/css/flex-utils.css +1 -1
  169. package/css/flex-utils.css.map +1 -1
  170. package/css/float-elements.css.map +1 -1
  171. package/css/global.bundle.css.map +1 -1
  172. package/css/ionic-swiper.css +1 -1
  173. package/css/ionic-swiper.css.map +1 -1
  174. package/css/ionic.bundle.css +1 -1
  175. package/css/ionic.bundle.css.map +1 -1
  176. package/css/normalize.css.map +1 -1
  177. package/css/padding.css.map +1 -1
  178. package/css/palettes/dark.always.css.map +1 -1
  179. package/css/palettes/dark.class.css.map +1 -1
  180. package/css/palettes/dark.system.css.map +1 -1
  181. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  182. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  183. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  184. package/css/palettes/high-contrast.always.css.map +1 -1
  185. package/css/palettes/high-contrast.class.css.map +1 -1
  186. package/css/palettes/high-contrast.system.css.map +1 -1
  187. package/css/structure.css.map +1 -1
  188. package/css/text-alignment.css.map +1 -1
  189. package/css/text-transformation.css.map +1 -1
  190. package/css/typography.css.map +1 -1
  191. package/css/utils.bundle.css +1 -1
  192. package/css/utils.bundle.css.map +1 -1
  193. package/dist/cjs/{animation-qlGmEn5Y.js → animation-C0mOHzej.js} +6 -6
  194. package/dist/cjs/{app-globals-CtK-3pCu.js → app-globals-BREG4twP.js} +1 -1
  195. package/dist/cjs/{button-active-CugpWmFI.js → button-active-BKj1rdFx.js} +3 -3
  196. package/dist/cjs/{capacitor-BixsAzyb.js → capacitor-DmA66EwP.js} +3 -3
  197. package/dist/cjs/{config-DWdFbSNK.js → config-CjUbvdPW.js} +5 -4
  198. package/dist/cjs/{dir-Cn0z1rJH.js → dir-Brx7VkvP.js} +1 -1
  199. package/dist/{esm/focus-visible-vXpMhGrs.js → cjs/focus-visible-CCvKiLh3.js} +3 -23
  200. package/dist/cjs/{format-COAsdjOc.js → format-pp0Du3K-.js} +40 -30
  201. package/dist/cjs/{framework-delegate-CJT_QJQI.js → framework-delegate-NTLQ5YzV.js} +6 -10
  202. package/dist/cjs/{gesture-controller-dtqlP_q4.js → gesture-controller-BDUH7687.js} +15 -8
  203. package/dist/cjs/{haptic-BFgF-QCg.js → haptic-Ch-X4gRx.js} +3 -4
  204. package/dist/cjs/hardware-back-button-fqpYh-kd.js +121 -0
  205. package/dist/cjs/{helpers-Fh1iXsX9.js → helpers-CaLhEmTE.js} +6 -73
  206. package/dist/cjs/{index-YYUVCfP-.js → index-B7zJsYWS.js} +3 -3
  207. package/dist/cjs/{index-CNicxECl.js → index-BlshL9ib.js} +8 -9
  208. package/dist/cjs/{index-D94mERjz.js → index-Ck9advCT.js} +5 -5
  209. package/dist/cjs/{index-CM8iGvyx.js → index-D2X6b92x.js} +15 -16
  210. package/dist/cjs/{index-DRFkZu3V.js → index-D48vawBq.js} +2 -2
  211. package/dist/cjs/index-DkNv4J_i.js +10 -0
  212. package/dist/cjs/{index-CAvQ7Tka.js → index-P1nQxrpZ.js} +10 -4
  213. package/dist/cjs/{index-C1knGA9x.js → index-uvry__L4.js} +33 -65
  214. package/dist/cjs/{index-CxDnX7hd.js → index-wOmugbdg.js} +0 -2
  215. package/dist/cjs/index.cjs.js +17 -17
  216. package/dist/cjs/{input-shims-C8NCYfWv.js → input-shims-DvHAFqiP.js} +19 -22
  217. package/dist/cjs/input.utils-BZdMWVrt.js +35 -0
  218. package/dist/cjs/ion-accordion_2.cjs.entry.js +378 -382
  219. package/dist/cjs/ion-action-sheet.cjs.entry.js +178 -86
  220. package/dist/cjs/ion-alert.cjs.entry.js +250 -125
  221. package/dist/cjs/ion-app_8.cjs.entry.js +461 -608
  222. package/dist/cjs/ion-avatar_3.cjs.entry.js +19 -125
  223. package/dist/cjs/ion-back-button.cjs.entry.js +64 -49
  224. package/dist/cjs/ion-backdrop.cjs.entry.js +23 -22
  225. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +211 -169
  226. package/dist/cjs/ion-button_2.cjs.entry.js +152 -117
  227. package/dist/cjs/ion-card_5.cjs.entry.js +109 -79
  228. package/dist/cjs/ion-checkbox.cjs.entry.js +163 -129
  229. package/dist/cjs/ion-chip.cjs.entry.js +21 -56
  230. package/dist/cjs/ion-col_3.cjs.entry.js +186 -61
  231. package/dist/cjs/ion-datetime-button.cjs.entry.js +255 -247
  232. package/dist/cjs/ion-datetime.cjs.entry.js +2770 -0
  233. package/dist/cjs/ion-fab_3.cjs.entry.js +154 -112
  234. package/dist/cjs/ion-img.cjs.entry.js +34 -16
  235. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +108 -156
  236. package/dist/cjs/ion-input-otp.cjs.entry.js +435 -437
  237. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +40 -64
  238. package/dist/cjs/ion-input.cjs.entry.js +351 -311
  239. package/dist/cjs/ion-item-option_3.cjs.entry.js +136 -511
  240. package/dist/cjs/ion-item_8.cjs.entry.js +217 -189
  241. package/dist/cjs/ion-loading.cjs.entry.js +151 -68
  242. package/dist/cjs/ion-menu_3.cjs.entry.js +181 -137
  243. package/dist/cjs/ion-modal.cjs.entry.js +570 -500
  244. package/dist/cjs/ion-nav_2.cjs.entry.js +103 -163
  245. package/dist/cjs/ion-picker-column-option.cjs.entry.js +39 -39
  246. package/dist/cjs/ion-picker-column.cjs.entry.js +421 -409
  247. package/dist/cjs/ion-picker.cjs.entry.js +405 -400
  248. package/dist/cjs/ion-popover.cjs.entry.js +323 -211
  249. package/dist/cjs/ion-progress-bar.cjs.entry.js +35 -47
  250. package/dist/cjs/ion-radio_2.cjs.entry.js +216 -161
  251. package/dist/cjs/ion-range.cjs.entry.js +307 -249
  252. package/dist/cjs/ion-refresher_2.cjs.entry.js +174 -121
  253. package/dist/cjs/ion-reorder_2.cjs.entry.js +59 -53
  254. package/dist/cjs/ion-ripple-effect.cjs.entry.js +18 -26
  255. package/dist/cjs/ion-route_4.cjs.entry.js +178 -75
  256. package/dist/cjs/ion-searchbar.cjs.entry.js +308 -331
  257. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  258. package/dist/cjs/ion-segment-view.cjs.entry.js +28 -27
  259. package/dist/cjs/ion-segment_2.cjs.entry.js +177 -141
  260. package/dist/cjs/ion-select-modal.cjs.entry.js +49 -69
  261. package/dist/cjs/ion-select_3.cjs.entry.js +507 -429
  262. package/dist/cjs/ion-spinner.cjs.entry.js +28 -36
  263. package/dist/cjs/ion-split-pane.cjs.entry.js +34 -25
  264. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +116 -179
  265. package/dist/cjs/ion-tab_2.cjs.entry.js +54 -29
  266. package/dist/cjs/ion-text.cjs.entry.js +13 -7
  267. package/dist/cjs/ion-textarea.cjs.entry.js +303 -309
  268. package/dist/cjs/ion-toast.cjs.entry.js +264 -169
  269. package/dist/cjs/ion-toggle.cjs.entry.js +184 -187
  270. package/dist/cjs/ionic-global-k6hOWWpn.js +156 -0
  271. package/dist/cjs/ionic.cjs.js +4 -4
  272. package/dist/cjs/{ios.transition-BgDCUY4Y.js → ios.transition-KvuRAe2W.js} +14 -20
  273. package/dist/cjs/{item-multiple-inputs-DKn76MYO.js → item-multiple-inputs-BdYSbfKN.js} +1 -1
  274. package/dist/cjs/{keyboard-nne7rvBK.js → keyboard-Cix5TVkD.js} +4 -5
  275. package/dist/cjs/{keyboard-BbZXOwZg.js → keyboard-cHxZlTyz.js} +3 -3
  276. package/dist/cjs/keyboard-controller-PtZoN2GS.js +167 -0
  277. package/dist/cjs/loader.cjs.js +4 -4
  278. package/dist/cjs/{md.transition-Debf4tYr.js → md.transition-Bjl5Ozph.js} +8 -10
  279. package/dist/cjs/{overlay-control-label-DnRLQR1t.js → overlay-control-label-D2sdL2O8.js} +11 -13
  280. package/dist/cjs/{overlays-DYBUkNQu.js → overlays-IlP4H2Gn.js} +60 -336
  281. package/dist/cjs/{select-option-render-BqJEK1N1.js → select-option-render-pULCGldr.js} +3 -4
  282. package/dist/cjs/slot-mutation-controller-CgTGFqlW.js +397 -0
  283. package/dist/cjs/{status-tap-hwqc0yb_.js → status-tap-BR_ujYHg.js} +3 -4
  284. package/dist/cjs/{swipe-back-DqQx5QCp.js → swipe-back-DzQKEl5g.js} +5 -6
  285. package/dist/cjs/{theme-IlOsGAz7.js → theme-Bw0rpaNN.js} +7 -26
  286. package/dist/cjs/validity-BpS37YFM.js +19 -0
  287. package/dist/collection/collection-manifest.json +1 -13
  288. package/dist/collection/components/accordion/accordion.ios.css +58 -73
  289. package/dist/collection/components/accordion/accordion.js +327 -338
  290. package/dist/collection/components/accordion/accordion.md.css +59 -67
  291. package/dist/collection/components/accordion-group/accordion-group.ios.css +4 -16
  292. package/dist/collection/components/accordion-group/accordion-group.js +56 -69
  293. package/dist/collection/components/accordion-group/accordion-group.md.css +4 -22
  294. package/dist/collection/components/action-sheet/action-sheet.ios.css +54 -184
  295. package/dist/collection/components/action-sheet/action-sheet.js +166 -76
  296. package/dist/collection/components/action-sheet/action-sheet.md.css +55 -179
  297. package/dist/collection/components/action-sheet/test/basic/fixture.js +3 -0
  298. package/dist/collection/components/alert/alert.ios.css +54 -247
  299. package/dist/collection/components/alert/alert.js +236 -113
  300. package/dist/collection/components/alert/alert.md.css +56 -243
  301. package/dist/collection/components/app/app.js +86 -15
  302. package/dist/collection/components/avatar/avatar.ios.css +33 -7
  303. package/dist/collection/components/avatar/avatar.js +4 -120
  304. package/dist/collection/components/avatar/avatar.md.css +0 -51
  305. package/dist/collection/components/back-button/back-button.ios.css +48 -60
  306. package/dist/collection/components/back-button/back-button.js +61 -46
  307. package/dist/collection/components/back-button/back-button.md.css +48 -60
  308. package/dist/collection/components/backdrop/backdrop.ios.css +19 -56
  309. package/dist/collection/components/backdrop/backdrop.js +22 -26
  310. package/dist/collection/components/backdrop/backdrop.md.css +19 -56
  311. package/dist/collection/components/badge/badge.ios.css +12 -137
  312. package/dist/collection/components/badge/badge.js +15 -145
  313. package/dist/collection/components/badge/badge.md.css +12 -122
  314. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +8 -20
  315. package/dist/collection/components/breadcrumb/breadcrumb.js +101 -72
  316. package/dist/collection/components/breadcrumb/breadcrumb.md.css +8 -20
  317. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +0 -6
  318. package/dist/collection/components/breadcrumbs/breadcrumbs.js +112 -99
  319. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +0 -6
  320. package/dist/collection/components/button/button.ios.css +46 -154
  321. package/dist/collection/components/button/button.js +157 -122
  322. package/dist/collection/components/button/button.md.css +50 -150
  323. package/dist/collection/components/buttons/buttons.ios.css +7 -59
  324. package/dist/collection/components/buttons/buttons.js +21 -29
  325. package/dist/collection/components/buttons/buttons.md.css +3 -55
  326. package/dist/collection/components/card/card.ios.css +14 -65
  327. package/dist/collection/components/card/card.js +63 -61
  328. package/dist/collection/components/card/card.md.css +14 -65
  329. package/dist/collection/components/card-content/card-content.ios.css +35 -20
  330. package/dist/collection/components/card-content/card-content.js +10 -12
  331. package/dist/collection/components/card-content/card-content.md.css +35 -20
  332. package/dist/collection/components/card-header/card-header.ios.css +15 -27
  333. package/dist/collection/components/card-header/card-header.js +21 -20
  334. package/dist/collection/components/card-header/card-header.md.css +15 -27
  335. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +0 -12
  336. package/dist/collection/components/card-subtitle/card-subtitle.js +14 -11
  337. package/dist/collection/components/card-subtitle/card-subtitle.md.css +0 -12
  338. package/dist/collection/components/card-title/card-title.ios.css +0 -73
  339. package/dist/collection/components/card-title/card-title.js +14 -11
  340. package/dist/collection/components/card-title/card-title.md.css +0 -73
  341. package/dist/collection/components/checkbox/checkbox.ios.css +117 -242
  342. package/dist/collection/components/checkbox/checkbox.js +160 -165
  343. package/dist/collection/components/checkbox/checkbox.md.css +118 -243
  344. package/dist/collection/components/chip/chip.ios.css +14 -67
  345. package/dist/collection/components/chip/chip.js +20 -116
  346. package/dist/collection/components/chip/chip.md.css +14 -67
  347. package/dist/collection/components/col/col.css +4 -192
  348. package/dist/collection/components/col/col.js +186 -212
  349. package/dist/collection/components/content/content.css +2 -47
  350. package/dist/collection/components/content/content.js +102 -78
  351. package/dist/collection/components/datetime/datetime.ios.css +148 -304
  352. package/dist/collection/components/datetime/datetime.js +1068 -910
  353. package/dist/collection/components/datetime/datetime.md.css +138 -294
  354. package/dist/collection/components/datetime/utils/data.js +18 -19
  355. package/dist/collection/components/datetime/utils/format.js +21 -11
  356. package/dist/collection/components/datetime/utils/manipulation.js +8 -8
  357. package/dist/collection/components/datetime/utils/parse.js +10 -10
  358. package/dist/collection/components/datetime/utils/state.js +8 -2
  359. package/dist/collection/components/datetime/utils/validate.js +4 -5
  360. package/dist/collection/components/datetime-button/datetime-button.ios.css +5 -6
  361. package/dist/collection/components/datetime-button/datetime-button.js +253 -246
  362. package/dist/collection/components/datetime-button/datetime-button.md.css +5 -6
  363. package/dist/collection/components/fab/fab.css +1 -25
  364. package/dist/collection/components/fab/fab.js +25 -22
  365. package/dist/collection/components/fab-button/fab-button.ios.css +6 -18
  366. package/dist/collection/components/fab-button/fab-button.js +117 -83
  367. package/dist/collection/components/fab-button/fab-button.md.css +8 -20
  368. package/dist/collection/components/fab-list/fab-list.css +0 -12
  369. package/dist/collection/components/fab-list/fab-list.js +15 -20
  370. package/dist/collection/components/footer/footer.ios.css +6 -33
  371. package/dist/collection/components/footer/footer.js +65 -151
  372. package/dist/collection/components/footer/footer.md.css +0 -40
  373. package/dist/collection/components/grid/grid.css +0 -12
  374. package/dist/collection/components/grid/grid.js +9 -15
  375. package/dist/collection/components/header/header.ios.css +133 -178
  376. package/dist/collection/components/header/header.js +70 -202
  377. package/dist/collection/components/header/header.md.css +9 -199
  378. package/dist/collection/components/header/header.utils.js +13 -6
  379. package/dist/collection/components/img/img.js +34 -16
  380. package/dist/collection/components/infinite-scroll/infinite-scroll.js +76 -164
  381. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +0 -12
  382. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +30 -19
  383. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +0 -12
  384. package/dist/collection/components/input/input.ios.css +191 -247
  385. package/dist/collection/components/input/input.js +357 -340
  386. package/dist/collection/components/input/input.md.css +285 -234
  387. package/dist/collection/components/input-otp/input-otp.ios.css +60 -105
  388. package/dist/collection/components/input-otp/input-otp.js +432 -437
  389. package/dist/collection/components/input-otp/input-otp.md.css +60 -105
  390. package/dist/collection/components/input-password-toggle/input-password-toggle.js +37 -60
  391. package/dist/collection/components/item/item.ios.css +80 -120
  392. package/dist/collection/components/item/item.js +113 -102
  393. package/dist/collection/components/item/item.md.css +79 -131
  394. package/dist/collection/components/item-divider/item-divider.ios.css +0 -18
  395. package/dist/collection/components/item-divider/item-divider.js +23 -21
  396. package/dist/collection/components/item-divider/item-divider.md.css +0 -18
  397. package/dist/collection/components/item-group/item-group.ios.css +0 -12
  398. package/dist/collection/components/item-group/item-group.js +7 -13
  399. package/dist/collection/components/item-group/item-group.md.css +0 -12
  400. package/dist/collection/components/item-option/item-option.ios.css +29 -136
  401. package/dist/collection/components/item-option/item-option.js +56 -92
  402. package/dist/collection/components/item-option/item-option.md.css +29 -136
  403. package/dist/collection/components/item-options/item-options.ios.css +34 -77
  404. package/dist/collection/components/item-options/item-options.js +17 -20
  405. package/dist/collection/components/item-options/item-options.md.css +34 -77
  406. package/dist/collection/components/item-sliding/{item-sliding.native.css → item-sliding.css} +9 -84
  407. package/dist/collection/components/item-sliding/item-sliding.js +61 -441
  408. package/dist/collection/components/item-sliding/test/test.utils.js +0 -13
  409. package/dist/collection/components/label/label.ios.css +0 -18
  410. package/dist/collection/components/label/label.js +32 -15
  411. package/dist/collection/components/label/label.md.css +0 -18
  412. package/dist/collection/components/list/list.ios.css +14 -54
  413. package/dist/collection/components/list/list.js +19 -55
  414. package/dist/collection/components/list/list.md.css +16 -56
  415. package/dist/collection/components/list-header/list-header.ios.css +38 -82
  416. package/dist/collection/components/list-header/list-header.js +18 -11
  417. package/dist/collection/components/list-header/list-header.md.css +38 -82
  418. package/dist/collection/components/loading/loading.ios.css +1 -13
  419. package/dist/collection/components/loading/loading.js +143 -62
  420. package/dist/collection/components/loading/loading.md.css +1 -13
  421. package/dist/collection/components/menu/menu.ios.css +3 -15
  422. package/dist/collection/components/menu/menu.js +108 -71
  423. package/dist/collection/components/menu/menu.md.css +3 -15
  424. package/dist/collection/components/menu-button/menu-button.ios.css +14 -48
  425. package/dist/collection/components/menu-button/menu-button.js +38 -45
  426. package/dist/collection/components/menu-button/menu-button.md.css +15 -49
  427. package/dist/collection/components/menu-toggle/menu-toggle.js +25 -21
  428. package/dist/collection/components/modal/animations/ios.enter.js +1 -1
  429. package/dist/collection/components/modal/animations/md.enter.js +1 -1
  430. package/dist/collection/components/modal/animations/sheet.js +2 -8
  431. package/dist/collection/components/modal/gestures/sheet.js +32 -86
  432. package/dist/collection/components/modal/gestures/swipe-to-close.js +15 -3
  433. package/dist/collection/components/modal/modal.ios.css +70 -178
  434. package/dist/collection/components/modal/modal.js +404 -272
  435. package/dist/collection/components/modal/modal.md.css +70 -178
  436. package/dist/collection/components/modal/safe-area-utils.js +6 -7
  437. package/dist/collection/components/modal/test/fixtures.js +3 -0
  438. package/dist/collection/components/nav/nav.css +1 -7
  439. package/dist/collection/components/nav/nav.js +72 -256
  440. package/dist/collection/components/nav/view-controller.js +7 -1
  441. package/dist/collection/components/nav-link/nav-link.js +21 -14
  442. package/dist/collection/components/note/note.ios.css +0 -12
  443. package/dist/collection/components/note/note.js +14 -11
  444. package/dist/collection/components/note/note.md.css +0 -12
  445. package/dist/collection/components/picker/picker.ios.css +3 -15
  446. package/dist/collection/components/picker/picker.js +403 -398
  447. package/dist/collection/components/picker/picker.md.css +3 -15
  448. package/dist/collection/components/picker-column/picker-column.css +5 -9
  449. package/dist/collection/components/picker-column/picker-column.js +418 -409
  450. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +0 -6
  451. package/dist/collection/components/picker-column-option/picker-column-option.js +38 -42
  452. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -7
  453. package/dist/collection/components/popover/animations/ios.enter.js +1 -2
  454. package/dist/collection/components/popover/animations/md.enter.js +1 -2
  455. package/dist/collection/components/popover/popover.ios.css +2 -15
  456. package/dist/collection/components/popover/popover.js +313 -199
  457. package/dist/collection/components/popover/popover.md.css +2 -15
  458. package/dist/collection/components/popover/test/fixture.js +1 -0
  459. package/dist/collection/components/popover/utils.js +4 -6
  460. package/dist/collection/components/progress-bar/progress-bar.ios.css +17 -48
  461. package/dist/collection/components/progress-bar/progress-bar.js +33 -65
  462. package/dist/collection/components/progress-bar/progress-bar.md.css +17 -48
  463. package/dist/collection/components/radio/radio.ios.css +102 -207
  464. package/dist/collection/components/radio/radio.js +108 -77
  465. package/dist/collection/components/radio/radio.md.css +102 -207
  466. package/dist/collection/components/radio-group/radio-group.ios.css +19 -43
  467. package/dist/collection/components/radio-group/radio-group.js +107 -113
  468. package/dist/collection/components/radio-group/radio-group.md.css +19 -43
  469. package/dist/collection/components/radio-group/test/fixtures.js +2 -0
  470. package/dist/collection/components/range/range.ios.css +85 -128
  471. package/dist/collection/components/range/range.js +303 -245
  472. package/dist/collection/components/range/range.md.css +85 -128
  473. package/dist/collection/components/refresher/refresher.ios.css +1 -14
  474. package/dist/collection/components/refresher/refresher.js +117 -88
  475. package/dist/collection/components/refresher/refresher.md.css +2 -15
  476. package/dist/collection/components/refresher-content/refresher-content.js +47 -31
  477. package/dist/collection/components/reorder/reorder.ios.css +0 -6
  478. package/dist/collection/components/reorder/reorder.js +7 -33
  479. package/dist/collection/components/reorder/reorder.md.css +0 -6
  480. package/dist/collection/components/reorder-group/reorder-group.css +0 -6
  481. package/dist/collection/components/reorder-group/reorder-group.js +47 -22
  482. package/dist/collection/components/ripple-effect/{ripple-effect.common.css → ripple-effect.css} +1 -7
  483. package/dist/collection/components/ripple-effect/ripple-effect.js +17 -26
  484. package/dist/collection/components/route/route.js +39 -14
  485. package/dist/collection/components/route-redirect/route-redirect.js +31 -0
  486. package/dist/collection/components/router/router.js +37 -37
  487. package/dist/collection/components/router/utils/dom.js +25 -7
  488. package/dist/collection/components/router/utils/matching.js +7 -9
  489. package/dist/collection/components/router/utils/parser.js +1 -1
  490. package/dist/collection/components/router/utils/path.js +0 -1
  491. package/dist/collection/components/router-link/router-link.css +2 -8
  492. package/dist/collection/components/router-link/router-link.js +40 -19
  493. package/dist/collection/components/router-outlet/router-outlet.css +1 -7
  494. package/dist/collection/components/router-outlet/router-outlet.js +83 -25
  495. package/dist/collection/components/row/row.css +0 -16
  496. package/dist/collection/components/row/row.js +2 -9
  497. package/dist/collection/components/searchbar/searchbar.ios.css +18 -56
  498. package/dist/collection/components/searchbar/searchbar.js +321 -380
  499. package/dist/collection/components/searchbar/searchbar.md.css +18 -56
  500. package/dist/collection/components/segment/segment.ios.css +2 -45
  501. package/dist/collection/components/segment/segment.js +126 -94
  502. package/dist/collection/components/segment/segment.md.css +2 -45
  503. package/dist/collection/components/segment-button/segment-button.ios.css +105 -146
  504. package/dist/collection/components/segment-button/segment-button.js +49 -46
  505. package/dist/collection/components/segment-button/segment-button.md.css +107 -148
  506. package/dist/collection/components/segment-content/segment-content.js +1 -1
  507. package/dist/collection/components/segment-view/segment-view.ios.css +0 -6
  508. package/dist/collection/components/segment-view/segment-view.js +28 -27
  509. package/dist/collection/components/segment-view/segment-view.md.css +0 -6
  510. package/dist/collection/components/select/select.ios.css +206 -351
  511. package/dist/collection/components/select/select.js +431 -444
  512. package/dist/collection/components/select/select.md.css +230 -383
  513. package/dist/collection/components/select-modal/select-modal.ios.css +45 -293
  514. package/dist/collection/components/select-modal/select-modal.js +37 -79
  515. package/dist/collection/components/select-modal/select-modal.md.css +43 -273
  516. package/dist/collection/components/select-modal/test/fixtures.js +8 -1
  517. package/dist/collection/components/select-option/select-option.js +48 -15
  518. package/dist/collection/components/select-popover/select-popover.ios.css +124 -188
  519. package/dist/collection/components/select-popover/select-popover.js +44 -37
  520. package/dist/collection/components/select-popover/select-popover.md.css +47 -228
  521. package/dist/collection/components/select-popover/test/fixtures.js +8 -1
  522. package/dist/collection/components/skeleton-text/skeleton-text.css +0 -6
  523. package/dist/collection/components/skeleton-text/skeleton-text.js +15 -15
  524. package/dist/collection/components/spinner/{spinner.ionic.css → spinner.css} +10 -78
  525. package/dist/collection/components/spinner/spinner.js +26 -55
  526. package/dist/collection/components/split-pane/split-pane.ios.css +2 -20
  527. package/dist/collection/components/split-pane/split-pane.js +33 -28
  528. package/dist/collection/components/split-pane/split-pane.md.css +2 -20
  529. package/dist/collection/components/tab/tab.js +17 -10
  530. package/dist/collection/components/tab-bar/tab-bar.ios.css +43 -86
  531. package/dist/collection/components/tab-bar/tab-bar.js +44 -190
  532. package/dist/collection/components/tab-bar/tab-bar.md.css +43 -86
  533. package/dist/collection/components/tab-button/tab-button.ios.css +95 -171
  534. package/dist/collection/components/tab-button/tab-button.js +68 -74
  535. package/dist/collection/components/tab-button/tab-button.md.css +93 -137
  536. package/dist/collection/components/tabs/tabs.css +1 -7
  537. package/dist/collection/components/tabs/tabs.js +33 -23
  538. package/dist/collection/components/text/text.css +0 -6
  539. package/dist/collection/components/text/text.js +12 -7
  540. package/dist/collection/components/textarea/textarea.ios.css +221 -329
  541. package/dist/collection/components/textarea/textarea.js +302 -334
  542. package/dist/collection/components/textarea/textarea.md.css +231 -358
  543. package/dist/collection/components/thumbnail/thumbnail.css +0 -6
  544. package/dist/collection/components/thumbnail/thumbnail.js +2 -9
  545. package/dist/collection/components/title/title.ios.css +4 -32
  546. package/dist/collection/components/title/title.js +23 -13
  547. package/dist/collection/components/title/title.md.css +4 -39
  548. package/dist/collection/components/toast/animations/utils.js +1 -1
  549. package/dist/collection/components/toast/toast.ios.css +45 -84
  550. package/dist/collection/components/toast/toast.js +232 -178
  551. package/dist/collection/components/toast/toast.md.css +45 -84
  552. package/dist/collection/components/toggle/toggle.ios.css +127 -247
  553. package/dist/collection/components/toggle/toggle.js +175 -177
  554. package/dist/collection/components/toggle/toggle.md.css +127 -245
  555. package/dist/collection/components/toolbar/toolbar.ios.css +47 -90
  556. package/dist/collection/components/toolbar/toolbar.js +25 -222
  557. package/dist/collection/components/toolbar/toolbar.md.css +47 -90
  558. package/dist/collection/global/config.js +4 -6
  559. package/dist/collection/global/ionic-global.js +20 -242
  560. package/dist/collection/index.js +1 -1
  561. package/dist/collection/utils/animation/animation.js +3 -3
  562. package/dist/collection/utils/config.js +5 -4
  563. package/dist/collection/utils/focus-controller/index.js +1 -1
  564. package/dist/collection/utils/focus-trap.js +5 -16
  565. package/dist/collection/utils/focus-visible.js +0 -22
  566. package/dist/collection/utils/forms/index.js +1 -1
  567. package/dist/collection/utils/forms/start-container-controller.js +132 -0
  568. package/dist/collection/utils/forms/validity.js +0 -31
  569. package/dist/collection/utils/framework-delegate.js +5 -9
  570. package/dist/collection/utils/gesture/gesture-controller.js +15 -8
  571. package/dist/collection/utils/gesture/index.js +10 -2
  572. package/dist/collection/utils/gesture/listener.js +1 -1
  573. package/dist/collection/utils/hardware-back-button.js +3 -18
  574. package/dist/collection/utils/helpers.js +5 -72
  575. package/dist/collection/utils/input-shims/hacks/scroll-assist.js +4 -5
  576. package/dist/collection/utils/input-shims/hacks/scroll-data.js +1 -2
  577. package/dist/collection/utils/keyboard/keyboard-controller.js +6 -8
  578. package/dist/collection/utils/keyboard/keyboard.js +1 -1
  579. package/dist/collection/utils/logging/index.js +23 -4
  580. package/dist/collection/utils/media.js +0 -1
  581. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  582. package/dist/collection/utils/menu-controller/animations/push.js +1 -2
  583. package/dist/collection/utils/menu-controller/animations/reveal.js +1 -2
  584. package/dist/collection/utils/menu-controller/index.js +1 -2
  585. package/dist/collection/utils/native/haptic.js +2 -3
  586. package/dist/collection/utils/native/keyboard.js +2 -2
  587. package/dist/collection/utils/native/status-bar.js +1 -1
  588. package/dist/collection/utils/overlay-control-label.js +11 -13
  589. package/dist/collection/utils/overlays.js +45 -312
  590. package/dist/collection/utils/platform.js +4 -5
  591. package/dist/collection/utils/rtl/dir.js +1 -1
  592. package/dist/collection/utils/sanitization/index.js +2 -2
  593. package/dist/collection/utils/select-option-render.js +1 -2
  594. package/dist/collection/utils/slot-mutation-controller.js +1 -2
  595. package/dist/collection/utils/test/playwright/apply-keyboard-focus.js +1 -1
  596. package/dist/collection/utils/test/playwright/drag-element.js +11 -35
  597. package/dist/collection/utils/test/playwright/generator.js +25 -51
  598. package/dist/collection/utils/test/playwright/page/event-spy.js +11 -12
  599. package/dist/collection/utils/test/playwright/page/utils/goto.js +5 -15
  600. package/dist/collection/utils/test/playwright/page/utils/set-content.js +4 -27
  601. package/dist/collection/utils/test/playwright/page/utils/set-ion-viewport.js +2 -3
  602. package/dist/collection/utils/test/press-keys.js +10 -17
  603. package/dist/collection/utils/theme.js +7 -26
  604. package/dist/collection/utils/transition/ios.transition.js +9 -14
  605. package/dist/collection/utils/transition/md.transition.js +3 -4
  606. package/dist/docs.json +524 -10028
  607. package/dist/esm/{animation-ChfHU0RG.js → animation-CGFdmGk9.js} +5 -5
  608. package/dist/esm/{app-globals-D1OOQlqq.js → app-globals-CYmMeGdU.js} +1 -1
  609. package/dist/esm/{button-active-CPYK0dNo.js → button-active--80YqSHA.js} +3 -3
  610. package/dist/esm/{capacitor-DG_4yVXz.js → capacitor-CFERIeaU.js} +1 -1
  611. package/dist/esm/{config-BwKpO3Is.js → config-DWCzVL3Y.js} +5 -4
  612. package/dist/esm/{dir-C53feagD.js → dir-B-FxiyeI.js} +1 -1
  613. package/dist/{cjs/focus-visible-BIj-I3-C.js → esm/focus-visible-BmVRXR1y.js} +1 -27
  614. package/dist/esm/{format-2WlZcMvG.js → format-Dcwga61t.js} +41 -31
  615. package/dist/esm/{framework-delegate-DO2QXccA.js → framework-delegate--ajhSeKH.js} +6 -10
  616. package/dist/esm/{gesture-controller-BTEOs1at.js → gesture-controller-TXPDHL13.js} +15 -8
  617. package/dist/esm/{haptic-BWlRCqa-.js → haptic-Cq4UAeka.js} +3 -4
  618. package/dist/esm/hardware-back-button-gLJHMX_F.js +115 -0
  619. package/dist/esm/{helpers-DfF5_wJc.js → helpers-DexiPLIC.js} +7 -73
  620. package/dist/esm/{index-BSDDOljg.js → index-8s8kZKJ7.js} +5 -5
  621. package/dist/esm/{index-DNY2GOUg.js → index-BCgUwrV0.js} +3 -4
  622. package/dist/esm/{index-B4Kq2YNk.js → index-BvabGprD.js} +1 -2
  623. package/dist/esm/{index-Mq5pCWmZ.js → index-CKM1DdGm.js} +3 -3
  624. package/dist/esm/{index-C0EQceqV.js → index-ChhhtsGZ.js} +34 -66
  625. package/dist/esm/{index-7eS8XtuU.js → index-CumkqGQF.js} +12 -13
  626. package/dist/esm/{index-CfgBF1SE.js → index-DppOcPFQ.js} +10 -4
  627. package/dist/esm/index-ZjP4CjeZ.js +7 -0
  628. package/dist/esm/{index-taYRjZGp.js → index-_Za5VB9w.js} +2 -2
  629. package/dist/esm/index.js +17 -16
  630. package/dist/esm/{input-shims-tZfqB5a5.js → input-shims-BB0AKb_k.js} +11 -14
  631. package/dist/esm/input.utils-B1ValN_N.js +33 -0
  632. package/dist/esm/ion-accordion_2.entry.js +378 -382
  633. package/dist/esm/ion-action-sheet.entry.js +178 -86
  634. package/dist/esm/ion-alert.entry.js +250 -125
  635. package/dist/esm/ion-app_8.entry.js +460 -607
  636. package/dist/esm/ion-avatar_3.entry.js +19 -125
  637. package/dist/esm/ion-back-button.entry.js +64 -49
  638. package/dist/esm/ion-backdrop.entry.js +23 -22
  639. package/dist/esm/ion-breadcrumb_2.entry.js +211 -169
  640. package/dist/esm/ion-button_2.entry.js +152 -117
  641. package/dist/esm/ion-card_5.entry.js +109 -79
  642. package/dist/esm/ion-checkbox.entry.js +163 -129
  643. package/dist/esm/ion-chip.entry.js +21 -56
  644. package/dist/esm/ion-col_3.entry.js +186 -61
  645. package/dist/esm/ion-datetime-button.entry.js +255 -247
  646. package/dist/esm/ion-datetime.entry.js +2768 -0
  647. package/dist/esm/ion-fab_3.entry.js +154 -112
  648. package/dist/esm/ion-img.entry.js +34 -16
  649. package/dist/esm/ion-infinite-scroll_2.entry.js +108 -156
  650. package/dist/esm/ion-input-otp.entry.js +435 -437
  651. package/dist/esm/ion-input-password-toggle.entry.js +40 -64
  652. package/dist/esm/ion-input.entry.js +349 -309
  653. package/dist/esm/ion-item-option_3.entry.js +136 -511
  654. package/dist/esm/ion-item_8.entry.js +217 -189
  655. package/dist/esm/ion-loading.entry.js +151 -68
  656. package/dist/esm/ion-menu_3.entry.js +181 -137
  657. package/dist/esm/ion-modal.entry.js +528 -458
  658. package/dist/esm/ion-nav_2.entry.js +103 -163
  659. package/dist/esm/ion-picker-column-option.entry.js +39 -39
  660. package/dist/esm/ion-picker-column.entry.js +421 -409
  661. package/dist/esm/ion-picker.entry.js +405 -400
  662. package/dist/esm/ion-popover.entry.js +323 -211
  663. package/dist/esm/ion-progress-bar.entry.js +35 -47
  664. package/dist/esm/ion-radio_2.entry.js +216 -161
  665. package/dist/esm/ion-range.entry.js +307 -249
  666. package/dist/esm/ion-refresher_2.entry.js +174 -121
  667. package/dist/esm/ion-reorder_2.entry.js +59 -53
  668. package/dist/esm/ion-ripple-effect.entry.js +18 -26
  669. package/dist/esm/ion-route_4.entry.js +178 -75
  670. package/dist/esm/ion-searchbar.entry.js +308 -331
  671. package/dist/esm/ion-segment-content.entry.js +2 -2
  672. package/dist/esm/ion-segment-view.entry.js +28 -27
  673. package/dist/esm/ion-segment_2.entry.js +177 -141
  674. package/dist/esm/ion-select-modal.entry.js +49 -69
  675. package/dist/esm/ion-select_3.entry.js +507 -429
  676. package/dist/esm/ion-spinner.entry.js +28 -36
  677. package/dist/esm/ion-split-pane.entry.js +34 -25
  678. package/dist/esm/ion-tab-bar_2.entry.js +115 -178
  679. package/dist/esm/ion-tab_2.entry.js +54 -29
  680. package/dist/esm/ion-text.entry.js +13 -7
  681. package/dist/esm/ion-textarea.entry.js +302 -308
  682. package/dist/esm/ion-toast.entry.js +243 -148
  683. package/dist/esm/ion-toggle.entry.js +184 -187
  684. package/dist/esm/ionic-global-BVB7BrLT.js +151 -0
  685. package/dist/esm/ionic.js +5 -5
  686. package/dist/esm/{ios.transition-C3r-0w96.js → ios.transition-BdhybwLl.js} +14 -20
  687. package/dist/esm/{item-multiple-inputs-C6onMFOo.js → item-multiple-inputs-rU8VaNNg.js} +1 -1
  688. package/dist/esm/{keyboard-BzbtCDwZ.js → keyboard-Cj8mLJeq.js} +4 -5
  689. package/dist/esm/{keyboard-DYGmALa7.js → keyboard-DAF8GNJ9.js} +3 -3
  690. package/dist/esm/keyboard-controller-DEwoa1ev.js +165 -0
  691. package/dist/esm/loader.js +5 -5
  692. package/dist/esm/{md.transition-CPHOF5T9.js → md.transition-B5lqKGCs.js} +8 -10
  693. package/dist/esm/{overlay-control-label-CODBQrPj.js → overlay-control-label-BSQPZ79H.js} +11 -13
  694. package/dist/esm/{overlays-C1NQMs9y.js → overlays-CjWwtvf1.js} +57 -333
  695. package/dist/esm/{select-option-render-BlKZ2H83.js → select-option-render-C4m76VGH.js} +3 -4
  696. package/dist/esm/slot-mutation-controller-u741eD3Z.js +393 -0
  697. package/dist/esm/{status-tap-BueE8Coq.js → status-tap-DpLhkDWs.js} +3 -4
  698. package/dist/esm/{swipe-back-qmvTRnSq.js → swipe-back-cz4-lyG3.js} +5 -6
  699. package/dist/esm/theme-byZM6qHV.js +48 -0
  700. package/dist/esm/validity-DJztqcrH.js +17 -0
  701. package/dist/html.html-data.json +146 -2713
  702. package/dist/ionic/index.esm.js +1 -1
  703. package/dist/ionic/ionic.esm.js +1 -1
  704. package/dist/ionic/p-06533d51.entry.js +4 -0
  705. package/dist/ionic/p-08443c08.entry.js +4 -0
  706. package/dist/ionic/p-0FNc80PN.js +4 -0
  707. package/dist/ionic/p-141f5b47.entry.js +4 -0
  708. package/dist/ionic/p-14a5e8f5.entry.js +4 -0
  709. package/dist/ionic/p-19269e04.entry.js +4 -0
  710. package/dist/ionic/p-19abbc33.entry.js +4 -0
  711. package/dist/ionic/p-1edf0573.entry.js +4 -0
  712. package/dist/ionic/p-40424a88.entry.js +4 -0
  713. package/dist/ionic/p-4204184c.entry.js +4 -0
  714. package/dist/ionic/p-4bc3ecdb.entry.js +4 -0
  715. package/dist/ionic/p-4eOQC00Z.js +4 -0
  716. package/dist/ionic/p-4eed9ca1.entry.js +4 -0
  717. package/dist/ionic/p-53bac1c9.entry.js +4 -0
  718. package/dist/ionic/p-5506caeb.entry.js +4 -0
  719. package/dist/ionic/p-5521dc1f.entry.js +4 -0
  720. package/dist/ionic/p-5993a77f.entry.js +4 -0
  721. package/dist/ionic/p-5c3626de.entry.js +4 -0
  722. package/dist/ionic/p-5d3b411c.entry.js +4 -0
  723. package/dist/ionic/p-60576951.entry.js +4 -0
  724. package/dist/ionic/p-7116e558.entry.js +4 -0
  725. package/dist/ionic/p-711a8319.entry.js +4 -0
  726. package/dist/ionic/p-71419a55.entry.js +4 -0
  727. package/dist/ionic/p-79325ffe.entry.js +4 -0
  728. package/dist/ionic/p-7bb3e957.entry.js +4 -0
  729. package/dist/ionic/p-82525fb0.entry.js +4 -0
  730. package/dist/ionic/p-84a38904.entry.js +4 -0
  731. package/dist/ionic/p-865fa114.entry.js +4 -0
  732. package/dist/ionic/p-8e1d9e3a.entry.js +4 -0
  733. package/dist/ionic/p-8f204f1e.entry.js +4 -0
  734. package/dist/ionic/p-9055e897.entry.js +4 -0
  735. package/dist/ionic/p-9658e083.entry.js +4 -0
  736. package/dist/ionic/p-988baee1.entry.js +4 -0
  737. package/dist/ionic/p-9nmHvEvw.js +4 -0
  738. package/dist/ionic/p-B-FxiyeI.js +4 -0
  739. package/dist/ionic/p-BB0LlG4y.js +4 -0
  740. package/dist/ionic/p-BMPN55of.js +4 -0
  741. package/dist/ionic/p-BQ8oNV0v.js +4 -0
  742. package/dist/ionic/p-BSQPZ79H.js +4 -0
  743. package/dist/ionic/p-BhamHSw3.js +4 -0
  744. package/dist/ionic/p-BjvtSsVI.js +4 -0
  745. package/dist/ionic/p-BkfAWuv6.js +4 -0
  746. package/dist/ionic/p-BmVRXR1y.js +4 -0
  747. package/dist/ionic/p-BvabGprD.js +4 -0
  748. package/{components/p-Va26YR7l.js → dist/ionic/p-BwIp10KV.js} +1 -1
  749. package/dist/ionic/p-C-94tAim.js +4 -0
  750. package/dist/ionic/p-C6eME8Ey.js +4 -0
  751. package/dist/ionic/p-CIGNaXM1.js +4 -0
  752. package/dist/ionic/p-CKUuSnDR.js +4 -0
  753. package/dist/ionic/p-CMRtMbJc.js +4 -0
  754. package/dist/ionic/p-CPcPmkGv.js +4 -0
  755. package/dist/ionic/p-CQ_4TirR.js +4 -0
  756. package/dist/ionic/p-CaRuIadB.js +4 -0
  757. package/dist/ionic/p-Cdjxf_yg.js +4 -0
  758. package/dist/ionic/p-ChhhtsGZ.js +5 -0
  759. package/dist/ionic/p-CmKf4pgI.js +4 -0
  760. package/dist/ionic/p-D5t_-oMk.js +4 -0
  761. package/dist/ionic/p-D94b61er.js +4 -0
  762. package/dist/ionic/p-DAztxQR0.js +4 -0
  763. package/dist/ionic/p-DCI3rXQo.js +4 -0
  764. package/dist/ionic/p-DDhtUaaA.js +4 -0
  765. package/dist/ionic/p-DJztqcrH.js +4 -0
  766. package/dist/ionic/p-DWCzVL3Y.js +4 -0
  767. package/dist/ionic/p-DkUB-ROc.js +4 -0
  768. package/dist/ionic/p-Dn0mqQ_R.js +4 -0
  769. package/dist/ionic/p-I3In7hMC.js +4 -0
  770. package/dist/ionic/p-T71k3C35.js +4 -0
  771. package/dist/ionic/p-TXPDHL13.js +4 -0
  772. package/dist/ionic/p-ZjP4CjeZ.js +4 -0
  773. package/dist/ionic/p-a71232d6.entry.js +4 -0
  774. package/dist/ionic/p-a73d8742.entry.js +4 -0
  775. package/dist/ionic/p-a8421d18.entry.js +4 -0
  776. package/dist/ionic/p-a8c2c343.entry.js +4 -0
  777. package/dist/ionic/p-acf0a6af.entry.js +4 -0
  778. package/dist/ionic/p-ad98e3ff.entry.js +4 -0
  779. package/dist/ionic/p-af5166f5.entry.js +4 -0
  780. package/dist/ionic/p-bc2bad5f.entry.js +4 -0
  781. package/dist/ionic/p-be08d500.entry.js +4 -0
  782. package/dist/ionic/p-be9a4f51.entry.js +4 -0
  783. package/dist/ionic/p-byZM6qHV.js +4 -0
  784. package/dist/ionic/p-ccc5044d.entry.js +4 -0
  785. package/dist/ionic/p-ce32912b.entry.js +4 -0
  786. package/dist/ionic/p-ded69ceb.entry.js +4 -0
  787. package/dist/ionic/p-e0c6e31e.entry.js +4 -0
  788. package/dist/ionic/p-e1e5b507.entry.js +4 -0
  789. package/dist/ionic/p-e8c3e08a.entry.js +4 -0
  790. package/dist/ionic/p-ed5d540d.entry.js +4 -0
  791. package/dist/ionic/p-f046aa37.entry.js +4 -0
  792. package/dist/ionic/p-f2802440.entry.js +4 -0
  793. package/dist/ionic/p-f402f5a4.entry.js +4 -0
  794. package/dist/ionic/p-fe1bfbcf.entry.js +4 -0
  795. package/dist/types/components/accordion/accordion.d.ts +3 -6
  796. package/dist/types/components/accordion-group/accordion-group.d.ts +1 -12
  797. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +7 -3
  798. package/dist/types/components/action-sheet/action-sheet.d.ts +2 -3
  799. package/dist/types/components/alert/alert-interface.d.ts +7 -3
  800. package/dist/types/components/alert/alert.d.ts +2 -3
  801. package/dist/types/components/app/app.d.ts +5 -4
  802. package/dist/types/components/avatar/avatar.d.ts +0 -32
  803. package/dist/types/components/back-button/back-button.d.ts +1 -2
  804. package/dist/types/components/backdrop/backdrop.d.ts +0 -4
  805. package/dist/types/components/badge/badge.d.ts +1 -34
  806. package/dist/types/components/breadcrumb/breadcrumb.d.ts +1 -4
  807. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  808. package/dist/types/components/button/button.d.ts +8 -23
  809. package/dist/types/components/buttons/buttons.d.ts +1 -5
  810. package/dist/types/components/card/card.d.ts +1 -8
  811. package/dist/types/components/card-content/card-content.d.ts +1 -2
  812. package/dist/types/components/card-header/card-header.d.ts +2 -3
  813. package/dist/types/components/card-subtitle/card-subtitle.d.ts +1 -2
  814. package/dist/types/components/card-title/card-title.d.ts +1 -2
  815. package/dist/types/components/checkbox/checkbox.d.ts +4 -14
  816. package/dist/types/components/chip/chip.d.ts +1 -26
  817. package/dist/types/components/col/col.d.ts +5 -52
  818. package/dist/types/components/content/content.d.ts +0 -3
  819. package/dist/types/components/datetime/datetime.d.ts +1 -26
  820. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  821. package/dist/types/components/datetime-button/datetime-button.d.ts +1 -2
  822. package/dist/types/components/fab/fab.d.ts +0 -4
  823. package/dist/types/components/fab-button/fab-button.d.ts +3 -5
  824. package/dist/types/components/fab-list/fab-list.d.ts +0 -4
  825. package/dist/types/components/footer/footer.d.ts +3 -20
  826. package/dist/types/components/grid/grid.d.ts +0 -4
  827. package/dist/types/components/header/header.d.ts +3 -26
  828. package/dist/types/components/header/header.utils.d.ts +5 -4
  829. package/dist/types/components/img/img.d.ts +1 -2
  830. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +0 -21
  831. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +0 -4
  832. package/dist/types/components/input/input.d.ts +17 -40
  833. package/dist/types/components/input-otp/input-otp.d.ts +0 -37
  834. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +0 -2
  835. package/dist/types/components/item/item.d.ts +4 -11
  836. package/dist/types/components/item-divider/item-divider.d.ts +1 -2
  837. package/dist/types/components/item-group/item-group.d.ts +0 -4
  838. package/dist/types/components/item-option/item-option.d.ts +1 -18
  839. package/dist/types/components/item-options/item-options.d.ts +0 -4
  840. package/dist/types/components/item-sliding/item-sliding.d.ts +1 -47
  841. package/dist/types/components/item-sliding/test/test.utils.d.ts +0 -13
  842. package/dist/types/components/label/label.d.ts +1 -2
  843. package/dist/types/components/list/list.d.ts +1 -15
  844. package/dist/types/components/list-header/list-header.d.ts +1 -2
  845. package/dist/types/components/loading/loading-interface.d.ts +7 -2
  846. package/dist/types/components/loading/loading.d.ts +2 -3
  847. package/dist/types/components/menu/menu.d.ts +0 -3
  848. package/dist/types/components/menu-button/menu-button.d.ts +1 -3
  849. package/dist/types/components/menu-toggle/menu-toggle.d.ts +0 -3
  850. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  851. package/dist/types/components/modal/modal-interface.d.ts +16 -4
  852. package/dist/types/components/modal/modal.d.ts +12 -15
  853. package/dist/types/components/nav/nav-interface.d.ts +1 -10
  854. package/dist/types/components/nav/nav.d.ts +3 -27
  855. package/dist/types/components/nav-link/nav-link.d.ts +0 -4
  856. package/dist/types/components/note/note.d.ts +1 -2
  857. package/dist/types/components/picker/picker.d.ts +1 -2
  858. package/dist/types/components/picker-column/picker-column.d.ts +1 -2
  859. package/dist/types/components/picker-column-option/picker-column-option.d.ts +0 -4
  860. package/dist/types/components/popover/popover-interface.d.ts +6 -3
  861. package/dist/types/components/popover/popover.d.ts +5 -6
  862. package/dist/types/components/progress-bar/progress-bar.d.ts +1 -10
  863. package/dist/types/components/radio/radio.d.ts +1 -2
  864. package/dist/types/components/radio-group/radio-group.d.ts +0 -12
  865. package/dist/types/components/range/range.d.ts +1 -2
  866. package/dist/types/components/refresher/refresher.d.ts +1 -2
  867. package/dist/types/components/refresher-content/refresher-content.d.ts +0 -4
  868. package/dist/types/components/reorder/reorder.d.ts +0 -9
  869. package/dist/types/components/reorder-group/reorder-group.d.ts +0 -4
  870. package/dist/types/components/ripple-effect/ripple-effect.d.ts +0 -4
  871. package/dist/types/components/route/route.d.ts +1 -5
  872. package/dist/types/components/router/router.d.ts +0 -4
  873. package/dist/types/components/router-link/router-link.d.ts +0 -4
  874. package/dist/types/components/router-outlet/router-outlet.d.ts +8 -4
  875. package/dist/types/components/row/row.d.ts +0 -4
  876. package/dist/types/components/searchbar/searchbar.d.ts +11 -57
  877. package/dist/types/components/segment/segment.d.ts +1 -2
  878. package/dist/types/components/segment-button/segment-button.d.ts +1 -2
  879. package/dist/types/components/select/select.d.ts +26 -55
  880. package/dist/types/components/select-modal/select-modal.d.ts +0 -8
  881. package/dist/types/components/select-option/select-option.d.ts +4 -7
  882. package/dist/types/components/select-popover/select-popover.d.ts +0 -3
  883. package/dist/types/components/skeleton-text/skeleton-text.d.ts +0 -4
  884. package/dist/types/components/spinner/spinner.d.ts +0 -15
  885. package/dist/types/components/split-pane/split-pane.d.ts +0 -4
  886. package/dist/types/components/tab/tab.d.ts +0 -4
  887. package/dist/types/components/tab-bar/tab-bar-interface.d.ts +0 -1
  888. package/dist/types/components/tab-bar/tab-bar.d.ts +3 -41
  889. package/dist/types/components/tab-button/tab-button.d.ts +1 -12
  890. package/dist/types/components/tabs/tabs.d.ts +0 -3
  891. package/dist/types/components/text/text.d.ts +1 -2
  892. package/dist/types/components/textarea/textarea.d.ts +16 -58
  893. package/dist/types/components/thumbnail/thumbnail.d.ts +0 -4
  894. package/dist/types/components/title/title.d.ts +0 -4
  895. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  896. package/dist/types/components/toast/toast-interface.d.ts +7 -3
  897. package/dist/types/components/toast/toast.d.ts +2 -19
  898. package/dist/types/components/toggle/toggle.d.ts +1 -15
  899. package/dist/types/components/toolbar/toolbar.d.ts +3 -43
  900. package/dist/types/components.d.ts +263 -2171
  901. package/dist/types/global/ionic-global.d.ts +2 -28
  902. package/dist/types/index.d.ts +1 -1
  903. package/dist/types/interface.d.ts +0 -4
  904. package/dist/types/utils/config.d.ts +3 -114
  905. package/dist/types/utils/focus-trap.d.ts +1 -1
  906. package/dist/types/utils/focus-visible.d.ts +0 -13
  907. package/dist/types/utils/forms/index.d.ts +1 -1
  908. package/dist/types/utils/forms/start-container-controller.d.ts +34 -0
  909. package/dist/types/utils/forms/validity.d.ts +0 -7
  910. package/dist/types/utils/helpers.d.ts +0 -22
  911. package/dist/types/utils/logging/index.d.ts +2 -1
  912. package/dist/types/utils/overlay-control-label.d.ts +9 -11
  913. package/dist/types/utils/overlays-interface.d.ts +1 -31
  914. package/dist/types/utils/overlays.d.ts +12 -10
  915. package/dist/types/utils/test/playwright/drag-element.d.ts +3 -16
  916. package/dist/types/utils/test/playwright/generator.d.ts +2 -31
  917. package/dist/types/utils/test/playwright/playwright-page.d.ts +1 -1
  918. package/dist/types/utils/test/playwright/testExpect.d.ts +1 -1
  919. package/dist/types/utils/theme.d.ts +0 -9
  920. package/hydrate/index.js +10577 -12217
  921. package/hydrate/index.mjs +10577 -12217
  922. package/package.json +56 -17
  923. package/components/ion-divider.d.ts +0 -11
  924. package/components/ion-divider.js +0 -4
  925. package/components/ion-gallery-item.d.ts +0 -11
  926. package/components/ion-gallery-item.js +0 -4
  927. package/components/ion-gallery.d.ts +0 -11
  928. package/components/ion-gallery.js +0 -4
  929. package/components/ion-picker-legacy-column.d.ts +0 -11
  930. package/components/ion-picker-legacy-column.js +0 -4
  931. package/components/ion-picker-legacy.d.ts +0 -11
  932. package/components/ion-picker-legacy.js +0 -4
  933. package/components/p-6hUZIMBp.js +0 -4
  934. package/components/p-9mfpAwJh.js +0 -4
  935. package/components/p-B2aAAEfp.js +0 -4
  936. package/components/p-B2lpqDWK.js +0 -4
  937. package/components/p-BDoEcs72.js +0 -4
  938. package/components/p-BDqjX7Z_.js +0 -4
  939. package/components/p-BE21dB_a.js +0 -4
  940. package/components/p-BFpXpzD-.js +0 -4
  941. package/components/p-BTEOs1at.js +0 -4
  942. package/components/p-BUNIyvqe.js +0 -4
  943. package/components/p-BYSs-jZz.js +0 -4
  944. package/components/p-BYoGvMgh.js +0 -4
  945. package/components/p-BYrCPOBM.js +0 -4
  946. package/components/p-BbVhJs-a.js +0 -4
  947. package/components/p-BhRXIcSN.js +0 -4
  948. package/components/p-BjW8SOqw.js +0 -4
  949. package/components/p-BsiHrVPa.js +0 -4
  950. package/components/p-BwKpO3Is.js +0 -4
  951. package/components/p-Bz8jnuiy.js +0 -4
  952. package/components/p-C-Ea1l5K.js +0 -4
  953. package/components/p-C3X10Pc6.js +0 -4
  954. package/components/p-C53feagD.js +0 -4
  955. package/components/p-CA4M5WkT.js +0 -4
  956. package/components/p-CH6jbAEI.js +0 -4
  957. package/components/p-CJE5t2qs.js +0 -4
  958. package/components/p-CODBQrPj.js +0 -4
  959. package/components/p-CUbb1HkU.js +0 -4
  960. package/components/p-CVYFPBs-.js +0 -4
  961. package/components/p-CVoLDZ7z.js +0 -4
  962. package/components/p-CZrORZXS.js +0 -4
  963. package/components/p-Cc3oC60a.js +0 -4
  964. package/components/p-Cl0B-RWe.js +0 -4
  965. package/components/p-CmoUesXp.js +0 -4
  966. package/components/p-CyNW8ypn.js +0 -4
  967. package/components/p-CzxyxYID.js +0 -4
  968. package/components/p-D0Iqw6OZ.js +0 -4
  969. package/components/p-D0LT3Z3i.js +0 -4
  970. package/components/p-D1t981Ih.js +0 -4
  971. package/components/p-D6tqrIYY.js +0 -4
  972. package/components/p-D9C5yWpF.js +0 -4
  973. package/components/p-DCRXgAoM.js +0 -4
  974. package/components/p-DL5wyRub.js +0 -4
  975. package/components/p-DQlXUUDh.js +0 -4
  976. package/components/p-DRWN7QM2.js +0 -4
  977. package/components/p-DaJxRxSQ.js +0 -4
  978. package/components/p-DbmfFkd1.js +0 -4
  979. package/components/p-Dhi5xtNS.js +0 -4
  980. package/components/p-DnwLgh9U.js +0 -4
  981. package/components/p-DoZB3DcY.js +0 -4
  982. package/components/p-DrrpZB81.js +0 -4
  983. package/components/p-DrzWRqnG.js +0 -4
  984. package/components/p-DylrHLJF.js +0 -4
  985. package/components/p-Dypq4kXE.js +0 -4
  986. package/components/p-DzeMJvWL.js +0 -4
  987. package/components/p-Dzk4Tr0X.js +0 -4
  988. package/components/p-Rkm2AOZ2.js +0 -4
  989. package/components/p-UYngqo1f.js +0 -4
  990. package/components/p-asUhrzOB.js +0 -4
  991. package/components/p-fIOYmaqA.js +0 -4
  992. package/components/p-jlwpz7Ms.js +0 -4
  993. package/components/p-kInyVu79.js +0 -4
  994. package/components/p-miSYSxcc.js +0 -4
  995. package/components/p-paDbTUL9.js +0 -4
  996. package/components/p-vXpMhGrs.js +0 -4
  997. package/components/p-znZTPd7u.js +0 -4
  998. package/css/ionic/bundle.ionic.css +0 -1
  999. package/css/ionic/bundle.ionic.css.map +0 -1
  1000. package/css/ionic/core.ionic.css +0 -1
  1001. package/css/ionic/core.ionic.css.map +0 -1
  1002. package/css/ionic/global.bundle.ionic.css +0 -1
  1003. package/css/ionic/global.bundle.ionic.css.map +0 -1
  1004. package/css/ionic/ionic-swiper.ionic.css +0 -1
  1005. package/css/ionic/ionic-swiper.ionic.css.map +0 -1
  1006. package/css/ionic/link.ionic.css +0 -1
  1007. package/css/ionic/link.ionic.css.map +0 -1
  1008. package/css/ionic/structure.ionic.css +0 -1
  1009. package/css/ionic/structure.ionic.css.map +0 -1
  1010. package/css/ionic/typography.ionic.css +0 -1
  1011. package/css/ionic/typography.ionic.css.map +0 -1
  1012. package/css/ionic/utils.bundle.ionic.css +0 -1
  1013. package/css/ionic/utils.bundle.ionic.css.map +0 -1
  1014. package/dist/cjs/caret-down-vtVgfXIs.js +0 -8
  1015. package/dist/cjs/caret-left-CxZXLRv5.js +0 -8
  1016. package/dist/cjs/caret-right-CRCgv98E.js +0 -8
  1017. package/dist/cjs/clear-button-press-controller-2hAy_qdm.js +0 -45
  1018. package/dist/cjs/input.utils-CYZZsbdf.js +0 -150
  1019. package/dist/cjs/ion-datetime_3.cjs.entry.js +0 -3242
  1020. package/dist/cjs/ion-divider.cjs.entry.js +0 -51
  1021. package/dist/cjs/ion-gallery-item.cjs.entry.js +0 -59
  1022. package/dist/cjs/ion-gallery.cjs.entry.js +0 -607
  1023. package/dist/cjs/ionic-global-DvEcO0tQ.js +0 -519
  1024. package/dist/cjs/list-a-7GSA6K.js +0 -8
  1025. package/dist/cjs/notch-controller-CFlPw7ER.js +0 -155
  1026. package/dist/cjs/scroll-hide-controller-DAf_DwKc.js +0 -345
  1027. package/dist/cjs/validity-QmuwEptc.js +0 -51
  1028. package/dist/cjs/x-BTF99yFH.js +0 -8
  1029. package/dist/collection/components/accordion/accordion.ionic.css +0 -201
  1030. package/dist/collection/components/accordion-group/accordion-group.ionic.css +0 -93
  1031. package/dist/collection/components/action-sheet/action-sheet.ionic.css +0 -494
  1032. package/dist/collection/components/alert/alert.ionic.css +0 -787
  1033. package/dist/collection/components/avatar/avatar.ionic.css +0 -385
  1034. package/dist/collection/components/backdrop/backdrop.ionic.css +0 -109
  1035. package/dist/collection/components/badge/badge.ionic.css +0 -272
  1036. package/dist/collection/components/button/button.ionic.css +0 -644
  1037. package/dist/collection/components/buttons/buttons.ionic.css +0 -97
  1038. package/dist/collection/components/card/card.ionic.css +0 -144
  1039. package/dist/collection/components/card-content/card-content.ionic.css +0 -89
  1040. package/dist/collection/components/card-header/card-header.ionic.css +0 -85
  1041. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +0 -144
  1042. package/dist/collection/components/checkbox/checkbox.ionic.css +0 -543
  1043. package/dist/collection/components/chip/chip.ionic.css +0 -217
  1044. package/dist/collection/components/datetime/datetime.ionic.css +0 -703
  1045. package/dist/collection/components/divider/divider.ionic.css +0 -148
  1046. package/dist/collection/components/divider/divider.ios.css +0 -87
  1047. package/dist/collection/components/divider/divider.js +0 -94
  1048. package/dist/collection/components/divider/divider.md.css +0 -87
  1049. package/dist/collection/components/footer/footer-interface.js +0 -1
  1050. package/dist/collection/components/gallery/gallery-constants.js +0 -12
  1051. package/dist/collection/components/gallery/gallery-interface.js +0 -1
  1052. package/dist/collection/components/gallery/gallery.css +0 -15
  1053. package/dist/collection/components/gallery/gallery.js +0 -679
  1054. package/dist/collection/components/gallery/test/utils.js +0 -100
  1055. package/dist/collection/components/gallery-item/gallery-item.css +0 -49
  1056. package/dist/collection/components/gallery-item/gallery-item.js +0 -99
  1057. package/dist/collection/components/header/header-interface.js +0 -1
  1058. package/dist/collection/components/header/header.ionic.css +0 -250
  1059. package/dist/collection/components/input/input.ionic.css +0 -891
  1060. package/dist/collection/components/input-otp/input-otp.ionic.css +0 -371
  1061. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +0 -78
  1062. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +0 -61
  1063. package/dist/collection/components/item/item.ionic.css +0 -496
  1064. package/dist/collection/components/item-option/item-option.ionic.css +0 -277
  1065. package/dist/collection/components/item-options/item-options.ionic.css +0 -221
  1066. package/dist/collection/components/item-sliding/item-sliding.ionic.css +0 -211
  1067. package/dist/collection/components/list/list.ionic.css +0 -212
  1068. package/dist/collection/components/list-header/list-header.ionic.css +0 -190
  1069. package/dist/collection/components/menu-button/menu-button.ionic.css +0 -236
  1070. package/dist/collection/components/modal/animations/ionic.enter.js +0 -40
  1071. package/dist/collection/components/modal/animations/ionic.leave.js +0 -28
  1072. package/dist/collection/components/modal/modal.ionic.css +0 -255
  1073. package/dist/collection/components/picker-legacy/animations/ios.enter.js +0 -27
  1074. package/dist/collection/components/picker-legacy/animations/ios.leave.js +0 -23
  1075. package/dist/collection/components/picker-legacy/picker-interface.js +0 -1
  1076. package/dist/collection/components/picker-legacy/picker.ios.css +0 -312
  1077. package/dist/collection/components/picker-legacy/picker.js +0 -891
  1078. package/dist/collection/components/picker-legacy/picker.md.css +0 -299
  1079. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -243
  1080. package/dist/collection/components/picker-legacy-column/picker-column.js +0 -422
  1081. package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -234
  1082. package/dist/collection/components/picker-legacy-column/test/test.utils.js +0 -43
  1083. package/dist/collection/components/popover/popover.ionic.css +0 -290
  1084. package/dist/collection/components/progress-bar/progress-bar.ionic.css +0 -287
  1085. package/dist/collection/components/radio/radio.ionic.css +0 -422
  1086. package/dist/collection/components/radio-group/radio-group.ionic.css +0 -119
  1087. package/dist/collection/components/range/range.ionic.css +0 -567
  1088. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +0 -215
  1089. package/dist/collection/components/searchbar/searchbar.ionic.css +0 -622
  1090. package/dist/collection/components/segment/segment.ionic.css +0 -115
  1091. package/dist/collection/components/segment-button/segment-button.ionic.css +0 -352
  1092. package/dist/collection/components/select/select.ionic.css +0 -809
  1093. package/dist/collection/components/select-modal/select-modal.ionic.css +0 -257
  1094. package/dist/collection/components/select-popover/select-popover.ionic.css +0 -255
  1095. package/dist/collection/components/spinner/spinner.native.css +0 -199
  1096. package/dist/collection/components/tab-bar/tab-bar.ionic.css +0 -249
  1097. package/dist/collection/components/tab-button/tab-button.ionic.css +0 -373
  1098. package/dist/collection/components/textarea/textarea.ionic.css +0 -898
  1099. package/dist/collection/components/title/title.ionic.css +0 -127
  1100. package/dist/collection/components/toast/toast.ionic.css +0 -394
  1101. package/dist/collection/components/toggle/toggle.ionic.css +0 -512
  1102. package/dist/collection/components/toolbar/test/image.svg +0 -1
  1103. package/dist/collection/components/toolbar/toolbar.ionic.css +0 -249
  1104. package/dist/collection/utils/css-value-validation.js +0 -39
  1105. package/dist/collection/utils/forms/clear-button-press-controller.js +0 -40
  1106. package/dist/collection/utils/scroll-hide-controller.js +0 -178
  1107. package/dist/esm/caret-down-D1t981Ih.js +0 -6
  1108. package/dist/esm/caret-left-fIOYmaqA.js +0 -6
  1109. package/dist/esm/caret-right-BYSs-jZz.js +0 -6
  1110. package/dist/esm/clear-button-press-controller-C79TPm5p.js +0 -43
  1111. package/dist/esm/input.utils-fs4B7WL5.js +0 -147
  1112. package/dist/esm/ion-datetime_3.entry.js +0 -3238
  1113. package/dist/esm/ion-divider.entry.js +0 -49
  1114. package/dist/esm/ion-gallery-item.entry.js +0 -57
  1115. package/dist/esm/ion-gallery.entry.js +0 -605
  1116. package/dist/esm/ionic-global-CEwbmRLz.js +0 -508
  1117. package/dist/esm/list-Dhi5xtNS.js +0 -6
  1118. package/dist/esm/notch-controller-CsbpmbOz.js +0 -153
  1119. package/dist/esm/scroll-hide-controller-CfbtPBWv.js +0 -342
  1120. package/dist/esm/theme-DaJxRxSQ.js +0 -67
  1121. package/dist/esm/validity-BjW8SOqw.js +0 -48
  1122. package/dist/esm/x-BDqjX7Z_.js +0 -6
  1123. package/dist/ionic/p--sroV-k-.js +0 -4
  1124. package/dist/ionic/p-00731d20.entry.js +0 -4
  1125. package/dist/ionic/p-03c20a50.entry.js +0 -4
  1126. package/dist/ionic/p-03ec6673.entry.js +0 -4
  1127. package/dist/ionic/p-0405ec57.entry.js +0 -4
  1128. package/dist/ionic/p-04f16322.entry.js +0 -4
  1129. package/dist/ionic/p-09123f89.entry.js +0 -4
  1130. package/dist/ionic/p-15028853.entry.js +0 -4
  1131. package/dist/ionic/p-16c5db90.entry.js +0 -4
  1132. package/dist/ionic/p-1d1dfb68.entry.js +0 -4
  1133. package/dist/ionic/p-231572a0.entry.js +0 -4
  1134. package/dist/ionic/p-2740db6e.entry.js +0 -4
  1135. package/dist/ionic/p-2a6d4601.entry.js +0 -4
  1136. package/dist/ionic/p-2d8fe33c.entry.js +0 -4
  1137. package/dist/ionic/p-2dbc50d9.entry.js +0 -4
  1138. package/dist/ionic/p-32d3095c.entry.js +0 -4
  1139. package/dist/ionic/p-356cd619.entry.js +0 -4
  1140. package/dist/ionic/p-391bdb60.entry.js +0 -4
  1141. package/dist/ionic/p-3b2ab5b4.entry.js +0 -4
  1142. package/dist/ionic/p-4e3e750a.entry.js +0 -4
  1143. package/dist/ionic/p-4fee0df6.entry.js +0 -4
  1144. package/dist/ionic/p-547d010c.entry.js +0 -4
  1145. package/dist/ionic/p-54895118.entry.js +0 -4
  1146. package/dist/ionic/p-6163d04d.entry.js +0 -4
  1147. package/dist/ionic/p-679c1448.entry.js +0 -4
  1148. package/dist/ionic/p-6de524e5.entry.js +0 -4
  1149. package/dist/ionic/p-764d7ea2.entry.js +0 -4
  1150. package/dist/ionic/p-7k7Q1A38.js +0 -4
  1151. package/dist/ionic/p-81BMEE8Q.js +0 -4
  1152. package/dist/ionic/p-8d6d7acb.entry.js +0 -4
  1153. package/dist/ionic/p-96732fe2.entry.js +0 -4
  1154. package/dist/ionic/p-96c4c1b9.entry.js +0 -4
  1155. package/dist/ionic/p-9745f518.entry.js +0 -4
  1156. package/dist/ionic/p-9a40af3c.entry.js +0 -4
  1157. package/dist/ionic/p-9e725104.entry.js +0 -4
  1158. package/dist/ionic/p-B4Kq2YNk.js +0 -4
  1159. package/dist/ionic/p-BDqjX7Z_.js +0 -4
  1160. package/dist/ionic/p-BTEOs1at.js +0 -4
  1161. package/dist/ionic/p-BYSs-jZz.js +0 -4
  1162. package/dist/ionic/p-BbWo-T8F.js +0 -4
  1163. package/dist/ionic/p-BjW8SOqw.js +0 -4
  1164. package/dist/ionic/p-Bvz8PHo5.js +0 -4
  1165. package/dist/ionic/p-BwKpO3Is.js +0 -4
  1166. package/dist/ionic/p-C0EQceqV.js +0 -5
  1167. package/dist/ionic/p-C1_a9uRb.js +0 -4
  1168. package/dist/ionic/p-C53feagD.js +0 -4
  1169. package/dist/ionic/p-C6WD6qSF.js +0 -4
  1170. package/dist/ionic/p-C7urd_wE.js +0 -4
  1171. package/dist/ionic/p-CCgRIJJv.js +0 -4
  1172. package/dist/ionic/p-CEkwLb3L.js +0 -4
  1173. package/dist/ionic/p-CGFf6My7.js +0 -4
  1174. package/dist/ionic/p-CLUwRxij.js +0 -4
  1175. package/dist/ionic/p-CODBQrPj.js +0 -4
  1176. package/dist/ionic/p-CP_sVwEm.js +0 -4
  1177. package/dist/ionic/p-CSMWpRc0.js +0 -4
  1178. package/dist/ionic/p-CYYo93al.js +0 -4
  1179. package/dist/ionic/p-Cipl19Qe.js +0 -4
  1180. package/dist/ionic/p-Cl0B-RWe.js +0 -4
  1181. package/dist/ionic/p-CnIzWLAn.js +0 -4
  1182. package/dist/ionic/p-Cvvva6Z7.js +0 -4
  1183. package/dist/ionic/p-D1t981Ih.js +0 -4
  1184. package/dist/ionic/p-DINFwXlp.js +0 -4
  1185. package/dist/ionic/p-DIvCXVmD.js +0 -4
  1186. package/dist/ionic/p-DTsDGZPd.js +0 -4
  1187. package/dist/ionic/p-DaJxRxSQ.js +0 -4
  1188. package/dist/ionic/p-Dhi5xtNS.js +0 -4
  1189. package/dist/ionic/p-DtQgCTtW.js +0 -4
  1190. package/dist/ionic/p-DuRx6DeQ.js +0 -4
  1191. package/dist/ionic/p-YGLqXqFd.js +0 -4
  1192. package/dist/ionic/p-YIsE5bNG.js +0 -4
  1193. package/dist/ionic/p-a61c2ace.entry.js +0 -4
  1194. package/dist/ionic/p-abb516e3.entry.js +0 -4
  1195. package/dist/ionic/p-b54edee6.entry.js +0 -4
  1196. package/dist/ionic/p-c076ac5c.entry.js +0 -4
  1197. package/dist/ionic/p-c4ff25cb.entry.js +0 -4
  1198. package/dist/ionic/p-c7279756.entry.js +0 -4
  1199. package/dist/ionic/p-c7ebed50.entry.js +0 -4
  1200. package/dist/ionic/p-cd0037e4.entry.js +0 -4
  1201. package/dist/ionic/p-d261938d.entry.js +0 -4
  1202. package/dist/ionic/p-d33dfc12.entry.js +0 -4
  1203. package/dist/ionic/p-d7764330.entry.js +0 -4
  1204. package/dist/ionic/p-defb23a2.entry.js +0 -4
  1205. package/dist/ionic/p-df642ef5.entry.js +0 -4
  1206. package/dist/ionic/p-e2a35249.entry.js +0 -4
  1207. package/dist/ionic/p-e2b952ef.entry.js +0 -4
  1208. package/dist/ionic/p-e77cfd1e.entry.js +0 -4
  1209. package/dist/ionic/p-ecb9d3d3.entry.js +0 -4
  1210. package/dist/ionic/p-efd13adf.entry.js +0 -4
  1211. package/dist/ionic/p-f0904c1d.entry.js +0 -4
  1212. package/dist/ionic/p-f33689f7.entry.js +0 -4
  1213. package/dist/ionic/p-f693efe9.entry.js +0 -4
  1214. package/dist/ionic/p-f788396b.entry.js +0 -4
  1215. package/dist/ionic/p-fIOYmaqA.js +0 -4
  1216. package/dist/ionic/p-fa16fad8.entry.js +0 -4
  1217. package/dist/ionic/p-lMb_45ax.js +0 -4
  1218. package/dist/ionic/p-oadJNPuo.js +0 -4
  1219. package/dist/ionic/p-vXpMhGrs.js +0 -4
  1220. package/dist/ionic/p-wNjWCZVO.js +0 -4
  1221. package/dist/types/components/divider/divider.d.ts +0 -20
  1222. package/dist/types/components/footer/footer-interface.d.ts +0 -1
  1223. package/dist/types/components/gallery/gallery-constants.d.ts +0 -9
  1224. package/dist/types/components/gallery/gallery-interface.d.ts +0 -10
  1225. package/dist/types/components/gallery/gallery.d.ts +0 -218
  1226. package/dist/types/components/gallery/test/utils.d.ts +0 -3
  1227. package/dist/types/components/gallery-item/gallery-item.d.ts +0 -33
  1228. package/dist/types/components/header/header-interface.d.ts +0 -1
  1229. package/dist/types/components/modal/animations/ionic.enter.d.ts +0 -6
  1230. package/dist/types/components/modal/animations/ionic.leave.d.ts +0 -6
  1231. package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +0 -5
  1232. package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +0 -5
  1233. package/dist/types/components/picker-legacy/picker-interface.d.ts +0 -52
  1234. package/dist/types/components/picker-legacy/picker.d.ts +0 -159
  1235. package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
  1236. package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +0 -9
  1237. package/dist/types/utils/css-value-validation.d.ts +0 -21
  1238. package/dist/types/utils/forms/clear-button-press-controller.d.ts +0 -20
  1239. package/dist/types/utils/scroll-hide-controller.d.ts +0 -56
  1240. /package/dist/collection/components/{refresher-content/refresher-content.css → input-password-toggle/input-password-toggle.css} +0 -0
@@ -1,20 +1,19 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, c as createEvent, i as forceUpdate, w as writeTask, h, d as Host, g as getElement } from './index-C0EQceqV.js';
5
- import { c as createNotchController } from './notch-controller-CsbpmbOz.js';
6
- import { c as checkInvalidState, r as reportValidityToElementInternals } from './validity-BjW8SOqw.js';
7
- import { d as debounceEvent, i as inheritAriaAttributes, b as inheritAttributes, c as componentOnReady } from './helpers-DfF5_wJc.js';
8
- import { c as createSlotMutationController, g as getCounterText } from './input.utils-fs4B7WL5.js';
9
- import { h as hostContext, c as createColorClasses } from './theme-DaJxRxSQ.js';
10
- import { c as getIonTheme } from './ionic-global-CEwbmRLz.js';
11
- import './focus-visible-vXpMhGrs.js';
4
+ import { r as registerInstance, c as createEvent, g as getElement, i as forceUpdate, w as writeTask, h, d as Host } from './index-ChhhtsGZ.js';
5
+ import { c as createSlotMutationController, a as createNotchController, b as createStartContainerController } from './slot-mutation-controller-u741eD3Z.js';
6
+ import { c as checkInvalidState } from './validity-DJztqcrH.js';
7
+ import { d as debounceEvent, b as inheritAttributes, i as inheritAriaAttributes, c as componentOnReady } from './helpers-DexiPLIC.js';
8
+ import { h as hostContext, c as createColorClasses } from './theme-byZM6qHV.js';
9
+ import { b as getIonMode } from './ionic-global-BVB7BrLT.js';
10
+ import { g as getCounterText } from './input.utils-B1ValN_N.js';
11
+ import './index-ZjP4CjeZ.js';
12
+ import './dir-B-FxiyeI.js';
12
13
 
13
- const textareaIonicCss = () => `:host{--background:initial;--color:initial;--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--padding-top:0;--padding-end:0;--padding-start:0;--border-radius:0;--border-style:solid;--highlight-color:var(--highlight-color-focused);display:block;position:relative;width:100%;color:var(--color);-webkit-box-sizing:border-box;box-sizing:border-box}:host([cols]:not([auto-grow])){width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}:host(.ion-color){background:initial}:host(.in-item){-ms-flex-item-align:baseline;align-self:baseline}:host(.in-item[slot=start]),:host(.in-item[slot=end]){width:auto}.native-textarea{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:block;position:relative;-ms-flex:1;flex:1;width:100%;max-width:100%;max-height:100%;border:0;outline:none;background:transparent;white-space:pre-wrap;z-index:1;-webkit-box-sizing:border-box;box-sizing:border-box;resize:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.native-textarea::-webkit-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea::-moz-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea:-ms-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea::-ms-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea::placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea{color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;grid-area:1/1/2/2;word-break:break-word}.cloned-input{position:absolute;top:0;bottom:0;height:auto;max-height:none;pointer-events:none}.cloned-input:disabled{opacity:1}:host([auto-grow]) .cloned-input{height:100%}:host([auto-grow]) .native-textarea{overflow:hidden}.textarea-wrapper{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:0px;padding-bottom:0px;border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:start;align-items:flex-start;height:inherit;min-height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;background:var(--background);line-height:normal}.native-wrapper{position:relative;width:100%;height:100%}:host(.has-focus) textarea{caret-color:var(--highlight-color)}.native-wrapper{display:grid;min-width:inherit;max-width:inherit;grid-auto-rows:100%}.native-wrapper::after{white-space:pre-wrap;content:attr(data-replicated-value) " ";visibility:hidden}.native-wrapper::after{padding-left:0;padding-right:0;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;border-radius:var(--border-radius);color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;grid-area:1/1/2/2;word-break:break-word}.textarea-wrapper-inner{display:-ms-flexbox;display:flex;width:100%;min-height:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-touched.ion-invalid){--highlight-color:var(--highlight-color-invalid)}:host(.ion-valid){--highlight-color:var(--highlight-color-valid)}.textarea-bottom{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;border-top:var(--border-width) var(--border-style) var(--border-color);white-space:normal}:host(.has-focus.ion-valid),:host(.ion-touched.ion-invalid){--border-color:var(--highlight-color)}.textarea-bottom .error-text{display:none;color:var(--highlight-color-invalid)}.textarea-bottom .helper-text{display:block}:host(.ion-touched.ion-invalid) .textarea-bottom .error-text{display:block}:host(.ion-touched.ion-invalid) .textarea-bottom .helper-text{display:none}.textarea-bottom .counter{-webkit-margin-start:auto;margin-inline-start:auto;white-space:nowrap}.label-text-wrapper{-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);pointer-events:none}.label-text,::slotted([slot=label]){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.textarea-outline{-webkit-box-sizing:border-box;box-sizing:border-box}.label-text-wrapper-hidden,.textarea-outline-notch-hidden{display:none}:host(.textarea-label-placement-start) .textarea-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.textarea-label-placement-end) .textarea-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.textarea-label-placement-stacked) .textarea-wrapper,:host(.textarea-label-placement-floating) .textarea-wrapper{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:start}:host(.textarea-label-placement-stacked) .label-text-wrapper,:host(.textarea-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top;-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:0px;padding-bottom:0px;max-width:100%;z-index:2}:host-context([dir=rtl]):host(.textarea-label-placement-stacked) .label-text-wrapper,:host-context([dir=rtl]).textarea-label-placement-stacked .label-text-wrapper,:host-context([dir=rtl]):host(.textarea-label-placement-floating) .label-text-wrapper,:host-context([dir=rtl]).textarea-label-placement-floating .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.textarea-label-placement-stacked:dir(rtl)) .label-text-wrapper,:host(.textarea-label-placement-floating:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.textarea-label-placement-floating) .label-text-wrapper{-webkit-transform:translateY(100%) scale(1);transform:translateY(100%) scale(1)}:host(.textarea-label-placement-floating) textarea{opacity:0}:host(.has-focus.textarea-label-placement-floating) textarea,:host(.has-value.textarea-label-placement-floating) textarea{opacity:1}.start-slot-wrapper,.end-slot-wrapper{display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0;-ms-flex-item-align:start;align-self:start}:host(.textarea-fill-outline){--border-width:var(--token-border-size-025, var(--token-scale-025, 1px));--border-color:var(--token-border-input-default, var(--token-primitives-neutral-600, #8c8c8c))}:host(.textarea-fill-outline) .textarea-wrapper{background:initial}:host(.textarea-fill-outline) .textarea-wrapper-inner{position:relative}:host(.textarea-fill-outline) .textarea-outline{right:0;left:0;top:0;bottom:0;border-radius:var(--border-radius);position:absolute;width:100%;height:100%;pointer-events:none;border:var(--border-width) var(--border-style) var(--border-color);background:var(--background)}:host(.textarea-fill-outline) .textarea-bottom{border-top:none}:host(.textarea-fill-outline.has-focus.ion-valid),:host(.textarea-fill-outline.ion-touched.ion-invalid){--border-color:var(--highlight-color)}:host(.textarea-fill-outline.textarea-readonly){--border-color:var(--token-border-input-default, var(--token-primitives-neutral-600, #8c8c8c));--border-width:var(--token-border-size-025, var(--token-scale-025, 1px))}:host(.textarea-fill-solid){--border-color:var(--token-bg-input-bold-default, var(--token-primitives-neutral-200, #eae9e9));--border-width:var(--token-border-size-050, var(--token-scale-050, 2px));--background:var(--token-bg-input-bold-default, var(--token-primitives-neutral-200, #eae9e9))}:host(.textarea-fill-solid) .textarea-wrapper{border-bottom:none;background:none}:host(.textarea-fill-solid) .textarea-wrapper-inner{border-radius:var(--border-radius);position:relative;border:var(--border-width) var(--border-style) var(--border-color);background:var(--background)}:host(.textarea-fill-solid) .textarea-bottom{--border-width:var(--token-scale-0, 0px)}:host(.textarea-fill-solid.has-focus){--border-color:var(--token-border-focus-default, var(--token-primitives-blue-400, #b5c0f7))}:host(.textarea-fill-solid.has-focus.ion-valid),:host(.textarea-fill-solid.ion-touched.ion-invalid){--border-width:var(--token-border-size-050, var(--token-scale-050, 2px));--border-color:var(--highlight-color)}:host(.textarea-fill-solid.textarea-readonly){--background:var(--token-bg-input-bold-read-only, var(--token-primitives-neutral-300, #e0e0e0));--border-color:var(--token-bg-input-bold-read-only, var(--token-primitives-neutral-300, #e0e0e0))}:host(.textarea-fill-solid.textarea-readonly.ion-invalid){--border-color:rgba(var(--token-semantics-danger-base-rgb, 229, 41, 41), 0.6)}:host(.textarea-fill-solid.textarea-disabled){--background:var(--token-bg-input-bold-disabled, var(--token-primitives-neutral-300, #e0e0e0));--border-color:var(--token-bg-input-bold-disabled, var(--token-primitives-neutral-300, #e0e0e0))}:host{--border-color:var(--token-border-input-default, var(--token-primitives-neutral-600, #8c8c8c));--color:var(--token-text-default, var(--token-primitives-neutral-1200, #242424));--highlight-color-valid:var(--token-text-success, var(--token-semantics-success-900, var(--token-primitives-green-900, #126f23)));--highlight-color-invalid:var(--token-semantics-danger-800, var(--token-primitives-red-800, #bf2222));--highlight-color-focused:var(--ion-color-primary, var(--token-bg-primary-base-default, var(--token-semantics-primary-base, var(--token-semantics-primary-700, var(--token-primitives-blue-700, #105cef)))));--placeholder-color:var(--token-text-subtlest, var(--token-primitives-neutral-800, #626262));--placeholder-opacity:1;--background:var(--token-bg-surface-default, var(--token-primitives-base-white, #ffffff));--padding-bottom:var(--token-space-200, var(--token-scale-200, 8px));font-size:var(--token-font-size-350, 0.875rem);font-weight:var(--token-font-weight-regular, 400);letter-spacing:var(--token-font-letter-spacing-0, 0%);line-height:var(--token-font-line-height-600, var(--token-scale-600, 24px));text-decoration:none;text-transform:none}:host(.ion-color){--highlight-color-focused:var(--ion-color-base)}:host(.textarea-size-small) .textarea-wrapper-inner{--padding-top:var(--token-space-200, var(--token-scale-200, 8px));--padding-end:var(--token-space-300, var(--token-scale-300, 12px));--padding-bottom:var(--token-space-200, var(--token-scale-200, 8px));--padding-start:var(--token-space-300, var(--token-scale-300, 12px))}:host(.textarea-size-medium) .textarea-wrapper-inner{--padding-top:var(--token-space-300, var(--token-scale-300, 12px));--padding-end:var(--token-space-400, var(--token-scale-400, 16px));--padding-bottom:var(--token-space-300, var(--token-scale-300, 12px));--padding-start:var(--token-space-400, var(--token-scale-400, 16px))}:host(.textarea-size-large) .textarea-wrapper-inner{--padding-top:var(--token-space-400, var(--token-scale-400, 16px));--padding-end:var(--token-space-500, var(--token-scale-500, 20px));--padding-bottom:var(--token-space-400, var(--token-scale-400, 16px));--padding-start:var(--token-space-500, var(--token-scale-500, 20px))}:host .native-wrapper::after{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}:host(.textarea-shape-soft){--border-radius:var(--token-soft-xl, var(--token-border-radius-200, var(--token-scale-200, 8px)))}:host(.textarea-shape-round){--border-radius:var(--token-round-xl, var(--token-border-radius-400, var(--token-scale-400, 16px)))}:host(.textarea-shape-rectangular){--border-radius:var(--token-rectangular-xl, var(--token-border-radius-0, var(--token-scale-0, 0px)))}:host([auto-grow]) .textarea-wrapper-inner{height:auto}:host([auto-grow]) .native-wrapper{min-height:inherit;max-height:inherit}.textarea-wrapper{gap:var(--token-space-100, var(--token-scale-100, 4px))}.textarea-wrapper-inner{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom)}:host([rows]:not([auto-grow])) .textarea-wrapper-inner{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:0;padding-bottom:0}:host([rows]:not([auto-grow])) .textarea-wrapper-inner .native-textarea{padding-top:var(--padding-top);padding-bottom:var(--padding-bottom)}:host(.has-focus.ion-valid),:host(.ion-touched.ion-invalid){--border-width:var(--token-border-size-025, var(--token-scale-025, 1px))}.textarea-highlight{bottom:-1px;position:absolute;width:100%;height:var(--token-border-size-050, var(--token-scale-050, 2px));-webkit-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform var(--token-transition-time-200, 200ms);transition:-webkit-transform var(--token-transition-time-200, 200ms);transition:transform var(--token-transition-time-200, 200ms);transition:transform var(--token-transition-time-200, 200ms), -webkit-transform var(--token-transition-time-200, 200ms);background:var(--border-color)}.textarea-highlight{inset-inline-start:0}.textarea-bottom{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--token-space-100, var(--token-scale-100, 4px));font-size:var(--token-font-size-300, 0.75rem);font-weight:var(--token-font-weight-medium, 500);letter-spacing:var(--token-font-letter-spacing-0, 0%);line-height:var(--token-font-line-height-500, var(--token-scale-500, 20px));text-decoration:none;text-transform:none}.textarea-bottom .error-text{color:var(--token-text-danger, var(--token-semantics-danger-900, var(--token-primitives-red-900, #991b1b)))}.textarea-bottom .helper-text,.textarea-bottom .counter{color:var(--token-text-subtlest, var(--token-primitives-neutral-800, #626262))}:host(.has-focus.ion-valid) .helper-text{color:var(--highlight-color-valid)}.label-text-wrapper{font-size:var(--token-font-size-300, 0.75rem);font-weight:var(--token-font-weight-medium, 500);letter-spacing:var(--token-font-letter-spacing-0, 0%);line-height:var(--token-font-line-height-500, var(--token-scale-500, 20px));text-decoration:none;text-transform:none;max-width:var(--token-scale-5000, 200px);-webkit-transition:color var(--token-transition-time-150, 150ms) var(--token-transition-curve-expressive, cubic-bezier(0.4, 0, 0.2, 1)), -webkit-transform var(--token-transition-time-150, 150ms) var(--token-transition-curve-expressive, cubic-bezier(0.4, 0, 0.2, 1));transition:color var(--token-transition-time-150, 150ms) var(--token-transition-curve-expressive, cubic-bezier(0.4, 0, 0.2, 1)), -webkit-transform var(--token-transition-time-150, 150ms) var(--token-transition-curve-expressive, cubic-bezier(0.4, 0, 0.2, 1));transition:color var(--token-transition-time-150, 150ms) var(--token-transition-curve-expressive, cubic-bezier(0.4, 0, 0.2, 1)), transform var(--token-transition-time-150, 150ms) var(--token-transition-curve-expressive, cubic-bezier(0.4, 0, 0.2, 1));transition:color var(--token-transition-time-150, 150ms) var(--token-transition-curve-expressive, cubic-bezier(0.4, 0, 0.2, 1)), transform var(--token-transition-time-150, 150ms) var(--token-transition-curve-expressive, cubic-bezier(0.4, 0, 0.2, 1)), -webkit-transform var(--token-transition-time-150, 150ms) var(--token-transition-curve-expressive, cubic-bezier(0.4, 0, 0.2, 1));color:var(--token-text-subtle, var(--token-primitives-neutral-1000, #3b3b3b))}:host(.label-floating) .label-text-wrapper{-webkit-transform:none;transform:none}:host(.label-floating) .label-text-wrapper{max-width:calc(100% / 0.75)}.textarea-wrapper textarea{-webkit-transition:opacity var(--token-transition-time-150, 150ms) var(--token-transition-curve-expressive, cubic-bezier(0.4, 0, 0.2, 1));transition:opacity var(--token-transition-time-150, 150ms) var(--token-transition-curve-expressive, cubic-bezier(0.4, 0, 0.2, 1))}:host(.textarea-label-placement-fixed) .label-text{-ms-flex:0 0 calc(var(--token-scale-2400, 96px) + var(--token-space-100, var(--token-scale-100, 4px)));flex:0 0 calc(var(--token-scale-2400, 96px) + var(--token-space-100, var(--token-scale-100, 4px)));width:calc(var(--token-scale-2400, 96px) + var(--token-space-100, var(--token-scale-100, 4px)));min-width:calc(var(--token-scale-2400, 96px) + var(--token-space-100, var(--token-scale-100, 4px)));max-width:var(--token-scale-5000, 200px)}ion-icon{--color:globals.$ion-icon-subtlest;font-size:var(--token-scale-400, 16px)}.start-slot-wrapper,.end-slot-wrapper{margin-top:var(--token-space-050, var(--token-scale-050, 2px))}:host([rows]:not([auto-grow])) .start-slot-wrapper,:host([rows]:not([auto-grow])) .end-slot-wrapper{padding-left:0;padding-right:0;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom)}:host(.has-focus){--border-color:var(--token-border-focus-default, var(--token-primitives-blue-400, #b5c0f7));--border-width:var(--token-border-size-050, var(--token-scale-050, 2px))}:host(.has-focus) .textarea-highlight{-webkit-transform:scale(1);transform:scale(1)}@media (any-hover: hover){:host(:hover){--border-color:var(--token-border-focus-default, var(--token-primitives-blue-400, #b5c0f7))}}:host(.textarea-disabled){--color:var(--token-text-disabled, var(--token-primitives-neutral-500, #a2a2a2));--background:var(--token-bg-input-disabled, var(--token-primitives-neutral-100, #f3f3f3));--border-color:var(--token-border-disabled, var(--token-primitives-neutral-300, #e0e0e0));--placeholder-color:var(--token-text-disabled, var(--token-primitives-neutral-500, #a2a2a2))}:host(.textarea-disabled:not(.ion-valid)) .textarea-bottom .helper-text,:host(.textarea-disabled) .textarea-bottom .counter,:host(.textarea-disabled) .label-text-wrapper{color:var(--token-text-disabled, var(--token-primitives-neutral-500, #a2a2a2))}:host(.textarea-disabled.has-focus.ion-valid){--border-color:rgba(var(--token-semantics-success-base-rgb, 27, 164, 51), 0.6)}:host(.textarea-disabled.ion-touched.ion-invalid){--border-color:rgba(var(--token-semantics-danger-base-rgb, 229, 41, 41), 0.6)}:host(.textarea-disabled.ion-color){--border-color:rgba(var(--ion-color-base-rgb), 0.6)}:host(.textarea-disabled.has-focus.ion-valid) .textarea-bottom .helper-text,:host(.textarea-disabled.ion-touched.ion-invalid) .error-text{opacity:0.6}:host(.textarea-readonly){--background:var(--token-bg-input-read-only, var(--token-primitives-neutral-100, #f3f3f3))}`;
14
+ const textareaIosCss = () => `.sc-ion-textarea-ios-h{--background:initial;--color:initial;--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:var(--ion-placeholder-opacity, 0.6);--padding-top:0;--padding-end:0;--padding-bottom:8px;--padding-start:0;--border-radius:0;--border-style:solid;--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);--highlight-color:var(--highlight-color-focused);display:block;position:relative;width:100%;min-height:44px;color:var(--color);font-family:var(--ion-font-family, inherit);z-index:2;-webkit-box-sizing:border-box;box-sizing:border-box}[cols].sc-ion-textarea-ios-h:not([auto-grow]){width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.ion-color.sc-ion-textarea-ios-h{--highlight-color-focused:var(--ion-color-base);background:initial}ion-item.sc-ion-textarea-ios-h,ion-item .sc-ion-textarea-ios-h{-ms-flex-item-align:baseline;align-self:baseline}ion-item[slot=start].sc-ion-textarea-ios-h,ion-item [slot=start].sc-ion-textarea-ios-h,ion-item[slot=end].sc-ion-textarea-ios-h,ion-item [slot=end].sc-ion-textarea-ios-h{width:auto}.native-textarea.sc-ion-textarea-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:block;position:relative;-ms-flex:1;flex:1;width:100%;max-width:100%;max-height:100%;border:0;outline:none;background:transparent;white-space:pre-wrap;z-index:1;-webkit-box-sizing:border-box;box-sizing:border-box;resize:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.native-textarea.sc-ion-textarea-ios::-webkit-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-ios::-moz-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-ios:-ms-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-ios::-ms-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-ios::placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-ios{color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;grid-area:1/1/2/2;word-break:break-word}.cloned-input.sc-ion-textarea-ios{position:absolute;top:0;bottom:0;height:auto;max-height:none;pointer-events:none}.cloned-input.sc-ion-textarea-ios:disabled{opacity:1}[auto-grow].sc-ion-textarea-ios-h .cloned-input.sc-ion-textarea-ios{height:100%}[auto-grow].sc-ion-textarea-ios-h .native-textarea.sc-ion-textarea-ios{overflow:hidden}.textarea-wrapper.sc-ion-textarea-ios{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:0;padding-bottom:0;border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:start;align-items:flex-start;height:inherit;min-height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;background:var(--background);line-height:normal}.textarea-control.sc-ion-textarea-ios{padding-left:0;padding-right:0;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:start;align-items:start;-ms-flex-item-align:stretch;align-self:stretch;width:100%;min-width:0}.native-wrapper.sc-ion-textarea-ios{position:relative;width:100%;height:100%}.textarea-label-placement-start.sc-ion-textarea-ios-h .native-wrapper.sc-ion-textarea-ios,.textarea-label-placement-end.sc-ion-textarea-ios-h .native-wrapper.sc-ion-textarea-ios,.textarea-label-placement-fixed.sc-ion-textarea-ios-h .native-wrapper.sc-ion-textarea-ios{-ms-flex:1 1 0px;flex:1 1 0}.has-focus.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios{caret-color:var(--highlight-color)}.native-wrapper.sc-ion-textarea-ios{display:grid;min-width:inherit;max-width:inherit;min-height:inherit;max-height:inherit;grid-auto-rows:100%}.native-wrapper.sc-ion-textarea-ios::after{white-space:pre-wrap;content:attr(data-replicated-value) " ";visibility:hidden}.native-wrapper.sc-ion-textarea-ios::after{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;border-radius:var(--border-radius);color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;grid-area:1/1/2/2;word-break:break-word}.ion-touched.ion-invalid.sc-ion-textarea-ios-h{--highlight-color:var(--highlight-color-invalid)}.ion-valid.sc-ion-textarea-ios-h{--highlight-color:var(--highlight-color-valid)}.textarea-bottom.sc-ion-textarea-ios{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:5px;padding-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;border-top:var(--border-width) var(--border-style) var(--border-color);font-size:0.75rem;white-space:normal}.has-focus.ion-valid.sc-ion-textarea-ios-h,.ion-touched.ion-invalid.sc-ion-textarea-ios-h{--border-color:var(--highlight-color)}.textarea-bottom.sc-ion-textarea-ios .error-text.sc-ion-textarea-ios{display:none;color:var(--highlight-color-invalid)}.textarea-bottom.sc-ion-textarea-ios .helper-text.sc-ion-textarea-ios{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}.ion-touched.ion-invalid.sc-ion-textarea-ios-h .textarea-bottom.sc-ion-textarea-ios .error-text.sc-ion-textarea-ios{display:block}.ion-touched.ion-invalid.sc-ion-textarea-ios-h .textarea-bottom.sc-ion-textarea-ios .helper-text.sc-ion-textarea-ios{display:none}.textarea-bottom.sc-ion-textarea-ios .counter.sc-ion-textarea-ios{-webkit-margin-start:auto;margin-inline-start:auto;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));white-space:nowrap;-webkit-padding-start:16px;padding-inline-start:16px}.label-text-wrapper.sc-ion-textarea-ios{min-width:0;max-width:200px;-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);pointer-events:none}.skip-label-transition.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-transition:none;transition:none}.label-text.sc-ion-textarea-ios,.sc-ion-textarea-ios-s>[slot=label]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden.sc-ion-textarea-ios,.textarea-outline-notch-hidden.sc-ion-textarea-ios{display:none}.textarea-wrapper.sc-ion-textarea-ios textarea.sc-ion-textarea-ios{-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1)}.textarea-label-placement-start.sc-ion-textarea-ios-h .textarea-control.sc-ion-textarea-ios{-ms-flex-direction:row;flex-direction:row}.textarea-label-placement-start.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}.textarea-label-placement-end.sc-ion-textarea-ios-h .textarea-control.sc-ion-textarea-ios{-ms-flex-direction:row-reverse;flex-direction:row-reverse}.textarea-label-placement-end.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}.textarea-label-placement-fixed.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}.textarea-label-placement-fixed.sc-ion-textarea-ios-h .label-text.sc-ion-textarea-ios{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}.textarea-label-placement-stacked.sc-ion-textarea-ios-h,.textarea-label-placement-floating.sc-ion-textarea-ios-h{--padding-top:20px;--padding-bottom:6px}.textarea-label-placement-stacked.sc-ion-textarea-ios-h .textarea-control.sc-ion-textarea-ios,.textarea-label-placement-floating.sc-ion-textarea-ios-h .textarea-control.sc-ion-textarea-ios{padding-top:0;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:start}.textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-transform-origin:left top;transform-origin:left top;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;max-width:100%;z-index:2}[dir=rtl].sc-ion-textarea-ios-h -no-combinator.textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl] .sc-ion-textarea-ios-h -no-combinator.textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl].textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl] .textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl].sc-ion-textarea-ios-h -no-combinator.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl] .sc-ion-textarea-ios-h -no-combinator.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl].textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl] .textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){.textarea-label-placement-stacked.sc-ion-textarea-ios-h:dir(rtl) .label-text-wrapper.sc-ion-textarea-ios,.textarea-label-placement-floating.sc-ion-textarea-ios-h:dir(rtl) .label-text-wrapper.sc-ion-textarea-ios{-webkit-transform-origin:right top;transform-origin:right top}}.textarea-label-placement-stacked.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios,.textarea-label-placement-floating.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios,.textarea-label-placement-stacked[auto-grow].sc-ion-textarea-ios-h .native-wrapper.sc-ion-textarea-ios::after,.textarea-label-placement-floating[auto-grow].sc-ion-textarea-ios-h .native-wrapper.sc-ion-textarea-ios::after{-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:8px;margin-bottom:0px}.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-transform:translateY(100%) scale(1);transform:translateY(100%) scale(1)}.textarea-label-placement-floating.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios{opacity:0}.has-focus.textarea-label-placement-floating.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios,.has-value.textarea-label-placement-floating.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios{opacity:1}.label-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75);max-width:calc(100% / 0.75)}.textarea-start.sc-ion-textarea-ios,.textarea-end.sc-ion-textarea-ios{display:-ms-flexbox;display:flex;position:relative;-ms-flex-negative:0;flex-shrink:0;-ms-flex-item-align:start;align-self:start}.sc-ion-textarea-ios-s>[slot=start],.sc-ion-textarea-ios-s>[slot=end]{margin-top:var(--padding-top)}.sc-ion-textarea-ios-s>[slot=start]:last-of-type{-webkit-margin-end:16px;margin-inline-end:16px;-webkit-margin-start:0;margin-inline-start:0}.sc-ion-textarea-ios-s>[slot=end]:first-of-type{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}.sc-ion-textarea-ios-h{--border-width:0.55px;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));--padding-top:10px;--padding-end:0px;--padding-bottom:8px;--padding-start:0px;--highlight-height:0px;font-size:inherit}.textarea-label-placement-floating.sc-ion-textarea-ios-h,.textarea-label-placement-stacked.sc-ion-textarea-ios-h{min-height:56px}.textarea-disabled.sc-ion-textarea-ios-h{opacity:0.3}.sc-ion-textarea-ios-s>ion-button[slot=start],.sc-ion-textarea-ios-s>ion-button[slot=end]{margin-top:2px}.sc-ion-textarea-ios-h.textarea-label-placement-floating.sc-ion-textarea-ios-s>ion-button[slot=start],.sc-ion-textarea-ios-h.textarea-label-placement-floating .sc-ion-textarea-ios-s>ion-button[slot=start],.sc-ion-textarea-ios-h.textarea-label-placement-floating.sc-ion-textarea-ios-s>ion-button[slot=end],.sc-ion-textarea-ios-h.textarea-label-placement-floating .sc-ion-textarea-ios-s>ion-button[slot=end],.sc-ion-textarea-ios-h.textarea-label-placement-stacked.sc-ion-textarea-ios-s>ion-button[slot=start],.sc-ion-textarea-ios-h.textarea-label-placement-stacked .sc-ion-textarea-ios-s>ion-button[slot=start],.sc-ion-textarea-ios-h.textarea-label-placement-stacked.sc-ion-textarea-ios-s>ion-button[slot=end],.sc-ion-textarea-ios-h.textarea-label-placement-stacked .sc-ion-textarea-ios-s>ion-button[slot=end]{margin-top:10px}.sc-ion-textarea-ios-s>ion-button[slot=start].button-has-icon-only,.sc-ion-textarea-ios-s>ion-button[slot=end].button-has-icon-only{--border-radius:50%;--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;aspect-ratio:1}`;
14
15
 
15
- const textareaIosCss = () => `:host{--background:initial;--color:initial;--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--padding-top:0;--padding-end:0;--padding-start:0;--border-radius:0;--border-style:solid;--highlight-color:var(--highlight-color-focused);display:block;position:relative;width:100%;color:var(--color);-webkit-box-sizing:border-box;box-sizing:border-box}:host([cols]:not([auto-grow])){width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}:host(.ion-color){background:initial}:host(.in-item){-ms-flex-item-align:baseline;align-self:baseline}:host(.in-item[slot=start]),:host(.in-item[slot=end]){width:auto}.native-textarea{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:block;position:relative;-ms-flex:1;flex:1;width:100%;max-width:100%;max-height:100%;border:0;outline:none;background:transparent;white-space:pre-wrap;z-index:1;-webkit-box-sizing:border-box;box-sizing:border-box;resize:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.native-textarea::-webkit-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea::-moz-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea:-ms-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea::-ms-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea::placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea{color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;grid-area:1/1/2/2;word-break:break-word}.cloned-input{position:absolute;top:0;bottom:0;height:auto;max-height:none;pointer-events:none}.cloned-input:disabled{opacity:1}:host([auto-grow]) .cloned-input{height:100%}:host([auto-grow]) .native-textarea{overflow:hidden}.textarea-wrapper{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:0px;padding-bottom:0px;border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:start;align-items:flex-start;height:inherit;min-height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;background:var(--background);line-height:normal}.native-wrapper{position:relative;width:100%;height:100%}:host(.has-focus) textarea{caret-color:var(--highlight-color)}.native-wrapper{display:grid;min-width:inherit;max-width:inherit;grid-auto-rows:100%}.native-wrapper::after{white-space:pre-wrap;content:attr(data-replicated-value) " ";visibility:hidden}.native-wrapper::after{padding-left:0;padding-right:0;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;border-radius:var(--border-radius);color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;grid-area:1/1/2/2;word-break:break-word}.textarea-wrapper-inner{display:-ms-flexbox;display:flex;width:100%;min-height:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-touched.ion-invalid){--highlight-color:var(--highlight-color-invalid)}:host(.ion-valid){--highlight-color:var(--highlight-color-valid)}.textarea-bottom{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;border-top:var(--border-width) var(--border-style) var(--border-color);white-space:normal}:host(.has-focus.ion-valid),:host(.ion-touched.ion-invalid){--border-color:var(--highlight-color)}.textarea-bottom .error-text{display:none;color:var(--highlight-color-invalid)}.textarea-bottom .helper-text{display:block}:host(.ion-touched.ion-invalid) .textarea-bottom .error-text{display:block}:host(.ion-touched.ion-invalid) .textarea-bottom .helper-text{display:none}.textarea-bottom .counter{-webkit-margin-start:auto;margin-inline-start:auto;white-space:nowrap}.label-text-wrapper{-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);pointer-events:none}.label-text,::slotted([slot=label]){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.textarea-outline{-webkit-box-sizing:border-box;box-sizing:border-box}.label-text-wrapper-hidden,.textarea-outline-notch-hidden{display:none}:host(.textarea-label-placement-start) .textarea-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.textarea-label-placement-end) .textarea-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.textarea-label-placement-stacked) .textarea-wrapper,:host(.textarea-label-placement-floating) .textarea-wrapper{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:start}:host(.textarea-label-placement-stacked) .label-text-wrapper,:host(.textarea-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top;-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:0px;padding-bottom:0px;max-width:100%;z-index:2}:host-context([dir=rtl]):host(.textarea-label-placement-stacked) .label-text-wrapper,:host-context([dir=rtl]).textarea-label-placement-stacked .label-text-wrapper,:host-context([dir=rtl]):host(.textarea-label-placement-floating) .label-text-wrapper,:host-context([dir=rtl]).textarea-label-placement-floating .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.textarea-label-placement-stacked:dir(rtl)) .label-text-wrapper,:host(.textarea-label-placement-floating:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.textarea-label-placement-floating) .label-text-wrapper{-webkit-transform:translateY(100%) scale(1);transform:translateY(100%) scale(1)}:host(.textarea-label-placement-floating) textarea{opacity:0}:host(.has-focus.textarea-label-placement-floating) textarea,:host(.has-value.textarea-label-placement-floating) textarea{opacity:1}.start-slot-wrapper,.end-slot-wrapper{display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0;-ms-flex-item-align:start;align-self:start}:host{--placeholder-opacity:var(--ion-placeholder-opacity, 0.6);--padding-bottom:8px;--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);min-height:44px;font-family:var(--ion-font-family, inherit);z-index:2}:host(.ion-color){--highlight-color-focused:var(--ion-color-base)}:host(.textarea-label-placement-floating),:host(.textarea-label-placement-stacked){--padding-top:0px;min-height:56px}.native-wrapper{min-height:inherit;max-height:inherit}.native-wrapper textarea{-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom)}.textarea-bottom{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:5px;padding-bottom:0;font-size:0.75rem}.textarea-bottom .helper-text{color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}.textarea-bottom .counter{color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));-webkit-padding-start:16px;padding-inline-start:16px}:host(.textarea-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.textarea-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.textarea-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.textarea-label-placement-stacked) textarea,:host(.textarea-label-placement-floating) textarea,:host(.textarea-label-placement-stacked[auto-grow]) .native-wrapper::after,:host(.textarea-label-placement-floating[auto-grow]) .native-wrapper::after{-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:8px;margin-bottom:0px}.start-slot-wrapper,.end-slot-wrapper{padding-left:0;padding-right:0;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom)}:host(.textarea-label-placement-stacked) ::slotted([slot=start]),:host(.textarea-label-placement-stacked) ::slotted([slot=end]),:host(.textarea-label-placement-floating) ::slotted([slot=start]),:host(.textarea-label-placement-floating) ::slotted([slot=end]){margin-top:8px}::slotted([slot=start]),::slotted([slot=end]){margin-top:0}::slotted([slot=start]:last-of-type){-webkit-margin-end:16px;margin-inline-end:16px;-webkit-margin-start:0;margin-inline-start:0}::slotted([slot=end]:first-of-type){-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.label-floating) .label-text-wrapper{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75);max-width:calc(100% / 0.75)}.label-text-wrapper{max-width:200px;-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1)}.textarea-wrapper textarea{-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1)}:host(.textarea-label-placement-fixed) .label-text{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host{--border-width:0.55px;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));--padding-top:10px;--padding-end:0px;--padding-bottom:8px;--padding-start:0px;--highlight-height:0px;font-size:inherit}:host(.textarea-disabled){opacity:0.3}::slotted(ion-button[slot=start].button-has-icon-only),::slotted(ion-button[slot=end].button-has-icon-only){--border-radius:50%;--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;aspect-ratio:1}`;
16
-
17
- const textareaMdCss = () => `:host{--background:initial;--color:initial;--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--padding-top:0;--padding-end:0;--padding-start:0;--border-radius:0;--border-style:solid;--highlight-color:var(--highlight-color-focused);display:block;position:relative;width:100%;color:var(--color);-webkit-box-sizing:border-box;box-sizing:border-box}:host([cols]:not([auto-grow])){width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}:host(.ion-color){background:initial}:host(.in-item){-ms-flex-item-align:baseline;align-self:baseline}:host(.in-item[slot=start]),:host(.in-item[slot=end]){width:auto}.native-textarea{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:block;position:relative;-ms-flex:1;flex:1;width:100%;max-width:100%;max-height:100%;border:0;outline:none;background:transparent;white-space:pre-wrap;z-index:1;-webkit-box-sizing:border-box;box-sizing:border-box;resize:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.native-textarea::-webkit-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea::-moz-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea:-ms-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea::-ms-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea::placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea{color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;grid-area:1/1/2/2;word-break:break-word}.cloned-input{position:absolute;top:0;bottom:0;height:auto;max-height:none;pointer-events:none}.cloned-input:disabled{opacity:1}:host([auto-grow]) .cloned-input{height:100%}:host([auto-grow]) .native-textarea{overflow:hidden}.textarea-wrapper{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:0px;padding-bottom:0px;border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:start;align-items:flex-start;height:inherit;min-height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;background:var(--background);line-height:normal}.native-wrapper{position:relative;width:100%;height:100%}:host(.has-focus) textarea{caret-color:var(--highlight-color)}.native-wrapper{display:grid;min-width:inherit;max-width:inherit;grid-auto-rows:100%}.native-wrapper::after{white-space:pre-wrap;content:attr(data-replicated-value) " ";visibility:hidden}.native-wrapper::after{padding-left:0;padding-right:0;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;border-radius:var(--border-radius);color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;grid-area:1/1/2/2;word-break:break-word}.textarea-wrapper-inner{display:-ms-flexbox;display:flex;width:100%;min-height:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-touched.ion-invalid){--highlight-color:var(--highlight-color-invalid)}:host(.ion-valid){--highlight-color:var(--highlight-color-valid)}.textarea-bottom{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;border-top:var(--border-width) var(--border-style) var(--border-color);white-space:normal}:host(.has-focus.ion-valid),:host(.ion-touched.ion-invalid){--border-color:var(--highlight-color)}.textarea-bottom .error-text{display:none;color:var(--highlight-color-invalid)}.textarea-bottom .helper-text{display:block}:host(.ion-touched.ion-invalid) .textarea-bottom .error-text{display:block}:host(.ion-touched.ion-invalid) .textarea-bottom .helper-text{display:none}.textarea-bottom .counter{-webkit-margin-start:auto;margin-inline-start:auto;white-space:nowrap}.label-text-wrapper{-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);pointer-events:none}.label-text,::slotted([slot=label]){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.textarea-outline{-webkit-box-sizing:border-box;box-sizing:border-box}.label-text-wrapper-hidden,.textarea-outline-notch-hidden{display:none}:host(.textarea-label-placement-start) .textarea-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.textarea-label-placement-end) .textarea-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.textarea-label-placement-stacked) .textarea-wrapper,:host(.textarea-label-placement-floating) .textarea-wrapper{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:start}:host(.textarea-label-placement-stacked) .label-text-wrapper,:host(.textarea-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top;-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:0px;padding-bottom:0px;max-width:100%;z-index:2}:host-context([dir=rtl]):host(.textarea-label-placement-stacked) .label-text-wrapper,:host-context([dir=rtl]).textarea-label-placement-stacked .label-text-wrapper,:host-context([dir=rtl]):host(.textarea-label-placement-floating) .label-text-wrapper,:host-context([dir=rtl]).textarea-label-placement-floating .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.textarea-label-placement-stacked:dir(rtl)) .label-text-wrapper,:host(.textarea-label-placement-floating:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.textarea-label-placement-floating) .label-text-wrapper{-webkit-transform:translateY(100%) scale(1);transform:translateY(100%) scale(1)}:host(.textarea-label-placement-floating) textarea{opacity:0}:host(.has-focus.textarea-label-placement-floating) textarea,:host(.has-value.textarea-label-placement-floating) textarea{opacity:1}.start-slot-wrapper,.end-slot-wrapper{display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0;-ms-flex-item-align:start;align-self:start}:host{--placeholder-opacity:var(--ion-placeholder-opacity, 0.6);--padding-bottom:8px;--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);min-height:44px;font-family:var(--ion-font-family, inherit);z-index:2}:host(.ion-color){--highlight-color-focused:var(--ion-color-base)}:host(.textarea-label-placement-floating),:host(.textarea-label-placement-stacked){--padding-top:0px;min-height:56px}.native-wrapper{min-height:inherit;max-height:inherit}.native-wrapper textarea{-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom)}.textarea-bottom{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:5px;padding-bottom:0;font-size:0.75rem}.textarea-bottom .helper-text{color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}.textarea-bottom .counter{color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));-webkit-padding-start:16px;padding-inline-start:16px}:host(.textarea-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.textarea-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.textarea-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.textarea-label-placement-stacked) textarea,:host(.textarea-label-placement-floating) textarea,:host(.textarea-label-placement-stacked[auto-grow]) .native-wrapper::after,:host(.textarea-label-placement-floating[auto-grow]) .native-wrapper::after{-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:8px;margin-bottom:0px}.start-slot-wrapper,.end-slot-wrapper{padding-left:0;padding-right:0;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom)}:host(.textarea-label-placement-stacked) ::slotted([slot=start]),:host(.textarea-label-placement-stacked) ::slotted([slot=end]),:host(.textarea-label-placement-floating) ::slotted([slot=start]),:host(.textarea-label-placement-floating) ::slotted([slot=end]){margin-top:8px}::slotted([slot=start]),::slotted([slot=end]){margin-top:0}::slotted([slot=start]:last-of-type){-webkit-margin-end:16px;margin-inline-end:16px;-webkit-margin-start:0;margin-inline-start:0}::slotted([slot=end]:first-of-type){-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.label-floating) .label-text-wrapper{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75);max-width:calc(100% / 0.75)}.label-text-wrapper{max-width:200px;-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1)}.textarea-wrapper textarea{-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1)}:host(.textarea-label-placement-fixed) .label-text{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.textarea-fill-solid){--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--border-color:var(--ion-color-step-500, var(--ion-background-color-step-500, gray));--border-radius:4px;--padding-start:16px;--padding-end:16px;min-height:56px}:host(.textarea-fill-solid) .textarea-wrapper{border-bottom:var(--border-width) var(--border-style) var(--border-color)}:host(.has-focus.textarea-fill-solid.ion-valid),:host(.textarea-fill-solid.ion-touched.ion-invalid){--border-color:var(--highlight-color)}:host(.textarea-fill-solid) .textarea-bottom{border-top:none}@media (any-hover: hover){:host(.textarea-fill-solid:hover){--background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6));--border-color:var(--ion-color-step-750, var(--ion-background-color-step-750, #404040))}}:host(.textarea-fill-solid.has-focus){--background:var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));--border-color:var(--ion-color-step-750, var(--ion-background-color-step-750, #404040))}:host(.textarea-fill-solid) .textarea-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0px;border-end-start-radius:0px}:host(.label-floating.textarea-fill-solid) .label-text-wrapper{max-width:calc(100% / 0.75)}:host(.textarea-fill-outline){--border-color:var(--ion-color-step-300, var(--ion-background-color-step-300, #b3b3b3));--border-radius:4px;--padding-start:16px;--padding-end:16px;min-height:56px}:host(.textarea-fill-outline.textarea-shape-round){--border-radius:28px;--padding-start:32px;--padding-end:32px}:host(.has-focus.textarea-fill-outline.ion-valid),:host(.textarea-fill-outline.ion-touched.ion-invalid){--border-color:var(--highlight-color)}@media (any-hover: hover){:host(.textarea-fill-outline:hover){--border-color:var(--ion-color-step-750, var(--ion-background-color-step-750, #404040))}}:host(.textarea-fill-outline.has-focus){--border-width:var(--highlight-height);--border-color:var(--highlight-color)}:host(.textarea-fill-outline) .textarea-bottom{border-top:none}:host(.textarea-fill-outline) .textarea-wrapper{border-bottom:none}:host(.textarea-fill-outline.textarea-label-placement-stacked) .label-text-wrapper,:host(.textarea-fill-outline.textarea-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top;position:absolute;max-width:calc(100% - var(--padding-start) - var(--padding-end))}:host-context([dir=rtl]):host(.textarea-fill-outline.textarea-label-placement-stacked) .label-text-wrapper,:host-context([dir=rtl]).textarea-fill-outline.textarea-label-placement-stacked .label-text-wrapper,:host-context([dir=rtl]):host(.textarea-fill-outline.textarea-label-placement-floating) .label-text-wrapper,:host-context([dir=rtl]).textarea-fill-outline.textarea-label-placement-floating .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.textarea-fill-outline.textarea-label-placement-stacked:dir(rtl)) .label-text-wrapper,:host(.textarea-fill-outline.textarea-label-placement-floating:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.textarea-fill-outline) .label-text-wrapper{position:relative}:host(.label-floating.textarea-fill-outline) .label-text-wrapper{-webkit-transform:translateY(-32%) scale(0.75);transform:translateY(-32%) scale(0.75);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;max-width:calc( (100% - var(--padding-start) - var(--padding-end) - 8px) / 0.75 )}:host(.textarea-fill-outline.textarea-label-placement-stacked) textarea,:host(.textarea-fill-outline.textarea-label-placement-floating) textarea,:host(.textarea-fill-outline.textarea-label-placement-stacked[auto-grow]) .native-wrapper::after,:host(.textarea-fill-outline.textarea-label-placement-floating[auto-grow]) .native-wrapper::after{-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:12px;margin-bottom:0px}:host(.textarea-fill-outline.textarea-label-placement-stacked) ::slotted([slot=start]),:host(.textarea-fill-outline.textarea-label-placement-stacked) ::slotted([slot=end]),:host(.textarea-fill-outline.textarea-label-placement-floating) ::slotted([slot=start]),:host(.textarea-fill-outline.textarea-label-placement-floating) ::slotted([slot=end]){margin-top:12px}:host(.textarea-fill-outline) .textarea-outline-container{right:0;left:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;width:100%;height:100%}:host(.textarea-fill-outline) .textarea-outline-start,:host(.textarea-fill-outline) .textarea-outline-end{pointer-events:none}:host(.textarea-fill-outline) .textarea-outline-start,:host(.textarea-fill-outline) .textarea-outline-notch,:host(.textarea-fill-outline) .textarea-outline-end{border-top:var(--border-width) var(--border-style) var(--border-color);border-bottom:var(--border-width) var(--border-style) var(--border-color);-webkit-box-sizing:border-box;box-sizing:border-box}:host(.textarea-fill-outline) .textarea-outline-notch{max-width:calc(100% - var(--padding-start) - var(--padding-end))}:host(.textarea-fill-outline) .notch-spacer{-webkit-padding-end:8px;padding-inline-end:8px;font-size:calc(1em * 0.75);opacity:0;pointer-events:none;-webkit-box-sizing:content-box;box-sizing:content-box}:host(.textarea-fill-outline) .textarea-outline-start{border-start-start-radius:var(--border-radius);border-start-end-radius:0px;border-end-end-radius:0px;border-end-start-radius:var(--border-radius);-webkit-border-start:var(--border-width) var(--border-style) var(--border-color);border-inline-start:var(--border-width) var(--border-style) var(--border-color);width:calc(var(--padding-start) - 4px)}:host(.textarea-fill-outline) .textarea-outline-end{-webkit-border-end:var(--border-width) var(--border-style) var(--border-color);border-inline-end:var(--border-width) var(--border-style) var(--border-color);border-start-start-radius:0px;border-start-end-radius:var(--border-radius);border-end-end-radius:var(--border-radius);border-end-start-radius:0px;-ms-flex-positive:1;flex-grow:1}:host(.label-floating.textarea-fill-outline) .textarea-outline-notch{border-top:none}:host{--border-width:1px;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, var(--ion-background-color-step-150, rgba(0, 0, 0, 0.13)))));--padding-top:18px;--padding-end:0px;--padding-bottom:8px;--padding-start:0px;--highlight-height:2px;font-size:inherit}.textarea-bottom .counter{letter-spacing:0.0333333333em}:host(.textarea-label-placement-floating.has-focus) .label-text-wrapper,:host(.textarea-label-placement-stacked.has-focus) .label-text-wrapper{color:var(--highlight-color)}:host(.has-focus.textarea-label-placement-floating.ion-valid) .label-text-wrapper,:host(.textarea-label-placement-floating.ion-touched.ion-invalid) .label-text-wrapper,:host(.has-focus.textarea-label-placement-stacked.ion-valid) .label-text-wrapper,:host(.textarea-label-placement-stacked.ion-touched.ion-invalid) .label-text-wrapper{color:var(--highlight-color)}:host(.textarea-disabled){opacity:0.38}.textarea-highlight{bottom:-1px;position:absolute;width:100%;height:var(--highlight-height);-webkit-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform 200ms;transition:-webkit-transform 200ms;transition:transform 200ms;transition:transform 200ms, -webkit-transform 200ms;background:var(--highlight-color)}.textarea-highlight{inset-inline-start:0}:host(.has-focus) .textarea-highlight{-webkit-transform:scale(1);transform:scale(1)}:host(.in-item) .textarea-highlight{bottom:0}:host(.in-item) .textarea-highlight{inset-inline-start:0}:host(.textarea-shape-round){--border-radius:16px}::slotted(ion-button[slot=start].button-has-icon-only),::slotted(ion-button[slot=end].button-has-icon-only){--border-radius:50%;--padding-start:8px;--padding-end:8px;--padding-top:8px;--padding-bottom:8px;aspect-ratio:1;min-height:40px}`;
16
+ const textareaMdCss = () => `.sc-ion-textarea-md-h{--background:initial;--color:initial;--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:var(--ion-placeholder-opacity, 0.6);--padding-top:0;--padding-end:0;--padding-bottom:8px;--padding-start:0;--border-radius:0;--border-style:solid;--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);--highlight-color:var(--highlight-color-focused);display:block;position:relative;width:100%;min-height:44px;color:var(--color);font-family:var(--ion-font-family, inherit);z-index:2;-webkit-box-sizing:border-box;box-sizing:border-box}[cols].sc-ion-textarea-md-h:not([auto-grow]){width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.ion-color.sc-ion-textarea-md-h{--highlight-color-focused:var(--ion-color-base);background:initial}ion-item.sc-ion-textarea-md-h,ion-item .sc-ion-textarea-md-h{-ms-flex-item-align:baseline;align-self:baseline}ion-item[slot=start].sc-ion-textarea-md-h,ion-item [slot=start].sc-ion-textarea-md-h,ion-item[slot=end].sc-ion-textarea-md-h,ion-item [slot=end].sc-ion-textarea-md-h{width:auto}.native-textarea.sc-ion-textarea-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:block;position:relative;-ms-flex:1;flex:1;width:100%;max-width:100%;max-height:100%;border:0;outline:none;background:transparent;white-space:pre-wrap;z-index:1;-webkit-box-sizing:border-box;box-sizing:border-box;resize:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.native-textarea.sc-ion-textarea-md::-webkit-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-md::-moz-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-md:-ms-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-md::-ms-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-md::placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-md{color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;grid-area:1/1/2/2;word-break:break-word}.cloned-input.sc-ion-textarea-md{position:absolute;top:0;bottom:0;height:auto;max-height:none;pointer-events:none}.cloned-input.sc-ion-textarea-md:disabled{opacity:1}[auto-grow].sc-ion-textarea-md-h .cloned-input.sc-ion-textarea-md{height:100%}[auto-grow].sc-ion-textarea-md-h .native-textarea.sc-ion-textarea-md{overflow:hidden}.textarea-wrapper.sc-ion-textarea-md{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:0;padding-bottom:0;border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:start;align-items:flex-start;height:inherit;min-height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;background:var(--background);line-height:normal}.textarea-control.sc-ion-textarea-md{padding-left:0;padding-right:0;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:start;align-items:start;-ms-flex-item-align:stretch;align-self:stretch;width:100%;min-width:0}.native-wrapper.sc-ion-textarea-md{position:relative;width:100%;height:100%}.textarea-label-placement-start.sc-ion-textarea-md-h .native-wrapper.sc-ion-textarea-md,.textarea-label-placement-end.sc-ion-textarea-md-h .native-wrapper.sc-ion-textarea-md,.textarea-label-placement-fixed.sc-ion-textarea-md-h .native-wrapper.sc-ion-textarea-md{-ms-flex:1 1 0px;flex:1 1 0}.has-focus.sc-ion-textarea-md-h textarea.sc-ion-textarea-md{caret-color:var(--highlight-color)}.native-wrapper.sc-ion-textarea-md{display:grid;min-width:inherit;max-width:inherit;min-height:inherit;max-height:inherit;grid-auto-rows:100%}.native-wrapper.sc-ion-textarea-md::after{white-space:pre-wrap;content:attr(data-replicated-value) " ";visibility:hidden}.native-wrapper.sc-ion-textarea-md::after{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;border-radius:var(--border-radius);color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;grid-area:1/1/2/2;word-break:break-word}.ion-touched.ion-invalid.sc-ion-textarea-md-h{--highlight-color:var(--highlight-color-invalid)}.ion-valid.sc-ion-textarea-md-h{--highlight-color:var(--highlight-color-valid)}.textarea-bottom.sc-ion-textarea-md{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:5px;padding-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;border-top:var(--border-width) var(--border-style) var(--border-color);font-size:0.75rem;white-space:normal}.has-focus.ion-valid.sc-ion-textarea-md-h,.ion-touched.ion-invalid.sc-ion-textarea-md-h{--border-color:var(--highlight-color)}.textarea-bottom.sc-ion-textarea-md .error-text.sc-ion-textarea-md{display:none;color:var(--highlight-color-invalid)}.textarea-bottom.sc-ion-textarea-md .helper-text.sc-ion-textarea-md{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}.ion-touched.ion-invalid.sc-ion-textarea-md-h .textarea-bottom.sc-ion-textarea-md .error-text.sc-ion-textarea-md{display:block}.ion-touched.ion-invalid.sc-ion-textarea-md-h .textarea-bottom.sc-ion-textarea-md .helper-text.sc-ion-textarea-md{display:none}.textarea-bottom.sc-ion-textarea-md .counter.sc-ion-textarea-md{-webkit-margin-start:auto;margin-inline-start:auto;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));white-space:nowrap;-webkit-padding-start:16px;padding-inline-start:16px}.label-text-wrapper.sc-ion-textarea-md{min-width:0;max-width:200px;-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);pointer-events:none}.skip-label-transition.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md{-webkit-transition:none;transition:none}.label-text.sc-ion-textarea-md,.sc-ion-textarea-md-s>[slot=label]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden.sc-ion-textarea-md,.textarea-outline-notch-hidden.sc-ion-textarea-md{display:none}.textarea-wrapper.sc-ion-textarea-md textarea.sc-ion-textarea-md{-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1)}.textarea-label-placement-start.sc-ion-textarea-md-h .textarea-control.sc-ion-textarea-md{-ms-flex-direction:row;flex-direction:row}.textarea-label-placement-start.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}.textarea-label-placement-end.sc-ion-textarea-md-h .textarea-control.sc-ion-textarea-md{-ms-flex-direction:row-reverse;flex-direction:row-reverse}.textarea-label-placement-end.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}.textarea-label-placement-fixed.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}.textarea-label-placement-fixed.sc-ion-textarea-md-h .label-text.sc-ion-textarea-md{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}.textarea-label-placement-stacked.sc-ion-textarea-md-h,.textarea-label-placement-floating.sc-ion-textarea-md-h{--padding-top:20px;--padding-bottom:6px}.textarea-label-placement-stacked.sc-ion-textarea-md-h .textarea-control.sc-ion-textarea-md,.textarea-label-placement-floating.sc-ion-textarea-md-h .textarea-control.sc-ion-textarea-md{padding-top:0;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:start}.textarea-label-placement-stacked.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,.textarea-label-placement-floating.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md{-webkit-transform-origin:left top;transform-origin:left top;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;max-width:100%;z-index:2}[dir=rtl].sc-ion-textarea-md-h -no-combinator.textarea-label-placement-stacked.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,[dir=rtl] .sc-ion-textarea-md-h -no-combinator.textarea-label-placement-stacked.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,[dir=rtl].textarea-label-placement-stacked.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,[dir=rtl] .textarea-label-placement-stacked.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,[dir=rtl].sc-ion-textarea-md-h -no-combinator.textarea-label-placement-floating.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,[dir=rtl] .sc-ion-textarea-md-h -no-combinator.textarea-label-placement-floating.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,[dir=rtl].textarea-label-placement-floating.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,[dir=rtl] .textarea-label-placement-floating.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){.textarea-label-placement-stacked.sc-ion-textarea-md-h:dir(rtl) .label-text-wrapper.sc-ion-textarea-md,.textarea-label-placement-floating.sc-ion-textarea-md-h:dir(rtl) .label-text-wrapper.sc-ion-textarea-md{-webkit-transform-origin:right top;transform-origin:right top}}.textarea-label-placement-stacked.sc-ion-textarea-md-h textarea.sc-ion-textarea-md,.textarea-label-placement-floating.sc-ion-textarea-md-h textarea.sc-ion-textarea-md,.textarea-label-placement-stacked[auto-grow].sc-ion-textarea-md-h .native-wrapper.sc-ion-textarea-md::after,.textarea-label-placement-floating[auto-grow].sc-ion-textarea-md-h .native-wrapper.sc-ion-textarea-md::after{-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:8px;margin-bottom:0px}.textarea-label-placement-floating.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md{-webkit-transform:translateY(100%) scale(1);transform:translateY(100%) scale(1)}.textarea-label-placement-floating.sc-ion-textarea-md-h textarea.sc-ion-textarea-md{opacity:0}.has-focus.textarea-label-placement-floating.sc-ion-textarea-md-h textarea.sc-ion-textarea-md,.has-value.textarea-label-placement-floating.sc-ion-textarea-md-h textarea.sc-ion-textarea-md{opacity:1}.label-floating.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75);max-width:calc(100% / 0.75)}.textarea-start.sc-ion-textarea-md,.textarea-end.sc-ion-textarea-md{display:-ms-flexbox;display:flex;position:relative;-ms-flex-negative:0;flex-shrink:0;-ms-flex-item-align:start;align-self:start}.sc-ion-textarea-md-s>[slot=start],.sc-ion-textarea-md-s>[slot=end]{margin-top:var(--padding-top)}.sc-ion-textarea-md-s>[slot=start]:last-of-type{-webkit-margin-end:16px;margin-inline-end:16px;-webkit-margin-start:0;margin-inline-start:0}.sc-ion-textarea-md-s>[slot=end]:first-of-type{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}.textarea-fill-solid.sc-ion-textarea-md-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--border-color:var(--ion-color-step-500, var(--ion-background-color-step-500, gray));--border-radius:4px;--padding-start:16px;--padding-end:16px}.textarea-fill-solid.sc-ion-textarea-md-h .textarea-wrapper.sc-ion-textarea-md{border-bottom:var(--border-width) var(--border-style) var(--border-color)}.has-focus.textarea-fill-solid.ion-valid.sc-ion-textarea-md-h,.textarea-fill-solid.ion-touched.ion-invalid.sc-ion-textarea-md-h{--border-color:var(--highlight-color)}.textarea-fill-solid.sc-ion-textarea-md-h .textarea-bottom.sc-ion-textarea-md{border-top:none}@media (any-hover: hover){.textarea-fill-solid.sc-ion-textarea-md-h:hover{--background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6));--border-color:var(--ion-color-step-750, var(--ion-background-color-step-750, #404040))}}.textarea-fill-solid.has-focus.sc-ion-textarea-md-h{--background:var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));--border-color:var(--ion-color-step-750, var(--ion-background-color-step-750, #404040))}.textarea-fill-solid.sc-ion-textarea-md-h .textarea-wrapper.sc-ion-textarea-md{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0px;border-end-start-radius:0px}.label-floating.textarea-fill-solid.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md{max-width:calc(100% / 0.75)}.textarea-fill-outline.sc-ion-textarea-md-h{--border-color:var(--ion-color-step-300, var(--ion-background-color-step-300, #b3b3b3));--border-radius:4px;--padding-start:16px;--padding-end:16px;--internal-start-container-adjustment:0px}.textarea-fill-outline.textarea-shape-round.sc-ion-textarea-md-h{--border-radius:28px;--padding-start:32px;--padding-end:32px}.has-focus.textarea-fill-outline.ion-valid.sc-ion-textarea-md-h,.textarea-fill-outline.ion-touched.ion-invalid.sc-ion-textarea-md-h{--border-color:var(--highlight-color)}@media (any-hover: hover){.textarea-fill-outline.sc-ion-textarea-md-h:hover{--border-color:var(--ion-color-step-750, var(--ion-background-color-step-750, #404040))}}.textarea-fill-outline.has-focus.sc-ion-textarea-md-h{--border-width:var(--highlight-height);--border-color:var(--highlight-color)}.textarea-fill-outline.sc-ion-textarea-md-h .textarea-bottom.sc-ion-textarea-md{border-top:none}.textarea-fill-outline.sc-ion-textarea-md-h .textarea-wrapper.sc-ion-textarea-md{border-bottom:none}.textarea-fill-outline.sc-ion-textarea-md-h:not(.label-floating) .textarea-control.sc-ion-textarea-md{position:relative}.textarea-fill-outline.textarea-label-placement-stacked.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,.textarea-fill-outline.textarea-label-placement-floating.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md{-webkit-transform-origin:left top;transform-origin:left top;position:absolute;max-width:100%}[dir=rtl].sc-ion-textarea-md-h -no-combinator.textarea-fill-outline.textarea-label-placement-stacked.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,[dir=rtl] .sc-ion-textarea-md-h -no-combinator.textarea-fill-outline.textarea-label-placement-stacked.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,[dir=rtl].textarea-fill-outline.textarea-label-placement-stacked.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,[dir=rtl] .textarea-fill-outline.textarea-label-placement-stacked.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,[dir=rtl].sc-ion-textarea-md-h -no-combinator.textarea-fill-outline.textarea-label-placement-floating.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,[dir=rtl] .sc-ion-textarea-md-h -no-combinator.textarea-fill-outline.textarea-label-placement-floating.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,[dir=rtl].textarea-fill-outline.textarea-label-placement-floating.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,[dir=rtl] .textarea-fill-outline.textarea-label-placement-floating.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){.textarea-fill-outline.textarea-label-placement-stacked.sc-ion-textarea-md-h:dir(rtl) .label-text-wrapper.sc-ion-textarea-md,.textarea-fill-outline.textarea-label-placement-floating.sc-ion-textarea-md-h:dir(rtl) .label-text-wrapper.sc-ion-textarea-md{-webkit-transform-origin:right top;transform-origin:right top}}.textarea-fill-outline.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md{position:relative}.label-floating.textarea-fill-outline.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md{-webkit-transform:translate(var(--internal-start-container-adjustment, 0px), -32%) scale(0.75);transform:translate(var(--internal-start-container-adjustment, 0px), -32%) scale(0.75);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;max-width:calc( (100% - var(--padding-start) - var(--padding-end) - 8px) / 0.75 )}.textarea-fill-outline.textarea-label-placement-stacked.sc-ion-textarea-md-h textarea.sc-ion-textarea-md,.textarea-fill-outline.textarea-label-placement-floating.sc-ion-textarea-md-h textarea.sc-ion-textarea-md,.textarea-fill-outline.textarea-label-placement-stacked[auto-grow].sc-ion-textarea-md-h .native-wrapper.sc-ion-textarea-md::after,.textarea-fill-outline.textarea-label-placement-floating[auto-grow].sc-ion-textarea-md-h .native-wrapper.sc-ion-textarea-md::after{-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:19px;margin-bottom:0px}.textarea-fill-outline.sc-ion-textarea-md-h .textarea-outline-container.sc-ion-textarea-md{left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;width:100%;height:100%}.textarea-fill-outline.sc-ion-textarea-md-h .textarea-outline-start.sc-ion-textarea-md,.textarea-fill-outline.sc-ion-textarea-md-h .textarea-outline-end.sc-ion-textarea-md{pointer-events:none}.textarea-fill-outline.sc-ion-textarea-md-h .textarea-outline-start.sc-ion-textarea-md,.textarea-fill-outline.sc-ion-textarea-md-h .textarea-outline-notch.sc-ion-textarea-md,.textarea-fill-outline.sc-ion-textarea-md-h .textarea-outline-end.sc-ion-textarea-md{border-top:var(--border-width) var(--border-style) var(--border-color);border-bottom:var(--border-width) var(--border-style) var(--border-color)}.textarea-fill-outline.sc-ion-textarea-md-h .textarea-outline-notch.sc-ion-textarea-md{max-width:calc(100% - var(--padding-start) - var(--padding-end))}.textarea-fill-outline.sc-ion-textarea-md-h .notch-spacer.sc-ion-textarea-md{-webkit-padding-end:8px;padding-inline-end:8px;font-size:calc(1em * 0.75);opacity:0;pointer-events:none;-webkit-box-sizing:content-box;box-sizing:content-box}.textarea-fill-outline.sc-ion-textarea-md-h .textarea-outline-start.sc-ion-textarea-md{border-start-start-radius:var(--border-radius);border-start-end-radius:0px;border-end-end-radius:0px;border-end-start-radius:var(--border-radius);-webkit-border-start:var(--border-width) var(--border-style) var(--border-color);border-inline-start:var(--border-width) var(--border-style) var(--border-color);width:calc(var(--padding-start) - 4px)}.textarea-fill-outline.sc-ion-textarea-md-h .textarea-outline-end.sc-ion-textarea-md{-webkit-border-end:var(--border-width) var(--border-style) var(--border-color);border-inline-end:var(--border-width) var(--border-style) var(--border-color);border-start-start-radius:0px;border-start-end-radius:var(--border-radius);border-end-end-radius:var(--border-radius);border-end-start-radius:0px;-ms-flex-positive:1;flex-grow:1}.label-floating.textarea-fill-outline.sc-ion-textarea-md-h .textarea-outline-notch.sc-ion-textarea-md{border-top:none}.sc-ion-textarea-md-h{--border-width:1px;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, var(--ion-background-color-step-150, rgba(0, 0, 0, 0.13)))));--padding-top:18px;--padding-end:0px;--padding-bottom:8px;--padding-start:0px;--highlight-height:2px;min-height:72px;font-size:inherit}.textarea-bottom.sc-ion-textarea-md .counter.sc-ion-textarea-md{letter-spacing:0.0333333333em}.textarea-label-placement-floating.has-focus.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,.textarea-label-placement-stacked.has-focus.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md{color:var(--highlight-color)}.has-focus.textarea-label-placement-floating.ion-valid.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,.textarea-label-placement-floating.ion-touched.ion-invalid.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,.has-focus.textarea-label-placement-stacked.ion-valid.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md,.textarea-label-placement-stacked.ion-touched.ion-invalid.sc-ion-textarea-md-h .label-text-wrapper.sc-ion-textarea-md{color:var(--highlight-color)}.textarea-disabled.sc-ion-textarea-md-h{opacity:0.38}.textarea-highlight.sc-ion-textarea-md{bottom:-1px;position:absolute;width:100%;height:var(--highlight-height);-webkit-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform 200ms;transition:-webkit-transform 200ms;transition:transform 200ms;transition:transform 200ms, -webkit-transform 200ms;background:var(--highlight-color)}.textarea-highlight.sc-ion-textarea-md{inset-inline-start:0}.has-focus.sc-ion-textarea-md-h .textarea-highlight.sc-ion-textarea-md{-webkit-transform:scale(1);transform:scale(1)}.in-item.sc-ion-textarea-md-h .textarea-highlight.sc-ion-textarea-md{bottom:0}.in-item.sc-ion-textarea-md-h .textarea-highlight.sc-ion-textarea-md{inset-inline-start:0}.textarea-shape-round.sc-ion-textarea-md-h{--border-radius:16px}.sc-ion-textarea-md-s>ion-button[slot=start],.sc-ion-textarea-md-s>ion-button[slot=end]{margin-top:7px}.sc-ion-textarea-md-s>ion-button[slot=start].button-has-icon-only,.sc-ion-textarea-md-s>ion-button[slot=end].button-has-icon-only{--border-radius:50%;--padding-start:8px;--padding-end:8px;--padding-top:8px;--padding-bottom:8px;aspect-ratio:1;min-height:40px}`;
18
17
 
19
18
  const Textarea = class {
20
19
  constructor(hostRef) {
@@ -23,162 +22,190 @@ const Textarea = class {
23
22
  this.ionInput = createEvent(this, "ionInput", 7);
24
23
  this.ionBlur = createEvent(this, "ionBlur", 7);
25
24
  this.ionFocus = createEvent(this, "ionFocus", 7);
26
- if (hostRef.$hostElement$["s-ei"]) {
27
- this.internals = hostRef.$hostElement$["s-ei"];
28
- }
29
- else {
30
- this.internals = hostRef.$hostElement$.attachInternals();
31
- hostRef.$hostElement$["s-ei"] = this.internals;
32
- }
33
- this.inputId = `ion-textarea-${textareaIds++}`;
34
- this.helperTextId = `${this.inputId}-helper-text`;
35
- this.errorTextId = `${this.inputId}-error-text`;
36
- /**
37
- * `true` if the textarea was cleared as a result of the user typing
38
- * with `clearOnEdit` enabled.
39
- *
40
- * Resets when the textarea loses focus.
41
- */
42
- this.didTextareaClearOnEdit = false;
43
- this.inheritedAttributes = {};
44
- /**
45
- * The `hasFocus` state ensures the focus class is
46
- * added regardless of how the element is focused.
47
- * The `ion-focused` class only applies when focused
48
- * via tabbing, not by clicking.
49
- * The `has-focus` logic was added to ensure the class
50
- * is applied in both cases.
51
- */
52
- this.hasFocus = false;
53
- /**
54
- * Track validation state for proper aria-live announcements
55
- */
56
- this.isInvalid = false;
57
- /**
58
- * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.
59
- * Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
60
- */
61
- this.autocapitalize = 'none';
62
- /**
63
- * Sets the [`autofocus` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus) on the native input element.
64
- *
65
- * This may not be sufficient for the element to be focused on page load. See [managing focus](/docs/developing/managing-focus) for more information.
66
- */
67
- this.autofocus = false;
68
- /**
69
- * If `true`, the value will be cleared after focus upon edit.
70
- */
71
- this.clearOnEdit = false;
72
- /**
73
- * If `true`, the user cannot interact with the textarea.
74
- */
75
- this.disabled = false;
76
- /**
77
- * The name of the control, which is submitted with the form data.
78
- */
79
- this.name = this.inputId;
80
- /**
81
- * If `true`, the user cannot modify the value.
82
- */
83
- this.readonly = false;
84
- /**
85
- * If `true`, the user must fill in a value before submitting a form.
86
- */
87
- this.required = false;
88
- /**
89
- * If `true`, the element will have its spelling and grammar checked.
90
- */
91
- this.spellcheck = false;
92
- /**
93
- * If `true`, the textarea container will grow and shrink based
94
- * on the contents of the textarea.
95
- */
96
- this.autoGrow = false;
97
- /**
98
- * The value of the textarea.
99
- */
100
- this.value = '';
101
- /**
102
- * If `true`, a character counter will display the ratio of characters used and the total character limit.
103
- * Developers must also set the `maxlength` property for the counter to be calculated correctly.
104
- */
105
- this.counter = false;
106
- /**
107
- * Where to place the label relative to the textarea.
108
- * `"start"`: The label will appear to the left of the textarea in LTR and to the right in RTL.
109
- * `"end"`: The label will appear to the right of the textarea in LTR and to the left in RTL.
110
- * `"floating"`: The label will appear smaller and above the textarea when the textarea is focused or it has a value. Otherwise it will appear on top of the textarea.
111
- * `"stacked"`: The label will appear smaller and above the textarea regardless even when the textarea is blurred or has no value.
112
- * `"fixed"`: The label has the same behavior as `"start"` except it also has a fixed width. Long text will be truncated with ellipses ("...").
113
- */
114
- this.labelPlacement = 'start';
115
- /**
116
- * The size of the textarea. If "large" it will increase the height of the textarea, while
117
- * "small" and "medium" provide progressively smaller heights. The default size is "medium".
118
- * This property only applies to the `"ionic"` theme.
119
- */
120
- this.size = 'medium';
121
- // `Event` type is used instead of `InputEvent`
122
- // since the types from Stencil are not derived
123
- // from the element (e.g. textarea and input
124
- // should be InputEvent, but all other elements
125
- // should be Event).
126
- this.onInput = (ev) => {
127
- const input = ev.target;
128
- if (input) {
129
- this.value = input.value || '';
130
- }
131
- this.emitInputChange(ev);
132
- };
133
- this.onChange = (ev) => {
134
- this.emitValueChange(ev);
135
- };
136
- this.onFocus = (ev) => {
137
- this.hasFocus = true;
138
- this.focusedValue = this.value;
139
- this.ionFocus.emit(ev);
140
- };
141
- this.onBlur = (ev) => {
142
- this.hasFocus = false;
143
- if (this.focusedValue !== this.value) {
144
- /**
145
- * Emits the `ionChange` event when the textarea value
146
- * is different than the value when the textarea was focused.
147
- */
148
- this.emitValueChange(ev);
149
- }
150
- this.didTextareaClearOnEdit = false;
151
- this.ionBlur.emit(ev);
152
- };
153
- this.onKeyDown = (ev) => {
154
- this.checkClearOnEdit(ev);
155
- };
156
- /**
157
- * Stops propagation when the label is clicked,
158
- * otherwise, two clicks will be triggered.
159
- */
160
- this.onLabelClick = (ev) => {
161
- // Only stop propagation if the click was directly on the label
162
- // and not on the input or other child elements
163
- if (ev.target === ev.currentTarget) {
164
- ev.stopPropagation();
165
- }
166
- };
167
25
  }
26
+ nativeInput;
27
+ inputId = `ion-textarea-${textareaIds++}`;
28
+ helperTextId = `${this.inputId}-helper-text`;
29
+ errorTextId = `${this.inputId}-error-text`;
30
+ /**
31
+ * `true` if the textarea was cleared as a result of the user typing
32
+ * with `clearOnEdit` enabled.
33
+ *
34
+ * Resets when the textarea loses focus.
35
+ */
36
+ didTextareaClearOnEdit = false;
37
+ textareaWrapper;
38
+ inheritedAttributes = {};
39
+ originalIonInput;
40
+ slotMutationController;
41
+ notchController;
42
+ notchSpacerEl;
43
+ startContainerController;
44
+ startContainerEl;
45
+ /**
46
+ * The value of the textarea when the textarea is focused.
47
+ */
48
+ focusedValue;
49
+ get el() { return getElement(this); }
50
+ /**
51
+ * The `hasFocus` state ensures the focus class is
52
+ * added regardless of how the element is focused.
53
+ * The `ion-focused` class only applies when focused
54
+ * via tabbing, not by clicking.
55
+ * The `has-focus` logic was added to ensure the class
56
+ * is applied in both cases.
57
+ */
58
+ hasFocus = false;
59
+ /**
60
+ * Track validation state for proper aria-live announcements
61
+ */
62
+ isInvalid = false;
63
+ validationObserver;
64
+ /**
65
+ * The color to use from your application's color palette.
66
+ * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
67
+ * For more information on colors, see [theming](/docs/theming/basics).
68
+ */
69
+ color;
70
+ /**
71
+ * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.
72
+ * Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
73
+ */
74
+ autocapitalize = 'none';
75
+ /**
76
+ * Sets the [`autofocus` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus) on the native input element.
77
+ *
78
+ * This may not be sufficient for the element to be focused on page load. See [managing focus](/docs/developing/managing-focus) for more information.
79
+ */
80
+ autofocus = false;
81
+ /**
82
+ * If `true`, the value will be cleared after focus upon edit.
83
+ */
84
+ clearOnEdit = false;
85
+ /**
86
+ * Set the amount of time, in milliseconds, to wait to trigger the `ionInput` event after each keystroke.
87
+ */
88
+ debounce;
168
89
  debounceChanged() {
169
90
  const { ionInput, debounce, originalIonInput } = this;
170
91
  /**
171
92
  * If debounce is undefined, we have to manually revert the ionInput emitter in case
172
93
  * debounce used to be set to a number. Otherwise, the event would stay debounced.
173
94
  */
174
- this.ionInput = debounce === undefined ? originalIonInput !== null && originalIonInput !== void 0 ? originalIonInput : ionInput : debounceEvent(ionInput, debounce);
95
+ this.ionInput = debounce === undefined ? originalIonInput ?? ionInput : debounceEvent(ionInput, debounce);
175
96
  }
176
97
  /**
177
- * Update element internals when disabled prop changes
98
+ * If `true`, the user cannot interact with the textarea.
178
99
  */
179
- disabledChanged() {
180
- this.updateElementInternals();
181
- }
100
+ disabled = false;
101
+ /**
102
+ * The fill for the item. If `"solid"` the item will have a background. If
103
+ * `"outline"` the item will be transparent with a border. Only available in `md` mode.
104
+ */
105
+ fill;
106
+ /**
107
+ * A hint to the browser for which keyboard to display.
108
+ * Possible values: `"none"`, `"text"`, `"tel"`, `"url"`,
109
+ * `"email"`, `"numeric"`, `"decimal"`, and `"search"`.
110
+ */
111
+ inputmode;
112
+ /**
113
+ * A hint to the browser for which enter key to display.
114
+ * Possible values: `"enter"`, `"done"`, `"go"`, `"next"`,
115
+ * `"previous"`, `"search"`, and `"send"`.
116
+ */
117
+ enterkeyhint;
118
+ /**
119
+ * This attribute specifies the maximum number of characters that the user can enter.
120
+ */
121
+ maxlength;
122
+ /**
123
+ * This attribute specifies the minimum number of characters that the user can enter.
124
+ */
125
+ minlength;
126
+ /**
127
+ * The name of the control, which is submitted with the form data.
128
+ */
129
+ name = this.inputId;
130
+ /**
131
+ * Instructional text that shows before the input has a value.
132
+ */
133
+ placeholder;
134
+ /**
135
+ * If `true`, the user cannot modify the value.
136
+ */
137
+ readonly = false;
138
+ /**
139
+ * If `true`, the user must fill in a value before submitting a form.
140
+ */
141
+ required = false;
142
+ /**
143
+ * If `true`, the element will have its spelling and grammar checked.
144
+ */
145
+ spellcheck = false;
146
+ /**
147
+ * The visible width of the text control, in average character widths. If it is specified, it must be a positive integer.
148
+ */
149
+ cols;
150
+ /**
151
+ * The number of visible text lines for the control.
152
+ */
153
+ rows;
154
+ /**
155
+ * Indicates how the control wraps text.
156
+ */
157
+ wrap;
158
+ /**
159
+ * If `true`, the textarea container will grow and shrink based
160
+ * on the contents of the textarea.
161
+ */
162
+ autoGrow = false;
163
+ /**
164
+ * The value of the textarea.
165
+ */
166
+ value = '';
167
+ /**
168
+ * If `true`, a character counter will display the ratio of characters used and the total character limit.
169
+ * Developers must also set the `maxlength` property for the counter to be calculated correctly.
170
+ */
171
+ counter = false;
172
+ /**
173
+ * A callback used to format the counter text.
174
+ * By default the counter text is set to "itemLength / maxLength".
175
+ *
176
+ * See https://ionicframework.com/docs/troubleshooting/runtime#accessing-this
177
+ * if you need to access `this` from within the callback.
178
+ */
179
+ counterFormatter;
180
+ /**
181
+ * Text that is placed under the textarea and displayed when an error is detected.
182
+ */
183
+ errorText;
184
+ /**
185
+ * Text that is placed under the textarea and displayed when no error is detected.
186
+ */
187
+ helperText;
188
+ /**
189
+ * The visible label associated with the textarea.
190
+ *
191
+ * Use this if you need to render a plaintext label.
192
+ *
193
+ * The `label` property will take priority over the `label` slot if both are used.
194
+ */
195
+ label;
196
+ /**
197
+ * Where to place the label relative to the textarea.
198
+ * `"start"`: The label will appear to the left of the textarea in LTR and to the right in RTL.
199
+ * `"end"`: The label will appear to the right of the textarea in LTR and to the left in RTL.
200
+ * `"floating"`: The label will appear smaller and above the textarea when the textarea is focused or it has a value. Otherwise it will appear on top of the textarea.
201
+ * `"stacked"`: The label will appear smaller and above the textarea regardless even when the textarea is blurred or has no value.
202
+ * `"fixed"`: The label has the same behavior as `"start"` except it also has a fixed width. Long text will be truncated with ellipses ("...").
203
+ */
204
+ labelPlacement = 'start';
205
+ /**
206
+ * The shape of the textarea. If "round" it will have an increased border radius.
207
+ */
208
+ shape;
182
209
  /**
183
210
  * Update the native input element when the value changes
184
211
  */
@@ -188,22 +215,8 @@ const Textarea = class {
188
215
  if (nativeInput && nativeInput.value !== value) {
189
216
  nativeInput.value = value;
190
217
  }
191
- this.updateElementInternals();
192
218
  this.runAutoGrow();
193
219
  }
194
- /**
195
- * Update native input and element internals when required prop changes
196
- */
197
- requiredChanged() {
198
- // Explicitly update the native element's required attribute to ensure
199
- // browser validation works correctly when required changes dynamically.
200
- // While the template binding should handle this, we need to update it
201
- // synchronously for the browser's validation to recognize the change.
202
- if (this.nativeInput) {
203
- this.nativeInput.required = this.required;
204
- }
205
- this.updateElementInternals();
206
- }
207
220
  /**
208
221
  * dir is a globally enumerated attribute.
209
222
  * As a result, creating these as properties
@@ -212,9 +225,37 @@ const Textarea = class {
212
225
  * to the inner `<textarea>` element.
213
226
  */
214
227
  onDirChanged(newValue) {
215
- this.inheritedAttributes = Object.assign(Object.assign({}, this.inheritedAttributes), { dir: newValue });
228
+ this.inheritedAttributes = {
229
+ ...this.inheritedAttributes,
230
+ dir: newValue,
231
+ };
216
232
  forceUpdate(this);
217
233
  }
234
+ /**
235
+ * The `ionChange` event is fired when the user modifies the textarea's value.
236
+ * Unlike the `ionInput` event, the `ionChange` event is fired when
237
+ * the element loses focus after its value has been modified.
238
+ *
239
+ * This event will not emit when programmatically setting the `value` property.
240
+ */
241
+ ionChange;
242
+ /**
243
+ * The `ionInput` event is fired each time the user modifies the textarea's value.
244
+ * Unlike the `ionChange` event, the `ionInput` event is fired for each alteration
245
+ * to the textarea's value. This typically happens for each keystroke as the user types.
246
+ *
247
+ * When `clearOnEdit` is enabled, the `ionInput` event will be fired when
248
+ * the user clears the textarea by performing a keydown event.
249
+ */
250
+ ionInput;
251
+ /**
252
+ * Emitted when the input loses focus.
253
+ */
254
+ ionBlur;
255
+ /**
256
+ * Emitted when the input has focus.
257
+ */
258
+ ionFocus;
218
259
  /**
219
260
  * This prevents the native input from emitting the click event.
220
261
  * Instead, the click event from the ion-textarea is emitted.
@@ -228,8 +269,15 @@ const Textarea = class {
228
269
  }
229
270
  connectedCallback() {
230
271
  const { el } = this;
231
- this.slotMutationController = createSlotMutationController(el, ['label', 'start', 'end'], () => forceUpdate(this));
272
+ this.slotMutationController = createSlotMutationController(el, ['label', 'start', 'end'], () => {
273
+ this.startContainerController?.calculateStartContainerWidth();
274
+ forceUpdate(this);
275
+ });
232
276
  this.notchController = createNotchController(el, () => this.notchSpacerEl, () => this.labelSlot);
277
+ this.startContainerController = createStartContainerController(el, () => this.startContainerEl, () => {
278
+ return getIonMode(this) === 'md' && this.fill === 'outline';
279
+ });
280
+ this.startContainerController.calculateStartContainerWidth();
233
281
  // Watch for class changes to update validation state
234
282
  if (typeof MutationObserver !== 'undefined') {
235
283
  this.validationObserver = new MutationObserver(() => {
@@ -268,6 +316,10 @@ const Textarea = class {
268
316
  this.notchController.destroy();
269
317
  this.notchController = undefined;
270
318
  }
319
+ if (this.startContainerController) {
320
+ this.startContainerController.destroy();
321
+ this.startContainerController = undefined;
322
+ }
271
323
  // Clean up validation observer to prevent memory leaks
272
324
  if (this.validationObserver) {
273
325
  this.validationObserver.disconnect();
@@ -275,22 +327,18 @@ const Textarea = class {
275
327
  }
276
328
  }
277
329
  componentWillLoad() {
278
- this.inheritedAttributes = Object.assign(Object.assign({}, inheritAriaAttributes(this.el)), inheritAttributes(this.el, ['data-form-type', 'title', 'tabindex', 'dir']));
330
+ this.inheritedAttributes = {
331
+ ...inheritAriaAttributes(this.el),
332
+ ...inheritAttributes(this.el, ['data-form-type', 'title', 'tabindex', 'dir']),
333
+ };
279
334
  }
280
335
  componentDidLoad() {
281
336
  this.originalIonInput = this.ionInput;
282
- this.updateElementInternals();
283
337
  this.runAutoGrow();
284
- // Override focus() to delegate to the native textarea.
285
- // This is needed for Safari and Firefox which don't properly
286
- // delegate focus when calling focus() directly on the host.
287
- this.el.focus = () => {
288
- this.setFocus();
289
- };
290
338
  }
291
339
  componentDidRender() {
292
- var _a;
293
- (_a = this.notchController) === null || _a === void 0 ? void 0 : _a.calculateNotchWidth();
340
+ this.notchController?.calculateNotchWidth();
341
+ this.startContainerController?.calculateStartContainerWidth();
294
342
  }
295
343
  /**
296
344
  * Sets focus on the native `textarea` in `ion-textarea`. Use this method instead of the global
@@ -340,11 +388,10 @@ const Textarea = class {
340
388
  runAutoGrow() {
341
389
  if (this.nativeInput && this.autoGrow) {
342
390
  writeTask(() => {
343
- var _a;
344
391
  if (this.textareaWrapper) {
345
392
  // Replicated value is an attribute to be used in the stylesheet
346
393
  // to set the inner contents of a pseudo element.
347
- this.textareaWrapper.dataset.replicatedValue = (_a = this.value) !== null && _a !== void 0 ? _a : '';
394
+ this.textareaWrapper.dataset.replicatedValue = this.value ?? '';
348
395
  }
349
396
  });
350
397
  }
@@ -395,43 +442,47 @@ const Textarea = class {
395
442
  getValue() {
396
443
  return this.value || '';
397
444
  }
398
- /**
399
- * Called when the form state is restored.
400
- * Restores the component's value.
401
- */
402
- formStateRestoreCallback(value) {
403
- this.value = value;
404
- }
405
- /**
406
- * Called when the form is reset.
407
- * Resets the component's value.
408
- */
409
- formResetCallback() {
410
- this.value = '';
411
- }
412
- /**
413
- * Updates the form value and reports validity state to the browser via
414
- * ElementInternals. This should be called when the component loads, when
415
- * the required prop changes, when the disabled prop changes, and when the value
416
- * changes to ensure the form value stays in sync and validation state is updated.
417
- */
418
- updateElementInternals() {
419
- // Disabled form controls should not be included in form data
420
- // Pass null to setFormValue when disabled to exclude it from form submission
421
- const value = this.disabled ? null : this.getValue();
422
- // ElementInternals may not be fully available in test environments
423
- // so we need to check if the method exists before calling it
424
- if (typeof this.internals.setFormValue === 'function') {
425
- this.internals.setFormValue(value);
445
+ // `Event` type is used instead of `InputEvent`
446
+ // since the types from Stencil are not derived
447
+ // from the element (e.g. textarea and input
448
+ // should be InputEvent, but all other elements
449
+ // should be Event).
450
+ onInput = (ev) => {
451
+ const input = ev.target;
452
+ if (input) {
453
+ this.value = input.value || '';
426
454
  }
427
- reportValidityToElementInternals(this.nativeInput, this.internals);
428
- }
455
+ this.emitInputChange(ev);
456
+ };
457
+ onChange = (ev) => {
458
+ this.emitValueChange(ev);
459
+ };
460
+ onFocus = (ev) => {
461
+ this.hasFocus = true;
462
+ this.focusedValue = this.value;
463
+ this.ionFocus.emit(ev);
464
+ };
465
+ onBlur = (ev) => {
466
+ this.hasFocus = false;
467
+ if (this.focusedValue !== this.value) {
468
+ /**
469
+ * Emits the `ionChange` event when the textarea value
470
+ * is different than the value when the textarea was focused.
471
+ */
472
+ this.emitValueChange(ev);
473
+ }
474
+ this.didTextareaClearOnEdit = false;
475
+ this.ionBlur.emit(ev);
476
+ };
477
+ onKeyDown = (ev) => {
478
+ this.checkClearOnEdit(ev);
479
+ };
429
480
  renderLabel() {
430
481
  const { label } = this;
431
482
  return (h("div", { class: {
432
483
  'label-text-wrapper': true,
433
484
  'label-text-wrapper-hidden': !this.hasLabel,
434
- }, part: "label" }, label === undefined ? h("slot", { name: "label" }) : h("div", { class: "label-text" }, label)));
485
+ } }, label === undefined ? h("slot", { name: "label" }) : h("div", { class: "label-text" }, label)));
435
486
  }
436
487
  /**
437
488
  * Gets any content passed into the `label` slot,
@@ -449,50 +500,30 @@ const Textarea = class {
449
500
  get hasLabel() {
450
501
  return this.label !== undefined || this.labelSlot !== null;
451
502
  }
452
- getFill() {
453
- const theme = getIonTheme(this);
454
- const { fill } = this;
455
- if (theme === 'ionic' && fill === undefined) {
456
- return 'outline';
457
- }
458
- return fill;
459
- }
460
- getShape() {
461
- const theme = getIonTheme(this);
462
- const { shape } = this;
463
- // TODO(ROU-11050): Update theme check when shapes are defined for all themes.
464
- if (theme === 'ionic' && shape === undefined) {
465
- return 'round';
466
- }
467
- return shape;
468
- }
469
503
  /**
470
- * Renders the border container when fill="outline".
504
+ * Stops propagation for clicks on the textarea's own content (label text,
505
+ * textarea field) to prevent double-click events. Allows clicks on slotted
506
+ * content to propagate so event delegation works for parent handlers.
507
+ *
508
+ * Only slots belonging directly to this textarea should be considered.
509
+ * The textarea itself may have a slot attribute when placed in an item
510
+ * or toolbar, which does not make its content slotted content.
471
511
  */
472
- renderLabelContainer() {
473
- const theme = getIonTheme(this);
474
- const hasOutlineFill = theme === 'md' && this.fill === 'outline';
475
- if (hasOutlineFill) {
476
- /**
477
- * The outline fill has a special outline
478
- * that appears around the textarea and the label.
479
- * Certain stacked and floating label placements cause the
480
- * label to translate up and create a "cut out"
481
- * inside of that border by using the notch-spacer element.
482
- */
483
- return [
484
- h("div", { class: "textarea-outline-container" }, h("div", { class: "textarea-outline-start" }), h("div", { class: {
485
- 'textarea-outline-notch': true,
486
- 'textarea-outline-notch-hidden': !this.hasLabel,
487
- } }, h("div", { class: "notch-spacer", "aria-hidden": "true", ref: (el) => (this.notchSpacerEl = el) }, this.label)), h("div", { class: "textarea-outline-end" })),
488
- this.renderLabel(),
489
- ];
512
+ onLabelClick = (ev) => {
513
+ const target = ev.target;
514
+ const slotted = target.closest('[slot="start"], [slot="end"]');
515
+ if (slotted === null || slotted === this.el || !this.el.contains(slotted)) {
516
+ ev.stopPropagation();
490
517
  }
491
- /**
492
- * If not using the outline style,
493
- * we can render just the label.
494
- */
495
- return this.renderLabel();
518
+ };
519
+ /**
520
+ * Renders the outline border with a notch for the label.
521
+ */
522
+ renderOutlineContainer() {
523
+ return (h("div", { class: "textarea-outline-container" }, h("div", { class: "textarea-outline-start" }), h("div", { class: {
524
+ 'textarea-outline-notch': true,
525
+ 'textarea-outline-notch-hidden': !this.hasLabel,
526
+ } }, h("div", { class: "notch-spacer", "aria-hidden": "true", ref: (el) => (this.notchSpacerEl = el) }, this.label)), h("div", { class: "textarea-outline-end" })));
496
527
  }
497
528
  /**
498
529
  * Renders the helper text or error text values
@@ -500,8 +531,8 @@ const Textarea = class {
500
531
  renderHintText() {
501
532
  const { helperText, errorText, helperTextId, errorTextId, isInvalid } = this;
502
533
  return [
503
- h("div", { id: helperTextId, class: "helper-text", part: "supporting-text helper-text", "aria-live": "polite" }, !isInvalid ? helperText : null),
504
- h("div", { id: errorTextId, class: "error-text", part: "supporting-text error-text", role: "alert" }, isInvalid ? errorText : null),
534
+ h("div", { id: helperTextId, class: "helper-text", "aria-live": "polite" }, !isInvalid ? helperText : null),
535
+ h("div", { id: errorTextId, class: "error-text", role: "alert" }, isInvalid ? errorText : null),
505
536
  ];
506
537
  }
507
538
  getHintTextID() {
@@ -519,7 +550,7 @@ const Textarea = class {
519
550
  if (counter !== true || maxlength === undefined) {
520
551
  return;
521
552
  }
522
- return (h("div", { class: "counter", part: "counter" }, getCounterText(value, maxlength, counterFormatter)));
553
+ return h("div", { class: "counter" }, getCounterText(value, maxlength, counterFormatter));
523
554
  }
524
555
  /**
525
556
  * Responsible for rendering helper text,
@@ -537,76 +568,40 @@ const Textarea = class {
537
568
  if (!hasHintText && !hasCounter) {
538
569
  return;
539
570
  }
540
- return (h("div", { class: "textarea-bottom", part: "bottom" }, this.renderHintText(), this.renderCounter()));
571
+ return (h("div", { class: "textarea-bottom" }, this.renderHintText(), this.renderCounter()));
541
572
  }
542
573
  render() {
543
- const { inputId, disabled, readonly, size, labelPlacement, el, hasFocus } = this;
544
- const fill = this.getFill();
545
- const theme = getIonTheme(this);
546
- const shape = this.getShape();
574
+ const { inputId, disabled, fill, shape, labelPlacement, hasFocus } = this;
575
+ const mode = getIonMode(this);
547
576
  const value = this.getValue();
548
577
  const inItem = hostContext('ion-item', this.el);
549
- const shouldRenderHighlight = theme === 'md' && fill !== 'outline' && !inItem;
578
+ const shouldRenderHighlight = mode === 'md' && fill !== 'outline' && !inItem;
550
579
  const hasValue = this.hasValue();
551
- const hasStartEndSlots = el.querySelector('[slot="start"], [slot="end"]') !== null;
580
+ const hasOutlineFill = mode === 'md' && fill === 'outline';
552
581
  /**
553
582
  * If the label is stacked, it should always sit above the textarea.
554
583
  * For floating labels, the label should move above the textarea if
555
- * the textarea has a value, is focused, or has anything in either
556
- * the start or end slot.
557
- *
558
- * If there is content in the start slot, the label would overlap
559
- * it if not forced to float. This is also applied to the end slot
560
- * because with the default or solid fills, the textarea is not
561
- * vertically centered in the container, but the label is. This
562
- * causes the slots and label to appear vertically offset from each
563
- * other when the label isn't floating above the input. This doesn't
564
- * apply to the outline fill, but this was not accounted for to keep
565
- * things consistent.
566
- *
567
- * TODO(FW-5592): Remove hasStartEndSlots condition
584
+ * the textarea has a value or is focused.
568
585
  */
569
- const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
570
- return (h(Host, { key: 'a67ef5f3107776dcd8490bdd2af4a373ae422899', class: createColorClasses(this.color, {
571
- [theme]: true,
586
+ const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus));
587
+ return (h(Host, { key: '78da9c96e6a29f19b237f268dd8bfd044afe27b6', class: createColorClasses(this.color, {
588
+ [mode]: true,
572
589
  'has-value': hasValue,
573
590
  'has-focus': hasFocus,
574
591
  'label-floating': labelShouldFloat,
575
592
  [`textarea-fill-${fill}`]: fill !== undefined,
576
593
  [`textarea-shape-${shape}`]: shape !== undefined,
577
- [`textarea-size-${size}`]: true,
578
594
  [`textarea-label-placement-${labelPlacement}`]: true,
579
- 'in-item': inItem,
580
595
  'textarea-disabled': disabled,
581
- 'textarea-readonly': readonly,
582
- }) }, h("label", { key: '7a8605454eb66d87a4b49ffd28e609a633eae09c', class: "textarea-wrapper", htmlFor: inputId, onClick: this.onLabelClick, part: "wrapper" }, this.renderLabelContainer(), h("div", { key: '8b24d96089d11f659dbd5adfcbf317ec34742333', class: "textarea-wrapper-inner" },
583
- /**
584
- * For the ionic theme, we render the outline container here
585
- * instead of higher up, so it can be positioned relative to
586
- * the native wrapper instead of the <label> element or the
587
- * entire component. This allows the label text to be positioned
588
- * above the outline, while staying within the bounds of the
589
- * <label> element, ensuring that clicking the label text
590
- * focuses the textarea.
591
- */
592
- theme === 'ionic' && fill === 'outline' && h("div", { key: '91a7ea7b6f6fccc473b9e058281e5437c00a9b5d', class: "textarea-outline" }), h("div", { key: 'ba641e63d5aaf2ddb291c875f57181d1c93a2b26', class: "start-slot-wrapper" }, h("slot", { key: '351684d41a2b080541a29e0d9e90dd50747b52dc', name: "start" })), h("div", { key: '5c0793742ff6cc327582c3d78d85c28fa8238a40', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el), part: "container" }, h("textarea", Object.assign({ key: '9cf5c908e3fcd54af07c351dcf0bb91c853f1349', class: "native-textarea", part: "native", ref: (el) => (this.nativeInput = el), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, minLength: this.minlength, maxLength: this.maxlength, name: this.name, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, cols: this.cols, rows: this.rows, wrap: this.wrap, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeyDown, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined }, this.inheritedAttributes), value)), h("div", { key: 'e47ffe0bf8e460a7cb205ed35a1107b44687116d', class: "end-slot-wrapper" }, h("slot", { key: '57d035b5f1db373b8488b129c8d3552eb8e630ac', name: "end" }))), shouldRenderHighlight && h("div", { key: '1259ad761b68aea69a1ae8b61a6bbdee6c071b7b', class: "textarea-highlight" })), this.renderBottomContent()));
596
+ }) }, h("label", { key: 'c5ea3f26e01e66b857d3a1c88dbafbf2dbb81fdb', class: "textarea-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, hasOutlineFill && this.renderOutlineContainer(), h("div", { key: '5a9d0efc8c13d9bd4ec4ceadf1bdb84205c47b3d', class: "textarea-start", ref: (el) => (this.startContainerEl = el) }, h("slot", { key: 'da08262e33f3a5b454847297338a74f07c5b60c9', name: "start" })), h("div", { key: '6461dc7381929eb83679ec07563b7bdf8bfc3f9f', class: "textarea-control" }, this.renderLabel(), h("div", { key: '8f7902a9e6040384d25d0e2061c04f6b49acf187', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el) }, h("textarea", { key: '2149d8b2c23a164c536327c98d7a632e1e85428a', class: "native-textarea", ref: (el) => (this.nativeInput = el), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, minLength: this.minlength, maxLength: this.maxlength, name: this.name, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, cols: this.cols, rows: this.rows, wrap: this.wrap, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeyDown, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined, ...this.inheritedAttributes }, value))), h("div", { key: '84f5f42add89875c3f0cce734b512a9e7be81e03', class: "textarea-end" }, h("slot", { key: 'ea654d78013a00b8af33deb89d42c2b7f6c9cb99', name: "end" })), shouldRenderHighlight && h("div", { key: 'b72195d2606816b3b71e65214d78cef1740f4804', class: "textarea-highlight" })), this.renderBottomContent()));
593
597
  }
594
- static get delegatesFocus() { return true; }
595
- static get formAssociated() { return true; }
596
- get el() { return getElement(this); }
597
598
  static get watchers() { return {
598
599
  "debounce": [{
599
600
  "debounceChanged": 0
600
601
  }],
601
- "disabled": [{
602
- "disabledChanged": 0
603
- }],
604
602
  "value": [{
605
603
  "valueChanged": 0
606
604
  }],
607
- "required": [{
608
- "requiredChanged": 0
609
- }],
610
605
  "dir": [{
611
606
  "onDirChanged": 0
612
607
  }]
@@ -614,7 +609,6 @@ const Textarea = class {
614
609
  };
615
610
  let textareaIds = 0;
616
611
  Textarea.style = {
617
- ionic: textareaIonicCss(),
618
612
  ios: textareaIosCss(),
619
613
  md: textareaMdCss()
620
614
  };