@ionic/core 9.0.0 → 9.0.1-nightly.20260820

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 (594) 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-63OhffQv.js → p-66ogmUZU.js} +1 -1
  99. package/components/p-6Vp915Y7.js +4 -0
  100. package/components/p-7PNwKFZi.js +4 -0
  101. package/components/{p-G0TxqHfe.js → p-A8MJRBIY.js} +1 -1
  102. package/components/p-AQcCdH2_.js +4 -0
  103. package/{dist/ionic/p-Dn0mqQ_R.js → components/p-B6x5_b9w.js} +1 -1
  104. package/components/p-B8MQjdvk.js +4 -0
  105. package/components/p-BA_4ZIEg.js +4 -0
  106. package/components/p-BFtL8t1r.js +4 -0
  107. package/components/{p-DaA_8eqt.js → p-BMfgF-Tv.js} +1 -1
  108. package/components/p-BPDxVIRr.js +4 -0
  109. package/components/p-BSARlp49.js +4 -0
  110. package/components/p-B_gJaBk0.js +4 -0
  111. package/components/p-BdwCtX8Y.js +4 -0
  112. package/components/p-Bg4OwDwb.js +4 -0
  113. package/components/{p-DV85C0e0.js → p-BgUIV8NQ.js} +1 -1
  114. package/components/p-Bnc0m4SW.js +4 -0
  115. package/components/p-BpLt_Ptn.js +4 -0
  116. package/components/p-BqBDq1Ma.js +4 -0
  117. package/components/{p-C_phlPMC.js → p-BrFaQbGY.js} +1 -1
  118. package/{dist/ionic/p-Cdjxf_yg.js → components/p-BuPAFTWI.js} +1 -1
  119. package/components/p-Bx2saTHs.js +4 -0
  120. package/components/p-BxhE2W85.js +4 -0
  121. package/components/p-CHswSpKy.js +4 -0
  122. package/components/{p-fruGqVHh.js → p-CQAjyETU.js} +1 -1
  123. package/components/{p-1jI5oW-W.js → p-CR9OgE6N.js} +1 -1
  124. package/components/p-CWETxTjE.js +4 -0
  125. package/components/p-CaZeZIL2.js +4 -0
  126. package/components/p-CaiZOhfC.js +4 -0
  127. package/components/p-CgvDC7hC.js +4 -0
  128. package/components/{p-BqPNzJf6.js → p-CqyGR9Aq.js} +1 -1
  129. package/components/{p-UIBJkZf8.js → p-D0YpjgON.js} +1 -1
  130. package/components/p-D7ysFE2B.js +4 -0
  131. package/{dist/ionic/p-4eOQC00Z.js → components/p-DCWfzDM8.js} +1 -1
  132. package/components/{p-DwpKZ6rl.js → p-DDdkefwf.js} +1 -1
  133. package/components/{p-DzRT60Tw.js → p-DEW7CnUc.js} +1 -1
  134. package/components/p-DQ1IPvZO.js +4 -0
  135. package/components/p-DcOH6-o5.js +4 -0
  136. package/components/{p-DD5fQ4EQ.js → p-DfdYCsov.js} +1 -1
  137. package/components/{p-DSzSbVP2.js → p-DhOoEIAs.js} +1 -1
  138. package/components/{p-DM-PrAoh.js → p-Dl_7b_UJ.js} +1 -1
  139. package/components/p-DqAI6tg7.js +4 -0
  140. package/components/p-DrehWDfv.js +4 -0
  141. package/components/{p-ryyf_ItD.js → p-DysqCsJu.js} +1 -1
  142. package/components/p-H1f2qsk4.js +4 -0
  143. package/components/p-HVYBAhFx.js +4 -0
  144. package/components/{p-CbhUdtjf.js → p-Kmrg3Fed.js} +1 -1
  145. package/components/{p-Bjig0DJK.js → p-RFfE9hF6.js} +1 -1
  146. package/{dist/ionic/p-CBWAXjA5.js → components/p-SR-LLqp_.js} +1 -1
  147. package/components/p-eFI3mtEX.js +4 -0
  148. package/components/p-gFwXiYC_.js +4 -0
  149. package/components/p-tX3UxCnU.js +4 -0
  150. package/components/p-v2NpoOHp.js +4 -0
  151. package/dist/cjs/{animation-C0mOHzej.js → animation-D-OqR4a4.js} +1 -1
  152. package/dist/cjs/{app-globals-BREG4twP.js → app-globals-BzgwARwJ.js} +1 -1
  153. package/dist/cjs/{button-active-CVMevT9a.js → button-active-BlWSD7uK.js} +2 -2
  154. package/dist/cjs/{format-pp0Du3K-.js → format-D7ig6Vm0.js} +1 -1
  155. package/dist/cjs/{framework-delegate-Dfo5XsGv.js → framework-delegate-BZUx4TnE.js} +1 -1
  156. package/dist/cjs/{gesture-controller-BDUH7687.js → gesture-controller-CeJslptU.js} +6 -14
  157. package/dist/cjs/{hardware-back-button-fqpYh-kd.js → hardware-back-button-JOAEFSzc.js} +1 -1
  158. package/dist/cjs/{helpers-YPQybDph.js → helpers-Dj5o76mq.js} +1 -1
  159. package/dist/cjs/{index-BLdJCcJY.js → index-2sO-zkZ2.js} +4 -4
  160. package/dist/cjs/{index-uvry__L4.js → index-BrVMoqUk.js} +3 -1
  161. package/dist/cjs/{index-zVCah4Uz.js → index-C8zH6b3d.js} +2 -2
  162. package/dist/cjs/{index-DXsPSne6.js → index-CZ6vzt_q.js} +5 -5
  163. package/dist/cjs/{index-DDg31ZF5.js → index-Csue6G3m.js} +2 -2
  164. package/dist/cjs/{index-DwlRtFZe.js → index-DRPqwSvU.js} +1 -1
  165. package/dist/cjs/{index-B7zJsYWS.js → index-EJLjthTK.js} +1 -2
  166. package/dist/cjs/index.cjs.js +14 -14
  167. package/dist/cjs/{input-shims-Cbu1fcye.js → input-shims-Bh7bnt2v.js} +3 -3
  168. package/dist/cjs/{input.utils-BZdMWVrt.js → input.utils-Cq3g9uHy.js} +1 -1
  169. package/dist/cjs/ion-accordion_2.cjs.entry.js +335 -364
  170. package/dist/cjs/ion-action-sheet.cjs.entry.js +60 -140
  171. package/dist/cjs/ion-alert.cjs.entry.js +67 -159
  172. package/dist/cjs/ion-app_8.cjs.entry.js +163 -258
  173. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -8
  174. package/dist/cjs/ion-back-button.cjs.entry.js +21 -45
  175. package/dist/cjs/ion-backdrop.cjs.entry.js +14 -18
  176. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +117 -195
  177. package/dist/cjs/ion-button_2.cjs.entry.js +61 -130
  178. package/dist/cjs/ion-card_5.cjs.entry.js +28 -80
  179. package/dist/cjs/ion-checkbox.cjs.entry.js +98 -147
  180. package/dist/cjs/ion-chip.cjs.entry.js +10 -16
  181. package/dist/cjs/ion-col_3.cjs.entry.js +6 -126
  182. package/dist/cjs/ion-datetime-button.cjs.entry.js +232 -248
  183. package/dist/cjs/ion-datetime.cjs.entry.js +775 -953
  184. package/dist/cjs/ion-fab_3.cjs.entry.js +78 -136
  185. package/dist/cjs/ion-img.cjs.entry.js +11 -31
  186. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +71 -98
  187. package/dist/cjs/ion-input-otp.cjs.entry.js +352 -424
  188. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +14 -29
  189. package/dist/cjs/ion-input.cjs.entry.js +158 -302
  190. package/dist/cjs/ion-item-option_3.cjs.entry.js +45 -87
  191. package/dist/cjs/ion-item_8.cjs.entry.js +61 -157
  192. package/dist/cjs/ion-loading.cjs.entry.js +54 -131
  193. package/dist/cjs/ion-menu_3.cjs.entry.js +94 -158
  194. package/dist/cjs/ion-modal.cjs.entry.js +206 -362
  195. package/dist/cjs/ion-nav_2.cjs.entry.js +26 -78
  196. package/dist/cjs/ion-picker-column-option.cjs.entry.js +23 -33
  197. package/dist/cjs/ion-picker-column.cjs.entry.js +389 -410
  198. package/dist/cjs/ion-picker.cjs.entry.js +390 -400
  199. package/dist/cjs/ion-popover.cjs.entry.js +184 -292
  200. package/dist/cjs/ion-progress-bar.cjs.entry.js +23 -29
  201. package/dist/cjs/ion-radio_2.cjs.entry.js +128 -201
  202. package/dist/cjs/ion-range.cjs.entry.js +223 -293
  203. package/dist/cjs/ion-refresher_2.cjs.entry.js +79 -151
  204. package/dist/cjs/ion-reorder_2.cjs.entry.js +19 -49
  205. package/dist/cjs/ion-ripple-effect.cjs.entry.js +13 -13
  206. package/dist/cjs/ion-route_4.cjs.entry.js +45 -144
  207. package/dist/cjs/ion-searchbar.cjs.entry.js +182 -268
  208. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  209. package/dist/cjs/ion-segment-view.cjs.entry.js +12 -24
  210. package/dist/cjs/ion-segment_2.cjs.entry.js +111 -154
  211. package/dist/cjs/ion-select-modal.cjs.entry.js +19 -21
  212. package/dist/cjs/ion-select_3.cjs.entry.js +151 -319
  213. package/dist/cjs/ion-spinner.cjs.entry.js +6 -21
  214. package/dist/cjs/ion-split-pane.cjs.entry.js +14 -27
  215. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +32 -89
  216. package/dist/cjs/ion-tab_2.cjs.entry.js +22 -49
  217. package/dist/cjs/ion-text.cjs.entry.js +2 -8
  218. package/dist/cjs/ion-textarea.cjs.entry.js +139 -256
  219. package/dist/cjs/ion-toast.cjs.entry.js +106 -221
  220. package/dist/cjs/ion-toggle.cjs.entry.js +114 -165
  221. package/dist/cjs/{ionic-global-k6hOWWpn.js → ionic-global-DvgIzM2F.js} +1 -1
  222. package/dist/cjs/ionic.cjs.js +4 -4
  223. package/dist/cjs/{ios.transition-zTmJz8T-.js → ios.transition-zIgdoSYe.js} +4 -4
  224. package/dist/cjs/{item-multiple-inputs-BdYSbfKN.js → item-multiple-inputs-DG-ZGm6j.js} +1 -1
  225. package/dist/cjs/loader.cjs.js +4 -4
  226. package/dist/cjs/{md.transition-nb_4pUXu.js → md.transition-CXeJ9rfh.js} +4 -4
  227. package/dist/cjs/{overlays-KaNVDNqC.js → overlays-Bg0auTQa.js} +6 -6
  228. package/dist/cjs/{select-option-render-pULCGldr.js → select-option-render-7m1WdFzF.js} +2 -2
  229. package/dist/cjs/{slot-mutation-controller-DPHmqXdV.js → slot-mutation-controller-BJEJzx_e.js} +1 -1
  230. package/dist/cjs/{status-tap-o9IIymsP.js → status-tap-DxbUM5XX.js} +3 -3
  231. package/dist/cjs/{swipe-back-B7X9VOlH.js → swipe-back-F_DBt-Aw.js} +4 -4
  232. package/dist/collection/components/accordion/accordion.js +310 -314
  233. package/dist/collection/components/accordion-group/accordion-group.js +23 -46
  234. package/dist/collection/components/action-sheet/action-sheet.js +49 -128
  235. package/dist/collection/components/action-sheet/test/basic/fixture.js +0 -3
  236. package/dist/collection/components/alert/alert.js +56 -147
  237. package/dist/collection/components/app/app.js +0 -3
  238. package/dist/collection/components/back-button/back-button.js +19 -42
  239. package/dist/collection/components/backdrop/backdrop.js +14 -16
  240. package/dist/collection/components/badge/badge.js +0 -6
  241. package/dist/collection/components/breadcrumb/breadcrumb.js +29 -90
  242. package/dist/collection/components/breadcrumbs/breadcrumbs.js +87 -102
  243. package/dist/collection/components/button/button.js +59 -127
  244. package/dist/collection/components/buttons/buttons.js +15 -13
  245. package/dist/collection/components/card/card.js +20 -53
  246. package/dist/collection/components/card-header/card-header.js +8 -12
  247. package/dist/collection/components/card-subtitle/card-subtitle.js +0 -6
  248. package/dist/collection/components/card-title/card-title.js +0 -6
  249. package/dist/collection/components/checkbox/checkbox.js +95 -143
  250. package/dist/collection/components/chip/chip.js +10 -14
  251. package/dist/collection/components/col/col.js +0 -120
  252. package/dist/collection/components/content/content.js +60 -90
  253. package/dist/collection/components/datetime/datetime.js +762 -939
  254. package/dist/collection/components/datetime-button/datetime-button.js +229 -244
  255. package/dist/collection/components/fab/fab.js +13 -20
  256. package/dist/collection/components/fab-button/fab-button.js +54 -103
  257. package/dist/collection/components/fab-list/fab-list.js +11 -10
  258. package/dist/collection/components/footer/footer.js +43 -49
  259. package/dist/collection/components/grid/grid.js +6 -4
  260. package/dist/collection/components/header/header.js +23 -33
  261. package/dist/collection/components/img/img.js +9 -28
  262. package/dist/collection/components/infinite-scroll/infinite-scroll.js +66 -73
  263. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +3 -20
  264. package/dist/collection/components/input/input.js +154 -297
  265. package/dist/collection/components/input-otp/input-otp.js +350 -421
  266. package/dist/collection/components/input-password-toggle/input-password-toggle.js +13 -27
  267. package/dist/collection/components/item/item.js +37 -80
  268. package/dist/collection/components/item-divider/item-divider.js +10 -15
  269. package/dist/collection/components/item-option/item-option.js +20 -48
  270. package/dist/collection/components/item-options/item-options.js +7 -10
  271. package/dist/collection/components/item-sliding/item-sliding.js +16 -24
  272. package/dist/collection/components/label/label.js +4 -24
  273. package/dist/collection/components/list/list.js +6 -9
  274. package/dist/collection/components/list-header/list-header.js +0 -10
  275. package/dist/collection/components/loading/loading.js +46 -122
  276. package/dist/collection/components/menu/menu.js +55 -99
  277. package/dist/collection/components/menu-button/menu-button.js +19 -28
  278. package/dist/collection/components/menu-toggle/menu-toggle.js +13 -20
  279. package/dist/collection/components/modal/modal.js +196 -351
  280. package/dist/collection/components/modal/test/fixtures.js +0 -3
  281. package/dist/collection/components/nav/nav.js +12 -45
  282. package/dist/collection/components/nav/view-controller.js +1 -7
  283. package/dist/collection/components/nav-link/nav-link.js +9 -20
  284. package/dist/collection/components/note/note.js +0 -6
  285. package/dist/collection/components/picker/picker.js +388 -397
  286. package/dist/collection/components/picker-column/picker-column.js +389 -409
  287. package/dist/collection/components/picker-column-option/picker-column-option.js +21 -30
  288. package/dist/collection/components/popover/popover.js +176 -283
  289. package/dist/collection/components/popover/test/fixture.js +0 -1
  290. package/dist/collection/components/progress-bar/progress-bar.js +22 -26
  291. package/dist/collection/components/radio/radio.js +62 -98
  292. package/dist/collection/components/radio-group/radio-group.js +64 -99
  293. package/dist/collection/components/radio-group/test/fixtures.js +0 -2
  294. package/dist/collection/components/range/range.js +220 -289
  295. package/dist/collection/components/refresher/refresher.js +69 -102
  296. package/dist/collection/components/refresher-content/refresher-content.js +3 -40
  297. package/dist/collection/components/reorder/reorder.js +0 -1
  298. package/dist/collection/components/reorder-group/reorder-group.js +14 -43
  299. package/dist/collection/components/ripple-effect/ripple-effect.js +12 -11
  300. package/dist/collection/components/route/route.js +9 -38
  301. package/dist/collection/components/route-redirect/route-redirect.js +0 -31
  302. package/dist/collection/components/router/router.js +27 -35
  303. package/dist/collection/components/router/utils/matching.js +0 -1
  304. package/dist/collection/components/router-link/router-link.js +10 -35
  305. package/dist/collection/components/router-outlet/router-outlet.js +12 -34
  306. package/dist/collection/components/searchbar/searchbar.js +180 -265
  307. package/dist/collection/components/segment/segment.js +76 -113
  308. package/dist/collection/components/segment-button/segment-button.js +33 -37
  309. package/dist/collection/components/segment-view/segment-view.js +12 -23
  310. package/dist/collection/components/select/select.js +127 -240
  311. package/dist/collection/components/select-modal/select-modal.js +11 -12
  312. package/dist/collection/components/select-modal/test/fixtures.js +1 -8
  313. package/dist/collection/components/select-option/select-option.js +7 -44
  314. package/dist/collection/components/select-popover/select-popover.js +10 -25
  315. package/dist/collection/components/select-popover/test/fixtures.js +1 -8
  316. package/dist/collection/components/skeleton-text/skeleton-text.js +6 -10
  317. package/dist/collection/components/spinner/spinner.js +6 -19
  318. package/dist/collection/components/split-pane/split-pane.js +13 -25
  319. package/dist/collection/components/tab/tab.js +4 -15
  320. package/dist/collection/components/tab-bar/tab-bar.js +12 -30
  321. package/dist/collection/components/tab-button/tab-button.js +19 -56
  322. package/dist/collection/components/tabs/tabs.js +17 -31
  323. package/dist/collection/components/text/text.js +0 -6
  324. package/dist/collection/components/textarea/textarea.js +135 -251
  325. package/dist/collection/components/title/title.js +0 -16
  326. package/dist/collection/components/toast/toast.js +97 -211
  327. package/dist/collection/components/toggle/toggle.js +111 -161
  328. package/dist/collection/components/toolbar/toolbar.js +3 -8
  329. package/dist/collection/global/config.js +3 -1
  330. package/dist/collection/utils/gesture/gesture-controller.js +6 -14
  331. package/dist/collection/utils/sanitization/index.js +0 -1
  332. package/dist/collection/utils/test/playwright/page/event-spy.js +8 -9
  333. package/dist/collection/utils/test/press-keys.js +1 -4
  334. package/dist/docs.json +1 -1
  335. package/dist/esm/{animation-CGFdmGk9.js → animation-TxGPYeDn.js} +1 -1
  336. package/dist/esm/{app-globals-CYmMeGdU.js → app-globals-Do8rJest.js} +1 -1
  337. package/dist/esm/{button-active-BDOsVAiZ.js → button-active-ChA4D-ml.js} +2 -2
  338. package/dist/esm/{format-Dcwga61t.js → format-CVk5e_GP.js} +2 -2
  339. package/dist/esm/{framework-delegate-BHTU2Ip9.js → framework-delegate-DaLWnISz.js} +1 -1
  340. package/dist/esm/{gesture-controller-TXPDHL13.js → gesture-controller-B_gJaBk0.js} +6 -14
  341. package/dist/esm/{hardware-back-button-gLJHMX_F.js → hardware-back-button-D8W4L0JP.js} +1 -1
  342. package/dist/esm/{helpers-CAGf8Wgp.js → helpers-BIgoInJU.js} +1 -1
  343. package/dist/esm/{index-DcPaH5uL.js → index-BmLuEdV7.js} +1 -1
  344. package/dist/esm/{index-T0JxBI8V.js → index-BmOR8tCv.js} +2 -2
  345. package/dist/esm/{index-CqneaaGd.js → index-C5ZdL0qp.js} +5 -5
  346. package/dist/esm/{index-WlteAIqz.js → index-C8Dsa6li.js} +4 -4
  347. package/dist/esm/{index-ChhhtsGZ.js → index-CKYcsw8f.js} +3 -1
  348. package/dist/esm/{index-Clc-28O1.js → index-DHw2lZxe.js} +2 -2
  349. package/dist/esm/{index-CKM1DdGm.js → index-elneMH8y.js} +1 -2
  350. package/dist/esm/index.js +14 -14
  351. package/dist/esm/{input-shims-B8sfni1e.js → input-shims-09NN97kF.js} +3 -3
  352. package/dist/esm/{input.utils-B1ValN_N.js → input.utils-BxyH9l1w.js} +1 -1
  353. package/dist/esm/ion-accordion_2.entry.js +335 -364
  354. package/dist/esm/ion-action-sheet.entry.js +60 -140
  355. package/dist/esm/ion-alert.entry.js +67 -159
  356. package/dist/esm/ion-app_8.entry.js +163 -258
  357. package/dist/esm/ion-avatar_3.entry.js +2 -8
  358. package/dist/esm/ion-back-button.entry.js +21 -45
  359. package/dist/esm/ion-backdrop.entry.js +14 -18
  360. package/dist/esm/ion-breadcrumb_2.entry.js +117 -195
  361. package/dist/esm/ion-button_2.entry.js +61 -130
  362. package/dist/esm/ion-card_5.entry.js +28 -80
  363. package/dist/esm/ion-checkbox.entry.js +98 -147
  364. package/dist/esm/ion-chip.entry.js +10 -16
  365. package/dist/esm/ion-col_3.entry.js +6 -126
  366. package/dist/esm/ion-datetime-button.entry.js +232 -248
  367. package/dist/esm/ion-datetime.entry.js +775 -953
  368. package/dist/esm/ion-fab_3.entry.js +78 -136
  369. package/dist/esm/ion-img.entry.js +11 -31
  370. package/dist/esm/ion-infinite-scroll_2.entry.js +71 -98
  371. package/dist/esm/ion-input-otp.entry.js +352 -424
  372. package/dist/esm/ion-input-password-toggle.entry.js +14 -29
  373. package/dist/esm/ion-input.entry.js +158 -302
  374. package/dist/esm/ion-item-option_3.entry.js +45 -87
  375. package/dist/esm/ion-item_8.entry.js +61 -157
  376. package/dist/esm/ion-loading.entry.js +54 -131
  377. package/dist/esm/ion-menu_3.entry.js +94 -158
  378. package/dist/esm/ion-modal.entry.js +206 -362
  379. package/dist/esm/ion-nav_2.entry.js +26 -78
  380. package/dist/esm/ion-picker-column-option.entry.js +23 -33
  381. package/dist/esm/ion-picker-column.entry.js +389 -410
  382. package/dist/esm/ion-picker.entry.js +390 -400
  383. package/dist/esm/ion-popover.entry.js +184 -292
  384. package/dist/esm/ion-progress-bar.entry.js +23 -29
  385. package/dist/esm/ion-radio_2.entry.js +128 -201
  386. package/dist/esm/ion-range.entry.js +223 -293
  387. package/dist/esm/ion-refresher_2.entry.js +79 -151
  388. package/dist/esm/ion-reorder_2.entry.js +19 -49
  389. package/dist/esm/ion-ripple-effect.entry.js +13 -13
  390. package/dist/esm/ion-route_4.entry.js +45 -144
  391. package/dist/esm/ion-searchbar.entry.js +182 -268
  392. package/dist/esm/ion-segment-content.entry.js +1 -1
  393. package/dist/esm/ion-segment-view.entry.js +12 -24
  394. package/dist/esm/ion-segment_2.entry.js +111 -154
  395. package/dist/esm/ion-select-modal.entry.js +19 -21
  396. package/dist/esm/ion-select_3.entry.js +151 -319
  397. package/dist/esm/ion-spinner.entry.js +6 -21
  398. package/dist/esm/ion-split-pane.entry.js +14 -27
  399. package/dist/esm/ion-tab-bar_2.entry.js +32 -89
  400. package/dist/esm/ion-tab_2.entry.js +22 -49
  401. package/dist/esm/ion-text.entry.js +2 -8
  402. package/dist/esm/ion-textarea.entry.js +139 -256
  403. package/dist/esm/ion-toast.entry.js +106 -221
  404. package/dist/esm/ion-toggle.entry.js +114 -165
  405. package/dist/esm/{ionic-global-BVB7BrLT.js → ionic-global-lrowsHfi.js} +1 -1
  406. package/dist/esm/ionic.js +5 -5
  407. package/dist/esm/{ios.transition-DXRCmcbC.js → ios.transition-BQhADrk1.js} +4 -4
  408. package/dist/esm/{item-multiple-inputs-rU8VaNNg.js → item-multiple-inputs-D_N3fDkD.js} +1 -1
  409. package/dist/esm/loader.js +5 -5
  410. package/dist/esm/{md.transition-BMngO4i_.js → md.transition-D58NpmRa.js} +4 -4
  411. package/dist/esm/{overlays-CPmIs9Ls.js → overlays-BpnIFlXI.js} +6 -6
  412. package/dist/esm/{select-option-render-C4m76VGH.js → select-option-render-lIuu64EV.js} +2 -2
  413. package/dist/esm/{slot-mutation-controller-DiE_C9un.js → slot-mutation-controller-rS_T3FDR.js} +1 -1
  414. package/dist/esm/{status-tap-CHB7KwIb.js → status-tap-CpFQMLl6.js} +3 -3
  415. package/dist/esm/{swipe-back-C9HW1bug.js → swipe-back-rmc7zeNW.js} +4 -4
  416. package/dist/ionic/index.esm.js +1 -1
  417. package/dist/ionic/ionic.esm.js +1 -1
  418. package/dist/ionic/p-05800a02.entry.js +4 -0
  419. package/dist/ionic/p-0eb50dca.entry.js +4 -0
  420. package/dist/ionic/p-16e9f542.entry.js +4 -0
  421. package/dist/ionic/p-18d532a3.entry.js +4 -0
  422. package/dist/ionic/p-1d694d39.entry.js +4 -0
  423. package/dist/ionic/p-1db2afb4.entry.js +4 -0
  424. package/dist/ionic/p-1df75f9e.entry.js +4 -0
  425. package/dist/ionic/p-295ff427.entry.js +4 -0
  426. package/dist/ionic/p-34b9379b.entry.js +4 -0
  427. package/dist/ionic/p-39a8d4e0.entry.js +4 -0
  428. package/dist/ionic/p-4437015c.entry.js +4 -0
  429. package/dist/ionic/p-478035a7.entry.js +4 -0
  430. package/dist/ionic/p-485fb218.entry.js +4 -0
  431. package/dist/ionic/p-48c859fe.entry.js +4 -0
  432. package/dist/ionic/p-49b9d405.entry.js +4 -0
  433. package/dist/ionic/p-56307aea.entry.js +4 -0
  434. package/dist/ionic/p-5ee2d7b1.entry.js +4 -0
  435. package/dist/ionic/p-5f216b79.entry.js +4 -0
  436. package/dist/ionic/p-61c799d1.entry.js +4 -0
  437. package/dist/ionic/p-63bbba8d.entry.js +4 -0
  438. package/dist/ionic/p-68507e70.entry.js +4 -0
  439. package/dist/ionic/{p-ded69ceb.entry.js → p-6f048604.entry.js} +1 -1
  440. package/dist/ionic/p-70ee8888.entry.js +4 -0
  441. package/dist/ionic/p-72ad7c64.entry.js +4 -0
  442. package/dist/ionic/p-75887ee0.entry.js +4 -0
  443. package/dist/ionic/p-873a315a.entry.js +4 -0
  444. package/dist/ionic/p-881b6954.entry.js +4 -0
  445. package/dist/ionic/p-886d9e66.entry.js +4 -0
  446. package/dist/ionic/p-8e007f11.entry.js +4 -0
  447. package/dist/ionic/p-8f464a8f.entry.js +4 -0
  448. package/dist/ionic/p-8f51110d.entry.js +4 -0
  449. package/dist/ionic/p-90ba736e.entry.js +4 -0
  450. package/dist/ionic/p-959df5f8.entry.js +4 -0
  451. package/dist/ionic/p-9e455875.entry.js +4 -0
  452. package/dist/ionic/{p-CBR_W98Z.js → p-9wczfs_v.js} +1 -1
  453. package/dist/ionic/p-B1Y7LZhV.js +4 -0
  454. package/dist/ionic/p-B5RyLYvl.js +4 -0
  455. package/dist/ionic/{p-CPcPmkGv.js → p-BQv5i5Kf.js} +1 -1
  456. package/{components/p-8FN7p701.js → dist/ionic/p-BZVE25Gu.js} +1 -1
  457. package/{components/p-DFvZn99E.js → dist/ionic/p-BZxjcGRP.js} +1 -1
  458. package/dist/ionic/p-B_gJaBk0.js +4 -0
  459. package/dist/ionic/p-BnGA34Pd.js +4 -0
  460. package/dist/ionic/p-ByLaqOPm.js +4 -0
  461. package/dist/ionic/p-C06QNN45.js +4 -0
  462. package/dist/ionic/p-C4IBDDj6.js +4 -0
  463. package/dist/ionic/p-CCVlNZ__.js +4 -0
  464. package/dist/ionic/{p-CMRtMbJc.js → p-CDBop-kz.js} +1 -1
  465. package/dist/ionic/p-CKYcsw8f.js +5 -0
  466. package/dist/ionic/p-CazSodad.js +4 -0
  467. package/{components/p-ia3IDdJS.js → dist/ionic/p-ClrlQU2y.js} +1 -1
  468. package/dist/ionic/{p-UIBJkZf8.js → p-D0YpjgON.js} +1 -1
  469. package/dist/ionic/p-D0dfUysx.js +4 -0
  470. package/dist/ionic/{p-BB0LlG4y.js → p-D9yvytgv.js} +1 -1
  471. package/{components/p-C5KYjZWD.js → dist/ionic/p-DF_Uqql8.js} +1 -1
  472. package/dist/ionic/{p-BYEAtHr-.js → p-DXJgZWgi.js} +1 -1
  473. package/dist/ionic/{p-D94_RztK.js → p-DdhHqKj-.js} +1 -1
  474. package/dist/ionic/p-De0eY881.js +4 -0
  475. package/dist/ionic/p-DgUL3JbO.js +4 -0
  476. package/dist/ionic/{p-7CBuOvEo.js → p-RzUn7cKs.js} +1 -1
  477. package/dist/ionic/p-VquyMbjp.js +4 -0
  478. package/dist/ionic/p-a0fee899.entry.js +4 -0
  479. package/dist/ionic/p-a54bcd16.entry.js +4 -0
  480. package/dist/ionic/p-aebc4d69.entry.js +4 -0
  481. package/dist/ionic/p-b5f37106.entry.js +4 -0
  482. package/dist/ionic/{p-40424a88.entry.js → p-b62bfce8.entry.js} +1 -1
  483. package/dist/ionic/p-b7a11b58.entry.js +4 -0
  484. package/dist/ionic/p-bbf6878c.entry.js +4 -0
  485. package/dist/ionic/p-c49165af.entry.js +4 -0
  486. package/dist/ionic/p-cad4eccf.entry.js +4 -0
  487. package/dist/ionic/p-cdc5115e.entry.js +4 -0
  488. package/dist/ionic/p-d3384a40.entry.js +4 -0
  489. package/dist/ionic/p-d8bae128.entry.js +4 -0
  490. package/dist/ionic/p-d8deff43.entry.js +4 -0
  491. package/dist/ionic/p-ddfb7e5f.entry.js +4 -0
  492. package/dist/ionic/p-e538f18d.entry.js +4 -0
  493. package/dist/ionic/p-f376876b.entry.js +4 -0
  494. package/dist/ionic/p-f521b13c.entry.js +4 -0
  495. package/dist/ionic/p-fbd83d4c.entry.js +4 -0
  496. package/hydrate/index.js +5420 -8359
  497. package/hydrate/index.mjs +5420 -8359
  498. package/package.json +1 -1
  499. package/components/p--m5cCjbK.js +0 -4
  500. package/components/p-B4uHHhPK.js +0 -4
  501. package/components/p-BNJOu1Q2.js +0 -4
  502. package/components/p-BOvLNVKq.js +0 -4
  503. package/components/p-BeamQXHF.js +0 -4
  504. package/components/p-BjluhQMI.js +0 -4
  505. package/components/p-BlsIikdZ.js +0 -4
  506. package/components/p-BrD9Xv62.js +0 -4
  507. package/components/p-BvJqoZ5R.js +0 -4
  508. package/components/p-Bz6z3Asd.js +0 -4
  509. package/components/p-C6HnVvHO.js +0 -4
  510. package/components/p-C7jvh5Wy.js +0 -4
  511. package/components/p-C9BGR5fy.js +0 -4
  512. package/components/p-CB-y1CdP.js +0 -4
  513. package/components/p-CHH3loEE.js +0 -4
  514. package/components/p-CJKUWjmg.js +0 -4
  515. package/components/p-CMLAwl_N.js +0 -4
  516. package/components/p-CejmQs3h.js +0 -4
  517. package/components/p-CtZqa4HM.js +0 -4
  518. package/components/p-D9qIVSWm.js +0 -4
  519. package/components/p-DE-3iMNW.js +0 -4
  520. package/components/p-DHFt2rdc.js +0 -4
  521. package/components/p-D_RCyzwu.js +0 -4
  522. package/components/p-D_tD8r3L.js +0 -4
  523. package/components/p-DjCtLZbF.js +0 -4
  524. package/components/p-Dmd2xqCe.js +0 -4
  525. package/components/p-G6JR-cr_.js +0 -4
  526. package/components/p-GG5GhznE.js +0 -4
  527. package/components/p-TXPDHL13.js +0 -4
  528. package/components/p-_IKFD3ID.js +0 -4
  529. package/components/p-dKq2jIum.js +0 -4
  530. package/components/p-iYhH60Tc.js +0 -4
  531. package/dist/ionic/p-06ec7136.entry.js +0 -4
  532. package/dist/ionic/p-09fe4fa3.entry.js +0 -4
  533. package/dist/ionic/p-10d45a07.entry.js +0 -4
  534. package/dist/ionic/p-208c8a07.entry.js +0 -4
  535. package/dist/ionic/p-212474fa.entry.js +0 -4
  536. package/dist/ionic/p-2eef1396.entry.js +0 -4
  537. package/dist/ionic/p-347e005d.entry.js +0 -4
  538. package/dist/ionic/p-3a0b3f1d.entry.js +0 -4
  539. package/dist/ionic/p-3b071259.entry.js +0 -4
  540. package/dist/ionic/p-4204184c.entry.js +0 -4
  541. package/dist/ionic/p-47464391.entry.js +0 -4
  542. package/dist/ionic/p-4f9c9126.entry.js +0 -4
  543. package/dist/ionic/p-5JsKPLJD.js +0 -4
  544. package/dist/ionic/p-5bc485c6.entry.js +0 -4
  545. package/dist/ionic/p-603a61e6.entry.js +0 -4
  546. package/dist/ionic/p-60576951.entry.js +0 -4
  547. package/dist/ionic/p-67a81d33.entry.js +0 -4
  548. package/dist/ionic/p-6affb775.entry.js +0 -4
  549. package/dist/ionic/p-6f120c25.entry.js +0 -4
  550. package/dist/ionic/p-71c82b60.entry.js +0 -4
  551. package/dist/ionic/p-79325ffe.entry.js +0 -4
  552. package/dist/ionic/p-7e4d51fa.entry.js +0 -4
  553. package/dist/ionic/p-7f5d4664.entry.js +0 -4
  554. package/dist/ionic/p-80ee82fc.entry.js +0 -4
  555. package/dist/ionic/p-84af7dbc.entry.js +0 -4
  556. package/dist/ionic/p-89ca830a.entry.js +0 -4
  557. package/dist/ionic/p-93b8ec8f.entry.js +0 -4
  558. package/dist/ionic/p-946f65c2.entry.js +0 -4
  559. package/dist/ionic/p-9c4b39fb.entry.js +0 -4
  560. package/dist/ionic/p-B1NEZUzQ.js +0 -4
  561. package/dist/ionic/p-B1ck5iy-.js +0 -4
  562. package/dist/ionic/p-B4FrqdW0.js +0 -4
  563. package/dist/ionic/p-C-94tAim.js +0 -4
  564. package/dist/ionic/p-C-eHZMYE.js +0 -4
  565. package/dist/ionic/p-CaRuIadB.js +0 -4
  566. package/dist/ionic/p-ChhhtsGZ.js +0 -5
  567. package/dist/ionic/p-CzS1qWve.js +0 -4
  568. package/dist/ionic/p-DjjfauRM.js +0 -4
  569. package/dist/ionic/p-DkUB-ROc.js +0 -4
  570. package/dist/ionic/p-DplOqGUv.js +0 -4
  571. package/dist/ionic/p-Dst_XmZh.js +0 -4
  572. package/dist/ionic/p-TXPDHL13.js +0 -4
  573. package/dist/ionic/p-a438b193.entry.js +0 -4
  574. package/dist/ionic/p-babaaaa7.entry.js +0 -4
  575. package/dist/ionic/p-be08d500.entry.js +0 -4
  576. package/dist/ionic/p-be9a4f51.entry.js +0 -4
  577. package/dist/ionic/p-c00d3092.entry.js +0 -4
  578. package/dist/ionic/p-c36dc8f5.entry.js +0 -4
  579. package/dist/ionic/p-c72a7e17.entry.js +0 -4
  580. package/dist/ionic/p-c8edd88c.entry.js +0 -4
  581. package/dist/ionic/p-ce0e380b.entry.js +0 -4
  582. package/dist/ionic/p-ce32912b.entry.js +0 -4
  583. package/dist/ionic/p-d07cf130.entry.js +0 -4
  584. package/dist/ionic/p-d27edeb3.entry.js +0 -4
  585. package/dist/ionic/p-d5d2c506.entry.js +0 -4
  586. package/dist/ionic/p-d5e31ca9.entry.js +0 -4
  587. package/dist/ionic/p-de91444f.entry.js +0 -4
  588. package/dist/ionic/p-df72866d.entry.js +0 -4
  589. package/dist/ionic/p-e47e3151.entry.js +0 -4
  590. package/dist/ionic/p-e621e5e8.entry.js +0 -4
  591. package/dist/ionic/p-eea9cf93.entry.js +0 -4
  592. package/dist/ionic/p-f402f5a4.entry.js +0 -4
  593. package/dist/ionic/p-fe1bfbcf.entry.js +0 -4
  594. package/dist/ionic/p-ffb90460.entry.js +0 -4
