vuetify 3.3.4 → 3.3.5

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.
Files changed (45) hide show
  1. package/dist/json/attributes.json +0 -4
  2. package/dist/json/importMap.json +32 -32
  3. package/dist/json/tags.json +0 -1
  4. package/dist/json/web-types.json +3 -13
  5. package/dist/vuetify-labs.css +14 -15
  6. package/dist/vuetify-labs.d.ts +0 -46
  7. package/dist/vuetify-labs.esm.js +21 -17
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +21 -17
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +31 -31
  12. package/dist/vuetify.d.ts +8 -8
  13. package/dist/vuetify.esm.js +10 -8
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +10 -8
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +4 -4
  19. package/dist/vuetify.min.js.map +1 -1
  20. package/lib/composables/virtual.mjs +7 -5
  21. package/lib/composables/virtual.mjs.map +1 -1
  22. package/lib/entry-bundler.mjs +1 -1
  23. package/lib/framework.mjs +1 -1
  24. package/lib/index.d.mts +8 -8
  25. package/lib/labs/VDatePicker/VDatePicker.css +3 -5
  26. package/lib/labs/VDatePicker/VDatePicker.mjs +12 -10
  27. package/lib/labs/VDatePicker/VDatePicker.mjs.map +1 -1
  28. package/lib/labs/VDatePicker/VDatePicker.sass +3 -5
  29. package/lib/labs/VDatePicker/VDatePickerControls.css +3 -1
  30. package/lib/labs/VDatePicker/VDatePickerControls.sass +3 -3
  31. package/lib/labs/VDatePicker/VDatePickerMonth.css +0 -1
  32. package/lib/labs/VDatePicker/VDatePickerMonth.sass +0 -1
  33. package/lib/labs/VDatePicker/VDatePickerTitle.sass +1 -1
  34. package/lib/labs/VDatePicker/VDatePickerYears.css +1 -1
  35. package/lib/labs/VDatePicker/VDatePickerYears.sass +1 -1
  36. package/lib/labs/VDatePicker/_variables.scss +0 -5
  37. package/lib/labs/VDatePicker/index.d.mts +0 -46
  38. package/lib/labs/VPicker/VPicker.css +1 -1
  39. package/lib/labs/VPicker/VPicker.sass +1 -1
  40. package/lib/labs/VPicker/_variables.scss +2 -2
  41. package/lib/labs/components.d.mts +0 -46
  42. package/package.json +2 -2
  43. package/lib/labs/VDatePicker/VDatePickerTable.sass +0 -84
  44. package/lib/labs/VDatePicker/mixins/date-picker-table.mjs +0 -210
  45. package/lib/labs/VDatePicker/mixins/date-picker-table.mjs.map +0 -1
