voyager-ionic-core 7.6.5 → 7.7.0

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 (704) hide show
  1. package/components/action-sheet.js +7 -5
  2. package/components/alert.js +7 -5
  3. package/components/backdrop.js +5 -3
  4. package/components/button.js +6 -4
  5. package/components/buttons.js +5 -3
  6. package/components/checkbox.js +4 -2
  7. package/components/data.js +1 -1
  8. package/components/hardware-back-button.js +47 -3
  9. package/components/helpers.js +1 -1
  10. package/components/icon.js +2 -1
  11. package/components/ion-accordion-group.js +6 -4
  12. package/components/ion-accordion.js +9 -5
  13. package/components/ion-app.js +14 -3
  14. package/components/ion-avatar.js +5 -3
  15. package/components/ion-back-button.js +6 -4
  16. package/components/ion-badge.js +6 -4
  17. package/components/ion-breadcrumb.js +6 -4
  18. package/components/ion-breadcrumbs.js +6 -4
  19. package/components/ion-card-content.js +5 -3
  20. package/components/ion-card-header.js +6 -4
  21. package/components/ion-card-subtitle.js +6 -4
  22. package/components/ion-card-title.js +6 -4
  23. package/components/ion-card.js +5 -3
  24. package/components/ion-chip.js +6 -4
  25. package/components/ion-col.js +4 -3
  26. package/components/ion-content.js +5 -4
  27. package/components/ion-datetime-button.js +6 -4
  28. package/components/ion-datetime.js +40 -19
  29. package/components/ion-fab-button.js +6 -4
  30. package/components/ion-fab-list.js +4 -3
  31. package/components/ion-fab.js +4 -3
  32. package/components/ion-footer.js +6 -4
  33. package/components/ion-grid.js +4 -3
  34. package/components/ion-header.js +6 -4
  35. package/components/ion-img.js +3 -2
  36. package/components/ion-infinite-scroll-content.js +6 -4
  37. package/components/ion-infinite-scroll.js +3 -2
  38. package/components/ion-input.js +4 -2
  39. package/components/ion-item-divider.js +6 -4
  40. package/components/ion-item-group.js +5 -3
  41. package/components/ion-item-option.js +6 -4
  42. package/components/ion-item-options.js +5 -3
  43. package/components/ion-item-sliding.js +3 -2
  44. package/components/ion-loading.js +6 -4
  45. package/components/ion-menu-button.js +6 -4
  46. package/components/ion-menu-toggle.js +4 -3
  47. package/components/ion-menu.js +13 -5
  48. package/components/ion-modal.js +8 -7
  49. package/components/ion-nav-link.js +1 -1
  50. package/components/ion-nav.js +3 -2
  51. package/components/ion-picker.js +6 -4
  52. package/components/ion-progress-bar.js +5 -3
  53. package/components/ion-range.js +4 -2
  54. package/components/ion-refresher-content.js +1 -1
  55. package/components/ion-refresher.js +5 -3
  56. package/components/ion-reorder-group.js +3 -2
  57. package/components/ion-reorder.js +5 -3
  58. package/components/ion-router-link.js +4 -3
  59. package/components/ion-router-outlet.js +3 -2
  60. package/components/ion-row.js +3 -2
  61. package/components/ion-searchbar.js +8 -6
  62. package/components/ion-segment-button.js +7 -5
  63. package/components/ion-segment.js +13 -4
  64. package/components/ion-select-option.js +3 -2
  65. package/components/ion-select.js +24 -3
  66. package/components/ion-skeleton-text.js +4 -3
  67. package/components/ion-split-pane.js +15 -14
  68. package/components/ion-tab-bar.js +6 -4
  69. package/components/ion-tab-button.js +6 -4
  70. package/components/ion-tab.js +4 -3
  71. package/components/ion-tabs.js +3 -2
  72. package/components/ion-text.js +4 -3
  73. package/components/ion-textarea.js +4 -2
  74. package/components/ion-thumbnail.js +3 -2
  75. package/components/ion-title.js +6 -4
  76. package/components/ion-toast.js +6 -4
  77. package/components/ion-toggle.js +4 -2
  78. package/components/ion-toolbar.js +6 -4
  79. package/components/item.js +14 -6
  80. package/components/label.js +5 -3
  81. package/components/list-header.js +6 -4
  82. package/components/list.js +5 -3
  83. package/components/note.js +6 -4
  84. package/components/overlays.js +29 -10
  85. package/components/picker-column-internal.js +7 -5
  86. package/components/picker-column.js +6 -4
  87. package/components/picker-internal.js +21 -3
  88. package/components/popover.js +8 -6
  89. package/components/radio-group.js +1 -1
  90. package/components/radio.js +4 -2
  91. package/components/ripple-effect.js +3 -2
  92. package/components/select-popover.js +5 -3
  93. package/components/spinner.js +3 -2
  94. package/css/core.css +28 -0
  95. package/css/core.css.map +1 -1
  96. package/css/ionic.bundle.css +1 -1
  97. package/css/ionic.bundle.css.map +1 -1
  98. package/dist/cjs/{animation-9b401d39.js → animation-fdab9de5.js} +1 -1
  99. package/dist/cjs/{app-globals-07127773.js → app-globals-5a17c5e1.js} +1 -1
  100. package/dist/cjs/{button-active-85665616.js → button-active-b8c3f603.js} +1 -1
  101. package/dist/cjs/{form-controller-7d42a722.js → form-controller-7b90d7b7.js} +1 -1
  102. package/dist/cjs/{framework-delegate-1c29b14a.js → framework-delegate-a3e6d060.js} +1 -1
  103. package/dist/cjs/{hardware-back-button-76833cac.js → hardware-back-button-d23873bb.js} +48 -2
  104. package/dist/cjs/{helpers-76bb7efb.js → helpers-2e1028fa.js} +1 -1
  105. package/dist/cjs/{index-b4f986cd.js → index-10da82ce.js} +1 -1
  106. package/dist/cjs/{index-da15e99c.js → index-53d162b2.js} +1 -1
  107. package/dist/cjs/{index-71f41461.js → index-5a471146.js} +32 -2
  108. package/dist/cjs/{index-6bb6b651.js → index-84351d21.js} +4 -4
  109. package/dist/cjs/{index-96a721a7.js → index-8c679cbf.js} +4 -4
  110. package/dist/cjs/index.cjs.js +11 -11
  111. package/dist/cjs/{input-shims-a23bb0f4.js → input-shims-6f804705.js} +2 -2
  112. package/dist/cjs/{input.utils-3d0166a2.js → input.utils-d693d18a.js} +1 -1
  113. package/dist/cjs/ion-accordion_2.cjs.entry.js +18 -12
  114. package/dist/cjs/ion-action-sheet.cjs.entry.js +15 -13
  115. package/dist/cjs/ion-alert.cjs.entry.js +15 -13
  116. package/dist/cjs/ion-app_8.cjs.entry.js +72 -50
  117. package/dist/cjs/ion-avatar_3.cjs.entry.js +16 -11
  118. package/dist/cjs/ion-back-button.cjs.entry.js +9 -7
  119. package/dist/cjs/ion-backdrop.cjs.entry.js +7 -5
  120. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +15 -11
  121. package/dist/cjs/ion-button_2.cjs.entry.js +11 -8
  122. package/dist/cjs/ion-card_5.cjs.entry.js +31 -21
  123. package/dist/cjs/ion-checkbox.cjs.entry.js +8 -6
  124. package/dist/cjs/ion-chip.cjs.entry.js +8 -6
  125. package/dist/cjs/ion-col_3.cjs.entry.js +13 -10
  126. package/dist/cjs/ion-datetime-button.cjs.entry.js +8 -6
  127. package/dist/cjs/ion-datetime_3.cjs.entry.js +58 -33
  128. package/dist/cjs/ion-fab_3.cjs.entry.js +17 -13
  129. package/dist/cjs/ion-img.cjs.entry.js +6 -5
  130. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +13 -10
  131. package/dist/cjs/ion-input.cjs.entry.js +10 -8
  132. package/dist/cjs/ion-item-option_3.cjs.entry.js +18 -13
  133. package/dist/cjs/ion-item_8.cjs.entry.js +53 -33
  134. package/dist/cjs/ion-loading.cjs.entry.js +13 -11
  135. package/dist/cjs/ion-menu_3.cjs.entry.js +29 -19
  136. package/dist/cjs/ion-modal.cjs.entry.js +17 -16
  137. package/dist/cjs/ion-nav_2.cjs.entry.js +10 -9
  138. package/dist/cjs/ion-picker-column-internal.cjs.entry.js +10 -8
  139. package/dist/cjs/ion-picker-internal.cjs.entry.js +23 -5
  140. package/dist/cjs/ion-popover.cjs.entry.js +16 -14
  141. package/dist/cjs/ion-progress-bar.cjs.entry.js +8 -6
  142. package/dist/cjs/ion-radio_2.cjs.entry.js +9 -7
  143. package/dist/cjs/ion-range.cjs.entry.js +9 -7
  144. package/dist/cjs/ion-refresher_2.cjs.entry.js +11 -9
  145. package/dist/cjs/ion-reorder_2.cjs.entry.js +12 -9
  146. package/dist/cjs/ion-ripple-effect.cjs.entry.js +5 -4
  147. package/dist/cjs/ion-route_4.cjs.entry.js +7 -6
  148. package/dist/cjs/ion-searchbar.cjs.entry.js +11 -9
  149. package/dist/cjs/ion-segment_2.cjs.entry.js +23 -12
  150. package/dist/cjs/ion-select_3.cjs.entry.js +40 -16
  151. package/dist/cjs/ion-spinner.cjs.entry.js +5 -4
  152. package/dist/cjs/ion-split-pane.cjs.entry.js +17 -16
  153. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +15 -11
  154. package/dist/cjs/ion-tab_2.cjs.entry.js +10 -8
  155. package/dist/cjs/ion-text.cjs.entry.js +6 -5
  156. package/dist/cjs/ion-textarea.cjs.entry.js +10 -8
  157. package/dist/cjs/ion-toast.cjs.entry.js +13 -11
  158. package/dist/cjs/ion-toggle.cjs.entry.js +8 -6
  159. package/dist/cjs/{ionic-global-c70c3fb5.js → ionic-global-7358c23e.js} +1 -1
  160. package/dist/cjs/ionic.cjs.js +5 -5
  161. package/dist/cjs/{ios.transition-9624a175.js → ios.transition-8e40c54e.js} +4 -4
  162. package/dist/cjs/loader.cjs.js +4 -4
  163. package/dist/cjs/{md.transition-786baf9a.js → md.transition-597a2479.js} +4 -4
  164. package/dist/cjs/{notch-controller-9735e7ac.js → notch-controller-db0127c4.js} +1 -1
  165. package/dist/cjs/{overlays-4c97edb0.js → overlays-eaf2075f.js} +32 -13
  166. package/dist/cjs/{status-tap-66296dcb.js → status-tap-b0bfea34.js} +3 -3
  167. package/dist/cjs/{swipe-back-e37a1a5c.js → swipe-back-7a848bb8.js} +1 -1
  168. package/dist/collection/collection-manifest.json +1 -1
  169. package/dist/collection/components/accordion/accordion.js +5 -3
  170. package/dist/collection/components/accordion/test/disabled/accordion.e2e.js +94 -0
  171. package/dist/collection/components/accordion/test/readonly/accordion.e2e.js +94 -0
  172. package/dist/collection/components/accordion-group/accordion-group.js +2 -2
  173. package/dist/collection/components/action-sheet/action-sheet.js +3 -3
  174. package/dist/collection/components/alert/alert.ios.css +23 -0
  175. package/dist/collection/components/alert/alert.js +2 -2
  176. package/dist/collection/components/alert/test/basic/alert.e2e.js +29 -4
  177. package/dist/collection/components/app/app.js +12 -2
  178. package/dist/collection/components/avatar/avatar.js +1 -1
  179. package/dist/collection/components/back-button/back-button.js +2 -2
  180. package/dist/collection/components/backdrop/backdrop.js +1 -1
  181. package/dist/collection/components/badge/badge.js +2 -2
  182. package/dist/collection/components/breadcrumb/breadcrumb.js +2 -2
  183. package/dist/collection/components/breadcrumbs/breadcrumbs.js +2 -2
  184. package/dist/collection/components/button/button.js +2 -2
  185. package/dist/collection/components/button/test/basic/button.e2e.js +1 -1
  186. package/dist/collection/components/buttons/buttons.js +1 -1
  187. package/dist/collection/components/card/card.js +1 -1
  188. package/dist/collection/components/card-content/card-content.js +1 -1
  189. package/dist/collection/components/card-header/card-header.js +2 -2
  190. package/dist/collection/components/card-subtitle/card-subtitle.js +2 -2
  191. package/dist/collection/components/card-title/card-title.js +2 -2
  192. package/dist/collection/components/chip/chip.js +2 -2
  193. package/dist/collection/components/col/col.js +2 -2
  194. package/dist/collection/components/content/content.js +3 -3
  195. package/dist/collection/components/datetime/datetime.js +35 -16
  196. package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +3 -3
  197. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +12 -12
  198. package/dist/collection/components/datetime/test/datetime.e2e.js +1 -1
  199. package/dist/collection/components/datetime/test/disable-dates/datetime.e2e.js +1 -1
  200. package/dist/collection/components/datetime/test/disabled/datetime.e2e.js +4 -4
  201. package/dist/collection/components/datetime/test/display/datetime.e2e.js +9 -9
  202. package/dist/collection/components/datetime/test/locale/datetime.e2e.js +3 -3
  203. package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +11 -11
  204. package/dist/collection/components/datetime/test/month-year-picker/datetime.e2e.js +1 -1
  205. package/dist/collection/components/datetime/test/multiple/datetime.e2e.js +22 -5
  206. package/dist/collection/components/datetime/test/position/datetime.e2e.js +1 -1
  207. package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +32 -32
  208. package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +3 -3
  209. package/dist/collection/components/datetime/test/readonly/datetime.e2e.js +4 -4
  210. package/dist/collection/components/datetime/test/set-value/datetime.e2e.js +4 -4
  211. package/dist/collection/components/datetime/test/time-label/datetime.e2e.js +2 -2
  212. package/dist/collection/components/datetime/test/values/datetime.e2e.js +4 -4
  213. package/dist/collection/components/datetime-button/datetime-button.js +1 -1
  214. package/dist/collection/components/datetime-button/test/basic/datetime-button.e2e.js +14 -14
  215. package/dist/collection/components/datetime-button/test/disabled/datetime-button.e2e.js +2 -2
  216. package/dist/collection/components/datetime-button/test/multiple/datetime-button.e2e.js +6 -6
  217. package/dist/collection/components/fab/fab.js +2 -2
  218. package/dist/collection/components/fab-button/fab-button.js +2 -2
  219. package/dist/collection/components/fab-list/fab-list.js +2 -2
  220. package/dist/collection/components/footer/footer.js +2 -2
  221. package/dist/collection/components/grid/grid.js +2 -2
  222. package/dist/collection/components/header/header.js +2 -2
  223. package/dist/collection/components/header/test/condense/header.e2e.js +2 -2
  224. package/dist/collection/components/img/img.js +1 -1
  225. package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
  226. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
  227. package/dist/collection/components/item/item.ios.css +2 -39
  228. package/dist/collection/components/item/item.js +9 -2
  229. package/dist/collection/components/item/item.md.css +2 -39
  230. package/dist/collection/components/item/test/item.spec.js +20 -0
  231. package/dist/collection/components/item-divider/item-divider.js +2 -2
  232. package/dist/collection/components/item-group/item-group.js +1 -1
  233. package/dist/collection/components/item-option/item-option.js +2 -2
  234. package/dist/collection/components/item-options/item-options.js +1 -1
  235. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  236. package/dist/collection/components/label/label.js +1 -1
  237. package/dist/collection/components/label/test/basic/label.e2e.js +2 -2
  238. package/dist/collection/components/list/list.js +1 -1
  239. package/dist/collection/components/list-header/list-header.js +2 -2
  240. package/dist/collection/components/loading/loading.js +2 -2
  241. package/dist/collection/components/menu/menu.js +8 -8
  242. package/dist/collection/components/menu-button/menu-button.js +2 -2
  243. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  244. package/dist/collection/components/modal/modal.js +4 -5
  245. package/dist/collection/components/modal/test/sheet/modal.e2e.js +1 -1
  246. package/dist/collection/components/modal/test/standalone/modal.e2e.js +1 -1
  247. package/dist/collection/components/nav/nav.js +1 -1
  248. package/dist/collection/components/nav-link/nav-link.js +1 -1
  249. package/dist/collection/components/note/note.js +2 -2
  250. package/dist/collection/components/note/test/a11y/note.e2e.js +6 -6
  251. package/dist/collection/components/picker/picker.js +2 -2
  252. package/dist/collection/components/picker-column/picker-column.js +2 -2
  253. package/dist/collection/components/picker-column-internal/picker-column-internal.js +3 -3
  254. package/dist/collection/components/picker-internal/picker-internal.js +17 -1
  255. package/dist/collection/components/picker-internal/test/keyboard-entry/picker-internal.e2e.js +32 -0
  256. package/dist/collection/components/popover/popover.ios.css +1 -1
  257. package/dist/collection/components/popover/popover.js +2 -2
  258. package/dist/collection/components/popover/popover.md.css +1 -1
  259. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  260. package/dist/collection/components/radio-group/radio-group.js +1 -1
  261. package/dist/collection/components/radio-group/test/radio-group-events.e2e.js +15 -15
  262. package/dist/collection/components/range/test/label/range.e2e.js +2 -2
  263. package/dist/collection/components/range/test/range-events.e2e.js +2 -2
  264. package/dist/collection/components/refresher/refresher.js +1 -1
  265. package/dist/collection/components/refresher/test/test.utils.js +1 -1
  266. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  267. package/dist/collection/components/reorder/reorder.js +1 -1
  268. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  269. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  270. package/dist/collection/components/ripple-effect/test/basic/ripple-effect.e2e.js +2 -2
  271. package/dist/collection/components/router-link/router-link.js +2 -2
  272. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  273. package/dist/collection/components/row/row.js +1 -1
  274. package/dist/collection/components/searchbar/searchbar.js +4 -4
  275. package/dist/collection/components/segment/segment.js +9 -2
  276. package/dist/collection/components/segment-button/segment-button.js +3 -3
  277. package/dist/collection/components/select/select.js +20 -1
  278. package/dist/collection/components/select/test/disabled/select.e2e.js +1 -1
  279. package/dist/collection/components/select/test/select.spec.js +15 -0
  280. package/dist/collection/components/select-option/select-option.js +1 -1
  281. package/dist/collection/components/select-popover/select-popover.js +1 -1
  282. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  283. package/dist/collection/components/spinner/spinner.js +1 -1
  284. package/dist/collection/components/split-pane/split-pane.js +11 -12
  285. package/dist/collection/components/tab/tab.js +2 -2
  286. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  287. package/dist/collection/components/tab-button/tab-button.js +2 -2
  288. package/dist/collection/components/tabs/tabs.js +1 -1
  289. package/dist/collection/components/text/text.js +2 -2
  290. package/dist/collection/components/textarea/test/textarea-events.e2e.js +4 -4
  291. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  292. package/dist/collection/components/title/title.js +2 -2
  293. package/dist/collection/components/toast/toast.js +2 -2
  294. package/dist/collection/components/toolbar/toolbar.js +2 -2
  295. package/dist/collection/utils/hardware-back-button.js +45 -2
  296. package/dist/collection/utils/helpers.js +1 -1
  297. package/dist/collection/utils/overlays.js +29 -9
  298. package/dist/collection/utils/test/hardware-back-button.spec.js +38 -0
  299. package/dist/docs.json +5 -10
  300. package/dist/esm/{animation-dde8cc0d.js → animation-60dbdd13.js} +1 -1
  301. package/dist/esm/{app-globals-52c78291.js → app-globals-47226a12.js} +1 -1
  302. package/dist/esm/{button-active-b62776db.js → button-active-4bee452c.js} +1 -1
  303. package/dist/esm/{data-775093f5.js → data-0f3ab200.js} +1 -1
  304. package/dist/esm/{form-controller-548aa79c.js → form-controller-014aa89f.js} +1 -1
  305. package/dist/esm/{framework-delegate-bc1fd82a.js → framework-delegate-fed7fe7c.js} +1 -1
  306. package/dist/esm/{hardware-back-button-b2bc76db.js → hardware-back-button-f42b9c80.js} +48 -3
  307. package/dist/esm/{helpers-ae653409.js → helpers-c0b9ca37.js} +1 -1
  308. package/dist/esm/{index-01cb9192.js → index-48209844.js} +4 -4
  309. package/dist/esm/{index-a97c95a7.js → index-4b98143d.js} +4 -4
  310. package/dist/esm/{index-27668d5b.js → index-73881b51.js} +32 -2
  311. package/dist/esm/{index-82eeb47f.js → index-d64f34ea.js} +1 -1
  312. package/dist/esm/{index-b9e742e5.js → index-eb12ef92.js} +1 -1
  313. package/dist/esm/index.js +11 -11
  314. package/dist/esm/{input-shims-6539ce13.js → input-shims-b90ca55f.js} +2 -2
  315. package/dist/esm/{input.utils-a5a2d164.js → input.utils-6e9b0046.js} +1 -1
  316. package/dist/esm/ion-accordion_2.entry.js +18 -12
  317. package/dist/esm/ion-action-sheet.entry.js +15 -13
  318. package/dist/esm/ion-alert.entry.js +15 -13
  319. package/dist/esm/ion-app_8.entry.js +62 -40
  320. package/dist/esm/ion-avatar_3.entry.js +16 -11
  321. package/dist/esm/ion-back-button.entry.js +9 -7
  322. package/dist/esm/ion-backdrop.entry.js +7 -5
  323. package/dist/esm/ion-breadcrumb_2.entry.js +15 -11
  324. package/dist/esm/ion-button_2.entry.js +11 -8
  325. package/dist/esm/ion-card_5.entry.js +31 -21
  326. package/dist/esm/ion-checkbox.entry.js +8 -6
  327. package/dist/esm/ion-chip.entry.js +8 -6
  328. package/dist/esm/ion-col_3.entry.js +13 -10
  329. package/dist/esm/ion-datetime-button.entry.js +9 -7
  330. package/dist/esm/ion-datetime_3.entry.js +59 -34
  331. package/dist/esm/ion-fab_3.entry.js +17 -13
  332. package/dist/esm/ion-img.entry.js +6 -5
  333. package/dist/esm/ion-infinite-scroll_2.entry.js +13 -10
  334. package/dist/esm/ion-input.entry.js +10 -8
  335. package/dist/esm/ion-item-option_3.entry.js +18 -13
  336. package/dist/esm/ion-item_8.entry.js +53 -33
  337. package/dist/esm/ion-loading.entry.js +13 -11
  338. package/dist/esm/ion-menu_3.entry.js +29 -19
  339. package/dist/esm/ion-modal.entry.js +17 -16
  340. package/dist/esm/ion-nav_2.entry.js +10 -9
  341. package/dist/esm/ion-picker-column-internal.entry.js +10 -8
  342. package/dist/esm/ion-picker-internal.entry.js +23 -5
  343. package/dist/esm/ion-popover.entry.js +16 -14
  344. package/dist/esm/ion-progress-bar.entry.js +8 -6
  345. package/dist/esm/ion-radio_2.entry.js +9 -7
  346. package/dist/esm/ion-range.entry.js +9 -7
  347. package/dist/esm/ion-refresher_2.entry.js +11 -9
  348. package/dist/esm/ion-reorder_2.entry.js +12 -9
  349. package/dist/esm/ion-ripple-effect.entry.js +5 -4
  350. package/dist/esm/ion-route_4.entry.js +7 -6
  351. package/dist/esm/ion-searchbar.entry.js +11 -9
  352. package/dist/esm/ion-segment_2.entry.js +23 -12
  353. package/dist/esm/ion-select_3.entry.js +40 -16
  354. package/dist/esm/ion-spinner.entry.js +5 -4
  355. package/dist/esm/ion-split-pane.entry.js +17 -16
  356. package/dist/esm/ion-tab-bar_2.entry.js +15 -11
  357. package/dist/esm/ion-tab_2.entry.js +10 -8
  358. package/dist/esm/ion-text.entry.js +6 -5
  359. package/dist/esm/ion-textarea.entry.js +10 -8
  360. package/dist/esm/ion-toast.entry.js +13 -11
  361. package/dist/esm/ion-toggle.entry.js +8 -6
  362. package/dist/esm/{ionic-global-8fa0f940.js → ionic-global-778b7863.js} +1 -1
  363. package/dist/esm/ionic.js +6 -6
  364. package/dist/esm/{ios.transition-62fd50ab.js → ios.transition-7ff7381d.js} +4 -4
  365. package/dist/esm/loader.js +5 -5
  366. package/dist/esm/{md.transition-7e56966a.js → md.transition-28a9a26b.js} +4 -4
  367. package/dist/esm/{notch-controller-fea7f9c5.js → notch-controller-15d281a4.js} +1 -1
  368. package/dist/esm/{overlays-8414359b.js → overlays-fad5fe01.js} +32 -13
  369. package/dist/esm/{status-tap-129c01cf.js → status-tap-2b335fb7.js} +3 -3
  370. package/dist/esm/{swipe-back-18cb49f7.js → swipe-back-fa0ec5cd.js} +1 -1
  371. package/dist/esm-es5/{animation-dde8cc0d.js → animation-60dbdd13.js} +1 -1
  372. package/dist/esm-es5/app-globals-47226a12.js +4 -0
  373. package/dist/esm-es5/{button-active-b62776db.js → button-active-4bee452c.js} +1 -1
  374. package/dist/esm-es5/{data-775093f5.js → data-0f3ab200.js} +1 -1
  375. package/dist/esm-es5/{form-controller-548aa79c.js → form-controller-014aa89f.js} +1 -1
  376. package/dist/esm-es5/{framework-delegate-bc1fd82a.js → framework-delegate-fed7fe7c.js} +1 -1
  377. package/dist/esm-es5/hardware-back-button-f42b9c80.js +4 -0
  378. package/dist/esm-es5/helpers-c0b9ca37.js +4 -0
  379. package/dist/esm-es5/{index-01cb9192.js → index-48209844.js} +1 -1
  380. package/dist/esm-es5/{index-a97c95a7.js → index-4b98143d.js} +1 -1
  381. package/dist/esm-es5/{index-27668d5b.js → index-73881b51.js} +2 -2
  382. package/dist/esm-es5/index-d64f34ea.js +4 -0
  383. package/dist/esm-es5/{index-b9e742e5.js → index-eb12ef92.js} +1 -1
  384. package/dist/esm-es5/index.js +1 -1
  385. package/dist/esm-es5/{input-shims-6539ce13.js → input-shims-b90ca55f.js} +1 -1
  386. package/dist/esm-es5/{input.utils-a5a2d164.js → input.utils-6e9b0046.js} +1 -1
  387. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  388. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  389. package/dist/esm-es5/ion-alert.entry.js +1 -1
  390. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  391. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  392. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  393. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  394. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  395. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  396. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  397. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  398. package/dist/esm-es5/ion-chip.entry.js +1 -1
  399. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  400. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  401. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  402. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  403. package/dist/esm-es5/ion-img.entry.js +1 -1
  404. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  405. package/dist/esm-es5/ion-input.entry.js +1 -1
  406. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  407. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  408. package/dist/esm-es5/ion-loading.entry.js +1 -1
  409. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  410. package/dist/esm-es5/ion-modal.entry.js +1 -1
  411. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  412. package/dist/esm-es5/ion-picker-column-internal.entry.js +1 -1
  413. package/dist/esm-es5/ion-picker-internal.entry.js +1 -1
  414. package/dist/esm-es5/ion-popover.entry.js +1 -1
  415. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  416. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  417. package/dist/esm-es5/ion-range.entry.js +1 -1
  418. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  419. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  420. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  421. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  422. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  423. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  424. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  425. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  426. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  427. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  428. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  429. package/dist/esm-es5/ion-text.entry.js +1 -1
  430. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  431. package/dist/esm-es5/ion-toast.entry.js +1 -1
  432. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  433. package/dist/esm-es5/{ionic-global-8fa0f940.js → ionic-global-778b7863.js} +1 -1
  434. package/dist/esm-es5/ionic.js +1 -1
  435. package/dist/esm-es5/{ios.transition-62fd50ab.js → ios.transition-7ff7381d.js} +1 -1
  436. package/dist/esm-es5/loader.js +1 -1
  437. package/dist/esm-es5/md.transition-28a9a26b.js +4 -0
  438. package/dist/esm-es5/{notch-controller-fea7f9c5.js → notch-controller-15d281a4.js} +1 -1
  439. package/dist/esm-es5/overlays-fad5fe01.js +4 -0
  440. package/dist/esm-es5/{status-tap-129c01cf.js → status-tap-2b335fb7.js} +1 -1
  441. package/dist/esm-es5/{swipe-back-18cb49f7.js → swipe-back-fa0ec5cd.js} +1 -1
  442. package/dist/ionic/index.esm.js +1 -1
  443. package/dist/ionic/ionic.esm.js +1 -1
  444. package/dist/ionic/ionic.js +1 -1
  445. package/dist/ionic/p-001010b6.system.js +4 -0
  446. package/dist/ionic/p-044ad008.system.entry.js +4 -0
  447. package/dist/ionic/p-078fd095.system.entry.js +4 -0
  448. package/dist/ionic/p-0ae25399.system.entry.js +4 -0
  449. package/dist/ionic/p-0b955124.system.js +4 -0
  450. package/dist/ionic/p-0e29919c.system.entry.js +4 -0
  451. package/dist/ionic/p-0eef8b34.system.entry.js +4 -0
  452. package/dist/ionic/p-0fd295ef.system.entry.js +4 -0
  453. package/dist/ionic/{p-436bd99a.entry.js → p-108f730a.entry.js} +1 -1
  454. package/dist/ionic/p-1375f21f.js +4 -0
  455. package/dist/ionic/{p-fd41bd8a.js → p-1aa7c019.js} +1 -1
  456. package/dist/ionic/{p-13387c28.entry.js → p-1c531ca2.entry.js} +1 -1
  457. package/dist/ionic/p-1d8c2cfc.system.entry.js +4 -0
  458. package/dist/ionic/{p-53ec4f1c.system.js → p-1dfc11b3.system.js} +1 -1
  459. package/dist/ionic/p-1f6cdf2c.system.entry.js +4 -0
  460. package/dist/ionic/p-20a6513f.system.entry.js +4 -0
  461. package/dist/ionic/p-20f7a91e.system.entry.js +4 -0
  462. package/dist/ionic/{p-ae638cb5.system.js → p-25b08bc4.system.js} +1 -1
  463. package/dist/ionic/p-2da0a76c.entry.js +4 -0
  464. package/dist/ionic/p-2f66e177.system.entry.js +4 -0
  465. package/dist/ionic/p-30c9e049.system.entry.js +4 -0
  466. package/dist/ionic/p-30d77a91.system.js +4 -0
  467. package/dist/ionic/{p-376a6063.js → p-31c495c2.js} +1 -1
  468. package/dist/ionic/p-333f06ed.entry.js +4 -0
  469. package/dist/ionic/{p-23ce95e8.js → p-341b4519.js} +1 -1
  470. package/dist/ionic/p-34947dff.system.entry.js +4 -0
  471. package/dist/ionic/{p-cabad15b.system.js → p-37c33319.system.js} +1 -1
  472. package/dist/ionic/p-38a6fee7.entry.js +4 -0
  473. package/dist/ionic/p-396c1a55.entry.js +4 -0
  474. package/dist/ionic/p-3a54c070.system.entry.js +4 -0
  475. package/dist/ionic/p-3a98f8db.entry.js +4 -0
  476. package/dist/ionic/{p-d51674c5.system.js → p-3c6f02cf.system.js} +1 -1
  477. package/dist/ionic/{p-249633a4.entry.js → p-3cdbaa49.entry.js} +1 -1
  478. package/dist/ionic/p-3eb2da31.js +4 -0
  479. package/dist/ionic/{p-ef3a6b51.system.js → p-3f028207.system.js} +1 -1
  480. package/dist/ionic/p-400574bf.entry.js +4 -0
  481. package/dist/ionic/p-41fde260.entry.js +4 -0
  482. package/dist/ionic/{p-8aa1d0b7.system.js → p-49543c9c.system.js} +1 -1
  483. package/dist/ionic/p-4b2d5b9c.js +4 -0
  484. package/dist/ionic/{p-88d5fbd3.js → p-4f777b5e.js} +1 -1
  485. package/dist/ionic/p-4fc40349.system.entry.js +4 -0
  486. package/dist/ionic/p-51f08a9f.entry.js +4 -0
  487. package/dist/ionic/p-52e02877.entry.js +4 -0
  488. package/dist/ionic/{p-43afd001.system.js → p-55d5cd00.system.js} +1 -1
  489. package/dist/ionic/p-5615cf3f.system.entry.js +4 -0
  490. package/dist/ionic/p-58e3ae88.system.entry.js +4 -0
  491. package/dist/ionic/p-594ead2f.entry.js +4 -0
  492. package/dist/ionic/{p-7bae84aa.entry.js → p-5a0c301f.entry.js} +1 -1
  493. package/dist/ionic/p-5e60dbc8.entry.js +4 -0
  494. package/dist/ionic/{p-d2707f9d.system.js → p-5eea8b4c.system.js} +1 -1
  495. package/dist/ionic/p-5f456b3c.system.entry.js +4 -0
  496. package/dist/ionic/p-61ba2137.system.js +4 -0
  497. package/dist/ionic/{p-be04fcd8.system.entry.js → p-62067818.system.entry.js} +1 -1
  498. package/dist/ionic/{p-4a4bbcc5.system.js → p-62a3c609.system.js} +2 -2
  499. package/dist/ionic/p-680f96e8.system.entry.js +4 -0
  500. package/dist/ionic/p-6871553b.system.js +4 -0
  501. package/dist/ionic/p-6b02edd6.js +4 -0
  502. package/dist/ionic/p-6f38d0c5.system.entry.js +4 -0
  503. package/dist/ionic/p-70026e8f.system.entry.js +4 -0
  504. package/dist/ionic/{p-87bb3735.system.js → p-7330c044.system.js} +1 -1
  505. package/dist/ionic/p-76893257.system.js +5 -0
  506. package/dist/ionic/p-78edc0cd.system.entry.js +4 -0
  507. package/dist/ionic/p-7c32fb95.system.entry.js +4 -0
  508. package/dist/ionic/p-84879f61.system.entry.js +4 -0
  509. package/dist/ionic/p-84f589e1.entry.js +4 -0
  510. package/dist/ionic/p-8569d759.system.entry.js +4 -0
  511. package/dist/ionic/p-86670b91.system.js +4 -0
  512. package/dist/ionic/p-88ca4854.entry.js +4 -0
  513. package/dist/ionic/{p-803ad1e3.entry.js → p-89b5aff2.entry.js} +1 -1
  514. package/dist/ionic/p-8a671f16.entry.js +4 -0
  515. package/dist/ionic/{p-25221a73.js → p-8ddc00f7.js} +1 -1
  516. package/dist/ionic/{p-005e0ad0.js → p-8f1ce253.js} +1 -1
  517. package/dist/ionic/p-92c2178e.system.entry.js +4 -0
  518. package/dist/ionic/{p-29d03b3a.js → p-9393a49f.js} +1 -1
  519. package/dist/ionic/{p-3a75d7fd.js → p-94be3ad7.js} +1 -1
  520. package/dist/ionic/p-95c44e02.system.js +4 -0
  521. package/dist/ionic/p-97eca294.entry.js +4 -0
  522. package/dist/ionic/{p-bb41c476.system.entry.js → p-9a6ab80a.system.entry.js} +1 -1
  523. package/dist/ionic/p-9db1e4c5.entry.js +4 -0
  524. package/dist/ionic/p-9eb4ea47.system.entry.js +4 -0
  525. package/dist/ionic/p-9f5b40c0.system.entry.js +4 -0
  526. package/dist/ionic/p-9f6397ce.entry.js +4 -0
  527. package/dist/ionic/p-a02b2d75.entry.js +4 -0
  528. package/dist/ionic/p-a051c371.entry.js +4 -0
  529. package/dist/ionic/{p-ed60d571.entry.js → p-a114530c.entry.js} +1 -1
  530. package/dist/ionic/p-a19f5ae1.entry.js +4 -0
  531. package/dist/ionic/p-a1bfaa5c.system.entry.js +4 -0
  532. package/dist/ionic/p-a2ad515b.entry.js +4 -0
  533. package/dist/ionic/{p-4180a747.js → p-a3f572a7.js} +1 -1
  534. package/dist/ionic/p-aa7ae6aa.entry.js +4 -0
  535. package/dist/ionic/{p-0bd51c34.system.js → p-abe101da.system.js} +1 -1
  536. package/dist/ionic/p-ac20160b.system.entry.js +4 -0
  537. package/dist/ionic/p-b06ac4a5.system.js +4 -0
  538. package/dist/ionic/p-b1f0c48e.system.entry.js +4 -0
  539. package/dist/ionic/{p-66d633fb.js → p-b253ad7f.js} +1 -1
  540. package/dist/ionic/p-b4a95b80.system.entry.js +4 -0
  541. package/dist/ionic/{p-03e00f90.js → p-b4d8fe47.js} +1 -1
  542. package/dist/ionic/p-b5839dc2.js +4 -0
  543. package/dist/ionic/p-b8c4df21.entry.js +4 -0
  544. package/dist/ionic/p-b8c685a7.system.js +4 -0
  545. package/dist/ionic/{p-3c33dc30.system.js → p-b94882a9.system.js} +1 -1
  546. package/dist/ionic/{p-c1c57873.system.entry.js → p-bc2c03d7.system.entry.js} +1 -1
  547. package/dist/ionic/{p-36d187af.js → p-c2289cd1.js} +1 -1
  548. package/dist/ionic/p-c3d041af.entry.js +4 -0
  549. package/dist/ionic/p-c569d1c8.entry.js +4 -0
  550. package/dist/ionic/p-c5c3710c.js +4 -0
  551. package/dist/ionic/{p-32b8e50d.system.js → p-c6fef62b.system.js} +1 -1
  552. package/dist/ionic/{p-7798c78a.system.js → p-c80c7e90.system.js} +1 -1
  553. package/dist/ionic/{p-013013a3.js → p-c858f685.js} +1 -1
  554. package/dist/ionic/p-c995da88.system.js +4 -0
  555. package/dist/ionic/p-cd055d60.system.entry.js +4 -0
  556. package/dist/ionic/p-ce2eabd5.entry.js +4 -0
  557. package/dist/ionic/p-d181166c.system.entry.js +4 -0
  558. package/dist/ionic/p-d7260b87.entry.js +4 -0
  559. package/dist/ionic/p-d74ca358.entry.js +4 -0
  560. package/dist/ionic/p-d8607ede.entry.js +4 -0
  561. package/dist/ionic/p-d95c8e90.entry.js +4 -0
  562. package/dist/ionic/p-dbb4c012.entry.js +4 -0
  563. package/dist/ionic/p-dce9bc53.entry.js +4 -0
  564. package/dist/ionic/p-dd60faa5.system.entry.js +4 -0
  565. package/dist/ionic/p-df281664.system.entry.js +4 -0
  566. package/dist/ionic/p-df468a8f.entry.js +4 -0
  567. package/dist/ionic/{p-d6129c6e.js → p-e1271366.js} +1 -1
  568. package/dist/ionic/{p-38f2c6bb.system.js → p-e2bb92ed.system.js} +1 -1
  569. package/dist/ionic/p-e68980ff.system.entry.js +4 -0
  570. package/dist/ionic/p-e6aaff14.system.entry.js +4 -0
  571. package/dist/ionic/p-e6cfaa07.system.entry.js +4 -0
  572. package/dist/ionic/{p-1052ef2b.entry.js → p-ea8fbf09.entry.js} +1 -1
  573. package/dist/ionic/p-eb1fdf9f.system.entry.js +4 -0
  574. package/dist/ionic/p-eda7a1db.system.entry.js +4 -0
  575. package/dist/ionic/p-ef441122.entry.js +4 -0
  576. package/dist/ionic/p-efe9180b.entry.js +4 -0
  577. package/dist/ionic/p-f46775e4.entry.js +4 -0
  578. package/dist/ionic/p-f7b43141.system.entry.js +4 -0
  579. package/dist/ionic/{p-18cae04f.js → p-f7dce541.js} +1 -1
  580. package/dist/ionic/{p-e814f9c0.entry.js → p-f88dd429.entry.js} +1 -1
  581. package/dist/ionic/p-f97b9cdd.system.entry.js +4 -0
  582. package/dist/ionic/p-fd2aa50c.js +4 -0
  583. package/dist/ionic/p-fd36799d.system.js +4 -0
  584. package/dist/ionic/{p-b6f6f00e.entry.js → p-fd3f475f.entry.js} +1 -1
  585. package/dist/ionic/p-fd8ced99.system.js +4 -0
  586. package/dist/ionic/p-fe92da17.entry.js +4 -0
  587. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +2 -2
  588. package/dist/types/components/alert/alert-interface.d.ts +2 -2
  589. package/dist/types/components/item/item.d.ts +1 -0
  590. package/dist/types/components/toast/toast-interface.d.ts +2 -2
  591. package/dist/types/interface.d.ts +1 -1
  592. package/dist/types/utils/browser/index.d.ts +22 -1
  593. package/dist/types/utils/config.d.ts +7 -0
  594. package/dist/types/utils/hardware-back-button.d.ts +13 -0
  595. package/hydrate/index.d.ts +1 -1
  596. package/hydrate/index.js +592 -349
  597. package/package.json +6 -6
  598. package/dist/collection/components/accordion/test/accordion.e2e.js +0 -39
  599. package/dist/esm-es5/app-globals-52c78291.js +0 -4
  600. package/dist/esm-es5/hardware-back-button-b2bc76db.js +0 -4
  601. package/dist/esm-es5/helpers-ae653409.js +0 -4
  602. package/dist/esm-es5/index-82eeb47f.js +0 -4
  603. package/dist/esm-es5/md.transition-7e56966a.js +0 -4
  604. package/dist/esm-es5/overlays-8414359b.js +0 -4
  605. package/dist/ionic/p-01438d78.entry.js +0 -4
  606. package/dist/ionic/p-02e530f5.system.js +0 -4
  607. package/dist/ionic/p-0abedd22.entry.js +0 -4
  608. package/dist/ionic/p-0d2b6901.entry.js +0 -4
  609. package/dist/ionic/p-127ff448.entry.js +0 -4
  610. package/dist/ionic/p-1a0bf247.system.entry.js +0 -4
  611. package/dist/ionic/p-1a5f0313.system.js +0 -4
  612. package/dist/ionic/p-1cca10d6.system.js +0 -4
  613. package/dist/ionic/p-1f7fc88d.entry.js +0 -4
  614. package/dist/ionic/p-1ffb40d0.system.entry.js +0 -4
  615. package/dist/ionic/p-23a9d086.js +0 -4
  616. package/dist/ionic/p-25553eba.system.entry.js +0 -4
  617. package/dist/ionic/p-2a496995.js +0 -4
  618. package/dist/ionic/p-3197dbf7.entry.js +0 -4
  619. package/dist/ionic/p-32ad210f.system.js +0 -4
  620. package/dist/ionic/p-35e1a80f.system.entry.js +0 -4
  621. package/dist/ionic/p-38c337e7.system.js +0 -4
  622. package/dist/ionic/p-3b83e483.system.entry.js +0 -4
  623. package/dist/ionic/p-3bcbbf43.system.entry.js +0 -4
  624. package/dist/ionic/p-3f0afc6f.entry.js +0 -4
  625. package/dist/ionic/p-40f68333.system.js +0 -4
  626. package/dist/ionic/p-41040a92.system.entry.js +0 -4
  627. package/dist/ionic/p-41aa2662.entry.js +0 -4
  628. package/dist/ionic/p-48f7e8cc.system.entry.js +0 -4
  629. package/dist/ionic/p-4b3623da.js +0 -4
  630. package/dist/ionic/p-4cd6a04c.system.entry.js +0 -4
  631. package/dist/ionic/p-525b6ac4.system.entry.js +0 -4
  632. package/dist/ionic/p-54c92c77.entry.js +0 -4
  633. package/dist/ionic/p-5a85d71d.entry.js +0 -4
  634. package/dist/ionic/p-5aecd304.system.entry.js +0 -4
  635. package/dist/ionic/p-5c2da581.system.entry.js +0 -4
  636. package/dist/ionic/p-619fafe3.system.entry.js +0 -4
  637. package/dist/ionic/p-61bf9f6f.system.entry.js +0 -4
  638. package/dist/ionic/p-677cb2f7.js +0 -4
  639. package/dist/ionic/p-67c3a2a8.system.js +0 -5
  640. package/dist/ionic/p-688a36c7.entry.js +0 -4
  641. package/dist/ionic/p-6a257379.entry.js +0 -4
  642. package/dist/ionic/p-6b9eee40.system.entry.js +0 -4
  643. package/dist/ionic/p-6ba863b1.system.entry.js +0 -4
  644. package/dist/ionic/p-6e165986.system.entry.js +0 -4
  645. package/dist/ionic/p-7510e462.entry.js +0 -4
  646. package/dist/ionic/p-76b6b42e.system.entry.js +0 -4
  647. package/dist/ionic/p-770f5b43.system.js +0 -4
  648. package/dist/ionic/p-7751def0.system.entry.js +0 -4
  649. package/dist/ionic/p-788942c8.system.entry.js +0 -4
  650. package/dist/ionic/p-790220fd.system.js +0 -4
  651. package/dist/ionic/p-7de774dd.entry.js +0 -4
  652. package/dist/ionic/p-8084e9cb.entry.js +0 -4
  653. package/dist/ionic/p-80ddd0c1.entry.js +0 -4
  654. package/dist/ionic/p-85e04029.entry.js +0 -4
  655. package/dist/ionic/p-87e10168.system.entry.js +0 -4
  656. package/dist/ionic/p-888db766.system.js +0 -4
  657. package/dist/ionic/p-88d99112.system.entry.js +0 -4
  658. package/dist/ionic/p-89c28901.system.entry.js +0 -4
  659. package/dist/ionic/p-928e945d.system.entry.js +0 -4
  660. package/dist/ionic/p-978c6799.system.entry.js +0 -4
  661. package/dist/ionic/p-9a0b9b64.entry.js +0 -4
  662. package/dist/ionic/p-a2d75455.entry.js +0 -4
  663. package/dist/ionic/p-a706cf11.system.entry.js +0 -4
  664. package/dist/ionic/p-a78d17e2.entry.js +0 -4
  665. package/dist/ionic/p-aca77953.entry.js +0 -4
  666. package/dist/ionic/p-b09c8228.entry.js +0 -4
  667. package/dist/ionic/p-b2205a7c.system.entry.js +0 -4
  668. package/dist/ionic/p-b43cf55f.entry.js +0 -4
  669. package/dist/ionic/p-bc59962f.system.entry.js +0 -4
  670. package/dist/ionic/p-bf595ef8.system.entry.js +0 -4
  671. package/dist/ionic/p-bf80f9d1.entry.js +0 -4
  672. package/dist/ionic/p-c0f62b42.system.js +0 -4
  673. package/dist/ionic/p-c16d9f2c.system.entry.js +0 -4
  674. package/dist/ionic/p-c48a9ef3.system.entry.js +0 -4
  675. package/dist/ionic/p-c9219299.entry.js +0 -4
  676. package/dist/ionic/p-cae77add.system.entry.js +0 -4
  677. package/dist/ionic/p-cd6bb7f5.system.entry.js +0 -4
  678. package/dist/ionic/p-cdce5ba3.system.entry.js +0 -4
  679. package/dist/ionic/p-d5216086.entry.js +0 -4
  680. package/dist/ionic/p-d6beb1c9.system.entry.js +0 -4
  681. package/dist/ionic/p-db798370.system.entry.js +0 -4
  682. package/dist/ionic/p-dc1d883c.system.entry.js +0 -4
  683. package/dist/ionic/p-dd9dff11.entry.js +0 -4
  684. package/dist/ionic/p-ddbb2d5b.system.js +0 -4
  685. package/dist/ionic/p-de6f8b28.system.js +0 -4
  686. package/dist/ionic/p-df62accd.entry.js +0 -4
  687. package/dist/ionic/p-e1e05489.system.entry.js +0 -4
  688. package/dist/ionic/p-e3ff3cde.system.entry.js +0 -4
  689. package/dist/ionic/p-e8294cc1.entry.js +0 -4
  690. package/dist/ionic/p-e87564bc.entry.js +0 -4
  691. package/dist/ionic/p-ea7f77e7.entry.js +0 -4
  692. package/dist/ionic/p-eb210b21.system.entry.js +0 -4
  693. package/dist/ionic/p-eb80ca40.entry.js +0 -4
  694. package/dist/ionic/p-eba17ff5.system.entry.js +0 -4
  695. package/dist/ionic/p-eef72e06.js +0 -4
  696. package/dist/ionic/p-efcc4b66.entry.js +0 -4
  697. package/dist/ionic/p-f08d8865.js +0 -4
  698. package/dist/ionic/p-f3478ed6.system.entry.js +0 -4
  699. package/dist/ionic/p-f4bf2448.entry.js +0 -4
  700. package/dist/ionic/p-f4e37ba7.entry.js +0 -4
  701. package/dist/ionic/p-f56d53bd.entry.js +0 -4
  702. package/dist/ionic/p-f8564a9b.system.entry.js +0 -4
  703. package/dist/ionic/p-f865bc9a.entry.js +0 -4
  704. package/dist/ionic/p-fd1a0431.js +0 -4
