@ionic/core 7.5.4-dev.11701112913.1ea61220 → 7.5.4-dev.11702935369.11a4baba

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 (507) hide show
  1. package/components/animation.js +11 -12
  2. package/components/checkbox.js +0 -2
  3. package/components/index4.js +12 -10
  4. package/components/index5.js +22 -0
  5. package/components/input-shims.js +7 -12
  6. package/components/input.utils.js +2 -3
  7. package/components/ion-datetime.js +2 -2
  8. package/components/ion-input.js +8 -31
  9. package/components/ion-modal.js +2 -2
  10. package/components/ion-range.js +0 -2
  11. package/components/ion-select.js +29 -44
  12. package/components/ion-skeleton-text.js +1 -14
  13. package/components/ion-textarea.js +7 -30
  14. package/components/ion-toast.js +74 -419
  15. package/components/ion-toggle.js +0 -2
  16. package/components/item.js +2 -2
  17. package/components/label.js +2 -2
  18. package/components/overlays.js +1 -2
  19. package/components/radio-group.js +0 -2
  20. package/components/radio.js +2 -42
  21. package/dist/cjs/{animation-d101aa7a.js → animation-1083855c.js} +12 -13
  22. package/dist/cjs/{app-globals-ef077808.js → app-globals-d1892126.js} +1 -1
  23. package/dist/cjs/{button-active-69c3bee4.js → button-active-e93ab34d.js} +2 -2
  24. package/dist/cjs/{capacitor-f68447d3.js → capacitor-2ffba62a.js} +1 -1
  25. package/dist/cjs/{haptic-a74c2767.js → haptic-678abc9f.js} +1 -1
  26. package/dist/cjs/index-306a7476.js +32 -0
  27. package/dist/cjs/{index-9146d04a.js → index-4323b635.js} +14 -12
  28. package/dist/cjs/{index-adbcffee.js → index-84c4c696.js} +3 -3
  29. package/dist/cjs/{index-e9634bc9.js → index-9f379eaa.js} +1 -1
  30. package/dist/cjs/index.cjs.js +10 -10
  31. package/dist/cjs/{input-shims-3e3f35b9.js → input-shims-b0a75a01.js} +10 -15
  32. package/dist/cjs/{input.utils-bdb6953c.js → input.utils-0fe3097c.js} +3 -4
  33. package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -3
  34. package/dist/cjs/ion-action-sheet.cjs.entry.js +8 -8
  35. package/dist/cjs/ion-alert.cjs.entry.js +8 -8
  36. package/dist/cjs/ion-app_8.cjs.entry.js +11 -11
  37. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  38. package/dist/cjs/ion-back-button.cjs.entry.js +3 -3
  39. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
  40. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +3 -3
  41. package/dist/cjs/ion-button_2.cjs.entry.js +2 -2
  42. package/dist/cjs/ion-card_5.cjs.entry.js +2 -2
  43. package/dist/cjs/ion-checkbox.cjs.entry.js +2 -4
  44. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  45. package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
  46. package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
  47. package/dist/cjs/ion-datetime_3.cjs.entry.js +10 -10
  48. package/dist/cjs/ion-fab_3.cjs.entry.js +3 -3
  49. package/dist/cjs/ion-img.cjs.entry.js +2 -2
  50. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
  51. package/dist/cjs/ion-input.cjs.entry.js +14 -37
  52. package/dist/cjs/ion-item-option_3.cjs.entry.js +2 -2
  53. package/dist/cjs/ion-item_8.cjs.entry.js +7 -20
  54. package/dist/cjs/ion-loading.cjs.entry.js +5 -5
  55. package/dist/cjs/ion-menu_3.cjs.entry.js +8 -8
  56. package/dist/cjs/ion-modal.cjs.entry.js +10 -10
  57. package/dist/cjs/ion-nav_2.cjs.entry.js +3 -3
  58. package/dist/cjs/ion-picker-column-internal.cjs.entry.js +5 -5
  59. package/dist/cjs/ion-picker-internal.cjs.entry.js +1 -1
  60. package/dist/cjs/ion-popover.cjs.entry.js +6 -6
  61. package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
  62. package/dist/cjs/ion-radio_2.cjs.entry.js +3 -8
  63. package/dist/cjs/ion-range.cjs.entry.js +2 -4
  64. package/dist/cjs/ion-refresher_2.cjs.entry.js +7 -7
  65. package/dist/cjs/ion-reorder_2.cjs.entry.js +6 -6
  66. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
  67. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  68. package/dist/cjs/ion-searchbar.cjs.entry.js +3 -3
  69. package/dist/cjs/ion-segment_2.cjs.entry.js +2 -2
  70. package/dist/cjs/ion-select_3.cjs.entry.js +38 -54
  71. package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
  72. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  73. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +6 -6
  74. package/dist/cjs/ion-tab_2.cjs.entry.js +1 -1
  75. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  76. package/dist/cjs/ion-textarea.cjs.entry.js +12 -35
  77. package/dist/cjs/ion-toast.cjs.entry.js +93 -435
  78. package/dist/cjs/ion-toggle.cjs.entry.js +6 -8
  79. package/dist/cjs/{ionic-global-4538d91c.js → ionic-global-91f1f8f2.js} +1 -1
  80. package/dist/cjs/ionic.cjs.js +4 -4
  81. package/dist/cjs/{ios.transition-7972d9e3.js → ios.transition-facbe500.js} +4 -4
  82. package/dist/cjs/{keyboard-840107b3.js → keyboard-38f2bb7b.js} +3 -3
  83. package/dist/cjs/{keyboard-controller-019f42df.js → keyboard-controller-50beb83a.js} +2 -2
  84. package/dist/cjs/{keyboard-43df0428.js → keyboard-fd7db491.js} +1 -1
  85. package/dist/cjs/loader.cjs.js +4 -4
  86. package/dist/cjs/{md.transition-6e61a10f.js → md.transition-0a7d53f1.js} +4 -4
  87. package/dist/cjs/{notch-controller-c22d1344.js → notch-controller-f4f6af5d.js} +1 -1
  88. package/dist/cjs/{overlays-ba1a1e21.js → overlays-91bb8ff7.js} +2 -4
  89. package/dist/cjs/{status-tap-2e9f9c86.js → status-tap-a9d8edcf.js} +1 -1
  90. package/dist/collection/components/checkbox/checkbox.js +0 -2
  91. package/dist/collection/components/datetime/datetime.ios.css +0 -1
  92. package/dist/collection/components/datetime/datetime.md.css +0 -1
  93. package/dist/collection/components/icon/test/dir/heart-broken.svg +0 -0
  94. package/dist/collection/components/input/input.ios.css +3 -10
  95. package/dist/collection/components/input/input.js +6 -31
  96. package/dist/collection/components/input/input.md.css +12 -13
  97. package/dist/collection/components/item/item.ios.css +15 -85
  98. package/dist/collection/components/item/item.md.css +15 -85
  99. package/dist/collection/components/item/test/basic/item.e2e.js +0 -26
  100. package/dist/collection/components/item/test/disabled/item.e2e.js +1 -0
  101. package/dist/collection/components/item/test/icons/heart-broken.svg +0 -0
  102. package/dist/collection/components/item/test/text/item.e2e.js +14 -0
  103. package/dist/collection/components/label/label.ios.css +3 -14
  104. package/dist/collection/components/label/label.md.css +3 -14
  105. package/dist/collection/components/modal/gestures/swipe-to-close.js +1 -2
  106. package/dist/collection/components/note/test/a11y/note.e2e.js +0 -43
  107. package/dist/collection/components/radio/radio.js +2 -5
  108. package/dist/collection/components/radio-group/radio-group.js +0 -24
  109. package/dist/collection/components/range/range.js +0 -2
  110. package/dist/collection/components/select/select.ios.css +7 -61
  111. package/dist/collection/components/select/select.js +28 -45
  112. package/dist/collection/components/select/select.md.css +19 -64
  113. package/dist/collection/components/select/test/label/select.e2e.js +1 -1
  114. package/dist/collection/components/select/test/legacy/wrapping/select.e2e.js +1 -1
  115. package/dist/collection/components/skeleton-text/skeleton-text.js +0 -39
  116. package/dist/collection/components/textarea/textarea.ios.css +5 -37
  117. package/dist/collection/components/textarea/textarea.js +5 -30
  118. package/dist/collection/components/textarea/textarea.md.css +14 -47
  119. package/dist/collection/components/toast/animations/ios.enter.js +1 -2
  120. package/dist/collection/components/toast/animations/md.enter.js +3 -4
  121. package/dist/collection/components/toast/animations/utils.js +14 -20
  122. package/dist/collection/components/toast/toast.ios.css +10 -10
  123. package/dist/collection/components/toast/toast.js +1 -104
  124. package/dist/collection/components/toast/toast.md.css +0 -10
  125. package/dist/collection/components/toggle/toggle.js +0 -2
  126. package/dist/collection/utils/animation/animation.js +11 -12
  127. package/dist/collection/utils/browser/index.js +22 -0
  128. package/dist/collection/utils/forms/index.js +0 -1
  129. package/dist/collection/utils/input-shims/input-shims.js +6 -12
  130. package/dist/collection/utils/menu-controller/index.js +12 -10
  131. package/dist/collection/utils/overlays.js +0 -1
  132. package/dist/collection/utils/slot-mutation-controller.js +2 -3
  133. package/dist/docs.json +2 -127
  134. package/dist/esm/{animation-cf3dd234.js → animation-8aa13916.js} +12 -13
  135. package/dist/esm/{app-globals-ba8b3a06.js → app-globals-8d413354.js} +1 -1
  136. package/dist/esm/{button-active-109ba60d.js → button-active-c7a04c9a.js} +2 -2
  137. package/dist/esm/{capacitor-f1f25364.js → capacitor-b4979570.js} +1 -1
  138. package/dist/esm/{haptic-1a66d69f.js → haptic-1243b917.js} +1 -1
  139. package/dist/esm/index-7a14ecec.js +29 -0
  140. package/dist/esm/{index-50582f1c.js → index-d62333a6.js} +3 -3
  141. package/dist/esm/{index-6a48e009.js → index-e2052f20.js} +14 -12
  142. package/dist/esm/{index-c9e82353.js → index-f0cc4e14.js} +1 -1
  143. package/dist/esm/index.js +10 -10
  144. package/dist/esm/{input-shims-1d767845.js → input-shims-d0c93e5d.js} +9 -14
  145. package/dist/esm/{input.utils-2cf5e372.js → input.utils-ec063df4.js} +3 -4
  146. package/dist/esm/ion-accordion_2.entry.js +3 -3
  147. package/dist/esm/ion-action-sheet.entry.js +8 -8
  148. package/dist/esm/ion-alert.entry.js +8 -8
  149. package/dist/esm/ion-app_8.entry.js +11 -11
  150. package/dist/esm/ion-avatar_3.entry.js +2 -2
  151. package/dist/esm/ion-back-button.entry.js +3 -3
  152. package/dist/esm/ion-backdrop.entry.js +2 -2
  153. package/dist/esm/ion-breadcrumb_2.entry.js +3 -3
  154. package/dist/esm/ion-button_2.entry.js +2 -2
  155. package/dist/esm/ion-card_5.entry.js +2 -2
  156. package/dist/esm/ion-checkbox.entry.js +2 -4
  157. package/dist/esm/ion-chip.entry.js +2 -2
  158. package/dist/esm/ion-col_3.entry.js +2 -2
  159. package/dist/esm/ion-datetime-button.entry.js +2 -2
  160. package/dist/esm/ion-datetime_3.entry.js +10 -10
  161. package/dist/esm/ion-fab_3.entry.js +3 -3
  162. package/dist/esm/ion-img.entry.js +2 -2
  163. package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
  164. package/dist/esm/ion-input.entry.js +14 -37
  165. package/dist/esm/ion-item-option_3.entry.js +2 -2
  166. package/dist/esm/ion-item_8.entry.js +7 -20
  167. package/dist/esm/ion-loading.entry.js +5 -5
  168. package/dist/esm/ion-menu_3.entry.js +8 -8
  169. package/dist/esm/ion-modal.entry.js +10 -10
  170. package/dist/esm/ion-nav_2.entry.js +3 -3
  171. package/dist/esm/ion-picker-column-internal.entry.js +5 -5
  172. package/dist/esm/ion-picker-internal.entry.js +1 -1
  173. package/dist/esm/ion-popover.entry.js +6 -6
  174. package/dist/esm/ion-progress-bar.entry.js +2 -2
  175. package/dist/esm/ion-radio_2.entry.js +3 -8
  176. package/dist/esm/ion-range.entry.js +2 -4
  177. package/dist/esm/ion-refresher_2.entry.js +7 -7
  178. package/dist/esm/ion-reorder_2.entry.js +6 -6
  179. package/dist/esm/ion-ripple-effect.entry.js +2 -2
  180. package/dist/esm/ion-route_4.entry.js +2 -2
  181. package/dist/esm/ion-searchbar.entry.js +3 -3
  182. package/dist/esm/ion-segment_2.entry.js +2 -2
  183. package/dist/esm/ion-select_3.entry.js +34 -50
  184. package/dist/esm/ion-spinner.entry.js +2 -2
  185. package/dist/esm/ion-split-pane.entry.js +2 -2
  186. package/dist/esm/ion-tab-bar_2.entry.js +6 -6
  187. package/dist/esm/ion-tab_2.entry.js +1 -1
  188. package/dist/esm/ion-text.entry.js +2 -2
  189. package/dist/esm/ion-textarea.entry.js +12 -35
  190. package/dist/esm/ion-toast.entry.js +77 -419
  191. package/dist/esm/ion-toggle.entry.js +6 -8
  192. package/dist/esm/{ionic-global-7efdecd0.js → ionic-global-8673c5ce.js} +1 -1
  193. package/dist/esm/ionic.js +5 -5
  194. package/dist/esm/{ios.transition-e20d71bc.js → ios.transition-2fdb6f26.js} +4 -4
  195. package/dist/esm/{keyboard-b6230bfb.js → keyboard-b063f012.js} +1 -1
  196. package/dist/esm/{keyboard-9f771a04.js → keyboard-b551279d.js} +3 -3
  197. package/dist/esm/{keyboard-controller-3f0faa10.js → keyboard-controller-0c2dce71.js} +2 -2
  198. package/dist/esm/loader.js +5 -5
  199. package/dist/esm/{md.transition-a8469407.js → md.transition-6f8b3cd0.js} +4 -4
  200. package/dist/esm/{notch-controller-3f79197e.js → notch-controller-8c9c0e54.js} +1 -1
  201. package/dist/esm/{overlays-d79b34b4.js → overlays-d4c45da6.js} +3 -4
  202. package/dist/esm/polyfills/core-js.js +0 -0
  203. package/dist/esm/polyfills/dom.js +0 -0
  204. package/dist/esm/polyfills/es5-html-element.js +0 -0
  205. package/dist/esm/polyfills/index.js +0 -0
  206. package/dist/esm/polyfills/system.js +0 -0
  207. package/dist/esm/{status-tap-7ca28a1c.js → status-tap-71db1a8f.js} +1 -1
  208. package/dist/esm-es5/{animation-cf3dd234.js → animation-8aa13916.js} +1 -1
  209. package/dist/esm-es5/app-globals-8d413354.js +4 -0
  210. package/dist/esm-es5/{button-active-109ba60d.js → button-active-c7a04c9a.js} +1 -1
  211. package/dist/esm-es5/{capacitor-f1f25364.js → capacitor-b4979570.js} +1 -1
  212. package/dist/esm-es5/{haptic-1a66d69f.js → haptic-1243b917.js} +1 -1
  213. package/dist/esm-es5/{index-50582f1c.js → index-d62333a6.js} +1 -1
  214. package/dist/esm-es5/index-e2052f20.js +4 -0
  215. package/dist/esm-es5/index-f0cc4e14.js +4 -0
  216. package/dist/esm-es5/index.js +1 -1
  217. package/dist/esm-es5/input-shims-d0c93e5d.js +4 -0
  218. package/dist/esm-es5/input.utils-ec063df4.js +4 -0
  219. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  220. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  221. package/dist/esm-es5/ion-alert.entry.js +1 -1
  222. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  223. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  224. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  225. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  226. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  227. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  228. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  229. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  230. package/dist/esm-es5/ion-chip.entry.js +1 -1
  231. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  232. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  233. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  234. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  235. package/dist/esm-es5/ion-img.entry.js +1 -1
  236. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  237. package/dist/esm-es5/ion-input.entry.js +1 -1
  238. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  239. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  240. package/dist/esm-es5/ion-loading.entry.js +1 -1
  241. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  242. package/dist/esm-es5/ion-modal.entry.js +1 -1
  243. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  244. package/dist/esm-es5/ion-picker-column-internal.entry.js +1 -1
  245. package/dist/esm-es5/ion-picker-internal.entry.js +1 -1
  246. package/dist/esm-es5/ion-popover.entry.js +1 -1
  247. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  248. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  249. package/dist/esm-es5/ion-range.entry.js +1 -1
  250. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  251. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  252. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  253. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  254. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  255. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  256. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  257. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  258. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  259. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  260. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  261. package/dist/esm-es5/ion-text.entry.js +1 -1
  262. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  263. package/dist/esm-es5/ion-toast.entry.js +1 -1
  264. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  265. package/dist/esm-es5/{ionic-global-7efdecd0.js → ionic-global-8673c5ce.js} +1 -1
  266. package/dist/esm-es5/ionic.js +1 -1
  267. package/dist/esm-es5/{ios.transition-e20d71bc.js → ios.transition-2fdb6f26.js} +1 -1
  268. package/dist/esm-es5/{keyboard-b6230bfb.js → keyboard-b063f012.js} +1 -1
  269. package/dist/esm-es5/{keyboard-9f771a04.js → keyboard-b551279d.js} +1 -1
  270. package/dist/esm-es5/{keyboard-controller-3f0faa10.js → keyboard-controller-0c2dce71.js} +1 -1
  271. package/dist/esm-es5/loader.js +1 -1
  272. package/dist/esm-es5/md.transition-6f8b3cd0.js +4 -0
  273. package/dist/esm-es5/{notch-controller-3f79197e.js → notch-controller-8c9c0e54.js} +1 -1
  274. package/dist/esm-es5/{overlays-d79b34b4.js → overlays-d4c45da6.js} +1 -1
  275. package/dist/esm-es5/{status-tap-7ca28a1c.js → status-tap-71db1a8f.js} +1 -1
  276. package/dist/html.html-data.json +1 -14
  277. package/dist/ionic/index.esm.js +1 -1
  278. package/dist/ionic/ionic.esm.js +1 -1
  279. package/dist/ionic/ionic.js +1 -1
  280. package/dist/ionic/p-02863edb.system.js +4 -0
  281. package/dist/ionic/{p-bf3396e1.entry.js → p-0335e66c.entry.js} +1 -1
  282. package/dist/ionic/{p-1b5b6845.system.entry.js → p-076e622f.system.entry.js} +1 -1
  283. package/dist/ionic/{p-35787a6f.entry.js → p-08dcf03a.entry.js} +1 -1
  284. package/dist/ionic/{p-4c50b357.system.entry.js → p-091702af.system.entry.js} +1 -1
  285. package/dist/ionic/{p-e53f2605.entry.js → p-094dbfa5.entry.js} +1 -1
  286. package/dist/ionic/{p-1fc6b5a5.system.entry.js → p-0993782a.system.entry.js} +1 -1
  287. package/dist/ionic/p-0d8e9076.system.entry.js +4 -0
  288. package/dist/ionic/p-0f23c3a5.entry.js +4 -0
  289. package/dist/ionic/p-0f4f11eb.entry.js +4 -0
  290. package/dist/ionic/{p-8a9760f7.system.entry.js → p-10a2ab8c.system.entry.js} +1 -1
  291. package/dist/ionic/{p-3fc0b7ba.entry.js → p-1289df52.entry.js} +1 -1
  292. package/dist/ionic/{p-35e25602.system.entry.js → p-14be0381.system.entry.js} +1 -1
  293. package/dist/ionic/{p-2151a4a4.system.entry.js → p-153ea88b.system.entry.js} +1 -1
  294. package/dist/ionic/{p-e4d66e2d.system.entry.js → p-176a386b.system.entry.js} +1 -1
  295. package/dist/ionic/{p-15512a5e.system.entry.js → p-1acd1607.system.entry.js} +1 -1
  296. package/dist/ionic/{p-eec1aa12.system.entry.js → p-1b16c2ef.system.entry.js} +1 -1
  297. package/dist/ionic/{p-a3434028.system.entry.js → p-1df460d5.system.entry.js} +1 -1
  298. package/dist/ionic/{p-0148306b.system.js → p-1e87e3fb.system.js} +1 -1
  299. package/dist/ionic/{p-3962542f.system.entry.js → p-202654b4.system.entry.js} +1 -1
  300. package/dist/ionic/p-276afddd.js +4 -0
  301. package/dist/ionic/{p-ce20c101.entry.js → p-287d76e0.entry.js} +1 -1
  302. package/dist/ionic/{p-20ff4d7f.system.entry.js → p-2954d245.system.entry.js} +1 -1
  303. package/dist/ionic/p-2ac243b7.entry.js +4 -0
  304. package/dist/ionic/p-2e8e0045.js +4 -0
  305. package/dist/ionic/{p-138a4a93.entry.js → p-31589ed7.entry.js} +1 -1
  306. package/dist/ionic/{p-70bf6086.system.entry.js → p-3299adbf.system.entry.js} +1 -1
  307. package/dist/ionic/p-3602001b.system.js +4 -0
  308. package/dist/ionic/p-3632220b.system.js +4 -0
  309. package/dist/ionic/{p-3dedd258.system.entry.js → p-3878d22f.system.entry.js} +1 -1
  310. package/dist/ionic/{p-957f3028.system.entry.js → p-38fbf9f5.system.entry.js} +1 -1
  311. package/dist/ionic/{p-13dd7d20.system.js → p-3b3046e8.system.js} +1 -1
  312. package/dist/ionic/{p-e5fd9f10.js → p-3bad5c1a.js} +1 -1
  313. package/dist/ionic/{p-0c40f7d3.system.js → p-3d074f21.system.js} +1 -1
  314. package/dist/ionic/p-3daa6ecf.js +4 -0
  315. package/dist/ionic/{p-510bc27b.entry.js → p-40f5a803.entry.js} +1 -1
  316. package/dist/ionic/{p-958f1c70.system.js → p-41477ad9.system.js} +1 -1
  317. package/dist/ionic/{p-a135e3ba.js → p-419eb426.js} +1 -1
  318. package/dist/ionic/{p-0e8335b9.entry.js → p-44723fa5.entry.js} +1 -1
  319. package/dist/ionic/{p-5b978c94.system.js → p-4639874e.system.js} +2 -2
  320. package/dist/ionic/p-4c724478.entry.js +4 -0
  321. package/dist/ionic/{p-f6d089a7.entry.js → p-4d06fd5b.entry.js} +1 -1
  322. package/dist/ionic/{p-938c4956.js → p-4f91b9c6.js} +1 -1
  323. package/dist/ionic/{p-ed8a02a2.system.entry.js → p-51086b36.system.entry.js} +1 -1
  324. package/dist/ionic/{p-abaa9b48.system.js → p-5504ca9b.system.js} +1 -1
  325. package/dist/ionic/{p-020dd47f.entry.js → p-55a8f9a3.entry.js} +1 -1
  326. package/dist/ionic/p-5916b355.system.entry.js +4 -0
  327. package/dist/ionic/{p-bedc16f0.system.entry.js → p-5b9cb91d.system.entry.js} +1 -1
  328. package/dist/ionic/{p-2d86b19a.entry.js → p-6008efa0.entry.js} +1 -1
  329. package/dist/ionic/{p-cb6c380e.system.entry.js → p-664cb3ad.system.entry.js} +1 -1
  330. package/dist/ionic/p-67eecef4.system.js +4 -0
  331. package/dist/ionic/{p-27923249.system.entry.js → p-6a61d423.system.entry.js} +1 -1
  332. package/dist/ionic/{p-e525dbea.entry.js → p-6e4225ed.entry.js} +1 -1
  333. package/dist/ionic/{p-00a10b94.system.entry.js → p-793625e5.system.entry.js} +1 -1
  334. package/dist/ionic/{p-89703003.entry.js → p-7e6cf80c.entry.js} +1 -1
  335. package/dist/ionic/{p-c7138053.system.entry.js → p-7eaa28eb.system.entry.js} +1 -1
  336. package/dist/ionic/{p-696c63fb.system.entry.js → p-7fd77f56.system.entry.js} +1 -1
  337. package/dist/ionic/{p-11cb4e19.js → p-81c818e7.js} +1 -1
  338. package/dist/ionic/p-843fe6e3.entry.js +4 -0
  339. package/dist/ionic/p-8708a93c.entry.js +4 -0
  340. package/dist/ionic/{p-ab1908ba.system.entry.js → p-889118cf.system.entry.js} +1 -1
  341. package/dist/ionic/{p-9471d511.system.entry.js → p-88cfa8f1.system.entry.js} +1 -1
  342. package/dist/ionic/{p-edd568c5.js → p-8bda8767.js} +1 -1
  343. package/dist/ionic/p-8c44e074.system.entry.js +4 -0
  344. package/dist/ionic/{p-53f75103.system.js → p-8c63eccf.system.js} +1 -1
  345. package/dist/ionic/{p-5885e9af.js → p-8cf94fc1.js} +1 -1
  346. package/dist/ionic/p-8d9c5be5.system.entry.js +4 -0
  347. package/dist/ionic/{p-5a7df436.entry.js → p-8f518e79.entry.js} +1 -1
  348. package/dist/ionic/p-910c1904.system.entry.js +4 -0
  349. package/dist/ionic/{p-47826f19.entry.js → p-93a2c76b.entry.js} +1 -1
  350. package/dist/ionic/p-94154db4.js +4 -0
  351. package/dist/ionic/{p-c4381a06.entry.js → p-952c64ea.entry.js} +1 -1
  352. package/dist/ionic/{p-60f25049.js → p-959e7a7a.js} +1 -1
  353. package/dist/ionic/p-97c65aa5.js +4 -0
  354. package/dist/ionic/p-9ab6f3e6.system.js +4 -0
  355. package/dist/ionic/p-9c7a56f0.entry.js +4 -0
  356. package/dist/ionic/{p-51b94085.system.entry.js → p-9c933855.system.entry.js} +1 -1
  357. package/dist/ionic/{p-c2e199ac.entry.js → p-9da6eef4.entry.js} +1 -1
  358. package/dist/ionic/p-9e4bb700.entry.js +4 -0
  359. package/dist/ionic/{p-50375f3b.system.entry.js → p-a134a81b.system.entry.js} +1 -1
  360. package/dist/ionic/p-a30595f3.system.entry.js +4 -0
  361. package/dist/ionic/p-a3b6e1b2.entry.js +4 -0
  362. package/dist/ionic/{p-d3278cb8.entry.js → p-a7c33806.entry.js} +1 -1
  363. package/dist/ionic/p-a809a205.js +4 -0
  364. package/dist/ionic/{p-aec8a70a.system.js → p-ab4cff27.system.js} +1 -1
  365. package/dist/ionic/p-ad227931.system.js +4 -0
  366. package/dist/ionic/{p-5c7107b4.system.entry.js → p-ae2e4e30.system.entry.js} +1 -1
  367. package/dist/ionic/{p-8be2b964.entry.js → p-b1200f55.entry.js} +1 -1
  368. package/dist/ionic/{p-400a78f3.system.entry.js → p-b4085a03.system.entry.js} +1 -1
  369. package/dist/ionic/{p-9292fd42.system.js → p-b4b4bb29.system.js} +1 -1
  370. package/dist/ionic/{p-6a309574.js → p-b923f3d7.js} +1 -1
  371. package/dist/ionic/{p-25b8d65c.entry.js → p-b95cc39b.entry.js} +1 -1
  372. package/dist/ionic/{p-3e8d7ed8.js → p-b977b57a.js} +1 -1
  373. package/dist/ionic/{p-f9a641fa.system.js → p-bba2ce59.system.js} +1 -1
  374. package/dist/ionic/{p-d73eb00e.entry.js → p-bd946be0.entry.js} +1 -1
  375. package/dist/ionic/p-c096895d.system.js +4 -0
  376. package/dist/ionic/{p-a03566c4.system.entry.js → p-c2af8468.system.entry.js} +2 -2
  377. package/dist/ionic/p-c3b62be8.system.entry.js +4 -0
  378. package/dist/ionic/{p-2fb115dc.entry.js → p-c5106edf.entry.js} +1 -1
  379. package/dist/ionic/p-c75422d5.entry.js +4 -0
  380. package/dist/ionic/p-c87d155e.entry.js +4 -0
  381. package/dist/ionic/p-cbe7738f.entry.js +4 -0
  382. package/dist/ionic/p-cc196b34.js +4 -0
  383. package/dist/ionic/{p-1511dc35.system.js → p-cc68ad40.system.js} +1 -1
  384. package/dist/ionic/{p-e7d20dfb.system.js → p-ccdcb022.system.js} +1 -1
  385. package/dist/ionic/{p-6825ff8d.entry.js → p-cd1c8ab2.entry.js} +1 -1
  386. package/dist/ionic/{p-a6880f79.system.entry.js → p-cd3a87bd.system.entry.js} +1 -1
  387. package/dist/ionic/{p-7dafac2c.system.entry.js → p-ce62bf2c.system.entry.js} +1 -1
  388. package/dist/ionic/{p-ebdaf11b.entry.js → p-ce9bf0ed.entry.js} +1 -1
  389. package/dist/ionic/p-d05b431a.system.entry.js +4 -0
  390. package/dist/ionic/{p-71e70a57.system.entry.js → p-d0c701d0.system.entry.js} +1 -1
  391. package/dist/ionic/{p-03a36678.entry.js → p-d1ac0094.entry.js} +1 -1
  392. package/dist/ionic/p-d1de1188.js +4 -0
  393. package/dist/ionic/{p-f8febce9.system.entry.js → p-d27ade6f.system.entry.js} +1 -1
  394. package/dist/ionic/p-d37d3ebc.system.entry.js +4 -0
  395. package/dist/ionic/{p-b3d50a72.entry.js → p-d59f70db.entry.js} +1 -1
  396. package/dist/ionic/{p-152998a6.system.entry.js → p-d9c86724.system.entry.js} +1 -1
  397. package/dist/ionic/{p-df18d20d.js → p-da26ba41.js} +1 -1
  398. package/dist/ionic/{p-4430713b.entry.js → p-da6b2907.entry.js} +1 -1
  399. package/dist/ionic/p-dee844d7.js +4 -0
  400. package/dist/ionic/{p-9939c98e.entry.js → p-e23c3d22.entry.js} +1 -1
  401. package/dist/ionic/{p-bc48e521.system.entry.js → p-ecbc7728.system.entry.js} +1 -1
  402. package/dist/ionic/{p-12d62aa9.entry.js → p-ef0d410f.entry.js} +1 -1
  403. package/dist/ionic/{p-6abde4f1.system.entry.js → p-f2743f0f.system.entry.js} +1 -1
  404. package/dist/ionic/{p-a9424586.entry.js → p-f30dabf4.entry.js} +1 -1
  405. package/dist/ionic/{p-3e1deb37.system.entry.js → p-f323209c.system.entry.js} +1 -1
  406. package/dist/ionic/{p-664cc492.entry.js → p-f33808d4.entry.js} +1 -1
  407. package/dist/ionic/{p-bc6e32d2.entry.js → p-f3d770d2.entry.js} +1 -1
  408. package/dist/ionic/p-f47f2024.entry.js +4 -0
  409. package/dist/ionic/p-f9336ef9.system.js +4 -0
  410. package/dist/ionic/{p-d2de097b.entry.js → p-fc758470.entry.js} +1 -1
  411. package/dist/ionic/p-ff5a10f9.system.js +4 -0
  412. package/dist/types/components/input/input.d.ts +0 -2
  413. package/dist/types/components/radio-group/radio-group-interface.d.ts +0 -1
  414. package/dist/types/components/radio-group/radio-group.d.ts +1 -8
  415. package/dist/types/components/router/router.d.ts +1 -2
  416. package/dist/types/components/select/select.d.ts +1 -6
  417. package/dist/types/components/skeleton-text/skeleton-text.d.ts +1 -9
  418. package/dist/types/components/textarea/textarea.d.ts +0 -2
  419. package/dist/types/components/toast/animations/utils.d.ts +4 -15
  420. package/dist/types/components/toast/toast-interface.d.ts +0 -2
  421. package/dist/types/components/toast/toast.d.ts +1 -28
  422. package/dist/types/components.d.ts +6 -37
  423. package/dist/types/interface.d.ts +5 -1
  424. package/dist/types/utils/animation/animation-interface.d.ts +4 -4
  425. package/dist/types/utils/browser/index.d.ts +2 -11
  426. package/dist/types/utils/forms/index.d.ts +0 -1
  427. package/dist/types/utils/hardware-back-button.d.ts +0 -4
  428. package/dist/types/utils/overlays.d.ts +0 -1
  429. package/dist/types/utils/slot-mutation-controller.d.ts +2 -2
  430. package/dist/types/utils/test/playwright/page/utils/goto.d.ts +1 -1
  431. package/hydrate/index.js +169 -616
  432. package/package.json +31 -30
  433. package/dist/cjs/compare-with-utils-c0444525.js +0 -44
  434. package/dist/cjs/index-c8d52405.js +0 -10
  435. package/dist/collection/components/input/test/slot/input.e2e.js +0 -51
  436. package/dist/collection/components/select/test/slot/select.e2e.js +0 -67
  437. package/dist/collection/components/textarea/test/slot/textarea.e2e.js +0 -51
  438. package/dist/collection/components/toast/gestures/swipe-to-dismiss.js +0 -267
  439. package/dist/collection/components/toast/test/swipe-gesture/toast.e2e.js +0 -84
  440. package/dist/collection/utils/forms/compare-with-utils.js +0 -39
  441. package/dist/esm/compare-with-utils-4928c09d.js +0 -41
  442. package/dist/esm/index-a5d50daf.js +0 -7
  443. package/dist/esm-es5/app-globals-ba8b3a06.js +0 -4
  444. package/dist/esm-es5/compare-with-utils-4928c09d.js +0 -4
  445. package/dist/esm-es5/index-6a48e009.js +0 -4
  446. package/dist/esm-es5/index-c9e82353.js +0 -4
  447. package/dist/esm-es5/input-shims-1d767845.js +0 -4
  448. package/dist/esm-es5/input.utils-2cf5e372.js +0 -4
  449. package/dist/esm-es5/md.transition-a8469407.js +0 -4
  450. package/dist/ionic/p-02663394.system.js +0 -4
  451. package/dist/ionic/p-0fa05d7a.system.entry.js +0 -4
  452. package/dist/ionic/p-11104d0d.entry.js +0 -4
  453. package/dist/ionic/p-314c4dee.js +0 -4
  454. package/dist/ionic/p-33c650c5.entry.js +0 -4
  455. package/dist/ionic/p-3554b264.js +0 -4
  456. package/dist/ionic/p-37afecd5.entry.js +0 -4
  457. package/dist/ionic/p-3afb9c3d.entry.js +0 -4
  458. package/dist/ionic/p-3bc3d880.system.js +0 -4
  459. package/dist/ionic/p-40dd5937.system.js +0 -4
  460. package/dist/ionic/p-43716898.js +0 -4
  461. package/dist/ionic/p-494e75ad.js +0 -4
  462. package/dist/ionic/p-4e3c07a6.system.js +0 -4
  463. package/dist/ionic/p-4e4ee05e.js +0 -4
  464. package/dist/ionic/p-561cc050.system.js +0 -4
  465. package/dist/ionic/p-57b14769.js +0 -4
  466. package/dist/ionic/p-647fcea8.entry.js +0 -4
  467. package/dist/ionic/p-6b45cfd0.system.entry.js +0 -4
  468. package/dist/ionic/p-6c89025e.system.entry.js +0 -4
  469. package/dist/ionic/p-6dc21cd1.system.entry.js +0 -4
  470. package/dist/ionic/p-70dcf429.js +0 -4
  471. package/dist/ionic/p-710cea83.system.js +0 -4
  472. package/dist/ionic/p-78a8e1e8.entry.js +0 -4
  473. package/dist/ionic/p-79841aa8.entry.js +0 -4
  474. package/dist/ionic/p-7ac30f6a.entry.js +0 -4
  475. package/dist/ionic/p-7acd17bc.entry.js +0 -4
  476. package/dist/ionic/p-7b44e419.js +0 -4
  477. package/dist/ionic/p-81bdfa1c.system.entry.js +0 -4
  478. package/dist/ionic/p-8414ed31.entry.js +0 -4
  479. package/dist/ionic/p-92ac915c.system.js +0 -4
  480. package/dist/ionic/p-a6b819ca.entry.js +0 -4
  481. package/dist/ionic/p-ad6ed7ab.system.entry.js +0 -4
  482. package/dist/ionic/p-be499f29.entry.js +0 -4
  483. package/dist/ionic/p-c2db1374.system.js +0 -4
  484. package/dist/ionic/p-c3547c7a.system.js +0 -4
  485. package/dist/ionic/p-c700acef.system.js +0 -4
  486. package/dist/ionic/p-cd73cfd1.system.entry.js +0 -4
  487. package/dist/ionic/p-e3b7a2d0.system.entry.js +0 -4
  488. package/dist/ionic/p-e9fe3c8b.system.entry.js +0 -4
  489. package/dist/ionic/p-f2d4e3c8.entry.js +0 -4
  490. package/dist/ionic/p-f4ccdc77.js +0 -4
  491. package/dist/ionic/p-f7769c83.js +0 -4
  492. package/dist/node_modules/ionicons/dist/collection/components/icon/icon.css +0 -144
  493. package/dist/types/components/toast/gestures/swipe-to-dismiss.d.ts +0 -9
  494. package/dist/types/utils/forms/compare-with-utils.d.ts +0 -18
  495. /package/dist/cjs/{index-73186843.js → index-53026db1.js} +0 -0
  496. /package/dist/cjs/{index-09471526.js → index-677c4d13.js} +0 -0
  497. /package/dist/esm/{index-c132c5f1.js → index-4d016006.js} +0 -0
  498. /package/dist/esm/{index-4392ebcb.js → index-8eb0239b.js} +0 -0
  499. /package/dist/esm-es5/{index-c132c5f1.js → index-4d016006.js} +0 -0
  500. /package/dist/esm-es5/{index-a5d50daf.js → index-7a14ecec.js} +0 -0
  501. /package/dist/esm-es5/{index-4392ebcb.js → index-8eb0239b.js} +0 -0
  502. /package/dist/ionic/{p-8050b9b9.system.js → p-0c55ffe1.system.js} +0 -0
  503. /package/dist/ionic/{p-792919fd.system.js → p-0e94957a.system.js} +0 -0
  504. /package/dist/ionic/{p-dab42c1b.system.js → p-2814c8e5.system.js} +0 -0
  505. /package/dist/ionic/{p-f5e886cd.js → p-8a40746c.js} +0 -0
  506. /package/dist/ionic/{p-7b30edcc.js → p-b347cfd1.js} +0 -0
  507. /package/dist/ionic/{p-ea96fa73.js → p-e90d610c.js} +0 -0