@@ -12609,9 +12609,6 @@ declare const VDatePicker: {
12609
12609
  $: vue.ComponentInternalInstance;
12610
12610
  $data: {};
12611
12611
  $props: {
12612
- transition?: NonNullable<string | boolean | (vue.TransitionProps & {
12613
- component?: vue.Component | undefined;
12614
- })> | undefined;
12615
12612
  header?: string | undefined;
12616
12613
  style?: vue.StyleValue | undefined;
12617
12614
  title?: string | undefined;
@@ -12744,9 +12741,6 @@ declare const VDatePicker: {
12744
12741
  $emit: ((event: "update:modelValue", date: any[]) => void) & ((event: "update:focused", focused: boolean) => void) & ((event: "update:inputMode", inputMode: "calendar" | "keyboard") => void) & ((event: "update:displayDate", date: any) => void) & ((event: "update:viewMode", viewMode: "month" | "year") => void) & ((event: "click:cancel") => void) & ((event: "click:save") => void);
12745
12742
  $el: any;
12746
12743
  $options: vue.ComponentOptionsBase<{
12747
- transition: NonNullable<string | boolean | (vue.TransitionProps & {
12748
- component?: vue.Component | undefined;
12749
- })>;
12750
12744
  header: string;
12751
12745
  style: vue.StyleValue;
12752
12746
  title: string;
@@ -12829,9 +12823,6 @@ declare const VDatePicker: {
12829
12823
  'click:cancel': () => true;
12830
12824
  'click:save': () => true;
12831
12825
  }, string, {
12832
- transition: NonNullable<string | boolean | (vue.TransitionProps & {
12833
- component?: vue.Component | undefined;
12834
- })>;
12835
12826
  header: string;
12836
12827
  style: vue.StyleValue;
12837
12828
  title: string;
@@ -12885,9 +12876,6 @@ declare const VDatePicker: {
12885
12876
  $nextTick: typeof vue.nextTick;
12886
12877
  $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: vue.WatchOptions<boolean> | undefined): vue.WatchStopHandle;
12887
12878
  } & {
12888
- transition: NonNullable<string | boolean | (vue.TransitionProps & {
12889
- component?: vue.Component | undefined;
12890
- })>;
12891
12879
  header: string;
12892
12880
  style: vue.StyleValue;
12893
12881
  title: string;
@@ -12966,9 +12954,6 @@ declare const VDatePicker: {
12966
12954
  __isTeleport?: undefined;
12967
12955
  __isSuspense?: undefined;
12968
12956
  } & vue.ComponentOptionsBase<{
12969
- transition: NonNullable<string | boolean | (vue.TransitionProps & {
12970
- component?: vue.Component | undefined;
12971
- })>;
12972
12957
  header: string;
12973
12958
  style: vue.StyleValue;
12974
12959
  title: string;
@@ -13051,9 +13036,6 @@ declare const VDatePicker: {
13051
13036
  'click:cancel': () => true;
13052
13037
  'click:save': () => true;
13053
13038
  }, string, {
13054
- transition: NonNullable<string | boolean | (vue.TransitionProps & {
13055
- component?: vue.Component | undefined;
13056
- })>;
13057
13039
  header: string;
13058
13040
  style: vue.StyleValue;
13059
13041
  title: string;
@@ -13164,20 +13146,6 @@ declare const VDatePicker: {
13164
13146
  type: StringConstructor[];
13165
13147
  default: string;
13166
13148
  };
13167
- transition: Omit<{
13168
- type: vue.PropType<string | boolean | (vue.TransitionProps & {
13169
- component?: vue.Component | undefined;
13170
- })>;
13171
- default: string;
13172
- validator: (val: unknown) => boolean;
13173
- }, "type" | "default"> & {
13174
- type: vue.PropType<NonNullable<string | boolean | (vue.TransitionProps & {
13175
- component?: vue.Component | undefined;
13176
- })>>;
13177
- default: NonNullable<string | boolean | (vue.TransitionProps & {
13178
- component?: vue.Component | undefined;
13179
- })>;
13180
- };
13181
13149
  inputMode: {
13182
13150
  type: vue.PropType<"calendar" | "keyboard">;
13183
13151
  default: string;
@@ -13285,20 +13253,6 @@ declare const VDatePicker: {
13285
13253
  type: StringConstructor[];
13286
13254
  default: string;
13287
13255
  };
13288
- transition: Omit<{
13289
- type: vue.PropType<string | boolean | (vue.TransitionProps & {
13290
- component?: vue.Component | undefined;
13291
- })>;
13292
- default: string;
13293
- validator: (val: unknown) => boolean;
13294
- }, "type" | "default"> & {
13295
- type: vue.PropType<NonNullable<string | boolean | (vue.TransitionProps & {
13296
- component?: vue.Component | undefined;
13297
- })>>;
13298
- default: NonNullable<string | boolean | (vue.TransitionProps & {
13299
- component?: vue.Component | undefined;
13300
- })>;
13301
- };
13302
13256
  inputMode: {
13303
13257
  type: vue.PropType<"calendar" | "keyboard">;
13304
13258
  default: string;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "vuetify",
3
3
  "description": "Vue Material Component Framework",
4
- "version": "3.3.4",
4
+ "version": "3.3.5",
5
5
  "author": {
6
6
  "name": "John Leider",
7
7
  "email": "john@vuetifyjs.com"
@@ -199,5 +199,5 @@
199
199
  "attributes": "dist/json/attributes.json"
200
200
  },
201
201
  "web-types": "dist/json/web-types.json",
202
- "gitHead": "388e0d55c1c1432f32227fd747c936267c1be84a"
202
+ "gitHead": "95d132a8c128080da35c8a6d50af7ec87592ec43"
203
203
  }
@@ -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":"AAAA;AACA;;AAEA;;AAEA;AAAA,OACOA,KAAK,6CAEZ;AAAA,OACOC,SAAS;AAAA,OACTC,SAAS;AAAA,OACTC,SAAS,uCAEhB;AAAA,SACSC,6BAA6B,EAAEC,kBAAkB;AAAA,OACnDC,aAAa;AAAA,SACXC,cAAc;AAAA,OAChBC,MAAM;AAAA,SACJC,QAAQ,qCAEjB;AAiBA,eAAeD,MAAM,CACnBP,SAAS,EACTC,SAAS,EACTC;AACF,qBACC,CAACO,MAAM,CAAC;EACPC,UAAU,EAAE;IAAEX;EAAM,CAAC;EAErBY,KAAK,EAAE;IACLC,YAAY,EAAEC,QAAgE;IAC9EC,OAAO,EAAEC,MAAM;IACfC,QAAQ,EAAEC,OAAO;IACjBC,MAAM,EAAEL,QAAqD;IAC7DM,MAAM,EAAE;MACNC,IAAI,EAAE,CAACC,KAAK,EAAER,QAAQ,EAAES,MAAM,CAAC;MAC/BC,OAAO,EAAEA,CAAA,KAAM;IACjB,CAA2C;IAC3CC,UAAU,EAAE;MACVJ,IAAI,EAAE,CAACC,KAAK,EAAER,QAAQ,EAAES,MAAM,EAAEP,MAAM,CAAC;MACvCQ,OAAO,EAAEA,CAAA,KAAM;IACjB,CAAyC;IACzCE,GAAG,EAAEV,MAAM;IACXW,GAAG,EAAEX,MAAM;IACXY,KAAK,EAAEV,OAAO;IACdW,QAAQ,EAAEX,OAAO;IACjBY,UAAU,EAAEZ,OAAO;IACnBa,SAAS,EAAE;MACTV,IAAI,EAAEL,MAAM;MACZgB,QAAQ,EAAE;IACZ,CAAC;IACDC,KAAK,EAAE,CAACjB,MAAM,EAAEM,KAAK;EACvB,CAAC;EAEDY,IAAI,EAAEA,CAAA,MAAO;IACXC,WAAW,EAAE,KAAK;IAClBC,aAAa,EAAE;EACjB,CAAC,CAAC;EAEFC,QAAQ,EAAE;IACRC,kBAAkBA,CAAA,EAAY;MAC5B,OAAQ,IAAI,CAACH,WAAW,KAAK,CAAC,IAAI,CAACI,QAAQ,CAACC,GAAG,GAAI,wBAAwB,GAAG,gBAAgB;IAChG,CAAC;IACDC,cAAcA,CAAA,EAAY;MACxB,OAAOC,MAAM,CAAC,IAAI,CAACX,SAAS,CAACY,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACjD,CAAC;IACDC,aAAaA,CAAA,EAAY;MACvB,OAAOF,MAAM,CAAC,IAAI,CAACX,SAAS,CAACY,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C;EACF,CAAC;EAEDE,KAAK,EAAE;IACLd,SAASA,CAAEe,MAAc,EAAEC,MAAc,EAAE;MACzC,IAAI,CAACZ,WAAW,GAAGW,MAAM,GAAGC,MAAM;IACpC;EACF,CAAC;EAEDC,OAAOA,CAAA,EAAI;IACT,IAAI,CAACZ,aAAa,GAAG3B,QAAQ,CAAC,IAAI,CAACwC,KAAK,EAAE,GAAG,CAAC;EAChD,CAAC;EAEDC,OAAO,EAAE;IACPC,gBAAgBA,CACdC,SAAkB,EAClBC,UAAmB,EACnBC,UAAmB,EACnBC,SAAkB,EAClBC,OAAgB,EAChBC,MAAe,EACf;MACA,OAAO;QACL,iBAAiB,EAAE,CAACJ,UAAU;QAC9B,8BAA8B,EAAEE,SAAS;QACzC,eAAe,EAAED,UAAU;QAC3B,aAAa,EAAE,CAACF,SAAS,IAAI,IAAI,CAACnC,QAAQ;QAC1C,aAAa,EAAEqC,UAAU,KAAKC,SAAS;QACvC,gBAAgB,EAAEF,UAAU;QAC5B,iBAAiB,EAAE,CAACD,SAAS,IAAI,IAAI,CAACnC,QAAQ;QAC9C,iBAAiB,EAAEsC,SAAS,IAAI,CAACD,UAAU;QAC3C,+BAA+B,EAAEE,OAAO;QACxC,8BAA8B,EAAEC,MAAM;QACtC,GAAG,IAAI,CAACC;MACV,CAAC;IACH,CAAC;IACDC,eAAeA,CAAE1B,KAAa,EAAEmB,SAAkB,EAAEQ,cAAsB,EAAE;MAC1E,IAAI,IAAI,CAAC3C,QAAQ,EAAE,OAAO4C,SAAS;MAEnC,OAAOtD,cAAc,CAAC;QACpBuD,KAAK,EAAEA,CAAA,KAAM;UACX,IAAIV,SAAS,IAAI,CAAC,IAAI,CAACvB,QAAQ,EAAE,IAAI,CAACkC,KAAK,CAAC,OAAO,EAAE9B,KAAK,CAAC;QAC7D;MACF,CAAC,EAAE7B,6BAA6B,CAAC,IAAI,EAAG,IAAGwD,cAAe,EAAC,EAAE3B,KAAK,CAAC,CAAC;IACtE,CAAC;IACD+B,SAASA,CAAE/B,KAAa,EAAEoB,UAAmB,EAAEO,cAAsB,EAAEK,SAA8B,EAAwB;MAAA,IAAtBC,YAAY,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAN,SAAA,GAAAM,SAAA,MAAG,KAAK;MACzH,MAAMf,SAAS,GAAG9C,aAAa,CAAC2B,KAAK,EAAE,IAAI,CAACP,GAAG,EAAE,IAAI,CAACC,GAAG,EAAE,IAAI,CAACd,YAAY,CAAC;MAC7E,MAAMyC,UAAU,GAAG,IAAI,CAACA,UAAU,CAACrB,KAAK,CAAC,IAAImB,SAAS;MACtD,MAAMG,SAAS,GAAGtB,KAAK,KAAK,IAAI,CAAClB,OAAO;MACxC,MAAMsD,QAAQ,GAAGf,UAAU,GAAG,IAAI,CAACgB,kBAAkB,GAAG,IAAI,CAACC,YAAY;MACzE,MAAMC,KAAK,GAAG,CAAClB,UAAU,IAAIC,SAAS,MAAM,IAAI,CAACiB,KAAK,IAAI,QAAQ,CAAC;MACnE,IAAIhB,OAAO,GAAG,KAAK;MACnB,IAAIC,MAAM,GAAG,KAAK;MAClB,IAAI,IAAI,CAAC7B,KAAK,IAAI,CAAC,CAAC,IAAI,CAACK,KAAK,IAAIX,KAAK,CAACmD,OAAO,CAAC,IAAI,CAACxC,KAAK,CAAC,EAAE;QAC3DuB,OAAO,GAAGvB,KAAK,KAAK,IAAI,CAACA,KAAK,CAAC,CAAC,CAAC;QACjCwB,MAAM,GAAGxB,KAAK,KAAK,IAAI,CAACA,KAAK,CAAC,IAAI,CAACA,KAAK,CAACmC,MAAM,GAAG,CAAC,CAAC;MACtD;MAEA,OAAO,IAAI,CAACM,cAAc,CAAC,QAAQ,EAAEL,QAAQ,CAACG,KAAK,EAAE;QACnDG,WAAW,EAAE,OAAO;QACpBC,KAAK,EAAE,IAAI,CAACzB,gBAAgB,CAC1BC,SAAS,IAAI,CAACc,YAAY,EAC1Bb,UAAU,EACVC,UAAU,EACVC,SAAS,EACTC,OAAO,EACPC,MAAM,CACP;QACDoB,KAAK,EAAE;UACLxD,IAAI,EAAE;QACR,CAAC;QACDyD,QAAQ,EAAE;UACR7D,QAAQ,EAAE,IAAI,CAACA,QAAQ,IAAI,CAACmC,SAAS,IAAIc;QAC3C,CAAC;QACDa,EAAE,EAAE,IAAI,CAACpB,eAAe,CAAC1B,KAAK,EAAEmB,SAAS,EAAEQ,cAAc;MAC3D,CAAC,CAAC,EAAE,CACF,IAAI,CAACc,cAAc,CAAC,KAAK,EAAE;QACzBC,WAAW,EAAE;MACf,CAAC,EAAE,CAACV,SAAS,CAAChC,KAAK,CAAC,CAAC,CAAC,EACtB,IAAI,CAAC+C,SAAS,CAAC/C,KAAK,CAAC,CACtB,CAAC;IACJ,CAAC;IACDgD,cAAcA,CAAEC,IAAY,EAAE;MAC5B,MAAMC,QAAQ,GAAIC,CAAoB,IAAK9D,KAAK,CAACmD,OAAO,CAACW,CAAC,CAAC,GAAGA,CAAC,GAAG,CAACA,CAAC,CAAC;MACrE,IAAIC,SAA8C;MAClD,IAAIC,WAAqB,GAAG,EAAE;MAE9B,IAAIhE,KAAK,CAACmD,OAAO,CAAC,IAAI,CAACrD,MAAM,CAAC,EAAE;QAC9BiE,SAAS,GAAG,IAAI,CAACjE,MAAM,CAACmE,QAAQ,CAACL,IAAI,CAAC;MACxC,CAAC,MAAM,IAAI,IAAI,CAAC9D,MAAM,YAAYN,QAAQ,EAAE;QAC1CuE,SAAS,GAAG,IAAI,CAACjE,MAAM,CAAC8D,IAAI,CAAC,IAAI,KAAK;MACxC,CAAC,MAAM,IAAI,IAAI,CAAC9D,MAAM,EAAE;QACtBiE,SAAS,GAAG,IAAI,CAACjE,MAAM,CAAC8D,IAAI,CAAC,IAAI,KAAK;MACxC,CAAC,MAAM;QACLG,SAAS,GAAG,KAAK;MACnB;MAEA,IAAI,CAACA,SAAS,EAAE;QACd,OAAO,EAAE;MACX,CAAC,MAAM,IAAIA,SAAS,KAAK,IAAI,EAAE;QAC7BC,WAAW,GAAGH,QAAQ,CAACE,SAAS,CAAC;MACnC,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC5D,UAAU,KAAK,QAAQ,EAAE;QAC9C6D,WAAW,GAAG,CAAC,IAAI,CAAC7D,UAAU,CAAC;MACjC,CAAC,MAAM,IAAI,OAAO,IAAI,CAACA,UAAU,KAAK,UAAU,EAAE;QAChD6D,WAAW,GAAGH,QAAQ,CAAC,IAAI,CAAC1D,UAAU,CAACyD,IAAI,CAAC,CAAC;MAC/C,CAAC,MAAM,IAAI5D,KAAK,CAACmD,OAAO,CAAC,IAAI,CAAChD,UAAU,CAAC,EAAE;QACzC6D,WAAW,GAAG,IAAI,CAAC7D,UAAU;MAC/B,CAAC,MAAM;QACL6D,WAAW,GAAGH,QAAQ,CAAC,IAAI,CAAC1D,UAAU,CAACyD,IAAI,CAAC,CAAC;MAC/C;MAEA,OAAOI,WAAW,CAACE,MAAM,CAACJ,CAAC,IAAIA,CAAC,CAAC;IACnC,CAAC;IACDJ,SAASA,CAAEE,IAAY,EAAE;MACvB,MAAMI,WAAW,GAAG,IAAI,CAACL,cAAc,CAACC,IAAI,CAAC;MAE7C,OAAOI,WAAW,CAAClB,MAAM,GAAG,IAAI,CAACM,cAAc,CAAC,KAAK,EAAE;QACrDC,WAAW,EAAE;MACf,CAAC,EAAEW,WAAW,CAACG,GAAG,CAACjB,KAAK,IAAI,IAAI,CAACE,cAAc,CAAC,KAAK,EAAE,IAAI,CAACJ,kBAAkB,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IACjG,CAAC;IACDkB,aAAaA,CAAEzD,KAAa,EAAE0D,kBAA8C,EAAE;MAC5E,MAAM5D,SAAS,GAAG4D,kBAAkB,CAAC1D,KAAK,CAAC;MAC3C;MACA,MAAM2D,YAAY,GAAG7D,SAAS,CAACY,KAAK,CAAC,GAAG,CAAC,CAACyB,MAAM,KAAK,CAAC,GAAG,MAAM,GAAG,OAAO;MACzE,OAAQnC,KAAK,GAAG,CAAC,KAAK,IAAI,CAACP,GAAG,GAAGK,SAAS,IAAI1B,kBAAkB,CAAC,IAAI,CAACqB,GAAG,EAAEkE,YAAY,CAAC,GAAG,IAAI,CAAC,IAC7F3D,KAAK,GAAG,CAAC,KAAK,IAAI,CAACN,GAAG,GAAGI,SAAS,IAAI1B,kBAAkB,CAAC,IAAI,CAACsB,GAAG,EAAEiE,YAAY,CAAC,GAAG,IAAI,CAAE;IAC9F,CAAC;IACD3C,KAAKA,CAAE4C,CAAa,EAAEF,kBAA8C,EAAE;MACpE,IAAI,CAAC5B,KAAK,CAAC,mBAAmB,EAAE4B,kBAAkB,CAACE,CAAC,CAACC,MAAM,CAAC,CAAC;IAC/D,CAAC;IACDC,KAAKA,CAAE9D,KAAa,EAAE0D,kBAA8C,EAAE;MACpE,IAAI,CAAC5B,KAAK,CAAC,mBAAmB,EAAE4B,kBAAkB,CAAC1D,KAAK,CAAC,CAAC;IAC5D,CAAC;IACD+D,QAAQA,CAAErB,WAAmB,EAAEsB,QAAuB,EAAEN,kBAA8C,EAAE;MACtG,MAAMO,UAAU,GAAG,IAAI,CAACxB,cAAc,CAAC,YAAY,EAAE;QACnD9D,KAAK,EAAE;UAAEuF,IAAI,EAAE,IAAI,CAAC7D;QAAmB;MACzC,CAAC,EAAE,CAAC,IAAI,CAACoC,cAAc,CAAC,OAAO,EAAE;QAAE0B,GAAG,EAAE,IAAI,CAACrE;MAAU,CAAC,EAAEkE,QAAQ,CAAC,CAAC,CAAC;MAErE,MAAMI,cAAc,GAAG;QACrBF,IAAI,EAAE,OAAO;QACblE,KAAK,EAAE;UACLqE,IAAI,EAAGT,CAAe,IAAMA,CAAC,CAACU,OAAO,GAAG,CAAC,EAAE,IACxC,IAAI,CAACb,aAAa,CAAC,CAAC,EAAEC,kBAAkB,CAAC,IAAI,IAAI,CAACI,KAAK,CAAC,CAAC,EAAEJ,kBAAkB,CAAE;UAClFa,KAAK,EAAGX,CAAe,IAAMA,CAAC,CAACU,OAAO,GAAG,EAAE,IACxC,IAAI,CAACb,aAAa,CAAC,CAAC,CAAC,EAAEC,kBAAkB,CAAC,IAAI,IAAI,CAACI,KAAK,CAAC,CAAC,CAAC,EAAEJ,kBAAkB;QACpF;MACF,CAAC;MAED,OAAO,IAAI,CAACjB,cAAc,CAAC,KAAK,EAAE;QAChCC,WAAW;QACXC,KAAK,EAAE;UACL,+BAA+B,EAAE,IAAI,CAAC3D,QAAQ;UAC9C,GAAG,IAAI,CAACyC;QACV,CAAC;QACDqB,EAAE,EAAG,CAAC,IAAI,CAAC9D,QAAQ,IAAI,IAAI,CAACa,UAAU,GAAI;UACxCmB,KAAK,EAAG4C,CAAa,IAAK;YACxBA,CAAC,CAACY,cAAc,EAAE;YAClB,IAAI,IAAI,CAACf,aAAa,CAACG,CAAC,CAACC,MAAM,EAAEH,kBAAkB,CAAC,EAAE;cAAE,IAAI,CAACvD,aAAa,CAACyD,CAAC,EAAEF,kBAAkB,CAAC;YAAC;UACpG;QACF,CAAC,GAAG9B,SAAS;QACblD,UAAU,EAAE,CAAC0F,cAAc;MAC7B,CAAC,EAAE,CAACH,UAAU,CAAC,CAAC;IAClB,CAAC;IACD5C,UAAUA,CAAErB,KAAa,EAAW;MAClC,IAAIX,KAAK,CAACmD,OAAO,CAAC,IAAI,CAACxC,KAAK,CAAC,EAAE;QAC7B,IAAI,IAAI,CAACL,KAAK,IAAI,IAAI,CAACK,KAAK,CAACmC,MAAM,KAAK,CAAC,EAAE;UACzC,MAAM,CAACsC,IAAI,EAAEC,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC1E,KAAK,CAAC,CAAC2E,IAAI,EAAE;UACzC,OAAOF,IAAI,IAAIzE,KAAK,IAAIA,KAAK,IAAI0E,EAAE;QACrC,CAAC,MAAM;UACL,OAAO,IAAI,CAAC1E,KAAK,CAAC4E,OAAO,CAAC5E,KAAK,CAAC,KAAK,CAAC,CAAC;QACzC;MACF;MAEA,OAAOA,KAAK,KAAK,IAAI,CAACA,KAAK;IAC7B;EACF;AACF,CAAC,CAAC"}