@@ -14,7 +14,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
14
14
  await page.setContent(`
15
15
  <ion-datetime value="2022-02-22T16:30:00" presentation="date-time"></ion-datetime>
16
16
  `, config);
17
- await page.waitForSelector('.datetime-ready');
17
+ await page.locator('.datetime-ready').waitFor();
18
18
  const datetime = page.locator('ion-datetime');
19
19
  await expect(datetime).toHaveScreenshot(screenshot(`datetime-display-date-time`));
20
20
  });
@@ -22,7 +22,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
22
22
  await page.setContent(`
23
23
  <ion-datetime value="2022-02-22T16:30:00" presentation="time-date"></ion-datetime>
24
24
  `, config);
25
- await page.waitForSelector('.datetime-ready');
25
+ await page.locator('.datetime-ready').waitFor();
26
26
  const datetime = page.locator('ion-datetime');
27
27
  await expect(datetime).toHaveScreenshot(screenshot(`datetime-display-time-date`));
28
28
  });
@@ -30,7 +30,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
30
30
  await page.setContent(`
31
31
  <ion-datetime value="2022-02-22T16:30:00" presentation="time"></ion-datetime>
32
32
  `, config);
33
- await page.waitForSelector('.datetime-ready');
33
+ await page.locator('.datetime-ready').waitFor();
34
34
  const datetime = page.locator('ion-datetime');
