@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
@@ -71,7 +71,6 @@ export class Toggle {
71
71
  this.labelPlacement = 'start';
72
72
  this.legacy = undefined;
73
73
  this.justify = 'space-between';
74
- this.alignment = 'center';
75
74
  }
76
75
  disabledChanged() {
77
76
  this.emitStyle();
@@ -169,7 +168,7 @@ export class Toggle {
169
168
  return legacyFormController.hasLegacyControl() ? this.renderLegacyToggle() : this.renderToggle();
170
169
  }
171
170
  renderToggle() {
172
- const { activated, color, checked, disabled, el, justify, labelPlacement, inputId, name, alignment } = this;
171
+ const { activated, color, checked, disabled, el, justify, labelPlacement, inputId, name } = this;
173
172
  const mode = getIonMode(this);
174
173
  const value = this.getValue();
175
174
  const rtl = isRTL(el) ? 'rtl' : 'ltr';
@@ -181,7 +180,6 @@ export class Toggle {
181
180
  'toggle-checked': checked,
182
181
  'toggle-disabled': disabled,
183
182
  [`toggle-justify-${justify}`]: true,
184
- [`toggle-alignment-${alignment}`]: true,
185
183
  [`toggle-label-placement-${labelPlacement}`]: true,
186
184
  [`toggle-${rtl}`]: true,
187
185
  }) }, h("label", { class: "toggle-wrapper" }, h("input", Object.assign({ type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl) }, this.inheritedAttributes)), h("div", { class: {
@@ -354,15 +352,15 @@ Developers can dismiss this warning by removing their usage of the "legacy" prop
354
352
  "type": "string",
355
353
  "mutable": false,
356
354
  "complexType": {
357
- "original": "'start' | 'end' | 'fixed' | 'stacked'",
358
- "resolved": "\"end\" | \"fixed\" | \"stacked\" | \"start\"",
355
+ "original": "'start' | 'end' | 'fixed'",
356
+ "resolved": "\"end\" | \"fixed\" | \"start\"",
359
357
  "references": {}
360
358
  },
361
359
  "required": false,
362
360
  "optional": false,
363
361
  "docs": {
364
362
  "tags": [],
365
- "text": "Where to place the label relative to the input.\n`\"start\"`: The label will appear to the left of the toggle in LTR and to the right in RTL.\n`\"end\"`: The label will appear to the right of the toggle in LTR and to the left in RTL.\n`\"fixed\"`: The label has the same behavior as `\"start\"` except it also has a fixed width. Long text will be truncated with ellipses (\"...\").\n`\"stacked\"`: The label will appear above the toggle regardless of the direction. The alignment of the label can be controlled with the `alignment` property."
363
+ "text": "Where to place the label relative to the input.\n`\"start\"`: The label will appear to the left of the toggle in LTR and to the right in RTL.\n`\"end\"`: The label will appear to the right of the toggle in LTR and to the left in RTL.\n`\"fixed\"`: The label has the same behavior as `\"start\"` except it also has a fixed width. Long text will be truncated with ellipses (\"...\")."
366
364
  },
367
365
  "attribute": "label-placement",
368
366
  "reflect": false,
@@ -402,24 +400,6 @@ Developers can dismiss this warning by removing their usage of the "legacy" prop
402
400
  "attribute": "justify",
403
401
  "reflect": false,
404
402
  "defaultValue": "'space-between'"
405
- },
406
- "alignment": {
407
- "type": "string",
408
- "mutable": false,
409
- "complexType": {
410
- "original": "'start' | 'center'",
411
- "resolved": "\"center\" | \"start\"",
412
- "references": {}
413
- },
414
- "required": false,
415
- "optional": false,
416
- "docs": {
417
- "tags": [],
418
- "text": "How to control the alignment of the toggle and label on the cross axis.\n``\"start\"`: The label and control will appear on the left of the cross axis in LTR, and on the right side in RTL.\n`\"center\"`: The label and control will appear at the center of the cross axis in both LTR and RTL."
419
- },
420
- "attribute": "alignment",
421
- "reflect": false,
422
- "defaultValue": "'center'"
423
403
  }
424
404
  };
425
405
  }