@@ -328,7 +328,6 @@
328
328
  display: flex;
329
329
  position: relative;
330
330
  flex-grow: 1;
331
- align-items: center;
332
331
  width: 100%;
333
332
  }
334
333
 
@@ -633,7 +632,9 @@
633
632
  /**
634
633
  * This makes the label sit above the input.
635
634
  */
636
- :host(.label-floating) .label-text-wrapper {
635
+ :host(.input-label-placement-stacked) .label-text-wrapper,
636
+ :host(.has-focus.input-label-placement-floating) .label-text-wrapper,
637
+ :host(.has-value.input-label-placement-floating) .label-text-wrapper {
637
638
  transform: translateY(50%) scale(0.75);
638
639
  /**
639
640
  * Label text should not extend
@@ -642,14 +643,6 @@
642
643
  max-width: calc(100% / 0.75);
643
644
  }
644
645
 
645
- ::slotted([slot=start]) {
646
- margin-inline-end: 16px;
647
- }
648
-
649
- ::slotted([slot=end]) {
650
- margin-inline-start: 16px;
651
- }
652
-
653
646
  /**
654
647
  * Convert a font size to a dynamic font size.
655
648
  * Fonts that participate in Dynamic Type should use
@@ -14,8 +14,6 @@ import { getCounterText } from "./input.utils";
14
14
  * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
15
15
  *
16
16
  * @slot label - The label text to associate with the input. Use the `labelPlacement` property to control where the label is placed relative to the input. Use this if you need to render a label with custom HTML. (EXPERIMENTAL)
17
- * @slot start - Content to display at the leading edge of the input. (EXPERIMENTAL)
18
- * @slot end - Content to display at the trailing edge of the input. (EXPERIMENTAL)
19
17
  */
20
18
  export class Input {
21
19
  constructor() {
@@ -159,7 +157,7 @@ export class Input {
159
157
  connectedCallback() {
160
158
  const { el } = this;
161
159
  this.legacyFormController = createLegacyFormController(el);
162
- this.slotMutationController = createSlotMutationController(el, ['label', 'start', 'end'], () => forceUpdate(this));
160
+ this.slotMutationController = createSlotMutationController(el, 'label', () => forceUpdate(this));
163
161
  this.notchController = createNotchController(el, () => this.notchSpacerEl, () => this.labelSlot);
164
162
  this.emitStyle();
165
163
  this.debounceChanged();
@@ -258,8 +256,6 @@ export class Input {
258
256
  'has-value': this.hasValue(),
259
257
  'has-focus': this.hasFocus,
260
258
  'interactive-disabled': this.disabled,
261
- // TODO(FW-2764): remove this
262
- legacy: !!this.legacy,
263
259
  });
264
260
  }
265
261
  }
@@ -365,50 +361,29 @@ export class Input {
365
361
  return this.renderLabel();
366
362
  }
367
363
  renderInput() {
368
- const { disabled, fill, readonly, shape, inputId, labelPlacement, el, hasFocus } = this;
364
+ const { disabled, fill, readonly, shape, inputId, labelPlacement } = this;
369
365
  const mode = getIonMode(this);
370
366
  const value = this.getValue();
371
367
  const inItem = hostContext('ion-item', this.el);
372
368
  const shouldRenderHighlight = mode === 'md' && fill !== 'outline' && !inItem;
373
- const hasValue = this.hasValue();
374
- const hasStartEndSlots = el.querySelector('[slot="start"], [slot="end"]') !== null;
375
- /**
376
- * If the label is stacked, it should always sit above the input.
377
- * For floating labels, the label should move above the input if
378
- * the input has a value, is focused, or has anything in either
379
- * the start or end slot.
380
- *
381
- * If there is content in the start slot, the label would overlap
382
- * it if not forced to float. This is also applied to the end slot
383
- * because with the default or solid fills, the input is not
384
- * vertically centered in the container, but the label is. This
385
- * causes the slots and label to appear vertically offset from each
386
- * other when the label isn't floating above the input. This doesn't
387
- * apply to the outline fill, but this was not accounted for to keep
388
- * things consistent.
389
- *
390
- * TODO(FW-5592): Remove hasStartEndSlots condition
391
- */
392
- const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
393
369
  return (h(Host, { class: createColorClasses(this.color, {
394
370
  [mode]: true,
395
- 'has-value': hasValue,
396
- 'has-focus': hasFocus,
397
- 'label-floating': labelShouldFloat,
371
+ 'has-value': this.hasValue(),
372
+ 'has-focus': this.hasFocus,
398
373
  [`input-fill-${fill}`]: fill !== undefined,
399
374
  [`input-shape-${shape}`]: shape !== undefined,
400
375
  [`input-label-placement-${labelPlacement}`]: true,
401
376
  'in-item': inItem,
402
377
  'in-item-color': hostContext('ion-item.ion-color', this.el),
403
378
  'input-disabled': disabled,
404
- }) }, h("label", { class: "input-wrapper", htmlFor: inputId }, this.renderLabelContainer(), h("div", { class: "native-wrapper" }, h("slot", { name: "start" }), h("input", Object.assign({ class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, accept: this.accept, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, size: this.size, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd }, this.inheritedAttributes)), this.clearInput && !readonly && !disabled && (h("button", { "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
379
+ }) }, h("label", { class: "input-wrapper" }, this.renderLabelContainer(), h("div", { class: "native-wrapper" }, h("input", Object.assign({ class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, accept: this.accept, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, size: this.size, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd }, this.inheritedAttributes)), this.clearInput && !readonly && !disabled && (h("button", { "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
405
380
  /**
406
381
  * This prevents mobile browsers from
407
382
  * blurring the input when the clear
408
383
  * button is activated.
409
384
  */
410
385
  ev.preventDefault();
411
- }, onClick: this.clearTextInput }, h("ion-icon", { "aria-hidden": "true", icon: mode === 'ios' ? closeCircle : closeSharp }))), h("slot", { name: "end" })), shouldRenderHighlight && h("div", { class: "input-highlight" })), this.renderBottomContent()));
386
+ }, onClick: this.clearTextInput }, h("ion-icon", { "aria-hidden": "true", icon: mode === 'ios' ? closeCircle : closeSharp })))), shouldRenderHighlight && h("div", { class: "input-highlight" })), this.renderBottomContent()));
412
387
  }
