@vuetify/nightly 3.8.2-master.2025-04-17 → 3.8.2-master.2025-04-22
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 +24 -3
- package/dist/json/attributes.json +2022 -2022
- package/dist/json/importMap-labs.json +36 -36
- package/dist/json/importMap.json +170 -170
- package/dist/json/web-types.json +4067 -3809
- package/dist/vuetify-labs.cjs +631 -514
- package/dist/vuetify-labs.css +5232 -5223
- package/dist/vuetify-labs.d.ts +1855 -915
- package/dist/vuetify-labs.esm.js +632 -515
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +631 -514
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +402 -391
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +2556 -2556
- package/dist/vuetify.d.ts +168 -166
- package/dist/vuetify.esm.js +403 -392
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +402 -391
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +893 -885
- 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/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 +81 -79
- 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.d.ts +6 -21
- package/lib/labs/VIconBtn/VIconBtn.js +10 -12
- 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.cjs
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.8.2-master.2025-04-
|
2
|
+
* Vuetify v3.8.2-master.2025-04-22
|
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,
|
@@ -7032,10 +7039,10 @@
|
|
7032
7039
|
resetValidation,
|
7033
7040
|
validate
|
7034
7041
|
}));
|
7035
|
-
const color = vue.
|
7042
|
+
const color = vue.toRef(() => {
|
7036
7043
|
return props.error || props.disabled ? undefined : props.focused ? props.color : props.baseColor;
|
7037
7044
|
});
|
7038
|
-
const iconColor = vue.
|
7045
|
+
const iconColor = vue.toRef(() => {
|
7039
7046
|
if (!props.iconColor) return undefined;
|
7040
7047
|
return props.iconColor === true ? color.value : props.iconColor;
|
7041
7048
|
});
|
@@ -7125,7 +7132,6 @@
|
|
7125
7132
|
blur
|
7126
7133
|
} = useFocus(props);
|
7127
7134
|
const uid = vue.useId();
|
7128
|
-
const id = vue.computed(() => props.id || `checkbox-${uid}`);
|
7129
7135
|
useRender(() => {
|
7130
7136
|
const [rootAttrs, controlAttrs] = filterInputAttrs(attrs);
|
7131
7137
|
const inputProps = VInput.filterProps(props);
|
@@ -7135,7 +7141,7 @@
|
|
7135
7141
|
}, rootAttrs, inputProps, {
|
7136
7142
|
"modelValue": model.value,
|
7137
7143
|
"onUpdate:modelValue": $event => model.value = $event,
|
7138
|
-
"id": id
|
7144
|
+
"id": props.id || `checkbox-${uid}`,
|
7139
7145
|
"focused": isFocused.value,
|
7140
7146
|
"style": props.style
|
7141
7147
|
}), {
|
@@ -7319,7 +7325,7 @@
|
|
7319
7325
|
return false;
|
7320
7326
|
}
|
7321
7327
|
});
|
7322
|
-
const displayClasses = vue.
|
7328
|
+
const displayClasses = vue.toRef(() => {
|
7323
7329
|
if (!name) return {};
|
7324
7330
|
return {
|
7325
7331
|
[`${name}--mobile`]: mobile.value
|
@@ -7434,7 +7440,7 @@
|
|
7434
7440
|
const goTo = {
|
7435
7441
|
...goToInstance,
|
7436
7442
|
// can be set via VLocaleProvider
|
7437
|
-
rtl: vue.
|
7443
|
+
rtl: vue.toRef(() => goToInstance.rtl.value || isRtl.value)
|
7438
7444
|
};
|
7439
7445
|
async function go(target, options) {
|
7440
7446
|
return scrollTo(target, mergeDeep(_options, options), false, goTo);
|
@@ -7926,11 +7932,11 @@
|
|
7926
7932
|
} = useGroup(props, VChipGroupSymbol);
|
7927
7933
|
provideDefaults({
|
7928
7934
|
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
|
7935
|
+
baseColor: vue.toRef(() => props.baseColor),
|
7936
|
+
color: vue.toRef(() => props.color),
|
7937
|
+
disabled: vue.toRef(() => props.disabled),
|
7938
|
+
filter: vue.toRef(() => props.filter),
|
7939
|
+
variant: vue.toRef(() => props.variant)
|
7934
7940
|
}
|
7935
7941
|
});
|
7936
7942
|
useRender(() => {
|
@@ -8056,9 +8062,9 @@
|
|
8056
8062
|
const isActive = useProxiedModel(props, 'modelValue');
|
8057
8063
|
const group = useGroupItem(props, VChipGroupSymbol, false);
|
8058
8064
|
const link = useLink(props, attrs);
|
8059
|
-
const isLink = vue.
|
8065
|
+
const isLink = vue.toRef(() => props.link !== false && link.isLink.value);
|
8060
8066
|
const isClickable = vue.computed(() => !props.disabled && props.link !== false && (!!group || props.link || link.isClickable.value));
|
8061
|
-
const closeProps = vue.
|
8067
|
+
const closeProps = vue.toRef(() => ({
|
8062
8068
|
'aria-label': t(props.closeLabel),
|
8063
8069
|
onClick(e) {
|
8064
8070
|
e.preventDefault();
|
@@ -8067,18 +8073,17 @@
|
|
8067
8073
|
emit('click:close', e);
|
8068
8074
|
}
|
8069
8075
|
}));
|
8070
|
-
const
|
8076
|
+
const {
|
8077
|
+
colorClasses,
|
8078
|
+
colorStyles,
|
8079
|
+
variantClasses
|
8080
|
+
} = useVariant(() => {
|
8071
8081
|
const showColor = !group || group.isSelected.value;
|
8072
8082
|
return {
|
8073
8083
|
color: showColor ? props.color ?? props.baseColor : props.baseColor,
|
8074
8084
|
variant: props.variant
|
8075
8085
|
};
|
8076
8086
|
});
|
8077
|
-
const {
|
8078
|
-
colorClasses,
|
8079
|
-
colorStyles,
|
8080
|
-
variantClasses
|
8081
|
-
} = useVariant(variantProps);
|
8082
8087
|
function onClick(e) {
|
8083
8088
|
emit('click', e);
|
8084
8089
|
if (!isClickable.value) return;
|
@@ -8745,8 +8750,8 @@
|
|
8745
8750
|
id: vue.shallowRef(),
|
8746
8751
|
root: {
|
8747
8752
|
opened,
|
8748
|
-
activatable: vue.toRef(props
|
8749
|
-
selectable: vue.toRef(props
|
8753
|
+
activatable: vue.toRef(() => props.activatable),
|
8754
|
+
selectable: vue.toRef(() => props.selectable),
|
8750
8755
|
activated,
|
8751
8756
|
selected,
|
8752
8757
|
selectedValues: vue.computed(() => {
|
@@ -8875,7 +8880,7 @@
|
|
8875
8880
|
const useNestedItem = (id, isGroup) => {
|
8876
8881
|
const parent = vue.inject(VNestedSymbol, emptyNested);
|
8877
8882
|
const uidSymbol = Symbol('nested item');
|
8878
|
-
const computedId = vue.computed(() =>
|
8883
|
+
const computedId = vue.computed(() => vue.toValue(id) ?? uidSymbol);
|
8879
8884
|
const item = {
|
8880
8885
|
...parent,
|
8881
8886
|
id: computedId,
|
@@ -8951,7 +8956,7 @@
|
|
8951
8956
|
isOpen,
|
8952
8957
|
open,
|
8953
8958
|
id: _id
|
8954
|
-
} = useNestedItem(
|
8959
|
+
} = useNestedItem(() => props.value, true);
|
8955
8960
|
const id = vue.computed(() => `v-list-group--id-${String(_id.value)}`);
|
8956
8961
|
const list = useList();
|
8957
8962
|
const {
|
@@ -9125,12 +9130,12 @@
|
|
9125
9130
|
} = useNestedItem(id, false);
|
9126
9131
|
const list = useList();
|
9127
9132
|
const isActive = vue.computed(() => props.active !== false && (props.active || link.isActive?.value || (root.activatable.value ? isActivated.value : isSelected.value)));
|
9128
|
-
const isLink = vue.
|
9133
|
+
const isLink = vue.toRef(() => props.link !== false && link.isLink.value);
|
9129
9134
|
const isSelectable = vue.computed(() => !!list && (root.selectable.value || root.activatable.value || props.value != null));
|
9130
9135
|
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.
|
9136
|
+
const roundedProps = vue.toRef(() => props.rounded || props.nav);
|
9137
|
+
const color = vue.toRef(() => props.color ?? props.activeColor);
|
9138
|
+
const variantProps = vue.toRef(() => ({
|
9134
9139
|
color: isActive.value ? color.value ?? props.baseColor : props.baseColor,
|
9135
9140
|
variant: props.variant
|
9136
9141
|
}));
|
@@ -9173,7 +9178,7 @@
|
|
9173
9178
|
const {
|
9174
9179
|
roundedClasses
|
9175
9180
|
} = useRounded(roundedProps);
|
9176
|
-
const lineClasses = vue.
|
9181
|
+
const lineClasses = vue.toRef(() => props.lines ? `v-list-item--${props.lines}-line` : undefined);
|
9177
9182
|
const slotProps = vue.computed(() => ({
|
9178
9183
|
isActive: isActive.value,
|
9179
9184
|
select,
|
@@ -9343,7 +9348,7 @@
|
|
9343
9348
|
const {
|
9344
9349
|
textColorClasses,
|
9345
9350
|
textColorStyles
|
9346
|
-
} = useTextColor(
|
9351
|
+
} = useTextColor(() => props.color);
|
9347
9352
|
useRender(() => {
|
9348
9353
|
const hasText = !!(slots.default || props.title);
|
9349
9354
|
return vue.createVNode(props.tag, {
|
@@ -9388,7 +9393,7 @@
|
|
9388
9393
|
const {
|
9389
9394
|
textColorClasses,
|
9390
9395
|
textColorStyles
|
9391
|
-
} = useTextColor(
|
9396
|
+
} = useTextColor(() => props.color);
|
9392
9397
|
const dividerStyles = vue.computed(() => {
|
9393
9398
|
const styles = {};
|
9394
9399
|
if (props.length) {
|
@@ -9750,7 +9755,7 @@
|
|
9750
9755
|
const {
|
9751
9756
|
backgroundColorClasses,
|
9752
9757
|
backgroundColorStyles
|
9753
|
-
} = useBackgroundColor(
|
9758
|
+
} = useBackgroundColor(() => props.bgColor);
|
9754
9759
|
const {
|
9755
9760
|
borderClasses
|
9756
9761
|
} = useBorder(props);
|
@@ -9773,30 +9778,30 @@
|
|
9773
9778
|
select,
|
9774
9779
|
getPath
|
9775
9780
|
} = useNested(props);
|
9776
|
-
const lineClasses = vue.
|
9777
|
-
const activeColor = vue.toRef(props
|
9778
|
-
const baseColor = vue.toRef(props
|
9779
|
-
const color = vue.toRef(props
|
9781
|
+
const lineClasses = vue.toRef(() => props.lines ? `v-list--${props.lines}-line` : undefined);
|
9782
|
+
const activeColor = vue.toRef(() => props.activeColor);
|
9783
|
+
const baseColor = vue.toRef(() => props.baseColor);
|
9784
|
+
const color = vue.toRef(() => props.color);
|
9780
9785
|
createList();
|
9781
9786
|
provideDefaults({
|
9782
9787
|
VListGroup: {
|
9783
9788
|
activeColor,
|
9784
9789
|
baseColor,
|
9785
9790
|
color,
|
9786
|
-
expandIcon: vue.toRef(props
|
9787
|
-
collapseIcon: vue.toRef(props
|
9791
|
+
expandIcon: vue.toRef(() => props.expandIcon),
|
9792
|
+
collapseIcon: vue.toRef(() => props.collapseIcon)
|
9788
9793
|
},
|
9789
9794
|
VListItem: {
|
9790
|
-
activeClass: vue.toRef(props
|
9795
|
+
activeClass: vue.toRef(() => props.activeClass),
|
9791
9796
|
activeColor,
|
9792
9797
|
baseColor,
|
9793
9798
|
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
|
9799
|
+
density: vue.toRef(() => props.density),
|
9800
|
+
disabled: vue.toRef(() => props.disabled),
|
9801
|
+
lines: vue.toRef(() => props.lines),
|
9802
|
+
nav: vue.toRef(() => props.nav),
|
9803
|
+
slim: vue.toRef(() => props.slim),
|
9804
|
+
variant: vue.toRef(() => props.variant)
|
9800
9805
|
}
|
9801
9806
|
});
|
9802
9807
|
const isFocused = vue.shallowRef(false);
|
@@ -10124,13 +10129,22 @@
|
|
10124
10129
|
vue.onScopeDispose(() => {
|
10125
10130
|
observer.disconnect();
|
10126
10131
|
});
|
10132
|
+
let targetBox = new Box({
|
10133
|
+
x: 0,
|
10134
|
+
y: 0,
|
10135
|
+
width: 0,
|
10136
|
+
height: 0
|
10137
|
+
});
|
10127
10138
|
|
10128
10139
|
// eslint-disable-next-line max-statements
|
10129
10140
|
function updateLocation() {
|
10130
10141
|
observe = false;
|
10131
10142
|
requestAnimationFrame(() => observe = true);
|
10132
10143
|
if (!data.target.value || !data.contentEl.value) return;
|
10133
|
-
|
10144
|
+
if (Array.isArray(data.target.value) || data.target.value.offsetParent) {
|
10145
|
+
targetBox = getTargetBox(data.target.value);
|
10146
|
+
} // Otherwise target element is hidden, use last known value
|
10147
|
+
|
10134
10148
|
const contentBox = getIntrinsicSize(data.contentEl.value, data.isRtl.value);
|
10135
10149
|
const scrollParents = getScrollParents(data.contentEl.value);
|
10136
10150
|
const viewportMargin = 12;
|
@@ -10840,7 +10854,7 @@
|
|
10840
10854
|
}, 'lazy');
|
10841
10855
|
function useLazy(props, active) {
|
10842
10856
|
const isBooted = vue.shallowRef(false);
|
10843
|
-
const hasContent = vue.
|
10857
|
+
const hasContent = vue.toRef(() => isBooted.value || props.eager || active.value);
|
10844
10858
|
vue.watch(active, () => isBooted.value = true);
|
10845
10859
|
function onAfterLeave() {
|
10846
10860
|
if (!props.eager) isBooted.value = false;
|
@@ -10877,10 +10891,10 @@
|
|
10877
10891
|
activeChildren: new Set()
|
10878
10892
|
});
|
10879
10893
|
vue.provide(StackSymbol, stack);
|
10880
|
-
const _zIndex = vue.shallowRef(Number(zIndex
|
10894
|
+
const _zIndex = vue.shallowRef(Number(vue.toValue(zIndex)));
|
10881
10895
|
useToggleScope(isActive, () => {
|
10882
10896
|
const lastZIndex = globalStack.at(-1)?.[1];
|
10883
|
-
_zIndex.value = lastZIndex ? lastZIndex + 10 : Number(zIndex
|
10897
|
+
_zIndex.value = lastZIndex ? lastZIndex + 10 : Number(vue.toValue(zIndex));
|
10884
10898
|
if (createStackEntry) {
|
10885
10899
|
globalStack.push([vm.uid, _zIndex.value]);
|
10886
10900
|
}
|
@@ -10900,11 +10914,11 @@
|
|
10900
10914
|
setTimeout(() => globalTop.value = _isTop);
|
10901
10915
|
});
|
10902
10916
|
}
|
10903
|
-
const localTop = vue.
|
10917
|
+
const localTop = vue.toRef(() => !stack.activeChildren.size);
|
10904
10918
|
return {
|
10905
10919
|
globalTop: vue.readonly(globalTop),
|
10906
10920
|
localTop,
|
10907
|
-
stackStyles: vue.
|
10921
|
+
stackStyles: vue.toRef(() => ({
|
10908
10922
|
zIndex: _zIndex.value
|
10909
10923
|
}))
|
10910
10924
|
};
|
@@ -11121,14 +11135,14 @@
|
|
11121
11135
|
hasContent,
|
11122
11136
|
onAfterLeave: _onAfterLeave
|
11123
11137
|
} = useLazy(props, isActive);
|
11124
|
-
const scrimColor = useBackgroundColor(
|
11138
|
+
const scrimColor = useBackgroundColor(() => {
|
11125
11139
|
return typeof props.scrim === 'string' ? props.scrim : null;
|
11126
|
-
})
|
11140
|
+
});
|
11127
11141
|
const {
|
11128
11142
|
globalTop,
|
11129
11143
|
localTop,
|
11130
11144
|
stackStyles
|
11131
|
-
} = useStack(isActive,
|
11145
|
+
} = useStack(isActive, () => props.zIndex, props._disableGlobalStack);
|
11132
11146
|
const {
|
11133
11147
|
activatorEl,
|
11134
11148
|
activatorRef,
|
@@ -11454,7 +11468,7 @@
|
|
11454
11468
|
isRtl
|
11455
11469
|
} = useRtl();
|
11456
11470
|
const uid = vue.useId();
|
11457
|
-
const id = vue.
|
11471
|
+
const id = vue.toRef(() => props.id || `v-menu-${uid}`);
|
11458
11472
|
const overlay = vue.ref();
|
11459
11473
|
const parent = vue.inject(VMenuSymbol, null);
|
11460
11474
|
const openChildren = vue.shallowRef(new Set());
|
@@ -11622,7 +11636,7 @@
|
|
11622
11636
|
let {
|
11623
11637
|
slots
|
11624
11638
|
} = _ref;
|
11625
|
-
const counter = vue.
|
11639
|
+
const counter = vue.toRef(() => {
|
11626
11640
|
return props.max ? `${props.value} / ${props.max}` : String(props.value);
|
11627
11641
|
});
|
11628
11642
|
useRender(() => vue.createVNode(MaybeTransition, {
|
@@ -11749,12 +11763,12 @@
|
|
11749
11763
|
const {
|
11750
11764
|
rtlClasses
|
11751
11765
|
} = useRtl();
|
11752
|
-
const isActive = vue.
|
11753
|
-
const hasLabel = vue.
|
11754
|
-
const hasFloatingLabel = vue.
|
11766
|
+
const isActive = vue.toRef(() => props.dirty || props.active);
|
11767
|
+
const hasLabel = vue.toRef(() => !!(props.label || slots.label));
|
11768
|
+
const hasFloatingLabel = vue.toRef(() => !props.singleLine && hasLabel.value);
|
11755
11769
|
const uid = vue.useId();
|
11756
11770
|
const id = vue.computed(() => props.id || `input-${uid}`);
|
11757
|
-
const messagesId = vue.
|
11771
|
+
const messagesId = vue.toRef(() => `${id.value}-messages`);
|
11758
11772
|
const labelRef = vue.ref();
|
11759
11773
|
const floatingLabelRef = vue.ref();
|
11760
11774
|
const controlRef = vue.ref();
|
@@ -11769,7 +11783,7 @@
|
|
11769
11783
|
const {
|
11770
11784
|
backgroundColorClasses,
|
11771
11785
|
backgroundColorStyles
|
11772
|
-
} = useBackgroundColor(
|
11786
|
+
} = useBackgroundColor(() => props.bgColor);
|
11773
11787
|
const {
|
11774
11788
|
textColorClasses,
|
11775
11789
|
textColorStyles
|
@@ -12496,7 +12510,7 @@
|
|
12496
12510
|
paddingTop,
|
12497
12511
|
paddingBottom,
|
12498
12512
|
computedItems
|
12499
|
-
} = useVirtual(props, vue.toRef(props
|
12513
|
+
} = useVirtual(props, vue.toRef(() => props.items));
|
12500
12514
|
useToggleScope(() => props.renderless, () => {
|
12501
12515
|
function handleListeners() {
|
12502
12516
|
let add = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
@@ -12733,7 +12747,7 @@
|
|
12733
12747
|
_menu.value = v;
|
12734
12748
|
}
|
12735
12749
|
});
|
12736
|
-
const label = vue.
|
12750
|
+
const label = vue.toRef(() => menu.value ? props.closeText : props.openText);
|
12737
12751
|
const computedMenuProps = vue.computed(() => {
|
12738
12752
|
return {
|
12739
12753
|
...props.menuProps,
|
@@ -13235,7 +13249,6 @@
|
|
13235
13249
|
const vMenuRef = vue.ref();
|
13236
13250
|
const vVirtualScrollRef = vue.ref();
|
13237
13251
|
const selectionIndex = vue.shallowRef(-1);
|
13238
|
-
const color = vue.computed(() => vTextFieldRef.value?.color);
|
13239
13252
|
const {
|
13240
13253
|
items,
|
13241
13254
|
transformIn,
|
@@ -13244,7 +13257,7 @@
|
|
13244
13257
|
const {
|
13245
13258
|
textColorClasses,
|
13246
13259
|
textColorStyles
|
13247
|
-
} = useTextColor(color);
|
13260
|
+
} = useTextColor(() => vTextFieldRef.value?.color);
|
13248
13261
|
const search = useProxiedModel(props, 'search', '');
|
13249
13262
|
const model = useProxiedModel(props, 'modelValue', [], v => transformIn(v === null ? [null] : wrapInArray(v)), v => {
|
13250
13263
|
const transformed = transformOut(v);
|
@@ -13693,7 +13706,7 @@
|
|
13693
13706
|
const {
|
13694
13707
|
backgroundColorClasses,
|
13695
13708
|
backgroundColorStyles
|
13696
|
-
} = useBackgroundColor(
|
13709
|
+
} = useBackgroundColor(() => props.color);
|
13697
13710
|
const {
|
13698
13711
|
roundedClasses
|
13699
13712
|
} = useRounded(props);
|
@@ -13703,7 +13716,7 @@
|
|
13703
13716
|
const {
|
13704
13717
|
textColorClasses,
|
13705
13718
|
textColorStyles
|
13706
|
-
} = useTextColor(
|
13719
|
+
} = useTextColor(() => props.textColor);
|
13707
13720
|
const {
|
13708
13721
|
themeClasses
|
13709
13722
|
} = useTheme();
|
@@ -13815,7 +13828,7 @@
|
|
13815
13828
|
const {
|
13816
13829
|
backgroundColorClasses,
|
13817
13830
|
backgroundColorStyles
|
13818
|
-
} = useBackgroundColor(props
|
13831
|
+
} = useBackgroundColor(() => props.bgColor);
|
13819
13832
|
const {
|
13820
13833
|
borderClasses
|
13821
13834
|
} = useBorder(props);
|
@@ -13844,8 +13857,8 @@
|
|
13844
13857
|
const {
|
13845
13858
|
themeClasses
|
13846
13859
|
} = provideTheme(props);
|
13847
|
-
const color = vue.toRef(props
|
13848
|
-
const density = vue.toRef(props
|
13860
|
+
const color = vue.toRef(() => props.color);
|
13861
|
+
const density = vue.toRef(() => props.density);
|
13849
13862
|
provideDefaults({
|
13850
13863
|
VBannerActions: {
|
13851
13864
|
color,
|
@@ -13954,7 +13967,7 @@
|
|
13954
13967
|
const {
|
13955
13968
|
backgroundColorClasses,
|
13956
13969
|
backgroundColorStyles
|
13957
|
-
} = useBackgroundColor(
|
13970
|
+
} = useBackgroundColor(() => props.bgColor);
|
13958
13971
|
const {
|
13959
13972
|
densityClasses
|
13960
13973
|
} = useDensity(props);
|
@@ -13974,19 +13987,19 @@
|
|
13974
13987
|
} = useLayoutItem({
|
13975
13988
|
id: props.name,
|
13976
13989
|
order: vue.computed(() => parseInt(props.order, 10)),
|
13977
|
-
position: vue.
|
13978
|
-
layoutSize: vue.
|
13990
|
+
position: vue.toRef(() => 'bottom'),
|
13991
|
+
layoutSize: vue.toRef(() => isActive.value ? height.value : 0),
|
13979
13992
|
elementSize: height,
|
13980
13993
|
active: isActive,
|
13981
|
-
absolute: vue.toRef(props
|
13994
|
+
absolute: vue.toRef(() => props.absolute)
|
13982
13995
|
});
|
13983
13996
|
useGroup(props, VBtnToggleSymbol);
|
13984
13997
|
provideDefaults({
|
13985
13998
|
VBtn: {
|
13986
|
-
baseColor: vue.toRef(props
|
13987
|
-
color: vue.toRef(props
|
13988
|
-
density: vue.toRef(props
|
13989
|
-
stacked: vue.
|
13999
|
+
baseColor: vue.toRef(() => props.baseColor),
|
14000
|
+
color: vue.toRef(() => props.color),
|
14001
|
+
density: vue.toRef(() => props.density),
|
14002
|
+
stacked: vue.toRef(() => props.mode !== 'horizontal'),
|
13990
14003
|
variant: 'text'
|
13991
14004
|
}
|
13992
14005
|
}, {
|
@@ -14222,11 +14235,10 @@
|
|
14222
14235
|
} = _ref;
|
14223
14236
|
const link = useLink(props, attrs);
|
14224
14237
|
const isActive = vue.computed(() => props.active || link.isActive?.value);
|
14225
|
-
const color = vue.computed(() => isActive.value ? props.activeColor : props.color);
|
14226
14238
|
const {
|
14227
14239
|
textColorClasses,
|
14228
14240
|
textColorStyles
|
14229
|
-
} = useTextColor(color);
|
14241
|
+
} = useTextColor(() => isActive.value ? props.activeColor : props.color);
|
14230
14242
|
useRender(() => {
|
14231
14243
|
return vue.createVNode(props.tag, {
|
14232
14244
|
"class": ['v-breadcrumbs-item', {
|
@@ -14281,7 +14293,7 @@
|
|
14281
14293
|
const {
|
14282
14294
|
backgroundColorClasses,
|
14283
14295
|
backgroundColorStyles
|
14284
|
-
} = useBackgroundColor(
|
14296
|
+
} = useBackgroundColor(() => props.bgColor);
|
14285
14297
|
const {
|
14286
14298
|
densityClasses
|
14287
14299
|
} = useDensity(props);
|
@@ -14290,13 +14302,13 @@
|
|
14290
14302
|
} = useRounded(props);
|
14291
14303
|
provideDefaults({
|
14292
14304
|
VBreadcrumbsDivider: {
|
14293
|
-
divider: vue.toRef(props
|
14305
|
+
divider: vue.toRef(() => props.divider)
|
14294
14306
|
},
|
14295
14307
|
VBreadcrumbsItem: {
|
14296
|
-
activeClass: vue.toRef(props
|
14297
|
-
activeColor: vue.toRef(props
|
14298
|
-
color: vue.toRef(props
|
14299
|
-
disabled: vue.toRef(props
|
14308
|
+
activeClass: vue.toRef(() => props.activeClass),
|
14309
|
+
activeColor: vue.toRef(() => props.activeColor),
|
14310
|
+
color: vue.toRef(() => props.color),
|
14311
|
+
disabled: vue.toRef(() => props.disabled)
|
14300
14312
|
}
|
14301
14313
|
});
|
14302
14314
|
const items = vue.computed(() => props.items.map(item => {
|
@@ -14619,10 +14631,10 @@
|
|
14619
14631
|
roundedClasses
|
14620
14632
|
} = useRounded(props);
|
14621
14633
|
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
14634
|
useRender(() => {
|
14625
|
-
const
|
14635
|
+
const isLink = props.link !== false && link.isLink.value;
|
14636
|
+
const isClickable = !props.disabled && props.link !== false && (props.link || link.isClickable.value);
|
14637
|
+
const Tag = isLink ? 'a' : props.tag;
|
14626
14638
|
const hasTitle = !!(slots.title || props.title != null);
|
14627
14639
|
const hasSubtitle = !!(slots.subtitle || props.subtitle != null);
|
14628
14640
|
const hasHeader = hasTitle || hasSubtitle;
|
@@ -14636,10 +14648,10 @@
|
|
14636
14648
|
'v-card--disabled': props.disabled,
|
14637
14649
|
'v-card--flat': props.flat,
|
14638
14650
|
'v-card--hover': props.hover && !(props.disabled || props.flat),
|
14639
|
-
'v-card--link': isClickable
|
14651
|
+
'v-card--link': isClickable
|
14640
14652
|
}, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class],
|
14641
14653
|
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value, props.style],
|
14642
|
-
"onClick": isClickable
|
14654
|
+
"onClick": isClickable && link.navigate,
|
14643
14655
|
"tabindex": props.disabled ? -1 : undefined
|
14644
14656
|
}, link.linkProps), {
|
14645
14657
|
default: () => [hasImage && vue.createVNode("div", {
|
@@ -14684,8 +14696,8 @@
|
|
14684
14696
|
default: () => [slots.text?.() ?? props.text]
|
14685
14697
|
}), slots.default?.(), slots.actions && vue.createVNode(VCardActions, null, {
|
14686
14698
|
default: slots.actions
|
14687
|
-
}), genOverlays(isClickable
|
14688
|
-
}), [[vue.resolveDirective("ripple"), isClickable
|
14699
|
+
}), genOverlays(isClickable, 'v-card')]
|
14700
|
+
}), [[vue.resolveDirective("ripple"), isClickable && props.ripple]]);
|
14689
14701
|
});
|
14690
14702
|
return {};
|
14691
14703
|
}
|
@@ -14898,8 +14910,8 @@
|
|
14898
14910
|
transitionHeight,
|
14899
14911
|
rootRef
|
14900
14912
|
});
|
14901
|
-
const canMoveBack = vue.
|
14902
|
-
const canMoveForward = vue.
|
14913
|
+
const canMoveBack = vue.toRef(() => props.continuous || activeIndex.value !== 0);
|
14914
|
+
const canMoveForward = vue.toRef(() => props.continuous || activeIndex.value !== group.items.value.length - 1);
|
14903
14915
|
function prev() {
|
14904
14916
|
canMoveBack.value && group.prev();
|
14905
14917
|
}
|
@@ -15801,7 +15813,7 @@
|
|
15801
15813
|
const {
|
15802
15814
|
isRtl
|
15803
15815
|
} = useRtl();
|
15804
|
-
const isReversed = vue.toRef(props
|
15816
|
+
const isReversed = vue.toRef(() => props.reverse);
|
15805
15817
|
const vertical = vue.computed(() => props.direction === 'vertical');
|
15806
15818
|
const indexFromEnd = vue.computed(() => vertical.value !== isReversed.value);
|
15807
15819
|
const {
|
@@ -15815,7 +15827,7 @@
|
|
15815
15827
|
const tickSize = vue.computed(() => parseInt(props.tickSize, 10));
|
15816
15828
|
const trackSize = vue.computed(() => parseInt(props.trackSize, 10));
|
15817
15829
|
const numTicks = vue.computed(() => (max.value - min.value) / step.value);
|
15818
|
-
const disabled = vue.toRef(props
|
15830
|
+
const disabled = vue.toRef(() => props.disabled);
|
15819
15831
|
const thumbColor = vue.computed(() => props.error || props.disabled ? undefined : props.thumbColor ?? props.color);
|
15820
15832
|
const trackColor = vue.computed(() => props.error || props.disabled ? undefined : props.trackColor ?? props.color);
|
15821
15833
|
const trackFillColor = vue.computed(() => props.error || props.disabled ? undefined : props.trackFillColor ?? props.color);
|
@@ -15917,7 +15929,7 @@
|
|
15917
15929
|
const percentage = (val - min.value) / (max.value - min.value) * 100;
|
15918
15930
|
return clamp(isNaN(percentage) ? 0 : percentage, 0, 100);
|
15919
15931
|
};
|
15920
|
-
const showTicks = vue.toRef(props
|
15932
|
+
const showTicks = vue.toRef(() => props.showTicks);
|
15921
15933
|
const parsedTicks = vue.computed(() => {
|
15922
15934
|
if (!showTicks.value) return [];
|
15923
15935
|
if (!props.ticks) {
|
@@ -15948,11 +15960,11 @@
|
|
15948
15960
|
}));
|
15949
15961
|
const data = {
|
15950
15962
|
activeThumbRef,
|
15951
|
-
color: vue.toRef(props
|
15963
|
+
color: vue.toRef(() => props.color),
|
15952
15964
|
decimals,
|
15953
15965
|
disabled,
|
15954
|
-
direction: vue.toRef(props
|
15955
|
-
elevation: vue.toRef(props
|
15966
|
+
direction: vue.toRef(() => props.direction),
|
15967
|
+
elevation: vue.toRef(() => props.elevation),
|
15956
15968
|
hasLabels,
|
15957
15969
|
isReversed,
|
15958
15970
|
indexFromEnd,
|
@@ -15965,16 +15977,16 @@
|
|
15965
15977
|
parsedTicks,
|
15966
15978
|
parseMouseMove,
|
15967
15979
|
position,
|
15968
|
-
readonly: vue.toRef(props
|
15969
|
-
rounded: vue.toRef(props
|
15980
|
+
readonly: vue.toRef(() => props.readonly),
|
15981
|
+
rounded: vue.toRef(() => props.rounded),
|
15970
15982
|
roundValue,
|
15971
15983
|
showTicks,
|
15972
15984
|
startOffset,
|
15973
15985
|
step,
|
15974
15986
|
thumbSize,
|
15975
15987
|
thumbColor,
|
15976
|
-
thumbLabel: vue.toRef(props
|
15977
|
-
ticks: vue.toRef(props
|
15988
|
+
thumbLabel: vue.toRef(() => props.thumbLabel),
|
15989
|
+
ticks: vue.toRef(() => props.ticks),
|
15978
15990
|
tickSize,
|
15979
15991
|
trackColor,
|
15980
15992
|
trackContainerRef,
|
@@ -16893,7 +16905,7 @@
|
|
16893
16905
|
const {
|
16894
16906
|
backgroundColorClasses,
|
16895
16907
|
backgroundColorStyles
|
16896
|
-
} = useBackgroundColor(
|
16908
|
+
} = useBackgroundColor(() => props.color);
|
16897
16909
|
const {
|
16898
16910
|
borderClasses
|
16899
16911
|
} = useBorder(props);
|
@@ -16940,7 +16952,7 @@
|
|
16940
16952
|
const {
|
16941
16953
|
backgroundColorClasses,
|
16942
16954
|
backgroundColorStyles
|
16943
|
-
} = useBackgroundColor(
|
16955
|
+
} = useBackgroundColor(() => props.color);
|
16944
16956
|
useRender(() => {
|
16945
16957
|
const sheetProps = VSheet.filterProps(props);
|
16946
16958
|
const hasTitle = !!(props.title || slots.title);
|
@@ -17925,7 +17937,6 @@
|
|
17925
17937
|
const vVirtualScrollRef = vue.ref();
|
17926
17938
|
const selectionIndex = vue.shallowRef(-1);
|
17927
17939
|
let cleared = false;
|
17928
|
-
const color = vue.computed(() => vTextFieldRef.value?.color);
|
17929
17940
|
const {
|
17930
17941
|
items,
|
17931
17942
|
transformIn,
|
@@ -17934,7 +17945,7 @@
|
|
17934
17945
|
const {
|
17935
17946
|
textColorClasses,
|
17936
17947
|
textColorStyles
|
17937
|
-
} = useTextColor(color);
|
17948
|
+
} = useTextColor(() => vTextFieldRef.value?.color);
|
17938
17949
|
const model = useProxiedModel(props, 'modelValue', [], v => transformIn(wrapInArray(v)), v => {
|
17939
17950
|
const transformed = transformOut(v);
|
17940
17951
|
return props.multiple ? transformed : transformed[0] ?? null;
|
@@ -17989,7 +18000,7 @@
|
|
17989
18000
|
_menu.value = v;
|
17990
18001
|
}
|
17991
18002
|
});
|
17992
|
-
const label = vue.
|
18003
|
+
const label = vue.toRef(() => menu.value ? props.closeText : props.openText);
|
17993
18004
|
vue.watch(_search, value => {
|
17994
18005
|
if (cleared) {
|
17995
18006
|
// wait for clear to finish, VTextField sets _search to null
|
@@ -18495,7 +18506,7 @@
|
|
18495
18506
|
}, 'DataTable-expand');
|
18496
18507
|
const VDataTableExpandedKey = Symbol.for('vuetify:datatable:expanded');
|
18497
18508
|
function provideExpanded(props) {
|
18498
|
-
const expandOnClick = vue.toRef(props
|
18509
|
+
const expandOnClick = vue.toRef(() => props.expandOnClick);
|
18499
18510
|
const expanded = useProxiedModel(props, 'expanded', props.expanded, v => {
|
18500
18511
|
return new Set(v);
|
18501
18512
|
}, v => {
|
@@ -18682,23 +18693,23 @@
|
|
18682
18693
|
search
|
18683
18694
|
} = _ref;
|
18684
18695
|
const vm = getCurrentInstance('VDataTable');
|
18685
|
-
const options =
|
18696
|
+
const options = () => ({
|
18686
18697
|
page: page.value,
|
18687
18698
|
itemsPerPage: itemsPerPage.value,
|
18688
18699
|
sortBy: sortBy.value,
|
18689
18700
|
groupBy: groupBy.value,
|
18690
18701
|
search: search.value
|
18691
|
-
})
|
18702
|
+
});
|
18692
18703
|
let oldOptions = null;
|
18693
|
-
vue.watch(options,
|
18694
|
-
if (deepEqual(oldOptions,
|
18704
|
+
vue.watch(options, value => {
|
18705
|
+
if (deepEqual(oldOptions, value)) return;
|
18695
18706
|
|
18696
18707
|
// Reset page when searching
|
18697
|
-
if (oldOptions && oldOptions.search !==
|
18708
|
+
if (oldOptions && oldOptions.search !== value.search) {
|
18698
18709
|
page.value = 1;
|
18699
18710
|
}
|
18700
|
-
vm.emit('update:options',
|
18701
|
-
oldOptions =
|
18711
|
+
vm.emit('update:options', value);
|
18712
|
+
oldOptions = value;
|
18702
18713
|
}, {
|
18703
18714
|
deep: true,
|
18704
18715
|
immediate: true
|
@@ -18979,7 +18990,7 @@
|
|
18979
18990
|
});
|
18980
18991
|
return !!items.length && isSelected(items);
|
18981
18992
|
});
|
18982
|
-
const showSelectAll = vue.
|
18993
|
+
const showSelectAll = vue.toRef(() => selectStrategy.value.showSelectAll);
|
18983
18994
|
const data = {
|
18984
18995
|
toggleSelect,
|
18985
18996
|
select,
|
@@ -19017,8 +19028,8 @@
|
|
19017
19028
|
const VDataTableSortSymbol = Symbol.for('vuetify:data-table-sort');
|
19018
19029
|
function createSort(props) {
|
19019
19030
|
const sortBy = useProxiedModel(props, 'sortBy');
|
19020
|
-
const mustSort = vue.toRef(props
|
19021
|
-
const multiSort = vue.toRef(props
|
19031
|
+
const mustSort = vue.toRef(() => props.mustSort);
|
19032
|
+
const multiSort = vue.toRef(() => props.multiSort);
|
19022
19033
|
return {
|
19023
19034
|
sortBy,
|
19024
19035
|
mustSort,
|
@@ -19236,7 +19247,7 @@
|
|
19236
19247
|
slots
|
19237
19248
|
} = _ref;
|
19238
19249
|
const groupBy = useProxiedModel(props, 'groupBy');
|
19239
|
-
const search = vue.toRef(props
|
19250
|
+
const search = vue.toRef(() => props.search);
|
19240
19251
|
const {
|
19241
19252
|
items
|
19242
19253
|
} = useDataIteratorItems(props);
|
@@ -19280,7 +19291,7 @@
|
|
19280
19291
|
const {
|
19281
19292
|
flatItems
|
19282
19293
|
} = useGroupedItems(sortedItems, groupBy, opened);
|
19283
|
-
const itemsLength = vue.
|
19294
|
+
const itemsLength = vue.toRef(() => flatItems.value.length);
|
19284
19295
|
const {
|
19285
19296
|
startIndex,
|
19286
19297
|
stopIndex,
|
@@ -19560,13 +19571,13 @@
|
|
19560
19571
|
} = useRefs();
|
19561
19572
|
provideDefaults({
|
19562
19573
|
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
|
19574
|
+
color: vue.toRef(() => props.color),
|
19575
|
+
border: vue.toRef(() => props.border),
|
19576
|
+
density: vue.toRef(() => props.density),
|
19577
|
+
size: vue.toRef(() => props.size),
|
19578
|
+
variant: vue.toRef(() => props.variant),
|
19579
|
+
rounded: vue.toRef(() => props.rounded),
|
19580
|
+
elevation: vue.toRef(() => props.elevation)
|
19570
19581
|
}
|
19571
19582
|
});
|
19572
19583
|
const items = vue.computed(() => {
|
@@ -20207,7 +20218,7 @@
|
|
20207
20218
|
const {
|
20208
20219
|
backgroundColorClasses,
|
20209
20220
|
backgroundColorStyles
|
20210
|
-
} = useBackgroundColor(props
|
20221
|
+
} = useBackgroundColor(() => props.color);
|
20211
20222
|
const {
|
20212
20223
|
displayClasses,
|
20213
20224
|
mobile
|
@@ -20865,13 +20876,13 @@
|
|
20865
20876
|
filterFunctions
|
20866
20877
|
} = createHeaders(props, {
|
20867
20878
|
groupBy,
|
20868
|
-
showSelect: vue.toRef(props
|
20869
|
-
showExpand: vue.toRef(props
|
20879
|
+
showSelect: vue.toRef(() => props.showSelect),
|
20880
|
+
showExpand: vue.toRef(() => props.showExpand)
|
20870
20881
|
});
|
20871
20882
|
const {
|
20872
20883
|
items
|
20873
20884
|
} = useDataTableItems(props, columns);
|
20874
|
-
const search = vue.toRef(props
|
20885
|
+
const search = vue.toRef(() => props.search);
|
20875
20886
|
const {
|
20876
20887
|
filteredItems
|
20877
20888
|
} = useFilter(props, items, search, {
|
@@ -20954,10 +20965,10 @@
|
|
20954
20965
|
});
|
20955
20966
|
provideDefaults({
|
20956
20967
|
VDataTableRows: {
|
20957
|
-
hideNoData: vue.toRef(props
|
20958
|
-
noDataText: vue.toRef(props
|
20959
|
-
loading: vue.toRef(props
|
20960
|
-
loadingText: vue.toRef(props
|
20968
|
+
hideNoData: vue.toRef(() => props.hideNoData),
|
20969
|
+
noDataText: vue.toRef(() => props.noDataText),
|
20970
|
+
loading: vue.toRef(() => props.loading),
|
20971
|
+
loadingText: vue.toRef(() => props.loadingText)
|
20961
20972
|
}
|
20962
20973
|
});
|
20963
20974
|
const slotProps = vue.computed(() => ({
|
@@ -21054,13 +21065,13 @@
|
|
21054
21065
|
sortRawFunctions
|
21055
21066
|
} = createHeaders(props, {
|
21056
21067
|
groupBy,
|
21057
|
-
showSelect: vue.toRef(props
|
21058
|
-
showExpand: vue.toRef(props
|
21068
|
+
showSelect: vue.toRef(() => props.showSelect),
|
21069
|
+
showExpand: vue.toRef(() => props.showExpand)
|
21059
21070
|
});
|
21060
21071
|
const {
|
21061
21072
|
items
|
21062
21073
|
} = useDataTableItems(props, columns);
|
21063
|
-
const search = vue.toRef(props
|
21074
|
+
const search = vue.toRef(() => props.search);
|
21064
21075
|
const {
|
21065
21076
|
filteredItems
|
21066
21077
|
} = useFilter(props, items, search, {
|
@@ -21136,10 +21147,10 @@
|
|
21136
21147
|
});
|
21137
21148
|
provideDefaults({
|
21138
21149
|
VDataTableRows: {
|
21139
|
-
hideNoData: vue.toRef(props
|
21140
|
-
noDataText: vue.toRef(props
|
21141
|
-
loading: vue.toRef(props
|
21142
|
-
loadingText: vue.toRef(props
|
21150
|
+
hideNoData: vue.toRef(() => props.hideNoData),
|
21151
|
+
noDataText: vue.toRef(() => props.noDataText),
|
21152
|
+
loading: vue.toRef(() => props.loading),
|
21153
|
+
loadingText: vue.toRef(() => props.loadingText)
|
21143
21154
|
}
|
21144
21155
|
});
|
21145
21156
|
const slotProps = vue.computed(() => ({
|
@@ -21292,8 +21303,8 @@
|
|
21292
21303
|
headers
|
21293
21304
|
} = createHeaders(props, {
|
21294
21305
|
groupBy,
|
21295
|
-
showSelect: vue.toRef(props
|
21296
|
-
showExpand: vue.toRef(props
|
21306
|
+
showSelect: vue.toRef(() => props.showSelect),
|
21307
|
+
showExpand: vue.toRef(() => props.showExpand)
|
21297
21308
|
});
|
21298
21309
|
const {
|
21299
21310
|
items
|
@@ -21348,7 +21359,7 @@
|
|
21348
21359
|
itemsPerPage,
|
21349
21360
|
sortBy,
|
21350
21361
|
groupBy,
|
21351
|
-
search: vue.toRef(props
|
21362
|
+
search: vue.toRef(() => props.search)
|
21352
21363
|
});
|
21353
21364
|
vue.provide('v-data-table', {
|
21354
21365
|
toggleSort,
|
@@ -21356,10 +21367,10 @@
|
|
21356
21367
|
});
|
21357
21368
|
provideDefaults({
|
21358
21369
|
VDataTableRows: {
|
21359
|
-
hideNoData: vue.toRef(props
|
21360
|
-
noDataText: vue.toRef(props
|
21361
|
-
loading: vue.toRef(props
|
21362
|
-
loadingText: vue.toRef(props
|
21370
|
+
hideNoData: vue.toRef(() => props.hideNoData),
|
21371
|
+
noDataText: vue.toRef(() => props.noDataText),
|
21372
|
+
loading: vue.toRef(() => props.loading),
|
21373
|
+
loadingText: vue.toRef(() => props.loadingText)
|
21363
21374
|
}
|
21364
21375
|
});
|
21365
21376
|
const slotProps = vue.computed(() => ({
|
@@ -21829,7 +21840,7 @@
|
|
21829
21840
|
const {
|
21830
21841
|
backgroundColorClasses,
|
21831
21842
|
backgroundColorStyles
|
21832
|
-
} = useBackgroundColor(props
|
21843
|
+
} = useBackgroundColor(() => props.color);
|
21833
21844
|
function onClick() {
|
21834
21845
|
emit('click');
|
21835
21846
|
}
|
@@ -21968,21 +21979,21 @@
|
|
21968
21979
|
const isSame = adapter.isSameDay(date, month.value);
|
21969
21980
|
return {
|
21970
21981
|
date,
|
21971
|
-
isoDate,
|
21972
21982
|
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
21983
|
isAdjacent,
|
21980
|
-
|
21981
|
-
isStart,
|
21982
|
-
isSelected: model.value.some(value => adapter.isSameDay(date, value)),
|
21984
|
+
isDisabled: isDisabled(date),
|
21983
21985
|
isEnd,
|
21986
|
+
isHidden: isAdjacent && !props.showAdjacentMonths,
|
21984
21987
|
isSame,
|
21985
|
-
|
21988
|
+
isSelected: model.value.some(value => adapter.isSameDay(date, value)),
|
21989
|
+
isStart,
|
21990
|
+
isToday: adapter.isSameDay(date, today),
|
21991
|
+
isWeekEnd: index % 7 === 6,
|
21992
|
+
isWeekStart: index % 7 === 0,
|
21993
|
+
isoDate,
|
21994
|
+
localized: adapter.format(date, 'dayOfMonth'),
|
21995
|
+
month: adapter.getMonth(date),
|
21996
|
+
year: adapter.getYear(date)
|
21986
21997
|
};
|
21987
21998
|
});
|
21988
21999
|
}
|
@@ -22070,7 +22081,7 @@
|
|
22070
22081
|
const rangeStart = vue.shallowRef();
|
22071
22082
|
const rangeStop = vue.shallowRef();
|
22072
22083
|
const isReverse = vue.shallowRef(false);
|
22073
|
-
const transition = vue.
|
22084
|
+
const transition = vue.toRef(() => {
|
22074
22085
|
return !isReverse.value ? props.transition : props.reverseTransition;
|
22075
22086
|
});
|
22076
22087
|
if (props.multiple === 'range' && model.value.length > 0) {
|
@@ -22450,7 +22461,7 @@
|
|
22450
22461
|
}
|
22451
22462
|
return value && adapter.isValid(value) ? value : today;
|
22452
22463
|
});
|
22453
|
-
const headerColor = vue.
|
22464
|
+
const headerColor = vue.toRef(() => props.headerColor ?? props.color);
|
22454
22465
|
const month = vue.ref(Number(props.month ?? adapter.getMonth(adapter.startOfMonth(internal.value))));
|
22455
22466
|
const year = vue.ref(Number(props.year ?? adapter.getYear(adapter.startOfYear(adapter.setMonth(internal.value, month.value)))));
|
22456
22467
|
const isReversing = vue.shallowRef(false);
|
@@ -22467,8 +22478,8 @@
|
|
22467
22478
|
date = adapter.setYear(date, year.value);
|
22468
22479
|
return adapter.format(date, 'monthAndYear');
|
22469
22480
|
});
|
22470
|
-
// const headerIcon =
|
22471
|
-
const headerTransition = vue.
|
22481
|
+
// const headerIcon = toRef(() => props.inputMode === 'calendar' ? props.keyboardIcon : props.calendarIcon)
|
22482
|
+
const headerTransition = vue.toRef(() => `date-picker-header${isReversing.value ? '-reverse' : ''}-transition`);
|
22472
22483
|
const disabled = vue.computed(() => {
|
22473
22484
|
if (props.disabled) return true;
|
22474
22485
|
const targets = [];
|
@@ -22680,7 +22691,7 @@
|
|
22680
22691
|
const {
|
22681
22692
|
backgroundColorClasses,
|
22682
22693
|
backgroundColorStyles
|
22683
|
-
} = useBackgroundColor(
|
22694
|
+
} = useBackgroundColor(() => props.bgColor);
|
22684
22695
|
const {
|
22685
22696
|
dimensionStyles
|
22686
22697
|
} = useDimension(props);
|
@@ -22843,7 +22854,7 @@
|
|
22843
22854
|
const {
|
22844
22855
|
backgroundColorClasses,
|
22845
22856
|
backgroundColorStyles
|
22846
|
-
} = useBackgroundColor(props
|
22857
|
+
} = useBackgroundColor(() => props.color);
|
22847
22858
|
const {
|
22848
22859
|
dimensionStyles
|
22849
22860
|
} = useDimension(props);
|
@@ -22854,7 +22865,7 @@
|
|
22854
22865
|
expandIcon: props.expandIcon,
|
22855
22866
|
readonly: props.readonly
|
22856
22867
|
}));
|
22857
|
-
const icon = vue.
|
22868
|
+
const icon = vue.toRef(() => expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon);
|
22858
22869
|
useRender(() => vue.withDirectives(vue.createVNode("button", {
|
22859
22870
|
"class": ['v-expansion-panel-title', {
|
22860
22871
|
'v-expansion-panel-title--active': expansionPanel.isSelected.value,
|
@@ -22909,14 +22920,14 @@
|
|
22909
22920
|
const {
|
22910
22921
|
backgroundColorClasses,
|
22911
22922
|
backgroundColorStyles
|
22912
|
-
} = useBackgroundColor(props
|
22923
|
+
} = useBackgroundColor(() => props.bgColor);
|
22913
22924
|
const {
|
22914
22925
|
elevationClasses
|
22915
22926
|
} = useElevation(props);
|
22916
22927
|
const {
|
22917
22928
|
roundedClasses
|
22918
22929
|
} = useRounded(props);
|
22919
|
-
const isDisabled = vue.
|
22930
|
+
const isDisabled = vue.toRef(() => groupItem?.disabled.value || props.disabled);
|
22920
22931
|
const selectedIndices = vue.computed(() => groupItem.group.items.value.reduce((arr, item, index) => {
|
22921
22932
|
if (groupItem.group.selected.value.includes(item.id)) arr.push(index);
|
22922
22933
|
return arr;
|
@@ -23007,21 +23018,21 @@
|
|
23007
23018
|
const {
|
23008
23019
|
themeClasses
|
23009
23020
|
} = provideTheme(props);
|
23010
|
-
const variantClass = vue.
|
23021
|
+
const variantClass = vue.toRef(() => props.variant && `v-expansion-panels--variant-${props.variant}`);
|
23011
23022
|
provideDefaults({
|
23012
23023
|
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
|
23024
|
+
bgColor: vue.toRef(() => props.bgColor),
|
23025
|
+
collapseIcon: vue.toRef(() => props.collapseIcon),
|
23026
|
+
color: vue.toRef(() => props.color),
|
23027
|
+
eager: vue.toRef(() => props.eager),
|
23028
|
+
elevation: vue.toRef(() => props.elevation),
|
23029
|
+
expandIcon: vue.toRef(() => props.expandIcon),
|
23030
|
+
focusable: vue.toRef(() => props.focusable),
|
23031
|
+
hideActions: vue.toRef(() => props.hideActions),
|
23032
|
+
readonly: vue.toRef(() => props.readonly),
|
23033
|
+
ripple: vue.toRef(() => props.ripple),
|
23034
|
+
rounded: vue.toRef(() => props.rounded),
|
23035
|
+
static: vue.toRef(() => props.static)
|
23025
23036
|
}
|
23026
23037
|
});
|
23027
23038
|
useRender(() => vue.createVNode(props.tag, {
|
@@ -23083,7 +23094,7 @@
|
|
23083
23094
|
if (!entries.length) return;
|
23084
23095
|
height.value = entries[0].target.clientHeight;
|
23085
23096
|
});
|
23086
|
-
const hasPosition = vue.
|
23097
|
+
const hasPosition = vue.toRef(() => props.app || props.absolute);
|
23087
23098
|
const position = vue.computed(() => {
|
23088
23099
|
if (!hasPosition.value) return false;
|
23089
23100
|
return props.location?.split(' ').shift() ?? 'bottom';
|
@@ -23100,7 +23111,7 @@
|
|
23100
23111
|
layoutSize: vue.computed(() => props.layout ? height.value + 24 : 0),
|
23101
23112
|
elementSize: vue.computed(() => height.value + 24),
|
23102
23113
|
active: vue.computed(() => props.app && model.value),
|
23103
|
-
absolute: vue.toRef(props
|
23114
|
+
absolute: vue.toRef(() => props.absolute)
|
23104
23115
|
});
|
23105
23116
|
vue.watchEffect(() => {
|
23106
23117
|
layoutItemStyles.value = layout.layoutItemStyles.value;
|
@@ -23225,7 +23236,7 @@
|
|
23225
23236
|
const vInputRef = vue.ref();
|
23226
23237
|
const vFieldRef = vue.ref();
|
23227
23238
|
const inputRef = vue.ref();
|
23228
|
-
const isActive = vue.
|
23239
|
+
const isActive = vue.toRef(() => isFocused.value || props.active);
|
23229
23240
|
const isPlainOrUnderlined = vue.computed(() => ['plain', 'underlined'].includes(props.variant));
|
23230
23241
|
function onFocus() {
|
23231
23242
|
if (inputRef.value !== document.activeElement) {
|
@@ -23398,7 +23409,7 @@
|
|
23398
23409
|
const {
|
23399
23410
|
backgroundColorClasses,
|
23400
23411
|
backgroundColorStyles
|
23401
|
-
} = useBackgroundColor(
|
23412
|
+
} = useBackgroundColor(() => props.color);
|
23402
23413
|
const {
|
23403
23414
|
borderClasses
|
23404
23415
|
} = useBorder(props);
|
@@ -23420,11 +23431,11 @@
|
|
23420
23431
|
const layout = useLayoutItem({
|
23421
23432
|
id: props.name,
|
23422
23433
|
order: vue.computed(() => parseInt(props.order, 10)),
|
23423
|
-
position: vue.
|
23434
|
+
position: vue.toRef(() => 'bottom'),
|
23424
23435
|
layoutSize: height,
|
23425
23436
|
elementSize: vue.computed(() => props.height === 'auto' ? undefined : height.value),
|
23426
|
-
active: vue.
|
23427
|
-
absolute: vue.toRef(props
|
23437
|
+
active: vue.toRef(() => props.app),
|
23438
|
+
absolute: vue.toRef(() => props.absolute)
|
23428
23439
|
});
|
23429
23440
|
vue.watchEffect(() => {
|
23430
23441
|
layoutItemStyles.value = layout.layoutItemStyles.value;
|
@@ -23897,11 +23908,11 @@
|
|
23897
23908
|
} = useLayoutItem({
|
23898
23909
|
id: props.name,
|
23899
23910
|
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
|
23911
|
+
position: vue.toRef(() => props.position),
|
23912
|
+
elementSize: vue.toRef(() => props.size),
|
23913
|
+
layoutSize: vue.toRef(() => props.size),
|
23914
|
+
active: vue.toRef(() => props.modelValue),
|
23915
|
+
absolute: vue.toRef(() => props.absolute)
|
23905
23916
|
});
|
23906
23917
|
return () => vue.createVNode("div", {
|
23907
23918
|
"class": ['v-layout-item', props.class],
|
@@ -24433,7 +24444,7 @@
|
|
24433
24444
|
const {
|
24434
24445
|
backgroundColorClasses,
|
24435
24446
|
backgroundColorStyles
|
24436
|
-
} = useBackgroundColor(
|
24447
|
+
} = useBackgroundColor(() => props.color);
|
24437
24448
|
const {
|
24438
24449
|
elevationClasses
|
24439
24450
|
} = useElevation(props);
|
@@ -24466,7 +24477,7 @@
|
|
24466
24477
|
const location = vue.computed(() => {
|
24467
24478
|
return toPhysical(props.location, isRtl.value);
|
24468
24479
|
});
|
24469
|
-
const isPersistent = vue.
|
24480
|
+
const isPersistent = vue.toRef(() => props.persistent);
|
24470
24481
|
const isTemporary = vue.computed(() => !props.permanent && (mobile.value || props.temporary));
|
24471
24482
|
const isSticky = vue.computed(() => props.sticky && !isTemporary.value && location.value !== 'bottom');
|
24472
24483
|
useToggleScope(() => props.expandOnHover && props.rail != null, () => {
|
@@ -24492,7 +24503,7 @@
|
|
24492
24503
|
isActive,
|
24493
24504
|
isTemporary,
|
24494
24505
|
width,
|
24495
|
-
touchless: vue.toRef(props
|
24506
|
+
touchless: vue.toRef(() => props.touchless),
|
24496
24507
|
position: location
|
24497
24508
|
});
|
24498
24509
|
const layoutSize = vue.computed(() => {
|
@@ -24509,7 +24520,7 @@
|
|
24509
24520
|
layoutSize,
|
24510
24521
|
elementSize: width,
|
24511
24522
|
active: vue.readonly(isActive),
|
24512
|
-
disableTransitions: vue.
|
24523
|
+
disableTransitions: vue.toRef(() => isDragging.value),
|
24513
24524
|
absolute: vue.computed(() =>
|
24514
24525
|
// eslint-disable-next-line @typescript-eslint/no-use-before-define
|
24515
24526
|
props.absolute || isSticky.value && typeof isStuck.value !== 'string')
|
@@ -24522,9 +24533,9 @@
|
|
24522
24533
|
isSticky,
|
24523
24534
|
layoutItemStyles
|
24524
24535
|
});
|
24525
|
-
const scrimColor = useBackgroundColor(
|
24536
|
+
const scrimColor = useBackgroundColor(() => {
|
24526
24537
|
return typeof props.scrim === 'string' ? props.scrim : null;
|
24527
|
-
})
|
24538
|
+
});
|
24528
24539
|
const scrimStyles = vue.computed(() => ({
|
24529
24540
|
...(isDragging.value ? {
|
24530
24541
|
opacity: dragProgress.value * 0.2,
|
@@ -24738,24 +24749,24 @@
|
|
24738
24749
|
const controlVariant = vue.computed(() => {
|
24739
24750
|
return props.hideInput ? 'stacked' : props.controlVariant;
|
24740
24751
|
});
|
24741
|
-
const incrementIcon = vue.
|
24742
|
-
const decrementIcon = vue.
|
24743
|
-
const controlNodeSize = vue.
|
24744
|
-
const controlNodeDefaultHeight = vue.
|
24745
|
-
const incrementSlotProps =
|
24752
|
+
const incrementIcon = vue.toRef(() => controlVariant.value === 'split' ? '$plus' : '$collapse');
|
24753
|
+
const decrementIcon = vue.toRef(() => controlVariant.value === 'split' ? '$minus' : '$expand');
|
24754
|
+
const controlNodeSize = vue.toRef(() => controlVariant.value === 'split' ? 'default' : 'small');
|
24755
|
+
const controlNodeDefaultHeight = vue.toRef(() => controlVariant.value === 'stacked' ? 'auto' : '100%');
|
24756
|
+
const incrementSlotProps = {
|
24746
24757
|
props: {
|
24747
24758
|
onClick: onControlClick,
|
24748
24759
|
onPointerup: onControlMouseup,
|
24749
24760
|
onPointerdown: onUpControlMousedown
|
24750
24761
|
}
|
24751
|
-
}
|
24752
|
-
const decrementSlotProps =
|
24762
|
+
};
|
24763
|
+
const decrementSlotProps = {
|
24753
24764
|
props: {
|
24754
24765
|
onClick: onControlClick,
|
24755
24766
|
onPointerup: onControlMouseup,
|
24756
24767
|
onPointerdown: onDownControlMousedown
|
24757
24768
|
}
|
24758
|
-
}
|
24769
|
+
};
|
24759
24770
|
vue.watch(() => props.precision, () => formatInputValue());
|
24760
24771
|
vue.onMounted(() => {
|
24761
24772
|
clampModel();
|
@@ -24907,7 +24918,7 @@
|
|
24907
24918
|
}
|
24908
24919
|
}
|
24909
24920
|
}, {
|
24910
|
-
default: () => [slots.increment(incrementSlotProps
|
24921
|
+
default: () => [slots.increment(incrementSlotProps)]
|
24911
24922
|
});
|
24912
24923
|
}
|
24913
24924
|
function decrementControlNode() {
|
@@ -24936,7 +24947,7 @@
|
|
24936
24947
|
}
|
24937
24948
|
}
|
24938
24949
|
}, {
|
24939
|
-
default: () => [slots.decrement(decrementSlotProps
|
24950
|
+
default: () => [slots.decrement(decrementSlotProps)]
|
24940
24951
|
});
|
24941
24952
|
}
|
24942
24953
|
function controlNode() {
|
@@ -25136,12 +25147,12 @@
|
|
25136
25147
|
}
|
25137
25148
|
provideDefaults({
|
25138
25149
|
VField: {
|
25139
|
-
color: vue.
|
25140
|
-
bgColor: vue.
|
25141
|
-
baseColor: vue.
|
25142
|
-
disabled: vue.
|
25143
|
-
error: vue.
|
25144
|
-
variant: vue.
|
25150
|
+
color: vue.toRef(() => props.color),
|
25151
|
+
bgColor: vue.toRef(() => props.color),
|
25152
|
+
baseColor: vue.toRef(() => props.baseColor),
|
25153
|
+
disabled: vue.toRef(() => props.disabled),
|
25154
|
+
error: vue.toRef(() => props.error),
|
25155
|
+
variant: vue.toRef(() => props.variant)
|
25145
25156
|
}
|
25146
25157
|
}, {
|
25147
25158
|
scoped: true
|
@@ -25942,7 +25953,7 @@
|
|
25942
25953
|
const {
|
25943
25954
|
backgroundColorClasses,
|
25944
25955
|
backgroundColorStyles
|
25945
|
-
} = useBackgroundColor(
|
25956
|
+
} = useBackgroundColor(() => props.color);
|
25946
25957
|
const {
|
25947
25958
|
dimensionStyles
|
25948
25959
|
} = useDimension(props);
|
@@ -26741,7 +26752,7 @@
|
|
26741
26752
|
const {
|
26742
26753
|
textColorClasses,
|
26743
26754
|
textColorStyles
|
26744
|
-
} = useTextColor(
|
26755
|
+
} = useTextColor(() => props.color);
|
26745
26756
|
const hasLabels = vue.computed(() => {
|
26746
26757
|
return Boolean(props.showLabels || props.labels.length > 0 || !!slots?.label);
|
26747
26758
|
});
|
@@ -27287,11 +27298,11 @@
|
|
27287
27298
|
} = useFocus(props);
|
27288
27299
|
const control = vue.ref();
|
27289
27300
|
const isForcedColorsModeActive = IN_BROWSER && window.matchMedia('(forced-colors: active)').matches;
|
27290
|
-
const loaderColor = vue.
|
27301
|
+
const loaderColor = vue.toRef(() => {
|
27291
27302
|
return typeof props.loading === 'string' && props.loading !== '' ? props.loading : props.color;
|
27292
27303
|
});
|
27293
27304
|
const uid = vue.useId();
|
27294
|
-
const id = vue.
|
27305
|
+
const id = vue.toRef(() => props.id || `switch-${uid}`);
|
27295
27306
|
function onChange() {
|
27296
27307
|
if (indeterminate.value) {
|
27297
27308
|
indeterminate.value = false;
|
@@ -27442,7 +27453,7 @@
|
|
27442
27453
|
const {
|
27443
27454
|
backgroundColorClasses,
|
27444
27455
|
backgroundColorStyles
|
27445
|
-
} = useBackgroundColor(
|
27456
|
+
} = useBackgroundColor(() => props.color);
|
27446
27457
|
const {
|
27447
27458
|
elevationClasses
|
27448
27459
|
} = useElevation(props);
|
@@ -27462,7 +27473,7 @@
|
|
27462
27473
|
layoutSize: height,
|
27463
27474
|
elementSize: height,
|
27464
27475
|
active: vue.computed(() => true),
|
27465
|
-
absolute: vue.toRef(props
|
27476
|
+
absolute: vue.toRef(() => props.absolute)
|
27466
27477
|
});
|
27467
27478
|
useRender(() => vue.createVNode(props.tag, {
|
27468
27479
|
"class": ['v-system-bar', {
|
@@ -27504,7 +27515,7 @@
|
|
27504
27515
|
const {
|
27505
27516
|
textColorClasses: sliderColorClasses,
|
27506
27517
|
textColorStyles: sliderColorStyles
|
27507
|
-
} = useTextColor(props
|
27518
|
+
} = useTextColor(() => props.sliderColor);
|
27508
27519
|
const rootEl = vue.ref();
|
27509
27520
|
const sliderEl = vue.ref();
|
27510
27521
|
const isHorizontal = vue.computed(() => props.direction === 'horizontal');
|
@@ -27697,18 +27708,18 @@
|
|
27697
27708
|
const {
|
27698
27709
|
backgroundColorClasses,
|
27699
27710
|
backgroundColorStyles
|
27700
|
-
} = useBackgroundColor(
|
27711
|
+
} = useBackgroundColor(() => props.bgColor);
|
27701
27712
|
const {
|
27702
27713
|
scopeId
|
27703
27714
|
} = useScopeId();
|
27704
27715
|
provideDefaults({
|
27705
27716
|
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
|
27717
|
+
color: vue.toRef(() => props.color),
|
27718
|
+
direction: vue.toRef(() => props.direction),
|
27719
|
+
stacked: vue.toRef(() => props.stacked),
|
27720
|
+
fixed: vue.toRef(() => props.fixedTabs),
|
27721
|
+
sliderColor: vue.toRef(() => props.sliderColor),
|
27722
|
+
hideSlider: vue.toRef(() => props.hideSlider)
|
27712
27723
|
}
|
27713
27724
|
});
|
27714
27725
|
useRender(() => {
|
@@ -28058,7 +28069,7 @@
|
|
28058
28069
|
const {
|
28059
28070
|
backgroundColorStyles,
|
28060
28071
|
backgroundColorClasses
|
28061
|
-
} = useBackgroundColor(
|
28072
|
+
} = useBackgroundColor(() => props.dotColor);
|
28062
28073
|
const {
|
28063
28074
|
roundedClasses
|
28064
28075
|
} = useRounded(props, 'v-timeline-divider__dot');
|
@@ -28068,7 +28079,7 @@
|
|
28068
28079
|
const {
|
28069
28080
|
backgroundColorClasses: lineColorClasses,
|
28070
28081
|
backgroundColorStyles: lineColorStyles
|
28071
|
-
} = useBackgroundColor(
|
28082
|
+
} = useBackgroundColor(() => props.lineColor);
|
28072
28083
|
useRender(() => vue.createVNode("div", {
|
28073
28084
|
"class": ['v-timeline-divider', {
|
28074
28085
|
'v-timeline-divider--fill-dot': props.fillDot
|
@@ -28239,17 +28250,17 @@
|
|
28239
28250
|
} = useRtl();
|
28240
28251
|
provideDefaults({
|
28241
28252
|
VTimelineDivider: {
|
28242
|
-
lineColor: vue.toRef(props
|
28253
|
+
lineColor: vue.toRef(() => props.lineColor)
|
28243
28254
|
},
|
28244
28255
|
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
|
28256
|
+
density: vue.toRef(() => props.density),
|
28257
|
+
dotColor: vue.toRef(() => props.dotColor),
|
28258
|
+
fillDot: vue.toRef(() => props.fillDot),
|
28259
|
+
hideOpposite: vue.toRef(() => props.hideOpposite),
|
28260
|
+
iconColor: vue.toRef(() => props.iconColor),
|
28261
|
+
lineColor: vue.toRef(() => props.lineColor),
|
28262
|
+
lineInset: vue.toRef(() => props.lineInset),
|
28263
|
+
size: vue.toRef(() => props.size)
|
28253
28264
|
}
|
28254
28265
|
});
|
28255
28266
|
const sideClasses = vue.computed(() => {
|
@@ -28296,9 +28307,9 @@
|
|
28296
28307
|
} = _ref;
|
28297
28308
|
provideDefaults({
|
28298
28309
|
VBtn: {
|
28299
|
-
color: vue.toRef(props
|
28310
|
+
color: vue.toRef(() => props.color),
|
28300
28311
|
height: 'inherit',
|
28301
|
-
variant: vue.toRef(props
|
28312
|
+
variant: vue.toRef(() => props.variant)
|
28302
28313
|
}
|
28303
28314
|
});
|
28304
28315
|
useRender(() => vue.createVNode("div", {
|
@@ -28345,7 +28356,7 @@
|
|
28345
28356
|
scopeId
|
28346
28357
|
} = useScopeId();
|
28347
28358
|
const uid = vue.useId();
|
28348
|
-
const id = vue.
|
28359
|
+
const id = vue.toRef(() => props.id || `v-tooltip-${uid}`);
|
28349
28360
|
const overlay = vue.ref();
|
28350
28361
|
const location = vue.computed(() => {
|
28351
28362
|
return props.location.split(' ').length > 1 ? props.location : props.location + ' center';
|
@@ -28353,7 +28364,7 @@
|
|
28353
28364
|
const origin = vue.computed(() => {
|
28354
28365
|
return props.origin === 'auto' || props.origin === 'overlap' || props.origin.split(' ').length > 1 || props.location.split(' ').length > 1 ? props.origin : props.origin + ' center';
|
28355
28366
|
});
|
28356
|
-
const transition = vue.
|
28367
|
+
const transition = vue.toRef(() => {
|
28357
28368
|
if (props.transition) return props.transition;
|
28358
28369
|
return isActive.value ? 'scale-transition' : 'fade-transition';
|
28359
28370
|
});
|
@@ -28432,13 +28443,19 @@
|
|
28432
28443
|
}, 'VCalendarIntervalEvent');
|
28433
28444
|
const VCalendarIntervalEvent = genericComponent()({
|
28434
28445
|
name: 'VCalendarIntervalEvent',
|
28446
|
+
inheritAttrs: false,
|
28435
28447
|
props: makeVCalendarIntervalEventProps(),
|
28436
|
-
setup(props) {
|
28448
|
+
setup(props, _ref) {
|
28449
|
+
let {
|
28450
|
+
attrs,
|
28451
|
+
emit,
|
28452
|
+
slots
|
28453
|
+
} = _ref;
|
28437
28454
|
const adapter = useDate();
|
28438
28455
|
const calcHeight = () => {
|
28439
|
-
if (!props.event?.first && !props.event?.last || adapter.isEqual(props.event?.
|
28456
|
+
if (!props.event?.first && !props.event?.last || adapter.isEqual(props.event?.end, props.interval?.end)) {
|
28440
28457
|
return {
|
28441
|
-
height:
|
28458
|
+
height: `${props.intervalHeight}px`,
|
28442
28459
|
margin: convertToUnit(0)
|
28443
28460
|
};
|
28444
28461
|
} else {
|
@@ -28447,8 +28464,8 @@
|
|
28447
28464
|
margin
|
28448
28465
|
} = Array.from({
|
28449
28466
|
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?.
|
28467
|
+
}, (_, x) => (x + 1) * (props.intervalDuration / props.intervalDivisions)).reduce((total, div, index) => {
|
28468
|
+
if (adapter.isBefore(adapter.addMinutes(props.interval?.start, div), props.event?.end)) {
|
28452
28469
|
return {
|
28453
28470
|
height: convertToUnit(props.intervalHeight / props.intervalDivisions * index),
|
28454
28471
|
margin: convertToUnit(props.intervalHeight / props.intervalDivisions * index)
|
@@ -28469,16 +28486,30 @@
|
|
28469
28486
|
}
|
28470
28487
|
};
|
28471
28488
|
useRender(() => {
|
28472
|
-
return vue.createVNode(
|
28489
|
+
return vue.createVNode("div", null, [slots.intervalEvent?.({
|
28490
|
+
height: calcHeight().height,
|
28491
|
+
margin: calcHeight().margin,
|
28492
|
+
eventClass: 'v-calendar-internal-event',
|
28493
|
+
event: props.event,
|
28494
|
+
interval: props.interval
|
28495
|
+
}) ?? vue.createVNode(VSheet, vue.mergeProps({
|
28473
28496
|
"height": calcHeight().height,
|
28474
28497
|
"density": "comfortable",
|
28475
28498
|
"style": `margin-top: ${calcHeight().margin}`,
|
28476
28499
|
"class": "v-calendar-internal-event",
|
28477
28500
|
"color": props.event?.color ?? undefined,
|
28478
28501
|
"rounded": props.event?.first && props.event?.last ? true : props.event?.first ? 't' : props.event?.last ? 'b' : false
|
28479
|
-
}, {
|
28502
|
+
}, getPrefixedEventHandlers(attrs, ':event', () => ({
|
28503
|
+
event: props.event,
|
28504
|
+
allDay: false,
|
28505
|
+
day: null,
|
28506
|
+
interval: props.interval,
|
28507
|
+
intervalDivisions: props.intervalDivisions,
|
28508
|
+
intervalDuration: props.intervalDuration,
|
28509
|
+
intervalHeight: props.intervalHeight
|
28510
|
+
}))), {
|
28480
28511
|
default: () => [props.event?.first ? props.event?.title : '']
|
28481
|
-
});
|
28512
|
+
})]);
|
28482
28513
|
});
|
28483
28514
|
return {};
|
28484
28515
|
}
|
@@ -28514,6 +28545,7 @@
|
|
28514
28545
|
}, 'VCalendarInterval');
|
28515
28546
|
const VCalendarInterval = genericComponent()({
|
28516
28547
|
name: 'VCalendarInterval',
|
28548
|
+
inheritAttrs: false,
|
28517
28549
|
props: {
|
28518
28550
|
index: {
|
28519
28551
|
type: Number,
|
@@ -28523,6 +28555,7 @@
|
|
28523
28555
|
},
|
28524
28556
|
setup(props, _ref) {
|
28525
28557
|
let {
|
28558
|
+
attrs,
|
28526
28559
|
emit,
|
28527
28560
|
slots
|
28528
28561
|
} = _ref;
|
@@ -28548,45 +28581,74 @@
|
|
28548
28581
|
return props.dayIndex === 0 ? vue.createVNode("div", {
|
28549
28582
|
"class": "v-calendar-day__row-with-label",
|
28550
28583
|
"style": `height: ${convertToUnit(props.intervalHeight)}`
|
28551
|
-
}, [vue.createVNode("div", {
|
28584
|
+
}, [vue.createVNode("div", vue.mergeProps({
|
28552
28585
|
"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", {
|
28586
|
+
}, getPrefixedEventHandlers(attrs, ':time', () => props)), [slots.intervalTitle?.({
|
28587
|
+
interval: interval.value
|
28588
|
+
}) ?? (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
28589
|
"class": "v-calendar-day__row-hairline"
|
28560
|
-
}, null), vue.createVNode("div", {
|
28590
|
+
}, null), vue.createVNode("div", vue.mergeProps({
|
28561
28591
|
"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
|
-
|
28592
|
+
}, getPrefixedEventHandlers(attrs, ':interval', () => interval.value)), [slots.intervalBody?.({
|
28593
|
+
interval: interval.value
|
28594
|
+
}) ?? vue.createVNode("div", null, [interval.value.events?.map(event => vue.createVNode(VCalendarIntervalEvent, vue.mergeProps({
|
28595
|
+
"event": event,
|
28596
|
+
"interval": interval.value,
|
28597
|
+
"intervalDivisions": props.intervalDivisions,
|
28598
|
+
"intervalDuration": props.intervalDuration,
|
28599
|
+
"intervalHeight": props.intervalHeight
|
28600
|
+
}, attrs), {
|
28601
|
+
...(slots.intervalEvent ? {
|
28602
|
+
intervalEvent: _ref2 => {
|
28603
|
+
let {
|
28604
|
+
height,
|
28605
|
+
margin,
|
28606
|
+
eventClass,
|
28607
|
+
event,
|
28608
|
+
interval
|
28609
|
+
} = _ref2;
|
28610
|
+
return slots.intervalEvent?.({
|
28611
|
+
height,
|
28612
|
+
margin,
|
28613
|
+
eventClass,
|
28614
|
+
event,
|
28615
|
+
interval
|
28616
|
+
});
|
28617
|
+
}
|
28618
|
+
} : {})
|
28619
|
+
}))])])]) : vue.createVNode("div", {
|
28574
28620
|
"class": "v-calendar-day__row-without-label",
|
28575
28621
|
"style": `height: ${convertToUnit(props.intervalHeight)}`
|
28576
|
-
}, [vue.createVNode("div", {
|
28622
|
+
}, [vue.createVNode("div", vue.mergeProps({
|
28577
28623
|
"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
|
-
|
28624
|
+
}, getPrefixedEventHandlers(attrs, ':interval', () => interval.value)), [slots.intervalBody?.({
|
28625
|
+
interval: interval.value
|
28626
|
+
}) ?? interval.value.events?.map(event => vue.createVNode(VCalendarIntervalEvent, vue.mergeProps({
|
28627
|
+
"event": event,
|
28628
|
+
"interval": interval.value,
|
28629
|
+
"intervalDivisions": props.intervalDivisions,
|
28630
|
+
"intervalDuration": props.intervalDuration,
|
28631
|
+
"intervalHeight": props.intervalHeight
|
28632
|
+
}, attrs), {
|
28633
|
+
...(slots.intervalEvent ? {
|
28634
|
+
intervalEvent: _ref3 => {
|
28635
|
+
let {
|
28636
|
+
height,
|
28637
|
+
margin,
|
28638
|
+
eventClass,
|
28639
|
+
event,
|
28640
|
+
interval
|
28641
|
+
} = _ref3;
|
28642
|
+
return slots.intervalEvent?.({
|
28643
|
+
height,
|
28644
|
+
margin,
|
28645
|
+
eventClass,
|
28646
|
+
event,
|
28647
|
+
interval
|
28648
|
+
});
|
28649
|
+
}
|
28650
|
+
} : {})
|
28651
|
+
}))])]);
|
28590
28652
|
});
|
28591
28653
|
return {
|
28592
28654
|
interval
|
@@ -28594,6 +28656,8 @@
|
|
28594
28656
|
}
|
28595
28657
|
});
|
28596
28658
|
|
28659
|
+
// Types
|
28660
|
+
|
28597
28661
|
const makeVCalendarDayProps = propsFactory({
|
28598
28662
|
hideDayHeader: Boolean,
|
28599
28663
|
intervals: {
|
@@ -28604,26 +28668,34 @@
|
|
28604
28668
|
}, 'VCalendarDay');
|
28605
28669
|
const VCalendarDay = genericComponent()({
|
28606
28670
|
name: 'VCalendarDay',
|
28671
|
+
inheritAttrs: false,
|
28607
28672
|
props: makeVCalendarDayProps(),
|
28608
|
-
setup(props) {
|
28673
|
+
setup(props, _ref) {
|
28674
|
+
let {
|
28675
|
+
attrs,
|
28676
|
+
slots
|
28677
|
+
} = _ref;
|
28609
28678
|
const adapter = useDate();
|
28610
28679
|
const intervals = vue.computed(() => [...Array.from({
|
28611
28680
|
length: props.intervals
|
28612
|
-
}, (v, i) => i).filter((
|
28681
|
+
}, (v, i) => i).filter((_, index) => props.intervalDuration * (index + props.intervalStart) < 1440)]);
|
28613
28682
|
useRender(() => {
|
28614
28683
|
const calendarIntervalProps = VCalendarInterval.filterProps(props);
|
28615
28684
|
return vue.createVNode("div", {
|
28616
28685
|
"class": "v-calendar-day__container"
|
28617
|
-
}, [!props.hideDayHeader && vue.createVNode("div", {
|
28618
|
-
"key": "
|
28686
|
+
}, [!props.hideDayHeader && vue.createVNode("div", vue.mergeProps({
|
28687
|
+
"key": "calendar-week-name",
|
28619
28688
|
"class": "v-calendar-weekly__head-weekday"
|
28620
|
-
}, [adapter.format(props.day.date, 'weekdayShort'), vue.createVNode("div", null, [vue.createVNode(VBtn, {
|
28689
|
+
}, 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), {
|
28690
|
+
"class": props.day?.isToday ? 'v-calendar-day-label__today' : undefined,
|
28621
28691
|
"icon": true,
|
28622
28692
|
"text": adapter.format(props.day.date, 'dayOfMonth'),
|
28623
|
-
"variant":
|
28624
|
-
}, null)])]), intervals.value.map((_, index) => vue.createVNode(VCalendarInterval, vue.mergeProps({
|
28693
|
+
"variant": props.day?.isToday ? undefined : 'text'
|
28694
|
+
}), null)])]), intervals.value.map((_, index) => slots.interval?.(calendarIntervalProps) ?? vue.createVNode(VCalendarInterval, vue.mergeProps({
|
28625
28695
|
"index": index
|
28626
|
-
}, calendarIntervalProps
|
28696
|
+
}, calendarIntervalProps, attrs, getPrefixedEventHandlers(attrs, ':interval', () => calendarIntervalProps)), {
|
28697
|
+
...pick(slots, ['intervalBody', 'intervalEvent', 'intervalTitle'])
|
28698
|
+
}))]);
|
28627
28699
|
});
|
28628
28700
|
return {
|
28629
28701
|
intervals
|
@@ -28662,7 +28734,8 @@
|
|
28662
28734
|
},
|
28663
28735
|
setup(props, _ref) {
|
28664
28736
|
let {
|
28665
|
-
emit
|
28737
|
+
emit,
|
28738
|
+
slots
|
28666
28739
|
} = _ref;
|
28667
28740
|
const {
|
28668
28741
|
t
|
@@ -28696,7 +28769,9 @@
|
|
28696
28769
|
"onClick": next
|
28697
28770
|
}, null), vue.createVNode("div", {
|
28698
28771
|
"class": "v-calendar-header__title"
|
28699
|
-
}, [
|
28772
|
+
}, [slots.title?.({
|
28773
|
+
title: props.title
|
28774
|
+
}) ?? vue.createVNode("span", null, [props.title])])]));
|
28700
28775
|
return {};
|
28701
28776
|
}
|
28702
28777
|
});
|
@@ -28708,14 +28783,24 @@
|
|
28708
28783
|
}, 'VCalendarEvent');
|
28709
28784
|
const VCalendarEvent = genericComponent()({
|
28710
28785
|
name: 'VCalendarEvent',
|
28786
|
+
inheritAttrs: false,
|
28711
28787
|
props: makeVCalendarEventProps(),
|
28712
|
-
setup(props) {
|
28713
|
-
|
28788
|
+
setup(props, _ref) {
|
28789
|
+
let {
|
28790
|
+
attrs,
|
28791
|
+
emit,
|
28792
|
+
slots
|
28793
|
+
} = _ref;
|
28794
|
+
useRender(() => vue.createVNode(VChip, vue.mergeProps({
|
28714
28795
|
"color": props.allDay ? 'primary' : undefined,
|
28715
28796
|
"density": "comfortable",
|
28716
28797
|
"label": props.allDay,
|
28717
28798
|
"width": "100%"
|
28718
|
-
}, {
|
28799
|
+
}, getPrefixedEventHandlers(attrs, ':event', () => ({
|
28800
|
+
allDay: props.allDay,
|
28801
|
+
day: props.day,
|
28802
|
+
event: props.event
|
28803
|
+
}))), {
|
28719
28804
|
default: () => [vue.createVNode(VBadge, {
|
28720
28805
|
"inline": true,
|
28721
28806
|
"dot": true,
|
@@ -28726,87 +28811,95 @@
|
|
28726
28811
|
}
|
28727
28812
|
});
|
28728
28813
|
|
28814
|
+
// Types
|
28815
|
+
|
28729
28816
|
const makeVCalendarMonthDayProps = propsFactory({
|
28730
28817
|
active: Boolean,
|
28731
28818
|
color: String,
|
28732
|
-
day:
|
28819
|
+
day: {
|
28820
|
+
type: Object
|
28821
|
+
},
|
28733
28822
|
disabled: Boolean,
|
28734
28823
|
events: Array,
|
28735
28824
|
title: [Number, String]
|
28736
28825
|
}, 'VCalendarMonthDay');
|
28737
28826
|
const VCalendarMonthDay = genericComponent()({
|
28738
28827
|
name: 'VCalendarMonthDay',
|
28828
|
+
inheritAttrs: false,
|
28739
28829
|
props: makeVCalendarMonthDayProps(),
|
28740
28830
|
setup(props, _ref) {
|
28741
28831
|
let {
|
28742
|
-
|
28832
|
+
attrs,
|
28743
28833
|
slots
|
28744
28834
|
} = _ref;
|
28745
28835
|
useRender(() => {
|
28746
|
-
|
28747
|
-
title: props.title
|
28748
|
-
}));
|
28749
|
-
return vue.createVNode("div", {
|
28836
|
+
return vue.createVNode("div", vue.mergeProps({
|
28750
28837
|
"class": ['v-calendar-month__day']
|
28751
|
-
}, [!props.day?.isHidden
|
28838
|
+
}, getPrefixedEventHandlers(attrs, ':day', () => props)), [!props.day?.isHidden ? vue.createVNode("div", {
|
28752
28839
|
"key": "title",
|
28753
28840
|
"class": "v-calendar-weekly__day-label"
|
28754
|
-
}, [slots.
|
28841
|
+
}, [slots.dayTitle?.({
|
28755
28842
|
title: props.title
|
28756
|
-
}) ?? vue.createVNode(VBtn, {
|
28843
|
+
}) ?? vue.createVNode(VBtn, vue.mergeProps({
|
28757
28844
|
"class": props.day?.isToday ? 'v-calendar-weekly__day-label__today' : undefined,
|
28758
28845
|
"color": props.color,
|
28759
28846
|
"disabled": props.disabled,
|
28760
28847
|
"icon": true,
|
28761
28848
|
"size": "x-small",
|
28762
|
-
"variant": props.day?.isToday ? undefined : 'flat'
|
28763
|
-
|
28764
|
-
|
28765
|
-
})]), !props.day?.isHidden && vue.createVNode("div", {
|
28849
|
+
"variant": props.day?.isToday ? undefined : 'flat',
|
28850
|
+
"text": `${props.title}`
|
28851
|
+
}, getPrefixedEventHandlers(attrs, ':date', () => props)), null)]) : undefined, !props.day?.isHidden ? vue.createVNode("div", {
|
28766
28852
|
"key": "content",
|
28767
28853
|
"class": "v-calendar-weekly__day-content"
|
28768
|
-
}, [slots.
|
28854
|
+
}, [slots.dayBody?.({
|
28855
|
+
day: props.day,
|
28856
|
+
events: props.events
|
28857
|
+
}) ?? vue.createVNode("div", null, [vue.createVNode("div", {
|
28769
28858
|
"class": "v-calendar-weekly__day-alldayevents-container"
|
28770
|
-
}, [props.events?.filter(event => event.allDay).map(event => slots.
|
28859
|
+
}, [props.events?.filter(event => event.allDay).map(event => slots.dayEvent ? slots.dayEvent({
|
28771
28860
|
day: props.day,
|
28772
28861
|
allDay: true,
|
28773
28862
|
event
|
28774
|
-
}) : vue.createVNode(VCalendarEvent, {
|
28863
|
+
}) : vue.createVNode(VCalendarEvent, vue.mergeProps({
|
28775
28864
|
"day": props.day,
|
28776
28865
|
"event": event,
|
28777
28866
|
"allDay": true
|
28778
|
-
}, null))]), vue.createVNode("div", {
|
28867
|
+
}, attrs), null))]), vue.createVNode("div", {
|
28779
28868
|
"class": "v-calendar-weekly__day-events-container"
|
28780
|
-
}, [props.events?.filter(event => !event.allDay).map(event => slots.
|
28869
|
+
}, [props.events?.filter(event => !event.allDay).map(event => slots.dayEvent ? slots.dayEvent({
|
28781
28870
|
day: props.day,
|
28782
28871
|
event,
|
28783
28872
|
allDay: false
|
28784
|
-
}) : vue.createVNode(VCalendarEvent, {
|
28873
|
+
}) : vue.createVNode(VCalendarEvent, vue.mergeProps({
|
28785
28874
|
"day": props.day,
|
28786
28875
|
"event": event
|
28787
|
-
}, null))])])])
|
28876
|
+
}, attrs), null))])])]) : undefined]);
|
28788
28877
|
});
|
28789
28878
|
return {};
|
28790
28879
|
}
|
28791
28880
|
});
|
28792
28881
|
|
28882
|
+
// Types
|
28883
|
+
|
28793
28884
|
const makeVCalendarProps = propsFactory({
|
28794
28885
|
hideHeader: Boolean,
|
28795
28886
|
hideWeekNumber: Boolean,
|
28796
28887
|
...makeCalendarProps(),
|
28797
28888
|
...makeVCalendarDayProps(),
|
28798
28889
|
...makeVCalendarHeaderProps()
|
28799
|
-
}, '
|
28890
|
+
}, 'VCalendar');
|
28800
28891
|
const VCalendar = genericComponent()({
|
28801
28892
|
name: 'VCalendar',
|
28802
28893
|
props: makeVCalendarProps(),
|
28803
28894
|
emits: {
|
28804
28895
|
next: null,
|
28805
28896
|
prev: null,
|
28897
|
+
today: null,
|
28806
28898
|
'update:modelValue': null
|
28807
28899
|
},
|
28808
28900
|
setup(props, _ref) {
|
28809
28901
|
let {
|
28902
|
+
attrs,
|
28810
28903
|
emit,
|
28811
28904
|
slots
|
28812
28905
|
} = _ref;
|
@@ -28824,27 +28917,33 @@
|
|
28824
28917
|
function onClickNext() {
|
28825
28918
|
if (props.viewMode === 'month') {
|
28826
28919
|
model.value = [adapter.addMonths(displayValue.value, 1)];
|
28827
|
-
}
|
28828
|
-
if (props.viewMode === 'week') {
|
28920
|
+
} else if (props.viewMode === 'week') {
|
28829
28921
|
model.value = [adapter.addDays(displayValue.value, 7)];
|
28830
|
-
}
|
28831
|
-
if (props.viewMode === 'day') {
|
28922
|
+
} else if (props.viewMode === 'day') {
|
28832
28923
|
model.value = [adapter.addDays(displayValue.value, 1)];
|
28833
28924
|
}
|
28925
|
+
vue.nextTick(() => {
|
28926
|
+
emit('next', model.value[0]);
|
28927
|
+
});
|
28834
28928
|
}
|
28835
28929
|
function onClickPrev() {
|
28836
28930
|
if (props.viewMode === 'month') {
|
28837
28931
|
model.value = [adapter.addMonths(displayValue.value, -1)];
|
28838
|
-
}
|
28839
|
-
if (props.viewMode === 'week') {
|
28932
|
+
} else if (props.viewMode === 'week') {
|
28840
28933
|
model.value = [adapter.addDays(displayValue.value, -7)];
|
28841
|
-
}
|
28842
|
-
if (props.viewMode === 'day') {
|
28934
|
+
} else if (props.viewMode === 'day') {
|
28843
28935
|
model.value = [adapter.addDays(displayValue.value, -1)];
|
28844
28936
|
}
|
28937
|
+
vue.nextTick(() => {
|
28938
|
+
emit('prev', model.value[0]);
|
28939
|
+
});
|
28845
28940
|
}
|
28846
28941
|
function onClickToday() {
|
28847
|
-
|
28942
|
+
const date = adapter.date();
|
28943
|
+
model.value = [date];
|
28944
|
+
vue.nextTick(() => {
|
28945
|
+
emit('today', model.value[0]);
|
28946
|
+
});
|
28848
28947
|
}
|
28849
28948
|
const title = vue.computed(() => {
|
28850
28949
|
return adapter.format(displayValue.value, 'monthAndYear');
|
@@ -28858,20 +28957,25 @@
|
|
28858
28957
|
'v-calendar-weekly': props.viewMode === 'week',
|
28859
28958
|
'v-calendar-day': props.viewMode === 'day'
|
28860
28959
|
}]
|
28861
|
-
}, [vue.createVNode("div", null, [!props.hideHeader && (
|
28960
|
+
}, [vue.createVNode("div", null, [!props.hideHeader && (slots.header?.({
|
28961
|
+
title: title.value,
|
28962
|
+
clickNext: onClickNext,
|
28963
|
+
clickPrev: onClickPrev,
|
28964
|
+
clickToday: onClickToday
|
28965
|
+
}) ?? vue.createVNode(VCalendarHeader, vue.mergeProps({
|
28862
28966
|
"key": "calendar-header"
|
28863
28967
|
}, calendarHeaderProps, {
|
28864
28968
|
"title": title.value,
|
28865
28969
|
"onClick:next": onClickNext,
|
28866
28970
|
"onClick:prev": onClickPrev,
|
28867
28971
|
"onClick:toToday": onClickToday
|
28868
|
-
}),
|
28869
|
-
title: title
|
28972
|
+
}), {
|
28973
|
+
title: slots.title
|
28870
28974
|
}))]), vue.createVNode("div", {
|
28871
28975
|
"class": ['v-calendar__container', `days__${weekDays.value.length}`]
|
28872
28976
|
}, [props.viewMode === 'month' && !props.hideDayHeader && vue.createVNode("div", {
|
28873
28977
|
"class": ['v-calendar-weekly__head', `days__${weekDays.value.length}`, ...(!props.hideWeekNumber ? ['v-calendar-weekly__head-weeknumbers'] : [])],
|
28874
|
-
"key": "
|
28978
|
+
"key": "calendarWeeklyHead"
|
28875
28979
|
}, [!props.hideWeekNumber ? vue.createVNode("div", {
|
28876
28980
|
"key": "weekNumber0",
|
28877
28981
|
"class": "v-calendar-weekly__head-weeknumber"
|
@@ -28880,24 +28984,39 @@
|
|
28880
28984
|
}, [dayNames[weekday]]))]), props.viewMode === 'month' && vue.createVNode("div", {
|
28881
28985
|
"key": "VCalendarMonth",
|
28882
28986
|
"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", {
|
28987
|
+
}, [chunkArray(daysInMonth.value, weekDays.value.length).map((week, wi) => [!props.hideWeekNumber ? vue.createVNode("div", vue.mergeProps({
|
28884
28988
|
"class": "v-calendar-month__weeknumber"
|
28885
|
-
},
|
28886
|
-
|
28989
|
+
}, getPrefixedEventHandlers(attrs, ':weekNumber', () => ({
|
28990
|
+
weekNumber: weekNumbers.value[wi],
|
28991
|
+
week
|
28992
|
+
}))), [weekNumbers.value[wi]]) : '', week.map(day => vue.createVNode(VCalendarMonthDay, vue.mergeProps({
|
28993
|
+
"key": day.date.getTime()
|
28994
|
+
}, calendarDayProps, {
|
28887
28995
|
"day": day,
|
28888
|
-
"title":
|
28996
|
+
"title": adapter.format(day.date, 'dayOfMonth'),
|
28889
28997
|
"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) =>
|
28998
|
+
}, attrs), {
|
28999
|
+
...pick(slots, ['day-body', 'day-event', 'day-title'])
|
29000
|
+
}))])]), props.viewMode === 'week' && daysInWeek.value.map((day, i) => slots['day-interval'] ? slots['day-interval']?.({
|
29001
|
+
...calendarDayProps,
|
29002
|
+
day,
|
29003
|
+
dayIndex: i,
|
29004
|
+
events: props.events?.filter(e => adapter.isSameDay(e.start, day.date) || adapter.isSameDay(e.end, day.date))
|
29005
|
+
}) : vue.createVNode(VCalendarDay, vue.mergeProps(calendarDayProps, {
|
28893
29006
|
"day": day,
|
28894
29007
|
"dayIndex": i,
|
28895
29008
|
"events": props.events?.filter(e => adapter.isSameDay(e.start, day.date) || adapter.isSameDay(e.end, day.date))
|
28896
|
-
}
|
28897
|
-
|
29009
|
+
}, attrs), {
|
29010
|
+
...pick(slots, ['interval', 'intervalBody', 'intervalEvent', 'intervalTitle'])
|
29011
|
+
})), props.viewMode === 'day' && (slots['day-interval'] ? slots['day-interval']({
|
29012
|
+
day: genDays([displayValue.value], adapter.date())[0],
|
29013
|
+
dayIndex: 0,
|
29014
|
+
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))
|
29015
|
+
}) : vue.createVNode(VCalendarDay, vue.mergeProps(calendarDayProps, {
|
29016
|
+
"day": genDays([model.value[0]], adapter.date())[0],
|
28898
29017
|
"dayIndex": 0,
|
28899
|
-
"events": props.events?.filter(e => adapter.isSameDay(e.start, genDays([
|
28900
|
-
}), null)])]);
|
29018
|
+
"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))
|
29019
|
+
}, attrs), null))])]);
|
28901
29020
|
});
|
28902
29021
|
return {
|
28903
29022
|
daysInMonth,
|
@@ -29446,10 +29565,7 @@
|
|
29446
29565
|
hideOverlay: Boolean,
|
29447
29566
|
icon: [String, Function, Object],
|
29448
29567
|
iconColor: String,
|
29449
|
-
iconSize:
|
29450
|
-
type: [Number, String],
|
29451
|
-
default: 'default'
|
29452
|
-
},
|
29568
|
+
iconSize: [Number, String],
|
29453
29569
|
iconSizes: {
|
29454
29570
|
type: Array,
|
29455
29571
|
default: () => [['x-small', 10], ['small', 16], ['default', 24], ['large', 28], ['x-large', 32]]
|
@@ -29510,7 +29626,7 @@
|
|
29510
29626
|
colorClasses,
|
29511
29627
|
colorStyles,
|
29512
29628
|
variantClasses
|
29513
|
-
} = useVariant(
|
29629
|
+
} = useVariant(() => ({
|
29514
29630
|
color: (() => {
|
29515
29631
|
if (props.disabled) return undefined;
|
29516
29632
|
if (!isActive.value) return props.color;
|
@@ -29525,7 +29641,7 @@
|
|
29525
29641
|
if (isActive.value) return props.activeVariant ?? props.variant;
|
29526
29642
|
return props.baseVariant ?? props.variant;
|
29527
29643
|
})()
|
29528
|
-
}))
|
29644
|
+
}));
|
29529
29645
|
const btnSizeMap = new Map(props.sizes);
|
29530
29646
|
const iconSizeMap = new Map(props.iconSizes);
|
29531
29647
|
function onClick() {
|
@@ -29534,13 +29650,14 @@
|
|
29534
29650
|
}
|
29535
29651
|
useRender(() => {
|
29536
29652
|
const icon = isActive.value ? props.activeIcon ?? props.icon : props.icon;
|
29537
|
-
const
|
29538
|
-
const hasNamedSize = btnSizeMap.has(
|
29539
|
-
const btnSize = hasNamedSize ? btnSizeMap.get(
|
29653
|
+
const _btnSize = props.size;
|
29654
|
+
const hasNamedSize = btnSizeMap.has(_btnSize);
|
29655
|
+
const btnSize = hasNamedSize ? btnSizeMap.get(_btnSize) : _btnSize;
|
29540
29656
|
const btnHeight = props.height ?? btnSize;
|
29541
29657
|
const btnWidth = props.width ?? btnSize;
|
29542
|
-
const _iconSize =
|
29543
|
-
const
|
29658
|
+
const _iconSize = props.iconSize;
|
29659
|
+
const hasNamedIconSize = iconSizeMap.has(_iconSize);
|
29660
|
+
const iconSize = !_iconSize ? hasNamedSize ? iconSizeMap.get(_btnSize) : iconSizeMap.get('default') : hasNamedIconSize ? iconSizeMap.get(_iconSize) : _iconSize;
|
29544
29661
|
const iconProps = {
|
29545
29662
|
icon,
|
29546
29663
|
size: iconSize,
|
@@ -30021,11 +30138,11 @@
|
|
30021
30138
|
const {
|
30022
30139
|
textColorClasses,
|
30023
30140
|
textColorStyles
|
30024
|
-
} = useTextColor(
|
30141
|
+
} = useTextColor(() => props.color);
|
30025
30142
|
const {
|
30026
30143
|
backgroundColorClasses,
|
30027
30144
|
backgroundColorStyles
|
30028
|
-
} = useBackgroundColor(
|
30145
|
+
} = useBackgroundColor(() => props.color);
|
30029
30146
|
const count = vue.computed(() => props.max - props.min + 1);
|
30030
30147
|
const roundCount = vue.computed(() => props.double ? count.value / 2 : count.value);
|
30031
30148
|
const degreesPerUnit = vue.computed(() => 360 / roundCount.value);
|
@@ -30885,9 +31002,9 @@
|
|
30885
31002
|
const {
|
30886
31003
|
items
|
30887
31004
|
} = useListItems(props);
|
30888
|
-
const activeColor = vue.toRef(props
|
30889
|
-
const baseColor = vue.toRef(props
|
30890
|
-
const color = vue.toRef(props
|
31005
|
+
const activeColor = vue.toRef(() => props.activeColor);
|
31006
|
+
const baseColor = vue.toRef(() => props.baseColor);
|
31007
|
+
const color = vue.toRef(() => props.color);
|
30891
31008
|
const activated = useProxiedModel(props, 'activated');
|
30892
31009
|
const model = useProxiedModel(props, 'modelValue');
|
30893
31010
|
const _selected = useProxiedModel(props, 'selected', props.modelValue);
|
@@ -30901,7 +31018,7 @@
|
|
30901
31018
|
const vListRef = vue.ref();
|
30902
31019
|
const opened = vue.computed(() => props.openAll ? openAll(items.value) : props.opened);
|
30903
31020
|
const flatItems = vue.computed(() => flatten(items.value));
|
30904
|
-
const search = vue.toRef(props
|
31021
|
+
const search = vue.toRef(() => props.search);
|
30905
31022
|
const {
|
30906
31023
|
filteredItems
|
30907
31024
|
} = useFilter(props, flatItems, search);
|
@@ -30944,18 +31061,18 @@
|
|
30944
31061
|
activeColor,
|
30945
31062
|
baseColor,
|
30946
31063
|
color,
|
30947
|
-
collapseIcon: vue.toRef(props
|
30948
|
-
expandIcon: vue.toRef(props
|
31064
|
+
collapseIcon: vue.toRef(() => props.collapseIcon),
|
31065
|
+
expandIcon: vue.toRef(() => props.expandIcon)
|
30949
31066
|
},
|
30950
31067
|
VTreeviewItem: {
|
30951
|
-
activeClass: vue.toRef(props
|
31068
|
+
activeClass: vue.toRef(() => props.activeClass),
|
30952
31069
|
activeColor,
|
30953
31070
|
baseColor,
|
30954
31071
|
color,
|
30955
|
-
density: vue.toRef(props
|
30956
|
-
disabled: vue.toRef(props
|
30957
|
-
lines: vue.toRef(props
|
30958
|
-
variant: vue.toRef(props
|
31072
|
+
density: vue.toRef(() => props.density),
|
31073
|
+
disabled: vue.toRef(() => props.disabled),
|
31074
|
+
lines: vue.toRef(() => props.lines),
|
31075
|
+
variant: vue.toRef(() => props.variant)
|
30959
31076
|
}
|
30960
31077
|
});
|
30961
31078
|
useRender(() => {
|
@@ -31495,7 +31612,7 @@
|
|
31495
31612
|
};
|
31496
31613
|
});
|
31497
31614
|
}
|
31498
|
-
const version$1 = "3.8.2-master.2025-04-
|
31615
|
+
const version$1 = "3.8.2-master.2025-04-22";
|
31499
31616
|
createVuetify$1.version = version$1;
|
31500
31617
|
|
31501
31618
|
// Vue's inject() can only be used in setup
|
@@ -31793,7 +31910,7 @@
|
|
31793
31910
|
|
31794
31911
|
/* eslint-disable local-rules/sort-imports */
|
31795
31912
|
|
31796
|
-
const version = "3.8.2-master.2025-04-
|
31913
|
+
const version = "3.8.2-master.2025-04-22";
|
31797
31914
|
|
31798
31915
|
/* eslint-disable local-rules/sort-imports */
|
31799
31916
|
|