@@ -16,69 +16,141 @@ import { getCounterText } from "../input/input.utils";
16
16
  * @slot end - Content to display at the trailing edge of the textarea. (EXPERIMENTAL)
17
17
  */
18
18
  export class Textarea {
19
- nativeInput;
20
- inputId = `ion-textarea-${textareaIds++}`;
21
- helperTextId = `${this.inputId}-helper-text`;
22
- errorTextId = `${this.inputId}-error-text`;
23
- /**
24
- * `true` if the textarea was cleared as a result of the user typing
25
- * with `clearOnEdit` enabled.
26
- *
27
- * Resets when the textarea loses focus.
28
- */
29
- didTextareaClearOnEdit = false;
30
- textareaWrapper;
31
- inheritedAttributes = {};
32
- originalIonInput;
33
- slotMutationController;
34
- notchController;
35
- notchSpacerEl;
36
- startContainerController;
37
- startContainerEl;
38
- /**
39
- * The value of the textarea when the textarea is focused.
40
- */
41
- focusedValue;
42
- el;
43
- /**
44
- * The `hasFocus` state ensures the focus class is
45
- * added regardless of how the element is focused.
46
- * The `ion-focused` class only applies when focused
47
- * via tabbing, not by clicking.
48
- * The `has-focus` logic was added to ensure the class
49
- * is applied in both cases.
50
- */
51
- hasFocus = false;
52
- /**
53
- * Track validation state for proper aria-live announcements
54
- */
55
- isInvalid = false;
56
- validationObserver;
57
- /**
58
- * The color to use from your application's color palette.
59
- * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
60
- * For more information on colors, see [theming](/docs/theming/basics).
61
- */
62
- color;
63
- /**
64
- * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.
65
- * Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
66
- */
67
- autocapitalize = 'none';
68
- /**
69
- * Sets the [`autofocus` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus) on the native input element.
70
- *
71
- * This may not be sufficient for the element to be focused on page load. See [managing focus](/docs/developing/managing-focus) for more information.
72
- */
73
- autofocus = false;
74
- /**
75
- * If `true`, the value will be cleared after focus upon edit.
76
- */
77
- clearOnEdit = false;
78
- /**
79
- * Set the amount of time, in milliseconds, to wait to trigger the `ionInput` event after each keystroke.
80
- */
81
- debounce;
19
+ constructor() {
20
+ this.inputId = `ion-textarea-${textareaIds++}`;
21
+ this.helperTextId = `${this.inputId}-helper-text`;
22
+ this.errorTextId = `${this.inputId}-error-text`;
23
+ /**
24
+ * `true` if the textarea was cleared as a result of the user typing
25
+ * with `clearOnEdit` enabled.
26
+ *
27
+ * Resets when the textarea loses focus.
28
+ */
29
+ this.didTextareaClearOnEdit = false;
30
+ this.inheritedAttributes = {};
31
+ /**
32
+ * The `hasFocus` state ensures the focus class is
33
+ * added regardless of how the element is focused.
34
+ * The `ion-focused` class only applies when focused
35
+ * via tabbing, not by clicking.
36
+ * The `has-focus` logic was added to ensure the class
37
+ * is applied in both cases.
38
+ */
39
+ this.hasFocus = false;
40
+ /**
41
+ * Track validation state for proper aria-live announcements
42
+ */
43
+ this.isInvalid = false;
44
+ /**
45
+ * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.
46
+ * Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
47
+ */
48
+ this.autocapitalize = 'none';
49
+ /**
50
+ * Sets the [`autofocus` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus) on the native input element.
51
+ *
52
+ * This may not be sufficient for the element to be focused on page load. See [managing focus](/docs/developing/managing-focus) for more information.
53
+ */
54
+ this.autofocus = false;
55
+ /**
56
+ * If `true`, the value will be cleared after focus upon edit.
57
+ */
58
+ this.clearOnEdit = false;
59
+ /**
60
+ * If `true`, the user cannot interact with the textarea.
61
+ */
62
+ this.disabled = false;
63
+ /**
64
+ * The name of the control, which is submitted with the form data.
65
+ */
66
+ this.name = this.inputId;
67
+ /**
68
+ * If `true`, the user cannot modify the value.
69
+ */
70
+ this.readonly = false;
71
+ /**
72
+ * If `true`, the user must fill in a value before submitting a form.
73
+ */
74
+ this.required = false;
75
+ /**
76
+ * If `true`, the element will have its spelling and grammar checked.
77
+ */
78
+ this.spellcheck = false;
79
+ /**
80
+ * If `true`, the textarea container will grow and shrink based
81
+ * on the contents of the textarea.
82
+ */
83
+ this.autoGrow = false;
84
+ /**
85
+ * The value of the textarea.
86
+ */
87
+ this.value = '';
88
+ /**
89
+ * If `true`, a character counter will display the ratio of characters used and the total character limit.
90
+ * Developers must also set the `maxlength` property for the counter to be calculated correctly.
91
+ */
92
+ this.counter = false;
93
+ /**
94
+ * Where to place the label relative to the textarea.
95
+ * `"start"`: The label will appear to the left of the textarea in LTR and to the right in RTL.
96
+ * `"end"`: The label will appear to the right of the textarea in LTR and to the left in RTL.
97
+ * `"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.
98
+ * `"stacked"`: The label will appear smaller and above the textarea regardless even when the textarea is blurred or has no value.
99
+ * `"fixed"`: The label has the same behavior as `"start"` except it also has a fixed width. Long text will be truncated with ellipses ("...").
100
+ */
101
+ this.labelPlacement = 'start';
102
+ // `Event` type is used instead of `InputEvent`
103
+ // since the types from Stencil are not derived
104
+ // from the element (e.g. textarea and input
105
+ // should be InputEvent, but all other elements
106
+ // should be Event).
107
+ this.onInput = (ev) => {
108
+ const input = ev.target;
109
+ if (input) {
110
+ this.value = input.value || '';
111
+ }
112
+ this.emitInputChange(ev);
113
+ };
114
+ this.onChange = (ev) => {
115
+ this.emitValueChange(ev);
116
+ };
117
+ this.onFocus = (ev) => {
118
+ this.hasFocus = true;
119
+ this.focusedValue = this.value;
120
+ this.ionFocus.emit(ev);
121
+ };
122
+ this.onBlur = (ev) => {
123
+ this.hasFocus = false;
124
+ if (this.focusedValue !== this.value) {
125
+ /**
126
+ * Emits the `ionChange` event when the textarea value
127
+ * is different than the value when the textarea was focused.
128
+ */
129
+ this.emitValueChange(ev);
130
+ }
131
+ this.didTextareaClearOnEdit = false;
132
+ this.ionBlur.emit(ev);
133
+ };
134
+ this.onKeyDown = (ev) => {
135
+ this.checkClearOnEdit(ev);
136
+ };
137
+ /**
138
+ * Stops propagation for clicks on the textarea's own content (label text,
139
+ * textarea field) to prevent double-click events. Allows clicks on slotted
140
+ * content to propagate so event delegation works for parent handlers.
141
+ *
142
+ * Only slots belonging directly to this textarea should be considered.
143
+ * The textarea itself may have a slot attribute when placed in an item
144
+ * or toolbar, which does not make its content slotted content.
145
+ */
146
+ this.onLabelClick = (ev) => {
147
+ const target = ev.target;
148
+ const slotted = target.closest('[slot="start"], [slot="end"]');
149
+ if (slotted === null || slotted === this.el || !this.el.contains(slotted)) {
150
+ ev.stopPropagation();
151
+ }
152
+ };
153
+ }
82
154
  debounceChanged() {
83
155
  const { ionInput, debounce, originalIonInput } = this;
84
156
  /**
@@ -87,118 +159,6 @@ export class Textarea {
87
159
  */
88
160
  this.ionInput = debounce === undefined ? originalIonInput ?? ionInput : debounceEvent(ionInput, debounce);
89
161
  }
90
- /**
91
- * If `true`, the user cannot interact with the textarea.
92
- */
93
- disabled = false;
94
- /**
95
- * The fill for the item. If `"solid"` the item will have a background. If
96
- * `"outline"` the item will be transparent with a border. Only available in `md` mode.
97
- */
98
- fill;
99
- /**
100
- * A hint to the browser for which keyboard to display.
101
- * Possible values: `"none"`, `"text"`, `"tel"`, `"url"`,
102
- * `"email"`, `"numeric"`, `"decimal"`, and `"search"`.
103
- */
104
- inputmode;
105
- /**
106
- * A hint to the browser for which enter key to display.
107
- * Possible values: `"enter"`, `"done"`, `"go"`, `"next"`,
108
- * `"previous"`, `"search"`, and `"send"`.
109
- */
110
- enterkeyhint;
111
- /**
112
- * This attribute specifies the maximum number of characters that the user can enter.
113
- */
114
- maxlength;
115
- /**
116
- * This attribute specifies the minimum number of characters that the user can enter.
117
- */
118
- minlength;
119
- /**
120
- * The name of the control, which is submitted with the form data.
121
- */
122
- name = this.inputId;
123
- /**
124
- * Instructional text that shows before the input has a value.
125
- */
126
- placeholder;
127
- /**
128
- * If `true`, the user cannot modify the value.
129
- */
130
- readonly = false;
131
- /**
132
- * If `true`, the user must fill in a value before submitting a form.
133
- */
134
- required = false;
135
- /**
136
- * If `true`, the element will have its spelling and grammar checked.
137
- */
138
- spellcheck = false;
139
- /**
140
- * The visible width of the text control, in average character widths. If it is specified, it must be a positive integer.
141
- */
142
- cols;
143
- /**
144
- * The number of visible text lines for the control.
145
- */
146
- rows;
147
- /**
148
- * Indicates how the control wraps text.
149
- */
150
- wrap;
151
- /**
152
- * If `true`, the textarea container will grow and shrink based
153
- * on the contents of the textarea.
154
- */
155
- autoGrow = false;
156
- /**
157
- * The value of the textarea.
158
- */
159
- value = '';
160
- /**
161
- * If `true`, a character counter will display the ratio of characters used and the total character limit.
162
- * Developers must also set the `maxlength` property for the counter to be calculated correctly.
163
- */
164
- counter = false;
165
- /**
166
- * A callback used to format the counter text.
167
- * By default the counter text is set to "itemLength / maxLength".
168
- *
169
- * See https://ionicframework.com/docs/troubleshooting/runtime#accessing-this
170
- * if you need to access `this` from within the callback.
171
- */
172
- counterFormatter;
173
- /**
174
- * Text that is placed under the textarea and displayed when an error is detected.
175
- */
176
- errorText;
177
- /**
178
- * Text that is placed under the textarea and displayed when no error is detected.
179
- */
180
- helperText;
181
- /**
182
- * The visible label associated with the textarea.
183
- *
184
- * Use this if you need to render a plaintext label.
185
- *
186
- * The `label` property will take priority over the `label` slot if both are used.
187
- */
188
- label;
189
- /**
190
- * Where to place the label relative to the textarea.
191
- * `"start"`: The label will appear to the left of the textarea in LTR and to the right in RTL.
192
- * `"end"`: The label will appear to the right of the textarea in LTR and to the left in RTL.
193
- * `"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.
194
- * `"stacked"`: The label will appear smaller and above the textarea regardless even when the textarea is blurred or has no value.
195
- * `"fixed"`: The label has the same behavior as `"start"` except it also has a fixed width. Long text will be truncated with ellipses ("...").
196
- */
197
- labelPlacement = 'start';
198
- /**
199
- * The shape of the textarea. If "round" it will have an increased border radius.
200
- */
201
- shape;
202
162
  /**
203
163
  * Update the native input element when the value changes
204
164
  */
@@ -224,31 +184,6 @@ export class Textarea {
224
184
  };
225
185
  forceUpdate(this);
226
186
  }