@@ -123,6 +123,7 @@ input {
123
123
  display: flex;
124
124
  position: relative;
125
125
  flex-grow: 1;
126
+ align-items: center;
126
127
  height: inherit;
127
128
  transition: background-color 15ms linear;
128
129
  cursor: inherit;
@@ -145,15 +146,6 @@ input {
145
146
  margin-bottom: 10px;
146
147
  }
147
148
 
148
- :host(.in-item.toggle-label-placement-stacked) .label-text-wrapper {
149
- margin-top: 10px;
150
- margin-bottom: 16px;
151
- }
152
-
153
- :host(.in-item.toggle-label-placement-stacked) .native-wrapper {
154
- margin-bottom: 10px;
155
- }
156
-
157
149
  /**
158
150
  * If no label text is placed into the slot
159
151
  * then the element should be hidden otherwise
@@ -180,14 +172,6 @@ input {
180
172
  justify-content: end;
181
173
  }
182
174
 
183
- :host(.toggle-alignment-start) .toggle-wrapper {
184
- align-items: start;
185
- }
186
-
187
- :host(.toggle-alignment-center) .toggle-wrapper {
188
- align-items: center;
189
- }
190
-
191
175
  /**
192
176
  * Label is on the left of the input in LTR and
193
177
  * on the right in RTL.
@@ -251,24 +235,6 @@ input {
251
235
  max-width: 200px;
252
236
  }
253
237
 
254
- /**
255
- * Label is on top of the toggle.
256
- */
257
- :host(.toggle-label-placement-stacked) .toggle-wrapper {
258
- flex-direction: column;
259
- }
260
-
261
- :host(.toggle-label-placement-stacked) .label-text-wrapper {
262
- /**
263
- * The margin between the label and
264
- * the toggle should be on the bottom
265
- * when the label sits on top.
266
- */
267
- margin-left: 0;
268
- margin-right: 0;
269
- margin-bottom: 16px;
270
- }
271
-
272
238
  .toggle-icon-wrapper {
273
239
  display: flex;
274
240
  position: relative;
@@ -3,7 +3,6 @@
3
3
  */
4
4
  import "ionicons";
5
5
  export { createAnimation } from './utils/animation/animation';
6
- export { getIonPageElement } from './utils/transition';
7
6
  export { iosTransitionAnimation } from './utils/transition/ios.transition';
8
7
  export { mdTransitionAnimation } from './utils/transition/md.transition';
9
8
  export { getTimeGivenProgression } from './utils/animation/cubic-bezier';
@@ -1,6 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
+ import { win } from "../../browser/index";
4
5
  import { getScrollElement, scrollByPoint } from "../../content";
5
6
  import { raf } from "../../helpers";
6
7
  import { KeyboardResize } from "../../native/keyboard";
@@ -20,6 +21,109 @@ export const enableScrollAssist = (componentEl, inputEl, contentEl, footerEl, ke
20
21
  * Resize info is available on Capacitor 4+
21
22
  */
22
23
  const addScrollPadding = enableScrollPadding && (keyboardResize === undefined || keyboardResize.mode === KeyboardResize.None);
24
+ /**
25
+ * This tracks whether or not the keyboard has been
26
+ * presented for a single focused text field. Note
27
+ * that it does not track if the keyboard is open
28
+ * in general such as if the keyboard is open for
29
+ * a different focused text field.
30
+ */
31
+ let hasKeyboardBeenPresentedForTextField = false;
32
+ /**
33
+ * When adding scroll padding we need to know
34
+ * how much of the viewport the keyboard obscures.
35
+ * We do this by subtracting the keyboard height
36
+ * from the platform height.
37
+ *
38
+ * If we compute this value when switching between
39
+ * inputs then the webview may already be resized.
40
+ * At this point, `win.innerHeight` has already accounted
41
+ * for the keyboard meaning we would then subtract
42
+ * the keyboard height again. This will result in the input
43
+ * being scrolled more than it needs to.
44
+ */
45
+ let platformHeight = win !== undefined ? win.innerHeight : 0;
46
+ /**
47
+ * Scroll assist is run when a text field
48
+ * is focused. However, it may need to
49
+ * re-run when the keyboard size changes
50
+ * such that the text field is now hidden
51
+ * underneath the keyboard.
52
+ * This function re-runs scroll assist
53
+ * when that happens.
54
+ *
55
+ * One limitation of this is on a web browser
56
+ * where native keyboard APIs do not have cross-browser
57
+ * support. `ionKeyboardDidShow` relies on the Visual Viewport API.
58
+ * This means that if the keyboard changes but does not change
59
+ * geometry, then scroll assist will not re-run even if
60
+ * the user has scrolled the text field under the keyboard.
61
+ * This is not a problem when running in Cordova/Capacitor
62
+ * because `ionKeyboardDidShow` uses the native events
63
+ * which fire every time the keyboard changes.
64
+ */
65
+ const keyboardShow = (ev) => {
66
+ const { keyboardHeight } = ev.detail;
67
+ /**
68
+ * If the keyboard has not yet been presented
69
+ * for this text field then the text field has just
70
+ * received focus. In that case, the focusin listener
71
+ * will run scroll assist.
72
+ */
73
+ if (hasKeyboardBeenPresentedForTextField === false) {
74
+ hasKeyboardBeenPresentedForTextField = true;
75
+ /**
76
+ * The platform height is the innerHeight of the window
77
+ * because the webview has not resize yet.
78
+ */
79
+ platformHeight = win !== undefined ? win.innerHeight : 0;
80
+ return;
81
+ }
82
+ /**
83
+ * platformHeight is recomputed every time the keyboard shows
84
+ * to account for any device rotations (i.e. rotating from portrait
85
+ * to landscape). This ensures we are using an accurate platform height.
86
+ *
87
+ * If we are using the Native keyboard resize behavior and
88
+ * the keyboard was already shown then the webview has already resized.
89
+ * In order to compute the correct platform height (before the keyboard was shown)
90
+ * we need to add the keyboard height to window.innerHeight.
91
+ */
92
+ if (keyboardResize !== undefined && keyboardResize.mode === KeyboardResize.Native) {
93
+ platformHeight = win !== undefined ? win.innerHeight + keyboardHeight : 0;
94
+ /**
95
+ * Otherwise the webview does not resize and we can use window.innerHeight
96
+ * as we normally would.
97
+ */
98
+ }
99
+ else {
100
+ platformHeight = win !== undefined ? win.innerHeight : 0;
101
+ }
102
+ /**
103
+ * Otherwise, the keyboard has already been presented
104
+ * for the focused text field.
105
+ * This means that the keyboard likely changed
106
+ * geometry, and we need to re-run scroll assist.
107
+ * This can happen when the user rotates their device
108
+ * or when they switch keyboards.
109
+ *
110
+ * Make sure we pass in the computed keyboard height
111
+ * rather than the estimated keyboard height.
112
+ *
113
+ * Since the keyboard is already open then we do not
114
+ * need to wait for the webview to resize, so we pass
115
+ * "waitForResize: false".
116
+ */
117
+ jsSetFocus(componentEl, inputEl, contentEl, footerEl, keyboardHeight, addScrollPadding, disableClonedInput, platformHeight, false);
118
+ };
119
+ /**
120
+ * Reset the internal state when the text field loses focus.
121
+ */
122
+ const focusOut = () => {
123
+ hasKeyboardBeenPresentedForTextField = false;
124
+ win === null || win === void 0 ? void 0 : win.removeEventListener('ionKeyboardDidShow', keyboardShow);
125
+ componentEl.removeEventListener('focusout', focusOut, true);
126
+ };
23
127
  /**
24
128
  * When the input is about to receive
25
129
  * focus, we need to move it to prevent
@@ -36,11 +140,15 @@ export const enableScrollAssist = (componentEl, inputEl, contentEl, footerEl, ke
36
140
  inputEl.removeAttribute(SKIP_SCROLL_ASSIST);
37
141
  return;
38
142
  }
39
- jsSetFocus(componentEl, inputEl, contentEl, footerEl, keyboardHeight, addScrollPadding, disableClonedInput);
143
+ jsSetFocus(componentEl, inputEl, contentEl, footerEl, keyboardHeight, addScrollPadding, disableClonedInput, platformHeight);
144
+ win === null || win === void 0 ? void 0 : win.addEventListener('ionKeyboardDidShow', keyboardShow);
145
+ componentEl.addEventListener('focusout', focusOut, true);
40
146
  };
41
147
  componentEl.addEventListener('focusin', focusIn, true);
42
148
  return () => {
43
149
  componentEl.removeEventListener('focusin', focusIn, true);
150
+ win === null || win === void 0 ? void 0 : win.removeEventListener('ionKeyboardDidShow', keyboardShow);
151
+ componentEl.removeEventListener('focusout', focusOut, true);
44
152
  };
45
153
  };
46
154
  /**
@@ -59,11 +167,11 @@ const setManualFocus = (el) => {
59
167
  el.setAttribute(SKIP_SCROLL_ASSIST, 'true');
60
168
  el.focus();
61
169
  };
62
- const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHeight, enableScrollPadding, disableClonedInput = false) => {
170
+ const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHeight, enableScrollPadding, disableClonedInput = false, platformHeight = 0, waitForResize = true) => {
63
171
  if (!contentEl && !footerEl) {
64
172
  return;
65
173
  }
66
- const scrollData = getScrollData(componentEl, (contentEl || footerEl), keyboardHeight);
174
+ const scrollData = getScrollData(componentEl, (contentEl || footerEl), keyboardHeight, platformHeight);
67
175
  if (contentEl && Math.abs(scrollData.scrollAmount) < 4) {
68
176
  // the text input is in a safe position that doesn't
69
177
  // require it to be scrolled into view, just set focus now
@@ -150,7 +258,7 @@ const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHei
150
258
  * bandwidth to become available.
151
259
  */
152
260
  const totalScrollAmount = scrollEl.scrollHeight - scrollEl.clientHeight;
153
- if (scrollData.scrollAmount > totalScrollAmount - scrollEl.scrollTop) {
261
+ if (waitForResize && scrollData.scrollAmount > totalScrollAmount - scrollEl.scrollTop) {
154
262
  /**
155
263
  * On iOS devices, the system will show a "Passwords" bar above the keyboard
156
264
  * after the initial keyboard is shown. This prevents the webview from resizing
@@ -3,11 +3,10 @@
3
3
  */
4
4
  import { SCROLL_AMOUNT_PADDING } from "./common";
5
5
  const SCROLL_ASSIST_SPEED = 0.3;
6
- export const getScrollData = (componentEl, contentEl, keyboardHeight) => {
6
+ export const getScrollData = (componentEl, contentEl, keyboardHeight, platformHeight) => {
7
7
  var _a;
8
8
  const itemEl = (_a = componentEl.closest('ion-item,[ion-item]')) !== null && _a !== void 0 ? _a : componentEl;
9
- return calcScrollData(itemEl.getBoundingClientRect(), contentEl.getBoundingClientRect(), keyboardHeight, componentEl.ownerDocument.defaultView.innerHeight // TODO(FW-2832): type
10
- );
9
+ return calcScrollData(itemEl.getBoundingClientRect(), contentEl.getBoundingClientRect(), keyboardHeight, platformHeight);
11
10
  };
12
11
  const calcScrollData = (inputRect, contentRect, keyboardHeight, platformHeight) => {
13
12
  // compute input's Y values relative to the body
package/dist/docs.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
- "timestamp": "2023-09-13T12:44:09",
2
+ "timestamp": "2023-09-14T14:02:57",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
- "version": "4.2.0",
5
+ "version": "4.2.1",
6
6
  "typescriptVersion": "5.1.6"
7
7
  },
8
8
  "components": [
@@ -4959,33 +4959,6 @@
4959
4959
  ],
4960
4960
  "usage": {},
4961
4961
  "props": [
4962
- {
4963
- "name": "alignment",
4964
- "type": "\"center\" | \"start\"",
4965
- "complexType": {
4966
- "original": "'start' | 'center'",
4967
- "resolved": "\"center\" | \"start\"",
4968
- "references": {}
4969
- },
4970
- "mutable": false,
4971
- "attr": "alignment",
4972
- "reflectToAttr": false,
4973
- "docs": "How to control the alignment of the checkbox and label on the cross axis.\n`\"start\"`: The label and control will appear on the left of the cross axis in LTR, and on the right side in RTL.\n`\"center\"`: The label and control will appear at the center of the cross axis in both LTR and RTL.",
4974
- "docsTags": [],
4975
- "default": "'center'",
4976
- "values": [
4977
- {
4978
- "value": "center",
4979
- "type": "string"
4980
- },
4981
- {
4982
- "value": "start",
4983
- "type": "string"
4984
- }
4985
- ],
4986
- "optional": false,
4987
- "required": false
4988
- },
4989
4962
  {
4990
4963
  "name": "checked",
4991
4964
  "type": "boolean",
@@ -5151,16 +5124,16 @@
5151
5124
  },
5152
5125
  {
5153
5126
  "name": "labelPlacement",
5154
- "type": "\"end\" | \"fixed\" | \"stacked\" | \"start\"",
5127
+ "type": "\"end\" | \"fixed\" | \"start\"",
5155
5128
  "complexType": {
5156
- "original": "'start' | 'end' | 'fixed' | 'stacked'",
5157
- "resolved": "\"end\" | \"fixed\" | \"stacked\" | \"start\"",
5129
+ "original": "'start' | 'end' | 'fixed'",
5130
+ "resolved": "\"end\" | \"fixed\" | \"start\"",
5158
5131
  "references": {}
5159
5132
  },
5160
5133
  "mutable": false,
5161
5134
  "attr": "label-placement",
5162
5135
  "reflectToAttr": false,
5163
- "docs": "Where to place the label relative to the checkbox.\n`\"start\"`: The label will appear to the left of the checkbox in LTR and to the right in RTL.\n`\"end\"`: The label will appear to the right of the checkbox in LTR and to the left in RTL.\n`\"fixed\"`: The label has the same behavior as `\"start\"` except it also has a fixed width. Long text will be truncated with ellipses (\"...\").\n`\"stacked\"`: The label will appear above the checkbox regardless of the direction. The alignment of the label can be controlled with the `alignment` property.",
5136
+ "docs": "Where to place the label relative to the checkbox.\n`\"start\"`: The label will appear to the left of the checkbox in LTR and to the right in RTL.\n`\"end\"`: The label will appear to the right of the checkbox in LTR and to the left in RTL.\n`\"fixed\"`: The label has the same behavior as `\"start\"` except it also has a fixed width. Long text will be truncated with ellipses (\"...\").",
5164
5137
  "docsTags": [],
5165
5138
  "default": "'start'",
5166
5139
  "values": [
@@ -5172,10 +5145,6 @@
5172
5145
  "value": "fixed",
5173
5146
  "type": "string"
5174
5147
  },
5175
- {
5176
- "value": "stacked",
5177
- "type": "string"
5178
- },
5179
5148
  {
5180
5149
  "value": "start",
5181
5150
  "type": "string"
@@ -6839,22 +6808,6 @@
6839
6808
  {
6840
6809
  "name": "part",
6841
6810
  "text": "month-year-button - The button that opens the month/year picker when\nusing a grid style layout."
6842
- },
6843
- {
6844
- "name": "part",
6845
- "text": "calendar-day - The individual buttons that display a day inside of the datetime\ncalendar."
6846
- },
6847
- {
6848
- "name": "part",
6849
- "text": "calendar-day active - The currently selected calendar day."
6850
- },
6851
- {
6852
- "name": "part",
6853
- "text": "calendar-day today - The calendar day that contains the current day."
6854
- },
6855
- {
6856
- "name": "part",
6857
- "text": "calendar-day disabled - The calendar day that is disabled."
6858
6811
  }
6859
6812
  ],
6860
6813
  "usage": {},
@@ -7875,22 +7828,6 @@
7875
7828
  }
7876
7829
  ],
7877
7830
  "parts": [
7878
- {
7879
- "name": "calendar-day",
7880
- "docs": "The individual buttons that display a day inside of the datetime\ncalendar."
7881
- },
7882
- {
7883
- "name": "calendar-day active",
7884
- "docs": "The currently selected calendar day."
7885
- },
7886
- {
7887
- "name": "calendar-day disabled",
7888
- "docs": "The calendar day that is disabled."
7889
- },
7890
- {
7891
- "name": "calendar-day today",
7892
- "docs": "The calendar day that contains the current day."
7893
- },
7894
7831
  {
7895
7832
  "name": "month-year-button",
7896
7833
  "docs": "The button that opens the month/year picker when\nusing a grid style layout."
@@ -19317,33 +19254,6 @@
19317
19254
  ],
19318
19255
  "usage": {},
19319
19256
  "props": [
19320
- {
19321
- "name": "alignment",
19322
- "type": "\"center\" | \"start\"",
19323
- "complexType": {
19324
- "original": "'start' | 'center'",
19325
- "resolved": "\"center\" | \"start\"",
19326
- "references": {}
19327
- },
19328
- "mutable": false,
19329
- "attr": "alignment",
19330
- "reflectToAttr": false,
19331
- "docs": "How to control the alignment of the radio and label on the cross axis.\n`\"start\"`: The label and control will appear on the left of the cross axis in LTR, and on the right side in RTL.\n`\"center\"`: The label and control will appear at the center of the cross axis in both LTR and RTL.",
19332
- "docsTags": [],
19333
- "default": "'center'",
19334
- "values": [
19335
- {
19336
- "value": "center",
19337
- "type": "string"
19338
- },
19339
- {
19340
- "value": "start",
19341
- "type": "string"
19342
- }
19343
- ],
19344
- "optional": false,
19345
- "required": false
19346
- },
19347
19257
  {
19348
19258
  "name": "color",
19349
19259
  "type": "\"danger\" | \"dark\" | \"light\" | \"medium\" | \"primary\" | \"secondary\" | \"success\" | \"tertiary\" | \"warning\" | string & Record<never, never> | undefined",
@@ -19465,16 +19375,16 @@
19465
19375
  },
19466
19376
  {
19467
19377
  "name": "labelPlacement",
19468
- "type": "\"end\" | \"fixed\" | \"stacked\" | \"start\"",
19378
+ "type": "\"end\" | \"fixed\" | \"start\"",
19469
19379
  "complexType": {
19470
- "original": "'start' | 'end' | 'fixed' | 'stacked'",
19471
- "resolved": "\"end\" | \"fixed\" | \"stacked\" | \"start\"",
19380
+ "original": "'start' | 'end' | 'fixed'",
19381
+ "resolved": "\"end\" | \"fixed\" | \"start\"",
19472
19382
  "references": {}
19473
19383
  },
19474
19384
  "mutable": false,
19475
19385
  "attr": "label-placement",
19476
19386
  "reflectToAttr": false,
19477
- "docs": "Where to place the label relative to the radio.\n`\"start\"`: The label will appear to the left of the radio in LTR and to the right in RTL.\n`\"end\"`: The label will appear to the right of the radio in LTR and to the left in RTL.\n`\"fixed\"`: The label has the same behavior as `\"start\"` except it also has a fixed width. Long text will be truncated with ellipses (\"...\").\n`\"stacked\"`: The label will appear above the radio regardless of the direction. The alignment of the label can be controlled with the `alignment` property.",
19387
+ "docs": "Where to place the label relative to the radio.\n`\"start\"`: The label will appear to the left of the radio in LTR and to the right in RTL.\n`\"end\"`: The label will appear to the right of the radio in LTR and to the left in RTL.\n`\"fixed\"`: The label has the same behavior as `\"start\"` except it also has a fixed width. Long text will be truncated with ellipses (\"...\").",
19478
19388
  "docsTags": [],
19479
19389
  "default": "'start'",
19480
19390
  "values": [
@@ -19486,10 +19396,6 @@
19486
19396
  "value": "fixed",
19487
19397
  "type": "string"
19488
19398
  },
19489
- {
19490
- "value": "stacked",
19491
- "type": "string"
19492
- },
19493
19399
  {
19494
19400
  "value": "start",
19495
19401
  "type": "string"
@@ -20018,16 +19924,16 @@
20018
19924
  },
20019
19925
  {
20020
19926
  "name": "labelPlacement",
20021
- "type": "\"end\" | \"fixed\" | \"stacked\" | \"start\"",
19927
+ "type": "\"end\" | \"fixed\" | \"start\"",
20022
19928
  "complexType": {
20023
- "original": "'start' | 'end' | 'fixed' | 'stacked'",
20024
- "resolved": "\"end\" | \"fixed\" | \"stacked\" | \"start\"",
19929
+ "original": "'start' | 'end' | 'fixed'",
19930
+ "resolved": "\"end\" | \"fixed\" | \"start\"",
20025
19931
  "references": {}
20026
19932
  },
20027
19933
  "mutable": false,
20028
19934
  "attr": "label-placement",
20029
19935
  "reflectToAttr": false,
20030
- "docs": "Where to place the label relative to the range.\n`\"start\"`: The label will appear to the left of the range in LTR and to the right in RTL.\n`\"end\"`: The label will appear to the right of the range in LTR and to the left in RTL.\n`\"fixed\"`: The label has the same behavior as `\"start\"` except it also has a fixed width. Long text will be truncated with ellipses (\"...\").\n`\"stacked\"`: The label will appear above the range regardless of the direction.",
19936
+ "docs": "Where to place the label relative to the range.\n`\"start\"`: The label will appear to the left of the range in LTR and to the right in RTL.\n`\"end\"`: The label will appear to the right of the range in LTR and to the left in RTL.\n`\"fixed\"`: The label has the same behavior as `\"start\"` except it also has a fixed width. Long text will be truncated with ellipses (\"...\").",
20031
19937
  "docsTags": [],
20032
19938
  "default": "'start'",
20033
19939
  "values": [
@@ -20039,10 +19945,6 @@
20039
19945
  "value": "fixed",
20040
19946
  "type": "string"
20041
19947
  },
20042
- {
20043
- "value": "stacked",
20044
- "type": "string"
20045
- },
20046
19948
  {
20047
19949
  "value": "start",
20048
19950
  "type": "string"
@@ -28220,33 +28122,6 @@
28220
28122
  ],
28221
28123
  "usage": {},
28222
28124
  "props": [
28223
- {
28224
- "name": "alignment",
28225
- "type": "\"center\" | \"start\"",
28226
- "complexType": {
28227
- "original": "'start' | 'center'",
28228
- "resolved": "\"center\" | \"start\"",
28229
- "references": {}
28230
- },
28231
- "mutable": false,
28232
- "attr": "alignment",
28233
- "reflectToAttr": false,
28234
- "docs": "How to control the alignment of the toggle and label on the cross axis.\n``\"start\"`: The label and control will appear on the left of the cross axis in LTR, and on the right side in RTL.\n`\"center\"`: The label and control will appear at the center of the cross axis in both LTR and RTL.",
28235
- "docsTags": [],
28236
- "default": "'center'",
28237
- "values": [
28238
- {
28239
- "value": "center",
28240
- "type": "string"
28241
- },
28242
- {
28243
- "value": "start",
28244
- "type": "string"
28245
- }
28246
- ],
28247
- "optional": false,
28248
- "required": false
28249
- },
28250
28125
  {
28251
28126
  "name": "checked",
28252
28127
  "type": "boolean",
@@ -28415,16 +28290,16 @@
28415
28290
  },
28416
28291
  {
28417
28292
  "name": "labelPlacement",
28418
- "type": "\"end\" | \"fixed\" | \"stacked\" | \"start\"",
28293
+ "type": "\"end\" | \"fixed\" | \"start\"",
28419
28294
  "complexType": {
28420
- "original": "'start' | 'end' | 'fixed' | 'stacked'",
28421
- "resolved": "\"end\" | \"fixed\" | \"stacked\" | \"start\"",
28295
+ "original": "'start' | 'end' | 'fixed'",
28296
+ "resolved": "\"end\" | \"fixed\" | \"start\"",
28422
28297
  "references": {}
28423
28298
  },
28424
28299
  "mutable": false,
28425
28300
  "attr": "label-placement",
28426
28301
  "reflectToAttr": false,
28427
- "docs": "Where to place the label relative to the input.\n`\"start\"`: The label will appear to the left of the toggle in LTR and to the right in RTL.\n`\"end\"`: The label will appear to the right of the toggle in LTR and to the left in RTL.\n`\"fixed\"`: The label has the same behavior as `\"start\"` except it also has a fixed width. Long text will be truncated with ellipses (\"...\").\n`\"stacked\"`: The label will appear above the toggle regardless of the direction. The alignment of the label can be controlled with the `alignment` property.",
28302
+ "docs": "Where to place the label relative to the input.\n`\"start\"`: The label will appear to the left of the toggle in LTR and to the right in RTL.\n`\"end\"`: The label will appear to the right of the toggle in LTR and to the left in RTL.\n`\"fixed\"`: The label has the same behavior as `\"start\"` except it also has a fixed width. Long text will be truncated with ellipses (\"...\").",
28428
28303
  "docsTags": [],
28429
28304
  "default": "'start'",
28430
28305
  "values": [
@@ -28436,10 +28311,6 @@
28436
28311
  "value": "fixed",
28437
28312
  "type": "string"
28438
28313
  },
28439
- {
28440
- "value": "stacked",
28441
- "type": "string"
28442
- },
28443
28314
  {
28444
28315
  "value": "start",
28445
28316
  "type": "string"
@@ -29286,7 +29157,7 @@
29286
29157
  "path": "src/components/toast/toast-interface.ts"
29287
29158
  },
29288
29159
  "src/components/toast/toast-interface.ts::ToastButton": {
29289
- "declaration": "export interface ToastButton {\n text?: string;\n icon?: string;\n side?: 'start' | 'end';\n role?: 'cancel' | string;\n\n /**\n * @deprecated Use the toast button's CSS Shadow Parts instead.\n */\n cssClass?: string | string[];\n htmlAttributes?: { [key: string]: any };\n handler?: () => boolean | void | Promise<boolean | void>;\n}",
29160
+ "declaration": "export interface ToastButton {\n text?: string;\n icon?: string;\n side?: 'start' | 'end';\n role?: 'cancel' | string;\n cssClass?: string | string[];\n htmlAttributes?: { [key: string]: any };\n handler?: () => boolean | void | Promise<boolean | void>;\n}",
29290
29161
  "docstring": "",
29291
29162
  "path": "src/components/toast/toast-interface.ts"
29292
29163
  },
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { i as initialize } from './ionic-global-1ef19007.js';
4
+ import { i as initialize } from './ionic-global-9080266a.js';
5
5
 
6
6
  const globalScripts = initialize;
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { w as writeTask } from './index-847f2fde.js';
4
+ import { w as writeTask } from './index-adfb2000.js';
5
5
  import { h as hapticSelectionEnd, a as hapticSelectionStart, b as hapticSelectionChanged } from './haptic-6447af60.js';
6
6
  import { createGesture } from './index-ff313b19.js';
7
7