413
388
  // TODO FW-2764 Remove this
414
389
  renderLegacyInput() {
@@ -328,7 +328,6 @@
328
328
  display: flex;
329
329
  position: relative;
330
330
  flex-grow: 1;
331
- align-items: center;
332
331
  width: 100%;
333
332
  }
334
333
 
@@ -633,7 +632,9 @@
633
632
  /**
634
633
  * This makes the label sit above the input.
635
634
  */
636
- :host(.label-floating) .label-text-wrapper {
635
+ :host(.input-label-placement-stacked) .label-text-wrapper,
636
+ :host(.has-focus.input-label-placement-floating) .label-text-wrapper,
637
+ :host(.has-value.input-label-placement-floating) .label-text-wrapper {
637
638
  transform: translateY(50%) scale(0.75);
638
639
  /**
639
640
  * Label text should not extend
@@ -642,14 +643,6 @@
642
643
  max-width: calc(100% / 0.75);
643
644
  }
644
645
 
645
- ::slotted([slot=start]) {
646
- margin-inline-end: 16px;
647
- }
648
-
649
- ::slotted([slot=end]) {
650
- margin-inline-start: 16px;
651
- }
652
-
653
646
  /**
654
647
  * Convert a font size to a dynamic font size.
655
648
  * Fonts that participate in Dynamic Type should use
@@ -826,7 +819,9 @@
826
819
  }
827
820
  }
828
821
 
829
- :host(.label-floating.input-fill-solid.input-label-placement-floating) .label-text-wrapper {
822
+ :host(.input-fill-solid.input-label-placement-stacked) .label-text-wrapper,
823
+ :host(.has-focus.input-fill-solid.input-label-placement-floating) .label-text-wrapper,
824
+ :host(.has-value.input-fill-solid.input-label-placement-floating) .label-text-wrapper {
830
825
  /**
831
826
  * Label text should not extend
832
827
  * beyond the bounds of the input.
@@ -958,7 +953,9 @@
958
953
  /**
959
954
  * This makes the label sit above the input.
960
955
  */
961
- :host(.label-floating.input-fill-outline) .label-text-wrapper {
956
+ :host(.has-focus.input-fill-outline.input-label-placement-floating) .label-text-wrapper,
957
+ :host(.has-value.input-fill-outline.input-label-placement-floating) .label-text-wrapper,
958
+ :host(.input-fill-outline.input-label-placement-stacked) .label-text-wrapper {
962
959
  transform: translateY(-32%) scale(0.75);
963
960
  margin-left: 0;
964
961
  margin-right: 0;
@@ -1119,7 +1116,9 @@
1119
1116
  * the floating/stacked label. We simulate this "cut out"
1120
1117
  * by removing the top border from the notch fragment.
1121
1118
  */
1122
- :host(.label-floating.input-fill-outline) .input-outline-notch {
1119
+ :host(.has-focus.input-fill-outline.input-label-placement-floating) .input-outline-notch,
1120
+ :host(.has-value.input-fill-outline.input-label-placement-floating) .input-outline-notch,
1121
+ :host(.input-fill-outline.input-label-placement-stacked) .input-outline-notch {
1123
1122
  border-top: none;
1124
1123
  }
1125
1124
 
@@ -188,6 +188,10 @@
188
188
  margin-right: 0;
189
189
  margin-top: 0;
190
190
  margin-bottom: 0;
191
+ -webkit-padding-start: calc(var(--padding-start) + var(--ion-safe-area-left, 0px));
192
+ padding-inline-start: calc(var(--padding-start) + var(--ion-safe-area-left, 0px));
193
+ -webkit-padding-end: var(--padding-end);
194
+ padding-inline-end: var(--padding-end);
191
195
  padding-top: var(--padding-top);
192
196
  padding-bottom: var(--padding-bottom);
193
197
  font-family: inherit;
@@ -202,13 +206,8 @@
202
206
  text-align: inherit;
203
207
  white-space: inherit;
204
208
  color: inherit;
205
- /* stylelint-disable */
206
- padding-right: var(--padding-end);
207
- padding-left: calc(var(--padding-start) + var(--ion-safe-area-left, 0px));
208
- /* stylelint-enable */
209
209
  display: flex;
210
210
  position: relative;
211
- flex-wrap: wrap;
212
211
  align-items: inherit;
213
212
  justify-content: inherit;
214
213
  width: 100%;
@@ -220,28 +219,8 @@
220
219
  outline: none;
221
220
  background: var(--background);
222
221
  overflow: inherit;
223
- z-index: 1;
224
222
  box-sizing: border-box;
225
- }
226
- :host-context([dir=rtl]) .item-native {
227
- padding-right: calc(var(--padding-start) + var(--ion-safe-area-right, 0px));
228
- padding-left: var(--padding-end);
229
- }
230
-
231
- [dir=rtl] .item-native {
232
- padding-right: calc(var(--padding-start) + var(--ion-safe-area-right, 0px));
233
- padding-left: var(--padding-end);
234
- }
235
-
236
- @supports selector(:dir(rtl)) {
237
- .item-native:dir(rtl) {
238
- padding-right: calc(var(--padding-start) + var(--ion-safe-area-right, 0px));
239
- padding-left: var(--padding-end);
240
- }
241
- }
242
-
243
- :host(.item-legacy) .item-native {
244
- flex-wrap: unset;
223
+ z-index: 1;
245
224
  }
246
225
 
247
226
  .item-native::-moz-focus-inner {
@@ -271,20 +250,18 @@ button, a {
271
250
  margin-right: 0;
272
251
  margin-top: 0;
273
252
  margin-bottom: 0;
253
+ -webkit-padding-start: var(--inner-padding-start);
254
+ padding-inline-start: var(--inner-padding-start);
255
+ -webkit-padding-end: calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));
256
+ padding-inline-end: calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));
274
257
  padding-top: var(--inner-padding-top);
275
258
  padding-bottom: var(--inner-padding-bottom);
276
- /* stylelint-disable */
277
- padding-right: calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));
278
- padding-left: var(--inner-padding-start);
279
- /* stylelint-enable */
280
259
  display: flex;
