@ionic/core 7.5.8-dev.11702398696.1ab62ea9 → 7.5.8-dev.11703088210.14a72b83

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 (485) hide show
  1. package/components/backdrop.js +12 -0
  2. package/components/data.js +1 -1
  3. package/components/gesture-controller.js +1 -1
  4. package/components/ion-content.js +1 -1
  5. package/components/ion-datetime.js +64 -40
  6. package/components/ion-input.js +0 -2
  7. package/components/ion-picker-column-internal.d.ts +11 -0
  8. package/components/ion-picker-column-internal.js +9 -0
  9. package/components/ion-picker-column.js +2 -2
  10. package/components/{ion-picker-legacy.d.ts → ion-picker-internal.d.ts} +4 -4
  11. package/components/ion-picker-internal.js +9 -0
  12. package/components/ion-picker.js +309 -1
  13. package/components/ion-refresher-content.js +10 -3
  14. package/components/ion-refresher.js +4 -183
  15. package/components/ion-searchbar.js +0 -2
  16. package/components/ion-textarea.js +0 -2
  17. package/components/overlays.js +4 -11
  18. package/components/picker-column-internal.js +390 -0
  19. package/components/picker-column.js +322 -351
  20. package/components/{picker.js → picker-internal.js} +22 -29
  21. package/components/refresher.utils.js +196 -0
  22. package/dist/cjs/{app-globals-0af482c7.js → app-globals-28656db1.js} +1 -1
  23. package/dist/cjs/{button-active-9d7e0640.js → button-active-75b38d77.js} +2 -2
  24. package/dist/cjs/{data-e7526b58.js → data-36b9094e.js} +1 -1
  25. package/dist/cjs/{gesture-controller-9436f482.js → gesture-controller-c40c045a.js} +0 -1
  26. package/dist/cjs/{index-5cbb20f9.js → index-097270a3.js} +1 -1
  27. package/dist/cjs/{index-bbb4336c.js → index-b0102f48.js} +1 -39
  28. package/dist/cjs/{index-d4c2e02c.js → index-cb3e0ab7.js} +3 -3
  29. package/dist/cjs/{index-ee07ed59.js → index-d1b59ffa.js} +1 -1
  30. package/dist/cjs/index.cjs.js +9 -9
  31. package/dist/cjs/ion-accordion_2.cjs.entry.js +2 -2
  32. package/dist/cjs/ion-action-sheet.cjs.entry.js +6 -6
  33. package/dist/cjs/ion-alert.cjs.entry.js +6 -6
  34. package/dist/cjs/ion-app_8.cjs.entry.js +6 -6
  35. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  36. package/dist/cjs/ion-back-button.cjs.entry.js +2 -2
  37. package/dist/cjs/ion-backdrop.cjs.entry.js +14 -2
  38. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +2 -2
  39. package/dist/cjs/ion-button_2.cjs.entry.js +2 -2
  40. package/dist/cjs/ion-card_5.cjs.entry.js +2 -2
  41. package/dist/cjs/ion-checkbox.cjs.entry.js +2 -2
  42. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  43. package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
  44. package/dist/cjs/ion-datetime-button.cjs.entry.js +3 -3
  45. package/dist/cjs/ion-datetime_3.cjs.entry.js +58 -38
  46. package/dist/cjs/ion-fab_3.cjs.entry.js +2 -2
  47. package/dist/cjs/ion-img.cjs.entry.js +2 -2
  48. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
  49. package/dist/cjs/ion-input.cjs.entry.js +2 -4
  50. package/dist/cjs/ion-item-option_3.cjs.entry.js +3 -3
  51. package/dist/cjs/ion-item_8.cjs.entry.js +2 -2
  52. package/dist/cjs/ion-loading.cjs.entry.js +3 -4
  53. package/dist/cjs/ion-menu_3.cjs.entry.js +6 -6
  54. package/dist/cjs/ion-modal.cjs.entry.js +6 -6
  55. package/dist/cjs/ion-nav_2.cjs.entry.js +4 -4
  56. package/dist/cjs/{ion-picker-column.cjs.entry.js → ion-picker-column-internal.cjs.entry.js} +89 -106
  57. package/dist/cjs/{ion-picker.cjs.entry.js → ion-picker-internal.cjs.entry.js} +20 -27
  58. package/dist/cjs/ion-popover.cjs.entry.js +4 -5
  59. package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
  60. package/dist/cjs/ion-radio_2.cjs.entry.js +2 -2
  61. package/dist/cjs/ion-range.cjs.entry.js +3 -3
  62. package/dist/cjs/ion-refresher_2.cjs.entry.js +32 -17
  63. package/dist/cjs/ion-reorder_2.cjs.entry.js +3 -3
  64. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
  65. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  66. package/dist/cjs/ion-searchbar.cjs.entry.js +2 -4
  67. package/dist/cjs/ion-segment_2.cjs.entry.js +3 -3
  68. package/dist/cjs/ion-select_3.cjs.entry.js +3 -4
  69. package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
  70. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  71. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +2 -2
  72. package/dist/cjs/ion-tab_2.cjs.entry.js +1 -1
  73. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  74. package/dist/cjs/ion-textarea.cjs.entry.js +2 -4
  75. package/dist/cjs/ion-toast.cjs.entry.js +3 -4
  76. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  77. package/dist/cjs/{ionic-global-f4a2093b.js → ionic-global-62510d64.js} +1 -1
  78. package/dist/cjs/ionic.cjs.js +5 -5
  79. package/dist/cjs/{ios.transition-a4ffb5a2.js → ios.transition-d9c0e4fb.js} +2 -2
  80. package/dist/cjs/loader.cjs.js +4 -4
  81. package/dist/cjs/{md.transition-292abe1c.js → md.transition-4fac8a87.js} +2 -2
  82. package/dist/cjs/{overlays-e8e05b0e.js → overlays-b1471172.js} +5 -12
  83. package/dist/cjs/{status-tap-415acac6.js → status-tap-0aa8e1f2.js} +1 -1
  84. package/dist/cjs/{swipe-back-b8f2330b.js → swipe-back-2a858bbd.js} +2 -2
  85. package/dist/collection/collection-manifest.json +7 -8
  86. package/dist/collection/components/backdrop/backdrop.js +12 -0
  87. package/dist/collection/components/content/content.css +4 -0
  88. package/dist/collection/components/datetime/datetime.ios.css +37 -91
  89. package/dist/collection/components/datetime/datetime.js +36 -24
  90. package/dist/collection/components/datetime/datetime.md.css +37 -96
  91. package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +1 -1
  92. package/dist/collection/components/datetime/test/a11y/datetime.spec.js +9 -6
  93. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +0 -10
  94. package/dist/collection/components/datetime/test/datetime.e2e.js +2 -2
  95. package/dist/collection/components/datetime/test/disabled/datetime.spec.js +4 -4
  96. package/dist/collection/components/datetime/test/locale/datetime.e2e.js +2 -2
  97. package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +6 -6
  98. package/dist/collection/components/datetime/test/month-year-picker/datetime.e2e.js +1 -1
  99. package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +41 -43
  100. package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +1 -1
  101. package/dist/collection/components/datetime/test/readonly/datetime.e2e.js +4 -4
  102. package/dist/collection/components/datetime/test/values/datetime.e2e.js +12 -15
  103. package/dist/collection/components/datetime/utils/data.js +1 -1
  104. package/dist/collection/components/input/input.js +2 -4
  105. package/dist/collection/components/picker/picker.ios.css +211 -112
  106. package/dist/collection/components/picker/picker.js +743 -468
  107. package/dist/collection/components/picker/picker.md.css +198 -108
  108. package/dist/collection/components/picker/test/basic/picker.e2e.js +13 -99
  109. package/dist/collection/components/{picker-legacy → picker}/test/is-open/picker.e2e.js +4 -4
  110. package/dist/collection/components/{picker-legacy → picker}/test/picker-id.spec.js +5 -5
  111. package/dist/collection/components/{picker-legacy → picker}/test/trigger/picker.e2e.js +1 -1
  112. package/dist/collection/components/picker-column/picker-column.js +335 -497
  113. package/dist/collection/components/{picker-legacy-column → picker-column}/test/picker-column-aria.spec.js +3 -3
  114. package/dist/collection/components/{picker-legacy-column → picker-column}/test/picker-column-dynamic.spec.js +2 -2
  115. package/dist/collection/components/{picker-legacy-column → picker-column}/test/picker-column.spec.js +2 -2
  116. package/dist/collection/components/{picker-legacy-column → picker-column}/test/standalone/picker-column.e2e.js +3 -3
  117. package/dist/collection/components/{picker-column-option/picker-column-option.md.css → picker-column-internal/picker-column-internal.ios.css} +53 -6
  118. package/dist/collection/components/picker-column-internal/picker-column-internal.js +565 -0
  119. package/dist/collection/components/{picker-column/picker-column.css → picker-column-internal/picker-column-internal.md.css} +83 -96
  120. package/dist/collection/components/{picker-column/test/basic/picker-column.e2e.js → picker-column-internal/test/basic/picker-column-internal.e2e.js} +8 -8
  121. package/dist/collection/components/picker-column-internal/test/disabled/picker-column-internal.e2e.js +162 -0
  122. package/dist/collection/components/{picker-legacy/picker.md.css → picker-internal/picker-internal.ios.css} +100 -192
  123. package/dist/collection/components/picker-internal/picker-internal.js +544 -0
  124. package/dist/collection/components/{picker-legacy/picker.ios.css → picker-internal/picker-internal.md.css} +98 -207
  125. package/dist/collection/components/{picker/test/a11y/picker.e2e.js → picker-internal/test/a11y/picker-internal.e2e.js} +2 -2
  126. package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +118 -0
  127. package/dist/collection/components/{picker/test/keyboard-entry/picker.e2e.js → picker-internal/test/keyboard-entry/picker-internal.e2e.js} +32 -63
  128. package/dist/collection/components/refresher/refresher.utils.js +19 -11
  129. package/dist/collection/components/refresher-content/refresher-content.js +9 -3
  130. package/dist/collection/components/searchbar/searchbar.js +1 -3
  131. package/dist/collection/components/textarea/textarea.js +2 -4
  132. package/dist/collection/utils/gesture/gesture-controller.js +1 -1
  133. package/dist/collection/utils/overlays.js +4 -11
  134. package/dist/docs.json +47 -505
  135. package/dist/esm/{app-globals-722340c4.js → app-globals-c23144fc.js} +1 -1
  136. package/dist/esm/{button-active-ed9d848c.js → button-active-7013b5a1.js} +2 -2
  137. package/dist/esm/{data-4b9508c9.js → data-f5c75b4e.js} +1 -1
  138. package/dist/esm/{gesture-controller-314a54f6.js → gesture-controller-1bf57181.js} +1 -1
  139. package/dist/esm/{index-39782642.js → index-2cf77112.js} +2 -2
  140. package/dist/esm/{index-08d686eb.js → index-39329c6f.js} +1 -39
  141. package/dist/esm/{index-80492ed3.js → index-7a818ed3.js} +1 -1
  142. package/dist/esm/{index-d8817fb0.js → index-bebaae5d.js} +3 -3
  143. package/dist/esm/index.js +9 -9
  144. package/dist/esm/ion-accordion_2.entry.js +2 -2
  145. package/dist/esm/ion-action-sheet.entry.js +6 -6
  146. package/dist/esm/ion-alert.entry.js +6 -6
  147. package/dist/esm/ion-app_8.entry.js +6 -6
  148. package/dist/esm/ion-avatar_3.entry.js +2 -2
  149. package/dist/esm/ion-back-button.entry.js +2 -2
  150. package/dist/esm/ion-backdrop.entry.js +14 -2
  151. package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
  152. package/dist/esm/ion-button_2.entry.js +2 -2
  153. package/dist/esm/ion-card_5.entry.js +2 -2
  154. package/dist/esm/ion-checkbox.entry.js +2 -2
  155. package/dist/esm/ion-chip.entry.js +2 -2
  156. package/dist/esm/ion-col_3.entry.js +2 -2
  157. package/dist/esm/ion-datetime-button.entry.js +3 -3
  158. package/dist/esm/ion-datetime_3.entry.js +57 -37
  159. package/dist/esm/ion-fab_3.entry.js +2 -2
  160. package/dist/esm/ion-img.entry.js +2 -2
  161. package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
  162. package/dist/esm/ion-input.entry.js +2 -4
  163. package/dist/esm/ion-item-option_3.entry.js +3 -3
  164. package/dist/esm/ion-item_8.entry.js +2 -2
  165. package/dist/esm/ion-loading.entry.js +3 -4
  166. package/dist/esm/ion-menu_3.entry.js +6 -6
  167. package/dist/esm/ion-modal.entry.js +6 -6
  168. package/dist/esm/ion-nav_2.entry.js +4 -4
  169. package/dist/esm/{ion-picker-column.entry.js → ion-picker-column-internal.entry.js} +89 -106
  170. package/dist/esm/{ion-picker.entry.js → ion-picker-internal.entry.js} +20 -27
  171. package/dist/esm/ion-popover.entry.js +4 -5
  172. package/dist/esm/ion-progress-bar.entry.js +2 -2
  173. package/dist/esm/ion-radio_2.entry.js +2 -2
  174. package/dist/esm/ion-range.entry.js +3 -3
  175. package/dist/esm/ion-refresher_2.entry.js +32 -17
  176. package/dist/esm/ion-reorder_2.entry.js +3 -3
  177. package/dist/esm/ion-ripple-effect.entry.js +2 -2
  178. package/dist/esm/ion-route_4.entry.js +2 -2
  179. package/dist/esm/ion-searchbar.entry.js +2 -4
  180. package/dist/esm/ion-segment_2.entry.js +3 -3
  181. package/dist/esm/ion-select_3.entry.js +3 -4
  182. package/dist/esm/ion-spinner.entry.js +2 -2
  183. package/dist/esm/ion-split-pane.entry.js +2 -2
  184. package/dist/esm/ion-tab-bar_2.entry.js +2 -2
  185. package/dist/esm/ion-tab_2.entry.js +1 -1
  186. package/dist/esm/ion-text.entry.js +2 -2
  187. package/dist/esm/ion-textarea.entry.js +2 -4
  188. package/dist/esm/ion-toast.entry.js +3 -4
  189. package/dist/esm/ion-toggle.entry.js +3 -3
  190. package/dist/esm/{ionic-global-c0cda98e.js → ionic-global-6c78e871.js} +1 -1
  191. package/dist/esm/ionic.js +6 -6
  192. package/dist/esm/{ios.transition-fd16bec1.js → ios.transition-daa373e9.js} +2 -2
  193. package/dist/esm/loader.js +5 -5
  194. package/dist/esm/{md.transition-94ac93e1.js → md.transition-91c3d3cc.js} +2 -2
  195. package/dist/esm/{overlays-fbc5cab5.js → overlays-64e67e2c.js} +5 -12
  196. package/dist/esm/{status-tap-2b93b1b5.js → status-tap-9dd45200.js} +1 -1
  197. package/dist/esm/{swipe-back-a8ca7f93.js → swipe-back-a6f386fc.js} +2 -2
  198. package/dist/esm-es5/app-globals-c23144fc.js +4 -0
  199. package/dist/esm-es5/{button-active-ed9d848c.js → button-active-7013b5a1.js} +1 -1
  200. package/dist/esm-es5/{gesture-controller-314a54f6.js → gesture-controller-1bf57181.js} +1 -1
  201. package/dist/esm-es5/{index-39782642.js → index-2cf77112.js} +1 -1
  202. package/dist/esm-es5/{index-08d686eb.js → index-39329c6f.js} +1 -1
  203. package/dist/esm-es5/{index-80492ed3.js → index-7a818ed3.js} +1 -1
  204. package/dist/esm-es5/{index-d8817fb0.js → index-bebaae5d.js} +1 -1
  205. package/dist/esm-es5/index.js +1 -1
  206. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  207. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  208. package/dist/esm-es5/ion-alert.entry.js +1 -1
  209. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  210. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  211. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  212. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  213. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  214. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  215. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  216. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  217. package/dist/esm-es5/ion-chip.entry.js +1 -1
  218. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  219. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  220. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  221. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  222. package/dist/esm-es5/ion-img.entry.js +1 -1
  223. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  224. package/dist/esm-es5/ion-input.entry.js +1 -1
  225. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  226. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  227. package/dist/esm-es5/ion-loading.entry.js +1 -1
  228. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  229. package/dist/esm-es5/ion-modal.entry.js +1 -1
  230. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  231. package/dist/esm-es5/ion-picker-column-internal.entry.js +4 -0
  232. package/dist/esm-es5/ion-picker-internal.entry.js +4 -0
  233. package/dist/esm-es5/ion-popover.entry.js +1 -1
  234. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  235. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  236. package/dist/esm-es5/ion-range.entry.js +1 -1
  237. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  238. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  239. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  240. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  241. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  242. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  243. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  244. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  245. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  246. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  247. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  248. package/dist/esm-es5/ion-text.entry.js +1 -1
  249. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  250. package/dist/esm-es5/ion-toast.entry.js +1 -1
  251. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  252. package/dist/esm-es5/{ionic-global-c0cda98e.js → ionic-global-6c78e871.js} +1 -1
  253. package/dist/esm-es5/ionic.js +1 -1
  254. package/dist/esm-es5/{ios.transition-fd16bec1.js → ios.transition-daa373e9.js} +1 -1
  255. package/dist/esm-es5/loader.js +1 -1
  256. package/dist/esm-es5/{md.transition-94ac93e1.js → md.transition-91c3d3cc.js} +1 -1
  257. package/dist/esm-es5/overlays-64e67e2c.js +4 -0
  258. package/dist/esm-es5/{status-tap-2b93b1b5.js → status-tap-9dd45200.js} +1 -1
  259. package/dist/esm-es5/swipe-back-a6f386fc.js +4 -0
  260. package/dist/html.html-data.json +3 -154
  261. package/dist/ionic/index.esm.js +1 -1
  262. package/dist/ionic/ionic.esm.js +1 -1
  263. package/dist/ionic/ionic.js +1 -1
  264. package/dist/ionic/{p-30029cc2.system.js → p-0263eb49.system.js} +1 -1
  265. package/dist/ionic/p-06600f70.js +4 -0
  266. package/dist/ionic/p-0827d00e.system.entry.js +4 -0
  267. package/dist/ionic/{p-9738fd82.js → p-12cdcb59.js} +1 -1
  268. package/dist/ionic/{p-1161a793.entry.js → p-161d0916.entry.js} +1 -1
  269. package/dist/ionic/{p-1d624e03.system.js → p-1631b52f.system.js} +1 -1
  270. package/dist/ionic/{p-34c39c48.entry.js → p-18032a93.entry.js} +1 -1
  271. package/dist/ionic/p-19545a49.system.entry.js +4 -0
  272. package/dist/ionic/{p-cfe57b1b.entry.js → p-1c6c6098.entry.js} +1 -1
  273. package/dist/ionic/{p-6e70dd1a.system.entry.js → p-1cbc21e2.system.entry.js} +1 -1
  274. package/dist/ionic/p-1e7daa1f.entry.js +4 -0
  275. package/dist/ionic/{p-2092f39f.entry.js → p-1ff22253.entry.js} +1 -1
  276. package/dist/ionic/{p-5ecae037.js → p-21f015cf.js} +1 -1
  277. package/dist/ionic/{p-3fd26bd6.system.entry.js → p-23a27e78.system.entry.js} +1 -1
  278. package/dist/ionic/p-2507b0c0.entry.js +4 -0
  279. package/dist/ionic/{p-22e5af95.entry.js → p-2657f213.entry.js} +1 -1
  280. package/dist/ionic/{p-6fd64e7c.system.entry.js → p-27a5f2c7.system.entry.js} +1 -1
  281. package/dist/ionic/{p-4a081ea9.entry.js → p-27e6473f.entry.js} +1 -1
  282. package/dist/ionic/{p-6ad34705.system.entry.js → p-2a7e6572.system.entry.js} +1 -1
  283. package/dist/ionic/{p-77965464.system.entry.js → p-2ac9d078.system.entry.js} +1 -1
  284. package/dist/ionic/{p-4fb51e61.system.entry.js → p-2cd9cb80.system.entry.js} +1 -1
  285. package/dist/ionic/{p-17da5ed1.entry.js → p-312221db.entry.js} +1 -1
  286. package/dist/ionic/{p-a225bf0f.system.entry.js → p-315ad733.system.entry.js} +1 -1
  287. package/dist/ionic/{p-3e1e14d9.system.js → p-31b2326e.system.js} +1 -1
  288. package/dist/ionic/p-33f3cd49.entry.js +4 -0
  289. package/dist/ionic/{p-5b365ca7.system.js → p-34d6f520.system.js} +1 -1
  290. package/dist/ionic/{p-b133e9b4.entry.js → p-3535a36c.entry.js} +1 -1
  291. package/dist/ionic/p-35ce400e.system.js +4 -0
  292. package/dist/ionic/{p-93000a81.system.entry.js → p-3acad8ff.system.entry.js} +1 -1
  293. package/dist/ionic/{p-b5f9f14c.entry.js → p-3cb5466e.entry.js} +1 -1
  294. package/dist/ionic/{p-1fc72959.entry.js → p-3f5ae764.entry.js} +1 -1
  295. package/dist/ionic/{p-42ba3902.entry.js → p-405f1a72.entry.js} +1 -1
  296. package/dist/ionic/{p-96dbbac1.system.entry.js → p-41f7af3f.system.entry.js} +1 -1
  297. package/dist/ionic/{p-3fe96156.system.js → p-426bdba9.system.js} +1 -1
  298. package/dist/ionic/p-45db7949.system.entry.js +4 -0
  299. package/dist/ionic/{p-21c3515a.entry.js → p-46dbd723.entry.js} +1 -1
  300. package/dist/ionic/{p-ef126ae8.system.entry.js → p-4f71a9cf.system.entry.js} +1 -1
  301. package/dist/ionic/{p-a4afcc88.entry.js → p-53a3283e.entry.js} +1 -1
  302. package/dist/ionic/{p-4a36430f.system.entry.js → p-57c0d5bf.system.entry.js} +1 -1
  303. package/dist/ionic/p-58dd7c15.entry.js +4 -0
  304. package/dist/ionic/{p-b4a51c42.system.js → p-58ff9e5b.system.js} +1 -1
  305. package/dist/ionic/{p-cde52378.system.entry.js → p-5a7d5905.system.entry.js} +1 -1
  306. package/dist/ionic/p-5c7f13cd.system.entry.js +4 -0
  307. package/dist/ionic/{p-e8e86f69.system.entry.js → p-5f127075.system.entry.js} +1 -1
  308. package/dist/ionic/{p-4a31c99f.entry.js → p-5f46d93e.entry.js} +1 -1
  309. package/dist/ionic/{p-18ba8221.entry.js → p-5fb707e0.entry.js} +1 -1
  310. package/dist/ionic/{p-6fbecbda.entry.js → p-64af4468.entry.js} +1 -1
  311. package/dist/ionic/{p-232d1f22.entry.js → p-6744eca5.entry.js} +1 -1
  312. package/dist/ionic/{p-8f5d30f5.entry.js → p-67598744.entry.js} +1 -1
  313. package/dist/ionic/p-6a6477b2.js +4 -0
  314. package/dist/ionic/{p-7b725280.entry.js → p-6cf08720.entry.js} +1 -1
  315. package/dist/ionic/{p-6d72fb44.entry.js → p-70ecb18b.entry.js} +1 -1
  316. package/dist/ionic/{p-6b7c55cd.entry.js → p-71d986ae.entry.js} +1 -1
  317. package/dist/ionic/p-742e11cf.system.entry.js +4 -0
  318. package/dist/ionic/{p-f7a36cd0.system.js → p-7484b1d6.system.js} +1 -1
  319. package/dist/ionic/p-78ebf1b6.system.entry.js +4 -0
  320. package/dist/ionic/{p-b7010c69.system.entry.js → p-7ae5ca1f.system.entry.js} +1 -1
  321. package/dist/ionic/{p-c847fb35.system.entry.js → p-8261be6c.system.entry.js} +1 -1
  322. package/dist/ionic/p-83fada9e.system.entry.js +4 -0
  323. package/dist/ionic/{p-353b349d.entry.js → p-86c2bbc8.entry.js} +1 -1
  324. package/dist/ionic/{p-1208f939.entry.js → p-89026d53.entry.js} +1 -1
  325. package/dist/ionic/{p-9c229210.system.entry.js → p-89cfbc88.system.entry.js} +2 -2
  326. package/dist/ionic/p-8a10752d.entry.js +4 -0
  327. package/dist/ionic/{p-e7ea9815.system.entry.js → p-8a75f7bf.system.entry.js} +1 -1
  328. package/dist/ionic/{p-32303650.system.entry.js → p-8c202d6e.system.entry.js} +1 -1
  329. package/dist/ionic/{p-a9e3b5be.system.entry.js → p-90db28f8.system.entry.js} +1 -1
  330. package/dist/ionic/{p-d662d908.js → p-91f9e81b.js} +1 -1
  331. package/dist/ionic/{p-f910cc73.system.entry.js → p-93dac17a.system.entry.js} +1 -1
  332. package/dist/ionic/{p-b3b3efba.system.entry.js → p-98ac0e27.system.entry.js} +2 -2
  333. package/dist/ionic/{p-a98dc0c1.entry.js → p-99fe0543.entry.js} +1 -1
  334. package/dist/ionic/{p-c9a21dfd.system.entry.js → p-9f376964.system.entry.js} +1 -1
  335. package/dist/ionic/{p-0e53f8ea.system.entry.js → p-a0945c3a.system.entry.js} +1 -1
  336. package/dist/ionic/{p-9709ebd8.system.entry.js → p-a0db3de9.system.entry.js} +1 -1
  337. package/dist/ionic/{p-5d42b6b4.entry.js → p-a1b4dba7.entry.js} +1 -1
  338. package/dist/ionic/{p-3f6270b3.entry.js → p-a3a145d3.entry.js} +1 -1
  339. package/dist/ionic/{p-5a68960f.entry.js → p-a5c81b99.entry.js} +1 -1
  340. package/dist/ionic/{p-98f3d827.entry.js → p-a70b5d24.entry.js} +1 -1
  341. package/dist/ionic/{p-ab9456e9.system.entry.js → p-a843a90e.system.entry.js} +1 -1
  342. package/dist/ionic/{p-b752714f.system.entry.js → p-a99f14a7.system.entry.js} +1 -1
  343. package/dist/ionic/{p-564af202.system.entry.js → p-aac289d2.system.entry.js} +1 -1
  344. package/dist/ionic/{p-57477107.system.js → p-abab375b.system.js} +1 -1
  345. package/dist/ionic/{p-31158892.js → p-ac4a7fc0.js} +1 -1
  346. package/dist/ionic/{p-c3c3333a.js → p-acdd8148.js} +1 -1
  347. package/dist/ionic/{p-54dfc9b5.system.js → p-ad78c421.system.js} +1 -1
  348. package/dist/ionic/{p-caf21b46.system.entry.js → p-ad953217.system.entry.js} +1 -1
  349. package/dist/ionic/p-af959b5d.entry.js +4 -0
  350. package/dist/ionic/{p-b6f5e4f2.system.entry.js → p-b0fcf130.system.entry.js} +1 -1
  351. package/dist/ionic/p-b11ceee2.entry.js +4 -0
  352. package/dist/ionic/p-b5e33ebc.system.entry.js +4 -0
  353. package/dist/ionic/{p-2938823a.system.entry.js → p-b81a8111.system.entry.js} +1 -1
  354. package/dist/ionic/p-b8f2134e.js +4 -0
  355. package/dist/ionic/{p-9b97df10.js → p-bb3615f7.js} +1 -1
  356. package/dist/ionic/p-bbe3feee.entry.js +4 -0
  357. package/dist/ionic/{p-fbf3a689.system.entry.js → p-bc97b5cd.system.entry.js} +1 -1
  358. package/dist/ionic/{p-d37b441e.entry.js → p-c04accad.entry.js} +1 -1
  359. package/dist/ionic/{p-e3584231.system.js → p-c5ae50be.system.js} +1 -1
  360. package/dist/ionic/{p-20d469d0.system.js → p-c7c8429a.system.js} +1 -1
  361. package/dist/ionic/{p-c18de88a.system.entry.js → p-ca32685b.system.entry.js} +1 -1
  362. package/dist/ionic/p-cde72008.js +4 -0
  363. package/dist/ionic/p-d0251fc4.entry.js +4 -0
  364. package/dist/ionic/p-d1530ea9.entry.js +4 -0
  365. package/dist/ionic/{p-51a087d6.entry.js → p-d3e123c0.entry.js} +1 -1
  366. package/dist/ionic/p-ddccf1f4.js +4 -0
  367. package/dist/ionic/{p-2ab4e925.system.entry.js → p-df361680.system.entry.js} +1 -1
  368. package/dist/ionic/p-e145b9f9.entry.js +4 -0
  369. package/dist/ionic/{p-4155f352.system.js → p-e26030f8.system.js} +1 -1
  370. package/dist/ionic/{p-c91ccbfa.system.entry.js → p-e3c44332.system.entry.js} +1 -1
  371. package/dist/ionic/{p-f8a5bb89.entry.js → p-e4045e04.entry.js} +1 -1
  372. package/dist/ionic/{p-535d2a67.entry.js → p-e8e530fc.entry.js} +1 -1
  373. package/dist/ionic/p-eab6401e.js +4 -0
  374. package/dist/ionic/p-edc5c693.system.entry.js +4 -0
  375. package/dist/ionic/{p-4911a5d6.entry.js → p-ee4a54e3.entry.js} +1 -1
  376. package/dist/ionic/{p-5bebc7b3.system.entry.js → p-eef8d7e8.system.entry.js} +1 -1
  377. package/dist/ionic/p-f0384573.system.entry.js +4 -0
  378. package/dist/ionic/p-f10de9d5.system.js +4 -0
  379. package/dist/ionic/{p-0add7211.entry.js → p-f34d6a49.entry.js} +1 -1
  380. package/dist/ionic/p-f444fea5.entry.js +4 -0
  381. package/dist/ionic/{p-8ededb41.js → p-f5d2dc9b.js} +1 -1
  382. package/dist/ionic/{p-d3b030b8.system.js → p-f8c5a0dd.system.js} +1 -1
  383. package/dist/ionic/p-fcf49977.system.entry.js +4 -0
  384. package/dist/types/components/backdrop/backdrop.d.ts +3 -0
  385. package/dist/types/components/datetime/datetime.d.ts +1 -0
  386. package/dist/types/components/datetime/utils/data.d.ts +7 -11
  387. package/dist/types/components/input/input.d.ts +1 -5
  388. package/dist/types/components/menu/menu.d.ts +1 -1
  389. package/dist/types/components/picker/picker.d.ts +131 -74
  390. package/dist/types/components/picker-column/picker-column.d.ts +39 -99
  391. package/dist/types/components/picker-column-internal/picker-column-internal-interfaces.d.ts +5 -0
  392. package/dist/types/components/picker-column-internal/picker-column-internal.d.ts +102 -0
  393. package/dist/types/components/picker-internal/picker-internal-interfaces.d.ts +8 -0
  394. package/dist/types/components/picker-internal/picker-internal.d.ts +102 -0
  395. package/dist/types/components/refresher/refresher.utils.d.ts +16 -0
  396. package/dist/types/components/searchbar/searchbar.d.ts +0 -2
  397. package/dist/types/components/textarea/textarea.d.ts +1 -5
  398. package/dist/types/components.d.ts +129 -162
  399. package/dist/types/interface.d.ts +1 -1
  400. package/dist/types/utils/config.d.ts +2 -2
  401. package/dist/types/utils/gesture/gesture-controller.d.ts +0 -1
  402. package/dist/types/utils/overlays.d.ts +2 -5
  403. package/hydrate/index.d.ts +1 -1
  404. package/hydrate/index.js +948 -1040
  405. package/package.json +2 -2
  406. package/components/ion-picker-column-option.d.ts +0 -11
  407. package/components/ion-picker-column-option.js +0 -9
  408. package/components/ion-picker-legacy-column.d.ts +0 -11
  409. package/components/ion-picker-legacy-column.js +0 -9
  410. package/components/ion-picker-legacy.js +0 -309
  411. package/components/picker-column-option.js +0 -122
  412. package/components/picker-column2.js +0 -379
  413. package/dist/cjs/ion-picker-column-option.cjs.entry.js +0 -104
  414. package/dist/collection/components/picker/test/custom/picker.e2e.js +0 -85
  415. package/dist/collection/components/picker-column/test/disabled/picker-column.e2e.js +0 -91
  416. package/dist/collection/components/picker-column/test/slots/picker-column.e2e.js +0 -39
  417. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +0 -87
  418. package/dist/collection/components/picker-column-option/picker-column-option.js +0 -173
  419. package/dist/collection/components/picker-column-option/test/a11y/picker-column-option.e2e.js +0 -18
  420. package/dist/collection/components/picker-column-option/test/basic/picker-column-option.e2e.js +0 -37
  421. package/dist/collection/components/picker-column-option/test/picker-column-option.spec.js +0 -29
  422. package/dist/collection/components/picker-legacy/picker.js +0 -817
  423. package/dist/collection/components/picker-legacy/test/basic/picker.e2e.js +0 -25
  424. package/dist/collection/components/picker-legacy-column/picker-column.js +0 -419
  425. package/dist/collection/utils/test/overlays/overlays-scroll-blocking.spec.js +0 -65
  426. package/dist/esm/ion-picker-column-option.entry.js +0 -100
  427. package/dist/esm-es5/app-globals-722340c4.js +0 -4
  428. package/dist/esm-es5/ion-picker-column-option.entry.js +0 -4
  429. package/dist/esm-es5/ion-picker-column.entry.js +0 -4
  430. package/dist/esm-es5/ion-picker.entry.js +0 -4
  431. package/dist/esm-es5/overlays-fbc5cab5.js +0 -4
  432. package/dist/esm-es5/swipe-back-a8ca7f93.js +0 -4
  433. package/dist/ionic/p-1786bc72.js +0 -4
  434. package/dist/ionic/p-26798a7b.system.entry.js +0 -4
  435. package/dist/ionic/p-27bcbbc7.system.entry.js +0 -4
  436. package/dist/ionic/p-350f7292.system.entry.js +0 -4
  437. package/dist/ionic/p-36d194c5.entry.js +0 -4
  438. package/dist/ionic/p-3993ae66.entry.js +0 -4
  439. package/dist/ionic/p-3ba01a9c.system.entry.js +0 -4
  440. package/dist/ionic/p-4890093d.js +0 -4
  441. package/dist/ionic/p-51abefb7.system.js +0 -4
  442. package/dist/ionic/p-563c41f0.system.entry.js +0 -4
  443. package/dist/ionic/p-588fdf40.entry.js +0 -4
  444. package/dist/ionic/p-5a1aac13.system.entry.js +0 -4
  445. package/dist/ionic/p-73190c5f.entry.js +0 -4
  446. package/dist/ionic/p-73aa7604.entry.js +0 -4
  447. package/dist/ionic/p-76d3765d.js +0 -4
  448. package/dist/ionic/p-8017aad2.system.entry.js +0 -4
  449. package/dist/ionic/p-846ee227.entry.js +0 -4
  450. package/dist/ionic/p-8c97cdc0.entry.js +0 -4
  451. package/dist/ionic/p-8e42850f.entry.js +0 -4
  452. package/dist/ionic/p-8fa6583d.system.js +0 -4
  453. package/dist/ionic/p-91af3c52.system.entry.js +0 -4
  454. package/dist/ionic/p-a60a1ce5.js +0 -4
  455. package/dist/ionic/p-a8baa23e.entry.js +0 -4
  456. package/dist/ionic/p-a9a80f5b.entry.js +0 -4
  457. package/dist/ionic/p-afcf4620.entry.js +0 -4
  458. package/dist/ionic/p-b4d31b30.system.entry.js +0 -4
  459. package/dist/ionic/p-c41bff4e.system.entry.js +0 -4
  460. package/dist/ionic/p-ca8938f4.js +0 -4
  461. package/dist/ionic/p-da15f571.system.entry.js +0 -4
  462. package/dist/ionic/p-e4d90573.js +0 -4
  463. package/dist/ionic/p-ea69616e.entry.js +0 -4
  464. package/dist/ionic/p-fe4dde76.entry.js +0 -4
  465. package/dist/ionic/p-ffd5dba4.system.entry.js +0 -4
  466. package/dist/types/components/picker/picker-interfaces.d.ts +0 -8
  467. package/dist/types/components/picker-column/picker-column-interfaces.d.ts +0 -4
  468. package/dist/types/components/picker-column-option/picker-column-option.d.ts +0 -66
  469. package/dist/types/components/picker-legacy/picker.d.ts +0 -158
  470. package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
  471. /package/dist/collection/components/{picker-legacy → picker}/animations/ios.enter.js +0 -0
  472. /package/dist/collection/components/{picker-legacy → picker}/animations/ios.leave.js +0 -0
  473. /package/dist/collection/components/picker/{picker-interfaces.js → picker-interface.js} +0 -0
  474. /package/dist/collection/components/{picker-legacy-column → picker-column}/picker-column.ios.css +0 -0
  475. /package/dist/collection/components/{picker-legacy-column → picker-column}/picker-column.md.css +0 -0
  476. /package/dist/collection/components/{picker-legacy-column → picker-column}/test/test.utils.js +0 -0
  477. /package/dist/collection/components/{picker-column/picker-column-interfaces.js → picker-column-internal/picker-column-internal-interfaces.js} +0 -0
  478. /package/dist/collection/components/{picker-legacy/picker-interface.js → picker-internal/picker-internal-interfaces.js} +0 -0
  479. /package/dist/esm-es5/{data-4b9508c9.js → data-f5c75b4e.js} +0 -0
  480. /package/dist/ionic/{p-368f5215.js → p-2aea8b1e.js} +0 -0
  481. /package/dist/ionic/{p-f58981c2.system.js → p-82e3d633.system.js} +0 -0
  482. /package/dist/types/components/{picker-legacy → picker}/animations/ios.enter.d.ts +0 -0
  483. /package/dist/types/components/{picker-legacy → picker}/animations/ios.leave.d.ts +0 -0
  484. /package/dist/types/components/{picker-legacy → picker}/picker-interface.d.ts +0 -0
  485. /package/dist/types/components/{picker-legacy-column → picker-column}/test/test.utils.d.ts +0 -0
