voyager-ionic-core 7.5.5 → 7.6.0

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 (1847) hide show
  1. package/components/action-sheet.js +297 -287
  2. package/components/alert.js +477 -467
  3. package/components/animation.js +991 -990
  4. package/components/backdrop.js +56 -56
  5. package/components/button-active.js +56 -56
  6. package/components/button.js +236 -236
  7. package/components/buttons.js +29 -29
  8. package/components/capacitor.js +4 -4
  9. package/components/checkbox.js +172 -170
  10. package/components/config.js +142 -142
  11. package/components/cubic-bezier.js +49 -49
  12. package/components/data.js +1055 -1055
  13. package/components/dir.js +5 -5
  14. package/components/focus-visible.js +63 -63
  15. package/components/form-controller.js +45 -45
  16. package/components/framework-delegate.js +121 -121
  17. package/components/gesture-controller.js +182 -182
  18. package/components/haptic.js +150 -150
  19. package/components/hardware-back-button.js +48 -48
  20. package/components/helpers.js +257 -257
  21. package/components/icon.js +133 -133
  22. package/components/index.js +95 -95
  23. package/components/index2.js +163 -163
  24. package/components/index3.js +417 -417
  25. package/components/index4.js +257 -259
  26. package/components/index5.js +0 -22
  27. package/components/index6.js +3 -3
  28. package/components/index8.js +58 -58
  29. package/components/index9.js +171 -171
  30. package/components/input-shims.js +488 -483
  31. package/components/input.utils.js +107 -106
  32. package/components/ion-accordion-group.d.ts +2 -2
  33. package/components/ion-accordion-group.js +220 -220
  34. package/components/ion-accordion.d.ts +2 -2
  35. package/components/ion-accordion.js +326 -326
  36. package/components/ion-action-sheet.d.ts +2 -2
  37. package/components/ion-alert.d.ts +2 -2
  38. package/components/ion-app.d.ts +2 -2
  39. package/components/ion-app.js +93 -93
  40. package/components/ion-avatar.d.ts +2 -2
  41. package/components/ion-avatar.js +23 -23
  42. package/components/ion-back-button.d.ts +2 -2
  43. package/components/ion-back-button.js +102 -102
  44. package/components/ion-backdrop.d.ts +2 -2
  45. package/components/ion-badge.d.ts +2 -2
  46. package/components/ion-badge.js +29 -29
  47. package/components/ion-breadcrumb.d.ts +2 -2
  48. package/components/ion-breadcrumb.js +111 -111
  49. package/components/ion-breadcrumbs.d.ts +2 -2
  50. package/components/ion-breadcrumbs.js +139 -139
  51. package/components/ion-button.d.ts +2 -2
  52. package/components/ion-buttons.d.ts +2 -2
  53. package/components/ion-card-content.d.ts +2 -2
  54. package/components/ion-card-content.js +27 -27
  55. package/components/ion-card-header.d.ts +2 -2
  56. package/components/ion-card-header.js +33 -33
  57. package/components/ion-card-subtitle.d.ts +2 -2
  58. package/components/ion-card-subtitle.js +30 -30
  59. package/components/ion-card-title.d.ts +2 -2
  60. package/components/ion-card-title.js +30 -30
  61. package/components/ion-card.d.ts +2 -2
  62. package/components/ion-card.js +78 -78
  63. package/components/ion-checkbox.d.ts +2 -2
  64. package/components/ion-chip.d.ts +2 -2
  65. package/components/ion-chip.js +41 -41
  66. package/components/ion-col.d.ts +2 -2
  67. package/components/ion-col.js +156 -156
  68. package/components/ion-content.d.ts +2 -2
  69. package/components/ion-content.js +394 -394
  70. package/components/ion-datetime-button.d.ts +2 -2
  71. package/components/ion-datetime-button.js +348 -348
  72. package/components/ion-datetime.d.ts +2 -2
  73. package/components/ion-datetime.js +1722 -1709
  74. package/components/ion-fab-button.d.ts +2 -2
  75. package/components/ion-fab-button.js +109 -109
  76. package/components/ion-fab-list.d.ts +2 -2
  77. package/components/ion-fab-list.js +44 -44
  78. package/components/ion-fab.d.ts +2 -2
  79. package/components/ion-fab.js +75 -75
  80. package/components/ion-footer.d.ts +2 -2
  81. package/components/ion-footer.js +124 -124
  82. package/components/ion-grid.d.ts +2 -2
  83. package/components/ion-grid.js +27 -27
  84. package/components/ion-header.d.ts +2 -2
  85. package/components/ion-header.js +298 -298
  86. package/components/ion-img.d.ts +2 -2
  87. package/components/ion-img.js +97 -97
  88. package/components/ion-infinite-scroll-content.d.ts +2 -2
  89. package/components/ion-infinite-scroll-content.js +49 -49
  90. package/components/ion-infinite-scroll.d.ts +2 -2
  91. package/components/ion-infinite-scroll.js +187 -179
  92. package/components/ion-input.d.ts +2 -2
  93. package/components/ion-input.js +479 -454
  94. package/components/ion-item-divider.d.ts +2 -2
  95. package/components/ion-item-divider.js +34 -34
  96. package/components/ion-item-group.d.ts +2 -2
  97. package/components/ion-item-group.js +28 -28
  98. package/components/ion-item-option.d.ts +2 -2
  99. package/components/ion-item-option.js +67 -67
  100. package/components/ion-item-options.d.ts +2 -2
  101. package/components/ion-item-options.js +50 -50
  102. package/components/ion-item-sliding.d.ts +2 -2
  103. package/components/ion-item-sliding.js +404 -404
  104. package/components/ion-item.d.ts +2 -2
  105. package/components/ion-label.d.ts +2 -2
  106. package/components/ion-list-header.d.ts +2 -2
  107. package/components/ion-list.d.ts +2 -2
  108. package/components/ion-loading.d.ts +2 -2
  109. package/components/ion-loading.js +257 -247
  110. package/components/ion-menu-button.d.ts +2 -2
  111. package/components/ion-menu-button.js +77 -77
  112. package/components/ion-menu-toggle.d.ts +2 -2
  113. package/components/ion-menu-toggle.js +41 -41
  114. package/components/ion-menu.d.ts +2 -2
  115. package/components/ion-menu.js +629 -629
  116. package/components/ion-modal.d.ts +2 -2
  117. package/components/ion-modal.js +1451 -1441
  118. package/components/ion-nav-link.d.ts +2 -2
  119. package/components/ion-nav-link.js +47 -47
  120. package/components/ion-nav.d.ts +2 -2
  121. package/components/ion-nav.js +910 -910
  122. package/components/ion-note.d.ts +2 -2
  123. package/components/ion-picker-column-internal.d.ts +2 -2
  124. package/components/ion-picker-column.d.ts +2 -2
  125. package/components/ion-picker-internal.d.ts +2 -2
  126. package/components/ion-picker.d.ts +2 -2
  127. package/components/ion-picker.js +263 -253
  128. package/components/ion-popover.d.ts +2 -2
  129. package/components/ion-progress-bar.d.ts +2 -2
  130. package/components/ion-progress-bar.js +57 -57
  131. package/components/ion-radio-group.d.ts +2 -2
  132. package/components/ion-radio.d.ts +2 -2
  133. package/components/ion-range.d.ts +2 -2
  134. package/components/ion-range.js +593 -591
  135. package/components/ion-refresher-content.d.ts +2 -2
  136. package/components/ion-refresher-content.js +63 -63
  137. package/components/ion-refresher.d.ts +2 -2
  138. package/components/ion-refresher.js +747 -747
  139. package/components/ion-reorder-group.d.ts +2 -2
  140. package/components/ion-reorder-group.js +259 -259
  141. package/components/ion-reorder.d.ts +2 -2
  142. package/components/ion-reorder.js +39 -39
  143. package/components/ion-ripple-effect.d.ts +2 -2
  144. package/components/ion-route-redirect.d.ts +2 -2
  145. package/components/ion-route-redirect.js +34 -34
  146. package/components/ion-route.d.ts +2 -2
  147. package/components/ion-route.js +56 -56
  148. package/components/ion-router-link.d.ts +2 -2
  149. package/components/ion-router-link.js +45 -45
  150. package/components/ion-router-outlet.d.ts +2 -2
  151. package/components/ion-router-outlet.js +193 -193
  152. package/components/ion-router.d.ts +2 -2
  153. package/components/ion-router.js +632 -632
  154. package/components/ion-row.d.ts +2 -2
  155. package/components/ion-row.js +20 -20
  156. package/components/ion-searchbar.d.ts +2 -2
  157. package/components/ion-searchbar.js +402 -400
  158. package/components/ion-segment-button.d.ts +2 -2
  159. package/components/ion-segment-button.js +117 -117
  160. package/components/ion-segment.d.ts +2 -2
  161. package/components/ion-segment.js +427 -427
  162. package/components/ion-select-option.d.ts +2 -2
  163. package/components/ion-select-option.js +27 -27
  164. package/components/ion-select-popover.d.ts +2 -2
  165. package/components/ion-select.d.ts +2 -2
  166. package/components/ion-select.js +778 -763
  167. package/components/ion-skeleton-text.d.ts +2 -2
  168. package/components/ion-skeleton-text.js +45 -32
  169. package/components/ion-spinner.d.ts +2 -2
  170. package/components/ion-split-pane.d.ts +2 -2
  171. package/components/ion-split-pane.js +145 -145
  172. package/components/ion-tab-bar.d.ts +2 -2
  173. package/components/ion-tab-bar.js +77 -77
  174. package/components/ion-tab-button.d.ts +2 -2
  175. package/components/ion-tab-button.js +104 -104
  176. package/components/ion-tab.d.ts +2 -2
  177. package/components/ion-tab.js +72 -72
  178. package/components/ion-tabs.d.ts +2 -2
  179. package/components/ion-tabs.js +160 -160
  180. package/components/ion-text.d.ts +2 -2
  181. package/components/ion-text.js +26 -26
  182. package/components/ion-textarea.d.ts +2 -2
  183. package/components/ion-textarea.js +420 -395
  184. package/components/ion-thumbnail.d.ts +2 -2
  185. package/components/ion-thumbnail.js +20 -20
  186. package/components/ion-title.d.ts +2 -2
  187. package/components/ion-title.js +56 -56
  188. package/components/ion-toast.d.ts +2 -2
  189. package/components/ion-toast.js +819 -464
  190. package/components/ion-toggle.d.ts +2 -2
  191. package/components/ion-toggle.js +243 -241
  192. package/components/ion-toolbar.d.ts +2 -2
  193. package/components/ion-toolbar.js +71 -71
  194. package/components/ionic-global.js +163 -163
  195. package/components/ios.transition.js +598 -598
  196. package/components/item.js +301 -301
  197. package/components/keyboard-controller.js +128 -128
  198. package/components/keyboard.js +62 -62
  199. package/components/keyboard2.js +59 -59
  200. package/components/label.js +85 -85
  201. package/components/list-header.js +33 -33
  202. package/components/list.js +50 -50
  203. package/components/lock-controller.js +24 -24
  204. package/components/md.transition.js +44 -44
  205. package/components/menu-toggle-util.js +2 -2
  206. package/components/notch-controller.js +120 -120
  207. package/components/note.js +29 -29
  208. package/components/overlays.js +496 -495
  209. package/components/picker-column-internal.js +350 -345
  210. package/components/picker-column.js +334 -334
  211. package/components/picker-internal.js +468 -468
  212. package/components/popover.js +1154 -1144
  213. package/components/radio-group.js +161 -159
  214. package/components/radio.js +248 -208
  215. package/components/ripple-effect.js +81 -81
  216. package/components/select-popover.js +163 -163
  217. package/components/spinner.js +182 -182
  218. package/components/status-tap.js +26 -26
  219. package/components/swipe-back.js +65 -65
  220. package/components/theme.js +23 -23
  221. package/components/watch-options.js +30 -30
  222. package/css/core.css +66 -0
  223. package/css/core.css.map +1 -1
  224. package/css/display.css +44 -0
  225. package/css/display.css.map +1 -1
  226. package/css/float-elements.css +44 -0
  227. package/css/float-elements.css.map +1 -1
  228. package/css/global.bundle.css +88 -0
  229. package/css/global.bundle.css.map +1 -1
  230. package/css/ionic-swiper.css +22 -0
  231. package/css/ionic-swiper.css.map +1 -1
  232. package/css/ionic.bundle.css.map +1 -1
  233. package/css/padding.css +44 -0
  234. package/css/padding.css.map +1 -1
  235. package/css/structure.css +44 -0
  236. package/css/structure.css.map +1 -1
  237. package/css/text-alignment.css +44 -0
  238. package/css/text-alignment.css.map +1 -1
  239. package/css/text-transformation.css +44 -0
  240. package/css/text-transformation.css.map +1 -1
  241. package/css/typography.css +44 -0
  242. package/css/typography.css.map +1 -1
  243. package/css/utils.bundle.css +220 -0
  244. package/css/utils.bundle.css.map +1 -1
  245. package/dist/cjs/animation-9b401d39.js +1062 -0
  246. package/dist/cjs/{app-globals-1d4c1dbf.js → app-globals-0af482c7.js} +1 -1
  247. package/dist/cjs/button-active-a5185907.js +69 -0
  248. package/dist/cjs/{capacitor-2ffba62a.js → capacitor-c04564bf.js} +5 -5
  249. package/dist/cjs/compare-with-utils-df1001d7.js +44 -0
  250. package/dist/cjs/config-4f60b98a.js +199 -0
  251. package/dist/cjs/cubic-bezier-f2dccc53.js +92 -0
  252. package/dist/cjs/data-36b9094e.js +1622 -0
  253. package/dist/cjs/{dir-f1e0ca26.js → dir-94c21456.js} +5 -5
  254. package/dist/cjs/focus-visible-7a0ce04f.js +77 -0
  255. package/dist/cjs/form-controller-7d42a722.js +66 -0
  256. package/dist/cjs/framework-delegate-1c29b14a.js +144 -0
  257. package/dist/cjs/gesture-controller-c40c045a.js +197 -0
  258. package/dist/cjs/haptic-b882e0bb.js +212 -0
  259. package/dist/cjs/hardware-back-button-76833cac.js +76 -0
  260. package/dist/cjs/helpers-76bb7efb.js +441 -0
  261. package/dist/cjs/{index-cc7dfb7c.js → index-5915f9b3.js} +3 -3
  262. package/dist/cjs/index-b4f986cd.js +198 -0
  263. package/dist/cjs/{index-c2940dc1.js → index-bbb4336c.js} +58 -7
  264. package/dist/cjs/index-c8d52405.js +10 -0
  265. package/dist/cjs/index-ce101dc9.js +308 -0
  266. package/dist/cjs/index-d1b59ffa.js +459 -0
  267. package/dist/cjs/{index-da2c7a37.js → index-da15e99c.js} +60 -60
  268. package/dist/cjs/index-f8f13389.js +243 -0
  269. package/dist/cjs/index.cjs.js +113 -113
  270. package/dist/cjs/input-shims-a23bb0f4.js +601 -0
  271. package/dist/cjs/input.utils-3d0166a2.js +138 -0
  272. package/dist/cjs/ion-accordion_2.cjs.entry.js +488 -488
  273. package/dist/cjs/ion-action-sheet.cjs.entry.js +260 -250
  274. package/dist/cjs/ion-alert.cjs.entry.js +442 -432
  275. package/dist/cjs/ion-app_8.cjs.entry.js +1151 -1151
  276. package/dist/cjs/ion-avatar_3.cjs.entry.js +29 -29
  277. package/dist/cjs/ion-back-button.cjs.entry.js +73 -73
  278. package/dist/cjs/ion-backdrop.cjs.entry.js +40 -40
  279. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +194 -194
  280. package/dist/cjs/ion-button_2.cjs.entry.js +303 -303
  281. package/dist/cjs/ion-card_5.cjs.entry.js +105 -105
  282. package/dist/cjs/ion-checkbox.cjs.entry.js +149 -147
  283. package/dist/cjs/ion-chip.cjs.entry.js +20 -20
  284. package/dist/cjs/ion-col_3.cjs.entry.js +136 -136
  285. package/dist/cjs/ion-datetime-button.cjs.entry.js +325 -325
  286. package/dist/cjs/ion-datetime_3.cjs.entry.js +2185 -2162
  287. package/dist/cjs/ion-fab_3.cjs.entry.js +150 -150
  288. package/dist/cjs/ion-img.cjs.entry.js +79 -79
  289. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +198 -190
  290. package/dist/cjs/ion-input.cjs.entry.js +424 -399
  291. package/dist/cjs/ion-item-option_3.cjs.entry.js +457 -457
  292. package/dist/cjs/ion-item_8.cjs.entry.js +441 -428
  293. package/dist/cjs/ion-loading.cjs.entry.js +220 -210
  294. package/dist/cjs/ion-menu_3.cjs.entry.js +668 -668
  295. package/dist/cjs/ion-modal.cjs.entry.js +1415 -1405
  296. package/dist/cjs/ion-nav_2.cjs.entry.js +904 -904
  297. package/dist/cjs/ion-picker-column-internal.cjs.entry.js +331 -327
  298. package/dist/cjs/ion-picker-internal.cjs.entry.js +453 -453
  299. package/dist/cjs/ion-popover.cjs.entry.js +1108 -1098
  300. package/dist/cjs/ion-progress-bar.cjs.entry.js +40 -40
  301. package/dist/cjs/ion-radio_2.cjs.entry.js +321 -316
  302. package/dist/cjs/ion-range.cjs.entry.js +558 -556
  303. package/dist/cjs/ion-refresher_2.cjs.entry.js +786 -786
  304. package/dist/cjs/ion-reorder_2.cjs.entry.js +267 -267
  305. package/dist/cjs/ion-ripple-effect.cjs.entry.js +66 -66
  306. package/dist/cjs/ion-route_4.cjs.entry.js +693 -693
  307. package/dist/cjs/ion-searchbar.cjs.entry.js +360 -358
  308. package/dist/cjs/ion-segment_2.cjs.entry.js +507 -507
  309. package/dist/cjs/ion-select_3.cjs.entry.js +784 -768
  310. package/dist/cjs/ion-spinner.cjs.entry.js +46 -46
  311. package/dist/cjs/ion-split-pane.cjs.entry.js +117 -117
  312. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +138 -138
  313. package/dist/cjs/ion-tab_2.cjs.entry.js +187 -187
  314. package/dist/cjs/ion-text.cjs.entry.js +13 -13
  315. package/dist/cjs/ion-textarea.cjs.entry.js +378 -353
  316. package/dist/cjs/ion-toast.cjs.entry.js +771 -419
  317. package/dist/cjs/ion-toggle.cjs.entry.js +227 -225
  318. package/dist/cjs/ionic-global-f4a2093b.js +230 -0
  319. package/dist/cjs/ionic.cjs.js +5 -5
  320. package/dist/cjs/ios.transition-6787b799.js +654 -0
  321. package/dist/cjs/keyboard-0272231f.js +81 -0
  322. package/dist/cjs/{keyboard-38f2bb7b.js → keyboard-af1bb365.js} +62 -62
  323. package/dist/cjs/keyboard-controller-c05e747a.js +167 -0
  324. package/dist/cjs/loader.cjs.js +4 -4
  325. package/dist/cjs/lock-controller-6585a42a.js +40 -0
  326. package/dist/cjs/md.transition-e033d20a.js +59 -0
  327. package/dist/cjs/notch-controller-9735e7ac.js +155 -0
  328. package/dist/cjs/overlays-27a6fb16.js +716 -0
  329. package/dist/cjs/spinner-configs-282fd50a.js +147 -0
  330. package/dist/cjs/status-tap-415acac6.js +42 -0
  331. package/dist/cjs/swipe-back-e37a1a5c.js +81 -0
  332. package/dist/cjs/theme-d1c573d2.js +48 -0
  333. package/dist/cjs/watch-options-f5f3e158.js +49 -0
  334. package/dist/collection/collection-manifest.json +7 -7
  335. package/dist/collection/components/accordion/accordion.ios.css +44 -0
  336. package/dist/collection/components/accordion/accordion.js +410 -410
  337. package/dist/collection/components/accordion/accordion.md.css +22 -0
  338. package/dist/collection/components/accordion/test/a11y/accordion.e2e.js +31 -31
  339. package/dist/collection/components/accordion/test/accordion.e2e.js +24 -24
  340. package/dist/collection/components/accordion/test/accordion.spec.js +195 -0
  341. package/dist/collection/components/accordion/test/basic/accordion.e2e.js +26 -26
  342. package/dist/collection/components/accordion/test/multiple/accordion.e2e.js +18 -18
  343. package/dist/collection/components/accordion/test/nested/accordion.e2e.js +16 -16
  344. package/dist/collection/components/accordion/test/standalone/accordion.e2e.js +6 -6
  345. package/dist/collection/components/accordion-group/accordion-group.ios.css +44 -0
  346. package/dist/collection/components/accordion-group/accordion-group.js +421 -421
  347. package/dist/collection/components/accordion-group/accordion-group.md.css +66 -0
  348. package/dist/collection/components/action-sheet/action-sheet.ios.css +44 -0
  349. package/dist/collection/components/action-sheet/action-sheet.js +739 -729
  350. package/dist/collection/components/action-sheet/action-sheet.md.css +44 -0
  351. package/dist/collection/components/action-sheet/animations/ios.enter.js +18 -18
  352. package/dist/collection/components/action-sheet/animations/ios.leave.js +12 -12
  353. package/dist/collection/components/action-sheet/animations/md.enter.js +18 -18
  354. package/dist/collection/components/action-sheet/animations/md.leave.js +12 -12
  355. package/dist/collection/components/action-sheet/test/a11y/action-sheet.e2e.js +59 -59
  356. package/dist/collection/components/action-sheet/test/action-sheet-id.spec.js +32 -0
  357. package/dist/collection/components/action-sheet/test/basic/action-sheet-rendering.e2e.js +33 -33
  358. package/dist/collection/components/action-sheet/test/basic/action-sheet.e2e.js +74 -74
  359. package/dist/collection/components/action-sheet/test/basic/action-sheet.spec.js +18 -0
  360. package/dist/collection/components/action-sheet/test/basic/fixture.js +23 -23
  361. package/dist/collection/components/action-sheet/test/is-open/action-sheet.e2e.js +25 -25
  362. package/dist/collection/components/action-sheet/test/translucent/action-sheet.e2e.js +10 -10
  363. package/dist/collection/components/action-sheet/test/trigger/action-sheet.e2e.js +21 -21
  364. package/dist/collection/components/alert/alert.ios.css +85 -1
  365. package/dist/collection/components/alert/alert.js +977 -967
  366. package/dist/collection/components/alert/alert.md.css +115 -3
  367. package/dist/collection/components/alert/animations/ios.enter.js +19 -19
  368. package/dist/collection/components/alert/animations/ios.leave.js +13 -13
  369. package/dist/collection/components/alert/animations/md.enter.js +19 -19
  370. package/dist/collection/components/alert/animations/md.leave.js +10 -10
  371. package/dist/collection/components/alert/test/a11y/alert.e2e.js +116 -116
  372. package/dist/collection/components/alert/test/alert-id.spec.js +32 -0
  373. package/dist/collection/components/alert/test/alert.spec.js +37 -0
  374. package/dist/collection/components/alert/test/basic/alert-tablet.e2e.js +40 -0
  375. package/dist/collection/components/alert/test/basic/alert.e2e.js +96 -96
  376. package/dist/collection/components/alert/test/is-open/alert.e2e.js +25 -25
  377. package/dist/collection/components/alert/test/standalone/alert.e2e.js +9 -9
  378. package/dist/collection/components/alert/test/trigger/alert.e2e.js +21 -21
  379. package/dist/collection/components/app/app.js +116 -116
  380. package/dist/collection/components/app/test/safe-area/app.e2e.js +24 -24
  381. package/dist/collection/components/avatar/avatar.ios.css +44 -0
  382. package/dist/collection/components/avatar/avatar.js +17 -17
  383. package/dist/collection/components/avatar/avatar.md.css +44 -0
  384. package/dist/collection/components/avatar/test/basic/avatar.e2e.js +12 -12
  385. package/dist/collection/components/back-button/back-button.ios.css +44 -0
  386. package/dist/collection/components/back-button/back-button.js +214 -214
  387. package/dist/collection/components/back-button/back-button.md.css +44 -0
  388. package/dist/collection/components/back-button/test/a11y/back-button.e2e.js +6 -6
  389. package/dist/collection/components/back-button/test/back-button.spec.js +86 -0
  390. package/dist/collection/components/back-button/test/basic/back-button.e2e.js +6 -6
  391. package/dist/collection/components/back-button/test/toolbar/back-button.e2e.js +6 -6
  392. package/dist/collection/components/backdrop/backdrop.ios.css +44 -0
  393. package/dist/collection/components/backdrop/backdrop.js +131 -131
  394. package/dist/collection/components/backdrop/backdrop.md.css +44 -0
  395. package/dist/collection/components/badge/badge.ios.css +44 -0
  396. package/dist/collection/components/badge/badge.js +49 -49
  397. package/dist/collection/components/badge/badge.md.css +44 -0
  398. package/dist/collection/components/badge/test/a11y/badge.e2e.js +6 -6
  399. package/dist/collection/components/badge/test/basic/badge.e2e.js +6 -6
  400. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +44 -0
  401. package/dist/collection/components/breadcrumb/breadcrumb.js +395 -395
  402. package/dist/collection/components/breadcrumb/breadcrumb.md.css +44 -0
  403. package/dist/collection/components/breadcrumb/test/aria.spec.js +22 -0
  404. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +22 -0
  405. package/dist/collection/components/breadcrumbs/breadcrumbs.js +247 -247
  406. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +22 -0
  407. package/dist/collection/components/breadcrumbs/test/a11y/breadcrumbs.e2e.js +12 -12
  408. package/dist/collection/components/breadcrumbs/test/basic/breadcrumbs.e2e.js +6 -6
  409. package/dist/collection/components/breadcrumbs/test/breadcrumbs.spec.js +58 -0
  410. package/dist/collection/components/breadcrumbs/test/collapsed/breadcrumbs.e2e.js +6 -6
  411. package/dist/collection/components/breadcrumbs/test/reactive/breadcrumbs.e2e.js +43 -43
  412. package/dist/collection/components/button/button.ios.css +66 -0
  413. package/dist/collection/components/button/button.js +541 -541
  414. package/dist/collection/components/button/button.md.css +44 -0
  415. package/dist/collection/components/button/test/a11y/button.e2e.js +21 -21
  416. package/dist/collection/components/button/test/basic/button.e2e.js +32 -32
  417. package/dist/collection/components/button/test/clear/button.e2e.js +6 -6
  418. package/dist/collection/components/button/test/expand/button.e2e.js +6 -6
  419. package/dist/collection/components/button/test/form-reference/button.e2e.js +84 -84
  420. package/dist/collection/components/button/test/form-reference/button.spec.js +26 -0
  421. package/dist/collection/components/button/test/icon/button.e2e.js +6 -6
  422. package/dist/collection/components/button/test/outline/button.e2e.js +6 -6
  423. package/dist/collection/components/button/test/round/button.e2e.js +6 -6
  424. package/dist/collection/components/button/test/size/button.e2e.js +22 -22
  425. package/dist/collection/components/button/test/strong/button.e2e.js +22 -22
  426. package/dist/collection/components/button/test/wrap/button.e2e.js +73 -73
  427. package/dist/collection/components/buttons/buttons.ios.css +66 -0
  428. package/dist/collection/components/buttons/buttons.js +46 -46
  429. package/dist/collection/components/buttons/buttons.md.css +66 -0
  430. package/dist/collection/components/buttons/test/a11y/buttons.e2e.js +21 -21
  431. package/dist/collection/components/card/card.ios.css +44 -0
  432. package/dist/collection/components/card/card.js +251 -251
  433. package/dist/collection/components/card/card.md.css +44 -0
  434. package/dist/collection/components/card/test/a11y/card.e2e.js +6 -6
  435. package/dist/collection/components/card/test/aria.spec.js +16 -0
  436. package/dist/collection/components/card/test/basic/card.e2e.js +38 -38
  437. package/dist/collection/components/card-content/card-content.ios.css +44 -0
  438. package/dist/collection/components/card-content/card-content.js +21 -21
  439. package/dist/collection/components/card-content/card-content.md.css +44 -0
  440. package/dist/collection/components/card-header/card-header.ios.css +44 -0
  441. package/dist/collection/components/card-header/card-header.js +70 -70
  442. package/dist/collection/components/card-header/card-header.md.css +44 -0
  443. package/dist/collection/components/card-header/test/basic/card-header.e2e.js +6 -6
  444. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +44 -0
  445. package/dist/collection/components/card-subtitle/card-subtitle.js +50 -50
  446. package/dist/collection/components/card-subtitle/card-subtitle.md.css +44 -0
  447. package/dist/collection/components/card-title/card-title.ios.css +44 -0
  448. package/dist/collection/components/card-title/card-title.js +50 -50
  449. package/dist/collection/components/card-title/card-title.md.css +44 -0
  450. package/dist/collection/components/checkbox/checkbox.ios.css +66 -6
  451. package/dist/collection/components/checkbox/checkbox.js +418 -415
  452. package/dist/collection/components/checkbox/checkbox.md.css +66 -6
  453. package/dist/collection/components/checkbox/test/a11y/checkbox.e2e.js +14 -14
  454. package/dist/collection/components/checkbox/test/basic/checkbox.e2e.js +50 -50
  455. package/dist/collection/components/checkbox/test/checkbox.spec.js +34 -0
  456. package/dist/collection/components/checkbox/test/color/checkbox.e2e.js +11 -11
  457. package/dist/collection/components/checkbox/test/indeterminate/checkbox.e2e.js +6 -6
  458. package/dist/collection/components/checkbox/test/item/checkbox.e2e.js +29 -29
  459. package/dist/collection/components/checkbox/test/label/checkbox.e2e.js +75 -75
  460. package/dist/collection/components/checkbox/test/legacy/basic/checkbox.e2e.js +45 -45
  461. package/dist/collection/components/checkbox/test/legacy/indeterminate/checkbox.e2e.js +6 -6
  462. package/dist/collection/components/checkbox/test/states/checkbox.e2e.js +21 -21
  463. package/dist/collection/components/chip/chip.ios.css +22 -0
  464. package/dist/collection/components/chip/chip.js +90 -90
  465. package/dist/collection/components/chip/chip.md.css +22 -0
  466. package/dist/collection/components/chip/test/a11y/chip.e2e.js +19 -19
  467. package/dist/collection/components/chip/test/basic/chip.e2e.js +42 -42
  468. package/dist/collection/components/chip/test/states/chip.e2e.js +14 -14
  469. package/dist/collection/components/col/col.css +66 -0
  470. package/dist/collection/components/col/col.js +536 -536
  471. package/dist/collection/components/content/content.css +22 -0
  472. package/dist/collection/components/content/content.js +745 -745
  473. package/dist/collection/components/content/test/basic/content.e2e.js +6 -6
  474. package/dist/collection/components/content/test/fixed/content.e2e.js +6 -6
  475. package/dist/collection/components/content/test/fullscreen/content.e2e.js +6 -6
  476. package/dist/collection/components/content/test/standalone/content.e2e.js +5 -5
  477. package/dist/collection/components/datetime/datetime.ios.css +45 -0
  478. package/dist/collection/components/datetime/datetime.js +2245 -2232
  479. package/dist/collection/components/datetime/datetime.md.css +45 -0
  480. package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +58 -58
  481. package/dist/collection/components/datetime/test/a11y/datetime.spec.js +43 -0
  482. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +241 -241
  483. package/dist/collection/components/datetime/test/color/datetime.e2e.js +9 -9
  484. package/dist/collection/components/datetime/test/comparison.spec.js +43 -0
  485. package/dist/collection/components/datetime/test/custom/datetime.e2e.js +37 -37
  486. package/dist/collection/components/datetime/test/data.spec.js +456 -0
  487. package/dist/collection/components/datetime/test/datetime.e2e.js +29 -29
  488. package/dist/collection/components/datetime/test/disable-dates/datetime.e2e.js +119 -119
  489. package/dist/collection/components/datetime/test/disabled/datetime.e2e.js +43 -43
  490. package/dist/collection/components/datetime/test/disabled/datetime.spec.js +33 -0
  491. package/dist/collection/components/datetime/test/display/datetime.e2e.js +86 -86
  492. package/dist/collection/components/datetime/test/first-day-of-week/datetime.e2e.js +6 -6
  493. package/dist/collection/components/datetime/test/format.spec.js +124 -0
  494. package/dist/collection/components/datetime/test/helpers.spec.js +72 -0
  495. package/dist/collection/components/datetime/test/highlighted-dates/datetime.e2e.js +76 -76
  496. package/dist/collection/components/datetime/test/hour-cycle/datetime.e2e.js +21 -21
  497. package/dist/collection/components/datetime/test/locale/datetime.e2e.js +98 -98
  498. package/dist/collection/components/datetime/test/manipulation.spec.js +433 -0
  499. package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +178 -178
  500. package/dist/collection/components/datetime/test/month-year-picker/datetime.e2e.js +17 -17
  501. package/dist/collection/components/datetime/test/multiple/datetime.e2e.js +170 -170
  502. package/dist/collection/components/datetime/test/parse.spec.js +222 -0
  503. package/dist/collection/components/datetime/test/position/datetime.e2e.js +14 -14
  504. package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +263 -263
  505. package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +137 -137
  506. package/dist/collection/components/datetime/test/readonly/datetime.e2e.js +86 -86
  507. package/dist/collection/components/datetime/test/set-value/datetime.e2e.js +40 -40
  508. package/dist/collection/components/datetime/test/state.spec.js +114 -0
  509. package/dist/collection/components/datetime/test/time-label/datetime.e2e.js +13 -13
  510. package/dist/collection/components/datetime/test/values/datetime.e2e.js +77 -77
  511. package/dist/collection/components/datetime/utils/comparison.js +22 -22
  512. package/dist/collection/components/datetime/utils/data.js +394 -394
  513. package/dist/collection/components/datetime/utils/format.js +143 -143
  514. package/dist/collection/components/datetime/utils/helpers.js +74 -74
  515. package/dist/collection/components/datetime/utils/manipulation.js +274 -274
  516. package/dist/collection/components/datetime/utils/parse.js +139 -139
  517. package/dist/collection/components/datetime/utils/state.js +123 -123
  518. package/dist/collection/components/datetime-button/datetime-button.css +22 -0
  519. package/dist/collection/components/datetime-button/datetime-button.js +399 -399
  520. package/dist/collection/components/datetime-button/test/a11y/datetime-button.e2e.js +11 -11
  521. package/dist/collection/components/datetime-button/test/basic/datetime-button.e2e.js +123 -123
  522. package/dist/collection/components/datetime-button/test/disabled/datetime-button.e2e.js +13 -13
  523. package/dist/collection/components/datetime-button/test/multiple/datetime-button.e2e.js +38 -38
  524. package/dist/collection/components/datetime-button/test/overlays/datetime-button.e2e.js +102 -102
  525. package/dist/collection/components/fab/fab.css +88 -0
  526. package/dist/collection/components/fab/fab.js +179 -179
  527. package/dist/collection/components/fab/test/basic/fab.e2e.js +50 -50
  528. package/dist/collection/components/fab/test/custom-size/fab.e2e.js +6 -6
  529. package/dist/collection/components/fab/test/safe-area/fab.e2e.js +25 -25
  530. package/dist/collection/components/fab/test/states/fab.e2e.js +6 -6
  531. package/dist/collection/components/fab/test/translucent/fab.e2e.js +17 -17
  532. package/dist/collection/components/fab-button/fab-button.ios.css +44 -0
  533. package/dist/collection/components/fab-button/fab-button.js +374 -374
  534. package/dist/collection/components/fab-button/fab-button.md.css +44 -0
  535. package/dist/collection/components/fab-button/test/a11y/fab-button.e2e.js +6 -6
  536. package/dist/collection/components/fab-list/fab-list.css +44 -0
  537. package/dist/collection/components/fab-list/fab-list.js +79 -79
  538. package/dist/collection/components/footer/footer.ios.css +44 -0
  539. package/dist/collection/components/footer/footer.js +135 -135
  540. package/dist/collection/components/footer/footer.md.css +44 -0
  541. package/dist/collection/components/footer/footer.utils.js +25 -25
  542. package/dist/collection/components/footer/test/basic/footer.e2e.js +18 -18
  543. package/dist/collection/components/footer/test/fade/footer.e2e.js +10 -10
  544. package/dist/collection/components/footer/test/scroll-target/footer.e2e.js +15 -15
  545. package/dist/collection/components/footer/test/with-tabs/footer.e2e.js +6 -6
  546. package/dist/collection/components/grid/grid.css +66 -0
  547. package/dist/collection/components/grid/grid.js +44 -44
  548. package/dist/collection/components/grid/test/basic/grid.e2e.js +6 -6
  549. package/dist/collection/components/grid/test/offsets/grid.e2e.js +6 -6
  550. package/dist/collection/components/grid/test/padding/grid.e2e.js +6 -6
  551. package/dist/collection/components/grid/test/sizes/grid.e2e.js +6 -6
  552. package/dist/collection/components/header/header.ios.css +44 -0
  553. package/dist/collection/components/header/header.js +181 -181
  554. package/dist/collection/components/header/header.md.css +44 -0
  555. package/dist/collection/components/header/header.utils.js +148 -148
  556. package/dist/collection/components/header/test/a11y/header.e2e.js +18 -18
  557. package/dist/collection/components/header/test/basic/header.e2e.js +23 -23
  558. package/dist/collection/components/header/test/condense/header.e2e.js +25 -25
  559. package/dist/collection/components/header/test/fade/header.e2e.js +10 -10
  560. package/dist/collection/components/header/test/scroll-target/header.e2e.js +15 -15
  561. package/dist/collection/components/icon/test/basic/icon.e2e.js +6 -6
  562. package/dist/collection/components/icon/test/dir/icon.e2e.js +11 -11
  563. package/dist/collection/components/img/img.js +177 -177
  564. package/dist/collection/components/img/test/basic/img.e2e.js +62 -62
  565. package/dist/collection/components/img/test/draggable/img.e2e.js +10 -10
  566. package/dist/collection/components/infinite-scroll/infinite-scroll.js +279 -271
  567. package/dist/collection/components/infinite-scroll/test/basic/infinite-scroll.e2e.js +11 -11
  568. package/dist/collection/components/infinite-scroll/test/scroll-target/infinite-scroll.e2e.js +11 -11
  569. package/dist/collection/components/infinite-scroll/test/small-dom-update/infinite-scroll.e2e.js +31 -0
  570. package/dist/collection/components/infinite-scroll/test/top/infinite-scroll.e2e.js +11 -11
  571. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +44 -0
  572. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +86 -86
  573. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +44 -0
  574. package/dist/collection/components/infinite-scroll-content/test/infinite-scroll-content.spec.js +37 -0
  575. package/dist/collection/components/input/input.ios.css +76 -3
  576. package/dist/collection/components/input/input.js +1231 -1204
  577. package/dist/collection/components/input/input.md.css +145 -12
  578. package/dist/collection/components/input/input.utils.js +22 -22
  579. package/dist/collection/components/input/test/a11y/input.e2e.js +12 -12
  580. package/dist/collection/components/input/test/basic/input.e2e.js +63 -63
  581. package/dist/collection/components/input/test/bottom-content/input.e2e.js +89 -89
  582. package/dist/collection/components/input/test/card/input.e2e.js +6 -6
  583. package/dist/collection/components/input/test/clear-on-edit/input.e2e.js +25 -25
  584. package/dist/collection/components/input/test/color/input.e2e.js +88 -88
  585. package/dist/collection/components/input/test/fill/input.e2e.js +63 -63
  586. package/dist/collection/components/input/test/highlight/input.e2e.js +52 -52
  587. package/dist/collection/components/input/test/input.e2e.js +6 -6
  588. package/dist/collection/components/input/test/input.spec.js +85 -0
  589. package/dist/collection/components/input/test/item/input.e2e.js +11 -11
  590. package/dist/collection/components/input/test/item/input.spec.js +24 -0
  591. package/dist/collection/components/input/test/label-placement/input.e2e.js +104 -104
  592. package/dist/collection/components/input/test/legacy/a11y/input.e2e.js +15 -15
  593. package/dist/collection/components/input/test/legacy/basic/input.e2e.js +102 -102
  594. package/dist/collection/components/input/test/legacy/clear-on-edit/input.e2e.js +44 -44
  595. package/dist/collection/components/input/test/legacy/input-events.e2e.js +56 -56
  596. package/dist/collection/components/input/test/legacy/masking/input.e2e.js +15 -15
  597. package/dist/collection/components/input/test/legacy/spec/input.e2e.js +8 -8
  598. package/dist/collection/components/input/test/slot/input.e2e.js +51 -0
  599. package/dist/collection/components/input/test/states/input.e2e.js +11 -11
  600. package/dist/collection/components/item/item.ios.css +85 -3
  601. package/dist/collection/components/item/item.js +614 -614
  602. package/dist/collection/components/item/item.md.css +129 -3
  603. package/dist/collection/components/item/test/a11y/item.e2e.js +47 -47
  604. package/dist/collection/components/item/test/a11y/item.spec.js +48 -0
  605. package/dist/collection/components/item/test/alignment/item.e2e.js +6 -6
  606. package/dist/collection/components/item/test/basic/item.e2e.js +16 -16
  607. package/dist/collection/components/item/test/buttons/item.e2e.js +18 -18
  608. package/dist/collection/components/item/test/colors/item.e2e.js +6 -6
  609. package/dist/collection/components/item/test/counter/item.e2e.js +34 -34
  610. package/dist/collection/components/item/test/css-variables/item.e2e.js +6 -6
  611. package/dist/collection/components/item/test/disabled/item.e2e.js +6 -7
  612. package/dist/collection/components/item/test/dividers/item.e2e.js +6 -6
  613. package/dist/collection/components/item/test/groups/item.e2e.js +8 -8
  614. package/dist/collection/components/item/test/highlight/item.e2e.js +6 -6
  615. package/dist/collection/components/item/test/icons/item.e2e.js +6 -6
  616. package/dist/collection/components/item/test/images/item.e2e.js +6 -6
  617. package/dist/collection/components/item/test/inputs/item.e2e.js +139 -139
  618. package/dist/collection/components/item/test/legacy/alignment/item.e2e.js +6 -6
  619. package/dist/collection/components/item/test/legacy/disabled/item.e2e.js +6 -6
  620. package/dist/collection/components/item/test/legacy/fill/item.e2e.js +6 -6
  621. package/dist/collection/components/item/test/legacy/form/item.e2e.js +6 -6
  622. package/dist/collection/components/item/test/lines/item.e2e.js +6 -6
  623. package/dist/collection/components/item/test/media/item.e2e.js +6 -6
  624. package/dist/collection/components/item/test/reorder/item.e2e.js +8 -8
  625. package/dist/collection/components/item/test/slotted-inputs/item.e2e.js +6 -6
  626. package/dist/collection/components/item/test/states/item.e2e.js +6 -6
  627. package/dist/collection/components/item-divider/item-divider.ios.css +66 -0
  628. package/dist/collection/components/item-divider/item-divider.js +71 -71
  629. package/dist/collection/components/item-divider/item-divider.md.css +66 -0
  630. package/dist/collection/components/item-divider/test/a11y/item-divider.e2e.js +11 -11
  631. package/dist/collection/components/item-divider/test/basic/item-divider.e2e.js +25 -25
  632. package/dist/collection/components/item-divider/test/spec/item-divider.e2e.js +8 -8
  633. package/dist/collection/components/item-group/item-group.ios.css +44 -0
  634. package/dist/collection/components/item-group/item-group.js +22 -22
  635. package/dist/collection/components/item-group/item-group.md.css +44 -0
  636. package/dist/collection/components/item-option/item-option.ios.css +44 -0
  637. package/dist/collection/components/item-option/item-option.js +197 -197
  638. package/dist/collection/components/item-option/item-option.md.css +44 -0
  639. package/dist/collection/components/item-options/item-options.ios.css +66 -0
  640. package/dist/collection/components/item-options/item-options.js +110 -110
  641. package/dist/collection/components/item-options/item-options.md.css +66 -0
  642. package/dist/collection/components/item-sliding/item-sliding.css +22 -0
  643. package/dist/collection/components/item-sliding/item-sliding.js +538 -538
  644. package/dist/collection/components/item-sliding/test/a11y/item-sliding.e2e.js +5 -5
  645. package/dist/collection/components/item-sliding/test/async/item-sliding.e2e.js +25 -25
  646. package/dist/collection/components/item-sliding/test/basic/item-sliding.e2e.js +87 -87
  647. package/dist/collection/components/item-sliding/test/icons/item-sliding.e2e.js +20 -20
  648. package/dist/collection/components/item-sliding/test/scroll-target/item-sliding.e2e.js +18 -18
  649. package/dist/collection/components/item-sliding/test/test.utils.js +20 -20
  650. package/dist/collection/components/label/label.ios.css +80 -3
  651. package/dist/collection/components/label/label.js +174 -174
  652. package/dist/collection/components/label/label.md.css +80 -3
  653. package/dist/collection/components/label/test/a11y/label.e2e.js +21 -21
  654. package/dist/collection/components/label/test/basic/label.e2e.js +21 -21
  655. package/dist/collection/components/label/test/color/label.e2e.js +21 -21
  656. package/dist/collection/components/label/test/headings/label.e2e.js +5 -5
  657. package/dist/collection/components/list/list.ios.css +66 -0
  658. package/dist/collection/components/list/list.js +101 -101
  659. package/dist/collection/components/list/list.md.css +66 -0
  660. package/dist/collection/components/list/test/a11y/list.e2e.js +6 -6
  661. package/dist/collection/components/list/test/basic/list.e2e.js +6 -6
  662. package/dist/collection/components/list/test/inset/list.e2e.js +16 -16
  663. package/dist/collection/components/list/test/lines/list.e2e.js +40 -40
  664. package/dist/collection/components/list-header/list-header.ios.css +66 -0
  665. package/dist/collection/components/list-header/list-header.js +69 -69
  666. package/dist/collection/components/list-header/list-header.md.css +66 -0
  667. package/dist/collection/components/list-header/test/a11y/list-header.e2e.js +6 -6
  668. package/dist/collection/components/list-header/test/basic/list-header.e2e.js +14 -14
  669. package/dist/collection/components/loading/animations/ios.enter.js +19 -19
  670. package/dist/collection/components/loading/animations/ios.leave.js +13 -13
  671. package/dist/collection/components/loading/animations/md.enter.js +19 -19
  672. package/dist/collection/components/loading/animations/md.leave.js +13 -13
  673. package/dist/collection/components/loading/loading.ios.css +44 -0
  674. package/dist/collection/components/loading/loading.js +730 -720
  675. package/dist/collection/components/loading/loading.md.css +44 -0
  676. package/dist/collection/components/loading/test/a11y/loading.e2e.js +26 -26
  677. package/dist/collection/components/loading/test/basic/loading.e2e.js +60 -60
  678. package/dist/collection/components/loading/test/basic/loading.spec.js +16 -0
  679. package/dist/collection/components/loading/test/is-open/loading.e2e.js +17 -17
  680. package/dist/collection/components/loading/test/loading-id.spec.js +32 -0
  681. package/dist/collection/components/loading/test/loading.spec.js +37 -0
  682. package/dist/collection/components/loading/test/standalone/loading.e2e.js +13 -13
  683. package/dist/collection/components/loading/test/trigger/loading.e2e.js +21 -21
  684. package/dist/collection/components/menu/menu.ios.css +44 -0
  685. package/dist/collection/components/menu/menu.js +956 -956
  686. package/dist/collection/components/menu/menu.md.css +44 -0
  687. package/dist/collection/components/menu/test/a11y/menu.e2e.js +13 -13
  688. package/dist/collection/components/menu/test/basic/menu.e2e.js +102 -102
  689. package/dist/collection/components/menu/test/disable/menu.e2e.js +44 -44
  690. package/dist/collection/components/menu/test/focus-trap/menu.e2e.js +61 -61
  691. package/dist/collection/components/menu/test/multiple/menu.e2e.js +49 -49
  692. package/dist/collection/components/menu/test/safe-area/menu.e2e.js +54 -54
  693. package/dist/collection/components/menu-button/menu-button.ios.css +44 -0
  694. package/dist/collection/components/menu-button/menu-button.js +173 -173
  695. package/dist/collection/components/menu-button/menu-button.md.css +44 -0
  696. package/dist/collection/components/menu-button/test/a11y/menu-button.e2e.js +12 -12
  697. package/dist/collection/components/menu-button/test/async/menu-button.e2e.js +12 -12
  698. package/dist/collection/components/menu-button/test/basic/menu-button.e2e.js +6 -6
  699. package/dist/collection/components/menu-toggle/menu-toggle-util.js +2 -2
  700. package/dist/collection/components/menu-toggle/menu-toggle.js +93 -93
  701. package/dist/collection/components/menu-toggle/test/basic/menu-toggle.e2e.js +33 -33
  702. package/dist/collection/components/modal/animations/ios.enter.js +81 -81
  703. package/dist/collection/components/modal/animations/ios.leave.js +74 -74
  704. package/dist/collection/components/modal/animations/md.enter.js +21 -21
  705. package/dist/collection/components/modal/animations/md.leave.js +15 -15
  706. package/dist/collection/components/modal/animations/sheet.js +43 -43
  707. package/dist/collection/components/modal/gestures/sheet.js +289 -289
  708. package/dist/collection/components/modal/gestures/swipe-to-close.js +248 -247
  709. package/dist/collection/components/modal/gestures/utils.js +39 -39
  710. package/dist/collection/components/modal/modal.ios.css +44 -0
  711. package/dist/collection/components/modal/modal.js +1290 -1280
  712. package/dist/collection/components/modal/modal.md.css +44 -0
  713. package/dist/collection/components/modal/test/a11y/modal.e2e.js +12 -12
  714. package/dist/collection/components/modal/test/a11y/modal.spec.js +22 -0
  715. package/dist/collection/components/modal/test/basic/modal.e2e.js +110 -110
  716. package/dist/collection/components/modal/test/basic/modal.spec.js +16 -0
  717. package/dist/collection/components/modal/test/can-dismiss/modal-card.e2e.js +44 -44
  718. package/dist/collection/components/modal/test/can-dismiss/modal-sheet.e2e.js +62 -62
  719. package/dist/collection/components/modal/test/can-dismiss/modal.e2e.js +16 -16
  720. package/dist/collection/components/modal/test/can-dismiss/modal.spec.js +191 -0
  721. package/dist/collection/components/modal/test/card/modal-card.e2e.js +69 -69
  722. package/dist/collection/components/modal/test/card/modal-tablet.e2e.js +67 -67
  723. package/dist/collection/components/modal/test/card-nav/modal.e2e.js +26 -26
  724. package/dist/collection/components/modal/test/card-refresher/modal.e2e.js +14 -14
  725. package/dist/collection/components/modal/test/card-scroll-target/modal.e2e.js +34 -34
  726. package/dist/collection/components/modal/test/custom/modal.e2e.js +16 -16
  727. package/dist/collection/components/modal/test/custom-dialog/modal.e2e.js +12 -12
  728. package/dist/collection/components/modal/test/dark-mode/model.e2e.js +12 -12
  729. package/dist/collection/components/modal/test/fixtures.js +21 -21
  730. package/dist/collection/components/modal/test/inline/modal.e2e.js +34 -34
  731. package/dist/collection/components/modal/test/is-open/modal.e2e.js +17 -17
  732. package/dist/collection/components/modal/test/modal-id.spec.js +32 -0
  733. package/dist/collection/components/modal/test/sheet/modal.e2e.js +178 -178
  734. package/dist/collection/components/modal/test/standalone/modal.e2e.js +12 -12
  735. package/dist/collection/components/modal/test/trigger/modal.e2e.js +23 -23
  736. package/dist/collection/components/modal/utils.js +55 -55
  737. package/dist/collection/components/modal/utils.spec.js +7 -7
  738. package/dist/collection/components/nav/nav.css +22 -0
  739. package/dist/collection/components/nav/nav.js +1748 -1748
  740. package/dist/collection/components/nav/test/basic/nav.e2e.js +58 -58
  741. package/dist/collection/components/nav/test/modal-navigation/nav.e2e.js +52 -52
  742. package/dist/collection/components/nav/test/nav-controller.spec.js +749 -0
  743. package/dist/collection/components/nav/test/nested/nav.e2e.js +54 -54
  744. package/dist/collection/components/nav/test/routing/nav.e2e.js +75 -75
  745. package/dist/collection/components/nav/view-controller.js +52 -52
  746. package/dist/collection/components/nav-link/nav-link-utils.js +16 -16
  747. package/dist/collection/components/nav-link/nav-link.js +106 -106
  748. package/dist/collection/components/note/note.ios.css +44 -0
  749. package/dist/collection/components/note/note.js +49 -49
  750. package/dist/collection/components/note/note.md.css +44 -0
  751. package/dist/collection/components/note/test/a11y/note.e2e.js +59 -16
  752. package/dist/collection/components/note/test/basic/note.e2e.js +33 -33
  753. package/dist/collection/components/picker/animations/ios.enter.js +18 -18
  754. package/dist/collection/components/picker/animations/ios.leave.js +14 -14
  755. package/dist/collection/components/picker/picker.ios.css +44 -0
  756. package/dist/collection/components/picker/picker.js +782 -772
  757. package/dist/collection/components/picker/picker.md.css +44 -0
  758. package/dist/collection/components/picker/test/basic/picker.e2e.js +17 -17
  759. package/dist/collection/components/picker/test/is-open/picker.e2e.js +17 -17
  760. package/dist/collection/components/picker/test/picker-id.spec.js +32 -0
  761. package/dist/collection/components/picker/test/trigger/picker.e2e.js +21 -21
  762. package/dist/collection/components/picker-column/picker-column.ios.css +44 -0
  763. package/dist/collection/components/picker-column/picker-column.js +377 -377
  764. package/dist/collection/components/picker-column/picker-column.md.css +44 -0
  765. package/dist/collection/components/picker-column/test/picker-column-aria.spec.js +35 -0
  766. package/dist/collection/components/picker-column/test/picker-column-dynamic.spec.js +29 -0
  767. package/dist/collection/components/picker-column/test/picker-column.spec.js +17 -0
  768. package/dist/collection/components/picker-column/test/standalone/picker-column.e2e.js +27 -27
  769. package/dist/collection/components/picker-column/test/test.utils.js +29 -29
  770. package/dist/collection/components/picker-column-internal/picker-column-internal.ios.css +33 -3
  771. package/dist/collection/components/picker-column-internal/picker-column-internal.js +523 -501
  772. package/dist/collection/components/picker-column-internal/picker-column-internal.md.css +55 -3
  773. package/dist/collection/components/picker-column-internal/test/basic/picker-column-internal.e2e.js +53 -53
  774. package/dist/collection/components/picker-column-internal/test/disabled/picker-column-internal.e2e.js +66 -37
  775. package/dist/collection/components/picker-internal/picker-internal.ios.css +44 -0
  776. package/dist/collection/components/picker-internal/picker-internal.js +517 -517
  777. package/dist/collection/components/picker-internal/picker-internal.md.css +44 -0
  778. package/dist/collection/components/picker-internal/test/a11y/picker-internal.e2e.js +6 -6
  779. package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +76 -76
  780. package/dist/collection/components/picker-internal/test/keyboard-entry/picker-internal.e2e.js +39 -39
  781. package/dist/collection/components/popover/animations/ios.enter.js +79 -79
  782. package/dist/collection/components/popover/animations/ios.leave.js +28 -28
  783. package/dist/collection/components/popover/animations/md.enter.js +58 -58
  784. package/dist/collection/components/popover/animations/md.leave.js +19 -19
  785. package/dist/collection/components/popover/popover.ios.css +44 -0
  786. package/dist/collection/components/popover/popover.js +1189 -1179
  787. package/dist/collection/components/popover/popover.md.css +44 -0
  788. package/dist/collection/components/popover/test/adjustment/popover.e2e.js +22 -22
  789. package/dist/collection/components/popover/test/arrow/popover.e2e.js +15 -15
  790. package/dist/collection/components/popover/test/async/popover.e2e.js +29 -29
  791. package/dist/collection/components/popover/test/basic/popover.e2e.js +108 -108
  792. package/dist/collection/components/popover/test/basic/popover.spec.js +16 -0
  793. package/dist/collection/components/popover/test/dismiss-on-select/popover.e2e.js +26 -26
  794. package/dist/collection/components/popover/test/fixture.js +16 -16
  795. package/dist/collection/components/popover/test/inline/popover.e2e.js +18 -18
  796. package/dist/collection/components/popover/test/is-open/popover.e2e.js +5 -5
  797. package/dist/collection/components/popover/test/nested/popover.e2e.js +81 -81
  798. package/dist/collection/components/popover/test/popover-id.spec.js +32 -0
  799. package/dist/collection/components/popover/test/position/popover.e2e.js +18 -18
  800. package/dist/collection/components/popover/test/reference/popover.e2e.js +14 -14
  801. package/dist/collection/components/popover/test/size/popover.e2e.js +29 -29
  802. package/dist/collection/components/popover/test/standalone/popover.e2e.js +7 -7
  803. package/dist/collection/components/popover/test/test.utils.js +23 -23
  804. package/dist/collection/components/popover/test/trigger/popover.e2e.js +35 -35
  805. package/dist/collection/components/popover/test/util.spec.js +53 -0
  806. package/dist/collection/components/popover/utils.js +606 -606
  807. package/dist/collection/components/progress-bar/progress-bar.ios.css +22 -0
  808. package/dist/collection/components/progress-bar/progress-bar.js +145 -145
  809. package/dist/collection/components/progress-bar/progress-bar.md.css +22 -0
  810. package/dist/collection/components/progress-bar/test/basic/progress-bar.e2e.js +6 -6
  811. package/dist/collection/components/progress-bar/test/buffer/progress-bar.e2e.js +10 -10
  812. package/dist/collection/components/progress-bar/test/determinate/progress-bar.e2e.js +10 -10
  813. package/dist/collection/components/radio/radio.ios.css +66 -6
  814. package/dist/collection/components/radio/radio.js +453 -449
  815. package/dist/collection/components/radio/radio.md.css +66 -6
  816. package/dist/collection/components/radio/test/a11y/radio.e2e.js +40 -40
  817. package/dist/collection/components/radio/test/color/radio.e2e.js +11 -11
  818. package/dist/collection/components/radio/test/item/radio.e2e.js +37 -37
  819. package/dist/collection/components/radio/test/label-placement/radio.e2e.js +70 -70
  820. package/dist/collection/components/radio/test/legacy/a11y/radio.e2e.js +29 -29
  821. package/dist/collection/components/radio/test/legacy/basic/radio.e2e.js +43 -43
  822. package/dist/collection/components/radio/test/radio.spec.js +60 -0
  823. package/dist/collection/components/radio/test/states/radio.e2e.js +21 -21
  824. package/dist/collection/components/radio-group/radio-group.js +279 -255
  825. package/dist/collection/components/radio-group/test/basic/radio-group.e2e.js +35 -35
  826. package/dist/collection/components/radio-group/test/fixtures.js +22 -22
  827. package/dist/collection/components/radio-group/test/form/radio-group.e2e.js +39 -39
  828. package/dist/collection/components/radio-group/test/legacy/basic/radio-group.e2e.js +59 -59
  829. package/dist/collection/components/radio-group/test/legacy/form/radio-group.e2e.js +22 -22
  830. package/dist/collection/components/radio-group/test/legacy/search/radio-group.e2e.js +27 -27
  831. package/dist/collection/components/radio-group/test/radio-group-events.e2e.js +42 -42
  832. package/dist/collection/components/radio-group/test/radio-group.spec.js +69 -0
  833. package/dist/collection/components/radio-group/test/search/radio-group.e2e.js +23 -23
  834. package/dist/collection/components/range/range.ios.css +44 -6
  835. package/dist/collection/components/range/range.js +1001 -998
  836. package/dist/collection/components/range/range.md.css +44 -6
  837. package/dist/collection/components/range/test/a11y/range.e2e.js +46 -46
  838. package/dist/collection/components/range/test/active-bar-start/range.e2e.js +6 -6
  839. package/dist/collection/components/range/test/basic/range.e2e.js +23 -23
  840. package/dist/collection/components/range/test/color/range.e2e.js +6 -6
  841. package/dist/collection/components/range/test/custom/range.e2e.js +6 -6
  842. package/dist/collection/components/range/test/item/range.e2e.js +28 -28
  843. package/dist/collection/components/range/test/label/range.e2e.js +99 -99
  844. package/dist/collection/components/range/test/label/range.spec.js +23 -0
  845. package/dist/collection/components/range/test/legacy/a11y/range.e2e.js +25 -25
  846. package/dist/collection/components/range/test/legacy/active-bar-start/range.e2e.js +6 -6
  847. package/dist/collection/components/range/test/legacy/basic/range.e2e.js +61 -61
  848. package/dist/collection/components/range/test/legacy/range-events.e2e.js +80 -80
  849. package/dist/collection/components/range/test/legacy/scroll-target/range.e2e.js +23 -23
  850. package/dist/collection/components/range/test/range-events.e2e.js +135 -135
  851. package/dist/collection/components/range/test/range.spec.js +221 -0
  852. package/dist/collection/components/range/test/scroll-target/range.e2e.js +23 -23
  853. package/dist/collection/components/range/test/states/range.e2e.js +21 -21
  854. package/dist/collection/components/refresher/refresher.ios.css +44 -0
  855. package/dist/collection/components/refresher/refresher.js +806 -806
  856. package/dist/collection/components/refresher/refresher.md.css +44 -0
  857. package/dist/collection/components/refresher/refresher.utils.js +148 -148
  858. package/dist/collection/components/refresher/test/basic/refresher.e2e.js +25 -25
  859. package/dist/collection/components/refresher/test/scroll-target/refresher.e2e.js +25 -25
  860. package/dist/collection/components/refresher/test/test.utils.js +5 -5
  861. package/dist/collection/components/refresher-content/refresher-content.js +131 -131
  862. package/dist/collection/components/refresher-content/test/refresher-content.spec.js +46 -0
  863. package/dist/collection/components/reorder/reorder.ios.css +22 -0
  864. package/dist/collection/components/reorder/reorder.js +37 -37
  865. package/dist/collection/components/reorder/reorder.md.css +22 -0
  866. package/dist/collection/components/reorder-group/reorder-group.css +22 -0
  867. package/dist/collection/components/reorder-group/reorder-group.js +327 -327
  868. package/dist/collection/components/reorder-group/test/a11y/reorder-group.e2e.js +6 -6
  869. package/dist/collection/components/reorder-group/test/basic/reorder-group.e2e.js +11 -11
  870. package/dist/collection/components/reorder-group/test/interactive/reorder-group.e2e.js +21 -21
  871. package/dist/collection/components/reorder-group/test/nested/reorder-group.e2e.js +21 -21
  872. package/dist/collection/components/reorder-group/test/scroll-target/reorder-group.e2e.js +21 -21
  873. package/dist/collection/components/ripple-effect/ripple-effect.css +22 -0
  874. package/dist/collection/components/ripple-effect/ripple-effect.js +135 -135
  875. package/dist/collection/components/ripple-effect/test/basic/ripple-effect.e2e.js +48 -48
  876. package/dist/collection/components/route/route.js +151 -151
  877. package/dist/collection/components/route-redirect/route-redirect.js +76 -76
  878. package/dist/collection/components/router/router.js +472 -472
  879. package/dist/collection/components/router/test/basic/router.e2e.js +55 -55
  880. package/dist/collection/components/router/test/guards/href/router.e2e.js +51 -51
  881. package/dist/collection/components/router/test/guards/link/router.e2e.js +51 -51
  882. package/dist/collection/components/router/test/guards/push/router.e2e.js +51 -51
  883. package/dist/collection/components/router/test/guards/router.e2e.js +5 -5
  884. package/dist/collection/components/router/test/guards/test.utils.js +2 -2
  885. package/dist/collection/components/router/test/matching.spec.js +250 -0
  886. package/dist/collection/components/router/test/parser.spec.js +133 -0
  887. package/dist/collection/components/router/test/path.spec.js +218 -0
  888. package/dist/collection/components/router/test/router.spec.js +55 -0
  889. package/dist/collection/components/router/utils/debug.js +14 -14
  890. package/dist/collection/components/router/utils/dom.js +56 -56
  891. package/dist/collection/components/router/utils/matching.js +150 -150
  892. package/dist/collection/components/router/utils/parser.js +52 -52
  893. package/dist/collection/components/router/utils/path.js +66 -66
  894. package/dist/collection/components/router-link/router-link.css +22 -0
  895. package/dist/collection/components/router-link/router-link.js +157 -157
  896. package/dist/collection/components/router-outlet/router-outlet.css +22 -0
  897. package/dist/collection/components/router-outlet/router-outlet.js +459 -459
  898. package/dist/collection/components/router-outlet/test/basic/router-outlet.e2e.js +31 -31
  899. package/dist/collection/components/row/row.css +66 -0
  900. package/dist/collection/components/row/row.js +15 -15
  901. package/dist/collection/components/searchbar/searchbar.ios.css +44 -0
  902. package/dist/collection/components/searchbar/searchbar.js +891 -889
  903. package/dist/collection/components/searchbar/searchbar.md.css +44 -0
  904. package/dist/collection/components/searchbar/test/a11y/searchbar.e2e.js +11 -11
  905. package/dist/collection/components/searchbar/test/basic/searchbar.e2e.js +101 -101
  906. package/dist/collection/components/searchbar/test/events/searchbar.e2e.js +55 -55
  907. package/dist/collection/components/searchbar/test/searchbar.spec.js +15 -0
  908. package/dist/collection/components/segment/segment.ios.css +66 -0
  909. package/dist/collection/components/segment/segment.js +631 -631
  910. package/dist/collection/components/segment/segment.md.css +66 -0
  911. package/dist/collection/components/segment/test/a11y/segment.e2e.js +37 -37
  912. package/dist/collection/components/segment/test/basic/segment.e2e.js +22 -22
  913. package/dist/collection/components/segment/test/custom/segment.e2e.js +6 -6
  914. package/dist/collection/components/segment/test/icon/segment.e2e.js +6 -6
  915. package/dist/collection/components/segment/test/modes/segment.e2e.js +15 -15
  916. package/dist/collection/components/segment/test/scrollable/segment.e2e.js +12 -12
  917. package/dist/collection/components/segment/test/segment-events.e2e.js +97 -97
  918. package/dist/collection/components/segment/test/segment.spec.js +37 -0
  919. package/dist/collection/components/segment/test/toolbar/segment.e2e.js +21 -21
  920. package/dist/collection/components/segment/test/wrap/segment.e2e.js +21 -21
  921. package/dist/collection/components/segment-button/segment-button.ios.css +44 -0
  922. package/dist/collection/components/segment-button/segment-button.js +217 -217
  923. package/dist/collection/components/segment-button/segment-button.md.css +44 -0
  924. package/dist/collection/components/select/select.ios.css +126 -7
  925. package/dist/collection/components/select/select.js +1201 -1184
  926. package/dist/collection/components/select/select.md.css +173 -19
  927. package/dist/collection/components/select/test/a11y/select.e2e.js +14 -14
  928. package/dist/collection/components/select/test/async/select.e2e.js +14 -14
  929. package/dist/collection/components/select/test/basic/select.e2e.js +140 -140
  930. package/dist/collection/components/select/test/card/select.e2e.js +6 -6
  931. package/dist/collection/components/select/test/color/select.e2e.js +22 -22
  932. package/dist/collection/components/select/test/compare-with/select.e2e.js +33 -33
  933. package/dist/collection/components/select/test/custom/select.e2e.js +19 -19
  934. package/dist/collection/components/select/test/disabled/select.e2e.js +17 -17
  935. package/dist/collection/components/select/test/fill/select.e2e.js +63 -63
  936. package/dist/collection/components/select/test/highlight/select.e2e.js +74 -74
  937. package/dist/collection/components/select/test/item/select.e2e.js +26 -11
  938. package/dist/collection/components/select/test/label/select.e2e.js +141 -141
  939. package/dist/collection/components/select/test/legacy/async/select.e2e.js +8 -8
  940. package/dist/collection/components/select/test/legacy/basic/select.e2e.js +108 -108
  941. package/dist/collection/components/select/test/legacy/compare-with/select.e2e.js +33 -33
  942. package/dist/collection/components/select/test/legacy/custom/custom.e2e.js +5 -5
  943. package/dist/collection/components/select/test/legacy/single-value/select.e2e.js +8 -8
  944. package/dist/collection/components/select/test/legacy/spec/select.e2e.js +6 -6
  945. package/dist/collection/components/select/test/legacy/standalone/select.e2e.js +11 -11
  946. package/dist/collection/components/select/test/legacy/wrapping/select.e2e.js +17 -17
  947. package/dist/collection/components/select/test/popover-size/select.e2e.js +63 -63
  948. package/dist/collection/components/select/test/select.spec.js +59 -0
  949. package/dist/collection/components/select/test/slot/select.e2e.js +67 -0
  950. package/dist/collection/components/select/test/states/select.e2e.js +21 -21
  951. package/dist/collection/components/select/test/toggle-icon/select.e2e.js +14 -14
  952. package/dist/collection/components/select/test/wrapping/select.e2e.js +16 -16
  953. package/dist/collection/components/select-option/select-option.js +60 -60
  954. package/dist/collection/components/select-popover/select-popover.ios.css +66 -0
  955. package/dist/collection/components/select-popover/select-popover.js +197 -197
  956. package/dist/collection/components/select-popover/select-popover.md.css +66 -0
  957. package/dist/collection/components/select-popover/test/basic/select-popover.e2e.js +52 -52
  958. package/dist/collection/components/select-popover/test/fixtures.js +33 -33
  959. package/dist/collection/components/skeleton-text/skeleton-text.css +22 -0
  960. package/dist/collection/components/skeleton-text/skeleton-text.js +87 -48
  961. package/dist/collection/components/skeleton-text/test/basic/skeleton-text.e2e.js +6 -6
  962. package/dist/collection/components/skeleton-text/test/custom/skeleton-text.e2e.js +6 -6
  963. package/dist/collection/components/slides/IonicSlides.js +95 -95
  964. package/dist/collection/components/spinner/spinner-configs.js +121 -121
  965. package/dist/collection/components/spinner/spinner.css +22 -0
  966. package/dist/collection/components/spinner/spinner.js +137 -137
  967. package/dist/collection/components/spinner/test/basic/spinner.e2e.js +10 -10
  968. package/dist/collection/components/spinner/test/color/spinner.e2e.js +10 -10
  969. package/dist/collection/components/spinner/test/resize/spinner.e2e.js +8 -8
  970. package/dist/collection/components/split-pane/split-pane.ios.css +66 -0
  971. package/dist/collection/components/split-pane/split-pane.js +225 -225
  972. package/dist/collection/components/split-pane/split-pane.md.css +66 -0
  973. package/dist/collection/components/split-pane/test/basic/split-pane.e2e.js +18 -18
  974. package/dist/collection/components/split-pane/test/multiple/split-pane.e2e.js +23 -23
  975. package/dist/collection/components/tab/tab.js +170 -170
  976. package/dist/collection/components/tab-bar/tab-bar.ios.css +66 -0
  977. package/dist/collection/components/tab-bar/tab-bar.js +177 -177
  978. package/dist/collection/components/tab-bar/tab-bar.md.css +66 -0
  979. package/dist/collection/components/tab-bar/test/basic/tab-bar.e2e.js +8 -8
  980. package/dist/collection/components/tab-bar/test/custom/tab-bar.e2e.js +6 -6
  981. package/dist/collection/components/tab-bar/test/translucent/tab-bar.e2e.js +14 -14
  982. package/dist/collection/components/tab-button/tab-button.ios.css +44 -0
  983. package/dist/collection/components/tab-button/tab-button.js +267 -267
  984. package/dist/collection/components/tab-button/tab-button.md.css +44 -0
  985. package/dist/collection/components/tab-button/test/a11y/tab-button.e2e.js +6 -6
  986. package/dist/collection/components/tab-button/test/basic/tab-button.e2e.js +16 -16
  987. package/dist/collection/components/tab-button/test/layout/tab-button.e2e.js +26 -26
  988. package/dist/collection/components/tab-button/test/states/tab-button.e2e.js +26 -26
  989. package/dist/collection/components/tabs/tabs.css +22 -0
  990. package/dist/collection/components/tabs/tabs.js +344 -344
  991. package/dist/collection/components/tabs/test/basic/tabs.e2e.js +24 -24
  992. package/dist/collection/components/tabs/test/placements/tabs.e2e.js +17 -17
  993. package/dist/collection/components/text/test/basic/text.e2e.js +11 -11
  994. package/dist/collection/components/text/text.css +22 -0
  995. package/dist/collection/components/text/text.js +47 -47
  996. package/dist/collection/components/textarea/test/a11y/textarea.e2e.js +12 -12
  997. package/dist/collection/components/textarea/test/autogrow/textarea.e2e.js +31 -31
  998. package/dist/collection/components/textarea/test/bottom-content/textarea.e2e.js +82 -82
  999. package/dist/collection/components/textarea/test/card/textarea.e2e.js +6 -6
  1000. package/dist/collection/components/textarea/test/clear-on-edit/textarea.e2e.js +17 -17
  1001. package/dist/collection/components/textarea/test/color/textarea.e2e.js +88 -88
  1002. package/dist/collection/components/textarea/test/cols/textarea.e2e.js +11 -11
  1003. package/dist/collection/components/textarea/test/fill/textarea.e2e.js +63 -63
  1004. package/dist/collection/components/textarea/test/highlight/textarea.e2e.js +52 -52
  1005. package/dist/collection/components/textarea/test/item/textarea.e2e.js +11 -11
  1006. package/dist/collection/components/textarea/test/label-placement/textarea.e2e.js +150 -150
  1007. package/dist/collection/components/textarea/test/legacy/a11y/textarea.e2e.js +15 -15
  1008. package/dist/collection/components/textarea/test/legacy/autogrow/textarea.e2e.js +31 -31
  1009. package/dist/collection/components/textarea/test/legacy/basic/textarea.e2e.js +30 -30
  1010. package/dist/collection/components/textarea/test/legacy/clear-on-edit/textarea.e2e.js +17 -17
  1011. package/dist/collection/components/textarea/test/slot/textarea.e2e.js +51 -0
  1012. package/dist/collection/components/textarea/test/states/textarea.e2e.js +11 -11
  1013. package/dist/collection/components/textarea/test/textarea-events.e2e.js +57 -57
  1014. package/dist/collection/components/textarea/test/textarea.spec.js +59 -0
  1015. package/dist/collection/components/textarea/textarea.ios.css +125 -5
  1016. package/dist/collection/components/textarea/textarea.js +1046 -1019
  1017. package/dist/collection/components/textarea/textarea.md.css +179 -14
  1018. package/dist/collection/components/thumbnail/test/basic/thumbnail.e2e.js +28 -28
  1019. package/dist/collection/components/thumbnail/thumbnail.css +22 -0
  1020. package/dist/collection/components/thumbnail/thumbnail.js +15 -15
  1021. package/dist/collection/components/title/test/a11y/title.e2e.js +17 -17
  1022. package/dist/collection/components/title/test/basic/title.e2e.js +13 -13
  1023. package/dist/collection/components/title/title.ios.css +22 -0
  1024. package/dist/collection/components/title/title.js +119 -119
  1025. package/dist/collection/components/title/title.md.css +22 -0
  1026. package/dist/collection/components/toast/animations/ios.enter.js +21 -20
  1027. package/dist/collection/components/toast/animations/ios.leave.js +18 -18
  1028. package/dist/collection/components/toast/animations/md.enter.js +23 -22
  1029. package/dist/collection/components/toast/animations/md.leave.js +6 -6
  1030. package/dist/collection/components/toast/animations/utils.js +62 -56
  1031. package/dist/collection/components/toast/gestures/swipe-to-dismiss.js +267 -0
  1032. package/dist/collection/components/toast/test/a11y/toast.e2e.js +92 -92
  1033. package/dist/collection/components/toast/test/basic/toast.e2e.js +101 -101
  1034. package/dist/collection/components/toast/test/is-open/toast.e2e.js +17 -17
  1035. package/dist/collection/components/toast/test/layout/toast.e2e.js +9 -9
  1036. package/dist/collection/components/toast/test/position-anchor/toast.e2e.js +37 -37
  1037. package/dist/collection/components/toast/test/standalone/toast.e2e.js +10 -10
  1038. package/dist/collection/components/toast/test/swipe-gesture/toast.e2e.js +84 -0
  1039. package/dist/collection/components/toast/test/toast-config.spec.js +25 -0
  1040. package/dist/collection/components/toast/test/toast-id.spec.js +32 -0
  1041. package/dist/collection/components/toast/test/toast.spec.js +200 -0
  1042. package/dist/collection/components/toast/test/trigger/toast.e2e.js +21 -21
  1043. package/dist/collection/components/toast/toast.ios.css +54 -10
  1044. package/dist/collection/components/toast/toast.js +1065 -952
  1045. package/dist/collection/components/toast/toast.md.css +54 -0
  1046. package/dist/collection/components/toggle/test/a11y/toggle.e2e.js +6 -6
  1047. package/dist/collection/components/toggle/test/color/toggle.e2e.js +11 -11
  1048. package/dist/collection/components/toggle/test/enable-on-off-labels/toggle.e2e.js +27 -27
  1049. package/dist/collection/components/toggle/test/item/toggle.e2e.js +52 -52
  1050. package/dist/collection/components/toggle/test/label/toggle.e2e.js +65 -65
  1051. package/dist/collection/components/toggle/test/legacy/basic/toggle.e2e.js +69 -69
  1052. package/dist/collection/components/toggle/test/legacy/enable-on-off-labels/toggle.e2e.js +23 -23
  1053. package/dist/collection/components/toggle/test/legacy/sizes/toggle.e2e.js +6 -6
  1054. package/dist/collection/components/toggle/test/sizes/toggle.e2e.js +6 -6
  1055. package/dist/collection/components/toggle/test/states/toggle.e2e.js +16 -16
  1056. package/dist/collection/components/toggle/test/toggle.spec.js +67 -0
  1057. package/dist/collection/components/toggle/toggle.ios.css +66 -6
  1058. package/dist/collection/components/toggle/toggle.js +487 -484
  1059. package/dist/collection/components/toggle/toggle.md.css +66 -6
  1060. package/dist/collection/components/toolbar/test/basic/toolbar.e2e.js +7 -7
  1061. package/dist/collection/components/toolbar/test/colors/toolbar.e2e.js +6 -6
  1062. package/dist/collection/components/toolbar/toolbar.ios.css +44 -0
  1063. package/dist/collection/components/toolbar/toolbar.js +100 -100
  1064. package/dist/collection/components/toolbar/toolbar.md.css +44 -0
  1065. package/dist/collection/css/test/a11y/typography.e2e.js +6 -6
  1066. package/dist/collection/global/config.js +51 -51
  1067. package/dist/collection/global/ionic-global.js +54 -54
  1068. package/dist/collection/global/test/config-controller.spec.js +77 -0
  1069. package/dist/collection/utils/animation/animation-utils.js +91 -91
  1070. package/dist/collection/utils/animation/animation.js +905 -904
  1071. package/dist/collection/utils/animation/cubic-bezier.js +49 -49
  1072. package/dist/collection/utils/animation/test/animation.spec.js +447 -0
  1073. package/dist/collection/utils/animation/test/animationbuilder/animation.e2e.js +26 -26
  1074. package/dist/collection/utils/animation/test/basic/animation.e2e.js +12 -12
  1075. package/dist/collection/utils/animation/test/display/animation.e2e.js +18 -18
  1076. package/dist/collection/utils/animation/test/hooks/animation.e2e.js +39 -39
  1077. package/dist/collection/utils/animation/test/multiple/animation.e2e.js +27 -27
  1078. package/dist/collection/utils/browser/index.js +0 -22
  1079. package/dist/collection/utils/config.js +20 -20
  1080. package/dist/collection/utils/content/content.utils.spec.js +121 -121
  1081. package/dist/collection/utils/content/index.js +58 -58
  1082. package/dist/collection/utils/floating-point/floating-point.spec.js +14 -14
  1083. package/dist/collection/utils/floating-point/index.js +5 -5
  1084. package/dist/collection/utils/focus-visible.js +63 -63
  1085. package/dist/collection/utils/forms/compare-with-utils.js +39 -0
  1086. package/dist/collection/utils/forms/form-controller.js +45 -45
  1087. package/dist/collection/utils/forms/index.js +1 -0
  1088. package/dist/collection/utils/forms/notch-controller.js +120 -120
  1089. package/dist/collection/utils/framework-delegate.js +121 -121
  1090. package/dist/collection/utils/gesture/button-active.js +56 -56
  1091. package/dist/collection/utils/gesture/gesture-controller.js +182 -182
  1092. package/dist/collection/utils/gesture/index.js +222 -222
  1093. package/dist/collection/utils/gesture/listener.js +36 -36
  1094. package/dist/collection/utils/gesture/pointer-events.js +113 -113
  1095. package/dist/collection/utils/gesture/recognizers.js +46 -46
  1096. package/dist/collection/utils/gesture/swipe-back.js +65 -65
  1097. package/dist/collection/utils/hardware-back-button.js +48 -48
  1098. package/dist/collection/utils/helpers.js +258 -258
  1099. package/dist/collection/utils/helpers.spec.js +28 -28
  1100. package/dist/collection/utils/input-shims/hacks/common.js +61 -61
  1101. package/dist/collection/utils/input-shims/hacks/hide-caret.js +19 -19
  1102. package/dist/collection/utils/input-shims/hacks/input-blurring.js +47 -47
  1103. package/dist/collection/utils/input-shims/hacks/scroll-assist.js +225 -225
  1104. package/dist/collection/utils/input-shims/hacks/scroll-data.js +29 -29
  1105. package/dist/collection/utils/input-shims/hacks/scroll-padding.js +21 -21
  1106. package/dist/collection/utils/input-shims/hacks/test/scroll-assist.e2e.js +97 -97
  1107. package/dist/collection/utils/input-shims/input-shims.js +87 -81
  1108. package/dist/collection/utils/keyboard/keyboard-controller.js +128 -128
  1109. package/dist/collection/utils/keyboard/keyboard.js +59 -59
  1110. package/dist/collection/utils/keyboard/test/keyboard-controller.spec.js +21 -0
  1111. package/dist/collection/utils/keyboard/test/keyboard.spec.js +214 -0
  1112. package/dist/collection/utils/lock-controller.js +24 -24
  1113. package/dist/collection/utils/logging/index.js +3 -3
  1114. package/dist/collection/utils/media.js +13 -13
  1115. package/dist/collection/utils/menu-controller/animations/base.js +8 -8
  1116. package/dist/collection/utils/menu-controller/animations/overlay.js +21 -21
  1117. package/dist/collection/utils/menu-controller/animations/push.js +20 -20
  1118. package/dist/collection/utils/menu-controller/animations/reveal.js +6 -6
  1119. package/dist/collection/utils/menu-controller/index.js +204 -206
  1120. package/dist/collection/utils/native/capacitor.js +4 -4
  1121. package/dist/collection/utils/native/haptic.js +151 -151
  1122. package/dist/collection/utils/native/keyboard.js +47 -47
  1123. package/dist/collection/utils/native/native-interface.js +15 -15
  1124. package/dist/collection/utils/native/status-bar.js +36 -36
  1125. package/dist/collection/utils/overlays.js +495 -494
  1126. package/dist/collection/utils/platform.js +56 -56
  1127. package/dist/collection/utils/rtl/dir.js +5 -5
  1128. package/dist/collection/utils/rtl/dir.spec.js +17 -17
  1129. package/dist/collection/utils/sanitization/index.js +122 -122
  1130. package/dist/collection/utils/sanitization/test/sanitization.spec.js +43 -0
  1131. package/dist/collection/utils/slot-mutation-controller.js +86 -85
  1132. package/dist/collection/utils/status-tap.js +26 -26
  1133. package/dist/collection/utils/tap-click/index.js +171 -171
  1134. package/dist/collection/utils/tap-click/test/tap-click.e2e.js +12 -12
  1135. package/dist/collection/utils/test/aria.spec.js +79 -0
  1136. package/dist/collection/utils/test/attributes.spec.js +53 -0
  1137. package/dist/collection/utils/test/framework-delegate/framework-delegate.e2e.js +25 -25
  1138. package/dist/collection/utils/test/hardware-back-button.spec.js +53 -0
  1139. package/dist/collection/utils/test/overlays/overlays.e2e.js +137 -137
  1140. package/dist/collection/utils/test/overlays/overlays.spec.js +102 -0
  1141. package/dist/collection/utils/test/platform.spec.js +132 -0
  1142. package/dist/collection/utils/test/platform.utils.js +77 -77
  1143. package/dist/collection/utils/test/playwright/drag-element.js +69 -69
  1144. package/dist/collection/utils/test/playwright/generator.js +48 -25
  1145. package/dist/collection/utils/test/playwright/matchers/index.js +3 -3
  1146. package/dist/collection/utils/test/playwright/matchers/toHaveReceivedEvent.js +21 -21
  1147. package/dist/collection/utils/test/playwright/matchers/toHaveReceivedEventDetail.js +28 -28
  1148. package/dist/collection/utils/test/playwright/matchers/toHaveReceivedEventTimes.js +22 -22
  1149. package/dist/collection/utils/test/playwright/page/event-spy.js +110 -110
  1150. package/dist/collection/utils/test/playwright/page/utils/goto.js +52 -52
  1151. package/dist/collection/utils/test/playwright/page/utils/locator.js +8 -8
  1152. package/dist/collection/utils/test/playwright/page/utils/set-content.js +44 -35
  1153. package/dist/collection/utils/test/playwright/page/utils/set-ion-viewport.js +19 -19
  1154. package/dist/collection/utils/test/playwright/page/utils/spy-on-event.js +4 -4
  1155. package/dist/collection/utils/test/playwright/page/utils/wait-for-changes.js +48 -48
  1156. package/dist/collection/utils/test/playwright/playwright-page.js +35 -35
  1157. package/dist/collection/utils/test/playwright/viewports/index.js +13 -13
  1158. package/dist/collection/utils/test/press-keys.js +77 -77
  1159. package/dist/collection/utils/test/ready.spec.js +39 -0
  1160. package/dist/collection/utils/test/theme.spec.js +56 -0
  1161. package/dist/collection/utils/theme.js +23 -23
  1162. package/dist/collection/utils/transition/index.js +163 -163
  1163. package/dist/collection/utils/transition/ios.transition.js +598 -598
  1164. package/dist/collection/utils/transition/md.transition.js +44 -44
  1165. package/dist/collection/utils/watch-options.js +30 -30
  1166. package/dist/docs.json +195 -38
  1167. package/dist/esm/animation-dde8cc0d.js +1060 -0
  1168. package/dist/esm/{app-globals-2398e405.js → app-globals-722340c4.js} +1 -1
  1169. package/dist/esm/button-active-c6ee4f50.js +67 -0
  1170. package/dist/esm/capacitor-59395cbd.js +13 -0
  1171. package/dist/esm/compare-with-utils-a96ff2ea.js +41 -0
  1172. package/dist/esm/config-49c88215.js +193 -0
  1173. package/dist/esm/cubic-bezier-fe2083dc.js +90 -0
  1174. package/dist/esm/data-f5c75b4e.js +1575 -0
  1175. package/dist/esm/{dir-912e3e13.js → dir-babeabeb.js} +5 -5
  1176. package/dist/esm/focus-visible-dd40d69f.js +75 -0
  1177. package/dist/esm/form-controller-548aa79c.js +64 -0
  1178. package/dist/esm/framework-delegate-bc1fd82a.js +140 -0
  1179. package/dist/esm/gesture-controller-1bf57181.js +195 -0
  1180. package/dist/esm/haptic-554688a5.js +206 -0
  1181. package/dist/esm/hardware-back-button-b2bc76db.js +71 -0
  1182. package/dist/esm/helpers-ae653409.js +418 -0
  1183. package/dist/esm/{index-7c9b1bca.js → index-08d686eb.js} +58 -7
  1184. package/dist/esm/index-0c12c22b.js +306 -0
  1185. package/dist/esm/index-1932b201.js +231 -0
  1186. package/dist/esm/index-2cf77112.js +457 -0
  1187. package/dist/esm/index-82eeb47f.js +196 -0
  1188. package/dist/esm/{index-595d62c9.js → index-9b0d46f4.js} +3 -3
  1189. package/dist/esm/index-a5d50daf.js +7 -0
  1190. package/dist/esm/{index-4392efa5.js → index-b9e742e5.js} +60 -60
  1191. package/dist/esm/index.js +113 -113
  1192. package/dist/esm/input-shims-6539ce13.js +599 -0
  1193. package/dist/esm/input.utils-a5a2d164.js +135 -0
  1194. package/dist/esm/ion-accordion_2.entry.js +488 -488
  1195. package/dist/esm/ion-action-sheet.entry.js +260 -250
  1196. package/dist/esm/ion-alert.entry.js +442 -432
  1197. package/dist/esm/ion-app_8.entry.js +1151 -1151
  1198. package/dist/esm/ion-avatar_3.entry.js +29 -29
  1199. package/dist/esm/ion-back-button.entry.js +73 -73
  1200. package/dist/esm/ion-backdrop.entry.js +40 -40
  1201. package/dist/esm/ion-breadcrumb_2.entry.js +194 -194
  1202. package/dist/esm/ion-button_2.entry.js +303 -303
  1203. package/dist/esm/ion-card_5.entry.js +105 -105
  1204. package/dist/esm/ion-checkbox.entry.js +149 -147
  1205. package/dist/esm/ion-chip.entry.js +20 -20
  1206. package/dist/esm/ion-col_3.entry.js +136 -136
  1207. package/dist/esm/ion-datetime-button.entry.js +325 -325
  1208. package/dist/esm/ion-datetime_3.entry.js +2185 -2162
  1209. package/dist/esm/ion-fab_3.entry.js +150 -150
  1210. package/dist/esm/ion-img.entry.js +79 -79
  1211. package/dist/esm/ion-infinite-scroll_2.entry.js +198 -190
  1212. package/dist/esm/ion-input.entry.js +424 -399
  1213. package/dist/esm/ion-item-option_3.entry.js +457 -457
  1214. package/dist/esm/ion-item_8.entry.js +441 -428
  1215. package/dist/esm/ion-loading.entry.js +220 -210
  1216. package/dist/esm/ion-menu_3.entry.js +668 -668
  1217. package/dist/esm/ion-modal.entry.js +1415 -1405
  1218. package/dist/esm/ion-nav_2.entry.js +904 -904
  1219. package/dist/esm/ion-picker-column-internal.entry.js +331 -327
  1220. package/dist/esm/ion-picker-internal.entry.js +453 -453
  1221. package/dist/esm/ion-popover.entry.js +1108 -1098
  1222. package/dist/esm/ion-progress-bar.entry.js +40 -40
  1223. package/dist/esm/ion-radio_2.entry.js +321 -316
  1224. package/dist/esm/ion-range.entry.js +558 -556
  1225. package/dist/esm/ion-refresher_2.entry.js +786 -786
  1226. package/dist/esm/ion-reorder_2.entry.js +267 -267
  1227. package/dist/esm/ion-ripple-effect.entry.js +66 -66
  1228. package/dist/esm/ion-route_4.entry.js +693 -693
  1229. package/dist/esm/ion-searchbar.entry.js +360 -358
  1230. package/dist/esm/ion-segment_2.entry.js +507 -507
  1231. package/dist/esm/ion-select_3.entry.js +784 -768
  1232. package/dist/esm/ion-spinner.entry.js +46 -46
  1233. package/dist/esm/ion-split-pane.entry.js +117 -117
  1234. package/dist/esm/ion-tab-bar_2.entry.js +138 -138
  1235. package/dist/esm/ion-tab_2.entry.js +187 -187
  1236. package/dist/esm/ion-text.entry.js +13 -13
  1237. package/dist/esm/ion-textarea.entry.js +378 -353
  1238. package/dist/esm/ion-toast.entry.js +771 -419
  1239. package/dist/esm/ion-toggle.entry.js +227 -225
  1240. package/dist/esm/ionic-global-c0cda98e.js +224 -0
  1241. package/dist/esm/ionic.js +6 -6
  1242. package/dist/esm/ios.transition-802a84a6.js +651 -0
  1243. package/dist/esm/keyboard-52278bd7.js +146 -0
  1244. package/dist/esm/keyboard-73175e24.js +79 -0
  1245. package/dist/esm/keyboard-controller-ec5c2bfa.js +165 -0
  1246. package/dist/esm/loader.js +5 -5
  1247. package/dist/esm/lock-controller-316928be.js +38 -0
  1248. package/dist/esm/md.transition-43c2874d.js +57 -0
  1249. package/dist/esm/notch-controller-fea7f9c5.js +153 -0
  1250. package/dist/esm/overlays-32ef481d.js +693 -0
  1251. package/dist/esm/spinner-configs-964f7cf3.js +145 -0
  1252. package/dist/esm/status-tap-2b93b1b5.js +40 -0
  1253. package/dist/esm/swipe-back-18cb49f7.js +79 -0
  1254. package/dist/esm/theme-01f3f29c.js +43 -0
  1255. package/dist/esm/watch-options-c2911ace.js +47 -0
  1256. package/dist/esm-es5/{animation-8aa13916.js → animation-dde8cc0d.js} +1 -1
  1257. package/dist/esm-es5/app-globals-722340c4.js +4 -0
  1258. package/dist/esm-es5/{button-active-ce5cba4c.js → button-active-c6ee4f50.js} +1 -1
  1259. package/dist/esm-es5/{capacitor-b4979570.js → capacitor-59395cbd.js} +1 -1
  1260. package/dist/esm-es5/compare-with-utils-a96ff2ea.js +4 -0
  1261. package/dist/esm-es5/{data-44d9e816.js → data-f5c75b4e.js} +1 -1
  1262. package/dist/esm-es5/{form-controller-64edeaad.js → form-controller-548aa79c.js} +1 -1
  1263. package/dist/esm-es5/{framework-delegate-aa433dea.js → framework-delegate-bc1fd82a.js} +1 -1
  1264. package/dist/esm-es5/{haptic-1243b917.js → haptic-554688a5.js} +1 -1
  1265. package/dist/esm-es5/{index-7c9b1bca.js → index-08d686eb.js} +1 -1
  1266. package/dist/esm-es5/index-0c12c22b.js +4 -0
  1267. package/dist/esm-es5/{index-6a0ccabb.js → index-1932b201.js} +1 -1
  1268. package/dist/esm-es5/{index-ff313b19.js → index-2cf77112.js} +1 -1
  1269. package/dist/esm-es5/{index-f0cc4e14.js → index-82eeb47f.js} +1 -1
  1270. package/dist/esm-es5/{index-4392efa5.js → index-b9e742e5.js} +1 -1
  1271. package/dist/esm-es5/index.js +1 -1
  1272. package/dist/esm-es5/input-shims-6539ce13.js +4 -0
  1273. package/dist/esm-es5/input.utils-a5a2d164.js +4 -0
  1274. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  1275. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  1276. package/dist/esm-es5/ion-alert.entry.js +1 -1
  1277. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  1278. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  1279. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  1280. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  1281. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  1282. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  1283. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  1284. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  1285. package/dist/esm-es5/ion-chip.entry.js +1 -1
  1286. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  1287. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  1288. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  1289. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  1290. package/dist/esm-es5/ion-img.entry.js +1 -1
  1291. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  1292. package/dist/esm-es5/ion-input.entry.js +1 -1
  1293. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  1294. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  1295. package/dist/esm-es5/ion-loading.entry.js +1 -1
  1296. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  1297. package/dist/esm-es5/ion-modal.entry.js +1 -1
  1298. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  1299. package/dist/esm-es5/ion-picker-column-internal.entry.js +1 -1
  1300. package/dist/esm-es5/ion-picker-internal.entry.js +1 -1
  1301. package/dist/esm-es5/ion-popover.entry.js +1 -1
  1302. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  1303. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  1304. package/dist/esm-es5/ion-range.entry.js +1 -1
  1305. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  1306. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  1307. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  1308. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  1309. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  1310. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  1311. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  1312. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  1313. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  1314. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  1315. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  1316. package/dist/esm-es5/ion-text.entry.js +1 -1
  1317. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  1318. package/dist/esm-es5/ion-toast.entry.js +1 -1
  1319. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  1320. package/dist/esm-es5/{ionic-global-40e42e7f.js → ionic-global-c0cda98e.js} +1 -1
  1321. package/dist/esm-es5/ionic.js +1 -1
  1322. package/dist/esm-es5/{ios.transition-1651c430.js → ios.transition-802a84a6.js} +1 -1
  1323. package/dist/esm-es5/{keyboard-b551279d.js → keyboard-52278bd7.js} +1 -1
  1324. package/dist/esm-es5/{keyboard-b063f012.js → keyboard-73175e24.js} +1 -1
  1325. package/dist/esm-es5/{keyboard-controller-0c2dce71.js → keyboard-controller-ec5c2bfa.js} +1 -1
  1326. package/dist/esm-es5/loader.js +1 -1
  1327. package/dist/esm-es5/md.transition-43c2874d.js +4 -0
  1328. package/dist/esm-es5/{notch-controller-8c9c0e54.js → notch-controller-fea7f9c5.js} +1 -1
  1329. package/dist/esm-es5/{overlays-6c9feb7e.js → overlays-32ef481d.js} +1 -1
  1330. package/dist/esm-es5/{status-tap-9ce68758.js → status-tap-2b93b1b5.js} +1 -1
  1331. package/dist/esm-es5/{swipe-back-cd4295f3.js → swipe-back-18cb49f7.js} +1 -1
  1332. package/dist/html.html-data.json +16 -3
  1333. package/dist/ionic/index.esm.js +1 -1
  1334. package/dist/ionic/ionic.esm.js +1 -1
  1335. package/dist/ionic/ionic.js +15 -15
  1336. package/dist/ionic/p-013013a3.js +4 -0
  1337. package/dist/ionic/p-01d14eba.system.entry.js +4 -0
  1338. package/dist/ionic/p-042e6f4b.entry.js +4 -0
  1339. package/dist/ionic/{p-f4cc91f6.entry.js → p-0add7211.entry.js} +1 -1
  1340. package/dist/ionic/{p-41477ad9.system.js → p-0bd51c34.system.js} +1 -1
  1341. package/dist/ionic/{p-c7b8c2ef.system.entry.js → p-0e53f8ea.system.entry.js} +1 -1
  1342. package/dist/ionic/{p-744973f3.entry.js → p-1161a793.entry.js} +1 -1
  1343. package/dist/ionic/{p-92800752.entry.js → p-1208f939.entry.js} +1 -1
  1344. package/dist/ionic/{p-cf425ec5.system.entry.js → p-16756e94.system.entry.js} +1 -1
  1345. package/dist/ionic/p-1786bc72.js +4 -0
  1346. package/dist/ionic/{p-c7d30db9.entry.js → p-17da5ed1.entry.js} +1 -1
  1347. package/dist/ionic/{p-a8e68fd9.entry.js → p-18ba8221.entry.js} +1 -1
  1348. package/dist/ionic/p-1b19c04b.entry.js +4 -0
  1349. package/dist/ionic/{p-b4b4bb29.system.js → p-1cca10d6.system.js} +1 -1
  1350. package/dist/ionic/p-1e4371bd.js +4 -0
  1351. package/dist/ionic/{p-0a794e83.entry.js → p-2092f39f.entry.js} +1 -1
  1352. package/dist/ionic/p-251666e2.entry.js +4 -0
  1353. package/dist/ionic/{p-9209d90c.entry.js → p-270e1a1d.entry.js} +1 -1
  1354. package/dist/ionic/{p-419eb426.js → p-27281edd.js} +1 -1
  1355. package/dist/ionic/p-28249b10.system.entry.js +4 -0
  1356. package/dist/ionic/p-28a2c2a2.entry.js +4 -0
  1357. package/dist/ionic/{p-ffb876b0.system.entry.js → p-2938823a.system.entry.js} +1 -1
  1358. package/dist/ionic/p-29d03b3a.js +4 -0
  1359. package/dist/ionic/{p-17240d90.js → p-2aea8b1e.js} +1 -1
  1360. package/dist/ionic/p-2b7827c7.js +4 -0
  1361. package/dist/ionic/p-2d3b9fa3.system.entry.js +4 -0
  1362. package/dist/ionic/p-2d539df1.entry.js +4 -0
  1363. package/dist/ionic/{p-fa8d4788.system.js → p-31b2326e.system.js} +1 -1
  1364. package/dist/ionic/{p-c4042875.system.js → p-31fcb233.system.js} +1 -1
  1365. package/dist/ionic/{p-a936d224.system.js → p-33a37fad.system.js} +1 -1
  1366. package/dist/ionic/p-350f7292.system.entry.js +4 -0
  1367. package/dist/ionic/{p-e76a4bc8.entry.js → p-353b349d.entry.js} +1 -1
  1368. package/dist/ionic/p-36d187af.js +4 -0
  1369. package/dist/ionic/p-376a6063.js +4 -0
  1370. package/dist/ionic/{p-55ed230e.system.js → p-38c337e7.system.js} +1 -1
  1371. package/dist/ionic/p-38f2c6bb.system.js +4 -0
  1372. package/dist/ionic/{p-0492946a.entry.js → p-3a45a82b.entry.js} +1 -1
  1373. package/dist/ionic/{p-3bad5c1a.js → p-3a75d7fd.js} +1 -1
  1374. package/dist/ionic/{p-0dc0d9b5.entry.js → p-3dd98a73.entry.js} +1 -1
  1375. package/dist/ionic/p-3e6b47e8.system.entry.js +4 -0
  1376. package/dist/ionic/p-3f5179b5.entry.js +4 -0
  1377. package/dist/ionic/p-40f68333.system.js +4 -0
  1378. package/dist/ionic/{p-c0c81820.system.js → p-4155f352.system.js} +1 -1
  1379. package/dist/ionic/{p-b287ab05.js → p-4180a747.js} +1 -1
  1380. package/dist/ionic/p-4233cc1e.system.entry.js +4 -0
  1381. package/dist/ionic/{p-b923f3d7.js → p-42f189f4.js} +1 -1
  1382. package/dist/ionic/{p-0e23256e.system.entry.js → p-46d400b4.system.entry.js} +1 -1
  1383. package/dist/ionic/{p-800ef057.js → p-47b6ba5b.js} +1 -1
  1384. package/dist/ionic/p-4d67d27a.entry.js +4 -0
  1385. package/dist/ionic/{p-1a8ae7a7.system.entry.js → p-4fb51e61.system.entry.js} +1 -1
  1386. package/dist/ionic/{p-18e01b30.system.entry.js → p-517a9885.system.entry.js} +1 -1
  1387. package/dist/ionic/{p-63f08fe3.entry.js → p-51a087d6.entry.js} +1 -1
  1388. package/dist/ionic/p-53ec4f1c.system.js +4 -0
  1389. package/dist/ionic/{p-5cfb3feb.system.entry.js → p-564af202.system.entry.js} +1 -1
  1390. package/dist/ionic/{p-1dc91702.entry.js → p-588fdf40.entry.js} +1 -1
  1391. package/dist/ionic/{p-41122cd6.system.js → p-5b365ca7.system.js} +1 -1
  1392. package/dist/ionic/{p-1d269117.system.entry.js → p-5bebc7b3.system.entry.js} +1 -1
  1393. package/dist/ionic/p-5e4eec2e.entry.js +4 -0
  1394. package/dist/ionic/{p-702d85d8.system.js → p-5e745192.system.js} +1 -1
  1395. package/dist/ionic/{p-6c3d5383.js → p-5ecae037.js} +1 -1
  1396. package/dist/ionic/{p-b2a74a72.entry.js → p-5eda1d7d.entry.js} +1 -1
  1397. package/dist/ionic/{p-6e23777e.system.entry.js → p-6577aea9.system.entry.js} +1 -1
  1398. package/dist/ionic/p-66d633fb.js +4 -0
  1399. package/dist/ionic/{p-3fb57e1b.system.entry.js → p-6ad34705.system.entry.js} +1 -1
  1400. package/dist/ionic/p-6de472cb.js +4 -0
  1401. package/dist/ionic/{p-34d2de14.system.entry.js → p-6de62649.system.entry.js} +1 -1
  1402. package/dist/ionic/{p-ff5144f3.system.entry.js → p-6e70dd1a.system.entry.js} +1 -1
  1403. package/dist/ionic/{p-4e6a1efb.system.entry.js → p-6f8dbe92.system.entry.js} +1 -1
  1404. package/dist/ionic/{p-1e86a71b.entry.js → p-6fbecbda.entry.js} +1 -1
  1405. package/dist/ionic/p-72f6ff89.js +4 -0
  1406. package/dist/ionic/p-765f4dde.entry.js +4 -0
  1407. package/dist/ionic/{p-8a308596.system.js → p-7798c78a.system.js} +2 -2
  1408. package/dist/ionic/{p-64ed03a3.entry.js → p-78aadecb.entry.js} +1 -1
  1409. package/dist/ionic/p-7d92bf15.system.entry.js +4 -0
  1410. package/dist/ionic/{p-5bd4e009.entry.js → p-80fa068e.entry.js} +1 -1
  1411. package/dist/ionic/{p-b8c3f071.system.js → p-82e3d633.system.js} +1 -1
  1412. package/dist/ionic/p-8314281e.system.js +4 -0
  1413. package/dist/ionic/p-8804a472.system.entry.js +4 -0
  1414. package/dist/ionic/{p-613d4042.system.js → p-888db766.system.js} +1 -1
  1415. package/dist/ionic/p-88d5fbd3.js +4 -0
  1416. package/dist/ionic/{p-3de79805.entry.js → p-88fde0e0.entry.js} +1 -1
  1417. package/dist/ionic/{p-ccdcb022.system.js → p-8985cdb6.system.js} +1 -1
  1418. package/dist/ionic/p-8aa1d0b7.system.js +4 -0
  1419. package/dist/ionic/p-8acae6b0.system.entry.js +4 -0
  1420. package/dist/ionic/p-8d69a624.entry.js +4 -0
  1421. package/dist/ionic/{p-14aca3fb.entry.js → p-8f5d30f5.entry.js} +1 -1
  1422. package/dist/ionic/{p-a9c3699b.system.entry.js → p-908475e7.system.entry.js} +1 -1
  1423. package/dist/ionic/{p-67aab78f.js → p-91d33c4a.js} +1 -1
  1424. package/dist/ionic/p-953009b1.entry.js +4 -0
  1425. package/dist/ionic/{p-3d7fea9b.system.entry.js → p-958d6ebe.system.entry.js} +2 -2
  1426. package/dist/ionic/{p-07d9e9cd.system.entry.js → p-9709ebd8.system.entry.js} +1 -1
  1427. package/dist/ionic/p-9738fd82.js +5 -0
  1428. package/dist/ionic/p-979d4f5c.system.js +4 -0
  1429. package/dist/ionic/{p-8b29691f.entry.js → p-98f3d827.entry.js} +1 -1
  1430. package/dist/ionic/p-9b7f0b0f.entry.js +4 -0
  1431. package/dist/ionic/p-9e447eb1.system.js +4 -0
  1432. package/dist/ionic/{p-4c80afe1.system.entry.js → p-9eec42cc.system.entry.js} +1 -1
  1433. package/dist/ionic/p-9f6ee2c0.system.entry.js +4 -0
  1434. package/dist/ionic/{p-bed722c4.system.entry.js → p-a0bb7b92.system.entry.js} +1 -1
  1435. package/dist/ionic/{p-97e31c0a.system.js → p-a0d7bb5e.system.js} +1 -1
  1436. package/dist/ionic/{p-965677f1.entry.js → p-a1987850.entry.js} +1 -1
  1437. package/dist/ionic/{p-b91fe549.entry.js → p-a3277a67.entry.js} +1 -1
  1438. package/dist/ionic/{p-ed636a74.entry.js → p-a4afcc88.entry.js} +1 -1
  1439. package/dist/ionic/{p-73411c1b.entry.js → p-a9978d08.entry.js} +1 -1
  1440. package/dist/ionic/{p-1cb5f2f8.system.entry.js → p-ada96dd0.system.entry.js} +1 -1
  1441. package/dist/ionic/p-afd6ca9d.entry.js +4 -0
  1442. package/dist/ionic/{p-0330f0a3.system.entry.js → p-b3b3efba.system.entry.js} +1 -1
  1443. package/dist/ionic/{p-a545b4f1.system.js → p-b4a51c42.system.js} +1 -1
  1444. package/dist/ionic/p-b56d0866.system.entry.js +4 -0
  1445. package/dist/ionic/{p-48d9faa7.entry.js → p-b5f9f14c.entry.js} +1 -1
  1446. package/dist/ionic/{p-45da1e68.system.entry.js → p-b6f5e4f2.system.entry.js} +1 -1
  1447. package/dist/ionic/p-b6f9d32a.entry.js +4 -0
  1448. package/dist/ionic/{p-664d2b07.system.entry.js → p-b7010c69.system.entry.js} +1 -1
  1449. package/dist/ionic/{p-5d711127.js → p-c3c3333a.js} +1 -1
  1450. package/dist/ionic/p-c61cc894.js +4 -0
  1451. package/dist/ionic/{p-5da0eb3e.system.entry.js → p-c847fb35.system.entry.js} +1 -1
  1452. package/dist/ionic/{p-67e18f02.system.entry.js → p-c91ccbfa.system.entry.js} +1 -1
  1453. package/dist/ionic/{p-f5a750e4.system.entry.js → p-c9a21dfd.system.entry.js} +1 -1
  1454. package/dist/ionic/{p-ab4cff27.system.js → p-cabad15b.system.js} +1 -1
  1455. package/dist/ionic/{p-d7ea6a0d.system.entry.js → p-caf21b46.system.entry.js} +1 -1
  1456. package/dist/ionic/{p-beb64be7.system.entry.js → p-cce9f61a.system.entry.js} +1 -1
  1457. package/dist/ionic/{p-a0b6d438.js → p-cdbeaadc.js} +1 -1
  1458. package/dist/ionic/{p-174f3446.entry.js → p-cfe57b1b.entry.js} +1 -1
  1459. package/dist/ionic/p-d032f825.system.entry.js +4 -0
  1460. package/dist/ionic/{p-7cee75c0.entry.js → p-d37b441e.entry.js} +1 -1
  1461. package/dist/ionic/{p-d2597b3e.system.js → p-d3b030b8.system.js} +1 -1
  1462. package/dist/ionic/p-d51674c5.system.js +4 -0
  1463. package/dist/ionic/p-dc6af8e9.entry.js +4 -0
  1464. package/dist/ionic/{p-8ad82eb3.entry.js → p-ddb30596.entry.js} +1 -1
  1465. package/dist/ionic/{p-bba2ce59.system.js → p-ddbb2d5b.system.js} +1 -1
  1466. package/dist/ionic/p-de6f8b28.system.js +4 -0
  1467. package/dist/ionic/p-de756e5c.js +4 -0
  1468. package/dist/ionic/p-dee7c1d0.system.entry.js +4 -0
  1469. package/dist/ionic/{p-09d142b3.system.js → p-e24ce1e5.system.js} +1 -1
  1470. package/dist/ionic/p-e3584231.system.js +4 -0
  1471. package/dist/ionic/{p-db5043df.system.entry.js → p-e6d68e02.system.entry.js} +1 -1
  1472. package/dist/ionic/{p-abacb44b.system.entry.js → p-e7ea9815.system.entry.js} +1 -1
  1473. package/dist/ionic/{p-c919498d.entry.js → p-e94c392d.entry.js} +1 -1
  1474. package/dist/ionic/p-ea69616e.entry.js +4 -0
  1475. package/dist/ionic/p-eef72e06.js +4 -0
  1476. package/dist/ionic/{p-a6d83a03.system.entry.js → p-ef126ae8.system.entry.js} +1 -1
  1477. package/dist/ionic/p-f0445d82.system.entry.js +4 -0
  1478. package/dist/ionic/p-f5d2dc9b.js +4 -0
  1479. package/dist/ionic/p-f656e032.system.entry.js +4 -0
  1480. package/dist/ionic/p-f70970cf.js +4 -0
  1481. package/dist/ionic/{p-5deff017.entry.js → p-f8a5bb89.entry.js} +1 -1
  1482. package/dist/ionic/{p-377c636c.system.entry.js → p-fba0a6e7.system.entry.js} +1 -1
  1483. package/dist/ionic/p-feae5133.entry.js +4 -0
  1484. package/dist/types/components/accordion/accordion.d.ts +62 -62
  1485. package/dist/types/components/accordion-group/accordion-group-interface.d.ts +3 -3
  1486. package/dist/types/components/accordion-group/accordion-group.d.ts +76 -76
  1487. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +25 -25
  1488. package/dist/types/components/action-sheet/action-sheet.d.ts +149 -149
  1489. package/dist/types/components/action-sheet/test/basic/fixture.d.ts +7 -7
  1490. package/dist/types/components/alert/alert-interface.d.ts +45 -45
  1491. package/dist/types/components/alert/alert.d.ts +181 -181
  1492. package/dist/types/components/app/app.d.ts +15 -15
  1493. package/dist/types/components/avatar/avatar.d.ts +1 -1
  1494. package/dist/types/components/back-button/back-button.d.ts +41 -41
  1495. package/dist/types/components/backdrop/backdrop.d.ts +22 -22
  1496. package/dist/types/components/badge/badge.d.ts +7 -7
  1497. package/dist/types/components/breadcrumb/breadcrumb-interface.d.ts +4 -4
  1498. package/dist/types/components/breadcrumb/breadcrumb.d.ts +87 -87
  1499. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +39 -39
  1500. package/dist/types/components/button/button.d.ts +121 -121
  1501. package/dist/types/components/buttons/buttons.d.ts +14 -14
  1502. package/dist/types/components/card/card.d.ts +57 -57
  1503. package/dist/types/components/card-content/card-content.d.ts +1 -1
  1504. package/dist/types/components/card-header/card-header.d.ts +13 -13
  1505. package/dist/types/components/card-subtitle/card-subtitle.d.ts +7 -7
  1506. package/dist/types/components/card-title/card-title.d.ts +7 -7
  1507. package/dist/types/components/checkbox/checkbox-interface.d.ts +4 -4
  1508. package/dist/types/components/checkbox/checkbox.d.ts +112 -111
  1509. package/dist/types/components/chip/chip.d.ts +15 -15
  1510. package/dist/types/components/col/col.d.ts +128 -128
  1511. package/dist/types/components/content/content-interface.d.ts +6 -6
  1512. package/dist/types/components/content/content.d.ts +129 -129
  1513. package/dist/types/components/datetime/datetime-interface.d.ts +15 -15
  1514. package/dist/types/components/datetime/datetime.d.ts +407 -407
  1515. package/dist/types/components/datetime/utils/data.d.ts +11 -11
  1516. package/dist/types/components/datetime/utils/manipulation.d.ts +25 -25
  1517. package/dist/types/components/datetime/utils/state.d.ts +8 -8
  1518. package/dist/types/components/datetime-button/datetime-button.d.ts +59 -59
  1519. package/dist/types/components/fab/fab.d.ts +33 -33
  1520. package/dist/types/components/fab-button/fab-button.d.ts +88 -88
  1521. package/dist/types/components/fab-list/fab-list.d.ts +11 -11
  1522. package/dist/types/components/footer/footer.d.ts +27 -27
  1523. package/dist/types/components/grid/grid.d.ts +5 -5
  1524. package/dist/types/components/header/header.d.ts +31 -31
  1525. package/dist/types/components/header/header.utils.d.ts +7 -7
  1526. package/dist/types/components/img/img.d.ts +30 -30
  1527. package/dist/types/components/infinite-scroll/infinite-scroll-interface.d.ts +1 -1
  1528. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +65 -58
  1529. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +23 -23
  1530. package/dist/types/components/input/input-interface.d.ts +6 -6
  1531. package/dist/types/components/input/input.d.ts +321 -315
  1532. package/dist/types/components/item/item.d.ts +111 -111
  1533. package/dist/types/components/item-divider/item-divider.d.ts +16 -16
  1534. package/dist/types/components/item-group/item-group.d.ts +1 -1
  1535. package/dist/types/components/item-option/item-option.d.ts +44 -44
  1536. package/dist/types/components/item-options/item-options.d.ts +13 -13
  1537. package/dist/types/components/item-sliding/item-sliding-interface.d.ts +1 -1
  1538. package/dist/types/components/item-sliding/item-sliding.d.ts +75 -75
  1539. package/dist/types/components/label/label.d.ts +30 -30
  1540. package/dist/types/components/list/list.d.ts +17 -17
  1541. package/dist/types/components/list-header/list-header.d.ts +11 -11
  1542. package/dist/types/components/loading/loading-interface.d.ts +16 -16
  1543. package/dist/types/components/loading/loading.d.ts +152 -152
  1544. package/dist/types/components/menu/menu-interface.d.ts +39 -39
  1545. package/dist/types/components/menu/menu.d.ts +140 -140
  1546. package/dist/types/components/menu-button/menu-button.d.ts +30 -30
  1547. package/dist/types/components/menu-toggle/menu-toggle.d.ts +21 -21
  1548. package/dist/types/components/modal/animations/sheet.d.ts +4 -4
  1549. package/dist/types/components/modal/gestures/sheet.d.ts +30 -30
  1550. package/dist/types/components/modal/gestures/swipe-to-close.d.ts +1 -1
  1551. package/dist/types/components/modal/modal-interface.d.ts +27 -27
  1552. package/dist/types/components/modal/modal.d.ts +265 -265
  1553. package/dist/types/components/modal/test/fixtures.d.ts +7 -7
  1554. package/dist/types/components/nav/nav-interface.d.ts +40 -40
  1555. package/dist/types/components/nav/nav.d.ts +247 -247
  1556. package/dist/types/components/nav/view-controller.d.ts +13 -13
  1557. package/dist/types/components/nav-link/nav-link.d.ts +19 -19
  1558. package/dist/types/components/note/note.d.ts +7 -7
  1559. package/dist/types/components/picker/picker-interface.d.ts +43 -43
  1560. package/dist/types/components/picker/picker.d.ts +149 -149
  1561. package/dist/types/components/picker-column/picker-column.d.ts +39 -39
  1562. package/dist/types/components/picker-column-internal/picker-column-internal-interfaces.d.ts +3 -3
  1563. package/dist/types/components/picker-column-internal/picker-column-internal.d.ts +93 -89
  1564. package/dist/types/components/picker-internal/picker-internal-interfaces.d.ts +4 -4
  1565. package/dist/types/components/picker-internal/picker-internal.d.ts +94 -94
  1566. package/dist/types/components/popover/popover-interface.d.ts +26 -26
  1567. package/dist/types/components/popover/popover.d.ts +279 -279
  1568. package/dist/types/components/popover/test/fixture.d.ts +5 -5
  1569. package/dist/types/components/popover/utils.d.ts +25 -25
  1570. package/dist/types/components/progress-bar/progress-bar.d.ts +27 -27
  1571. package/dist/types/components/radio/radio.d.ts +100 -99
  1572. package/dist/types/components/radio-group/radio-group-interface.d.ts +5 -4
  1573. package/dist/types/components/radio-group/radio-group.d.ts +51 -44
  1574. package/dist/types/components/radio-group/test/fixtures.d.ts +5 -5
  1575. package/dist/types/components/range/range-interface.d.ts +7 -7
  1576. package/dist/types/components/range/range.d.ts +193 -192
  1577. package/dist/types/components/refresher/refresher-interface.d.ts +3 -3
  1578. package/dist/types/components/refresher/refresher.d.ts +132 -132
  1579. package/dist/types/components/refresher-content/refresher-content.d.ts +44 -44
  1580. package/dist/types/components/reorder/reorder.d.ts +3 -3
  1581. package/dist/types/components/reorder-group/reorder-group-interface.d.ts +5 -5
  1582. package/dist/types/components/reorder-group/reorder-group.d.ts +53 -53
  1583. package/dist/types/components/ripple-effect/ripple-effect.d.ts +20 -20
  1584. package/dist/types/components/route/route-interface.d.ts +1 -1
  1585. package/dist/types/components/route/route.d.ts +43 -43
  1586. package/dist/types/components/route-redirect/route-redirect.d.ts +33 -33
  1587. package/dist/types/components/router/router.d.ts +74 -73
  1588. package/dist/types/components/router/utils/dom.d.ts +2 -2
  1589. package/dist/types/components/router/utils/interface.d.ts +31 -31
  1590. package/dist/types/components/router/utils/matching.d.ts +6 -6
  1591. package/dist/types/components/router-link/router-link.d.ts +34 -34
  1592. package/dist/types/components/router-outlet/router-outlet.d.ts +41 -41
  1593. package/dist/types/components/row/row.d.ts +1 -1
  1594. package/dist/types/components/searchbar/searchbar-interface.d.ts +6 -6
  1595. package/dist/types/components/searchbar/searchbar.d.ts +235 -233
  1596. package/dist/types/components/segment/segment-interface.d.ts +3 -3
  1597. package/dist/types/components/segment/segment.d.ts +82 -82
  1598. package/dist/types/components/segment-button/segment-button.d.ts +36 -36
  1599. package/dist/types/components/select/select-interface.d.ts +3 -3
  1600. package/dist/types/components/select/select.d.ts +238 -233
  1601. package/dist/types/components/select-option/select-option.d.ts +11 -11
  1602. package/dist/types/components/select-popover/select-popover-interface.d.ts +8 -8
  1603. package/dist/types/components/select-popover/select-popover.d.ts +39 -39
  1604. package/dist/types/components/select-popover/test/fixtures.d.ts +12 -12
  1605. package/dist/types/components/skeleton-text/skeleton-text.d.ts +15 -7
  1606. package/dist/types/components/spinner/spinner-configs.d.ts +96 -96
  1607. package/dist/types/components/spinner/spinner-interface.d.ts +14 -14
  1608. package/dist/types/components/spinner/spinner.d.ts +21 -21
  1609. package/dist/types/components/split-pane/split-pane.d.ts +33 -33
  1610. package/dist/types/components/tab/tab.d.ts +21 -21
  1611. package/dist/types/components/tab-bar/tab-bar-interface.d.ts +4 -4
  1612. package/dist/types/components/tab-bar/tab-bar.d.ts +34 -34
  1613. package/dist/types/components/tab-button/tab-button.d.ts +56 -56
  1614. package/dist/types/components/tabs/tabs-interface.d.ts +4 -4
  1615. package/dist/types/components/tabs/tabs.d.ts +52 -52
  1616. package/dist/types/components/text/text.d.ts +7 -7
  1617. package/dist/types/components/textarea/textarea-interface.d.ts +6 -6
  1618. package/dist/types/components/textarea/textarea.d.ts +275 -269
  1619. package/dist/types/components/thumbnail/thumbnail.d.ts +1 -1
  1620. package/dist/types/components/title/title.d.ts +21 -21
  1621. package/dist/types/components/toast/animations/utils.d.ts +15 -4
  1622. package/dist/types/components/toast/gestures/swipe-to-dismiss.d.ts +9 -0
  1623. package/dist/types/components/toast/toast-interface.d.ts +37 -35
  1624. package/dist/types/components/toast/toast.d.ts +241 -214
  1625. package/dist/types/components/toggle/toggle-interface.d.ts +4 -4
  1626. package/dist/types/components/toggle/toggle.d.ts +117 -116
  1627. package/dist/types/components/toolbar/toolbar.d.ts +11 -11
  1628. package/dist/types/components.d.ts +52 -13
  1629. package/dist/types/global/config.d.ts +6 -6
  1630. package/dist/types/interface.d.ts +1 -5
  1631. package/dist/types/jest.d.ts +5 -0
  1632. package/dist/types/stencil-public-runtime.d.ts +8 -0
  1633. package/dist/types/utils/animation/animation-interface.d.ts +205 -205
  1634. package/dist/types/utils/browser/index.d.ts +17 -8
  1635. package/dist/types/utils/config.d.ts +175 -175
  1636. package/dist/types/utils/element-interface.d.ts +6 -6
  1637. package/dist/types/utils/focus-visible.d.ts +2 -2
  1638. package/dist/types/utils/forms/compare-with-utils.d.ts +18 -0
  1639. package/dist/types/utils/forms/form-controller.d.ts +3 -3
  1640. package/dist/types/utils/forms/index.d.ts +1 -0
  1641. package/dist/types/utils/forms/notch-controller.d.ts +2 -2
  1642. package/dist/types/utils/framework-delegate.d.ts +3 -3
  1643. package/dist/types/utils/gesture/gesture-controller.d.ts +49 -49
  1644. package/dist/types/utils/gesture/index.d.ts +31 -31
  1645. package/dist/types/utils/gesture/listener.d.ts +2 -2
  1646. package/dist/types/utils/gesture/pointer-events.d.ts +12 -12
  1647. package/dist/types/utils/gesture/recognizers.d.ts +4 -4
  1648. package/dist/types/utils/hardware-back-button.d.ts +4 -0
  1649. package/dist/types/utils/helpers.d.ts +8 -8
  1650. package/dist/types/utils/input-shims/hacks/scroll-data.d.ts +4 -4
  1651. package/dist/types/utils/keyboard/keyboard-controller.d.ts +3 -3
  1652. package/dist/types/utils/lock-controller.d.ts +1 -1
  1653. package/dist/types/utils/native/haptic.d.ts +38 -38
  1654. package/dist/types/utils/native/keyboard.d.ts +29 -29
  1655. package/dist/types/utils/native/native-interface.d.ts +15 -15
  1656. package/dist/types/utils/native/status-bar.d.ts +8 -8
  1657. package/dist/types/utils/overlays-interface.d.ts +27 -27
  1658. package/dist/types/utils/overlays.d.ts +29 -28
  1659. package/dist/types/utils/platform.d.ts +16 -16
  1660. package/dist/types/utils/sanitization/index.d.ts +2 -2
  1661. package/dist/types/utils/slot-mutation-controller.d.ts +3 -3
  1662. package/dist/types/utils/test/platform.utils.d.ts +66 -66
  1663. package/dist/types/utils/test/playwright/generator.d.ts +16 -7
  1664. package/dist/types/utils/test/playwright/matchers/index.d.ts +3 -3
  1665. package/dist/types/utils/test/playwright/matchers/toHaveReceivedEvent.d.ts +2 -2
  1666. package/dist/types/utils/test/playwright/matchers/toHaveReceivedEventDetail.d.ts +2 -2
  1667. package/dist/types/utils/test/playwright/matchers/toHaveReceivedEventTimes.d.ts +2 -2
  1668. package/dist/types/utils/test/playwright/page/event-spy.d.ts +15 -15
  1669. package/dist/types/utils/test/playwright/page/utils/goto.d.ts +3 -3
  1670. package/dist/types/utils/test/playwright/page/utils/locator.d.ts +15 -15
  1671. package/dist/types/utils/test/playwright/playwright-declarations.d.ts +92 -92
  1672. package/dist/types/utils/test/playwright/playwright-page.d.ts +3 -3
  1673. package/dist/types/utils/test/playwright/viewports/index.d.ts +12 -12
  1674. package/dist/types/utils/test/press-keys.d.ts +14 -14
  1675. package/dist/types/utils/transition/index.d.ts +6 -6
  1676. package/dist/types/utils/watch-options.d.ts +1 -1
  1677. package/hydrate/index.d.ts +1 -1
  1678. package/hydrate/index.js +30517 -29945
  1679. package/package.json +3 -2
  1680. package/dist/cjs/animation-1083855c.js +0 -1061
  1681. package/dist/cjs/button-active-af897e0e.js +0 -69
  1682. package/dist/cjs/config-d5882735.js +0 -199
  1683. package/dist/cjs/cubic-bezier-6b9222ad.js +0 -92
  1684. package/dist/cjs/data-c8d21093.js +0 -1622
  1685. package/dist/cjs/focus-visible-a7545600.js +0 -77
  1686. package/dist/cjs/form-controller-9343050c.js +0 -66
  1687. package/dist/cjs/framework-delegate-c0873a6f.js +0 -144
  1688. package/dist/cjs/gesture-controller-b46721be.js +0 -197
  1689. package/dist/cjs/haptic-678abc9f.js +0 -212
  1690. package/dist/cjs/hardware-back-button-b67c8e75.js +0 -76
  1691. package/dist/cjs/helpers-ea4ccbcb.js +0 -441
  1692. package/dist/cjs/index-0ee995e4.js +0 -459
  1693. package/dist/cjs/index-306a7476.js +0 -32
  1694. package/dist/cjs/index-573877f3.js +0 -243
  1695. package/dist/cjs/index-9f379eaa.js +0 -198
  1696. package/dist/cjs/index-d7561763.js +0 -310
  1697. package/dist/cjs/input-shims-b0a75a01.js +0 -596
  1698. package/dist/cjs/input.utils-0fe3097c.js +0 -137
  1699. package/dist/cjs/ionic-global-ea2901a3.js +0 -230
  1700. package/dist/cjs/ios.transition-ac909bc8.js +0 -654
  1701. package/dist/cjs/keyboard-controller-50beb83a.js +0 -167
  1702. package/dist/cjs/keyboard-fd7db491.js +0 -81
  1703. package/dist/cjs/lock-controller-4ae2eb59.js +0 -40
  1704. package/dist/cjs/md.transition-907af519.js +0 -59
  1705. package/dist/cjs/notch-controller-f4f6af5d.js +0 -155
  1706. package/dist/cjs/overlays-2ffc5f27.js +0 -714
  1707. package/dist/cjs/spinner-configs-f7b5105b.js +0 -147
  1708. package/dist/cjs/status-tap-3fb2391a.js +0 -42
  1709. package/dist/cjs/swipe-back-7e843e77.js +0 -81
  1710. package/dist/cjs/theme-fbc56b3b.js +0 -48
  1711. package/dist/cjs/watch-options-53bbb124.js +0 -49
  1712. package/dist/collection/components/item/test/text/item.e2e.js +0 -14
  1713. package/dist/esm/animation-8aa13916.js +0 -1059
  1714. package/dist/esm/button-active-ce5cba4c.js +0 -67
  1715. package/dist/esm/capacitor-b4979570.js +0 -13
  1716. package/dist/esm/config-96c9ace3.js +0 -193
  1717. package/dist/esm/cubic-bezier-66542bc5.js +0 -90
  1718. package/dist/esm/data-44d9e816.js +0 -1575
  1719. package/dist/esm/focus-visible-85493433.js +0 -75
  1720. package/dist/esm/form-controller-64edeaad.js +0 -64
  1721. package/dist/esm/framework-delegate-aa433dea.js +0 -140
  1722. package/dist/esm/gesture-controller-0fa396c4.js +0 -195
  1723. package/dist/esm/haptic-1243b917.js +0 -206
  1724. package/dist/esm/hardware-back-button-39299f84.js +0 -71
  1725. package/dist/esm/helpers-3379ba19.js +0 -418
  1726. package/dist/esm/index-0aa6e61f.js +0 -308
  1727. package/dist/esm/index-6a0ccabb.js +0 -231
  1728. package/dist/esm/index-7a14ecec.js +0 -29
  1729. package/dist/esm/index-f0cc4e14.js +0 -196
  1730. package/dist/esm/index-ff313b19.js +0 -457
  1731. package/dist/esm/input-shims-d0c93e5d.js +0 -594
  1732. package/dist/esm/input.utils-ec063df4.js +0 -134
  1733. package/dist/esm/ionic-global-40e42e7f.js +0 -224
  1734. package/dist/esm/ios.transition-1651c430.js +0 -651
  1735. package/dist/esm/keyboard-b063f012.js +0 -79
  1736. package/dist/esm/keyboard-b551279d.js +0 -146
  1737. package/dist/esm/keyboard-controller-0c2dce71.js +0 -165
  1738. package/dist/esm/lock-controller-e8c6c051.js +0 -38
  1739. package/dist/esm/md.transition-66f18369.js +0 -57
  1740. package/dist/esm/notch-controller-8c9c0e54.js +0 -153
  1741. package/dist/esm/overlays-6c9feb7e.js +0 -692
  1742. package/dist/esm/spinner-configs-d09fbbbb.js +0 -145
  1743. package/dist/esm/status-tap-9ce68758.js +0 -40
  1744. package/dist/esm/swipe-back-cd4295f3.js +0 -79
  1745. package/dist/esm/theme-17531cdf.js +0 -43
  1746. package/dist/esm/watch-options-02d8498b.js +0 -47
  1747. package/dist/esm-es5/app-globals-2398e405.js +0 -4
  1748. package/dist/esm-es5/index-0aa6e61f.js +0 -4
  1749. package/dist/esm-es5/input-shims-d0c93e5d.js +0 -4
  1750. package/dist/esm-es5/input.utils-ec063df4.js +0 -4
  1751. package/dist/esm-es5/md.transition-66f18369.js +0 -4
  1752. package/dist/ionic/p-0d8e9393.entry.js +0 -4
  1753. package/dist/ionic/p-114a36ed.js +0 -4
  1754. package/dist/ionic/p-14b4348c.system.js +0 -4
  1755. package/dist/ionic/p-1e5165db.system.entry.js +0 -4
  1756. package/dist/ionic/p-1f4f0d59.system.entry.js +0 -4
  1757. package/dist/ionic/p-20cf4994.js +0 -4
  1758. package/dist/ionic/p-236063ec.system.entry.js +0 -4
  1759. package/dist/ionic/p-276afddd.js +0 -4
  1760. package/dist/ionic/p-2e8e0045.js +0 -4
  1761. package/dist/ionic/p-32083c2d.js +0 -4
  1762. package/dist/ionic/p-352c0232.system.entry.js +0 -4
  1763. package/dist/ionic/p-3602001b.system.js +0 -4
  1764. package/dist/ionic/p-3632220b.system.js +0 -4
  1765. package/dist/ionic/p-39044fe6.system.entry.js +0 -4
  1766. package/dist/ionic/p-3ce8c3e3.entry.js +0 -4
  1767. package/dist/ionic/p-40903d34.system.js +0 -4
  1768. package/dist/ionic/p-4518e4c0.system.entry.js +0 -4
  1769. package/dist/ionic/p-4794e0ac.system.entry.js +0 -4
  1770. package/dist/ionic/p-4a142496.system.entry.js +0 -4
  1771. package/dist/ionic/p-4cd588b3.system.entry.js +0 -4
  1772. package/dist/ionic/p-4dbac22d.entry.js +0 -4
  1773. package/dist/ionic/p-4ecb5692.entry.js +0 -4
  1774. package/dist/ionic/p-5370e786.js +0 -4
  1775. package/dist/ionic/p-63d519fb.entry.js +0 -4
  1776. package/dist/ionic/p-64296b15.entry.js +0 -4
  1777. package/dist/ionic/p-67ed452a.system.entry.js +0 -4
  1778. package/dist/ionic/p-67eecef4.system.js +0 -4
  1779. package/dist/ionic/p-7176cea3.entry.js +0 -4
  1780. package/dist/ionic/p-73420380.js +0 -4
  1781. package/dist/ionic/p-77e7a9c8.entry.js +0 -4
  1782. package/dist/ionic/p-7ab6fc5a.system.entry.js +0 -4
  1783. package/dist/ionic/p-81c818e7.js +0 -4
  1784. package/dist/ionic/p-8b1be026.js +0 -4
  1785. package/dist/ionic/p-8cf94fc1.js +0 -4
  1786. package/dist/ionic/p-8e1bded3.entry.js +0 -4
  1787. package/dist/ionic/p-97c65aa5.js +0 -4
  1788. package/dist/ionic/p-9ab6f3e6.system.js +0 -4
  1789. package/dist/ionic/p-9b89cbde.js +0 -4
  1790. package/dist/ionic/p-a5c1e6ce.entry.js +0 -4
  1791. package/dist/ionic/p-af016cd3.entry.js +0 -4
  1792. package/dist/ionic/p-b0cee324.entry.js +0 -4
  1793. package/dist/ionic/p-b1142133.entry.js +0 -4
  1794. package/dist/ionic/p-b17b7c3c.system.entry.js +0 -4
  1795. package/dist/ionic/p-b203659a.system.entry.js +0 -4
  1796. package/dist/ionic/p-b6f8ee31.entry.js +0 -4
  1797. package/dist/ionic/p-b906c5ca.entry.js +0 -4
  1798. package/dist/ionic/p-b912e055.system.js +0 -4
  1799. package/dist/ionic/p-c224b9a9.js +0 -5
  1800. package/dist/ionic/p-ca5219df.entry.js +0 -4
  1801. package/dist/ionic/p-cc196b34.js +0 -4
  1802. package/dist/ionic/p-d1de1188.js +0 -4
  1803. package/dist/ionic/p-d3952bd5.system.entry.js +0 -4
  1804. package/dist/ionic/p-dfa756ed.system.js +0 -4
  1805. package/dist/ionic/p-e6b240a0.js +0 -4
  1806. package/dist/ionic/p-e8400078.system.entry.js +0 -4
  1807. package/dist/ionic/p-f8e620f1.entry.js +0 -4
  1808. package/dist/ionic/p-ff5a10f9.system.js +0 -4
  1809. /package/dist/esm-es5/{config-96c9ace3.js → config-49c88215.js} +0 -0
  1810. /package/dist/esm-es5/{cubic-bezier-66542bc5.js → cubic-bezier-fe2083dc.js} +0 -0
  1811. /package/dist/esm-es5/{dir-912e3e13.js → dir-babeabeb.js} +0 -0
  1812. /package/dist/esm-es5/{focus-visible-85493433.js → focus-visible-dd40d69f.js} +0 -0
  1813. /package/dist/esm-es5/{gesture-controller-0fa396c4.js → gesture-controller-1bf57181.js} +0 -0
  1814. /package/dist/esm-es5/{hardware-back-button-39299f84.js → hardware-back-button-b2bc76db.js} +0 -0
  1815. /package/dist/esm-es5/{helpers-3379ba19.js → helpers-ae653409.js} +0 -0
  1816. /package/dist/esm-es5/{index-595d62c9.js → index-9b0d46f4.js} +0 -0
  1817. /package/dist/esm-es5/{index-7a14ecec.js → index-a5d50daf.js} +0 -0
  1818. /package/dist/esm-es5/{lock-controller-e8c6c051.js → lock-controller-316928be.js} +0 -0
  1819. /package/dist/esm-es5/{spinner-configs-d09fbbbb.js → spinner-configs-964f7cf3.js} +0 -0
  1820. /package/dist/esm-es5/{theme-17531cdf.js → theme-01f3f29c.js} +0 -0
  1821. /package/dist/esm-es5/{watch-options-02d8498b.js → watch-options-c2911ace.js} +0 -0
  1822. /package/dist/ionic/{p-5aac9314.system.js → p-012c3ceb.system.js} +0 -0
  1823. /package/dist/ionic/{p-1b8e1d03.js → p-06fee233.js} +0 -0
  1824. /package/dist/ionic/{p-819ff3b9.system.js → p-08e01816.system.js} +0 -0
  1825. /package/dist/ionic/{p-63eb0acd.js → p-23a9d086.js} +0 -0
  1826. /package/dist/ionic/{p-7c2bac85.js → p-2408c236.js} +0 -0
  1827. /package/dist/ionic/{p-815c2fba.system.js → p-32ad210f.system.js} +0 -0
  1828. /package/dist/ionic/{p-7b021525.js → p-41d5544e.js} +0 -0
  1829. /package/dist/ionic/{p-f10de93b.js → p-459d13d5.js} +0 -0
  1830. /package/dist/ionic/{p-44bc8b45.system.js → p-4609d030.system.js} +0 -0
  1831. /package/dist/ionic/{p-1d072d3d.js → p-47794def.js} +0 -0
  1832. /package/dist/ionic/{p-185e427e.js → p-4b3623da.js} +0 -0
  1833. /package/dist/ionic/{p-772f6c84.system.js → p-4f255d5a.system.js} +0 -0
  1834. /package/dist/ionic/{p-8c15eda7.system.js → p-790220fd.system.js} +0 -0
  1835. /package/dist/ionic/{p-0e94957a.system.js → p-792919fd.system.js} +0 -0
  1836. /package/dist/ionic/{p-b347cfd1.js → p-7b30edcc.js} +0 -0
  1837. /package/dist/ionic/{p-e0b06b65.js → p-bb3615f7.js} +0 -0
  1838. /package/dist/ionic/{p-87411e39.system.js → p-c468af8a.system.js} +0 -0
  1839. /package/dist/ionic/{p-9e852ff1.system.js → p-c7c8429a.system.js} +0 -0
  1840. /package/dist/ionic/{p-53b2a46f.js → p-ccd02320.js} +0 -0
  1841. /package/dist/ionic/{p-76fce40e.js → p-d47265c8.js} +0 -0
  1842. /package/dist/ionic/{p-56dc022e.system.js → p-d8d84afa.system.js} +0 -0
  1843. /package/dist/ionic/{p-c4f2dce7.system.js → p-e673a0a2.system.js} +0 -0
  1844. /package/dist/ionic/{p-c18d6eac.js → p-f0c2a614.js} +0 -0
  1845. /package/dist/ionic/{p-2b89ea1b.system.js → p-f233f1e0.system.js} +0 -0
  1846. /package/dist/ionic/{p-6dbfe5d4.js → p-fb813dab.js} +0 -0
  1847. /package/dist/ionic/{p-479cdbf8.system.js → p-ff4b7e40.system.js} +0 -0