35
35
  await expect(datetime).toHaveScreenshot(screenshot(`datetime-display-time`));
36
36
  });
@@ -38,7 +38,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
38
38
  await page.setContent(`
39
39
  <ion-datetime value="2022-02-22T16:30:00" presentation="date"></ion-datetime>
40
40
  `, config);
41
- await page.waitForSelector('.datetime-ready');
41
+ await page.locator('.datetime-ready').waitFor();
42
42
  const datetime = page.locator('ion-datetime');
43
43
  await expect(datetime).toHaveScreenshot(screenshot(`datetime-display-date`));
44
44
  });
@@ -56,7 +56,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
56
56
  await page.setContent(`
57
57
  <ion-datetime size="cover" value="2022-02-22T16:30:00" presentation="date-time"></ion-datetime>
58
58
  `, config);
59
- await page.waitForSelector('.datetime-ready');
59
+ await page.locator('.datetime-ready').waitFor();
60
60
  const datetime = page.locator('ion-datetime');
61
61
  await expect(datetime).toHaveScreenshot(screenshot(`datetime-display-cover-date-time`));
62
62
  });
@@ -64,7 +64,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
64
64
  await page.setContent(`
65
65
  <ion-datetime size="cover" value="2022-02-22T16:30:00" presentation="time-date"></ion-datetime>
66
66
  `, config);
