@ionic/core 7.5.8-dev.11701791090.18ebbea8 → 7.5.8-dev.11701806358.1ca1b519
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/backdrop.js +0 -12
- 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-input.js +2 -21
- 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/ion-textarea.js +2 -25
- package/components/overlays.js +11 -4
- package/components/picker-column-option.js +122 -0
- package/components/picker-column.js +363 -317
- package/components/picker-column2.js +379 -0
- package/components/{picker-internal.js → picker.js} +16 -16
- package/dist/cjs/{button-active-417ccdcb.js → button-active-9d7e0640.js} +1 -1
- package/dist/cjs/{data-36b9094e.js → data-e7526b58.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 +4 -4
- 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-datetime-button.cjs.entry.js +1 -1
- package/dist/cjs/ion-datetime_3.cjs.entry.js +36 -56
- package/dist/cjs/ion-input.cjs.entry.js +2 -21
- 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} +105 -72
- package/dist/cjs/{ion-picker-internal.cjs.entry.js → ion-picker.cjs.entry.js} +13 -13
- 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-textarea.cjs.entry.js +2 -25
- package/dist/cjs/ion-toast.cjs.entry.js +2 -1
- 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-5c379703.js → overlays-e8e05b0e.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/backdrop/backdrop.js +0 -12
- package/dist/collection/components/content/content.css +0 -4
- package/dist/collection/components/datetime/datetime.ios.css +83 -37
- package/dist/collection/components/datetime/datetime.js +24 -36
- package/dist/collection/components/datetime/datetime.md.css +88 -37
- 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/input/input.js +2 -21
- package/dist/collection/components/input/test/clear-on-edit/input.e2e.js +9 -21
- package/dist/collection/components/picker/picker.ios.css +100 -205
- package/dist/collection/components/picker/picker.js +461 -743
- package/dist/collection/components/picker/picker.md.css +98 -194
- 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-internal/test/keyboard-entry/picker-internal.e2e.js → picker/test/keyboard-entry/picker.e2e.js} +23 -22
- package/dist/collection/components/picker-column/picker-column.ios.css +120 -160
- package/dist/collection/components/picker-column/picker-column.js +514 -329
- package/dist/collection/components/picker-column/picker-column.md.css +134 -107
- 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 +113 -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-legacy/picker.ios.css +367 -0
- 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-internal/picker-internal.md.css → picker-legacy-column/picker-column.ios.css} +98 -101
- package/dist/collection/components/picker-legacy-column/picker-column.js +419 -0
- package/dist/collection/components/{picker-column-internal/picker-column-internal.md.css → picker-legacy-column/picker-column.md.css} +113 -63
- 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/textarea/test/clear-on-edit/textarea.e2e.js +0 -28
- package/dist/collection/components/textarea/textarea.js +2 -25
- 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 +493 -40
- package/dist/esm/{button-active-3fdf3e4f.js → button-active-ed9d848c.js} +1 -1
- package/dist/esm/{data-f5c75b4e.js → data-4b9508c9.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 +4 -4
- 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-datetime-button.entry.js +1 -1
- package/dist/esm/ion-datetime_3.entry.js +35 -55
- package/dist/esm/ion-input.entry.js +2 -21
- 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} +105 -72
- package/dist/esm/{ion-picker-internal.entry.js → ion-picker.entry.js} +13 -13
- 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-textarea.entry.js +2 -25
- package/dist/esm/ion-toast.entry.js +2 -1
- 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-abf58489.js → overlays-fbc5cab5.js} +11 -4
- package/dist/esm/{swipe-back-a6f386fc.js → swipe-back-a8ca7f93.js} +2 -2
- package/dist/esm-es5/{button-active-3fdf3e4f.js → button-active-ed9d848c.js} +1 -1
- 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-datetime-button.entry.js +1 -1
- package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
- package/dist/esm-es5/ion-input.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-textarea.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-fbc5cab5.js +4 -0
- package/dist/esm-es5/swipe-back-a8ca7f93.js +4 -0
- package/dist/html.html-data.json +152 -1
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-b0dc1cf9.system.js → p-1d624e03.system.js} +1 -1
- package/dist/ionic/{p-d40a974a.entry.js → p-1fc72959.entry.js} +1 -1
- package/dist/ionic/{p-c7c8429a.system.js → p-20d469d0.system.js} +1 -1
- package/dist/ionic/{p-0519cd21.entry.js → p-21c3515a.entry.js} +1 -1
- package/dist/ionic/{p-6470b136.entry.js → p-22e5af95.entry.js} +1 -1
- package/dist/ionic/p-232d1f22.entry.js +4 -0
- package/dist/ionic/p-23672c82.system.entry.js +4 -0
- package/dist/ionic/p-26798a7b.system.entry.js +4 -0
- package/dist/ionic/p-27bcbbc7.system.entry.js +4 -0
- package/dist/ionic/{p-765a08a7.system.entry.js → p-32303650.system.entry.js} +1 -1
- package/dist/ionic/p-3ba01a9c.system.entry.js +4 -0
- package/dist/ionic/{p-31b2326e.system.js → p-3e1e14d9.system.js} +1 -1
- package/dist/ionic/{p-667df818.system.entry.js → p-3fd26bd6.system.entry.js} +1 -1
- package/dist/ionic/{p-864c4046.entry.js → p-42ba3902.entry.js} +1 -1
- package/dist/ionic/{p-88fde0e0.entry.js → p-4911a5d6.entry.js} +1 -1
- package/dist/ionic/{p-a6f9dd7b.entry.js → p-4a081ea9.entry.js} +1 -1
- package/dist/ionic/{p-7b8d0af2.system.entry.js → p-4a36430f.system.entry.js} +1 -1
- package/dist/ionic/p-51abefb7.system.js +4 -0
- package/dist/ionic/{p-0b1bc636.entry.js → p-535d2a67.entry.js} +1 -1
- package/dist/ionic/{p-af5cfad2.system.js → p-54dfc9b5.system.js} +1 -1
- package/dist/ionic/p-563c41f0.system.entry.js +4 -0
- package/dist/ionic/{p-b04e4d62.entry.js → p-5d42b6b4.entry.js} +1 -1
- package/dist/ionic/{p-50880712.entry.js → p-6b7c55cd.entry.js} +1 -1
- package/dist/ionic/{p-a1987850.entry.js → p-6d72fb44.entry.js} +1 -1
- package/dist/ionic/{p-e6d68e02.system.entry.js → p-6fd64e7c.system.entry.js} +1 -1
- package/dist/ionic/p-73190c5f.entry.js +4 -0
- package/dist/ionic/p-73aa7604.entry.js +4 -0
- package/dist/ionic/{p-17f893be.js → p-76d3765d.js} +1 -1
- package/dist/ionic/{p-94389114.system.entry.js → p-77965464.system.entry.js} +1 -1
- package/dist/ionic/{p-98b14ece.entry.js → p-7b725280.entry.js} +1 -1
- package/dist/ionic/p-8017aad2.system.entry.js +4 -0
- package/dist/ionic/p-846ee227.entry.js +4 -0
- package/dist/ionic/p-8c97cdc0.entry.js +4 -0
- package/dist/ionic/{p-f5d2dc9b.js → p-8ededb41.js} +1 -1
- package/dist/ionic/p-8fa6583d.system.js +4 -0
- package/dist/ionic/p-9282b16f.entry.js +4 -0
- package/dist/ionic/{p-d7be6b7e.system.entry.js → p-96dbbac1.system.entry.js} +1 -1
- package/dist/ionic/{p-bb3615f7.js → p-9b97df10.js} +1 -1
- package/dist/ionic/p-9ba90516.system.entry.js +4 -0
- package/dist/ionic/{p-a0126dd5.system.entry.js → p-9c229210.system.entry.js} +2 -2
- package/dist/ionic/{p-7faba551.system.entry.js → p-a225bf0f.system.entry.js} +1 -1
- package/dist/ionic/p-a60a1ce5.js +4 -0
- package/dist/ionic/p-a8baa23e.entry.js +4 -0
- package/dist/ionic/{p-ad019ef0.entry.js → p-a9a80f5b.entry.js} +1 -1
- package/dist/ionic/p-afcf4620.entry.js +4 -0
- package/dist/ionic/{p-ddb30596.entry.js → p-b133e9b4.entry.js} +1 -1
- package/dist/ionic/{p-08f196ce.system.entry.js → p-b4d31b30.system.entry.js} +1 -1
- package/dist/ionic/{p-e553006f.system.entry.js → p-c18de88a.system.entry.js} +1 -1
- package/dist/ionic/p-c2910c78.entry.js +4 -0
- package/dist/ionic/p-c8f0a036.entry.js +4 -0
- package/dist/ionic/p-ca8938f4.js +4 -0
- package/dist/ionic/p-ca9d1792.system.entry.js +4 -0
- package/dist/ionic/{p-c3d09cf2.system.entry.js → p-cde52378.system.entry.js} +1 -1
- package/dist/ionic/p-da15f571.system.entry.js +4 -0
- package/dist/ionic/p-e3584231.system.js +1 -1
- package/dist/ionic/{p-6577aea9.system.entry.js → p-e8e86f69.system.entry.js} +1 -1
- package/dist/ionic/{p-9eec42cc.system.entry.js → p-f910cc73.system.entry.js} +1 -1
- package/dist/ionic/{p-3b686a65.system.entry.js → p-fbf3a689.system.entry.js} +1 -1
- package/dist/ionic/p-fe4dde76.entry.js +4 -0
- package/dist/ionic/p-ffd5dba4.system.entry.js +4 -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 +2 -2
- 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 +74 -131
- package/dist/types/components/picker-column/picker-column.d.ts +105 -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.d.ts +163 -122
- 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 +1367 -1296
- 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/ion-picker-column-internal.entry.js +0 -4
- package/dist/esm-es5/ion-picker-internal.entry.js +0 -4
- package/dist/esm-es5/overlays-abf58489.js +0 -4
- package/dist/esm-es5/swipe-back-a6f386fc.js +0 -4
- package/dist/ionic/p-18b6bd23.system.entry.js +0 -4
- package/dist/ionic/p-1d17219f.entry.js +0 -4
- package/dist/ionic/p-25b32c3d.entry.js +0 -4
- package/dist/ionic/p-2ba0657d.system.entry.js +0 -4
- package/dist/ionic/p-35ce400e.system.js +0 -4
- package/dist/ionic/p-3de71759.entry.js +0 -4
- package/dist/ionic/p-3e960213.system.entry.js +0 -4
- package/dist/ionic/p-61d7d7fb.js +0 -4
- package/dist/ionic/p-67da080d.entry.js +0 -4
- package/dist/ionic/p-6a6477b2.js +0 -4
- package/dist/ionic/p-73637557.system.entry.js +0 -4
- package/dist/ionic/p-73ea8f82.system.entry.js +0 -4
- package/dist/ionic/p-80fa068e.entry.js +0 -4
- package/dist/ionic/p-82045bc1.entry.js +0 -4
- package/dist/ionic/p-908475e7.system.entry.js +0 -4
- package/dist/ionic/p-9c3b6849.entry.js +0 -4
- package/dist/ionic/p-b4bad293.system.entry.js +0 -4
- package/dist/ionic/p-c3289ef2.entry.js +0 -4
- package/dist/ionic/p-cce9f61a.system.entry.js +0 -4
- package/dist/ionic/p-d1cb29a8.system.entry.js +0 -4
- package/dist/ionic/p-e94c392d.entry.js +0 -4
- package/dist/ionic/p-f2c21dae.system.js +0 -4
- package/dist/ionic/p-f51666d3.entry.js +0 -4
- 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}/test/test.utils.js +0 -0
- /package/dist/esm-es5/{data-f5c75b4e.js → data-4b9508c9.js} +0 -0
- /package/dist/ionic/{p-2aea8b1e.js → p-368f5215.js} +0 -0
- /package/dist/ionic/{p-82e3d633.system.js → p-f58981c2.system.js} +0 -0
- /package/dist/types/components/{picker-column-internal/picker-column-internal-interfaces.d.ts → picker-column/picker-column-interfaces.d.ts} +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
|
@@ -53,97 +53,166 @@
|
|
|
53
53
|
* }
|
|
54
54
|
* }
|
|
55
55
|
*/
|
|
56
|
-
|
|
56
|
+
:host {
|
|
57
57
|
display: flex;
|
|
58
|
-
|
|
59
|
-
flex: 1;
|
|
58
|
+
align-items: center;
|
|
60
59
|
justify-content: center;
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
60
|
+
max-width: 100%;
|
|
61
|
+
height: 200px;
|
|
62
|
+
font-size: 22px;
|
|
63
|
+
text-align: center;
|
|
64
64
|
}
|
|
65
65
|
|
|
66
66
|
.picker-opts {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
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
|
+
*/
|
|
72
|
+
-webkit-padding-start: 16px;
|
|
73
|
+
padding-inline-start: 16px;
|
|
74
|
+
-webkit-padding-end: 16px;
|
|
75
|
+
padding-inline-end: 16px;
|
|
76
|
+
padding-top: 0px;
|
|
77
|
+
padding-bottom: 0px;
|
|
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;
|
|
91
|
+
outline: none;
|
|
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;
|
|
99
|
+
scroll-snap-type: y mandatory;
|
|
100
|
+
/**
|
|
101
|
+
* Need to explicitly set overflow-x: hidden
|
|
102
|
+
* for older implementations of scroll snapping.
|
|
103
|
+
*/
|
|
104
|
+
overflow-x: hidden;
|
|
105
|
+
overflow-y: scroll;
|
|
106
|
+
scrollbar-width: none;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Hide scrollbars on Chrome and Safari
|
|
111
|
+
*/
|
|
112
|
+
.picker-opts::-webkit-scrollbar {
|
|
113
|
+
display: none;
|
|
70
114
|
}
|
|
71
115
|
|
|
72
|
-
|
|
73
|
-
top: 0;
|
|
116
|
+
::slotted(ion-picker-column-option) {
|
|
74
117
|
display: block;
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
118
|
+
scroll-snap-align: center;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.picker-item-empty,
|
|
122
|
+
:host(:not([disabled])) ::slotted(ion-picker-column-option.option-disabled) {
|
|
123
|
+
scroll-snap-align: none;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
::slotted([slot=prefix]), ::slotted([slot=suffix]) {
|
|
127
|
+
max-width: 200px;
|
|
79
128
|
text-overflow: ellipsis;
|
|
80
129
|
white-space: nowrap;
|
|
81
|
-
contain: strict;
|
|
82
130
|
overflow: hidden;
|
|
83
|
-
will-change: transform;
|
|
84
|
-
}
|
|
85
|
-
@supports (inset-inline-start: 0) {
|
|
86
|
-
.picker-opt {
|
|
87
|
-
inset-inline-start: 0;
|
|
88
|
-
}
|
|
89
131
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
}
|
|
104
|
-
@supports selector(:dir(rtl)) {
|
|
105
|
-
.picker-opt:dir(rtl) {
|
|
106
|
-
left: unset;
|
|
107
|
-
right: unset;
|
|
108
|
-
right: 0;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
132
|
+
|
|
133
|
+
::slotted([slot=prefix]) {
|
|
134
|
+
/**
|
|
135
|
+
* This is added in addition to the column's own padding so that there is white
|
|
136
|
+
* space between the slot and the column's focus highlight.
|
|
137
|
+
*/
|
|
138
|
+
-webkit-padding-start: 16px;
|
|
139
|
+
padding-inline-start: 16px;
|
|
140
|
+
-webkit-padding-end: 16px;
|
|
141
|
+
padding-inline-end: 16px;
|
|
142
|
+
padding-top: 0;
|
|
143
|
+
padding-bottom: 0;
|
|
144
|
+
justify-content: end;
|
|
111
145
|
}
|
|
112
146
|
|
|
113
|
-
|
|
114
|
-
|
|
147
|
+
::slotted([slot=suffix]) {
|
|
148
|
+
/**
|
|
149
|
+
* This is added in addition to the column's own padding so that there is white
|
|
150
|
+
* space between the slot and the column's focus highlight.
|
|
151
|
+
*/
|
|
152
|
+
-webkit-padding-start: 16px;
|
|
153
|
+
padding-inline-start: 16px;
|
|
154
|
+
-webkit-padding-end: 16px;
|
|
155
|
+
padding-inline-end: 16px;
|
|
156
|
+
padding-top: 0;
|
|
157
|
+
padding-bottom: 0;
|
|
158
|
+
justify-content: start;
|
|
115
159
|
}
|
|
116
160
|
|
|
117
|
-
.picker-
|
|
118
|
-
|
|
161
|
+
:host .picker-item {
|
|
162
|
+
padding-left: 0;
|
|
163
|
+
padding-right: 0;
|
|
164
|
+
padding-top: 0;
|
|
165
|
+
padding-bottom: 0;
|
|
166
|
+
margin-left: 0;
|
|
167
|
+
margin-right: 0;
|
|
168
|
+
margin-top: 0;
|
|
169
|
+
margin-bottom: 0;
|
|
170
|
+
display: block;
|
|
171
|
+
width: 100%;
|
|
172
|
+
height: 34px;
|
|
173
|
+
border: 0px;
|
|
174
|
+
outline: none;
|
|
175
|
+
background: transparent;
|
|
176
|
+
color: inherit;
|
|
177
|
+
font-family: var(--ion-font-family, inherit);
|
|
178
|
+
font-size: inherit;
|
|
179
|
+
line-height: 34px;
|
|
180
|
+
text-align: inherit;
|
|
181
|
+
text-overflow: ellipsis;
|
|
182
|
+
white-space: nowrap;
|
|
183
|
+
cursor: pointer;
|
|
184
|
+
overflow: hidden;
|
|
185
|
+
scroll-snap-align: center;
|
|
119
186
|
}
|
|
120
187
|
|
|
121
|
-
.picker-
|
|
122
|
-
|
|
188
|
+
:host .picker-item-empty,
|
|
189
|
+
:host .picker-item[disabled] {
|
|
190
|
+
cursor: default;
|
|
123
191
|
}
|
|
124
192
|
|
|
125
|
-
.picker-
|
|
126
|
-
|
|
193
|
+
:host .picker-item-empty,
|
|
194
|
+
:host(:not([disabled])) .picker-item[disabled] {
|
|
195
|
+
scroll-snap-align: none;
|
|
127
196
|
}
|
|
128
197
|
|
|
129
|
-
|
|
130
|
-
|
|
198
|
+
:host([disabled]) {
|
|
199
|
+
overflow-y: hidden;
|
|
131
200
|
}
|
|
132
201
|
|
|
133
|
-
.picker-
|
|
134
|
-
|
|
135
|
-
flex: 1;
|
|
136
|
-
text-align: end;
|
|
137
|
-
white-space: nowrap;
|
|
202
|
+
:host .picker-item[disabled] {
|
|
203
|
+
opacity: 0.4;
|
|
138
204
|
}
|
|
139
205
|
|
|
140
|
-
.picker-
|
|
141
|
-
|
|
142
|
-
flex: 1;
|
|
143
|
-
text-align: start;
|
|
144
|
-
white-space: nowrap;
|
|
206
|
+
:host(.picker-column-active) .picker-item.picker-item-active {
|
|
207
|
+
color: var(--ion-color-base);
|
|
145
208
|
}
|
|
146
209
|
|
|
210
|
+
@media (any-hover: hover) {
|
|
211
|
+
:host(:focus) .picker-opts {
|
|
212
|
+
outline: none;
|
|
213
|
+
background: rgba(var(--ion-color-base-rgb), 0.2);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
147
216
|
/**
|
|
148
217
|
* Convert a font size to a dynamic font size.
|
|
149
218
|
* Fonts that participate in Dynamic Type should use
|
|
@@ -199,48 +268,6 @@
|
|
|
199
268
|
* }
|
|
200
269
|
* }
|
|
201
270
|
*/
|
|
202
|
-
.picker-
|
|
203
|
-
-
|
|
204
|
-
padding-inline-start: 8px;
|
|
205
|
-
-webkit-padding-end: 8px;
|
|
206
|
-
padding-inline-end: 8px;
|
|
207
|
-
padding-top: 0;
|
|
208
|
-
padding-bottom: 0;
|
|
209
|
-
transform-style: preserve-3d;
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
.picker-prefix,
|
|
213
|
-
.picker-suffix,
|
|
214
|
-
.picker-opts {
|
|
215
|
-
top: 77px;
|
|
216
|
-
transform-style: preserve-3d;
|
|
217
|
-
color: inherit;
|
|
218
|
-
font-size: 22px;
|
|
219
|
-
line-height: 42px;
|
|
220
|
-
pointer-events: none;
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
.picker-opt {
|
|
224
|
-
margin-left: 0;
|
|
225
|
-
margin-right: 0;
|
|
226
|
-
margin-top: 0;
|
|
227
|
-
margin-bottom: 0;
|
|
228
|
-
padding-left: 0;
|
|
229
|
-
padding-right: 0;
|
|
230
|
-
padding-top: 0;
|
|
231
|
-
padding-bottom: 0;
|
|
232
|
-
height: 43px;
|
|
233
|
-
transition-timing-function: ease-out;
|
|
234
|
-
background: transparent;
|
|
235
|
-
color: inherit;
|
|
236
|
-
font-size: 22px;
|
|
237
|
-
line-height: 42px;
|
|
238
|
-
backface-visibility: hidden;
|
|
239
|
-
pointer-events: auto;
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
.picker-prefix,
|
|
243
|
-
.picker-suffix,
|
|
244
|
-
.picker-opt.picker-opt-selected {
|
|
245
|
-
color: var(--ion-color-primary, #3880ff);
|
|
271
|
+
:host .picker-item-active {
|
|
272
|
+
color: var(--ion-color-base);
|
|
246
273
|
}
|
|
@@ -7,20 +7,20 @@ 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-column
|
|
10
|
+
test.describe(title('picker-column'), () => {
|
|
11
11
|
test.beforeEach(async ({ page }) => {
|
|
12
|
-
await page.goto('/src/components/picker-column
|
|
12
|
+
await page.goto('/src/components/picker-column/test/basic', config);
|
|
13
13
|
});
|
|
14
14
|
test('should render a picker item for each item', async ({ page }) => {
|
|
15
|
-
const columns = page.locator('ion-picker-column
|
|
15
|
+
const columns = page.locator('ion-picker-column ion-picker-column-option');
|
|
16
16
|
await expect(columns).toHaveCount(24);
|
|
17
17
|
});
|
|
18
18
|
test('should render 6 empty picker items', async ({ page }) => {
|
|
19
|
-
const columns = page.locator('ion-picker-column
|
|
19
|
+
const columns = page.locator('ion-picker-column .picker-item-empty');
|
|
20
20
|
await expect(columns).toHaveCount(6);
|
|
21
21
|
});
|
|
22
22
|
test('should not have an active item when value is not set', async ({ page }) => {
|
|
23
|
-
const activeColumn = page.locator('ion-picker-column-
|
|
23
|
+
const activeColumn = page.locator('ion-picker-column ion-picker-column-option.option-active');
|
|
24
24
|
await expect(activeColumn).toHaveCount(0);
|
|
25
25
|
});
|
|
26
26
|
test('should have an active item when value is set', async ({ page }) => {
|
|
@@ -28,7 +28,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
|
|
|
28
28
|
el.value = '12';
|
|
29
29
|
});
|
|
30
30
|
await page.waitForChanges();
|
|
31
|
-
const activeColumn = page.locator('ion-picker-column-
|
|
31
|
+
const activeColumn = page.locator('ion-picker-column ion-picker-column-option.option-active');
|
|
32
32
|
expect(activeColumn).not.toBeNull();
|
|
33
33
|
});
|
|
34
34
|
// TODO FW-3616
|
|
@@ -38,8 +38,8 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
|
|
|
38
38
|
el.scrollTop = 801;
|
|
39
39
|
});
|
|
40
40
|
await page.waitForChanges();
|
|
41
|
-
const activeColumn = page.locator('ion-picker-column-
|
|
42
|
-
|
|
41
|
+
const activeColumn = page.locator('ion-picker-column ion-picker-column-option.option-active');
|
|
42
|
+
await expect(activeColumn).toHaveJSProperty('value', 23);
|
|
43
43
|
});
|
|
44
44
|
test('should not emit ionChange when the value is modified externally', async ({ page, skip }) => {
|
|
45
45
|
skip.browser('firefox', 'https://bugzilla.mozilla.org/show_bug.cgi?id=1766890');
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
+
*/
|
|
4
|
+
import { expect } from "@playwright/test";
|
|
5
|
+
import { configs, test } from "../../../../utils/test/playwright/index";
|
|
6
|
+
/**
|
|
7
|
+
* This behavior does not vary across modes/directions.
|
|
8
|
+
*/
|
|
9
|
+
configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
10
|
+
test.describe(title('picker-column: disabled items'), () => {
|
|
11
|
+
// TODO FW-5580 move this to a spec test in picker-column-option
|
|
12
|
+
test('all picker items should be enabled by default', async ({ page }) => {
|
|
13
|
+
await page.setContent(`
|
|
14
|
+
<ion-picker>
|
|
15
|
+
<ion-picker-column>
|
|
16
|
+
<ion-picker-column-option value="a">A</ion-picker-column-option>
|
|
17
|
+
<ion-picker-column-option value="b">B</ion-picker-column-option>
|
|
18
|
+
<ion-picker-column-option value="c">C</ion-picker-column-option>
|
|
19
|
+
</ion-picker-column>
|
|
20
|
+
</ion-picker>
|
|
21
|
+
`, config);
|
|
22
|
+
const pickerItems = page.locator('ion-picker-column ion-picker-column-option button:not([disabled])');
|
|
23
|
+
expect(await pickerItems.count()).toBe(3);
|
|
24
|
+
});
|
|
25
|
+
// TODO FW-5580 move this to a spec test in picker-column-option
|
|
26
|
+
test('disabled picker item should not be interactive', async ({ page }) => {
|
|
27
|
+
await page.setContent(`
|
|
28
|
+
<ion-picker>
|
|
29
|
+
<ion-picker-column>
|
|
30
|
+
<ion-picker-column-option value="a">A</ion-picker-column-option>
|
|
31
|
+
<ion-picker-column-option value="b" disabled="true">B</ion-picker-column-option>
|
|
32
|
+
<ion-picker-column-option value="c">C</ion-picker-column-option>
|
|
33
|
+
</ion-picker-column>
|
|
34
|
+
</ion-picker>
|
|
35
|
+
`, config);
|
|
36
|
+
const disabledItem = page.locator('ion-picker-column ion-picker-column-option button').nth(1);
|
|
37
|
+
await expect(disabledItem).not.toBeEnabled();
|
|
38
|
+
});
|
|
39
|
+
test('disabled picker item should not be considered active', async ({ page }) => {
|
|
40
|
+
await page.setContent(`
|
|
41
|
+
<ion-picker>
|
|
42
|
+
<ion-picker-column value="b">
|
|
43
|
+
<ion-picker-column-option value="a">A</ion-picker-column-option>
|
|
44
|
+
<ion-picker-column-option value="b" disabled="true">B</ion-picker-column-option>
|
|
45
|
+
<ion-picker-column-option value="c">C</ion-picker-column-option>
|
|
46
|
+
</ion-picker-column>
|
|
47
|
+
</ion-picker>
|
|
48
|
+
`, config);
|
|
49
|
+
const disabledItem = page.locator('ion-picker-column-option').nth(1);
|
|
50
|
+
await expect(disabledItem).not.toHaveClass(/option-active/);
|
|
51
|
+
});
|
|
52
|
+
test('setting the value to a disabled item should not cause that item to be active', async ({ page }) => {
|
|
53
|
+
await page.setContent(`
|
|
54
|
+
<ion-picker>
|
|
55
|
+
<ion-picker-column>
|
|
56
|
+
<ion-picker-column-option value="a">A</ion-picker-column-option>
|
|
57
|
+
<ion-picker-column-option value="b" disabled="true">B</ion-picker-column-option>
|
|
58
|
+
<ion-picker-column-option value="c">C</ion-picker-column-option>
|
|
59
|
+
</ion-picker-column>
|
|
60
|
+
</ion-picker>
|
|
61
|
+
`, config);
|
|
62
|
+
const pickerColumn = page.locator('ion-picker-column');
|
|
63
|
+
await pickerColumn.evaluate((el) => (el.value = 'b'));
|
|
64
|
+
await page.waitForChanges();
|
|
65
|
+
const disabledItem = page.locator('ion-picker-column ion-picker-column-option').nth(1);
|
|
66
|
+
await expect(disabledItem).not.toHaveClass(/option-active/);
|
|
67
|
+
});
|
|
68
|
+
test('defaulting the value to a disabled item should not cause that item to be active', async ({ page }) => {
|
|
69
|
+
await page.setContent(`
|
|
70
|
+
<ion-picker>
|
|
71
|
+
<ion-picker-column value="b">
|
|
72
|
+
<ion-picker-column-option value="a">A</ion-picker-column-option>
|
|
73
|
+
<ion-picker-column-option value="b" disabled="true">B</ion-picker-column-option>
|
|
74
|
+
<ion-picker-column-option value="c">C</ion-picker-column-option>
|
|
75
|
+
</ion-picker-column>
|
|
76
|
+
</ion-picker>
|
|
77
|
+
`, config);
|
|
78
|
+
const disabledItem = page.locator('ion-picker-column ion-picker-column-option').nth(1);
|
|
79
|
+
await expect(disabledItem).not.toHaveClass(/option-active/);
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
/**
|
|
84
|
+
* This behavior does not vary across directions.
|
|
85
|
+
*/
|
|
86
|
+
// TODO FW-5580 fix this
|
|
87
|
+
configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
88
|
+
test.describe.skip(title('picker-column: disabled column rendering'), () => {
|
|
89
|
+
test.beforeEach(async ({ page }) => {
|
|
90
|
+
await page.goto('/src/components/picker-column/test/disabled', config);
|
|
91
|
+
});
|
|
92
|
+
test('disabled column should not have visual regressions', async ({ page }) => {
|
|
93
|
+
const disabledColumn = page.locator('#column-disabled');
|
|
94
|
+
await page.waitForChanges();
|
|
95
|
+
await expect(disabledColumn).toHaveScreenshot(screenshot('picker-disabled-column'));
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
/**
|
|
100
|
+
* This behavior does not vary across modes/directions.
|
|
101
|
+
*/
|
|
102
|
+
// TODO FW-5580 fix this
|
|
103
|
+
configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
104
|
+
test.describe.skip(title('picker-column: disabled column'), () => {
|
|
105
|
+
test.beforeEach(async ({ page }) => {
|
|
106
|
+
await page.goto('/src/components/picker-column/test/disabled', config);
|
|
107
|
+
});
|
|
108
|
+
test('item in disabled column should not be interactive', async ({ page }) => {
|
|
109
|
+
const secondItem = page.locator('#column-disabled .picker-item:not(.picker-item-empty)').nth(1);
|
|
110
|
+
await expect(secondItem).toBeDisabled();
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
});
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
+
*/
|
|
4
|
+
import { expect } from "@playwright/test";
|
|
5
|
+
import { configs, test } from "../../../../utils/test/playwright/index";
|
|
6
|
+
configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
7
|
+
test.describe(title('picker-column: slots'), () => {
|
|
8
|
+
test('should not have visual regressions with prefix and suffix', async ({ page }) => {
|
|
9
|
+
await page.setContent(`
|
|
10
|
+
<ion-picker>
|
|
11
|
+
<ion-picker-column value="b">
|
|
12
|
+
<ion-picker-column-option value="a">A</ion-picker-column-option>
|
|
13
|
+
<ion-picker-column-option value="b">B</ion-picker-column-option>
|
|
14
|
+
<ion-picker-column-option value="c">C</ion-picker-column-option>
|
|
15
|
+
<div slot="prefix">Prefix</div>
|
|
16
|
+
<div slot="suffix">Suffix</div>
|
|
17
|
+
</ion-picker-column>
|
|
18
|
+
</ion-picker>
|
|
19
|
+
`, config);
|
|
20
|
+
const picker = page.locator('ion-picker');
|
|
21
|
+
await expect(picker).toHaveScreenshot(screenshot(`picker-prefix-suffix`));
|
|
22
|
+
});
|
|
23
|
+
test('should not have visual regressions with a long prefix and suffix', async ({ page }) => {
|
|
24
|
+
await page.setContent(`
|
|
25
|
+
<ion-picker>
|
|
26
|
+
<ion-picker-column value="b">
|
|
27
|
+
<ion-picker-column-option value="a">A</ion-picker-column-option>
|
|
28
|
+
<ion-picker-column-option value="b">B</ion-picker-column-option>
|
|
29
|
+
<ion-picker-column-option value="c">C</ion-picker-column-option>
|
|
30
|
+
<div slot="prefix">Long prefix long prefix long prefix</div>
|
|
31
|
+
<div slot="suffix">Long suffix long suffix long suffix</div>
|
|
32
|
+
</ion-picker-column>
|
|
33
|
+
</ion-picker>
|
|
34
|
+
`, config);
|
|
35
|
+
const picker = page.locator('ion-picker');
|
|
36
|
+
await expect(picker).toHaveScreenshot(screenshot(`picker-long-prefix-suffix`));
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
});
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert a font size to a dynamic font size.
|
|
3
|
+
* Fonts that participate in Dynamic Type should use
|
|
4
|
+
* dynamic font sizes.
|
|
5
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
6
|
+
* @param unit (optional) - The unit to convert to. Use this if you want to
|
|
7
|
+
* convert to a unit other than $baselineUnit.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Convert a font size to a dynamic font size but impose
|
|
11
|
+
* a maximum font size.
|
|
12
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
13
|
+
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
14
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
15
|
+
* convert to a unit other than $baselineUnit.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Convert a font size to a dynamic font size but impose
|
|
19
|
+
* a minimum font size.
|
|
20
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
21
|
+
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
22
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
23
|
+
* convert to a unit other than $baselineUnit.
|
|
24
|
+
*/
|
|
25
|
+
/**
|
|
26
|
+
* Convert a font size to a dynamic font size but impose
|
|
27
|
+
* maximum and minimum font sizes.
|
|
28
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
29
|
+
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
30
|
+
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
31
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
32
|
+
* convert to a unit other than $baselineUnit.
|
|
33
|
+
*/
|
|
34
|
+
/**
|
|
35
|
+
* A heuristic that applies CSS to tablet
|
|
36
|
+
* viewports.
|
|
37
|
+
*
|
|
38
|
+
* Usage:
|
|
39
|
+
* @include tablet-viewport() {
|
|
40
|
+
* :host {
|
|
41
|
+
* background-color: green;
|
|
42
|
+
* }
|
|
43
|
+
* }
|
|
44
|
+
*/
|
|
45
|
+
/**
|
|
46
|
+
* A heuristic that applies CSS to mobile
|
|
47
|
+
* viewports (i.e. phones, not tablets).
|
|
48
|
+
*
|
|
49
|
+
* Usage:
|
|
50
|
+
* @include mobile-viewport() {
|
|
51
|
+
* :host {
|
|
52
|
+
* background-color: blue;
|
|
53
|
+
* }
|
|
54
|
+
* }
|
|
55
|
+
*/
|
|
56
|
+
button {
|
|
57
|
+
padding-left: 0;
|
|
58
|
+
padding-right: 0;
|
|
59
|
+
padding-top: 0;
|
|
60
|
+
padding-bottom: 0;
|
|
61
|
+
margin-left: 0;
|
|
62
|
+
margin-right: 0;
|
|
63
|
+
margin-top: 0;
|
|
64
|
+
margin-bottom: 0;
|
|
65
|
+
width: 100%;
|
|
66
|
+
height: 34px;
|
|
67
|
+
border: 0px;
|
|
68
|
+
outline: none;
|
|
69
|
+
background: transparent;
|
|
70
|
+
color: inherit;
|
|
71
|
+
font-family: var(--ion-font-family, inherit);
|
|
72
|
+
font-size: inherit;
|
|
73
|
+
line-height: 34px;
|
|
74
|
+
text-align: inherit;
|
|
75
|
+
text-overflow: ellipsis;
|
|
76
|
+
white-space: nowrap;
|
|
77
|
+
cursor: pointer;
|
|
78
|
+
overflow: hidden;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
:host(.option-disabled) {
|
|
82
|
+
opacity: 0.4;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
:host(.option-disabled) button {
|
|
86
|
+
cursor: default;
|
|
87
|
+
}
|