281
260
  position: relative;
282
- flex: 1 0 auto;
261
+ flex: 1;
283
262
  flex-direction: inherit;
284
- flex-wrap: wrap;
285
263
  align-items: inherit;
286
264
  align-self: stretch;
287
- max-width: 100%;
288
265
  min-height: inherit;
289
266
  border-width: var(--inner-border-width);
290
267
  border-style: var(--border-style);
@@ -293,59 +270,21 @@ button, a {
293
270
  overflow: inherit;
294
271
  box-sizing: border-box;
295
272
  }
296
- :host-context([dir=rtl]) .item-inner {
297
- padding-right: var(--inner-padding-start);
298
- padding-left: calc(var(--ion-safe-area-left, 0px) + var(--inner-padding-end));
299
- }
300
-
301
- [dir=rtl] .item-inner {
302
- padding-right: var(--inner-padding-start);
303
- padding-left: calc(var(--ion-safe-area-left, 0px) + var(--inner-padding-end));
304
- }
305
-
306
- @supports selector(:dir(rtl)) {
307
- .item-inner:dir(rtl) {
308
- padding-right: var(--inner-padding-start);
309
- padding-left: calc(var(--ion-safe-area-left, 0px) + var(--inner-padding-end));
310
- }
311
- }
312
-
313
- :host(.item-legacy) .item-inner {
314
- flex: 1;
315
- flex-wrap: unset;
316
- max-width: unset;
317
- }
318
273
 