67
- await page.waitForSelector('.datetime-ready');
67
+ await page.locator('.datetime-ready').waitFor();
68
68
  const datetime = page.locator('ion-datetime');
69
69
  await expect(datetime).toHaveScreenshot(screenshot(`datetime-display-cover-time-date`));
70
70
  });
@@ -72,7 +72,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
72
72
  await page.setContent(`
73
73
  <ion-datetime size="cover" value="2022-02-22T16:30:00" presentation="time"></ion-datetime>
74
74
  `, config);
75
- await page.waitForSelector('.datetime-ready');
75
+ await page.locator('.datetime-ready').waitFor();
76
76
  const datetime = page.locator('ion-datetime');
77
77
  await expect(datetime).toHaveScreenshot(screenshot(`datetime-display-cover-time`));
78
78
  });
@@ -80,7 +80,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
80
80
  await page.setContent(`
81
81
  <ion-datetime size="cover" value="2022-02-22T16:30:00" presentation="date"></ion-datetime>
82
82
  `, config);
83
- await page.waitForSelector('.datetime-ready');
83
+ await page.locator('.datetime-ready').waitFor();
84
84
  const datetime = page.locator('ion-datetime');
85
85
  await expect(datetime).toHaveScreenshot(screenshot(`datetime-display-cover-date`));
