@ionic/core 7.5.8-dev.11703088210.14a72b83 → 7.5.8-dev.11705350665.1a40ee3a

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 (505) hide show
  1. package/components/backdrop.js +0 -12
  2. package/components/button.js +2 -2
  3. package/components/data.js +1 -1
  4. package/components/gesture-controller.js +1 -1
  5. package/components/index2.js +91 -0
  6. package/components/ion-content.js +3 -4
  7. package/components/ion-datetime.js +40 -64
  8. package/components/ion-input.js +2 -0
  9. package/components/ion-picker-column-option.d.ts +11 -0
  10. package/components/ion-picker-column-option.js +9 -0
  11. package/components/ion-picker-column.js +2 -2
  12. package/components/ion-picker-legacy-column.d.ts +11 -0
  13. package/components/ion-picker-legacy-column.js +9 -0
  14. package/components/{ion-picker-internal.d.ts → ion-picker-legacy.d.ts} +4 -4
  15. package/components/ion-picker-legacy.js +309 -0
  16. package/components/ion-picker.js +1 -309
  17. package/components/ion-refresher-content.js +3 -10
  18. package/components/ion-refresher.js +183 -4
  19. package/components/ion-searchbar.js +2 -0
  20. package/components/ion-textarea.js +2 -0
  21. package/components/overlays.js +11 -4
  22. package/components/picker-column-option.js +122 -0
  23. package/components/picker-column.js +351 -322
  24. package/components/picker-column2.js +379 -0
  25. package/components/{picker-internal.js → picker.js} +29 -22
  26. package/css/core.css +10 -0
  27. package/css/core.css.map +1 -1
  28. package/css/ionic.bundle.css +1 -1
  29. package/css/ionic.bundle.css.map +1 -1
  30. package/dist/cjs/{app-globals-28656db1.js → app-globals-0af482c7.js} +1 -1
  31. package/dist/cjs/{button-active-75b38d77.js → button-active-9d7e0640.js} +2 -2
  32. package/dist/cjs/{data-36b9094e.js → data-e7526b58.js} +1 -1
  33. package/dist/cjs/{gesture-controller-c40c045a.js → gesture-controller-9436f482.js} +1 -0
  34. package/dist/cjs/{index-097270a3.js → index-5cbb20f9.js} +1 -1
  35. package/dist/cjs/{index-b0102f48.js → index-bbb4336c.js} +39 -1
  36. package/dist/cjs/{index-cb3e0ab7.js → index-ec51e99c.js} +94 -3
  37. package/dist/cjs/{index-d1b59ffa.js → index-ee07ed59.js} +1 -1
  38. package/dist/cjs/index.cjs.js +9 -9
  39. package/dist/cjs/ion-accordion_2.cjs.entry.js +2 -2
  40. package/dist/cjs/ion-action-sheet.cjs.entry.js +6 -6
  41. package/dist/cjs/ion-alert.cjs.entry.js +6 -6
  42. package/dist/cjs/ion-app_8.cjs.entry.js +8 -9
  43. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  44. package/dist/cjs/ion-back-button.cjs.entry.js +2 -2
  45. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -14
  46. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +2 -2
  47. package/dist/cjs/ion-button_2.cjs.entry.js +4 -4
  48. package/dist/cjs/ion-card_5.cjs.entry.js +2 -2
  49. package/dist/cjs/ion-checkbox.cjs.entry.js +2 -2
  50. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  51. package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
  52. package/dist/cjs/ion-datetime-button.cjs.entry.js +3 -3
  53. package/dist/cjs/ion-datetime_3.cjs.entry.js +38 -58
  54. package/dist/cjs/ion-fab_3.cjs.entry.js +2 -2
  55. package/dist/cjs/ion-img.cjs.entry.js +2 -2
  56. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
  57. package/dist/cjs/ion-input.cjs.entry.js +4 -2
  58. package/dist/cjs/ion-item-option_3.cjs.entry.js +3 -3
  59. package/dist/cjs/ion-item_8.cjs.entry.js +2 -2
  60. package/dist/cjs/ion-loading.cjs.entry.js +4 -3
  61. package/dist/cjs/ion-menu_3.cjs.entry.js +6 -6
  62. package/dist/cjs/ion-modal.cjs.entry.js +6 -6
  63. package/dist/cjs/ion-nav_2.cjs.entry.js +5 -4
  64. package/dist/cjs/ion-picker-column-option.cjs.entry.js +104 -0
  65. package/dist/cjs/{ion-picker-column-internal.cjs.entry.js → ion-picker-column.cjs.entry.js} +106 -89
  66. package/dist/cjs/{ion-picker-internal.cjs.entry.js → ion-picker.cjs.entry.js} +27 -20
  67. package/dist/cjs/ion-popover.cjs.entry.js +5 -4
  68. package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
  69. package/dist/cjs/ion-radio_2.cjs.entry.js +2 -2
  70. package/dist/cjs/ion-range.cjs.entry.js +3 -3
  71. package/dist/cjs/ion-refresher_2.cjs.entry.js +17 -32
  72. package/dist/cjs/ion-reorder_2.cjs.entry.js +3 -3
  73. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
  74. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  75. package/dist/cjs/ion-searchbar.cjs.entry.js +4 -2
  76. package/dist/cjs/ion-segment_2.cjs.entry.js +3 -3
  77. package/dist/cjs/ion-select_3.cjs.entry.js +4 -3
  78. package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
  79. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  80. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +2 -2
  81. package/dist/cjs/ion-tab_2.cjs.entry.js +1 -1
  82. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  83. package/dist/cjs/ion-textarea.cjs.entry.js +4 -2
  84. package/dist/cjs/ion-toast.cjs.entry.js +4 -3
  85. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  86. package/dist/cjs/{ionic-global-62510d64.js → ionic-global-f4a2093b.js} +1 -1
  87. package/dist/cjs/ionic.cjs.js +5 -5
  88. package/dist/cjs/{ios.transition-d9c0e4fb.js → ios.transition-039d6aeb.js} +4 -2
  89. package/dist/cjs/loader.cjs.js +4 -4
  90. package/dist/cjs/{md.transition-4fac8a87.js → md.transition-ce763350.js} +4 -2
  91. package/dist/cjs/{overlays-b1471172.js → overlays-e8e05b0e.js} +12 -5
  92. package/dist/cjs/{status-tap-0aa8e1f2.js → status-tap-415acac6.js} +1 -1
  93. package/dist/cjs/{swipe-back-2a858bbd.js → swipe-back-b8f2330b.js} +2 -2
  94. package/dist/collection/collection-manifest.json +8 -7
  95. package/dist/collection/components/backdrop/backdrop.js +0 -12
  96. package/dist/collection/components/button/button.ios.css +1 -1
  97. package/dist/collection/components/button/button.md.css +1 -1
  98. package/dist/collection/components/button/test/wrap/button.e2e.js +12 -24
  99. package/dist/collection/components/content/content.css +0 -4
  100. package/dist/collection/components/content/content.js +2 -3
  101. package/dist/collection/components/datetime/datetime.ios.css +91 -37
  102. package/dist/collection/components/datetime/datetime.js +24 -36
  103. package/dist/collection/components/datetime/datetime.md.css +96 -37
  104. package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +1 -1
  105. package/dist/collection/components/datetime/test/a11y/datetime.spec.js +6 -9
  106. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +10 -0
  107. package/dist/collection/components/datetime/test/datetime.e2e.js +2 -2
  108. package/dist/collection/components/datetime/test/disabled/datetime.spec.js +4 -4
  109. package/dist/collection/components/datetime/test/locale/datetime.e2e.js +2 -2
  110. package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +6 -6
  111. package/dist/collection/components/datetime/test/month-year-picker/datetime.e2e.js +1 -1
  112. package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +43 -41
  113. package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +1 -1
  114. package/dist/collection/components/datetime/test/readonly/datetime.e2e.js +4 -4
  115. package/dist/collection/components/datetime/test/values/datetime.e2e.js +15 -12
  116. package/dist/collection/components/datetime/utils/data.js +1 -1
  117. package/dist/collection/components/input/input.js +4 -2
  118. package/dist/collection/components/picker/picker.ios.css +112 -211
  119. package/dist/collection/components/picker/picker.js +472 -744
  120. package/dist/collection/components/picker/picker.md.css +108 -198
  121. package/dist/collection/components/{picker-internal/test/a11y/picker-internal.e2e.js → picker/test/a11y/picker.e2e.js} +2 -2
  122. package/dist/collection/components/picker/test/basic/picker.e2e.js +99 -13
  123. package/dist/collection/components/picker/test/custom/picker.e2e.js +85 -0
  124. package/dist/collection/components/{picker-internal/test/keyboard-entry/picker-internal.e2e.js → picker/test/keyboard-entry/picker.e2e.js} +63 -32
  125. package/dist/collection/components/{picker-column-internal/picker-column-internal.md.css → picker-column/picker-column.css} +96 -83
  126. package/dist/collection/components/picker-column/picker-column.js +497 -335
  127. package/dist/collection/components/{picker-column-internal/test/basic/picker-column-internal.e2e.js → picker-column/test/basic/picker-column.e2e.js} +8 -8
  128. package/dist/collection/components/picker-column/test/disabled/picker-column.e2e.js +91 -0
  129. package/dist/collection/components/picker-column/test/slots/picker-column.e2e.js +39 -0
  130. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +87 -0
  131. package/dist/collection/components/picker-column-option/picker-column-option.js +173 -0
  132. package/dist/collection/components/{picker-column-internal/picker-column-internal.ios.css → picker-column-option/picker-column-option.md.css} +6 -53
  133. package/dist/collection/components/picker-column-option/test/a11y/picker-column-option.e2e.js +18 -0
  134. package/dist/collection/components/picker-column-option/test/basic/picker-column-option.e2e.js +37 -0
  135. package/dist/collection/components/picker-column-option/test/picker-column-option.spec.js +29 -0
  136. package/dist/collection/components/{picker-internal/picker-internal.md.css → picker-legacy/picker.ios.css} +207 -98
  137. package/dist/collection/components/picker-legacy/picker.js +817 -0
  138. package/dist/collection/components/{picker-internal/picker-internal.ios.css → picker-legacy/picker.md.css} +192 -100
  139. package/dist/collection/components/picker-legacy/test/basic/picker.e2e.js +25 -0
  140. package/dist/collection/components/{picker → picker-legacy}/test/is-open/picker.e2e.js +4 -4
  141. package/dist/collection/components/{picker → picker-legacy}/test/picker-id.spec.js +5 -5
  142. package/dist/collection/components/{picker → picker-legacy}/test/trigger/picker.e2e.js +1 -1
  143. package/dist/collection/components/picker-legacy-column/picker-column.js +419 -0
  144. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column-aria.spec.js +3 -3
  145. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column-dynamic.spec.js +2 -2
  146. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column.spec.js +2 -2
  147. package/dist/collection/components/{picker-column → picker-legacy-column}/test/standalone/picker-column.e2e.js +3 -3
  148. package/dist/collection/components/refresher/refresher.utils.js +11 -19
  149. package/dist/collection/components/refresher-content/refresher-content.js +3 -9
  150. package/dist/collection/components/searchbar/searchbar.js +3 -1
  151. package/dist/collection/components/textarea/textarea.js +4 -2
  152. package/dist/collection/utils/gesture/gesture-controller.js +1 -1
  153. package/dist/collection/utils/overlays.js +11 -4
  154. package/dist/collection/utils/test/overlays/overlays-scroll-blocking.spec.js +65 -0
  155. package/dist/collection/utils/transition/index.js +91 -0
  156. package/dist/docs.json +484 -47
  157. package/dist/esm/{app-globals-c23144fc.js → app-globals-722340c4.js} +1 -1
  158. package/dist/esm/{button-active-7013b5a1.js → button-active-ed9d848c.js} +2 -2
  159. package/dist/esm/{data-f5c75b4e.js → data-4b9508c9.js} +1 -1
  160. package/dist/esm/{gesture-controller-1bf57181.js → gesture-controller-314a54f6.js} +1 -1
  161. package/dist/esm/{index-39329c6f.js → index-08d686eb.js} +39 -1
  162. package/dist/esm/{index-2cf77112.js → index-39782642.js} +2 -2
  163. package/dist/esm/{index-7a818ed3.js → index-80492ed3.js} +1 -1
  164. package/dist/esm/{index-bebaae5d.js → index-933484ae.js} +94 -3
  165. package/dist/esm/index.js +9 -9
  166. package/dist/esm/ion-accordion_2.entry.js +2 -2
  167. package/dist/esm/ion-action-sheet.entry.js +6 -6
  168. package/dist/esm/ion-alert.entry.js +6 -6
  169. package/dist/esm/ion-app_8.entry.js +8 -9
  170. package/dist/esm/ion-avatar_3.entry.js +2 -2
  171. package/dist/esm/ion-back-button.entry.js +2 -2
  172. package/dist/esm/ion-backdrop.entry.js +2 -14
  173. package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
  174. package/dist/esm/ion-button_2.entry.js +4 -4
  175. package/dist/esm/ion-card_5.entry.js +2 -2
  176. package/dist/esm/ion-checkbox.entry.js +2 -2
  177. package/dist/esm/ion-chip.entry.js +2 -2
  178. package/dist/esm/ion-col_3.entry.js +2 -2
  179. package/dist/esm/ion-datetime-button.entry.js +3 -3
  180. package/dist/esm/ion-datetime_3.entry.js +37 -57
  181. package/dist/esm/ion-fab_3.entry.js +2 -2
  182. package/dist/esm/ion-img.entry.js +2 -2
  183. package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
  184. package/dist/esm/ion-input.entry.js +4 -2
  185. package/dist/esm/ion-item-option_3.entry.js +3 -3
  186. package/dist/esm/ion-item_8.entry.js +2 -2
  187. package/dist/esm/ion-loading.entry.js +4 -3
  188. package/dist/esm/ion-menu_3.entry.js +6 -6
  189. package/dist/esm/ion-modal.entry.js +6 -6
  190. package/dist/esm/ion-nav_2.entry.js +5 -4
  191. package/dist/esm/ion-picker-column-option.entry.js +100 -0
  192. package/dist/esm/{ion-picker-column-internal.entry.js → ion-picker-column.entry.js} +106 -89
  193. package/dist/esm/{ion-picker-internal.entry.js → ion-picker.entry.js} +27 -20
  194. package/dist/esm/ion-popover.entry.js +5 -4
  195. package/dist/esm/ion-progress-bar.entry.js +2 -2
  196. package/dist/esm/ion-radio_2.entry.js +2 -2
  197. package/dist/esm/ion-range.entry.js +3 -3
  198. package/dist/esm/ion-refresher_2.entry.js +17 -32
  199. package/dist/esm/ion-reorder_2.entry.js +3 -3
  200. package/dist/esm/ion-ripple-effect.entry.js +2 -2
  201. package/dist/esm/ion-route_4.entry.js +2 -2
  202. package/dist/esm/ion-searchbar.entry.js +4 -2
  203. package/dist/esm/ion-segment_2.entry.js +3 -3
  204. package/dist/esm/ion-select_3.entry.js +4 -3
  205. package/dist/esm/ion-spinner.entry.js +2 -2
  206. package/dist/esm/ion-split-pane.entry.js +2 -2
  207. package/dist/esm/ion-tab-bar_2.entry.js +2 -2
  208. package/dist/esm/ion-tab_2.entry.js +1 -1
  209. package/dist/esm/ion-text.entry.js +2 -2
  210. package/dist/esm/ion-textarea.entry.js +4 -2
  211. package/dist/esm/ion-toast.entry.js +4 -3
  212. package/dist/esm/ion-toggle.entry.js +3 -3
  213. package/dist/esm/{ionic-global-6c78e871.js → ionic-global-c0cda98e.js} +1 -1
  214. package/dist/esm/ionic.js +6 -6
  215. package/dist/esm/{ios.transition-daa373e9.js → ios.transition-9e42996d.js} +4 -2
  216. package/dist/esm/loader.js +5 -5
  217. package/dist/esm/{md.transition-91c3d3cc.js → md.transition-8cbb4e1d.js} +4 -2
  218. package/dist/esm/{overlays-64e67e2c.js → overlays-fbc5cab5.js} +12 -5
  219. package/dist/esm/{status-tap-9dd45200.js → status-tap-2b93b1b5.js} +1 -1
  220. package/dist/esm/{swipe-back-a6f386fc.js → swipe-back-a8ca7f93.js} +2 -2
  221. package/dist/esm-es5/app-globals-722340c4.js +4 -0
  222. package/dist/esm-es5/{button-active-7013b5a1.js → button-active-ed9d848c.js} +1 -1
  223. package/dist/esm-es5/{gesture-controller-1bf57181.js → gesture-controller-314a54f6.js} +1 -1
  224. package/dist/esm-es5/{index-39329c6f.js → index-08d686eb.js} +1 -1
  225. package/dist/esm-es5/{index-2cf77112.js → index-39782642.js} +1 -1
  226. package/dist/esm-es5/{index-7a818ed3.js → index-80492ed3.js} +1 -1
  227. package/dist/esm-es5/index-933484ae.js +4 -0
  228. package/dist/esm-es5/index.js +1 -1
  229. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  230. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  231. package/dist/esm-es5/ion-alert.entry.js +1 -1
  232. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  233. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  234. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  235. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  236. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  237. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  238. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  239. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  240. package/dist/esm-es5/ion-chip.entry.js +1 -1
  241. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  242. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  243. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  244. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  245. package/dist/esm-es5/ion-img.entry.js +1 -1
  246. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  247. package/dist/esm-es5/ion-input.entry.js +1 -1
  248. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  249. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  250. package/dist/esm-es5/ion-loading.entry.js +1 -1
  251. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  252. package/dist/esm-es5/ion-modal.entry.js +1 -1
  253. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  254. package/dist/esm-es5/ion-picker-column-option.entry.js +4 -0
  255. package/dist/esm-es5/ion-picker-column.entry.js +4 -0
  256. package/dist/esm-es5/ion-picker.entry.js +4 -0
  257. package/dist/esm-es5/ion-popover.entry.js +1 -1
  258. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  259. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  260. package/dist/esm-es5/ion-range.entry.js +1 -1
  261. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  262. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  263. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  264. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  265. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  266. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  267. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  268. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  269. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  270. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  271. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  272. package/dist/esm-es5/ion-text.entry.js +1 -1
  273. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  274. package/dist/esm-es5/ion-toast.entry.js +1 -1
  275. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  276. package/dist/esm-es5/{ionic-global-6c78e871.js → ionic-global-c0cda98e.js} +1 -1
  277. package/dist/esm-es5/ionic.js +1 -1
  278. package/dist/esm-es5/ios.transition-9e42996d.js +4 -0
  279. package/dist/esm-es5/loader.js +1 -1
  280. package/dist/esm-es5/md.transition-8cbb4e1d.js +4 -0
  281. package/dist/esm-es5/overlays-fbc5cab5.js +4 -0
  282. package/dist/esm-es5/{status-tap-9dd45200.js → status-tap-2b93b1b5.js} +1 -1
  283. package/dist/esm-es5/swipe-back-a8ca7f93.js +4 -0
  284. package/dist/html.html-data.json +154 -3
  285. package/dist/ionic/index.esm.js +1 -1
  286. package/dist/ionic/ionic.esm.js +1 -1
  287. package/dist/ionic/ionic.js +1 -1
  288. package/dist/ionic/{p-a0945c3a.system.entry.js → p-0e53f8ea.system.entry.js} +1 -1
  289. package/dist/ionic/{p-161d0916.entry.js → p-1161a793.entry.js} +1 -1
  290. package/dist/ionic/{p-89026d53.entry.js → p-1208f939.entry.js} +1 -1
  291. package/dist/ionic/{p-ad78c421.system.js → p-16bd5224.system.js} +1 -1
  292. package/dist/ionic/p-1786bc72.js +4 -0
  293. package/dist/ionic/{p-312221db.entry.js → p-17da5ed1.entry.js} +1 -1
  294. package/dist/ionic/{p-5fb707e0.entry.js → p-18ba8221.entry.js} +1 -1
  295. package/dist/ionic/{p-1631b52f.system.js → p-1d624e03.system.js} +1 -1
  296. package/dist/ionic/{p-3f5ae764.entry.js → p-1fc72959.entry.js} +1 -1
  297. package/dist/ionic/{p-1ff22253.entry.js → p-2092f39f.entry.js} +1 -1
  298. package/dist/ionic/{p-c7c8429a.system.js → p-20d469d0.system.js} +1 -1
  299. package/dist/ionic/{p-46dbd723.entry.js → p-21c3515a.entry.js} +1 -1
  300. package/dist/ionic/{p-2657f213.entry.js → p-22e5af95.entry.js} +1 -1
  301. package/dist/ionic/{p-6744eca5.entry.js → p-232d1f22.entry.js} +1 -1
  302. package/dist/ionic/p-26798a7b.system.entry.js +4 -0
  303. package/dist/ionic/p-27bcbbc7.system.entry.js +4 -0
  304. package/dist/ionic/{p-b81a8111.system.entry.js → p-2938823a.system.entry.js} +1 -1
  305. package/dist/ionic/p-294725bb.js +4 -0
  306. package/dist/ionic/{p-df361680.system.entry.js → p-2ab4e925.system.entry.js} +1 -1
  307. package/dist/ionic/{p-8c202d6e.system.entry.js → p-32303650.system.entry.js} +1 -1
  308. package/dist/ionic/{p-18032a93.entry.js → p-34c39c48.entry.js} +1 -1
  309. package/dist/ionic/p-350f7292.system.entry.js +4 -0
  310. package/dist/ionic/{p-86c2bbc8.entry.js → p-353b349d.entry.js} +1 -1
  311. package/dist/ionic/p-36d194c5.entry.js +4 -0
  312. package/dist/ionic/p-3993ae66.entry.js +4 -0
  313. package/dist/ionic/{p-31b2326e.system.js → p-3e1e14d9.system.js} +1 -1
  314. package/dist/ionic/{p-a3a145d3.entry.js → p-3f6270b3.entry.js} +1 -1
  315. package/dist/ionic/{p-23a27e78.system.entry.js → p-3fd26bd6.system.entry.js} +1 -1
  316. package/dist/ionic/{p-426bdba9.system.js → p-3fe96156.system.js} +1 -1
  317. package/dist/ionic/p-400b61c7.system.entry.js +4 -0
  318. package/dist/ionic/{p-e26030f8.system.js → p-4155f352.system.js} +1 -1
  319. package/dist/ionic/{p-405f1a72.entry.js → p-42ba3902.entry.js} +1 -1
  320. package/dist/ionic/{p-2a7e6572.system.entry.js → p-464975c5.system.entry.js} +1 -1
  321. package/dist/ionic/{p-ee4a54e3.entry.js → p-4911a5d6.entry.js} +1 -1
  322. package/dist/ionic/p-49c5f1a3.js +4 -0
  323. package/dist/ionic/{p-5f46d93e.entry.js → p-4a31c99f.entry.js} +1 -1
  324. package/dist/ionic/{p-f34d6a49.entry.js → p-4bee86bd.entry.js} +1 -1
  325. package/dist/ionic/{p-2cd9cb80.system.entry.js → p-4fb51e61.system.entry.js} +1 -1
  326. package/dist/ionic/p-510d9b43.js +4 -0
  327. package/dist/ionic/{p-d3e123c0.entry.js → p-51a087d6.entry.js} +1 -1
  328. package/dist/ionic/p-51abefb7.system.js +4 -0
  329. package/dist/ionic/{p-aac289d2.system.entry.js → p-564af202.system.entry.js} +1 -1
  330. package/dist/ionic/p-588fdf40.entry.js +4 -0
  331. package/dist/ionic/p-5a1aac13.system.entry.js +4 -0
  332. package/dist/ionic/{p-a5c81b99.entry.js → p-5a68960f.entry.js} +1 -1
  333. package/dist/ionic/{p-34d6f520.system.js → p-5b365ca7.system.js} +1 -1
  334. package/dist/ionic/{p-eef8d7e8.system.entry.js → p-5bebc7b3.system.entry.js} +1 -1
  335. package/dist/ionic/{p-a1b4dba7.entry.js → p-5d42b6b4.entry.js} +1 -1
  336. package/dist/ionic/{p-21f015cf.js → p-5ecae037.js} +1 -1
  337. package/dist/ionic/{p-57c0d5bf.system.entry.js → p-6555a5e7.system.entry.js} +1 -1
  338. package/dist/ionic/p-65e27aae.system.entry.js +4 -0
  339. package/dist/ionic/{p-71d986ae.entry.js → p-6b7c55cd.entry.js} +1 -1
  340. package/dist/ionic/{p-70ecb18b.entry.js → p-6d72fb44.entry.js} +1 -1
  341. package/dist/ionic/{p-1cbc21e2.system.entry.js → p-6e70dd1a.system.entry.js} +1 -1
  342. package/dist/ionic/{p-64af4468.entry.js → p-6fbecbda.entry.js} +1 -1
  343. package/dist/ionic/{p-27a5f2c7.system.entry.js → p-6fd64e7c.system.entry.js} +1 -1
  344. package/dist/ionic/p-73190c5f.entry.js +4 -0
  345. package/dist/ionic/p-73aa7604.entry.js +4 -0
  346. package/dist/ionic/p-76d3765d.js +4 -0
  347. package/dist/ionic/{p-2ac9d078.system.entry.js → p-77965464.system.entry.js} +1 -1
  348. package/dist/ionic/{p-6cf08720.entry.js → p-7b725280.entry.js} +1 -1
  349. package/dist/ionic/p-8017aad2.system.entry.js +4 -0
  350. package/dist/ionic/{p-27e6473f.entry.js → p-8adc9a45.entry.js} +1 -1
  351. package/dist/ionic/p-8c0e5060.system.js +4 -0
  352. package/dist/ionic/p-8c97cdc0.entry.js +4 -0
  353. package/dist/ionic/p-8e42850f.entry.js +4 -0
  354. package/dist/ionic/{p-f5d2dc9b.js → p-8ededb41.js} +1 -1
  355. package/dist/ionic/{p-67598744.entry.js → p-8f5d30f5.entry.js} +1 -1
  356. package/dist/ionic/p-8fa6583d.system.js +4 -0
  357. package/dist/ionic/p-91af3c52.system.entry.js +4 -0
  358. package/dist/ionic/{p-3acad8ff.system.entry.js → p-93000a81.system.entry.js} +1 -1
  359. package/dist/ionic/{p-41f7af3f.system.entry.js → p-96dbbac1.system.entry.js} +1 -1
  360. package/dist/ionic/{p-a0db3de9.system.entry.js → p-9709ebd8.system.entry.js} +1 -1
  361. package/dist/ionic/{p-12cdcb59.js → p-9738fd82.js} +1 -1
  362. package/dist/ionic/{p-a70b5d24.entry.js → p-98f3d827.entry.js} +1 -1
  363. package/dist/ionic/{p-bb3615f7.js → p-9b97df10.js} +1 -1
  364. package/dist/ionic/p-9e48593b.system.js +4 -0
  365. package/dist/ionic/{p-315ad733.system.entry.js → p-a225bf0f.system.entry.js} +1 -1
  366. package/dist/ionic/{p-53a3283e.entry.js → p-a4afcc88.entry.js} +1 -1
  367. package/dist/ionic/p-a60a1ce5.js +4 -0
  368. package/dist/ionic/p-a8baa23e.entry.js +4 -0
  369. package/dist/ionic/{p-99fe0543.entry.js → p-a98dc0c1.entry.js} +1 -1
  370. package/dist/ionic/p-a9a80f5b.entry.js +4 -0
  371. package/dist/ionic/{p-90db28f8.system.entry.js → p-a9e3b5be.system.entry.js} +1 -1
  372. package/dist/ionic/{p-a843a90e.system.entry.js → p-ab9456e9.system.entry.js} +1 -1
  373. package/dist/ionic/p-ae712b95.entry.js +4 -0
  374. package/dist/ionic/p-afcf4620.entry.js +4 -0
  375. package/dist/ionic/{p-3535a36c.entry.js → p-b133e9b4.entry.js} +1 -1
  376. package/dist/ionic/{p-98ac0e27.system.entry.js → p-b3b3efba.system.entry.js} +2 -2
  377. package/dist/ionic/{p-58ff9e5b.system.js → p-b4a51c42.system.js} +1 -1
  378. package/dist/ionic/p-b4d31b30.system.entry.js +4 -0
  379. package/dist/ionic/{p-3cb5466e.entry.js → p-b5f9f14c.entry.js} +1 -1
  380. package/dist/ionic/{p-b0fcf130.system.entry.js → p-b6f5e4f2.system.entry.js} +1 -1
  381. package/dist/ionic/{p-7ae5ca1f.system.entry.js → p-b7010c69.system.entry.js} +1 -1
  382. package/dist/ionic/{p-a99f14a7.system.entry.js → p-b752714f.system.entry.js} +1 -1
  383. package/dist/ionic/p-c006d974.entry.js +4 -0
  384. package/dist/ionic/{p-ca32685b.system.entry.js → p-c18de88a.system.entry.js} +1 -1
  385. package/dist/ionic/{p-acdd8148.js → p-c3c3333a.js} +1 -1
  386. package/dist/ionic/p-c41bff4e.system.entry.js +4 -0
  387. package/dist/ionic/{p-8261be6c.system.entry.js → p-c847fb35.system.entry.js} +1 -1
  388. package/dist/ionic/{p-e3c44332.system.entry.js → p-c91ccbfa.system.entry.js} +1 -1
  389. package/dist/ionic/{p-9f376964.system.entry.js → p-c9a21dfd.system.entry.js} +1 -1
  390. package/dist/ionic/p-ca8938f4.js +4 -0
  391. package/dist/ionic/{p-ad953217.system.entry.js → p-caf21b46.system.entry.js} +1 -1
  392. package/dist/ionic/{p-5a7d5905.system.entry.js → p-cde52378.system.entry.js} +1 -1
  393. package/dist/ionic/{p-1c6c6098.entry.js → p-cfe57b1b.entry.js} +1 -1
  394. package/dist/ionic/{p-c04accad.entry.js → p-d37b441e.entry.js} +1 -1
  395. package/dist/ionic/{p-f8c5a0dd.system.js → p-d3b030b8.system.js} +1 -1
  396. package/dist/ionic/p-d3c773d0.entry.js +4 -0
  397. package/dist/ionic/{p-91f9e81b.js → p-d662d908.js} +1 -1
  398. package/dist/ionic/p-d9ec6cf0.system.js +4 -0
  399. package/dist/ionic/p-da15f571.system.entry.js +4 -0
  400. package/dist/ionic/{p-c5ae50be.system.js → p-e3584231.system.js} +1 -1
  401. package/dist/ionic/{p-8a75f7bf.system.entry.js → p-e7ea9815.system.entry.js} +1 -1
  402. package/dist/ionic/{p-5f127075.system.entry.js → p-e8e86f69.system.entry.js} +1 -1
  403. package/dist/ionic/p-ea69616e.entry.js +4 -0
  404. package/dist/ionic/{p-4f71a9cf.system.entry.js → p-ef126ae8.system.entry.js} +1 -1
  405. package/dist/ionic/p-f6160677.system.entry.js +4 -0
  406. package/dist/ionic/{p-e4045e04.entry.js → p-f8a5bb89.entry.js} +1 -1
  407. package/dist/ionic/{p-93dac17a.system.entry.js → p-f910cc73.system.entry.js} +1 -1
  408. package/dist/ionic/{p-bc97b5cd.system.entry.js → p-fbf3a689.system.entry.js} +1 -1
  409. package/dist/ionic/p-ffd5dba4.system.entry.js +4 -0
  410. package/dist/types/components/backdrop/backdrop.d.ts +0 -3
  411. package/dist/types/components/datetime/datetime.d.ts +0 -1
  412. package/dist/types/components/datetime/utils/data.d.ts +11 -7
  413. package/dist/types/components/input/input.d.ts +5 -1
  414. package/dist/types/components/menu/menu.d.ts +1 -1
  415. package/dist/types/components/picker/picker-interfaces.d.ts +8 -0
  416. package/dist/types/components/picker/picker.d.ts +75 -129
  417. package/dist/types/components/picker-column/picker-column-interfaces.d.ts +4 -0
  418. package/dist/types/components/picker-column/picker-column.d.ts +99 -39
  419. package/dist/types/components/picker-column-option/picker-column-option.d.ts +66 -0
  420. package/dist/types/components/picker-legacy/picker.d.ts +158 -0
  421. package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
  422. package/dist/types/components/refresher/refresher.utils.d.ts +0 -16
  423. package/dist/types/components/searchbar/searchbar.d.ts +2 -0
  424. package/dist/types/components/textarea/textarea.d.ts +5 -1
  425. package/dist/types/components.d.ts +161 -129
  426. package/dist/types/interface.d.ts +1 -1
  427. package/dist/types/utils/config.d.ts +8 -2
  428. package/dist/types/utils/gesture/gesture-controller.d.ts +1 -0
  429. package/dist/types/utils/overlays.d.ts +5 -2
  430. package/hydrate/index.d.ts +1 -1
  431. package/hydrate/index.js +1409 -1229
  432. package/package.json +2 -2
  433. package/components/ion-picker-column-internal.d.ts +0 -11
  434. package/components/ion-picker-column-internal.js +0 -9
  435. package/components/ion-picker-internal.js +0 -9
  436. package/components/picker-column-internal.js +0 -390
  437. package/components/refresher.utils.js +0 -196
  438. package/dist/collection/components/picker-column-internal/picker-column-internal.js +0 -565
  439. package/dist/collection/components/picker-column-internal/test/disabled/picker-column-internal.e2e.js +0 -162
  440. package/dist/collection/components/picker-internal/picker-internal.js +0 -544
  441. package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +0 -118
  442. package/dist/esm-es5/app-globals-c23144fc.js +0 -4
  443. package/dist/esm-es5/index-bebaae5d.js +0 -4
  444. package/dist/esm-es5/ion-picker-column-internal.entry.js +0 -4
  445. package/dist/esm-es5/ion-picker-internal.entry.js +0 -4
  446. package/dist/esm-es5/ios.transition-daa373e9.js +0 -4
  447. package/dist/esm-es5/md.transition-91c3d3cc.js +0 -4
  448. package/dist/esm-es5/overlays-64e67e2c.js +0 -4
  449. package/dist/esm-es5/swipe-back-a6f386fc.js +0 -4
  450. package/dist/ionic/p-0263eb49.system.js +0 -4
  451. package/dist/ionic/p-06600f70.js +0 -4
  452. package/dist/ionic/p-0827d00e.system.entry.js +0 -4
  453. package/dist/ionic/p-19545a49.system.entry.js +0 -4
  454. package/dist/ionic/p-1e7daa1f.entry.js +0 -4
  455. package/dist/ionic/p-2507b0c0.entry.js +0 -4
  456. package/dist/ionic/p-33f3cd49.entry.js +0 -4
  457. package/dist/ionic/p-35ce400e.system.js +0 -4
  458. package/dist/ionic/p-45db7949.system.entry.js +0 -4
  459. package/dist/ionic/p-58dd7c15.entry.js +0 -4
  460. package/dist/ionic/p-5c7f13cd.system.entry.js +0 -4
  461. package/dist/ionic/p-6a6477b2.js +0 -4
  462. package/dist/ionic/p-742e11cf.system.entry.js +0 -4
  463. package/dist/ionic/p-7484b1d6.system.js +0 -4
  464. package/dist/ionic/p-78ebf1b6.system.entry.js +0 -4
  465. package/dist/ionic/p-83fada9e.system.entry.js +0 -4
  466. package/dist/ionic/p-89cfbc88.system.entry.js +0 -4
  467. package/dist/ionic/p-8a10752d.entry.js +0 -4
  468. package/dist/ionic/p-abab375b.system.js +0 -4
  469. package/dist/ionic/p-ac4a7fc0.js +0 -4
  470. package/dist/ionic/p-af959b5d.entry.js +0 -4
  471. package/dist/ionic/p-b11ceee2.entry.js +0 -4
  472. package/dist/ionic/p-b5e33ebc.system.entry.js +0 -4
  473. package/dist/ionic/p-b8f2134e.js +0 -4
  474. package/dist/ionic/p-bbe3feee.entry.js +0 -4
  475. package/dist/ionic/p-cde72008.js +0 -4
  476. package/dist/ionic/p-d0251fc4.entry.js +0 -4
  477. package/dist/ionic/p-d1530ea9.entry.js +0 -4
  478. package/dist/ionic/p-ddccf1f4.js +0 -4
  479. package/dist/ionic/p-e145b9f9.entry.js +0 -4
  480. package/dist/ionic/p-e8e530fc.entry.js +0 -4
  481. package/dist/ionic/p-eab6401e.js +0 -4
  482. package/dist/ionic/p-edc5c693.system.entry.js +0 -4
  483. package/dist/ionic/p-f0384573.system.entry.js +0 -4
  484. package/dist/ionic/p-f10de9d5.system.js +0 -4
  485. package/dist/ionic/p-f444fea5.entry.js +0 -4
  486. package/dist/ionic/p-fcf49977.system.entry.js +0 -4
  487. package/dist/types/components/picker-column-internal/picker-column-internal-interfaces.d.ts +0 -5
  488. package/dist/types/components/picker-column-internal/picker-column-internal.d.ts +0 -102
  489. package/dist/types/components/picker-internal/picker-internal-interfaces.d.ts +0 -8
  490. package/dist/types/components/picker-internal/picker-internal.d.ts +0 -102
  491. /package/dist/collection/components/{picker-internal/picker-internal-interfaces.js → picker/picker-interfaces.js} +0 -0
  492. /package/dist/collection/components/{picker-column-internal/picker-column-internal-interfaces.js → picker-column/picker-column-interfaces.js} +0 -0
  493. /package/dist/collection/components/{picker → picker-legacy}/animations/ios.enter.js +0 -0
  494. /package/dist/collection/components/{picker → picker-legacy}/animations/ios.leave.js +0 -0
  495. /package/dist/collection/components/{picker → picker-legacy}/picker-interface.js +0 -0
  496. /package/dist/collection/components/{picker-column → picker-legacy-column}/picker-column.ios.css +0 -0
  497. /package/dist/collection/components/{picker-column → picker-legacy-column}/picker-column.md.css +0 -0
  498. /package/dist/collection/components/{picker-column → picker-legacy-column}/test/test.utils.js +0 -0
  499. /package/dist/esm-es5/{data-f5c75b4e.js → data-4b9508c9.js} +0 -0
  500. /package/dist/ionic/{p-2aea8b1e.js → p-368f5215.js} +0 -0
  501. /package/dist/ionic/{p-82e3d633.system.js → p-f58981c2.system.js} +0 -0
  502. /package/dist/types/components/{picker → picker-legacy}/animations/ios.enter.d.ts +0 -0
  503. /package/dist/types/components/{picker → picker-legacy}/animations/ios.leave.d.ts +0 -0
  504. /package/dist/types/components/{picker → picker-legacy}/picker-interface.d.ts +0 -0
  505. /package/dist/types/components/{picker-column → picker-legacy-column}/test/test.utils.d.ts +0 -0