319
274
  .item-bottom {
320
275
  margin-left: 0;
321
276
  margin-right: 0;
322
277
  margin-top: 0;
323
278
  margin-bottom: 0;
279
+ -webkit-padding-start: calc(var(--padding-start) + var(--ion-safe-area-left, 0px));
280
+ padding-inline-start: calc(var(--padding-start) + var(--ion-safe-area-left, 0px));
281
+ -webkit-padding-end: var(--inner-padding-end);
282
+ padding-inline-end: var(--inner-padding-end);
324
283
  padding-top: 0;
325
284
  padding-bottom: 0;
326
- /* stylelint-disable */
327
- padding-left: calc(var(--padding-start) + var(--ion-safe-area-left, 0px));
328
- padding-right: calc(var(--inner-padding-end) + var(--ion-safe-area-right, 0px));
329
- /* stylelint-enable */
330
285
  display: flex;
331
286
  justify-content: space-between;
332
287
  }
333
- :host-context([dir=rtl]) .item-bottom {
334
- padding-left: calc(var(--inner-padding-end) + var(--ion-safe-area-left, 0px));
335
- padding-right: calc(var(--padding-start) + var(--ion-safe-area-right, 0px));
336
- }
337
-
338
- [dir=rtl] .item-bottom {
339
- padding-left: calc(var(--inner-padding-end) + var(--ion-safe-area-left, 0px));
340
- padding-right: calc(var(--padding-start) + var(--ion-safe-area-right, 0px));
341
- }
342
-
343
- @supports selector(:dir(rtl)) {
344
- .item-bottom:dir(rtl) {
345
- padding-left: calc(var(--inner-padding-end) + var(--ion-safe-area-left, 0px));
346
- padding-right: calc(var(--padding-start) + var(--ion-safe-area-right, 0px));
347
- }
348
- }
349
288
 
