@ionic/core 7.3.4-dev.11694608913.1bc64f72 → 7.3.4-dev.11694700050.1d868b6b

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 (411) hide show
  1. package/components/button-active.js +1 -1
  2. package/components/checkbox.js +3 -6
  3. package/components/data.js +7 -31
  4. package/components/index.js +2 -2
  5. package/components/index2.js +429 -203
  6. package/components/index3.js +203 -429
  7. package/components/input-shims.js +114 -7
  8. package/components/ion-datetime-button.js +0 -3
  9. package/components/ion-datetime.js +92 -132
  10. package/components/ion-item-sliding.js +1 -1
  11. package/components/ion-menu.js +1 -1
  12. package/components/ion-modal.js +2 -2
  13. package/components/ion-nav.js +1 -1
  14. package/components/ion-range.js +3 -3
  15. package/components/ion-refresher.js +3 -3
  16. package/components/ion-reorder-group.js +1 -1
  17. package/components/ion-router-outlet.js +1 -1
  18. package/components/ion-segment.js +1 -1
  19. package/components/ion-toggle.js +4 -7
  20. package/components/ios.transition.js +1 -1
  21. package/components/md.transition.js +1 -1
  22. package/components/picker-column.js +1 -1
  23. package/components/popover.js +1 -1
  24. package/components/radio.js +3 -6
  25. package/components/swipe-back.js +1 -1
  26. package/dist/cjs/{app-globals-a579aafd.js → app-globals-a63c2a19.js} +1 -1
  27. package/dist/cjs/{button-active-dfd2756e.js → button-active-0ff8e82c.js} +1 -1
  28. package/dist/cjs/{data-db832785.js → data-967b9c15.js} +7 -31
  29. package/dist/cjs/{index-484b1104.js → index-184fdd62.js} +6 -6
  30. package/dist/cjs/{index-8568bedb.js → index-be8a2ab9.js} +3 -3
  31. package/dist/cjs/{index-653be4df.js → index-e6416850.js} +1 -1
  32. package/dist/cjs/index.cjs.js +14 -15
  33. package/dist/cjs/{input-shims-f8569707.js → input-shims-8d1ba420.js} +118 -12
  34. package/dist/cjs/ion-accordion_2.cjs.entry.js +2 -2
  35. package/dist/cjs/ion-action-sheet.cjs.entry.js +4 -4
  36. package/dist/cjs/ion-alert.cjs.entry.js +4 -4
  37. package/dist/cjs/ion-app_8.cjs.entry.js +5 -5
  38. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  39. package/dist/cjs/ion-back-button.cjs.entry.js +2 -2
  40. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
  41. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +2 -2
  42. package/dist/cjs/ion-button_2.cjs.entry.js +2 -2
  43. package/dist/cjs/ion-card_5.cjs.entry.js +2 -2
  44. package/dist/cjs/ion-checkbox.cjs.entry.js +5 -7
  45. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  46. package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
  47. package/dist/cjs/ion-datetime-button.cjs.entry.js +3 -6
  48. package/dist/cjs/ion-datetime_3.cjs.entry.js +96 -135
  49. package/dist/cjs/ion-fab_3.cjs.entry.js +2 -2
  50. package/dist/cjs/ion-img.cjs.entry.js +2 -2
  51. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
  52. package/dist/cjs/ion-input.cjs.entry.js +2 -2
  53. package/dist/cjs/ion-item-option_3.cjs.entry.js +2 -2
  54. package/dist/cjs/ion-item_8.cjs.entry.js +2 -2
  55. package/dist/cjs/ion-loading.cjs.entry.js +3 -3
  56. package/dist/cjs/ion-menu_3.cjs.entry.js +4 -4
  57. package/dist/cjs/ion-modal.cjs.entry.js +4 -4
  58. package/dist/cjs/ion-nav_2.cjs.entry.js +3 -3
  59. package/dist/cjs/ion-picker-column-internal.cjs.entry.js +2 -2
  60. package/dist/cjs/ion-picker-internal.cjs.entry.js +1 -1
  61. package/dist/cjs/ion-popover.cjs.entry.js +4 -4
  62. package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
  63. package/dist/cjs/ion-radio_2.cjs.entry.js +5 -7
  64. package/dist/cjs/ion-range.cjs.entry.js +4 -4
  65. package/dist/cjs/ion-refresher_2.cjs.entry.js +2 -2
  66. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  67. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
  68. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  69. package/dist/cjs/ion-searchbar.cjs.entry.js +2 -2
  70. package/dist/cjs/ion-segment_2.cjs.entry.js +2 -2
  71. package/dist/cjs/ion-select_3.cjs.entry.js +3 -3
  72. package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
  73. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  74. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +2 -2
  75. package/dist/cjs/ion-tab_2.cjs.entry.js +1 -1
  76. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  77. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  78. package/dist/cjs/ion-toast.cjs.entry.js +3 -3
  79. package/dist/cjs/ion-toggle.cjs.entry.js +5 -7
  80. package/dist/cjs/{ionic-global-f81d8b73.js → ionic-global-6d5d27b5.js} +1 -1
  81. package/dist/cjs/ionic.cjs.js +5 -5
  82. package/dist/cjs/{ios.transition-f7c78d7c.js → ios.transition-80582b44.js} +2 -2
  83. package/dist/cjs/loader.cjs.js +4 -4
  84. package/dist/cjs/{md.transition-65dc7dce.js → md.transition-eeca9fb5.js} +2 -2
  85. package/dist/cjs/{overlays-5c1706ed.js → overlays-c78a0148.js} +1 -1
  86. package/dist/cjs/{status-tap-4564b66c.js → status-tap-cc4c6539.js} +1 -1
  87. package/dist/collection/collection-manifest.json +1 -1
  88. package/dist/collection/components/checkbox/checkbox.ios.css +0 -35
  89. package/dist/collection/components/checkbox/checkbox.js +4 -24
  90. package/dist/collection/components/checkbox/checkbox.md.css +0 -35
  91. package/dist/collection/components/checkbox/test/item/checkbox.e2e.js +0 -13
  92. package/dist/collection/components/checkbox/test/label/checkbox.e2e.js +0 -16
  93. package/dist/collection/components/datetime/datetime.ios.css +29 -32
  94. package/dist/collection/components/datetime/datetime.js +93 -137
  95. package/dist/collection/components/datetime/datetime.md.css +28 -20
  96. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +0 -25
  97. package/dist/collection/components/datetime/test/color/datetime.e2e.js +1 -1
  98. package/dist/collection/components/datetime/test/custom/datetime.e2e.js +1 -27
  99. package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +0 -15
  100. package/dist/collection/components/datetime/test/set-value/datetime.e2e.js +12 -9
  101. package/dist/collection/components/datetime/utils/data.js +6 -14
  102. package/dist/collection/components/datetime/utils/parse.js +1 -18
  103. package/dist/collection/components/datetime-button/datetime-button.js +0 -3
  104. package/dist/collection/components/radio/radio.ios.css +0 -35
  105. package/dist/collection/components/radio/radio.js +4 -24
  106. package/dist/collection/components/radio/radio.md.css +0 -35
  107. package/dist/collection/components/radio/test/item/radio.e2e.js +0 -15
  108. package/dist/collection/components/radio/test/label-placement/radio.e2e.js +0 -20
  109. package/dist/collection/components/range/range.ios.css +1 -41
  110. package/dist/collection/components/range/range.js +3 -3
  111. package/dist/collection/components/range/range.md.css +1 -41
  112. package/dist/collection/components/range/test/label/range.e2e.js +0 -48
  113. package/dist/collection/components/toggle/test/item/toggle.e2e.js +0 -15
  114. package/dist/collection/components/toggle/test/label/toggle.e2e.js +0 -16
  115. package/dist/collection/components/toggle/toggle.ios.css +1 -35
  116. package/dist/collection/components/toggle/toggle.js +4 -24
  117. package/dist/collection/components/toggle/toggle.md.css +1 -35
  118. package/dist/collection/index.js +0 -1
  119. package/dist/collection/utils/input-shims/hacks/scroll-assist.js +112 -4
  120. package/dist/collection/utils/input-shims/hacks/scroll-data.js +2 -3
  121. package/dist/docs.json +19 -148
  122. package/dist/esm/{app-globals-e8ddf830.js → app-globals-c7886b40.js} +1 -1
  123. package/dist/esm/{button-active-2da0f611.js → button-active-b76ae4ec.js} +1 -1
  124. package/dist/esm/{data-009dbf15.js → data-4b448e3a.js} +7 -31
  125. package/dist/esm/{index-6391de89.js → index-01839411.js} +3 -3
  126. package/dist/esm/{index-b3e05099.js → index-48f5e259.js} +1 -1
  127. package/dist/esm/{index-847f2fde.js → index-adfb2000.js} +6 -6
  128. package/dist/esm/index.js +7 -7
  129. package/dist/esm/{input-shims-af993f05.js → input-shims-62af6bcc.js} +114 -8
  130. package/dist/esm/ion-accordion_2.entry.js +2 -2
  131. package/dist/esm/ion-action-sheet.entry.js +4 -4
  132. package/dist/esm/ion-alert.entry.js +4 -4
  133. package/dist/esm/ion-app_8.entry.js +5 -5
  134. package/dist/esm/ion-avatar_3.entry.js +2 -2
  135. package/dist/esm/ion-back-button.entry.js +2 -2
  136. package/dist/esm/ion-backdrop.entry.js +2 -2
  137. package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
  138. package/dist/esm/ion-button_2.entry.js +2 -2
  139. package/dist/esm/ion-card_5.entry.js +2 -2
  140. package/dist/esm/ion-checkbox.entry.js +5 -7
  141. package/dist/esm/ion-chip.entry.js +2 -2
  142. package/dist/esm/ion-col_3.entry.js +2 -2
  143. package/dist/esm/ion-datetime-button.entry.js +3 -6
  144. package/dist/esm/ion-datetime_3.entry.js +96 -135
  145. package/dist/esm/ion-fab_3.entry.js +2 -2
  146. package/dist/esm/ion-img.entry.js +2 -2
  147. package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
  148. package/dist/esm/ion-input.entry.js +2 -2
  149. package/dist/esm/ion-item-option_3.entry.js +2 -2
  150. package/dist/esm/ion-item_8.entry.js +2 -2
  151. package/dist/esm/ion-loading.entry.js +3 -3
  152. package/dist/esm/ion-menu_3.entry.js +4 -4
  153. package/dist/esm/ion-modal.entry.js +4 -4
  154. package/dist/esm/ion-nav_2.entry.js +3 -3
  155. package/dist/esm/ion-picker-column-internal.entry.js +2 -2
  156. package/dist/esm/ion-picker-internal.entry.js +1 -1
  157. package/dist/esm/ion-popover.entry.js +4 -4
  158. package/dist/esm/ion-progress-bar.entry.js +2 -2
  159. package/dist/esm/ion-radio_2.entry.js +5 -7
  160. package/dist/esm/ion-range.entry.js +4 -4
  161. package/dist/esm/ion-refresher_2.entry.js +2 -2
  162. package/dist/esm/ion-reorder_2.entry.js +2 -2
  163. package/dist/esm/ion-ripple-effect.entry.js +2 -2
  164. package/dist/esm/ion-route_4.entry.js +2 -2
  165. package/dist/esm/ion-searchbar.entry.js +2 -2
  166. package/dist/esm/ion-segment_2.entry.js +2 -2
  167. package/dist/esm/ion-select_3.entry.js +3 -3
  168. package/dist/esm/ion-spinner.entry.js +2 -2
  169. package/dist/esm/ion-split-pane.entry.js +2 -2
  170. package/dist/esm/ion-tab-bar_2.entry.js +2 -2
  171. package/dist/esm/ion-tab_2.entry.js +1 -1
  172. package/dist/esm/ion-text.entry.js +2 -2
  173. package/dist/esm/ion-textarea.entry.js +2 -2
  174. package/dist/esm/ion-toast.entry.js +3 -3
  175. package/dist/esm/ion-toggle.entry.js +5 -7
  176. package/dist/esm/{ionic-global-1ef19007.js → ionic-global-9080266a.js} +1 -1
  177. package/dist/esm/ionic.js +6 -6
  178. package/dist/esm/{ios.transition-3137d23e.js → ios.transition-f43871cd.js} +2 -2
  179. package/dist/esm/loader.js +5 -5
  180. package/dist/esm/{md.transition-48b3b77c.js → md.transition-12d21ad0.js} +2 -2
  181. package/dist/esm/{overlays-e1dadfe6.js → overlays-4565894b.js} +1 -1
  182. package/dist/esm/{status-tap-823a0df3.js → status-tap-121c711d.js} +1 -1
  183. package/dist/esm-es5/app-globals-c7886b40.js +4 -0
  184. package/dist/esm-es5/{button-active-2da0f611.js → button-active-b76ae4ec.js} +1 -1
  185. package/dist/esm-es5/data-4b448e3a.js +4 -0
  186. package/dist/esm-es5/{index-6391de89.js → index-01839411.js} +1 -1
  187. package/dist/esm-es5/{index-b3e05099.js → index-48f5e259.js} +1 -1
  188. package/dist/esm-es5/index.js +1 -1
  189. package/dist/esm-es5/input-shims-62af6bcc.js +4 -0
  190. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  191. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  192. package/dist/esm-es5/ion-alert.entry.js +1 -1
  193. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  194. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  195. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  196. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  197. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  198. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  199. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  200. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  201. package/dist/esm-es5/ion-chip.entry.js +1 -1
  202. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  203. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  204. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  205. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  206. package/dist/esm-es5/ion-img.entry.js +1 -1
  207. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  208. package/dist/esm-es5/ion-input.entry.js +1 -1
  209. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  210. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  211. package/dist/esm-es5/ion-loading.entry.js +1 -1
  212. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  213. package/dist/esm-es5/ion-modal.entry.js +1 -1
  214. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  215. package/dist/esm-es5/ion-picker-column-internal.entry.js +1 -1
  216. package/dist/esm-es5/ion-picker-internal.entry.js +1 -1
  217. package/dist/esm-es5/ion-popover.entry.js +1 -1
  218. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  219. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  220. package/dist/esm-es5/ion-range.entry.js +1 -1
  221. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  222. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  223. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  224. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  225. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  226. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  227. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  228. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  229. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  230. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  231. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  232. package/dist/esm-es5/ion-text.entry.js +1 -1
  233. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  234. package/dist/esm-es5/ion-toast.entry.js +1 -1
  235. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  236. package/dist/esm-es5/{ionic-global-1ef19007.js → ionic-global-9080266a.js} +1 -1
  237. package/dist/esm-es5/ionic.js +1 -1
  238. package/dist/esm-es5/{ios.transition-3137d23e.js → ios.transition-f43871cd.js} +1 -1
  239. package/dist/esm-es5/loader.js +1 -1
  240. package/dist/esm-es5/md.transition-12d21ad0.js +4 -0
  241. package/dist/esm-es5/{overlays-e1dadfe6.js → overlays-4565894b.js} +1 -1
  242. package/dist/esm-es5/{status-tap-823a0df3.js → status-tap-121c711d.js} +1 -1
  243. package/dist/html.html-data.json +4 -52
  244. package/dist/ionic/index.esm.js +1 -1
  245. package/dist/ionic/ionic.esm.js +1 -1
  246. package/dist/ionic/ionic.js +1 -1
  247. package/dist/ionic/{p-fac1660b.entry.js → p-041ac2c3.entry.js} +1 -1
  248. package/dist/ionic/{p-fabb7294.entry.js → p-072f99fd.entry.js} +1 -1
  249. package/dist/ionic/{p-99028088.entry.js → p-07656a8a.entry.js} +1 -1
  250. package/dist/ionic/{p-e9c112ba.entry.js → p-07f5e286.entry.js} +1 -1
  251. package/dist/ionic/{p-4a153fbc.system.entry.js → p-0ce43a8f.system.entry.js} +1 -1
  252. package/dist/ionic/{p-98ebc376.entry.js → p-0dbfa45f.entry.js} +1 -1
  253. package/dist/ionic/{p-38dd9aec.entry.js → p-11d0977d.entry.js} +1 -1
  254. package/dist/ionic/p-17e961cf.entry.js +4 -0
  255. package/dist/ionic/{p-fe83e3e2.entry.js → p-1916030e.entry.js} +1 -1
  256. package/dist/ionic/p-1b533a76.system.entry.js +4 -0
  257. package/dist/ionic/{p-bbae0ac3.system.entry.js → p-1c236453.system.entry.js} +1 -1
  258. package/dist/ionic/{p-b2514862.system.entry.js → p-204fb8f0.system.entry.js} +1 -1
  259. package/dist/ionic/{p-82f5c07e.system.entry.js → p-23ddd787.system.entry.js} +1 -1
  260. package/dist/ionic/{p-f5b7b710.system.entry.js → p-26276eb7.system.entry.js} +1 -1
  261. package/dist/ionic/{p-208f640c.entry.js → p-28d8b87b.entry.js} +1 -1
  262. package/dist/ionic/{p-e805ff9f.system.entry.js → p-2ac2278e.system.entry.js} +1 -1
  263. package/dist/ionic/p-2b0ecc04.entry.js +4 -0
  264. package/dist/ionic/{p-69303bb5.system.js → p-2e5930dd.system.js} +1 -1
  265. package/dist/ionic/{p-bf4b8d8a.system.entry.js → p-32983529.system.entry.js} +1 -1
  266. package/dist/ionic/{p-b9654781.system.entry.js → p-3bf120f8.system.entry.js} +1 -1
  267. package/dist/ionic/{p-e3cba96d.js → p-3c325277.js} +1 -1
  268. package/dist/ionic/{p-82632e15.system.js → p-3d5a6d14.system.js} +1 -1
  269. package/dist/ionic/{p-77f91ca9.entry.js → p-3f15f60b.entry.js} +1 -1
  270. package/dist/ionic/{p-6b3afb0f.entry.js → p-42e0558f.entry.js} +1 -1
  271. package/dist/ionic/{p-06d6e9c0.system.entry.js → p-4446e19f.system.entry.js} +1 -1
  272. package/dist/ionic/p-44a6f15d.system.entry.js +4 -0
  273. package/dist/ionic/{p-9c32000a.entry.js → p-47a11fc4.entry.js} +1 -1
  274. package/dist/ionic/{p-1ec4dc01.entry.js → p-48d378cf.entry.js} +1 -1
  275. package/dist/ionic/{p-93e47822.entry.js → p-49f2eaa6.entry.js} +1 -1
  276. package/dist/ionic/{p-1fb9aab8.entry.js → p-4d2807fa.entry.js} +1 -1
  277. package/dist/ionic/p-4d4f504b.system.js +4 -0
  278. package/dist/ionic/{p-32d11ce2.system.entry.js → p-4e1a58c6.system.entry.js} +1 -1
  279. package/dist/ionic/p-4f7109fa.entry.js +4 -0
  280. package/dist/ionic/{p-11a42c03.system.entry.js → p-5080e623.system.entry.js} +1 -1
  281. package/dist/ionic/{p-c4afbed8.system.entry.js → p-5163baf4.system.entry.js} +1 -1
  282. package/dist/ionic/{p-0219ac12.system.entry.js → p-516421e2.system.entry.js} +1 -1
  283. package/dist/ionic/{p-d1d3b740.system.entry.js → p-5260588f.system.entry.js} +1 -1
  284. package/dist/ionic/{p-b22ee0dc.js → p-563068af.js} +1 -1
  285. package/dist/ionic/p-56495958.js +4 -0
  286. package/dist/ionic/{p-dc49c681.system.entry.js → p-574411f2.system.entry.js} +1 -1
  287. package/dist/ionic/{p-8a676776.entry.js → p-57847936.entry.js} +1 -1
  288. package/dist/ionic/{p-d3378c35.entry.js → p-59b40b60.entry.js} +1 -1
  289. package/dist/ionic/{p-af0bc751.system.entry.js → p-5a9dc764.system.entry.js} +1 -1
  290. package/dist/ionic/{p-0ff17c93.entry.js → p-5df94bf8.entry.js} +1 -1
  291. package/dist/ionic/{p-81597423.system.js → p-5e549223.system.js} +1 -1
  292. package/dist/ionic/{p-8ba724fa.system.js → p-5fc777e6.system.js} +1 -1
  293. package/dist/ionic/p-601fd53c.js +4 -0
  294. package/dist/ionic/{p-e112994b.system.entry.js → p-6276ba2f.system.entry.js} +1 -1
  295. package/dist/ionic/{p-7c938ad6.js → p-629b0629.js} +1 -1
  296. package/dist/ionic/{p-5c17f888.entry.js → p-68deb933.entry.js} +1 -1
  297. package/dist/ionic/{p-b0e9e0b8.system.entry.js → p-6ccffb74.system.entry.js} +1 -1
  298. package/dist/ionic/{p-98a189f3.entry.js → p-6dff4431.entry.js} +1 -1
  299. package/dist/ionic/{p-fa3327e8.system.entry.js → p-6eb7b33c.system.entry.js} +1 -1
  300. package/dist/ionic/p-7106c152.system.js +4 -0
  301. package/dist/ionic/{p-839bd69f.system.entry.js → p-7474a472.system.entry.js} +1 -1
  302. package/dist/ionic/{p-0b68c41d.system.entry.js → p-74834696.system.entry.js} +1 -1
  303. package/dist/ionic/p-75d4ceab.js +4 -0
  304. package/dist/ionic/{p-430e902d.entry.js → p-765e6339.entry.js} +1 -1
  305. package/dist/ionic/{p-f95f798a.system.entry.js → p-810f1bc9.system.entry.js} +1 -1
  306. package/dist/ionic/{p-57f0efcc.entry.js → p-83459b99.entry.js} +1 -1
  307. package/dist/ionic/{p-99140340.entry.js → p-84084b75.entry.js} +1 -1
  308. package/dist/ionic/{p-68e0ea3c.entry.js → p-8bcd482b.entry.js} +1 -1
  309. package/dist/ionic/{p-48144921.entry.js → p-8db97b90.entry.js} +1 -1
  310. package/dist/ionic/p-8f7edf3e.js +4 -0
  311. package/dist/ionic/{p-87383d00.system.entry.js → p-95188051.system.entry.js} +1 -1
  312. package/dist/ionic/{p-57dc87eb.system.entry.js → p-98bfaff3.system.entry.js} +1 -1
  313. package/dist/ionic/p-99a3df5c.entry.js +4 -0
  314. package/dist/ionic/{p-0142ba6d.entry.js → p-9b53c813.entry.js} +1 -1
  315. package/dist/ionic/{p-83bcaec9.system.entry.js → p-9be96bf3.system.entry.js} +1 -1
  316. package/dist/ionic/{p-f7faa32d.entry.js → p-9e8727d6.entry.js} +1 -1
  317. package/dist/ionic/p-9eaaa910.entry.js +4 -0
  318. package/dist/ionic/{p-653f2fc6.entry.js → p-9eced28c.entry.js} +1 -1
  319. package/dist/ionic/{p-2061c86f.system.entry.js → p-9f3ad626.system.entry.js} +1 -1
  320. package/dist/ionic/{p-d1bab5e7.system.entry.js → p-a033a91d.system.entry.js} +1 -1
  321. package/dist/ionic/{p-62324608.system.entry.js → p-a037b6d5.system.entry.js} +1 -1
  322. package/dist/ionic/{p-df6743df.system.js → p-a122ecd0.system.js} +1 -1
  323. package/dist/ionic/{p-83008f7c.system.js → p-a314559e.system.js} +2 -2
  324. package/dist/ionic/p-a533868d.system.js +4 -0
  325. package/dist/ionic/{p-1d82df31.system.entry.js → p-a8270ae8.system.entry.js} +1 -1
  326. package/dist/ionic/{p-a34669bf.system.entry.js → p-acc9adcf.system.entry.js} +1 -1
  327. package/dist/ionic/p-af6125d1.system.entry.js +4 -0
  328. package/dist/ionic/{p-785b0913.entry.js → p-b052b578.entry.js} +1 -1
  329. package/dist/ionic/{p-91459620.js → p-b3f6f321.js} +1 -1
  330. package/dist/ionic/{p-82f8ee51.entry.js → p-b453b38d.entry.js} +1 -1
  331. package/dist/ionic/{p-fea46870.system.entry.js → p-b703ebeb.system.entry.js} +1 -1
  332. package/dist/ionic/p-b8d7f0eb.system.entry.js +4 -0
  333. package/dist/ionic/{p-67b891af.entry.js → p-b9179eab.entry.js} +1 -1
  334. package/dist/ionic/{p-a3f9d271.entry.js → p-bacf09d3.entry.js} +1 -1
  335. package/dist/ionic/{p-341d5877.entry.js → p-be187db3.entry.js} +1 -1
  336. package/dist/ionic/{p-b32742f3.system.js → p-bfee11b2.system.js} +1 -1
  337. package/dist/ionic/{p-0660215f.entry.js → p-c2d6088f.entry.js} +1 -1
  338. package/dist/ionic/p-c68a8814.system.js +4 -0
  339. package/dist/ionic/p-c7ce7e18.entry.js +4 -0
  340. package/dist/ionic/{p-336420f9.system.entry.js → p-c8c0d58a.system.entry.js} +1 -1
  341. package/dist/ionic/p-cc8910e7.system.js +4 -0
  342. package/dist/ionic/{p-728ac2b3.entry.js → p-cd002251.entry.js} +1 -1
  343. package/dist/ionic/{p-11248f01.js → p-d57e8b06.js} +1 -1
  344. package/dist/ionic/{p-2539e967.system.entry.js → p-d8d30fd1.system.entry.js} +1 -1
  345. package/dist/ionic/p-dacb0258.js +4 -0
  346. package/dist/ionic/{p-d693e765.system.entry.js → p-dc4c9086.system.entry.js} +1 -1
  347. package/dist/ionic/p-dc7d392d.entry.js +4 -0
  348. package/dist/ionic/{p-f9567c67.entry.js → p-e00f2bf2.entry.js} +1 -1
  349. package/dist/ionic/{p-0cc2bf5a.system.entry.js → p-e239ab05.system.entry.js} +1 -1
  350. package/dist/ionic/p-e65aed58.system.entry.js +4 -0
  351. package/dist/ionic/{p-d5e3bff3.entry.js → p-eb91aee6.entry.js} +1 -1
  352. package/dist/ionic/{p-6bf632d0.system.entry.js → p-ec344ed1.system.entry.js} +1 -1
  353. package/dist/ionic/{p-ed7b205b.entry.js → p-ec7ff98b.entry.js} +1 -1
  354. package/dist/ionic/{p-5ba27716.system.entry.js → p-ee55302a.system.entry.js} +1 -1
  355. package/dist/ionic/{p-dbb48066.system.entry.js → p-ef8a8827.system.entry.js} +1 -1
  356. package/dist/ionic/p-f3ec1f2b.entry.js +4 -0
  357. package/dist/ionic/{p-639d7b25.entry.js → p-f62bed60.entry.js} +1 -1
  358. package/dist/ionic/p-f7377240.js +4 -0
  359. package/dist/ionic/{p-96c2a273.system.entry.js → p-fa8fc77b.system.entry.js} +1 -1
  360. package/dist/ionic/p-fb26fa56.system.entry.js +4 -0
  361. package/dist/ionic/{p-3ef88fc2.system.entry.js → p-fde174d6.system.entry.js} +1 -1
  362. package/dist/ionic/{p-7b16490a.system.js → p-ff3d728d.system.js} +1 -1
  363. package/dist/types/components/checkbox/checkbox.d.ts +1 -8
  364. package/dist/types/components/datetime/datetime.d.ts +10 -23
  365. package/dist/types/components/datetime/utils/data.d.ts +1 -1
  366. package/dist/types/components/datetime/utils/parse.d.ts +3 -3
  367. package/dist/types/components/radio/radio.d.ts +1 -8
  368. package/dist/types/components/range/range.d.ts +1 -2
  369. package/dist/types/components/toast/toast-interface.d.ts +0 -3
  370. package/dist/types/components/toggle/toggle.d.ts +1 -8
  371. package/dist/types/components.d.ts +16 -40
  372. package/dist/types/index.d.ts +0 -1
  373. package/dist/types/interface.d.ts +0 -1
  374. package/dist/types/stencil-public-runtime.d.ts +3 -3
  375. package/dist/types/utils/browser/index.d.ts +16 -1
  376. package/dist/types/utils/input-shims/hacks/scroll-data.d.ts +1 -1
  377. package/hydrate/index.d.ts +5 -5
  378. package/hydrate/index.js +150 -234
  379. package/package.json +3 -3
  380. package/dist/esm-es5/app-globals-e8ddf830.js +0 -4
  381. package/dist/esm-es5/data-009dbf15.js +0 -4
  382. package/dist/esm-es5/input-shims-af993f05.js +0 -4
  383. package/dist/esm-es5/md.transition-48b3b77c.js +0 -4
  384. package/dist/ionic/p-06902103.system.js +0 -4
  385. package/dist/ionic/p-1f4adf06.system.entry.js +0 -4
  386. package/dist/ionic/p-218b6f33.entry.js +0 -4
  387. package/dist/ionic/p-273e78ae.entry.js +0 -4
  388. package/dist/ionic/p-2da6ba37.system.entry.js +0 -4
  389. package/dist/ionic/p-40138199.entry.js +0 -4
  390. package/dist/ionic/p-44ef7224.system.js +0 -4
  391. package/dist/ionic/p-4531b920.system.js +0 -4
  392. package/dist/ionic/p-4ca1ce6b.system.entry.js +0 -4
  393. package/dist/ionic/p-51b165af.system.js +0 -4
  394. package/dist/ionic/p-582dc7c1.js +0 -4
  395. package/dist/ionic/p-64ad5765.entry.js +0 -4
  396. package/dist/ionic/p-778460f7.js +0 -4
  397. package/dist/ionic/p-7cfd253c.js +0 -4
  398. package/dist/ionic/p-86c5c320.entry.js +0 -4
  399. package/dist/ionic/p-90ec5785.system.entry.js +0 -4
  400. package/dist/ionic/p-a2b25750.js +0 -4
  401. package/dist/ionic/p-a62c0ff4.js +0 -4
  402. package/dist/ionic/p-af986299.system.entry.js +0 -4
  403. package/dist/ionic/p-b321c999.entry.js +0 -4
  404. package/dist/ionic/p-c53dd7a2.entry.js +0 -4
  405. package/dist/ionic/p-d898dd46.js +0 -4
  406. package/dist/ionic/p-d8a0267b.system.entry.js +0 -4
  407. package/dist/ionic/p-e3d5608d.system.js +0 -4
  408. package/dist/ionic/p-f5c19164.entry.js +0 -4
  409. /package/dist/esm-es5/{index-847f2fde.js → index-adfb2000.js} +0 -0
  410. /package/dist/ionic/{p-5b553dc0.system.js → p-2441ba84.system.js} +0 -0
  411. /package/dist/ionic/{p-156967ec.js → p-a18eb556.js} +0 -0
