@ionic/core 7.5.7-dev.11701113479.149fdab6 → 7.5.7-dev.11701201960.104b3a1f
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 +16 -16
- package/components/{ion-picker-internal.d.ts → ion-picker-column.d.ts} +4 -4
- package/components/ion-picker-column.js +9 -0
- package/components/ion-picker-legacy-column.js +1 -1
- package/components/ion-picker-legacy.js +2 -2
- package/components/ion-picker.d.ts +11 -0
- package/components/ion-picker.js +9 -0
- package/components/picker-column.js +333 -322
- package/components/picker-column2.js +379 -0
- package/components/{picker-internal.js → picker.js} +16 -16
- package/dist/cjs/{data-c8d21093.js → data-4845b494.js} +1 -1
- package/dist/cjs/ion-datetime-button.cjs.entry.js +1 -1
- package/dist/cjs/ion-datetime_3.cjs.entry.js +13 -13
- package/dist/cjs/{ion-picker-column-internal.cjs.entry.js → ion-picker-column.cjs.entry.js} +9 -9
- package/dist/cjs/{ion-picker-internal.cjs.entry.js → ion-picker.cjs.entry.js} +13 -13
- package/dist/cjs/ionic.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +3 -3
- package/dist/collection/components/datetime/datetime.ios.css +1 -1
- package/dist/collection/components/datetime/datetime.js +9 -9
- package/dist/collection/components/datetime/datetime.md.css +1 -1
- package/dist/collection/components/datetime/test/disabled/datetime.spec.js +4 -4
- package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +5 -5
- package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +2 -2
- package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +1 -1
- package/dist/collection/components/datetime/test/values/datetime.e2e.js +5 -5
- package/dist/collection/components/datetime/utils/data.js +1 -1
- package/dist/collection/components/{picker-internal/picker-internal.ios.css → picker/picker.ios.css} +3 -3
- package/dist/collection/components/{picker-internal/picker-internal.js → picker/picker.js} +17 -18
- package/dist/collection/components/{picker-internal/picker-internal.md.css → picker/picker.md.css} +3 -3
- 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-internal/test/basic/picker-internal.e2e.js → picker/test/basic/picker.e2e.js} +22 -22
- package/dist/collection/components/{picker-internal/test/keyboard-entry/picker-internal.e2e.js → picker/test/keyboard-entry/picker.e2e.js} +20 -20
- package/dist/collection/components/{picker-column-internal/picker-column-internal.js → picker-column/picker-column.js} +12 -13
- package/dist/collection/components/{picker-column-internal/test/basic/picker-column-internal.e2e.js → picker-column/test/basic/picker-column.e2e.js} +7 -7
- package/dist/collection/components/{picker-column-internal/test/disabled/picker-column-internal.e2e.js → picker-column/test/disabled/picker-column.e2e.js} +39 -39
- package/dist/collection/components/picker-legacy/picker.js +1 -1
- package/dist/collection/components/{picker-column-legacy → picker-legacy-column}/test/standalone/picker-column.e2e.js +1 -1
- package/dist/docs.json +307 -14
- package/dist/esm/{data-44d9e816.js → data-12e24f00.js} +1 -1
- package/dist/esm/ion-datetime-button.entry.js +1 -1
- package/dist/esm/ion-datetime_3.entry.js +13 -13
- package/dist/esm/{ion-picker-column-internal.entry.js → ion-picker-column.entry.js} +9 -9
- package/dist/esm/{ion-picker-internal.entry.js → ion-picker.entry.js} +13 -13
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/loader.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-picker-column.entry.js +4 -0
- package/dist/esm-es5/ion-picker.entry.js +4 -0
- package/dist/esm-es5/ionic.js +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/html.html-data.json +95 -0
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-39074595.entry.js +4 -0
- package/dist/ionic/p-40903d34.system.js +1 -1
- package/dist/ionic/p-439e20ef.entry.js +4 -0
- package/dist/ionic/p-7c66a566.system.entry.js +4 -0
- package/dist/ionic/p-9403b297.system.entry.js +4 -0
- package/dist/ionic/p-ba70d455.entry.js +4 -0
- package/dist/ionic/{p-8ad82eb3.entry.js → p-baa7cb1e.entry.js} +1 -1
- package/dist/ionic/p-c32bf078.system.entry.js +4 -0
- package/dist/ionic/{p-4c80afe1.system.entry.js → p-cb62e3fc.system.entry.js} +1 -1
- package/dist/types/components/datetime/utils/data.d.ts +2 -2
- package/dist/types/components/picker/picker-interfaces.d.ts +8 -0
- package/dist/types/components/{picker-internal/picker-internal.d.ts → picker/picker.d.ts} +4 -5
- package/dist/types/components/{picker-column-internal/picker-column-internal.d.ts → picker-column/picker-column.d.ts} +3 -4
- package/dist/types/components.d.ts +47 -47
- package/hydrate/index.js +1046 -1048
- 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/esm-es5/ion-picker-column-internal.entry.js +0 -4
- package/dist/esm-es5/ion-picker-internal.entry.js +0 -4
- package/dist/ionic/p-1a368f2e.system.entry.js +0 -4
- package/dist/ionic/p-29fe18ef.entry.js +0 -4
- package/dist/ionic/p-5bd4e009.entry.js +0 -4
- package/dist/ionic/p-beb64be7.system.entry.js +0 -4
- package/dist/ionic/p-c56b6570.system.entry.js +0 -4
- package/dist/ionic/p-c59d068a.entry.js +0 -4
- package/dist/types/components/picker-internal/picker-internal-interfaces.d.ts +0 -8
- /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-column-internal/picker-column-internal.ios.css → picker-column/picker-column.ios.css} +0 -0
- /package/dist/collection/components/{picker-column-internal/picker-column-internal.md.css → picker-column/picker-column.md.css} +0 -0
- /package/dist/collection/components/{picker-column-legacy → picker-legacy-column}/picker-column.ios.css +0 -0
- /package/dist/collection/components/{picker-column-legacy → picker-legacy-column}/picker-column.js +0 -0
- /package/dist/collection/components/{picker-column-legacy → picker-legacy-column}/picker-column.md.css +0 -0
- /package/dist/collection/components/{picker-column-legacy → picker-legacy-column}/test/picker-column-aria.spec.js +0 -0
- /package/dist/collection/components/{picker-column-legacy → picker-legacy-column}/test/picker-column-dynamic.spec.js +0 -0
- /package/dist/collection/components/{picker-column-legacy → picker-legacy-column}/test/picker-column.spec.js +0 -0
- /package/dist/collection/components/{picker-column-legacy → picker-legacy-column}/test/test.utils.js +0 -0
- /package/dist/esm-es5/{data-44d9e816.js → data-12e24f00.js} +0 -0
- /package/dist/ionic/{p-17240d90.js → p-bb849ebb.js} +0 -0
- /package/dist/ionic/{p-b8c3f071.system.js → p-e4219e27.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-column-legacy → picker-legacy-column}/picker-column.d.ts +0 -0
- /package/dist/types/components/{picker-column-legacy → picker-legacy-column}/test/test.utils.d.ts +0 -0
|
@@ -0,0 +1,379 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
+
*/
|
|
4
|
+
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
|
5
|
+
import { m as clamp } from './helpers.js';
|
|
6
|
+
import { b as hapticSelectionChanged, h as hapticSelectionEnd, a as hapticSelectionStart } from './haptic.js';
|
|
7
|
+
import { g as getClassMap } from './theme.js';
|
|
8
|
+
import { b as getIonMode } from './ionic-global.js';
|
|
9
|
+
|
|
10
|
+
const pickerColumnIosCss = ".picker-col{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-box-sizing:content-box;box-sizing:content-box;contain:content}.picker-opts{position:relative;-ms-flex:1;flex:1;max-width:100%}.picker-opt{top:0;display:block;position:absolute;width:100%;border:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;contain:strict;overflow:hidden;will-change:transform}@supports (inset-inline-start: 0){.picker-opt{inset-inline-start:0}}@supports not (inset-inline-start: 0){.picker-opt{left:0}:host-context([dir=rtl]) .picker-opt{left:unset;right:unset;right:0}[dir=rtl] .picker-opt{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.picker-opt:dir(rtl){left:unset;right:unset;right:0}}}.picker-opt.picker-opt-disabled{pointer-events:none}.picker-opt-disabled{opacity:0}.picker-opts-left{-ms-flex-pack:start;justify-content:flex-start}.picker-opts-right{-ms-flex-pack:end;justify-content:flex-end}.picker-opt:active,.picker-opt:focus{outline:none}.picker-prefix{position:relative;-ms-flex:1;flex:1;text-align:end;white-space:nowrap}.picker-suffix{position:relative;-ms-flex:1;flex:1;text-align:start;white-space:nowrap}.picker-col{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:0;padding-bottom:0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.picker-prefix,.picker-suffix,.picker-opts{top:77px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;color:inherit;font-size:20px;line-height:42px;pointer-events:none}.picker-opt{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-transform-origin:center center;transform-origin:center center;height:46px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;background:transparent;color:inherit;font-size:20px;line-height:42px;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:auto}:host-context([dir=rtl]) .picker-opt{-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}[dir=rtl] .picker-opt{-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}@supports selector(:dir(rtl)){.picker-opt:dir(rtl){-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}}";
|
|
11
|
+
|
|
12
|
+
const pickerColumnMdCss = ".picker-col{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-box-sizing:content-box;box-sizing:content-box;contain:content}.picker-opts{position:relative;-ms-flex:1;flex:1;max-width:100%}.picker-opt{top:0;display:block;position:absolute;width:100%;border:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;contain:strict;overflow:hidden;will-change:transform}@supports (inset-inline-start: 0){.picker-opt{inset-inline-start:0}}@supports not (inset-inline-start: 0){.picker-opt{left:0}:host-context([dir=rtl]) .picker-opt{left:unset;right:unset;right:0}[dir=rtl] .picker-opt{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.picker-opt:dir(rtl){left:unset;right:unset;right:0}}}.picker-opt.picker-opt-disabled{pointer-events:none}.picker-opt-disabled{opacity:0}.picker-opts-left{-ms-flex-pack:start;justify-content:flex-start}.picker-opts-right{-ms-flex-pack:end;justify-content:flex-end}.picker-opt:active,.picker-opt:focus{outline:none}.picker-prefix{position:relative;-ms-flex:1;flex:1;text-align:end;white-space:nowrap}.picker-suffix{position:relative;-ms-flex:1;flex:1;text-align:start;white-space:nowrap}.picker-col{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:0;padding-bottom:0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.picker-prefix,.picker-suffix,.picker-opts{top:77px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;color:inherit;font-size:22px;line-height:42px;pointer-events:none}.picker-opt{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;height:43px;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;background:transparent;color:inherit;font-size:22px;line-height:42px;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:auto}.picker-prefix,.picker-suffix,.picker-opt.picker-opt-selected{color:var(--ion-color-primary, #3880ff)}";
|
|
13
|
+
|
|
14
|
+
const PickerColumnCmp = /*@__PURE__*/ proxyCustomElement(class PickerColumnCmp extends HTMLElement {
|
|
15
|
+
constructor() {
|
|
16
|
+
super();
|
|
17
|
+
this.__registerHost();
|
|
18
|
+
this.ionPickerColChange = createEvent(this, "ionPickerColChange", 7);
|
|
19
|
+
this.optHeight = 0;
|
|
20
|
+
this.rotateFactor = 0;
|
|
21
|
+
this.scaleFactor = 1;
|
|
22
|
+
this.velocity = 0;
|
|
23
|
+
this.y = 0;
|
|
24
|
+
this.noAnimate = true;
|
|
25
|
+
// `colDidChange` is a flag that gets set when the column is changed
|
|
26
|
+
// dynamically. When this flag is set, the column will refresh
|
|
27
|
+
// after the component re-renders to incorporate the new column data.
|
|
28
|
+
// This is necessary because `this.refresh` queries for the option elements,
|
|
29
|
+
// so it needs to wait for the latest elements to be available in the DOM.
|
|
30
|
+
// Ex: column is created with 3 options. User updates the column data
|
|
31
|
+
// to have 5 options. The column will still think it only has 3 options.
|
|
32
|
+
this.colDidChange = false;
|
|
33
|
+
this.col = undefined;
|
|
34
|
+
}
|
|
35
|
+
colChanged() {
|
|
36
|
+
this.colDidChange = true;
|
|
37
|
+
}
|
|
38
|
+
async connectedCallback() {
|
|
39
|
+
let pickerRotateFactor = 0;
|
|
40
|
+
let pickerScaleFactor = 0.81;
|
|
41
|
+
const mode = getIonMode(this);
|
|
42
|
+
if (mode === 'ios') {
|
|
43
|
+
pickerRotateFactor = -0.46;
|
|
44
|
+
pickerScaleFactor = 1;
|
|
45
|
+
}
|
|
46
|
+
this.rotateFactor = pickerRotateFactor;
|
|
47
|
+
this.scaleFactor = pickerScaleFactor;
|
|
48
|
+
this.gesture = (await import('./index3.js')).createGesture({
|
|
49
|
+
el: this.el,
|
|
50
|
+
gestureName: 'picker-swipe',
|
|
51
|
+
gesturePriority: 100,
|
|
52
|
+
threshold: 0,
|
|
53
|
+
passive: false,
|
|
54
|
+
onStart: (ev) => this.onStart(ev),
|
|
55
|
+
onMove: (ev) => this.onMove(ev),
|
|
56
|
+
onEnd: (ev) => this.onEnd(ev),
|
|
57
|
+
});
|
|
58
|
+
this.gesture.enable();
|
|
59
|
+
// Options have not been initialized yet
|
|
60
|
+
// Animation must be disabled through the `noAnimate` flag
|
|
61
|
+
// Otherwise, the options will render
|
|
62
|
+
// at the top of the column and transition down
|
|
63
|
+
this.tmrId = setTimeout(() => {
|
|
64
|
+
this.noAnimate = false;
|
|
65
|
+
// After initialization, `refresh()` will be called
|
|
66
|
+
// At this point, animation will be enabled. The options will
|
|
67
|
+
// animate as they are being selected.
|
|
68
|
+
this.refresh(true);
|
|
69
|
+
}, 250);
|
|
70
|
+
}
|
|
71
|
+
componentDidLoad() {
|
|
72
|
+
this.onDomChange();
|
|
73
|
+
}
|
|
74
|
+
componentDidUpdate() {
|
|
75
|
+
// Options may have changed since last update.
|
|
76
|
+
if (this.colDidChange) {
|
|
77
|
+
// Animation must be disabled through the `onDomChange` parameter.
|
|
78
|
+
// Otherwise, the recently added options will render
|
|
79
|
+
// at the top of the column and transition down
|
|
80
|
+
this.onDomChange(true, false);
|
|
81
|
+
this.colDidChange = false;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
disconnectedCallback() {
|
|
85
|
+
if (this.rafId !== undefined)
|
|
86
|
+
cancelAnimationFrame(this.rafId);
|
|
87
|
+
if (this.tmrId)
|
|
88
|
+
clearTimeout(this.tmrId);
|
|
89
|
+
if (this.gesture) {
|
|
90
|
+
this.gesture.destroy();
|
|
91
|
+
this.gesture = undefined;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
emitColChange() {
|
|
95
|
+
this.ionPickerColChange.emit(this.col);
|
|
96
|
+
}
|
|
97
|
+
setSelected(selectedIndex, duration) {
|
|
98
|
+
// if there is a selected index, then figure out it's y position
|
|
99
|
+
// if there isn't a selected index, then just use the top y position
|
|
100
|
+
const y = selectedIndex > -1 ? -(selectedIndex * this.optHeight) : 0;
|
|
101
|
+
this.velocity = 0;
|
|
102
|
+
// set what y position we're at
|
|
103
|
+
if (this.rafId !== undefined)
|
|
104
|
+
cancelAnimationFrame(this.rafId);
|
|
105
|
+
this.update(y, duration, true);
|
|
106
|
+
this.emitColChange();
|
|
107
|
+
}
|
|
108
|
+
update(y, duration, saveY) {
|
|
109
|
+
if (!this.optsEl) {
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
// ensure we've got a good round number :)
|
|
113
|
+
let translateY = 0;
|
|
114
|
+
let translateZ = 0;
|
|
115
|
+
const { col, rotateFactor } = this;
|
|
116
|
+
const prevSelected = col.selectedIndex;
|
|
117
|
+
const selectedIndex = (col.selectedIndex = this.indexForY(-y));
|
|
118
|
+
const durationStr = duration === 0 ? '' : duration + 'ms';
|
|
119
|
+
const scaleStr = `scale(${this.scaleFactor})`;
|
|
120
|
+
const children = this.optsEl.children;
|
|
121
|
+
for (let i = 0; i < children.length; i++) {
|
|
122
|
+
const button = children[i];
|
|
123
|
+
const opt = col.options[i];
|
|
124
|
+
const optOffset = i * this.optHeight + y;
|
|
125
|
+
let transform = '';
|
|
126
|
+
if (rotateFactor !== 0) {
|
|
127
|
+
const rotateX = optOffset * rotateFactor;
|
|
128
|
+
if (Math.abs(rotateX) <= 90) {
|
|
129
|
+
translateY = 0;
|
|
130
|
+
translateZ = 90;
|
|
131
|
+
transform = `rotateX(${rotateX}deg) `;
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
translateY = -9999;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
translateZ = 0;
|
|
139
|
+
translateY = optOffset;
|
|
140
|
+
}
|
|
141
|
+
const selected = selectedIndex === i;
|
|
142
|
+
transform += `translate3d(0px,${translateY}px,${translateZ}px) `;
|
|
143
|
+
if (this.scaleFactor !== 1 && !selected) {
|
|
144
|
+
transform += scaleStr;
|
|
145
|
+
}
|
|
146
|
+
// Update transition duration
|
|
147
|
+
if (this.noAnimate) {
|
|
148
|
+
opt.duration = 0;
|
|
149
|
+
button.style.transitionDuration = '';
|
|
150
|
+
}
|
|
151
|
+
else if (duration !== opt.duration) {
|
|
152
|
+
opt.duration = duration;
|
|
153
|
+
button.style.transitionDuration = durationStr;
|
|
154
|
+
}
|
|
155
|
+
// Update transform
|
|
156
|
+
if (transform !== opt.transform) {
|
|
157
|
+
opt.transform = transform;
|
|
158
|
+
}
|
|
159
|
+
button.style.transform = transform;
|
|
160
|
+
/**
|
|
161
|
+
* Ensure that the select column
|
|
162
|
+
* item has the selected class
|
|
163
|
+
*/
|
|
164
|
+
opt.selected = selected;
|
|
165
|
+
if (selected) {
|
|
166
|
+
button.classList.add(PICKER_OPT_SELECTED);
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
button.classList.remove(PICKER_OPT_SELECTED);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
this.col.prevSelected = prevSelected;
|
|
173
|
+
if (saveY) {
|
|
174
|
+
this.y = y;
|
|
175
|
+
}
|
|
176
|
+
if (this.lastIndex !== selectedIndex) {
|
|
177
|
+
// have not set a last index yet
|
|
178
|
+
hapticSelectionChanged();
|
|
179
|
+
this.lastIndex = selectedIndex;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
decelerate() {
|
|
183
|
+
if (this.velocity !== 0) {
|
|
184
|
+
// still decelerating
|
|
185
|
+
this.velocity *= DECELERATION_FRICTION;
|
|
186
|
+
// do not let it go slower than a velocity of 1
|
|
187
|
+
this.velocity = this.velocity > 0 ? Math.max(this.velocity, 1) : Math.min(this.velocity, -1);
|
|
188
|
+
let y = this.y + this.velocity;
|
|
189
|
+
if (y > this.minY) {
|
|
190
|
+
// whoops, it's trying to scroll up farther than the options we have!
|
|
191
|
+
y = this.minY;
|
|
192
|
+
this.velocity = 0;
|
|
193
|
+
}
|
|
194
|
+
else if (y < this.maxY) {
|
|
195
|
+
// gahh, it's trying to scroll down farther than we can!
|
|
196
|
+
y = this.maxY;
|
|
197
|
+
this.velocity = 0;
|
|
198
|
+
}
|
|
199
|
+
this.update(y, 0, true);
|
|
200
|
+
const notLockedIn = Math.round(y) % this.optHeight !== 0 || Math.abs(this.velocity) > 1;
|
|
201
|
+
if (notLockedIn) {
|
|
202
|
+
// isn't locked in yet, keep decelerating until it is
|
|
203
|
+
this.rafId = requestAnimationFrame(() => this.decelerate());
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
this.velocity = 0;
|
|
207
|
+
this.emitColChange();
|
|
208
|
+
hapticSelectionEnd();
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
else if (this.y % this.optHeight !== 0) {
|
|
212
|
+
// needs to still get locked into a position so options line up
|
|
213
|
+
const currentPos = Math.abs(this.y % this.optHeight);
|
|
214
|
+
// create a velocity in the direction it needs to scroll
|
|
215
|
+
this.velocity = currentPos > this.optHeight / 2 ? 1 : -1;
|
|
216
|
+
this.decelerate();
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
indexForY(y) {
|
|
220
|
+
return Math.min(Math.max(Math.abs(Math.round(y / this.optHeight)), 0), this.col.options.length - 1);
|
|
221
|
+
}
|
|
222
|
+
onStart(detail) {
|
|
223
|
+
// We have to prevent default in order to block scrolling under the picker
|
|
224
|
+
// but we DO NOT have to stop propagation, since we still want
|
|
225
|
+
// some "click" events to capture
|
|
226
|
+
if (detail.event.cancelable) {
|
|
227
|
+
detail.event.preventDefault();
|
|
228
|
+
}
|
|
229
|
+
detail.event.stopPropagation();
|
|
230
|
+
hapticSelectionStart();
|
|
231
|
+
// reset everything
|
|
232
|
+
if (this.rafId !== undefined)
|
|
233
|
+
cancelAnimationFrame(this.rafId);
|
|
234
|
+
const options = this.col.options;
|
|
235
|
+
let minY = options.length - 1;
|
|
236
|
+
let maxY = 0;
|
|
237
|
+
for (let i = 0; i < options.length; i++) {
|
|
238
|
+
if (!options[i].disabled) {
|
|
239
|
+
minY = Math.min(minY, i);
|
|
240
|
+
maxY = Math.max(maxY, i);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
this.minY = -(minY * this.optHeight);
|
|
244
|
+
this.maxY = -(maxY * this.optHeight);
|
|
245
|
+
}
|
|
246
|
+
onMove(detail) {
|
|
247
|
+
if (detail.event.cancelable) {
|
|
248
|
+
detail.event.preventDefault();
|
|
249
|
+
}
|
|
250
|
+
detail.event.stopPropagation();
|
|
251
|
+
// update the scroll position relative to pointer start position
|
|
252
|
+
let y = this.y + detail.deltaY;
|
|
253
|
+
if (y > this.minY) {
|
|
254
|
+
// scrolling up higher than scroll area
|
|
255
|
+
y = Math.pow(y, 0.8);
|
|
256
|
+
this.bounceFrom = y;
|
|
257
|
+
}
|
|
258
|
+
else if (y < this.maxY) {
|
|
259
|
+
// scrolling down below scroll area
|
|
260
|
+
y += Math.pow(this.maxY - y, 0.9);
|
|
261
|
+
this.bounceFrom = y;
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
this.bounceFrom = 0;
|
|
265
|
+
}
|
|
266
|
+
this.update(y, 0, false);
|
|
267
|
+
}
|
|
268
|
+
onEnd(detail) {
|
|
269
|
+
if (this.bounceFrom > 0) {
|
|
270
|
+
// bounce back up
|
|
271
|
+
this.update(this.minY, 100, true);
|
|
272
|
+
this.emitColChange();
|
|
273
|
+
return;
|
|
274
|
+
}
|
|
275
|
+
else if (this.bounceFrom < 0) {
|
|
276
|
+
// bounce back down
|
|
277
|
+
this.update(this.maxY, 100, true);
|
|
278
|
+
this.emitColChange();
|
|
279
|
+
return;
|
|
280
|
+
}
|
|
281
|
+
this.velocity = clamp(-MAX_PICKER_SPEED, detail.velocityY * 23, MAX_PICKER_SPEED);
|
|
282
|
+
if (this.velocity === 0 && detail.deltaY === 0) {
|
|
283
|
+
const opt = detail.event.target.closest('.picker-opt');
|
|
284
|
+
if (opt === null || opt === void 0 ? void 0 : opt.hasAttribute('opt-index')) {
|
|
285
|
+
this.setSelected(parseInt(opt.getAttribute('opt-index'), 10), TRANSITION_DURATION);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
else {
|
|
289
|
+
this.y += detail.deltaY;
|
|
290
|
+
if (Math.abs(detail.velocityY) < 0.05) {
|
|
291
|
+
const isScrollingUp = detail.deltaY > 0;
|
|
292
|
+
const optHeightFraction = (Math.abs(this.y) % this.optHeight) / this.optHeight;
|
|
293
|
+
if (isScrollingUp && optHeightFraction > 0.5) {
|
|
294
|
+
this.velocity = Math.abs(this.velocity) * -1;
|
|
295
|
+
}
|
|
296
|
+
else if (!isScrollingUp && optHeightFraction <= 0.5) {
|
|
297
|
+
this.velocity = Math.abs(this.velocity);
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
this.decelerate();
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
refresh(forceRefresh, animated) {
|
|
304
|
+
var _a;
|
|
305
|
+
let min = this.col.options.length - 1;
|
|
306
|
+
let max = 0;
|
|
307
|
+
const options = this.col.options;
|
|
308
|
+
for (let i = 0; i < options.length; i++) {
|
|
309
|
+
if (!options[i].disabled) {
|
|
310
|
+
min = Math.min(min, i);
|
|
311
|
+
max = Math.max(max, i);
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* Only update selected value if column has a
|
|
316
|
+
* velocity of 0. If it does not, then the
|
|
317
|
+
* column is animating might land on
|
|
318
|
+
* a value different than the value at
|
|
319
|
+
* selectedIndex
|
|
320
|
+
*/
|
|
321
|
+
if (this.velocity !== 0) {
|
|
322
|
+
return;
|
|
323
|
+
}
|
|
324
|
+
const selectedIndex = clamp(min, (_a = this.col.selectedIndex) !== null && _a !== void 0 ? _a : 0, max);
|
|
325
|
+
if (this.col.prevSelected !== selectedIndex || forceRefresh) {
|
|
326
|
+
const y = selectedIndex * this.optHeight * -1;
|
|
327
|
+
const duration = animated ? TRANSITION_DURATION : 0;
|
|
328
|
+
this.velocity = 0;
|
|
329
|
+
this.update(y, duration, true);
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
onDomChange(forceRefresh, animated) {
|
|
333
|
+
const colEl = this.optsEl;
|
|
334
|
+
if (colEl) {
|
|
335
|
+
// DOM READ
|
|
336
|
+
// We perfom a DOM read over a rendered item, this needs to happen after the first render or after the the column has changed
|
|
337
|
+
this.optHeight = colEl.firstElementChild ? colEl.firstElementChild.clientHeight : 0;
|
|
338
|
+
}
|
|
339
|
+
this.refresh(forceRefresh, animated);
|
|
340
|
+
}
|
|
341
|
+
render() {
|
|
342
|
+
const col = this.col;
|
|
343
|
+
const mode = getIonMode(this);
|
|
344
|
+
return (h(Host, { class: Object.assign({ [mode]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
|
|
345
|
+
'max-width': this.col.columnWidth,
|
|
346
|
+
} }, col.prefix && (h("div", { class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), h("div", { class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (h("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (h("div", { class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
|
|
347
|
+
}
|
|
348
|
+
get el() { return this; }
|
|
349
|
+
static get watchers() { return {
|
|
350
|
+
"col": ["colChanged"]
|
|
351
|
+
}; }
|
|
352
|
+
static get style() { return {
|
|
353
|
+
ios: pickerColumnIosCss,
|
|
354
|
+
md: pickerColumnMdCss
|
|
355
|
+
}; }
|
|
356
|
+
}, [32, "ion-picker-legacy-column", {
|
|
357
|
+
"col": [16]
|
|
358
|
+
}, undefined, {
|
|
359
|
+
"col": ["colChanged"]
|
|
360
|
+
}]);
|
|
361
|
+
const PICKER_OPT_SELECTED = 'picker-opt-selected';
|
|
362
|
+
const DECELERATION_FRICTION = 0.97;
|
|
363
|
+
const MAX_PICKER_SPEED = 90;
|
|
364
|
+
const TRANSITION_DURATION = 150;
|
|
365
|
+
function defineCustomElement() {
|
|
366
|
+
if (typeof customElements === "undefined") {
|
|
367
|
+
return;
|
|
368
|
+
}
|
|
369
|
+
const components = ["ion-picker-legacy-column"];
|
|
370
|
+
components.forEach(tagName => { switch (tagName) {
|
|
371
|
+
case "ion-picker-legacy-column":
|
|
372
|
+
if (!customElements.get(tagName)) {
|
|
373
|
+
customElements.define(tagName, PickerColumnCmp);
|
|
374
|
+
}
|
|
375
|
+
break;
|
|
376
|
+
} });
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
export { PickerColumnCmp as P, defineCustomElement as d };
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
|
5
5
|
import { g as getElementRoot } from './helpers.js';
|
|
6
6
|
|
|
7
|
-
const
|
|
7
|
+
const pickerIosCss = ":host{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:200px;direction:ltr;z-index:0}:host .picker-before,:host .picker-after{position:absolute;width:100%;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:1;pointer-events:none}:host .picker-before{top:0;height:83px}@supports (inset-inline-start: 0){:host .picker-before{inset-inline-start:0}}@supports not (inset-inline-start: 0){:host .picker-before{left:0}:host-context([dir=rtl]) .picker-before{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){:host(:dir(rtl)) .picker-before{left:unset;right:unset;right:0}}}:host .picker-after{top:116px;height:84px}@supports (inset-inline-start: 0){:host .picker-after{inset-inline-start:0}}@supports not (inset-inline-start: 0){:host .picker-after{left:0}:host-context([dir=rtl]) .picker-after{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){:host(:dir(rtl)) .picker-after{left:unset;right:unset;right:0}}}:host .picker-highlight{border-radius:8px;left:0;right:0;top:50%;bottom:0;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;position:absolute;width:calc(100% - 16px);height:34px;-webkit-transform:translateY(-50%);transform:translateY(-50%);background:var(--wheel-highlight-background);z-index:-1}:host input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host ::slotted(ion-picker-column:first-of-type){text-align:start}:host ::slotted(ion-picker-column:last-of-type){text-align:end}:host ::slotted(ion-picker-column:only-child){text-align:center}:host .picker-before{background:-webkit-gradient(linear, left top, left bottom, color-stop(20%, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1)), to(rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0.8)));background:linear-gradient(to bottom, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 20%, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0.8) 100%)}:host .picker-after{background:-webkit-gradient(linear, left bottom, left top, color-stop(20%, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1)), to(rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0.8)));background:linear-gradient(to top, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 20%, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0.8) 100%)}:host .picker-highlight{background:var(--wheel-highlight-background, var(--ion-color-step-150, #eeeeef))}";
|
|
8
8
|
|
|
9
|
-
const
|
|
9
|
+
const pickerMdCss = ":host{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:200px;direction:ltr;z-index:0}:host .picker-before,:host .picker-after{position:absolute;width:100%;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:1;pointer-events:none}:host .picker-before{top:0;height:83px}@supports (inset-inline-start: 0){:host .picker-before{inset-inline-start:0}}@supports not (inset-inline-start: 0){:host .picker-before{left:0}:host-context([dir=rtl]) .picker-before{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){:host(:dir(rtl)) .picker-before{left:unset;right:unset;right:0}}}:host .picker-after{top:116px;height:84px}@supports (inset-inline-start: 0){:host .picker-after{inset-inline-start:0}}@supports not (inset-inline-start: 0){:host .picker-after{left:0}:host-context([dir=rtl]) .picker-after{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){:host(:dir(rtl)) .picker-after{left:unset;right:unset;right:0}}}:host .picker-highlight{border-radius:8px;left:0;right:0;top:50%;bottom:0;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;position:absolute;width:calc(100% - 16px);height:34px;-webkit-transform:translateY(-50%);transform:translateY(-50%);background:var(--wheel-highlight-background);z-index:-1}:host input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host ::slotted(ion-picker-column:first-of-type){text-align:start}:host ::slotted(ion-picker-column:last-of-type){text-align:end}:host ::slotted(ion-picker-column:only-child){text-align:center}:host .picker-before{background:-webkit-gradient(linear, left top, left bottom, color-stop(20%, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1)), color-stop(90%, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0)));background:linear-gradient(to bottom, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 20%, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0) 90%)}:host .picker-after{background:-webkit-gradient(linear, left bottom, left top, color-stop(30%, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1)), color-stop(90%, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0)));background:linear-gradient(to top, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 30%, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0) 90%)}";
|
|
10
10
|
|
|
11
|
-
const
|
|
11
|
+
const Picker = /*@__PURE__*/ proxyCustomElement(class Picker extends HTMLElement {
|
|
12
12
|
constructor() {
|
|
13
13
|
super();
|
|
14
14
|
this.__registerHost();
|
|
@@ -42,7 +42,7 @@ const PickerInternal = /*@__PURE__*/ proxyCustomElement(class PickerInternal ext
|
|
|
42
42
|
this.onFocusOut = (ev) => {
|
|
43
43
|
// TODO(FW-2832): type
|
|
44
44
|
const { relatedTarget } = ev;
|
|
45
|
-
if (!relatedTarget || (relatedTarget.tagName !== 'ION-PICKER-COLUMN
|
|
45
|
+
if (!relatedTarget || (relatedTarget.tagName !== 'ION-PICKER-COLUMN' && relatedTarget !== this.inputEl)) {
|
|
46
46
|
this.exitInputMode();
|
|
47
47
|
}
|
|
48
48
|
};
|
|
@@ -60,7 +60,7 @@ const PickerInternal = /*@__PURE__*/ proxyCustomElement(class PickerInternal ext
|
|
|
60
60
|
* make sure that this function only ever runs when
|
|
61
61
|
* focusing a picker column.
|
|
62
62
|
*/
|
|
63
|
-
if (target.tagName !== 'ION-PICKER-COLUMN
|
|
63
|
+
if (target.tagName !== 'ION-PICKER-COLUMN') {
|
|
64
64
|
return;
|
|
65
65
|
}
|
|
66
66
|
/**
|
|
@@ -127,7 +127,7 @@ const PickerInternal = /*@__PURE__*/ proxyCustomElement(class PickerInternal ext
|
|
|
127
127
|
* since we just tapped the highlight and
|
|
128
128
|
* not a column.
|
|
129
129
|
*/
|
|
130
|
-
if (ev.target.tagName === 'ION-PICKER-COLUMN
|
|
130
|
+
if (ev.target.tagName === 'ION-PICKER-COLUMN') {
|
|
131
131
|
/**
|
|
132
132
|
* If user taps 2 different columns
|
|
133
133
|
* then we should just switch to input mode
|
|
@@ -161,7 +161,7 @@ const PickerInternal = /*@__PURE__*/ proxyCustomElement(class PickerInternal ext
|
|
|
161
161
|
* If there is only 1 numeric input column
|
|
162
162
|
* then we should skip multi column input.
|
|
163
163
|
*/
|
|
164
|
-
const columns = el.querySelectorAll('ion-picker-column
|
|
164
|
+
const columns = el.querySelectorAll('ion-picker-column.picker-column-numeric-input');
|
|
165
165
|
const columnEl = columns.length === 1 ? ev.target : undefined;
|
|
166
166
|
this.actionOnClick = () => {
|
|
167
167
|
this.enterInputMode(columnEl);
|
|
@@ -195,7 +195,7 @@ const PickerInternal = /*@__PURE__*/ proxyCustomElement(class PickerInternal ext
|
|
|
195
195
|
* Only active input mode if there is at
|
|
196
196
|
* least one column that accepts numeric input.
|
|
197
197
|
*/
|
|
198
|
-
const hasInputColumn = el.querySelector('ion-picker-column
|
|
198
|
+
const hasInputColumn = el.querySelector('ion-picker-column.picker-column-numeric-input');
|
|
199
199
|
if (!hasInputColumn) {
|
|
200
200
|
return;
|
|
201
201
|
}
|
|
@@ -324,7 +324,7 @@ const PickerInternal = /*@__PURE__*/ proxyCustomElement(class PickerInternal ext
|
|
|
324
324
|
if (!inputEl) {
|
|
325
325
|
return;
|
|
326
326
|
}
|
|
327
|
-
const numericPickers = Array.from(el.querySelectorAll('ion-picker-column
|
|
327
|
+
const numericPickers = Array.from(el.querySelectorAll('ion-picker-column')).filter((col) => col.numericInput);
|
|
328
328
|
const firstColumn = numericPickers[0];
|
|
329
329
|
const lastColumn = numericPickers[1];
|
|
330
330
|
let value = inputEl.value;
|
|
@@ -476,24 +476,24 @@ const PickerInternal = /*@__PURE__*/ proxyCustomElement(class PickerInternal ext
|
|
|
476
476
|
}
|
|
477
477
|
get el() { return this; }
|
|
478
478
|
static get style() { return {
|
|
479
|
-
ios:
|
|
480
|
-
md:
|
|
479
|
+
ios: pickerIosCss,
|
|
480
|
+
md: pickerMdCss
|
|
481
481
|
}; }
|
|
482
|
-
}, [33, "ion-picker
|
|
482
|
+
}, [33, "ion-picker", {
|
|
483
483
|
"exitInputMode": [64]
|
|
484
484
|
}, [[1, "touchstart", "preventTouchStartPropagation"]]]);
|
|
485
485
|
function defineCustomElement() {
|
|
486
486
|
if (typeof customElements === "undefined") {
|
|
487
487
|
return;
|
|
488
488
|
}
|
|
489
|
-
const components = ["ion-picker
|
|
489
|
+
const components = ["ion-picker"];
|
|
490
490
|
components.forEach(tagName => { switch (tagName) {
|
|
491
|
-
case "ion-picker
|
|
491
|
+
case "ion-picker":
|
|
492
492
|
if (!customElements.get(tagName)) {
|
|
493
|
-
customElements.define(tagName,
|
|
493
|
+
customElements.define(tagName, Picker);
|
|
494
494
|
}
|
|
495
495
|
break;
|
|
496
496
|
} });
|
|
497
497
|
}
|
|
498
498
|
|
|
499
|
-
export {
|
|
499
|
+
export { Picker as P, defineCustomElement as d };
|
|
@@ -1394,7 +1394,7 @@ const getMonthColumnData = (locale, refParts, minParts, maxParts, monthValues, f
|
|
|
1394
1394
|
* @param minParts The minimum bound on the date that can be returned
|
|
1395
1395
|
* @param maxParts The maximum bound on the date that can be returned
|
|
1396
1396
|
* @param dayValues The allowed date values
|
|
1397
|
-
* @returns Date data to be used in ion-picker-column
|
|
1397
|
+
* @returns Date data to be used in ion-picker-column
|
|
1398
1398
|
*/
|
|
1399
1399
|
const getDayColumnData = (locale, refParts, minParts, maxParts, dayValues, formatOptions = {
|
|
1400
1400
|
day: 'numeric',
|
|
@@ -10,7 +10,7 @@ const helpers = require('./helpers-ea4ccbcb.js');
|
|
|
10
10
|
const index$1 = require('./index-cc7dfb7c.js');
|
|
11
11
|
const theme = require('./theme-fbc56b3b.js');
|
|
12
12
|
const ionicGlobal = require('./ionic-global-ea2901a3.js');
|
|
13
|
-
const data = require('./data-
|
|
13
|
+
const data = require('./data-4845b494.js');
|
|
14
14
|
|
|
15
15
|
const iosDatetimeButtonCss = ":host{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}:host button{border-radius:8px;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:6px;padding-bottom:6px;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px;margin-top:0px;margin-bottom:0px;position:relative;-webkit-transition:150ms color ease-in-out;transition:150ms color ease-in-out;border:none;background:var(--ion-color-step-300, #edeef0);color:var(--ion-text-color, #000);font-family:inherit;font-size:1rem;cursor:pointer;overflow:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}:host(.time-active) #time-button,:host(.date-active) #date-button{color:var(--ion-color-base)}:host(.datetime-button-disabled){pointer-events:none}:host(.datetime-button-disabled) button{opacity:0.4}";
|
|
16
16
|
|