@@ -4,7 +4,6 @@
4
4
  import { writeTask } from "@stencil/core";
5
5
  import { createAnimation } from "../../utils/animation/animation";
6
6
  import { clamp, componentOnReady, transitionEndAsync } from "../../utils/helpers";
7
- import { isPlatform } from "../../utils/platform";
8
7
  export const getRefresherAnimationType = (contentEl) => {
9
8
  const previousSibling = contentEl.previousElementSibling;
10
9
  const hasHeader = previousSibling !== null && previousSibling.tagName === 'ION-HEADER';
@@ -162,6 +161,24 @@ export const translateElement = (el, value, duration = 200) => {
162
161
  };
163
162
  // Utils
164
163
  // -----------------------------
164
+ /**
165
+ * In order to use the native iOS refresher the device must support rubber band scrolling.
166
+ * As part of this, we need to exclude Desktop Safari because it has a slightly different rubber band effect that is not compatible with the native refresher in Ionic.
167
+ *
168
+ * We also need to be careful not to include devices that spoof their user agent.
169
+ * For example, when using iOS emulation in Chrome the user agent will be spoofed such that
170
+ * navigator.maxTouchPointer > 0. To work around this,
171
+ * we check to see if the apple-pay-logo is supported as a named image which is only
172
+ * true on Apple devices.
173
+ *
174
+ * We previously checked referencEl.style.webkitOverflowScrolling to explicitly check
175
+ * for rubber band support. However, this property was removed on iPadOS and it's possible
176
+ * that this will be removed on iOS in the future too.
177
+ *
178
+ */
179
+ export const supportsRubberBandScrolling = () => {
180
+ return navigator.maxTouchPoints > 0 && CSS.supports('background: -webkit-named-image(apple-pay-logo-black)');
181
+ };
165
182
  export const shouldUseNativeRefresher = async (referenceEl, mode) => {
166
183
  const refresherContent = referenceEl.querySelector('ion-refresher-content');
167
184
  if (!refresherContent) {
@@ -172,14 +189,5 @@ export const shouldUseNativeRefresher = async (referenceEl, mode) => {
172
189
  const refreshingSpinner = referenceEl.querySelector('ion-refresher-content .refresher-refreshing ion-spinner');
173
190
  return (pullingSpinner !== null &&
174
191
  refreshingSpinner !== null &&
175
- /**
176
- * We use webkitOverflowScrolling for feature detection with rubber band scrolling
177
- * on iOS. When doing referenceEl.style, webkitOverflowScrolling is undefined on non-iOS platforms.
178
- * However, it will be the empty string on iOS.
179
- * Note that we do not use getPropertyValue (and thus need to cast as any) because calling
180
- * getPropertyValue('-webkit-overflow-scrolling') will return the empty string if it is not
181
- * set on the element, even if the platform does not support that.
182
- */
183
- ((mode === 'ios' && isPlatform('mobile') && referenceEl.style.webkitOverflowScrolling !== undefined) ||
184
- mode === 'md'));
192
+ ((mode === 'ios' && supportsRubberBandScrolling()) || mode === 'md'));
185
193
  };
@@ -3,11 +3,11 @@
3
3
  */
4
4
  import { Host, h } from "@stencil/core";
5
5
  import { ENABLE_HTML_CONTENT_DEFAULT } from "../../utils/config";
6
- import { isPlatform } from "../../utils/platform";
7
6
  import { sanitizeDOMString } from "../../utils/sanitization/index";
8
7
  import { arrowDown, caretBackSharp } from "ionicons/icons";
9
8
  import { config } from "../../global/config";
10
9
  import { getIonMode } from "../../global/ionic-global";
10
+ import { supportsRubberBandScrolling } from "../refresher/refresher.utils";
11
11
  import { SPINNERS } from "../spinner/spinner-configs";
12
12
  export class RefresherContent {
13
13
  constructor() {
@@ -19,9 +19,15 @@ export class RefresherContent {
19
19
  }
20
20
  componentWillLoad() {
21
21
  if (this.pullingIcon === undefined) {
22
+ /**
23
+ * The native iOS refresher uses a spinner instead of
24
+ * an icon, so we need to see if this device supports
25
+ * the native iOS refresher.
26
+ */
27
+ const hasRubberBandScrolling = supportsRubberBandScrolling();
22
28
  const mode = getIonMode(this);
23
- const overflowRefresher = this.el.style.webkitOverflowScrolling !== undefined ? 'lines' : arrowDown;
24
- this.pullingIcon = config.get('refreshingIcon', mode === 'ios' && isPlatform('mobile') ? config.get('spinner', overflowRefresher) : 'circular');
29
+ const overflowRefresher = hasRubberBandScrolling ? 'lines' : arrowDown;
30
+ this.pullingIcon = config.get('refreshingIcon', mode === 'ios' && hasRubberBandScrolling ? config.get('spinner', overflowRefresher) : 'circular');
25
31
  }
26
32
  if (this.refreshingSpinner === undefined) {
27
33
  const mode = getIonMode(this);
@@ -180,8 +180,6 @@ export class Searchbar {
180
180
  *
181
181
  * Developers who wish to focus an input when an overlay is presented
182
182
  * should call `setFocus` after `didPresent` has resolved.
183
- *
184
- * See [managing focus](/docs/developing/managing-focus) for more information.
185
183
  */
186
184
  async setFocus() {
187
185
  if (this.nativeInput) {
@@ -892,7 +890,7 @@ export class Searchbar {
892
890
  "return": "Promise<void>"
893
891
  },
894
892
  "docs": {
895
- "text": "Sets focus on the native `input` in `ion-searchbar`. 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.",
893
+ "text": "Sets focus on the native `input` in `ion-searchbar`. 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.",
896
894
  "tags": []
897
895
  }
898
896
  },
@@ -160,8 +160,6 @@ export class Textarea {
160
160
  /**
161
161
  * Sets focus on the native `textarea` in `ion-textarea`. Use this method instead of the global
162
162
  * `textarea.focus()`.
163
- *
164
- * See [managing focus](/docs/developing/managing-focus) for more information.
165
163
  */
166
164
  async setFocus() {
167
165
  if (this.nativeInput) {
@@ -450,7 +448,7 @@ Developers can use the "legacy" property to continue using the legacy form marku
450
448
  "optional": false,
451
449
  "docs": {
452
450
  "tags": [],
453
- "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."
451
+ "text": "This Boolean attribute lets you specify that a form control should have input focus when the page loads."
454
452
  },
455
453
  "attribute": "autofocus",
456
454
  "reflect": false,
@@ -1037,7 +1035,7 @@ Developers can use the "legacy" property to continue using the legacy form marku
1037
1035
  "return": "Promise<void>"
1038
1036
  },
1039
1037
  "docs": {
1040
- "text": "Sets focus on the native `textarea` in `ion-textarea`. Use this method instead of the global\n`textarea.focus()`.\n\nSee [managing focus](/docs/developing/managing-focus) for more information.",
1038
+ "text": "Sets focus on the native `textarea` in `ion-textarea`. Use this method instead of the global\n`textarea.focus()`.",
1041
1039
  "tags": []
1042
1040
  }
1043
1041
  },
@@ -189,5 +189,5 @@ class BlockerDelegate {
189
189
  this.ctrl = undefined;
190
190
  }
191
191
  }
192
- export const BACKDROP_NO_SCROLL = 'backdrop-no-scroll';
192
+ const BACKDROP_NO_SCROLL = 'backdrop-no-scroll';
193
193
  export const GESTURE_CONTROLLER = new GestureController();
@@ -5,7 +5,6 @@ import { doc } from "./browser/index";
5
5
  import { config } from "../global/config";
6
6
  import { getIonMode } from "../global/ionic-global";
7
7
  import { CoreDelegate } from "./framework-delegate";
8
- import { BACKDROP_NO_SCROLL } from "./gesture/gesture-controller";
9
8
  import { OVERLAY_BACK_BUTTON_PRIORITY } from "./hardware-back-button";
10
9
  import { addEventListener, componentOnReady, focusElement, getElementRoot, removeEventListener } from "./helpers";
11
10
  import { printIonWarning } from "./logging";
@@ -29,10 +28,7 @@ export const alertController = /*@__PURE__*/ createController('ion-alert');
29
28
  export const actionSheetController = /*@__PURE__*/ createController('ion-action-sheet');
30
29
  export const loadingController = /*@__PURE__*/ createController('ion-loading');
31
30
  export const modalController = /*@__PURE__*/ createController('ion-modal');
32
- /**
33
- * @deprecated Use the inline ion-picker component instead.
34
- */
35
- export const pickerController = /*@__PURE__*/ createController('ion-picker-legacy');
31
+ export const pickerController = /*@__PURE__*/ createController('ion-picker');
36
32
  export const popoverController = /*@__PURE__*/ createController('ion-popover');
37
33
  export const toastController = /*@__PURE__*/ createController('ion-toast');
38
34
  /**
@@ -142,7 +138,7 @@ const focusLastDescendant = (ref, overlay) => {
142
138
  * Should NOT include: Toast
143
139
  */
144
140
  const trapKeyboardFocus = (ev, doc) => {
145
- const lastOverlay = getPresentedOverlay(doc, 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker-legacy,ion-popover');
141
+ const lastOverlay = getPresentedOverlay(doc, 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker,ion-popover');
146
142
  const target = ev.target;
147
143
  /**
148
144
  * If no active overlay, ignore this event.
@@ -327,7 +323,7 @@ export const dismissOverlay = (doc, data, role, overlayTag, id) => {
327
323
  */
328
324
  export const getOverlays = (doc, selector) => {
329
325
  if (selector === undefined) {
330
- selector = 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker-legacy,ion-popover,ion-toast';
326
+ selector = 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker,ion-popover,ion-toast';
331
327
  }
332
328
  return Array.from(doc.querySelectorAll(selector)).filter((c) => c.overlayIndex > 0);
333
329
  };
@@ -393,7 +389,6 @@ export const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation
393
389
  return;
394
390
  }
395
391
  setRootAriaHidden(true);
396
- document.body.classList.add(BACKDROP_NO_SCROLL);
397
392
  overlay.presented = true;
398
393
  overlay.willPresent.emit();
399
394
  (_a = overlay.willPresentShorthand) === null || _a === void 0 ? void 0 : _a.emit();
@@ -456,14 +451,12 @@ export const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLe
456
451
  if (!overlay.presented) {
457
452
  return false;
458
453
  }
459
- const lastOverlay = doc !== undefined && getPresentedOverlays(doc).length === 1;
460
454
  /**
461
455
  * If this is the last visible overlay then
462
456
  * we want to re-add the root to the accessibility tree.
463
457
  */
464
- if (lastOverlay) {
458
+ if (doc !== undefined && getPresentedOverlays(doc).length === 1) {
465
459
  setRootAriaHidden(false);
466
- document.body.classList.remove(BACKDROP_NO_SCROLL);
467
460
  }
468
461
  overlay.presented = false;
469
462
  try {