@@ -4,6 +4,7 @@
4
4
  import { g as getScrollElement, c as scrollByPoint, a as findClosestIonContent } from './index8.js';
5
5
  import { a as addEventListener, b as removeEventListener, r as raf, c as componentOnReady } from './helpers.js';
6
6
  import { a as KeyboardResize, K as Keyboard } from './keyboard.js';
7
+ import { w as win } from './index5.js';
7
8
 
8
9
  const cloneMap = new WeakMap();
9
10
  const relocateInput = (componentEl, inputEl, shouldRelocate, inputRelativeY = 0, disabledClonedInput = false) => {
@@ -150,11 +151,10 @@ const enableInputBlurring = () => {
150
151
  };
151
152
 
152
153
  const SCROLL_ASSIST_SPEED = 0.3;
153
- const getScrollData = (componentEl, contentEl, keyboardHeight) => {
154
+ const getScrollData = (componentEl, contentEl, keyboardHeight, platformHeight) => {
154
155
  var _a;
155
156
  const itemEl = (_a = componentEl.closest('ion-item,[ion-item]')) !== null && _a !== void 0 ? _a : componentEl;
156
- return calcScrollData(itemEl.getBoundingClientRect(), contentEl.getBoundingClientRect(), keyboardHeight, componentEl.ownerDocument.defaultView.innerHeight // TODO(FW-2832): type
157
- );
157
+ return calcScrollData(itemEl.getBoundingClientRect(), contentEl.getBoundingClientRect(), keyboardHeight, platformHeight);
158
158
  };
159
159
  const calcScrollData = (inputRect, contentRect, keyboardHeight, platformHeight) => {
160
160
  // compute input's Y values relative to the body
@@ -253,6 +253,109 @@ const enableScrollAssist = (componentEl, inputEl, contentEl, footerEl, keyboardH
253
253
  * Resize info is available on Capacitor 4+
254
254
  */
255
255
  const addScrollPadding = enableScrollPadding && (keyboardResize === undefined || keyboardResize.mode === KeyboardResize.None);
256
+ /**
257
+ * This tracks whether or not the keyboard has been
258
+ * presented for a single focused text field. Note
259
+ * that it does not track if the keyboard is open
260
+ * in general such as if the keyboard is open for
261
+ * a different focused text field.
262
+ */
263
+ let hasKeyboardBeenPresentedForTextField = false;
264
+ /**
265
+ * When adding scroll padding we need to know
266
+ * how much of the viewport the keyboard obscures.
267
+ * We do this by subtracting the keyboard height
268
+ * from the platform height.
269
+ *
270
+ * If we compute this value when switching between
271
+ * inputs then the webview may already be resized.
272
+ * At this point, `win.innerHeight` has already accounted
273
+ * for the keyboard meaning we would then subtract
274
+ * the keyboard height again. This will result in the input
275
+ * being scrolled more than it needs to.
276
+ */
277
+ let platformHeight = win !== undefined ? win.innerHeight : 0;
278
+ /**
279
+ * Scroll assist is run when a text field
280
+ * is focused. However, it may need to
281
+ * re-run when the keyboard size changes
282
+ * such that the text field is now hidden
283
+ * underneath the keyboard.
284
+ * This function re-runs scroll assist
285
+ * when that happens.
286
+ *
287
+ * One limitation of this is on a web browser
288
+ * where native keyboard APIs do not have cross-browser
289
+ * support. `ionKeyboardDidShow` relies on the Visual Viewport API.
290
+ * This means that if the keyboard changes but does not change
291
+ * geometry, then scroll assist will not re-run even if
292
+ * the user has scrolled the text field under the keyboard.
293
+ * This is not a problem when running in Cordova/Capacitor
294
+ * because `ionKeyboardDidShow` uses the native events
295
+ * which fire every time the keyboard changes.
296
+ */
297
+ const keyboardShow = (ev) => {
298
+ const { keyboardHeight } = ev.detail;
299
+ /**
300
+ * If the keyboard has not yet been presented
301
+ * for this text field then the text field has just
302
+ * received focus. In that case, the focusin listener
303
+ * will run scroll assist.
304
+ */
305
+ if (hasKeyboardBeenPresentedForTextField === false) {
306
+ hasKeyboardBeenPresentedForTextField = true;
307
+ /**
308
+ * The platform height is the innerHeight of the window
309
+ * because the webview has not resize yet.
310
+ */
311
+ platformHeight = win !== undefined ? win.innerHeight : 0;
312
+ return;
313
+ }
314
+ /**
315
+ * platformHeight is recomputed every time the keyboard shows
316
+ * to account for any device rotations (i.e. rotating from portrait
317
+ * to landscape). This ensures we are using an accurate platform height.
318
+ *
319
+ * If we are using the Native keyboard resize behavior and
320
+ * the keyboard was already shown then the webview has already resized.
321
+ * In order to compute the correct platform height (before the keyboard was shown)
322
+ * we need to add the keyboard height to window.innerHeight.
323
+ */
324
+ if (keyboardResize !== undefined && keyboardResize.mode === KeyboardResize.Native) {
325
+ platformHeight = win !== undefined ? win.innerHeight + keyboardHeight : 0;
326
+ /**
327
+ * Otherwise the webview does not resize and we can use window.innerHeight
328
+ * as we normally would.
329
+ */
330
+ }
331
+ else {
332
+ platformHeight = win !== undefined ? win.innerHeight : 0;
333
+ }
334
+ /**
335
+ * Otherwise, the keyboard has already been presented
336
+ * for the focused text field.
337
+ * This means that the keyboard likely changed
338
+ * geometry, and we need to re-run scroll assist.
339
+ * This can happen when the user rotates their device
340
+ * or when they switch keyboards.
341
+ *
342
+ * Make sure we pass in the computed keyboard height
343
+ * rather than the estimated keyboard height.
344
+ *
345
+ * Since the keyboard is already open then we do not
346
+ * need to wait for the webview to resize, so we pass
347
+ * "waitForResize: false".
348
+ */
349
+ jsSetFocus(componentEl, inputEl, contentEl, footerEl, keyboardHeight, addScrollPadding, disableClonedInput, platformHeight, false);
350
+ };
351
+ /**
352
+ * Reset the internal state when the text field loses focus.
353
+ */
354
+ const focusOut = () => {
355
+ hasKeyboardBeenPresentedForTextField = false;
356
+ win === null || win === void 0 ? void 0 : win.removeEventListener('ionKeyboardDidShow', keyboardShow);
357
+ componentEl.removeEventListener('focusout', focusOut, true);
358
+ };
256
359
  /**
257
360
  * When the input is about to receive
258
361
  * focus, we need to move it to prevent
@@ -269,11 +372,15 @@ const enableScrollAssist = (componentEl, inputEl, contentEl, footerEl, keyboardH
269
372
  inputEl.removeAttribute(SKIP_SCROLL_ASSIST);
270
373
  return;
271
374
  }
272
- jsSetFocus(componentEl, inputEl, contentEl, footerEl, keyboardHeight, addScrollPadding, disableClonedInput);
375
+ jsSetFocus(componentEl, inputEl, contentEl, footerEl, keyboardHeight, addScrollPadding, disableClonedInput, platformHeight);
376
+ win === null || win === void 0 ? void 0 : win.addEventListener('ionKeyboardDidShow', keyboardShow);
377
+ componentEl.addEventListener('focusout', focusOut, true);
273
378
  };
274
379
  componentEl.addEventListener('focusin', focusIn, true);
275
380
  return () => {
276
381
  componentEl.removeEventListener('focusin', focusIn, true);
382
+ win === null || win === void 0 ? void 0 : win.removeEventListener('ionKeyboardDidShow', keyboardShow);
383
+ componentEl.removeEventListener('focusout', focusOut, true);
277
384
  };
278
385
  };
279
386
  /**
@@ -292,11 +399,11 @@ const setManualFocus = (el) => {
292
399
  el.setAttribute(SKIP_SCROLL_ASSIST, 'true');
293
400
  el.focus();
294
401
  };
295
- const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHeight, enableScrollPadding, disableClonedInput = false) => {
402
+ const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHeight, enableScrollPadding, disableClonedInput = false, platformHeight = 0, waitForResize = true) => {
296
403
  if (!contentEl && !footerEl) {
297
404
  return;
298
405
  }
299
- const scrollData = getScrollData(componentEl, (contentEl || footerEl), keyboardHeight);
406
+ const scrollData = getScrollData(componentEl, (contentEl || footerEl), keyboardHeight, platformHeight);
300
407
  if (contentEl && Math.abs(scrollData.scrollAmount) < 4) {
301
408
  // the text input is in a safe position that doesn't
302
409
  // require it to be scrolled into view, just set focus now
@@ -383,7 +490,7 @@ const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHei
383
490
  * bandwidth to become available.
384
491
  */
385
492
  const totalScrollAmount = scrollEl.scrollHeight - scrollEl.clientHeight;
386
- if (scrollData.scrollAmount > totalScrollAmount - scrollEl.scrollTop) {
493
+ if (waitForResize && scrollData.scrollAmount > totalScrollAmount - scrollEl.scrollTop) {
387
494
  /**
388
495
  * On iOS devices, the system will show a "Passwords" bar above the keyboard
389
496
  * after the initial keyboard is shown. This prevents the webview from resizing
@@ -52,9 +52,6 @@ const DatetimeButton = /*@__PURE__*/ proxyCustomElement(class DatetimeButton ext
52
52
  * to today's date and time if no value is set.
53
53
  */
54
54
  const parsedDatetimes = parseDate(parsedValues.length > 0 ? parsedValues : [getToday()]);
55
- if (!parsedDatetimes) {
56
- return;
57
- }
58
55
  /**
59
56
  * If developers incorrectly use multiple="true"
60
57
  * with non "date" datetimes, then just select