86
86
  });
@@ -96,7 +96,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
96
96
  test('month selection should work after changing presentation', async ({ page }) => {
97
97
  await page.goto('/src/components/datetime/test/display', config);
98
98
  const ionWorkingPartsDidChange = await page.spyOnEvent('ionWorkingPartsDidChange');
99
- await page.waitForSelector('.datetime-ready');
99
+ await page.locator('.datetime-ready').waitFor();
100
100
  const select = page.locator('select#presentation');
101
101
  await select.selectOption('date-time');
102
102
  await page.waitForChanges();
@@ -77,7 +77,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
77
77
  await page.setContent(`
78
78
  <ion-datetime locale="ar-EG" presentation="date" value="2022-01-01"></ion-datetime>
79
79
  `, config);
80
- await page.waitForSelector('.datetime-ready');
80
+ await page.locator('.datetime-ready').waitFor();
81
81
  const datetimeButtons = page.locator('ion-datetime .calendar-day:not([disabled])');
82
82
  await expect(datetimeButtons.nth(0)).toHaveText('١');
83
83
  await expect(datetimeButtons.nth(1)).toHaveText('٢');
@@ -87,7 +87,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
87
87
  await page.setContent(`
88
88
  <ion-datetime prefer-wheel="true" locale="ar-EG" presentation="date" value="2022-01-01"></ion-datetime>
89
89
  `, config);
90
- await page.waitForSelector('.datetime-ready');
90
+ await page.locator('.datetime-ready').waitFor();
91
91
  const datetimeYear = page.locator('ion-datetime .year-column .picker-item[data-value="2022"]');
92
92
  await expect(datetimeYear).toHaveText('٢٠٢٢');
93
93
  });