350
289
  .item-detail-icon {
351
290
  /**
@@ -379,7 +318,6 @@ button, a {
379
318
 
380
319
  ::slotted(ion-label:not([slot=end])) {
381
320
  flex: 1;
382
- width: min-content;
383
321
  }
384
322
 
385
323
  :host(.item-input) {
@@ -388,23 +326,15 @@ button, a {
388
326
 
389
327
  .input-wrapper {
390
328
  display: flex;
391
- flex: 1 0 auto;
329
+ flex: 1;
392
330
  flex-direction: inherit;
393
- flex-wrap: wrap;
394
331
  align-items: inherit;
395
332
  align-self: stretch;
396
- max-width: 100%;
397
333
  text-overflow: ellipsis;
398
334
  overflow: inherit;
399
335
  box-sizing: border-box;
400
336
  }
401
337
 
402
- :host(.item-legacy) .input-wrapper {
403
- flex: 1;
404
- flex-wrap: unset;
405
- max-width: unset;
406
- }
407
-
408
338
  :host(.item-label-stacked),
409
339
  :host(.item-label-floating) {
410
340
  align-items: start;
@@ -188,6 +188,10 @@
188
188
  margin-right: 0;
189
189
  margin-top: 0;
190
190
  margin-bottom: 0;
191
+ -webkit-padding-start: calc(var(--padding-start) + var(--ion-safe-area-left, 0px));
192
+ padding-inline-start: calc(var(--padding-start) + var(--ion-safe-area-left, 0px));
193
+ -webkit-padding-end: var(--padding-end);
194
+ padding-inline-end: var(--padding-end);
191
195
  padding-top: var(--padding-top);
192
196
  padding-bottom: var(--padding-bottom);
193
197
  font-family: inherit;
@@ -202,13 +206,8 @@
202
206
  text-align: inherit;
203
207
  white-space: inherit;
204
208
  color: inherit;
205
- /* stylelint-disable */
206
- padding-right: var(--padding-end);
207
- padding-left: calc(var(--padding-start) + var(--ion-safe-area-left, 0px));
208
- /* stylelint-enable */
209
209
  display: flex;
210
210
  position: relative;
211
- flex-wrap: wrap;
212
211
  align-items: inherit;
213
212
  justify-content: inherit;
214
213
  width: 100%;
@@ -220,28 +219,8 @@
220
219
  outline: none;
221
220
  background: var(--background);
222
221
  overflow: inherit;
223
- z-index: 1;
224
222
  box-sizing: border-box;
225
- }
226
- :host-context([dir=rtl]) .item-native {
227
- padding-right: calc(var(--padding-start) + var(--ion-safe-area-right, 0px));
228
- padding-left: var(--padding-end);
229
- }
230
-
231
- [dir=rtl] .item-native {
232
- padding-right: calc(var(--padding-start) + var(--ion-safe-area-right, 0px));
233
- padding-left: var(--padding-end);
234
- }
235
-
236
- @supports selector(:dir(rtl)) {
237
- .item-native:dir(rtl) {
238
- padding-right: calc(var(--padding-start) + var(--ion-safe-area-right, 0px));
239
- padding-left: var(--padding-end);
240
- }
241
- }
242
-
243
- :host(.item-legacy) .item-native {
244
- flex-wrap: unset;
223
+ z-index: 1;
245
224
  }