@@ -4,8 +4,9 @@
4
4
  'use strict';
5
5
 
6
6
  const index = require('./index-306a7476.js');
7
- const ionicGlobal = require('./ionic-global-62510d64.js');
7
+ const ionicGlobal = require('./ionic-global-f4a2093b.js');
8
8
  const frameworkDelegate = require('./framework-delegate-1c29b14a.js');
9
+ const gestureController = require('./gesture-controller-9436f482.js');
9
10
  const hardwareBackButton = require('./hardware-back-button-76833cac.js');
10
11
  const helpers = require('./helpers-76bb7efb.js');
11
12
  const index$1 = require('./index-5915f9b3.js');
@@ -30,7 +31,10 @@ const alertController = /*@__PURE__*/ createController('ion-alert');
30
31
  const actionSheetController = /*@__PURE__*/ createController('ion-action-sheet');
31
32
  const loadingController = /*@__PURE__*/ createController('ion-loading');
32
33
  const modalController = /*@__PURE__*/ createController('ion-modal');
33
- const pickerController = /*@__PURE__*/ createController('ion-picker');
34
+ /**
35
+ * @deprecated Use the inline ion-picker component instead.
36
+ */
37
+ const pickerController = /*@__PURE__*/ createController('ion-picker-legacy');
34
38
  const popoverController = /*@__PURE__*/ createController('ion-popover');
