@vuetify/nightly 3.8.2-master.2025-04-19 → 3.8.2-master.2025-04-23
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/CHANGELOG.md +23 -3
- package/dist/json/attributes.json +3523 -3523
- package/dist/json/importMap-labs.json +22 -22
- package/dist/json/importMap.json +144 -144
- package/dist/json/web-types.json +6716 -6457
- package/dist/vuetify-labs.cjs +624 -510
- package/dist/vuetify-labs.css +3327 -3318
- package/dist/vuetify-labs.d.ts +1835 -886
- package/dist/vuetify-labs.esm.js +625 -511
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +624 -510
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +402 -396
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +3130 -3130
- package/dist/vuetify.d.ts +153 -151
- package/dist/vuetify.esm.js +403 -397
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +402 -396
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +893 -886
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.js +8 -9
- package/lib/components/VAlert/VAlert.js.map +1 -1
- package/lib/components/VAppBar/VAppBar.js +4 -4
- package/lib/components/VAppBar/VAppBar.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.js +1 -2
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VBadge/VBadge.js +2 -3
- package/lib/components/VBadge/VBadge.js.map +1 -1
- package/lib/components/VBanner/VBanner.js +3 -3
- package/lib/components/VBanner/VBanner.js.map +1 -1
- package/lib/components/VBottomNavigation/VBottomNavigation.js +8 -8
- package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbs.js +6 -6
- package/lib/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js +1 -2
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
- package/lib/components/VBtn/VBtn.js +3 -3
- package/lib/components/VBtn/VBtn.js.map +1 -1
- package/lib/components/VBtnGroup/VBtnGroup.js +4 -4
- package/lib/components/VBtnGroup/VBtnGroup.js.map +1 -1
- package/lib/components/VCard/VCard.js +7 -8
- package/lib/components/VCard/VCard.js.map +1 -1
- package/lib/components/VCheckbox/VCheckbox.js +2 -3
- package/lib/components/VCheckbox/VCheckbox.js.map +1 -1
- package/lib/components/VCheckbox/VCheckboxBtn.js +3 -3
- package/lib/components/VCheckbox/VCheckboxBtn.js.map +1 -1
- package/lib/components/VChip/VChip.js +8 -9
- package/lib/components/VChip/VChip.js.map +1 -1
- package/lib/components/VChipGroup/VChipGroup.js +5 -5
- package/lib/components/VChipGroup/VChipGroup.js.map +1 -1
- package/lib/components/VCombobox/VCombobox.js +3 -4
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/components/VCounter/VCounter.js +2 -2
- package/lib/components/VCounter/VCounter.js.map +1 -1
- package/lib/components/VDataIterator/VDataIterator.js +2 -2
- package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.js +7 -7
- package/lib/components/VDataTable/VDataTable.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaders.js +1 -1
- package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
- package/lib/components/VDataTable/VDataTableServer.js +7 -7
- package/lib/components/VDataTable/VDataTableServer.js.map +1 -1
- package/lib/components/VDataTable/VDataTableVirtual.js +7 -7
- package/lib/components/VDataTable/VDataTableVirtual.js.map +1 -1
- package/lib/components/VDataTable/composables/expand.d.ts +1 -1
- package/lib/components/VDataTable/composables/expand.js +1 -1
- package/lib/components/VDataTable/composables/expand.js.map +1 -1
- package/lib/components/VDataTable/composables/options.js +8 -8
- package/lib/components/VDataTable/composables/options.js.map +1 -1
- package/lib/components/VDataTable/composables/select.d.ts +2 -2
- package/lib/components/VDataTable/composables/select.js +2 -2
- package/lib/components/VDataTable/composables/select.js.map +1 -1
- package/lib/components/VDataTable/composables/sort.d.ts +2 -2
- package/lib/components/VDataTable/composables/sort.js +2 -2
- package/lib/components/VDataTable/composables/sort.js.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.js +4 -4
- package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerHeader.js +1 -1
- package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.js +2 -2
- package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
- package/lib/components/VDialog/VDialog.d.ts +9 -9
- package/lib/components/VDivider/VDivider.js +2 -2
- package/lib/components/VDivider/VDivider.js.map +1 -1
- package/lib/components/VEmptyState/VEmptyState.js +1 -2
- package/lib/components/VEmptyState/VEmptyState.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanel.js +3 -3
- package/lib/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.js +3 -3
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.js +14 -14
- package/lib/components/VExpansionPanel/VExpansionPanels.js.map +1 -1
- package/lib/components/VFab/VFab.js +2 -2
- package/lib/components/VFab/VFab.js.map +1 -1
- package/lib/components/VField/VField.js +5 -5
- package/lib/components/VField/VField.js.map +1 -1
- package/lib/components/VFileInput/VFileInput.js +2 -2
- package/lib/components/VFileInput/VFileInput.js.map +1 -1
- package/lib/components/VFooter/VFooter.js +4 -4
- package/lib/components/VFooter/VFooter.js.map +1 -1
- package/lib/components/VForm/VForm.d.ts +40 -40
- package/lib/components/VIcon/VIcon.js +4 -4
- package/lib/components/VIcon/VIcon.js.map +1 -1
- package/lib/components/VImg/VImg.js +2 -2
- package/lib/components/VImg/VImg.js.map +1 -1
- package/lib/components/VInput/VInput.js +3 -3
- package/lib/components/VInput/VInput.js.map +1 -1
- package/lib/components/VLayout/VLayoutItem.js +5 -5
- package/lib/components/VLayout/VLayoutItem.js.map +1 -1
- package/lib/components/VList/VList.js +14 -14
- package/lib/components/VList/VList.js.map +1 -1
- package/lib/components/VList/VListGroup.js +2 -2
- package/lib/components/VList/VListGroup.js.map +1 -1
- package/lib/components/VList/VListItem.d.ts +3 -3
- package/lib/components/VList/VListItem.js +6 -6
- package/lib/components/VList/VListItem.js.map +1 -1
- package/lib/components/VList/VListSubheader.js +1 -2
- package/lib/components/VList/VListSubheader.js.map +1 -1
- package/lib/components/VMenu/VMenu.d.ts +15 -15
- package/lib/components/VMenu/VMenu.js +2 -2
- package/lib/components/VMenu/VMenu.js.map +1 -1
- package/lib/components/VMessages/VMessages.js +1 -1
- package/lib/components/VMessages/VMessages.js.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.js +6 -6
- package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
- package/lib/components/VNumberInput/VNumberInput.js +11 -11
- package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.js +7 -7
- package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
- package/lib/components/VOverlay/VOverlay.d.ts +3 -3
- package/lib/components/VOverlay/VOverlay.js +4 -4
- package/lib/components/VOverlay/VOverlay.js.map +1 -1
- package/lib/components/VOverlay/locationStrategies.js +10 -1
- package/lib/components/VOverlay/locationStrategies.js.map +1 -1
- package/lib/components/VPagination/VPagination.js +7 -7
- package/lib/components/VPagination/VPagination.js.map +1 -1
- package/lib/components/VProgressCircular/VProgressCircular.js +9 -9
- package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.js +4 -4
- package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
- package/lib/components/VSelect/VSelect.js +2 -2
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VSelectionControl/VSelectionControl.d.ts +1 -1
- package/lib/components/VSelectionControl/VSelectionControl.js +7 -7
- package/lib/components/VSelectionControl/VSelectionControl.js.map +1 -1
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.js +15 -15
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.js.map +1 -1
- package/lib/components/VSheet/VSheet.js +1 -2
- package/lib/components/VSheet/VSheet.js.map +1 -1
- package/lib/components/VSkeletonLoader/VSkeletonLoader.js +2 -2
- package/lib/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -1
- package/lib/components/VSlider/slider.js +10 -10
- package/lib/components/VSlider/slider.js.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.d.ts +9 -9
- package/lib/components/VSparkline/VSparkline.js +2 -2
- package/lib/components/VSparkline/VSparkline.js.map +1 -1
- package/lib/components/VSwitch/VSwitch.js +3 -3
- package/lib/components/VSwitch/VSwitch.js.map +1 -1
- package/lib/components/VSystemBar/VSystemBar.js +2 -2
- package/lib/components/VSystemBar/VSystemBar.js.map +1 -1
- package/lib/components/VTabs/VTab.d.ts +3 -3
- package/lib/components/VTabs/VTab.js +1 -1
- package/lib/components/VTabs/VTab.js.map +1 -1
- package/lib/components/VTabs/VTabs.js +7 -7
- package/lib/components/VTabs/VTabs.js.map +1 -1
- package/lib/components/VTimeline/VTimeline.js +9 -9
- package/lib/components/VTimeline/VTimeline.js.map +1 -1
- package/lib/components/VTimeline/VTimelineDivider.js +2 -3
- package/lib/components/VTimeline/VTimelineDivider.js.map +1 -1
- package/lib/components/VToolbar/VToolbar.js +2 -2
- package/lib/components/VToolbar/VToolbar.js.map +1 -1
- package/lib/components/VToolbar/VToolbarItems.js +2 -2
- package/lib/components/VToolbar/VToolbarItems.js.map +1 -1
- package/lib/components/VTooltip/VTooltip.d.ts +9 -9
- package/lib/components/VTooltip/VTooltip.js +3 -3
- package/lib/components/VTooltip/VTooltip.js.map +1 -1
- package/lib/components/VVirtualScroll/VVirtualScroll.js +1 -1
- package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
- package/lib/components/VWindow/VWindow.js +3 -3
- package/lib/components/VWindow/VWindow.js.map +1 -1
- package/lib/components/transitions/dialog-transition.js +11 -2
- package/lib/components/transitions/dialog-transition.js.map +1 -1
- package/lib/composables/border.d.ts +1 -1
- package/lib/composables/border.js +5 -8
- package/lib/composables/border.js.map +1 -1
- package/lib/composables/calendar.d.ts +21 -54
- package/lib/composables/calendar.js +11 -11
- package/lib/composables/calendar.js.map +1 -1
- package/lib/composables/color.d.ts +8 -10
- package/lib/composables/color.js +21 -22
- package/lib/composables/color.js.map +1 -1
- package/lib/composables/density.d.ts +1 -1
- package/lib/composables/density.js +2 -2
- package/lib/composables/density.js.map +1 -1
- package/lib/composables/display.d.ts +4 -2
- package/lib/composables/display.js +2 -2
- package/lib/composables/display.js.map +1 -1
- package/lib/composables/elevation.js +4 -6
- package/lib/composables/elevation.js.map +1 -1
- package/lib/composables/focus.d.ts +4 -2
- package/lib/composables/focus.js +2 -2
- package/lib/composables/focus.js.map +1 -1
- package/lib/composables/form.d.ts +7 -7
- package/lib/composables/form.js +3 -3
- package/lib/composables/form.js.map +1 -1
- package/lib/composables/goto.js +2 -2
- package/lib/composables/goto.js.map +1 -1
- package/lib/composables/group.d.ts +3 -3
- package/lib/composables/group.js +4 -4
- package/lib/composables/group.js.map +1 -1
- package/lib/composables/icons.d.ts +2 -2
- package/lib/composables/icons.js +2 -2
- package/lib/composables/icons.js.map +1 -1
- package/lib/composables/layout.d.ts +10 -4
- package/lib/composables/layout.js +4 -4
- package/lib/composables/layout.js.map +1 -1
- package/lib/composables/lazy.d.ts +1 -1
- package/lib/composables/lazy.js +2 -2
- package/lib/composables/lazy.js.map +1 -1
- package/lib/composables/loader.d.ts +4 -2
- package/lib/composables/loader.js +2 -2
- package/lib/composables/loader.js.map +1 -1
- package/lib/composables/locale.js +3 -3
- package/lib/composables/locale.js.map +1 -1
- package/lib/composables/nested/nested.d.ts +3 -3
- package/lib/composables/nested/nested.js +4 -4
- package/lib/composables/nested/nested.js.map +1 -1
- package/lib/composables/position.d.ts +1 -1
- package/lib/composables/position.js +2 -2
- package/lib/composables/position.js.map +1 -1
- package/lib/composables/router.d.ts +3 -3
- package/lib/composables/router.js +8 -8
- package/lib/composables/router.js.map +1 -1
- package/lib/composables/size.d.ts +8 -5
- package/lib/composables/size.js +6 -5
- package/lib/composables/size.js.map +1 -1
- package/lib/composables/ssrBoot.d.ts +4 -2
- package/lib/composables/ssrBoot.js +2 -2
- package/lib/composables/ssrBoot.js.map +1 -1
- package/lib/composables/stack.d.ts +7 -5
- package/lib/composables/stack.js +5 -5
- package/lib/composables/stack.js.map +1 -1
- package/lib/composables/theme.js +7 -7
- package/lib/composables/theme.js.map +1 -1
- package/lib/composables/validation.js +0 -5
- package/lib/composables/validation.js.map +1 -1
- package/lib/composables/variant.d.ts +5 -6
- package/lib/composables/variant.js +6 -6
- package/lib/composables/variant.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +66 -64
- package/lib/framework.js +1 -1
- package/lib/labs/VCalendar/VCalendar.d.ts +600 -211
- package/lib/labs/VCalendar/VCalendar.js +55 -27
- package/lib/labs/VCalendar/VCalendar.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarDay.css +9 -0
- package/lib/labs/VCalendar/VCalendarDay.d.ts +329 -17
- package/lib/labs/VCalendar/VCalendarDay.js +18 -10
- package/lib/labs/VCalendar/VCalendarDay.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarDay.sass +8 -0
- package/lib/labs/VCalendar/VCalendarEvent.js +15 -5
- package/lib/labs/VCalendar/VCalendarEvent.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarHeader.d.ts +44 -17
- package/lib/labs/VCalendar/VCalendarHeader.js +5 -2
- package/lib/labs/VCalendar/VCalendarHeader.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarInterval.d.ts +171 -17
- package/lib/labs/VCalendar/VCalendarInterval.js +66 -35
- package/lib/labs/VCalendar/VCalendarInterval.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarIntervalEvent.d.ts +92 -17
- package/lib/labs/VCalendar/VCalendarIntervalEvent.js +30 -10
- package/lib/labs/VCalendar/VCalendarIntervalEvent.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarMonthDay.d.ts +122 -88
- package/lib/labs/VCalendar/VCalendarMonthDay.js +24 -22
- package/lib/labs/VCalendar/VCalendarMonthDay.js.map +1 -1
- package/lib/labs/VIconBtn/VIconBtn.js +3 -3
- package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
- package/lib/labs/VPicker/VPicker.js +1 -2
- package/lib/labs/VPicker/VPicker.js.map +1 -1
- package/lib/labs/VTimePicker/VTimePickerClock.js +3 -3
- package/lib/labs/VTimePicker/VTimePickerClock.js.map +1 -1
- package/lib/labs/VTreeview/VTreeview.js +11 -11
- package/lib/labs/VTreeview/VTreeview.js.map +1 -1
- package/lib/util/box.js.map +1 -1
- package/lib/util/helpers.d.ts +5 -2
- package/lib/util/helpers.js +9 -5
- package/lib/util/helpers.js.map +1 -1
- package/package.json +1 -1
package/dist/vuetify-labs.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.8.2-master.2025-04-
|
2
|
+
* Vuetify v3.8.2-master.2025-04-23
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -446,15 +446,19 @@
|
|
446
446
|
|
447
447
|
function destructComputed(getter) {
|
448
448
|
const refs = vue.reactive({});
|
449
|
-
const base = vue.computed(getter);
|
450
449
|
vue.watchEffect(() => {
|
451
|
-
|
452
|
-
|
450
|
+
const base = getter();
|
451
|
+
for (const key in base) {
|
452
|
+
refs[key] = base[key];
|
453
453
|
}
|
454
454
|
}, {
|
455
455
|
flush: 'sync'
|
456
456
|
});
|
457
|
-
|
457
|
+
const obj = {};
|
458
|
+
for (const key in refs) {
|
459
|
+
obj[key] = vue.toRef(() => refs[key]);
|
460
|
+
}
|
461
|
+
return obj;
|
458
462
|
}
|
459
463
|
|
460
464
|
/** Array.includes but value can be any type */
|
@@ -1745,7 +1749,7 @@
|
|
1745
1749
|
const mainRect = vue.computed(() => {
|
1746
1750
|
return layers.value[layers.value.length - 1].layer;
|
1747
1751
|
});
|
1748
|
-
const mainStyles = vue.
|
1752
|
+
const mainStyles = vue.toRef(() => {
|
1749
1753
|
return {
|
1750
1754
|
'--v-layout-left': convertToUnit(mainRect.value.left),
|
1751
1755
|
'--v-layout-right': convertToUnit(mainRect.value.right),
|
@@ -1860,10 +1864,10 @@
|
|
1860
1864
|
layoutRect,
|
1861
1865
|
rootZIndex
|
1862
1866
|
});
|
1863
|
-
const layoutClasses = vue.
|
1867
|
+
const layoutClasses = vue.toRef(() => ['v-layout', {
|
1864
1868
|
'v-layout--full-height': props.fullHeight
|
1865
1869
|
}]);
|
1866
|
-
const layoutStyles = vue.
|
1870
|
+
const layoutStyles = vue.toRef(() => ({
|
1867
1871
|
zIndex: parentLayout ? rootZIndex.value : undefined,
|
1868
1872
|
position: parentLayout ? 'relative' : undefined,
|
1869
1873
|
overflow: parentLayout ? 'hidden' : undefined
|
@@ -2254,7 +2258,7 @@
|
|
2254
2258
|
return {
|
2255
2259
|
isRtl,
|
2256
2260
|
rtl,
|
2257
|
-
rtlClasses: vue.
|
2261
|
+
rtlClasses: vue.toRef(() => `v-locale--is-${isRtl.value ? 'rtl' : 'ltr'}`)
|
2258
2262
|
};
|
2259
2263
|
}
|
2260
2264
|
function provideRtl(locale, rtl, props) {
|
@@ -2262,7 +2266,7 @@
|
|
2262
2266
|
return {
|
2263
2267
|
isRtl,
|
2264
2268
|
rtl,
|
2265
|
-
rtlClasses: vue.
|
2269
|
+
rtlClasses: vue.toRef(() => `v-locale--is-${isRtl.value ? 'rtl' : 'ltr'}`)
|
2266
2270
|
};
|
2267
2271
|
}
|
2268
2272
|
function useRtl() {
|
@@ -2486,7 +2490,7 @@
|
|
2486
2490
|
}
|
2487
2491
|
return acc;
|
2488
2492
|
});
|
2489
|
-
const current = vue.
|
2493
|
+
const current = vue.toRef(() => computedThemes.value[name.value]);
|
2490
2494
|
const styles = vue.computed(() => {
|
2491
2495
|
const lines = [];
|
2492
2496
|
if (current.value?.dark) {
|
@@ -2533,7 +2537,7 @@
|
|
2533
2537
|
}
|
2534
2538
|
} else {
|
2535
2539
|
if (IN_BROWSER) {
|
2536
|
-
head.addHeadObjs(vue.
|
2540
|
+
head.addHeadObjs(vue.toRef(getHead));
|
2537
2541
|
vue.watchEffect(() => head.updateDOM());
|
2538
2542
|
} else {
|
2539
2543
|
head.addHeadObjs(getHead());
|
@@ -2552,7 +2556,7 @@
|
|
2552
2556
|
}
|
2553
2557
|
}
|
2554
2558
|
}
|
2555
|
-
const themeClasses = vue.
|
2559
|
+
const themeClasses = vue.toRef(() => parsedOptions.isDisabled ? undefined : `v-theme--${name.value}`);
|
2556
2560
|
return {
|
2557
2561
|
install,
|
2558
2562
|
isDisabled: parsedOptions.isDisabled,
|
@@ -2572,9 +2576,9 @@
|
|
2572
2576
|
getCurrentInstance('provideTheme');
|
2573
2577
|
const theme = vue.inject(ThemeSymbol, null);
|
2574
2578
|
if (!theme) throw new Error('Could not find Vuetify theme injection');
|
2575
|
-
const name = vue.
|
2576
|
-
const current = vue.
|
2577
|
-
const themeClasses = vue.
|
2579
|
+
const name = vue.toRef(() => props.theme ?? theme.name.value);
|
2580
|
+
const current = vue.toRef(() => theme.themes.value[name.value]);
|
2581
|
+
const themeClasses = vue.toRef(() => theme.isDisabled ? undefined : `v-theme--${name.value}`);
|
2578
2582
|
const newTheme = {
|
2579
2583
|
...theme,
|
2580
2584
|
name,
|
@@ -2858,6 +2862,7 @@
|
|
2858
2862
|
const makeVDialogTransitionProps = propsFactory({
|
2859
2863
|
target: [Object, Array]
|
2860
2864
|
}, 'v-dialog-transition');
|
2865
|
+
const saved = new WeakMap();
|
2861
2866
|
const VDialogTransition = genericComponent()({
|
2862
2867
|
name: 'VDialogTransition',
|
2863
2868
|
props: makeVDialogTransitionProps(),
|
@@ -2874,13 +2879,15 @@
|
|
2874
2879
|
await new Promise(resolve => requestAnimationFrame(resolve));
|
2875
2880
|
await new Promise(resolve => requestAnimationFrame(resolve));
|
2876
2881
|
el.style.visibility = '';
|
2882
|
+
const dimensions = getDimensions(props.target, el);
|
2877
2883
|
const {
|
2878
2884
|
x,
|
2879
2885
|
y,
|
2880
2886
|
sx,
|
2881
2887
|
sy,
|
2882
2888
|
speed
|
2883
|
-
} =
|
2889
|
+
} = dimensions;
|
2890
|
+
saved.set(el, dimensions);
|
2884
2891
|
const animation = animate(el, [{
|
2885
2892
|
transform: `translate(${x}px, ${y}px) scale(${sx}, ${sy})`,
|
2886
2893
|
opacity: 0
|
@@ -2909,13 +2916,19 @@
|
|
2909
2916
|
},
|
2910
2917
|
async onLeave(el, done) {
|
2911
2918
|
await new Promise(resolve => requestAnimationFrame(resolve));
|
2919
|
+
let dimensions;
|
2920
|
+
if (!Array.isArray(props.target) && !props.target.offsetParent && saved.has(el)) {
|
2921
|
+
dimensions = saved.get(el);
|
2922
|
+
} else {
|
2923
|
+
dimensions = getDimensions(props.target, el);
|
2924
|
+
}
|
2912
2925
|
const {
|
2913
2926
|
x,
|
2914
2927
|
y,
|
2915
2928
|
sx,
|
2916
2929
|
sy,
|
2917
2930
|
speed
|
2918
|
-
} =
|
2931
|
+
} = dimensions;
|
2919
2932
|
const animation = animate(el, [{}, {
|
2920
2933
|
transform: `translate(${x}px, ${y}px) scale(${sx}, ${sy})`,
|
2921
2934
|
opacity: 0
|
@@ -3135,13 +3148,14 @@
|
|
3135
3148
|
// Composables
|
3136
3149
|
function useColor(colors) {
|
3137
3150
|
return destructComputed(() => {
|
3151
|
+
const _colors = vue.toValue(colors);
|
3138
3152
|
const classes = [];
|
3139
3153
|
const styles = {};
|
3140
|
-
if (
|
3141
|
-
if (isCssColor(
|
3142
|
-
styles.backgroundColor =
|
3143
|
-
if (!
|
3144
|
-
const backgroundColor = parseColor(
|
3154
|
+
if (_colors.background) {
|
3155
|
+
if (isCssColor(_colors.background)) {
|
3156
|
+
styles.backgroundColor = _colors.background;
|
3157
|
+
if (!_colors.text && isParsableColor(_colors.background)) {
|
3158
|
+
const backgroundColor = parseColor(_colors.background);
|
3145
3159
|
if (backgroundColor.a == null || backgroundColor.a === 1) {
|
3146
3160
|
const textColor = getForeground(backgroundColor);
|
3147
3161
|
styles.color = textColor;
|
@@ -3149,15 +3163,15 @@
|
|
3149
3163
|
}
|
3150
3164
|
}
|
3151
3165
|
} else {
|
3152
|
-
classes.push(`bg-${
|
3166
|
+
classes.push(`bg-${_colors.background}`);
|
3153
3167
|
}
|
3154
3168
|
}
|
3155
|
-
if (
|
3156
|
-
if (isCssColor(
|
3157
|
-
styles.color =
|
3158
|
-
styles.caretColor =
|
3169
|
+
if (_colors.text) {
|
3170
|
+
if (isCssColor(_colors.text)) {
|
3171
|
+
styles.color = _colors.text;
|
3172
|
+
styles.caretColor = _colors.text;
|
3159
3173
|
} else {
|
3160
|
-
classes.push(`text-${
|
3174
|
+
classes.push(`text-${_colors.text}`);
|
3161
3175
|
}
|
3162
3176
|
}
|
3163
3177
|
return {
|
@@ -3166,27 +3180,25 @@
|
|
3166
3180
|
};
|
3167
3181
|
});
|
3168
3182
|
}
|
3169
|
-
function useTextColor(
|
3170
|
-
const colors = vue.computed(() => ({
|
3171
|
-
text: vue.isRef(props) ? props.value : name ? props[name] : null
|
3172
|
-
}));
|
3183
|
+
function useTextColor(color) {
|
3173
3184
|
const {
|
3174
3185
|
colorClasses: textColorClasses,
|
3175
3186
|
colorStyles: textColorStyles
|
3176
|
-
} = useColor(
|
3187
|
+
} = useColor(() => ({
|
3188
|
+
text: vue.toValue(color)
|
3189
|
+
}));
|
3177
3190
|
return {
|
3178
3191
|
textColorClasses,
|
3179
3192
|
textColorStyles
|
3180
3193
|
};
|
3181
3194
|
}
|
3182
|
-
function useBackgroundColor(
|
3183
|
-
const colors = vue.computed(() => ({
|
3184
|
-
background: vue.isRef(props) ? props.value : name ? props[name] : null
|
3185
|
-
}));
|
3195
|
+
function useBackgroundColor(color) {
|
3186
3196
|
const {
|
3187
3197
|
colorClasses: backgroundColorClasses,
|
3188
3198
|
colorStyles: backgroundColorStyles
|
3189
|
-
} = useColor(
|
3199
|
+
} = useColor(() => ({
|
3200
|
+
background: vue.toValue(color)
|
3201
|
+
}));
|
3190
3202
|
return {
|
3191
3203
|
backgroundColorClasses,
|
3192
3204
|
backgroundColorStyles
|
@@ -3370,7 +3382,7 @@
|
|
3370
3382
|
const {
|
3371
3383
|
backgroundColorClasses,
|
3372
3384
|
backgroundColorStyles
|
3373
|
-
} = useBackgroundColor(
|
3385
|
+
} = useBackgroundColor(() => props.color);
|
3374
3386
|
const {
|
3375
3387
|
roundedClasses
|
3376
3388
|
} = useRounded(props);
|
@@ -3477,7 +3489,7 @@
|
|
3477
3489
|
};
|
3478
3490
|
poll();
|
3479
3491
|
}
|
3480
|
-
const containClasses = vue.
|
3492
|
+
const containClasses = vue.toRef(() => ({
|
3481
3493
|
'v-img__img--cover': props.cover,
|
3482
3494
|
'v-img__img--contain': !props.cover
|
3483
3495
|
}));
|
@@ -3614,16 +3626,13 @@
|
|
3614
3626
|
function useBorder(props) {
|
3615
3627
|
let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();
|
3616
3628
|
const borderClasses = vue.computed(() => {
|
3617
|
-
const border =
|
3618
|
-
const classes = [];
|
3629
|
+
const border = props.border;
|
3619
3630
|
if (border === true || border === '') {
|
3620
|
-
|
3631
|
+
return `${name}--border`;
|
3621
3632
|
} else if (typeof border === 'string' || border === 0) {
|
3622
|
-
|
3623
|
-
classes.push(`border-${value}`);
|
3624
|
-
}
|
3633
|
+
return String(border).split(' ').map(v => `border-${v}`);
|
3625
3634
|
}
|
3626
|
-
return
|
3635
|
+
return [];
|
3627
3636
|
});
|
3628
3637
|
return {
|
3629
3638
|
borderClasses
|
@@ -3648,12 +3657,10 @@
|
|
3648
3657
|
}
|
3649
3658
|
}, 'elevation');
|
3650
3659
|
function useElevation(props) {
|
3651
|
-
const elevationClasses = vue.
|
3660
|
+
const elevationClasses = vue.toRef(() => {
|
3652
3661
|
const elevation = vue.isRef(props) ? props.value : props.elevation;
|
3653
|
-
|
3654
|
-
|
3655
|
-
classes.push(`elevation-${elevation}`);
|
3656
|
-
return classes;
|
3662
|
+
if (elevation == null) return [];
|
3663
|
+
return [`elevation-${elevation}`];
|
3657
3664
|
});
|
3658
3665
|
return {
|
3659
3666
|
elevationClasses
|
@@ -3704,7 +3711,7 @@
|
|
3704
3711
|
const {
|
3705
3712
|
backgroundColorClasses,
|
3706
3713
|
backgroundColorStyles
|
3707
|
-
} = useBackgroundColor(
|
3714
|
+
} = useBackgroundColor(() => props.color);
|
3708
3715
|
const {
|
3709
3716
|
borderClasses
|
3710
3717
|
} = useBorder(props);
|
@@ -3913,7 +3920,7 @@
|
|
3913
3920
|
isBooted.value = true;
|
3914
3921
|
});
|
3915
3922
|
});
|
3916
|
-
const ssrBootStyles = vue.
|
3923
|
+
const ssrBootStyles = vue.toRef(() => !isBooted.value ? {
|
3917
3924
|
transition: 'none !important'
|
3918
3925
|
} : undefined);
|
3919
3926
|
return {
|
@@ -3981,7 +3988,7 @@
|
|
3981
3988
|
} = useScroll(props, {
|
3982
3989
|
canScroll
|
3983
3990
|
});
|
3984
|
-
const canHide = vue.
|
3991
|
+
const canHide = vue.toRef(() => scrollBehavior.value.hide || scrollBehavior.value.fullyHide);
|
3985
3992
|
const isCollapsed = vue.computed(() => props.collapse || scrollBehavior.value.collapse && (scrollBehavior.value.inverted ? scrollRatio.value > 0 : scrollRatio.value === 0));
|
3986
3993
|
const isFlat = vue.computed(() => props.flat || scrollBehavior.value.fullyHide && !isActive.value || scrollBehavior.value.elevate && (scrollBehavior.value.inverted ? currentScroll.value > 0 : currentScroll.value === 0));
|
3987
3994
|
const opacity = vue.computed(() => scrollBehavior.value.fadeImage ? scrollBehavior.value.inverted ? 1 - scrollRatio.value : scrollRatio.value : undefined);
|
@@ -3992,7 +3999,7 @@
|
|
3992
3999
|
if (!canHide.value) return height + extensionHeight;
|
3993
4000
|
return currentScroll.value < scrollThreshold.value || scrollBehavior.value.fullyHide ? height + extensionHeight : height;
|
3994
4001
|
});
|
3995
|
-
useToggleScope(
|
4002
|
+
useToggleScope(() => !!props.scrollBehavior, () => {
|
3996
4003
|
vue.watchEffect(() => {
|
3997
4004
|
if (canHide.value) {
|
3998
4005
|
if (scrollBehavior.value.inverted) {
|
@@ -4013,11 +4020,11 @@
|
|
4013
4020
|
} = useLayoutItem({
|
4014
4021
|
id: props.name,
|
4015
4022
|
order: vue.computed(() => parseInt(props.order, 10)),
|
4016
|
-
position: vue.toRef(props
|
4023
|
+
position: vue.toRef(() => props.location),
|
4017
4024
|
layoutSize: height,
|
4018
4025
|
elementSize: vue.shallowRef(undefined),
|
4019
4026
|
active: isActive,
|
4020
|
-
absolute: vue.toRef(props
|
4027
|
+
absolute: vue.toRef(() => props.absolute)
|
4021
4028
|
});
|
4022
4029
|
useRender(() => {
|
4023
4030
|
const toolbarProps = VToolbar.filterProps(props);
|
@@ -4060,7 +4067,7 @@
|
|
4060
4067
|
}, 'density');
|
4061
4068
|
function useDensity(props) {
|
4062
4069
|
let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();
|
4063
|
-
const densityClasses = vue.
|
4070
|
+
const densityClasses = vue.toRef(() => {
|
4064
4071
|
return `${name}--density-${props.density}`;
|
4065
4072
|
});
|
4066
4073
|
return {
|
@@ -4090,24 +4097,24 @@
|
|
4090
4097
|
}, 'variant');
|
4091
4098
|
function useVariant(props) {
|
4092
4099
|
let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();
|
4093
|
-
const variantClasses = vue.
|
4100
|
+
const variantClasses = vue.toRef(() => {
|
4094
4101
|
const {
|
4095
4102
|
variant
|
4096
|
-
} = vue.
|
4103
|
+
} = vue.toValue(props);
|
4097
4104
|
return `${name}--variant-${variant}`;
|
4098
4105
|
});
|
4099
4106
|
const {
|
4100
4107
|
colorClasses,
|
4101
4108
|
colorStyles
|
4102
|
-
} = useColor(
|
4109
|
+
} = useColor(() => {
|
4103
4110
|
const {
|
4104
4111
|
variant,
|
4105
4112
|
color
|
4106
|
-
} = vue.
|
4113
|
+
} = vue.toValue(props);
|
4107
4114
|
return {
|
4108
4115
|
[['elevated', 'flat'].includes(variant) ? 'background' : 'text']: color
|
4109
4116
|
};
|
4110
|
-
})
|
4117
|
+
});
|
4111
4118
|
return {
|
4112
4119
|
colorClasses,
|
4113
4120
|
colorStyles,
|
@@ -4152,11 +4159,11 @@
|
|
4152
4159
|
provideDefaults({
|
4153
4160
|
VBtn: {
|
4154
4161
|
height: 'auto',
|
4155
|
-
baseColor: vue.toRef(props
|
4156
|
-
color: vue.toRef(props
|
4157
|
-
density: vue.toRef(props
|
4162
|
+
baseColor: vue.toRef(() => props.baseColor),
|
4163
|
+
color: vue.toRef(() => props.color),
|
4164
|
+
density: vue.toRef(() => props.density),
|
4158
4165
|
flat: true,
|
4159
|
-
variant: vue.toRef(props
|
4166
|
+
variant: vue.toRef(() => props.variant)
|
4160
4167
|
}
|
4161
4168
|
});
|
4162
4169
|
useRender(() => {
|
@@ -4206,7 +4213,7 @@
|
|
4206
4213
|
if (!required) return group;
|
4207
4214
|
throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${injectKey.description}`);
|
4208
4215
|
}
|
4209
|
-
const value = vue.toRef(props
|
4216
|
+
const value = vue.toRef(() => props.value);
|
4210
4217
|
const disabled = vue.computed(() => !!(group.disabled.value || props.disabled));
|
4211
4218
|
group.register({
|
4212
4219
|
id,
|
@@ -4355,12 +4362,12 @@
|
|
4355
4362
|
unregister,
|
4356
4363
|
selected,
|
4357
4364
|
select,
|
4358
|
-
disabled: vue.toRef(props
|
4365
|
+
disabled: vue.toRef(() => props.disabled),
|
4359
4366
|
prev: () => step(items.length - 1),
|
4360
4367
|
next: () => step(1),
|
4361
4368
|
isSelected: id => selected.value.includes(id),
|
4362
|
-
selectedClass: vue.
|
4363
|
-
items: vue.
|
4369
|
+
selectedClass: vue.toRef(() => props.selectedClass),
|
4370
|
+
items: vue.toRef(() => items),
|
4364
4371
|
getItemIndex: value => getItemIndex(items, value)
|
4365
4372
|
};
|
4366
4373
|
vue.provide(injectKey, state);
|
@@ -4616,7 +4623,7 @@
|
|
4616
4623
|
const icons = vue.inject(IconSymbol);
|
4617
4624
|
if (!icons) throw new Error('Missing Vuetify Icons provide!');
|
4618
4625
|
const iconData = vue.computed(() => {
|
4619
|
-
const iconAlias = vue.
|
4626
|
+
const iconAlias = vue.toValue(props);
|
4620
4627
|
if (!iconAlias) return {
|
4621
4628
|
component: VComponentIcon
|
4622
4629
|
};
|
@@ -4666,14 +4673,15 @@
|
|
4666
4673
|
function useSize(props) {
|
4667
4674
|
let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();
|
4668
4675
|
return destructComputed(() => {
|
4676
|
+
const size = props.size;
|
4669
4677
|
let sizeClasses;
|
4670
4678
|
let sizeStyles;
|
4671
|
-
if (includes(predefinedSizes,
|
4672
|
-
sizeClasses = `${name}--size-${
|
4673
|
-
} else if (
|
4679
|
+
if (includes(predefinedSizes, size)) {
|
4680
|
+
sizeClasses = `${name}--size-${size}`;
|
4681
|
+
} else if (size) {
|
4674
4682
|
sizeStyles = {
|
4675
|
-
width: convertToUnit(
|
4676
|
-
height: convertToUnit(
|
4683
|
+
width: convertToUnit(size),
|
4684
|
+
height: convertToUnit(size)
|
4677
4685
|
};
|
4678
4686
|
}
|
4679
4687
|
return {
|
@@ -4705,20 +4713,20 @@
|
|
4705
4713
|
attrs,
|
4706
4714
|
slots
|
4707
4715
|
} = _ref;
|
4708
|
-
const slotIcon = vue.
|
4716
|
+
const slotIcon = vue.shallowRef();
|
4709
4717
|
const {
|
4710
4718
|
themeClasses
|
4711
4719
|
} = useTheme();
|
4712
4720
|
const {
|
4713
4721
|
iconData
|
4714
|
-
} = useIcon(
|
4722
|
+
} = useIcon(() => slotIcon.value || props.icon);
|
4715
4723
|
const {
|
4716
4724
|
sizeClasses
|
4717
4725
|
} = useSize(props);
|
4718
4726
|
const {
|
4719
4727
|
textColorClasses,
|
4720
4728
|
textColorStyles
|
4721
|
-
} = useTextColor(
|
4729
|
+
} = useTextColor(() => props.color);
|
4722
4730
|
useRender(() => {
|
4723
4731
|
const slotValue = slots.default?.();
|
4724
4732
|
if (slotValue) {
|
@@ -4824,11 +4832,11 @@
|
|
4824
4832
|
const {
|
4825
4833
|
textColorClasses,
|
4826
4834
|
textColorStyles
|
4827
|
-
} = useTextColor(
|
4835
|
+
} = useTextColor(() => props.color);
|
4828
4836
|
const {
|
4829
4837
|
textColorClasses: underlayColorClasses,
|
4830
4838
|
textColorStyles: underlayColorStyles
|
4831
|
-
} = useTextColor(
|
4839
|
+
} = useTextColor(() => props.bgColor);
|
4832
4840
|
const {
|
4833
4841
|
intersectionRef,
|
4834
4842
|
isIntersecting
|
@@ -4837,15 +4845,15 @@
|
|
4837
4845
|
resizeRef,
|
4838
4846
|
contentRect
|
4839
4847
|
} = useResizeObserver();
|
4840
|
-
const normalizedValue = vue.
|
4841
|
-
const width = vue.
|
4842
|
-
const size = vue.
|
4848
|
+
const normalizedValue = vue.toRef(() => Math.max(0, Math.min(100, parseFloat(props.modelValue))));
|
4849
|
+
const width = vue.toRef(() => Number(props.width));
|
4850
|
+
const size = vue.toRef(() => {
|
4843
4851
|
// Get size from element if size prop value is small, large etc
|
4844
4852
|
return sizeStyles.value ? Number(props.size) : contentRect.value ? contentRect.value.width : Math.max(width.value, 32);
|
4845
4853
|
});
|
4846
|
-
const diameter = vue.
|
4847
|
-
const strokeWidth = vue.
|
4848
|
-
const strokeDashOffset = vue.
|
4854
|
+
const diameter = vue.toRef(() => MAGIC_RADIUS_CONSTANT / (1 - width.value / size.value) * 2);
|
4855
|
+
const strokeWidth = vue.toRef(() => width.value / size.value * diameter.value);
|
4856
|
+
const strokeDashOffset = vue.toRef(() => convertToUnit((100 - normalizedValue.value) / 100 * CIRCUMFERENCE));
|
4849
4857
|
vue.watchEffect(() => {
|
4850
4858
|
intersectionRef.value = root.value;
|
4851
4859
|
resizeRef.value = root.value;
|
@@ -5023,19 +5031,19 @@
|
|
5023
5031
|
const {
|
5024
5032
|
textColorClasses,
|
5025
5033
|
textColorStyles
|
5026
|
-
} = useTextColor(props
|
5034
|
+
} = useTextColor(() => props.color);
|
5027
5035
|
const {
|
5028
5036
|
backgroundColorClasses,
|
5029
5037
|
backgroundColorStyles
|
5030
|
-
} = useBackgroundColor(
|
5038
|
+
} = useBackgroundColor(() => props.bgColor || props.color);
|
5031
5039
|
const {
|
5032
5040
|
backgroundColorClasses: bufferColorClasses,
|
5033
5041
|
backgroundColorStyles: bufferColorStyles
|
5034
|
-
} = useBackgroundColor(
|
5042
|
+
} = useBackgroundColor(() => props.bufferColor || props.bgColor || props.color);
|
5035
5043
|
const {
|
5036
5044
|
backgroundColorClasses: barColorClasses,
|
5037
5045
|
backgroundColorStyles: barColorStyles
|
5038
|
-
} = useBackgroundColor(props
|
5046
|
+
} = useBackgroundColor(() => props.color);
|
5039
5047
|
const {
|
5040
5048
|
roundedClasses
|
5041
5049
|
} = useRounded(props);
|
@@ -5142,7 +5150,7 @@
|
|
5142
5150
|
}, 'loader');
|
5143
5151
|
function useLoader(props) {
|
5144
5152
|
let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();
|
5145
|
-
const loaderClasses = vue.
|
5153
|
+
const loaderClasses = vue.toRef(() => ({
|
5146
5154
|
[`${name}--loading`]: props.loading
|
5147
5155
|
}));
|
5148
5156
|
return {
|
@@ -5181,7 +5189,7 @@
|
|
5181
5189
|
}, 'position');
|
5182
5190
|
function usePosition(props) {
|
5183
5191
|
let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();
|
5184
|
-
const positionClasses = vue.
|
5192
|
+
const positionClasses = vue.toRef(() => {
|
5185
5193
|
return props.position ? `${name}--${props.position}` : undefined;
|
5186
5194
|
});
|
5187
5195
|
return {
|
@@ -5202,12 +5210,12 @@
|
|
5202
5210
|
}
|
5203
5211
|
function useLink(props, attrs) {
|
5204
5212
|
const RouterLink = vue.resolveDynamicComponent('RouterLink');
|
5205
|
-
const isLink = vue.
|
5213
|
+
const isLink = vue.toRef(() => !!(props.href || props.to));
|
5206
5214
|
const isClickable = vue.computed(() => {
|
5207
5215
|
return isLink?.value || hasEvent(attrs, 'click') || hasEvent(props, 'click');
|
5208
5216
|
});
|
5209
5217
|
if (typeof RouterLink === 'string' || !('useLink' in RouterLink)) {
|
5210
|
-
const href = vue.toRef(props
|
5218
|
+
const href = vue.toRef(() => props.href);
|
5211
5219
|
return {
|
5212
5220
|
isLink,
|
5213
5221
|
isClickable,
|
@@ -5217,12 +5225,12 @@
|
|
5217
5225
|
})
|
5218
5226
|
};
|
5219
5227
|
}
|
5228
|
+
|
5220
5229
|
// vue-router useLink `to` prop needs to be reactive and useLink will crash if undefined
|
5221
|
-
const
|
5222
|
-
|
5223
|
-
|
5224
|
-
})
|
5225
|
-
const routerLink = RouterLink.useLink(linkProps.value);
|
5230
|
+
const routerLink = RouterLink.useLink({
|
5231
|
+
to: vue.toRef(() => props.to || ''),
|
5232
|
+
replace: vue.toRef(() => props.replace)
|
5233
|
+
});
|
5226
5234
|
// Actual link needs to be undefined when to prop is not used
|
5227
5235
|
const link = vue.computed(() => props.to ? routerLink : undefined);
|
5228
5236
|
const route = useRoute();
|
@@ -5242,7 +5250,7 @@
|
|
5242
5250
|
href,
|
5243
5251
|
linkProps: vue.reactive({
|
5244
5252
|
href,
|
5245
|
-
'aria-current': vue.
|
5253
|
+
'aria-current': vue.toRef(() => isActive.value ? 'page' : undefined)
|
5246
5254
|
})
|
5247
5255
|
};
|
5248
5256
|
}
|
@@ -5691,7 +5699,7 @@
|
|
5691
5699
|
}
|
5692
5700
|
return group?.isSelected.value;
|
5693
5701
|
});
|
5694
|
-
const color = vue.
|
5702
|
+
const color = vue.toRef(() => isActive.value ? props.activeColor ?? props.color : props.color);
|
5695
5703
|
const variantProps = vue.computed(() => {
|
5696
5704
|
const showColor = group?.isSelected.value && (!link.isLink.value || link.isActive?.value) || !group || link.isActive?.value;
|
5697
5705
|
return {
|
@@ -5705,7 +5713,7 @@
|
|
5705
5713
|
variantClasses
|
5706
5714
|
} = useVariant(variantProps);
|
5707
5715
|
const isDisabled = vue.computed(() => group?.disabled.value || props.disabled);
|
5708
|
-
const isElevated = vue.
|
5716
|
+
const isElevated = vue.toRef(() => {
|
5709
5717
|
return props.variant === 'elevated' && !(props.disabled || props.flat || props.border);
|
5710
5718
|
});
|
5711
5719
|
const valueAttr = vue.computed(() => {
|
@@ -5908,15 +5916,11 @@
|
|
5908
5916
|
slots
|
5909
5917
|
} = _ref;
|
5910
5918
|
const isActive = useProxiedModel(props, 'modelValue');
|
5911
|
-
const icon = vue.
|
5919
|
+
const icon = vue.toRef(() => {
|
5912
5920
|
if (props.icon === false) return undefined;
|
5913
5921
|
if (!props.type) return props.icon;
|
5914
5922
|
return props.icon ?? `$${props.type}`;
|
5915
5923
|
});
|
5916
|
-
const variantProps = vue.computed(() => ({
|
5917
|
-
color: props.color ?? props.type,
|
5918
|
-
variant: props.variant
|
5919
|
-
}));
|
5920
5924
|
const {
|
5921
5925
|
themeClasses
|
5922
5926
|
} = provideTheme(props);
|
@@ -5924,7 +5928,10 @@
|
|
5924
5928
|
colorClasses,
|
5925
5929
|
colorStyles,
|
5926
5930
|
variantClasses
|
5927
|
-
} = useVariant(
|
5931
|
+
} = useVariant(() => ({
|
5932
|
+
color: props.color ?? props.type,
|
5933
|
+
variant: props.variant
|
5934
|
+
}));
|
5928
5935
|
const {
|
5929
5936
|
densityClasses
|
5930
5937
|
} = useDensity(props);
|
@@ -5946,11 +5953,11 @@
|
|
5946
5953
|
const {
|
5947
5954
|
textColorClasses,
|
5948
5955
|
textColorStyles
|
5949
|
-
} = useTextColor(
|
5956
|
+
} = useTextColor(() => props.borderColor);
|
5950
5957
|
const {
|
5951
5958
|
t
|
5952
5959
|
} = useLocale();
|
5953
|
-
const closeProps = vue.
|
5960
|
+
const closeProps = vue.toRef(() => ({
|
5954
5961
|
'aria-label': t(props.closeLabel),
|
5955
5962
|
onClick(e) {
|
5956
5963
|
isActive.value = false;
|
@@ -6187,8 +6194,8 @@
|
|
6187
6194
|
} = _ref;
|
6188
6195
|
const modelValue = useProxiedModel(props, 'modelValue');
|
6189
6196
|
const uid = vue.useId();
|
6190
|
-
const id = vue.
|
6191
|
-
const name = vue.
|
6197
|
+
const id = vue.toRef(() => props.id || `v-selection-control-group-${uid}`);
|
6198
|
+
const name = vue.toRef(() => props.name || id.value);
|
6192
6199
|
const updateHandlers = new Set();
|
6193
6200
|
vue.provide(VSelectionControlGroupSymbol, {
|
6194
6201
|
modelValue,
|
@@ -6204,20 +6211,20 @@
|
|
6204
6211
|
});
|
6205
6212
|
provideDefaults({
|
6206
6213
|
[props.defaultsTarget]: {
|
6207
|
-
color: vue.toRef(props
|
6208
|
-
disabled: vue.toRef(props
|
6209
|
-
density: vue.toRef(props
|
6210
|
-
error: vue.toRef(props
|
6211
|
-
inline: vue.toRef(props
|
6214
|
+
color: vue.toRef(() => props.color),
|
6215
|
+
disabled: vue.toRef(() => props.disabled),
|
6216
|
+
density: vue.toRef(() => props.density),
|
6217
|
+
error: vue.toRef(() => props.error),
|
6218
|
+
inline: vue.toRef(() => props.inline),
|
6212
6219
|
modelValue,
|
6213
|
-
multiple: vue.
|
6220
|
+
multiple: vue.toRef(() => !!props.multiple || props.multiple == null && Array.isArray(modelValue.value)),
|
6214
6221
|
name,
|
6215
|
-
falseIcon: vue.toRef(props
|
6216
|
-
trueIcon: vue.toRef(props
|
6217
|
-
readonly: vue.toRef(props
|
6218
|
-
ripple: vue.toRef(props
|
6219
|
-
type: vue.toRef(props
|
6220
|
-
valueComparator: vue.toRef(props
|
6222
|
+
falseIcon: vue.toRef(() => props.falseIcon),
|
6223
|
+
trueIcon: vue.toRef(() => props.trueIcon),
|
6224
|
+
readonly: vue.toRef(() => props.readonly),
|
6225
|
+
ripple: vue.toRef(() => props.ripple),
|
6226
|
+
type: vue.toRef(() => props.type),
|
6227
|
+
valueComparator: vue.toRef(() => props.valueComparator)
|
6221
6228
|
}
|
6222
6229
|
});
|
6223
6230
|
useRender(() => vue.createVNode("div", {
|
@@ -6273,16 +6280,16 @@
|
|
6273
6280
|
const {
|
6274
6281
|
textColorClasses,
|
6275
6282
|
textColorStyles
|
6276
|
-
} = useTextColor(
|
6283
|
+
} = useTextColor(() => {
|
6277
6284
|
if (props.error || props.disabled) return undefined;
|
6278
6285
|
return model.value ? props.color : props.baseColor;
|
6279
|
-
})
|
6286
|
+
});
|
6280
6287
|
const {
|
6281
6288
|
backgroundColorClasses,
|
6282
6289
|
backgroundColorStyles
|
6283
|
-
} = useBackgroundColor(
|
6290
|
+
} = useBackgroundColor(() => {
|
6284
6291
|
return model.value && !props.error && !props.disabled ? props.color : props.baseColor;
|
6285
|
-
})
|
6292
|
+
});
|
6286
6293
|
const icon = vue.computed(() => model.value ? props.trueIcon : props.falseIcon);
|
6287
6294
|
return {
|
6288
6295
|
group,
|
@@ -6327,8 +6334,8 @@
|
|
6327
6334
|
const isFocused = vue.shallowRef(false);
|
6328
6335
|
const isFocusVisible = vue.shallowRef(false);
|
6329
6336
|
const input = vue.ref();
|
6330
|
-
const id = vue.
|
6331
|
-
const isInteractive = vue.
|
6337
|
+
const id = vue.toRef(() => props.id || `input-${uid}`);
|
6338
|
+
const isInteractive = vue.toRef(() => !props.disabled && !props.readonly);
|
6332
6339
|
group?.onForceUpdate(() => {
|
6333
6340
|
if (input.value) {
|
6334
6341
|
input.value.checked = model.value;
|
@@ -6466,10 +6473,10 @@
|
|
6466
6473
|
indeterminate.value = false;
|
6467
6474
|
}
|
6468
6475
|
}
|
6469
|
-
const falseIcon = vue.
|
6476
|
+
const falseIcon = vue.toRef(() => {
|
6470
6477
|
return indeterminate.value ? props.indeterminateIcon : props.falseIcon;
|
6471
6478
|
});
|
6472
|
-
const trueIcon = vue.
|
6479
|
+
const trueIcon = vue.toRef(() => {
|
6473
6480
|
return indeterminate.value ? props.indeterminateIcon : props.trueIcon;
|
6474
6481
|
});
|
6475
6482
|
useRender(() => {
|
@@ -6557,7 +6564,7 @@
|
|
6557
6564
|
const {
|
6558
6565
|
textColorClasses,
|
6559
6566
|
textColorStyles
|
6560
|
-
} = useTextColor(
|
6567
|
+
} = useTextColor(() => props.color);
|
6561
6568
|
useRender(() => vue.createVNode(MaybeTransition, {
|
6562
6569
|
"transition": props.transition,
|
6563
6570
|
"tag": "div",
|
@@ -6587,7 +6594,7 @@
|
|
6587
6594
|
function useFocus(props) {
|
6588
6595
|
let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();
|
6589
6596
|
const isFocused = useProxiedModel(props, 'focused');
|
6590
|
-
const focusClasses = vue.
|
6597
|
+
const focusClasses = vue.toRef(() => {
|
6591
6598
|
return {
|
6592
6599
|
[`${name}--focused`]: isFocused.value
|
6593
6600
|
};
|
@@ -6626,8 +6633,8 @@
|
|
6626
6633
|
}, 'form');
|
6627
6634
|
function createForm(props) {
|
6628
6635
|
const model = useProxiedModel(props, 'modelValue');
|
6629
|
-
const isDisabled = vue.
|
6630
|
-
const isReadonly = vue.
|
6636
|
+
const isDisabled = vue.toRef(() => props.disabled);
|
6637
|
+
const isReadonly = vue.toRef(() => props.readonly);
|
6631
6638
|
const isValidating = vue.shallowRef(false);
|
6632
6639
|
const items = vue.ref([]);
|
6633
6640
|
const errors = vue.ref([]);
|
@@ -6717,7 +6724,7 @@
|
|
6717
6724
|
isValidating,
|
6718
6725
|
isValid: model,
|
6719
6726
|
items,
|
6720
|
-
validateOn: vue.toRef(props
|
6727
|
+
validateOn: vue.toRef(() => props.validateOn)
|
6721
6728
|
});
|
6722
6729
|
return {
|
6723
6730
|
errors,
|
@@ -6898,11 +6905,6 @@
|
|
6898
6905
|
}
|
6899
6906
|
async function validate() {
|
6900
6907
|
let silent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
6901
|
-
if (props.disabled || props.readonly) {
|
6902
|
-
internalErrorMessages.value = [];
|
6903
|
-
isValidating.value = false;
|
6904
|
-
return internalErrorMessages.value;
|
6905
|
-
}
|
6906
6908
|
const results = [];
|
6907
6909
|
isValidating.value = true;
|
6908
6910
|
for (const rule of props.rules) {
|
@@ -7032,10 +7034,10 @@
|
|
7032
7034
|
resetValidation,
|
7033
7035
|
validate
|
7034
7036
|
}));
|
7035
|
-
const color = vue.
|
7037
|
+
const color = vue.toRef(() => {
|
7036
7038
|
return props.error || props.disabled ? undefined : props.focused ? props.color : props.baseColor;
|
7037
7039
|
});
|
7038
|
-
const iconColor = vue.
|
7040
|
+
const iconColor = vue.toRef(() => {
|
7039
7041
|
if (!props.iconColor) return undefined;
|
7040
7042
|
return props.iconColor === true ? color.value : props.iconColor;
|
7041
7043
|
});
|
@@ -7125,7 +7127,6 @@
|
|
7125
7127
|
blur
|
7126
7128
|
} = useFocus(props);
|
7127
7129
|
const uid = vue.useId();
|
7128
|
-
const id = vue.computed(() => props.id || `checkbox-${uid}`);
|
7129
7130
|
useRender(() => {
|
7130
7131
|
const [rootAttrs, controlAttrs] = filterInputAttrs(attrs);
|
7131
7132
|
const inputProps = VInput.filterProps(props);
|
@@ -7135,7 +7136,7 @@
|
|
7135
7136
|
}, rootAttrs, inputProps, {
|
7136
7137
|
"modelValue": model.value,
|
7137
7138
|
"onUpdate:modelValue": $event => model.value = $event,
|
7138
|
-
"id": id
|
7139
|
+
"id": props.id || `checkbox-${uid}`,
|
7139
7140
|
"focused": isFocused.value,
|
7140
7141
|
"style": props.style
|
7141
7142
|
}), {
|
@@ -7319,7 +7320,7 @@
|
|
7319
7320
|
return false;
|
7320
7321
|
}
|
7321
7322
|
});
|
7322
|
-
const displayClasses = vue.
|
7323
|
+
const displayClasses = vue.toRef(() => {
|
7323
7324
|
if (!name) return {};
|
7324
7325
|
return {
|
7325
7326
|
[`${name}--mobile`]: mobile.value
|
@@ -7434,7 +7435,7 @@
|
|
7434
7435
|
const goTo = {
|
7435
7436
|
...goToInstance,
|
7436
7437
|
// can be set via VLocaleProvider
|
7437
|
-
rtl: vue.
|
7438
|
+
rtl: vue.toRef(() => goToInstance.rtl.value || isRtl.value)
|
7438
7439
|
};
|
7439
7440
|
async function go(target, options) {
|
7440
7441
|
return scrollTo(target, mergeDeep(_options, options), false, goTo);
|
@@ -7926,11 +7927,11 @@
|
|
7926
7927
|
} = useGroup(props, VChipGroupSymbol);
|
7927
7928
|
provideDefaults({
|
7928
7929
|
VChip: {
|
7929
|
-
baseColor: vue.toRef(props
|
7930
|
-
color: vue.toRef(props
|
7931
|
-
disabled: vue.toRef(props
|
7932
|
-
filter: vue.toRef(props
|
7933
|
-
variant: vue.toRef(props
|
7930
|
+
baseColor: vue.toRef(() => props.baseColor),
|
7931
|
+
color: vue.toRef(() => props.color),
|
7932
|
+
disabled: vue.toRef(() => props.disabled),
|
7933
|
+
filter: vue.toRef(() => props.filter),
|
7934
|
+
variant: vue.toRef(() => props.variant)
|
7934
7935
|
}
|
7935
7936
|
});
|
7936
7937
|
useRender(() => {
|
@@ -8056,9 +8057,9 @@
|
|
8056
8057
|
const isActive = useProxiedModel(props, 'modelValue');
|
8057
8058
|
const group = useGroupItem(props, VChipGroupSymbol, false);
|
8058
8059
|
const link = useLink(props, attrs);
|
8059
|
-
const isLink = vue.
|
8060
|
+
const isLink = vue.toRef(() => props.link !== false && link.isLink.value);
|
8060
8061
|
const isClickable = vue.computed(() => !props.disabled && props.link !== false && (!!group || props.link || link.isClickable.value));
|
8061
|
-
const closeProps = vue.
|
8062
|
+
const closeProps = vue.toRef(() => ({
|
8062
8063
|
'aria-label': t(props.closeLabel),
|
8063
8064
|
onClick(e) {
|
8064
8065
|
e.preventDefault();
|
@@ -8067,18 +8068,17 @@
|
|
8067
8068
|
emit('click:close', e);
|
8068
8069
|
}
|
8069
8070
|
}));
|
8070
|
-
const
|
8071
|
+
const {
|
8072
|
+
colorClasses,
|
8073
|
+
colorStyles,
|
8074
|
+
variantClasses
|
8075
|
+
} = useVariant(() => {
|
8071
8076
|
const showColor = !group || group.isSelected.value;
|
8072
8077
|
return {
|
8073
8078
|
color: showColor ? props.color ?? props.baseColor : props.baseColor,
|
8074
8079
|
variant: props.variant
|
8075
8080
|
};
|
8076
8081
|
});
|
8077
|
-
const {
|
8078
|
-
colorClasses,
|
8079
|
-
colorStyles,
|
8080
|
-
variantClasses
|
8081
|
-
} = useVariant(variantProps);
|
8082
8082
|
function onClick(e) {
|
8083
8083
|
emit('click', e);
|
8084
8084
|
if (!isClickable.value) return;
|
@@ -8745,8 +8745,8 @@
|
|
8745
8745
|
id: vue.shallowRef(),
|
8746
8746
|
root: {
|
8747
8747
|
opened,
|
8748
|
-
activatable: vue.toRef(props
|
8749
|
-
selectable: vue.toRef(props
|
8748
|
+
activatable: vue.toRef(() => props.activatable),
|
8749
|
+
selectable: vue.toRef(() => props.selectable),
|
8750
8750
|
activated,
|
8751
8751
|
selected,
|
8752
8752
|
selectedValues: vue.computed(() => {
|
@@ -8875,7 +8875,7 @@
|
|
8875
8875
|
const useNestedItem = (id, isGroup) => {
|
8876
8876
|
const parent = vue.inject(VNestedSymbol, emptyNested);
|
8877
8877
|
const uidSymbol = Symbol('nested item');
|
8878
|
-
const computedId = vue.computed(() =>
|
8878
|
+
const computedId = vue.computed(() => vue.toValue(id) ?? uidSymbol);
|
8879
8879
|
const item = {
|
8880
8880
|
...parent,
|
8881
8881
|
id: computedId,
|
@@ -8951,7 +8951,7 @@
|
|
8951
8951
|
isOpen,
|
8952
8952
|
open,
|
8953
8953
|
id: _id
|
8954
|
-
} = useNestedItem(
|
8954
|
+
} = useNestedItem(() => props.value, true);
|
8955
8955
|
const id = vue.computed(() => `v-list-group--id-${String(_id.value)}`);
|
8956
8956
|
const list = useList();
|
8957
8957
|
const {
|
@@ -9125,12 +9125,12 @@
|
|
9125
9125
|
} = useNestedItem(id, false);
|
9126
9126
|
const list = useList();
|
9127
9127
|
const isActive = vue.computed(() => props.active !== false && (props.active || link.isActive?.value || (root.activatable.value ? isActivated.value : isSelected.value)));
|
9128
|
-
const isLink = vue.
|
9128
|
+
const isLink = vue.toRef(() => props.link !== false && link.isLink.value);
|
9129
9129
|
const isSelectable = vue.computed(() => !!list && (root.selectable.value || root.activatable.value || props.value != null));
|
9130
9130
|
const isClickable = vue.computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value || isSelectable.value));
|
9131
|
-
const roundedProps = vue.
|
9132
|
-
const color = vue.
|
9133
|
-
const variantProps = vue.
|
9131
|
+
const roundedProps = vue.toRef(() => props.rounded || props.nav);
|
9132
|
+
const color = vue.toRef(() => props.color ?? props.activeColor);
|
9133
|
+
const variantProps = vue.toRef(() => ({
|
9134
9134
|
color: isActive.value ? color.value ?? props.baseColor : props.baseColor,
|
9135
9135
|
variant: props.variant
|
9136
9136
|
}));
|
@@ -9173,7 +9173,7 @@
|
|
9173
9173
|
const {
|
9174
9174
|
roundedClasses
|
9175
9175
|
} = useRounded(roundedProps);
|
9176
|
-
const lineClasses = vue.
|
9176
|
+
const lineClasses = vue.toRef(() => props.lines ? `v-list-item--${props.lines}-line` : undefined);
|
9177
9177
|
const slotProps = vue.computed(() => ({
|
9178
9178
|
isActive: isActive.value,
|
9179
9179
|
select,
|
@@ -9343,7 +9343,7 @@
|
|
9343
9343
|
const {
|
9344
9344
|
textColorClasses,
|
9345
9345
|
textColorStyles
|
9346
|
-
} = useTextColor(
|
9346
|
+
} = useTextColor(() => props.color);
|
9347
9347
|
useRender(() => {
|
9348
9348
|
const hasText = !!(slots.default || props.title);
|
9349
9349
|
return vue.createVNode(props.tag, {
|
@@ -9388,7 +9388,7 @@
|
|
9388
9388
|
const {
|
9389
9389
|
textColorClasses,
|
9390
9390
|
textColorStyles
|
9391
|
-
} = useTextColor(
|
9391
|
+
} = useTextColor(() => props.color);
|
9392
9392
|
const dividerStyles = vue.computed(() => {
|
9393
9393
|
const styles = {};
|
9394
9394
|
if (props.length) {
|
@@ -9750,7 +9750,7 @@
|
|
9750
9750
|
const {
|
9751
9751
|
backgroundColorClasses,
|
9752
9752
|
backgroundColorStyles
|
9753
|
-
} = useBackgroundColor(
|
9753
|
+
} = useBackgroundColor(() => props.bgColor);
|
9754
9754
|
const {
|
9755
9755
|
borderClasses
|
9756
9756
|
} = useBorder(props);
|
@@ -9773,30 +9773,30 @@
|
|
9773
9773
|
select,
|
9774
9774
|
getPath
|
9775
9775
|
} = useNested(props);
|
9776
|
-
const lineClasses = vue.
|
9777
|
-
const activeColor = vue.toRef(props
|
9778
|
-
const baseColor = vue.toRef(props
|
9779
|
-
const color = vue.toRef(props
|
9776
|
+
const lineClasses = vue.toRef(() => props.lines ? `v-list--${props.lines}-line` : undefined);
|
9777
|
+
const activeColor = vue.toRef(() => props.activeColor);
|
9778
|
+
const baseColor = vue.toRef(() => props.baseColor);
|
9779
|
+
const color = vue.toRef(() => props.color);
|
9780
9780
|
createList();
|
9781
9781
|
provideDefaults({
|
9782
9782
|
VListGroup: {
|
9783
9783
|
activeColor,
|
9784
9784
|
baseColor,
|
9785
9785
|
color,
|
9786
|
-
expandIcon: vue.toRef(props
|
9787
|
-
collapseIcon: vue.toRef(props
|
9786
|
+
expandIcon: vue.toRef(() => props.expandIcon),
|
9787
|
+
collapseIcon: vue.toRef(() => props.collapseIcon)
|
9788
9788
|
},
|
9789
9789
|
VListItem: {
|
9790
|
-
activeClass: vue.toRef(props
|
9790
|
+
activeClass: vue.toRef(() => props.activeClass),
|
9791
9791
|
activeColor,
|
9792
9792
|
baseColor,
|
9793
9793
|
color,
|
9794
|
-
density: vue.toRef(props
|
9795
|
-
disabled: vue.toRef(props
|
9796
|
-
lines: vue.toRef(props
|
9797
|
-
nav: vue.toRef(props
|
9798
|
-
slim: vue.toRef(props
|
9799
|
-
variant: vue.toRef(props
|
9794
|
+
density: vue.toRef(() => props.density),
|
9795
|
+
disabled: vue.toRef(() => props.disabled),
|
9796
|
+
lines: vue.toRef(() => props.lines),
|
9797
|
+
nav: vue.toRef(() => props.nav),
|
9798
|
+
slim: vue.toRef(() => props.slim),
|
9799
|
+
variant: vue.toRef(() => props.variant)
|
9800
9800
|
}
|
9801
9801
|
});
|
9802
9802
|
const isFocused = vue.shallowRef(false);
|
@@ -10124,13 +10124,22 @@
|
|
10124
10124
|
vue.onScopeDispose(() => {
|
10125
10125
|
observer.disconnect();
|
10126
10126
|
});
|
10127
|
+
let targetBox = new Box({
|
10128
|
+
x: 0,
|
10129
|
+
y: 0,
|
10130
|
+
width: 0,
|
10131
|
+
height: 0
|
10132
|
+
});
|
10127
10133
|
|
10128
10134
|
// eslint-disable-next-line max-statements
|
10129
10135
|
function updateLocation() {
|
10130
10136
|
observe = false;
|
10131
10137
|
requestAnimationFrame(() => observe = true);
|
10132
10138
|
if (!data.target.value || !data.contentEl.value) return;
|
10133
|
-
|
10139
|
+
if (Array.isArray(data.target.value) || data.target.value.offsetParent) {
|
10140
|
+
targetBox = getTargetBox(data.target.value);
|
10141
|
+
} // Otherwise target element is hidden, use last known value
|
10142
|
+
|
10134
10143
|
const contentBox = getIntrinsicSize(data.contentEl.value, data.isRtl.value);
|
10135
10144
|
const scrollParents = getScrollParents(data.contentEl.value);
|
10136
10145
|
const viewportMargin = 12;
|
@@ -10840,7 +10849,7 @@
|
|
10840
10849
|
}, 'lazy');
|
10841
10850
|
function useLazy(props, active) {
|
10842
10851
|
const isBooted = vue.shallowRef(false);
|
10843
|
-
const hasContent = vue.
|
10852
|
+
const hasContent = vue.toRef(() => isBooted.value || props.eager || active.value);
|
10844
10853
|
vue.watch(active, () => isBooted.value = true);
|
10845
10854
|
function onAfterLeave() {
|
10846
10855
|
if (!props.eager) isBooted.value = false;
|
@@ -10877,10 +10886,10 @@
|
|
10877
10886
|
activeChildren: new Set()
|
10878
10887
|
});
|
10879
10888
|
vue.provide(StackSymbol, stack);
|
10880
|
-
const _zIndex = vue.shallowRef(Number(zIndex
|
10889
|
+
const _zIndex = vue.shallowRef(Number(vue.toValue(zIndex)));
|
10881
10890
|
useToggleScope(isActive, () => {
|
10882
10891
|
const lastZIndex = globalStack.at(-1)?.[1];
|
10883
|
-
_zIndex.value = lastZIndex ? lastZIndex + 10 : Number(zIndex
|
10892
|
+
_zIndex.value = lastZIndex ? lastZIndex + 10 : Number(vue.toValue(zIndex));
|
10884
10893
|
if (createStackEntry) {
|
10885
10894
|
globalStack.push([vm.uid, _zIndex.value]);
|
10886
10895
|
}
|
@@ -10900,11 +10909,11 @@
|
|
10900
10909
|
setTimeout(() => globalTop.value = _isTop);
|
10901
10910
|
});
|
10902
10911
|
}
|
10903
|
-
const localTop = vue.
|
10912
|
+
const localTop = vue.toRef(() => !stack.activeChildren.size);
|
10904
10913
|
return {
|
10905
10914
|
globalTop: vue.readonly(globalTop),
|
10906
10915
|
localTop,
|
10907
|
-
stackStyles: vue.
|
10916
|
+
stackStyles: vue.toRef(() => ({
|
10908
10917
|
zIndex: _zIndex.value
|
10909
10918
|
}))
|
10910
10919
|
};
|
@@ -11121,14 +11130,14 @@
|
|
11121
11130
|
hasContent,
|
11122
11131
|
onAfterLeave: _onAfterLeave
|
11123
11132
|
} = useLazy(props, isActive);
|
11124
|
-
const scrimColor = useBackgroundColor(
|
11133
|
+
const scrimColor = useBackgroundColor(() => {
|
11125
11134
|
return typeof props.scrim === 'string' ? props.scrim : null;
|
11126
|
-
})
|
11135
|
+
});
|
11127
11136
|
const {
|
11128
11137
|
globalTop,
|
11129
11138
|
localTop,
|
11130
11139
|
stackStyles
|
11131
|
-
} = useStack(isActive,
|
11140
|
+
} = useStack(isActive, () => props.zIndex, props._disableGlobalStack);
|
11132
11141
|
const {
|
11133
11142
|
activatorEl,
|
11134
11143
|
activatorRef,
|
@@ -11454,7 +11463,7 @@
|
|
11454
11463
|
isRtl
|
11455
11464
|
} = useRtl();
|
11456
11465
|
const uid = vue.useId();
|
11457
|
-
const id = vue.
|
11466
|
+
const id = vue.toRef(() => props.id || `v-menu-${uid}`);
|
11458
11467
|
const overlay = vue.ref();
|
11459
11468
|
const parent = vue.inject(VMenuSymbol, null);
|
11460
11469
|
const openChildren = vue.shallowRef(new Set());
|
@@ -11622,7 +11631,7 @@
|
|
11622
11631
|
let {
|
11623
11632
|
slots
|
11624
11633
|
} = _ref;
|
11625
|
-
const counter = vue.
|
11634
|
+
const counter = vue.toRef(() => {
|
11626
11635
|
return props.max ? `${props.value} / ${props.max}` : String(props.value);
|
11627
11636
|
});
|
11628
11637
|
useRender(() => vue.createVNode(MaybeTransition, {
|
@@ -11749,12 +11758,12 @@
|
|
11749
11758
|
const {
|
11750
11759
|
rtlClasses
|
11751
11760
|
} = useRtl();
|
11752
|
-
const isActive = vue.
|
11753
|
-
const hasLabel = vue.
|
11754
|
-
const hasFloatingLabel = vue.
|
11761
|
+
const isActive = vue.toRef(() => props.dirty || props.active);
|
11762
|
+
const hasLabel = vue.toRef(() => !!(props.label || slots.label));
|
11763
|
+
const hasFloatingLabel = vue.toRef(() => !props.singleLine && hasLabel.value);
|
11755
11764
|
const uid = vue.useId();
|
11756
11765
|
const id = vue.computed(() => props.id || `input-${uid}`);
|
11757
|
-
const messagesId = vue.
|
11766
|
+
const messagesId = vue.toRef(() => `${id.value}-messages`);
|
11758
11767
|
const labelRef = vue.ref();
|
11759
11768
|
const floatingLabelRef = vue.ref();
|
11760
11769
|
const controlRef = vue.ref();
|
@@ -11769,7 +11778,7 @@
|
|
11769
11778
|
const {
|
11770
11779
|
backgroundColorClasses,
|
11771
11780
|
backgroundColorStyles
|
11772
|
-
} = useBackgroundColor(
|
11781
|
+
} = useBackgroundColor(() => props.bgColor);
|
11773
11782
|
const {
|
11774
11783
|
textColorClasses,
|
11775
11784
|
textColorStyles
|
@@ -12496,7 +12505,7 @@
|
|
12496
12505
|
paddingTop,
|
12497
12506
|
paddingBottom,
|
12498
12507
|
computedItems
|
12499
|
-
} = useVirtual(props, vue.toRef(props
|
12508
|
+
} = useVirtual(props, vue.toRef(() => props.items));
|
12500
12509
|
useToggleScope(() => props.renderless, () => {
|
12501
12510
|
function handleListeners() {
|
12502
12511
|
let add = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
@@ -12733,7 +12742,7 @@
|
|
12733
12742
|
_menu.value = v;
|
12734
12743
|
}
|
12735
12744
|
});
|
12736
|
-
const label = vue.
|
12745
|
+
const label = vue.toRef(() => menu.value ? props.closeText : props.openText);
|
12737
12746
|
const computedMenuProps = vue.computed(() => {
|
12738
12747
|
return {
|
12739
12748
|
...props.menuProps,
|
@@ -13235,7 +13244,6 @@
|
|
13235
13244
|
const vMenuRef = vue.ref();
|
13236
13245
|
const vVirtualScrollRef = vue.ref();
|
13237
13246
|
const selectionIndex = vue.shallowRef(-1);
|
13238
|
-
const color = vue.computed(() => vTextFieldRef.value?.color);
|
13239
13247
|
const {
|
13240
13248
|
items,
|
13241
13249
|
transformIn,
|
@@ -13244,7 +13252,7 @@
|
|
13244
13252
|
const {
|
13245
13253
|
textColorClasses,
|
13246
13254
|
textColorStyles
|
13247
|
-
} = useTextColor(color);
|
13255
|
+
} = useTextColor(() => vTextFieldRef.value?.color);
|
13248
13256
|
const search = useProxiedModel(props, 'search', '');
|
13249
13257
|
const model = useProxiedModel(props, 'modelValue', [], v => transformIn(v === null ? [null] : wrapInArray(v)), v => {
|
13250
13258
|
const transformed = transformOut(v);
|
@@ -13693,7 +13701,7 @@
|
|
13693
13701
|
const {
|
13694
13702
|
backgroundColorClasses,
|
13695
13703
|
backgroundColorStyles
|
13696
|
-
} = useBackgroundColor(
|
13704
|
+
} = useBackgroundColor(() => props.color);
|
13697
13705
|
const {
|
13698
13706
|
roundedClasses
|
13699
13707
|
} = useRounded(props);
|
@@ -13703,7 +13711,7 @@
|
|
13703
13711
|
const {
|
13704
13712
|
textColorClasses,
|
13705
13713
|
textColorStyles
|
13706
|
-
} = useTextColor(
|
13714
|
+
} = useTextColor(() => props.textColor);
|
13707
13715
|
const {
|
13708
13716
|
themeClasses
|
13709
13717
|
} = useTheme();
|
@@ -13815,7 +13823,7 @@
|
|
13815
13823
|
const {
|
13816
13824
|
backgroundColorClasses,
|
13817
13825
|
backgroundColorStyles
|
13818
|
-
} = useBackgroundColor(props
|
13826
|
+
} = useBackgroundColor(() => props.bgColor);
|
13819
13827
|
const {
|
13820
13828
|
borderClasses
|
13821
13829
|
} = useBorder(props);
|
@@ -13844,8 +13852,8 @@
|
|
13844
13852
|
const {
|
13845
13853
|
themeClasses
|
13846
13854
|
} = provideTheme(props);
|
13847
|
-
const color = vue.toRef(props
|
13848
|
-
const density = vue.toRef(props
|
13855
|
+
const color = vue.toRef(() => props.color);
|
13856
|
+
const density = vue.toRef(() => props.density);
|
13849
13857
|
provideDefaults({
|
13850
13858
|
VBannerActions: {
|
13851
13859
|
color,
|
@@ -13954,7 +13962,7 @@
|
|
13954
13962
|
const {
|
13955
13963
|
backgroundColorClasses,
|
13956
13964
|
backgroundColorStyles
|
13957
|
-
} = useBackgroundColor(
|
13965
|
+
} = useBackgroundColor(() => props.bgColor);
|
13958
13966
|
const {
|
13959
13967
|
densityClasses
|
13960
13968
|
} = useDensity(props);
|
@@ -13974,19 +13982,19 @@
|
|
13974
13982
|
} = useLayoutItem({
|
13975
13983
|
id: props.name,
|
13976
13984
|
order: vue.computed(() => parseInt(props.order, 10)),
|
13977
|
-
position: vue.
|
13978
|
-
layoutSize: vue.
|
13985
|
+
position: vue.toRef(() => 'bottom'),
|
13986
|
+
layoutSize: vue.toRef(() => isActive.value ? height.value : 0),
|
13979
13987
|
elementSize: height,
|
13980
13988
|
active: isActive,
|
13981
|
-
absolute: vue.toRef(props
|
13989
|
+
absolute: vue.toRef(() => props.absolute)
|
13982
13990
|
});
|
13983
13991
|
useGroup(props, VBtnToggleSymbol);
|
13984
13992
|
provideDefaults({
|
13985
13993
|
VBtn: {
|
13986
|
-
baseColor: vue.toRef(props
|
13987
|
-
color: vue.toRef(props
|
13988
|
-
density: vue.toRef(props
|
13989
|
-
stacked: vue.
|
13994
|
+
baseColor: vue.toRef(() => props.baseColor),
|
13995
|
+
color: vue.toRef(() => props.color),
|
13996
|
+
density: vue.toRef(() => props.density),
|
13997
|
+
stacked: vue.toRef(() => props.mode !== 'horizontal'),
|
13990
13998
|
variant: 'text'
|
13991
13999
|
}
|
13992
14000
|
}, {
|
@@ -14222,11 +14230,10 @@
|
|
14222
14230
|
} = _ref;
|
14223
14231
|
const link = useLink(props, attrs);
|
14224
14232
|
const isActive = vue.computed(() => props.active || link.isActive?.value);
|
14225
|
-
const color = vue.computed(() => isActive.value ? props.activeColor : props.color);
|
14226
14233
|
const {
|
14227
14234
|
textColorClasses,
|
14228
14235
|
textColorStyles
|
14229
|
-
} = useTextColor(color);
|
14236
|
+
} = useTextColor(() => isActive.value ? props.activeColor : props.color);
|
14230
14237
|
useRender(() => {
|
14231
14238
|
return vue.createVNode(props.tag, {
|
14232
14239
|
"class": ['v-breadcrumbs-item', {
|
@@ -14281,7 +14288,7 @@
|
|
14281
14288
|
const {
|
14282
14289
|
backgroundColorClasses,
|
14283
14290
|
backgroundColorStyles
|
14284
|
-
} = useBackgroundColor(
|
14291
|
+
} = useBackgroundColor(() => props.bgColor);
|
14285
14292
|
const {
|
14286
14293
|
densityClasses
|
14287
14294
|
} = useDensity(props);
|
@@ -14290,13 +14297,13 @@
|
|
14290
14297
|
} = useRounded(props);
|
14291
14298
|
provideDefaults({
|
14292
14299
|
VBreadcrumbsDivider: {
|
14293
|
-
divider: vue.toRef(props
|
14300
|
+
divider: vue.toRef(() => props.divider)
|
14294
14301
|
},
|
14295
14302
|
VBreadcrumbsItem: {
|
14296
|
-
activeClass: vue.toRef(props
|
14297
|
-
activeColor: vue.toRef(props
|
14298
|
-
color: vue.toRef(props
|
14299
|
-
disabled: vue.toRef(props
|
14303
|
+
activeClass: vue.toRef(() => props.activeClass),
|
14304
|
+
activeColor: vue.toRef(() => props.activeColor),
|
14305
|
+
color: vue.toRef(() => props.color),
|
14306
|
+
disabled: vue.toRef(() => props.disabled)
|
14300
14307
|
}
|
14301
14308
|
});
|
14302
14309
|
const items = vue.computed(() => props.items.map(item => {
|
@@ -14619,10 +14626,10 @@
|
|
14619
14626
|
roundedClasses
|
14620
14627
|
} = useRounded(props);
|
14621
14628
|
const link = useLink(props, attrs);
|
14622
|
-
const isLink = vue.computed(() => props.link !== false && link.isLink.value);
|
14623
|
-
const isClickable = vue.computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value));
|
14624
14629
|
useRender(() => {
|
14625
|
-
const
|
14630
|
+
const isLink = props.link !== false && link.isLink.value;
|
14631
|
+
const isClickable = !props.disabled && props.link !== false && (props.link || link.isClickable.value);
|
14632
|
+
const Tag = isLink ? 'a' : props.tag;
|
14626
14633
|
const hasTitle = !!(slots.title || props.title != null);
|
14627
14634
|
const hasSubtitle = !!(slots.subtitle || props.subtitle != null);
|
14628
14635
|
const hasHeader = hasTitle || hasSubtitle;
|
@@ -14636,10 +14643,10 @@
|
|
14636
14643
|
'v-card--disabled': props.disabled,
|
14637
14644
|
'v-card--flat': props.flat,
|
14638
14645
|
'v-card--hover': props.hover && !(props.disabled || props.flat),
|
14639
|
-
'v-card--link': isClickable
|
14646
|
+
'v-card--link': isClickable
|
14640
14647
|
}, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class],
|
14641
14648
|
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value, props.style],
|
14642
|
-
"onClick": isClickable
|
14649
|
+
"onClick": isClickable && link.navigate,
|
14643
14650
|
"tabindex": props.disabled ? -1 : undefined
|
14644
14651
|
}, link.linkProps), {
|
14645
14652
|
default: () => [hasImage && vue.createVNode("div", {
|
@@ -14684,8 +14691,8 @@
|
|
14684
14691
|
default: () => [slots.text?.() ?? props.text]
|
14685
14692
|
}), slots.default?.(), slots.actions && vue.createVNode(VCardActions, null, {
|
14686
14693
|
default: slots.actions
|
14687
|
-
}), genOverlays(isClickable
|
14688
|
-
}), [[vue.resolveDirective("ripple"), isClickable
|
14694
|
+
}), genOverlays(isClickable, 'v-card')]
|
14695
|
+
}), [[vue.resolveDirective("ripple"), isClickable && props.ripple]]);
|
14689
14696
|
});
|
14690
14697
|
return {};
|
14691
14698
|
}
|
@@ -14898,8 +14905,8 @@
|
|
14898
14905
|
transitionHeight,
|
14899
14906
|
rootRef
|
14900
14907
|
});
|
14901
|
-
const canMoveBack = vue.
|
14902
|
-
const canMoveForward = vue.
|
14908
|
+
const canMoveBack = vue.toRef(() => props.continuous || activeIndex.value !== 0);
|
14909
|
+
const canMoveForward = vue.toRef(() => props.continuous || activeIndex.value !== group.items.value.length - 1);
|
14903
14910
|
function prev() {
|
14904
14911
|
canMoveBack.value && group.prev();
|
14905
14912
|
}
|
@@ -15801,7 +15808,7 @@
|
|
15801
15808
|
const {
|
15802
15809
|
isRtl
|
15803
15810
|
} = useRtl();
|
15804
|
-
const isReversed = vue.toRef(props
|
15811
|
+
const isReversed = vue.toRef(() => props.reverse);
|
15805
15812
|
const vertical = vue.computed(() => props.direction === 'vertical');
|
15806
15813
|
const indexFromEnd = vue.computed(() => vertical.value !== isReversed.value);
|
15807
15814
|
const {
|
@@ -15815,7 +15822,7 @@
|
|
15815
15822
|
const tickSize = vue.computed(() => parseInt(props.tickSize, 10));
|
15816
15823
|
const trackSize = vue.computed(() => parseInt(props.trackSize, 10));
|
15817
15824
|
const numTicks = vue.computed(() => (max.value - min.value) / step.value);
|
15818
|
-
const disabled = vue.toRef(props
|
15825
|
+
const disabled = vue.toRef(() => props.disabled);
|
15819
15826
|
const thumbColor = vue.computed(() => props.error || props.disabled ? undefined : props.thumbColor ?? props.color);
|
15820
15827
|
const trackColor = vue.computed(() => props.error || props.disabled ? undefined : props.trackColor ?? props.color);
|
15821
15828
|
const trackFillColor = vue.computed(() => props.error || props.disabled ? undefined : props.trackFillColor ?? props.color);
|
@@ -15917,7 +15924,7 @@
|
|
15917
15924
|
const percentage = (val - min.value) / (max.value - min.value) * 100;
|
15918
15925
|
return clamp(isNaN(percentage) ? 0 : percentage, 0, 100);
|
15919
15926
|
};
|
15920
|
-
const showTicks = vue.toRef(props
|
15927
|
+
const showTicks = vue.toRef(() => props.showTicks);
|
15921
15928
|
const parsedTicks = vue.computed(() => {
|
15922
15929
|
if (!showTicks.value) return [];
|
15923
15930
|
if (!props.ticks) {
|
@@ -15948,11 +15955,11 @@
|
|
15948
15955
|
}));
|
15949
15956
|
const data = {
|
15950
15957
|
activeThumbRef,
|
15951
|
-
color: vue.toRef(props
|
15958
|
+
color: vue.toRef(() => props.color),
|
15952
15959
|
decimals,
|
15953
15960
|
disabled,
|
15954
|
-
direction: vue.toRef(props
|
15955
|
-
elevation: vue.toRef(props
|
15961
|
+
direction: vue.toRef(() => props.direction),
|
15962
|
+
elevation: vue.toRef(() => props.elevation),
|
15956
15963
|
hasLabels,
|
15957
15964
|
isReversed,
|
15958
15965
|
indexFromEnd,
|
@@ -15965,16 +15972,16 @@
|
|
15965
15972
|
parsedTicks,
|
15966
15973
|
parseMouseMove,
|
15967
15974
|
position,
|
15968
|
-
readonly: vue.toRef(props
|
15969
|
-
rounded: vue.toRef(props
|
15975
|
+
readonly: vue.toRef(() => props.readonly),
|
15976
|
+
rounded: vue.toRef(() => props.rounded),
|
15970
15977
|
roundValue,
|
15971
15978
|
showTicks,
|
15972
15979
|
startOffset,
|
15973
15980
|
step,
|
15974
15981
|
thumbSize,
|
15975
15982
|
thumbColor,
|
15976
|
-
thumbLabel: vue.toRef(props
|
15977
|
-
ticks: vue.toRef(props
|
15983
|
+
thumbLabel: vue.toRef(() => props.thumbLabel),
|
15984
|
+
ticks: vue.toRef(() => props.ticks),
|
15978
15985
|
tickSize,
|
15979
15986
|
trackColor,
|
15980
15987
|
trackContainerRef,
|
@@ -16893,7 +16900,7 @@
|
|
16893
16900
|
const {
|
16894
16901
|
backgroundColorClasses,
|
16895
16902
|
backgroundColorStyles
|
16896
|
-
} = useBackgroundColor(
|
16903
|
+
} = useBackgroundColor(() => props.color);
|
16897
16904
|
const {
|
16898
16905
|
borderClasses
|
16899
16906
|
} = useBorder(props);
|
@@ -16940,7 +16947,7 @@
|
|
16940
16947
|
const {
|
16941
16948
|
backgroundColorClasses,
|
16942
16949
|
backgroundColorStyles
|
16943
|
-
} = useBackgroundColor(
|
16950
|
+
} = useBackgroundColor(() => props.color);
|
16944
16951
|
useRender(() => {
|
16945
16952
|
const sheetProps = VSheet.filterProps(props);
|
16946
16953
|
const hasTitle = !!(props.title || slots.title);
|
@@ -17925,7 +17932,6 @@
|
|
17925
17932
|
const vVirtualScrollRef = vue.ref();
|
17926
17933
|
const selectionIndex = vue.shallowRef(-1);
|
17927
17934
|
let cleared = false;
|
17928
|
-
const color = vue.computed(() => vTextFieldRef.value?.color);
|
17929
17935
|
const {
|
17930
17936
|
items,
|
17931
17937
|
transformIn,
|
@@ -17934,7 +17940,7 @@
|
|
17934
17940
|
const {
|
17935
17941
|
textColorClasses,
|
17936
17942
|
textColorStyles
|
17937
|
-
} = useTextColor(color);
|
17943
|
+
} = useTextColor(() => vTextFieldRef.value?.color);
|
17938
17944
|
const model = useProxiedModel(props, 'modelValue', [], v => transformIn(wrapInArray(v)), v => {
|
17939
17945
|
const transformed = transformOut(v);
|
17940
17946
|
return props.multiple ? transformed : transformed[0] ?? null;
|
@@ -17989,7 +17995,7 @@
|
|
17989
17995
|
_menu.value = v;
|
17990
17996
|
}
|
17991
17997
|
});
|
17992
|
-
const label = vue.
|
17998
|
+
const label = vue.toRef(() => menu.value ? props.closeText : props.openText);
|
17993
17999
|
vue.watch(_search, value => {
|
17994
18000
|
if (cleared) {
|
17995
18001
|
// wait for clear to finish, VTextField sets _search to null
|
@@ -18495,7 +18501,7 @@
|
|
18495
18501
|
}, 'DataTable-expand');
|
18496
18502
|
const VDataTableExpandedKey = Symbol.for('vuetify:datatable:expanded');
|
18497
18503
|
function provideExpanded(props) {
|
18498
|
-
const expandOnClick = vue.toRef(props
|
18504
|
+
const expandOnClick = vue.toRef(() => props.expandOnClick);
|
18499
18505
|
const expanded = useProxiedModel(props, 'expanded', props.expanded, v => {
|
18500
18506
|
return new Set(v);
|
18501
18507
|
}, v => {
|
@@ -18682,23 +18688,23 @@
|
|
18682
18688
|
search
|
18683
18689
|
} = _ref;
|
18684
18690
|
const vm = getCurrentInstance('VDataTable');
|
18685
|
-
const options =
|
18691
|
+
const options = () => ({
|
18686
18692
|
page: page.value,
|
18687
18693
|
itemsPerPage: itemsPerPage.value,
|
18688
18694
|
sortBy: sortBy.value,
|
18689
18695
|
groupBy: groupBy.value,
|
18690
18696
|
search: search.value
|
18691
|
-
})
|
18697
|
+
});
|
18692
18698
|
let oldOptions = null;
|
18693
|
-
vue.watch(options,
|
18694
|
-
if (deepEqual(oldOptions,
|
18699
|
+
vue.watch(options, value => {
|
18700
|
+
if (deepEqual(oldOptions, value)) return;
|
18695
18701
|
|
18696
18702
|
// Reset page when searching
|
18697
|
-
if (oldOptions && oldOptions.search !==
|
18703
|
+
if (oldOptions && oldOptions.search !== value.search) {
|
18698
18704
|
page.value = 1;
|
18699
18705
|
}
|
18700
|
-
vm.emit('update:options',
|
18701
|
-
oldOptions =
|
18706
|
+
vm.emit('update:options', value);
|
18707
|
+
oldOptions = value;
|
18702
18708
|
}, {
|
18703
18709
|
deep: true,
|
18704
18710
|
immediate: true
|
@@ -18979,7 +18985,7 @@
|
|
18979
18985
|
});
|
18980
18986
|
return !!items.length && isSelected(items);
|
18981
18987
|
});
|
18982
|
-
const showSelectAll = vue.
|
18988
|
+
const showSelectAll = vue.toRef(() => selectStrategy.value.showSelectAll);
|
18983
18989
|
const data = {
|
18984
18990
|
toggleSelect,
|
18985
18991
|
select,
|
@@ -19017,8 +19023,8 @@
|
|
19017
19023
|
const VDataTableSortSymbol = Symbol.for('vuetify:data-table-sort');
|
19018
19024
|
function createSort(props) {
|
19019
19025
|
const sortBy = useProxiedModel(props, 'sortBy');
|
19020
|
-
const mustSort = vue.toRef(props
|
19021
|
-
const multiSort = vue.toRef(props
|
19026
|
+
const mustSort = vue.toRef(() => props.mustSort);
|
19027
|
+
const multiSort = vue.toRef(() => props.multiSort);
|
19022
19028
|
return {
|
19023
19029
|
sortBy,
|
19024
19030
|
mustSort,
|
@@ -19236,7 +19242,7 @@
|
|
19236
19242
|
slots
|
19237
19243
|
} = _ref;
|
19238
19244
|
const groupBy = useProxiedModel(props, 'groupBy');
|
19239
|
-
const search = vue.toRef(props
|
19245
|
+
const search = vue.toRef(() => props.search);
|
19240
19246
|
const {
|
19241
19247
|
items
|
19242
19248
|
} = useDataIteratorItems(props);
|
@@ -19280,7 +19286,7 @@
|
|
19280
19286
|
const {
|
19281
19287
|
flatItems
|
19282
19288
|
} = useGroupedItems(sortedItems, groupBy, opened);
|
19283
|
-
const itemsLength = vue.
|
19289
|
+
const itemsLength = vue.toRef(() => flatItems.value.length);
|
19284
19290
|
const {
|
19285
19291
|
startIndex,
|
19286
19292
|
stopIndex,
|
@@ -19560,13 +19566,13 @@
|
|
19560
19566
|
} = useRefs();
|
19561
19567
|
provideDefaults({
|
19562
19568
|
VPaginationBtn: {
|
19563
|
-
color: vue.toRef(props
|
19564
|
-
border: vue.toRef(props
|
19565
|
-
density: vue.toRef(props
|
19566
|
-
size: vue.toRef(props
|
19567
|
-
variant: vue.toRef(props
|
19568
|
-
rounded: vue.toRef(props
|
19569
|
-
elevation: vue.toRef(props
|
19569
|
+
color: vue.toRef(() => props.color),
|
19570
|
+
border: vue.toRef(() => props.border),
|
19571
|
+
density: vue.toRef(() => props.density),
|
19572
|
+
size: vue.toRef(() => props.size),
|
19573
|
+
variant: vue.toRef(() => props.variant),
|
19574
|
+
rounded: vue.toRef(() => props.rounded),
|
19575
|
+
elevation: vue.toRef(() => props.elevation)
|
19570
19576
|
}
|
19571
19577
|
});
|
19572
19578
|
const items = vue.computed(() => {
|
@@ -20207,7 +20213,7 @@
|
|
20207
20213
|
const {
|
20208
20214
|
backgroundColorClasses,
|
20209
20215
|
backgroundColorStyles
|
20210
|
-
} = useBackgroundColor(props
|
20216
|
+
} = useBackgroundColor(() => props.color);
|
20211
20217
|
const {
|
20212
20218
|
displayClasses,
|
20213
20219
|
mobile
|
@@ -20865,13 +20871,13 @@
|
|
20865
20871
|
filterFunctions
|
20866
20872
|
} = createHeaders(props, {
|
20867
20873
|
groupBy,
|
20868
|
-
showSelect: vue.toRef(props
|
20869
|
-
showExpand: vue.toRef(props
|
20874
|
+
showSelect: vue.toRef(() => props.showSelect),
|
20875
|
+
showExpand: vue.toRef(() => props.showExpand)
|
20870
20876
|
});
|
20871
20877
|
const {
|
20872
20878
|
items
|
20873
20879
|
} = useDataTableItems(props, columns);
|
20874
|
-
const search = vue.toRef(props
|
20880
|
+
const search = vue.toRef(() => props.search);
|
20875
20881
|
const {
|
20876
20882
|
filteredItems
|
20877
20883
|
} = useFilter(props, items, search, {
|
@@ -20954,10 +20960,10 @@
|
|
20954
20960
|
});
|
20955
20961
|
provideDefaults({
|
20956
20962
|
VDataTableRows: {
|
20957
|
-
hideNoData: vue.toRef(props
|
20958
|
-
noDataText: vue.toRef(props
|
20959
|
-
loading: vue.toRef(props
|
20960
|
-
loadingText: vue.toRef(props
|
20963
|
+
hideNoData: vue.toRef(() => props.hideNoData),
|
20964
|
+
noDataText: vue.toRef(() => props.noDataText),
|
20965
|
+
loading: vue.toRef(() => props.loading),
|
20966
|
+
loadingText: vue.toRef(() => props.loadingText)
|
20961
20967
|
}
|
20962
20968
|
});
|
20963
20969
|
const slotProps = vue.computed(() => ({
|
@@ -21054,13 +21060,13 @@
|
|
21054
21060
|
sortRawFunctions
|
21055
21061
|
} = createHeaders(props, {
|
21056
21062
|
groupBy,
|
21057
|
-
showSelect: vue.toRef(props
|
21058
|
-
showExpand: vue.toRef(props
|
21063
|
+
showSelect: vue.toRef(() => props.showSelect),
|
21064
|
+
showExpand: vue.toRef(() => props.showExpand)
|
21059
21065
|
});
|
21060
21066
|
const {
|
21061
21067
|
items
|
21062
21068
|
} = useDataTableItems(props, columns);
|
21063
|
-
const search = vue.toRef(props
|
21069
|
+
const search = vue.toRef(() => props.search);
|
21064
21070
|
const {
|
21065
21071
|
filteredItems
|
21066
21072
|
} = useFilter(props, items, search, {
|
@@ -21136,10 +21142,10 @@
|
|
21136
21142
|
});
|
21137
21143
|
provideDefaults({
|
21138
21144
|
VDataTableRows: {
|
21139
|
-
hideNoData: vue.toRef(props
|
21140
|
-
noDataText: vue.toRef(props
|
21141
|
-
loading: vue.toRef(props
|
21142
|
-
loadingText: vue.toRef(props
|
21145
|
+
hideNoData: vue.toRef(() => props.hideNoData),
|
21146
|
+
noDataText: vue.toRef(() => props.noDataText),
|
21147
|
+
loading: vue.toRef(() => props.loading),
|
21148
|
+
loadingText: vue.toRef(() => props.loadingText)
|
21143
21149
|
}
|
21144
21150
|
});
|
21145
21151
|
const slotProps = vue.computed(() => ({
|
@@ -21292,8 +21298,8 @@
|
|
21292
21298
|
headers
|
21293
21299
|
} = createHeaders(props, {
|
21294
21300
|
groupBy,
|
21295
|
-
showSelect: vue.toRef(props
|
21296
|
-
showExpand: vue.toRef(props
|
21301
|
+
showSelect: vue.toRef(() => props.showSelect),
|
21302
|
+
showExpand: vue.toRef(() => props.showExpand)
|
21297
21303
|
});
|
21298
21304
|
const {
|
21299
21305
|
items
|
@@ -21348,7 +21354,7 @@
|
|
21348
21354
|
itemsPerPage,
|
21349
21355
|
sortBy,
|
21350
21356
|
groupBy,
|
21351
|
-
search: vue.toRef(props
|
21357
|
+
search: vue.toRef(() => props.search)
|
21352
21358
|
});
|
21353
21359
|
vue.provide('v-data-table', {
|
21354
21360
|
toggleSort,
|
@@ -21356,10 +21362,10 @@
|
|
21356
21362
|
});
|
21357
21363
|
provideDefaults({
|
21358
21364
|
VDataTableRows: {
|
21359
|
-
hideNoData: vue.toRef(props
|
21360
|
-
noDataText: vue.toRef(props
|
21361
|
-
loading: vue.toRef(props
|
21362
|
-
loadingText: vue.toRef(props
|
21365
|
+
hideNoData: vue.toRef(() => props.hideNoData),
|
21366
|
+
noDataText: vue.toRef(() => props.noDataText),
|
21367
|
+
loading: vue.toRef(() => props.loading),
|
21368
|
+
loadingText: vue.toRef(() => props.loadingText)
|
21363
21369
|
}
|
21364
21370
|
});
|
21365
21371
|
const slotProps = vue.computed(() => ({
|
@@ -21829,7 +21835,7 @@
|
|
21829
21835
|
const {
|
21830
21836
|
backgroundColorClasses,
|
21831
21837
|
backgroundColorStyles
|
21832
|
-
} = useBackgroundColor(props
|
21838
|
+
} = useBackgroundColor(() => props.color);
|
21833
21839
|
function onClick() {
|
21834
21840
|
emit('click');
|
21835
21841
|
}
|
@@ -21968,21 +21974,21 @@
|
|
21968
21974
|
const isSame = adapter.isSameDay(date, month.value);
|
21969
21975
|
return {
|
21970
21976
|
date,
|
21971
|
-
isoDate,
|
21972
21977
|
formatted: adapter.format(date, 'keyboardDate'),
|
21973
|
-
year: adapter.getYear(date),
|
21974
|
-
month: adapter.getMonth(date),
|
21975
|
-
isDisabled: isDisabled(date),
|
21976
|
-
isWeekStart: index % 7 === 0,
|
21977
|
-
isWeekEnd: index % 7 === 6,
|
21978
|
-
isToday: adapter.isSameDay(date, today),
|
21979
21978
|
isAdjacent,
|
21980
|
-
|
21981
|
-
isStart,
|
21982
|
-
isSelected: model.value.some(value => adapter.isSameDay(date, value)),
|
21979
|
+
isDisabled: isDisabled(date),
|
21983
21980
|
isEnd,
|
21981
|
+
isHidden: isAdjacent && !props.showAdjacentMonths,
|
21984
21982
|
isSame,
|
21985
|
-
|
21983
|
+
isSelected: model.value.some(value => adapter.isSameDay(date, value)),
|
21984
|
+
isStart,
|
21985
|
+
isToday: adapter.isSameDay(date, today),
|
21986
|
+
isWeekEnd: index % 7 === 6,
|
21987
|
+
isWeekStart: index % 7 === 0,
|
21988
|
+
isoDate,
|
21989
|
+
localized: adapter.format(date, 'dayOfMonth'),
|
21990
|
+
month: adapter.getMonth(date),
|
21991
|
+
year: adapter.getYear(date)
|
21986
21992
|
};
|
21987
21993
|
});
|
21988
21994
|
}
|
@@ -22070,7 +22076,7 @@
|
|
22070
22076
|
const rangeStart = vue.shallowRef();
|
22071
22077
|
const rangeStop = vue.shallowRef();
|
22072
22078
|
const isReverse = vue.shallowRef(false);
|
22073
|
-
const transition = vue.
|
22079
|
+
const transition = vue.toRef(() => {
|
22074
22080
|
return !isReverse.value ? props.transition : props.reverseTransition;
|
22075
22081
|
});
|
22076
22082
|
if (props.multiple === 'range' && model.value.length > 0) {
|
@@ -22450,7 +22456,7 @@
|
|
22450
22456
|
}
|
22451
22457
|
return value && adapter.isValid(value) ? value : today;
|
22452
22458
|
});
|
22453
|
-
const headerColor = vue.
|
22459
|
+
const headerColor = vue.toRef(() => props.headerColor ?? props.color);
|
22454
22460
|
const month = vue.ref(Number(props.month ?? adapter.getMonth(adapter.startOfMonth(internal.value))));
|
22455
22461
|
const year = vue.ref(Number(props.year ?? adapter.getYear(adapter.startOfYear(adapter.setMonth(internal.value, month.value)))));
|
22456
22462
|
const isReversing = vue.shallowRef(false);
|
@@ -22467,8 +22473,8 @@
|
|
22467
22473
|
date = adapter.setYear(date, year.value);
|
22468
22474
|
return adapter.format(date, 'monthAndYear');
|
22469
22475
|
});
|
22470
|
-
// const headerIcon =
|
22471
|
-
const headerTransition = vue.
|
22476
|
+
// const headerIcon = toRef(() => props.inputMode === 'calendar' ? props.keyboardIcon : props.calendarIcon)
|
22477
|
+
const headerTransition = vue.toRef(() => `date-picker-header${isReversing.value ? '-reverse' : ''}-transition`);
|
22472
22478
|
const disabled = vue.computed(() => {
|
22473
22479
|
if (props.disabled) return true;
|
22474
22480
|
const targets = [];
|
@@ -22680,7 +22686,7 @@
|
|
22680
22686
|
const {
|
22681
22687
|
backgroundColorClasses,
|
22682
22688
|
backgroundColorStyles
|
22683
|
-
} = useBackgroundColor(
|
22689
|
+
} = useBackgroundColor(() => props.bgColor);
|
22684
22690
|
const {
|
22685
22691
|
dimensionStyles
|
22686
22692
|
} = useDimension(props);
|
@@ -22843,7 +22849,7 @@
|
|
22843
22849
|
const {
|
22844
22850
|
backgroundColorClasses,
|
22845
22851
|
backgroundColorStyles
|
22846
|
-
} = useBackgroundColor(props
|
22852
|
+
} = useBackgroundColor(() => props.color);
|
22847
22853
|
const {
|
22848
22854
|
dimensionStyles
|
22849
22855
|
} = useDimension(props);
|
@@ -22854,7 +22860,7 @@
|
|
22854
22860
|
expandIcon: props.expandIcon,
|
22855
22861
|
readonly: props.readonly
|
22856
22862
|
}));
|
22857
|
-
const icon = vue.
|
22863
|
+
const icon = vue.toRef(() => expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon);
|
22858
22864
|
useRender(() => vue.withDirectives(vue.createVNode("button", {
|
22859
22865
|
"class": ['v-expansion-panel-title', {
|
22860
22866
|
'v-expansion-panel-title--active': expansionPanel.isSelected.value,
|
@@ -22909,14 +22915,14 @@
|
|
22909
22915
|
const {
|
22910
22916
|
backgroundColorClasses,
|
22911
22917
|
backgroundColorStyles
|
22912
|
-
} = useBackgroundColor(props
|
22918
|
+
} = useBackgroundColor(() => props.bgColor);
|
22913
22919
|
const {
|
22914
22920
|
elevationClasses
|
22915
22921
|
} = useElevation(props);
|
22916
22922
|
const {
|
22917
22923
|
roundedClasses
|
22918
22924
|
} = useRounded(props);
|
22919
|
-
const isDisabled = vue.
|
22925
|
+
const isDisabled = vue.toRef(() => groupItem?.disabled.value || props.disabled);
|
22920
22926
|
const selectedIndices = vue.computed(() => groupItem.group.items.value.reduce((arr, item, index) => {
|
22921
22927
|
if (groupItem.group.selected.value.includes(item.id)) arr.push(index);
|
22922
22928
|
return arr;
|
@@ -23007,21 +23013,21 @@
|
|
23007
23013
|
const {
|
23008
23014
|
themeClasses
|
23009
23015
|
} = provideTheme(props);
|
23010
|
-
const variantClass = vue.
|
23016
|
+
const variantClass = vue.toRef(() => props.variant && `v-expansion-panels--variant-${props.variant}`);
|
23011
23017
|
provideDefaults({
|
23012
23018
|
VExpansionPanel: {
|
23013
|
-
bgColor: vue.toRef(props
|
23014
|
-
collapseIcon: vue.toRef(props
|
23015
|
-
color: vue.toRef(props
|
23016
|
-
eager: vue.toRef(props
|
23017
|
-
elevation: vue.toRef(props
|
23018
|
-
expandIcon: vue.toRef(props
|
23019
|
-
focusable: vue.toRef(props
|
23020
|
-
hideActions: vue.toRef(props
|
23021
|
-
readonly: vue.toRef(props
|
23022
|
-
ripple: vue.toRef(props
|
23023
|
-
rounded: vue.toRef(props
|
23024
|
-
static: vue.toRef(props
|
23019
|
+
bgColor: vue.toRef(() => props.bgColor),
|
23020
|
+
collapseIcon: vue.toRef(() => props.collapseIcon),
|
23021
|
+
color: vue.toRef(() => props.color),
|
23022
|
+
eager: vue.toRef(() => props.eager),
|
23023
|
+
elevation: vue.toRef(() => props.elevation),
|
23024
|
+
expandIcon: vue.toRef(() => props.expandIcon),
|
23025
|
+
focusable: vue.toRef(() => props.focusable),
|
23026
|
+
hideActions: vue.toRef(() => props.hideActions),
|
23027
|
+
readonly: vue.toRef(() => props.readonly),
|
23028
|
+
ripple: vue.toRef(() => props.ripple),
|
23029
|
+
rounded: vue.toRef(() => props.rounded),
|
23030
|
+
static: vue.toRef(() => props.static)
|
23025
23031
|
}
|
23026
23032
|
});
|
23027
23033
|
useRender(() => vue.createVNode(props.tag, {
|
@@ -23083,7 +23089,7 @@
|
|
23083
23089
|
if (!entries.length) return;
|
23084
23090
|
height.value = entries[0].target.clientHeight;
|
23085
23091
|
});
|
23086
|
-
const hasPosition = vue.
|
23092
|
+
const hasPosition = vue.toRef(() => props.app || props.absolute);
|
23087
23093
|
const position = vue.computed(() => {
|
23088
23094
|
if (!hasPosition.value) return false;
|
23089
23095
|
return props.location?.split(' ').shift() ?? 'bottom';
|
@@ -23100,7 +23106,7 @@
|
|
23100
23106
|
layoutSize: vue.computed(() => props.layout ? height.value + 24 : 0),
|
23101
23107
|
elementSize: vue.computed(() => height.value + 24),
|
23102
23108
|
active: vue.computed(() => props.app && model.value),
|
23103
|
-
absolute: vue.toRef(props
|
23109
|
+
absolute: vue.toRef(() => props.absolute)
|
23104
23110
|
});
|
23105
23111
|
vue.watchEffect(() => {
|
23106
23112
|
layoutItemStyles.value = layout.layoutItemStyles.value;
|
@@ -23225,7 +23231,7 @@
|
|
23225
23231
|
const vInputRef = vue.ref();
|
23226
23232
|
const vFieldRef = vue.ref();
|
23227
23233
|
const inputRef = vue.ref();
|
23228
|
-
const isActive = vue.
|
23234
|
+
const isActive = vue.toRef(() => isFocused.value || props.active);
|
23229
23235
|
const isPlainOrUnderlined = vue.computed(() => ['plain', 'underlined'].includes(props.variant));
|
23230
23236
|
function onFocus() {
|
23231
23237
|
if (inputRef.value !== document.activeElement) {
|
@@ -23398,7 +23404,7 @@
|
|
23398
23404
|
const {
|
23399
23405
|
backgroundColorClasses,
|
23400
23406
|
backgroundColorStyles
|
23401
|
-
} = useBackgroundColor(
|
23407
|
+
} = useBackgroundColor(() => props.color);
|
23402
23408
|
const {
|
23403
23409
|
borderClasses
|
23404
23410
|
} = useBorder(props);
|
@@ -23420,11 +23426,11 @@
|
|
23420
23426
|
const layout = useLayoutItem({
|
23421
23427
|
id: props.name,
|
23422
23428
|
order: vue.computed(() => parseInt(props.order, 10)),
|
23423
|
-
position: vue.
|
23429
|
+
position: vue.toRef(() => 'bottom'),
|
23424
23430
|
layoutSize: height,
|
23425
23431
|
elementSize: vue.computed(() => props.height === 'auto' ? undefined : height.value),
|
23426
|
-
active: vue.
|
23427
|
-
absolute: vue.toRef(props
|
23432
|
+
active: vue.toRef(() => props.app),
|
23433
|
+
absolute: vue.toRef(() => props.absolute)
|
23428
23434
|
});
|
23429
23435
|
vue.watchEffect(() => {
|
23430
23436
|
layoutItemStyles.value = layout.layoutItemStyles.value;
|
@@ -23897,11 +23903,11 @@
|
|
23897
23903
|
} = useLayoutItem({
|
23898
23904
|
id: props.name,
|
23899
23905
|
order: vue.computed(() => parseInt(props.order, 10)),
|
23900
|
-
position: vue.toRef(props
|
23901
|
-
elementSize: vue.toRef(props
|
23902
|
-
layoutSize: vue.toRef(props
|
23903
|
-
active: vue.toRef(props
|
23904
|
-
absolute: vue.toRef(props
|
23906
|
+
position: vue.toRef(() => props.position),
|
23907
|
+
elementSize: vue.toRef(() => props.size),
|
23908
|
+
layoutSize: vue.toRef(() => props.size),
|
23909
|
+
active: vue.toRef(() => props.modelValue),
|
23910
|
+
absolute: vue.toRef(() => props.absolute)
|
23905
23911
|
});
|
23906
23912
|
return () => vue.createVNode("div", {
|
23907
23913
|
"class": ['v-layout-item', props.class],
|
@@ -24433,7 +24439,7 @@
|
|
24433
24439
|
const {
|
24434
24440
|
backgroundColorClasses,
|
24435
24441
|
backgroundColorStyles
|
24436
|
-
} = useBackgroundColor(
|
24442
|
+
} = useBackgroundColor(() => props.color);
|
24437
24443
|
const {
|
24438
24444
|
elevationClasses
|
24439
24445
|
} = useElevation(props);
|
@@ -24466,7 +24472,7 @@
|
|
24466
24472
|
const location = vue.computed(() => {
|
24467
24473
|
return toPhysical(props.location, isRtl.value);
|
24468
24474
|
});
|
24469
|
-
const isPersistent = vue.
|
24475
|
+
const isPersistent = vue.toRef(() => props.persistent);
|
24470
24476
|
const isTemporary = vue.computed(() => !props.permanent && (mobile.value || props.temporary));
|
24471
24477
|
const isSticky = vue.computed(() => props.sticky && !isTemporary.value && location.value !== 'bottom');
|
24472
24478
|
useToggleScope(() => props.expandOnHover && props.rail != null, () => {
|
@@ -24492,7 +24498,7 @@
|
|
24492
24498
|
isActive,
|
24493
24499
|
isTemporary,
|
24494
24500
|
width,
|
24495
|
-
touchless: vue.toRef(props
|
24501
|
+
touchless: vue.toRef(() => props.touchless),
|
24496
24502
|
position: location
|
24497
24503
|
});
|
24498
24504
|
const layoutSize = vue.computed(() => {
|
@@ -24509,7 +24515,7 @@
|
|
24509
24515
|
layoutSize,
|
24510
24516
|
elementSize: width,
|
24511
24517
|
active: vue.readonly(isActive),
|
24512
|
-
disableTransitions: vue.
|
24518
|
+
disableTransitions: vue.toRef(() => isDragging.value),
|
24513
24519
|
absolute: vue.computed(() =>
|
24514
24520
|
// eslint-disable-next-line @typescript-eslint/no-use-before-define
|
24515
24521
|
props.absolute || isSticky.value && typeof isStuck.value !== 'string')
|
@@ -24522,9 +24528,9 @@
|
|
24522
24528
|
isSticky,
|
24523
24529
|
layoutItemStyles
|
24524
24530
|
});
|
24525
|
-
const scrimColor = useBackgroundColor(
|
24531
|
+
const scrimColor = useBackgroundColor(() => {
|
24526
24532
|
return typeof props.scrim === 'string' ? props.scrim : null;
|
24527
|
-
})
|
24533
|
+
});
|
24528
24534
|
const scrimStyles = vue.computed(() => ({
|
24529
24535
|
...(isDragging.value ? {
|
24530
24536
|
opacity: dragProgress.value * 0.2,
|
@@ -24738,24 +24744,24 @@
|
|
24738
24744
|
const controlVariant = vue.computed(() => {
|
24739
24745
|
return props.hideInput ? 'stacked' : props.controlVariant;
|
24740
24746
|
});
|
24741
|
-
const incrementIcon = vue.
|
24742
|
-
const decrementIcon = vue.
|
24743
|
-
const controlNodeSize = vue.
|
24744
|
-
const controlNodeDefaultHeight = vue.
|
24745
|
-
const incrementSlotProps =
|
24747
|
+
const incrementIcon = vue.toRef(() => controlVariant.value === 'split' ? '$plus' : '$collapse');
|
24748
|
+
const decrementIcon = vue.toRef(() => controlVariant.value === 'split' ? '$minus' : '$expand');
|
24749
|
+
const controlNodeSize = vue.toRef(() => controlVariant.value === 'split' ? 'default' : 'small');
|
24750
|
+
const controlNodeDefaultHeight = vue.toRef(() => controlVariant.value === 'stacked' ? 'auto' : '100%');
|
24751
|
+
const incrementSlotProps = {
|
24746
24752
|
props: {
|
24747
24753
|
onClick: onControlClick,
|
24748
24754
|
onPointerup: onControlMouseup,
|
24749
24755
|
onPointerdown: onUpControlMousedown
|
24750
24756
|
}
|
24751
|
-
}
|
24752
|
-
const decrementSlotProps =
|
24757
|
+
};
|
24758
|
+
const decrementSlotProps = {
|
24753
24759
|
props: {
|
24754
24760
|
onClick: onControlClick,
|
24755
24761
|
onPointerup: onControlMouseup,
|
24756
24762
|
onPointerdown: onDownControlMousedown
|
24757
24763
|
}
|
24758
|
-
}
|
24764
|
+
};
|
24759
24765
|
vue.watch(() => props.precision, () => formatInputValue());
|
24760
24766
|
vue.onMounted(() => {
|
24761
24767
|
clampModel();
|
@@ -24907,7 +24913,7 @@
|
|
24907
24913
|
}
|
24908
24914
|
}
|
24909
24915
|
}, {
|
24910
|
-
default: () => [slots.increment(incrementSlotProps
|
24916
|
+
default: () => [slots.increment(incrementSlotProps)]
|
24911
24917
|
});
|
24912
24918
|
}
|
24913
24919
|
function decrementControlNode() {
|
@@ -24936,7 +24942,7 @@
|
|
24936
24942
|
}
|
24937
24943
|
}
|
24938
24944
|
}, {
|
24939
|
-
default: () => [slots.decrement(decrementSlotProps
|
24945
|
+
default: () => [slots.decrement(decrementSlotProps)]
|
24940
24946
|
});
|
24941
24947
|
}
|
24942
24948
|
function controlNode() {
|
@@ -25136,12 +25142,12 @@
|
|
25136
25142
|
}
|
25137
25143
|
provideDefaults({
|
25138
25144
|
VField: {
|
25139
|
-
color: vue.
|
25140
|
-
bgColor: vue.
|
25141
|
-
baseColor: vue.
|
25142
|
-
disabled: vue.
|
25143
|
-
error: vue.
|
25144
|
-
variant: vue.
|
25145
|
+
color: vue.toRef(() => props.color),
|
25146
|
+
bgColor: vue.toRef(() => props.color),
|
25147
|
+
baseColor: vue.toRef(() => props.baseColor),
|
25148
|
+
disabled: vue.toRef(() => props.disabled),
|
25149
|
+
error: vue.toRef(() => props.error),
|
25150
|
+
variant: vue.toRef(() => props.variant)
|
25145
25151
|
}
|
25146
25152
|
}, {
|
25147
25153
|
scoped: true
|
@@ -25942,7 +25948,7 @@
|
|
25942
25948
|
const {
|
25943
25949
|
backgroundColorClasses,
|
25944
25950
|
backgroundColorStyles
|
25945
|
-
} = useBackgroundColor(
|
25951
|
+
} = useBackgroundColor(() => props.color);
|
25946
25952
|
const {
|
25947
25953
|
dimensionStyles
|
25948
25954
|
} = useDimension(props);
|
@@ -26741,7 +26747,7 @@
|
|
26741
26747
|
const {
|
26742
26748
|
textColorClasses,
|
26743
26749
|
textColorStyles
|
26744
|
-
} = useTextColor(
|
26750
|
+
} = useTextColor(() => props.color);
|
26745
26751
|
const hasLabels = vue.computed(() => {
|
26746
26752
|
return Boolean(props.showLabels || props.labels.length > 0 || !!slots?.label);
|
26747
26753
|
});
|
@@ -27287,11 +27293,11 @@
|
|
27287
27293
|
} = useFocus(props);
|
27288
27294
|
const control = vue.ref();
|
27289
27295
|
const isForcedColorsModeActive = IN_BROWSER && window.matchMedia('(forced-colors: active)').matches;
|
27290
|
-
const loaderColor = vue.
|
27296
|
+
const loaderColor = vue.toRef(() => {
|
27291
27297
|
return typeof props.loading === 'string' && props.loading !== '' ? props.loading : props.color;
|
27292
27298
|
});
|
27293
27299
|
const uid = vue.useId();
|
27294
|
-
const id = vue.
|
27300
|
+
const id = vue.toRef(() => props.id || `switch-${uid}`);
|
27295
27301
|
function onChange() {
|
27296
27302
|
if (indeterminate.value) {
|
27297
27303
|
indeterminate.value = false;
|
@@ -27442,7 +27448,7 @@
|
|
27442
27448
|
const {
|
27443
27449
|
backgroundColorClasses,
|
27444
27450
|
backgroundColorStyles
|
27445
|
-
} = useBackgroundColor(
|
27451
|
+
} = useBackgroundColor(() => props.color);
|
27446
27452
|
const {
|
27447
27453
|
elevationClasses
|
27448
27454
|
} = useElevation(props);
|
@@ -27462,7 +27468,7 @@
|
|
27462
27468
|
layoutSize: height,
|
27463
27469
|
elementSize: height,
|
27464
27470
|
active: vue.computed(() => true),
|
27465
|
-
absolute: vue.toRef(props
|
27471
|
+
absolute: vue.toRef(() => props.absolute)
|
27466
27472
|
});
|
27467
27473
|
useRender(() => vue.createVNode(props.tag, {
|
27468
27474
|
"class": ['v-system-bar', {
|
@@ -27504,7 +27510,7 @@
|
|
27504
27510
|
const {
|
27505
27511
|
textColorClasses: sliderColorClasses,
|
27506
27512
|
textColorStyles: sliderColorStyles
|
27507
|
-
} = useTextColor(props
|
27513
|
+
} = useTextColor(() => props.sliderColor);
|
27508
27514
|
const rootEl = vue.ref();
|
27509
27515
|
const sliderEl = vue.ref();
|
27510
27516
|
const isHorizontal = vue.computed(() => props.direction === 'horizontal');
|
@@ -27697,18 +27703,18 @@
|
|
27697
27703
|
const {
|
27698
27704
|
backgroundColorClasses,
|
27699
27705
|
backgroundColorStyles
|
27700
|
-
} = useBackgroundColor(
|
27706
|
+
} = useBackgroundColor(() => props.bgColor);
|
27701
27707
|
const {
|
27702
27708
|
scopeId
|
27703
27709
|
} = useScopeId();
|
27704
27710
|
provideDefaults({
|
27705
27711
|
VTab: {
|
27706
|
-
color: vue.toRef(props
|
27707
|
-
direction: vue.toRef(props
|
27708
|
-
stacked: vue.toRef(props
|
27709
|
-
fixed: vue.toRef(props
|
27710
|
-
sliderColor: vue.toRef(props
|
27711
|
-
hideSlider: vue.toRef(props
|
27712
|
+
color: vue.toRef(() => props.color),
|
27713
|
+
direction: vue.toRef(() => props.direction),
|
27714
|
+
stacked: vue.toRef(() => props.stacked),
|
27715
|
+
fixed: vue.toRef(() => props.fixedTabs),
|
27716
|
+
sliderColor: vue.toRef(() => props.sliderColor),
|
27717
|
+
hideSlider: vue.toRef(() => props.hideSlider)
|
27712
27718
|
}
|
27713
27719
|
});
|
27714
27720
|
useRender(() => {
|
@@ -28058,7 +28064,7 @@
|
|
28058
28064
|
const {
|
28059
28065
|
backgroundColorStyles,
|
28060
28066
|
backgroundColorClasses
|
28061
|
-
} = useBackgroundColor(
|
28067
|
+
} = useBackgroundColor(() => props.dotColor);
|
28062
28068
|
const {
|
28063
28069
|
roundedClasses
|
28064
28070
|
} = useRounded(props, 'v-timeline-divider__dot');
|
@@ -28068,7 +28074,7 @@
|
|
28068
28074
|
const {
|
28069
28075
|
backgroundColorClasses: lineColorClasses,
|
28070
28076
|
backgroundColorStyles: lineColorStyles
|
28071
|
-
} = useBackgroundColor(
|
28077
|
+
} = useBackgroundColor(() => props.lineColor);
|
28072
28078
|
useRender(() => vue.createVNode("div", {
|
28073
28079
|
"class": ['v-timeline-divider', {
|
28074
28080
|
'v-timeline-divider--fill-dot': props.fillDot
|
@@ -28239,17 +28245,17 @@
|
|
28239
28245
|
} = useRtl();
|
28240
28246
|
provideDefaults({
|
28241
28247
|
VTimelineDivider: {
|
28242
|
-
lineColor: vue.toRef(props
|
28248
|
+
lineColor: vue.toRef(() => props.lineColor)
|
28243
28249
|
},
|
28244
28250
|
VTimelineItem: {
|
28245
|
-
density: vue.toRef(props
|
28246
|
-
dotColor: vue.toRef(props
|
28247
|
-
fillDot: vue.toRef(props
|
28248
|
-
hideOpposite: vue.toRef(props
|
28249
|
-
iconColor: vue.toRef(props
|
28250
|
-
lineColor: vue.toRef(props
|
28251
|
-
lineInset: vue.toRef(props
|
28252
|
-
size: vue.toRef(props
|
28251
|
+
density: vue.toRef(() => props.density),
|
28252
|
+
dotColor: vue.toRef(() => props.dotColor),
|
28253
|
+
fillDot: vue.toRef(() => props.fillDot),
|
28254
|
+
hideOpposite: vue.toRef(() => props.hideOpposite),
|
28255
|
+
iconColor: vue.toRef(() => props.iconColor),
|
28256
|
+
lineColor: vue.toRef(() => props.lineColor),
|
28257
|
+
lineInset: vue.toRef(() => props.lineInset),
|
28258
|
+
size: vue.toRef(() => props.size)
|
28253
28259
|
}
|
28254
28260
|
});
|
28255
28261
|
const sideClasses = vue.computed(() => {
|
@@ -28296,9 +28302,9 @@
|
|
28296
28302
|
} = _ref;
|
28297
28303
|
provideDefaults({
|
28298
28304
|
VBtn: {
|
28299
|
-
color: vue.toRef(props
|
28305
|
+
color: vue.toRef(() => props.color),
|
28300
28306
|
height: 'inherit',
|
28301
|
-
variant: vue.toRef(props
|
28307
|
+
variant: vue.toRef(() => props.variant)
|
28302
28308
|
}
|
28303
28309
|
});
|
28304
28310
|
useRender(() => vue.createVNode("div", {
|
@@ -28345,7 +28351,7 @@
|
|
28345
28351
|
scopeId
|
28346
28352
|
} = useScopeId();
|
28347
28353
|
const uid = vue.useId();
|
28348
|
-
const id = vue.
|
28354
|
+
const id = vue.toRef(() => props.id || `v-tooltip-${uid}`);
|
28349
28355
|
const overlay = vue.ref();
|
28350
28356
|
const location = vue.computed(() => {
|
28351
28357
|
return props.location.split(' ').length > 1 ? props.location : props.location + ' center';
|
@@ -28353,7 +28359,7 @@
|
|
28353
28359
|
const origin = vue.computed(() => {
|
28354
28360
|
return props.origin === 'auto' || props.origin === 'overlap' || props.origin.split(' ').length > 1 || props.location.split(' ').length > 1 ? props.origin : props.origin + ' center';
|
28355
28361
|
});
|
28356
|
-
const transition = vue.
|
28362
|
+
const transition = vue.toRef(() => {
|
28357
28363
|
if (props.transition) return props.transition;
|
28358
28364
|
return isActive.value ? 'scale-transition' : 'fade-transition';
|
28359
28365
|
});
|
@@ -28432,13 +28438,19 @@
|
|
28432
28438
|
}, 'VCalendarIntervalEvent');
|
28433
28439
|
const VCalendarIntervalEvent = genericComponent()({
|
28434
28440
|
name: 'VCalendarIntervalEvent',
|
28441
|
+
inheritAttrs: false,
|
28435
28442
|
props: makeVCalendarIntervalEventProps(),
|
28436
|
-
setup(props) {
|
28443
|
+
setup(props, _ref) {
|
28444
|
+
let {
|
28445
|
+
attrs,
|
28446
|
+
emit,
|
28447
|
+
slots
|
28448
|
+
} = _ref;
|
28437
28449
|
const adapter = useDate();
|
28438
28450
|
const calcHeight = () => {
|
28439
|
-
if (!props.event?.first && !props.event?.last || adapter.isEqual(props.event?.
|
28451
|
+
if (!props.event?.first && !props.event?.last || adapter.isEqual(props.event?.end, props.interval?.end)) {
|
28440
28452
|
return {
|
28441
|
-
height:
|
28453
|
+
height: `${props.intervalHeight}px`,
|
28442
28454
|
margin: convertToUnit(0)
|
28443
28455
|
};
|
28444
28456
|
} else {
|
@@ -28447,8 +28459,8 @@
|
|
28447
28459
|
margin
|
28448
28460
|
} = Array.from({
|
28449
28461
|
length: props.intervalDivisions
|
28450
|
-
}, x => x * (props.intervalDuration / props.intervalDivisions)).reduce((total, div, index) => {
|
28451
|
-
if (adapter.isBefore(adapter.addMinutes(props.interval?.start, div), props.event?.
|
28462
|
+
}, (_, x) => (x + 1) * (props.intervalDuration / props.intervalDivisions)).reduce((total, div, index) => {
|
28463
|
+
if (adapter.isBefore(adapter.addMinutes(props.interval?.start, div), props.event?.end)) {
|
28452
28464
|
return {
|
28453
28465
|
height: convertToUnit(props.intervalHeight / props.intervalDivisions * index),
|
28454
28466
|
margin: convertToUnit(props.intervalHeight / props.intervalDivisions * index)
|
@@ -28469,16 +28481,30 @@
|
|
28469
28481
|
}
|
28470
28482
|
};
|
28471
28483
|
useRender(() => {
|
28472
|
-
return vue.createVNode(
|
28484
|
+
return vue.createVNode("div", null, [slots.intervalEvent?.({
|
28485
|
+
height: calcHeight().height,
|
28486
|
+
margin: calcHeight().margin,
|
28487
|
+
eventClass: 'v-calendar-internal-event',
|
28488
|
+
event: props.event,
|
28489
|
+
interval: props.interval
|
28490
|
+
}) ?? vue.createVNode(VSheet, vue.mergeProps({
|
28473
28491
|
"height": calcHeight().height,
|
28474
28492
|
"density": "comfortable",
|
28475
28493
|
"style": `margin-top: ${calcHeight().margin}`,
|
28476
28494
|
"class": "v-calendar-internal-event",
|
28477
28495
|
"color": props.event?.color ?? undefined,
|
28478
28496
|
"rounded": props.event?.first && props.event?.last ? true : props.event?.first ? 't' : props.event?.last ? 'b' : false
|
28479
|
-
}, {
|
28497
|
+
}, getPrefixedEventHandlers(attrs, ':event', () => ({
|
28498
|
+
event: props.event,
|
28499
|
+
allDay: false,
|
28500
|
+
day: null,
|
28501
|
+
interval: props.interval,
|
28502
|
+
intervalDivisions: props.intervalDivisions,
|
28503
|
+
intervalDuration: props.intervalDuration,
|
28504
|
+
intervalHeight: props.intervalHeight
|
28505
|
+
}))), {
|
28480
28506
|
default: () => [props.event?.first ? props.event?.title : '']
|
28481
|
-
});
|
28507
|
+
})]);
|
28482
28508
|
});
|
28483
28509
|
return {};
|
28484
28510
|
}
|
@@ -28514,6 +28540,7 @@
|
|
28514
28540
|
}, 'VCalendarInterval');
|
28515
28541
|
const VCalendarInterval = genericComponent()({
|
28516
28542
|
name: 'VCalendarInterval',
|
28543
|
+
inheritAttrs: false,
|
28517
28544
|
props: {
|
28518
28545
|
index: {
|
28519
28546
|
type: Number,
|
@@ -28523,6 +28550,7 @@
|
|
28523
28550
|
},
|
28524
28551
|
setup(props, _ref) {
|
28525
28552
|
let {
|
28553
|
+
attrs,
|
28526
28554
|
emit,
|
28527
28555
|
slots
|
28528
28556
|
} = _ref;
|
@@ -28548,45 +28576,74 @@
|
|
28548
28576
|
return props.dayIndex === 0 ? vue.createVNode("div", {
|
28549
28577
|
"class": "v-calendar-day__row-with-label",
|
28550
28578
|
"style": `height: ${convertToUnit(props.intervalHeight)}`
|
28551
|
-
}, [vue.createVNode("div", {
|
28579
|
+
}, [vue.createVNode("div", vue.mergeProps({
|
28552
28580
|
"class": "v-calendar-day__row-label"
|
28553
|
-
},
|
28554
|
-
|
28555
|
-
|
28556
|
-
}, {
|
28557
|
-
default: () => [props.index ? props.intervalFormat ? typeof props.intervalFormat === 'string' ? adapter.format(interval.value.start, 'hours12h') : props.intervalFormat(interval.value) : interval.value.label : '']
|
28558
|
-
})]), vue.createVNode("div", {
|
28581
|
+
}, getPrefixedEventHandlers(attrs, ':time', () => props)), [slots.intervalTitle?.({
|
28582
|
+
interval: interval.value
|
28583
|
+
}) ?? (props.index ? props.intervalFormat ? typeof props.intervalFormat === 'string' ? adapter.format(interval.value.start, 'hours12h') : props.intervalFormat(interval.value) : interval.value.label : '12 AM')]), vue.createVNode("div", {
|
28559
28584
|
"class": "v-calendar-day__row-hairline"
|
28560
|
-
}, null), vue.createVNode("div", {
|
28585
|
+
}, null), vue.createVNode("div", vue.mergeProps({
|
28561
28586
|
"class": ['v-calendar-day__row-content', interval.value.events.some(e => !e.last) ? 'v-calendar-day__row-content-through' : '']
|
28562
|
-
},
|
28563
|
-
|
28564
|
-
|
28565
|
-
|
28566
|
-
|
28567
|
-
|
28568
|
-
|
28569
|
-
|
28570
|
-
|
28571
|
-
|
28572
|
-
|
28573
|
-
|
28587
|
+
}, getPrefixedEventHandlers(attrs, ':interval', () => interval.value)), [slots.intervalBody?.({
|
28588
|
+
interval: interval.value
|
28589
|
+
}) ?? vue.createVNode("div", null, [interval.value.events?.map(event => vue.createVNode(VCalendarIntervalEvent, vue.mergeProps({
|
28590
|
+
"event": event,
|
28591
|
+
"interval": interval.value,
|
28592
|
+
"intervalDivisions": props.intervalDivisions,
|
28593
|
+
"intervalDuration": props.intervalDuration,
|
28594
|
+
"intervalHeight": props.intervalHeight
|
28595
|
+
}, attrs), {
|
28596
|
+
...(slots.intervalEvent ? {
|
28597
|
+
intervalEvent: _ref2 => {
|
28598
|
+
let {
|
28599
|
+
height,
|
28600
|
+
margin,
|
28601
|
+
eventClass,
|
28602
|
+
event,
|
28603
|
+
interval
|
28604
|
+
} = _ref2;
|
28605
|
+
return slots.intervalEvent?.({
|
28606
|
+
height,
|
28607
|
+
margin,
|
28608
|
+
eventClass,
|
28609
|
+
event,
|
28610
|
+
interval
|
28611
|
+
});
|
28612
|
+
}
|
28613
|
+
} : {})
|
28614
|
+
}))])])]) : vue.createVNode("div", {
|
28574
28615
|
"class": "v-calendar-day__row-without-label",
|
28575
28616
|
"style": `height: ${convertToUnit(props.intervalHeight)}`
|
28576
|
-
}, [vue.createVNode("div", {
|
28617
|
+
}, [vue.createVNode("div", vue.mergeProps({
|
28577
28618
|
"class": ['v-calendar-day__row-content', interval.value.events.some(e => !e.last) ? 'v-calendar-day__row-content-through' : '']
|
28578
|
-
},
|
28579
|
-
|
28580
|
-
|
28581
|
-
|
28582
|
-
|
28583
|
-
|
28584
|
-
|
28585
|
-
|
28586
|
-
|
28587
|
-
|
28588
|
-
|
28589
|
-
|
28619
|
+
}, getPrefixedEventHandlers(attrs, ':interval', () => interval.value)), [slots.intervalBody?.({
|
28620
|
+
interval: interval.value
|
28621
|
+
}) ?? interval.value.events?.map(event => vue.createVNode(VCalendarIntervalEvent, vue.mergeProps({
|
28622
|
+
"event": event,
|
28623
|
+
"interval": interval.value,
|
28624
|
+
"intervalDivisions": props.intervalDivisions,
|
28625
|
+
"intervalDuration": props.intervalDuration,
|
28626
|
+
"intervalHeight": props.intervalHeight
|
28627
|
+
}, attrs), {
|
28628
|
+
...(slots.intervalEvent ? {
|
28629
|
+
intervalEvent: _ref3 => {
|
28630
|
+
let {
|
28631
|
+
height,
|
28632
|
+
margin,
|
28633
|
+
eventClass,
|
28634
|
+
event,
|
28635
|
+
interval
|
28636
|
+
} = _ref3;
|
28637
|
+
return slots.intervalEvent?.({
|
28638
|
+
height,
|
28639
|
+
margin,
|
28640
|
+
eventClass,
|
28641
|
+
event,
|
28642
|
+
interval
|
28643
|
+
});
|
28644
|
+
}
|
28645
|
+
} : {})
|
28646
|
+
}))])]);
|
28590
28647
|
});
|
28591
28648
|
return {
|
28592
28649
|
interval
|
@@ -28594,6 +28651,8 @@
|
|
28594
28651
|
}
|
28595
28652
|
});
|
28596
28653
|
|
28654
|
+
// Types
|
28655
|
+
|
28597
28656
|
const makeVCalendarDayProps = propsFactory({
|
28598
28657
|
hideDayHeader: Boolean,
|
28599
28658
|
intervals: {
|
@@ -28604,26 +28663,34 @@
|
|
28604
28663
|
}, 'VCalendarDay');
|
28605
28664
|
const VCalendarDay = genericComponent()({
|
28606
28665
|
name: 'VCalendarDay',
|
28666
|
+
inheritAttrs: false,
|
28607
28667
|
props: makeVCalendarDayProps(),
|
28608
|
-
setup(props) {
|
28668
|
+
setup(props, _ref) {
|
28669
|
+
let {
|
28670
|
+
attrs,
|
28671
|
+
slots
|
28672
|
+
} = _ref;
|
28609
28673
|
const adapter = useDate();
|
28610
28674
|
const intervals = vue.computed(() => [...Array.from({
|
28611
28675
|
length: props.intervals
|
28612
|
-
}, (v, i) => i).filter((
|
28676
|
+
}, (v, i) => i).filter((_, index) => props.intervalDuration * (index + props.intervalStart) < 1440)]);
|
28613
28677
|
useRender(() => {
|
28614
28678
|
const calendarIntervalProps = VCalendarInterval.filterProps(props);
|
28615
28679
|
return vue.createVNode("div", {
|
28616
28680
|
"class": "v-calendar-day__container"
|
28617
|
-
}, [!props.hideDayHeader && vue.createVNode("div", {
|
28618
|
-
"key": "
|
28681
|
+
}, [!props.hideDayHeader && vue.createVNode("div", vue.mergeProps({
|
28682
|
+
"key": "calendar-week-name",
|
28619
28683
|
"class": "v-calendar-weekly__head-weekday"
|
28620
|
-
}, [adapter.format(props.day.date, 'weekdayShort'), vue.createVNode("div", null, [vue.createVNode(VBtn, {
|
28684
|
+
}, getPrefixedEventHandlers(attrs, ':day', () => props.day)), [adapter.format(props.day.date, 'weekdayShort'), vue.createVNode("div", null, [vue.createVNode(VBtn, vue.mergeProps(getPrefixedEventHandlers(attrs, ':date', () => props.day), {
|
28685
|
+
"class": props.day?.isToday ? 'v-calendar-day-label__today' : undefined,
|
28621
28686
|
"icon": true,
|
28622
28687
|
"text": adapter.format(props.day.date, 'dayOfMonth'),
|
28623
|
-
"variant":
|
28624
|
-
}, null)])]), intervals.value.map((_, index) => vue.createVNode(VCalendarInterval, vue.mergeProps({
|
28688
|
+
"variant": props.day?.isToday ? undefined : 'text'
|
28689
|
+
}), null)])]), intervals.value.map((_, index) => slots.interval?.(calendarIntervalProps) ?? vue.createVNode(VCalendarInterval, vue.mergeProps({
|
28625
28690
|
"index": index
|
28626
|
-
}, calendarIntervalProps
|
28691
|
+
}, calendarIntervalProps, attrs, getPrefixedEventHandlers(attrs, ':interval', () => calendarIntervalProps)), {
|
28692
|
+
...pick(slots, ['intervalBody', 'intervalEvent', 'intervalTitle'])
|
28693
|
+
}))]);
|
28627
28694
|
});
|
28628
28695
|
return {
|
28629
28696
|
intervals
|
@@ -28662,7 +28729,8 @@
|
|
28662
28729
|
},
|
28663
28730
|
setup(props, _ref) {
|
28664
28731
|
let {
|
28665
|
-
emit
|
28732
|
+
emit,
|
28733
|
+
slots
|
28666
28734
|
} = _ref;
|
28667
28735
|
const {
|
28668
28736
|
t
|
@@ -28696,7 +28764,9 @@
|
|
28696
28764
|
"onClick": next
|
28697
28765
|
}, null), vue.createVNode("div", {
|
28698
28766
|
"class": "v-calendar-header__title"
|
28699
|
-
}, [
|
28767
|
+
}, [slots.title?.({
|
28768
|
+
title: props.title
|
28769
|
+
}) ?? vue.createVNode("span", null, [props.title])])]));
|
28700
28770
|
return {};
|
28701
28771
|
}
|
28702
28772
|
});
|
@@ -28708,14 +28778,24 @@
|
|
28708
28778
|
}, 'VCalendarEvent');
|
28709
28779
|
const VCalendarEvent = genericComponent()({
|
28710
28780
|
name: 'VCalendarEvent',
|
28781
|
+
inheritAttrs: false,
|
28711
28782
|
props: makeVCalendarEventProps(),
|
28712
|
-
setup(props) {
|
28713
|
-
|
28783
|
+
setup(props, _ref) {
|
28784
|
+
let {
|
28785
|
+
attrs,
|
28786
|
+
emit,
|
28787
|
+
slots
|
28788
|
+
} = _ref;
|
28789
|
+
useRender(() => vue.createVNode(VChip, vue.mergeProps({
|
28714
28790
|
"color": props.allDay ? 'primary' : undefined,
|
28715
28791
|
"density": "comfortable",
|
28716
28792
|
"label": props.allDay,
|
28717
28793
|
"width": "100%"
|
28718
|
-
}, {
|
28794
|
+
}, getPrefixedEventHandlers(attrs, ':event', () => ({
|
28795
|
+
allDay: props.allDay,
|
28796
|
+
day: props.day,
|
28797
|
+
event: props.event
|
28798
|
+
}))), {
|
28719
28799
|
default: () => [vue.createVNode(VBadge, {
|
28720
28800
|
"inline": true,
|
28721
28801
|
"dot": true,
|
@@ -28726,87 +28806,95 @@
|
|
28726
28806
|
}
|
28727
28807
|
});
|
28728
28808
|
|
28809
|
+
// Types
|
28810
|
+
|
28729
28811
|
const makeVCalendarMonthDayProps = propsFactory({
|
28730
28812
|
active: Boolean,
|
28731
28813
|
color: String,
|
28732
|
-
day:
|
28814
|
+
day: {
|
28815
|
+
type: Object
|
28816
|
+
},
|
28733
28817
|
disabled: Boolean,
|
28734
28818
|
events: Array,
|
28735
28819
|
title: [Number, String]
|
28736
28820
|
}, 'VCalendarMonthDay');
|
28737
28821
|
const VCalendarMonthDay = genericComponent()({
|
28738
28822
|
name: 'VCalendarMonthDay',
|
28823
|
+
inheritAttrs: false,
|
28739
28824
|
props: makeVCalendarMonthDayProps(),
|
28740
28825
|
setup(props, _ref) {
|
28741
28826
|
let {
|
28742
|
-
|
28827
|
+
attrs,
|
28743
28828
|
slots
|
28744
28829
|
} = _ref;
|
28745
28830
|
useRender(() => {
|
28746
|
-
|
28747
|
-
title: props.title
|
28748
|
-
}));
|
28749
|
-
return vue.createVNode("div", {
|
28831
|
+
return vue.createVNode("div", vue.mergeProps({
|
28750
28832
|
"class": ['v-calendar-month__day']
|
28751
|
-
}, [!props.day?.isHidden
|
28833
|
+
}, getPrefixedEventHandlers(attrs, ':day', () => props)), [!props.day?.isHidden ? vue.createVNode("div", {
|
28752
28834
|
"key": "title",
|
28753
28835
|
"class": "v-calendar-weekly__day-label"
|
28754
|
-
}, [slots.
|
28836
|
+
}, [slots.dayTitle?.({
|
28755
28837
|
title: props.title
|
28756
|
-
}) ?? vue.createVNode(VBtn, {
|
28838
|
+
}) ?? vue.createVNode(VBtn, vue.mergeProps({
|
28757
28839
|
"class": props.day?.isToday ? 'v-calendar-weekly__day-label__today' : undefined,
|
28758
28840
|
"color": props.color,
|
28759
28841
|
"disabled": props.disabled,
|
28760
28842
|
"icon": true,
|
28761
28843
|
"size": "x-small",
|
28762
|
-
"variant": props.day?.isToday ? undefined : 'flat'
|
28763
|
-
|
28764
|
-
|
28765
|
-
})]), !props.day?.isHidden && vue.createVNode("div", {
|
28844
|
+
"variant": props.day?.isToday ? undefined : 'flat',
|
28845
|
+
"text": `${props.title}`
|
28846
|
+
}, getPrefixedEventHandlers(attrs, ':date', () => props)), null)]) : undefined, !props.day?.isHidden ? vue.createVNode("div", {
|
28766
28847
|
"key": "content",
|
28767
28848
|
"class": "v-calendar-weekly__day-content"
|
28768
|
-
}, [slots.
|
28849
|
+
}, [slots.dayBody?.({
|
28850
|
+
day: props.day,
|
28851
|
+
events: props.events
|
28852
|
+
}) ?? vue.createVNode("div", null, [vue.createVNode("div", {
|
28769
28853
|
"class": "v-calendar-weekly__day-alldayevents-container"
|
28770
|
-
}, [props.events?.filter(event => event.allDay).map(event => slots.
|
28854
|
+
}, [props.events?.filter(event => event.allDay).map(event => slots.dayEvent ? slots.dayEvent({
|
28771
28855
|
day: props.day,
|
28772
28856
|
allDay: true,
|
28773
28857
|
event
|
28774
|
-
}) : vue.createVNode(VCalendarEvent, {
|
28858
|
+
}) : vue.createVNode(VCalendarEvent, vue.mergeProps({
|
28775
28859
|
"day": props.day,
|
28776
28860
|
"event": event,
|
28777
28861
|
"allDay": true
|
28778
|
-
}, null))]), vue.createVNode("div", {
|
28862
|
+
}, attrs), null))]), vue.createVNode("div", {
|
28779
28863
|
"class": "v-calendar-weekly__day-events-container"
|
28780
|
-
}, [props.events?.filter(event => !event.allDay).map(event => slots.
|
28864
|
+
}, [props.events?.filter(event => !event.allDay).map(event => slots.dayEvent ? slots.dayEvent({
|
28781
28865
|
day: props.day,
|
28782
28866
|
event,
|
28783
28867
|
allDay: false
|
28784
|
-
}) : vue.createVNode(VCalendarEvent, {
|
28868
|
+
}) : vue.createVNode(VCalendarEvent, vue.mergeProps({
|
28785
28869
|
"day": props.day,
|
28786
28870
|
"event": event
|
28787
|
-
}, null))])])])
|
28871
|
+
}, attrs), null))])])]) : undefined]);
|
28788
28872
|
});
|
28789
28873
|
return {};
|
28790
28874
|
}
|
28791
28875
|
});
|
28792
28876
|
|
28877
|
+
// Types
|
28878
|
+
|
28793
28879
|
const makeVCalendarProps = propsFactory({
|
28794
28880
|
hideHeader: Boolean,
|
28795
28881
|
hideWeekNumber: Boolean,
|
28796
28882
|
...makeCalendarProps(),
|
28797
28883
|
...makeVCalendarDayProps(),
|
28798
28884
|
...makeVCalendarHeaderProps()
|
28799
|
-
}, '
|
28885
|
+
}, 'VCalendar');
|
28800
28886
|
const VCalendar = genericComponent()({
|
28801
28887
|
name: 'VCalendar',
|
28802
28888
|
props: makeVCalendarProps(),
|
28803
28889
|
emits: {
|
28804
28890
|
next: null,
|
28805
28891
|
prev: null,
|
28892
|
+
today: null,
|
28806
28893
|
'update:modelValue': null
|
28807
28894
|
},
|
28808
28895
|
setup(props, _ref) {
|
28809
28896
|
let {
|
28897
|
+
attrs,
|
28810
28898
|
emit,
|
28811
28899
|
slots
|
28812
28900
|
} = _ref;
|
@@ -28824,27 +28912,33 @@
|
|
28824
28912
|
function onClickNext() {
|
28825
28913
|
if (props.viewMode === 'month') {
|
28826
28914
|
model.value = [adapter.addMonths(displayValue.value, 1)];
|
28827
|
-
}
|
28828
|
-
if (props.viewMode === 'week') {
|
28915
|
+
} else if (props.viewMode === 'week') {
|
28829
28916
|
model.value = [adapter.addDays(displayValue.value, 7)];
|
28830
|
-
}
|
28831
|
-
if (props.viewMode === 'day') {
|
28917
|
+
} else if (props.viewMode === 'day') {
|
28832
28918
|
model.value = [adapter.addDays(displayValue.value, 1)];
|
28833
28919
|
}
|
28920
|
+
vue.nextTick(() => {
|
28921
|
+
emit('next', model.value[0]);
|
28922
|
+
});
|
28834
28923
|
}
|
28835
28924
|
function onClickPrev() {
|
28836
28925
|
if (props.viewMode === 'month') {
|
28837
28926
|
model.value = [adapter.addMonths(displayValue.value, -1)];
|
28838
|
-
}
|
28839
|
-
if (props.viewMode === 'week') {
|
28927
|
+
} else if (props.viewMode === 'week') {
|
28840
28928
|
model.value = [adapter.addDays(displayValue.value, -7)];
|
28841
|
-
}
|
28842
|
-
if (props.viewMode === 'day') {
|
28929
|
+
} else if (props.viewMode === 'day') {
|
28843
28930
|
model.value = [adapter.addDays(displayValue.value, -1)];
|
28844
28931
|
}
|
28932
|
+
vue.nextTick(() => {
|
28933
|
+
emit('prev', model.value[0]);
|
28934
|
+
});
|
28845
28935
|
}
|
28846
28936
|
function onClickToday() {
|
28847
|
-
|
28937
|
+
const date = adapter.date();
|
28938
|
+
model.value = [date];
|
28939
|
+
vue.nextTick(() => {
|
28940
|
+
emit('today', model.value[0]);
|
28941
|
+
});
|
28848
28942
|
}
|
28849
28943
|
const title = vue.computed(() => {
|
28850
28944
|
return adapter.format(displayValue.value, 'monthAndYear');
|
@@ -28858,20 +28952,25 @@
|
|
28858
28952
|
'v-calendar-weekly': props.viewMode === 'week',
|
28859
28953
|
'v-calendar-day': props.viewMode === 'day'
|
28860
28954
|
}]
|
28861
|
-
}, [vue.createVNode("div", null, [!props.hideHeader && (
|
28955
|
+
}, [vue.createVNode("div", null, [!props.hideHeader && (slots.header?.({
|
28956
|
+
title: title.value,
|
28957
|
+
clickNext: onClickNext,
|
28958
|
+
clickPrev: onClickPrev,
|
28959
|
+
clickToday: onClickToday
|
28960
|
+
}) ?? vue.createVNode(VCalendarHeader, vue.mergeProps({
|
28862
28961
|
"key": "calendar-header"
|
28863
28962
|
}, calendarHeaderProps, {
|
28864
28963
|
"title": title.value,
|
28865
28964
|
"onClick:next": onClickNext,
|
28866
28965
|
"onClick:prev": onClickPrev,
|
28867
28966
|
"onClick:toToday": onClickToday
|
28868
|
-
}),
|
28869
|
-
title: title
|
28967
|
+
}), {
|
28968
|
+
title: slots.title
|
28870
28969
|
}))]), vue.createVNode("div", {
|
28871
28970
|
"class": ['v-calendar__container', `days__${weekDays.value.length}`]
|
28872
28971
|
}, [props.viewMode === 'month' && !props.hideDayHeader && vue.createVNode("div", {
|
28873
28972
|
"class": ['v-calendar-weekly__head', `days__${weekDays.value.length}`, ...(!props.hideWeekNumber ? ['v-calendar-weekly__head-weeknumbers'] : [])],
|
28874
|
-
"key": "
|
28973
|
+
"key": "calendarWeeklyHead"
|
28875
28974
|
}, [!props.hideWeekNumber ? vue.createVNode("div", {
|
28876
28975
|
"key": "weekNumber0",
|
28877
28976
|
"class": "v-calendar-weekly__head-weeknumber"
|
@@ -28880,24 +28979,39 @@
|
|
28880
28979
|
}, [dayNames[weekday]]))]), props.viewMode === 'month' && vue.createVNode("div", {
|
28881
28980
|
"key": "VCalendarMonth",
|
28882
28981
|
"class": ['v-calendar-month__days', `days${!props.hideWeekNumber ? '-with-weeknumbers' : ''}__${weekDays.value.length}`, ...(!props.hideWeekNumber ? ['v-calendar-month__weeknumbers'] : [])]
|
28883
|
-
}, [chunkArray(daysInMonth.value, weekDays.value.length).map((week, wi) => [!props.hideWeekNumber ? vue.createVNode("div", {
|
28982
|
+
}, [chunkArray(daysInMonth.value, weekDays.value.length).map((week, wi) => [!props.hideWeekNumber ? vue.createVNode("div", vue.mergeProps({
|
28884
28983
|
"class": "v-calendar-month__weeknumber"
|
28885
|
-
},
|
28886
|
-
|
28984
|
+
}, getPrefixedEventHandlers(attrs, ':weekNumber', () => ({
|
28985
|
+
weekNumber: weekNumbers.value[wi],
|
28986
|
+
week
|
28987
|
+
}))), [weekNumbers.value[wi]]) : '', week.map(day => vue.createVNode(VCalendarMonthDay, vue.mergeProps({
|
28988
|
+
"key": day.date.getTime()
|
28989
|
+
}, calendarDayProps, {
|
28887
28990
|
"day": day,
|
28888
|
-
"title":
|
28991
|
+
"title": adapter.format(day.date, 'dayOfMonth'),
|
28889
28992
|
"events": props.events?.filter(e => adapter.isSameDay(day.date, e.start) || adapter.isSameDay(day.date, e.end))
|
28890
|
-
}, {
|
28891
|
-
event
|
28892
|
-
}))])]), props.viewMode === 'week' && daysInWeek.value.map((day, i) =>
|
28993
|
+
}, attrs), {
|
28994
|
+
...pick(slots, ['day-body', 'day-event', 'day-title'])
|
28995
|
+
}))])]), props.viewMode === 'week' && daysInWeek.value.map((day, i) => slots['day-interval'] ? slots['day-interval']?.({
|
28996
|
+
...calendarDayProps,
|
28997
|
+
day,
|
28998
|
+
dayIndex: i,
|
28999
|
+
events: props.events?.filter(e => adapter.isSameDay(e.start, day.date) || adapter.isSameDay(e.end, day.date))
|
29000
|
+
}) : vue.createVNode(VCalendarDay, vue.mergeProps(calendarDayProps, {
|
28893
29001
|
"day": day,
|
28894
29002
|
"dayIndex": i,
|
28895
29003
|
"events": props.events?.filter(e => adapter.isSameDay(e.start, day.date) || adapter.isSameDay(e.end, day.date))
|
28896
|
-
}
|
28897
|
-
|
29004
|
+
}, attrs), {
|
29005
|
+
...pick(slots, ['interval', 'intervalBody', 'intervalEvent', 'intervalTitle'])
|
29006
|
+
})), props.viewMode === 'day' && (slots['day-interval'] ? slots['day-interval']({
|
29007
|
+
day: genDays([displayValue.value], adapter.date())[0],
|
29008
|
+
dayIndex: 0,
|
29009
|
+
events: props.events?.filter(e => adapter.isSameDay(e.start, genDays([displayValue.value], adapter.date())[0].date) || adapter.isSameDay(e.end, genDays([displayValue.value], adapter.date())[0].date))
|
29010
|
+
}) : vue.createVNode(VCalendarDay, vue.mergeProps(calendarDayProps, {
|
29011
|
+
"day": genDays([model.value[0]], adapter.date())[0],
|
28898
29012
|
"dayIndex": 0,
|
28899
|
-
"events": props.events?.filter(e => adapter.isSameDay(e.start, genDays([
|
28900
|
-
}), null)])]);
|
29013
|
+
"events": props.events?.filter(e => adapter.isSameDay(e.start, genDays([model.value[0]], adapter.date())[0].date) || adapter.isSameDay(e.end, genDays([model.value[0]], adapter.date())[0].date))
|
29014
|
+
}, attrs), null))])]);
|
28901
29015
|
});
|
28902
29016
|
return {
|
28903
29017
|
daysInMonth,
|
@@ -29507,7 +29621,7 @@
|
|
29507
29621
|
colorClasses,
|
29508
29622
|
colorStyles,
|
29509
29623
|
variantClasses
|
29510
|
-
} = useVariant(
|
29624
|
+
} = useVariant(() => ({
|
29511
29625
|
color: (() => {
|
29512
29626
|
if (props.disabled) return undefined;
|
29513
29627
|
if (!isActive.value) return props.color;
|
@@ -29522,7 +29636,7 @@
|
|
29522
29636
|
if (isActive.value) return props.activeVariant ?? props.variant;
|
29523
29637
|
return props.baseVariant ?? props.variant;
|
29524
29638
|
})()
|
29525
|
-
}))
|
29639
|
+
}));
|
29526
29640
|
const btnSizeMap = new Map(props.sizes);
|
29527
29641
|
const iconSizeMap = new Map(props.iconSizes);
|
29528
29642
|
function onClick() {
|
@@ -30019,11 +30133,11 @@
|
|
30019
30133
|
const {
|
30020
30134
|
textColorClasses,
|
30021
30135
|
textColorStyles
|
30022
|
-
} = useTextColor(
|
30136
|
+
} = useTextColor(() => props.color);
|
30023
30137
|
const {
|
30024
30138
|
backgroundColorClasses,
|
30025
30139
|
backgroundColorStyles
|
30026
|
-
} = useBackgroundColor(
|
30140
|
+
} = useBackgroundColor(() => props.color);
|
30027
30141
|
const count = vue.computed(() => props.max - props.min + 1);
|
30028
30142
|
const roundCount = vue.computed(() => props.double ? count.value / 2 : count.value);
|
30029
30143
|
const degreesPerUnit = vue.computed(() => 360 / roundCount.value);
|
@@ -30883,9 +30997,9 @@
|
|
30883
30997
|
const {
|
30884
30998
|
items
|
30885
30999
|
} = useListItems(props);
|
30886
|
-
const activeColor = vue.toRef(props
|
30887
|
-
const baseColor = vue.toRef(props
|
30888
|
-
const color = vue.toRef(props
|
31000
|
+
const activeColor = vue.toRef(() => props.activeColor);
|
31001
|
+
const baseColor = vue.toRef(() => props.baseColor);
|
31002
|
+
const color = vue.toRef(() => props.color);
|
30889
31003
|
const activated = useProxiedModel(props, 'activated');
|
30890
31004
|
const model = useProxiedModel(props, 'modelValue');
|
30891
31005
|
const _selected = useProxiedModel(props, 'selected', props.modelValue);
|
@@ -30899,7 +31013,7 @@
|
|
30899
31013
|
const vListRef = vue.ref();
|
30900
31014
|
const opened = vue.computed(() => props.openAll ? openAll(items.value) : props.opened);
|
30901
31015
|
const flatItems = vue.computed(() => flatten(items.value));
|
30902
|
-
const search = vue.toRef(props
|
31016
|
+
const search = vue.toRef(() => props.search);
|
30903
31017
|
const {
|
30904
31018
|
filteredItems
|
30905
31019
|
} = useFilter(props, flatItems, search);
|
@@ -30942,18 +31056,18 @@
|
|
30942
31056
|
activeColor,
|
30943
31057
|
baseColor,
|
30944
31058
|
color,
|
30945
|
-
collapseIcon: vue.toRef(props
|
30946
|
-
expandIcon: vue.toRef(props
|
31059
|
+
collapseIcon: vue.toRef(() => props.collapseIcon),
|
31060
|
+
expandIcon: vue.toRef(() => props.expandIcon)
|
30947
31061
|
},
|
30948
31062
|
VTreeviewItem: {
|
30949
|
-
activeClass: vue.toRef(props
|
31063
|
+
activeClass: vue.toRef(() => props.activeClass),
|
30950
31064
|
activeColor,
|
30951
31065
|
baseColor,
|
30952
31066
|
color,
|
30953
|
-
density: vue.toRef(props
|
30954
|
-
disabled: vue.toRef(props
|
30955
|
-
lines: vue.toRef(props
|
30956
|
-
variant: vue.toRef(props
|
31067
|
+
density: vue.toRef(() => props.density),
|
31068
|
+
disabled: vue.toRef(() => props.disabled),
|
31069
|
+
lines: vue.toRef(() => props.lines),
|
31070
|
+
variant: vue.toRef(() => props.variant)
|
30957
31071
|
}
|
30958
31072
|
});
|
30959
31073
|
useRender(() => {
|
@@ -31493,7 +31607,7 @@
|
|
31493
31607
|
};
|
31494
31608
|
});
|
31495
31609
|
}
|
31496
|
-
const version$1 = "3.8.2-master.2025-04-
|
31610
|
+
const version$1 = "3.8.2-master.2025-04-23";
|
31497
31611
|
createVuetify$1.version = version$1;
|
31498
31612
|
|
31499
31613
|
// Vue's inject() can only be used in setup
|
@@ -31791,7 +31905,7 @@
|
|
31791
31905
|
|
31792
31906
|
/* eslint-disable local-rules/sort-imports */
|
31793
31907
|
|
31794
|
-
const version = "3.8.2-master.2025-04-
|
31908
|
+
const version = "3.8.2-master.2025-04-23";
|
31795
31909
|
|
31796
31910
|
/* eslint-disable local-rules/sort-imports */
|
31797
31911
|
|