246
225
 
247
226
  .item-native::-moz-focus-inner {
@@ -271,20 +250,18 @@ button, a {
271
250
  margin-right: 0;
272
251
  margin-top: 0;
273
252
  margin-bottom: 0;
253
+ -webkit-padding-start: var(--inner-padding-start);
254
+ padding-inline-start: var(--inner-padding-start);
255
+ -webkit-padding-end: calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));
256
+ padding-inline-end: calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));
274
257
  padding-top: var(--inner-padding-top);
275
258
  padding-bottom: var(--inner-padding-bottom);
276
- /* stylelint-disable */
277
- padding-right: calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));
278
- padding-left: var(--inner-padding-start);
279
- /* stylelint-enable */
280
259
  display: flex;
281
260
  position: relative;
282
- flex: 1 0 auto;
261
+ flex: 1;
283
262
  flex-direction: inherit;
284
- flex-wrap: wrap;
285
263
  align-items: inherit;
286
264
  align-self: stretch;
287
- max-width: 100%;
288
265
  min-height: inherit;
289
266
  border-width: var(--inner-border-width);
290
267
  border-style: var(--border-style);
@@ -293,59 +270,21 @@ button, a {
293
270
  overflow: inherit;
294
271
  box-sizing: border-box;
295
272
  }
296
- :host-context([dir=rtl]) .item-inner {
297
- padding-right: var(--inner-padding-start);
298
- padding-left: calc(var(--ion-safe-area-left, 0px) + var(--inner-padding-end));
299
- }
300
-
301
- [dir=rtl] .item-inner {
302
- padding-right: var(--inner-padding-start);
303
- padding-left: calc(var(--ion-safe-area-left, 0px) + var(--inner-padding-end));
304
- }
305
-
306
- @supports selector(:dir(rtl)) {
307
- .item-inner:dir(rtl) {
308
- padding-right: var(--inner-padding-start);
309
- padding-left: calc(var(--ion-safe-area-left, 0px) + var(--inner-padding-end));
310
- }
311
- }
312
-
313
- :host(.item-legacy) .item-inner {
314
- flex: 1;
315
- flex-wrap: unset;
316
- max-width: unset;
317
- }
318
273
 