@@ -13,248 +13,254 @@ import { getCounterText } from "../input/input.utils";
13
13
  * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
14
14
  *
15
15
  * @slot label - The label text to associate with the textarea. Use the `labelPlacement` property to control where the label is placed relative to the textarea. Use this if you need to render a label with custom HTML. (EXPERIMENTAL)
16
+ * @slot start - Content to display at the leading edge of the textarea. (EXPERIMENTAL)
17
+ * @slot end - Content to display at the trailing edge of the textarea. (EXPERIMENTAL)
16
18
  */
17
19
  export class Textarea {
18
- constructor() {
19
- this.inputId = `ion-textarea-${textareaIds++}`;
20
- /**
21
- * `true` if the textarea was cleared as a result of the user typing
22
- * with `clearOnEdit` enabled.
23
- *
24
- * Resets when the textarea loses focus.
25
- */
26
- this.didTextareaClearOnEdit = false;
27
- this.inheritedAttributes = {};
28
- // This flag ensures we log the deprecation warning at most once.
29
- this.hasLoggedDeprecationWarning = false;
30
- // `Event` type is used instead of `InputEvent`
31
- // since the types from Stencil are not derived
32
- // from the element (e.g. textarea and input
33
- // should be InputEvent, but all other elements
34
- // should be Event).
35
- this.onInput = (ev) => {
36
- const input = ev.target;
37
- if (input) {
38
- this.value = input.value || '';
39
- }
40
- this.emitInputChange(ev);
41
- };
42
- this.onChange = (ev) => {
43
- this.emitValueChange(ev);
44
- };
45
- this.onFocus = (ev) => {
46
- this.hasFocus = true;
47
- this.focusedValue = this.value;
48
- this.focusChange();
49
- this.ionFocus.emit(ev);
50
- };
51
- this.onBlur = (ev) => {
52
- this.hasFocus = false;
53
- this.focusChange();
54
- if (this.focusedValue !== this.value) {
20
+ constructor() {
21
+ this.inputId = `ion-textarea-${textareaIds++}`;
22
+ /**
23
+ * `true` if the textarea was cleared as a result of the user typing
24
+ * with `clearOnEdit` enabled.
25
+ *
26
+ * Resets when the textarea loses focus.
27
+ */
28
+ this.didTextareaClearOnEdit = false;
29
+ this.inheritedAttributes = {};
30
+ // This flag ensures we log the deprecation warning at most once.
31
+ this.hasLoggedDeprecationWarning = false;
32
+ // `Event` type is used instead of `InputEvent`
33
+ // since the types from Stencil are not derived
34
+ // from the element (e.g. textarea and input
35
+ // should be InputEvent, but all other elements
36
+ // should be Event).
37
+ this.onInput = (ev) => {
38
+ const input = ev.target;
39
+ if (input) {
40
+ this.value = input.value || '';
41
+ }
42
+ this.emitInputChange(ev);
43
+ };
44
+ this.onChange = (ev) => {
45
+ this.emitValueChange(ev);
46
+ };
47
+ this.onFocus = (ev) => {
48
+ this.hasFocus = true;
49
+ this.focusedValue = this.value;
50
+ this.focusChange();
51
+ this.ionFocus.emit(ev);
52
+ };
53
+ this.onBlur = (ev) => {
54
+ this.hasFocus = false;
55
+ this.focusChange();
56
+ if (this.focusedValue !== this.value) {
57
+ /**
58
+ * Emits the `ionChange` event when the textarea value
59
+ * is different than the value when the textarea was focused.
60
+ */
61
+ this.emitValueChange(ev);
62
+ }
63
+ this.didTextareaClearOnEdit = false;
64
+ this.ionBlur.emit(ev);
65
+ };
66
+ this.onKeyDown = (ev) => {
67
+ this.checkClearOnEdit(ev);
68
+ };
69
+ this.hasFocus = false;
70
+ this.color = undefined;
71
+ this.autocapitalize = 'none';
72
+ this.autofocus = false;
73
+ this.clearOnEdit = false;
74
+ this.debounce = undefined;
75
+ this.disabled = false;
76
+ this.fill = undefined;
77
+ this.inputmode = undefined;
78
+ this.enterkeyhint = undefined;
79
+ this.maxlength = undefined;
80
+ this.minlength = undefined;
81
+ this.name = this.inputId;
82
+ this.placeholder = undefined;
83
+ this.readonly = false;
84
+ this.required = false;
85
+ this.spellcheck = false;
86
+ this.cols = undefined;
87
+ this.rows = undefined;
88
+ this.wrap = undefined;
89
+ this.autoGrow = false;
90
+ this.value = '';
91
+ this.counter = false;
92
+ this.counterFormatter = undefined;
93
+ this.errorText = undefined;
94
+ this.helperText = undefined;
95
+ this.label = undefined;
96
+ this.labelPlacement = 'start';
97
+ this.legacy = undefined;
98
+ this.shape = undefined;
99
+ }
100
+ debounceChanged() {
101
+ const { ionInput, debounce, originalIonInput } = this;
55
102
  /**
56
- * Emits the `ionChange` event when the textarea value
57
- * is different than the value when the textarea was focused.
103
+ * If debounce is undefined, we have to manually revert the ionInput emitter in case
104
+ * debounce used to be set to a number. Otherwise, the event would stay debounced.
58
105
  */
59
- this.emitValueChange(ev);
60
- }
61
- this.didTextareaClearOnEdit = false;
62
- this.ionBlur.emit(ev);
63
- };
64
- this.onKeyDown = (ev) => {
65
- this.checkClearOnEdit(ev);
66
- };
67
- this.hasFocus = false;
68
- this.color = undefined;
69
- this.autocapitalize = 'none';
70
- this.autofocus = false;
71
- this.clearOnEdit = false;
72
- this.debounce = undefined;
73
- this.disabled = false;
74
- this.fill = undefined;
75
- this.inputmode = undefined;
76
- this.enterkeyhint = undefined;
77
- this.maxlength = undefined;
78
- this.minlength = undefined;
79
- this.name = this.inputId;
80
- this.placeholder = undefined;
81
- this.readonly = false;
82
- this.required = false;
83
- this.spellcheck = false;
84
- this.cols = undefined;
85
- this.rows = undefined;
86
- this.wrap = undefined;
87
- this.autoGrow = false;
88
- this.value = '';
89
- this.counter = false;
90
- this.counterFormatter = undefined;
91
- this.errorText = undefined;
92
- this.helperText = undefined;
93
- this.label = undefined;
94
- this.labelPlacement = 'start';
95
- this.legacy = undefined;
96
- this.shape = undefined;
97
- }
98
- debounceChanged() {
99
- const { ionInput, debounce, originalIonInput } = this;
106
+ this.ionInput = debounce === undefined ? originalIonInput !== null && originalIonInput !== void 0 ? originalIonInput : ionInput : debounceEvent(ionInput, debounce);
107
+ }
108
+ disabledChanged() {
109
+ this.emitStyle();
110
+ }
100
111
  /**
101
- * If debounce is undefined, we have to manually revert the ionInput emitter in case
102
- * debounce used to be set to a number. Otherwise, the event would stay debounced.
112
+ * Update the native input element when the value changes
103
113
  */
104
- this.ionInput = debounce === undefined ? originalIonInput !== null && originalIonInput !== void 0 ? originalIonInput : ionInput : debounceEvent(ionInput, debounce);
105
- }
106
- disabledChanged() {
107
- this.emitStyle();
108
- }
109
- /**
110
- * Update the native input element when the value changes
111
- */
112
- valueChanged() {
113
- const nativeInput = this.nativeInput;
114
- const value = this.getValue();
115
- if (nativeInput && nativeInput.value !== value) {
116
- nativeInput.value = value;
114
+ valueChanged() {
115
+ const nativeInput = this.nativeInput;
116
+ const value = this.getValue();
117
+ if (nativeInput && nativeInput.value !== value) {
118
+ nativeInput.value = value;
119
+ }
120
+ this.runAutoGrow();
121
+ this.emitStyle();
117
122
  }
118
- this.runAutoGrow();
119
- this.emitStyle();
120
- }
121
- connectedCallback() {
122
- const { el } = this;
123
- this.legacyFormController = createLegacyFormController(el);
124
- this.slotMutationController = createSlotMutationController(el, 'label', () => forceUpdate(this));
125
- this.notchController = createNotchController(el, () => this.notchSpacerEl, () => this.labelSlot);
126
- this.emitStyle();
127
- this.debounceChanged();
128
- if (Build.isBrowser) {
129
- document.dispatchEvent(new CustomEvent('ionInputDidLoad', {
130
- detail: el,
131
- }));
123
+ connectedCallback() {
124
+ const { el } = this;
125
+ this.legacyFormController = createLegacyFormController(el);
126
+ this.slotMutationController = createSlotMutationController(el, ['label', 'start', 'end'], () => forceUpdate(this));
127
+ this.notchController = createNotchController(el, () => this.notchSpacerEl, () => this.labelSlot);
128
+ this.emitStyle();
129
+ this.debounceChanged();
130
+ if (Build.isBrowser) {
131
+ document.dispatchEvent(new CustomEvent('ionInputDidLoad', {
132
+ detail: el,
133
+ }));
134
+ }
132
135
  }
133
- }
134
- disconnectedCallback() {
135
- if (Build.isBrowser) {
136
- document.dispatchEvent(new CustomEvent('ionInputDidUnload', {
137
- detail: this.el,
138
- }));
136
+ disconnectedCallback() {
137
+ if (Build.isBrowser) {
138
+ document.dispatchEvent(new CustomEvent('ionInputDidUnload', {
139
+ detail: this.el,
140
+ }));
141
+ }
142
+ if (this.slotMutationController) {
143
+ this.slotMutationController.destroy();
144
+ this.slotMutationController = undefined;
145
+ }
146
+ if (this.notchController) {
147
+ this.notchController.destroy();
148
+ this.notchController = undefined;
149
+ }
139
150
  }
140
- if (this.slotMutationController) {
141
- this.slotMutationController.destroy();
142
- this.slotMutationController = undefined;
151
+ componentWillLoad() {
152
+ this.inheritedAttributes = Object.assign(Object.assign({}, inheritAriaAttributes(this.el)), inheritAttributes(this.el, ['data-form-type', 'title', 'tabindex']));
143
153
  }
144
- if (this.notchController) {
145
- this.notchController.destroy();
146
- this.notchController = undefined;
154
+ componentDidLoad() {
155
+ this.originalIonInput = this.ionInput;
156
+ this.runAutoGrow();
147
157
  }
148
- }
149
- componentWillLoad() {
150
- this.inheritedAttributes = Object.assign(Object.assign({}, inheritAriaAttributes(this.el)), inheritAttributes(this.el, ['data-form-type', 'title', 'tabindex']));
151
- }
152
- componentDidLoad() {
153
- this.originalIonInput = this.ionInput;
154
- this.runAutoGrow();
155
- }
156
- componentDidRender() {
157
- var _a;
158
- (_a = this.notchController) === null || _a === void 0 ? void 0 : _a.calculateNotchWidth();
159
- }
160
- /**
161
- * Sets focus on the native `textarea` in `ion-textarea`. Use this method instead of the global
162
- * `textarea.focus()`.
163
- */
164
- async setFocus() {
165
- if (this.nativeInput) {
166
- this.nativeInput.focus();
158
+ componentDidRender() {
159
+ var _a;
160
+ (_a = this.notchController) === null || _a === void 0 ? void 0 : _a.calculateNotchWidth();
167
161
  }
168
- }
169
- /**
170
- * Returns the native `<textarea>` element used under the hood.
171
- */
172
- async getInputElement() {
173
162
  /**
174
- * If this gets called in certain early lifecycle hooks (ex: Vue onMounted),
175
- * nativeInput won't be defined yet with the custom elements build, so wait for it to load in.
163
+ * Sets focus on the native `textarea` in `ion-textarea`. Use this method instead of the global
164
+ * `textarea.focus()`.
165
+ *
166
+ * See [managing focus](/docs/developing/managing-focus) for more information.
176
167
  */
177
- if (!this.nativeInput) {
178
- await new Promise((resolve) => componentOnReady(this.el, resolve));
168
+ async setFocus() {
169
+ if (this.nativeInput) {
170
+ this.nativeInput.focus();
171
+ }
179
172
  }
180
- return Promise.resolve(this.nativeInput);
181
- }
182
- emitStyle() {
183
- if (this.legacyFormController.hasLegacyControl()) {
184
- this.ionStyle.emit({
185
- interactive: true,
186
- textarea: true,
187
- input: true,
188
- 'interactive-disabled': this.disabled,
189
- 'has-placeholder': this.placeholder !== undefined,
190
- 'has-value': this.hasValue(),
191
- 'has-focus': this.hasFocus,
192
- });
173
+ /**
174
+ * Returns the native `<textarea>` element used under the hood.
175
+ */
176
+ async getInputElement() {
177
+ /**
178
+ * If this gets called in certain early lifecycle hooks (ex: Vue onMounted),
179
+ * nativeInput won't be defined yet with the custom elements build, so wait for it to load in.
180
+ */
181
+ if (!this.nativeInput) {
182
+ await new Promise((resolve) => componentOnReady(this.el, resolve));
183
+ }
184
+ return Promise.resolve(this.nativeInput);
193
185
  }
194
- }
195
- /**
196
- * Emits an `ionChange` event.
197
- *
198
- * This API should be called for user committed changes.
199
- * This API should not be used for external value changes.
200
- */
201
- emitValueChange(event) {
202
- const { value } = this;
203
- // Checks for both null and undefined values
204
- const newValue = value == null ? value : value.toString();
205
- // Emitting a value change should update the internal state for tracking the focused value
206
- this.focusedValue = newValue;
207
- this.ionChange.emit({ value: newValue, event });
208
- }
209
- /**
210
- * Emits an `ionInput` event.
211
- */
212
- emitInputChange(event) {
213
- const { value } = this;
214
- this.ionInput.emit({ value, event });
215
- }
216
- runAutoGrow() {
217
- if (this.nativeInput && this.autoGrow) {
218
- writeTask(() => {
219
- var _a;
220
- if (this.textareaWrapper) {
221
- // Replicated value is an attribute to be used in the stylesheet
222
- // to set the inner contents of a pseudo element.
223
- this.textareaWrapper.dataset.replicatedValue = (_a = this.value) !== null && _a !== void 0 ? _a : '';
186
+ emitStyle() {
187
+ if (this.legacyFormController.hasLegacyControl()) {
188
+ this.ionStyle.emit({
189
+ interactive: true,
190
+ textarea: true,
191
+ input: true,
192
+ 'interactive-disabled': this.disabled,
193
+ 'has-placeholder': this.placeholder !== undefined,
194
+ 'has-value': this.hasValue(),
195
+ 'has-focus': this.hasFocus,
196
+ // TODO(FW-2876): remove this
197
+ legacy: !!this.legacy,
198
+ });
224
199
  }
225
- });
226
200
  }
227
- }
228
- /**
229
- * Check if we need to clear the text input if clearOnEdit is enabled
230
- */
231
- checkClearOnEdit(ev) {
232
- if (!this.clearOnEdit) {
233
- return;
201
+ /**
202
+ * Emits an `ionChange` event.
203
+ *
204
+ * This API should be called for user committed changes.
205
+ * This API should not be used for external value changes.
206
+ */
207
+ emitValueChange(event) {
208
+ const { value } = this;
209
+ // Checks for both null and undefined values
210
+ const newValue = value == null ? value : value.toString();
211
+ // Emitting a value change should update the internal state for tracking the focused value
212
+ this.focusedValue = newValue;
213
+ this.ionChange.emit({ value: newValue, event });
234
214
  }
235
215
  /**
236
- * Clear the textarea if the control has not been previously cleared
237
- * during focus.
216
+ * Emits an `ionInput` event.
238
217
  */
239
- if (!this.didTextareaClearOnEdit && this.hasValue() && ev.key !== 'Tab') {
240
- this.value = '';
241
- this.emitInputChange(ev);
218
+ emitInputChange(event) {
219
+ const { value } = this;
220
+ this.ionInput.emit({ value, event });
242
221
  }
243
- this.didTextareaClearOnEdit = true;
244
- }
245
- focusChange() {
246
- this.emitStyle();
247
- }
248
- hasValue() {
249
- return this.getValue() !== '';
250
- }
251
- getValue() {
252
- return this.value || '';
253
- }
254
- // TODO: FW-2876 - Remove this render function
255
- renderLegacyTextarea() {
256
- if (!this.hasLoggedDeprecationWarning) {
257
- printIonWarning(`ion-textarea now requires providing a label with either the "label" property or the "aria-label" attribute. To migrate, remove any usage of "ion-label" and pass the label text to either the "label" property or the "aria-label" attribute.
222
+ runAutoGrow() {
223
+ if (this.nativeInput && this.autoGrow) {
224
+ writeTask(() => {
225
+ var _a;
226
+ if (this.textareaWrapper) {
227
+ // Replicated value is an attribute to be used in the stylesheet
228
+ // to set the inner contents of a pseudo element.
229
+ this.textareaWrapper.dataset.replicatedValue = (_a = this.value) !== null && _a !== void 0 ? _a : '';
230
+ }
231
+ });
232
+ }
233
+ }
234
+ /**
235
+ * Check if we need to clear the text input if clearOnEdit is enabled
236
+ */
237
+ checkClearOnEdit(ev) {
238
+ if (!this.clearOnEdit) {
239
+ return;
240
+ }
241
+ /**
242
+ * Clear the textarea if the control has not been previously cleared
243
+ * during focus.
244
+ */
245
+ if (!this.didTextareaClearOnEdit && this.hasValue() && ev.key !== 'Tab') {
246
+ this.value = '';
247
+ this.emitInputChange(ev);
248
+ }
249
+ this.didTextareaClearOnEdit = true;
250
+ }
251
+ focusChange() {
252
+ this.emitStyle();
253
+ }
254
+ hasValue() {
255
+ return this.getValue() !== '';
256
+ }
257
+ getValue() {
258
+ return this.value || '';
259
+ }
260
+ // TODO: FW-2876 - Remove this render function
261
+ renderLegacyTextarea() {
262
+ if (!this.hasLoggedDeprecationWarning) {
263
+ printIonWarning(`ion-textarea now requires providing a label with either the "label" property or the "aria-label" attribute. To migrate, remove any usage of "ion-label" and pass the label text to either the "label" property or the "aria-label" attribute.
258
264
 
259
265
  Example: <ion-textarea label="Comments"></ion-textarea>
260
266
  Example with aria-label: <ion-textarea aria-label="Comments"></ion-textarea>
@@ -262,818 +268,839 @@ Example with aria-label: <ion-textarea aria-label="Comments"></ion-textarea>
262
268
  For textareas that do not render the label immediately next to the input, developers may continue to use "ion-label" but must manually associate the label with the textarea by using "aria-labelledby".
263
269
 
264
270
  Developers can use the "legacy" property to continue using the legacy form markup. This property will be removed in an upcoming major release of Ionic where this form control will use the modern form markup.`, this.el);
265
- this.hasLoggedDeprecationWarning = true;
266
- }
267
- const mode = getIonMode(this);
268
- const value = this.getValue();
269
- const labelId = this.inputId + '-lbl';
270
- const label = findItemLabel(this.el);
271
- if (label) {
272
- label.id = labelId;
271
+ this.hasLoggedDeprecationWarning = true;
272
+ }
273
+ const mode = getIonMode(this);
274
+ const value = this.getValue();
275
+ const labelId = this.inputId + '-lbl';
276
+ const label = findItemLabel(this.el);
277
+ if (label) {
278
+ label.id = labelId;
279
+ }
280
+ return (h(Host, { "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses(this.color, {
281
+ [mode]: true,
282
+ 'legacy-textarea': true,
283
+ }) }, h("div", { class: "textarea-legacy-wrapper", ref: (el) => (this.textareaWrapper = el) }, h("textarea", Object.assign({ class: "native-textarea", "aria-labelledby": label ? label.id : null, ref: (el) => (this.nativeInput = el), autoCapitalize: this.autocapitalize, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, disabled: this.disabled, maxLength: this.maxlength, minLength: this.minlength, 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 }, this.inheritedAttributes), value))));
273
284
  }
274
- return (h(Host, { "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses(this.color, {
275
- [mode]: true,
276
- 'legacy-textarea': true,
277
- }) }, h("div", { class: "textarea-legacy-wrapper", ref: (el) => (this.textareaWrapper = el) }, h("textarea", Object.assign({ class: "native-textarea", "aria-labelledby": label ? label.id : null, ref: (el) => (this.nativeInput = el), autoCapitalize: this.autocapitalize, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, disabled: this.disabled, maxLength: this.maxlength, minLength: this.minlength, 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 }, this.inheritedAttributes), value))));
278
- }
279
- renderLabel() {
280
- const { label } = this;
281
- return (h("div", { class: {
282
- 'label-text-wrapper': true,
283
- 'label-text-wrapper-hidden': !this.hasLabel,
284
- } }, label === undefined ? h("slot", { name: "label" }) : h("div", { class: "label-text" }, label)));
285
- }
286
- /**
287
- * Gets any content passed into the `label` slot,
288
- * not the <slot> definition.
289
- */
290
- get labelSlot() {
291
- return this.el.querySelector('[slot="label"]');
292
- }
293
- /**
294
- * Returns `true` if label content is provided
295
- * either by a prop or a content. If you want
296
- * to get the plaintext value of the label use
297
- * the `labelText` getter instead.
298
- */
299
- get hasLabel() {
300
- return this.label !== undefined || this.labelSlot !== null;
301
- }
302
- /**
303
- * Renders the border container when fill="outline".
304
- */
305
- renderLabelContainer() {
306
- const mode = getIonMode(this);
307
- const hasOutlineFill = mode === 'md' && this.fill === 'outline';
308
- if (hasOutlineFill) {
309
- /**
310
- * The outline fill has a special outline
311
- * that appears around the textarea and the label.
312
- * Certain stacked and floating label placements cause the
313
- * label to translate up and create a "cut out"
314
- * inside of that border by using the notch-spacer element.
315
- */
316
- return [
317
- h("div", { class: "textarea-outline-container" }, h("div", { class: "textarea-outline-start" }), h("div", { class: {
318
- 'textarea-outline-notch': true,
319
- 'textarea-outline-notch-hidden': !this.hasLabel,
320
- } }, h("div", { class: "notch-spacer", "aria-hidden": "true", ref: (el) => (this.notchSpacerEl = el) }, this.label)), h("div", { class: "textarea-outline-end" })),
321
- this.renderLabel(),
322
- ];
285
+ renderLabel() {
286
+ const { label } = this;
287
+ return (h("div", { class: {
288
+ 'label-text-wrapper': true,
289
+ 'label-text-wrapper-hidden': !this.hasLabel,
290
+ } }, label === undefined ? h("slot", { name: "label" }) : h("div", { class: "label-text" }, label)));
323
291
  }
324
292
  /**
325
- * If not using the outline style,
326
- * we can render just the label.
293
+ * Gets any content passed into the `label` slot,
294
+ * not the <slot> definition.
327
295
  */
328
- return this.renderLabel();
329
- }
330
- /**
331
- * Renders the helper text or error text values
332
- */
333
- renderHintText() {
334
- const { helperText, errorText } = this;
335
- return [h("div", { class: "helper-text" }, helperText), h("div", { class: "error-text" }, errorText)];
336
- }
337
- renderCounter() {
338
- const { counter, maxlength, counterFormatter, value } = this;
339
- if (counter !== true || maxlength === undefined) {
340
- return;
296
+ get labelSlot() {
297
+ return this.el.querySelector('[slot="label"]');
341
298
  }
342
- return h("div", { class: "counter" }, getCounterText(value, maxlength, counterFormatter));
343
- }
344
- /**
345
- * Responsible for rendering helper text,
346
- * error text, and counter. This element should only
347
- * be rendered if hint text is set or counter is enabled.
348
- */
349
- renderBottomContent() {
350
- const { counter, helperText, errorText, maxlength } = this;
351
299
  /**
352
- * undefined and empty string values should
353
- * be treated as not having helper/error text.
300
+ * Returns `true` if label content is provided
301
+ * either by a prop or a content. If you want
302
+ * to get the plaintext value of the label use
303
+ * the `labelText` getter instead.
354
304
  */
355
- const hasHintText = !!helperText || !!errorText;
356
- const hasCounter = counter === true && maxlength !== undefined;
357
- if (!hasHintText && !hasCounter) {
358
- return;
305
+ get hasLabel() {
306
+ return this.label !== undefined || this.labelSlot !== null;
359
307
  }
360
- return (h("div", { class: "textarea-bottom" }, this.renderHintText(), this.renderCounter()));
361
- }
362
- renderTextarea() {
363
- const { inputId, disabled, fill, shape, labelPlacement } = this;
364
- const mode = getIonMode(this);
365
- const value = this.getValue();
366
- const inItem = hostContext('ion-item', this.el);
367
- const shouldRenderHighlight = mode === 'md' && fill !== 'outline' && !inItem;
368
- return (h(Host, { class: createColorClasses(this.color, {
369
- [mode]: true,
370
- 'has-value': this.hasValue(),
371
- 'has-focus': this.hasFocus,
372
- [`textarea-fill-${fill}`]: fill !== undefined,
373
- [`textarea-shape-${shape}`]: shape !== undefined,
374
- [`textarea-label-placement-${labelPlacement}`]: true,
375
- 'textarea-disabled': disabled,
376
- }) }, h("label", { class: "textarea-wrapper" }, this.renderLabelContainer(), h("div", { class: "native-wrapper", ref: (el) => (this.textareaWrapper = el) }, h("textarea", Object.assign({ 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 }, this.inheritedAttributes), value)), shouldRenderHighlight && h("div", { class: "textarea-highlight" })), this.renderBottomContent()));
377
- }
378
- render() {
379
- const { legacyFormController } = this;
380
- return legacyFormController.hasLegacyControl() ? this.renderLegacyTextarea() : this.renderTextarea();
381
- }
382
- static get is() { return "ion-textarea"; }
383
- static get encapsulation() { return "scoped"; }
384
- static get originalStyleUrls() {
385
- return {
386
- "ios": ["textarea.ios.scss"],
387
- "md": ["textarea.md.scss"]
388
- };
389
- }
390
- static get styleUrls() {
391
- return {
392
- "ios": ["textarea.ios.css"],
393
- "md": ["textarea.md.css"]
394
- };
395
- }
396
- static get properties() {
397
- return {
398
- "color": {
399
- "type": "string",
400
- "mutable": false,
401
- "complexType": {
402
- "original": "Color",
403
- "resolved": "\"danger\" | \"dark\" | \"light\" | \"medium\" | \"primary\" | \"secondary\" | \"success\" | \"tertiary\" | \"warning\" | string & Record<never, never> | undefined",
404
- "references": {
405
- "Color": {
406
- "location": "import",
407
- "path": "../../interface",
408
- "id": "src/interface.d.ts::Color"
409
- }
410
- }
411
- },
412
- "required": false,
413
- "optional": true,
414
- "docs": {
415
- "tags": [],
416
- "text": "The color to use from your application's color palette.\nDefault options are: `\"primary\"`, `\"secondary\"`, `\"tertiary\"`, `\"success\"`, `\"warning\"`, `\"danger\"`, `\"light\"`, `\"medium\"`, and `\"dark\"`.\nFor more information on colors, see [theming](/docs/theming/basics)."
417
- },
418
- "attribute": "color",
419
- "reflect": true
420
- },
421
- "autocapitalize": {
422
- "type": "string",
423
- "mutable": false,
424
- "complexType": {
425
- "original": "string",
426
- "resolved": "string",
427
- "references": {}
428
- },
429
- "required": false,
430
- "optional": false,
431
- "docs": {
432
- "tags": [],
433
- "text": "Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.\nAvailable options: `\"off\"`, `\"none\"`, `\"on\"`, `\"sentences\"`, `\"words\"`, `\"characters\"`."
434
- },
435
- "attribute": "autocapitalize",
436
- "reflect": false,
437
- "defaultValue": "'none'"
438
- },
439
- "autofocus": {
440
- "type": "boolean",
441
- "mutable": false,
442
- "complexType": {
443
- "original": "boolean",
444
- "resolved": "boolean",
445
- "references": {}
446
- },
447
- "required": false,
448
- "optional": false,
449
- "docs": {
450
- "tags": [],
451
- "text": "This Boolean attribute lets you specify that a form control should have input focus when the page loads."
452
- },
453
- "attribute": "autofocus",
454
- "reflect": false,
455
- "defaultValue": "false"
456
- },
457
- "clearOnEdit": {
458
- "type": "boolean",
459
- "mutable": false,
460
- "complexType": {
461
- "original": "boolean",
462
- "resolved": "boolean",
463
- "references": {}
464
- },
465
- "required": false,
466
- "optional": false,
467
- "docs": {
468
- "tags": [],
469
- "text": "If `true`, the value will be cleared after focus upon edit."
470
- },
471
- "attribute": "clear-on-edit",
472
- "reflect": false,
473
- "defaultValue": "false"
474
- },
475
- "debounce": {
476
- "type": "number",
477
- "mutable": false,
478
- "complexType": {
479
- "original": "number",
480
- "resolved": "number | undefined",
481
- "references": {}
482
- },
483
- "required": false,
484
- "optional": true,
485
- "docs": {
486
- "tags": [],
487
- "text": "Set the amount of time, in milliseconds, to wait to trigger the `ionInput` event after each keystroke."
488
- },
489
- "attribute": "debounce",
490
- "reflect": false
491
- },
492
- "disabled": {
493
- "type": "boolean",
494
- "mutable": false,
495
- "complexType": {
496
- "original": "boolean",
497
- "resolved": "boolean",
498
- "references": {}
499
- },
500
- "required": false,
501
- "optional": false,
502
- "docs": {
503
- "tags": [],
504
- "text": "If `true`, the user cannot interact with the textarea."
505
- },
506
- "attribute": "disabled",
507
- "reflect": false,
508
- "defaultValue": "false"
509
- },
510
- "fill": {
511
- "type": "string",
512
- "mutable": false,
513
- "complexType": {
514
- "original": "'outline' | 'solid'",
515
- "resolved": "\"outline\" | \"solid\" | undefined",
516
- "references": {}
517
- },
518
- "required": false,
519
- "optional": true,
520
- "docs": {
521
- "tags": [],
522
- "text": "The fill for the item. If `\"solid\"` the item will have a background. If\n`\"outline\"` the item will be transparent with a border. Only available in `md` mode."
523
- },
524
- "attribute": "fill",
525
- "reflect": false
526
- },
527
- "inputmode": {
528
- "type": "string",
529
- "mutable": false,
530
- "complexType": {
531
- "original": "'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search'",
532
- "resolved": "\"decimal\" | \"email\" | \"none\" | \"numeric\" | \"search\" | \"tel\" | \"text\" | \"url\" | undefined",
533
- "references": {}
534
- },
535
- "required": false,
536
- "optional": true,
537
- "docs": {
538
- "tags": [],
539
- "text": "A hint to the browser for which keyboard to display.\nPossible values: `\"none\"`, `\"text\"`, `\"tel\"`, `\"url\"`,\n`\"email\"`, `\"numeric\"`, `\"decimal\"`, and `\"search\"`."
540
- },
541
- "attribute": "inputmode",
542
- "reflect": false
543
- },
544
- "enterkeyhint": {
545
- "type": "string",
546
- "mutable": false,
547
- "complexType": {
548
- "original": "'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'",
549
- "resolved": "\"done\" | \"enter\" | \"go\" | \"next\" | \"previous\" | \"search\" | \"send\" | undefined",
550
- "references": {}
551
- },
552
- "required": false,
553
- "optional": true,
554
- "docs": {
555
- "tags": [],
556
- "text": "A hint to the browser for which enter key to display.\nPossible values: `\"enter\"`, `\"done\"`, `\"go\"`, `\"next\"`,\n`\"previous\"`, `\"search\"`, and `\"send\"`."
557
- },
558
- "attribute": "enterkeyhint",
559
- "reflect": false
560
- },
561
- "maxlength": {
562
- "type": "number",
563
- "mutable": false,
564
- "complexType": {
565
- "original": "number",
566
- "resolved": "number | undefined",
567
- "references": {}
568
- },
569
- "required": false,
570
- "optional": true,
571
- "docs": {
572
- "tags": [],
573
- "text": "This attribute specifies the maximum number of characters that the user can enter."
574
- },
575
- "attribute": "maxlength",
576
- "reflect": false
577
- },
578
- "minlength": {
579
- "type": "number",
580
- "mutable": false,
581
- "complexType": {
582
- "original": "number",
583
- "resolved": "number | undefined",
584
- "references": {}
585
- },
586
- "required": false,
587
- "optional": true,
588
- "docs": {
589
- "tags": [],
590
- "text": "This attribute specifies the minimum number of characters that the user can enter."
591
- },
592
- "attribute": "minlength",
593
- "reflect": false
594
- },
595
- "name": {
596
- "type": "string",
597
- "mutable": false,
598
- "complexType": {
599
- "original": "string",
600
- "resolved": "string",
601
- "references": {}
602
- },
603
- "required": false,
604
- "optional": false,
605
- "docs": {
606
- "tags": [],
607
- "text": "The name of the control, which is submitted with the form data."
608
- },
609
- "attribute": "name",
610
- "reflect": false,
611
- "defaultValue": "this.inputId"
612
- },
613
- "placeholder": {
614
- "type": "string",
615
- "mutable": false,
616
- "complexType": {
617
- "original": "string",
618
- "resolved": "string | undefined",
619
- "references": {}
620
- },
621
- "required": false,
622
- "optional": true,
623
- "docs": {
624
- "tags": [],
625
- "text": "Instructional text that shows before the input has a value."
626
- },
627
- "attribute": "placeholder",
628
- "reflect": false
629
- },
630
- "readonly": {
631
- "type": "boolean",
632
- "mutable": false,
633
- "complexType": {
634
- "original": "boolean",
635
- "resolved": "boolean",
636
- "references": {}
637
- },
638
- "required": false,
639
- "optional": false,
640
- "docs": {
641
- "tags": [],
642
- "text": "If `true`, the user cannot modify the value."
643
- },
644
- "attribute": "readonly",
645
- "reflect": false,
646
- "defaultValue": "false"
647
- },
648
- "required": {
649
- "type": "boolean",
650
- "mutable": false,
651
- "complexType": {
652
- "original": "boolean",
653
- "resolved": "boolean",
654
- "references": {}
655
- },
656
- "required": false,
657
- "optional": false,
658
- "docs": {
659
- "tags": [],
660
- "text": "If `true`, the user must fill in a value before submitting a form."
661
- },
662
- "attribute": "required",
663
- "reflect": false,
664
- "defaultValue": "false"
665
- },
666
- "spellcheck": {
667
- "type": "boolean",
668
- "mutable": false,
669
- "complexType": {
670
- "original": "boolean",
671
- "resolved": "boolean",
672
- "references": {}
673
- },
674
- "required": false,
675
- "optional": false,
676
- "docs": {
677
- "tags": [],
678
- "text": "If `true`, the element will have its spelling and grammar checked."
679
- },
680
- "attribute": "spellcheck",
681
- "reflect": false,
682
- "defaultValue": "false"
683
- },
684
- "cols": {
685
- "type": "number",
686
- "mutable": false,
687
- "complexType": {
688
- "original": "number",
689
- "resolved": "number | undefined",
690
- "references": {}
691
- },
692
- "required": false,
693
- "optional": true,
694
- "docs": {
695
- "tags": [],
696
- "text": "The visible width of the text control, in average character widths. If it is specified, it must be a positive integer."
697
- },
698
- "attribute": "cols",
699
- "reflect": true
700
- },
701
- "rows": {
702
- "type": "number",
703
- "mutable": false,
704
- "complexType": {
705
- "original": "number",
706
- "resolved": "number | undefined",
707
- "references": {}
708
- },
709
- "required": false,
710
- "optional": true,
711
- "docs": {
712
- "tags": [],
713
- "text": "The number of visible text lines for the control."
714
- },
715
- "attribute": "rows",
716
- "reflect": false
717
- },
718
- "wrap": {
719
- "type": "string",
720
- "mutable": false,
721
- "complexType": {
722
- "original": "'hard' | 'soft' | 'off'",
723
- "resolved": "\"hard\" | \"off\" | \"soft\" | undefined",
724
- "references": {}
725
- },
726
- "required": false,
727
- "optional": true,
728
- "docs": {
729
- "tags": [],
730
- "text": "Indicates how the control wraps text."
731
- },
732
- "attribute": "wrap",
733
- "reflect": false
734
- },
735
- "autoGrow": {
736
- "type": "boolean",
737
- "mutable": false,
738
- "complexType": {
739
- "original": "boolean",
740
- "resolved": "boolean",
741
- "references": {}
742
- },
743
- "required": false,
744
- "optional": false,
745
- "docs": {
746
- "tags": [],
747
- "text": "If `true`, the textarea container will grow and shrink based\non the contents of the textarea."
748
- },
749
- "attribute": "auto-grow",
750
- "reflect": true,
751
- "defaultValue": "false"
752
- },
753
- "value": {
754
- "type": "string",
755
- "mutable": true,
756
- "complexType": {
757
- "original": "string | null",
758
- "resolved": "null | string | undefined",
759
- "references": {}
760
- },
761
- "required": false,
762
- "optional": true,
763
- "docs": {
764
- "tags": [],
765
- "text": "The value of the textarea."
766
- },
767
- "attribute": "value",
768
- "reflect": false,
769
- "defaultValue": "''"
770
- },
771
- "counter": {
772
- "type": "boolean",
773
- "mutable": false,
774
- "complexType": {
775
- "original": "boolean",
776
- "resolved": "boolean",
777
- "references": {}
778
- },
779
- "required": false,
780
- "optional": false,
781
- "docs": {
782
- "tags": [],
783
- "text": "If `true`, a character counter will display the ratio of characters used and the total character limit.\nDevelopers must also set the `maxlength` property for the counter to be calculated correctly."
784
- },
785
- "attribute": "counter",
786
- "reflect": false,
787
- "defaultValue": "false"
788
- },
789
- "counterFormatter": {
790
- "type": "unknown",
791
- "mutable": false,
792
- "complexType": {
793
- "original": "(inputLength: number, maxLength: number) => string",
794
- "resolved": "((inputLength: number, maxLength: number) => string) | undefined",
795
- "references": {}
796
- },
797
- "required": false,
798
- "optional": true,
799
- "docs": {
800
- "tags": [],
801
- "text": "A callback used to format the counter text.\nBy default the counter text is set to \"itemLength / maxLength\"."
802
- }
803
- },
804
- "errorText": {
805
- "type": "string",
806
- "mutable": false,
807
- "complexType": {
808
- "original": "string",
809
- "resolved": "string | undefined",
810
- "references": {}
811
- },
812
- "required": false,
813
- "optional": true,
814
- "docs": {
815
- "tags": [],
816
- "text": "Text that is placed under the textarea and displayed when an error is detected."
817
- },
818
- "attribute": "error-text",
819
- "reflect": false
820
- },
821
- "helperText": {
822
- "type": "string",
823
- "mutable": false,
824
- "complexType": {
825
- "original": "string",
826
- "resolved": "string | undefined",
827
- "references": {}
828
- },
829
- "required": false,
830
- "optional": true,
831
- "docs": {
832
- "tags": [],
833
- "text": "Text that is placed under the textarea and displayed when no error is detected."
834
- },
835
- "attribute": "helper-text",
836
- "reflect": false
837
- },
838
- "label": {
839
- "type": "string",
840
- "mutable": false,
841
- "complexType": {
842
- "original": "string",
843
- "resolved": "string | undefined",
844
- "references": {}
845
- },
846
- "required": false,
847
- "optional": true,
848
- "docs": {
849
- "tags": [],
850
- "text": "The visible label associated with the textarea.\n\nUse this if you need to render a plaintext label.\n\nThe `label` property will take priority over the `label` slot if both are used."
851
- },
852
- "attribute": "label",
853
- "reflect": false
854
- },
855
- "labelPlacement": {
856
- "type": "string",
857
- "mutable": false,
858
- "complexType": {
859
- "original": "'start' | 'end' | 'floating' | 'stacked' | 'fixed'",
860
- "resolved": "\"end\" | \"fixed\" | \"floating\" | \"stacked\" | \"start\"",
861
- "references": {}
862
- },
863
- "required": false,
864
- "optional": false,
865
- "docs": {
866
- "tags": [],
867
- "text": "Where to place the label relative to the textarea.\n`\"start\"`: The label will appear to the left of the textarea in LTR and to the right in RTL.\n`\"end\"`: The label will appear to the right of the textarea in LTR and to the left in RTL.\n`\"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.\n`\"stacked\"`: The label will appear smaller and above the textarea regardless even when the textarea is blurred or has no value.\n`\"fixed\"`: The label has the same behavior as `\"start\"` except it also has a fixed width. Long text will be truncated with ellipses (\"...\")."
868
- },
869
- "attribute": "label-placement",
870
- "reflect": false,
871
- "defaultValue": "'start'"
872
- },
873
- "legacy": {
874
- "type": "boolean",
875
- "mutable": false,
876
- "complexType": {
877
- "original": "boolean",
878
- "resolved": "boolean | undefined",
879
- "references": {}
880
- },
881
- "required": false,
882
- "optional": true,
883
- "docs": {
884
- "tags": [],
885
- "text": "Set the `legacy` property to `true` to forcibly use the legacy form control markup.\nIonic will only opt components in to the modern form markup when they are\nusing either the `aria-label` attribute or the default slot that contains\nthe label text. As a result, the `legacy` property should only be used as\nan escape hatch when you want to avoid this automatic opt-in behavior.\nNote that this property will be removed in an upcoming major release\nof Ionic, and all form components will be opted-in to using the modern form markup."
886
- },
887
- "attribute": "legacy",
888
- "reflect": false
889
- },
890
- "shape": {
891
- "type": "string",
892
- "mutable": false,
893
- "complexType": {
894
- "original": "'round'",
895
- "resolved": "\"round\" | undefined",
896
- "references": {}
897
- },
898
- "required": false,
899
- "optional": true,
900
- "docs": {
901
- "tags": [],
902
- "text": "The shape of the textarea. If \"round\" it will have an increased border radius."
903
- },
904
- "attribute": "shape",
905
- "reflect": false
906
- }
907
- };
908
- }
909
- static get states() {
910
- return {
911
- "hasFocus": {}
912
- };
913
- }
914
- static get events() {
915
- return [{
916
- "method": "ionChange",
917
- "name": "ionChange",
918
- "bubbles": true,
919
- "cancelable": true,
920
- "composed": true,
921
- "docs": {
922
- "tags": [],
923
- "text": "The `ionChange` event is fired when the user modifies the textarea's value.\nUnlike the `ionInput` event, the `ionChange` event is fired when\nthe element loses focus after its value has been modified."
924
- },
925
- "complexType": {
926
- "original": "TextareaChangeEventDetail",
927
- "resolved": "TextareaChangeEventDetail",
928
- "references": {
929
- "TextareaChangeEventDetail": {
930
- "location": "import",
931
- "path": "./textarea-interface",
932
- "id": "src/components/textarea/textarea-interface.ts::TextareaChangeEventDetail"
933
- }
934
- }
935
- }
936
- }, {
937
- "method": "ionInput",
938
- "name": "ionInput",
939
- "bubbles": true,
940
- "cancelable": true,
941
- "composed": true,
942
- "docs": {
943
- "tags": [],
944
- "text": "The `ionInput` event is fired each time the user modifies the textarea's value.\nUnlike the `ionChange` event, the `ionInput` event is fired for each alteration\nto the textarea's value. This typically happens for each keystroke as the user types.\n\nWhen `clearOnEdit` is enabled, the `ionInput` event will be fired when\nthe user clears the textarea by performing a keydown event."
945
- },
946
- "complexType": {
947
- "original": "TextareaInputEventDetail",
948
- "resolved": "TextareaInputEventDetail",
949
- "references": {
950
- "TextareaInputEventDetail": {
951
- "location": "import",
952
- "path": "./textarea-interface",
953
- "id": "src/components/textarea/textarea-interface.ts::TextareaInputEventDetail"
954
- }
955
- }
956
- }
957
- }, {
958
- "method": "ionStyle",
959
- "name": "ionStyle",
960
- "bubbles": true,
961
- "cancelable": true,
962
- "composed": true,
963
- "docs": {
964
- "tags": [{
965
- "name": "internal",
966
- "text": undefined
967
- }],
968
- "text": "Emitted when the styles change."
969
- },
970
- "complexType": {
971
- "original": "StyleEventDetail",
972
- "resolved": "StyleEventDetail",
973
- "references": {
974
- "StyleEventDetail": {
975
- "location": "import",
976
- "path": "../../interface",
977
- "id": "src/interface.d.ts::StyleEventDetail"
978
- }
979
- }
308
+ /**
309
+ * Renders the border container when fill="outline".
310
+ */
311
+ renderLabelContainer() {
312
+ const mode = getIonMode(this);
313
+ const hasOutlineFill = mode === 'md' && this.fill === 'outline';
314
+ if (hasOutlineFill) {
315
+ /**
316
+ * The outline fill has a special outline
317
+ * that appears around the textarea and the label.
318
+ * Certain stacked and floating label placements cause the
319
+ * label to translate up and create a "cut out"
320
+ * inside of that border by using the notch-spacer element.
321
+ */
322
+ return [
323
+ h("div", { class: "textarea-outline-container" }, h("div", { class: "textarea-outline-start" }), h("div", { class: {
324
+ 'textarea-outline-notch': true,
325
+ 'textarea-outline-notch-hidden': !this.hasLabel,
326
+ } }, h("div", { class: "notch-spacer", "aria-hidden": "true", ref: (el) => (this.notchSpacerEl = el) }, this.label)), h("div", { class: "textarea-outline-end" })),
327
+ this.renderLabel(),
328
+ ];
980
329
  }
981
- }, {
982
- "method": "ionBlur",
983
- "name": "ionBlur",
984
- "bubbles": true,
985
- "cancelable": true,
986
- "composed": true,
987
- "docs": {
988
- "tags": [],
989
- "text": "Emitted when the input loses focus."
990
- },
991
- "complexType": {
992
- "original": "FocusEvent",
993
- "resolved": "FocusEvent",
994
- "references": {
995
- "FocusEvent": {
996
- "location": "global",
997
- "id": "global::FocusEvent"
998
- }
999
- }
330
+ /**
331
+ * If not using the outline style,
332
+ * we can render just the label.
333
+ */
334
+ return this.renderLabel();
335
+ }
336
+ /**
337
+ * Renders the helper text or error text values
338
+ */
339
+ renderHintText() {
340
+ const { helperText, errorText } = this;
341
+ return [h("div", { class: "helper-text" }, helperText), h("div", { class: "error-text" }, errorText)];
342
+ }
343
+ renderCounter() {
344
+ const { counter, maxlength, counterFormatter, value } = this;
345
+ if (counter !== true || maxlength === undefined) {
346
+ return;
1000
347
  }
1001
- }, {
1002
- "method": "ionFocus",
1003
- "name": "ionFocus",
1004
- "bubbles": true,
1005
- "cancelable": true,
1006
- "composed": true,
1007
- "docs": {
1008
- "tags": [],
1009
- "text": "Emitted when the input has focus."
1010
- },
1011
- "complexType": {
1012
- "original": "FocusEvent",
1013
- "resolved": "FocusEvent",
1014
- "references": {
1015
- "FocusEvent": {
1016
- "location": "global",
1017
- "id": "global::FocusEvent"
1018
- }
1019
- }
348
+ return h("div", { class: "counter" }, getCounterText(value, maxlength, counterFormatter));
349
+ }
350
+ /**
351
+ * Responsible for rendering helper text,
352
+ * error text, and counter. This element should only
353
+ * be rendered if hint text is set or counter is enabled.
354
+ */
355
+ renderBottomContent() {
356
+ const { counter, helperText, errorText, maxlength } = this;
357
+ /**
358
+ * undefined and empty string values should
359
+ * be treated as not having helper/error text.
360
+ */
361
+ const hasHintText = !!helperText || !!errorText;
362
+ const hasCounter = counter === true && maxlength !== undefined;
363
+ if (!hasHintText && !hasCounter) {
364
+ return;
1020
365
  }
1021
- }];
1022
- }
1023
- static get methods() {
1024
- return {
1025
- "setFocus": {
1026
- "complexType": {
1027
- "signature": "() => Promise<void>",
1028
- "parameters": [],
1029
- "references": {
1030
- "Promise": {
1031
- "location": "global",
1032
- "id": "global::Promise"
366
+ return (h("div", { class: "textarea-bottom" }, this.renderHintText(), this.renderCounter()));
367
+ }
368
+ renderTextarea() {
369
+ const { inputId, disabled, fill, shape, labelPlacement, el, hasFocus } = this;
370
+ const mode = getIonMode(this);
371
+ const value = this.getValue();
372
+ const inItem = hostContext('ion-item', this.el);
373
+ const shouldRenderHighlight = mode === 'md' && fill !== 'outline' && !inItem;
374
+ const hasValue = this.hasValue();
375
+ const hasStartEndSlots = el.querySelector('[slot="start"], [slot="end"]') !== null;
376
+ /**
377
+ * If the label is stacked, it should always sit above the textarea.
378
+ * For floating labels, the label should move above the textarea if
379
+ * the textarea has a value, is focused, or has anything in either
380
+ * the start or end slot.
381
+ *
382
+ * If there is content in the start slot, the label would overlap
383
+ * it if not forced to float. This is also applied to the end slot
384
+ * because with the default or solid fills, the textarea is not
385
+ * vertically centered in the container, but the label is. This
386
+ * causes the slots and label to appear vertically offset from each
387
+ * other when the label isn't floating above the input. This doesn't
388
+ * apply to the outline fill, but this was not accounted for to keep
389
+ * things consistent.
390
+ *
391
+ * TODO(FW-5592): Remove hasStartEndSlots condition
392
+ */
393
+ const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
394
+ return (h(Host, { class: createColorClasses(this.color, {
395
+ [mode]: true,
396
+ 'has-value': hasValue,
397
+ 'has-focus': hasFocus,
398
+ 'label-floating': labelShouldFloat,
399
+ [`textarea-fill-${fill}`]: fill !== undefined,
400
+ [`textarea-shape-${shape}`]: shape !== undefined,
401
+ [`textarea-label-placement-${labelPlacement}`]: true,
402
+ 'textarea-disabled': disabled,
403
+ }) }, h("label", { class: "textarea-wrapper", htmlFor: inputId }, this.renderLabelContainer(), h("div", { class: "textarea-wrapper-inner" }, h("div", { class: "start-slot-wrapper" }, h("slot", { name: "start" })), h("div", { class: "native-wrapper", ref: (el) => (this.textareaWrapper = el) }, h("textarea", Object.assign({ 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 }, this.inheritedAttributes), value)), h("div", { class: "end-slot-wrapper" }, h("slot", { name: "end" }))), shouldRenderHighlight && h("div", { class: "textarea-highlight" })), this.renderBottomContent()));
404
+ }
405
+ render() {
406
+ const { legacyFormController } = this;
407
+ return legacyFormController.hasLegacyControl() ? this.renderLegacyTextarea() : this.renderTextarea();
408
+ }
409
+ static get is() { return "ion-textarea"; }
410
+ static get encapsulation() { return "scoped"; }
411
+ static get originalStyleUrls() {
412
+ return {
413
+ "ios": ["textarea.ios.scss"],
414
+ "md": ["textarea.md.scss"]
415
+ };
416
+ }
417
+ static get styleUrls() {
418
+ return {
419
+ "ios": ["textarea.ios.css"],
420
+ "md": ["textarea.md.css"]
421
+ };
422
+ }
423
+ static get properties() {
424
+ return {
425
+ "color": {
426
+ "type": "string",
427
+ "mutable": false,
428
+ "complexType": {
429
+ "original": "Color",
430
+ "resolved": "\"danger\" | \"dark\" | \"light\" | \"medium\" | \"primary\" | \"secondary\" | \"success\" | \"tertiary\" | \"warning\" | string & Record<never, never> | undefined",
431
+ "references": {
432
+ "Color": {
433
+ "location": "import",
434
+ "path": "../../interface",
435
+ "id": "src/interface.d.ts::Color"
436
+ }
437
+ }
438
+ },
439
+ "required": false,
440
+ "optional": true,
441
+ "docs": {
442
+ "tags": [],
443
+ "text": "The color to use from your application's color palette.\nDefault options are: `\"primary\"`, `\"secondary\"`, `\"tertiary\"`, `\"success\"`, `\"warning\"`, `\"danger\"`, `\"light\"`, `\"medium\"`, and `\"dark\"`.\nFor more information on colors, see [theming](/docs/theming/basics)."
444
+ },
445
+ "attribute": "color",
446
+ "reflect": true
447
+ },
448
+ "autocapitalize": {
449
+ "type": "string",
450
+ "mutable": false,
451
+ "complexType": {
452
+ "original": "string",
453
+ "resolved": "string",
454
+ "references": {}
455
+ },
456
+ "required": false,
457
+ "optional": false,
458
+ "docs": {
459
+ "tags": [],
460
+ "text": "Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.\nAvailable options: `\"off\"`, `\"none\"`, `\"on\"`, `\"sentences\"`, `\"words\"`, `\"characters\"`."
461
+ },
462
+ "attribute": "autocapitalize",
463
+ "reflect": false,
464
+ "defaultValue": "'none'"
465
+ },
466
+ "autofocus": {
467
+ "type": "boolean",
468
+ "mutable": false,
469
+ "complexType": {
470
+ "original": "boolean",
471
+ "resolved": "boolean",
472
+ "references": {}
473
+ },
474
+ "required": false,
475
+ "optional": false,
476
+ "docs": {
477
+ "tags": [],
478
+ "text": "Sets the [`autofocus` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus) on the native input element.\n\nThis may not be sufficient for the element to be focused on page load. See [managing focus](/docs/developing/managing-focus) for more information."
479
+ },
480
+ "attribute": "autofocus",
481
+ "reflect": false,
482
+ "defaultValue": "false"
483
+ },
484
+ "clearOnEdit": {
485
+ "type": "boolean",
486
+ "mutable": false,
487
+ "complexType": {
488
+ "original": "boolean",
489
+ "resolved": "boolean",
490
+ "references": {}
491
+ },
492
+ "required": false,
493
+ "optional": false,
494
+ "docs": {
495
+ "tags": [],
496
+ "text": "If `true`, the value will be cleared after focus upon edit."
497
+ },
498
+ "attribute": "clear-on-edit",
499
+ "reflect": false,
500
+ "defaultValue": "false"
501
+ },
502
+ "debounce": {
503
+ "type": "number",
504
+ "mutable": false,
505
+ "complexType": {
506
+ "original": "number",
507
+ "resolved": "number | undefined",
508
+ "references": {}
509
+ },
510
+ "required": false,
511
+ "optional": true,
512
+ "docs": {
513
+ "tags": [],
514
+ "text": "Set the amount of time, in milliseconds, to wait to trigger the `ionInput` event after each keystroke."
515
+ },
516
+ "attribute": "debounce",
517
+ "reflect": false
518
+ },
519
+ "disabled": {
520
+ "type": "boolean",
521
+ "mutable": false,
522
+ "complexType": {
523
+ "original": "boolean",
524
+ "resolved": "boolean",
525
+ "references": {}
526
+ },
527
+ "required": false,
528
+ "optional": false,
529
+ "docs": {
530
+ "tags": [],
531
+ "text": "If `true`, the user cannot interact with the textarea."
532
+ },
533
+ "attribute": "disabled",
534
+ "reflect": false,
535
+ "defaultValue": "false"
536
+ },
537
+ "fill": {
538
+ "type": "string",
539
+ "mutable": false,
540
+ "complexType": {
541
+ "original": "'outline' | 'solid'",
542
+ "resolved": "\"outline\" | \"solid\" | undefined",
543
+ "references": {}
544
+ },
545
+ "required": false,
546
+ "optional": true,
547
+ "docs": {
548
+ "tags": [],
549
+ "text": "The fill for the item. If `\"solid\"` the item will have a background. If\n`\"outline\"` the item will be transparent with a border. Only available in `md` mode."
550
+ },
551
+ "attribute": "fill",
552
+ "reflect": false
553
+ },
554
+ "inputmode": {
555
+ "type": "string",
556
+ "mutable": false,
557
+ "complexType": {
558
+ "original": "'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search'",
559
+ "resolved": "\"decimal\" | \"email\" | \"none\" | \"numeric\" | \"search\" | \"tel\" | \"text\" | \"url\" | undefined",
560
+ "references": {}
561
+ },
562
+ "required": false,
563
+ "optional": true,
564
+ "docs": {
565
+ "tags": [],
566
+ "text": "A hint to the browser for which keyboard to display.\nPossible values: `\"none\"`, `\"text\"`, `\"tel\"`, `\"url\"`,\n`\"email\"`, `\"numeric\"`, `\"decimal\"`, and `\"search\"`."
567
+ },
568
+ "attribute": "inputmode",
569
+ "reflect": false
570
+ },
571
+ "enterkeyhint": {
572
+ "type": "string",
573
+ "mutable": false,
574
+ "complexType": {
575
+ "original": "'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'",
576
+ "resolved": "\"done\" | \"enter\" | \"go\" | \"next\" | \"previous\" | \"search\" | \"send\" | undefined",
577
+ "references": {}
578
+ },
579
+ "required": false,
580
+ "optional": true,
581
+ "docs": {
582
+ "tags": [],
583
+ "text": "A hint to the browser for which enter key to display.\nPossible values: `\"enter\"`, `\"done\"`, `\"go\"`, `\"next\"`,\n`\"previous\"`, `\"search\"`, and `\"send\"`."
584
+ },
585
+ "attribute": "enterkeyhint",
586
+ "reflect": false
587
+ },
588
+ "maxlength": {
589
+ "type": "number",
590
+ "mutable": false,
591
+ "complexType": {
592
+ "original": "number",
593
+ "resolved": "number | undefined",
594
+ "references": {}
595
+ },
596
+ "required": false,
597
+ "optional": true,
598
+ "docs": {
599
+ "tags": [],
600
+ "text": "This attribute specifies the maximum number of characters that the user can enter."
601
+ },
602
+ "attribute": "maxlength",
603
+ "reflect": false
604
+ },
605
+ "minlength": {
606
+ "type": "number",
607
+ "mutable": false,
608
+ "complexType": {
609
+ "original": "number",
610
+ "resolved": "number | undefined",
611
+ "references": {}
612
+ },
613
+ "required": false,
614
+ "optional": true,
615
+ "docs": {
616
+ "tags": [],
617
+ "text": "This attribute specifies the minimum number of characters that the user can enter."
618
+ },
619
+ "attribute": "minlength",
620
+ "reflect": false
621
+ },
622
+ "name": {
623
+ "type": "string",
624
+ "mutable": false,
625
+ "complexType": {
626
+ "original": "string",
627
+ "resolved": "string",
628
+ "references": {}
629
+ },
630
+ "required": false,
631
+ "optional": false,
632
+ "docs": {
633
+ "tags": [],
634
+ "text": "The name of the control, which is submitted with the form data."
635
+ },
636
+ "attribute": "name",
637
+ "reflect": false,
638
+ "defaultValue": "this.inputId"
639
+ },
640
+ "placeholder": {
641
+ "type": "string",
642
+ "mutable": false,
643
+ "complexType": {
644
+ "original": "string",
645
+ "resolved": "string | undefined",
646
+ "references": {}
647
+ },
648
+ "required": false,
649
+ "optional": true,
650
+ "docs": {
651
+ "tags": [],
652
+ "text": "Instructional text that shows before the input has a value."
653
+ },
654
+ "attribute": "placeholder",
655
+ "reflect": false
656
+ },
657
+ "readonly": {
658
+ "type": "boolean",
659
+ "mutable": false,
660
+ "complexType": {
661
+ "original": "boolean",
662
+ "resolved": "boolean",
663
+ "references": {}
664
+ },
665
+ "required": false,
666
+ "optional": false,
667
+ "docs": {
668
+ "tags": [],
669
+ "text": "If `true`, the user cannot modify the value."
670
+ },
671
+ "attribute": "readonly",
672
+ "reflect": false,
673
+ "defaultValue": "false"
674
+ },
675
+ "required": {
676
+ "type": "boolean",
677
+ "mutable": false,
678
+ "complexType": {
679
+ "original": "boolean",
680
+ "resolved": "boolean",
681
+ "references": {}
682
+ },
683
+ "required": false,
684
+ "optional": false,
685
+ "docs": {
686
+ "tags": [],
687
+ "text": "If `true`, the user must fill in a value before submitting a form."
688
+ },
689
+ "attribute": "required",
690
+ "reflect": false,
691
+ "defaultValue": "false"
692
+ },
693
+ "spellcheck": {
694
+ "type": "boolean",
695
+ "mutable": false,
696
+ "complexType": {
697
+ "original": "boolean",
698
+ "resolved": "boolean",
699
+ "references": {}
700
+ },
701
+ "required": false,
702
+ "optional": false,
703
+ "docs": {
704
+ "tags": [],
705
+ "text": "If `true`, the element will have its spelling and grammar checked."
706
+ },
707
+ "attribute": "spellcheck",
708
+ "reflect": false,
709
+ "defaultValue": "false"
710
+ },
711
+ "cols": {
712
+ "type": "number",
713
+ "mutable": false,
714
+ "complexType": {
715
+ "original": "number",
716
+ "resolved": "number | undefined",
717
+ "references": {}
718
+ },
719
+ "required": false,
720
+ "optional": true,
721
+ "docs": {
722
+ "tags": [],
723
+ "text": "The visible width of the text control, in average character widths. If it is specified, it must be a positive integer."
724
+ },
725
+ "attribute": "cols",
726
+ "reflect": true
727
+ },
728
+ "rows": {
729
+ "type": "number",
730
+ "mutable": false,
731
+ "complexType": {
732
+ "original": "number",
733
+ "resolved": "number | undefined",
734
+ "references": {}
735
+ },
736
+ "required": false,
737
+ "optional": true,
738
+ "docs": {
739
+ "tags": [],
740
+ "text": "The number of visible text lines for the control."
741
+ },
742
+ "attribute": "rows",
743
+ "reflect": false
744
+ },
745
+ "wrap": {
746
+ "type": "string",
747
+ "mutable": false,
748
+ "complexType": {
749
+ "original": "'hard' | 'soft' | 'off'",
750
+ "resolved": "\"hard\" | \"off\" | \"soft\" | undefined",
751
+ "references": {}
752
+ },
753
+ "required": false,
754
+ "optional": true,
755
+ "docs": {
756
+ "tags": [],
757
+ "text": "Indicates how the control wraps text."
758
+ },
759
+ "attribute": "wrap",
760
+ "reflect": false
761
+ },
762
+ "autoGrow": {
763
+ "type": "boolean",
764
+ "mutable": false,
765
+ "complexType": {
766
+ "original": "boolean",
767
+ "resolved": "boolean",
768
+ "references": {}
769
+ },
770
+ "required": false,
771
+ "optional": false,
772
+ "docs": {
773
+ "tags": [],
774
+ "text": "If `true`, the textarea container will grow and shrink based\non the contents of the textarea."
775
+ },
776
+ "attribute": "auto-grow",
777
+ "reflect": true,
778
+ "defaultValue": "false"
779
+ },
780
+ "value": {
781
+ "type": "string",
782
+ "mutable": true,
783
+ "complexType": {
784
+ "original": "string | null",
785
+ "resolved": "null | string | undefined",
786
+ "references": {}
787
+ },
788
+ "required": false,
789
+ "optional": true,
790
+ "docs": {
791
+ "tags": [],
792
+ "text": "The value of the textarea."
793
+ },
794
+ "attribute": "value",
795
+ "reflect": false,
796
+ "defaultValue": "''"
797
+ },
798
+ "counter": {
799
+ "type": "boolean",
800
+ "mutable": false,
801
+ "complexType": {
802
+ "original": "boolean",
803
+ "resolved": "boolean",
804
+ "references": {}
805
+ },
806
+ "required": false,
807
+ "optional": false,
808
+ "docs": {
809
+ "tags": [],
810
+ "text": "If `true`, a character counter will display the ratio of characters used and the total character limit.\nDevelopers must also set the `maxlength` property for the counter to be calculated correctly."
811
+ },
812
+ "attribute": "counter",
813
+ "reflect": false,
814
+ "defaultValue": "false"
815
+ },
816
+ "counterFormatter": {
817
+ "type": "unknown",
818
+ "mutable": false,
819
+ "complexType": {
820
+ "original": "(inputLength: number, maxLength: number) => string",
821
+ "resolved": "((inputLength: number, maxLength: number) => string) | undefined",
822
+ "references": {}
823
+ },
824
+ "required": false,
825
+ "optional": true,
826
+ "docs": {
827
+ "tags": [],
828
+ "text": "A callback used to format the counter text.\nBy default the counter text is set to \"itemLength / maxLength\"."
829
+ }
830
+ },
831
+ "errorText": {
832
+ "type": "string",
833
+ "mutable": false,
834
+ "complexType": {
835
+ "original": "string",
836
+ "resolved": "string | undefined",
837
+ "references": {}
838
+ },
839
+ "required": false,
840
+ "optional": true,
841
+ "docs": {
842
+ "tags": [],
843
+ "text": "Text that is placed under the textarea and displayed when an error is detected."
844
+ },
845
+ "attribute": "error-text",
846
+ "reflect": false
847
+ },
848
+ "helperText": {
849
+ "type": "string",
850
+ "mutable": false,
851
+ "complexType": {
852
+ "original": "string",
853
+ "resolved": "string | undefined",
854
+ "references": {}
855
+ },
856
+ "required": false,
857
+ "optional": true,
858
+ "docs": {
859
+ "tags": [],
860
+ "text": "Text that is placed under the textarea and displayed when no error is detected."
861
+ },
862
+ "attribute": "helper-text",
863
+ "reflect": false
864
+ },
865
+ "label": {
866
+ "type": "string",
867
+ "mutable": false,
868
+ "complexType": {
869
+ "original": "string",
870
+ "resolved": "string | undefined",
871
+ "references": {}
872
+ },
873
+ "required": false,
874
+ "optional": true,
875
+ "docs": {
876
+ "tags": [],
877
+ "text": "The visible label associated with the textarea.\n\nUse this if you need to render a plaintext label.\n\nThe `label` property will take priority over the `label` slot if both are used."
878
+ },
879
+ "attribute": "label",
880
+ "reflect": false
881
+ },
882
+ "labelPlacement": {
883
+ "type": "string",
884
+ "mutable": false,
885
+ "complexType": {
886
+ "original": "'start' | 'end' | 'floating' | 'stacked' | 'fixed'",
887
+ "resolved": "\"end\" | \"fixed\" | \"floating\" | \"stacked\" | \"start\"",
888
+ "references": {}
889
+ },
890
+ "required": false,
891
+ "optional": false,
892
+ "docs": {
893
+ "tags": [],
894
+ "text": "Where to place the label relative to the textarea.\n`\"start\"`: The label will appear to the left of the textarea in LTR and to the right in RTL.\n`\"end\"`: The label will appear to the right of the textarea in LTR and to the left in RTL.\n`\"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.\n`\"stacked\"`: The label will appear smaller and above the textarea regardless even when the textarea is blurred or has no value.\n`\"fixed\"`: The label has the same behavior as `\"start\"` except it also has a fixed width. Long text will be truncated with ellipses (\"...\")."
895
+ },
896
+ "attribute": "label-placement",
897
+ "reflect": false,
898
+ "defaultValue": "'start'"
899
+ },
900
+ "legacy": {
901
+ "type": "boolean",
902
+ "mutable": false,
903
+ "complexType": {
904
+ "original": "boolean",
905
+ "resolved": "boolean | undefined",
906
+ "references": {}
907
+ },
908
+ "required": false,
909
+ "optional": true,
910
+ "docs": {
911
+ "tags": [],
912
+ "text": "Set the `legacy` property to `true` to forcibly use the legacy form control markup.\nIonic will only opt components in to the modern form markup when they are\nusing either the `aria-label` attribute or the default slot that contains\nthe label text. As a result, the `legacy` property should only be used as\nan escape hatch when you want to avoid this automatic opt-in behavior.\nNote that this property will be removed in an upcoming major release\nof Ionic, and all form components will be opted-in to using the modern form markup."
913
+ },
914
+ "attribute": "legacy",
915
+ "reflect": false
916
+ },
917
+ "shape": {
918
+ "type": "string",
919
+ "mutable": false,
920
+ "complexType": {
921
+ "original": "'round'",
922
+ "resolved": "\"round\" | undefined",
923
+ "references": {}
924
+ },
925
+ "required": false,
926
+ "optional": true,
927
+ "docs": {
928
+ "tags": [],
929
+ "text": "The shape of the textarea. If \"round\" it will have an increased border radius."
930
+ },
931
+ "attribute": "shape",
932
+ "reflect": false
1033
933
  }
1034
- },
1035
- "return": "Promise<void>"
1036
- },
1037
- "docs": {
1038
- "text": "Sets focus on the native `textarea` in `ion-textarea`. Use this method instead of the global\n`textarea.focus()`.",
1039
- "tags": []
1040
- }
1041
- },
1042
- "getInputElement": {
1043
- "complexType": {
1044
- "signature": "() => Promise<HTMLTextAreaElement>",
1045
- "parameters": [],
1046
- "references": {
1047
- "Promise": {
1048
- "location": "global",
1049
- "id": "global::Promise"
934
+ };
935
+ }
936
+ static get states() {
937
+ return {
938
+ "hasFocus": {}
939
+ };
940
+ }
941
+ static get events() {
942
+ return [{
943
+ "method": "ionChange",
944
+ "name": "ionChange",
945
+ "bubbles": true,
946
+ "cancelable": true,
947
+ "composed": true,
948
+ "docs": {
949
+ "tags": [],
950
+ "text": "The `ionChange` event is fired when the user modifies the textarea's value.\nUnlike the `ionInput` event, the `ionChange` event is fired when\nthe element loses focus after its value has been modified."
951
+ },
952
+ "complexType": {
953
+ "original": "TextareaChangeEventDetail",
954
+ "resolved": "TextareaChangeEventDetail",
955
+ "references": {
956
+ "TextareaChangeEventDetail": {
957
+ "location": "import",
958
+ "path": "./textarea-interface",
959
+ "id": "src/components/textarea/textarea-interface.ts::TextareaChangeEventDetail"
960
+ }
961
+ }
962
+ }
963
+ }, {
964
+ "method": "ionInput",
965
+ "name": "ionInput",
966
+ "bubbles": true,
967
+ "cancelable": true,
968
+ "composed": true,
969
+ "docs": {
970
+ "tags": [],
971
+ "text": "The `ionInput` event is fired each time the user modifies the textarea's value.\nUnlike the `ionChange` event, the `ionInput` event is fired for each alteration\nto the textarea's value. This typically happens for each keystroke as the user types.\n\nWhen `clearOnEdit` is enabled, the `ionInput` event will be fired when\nthe user clears the textarea by performing a keydown event."
972
+ },
973
+ "complexType": {
974
+ "original": "TextareaInputEventDetail",
975
+ "resolved": "TextareaInputEventDetail",
976
+ "references": {
977
+ "TextareaInputEventDetail": {
978
+ "location": "import",
979
+ "path": "./textarea-interface",
980
+ "id": "src/components/textarea/textarea-interface.ts::TextareaInputEventDetail"
981
+ }
982
+ }
983
+ }
984
+ }, {
985
+ "method": "ionStyle",
986
+ "name": "ionStyle",
987
+ "bubbles": true,
988
+ "cancelable": true,
989
+ "composed": true,
990
+ "docs": {
991
+ "tags": [{
992
+ "name": "internal",
993
+ "text": undefined
994
+ }],
995
+ "text": "Emitted when the styles change."
996
+ },
997
+ "complexType": {
998
+ "original": "StyleEventDetail",
999
+ "resolved": "StyleEventDetail",
1000
+ "references": {
1001
+ "StyleEventDetail": {
1002
+ "location": "import",
1003
+ "path": "../../interface",
1004
+ "id": "src/interface.d.ts::StyleEventDetail"
1005
+ }
1006
+ }
1007
+ }
1008
+ }, {
1009
+ "method": "ionBlur",
1010
+ "name": "ionBlur",
1011
+ "bubbles": true,
1012
+ "cancelable": true,
1013
+ "composed": true,
1014
+ "docs": {
1015
+ "tags": [],
1016
+ "text": "Emitted when the input loses focus."
1017
+ },
1018
+ "complexType": {
1019
+ "original": "FocusEvent",
1020
+ "resolved": "FocusEvent",
1021
+ "references": {
1022
+ "FocusEvent": {
1023
+ "location": "global",
1024
+ "id": "global::FocusEvent"
1025
+ }
1026
+ }
1027
+ }
1028
+ }, {
1029
+ "method": "ionFocus",
1030
+ "name": "ionFocus",
1031
+ "bubbles": true,
1032
+ "cancelable": true,
1033
+ "composed": true,
1034
+ "docs": {
1035
+ "tags": [],
1036
+ "text": "Emitted when the input has focus."
1037
+ },
1038
+ "complexType": {
1039
+ "original": "FocusEvent",
1040
+ "resolved": "FocusEvent",
1041
+ "references": {
1042
+ "FocusEvent": {
1043
+ "location": "global",
1044
+ "id": "global::FocusEvent"
1045
+ }
1046
+ }
1047
+ }
1048
+ }];
1049
+ }
1050
+ static get methods() {
1051
+ return {
1052
+ "setFocus": {
1053
+ "complexType": {
1054
+ "signature": "() => Promise<void>",
1055
+ "parameters": [],
1056
+ "references": {
1057
+ "Promise": {
1058
+ "location": "global",
1059
+ "id": "global::Promise"
1060
+ }
1061
+ },
1062
+ "return": "Promise<void>"
1063
+ },
1064
+ "docs": {
1065
+ "text": "Sets focus on the native `textarea` in `ion-textarea`. Use this method instead of the global\n`textarea.focus()`.\n\nSee [managing focus](/docs/developing/managing-focus) for more information.",
1066
+ "tags": []
1067
+ }
1050
1068
  },
1051
- "HTMLTextAreaElement": {
1052
- "location": "global",
1053
- "id": "global::HTMLTextAreaElement"
1069
+ "getInputElement": {
1070
+ "complexType": {
1071
+ "signature": "() => Promise<HTMLTextAreaElement>",
1072
+ "parameters": [],
1073
+ "references": {
1074
+ "Promise": {
1075
+ "location": "global",
1076
+ "id": "global::Promise"
1077
+ },
1078
+ "HTMLTextAreaElement": {
1079
+ "location": "global",
1080
+ "id": "global::HTMLTextAreaElement"
1081
+ }
1082
+ },
1083
+ "return": "Promise<HTMLTextAreaElement>"
1084
+ },
1085
+ "docs": {
1086
+ "text": "Returns the native `<textarea>` element used under the hood.",
1087
+ "tags": []
1088
+ }
1054
1089
  }
1055
- },
1056
- "return": "Promise<HTMLTextAreaElement>"
1057
- },
1058
- "docs": {
1059
- "text": "Returns the native `<textarea>` element used under the hood.",
1060
- "tags": []
1061
- }
1062
- }
1063
- };
1064
- }
1065
- static get elementRef() { return "el"; }
1066
- static get watchers() {
1067
- return [{
1068
- "propName": "debounce",
1069
- "methodName": "debounceChanged"
1070
- }, {
1071
- "propName": "disabled",
1072
- "methodName": "disabledChanged"
1073
- }, {
1074
- "propName": "value",
1075
- "methodName": "valueChanged"
1076
- }];
1077
- }
1090
+ };
1091
+ }
1092
+ static get elementRef() { return "el"; }
1093
+ static get watchers() {
1094
+ return [{
1095
+ "propName": "debounce",
1096
+ "methodName": "debounceChanged"
1097
+ }, {
1098
+ "propName": "disabled",
1099
+ "methodName": "disabledChanged"
1100
+ }, {
1101
+ "propName": "value",
1102
+ "methodName": "valueChanged"
1103
+ }];
1104
+ }
1078
1105
  }
1079
1106
  let textareaIds = 0;