@@ -111,7 +111,7 @@ class DatetimeLocaleFixture {
111
111
  ></ion-datetime>
112
112
  `, config);
113
113
  this.datetime = this.page.locator('ion-datetime');
114
- await this.page.waitForSelector('.datetime-ready');
114
+ await this.page.locator('.datetime-ready').waitFor();
115
115
  }
116
116
  async expectLocalizedDatePicker(screenshot) {
117
117
  await this.expectLocalizedPicker(screenshot);
@@ -32,7 +32,7 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
32
32
  }
33
33
  </script>
34
34
  `, config);
35
- await page.waitForSelector('.datetime-ready');
35
+ await page.locator('.datetime-ready').waitFor();
36
36
  const prevButton = page.locator('ion-datetime .calendar-next-prev ion-button:nth-child(1)');
37
37
  const nextButton = page.locator('ion-datetime .calendar-next-prev ion-button:nth-child(2)');
38
38
  await expect(nextButton).toHaveJSProperty('disabled', false);
@@ -48,21 +48,21 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
48
48
  test('datetime: minmax months disabled', async ({ page }) => {
49
49
  await page.goto('/src/components/datetime/test/minmax', config);
50
50
  const calendarMonths = page.locator('ion-datetime#inside .calendar-month');
51
- await page.waitForSelector('.datetime-ready');
51
+ await page.locator('.datetime-ready').first().waitFor();
52
52
  await expect(calendarMonths.nth(0)).not.toHaveClass(/calendar-month-disabled/);
53
53
  await expect(calendarMonths.nth(1)).not.toHaveClass(/calendar-month-disabled/);
54
54
  await expect(calendarMonths.nth(2)).toHaveClass(/calendar-month-disabled/);
55
55
  });
56
56
  test('datetime: minmax navigation disabled', async ({ page }) => {
57
57
  await page.goto('/src/components/datetime/test/minmax', config);
58
- await page.waitForSelector('.datetime-ready');
58
+ await page.locator('.datetime-ready').first().waitFor();
59
59
  const navButtons = page.locator('ion-datetime#outside .calendar-next-prev ion-button');
60
60
  await expect(navButtons.nth(0)).toHaveAttribute('disabled', '');
61
61
  await expect(navButtons.nth(1)).toHaveAttribute('disabled', '');
62
62
  });
63
63
  test('datetime: min including day should not disable month', async ({ page }) => {
64
64
  await page.goto('/src/components/datetime/test/minmax', config);
65
- await page.waitForSelector('.datetime-ready');
65
+ await page.locator('.datetime-ready').first().waitFor();
66
66
  const calendarMonths = page.locator('ion-datetime#min-with-day .calendar-month');
67
67
  await expect(calendarMonths.nth(0)).toHaveClass(/calendar-month-disabled/);
68
68
  await expect(calendarMonths.nth(1)).not.toHaveClass(/calendar-month-disabled/);
@@ -77,7 +77,7 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
77
77
  await page.setContent(`
78
78
  <ion-datetime min="2022-04-22T04:10:00" max="2022-05-21T21:30:00"></ion-datetime>
79
79
  `, config);
80
- await page.waitForSelector('.datetime-ready');
80
+ await page.locator('.datetime-ready').waitFor();
81
81
  const ionPopoverDidPresent = await page.spyOnEvent('ionPopoverDidPresent');
82
82
  await page.click('.time-body');
83
83
  await ionPopoverDidPresent.next();
@@ -90,7 +90,7 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
90
90
  test.describe('setting value outside bounds should show in-bounds month', () => {
91
91
  const testDisplayedMonth = async (page, content, expectedString = /June 2021/) => {
92
92
  await page.setContent(content, config);
93
- await page.waitForSelector('.datetime-ready');
93
+ await page.locator('.datetime-ready').waitFor();
94
94
  const calendarMonthYear = page.locator('ion-datetime .calendar-month-year');
95
95
  await expect(calendarMonthYear).toHaveText(expectedString);
96
96
  };
@@ -126,7 +126,7 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
126
126
  });
127
127
  </script>
128
128
  `, config);
129
- await page.waitForSelector('.datetime-ready');
129
+ await page.locator('.datetime-ready').waitFor();
130
130
  const datetimeMonthDidChange = await page.spyOnEvent('datetimeMonthDidChange');
131
131
  const eventButton = page.locator('button#bind');
132
132
  await eventButton.click();
@@ -186,7 +186,7 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
186
186
  value="2022-10-11T06:00"
187
187
  ></ion-datetime>
188
188
  `, config);
189
- await page.waitForSelector('.datetime-ready');
189
+ await page.locator('.datetime-ready').waitFor();
190
190
  const datetime = page.locator('ion-datetime');
191
191
  const ionChange = await page.spyOnEvent('ionChange');
192
192
  const dayButton = page.locator('ion-datetime .calendar-day[data-day="10"][data-month="10"][data-year="2022"]');
@@ -201,7 +201,7 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
201
201
  value="2022-10-11T09:00"
202
202
  ></ion-datetime>
203
203
  `, config);
204
- await page.waitForSelector('.datetime-ready');
204
+ await page.locator('.datetime-ready').waitFor();
205
205
  const datetime = page.locator('ion-datetime');
206
206
  const ionChange = await page.spyOnEvent('ionChange');
207
207
  const dayButton = page.locator('ion-datetime .calendar-day[data-day="10"][data-month="10"][data-year="2022"]');
@@ -220,7 +220,7 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
220
220
  const datetime = page.locator('ion-datetime');
221
221
  const monthColumnItems = page.locator('ion-datetime .month-column .picker-item:not(.picker-item-empty)');
222
222
  const ionChange = await page.spyOnEvent('ionChange');
223
- await page.waitForSelector('.datetime-ready');
223
+ await page.locator('.datetime-ready').waitFor();
224
224
  await monthColumnItems.nth(0).click(); // switch to January
225
225
  await ionChange.next();
226
226
  await expect(datetime).toHaveJSProperty('value', '2022-01-15T00:00:00');
@@ -248,7 +248,7 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
248
248
  }
249
249
  </script>
250
250
  `, config);
251
- await page.waitForSelector('.datetime-ready');
251
+ await page.locator('.datetime-ready').waitFor();
252
252
  // Select Jan 10, 2022
253
253
  const maxDate = page.locator('ion-datetime .calendar-day[data-day="10"][data-month="1"][data-year="2022"]');
254
254
  await maxDate.click();