319
274
  .item-bottom {
320
275
  margin-left: 0;
321
276
  margin-right: 0;
322
277
  margin-top: 0;
323
278
  margin-bottom: 0;
279
+ -webkit-padding-start: calc(var(--padding-start) + var(--ion-safe-area-left, 0px));
280
+ padding-inline-start: calc(var(--padding-start) + var(--ion-safe-area-left, 0px));
281
+ -webkit-padding-end: var(--inner-padding-end);
282
+ padding-inline-end: var(--inner-padding-end);
324
283
  padding-top: 0;
325
284
  padding-bottom: 0;
326
- /* stylelint-disable */
327
- padding-left: calc(var(--padding-start) + var(--ion-safe-area-left, 0px));
328
- padding-right: calc(var(--inner-padding-end) + var(--ion-safe-area-right, 0px));
329
- /* stylelint-enable */
330
285
  display: flex;
331
286
  justify-content: space-between;
332
287
  }
333
- :host-context([dir=rtl]) .item-bottom {
334
- padding-left: calc(var(--inner-padding-end) + var(--ion-safe-area-left, 0px));
335
- padding-right: calc(var(--padding-start) + var(--ion-safe-area-right, 0px));
336
- }
337
-
338
- [dir=rtl] .item-bottom {
339
- padding-left: calc(var(--inner-padding-end) + var(--ion-safe-area-left, 0px));
340
- padding-right: calc(var(--padding-start) + var(--ion-safe-area-right, 0px));
341
- }
342
-
343
- @supports selector(:dir(rtl)) {
344
- .item-bottom:dir(rtl) {
345
- padding-left: calc(var(--inner-padding-end) + var(--ion-safe-area-left, 0px));
346
- padding-right: calc(var(--padding-start) + var(--ion-safe-area-right, 0px));
347
- }
348
- }
349
288
 
350
289
  .item-detail-icon {
351
290
  /**
@@ -379,7 +318,6 @@ button, a {
379
318
 
380
319
  ::slotted(ion-label:not([slot=end])) {
381
320
  flex: 1;
382
- width: min-content;
383
321
  }
384
322
 
385
323
  :host(.item-input) {
@@ -388,23 +326,15 @@ button, a {
388
326
 
389
327
  .input-wrapper {
390
328
  display: flex;
391
- flex: 1 0 auto;
329
+ flex: 1;
392
330
  flex-direction: inherit;
393
- flex-wrap: wrap;
394
331
  align-items: inherit;
395
332
  align-self: stretch;
396
- max-width: 100%;
397
333
  text-overflow: ellipsis;
398
334
  overflow: inherit;
399
335
  box-sizing: border-box;
400
336
  }
401
337
 
402
- :host(.item-legacy) .input-wrapper {
403
- flex: 1;
404
- flex-wrap: unset;
405
- max-width: unset;
406
- }
407
-
408
338
  :host(.item-label-stacked),
409
339
  :host(.item-label-floating) {
410
340
  align-items: start;
@@ -10,31 +10,5 @@ configs().forEach(({ title, screenshot, config }) => {
10
10
  await page.setIonViewport();
11
11
  await expect(page).toHaveScreenshot(screenshot(`item-diff`));
12
12
  });
13
- /**
14
- * This behavior needs to be tested for all modes & directions
15
- * Safe padding should stay on the same side when the direction changes
16
- */
17
- test('should have safe area padding', async ({ page }) => {
18
- await page.setContent(`
19
- <style>
20
- :root {
21
- --ion-safe-area-left: 40px;
22
- --ion-safe-area-right: 20px;
23
- }
24
- </style>
25
- <ion-list>
26
- <ion-item>
27
- <ion-label>Item with helper</ion-label>
28
- <div slot="helper">Helper</div>
29
- </ion-item>
30
-
31
- <ion-item>
32
- <ion-label class="ion-text-nowrap"> Single line text that should have ellipses when it doesn't all fit in the item</ion-label>
33
- </ion-item>
34
- </ion-list>
35
- `, config);
36
- const list = page.locator('ion-list');
37
- await expect(list).toHaveScreenshot(screenshot('item-safe-area'));
38
- });
39
13
  });
40
14
  });
@@ -11,6 +11,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
11
11
  test('should not have visual regressions', async ({ page }) => {
12
12
  await page.goto(`/src/components/item/test/disabled`, config);
13
13
  await page.setIonViewport();
14
+ // TODO: FW-4037 - Fix label color inconsistency between disabled controls
14
15
  await expect(page).toHaveScreenshot(screenshot(`item-disabled-diff`));
15
16
  });
16
17
  });
@@ -0,0 +1,14 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import { expect } from "@playwright/test";
5
+ import { configs, test } from "../../../../utils/test/playwright/index";
6
+ configs().forEach(({ title, screenshot, config }) => {
7
+ test.describe(title('item: text'), () => {
8
+ test('should not have visual regressions', async ({ page }) => {
9
+ await page.goto(`/src/components/item/test/text`, config);
10
+ await page.setIonViewport();
11
+ await expect(page).toHaveScreenshot(screenshot(`item-text-diff`));
12
+ });
13
+ });
14
+ });
@@ -41,24 +41,17 @@
41
41
  font-family: var(--ion-font-family, inherit);
42
42
  font-size: inherit;
43
43
  text-overflow: ellipsis;
44
- box-sizing: border-box;
45
- }
46
-
47
- :host-context(.item-legacy) {
48
44
  white-space: nowrap;
49
45
  overflow: hidden;
50
- }
51
-
52
- :host-context(.item:not(.item-input):not(.item-legacy)) {
53
- flex-grow: 1;
46
+ box-sizing: border-box;
54
47
  }
55
48
 
56
49
  :host(.ion-color) {
57
50
  color: var(--ion-color-base);
58
51
  }
59
52
 
60
- :host(.ion-text-nowrap) {
61
- overflow: hidden;
53
+ :host(.ion-text-wrap) {
54
+ white-space: normal;
62
55
  }
63
56
 
64
57
  :host-context(.item-interactive-disabled:not(.item-multiple-inputs)) {
@@ -77,10 +70,6 @@
77
70
  align-self: baseline;
78
71
  }
79
72
 
80
- :host-context(.item-skeleton-text) {
81
- overflow: hidden;
82
- }
83
-
84
73
  :host(.label-fixed) {
85
74
  flex: 0 0 100px;
86
75
  width: 100px;
@@ -41,24 +41,17 @@
41
41
  font-family: var(--ion-font-family, inherit);
42
42
  font-size: inherit;
43
43
  text-overflow: ellipsis;
44
- box-sizing: border-box;
45
- }
46
-
47
- :host-context(.item-legacy) {
48
44
  white-space: nowrap;
49
45
  overflow: hidden;
50
- }
51
-
52
- :host-context(.item:not(.item-input):not(.item-legacy)) {
53
- flex-grow: 1;
46
+ box-sizing: border-box;
54
47
  }
55
48
 
56
49
  :host(.ion-color) {
57
50
  color: var(--ion-color-base);
58
51
  }
59
52
 
60
- :host(.ion-text-nowrap) {
61
- overflow: hidden;
53
+ :host(.ion-text-wrap) {
54
+ white-space: normal;
62
55
  }
63
56
 
64
57
  :host-context(.item-interactive-disabled:not(.item-multiple-inputs)) {
@@ -77,10 +70,6 @@
77
70
  align-self: baseline;
78
71
  }
79
72
 
80
- :host-context(.item-skeleton-text) {
81
- overflow: hidden;
82
- }
83
-
84
73
  :host(.label-fixed) {
85
74
  flex: 0 0 100px;
86
75
  width: 100px;
@@ -5,7 +5,6 @@ import { getTimeGivenProgression } from "../../../utils/animation/cubic-bezier";
5
5
  import { isIonContent, findClosestIonContent, disableContentScrollY, resetContentScrollY } from "../../../utils/content/index";
6
6
  import { createGesture } from "../../../utils/gesture/index";
7
7
  import { clamp, getElementRoot } from "../../../utils/helpers";
8
- import { OVERLAY_GESTURE_PRIORITY } from "../../../utils/overlays";
9
8
  import { setCardStatusBarDark, setCardStatusBarDefault } from "../utils";
10
9
  import { calculateSpringStep, handleCanDismiss } from "./utils";
11
10
  // Defaults for the card swipe animation
@@ -251,7 +250,7 @@ export const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismi
251
250
  const gesture = createGesture({
252
251
  el,
253
252
  gestureName: 'modalSwipeToClose',
254
- gesturePriority: OVERLAY_GESTURE_PRIORITY,
253
+ gesturePriority: 39,
255
254
  direction: 'y',
256
255
  threshold: 10,
257
256
  canStart,