@ionic/core 7.5.8-dev.11701448395.18799530 → 7.5.8-dev.11701788142.11dcb825

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 (330) hide show
  1. package/components/ion-input.js +21 -2
  2. package/components/ion-refresher-content.js +3 -10
  3. package/components/ion-refresher.js +183 -4
  4. package/components/ion-searchbar.js +2 -0
  5. package/components/ion-textarea.js +25 -2
  6. package/dist/cjs/{app-globals-28656db1.js → app-globals-0af482c7.js} +1 -1
  7. package/dist/cjs/{button-active-75b38d77.js → button-active-417ccdcb.js} +1 -1
  8. package/dist/cjs/{index-097270a3.js → index-5cbb20f9.js} +1 -1
  9. package/dist/cjs/{index-b0102f48.js → index-bbb4336c.js} +39 -1
  10. package/dist/cjs/{index-cb3e0ab7.js → index-d4c2e02c.js} +3 -3
  11. package/dist/cjs/index.cjs.js +7 -7
  12. package/dist/cjs/ion-accordion_2.cjs.entry.js +2 -2
  13. package/dist/cjs/ion-action-sheet.cjs.entry.js +4 -4
  14. package/dist/cjs/ion-alert.cjs.entry.js +4 -4
  15. package/dist/cjs/ion-app_8.cjs.entry.js +4 -4
  16. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  17. package/dist/cjs/ion-back-button.cjs.entry.js +2 -2
  18. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
  19. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +2 -2
  20. package/dist/cjs/ion-button_2.cjs.entry.js +2 -2
  21. package/dist/cjs/ion-card_5.cjs.entry.js +2 -2
  22. package/dist/cjs/ion-checkbox.cjs.entry.js +2 -2
  23. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  24. package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
  25. package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
  26. package/dist/cjs/ion-datetime_3.cjs.entry.js +3 -3
  27. package/dist/cjs/ion-fab_3.cjs.entry.js +2 -2
  28. package/dist/cjs/ion-img.cjs.entry.js +2 -2
  29. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
  30. package/dist/cjs/ion-input.cjs.entry.js +23 -4
  31. package/dist/cjs/ion-item-option_3.cjs.entry.js +2 -2
  32. package/dist/cjs/ion-item_8.cjs.entry.js +2 -2
  33. package/dist/cjs/ion-loading.cjs.entry.js +3 -3
  34. package/dist/cjs/ion-menu_3.cjs.entry.js +4 -4
  35. package/dist/cjs/ion-modal.cjs.entry.js +4 -4
  36. package/dist/cjs/ion-nav_2.cjs.entry.js +3 -3
  37. package/dist/cjs/ion-picker-column-internal.cjs.entry.js +2 -2
  38. package/dist/cjs/ion-picker-internal.cjs.entry.js +1 -1
  39. package/dist/cjs/ion-popover.cjs.entry.js +4 -4
  40. package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
  41. package/dist/cjs/ion-radio_2.cjs.entry.js +2 -2
  42. package/dist/cjs/ion-range.cjs.entry.js +2 -2
  43. package/dist/cjs/ion-refresher_2.cjs.entry.js +14 -30
  44. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  45. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
  46. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  47. package/dist/cjs/ion-searchbar.cjs.entry.js +4 -2
  48. package/dist/cjs/ion-segment_2.cjs.entry.js +2 -2
  49. package/dist/cjs/ion-select_3.cjs.entry.js +3 -3
  50. package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
  51. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  52. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +2 -2
  53. package/dist/cjs/ion-tab_2.cjs.entry.js +1 -1
  54. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  55. package/dist/cjs/ion-textarea.cjs.entry.js +27 -4
  56. package/dist/cjs/ion-toast.cjs.entry.js +3 -3
  57. package/dist/cjs/ion-toggle.cjs.entry.js +2 -2
  58. package/dist/cjs/{ionic-global-62510d64.js → ionic-global-f4a2093b.js} +1 -1
  59. package/dist/cjs/ionic.cjs.js +4 -4
  60. package/dist/cjs/{ios.transition-d9c0e4fb.js → ios.transition-a4ffb5a2.js} +2 -2
  61. package/dist/cjs/loader.cjs.js +3 -3
  62. package/dist/cjs/{md.transition-4fac8a87.js → md.transition-292abe1c.js} +2 -2
  63. package/dist/cjs/{overlays-b1471172.js → overlays-5c379703.js} +1 -1
  64. package/dist/cjs/{status-tap-0aa8e1f2.js → status-tap-415acac6.js} +1 -1
  65. package/dist/collection/collection-manifest.json +1 -1
  66. package/dist/collection/components/input/input.js +23 -4
  67. package/dist/collection/components/input/test/clear-on-edit/input.e2e.js +21 -9
  68. package/dist/collection/components/refresher/refresher.utils.js +10 -20
  69. package/dist/collection/components/refresher-content/refresher-content.js +3 -9
  70. package/dist/collection/components/searchbar/searchbar.js +3 -1
  71. package/dist/collection/components/textarea/test/clear-on-edit/textarea.e2e.js +28 -0
  72. package/dist/collection/components/textarea/textarea.js +27 -4
  73. package/dist/docs.json +7 -7
  74. package/dist/esm/{app-globals-c23144fc.js → app-globals-722340c4.js} +1 -1
  75. package/dist/esm/{button-active-7013b5a1.js → button-active-3fdf3e4f.js} +1 -1
  76. package/dist/esm/{index-39329c6f.js → index-08d686eb.js} +39 -1
  77. package/dist/esm/{index-7a818ed3.js → index-80492ed3.js} +1 -1
  78. package/dist/esm/{index-bebaae5d.js → index-d8817fb0.js} +3 -3
  79. package/dist/esm/index.js +7 -7
  80. package/dist/esm/ion-accordion_2.entry.js +2 -2
  81. package/dist/esm/ion-action-sheet.entry.js +4 -4
  82. package/dist/esm/ion-alert.entry.js +4 -4
  83. package/dist/esm/ion-app_8.entry.js +4 -4
  84. package/dist/esm/ion-avatar_3.entry.js +2 -2
  85. package/dist/esm/ion-back-button.entry.js +2 -2
  86. package/dist/esm/ion-backdrop.entry.js +2 -2
  87. package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
  88. package/dist/esm/ion-button_2.entry.js +2 -2
  89. package/dist/esm/ion-card_5.entry.js +2 -2
  90. package/dist/esm/ion-checkbox.entry.js +2 -2
  91. package/dist/esm/ion-chip.entry.js +2 -2
  92. package/dist/esm/ion-col_3.entry.js +2 -2
  93. package/dist/esm/ion-datetime-button.entry.js +2 -2
  94. package/dist/esm/ion-datetime_3.entry.js +3 -3
  95. package/dist/esm/ion-fab_3.entry.js +2 -2
  96. package/dist/esm/ion-img.entry.js +2 -2
  97. package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
  98. package/dist/esm/ion-input.entry.js +23 -4
  99. package/dist/esm/ion-item-option_3.entry.js +2 -2
  100. package/dist/esm/ion-item_8.entry.js +2 -2
  101. package/dist/esm/ion-loading.entry.js +3 -3
  102. package/dist/esm/ion-menu_3.entry.js +4 -4
  103. package/dist/esm/ion-modal.entry.js +4 -4
  104. package/dist/esm/ion-nav_2.entry.js +3 -3
  105. package/dist/esm/ion-picker-column-internal.entry.js +2 -2
  106. package/dist/esm/ion-picker-internal.entry.js +1 -1
  107. package/dist/esm/ion-popover.entry.js +4 -4
  108. package/dist/esm/ion-progress-bar.entry.js +2 -2
  109. package/dist/esm/ion-radio_2.entry.js +2 -2
  110. package/dist/esm/ion-range.entry.js +2 -2
  111. package/dist/esm/ion-refresher_2.entry.js +14 -30
  112. package/dist/esm/ion-reorder_2.entry.js +2 -2
  113. package/dist/esm/ion-ripple-effect.entry.js +2 -2
  114. package/dist/esm/ion-route_4.entry.js +2 -2
  115. package/dist/esm/ion-searchbar.entry.js +4 -2
  116. package/dist/esm/ion-segment_2.entry.js +2 -2
  117. package/dist/esm/ion-select_3.entry.js +3 -3
  118. package/dist/esm/ion-spinner.entry.js +2 -2
  119. package/dist/esm/ion-split-pane.entry.js +2 -2
  120. package/dist/esm/ion-tab-bar_2.entry.js +2 -2
  121. package/dist/esm/ion-tab_2.entry.js +1 -1
  122. package/dist/esm/ion-text.entry.js +2 -2
  123. package/dist/esm/ion-textarea.entry.js +27 -4
  124. package/dist/esm/ion-toast.entry.js +3 -3
  125. package/dist/esm/ion-toggle.entry.js +2 -2
  126. package/dist/esm/{ionic-global-6c78e871.js → ionic-global-c0cda98e.js} +1 -1
  127. package/dist/esm/ionic.js +5 -5
  128. package/dist/esm/{ios.transition-daa373e9.js → ios.transition-fd16bec1.js} +2 -2
  129. package/dist/esm/loader.js +4 -4
  130. package/dist/esm/{md.transition-91c3d3cc.js → md.transition-94ac93e1.js} +2 -2
  131. package/dist/esm/{overlays-64e67e2c.js → overlays-abf58489.js} +1 -1
  132. package/dist/esm/{status-tap-9dd45200.js → status-tap-2b93b1b5.js} +1 -1
  133. package/dist/esm-es5/app-globals-722340c4.js +4 -0
  134. package/dist/esm-es5/{button-active-7013b5a1.js → button-active-3fdf3e4f.js} +1 -1
  135. package/dist/esm-es5/{index-39329c6f.js → index-08d686eb.js} +1 -1
  136. package/dist/esm-es5/{index-7a818ed3.js → index-80492ed3.js} +1 -1
  137. package/dist/esm-es5/{index-bebaae5d.js → index-d8817fb0.js} +1 -1
  138. package/dist/esm-es5/index.js +1 -1
  139. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  140. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  141. package/dist/esm-es5/ion-alert.entry.js +1 -1
  142. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  143. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  144. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  145. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  146. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  147. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  148. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  149. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  150. package/dist/esm-es5/ion-chip.entry.js +1 -1
  151. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  152. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  153. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  154. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  155. package/dist/esm-es5/ion-img.entry.js +1 -1
  156. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  157. package/dist/esm-es5/ion-input.entry.js +1 -1
  158. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  159. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  160. package/dist/esm-es5/ion-loading.entry.js +1 -1
  161. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  162. package/dist/esm-es5/ion-modal.entry.js +1 -1
  163. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  164. package/dist/esm-es5/ion-picker-column-internal.entry.js +1 -1
  165. package/dist/esm-es5/ion-picker-internal.entry.js +1 -1
  166. package/dist/esm-es5/ion-popover.entry.js +1 -1
  167. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  168. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  169. package/dist/esm-es5/ion-range.entry.js +1 -1
  170. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  171. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  172. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  173. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  174. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  175. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  176. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  177. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  178. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  179. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  180. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  181. package/dist/esm-es5/ion-text.entry.js +1 -1
  182. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  183. package/dist/esm-es5/ion-toast.entry.js +1 -1
  184. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  185. package/dist/esm-es5/{ionic-global-6c78e871.js → ionic-global-c0cda98e.js} +1 -1
  186. package/dist/esm-es5/ionic.js +1 -1
  187. package/dist/esm-es5/{ios.transition-daa373e9.js → ios.transition-fd16bec1.js} +1 -1
  188. package/dist/esm-es5/loader.js +1 -1
  189. package/dist/esm-es5/{md.transition-91c3d3cc.js → md.transition-94ac93e1.js} +1 -1
  190. package/dist/esm-es5/{overlays-64e67e2c.js → overlays-abf58489.js} +1 -1
  191. package/dist/esm-es5/{status-tap-9dd45200.js → status-tap-2b93b1b5.js} +1 -1
  192. package/dist/html.html-data.json +2 -2
  193. package/dist/ionic/index.esm.js +1 -1
  194. package/dist/ionic/ionic.esm.js +1 -1
  195. package/dist/ionic/ionic.js +1 -1
  196. package/dist/ionic/{p-46dbd723.entry.js → p-0519cd21.entry.js} +1 -1
  197. package/dist/ionic/p-08f196ce.system.entry.js +4 -0
  198. package/dist/ionic/p-093033ee.entry.js +4 -0
  199. package/dist/ionic/{p-f34d6a49.entry.js → p-0add7211.entry.js} +1 -1
  200. package/dist/ionic/{p-e8e530fc.entry.js → p-0b1bc636.entry.js} +1 -1
  201. package/dist/ionic/{p-a0945c3a.system.entry.js → p-0e53f8ea.system.entry.js} +1 -1
  202. package/dist/ionic/{p-161d0916.entry.js → p-1161a793.entry.js} +1 -1
  203. package/dist/ionic/{p-89026d53.entry.js → p-1208f939.entry.js} +1 -1
  204. package/dist/ionic/p-1786bc72.js +4 -0
  205. package/dist/ionic/{p-312221db.entry.js → p-17da5ed1.entry.js} +1 -1
  206. package/dist/ionic/p-17f893be.js +4 -0
  207. package/dist/ionic/{p-83fada9e.system.entry.js → p-18b6bd23.system.entry.js} +1 -1
  208. package/dist/ionic/{p-5fb707e0.entry.js → p-18ba8221.entry.js} +1 -1
  209. package/dist/ionic/{p-d1530ea9.entry.js → p-1d17219f.entry.js} +1 -1
  210. package/dist/ionic/{p-1ff22253.entry.js → p-2092f39f.entry.js} +1 -1
  211. package/dist/ionic/{p-2507b0c0.entry.js → p-25b32c3d.entry.js} +1 -1
  212. package/dist/ionic/{p-b81a8111.system.entry.js → p-2938823a.system.entry.js} +1 -1
  213. package/dist/ionic/{p-df361680.system.entry.js → p-2ab4e925.system.entry.js} +1 -1
  214. package/dist/ionic/{p-45db7949.system.entry.js → p-2ba0657d.system.entry.js} +1 -1
  215. package/dist/ionic/{p-0263eb49.system.js → p-30029cc2.system.js} +1 -1
  216. package/dist/ionic/{p-ac4a7fc0.js → p-31158892.js} +1 -1
  217. package/dist/ionic/{p-18032a93.entry.js → p-34c39c48.entry.js} +1 -1
  218. package/dist/ionic/p-350f7292.system.entry.js +4 -0
  219. package/dist/ionic/{p-86c2bbc8.entry.js → p-353b349d.entry.js} +1 -1
  220. package/dist/ionic/{p-bc97b5cd.system.entry.js → p-3b686a65.system.entry.js} +1 -1
  221. package/dist/ionic/{p-33f3cd49.entry.js → p-3de71759.entry.js} +1 -1
  222. package/dist/ionic/{p-f0384573.system.entry.js → p-3e960213.system.entry.js} +1 -1
  223. package/dist/ionic/{p-a3a145d3.entry.js → p-3f6270b3.entry.js} +1 -1
  224. package/dist/ionic/{p-23a27e78.system.entry.js → p-3fd37993.system.entry.js} +1 -1
  225. package/dist/ionic/{p-426bdba9.system.js → p-3fe96156.system.js} +1 -1
  226. package/dist/ionic/{p-e26030f8.system.js → p-4155f352.system.js} +1 -1
  227. package/dist/ionic/p-4890093d.js +4 -0
  228. package/dist/ionic/{p-5f46d93e.entry.js → p-4a31c99f.entry.js} +1 -1
  229. package/dist/ionic/{p-2cd9cb80.system.entry.js → p-4fb51e61.system.entry.js} +1 -1
  230. package/dist/ionic/{p-71d986ae.entry.js → p-50880712.entry.js} +1 -1
  231. package/dist/ionic/{p-d3e123c0.entry.js → p-51a087d6.entry.js} +1 -1
  232. package/dist/ionic/{p-aac289d2.system.entry.js → p-564af202.system.entry.js} +1 -1
  233. package/dist/ionic/{p-abab375b.system.js → p-57477107.system.js} +1 -1
  234. package/dist/ionic/p-588fdf40.entry.js +4 -0
  235. package/dist/ionic/{p-a5c81b99.entry.js → p-5a68960f.entry.js} +1 -1
  236. package/dist/ionic/{p-34d6f520.system.js → p-5b365ca7.system.js} +1 -1
  237. package/dist/ionic/{p-eef8d7e8.system.entry.js → p-5bebc7b3.system.entry.js} +1 -1
  238. package/dist/ionic/{p-21f015cf.js → p-5ecae037.js} +1 -1
  239. package/dist/ionic/{p-06600f70.js → p-61d7d7fb.js} +1 -1
  240. package/dist/ionic/{p-2657f213.entry.js → p-6470b136.entry.js} +1 -1
  241. package/dist/ionic/{p-5f127075.system.entry.js → p-6577aea9.system.entry.js} +1 -1
  242. package/dist/ionic/{p-d0251fc4.entry.js → p-67da080d.entry.js} +1 -1
  243. package/dist/ionic/{p-2a7e6572.system.entry.js → p-6ad34705.system.entry.js} +1 -1
  244. package/dist/ionic/{p-1cbc21e2.system.entry.js → p-6e70dd1a.system.entry.js} +1 -1
  245. package/dist/ionic/{p-64af4468.entry.js → p-6fbecbda.entry.js} +1 -1
  246. package/dist/ionic/{p-0827d00e.system.entry.js → p-73637557.system.entry.js} +1 -1
  247. package/dist/ionic/{p-fcf49977.system.entry.js → p-73ea8f82.system.entry.js} +1 -1
  248. package/dist/ionic/{p-57c0d5bf.system.entry.js → p-7b8d0af2.system.entry.js} +1 -1
  249. package/dist/ionic/{p-315ad733.system.entry.js → p-7faba551.system.entry.js} +1 -1
  250. package/dist/ionic/{p-bbe3feee.entry.js → p-80fa068e.entry.js} +1 -1
  251. package/dist/ionic/{p-b11ceee2.entry.js → p-82045bc1.entry.js} +1 -1
  252. package/dist/ionic/{p-8c202d6e.system.entry.js → p-868d0165.system.entry.js} +1 -1
  253. package/dist/ionic/{p-ee4a54e3.entry.js → p-88fde0e0.entry.js} +1 -1
  254. package/dist/ionic/{p-67598744.entry.js → p-8f5d30f5.entry.js} +1 -1
  255. package/dist/ionic/{p-edc5c693.system.entry.js → p-908475e7.system.entry.js} +1 -1
  256. package/dist/ionic/{p-3acad8ff.system.entry.js → p-93000a81.system.entry.js} +1 -1
  257. package/dist/ionic/{p-2ac9d078.system.entry.js → p-94389114.system.entry.js} +1 -1
  258. package/dist/ionic/{p-a0db3de9.system.entry.js → p-9709ebd8.system.entry.js} +1 -1
  259. package/dist/ionic/{p-12cdcb59.js → p-9738fd82.js} +1 -1
  260. package/dist/ionic/{p-6cf08720.entry.js → p-98b14ece.entry.js} +1 -1
  261. package/dist/ionic/{p-a70b5d24.entry.js → p-98f3d827.entry.js} +1 -1
  262. package/dist/ionic/{p-58dd7c15.entry.js → p-9c3b6849.entry.js} +1 -1
  263. package/dist/ionic/{p-93dac17a.system.entry.js → p-9eec42cc.system.entry.js} +1 -1
  264. package/dist/ionic/{p-89cfbc88.system.entry.js → p-a0126dd5.system.entry.js} +1 -1
  265. package/dist/ionic/{p-70ecb18b.entry.js → p-a1987850.entry.js} +1 -1
  266. package/dist/ionic/{p-53a3283e.entry.js → p-a4afcc88.entry.js} +1 -1
  267. package/dist/ionic/{p-27e6473f.entry.js → p-a6f9dd7b.entry.js} +1 -1
  268. package/dist/ionic/{p-99fe0543.entry.js → p-a98dc0c1.entry.js} +1 -1
  269. package/dist/ionic/{p-90db28f8.system.entry.js → p-a9e3b5be.system.entry.js} +1 -1
  270. package/dist/ionic/{p-a843a90e.system.entry.js → p-ab9456e9.system.entry.js} +1 -1
  271. package/dist/ionic/p-ad019ef0.entry.js +4 -0
  272. package/dist/ionic/{p-ad78c421.system.js → p-af5cfad2.system.js} +1 -1
  273. package/dist/ionic/{p-a1b4dba7.entry.js → p-b04e4d62.entry.js} +1 -1
  274. package/dist/ionic/{p-1631b52f.system.js → p-b0dc1cf9.system.js} +1 -1
  275. package/dist/ionic/{p-98ac0e27.system.entry.js → p-b3b3efba.system.entry.js} +2 -2
  276. package/dist/ionic/{p-58ff9e5b.system.js → p-b4a51c42.system.js} +1 -1
  277. package/dist/ionic/{p-b5e33ebc.system.entry.js → p-b4bad293.system.entry.js} +1 -1
  278. package/dist/ionic/{p-3cb5466e.entry.js → p-b5f9f14c.entry.js} +1 -1
  279. package/dist/ionic/{p-b0fcf130.system.entry.js → p-b6f5e4f2.system.entry.js} +1 -1
  280. package/dist/ionic/{p-7ae5ca1f.system.entry.js → p-b7010c69.system.entry.js} +1 -1
  281. package/dist/ionic/{p-a99f14a7.system.entry.js → p-b752714f.system.entry.js} +1 -1
  282. package/dist/ionic/{p-f444fea5.entry.js → p-c3289ef2.entry.js} +1 -1
  283. package/dist/ionic/{p-acdd8148.js → p-c3c3333a.js} +1 -1
  284. package/dist/ionic/{p-5a7d5905.system.entry.js → p-c3d09cf2.system.entry.js} +1 -1
  285. package/dist/ionic/{p-8261be6c.system.entry.js → p-c847fb35.system.entry.js} +1 -1
  286. package/dist/ionic/{p-e3c44332.system.entry.js → p-c91ccbfa.system.entry.js} +1 -1
  287. package/dist/ionic/{p-9f376964.system.entry.js → p-c9a21dfd.system.entry.js} +1 -1
  288. package/dist/ionic/{p-ad953217.system.entry.js → p-caf21b46.system.entry.js} +1 -1
  289. package/dist/ionic/{p-19545a49.system.entry.js → p-cce9f61a.system.entry.js} +1 -1
  290. package/dist/ionic/{p-1c6c6098.entry.js → p-cfe57b1b.entry.js} +1 -1
  291. package/dist/ionic/p-cff478d8.entry.js +4 -0
  292. package/dist/ionic/{p-742e11cf.system.entry.js → p-d1cb29a8.system.entry.js} +1 -1
  293. package/dist/ionic/{p-c04accad.entry.js → p-d37b441e.entry.js} +1 -1
  294. package/dist/ionic/{p-f8c5a0dd.system.js → p-d3b030b8.system.js} +1 -1
  295. package/dist/ionic/{p-3f5ae764.entry.js → p-d40a974a.entry.js} +1 -1
  296. package/dist/ionic/{p-91f9e81b.js → p-d662d908.js} +1 -1
  297. package/dist/ionic/{p-41f7af3f.system.entry.js → p-d7be6b7e.system.entry.js} +1 -1
  298. package/dist/ionic/{p-3535a36c.entry.js → p-ddb30596.entry.js} +1 -1
  299. package/dist/ionic/{p-c5ae50be.system.js → p-e3584231.system.js} +1 -1
  300. package/dist/ionic/p-e4d90573.js +4 -0
  301. package/dist/ionic/{p-ca32685b.system.entry.js → p-e553006f.system.entry.js} +1 -1
  302. package/dist/ionic/{p-27a5f2c7.system.entry.js → p-e6d68e02.system.entry.js} +1 -1
  303. package/dist/ionic/{p-8a75f7bf.system.entry.js → p-e7ea9815.system.entry.js} +1 -1
  304. package/dist/ionic/{p-8a10752d.entry.js → p-e94c392d.entry.js} +1 -1
  305. package/dist/ionic/p-ea69616e.entry.js +4 -0
  306. package/dist/ionic/{p-4f71a9cf.system.entry.js → p-ef126ae8.system.entry.js} +1 -1
  307. package/dist/ionic/{p-f10de9d5.system.js → p-f2c21dae.system.js} +1 -1
  308. package/dist/ionic/{p-7484b1d6.system.js → p-f7a36cd0.system.js} +1 -1
  309. package/dist/ionic/{p-e4045e04.entry.js → p-f8a5bb89.entry.js} +1 -1
  310. package/dist/types/components/input/input.d.ts +5 -1
  311. package/dist/types/components/refresher/refresher.utils.d.ts +0 -17
  312. package/dist/types/components/searchbar/searchbar.d.ts +2 -0
  313. package/dist/types/components/textarea/textarea.d.ts +5 -1
  314. package/dist/types/components.d.ts +7 -7
  315. package/hydrate/index.d.ts +1 -1
  316. package/hydrate/index.js +61 -33
  317. package/package.json +2 -2
  318. package/components/refresher.utils.js +0 -198
  319. package/dist/esm-es5/app-globals-c23144fc.js +0 -4
  320. package/dist/ionic/p-079eb722.system.entry.js +0 -4
  321. package/dist/ionic/p-405f1a72.entry.js +0 -4
  322. package/dist/ionic/p-5c7f13cd.system.entry.js +0 -4
  323. package/dist/ionic/p-6744eca5.entry.js +0 -4
  324. package/dist/ionic/p-af959b5d.entry.js +0 -4
  325. package/dist/ionic/p-b8f2134e.js +0 -4
  326. package/dist/ionic/p-c53c8d83.entry.js +0 -4
  327. package/dist/ionic/p-cde72008.js +0 -4
  328. package/dist/ionic/p-ddccf1f4.js +0 -4
  329. package/dist/ionic/p-e145b9f9.entry.js +0 -4
  330. package/dist/ionic/p-eab6401e.js +0 -4
