vuetify 3.3.4 → 3.3.6
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/json/attributes.json +4 -12
- package/dist/json/importMap.json +20 -20
- package/dist/json/tags.json +0 -2
- package/dist/json/web-types.json +7 -27
- package/dist/vuetify-labs.css +49 -27
- package/dist/vuetify-labs.d.ts +36 -98
- package/dist/vuetify-labs.esm.js +85 -53
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +85 -53
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +66 -43
- package/dist/vuetify.d.ts +5 -5
- package/dist/vuetify.esm.js +43 -34
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +43 -34
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +21 -22
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAppBar/VAppBar.mjs +12 -9
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.css +12 -4
- package/lib/components/VAutocomplete/VAutocomplete.sass +17 -9
- package/lib/components/VAutocomplete/_variables.scss +1 -0
- package/lib/components/VBreadcrumbs/VBreadcrumbs.css +4 -0
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbs.sass +4 -0
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +8 -7
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.css +1 -1
- package/lib/components/VBtn/VBtn.sass +1 -1
- package/lib/components/VCombobox/VCombobox.css +12 -4
- package/lib/components/VCombobox/VCombobox.sass +17 -9
- package/lib/components/VCombobox/_variables.scss +1 -0
- package/lib/components/VFooter/VFooter.mjs +4 -2
- package/lib/components/VFooter/VFooter.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VOverlay/VOverlay.mjs +1 -1
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.css +4 -3
- package/lib/components/VSelect/VSelect.sass +10 -12
- package/lib/components/VSlider/VSliderThumb.mjs +6 -2
- package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
- package/lib/components/VTextField/VTextField.css +2 -0
- package/lib/components/VTextField/VTextField.mjs +2 -4
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/VTextField.sass +3 -1
- package/lib/composables/validation.mjs +2 -2
- package/lib/composables/validation.mjs.map +1 -1
- package/lib/composables/virtual.mjs +7 -5
- package/lib/composables/virtual.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/iconsets/fa.mjs +2 -2
- package/lib/iconsets/fa.mjs.map +1 -1
- package/lib/iconsets/fa4.mjs +2 -2
- package/lib/iconsets/fa4.mjs.map +1 -1
- package/lib/index.d.mts +5 -5
- package/lib/labs/VDataTable/composables/sort.mjs +4 -1
- package/lib/labs/VDataTable/composables/sort.mjs.map +1 -1
- package/lib/labs/VDatePicker/VDatePicker.css +3 -5
- package/lib/labs/VDatePicker/VDatePicker.mjs +12 -10
- package/lib/labs/VDatePicker/VDatePicker.mjs.map +1 -1
- package/lib/labs/VDatePicker/VDatePicker.sass +3 -5
- package/lib/labs/VDatePicker/VDatePickerControls.css +3 -1
- package/lib/labs/VDatePicker/VDatePickerControls.mjs +1 -1
- package/lib/labs/VDatePicker/VDatePickerControls.mjs.map +1 -1
- package/lib/labs/VDatePicker/VDatePickerControls.sass +3 -3
- package/lib/labs/VDatePicker/VDatePickerMonth.css +0 -1
- package/lib/labs/VDatePicker/VDatePickerMonth.mjs +0 -5
- package/lib/labs/VDatePicker/VDatePickerMonth.mjs.map +1 -1
- package/lib/labs/VDatePicker/VDatePickerMonth.sass +0 -1
- package/lib/labs/VDatePicker/VDatePickerTitle.sass +1 -1
- package/lib/labs/VDatePicker/VDatePickerYears.css +1 -1
- package/lib/labs/VDatePicker/VDatePickerYears.sass +1 -1
- package/lib/labs/VDatePicker/_variables.scss +0 -5
- package/lib/labs/VDatePicker/index.d.mts +36 -98
- package/lib/labs/VDateRangePicker/index.d.mts +34 -44
- package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs +24 -4
- package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs.map +1 -1
- package/lib/labs/VPicker/VPicker.css +1 -1
- package/lib/labs/VPicker/VPicker.sass +1 -1
- package/lib/labs/VPicker/_variables.scss +2 -2
- package/lib/labs/components.d.mts +36 -98
- package/lib/util/helpers.mjs +3 -0
- package/lib/util/helpers.mjs.map +1 -1
- package/lib/util/injectSelf.mjs +1 -0
- package/lib/util/injectSelf.mjs.map +1 -1
- package/package.json +2 -2
- package/lib/labs/VDatePicker/VDatePickerTable.sass +0 -84
- package/lib/labs/VDatePicker/mixins/date-picker-table.mjs +0 -210
- package/lib/labs/VDatePicker/mixins/date-picker-table.mjs.map +0 -1
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
@import './_variables.scss'
|
|
2
|
-
|
|
3
|
-
+theme(v-date-picker-table) using ($material)
|
|
4
|
-
th,
|
|
5
|
-
.v-date-picker-table--date__week
|
|
6
|
-
color: map-deep-get($material, 'text', 'disabled')
|
|
7
|
-
|
|
8
|
-
.v-date-picker-table
|
|
9
|
-
position: relative
|
|
10
|
-
padding: $date-picker-table-padding
|
|
11
|
-
height: $date-picker-table-height
|
|
12
|
-
|
|
13
|
-
table
|
|
14
|
-
transition: $primary-transition
|
|
15
|
-
top: 0
|
|
16
|
-
table-layout: fixed
|
|
17
|
-
width: 100%
|
|
18
|
-
|
|
19
|
-
td, th
|
|
20
|
-
text-align: center
|
|
21
|
-
position: relative
|
|
22
|
-
|
|
23
|
-
th
|
|
24
|
-
font-size: $date-picker-table-font-size
|
|
25
|
-
|
|
26
|
-
&--date .v-btn
|
|
27
|
-
height: $date-picker-table-date-button-height
|
|
28
|
-
width: $date-picker-table-date-button-width
|
|
29
|
-
|
|
30
|
-
.v-btn
|
|
31
|
-
z-index: auto
|
|
32
|
-
margin: 0
|
|
33
|
-
font-size: $date-picker-table-font-size
|
|
34
|
-
|
|
35
|
-
&.v-btn--active
|
|
36
|
-
color: $date-picker-table-active-date-color
|
|
37
|
-
|
|
38
|
-
.v-date-picker-table--month
|
|
39
|
-
td
|
|
40
|
-
width: 33.333333%
|
|
41
|
-
height: $date-picker-table-month-height
|
|
42
|
-
vertical-align: middle
|
|
43
|
-
text-align: center
|
|
44
|
-
|
|
45
|
-
.v-btn
|
|
46
|
-
margin: 0 auto
|
|
47
|
-
max-width: $date-picker-table-month-max-width
|
|
48
|
-
min-width: $date-picker-table-month-min-width
|
|
49
|
-
width: 100%
|
|
50
|
-
|
|
51
|
-
.v-date-picker-table--date
|
|
52
|
-
th
|
|
53
|
-
padding: $date-picker-table-date-padding
|
|
54
|
-
font-weight: $date-picker-table-date-font-weight
|
|
55
|
-
|
|
56
|
-
td
|
|
57
|
-
width: $date-picker-table-date-width
|
|
58
|
-
|
|
59
|
-
.v-date-picker-table__events
|
|
60
|
-
height: $date-picker-event-size
|
|
61
|
-
left: 0
|
|
62
|
-
position: absolute
|
|
63
|
-
text-align: center
|
|
64
|
-
white-space: pre
|
|
65
|
-
width: 100%
|
|
66
|
-
|
|
67
|
-
> div
|
|
68
|
-
border-radius: $date-picker-event-border-radius
|
|
69
|
-
display: inline-block
|
|
70
|
-
height: $date-picker-event-size
|
|
71
|
-
margin: $date-picker-event-margin
|
|
72
|
-
width: $date-picker-event-size
|
|
73
|
-
|
|
74
|
-
.v-date-picker-table--date .v-date-picker-table__events
|
|
75
|
-
bottom: $date-picker-event-month-bottom
|
|
76
|
-
|
|
77
|
-
.v-date-picker-table--month .v-date-picker-table__events
|
|
78
|
-
bottom: $date-picker-event-date-bottom
|
|
79
|
-
|
|
80
|
-
.v-date-picker-table__current .v-date-picker-table__events
|
|
81
|
-
margin-bottom: -1px
|
|
82
|
-
|
|
83
|
-
.v-date-picker-table--disabled
|
|
84
|
-
pointer-events: none
|
|
@@ -1,210 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
/* eslint-disable */
|
|
3
|
-
|
|
4
|
-
import "../VDatePickerTable.css";
|
|
5
|
-
|
|
6
|
-
// Directives
|
|
7
|
-
import Touch from "../../../directives/touch/index.mjs"; // Mixins
|
|
8
|
-
import Colorable from "../../../mixins/colorable.mjs";
|
|
9
|
-
import Localable from "../../../mixins/localable.mjs";
|
|
10
|
-
import Themeable from "../../../mixins/themeable.mjs"; // Utils
|
|
11
|
-
import { createItemTypeNativeListeners, sanitizeDateString } from "../util/index.mjs";
|
|
12
|
-
import isDateAllowed from "../util/isDateAllowed.mjs";
|
|
13
|
-
import { mergeListeners } from "../../../util/mergeData.mjs";
|
|
14
|
-
import mixins from "../../../util/mixins.mjs";
|
|
15
|
-
import { throttle } from "../../../util/helpers.mjs"; // Types
|
|
16
|
-
export default mixins(Colorable, Localable, Themeable
|
|
17
|
-
/* @vue/component */).extend({
|
|
18
|
-
directives: {
|
|
19
|
-
Touch
|
|
20
|
-
},
|
|
21
|
-
props: {
|
|
22
|
-
allowedDates: Function,
|
|
23
|
-
current: String,
|
|
24
|
-
disabled: Boolean,
|
|
25
|
-
format: Function,
|
|
26
|
-
events: {
|
|
27
|
-
type: [Array, Function, Object],
|
|
28
|
-
default: () => null
|
|
29
|
-
},
|
|
30
|
-
eventColor: {
|
|
31
|
-
type: [Array, Function, Object, String],
|
|
32
|
-
default: () => 'warning'
|
|
33
|
-
},
|
|
34
|
-
min: String,
|
|
35
|
-
max: String,
|
|
36
|
-
range: Boolean,
|
|
37
|
-
readonly: Boolean,
|
|
38
|
-
scrollable: Boolean,
|
|
39
|
-
tableDate: {
|
|
40
|
-
type: String,
|
|
41
|
-
required: true
|
|
42
|
-
},
|
|
43
|
-
value: [String, Array]
|
|
44
|
-
},
|
|
45
|
-
data: () => ({
|
|
46
|
-
isReversing: false,
|
|
47
|
-
wheelThrottle: null
|
|
48
|
-
}),
|
|
49
|
-
computed: {
|
|
50
|
-
computedTransition() {
|
|
51
|
-
return this.isReversing === !this.$vuetify.rtl ? 'tab-reverse-transition' : 'tab-transition';
|
|
52
|
-
},
|
|
53
|
-
displayedMonth() {
|
|
54
|
-
return Number(this.tableDate.split('-')[1]) - 1;
|
|
55
|
-
},
|
|
56
|
-
displayedYear() {
|
|
57
|
-
return Number(this.tableDate.split('-')[0]);
|
|
58
|
-
}
|
|
59
|
-
},
|
|
60
|
-
watch: {
|
|
61
|
-
tableDate(newVal, oldVal) {
|
|
62
|
-
this.isReversing = newVal < oldVal;
|
|
63
|
-
}
|
|
64
|
-
},
|
|
65
|
-
mounted() {
|
|
66
|
-
this.wheelThrottle = throttle(this.wheel, 250);
|
|
67
|
-
},
|
|
68
|
-
methods: {
|
|
69
|
-
genButtonClasses(isAllowed, isFloating, isSelected, isCurrent, isFirst, isLast) {
|
|
70
|
-
return {
|
|
71
|
-
'v-size--default': !isFloating,
|
|
72
|
-
'v-date-picker-table__current': isCurrent,
|
|
73
|
-
'v-btn--active': isSelected,
|
|
74
|
-
'v-btn--flat': !isAllowed || this.disabled,
|
|
75
|
-
'v-btn--text': isSelected === isCurrent,
|
|
76
|
-
'v-btn--rounded': isFloating,
|
|
77
|
-
'v-btn--disabled': !isAllowed || this.disabled,
|
|
78
|
-
'v-btn--outlined': isCurrent && !isSelected,
|
|
79
|
-
'v-date-picker--first-in-range': isFirst,
|
|
80
|
-
'v-date-picker--last-in-range': isLast,
|
|
81
|
-
...this.themeClasses
|
|
82
|
-
};
|
|
83
|
-
},
|
|
84
|
-
genButtonEvents(value, isAllowed, mouseEventType) {
|
|
85
|
-
if (this.disabled) return undefined;
|
|
86
|
-
return mergeListeners({
|
|
87
|
-
click: () => {
|
|
88
|
-
if (isAllowed && !this.readonly) this.$emit('input', value);
|
|
89
|
-
}
|
|
90
|
-
}, createItemTypeNativeListeners(this, `:${mouseEventType}`, value));
|
|
91
|
-
},
|
|
92
|
-
genButton(value, isFloating, mouseEventType, formatter) {
|
|
93
|
-
let isOtherMonth = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
|
|
94
|
-
const isAllowed = isDateAllowed(value, this.min, this.max, this.allowedDates);
|
|
95
|
-
const isSelected = this.isSelected(value) && isAllowed;
|
|
96
|
-
const isCurrent = value === this.current;
|
|
97
|
-
const setColor = isSelected ? this.setBackgroundColor : this.setTextColor;
|
|
98
|
-
const color = (isSelected || isCurrent) && (this.color || 'accent');
|
|
99
|
-
let isFirst = false;
|
|
100
|
-
let isLast = false;
|
|
101
|
-
if (this.range && !!this.value && Array.isArray(this.value)) {
|
|
102
|
-
isFirst = value === this.value[0];
|
|
103
|
-
isLast = value === this.value[this.value.length - 1];
|
|
104
|
-
}
|
|
105
|
-
return this.$createElement('button', setColor(color, {
|
|
106
|
-
staticClass: 'v-btn',
|
|
107
|
-
class: this.genButtonClasses(isAllowed && !isOtherMonth, isFloating, isSelected, isCurrent, isFirst, isLast),
|
|
108
|
-
attrs: {
|
|
109
|
-
type: 'button'
|
|
110
|
-
},
|
|
111
|
-
domProps: {
|
|
112
|
-
disabled: this.disabled || !isAllowed || isOtherMonth
|
|
113
|
-
},
|
|
114
|
-
on: this.genButtonEvents(value, isAllowed, mouseEventType)
|
|
115
|
-
}), [this.$createElement('div', {
|
|
116
|
-
staticClass: 'v-btn__content'
|
|
117
|
-
}, [formatter(value)]), this.genEvents(value)]);
|
|
118
|
-
},
|
|
119
|
-
getEventColors(date) {
|
|
120
|
-
const arrayize = v => Array.isArray(v) ? v : [v];
|
|
121
|
-
let eventData;
|
|
122
|
-
let eventColors = [];
|
|
123
|
-
if (Array.isArray(this.events)) {
|
|
124
|
-
eventData = this.events.includes(date);
|
|
125
|
-
} else if (this.events instanceof Function) {
|
|
126
|
-
eventData = this.events(date) || false;
|
|
127
|
-
} else if (this.events) {
|
|
128
|
-
eventData = this.events[date] || false;
|
|
129
|
-
} else {
|
|
130
|
-
eventData = false;
|
|
131
|
-
}
|
|
132
|
-
if (!eventData) {
|
|
133
|
-
return [];
|
|
134
|
-
} else if (eventData !== true) {
|
|
135
|
-
eventColors = arrayize(eventData);
|
|
136
|
-
} else if (typeof this.eventColor === 'string') {
|
|
137
|
-
eventColors = [this.eventColor];
|
|
138
|
-
} else if (typeof this.eventColor === 'function') {
|
|
139
|
-
eventColors = arrayize(this.eventColor(date));
|
|
140
|
-
} else if (Array.isArray(this.eventColor)) {
|
|
141
|
-
eventColors = this.eventColor;
|
|
142
|
-
} else {
|
|
143
|
-
eventColors = arrayize(this.eventColor[date]);
|
|
144
|
-
}
|
|
145
|
-
return eventColors.filter(v => v);
|
|
146
|
-
},
|
|
147
|
-
genEvents(date) {
|
|
148
|
-
const eventColors = this.getEventColors(date);
|
|
149
|
-
return eventColors.length ? this.$createElement('div', {
|
|
150
|
-
staticClass: 'v-date-picker-table__events'
|
|
151
|
-
}, eventColors.map(color => this.$createElement('div', this.setBackgroundColor(color)))) : null;
|
|
152
|
-
},
|
|
153
|
-
isValidScroll(value, calculateTableDate) {
|
|
154
|
-
const tableDate = calculateTableDate(value);
|
|
155
|
-
// tableDate is 'YYYY-MM' for DateTable and 'YYYY' for MonthTable
|
|
156
|
-
const sanitizeType = tableDate.split('-').length === 1 ? 'year' : 'month';
|
|
157
|
-
return value < 0 && (this.min ? tableDate >= sanitizeDateString(this.min, sanitizeType) : true) || value > 0 && (this.max ? tableDate <= sanitizeDateString(this.max, sanitizeType) : true);
|
|
158
|
-
},
|
|
159
|
-
wheel(e, calculateTableDate) {
|
|
160
|
-
this.$emit('update:table-date', calculateTableDate(e.deltaY));
|
|
161
|
-
},
|
|
162
|
-
touch(value, calculateTableDate) {
|
|
163
|
-
this.$emit('update:table-date', calculateTableDate(value));
|
|
164
|
-
},
|
|
165
|
-
genTable(staticClass, children, calculateTableDate) {
|
|
166
|
-
const transition = this.$createElement('transition', {
|
|
167
|
-
props: {
|
|
168
|
-
name: this.computedTransition
|
|
169
|
-
}
|
|
170
|
-
}, [this.$createElement('table', {
|
|
171
|
-
key: this.tableDate
|
|
172
|
-
}, children)]);
|
|
173
|
-
const touchDirective = {
|
|
174
|
-
name: 'touch',
|
|
175
|
-
value: {
|
|
176
|
-
left: e => e.offsetX < -15 && this.isValidScroll(1, calculateTableDate) && this.touch(1, calculateTableDate),
|
|
177
|
-
right: e => e.offsetX > 15 && this.isValidScroll(-1, calculateTableDate) && this.touch(-1, calculateTableDate)
|
|
178
|
-
}
|
|
179
|
-
};
|
|
180
|
-
return this.$createElement('div', {
|
|
181
|
-
staticClass,
|
|
182
|
-
class: {
|
|
183
|
-
'v-date-picker-table--disabled': this.disabled,
|
|
184
|
-
...this.themeClasses
|
|
185
|
-
},
|
|
186
|
-
on: !this.disabled && this.scrollable ? {
|
|
187
|
-
wheel: e => {
|
|
188
|
-
e.preventDefault();
|
|
189
|
-
if (this.isValidScroll(e.deltaY, calculateTableDate)) {
|
|
190
|
-
this.wheelThrottle(e, calculateTableDate);
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
} : undefined,
|
|
194
|
-
directives: [touchDirective]
|
|
195
|
-
}, [transition]);
|
|
196
|
-
},
|
|
197
|
-
isSelected(value) {
|
|
198
|
-
if (Array.isArray(this.value)) {
|
|
199
|
-
if (this.range && this.value.length === 2) {
|
|
200
|
-
const [from, to] = [...this.value].sort();
|
|
201
|
-
return from <= value && value <= to;
|
|
202
|
-
} else {
|
|
203
|
-
return this.value.indexOf(value) !== -1;
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
return value === this.value;
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
});
|
|
210
|
-
//# sourceMappingURL=date-picker-table.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"date-picker-table.mjs","names":["Touch","Colorable","Localable","Themeable","createItemTypeNativeListeners","sanitizeDateString","isDateAllowed","mergeListeners","mixins","throttle","extend","directives","props","allowedDates","Function","current","String","disabled","Boolean","format","events","type","Array","Object","default","eventColor","min","max","range","readonly","scrollable","tableDate","required","value","data","isReversing","wheelThrottle","computed","computedTransition","$vuetify","rtl","displayedMonth","Number","split","displayedYear","watch","newVal","oldVal","mounted","wheel","methods","genButtonClasses","isAllowed","isFloating","isSelected","isCurrent","isFirst","isLast","themeClasses","genButtonEvents","mouseEventType","undefined","click","$emit","genButton","formatter","isOtherMonth","arguments","length","setColor","setBackgroundColor","setTextColor","color","isArray","$createElement","staticClass","class","attrs","domProps","on","genEvents","getEventColors","date","arrayize","v","eventData","eventColors","includes","filter","map","isValidScroll","calculateTableDate","sanitizeType","e","deltaY","touch","genTable","children","transition","name","key","touchDirective","left","offsetX","right","preventDefault","from","to","sort","indexOf"],"sources":["../../../../src/labs/VDatePicker/mixins/date-picker-table.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport '../VDatePickerTable.sass'\n\n// Directives\nimport Touch from '../../../directives/touch'\n\n// Mixins\nimport Colorable from '../../../mixins/colorable'\nimport Localable from '../../../mixins/localable'\nimport Themeable from '../../../mixins/themeable'\n\n// Utils\nimport { createItemTypeNativeListeners, sanitizeDateString } from '../util'\nimport isDateAllowed from '../util/isDateAllowed'\nimport { mergeListeners } from '../../../util/mergeData'\nimport mixins from '../../../util/mixins'\nimport { throttle } from '../../../util/helpers'\n\n// Types\nimport {\n PropType,\n VNodeChildren,\n} from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport {\n DatePickerAllowedDatesFunction,\n DatePickerEventColors,\n DatePickerEventColorValue,\n DatePickerEvents,\n DatePickerFormatter,\n TouchWrapper,\n} from 'vuetify/types'\n\ntype CalculateTableDateFunction = (v: number) => string\n\nexport default mixins(\n Colorable,\n Localable,\n Themeable\n/* @vue/component */\n).extend({\n directives: { Touch },\n\n props: {\n allowedDates: Function as PropType<DatePickerAllowedDatesFunction | undefined>,\n current: String,\n disabled: Boolean,\n format: Function as PropType<DatePickerFormatter | undefined>,\n events: {\n type: [Array, Function, Object],\n default: () => null,\n } as PropValidator<DatePickerEvents | null>,\n eventColor: {\n type: [Array, Function, Object, String],\n default: () => 'warning',\n } as PropValidator<DatePickerEventColors>,\n min: String,\n max: String,\n range: Boolean,\n readonly: Boolean,\n scrollable: Boolean,\n tableDate: {\n type: String,\n required: true,\n },\n value: [String, Array] as PropType<string | string[]>,\n },\n\n data: () => ({\n isReversing: false,\n wheelThrottle: null as any,\n }),\n\n computed: {\n computedTransition (): string {\n return (this.isReversing === !this.$vuetify.rtl) ? 'tab-reverse-transition' : 'tab-transition'\n },\n displayedMonth (): number {\n return Number(this.tableDate.split('-')[1]) - 1\n },\n displayedYear (): number {\n return Number(this.tableDate.split('-')[0])\n },\n },\n\n watch: {\n tableDate (newVal: string, oldVal: string) {\n this.isReversing = newVal < oldVal\n },\n },\n\n mounted () {\n this.wheelThrottle = throttle(this.wheel, 250)\n },\n\n methods: {\n genButtonClasses (\n isAllowed: boolean,\n isFloating: boolean,\n isSelected: boolean,\n isCurrent: boolean,\n isFirst: boolean,\n isLast: boolean,\n ) {\n return {\n 'v-size--default': !isFloating,\n 'v-date-picker-table__current': isCurrent,\n 'v-btn--active': isSelected,\n 'v-btn--flat': !isAllowed || this.disabled,\n 'v-btn--text': isSelected === isCurrent,\n 'v-btn--rounded': isFloating,\n 'v-btn--disabled': !isAllowed || this.disabled,\n 'v-btn--outlined': isCurrent && !isSelected,\n 'v-date-picker--first-in-range': isFirst,\n 'v-date-picker--last-in-range': isLast,\n ...this.themeClasses,\n }\n },\n genButtonEvents (value: string, isAllowed: boolean, mouseEventType: string) {\n if (this.disabled) return undefined\n\n return mergeListeners({\n click: () => {\n if (isAllowed && !this.readonly) this.$emit('input', value)\n },\n }, createItemTypeNativeListeners(this, `:${mouseEventType}`, value))\n },\n genButton (value: string, isFloating: boolean, mouseEventType: string, formatter: DatePickerFormatter, isOtherMonth = false) {\n const isAllowed = isDateAllowed(value, this.min, this.max, this.allowedDates)\n const isSelected = this.isSelected(value) && isAllowed\n const isCurrent = value === this.current\n const setColor = isSelected ? this.setBackgroundColor : this.setTextColor\n const color = (isSelected || isCurrent) && (this.color || 'accent')\n let isFirst = false\n let isLast = false\n if (this.range && !!this.value && Array.isArray(this.value)) {\n isFirst = value === this.value[0]\n isLast = value === this.value[this.value.length - 1]\n }\n\n return this.$createElement('button', setColor(color, {\n staticClass: 'v-btn',\n class: this.genButtonClasses(\n isAllowed && !isOtherMonth,\n isFloating,\n isSelected,\n isCurrent,\n isFirst,\n isLast,\n ),\n attrs: {\n type: 'button',\n },\n domProps: {\n disabled: this.disabled || !isAllowed || isOtherMonth,\n },\n on: this.genButtonEvents(value, isAllowed, mouseEventType),\n }), [\n this.$createElement('div', {\n staticClass: 'v-btn__content',\n }, [formatter(value)]),\n this.genEvents(value),\n ])\n },\n getEventColors (date: string) {\n const arrayize = (v: string | string[]) => Array.isArray(v) ? v : [v]\n let eventData: boolean | DatePickerEventColorValue\n let eventColors: string[] = []\n\n if (Array.isArray(this.events)) {\n eventData = this.events.includes(date)\n } else if (this.events instanceof Function) {\n eventData = this.events(date) || false\n } else if (this.events) {\n eventData = this.events[date] || false\n } else {\n eventData = false\n }\n\n if (!eventData) {\n return []\n } else if (eventData !== true) {\n eventColors = arrayize(eventData)\n } else if (typeof this.eventColor === 'string') {\n eventColors = [this.eventColor]\n } else if (typeof this.eventColor === 'function') {\n eventColors = arrayize(this.eventColor(date))\n } else if (Array.isArray(this.eventColor)) {\n eventColors = this.eventColor\n } else {\n eventColors = arrayize(this.eventColor[date])\n }\n\n return eventColors.filter(v => v)\n },\n genEvents (date: string) {\n const eventColors = this.getEventColors(date)\n\n return eventColors.length ? this.$createElement('div', {\n staticClass: 'v-date-picker-table__events',\n }, eventColors.map(color => this.$createElement('div', this.setBackgroundColor(color)))) : null\n },\n isValidScroll (value: number, calculateTableDate: CalculateTableDateFunction) {\n const tableDate = calculateTableDate(value)\n // tableDate is 'YYYY-MM' for DateTable and 'YYYY' for MonthTable\n const sanitizeType = tableDate.split('-').length === 1 ? 'year' : 'month'\n return (value < 0 && (this.min ? tableDate >= sanitizeDateString(this.min, sanitizeType) : true)) ||\n (value > 0 && (this.max ? tableDate <= sanitizeDateString(this.max, sanitizeType) : true))\n },\n wheel (e: WheelEvent, calculateTableDate: CalculateTableDateFunction) {\n this.$emit('update:table-date', calculateTableDate(e.deltaY))\n },\n touch (value: number, calculateTableDate: CalculateTableDateFunction) {\n this.$emit('update:table-date', calculateTableDate(value))\n },\n genTable (staticClass: string, children: VNodeChildren, calculateTableDate: CalculateTableDateFunction) {\n const transition = this.$createElement('transition', {\n props: { name: this.computedTransition },\n }, [this.$createElement('table', { key: this.tableDate }, children)])\n\n const touchDirective = {\n name: 'touch',\n value: {\n left: (e: TouchWrapper) => (e.offsetX < -15) &&\n (this.isValidScroll(1, calculateTableDate) && this.touch(1, calculateTableDate)),\n right: (e: TouchWrapper) => (e.offsetX > 15) &&\n (this.isValidScroll(-1, calculateTableDate) && this.touch(-1, calculateTableDate)),\n },\n }\n\n return this.$createElement('div', {\n staticClass,\n class: {\n 'v-date-picker-table--disabled': this.disabled,\n ...this.themeClasses,\n },\n on: (!this.disabled && this.scrollable) ? {\n wheel: (e: WheelEvent) => {\n e.preventDefault()\n if (this.isValidScroll(e.deltaY, calculateTableDate)) { this.wheelThrottle(e, calculateTableDate) }\n },\n } : undefined,\n directives: [touchDirective],\n }, [transition])\n },\n isSelected (value: string): boolean {\n if (Array.isArray(this.value)) {\n if (this.range && this.value.length === 2) {\n const [from, to] = [...this.value].sort()\n return from <= value && value <= to\n } else {\n return this.value.indexOf(value) !== -1\n }\n }\n\n return value === this.value\n },\n },\n})\n"],"mappings":"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"}
|