@@ -11,7 +11,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
11
11
  test.describe(title('datetime: month-year picker'), () => {
12
12
  test.beforeEach(async ({ page }) => {
13
13
  await page.goto('/src/components/datetime/test/month-year-picker', config);
14
- await page.waitForSelector('.datetime-ready');
14
+ await page.locator('.datetime-ready').first().waitFor();
15
15
  });
16
16
  test('should hide the footer when picker is open', async ({ page }) => {
17
17
  const datetimeFooter = page.locator('#date-time .datetime-footer');
@@ -5,7 +5,7 @@ import { expect } from "@playwright/test";
5
5
  import { configs, test } from "../../../../utils/test/playwright/index";
6
6
  const SINGLE_DATE = '2022-06-01';
7
7
  const MULTIPLE_DATES = ['2022-06-01', '2022-06-02', '2022-06-03'];
8
- const MULTIPLE_DATES_SEPARATE_MONTHS = ['2022-04-01', '2022-05-01', '2022-06-01'];
8
+ const MULTIPLE_DATES_SEPARATE_MONTHS = ['2022-03-01', '2022-04-01', '2022-05-01'];
9
9
  class DatetimeMultipleFixture {
10
10
  constructor(page) {
11
11
  this.page = page;
@@ -41,7 +41,7 @@ class DatetimeMultipleFixture {
41
41
  </script>
42
42
  `, config);
43
43
  this.datetime = this.page.locator('ion-datetime');
44
- await this.page.waitForSelector('.datetime-ready');
44
+ await this.page.locator('.datetime-ready').waitFor();
45
45
  return this.datetime;
46
46
  }
47
47
  async expectMultipleDatePicker(id, screenshot) {
@@ -118,10 +118,27 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
118
118
  value: ['2022-06-01', '2022-06-02'],
119
119
  });
120
120
  });
121
- test('multiple default values across months should display at least one value', async () => {
121
+ test('should scroll to new month when value is updated with multiple dates in the same month', async ({ page }) => {
122
+ test.info().annotations.push({
123
+ type: 'issue',
124
+ description: 'https://github.com/ionic-team/ionic-framework/issues/28602',
125
+ });
122
126
  const datetime = await datetimeFixture.goto(config, MULTIPLE_DATES_SEPARATE_MONTHS);
127
+ await datetime.evaluate((el, dates) => {
128
+ el.value = dates;
129
+ }, MULTIPLE_DATES);
130
+ await page.waitForChanges();
131
+ const monthYear = datetime.locator('.calendar-month-year');
132
+ await expect(monthYear).toHaveText(/June 2022/);
133
+ });
134
+ test('should not scroll to new month when value is updated with dates in different months', async ({ page }) => {
135
+ const datetime = await datetimeFixture.goto(config, MULTIPLE_DATES);
136
+ await datetime.evaluate((el, dates) => {
137
+ el.value = dates;
138
+ }, MULTIPLE_DATES_SEPARATE_MONTHS);
139
+ await page.waitForChanges();
123
140
  const monthYear = datetime.locator('.calendar-month-year');
124
- await expect(monthYear).toHaveText(/April 2022/);
141
+ await expect(monthYear).toHaveText(/June 2022/);
125
142
  });
126
143
  test('with buttons, should only update value when confirm is called', async ({ page }) => {
127
144
  const datetime = await datetimeFixture.goto(config, SINGLE_DATE, { showDefaultButtons: true });
@@ -216,7 +233,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
216
233
  }
217
234
  </script>
218
235
  `, config);
219
- await page.waitForSelector(`.datetime-ready`);
236
+ await page.locator(`.datetime-ready`).waitFor();
220
237
  const datetime = page.locator('ion-datetime');
221
238
  const header = datetime.locator('.datetime-selected-date');
222
239
  await expect(header).toHaveText('Mon, Oct 10');
@@ -11,7 +11,7 @@ configs().forEach(({ title, screenshot, config }) => {
11
11
  const openDateTimeBtn = page.locator('ion-button#open-datetime');
12
12
  await openDateTimeBtn.click();
13
13
  await ionPopoverDidPresent.next();
14
- await page.waitForSelector('.datetime-ready');
14
+ await page.locator('.datetime-ready').waitFor();
15
15
  await expect(page).toHaveScreenshot(screenshot(`datetime-position-base`));
16
16
  const timepickerBtn = page.locator('ion-datetime .time-body');
17
17
  await timepickerBtn.click();
@@ -21,28 +21,28 @@ configs().forEach(({ title, screenshot, config }) => {
21
21
  await page.setContent(`
22
22
  <ion-datetime size="cover" presentation="date" prefer-wheel="true" value="2019-05-30" max="2022"></ion-datetime>
23
23
  `, config);
24
- await page.waitForSelector('.datetime-ready');
24
+ await page.locator('.datetime-ready').waitFor();
25
25
  await expect(page).toHaveScreenshot(screenshot(`datetime-wheel-date-diff`));
26
26
  });
27
27
  test('should not have visual regressions for date-time wheel', async ({ page }) => {
28
28
  await page.setContent(`
29
29
  <ion-datetime size="cover" presentation="date-time" prefer-wheel="true" value="2019-05-30T16:30:00" max="2022"></ion-datetime>
30
30
  `, config);
31
- await page.waitForSelector('.datetime-ready');
31
+ await page.locator('.datetime-ready').waitFor();
32
32
  await expect(page).toHaveScreenshot(screenshot(`datetime-wheel-date-time-diff`));
33
33
  });
34
34
  test('should not have visual regressions for time-date wheel', async ({ page }) => {
35
35
  await page.setContent(`
36
36
  <ion-datetime size="cover" presentation="time-date" prefer-wheel="true" value="2019-05-30T16:30:00" max="2022"></ion-datetime>
37
37
  `, config);
38
- await page.waitForSelector('.datetime-ready');
38
+ await page.locator('.datetime-ready').waitFor();
39
39
  await expect(page).toHaveScreenshot(screenshot(`datetime-wheel-time-date-diff`));
40
40
  });
41
41
  test('should render a condense header when specified', async ({ page }) => {
42
42
  await page.setContent(`
43
43
  <ion-datetime size="cover" presentation="time-date" prefer-wheel="true" value="2019-05-30T16:30:00" max="2022"><div slot="title">My Custom Title</div></ion-datetime>
44
44
  `, config);
45
- await page.waitForSelector('.datetime-ready');
45
+ await page.locator('.datetime-ready').waitFor();
46
46
  const datetime = page.locator('ion-datetime');
47
47
  await expect(datetime).toHaveScreenshot(screenshot(`datetime-wheel-header-diff`));
48
48
  });
@@ -59,7 +59,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
59
59
  await page.setContent(`
60
60
  <ion-datetime presentation="date" prefer-wheel="true" min="2019-05-05" max="2023-10-01" value="2019-05-30"></ion-datetime>
61
61
  `, config);
62
- await page.waitForSelector('.datetime-ready');
62
+ await page.locator('.datetime-ready').waitFor();
63
63
  const dayValues = page.locator('ion-datetime .day-column .picker-item[data-value]');
64
64
  expect(await dayValues.count()).toEqual(27);
65
65
  });
@@ -67,7 +67,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
67
67
  await page.setContent(`
68
68
  <ion-datetime presentation="date" prefer-wheel="true" min="2019-05-05" max="2023-10-01" value="2023-10-01"></ion-datetime>
69
69
  `, config);
70
- await page.waitForSelector('.datetime-ready');
70
+ await page.locator('.datetime-ready').waitFor();
71
71
  const dayValues = page.locator('ion-datetime .day-column .picker-item[data-value]');
72
72
  expect(await dayValues.count()).toEqual(1);
73
73
  });
@@ -85,7 +85,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
85
85
  }
86
86
  </script>
87
87
  `, config);
88
- await page.waitForSelector('.datetime-ready');
88
+ await page.locator('.datetime-ready').waitFor();
89
89
  const disabledMonths = page.locator('.month-column .picker-item[disabled]');
90
90
  const disabledYears = page.locator('.year-column .picker-item[disabled]');
91
91
  const disabledDays = page.locator('.day-column .picker-item[disabled]');
@@ -104,7 +104,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
104
104
  year-values="2022,2020,2019"
105
105
  ></ion-datetime>
106
106
  `, config);
107
- await page.waitForSelector('.datetime-ready');
107
+ await page.locator('.datetime-ready').waitFor();
108
108
  const monthValues = page.locator('.month-column .picker-item:not(.picker-item-empty)');
109
109
  const yearValues = page.locator('.year-column .picker-item:not(.picker-item-empty)');
110
110
  const dayValues = page.locator('.day-column .picker-item:not(.picker-item-empty)');
@@ -132,7 +132,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
132
132
  }
133
133
  </script>
134
134
  `, config);
135
- await page.waitForSelector('.datetime-ready');
135
+ await page.locator('.datetime-ready').waitFor();
136
136
  const ionChange = await page.spyOnEvent('ionChange');
137
137
  const monthValues = page.locator('.month-column .picker-item:not(.picker-item-empty)');
138
138
  // Change month value
@@ -159,7 +159,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
159
159
  }
160
160
  </script>
161
161
  `, config);
162
- await page.waitForSelector('.datetime-ready');
162
+ await page.locator('.datetime-ready').waitFor();
163
163
  const ionChange = await page.spyOnEvent('ionChange');
164
164
  const dayValues = page.locator('.day-column .picker-item:not(.picker-item-empty)');
165
165
  // Change day value
@@ -173,7 +173,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
173
173
  prefer-wheel="true"
174
174
  ></ion-datetime>
175
175
  `, config);
176
- await page.waitForSelector('.datetime-ready');
176
+ await page.locator('.datetime-ready').waitFor();
177
177
  const ionChange = await page.spyOnEvent('ionChange');
178
178
  const yearValues = page.locator('.year-column .picker-item:not(.picker-item-empty)');
179
179
  /**
@@ -188,7 +188,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
188
188
  await page.setContent(`
189
189
  <ion-datetime presentation="date" prefer-wheel="true" min="2019-05-05" max="2023-10-01" value="2019-05-30"></ion-datetime>
190
190
  `, config);
191
- await page.waitForSelector('.datetime-ready');
191
+ await page.locator('.datetime-ready').waitFor();
192
192
  const datetime = page.locator('ion-datetime');
193
193
  await datetime.evaluate((el) => (el.value = '2021-05-25T12:40:00.000Z'));
194
194
  await page.waitForChanges();
@@ -212,7 +212,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
212
212
  value="2022-01-01"
213
213
  ></ion-datetime>
214
214
  `, config);
215
- await page.waitForSelector('.datetime-ready');
215
+ await page.locator('.datetime-ready').waitFor();
216
216
  const monthValues = page.locator('.month-column .picker-item:not(.picker-item-empty)');
217
217
  const dayValues = page.locator('.day-column .picker-item:not(.picker-item-empty)');
218
218
  await expect(monthValues).toHaveText(['1月', '2月', '3月']);
@@ -227,7 +227,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
227
227
  value="2022-01-01"
228
228
  ></ion-datetime>
229
229
  `, config);
230
- await page.waitForSelector('.datetime-ready');
230
+ await page.locator('.datetime-ready').waitFor();
231
231
  const columns = page.locator('ion-picker-column-internal');
232
232
  await expect(columns.nth(0)).toHaveClass(/month-column/);
233
233
  await expect(columns.nth(1)).toHaveClass(/day-column/);
@@ -242,7 +242,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
242
242
  value="2022-01-01"
243
243
  ></ion-datetime>
244
244
  `, config);
245
- await page.waitForSelector('.datetime-ready');
245
+ await page.locator('.datetime-ready').waitFor();
246
246
  const columns = page.locator('ion-picker-column-internal');
247
247
  await expect(columns.nth(0)).toHaveClass(/day-column/);
248
248
  await expect(columns.nth(1)).toHaveClass(/month-column/);
@@ -255,7 +255,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
255
255
  await page.setContent(`
256
256
  <ion-datetime presentation="date-time" prefer-wheel="true" min="2019-05-05" value="2019-05-10T16:30:00"></ion-datetime>
257
257
  `, config);
258
- await page.waitForSelector('.datetime-ready');
258
+ await page.locator('.datetime-ready').waitFor();
259
259
  const dayValues = page.locator('ion-datetime .date-column .picker-item[data-value]');
260
260
  expect(await dayValues.count()).toEqual(57);