@@ -5,12 +5,12 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-b0102f48.js');
8
+ const index = require('./index-bbb4336c.js');
9
9
  const cubicBezier = require('./cubic-bezier-f2dccc53.js');
10
10
  const index$1 = require('./index-da15e99c.js');
11
11
  const helpers = require('./helpers-76bb7efb.js');
12
12
  const haptic = require('./haptic-216df36c.js');
13
- const ionicGlobal = require('./ionic-global-62510d64.js');
13
+ const ionicGlobal = require('./ionic-global-f4a2093b.js');
14
14
  const animation = require('./animation-cc40e39c.js');
15
15
  const config = require('./config-4f60b98a.js');
16
16
  const index$2 = require('./index-09471526.js');
@@ -176,25 +176,6 @@ const translateElement = (el, value, duration = 200) => {
176
176
  };
177
177
  // Utils
178
178
  // -----------------------------
179
- /**
180
- * In order to use the native iOS refresher the device must support rubber band scrolling.
181
- * The ios + mobile platform check ensures that desktop Safari is not included. Desktop Safari
182
- * has a slightly different rubber band effect that is not compatible with the native refresher
183
- * in Ionic.
184
- *
185
- * We also need to be careful not to include devices that spoof their user agent.
186
- * For example, when using iOS emulation in Chrome the user agent will be spoofed such that
187
- * isPlatform('ios') and isPlatform('mobile') both return true. To work around this,
188
- * we check to see if the apple-pay-logo is supported as a named image which is only
189
- * true on Apple devices.
190
- *
191
- * We previously checked referencEl.style.webkitOverflowScrolling to explicitly check
192
- * for rubber band support. However, this property was removed on iPadOS and it's possible
193
- * that this will be removed on iOS in the future too.
194
- */
195
- const supportsRubberBandScrolling = () => {
196
- return (ionicGlobal.isPlatform('ios') && ionicGlobal.isPlatform('mobile') && CSS.supports('background: -webkit-named-image(apple-pay-logo-black)'));
197
- };
198
179
  const shouldUseNativeRefresher = async (referenceEl, mode) => {
199
180
  const refresherContent = referenceEl.querySelector('ion-refresher-content');
200
181
  if (!refresherContent) {
@@ -205,7 +186,16 @@ const shouldUseNativeRefresher = async (referenceEl, mode) => {
205
186
  const refreshingSpinner = referenceEl.querySelector('ion-refresher-content .refresher-refreshing ion-spinner');
206
187
  return (pullingSpinner !== null &&
207
188
  refreshingSpinner !== null &&
208
- ((mode === 'ios' && supportsRubberBandScrolling()) || mode === 'md'));
189
+ /**
190
+ * We use webkitOverflowScrolling for feature detection with rubber band scrolling
191
+ * on iOS. When doing referenceEl.style, webkitOverflowScrolling is undefined on non-iOS platforms.
192
+ * However, it will be the empty string on iOS.
193
+ * Note that we do not use getPropertyValue (and thus need to cast as any) because calling
194
+ * getPropertyValue('-webkit-overflow-scrolling') will return the empty string if it is not
195
+ * set on the element, even if the platform does not support that.
196
+ */
197
+ ((mode === 'ios' && ionicGlobal.isPlatform('mobile') && referenceEl.style.webkitOverflowScrolling !== undefined) ||
198
+ mode === 'md'));
209
199
  };
210
200
 
211
201
  const refresherIosCss = "ion-refresher{top:0;display:none;position:absolute;width:100%;height:60px;pointer-events:none;z-index:-1}@supports (inset-inline-start: 0){ion-refresher{inset-inline-start:0}}@supports not (inset-inline-start: 0){ion-refresher{left:0}:host-context([dir=rtl]) ion-refresher{left:unset;right:unset;right:0}[dir=rtl] ion-refresher{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){ion-refresher:dir(rtl){left:unset;right:unset;right:0}}}ion-refresher.refresher-active{display:block}ion-refresher-content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.refresher-pulling,.refresher-refreshing{display:none;width:100%}.refresher-pulling-icon,.refresher-refreshing-icon{-webkit-transform-origin:center;transform-origin:center;-webkit-transition:200ms;transition:200ms;font-size:30px;text-align:center}:host-context([dir=rtl]) .refresher-pulling-icon,:host-context([dir=rtl]) .refresher-refreshing-icon{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}[dir=rtl] .refresher-pulling-icon,[dir=rtl] .refresher-refreshing-icon{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}@supports selector(:dir(rtl)){.refresher-pulling-icon:dir(rtl),.refresher-refreshing-icon:dir(rtl){-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}}.refresher-pulling-text,.refresher-refreshing-text{font-size:16px;text-align:center}ion-refresher-content .arrow-container{display:none}.refresher-pulling ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.refresher-refreshing ion-refresher-content .refresher-refreshing{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling-icon{-webkit-transform:scale(0);transform:scale(0)}.refresher-completing ion-refresher-content .refresher-refreshing{display:block}.refresher-completing ion-refresher-content .refresher-refreshing-icon{-webkit-transform:scale(0);transform:scale(0)}.refresher-native .refresher-pulling-text,.refresher-native .refresher-refreshing-text{display:none}.refresher-ios .refresher-pulling-icon,.refresher-ios .refresher-refreshing-icon{color:var(--ion-text-color, #000)}.refresher-ios .refresher-pulling-text,.refresher-ios .refresher-refreshing-text{color:var(--ion-text-color, #000)}.refresher-ios .refresher-refreshing .spinner-lines-ios line,.refresher-ios .refresher-refreshing .spinner-lines-small-ios line,.refresher-ios .refresher-refreshing .spinner-crescent circle{stroke:var(--ion-text-color, #000)}.refresher-ios .refresher-refreshing .spinner-bubbles circle,.refresher-ios .refresher-refreshing .spinner-circles circle,.refresher-ios .refresher-refreshing .spinner-dots circle{fill:var(--ion-text-color, #000)}ion-refresher.refresher-native{display:block;z-index:1}ion-refresher.refresher-native ion-spinner{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0}.refresher-native .refresher-refreshing ion-spinner{--refreshing-rotation-duration:2s;display:none;-webkit-animation:var(--refreshing-rotation-duration) ease-out refresher-rotate forwards;animation:var(--refreshing-rotation-duration) ease-out refresher-rotate forwards}.refresher-native .refresher-refreshing{display:none;-webkit-animation:250ms linear refresher-pop forwards;animation:250ms linear refresher-pop forwards}.refresher-native ion-spinner{width:32px;height:32px;color:var(--ion-color-step-450, #747577)}.refresher-native.refresher-refreshing .refresher-pulling ion-spinner,.refresher-native.refresher-completing .refresher-pulling ion-spinner{display:none}.refresher-native.refresher-refreshing .refresher-refreshing ion-spinner,.refresher-native.refresher-completing .refresher-refreshing ion-spinner{display:block}.refresher-native.refresher-pulling .refresher-pulling ion-spinner{display:block}.refresher-native.refresher-pulling .refresher-refreshing ion-spinner{display:none}.refresher-native.refresher-completing ion-refresher-content .refresher-refreshing-icon{-webkit-transform:scale(0) rotate(180deg);transform:scale(0) rotate(180deg);-webkit-transition:300ms;transition:300ms}@-webkit-keyframes refresher-pop{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}50%{-webkit-transform:scale(1.2);transform:scale(1.2);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes refresher-pop{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}50%{-webkit-transform:scale(1.2);transform:scale(1.2);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes refresher-rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(180deg);transform:rotate(180deg)}}@keyframes refresher-rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(180deg);transform:rotate(180deg)}}";
@@ -833,15 +823,9 @@ const RefresherContent = class {
833
823
  }
834
824
  componentWillLoad() {
835
825
  if (this.pullingIcon === undefined) {
836
- /**
837
- * The native iOS refresher uses a spinner instead of
838
- * an icon, so we need to see if this device supports
839
- * the native iOS refresher.
840
- */
841
- const hasRubberBandScrolling = supportsRubberBandScrolling();
842
826
  const mode = ionicGlobal.getIonMode(this);
843
- const overflowRefresher = hasRubberBandScrolling ? 'lines' : index$2.arrowDown;
844
- this.pullingIcon = ionicGlobal.config.get('refreshingIcon', mode === 'ios' && hasRubberBandScrolling ? ionicGlobal.config.get('spinner', overflowRefresher) : 'circular');
827
+ const overflowRefresher = this.el.style.webkitOverflowScrolling !== undefined ? 'lines' : index$2.arrowDown;
828
+ this.pullingIcon = ionicGlobal.config.get('refreshingIcon', mode === 'ios' && ionicGlobal.isPlatform('mobile') ? ionicGlobal.config.get('spinner', overflowRefresher) : 'circular');
845
829
  }
846
830
  if (this.refreshingSpinner === undefined) {
847
831
  const mode = ionicGlobal.getIonMode(this);
@@ -5,9 +5,9 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-b0102f48.js');
8
+ const index = require('./index-bbb4336c.js');
9
9
  const index$1 = require('./index-09471526.js');
10
- const ionicGlobal = require('./ionic-global-62510d64.js');
10
+ const ionicGlobal = require('./ionic-global-f4a2093b.js');
11
11
  const index$2 = require('./index-da15e99c.js');
12
12
  const helpers = require('./helpers-76bb7efb.js');
13
13
  const haptic = require('./haptic-216df36c.js');
@@ -5,8 +5,8 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-b0102f48.js');
9
- const ionicGlobal = require('./ionic-global-62510d64.js');
8
+ const index = require('./index-bbb4336c.js');
9
+ const ionicGlobal = require('./ionic-global-f4a2093b.js');
10
10
 
11
11
  const rippleEffectCss = ":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:strict;pointer-events:none}:host(.unbounded){contain:layout size style}.ripple-effect{border-radius:50%;position:absolute;background-color:currentColor;color:inherit;contain:strict;opacity:0;-webkit-animation:225ms rippleAnimation forwards, 75ms fadeInAnimation forwards;animation:225ms rippleAnimation forwards, 75ms fadeInAnimation forwards;will-change:transform, opacity;pointer-events:none}.fade-out{-webkit-transform:translate(var(--translate-end)) scale(var(--final-scale, 1));transform:translate(var(--translate-end)) scale(var(--final-scale, 1));-webkit-animation:150ms fadeOutAnimation forwards;animation:150ms fadeOutAnimation forwards}@-webkit-keyframes rippleAnimation{from{-webkit-animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:translate(var(--translate-end)) scale(var(--final-scale, 1));transform:translate(var(--translate-end)) scale(var(--final-scale, 1))}}@keyframes rippleAnimation{from{-webkit-animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:translate(var(--translate-end)) scale(var(--final-scale, 1));transform:translate(var(--translate-end)) scale(var(--final-scale, 1))}}@-webkit-keyframes fadeInAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:0.16}}@keyframes fadeInAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:0.16}}@-webkit-keyframes fadeOutAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0.16}to{opacity:0}}@keyframes fadeOutAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0.16}to{opacity:0}}";
12
12
 
@@ -5,10 +5,10 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-b0102f48.js');
8
+ const index = require('./index-bbb4336c.js');
9
9
  const helpers = require('./helpers-76bb7efb.js');
10
10
  const theme = require('./theme-d1c573d2.js');
11
- const ionicGlobal = require('./ionic-global-62510d64.js');
11
+ const ionicGlobal = require('./ionic-global-f4a2093b.js');
12
12
 
13
13
  const Route = class {
14
14
  constructor(hostRef) {
@@ -5,12 +5,12 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-b0102f48.js');
8
+ const index = require('./index-bbb4336c.js');
9
9
  const helpers = require('./helpers-76bb7efb.js');
10
10
  const dir = require('./dir-94c21456.js');
11
11
  const theme = require('./theme-d1c573d2.js');
12
12
  const index$1 = require('./index-09471526.js');
13
- const ionicGlobal = require('./ionic-global-62510d64.js');
13
+ const ionicGlobal = require('./ionic-global-f4a2093b.js');
14
14
 
15
15
  const searchbarIosCss = ".sc-ion-searchbar-ios-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:0.6;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);-webkit-box-sizing:border-box;box-sizing:border-box}.ion-color.sc-ion-searchbar-ios-h{color:var(--ion-color-contrast)}.ion-color.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{background:var(--ion-color-base)}.ion-color.sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios,.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.ion-color.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{color:inherit}.searchbar-search-icon.sc-ion-searchbar-ios{color:var(--icon-color);pointer-events:none}.searchbar-input-container.sc-ion-searchbar-ios{display:block;position:relative;-ms-flex-negative:1;flex-shrink:1;width:100%}.searchbar-input.sc-ion-searchbar-ios{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;border-radius:var(--border-radius);display:block;width:100%;min-height:inherit;border:0;outline:none;background:var(--background);font-family:inherit;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-input.sc-ion-searchbar-ios::-webkit-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::-moz-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios:-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::-webkit-search-cancel-button,.searchbar-input.sc-ion-searchbar-ios::-ms-clear{display:none}.searchbar-cancel-button.sc-ion-searchbar-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:none;height:100%;border:0;outline:none;color:var(--cancel-button-color);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-cancel-button.sc-ion-searchbar-ios>div.sc-ion-searchbar-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.searchbar-clear-button.sc-ion-searchbar-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:none;min-height:0;outline:none;color:var(--clear-button-color);-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-clear-button.sc-ion-searchbar-ios:focus{opacity:0.5}.searchbar-has-value.searchbar-should-show-clear.sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios{display:block}.searchbar-disabled.sc-ion-searchbar-ios-h{cursor:default;opacity:0.4;pointer-events:none}.sc-ion-searchbar-ios-h{--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.07);--border-radius:10px;--box-shadow:none;--cancel-button-color:var(--ion-color-primary, #3880ff);--clear-button-color:var(--ion-color-step-600, #666666);--color:var(--ion-text-color, #000);--icon-color:var(--ion-color-step-600, #666666);-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:12px;padding-bottom:12px;min-height:60px;contain:content}.searchbar-input-container.sc-ion-searchbar-ios{min-height:36px}.searchbar-search-icon.sc-ion-searchbar-ios{-webkit-margin-start:calc(50% - 60px);margin-inline-start:calc(50% - 60px);top:0;position:absolute;width:1.375rem;height:100%;contain:strict}@supports (inset-inline-start: 0){.searchbar-search-icon.sc-ion-searchbar-ios{inset-inline-start:5px}}@supports not (inset-inline-start: 0){.searchbar-search-icon.sc-ion-searchbar-ios{left:5px}[dir=rtl].sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,[dir=rtl] .sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{left:unset;right:unset;right:5px}[dir=rtl].sc-ion-searchbar-ios .searchbar-search-icon.sc-ion-searchbar-ios{left:unset;right:unset;right:5px}@supports selector(:dir(rtl)){.searchbar-search-icon.sc-ion-searchbar-ios:dir(rtl){left:unset;right:unset;right:5px}}}.searchbar-input.sc-ion-searchbar-ios{-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:6px;padding-bottom:6px;height:100%;font-size:1.0625rem;font-weight:400;contain:strict}.searchbar-has-value.searchbar-should-show-clear.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{-webkit-padding-start:1.75rem;padding-inline-start:1.75rem;-webkit-padding-end:1.75rem;padding-inline-end:1.75rem}.searchbar-clear-button.sc-ion-searchbar-ios{top:0;background-position:center;position:absolute;width:1.875rem;height:100%;border:0;background-color:transparent}@supports (inset-inline-start: 0){.searchbar-clear-button.sc-ion-searchbar-ios{inset-inline-end:0}}@supports not (inset-inline-start: 0){.searchbar-clear-button.sc-ion-searchbar-ios{right:0}[dir=rtl].sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios,[dir=rtl] .sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios{left:unset;right:unset;left:0}[dir=rtl].sc-ion-searchbar-ios .searchbar-clear-button.sc-ion-searchbar-ios{left:unset;right:unset;left:0}@supports selector(:dir(rtl)){.searchbar-clear-button.sc-ion-searchbar-ios:dir(rtl){left:unset;right:unset;left:0}}}.searchbar-clear-icon.sc-ion-searchbar-ios{width:1.125rem;height:100%}.searchbar-cancel-button.sc-ion-searchbar-ios{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:0;padding-inline-end:0;padding-top:0;padding-bottom:0;-ms-flex-negative:0;flex-shrink:0;background-color:transparent;font-size:16px}.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{-webkit-margin-start:0;margin-inline-start:0}.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{-webkit-padding-start:1.875rem;padding-inline-start:1.875rem}.searchbar-has-focus.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-should-show-cancel.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{display:block}.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{-webkit-transition:all 300ms ease;transition:all 300ms ease}.searchbar-animated.searchbar-has-focus.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-animated.searchbar-should-show-cancel.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{opacity:1;pointer-events:auto}.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{-webkit-margin-end:-100%;margin-inline-end:-100%;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-transition:all 300ms ease;transition:all 300ms ease;opacity:0;pointer-events:none}.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios,.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{-webkit-transition-duration:0ms;transition-duration:0ms}.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{color:var(--ion-color-base)}@media (any-hover: hover){.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios:hover{color:var(--ion-color-tint)}}ion-toolbar.sc-ion-searchbar-ios-h,ion-toolbar .sc-ion-searchbar-ios-h{padding-top:1px;padding-bottom:15px;min-height:52px}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color),ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color){color:inherit}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-cancel-button.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-cancel-button.sc-ion-searchbar-ios{color:currentColor}ion-toolbar.ion-color.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{color:currentColor;opacity:0.5}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-input.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-input.sc-ion-searchbar-ios{background:rgba(var(--ion-color-contrast-rgb), 0.07);color:currentColor}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-clear-button.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-clear-button.sc-ion-searchbar-ios{color:currentColor;opacity:0.5}";
16
16
 
@@ -193,6 +193,8 @@ const Searchbar = class {
193
193
  *
194
194
  * Developers who wish to focus an input when an overlay is presented
195
195
  * should call `setFocus` after `didPresent` has resolved.
196
+ *
197
+ * See [managing focus](/docs/developing/managing-focus) for more information.
196
198
  */
197
199
  async setFocus() {
198
200
  if (this.nativeInput) {
@@ -5,11 +5,11 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-b0102f48.js');
8
+ const index = require('./index-bbb4336c.js');
9
9
  const helpers = require('./helpers-76bb7efb.js');
10
10
  const dir = require('./dir-94c21456.js');
11
11
  const theme = require('./theme-d1c573d2.js');
12
- const ionicGlobal = require('./ionic-global-62510d64.js');
12
+ const ionicGlobal = require('./ionic-global-f4a2093b.js');
13
13
 
14
14
  const segmentIosCss = ":host{--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:grid;grid-auto-columns:1fr;position:relative;-ms-flex-align:stretch;align-items:stretch;-ms-flex-pack:center;justify-content:center;width:100%;background:var(--background);font-family:var(--ion-font-family, inherit);text-align:center;contain:paint;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host(.segment-scrollable){-ms-flex-pack:start;justify-content:start;width:auto;overflow-x:auto;grid-auto-columns:minmax(-webkit-min-content, 1fr);grid-auto-columns:minmax(min-content, 1fr)}:host(.segment-scrollable::-webkit-scrollbar){display:none}:host{--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.065);border-radius:8px;overflow:hidden;z-index:0}:host(.ion-color){background:rgba(var(--ion-color-base-rgb), 0.065)}:host(.in-toolbar){-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;width:auto}:host(.in-toolbar:not(.ion-color)){background:var(--ion-toolbar-segment-background, var(--background))}:host(.in-toolbar-color:not(.ion-color)){background:rgba(var(--ion-color-contrast-rgb), 0.11)}";
15
15
 
@@ -5,17 +5,17 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-b0102f48.js');
8
+ const index = require('./index-bbb4336c.js');
9
9
  const formController = require('./form-controller-7d42a722.js');
10
10
  const notchController = require('./notch-controller-1dce508a.js');
11
11
  const helpers = require('./helpers-76bb7efb.js');
12
12
  const index$1 = require('./index-5915f9b3.js');
13
- const overlays = require('./overlays-b1471172.js');
13
+ const overlays = require('./overlays-5c379703.js');
14
14
  const dir = require('./dir-94c21456.js');
15
15
  const theme = require('./theme-d1c573d2.js');
16
16
  const watchOptions = require('./watch-options-f5f3e158.js');
17
17
  const index$2 = require('./index-09471526.js');
18
- const ionicGlobal = require('./ionic-global-62510d64.js');
18
+ const ionicGlobal = require('./ionic-global-f4a2093b.js');
19
19
  require('./index-306a7476.js');
20
20
  require('./framework-delegate-1c29b14a.js');
21
21
  require('./hardware-back-button-76833cac.js');
@@ -5,9 +5,9 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-b0102f48.js');
8
+ const index = require('./index-bbb4336c.js');
9
9
  const theme = require('./theme-d1c573d2.js');
10
- const ionicGlobal = require('./ionic-global-62510d64.js');
10
+ const ionicGlobal = require('./ionic-global-f4a2093b.js');
11
11
  const spinnerConfigs = require('./spinner-configs-282fd50a.js');
12
12
 
13
13
  const spinnerCss = ":host{display:inline-block;position:relative;width:28px;height:28px;color:var(--color);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host(.ion-color){color:var(--ion-color-base)}svg{-webkit-transform-origin:center;transform-origin:center;position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transform:translateZ(0);transform:translateZ(0)}:host-context([dir=rtl]) svg{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}[dir=rtl] svg{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}@supports selector(:dir(rtl)){svg:dir(rtl){-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}}:host(.spinner-lines) line,:host(.spinner-lines-small) line{stroke-width:7px}:host(.spinner-lines-sharp) line,:host(.spinner-lines-sharp-small) line{stroke-width:4px}:host(.spinner-lines) line,:host(.spinner-lines-small) line,:host(.spinner-lines-sharp) line,:host(.spinner-lines-sharp-small) line{stroke-linecap:round;stroke:currentColor}:host(.spinner-lines) svg,:host(.spinner-lines-small) svg,:host(.spinner-lines-sharp) svg,:host(.spinner-lines-sharp-small) svg{-webkit-animation:spinner-fade-out 1s linear infinite;animation:spinner-fade-out 1s linear infinite}:host(.spinner-bubbles) svg{-webkit-animation:spinner-scale-out 1s linear infinite;animation:spinner-scale-out 1s linear infinite;fill:currentColor}:host(.spinner-circles) svg{-webkit-animation:spinner-fade-out 1s linear infinite;animation:spinner-fade-out 1s linear infinite;fill:currentColor}:host(.spinner-crescent) circle{fill:transparent;stroke-width:4px;stroke-dasharray:128px;stroke-dashoffset:82px;stroke:currentColor}:host(.spinner-crescent) svg{-webkit-animation:spinner-rotate 1s linear infinite;animation:spinner-rotate 1s linear infinite}:host(.spinner-dots) circle{stroke-width:0;fill:currentColor}:host(.spinner-dots) svg{-webkit-animation:spinner-dots 1s linear infinite;animation:spinner-dots 1s linear infinite}:host(.spinner-circular) svg{-webkit-animation:spinner-circular linear infinite;animation:spinner-circular linear infinite}:host(.spinner-circular) circle{-webkit-animation:spinner-circular-inner ease-in-out infinite;animation:spinner-circular-inner ease-in-out infinite;stroke:currentColor;stroke-dasharray:80px, 200px;stroke-dashoffset:0px;stroke-width:5.6;fill:none}:host(.spinner-paused),:host(.spinner-paused) svg,:host(.spinner-paused) circle{-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes spinner-fade-out{0%{opacity:1}100%{opacity:0}}@keyframes spinner-fade-out{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes spinner-scale-out{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1)}100%{-webkit-transform:scale(0, 0);transform:scale(0, 0)}}@keyframes spinner-scale-out{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1)}100%{-webkit-transform:scale(0, 0);transform:scale(0, 0)}}@-webkit-keyframes spinner-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes spinner-dots{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}50%{-webkit-transform:scale(0.4, 0.4);transform:scale(0.4, 0.4);opacity:0.3}100%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}}@keyframes spinner-dots{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}50%{-webkit-transform:scale(0.4, 0.4);transform:scale(0.4, 0.4);opacity:0.3}100%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}}@-webkit-keyframes spinner-circular{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-circular{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes spinner-circular-inner{0%{stroke-dasharray:1px, 200px;stroke-dashoffset:0px}50%{stroke-dasharray:100px, 200px;stroke-dashoffset:-15px}100%{stroke-dasharray:100px, 200px;stroke-dashoffset:-125px}}@keyframes spinner-circular-inner{0%{stroke-dasharray:1px, 200px;stroke-dashoffset:0px}50%{stroke-dasharray:100px, 200px;stroke-dashoffset:-15px}100%{stroke-dasharray:100px, 200px;stroke-dashoffset:-125px}}";
@@ -5,8 +5,8 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-b0102f48.js');
9
- const ionicGlobal = require('./ionic-global-62510d64.js');
8
+ const index = require('./index-bbb4336c.js');
9
+ const ionicGlobal = require('./ionic-global-f4a2093b.js');
10
10
 
11
11
  const splitPaneIosCss = ":host{--side-width:100%;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:nowrap;flex-wrap:nowrap;contain:strict}::slotted(ion-menu.menu-pane-visible){-ms-flex:0 1 auto;flex:0 1 auto;width:var(--side-width);min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.split-pane-visible) ::slotted(.split-pane-side),:host(.split-pane-visible) ::slotted(.split-pane-main){left:0;right:0;top:0;bottom:0;position:relative;-webkit-box-shadow:none !important;box-shadow:none !important;z-index:0}:host(.split-pane-visible) ::slotted(.split-pane-main){-ms-flex:1;flex:1}:host(.split-pane-visible) ::slotted(.split-pane-side:not(ion-menu)),:host(.split-pane-visible) ::slotted(ion-menu.split-pane-side.menu-enabled){display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}::slotted(.split-pane-side:not(ion-menu)){display:none}:host(.split-pane-visible) ::slotted(.split-pane-side){-ms-flex-order:-1;order:-1}:host(.split-pane-visible) ::slotted(.split-pane-side[side=end]){-ms-flex-order:1;order:1}:host{--border:0.55px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)));--side-min-width:270px;--side-max-width:28%}:host(.split-pane-visible) ::slotted(.split-pane-side){-webkit-border-start:0;border-inline-start:0;-webkit-border-end:var(--border);border-inline-end:var(--border);border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.split-pane-visible) ::slotted(.split-pane-side[side=end]){-webkit-border-start:var(--border);border-inline-start:var(--border);-webkit-border-end:0;border-inline-end:0;border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}";
12
12
 
@@ -5,10 +5,10 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-b0102f48.js');
8
+ const index = require('./index-bbb4336c.js');
9
9
  const keyboardController = require('./keyboard-controller-2158b478.js');
10
10
  const theme = require('./theme-d1c573d2.js');
11
- const ionicGlobal = require('./ionic-global-62510d64.js');
11
+ const ionicGlobal = require('./ionic-global-f4a2093b.js');
12
12
  const helpers = require('./helpers-76bb7efb.js');
13
13
  require('./index-306a7476.js');
14
14
  require('./keyboard-9390928c.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-b0102f48.js');
8
+ const index = require('./index-bbb4336c.js');
9
9
  const frameworkDelegate = require('./framework-delegate-1c29b14a.js');
10
10
  require('./helpers-76bb7efb.js');
11
11
 
@@ -5,9 +5,9 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-b0102f48.js');
8
+ const index = require('./index-bbb4336c.js');
9
9
  const theme = require('./theme-d1c573d2.js');
10
- const ionicGlobal = require('./ionic-global-62510d64.js');
10
+ const ionicGlobal = require('./ionic-global-f4a2093b.js');
11
11
 
12
12
  const textCss = ":host(.ion-color){color:var(--ion-color-base)}";
13
13
 
@@ -5,14 +5,14 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-b0102f48.js');
8
+ const index = require('./index-bbb4336c.js');
9
9
  const formController = require('./form-controller-7d42a722.js');
10
10
  const notchController = require('./notch-controller-1dce508a.js');
11
11
  const helpers = require('./helpers-76bb7efb.js');
12
12
  const index$1 = require('./index-5915f9b3.js');
13
13
  const input_utils = require('./input.utils-2a11c1fe.js');
14
14
  const theme = require('./theme-d1c573d2.js');
15
- const ionicGlobal = require('./ionic-global-62510d64.js');
15
+ const ionicGlobal = require('./ionic-global-f4a2093b.js');
16
16
  require('./index-306a7476.js');
17
17
 
18
18
  const textareaIosCss = ".sc-ion-textarea-ios-h{--background:initial;--color:initial;--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:0.6;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;--border-radius:0;--border-style:solid;--highlight-color-focused:var(--ion-color-primary, #3880ff);--highlight-color-valid:var(--ion-color-success, #2dd36f);--highlight-color-invalid:var(--ion-color-danger, #eb445a);--highlight-color:var(--highlight-color-focused);display:block;position:relative;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);z-index:2;-webkit-box-sizing:border-box;box-sizing:border-box}.sc-ion-textarea-ios-h:not(.legacy-textarea){min-height:44px}.textarea-label-placement-floating.sc-ion-textarea-ios-h,.textarea-label-placement-stacked.sc-ion-textarea-ios-h{--padding-top:0px;min-height:56px}[cols].sc-ion-textarea-ios-h:not([auto-grow]){width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.legacy-textarea.sc-ion-textarea-ios-h{-ms-flex:1;flex:1;background:var(--background);white-space:pre-wrap}.legacy-textarea.ion-color.sc-ion-textarea-ios-h{color:var(--ion-color-base)}.sc-ion-textarea-ios-h:not(.legacy-textarea){--padding-bottom:8px}.ion-color.sc-ion-textarea-ios-h{--highlight-color-focused:var(--ion-color-base);background:initial}ion-item.sc-ion-textarea-ios-h,ion-item .sc-ion-textarea-ios-h{-ms-flex-item-align:baseline;align-self:baseline}ion-item.sc-ion-textarea-ios-h:not(.item-label),ion-item:not(.item-label) .sc-ion-textarea-ios-h{--padding-start:0}ion-item[slot=start].sc-ion-textarea-ios-h,ion-item [slot=start].sc-ion-textarea-ios-h,ion-item[slot=end].sc-ion-textarea-ios-h,ion-item [slot=end].sc-ion-textarea-ios-h{width:auto}.native-textarea.sc-ion-textarea-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:block;position:relative;-ms-flex:1;flex:1;width:100%;max-width:100%;max-height:100%;border:0;outline:none;background:transparent;white-space:pre-wrap;z-index:1;-webkit-box-sizing:border-box;box-sizing:border-box;resize:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.native-textarea.sc-ion-textarea-ios::-webkit-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-ios::-moz-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-ios:-ms-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-ios::-ms-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-ios::placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.legacy-textarea.sc-ion-textarea-ios-h .native-textarea.sc-ion-textarea-ios{white-space:inherit}.legacy-textarea.sc-ion-textarea-ios-h .native-textarea.sc-ion-textarea-ios,.legacy-textarea.sc-ion-textarea-ios-h .textarea-legacy-wrapper.sc-ion-textarea-ios::after{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);border-radius:var(--border-radius)}.native-textarea.sc-ion-textarea-ios{color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;grid-area:1/1/2/2;word-break:break-word}.legacy-textarea.sc-ion-textarea-ios-h .textarea-legacy-wrapper.sc-ion-textarea-ios::after{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;grid-area:1/1/2/2;word-break:break-word}.cloned-input.sc-ion-textarea-ios{top:0;bottom:0;position:absolute;pointer-events:none}@supports (inset-inline-start: 0){.cloned-input.sc-ion-textarea-ios{inset-inline-start:0}}@supports not (inset-inline-start: 0){.cloned-input.sc-ion-textarea-ios{left:0}[dir=rtl].sc-ion-textarea-ios-h .cloned-input.sc-ion-textarea-ios,[dir=rtl] .sc-ion-textarea-ios-h .cloned-input.sc-ion-textarea-ios{left:unset;right:unset;right:0}[dir=rtl].sc-ion-textarea-ios .cloned-input.sc-ion-textarea-ios{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.cloned-input.sc-ion-textarea-ios:dir(rtl){left:unset;right:unset;right:0}}}.cloned-input.sc-ion-textarea-ios:disabled{opacity:1}.legacy-textarea[auto-grow].sc-ion-textarea-ios-h .cloned-input.sc-ion-textarea-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}[auto-grow].sc-ion-textarea-ios-h .cloned-input.sc-ion-textarea-ios{height:100%}[auto-grow].sc-ion-textarea-ios-h .native-textarea.sc-ion-textarea-ios{overflow:hidden}.item-label-floating.item-has-placeholder.sc-ion-textarea-ios-h:not(.item-has-value),.item-label-floating.item-has-placeholder:not(.item-has-value) .sc-ion-textarea-ios-h{opacity:0}.item-label-floating.item-has-placeholder.sc-ion-textarea-ios-h:not(.item-has-value).item-has-focus,.item-label-floating.item-has-placeholder:not(.item-has-value).item-has-focus .sc-ion-textarea-ios-h{-webkit-transition:opacity 0.15s cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 0.15s cubic-bezier(0.4, 0, 0.2, 1);opacity:1}.textarea-wrapper.sc-ion-textarea-ios{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:0px;padding-bottom:0px;border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:start;align-items:flex-start;height:inherit;min-height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;background:var(--background);line-height:normal}.native-wrapper.sc-ion-textarea-ios{display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;width:100%;height:100%}.has-focus.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios{caret-color:var(--highlight-color)}.native-wrapper.sc-ion-textarea-ios textarea.sc-ion-textarea-ios{-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom)}.native-wrapper.sc-ion-textarea-ios,.textarea-legacy-wrapper.sc-ion-textarea-ios{display:grid;min-width:inherit;max-width:inherit;min-height:inherit;max-height:inherit;grid-auto-rows:100%}.native-wrapper.sc-ion-textarea-ios::after,.textarea-legacy-wrapper.sc-ion-textarea-ios::after{white-space:pre-wrap;content:attr(data-replicated-value) \" \";visibility:hidden}.native-wrapper.sc-ion-textarea-ios::after{padding-left:0;padding-right:0;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;border-radius:var(--border-radius);color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;grid-area:1/1/2/2;word-break:break-word}.ion-touched.ion-invalid.sc-ion-textarea-ios-h{--highlight-color:var(--highlight-color-invalid)}.ion-valid.sc-ion-textarea-ios-h{--highlight-color:var(--highlight-color-valid)}.textarea-bottom.sc-ion-textarea-ios{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:5px;padding-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;border-top:var(--border-width) var(--border-style) var(--border-color);font-size:0.75rem}.has-focus.ion-valid.sc-ion-textarea-ios-h,.ion-touched.ion-invalid.sc-ion-textarea-ios-h{--border-color:var(--highlight-color)}.textarea-bottom.sc-ion-textarea-ios .error-text.sc-ion-textarea-ios{display:none;color:var(--highlight-color-invalid)}.textarea-bottom.sc-ion-textarea-ios .helper-text.sc-ion-textarea-ios{display:block;color:var(--ion-color-step-550, #737373)}.ion-touched.ion-invalid.sc-ion-textarea-ios-h .textarea-bottom.sc-ion-textarea-ios .error-text.sc-ion-textarea-ios{display:block}.ion-touched.ion-invalid.sc-ion-textarea-ios-h .textarea-bottom.sc-ion-textarea-ios .helper-text.sc-ion-textarea-ios{display:none}.textarea-bottom.sc-ion-textarea-ios .counter.sc-ion-textarea-ios{-webkit-margin-start:auto;margin-inline-start:auto;color:var(--ion-color-step-550, #737373);white-space:nowrap;-webkit-padding-start:16px;padding-inline-start:16px}.label-text-wrapper.sc-ion-textarea-ios{-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);max-width:200px;-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);pointer-events:none}.label-text.sc-ion-textarea-ios,.sc-ion-textarea-ios-s>[slot=label]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden.sc-ion-textarea-ios,.textarea-outline-notch-hidden.sc-ion-textarea-ios{display:none}.textarea-wrapper.sc-ion-textarea-ios textarea.sc-ion-textarea-ios{-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1)}.textarea-label-placement-start.sc-ion-textarea-ios-h .textarea-wrapper.sc-ion-textarea-ios{-ms-flex-direction:row;flex-direction:row}.textarea-label-placement-start.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}.textarea-label-placement-end.sc-ion-textarea-ios-h .textarea-wrapper.sc-ion-textarea-ios{-ms-flex-direction:row-reverse;flex-direction:row-reverse}.textarea-label-placement-end.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}.textarea-label-placement-fixed.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}.textarea-label-placement-fixed.sc-ion-textarea-ios-h .label-text.sc-ion-textarea-ios{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}.textarea-label-placement-stacked.sc-ion-textarea-ios-h .textarea-wrapper.sc-ion-textarea-ios,.textarea-label-placement-floating.sc-ion-textarea-ios-h .textarea-wrapper.sc-ion-textarea-ios{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:start}.textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-transform-origin:left top;transform-origin:left top;-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:0px;padding-bottom:0px;max-width:100%;z-index:2}[dir=rtl].sc-ion-textarea-ios-h -no-combinator.textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl] .sc-ion-textarea-ios-h -no-combinator.textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl].textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl] .textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl].sc-ion-textarea-ios-h -no-combinator.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl] .sc-ion-textarea-ios-h -no-combinator.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl].textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl] .textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){.textarea-label-placement-stacked.sc-ion-textarea-ios-h:dir(rtl) .label-text-wrapper.sc-ion-textarea-ios,.textarea-label-placement-floating.sc-ion-textarea-ios-h:dir(rtl) .label-text-wrapper.sc-ion-textarea-ios{-webkit-transform-origin:right top;transform-origin:right top}}.textarea-label-placement-stacked.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios,.textarea-label-placement-floating.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios,.textarea-label-placement-stacked[auto-grow].sc-ion-textarea-ios-h .native-wrapper.sc-ion-textarea-ios::after,.textarea-label-placement-floating[auto-grow].sc-ion-textarea-ios-h .native-wrapper.sc-ion-textarea-ios::after{-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:8px;margin-bottom:0px}.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-transform:translateY(100%) scale(1);transform:translateY(100%) scale(1)}.textarea-label-placement-floating.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios{opacity:0}.has-focus.textarea-label-placement-floating.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios,.has-value.textarea-label-placement-floating.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios{opacity:1}.textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,.has-focus.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,.has-value.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75);max-width:calc(100% / 0.75)}.sc-ion-textarea-ios-h{--border-width:0.55px;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)));--padding-top:10px;--padding-end:0px;--padding-bottom:8px;--padding-start:0px;font-size:inherit}.legacy-textarea.sc-ion-textarea-ios-h{--padding-top:10px;--padding-end:8px;--padding-bottom:10px;--padding-start:0}.item-label-stacked.sc-ion-textarea-ios-h,.item-label-stacked .sc-ion-textarea-ios-h,.item-label-floating.sc-ion-textarea-ios-h,.item-label-floating .sc-ion-textarea-ios-h{--padding-top:8px;--padding-bottom:8px;--padding-start:0px}.legacy-textarea.sc-ion-textarea-ios-h .native-textarea[disabled].sc-ion-textarea-ios,.textarea-disabled.sc-ion-textarea-ios-h{opacity:0.3}";
@@ -171,6 +171,8 @@ const Textarea = class {
171
171
  /**
172
172
  * Sets focus on the native `textarea` in `ion-textarea`. Use this method instead of the global
173
173
  * `textarea.focus()`.
174
+ *
175
+ * See [managing focus](/docs/developing/managing-focus) for more information.
174
176
  */
175
177
  async setFocus() {
176
178
  if (this.nativeInput) {
@@ -243,15 +245,36 @@ const Textarea = class {
243
245
  if (!this.clearOnEdit) {
244
246
  return;
245
247
  }
248
+ /**
249
+ * The following keys do not modify the
250
+ * contents of the input. As a result, pressing
251
+ * them should not edit the textarea.
252
+ *
253
+ * We can't check to see if the value of the textarea
254
+ * was changed because we call checkClearOnEdit
255
+ * in a keydown listener, and the key has not yet
256
+ * been added to the textarea.
257
+ *
258
+ * Unlike ion-input, the "Enter" key does modify the
259
+ * textarea by adding a new line, so "Enter" is not
260
+ * included in the IGNORED_KEYS array.
261
+ */
262
+ const IGNORED_KEYS = ['Tab', 'Shift', 'Meta', 'Alt', 'Control'];
246
263
  /**
247
264
  * Clear the textarea if the control has not been previously cleared
248
265
  * during focus.
249
266
  */
250
- if (!this.didTextareaClearOnEdit && this.hasValue() && ev.key !== 'Tab') {
267
+ if (!this.didTextareaClearOnEdit && this.hasValue() && !IGNORED_KEYS.includes(ev.key)) {
251
268
  this.value = '';
252
269
  this.emitInputChange(ev);
270
+ /**
271
+ * Only set this flag if we cleared the input.
272
+ * Otherwise pressing an IGNORED_KEYS first and
273
+ * then an allowed key will cause the input to not
274
+ * be cleared.
275
+ */
276
+ this.didTextareaClearOnEdit = true;
253
277
  }
254
- this.didTextareaClearOnEdit = true;
255
278
  }
256
279
  focusChange() {
257
280
  this.emitStyle();
@@ -5,14 +5,14 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index$2 = require('./index-b0102f48.js');
8
+ const index$2 = require('./index-bbb4336c.js');
9
9
  const config = require('./config-4f60b98a.js');
10
10
  const helpers = require('./helpers-76bb7efb.js');
11
11
  const lockController = require('./lock-controller-6585a42a.js');
12
12
  const index$1 = require('./index-5915f9b3.js');
13
- const overlays = require('./overlays-b1471172.js');
13
+ const overlays = require('./overlays-5c379703.js');
14
14
  const theme = require('./theme-d1c573d2.js');
15
- const ionicGlobal = require('./ionic-global-62510d64.js');
15
+ const ionicGlobal = require('./ionic-global-f4a2093b.js');
16
16
  const animation = require('./animation-cc40e39c.js');
17
17
  const index = require('./index-306a7476.js');
18
18
  require('./framework-delegate-1c29b14a.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-b0102f48.js');
8
+ const index = require('./index-bbb4336c.js');
9
9
  const formController = require('./form-controller-7d42a722.js');
10
10
  const helpers = require('./helpers-76bb7efb.js');
11
11
  const index$2 = require('./index-5915f9b3.js');
@@ -13,7 +13,7 @@ const haptic = require('./haptic-216df36c.js');
13
13
  const dir = require('./dir-94c21456.js');
14
14
  const theme = require('./theme-d1c573d2.js');
15
15
  const index$1 = require('./index-09471526.js');
16
- const ionicGlobal = require('./ionic-global-62510d64.js');
16
+ const ionicGlobal = require('./ionic-global-f4a2093b.js');
17
17
  require('./capacitor-46980811.js');
18
18
  require('./index-306a7476.js');
19
19
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const index = require('./index-b0102f48.js');
6
+ const index = require('./index-bbb4336c.js');
7
7
 
8
8
  // TODO(FW-2832): types
9
9
  class Config {
@@ -5,12 +5,12 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-b0102f48.js');
9
- const appGlobals = require('./app-globals-28656db1.js');
10
- require('./ionic-global-62510d64.js');
8
+ const index = require('./index-bbb4336c.js');
9
+ const appGlobals = require('./app-globals-0af482c7.js');
10
+ require('./ionic-global-f4a2093b.js');
11
11
 
12
12
  /*
13
- Stencil Client Patch Browser v4.8.0 | MIT Licensed | https://stenciljs.com
13
+ Stencil Client Patch Browser v4.8.1 | MIT Licensed | https://stenciljs.com
14
14
  */
15
15
  const patchBrowser = () => {
16
16
  const importMeta = (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('ionic.cjs.js', document.baseURI).href));
@@ -4,10 +4,10 @@
4
4
  'use strict';
5
5
 
6
6
  const animation = require('./animation-cc40e39c.js');
7
- const index = require('./index-cb3e0ab7.js');
7
+ const index = require('./index-d4c2e02c.js');
8
8
  require('./index-306a7476.js');
9
9
  require('./helpers-76bb7efb.js');
10
- require('./index-b0102f48.js');
10
+ require('./index-bbb4336c.js');
11
11
 
12
12
  const DURATION = 540;
13
13
  // TODO(FW-2832): types
@@ -5,9 +5,9 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-b0102f48.js');
9
- const appGlobals = require('./app-globals-28656db1.js');
10
- require('./ionic-global-62510d64.js');
8
+ const index = require('./index-bbb4336c.js');
9
+ const appGlobals = require('./app-globals-0af482c7.js');
10
+ require('./ionic-global-f4a2093b.js');
11
11
 
12
12
  const defineCustomElements = (win, options) => {
13
13
  if (typeof window === 'undefined') return undefined;
@@ -4,10 +4,10 @@
4
4
  'use strict';
5
5
 
6
6
  const animation = require('./animation-cc40e39c.js');
7
- const index = require('./index-cb3e0ab7.js');
7
+ const index = require('./index-d4c2e02c.js');
8
8
  require('./index-306a7476.js');
9
9
  require('./helpers-76bb7efb.js');
10
- require('./index-b0102f48.js');
10
+ require('./index-bbb4336c.js');
11
11
 
12
12
  const mdTransitionAnimation = (_, opts) => {
13
13
  var _a, _b, _c;
@@ -4,7 +4,7 @@
4
4
  'use strict';
5
5
 
6
6
  const index = require('./index-306a7476.js');
7
- const ionicGlobal = require('./ionic-global-62510d64.js');
7
+ const ionicGlobal = require('./ionic-global-f4a2093b.js');
8
8
  const frameworkDelegate = require('./framework-delegate-1c29b14a.js');
9
9
  const hardwareBackButton = require('./hardware-back-button-76833cac.js');
10
10
  const helpers = require('./helpers-76bb7efb.js');
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const index = require('./index-b0102f48.js');
6
+ const index = require('./index-bbb4336c.js');
7
7
  const index$1 = require('./index-da15e99c.js');
8
8
  const helpers = require('./helpers-76bb7efb.js');
9
9
  require('./index-5915f9b3.js');
@@ -94,7 +94,7 @@
94
94
  ],
95
95
  "compiler": {
96
96
  "name": "@stencil/core",
97
- "version": "4.8.0",
97
+ "version": "4.8.1",
98
98
  "typescriptVersion": "5.2.2"
99
99
  },
100
100
  "collections": [
@@ -198,6 +198,8 @@ export class Input {
198
198
  *
199
199
  * Developers who wish to focus an input when an overlay is presented
200
200
  * should call `setFocus` after `didPresent` has resolved.
201
+ *
202
+ * See [managing focus](/docs/developing/managing-focus) for more information.
201
203
  */
202
204
  async setFocus() {
203
205
  if (this.nativeInput) {
@@ -263,15 +265,32 @@ export class Input {
263
265
  if (!this.shouldClearOnEdit()) {
264
266
  return;
265
267
  }
268
+ /**
269
+ * The following keys do not modify the
270
+ * contents of the input. As a result, pressing
271
+ * them should not edit the input.
272
+ *
273
+ * We can't check to see if the value of the input
274
+ * was changed because we call checkClearOnEdit
275
+ * in a keydown listener, and the key has not yet
276
+ * been added to the input.
277
+ */
278
+ const IGNORED_KEYS = ['Enter', 'Tab', 'Shift', 'Meta', 'Alt', 'Control'];
266
279
  /**
267
280
  * Clear the input if the control has not been previously cleared during focus.
268
281
  * Do not clear if the user hitting enter to submit a form.
269
282
  */
270
- if (!this.didInputClearOnEdit && this.hasValue() && ev.key !== 'Enter' && ev.key !== 'Tab') {
283
+ if (!this.didInputClearOnEdit && this.hasValue() && !IGNORED_KEYS.includes(ev.key)) {
271
284
  this.value = '';
272
285
  this.emitInputChange(ev);
286
+ /**
287
+ * Only set this flag if we cleared the input.
288
+ * Otherwise pressing an IGNORED_KEYS first and
289
+ * then an allowed key will cause the input to not
290
+ * be cleared.
291
+ */
292
+ this.didInputClearOnEdit = true;
273
293
  }
274
- this.didInputClearOnEdit = true;
275
294
  }
276
295
  hasValue() {
277
296
  return this.getValue().length > 0;
@@ -560,7 +579,7 @@ Developers can dismiss this warning by removing their usage of the "legacy" prop
560
579
  "optional": false,
561
580
  "docs": {
562
581
  "tags": [],
563
- "text": "This Boolean attribute lets you specify that a form control should have input focus when the page loads."
582
+ "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."
564
583
  },
565
584
  "attribute": "autofocus",
566
585
  "reflect": false,
@@ -1221,7 +1240,7 @@ Developers can dismiss this warning by removing their usage of the "legacy" prop
1221
1240
  "return": "Promise<void>"
1222
1241
  },
1223
1242
  "docs": {
1224
- "text": "Sets focus on the native `input` in `ion-input`. Use this method instead of the global\n`input.focus()`.\n\nDevelopers who wish to focus an input when a page enters\nshould call `setFocus()` in the `ionViewDidEnter()` lifecycle method.\n\nDevelopers who wish to focus an input when an overlay is presented\nshould call `setFocus` after `didPresent` has resolved.",
1243
+ "text": "Sets focus on the native `input` in `ion-input`. Use this method instead of the global\n`input.focus()`.\n\nDevelopers who wish to focus an input when a page enters\nshould call `setFocus()` in the `ionViewDidEnter()` lifecycle method.\n\nDevelopers who wish to focus an input when an overlay is presented\nshould call `setFocus` after `didPresent` has resolved.\n\nSee [managing focus](/docs/developing/managing-focus) for more information.",
1225
1244
  "tags": []
1226
1245
  }
1227
1246
  },