35
39
  const toastController = /*@__PURE__*/ createController('ion-toast');
36
40
  /**
@@ -140,7 +144,7 @@ const focusLastDescendant = (ref, overlay) => {
140
144
  * Should NOT include: Toast
141
145
  */
142
146
  const trapKeyboardFocus = (ev, doc) => {
143
- const lastOverlay = getPresentedOverlay(doc, 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker,ion-popover');
147
+ const lastOverlay = getPresentedOverlay(doc, 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker-legacy,ion-popover');
144
148
  const target = ev.target;
145
149
  /**
146
150
  * If no active overlay, ignore this event.
@@ -325,7 +329,7 @@ const dismissOverlay = (doc, data, role, overlayTag, id) => {
325
329
  */
326
330
  const getOverlays = (doc, selector) => {
327
331
  if (selector === undefined) {
328
- selector = 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker,ion-popover,ion-toast';
332
+ selector = 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker-legacy,ion-popover,ion-toast';
329
333
  }
330
334
  return Array.from(doc.querySelectorAll(selector)).filter((c) => c.overlayIndex > 0);
331
335
  };
@@ -391,6 +395,7 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
391
395
  return;
392
396
  }
393
397
  setRootAriaHidden(true);
398
+ document.body.classList.add(gestureController.BACKDROP_NO_SCROLL);
394
399
  overlay.presented = true;
395
400
  overlay.willPresent.emit();
396
401
  (_a = overlay.willPresentShorthand) === null || _a === void 0 ? void 0 : _a.emit();
@@ -453,12 +458,14 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
453
458
  if (!overlay.presented) {
454
459
  return false;
455
460
  }
461
+ const lastOverlay = index.doc !== undefined && getPresentedOverlays(index.doc).length === 1;
456
462
  /**
457
463
  * If this is the last visible overlay then
458
464
  * we want to re-add the root to the accessibility tree.
459
465
  */
460
- if (index.doc !== undefined && getPresentedOverlays(index.doc).length === 1) {
466
+ if (lastOverlay) {
461
467
  setRootAriaHidden(false);
468
+ document.body.classList.remove(gestureController.BACKDROP_NO_SCROLL);
462
469
  }
463
470
  overlay.presented = false;
464
471
  try {
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const index = require('./index-b0102f48.js');
6
+ const index = require('./index-bbb4336c.js');
7
7
  const index$1 = require('./index-da15e99c.js');
8
8
  const helpers = require('./helpers-76bb7efb.js');
9
9
  require('./index-5915f9b3.js');
@@ -5,8 +5,8 @@
5
5
 
6
6
  const helpers = require('./helpers-76bb7efb.js');
7
7
  const dir = require('./dir-94c21456.js');
8
- const index = require('./index-d1b59ffa.js');
9
- require('./gesture-controller-c40c045a.js');
8
+ const index = require('./index-ee07ed59.js');
9
+ require('./gesture-controller-9436f482.js');
10
10
 
11
11
  const createSwipeBackGesture = (el, canStartHandler, onStartHandler, onMoveHandler, onEndHandler) => {
12
12
  const win = el.ownerDocument.defaultView;
@@ -24,8 +24,8 @@
24
24
  "components/col/col.js",
25
25
  "components/content/content.js",
26
26
  "components/datetime/datetime.js",
27
- "components/picker-column-internal/picker-column-internal.js",
28
- "components/picker-internal/picker-internal.js",
27
+ "components/picker-column/picker-column.js",
28
+ "components/picker/picker.js",
29
29
  "components/datetime-button/datetime-button.js",
30
30
  "components/fab/fab.js",
31
31
  "components/fab-button/fab-button.js",
@@ -55,8 +55,9 @@
55
55
  "components/nav/nav.js",
56
56
  "components/nav-link/nav-link.js",
57
57
  "components/note/note.js",
58
- "components/picker/picker.js",
59
- "components/picker-column/picker-column.js",
58
+ "components/picker-column-option/picker-column-option.js",
59
+ "components/picker-legacy/picker.js",
60
+ "components/picker-legacy-column/picker-column.js",
60
61
  "components/popover/popover.js",
61
62
  "components/progress-bar/progress-bar.js",
62
63
  "components/range/range.js",
@@ -94,7 +95,7 @@
94
95
  ],
95
96
  "compiler": {
96
97
  "name": "@stencil/core",
97
- "version": "4.8.0",
98
+ "version": "4.8.1",
98
99
  "typescriptVersion": "5.2.2"
99
100
  },
100
101
  "collections": [
@@ -287,8 +288,8 @@
287
288
  {
288
289
  "components": [
289
290
  "ion-datetime",
290
- "ion-picker",
291
- "ion-picker-column"
291
+ "ion-picker-legacy",
292
+ "ion-picker-legacy-column"
292
293
  ]
293
294
  },
294
295
  {
@@ -2,25 +2,13 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { Host, h } from "@stencil/core";
5
- import { GESTURE_CONTROLLER } from "../../utils/gesture/index";
6
5
  import { getIonMode } from "../../global/ionic-global";
7
6
  export class Backdrop {
8
7
  constructor() {
9
- this.blocker = GESTURE_CONTROLLER.createBlocker({
10
- disableScroll: true,
11
- });
12
8
  this.visible = true;
13
9
  this.tappable = true;
14
10
  this.stopPropagation = true;
15
11
  }
16
- connectedCallback() {
17
- if (this.stopPropagation) {
18
- this.blocker.block();
19
- }
20
- }
21
- disconnectedCallback() {
22
- this.blocker.unblock();
23
- }
24
12
  onMouseDown(ev) {
25
13
  this.emitTap(ev);
26
14
  }
@@ -100,7 +100,7 @@
100
100
  font-family: var(--ion-font-family, inherit);
101
101
  text-align: center;
102
102
  text-decoration: none;
103
- white-space: nowrap;
103
+ white-space: normal;
104
104
  user-select: none;
105
105
  vertical-align: top;
106
106
  vertical-align: -webkit-baseline-middle;
@@ -100,7 +100,7 @@
100
100
  font-family: var(--ion-font-family, inherit);
101
101
  text-align: center;
102
102
  text-decoration: none;
103
- white-space: nowrap;
103
+ white-space: normal;
104
104
  user-select: none;
105
105
  vertical-align: top;
106
106
  vertical-align: -webkit-baseline-middle;
@@ -6,33 +6,29 @@ import { configs, test } from "../../../../utils/test/playwright/index";
6
6
  configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
7
7
  test.describe(title('button: wrap'), () => {
8
8
  test('should render button with long text', async ({ page }) => {
9
- // TODO(FW-4599): remove ion-text-wrap class
10
9
  await page.setContent(`
11
- <ion-button class="ion-text-wrap">This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends</ion-button>
10
+ <ion-button>This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends</ion-button>
12
11
  `, config);
13
12
  const button = page.locator('ion-button');
14
13
  await expect(button).toHaveScreenshot(screenshot(`button-wrap`));
15
14
  });
16
15
  test('should render small button with long text', async ({ page }) => {
17
- // TODO(FW-4599): remove ion-text-wrap class
18
16
  await page.setContent(`
19
- <ion-button class="ion-text-wrap" size="small">This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends</ion-button>
17
+ <ion-button size="small">This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends</ion-button>
20
18
  `, config);
21
19
  const button = page.locator('ion-button');
22
20
  await expect(button).toHaveScreenshot(screenshot(`button-wrap-small`));
23
21
  });
24
22
  test('should render large button with long text', async ({ page }) => {
25
- // TODO(FW-4599): remove ion-text-wrap class
26
23
  await page.setContent(`
27
- <ion-button class="ion-text-wrap" size="large">This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends</ion-button>
24
+ <ion-button size="large">This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends</ion-button>
28
25
  `, config);
29
26
  const button = page.locator('ion-button');
30
27
  await expect(button).toHaveScreenshot(screenshot(`button-wrap-large`));
31
28
  });
32
29
  test('should render button with long text and icons', async ({ page }) => {
33
- // TODO(FW-4599): remove ion-text-wrap class
34
30
  await page.setContent(`
35
- <ion-button class="ion-text-wrap">
31
+ <ion-button>
36
32
  <ion-icon slot="start" name="heart"></ion-icon>
37
33
  This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends
38
34
  <ion-icon slot="end" name="star"></ion-icon>
@@ -42,17 +38,15 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
42
38
  await expect(button).toHaveScreenshot(screenshot(`button-wrap-icons`));
43
39
  });
44
40
  test('should render block button with long text', async ({ page }) => {
45
- // TODO(FW-4599): remove ion-text-wrap class
46
41
  await page.setContent(`
47
- <ion-button class="ion-text-wrap" expand="block">This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends</ion-button>
42
+ <ion-button expand="block">This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends</ion-button>
48
43
  `, config);
49
44
  const button = page.locator('ion-button');
50
45
  await expect(button).toHaveScreenshot(screenshot(`button-wrap-block`));
51
46
  });
52
47
  test('should render block button with long text and icons', async ({ page }) => {
53
- // TODO(FW-4599): remove ion-text-wrap class
54
48
  await page.setContent(`
55
- <ion-button class="ion-text-wrap" expand="block">
49
+ <ion-button expand="block">
56
50
  <ion-icon slot="start" name="heart"></ion-icon>
57
51
  This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends
58
52
  <ion-icon slot="end" name="star"></ion-icon>
@@ -62,17 +56,15 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
62
56
  await expect(button).toHaveScreenshot(screenshot(`button-wrap-block-icons`));
63
57
  });
64
58
  test('should render full button with long text', async ({ page }) => {
65
- // TODO(FW-4599): remove ion-text-wrap class
66
59
  await page.setContent(`
67
- <ion-button class="ion-text-wrap" expand="full">This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends</ion-button>
60
+ <ion-button expand="full">This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends</ion-button>
68
61
  `, config);
69
62
  const button = page.locator('ion-button');
70
63
  await expect(button).toHaveScreenshot(screenshot(`button-wrap-full`));
71
64
  });
72
65
  test('should render full button with long text and icons', async ({ page }) => {
73
- // TODO(FW-4599): remove ion-text-wrap class
74
66
  await page.setContent(`
75
- <ion-button class="ion-text-wrap" expand="full">
67
+ <ion-button expand="full">
76
68
  <ion-icon slot="start" name="heart"></ion-icon>
77
69
  This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends
78
70
  <ion-icon slot="end" name="star"></ion-icon>
@@ -82,10 +74,9 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
82
74
  await expect(button).toHaveScreenshot(screenshot(`button-wrap-full-icons`));
83
75
  });
84
76
  test('should render an item button with long text', async ({ page }) => {
85
- // TODO(FW-4599): remove ion-text-wrap class
86
77
  await page.setContent(`
87
78
  <ion-item>
88
- <ion-button class="ion-text-wrap" slot="end">
79
+ <ion-button slot="end">
89
80
  This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends
90
81
  </ion-button>
91
82
  </ion-item>
@@ -94,10 +85,9 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
94
85
  await expect(item).toHaveScreenshot(screenshot(`button-wrap-item-button`));
95
86
  });
96
87
  test('should render an item button with long text and icons', async ({ page }) => {
97
- // TODO(FW-4599): remove ion-text-wrap class
98
88
  await page.setContent(`
99
89
  <ion-item>
100
- <ion-button class="ion-text-wrap" slot="end">
90
+ <ion-button slot="end">
101
91
  <ion-icon slot="start" name="heart"></ion-icon>
102
92
  This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends
103
93
  <ion-icon slot="end" name="star"></ion-icon>
@@ -108,11 +98,10 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
108
98
  await expect(item).toHaveScreenshot(screenshot(`button-wrap-item-button-icons`));
109
99
  });
110
100
  test('should render a list header button with long text', async ({ page }) => {
111
- // TODO(FW-4599): remove ion-text-wrap class
112
101
  await page.setContent(`
113
102
  <ion-list-header>
114
103
  <ion-label>List Header</ion-label>
115
- <ion-button class="ion-text-wrap">
104
+ <ion-button>
116
105
  This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends
117
106
  </ion-button>
118
107
  </ion-list-header>
@@ -121,11 +110,10 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
121
110
  await expect(listHeader).toHaveScreenshot(screenshot(`button-wrap-list-header-button`));
122
111
  });
123
112
  test('should render a toolbar button with long text', async ({ page }) => {
124
- // TODO(FW-4599): remove ion-text-wrap class
125
113
  await page.setContent(`
126
114
  <ion-toolbar>
127
115
  <ion-buttons slot="end">
128
- <ion-button class="ion-text-wrap">
116
+ <ion-button>
129
117
  This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends
130
118
  </ion-button>
131
119
  </ion-buttons>
@@ -97,10 +97,6 @@
97
97
  color: var(--ion-color-contrast);
98
98
  }
99
99
 
100
- :host(.outer-content) {
101
- --background: var(--ion-color-step-50, #f2f2f2);
102
- }
103
-
104
100
  #background-content {
105
101
  left: 0px;
106
102
  right: 0px;
@@ -334,9 +334,8 @@ export class Content {
334
334
  const mode = getIonMode(this);
335
335
  const forceOverscroll = this.shouldForceOverscroll();
336
336
  const transitionShadow = mode === 'ios';
337
- const TagType = isMainContent ? 'main' : 'div';
338
337
  this.resize();
339
- return (h(Host, { class: createColorClasses(this.color, {
338
+ return (h(Host, { role: isMainContent ? 'main' : undefined, class: createColorClasses(this.color, {
340
339
  [mode]: true,
341
340
  'content-sizing': hostContext('ion-popover', this.el),
342
341
  overscroll: forceOverscroll,
@@ -344,7 +343,7 @@ export class Content {
344
343
  }), style: {
345
344
  '--offset-top': `${this.cTop}px`,
346
345
  '--offset-bottom': `${this.cBottom}px`,
347
- } }, h("div", { ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), h(TagType, { class: {
346
+ } }, h("div", { ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), h("div", { class: {
348
347
  'inner-scroll': true,
349
348
  'scroll-x': scrollX,
350
349
  'scroll-y': scrollY,
@@ -61,6 +61,8 @@
61
61
  *
62
62
  * @prop --wheel-highlight-background: The background of the highlight under the selected
63
63
  * item when using a wheel style layout, or in the month/year picker for grid style layouts.
64
+ * @prop --wheel-highlight-border-radius: The border radius of the highlight under the selected
65
+ * item when using a wheel style layout, or in the month/year picker for grid style layouts.
64
66
  * @prop --wheel-fade-background-rgb: The color of the gradient covering non-selected items
65
67
  * when using a wheel style layout, or in the month/year picker for grid style layouts. Must
66
68
  * be in RGB format, e.g. `255, 255, 255`.
@@ -71,19 +73,6 @@
71
73
  overflow: hidden;
72
74
  }
73
75
 
74
- /**
75
- * When using the wheel picker to switch
76
- * between months, sometimes the allowed
77
- * dates may be filtered. As a result, it
78
- * is possible to get a layout shift as
79
- * the picker column will shrink to fit the
80
- * widest item in the column. Setting a minimum
81
- * width avoids this layout shifting.
82
- */
83
- ion-picker-column-internal {
84
- min-width: 26px;
85
- }
86
-
87
76
  :host(.datetime-size-fixed) {
88
77
  width: auto;
89
78
  height: auto;
@@ -94,7 +83,7 @@ ion-picker-column-internal {
94
83
  }
95
84
 
96
85
  /**
97
- * This ensures that the picker is apppropriately
86
+ * This ensures that the picker is appropriately
98
87
  * sized and never truncates the text.
99
88
  */
100
89
  :host(.datetime-size-fixed.datetime-prefer-wheel) {
@@ -317,23 +306,8 @@ ion-picker-column-internal {
317
306
  justify-content: space-between;
318
307
  }
319
308
 
320
- :host .calendar-action-buttons ion-item,
321
309
  :host .calendar-action-buttons ion-button {
322
- --background: translucent;
323
- }
324
-
325
- :host .calendar-action-buttons ion-item ion-label {
326
- display: flex;
327
- align-items: center;
328
- }
329
-
330
- :host .calendar-action-buttons ion-item ion-icon {
331
- -webkit-padding-start: 4px;
332
- padding-inline-start: 4px;
333
- -webkit-padding-end: 0;
334
- padding-inline-end: 0;
335
- padding-top: 0;
336
- padding-bottom: 0;
310
+ --background: transparent;
337
311
  }
338
312
 
339
313
  :host .calendar-days-of-week {
@@ -515,8 +489,72 @@ ion-picker-column-internal {
515
489
  position: static;
516
490
  }
517
491
 
518
- :host(.show-month-and-year) .calendar-action-buttons ion-item {
519
- --color: var(--ion-color-base);
492
+ :host(.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle {
493
+ color: var(--ion-color-base);
494
+ }
495
+
496
+ .calendar-month-year {
497
+ min-width: 0;
498
+ }
499
+
500
+ .calendar-month-year-toggle {
501
+ font-family: inherit;
502
+ font-size: inherit;
503
+ font-style: inherit;
504
+ font-weight: inherit;
505
+ letter-spacing: inherit;
506
+ text-decoration: inherit;
507
+ text-indent: inherit;
508
+ text-overflow: inherit;
509
+ text-transform: inherit;
510
+ text-align: inherit;
511
+ white-space: inherit;
512
+ color: inherit;
513
+ position: relative;
514
+ border: 0;
515
+ outline: none;
516
+ background: transparent;
517
+ cursor: pointer;
518
+ z-index: 1;
519
+ }
520
+ .calendar-month-year-toggle::after {
521
+ left: 0;
522
+ right: 0;
523
+ top: 0;
524
+ bottom: 0;
525
+ position: absolute;
526
+ content: "";
527
+ opacity: 0;
528
+ transition: opacity 15ms linear, background-color 15ms linear;
529
+ z-index: -1;
530
+ }
531
+ .calendar-month-year-toggle.ion-focused::after {
532
+ background: currentColor;
533
+ }
534
+ .calendar-month-year-toggle:disabled {
535
+ opacity: 0.3;
536
+ pointer-events: none;
537
+ }
538
+
539
+ .calendar-month-year-toggle ion-icon {
540
+ -webkit-padding-start: 4px;
541
+ padding-inline-start: 4px;
542
+ -webkit-padding-end: 0;
543
+ padding-inline-end: 0;
544
+ padding-top: 0;
545
+ padding-bottom: 0;
546
+ flex-shrink: 0;
547
+ }
548
+
549
+ .calendar-month-year-toggle #toggle-wrapper {
550
+ display: inline-flex;
551
+ align-items: center;
552
+ }
553
+
554
+ ion-picker {
555
+ --highlight-background: var(--wheel-highlight-background);
556
+ --highlight-border-radius: var(--wheel-highlight-border-radius);
557
+ --fade-background-rgb: var(--wheel-fade-background-rgb);
520
558
  }
521
559
 
522
560
  /**
@@ -605,15 +643,31 @@ ion-picker-column-internal {
605
643
  margin-top: 10px;
606
644
  }
607
645
 
608
- :host .calendar-action-buttons ion-item {
609
- --padding-start: 16px;
610
- --background-hover: transparent;
611
- --background-activated: transparent;
646
+ .calendar-month-year-toggle {
647
+ -webkit-padding-start: 16px;
648
+ padding-inline-start: 16px;
649
+ -webkit-padding-end: 16px;
650
+ padding-inline-end: 16px;
651
+ padding-top: 0px;
652
+ padding-bottom: 0px;
653
+ min-height: 44px;
612
654
  font-size: min(1rem, 25.6px);
613
655
  font-weight: 600;
614
656
  }
657
+ .calendar-month-year-toggle.ion-focused::after {
658
+ opacity: 0.15;
659
+ }
660
+
661
+ .calendar-month-year-toggle #toggle-wrapper {
662
+ -webkit-margin-start: 0;
663
+ margin-inline-start: 0;
664
+ -webkit-margin-end: 8px;
665
+ margin-inline-end: 8px;
666
+ margin-top: 10px;
667
+ margin-bottom: 10px;
668
+ }
615
669
 
616
- :host .calendar-action-buttons ion-item ion-icon,
670
+ :host .calendar-action-buttons .calendar-month-year-toggle ion-icon,
617
671
  :host .calendar-action-buttons ion-buttons ion-button {
618
672
  color: var(--ion-color-base);
619
673
  }