vuetify 3.9.5 → 3.9.7
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 +3244 -3236
- package/dist/json/importMap-labs.json +28 -28
- package/dist/json/importMap.json +162 -162
- package/dist/json/tags.json +2 -0
- package/dist/json/web-types.json +6419 -6311
- package/dist/vuetify-labs.cjs +183 -127
- package/dist/vuetify-labs.css +3841 -3706
- package/dist/vuetify-labs.d.ts +173 -75
- package/dist/vuetify-labs.esm.js +183 -127
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +183 -127
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +78 -44
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +2171 -2039
- package/dist/vuetify.d.ts +70 -70
- package/dist/vuetify.esm.js +78 -44
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +78 -44
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +67 -60
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.css +12 -0
- package/lib/components/VAlert/VAlert.sass +13 -0
- package/lib/components/VAutocomplete/VAutocomplete.css +2 -1
- package/lib/components/VAutocomplete/VAutocomplete.sass +3 -2
- package/lib/components/VBtn/VBtn.css +10 -0
- package/lib/components/VBtn/VBtn.sass +9 -0
- package/lib/components/VCard/VCard.css +11 -0
- package/lib/components/VCard/VCard.sass +9 -0
- package/lib/components/VChip/VChip.css +6 -0
- package/lib/components/VChip/VChip.sass +5 -0
- package/lib/components/VChipGroup/VChipGroup.css +25 -0
- package/lib/components/VChipGroup/VChipGroup.sass +23 -0
- package/lib/components/VCombobox/VCombobox.css +2 -1
- package/lib/components/VCombobox/VCombobox.sass +3 -2
- package/lib/components/VDatePicker/VDatePicker.js +10 -4
- package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerYears.js +18 -8
- package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
- package/lib/components/VFileInput/VFileInput.js +4 -2
- package/lib/components/VFileInput/VFileInput.js.map +1 -1
- package/lib/components/VList/VListItem.css +30 -0
- package/lib/components/VList/VListItem.d.ts +3 -3
- package/lib/components/VList/VListItem.sass +29 -0
- package/lib/components/VNumberInput/VNumberInput.js +6 -6
- package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.js +9 -2
- package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.css +3 -3
- package/lib/components/VProgressLinear/VProgressLinear.js +5 -6
- package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.sass +3 -3
- package/lib/components/VSelect/VSelect.css +5 -1
- package/lib/components/VSelect/VSelect.sass +6 -2
- package/lib/components/VSlideGroup/VSlideGroup.js +5 -4
- package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.css +5 -0
- package/lib/components/VSnackbar/VSnackbar.sass +3 -0
- package/lib/components/VSparkline/VBarline.js +2 -2
- package/lib/components/VSparkline/VBarline.js.map +1 -1
- package/lib/components/VSparkline/VTrendline.js +3 -0
- package/lib/components/VSparkline/VTrendline.js.map +1 -1
- package/lib/components/VTextField/VTextField.js +2 -2
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/components/VTextarea/VTextarea.js +4 -2
- package/lib/components/VTextarea/VTextarea.js.map +1 -1
- package/lib/components/VTimeline/VTimeline.css +22 -0
- package/lib/components/VTimeline/VTimeline.sass +12 -0
- package/lib/components/VTreeview/VTreeviewItem.css +13 -8
- package/lib/components/VTreeview/VTreeviewItem.d.ts +9 -9
- package/lib/components/VTreeview/VTreeviewItem.sass +12 -8
- package/lib/composables/filter.js +3 -1
- package/lib/composables/filter.js.map +1 -1
- package/lib/composables/nested/nested.d.ts +1 -1
- package/lib/composables/nested/nested.js +5 -2
- package/lib/composables/nested/nested.js.map +1 -1
- package/lib/composables/rounded.js +3 -3
- package/lib/composables/rounded.js.map +1 -1
- package/lib/directives/touch/index.js +2 -2
- package/lib/directives/touch/index.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +58 -58
- package/lib/framework.js +1 -1
- package/lib/labs/VDateInput/VDateInput.d.ts +78 -3
- package/lib/labs/VDateInput/VDateInput.js +3 -1
- package/lib/labs/VDateInput/VDateInput.js.map +1 -1
- package/lib/labs/VIconBtn/VIconBtn.js +1 -1
- package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
- package/lib/labs/VPie/VPie.css +3 -0
- package/lib/labs/VPie/VPie.js +71 -29
- package/lib/labs/VPie/VPie.js.map +1 -1
- package/lib/labs/VPie/VPie.sass +3 -0
- package/lib/labs/VPie/VPieSegment.d.ts +25 -2
- package/lib/labs/VPie/VPieSegment.js +11 -6
- package/lib/labs/VPie/VPieSegment.js.map +1 -1
- package/lib/labs/VPie/VPieTooltip.d.ts +10 -0
- package/lib/labs/VPie/VPieTooltip.js +4 -22
- package/lib/labs/VPie/VPieTooltip.js.map +1 -1
- package/lib/labs/VPie/types.d.ts +1 -0
- package/lib/labs/VPie/types.js.map +1 -1
- package/lib/labs/VVideo/VVideo.css +4 -4
- package/lib/labs/VVideo/VVideo.js +24 -33
- package/lib/labs/VVideo/VVideo.js.map +1 -1
- package/lib/labs/VVideo/VVideo.sass +4 -4
- package/package.json +2 -2
|
@@ -225,4 +225,16 @@
|
|
|
225
225
|
text-transform: none;
|
|
226
226
|
word-break: normal;
|
|
227
227
|
word-wrap: break-word;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
@media (forced-colors: active) {
|
|
231
|
+
.v-alert:not(.v-alert--variant-text, .v-alert--variant-plain) {
|
|
232
|
+
border-style: solid;
|
|
233
|
+
}
|
|
234
|
+
.v-alert--variant-outlined, .v-alert--variant-tonal {
|
|
235
|
+
border-width: medium;
|
|
236
|
+
}
|
|
237
|
+
.v-alert--variant-elevated, .v-alert--variant-flat {
|
|
238
|
+
border-width: thick;
|
|
239
|
+
}
|
|
228
240
|
}
|
|
@@ -144,3 +144,16 @@
|
|
|
144
144
|
text-transform: $alert-title-text-transform
|
|
145
145
|
word-break: $alert-title-word-break
|
|
146
146
|
word-wrap: $alert-title-word-wrap
|
|
147
|
+
|
|
148
|
+
@media (forced-colors: active)
|
|
149
|
+
.v-alert
|
|
150
|
+
&:not(&--variant-text, &--variant-plain)
|
|
151
|
+
border-style: solid
|
|
152
|
+
|
|
153
|
+
&--variant-outlined,
|
|
154
|
+
&--variant-tonal
|
|
155
|
+
border-width: medium
|
|
156
|
+
|
|
157
|
+
&--variant-elevated,
|
|
158
|
+
&--variant-flat
|
|
159
|
+
border-width: thick
|
|
@@ -33,9 +33,10 @@
|
|
|
33
33
|
.v-autocomplete__content {
|
|
34
34
|
box-shadow: 0px 2px 4px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 4px 5px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 1px 10px 0px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12));
|
|
35
35
|
}
|
|
36
|
-
.v-autocomplete__content {
|
|
36
|
+
.v-menu > .v-overlay__content.v-autocomplete__content {
|
|
37
37
|
border-radius: 4px;
|
|
38
38
|
}
|
|
39
|
+
|
|
39
40
|
.v-autocomplete__mask {
|
|
40
41
|
background: rgb(var(--v-theme-surface-light));
|
|
41
42
|
}
|
|
@@ -41,9 +41,10 @@
|
|
|
41
41
|
.v-autocomplete
|
|
42
42
|
&__content
|
|
43
43
|
overflow: hidden
|
|
44
|
-
|
|
45
44
|
@include tools.elevation($autocomplete-content-elevation)
|
|
46
|
-
|
|
45
|
+
|
|
46
|
+
@at-root #{selector.append('.v-menu > .v-overlay__content', &)}
|
|
47
|
+
@include tools.rounded($autocomplete-content-border-radius)
|
|
47
48
|
|
|
48
49
|
&__mask
|
|
49
50
|
background: rgb(var(--v-theme-surface-light))
|
|
@@ -449,4 +449,14 @@
|
|
|
449
449
|
}
|
|
450
450
|
.v-pagination .v-pagination__item--is-active .v-btn__overlay {
|
|
451
451
|
opacity: var(--v-border-opacity);
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
@media (forced-colors: active) {
|
|
455
|
+
.v-btn:not(.v-btn--variant-text, .v-btn--variant-plain) {
|
|
456
|
+
border: thin solid;
|
|
457
|
+
}
|
|
458
|
+
.v-btn:focus-visible {
|
|
459
|
+
outline: 2px solid;
|
|
460
|
+
outline-offset: 2px;
|
|
461
|
+
}
|
|
452
462
|
}
|
|
@@ -258,3 +258,12 @@
|
|
|
258
258
|
|
|
259
259
|
.v-pagination__item--is-active .v-btn__overlay
|
|
260
260
|
opacity: $button-pagination-active-overlay-opacity
|
|
261
|
+
|
|
262
|
+
@media (forced-colors: active)
|
|
263
|
+
.v-btn
|
|
264
|
+
&:not(&--variant-text, &--variant-plain)
|
|
265
|
+
border: thin solid
|
|
266
|
+
|
|
267
|
+
&:focus-visible
|
|
268
|
+
outline: 2px solid
|
|
269
|
+
outline-offset: 2px
|
|
@@ -292,6 +292,11 @@
|
|
|
292
292
|
width: 100%;
|
|
293
293
|
z-index: 1;
|
|
294
294
|
}
|
|
295
|
+
@media (forced-colors: active) {
|
|
296
|
+
.v-card__loader .v-progress-linear {
|
|
297
|
+
border: none;
|
|
298
|
+
}
|
|
299
|
+
}
|
|
295
300
|
|
|
296
301
|
.v-card__overlay {
|
|
297
302
|
background-color: currentColor;
|
|
@@ -304,4 +309,10 @@
|
|
|
304
309
|
pointer-events: none;
|
|
305
310
|
opacity: 0;
|
|
306
311
|
transition: opacity 0.2s ease-in-out;
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
@media (forced-colors: active) {
|
|
315
|
+
.v-card:not(.v-card--variant-text, .v-card--variant-plain) {
|
|
316
|
+
border: thin solid;
|
|
317
|
+
}
|
|
307
318
|
}
|
|
@@ -188,6 +188,10 @@
|
|
|
188
188
|
width: 100%
|
|
189
189
|
z-index: 1
|
|
190
190
|
|
|
191
|
+
@media (forced-colors: active)
|
|
192
|
+
.v-progress-linear
|
|
193
|
+
border: none
|
|
194
|
+
|
|
191
195
|
.v-card__overlay
|
|
192
196
|
background-color: currentColor
|
|
193
197
|
border-radius: inherit
|
|
@@ -199,3 +203,8 @@
|
|
|
199
203
|
pointer-events: none
|
|
200
204
|
opacity: 0
|
|
201
205
|
transition: opacity 0.2s ease-in-out
|
|
206
|
+
|
|
207
|
+
@media (forced-colors: active)
|
|
208
|
+
.v-card
|
|
209
|
+
&:not(&--variant-text, &--variant-plain)
|
|
210
|
+
border: thin solid
|
|
@@ -8,9 +8,34 @@
|
|
|
8
8
|
.v-chip-group .v-chip {
|
|
9
9
|
margin: 4px 8px 4px 0;
|
|
10
10
|
}
|
|
11
|
+
@media (forced-colors: active) {
|
|
12
|
+
.v-chip-group .v-chip {
|
|
13
|
+
background-color: buttonface !important;
|
|
14
|
+
color: buttontext !important;
|
|
15
|
+
}
|
|
16
|
+
.v-chip-group .v-chip:hover {
|
|
17
|
+
color: highlight !important;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
11
20
|
.v-chip-group .v-chip.v-chip--selected:not(.v-chip--disabled) .v-chip__overlay {
|
|
12
21
|
opacity: var(--v-activated-opacity);
|
|
13
22
|
}
|
|
23
|
+
@media (forced-colors: active) {
|
|
24
|
+
.v-chip-group .v-chip.v-chip--selected:not(.v-chip--disabled) {
|
|
25
|
+
color: highlight !important;
|
|
26
|
+
forced-color-adjust: preserve-parent-color;
|
|
27
|
+
}
|
|
28
|
+
.v-chip-group .v-chip.v-chip--selected:not(.v-chip--disabled):focus-visible {
|
|
29
|
+
outline-offset: 2px;
|
|
30
|
+
}
|
|
31
|
+
.v-chip-group .v-chip.v-chip--selected:not(.v-chip--disabled).v-chip--variant-elevated, .v-chip-group .v-chip.v-chip--selected:not(.v-chip--disabled).v-chip--variant-flat {
|
|
32
|
+
background-color: highlight !important;
|
|
33
|
+
color: highlighttext !important;
|
|
34
|
+
}
|
|
35
|
+
.v-chip-group .v-chip.v-chip--selected:not(.v-chip--disabled).v-chip--variant-outlined, .v-chip-group .v-chip.v-chip--selected:not(.v-chip--disabled).v-chip--variant-tonal {
|
|
36
|
+
border-width: medium;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
14
39
|
|
|
15
40
|
.v-chip-group--column .v-slide-group__content {
|
|
16
41
|
white-space: normal;
|
|
@@ -13,10 +13,33 @@
|
|
|
13
13
|
.v-chip
|
|
14
14
|
margin: $chip-group-margin
|
|
15
15
|
|
|
16
|
+
@media (forced-colors: active)
|
|
17
|
+
background-color: buttonface !important
|
|
18
|
+
color: buttontext !important
|
|
19
|
+
|
|
20
|
+
&:hover
|
|
21
|
+
color: highlight !important
|
|
22
|
+
|
|
16
23
|
&.v-chip--selected:not(.v-chip--disabled)
|
|
17
24
|
.v-chip__overlay
|
|
18
25
|
opacity: $chip-group-selected-opacity
|
|
19
26
|
|
|
27
|
+
@media (forced-colors: active)
|
|
28
|
+
color: highlight !important
|
|
29
|
+
forced-color-adjust: preserve-parent-color
|
|
30
|
+
|
|
31
|
+
&:focus-visible
|
|
32
|
+
outline-offset: 2px
|
|
33
|
+
|
|
34
|
+
&.v-chip--variant-elevated,
|
|
35
|
+
&.v-chip--variant-flat
|
|
36
|
+
background-color: highlight !important
|
|
37
|
+
color: highlighttext !important
|
|
38
|
+
|
|
39
|
+
&.v-chip--variant-outlined,
|
|
40
|
+
&.v-chip--variant-tonal
|
|
41
|
+
border-width: medium
|
|
42
|
+
|
|
20
43
|
// Modifiers
|
|
21
44
|
.v-chip-group--column
|
|
22
45
|
.v-slide-group__content
|
|
@@ -33,9 +33,10 @@
|
|
|
33
33
|
.v-combobox__content {
|
|
34
34
|
box-shadow: 0px 2px 4px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 4px 5px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 1px 10px 0px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12));
|
|
35
35
|
}
|
|
36
|
-
.v-combobox__content {
|
|
36
|
+
.v-menu > .v-overlay__content.v-combobox__content {
|
|
37
37
|
border-radius: 4px;
|
|
38
38
|
}
|
|
39
|
+
|
|
39
40
|
.v-combobox__mask {
|
|
40
41
|
background: rgb(var(--v-theme-surface-light));
|
|
41
42
|
}
|
|
@@ -41,9 +41,10 @@
|
|
|
41
41
|
.v-combobox
|
|
42
42
|
&__content
|
|
43
43
|
overflow: hidden
|
|
44
|
-
|
|
45
44
|
@include tools.elevation($combobox-content-elevation)
|
|
46
|
-
|
|
45
|
+
|
|
46
|
+
@at-root #{selector.append('.v-menu > .v-overlay__content', &)}
|
|
47
|
+
@include tools.rounded($combobox-content-border-radius)
|
|
47
48
|
|
|
48
49
|
&__mask
|
|
49
50
|
background: rgb(var(--v-theme-surface-light))
|
|
@@ -149,6 +149,12 @@ export const VDatePicker = genericComponent()({
|
|
|
149
149
|
}
|
|
150
150
|
return targets;
|
|
151
151
|
});
|
|
152
|
+
const allowedYears = computed(() => {
|
|
153
|
+
return props.allowedYears || isYearAllowed;
|
|
154
|
+
});
|
|
155
|
+
const allowedMonths = computed(() => {
|
|
156
|
+
return props.allowedMonths || isMonthAllowed;
|
|
157
|
+
});
|
|
152
158
|
function isAllowedInRange(start, end) {
|
|
153
159
|
const allowedDates = props.allowedDates;
|
|
154
160
|
if (typeof allowedDates !== 'function') return true;
|
|
@@ -158,7 +164,7 @@ export const VDatePicker = genericComponent()({
|
|
|
158
164
|
}
|
|
159
165
|
return false;
|
|
160
166
|
}
|
|
161
|
-
function
|
|
167
|
+
function isYearAllowed(year) {
|
|
162
168
|
if (typeof props.allowedDates === 'function') {
|
|
163
169
|
const startOfYear = adapter.parseISO(`${year}-01-01`);
|
|
164
170
|
return isAllowedInRange(startOfYear, adapter.endOfYear(startOfYear));
|
|
@@ -171,7 +177,7 @@ export const VDatePicker = genericComponent()({
|
|
|
171
177
|
}
|
|
172
178
|
return true;
|
|
173
179
|
}
|
|
174
|
-
function
|
|
180
|
+
function isMonthAllowed(month) {
|
|
175
181
|
if (typeof props.allowedDates === 'function') {
|
|
176
182
|
const monthTwoDigits = String(month + 1).padStart(2, '0');
|
|
177
183
|
const startOfMonth = adapter.parseISO(`${year.value}-${monthTwoDigits}-01`);
|
|
@@ -299,7 +305,7 @@ export const VDatePicker = genericComponent()({
|
|
|
299
305
|
"min": minDate.value,
|
|
300
306
|
"max": maxDate.value,
|
|
301
307
|
"year": year.value,
|
|
302
|
-
"allowedMonths": allowedMonths
|
|
308
|
+
"allowedMonths": allowedMonths.value
|
|
303
309
|
}), {
|
|
304
310
|
month: slots.month
|
|
305
311
|
}) : viewMode.value === 'year' ? _createVNode(VDatePickerYears, _mergeProps({
|
|
@@ -309,7 +315,7 @@ export const VDatePicker = genericComponent()({
|
|
|
309
315
|
"onUpdate:modelValue": [$event => year.value = $event, onUpdateYear],
|
|
310
316
|
"min": minDate.value,
|
|
311
317
|
"max": maxDate.value,
|
|
312
|
-
"allowedYears": allowedYears
|
|
318
|
+
"allowedYears": allowedYears.value
|
|
313
319
|
}), {
|
|
314
320
|
year: slots.year
|
|
315
321
|
}) : _createVNode(VDatePickerMonth, _mergeProps({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VDatePicker.js","names":["makeVDatePickerControlsProps","VDatePickerControls","VDatePickerHeader","makeVDatePickerMonthProps","VDatePickerMonth","makeVDatePickerMonthsProps","VDatePickerMonths","makeVDatePickerYearsProps","VDatePickerYears","VFadeTransition","VDefaultsProvider","makeVPickerProps","VPicker","useDate","useLocale","useRtl","useProxiedModel","computed","shallowRef","toRef","watch","genericComponent","omit","propsFactory","useRender","wrapInArray","makeVDatePickerProps","header","type","String","default","headerColor","weeksInMonth","title","modelValue","VDatePicker","name","props","emits","date","setup","_ref","emit","slots","adapter","t","rtlClasses","model","undefined","v","map","i","multiple","viewMode","minDate","min","isValid","maxDate","max","internal","today","value","isBefore","isAfter","color","_month","month","get","Number","getMonth","startOfMonth","set","_year","year","getYear","startOfYear","setMonth","isReversing","length","format","text","setDate","setYear","headerTransition","disabled","targets","push","_date","addDays","endOfMonth","isAllowedInRange","start","end","allowedDates","days","getDiff","allowedYears","parseISO","endOfYear","Array","isArray","allowedMonths","monthTwoDigits","padStart","onClickNext","onUpdateYear","onUpdateMonth","onClickPrev","onClickDate","onClickMonth","onClickYear","val","oldVal","arrBefore","arrAfter","before","after","newMonth","newYear","pickerProps","filterProps","datePickerControlsProps","datePickerHeaderProps","datePickerMonthProps","datePickerMonthsProps","datePickerYearsProps","headerProps","transition","_createVNode","_mergeProps","showWeek","class","style","_createElementVNode","prepend","append","_Fragment","$event","day","actions"],"sources":["../../../src/components/VDatePicker/VDatePicker.tsx"],"sourcesContent":["// Styles\nimport './VDatePicker.sass'\n\n// Components\nimport { makeVDatePickerControlsProps, VDatePickerControls } from './VDatePickerControls'\nimport { VDatePickerHeader } from './VDatePickerHeader'\nimport { makeVDatePickerMonthProps, VDatePickerMonth } from './VDatePickerMonth'\nimport { makeVDatePickerMonthsProps, VDatePickerMonths } from './VDatePickerMonths'\nimport { makeVDatePickerYearsProps, VDatePickerYears } from './VDatePickerYears'\nimport { VFadeTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { makeVPickerProps, VPicker } from '@/labs/VPicker/VPicker'\n\n// Composables\nimport { useDate } from '@/composables/date'\nimport { useLocale, useRtl } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, shallowRef, toRef, watch } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { VDatePickerHeaderSlots } from './VDatePickerHeader'\nimport type { VDatePickerMonthSlots } from './VDatePickerMonth'\nimport type { VDatePickerMonthsSlots } from './VDatePickerMonths'\nimport type { VDatePickerYearsSlots } from './VDatePickerYears'\nimport type { VPickerSlots } from '@/labs/VPicker/VPicker'\nimport type { GenericProps } from '@/util'\n\n// Types\nexport type VDatePickerSlots =\n & Omit<VPickerSlots, 'header' | 'default'>\n & Omit<VDatePickerHeaderSlots, 'default'>\n & VDatePickerYearsSlots\n & VDatePickerMonthsSlots\n & VDatePickerMonthSlots\n & {\n header: {\n header: string\n transition: string\n }\n }\n\nexport const makeVDatePickerProps = propsFactory({\n // TODO: implement in v3.5\n // calendarIcon: {\n // type: String,\n // default: '$calendar',\n // },\n // keyboardIcon: {\n // type: String,\n // default: '$edit',\n // },\n // inputMode: {\n // type: String as PropType<'calendar' | 'keyboard'>,\n // default: 'calendar',\n // },\n // inputText: {\n // type: String,\n // default: '$vuetify.datePicker.input.placeholder',\n // },\n // inputPlaceholder: {\n // type: String,\n // default: 'dd/mm/yyyy',\n // },\n header: {\n type: String,\n default: '$vuetify.datePicker.header',\n },\n headerColor: String,\n\n ...makeVDatePickerControlsProps(),\n ...makeVDatePickerMonthProps({\n weeksInMonth: 'static' as const,\n }),\n ...omit(makeVDatePickerMonthsProps(), ['modelValue']),\n ...omit(makeVDatePickerYearsProps(), ['modelValue']),\n ...makeVPickerProps({ title: '$vuetify.datePicker.title' }),\n\n modelValue: null,\n}, 'VDatePicker')\n\nexport const VDatePicker = genericComponent<new <\n T,\n Multiple extends boolean | 'range' | number | (string & {}) = false,\n TModel = Multiple extends true | number | string\n ? T[]\n : T,\n> (\n props: {\n modelValue?: TModel\n 'onUpdate:modelValue'?: (value: TModel) => void\n multiple?: Multiple\n },\n slots: VDatePickerSlots\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDatePicker',\n\n props: makeVDatePickerProps(),\n\n emits: {\n 'update:modelValue': (date: any) => true,\n 'update:month': (date: any) => true,\n 'update:year': (date: any) => true,\n // 'update:inputMode': (date: any) => true,\n 'update:viewMode': (date: any) => true,\n },\n\n setup (props, { emit, slots }) {\n const adapter = useDate()\n const { t } = useLocale()\n const { rtlClasses } = useRtl()\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n v => wrapInArray(v).map(i => adapter.date(i)),\n v => props.multiple ? v : v[0],\n )\n\n const viewMode = useProxiedModel(props, 'viewMode')\n // const inputMode = useProxiedModel(props, 'inputMode')\n\n const minDate = computed(() => {\n const date = adapter.date(props.min)\n\n return props.min && adapter.isValid(date) ? date : null\n })\n const maxDate = computed(() => {\n const date = adapter.date(props.max)\n\n return props.max && adapter.isValid(date) ? date : null\n })\n\n const internal = computed(() => {\n const today = adapter.date()\n let value = today\n if (model.value?.[0]) {\n value = adapter.date(model.value[0])\n } else if (minDate.value && adapter.isBefore(today, minDate.value)) {\n value = minDate.value\n } else if (maxDate.value && adapter.isAfter(today, maxDate.value)) {\n value = maxDate.value\n }\n\n return value && adapter.isValid(value) ? value : today\n })\n const headerColor = toRef(() => props.headerColor ?? props.color)\n\n const _month = useProxiedModel(props, 'month')\n const month = computed({\n get: () => Number(_month.value ?? adapter.getMonth(adapter.startOfMonth(internal.value))),\n set: v => _month.value = v,\n })\n\n const _year = useProxiedModel(props, 'year')\n const year = computed({\n get: () => Number(_year.value ?? adapter.getYear(adapter.startOfYear(adapter.setMonth(internal.value, month.value)))),\n set: v => _year.value = v,\n })\n\n const isReversing = shallowRef(false)\n const header = computed(() => {\n if (props.multiple && model.value.length > 1) {\n return t('$vuetify.datePicker.itemsSelected', model.value.length)\n }\n\n return (model.value[0] && adapter.isValid(model.value[0]))\n ? adapter.format(adapter.date(model.value[0]), 'normalDateWithWeekday')\n : t(props.header)\n })\n const text = computed(() => {\n let date = adapter.date()\n\n date = adapter.setDate(date, 1)\n date = adapter.setMonth(date, month.value)\n date = adapter.setYear(date, year.value)\n\n return adapter.format(date, 'monthAndYear')\n })\n // const headerIcon = toRef(() => props.inputMode === 'calendar' ? props.keyboardIcon : props.calendarIcon)\n const headerTransition = toRef(() => `date-picker-header${isReversing.value ? '-reverse' : ''}-transition`)\n\n const disabled = computed(() => {\n if (props.disabled) return true\n\n const targets = []\n\n if (viewMode.value !== 'month') {\n targets.push(...['prev', 'next'])\n } else {\n let _date = adapter.date()\n\n _date = adapter.startOfMonth(_date)\n _date = adapter.setMonth(_date, month.value)\n _date = adapter.setYear(_date, year.value)\n\n if (minDate.value) {\n const date = adapter.addDays(adapter.startOfMonth(_date), -1)\n\n adapter.isAfter(minDate.value, date) && targets.push('prev')\n }\n\n if (maxDate.value) {\n const date = adapter.addDays(adapter.endOfMonth(_date), 1)\n\n adapter.isAfter(date, maxDate.value) && targets.push('next')\n }\n }\n\n return targets\n })\n\n function isAllowedInRange (start: unknown, end: unknown) {\n const allowedDates = props.allowedDates\n if (typeof allowedDates !== 'function') return true\n const days = adapter.getDiff(end, start, 'days')\n for (let i = 0; i < days; i++) {\n if (allowedDates(adapter.addDays(start, i))) return true\n }\n return false\n }\n\n function allowedYears (year: number) {\n if (typeof props.allowedDates === 'function') {\n const startOfYear = adapter.parseISO(`${year}-01-01`)\n return isAllowedInRange(startOfYear, adapter.endOfYear(startOfYear))\n }\n\n if (Array.isArray(props.allowedDates) && props.allowedDates.length) {\n for (const date of props.allowedDates) {\n if (adapter.getYear(adapter.date(date)) === year) return true\n }\n return false\n }\n\n return true\n }\n\n function allowedMonths (month: number) {\n if (typeof props.allowedDates === 'function') {\n const monthTwoDigits = String(month + 1).padStart(2, '0')\n const startOfMonth = adapter.parseISO(`${year.value}-${monthTwoDigits}-01`)\n return isAllowedInRange(startOfMonth, adapter.endOfMonth(startOfMonth))\n }\n\n if (Array.isArray(props.allowedDates) && props.allowedDates.length) {\n for (const date of props.allowedDates) {\n if (\n adapter.getYear(adapter.date(date)) === year.value &&\n adapter.getMonth(adapter.date(date)) === month\n ) return true\n }\n return false\n }\n\n return true\n }\n\n // function onClickAppend () {\n // inputMode.value = inputMode.value === 'calendar' ? 'keyboard' : 'calendar'\n // }\n\n function onClickNext () {\n if (month.value < 11) {\n month.value++\n } else {\n year.value++\n month.value = 0\n onUpdateYear()\n }\n onUpdateMonth()\n }\n\n function onClickPrev () {\n if (month.value > 0) {\n month.value--\n } else {\n year.value--\n month.value = 11\n onUpdateYear()\n }\n onUpdateMonth()\n }\n\n function onClickDate () {\n viewMode.value = 'month'\n }\n\n function onClickMonth () {\n viewMode.value = viewMode.value === 'months' ? 'month' : 'months'\n }\n\n function onClickYear () {\n viewMode.value = viewMode.value === 'year' ? 'month' : 'year'\n }\n\n function onUpdateMonth () {\n if (viewMode.value === 'months') onClickMonth()\n }\n\n function onUpdateYear () {\n if (viewMode.value === 'year') onClickYear()\n }\n\n watch(model, (val, oldVal) => {\n const arrBefore = wrapInArray(oldVal)\n const arrAfter = wrapInArray(val)\n\n if (!arrAfter.length) return\n\n const before = adapter.date(arrBefore[arrBefore.length - 1])\n const after = adapter.date(arrAfter[arrAfter.length - 1])\n const newMonth = adapter.getMonth(after)\n const newYear = adapter.getYear(after)\n\n if (newMonth !== month.value) {\n month.value = newMonth\n onUpdateMonth()\n }\n\n if (newYear !== year.value) {\n year.value = newYear\n onUpdateYear()\n }\n\n isReversing.value = adapter.isBefore(before, after)\n })\n\n useRender(() => {\n const pickerProps = VPicker.filterProps(props)\n const datePickerControlsProps = VDatePickerControls.filterProps(props)\n const datePickerHeaderProps = VDatePickerHeader.filterProps(props)\n const datePickerMonthProps = VDatePickerMonth.filterProps(props)\n const datePickerMonthsProps = omit(VDatePickerMonths.filterProps(props), ['modelValue'])\n const datePickerYearsProps = omit(VDatePickerYears.filterProps(props), ['modelValue'])\n\n const headerProps = {\n color: headerColor.value,\n header: header.value,\n transition: headerTransition.value,\n }\n\n return (\n <VPicker\n { ...pickerProps }\n color={ headerColor.value }\n class={[\n 'v-date-picker',\n `v-date-picker--${viewMode.value}`,\n {\n 'v-date-picker--show-week': props.showWeek,\n },\n rtlClasses.value,\n props.class,\n ]}\n style={ props.style }\n v-slots={{\n title: () => slots.title?.() ?? (\n <div class=\"v-date-picker__title\">\n { t(props.title) }\n </div>\n ),\n header: () => slots.header ? (\n <VDefaultsProvider\n defaults={{\n VDatePickerHeader: { ...headerProps },\n }}\n >\n { slots.header?.(headerProps) }\n </VDefaultsProvider>\n ) : (\n <VDatePickerHeader\n key=\"header\"\n { ...datePickerHeaderProps }\n { ...headerProps }\n onClick={ viewMode.value !== 'month' ? onClickDate : undefined }\n v-slots={{\n prepend: slots.prepend,\n append: slots.append,\n }}\n />\n ),\n default: () => (\n <>\n <VDatePickerControls\n { ...datePickerControlsProps }\n disabled={ disabled.value }\n text={ text.value }\n onClick:next={ onClickNext }\n onClick:prev={ onClickPrev }\n onClick:month={ onClickMonth }\n onClick:year={ onClickYear }\n />\n\n <VFadeTransition hideOnLeave>\n { viewMode.value === 'months' ? (\n <VDatePickerMonths\n key=\"date-picker-months\"\n { ...datePickerMonthsProps }\n v-model={ month.value }\n min={ minDate.value }\n max={ maxDate.value }\n year={ year.value }\n allowedMonths={ allowedMonths }\n onUpdate:modelValue={ onUpdateMonth }\n >\n {{ month: slots.month }}\n </VDatePickerMonths>\n ) : viewMode.value === 'year' ? (\n <VDatePickerYears\n key=\"date-picker-years\"\n { ...datePickerYearsProps }\n v-model={ year.value }\n min={ minDate.value }\n max={ maxDate.value }\n allowedYears={ allowedYears }\n onUpdate:modelValue={ onUpdateYear }\n >\n {{ year: slots.year }}\n </VDatePickerYears>\n ) : (\n <VDatePickerMonth\n key=\"date-picker-month\"\n { ...datePickerMonthProps }\n v-model={ model.value }\n v-model:month={ month.value }\n v-model:year={ year.value }\n onUpdate:month={ onUpdateMonth }\n onUpdate:year={ onUpdateYear }\n min={ minDate.value }\n max={ maxDate.value }\n >\n {{ day: slots.day }}\n </VDatePickerMonth>\n )}\n </VFadeTransition>\n </>\n ),\n actions: slots.actions,\n }}\n />\n )\n })\n\n return {}\n },\n})\n\nexport type VDatePicker = InstanceType<typeof VDatePicker>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,4BAA4B,EAAEC,mBAAmB;AAAA,SACjDC,iBAAiB;AAAA,SACjBC,yBAAyB,EAAEC,gBAAgB;AAAA,SAC3CC,0BAA0B,EAAEC,iBAAiB;AAAA,SAC7CC,yBAAyB,EAAEC,gBAAgB;AAAA,SAC3CC,eAAe;AAAA,SACfC,iBAAiB;AAAA,SACjBC,gBAAgB,EAAEC,OAAO,yCAElC;AAAA,SACSC,OAAO;AAAA,SACPC,SAAS,EAAEC,MAAM;AAAA,SACjBC,eAAe,6CAExB;AACA,SAASC,QAAQ,EAAEC,UAAU,EAAEC,KAAK,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAC/CC,gBAAgB,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS,EAAEC,WAAW,+BAErE;AAQA;AAcA,OAAO,MAAMC,oBAAoB,GAAGH,YAAY,CAAC;EAC/C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACAI,MAAM,EAAE;IACNC,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACX,CAAC;EACDC,WAAW,EAAEF,MAAM;EAEnB,GAAG7B,4BAA4B,CAAC,CAAC;EACjC,GAAGG,yBAAyB,CAAC;IAC3B6B,YAAY,EAAE;EAChB,CAAC,CAAC;EACF,GAAGV,IAAI,CAACjB,0BAA0B,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;EACrD,GAAGiB,IAAI,CAACf,yBAAyB,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;EACpD,GAAGI,gBAAgB,CAAC;IAAEsB,KAAK,EAAE;EAA4B,CAAC,CAAC;EAE3DC,UAAU,EAAE;AACd,CAAC,EAAE,aAAa,CAAC;AAEjB,OAAO,MAAMC,WAAW,GAAGd,gBAAgB,CAaI,CAAC,CAAC;EAC/Ce,IAAI,EAAE,aAAa;EAEnBC,KAAK,EAAEX,oBAAoB,CAAC,CAAC;EAE7BY,KAAK,EAAE;IACL,mBAAmB,EAAGC,IAAS,IAAK,IAAI;IACxC,cAAc,EAAGA,IAAS,IAAK,IAAI;IACnC,aAAa,EAAGA,IAAS,IAAK,IAAI;IAClC;IACA,iBAAiB,EAAGA,IAAS,IAAK;EACpC,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAmB;IAAA,IAAjB;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC3B,MAAMG,OAAO,GAAG/B,OAAO,CAAC,CAAC;IACzB,MAAM;MAAEgC;IAAE,CAAC,GAAG/B,SAAS,CAAC,CAAC;IACzB,MAAM;MAAEgC;IAAW,CAAC,GAAG/B,MAAM,CAAC,CAAC;IAE/B,MAAMgC,KAAK,GAAG/B,eAAe,CAC3BqB,KAAK,EACL,YAAY,EACZW,SAAS,EACTC,CAAC,IAAIxB,WAAW,CAACwB,CAAC,CAAC,CAACC,GAAG,CAACC,CAAC,IAAIP,OAAO,CAACL,IAAI,CAACY,CAAC,CAAC,CAAC,EAC7CF,CAAC,IAAIZ,KAAK,CAACe,QAAQ,GAAGH,CAAC,GAAGA,CAAC,CAAC,CAAC,CAC/B,CAAC;IAED,MAAMI,QAAQ,GAAGrC,eAAe,CAACqB,KAAK,EAAE,UAAU,CAAC;IACnD;;IAEA,MAAMiB,OAAO,GAAGrC,QAAQ,CAAC,MAAM;MAC7B,MAAMsB,IAAI,GAAGK,OAAO,CAACL,IAAI,CAACF,KAAK,CAACkB,GAAG,CAAC;MAEpC,OAAOlB,KAAK,CAACkB,GAAG,IAAIX,OAAO,CAACY,OAAO,CAACjB,IAAI,CAAC,GAAGA,IAAI,GAAG,IAAI;IACzD,CAAC,CAAC;IACF,MAAMkB,OAAO,GAAGxC,QAAQ,CAAC,MAAM;MAC7B,MAAMsB,IAAI,GAAGK,OAAO,CAACL,IAAI,CAACF,KAAK,CAACqB,GAAG,CAAC;MAEpC,OAAOrB,KAAK,CAACqB,GAAG,IAAId,OAAO,CAACY,OAAO,CAACjB,IAAI,CAAC,GAAGA,IAAI,GAAG,IAAI;IACzD,CAAC,CAAC;IAEF,MAAMoB,QAAQ,GAAG1C,QAAQ,CAAC,MAAM;MAC9B,MAAM2C,KAAK,GAAGhB,OAAO,CAACL,IAAI,CAAC,CAAC;MAC5B,IAAIsB,KAAK,GAAGD,KAAK;MACjB,IAAIb,KAAK,CAACc,KAAK,GAAG,CAAC,CAAC,EAAE;QACpBA,KAAK,GAAGjB,OAAO,CAACL,IAAI,CAACQ,KAAK,CAACc,KAAK,CAAC,CAAC,CAAC,CAAC;MACtC,CAAC,MAAM,IAAIP,OAAO,CAACO,KAAK,IAAIjB,OAAO,CAACkB,QAAQ,CAACF,KAAK,EAAEN,OAAO,CAACO,KAAK,CAAC,EAAE;QAClEA,KAAK,GAAGP,OAAO,CAACO,KAAK;MACvB,CAAC,MAAM,IAAIJ,OAAO,CAACI,KAAK,IAAIjB,OAAO,CAACmB,OAAO,CAACH,KAAK,EAAEH,OAAO,CAACI,KAAK,CAAC,EAAE;QACjEA,KAAK,GAAGJ,OAAO,CAACI,KAAK;MACvB;MAEA,OAAOA,KAAK,IAAIjB,OAAO,CAACY,OAAO,CAACK,KAAK,CAAC,GAAGA,KAAK,GAAGD,KAAK;IACxD,CAAC,CAAC;IACF,MAAM7B,WAAW,GAAGZ,KAAK,CAAC,MAAMkB,KAAK,CAACN,WAAW,IAAIM,KAAK,CAAC2B,KAAK,CAAC;IAEjE,MAAMC,MAAM,GAAGjD,eAAe,CAACqB,KAAK,EAAE,OAAO,CAAC;IAC9C,MAAM6B,KAAK,GAAGjD,QAAQ,CAAC;MACrBkD,GAAG,EAAEA,CAAA,KAAMC,MAAM,CAACH,MAAM,CAACJ,KAAK,IAAIjB,OAAO,CAACyB,QAAQ,CAACzB,OAAO,CAAC0B,YAAY,CAACX,QAAQ,CAACE,KAAK,CAAC,CAAC,CAAC;MACzFU,GAAG,EAAEtB,CAAC,IAAIgB,MAAM,CAACJ,KAAK,GAAGZ;IAC3B,CAAC,CAAC;IAEF,MAAMuB,KAAK,GAAGxD,eAAe,CAACqB,KAAK,EAAE,MAAM,CAAC;IAC5C,MAAMoC,IAAI,GAAGxD,QAAQ,CAAC;MACpBkD,GAAG,EAAEA,CAAA,KAAMC,MAAM,CAACI,KAAK,CAACX,KAAK,IAAIjB,OAAO,CAAC8B,OAAO,CAAC9B,OAAO,CAAC+B,WAAW,CAAC/B,OAAO,CAACgC,QAAQ,CAACjB,QAAQ,CAACE,KAAK,EAAEK,KAAK,CAACL,KAAK,CAAC,CAAC,CAAC,CAAC;MACrHU,GAAG,EAAEtB,CAAC,IAAIuB,KAAK,CAACX,KAAK,GAAGZ;IAC1B,CAAC,CAAC;IAEF,MAAM4B,WAAW,GAAG3D,UAAU,CAAC,KAAK,CAAC;IACrC,MAAMS,MAAM,GAAGV,QAAQ,CAAC,MAAM;MAC5B,IAAIoB,KAAK,CAACe,QAAQ,IAAIL,KAAK,CAACc,KAAK,CAACiB,MAAM,GAAG,CAAC,EAAE;QAC5C,OAAOjC,CAAC,CAAC,mCAAmC,EAAEE,KAAK,CAACc,KAAK,CAACiB,MAAM,CAAC;MACnE;MAEA,OAAQ/B,KAAK,CAACc,KAAK,CAAC,CAAC,CAAC,IAAIjB,OAAO,CAACY,OAAO,CAACT,KAAK,CAACc,KAAK,CAAC,CAAC,CAAC,CAAC,GACrDjB,OAAO,CAACmC,MAAM,CAACnC,OAAO,CAACL,IAAI,CAACQ,KAAK,CAACc,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,uBAAuB,CAAC,GACrEhB,CAAC,CAACR,KAAK,CAACV,MAAM,CAAC;IACrB,CAAC,CAAC;IACF,MAAMqD,IAAI,GAAG/D,QAAQ,CAAC,MAAM;MAC1B,IAAIsB,IAAI,GAAGK,OAAO,CAACL,IAAI,CAAC,CAAC;MAEzBA,IAAI,GAAGK,OAAO,CAACqC,OAAO,CAAC1C,IAAI,EAAE,CAAC,CAAC;MAC/BA,IAAI,GAAGK,OAAO,CAACgC,QAAQ,CAACrC,IAAI,EAAE2B,KAAK,CAACL,KAAK,CAAC;MAC1CtB,IAAI,GAAGK,OAAO,CAACsC,OAAO,CAAC3C,IAAI,EAAEkC,IAAI,CAACZ,KAAK,CAAC;MAExC,OAAOjB,OAAO,CAACmC,MAAM,CAACxC,IAAI,EAAE,cAAc,CAAC;IAC7C,CAAC,CAAC;IACF;IACA,MAAM4C,gBAAgB,GAAGhE,KAAK,CAAC,MAAM,qBAAqB0D,WAAW,CAAChB,KAAK,GAAG,UAAU,GAAG,EAAE,aAAa,CAAC;IAE3G,MAAMuB,QAAQ,GAAGnE,QAAQ,CAAC,MAAM;MAC9B,IAAIoB,KAAK,CAAC+C,QAAQ,EAAE,OAAO,IAAI;MAE/B,MAAMC,OAAO,GAAG,EAAE;MAElB,IAAIhC,QAAQ,CAACQ,KAAK,KAAK,OAAO,EAAE;QAC9BwB,OAAO,CAACC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;MACnC,CAAC,MAAM;QACL,IAAIC,KAAK,GAAG3C,OAAO,CAACL,IAAI,CAAC,CAAC;QAE1BgD,KAAK,GAAG3C,OAAO,CAAC0B,YAAY,CAACiB,KAAK,CAAC;QACnCA,KAAK,GAAG3C,OAAO,CAACgC,QAAQ,CAACW,KAAK,EAAErB,KAAK,CAACL,KAAK,CAAC;QAC5C0B,KAAK,GAAG3C,OAAO,CAACsC,OAAO,CAACK,KAAK,EAAEd,IAAI,CAACZ,KAAK,CAAC;QAE1C,IAAIP,OAAO,CAACO,KAAK,EAAE;UACjB,MAAMtB,IAAI,GAAGK,OAAO,CAAC4C,OAAO,CAAC5C,OAAO,CAAC0B,YAAY,CAACiB,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;UAE7D3C,OAAO,CAACmB,OAAO,CAACT,OAAO,CAACO,KAAK,EAAEtB,IAAI,CAAC,IAAI8C,OAAO,CAACC,IAAI,CAAC,MAAM,CAAC;QAC9D;QAEA,IAAI7B,OAAO,CAACI,KAAK,EAAE;UACjB,MAAMtB,IAAI,GAAGK,OAAO,CAAC4C,OAAO,CAAC5C,OAAO,CAAC6C,UAAU,CAACF,KAAK,CAAC,EAAE,CAAC,CAAC;UAE1D3C,OAAO,CAACmB,OAAO,CAACxB,IAAI,EAAEkB,OAAO,CAACI,KAAK,CAAC,IAAIwB,OAAO,CAACC,IAAI,CAAC,MAAM,CAAC;QAC9D;MACF;MAEA,OAAOD,OAAO;IAChB,CAAC,CAAC;IAEF,SAASK,gBAAgBA,CAAEC,KAAc,EAAEC,GAAY,EAAE;MACvD,MAAMC,YAAY,GAAGxD,KAAK,CAACwD,YAAY;MACvC,IAAI,OAAOA,YAAY,KAAK,UAAU,EAAE,OAAO,IAAI;MACnD,MAAMC,IAAI,GAAGlD,OAAO,CAACmD,OAAO,CAACH,GAAG,EAAED,KAAK,EAAE,MAAM,CAAC;MAChD,KAAK,IAAIxC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG2C,IAAI,EAAE3C,CAAC,EAAE,EAAE;QAC7B,IAAI0C,YAAY,CAACjD,OAAO,CAAC4C,OAAO,CAACG,KAAK,EAAExC,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI;MAC1D;MACA,OAAO,KAAK;IACd;IAEA,SAAS6C,YAAYA,CAAEvB,IAAY,EAAE;MACnC,IAAI,OAAOpC,KAAK,CAACwD,YAAY,KAAK,UAAU,EAAE;QAC5C,MAAMlB,WAAW,GAAG/B,OAAO,CAACqD,QAAQ,CAAC,GAAGxB,IAAI,QAAQ,CAAC;QACrD,OAAOiB,gBAAgB,CAACf,WAAW,EAAE/B,OAAO,CAACsD,SAAS,CAACvB,WAAW,CAAC,CAAC;MACtE;MAEA,IAAIwB,KAAK,CAACC,OAAO,CAAC/D,KAAK,CAACwD,YAAY,CAAC,IAAIxD,KAAK,CAACwD,YAAY,CAACf,MAAM,EAAE;QAClE,KAAK,MAAMvC,IAAI,IAAIF,KAAK,CAACwD,YAAY,EAAE;UACrC,IAAIjD,OAAO,CAAC8B,OAAO,CAAC9B,OAAO,CAACL,IAAI,CAACA,IAAI,CAAC,CAAC,KAAKkC,IAAI,EAAE,OAAO,IAAI;QAC/D;QACA,OAAO,KAAK;MACd;MAEA,OAAO,IAAI;IACb;IAEA,SAAS4B,aAAaA,CAAEnC,KAAa,EAAE;MACrC,IAAI,OAAO7B,KAAK,CAACwD,YAAY,KAAK,UAAU,EAAE;QAC5C,MAAMS,cAAc,GAAGzE,MAAM,CAACqC,KAAK,GAAG,CAAC,CAAC,CAACqC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;QACzD,MAAMjC,YAAY,GAAG1B,OAAO,CAACqD,QAAQ,CAAC,GAAGxB,IAAI,CAACZ,KAAK,IAAIyC,cAAc,KAAK,CAAC;QAC3E,OAAOZ,gBAAgB,CAACpB,YAAY,EAAE1B,OAAO,CAAC6C,UAAU,CAACnB,YAAY,CAAC,CAAC;MACzE;MAEA,IAAI6B,KAAK,CAACC,OAAO,CAAC/D,KAAK,CAACwD,YAAY,CAAC,IAAIxD,KAAK,CAACwD,YAAY,CAACf,MAAM,EAAE;QAClE,KAAK,MAAMvC,IAAI,IAAIF,KAAK,CAACwD,YAAY,EAAE;UACrC,IACEjD,OAAO,CAAC8B,OAAO,CAAC9B,OAAO,CAACL,IAAI,CAACA,IAAI,CAAC,CAAC,KAAKkC,IAAI,CAACZ,KAAK,IAClDjB,OAAO,CAACyB,QAAQ,CAACzB,OAAO,CAACL,IAAI,CAACA,IAAI,CAAC,CAAC,KAAK2B,KAAK,EAC9C,OAAO,IAAI;QACf;QACA,OAAO,KAAK;MACd;MAEA,OAAO,IAAI;IACb;;IAEA;IACA;IACA;;IAEA,SAASsC,WAAWA,CAAA,EAAI;MACtB,IAAItC,KAAK,CAACL,KAAK,GAAG,EAAE,EAAE;QACpBK,KAAK,CAACL,KAAK,EAAE;MACf,CAAC,MAAM;QACLY,IAAI,CAACZ,KAAK,EAAE;QACZK,KAAK,CAACL,KAAK,GAAG,CAAC;QACf4C,YAAY,CAAC,CAAC;MAChB;MACAC,aAAa,CAAC,CAAC;IACjB;IAEA,SAASC,WAAWA,CAAA,EAAI;MACtB,IAAIzC,KAAK,CAACL,KAAK,GAAG,CAAC,EAAE;QACnBK,KAAK,CAACL,KAAK,EAAE;MACf,CAAC,MAAM;QACLY,IAAI,CAACZ,KAAK,EAAE;QACZK,KAAK,CAACL,KAAK,GAAG,EAAE;QAChB4C,YAAY,CAAC,CAAC;MAChB;MACAC,aAAa,CAAC,CAAC;IACjB;IAEA,SAASE,WAAWA,CAAA,EAAI;MACtBvD,QAAQ,CAACQ,KAAK,GAAG,OAAO;IAC1B;IAEA,SAASgD,YAAYA,CAAA,EAAI;MACvBxD,QAAQ,CAACQ,KAAK,GAAGR,QAAQ,CAACQ,KAAK,KAAK,QAAQ,GAAG,OAAO,GAAG,QAAQ;IACnE;IAEA,SAASiD,WAAWA,CAAA,EAAI;MACtBzD,QAAQ,CAACQ,KAAK,GAAGR,QAAQ,CAACQ,KAAK,KAAK,MAAM,GAAG,OAAO,GAAG,MAAM;IAC/D;IAEA,SAAS6C,aAAaA,CAAA,EAAI;MACxB,IAAIrD,QAAQ,CAACQ,KAAK,KAAK,QAAQ,EAAEgD,YAAY,CAAC,CAAC;IACjD;IAEA,SAASJ,YAAYA,CAAA,EAAI;MACvB,IAAIpD,QAAQ,CAACQ,KAAK,KAAK,MAAM,EAAEiD,WAAW,CAAC,CAAC;IAC9C;IAEA1F,KAAK,CAAC2B,KAAK,EAAE,CAACgE,GAAG,EAAEC,MAAM,KAAK;MAC5B,MAAMC,SAAS,GAAGxF,WAAW,CAACuF,MAAM,CAAC;MACrC,MAAME,QAAQ,GAAGzF,WAAW,CAACsF,GAAG,CAAC;MAEjC,IAAI,CAACG,QAAQ,CAACpC,MAAM,EAAE;MAEtB,MAAMqC,MAAM,GAAGvE,OAAO,CAACL,IAAI,CAAC0E,SAAS,CAACA,SAAS,CAACnC,MAAM,GAAG,CAAC,CAAC,CAAC;MAC5D,MAAMsC,KAAK,GAAGxE,OAAO,CAACL,IAAI,CAAC2E,QAAQ,CAACA,QAAQ,CAACpC,MAAM,GAAG,CAAC,CAAC,CAAC;MACzD,MAAMuC,QAAQ,GAAGzE,OAAO,CAACyB,QAAQ,CAAC+C,KAAK,CAAC;MACxC,MAAME,OAAO,GAAG1E,OAAO,CAAC8B,OAAO,CAAC0C,KAAK,CAAC;MAEtC,IAAIC,QAAQ,KAAKnD,KAAK,CAACL,KAAK,EAAE;QAC5BK,KAAK,CAACL,KAAK,GAAGwD,QAAQ;QACtBX,aAAa,CAAC,CAAC;MACjB;MAEA,IAAIY,OAAO,KAAK7C,IAAI,CAACZ,KAAK,EAAE;QAC1BY,IAAI,CAACZ,KAAK,GAAGyD,OAAO;QACpBb,YAAY,CAAC,CAAC;MAChB;MAEA5B,WAAW,CAAChB,KAAK,GAAGjB,OAAO,CAACkB,QAAQ,CAACqD,MAAM,EAAEC,KAAK,CAAC;IACrD,CAAC,CAAC;IAEF5F,SAAS,CAAC,MAAM;MACd,MAAM+F,WAAW,GAAG3G,OAAO,CAAC4G,WAAW,CAACnF,KAAK,CAAC;MAC9C,MAAMoF,uBAAuB,GAAGxH,mBAAmB,CAACuH,WAAW,CAACnF,KAAK,CAAC;MACtE,MAAMqF,qBAAqB,GAAGxH,iBAAiB,CAACsH,WAAW,CAACnF,KAAK,CAAC;MAClE,MAAMsF,oBAAoB,GAAGvH,gBAAgB,CAACoH,WAAW,CAACnF,KAAK,CAAC;MAChE,MAAMuF,qBAAqB,GAAGtG,IAAI,CAAChB,iBAAiB,CAACkH,WAAW,CAACnF,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;MACxF,MAAMwF,oBAAoB,GAAGvG,IAAI,CAACd,gBAAgB,CAACgH,WAAW,CAACnF,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;MAEtF,MAAMyF,WAAW,GAAG;QAClB9D,KAAK,EAAEjC,WAAW,CAAC8B,KAAK;QACxBlC,MAAM,EAAEA,MAAM,CAACkC,KAAK;QACpBkE,UAAU,EAAE5C,gBAAgB,CAACtB;MAC/B,CAAC;MAED,OAAAmE,YAAA,CAAApH,OAAA,EAAAqH,WAAA,CAESV,WAAW;QAAA,SACRxF,WAAW,CAAC8B,KAAK;QAAA,SAClB,CACL,eAAe,EACf,kBAAkBR,QAAQ,CAACQ,KAAK,EAAE,EAClC;UACE,0BAA0B,EAAExB,KAAK,CAAC6F;QACpC,CAAC,EACDpF,UAAU,CAACe,KAAK,EAChBxB,KAAK,CAAC8F,KAAK,CACZ;QAAA,SACO9F,KAAK,CAAC+F;MAAK,IACV;QACPnG,KAAK,EAAEA,CAAA,KAAMU,KAAK,CAACV,KAAK,GAAG,CAAC,IAAAoG,mBAAA;UAAA;QAAA,IAEtBxF,CAAC,CAACR,KAAK,CAACJ,KAAK,CAAC,EAEnB;QACDN,MAAM,EAAEA,CAAA,KAAMgB,KAAK,CAAChB,MAAM,GAAAqG,YAAA,CAAAtH,iBAAA;UAAA,YAEZ;YACRR,iBAAiB,EAAE;cAAE,GAAG4H;YAAY;UACtC;QAAC;UAAAhG,OAAA,EAAAA,CAAA,MAECa,KAAK,CAAChB,MAAM,GAAGmG,WAAW,CAAC;QAAA,KAAAE,YAAA,CAAA9H,iBAAA,EAAA+H,WAAA;UAAA;QAAA,GAKxBP,qBAAqB,EACrBI,WAAW;UAAA,WACNzE,QAAQ,CAACQ,KAAK,KAAK,OAAO,GAAG+C,WAAW,GAAG5D;QAAS,IACrD;UACPsF,OAAO,EAAE3F,KAAK,CAAC2F,OAAO;UACtBC,MAAM,EAAE5F,KAAK,CAAC4F;QAChB,CAAC,CAEJ;QACDzG,OAAO,EAAEA,CAAA,KAAAuG,mBAAA,CAAAG,SAAA,SAAAR,YAAA,CAAA/H,mBAAA,EAAAgI,WAAA,CAGER,uBAAuB;UAAA,YACjBrC,QAAQ,CAACvB,KAAK;UAAA,QAClBmB,IAAI,CAACnB,KAAK;UAAA,gBACF2C,WAAW;UAAA,gBACXG,WAAW;UAAA,iBACVE,YAAY;UAAA,gBACbC;QAAW,WAAAkB,YAAA,CAAAvH,eAAA;UAAA;QAAA;UAAAqB,OAAA,EAAAA,CAAA,MAIxBuB,QAAQ,CAACQ,KAAK,KAAK,QAAQ,GAAAmE,YAAA,CAAA1H,iBAAA,EAAA2H,WAAA;YAAA;UAAA,GAGpBL,qBAAqB;YAAA,cAChB1D,KAAK,CAACL,KAAK;YAAA,wBAAA4E,MAAA,IAAXvE,KAAK,CAACL,KAAK,GAAA4E,MAAA,EAKC/B,aAAa;YAAA,OAJ7BpD,OAAO,CAACO,KAAK;YAAA,OACbJ,OAAO,CAACI,KAAK;YAAA,QACZY,IAAI,CAACZ,KAAK;YAAA,iBACDwC;UAAa;YAG1BnC,KAAK,EAAEvB,KAAK,CAACuB;UAAK,KAErBb,QAAQ,CAACQ,KAAK,KAAK,MAAM,GAAAmE,YAAA,CAAAxH,gBAAA,EAAAyH,WAAA;YAAA;UAAA,GAGpBJ,oBAAoB;YAAA,cACfpD,IAAI,CAACZ,KAAK;YAAA,wBAAA4E,MAAA,IAAVhE,IAAI,CAACZ,KAAK,GAAA4E,MAAA,EAIEhC,YAAY;YAAA,OAH5BnD,OAAO,CAACO,KAAK;YAAA,OACbJ,OAAO,CAACI,KAAK;YAAA,gBACJmC;UAAY;YAGxBvB,IAAI,EAAE9B,KAAK,CAAC8B;UAAI,KAAAuD,YAAA,CAAA5H,gBAAA,EAAA6H,WAAA;YAAA;UAAA,GAKdN,oBAAoB;YAAA,cACf5E,KAAK,CAACc,KAAK;YAAA,uBAAA4E,MAAA,IAAX1F,KAAK,CAACc,KAAK,GAAA4E,MAAA;YAAA,SACLvE,KAAK,CAACL,KAAK;YAAA,mBAAA4E,MAAA,IAAXvE,KAAK,CAACL,KAAK,GAAA4E,MAAA,EAEV/B,aAAa;YAAA,QADfjC,IAAI,CAACZ,KAAK;YAAA,kBAAA4E,MAAA,IAAVhE,IAAI,CAACZ,KAAK,GAAA4E,MAAA,EAEThC,YAAY;YAAA,OACtBnD,OAAO,CAACO,KAAK;YAAA,OACbJ,OAAO,CAACI;UAAK;YAEhB6E,GAAG,EAAE/F,KAAK,CAAC+F;UAAG,EAEpB;QAAA,IAGN;QACDC,OAAO,EAAEhG,KAAK,CAACgG;MACjB,CAAC;IAGP,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"VDatePicker.js","names":["makeVDatePickerControlsProps","VDatePickerControls","VDatePickerHeader","makeVDatePickerMonthProps","VDatePickerMonth","makeVDatePickerMonthsProps","VDatePickerMonths","makeVDatePickerYearsProps","VDatePickerYears","VFadeTransition","VDefaultsProvider","makeVPickerProps","VPicker","useDate","useLocale","useRtl","useProxiedModel","computed","shallowRef","toRef","watch","genericComponent","omit","propsFactory","useRender","wrapInArray","makeVDatePickerProps","header","type","String","default","headerColor","weeksInMonth","title","modelValue","VDatePicker","name","props","emits","date","setup","_ref","emit","slots","adapter","t","rtlClasses","model","undefined","v","map","i","multiple","viewMode","minDate","min","isValid","maxDate","max","internal","today","value","isBefore","isAfter","color","_month","month","get","Number","getMonth","startOfMonth","set","_year","year","getYear","startOfYear","setMonth","isReversing","length","format","text","setDate","setYear","headerTransition","disabled","targets","push","_date","addDays","endOfMonth","allowedYears","isYearAllowed","allowedMonths","isMonthAllowed","isAllowedInRange","start","end","allowedDates","days","getDiff","parseISO","endOfYear","Array","isArray","monthTwoDigits","padStart","onClickNext","onUpdateYear","onUpdateMonth","onClickPrev","onClickDate","onClickMonth","onClickYear","val","oldVal","arrBefore","arrAfter","before","after","newMonth","newYear","pickerProps","filterProps","datePickerControlsProps","datePickerHeaderProps","datePickerMonthProps","datePickerMonthsProps","datePickerYearsProps","headerProps","transition","_createVNode","_mergeProps","showWeek","class","style","_createElementVNode","prepend","append","_Fragment","$event","day","actions"],"sources":["../../../src/components/VDatePicker/VDatePicker.tsx"],"sourcesContent":["// Styles\nimport './VDatePicker.sass'\n\n// Components\nimport { makeVDatePickerControlsProps, VDatePickerControls } from './VDatePickerControls'\nimport { VDatePickerHeader } from './VDatePickerHeader'\nimport { makeVDatePickerMonthProps, VDatePickerMonth } from './VDatePickerMonth'\nimport { makeVDatePickerMonthsProps, VDatePickerMonths } from './VDatePickerMonths'\nimport { makeVDatePickerYearsProps, VDatePickerYears } from './VDatePickerYears'\nimport { VFadeTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { makeVPickerProps, VPicker } from '@/labs/VPicker/VPicker'\n\n// Composables\nimport { useDate } from '@/composables/date'\nimport { useLocale, useRtl } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, shallowRef, toRef, watch } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { VDatePickerHeaderSlots } from './VDatePickerHeader'\nimport type { VDatePickerMonthSlots } from './VDatePickerMonth'\nimport type { VDatePickerMonthsSlots } from './VDatePickerMonths'\nimport type { VDatePickerYearsSlots } from './VDatePickerYears'\nimport type { VPickerSlots } from '@/labs/VPicker/VPicker'\nimport type { GenericProps } from '@/util'\n\n// Types\nexport type VDatePickerSlots =\n & Omit<VPickerSlots, 'header' | 'default'>\n & Omit<VDatePickerHeaderSlots, 'default'>\n & VDatePickerYearsSlots\n & VDatePickerMonthsSlots\n & VDatePickerMonthSlots\n & {\n header: {\n header: string\n transition: string\n }\n }\n\nexport const makeVDatePickerProps = propsFactory({\n // TODO: implement in v3.5\n // calendarIcon: {\n // type: String,\n // default: '$calendar',\n // },\n // keyboardIcon: {\n // type: String,\n // default: '$edit',\n // },\n // inputMode: {\n // type: String as PropType<'calendar' | 'keyboard'>,\n // default: 'calendar',\n // },\n // inputText: {\n // type: String,\n // default: '$vuetify.datePicker.input.placeholder',\n // },\n // inputPlaceholder: {\n // type: String,\n // default: 'dd/mm/yyyy',\n // },\n header: {\n type: String,\n default: '$vuetify.datePicker.header',\n },\n headerColor: String,\n\n ...makeVDatePickerControlsProps(),\n ...makeVDatePickerMonthProps({\n weeksInMonth: 'static' as const,\n }),\n ...omit(makeVDatePickerMonthsProps(), ['modelValue']),\n ...omit(makeVDatePickerYearsProps(), ['modelValue']),\n ...makeVPickerProps({ title: '$vuetify.datePicker.title' }),\n\n modelValue: null,\n}, 'VDatePicker')\n\nexport const VDatePicker = genericComponent<new <\n T,\n Multiple extends boolean | 'range' | number | (string & {}) = false,\n TModel = Multiple extends true | number | string\n ? T[]\n : T,\n> (\n props: {\n modelValue?: TModel\n 'onUpdate:modelValue'?: (value: TModel) => void\n multiple?: Multiple\n },\n slots: VDatePickerSlots\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDatePicker',\n\n props: makeVDatePickerProps(),\n\n emits: {\n 'update:modelValue': (date: any) => true,\n 'update:month': (date: any) => true,\n 'update:year': (date: any) => true,\n // 'update:inputMode': (date: any) => true,\n 'update:viewMode': (date: any) => true,\n },\n\n setup (props, { emit, slots }) {\n const adapter = useDate()\n const { t } = useLocale()\n const { rtlClasses } = useRtl()\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n v => wrapInArray(v).map(i => adapter.date(i)),\n v => props.multiple ? v : v[0],\n )\n\n const viewMode = useProxiedModel(props, 'viewMode')\n // const inputMode = useProxiedModel(props, 'inputMode')\n\n const minDate = computed(() => {\n const date = adapter.date(props.min)\n\n return props.min && adapter.isValid(date) ? date : null\n })\n const maxDate = computed(() => {\n const date = adapter.date(props.max)\n\n return props.max && adapter.isValid(date) ? date : null\n })\n\n const internal = computed(() => {\n const today = adapter.date()\n let value = today\n if (model.value?.[0]) {\n value = adapter.date(model.value[0])\n } else if (minDate.value && adapter.isBefore(today, minDate.value)) {\n value = minDate.value\n } else if (maxDate.value && adapter.isAfter(today, maxDate.value)) {\n value = maxDate.value\n }\n\n return value && adapter.isValid(value) ? value : today\n })\n const headerColor = toRef(() => props.headerColor ?? props.color)\n\n const _month = useProxiedModel(props, 'month')\n const month = computed({\n get: () => Number(_month.value ?? adapter.getMonth(adapter.startOfMonth(internal.value))),\n set: v => _month.value = v,\n })\n\n const _year = useProxiedModel(props, 'year')\n const year = computed({\n get: () => Number(_year.value ?? adapter.getYear(adapter.startOfYear(adapter.setMonth(internal.value, month.value)))),\n set: v => _year.value = v,\n })\n\n const isReversing = shallowRef(false)\n const header = computed(() => {\n if (props.multiple && model.value.length > 1) {\n return t('$vuetify.datePicker.itemsSelected', model.value.length)\n }\n\n return (model.value[0] && adapter.isValid(model.value[0]))\n ? adapter.format(adapter.date(model.value[0]), 'normalDateWithWeekday')\n : t(props.header)\n })\n const text = computed(() => {\n let date = adapter.date()\n\n date = adapter.setDate(date, 1)\n date = adapter.setMonth(date, month.value)\n date = adapter.setYear(date, year.value)\n\n return adapter.format(date, 'monthAndYear')\n })\n // const headerIcon = toRef(() => props.inputMode === 'calendar' ? props.keyboardIcon : props.calendarIcon)\n const headerTransition = toRef(() => `date-picker-header${isReversing.value ? '-reverse' : ''}-transition`)\n\n const disabled = computed(() => {\n if (props.disabled) return true\n\n const targets = []\n\n if (viewMode.value !== 'month') {\n targets.push(...['prev', 'next'])\n } else {\n let _date = adapter.date()\n\n _date = adapter.startOfMonth(_date)\n _date = adapter.setMonth(_date, month.value)\n _date = adapter.setYear(_date, year.value)\n\n if (minDate.value) {\n const date = adapter.addDays(adapter.startOfMonth(_date), -1)\n\n adapter.isAfter(minDate.value, date) && targets.push('prev')\n }\n\n if (maxDate.value) {\n const date = adapter.addDays(adapter.endOfMonth(_date), 1)\n\n adapter.isAfter(date, maxDate.value) && targets.push('next')\n }\n }\n\n return targets\n })\n\n const allowedYears = computed(() => {\n return props.allowedYears || isYearAllowed\n })\n\n const allowedMonths = computed(() => {\n return props.allowedMonths || isMonthAllowed\n })\n\n function isAllowedInRange (start: unknown, end: unknown) {\n const allowedDates = props.allowedDates\n if (typeof allowedDates !== 'function') return true\n const days = adapter.getDiff(end, start, 'days')\n for (let i = 0; i < days; i++) {\n if (allowedDates(adapter.addDays(start, i))) return true\n }\n return false\n }\n\n function isYearAllowed (year: number) {\n if (typeof props.allowedDates === 'function') {\n const startOfYear = adapter.parseISO(`${year}-01-01`)\n return isAllowedInRange(startOfYear, adapter.endOfYear(startOfYear))\n }\n\n if (Array.isArray(props.allowedDates) && props.allowedDates.length) {\n for (const date of props.allowedDates) {\n if (adapter.getYear(adapter.date(date)) === year) return true\n }\n return false\n }\n\n return true\n }\n\n function isMonthAllowed (month: number) {\n if (typeof props.allowedDates === 'function') {\n const monthTwoDigits = String(month + 1).padStart(2, '0')\n const startOfMonth = adapter.parseISO(`${year.value}-${monthTwoDigits}-01`)\n return isAllowedInRange(startOfMonth, adapter.endOfMonth(startOfMonth))\n }\n\n if (Array.isArray(props.allowedDates) && props.allowedDates.length) {\n for (const date of props.allowedDates) {\n if (\n adapter.getYear(adapter.date(date)) === year.value &&\n adapter.getMonth(adapter.date(date)) === month\n ) return true\n }\n return false\n }\n\n return true\n }\n\n // function onClickAppend () {\n // inputMode.value = inputMode.value === 'calendar' ? 'keyboard' : 'calendar'\n // }\n\n function onClickNext () {\n if (month.value < 11) {\n month.value++\n } else {\n year.value++\n month.value = 0\n onUpdateYear()\n }\n onUpdateMonth()\n }\n\n function onClickPrev () {\n if (month.value > 0) {\n month.value--\n } else {\n year.value--\n month.value = 11\n onUpdateYear()\n }\n onUpdateMonth()\n }\n\n function onClickDate () {\n viewMode.value = 'month'\n }\n\n function onClickMonth () {\n viewMode.value = viewMode.value === 'months' ? 'month' : 'months'\n }\n\n function onClickYear () {\n viewMode.value = viewMode.value === 'year' ? 'month' : 'year'\n }\n\n function onUpdateMonth () {\n if (viewMode.value === 'months') onClickMonth()\n }\n\n function onUpdateYear () {\n if (viewMode.value === 'year') onClickYear()\n }\n\n watch(model, (val, oldVal) => {\n const arrBefore = wrapInArray(oldVal)\n const arrAfter = wrapInArray(val)\n\n if (!arrAfter.length) return\n\n const before = adapter.date(arrBefore[arrBefore.length - 1])\n const after = adapter.date(arrAfter[arrAfter.length - 1])\n const newMonth = adapter.getMonth(after)\n const newYear = adapter.getYear(after)\n\n if (newMonth !== month.value) {\n month.value = newMonth\n onUpdateMonth()\n }\n\n if (newYear !== year.value) {\n year.value = newYear\n onUpdateYear()\n }\n\n isReversing.value = adapter.isBefore(before, after)\n })\n\n useRender(() => {\n const pickerProps = VPicker.filterProps(props)\n const datePickerControlsProps = VDatePickerControls.filterProps(props)\n const datePickerHeaderProps = VDatePickerHeader.filterProps(props)\n const datePickerMonthProps = VDatePickerMonth.filterProps(props)\n const datePickerMonthsProps = omit(VDatePickerMonths.filterProps(props), ['modelValue'])\n const datePickerYearsProps = omit(VDatePickerYears.filterProps(props), ['modelValue'])\n\n const headerProps = {\n color: headerColor.value,\n header: header.value,\n transition: headerTransition.value,\n }\n\n return (\n <VPicker\n { ...pickerProps }\n color={ headerColor.value }\n class={[\n 'v-date-picker',\n `v-date-picker--${viewMode.value}`,\n {\n 'v-date-picker--show-week': props.showWeek,\n },\n rtlClasses.value,\n props.class,\n ]}\n style={ props.style }\n v-slots={{\n title: () => slots.title?.() ?? (\n <div class=\"v-date-picker__title\">\n { t(props.title) }\n </div>\n ),\n header: () => slots.header ? (\n <VDefaultsProvider\n defaults={{\n VDatePickerHeader: { ...headerProps },\n }}\n >\n { slots.header?.(headerProps) }\n </VDefaultsProvider>\n ) : (\n <VDatePickerHeader\n key=\"header\"\n { ...datePickerHeaderProps }\n { ...headerProps }\n onClick={ viewMode.value !== 'month' ? onClickDate : undefined }\n v-slots={{\n prepend: slots.prepend,\n append: slots.append,\n }}\n />\n ),\n default: () => (\n <>\n <VDatePickerControls\n { ...datePickerControlsProps }\n disabled={ disabled.value }\n text={ text.value }\n onClick:next={ onClickNext }\n onClick:prev={ onClickPrev }\n onClick:month={ onClickMonth }\n onClick:year={ onClickYear }\n />\n\n <VFadeTransition hideOnLeave>\n { viewMode.value === 'months' ? (\n <VDatePickerMonths\n key=\"date-picker-months\"\n { ...datePickerMonthsProps }\n v-model={ month.value }\n min={ minDate.value }\n max={ maxDate.value }\n year={ year.value }\n allowedMonths={ allowedMonths.value }\n onUpdate:modelValue={ onUpdateMonth }\n >\n {{ month: slots.month }}\n </VDatePickerMonths>\n ) : viewMode.value === 'year' ? (\n <VDatePickerYears\n key=\"date-picker-years\"\n { ...datePickerYearsProps }\n v-model={ year.value }\n min={ minDate.value }\n max={ maxDate.value }\n allowedYears={ allowedYears.value }\n onUpdate:modelValue={ onUpdateYear }\n >\n {{ year: slots.year }}\n </VDatePickerYears>\n ) : (\n <VDatePickerMonth\n key=\"date-picker-month\"\n { ...datePickerMonthProps }\n v-model={ model.value }\n v-model:month={ month.value }\n v-model:year={ year.value }\n onUpdate:month={ onUpdateMonth }\n onUpdate:year={ onUpdateYear }\n min={ minDate.value }\n max={ maxDate.value }\n >\n {{ day: slots.day }}\n </VDatePickerMonth>\n )}\n </VFadeTransition>\n </>\n ),\n actions: slots.actions,\n }}\n />\n )\n })\n\n return {}\n },\n})\n\nexport type VDatePicker = InstanceType<typeof VDatePicker>\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { mergeProps as _mergeProps, createVNode as _createVNode, createElementVNode as _createElementVNode } from "vue";
|
|
1
|
+
import { mergeProps as _mergeProps, createVNode as _createVNode, createElementVNode as _createElementVNode, withDirectives as _withDirectives } from "vue";
|
|
2
2
|
// Styles
|
|
3
3
|
import "./VDatePickerYears.css";
|
|
4
4
|
|
|
5
5
|
// Components
|
|
6
6
|
import { VBtn } from "../VBtn/index.js"; // Composables
|
|
7
7
|
import { useDate } from "../../composables/date/index.js";
|
|
8
|
-
import { useProxiedModel } from "../../composables/proxiedModel.js"; //
|
|
9
|
-
import
|
|
8
|
+
import { useProxiedModel } from "../../composables/proxiedModel.js"; // Directives
|
|
9
|
+
import vIntersect from "../../directives/intersect/index.js"; // Utilities
|
|
10
|
+
import { computed, watchEffect } from 'vue';
|
|
10
11
|
import { convertToUnit, createRange, genericComponent, propsFactory, templateRef, useRender } from "../../util/index.js"; // Types
|
|
11
12
|
// Types
|
|
12
13
|
export const makeVDatePickerYearsProps = propsFactory({
|
|
@@ -20,6 +21,9 @@ export const makeVDatePickerYearsProps = propsFactory({
|
|
|
20
21
|
export const VDatePickerYears = genericComponent()({
|
|
21
22
|
name: 'VDatePickerYears',
|
|
22
23
|
props: makeVDatePickerYearsProps(),
|
|
24
|
+
directives: {
|
|
25
|
+
vIntersect
|
|
26
|
+
},
|
|
23
27
|
emits: {
|
|
24
28
|
'update:modelValue': year => true
|
|
25
29
|
},
|
|
@@ -56,10 +60,12 @@ export const VDatePickerYears = genericComponent()({
|
|
|
56
60
|
model.value = model.value ?? adapter.getYear(adapter.date());
|
|
57
61
|
});
|
|
58
62
|
const yearRef = templateRef();
|
|
59
|
-
|
|
60
|
-
await nextTick();
|
|
63
|
+
function focusSelectedYear() {
|
|
61
64
|
yearRef.el?.focus();
|
|
62
|
-
|
|
65
|
+
yearRef.el?.scrollIntoView({
|
|
66
|
+
block: 'center'
|
|
67
|
+
});
|
|
68
|
+
}
|
|
63
69
|
function isYearAllowed(year) {
|
|
64
70
|
if (Array.isArray(props.allowedYears) && props.allowedYears.length) {
|
|
65
71
|
return props.allowedYears.includes(year);
|
|
@@ -69,7 +75,7 @@ export const VDatePickerYears = genericComponent()({
|
|
|
69
75
|
}
|
|
70
76
|
return true;
|
|
71
77
|
}
|
|
72
|
-
useRender(() => _createElementVNode("div", {
|
|
78
|
+
useRender(() => _withDirectives(_createElementVNode("div", {
|
|
73
79
|
"class": "v-date-picker-years",
|
|
74
80
|
"style": {
|
|
75
81
|
height: convertToUnit(props.height)
|
|
@@ -100,7 +106,11 @@ export const VDatePickerYears = genericComponent()({
|
|
|
100
106
|
}) ?? _createVNode(VBtn, _mergeProps({
|
|
101
107
|
"key": "month"
|
|
102
108
|
}, btnProps), null);
|
|
103
|
-
})])])
|
|
109
|
+
})])]), [[vIntersect, {
|
|
110
|
+
handler: focusSelectedYear
|
|
111
|
+
}, null, {
|
|
112
|
+
once: true
|
|
113
|
+
}]]));
|
|
104
114
|
return {};
|
|
105
115
|
}
|
|
106
116
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VDatePickerYears.js","names":["VBtn","useDate","useProxiedModel","
|
|
1
|
+
{"version":3,"file":"VDatePickerYears.js","names":["VBtn","useDate","useProxiedModel","vIntersect","computed","watchEffect","convertToUnit","createRange","genericComponent","propsFactory","templateRef","useRender","makeVDatePickerYearsProps","color","String","height","Number","min","max","modelValue","allowedYears","Array","Function","VDatePickerYears","name","props","directives","emits","year","setup","_ref","emit","slots","adapter","model","years","getYear","date","startOfYear","setYear","map","i","text","format","value","isDisabled","isYearAllowed","yearRef","focusSelectedYear","el","focus","scrollIntoView","block","isArray","length","includes","_withDirectives","_createElementVNode","btnProps","ref","undefined","active","rounded","disabled","variant","onClick","_createVNode","_mergeProps","handler","once"],"sources":["../../../src/components/VDatePicker/VDatePickerYears.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerYears.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { useDate } from '@/composables/date'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport vIntersect from '@/directives/intersect'\n\n// Utilities\nimport { computed, watchEffect } from 'vue'\nimport { convertToUnit, createRange, genericComponent, propsFactory, templateRef, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// Types\nexport type VDatePickerYearsSlots = {\n year: {\n year: {\n text: string\n value: number\n }\n i: number\n props: {\n active: boolean\n color?: string\n rounded: boolean\n text: string\n variant: 'flat' | 'text'\n onClick: () => void\n }\n }\n}\n\nexport const makeVDatePickerYearsProps = propsFactory({\n color: String,\n height: [String, Number],\n min: null as any as PropType<unknown>,\n max: null as any as PropType<unknown>,\n modelValue: Number,\n allowedYears: [Array, Function] as PropType<number[] | ((date: number) => boolean)>,\n}, 'VDatePickerYears')\n\nexport const VDatePickerYears = genericComponent<VDatePickerYearsSlots>()({\n name: 'VDatePickerYears',\n\n props: makeVDatePickerYearsProps(),\n\n directives: { vIntersect },\n\n emits: {\n 'update:modelValue': (year: number) => true,\n },\n\n setup (props, { emit, slots }) {\n const adapter = useDate()\n const model = useProxiedModel(props, 'modelValue')\n const years = computed(() => {\n const year = adapter.getYear(adapter.date())\n\n let min = year - 100\n let max = year + 52\n\n if (props.min) {\n min = adapter.getYear(adapter.date(props.min))\n }\n\n if (props.max) {\n max = adapter.getYear(adapter.date(props.max))\n }\n\n let date = adapter.startOfYear(adapter.date())\n\n date = adapter.setYear(date, min)\n\n return createRange(max - min + 1, min).map(i => {\n const text = adapter.format(date, 'year')\n date = adapter.setYear(date, adapter.getYear(date) + 1)\n\n return {\n text,\n value: i,\n isDisabled: !isYearAllowed(i),\n }\n })\n })\n\n watchEffect(() => {\n model.value = model.value ?? adapter.getYear(adapter.date())\n })\n\n const yearRef = templateRef()\n\n function focusSelectedYear () {\n yearRef.el?.focus()\n yearRef.el?.scrollIntoView({ block: 'center' })\n }\n\n function isYearAllowed (year: number) {\n if (Array.isArray(props.allowedYears) && props.allowedYears.length) {\n return props.allowedYears.includes(year)\n }\n\n if (typeof props.allowedYears === 'function') {\n return props.allowedYears(year)\n }\n\n return true\n }\n\n useRender(() => (\n <div\n class=\"v-date-picker-years\"\n v-intersect={[{\n handler: focusSelectedYear,\n }, null, ['once']]}\n style={{\n height: convertToUnit(props.height),\n }}\n >\n <div class=\"v-date-picker-years__content\">\n { years.value.map((year, i) => {\n const btnProps = {\n ref: model.value === year.value ? yearRef : undefined,\n active: model.value === year.value,\n color: model.value === year.value ? props.color : undefined,\n rounded: true,\n text: year.text,\n disabled: year.isDisabled,\n variant: model.value === year.value ? 'flat' : 'text',\n onClick: () => {\n if (model.value === year.value) {\n emit('update:modelValue', model.value)\n return\n }\n model.value = year.value\n },\n } as const\n\n return slots.year?.({\n year,\n i,\n props: btnProps,\n }) ?? (\n <VBtn\n key=\"month\"\n { ...btnProps }\n />\n )\n })}\n </div>\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VDatePickerYears = InstanceType<typeof VDatePickerYears>\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -164,7 +164,10 @@ export const VFileInput = genericComponent()({
|
|
|
164
164
|
modelValue: _,
|
|
165
165
|
...inputProps
|
|
166
166
|
} = VInput.filterProps(props);
|
|
167
|
-
const fieldProps =
|
|
167
|
+
const fieldProps = {
|
|
168
|
+
...VField.filterProps(props),
|
|
169
|
+
'onClick:clear': onClear
|
|
170
|
+
};
|
|
168
171
|
return _createVNode(VInput, _mergeProps({
|
|
169
172
|
"ref": vInputRef,
|
|
170
173
|
"modelValue": props.multiple ? model.value : model.value[0],
|
|
@@ -195,7 +198,6 @@ export const VFileInput = genericComponent()({
|
|
|
195
198
|
"prependIcon": props.prependIcon,
|
|
196
199
|
"onMousedown": onControlMousedown,
|
|
197
200
|
"onClick": onControlClick,
|
|
198
|
-
"onClick:clear": onClear,
|
|
199
201
|
"onClick:prependInner": props['onClick:prependInner'],
|
|
200
202
|
"onClick:appendInner": props['onClick:appendInner']
|
|
201
203
|
}, fieldProps, {
|