vuetify 3.5.11 → 3.5.12
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/dist/_component-variables-labs.sass +2 -1
- package/dist/json/attributes.json +243 -19
- package/dist/json/importMap-labs.json +22 -10
- package/dist/json/importMap.json +124 -124
- package/dist/json/tags.json +71 -0
- package/dist/json/web-types.json +747 -38
- package/dist/vuetify-labs.css +2339 -2089
- package/dist/vuetify-labs.d.ts +1117 -154
- package/dist/vuetify-labs.esm.js +675 -25
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +675 -25
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +1661 -1652
- package/dist/vuetify.d.ts +321 -192
- package/dist/vuetify.esm.js +33 -19
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +33 -19
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +93 -92
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAvatar/VAvatar.css +6 -0
- package/lib/components/VAvatar/VAvatar.sass +6 -0
- package/lib/components/VAvatar/_variables.scss +2 -0
- package/lib/components/VCheckbox/index.d.mts +54 -18
- package/lib/components/VChip/VChip.css +5 -2
- package/lib/components/VChip/VChip.sass +3 -0
- package/lib/components/VChip/_variables.scss +2 -2
- package/lib/components/VDivider/VDivider.css +1 -1
- package/lib/components/VDivider/VDivider.sass +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanel.css +3 -3
- package/lib/components/VExpansionPanel/VExpansionPanel.sass +2 -2
- package/lib/components/VField/VField.css +1 -1
- package/lib/components/VField/_variables.scss +1 -1
- package/lib/components/VFileInput/index.d.mts +12 -12
- package/lib/components/VForm/index.d.mts +42 -42
- package/lib/components/VInput/index.d.mts +6 -6
- package/lib/components/VRadio/index.d.mts +27 -9
- package/lib/components/VRadioGroup/index.d.mts +27 -9
- package/lib/components/VSelectionControl/VSelectionControl.mjs +1 -0
- package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
- package/lib/components/VSelectionControl/index.d.mts +27 -9
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +1 -1
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
- package/lib/components/VSelectionControlGroup/index.d.mts +27 -9
- package/lib/components/VSwitch/index.d.mts +27 -9
- package/lib/components/VTextField/index.d.mts +12 -12
- package/lib/components/VTextarea/index.d.mts +12 -12
- package/lib/components/VValidation/index.d.mts +6 -6
- package/lib/components/index.d.mts +279 -153
- package/lib/composables/form.mjs.map +1 -1
- package/lib/composables/router.mjs +16 -8
- package/lib/composables/router.mjs.map +1 -1
- package/lib/composables/transition.mjs +5 -2
- package/lib/composables/transition.mjs.map +1 -1
- package/lib/composables/validation.mjs +5 -4
- package/lib/composables/validation.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +42 -39
- package/lib/labs/VNumberInput/VNumberInput.mjs +4 -4
- package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
- package/lib/labs/VTimePicker/SelectingTimes.mjs.map +1 -0
- package/lib/labs/VTimePicker/VTimePicker.css +8 -0
- package/lib/labs/VTimePicker/VTimePicker.mjs +265 -0
- package/lib/labs/VTimePicker/VTimePicker.mjs.map +1 -0
- package/lib/labs/VTimePicker/VTimePicker.sass +10 -0
- package/lib/labs/VTimePicker/VTimePickerClock.css +130 -0
- package/lib/labs/VTimePicker/VTimePickerClock.mjs +244 -0
- package/lib/labs/VTimePicker/VTimePickerClock.mjs.map +1 -0
- package/lib/{components → labs}/VTimePicker/VTimePickerClock.sass +22 -39
- package/lib/labs/VTimePicker/VTimePickerControls.css +104 -0
- package/lib/labs/VTimePicker/VTimePickerControls.mjs +125 -0
- package/lib/labs/VTimePicker/VTimePickerControls.mjs.map +1 -0
- package/lib/labs/VTimePicker/VTimePickerControls.sass +102 -0
- package/lib/labs/VTimePicker/_variables.scss +34 -0
- package/lib/labs/VTimePicker/index.d.mts +848 -0
- package/lib/labs/VTimePicker/index.mjs +4 -0
- package/lib/labs/VTimePicker/index.mjs.map +1 -0
- package/lib/labs/components.d.mts +835 -1
- package/lib/labs/components.mjs +1 -0
- package/lib/labs/components.mjs.map +1 -1
- package/lib/locale/af.mjs +2 -1
- package/lib/locale/af.mjs.map +1 -1
- package/lib/locale/ar.mjs +2 -1
- package/lib/locale/ar.mjs.map +1 -1
- package/lib/locale/az.mjs +2 -1
- package/lib/locale/az.mjs.map +1 -1
- package/lib/locale/bg.mjs +2 -1
- package/lib/locale/bg.mjs.map +1 -1
- package/lib/locale/ca.mjs +2 -1
- package/lib/locale/ca.mjs.map +1 -1
- package/lib/locale/ckb.mjs +2 -1
- package/lib/locale/ckb.mjs.map +1 -1
- package/lib/locale/cs.mjs +2 -1
- package/lib/locale/cs.mjs.map +1 -1
- package/lib/locale/da.mjs +2 -1
- package/lib/locale/da.mjs.map +1 -1
- package/lib/locale/de.mjs +2 -1
- package/lib/locale/de.mjs.map +1 -1
- package/lib/locale/el.mjs +2 -1
- package/lib/locale/el.mjs.map +1 -1
- package/lib/locale/en.mjs +2 -1
- package/lib/locale/en.mjs.map +1 -1
- package/lib/locale/es.mjs +2 -1
- package/lib/locale/es.mjs.map +1 -1
- package/lib/locale/et.mjs +2 -1
- package/lib/locale/et.mjs.map +1 -1
- package/lib/locale/fa.mjs +2 -1
- package/lib/locale/fa.mjs.map +1 -1
- package/lib/locale/fi.mjs +2 -1
- package/lib/locale/fi.mjs.map +1 -1
- package/lib/locale/fr.mjs +2 -1
- package/lib/locale/fr.mjs.map +1 -1
- package/lib/locale/he.mjs +2 -1
- package/lib/locale/he.mjs.map +1 -1
- package/lib/locale/hr.mjs +2 -1
- package/lib/locale/hr.mjs.map +1 -1
- package/lib/locale/hu.mjs +2 -1
- package/lib/locale/hu.mjs.map +1 -1
- package/lib/locale/id.mjs +2 -1
- package/lib/locale/id.mjs.map +1 -1
- package/lib/locale/index.d.mts +43 -0
- package/lib/locale/it.mjs +2 -1
- package/lib/locale/it.mjs.map +1 -1
- package/lib/locale/ja.mjs +2 -1
- package/lib/locale/ja.mjs.map +1 -1
- package/lib/locale/km.mjs +2 -1
- package/lib/locale/km.mjs.map +1 -1
- package/lib/locale/ko.mjs +2 -1
- package/lib/locale/ko.mjs.map +1 -1
- package/lib/locale/lt.mjs +2 -1
- package/lib/locale/lt.mjs.map +1 -1
- package/lib/locale/lv.mjs +2 -1
- package/lib/locale/lv.mjs.map +1 -1
- package/lib/locale/nl.mjs +2 -1
- package/lib/locale/nl.mjs.map +1 -1
- package/lib/locale/no.mjs +2 -1
- package/lib/locale/no.mjs.map +1 -1
- package/lib/locale/pl.mjs +2 -1
- package/lib/locale/pl.mjs.map +1 -1
- package/lib/locale/pt.mjs +2 -1
- package/lib/locale/pt.mjs.map +1 -1
- package/lib/locale/ro.mjs +2 -1
- package/lib/locale/ro.mjs.map +1 -1
- package/lib/locale/ru.mjs +2 -1
- package/lib/locale/ru.mjs.map +1 -1
- package/lib/locale/sk.mjs +2 -1
- package/lib/locale/sk.mjs.map +1 -1
- package/lib/locale/sl.mjs +2 -1
- package/lib/locale/sl.mjs.map +1 -1
- package/lib/locale/sr-Cyrl.mjs +2 -1
- package/lib/locale/sr-Cyrl.mjs.map +1 -1
- package/lib/locale/sr-Latn.mjs +2 -1
- package/lib/locale/sr-Latn.mjs.map +1 -1
- package/lib/locale/sv.mjs +2 -1
- package/lib/locale/sv.mjs.map +1 -1
- package/lib/locale/th.mjs +2 -1
- package/lib/locale/th.mjs.map +1 -1
- package/lib/locale/tr.mjs +2 -1
- package/lib/locale/tr.mjs.map +1 -1
- package/lib/locale/uk.mjs +2 -1
- package/lib/locale/uk.mjs.map +1 -1
- package/lib/locale/vi.mjs +2 -1
- package/lib/locale/vi.mjs.map +1 -1
- package/lib/locale/zh-Hans.mjs +2 -1
- package/lib/locale/zh-Hans.mjs.map +1 -1
- package/lib/locale/zh-Hant.mjs +2 -1
- package/lib/locale/zh-Hant.mjs.map +1 -1
- package/package.json +4 -4
- package/lib/components/VTimePicker/SelectingTimes.mjs.map +0 -1
- package/lib/components/VTimePicker/VTimePicker.mjs +0 -288
- package/lib/components/VTimePicker/VTimePicker.mjs.map +0 -1
- package/lib/components/VTimePicker/VTimePickerClock.mjs +0 -251
- package/lib/components/VTimePicker/VTimePickerClock.mjs.map +0 -1
- package/lib/components/VTimePicker/VTimePickerTitle.mjs +0 -64
- package/lib/components/VTimePicker/VTimePickerTitle.mjs.map +0 -1
- package/lib/components/VTimePicker/VTimePickerTitle.sass +0 -61
- package/lib/components/VTimePicker/_variables.scss +0 -32
- package/lib/components/VTimePicker/index.mjs +0 -12
- package/lib/components/VTimePicker/index.mjs.map +0 -1
- /package/lib/{components → labs}/VTimePicker/SelectingTimes.mjs +0 -0
|
@@ -1,288 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
/* eslint-disable */
|
|
3
|
-
// Components
|
|
4
|
-
import VTimePickerTitle from "./VTimePickerTitle.mjs";
|
|
5
|
-
import VTimePickerClock from "./VTimePickerClock.mjs"; // Mixins
|
|
6
|
-
import Picker from "../../mixins/picker.mjs";
|
|
7
|
-
import PickerButton from "../../mixins/picker-button.mjs"; // Utils
|
|
8
|
-
import { createRange } from "../../util/helpers.mjs";
|
|
9
|
-
import pad from "../VDatePicker/util/pad.mjs";
|
|
10
|
-
import mixins from "../../util/mixins.mjs"; // Types
|
|
11
|
-
import { SelectingTimes } from "./SelectingTimes.mjs";
|
|
12
|
-
const rangeHours24 = createRange(24);
|
|
13
|
-
const rangeHours12am = createRange(12);
|
|
14
|
-
const rangeHours12pm = rangeHours12am.map(v => v + 12);
|
|
15
|
-
const range60 = createRange(60);
|
|
16
|
-
const selectingNames = {
|
|
17
|
-
1: 'hour',
|
|
18
|
-
2: 'minute',
|
|
19
|
-
3: 'second'
|
|
20
|
-
};
|
|
21
|
-
export { SelectingTimes };
|
|
22
|
-
export default mixins(Picker, PickerButton
|
|
23
|
-
/* @vue/component */).extend({
|
|
24
|
-
name: 'v-time-picker',
|
|
25
|
-
props: {
|
|
26
|
-
allowedHours: [Function, Array],
|
|
27
|
-
allowedMinutes: [Function, Array],
|
|
28
|
-
allowedSeconds: [Function, Array],
|
|
29
|
-
disabled: Boolean,
|
|
30
|
-
format: {
|
|
31
|
-
type: String,
|
|
32
|
-
default: 'ampm',
|
|
33
|
-
validator(val) {
|
|
34
|
-
return ['ampm', '24hr'].includes(val);
|
|
35
|
-
}
|
|
36
|
-
},
|
|
37
|
-
min: String,
|
|
38
|
-
max: String,
|
|
39
|
-
readonly: Boolean,
|
|
40
|
-
scrollable: Boolean,
|
|
41
|
-
useSeconds: Boolean,
|
|
42
|
-
value: null,
|
|
43
|
-
ampmInTitle: Boolean
|
|
44
|
-
},
|
|
45
|
-
data() {
|
|
46
|
-
return {
|
|
47
|
-
inputHour: null,
|
|
48
|
-
inputMinute: null,
|
|
49
|
-
inputSecond: null,
|
|
50
|
-
lazyInputHour: null,
|
|
51
|
-
lazyInputMinute: null,
|
|
52
|
-
lazyInputSecond: null,
|
|
53
|
-
period: 'am',
|
|
54
|
-
selecting: SelectingTimes.Hour
|
|
55
|
-
};
|
|
56
|
-
},
|
|
57
|
-
computed: {
|
|
58
|
-
selectingHour: {
|
|
59
|
-
get() {
|
|
60
|
-
return this.selecting === SelectingTimes.Hour;
|
|
61
|
-
},
|
|
62
|
-
set(v) {
|
|
63
|
-
this.selecting = SelectingTimes.Hour;
|
|
64
|
-
}
|
|
65
|
-
},
|
|
66
|
-
selectingMinute: {
|
|
67
|
-
get() {
|
|
68
|
-
return this.selecting === SelectingTimes.Minute;
|
|
69
|
-
},
|
|
70
|
-
set(v) {
|
|
71
|
-
this.selecting = SelectingTimes.Minute;
|
|
72
|
-
}
|
|
73
|
-
},
|
|
74
|
-
selectingSecond: {
|
|
75
|
-
get() {
|
|
76
|
-
return this.selecting === SelectingTimes.Second;
|
|
77
|
-
},
|
|
78
|
-
set(v) {
|
|
79
|
-
this.selecting = SelectingTimes.Second;
|
|
80
|
-
}
|
|
81
|
-
},
|
|
82
|
-
isAllowedHourCb() {
|
|
83
|
-
let cb;
|
|
84
|
-
if (this.allowedHours instanceof Array) {
|
|
85
|
-
cb = val => this.allowedHours.includes(val);
|
|
86
|
-
} else {
|
|
87
|
-
cb = this.allowedHours;
|
|
88
|
-
}
|
|
89
|
-
if (!this.min && !this.max) return cb;
|
|
90
|
-
const minHour = this.min ? Number(this.min.split(':')[0]) : 0;
|
|
91
|
-
const maxHour = this.max ? Number(this.max.split(':')[0]) : 23;
|
|
92
|
-
return val => {
|
|
93
|
-
return val >= minHour * 1 && val <= maxHour * 1 && (!cb || cb(val));
|
|
94
|
-
};
|
|
95
|
-
},
|
|
96
|
-
isAllowedMinuteCb() {
|
|
97
|
-
let cb;
|
|
98
|
-
const isHourAllowed = !this.isAllowedHourCb || this.inputHour === null || this.isAllowedHourCb(this.inputHour);
|
|
99
|
-
if (this.allowedMinutes instanceof Array) {
|
|
100
|
-
cb = val => this.allowedMinutes.includes(val);
|
|
101
|
-
} else {
|
|
102
|
-
cb = this.allowedMinutes;
|
|
103
|
-
}
|
|
104
|
-
if (!this.min && !this.max) {
|
|
105
|
-
return isHourAllowed ? cb : () => false;
|
|
106
|
-
}
|
|
107
|
-
const [minHour, minMinute] = this.min ? this.min.split(':').map(Number) : [0, 0];
|
|
108
|
-
const [maxHour, maxMinute] = this.max ? this.max.split(':').map(Number) : [23, 59];
|
|
109
|
-
const minTime = minHour * 60 + minMinute * 1;
|
|
110
|
-
const maxTime = maxHour * 60 + maxMinute * 1;
|
|
111
|
-
return val => {
|
|
112
|
-
const time = 60 * this.inputHour + val;
|
|
113
|
-
return time >= minTime && time <= maxTime && isHourAllowed && (!cb || cb(val));
|
|
114
|
-
};
|
|
115
|
-
},
|
|
116
|
-
isAllowedSecondCb() {
|
|
117
|
-
let cb;
|
|
118
|
-
const isHourAllowed = !this.isAllowedHourCb || this.inputHour === null || this.isAllowedHourCb(this.inputHour);
|
|
119
|
-
const isMinuteAllowed = isHourAllowed && (!this.isAllowedMinuteCb || this.inputMinute === null || this.isAllowedMinuteCb(this.inputMinute));
|
|
120
|
-
if (this.allowedSeconds instanceof Array) {
|
|
121
|
-
cb = val => this.allowedSeconds.includes(val);
|
|
122
|
-
} else {
|
|
123
|
-
cb = this.allowedSeconds;
|
|
124
|
-
}
|
|
125
|
-
if (!this.min && !this.max) {
|
|
126
|
-
return isMinuteAllowed ? cb : () => false;
|
|
127
|
-
}
|
|
128
|
-
const [minHour, minMinute, minSecond] = this.min ? this.min.split(':').map(Number) : [0, 0, 0];
|
|
129
|
-
const [maxHour, maxMinute, maxSecond] = this.max ? this.max.split(':').map(Number) : [23, 59, 59];
|
|
130
|
-
const minTime = minHour * 3600 + minMinute * 60 + (minSecond || 0) * 1;
|
|
131
|
-
const maxTime = maxHour * 3600 + maxMinute * 60 + (maxSecond || 0) * 1;
|
|
132
|
-
return val => {
|
|
133
|
-
const time = 3600 * this.inputHour + 60 * this.inputMinute + val;
|
|
134
|
-
return time >= minTime && time <= maxTime && isMinuteAllowed && (!cb || cb(val));
|
|
135
|
-
};
|
|
136
|
-
},
|
|
137
|
-
isAmPm() {
|
|
138
|
-
return this.format === 'ampm';
|
|
139
|
-
}
|
|
140
|
-
},
|
|
141
|
-
watch: {
|
|
142
|
-
value: 'setInputData'
|
|
143
|
-
},
|
|
144
|
-
mounted() {
|
|
145
|
-
this.setInputData(this.value);
|
|
146
|
-
this.$on('update:period', this.setPeriod);
|
|
147
|
-
},
|
|
148
|
-
methods: {
|
|
149
|
-
genValue() {
|
|
150
|
-
if (this.inputHour != null && this.inputMinute != null && (!this.useSeconds || this.inputSecond != null)) {
|
|
151
|
-
return `${pad(this.inputHour)}:${pad(this.inputMinute)}` + (this.useSeconds ? `:${pad(this.inputSecond)}` : '');
|
|
152
|
-
}
|
|
153
|
-
return null;
|
|
154
|
-
},
|
|
155
|
-
emitValue() {
|
|
156
|
-
const value = this.genValue();
|
|
157
|
-
if (value !== null) this.$emit('input', value);
|
|
158
|
-
},
|
|
159
|
-
setPeriod(period) {
|
|
160
|
-
this.period = period;
|
|
161
|
-
if (this.inputHour != null) {
|
|
162
|
-
const newHour = this.inputHour + (period === 'am' ? -12 : 12);
|
|
163
|
-
this.inputHour = this.firstAllowed('hour', newHour);
|
|
164
|
-
this.emitValue();
|
|
165
|
-
}
|
|
166
|
-
},
|
|
167
|
-
setInputData(value) {
|
|
168
|
-
if (value == null || value === '') {
|
|
169
|
-
this.inputHour = null;
|
|
170
|
-
this.inputMinute = null;
|
|
171
|
-
this.inputSecond = null;
|
|
172
|
-
} else if (value instanceof Date) {
|
|
173
|
-
this.inputHour = value.getHours();
|
|
174
|
-
this.inputMinute = value.getMinutes();
|
|
175
|
-
this.inputSecond = value.getSeconds();
|
|
176
|
-
} else {
|
|
177
|
-
const [, hour, minute,, second, period] = value.trim().toLowerCase().match(/^(\d+):(\d+)(:(\d+))?([ap]m)?$/) || new Array(6);
|
|
178
|
-
this.inputHour = period ? this.convert12to24(parseInt(hour, 10), period) : parseInt(hour, 10);
|
|
179
|
-
this.inputMinute = parseInt(minute, 10);
|
|
180
|
-
this.inputSecond = parseInt(second || 0, 10);
|
|
181
|
-
}
|
|
182
|
-
this.period = this.inputHour == null || this.inputHour < 12 ? 'am' : 'pm';
|
|
183
|
-
},
|
|
184
|
-
convert24to12(hour) {
|
|
185
|
-
return hour ? (hour - 1) % 12 + 1 : 12;
|
|
186
|
-
},
|
|
187
|
-
convert12to24(hour, period) {
|
|
188
|
-
return hour % 12 + (period === 'pm' ? 12 : 0);
|
|
189
|
-
},
|
|
190
|
-
onInput(value) {
|
|
191
|
-
if (this.selecting === SelectingTimes.Hour) {
|
|
192
|
-
this.inputHour = this.isAmPm ? this.convert12to24(value, this.period) : value;
|
|
193
|
-
} else if (this.selecting === SelectingTimes.Minute) {
|
|
194
|
-
this.inputMinute = value;
|
|
195
|
-
} else {
|
|
196
|
-
this.inputSecond = value;
|
|
197
|
-
}
|
|
198
|
-
this.emitValue();
|
|
199
|
-
},
|
|
200
|
-
onChange(value) {
|
|
201
|
-
this.$emit(`click:${selectingNames[this.selecting]}`, value);
|
|
202
|
-
const emitChange = this.selecting === (this.useSeconds ? SelectingTimes.Second : SelectingTimes.Minute);
|
|
203
|
-
if (this.selecting === SelectingTimes.Hour) {
|
|
204
|
-
this.selecting = SelectingTimes.Minute;
|
|
205
|
-
} else if (this.useSeconds && this.selecting === SelectingTimes.Minute) {
|
|
206
|
-
this.selecting = SelectingTimes.Second;
|
|
207
|
-
}
|
|
208
|
-
if (this.inputHour === this.lazyInputHour && this.inputMinute === this.lazyInputMinute && (!this.useSeconds || this.inputSecond === this.lazyInputSecond)) return;
|
|
209
|
-
const time = this.genValue();
|
|
210
|
-
if (time === null) return;
|
|
211
|
-
this.lazyInputHour = this.inputHour;
|
|
212
|
-
this.lazyInputMinute = this.inputMinute;
|
|
213
|
-
this.useSeconds && (this.lazyInputSecond = this.inputSecond);
|
|
214
|
-
emitChange && this.$emit('change', time);
|
|
215
|
-
},
|
|
216
|
-
firstAllowed(type, value) {
|
|
217
|
-
const allowedFn = type === 'hour' ? this.isAllowedHourCb : type === 'minute' ? this.isAllowedMinuteCb : this.isAllowedSecondCb;
|
|
218
|
-
if (!allowedFn) return value;
|
|
219
|
-
|
|
220
|
-
// TODO: clean up
|
|
221
|
-
const range = type === 'minute' ? range60 : type === 'second' ? range60 : this.isAmPm ? value < 12 ? rangeHours12am : rangeHours12pm : rangeHours24;
|
|
222
|
-
const first = range.find(v => allowedFn((v + value) % range.length + range[0]));
|
|
223
|
-
return ((first || 0) + value) % range.length + range[0];
|
|
224
|
-
},
|
|
225
|
-
genClock() {
|
|
226
|
-
return this.$createElement(VTimePickerClock, {
|
|
227
|
-
props: {
|
|
228
|
-
allowedValues: this.selecting === SelectingTimes.Hour ? this.isAllowedHourCb : this.selecting === SelectingTimes.Minute ? this.isAllowedMinuteCb : this.isAllowedSecondCb,
|
|
229
|
-
color: this.color,
|
|
230
|
-
dark: this.dark,
|
|
231
|
-
disabled: this.disabled,
|
|
232
|
-
double: this.selecting === SelectingTimes.Hour && !this.isAmPm,
|
|
233
|
-
format: this.selecting === SelectingTimes.Hour ? this.isAmPm ? this.convert24to12 : val => val : val => pad(val, 2),
|
|
234
|
-
light: this.light,
|
|
235
|
-
max: this.selecting === SelectingTimes.Hour ? this.isAmPm && this.period === 'am' ? 11 : 23 : 59,
|
|
236
|
-
min: this.selecting === SelectingTimes.Hour && this.isAmPm && this.period === 'pm' ? 12 : 0,
|
|
237
|
-
readonly: this.readonly,
|
|
238
|
-
scrollable: this.scrollable,
|
|
239
|
-
size: Number(this.width) - (!this.fullWidth && this.landscape ? 80 : 20),
|
|
240
|
-
step: this.selecting === SelectingTimes.Hour ? 1 : 5,
|
|
241
|
-
value: this.selecting === SelectingTimes.Hour ? this.inputHour : this.selecting === SelectingTimes.Minute ? this.inputMinute : this.inputSecond
|
|
242
|
-
},
|
|
243
|
-
on: {
|
|
244
|
-
input: this.onInput,
|
|
245
|
-
change: this.onChange
|
|
246
|
-
},
|
|
247
|
-
ref: 'clock'
|
|
248
|
-
});
|
|
249
|
-
},
|
|
250
|
-
genClockAmPm() {
|
|
251
|
-
return this.$createElement('div', this.setTextColor(this.color || 'primary', {
|
|
252
|
-
staticClass: 'v-time-picker-clock__ampm'
|
|
253
|
-
}), [this.genPickerButton('period', 'am', this.$vuetify.lang.t('$vuetify.timePicker.am'), this.disabled || this.readonly), this.genPickerButton('period', 'pm', this.$vuetify.lang.t('$vuetify.timePicker.pm'), this.disabled || this.readonly)]);
|
|
254
|
-
},
|
|
255
|
-
genPickerBody() {
|
|
256
|
-
return this.$createElement('div', {
|
|
257
|
-
staticClass: 'v-time-picker-clock__container',
|
|
258
|
-
key: this.selecting
|
|
259
|
-
}, [!this.ampmInTitle && this.isAmPm && this.genClockAmPm(), this.genClock()]);
|
|
260
|
-
},
|
|
261
|
-
genPickerTitle() {
|
|
262
|
-
return this.$createElement(VTimePickerTitle, {
|
|
263
|
-
props: {
|
|
264
|
-
ampm: this.isAmPm,
|
|
265
|
-
ampmReadonly: this.isAmPm && !this.ampmInTitle,
|
|
266
|
-
disabled: this.disabled,
|
|
267
|
-
hour: this.inputHour,
|
|
268
|
-
minute: this.inputMinute,
|
|
269
|
-
second: this.inputSecond,
|
|
270
|
-
period: this.period,
|
|
271
|
-
readonly: this.readonly,
|
|
272
|
-
useSeconds: this.useSeconds,
|
|
273
|
-
selecting: this.selecting
|
|
274
|
-
},
|
|
275
|
-
on: {
|
|
276
|
-
'update:selecting': value => this.selecting = value,
|
|
277
|
-
'update:period': period => this.$emit('update:period', period)
|
|
278
|
-
},
|
|
279
|
-
ref: 'title',
|
|
280
|
-
slot: 'title'
|
|
281
|
-
});
|
|
282
|
-
}
|
|
283
|
-
},
|
|
284
|
-
render() {
|
|
285
|
-
return this.genPicker('v-picker--time');
|
|
286
|
-
}
|
|
287
|
-
});
|
|
288
|
-
//# sourceMappingURL=VTimePicker.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VTimePicker.mjs","names":["VTimePickerTitle","VTimePickerClock","Picker","PickerButton","createRange","pad","mixins","SelectingTimes","rangeHours24","rangeHours12am","rangeHours12pm","map","v","range60","selectingNames","extend","name","props","allowedHours","Function","Array","allowedMinutes","allowedSeconds","disabled","Boolean","format","type","String","default","validator","val","includes","min","max","readonly","scrollable","useSeconds","value","ampmInTitle","data","inputHour","inputMinute","inputSecond","lazyInputHour","lazyInputMinute","lazyInputSecond","period","selecting","Hour","computed","selectingHour","get","set","selectingMinute","Minute","selectingSecond","Second","isAllowedHourCb","cb","minHour","Number","split","maxHour","isAllowedMinuteCb","isHourAllowed","minMinute","maxMinute","minTime","maxTime","time","isAllowedSecondCb","isMinuteAllowed","minSecond","maxSecond","isAmPm","watch","mounted","setInputData","$on","setPeriod","methods","genValue","emitValue","$emit","newHour","firstAllowed","Date","getHours","getMinutes","getSeconds","hour","minute","second","trim","toLowerCase","match","convert12to24","parseInt","convert24to12","onInput","onChange","emitChange","allowedFn","range","first","find","length","genClock","$createElement","allowedValues","color","dark","double","light","size","width","fullWidth","landscape","step","on","input","change","ref","genClockAmPm","setTextColor","staticClass","genPickerButton","$vuetify","lang","t","genPickerBody","key","genPickerTitle","ampm","ampmReadonly","slot","render","genPicker"],"sources":["../../../src/components/VTimePicker/VTimePicker.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n// Components\nimport VTimePickerTitle from './VTimePickerTitle'\nimport VTimePickerClock from './VTimePickerClock'\n\n// Mixins\nimport Picker from '../../mixins/picker'\nimport PickerButton from '../../mixins/picker-button'\n\n// Utils\nimport { createRange } from '../../util/helpers'\nimport pad from '../VDatePicker/util/pad'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, PropType } from 'vue'\nimport { SelectingTimes } from './SelectingTimes'\n\nconst rangeHours24 = createRange(24)\nconst rangeHours12am = createRange(12)\nconst rangeHours12pm = rangeHours12am.map(v => v + 12)\nconst range60 = createRange(60)\nconst selectingNames = { 1: 'hour', 2: 'minute', 3: 'second' }\nexport { SelectingTimes }\n\ntype Period = 'am' | 'pm'\ntype AllowFunction = (val: number) => boolean\n\nexport default mixins(\n Picker,\n PickerButton\n/* @vue/component */\n).extend({\n name: 'v-time-picker',\n\n props: {\n allowedHours: [Function, Array] as PropType<AllowFunction | number[]>,\n allowedMinutes: [Function, Array] as PropType<AllowFunction | number[]>,\n allowedSeconds: [Function, Array] as PropType<AllowFunction | number[]>,\n disabled: Boolean,\n format: {\n type: String as PropType<'ampm' | '24hr'>,\n default: 'ampm',\n validator (val: any) {\n return ['ampm', '24hr'].includes(val)\n },\n },\n min: String,\n max: String,\n readonly: Boolean,\n scrollable: Boolean,\n useSeconds: Boolean,\n value: null as any as PropType<any>,\n ampmInTitle: Boolean,\n },\n\n data () {\n return {\n inputHour: null as number | null,\n inputMinute: null as number | null,\n inputSecond: null as number | null,\n lazyInputHour: null as number | null,\n lazyInputMinute: null as number | null,\n lazyInputSecond: null as number | null,\n period: 'am' as Period,\n selecting: SelectingTimes.Hour,\n }\n },\n\n computed: {\n selectingHour: {\n get (): boolean {\n return this.selecting === SelectingTimes.Hour\n },\n set (v: boolean) {\n this.selecting = SelectingTimes.Hour\n },\n },\n selectingMinute: {\n get (): boolean {\n return this.selecting === SelectingTimes.Minute\n },\n set (v: boolean) {\n this.selecting = SelectingTimes.Minute\n },\n },\n selectingSecond: {\n get (): boolean {\n return this.selecting === SelectingTimes.Second\n },\n set (v: boolean) {\n this.selecting = SelectingTimes.Second\n },\n },\n isAllowedHourCb (): AllowFunction {\n let cb: AllowFunction\n\n if (this.allowedHours instanceof Array) {\n cb = (val: number) => (this.allowedHours as number[]).includes(val)\n } else {\n cb = this.allowedHours\n }\n\n if (!this.min && !this.max) return cb\n\n const minHour = this.min ? Number(this.min.split(':')[0]) : 0\n const maxHour = this.max ? Number(this.max.split(':')[0]) : 23\n\n return (val: number) => {\n return val >= minHour * 1 &&\n val <= maxHour * 1 &&\n (!cb || cb(val))\n }\n },\n isAllowedMinuteCb (): AllowFunction {\n let cb: AllowFunction\n\n const isHourAllowed = !this.isAllowedHourCb || this.inputHour === null || this.isAllowedHourCb(this.inputHour)\n if (this.allowedMinutes instanceof Array) {\n cb = (val: number) => (this.allowedMinutes as number[]).includes(val)\n } else {\n cb = this.allowedMinutes\n }\n\n if (!this.min && !this.max) {\n return isHourAllowed ? cb : () => false\n }\n\n const [minHour, minMinute] = this.min ? this.min.split(':').map(Number) : [0, 0]\n const [maxHour, maxMinute] = this.max ? this.max.split(':').map(Number) : [23, 59]\n const minTime = minHour * 60 + minMinute * 1\n const maxTime = maxHour * 60 + maxMinute * 1\n\n return (val: number) => {\n const time = 60 * this.inputHour! + val\n return time >= minTime &&\n time <= maxTime &&\n isHourAllowed &&\n (!cb || cb(val))\n }\n },\n isAllowedSecondCb (): AllowFunction {\n let cb: AllowFunction\n\n const isHourAllowed = !this.isAllowedHourCb || this.inputHour === null || this.isAllowedHourCb(this.inputHour)\n const isMinuteAllowed = isHourAllowed &&\n (!this.isAllowedMinuteCb ||\n this.inputMinute === null ||\n this.isAllowedMinuteCb(this.inputMinute)\n )\n\n if (this.allowedSeconds instanceof Array) {\n cb = (val: number) => (this.allowedSeconds as number[]).includes(val)\n } else {\n cb = this.allowedSeconds\n }\n\n if (!this.min && !this.max) {\n return isMinuteAllowed ? cb : () => false\n }\n\n const [minHour, minMinute, minSecond] = this.min ? this.min.split(':').map(Number) : [0, 0, 0]\n const [maxHour, maxMinute, maxSecond] = this.max ? this.max.split(':').map(Number) : [23, 59, 59]\n const minTime = minHour * 3600 + minMinute * 60 + (minSecond || 0) * 1\n const maxTime = maxHour * 3600 + maxMinute * 60 + (maxSecond || 0) * 1\n\n return (val: number) => {\n const time = 3600 * this.inputHour! + 60 * this.inputMinute! + val\n return time >= minTime &&\n time <= maxTime &&\n isMinuteAllowed &&\n (!cb || cb(val))\n }\n },\n isAmPm (): boolean {\n return this.format === 'ampm'\n },\n },\n\n watch: {\n value: 'setInputData',\n },\n\n mounted () {\n this.setInputData(this.value)\n this.$on('update:period', this.setPeriod)\n },\n\n methods: {\n genValue () {\n if (this.inputHour != null && this.inputMinute != null && (!this.useSeconds || this.inputSecond != null)) {\n return `${pad(this.inputHour)}:${pad(this.inputMinute)}` + (this.useSeconds ? `:${pad(this.inputSecond!)}` : '')\n }\n\n return null\n },\n emitValue () {\n const value = this.genValue()\n if (value !== null) this.$emit('input', value)\n },\n setPeriod (period: Period) {\n this.period = period\n if (this.inputHour != null) {\n const newHour = this.inputHour! + (period === 'am' ? -12 : 12)\n this.inputHour = this.firstAllowed('hour', newHour)\n this.emitValue()\n }\n },\n setInputData (value: string | null | Date) {\n if (value == null || value === '') {\n this.inputHour = null\n this.inputMinute = null\n this.inputSecond = null\n } else if (value instanceof Date) {\n this.inputHour = value.getHours()\n this.inputMinute = value.getMinutes()\n this.inputSecond = value.getSeconds()\n } else {\n const [, hour, minute, , second, period] = value.trim().toLowerCase().match(/^(\\d+):(\\d+)(:(\\d+))?([ap]m)?$/) || new Array(6)\n\n this.inputHour = period ? this.convert12to24(parseInt(hour, 10), period as Period) : parseInt(hour, 10)\n this.inputMinute = parseInt(minute, 10)\n this.inputSecond = parseInt(second || 0, 10)\n }\n\n this.period = (this.inputHour == null || this.inputHour < 12) ? 'am' : 'pm'\n },\n convert24to12 (hour: number) {\n return hour ? ((hour - 1) % 12 + 1) : 12\n },\n convert12to24 (hour: number, period: Period) {\n return hour % 12 + (period === 'pm' ? 12 : 0)\n },\n onInput (value: number) {\n if (this.selecting === SelectingTimes.Hour) {\n this.inputHour = this.isAmPm ? this.convert12to24(value, this.period) : value\n } else if (this.selecting === SelectingTimes.Minute) {\n this.inputMinute = value\n } else {\n this.inputSecond = value\n }\n this.emitValue()\n },\n onChange (value: number) {\n this.$emit(`click:${selectingNames[this.selecting]}`, value)\n\n const emitChange = this.selecting === (this.useSeconds ? SelectingTimes.Second : SelectingTimes.Minute)\n\n if (this.selecting === SelectingTimes.Hour) {\n this.selecting = SelectingTimes.Minute\n } else if (this.useSeconds && this.selecting === SelectingTimes.Minute) {\n this.selecting = SelectingTimes.Second\n }\n\n if (this.inputHour === this.lazyInputHour &&\n this.inputMinute === this.lazyInputMinute &&\n (!this.useSeconds || this.inputSecond === this.lazyInputSecond)\n ) return\n\n const time = this.genValue()\n if (time === null) return\n\n this.lazyInputHour = this.inputHour\n this.lazyInputMinute = this.inputMinute\n this.useSeconds && (this.lazyInputSecond = this.inputSecond)\n\n emitChange && this.$emit('change', time)\n },\n firstAllowed (type: 'hour' | 'minute' | 'second', value: number) {\n const allowedFn = type === 'hour' ? this.isAllowedHourCb : (type === 'minute' ? this.isAllowedMinuteCb : this.isAllowedSecondCb)\n if (!allowedFn) return value\n\n // TODO: clean up\n const range = type === 'minute'\n ? range60\n : (type === 'second'\n ? range60\n : (this.isAmPm\n ? (value < 12\n ? rangeHours12am\n : rangeHours12pm)\n : rangeHours24))\n const first = range.find(v => allowedFn((v + value) % range.length + range[0]))\n return ((first || 0) + value) % range.length + range[0]\n },\n genClock () {\n return this.$createElement(VTimePickerClock, {\n props: {\n allowedValues:\n this.selecting === SelectingTimes.Hour\n ? this.isAllowedHourCb\n : (this.selecting === SelectingTimes.Minute\n ? this.isAllowedMinuteCb\n : this.isAllowedSecondCb),\n color: this.color,\n dark: this.dark,\n disabled: this.disabled,\n double: this.selecting === SelectingTimes.Hour && !this.isAmPm,\n format: this.selecting === SelectingTimes.Hour\n ? (this.isAmPm ? this.convert24to12 : (val: number) => val)\n : (val: number) => pad(val, 2),\n light: this.light,\n max: this.selecting === SelectingTimes.Hour ? (this.isAmPm && this.period === 'am' ? 11 : 23) : 59,\n min: this.selecting === SelectingTimes.Hour && this.isAmPm && this.period === 'pm' ? 12 : 0,\n readonly: this.readonly,\n scrollable: this.scrollable,\n size: Number(this.width) - ((!this.fullWidth && this.landscape) ? 80 : 20),\n step: this.selecting === SelectingTimes.Hour ? 1 : 5,\n value: this.selecting === SelectingTimes.Hour\n ? this.inputHour\n : (this.selecting === SelectingTimes.Minute\n ? this.inputMinute\n : this.inputSecond),\n },\n on: {\n input: this.onInput,\n change: this.onChange,\n },\n ref: 'clock',\n })\n },\n genClockAmPm () {\n return this.$createElement('div', this.setTextColor(this.color || 'primary', {\n staticClass: 'v-time-picker-clock__ampm',\n }), [\n this.genPickerButton('period', 'am', this.$vuetify.lang.t('$vuetify.timePicker.am'), this.disabled || this.readonly),\n this.genPickerButton('period', 'pm', this.$vuetify.lang.t('$vuetify.timePicker.pm'), this.disabled || this.readonly),\n ])\n },\n genPickerBody () {\n return this.$createElement('div', {\n staticClass: 'v-time-picker-clock__container',\n key: this.selecting,\n }, [\n !this.ampmInTitle && this.isAmPm && this.genClockAmPm(),\n this.genClock(),\n ])\n },\n genPickerTitle () {\n return this.$createElement(VTimePickerTitle, {\n props: {\n ampm: this.isAmPm,\n ampmReadonly: this.isAmPm && !this.ampmInTitle,\n disabled: this.disabled,\n hour: this.inputHour,\n minute: this.inputMinute,\n second: this.inputSecond,\n period: this.period,\n readonly: this.readonly,\n useSeconds: this.useSeconds,\n selecting: this.selecting,\n },\n on: {\n 'update:selecting': (value: 1 | 2 | 3) => (this.selecting = value),\n 'update:period': (period: string) => this.$emit('update:period', period),\n },\n ref: 'title',\n slot: 'title',\n })\n },\n },\n\n render (): VNode {\n return this.genPicker('v-picker--time')\n },\n})\n"],"mappings":"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"}
|
|
@@ -1,251 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
/* eslint-disable */
|
|
3
|
-
|
|
4
|
-
import "./VTimePickerClock.css";
|
|
5
|
-
|
|
6
|
-
// Mixins
|
|
7
|
-
import Colorable from "../../mixins/colorable.mjs";
|
|
8
|
-
import Themeable from "../../mixins/themeable.mjs"; // Types
|
|
9
|
-
import mixins from "../../util/mixins.mjs";
|
|
10
|
-
export default mixins(Colorable, Themeable
|
|
11
|
-
/* @vue/component */).extend({
|
|
12
|
-
name: 'v-time-picker-clock',
|
|
13
|
-
props: {
|
|
14
|
-
allowedValues: Function,
|
|
15
|
-
ampm: Boolean,
|
|
16
|
-
disabled: Boolean,
|
|
17
|
-
double: Boolean,
|
|
18
|
-
format: {
|
|
19
|
-
type: Function,
|
|
20
|
-
default: val => val
|
|
21
|
-
},
|
|
22
|
-
max: {
|
|
23
|
-
type: Number,
|
|
24
|
-
required: true
|
|
25
|
-
},
|
|
26
|
-
min: {
|
|
27
|
-
type: Number,
|
|
28
|
-
required: true
|
|
29
|
-
},
|
|
30
|
-
scrollable: Boolean,
|
|
31
|
-
readonly: Boolean,
|
|
32
|
-
rotate: {
|
|
33
|
-
type: Number,
|
|
34
|
-
default: 0
|
|
35
|
-
},
|
|
36
|
-
step: {
|
|
37
|
-
type: Number,
|
|
38
|
-
default: 1
|
|
39
|
-
},
|
|
40
|
-
value: Number
|
|
41
|
-
},
|
|
42
|
-
data() {
|
|
43
|
-
return {
|
|
44
|
-
inputValue: this.value,
|
|
45
|
-
isDragging: false,
|
|
46
|
-
valueOnMouseDown: null,
|
|
47
|
-
valueOnMouseUp: null
|
|
48
|
-
};
|
|
49
|
-
},
|
|
50
|
-
computed: {
|
|
51
|
-
count() {
|
|
52
|
-
return this.max - this.min + 1;
|
|
53
|
-
},
|
|
54
|
-
degreesPerUnit() {
|
|
55
|
-
return 360 / this.roundCount;
|
|
56
|
-
},
|
|
57
|
-
degrees() {
|
|
58
|
-
return this.degreesPerUnit * Math.PI / 180;
|
|
59
|
-
},
|
|
60
|
-
displayedValue() {
|
|
61
|
-
return this.value == null ? this.min : this.value;
|
|
62
|
-
},
|
|
63
|
-
innerRadiusScale() {
|
|
64
|
-
return 0.62;
|
|
65
|
-
},
|
|
66
|
-
roundCount() {
|
|
67
|
-
return this.double ? this.count / 2 : this.count;
|
|
68
|
-
}
|
|
69
|
-
},
|
|
70
|
-
watch: {
|
|
71
|
-
value(value) {
|
|
72
|
-
this.inputValue = value;
|
|
73
|
-
}
|
|
74
|
-
},
|
|
75
|
-
methods: {
|
|
76
|
-
wheel(e) {
|
|
77
|
-
e.preventDefault();
|
|
78
|
-
const delta = Math.sign(-e.deltaY || 1);
|
|
79
|
-
let value = this.displayedValue;
|
|
80
|
-
do {
|
|
81
|
-
value = value + delta;
|
|
82
|
-
value = (value - this.min + this.count) % this.count + this.min;
|
|
83
|
-
} while (!this.isAllowed(value) && value !== this.displayedValue);
|
|
84
|
-
if (value !== this.displayedValue) {
|
|
85
|
-
this.update(value);
|
|
86
|
-
}
|
|
87
|
-
},
|
|
88
|
-
isInner(value) {
|
|
89
|
-
return this.double && value - this.min >= this.roundCount;
|
|
90
|
-
},
|
|
91
|
-
handScale(value) {
|
|
92
|
-
return this.isInner(value) ? this.innerRadiusScale : 1;
|
|
93
|
-
},
|
|
94
|
-
isAllowed(value) {
|
|
95
|
-
return !this.allowedValues || this.allowedValues(value);
|
|
96
|
-
},
|
|
97
|
-
genValues() {
|
|
98
|
-
const children = [];
|
|
99
|
-
for (let value = this.min; value <= this.max; value = value + this.step) {
|
|
100
|
-
const color = value === this.value && (this.color || 'accent');
|
|
101
|
-
children.push(this.$createElement('span', this.setBackgroundColor(color, {
|
|
102
|
-
staticClass: 'v-time-picker-clock__item',
|
|
103
|
-
class: {
|
|
104
|
-
'v-time-picker-clock__item--active': value === this.displayedValue,
|
|
105
|
-
'v-time-picker-clock__item--disabled': this.disabled || !this.isAllowed(value)
|
|
106
|
-
},
|
|
107
|
-
style: this.getTransform(value),
|
|
108
|
-
domProps: {
|
|
109
|
-
innerHTML: `<span>${this.format(value)}</span>`
|
|
110
|
-
}
|
|
111
|
-
})));
|
|
112
|
-
}
|
|
113
|
-
return children;
|
|
114
|
-
},
|
|
115
|
-
genHand() {
|
|
116
|
-
const scale = `scaleY(${this.handScale(this.displayedValue)})`;
|
|
117
|
-
const angle = this.rotate + this.degreesPerUnit * (this.displayedValue - this.min);
|
|
118
|
-
const color = this.value != null && (this.color || 'accent');
|
|
119
|
-
return this.$createElement('div', this.setBackgroundColor(color, {
|
|
120
|
-
staticClass: 'v-time-picker-clock__hand',
|
|
121
|
-
class: {
|
|
122
|
-
'v-time-picker-clock__hand--inner': this.isInner(this.value)
|
|
123
|
-
},
|
|
124
|
-
style: {
|
|
125
|
-
transform: `rotate(${angle}deg) ${scale}`
|
|
126
|
-
}
|
|
127
|
-
}));
|
|
128
|
-
},
|
|
129
|
-
getTransform(i) {
|
|
130
|
-
const {
|
|
131
|
-
x,
|
|
132
|
-
y
|
|
133
|
-
} = this.getPosition(i);
|
|
134
|
-
return {
|
|
135
|
-
left: `${50 + x * 50}%`,
|
|
136
|
-
top: `${50 + y * 50}%`
|
|
137
|
-
};
|
|
138
|
-
},
|
|
139
|
-
getPosition(value) {
|
|
140
|
-
const rotateRadians = this.rotate * Math.PI / 180;
|
|
141
|
-
return {
|
|
142
|
-
x: Math.sin((value - this.min) * this.degrees + rotateRadians) * this.handScale(value),
|
|
143
|
-
y: -Math.cos((value - this.min) * this.degrees + rotateRadians) * this.handScale(value)
|
|
144
|
-
};
|
|
145
|
-
},
|
|
146
|
-
onMouseDown(e) {
|
|
147
|
-
e.preventDefault();
|
|
148
|
-
this.valueOnMouseDown = null;
|
|
149
|
-
this.valueOnMouseUp = null;
|
|
150
|
-
this.isDragging = true;
|
|
151
|
-
this.onDragMove(e);
|
|
152
|
-
},
|
|
153
|
-
onMouseUp(e) {
|
|
154
|
-
e.stopPropagation();
|
|
155
|
-
this.isDragging = false;
|
|
156
|
-
if (this.valueOnMouseUp !== null && this.isAllowed(this.valueOnMouseUp)) {
|
|
157
|
-
this.$emit('change', this.valueOnMouseUp);
|
|
158
|
-
}
|
|
159
|
-
},
|
|
160
|
-
onDragMove(e) {
|
|
161
|
-
e.preventDefault();
|
|
162
|
-
if (!this.isDragging && e.type !== 'click' || !this.$refs.clock) return;
|
|
163
|
-
const {
|
|
164
|
-
width,
|
|
165
|
-
top,
|
|
166
|
-
left
|
|
167
|
-
} = this.$refs.clock.getBoundingClientRect();
|
|
168
|
-
const {
|
|
169
|
-
width: innerWidth
|
|
170
|
-
} = this.$refs.innerClock.getBoundingClientRect();
|
|
171
|
-
const {
|
|
172
|
-
clientX,
|
|
173
|
-
clientY
|
|
174
|
-
} = 'touches' in e ? e.touches[0] : e;
|
|
175
|
-
const center = {
|
|
176
|
-
x: width / 2,
|
|
177
|
-
y: -width / 2
|
|
178
|
-
};
|
|
179
|
-
const coords = {
|
|
180
|
-
x: clientX - left,
|
|
181
|
-
y: top - clientY
|
|
182
|
-
};
|
|
183
|
-
const handAngle = Math.round(this.angle(center, coords) - this.rotate + 360) % 360;
|
|
184
|
-
const insideClick = this.double && this.euclidean(center, coords) < (innerWidth + innerWidth * this.innerRadiusScale) / 4;
|
|
185
|
-
const checksCount = Math.ceil(15 / this.degreesPerUnit);
|
|
186
|
-
let value;
|
|
187
|
-
for (let i = 0; i < checksCount; i++) {
|
|
188
|
-
value = this.angleToValue(handAngle + i * this.degreesPerUnit, insideClick);
|
|
189
|
-
if (this.isAllowed(value)) return this.setMouseDownValue(value);
|
|
190
|
-
value = this.angleToValue(handAngle - i * this.degreesPerUnit, insideClick);
|
|
191
|
-
if (this.isAllowed(value)) return this.setMouseDownValue(value);
|
|
192
|
-
}
|
|
193
|
-
},
|
|
194
|
-
angleToValue(angle, insideClick) {
|
|
195
|
-
const value = (Math.round(angle / this.degreesPerUnit) + (insideClick ? this.roundCount : 0)) % this.count + this.min;
|
|
196
|
-
|
|
197
|
-
// Necessary to fix edge case when selecting left part of the value(s) at 12 o'clock
|
|
198
|
-
if (angle < 360 - this.degreesPerUnit / 2) return value;
|
|
199
|
-
return insideClick ? this.max - this.roundCount + 1 : this.min;
|
|
200
|
-
},
|
|
201
|
-
setMouseDownValue(value) {
|
|
202
|
-
if (this.valueOnMouseDown === null) {
|
|
203
|
-
this.valueOnMouseDown = value;
|
|
204
|
-
}
|
|
205
|
-
this.valueOnMouseUp = value;
|
|
206
|
-
this.update(value);
|
|
207
|
-
},
|
|
208
|
-
update(value) {
|
|
209
|
-
if (this.inputValue !== value) {
|
|
210
|
-
this.inputValue = value;
|
|
211
|
-
this.$emit('input', value);
|
|
212
|
-
}
|
|
213
|
-
},
|
|
214
|
-
euclidean(p0, p1) {
|
|
215
|
-
const dx = p1.x - p0.x;
|
|
216
|
-
const dy = p1.y - p0.y;
|
|
217
|
-
return Math.sqrt(dx * dx + dy * dy);
|
|
218
|
-
},
|
|
219
|
-
angle(center, p1) {
|
|
220
|
-
const value = 2 * Math.atan2(p1.y - center.y - this.euclidean(center, p1), p1.x - center.x);
|
|
221
|
-
return Math.abs(value * 180 / Math.PI);
|
|
222
|
-
}
|
|
223
|
-
},
|
|
224
|
-
render(h) {
|
|
225
|
-
const data = {
|
|
226
|
-
staticClass: 'v-time-picker-clock',
|
|
227
|
-
class: {
|
|
228
|
-
'v-time-picker-clock--indeterminate': this.value == null,
|
|
229
|
-
...this.themeClasses
|
|
230
|
-
},
|
|
231
|
-
on: this.readonly || this.disabled ? undefined : {
|
|
232
|
-
mousedown: this.onMouseDown,
|
|
233
|
-
mouseup: this.onMouseUp,
|
|
234
|
-
mouseleave: e => this.isDragging && this.onMouseUp(e),
|
|
235
|
-
touchstart: this.onMouseDown,
|
|
236
|
-
touchend: this.onMouseUp,
|
|
237
|
-
mousemove: this.onDragMove,
|
|
238
|
-
touchmove: this.onDragMove
|
|
239
|
-
},
|
|
240
|
-
ref: 'clock'
|
|
241
|
-
};
|
|
242
|
-
if (this.scrollable && data.on) {
|
|
243
|
-
data.on.wheel = this.wheel;
|
|
244
|
-
}
|
|
245
|
-
return h('div', data, [h('div', {
|
|
246
|
-
staticClass: 'v-time-picker-clock__inner',
|
|
247
|
-
ref: 'innerClock'
|
|
248
|
-
}, [this.genHand(), this.genValues()])]);
|
|
249
|
-
}
|
|
250
|
-
});
|
|
251
|
-
//# sourceMappingURL=VTimePickerClock.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VTimePickerClock.mjs","names":["Colorable","Themeable","mixins","extend","name","props","allowedValues","Function","ampm","Boolean","disabled","double","format","type","default","val","max","Number","required","min","scrollable","readonly","rotate","step","value","data","inputValue","isDragging","valueOnMouseDown","valueOnMouseUp","computed","count","degreesPerUnit","roundCount","degrees","Math","PI","displayedValue","innerRadiusScale","watch","methods","wheel","e","preventDefault","delta","sign","deltaY","isAllowed","update","isInner","handScale","genValues","children","color","push","$createElement","setBackgroundColor","staticClass","class","style","getTransform","domProps","innerHTML","genHand","scale","angle","transform","i","x","y","getPosition","left","top","rotateRadians","sin","cos","onMouseDown","onDragMove","onMouseUp","stopPropagation","$emit","$refs","clock","width","getBoundingClientRect","innerWidth","innerClock","clientX","clientY","touches","center","coords","handAngle","round","insideClick","euclidean","checksCount","ceil","angleToValue","setMouseDownValue","p0","p1","dx","dy","sqrt","atan2","abs","render","h","themeClasses","on","undefined","mousedown","mouseup","mouseleave","touchstart","touchend","mousemove","touchmove","ref"],"sources":["../../../src/components/VTimePicker/VTimePickerClock.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport './VTimePickerClock.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport Vue, { VNode, PropType, VNodeData } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\ninterface Point {\n x: number\n y: number\n}\n\ninterface options extends Vue {\n $refs: {\n clock: HTMLElement\n innerClock: HTMLElement\n }\n}\n\nexport default mixins<options &\n/* eslint-disable indent */\n ExtractVue<[\n typeof Colorable,\n typeof Themeable\n ]>\n/* eslint-enable indent */\n>(\n Colorable,\n Themeable\n/* @vue/component */\n).extend({\n name: 'v-time-picker-clock',\n\n props: {\n allowedValues: Function as PropType<(value: number) => boolean>,\n ampm: Boolean,\n disabled: Boolean,\n double: Boolean,\n format: {\n type: Function,\n default: (val: string | number) => val,\n } as PropValidator<(val: string | number) => string | number>,\n max: {\n type: Number,\n required: true,\n },\n min: {\n type: Number,\n required: true,\n },\n scrollable: Boolean,\n readonly: Boolean,\n rotate: {\n type: Number,\n default: 0,\n },\n step: {\n type: Number,\n default: 1,\n },\n value: Number,\n },\n\n data () {\n return {\n inputValue: this.value,\n isDragging: false,\n valueOnMouseDown: null as number | null,\n valueOnMouseUp: null as number | null,\n }\n },\n\n computed: {\n count (): number {\n return this.max - this.min + 1\n },\n degreesPerUnit (): number {\n return 360 / this.roundCount\n },\n degrees (): number {\n return this.degreesPerUnit * Math.PI / 180\n },\n displayedValue (): number {\n return this.value == null ? this.min : this.value\n },\n innerRadiusScale (): number {\n return 0.62\n },\n roundCount (): number {\n return this.double ? (this.count / 2) : this.count\n },\n },\n\n watch: {\n value (value) {\n this.inputValue = value\n },\n },\n\n methods: {\n wheel (e: WheelEvent) {\n e.preventDefault()\n\n const delta = Math.sign(-e.deltaY || 1)\n let value = this.displayedValue\n do {\n value = value + delta\n value = (value - this.min + this.count) % this.count + this.min\n } while (!this.isAllowed(value) && value !== this.displayedValue)\n\n if (value !== this.displayedValue) {\n this.update(value)\n }\n },\n isInner (value: number) {\n return this.double && (value - this.min >= this.roundCount)\n },\n handScale (value: number) {\n return this.isInner(value) ? this.innerRadiusScale : 1\n },\n isAllowed (value: number) {\n return !this.allowedValues || this.allowedValues(value)\n },\n genValues () {\n const children: VNode[] = []\n\n for (let value = this.min; value <= this.max; value = value + this.step) {\n const color = value === this.value && (this.color || 'accent')\n children.push(this.$createElement('span', this.setBackgroundColor(color, {\n staticClass: 'v-time-picker-clock__item',\n class: {\n 'v-time-picker-clock__item--active': value === this.displayedValue,\n 'v-time-picker-clock__item--disabled': this.disabled || !this.isAllowed(value),\n },\n style: this.getTransform(value),\n domProps: { innerHTML: `<span>${this.format(value)}</span>` },\n })))\n }\n\n return children\n },\n genHand () {\n const scale = `scaleY(${this.handScale(this.displayedValue)})`\n const angle = this.rotate + this.degreesPerUnit * (this.displayedValue - this.min)\n const color = (this.value != null) && (this.color || 'accent')\n return this.$createElement('div', this.setBackgroundColor(color, {\n staticClass: 'v-time-picker-clock__hand',\n class: {\n 'v-time-picker-clock__hand--inner': this.isInner(this.value),\n },\n style: {\n transform: `rotate(${angle}deg) ${scale}`,\n },\n }))\n },\n getTransform (i: number) {\n const { x, y } = this.getPosition(i)\n return {\n left: `${50 + x * 50}%`,\n top: `${50 + y * 50}%`,\n }\n },\n getPosition (value: number) {\n const rotateRadians = this.rotate * Math.PI / 180\n return {\n x: Math.sin((value - this.min) * this.degrees + rotateRadians) * this.handScale(value),\n y: -Math.cos((value - this.min) * this.degrees + rotateRadians) * this.handScale(value),\n }\n },\n onMouseDown (e: MouseEvent | TouchEvent) {\n e.preventDefault()\n\n this.valueOnMouseDown = null\n this.valueOnMouseUp = null\n this.isDragging = true\n this.onDragMove(e)\n },\n onMouseUp (e: MouseEvent | TouchEvent) {\n e.stopPropagation()\n\n this.isDragging = false\n if (this.valueOnMouseUp !== null && this.isAllowed(this.valueOnMouseUp)) {\n this.$emit('change', this.valueOnMouseUp)\n }\n },\n onDragMove (e: MouseEvent | TouchEvent) {\n e.preventDefault()\n if ((!this.isDragging && e.type !== 'click') || !this.$refs.clock) return\n\n const { width, top, left } = this.$refs.clock.getBoundingClientRect()\n const { width: innerWidth } = this.$refs.innerClock.getBoundingClientRect()\n const { clientX, clientY } = 'touches' in e ? e.touches[0] : e\n const center = { x: width / 2, y: -width / 2 }\n const coords = { x: clientX - left, y: top - clientY }\n const handAngle = Math.round(this.angle(center, coords) - this.rotate + 360) % 360\n const insideClick = this.double && this.euclidean(center, coords) < (innerWidth + innerWidth * this.innerRadiusScale) / 4\n const checksCount = Math.ceil(15 / this.degreesPerUnit)\n let value\n\n for (let i = 0; i < checksCount; i++) {\n value = this.angleToValue(handAngle + i * this.degreesPerUnit, insideClick)\n if (this.isAllowed(value)) return this.setMouseDownValue(value)\n\n value = this.angleToValue(handAngle - i * this.degreesPerUnit, insideClick)\n if (this.isAllowed(value)) return this.setMouseDownValue(value)\n }\n },\n angleToValue (angle: number, insideClick: boolean): number {\n const value = (\n Math.round(angle / this.degreesPerUnit) +\n (insideClick ? this.roundCount : 0)\n ) % this.count + this.min\n\n // Necessary to fix edge case when selecting left part of the value(s) at 12 o'clock\n if (angle < (360 - this.degreesPerUnit / 2)) return value\n\n return insideClick ? this.max - this.roundCount + 1 : this.min\n },\n setMouseDownValue (value: number) {\n if (this.valueOnMouseDown === null) {\n this.valueOnMouseDown = value\n }\n\n this.valueOnMouseUp = value\n this.update(value)\n },\n update (value: number) {\n if (this.inputValue !== value) {\n this.inputValue = value\n this.$emit('input', value)\n }\n },\n euclidean (p0: Point, p1: Point) {\n const dx = p1.x - p0.x\n const dy = p1.y - p0.y\n\n return Math.sqrt(dx * dx + dy * dy)\n },\n angle (center: Point, p1: Point) {\n const value = 2 * Math.atan2(p1.y - center.y - this.euclidean(center, p1), p1.x - center.x)\n return Math.abs(value * 180 / Math.PI)\n },\n },\n\n render (h): VNode {\n const data: VNodeData = {\n staticClass: 'v-time-picker-clock',\n class: {\n 'v-time-picker-clock--indeterminate': this.value == null,\n ...this.themeClasses,\n },\n on: (this.readonly || this.disabled) ? undefined : {\n mousedown: this.onMouseDown,\n mouseup: this.onMouseUp,\n mouseleave: (e: MouseEvent) => (this.isDragging && this.onMouseUp(e)),\n touchstart: this.onMouseDown,\n touchend: this.onMouseUp,\n mousemove: this.onDragMove,\n touchmove: this.onDragMove,\n },\n ref: 'clock',\n }\n\n if (this.scrollable && data.on) {\n data.on.wheel = this.wheel\n }\n\n return h('div', data, [\n h('div', {\n staticClass: 'v-time-picker-clock__inner',\n ref: 'innerClock',\n }, [\n this.genHand(),\n this.genValues(),\n ]),\n ])\n },\n})\n"],"mappings":"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"}
|