261
261
  });
@@ -263,7 +263,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
263
263
  await page.setContent(`
264
264
  <ion-datetime presentation="date-time" prefer-wheel="true" max="2023-06-10" value="2023-06-05T16:30:00"></ion-datetime>
265
265
  `, config);
266
- await page.waitForSelector('.datetime-ready');
266
+ await page.locator('.datetime-ready').waitFor();
267
267
  const dayValues = page.locator('ion-datetime .date-column .picker-item[data-value]');
268
268
  expect(await dayValues.count()).toEqual(41);
269
269
  });
@@ -281,7 +281,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
281
281
  }
282
282
  </script>
283
283
  `, config);
284
- await page.waitForSelector('.datetime-ready');
284
+ await page.locator('.datetime-ready').waitFor();
285
285
  const disabledDates = page.locator('.date-column .picker-item[disabled]');
286
286
  expect(await disabledDates.count()).toBe(44);
287
287
  });
@@ -296,7 +296,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
296
296
  year-values="2022,2020,2019"
297
297
  ></ion-datetime>
298
298
  `, config);
299
- await page.waitForSelector('.datetime-ready');
299
+ await page.locator('.datetime-ready').waitFor();
300
300
  const dateValues = page.locator('.date-column .picker-item:not(.picker-item-empty)');
301
301
  expect(await dateValues.count()).toBe(5);
302
302
  });
@@ -311,7 +311,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
311
311
  value="2022-02-01"
312
312
  ></ion-datetime>
313
313
  `, config);
314
- await page.waitForSelector('.datetime-ready');
314
+ await page.locator('.datetime-ready').waitFor();
315
315
  const dateValues = page.locator('.date-column .picker-item:not(.picker-item-empty)');
316
316
  await expect(dateValues).toHaveText(['2月1日(火)', '2月2日(水)', '2月3日(木)']);
317
317
  });
@@ -325,7 +325,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
325
325
  max="2023-01-01"
326
326
  ></ion-datetime>
327
327
  `, config);
328
- await page.waitForSelector('.datetime-ready');
328
+ await page.locator('.datetime-ready').waitFor();
329
329
  const dateColumn = page.locator('.date-column');
330
330
  const dateValues = dateColumn.locator('.picker-item:not(.picker-item-empty)');
331
331
  expect(await dateValues.count()).toBe(90);
@@ -347,7 +347,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
347
347
  min="2010-01-01"
348
348
  ></ion-datetime>
349
349
  `, config);
350
- await page.waitForSelector('.datetime-ready');
350
+ await page.locator('.datetime-ready').waitFor();
351
351
  const dayValues = page.locator('.date-column .picker-item:not(.picker-item-empty)');
352
352
  expect(await dayValues.count()).toBe(92);
353
353
  });
@@ -361,7 +361,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
361
361
  min="2022-05-01"
362
362
  ></ion-datetime>
363
363
  `, config);
364
- await page.waitForSelector('.datetime-ready');
364
+ await page.locator('.datetime-ready').waitFor();
365
365
  const dayValues = page.locator('.date-column .picker-item:not(.picker-item-empty)');
366
366
  expect(await dayValues.count()).toBe(15);
367
367
  });
@@ -372,7 +372,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
372
372
  prefer-wheel="true"
373
373
  ></ion-datetime>
374
374
  `, config);
375
- await page.waitForSelector('.datetime-ready');
375
+ await page.locator('.datetime-ready').waitFor();
376
376
  const ionChange = await page.spyOnEvent('ionChange');
377
377
  const dayValues = page.locator('.date-column .picker-item:not(.picker-item-empty)');
378
378
  // Change day/month value
@@ -385,7 +385,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
385
385
  await page.setContent(`
386
386
  <ion-datetime presentation="time-date" prefer-wheel="true" min="2019-05-05" value="2019-05-10T16:30:00"></ion-datetime>
387
387
  `, config);
388
- await page.waitForSelector('.datetime-ready');
388
+ await page.locator('.datetime-ready').waitFor();
389
389
  const dayValues = page.locator('ion-datetime .date-column .picker-item[data-value]');
390
390
  expect(await dayValues.count()).toEqual(57);
391
391
  });
@@ -393,7 +393,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
393
393
  await page.setContent(`
394
394
  <ion-datetime presentation="time-date" prefer-wheel="true" max="2023-06-10" value="2023-06-05T16:30:00"></ion-datetime>
395
395
  `, config);
396
- await page.waitForSelector('.datetime-ready');
396
+ await page.locator('.datetime-ready').waitFor();
397
397
  const dayValues = page.locator('ion-datetime .date-column .picker-item[data-value]');
398
398
  expect(await dayValues.count()).toEqual(41);
399
399
  });
@@ -411,7 +411,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
411
411
  }
412
412
  </script>
413
413
  `, config);
414
- await page.waitForSelector('.datetime-ready');
414
+ await page.locator('.datetime-ready').waitFor();
415
415
  const disabledDates = page.locator('.date-column .picker-item[disabled]');
416
416
  expect(await disabledDates.count()).toBe(44);
417
417
  });
@@ -426,7 +426,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
426
426
  year-values="2022,2020,2019"
427
427
  ></ion-datetime>
428
428
  `, config);
429
- await page.waitForSelector('.datetime-ready');
429
+ await page.locator('.datetime-ready').waitFor();
430
430
  const dateValues = page.locator('.date-column .picker-item:not(.picker-item-empty)');
431
431
  expect(await dateValues.count()).toBe(5);
432
432
  });
@@ -441,7 +441,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
441
441
  value="2022-02-01"
442
442
  ></ion-datetime>
443
443
  `, config);
444
- await page.waitForSelector('.datetime-ready');
444
+ await page.locator('.datetime-ready').waitFor();
445
445
  const dateValues = page.locator('.date-column .picker-item:not(.picker-item-empty)');
446
446
  await expect(dateValues).toHaveText(['2月1日(火)', '2月2日(水)', '2月3日(木)']);
447
447
  });
@@ -455,7 +455,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
455
455
  max="2023-01-01"
456
456
  ></ion-datetime>
457
457
  `, config);
458
- await page.waitForSelector('.datetime-ready');
458
+ await page.locator('.datetime-ready').waitFor();
459
459
  const dateColumn = page.locator('.date-column');
460
460
  const dateValues = dateColumn.locator('.picker-item:not(.picker-item-empty)');
461
461
  expect(await dateValues.count()).toBe(90);
@@ -477,7 +477,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
477
477
  min="2010-01-01"
478
478
  ></ion-datetime>
479
479
  `, config);
480
- await page.waitForSelector('.datetime-ready');
480
+ await page.locator('.datetime-ready').waitFor();
481
481
  const dayValues = page.locator('.date-column .picker-item:not(.picker-item-empty)');
482
482
  expect(await dayValues.count()).toBe(92);
483
483
  });
@@ -491,7 +491,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
491
491
  min="2022-05-01"
492
492
  ></ion-datetime>
493
493
  `, config);
494
- await page.waitForSelector('.datetime-ready');
494
+ await page.locator('.datetime-ready').waitFor();
495
495
  const dayValues = page.locator('.date-column .picker-item:not(.picker-item-empty)');
496
496
  expect(await dayValues.count()).toBe(15);
497
497
  });
@@ -85,7 +85,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
85
85
  await page.setContent(`
86
86
  <ion-datetime presentation="date"></ion-datetime>
87
87
  `, config);
88
- await page.waitForSelector('.datetime-ready');
88
+ await page.locator('.datetime-ready').waitFor();
89
89
  const datetime = page.locator('ion-datetime');
90
90
  const monthYearButton = page.locator('ion-datetime .calendar-month-year');
91
91
  await monthYearButton.click();
@@ -136,7 +136,7 @@ class DatetimePresentationFixture {
136
136
  await this.page.setContent(`
137
137
  <ion-datetime presentation="${presentation}" value="2010-03-10T13:00:00"></ion-datetime>
138
138
  `, config);
139
- await this.page.waitForSelector('.datetime-ready');
139
+ await this.page.locator('.datetime-ready').waitFor();
140
140
  this.datetime = this.page.locator('ion-datetime');
141
141
  }
142
142
  async screenshot(name, screenshotFn) {
@@ -151,7 +151,7 @@ class TimePickerFixture {
151
151
  await this.page.setContent(`
152
152
  <ion-datetime presentation="time" value="${value}"></ion-datetime>
153
153
  `, config);
154
- await this.page.waitForSelector('.datetime-ready');
154
+ await this.page.locator('.datetime-ready').waitFor();
155
155
  this.timePicker = this.page.locator('ion-datetime');
156
156
  }
157
157
  async setValue(value) {
@@ -20,7 +20,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config, scree
20
20
  await page.setContent(`
21
21
  <ion-datetime value="2022-02-28" readonly></ion-datetime>
22
22
  `, config);
23
- await page.waitForSelector('.datetime-ready');
23
+ await page.locator('.datetime-ready').waitFor();
24
24
  const febFirstButton = page.locator(`.calendar-day[data-day='1'][data-month='2']`);
25
25
  await expect(febFirstButton).toBeDisabled();
26
26
  });
@@ -29,7 +29,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config, scree
29
29
  <ion-datetime value="2022-02-22T16:30:00" readonly></ion-datetime>
30
30
  `, config);
31
31
  const ionChange = await page.spyOnEvent('ionChange');
32
- await page.waitForSelector('.datetime-ready');
32
+ await page.locator('.datetime-ready').waitFor();
33
33
  const calendarMonthYear = page.locator('ion-datetime .calendar-month-year');
34
34
  await expect(calendarMonthYear).toHaveText('February 2022');
35
35
  await calendarMonthYear.click();
@@ -44,7 +44,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config, scree
44
44
  <ion-datetime value="2022-02-22T16:30:00" readonly></ion-datetime>
45
45
  `, config);
46
46
  const tabKey = browserName === 'webkit' ? 'Alt+Tab' : 'Tab';
47
- await page.waitForSelector('.datetime-ready');
47
+ await page.locator('.datetime-ready').waitFor();
48
48
  const calendarMonthYear = page.locator('ion-datetime .calendar-month-year');
49
49
  const monthYearButton = page.locator('.calendar-month-year ion-item');
50
50
  await expect(calendarMonthYear).toHaveText('February 2022');
@@ -105,7 +105,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config, scree
105
105
 
106
106
  <ion-datetime value="2022-02-22T16:30:00" show-default-buttons="true" show-clear-button="true" readonly></ion-datetime>
107
107
  `, config);
108
- await page.waitForSelector('.datetime-ready');
108
+ await page.locator('.datetime-ready').waitFor();
109
109
  const clearButton = page.locator('#clear-button button');
110
110
  await expect(clearButton).toBeDisabled();
111
111
  });