@ionic/core 7.6.2-dev.11702914017.1ae72da5 → 7.6.2-dev.11702924017.193c825c
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.
- package/components/action-sheet.js +4 -4
- package/components/backdrop.js +0 -12
- package/components/button-active.js +1 -1
- package/components/button.js +2 -2
- package/components/data.js +1 -1
- package/components/gesture-controller.js +1 -1
- package/components/ion-content.js +1 -1
- package/components/ion-datetime.js +40 -64
- package/components/ion-picker-column-option.d.ts +11 -0
- package/components/ion-picker-column-option.js +9 -0
- package/components/ion-picker-column.js +2 -2
- package/components/ion-picker-legacy-column.d.ts +11 -0
- package/components/ion-picker-legacy-column.js +9 -0
- package/components/{ion-picker-internal.d.ts → ion-picker-legacy.d.ts} +4 -4
- package/components/ion-picker-legacy.js +309 -0
- package/components/ion-picker.js +1 -309
- package/components/overlays.js +11 -4
- package/components/picker-column-option.js +122 -0
- package/components/picker-column.js +351 -322
- package/components/picker-column2.js +379 -0
- package/components/{picker-internal.js → picker.js} +29 -22
- package/dist/cjs/{button-active-962fe442.js → button-active-466dfc8a.js} +2 -2
- package/dist/cjs/{data-a5109f09.js → data-e2bf21de.js} +1 -1
- package/dist/cjs/{gesture-controller-c40c045a.js → gesture-controller-9436f482.js} +1 -0
- package/dist/cjs/{index-d1b59ffa.js → index-ee07ed59.js} +1 -1
- package/dist/cjs/index.cjs.js +3 -3
- package/dist/cjs/ion-action-sheet.cjs.entry.js +8 -8
- package/dist/cjs/ion-alert.cjs.entry.js +4 -4
- package/dist/cjs/ion-app_8.cjs.entry.js +2 -2
- package/dist/cjs/ion-backdrop.cjs.entry.js +0 -12
- package/dist/cjs/ion-button_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-datetime-button.cjs.entry.js +1 -1
- package/dist/cjs/ion-datetime_3.cjs.entry.js +36 -56
- package/dist/cjs/ion-item-option_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-loading.cjs.entry.js +2 -1
- package/dist/cjs/ion-menu_3.cjs.entry.js +3 -3
- package/dist/cjs/ion-modal.cjs.entry.js +3 -3
- package/dist/cjs/ion-nav_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +104 -0
- package/dist/cjs/{ion-picker-column-internal.cjs.entry.js → ion-picker-column.cjs.entry.js} +104 -87
- package/dist/cjs/{ion-picker-internal.cjs.entry.js → ion-picker.cjs.entry.js} +26 -19
- package/dist/cjs/ion-popover.cjs.entry.js +2 -1
- package/dist/cjs/ion-range.cjs.entry.js +1 -1
- package/dist/cjs/ion-refresher_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-reorder_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-segment_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-select_3.cjs.entry.js +2 -1
- package/dist/cjs/ion-toast.cjs.entry.js +3 -3
- package/dist/cjs/ion-toggle.cjs.entry.js +1 -1
- package/dist/cjs/ionic.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{overlays-e77cc023.js → overlays-7773cbe1.js} +11 -4
- package/dist/cjs/{swipe-back-2a858bbd.js → swipe-back-b8f2330b.js} +2 -2
- package/dist/collection/collection-manifest.json +7 -6
- package/dist/collection/components/action-sheet/action-sheet.ios.css +9 -2
- package/dist/collection/components/action-sheet/action-sheet.js +2 -2
- package/dist/collection/components/action-sheet/action-sheet.md.css +9 -2
- package/dist/collection/components/action-sheet/test/basic/action-sheet-rendering.e2e.js +20 -0
- package/dist/collection/components/backdrop/backdrop.js +0 -12
- package/dist/collection/components/button/button.ios.css +1 -1
- package/dist/collection/components/button/button.md.css +1 -1
- package/dist/collection/components/button/test/wrap/button.e2e.js +12 -24
- package/dist/collection/components/content/content.css +0 -4
- package/dist/collection/components/datetime/datetime.ios.css +91 -38
- package/dist/collection/components/datetime/datetime.js +24 -36
- package/dist/collection/components/datetime/datetime.md.css +96 -38
- package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +1 -1
- package/dist/collection/components/datetime/test/a11y/datetime.spec.js +6 -9
- package/dist/collection/components/datetime/test/basic/datetime.e2e.js +10 -0
- package/dist/collection/components/datetime/test/datetime.e2e.js +2 -2
- package/dist/collection/components/datetime/test/disabled/datetime.spec.js +4 -4
- package/dist/collection/components/datetime/test/locale/datetime.e2e.js +2 -2
- package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +6 -6
- package/dist/collection/components/datetime/test/month-year-picker/datetime.e2e.js +1 -1
- package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +43 -41
- package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +1 -1
- package/dist/collection/components/datetime/test/readonly/datetime.e2e.js +4 -4
- package/dist/collection/components/datetime/test/values/datetime.e2e.js +15 -12
- package/dist/collection/components/datetime/utils/data.js +1 -1
- package/dist/collection/components/picker/picker.ios.css +112 -211
- package/dist/collection/components/picker/picker.js +472 -744
- package/dist/collection/components/picker/picker.md.css +108 -198
- package/dist/collection/components/{picker-internal/test/a11y/picker-internal.e2e.js → picker/test/a11y/picker.e2e.js} +2 -2
- package/dist/collection/components/picker/test/basic/picker.e2e.js +99 -13
- package/dist/collection/components/picker/test/custom/picker.e2e.js +85 -0
- package/dist/collection/components/{picker-internal/test/keyboard-entry/picker-internal.e2e.js → picker/test/keyboard-entry/picker.e2e.js} +63 -32
- package/dist/collection/components/{picker-column-internal/picker-column-internal.md.css → picker-column/picker-column.css} +96 -83
- package/dist/collection/components/picker-column/picker-column.js +497 -335
- package/dist/collection/components/{picker-column-internal/test/basic/picker-column-internal.e2e.js → picker-column/test/basic/picker-column.e2e.js} +8 -8
- package/dist/collection/components/picker-column/test/disabled/picker-column.e2e.js +91 -0
- package/dist/collection/components/picker-column/test/slots/picker-column.e2e.js +39 -0
- package/dist/collection/components/picker-column-option/picker-column-option.ios.css +87 -0
- package/dist/collection/components/picker-column-option/picker-column-option.js +173 -0
- package/dist/collection/components/{picker-column-internal/picker-column-internal.ios.css → picker-column-option/picker-column-option.md.css} +6 -53
- package/dist/collection/components/picker-column-option/test/a11y/picker-column-option.e2e.js +18 -0
- package/dist/collection/components/picker-column-option/test/basic/picker-column-option.e2e.js +37 -0
- package/dist/collection/components/picker-column-option/test/picker-column-option.spec.js +29 -0
- package/dist/collection/components/{picker-internal/picker-internal.md.css → picker-legacy/picker.ios.css} +207 -98
- package/dist/collection/components/picker-legacy/picker.js +817 -0
- package/dist/collection/components/{picker-internal/picker-internal.ios.css → picker-legacy/picker.md.css} +192 -100
- package/dist/collection/components/picker-legacy/test/basic/picker.e2e.js +25 -0
- package/dist/collection/components/{picker → picker-legacy}/test/is-open/picker.e2e.js +4 -4
- package/dist/collection/components/{picker → picker-legacy}/test/picker-id.spec.js +5 -5
- package/dist/collection/components/{picker → picker-legacy}/test/trigger/picker.e2e.js +1 -1
- package/dist/collection/components/picker-legacy-column/picker-column.js +419 -0
- package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column-aria.spec.js +3 -3
- package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column-dynamic.spec.js +2 -2
- package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column.spec.js +2 -2
- package/dist/collection/components/{picker-column → picker-legacy-column}/test/standalone/picker-column.e2e.js +3 -3
- package/dist/collection/components/refresher/refresher.js +0 -3
- package/dist/collection/utils/gesture/button-active.js +1 -1
- package/dist/collection/utils/gesture/gesture-controller.js +1 -1
- package/dist/collection/utils/overlays.js +11 -4
- package/dist/collection/utils/test/overlays/overlays-scroll-blocking.spec.js +65 -0
- package/dist/docs.json +485 -69
- package/dist/esm/{button-active-308d3edd.js → button-active-2758ff14.js} +2 -2
- package/dist/esm/{data-775093f5.js → data-6a31d701.js} +1 -1
- package/dist/esm/{gesture-controller-1bf57181.js → gesture-controller-314a54f6.js} +1 -1
- package/dist/esm/{index-2cf77112.js → index-39782642.js} +2 -2
- package/dist/esm/index.js +3 -3
- package/dist/esm/ion-action-sheet.entry.js +8 -8
- package/dist/esm/ion-alert.entry.js +4 -4
- package/dist/esm/ion-app_8.entry.js +2 -2
- package/dist/esm/ion-backdrop.entry.js +0 -12
- package/dist/esm/ion-button_2.entry.js +2 -2
- package/dist/esm/ion-datetime-button.entry.js +1 -1
- package/dist/esm/ion-datetime_3.entry.js +35 -55
- package/dist/esm/ion-item-option_3.entry.js +1 -1
- package/dist/esm/ion-loading.entry.js +2 -1
- package/dist/esm/ion-menu_3.entry.js +3 -3
- package/dist/esm/ion-modal.entry.js +3 -3
- package/dist/esm/ion-nav_2.entry.js +1 -1
- package/dist/esm/ion-picker-column-option.entry.js +100 -0
- package/dist/esm/{ion-picker-column-internal.entry.js → ion-picker-column.entry.js} +104 -87
- package/dist/esm/{ion-picker-internal.entry.js → ion-picker.entry.js} +26 -19
- package/dist/esm/ion-popover.entry.js +2 -1
- package/dist/esm/ion-range.entry.js +1 -1
- package/dist/esm/ion-refresher_2.entry.js +3 -3
- package/dist/esm/ion-reorder_2.entry.js +1 -1
- package/dist/esm/ion-segment_2.entry.js +1 -1
- package/dist/esm/ion-select_3.entry.js +2 -1
- package/dist/esm/ion-toast.entry.js +3 -3
- package/dist/esm/ion-toggle.entry.js +1 -1
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{overlays-b33f6bca.js → overlays-94dac1cb.js} +11 -4
- package/dist/esm/{swipe-back-a6f386fc.js → swipe-back-a8ca7f93.js} +2 -2
- package/dist/esm-es5/button-active-2758ff14.js +4 -0
- package/dist/esm-es5/{gesture-controller-1bf57181.js → gesture-controller-314a54f6.js} +1 -1
- package/dist/esm-es5/{index-2cf77112.js → index-39782642.js} +1 -1
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
- package/dist/esm-es5/ion-alert.entry.js +1 -1
- package/dist/esm-es5/ion-app_8.entry.js +1 -1
- package/dist/esm-es5/ion-backdrop.entry.js +1 -1
- package/dist/esm-es5/ion-button_2.entry.js +1 -1
- package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
- package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
- package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
- package/dist/esm-es5/ion-loading.entry.js +1 -1
- package/dist/esm-es5/ion-menu_3.entry.js +1 -1
- package/dist/esm-es5/ion-modal.entry.js +1 -1
- package/dist/esm-es5/ion-nav_2.entry.js +1 -1
- package/dist/esm-es5/ion-picker-column-option.entry.js +4 -0
- package/dist/esm-es5/ion-picker-column.entry.js +4 -0
- package/dist/esm-es5/ion-picker.entry.js +4 -0
- package/dist/esm-es5/ion-popover.entry.js +1 -1
- package/dist/esm-es5/ion-range.entry.js +1 -1
- package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
- package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
- package/dist/esm-es5/ion-segment_2.entry.js +1 -1
- package/dist/esm-es5/ion-select_3.entry.js +1 -1
- package/dist/esm-es5/ion-toast.entry.js +1 -1
- package/dist/esm-es5/ion-toggle.entry.js +1 -1
- package/dist/esm-es5/ionic.js +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/overlays-94dac1cb.js +4 -0
- package/dist/esm-es5/swipe-back-a8ca7f93.js +4 -0
- package/dist/html.html-data.json +152 -13
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-96d4814f.system.entry.js → p-0e908476.system.entry.js} +1 -1
- package/dist/ionic/{p-11786dc7.entry.js → p-10339dcc.entry.js} +1 -1
- package/dist/ionic/{p-f2bfd3d7.entry.js → p-13d4dfe7.entry.js} +1 -1
- package/dist/ionic/p-19d9ceb8.system.js +1 -1
- package/dist/ionic/{p-afa9f205.system.js → p-1ab2642a.system.js} +1 -1
- package/dist/ionic/{p-11a3973f.entry.js → p-1b14f0f8.entry.js} +1 -1
- package/dist/ionic/{p-c5acfeb1.entry.js → p-20755eb0.entry.js} +1 -1
- package/dist/ionic/{p-c7c8429a.system.js → p-20d469d0.system.js} +1 -1
- package/dist/ionic/{p-6b0ce9b4.system.entry.js → p-25312768.system.entry.js} +1 -1
- package/dist/ionic/p-26ff1180.entry.js +4 -0
- package/dist/ionic/p-2f449cdf.system.entry.js +4 -0
- package/dist/ionic/p-3717e641.system.entry.js +4 -0
- package/dist/ionic/{p-745e3339.system.entry.js → p-3af5faf8.system.entry.js} +1 -1
- package/dist/ionic/{p-dc71e4ef.system.entry.js → p-3b434dee.system.entry.js} +1 -1
- package/dist/ionic/{p-c1701827.entry.js → p-3dc1b0f9.entry.js} +1 -1
- package/dist/ionic/{p-31b2326e.system.js → p-3e1e14d9.system.js} +1 -1
- package/dist/ionic/{p-a42ef163.system.entry.js → p-4793c14c.system.entry.js} +1 -1
- package/dist/ionic/p-51abefb7.system.js +4 -0
- package/dist/ionic/{p-10ec9af7.system.entry.js → p-5ff211d0.system.entry.js} +1 -1
- package/dist/ionic/{p-1b27ac67.entry.js → p-642ac927.entry.js} +1 -1
- package/dist/ionic/{p-a821750c.system.entry.js → p-6e4c7340.system.entry.js} +1 -1
- package/dist/ionic/p-71483cbb.entry.js +4 -0
- package/dist/ionic/p-73fbf18d.entry.js +4 -0
- package/dist/ionic/p-75a3e35b.entry.js +4 -0
- package/dist/ionic/p-77d78f68.system.entry.js +4 -0
- package/dist/ionic/p-7c0d778d.system.js +4 -0
- package/dist/ionic/p-80ad9792.system.js +4 -0
- package/dist/ionic/p-85a67421.system.entry.js +4 -0
- package/dist/ionic/p-8ad6d643.entry.js +4 -0
- package/dist/ionic/{p-f5d2dc9b.js → p-8ededb41.js} +1 -1
- package/dist/ionic/p-9164a09d.entry.js +4 -0
- package/dist/ionic/{p-b964aba3.entry.js → p-92bfb607.entry.js} +1 -1
- package/dist/ionic/{p-9fda6824.system.entry.js → p-964dcdb2.system.entry.js} +1 -1
- package/dist/ionic/{p-bb3615f7.js → p-9b97df10.js} +1 -1
- package/dist/ionic/p-a1bd098f.system.entry.js +4 -0
- package/dist/ionic/p-a41eaff2.system.entry.js +4 -0
- package/dist/ionic/p-a60a1ce5.js +4 -0
- package/dist/ionic/{p-2a583966.entry.js → p-b2b5d761.entry.js} +1 -1
- package/dist/ionic/{p-767f1a92.entry.js → p-ba5d9e27.entry.js} +1 -1
- package/dist/ionic/{p-3e8d5e53.entry.js → p-bb3fd397.entry.js} +1 -1
- package/dist/ionic/{p-a3ca2e64.entry.js → p-bec6ae40.entry.js} +1 -1
- package/dist/ionic/{p-2df97906.system.entry.js → p-beed2450.system.entry.js} +1 -1
- package/dist/ionic/p-c001b24f.entry.js +4 -0
- package/dist/ionic/{p-2894d5f6.entry.js → p-c01803db.entry.js} +1 -1
- package/dist/ionic/p-c19bf524.entry.js +4 -0
- package/dist/ionic/p-c6176849.system.entry.js +4 -0
- package/dist/ionic/p-cf350317.entry.js +4 -0
- package/dist/ionic/{p-28740823.system.entry.js → p-d2634efe.system.entry.js} +1 -1
- package/dist/ionic/p-d3525765.js +4 -0
- package/dist/ionic/{p-ddd48faf.system.entry.js → p-db05ecb6.system.entry.js} +1 -1
- package/dist/ionic/p-dc63dccb.system.entry.js +4 -0
- package/dist/ionic/{p-22827063.system.entry.js → p-e2737fef.system.entry.js} +1 -1
- package/dist/ionic/{p-aee39e06.entry.js → p-ed8402d6.entry.js} +1 -1
- package/dist/ionic/p-f0717d98.js +4 -0
- package/dist/ionic/p-f0dea903.system.entry.js +4 -0
- package/dist/ionic/p-f60807dd.system.entry.js +4 -0
- package/dist/ionic/{p-06abe918.system.entry.js → p-f6cae0b2.system.entry.js} +1 -1
- package/dist/ionic/p-f8c5008f.entry.js +4 -0
- package/dist/types/components/action-sheet/action-sheet-interface.d.ts +1 -0
- package/dist/types/components/backdrop/backdrop.d.ts +0 -3
- package/dist/types/components/datetime/datetime.d.ts +0 -1
- package/dist/types/components/datetime/utils/data.d.ts +11 -7
- package/dist/types/components/menu/menu.d.ts +1 -1
- package/dist/types/components/picker/picker-interfaces.d.ts +8 -0
- package/dist/types/components/picker/picker.d.ts +75 -129
- package/dist/types/components/picker-column/picker-column-interfaces.d.ts +4 -0
- package/dist/types/components/picker-column/picker-column.d.ts +99 -39
- package/dist/types/components/picker-column-option/picker-column-option.d.ts +66 -0
- package/dist/types/components/picker-legacy/picker.d.ts +158 -0
- package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
- package/dist/types/components/refresher/refresher.d.ts +0 -3
- package/dist/types/components.d.ts +154 -130
- package/dist/types/interface.d.ts +1 -1
- package/dist/types/utils/config.d.ts +2 -2
- package/dist/types/utils/gesture/gesture-controller.d.ts +1 -0
- package/dist/types/utils/overlays.d.ts +5 -2
- package/hydrate/index.js +1500 -1402
- package/package.json +1 -1
- package/components/ion-picker-column-internal.d.ts +0 -11
- package/components/ion-picker-column-internal.js +0 -9
- package/components/ion-picker-internal.js +0 -9
- package/components/picker-column-internal.js +0 -390
- package/dist/collection/components/picker-column-internal/picker-column-internal.js +0 -565
- package/dist/collection/components/picker-column-internal/test/disabled/picker-column-internal.e2e.js +0 -162
- package/dist/collection/components/picker-internal/picker-internal.js +0 -544
- package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +0 -118
- package/dist/esm-es5/button-active-308d3edd.js +0 -4
- package/dist/esm-es5/ion-picker-column-internal.entry.js +0 -4
- package/dist/esm-es5/ion-picker-internal.entry.js +0 -4
- package/dist/esm-es5/overlays-b33f6bca.js +0 -4
- package/dist/esm-es5/swipe-back-a6f386fc.js +0 -4
- package/dist/ionic/p-0235067a.js +0 -4
- package/dist/ionic/p-12a62500.entry.js +0 -4
- package/dist/ionic/p-1c249831.entry.js +0 -4
- package/dist/ionic/p-35ce400e.system.js +0 -4
- package/dist/ionic/p-3671f1b9.system.js +0 -4
- package/dist/ionic/p-47bb15a1.entry.js +0 -4
- package/dist/ionic/p-4d145435.entry.js +0 -4
- package/dist/ionic/p-507ddbfe.system.entry.js +0 -4
- package/dist/ionic/p-648ad047.system.entry.js +0 -4
- package/dist/ionic/p-6a6477b2.js +0 -4
- package/dist/ionic/p-6ab03751.js +0 -4
- package/dist/ionic/p-6c277fa2.system.entry.js +0 -4
- package/dist/ionic/p-6fba0ce1.system.entry.js +0 -4
- package/dist/ionic/p-7dc892f8.entry.js +0 -4
- package/dist/ionic/p-85f48531.entry.js +0 -4
- package/dist/ionic/p-8f301ac5.system.entry.js +0 -4
- package/dist/ionic/p-932f2259.system.entry.js +0 -4
- package/dist/ionic/p-b1f29949.system.entry.js +0 -4
- package/dist/ionic/p-b7a2ffc9.system.entry.js +0 -4
- package/dist/ionic/p-cd1b920b.entry.js +0 -4
- package/dist/ionic/p-da5e2652.entry.js +0 -4
- package/dist/ionic/p-ec652bc0.system.entry.js +0 -4
- package/dist/ionic/p-f6e9c227.system.js +0 -4
- package/dist/ionic/p-f894e0ad.entry.js +0 -4
- package/dist/types/components/picker-column-internal/picker-column-internal-interfaces.d.ts +0 -5
- package/dist/types/components/picker-column-internal/picker-column-internal.d.ts +0 -102
- package/dist/types/components/picker-internal/picker-internal-interfaces.d.ts +0 -8
- package/dist/types/components/picker-internal/picker-internal.d.ts +0 -102
- /package/dist/collection/components/{picker-internal/picker-internal-interfaces.js → picker/picker-interfaces.js} +0 -0
- /package/dist/collection/components/{picker-column-internal/picker-column-internal-interfaces.js → picker-column/picker-column-interfaces.js} +0 -0
- /package/dist/collection/components/{picker → picker-legacy}/animations/ios.enter.js +0 -0
- /package/dist/collection/components/{picker → picker-legacy}/animations/ios.leave.js +0 -0
- /package/dist/collection/components/{picker → picker-legacy}/picker-interface.js +0 -0
- /package/dist/collection/components/{picker-column → picker-legacy-column}/picker-column.ios.css +0 -0
- /package/dist/collection/components/{picker-column → picker-legacy-column}/picker-column.md.css +0 -0
- /package/dist/collection/components/{picker-column → picker-legacy-column}/test/test.utils.js +0 -0
- /package/dist/esm-es5/{data-775093f5.js → data-6a31d701.js} +0 -0
- /package/dist/ionic/{p-87bb3735.system.js → p-7ff4359e.system.js} +0 -0
- /package/dist/ionic/{p-18cae04f.js → p-a64accf5.js} +0 -0
- /package/dist/types/components/{picker → picker-legacy}/animations/ios.enter.d.ts +0 -0
- /package/dist/types/components/{picker → picker-legacy}/animations/ios.leave.d.ts +0 -0
- /package/dist/types/components/{picker → picker-legacy}/picker-interface.d.ts +0 -0
- /package/dist/types/components/{picker-column → picker-legacy-column}/test/test.utils.d.ts +0 -0
|
@@ -7,43 +7,50 @@ import { configs, test } from "../../../../utils/test/playwright/index";
|
|
|
7
7
|
* This behavior does not vary across modes/directions.
|
|
8
8
|
*/
|
|
9
9
|
configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
10
|
-
test.describe(title('picker
|
|
10
|
+
test.describe(title('picker: keyboard entry'), () => {
|
|
11
11
|
test('should scroll to and update the value prop for a single column', async ({ page }) => {
|
|
12
12
|
await page.setContent(`
|
|
13
|
-
<ion-picker
|
|
14
|
-
<ion-picker-column
|
|
15
|
-
</ion-picker
|
|
13
|
+
<ion-picker>
|
|
14
|
+
<ion-picker-column></ion-picker-column>
|
|
15
|
+
</ion-picker>
|
|
16
16
|
|
|
17
17
|
<script>
|
|
18
|
-
const column = document.querySelector('ion-picker-column
|
|
19
|
-
column.
|
|
18
|
+
const column = document.querySelector('ion-picker-column');
|
|
19
|
+
column.numericInput = true;
|
|
20
|
+
const items = [
|
|
20
21
|
{ text: '01', value: 1 },
|
|
21
22
|
{ text: '02', value: 2 },
|
|
22
23
|
{ text: '03', value: 3 },
|
|
23
24
|
{ text: '04', value: 4 },
|
|
24
25
|
{ text: '05', value: 5 }
|
|
25
26
|
];
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
|
|
28
|
+
items.forEach((item) => {
|
|
29
|
+
const option = document.createElement('ion-picker-column-option');
|
|
30
|
+
option.value = item.value;
|
|
31
|
+
option.textContent = item.text;
|
|
32
|
+
|
|
33
|
+
column.appendChild(option);
|
|
34
|
+
});
|
|
28
35
|
</script>
|
|
29
36
|
`, config);
|
|
30
|
-
const column = page.locator('ion-picker-column
|
|
37
|
+
const column = page.locator('ion-picker-column');
|
|
31
38
|
const ionChange = await page.spyOnEvent('ionChange');
|
|
32
|
-
await column.
|
|
39
|
+
await column.evaluate((el) => el.setFocus());
|
|
33
40
|
await page.keyboard.press('Digit2');
|
|
34
|
-
await expect(ionChange).toHaveReceivedEventDetail({
|
|
41
|
+
await expect(ionChange).toHaveReceivedEventDetail({ value: 2 });
|
|
35
42
|
await expect(column).toHaveJSProperty('value', 2);
|
|
36
43
|
});
|
|
37
44
|
test('should scroll to and update the value prop for multiple columns', async ({ page }) => {
|
|
38
45
|
await page.setContent(`
|
|
39
|
-
<ion-picker
|
|
40
|
-
<ion-picker-column
|
|
41
|
-
<ion-picker-column
|
|
42
|
-
</ion-picker
|
|
46
|
+
<ion-picker>
|
|
47
|
+
<ion-picker-column id="first"></ion-picker-column>
|
|
48
|
+
<ion-picker-column id="second"></ion-picker-column>
|
|
49
|
+
</ion-picker>
|
|
43
50
|
|
|
44
51
|
<script>
|
|
45
|
-
const firstColumn = document.querySelector('ion-picker-column
|
|
46
|
-
|
|
52
|
+
const firstColumn = document.querySelector('ion-picker-column#first');
|
|
53
|
+
const firstItems = [
|
|
47
54
|
{ text: '01', value: 1 },
|
|
48
55
|
{ text: '02', value: 2 },
|
|
49
56
|
{ text: '03', value: 3 },
|
|
@@ -53,8 +60,16 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
|
|
|
53
60
|
firstColumn.value = 5;
|
|
54
61
|
firstColumn.numericInput = true;
|
|
55
62
|
|
|
56
|
-
|
|
57
|
-
|
|
63
|
+
firstItems.forEach((item) => {
|
|
64
|
+
const option = document.createElement('ion-picker-column-option');
|
|
65
|
+
option.value = item.value;
|
|
66
|
+
option.textContent = item.text;
|
|
67
|
+
|
|
68
|
+
firstColumn.appendChild(option);
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
const secondColumn = document.querySelector('ion-picker-column#second');
|
|
72
|
+
const secondItems = [
|
|
58
73
|
{ text: '20', value: 20 },
|
|
59
74
|
{ text: '21', value: 21 },
|
|
60
75
|
{ text: '22', value: 22 },
|
|
@@ -63,11 +78,19 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
|
|
|
63
78
|
];
|
|
64
79
|
secondColumn.value = 22;
|
|
65
80
|
secondColumn.numericInput = true;
|
|
81
|
+
|
|
82
|
+
secondItems.forEach((item) => {
|
|
83
|
+
const option = document.createElement('ion-picker-column-option');
|
|
84
|
+
option.value = item.value;
|
|
85
|
+
option.textContent = item.text;
|
|
86
|
+
|
|
87
|
+
secondColumn.appendChild(option);
|
|
88
|
+
});
|
|
66
89
|
</script>
|
|
67
90
|
`, config);
|
|
68
|
-
const firstColumn = page.locator('ion-picker-column
|
|
69
|
-
const secondColumn = page.locator('ion-picker-column
|
|
70
|
-
const highlight = page.locator('ion-picker
|
|
91
|
+
const firstColumn = page.locator('ion-picker-column#first');
|
|
92
|
+
const secondColumn = page.locator('ion-picker-column#second');
|
|
93
|
+
const highlight = page.locator('ion-picker .picker-highlight');
|
|
71
94
|
const firstIonChange = await firstColumn.spyOnEvent('ionChange');
|
|
72
95
|
const secondIonChange = await secondColumn.spyOnEvent('ionChange');
|
|
73
96
|
const box = await highlight.boundingBox();
|
|
@@ -77,21 +100,21 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
|
|
|
77
100
|
await expect(firstColumn).toHaveClass(/picker-column-active/);
|
|
78
101
|
await expect(secondColumn).toHaveClass(/picker-column-active/);
|
|
79
102
|
await page.keyboard.press('Digit2');
|
|
80
|
-
await expect(firstIonChange).toHaveReceivedEventDetail({
|
|
103
|
+
await expect(firstIonChange).toHaveReceivedEventDetail({ value: 2 });
|
|
81
104
|
await expect(firstColumn).toHaveJSProperty('value', 2);
|
|
82
105
|
await page.keyboard.press('Digit2+Digit4');
|
|
83
|
-
await expect(secondIonChange).toHaveReceivedEventDetail({
|
|
106
|
+
await expect(secondIonChange).toHaveReceivedEventDetail({ value: 24 });
|
|
84
107
|
await expect(secondColumn).toHaveJSProperty('value', 24);
|
|
85
108
|
});
|
|
86
109
|
test('should select 00', async ({ page }) => {
|
|
87
110
|
await page.setContent(`
|
|
88
|
-
<ion-picker
|
|
89
|
-
<ion-picker-column
|
|
90
|
-
</ion-picker
|
|
111
|
+
<ion-picker>
|
|
112
|
+
<ion-picker-column></ion-picker-column>
|
|
113
|
+
</ion-picker>
|
|
91
114
|
|
|
92
115
|
<script>
|
|
93
|
-
const column = document.querySelector('ion-picker-column
|
|
94
|
-
|
|
116
|
+
const column = document.querySelector('ion-picker-column');
|
|
117
|
+
const items = [
|
|
95
118
|
{ text: '00', value: 12 },
|
|
96
119
|
{ text: '01', value: 1 },
|
|
97
120
|
{ text: '02', value: 2 },
|
|
@@ -101,13 +124,21 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
|
|
|
101
124
|
];
|
|
102
125
|
column.value = 5;
|
|
103
126
|
column.numericInput = true;
|
|
127
|
+
|
|
128
|
+
items.forEach((item) => {
|
|
129
|
+
const option = document.createElement('ion-picker-column-option');
|
|
130
|
+
option.value = item.value;
|
|
131
|
+
option.textContent = item.text;
|
|
132
|
+
|
|
133
|
+
column.appendChild(option);
|
|
134
|
+
});
|
|
104
135
|
</script>
|
|
105
136
|
`, config);
|
|
106
|
-
const column = page.locator('ion-picker-column
|
|
137
|
+
const column = page.locator('ion-picker-column');
|
|
107
138
|
const ionChange = await page.spyOnEvent('ionChange');
|
|
108
|
-
await column.
|
|
139
|
+
await column.evaluate((el) => el.setFocus());
|
|
109
140
|
await page.keyboard.press('Digit0');
|
|
110
|
-
await expect(ionChange).toHaveReceivedEventDetail({
|
|
141
|
+
await expect(ionChange).toHaveReceivedEventDetail({ value: 12 });
|
|
111
142
|
await expect(column).toHaveJSProperty('value', 12);
|
|
112
143
|
});
|
|
113
144
|
});
|
|
@@ -54,15 +54,48 @@
|
|
|
54
54
|
* }
|
|
55
55
|
*/
|
|
56
56
|
:host {
|
|
57
|
+
display: flex;
|
|
58
|
+
align-items: center;
|
|
59
|
+
justify-content: center;
|
|
60
|
+
max-width: 100%;
|
|
61
|
+
height: 200px;
|
|
62
|
+
font-size: 22px;
|
|
63
|
+
text-align: center;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.picker-opts {
|
|
67
|
+
/**
|
|
68
|
+
* This padding must be set here and not on the
|
|
69
|
+
* host to ensure that the focus highlight on the
|
|
70
|
+
* column is not overly narrow.
|
|
71
|
+
*/
|
|
57
72
|
-webkit-padding-start: 16px;
|
|
58
73
|
padding-inline-start: 16px;
|
|
59
74
|
-webkit-padding-end: 16px;
|
|
60
75
|
padding-inline-end: 16px;
|
|
61
76
|
padding-top: 0px;
|
|
62
77
|
padding-bottom: 0px;
|
|
63
|
-
|
|
78
|
+
/**
|
|
79
|
+
* When using reactive data, such as in datetime's
|
|
80
|
+
* wheel picker, there may be layout shifts between
|
|
81
|
+
* individual columns in a picker as the columns
|
|
82
|
+
* shrink to fit the widest item in the column.
|
|
83
|
+
* Setting a minimum width avoids this layout shifting.
|
|
84
|
+
*
|
|
85
|
+
* Note that we need this min-width set on the same
|
|
86
|
+
* element as the vertical padding (i.e. not on the
|
|
87
|
+
* host).
|
|
88
|
+
*/
|
|
89
|
+
min-width: 26px;
|
|
90
|
+
max-height: 200px;
|
|
64
91
|
outline: none;
|
|
65
|
-
|
|
92
|
+
/**
|
|
93
|
+
* Added so that text-align can be set on the host
|
|
94
|
+
* from external components. For example, datetime
|
|
95
|
+
* changes the alignment of specific columns in its
|
|
96
|
+
* wheel pickers.
|
|
97
|
+
*/
|
|
98
|
+
text-align: inherit;
|
|
66
99
|
scroll-snap-type: y mandatory;
|
|
67
100
|
/**
|
|
68
101
|
* Need to explicitly set overflow-x: hidden
|
|
@@ -71,17 +104,9 @@
|
|
|
71
104
|
overflow-x: hidden;
|
|
72
105
|
overflow-y: scroll;
|
|
73
106
|
scrollbar-width: none;
|
|
74
|
-
text-align: center;
|
|
75
107
|
}
|
|
76
108
|
|
|
77
|
-
|
|
78
|
-
* Hide scrollbars on Chrome and Safari
|
|
79
|
-
*/
|
|
80
|
-
:host::-webkit-scrollbar {
|
|
81
|
-
display: none;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
:host .picker-item {
|
|
109
|
+
.picker-item-empty {
|
|
85
110
|
padding-left: 0;
|
|
86
111
|
padding-right: 0;
|
|
87
112
|
padding-top: 0;
|
|
@@ -103,94 +128,82 @@
|
|
|
103
128
|
text-align: inherit;
|
|
104
129
|
text-overflow: ellipsis;
|
|
105
130
|
white-space: nowrap;
|
|
106
|
-
cursor: pointer;
|
|
107
131
|
overflow: hidden;
|
|
108
|
-
scroll-snap-align: center;
|
|
109
132
|
}
|
|
110
133
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
134
|
+
/**
|
|
135
|
+
* Hide scrollbars on Chrome and Safari
|
|
136
|
+
*/
|
|
137
|
+
.picker-opts::-webkit-scrollbar {
|
|
138
|
+
display: none;
|
|
114
139
|
}
|
|
115
140
|
|
|
116
|
-
|
|
117
|
-
:
|
|
141
|
+
::slotted(ion-picker-column-option) {
|
|
142
|
+
display: block;
|
|
143
|
+
scroll-snap-align: center;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
.picker-item-empty,
|
|
147
|
+
:host(:not([disabled])) ::slotted(ion-picker-column-option.option-disabled) {
|
|
118
148
|
scroll-snap-align: none;
|
|
119
149
|
}
|
|
120
150
|
|
|
121
|
-
|
|
122
|
-
|
|
151
|
+
::slotted([slot=prefix]), ::slotted([slot=suffix]) {
|
|
152
|
+
max-width: 200px;
|
|
153
|
+
text-overflow: ellipsis;
|
|
154
|
+
white-space: nowrap;
|
|
155
|
+
overflow: hidden;
|
|
123
156
|
}
|
|
124
157
|
|
|
125
|
-
|
|
126
|
-
|
|
158
|
+
::slotted([slot=prefix]) {
|
|
159
|
+
/**
|
|
160
|
+
* This is added in addition to the column's own padding so that there is white
|
|
161
|
+
* space between the slot and the column's focus highlight.
|
|
162
|
+
*/
|
|
163
|
+
-webkit-padding-start: 16px;
|
|
164
|
+
padding-inline-start: 16px;
|
|
165
|
+
-webkit-padding-end: 16px;
|
|
166
|
+
padding-inline-end: 16px;
|
|
167
|
+
padding-top: 0;
|
|
168
|
+
padding-bottom: 0;
|
|
169
|
+
justify-content: end;
|
|
127
170
|
}
|
|
128
171
|
|
|
129
|
-
|
|
130
|
-
|
|
172
|
+
::slotted([slot=suffix]) {
|
|
173
|
+
/**
|
|
174
|
+
* This is added in addition to the column's own padding so that there is white
|
|
175
|
+
* space between the slot and the column's focus highlight.
|
|
176
|
+
*/
|
|
177
|
+
-webkit-padding-start: 16px;
|
|
178
|
+
padding-inline-start: 16px;
|
|
179
|
+
-webkit-padding-end: 16px;
|
|
180
|
+
padding-inline-end: 16px;
|
|
181
|
+
padding-top: 0;
|
|
182
|
+
padding-bottom: 0;
|
|
183
|
+
justify-content: start;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
:host(.picker-column-disabled) .picker-opts {
|
|
187
|
+
overflow-y: hidden;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* When the column is disabled, none of the options
|
|
192
|
+
* should be interactive. However, we do not disable
|
|
193
|
+
* the buttons because that would require overriding the
|
|
194
|
+
* app's preference for each option. In this case,
|
|
195
|
+
* the picker column interactive as a whole is
|
|
196
|
+
* disabled, not individual options.
|
|
197
|
+
*/
|
|
198
|
+
:host(.picker-column-disabled) ::slotted(ion-picker-column-option) {
|
|
199
|
+
cursor: default;
|
|
200
|
+
opacity: 0.4;
|
|
201
|
+
pointer-events: none;
|
|
131
202
|
}
|
|
132
203
|
|
|
133
204
|
@media (any-hover: hover) {
|
|
134
|
-
:host(:focus) {
|
|
205
|
+
:host(:focus) .picker-opts {
|
|
135
206
|
outline: none;
|
|
136
207
|
background: rgba(var(--ion-color-base-rgb), 0.2);
|
|
137
208
|
}
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* Convert a font size to a dynamic font size.
|
|
141
|
-
* Fonts that participate in Dynamic Type should use
|
|
142
|
-
* dynamic font sizes.
|
|
143
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
144
|
-
* @param unit (optional) - The unit to convert to. Use this if you want to
|
|
145
|
-
* convert to a unit other than $baselineUnit.
|
|
146
|
-
*/
|
|
147
|
-
/**
|
|
148
|
-
* Convert a font size to a dynamic font size but impose
|
|
149
|
-
* a maximum font size.
|
|
150
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
151
|
-
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
152
|
-
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
153
|
-
* convert to a unit other than $baselineUnit.
|
|
154
|
-
*/
|
|
155
|
-
/**
|
|
156
|
-
* Convert a font size to a dynamic font size but impose
|
|
157
|
-
* a minimum font size.
|
|
158
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
159
|
-
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
160
|
-
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
161
|
-
* convert to a unit other than $baselineUnit.
|
|
162
|
-
*/
|
|
163
|
-
/**
|
|
164
|
-
* Convert a font size to a dynamic font size but impose
|
|
165
|
-
* maximum and minimum font sizes.
|
|
166
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
167
|
-
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
168
|
-
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
169
|
-
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
170
|
-
* convert to a unit other than $baselineUnit.
|
|
171
|
-
*/
|
|
172
|
-
/**
|
|
173
|
-
* A heuristic that applies CSS to tablet
|
|
174
|
-
* viewports.
|
|
175
|
-
*
|
|
176
|
-
* Usage:
|
|
177
|
-
* @include tablet-viewport() {
|
|
178
|
-
* :host {
|
|
179
|
-
* background-color: green;
|
|
180
|
-
* }
|
|
181
|
-
* }
|
|
182
|
-
*/
|
|
183
|
-
/**
|
|
184
|
-
* A heuristic that applies CSS to mobile
|
|
185
|
-
* viewports (i.e. phones, not tablets).
|
|
186
|
-
*
|
|
187
|
-
* Usage:
|
|
188
|
-
* @include mobile-viewport() {
|
|
189
|
-
* :host {
|
|
190
|
-
* background-color: blue;
|
|
191
|
-
* }
|
|
192
|
-
* }
|
|
193
|
-
*/
|
|
194
|
-
:host .picker-item-active {
|
|
195
|
-
color: var(--ion-color-base);
|
|
196
209
|
}
|