@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
@@ -42,7 +42,9 @@ export declare class Textarea implements ComponentInterface {
42
42
  */
43
43
  autocapitalize: string;
44
44
  /**
45
- * This Boolean attribute lets you specify that a form control should have input focus when the page loads.
45
+ * Sets the [`autofocus` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus) on the native input element.
46
+ *
47
+ * This may not be sufficient for the element to be focused on page load. See [managing focus](/docs/developing/managing-focus) for more information.
46
48
  */
47
49
  autofocus: boolean;
48
50
  /**
@@ -214,6 +216,8 @@ export declare class Textarea implements ComponentInterface {
214
216
  /**
215
217
  * Sets focus on the native `textarea` in `ion-textarea`. Use this method instead of the global
216
218
  * `textarea.focus()`.
219
+ *
220
+ * See [managing focus](/docs/developing/managing-focus) for more information.
217
221
  */
218
222
  setFocus(): Promise<void>;
219
223
  /**
@@ -1162,7 +1162,7 @@ export namespace Components {
1162
1162
  */
1163
1163
  "autocorrect": 'on' | 'off';
1164
1164
  /**
1165
- * This Boolean attribute lets you specify that a form control should have input focus when the page loads.
1165
+ * Sets the [`autofocus` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus) on the native input element. This may not be sufficient for the element to be focused on page load. See [managing focus](/docs/developing/managing-focus) for more information.
1166
1166
  */
1167
1167
  "autofocus": boolean;
1168
1168
  /**
@@ -1274,7 +1274,7 @@ export namespace Components {
1274
1274
  */
1275
1275
  "required": boolean;
1276
1276
  /**
1277
- * Sets focus on the native `input` in `ion-input`. Use this method instead of the global `input.focus()`. Developers who wish to focus an input when a page enters should call `setFocus()` in the `ionViewDidEnter()` lifecycle method. Developers who wish to focus an input when an overlay is presented should call `setFocus` after `didPresent` has resolved.
1277
+ * Sets focus on the native `input` in `ion-input`. Use this method instead of the global `input.focus()`. Developers who wish to focus an input when a page enters should call `setFocus()` in the `ionViewDidEnter()` lifecycle method. Developers who wish to focus an input when an overlay is presented should call `setFocus` after `didPresent` has resolved. See [managing focus](/docs/developing/managing-focus) for more information.
1278
1278
  */
1279
1279
  "setFocus": () => Promise<void>;
1280
1280
  /**
@@ -2601,7 +2601,7 @@ export namespace Components {
2601
2601
  */
2602
2602
  "searchIcon"?: string;
2603
2603
  /**
2604
- * Sets focus on the native `input` in `ion-searchbar`. Use this method instead of the global `input.focus()`. Developers who wish to focus an input when a page enters should call `setFocus()` in the `ionViewDidEnter()` lifecycle method. Developers who wish to focus an input when an overlay is presented should call `setFocus` after `didPresent` has resolved.
2604
+ * Sets focus on the native `input` in `ion-searchbar`. Use this method instead of the global `input.focus()`. Developers who wish to focus an input when a page enters should call `setFocus()` in the `ionViewDidEnter()` lifecycle method. Developers who wish to focus an input when an overlay is presented should call `setFocus` after `didPresent` has resolved. See [managing focus](/docs/developing/managing-focus) for more information.
2605
2605
  */
2606
2606
  "setFocus": () => Promise<void>;
2607
2607
  /**
@@ -2950,7 +2950,7 @@ export namespace Components {
2950
2950
  */
2951
2951
  "autocapitalize": string;
2952
2952
  /**
2953
- * This Boolean attribute lets you specify that a form control should have input focus when the page loads.
2953
+ * Sets the [`autofocus` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus) on the native input element. This may not be sufficient for the element to be focused on page load. See [managing focus](/docs/developing/managing-focus) for more information.
2954
2954
  */
2955
2955
  "autofocus": boolean;
2956
2956
  /**
@@ -3050,7 +3050,7 @@ export namespace Components {
3050
3050
  */
3051
3051
  "rows"?: number;
3052
3052
  /**
3053
- * Sets focus on the native `textarea` in `ion-textarea`. Use this method instead of the global `textarea.focus()`.
3053
+ * Sets focus on the native `textarea` in `ion-textarea`. Use this method instead of the global `textarea.focus()`. See [managing focus](/docs/developing/managing-focus) for more information.
3054
3054
  */
3055
3055
  "setFocus": () => Promise<void>;
3056
3056
  /**
@@ -5821,7 +5821,7 @@ declare namespace LocalJSX {
5821
5821
  */
5822
5822
  "autocorrect"?: 'on' | 'off';
5823
5823
  /**
5824
- * This Boolean attribute lets you specify that a form control should have input focus when the page loads.
5824
+ * Sets the [`autofocus` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus) on the native input element. This may not be sufficient for the element to be focused on page load. See [managing focus](/docs/developing/managing-focus) for more information.
5825
5825
  */
5826
5826
  "autofocus"?: boolean;
5827
5827
  /**
@@ -7554,7 +7554,7 @@ declare namespace LocalJSX {
7554
7554
  */
7555
7555
  "autocapitalize"?: string;
7556
7556
  /**
7557
- * This Boolean attribute lets you specify that a form control should have input focus when the page loads.
7557
+ * Sets the [`autofocus` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus) on the native input element. This may not be sufficient for the element to be focused on page load. See [managing focus](/docs/developing/managing-focus) for more information.
7558
7558
  */
7559
7559
  "autofocus"?: boolean;
7560
7560
  /**
@@ -1,4 +1,4 @@
1
- // Generated by dts-bundle-generator v8.1.2
1
+ // Generated by dts-bundle-generator v9.0.0
2
2
 
3
3
  export declare function createWindowFromHtml(templateHtml: string, uniqueId: string): any;
4
4
  export interface HydrateDocumentOptions {
package/hydrate/index.js CHANGED
@@ -6,7 +6,7 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  /*!
9
- Stencil Mock Doc v4.8.0 | MIT Licensed | https://stenciljs.com
9
+ Stencil Mock Doc v4.8.1 | MIT Licensed | https://stenciljs.com
10
10
  */
11
11
  const CONTENT_REF_ID = 'r';
12
12
  const ORG_LOCATION_ID = 'o';
@@ -18760,6 +18760,8 @@ class Input {
18760
18760
  *
18761
18761
  * Developers who wish to focus an input when an overlay is presented
18762
18762
  * should call `setFocus` after `didPresent` has resolved.
18763
+ *
18764
+ * See [managing focus](/docs/developing/managing-focus) for more information.
18763
18765
  */
18764
18766
  async setFocus() {
18765
18767
  if (this.nativeInput) {
@@ -18825,15 +18827,32 @@ class Input {
18825
18827
  if (!this.shouldClearOnEdit()) {
18826
18828
  return;
18827
18829
  }
18830
+ /**
18831
+ * The following keys do not modify the
18832
+ * contents of the input. As a result, pressing
18833
+ * them should not edit the input.
18834
+ *
18835
+ * We can't check to see if the value of the input
18836
+ * was changed because we call checkClearOnEdit
18837
+ * in a keydown listener, and the key has not yet
18838
+ * been added to the input.
18839
+ */
18840
+ const IGNORED_KEYS = ['Enter', 'Tab', 'Shift', 'Meta', 'Alt', 'Control'];
18828
18841
  /**
18829
18842
  * Clear the input if the control has not been previously cleared during focus.
18830
18843
  * Do not clear if the user hitting enter to submit a form.
18831
18844
  */
18832
- if (!this.didInputClearOnEdit && this.hasValue() && ev.key !== 'Enter' && ev.key !== 'Tab') {
18845
+ if (!this.didInputClearOnEdit && this.hasValue() && !IGNORED_KEYS.includes(ev.key)) {
18833
18846
  this.value = '';
18834
18847
  this.emitInputChange(ev);
18848
+ /**
18849
+ * Only set this flag if we cleared the input.
18850
+ * Otherwise pressing an IGNORED_KEYS first and
18851
+ * then an allowed key will cause the input to not
18852
+ * be cleared.
18853
+ */
18854
+ this.didInputClearOnEdit = true;
18835
18855
  }
18836
- this.didInputClearOnEdit = true;
18837
18856
  }
18838
18857
  hasValue() {
18839
18858
  return this.getValue().length > 0;
@@ -28679,25 +28698,6 @@ const translateElement = (el, value, duration = 200) => {
28679
28698
  };
28680
28699
  // Utils
28681
28700
  // -----------------------------
28682
- /**
28683
- * In order to use the native iOS refresher the device must support rubber band scrolling.
28684
- * The ios + mobile platform check ensures that desktop Safari is not included. Desktop Safari
28685
- * has a slightly different rubber band effect that is not compatible with the native refresher
28686
- * in Ionic.
28687
- *
28688
- * We also need to be careful not to include devices that spoof their user agent.
28689
- * For example, when using iOS emulation in Chrome the user agent will be spoofed such that
28690
- * isPlatform('ios') and isPlatform('mobile') both return true. To work around this,
28691
- * we check to see if the apple-pay-logo is supported as a named image which is only
28692
- * true on Apple devices.
28693
- *
28694
- * We previously checked referencEl.style.webkitOverflowScrolling to explicitly check
28695
- * for rubber band support. However, this property was removed on iPadOS and it's possible
28696
- * that this will be removed on iOS in the future too.
28697
- */
28698
- const supportsRubberBandScrolling = () => {
28699
- return (isPlatform('ios') && isPlatform('mobile') && CSS.supports('background: -webkit-named-image(apple-pay-logo-black)'));
28700
- };
28701
28701
  const shouldUseNativeRefresher = async (referenceEl, mode) => {
28702
28702
  const refresherContent = referenceEl.querySelector('ion-refresher-content');
28703
28703
  if (!refresherContent) {
@@ -28708,7 +28708,16 @@ const shouldUseNativeRefresher = async (referenceEl, mode) => {
28708
28708
  const refreshingSpinner = referenceEl.querySelector('ion-refresher-content .refresher-refreshing ion-spinner');
28709
28709
  return (pullingSpinner !== null &&
28710
28710
  refreshingSpinner !== null &&
28711
- ((mode === 'ios' && supportsRubberBandScrolling()) || mode === 'md'));
28711
+ /**
28712
+ * We use webkitOverflowScrolling for feature detection with rubber band scrolling
28713
+ * on iOS. When doing referenceEl.style, webkitOverflowScrolling is undefined on non-iOS platforms.
28714
+ * However, it will be the empty string on iOS.
28715
+ * Note that we do not use getPropertyValue (and thus need to cast as any) because calling
28716
+ * getPropertyValue('-webkit-overflow-scrolling') will return the empty string if it is not
28717
+ * set on the element, even if the platform does not support that.
28718
+ */
28719
+ ((mode === 'ios' && isPlatform('mobile') && referenceEl.style.webkitOverflowScrolling !== undefined) ||
28720
+ mode === 'md'));
28712
28721
  };
28713
28722
 
28714
28723
  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)}}";
@@ -29497,15 +29506,9 @@ class RefresherContent {
29497
29506
  }
29498
29507
  componentWillLoad() {
29499
29508
  if (this.pullingIcon === undefined) {
29500
- /**
29501
- * The native iOS refresher uses a spinner instead of
29502
- * an icon, so we need to see if this device supports
29503
- * the native iOS refresher.
29504
- */
29505
- const hasRubberBandScrolling = supportsRubberBandScrolling();
29506
29509
  const mode = getIonMode$1(this);
29507
- const overflowRefresher = hasRubberBandScrolling ? 'lines' : arrowDown;
29508
- this.pullingIcon = config.get('refreshingIcon', mode === 'ios' && hasRubberBandScrolling ? config.get('spinner', overflowRefresher) : 'circular');
29510
+ const overflowRefresher = this.el.style.webkitOverflowScrolling !== undefined ? 'lines' : arrowDown;
29511
+ this.pullingIcon = config.get('refreshingIcon', mode === 'ios' && isPlatform('mobile') ? config.get('spinner', overflowRefresher) : 'circular');
29509
29512
  }
29510
29513
  if (this.refreshingSpinner === undefined) {
29511
29514
  const mode = getIonMode$1(this);
@@ -31298,6 +31301,8 @@ class Searchbar {
31298
31301
  *
31299
31302
  * Developers who wish to focus an input when an overlay is presented
31300
31303
  * should call `setFocus` after `didPresent` has resolved.
31304
+ *
31305
+ * See [managing focus](/docs/developing/managing-focus) for more information.
31301
31306
  */
31302
31307
  async setFocus() {
31303
31308
  if (this.nativeInput) {
@@ -33779,6 +33784,8 @@ class Textarea {
33779
33784
  /**
33780
33785
  * Sets focus on the native `textarea` in `ion-textarea`. Use this method instead of the global
33781
33786
  * `textarea.focus()`.
33787
+ *
33788
+ * See [managing focus](/docs/developing/managing-focus) for more information.
33782
33789
  */
33783
33790
  async setFocus() {
33784
33791
  if (this.nativeInput) {
@@ -33851,15 +33858,36 @@ class Textarea {
33851
33858
  if (!this.clearOnEdit) {
33852
33859
  return;
33853
33860
  }
33861
+ /**
33862
+ * The following keys do not modify the
33863
+ * contents of the input. As a result, pressing
33864
+ * them should not edit the textarea.
33865
+ *
33866
+ * We can't check to see if the value of the textarea
33867
+ * was changed because we call checkClearOnEdit
33868
+ * in a keydown listener, and the key has not yet
33869
+ * been added to the textarea.
33870
+ *
33871
+ * Unlike ion-input, the "Enter" key does modify the
33872
+ * textarea by adding a new line, so "Enter" is not
33873
+ * included in the IGNORED_KEYS array.
33874
+ */
33875
+ const IGNORED_KEYS = ['Tab', 'Shift', 'Meta', 'Alt', 'Control'];
33854
33876
  /**
33855
33877
  * Clear the textarea if the control has not been previously cleared
33856
33878
  * during focus.
33857
33879
  */
33858
- if (!this.didTextareaClearOnEdit && this.hasValue() && ev.key !== 'Tab') {
33880
+ if (!this.didTextareaClearOnEdit && this.hasValue() && !IGNORED_KEYS.includes(ev.key)) {
33859
33881
  this.value = '';
33860
33882
  this.emitInputChange(ev);
33883
+ /**
33884
+ * Only set this flag if we cleared the input.
33885
+ * Otherwise pressing an IGNORED_KEYS first and
33886
+ * then an allowed key will cause the input to not
33887
+ * be cleared.
33888
+ */
33889
+ this.didTextareaClearOnEdit = true;
33861
33890
  }
33862
- this.didTextareaClearOnEdit = true;
33863
33891
  }
33864
33892
  focusChange() {
33865
33893
  this.emitStyle();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ionic/core",
3
- "version": "7.5.8-dev.11701448395.18799530",
3
+ "version": "7.5.8-dev.11701788142.11dcb825",
4
4
  "description": "Base components for Ionic",
5
5
  "keywords": [
6
6
  "ionic",
@@ -31,7 +31,7 @@
31
31
  "loader/"
32
32
  ],
33
33
  "dependencies": {
34
- "@stencil/core": "^4.8.0",
34
+ "@stencil/core": "^4.8.1",
35
35
  "ionicons": "^7.2.1",
36
36
  "tslib": "^2.1.0"
37
37
  },
@@ -1,198 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import { writeTask } from '@stencil/core/internal/client';
5
- import { c as createAnimation } from './animation.js';
6
- import { t as transitionEndAsync, c as componentOnReady, m as clamp } from './helpers.js';
7
- import { a as isPlatform } from './ionic-global.js';
8
-
9
- const getRefresherAnimationType = (contentEl) => {
10
- const previousSibling = contentEl.previousElementSibling;
11
- const hasHeader = previousSibling !== null && previousSibling.tagName === 'ION-HEADER';
12
- return hasHeader ? 'translate' : 'scale';
13
- };
14
- const createPullingAnimation = (type, pullingSpinner, refresherEl) => {
15
- return type === 'scale'
16
- ? createScaleAnimation(pullingSpinner, refresherEl)
17
- : createTranslateAnimation(pullingSpinner, refresherEl);
18
- };
19
- const createBaseAnimation = (pullingRefresherIcon) => {
20
- const spinner = pullingRefresherIcon.querySelector('ion-spinner');
21
- const circle = spinner.shadowRoot.querySelector('circle');
22
- const spinnerArrowContainer = pullingRefresherIcon.querySelector('.spinner-arrow-container');
23
- const arrowContainer = pullingRefresherIcon.querySelector('.arrow-container');
24
- const arrow = arrowContainer ? arrowContainer.querySelector('ion-icon') : null;
25
- const baseAnimation = createAnimation().duration(1000).easing('ease-out');
26
- const spinnerArrowContainerAnimation = createAnimation()
27
- .addElement(spinnerArrowContainer)
28
- .keyframes([
29
- { offset: 0, opacity: '0.3' },
30
- { offset: 0.45, opacity: '0.3' },
31
- { offset: 0.55, opacity: '1' },
32
- { offset: 1, opacity: '1' },
33
- ]);
34
- const circleInnerAnimation = createAnimation()
35
- .addElement(circle)
36
- .keyframes([
37
- { offset: 0, strokeDasharray: '1px, 200px' },
38
- { offset: 0.2, strokeDasharray: '1px, 200px' },
39
- { offset: 0.55, strokeDasharray: '100px, 200px' },
40
- { offset: 1, strokeDasharray: '100px, 200px' },
41
- ]);
42
- const circleOuterAnimation = createAnimation()
43
- .addElement(spinner)
44
- .keyframes([
45
- { offset: 0, transform: 'rotate(-90deg)' },
46
- { offset: 1, transform: 'rotate(210deg)' },
47
- ]);
48
- /**
49
- * Only add arrow animation if present
50
- * this allows users to customize the spinners
51
- * without errors being thrown
52
- */
53
- if (arrowContainer && arrow) {
54
- const arrowContainerAnimation = createAnimation()
55
- .addElement(arrowContainer)
56
- .keyframes([
57
- { offset: 0, transform: 'rotate(0deg)' },
58
- { offset: 0.3, transform: 'rotate(0deg)' },
59
- { offset: 0.55, transform: 'rotate(280deg)' },
60
- { offset: 1, transform: 'rotate(400deg)' },
61
- ]);
62
- const arrowAnimation = createAnimation()
63
- .addElement(arrow)
64
- .keyframes([
65
- { offset: 0, transform: 'translateX(2px) scale(0)' },
66
- { offset: 0.3, transform: 'translateX(2px) scale(0)' },
67
- { offset: 0.55, transform: 'translateX(-1.5px) scale(1)' },
68
- { offset: 1, transform: 'translateX(-1.5px) scale(1)' },
69
- ]);
70
- baseAnimation.addAnimation([arrowContainerAnimation, arrowAnimation]);
71
- }
72
- return baseAnimation.addAnimation([spinnerArrowContainerAnimation, circleInnerAnimation, circleOuterAnimation]);
73
- };
74
- const createScaleAnimation = (pullingRefresherIcon, refresherEl) => {
75
- /**
76
- * Do not take the height of the refresher icon
77
- * because at this point the DOM has not updated,
78
- * so the refresher icon is still hidden with
79
- * display: none.
80
- * The `ion-refresher` container height
81
- * is roughly the amount we need to offset
82
- * the icon by when pulling down.
83
- */
84
- const height = refresherEl.clientHeight;
85
- const spinnerAnimation = createAnimation()
86
- .addElement(pullingRefresherIcon)
87
- .keyframes([
88
- { offset: 0, transform: `scale(0) translateY(-${height}px)` },
89
- { offset: 1, transform: 'scale(1) translateY(100px)' },
90
- ]);
91
- return createBaseAnimation(pullingRefresherIcon).addAnimation([spinnerAnimation]);
92
- };
93
- const createTranslateAnimation = (pullingRefresherIcon, refresherEl) => {
94
- /**
95
- * Do not take the height of the refresher icon
96
- * because at this point the DOM has not updated,
97
- * so the refresher icon is still hidden with
98
- * display: none.
99
- * The `ion-refresher` container height
100
- * is roughly the amount we need to offset
101
- * the icon by when pulling down.
102
- */
103
- const height = refresherEl.clientHeight;
104
- const spinnerAnimation = createAnimation()
105
- .addElement(pullingRefresherIcon)
106
- .keyframes([
107
- { offset: 0, transform: `translateY(-${height}px)` },
108
- { offset: 1, transform: 'translateY(100px)' },
109
- ]);
110
- return createBaseAnimation(pullingRefresherIcon).addAnimation([spinnerAnimation]);
111
- };
112
- const createSnapBackAnimation = (pullingRefresherIcon) => {
113
- return createAnimation()
114
- .duration(125)
115
- .addElement(pullingRefresherIcon)
116
- .fromTo('transform', 'translateY(var(--ion-pulling-refresher-translate, 100px))', 'translateY(0px)');
117
- };
118
- // iOS Native Refresher
119
- // -----------------------------
120
- const setSpinnerOpacity = (spinner, opacity) => {
121
- spinner.style.setProperty('opacity', opacity.toString());
122
- };
123
- const handleScrollWhilePulling = (ticks, numTicks, pullAmount) => {
124
- const max = 1;
125
- writeTask(() => {
126
- ticks.forEach((el, i) => {
127
- /**
128
- * Compute the opacity of each tick
129
- * mark as a percentage of the pullAmount
130
- * offset by max / numTicks so
131
- * the tick marks are shown staggered.
132
- */
133
- const min = i * (max / numTicks);
134
- const range = max - min;
135
- const start = pullAmount - min;
136
- const progression = clamp(0, start / range, 1);
137
- el.style.setProperty('opacity', progression.toString());
138
- });
139
- });
140
- };
141
- const handleScrollWhileRefreshing = (spinner, lastVelocityY) => {
142
- writeTask(() => {
143
- // If user pulls down quickly, the spinner should spin faster
144
- spinner.style.setProperty('--refreshing-rotation-duration', lastVelocityY >= 1.0 ? '0.5s' : '2s');
145
- spinner.style.setProperty('opacity', '1');
146
- });
147
- };
148
- const translateElement = (el, value, duration = 200) => {
149
- if (!el) {
150
- return Promise.resolve();
151
- }
152
- const trans = transitionEndAsync(el, duration);
153
- writeTask(() => {
154
- el.style.setProperty('transition', `${duration}ms all ease-out`);
155
- if (value === undefined) {
156
- el.style.removeProperty('transform');
157
- }
158
- else {
159
- el.style.setProperty('transform', `translate3d(0px, ${value}, 0px)`);
160
- }
161
- });
162
- return trans;
163
- };
164
- // Utils
165
- // -----------------------------
166
- /**
167
- * In order to use the native iOS refresher the device must support rubber band scrolling.
168
- * The ios + mobile platform check ensures that desktop Safari is not included. Desktop Safari
169
- * has a slightly different rubber band effect that is not compatible with the native refresher
170
- * in Ionic.
171
- *
172
- * We also need to be careful not to include devices that spoof their user agent.
173
- * For example, when using iOS emulation in Chrome the user agent will be spoofed such that
174
- * isPlatform('ios') and isPlatform('mobile') both return true. To work around this,
175
- * we check to see if the apple-pay-logo is supported as a named image which is only
176
- * true on Apple devices.
177
- *
178
- * We previously checked referencEl.style.webkitOverflowScrolling to explicitly check
179
- * for rubber band support. However, this property was removed on iPadOS and it's possible
180
- * that this will be removed on iOS in the future too.
181
- */
182
- const supportsRubberBandScrolling = () => {
183
- return (isPlatform('ios') && isPlatform('mobile') && CSS.supports('background: -webkit-named-image(apple-pay-logo-black)'));
184
- };
185
- const shouldUseNativeRefresher = async (referenceEl, mode) => {
186
- const refresherContent = referenceEl.querySelector('ion-refresher-content');
187
- if (!refresherContent) {
188
- return Promise.resolve(false);
189
- }
190
- await new Promise((resolve) => componentOnReady(refresherContent, resolve));
191
- const pullingSpinner = referenceEl.querySelector('ion-refresher-content .refresher-pulling ion-spinner');
192
- const refreshingSpinner = referenceEl.querySelector('ion-refresher-content .refresher-refreshing ion-spinner');
193
- return (pullingSpinner !== null &&
194
- refreshingSpinner !== null &&
195
- ((mode === 'ios' && supportsRubberBandScrolling()) || mode === 'md'));
196
- };
197
-
198
- export { setSpinnerOpacity as a, handleScrollWhilePulling as b, createPullingAnimation as c, createSnapBackAnimation as d, supportsRubberBandScrolling as e, getRefresherAnimationType as g, handleScrollWhileRefreshing as h, shouldUseNativeRefresher as s, translateElement as t };
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{i as initialize}from"./ionic-global-6c78e871.js";var globalScripts=initialize;export{globalScripts as g};
@@ -1,4 +0,0 @@
1
- var __awaiter=this&&this.__awaiter||function(e,r,n,t){function i(e){return e instanceof n?e:new n((function(r){r(e)}))}return new(n||(n=Promise))((function(n,s){function o(e){try{a(t.next(e))}catch(e){s(e)}}function f(e){try{a(t["throw"](e))}catch(e){s(e)}}function a(e){e.done?n(e.value):i(e.value).then(o,f)}a((t=t.apply(e,r||[])).next())}))};var __generator=this&&this.__generator||function(e,r){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},t,i,s,o;return o={next:f(0),throw:f(1),return:f(2)},typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function f(e){return function(r){return a([e,r])}}function a(f){if(t)throw new TypeError("Generator is already executing.");while(o&&(o=0,f[0]&&(n=0)),n)try{if(t=1,i&&(s=f[0]&2?i["return"]:f[0]?i["throw"]||((s=i["return"])&&s.call(i),0):i.next)&&!(s=s.call(i,f[1])).done)return s;if(i=0,s)f=[f[0]&2,s.value];switch(f[0]){case 0:case 1:s=f;break;case 4:n.label++;return{value:f[1],done:false};case 5:n.label++;i=f[1];f=[0];continue;case 7:f=n.ops.pop();n.trys.pop();continue;default:if(!(s=n.trys,s=s.length>0&&s[s.length-1])&&(f[0]===6||f[0]===2)){n=0;continue}if(f[0]===3&&(!s||f[1]>s[0]&&f[1]<s[3])){n.label=f[1];break}if(f[0]===6&&n.label<s[1]){n.label=s[1];s=f;break}if(s&&n.label<s[2]){n.label=s[2];n.ops.push(f);break}if(s[2])n.ops.pop();n.trys.pop();continue}f=r.call(e,n)}catch(e){f=[6,e];i=0}finally{t=s=0}if(f[0]&5)throw f[1];return{value:f[0]?f[1]:void 0,done:true}}};
2
- /*!
3
- * (C) Ionic http://ionicframework.com - MIT License
4
- */System.register(["./p-f8c5a0dd.system.js","./p-e673a0a2.system.js","./p-7798c78a.system.js","./p-32ad210f.system.js","./p-95c26010.system.js","./p-58ff9e5b.system.js","./p-f54c72b0.system.js","./p-f233f1e0.system.js","./p-8050b9b9.system.js","./p-d8d84afa.system.js","./p-ff4b7e40.system.js","./p-0e4f2e17.system.js","./p-0e94957a.system.js"],(function(e,r){"use strict";var n,t,i,s,o,f,a,h,c,l,u,d,p,g,m,v,b,x,w,y,k,_,j,S,z,Y,P,M;return{setters:[function(e){n=e.w;t=e.r;i=e.d;s=e.e;o=e.h;f=e.f;a=e.H},function(e){h=e.g},function(e){c=e.I;l=e.b;u=e.p;d=e.g},function(e){p=e.t;g=e.c;m=e.l;v=e.g;b=e.r},function(e){x=e.d;w=e.I},function(e){y=e.a;k=e.b;_=e.c},function(e){j=e.c},function(e){S=e.E;z=e.a},function(e){Y=e.h;P=e.i},function(e){M=e.S},function(){},function(){},function(){}],execute:function(){var E=this;var T=function(e){var r=e.previousElementSibling;var n=r!==null&&r.tagName==="ION-HEADER";return n?"translate":"scale"};var D=function(e,r,n){return e==="scale"?X(r,n):H(r,n)};var N=function(e){var r=e.querySelector("ion-spinner");var n=r.shadowRoot.querySelector("circle");var t=e.querySelector(".spinner-arrow-container");var i=e.querySelector(".arrow-container");var s=i?i.querySelector("ion-icon"):null;var o=j().duration(1e3).easing("ease-out");var f=j().addElement(t).keyframes([{offset:0,opacity:"0.3"},{offset:.45,opacity:"0.3"},{offset:.55,opacity:"1"},{offset:1,opacity:"1"}]);var a=j().addElement(n).keyframes([{offset:0,strokeDasharray:"1px, 200px"},{offset:.2,strokeDasharray:"1px, 200px"},{offset:.55,strokeDasharray:"100px, 200px"},{offset:1,strokeDasharray:"100px, 200px"}]);var h=j().addElement(r).keyframes([{offset:0,transform:"rotate(-90deg)"},{offset:1,transform:"rotate(210deg)"}]);if(i&&s){var c=j().addElement(i).keyframes([{offset:0,transform:"rotate(0deg)"},{offset:.3,transform:"rotate(0deg)"},{offset:.55,transform:"rotate(280deg)"},{offset:1,transform:"rotate(400deg)"}]);var l=j().addElement(s).keyframes([{offset:0,transform:"translateX(2px) scale(0)"},{offset:.3,transform:"translateX(2px) scale(0)"},{offset:.55,transform:"translateX(-1.5px) scale(1)"},{offset:1,transform:"translateX(-1.5px) scale(1)"}]);o.addAnimation([c,l])}return o.addAnimation([f,a,h])};var X=function(e,r){var n=r.clientHeight;var t=j().addElement(e).keyframes([{offset:0,transform:"scale(0) translateY(-".concat(n,"px)")},{offset:1,transform:"scale(1) translateY(100px)"}]);return N(e).addAnimation([t])};var H=function(e,r){var n=r.clientHeight;var t=j().addElement(e).keyframes([{offset:0,transform:"translateY(-".concat(n,"px)")},{offset:1,transform:"translateY(100px)"}]);return N(e).addAnimation([t])};var O=function(e){return j().duration(125).addElement(e).fromTo("transform","translateY(var(--ion-pulling-refresher-translate, 100px))","translateY(0px)")};var L=function(e,r){e.style.setProperty("opacity",r.toString())};var C=function(e,r,t){var i=1;n((function(){e.forEach((function(e,n){var s=n*(i/r);var o=i-s;var f=t-s;var a=m(0,f/o,1);e.style.setProperty("opacity",a.toString())}))}))};var I=function(e,r){n((function(){e.style.setProperty("--refreshing-rotation-duration",r>=1?"0.5s":"2s");e.style.setProperty("opacity","1")}))};var R=function(e,r,t){if(t===void 0){t=200}if(!e){return Promise.resolve()}var i=p(e,t);n((function(){e.style.setProperty("transition","".concat(t,"ms all ease-out"));if(r===undefined){e.style.removeProperty("transform")}else{e.style.setProperty("transform","translate3d(0px, ".concat(r,", 0px)"))}}));return i};var A=function(){return y("ios")&&y("mobile")&&CSS.supports("background: -webkit-named-image(apple-pay-logo-black)")};var G=function(e,r){return __awaiter(E,void 0,void 0,(function(){var n,t,i;return __generator(this,(function(s){switch(s.label){case 0:n=e.querySelector("ion-refresher-content");if(!n){return[2,Promise.resolve(false)]}return[4,new Promise((function(e){return g(n,e)}))];case 1:s.sent();t=e.querySelector("ion-refresher-content .refresher-pulling ion-spinner");i=e.querySelector("ion-refresher-content .refresher-refreshing ion-spinner");return[2,t!==null&&i!==null&&(r==="ios"&&A()||r==="md")]}}))}))};var Z="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)}}";var q="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-md .refresher-pulling-icon,.refresher-md .refresher-refreshing-icon{color:var(--ion-text-color, #000)}.refresher-md .refresher-pulling-text,.refresher-md .refresher-refreshing-text{color:var(--ion-text-color, #000)}.refresher-md .refresher-refreshing .spinner-lines-md line,.refresher-md .refresher-refreshing .spinner-lines-small-md line,.refresher-md .refresher-refreshing .spinner-crescent circle{stroke:var(--ion-text-color, #000)}.refresher-md .refresher-refreshing .spinner-bubbles circle,.refresher-md .refresher-refreshing .spinner-circles circle,.refresher-md .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;width:24px;height:24px;color:var(--ion-color-primary, #3880ff)}ion-refresher.refresher-native .spinner-arrow-container{display:inherit}ion-refresher.refresher-native .arrow-container{display:block;position:absolute;width:24px;height:24px}ion-refresher.refresher-native .arrow-container ion-icon{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;left:0;right:0;bottom:-4px;position:absolute;color:var(--ion-color-primary, #3880ff);font-size:12px}ion-refresher.refresher-native.refresher-pulling ion-refresher-content .refresher-pulling,ion-refresher.refresher-native.refresher-ready ion-refresher-content .refresher-pulling{display:-ms-flexbox;display:flex}ion-refresher.refresher-native.refresher-refreshing ion-refresher-content .refresher-refreshing,ion-refresher.refresher-native.refresher-completing ion-refresher-content .refresher-refreshing,ion-refresher.refresher-native.refresher-cancelling ion-refresher-content .refresher-refreshing{display:-ms-flexbox;display:flex}ion-refresher.refresher-native .refresher-pulling-icon{-webkit-transform:translateY(calc(-100% - 10px));transform:translateY(calc(-100% - 10px))}ion-refresher.refresher-native .refresher-pulling-icon,ion-refresher.refresher-native .refresher-refreshing-icon{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;border-radius:100%;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;display:-ms-flexbox;display:flex;border:1px solid var(--ion-color-step-200, #ececec);background:var(--ion-color-step-250, #ffffff);-webkit-box-shadow:0px 1px 6px rgba(0, 0, 0, 0.1);box-shadow:0px 1px 6px rgba(0, 0, 0, 0.1)}";var B=e("ion_refresher",function(){function e(e){t(this,e);this.ionRefresh=i(this,"ionRefresh",7);this.ionPull=i(this,"ionPull",7);this.ionStart=i(this,"ionStart",7);this.appliedStyles=false;this.didStart=false;this.progress=0;this.pointerDown=false;this.needsCompletion=false;this.didRefresh=false;this.lastVelocityY=0;this.animations=[];this.nativeRefresher=false;this.state=1;this.pullMin=60;this.pullMax=this.pullMin+60;this.closeDuration="280ms";this.snapbackDuration="280ms";this.pullFactor=1;this.disabled=false}e.prototype.disabledChanged=function(){if(this.gesture){this.gesture.enable(!this.disabled)}};e.prototype.checkNativeRefresher=function(){return __awaiter(this,void 0,void 0,(function(){var e,r;return __generator(this,(function(n){switch(n.label){case 0:return[4,G(this.el,k(this))];case 1:e=n.sent();if(e&&!this.nativeRefresher){r=this.el.closest("ion-content");this.setupNativeRefresher(r)}else if(!e){this.destroyNativeRefresher()}return[2]}}))}))};e.prototype.destroyNativeRefresher=function(){if(this.scrollEl&&this.scrollListenerCallback){this.scrollEl.removeEventListener("scroll",this.scrollListenerCallback);this.scrollListenerCallback=undefined}this.nativeRefresher=false};e.prototype.resetNativeRefresher=function(e,r){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(n){switch(n.label){case 0:this.state=r;if(!(k(this)==="ios"))return[3,2];return[4,R(e,undefined,300)];case 1:n.sent();return[3,4];case 2:return[4,p(this.el.querySelector(".refresher-refreshing-icon"),200)];case 3:n.sent();n.label=4;case 4:this.didRefresh=false;this.needsCompletion=false;this.pointerDown=false;this.animations.forEach((function(e){return e.destroy()}));this.animations=[];this.progress=0;this.state=1;return[2]}}))}))};e.prototype.setupiOSNativeRefresher=function(e,t){return __awaiter(this,void 0,void 0,(function(){var i,o,f,a;var h=this;return __generator(this,(function(c){switch(c.label){case 0:this.elementToTransform=this.scrollEl;i=e.shadowRoot.querySelectorAll("svg");o=this.scrollEl.clientHeight*.16;f=i.length;n((function(){return i.forEach((function(e){return e.style.setProperty("animation","none")}))}));this.scrollListenerCallback=function(){if(!h.pointerDown&&h.state===1){return}s((function(){var e=h.scrollEl.scrollTop;var r=h.el.clientHeight;if(e>0){if(h.state===8){var s=m(0,e/(r*.5),1);n((function(){return L(t,1-s)}));return}return}if(h.pointerDown){if(!h.didStart){h.didStart=true;h.ionStart.emit()}if(h.pointerDown){h.ionPull.emit()}}var a=h.didStart?30:0;var c=h.progress=m(0,(Math.abs(e)-a)/o,1);var l=h.state===8||c===1;if(l){if(h.pointerDown){I(t,h.lastVelocityY)}if(!h.didRefresh){h.beginRefresh();h.didRefresh=true;x({style:w.Light});if(!h.pointerDown){R(h.elementToTransform,"".concat(r,"px"))}}}else{h.state=2;C(i,f,c)}}))};this.scrollEl.addEventListener("scroll",this.scrollListenerCallback);a=this;return[4,r.import("./p-31b2326e.system.js")];case 1:a.gesture=c.sent().createGesture({el:this.scrollEl,gestureName:"refresher",gesturePriority:31,direction:"y",threshold:5,onStart:function(){h.pointerDown=true;if(!h.didRefresh){R(h.elementToTransform,"0px")}if(o===0){o=h.scrollEl.clientHeight*.16}},onMove:function(e){h.lastVelocityY=e.velocityY},onEnd:function(){h.pointerDown=false;h.didStart=false;if(h.needsCompletion){h.resetNativeRefresher(h.elementToTransform,32);h.needsCompletion=false}else if(h.didRefresh){s((function(){return R(h.elementToTransform,"".concat(h.el.clientHeight,"px"))}))}}});this.disabledChanged();return[2]}}))}))};e.prototype.setupMDNativeRefresher=function(e,t,i){return __awaiter(this,void 0,void 0,(function(){var s,o,f,a;var l=this;return __generator(this,(function(u){switch(u.label){case 0:s=v(t).querySelector("circle");o=this.el.querySelector("ion-refresher-content .refresher-pulling-icon");f=v(i).querySelector("circle");if(s!==null&&f!==null){n((function(){s.style.setProperty("animation","none");i.style.setProperty("animation-delay","-655ms");f.style.setProperty("animation-delay","-655ms")}))}a=this;return[4,r.import("./p-31b2326e.system.js")];case 1:a.gesture=u.sent().createGesture({el:this.scrollEl,gestureName:"refresher",gesturePriority:31,direction:"y",threshold:5,canStart:function(){return l.state!==8&&l.state!==32&&l.scrollEl.scrollTop===0},onStart:function(e){l.progress=0;e.data={animation:undefined,didStart:false,cancelled:false}},onMove:function(r){if(r.velocityY<0&&l.progress===0&&!r.data.didStart||r.data.cancelled){r.data.cancelled=true;return}if(!r.data.didStart){r.data.didStart=true;l.state=2;var t=l.scrollEl;var i=t.matches(c)?"overflow":"--overflow";n((function(){return t.style.setProperty(i,"hidden")}));var s=T(e);var f=D(s,o,l.el);r.data.animation=f;f.progressStart(false,0);l.ionStart.emit();l.animations.push(f);return}l.progress=m(0,r.deltaY/180*.5,1);r.data.animation.progressStep(l.progress);l.ionPull.emit()},onEnd:function(e){if(!e.data.didStart){return}l.gesture.enable(false);var r=l.scrollEl;var t=r.matches(c)?"overflow":"--overflow";n((function(){return r.style.removeProperty(t)}));if(l.progress<=.4){e.data.animation.progressEnd(0,l.progress,500).onFinish((function(){l.animations.forEach((function(e){return e.destroy()}));l.animations=[];l.gesture.enable(true);l.state=1}));return}var i=h([0,0],[0,0],[1,1],[1,1],l.progress)[0];var s=O(o);l.animations.push(s);n((function(){return __awaiter(l,void 0,void 0,(function(){return __generator(this,(function(r){switch(r.label){case 0:o.style.setProperty("--ion-pulling-refresher-translate","".concat(i*100,"px"));e.data.animation.progressEnd();return[4,s.play()];case 1:r.sent();this.beginRefresh();e.data.animation.destroy();this.gesture.enable(true);return[2]}}))}))}))}});this.disabledChanged();return[2]}}))}))};e.prototype.setupNativeRefresher=function(e){return __awaiter(this,void 0,void 0,(function(){var r,n;return __generator(this,(function(t){if(this.scrollListenerCallback||!e||this.nativeRefresher||!this.scrollEl){return[2]}this.setCss(0,"",false,"");this.nativeRefresher=true;r=this.el.querySelector("ion-refresher-content .refresher-pulling ion-spinner");n=this.el.querySelector("ion-refresher-content .refresher-refreshing ion-spinner");if(k(this)==="ios"){this.setupiOSNativeRefresher(r,n)}else{this.setupMDNativeRefresher(e,r,n)}return[2]}))}))};e.prototype.componentDidUpdate=function(){this.checkNativeRefresher()};e.prototype.connectedCallback=function(){return __awaiter(this,void 0,void 0,(function(){var e;var n=this;return __generator(this,(function(t){if(this.el.getAttribute("slot")!=="fixed"){console.error('Make sure you use: <ion-refresher slot="fixed">');return[2]}e=this.el.closest(l);if(!e){u(this.el);return[2]}g(e,(function(){return __awaiter(n,void 0,void 0,(function(){var n,t,i,s;var o=this;return __generator(this,(function(f){switch(f.label){case 0:n=e.querySelector(c);t=this;return[4,d(n!==null&&n!==void 0?n:e)];case 1:t.scrollEl=f.sent();i=this;return[4,e.getBackgroundElement()];case 2:i.backgroundContentEl=f.sent();return[4,G(this.el,k(this))];case 3:if(!f.sent())return[3,4];this.setupNativeRefresher(e);return[3,6];case 4:s=this;return[4,r.import("./p-31b2326e.system.js")];case 5:s.gesture=f.sent().createGesture({el:e,gestureName:"refresher",gesturePriority:31,direction:"y",threshold:20,passive:false,canStart:function(){return o.canStart()},onStart:function(){return o.onStart()},onMove:function(e){return o.onMove(e)},onEnd:function(){return o.onEnd()}});this.disabledChanged();f.label=6;case 6:return[2]}}))}))}));return[2]}))}))};e.prototype.disconnectedCallback=function(){this.destroyNativeRefresher();this.scrollEl=undefined;if(this.gesture){this.gesture.destroy();this.gesture=undefined}};e.prototype.complete=function(){return __awaiter(this,void 0,void 0,(function(){var e=this;return __generator(this,(function(r){if(this.nativeRefresher){this.needsCompletion=true;if(!this.pointerDown){b((function(){return b((function(){return e.resetNativeRefresher(e.elementToTransform,32)}))}))}}else{this.close(32,"120ms")}return[2]}))}))};e.prototype.cancel=function(){return __awaiter(this,void 0,void 0,(function(){var e=this;return __generator(this,(function(r){if(this.nativeRefresher){if(!this.pointerDown){b((function(){return b((function(){return e.resetNativeRefresher(e.elementToTransform,16)}))}))}}else{this.close(16,"")}return[2]}))}))};e.prototype.getProgress=function(){return Promise.resolve(this.progress)};e.prototype.canStart=function(){if(!this.scrollEl){return false}if(this.state!==1){return false}if(this.scrollEl.scrollTop>0){return false}return true};e.prototype.onStart=function(){this.progress=0;this.state=1;this.memoizeOverflowStyle()};e.prototype.onMove=function(e){if(!this.scrollEl){return}var r=e.event;if(r.touches!==undefined&&r.touches.length>1){return}if((this.state&56)!==0){return}var n=Number.isNaN(this.pullFactor)||this.pullFactor<0?1:this.pullFactor;var t=e.deltaY*n;if(t<=0){this.progress=0;this.state=1;if(this.appliedStyles){this.setCss(0,"",false,"");return}return}if(this.state===1){var i=this.scrollEl.scrollTop;if(i>0){this.progress=0;return}this.state=2}if(r.cancelable){r.preventDefault()}this.setCss(t,"0ms",true,"");if(t===0){this.progress=0;return}var s=this.pullMin;this.progress=t/s;if(!this.didStart){this.didStart=true;this.ionStart.emit()}this.ionPull.emit();if(t<s){this.state=2;return}if(t>this.pullMax){this.beginRefresh();return}this.state=4;return};e.prototype.onEnd=function(){if(this.state===4){this.beginRefresh()}else if(this.state===2){this.cancel()}else if(this.state===1){this.restoreOverflowStyle()}};e.prototype.beginRefresh=function(){this.state=8;this.setCss(this.pullMin,this.snapbackDuration,true,"");this.ionRefresh.emit({complete:this.complete.bind(this)})};e.prototype.close=function(e,r){var n=this;setTimeout((function(){n.state=1;n.progress=0;n.didStart=false;n.setCss(0,"0ms",false,"",true)}),600);this.state=e;this.setCss(0,this.closeDuration,true,r)};e.prototype.setCss=function(e,r,t,i,s){var o=this;if(s===void 0){s=false}if(this.nativeRefresher){return}this.appliedStyles=e>0;n((function(){if(o.scrollEl&&o.backgroundContentEl){var n=o.scrollEl.style;var f=o.backgroundContentEl.style;n.transform=f.transform=e>0?"translateY(".concat(e,"px) translateZ(0px)"):"";n.transitionDuration=f.transitionDuration=r;n.transitionDelay=f.transitionDelay=i;n.overflow=t?"hidden":""}if(s){o.restoreOverflowStyle()}}))};e.prototype.memoizeOverflowStyle=function(){if(this.scrollEl){var e=this.scrollEl.style,r=e.overflow,n=e.overflowX,t=e.overflowY;this.overflowStyles={overflow:r!==null&&r!==void 0?r:"",overflowX:n!==null&&n!==void 0?n:"",overflowY:t!==null&&t!==void 0?t:""}}};e.prototype.restoreOverflowStyle=function(){if(this.overflowStyles!==undefined&&this.scrollEl!==undefined){var e=this.overflowStyles,r=e.overflow,n=e.overflowX,t=e.overflowY;this.scrollEl.style.overflow=r;this.scrollEl.style.overflowX=n;this.scrollEl.style.overflowY=t;this.overflowStyles=undefined}};e.prototype.render=function(){var e;var r=k(this);return o(a,{slot:"fixed",class:(e={},e[r]=true,e["refresher-".concat(r)]=true,e["refresher-native"]=this.nativeRefresher,e["refresher-active"]=this.state!==1,e["refresher-pulling"]=this.state===2,e["refresher-ready"]=this.state===4,e["refresher-refreshing"]=this.state===8,e["refresher-cancelling"]=this.state===16,e["refresher-completing"]=this.state===32,e)})};Object.defineProperty(e.prototype,"el",{get:function(){return f(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{disabled:["disabledChanged"]}},enumerable:false,configurable:true});return e}());B.style={ios:Z,md:q};var F=e("ion_refresher_content",function(){function e(e){t(this,e);this.customHTMLEnabled=_.get("innerHTMLTemplatesEnabled",S);this.pullingIcon=undefined;this.pullingText=undefined;this.refreshingSpinner=undefined;this.refreshingText=undefined}e.prototype.componentWillLoad=function(){if(this.pullingIcon===undefined){var e=A();var r=k(this);var n=e?"lines":P;this.pullingIcon=_.get("refreshingIcon",r==="ios"&&e?_.get("spinner",n):"circular")}if(this.refreshingSpinner===undefined){var r=k(this);this.refreshingSpinner=_.get("refreshingSpinner",_.get("spinner",r==="ios"?"lines":"circular"))}};e.prototype.renderPullingText=function(){var e=this,r=e.customHTMLEnabled,n=e.pullingText;if(r){return o("div",{class:"refresher-pulling-text",innerHTML:z(n)})}return o("div",{class:"refresher-pulling-text"},n)};e.prototype.renderRefreshingText=function(){var e=this,r=e.customHTMLEnabled,n=e.refreshingText;if(r){return o("div",{class:"refresher-refreshing-text",innerHTML:z(n)})}return o("div",{class:"refresher-refreshing-text"},n)};e.prototype.render=function(){var e=this.pullingIcon;var r=e!=null&&M[e]!==undefined;var n=k(this);return o(a,{class:n},o("div",{class:"refresher-pulling"},this.pullingIcon&&r&&o("div",{class:"refresher-pulling-icon"},o("div",{class:"spinner-arrow-container"},o("ion-spinner",{name:this.pullingIcon,paused:true}),n==="md"&&this.pullingIcon==="circular"&&o("div",{class:"arrow-container"},o("ion-icon",{icon:Y,"aria-hidden":"true"})))),this.pullingIcon&&!r&&o("div",{class:"refresher-pulling-icon"},o("ion-icon",{icon:this.pullingIcon,lazy:false,"aria-hidden":"true"})),this.pullingText!==undefined&&this.renderPullingText()),o("div",{class:"refresher-refreshing"},this.refreshingSpinner&&o("div",{class:"refresher-refreshing-icon"},o("ion-spinner",{name:this.refreshingSpinner})),this.refreshingText!==undefined&&this.renderRefreshingText()))};Object.defineProperty(e.prototype,"el",{get:function(){return f(this)},enumerable:false,configurable:true});return e}())}}}));