227
- /**
228
- * The `ionChange` event is fired when the user modifies the textarea's value.
229
- * Unlike the `ionInput` event, the `ionChange` event is fired when
230
- * the element loses focus after its value has been modified.
231
- *
232
- * This event will not emit when programmatically setting the `value` property.
233
- */
234
- ionChange;
235
- /**
236
- * The `ionInput` event is fired each time the user modifies the textarea's value.
237
- * Unlike the `ionChange` event, the `ionInput` event is fired for each alteration
238
- * to the textarea's value. This typically happens for each keystroke as the user types.
239
- *
240
- * When `clearOnEdit` is enabled, the `ionInput` event will be fired when
241
- * the user clears the textarea by performing a keydown event.
242
- */
243
- ionInput;
244
- /**
245
- * Emitted when the input loses focus.
246
- */
247
- ionBlur;
248
- /**
249
- * Emitted when the input has focus.
250
- */
251
- ionFocus;
252
187
  /**
253
188
  * This prevents the native input from emitting the click event.
254
189
  * Instead, the click event from the ion-textarea is emitted.
@@ -435,41 +370,6 @@ export class Textarea {
435
370
  getValue() {
436
371
  return this.value || '';
437
372
  }
438
- // `Event` type is used instead of `InputEvent`
439
- // since the types from Stencil are not derived
440
- // from the element (e.g. textarea and input
441
- // should be InputEvent, but all other elements
442
- // should be Event).
443
- onInput = (ev) => {
444
- const input = ev.target;
445
- if (input) {
446
- this.value = input.value || '';
447
- }
448
- this.emitInputChange(ev);
449
- };
450
- onChange = (ev) => {
451
- this.emitValueChange(ev);
452
- };
453
- onFocus = (ev) => {
454
- this.hasFocus = true;
455
- this.focusedValue = this.value;
456
- this.ionFocus.emit(ev);
457
- };
458
- onBlur = (ev) => {
459
- this.hasFocus = false;
460
- if (this.focusedValue !== this.value) {
461
- /**
462
- * Emits the `ionChange` event when the textarea value
463
- * is different than the value when the textarea was focused.
464
- */
465
- this.emitValueChange(ev);
466
- }
467
- this.didTextareaClearOnEdit = false;
468
- this.ionBlur.emit(ev);
469
- };
470
- onKeyDown = (ev) => {
471
- this.checkClearOnEdit(ev);
472
- };
473
373
  renderLabel() {
474
374
  const { label } = this;
475
375
  return (h("div", { class: {
@@ -493,22 +393,6 @@ export class Textarea {
493
393
  get hasLabel() {
494
394
  return this.label !== undefined || this.labelSlot !== null;
495
395
  }
496
- /**
497
- * Stops propagation for clicks on the textarea's own content (label text,
498
- * textarea field) to prevent double-click events. Allows clicks on slotted
499
- * content to propagate so event delegation works for parent handlers.
500
- *
501
- * Only slots belonging directly to this textarea should be considered.
502
- * The textarea itself may have a slot attribute when placed in an item
503
- * or toolbar, which does not make its content slotted content.
504
- */
505
- onLabelClick = (ev) => {
506
- const target = ev.target;
507
- const slotted = target.closest('[slot="start"], [slot="end"]');
508
- if (slotted === null || slotted === this.el || !this.el.contains(slotted)) {
509
- ev.stopPropagation();
510
- }
511
- };
512
396
  /**
513
397
  * Renders the outline border with a notch for the label.
514
398
  */
@@ -5,22 +5,6 @@ import { Host, h } from "@stencil/core";
5
5
  import { createColorClasses } from "../../utils/theme";
6
6
  import { getIonMode } from "../../global/ionic-global";
7
7
  export class ToolbarTitle {
8
- el;
9
- /**
10
- * The color to use from your application's color palette.
11
- * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
12
- * For more information on colors, see [theming](/docs/theming/basics).
13
- */
14
- color;
15
- /**
16
- * The size of the toolbar title.
17
- */
18
- size;
19
- /**
20
- * Emitted when the styles change.
21
- * @internal
22
- */
23
- ionStyle;
24
8
  sizeChanged() {
25
9
  this.emitStyle();
26
10
  }