vuetify 3.3.19 → 3.3.21
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 +43 -31
- package/dist/json/importMap-labs.json +4 -4
- package/dist/json/importMap.json +4 -4
- package/dist/json/tags.json +3 -0
- package/dist/json/web-types.json +97 -70
- package/dist/vuetify-labs.css +5073 -5056
- package/dist/vuetify-labs.d.ts +240 -220
- package/dist/vuetify-labs.esm.js +101 -62
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +101 -62
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +5452 -5440
- package/dist/vuetify.d.ts +168 -166
- package/dist/vuetify.esm.js +56 -41
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +56 -41
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +775 -773
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/index.d.mts +2 -0
- package/lib/blueprints/md1.d.mts +2 -0
- package/lib/blueprints/md2.d.mts +2 -0
- package/lib/blueprints/md3.d.mts +2 -0
- package/lib/components/VAutocomplete/index.d.mts +14 -14
- package/lib/components/VCheckbox/index.d.mts +8 -8
- package/lib/components/VChip/VChip.css +67 -67
- package/lib/components/VChip/_variables.scss +1 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs +1 -0
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.mjs +1 -1
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.mts +14 -14
- package/lib/components/VField/VField.css +3 -0
- package/lib/components/VField/VField.sass +3 -0
- package/lib/components/VField/_variables.scss +1 -0
- package/lib/components/VFileInput/index.d.mts +20 -20
- package/lib/components/VInput/index.d.mts +8 -8
- package/lib/components/VList/VList.css +0 -3
- package/lib/components/VList/VList.sass +0 -4
- package/lib/components/VList/VListItem.css +9 -1
- package/lib/components/VList/VListItem.sass +12 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +8 -7
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VRadioGroup/index.d.mts +8 -8
- package/lib/components/VRangeSlider/index.d.mts +8 -8
- package/lib/components/VSelect/index.d.mts +14 -14
- package/lib/components/VSlider/VSliderThumb.css +2 -0
- package/lib/components/VSlider/VSliderThumb.mjs +7 -6
- package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
- package/lib/components/VSlider/VSliderThumb.sass +2 -0
- package/lib/components/VSlider/VSliderTrack.mjs +5 -7
- package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
- package/lib/components/VSlider/index.d.mts +8 -8
- package/lib/components/VSlider/slider.mjs +4 -10
- package/lib/components/VSlider/slider.mjs.map +1 -1
- package/lib/components/VSwitch/index.d.mts +8 -8
- package/lib/components/VTable/VTable.css +3 -0
- package/lib/components/VTable/VTable.sass +3 -0
- package/lib/components/VTextField/VTextField.mjs +1 -1
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/index.d.mts +26 -26
- package/lib/components/VTextarea/index.d.mts +20 -20
- package/lib/components/VTimeline/VTimeline.css +0 -1
- package/lib/components/VTimeline/VTimeline.sass +0 -1
- package/lib/components/VValidation/index.d.mts +8 -8
- package/lib/components/index.d.mts +164 -164
- package/lib/composables/forwardRefs.mjs +4 -4
- package/lib/composables/forwardRefs.mjs.map +1 -1
- package/lib/composables/validation.mjs +2 -2
- package/lib/composables/validation.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +4 -2
- package/lib/labs/VDataTable/VDataTableFooter.mjs +12 -4
- package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableVirtual.mjs +5 -5
- package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/select.mjs +6 -6
- package/lib/labs/VDataTable/composables/select.mjs.map +1 -1
- package/lib/labs/VDataTable/index.d.mts +48 -48
- package/lib/labs/VDateInput/index.d.mts +14 -14
- package/lib/labs/VDatePicker/VDatePickerMonth.mjs +14 -2
- package/lib/labs/VDatePicker/VDatePickerMonth.mjs.map +1 -1
- package/lib/labs/VDatePicker/index.d.mts +18 -0
- package/lib/labs/VDateRangePicker/index.d.mts +12 -0
- package/lib/labs/VOtpInput/VOtpInput.css +3 -2
- package/lib/labs/VOtpInput/VOtpInput.mjs +7 -4
- package/lib/labs/VOtpInput/VOtpInput.mjs.map +1 -1
- package/lib/labs/VOtpInput/VOtpInput.sass +9 -8
- package/lib/labs/VOtpInput/_variables.scss +9 -0
- package/lib/labs/VSkeletonLoader/VSkeletonLoader.css +4 -0
- package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs +2 -1
- package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
- package/lib/labs/VSkeletonLoader/VSkeletonLoader.sass +4 -0
- package/lib/labs/VSkeletonLoader/index.d.mts +8 -8
- package/lib/labs/components.d.mts +74 -56
- package/lib/labs/date/DateAdapter.mjs.map +1 -1
- package/lib/labs/date/adapters/vuetify.d.mts +4 -0
- package/lib/labs/date/adapters/vuetify.mjs +18 -1
- package/lib/labs/date/adapters/vuetify.mjs.map +1 -1
- package/lib/labs/date/date.mjs +1 -1
- package/lib/labs/date/date.mjs.map +1 -1
- package/lib/labs/date/index.d.mts +4 -0
- package/package.json +2 -2
|
@@ -1168,10 +1168,10 @@ declare const VDataTable: {
|
|
|
1168
1168
|
prevPageLabel?: string | undefined;
|
|
1169
1169
|
nextPageLabel?: string | undefined;
|
|
1170
1170
|
lastPageLabel?: string | undefined;
|
|
1171
|
-
itemsPerPageOptions?: readonly {
|
|
1171
|
+
itemsPerPageOptions?: readonly (number | {
|
|
1172
1172
|
title: string;
|
|
1173
1173
|
value: number;
|
|
1174
|
-
}[] | undefined;
|
|
1174
|
+
})[] | undefined;
|
|
1175
1175
|
showCurrentPage?: boolean | undefined;
|
|
1176
1176
|
sortAscIcon?: IconValue | undefined;
|
|
1177
1177
|
sortDescIcon?: IconValue | undefined;
|
|
@@ -1589,10 +1589,10 @@ declare const VDataTable: {
|
|
|
1589
1589
|
prevPageLabel: string;
|
|
1590
1590
|
nextPageLabel: string;
|
|
1591
1591
|
lastPageLabel: string;
|
|
1592
|
-
itemsPerPageOptions: readonly {
|
|
1592
|
+
itemsPerPageOptions: readonly (number | {
|
|
1593
1593
|
title: string;
|
|
1594
1594
|
value: number;
|
|
1595
|
-
}[];
|
|
1595
|
+
})[];
|
|
1596
1596
|
showCurrentPage: boolean;
|
|
1597
1597
|
sortAscIcon: IconValue;
|
|
1598
1598
|
sortDescIcon: IconValue;
|
|
@@ -1883,10 +1883,10 @@ declare const VDataTable: {
|
|
|
1883
1883
|
prevPageLabel: string;
|
|
1884
1884
|
nextPageLabel: string;
|
|
1885
1885
|
lastPageLabel: string;
|
|
1886
|
-
itemsPerPageOptions: readonly {
|
|
1886
|
+
itemsPerPageOptions: readonly (number | {
|
|
1887
1887
|
title: string;
|
|
1888
1888
|
value: number;
|
|
1889
|
-
}[];
|
|
1889
|
+
})[];
|
|
1890
1890
|
showCurrentPage: boolean;
|
|
1891
1891
|
sortAscIcon: IconValue;
|
|
1892
1892
|
sortDescIcon: IconValue;
|
|
@@ -2069,10 +2069,10 @@ declare const VDataTable: {
|
|
|
2069
2069
|
prevPageLabel: string;
|
|
2070
2070
|
nextPageLabel: string;
|
|
2071
2071
|
lastPageLabel: string;
|
|
2072
|
-
itemsPerPageOptions: readonly {
|
|
2072
|
+
itemsPerPageOptions: readonly (number | {
|
|
2073
2073
|
title: string;
|
|
2074
2074
|
value: number;
|
|
2075
|
-
}[];
|
|
2075
|
+
})[];
|
|
2076
2076
|
showCurrentPage: boolean;
|
|
2077
2077
|
sortAscIcon: IconValue;
|
|
2078
2078
|
sortDescIcon: IconValue;
|
|
@@ -2359,10 +2359,10 @@ declare const VDataTable: {
|
|
|
2359
2359
|
prevPageLabel: string;
|
|
2360
2360
|
nextPageLabel: string;
|
|
2361
2361
|
lastPageLabel: string;
|
|
2362
|
-
itemsPerPageOptions: readonly {
|
|
2362
|
+
itemsPerPageOptions: readonly (number | {
|
|
2363
2363
|
title: string;
|
|
2364
2364
|
value: number;
|
|
2365
|
-
}[];
|
|
2365
|
+
})[];
|
|
2366
2366
|
showCurrentPage: boolean;
|
|
2367
2367
|
sortAscIcon: IconValue;
|
|
2368
2368
|
sortDescIcon: IconValue;
|
|
@@ -2653,10 +2653,10 @@ declare const VDataTable: {
|
|
|
2653
2653
|
prevPageLabel: string;
|
|
2654
2654
|
nextPageLabel: string;
|
|
2655
2655
|
lastPageLabel: string;
|
|
2656
|
-
itemsPerPageOptions: readonly {
|
|
2656
|
+
itemsPerPageOptions: readonly (number | {
|
|
2657
2657
|
title: string;
|
|
2658
2658
|
value: number;
|
|
2659
|
-
}[];
|
|
2659
|
+
})[];
|
|
2660
2660
|
showCurrentPage: boolean;
|
|
2661
2661
|
sortAscIcon: IconValue;
|
|
2662
2662
|
sortDescIcon: IconValue;
|
|
@@ -2820,10 +2820,10 @@ declare const VDataTable: {
|
|
|
2820
2820
|
default: string;
|
|
2821
2821
|
};
|
|
2822
2822
|
itemsPerPageOptions: {
|
|
2823
|
-
type: vue.PropType<readonly {
|
|
2823
|
+
type: vue.PropType<readonly (number | {
|
|
2824
2824
|
title: string;
|
|
2825
2825
|
value: number;
|
|
2826
|
-
}[]>;
|
|
2826
|
+
})[]>;
|
|
2827
2827
|
default: () => {
|
|
2828
2828
|
value: number;
|
|
2829
2829
|
title: string;
|
|
@@ -2981,10 +2981,10 @@ declare const VDataTable: {
|
|
|
2981
2981
|
default: string;
|
|
2982
2982
|
};
|
|
2983
2983
|
itemsPerPageOptions: {
|
|
2984
|
-
type: vue.PropType<readonly {
|
|
2984
|
+
type: vue.PropType<readonly (number | {
|
|
2985
2985
|
title: string;
|
|
2986
2986
|
value: number;
|
|
2987
|
-
}[]>;
|
|
2987
|
+
})[]>;
|
|
2988
2988
|
default: () => {
|
|
2989
2989
|
value: number;
|
|
2990
2990
|
title: string;
|
|
@@ -3118,10 +3118,10 @@ declare const VDataTableFooter: {
|
|
|
3118
3118
|
prevPageLabel?: string | undefined;
|
|
3119
3119
|
nextPageLabel?: string | undefined;
|
|
3120
3120
|
lastPageLabel?: string | undefined;
|
|
3121
|
-
itemsPerPageOptions?: readonly {
|
|
3121
|
+
itemsPerPageOptions?: readonly (number | {
|
|
3122
3122
|
title: string;
|
|
3123
3123
|
value: number;
|
|
3124
|
-
}[] | undefined;
|
|
3124
|
+
})[] | undefined;
|
|
3125
3125
|
showCurrentPage?: boolean | undefined;
|
|
3126
3126
|
key?: string | number | symbol | undefined;
|
|
3127
3127
|
style?: unknown;
|
|
@@ -3201,10 +3201,10 @@ declare const VDataTableFooter: {
|
|
|
3201
3201
|
prevPageLabel: string;
|
|
3202
3202
|
nextPageLabel: string;
|
|
3203
3203
|
lastPageLabel: string;
|
|
3204
|
-
itemsPerPageOptions: readonly {
|
|
3204
|
+
itemsPerPageOptions: readonly (number | {
|
|
3205
3205
|
title: string;
|
|
3206
3206
|
value: number;
|
|
3207
|
-
}[];
|
|
3207
|
+
})[];
|
|
3208
3208
|
showCurrentPage: boolean;
|
|
3209
3209
|
} & {} & {
|
|
3210
3210
|
$children?: {} | vue.VNodeChild | {
|
|
@@ -3226,10 +3226,10 @@ declare const VDataTableFooter: {
|
|
|
3226
3226
|
prevPageLabel: string;
|
|
3227
3227
|
nextPageLabel: string;
|
|
3228
3228
|
lastPageLabel: string;
|
|
3229
|
-
itemsPerPageOptions: readonly {
|
|
3229
|
+
itemsPerPageOptions: readonly (number | {
|
|
3230
3230
|
title: string;
|
|
3231
3231
|
value: number;
|
|
3232
|
-
}[];
|
|
3232
|
+
})[];
|
|
3233
3233
|
showCurrentPage: boolean;
|
|
3234
3234
|
}, {}, string, vue.SlotsType<Partial<{
|
|
3235
3235
|
prepend: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
@@ -3266,10 +3266,10 @@ declare const VDataTableFooter: {
|
|
|
3266
3266
|
prevPageLabel: string;
|
|
3267
3267
|
nextPageLabel: string;
|
|
3268
3268
|
lastPageLabel: string;
|
|
3269
|
-
itemsPerPageOptions: readonly {
|
|
3269
|
+
itemsPerPageOptions: readonly (number | {
|
|
3270
3270
|
title: string;
|
|
3271
3271
|
value: number;
|
|
3272
|
-
}[];
|
|
3272
|
+
})[];
|
|
3273
3273
|
showCurrentPage: boolean;
|
|
3274
3274
|
} & {} & {
|
|
3275
3275
|
$children?: {} | vue.VNodeChild | {
|
|
@@ -3295,10 +3295,10 @@ declare const VDataTableFooter: {
|
|
|
3295
3295
|
prevPageLabel: string;
|
|
3296
3296
|
nextPageLabel: string;
|
|
3297
3297
|
lastPageLabel: string;
|
|
3298
|
-
itemsPerPageOptions: readonly {
|
|
3298
|
+
itemsPerPageOptions: readonly (number | {
|
|
3299
3299
|
title: string;
|
|
3300
3300
|
value: number;
|
|
3301
|
-
}[];
|
|
3301
|
+
})[];
|
|
3302
3302
|
showCurrentPage: boolean;
|
|
3303
3303
|
} & {} & {
|
|
3304
3304
|
$children?: {} | vue.VNodeChild | {
|
|
@@ -3320,10 +3320,10 @@ declare const VDataTableFooter: {
|
|
|
3320
3320
|
prevPageLabel: string;
|
|
3321
3321
|
nextPageLabel: string;
|
|
3322
3322
|
lastPageLabel: string;
|
|
3323
|
-
itemsPerPageOptions: readonly {
|
|
3323
|
+
itemsPerPageOptions: readonly (number | {
|
|
3324
3324
|
title: string;
|
|
3325
3325
|
value: number;
|
|
3326
|
-
}[];
|
|
3326
|
+
})[];
|
|
3327
3327
|
showCurrentPage: boolean;
|
|
3328
3328
|
}, {}, string, vue.SlotsType<Partial<{
|
|
3329
3329
|
prepend: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
@@ -3371,10 +3371,10 @@ declare const VDataTableFooter: {
|
|
|
3371
3371
|
default: string;
|
|
3372
3372
|
};
|
|
3373
3373
|
itemsPerPageOptions: {
|
|
3374
|
-
type: PropType<readonly {
|
|
3374
|
+
type: PropType<readonly (number | {
|
|
3375
3375
|
title: string;
|
|
3376
3376
|
value: number;
|
|
3377
|
-
}[]>;
|
|
3377
|
+
})[]>;
|
|
3378
3378
|
default: () => {
|
|
3379
3379
|
value: number;
|
|
3380
3380
|
title: string;
|
|
@@ -3423,10 +3423,10 @@ declare const VDataTableFooter: {
|
|
|
3423
3423
|
default: string;
|
|
3424
3424
|
};
|
|
3425
3425
|
itemsPerPageOptions: {
|
|
3426
|
-
type: PropType<readonly {
|
|
3426
|
+
type: PropType<readonly (number | {
|
|
3427
3427
|
title: string;
|
|
3428
3428
|
value: number;
|
|
3429
|
-
}[]>;
|
|
3429
|
+
})[]>;
|
|
3430
3430
|
default: () => {
|
|
3431
3431
|
value: number;
|
|
3432
3432
|
title: string;
|
|
@@ -5146,10 +5146,10 @@ declare const VDataTableServer: {
|
|
|
5146
5146
|
prevPageLabel?: string | undefined;
|
|
5147
5147
|
nextPageLabel?: string | undefined;
|
|
5148
5148
|
lastPageLabel?: string | undefined;
|
|
5149
|
-
itemsPerPageOptions?: readonly {
|
|
5149
|
+
itemsPerPageOptions?: readonly (number | {
|
|
5150
5150
|
title: string;
|
|
5151
5151
|
value: number;
|
|
5152
|
-
}[] | undefined;
|
|
5152
|
+
})[] | undefined;
|
|
5153
5153
|
showCurrentPage?: boolean | undefined;
|
|
5154
5154
|
sortAscIcon?: IconValue | undefined;
|
|
5155
5155
|
sortDescIcon?: IconValue | undefined;
|
|
@@ -5564,10 +5564,10 @@ declare const VDataTableServer: {
|
|
|
5564
5564
|
prevPageLabel: string;
|
|
5565
5565
|
nextPageLabel: string;
|
|
5566
5566
|
lastPageLabel: string;
|
|
5567
|
-
itemsPerPageOptions: readonly {
|
|
5567
|
+
itemsPerPageOptions: readonly (number | {
|
|
5568
5568
|
title: string;
|
|
5569
5569
|
value: number;
|
|
5570
|
-
}[];
|
|
5570
|
+
})[];
|
|
5571
5571
|
showCurrentPage: boolean;
|
|
5572
5572
|
sortAscIcon: IconValue;
|
|
5573
5573
|
sortDescIcon: IconValue;
|
|
@@ -5853,10 +5853,10 @@ declare const VDataTableServer: {
|
|
|
5853
5853
|
prevPageLabel: string;
|
|
5854
5854
|
nextPageLabel: string;
|
|
5855
5855
|
lastPageLabel: string;
|
|
5856
|
-
itemsPerPageOptions: readonly {
|
|
5856
|
+
itemsPerPageOptions: readonly (number | {
|
|
5857
5857
|
title: string;
|
|
5858
5858
|
value: number;
|
|
5859
|
-
}[];
|
|
5859
|
+
})[];
|
|
5860
5860
|
showCurrentPage: boolean;
|
|
5861
5861
|
sortAscIcon: IconValue;
|
|
5862
5862
|
sortDescIcon: IconValue;
|
|
@@ -6038,10 +6038,10 @@ declare const VDataTableServer: {
|
|
|
6038
6038
|
prevPageLabel: string;
|
|
6039
6039
|
nextPageLabel: string;
|
|
6040
6040
|
lastPageLabel: string;
|
|
6041
|
-
itemsPerPageOptions: readonly {
|
|
6041
|
+
itemsPerPageOptions: readonly (number | {
|
|
6042
6042
|
title: string;
|
|
6043
6043
|
value: number;
|
|
6044
|
-
}[];
|
|
6044
|
+
})[];
|
|
6045
6045
|
showCurrentPage: boolean;
|
|
6046
6046
|
sortAscIcon: IconValue;
|
|
6047
6047
|
sortDescIcon: IconValue;
|
|
@@ -6324,10 +6324,10 @@ declare const VDataTableServer: {
|
|
|
6324
6324
|
prevPageLabel: string;
|
|
6325
6325
|
nextPageLabel: string;
|
|
6326
6326
|
lastPageLabel: string;
|
|
6327
|
-
itemsPerPageOptions: readonly {
|
|
6327
|
+
itemsPerPageOptions: readonly (number | {
|
|
6328
6328
|
title: string;
|
|
6329
6329
|
value: number;
|
|
6330
|
-
}[];
|
|
6330
|
+
})[];
|
|
6331
6331
|
showCurrentPage: boolean;
|
|
6332
6332
|
sortAscIcon: IconValue;
|
|
6333
6333
|
sortDescIcon: IconValue;
|
|
@@ -6613,10 +6613,10 @@ declare const VDataTableServer: {
|
|
|
6613
6613
|
prevPageLabel: string;
|
|
6614
6614
|
nextPageLabel: string;
|
|
6615
6615
|
lastPageLabel: string;
|
|
6616
|
-
itemsPerPageOptions: readonly {
|
|
6616
|
+
itemsPerPageOptions: readonly (number | {
|
|
6617
6617
|
title: string;
|
|
6618
6618
|
value: number;
|
|
6619
|
-
}[];
|
|
6619
|
+
})[];
|
|
6620
6620
|
showCurrentPage: boolean;
|
|
6621
6621
|
sortAscIcon: IconValue;
|
|
6622
6622
|
sortDescIcon: IconValue;
|
|
@@ -6780,10 +6780,10 @@ declare const VDataTableServer: {
|
|
|
6780
6780
|
default: string;
|
|
6781
6781
|
};
|
|
6782
6782
|
itemsPerPageOptions: {
|
|
6783
|
-
type: vue.PropType<readonly {
|
|
6783
|
+
type: vue.PropType<readonly (number | {
|
|
6784
6784
|
title: string;
|
|
6785
6785
|
value: number;
|
|
6786
|
-
}[]>;
|
|
6786
|
+
})[]>;
|
|
6787
6787
|
default: () => {
|
|
6788
6788
|
value: number;
|
|
6789
6789
|
title: string;
|
|
@@ -6937,10 +6937,10 @@ declare const VDataTableServer: {
|
|
|
6937
6937
|
default: string;
|
|
6938
6938
|
};
|
|
6939
6939
|
itemsPerPageOptions: {
|
|
6940
|
-
type: vue.PropType<readonly {
|
|
6940
|
+
type: vue.PropType<readonly (number | {
|
|
6941
6941
|
title: string;
|
|
6942
6942
|
value: number;
|
|
6943
|
-
}[]>;
|
|
6943
|
+
})[]>;
|
|
6944
6944
|
default: () => {
|
|
6945
6945
|
value: number;
|
|
6946
6946
|
title: string;
|
|
@@ -77,7 +77,7 @@ declare const VDateInput: {
|
|
|
77
77
|
clearIcon?: IconValue | undefined;
|
|
78
78
|
appendInnerIcon?: NonNullable<IconValue> | undefined;
|
|
79
79
|
focused?: boolean | undefined;
|
|
80
|
-
errorMessages?: string | readonly string[] | undefined;
|
|
80
|
+
errorMessages?: string | readonly string[] | null | undefined;
|
|
81
81
|
maxErrors?: string | number | undefined;
|
|
82
82
|
rules?: readonly ValidationRule[] | undefined;
|
|
83
83
|
centerAffix?: boolean | undefined;
|
|
@@ -122,7 +122,7 @@ declare const VDateInput: {
|
|
|
122
122
|
ref_key?: string | undefined;
|
|
123
123
|
theme?: string | undefined;
|
|
124
124
|
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
|
125
|
-
counter?: string | number |
|
|
125
|
+
counter?: string | number | boolean | undefined;
|
|
126
126
|
'v-slots'?: {
|
|
127
127
|
message?: false | ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
|
|
128
128
|
clear?: false | (() => vue.VNodeChild) | undefined;
|
|
@@ -281,7 +281,7 @@ declare const VDateInput: {
|
|
|
281
281
|
clearIcon: IconValue;
|
|
282
282
|
appendInnerIcon: NonNullable<IconValue>;
|
|
283
283
|
focused: boolean;
|
|
284
|
-
errorMessages: string | readonly string[];
|
|
284
|
+
errorMessages: string | readonly string[] | null;
|
|
285
285
|
maxErrors: string | number;
|
|
286
286
|
rules: readonly ValidationRule[];
|
|
287
287
|
persistentHint: boolean;
|
|
@@ -305,7 +305,7 @@ declare const VDateInput: {
|
|
|
305
305
|
class?: any;
|
|
306
306
|
format?: string | undefined;
|
|
307
307
|
theme?: string | undefined;
|
|
308
|
-
counter?: string | number |
|
|
308
|
+
counter?: string | number | boolean | undefined;
|
|
309
309
|
rounded?: string | number | boolean | undefined;
|
|
310
310
|
modelValue?: any;
|
|
311
311
|
bgColor?: string | undefined;
|
|
@@ -407,7 +407,7 @@ declare const VDateInput: {
|
|
|
407
407
|
clearIcon: IconValue;
|
|
408
408
|
appendInnerIcon: NonNullable<IconValue>;
|
|
409
409
|
focused: boolean;
|
|
410
|
-
errorMessages: string | readonly string[];
|
|
410
|
+
errorMessages: string | readonly string[] | null;
|
|
411
411
|
maxErrors: string | number;
|
|
412
412
|
rules: readonly ValidationRule[];
|
|
413
413
|
centerAffix: boolean;
|
|
@@ -497,7 +497,7 @@ declare const VDateInput: {
|
|
|
497
497
|
clearIcon: IconValue;
|
|
498
498
|
appendInnerIcon: NonNullable<IconValue>;
|
|
499
499
|
focused: boolean;
|
|
500
|
-
errorMessages: string | readonly string[];
|
|
500
|
+
errorMessages: string | readonly string[] | null;
|
|
501
501
|
maxErrors: string | number;
|
|
502
502
|
rules: readonly ValidationRule[];
|
|
503
503
|
persistentHint: boolean;
|
|
@@ -521,7 +521,7 @@ declare const VDateInput: {
|
|
|
521
521
|
class?: any;
|
|
522
522
|
format?: string | undefined;
|
|
523
523
|
theme?: string | undefined;
|
|
524
|
-
counter?: string | number |
|
|
524
|
+
counter?: string | number | boolean | undefined;
|
|
525
525
|
rounded?: string | number | boolean | undefined;
|
|
526
526
|
modelValue?: any;
|
|
527
527
|
bgColor?: string | undefined;
|
|
@@ -620,7 +620,7 @@ declare const VDateInput: {
|
|
|
620
620
|
clearIcon: IconValue;
|
|
621
621
|
appendInnerIcon: NonNullable<IconValue>;
|
|
622
622
|
focused: boolean;
|
|
623
|
-
errorMessages: string | readonly string[];
|
|
623
|
+
errorMessages: string | readonly string[] | null;
|
|
624
624
|
maxErrors: string | number;
|
|
625
625
|
rules: readonly ValidationRule[];
|
|
626
626
|
persistentHint: boolean;
|
|
@@ -644,7 +644,7 @@ declare const VDateInput: {
|
|
|
644
644
|
class?: any;
|
|
645
645
|
format?: string | undefined;
|
|
646
646
|
theme?: string | undefined;
|
|
647
|
-
counter?: string | number |
|
|
647
|
+
counter?: string | number | boolean | undefined;
|
|
648
648
|
rounded?: string | number | boolean | undefined;
|
|
649
649
|
modelValue?: any;
|
|
650
650
|
bgColor?: string | undefined;
|
|
@@ -746,7 +746,7 @@ declare const VDateInput: {
|
|
|
746
746
|
clearIcon: IconValue;
|
|
747
747
|
appendInnerIcon: NonNullable<IconValue>;
|
|
748
748
|
focused: boolean;
|
|
749
|
-
errorMessages: string | readonly string[];
|
|
749
|
+
errorMessages: string | readonly string[] | null;
|
|
750
750
|
maxErrors: string | number;
|
|
751
751
|
rules: readonly ValidationRule[];
|
|
752
752
|
centerAffix: boolean;
|
|
@@ -852,7 +852,7 @@ declare const VDateInput: {
|
|
|
852
852
|
focused: BooleanConstructor;
|
|
853
853
|
'onUpdate:focused': vue.PropType<EventProp<[boolean], (args_0: boolean) => any>>;
|
|
854
854
|
errorMessages: {
|
|
855
|
-
type: vue.PropType<string | readonly string[]>;
|
|
855
|
+
type: vue.PropType<string | readonly string[] | null>;
|
|
856
856
|
default: () => never[];
|
|
857
857
|
};
|
|
858
858
|
maxErrors: {
|
|
@@ -894,7 +894,7 @@ declare const VDateInput: {
|
|
|
894
894
|
'onClick:prepend': vue.PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
895
895
|
'onClick:append': vue.PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
896
896
|
autofocus: BooleanConstructor;
|
|
897
|
-
counter:
|
|
897
|
+
counter: (StringConstructor | BooleanConstructor | NumberConstructor)[];
|
|
898
898
|
counterValue: vue.PropType<number | ((value: any) => number)>;
|
|
899
899
|
prefix: StringConstructor;
|
|
900
900
|
placeholder: {
|
|
@@ -979,7 +979,7 @@ declare const VDateInput: {
|
|
|
979
979
|
focused: BooleanConstructor;
|
|
980
980
|
'onUpdate:focused': vue.PropType<EventProp<[boolean], (args_0: boolean) => any>>;
|
|
981
981
|
errorMessages: {
|
|
982
|
-
type: vue.PropType<string | readonly string[]>;
|
|
982
|
+
type: vue.PropType<string | readonly string[] | null>;
|
|
983
983
|
default: () => never[];
|
|
984
984
|
};
|
|
985
985
|
maxErrors: {
|
|
@@ -1021,7 +1021,7 @@ declare const VDateInput: {
|
|
|
1021
1021
|
'onClick:prepend': vue.PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
1022
1022
|
'onClick:append': vue.PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
1023
1023
|
autofocus: BooleanConstructor;
|
|
1024
|
-
counter:
|
|
1024
|
+
counter: (StringConstructor | BooleanConstructor | NumberConstructor)[];
|
|
1025
1025
|
counterValue: vue.PropType<number | ((value: any) => number)>;
|
|
1026
1026
|
prefix: StringConstructor;
|
|
1027
1027
|
placeholder: {
|
|
@@ -12,6 +12,7 @@ import { getWeek, toIso } from "../date/date.mjs";
|
|
|
12
12
|
import { dateEmits, makeDateProps } from "../VDateInput/composables.mjs";
|
|
13
13
|
import { useDate } from "../date/index.mjs";
|
|
14
14
|
export const makeVDatePickerMonthProps = propsFactory({
|
|
15
|
+
allowedDates: [Array, Function],
|
|
15
16
|
color: String,
|
|
16
17
|
showAdjacentMonths: Boolean,
|
|
17
18
|
hideWeekdays: Boolean,
|
|
@@ -98,7 +99,6 @@ export const VDatePickerMonth = genericComponent()({
|
|
|
98
99
|
const startDate = validDates[0];
|
|
99
100
|
const endDate = validDates[1];
|
|
100
101
|
return days.map((date, index) => {
|
|
101
|
-
const isDisabled = !!(props.min && adapter.isAfter(props.min, date) || props.max && adapter.isAfter(date, props.max));
|
|
102
102
|
const isStart = startDate && adapter.isSameDay(date, startDate);
|
|
103
103
|
const isEnd = endDate && adapter.isSameDay(date, endDate);
|
|
104
104
|
const isAdjacent = !adapter.isSameMonth(date, month.value);
|
|
@@ -109,7 +109,7 @@ export const VDatePickerMonth = genericComponent()({
|
|
|
109
109
|
formatted: adapter.format(date, 'keyboardDate'),
|
|
110
110
|
year: adapter.getYear(date),
|
|
111
111
|
month: adapter.getMonth(date),
|
|
112
|
-
isDisabled,
|
|
112
|
+
isDisabled: isDisabled(date),
|
|
113
113
|
isWeekStart: index % 7 === 0,
|
|
114
114
|
isWeekEnd: index % 7 === 6,
|
|
115
115
|
isSelected: isStart || isEnd,
|
|
@@ -136,6 +136,18 @@ export const VDatePickerMonth = genericComponent()({
|
|
|
136
136
|
backgroundColorClasses,
|
|
137
137
|
backgroundColorStyles
|
|
138
138
|
} = useBackgroundColor(props, 'color');
|
|
139
|
+
function isDisabled(value) {
|
|
140
|
+
const date = adapter.date(value);
|
|
141
|
+
if (props.min && adapter.isAfter(props.min, date)) return true;
|
|
142
|
+
if (props.max && adapter.isAfter(date, props.max)) return true;
|
|
143
|
+
if (Array.isArray(props.allowedDates)) {
|
|
144
|
+
return !props.allowedDates.some(d => adapter.isSameDay(adapter.date(d), date));
|
|
145
|
+
}
|
|
146
|
+
if (typeof props.allowedDates === 'function') {
|
|
147
|
+
return !props.allowedDates(date);
|
|
148
|
+
}
|
|
149
|
+
return false;
|
|
150
|
+
}
|
|
139
151
|
function selectDate(date) {
|
|
140
152
|
let newModel = props.modelValue.slice();
|
|
141
153
|
if (props.multiple) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VDatePickerMonth.mjs","names":["VBtn","useDatePicker","useBackgroundColor","computed","ref","genericComponent","omit","propsFactory","getWeek","toIso","dateEmits","makeDateProps","useDate","makeVDatePickerMonthProps","color","String","showAdjacentMonths","Boolean","hideWeekdays","showWeek","hoverDate","multiple","side","type","min","Number","Date","max","VDatePickerMonth","name","props","emits","date","setup","_ref","emit","slots","adapter","isDragging","dragHandle","hasScrolled","month","displayDate","findClosestDate","dates","isSameDay","getDiff","startDate","endDate","distStart","Math","abs","distEnd","weeksInMonth","weeks","getWeekArray","value","days","flat","daysInMonth","length","lastDay","week","day","push","addDays","validDates","modelValue","filter","v","isRange","today","map","index","isDisabled","isAfter","isStart","isEnd","isAdjacent","isSameMonth","isSame","isoDate","formatted","format","year","getYear","getMonth","isWeekStart","isWeekEnd","isSelected","isToday","isHidden","inRange","isWithinRange","isHovered","inHover","localized","backgroundColorClasses","backgroundColorStyles","selectDate","newModel","slice","otherIndex","fn","find","d","closest","indexOf","undefined","i","isBefore","daysRef","findElement","el","dataset","vDate","parentElement","findDate","e","x","changedTouches","clientX","y","clientY","document","elementFromPoint","canDrag","handleMousedown","selected","modelIndex","findIndex","isEqual","window","addEventListener","handleTouchmove","passive","preventDefault","handleTouchend","over","cancelable","removeEventListener","end","_createVNode","_createTextVNode","getWeekdays","weekDay","item","variant","default"],"sources":["../../../src/labs/VDatePicker/VDatePickerMonth.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerMonth.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { useDatePicker } from './composables'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { genericComponent, omit, propsFactory } from '@/util'\n\n// Types\nimport { getWeek, toIso } from '../date/date'\nimport { dateEmits, makeDateProps } from '../VDateInput/composables'\nimport { useDate } from '@/labs/date'\n\nexport const makeVDatePickerMonthProps = propsFactory({\n color: String,\n showAdjacentMonths: Boolean,\n hideWeekdays: Boolean,\n showWeek: Boolean,\n hoverDate: null,\n multiple: Boolean,\n side: {\n type: String,\n },\n min: [Number, String, Date],\n max: [Number, String, Date],\n\n ...omit(makeDateProps(), ['inputMode', 'viewMode']),\n}, 'VDatePickerMonth')\n\nexport const VDatePickerMonth = genericComponent()({\n name: 'VDatePickerMonth',\n\n props: makeVDatePickerMonthProps({ color: 'surface-variant' }),\n\n emits: {\n ...omit(dateEmits, ['update:inputMode', 'update:viewMode']),\n 'update:hoverDate': (date: any) => true,\n },\n\n setup (props, { emit, slots }) {\n const adapter = useDate()\n const { isDragging, dragHandle, hasScrolled } = useDatePicker()\n\n const month = computed(() => props.displayDate)\n\n const findClosestDate = (date: any, dates: any[]) => {\n const { isSameDay, getDiff } = adapter\n const [startDate, endDate] = dates\n\n if (isSameDay(startDate, endDate)) {\n return getDiff(date, startDate, 'days') > 0 ? endDate : startDate\n }\n\n const distStart = Math.abs(getDiff(date, startDate))\n const distEnd = Math.abs(getDiff(date, endDate))\n\n return distStart < distEnd ? startDate : endDate\n }\n\n // const hoverRange = computed<[any, any] | null>(() => {\n // if (!props.hoverDate) return null\n\n // const closestDate = findClosestDate(props.hoverDate, props.modelValue)\n\n // if (!closestDate) return null\n\n // return adapter.isAfter(props.hoverDate, closestDate) ? [closestDate, props.hoverDate] : [props.hoverDate, closestDate]\n // })\n\n const weeksInMonth = computed(() => {\n const weeks = adapter.getWeekArray(month.value)\n\n const days = weeks.flat()\n\n // Make sure there's always 6 weeks in month (6 * 7 days)\n // But only do it if we're not hiding adjacent months?\n const daysInMonth = 6 * 7\n if (days.length < daysInMonth && props.showAdjacentMonths) {\n const lastDay = days[days.length - 1]\n\n let week = []\n for (let day = 1; day <= daysInMonth - days.length; day++) {\n week.push(adapter.addDays(lastDay, day))\n\n if (day % 7 === 0) {\n weeks.push(week)\n week = []\n }\n }\n }\n\n return weeks\n })\n\n const daysInMonth = computed(() => {\n const validDates = props.modelValue.filter(v => !!v)\n const isRange = validDates.length > 1\n\n const days = weeksInMonth.value.flat()\n const today = adapter.date()\n\n const startDate = validDates[0]\n const endDate = validDates[1]\n\n return days.map((date, index) => {\n const isDisabled = !!(\n (props.min && adapter.isAfter(props.min, date)) ||\n (props.max && adapter.isAfter(date, props.max))\n )\n const isStart = startDate && adapter.isSameDay(date, startDate)\n const isEnd = endDate && adapter.isSameDay(date, endDate)\n const isAdjacent = !adapter.isSameMonth(date, month.value)\n const isSame = validDates.length === 2 && adapter.isSameDay(startDate, endDate)\n\n return {\n date,\n isoDate: toIso(adapter, date),\n formatted: adapter.format(date, 'keyboardDate'),\n year: adapter.getYear(date),\n month: adapter.getMonth(date),\n isDisabled,\n isWeekStart: index % 7 === 0,\n isWeekEnd: index % 7 === 6,\n isSelected: isStart || isEnd,\n isStart,\n isEnd,\n isToday: adapter.isSameDay(date, today),\n isAdjacent,\n isHidden: isAdjacent && !props.showAdjacentMonths,\n inRange: isRange &&\n !isSame &&\n (isStart || isEnd || (validDates.length === 2 && adapter.isWithinRange(date, validDates as [any, any]))),\n // isHovered: props.hoverDate === date,\n // inHover: hoverRange.value && isWithinRange(date, hoverRange.value),\n isHovered: false,\n inHover: false,\n localized: adapter.format(date, 'dayOfMonth'),\n }\n })\n })\n\n const weeks = computed(() => {\n return weeksInMonth.value.map(week => {\n return getWeek(adapter, week[0])\n })\n })\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'color')\n\n function selectDate (date: any) {\n let newModel = props.modelValue.slice()\n\n if (props.multiple) {\n if (isDragging.value && dragHandle.value != null) {\n const otherIndex = (dragHandle.value + 1) % 2\n const fn = otherIndex === 0 ? 'isBefore' : 'isAfter'\n if (adapter[fn](date, newModel[otherIndex])) {\n newModel[dragHandle.value] = newModel[otherIndex]\n newModel[otherIndex] = date\n dragHandle.value = otherIndex\n } else {\n newModel[dragHandle.value] = date\n }\n } else {\n if (newModel.find(d => adapter.isSameDay(d, date))) {\n newModel = newModel.filter(v => !adapter.isSameDay(v, date))\n } else if (newModel.length === 2) {\n let index: number | undefined\n if (!props.side || adapter.isSameMonth(newModel[0], newModel[1])) {\n const closest = findClosestDate(date, newModel)\n index = newModel.indexOf(closest)\n } else {\n index = props.side === 'start' ? 0 : props.side === 'end' ? 1 : undefined\n }\n\n newModel = newModel.map((v, i) => i === index ? date : v)\n } else {\n if (newModel[0] && adapter.isBefore(newModel[0], date)) {\n newModel = [newModel[0], date]\n } else {\n newModel = [date, newModel[0]]\n }\n }\n }\n } else {\n newModel = [date]\n }\n\n emit('update:modelValue', newModel.filter(v => !!v))\n }\n\n const daysRef = ref()\n\n function findElement (el: HTMLElement | null): any {\n if (!el || el === daysRef.value) return null\n\n if ('vDate' in el.dataset) {\n return adapter.date(el.dataset.vDate)\n }\n\n return findElement(el.parentElement)\n }\n\n function findDate (e: MouseEvent | TouchEvent) {\n const x = 'changedTouches' in e ? e.changedTouches[0]?.clientX : e.clientX\n const y = 'changedTouches' in e ? e.changedTouches[0]?.clientY : e.clientY\n const el = document.elementFromPoint(x, y) as HTMLElement\n\n return findElement(el)\n }\n\n let canDrag = false\n function handleMousedown (e: MouseEvent | TouchEvent) {\n hasScrolled.value = false\n\n const selected = findDate(e)\n\n if (!selected) return\n\n const modelIndex = props.modelValue.findIndex(d => adapter.isEqual(d, selected))\n\n if (modelIndex >= 0) {\n canDrag = true\n dragHandle.value = modelIndex\n\n window.addEventListener('touchmove', handleTouchmove, { passive: false })\n window.addEventListener('mousemove', handleTouchmove, { passive: false })\n\n e.preventDefault()\n }\n\n window.addEventListener('touchend', handleTouchend, { passive: false })\n window.addEventListener('mouseup', handleTouchend, { passive: false })\n }\n\n function handleTouchmove (e: MouseEvent | TouchEvent) {\n if (!canDrag) return\n\n e.preventDefault()\n\n isDragging.value = true\n\n const over = findDate(e)\n\n if (!over) return\n\n selectDate(over)\n }\n\n function handleTouchend (e: MouseEvent | TouchEvent) {\n if (e.cancelable) e.preventDefault()\n\n window.removeEventListener('touchmove', handleTouchmove)\n window.removeEventListener('mousemove', handleTouchmove)\n window.removeEventListener('touchend', handleTouchend)\n window.removeEventListener('mouseup', handleTouchend)\n\n const end = findDate(e)\n\n if (!end) return\n\n if (!hasScrolled.value) {\n selectDate(end)\n }\n\n isDragging.value = false\n dragHandle.value = null\n canDrag = false\n }\n\n return () => (\n <div class=\"v-date-picker-month\">\n { props.showWeek && (\n <div key=\"weeks\" class=\"v-date-picker-month__weeks\">\n { !props.hideWeekdays && (\n <div key=\"hide-week-days\" class=\"v-date-picker-month__day\"> </div>\n )}\n { weeks.value.map(week => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__day--adjacent',\n ]}\n >{ week }</div>\n ))}\n </div>\n )}\n\n <div\n ref={ daysRef }\n class=\"v-date-picker-month__days\"\n onMousedown={ handleMousedown }\n onTouchstart={ handleMousedown }\n >\n { !props.hideWeekdays && adapter.getWeekdays().map(weekDay => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__weekday',\n ]}\n >{ weekDay }</div>\n ))}\n\n { daysInMonth.value.map((item, index) => {\n const color = (item.isSelected || item.isToday)\n ? props.color\n : (item.isHovered || item.isDisabled)\n ? undefined\n : 'transparent'\n const variant = item.isDisabled\n ? 'text'\n : (item.isToday || item.isHovered) && !item.isSelected\n ? 'outlined'\n : 'flat'\n\n return (\n <div\n class={[\n 'v-date-picker-month__day',\n {\n 'v-date-picker-month__day--selected': item.isSelected,\n 'v-date-picker-month__day--start': item.isStart,\n 'v-date-picker-month__day--end': item.isEnd,\n 'v-date-picker-month__day--adjacent': item.isAdjacent,\n 'v-date-picker-month__day--hide-adjacent': item.isHidden,\n 'v-date-picker-month__day--week-start': item.isWeekStart,\n 'v-date-picker-month__day--week-end': item.isWeekEnd,\n 'v-date-picker-month__day--hovered': item.isHovered,\n },\n ]}\n data-v-date={ !item.isHidden && !item.isDisabled ? item.isoDate : undefined }\n >\n { item.inRange && (\n <div\n key=\"in-range\"\n class={[\n 'v-date-picker-month__day--range',\n backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n />\n )}\n\n { item.inHover && !item.isStart && !item.isEnd && !item.isHovered && !item.inRange && (\n <div\n key=\"in-hover\"\n class=\"v-date-picker-month__day--hover\"\n />\n )}\n\n { (props.showAdjacentMonths || !item.isAdjacent) && (\n <VBtn\n color={ (!item.isToday || item.isSelected) ? color : undefined }\n disabled={ item.isDisabled }\n icon\n ripple={ false } /* ripple not working correctly since we preventDefault in touchend */\n variant={ variant }\n >\n { item.localized }\n </VBtn>\n )}\n </div>\n )\n })}\n </div>\n </div>\n )\n },\n})\n\nexport type VDatePickerMonth = InstanceType<typeof VDatePickerMonth>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VDatePickerMonth.mjs","names":["VBtn","useDatePicker","useBackgroundColor","computed","ref","genericComponent","omit","propsFactory","getWeek","toIso","dateEmits","makeDateProps","useDate","makeVDatePickerMonthProps","allowedDates","Array","Function","color","String","showAdjacentMonths","Boolean","hideWeekdays","showWeek","hoverDate","multiple","side","type","min","Number","Date","max","VDatePickerMonth","name","props","emits","date","setup","_ref","emit","slots","adapter","isDragging","dragHandle","hasScrolled","month","displayDate","findClosestDate","dates","isSameDay","getDiff","startDate","endDate","distStart","Math","abs","distEnd","weeksInMonth","weeks","getWeekArray","value","days","flat","daysInMonth","length","lastDay","week","day","push","addDays","validDates","modelValue","filter","v","isRange","today","map","index","isStart","isEnd","isAdjacent","isSameMonth","isSame","isoDate","formatted","format","year","getYear","getMonth","isDisabled","isWeekStart","isWeekEnd","isSelected","isToday","isHidden","inRange","isWithinRange","isHovered","inHover","localized","backgroundColorClasses","backgroundColorStyles","isAfter","isArray","some","d","selectDate","newModel","slice","otherIndex","fn","find","closest","indexOf","undefined","i","isBefore","daysRef","findElement","el","dataset","vDate","parentElement","findDate","e","x","changedTouches","clientX","y","clientY","document","elementFromPoint","canDrag","handleMousedown","selected","modelIndex","findIndex","isEqual","window","addEventListener","handleTouchmove","passive","preventDefault","handleTouchend","over","cancelable","removeEventListener","end","_createVNode","_createTextVNode","getWeekdays","weekDay","item","variant","default"],"sources":["../../../src/labs/VDatePicker/VDatePickerMonth.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerMonth.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { useDatePicker } from './composables'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { genericComponent, omit, propsFactory } from '@/util'\n\n// Types\nimport { getWeek, toIso } from '../date/date'\nimport { dateEmits, makeDateProps } from '../VDateInput/composables'\nimport { useDate } from '@/labs/date'\n\nexport const makeVDatePickerMonthProps = propsFactory({\n allowedDates: [Array, Function],\n color: String,\n showAdjacentMonths: Boolean,\n hideWeekdays: Boolean,\n showWeek: Boolean,\n hoverDate: null,\n multiple: Boolean,\n side: {\n type: String,\n },\n min: [Number, String, Date],\n max: [Number, String, Date],\n\n ...omit(makeDateProps(), ['inputMode', 'viewMode']),\n}, 'VDatePickerMonth')\n\nexport const VDatePickerMonth = genericComponent()({\n name: 'VDatePickerMonth',\n\n props: makeVDatePickerMonthProps({ color: 'surface-variant' }),\n\n emits: {\n ...omit(dateEmits, ['update:inputMode', 'update:viewMode']),\n 'update:hoverDate': (date: any) => true,\n },\n\n setup (props, { emit, slots }) {\n const adapter = useDate()\n const { isDragging, dragHandle, hasScrolled } = useDatePicker()\n\n const month = computed(() => props.displayDate)\n\n const findClosestDate = (date: any, dates: any[]) => {\n const { isSameDay, getDiff } = adapter\n const [startDate, endDate] = dates\n\n if (isSameDay(startDate, endDate)) {\n return getDiff(date, startDate, 'days') > 0 ? endDate : startDate\n }\n\n const distStart = Math.abs(getDiff(date, startDate))\n const distEnd = Math.abs(getDiff(date, endDate))\n\n return distStart < distEnd ? startDate : endDate\n }\n\n // const hoverRange = computed<[any, any] | null>(() => {\n // if (!props.hoverDate) return null\n\n // const closestDate = findClosestDate(props.hoverDate, props.modelValue)\n\n // if (!closestDate) return null\n\n // return adapter.isAfter(props.hoverDate, closestDate) ? [closestDate, props.hoverDate] : [props.hoverDate, closestDate]\n // })\n\n const weeksInMonth = computed(() => {\n const weeks = adapter.getWeekArray(month.value)\n\n const days = weeks.flat()\n\n // Make sure there's always 6 weeks in month (6 * 7 days)\n // But only do it if we're not hiding adjacent months?\n const daysInMonth = 6 * 7\n if (days.length < daysInMonth && props.showAdjacentMonths) {\n const lastDay = days[days.length - 1]\n\n let week = []\n for (let day = 1; day <= daysInMonth - days.length; day++) {\n week.push(adapter.addDays(lastDay, day))\n\n if (day % 7 === 0) {\n weeks.push(week)\n week = []\n }\n }\n }\n\n return weeks\n })\n\n const daysInMonth = computed(() => {\n const validDates = props.modelValue.filter(v => !!v)\n const isRange = validDates.length > 1\n\n const days = weeksInMonth.value.flat()\n const today = adapter.date()\n\n const startDate = validDates[0]\n const endDate = validDates[1]\n\n return days.map((date, index) => {\n const isStart = startDate && adapter.isSameDay(date, startDate)\n const isEnd = endDate && adapter.isSameDay(date, endDate)\n const isAdjacent = !adapter.isSameMonth(date, month.value)\n const isSame = validDates.length === 2 && adapter.isSameDay(startDate, endDate)\n\n return {\n date,\n isoDate: toIso(adapter, date),\n formatted: adapter.format(date, 'keyboardDate'),\n year: adapter.getYear(date),\n month: adapter.getMonth(date),\n isDisabled: isDisabled(date),\n isWeekStart: index % 7 === 0,\n isWeekEnd: index % 7 === 6,\n isSelected: isStart || isEnd,\n isStart,\n isEnd,\n isToday: adapter.isSameDay(date, today),\n isAdjacent,\n isHidden: isAdjacent && !props.showAdjacentMonths,\n inRange: isRange &&\n !isSame &&\n (isStart || isEnd || (validDates.length === 2 && adapter.isWithinRange(date, validDates as [any, any]))),\n // isHovered: props.hoverDate === date,\n // inHover: hoverRange.value && isWithinRange(date, hoverRange.value),\n isHovered: false,\n inHover: false,\n localized: adapter.format(date, 'dayOfMonth'),\n }\n })\n })\n\n const weeks = computed(() => {\n return weeksInMonth.value.map(week => {\n return getWeek(adapter, week[0])\n })\n })\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'color')\n\n function isDisabled (value: any) {\n const date = adapter.date(value)\n\n if (props.min && adapter.isAfter(props.min, date)) return true\n if (props.max && adapter.isAfter(date, props.max)) return true\n\n if (Array.isArray(props.allowedDates)) {\n return !props.allowedDates.some(d => adapter.isSameDay(adapter.date(d), date))\n }\n\n if (typeof props.allowedDates === 'function') {\n return !props.allowedDates(date)\n }\n\n return false\n }\n\n function selectDate (date: any) {\n let newModel = props.modelValue.slice()\n\n if (props.multiple) {\n if (isDragging.value && dragHandle.value != null) {\n const otherIndex = (dragHandle.value + 1) % 2\n const fn = otherIndex === 0 ? 'isBefore' : 'isAfter'\n if (adapter[fn](date, newModel[otherIndex])) {\n newModel[dragHandle.value] = newModel[otherIndex]\n newModel[otherIndex] = date\n dragHandle.value = otherIndex\n } else {\n newModel[dragHandle.value] = date\n }\n } else {\n if (newModel.find(d => adapter.isSameDay(d, date))) {\n newModel = newModel.filter(v => !adapter.isSameDay(v, date))\n } else if (newModel.length === 2) {\n let index: number | undefined\n if (!props.side || adapter.isSameMonth(newModel[0], newModel[1])) {\n const closest = findClosestDate(date, newModel)\n index = newModel.indexOf(closest)\n } else {\n index = props.side === 'start' ? 0 : props.side === 'end' ? 1 : undefined\n }\n\n newModel = newModel.map((v, i) => i === index ? date : v)\n } else {\n if (newModel[0] && adapter.isBefore(newModel[0], date)) {\n newModel = [newModel[0], date]\n } else {\n newModel = [date, newModel[0]]\n }\n }\n }\n } else {\n newModel = [date]\n }\n\n emit('update:modelValue', newModel.filter(v => !!v))\n }\n\n const daysRef = ref()\n\n function findElement (el: HTMLElement | null): any {\n if (!el || el === daysRef.value) return null\n\n if ('vDate' in el.dataset) {\n return adapter.date(el.dataset.vDate)\n }\n\n return findElement(el.parentElement)\n }\n\n function findDate (e: MouseEvent | TouchEvent) {\n const x = 'changedTouches' in e ? e.changedTouches[0]?.clientX : e.clientX\n const y = 'changedTouches' in e ? e.changedTouches[0]?.clientY : e.clientY\n const el = document.elementFromPoint(x, y) as HTMLElement\n\n return findElement(el)\n }\n\n let canDrag = false\n function handleMousedown (e: MouseEvent | TouchEvent) {\n hasScrolled.value = false\n\n const selected = findDate(e)\n\n if (!selected) return\n\n const modelIndex = props.modelValue.findIndex(d => adapter.isEqual(d, selected))\n\n if (modelIndex >= 0) {\n canDrag = true\n dragHandle.value = modelIndex\n\n window.addEventListener('touchmove', handleTouchmove, { passive: false })\n window.addEventListener('mousemove', handleTouchmove, { passive: false })\n\n e.preventDefault()\n }\n\n window.addEventListener('touchend', handleTouchend, { passive: false })\n window.addEventListener('mouseup', handleTouchend, { passive: false })\n }\n\n function handleTouchmove (e: MouseEvent | TouchEvent) {\n if (!canDrag) return\n\n e.preventDefault()\n\n isDragging.value = true\n\n const over = findDate(e)\n\n if (!over) return\n\n selectDate(over)\n }\n\n function handleTouchend (e: MouseEvent | TouchEvent) {\n if (e.cancelable) e.preventDefault()\n\n window.removeEventListener('touchmove', handleTouchmove)\n window.removeEventListener('mousemove', handleTouchmove)\n window.removeEventListener('touchend', handleTouchend)\n window.removeEventListener('mouseup', handleTouchend)\n\n const end = findDate(e)\n\n if (!end) return\n\n if (!hasScrolled.value) {\n selectDate(end)\n }\n\n isDragging.value = false\n dragHandle.value = null\n canDrag = false\n }\n\n return () => (\n <div class=\"v-date-picker-month\">\n { props.showWeek && (\n <div key=\"weeks\" class=\"v-date-picker-month__weeks\">\n { !props.hideWeekdays && (\n <div key=\"hide-week-days\" class=\"v-date-picker-month__day\"> </div>\n )}\n { weeks.value.map(week => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__day--adjacent',\n ]}\n >{ week }</div>\n ))}\n </div>\n )}\n\n <div\n ref={ daysRef }\n class=\"v-date-picker-month__days\"\n onMousedown={ handleMousedown }\n onTouchstart={ handleMousedown }\n >\n { !props.hideWeekdays && adapter.getWeekdays().map(weekDay => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__weekday',\n ]}\n >{ weekDay }</div>\n ))}\n\n { daysInMonth.value.map((item, index) => {\n const color = (item.isSelected || item.isToday)\n ? props.color\n : (item.isHovered || item.isDisabled)\n ? undefined\n : 'transparent'\n const variant = item.isDisabled\n ? 'text'\n : (item.isToday || item.isHovered) && !item.isSelected\n ? 'outlined'\n : 'flat'\n\n return (\n <div\n class={[\n 'v-date-picker-month__day',\n {\n 'v-date-picker-month__day--selected': item.isSelected,\n 'v-date-picker-month__day--start': item.isStart,\n 'v-date-picker-month__day--end': item.isEnd,\n 'v-date-picker-month__day--adjacent': item.isAdjacent,\n 'v-date-picker-month__day--hide-adjacent': item.isHidden,\n 'v-date-picker-month__day--week-start': item.isWeekStart,\n 'v-date-picker-month__day--week-end': item.isWeekEnd,\n 'v-date-picker-month__day--hovered': item.isHovered,\n },\n ]}\n data-v-date={ !item.isHidden && !item.isDisabled ? item.isoDate : undefined }\n >\n { item.inRange && (\n <div\n key=\"in-range\"\n class={[\n 'v-date-picker-month__day--range',\n backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n />\n )}\n\n { item.inHover && !item.isStart && !item.isEnd && !item.isHovered && !item.inRange && (\n <div\n key=\"in-hover\"\n class=\"v-date-picker-month__day--hover\"\n />\n )}\n\n { (props.showAdjacentMonths || !item.isAdjacent) && (\n <VBtn\n color={ (!item.isToday || item.isSelected) ? color : undefined }\n disabled={ item.isDisabled }\n icon\n ripple={ false } /* ripple not working correctly since we preventDefault in touchend */\n variant={ variant }\n >\n { item.localized }\n </VBtn>\n )}\n </div>\n )\n })}\n </div>\n </div>\n )\n },\n})\n\nexport type VDatePickerMonth = InstanceType<typeof VDatePickerMonth>\n"],"mappings":"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"}
|