@ionic/core 7.5.8-dev.11701894917.1c1465bd → 7.5.8-dev.11702074871.1238046f
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/data.js +1 -1
- package/components/ion-datetime.js +39 -30
- 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 +6 -3
- 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/{data-36b9094e.js → data-e7526b58.js} +1 -1
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/ion-action-sheet.cjs.entry.js +1 -1
- package/dist/cjs/ion-alert.cjs.entry.js +1 -1
- package/dist/cjs/ion-datetime-button.cjs.entry.js +1 -1
- package/dist/cjs/ion-datetime_3.cjs.entry.js +29 -35
- package/dist/cjs/ion-loading.cjs.entry.js +1 -1
- package/dist/cjs/ion-menu_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-modal.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 +1 -1
- package/dist/cjs/ion-select_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-toast.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-2c6b1072.js → overlays-e8e05b0e.js} +6 -3
- package/dist/collection/collection-manifest.json +7 -6
- package/dist/collection/components/datetime/datetime.ios.css +8 -13
- package/dist/collection/components/datetime/datetime.js +19 -16
- package/dist/collection/components/datetime/datetime.md.css +8 -13
- 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/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 +2 -2
- 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 +113 -211
- package/dist/collection/components/picker/picker.js +468 -743
- package/dist/collection/components/picker/picker.md.css +109 -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/utils/overlays.js +6 -3
- package/dist/docs.json +493 -24
- package/dist/esm/{data-f5c75b4e.js → data-4b9508c9.js} +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/ion-action-sheet.entry.js +1 -1
- package/dist/esm/ion-alert.entry.js +1 -1
- package/dist/esm/ion-datetime-button.entry.js +1 -1
- package/dist/esm/ion-datetime_3.entry.js +28 -34
- package/dist/esm/ion-loading.entry.js +1 -1
- package/dist/esm/ion-menu_3.entry.js +1 -1
- package/dist/esm/ion-modal.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 +1 -1
- package/dist/esm/ion-select_3.entry.js +1 -1
- package/dist/esm/ion-toast.entry.js +1 -1
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{overlays-d23ea6e1.js → overlays-fbc5cab5.js} +6 -3
- 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-datetime-button.entry.js +1 -1
- package/dist/esm-es5/ion-datetime_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-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-select_3.entry.js +1 -1
- package/dist/esm-es5/ion-toast.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/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-2f300cca.entry.js → p-21c3515a.entry.js} +1 -1
- package/dist/ionic/{p-1f620cd4.system.entry.js → p-26798a7b.system.entry.js} +1 -1
- package/dist/ionic/{p-e1e5afe1.system.entry.js → p-27bcbbc7.system.entry.js} +1 -1
- package/dist/ionic/p-36d194c5.entry.js +4 -0
- package/dist/ionic/{p-3b568d18.entry.js → p-4a081ea9.entry.js} +1 -1
- package/dist/ionic/{p-2f2293da.system.entry.js → p-4a36430f.system.entry.js} +1 -1
- package/dist/ionic/{p-fff7a57e.system.js → p-54dfc9b5.system.js} +1 -1
- package/dist/ionic/{p-60b386c9.system.entry.js → p-563c41f0.system.entry.js} +1 -1
- package/dist/ionic/p-5a1aac13.system.entry.js +4 -0
- package/dist/ionic/{p-27ea6f4e.entry.js → p-5d42b6b4.entry.js} +1 -1
- package/dist/ionic/{p-2dc43d20.entry.js → p-6b7c55cd.entry.js} +1 -1
- package/dist/ionic/{p-f78efbd1.entry.js → p-73190c5f.entry.js} +1 -1
- package/dist/ionic/{p-af19a573.entry.js → p-73aa7604.entry.js} +1 -1
- package/dist/ionic/{p-39a335b6.system.entry.js → p-8017aad2.system.entry.js} +1 -1
- package/dist/ionic/{p-1e57bd24.entry.js → p-846ee227.entry.js} +1 -1
- package/dist/ionic/p-8e42850f.entry.js +4 -0
- package/dist/ionic/p-8fa6583d.system.js +4 -0
- package/dist/ionic/{p-4df97e3c.system.entry.js → p-96dbbac1.system.entry.js} +1 -1
- package/dist/ionic/p-9f1b2214.entry.js +4 -0
- package/dist/ionic/{p-8780cc2a.entry.js → p-a8baa23e.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-3e3d06a6.system.entry.js → p-c18de88a.system.entry.js} +1 -1
- package/dist/ionic/p-c41bff4e.system.entry.js +4 -0
- package/dist/ionic/p-ca846d0b.system.entry.js +4 -0
- package/dist/ionic/p-ca8938f4.js +4 -0
- package/dist/ionic/p-e3584231.system.js +1 -1
- package/dist/ionic/{p-9eec42cc.system.entry.js → p-f910cc73.system.entry.js} +1 -1
- package/dist/ionic/{p-e3ad9607.system.entry.js → p-fbf3a689.system.entry.js} +1 -1
- package/dist/ionic/p-ffd5dba4.system.entry.js +4 -0
- package/dist/types/components/datetime/utils/data.d.ts +11 -7
- 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-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.d.ts +155 -122
- package/dist/types/interface.d.ts +1 -1
- package/dist/types/utils/config.d.ts +2 -2
- package/dist/types/utils/overlays.d.ts +5 -2
- package/hydrate/index.js +1486 -1362
- 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-d23ea6e1.js +0 -4
- package/dist/ionic/p-60502e3f.system.entry.js +0 -4
- package/dist/ionic/p-67da080d.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-ab11130c.system.js +0 -4
- package/dist/ionic/p-af16fe62.entry.js +0 -4
- package/dist/ionic/p-c14f8ac8.js +0 -4
- package/dist/ionic/p-cce9f61a.system.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-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 → 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
|
@@ -22,28 +22,28 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
|
|
|
22
22
|
await page.setContent(`
|
|
23
23
|
<ion-datetime locale="en-US" presentation="month-year" month-values="5,6,10"></ion-datetime>
|
|
24
24
|
`, config);
|
|
25
|
-
const items = page.locator('.month-column
|
|
25
|
+
const items = page.locator('.month-column ion-picker-column-option');
|
|
26
26
|
await expect(items).toHaveText(['May', 'June', 'October']);
|
|
27
27
|
});
|
|
28
28
|
test('should render correct years', async ({ page }) => {
|
|
29
29
|
await page.setContent(`
|
|
30
30
|
<ion-datetime locale="en-US" presentation="month-year" year-values="2022,2021,2020"></ion-datetime>
|
|
31
31
|
`, config);
|
|
32
|
-
const items = page.locator('.year-column
|
|
32
|
+
const items = page.locator('.year-column ion-picker-column-option');
|
|
33
33
|
await expect(items).toHaveText(['2022', '2021', '2020']);
|
|
34
34
|
});
|
|
35
35
|
test('should render correct hours', async ({ page }) => {
|
|
36
36
|
await page.setContent(`
|
|
37
37
|
<ion-datetime locale="en-US" presentation="time" hour-values="1,2,3"></ion-datetime>
|
|
38
38
|
`, config);
|
|
39
|
-
const items = page.locator('ion-picker-column
|
|
39
|
+
const items = page.locator('ion-picker-column:first-of-type ion-picker-column-option');
|
|
40
40
|
await expect(items).toHaveText(['1', '2', '3']);
|
|
41
41
|
});
|
|
42
42
|
test('should render correct minutes', async ({ page }) => {
|
|
43
43
|
await page.setContent(`
|
|
44
44
|
<ion-datetime locale="en-US" presentation="time" minute-values="1,2,3"></ion-datetime>
|
|
45
45
|
`, config);
|
|
46
|
-
const items = page.locator('ion-picker-column
|
|
46
|
+
const items = page.locator('ion-picker-column:nth-of-type(2) ion-picker-column-option');
|
|
47
47
|
await expect(items).toHaveText(['01', '02', '03']);
|
|
48
48
|
});
|
|
49
49
|
test('should adjust default parts for allowed hour and minute values', async ({ page }) => {
|
|
@@ -69,19 +69,22 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
|
|
|
69
69
|
</script>
|
|
70
70
|
`, config);
|
|
71
71
|
await page.waitForSelector('.datetime-ready');
|
|
72
|
-
const
|
|
72
|
+
const minuteColumn = page.locator('ion-picker-column').nth(1);
|
|
73
|
+
const minuteItems = minuteColumn.locator('ion-picker-column-option');
|
|
73
74
|
await expect(minuteItems).toHaveText(['00', '15', '30', '45']);
|
|
74
|
-
await expect(
|
|
75
|
-
const
|
|
75
|
+
await expect(minuteColumn).toHaveJSProperty('value', 15);
|
|
76
|
+
const hourColumn = page.locator('ion-picker-column').nth(0);
|
|
77
|
+
const hourItems = hourColumn.locator('ion-picker-column-option');
|
|
76
78
|
await expect(hourItems).toHaveText(['2']);
|
|
77
|
-
await expect(
|
|
79
|
+
await expect(hourColumn).toHaveJSProperty('value', 2);
|
|
78
80
|
/**
|
|
79
81
|
* Since the allowed hour is 2AM, the time period
|
|
80
82
|
* should switch from PM to AM.
|
|
81
83
|
*/
|
|
82
|
-
const
|
|
84
|
+
const ampmColumn = page.locator('ion-picker-column').nth(2);
|
|
85
|
+
const ampmItems = ampmColumn.locator('ion-picker-column-option');
|
|
83
86
|
await expect(ampmItems).toHaveText(['AM', 'PM']);
|
|
84
|
-
await expect(
|
|
87
|
+
await expect(ampmColumn).toHaveJSProperty('value', 'am');
|
|
85
88
|
});
|
|
86
89
|
test('should adjust default parts month for allowed month values', async ({ page }) => {
|
|
87
90
|
/**
|
|
@@ -106,9 +109,9 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
|
|
|
106
109
|
</script>
|
|
107
110
|
`, config);
|
|
108
111
|
await page.waitForSelector('.datetime-ready');
|
|
109
|
-
const monthItems = page.locator('.month-column
|
|
112
|
+
const monthItems = page.locator('.month-column ion-picker-column-option');
|
|
110
113
|
await expect(monthItems).toHaveText(['January']);
|
|
111
|
-
await expect(monthItems.nth(0)).toHaveClass(/
|
|
114
|
+
await expect(monthItems.nth(0)).toHaveClass(/option-active/);
|
|
112
115
|
});
|
|
113
116
|
test('today date highlight should persist even if disallowed from dayValues', async ({ page }) => {
|
|
114
117
|
/**
|
|
@@ -323,7 +323,7 @@ export const getMonthColumnData = (locale, refParts, minParts, maxParts, monthVa
|
|
|
323
323
|
* @param minParts The minimum bound on the date that can be returned
|
|
324
324
|
* @param maxParts The maximum bound on the date that can be returned
|
|
325
325
|
* @param dayValues The allowed date values
|
|
326
|
-
* @returns Date data to be used in ion-picker-column
|
|
326
|
+
* @returns Date data to be used in ion-picker-column
|
|
327
327
|
*/
|
|
328
328
|
export const getDayColumnData = (locale, refParts, minParts, maxParts, dayValues, formatOptions = {
|
|
329
329
|
day: 'numeric',
|
|
@@ -53,134 +53,6 @@
|
|
|
53
53
|
* }
|
|
54
54
|
* }
|
|
55
55
|
*/
|
|
56
|
-
:host {
|
|
57
|
-
/**
|
|
58
|
-
* @prop --background: Background of the picker
|
|
59
|
-
* @prop --background-rgb: Background of the picker in rgb format
|
|
60
|
-
*
|
|
61
|
-
* @prop --border-radius: Border radius of the picker
|
|
62
|
-
* @prop --border-color: Border color of the picker
|
|
63
|
-
* @prop --border-width: Border width of the picker
|
|
64
|
-
* @prop --border-style: Border style of the picker
|
|
65
|
-
*
|
|
66
|
-
* @prop --min-width: Minimum width of the picker
|
|
67
|
-
* @prop --width: Width of the picker
|
|
68
|
-
* @prop --max-width: Maximum width of the picker
|
|
69
|
-
*
|
|
70
|
-
* @prop --min-height: Minimum height of the picker
|
|
71
|
-
* @prop --height: Height of the picker
|
|
72
|
-
* @prop --max-height: Maximum height of the picker
|
|
73
|
-
*
|
|
74
|
-
* @prop --backdrop-opacity: Opacity of the backdrop
|
|
75
|
-
*/
|
|
76
|
-
--border-radius: 0;
|
|
77
|
-
--border-style: solid;
|
|
78
|
-
--min-width: auto;
|
|
79
|
-
--width: 100%;
|
|
80
|
-
--max-width: 500px;
|
|
81
|
-
--min-height: auto;
|
|
82
|
-
--max-height: auto;
|
|
83
|
-
-moz-osx-font-smoothing: grayscale;
|
|
84
|
-
-webkit-font-smoothing: antialiased;
|
|
85
|
-
top: 0;
|
|
86
|
-
display: block;
|
|
87
|
-
position: absolute;
|
|
88
|
-
width: 100%;
|
|
89
|
-
height: 100%;
|
|
90
|
-
outline: none;
|
|
91
|
-
font-family: var(--ion-font-family, inherit);
|
|
92
|
-
contain: strict;
|
|
93
|
-
user-select: none;
|
|
94
|
-
z-index: 1001;
|
|
95
|
-
}
|
|
96
|
-
@supports (inset-inline-start: 0) {
|
|
97
|
-
:host {
|
|
98
|
-
inset-inline-start: 0;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
@supports not (inset-inline-start: 0) {
|
|
102
|
-
:host {
|
|
103
|
-
left: 0;
|
|
104
|
-
}
|
|
105
|
-
:host-context([dir=rtl]) {
|
|
106
|
-
left: unset;
|
|
107
|
-
right: unset;
|
|
108
|
-
right: 0;
|
|
109
|
-
}
|
|
110
|
-
@supports selector(:dir(rtl)) {
|
|
111
|
-
:host(:dir(rtl)) {
|
|
112
|
-
left: unset;
|
|
113
|
-
right: unset;
|
|
114
|
-
right: 0;
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
:host(.overlay-hidden) {
|
|
120
|
-
display: none;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
.picker-wrapper {
|
|
124
|
-
border-radius: var(--border-radius);
|
|
125
|
-
left: 0;
|
|
126
|
-
right: 0;
|
|
127
|
-
bottom: 0;
|
|
128
|
-
-webkit-margin-start: auto;
|
|
129
|
-
margin-inline-start: auto;
|
|
130
|
-
-webkit-margin-end: auto;
|
|
131
|
-
margin-inline-end: auto;
|
|
132
|
-
margin-top: auto;
|
|
133
|
-
margin-bottom: auto;
|
|
134
|
-
transform: translate3d(0, 100%, 0);
|
|
135
|
-
display: flex;
|
|
136
|
-
position: absolute;
|
|
137
|
-
flex-direction: column;
|
|
138
|
-
width: var(--width);
|
|
139
|
-
min-width: var(--min-width);
|
|
140
|
-
max-width: var(--max-width);
|
|
141
|
-
height: var(--height);
|
|
142
|
-
min-height: var(--min-height);
|
|
143
|
-
max-height: var(--max-height);
|
|
144
|
-
border-width: var(--border-width);
|
|
145
|
-
border-style: var(--border-style);
|
|
146
|
-
border-color: var(--border-color);
|
|
147
|
-
background: var(--background);
|
|
148
|
-
contain: strict;
|
|
149
|
-
overflow: hidden;
|
|
150
|
-
z-index: 10;
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
.picker-toolbar {
|
|
154
|
-
width: 100%;
|
|
155
|
-
background: transparent;
|
|
156
|
-
contain: strict;
|
|
157
|
-
z-index: 1;
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
.picker-button {
|
|
161
|
-
border: 0;
|
|
162
|
-
font-family: inherit;
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
.picker-button:active, .picker-button:focus {
|
|
166
|
-
outline: none;
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
.picker-columns {
|
|
170
|
-
display: flex;
|
|
171
|
-
position: relative;
|
|
172
|
-
justify-content: center;
|
|
173
|
-
margin-bottom: var(--ion-safe-area-bottom, 0);
|
|
174
|
-
contain: strict;
|
|
175
|
-
overflow: hidden;
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
.picker-above-highlight,
|
|
179
|
-
.picker-below-highlight {
|
|
180
|
-
display: none;
|
|
181
|
-
pointer-events: none;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
56
|
/**
|
|
185
57
|
* Convert a font size to a dynamic font size.
|
|
186
58
|
* Fonts that participate in Dynamic Type should use
|
|
@@ -237,89 +109,68 @@
|
|
|
237
109
|
* }
|
|
238
110
|
*/
|
|
239
111
|
:host {
|
|
240
|
-
|
|
241
|
-
--
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
--
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
.picker-toolbar {
|
|
112
|
+
/**
|
|
113
|
+
* @prop --highlight-background: Background of the picker highlight for the selected item
|
|
114
|
+
* @prop --highlight-border-radius: Border radius of the picker highlight for the selected item
|
|
115
|
+
*
|
|
116
|
+
* @prop --fade-background-rgb: Background of the gradient covering non-selected items in rgb format
|
|
117
|
+
*/
|
|
118
|
+
--highlight-border-radius: 8px;
|
|
249
119
|
display: flex;
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
.picker-button,
|
|
269
|
-
.picker-button.ion-activated {
|
|
270
|
-
margin-left: 0;
|
|
271
|
-
margin-right: 0;
|
|
272
|
-
margin-top: 0;
|
|
273
|
-
margin-bottom: 0;
|
|
274
|
-
-webkit-padding-start: 1em;
|
|
275
|
-
padding-inline-start: 1em;
|
|
276
|
-
-webkit-padding-end: 1em;
|
|
277
|
-
padding-inline-end: 1em;
|
|
278
|
-
padding-top: 0;
|
|
279
|
-
padding-bottom: 0;
|
|
280
|
-
height: 44px;
|
|
281
|
-
background: transparent;
|
|
282
|
-
color: var(--ion-color-primary, #3880ff);
|
|
283
|
-
font-size: 16px;
|
|
120
|
+
position: relative;
|
|
121
|
+
align-items: center;
|
|
122
|
+
justify-content: center;
|
|
123
|
+
width: 100%;
|
|
124
|
+
height: 200px;
|
|
125
|
+
/**
|
|
126
|
+
* Picker columns should display
|
|
127
|
+
* in the order in which developers
|
|
128
|
+
* added them and should ignore
|
|
129
|
+
* LTR vs RTL directions.
|
|
130
|
+
*/
|
|
131
|
+
direction: ltr;
|
|
132
|
+
/**
|
|
133
|
+
* This is required otherwise the
|
|
134
|
+
* highlight will appear behind
|
|
135
|
+
* the picker when used inline.
|
|
136
|
+
*/
|
|
137
|
+
z-index: 0;
|
|
284
138
|
}
|
|
285
139
|
|
|
286
|
-
.picker-
|
|
287
|
-
|
|
288
|
-
|
|
140
|
+
:host .picker-before,
|
|
141
|
+
:host .picker-after {
|
|
142
|
+
position: absolute;
|
|
143
|
+
width: 100%;
|
|
144
|
+
/**
|
|
145
|
+
* The transform and z-index
|
|
146
|
+
* are needed for WebKit otherwise
|
|
147
|
+
* the fade will appear underneath the picker.
|
|
148
|
+
*/
|
|
149
|
+
transform: translateZ(0);
|
|
150
|
+
z-index: 1;
|
|
151
|
+
pointer-events: none;
|
|
289
152
|
}
|
|
290
153
|
|
|
291
|
-
.picker-
|
|
154
|
+
:host .picker-before {
|
|
292
155
|
top: 0;
|
|
293
|
-
|
|
294
|
-
display: block;
|
|
295
|
-
position: absolute;
|
|
296
|
-
width: 100%;
|
|
297
|
-
height: 81px;
|
|
298
|
-
border-bottom: 1px solid var(--border-color);
|
|
299
|
-
background: linear-gradient(to bottom, var(--background, var(--ion-background-color, #fff)) 20%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%);
|
|
300
|
-
z-index: 10;
|
|
156
|
+
height: 83px;
|
|
301
157
|
}
|
|
302
158
|
@supports (inset-inline-start: 0) {
|
|
303
|
-
.picker-
|
|
159
|
+
:host .picker-before {
|
|
304
160
|
inset-inline-start: 0;
|
|
305
161
|
}
|
|
306
162
|
}
|
|
307
163
|
@supports not (inset-inline-start: 0) {
|
|
308
|
-
.picker-
|
|
164
|
+
:host .picker-before {
|
|
309
165
|
left: 0;
|
|
310
166
|
}
|
|
311
|
-
:host-context([dir=rtl]) .picker-
|
|
312
|
-
left: unset;
|
|
313
|
-
right: unset;
|
|
314
|
-
right: 0;
|
|
315
|
-
}
|
|
316
|
-
[dir=rtl] .picker-above-highlight {
|
|
167
|
+
:host-context([dir=rtl]) .picker-before {
|
|
317
168
|
left: unset;
|
|
318
169
|
right: unset;
|
|
319
170
|
right: 0;
|
|
320
171
|
}
|
|
321
172
|
@supports selector(:dir(rtl)) {
|
|
322
|
-
|
|
173
|
+
:host(:dir(rtl)) .picker-before {
|
|
323
174
|
left: unset;
|
|
324
175
|
right: unset;
|
|
325
176
|
right: 0;
|
|
@@ -327,41 +178,92 @@
|
|
|
327
178
|
}
|
|
328
179
|
}
|
|
329
180
|
|
|
330
|
-
.picker-
|
|
331
|
-
top:
|
|
332
|
-
|
|
333
|
-
display: block;
|
|
334
|
-
position: absolute;
|
|
335
|
-
width: 100%;
|
|
336
|
-
height: 119px;
|
|
337
|
-
border-top: 1px solid var(--border-color);
|
|
338
|
-
background: linear-gradient(to top, var(--background, var(--ion-background-color, #fff)) 30%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%);
|
|
339
|
-
z-index: 11;
|
|
181
|
+
:host .picker-after {
|
|
182
|
+
top: 116px;
|
|
183
|
+
height: 84px;
|
|
340
184
|
}
|
|
341
185
|
@supports (inset-inline-start: 0) {
|
|
342
|
-
.picker-
|
|
186
|
+
:host .picker-after {
|
|
343
187
|
inset-inline-start: 0;
|
|
344
188
|
}
|
|
345
189
|
}
|
|
346
190
|
@supports not (inset-inline-start: 0) {
|
|
347
|
-
.picker-
|
|
191
|
+
:host .picker-after {
|
|
348
192
|
left: 0;
|
|
349
193
|
}
|
|
350
|
-
:host-context([dir=rtl]) .picker-
|
|
351
|
-
left: unset;
|
|
352
|
-
right: unset;
|
|
353
|
-
right: 0;
|
|
354
|
-
}
|
|
355
|
-
[dir=rtl] .picker-below-highlight {
|
|
194
|
+
:host-context([dir=rtl]) .picker-after {
|
|
356
195
|
left: unset;
|
|
357
196
|
right: unset;
|
|
358
197
|
right: 0;
|
|
359
198
|
}
|
|
360
199
|
@supports selector(:dir(rtl)) {
|
|
361
|
-
|
|
200
|
+
:host(:dir(rtl)) .picker-after {
|
|
362
201
|
left: unset;
|
|
363
202
|
right: unset;
|
|
364
203
|
right: 0;
|
|
365
204
|
}
|
|
366
205
|
}
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
:host .picker-highlight {
|
|
209
|
+
border-radius: var(--highlight-border-radius);
|
|
210
|
+
left: 0;
|
|
211
|
+
right: 0;
|
|
212
|
+
top: 50%;
|
|
213
|
+
bottom: 0;
|
|
214
|
+
-webkit-margin-start: auto;
|
|
215
|
+
margin-inline-start: auto;
|
|
216
|
+
-webkit-margin-end: auto;
|
|
217
|
+
margin-inline-end: auto;
|
|
218
|
+
margin-top: 0;
|
|
219
|
+
margin-bottom: 0;
|
|
220
|
+
position: absolute;
|
|
221
|
+
width: calc(100% - 16px);
|
|
222
|
+
height: 34px;
|
|
223
|
+
transform: translateY(-50%);
|
|
224
|
+
background: var(--highlight-background);
|
|
225
|
+
z-index: -1;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
:host input {
|
|
229
|
+
position: absolute;
|
|
230
|
+
top: 0;
|
|
231
|
+
left: 0;
|
|
232
|
+
right: 0;
|
|
233
|
+
bottom: 0;
|
|
234
|
+
width: 100%;
|
|
235
|
+
height: 100%;
|
|
236
|
+
margin: 0;
|
|
237
|
+
padding: 0;
|
|
238
|
+
border: 0;
|
|
239
|
+
outline: 0;
|
|
240
|
+
clip: rect(0 0 0 0);
|
|
241
|
+
opacity: 0;
|
|
242
|
+
overflow: hidden;
|
|
243
|
+
-webkit-appearance: none;
|
|
244
|
+
-moz-appearance: none;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
:host ::slotted(ion-picker-column:first-of-type) {
|
|
248
|
+
text-align: start;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
:host ::slotted(ion-picker-column:last-of-type) {
|
|
252
|
+
text-align: end;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
:host ::slotted(ion-picker-column:only-child) {
|
|
256
|
+
text-align: center;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
:host .picker-before {
|
|
260
|
+
background: linear-gradient(to bottom, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 20%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0.8) 100%);
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
:host .picker-after {
|
|
264
|
+
background: linear-gradient(to top, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 20%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0.8) 100%);
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
:host .picker-highlight {
|
|
268
|
+
background: var(--highlight-background, var(--ion-color-step-150, #eeeeef));
|
|
367
269
|
}
|