vuetify 3.8.1 → 3.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/json/attributes.json +2066 -2066
- package/dist/json/importMap-labs.json +26 -26
- package/dist/json/importMap.json +164 -164
- package/dist/json/web-types.json +4116 -3862
- package/dist/vuetify-labs.cjs +784 -697
- package/dist/vuetify-labs.css +3174 -3162
- package/dist/vuetify-labs.d.ts +2103 -1144
- package/dist/vuetify-labs.esm.js +785 -698
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +784 -697
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +565 -590
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +2963 -2960
- package/dist/vuetify.d.ts +190 -169
- package/dist/vuetify.esm.js +566 -591
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +565 -590
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +1264 -1235
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/md3.js +18 -5
- package/lib/blueprints/md3.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/VCode/VCode.css +3 -0
- package/lib/components/VCode/VCode.sass +3 -0
- 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.css +1 -1
- package/lib/components/VDataTable/VDataTable.js +7 -7
- package/lib/components/VDataTable/VDataTable.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.sass +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.d.ts +7 -7
- 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.d.ts +7 -7
- 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.d.ts +4 -0
- package/lib/components/VOverlay/locationStrategies.js +33 -4
- 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 +3 -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 +23 -56
- package/lib/composables/calendar.js +16 -18
- 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/date/DateAdapter.d.ts +1 -0
- package/lib/composables/date/DateAdapter.js.map +1 -1
- package/lib/composables/date/adapters/vuetify.d.ts +1 -0
- package/lib/composables/date/adapters/vuetify.js +101 -160
- package/lib/composables/date/adapters/vuetify.js.map +1 -1
- package/lib/composables/date/date.d.ts +1 -1
- package/lib/composables/date/date.js +0 -20
- package/lib/composables/date/date.js.map +1 -1
- package/lib/composables/defaults.js +6 -3
- package/lib/composables/defaults.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/filter.js +2 -1
- package/lib/composables/filter.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 +9 -9
- 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.d.ts +1 -0
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +80 -71
- package/lib/framework.js +1 -1
- package/lib/labs/VCalendar/VCalendar.d.ts +607 -218
- 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 +56 -19
- 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/VDateInput/VDateInput.d.ts +7 -7
- 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/labs/entry-bundler.d.ts +1 -0
- package/lib/util/box.js.map +1 -1
- package/lib/util/helpers.d.ts +7 -2
- package/lib/util/helpers.js +16 -5
- package/lib/util/helpers.js.map +1 -1
- package/package.json +49 -47
package/dist/vuetify-labs.esm.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.8.
|
|
2
|
+
* Vuetify v3.8.3
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { shallowRef, reactive,
|
|
7
|
+
import { shallowRef, reactive, watchEffect, toRef, capitalize, unref, Fragment, isVNode, Comment, warn, getCurrentInstance as getCurrentInstance$1, ref, computed, provide, inject as inject$1, defineComponent as defineComponent$1, h, camelize, onBeforeUnmount, watch, readonly, onMounted, useId, onDeactivated, onActivated, onScopeDispose, effectScope, toRaw, createVNode, TransitionGroup, Transition, mergeProps, toRefs, toValue, isRef, onBeforeMount, nextTick, withDirectives, resolveDirective, vShow, onUpdated, Text, resolveDynamicComponent, toDisplayString, markRaw, Teleport, cloneVNode, createTextVNode, onUnmounted, onBeforeUpdate, withModifiers, vModelText, resolveComponent, render } from 'vue';
|
|
8
8
|
|
|
9
9
|
// Types
|
|
10
10
|
// eslint-disable-line vue/prefer-import-from-vue
|
|
@@ -412,6 +412,9 @@ class CircularBuffer {
|
|
|
412
412
|
_classPrivateFieldInitSpec(this, _pointer, 0);
|
|
413
413
|
this.size = size;
|
|
414
414
|
}
|
|
415
|
+
get isFull() {
|
|
416
|
+
return _classPrivateFieldGet(_arr, this).length === this.size;
|
|
417
|
+
}
|
|
415
418
|
push(val) {
|
|
416
419
|
_classPrivateFieldGet(_arr, this)[_classPrivateFieldGet(_pointer, this)] = val;
|
|
417
420
|
_classPrivateFieldSet(_pointer, this, (_classPrivateFieldGet(_pointer, this) + 1) % this.size);
|
|
@@ -419,6 +422,10 @@ class CircularBuffer {
|
|
|
419
422
|
values() {
|
|
420
423
|
return _classPrivateFieldGet(_arr, this).slice(_classPrivateFieldGet(_pointer, this)).concat(_classPrivateFieldGet(_arr, this).slice(0, _classPrivateFieldGet(_pointer, this)));
|
|
421
424
|
}
|
|
425
|
+
clear() {
|
|
426
|
+
_classPrivateFieldGet(_arr, this).length = 0;
|
|
427
|
+
_classPrivateFieldSet(_pointer, this, 0);
|
|
428
|
+
}
|
|
422
429
|
}
|
|
423
430
|
function getEventCoordinates(e) {
|
|
424
431
|
if ('touches' in e) {
|
|
@@ -442,15 +449,19 @@ function getEventCoordinates(e) {
|
|
|
442
449
|
|
|
443
450
|
function destructComputed(getter) {
|
|
444
451
|
const refs = reactive({});
|
|
445
|
-
const base = computed(getter);
|
|
446
452
|
watchEffect(() => {
|
|
447
|
-
|
|
448
|
-
|
|
453
|
+
const base = getter();
|
|
454
|
+
for (const key in base) {
|
|
455
|
+
refs[key] = base[key];
|
|
449
456
|
}
|
|
450
457
|
}, {
|
|
451
458
|
flush: 'sync'
|
|
452
459
|
});
|
|
453
|
-
|
|
460
|
+
const obj = {};
|
|
461
|
+
for (const key in refs) {
|
|
462
|
+
obj[key] = toRef(() => refs[key]);
|
|
463
|
+
}
|
|
464
|
+
return obj;
|
|
454
465
|
}
|
|
455
466
|
|
|
456
467
|
/** Array.includes but value can be any type */
|
|
@@ -1334,7 +1345,7 @@ function provideDefaults(defaults, options) {
|
|
|
1334
1345
|
return newDefaults;
|
|
1335
1346
|
}
|
|
1336
1347
|
function propIsDefined(vnode, prop) {
|
|
1337
|
-
return typeof vnode.props
|
|
1348
|
+
return vnode.props && (typeof vnode.props[prop] !== 'undefined' || typeof vnode.props[toKebabCase(prop)] !== 'undefined');
|
|
1338
1349
|
}
|
|
1339
1350
|
function internalUseDefaults() {
|
|
1340
1351
|
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
@@ -1351,9 +1362,12 @@ function internalUseDefaults() {
|
|
|
1351
1362
|
const propValue = Reflect.get(target, prop);
|
|
1352
1363
|
if (prop === 'class' || prop === 'style') {
|
|
1353
1364
|
return [componentDefaults.value?.[prop], propValue].filter(v => v != null);
|
|
1354
|
-
} else if (typeof prop === 'string' && !propIsDefined(vm.vnode, prop)) {
|
|
1355
|
-
return componentDefaults.value?.[prop] !== undefined ? componentDefaults.value?.[prop] : defaults.value?.global?.[prop] !== undefined ? defaults.value?.global?.[prop] : propValue;
|
|
1356
1365
|
}
|
|
1366
|
+
if (propIsDefined(vm.vnode, prop)) return propValue;
|
|
1367
|
+
const _componentDefault = componentDefaults.value?.[prop];
|
|
1368
|
+
if (_componentDefault !== undefined) return _componentDefault;
|
|
1369
|
+
const _globalDefault = defaults.value?.global?.[prop];
|
|
1370
|
+
if (_globalDefault !== undefined) return _globalDefault;
|
|
1357
1371
|
return propValue;
|
|
1358
1372
|
}
|
|
1359
1373
|
});
|
|
@@ -1741,7 +1755,7 @@ function createLayout(props) {
|
|
|
1741
1755
|
const mainRect = computed(() => {
|
|
1742
1756
|
return layers.value[layers.value.length - 1].layer;
|
|
1743
1757
|
});
|
|
1744
|
-
const mainStyles =
|
|
1758
|
+
const mainStyles = toRef(() => {
|
|
1745
1759
|
return {
|
|
1746
1760
|
'--v-layout-left': convertToUnit(mainRect.value.left),
|
|
1747
1761
|
'--v-layout-right': convertToUnit(mainRect.value.right),
|
|
@@ -1856,10 +1870,10 @@ function createLayout(props) {
|
|
|
1856
1870
|
layoutRect,
|
|
1857
1871
|
rootZIndex
|
|
1858
1872
|
});
|
|
1859
|
-
const layoutClasses =
|
|
1873
|
+
const layoutClasses = toRef(() => ['v-layout', {
|
|
1860
1874
|
'v-layout--full-height': props.fullHeight
|
|
1861
1875
|
}]);
|
|
1862
|
-
const layoutStyles =
|
|
1876
|
+
const layoutStyles = toRef(() => ({
|
|
1863
1877
|
zIndex: parentLayout ? rootZIndex.value : undefined,
|
|
1864
1878
|
position: parentLayout ? 'relative' : undefined,
|
|
1865
1879
|
overflow: parentLayout ? 'hidden' : undefined
|
|
@@ -2250,7 +2264,7 @@ function createRtl(i18n, options) {
|
|
|
2250
2264
|
return {
|
|
2251
2265
|
isRtl,
|
|
2252
2266
|
rtl,
|
|
2253
|
-
rtlClasses:
|
|
2267
|
+
rtlClasses: toRef(() => `v-locale--is-${isRtl.value ? 'rtl' : 'ltr'}`)
|
|
2254
2268
|
};
|
|
2255
2269
|
}
|
|
2256
2270
|
function provideRtl(locale, rtl, props) {
|
|
@@ -2258,7 +2272,7 @@ function provideRtl(locale, rtl, props) {
|
|
|
2258
2272
|
return {
|
|
2259
2273
|
isRtl,
|
|
2260
2274
|
rtl,
|
|
2261
|
-
rtlClasses:
|
|
2275
|
+
rtlClasses: toRef(() => `v-locale--is-${isRtl.value ? 'rtl' : 'ltr'}`)
|
|
2262
2276
|
};
|
|
2263
2277
|
}
|
|
2264
2278
|
function useRtl() {
|
|
@@ -2331,8 +2345,8 @@ function genDefaults$2() {
|
|
|
2331
2345
|
surface: '#212121',
|
|
2332
2346
|
'surface-bright': '#ccbfd6',
|
|
2333
2347
|
'surface-light': '#424242',
|
|
2334
|
-
'surface-variant': '#
|
|
2335
|
-
'on-surface-variant': '#
|
|
2348
|
+
'surface-variant': '#c8c8c8',
|
|
2349
|
+
'on-surface-variant': '#000000',
|
|
2336
2350
|
primary: '#2196F3',
|
|
2337
2351
|
'primary-darken-1': '#277CC1',
|
|
2338
2352
|
secondary: '#54B6B2',
|
|
@@ -2482,7 +2496,7 @@ function createTheme(options) {
|
|
|
2482
2496
|
}
|
|
2483
2497
|
return acc;
|
|
2484
2498
|
});
|
|
2485
|
-
const current =
|
|
2499
|
+
const current = toRef(() => computedThemes.value[name.value]);
|
|
2486
2500
|
const styles = computed(() => {
|
|
2487
2501
|
const lines = [];
|
|
2488
2502
|
if (current.value?.dark) {
|
|
@@ -2529,7 +2543,7 @@ function createTheme(options) {
|
|
|
2529
2543
|
}
|
|
2530
2544
|
} else {
|
|
2531
2545
|
if (IN_BROWSER) {
|
|
2532
|
-
head.addHeadObjs(
|
|
2546
|
+
head.addHeadObjs(toRef(getHead));
|
|
2533
2547
|
watchEffect(() => head.updateDOM());
|
|
2534
2548
|
} else {
|
|
2535
2549
|
head.addHeadObjs(getHead());
|
|
@@ -2548,7 +2562,7 @@ function createTheme(options) {
|
|
|
2548
2562
|
}
|
|
2549
2563
|
}
|
|
2550
2564
|
}
|
|
2551
|
-
const themeClasses =
|
|
2565
|
+
const themeClasses = toRef(() => parsedOptions.isDisabled ? undefined : `v-theme--${name.value}`);
|
|
2552
2566
|
return {
|
|
2553
2567
|
install,
|
|
2554
2568
|
isDisabled: parsedOptions.isDisabled,
|
|
@@ -2568,9 +2582,9 @@ function provideTheme(props) {
|
|
|
2568
2582
|
getCurrentInstance('provideTheme');
|
|
2569
2583
|
const theme = inject$1(ThemeSymbol, null);
|
|
2570
2584
|
if (!theme) throw new Error('Could not find Vuetify theme injection');
|
|
2571
|
-
const name =
|
|
2572
|
-
const current =
|
|
2573
|
-
const themeClasses =
|
|
2585
|
+
const name = toRef(() => props.theme ?? theme.name.value);
|
|
2586
|
+
const current = toRef(() => theme.themes.value[name.value]);
|
|
2587
|
+
const themeClasses = toRef(() => theme.isDisabled ? undefined : `v-theme--${name.value}`);
|
|
2574
2588
|
const newTheme = {
|
|
2575
2589
|
...theme,
|
|
2576
2590
|
name,
|
|
@@ -2854,6 +2868,7 @@ function ExpandTransitionGenerator () {
|
|
|
2854
2868
|
const makeVDialogTransitionProps = propsFactory({
|
|
2855
2869
|
target: [Object, Array]
|
|
2856
2870
|
}, 'v-dialog-transition');
|
|
2871
|
+
const saved = new WeakMap();
|
|
2857
2872
|
const VDialogTransition = genericComponent()({
|
|
2858
2873
|
name: 'VDialogTransition',
|
|
2859
2874
|
props: makeVDialogTransitionProps(),
|
|
@@ -2870,13 +2885,15 @@ const VDialogTransition = genericComponent()({
|
|
|
2870
2885
|
await new Promise(resolve => requestAnimationFrame(resolve));
|
|
2871
2886
|
await new Promise(resolve => requestAnimationFrame(resolve));
|
|
2872
2887
|
el.style.visibility = '';
|
|
2888
|
+
const dimensions = getDimensions(props.target, el);
|
|
2873
2889
|
const {
|
|
2874
2890
|
x,
|
|
2875
2891
|
y,
|
|
2876
2892
|
sx,
|
|
2877
2893
|
sy,
|
|
2878
2894
|
speed
|
|
2879
|
-
} =
|
|
2895
|
+
} = dimensions;
|
|
2896
|
+
saved.set(el, dimensions);
|
|
2880
2897
|
const animation = animate(el, [{
|
|
2881
2898
|
transform: `translate(${x}px, ${y}px) scale(${sx}, ${sy})`,
|
|
2882
2899
|
opacity: 0
|
|
@@ -2905,13 +2922,19 @@ const VDialogTransition = genericComponent()({
|
|
|
2905
2922
|
},
|
|
2906
2923
|
async onLeave(el, done) {
|
|
2907
2924
|
await new Promise(resolve => requestAnimationFrame(resolve));
|
|
2925
|
+
let dimensions;
|
|
2926
|
+
if (!Array.isArray(props.target) && !props.target.offsetParent && saved.has(el)) {
|
|
2927
|
+
dimensions = saved.get(el);
|
|
2928
|
+
} else {
|
|
2929
|
+
dimensions = getDimensions(props.target, el);
|
|
2930
|
+
}
|
|
2908
2931
|
const {
|
|
2909
2932
|
x,
|
|
2910
2933
|
y,
|
|
2911
2934
|
sx,
|
|
2912
2935
|
sy,
|
|
2913
2936
|
speed
|
|
2914
|
-
} =
|
|
2937
|
+
} = dimensions;
|
|
2915
2938
|
const animation = animate(el, [{}, {
|
|
2916
2939
|
transform: `translate(${x}px, ${y}px) scale(${sx}, ${sy})`,
|
|
2917
2940
|
opacity: 0
|
|
@@ -3131,13 +3154,14 @@ const VResponsive = genericComponent()({
|
|
|
3131
3154
|
// Composables
|
|
3132
3155
|
function useColor(colors) {
|
|
3133
3156
|
return destructComputed(() => {
|
|
3157
|
+
const _colors = toValue(colors);
|
|
3134
3158
|
const classes = [];
|
|
3135
3159
|
const styles = {};
|
|
3136
|
-
if (
|
|
3137
|
-
if (isCssColor(
|
|
3138
|
-
styles.backgroundColor =
|
|
3139
|
-
if (!
|
|
3140
|
-
const backgroundColor = parseColor(
|
|
3160
|
+
if (_colors.background) {
|
|
3161
|
+
if (isCssColor(_colors.background)) {
|
|
3162
|
+
styles.backgroundColor = _colors.background;
|
|
3163
|
+
if (!_colors.text && isParsableColor(_colors.background)) {
|
|
3164
|
+
const backgroundColor = parseColor(_colors.background);
|
|
3141
3165
|
if (backgroundColor.a == null || backgroundColor.a === 1) {
|
|
3142
3166
|
const textColor = getForeground(backgroundColor);
|
|
3143
3167
|
styles.color = textColor;
|
|
@@ -3145,15 +3169,15 @@ function useColor(colors) {
|
|
|
3145
3169
|
}
|
|
3146
3170
|
}
|
|
3147
3171
|
} else {
|
|
3148
|
-
classes.push(`bg-${
|
|
3172
|
+
classes.push(`bg-${_colors.background}`);
|
|
3149
3173
|
}
|
|
3150
3174
|
}
|
|
3151
|
-
if (
|
|
3152
|
-
if (isCssColor(
|
|
3153
|
-
styles.color =
|
|
3154
|
-
styles.caretColor =
|
|
3175
|
+
if (_colors.text) {
|
|
3176
|
+
if (isCssColor(_colors.text)) {
|
|
3177
|
+
styles.color = _colors.text;
|
|
3178
|
+
styles.caretColor = _colors.text;
|
|
3155
3179
|
} else {
|
|
3156
|
-
classes.push(`text-${
|
|
3180
|
+
classes.push(`text-${_colors.text}`);
|
|
3157
3181
|
}
|
|
3158
3182
|
}
|
|
3159
3183
|
return {
|
|
@@ -3162,27 +3186,25 @@ function useColor(colors) {
|
|
|
3162
3186
|
};
|
|
3163
3187
|
});
|
|
3164
3188
|
}
|
|
3165
|
-
function useTextColor(
|
|
3166
|
-
const colors = computed(() => ({
|
|
3167
|
-
text: isRef(props) ? props.value : name ? props[name] : null
|
|
3168
|
-
}));
|
|
3189
|
+
function useTextColor(color) {
|
|
3169
3190
|
const {
|
|
3170
3191
|
colorClasses: textColorClasses,
|
|
3171
3192
|
colorStyles: textColorStyles
|
|
3172
|
-
} = useColor(
|
|
3193
|
+
} = useColor(() => ({
|
|
3194
|
+
text: toValue(color)
|
|
3195
|
+
}));
|
|
3173
3196
|
return {
|
|
3174
3197
|
textColorClasses,
|
|
3175
3198
|
textColorStyles
|
|
3176
3199
|
};
|
|
3177
3200
|
}
|
|
3178
|
-
function useBackgroundColor(
|
|
3179
|
-
const colors = computed(() => ({
|
|
3180
|
-
background: isRef(props) ? props.value : name ? props[name] : null
|
|
3181
|
-
}));
|
|
3201
|
+
function useBackgroundColor(color) {
|
|
3182
3202
|
const {
|
|
3183
3203
|
colorClasses: backgroundColorClasses,
|
|
3184
3204
|
colorStyles: backgroundColorStyles
|
|
3185
|
-
} = useColor(
|
|
3205
|
+
} = useColor(() => ({
|
|
3206
|
+
background: toValue(color)
|
|
3207
|
+
}));
|
|
3186
3208
|
return {
|
|
3187
3209
|
backgroundColorClasses,
|
|
3188
3210
|
backgroundColorStyles
|
|
@@ -3366,7 +3388,7 @@ const VImg = genericComponent()({
|
|
|
3366
3388
|
const {
|
|
3367
3389
|
backgroundColorClasses,
|
|
3368
3390
|
backgroundColorStyles
|
|
3369
|
-
} = useBackgroundColor(
|
|
3391
|
+
} = useBackgroundColor(() => props.color);
|
|
3370
3392
|
const {
|
|
3371
3393
|
roundedClasses
|
|
3372
3394
|
} = useRounded(props);
|
|
@@ -3473,7 +3495,7 @@ const VImg = genericComponent()({
|
|
|
3473
3495
|
};
|
|
3474
3496
|
poll();
|
|
3475
3497
|
}
|
|
3476
|
-
const containClasses =
|
|
3498
|
+
const containClasses = toRef(() => ({
|
|
3477
3499
|
'v-img__img--cover': props.cover,
|
|
3478
3500
|
'v-img__img--contain': !props.cover
|
|
3479
3501
|
}));
|
|
@@ -3610,16 +3632,13 @@ const makeBorderProps = propsFactory({
|
|
|
3610
3632
|
function useBorder(props) {
|
|
3611
3633
|
let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();
|
|
3612
3634
|
const borderClasses = computed(() => {
|
|
3613
|
-
const border =
|
|
3614
|
-
const classes = [];
|
|
3635
|
+
const border = props.border;
|
|
3615
3636
|
if (border === true || border === '') {
|
|
3616
|
-
|
|
3637
|
+
return `${name}--border`;
|
|
3617
3638
|
} else if (typeof border === 'string' || border === 0) {
|
|
3618
|
-
|
|
3619
|
-
classes.push(`border-${value}`);
|
|
3620
|
-
}
|
|
3639
|
+
return String(border).split(' ').map(v => `border-${v}`);
|
|
3621
3640
|
}
|
|
3622
|
-
return
|
|
3641
|
+
return [];
|
|
3623
3642
|
});
|
|
3624
3643
|
return {
|
|
3625
3644
|
borderClasses
|
|
@@ -3644,12 +3663,10 @@ const makeElevationProps = propsFactory({
|
|
|
3644
3663
|
}
|
|
3645
3664
|
}, 'elevation');
|
|
3646
3665
|
function useElevation(props) {
|
|
3647
|
-
const elevationClasses =
|
|
3666
|
+
const elevationClasses = toRef(() => {
|
|
3648
3667
|
const elevation = isRef(props) ? props.value : props.elevation;
|
|
3649
|
-
|
|
3650
|
-
|
|
3651
|
-
classes.push(`elevation-${elevation}`);
|
|
3652
|
-
return classes;
|
|
3668
|
+
if (elevation == null) return [];
|
|
3669
|
+
return [`elevation-${elevation}`];
|
|
3653
3670
|
});
|
|
3654
3671
|
return {
|
|
3655
3672
|
elevationClasses
|
|
@@ -3700,7 +3717,7 @@ const VToolbar = genericComponent()({
|
|
|
3700
3717
|
const {
|
|
3701
3718
|
backgroundColorClasses,
|
|
3702
3719
|
backgroundColorStyles
|
|
3703
|
-
} = useBackgroundColor(
|
|
3720
|
+
} = useBackgroundColor(() => props.color);
|
|
3704
3721
|
const {
|
|
3705
3722
|
borderClasses
|
|
3706
3723
|
} = useBorder(props);
|
|
@@ -3909,7 +3926,7 @@ function useSsrBoot() {
|
|
|
3909
3926
|
isBooted.value = true;
|
|
3910
3927
|
});
|
|
3911
3928
|
});
|
|
3912
|
-
const ssrBootStyles =
|
|
3929
|
+
const ssrBootStyles = toRef(() => !isBooted.value ? {
|
|
3913
3930
|
transition: 'none !important'
|
|
3914
3931
|
} : undefined);
|
|
3915
3932
|
return {
|
|
@@ -3977,7 +3994,7 @@ const VAppBar = genericComponent()({
|
|
|
3977
3994
|
} = useScroll(props, {
|
|
3978
3995
|
canScroll
|
|
3979
3996
|
});
|
|
3980
|
-
const canHide =
|
|
3997
|
+
const canHide = toRef(() => scrollBehavior.value.hide || scrollBehavior.value.fullyHide);
|
|
3981
3998
|
const isCollapsed = computed(() => props.collapse || scrollBehavior.value.collapse && (scrollBehavior.value.inverted ? scrollRatio.value > 0 : scrollRatio.value === 0));
|
|
3982
3999
|
const isFlat = computed(() => props.flat || scrollBehavior.value.fullyHide && !isActive.value || scrollBehavior.value.elevate && (scrollBehavior.value.inverted ? currentScroll.value > 0 : currentScroll.value === 0));
|
|
3983
4000
|
const opacity = computed(() => scrollBehavior.value.fadeImage ? scrollBehavior.value.inverted ? 1 - scrollRatio.value : scrollRatio.value : undefined);
|
|
@@ -3988,7 +4005,7 @@ const VAppBar = genericComponent()({
|
|
|
3988
4005
|
if (!canHide.value) return height + extensionHeight;
|
|
3989
4006
|
return currentScroll.value < scrollThreshold.value || scrollBehavior.value.fullyHide ? height + extensionHeight : height;
|
|
3990
4007
|
});
|
|
3991
|
-
useToggleScope(
|
|
4008
|
+
useToggleScope(() => !!props.scrollBehavior, () => {
|
|
3992
4009
|
watchEffect(() => {
|
|
3993
4010
|
if (canHide.value) {
|
|
3994
4011
|
if (scrollBehavior.value.inverted) {
|
|
@@ -4009,11 +4026,11 @@ const VAppBar = genericComponent()({
|
|
|
4009
4026
|
} = useLayoutItem({
|
|
4010
4027
|
id: props.name,
|
|
4011
4028
|
order: computed(() => parseInt(props.order, 10)),
|
|
4012
|
-
position: toRef(props
|
|
4029
|
+
position: toRef(() => props.location),
|
|
4013
4030
|
layoutSize: height,
|
|
4014
4031
|
elementSize: shallowRef(undefined),
|
|
4015
4032
|
active: isActive,
|
|
4016
|
-
absolute: toRef(props
|
|
4033
|
+
absolute: toRef(() => props.absolute)
|
|
4017
4034
|
});
|
|
4018
4035
|
useRender(() => {
|
|
4019
4036
|
const toolbarProps = VToolbar.filterProps(props);
|
|
@@ -4056,7 +4073,7 @@ const makeDensityProps = propsFactory({
|
|
|
4056
4073
|
}, 'density');
|
|
4057
4074
|
function useDensity(props) {
|
|
4058
4075
|
let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();
|
|
4059
|
-
const densityClasses =
|
|
4076
|
+
const densityClasses = toRef(() => {
|
|
4060
4077
|
return `${name}--density-${props.density}`;
|
|
4061
4078
|
});
|
|
4062
4079
|
return {
|
|
@@ -4086,24 +4103,24 @@ const makeVariantProps = propsFactory({
|
|
|
4086
4103
|
}, 'variant');
|
|
4087
4104
|
function useVariant(props) {
|
|
4088
4105
|
let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();
|
|
4089
|
-
const variantClasses =
|
|
4106
|
+
const variantClasses = toRef(() => {
|
|
4090
4107
|
const {
|
|
4091
4108
|
variant
|
|
4092
|
-
} =
|
|
4109
|
+
} = toValue(props);
|
|
4093
4110
|
return `${name}--variant-${variant}`;
|
|
4094
4111
|
});
|
|
4095
4112
|
const {
|
|
4096
4113
|
colorClasses,
|
|
4097
4114
|
colorStyles
|
|
4098
|
-
} = useColor(
|
|
4115
|
+
} = useColor(() => {
|
|
4099
4116
|
const {
|
|
4100
4117
|
variant,
|
|
4101
4118
|
color
|
|
4102
|
-
} =
|
|
4119
|
+
} = toValue(props);
|
|
4103
4120
|
return {
|
|
4104
4121
|
[['elevated', 'flat'].includes(variant) ? 'background' : 'text']: color
|
|
4105
4122
|
};
|
|
4106
|
-
})
|
|
4123
|
+
});
|
|
4107
4124
|
return {
|
|
4108
4125
|
colorClasses,
|
|
4109
4126
|
colorStyles,
|
|
@@ -4148,11 +4165,11 @@ const VBtnGroup = genericComponent()({
|
|
|
4148
4165
|
provideDefaults({
|
|
4149
4166
|
VBtn: {
|
|
4150
4167
|
height: 'auto',
|
|
4151
|
-
baseColor: toRef(props
|
|
4152
|
-
color: toRef(props
|
|
4153
|
-
density: toRef(props
|
|
4168
|
+
baseColor: toRef(() => props.baseColor),
|
|
4169
|
+
color: toRef(() => props.color),
|
|
4170
|
+
density: toRef(() => props.density),
|
|
4154
4171
|
flat: true,
|
|
4155
|
-
variant: toRef(props
|
|
4172
|
+
variant: toRef(() => props.variant)
|
|
4156
4173
|
}
|
|
4157
4174
|
});
|
|
4158
4175
|
useRender(() => {
|
|
@@ -4202,7 +4219,7 @@ function useGroupItem(props, injectKey) {
|
|
|
4202
4219
|
if (!required) return group;
|
|
4203
4220
|
throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${injectKey.description}`);
|
|
4204
4221
|
}
|
|
4205
|
-
const value = toRef(props
|
|
4222
|
+
const value = toRef(() => props.value);
|
|
4206
4223
|
const disabled = computed(() => !!(group.disabled.value || props.disabled));
|
|
4207
4224
|
group.register({
|
|
4208
4225
|
id,
|
|
@@ -4351,12 +4368,12 @@ function useGroup(props, injectKey) {
|
|
|
4351
4368
|
unregister,
|
|
4352
4369
|
selected,
|
|
4353
4370
|
select,
|
|
4354
|
-
disabled: toRef(props
|
|
4371
|
+
disabled: toRef(() => props.disabled),
|
|
4355
4372
|
prev: () => step(items.length - 1),
|
|
4356
4373
|
next: () => step(1),
|
|
4357
4374
|
isSelected: id => selected.value.includes(id),
|
|
4358
|
-
selectedClass:
|
|
4359
|
-
items:
|
|
4375
|
+
selectedClass: toRef(() => props.selectedClass),
|
|
4376
|
+
items: toRef(() => items),
|
|
4360
4377
|
getItemIndex: value => getItemIndex(items, value)
|
|
4361
4378
|
};
|
|
4362
4379
|
provide(injectKey, state);
|
|
@@ -4612,7 +4629,7 @@ const useIcon = props => {
|
|
|
4612
4629
|
const icons = inject$1(IconSymbol);
|
|
4613
4630
|
if (!icons) throw new Error('Missing Vuetify Icons provide!');
|
|
4614
4631
|
const iconData = computed(() => {
|
|
4615
|
-
const iconAlias =
|
|
4632
|
+
const iconAlias = toValue(props);
|
|
4616
4633
|
if (!iconAlias) return {
|
|
4617
4634
|
component: VComponentIcon
|
|
4618
4635
|
};
|
|
@@ -4662,14 +4679,15 @@ const makeSizeProps = propsFactory({
|
|
|
4662
4679
|
function useSize(props) {
|
|
4663
4680
|
let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();
|
|
4664
4681
|
return destructComputed(() => {
|
|
4682
|
+
const size = props.size;
|
|
4665
4683
|
let sizeClasses;
|
|
4666
4684
|
let sizeStyles;
|
|
4667
|
-
if (includes(predefinedSizes,
|
|
4668
|
-
sizeClasses = `${name}--size-${
|
|
4669
|
-
} else if (
|
|
4685
|
+
if (includes(predefinedSizes, size)) {
|
|
4686
|
+
sizeClasses = `${name}--size-${size}`;
|
|
4687
|
+
} else if (size) {
|
|
4670
4688
|
sizeStyles = {
|
|
4671
|
-
width: convertToUnit(
|
|
4672
|
-
height: convertToUnit(
|
|
4689
|
+
width: convertToUnit(size),
|
|
4690
|
+
height: convertToUnit(size)
|
|
4673
4691
|
};
|
|
4674
4692
|
}
|
|
4675
4693
|
return {
|
|
@@ -4701,20 +4719,20 @@ const VIcon = genericComponent()({
|
|
|
4701
4719
|
attrs,
|
|
4702
4720
|
slots
|
|
4703
4721
|
} = _ref;
|
|
4704
|
-
const slotIcon =
|
|
4722
|
+
const slotIcon = shallowRef();
|
|
4705
4723
|
const {
|
|
4706
4724
|
themeClasses
|
|
4707
4725
|
} = useTheme();
|
|
4708
4726
|
const {
|
|
4709
4727
|
iconData
|
|
4710
|
-
} = useIcon(
|
|
4728
|
+
} = useIcon(() => slotIcon.value || props.icon);
|
|
4711
4729
|
const {
|
|
4712
4730
|
sizeClasses
|
|
4713
4731
|
} = useSize(props);
|
|
4714
4732
|
const {
|
|
4715
4733
|
textColorClasses,
|
|
4716
4734
|
textColorStyles
|
|
4717
|
-
} = useTextColor(
|
|
4735
|
+
} = useTextColor(() => props.color);
|
|
4718
4736
|
useRender(() => {
|
|
4719
4737
|
const slotValue = slots.default?.();
|
|
4720
4738
|
if (slotValue) {
|
|
@@ -4820,11 +4838,11 @@ const VProgressCircular = genericComponent()({
|
|
|
4820
4838
|
const {
|
|
4821
4839
|
textColorClasses,
|
|
4822
4840
|
textColorStyles
|
|
4823
|
-
} = useTextColor(
|
|
4841
|
+
} = useTextColor(() => props.color);
|
|
4824
4842
|
const {
|
|
4825
4843
|
textColorClasses: underlayColorClasses,
|
|
4826
4844
|
textColorStyles: underlayColorStyles
|
|
4827
|
-
} = useTextColor(
|
|
4845
|
+
} = useTextColor(() => props.bgColor);
|
|
4828
4846
|
const {
|
|
4829
4847
|
intersectionRef,
|
|
4830
4848
|
isIntersecting
|
|
@@ -4833,15 +4851,15 @@ const VProgressCircular = genericComponent()({
|
|
|
4833
4851
|
resizeRef,
|
|
4834
4852
|
contentRect
|
|
4835
4853
|
} = useResizeObserver();
|
|
4836
|
-
const normalizedValue =
|
|
4837
|
-
const width =
|
|
4838
|
-
const size =
|
|
4854
|
+
const normalizedValue = toRef(() => Math.max(0, Math.min(100, parseFloat(props.modelValue))));
|
|
4855
|
+
const width = toRef(() => Number(props.width));
|
|
4856
|
+
const size = toRef(() => {
|
|
4839
4857
|
// Get size from element if size prop value is small, large etc
|
|
4840
4858
|
return sizeStyles.value ? Number(props.size) : contentRect.value ? contentRect.value.width : Math.max(width.value, 32);
|
|
4841
4859
|
});
|
|
4842
|
-
const diameter =
|
|
4843
|
-
const strokeWidth =
|
|
4844
|
-
const strokeDashOffset =
|
|
4860
|
+
const diameter = toRef(() => MAGIC_RADIUS_CONSTANT / (1 - width.value / size.value) * 2);
|
|
4861
|
+
const strokeWidth = toRef(() => width.value / size.value * diameter.value);
|
|
4862
|
+
const strokeDashOffset = toRef(() => convertToUnit((100 - normalizedValue.value) / 100 * CIRCUMFERENCE));
|
|
4845
4863
|
watchEffect(() => {
|
|
4846
4864
|
intersectionRef.value = root.value;
|
|
4847
4865
|
resizeRef.value = root.value;
|
|
@@ -5019,19 +5037,19 @@ const VProgressLinear = genericComponent()({
|
|
|
5019
5037
|
const {
|
|
5020
5038
|
textColorClasses,
|
|
5021
5039
|
textColorStyles
|
|
5022
|
-
} = useTextColor(props
|
|
5040
|
+
} = useTextColor(() => props.color);
|
|
5023
5041
|
const {
|
|
5024
5042
|
backgroundColorClasses,
|
|
5025
5043
|
backgroundColorStyles
|
|
5026
|
-
} = useBackgroundColor(
|
|
5044
|
+
} = useBackgroundColor(() => props.bgColor || props.color);
|
|
5027
5045
|
const {
|
|
5028
5046
|
backgroundColorClasses: bufferColorClasses,
|
|
5029
5047
|
backgroundColorStyles: bufferColorStyles
|
|
5030
|
-
} = useBackgroundColor(
|
|
5048
|
+
} = useBackgroundColor(() => props.bufferColor || props.bgColor || props.color);
|
|
5031
5049
|
const {
|
|
5032
5050
|
backgroundColorClasses: barColorClasses,
|
|
5033
5051
|
backgroundColorStyles: barColorStyles
|
|
5034
|
-
} = useBackgroundColor(props
|
|
5052
|
+
} = useBackgroundColor(() => props.color);
|
|
5035
5053
|
const {
|
|
5036
5054
|
roundedClasses
|
|
5037
5055
|
} = useRounded(props);
|
|
@@ -5138,7 +5156,7 @@ const makeLoaderProps = propsFactory({
|
|
|
5138
5156
|
}, 'loader');
|
|
5139
5157
|
function useLoader(props) {
|
|
5140
5158
|
let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();
|
|
5141
|
-
const loaderClasses =
|
|
5159
|
+
const loaderClasses = toRef(() => ({
|
|
5142
5160
|
[`${name}--loading`]: props.loading
|
|
5143
5161
|
}));
|
|
5144
5162
|
return {
|
|
@@ -5177,7 +5195,7 @@ const makePositionProps = propsFactory({
|
|
|
5177
5195
|
}, 'position');
|
|
5178
5196
|
function usePosition(props) {
|
|
5179
5197
|
let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();
|
|
5180
|
-
const positionClasses =
|
|
5198
|
+
const positionClasses = toRef(() => {
|
|
5181
5199
|
return props.position ? `${name}--${props.position}` : undefined;
|
|
5182
5200
|
});
|
|
5183
5201
|
return {
|
|
@@ -5198,12 +5216,12 @@ function useRouter() {
|
|
|
5198
5216
|
}
|
|
5199
5217
|
function useLink(props, attrs) {
|
|
5200
5218
|
const RouterLink = resolveDynamicComponent('RouterLink');
|
|
5201
|
-
const isLink =
|
|
5219
|
+
const isLink = toRef(() => !!(props.href || props.to));
|
|
5202
5220
|
const isClickable = computed(() => {
|
|
5203
5221
|
return isLink?.value || hasEvent(attrs, 'click') || hasEvent(props, 'click');
|
|
5204
5222
|
});
|
|
5205
5223
|
if (typeof RouterLink === 'string' || !('useLink' in RouterLink)) {
|
|
5206
|
-
const href = toRef(props
|
|
5224
|
+
const href = toRef(() => props.href);
|
|
5207
5225
|
return {
|
|
5208
5226
|
isLink,
|
|
5209
5227
|
isClickable,
|
|
@@ -5213,12 +5231,12 @@ function useLink(props, attrs) {
|
|
|
5213
5231
|
})
|
|
5214
5232
|
};
|
|
5215
5233
|
}
|
|
5234
|
+
|
|
5216
5235
|
// vue-router useLink `to` prop needs to be reactive and useLink will crash if undefined
|
|
5217
|
-
const
|
|
5218
|
-
|
|
5219
|
-
|
|
5220
|
-
})
|
|
5221
|
-
const routerLink = RouterLink.useLink(linkProps.value);
|
|
5236
|
+
const routerLink = RouterLink.useLink({
|
|
5237
|
+
to: toRef(() => props.to || ''),
|
|
5238
|
+
replace: toRef(() => props.replace)
|
|
5239
|
+
});
|
|
5222
5240
|
// Actual link needs to be undefined when to prop is not used
|
|
5223
5241
|
const link = computed(() => props.to ? routerLink : undefined);
|
|
5224
5242
|
const route = useRoute();
|
|
@@ -5238,7 +5256,7 @@ function useLink(props, attrs) {
|
|
|
5238
5256
|
href,
|
|
5239
5257
|
linkProps: reactive({
|
|
5240
5258
|
href,
|
|
5241
|
-
'aria-current':
|
|
5259
|
+
'aria-current': toRef(() => isActive.value ? 'page' : undefined)
|
|
5242
5260
|
})
|
|
5243
5261
|
};
|
|
5244
5262
|
}
|
|
@@ -5687,7 +5705,7 @@ const VBtn = genericComponent()({
|
|
|
5687
5705
|
}
|
|
5688
5706
|
return group?.isSelected.value;
|
|
5689
5707
|
});
|
|
5690
|
-
const color =
|
|
5708
|
+
const color = toRef(() => isActive.value ? props.activeColor ?? props.color : props.color);
|
|
5691
5709
|
const variantProps = computed(() => {
|
|
5692
5710
|
const showColor = group?.isSelected.value && (!link.isLink.value || link.isActive?.value) || !group || link.isActive?.value;
|
|
5693
5711
|
return {
|
|
@@ -5701,7 +5719,7 @@ const VBtn = genericComponent()({
|
|
|
5701
5719
|
variantClasses
|
|
5702
5720
|
} = useVariant(variantProps);
|
|
5703
5721
|
const isDisabled = computed(() => group?.disabled.value || props.disabled);
|
|
5704
|
-
const isElevated =
|
|
5722
|
+
const isElevated = toRef(() => {
|
|
5705
5723
|
return props.variant === 'elevated' && !(props.disabled || props.flat || props.border);
|
|
5706
5724
|
});
|
|
5707
5725
|
const valueAttr = computed(() => {
|
|
@@ -5904,15 +5922,11 @@ const VAlert = genericComponent()({
|
|
|
5904
5922
|
slots
|
|
5905
5923
|
} = _ref;
|
|
5906
5924
|
const isActive = useProxiedModel(props, 'modelValue');
|
|
5907
|
-
const icon =
|
|
5925
|
+
const icon = toRef(() => {
|
|
5908
5926
|
if (props.icon === false) return undefined;
|
|
5909
5927
|
if (!props.type) return props.icon;
|
|
5910
5928
|
return props.icon ?? `$${props.type}`;
|
|
5911
5929
|
});
|
|
5912
|
-
const variantProps = computed(() => ({
|
|
5913
|
-
color: props.color ?? props.type,
|
|
5914
|
-
variant: props.variant
|
|
5915
|
-
}));
|
|
5916
5930
|
const {
|
|
5917
5931
|
themeClasses
|
|
5918
5932
|
} = provideTheme(props);
|
|
@@ -5920,7 +5934,10 @@ const VAlert = genericComponent()({
|
|
|
5920
5934
|
colorClasses,
|
|
5921
5935
|
colorStyles,
|
|
5922
5936
|
variantClasses
|
|
5923
|
-
} = useVariant(
|
|
5937
|
+
} = useVariant(() => ({
|
|
5938
|
+
color: props.color ?? props.type,
|
|
5939
|
+
variant: props.variant
|
|
5940
|
+
}));
|
|
5924
5941
|
const {
|
|
5925
5942
|
densityClasses
|
|
5926
5943
|
} = useDensity(props);
|
|
@@ -5942,11 +5959,11 @@ const VAlert = genericComponent()({
|
|
|
5942
5959
|
const {
|
|
5943
5960
|
textColorClasses,
|
|
5944
5961
|
textColorStyles
|
|
5945
|
-
} = useTextColor(
|
|
5962
|
+
} = useTextColor(() => props.borderColor);
|
|
5946
5963
|
const {
|
|
5947
5964
|
t
|
|
5948
5965
|
} = useLocale();
|
|
5949
|
-
const closeProps =
|
|
5966
|
+
const closeProps = toRef(() => ({
|
|
5950
5967
|
'aria-label': t(props.closeLabel),
|
|
5951
5968
|
onClick(e) {
|
|
5952
5969
|
isActive.value = false;
|
|
@@ -6183,8 +6200,8 @@ const VSelectionControlGroup = genericComponent()({
|
|
|
6183
6200
|
} = _ref;
|
|
6184
6201
|
const modelValue = useProxiedModel(props, 'modelValue');
|
|
6185
6202
|
const uid = useId();
|
|
6186
|
-
const id =
|
|
6187
|
-
const name =
|
|
6203
|
+
const id = toRef(() => props.id || `v-selection-control-group-${uid}`);
|
|
6204
|
+
const name = toRef(() => props.name || id.value);
|
|
6188
6205
|
const updateHandlers = new Set();
|
|
6189
6206
|
provide(VSelectionControlGroupSymbol, {
|
|
6190
6207
|
modelValue,
|
|
@@ -6200,20 +6217,20 @@ const VSelectionControlGroup = genericComponent()({
|
|
|
6200
6217
|
});
|
|
6201
6218
|
provideDefaults({
|
|
6202
6219
|
[props.defaultsTarget]: {
|
|
6203
|
-
color: toRef(props
|
|
6204
|
-
disabled: toRef(props
|
|
6205
|
-
density: toRef(props
|
|
6206
|
-
error: toRef(props
|
|
6207
|
-
inline: toRef(props
|
|
6220
|
+
color: toRef(() => props.color),
|
|
6221
|
+
disabled: toRef(() => props.disabled),
|
|
6222
|
+
density: toRef(() => props.density),
|
|
6223
|
+
error: toRef(() => props.error),
|
|
6224
|
+
inline: toRef(() => props.inline),
|
|
6208
6225
|
modelValue,
|
|
6209
|
-
multiple:
|
|
6226
|
+
multiple: toRef(() => !!props.multiple || props.multiple == null && Array.isArray(modelValue.value)),
|
|
6210
6227
|
name,
|
|
6211
|
-
falseIcon: toRef(props
|
|
6212
|
-
trueIcon: toRef(props
|
|
6213
|
-
readonly: toRef(props
|
|
6214
|
-
ripple: toRef(props
|
|
6215
|
-
type: toRef(props
|
|
6216
|
-
valueComparator: toRef(props
|
|
6228
|
+
falseIcon: toRef(() => props.falseIcon),
|
|
6229
|
+
trueIcon: toRef(() => props.trueIcon),
|
|
6230
|
+
readonly: toRef(() => props.readonly),
|
|
6231
|
+
ripple: toRef(() => props.ripple),
|
|
6232
|
+
type: toRef(() => props.type),
|
|
6233
|
+
valueComparator: toRef(() => props.valueComparator)
|
|
6217
6234
|
}
|
|
6218
6235
|
});
|
|
6219
6236
|
useRender(() => createVNode("div", {
|
|
@@ -6269,16 +6286,16 @@ function useSelectionControl(props) {
|
|
|
6269
6286
|
const {
|
|
6270
6287
|
textColorClasses,
|
|
6271
6288
|
textColorStyles
|
|
6272
|
-
} = useTextColor(
|
|
6289
|
+
} = useTextColor(() => {
|
|
6273
6290
|
if (props.error || props.disabled) return undefined;
|
|
6274
6291
|
return model.value ? props.color : props.baseColor;
|
|
6275
|
-
})
|
|
6292
|
+
});
|
|
6276
6293
|
const {
|
|
6277
6294
|
backgroundColorClasses,
|
|
6278
6295
|
backgroundColorStyles
|
|
6279
|
-
} = useBackgroundColor(
|
|
6296
|
+
} = useBackgroundColor(() => {
|
|
6280
6297
|
return model.value && !props.error && !props.disabled ? props.color : props.baseColor;
|
|
6281
|
-
})
|
|
6298
|
+
});
|
|
6282
6299
|
const icon = computed(() => model.value ? props.trueIcon : props.falseIcon);
|
|
6283
6300
|
return {
|
|
6284
6301
|
group,
|
|
@@ -6323,8 +6340,8 @@ const VSelectionControl = genericComponent()({
|
|
|
6323
6340
|
const isFocused = shallowRef(false);
|
|
6324
6341
|
const isFocusVisible = shallowRef(false);
|
|
6325
6342
|
const input = ref();
|
|
6326
|
-
const id =
|
|
6327
|
-
const isInteractive =
|
|
6343
|
+
const id = toRef(() => props.id || `input-${uid}`);
|
|
6344
|
+
const isInteractive = toRef(() => !props.disabled && !props.readonly);
|
|
6328
6345
|
group?.onForceUpdate(() => {
|
|
6329
6346
|
if (input.value) {
|
|
6330
6347
|
input.value.checked = model.value;
|
|
@@ -6462,10 +6479,10 @@ const VCheckboxBtn = genericComponent()({
|
|
|
6462
6479
|
indeterminate.value = false;
|
|
6463
6480
|
}
|
|
6464
6481
|
}
|
|
6465
|
-
const falseIcon =
|
|
6482
|
+
const falseIcon = toRef(() => {
|
|
6466
6483
|
return indeterminate.value ? props.indeterminateIcon : props.falseIcon;
|
|
6467
6484
|
});
|
|
6468
|
-
const trueIcon =
|
|
6485
|
+
const trueIcon = toRef(() => {
|
|
6469
6486
|
return indeterminate.value ? props.indeterminateIcon : props.trueIcon;
|
|
6470
6487
|
});
|
|
6471
6488
|
useRender(() => {
|
|
@@ -6553,7 +6570,7 @@ const VMessages = genericComponent()({
|
|
|
6553
6570
|
const {
|
|
6554
6571
|
textColorClasses,
|
|
6555
6572
|
textColorStyles
|
|
6556
|
-
} = useTextColor(
|
|
6573
|
+
} = useTextColor(() => props.color);
|
|
6557
6574
|
useRender(() => createVNode(MaybeTransition, {
|
|
6558
6575
|
"transition": props.transition,
|
|
6559
6576
|
"tag": "div",
|
|
@@ -6583,7 +6600,7 @@ const makeFocusProps = propsFactory({
|
|
|
6583
6600
|
function useFocus(props) {
|
|
6584
6601
|
let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();
|
|
6585
6602
|
const isFocused = useProxiedModel(props, 'focused');
|
|
6586
|
-
const focusClasses =
|
|
6603
|
+
const focusClasses = toRef(() => {
|
|
6587
6604
|
return {
|
|
6588
6605
|
[`${name}--focused`]: isFocused.value
|
|
6589
6606
|
};
|
|
@@ -6622,8 +6639,8 @@ const makeFormProps = propsFactory({
|
|
|
6622
6639
|
}, 'form');
|
|
6623
6640
|
function createForm(props) {
|
|
6624
6641
|
const model = useProxiedModel(props, 'modelValue');
|
|
6625
|
-
const isDisabled =
|
|
6626
|
-
const isReadonly =
|
|
6642
|
+
const isDisabled = toRef(() => props.disabled);
|
|
6643
|
+
const isReadonly = toRef(() => props.readonly);
|
|
6627
6644
|
const isValidating = shallowRef(false);
|
|
6628
6645
|
const items = ref([]);
|
|
6629
6646
|
const errors = ref([]);
|
|
@@ -6713,7 +6730,7 @@ function createForm(props) {
|
|
|
6713
6730
|
isValidating,
|
|
6714
6731
|
isValid: model,
|
|
6715
6732
|
items,
|
|
6716
|
-
validateOn: toRef(props
|
|
6733
|
+
validateOn: toRef(() => props.validateOn)
|
|
6717
6734
|
});
|
|
6718
6735
|
return {
|
|
6719
6736
|
errors,
|
|
@@ -7023,10 +7040,10 @@ const VInput = genericComponent()({
|
|
|
7023
7040
|
resetValidation,
|
|
7024
7041
|
validate
|
|
7025
7042
|
}));
|
|
7026
|
-
const color =
|
|
7043
|
+
const color = toRef(() => {
|
|
7027
7044
|
return props.error || props.disabled ? undefined : props.focused ? props.color : props.baseColor;
|
|
7028
7045
|
});
|
|
7029
|
-
const iconColor =
|
|
7046
|
+
const iconColor = toRef(() => {
|
|
7030
7047
|
if (!props.iconColor) return undefined;
|
|
7031
7048
|
return props.iconColor === true ? color.value : props.iconColor;
|
|
7032
7049
|
});
|
|
@@ -7116,7 +7133,6 @@ const VCheckbox = genericComponent()({
|
|
|
7116
7133
|
blur
|
|
7117
7134
|
} = useFocus(props);
|
|
7118
7135
|
const uid = useId();
|
|
7119
|
-
const id = computed(() => props.id || `checkbox-${uid}`);
|
|
7120
7136
|
useRender(() => {
|
|
7121
7137
|
const [rootAttrs, controlAttrs] = filterInputAttrs(attrs);
|
|
7122
7138
|
const inputProps = VInput.filterProps(props);
|
|
@@ -7126,7 +7142,7 @@ const VCheckbox = genericComponent()({
|
|
|
7126
7142
|
}, rootAttrs, inputProps, {
|
|
7127
7143
|
"modelValue": model.value,
|
|
7128
7144
|
"onUpdate:modelValue": $event => model.value = $event,
|
|
7129
|
-
"id": id
|
|
7145
|
+
"id": props.id || `checkbox-${uid}`,
|
|
7130
7146
|
"focused": isFocused.value,
|
|
7131
7147
|
"style": props.style
|
|
7132
7148
|
}), {
|
|
@@ -7310,7 +7326,7 @@ function useDisplay() {
|
|
|
7310
7326
|
return false;
|
|
7311
7327
|
}
|
|
7312
7328
|
});
|
|
7313
|
-
const displayClasses =
|
|
7329
|
+
const displayClasses = toRef(() => {
|
|
7314
7330
|
if (!name) return {};
|
|
7315
7331
|
return {
|
|
7316
7332
|
[`${name}--mobile`]: mobile.value
|
|
@@ -7425,7 +7441,7 @@ function useGoTo() {
|
|
|
7425
7441
|
const goTo = {
|
|
7426
7442
|
...goToInstance,
|
|
7427
7443
|
// can be set via VLocaleProvider
|
|
7428
|
-
rtl:
|
|
7444
|
+
rtl: toRef(() => goToInstance.rtl.value || isRtl.value)
|
|
7429
7445
|
};
|
|
7430
7446
|
async function go(target, options) {
|
|
7431
7447
|
return scrollTo(target, mergeDeep(_options, options), false, goTo);
|
|
@@ -7917,11 +7933,11 @@ const VChipGroup = genericComponent()({
|
|
|
7917
7933
|
} = useGroup(props, VChipGroupSymbol);
|
|
7918
7934
|
provideDefaults({
|
|
7919
7935
|
VChip: {
|
|
7920
|
-
baseColor: toRef(props
|
|
7921
|
-
color: toRef(props
|
|
7922
|
-
disabled: toRef(props
|
|
7923
|
-
filter: toRef(props
|
|
7924
|
-
variant: toRef(props
|
|
7936
|
+
baseColor: toRef(() => props.baseColor),
|
|
7937
|
+
color: toRef(() => props.color),
|
|
7938
|
+
disabled: toRef(() => props.disabled),
|
|
7939
|
+
filter: toRef(() => props.filter),
|
|
7940
|
+
variant: toRef(() => props.variant)
|
|
7925
7941
|
}
|
|
7926
7942
|
});
|
|
7927
7943
|
useRender(() => {
|
|
@@ -8047,9 +8063,9 @@ const VChip = genericComponent()({
|
|
|
8047
8063
|
const isActive = useProxiedModel(props, 'modelValue');
|
|
8048
8064
|
const group = useGroupItem(props, VChipGroupSymbol, false);
|
|
8049
8065
|
const link = useLink(props, attrs);
|
|
8050
|
-
const isLink =
|
|
8066
|
+
const isLink = toRef(() => props.link !== false && link.isLink.value);
|
|
8051
8067
|
const isClickable = computed(() => !props.disabled && props.link !== false && (!!group || props.link || link.isClickable.value));
|
|
8052
|
-
const closeProps =
|
|
8068
|
+
const closeProps = toRef(() => ({
|
|
8053
8069
|
'aria-label': t(props.closeLabel),
|
|
8054
8070
|
onClick(e) {
|
|
8055
8071
|
e.preventDefault();
|
|
@@ -8058,18 +8074,17 @@ const VChip = genericComponent()({
|
|
|
8058
8074
|
emit('click:close', e);
|
|
8059
8075
|
}
|
|
8060
8076
|
}));
|
|
8061
|
-
const
|
|
8077
|
+
const {
|
|
8078
|
+
colorClasses,
|
|
8079
|
+
colorStyles,
|
|
8080
|
+
variantClasses
|
|
8081
|
+
} = useVariant(() => {
|
|
8062
8082
|
const showColor = !group || group.isSelected.value;
|
|
8063
8083
|
return {
|
|
8064
8084
|
color: showColor ? props.color ?? props.baseColor : props.baseColor,
|
|
8065
8085
|
variant: props.variant
|
|
8066
8086
|
};
|
|
8067
8087
|
});
|
|
8068
|
-
const {
|
|
8069
|
-
colorClasses,
|
|
8070
|
-
colorStyles,
|
|
8071
|
-
variantClasses
|
|
8072
|
-
} = useVariant(variantProps);
|
|
8073
8088
|
function onClick(e) {
|
|
8074
8089
|
emit('click', e);
|
|
8075
8090
|
if (!isClickable.value) return;
|
|
@@ -8736,8 +8751,8 @@ const useNested = props => {
|
|
|
8736
8751
|
id: shallowRef(),
|
|
8737
8752
|
root: {
|
|
8738
8753
|
opened,
|
|
8739
|
-
activatable: toRef(props
|
|
8740
|
-
selectable: toRef(props
|
|
8754
|
+
activatable: toRef(() => props.activatable),
|
|
8755
|
+
selectable: toRef(() => props.selectable),
|
|
8741
8756
|
activated,
|
|
8742
8757
|
selected,
|
|
8743
8758
|
selectedValues: computed(() => {
|
|
@@ -8866,7 +8881,7 @@ const useNested = props => {
|
|
|
8866
8881
|
const useNestedItem = (id, isGroup) => {
|
|
8867
8882
|
const parent = inject$1(VNestedSymbol, emptyNested);
|
|
8868
8883
|
const uidSymbol = Symbol('nested item');
|
|
8869
|
-
const computedId = computed(() => id
|
|
8884
|
+
const computedId = computed(() => toValue(id) ?? uidSymbol);
|
|
8870
8885
|
const item = {
|
|
8871
8886
|
...parent,
|
|
8872
8887
|
id: computedId,
|
|
@@ -8942,7 +8957,7 @@ const VListGroup = genericComponent()({
|
|
|
8942
8957
|
isOpen,
|
|
8943
8958
|
open,
|
|
8944
8959
|
id: _id
|
|
8945
|
-
} = useNestedItem(
|
|
8960
|
+
} = useNestedItem(() => props.value, true);
|
|
8946
8961
|
const id = computed(() => `v-list-group--id-${String(_id.value)}`);
|
|
8947
8962
|
const list = useList();
|
|
8948
8963
|
const {
|
|
@@ -9116,12 +9131,12 @@ const VListItem = genericComponent()({
|
|
|
9116
9131
|
} = useNestedItem(id, false);
|
|
9117
9132
|
const list = useList();
|
|
9118
9133
|
const isActive = computed(() => props.active !== false && (props.active || link.isActive?.value || (root.activatable.value ? isActivated.value : isSelected.value)));
|
|
9119
|
-
const isLink =
|
|
9134
|
+
const isLink = toRef(() => props.link !== false && link.isLink.value);
|
|
9120
9135
|
const isSelectable = computed(() => !!list && (root.selectable.value || root.activatable.value || props.value != null));
|
|
9121
9136
|
const isClickable = computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value || isSelectable.value));
|
|
9122
|
-
const roundedProps =
|
|
9123
|
-
const color =
|
|
9124
|
-
const variantProps =
|
|
9137
|
+
const roundedProps = toRef(() => props.rounded || props.nav);
|
|
9138
|
+
const color = toRef(() => props.color ?? props.activeColor);
|
|
9139
|
+
const variantProps = toRef(() => ({
|
|
9125
9140
|
color: isActive.value ? color.value ?? props.baseColor : props.baseColor,
|
|
9126
9141
|
variant: props.variant
|
|
9127
9142
|
}));
|
|
@@ -9164,7 +9179,7 @@ const VListItem = genericComponent()({
|
|
|
9164
9179
|
const {
|
|
9165
9180
|
roundedClasses
|
|
9166
9181
|
} = useRounded(roundedProps);
|
|
9167
|
-
const lineClasses =
|
|
9182
|
+
const lineClasses = toRef(() => props.lines ? `v-list-item--${props.lines}-line` : undefined);
|
|
9168
9183
|
const slotProps = computed(() => ({
|
|
9169
9184
|
isActive: isActive.value,
|
|
9170
9185
|
select,
|
|
@@ -9334,7 +9349,7 @@ const VListSubheader = genericComponent()({
|
|
|
9334
9349
|
const {
|
|
9335
9350
|
textColorClasses,
|
|
9336
9351
|
textColorStyles
|
|
9337
|
-
} = useTextColor(
|
|
9352
|
+
} = useTextColor(() => props.color);
|
|
9338
9353
|
useRender(() => {
|
|
9339
9354
|
const hasText = !!(slots.default || props.title);
|
|
9340
9355
|
return createVNode(props.tag, {
|
|
@@ -9379,7 +9394,7 @@ const VDivider = genericComponent()({
|
|
|
9379
9394
|
const {
|
|
9380
9395
|
textColorClasses,
|
|
9381
9396
|
textColorStyles
|
|
9382
|
-
} = useTextColor(
|
|
9397
|
+
} = useTextColor(() => props.color);
|
|
9383
9398
|
const dividerStyles = computed(() => {
|
|
9384
9399
|
const styles = {};
|
|
9385
9400
|
if (props.length) {
|
|
@@ -9741,7 +9756,7 @@ const VList = genericComponent()({
|
|
|
9741
9756
|
const {
|
|
9742
9757
|
backgroundColorClasses,
|
|
9743
9758
|
backgroundColorStyles
|
|
9744
|
-
} = useBackgroundColor(
|
|
9759
|
+
} = useBackgroundColor(() => props.bgColor);
|
|
9745
9760
|
const {
|
|
9746
9761
|
borderClasses
|
|
9747
9762
|
} = useBorder(props);
|
|
@@ -9764,30 +9779,30 @@ const VList = genericComponent()({
|
|
|
9764
9779
|
select,
|
|
9765
9780
|
getPath
|
|
9766
9781
|
} = useNested(props);
|
|
9767
|
-
const lineClasses =
|
|
9768
|
-
const activeColor = toRef(props
|
|
9769
|
-
const baseColor = toRef(props
|
|
9770
|
-
const color = toRef(props
|
|
9782
|
+
const lineClasses = toRef(() => props.lines ? `v-list--${props.lines}-line` : undefined);
|
|
9783
|
+
const activeColor = toRef(() => props.activeColor);
|
|
9784
|
+
const baseColor = toRef(() => props.baseColor);
|
|
9785
|
+
const color = toRef(() => props.color);
|
|
9771
9786
|
createList();
|
|
9772
9787
|
provideDefaults({
|
|
9773
9788
|
VListGroup: {
|
|
9774
9789
|
activeColor,
|
|
9775
9790
|
baseColor,
|
|
9776
9791
|
color,
|
|
9777
|
-
expandIcon: toRef(props
|
|
9778
|
-
collapseIcon: toRef(props
|
|
9792
|
+
expandIcon: toRef(() => props.expandIcon),
|
|
9793
|
+
collapseIcon: toRef(() => props.collapseIcon)
|
|
9779
9794
|
},
|
|
9780
9795
|
VListItem: {
|
|
9781
|
-
activeClass: toRef(props
|
|
9796
|
+
activeClass: toRef(() => props.activeClass),
|
|
9782
9797
|
activeColor,
|
|
9783
9798
|
baseColor,
|
|
9784
9799
|
color,
|
|
9785
|
-
density: toRef(props
|
|
9786
|
-
disabled: toRef(props
|
|
9787
|
-
lines: toRef(props
|
|
9788
|
-
nav: toRef(props
|
|
9789
|
-
slim: toRef(props
|
|
9790
|
-
variant: toRef(props
|
|
9800
|
+
density: toRef(() => props.density),
|
|
9801
|
+
disabled: toRef(() => props.disabled),
|
|
9802
|
+
lines: toRef(() => props.lines),
|
|
9803
|
+
nav: toRef(() => props.nav),
|
|
9804
|
+
slim: toRef(() => props.slim),
|
|
9805
|
+
variant: toRef(() => props.variant)
|
|
9791
9806
|
}
|
|
9792
9807
|
});
|
|
9793
9808
|
const isFocused = shallowRef(false);
|
|
@@ -10099,8 +10114,27 @@ function connectedLocationStrategy(data, props, contentStyles) {
|
|
|
10099
10114
|
return typeof props.offset === 'number' ? [props.offset, 0] : [0, 0];
|
|
10100
10115
|
});
|
|
10101
10116
|
let observe = false;
|
|
10117
|
+
let lastFrame = -1;
|
|
10118
|
+
const flipped = new CircularBuffer(4);
|
|
10102
10119
|
const observer = new ResizeObserver(() => {
|
|
10103
|
-
if (observe)
|
|
10120
|
+
if (!observe) return;
|
|
10121
|
+
|
|
10122
|
+
// Detect consecutive frames
|
|
10123
|
+
requestAnimationFrame(newTime => {
|
|
10124
|
+
if (newTime !== lastFrame) flipped.clear();
|
|
10125
|
+
requestAnimationFrame(newNewTime => {
|
|
10126
|
+
lastFrame = newNewTime;
|
|
10127
|
+
});
|
|
10128
|
+
});
|
|
10129
|
+
if (flipped.isFull) {
|
|
10130
|
+
const values = flipped.values();
|
|
10131
|
+
if (deepEqual(values.at(-1), values.at(-3))) {
|
|
10132
|
+
// Flipping is causing a container resize loop
|
|
10133
|
+
return;
|
|
10134
|
+
}
|
|
10135
|
+
}
|
|
10136
|
+
const result = updateLocation();
|
|
10137
|
+
if (result) flipped.push(result.flipped);
|
|
10104
10138
|
});
|
|
10105
10139
|
watch([data.target, data.contentEl], (_ref, _ref2) => {
|
|
10106
10140
|
let [newTarget, newContentEl] = _ref;
|
|
@@ -10115,13 +10149,22 @@ function connectedLocationStrategy(data, props, contentStyles) {
|
|
|
10115
10149
|
onScopeDispose(() => {
|
|
10116
10150
|
observer.disconnect();
|
|
10117
10151
|
});
|
|
10152
|
+
let targetBox = new Box({
|
|
10153
|
+
x: 0,
|
|
10154
|
+
y: 0,
|
|
10155
|
+
width: 0,
|
|
10156
|
+
height: 0
|
|
10157
|
+
});
|
|
10118
10158
|
|
|
10119
10159
|
// eslint-disable-next-line max-statements
|
|
10120
10160
|
function updateLocation() {
|
|
10121
10161
|
observe = false;
|
|
10122
10162
|
requestAnimationFrame(() => observe = true);
|
|
10123
10163
|
if (!data.target.value || !data.contentEl.value) return;
|
|
10124
|
-
|
|
10164
|
+
if (Array.isArray(data.target.value) || data.target.value.offsetParent) {
|
|
10165
|
+
targetBox = getTargetBox(data.target.value);
|
|
10166
|
+
} // Otherwise target element is hidden, use last known value
|
|
10167
|
+
|
|
10125
10168
|
const contentBox = getIntrinsicSize(data.contentEl.value, data.isRtl.value);
|
|
10126
10169
|
const scrollParents = getScrollParents(data.contentEl.value);
|
|
10127
10170
|
const viewportMargin = 12;
|
|
@@ -10306,7 +10349,8 @@ function connectedLocationStrategy(data, props, contentStyles) {
|
|
|
10306
10349
|
});
|
|
10307
10350
|
return {
|
|
10308
10351
|
available,
|
|
10309
|
-
contentBox
|
|
10352
|
+
contentBox,
|
|
10353
|
+
flipped
|
|
10310
10354
|
};
|
|
10311
10355
|
}
|
|
10312
10356
|
watch(() => [preferredAnchor.value, preferredOrigin.value, props.offset, props.minWidth, props.minHeight, props.maxWidth, props.maxHeight], () => updateLocation());
|
|
@@ -10831,7 +10875,7 @@ const makeLazyProps = propsFactory({
|
|
|
10831
10875
|
}, 'lazy');
|
|
10832
10876
|
function useLazy(props, active) {
|
|
10833
10877
|
const isBooted = shallowRef(false);
|
|
10834
|
-
const hasContent =
|
|
10878
|
+
const hasContent = toRef(() => isBooted.value || props.eager || active.value);
|
|
10835
10879
|
watch(active, () => isBooted.value = true);
|
|
10836
10880
|
function onAfterLeave() {
|
|
10837
10881
|
if (!props.eager) isBooted.value = false;
|
|
@@ -10868,10 +10912,10 @@ function useStack(isActive, zIndex, disableGlobalStack) {
|
|
|
10868
10912
|
activeChildren: new Set()
|
|
10869
10913
|
});
|
|
10870
10914
|
provide(StackSymbol, stack);
|
|
10871
|
-
const _zIndex = shallowRef(Number(zIndex
|
|
10915
|
+
const _zIndex = shallowRef(Number(toValue(zIndex)));
|
|
10872
10916
|
useToggleScope(isActive, () => {
|
|
10873
10917
|
const lastZIndex = globalStack.at(-1)?.[1];
|
|
10874
|
-
_zIndex.value = lastZIndex ? lastZIndex + 10 : Number(zIndex
|
|
10918
|
+
_zIndex.value = lastZIndex ? lastZIndex + 10 : Number(toValue(zIndex));
|
|
10875
10919
|
if (createStackEntry) {
|
|
10876
10920
|
globalStack.push([vm.uid, _zIndex.value]);
|
|
10877
10921
|
}
|
|
@@ -10891,11 +10935,11 @@ function useStack(isActive, zIndex, disableGlobalStack) {
|
|
|
10891
10935
|
setTimeout(() => globalTop.value = _isTop);
|
|
10892
10936
|
});
|
|
10893
10937
|
}
|
|
10894
|
-
const localTop =
|
|
10938
|
+
const localTop = toRef(() => !stack.activeChildren.size);
|
|
10895
10939
|
return {
|
|
10896
10940
|
globalTop: readonly(globalTop),
|
|
10897
10941
|
localTop,
|
|
10898
|
-
stackStyles:
|
|
10942
|
+
stackStyles: toRef(() => ({
|
|
10899
10943
|
zIndex: _zIndex.value
|
|
10900
10944
|
}))
|
|
10901
10945
|
};
|
|
@@ -11112,14 +11156,14 @@ const VOverlay = genericComponent()({
|
|
|
11112
11156
|
hasContent,
|
|
11113
11157
|
onAfterLeave: _onAfterLeave
|
|
11114
11158
|
} = useLazy(props, isActive);
|
|
11115
|
-
const scrimColor = useBackgroundColor(
|
|
11159
|
+
const scrimColor = useBackgroundColor(() => {
|
|
11116
11160
|
return typeof props.scrim === 'string' ? props.scrim : null;
|
|
11117
|
-
})
|
|
11161
|
+
});
|
|
11118
11162
|
const {
|
|
11119
11163
|
globalTop,
|
|
11120
11164
|
localTop,
|
|
11121
11165
|
stackStyles
|
|
11122
|
-
} = useStack(isActive,
|
|
11166
|
+
} = useStack(isActive, () => props.zIndex, props._disableGlobalStack);
|
|
11123
11167
|
const {
|
|
11124
11168
|
activatorEl,
|
|
11125
11169
|
activatorRef,
|
|
@@ -11445,7 +11489,7 @@ const VMenu = genericComponent()({
|
|
|
11445
11489
|
isRtl
|
|
11446
11490
|
} = useRtl();
|
|
11447
11491
|
const uid = useId();
|
|
11448
|
-
const id =
|
|
11492
|
+
const id = toRef(() => props.id || `v-menu-${uid}`);
|
|
11449
11493
|
const overlay = ref();
|
|
11450
11494
|
const parent = inject$1(VMenuSymbol, null);
|
|
11451
11495
|
const openChildren = shallowRef(new Set());
|
|
@@ -11613,7 +11657,7 @@ const VCounter = genericComponent()({
|
|
|
11613
11657
|
let {
|
|
11614
11658
|
slots
|
|
11615
11659
|
} = _ref;
|
|
11616
|
-
const counter =
|
|
11660
|
+
const counter = toRef(() => {
|
|
11617
11661
|
return props.max ? `${props.value} / ${props.max}` : String(props.value);
|
|
11618
11662
|
});
|
|
11619
11663
|
useRender(() => createVNode(MaybeTransition, {
|
|
@@ -11740,12 +11784,12 @@ const VField = genericComponent()({
|
|
|
11740
11784
|
const {
|
|
11741
11785
|
rtlClasses
|
|
11742
11786
|
} = useRtl();
|
|
11743
|
-
const isActive =
|
|
11744
|
-
const hasLabel =
|
|
11745
|
-
const hasFloatingLabel =
|
|
11787
|
+
const isActive = toRef(() => props.dirty || props.active);
|
|
11788
|
+
const hasLabel = toRef(() => !!(props.label || slots.label));
|
|
11789
|
+
const hasFloatingLabel = toRef(() => !props.singleLine && hasLabel.value);
|
|
11746
11790
|
const uid = useId();
|
|
11747
11791
|
const id = computed(() => props.id || `input-${uid}`);
|
|
11748
|
-
const messagesId =
|
|
11792
|
+
const messagesId = toRef(() => `${id.value}-messages`);
|
|
11749
11793
|
const labelRef = ref();
|
|
11750
11794
|
const floatingLabelRef = ref();
|
|
11751
11795
|
const controlRef = ref();
|
|
@@ -11760,7 +11804,7 @@ const VField = genericComponent()({
|
|
|
11760
11804
|
const {
|
|
11761
11805
|
backgroundColorClasses,
|
|
11762
11806
|
backgroundColorStyles
|
|
11763
|
-
} = useBackgroundColor(
|
|
11807
|
+
} = useBackgroundColor(() => props.bgColor);
|
|
11764
11808
|
const {
|
|
11765
11809
|
textColorClasses,
|
|
11766
11810
|
textColorStyles
|
|
@@ -12487,7 +12531,7 @@ const VVirtualScroll = genericComponent()({
|
|
|
12487
12531
|
paddingTop,
|
|
12488
12532
|
paddingBottom,
|
|
12489
12533
|
computedItems
|
|
12490
|
-
} = useVirtual(props, toRef(props
|
|
12534
|
+
} = useVirtual(props, toRef(() => props.items));
|
|
12491
12535
|
useToggleScope(() => props.renderless, () => {
|
|
12492
12536
|
function handleListeners() {
|
|
12493
12537
|
let add = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
@@ -12724,7 +12768,7 @@ const VSelect = genericComponent()({
|
|
|
12724
12768
|
_menu.value = v;
|
|
12725
12769
|
}
|
|
12726
12770
|
});
|
|
12727
|
-
const label =
|
|
12771
|
+
const label = toRef(() => menu.value ? props.closeText : props.openText);
|
|
12728
12772
|
const computedMenuProps = computed(() => {
|
|
12729
12773
|
return {
|
|
12730
12774
|
...props.menuProps,
|
|
@@ -12909,6 +12953,7 @@ const VSelect = genericComponent()({
|
|
|
12909
12953
|
"onFocusin": onFocusin,
|
|
12910
12954
|
"tabindex": "-1",
|
|
12911
12955
|
"aria-live": "polite",
|
|
12956
|
+
"aria-label": `${props.label}-list`,
|
|
12912
12957
|
"color": props.itemColor ?? props.color
|
|
12913
12958
|
}, listEvents, props.listProps), {
|
|
12914
12959
|
default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? createVNode(VListItem, {
|
|
@@ -13050,6 +13095,7 @@ const VSelect = genericComponent()({
|
|
|
13050
13095
|
// Composables
|
|
13051
13096
|
const defaultFilter = (value, query, item) => {
|
|
13052
13097
|
if (value == null || query == null) return -1;
|
|
13098
|
+
if (!query.length) return 0;
|
|
13053
13099
|
value = value.toString().toLocaleLowerCase();
|
|
13054
13100
|
query = query.toString().toLocaleLowerCase();
|
|
13055
13101
|
const result = [];
|
|
@@ -13062,7 +13108,7 @@ const defaultFilter = (value, query, item) => {
|
|
|
13062
13108
|
};
|
|
13063
13109
|
function normaliseMatch(match, query) {
|
|
13064
13110
|
if (match == null || typeof match === 'boolean' || match === -1) return;
|
|
13065
|
-
if (typeof match === 'number') return [[match, query.length]];
|
|
13111
|
+
if (typeof match === 'number') return [[match, match + query.length]];
|
|
13066
13112
|
if (Array.isArray(match[0])) return match;
|
|
13067
13113
|
return [match];
|
|
13068
13114
|
}
|
|
@@ -13225,7 +13271,6 @@ const VAutocomplete = genericComponent()({
|
|
|
13225
13271
|
const vMenuRef = ref();
|
|
13226
13272
|
const vVirtualScrollRef = ref();
|
|
13227
13273
|
const selectionIndex = shallowRef(-1);
|
|
13228
|
-
const color = computed(() => vTextFieldRef.value?.color);
|
|
13229
13274
|
const {
|
|
13230
13275
|
items,
|
|
13231
13276
|
transformIn,
|
|
@@ -13234,7 +13279,7 @@ const VAutocomplete = genericComponent()({
|
|
|
13234
13279
|
const {
|
|
13235
13280
|
textColorClasses,
|
|
13236
13281
|
textColorStyles
|
|
13237
|
-
} = useTextColor(color);
|
|
13282
|
+
} = useTextColor(() => vTextFieldRef.value?.color);
|
|
13238
13283
|
const search = useProxiedModel(props, 'search', '');
|
|
13239
13284
|
const model = useProxiedModel(props, 'modelValue', [], v => transformIn(v === null ? [null] : wrapInArray(v)), v => {
|
|
13240
13285
|
const transformed = transformOut(v);
|
|
@@ -13683,7 +13728,7 @@ const VBadge = genericComponent()({
|
|
|
13683
13728
|
const {
|
|
13684
13729
|
backgroundColorClasses,
|
|
13685
13730
|
backgroundColorStyles
|
|
13686
|
-
} = useBackgroundColor(
|
|
13731
|
+
} = useBackgroundColor(() => props.color);
|
|
13687
13732
|
const {
|
|
13688
13733
|
roundedClasses
|
|
13689
13734
|
} = useRounded(props);
|
|
@@ -13693,7 +13738,7 @@ const VBadge = genericComponent()({
|
|
|
13693
13738
|
const {
|
|
13694
13739
|
textColorClasses,
|
|
13695
13740
|
textColorStyles
|
|
13696
|
-
} = useTextColor(
|
|
13741
|
+
} = useTextColor(() => props.textColor);
|
|
13697
13742
|
const {
|
|
13698
13743
|
themeClasses
|
|
13699
13744
|
} = useTheme();
|
|
@@ -13805,7 +13850,7 @@ const VBanner = genericComponent()({
|
|
|
13805
13850
|
const {
|
|
13806
13851
|
backgroundColorClasses,
|
|
13807
13852
|
backgroundColorStyles
|
|
13808
|
-
} = useBackgroundColor(props
|
|
13853
|
+
} = useBackgroundColor(() => props.bgColor);
|
|
13809
13854
|
const {
|
|
13810
13855
|
borderClasses
|
|
13811
13856
|
} = useBorder(props);
|
|
@@ -13834,8 +13879,8 @@ const VBanner = genericComponent()({
|
|
|
13834
13879
|
const {
|
|
13835
13880
|
themeClasses
|
|
13836
13881
|
} = provideTheme(props);
|
|
13837
|
-
const color = toRef(props
|
|
13838
|
-
const density = toRef(props
|
|
13882
|
+
const color = toRef(() => props.color);
|
|
13883
|
+
const density = toRef(() => props.density);
|
|
13839
13884
|
provideDefaults({
|
|
13840
13885
|
VBannerActions: {
|
|
13841
13886
|
color,
|
|
@@ -13944,7 +13989,7 @@ const VBottomNavigation = genericComponent()({
|
|
|
13944
13989
|
const {
|
|
13945
13990
|
backgroundColorClasses,
|
|
13946
13991
|
backgroundColorStyles
|
|
13947
|
-
} = useBackgroundColor(
|
|
13992
|
+
} = useBackgroundColor(() => props.bgColor);
|
|
13948
13993
|
const {
|
|
13949
13994
|
densityClasses
|
|
13950
13995
|
} = useDensity(props);
|
|
@@ -13964,19 +14009,19 @@ const VBottomNavigation = genericComponent()({
|
|
|
13964
14009
|
} = useLayoutItem({
|
|
13965
14010
|
id: props.name,
|
|
13966
14011
|
order: computed(() => parseInt(props.order, 10)),
|
|
13967
|
-
position:
|
|
13968
|
-
layoutSize:
|
|
14012
|
+
position: toRef(() => 'bottom'),
|
|
14013
|
+
layoutSize: toRef(() => isActive.value ? height.value : 0),
|
|
13969
14014
|
elementSize: height,
|
|
13970
14015
|
active: isActive,
|
|
13971
|
-
absolute: toRef(props
|
|
14016
|
+
absolute: toRef(() => props.absolute)
|
|
13972
14017
|
});
|
|
13973
14018
|
useGroup(props, VBtnToggleSymbol);
|
|
13974
14019
|
provideDefaults({
|
|
13975
14020
|
VBtn: {
|
|
13976
|
-
baseColor: toRef(props
|
|
13977
|
-
color: toRef(props
|
|
13978
|
-
density: toRef(props
|
|
13979
|
-
stacked:
|
|
14021
|
+
baseColor: toRef(() => props.baseColor),
|
|
14022
|
+
color: toRef(() => props.color),
|
|
14023
|
+
density: toRef(() => props.density),
|
|
14024
|
+
stacked: toRef(() => props.mode !== 'horizontal'),
|
|
13980
14025
|
variant: 'text'
|
|
13981
14026
|
}
|
|
13982
14027
|
}, {
|
|
@@ -14212,11 +14257,10 @@ const VBreadcrumbsItem = genericComponent()({
|
|
|
14212
14257
|
} = _ref;
|
|
14213
14258
|
const link = useLink(props, attrs);
|
|
14214
14259
|
const isActive = computed(() => props.active || link.isActive?.value);
|
|
14215
|
-
const color = computed(() => isActive.value ? props.activeColor : props.color);
|
|
14216
14260
|
const {
|
|
14217
14261
|
textColorClasses,
|
|
14218
14262
|
textColorStyles
|
|
14219
|
-
} = useTextColor(color);
|
|
14263
|
+
} = useTextColor(() => isActive.value ? props.activeColor : props.color);
|
|
14220
14264
|
useRender(() => {
|
|
14221
14265
|
return createVNode(props.tag, {
|
|
14222
14266
|
"class": ['v-breadcrumbs-item', {
|
|
@@ -14271,7 +14315,7 @@ const VBreadcrumbs = genericComponent()({
|
|
|
14271
14315
|
const {
|
|
14272
14316
|
backgroundColorClasses,
|
|
14273
14317
|
backgroundColorStyles
|
|
14274
|
-
} = useBackgroundColor(
|
|
14318
|
+
} = useBackgroundColor(() => props.bgColor);
|
|
14275
14319
|
const {
|
|
14276
14320
|
densityClasses
|
|
14277
14321
|
} = useDensity(props);
|
|
@@ -14280,13 +14324,13 @@ const VBreadcrumbs = genericComponent()({
|
|
|
14280
14324
|
} = useRounded(props);
|
|
14281
14325
|
provideDefaults({
|
|
14282
14326
|
VBreadcrumbsDivider: {
|
|
14283
|
-
divider: toRef(props
|
|
14327
|
+
divider: toRef(() => props.divider)
|
|
14284
14328
|
},
|
|
14285
14329
|
VBreadcrumbsItem: {
|
|
14286
|
-
activeClass: toRef(props
|
|
14287
|
-
activeColor: toRef(props
|
|
14288
|
-
color: toRef(props
|
|
14289
|
-
disabled: toRef(props
|
|
14330
|
+
activeClass: toRef(() => props.activeClass),
|
|
14331
|
+
activeColor: toRef(() => props.activeColor),
|
|
14332
|
+
color: toRef(() => props.color),
|
|
14333
|
+
disabled: toRef(() => props.disabled)
|
|
14290
14334
|
}
|
|
14291
14335
|
});
|
|
14292
14336
|
const items = computed(() => props.items.map(item => {
|
|
@@ -14609,10 +14653,10 @@ const VCard = genericComponent()({
|
|
|
14609
14653
|
roundedClasses
|
|
14610
14654
|
} = useRounded(props);
|
|
14611
14655
|
const link = useLink(props, attrs);
|
|
14612
|
-
const isLink = computed(() => props.link !== false && link.isLink.value);
|
|
14613
|
-
const isClickable = computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value));
|
|
14614
14656
|
useRender(() => {
|
|
14615
|
-
const
|
|
14657
|
+
const isLink = props.link !== false && link.isLink.value;
|
|
14658
|
+
const isClickable = !props.disabled && props.link !== false && (props.link || link.isClickable.value);
|
|
14659
|
+
const Tag = isLink ? 'a' : props.tag;
|
|
14616
14660
|
const hasTitle = !!(slots.title || props.title != null);
|
|
14617
14661
|
const hasSubtitle = !!(slots.subtitle || props.subtitle != null);
|
|
14618
14662
|
const hasHeader = hasTitle || hasSubtitle;
|
|
@@ -14626,10 +14670,10 @@ const VCard = genericComponent()({
|
|
|
14626
14670
|
'v-card--disabled': props.disabled,
|
|
14627
14671
|
'v-card--flat': props.flat,
|
|
14628
14672
|
'v-card--hover': props.hover && !(props.disabled || props.flat),
|
|
14629
|
-
'v-card--link': isClickable
|
|
14673
|
+
'v-card--link': isClickable
|
|
14630
14674
|
}, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class],
|
|
14631
14675
|
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value, props.style],
|
|
14632
|
-
"onClick": isClickable
|
|
14676
|
+
"onClick": isClickable && link.navigate,
|
|
14633
14677
|
"tabindex": props.disabled ? -1 : undefined
|
|
14634
14678
|
}, link.linkProps), {
|
|
14635
14679
|
default: () => [hasImage && createVNode("div", {
|
|
@@ -14674,8 +14718,8 @@ const VCard = genericComponent()({
|
|
|
14674
14718
|
default: () => [slots.text?.() ?? props.text]
|
|
14675
14719
|
}), slots.default?.(), slots.actions && createVNode(VCardActions, null, {
|
|
14676
14720
|
default: slots.actions
|
|
14677
|
-
}), genOverlays(isClickable
|
|
14678
|
-
}), [[resolveDirective("ripple"), isClickable
|
|
14721
|
+
}), genOverlays(isClickable, 'v-card')]
|
|
14722
|
+
}), [[resolveDirective("ripple"), isClickable && props.ripple]]);
|
|
14679
14723
|
});
|
|
14680
14724
|
return {};
|
|
14681
14725
|
}
|
|
@@ -14888,8 +14932,8 @@ const VWindow = genericComponent()({
|
|
|
14888
14932
|
transitionHeight,
|
|
14889
14933
|
rootRef
|
|
14890
14934
|
});
|
|
14891
|
-
const canMoveBack =
|
|
14892
|
-
const canMoveForward =
|
|
14935
|
+
const canMoveBack = toRef(() => props.continuous || activeIndex.value !== 0);
|
|
14936
|
+
const canMoveForward = toRef(() => props.continuous || activeIndex.value !== group.items.value.length - 1);
|
|
14893
14937
|
function prev() {
|
|
14894
14938
|
canMoveBack.value && group.prev();
|
|
14895
14939
|
}
|
|
@@ -15791,7 +15835,7 @@ const useSlider = _ref => {
|
|
|
15791
15835
|
const {
|
|
15792
15836
|
isRtl
|
|
15793
15837
|
} = useRtl();
|
|
15794
|
-
const isReversed = toRef(props
|
|
15838
|
+
const isReversed = toRef(() => props.reverse);
|
|
15795
15839
|
const vertical = computed(() => props.direction === 'vertical');
|
|
15796
15840
|
const indexFromEnd = computed(() => vertical.value !== isReversed.value);
|
|
15797
15841
|
const {
|
|
@@ -15805,7 +15849,7 @@ const useSlider = _ref => {
|
|
|
15805
15849
|
const tickSize = computed(() => parseInt(props.tickSize, 10));
|
|
15806
15850
|
const trackSize = computed(() => parseInt(props.trackSize, 10));
|
|
15807
15851
|
const numTicks = computed(() => (max.value - min.value) / step.value);
|
|
15808
|
-
const disabled = toRef(props
|
|
15852
|
+
const disabled = toRef(() => props.disabled);
|
|
15809
15853
|
const thumbColor = computed(() => props.error || props.disabled ? undefined : props.thumbColor ?? props.color);
|
|
15810
15854
|
const trackColor = computed(() => props.error || props.disabled ? undefined : props.trackColor ?? props.color);
|
|
15811
15855
|
const trackFillColor = computed(() => props.error || props.disabled ? undefined : props.trackFillColor ?? props.color);
|
|
@@ -15907,7 +15951,7 @@ const useSlider = _ref => {
|
|
|
15907
15951
|
const percentage = (val - min.value) / (max.value - min.value) * 100;
|
|
15908
15952
|
return clamp(isNaN(percentage) ? 0 : percentage, 0, 100);
|
|
15909
15953
|
};
|
|
15910
|
-
const showTicks = toRef(props
|
|
15954
|
+
const showTicks = toRef(() => props.showTicks);
|
|
15911
15955
|
const parsedTicks = computed(() => {
|
|
15912
15956
|
if (!showTicks.value) return [];
|
|
15913
15957
|
if (!props.ticks) {
|
|
@@ -15938,11 +15982,11 @@ const useSlider = _ref => {
|
|
|
15938
15982
|
}));
|
|
15939
15983
|
const data = {
|
|
15940
15984
|
activeThumbRef,
|
|
15941
|
-
color: toRef(props
|
|
15985
|
+
color: toRef(() => props.color),
|
|
15942
15986
|
decimals,
|
|
15943
15987
|
disabled,
|
|
15944
|
-
direction: toRef(props
|
|
15945
|
-
elevation: toRef(props
|
|
15988
|
+
direction: toRef(() => props.direction),
|
|
15989
|
+
elevation: toRef(() => props.elevation),
|
|
15946
15990
|
hasLabels,
|
|
15947
15991
|
isReversed,
|
|
15948
15992
|
indexFromEnd,
|
|
@@ -15955,16 +15999,16 @@ const useSlider = _ref => {
|
|
|
15955
15999
|
parsedTicks,
|
|
15956
16000
|
parseMouseMove,
|
|
15957
16001
|
position,
|
|
15958
|
-
readonly: toRef(props
|
|
15959
|
-
rounded: toRef(props
|
|
16002
|
+
readonly: toRef(() => props.readonly),
|
|
16003
|
+
rounded: toRef(() => props.rounded),
|
|
15960
16004
|
roundValue,
|
|
15961
16005
|
showTicks,
|
|
15962
16006
|
startOffset,
|
|
15963
16007
|
step,
|
|
15964
16008
|
thumbSize,
|
|
15965
16009
|
thumbColor,
|
|
15966
|
-
thumbLabel: toRef(props
|
|
15967
|
-
ticks: toRef(props
|
|
16010
|
+
thumbLabel: toRef(() => props.thumbLabel),
|
|
16011
|
+
ticks: toRef(() => props.ticks),
|
|
15968
16012
|
tickSize,
|
|
15969
16013
|
trackColor,
|
|
15970
16014
|
trackContainerRef,
|
|
@@ -16883,7 +16927,7 @@ const VSheet = genericComponent()({
|
|
|
16883
16927
|
const {
|
|
16884
16928
|
backgroundColorClasses,
|
|
16885
16929
|
backgroundColorStyles
|
|
16886
|
-
} = useBackgroundColor(
|
|
16930
|
+
} = useBackgroundColor(() => props.color);
|
|
16887
16931
|
const {
|
|
16888
16932
|
borderClasses
|
|
16889
16933
|
} = useBorder(props);
|
|
@@ -16930,7 +16974,7 @@ const VPicker = genericComponent()({
|
|
|
16930
16974
|
const {
|
|
16931
16975
|
backgroundColorClasses,
|
|
16932
16976
|
backgroundColorStyles
|
|
16933
|
-
} = useBackgroundColor(
|
|
16977
|
+
} = useBackgroundColor(() => props.color);
|
|
16934
16978
|
useRender(() => {
|
|
16935
16979
|
const sheetProps = VSheet.filterProps(props);
|
|
16936
16980
|
const hasTitle = !!(props.title || slots.title);
|
|
@@ -16977,165 +17021,81 @@ const VPicker = genericComponent()({
|
|
|
16977
17021
|
|
|
16978
17022
|
// Types
|
|
16979
17023
|
|
|
16980
|
-
|
|
16981
|
-
|
|
16982
|
-
|
|
16983
|
-
|
|
16984
|
-
|
|
16985
|
-
|
|
16986
|
-
|
|
16987
|
-
|
|
16988
|
-
|
|
16989
|
-
|
|
16990
|
-
|
|
16991
|
-
|
|
16992
|
-
|
|
16993
|
-
|
|
16994
|
-
|
|
16995
|
-
|
|
16996
|
-
|
|
16997
|
-
|
|
16998
|
-
|
|
16999
|
-
|
|
17000
|
-
|
|
17001
|
-
|
|
17002
|
-
|
|
17003
|
-
|
|
17004
|
-
|
|
17005
|
-
|
|
17006
|
-
|
|
17007
|
-
|
|
17008
|
-
|
|
17009
|
-
|
|
17010
|
-
|
|
17011
|
-
|
|
17012
|
-
|
|
17013
|
-
|
|
17014
|
-
|
|
17015
|
-
|
|
17016
|
-
|
|
17017
|
-
|
|
17018
|
-
|
|
17019
|
-
|
|
17020
|
-
|
|
17021
|
-
|
|
17022
|
-
|
|
17023
|
-
|
|
17024
|
-
|
|
17025
|
-
|
|
17026
|
-
|
|
17027
|
-
|
|
17028
|
-
|
|
17029
|
-
|
|
17030
|
-
|
|
17031
|
-
|
|
17032
|
-
|
|
17033
|
-
|
|
17034
|
-
|
|
17035
|
-
|
|
17036
|
-
|
|
17037
|
-
|
|
17038
|
-
|
|
17039
|
-
|
|
17040
|
-
|
|
17041
|
-
|
|
17042
|
-
|
|
17043
|
-
|
|
17044
|
-
|
|
17045
|
-
|
|
17046
|
-
|
|
17047
|
-
|
|
17048
|
-
|
|
17049
|
-
IQ: 6,
|
|
17050
|
-
IR: 6,
|
|
17051
|
-
IS: 1,
|
|
17052
|
-
IT: 1,
|
|
17053
|
-
JM: 0,
|
|
17054
|
-
JO: 6,
|
|
17055
|
-
JP: 0,
|
|
17056
|
-
KE: 0,
|
|
17057
|
-
KG: 1,
|
|
17058
|
-
KH: 0,
|
|
17059
|
-
KR: 0,
|
|
17060
|
-
KW: 6,
|
|
17061
|
-
KZ: 1,
|
|
17062
|
-
LA: 0,
|
|
17063
|
-
LB: 1,
|
|
17064
|
-
LI: 1,
|
|
17065
|
-
LK: 1,
|
|
17066
|
-
LT: 1,
|
|
17067
|
-
LU: 1,
|
|
17068
|
-
LV: 1,
|
|
17069
|
-
LY: 6,
|
|
17070
|
-
MC: 1,
|
|
17071
|
-
MD: 1,
|
|
17072
|
-
ME: 1,
|
|
17073
|
-
MH: 0,
|
|
17074
|
-
MK: 1,
|
|
17075
|
-
MM: 0,
|
|
17076
|
-
MN: 1,
|
|
17077
|
-
MO: 0,
|
|
17078
|
-
MQ: 1,
|
|
17079
|
-
MT: 0,
|
|
17080
|
-
MV: 5,
|
|
17081
|
-
MX: 0,
|
|
17082
|
-
MY: 1,
|
|
17083
|
-
MZ: 0,
|
|
17084
|
-
NI: 0,
|
|
17085
|
-
NL: 1,
|
|
17086
|
-
NO: 1,
|
|
17087
|
-
NP: 0,
|
|
17088
|
-
NZ: 1,
|
|
17089
|
-
OM: 6,
|
|
17090
|
-
PA: 0,
|
|
17091
|
-
PE: 0,
|
|
17092
|
-
PH: 0,
|
|
17093
|
-
PK: 0,
|
|
17094
|
-
PL: 1,
|
|
17095
|
-
PR: 0,
|
|
17096
|
-
PT: 0,
|
|
17097
|
-
PY: 0,
|
|
17098
|
-
QA: 6,
|
|
17099
|
-
RE: 1,
|
|
17100
|
-
RO: 1,
|
|
17101
|
-
RS: 1,
|
|
17102
|
-
RU: 1,
|
|
17103
|
-
SA: 0,
|
|
17104
|
-
SD: 6,
|
|
17105
|
-
SE: 1,
|
|
17106
|
-
SG: 0,
|
|
17107
|
-
SI: 1,
|
|
17108
|
-
SK: 1,
|
|
17109
|
-
SM: 1,
|
|
17110
|
-
SV: 0,
|
|
17111
|
-
SY: 6,
|
|
17112
|
-
TH: 0,
|
|
17113
|
-
TJ: 1,
|
|
17114
|
-
TM: 1,
|
|
17115
|
-
TR: 1,
|
|
17116
|
-
TT: 0,
|
|
17117
|
-
TW: 0,
|
|
17118
|
-
UA: 1,
|
|
17119
|
-
UM: 0,
|
|
17120
|
-
US: 0,
|
|
17121
|
-
UY: 1,
|
|
17122
|
-
UZ: 1,
|
|
17123
|
-
VA: 1,
|
|
17124
|
-
VE: 0,
|
|
17125
|
-
VI: 0,
|
|
17126
|
-
VN: 1,
|
|
17127
|
-
WS: 0,
|
|
17128
|
-
XK: 1,
|
|
17129
|
-
YE: 0,
|
|
17130
|
-
ZA: 0,
|
|
17131
|
-
ZW: 0
|
|
17132
|
-
};
|
|
17024
|
+
function weekInfo(locale) {
|
|
17025
|
+
// https://simplelocalize.io/data/locales/
|
|
17026
|
+
// then `new Intl.Locale(...).getWeekInfo()`
|
|
17027
|
+
const code = locale.slice(-2).toUpperCase();
|
|
17028
|
+
switch (true) {
|
|
17029
|
+
case locale === 'GB-alt-variant':
|
|
17030
|
+
{
|
|
17031
|
+
return {
|
|
17032
|
+
firstDay: 0,
|
|
17033
|
+
firstWeekSize: 4
|
|
17034
|
+
};
|
|
17035
|
+
}
|
|
17036
|
+
case locale === '001':
|
|
17037
|
+
{
|
|
17038
|
+
return {
|
|
17039
|
+
firstDay: 1,
|
|
17040
|
+
firstWeekSize: 1
|
|
17041
|
+
};
|
|
17042
|
+
}
|
|
17043
|
+
case `AG AS BD BR BS BT BW BZ CA CO DM DO ET GT GU HK HN ID IL IN JM JP KE
|
|
17044
|
+
KH KR LA MH MM MO MT MX MZ NI NP PA PE PH PK PR PY SA SG SV TH TT TW UM US
|
|
17045
|
+
VE VI WS YE ZA ZW`.includes(code):
|
|
17046
|
+
{
|
|
17047
|
+
return {
|
|
17048
|
+
firstDay: 0,
|
|
17049
|
+
firstWeekSize: 1
|
|
17050
|
+
};
|
|
17051
|
+
}
|
|
17052
|
+
case `AI AL AM AR AU AZ BA BM BN BY CL CM CN CR CY EC GE HR KG KZ LB LK LV
|
|
17053
|
+
MD ME MK MN MY NZ RO RS SI TJ TM TR UA UY UZ VN XK`.includes(code):
|
|
17054
|
+
{
|
|
17055
|
+
return {
|
|
17056
|
+
firstDay: 1,
|
|
17057
|
+
firstWeekSize: 1
|
|
17058
|
+
};
|
|
17059
|
+
}
|
|
17060
|
+
case `AD AN AT AX BE BG CH CZ DE DK EE ES FI FJ FO FR GB GF GP GR HU IE IS
|
|
17061
|
+
IT LI LT LU MC MQ NL NO PL RE RU SE SK SM VA`.includes(code):
|
|
17062
|
+
{
|
|
17063
|
+
return {
|
|
17064
|
+
firstDay: 1,
|
|
17065
|
+
firstWeekSize: 4
|
|
17066
|
+
};
|
|
17067
|
+
}
|
|
17068
|
+
case `AE AF BH DJ DZ EG IQ IR JO KW LY OM QA SD SY`.includes(code):
|
|
17069
|
+
{
|
|
17070
|
+
return {
|
|
17071
|
+
firstDay: 6,
|
|
17072
|
+
firstWeekSize: 1
|
|
17073
|
+
};
|
|
17074
|
+
}
|
|
17075
|
+
case code === 'MV':
|
|
17076
|
+
{
|
|
17077
|
+
return {
|
|
17078
|
+
firstDay: 5,
|
|
17079
|
+
firstWeekSize: 1
|
|
17080
|
+
};
|
|
17081
|
+
}
|
|
17082
|
+
case code === 'PT':
|
|
17083
|
+
{
|
|
17084
|
+
return {
|
|
17085
|
+
firstDay: 0,
|
|
17086
|
+
firstWeekSize: 4
|
|
17087
|
+
};
|
|
17088
|
+
}
|
|
17089
|
+
default:
|
|
17090
|
+
return null;
|
|
17091
|
+
}
|
|
17092
|
+
}
|
|
17133
17093
|
function getWeekArray(date, locale, firstDayOfWeek) {
|
|
17134
17094
|
const weeks = [];
|
|
17135
17095
|
let currentWeek = [];
|
|
17136
17096
|
const firstDayOfMonth = startOfMonth(date);
|
|
17137
17097
|
const lastDayOfMonth = endOfMonth(date);
|
|
17138
|
-
const first = firstDayOfWeek ??
|
|
17098
|
+
const first = firstDayOfWeek ?? weekInfo(locale)?.firstDay ?? 0;
|
|
17139
17099
|
const firstDayWeekIndex = (firstDayOfMonth.getDay() - first + 7) % 7;
|
|
17140
17100
|
const lastDayWeekIndex = (lastDayOfMonth.getDay() - first + 7) % 7;
|
|
17141
17101
|
for (let i = 0; i < firstDayWeekIndex; i++) {
|
|
@@ -17166,7 +17126,7 @@ function getWeekArray(date, locale, firstDayOfWeek) {
|
|
|
17166
17126
|
return weeks;
|
|
17167
17127
|
}
|
|
17168
17128
|
function startOfWeek(date, locale, firstDayOfWeek) {
|
|
17169
|
-
const day = firstDayOfWeek ??
|
|
17129
|
+
const day = firstDayOfWeek ?? weekInfo(locale)?.firstDay ?? 0;
|
|
17170
17130
|
const d = new Date(date);
|
|
17171
17131
|
while (d.getDay() !== day) {
|
|
17172
17132
|
d.setDate(d.getDate() - 1);
|
|
@@ -17175,7 +17135,7 @@ function startOfWeek(date, locale, firstDayOfWeek) {
|
|
|
17175
17135
|
}
|
|
17176
17136
|
function endOfWeek(date, locale) {
|
|
17177
17137
|
const d = new Date(date);
|
|
17178
|
-
const lastDay = ((
|
|
17138
|
+
const lastDay = ((weekInfo(locale)?.firstDay ?? 0) + 6) % 7;
|
|
17179
17139
|
while (d.getDay() !== lastDay) {
|
|
17180
17140
|
d.setDate(d.getDate() + 1);
|
|
17181
17141
|
}
|
|
@@ -17210,7 +17170,7 @@ function date(value) {
|
|
|
17210
17170
|
}
|
|
17211
17171
|
const sundayJanuarySecond2000 = new Date(2000, 0, 2);
|
|
17212
17172
|
function getWeekdays(locale, firstDayOfWeek) {
|
|
17213
|
-
const daysFromSunday = firstDayOfWeek ??
|
|
17173
|
+
const daysFromSunday = firstDayOfWeek ?? weekInfo(locale)?.firstDay ?? 0;
|
|
17214
17174
|
return createRange(7).map(i => {
|
|
17215
17175
|
const weekday = new Date(sundayJanuarySecond2000);
|
|
17216
17176
|
weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);
|
|
@@ -17458,6 +17418,24 @@ function getYear(date) {
|
|
|
17458
17418
|
function getMonth(date) {
|
|
17459
17419
|
return date.getMonth();
|
|
17460
17420
|
}
|
|
17421
|
+
function getWeek(date, locale, firstDayOfWeek, firstWeekMinSize) {
|
|
17422
|
+
const weekInfoFromLocale = weekInfo(locale);
|
|
17423
|
+
const weekStart = firstDayOfWeek ?? weekInfoFromLocale?.firstDay ?? 0;
|
|
17424
|
+
const minWeekSize = firstWeekMinSize ?? weekInfoFromLocale?.firstWeekSize ?? 1;
|
|
17425
|
+
function firstWeekSize(year) {
|
|
17426
|
+
const yearStart = new Date(year, 0, 1);
|
|
17427
|
+
return 7 - getDiff(yearStart, startOfWeek(yearStart, locale, weekStart), 'days');
|
|
17428
|
+
}
|
|
17429
|
+
let year = getYear(date);
|
|
17430
|
+
const currentWeekEnd = addDays(startOfWeek(date, locale, weekStart), 6);
|
|
17431
|
+
if (year < getYear(currentWeekEnd) && firstWeekSize(year + 1) >= minWeekSize) {
|
|
17432
|
+
year++;
|
|
17433
|
+
}
|
|
17434
|
+
const yearStart = new Date(year, 0, 1);
|
|
17435
|
+
const size = firstWeekSize(year);
|
|
17436
|
+
const d1w1 = size >= minWeekSize ? addDays(yearStart, size - 7) : addDays(yearStart, size);
|
|
17437
|
+
return 1 + getDiff(date, d1w1, 'weeks');
|
|
17438
|
+
}
|
|
17461
17439
|
function getDate(date) {
|
|
17462
17440
|
return date.getDate();
|
|
17463
17441
|
}
|
|
@@ -17597,10 +17575,12 @@ class VuetifyDateAdapter {
|
|
|
17597
17575
|
return addMonths(date, amount);
|
|
17598
17576
|
}
|
|
17599
17577
|
getWeekArray(date, firstDayOfWeek) {
|
|
17600
|
-
|
|
17578
|
+
const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
|
|
17579
|
+
return getWeekArray(date, this.locale, firstDay);
|
|
17601
17580
|
}
|
|
17602
17581
|
startOfWeek(date, firstDayOfWeek) {
|
|
17603
|
-
|
|
17582
|
+
const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
|
|
17583
|
+
return startOfWeek(date, this.locale, firstDay);
|
|
17604
17584
|
}
|
|
17605
17585
|
endOfWeek(date) {
|
|
17606
17586
|
return endOfWeek(date, this.locale);
|
|
@@ -17660,7 +17640,8 @@ class VuetifyDateAdapter {
|
|
|
17660
17640
|
return getDiff(date, comparing, unit);
|
|
17661
17641
|
}
|
|
17662
17642
|
getWeekdays(firstDayOfWeek) {
|
|
17663
|
-
|
|
17643
|
+
const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
|
|
17644
|
+
return getWeekdays(this.locale, firstDay);
|
|
17664
17645
|
}
|
|
17665
17646
|
getYear(date) {
|
|
17666
17647
|
return getYear(date);
|
|
@@ -17668,6 +17649,10 @@ class VuetifyDateAdapter {
|
|
|
17668
17649
|
getMonth(date) {
|
|
17669
17650
|
return getMonth(date);
|
|
17670
17651
|
}
|
|
17652
|
+
getWeek(date, firstDayOfWeek, firstWeekMinSize) {
|
|
17653
|
+
const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
|
|
17654
|
+
return getWeek(date, this.locale, firstDay, firstWeekMinSize);
|
|
17655
|
+
}
|
|
17671
17656
|
getDate(date) {
|
|
17672
17657
|
return getDate(date);
|
|
17673
17658
|
}
|
|
@@ -17771,26 +17756,6 @@ function useDate() {
|
|
|
17771
17756
|
return createInstance(options, locale);
|
|
17772
17757
|
}
|
|
17773
17758
|
|
|
17774
|
-
// https://stackoverflow.com/questions/274861/how-do-i-calculate-the-week-number-given-a-date/275024#275024
|
|
17775
|
-
function getWeek(adapter, value) {
|
|
17776
|
-
const date = adapter.toJsDate(value);
|
|
17777
|
-
let year = date.getFullYear();
|
|
17778
|
-
let d1w1 = new Date(year, 0, 1);
|
|
17779
|
-
if (date < d1w1) {
|
|
17780
|
-
year = year - 1;
|
|
17781
|
-
d1w1 = new Date(year, 0, 1);
|
|
17782
|
-
} else {
|
|
17783
|
-
const tv = new Date(year + 1, 0, 1);
|
|
17784
|
-
if (date >= tv) {
|
|
17785
|
-
year = year + 1;
|
|
17786
|
-
d1w1 = tv;
|
|
17787
|
-
}
|
|
17788
|
-
}
|
|
17789
|
-
const diffTime = Math.abs(date.getTime() - d1w1.getTime());
|
|
17790
|
-
const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
|
|
17791
|
-
return Math.floor(diffDays / 7) + 1;
|
|
17792
|
-
}
|
|
17793
|
-
|
|
17794
17759
|
// Types
|
|
17795
17760
|
|
|
17796
17761
|
const makeVColorPickerProps = propsFactory({
|
|
@@ -17994,7 +17959,6 @@ const VCombobox = genericComponent()({
|
|
|
17994
17959
|
const vVirtualScrollRef = ref();
|
|
17995
17960
|
const selectionIndex = shallowRef(-1);
|
|
17996
17961
|
let cleared = false;
|
|
17997
|
-
const color = computed(() => vTextFieldRef.value?.color);
|
|
17998
17962
|
const {
|
|
17999
17963
|
items,
|
|
18000
17964
|
transformIn,
|
|
@@ -18003,7 +17967,7 @@ const VCombobox = genericComponent()({
|
|
|
18003
17967
|
const {
|
|
18004
17968
|
textColorClasses,
|
|
18005
17969
|
textColorStyles
|
|
18006
|
-
} = useTextColor(color);
|
|
17970
|
+
} = useTextColor(() => vTextFieldRef.value?.color);
|
|
18007
17971
|
const model = useProxiedModel(props, 'modelValue', [], v => transformIn(wrapInArray(v)), v => {
|
|
18008
17972
|
const transformed = transformOut(v);
|
|
18009
17973
|
return props.multiple ? transformed : transformed[0] ?? null;
|
|
@@ -18058,7 +18022,7 @@ const VCombobox = genericComponent()({
|
|
|
18058
18022
|
_menu.value = v;
|
|
18059
18023
|
}
|
|
18060
18024
|
});
|
|
18061
|
-
const label =
|
|
18025
|
+
const label = toRef(() => menu.value ? props.closeText : props.openText);
|
|
18062
18026
|
watch(_search, value => {
|
|
18063
18027
|
if (cleared) {
|
|
18064
18028
|
// wait for clear to finish, VTextField sets _search to null
|
|
@@ -18564,7 +18528,7 @@ const makeDataTableExpandProps = propsFactory({
|
|
|
18564
18528
|
}, 'DataTable-expand');
|
|
18565
18529
|
const VDataTableExpandedKey = Symbol.for('vuetify:datatable:expanded');
|
|
18566
18530
|
function provideExpanded(props) {
|
|
18567
|
-
const expandOnClick = toRef(props
|
|
18531
|
+
const expandOnClick = toRef(() => props.expandOnClick);
|
|
18568
18532
|
const expanded = useProxiedModel(props, 'expanded', props.expanded, v => {
|
|
18569
18533
|
return new Set(v);
|
|
18570
18534
|
}, v => {
|
|
@@ -18751,23 +18715,23 @@ function useOptions(_ref) {
|
|
|
18751
18715
|
search
|
|
18752
18716
|
} = _ref;
|
|
18753
18717
|
const vm = getCurrentInstance('VDataTable');
|
|
18754
|
-
const options =
|
|
18718
|
+
const options = () => ({
|
|
18755
18719
|
page: page.value,
|
|
18756
18720
|
itemsPerPage: itemsPerPage.value,
|
|
18757
18721
|
sortBy: sortBy.value,
|
|
18758
18722
|
groupBy: groupBy.value,
|
|
18759
18723
|
search: search.value
|
|
18760
|
-
})
|
|
18724
|
+
});
|
|
18761
18725
|
let oldOptions = null;
|
|
18762
|
-
watch(options,
|
|
18763
|
-
if (deepEqual(oldOptions,
|
|
18726
|
+
watch(options, value => {
|
|
18727
|
+
if (deepEqual(oldOptions, value)) return;
|
|
18764
18728
|
|
|
18765
18729
|
// Reset page when searching
|
|
18766
|
-
if (oldOptions && oldOptions.search !==
|
|
18730
|
+
if (oldOptions && oldOptions.search !== value.search) {
|
|
18767
18731
|
page.value = 1;
|
|
18768
18732
|
}
|
|
18769
|
-
vm.emit('update:options',
|
|
18770
|
-
oldOptions =
|
|
18733
|
+
vm.emit('update:options', value);
|
|
18734
|
+
oldOptions = value;
|
|
18771
18735
|
}, {
|
|
18772
18736
|
deep: true,
|
|
18773
18737
|
immediate: true
|
|
@@ -19048,7 +19012,7 @@ function provideSelection(props, _ref9) {
|
|
|
19048
19012
|
});
|
|
19049
19013
|
return !!items.length && isSelected(items);
|
|
19050
19014
|
});
|
|
19051
|
-
const showSelectAll =
|
|
19015
|
+
const showSelectAll = toRef(() => selectStrategy.value.showSelectAll);
|
|
19052
19016
|
const data = {
|
|
19053
19017
|
toggleSelect,
|
|
19054
19018
|
select,
|
|
@@ -19086,8 +19050,8 @@ const makeDataTableSortProps = propsFactory({
|
|
|
19086
19050
|
const VDataTableSortSymbol = Symbol.for('vuetify:data-table-sort');
|
|
19087
19051
|
function createSort(props) {
|
|
19088
19052
|
const sortBy = useProxiedModel(props, 'sortBy');
|
|
19089
|
-
const mustSort = toRef(props
|
|
19090
|
-
const multiSort = toRef(props
|
|
19053
|
+
const mustSort = toRef(() => props.mustSort);
|
|
19054
|
+
const multiSort = toRef(() => props.multiSort);
|
|
19091
19055
|
return {
|
|
19092
19056
|
sortBy,
|
|
19093
19057
|
mustSort,
|
|
@@ -19305,7 +19269,7 @@ const VDataIterator = genericComponent()({
|
|
|
19305
19269
|
slots
|
|
19306
19270
|
} = _ref;
|
|
19307
19271
|
const groupBy = useProxiedModel(props, 'groupBy');
|
|
19308
|
-
const search = toRef(props
|
|
19272
|
+
const search = toRef(() => props.search);
|
|
19309
19273
|
const {
|
|
19310
19274
|
items
|
|
19311
19275
|
} = useDataIteratorItems(props);
|
|
@@ -19349,7 +19313,7 @@ const VDataIterator = genericComponent()({
|
|
|
19349
19313
|
const {
|
|
19350
19314
|
flatItems
|
|
19351
19315
|
} = useGroupedItems(sortedItems, groupBy, opened);
|
|
19352
|
-
const itemsLength =
|
|
19316
|
+
const itemsLength = toRef(() => flatItems.value.length);
|
|
19353
19317
|
const {
|
|
19354
19318
|
startIndex,
|
|
19355
19319
|
stopIndex,
|
|
@@ -19629,13 +19593,13 @@ const VPagination = genericComponent()({
|
|
|
19629
19593
|
} = useRefs();
|
|
19630
19594
|
provideDefaults({
|
|
19631
19595
|
VPaginationBtn: {
|
|
19632
|
-
color: toRef(props
|
|
19633
|
-
border: toRef(props
|
|
19634
|
-
density: toRef(props
|
|
19635
|
-
size: toRef(props
|
|
19636
|
-
variant: toRef(props
|
|
19637
|
-
rounded: toRef(props
|
|
19638
|
-
elevation: toRef(props
|
|
19596
|
+
color: toRef(() => props.color),
|
|
19597
|
+
border: toRef(() => props.border),
|
|
19598
|
+
density: toRef(() => props.density),
|
|
19599
|
+
size: toRef(() => props.size),
|
|
19600
|
+
variant: toRef(() => props.variant),
|
|
19601
|
+
rounded: toRef(() => props.rounded),
|
|
19602
|
+
elevation: toRef(() => props.elevation)
|
|
19639
19603
|
}
|
|
19640
19604
|
});
|
|
19641
19605
|
const items = computed(() => {
|
|
@@ -20276,7 +20240,7 @@ const VDataTableHeaders = genericComponent()({
|
|
|
20276
20240
|
const {
|
|
20277
20241
|
backgroundColorClasses,
|
|
20278
20242
|
backgroundColorStyles
|
|
20279
|
-
} = useBackgroundColor(props
|
|
20243
|
+
} = useBackgroundColor(() => props.color);
|
|
20280
20244
|
const {
|
|
20281
20245
|
displayClasses,
|
|
20282
20246
|
mobile
|
|
@@ -20934,13 +20898,13 @@ const VDataTable = genericComponent()({
|
|
|
20934
20898
|
filterFunctions
|
|
20935
20899
|
} = createHeaders(props, {
|
|
20936
20900
|
groupBy,
|
|
20937
|
-
showSelect: toRef(props
|
|
20938
|
-
showExpand: toRef(props
|
|
20901
|
+
showSelect: toRef(() => props.showSelect),
|
|
20902
|
+
showExpand: toRef(() => props.showExpand)
|
|
20939
20903
|
});
|
|
20940
20904
|
const {
|
|
20941
20905
|
items
|
|
20942
20906
|
} = useDataTableItems(props, columns);
|
|
20943
|
-
const search = toRef(props
|
|
20907
|
+
const search = toRef(() => props.search);
|
|
20944
20908
|
const {
|
|
20945
20909
|
filteredItems
|
|
20946
20910
|
} = useFilter(props, items, search, {
|
|
@@ -21023,10 +20987,10 @@ const VDataTable = genericComponent()({
|
|
|
21023
20987
|
});
|
|
21024
20988
|
provideDefaults({
|
|
21025
20989
|
VDataTableRows: {
|
|
21026
|
-
hideNoData: toRef(props
|
|
21027
|
-
noDataText: toRef(props
|
|
21028
|
-
loading: toRef(props
|
|
21029
|
-
loadingText: toRef(props
|
|
20990
|
+
hideNoData: toRef(() => props.hideNoData),
|
|
20991
|
+
noDataText: toRef(() => props.noDataText),
|
|
20992
|
+
loading: toRef(() => props.loading),
|
|
20993
|
+
loadingText: toRef(() => props.loadingText)
|
|
21030
20994
|
}
|
|
21031
20995
|
});
|
|
21032
20996
|
const slotProps = computed(() => ({
|
|
@@ -21123,13 +21087,13 @@ const VDataTableVirtual = genericComponent()({
|
|
|
21123
21087
|
sortRawFunctions
|
|
21124
21088
|
} = createHeaders(props, {
|
|
21125
21089
|
groupBy,
|
|
21126
|
-
showSelect: toRef(props
|
|
21127
|
-
showExpand: toRef(props
|
|
21090
|
+
showSelect: toRef(() => props.showSelect),
|
|
21091
|
+
showExpand: toRef(() => props.showExpand)
|
|
21128
21092
|
});
|
|
21129
21093
|
const {
|
|
21130
21094
|
items
|
|
21131
21095
|
} = useDataTableItems(props, columns);
|
|
21132
|
-
const search = toRef(props
|
|
21096
|
+
const search = toRef(() => props.search);
|
|
21133
21097
|
const {
|
|
21134
21098
|
filteredItems
|
|
21135
21099
|
} = useFilter(props, items, search, {
|
|
@@ -21205,10 +21169,10 @@ const VDataTableVirtual = genericComponent()({
|
|
|
21205
21169
|
});
|
|
21206
21170
|
provideDefaults({
|
|
21207
21171
|
VDataTableRows: {
|
|
21208
|
-
hideNoData: toRef(props
|
|
21209
|
-
noDataText: toRef(props
|
|
21210
|
-
loading: toRef(props
|
|
21211
|
-
loadingText: toRef(props
|
|
21172
|
+
hideNoData: toRef(() => props.hideNoData),
|
|
21173
|
+
noDataText: toRef(() => props.noDataText),
|
|
21174
|
+
loading: toRef(() => props.loading),
|
|
21175
|
+
loadingText: toRef(() => props.loadingText)
|
|
21212
21176
|
}
|
|
21213
21177
|
});
|
|
21214
21178
|
const slotProps = computed(() => ({
|
|
@@ -21361,8 +21325,8 @@ const VDataTableServer = genericComponent()({
|
|
|
21361
21325
|
headers
|
|
21362
21326
|
} = createHeaders(props, {
|
|
21363
21327
|
groupBy,
|
|
21364
|
-
showSelect: toRef(props
|
|
21365
|
-
showExpand: toRef(props
|
|
21328
|
+
showSelect: toRef(() => props.showSelect),
|
|
21329
|
+
showExpand: toRef(() => props.showExpand)
|
|
21366
21330
|
});
|
|
21367
21331
|
const {
|
|
21368
21332
|
items
|
|
@@ -21417,7 +21381,7 @@ const VDataTableServer = genericComponent()({
|
|
|
21417
21381
|
itemsPerPage,
|
|
21418
21382
|
sortBy,
|
|
21419
21383
|
groupBy,
|
|
21420
|
-
search: toRef(props
|
|
21384
|
+
search: toRef(() => props.search)
|
|
21421
21385
|
});
|
|
21422
21386
|
provide('v-data-table', {
|
|
21423
21387
|
toggleSort,
|
|
@@ -21425,10 +21389,10 @@ const VDataTableServer = genericComponent()({
|
|
|
21425
21389
|
});
|
|
21426
21390
|
provideDefaults({
|
|
21427
21391
|
VDataTableRows: {
|
|
21428
|
-
hideNoData: toRef(props
|
|
21429
|
-
noDataText: toRef(props
|
|
21430
|
-
loading: toRef(props
|
|
21431
|
-
loadingText: toRef(props
|
|
21392
|
+
hideNoData: toRef(() => props.hideNoData),
|
|
21393
|
+
noDataText: toRef(() => props.noDataText),
|
|
21394
|
+
loading: toRef(() => props.loading),
|
|
21395
|
+
loadingText: toRef(() => props.loadingText)
|
|
21432
21396
|
}
|
|
21433
21397
|
});
|
|
21434
21398
|
const slotProps = computed(() => ({
|
|
@@ -21898,7 +21862,7 @@ const VDatePickerHeader = genericComponent()({
|
|
|
21898
21862
|
const {
|
|
21899
21863
|
backgroundColorClasses,
|
|
21900
21864
|
backgroundColorStyles
|
|
21901
|
-
} = useBackgroundColor(props
|
|
21865
|
+
} = useBackgroundColor(() => props.color);
|
|
21902
21866
|
function onClick() {
|
|
21903
21867
|
emit('click');
|
|
21904
21868
|
}
|
|
@@ -21979,7 +21943,7 @@ const makeCalendarProps = propsFactory({
|
|
|
21979
21943
|
},
|
|
21980
21944
|
firstDayOfWeek: {
|
|
21981
21945
|
type: [Number, String],
|
|
21982
|
-
default:
|
|
21946
|
+
default: undefined
|
|
21983
21947
|
}
|
|
21984
21948
|
}, 'calendar');
|
|
21985
21949
|
function useCalendar(props) {
|
|
@@ -22002,14 +21966,12 @@ function useCalendar(props) {
|
|
|
22002
21966
|
return adapter.setMonth(date, value);
|
|
22003
21967
|
}, v => adapter.getMonth(v));
|
|
22004
21968
|
const weekDays = computed(() => {
|
|
22005
|
-
const firstDayOfWeek =
|
|
22006
|
-
|
|
21969
|
+
const firstDayOfWeek = adapter.toJsDate(adapter.startOfWeek(adapter.date(), props.firstDayOfWeek)).getDay();
|
|
22007
21970
|
// Always generate all days, regardless of props.weekdays
|
|
22008
21971
|
return [0, 1, 2, 3, 4, 5, 6].map(day => (day + firstDayOfWeek) % 7);
|
|
22009
21972
|
});
|
|
22010
21973
|
const weeksInMonth = computed(() => {
|
|
22011
|
-
const
|
|
22012
|
-
const weeks = adapter.getWeekArray(month.value, firstDayOfWeek);
|
|
21974
|
+
const weeks = adapter.getWeekArray(month.value, props.firstDayOfWeek);
|
|
22013
21975
|
const days = weeks.flat();
|
|
22014
21976
|
|
|
22015
21977
|
// Make sure there's always 6 weeks in month (6 * 7 days)
|
|
@@ -22039,21 +22001,21 @@ function useCalendar(props) {
|
|
|
22039
22001
|
const isSame = adapter.isSameDay(date, month.value);
|
|
22040
22002
|
return {
|
|
22041
22003
|
date,
|
|
22042
|
-
isoDate,
|
|
22043
22004
|
formatted: adapter.format(date, 'keyboardDate'),
|
|
22044
|
-
year: adapter.getYear(date),
|
|
22045
|
-
month: adapter.getMonth(date),
|
|
22046
|
-
isDisabled: isDisabled(date),
|
|
22047
|
-
isWeekStart: index % 7 === 0,
|
|
22048
|
-
isWeekEnd: index % 7 === 6,
|
|
22049
|
-
isToday: adapter.isSameDay(date, today),
|
|
22050
22005
|
isAdjacent,
|
|
22051
|
-
|
|
22052
|
-
isStart,
|
|
22053
|
-
isSelected: model.value.some(value => adapter.isSameDay(date, value)),
|
|
22006
|
+
isDisabled: isDisabled(date),
|
|
22054
22007
|
isEnd,
|
|
22008
|
+
isHidden: isAdjacent && !props.showAdjacentMonths,
|
|
22055
22009
|
isSame,
|
|
22056
|
-
|
|
22010
|
+
isSelected: model.value.some(value => adapter.isSameDay(date, value)),
|
|
22011
|
+
isStart,
|
|
22012
|
+
isToday: adapter.isSameDay(date, today),
|
|
22013
|
+
isWeekEnd: index % 7 === 6,
|
|
22014
|
+
isWeekStart: index % 7 === 0,
|
|
22015
|
+
isoDate,
|
|
22016
|
+
localized: adapter.format(date, 'dayOfMonth'),
|
|
22017
|
+
month: adapter.getMonth(date),
|
|
22018
|
+
year: adapter.getYear(date)
|
|
22057
22019
|
};
|
|
22058
22020
|
});
|
|
22059
22021
|
}
|
|
@@ -22073,7 +22035,7 @@ function useCalendar(props) {
|
|
|
22073
22035
|
});
|
|
22074
22036
|
const weekNumbers = computed(() => {
|
|
22075
22037
|
return weeksInMonth.value.map(week => {
|
|
22076
|
-
return week.length ? getWeek(
|
|
22038
|
+
return week.length ? adapter.getWeek(week[0], props.firstDayOfWeek) : null;
|
|
22077
22039
|
});
|
|
22078
22040
|
});
|
|
22079
22041
|
function isDisabled(value) {
|
|
@@ -22141,7 +22103,7 @@ const VDatePickerMonth = genericComponent()({
|
|
|
22141
22103
|
const rangeStart = shallowRef();
|
|
22142
22104
|
const rangeStop = shallowRef();
|
|
22143
22105
|
const isReverse = shallowRef(false);
|
|
22144
|
-
const transition =
|
|
22106
|
+
const transition = toRef(() => {
|
|
22145
22107
|
return !isReverse.value ? props.transition : props.reverseTransition;
|
|
22146
22108
|
});
|
|
22147
22109
|
if (props.multiple === 'range' && model.value.length > 0) {
|
|
@@ -22521,7 +22483,7 @@ const VDatePicker = genericComponent()({
|
|
|
22521
22483
|
}
|
|
22522
22484
|
return value && adapter.isValid(value) ? value : today;
|
|
22523
22485
|
});
|
|
22524
|
-
const headerColor =
|
|
22486
|
+
const headerColor = toRef(() => props.headerColor ?? props.color);
|
|
22525
22487
|
const month = ref(Number(props.month ?? adapter.getMonth(adapter.startOfMonth(internal.value))));
|
|
22526
22488
|
const year = ref(Number(props.year ?? adapter.getYear(adapter.startOfYear(adapter.setMonth(internal.value, month.value)))));
|
|
22527
22489
|
const isReversing = shallowRef(false);
|
|
@@ -22538,8 +22500,8 @@ const VDatePicker = genericComponent()({
|
|
|
22538
22500
|
date = adapter.setYear(date, year.value);
|
|
22539
22501
|
return adapter.format(date, 'monthAndYear');
|
|
22540
22502
|
});
|
|
22541
|
-
// const headerIcon =
|
|
22542
|
-
const headerTransition =
|
|
22503
|
+
// const headerIcon = toRef(() => props.inputMode === 'calendar' ? props.keyboardIcon : props.calendarIcon)
|
|
22504
|
+
const headerTransition = toRef(() => `date-picker-header${isReversing.value ? '-reverse' : ''}-transition`);
|
|
22543
22505
|
const disabled = computed(() => {
|
|
22544
22506
|
if (props.disabled) return true;
|
|
22545
22507
|
const targets = [];
|
|
@@ -22751,7 +22713,7 @@ const VEmptyState = genericComponent()({
|
|
|
22751
22713
|
const {
|
|
22752
22714
|
backgroundColorClasses,
|
|
22753
22715
|
backgroundColorStyles
|
|
22754
|
-
} = useBackgroundColor(
|
|
22716
|
+
} = useBackgroundColor(() => props.bgColor);
|
|
22755
22717
|
const {
|
|
22756
22718
|
dimensionStyles
|
|
22757
22719
|
} = useDimension(props);
|
|
@@ -22914,7 +22876,7 @@ const VExpansionPanelTitle = genericComponent()({
|
|
|
22914
22876
|
const {
|
|
22915
22877
|
backgroundColorClasses,
|
|
22916
22878
|
backgroundColorStyles
|
|
22917
|
-
} = useBackgroundColor(props
|
|
22879
|
+
} = useBackgroundColor(() => props.color);
|
|
22918
22880
|
const {
|
|
22919
22881
|
dimensionStyles
|
|
22920
22882
|
} = useDimension(props);
|
|
@@ -22925,7 +22887,7 @@ const VExpansionPanelTitle = genericComponent()({
|
|
|
22925
22887
|
expandIcon: props.expandIcon,
|
|
22926
22888
|
readonly: props.readonly
|
|
22927
22889
|
}));
|
|
22928
|
-
const icon =
|
|
22890
|
+
const icon = toRef(() => expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon);
|
|
22929
22891
|
useRender(() => withDirectives(createVNode("button", {
|
|
22930
22892
|
"class": ['v-expansion-panel-title', {
|
|
22931
22893
|
'v-expansion-panel-title--active': expansionPanel.isSelected.value,
|
|
@@ -22980,14 +22942,14 @@ const VExpansionPanel = genericComponent()({
|
|
|
22980
22942
|
const {
|
|
22981
22943
|
backgroundColorClasses,
|
|
22982
22944
|
backgroundColorStyles
|
|
22983
|
-
} = useBackgroundColor(props
|
|
22945
|
+
} = useBackgroundColor(() => props.bgColor);
|
|
22984
22946
|
const {
|
|
22985
22947
|
elevationClasses
|
|
22986
22948
|
} = useElevation(props);
|
|
22987
22949
|
const {
|
|
22988
22950
|
roundedClasses
|
|
22989
22951
|
} = useRounded(props);
|
|
22990
|
-
const isDisabled =
|
|
22952
|
+
const isDisabled = toRef(() => groupItem?.disabled.value || props.disabled);
|
|
22991
22953
|
const selectedIndices = computed(() => groupItem.group.items.value.reduce((arr, item, index) => {
|
|
22992
22954
|
if (groupItem.group.selected.value.includes(item.id)) arr.push(index);
|
|
22993
22955
|
return arr;
|
|
@@ -23078,21 +23040,21 @@ const VExpansionPanels = genericComponent()({
|
|
|
23078
23040
|
const {
|
|
23079
23041
|
themeClasses
|
|
23080
23042
|
} = provideTheme(props);
|
|
23081
|
-
const variantClass =
|
|
23043
|
+
const variantClass = toRef(() => props.variant && `v-expansion-panels--variant-${props.variant}`);
|
|
23082
23044
|
provideDefaults({
|
|
23083
23045
|
VExpansionPanel: {
|
|
23084
|
-
bgColor: toRef(props
|
|
23085
|
-
collapseIcon: toRef(props
|
|
23086
|
-
color: toRef(props
|
|
23087
|
-
eager: toRef(props
|
|
23088
|
-
elevation: toRef(props
|
|
23089
|
-
expandIcon: toRef(props
|
|
23090
|
-
focusable: toRef(props
|
|
23091
|
-
hideActions: toRef(props
|
|
23092
|
-
readonly: toRef(props
|
|
23093
|
-
ripple: toRef(props
|
|
23094
|
-
rounded: toRef(props
|
|
23095
|
-
static: toRef(props
|
|
23046
|
+
bgColor: toRef(() => props.bgColor),
|
|
23047
|
+
collapseIcon: toRef(() => props.collapseIcon),
|
|
23048
|
+
color: toRef(() => props.color),
|
|
23049
|
+
eager: toRef(() => props.eager),
|
|
23050
|
+
elevation: toRef(() => props.elevation),
|
|
23051
|
+
expandIcon: toRef(() => props.expandIcon),
|
|
23052
|
+
focusable: toRef(() => props.focusable),
|
|
23053
|
+
hideActions: toRef(() => props.hideActions),
|
|
23054
|
+
readonly: toRef(() => props.readonly),
|
|
23055
|
+
ripple: toRef(() => props.ripple),
|
|
23056
|
+
rounded: toRef(() => props.rounded),
|
|
23057
|
+
static: toRef(() => props.static)
|
|
23096
23058
|
}
|
|
23097
23059
|
});
|
|
23098
23060
|
useRender(() => createVNode(props.tag, {
|
|
@@ -23154,7 +23116,7 @@ const VFab = genericComponent()({
|
|
|
23154
23116
|
if (!entries.length) return;
|
|
23155
23117
|
height.value = entries[0].target.clientHeight;
|
|
23156
23118
|
});
|
|
23157
|
-
const hasPosition =
|
|
23119
|
+
const hasPosition = toRef(() => props.app || props.absolute);
|
|
23158
23120
|
const position = computed(() => {
|
|
23159
23121
|
if (!hasPosition.value) return false;
|
|
23160
23122
|
return props.location?.split(' ').shift() ?? 'bottom';
|
|
@@ -23171,7 +23133,7 @@ const VFab = genericComponent()({
|
|
|
23171
23133
|
layoutSize: computed(() => props.layout ? height.value + 24 : 0),
|
|
23172
23134
|
elementSize: computed(() => height.value + 24),
|
|
23173
23135
|
active: computed(() => props.app && model.value),
|
|
23174
|
-
absolute: toRef(props
|
|
23136
|
+
absolute: toRef(() => props.absolute)
|
|
23175
23137
|
});
|
|
23176
23138
|
watchEffect(() => {
|
|
23177
23139
|
layoutItemStyles.value = layout.layoutItemStyles.value;
|
|
@@ -23296,7 +23258,7 @@ const VFileInput = genericComponent()({
|
|
|
23296
23258
|
const vInputRef = ref();
|
|
23297
23259
|
const vFieldRef = ref();
|
|
23298
23260
|
const inputRef = ref();
|
|
23299
|
-
const isActive =
|
|
23261
|
+
const isActive = toRef(() => isFocused.value || props.active);
|
|
23300
23262
|
const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant));
|
|
23301
23263
|
function onFocus() {
|
|
23302
23264
|
if (inputRef.value !== document.activeElement) {
|
|
@@ -23469,7 +23431,7 @@ const VFooter = genericComponent()({
|
|
|
23469
23431
|
const {
|
|
23470
23432
|
backgroundColorClasses,
|
|
23471
23433
|
backgroundColorStyles
|
|
23472
|
-
} = useBackgroundColor(
|
|
23434
|
+
} = useBackgroundColor(() => props.color);
|
|
23473
23435
|
const {
|
|
23474
23436
|
borderClasses
|
|
23475
23437
|
} = useBorder(props);
|
|
@@ -23491,11 +23453,11 @@ const VFooter = genericComponent()({
|
|
|
23491
23453
|
const layout = useLayoutItem({
|
|
23492
23454
|
id: props.name,
|
|
23493
23455
|
order: computed(() => parseInt(props.order, 10)),
|
|
23494
|
-
position:
|
|
23456
|
+
position: toRef(() => 'bottom'),
|
|
23495
23457
|
layoutSize: height,
|
|
23496
23458
|
elementSize: computed(() => props.height === 'auto' ? undefined : height.value),
|
|
23497
|
-
active:
|
|
23498
|
-
absolute: toRef(props
|
|
23459
|
+
active: toRef(() => props.app),
|
|
23460
|
+
absolute: toRef(() => props.absolute)
|
|
23499
23461
|
});
|
|
23500
23462
|
watchEffect(() => {
|
|
23501
23463
|
layoutItemStyles.value = layout.layoutItemStyles.value;
|
|
@@ -23968,11 +23930,11 @@ const VLayoutItem = genericComponent()({
|
|
|
23968
23930
|
} = useLayoutItem({
|
|
23969
23931
|
id: props.name,
|
|
23970
23932
|
order: computed(() => parseInt(props.order, 10)),
|
|
23971
|
-
position: toRef(props
|
|
23972
|
-
elementSize: toRef(props
|
|
23973
|
-
layoutSize: toRef(props
|
|
23974
|
-
active: toRef(props
|
|
23975
|
-
absolute: toRef(props
|
|
23933
|
+
position: toRef(() => props.position),
|
|
23934
|
+
elementSize: toRef(() => props.size),
|
|
23935
|
+
layoutSize: toRef(() => props.size),
|
|
23936
|
+
active: toRef(() => props.modelValue),
|
|
23937
|
+
absolute: toRef(() => props.absolute)
|
|
23976
23938
|
});
|
|
23977
23939
|
return () => createVNode("div", {
|
|
23978
23940
|
"class": ['v-layout-item', props.class],
|
|
@@ -24504,7 +24466,7 @@ const VNavigationDrawer = genericComponent()({
|
|
|
24504
24466
|
const {
|
|
24505
24467
|
backgroundColorClasses,
|
|
24506
24468
|
backgroundColorStyles
|
|
24507
|
-
} = useBackgroundColor(
|
|
24469
|
+
} = useBackgroundColor(() => props.color);
|
|
24508
24470
|
const {
|
|
24509
24471
|
elevationClasses
|
|
24510
24472
|
} = useElevation(props);
|
|
@@ -24537,7 +24499,7 @@ const VNavigationDrawer = genericComponent()({
|
|
|
24537
24499
|
const location = computed(() => {
|
|
24538
24500
|
return toPhysical(props.location, isRtl.value);
|
|
24539
24501
|
});
|
|
24540
|
-
const isPersistent =
|
|
24502
|
+
const isPersistent = toRef(() => props.persistent);
|
|
24541
24503
|
const isTemporary = computed(() => !props.permanent && (mobile.value || props.temporary));
|
|
24542
24504
|
const isSticky = computed(() => props.sticky && !isTemporary.value && location.value !== 'bottom');
|
|
24543
24505
|
useToggleScope(() => props.expandOnHover && props.rail != null, () => {
|
|
@@ -24563,7 +24525,7 @@ const VNavigationDrawer = genericComponent()({
|
|
|
24563
24525
|
isActive,
|
|
24564
24526
|
isTemporary,
|
|
24565
24527
|
width,
|
|
24566
|
-
touchless: toRef(props
|
|
24528
|
+
touchless: toRef(() => props.touchless),
|
|
24567
24529
|
position: location
|
|
24568
24530
|
});
|
|
24569
24531
|
const layoutSize = computed(() => {
|
|
@@ -24580,7 +24542,7 @@ const VNavigationDrawer = genericComponent()({
|
|
|
24580
24542
|
layoutSize,
|
|
24581
24543
|
elementSize: width,
|
|
24582
24544
|
active: readonly(isActive),
|
|
24583
|
-
disableTransitions:
|
|
24545
|
+
disableTransitions: toRef(() => isDragging.value),
|
|
24584
24546
|
absolute: computed(() =>
|
|
24585
24547
|
// eslint-disable-next-line @typescript-eslint/no-use-before-define
|
|
24586
24548
|
props.absolute || isSticky.value && typeof isStuck.value !== 'string')
|
|
@@ -24593,9 +24555,9 @@ const VNavigationDrawer = genericComponent()({
|
|
|
24593
24555
|
isSticky,
|
|
24594
24556
|
layoutItemStyles
|
|
24595
24557
|
});
|
|
24596
|
-
const scrimColor = useBackgroundColor(
|
|
24558
|
+
const scrimColor = useBackgroundColor(() => {
|
|
24597
24559
|
return typeof props.scrim === 'string' ? props.scrim : null;
|
|
24598
|
-
})
|
|
24560
|
+
});
|
|
24599
24561
|
const scrimStyles = computed(() => ({
|
|
24600
24562
|
...(isDragging.value ? {
|
|
24601
24563
|
opacity: dragProgress.value * 0.2,
|
|
@@ -24809,24 +24771,24 @@ const VNumberInput = genericComponent()({
|
|
|
24809
24771
|
const controlVariant = computed(() => {
|
|
24810
24772
|
return props.hideInput ? 'stacked' : props.controlVariant;
|
|
24811
24773
|
});
|
|
24812
|
-
const incrementIcon =
|
|
24813
|
-
const decrementIcon =
|
|
24814
|
-
const controlNodeSize =
|
|
24815
|
-
const controlNodeDefaultHeight =
|
|
24816
|
-
const incrementSlotProps =
|
|
24774
|
+
const incrementIcon = toRef(() => controlVariant.value === 'split' ? '$plus' : '$collapse');
|
|
24775
|
+
const decrementIcon = toRef(() => controlVariant.value === 'split' ? '$minus' : '$expand');
|
|
24776
|
+
const controlNodeSize = toRef(() => controlVariant.value === 'split' ? 'default' : 'small');
|
|
24777
|
+
const controlNodeDefaultHeight = toRef(() => controlVariant.value === 'stacked' ? 'auto' : '100%');
|
|
24778
|
+
const incrementSlotProps = {
|
|
24817
24779
|
props: {
|
|
24818
24780
|
onClick: onControlClick,
|
|
24819
24781
|
onPointerup: onControlMouseup,
|
|
24820
24782
|
onPointerdown: onUpControlMousedown
|
|
24821
24783
|
}
|
|
24822
|
-
}
|
|
24823
|
-
const decrementSlotProps =
|
|
24784
|
+
};
|
|
24785
|
+
const decrementSlotProps = {
|
|
24824
24786
|
props: {
|
|
24825
24787
|
onClick: onControlClick,
|
|
24826
24788
|
onPointerup: onControlMouseup,
|
|
24827
24789
|
onPointerdown: onDownControlMousedown
|
|
24828
24790
|
}
|
|
24829
|
-
}
|
|
24791
|
+
};
|
|
24830
24792
|
watch(() => props.precision, () => formatInputValue());
|
|
24831
24793
|
onMounted(() => {
|
|
24832
24794
|
clampModel();
|
|
@@ -24978,7 +24940,7 @@ const VNumberInput = genericComponent()({
|
|
|
24978
24940
|
}
|
|
24979
24941
|
}
|
|
24980
24942
|
}, {
|
|
24981
|
-
default: () => [slots.increment(incrementSlotProps
|
|
24943
|
+
default: () => [slots.increment(incrementSlotProps)]
|
|
24982
24944
|
});
|
|
24983
24945
|
}
|
|
24984
24946
|
function decrementControlNode() {
|
|
@@ -25007,7 +24969,7 @@ const VNumberInput = genericComponent()({
|
|
|
25007
24969
|
}
|
|
25008
24970
|
}
|
|
25009
24971
|
}, {
|
|
25010
|
-
default: () => [slots.decrement(decrementSlotProps
|
|
24972
|
+
default: () => [slots.decrement(decrementSlotProps)]
|
|
25011
24973
|
});
|
|
25012
24974
|
}
|
|
25013
24975
|
function controlNode() {
|
|
@@ -25207,12 +25169,12 @@ const VOtpInput = genericComponent()({
|
|
|
25207
25169
|
}
|
|
25208
25170
|
provideDefaults({
|
|
25209
25171
|
VField: {
|
|
25210
|
-
color:
|
|
25211
|
-
bgColor:
|
|
25212
|
-
baseColor:
|
|
25213
|
-
disabled:
|
|
25214
|
-
error:
|
|
25215
|
-
variant:
|
|
25172
|
+
color: toRef(() => props.color),
|
|
25173
|
+
bgColor: toRef(() => props.color),
|
|
25174
|
+
baseColor: toRef(() => props.baseColor),
|
|
25175
|
+
disabled: toRef(() => props.disabled),
|
|
25176
|
+
error: toRef(() => props.error),
|
|
25177
|
+
variant: toRef(() => props.variant)
|
|
25216
25178
|
}
|
|
25217
25179
|
}, {
|
|
25218
25180
|
scoped: true
|
|
@@ -26013,7 +25975,7 @@ const VSkeletonLoader = genericComponent()({
|
|
|
26013
25975
|
const {
|
|
26014
25976
|
backgroundColorClasses,
|
|
26015
25977
|
backgroundColorStyles
|
|
26016
|
-
} = useBackgroundColor(
|
|
25978
|
+
} = useBackgroundColor(() => props.color);
|
|
26017
25979
|
const {
|
|
26018
25980
|
dimensionStyles
|
|
26019
25981
|
} = useDimension(props);
|
|
@@ -26812,7 +26774,7 @@ const VSparkline = genericComponent()({
|
|
|
26812
26774
|
const {
|
|
26813
26775
|
textColorClasses,
|
|
26814
26776
|
textColorStyles
|
|
26815
|
-
} = useTextColor(
|
|
26777
|
+
} = useTextColor(() => props.color);
|
|
26816
26778
|
const hasLabels = computed(() => {
|
|
26817
26779
|
return Boolean(props.showLabels || props.labels.length > 0 || !!slots?.label);
|
|
26818
26780
|
});
|
|
@@ -27358,11 +27320,11 @@ const VSwitch = genericComponent()({
|
|
|
27358
27320
|
} = useFocus(props);
|
|
27359
27321
|
const control = ref();
|
|
27360
27322
|
const isForcedColorsModeActive = IN_BROWSER && window.matchMedia('(forced-colors: active)').matches;
|
|
27361
|
-
const loaderColor =
|
|
27323
|
+
const loaderColor = toRef(() => {
|
|
27362
27324
|
return typeof props.loading === 'string' && props.loading !== '' ? props.loading : props.color;
|
|
27363
27325
|
});
|
|
27364
27326
|
const uid = useId();
|
|
27365
|
-
const id =
|
|
27327
|
+
const id = toRef(() => props.id || `switch-${uid}`);
|
|
27366
27328
|
function onChange() {
|
|
27367
27329
|
if (indeterminate.value) {
|
|
27368
27330
|
indeterminate.value = false;
|
|
@@ -27513,7 +27475,7 @@ const VSystemBar = genericComponent()({
|
|
|
27513
27475
|
const {
|
|
27514
27476
|
backgroundColorClasses,
|
|
27515
27477
|
backgroundColorStyles
|
|
27516
|
-
} = useBackgroundColor(
|
|
27478
|
+
} = useBackgroundColor(() => props.color);
|
|
27517
27479
|
const {
|
|
27518
27480
|
elevationClasses
|
|
27519
27481
|
} = useElevation(props);
|
|
@@ -27533,7 +27495,7 @@ const VSystemBar = genericComponent()({
|
|
|
27533
27495
|
layoutSize: height,
|
|
27534
27496
|
elementSize: height,
|
|
27535
27497
|
active: computed(() => true),
|
|
27536
|
-
absolute: toRef(props
|
|
27498
|
+
absolute: toRef(() => props.absolute)
|
|
27537
27499
|
});
|
|
27538
27500
|
useRender(() => createVNode(props.tag, {
|
|
27539
27501
|
"class": ['v-system-bar', {
|
|
@@ -27575,7 +27537,7 @@ const VTab = genericComponent()({
|
|
|
27575
27537
|
const {
|
|
27576
27538
|
textColorClasses: sliderColorClasses,
|
|
27577
27539
|
textColorStyles: sliderColorStyles
|
|
27578
|
-
} = useTextColor(props
|
|
27540
|
+
} = useTextColor(() => props.sliderColor);
|
|
27579
27541
|
const rootEl = ref();
|
|
27580
27542
|
const sliderEl = ref();
|
|
27581
27543
|
const isHorizontal = computed(() => props.direction === 'horizontal');
|
|
@@ -27768,18 +27730,18 @@ const VTabs = genericComponent()({
|
|
|
27768
27730
|
const {
|
|
27769
27731
|
backgroundColorClasses,
|
|
27770
27732
|
backgroundColorStyles
|
|
27771
|
-
} = useBackgroundColor(
|
|
27733
|
+
} = useBackgroundColor(() => props.bgColor);
|
|
27772
27734
|
const {
|
|
27773
27735
|
scopeId
|
|
27774
27736
|
} = useScopeId();
|
|
27775
27737
|
provideDefaults({
|
|
27776
27738
|
VTab: {
|
|
27777
|
-
color: toRef(props
|
|
27778
|
-
direction: toRef(props
|
|
27779
|
-
stacked: toRef(props
|
|
27780
|
-
fixed: toRef(props
|
|
27781
|
-
sliderColor: toRef(props
|
|
27782
|
-
hideSlider: toRef(props
|
|
27739
|
+
color: toRef(() => props.color),
|
|
27740
|
+
direction: toRef(() => props.direction),
|
|
27741
|
+
stacked: toRef(() => props.stacked),
|
|
27742
|
+
fixed: toRef(() => props.fixedTabs),
|
|
27743
|
+
sliderColor: toRef(() => props.sliderColor),
|
|
27744
|
+
hideSlider: toRef(() => props.hideSlider)
|
|
27783
27745
|
}
|
|
27784
27746
|
});
|
|
27785
27747
|
useRender(() => {
|
|
@@ -28129,7 +28091,7 @@ const VTimelineDivider = genericComponent()({
|
|
|
28129
28091
|
const {
|
|
28130
28092
|
backgroundColorStyles,
|
|
28131
28093
|
backgroundColorClasses
|
|
28132
|
-
} = useBackgroundColor(
|
|
28094
|
+
} = useBackgroundColor(() => props.dotColor);
|
|
28133
28095
|
const {
|
|
28134
28096
|
roundedClasses
|
|
28135
28097
|
} = useRounded(props, 'v-timeline-divider__dot');
|
|
@@ -28139,7 +28101,7 @@ const VTimelineDivider = genericComponent()({
|
|
|
28139
28101
|
const {
|
|
28140
28102
|
backgroundColorClasses: lineColorClasses,
|
|
28141
28103
|
backgroundColorStyles: lineColorStyles
|
|
28142
|
-
} = useBackgroundColor(
|
|
28104
|
+
} = useBackgroundColor(() => props.lineColor);
|
|
28143
28105
|
useRender(() => createVNode("div", {
|
|
28144
28106
|
"class": ['v-timeline-divider', {
|
|
28145
28107
|
'v-timeline-divider--fill-dot': props.fillDot
|
|
@@ -28310,17 +28272,17 @@ const VTimeline = genericComponent()({
|
|
|
28310
28272
|
} = useRtl();
|
|
28311
28273
|
provideDefaults({
|
|
28312
28274
|
VTimelineDivider: {
|
|
28313
|
-
lineColor: toRef(props
|
|
28275
|
+
lineColor: toRef(() => props.lineColor)
|
|
28314
28276
|
},
|
|
28315
28277
|
VTimelineItem: {
|
|
28316
|
-
density: toRef(props
|
|
28317
|
-
dotColor: toRef(props
|
|
28318
|
-
fillDot: toRef(props
|
|
28319
|
-
hideOpposite: toRef(props
|
|
28320
|
-
iconColor: toRef(props
|
|
28321
|
-
lineColor: toRef(props
|
|
28322
|
-
lineInset: toRef(props
|
|
28323
|
-
size: toRef(props
|
|
28278
|
+
density: toRef(() => props.density),
|
|
28279
|
+
dotColor: toRef(() => props.dotColor),
|
|
28280
|
+
fillDot: toRef(() => props.fillDot),
|
|
28281
|
+
hideOpposite: toRef(() => props.hideOpposite),
|
|
28282
|
+
iconColor: toRef(() => props.iconColor),
|
|
28283
|
+
lineColor: toRef(() => props.lineColor),
|
|
28284
|
+
lineInset: toRef(() => props.lineInset),
|
|
28285
|
+
size: toRef(() => props.size)
|
|
28324
28286
|
}
|
|
28325
28287
|
});
|
|
28326
28288
|
const sideClasses = computed(() => {
|
|
@@ -28367,9 +28329,9 @@ const VToolbarItems = genericComponent()({
|
|
|
28367
28329
|
} = _ref;
|
|
28368
28330
|
provideDefaults({
|
|
28369
28331
|
VBtn: {
|
|
28370
|
-
color: toRef(props
|
|
28332
|
+
color: toRef(() => props.color),
|
|
28371
28333
|
height: 'inherit',
|
|
28372
|
-
variant: toRef(props
|
|
28334
|
+
variant: toRef(() => props.variant)
|
|
28373
28335
|
}
|
|
28374
28336
|
});
|
|
28375
28337
|
useRender(() => createVNode("div", {
|
|
@@ -28416,7 +28378,7 @@ const VTooltip = genericComponent()({
|
|
|
28416
28378
|
scopeId
|
|
28417
28379
|
} = useScopeId();
|
|
28418
28380
|
const uid = useId();
|
|
28419
|
-
const id =
|
|
28381
|
+
const id = toRef(() => props.id || `v-tooltip-${uid}`);
|
|
28420
28382
|
const overlay = ref();
|
|
28421
28383
|
const location = computed(() => {
|
|
28422
28384
|
return props.location.split(' ').length > 1 ? props.location : props.location + ' center';
|
|
@@ -28424,7 +28386,7 @@ const VTooltip = genericComponent()({
|
|
|
28424
28386
|
const origin = computed(() => {
|
|
28425
28387
|
return props.origin === 'auto' || props.origin === 'overlap' || props.origin.split(' ').length > 1 || props.location.split(' ').length > 1 ? props.origin : props.origin + ' center';
|
|
28426
28388
|
});
|
|
28427
|
-
const transition =
|
|
28389
|
+
const transition = toRef(() => {
|
|
28428
28390
|
if (props.transition) return props.transition;
|
|
28429
28391
|
return isActive.value ? 'scale-transition' : 'fade-transition';
|
|
28430
28392
|
});
|
|
@@ -28503,13 +28465,19 @@ const makeVCalendarIntervalEventProps = propsFactory({
|
|
|
28503
28465
|
}, 'VCalendarIntervalEvent');
|
|
28504
28466
|
const VCalendarIntervalEvent = genericComponent()({
|
|
28505
28467
|
name: 'VCalendarIntervalEvent',
|
|
28468
|
+
inheritAttrs: false,
|
|
28506
28469
|
props: makeVCalendarIntervalEventProps(),
|
|
28507
|
-
setup(props) {
|
|
28470
|
+
setup(props, _ref) {
|
|
28471
|
+
let {
|
|
28472
|
+
attrs,
|
|
28473
|
+
emit,
|
|
28474
|
+
slots
|
|
28475
|
+
} = _ref;
|
|
28508
28476
|
const adapter = useDate();
|
|
28509
28477
|
const calcHeight = () => {
|
|
28510
|
-
if (!props.event?.first && !props.event?.last || adapter.isEqual(props.event?.
|
|
28478
|
+
if (!props.event?.first && !props.event?.last || adapter.isEqual(props.event?.end, props.interval?.end)) {
|
|
28511
28479
|
return {
|
|
28512
|
-
height:
|
|
28480
|
+
height: `${props.intervalHeight}px`,
|
|
28513
28481
|
margin: convertToUnit(0)
|
|
28514
28482
|
};
|
|
28515
28483
|
} else {
|
|
@@ -28518,8 +28486,8 @@ const VCalendarIntervalEvent = genericComponent()({
|
|
|
28518
28486
|
margin
|
|
28519
28487
|
} = Array.from({
|
|
28520
28488
|
length: props.intervalDivisions
|
|
28521
|
-
}, x => x * (props.intervalDuration / props.intervalDivisions)).reduce((total, div, index) => {
|
|
28522
|
-
if (adapter.isBefore(adapter.addMinutes(props.interval?.start, div), props.event?.
|
|
28489
|
+
}, (_, x) => (x + 1) * (props.intervalDuration / props.intervalDivisions)).reduce((total, div, index) => {
|
|
28490
|
+
if (adapter.isBefore(adapter.addMinutes(props.interval?.start, div), props.event?.end)) {
|
|
28523
28491
|
return {
|
|
28524
28492
|
height: convertToUnit(props.intervalHeight / props.intervalDivisions * index),
|
|
28525
28493
|
margin: convertToUnit(props.intervalHeight / props.intervalDivisions * index)
|
|
@@ -28540,16 +28508,30 @@ const VCalendarIntervalEvent = genericComponent()({
|
|
|
28540
28508
|
}
|
|
28541
28509
|
};
|
|
28542
28510
|
useRender(() => {
|
|
28543
|
-
return createVNode(
|
|
28511
|
+
return createVNode("div", null, [slots.intervalEvent?.({
|
|
28512
|
+
height: calcHeight().height,
|
|
28513
|
+
margin: calcHeight().margin,
|
|
28514
|
+
eventClass: 'v-calendar-internal-event',
|
|
28515
|
+
event: props.event,
|
|
28516
|
+
interval: props.interval
|
|
28517
|
+
}) ?? createVNode(VSheet, mergeProps({
|
|
28544
28518
|
"height": calcHeight().height,
|
|
28545
28519
|
"density": "comfortable",
|
|
28546
28520
|
"style": `margin-top: ${calcHeight().margin}`,
|
|
28547
28521
|
"class": "v-calendar-internal-event",
|
|
28548
28522
|
"color": props.event?.color ?? undefined,
|
|
28549
28523
|
"rounded": props.event?.first && props.event?.last ? true : props.event?.first ? 't' : props.event?.last ? 'b' : false
|
|
28550
|
-
}, {
|
|
28524
|
+
}, getPrefixedEventHandlers(attrs, ':event', () => ({
|
|
28525
|
+
event: props.event,
|
|
28526
|
+
allDay: false,
|
|
28527
|
+
day: null,
|
|
28528
|
+
interval: props.interval,
|
|
28529
|
+
intervalDivisions: props.intervalDivisions,
|
|
28530
|
+
intervalDuration: props.intervalDuration,
|
|
28531
|
+
intervalHeight: props.intervalHeight
|
|
28532
|
+
}))), {
|
|
28551
28533
|
default: () => [props.event?.first ? props.event?.title : '']
|
|
28552
|
-
});
|
|
28534
|
+
})]);
|
|
28553
28535
|
});
|
|
28554
28536
|
return {};
|
|
28555
28537
|
}
|
|
@@ -28585,6 +28567,7 @@ const makeVCalendarIntervalProps = propsFactory({
|
|
|
28585
28567
|
}, 'VCalendarInterval');
|
|
28586
28568
|
const VCalendarInterval = genericComponent()({
|
|
28587
28569
|
name: 'VCalendarInterval',
|
|
28570
|
+
inheritAttrs: false,
|
|
28588
28571
|
props: {
|
|
28589
28572
|
index: {
|
|
28590
28573
|
type: Number,
|
|
@@ -28594,6 +28577,7 @@ const VCalendarInterval = genericComponent()({
|
|
|
28594
28577
|
},
|
|
28595
28578
|
setup(props, _ref) {
|
|
28596
28579
|
let {
|
|
28580
|
+
attrs,
|
|
28597
28581
|
emit,
|
|
28598
28582
|
slots
|
|
28599
28583
|
} = _ref;
|
|
@@ -28619,39 +28603,74 @@ const VCalendarInterval = genericComponent()({
|
|
|
28619
28603
|
return props.dayIndex === 0 ? createVNode("div", {
|
|
28620
28604
|
"class": "v-calendar-day__row-with-label",
|
|
28621
28605
|
"style": `height: ${convertToUnit(props.intervalHeight)}`
|
|
28622
|
-
}, [createVNode("div", {
|
|
28606
|
+
}, [createVNode("div", mergeProps({
|
|
28623
28607
|
"class": "v-calendar-day__row-label"
|
|
28624
|
-
},
|
|
28625
|
-
|
|
28626
|
-
|
|
28627
|
-
}, [props.index ? props.intervalFormat ? typeof props.intervalFormat === 'string' ? adapter.format(interval.value.start, 'hours12h') : props.intervalFormat(interval.value) : interval.value.label : ''])]), createVNode("div", {
|
|
28608
|
+
}, getPrefixedEventHandlers(attrs, ':time', () => props)), [slots.intervalTitle?.({
|
|
28609
|
+
interval: interval.value
|
|
28610
|
+
}) ?? (props.index ? props.intervalFormat ? typeof props.intervalFormat === 'string' ? adapter.format(interval.value.start, 'hours12h') : props.intervalFormat(interval.value) : interval.value.label : '12 AM')]), createVNode("div", {
|
|
28628
28611
|
"class": "v-calendar-day__row-hairline"
|
|
28629
|
-
}, null), createVNode("div", {
|
|
28612
|
+
}, null), createVNode("div", mergeProps({
|
|
28630
28613
|
"class": ['v-calendar-day__row-content', interval.value.events.some(e => !e.last) ? 'v-calendar-day__row-content-through' : '']
|
|
28631
|
-
},
|
|
28632
|
-
|
|
28633
|
-
|
|
28634
|
-
}, [interval.value.events?.map(event => createVNode(VCalendarIntervalEvent, {
|
|
28614
|
+
}, getPrefixedEventHandlers(attrs, ':interval', () => interval.value)), [slots.intervalBody?.({
|
|
28615
|
+
interval: interval.value
|
|
28616
|
+
}) ?? createVNode("div", null, [interval.value.events?.map(event => createVNode(VCalendarIntervalEvent, mergeProps({
|
|
28635
28617
|
"event": event,
|
|
28636
28618
|
"interval": interval.value,
|
|
28637
28619
|
"intervalDivisions": props.intervalDivisions,
|
|
28638
28620
|
"intervalDuration": props.intervalDuration,
|
|
28639
28621
|
"intervalHeight": props.intervalHeight
|
|
28640
|
-
},
|
|
28622
|
+
}, attrs), {
|
|
28623
|
+
...(slots.intervalEvent ? {
|
|
28624
|
+
intervalEvent: _ref2 => {
|
|
28625
|
+
let {
|
|
28626
|
+
height,
|
|
28627
|
+
margin,
|
|
28628
|
+
eventClass,
|
|
28629
|
+
event,
|
|
28630
|
+
interval
|
|
28631
|
+
} = _ref2;
|
|
28632
|
+
return slots.intervalEvent?.({
|
|
28633
|
+
height,
|
|
28634
|
+
margin,
|
|
28635
|
+
eventClass,
|
|
28636
|
+
event,
|
|
28637
|
+
interval
|
|
28638
|
+
});
|
|
28639
|
+
}
|
|
28640
|
+
} : {})
|
|
28641
|
+
}))])])]) : createVNode("div", {
|
|
28641
28642
|
"class": "v-calendar-day__row-without-label",
|
|
28642
28643
|
"style": `height: ${convertToUnit(props.intervalHeight)}`
|
|
28643
|
-
}, [createVNode("div", {
|
|
28644
|
+
}, [createVNode("div", mergeProps({
|
|
28644
28645
|
"class": ['v-calendar-day__row-content', interval.value.events.some(e => !e.last) ? 'v-calendar-day__row-content-through' : '']
|
|
28645
|
-
},
|
|
28646
|
-
|
|
28647
|
-
|
|
28648
|
-
}, [interval.value.events?.filter(event => !event.allDay).map(event => createVNode(VCalendarIntervalEvent, {
|
|
28646
|
+
}, getPrefixedEventHandlers(attrs, ':interval', () => interval.value)), [slots.intervalBody?.({
|
|
28647
|
+
interval: interval.value
|
|
28648
|
+
}) ?? interval.value.events?.map(event => createVNode(VCalendarIntervalEvent, mergeProps({
|
|
28649
28649
|
"event": event,
|
|
28650
28650
|
"interval": interval.value,
|
|
28651
28651
|
"intervalDivisions": props.intervalDivisions,
|
|
28652
28652
|
"intervalDuration": props.intervalDuration,
|
|
28653
28653
|
"intervalHeight": props.intervalHeight
|
|
28654
|
-
},
|
|
28654
|
+
}, attrs), {
|
|
28655
|
+
...(slots.intervalEvent ? {
|
|
28656
|
+
intervalEvent: _ref3 => {
|
|
28657
|
+
let {
|
|
28658
|
+
height,
|
|
28659
|
+
margin,
|
|
28660
|
+
eventClass,
|
|
28661
|
+
event,
|
|
28662
|
+
interval
|
|
28663
|
+
} = _ref3;
|
|
28664
|
+
return slots.intervalEvent?.({
|
|
28665
|
+
height,
|
|
28666
|
+
margin,
|
|
28667
|
+
eventClass,
|
|
28668
|
+
event,
|
|
28669
|
+
interval
|
|
28670
|
+
});
|
|
28671
|
+
}
|
|
28672
|
+
} : {})
|
|
28673
|
+
}))])]);
|
|
28655
28674
|
});
|
|
28656
28675
|
return {
|
|
28657
28676
|
interval
|
|
@@ -28659,6 +28678,8 @@ const VCalendarInterval = genericComponent()({
|
|
|
28659
28678
|
}
|
|
28660
28679
|
});
|
|
28661
28680
|
|
|
28681
|
+
// Types
|
|
28682
|
+
|
|
28662
28683
|
const makeVCalendarDayProps = propsFactory({
|
|
28663
28684
|
hideDayHeader: Boolean,
|
|
28664
28685
|
intervals: {
|
|
@@ -28669,26 +28690,34 @@ const makeVCalendarDayProps = propsFactory({
|
|
|
28669
28690
|
}, 'VCalendarDay');
|
|
28670
28691
|
const VCalendarDay = genericComponent()({
|
|
28671
28692
|
name: 'VCalendarDay',
|
|
28693
|
+
inheritAttrs: false,
|
|
28672
28694
|
props: makeVCalendarDayProps(),
|
|
28673
|
-
setup(props) {
|
|
28695
|
+
setup(props, _ref) {
|
|
28696
|
+
let {
|
|
28697
|
+
attrs,
|
|
28698
|
+
slots
|
|
28699
|
+
} = _ref;
|
|
28674
28700
|
const adapter = useDate();
|
|
28675
28701
|
const intervals = computed(() => [...Array.from({
|
|
28676
28702
|
length: props.intervals
|
|
28677
|
-
}, (v, i) => i).filter((
|
|
28703
|
+
}, (v, i) => i).filter((_, index) => props.intervalDuration * (index + props.intervalStart) < 1440)]);
|
|
28678
28704
|
useRender(() => {
|
|
28679
28705
|
const calendarIntervalProps = VCalendarInterval.filterProps(props);
|
|
28680
28706
|
return createVNode("div", {
|
|
28681
28707
|
"class": "v-calendar-day__container"
|
|
28682
|
-
}, [!props.hideDayHeader && createVNode("div", {
|
|
28683
|
-
"key": "
|
|
28708
|
+
}, [!props.hideDayHeader && createVNode("div", mergeProps({
|
|
28709
|
+
"key": "calendar-week-name",
|
|
28684
28710
|
"class": "v-calendar-weekly__head-weekday"
|
|
28685
|
-
}, [adapter.format(props.day.date, 'weekdayShort'), createVNode("div", null, [createVNode(VBtn, {
|
|
28711
|
+
}, getPrefixedEventHandlers(attrs, ':day', () => props.day)), [adapter.format(props.day.date, 'weekdayShort'), createVNode("div", null, [createVNode(VBtn, mergeProps(getPrefixedEventHandlers(attrs, ':date', () => props.day), {
|
|
28712
|
+
"class": props.day?.isToday ? 'v-calendar-day-label__today' : undefined,
|
|
28686
28713
|
"icon": true,
|
|
28687
28714
|
"text": adapter.format(props.day.date, 'dayOfMonth'),
|
|
28688
|
-
"variant":
|
|
28689
|
-
}, null)])]), intervals.value.map((_, index) => createVNode(VCalendarInterval, mergeProps({
|
|
28715
|
+
"variant": props.day?.isToday ? undefined : 'text'
|
|
28716
|
+
}), null)])]), intervals.value.map((_, index) => slots.interval?.(calendarIntervalProps) ?? createVNode(VCalendarInterval, mergeProps({
|
|
28690
28717
|
"index": index
|
|
28691
|
-
}, calendarIntervalProps
|
|
28718
|
+
}, calendarIntervalProps, attrs, getPrefixedEventHandlers(attrs, ':interval', () => calendarIntervalProps)), {
|
|
28719
|
+
...pick(slots, ['intervalBody', 'intervalEvent', 'intervalTitle'])
|
|
28720
|
+
}))]);
|
|
28692
28721
|
});
|
|
28693
28722
|
return {
|
|
28694
28723
|
intervals
|
|
@@ -28727,7 +28756,8 @@ const VCalendarHeader = genericComponent()({
|
|
|
28727
28756
|
},
|
|
28728
28757
|
setup(props, _ref) {
|
|
28729
28758
|
let {
|
|
28730
|
-
emit
|
|
28759
|
+
emit,
|
|
28760
|
+
slots
|
|
28731
28761
|
} = _ref;
|
|
28732
28762
|
const {
|
|
28733
28763
|
t
|
|
@@ -28761,7 +28791,9 @@ const VCalendarHeader = genericComponent()({
|
|
|
28761
28791
|
"onClick": next
|
|
28762
28792
|
}, null), createVNode("div", {
|
|
28763
28793
|
"class": "v-calendar-header__title"
|
|
28764
|
-
}, [
|
|
28794
|
+
}, [slots.title?.({
|
|
28795
|
+
title: props.title
|
|
28796
|
+
}) ?? createVNode("span", null, [props.title])])]));
|
|
28765
28797
|
return {};
|
|
28766
28798
|
}
|
|
28767
28799
|
});
|
|
@@ -28773,14 +28805,24 @@ const makeVCalendarEventProps = propsFactory({
|
|
|
28773
28805
|
}, 'VCalendarEvent');
|
|
28774
28806
|
const VCalendarEvent = genericComponent()({
|
|
28775
28807
|
name: 'VCalendarEvent',
|
|
28808
|
+
inheritAttrs: false,
|
|
28776
28809
|
props: makeVCalendarEventProps(),
|
|
28777
|
-
setup(props) {
|
|
28778
|
-
|
|
28810
|
+
setup(props, _ref) {
|
|
28811
|
+
let {
|
|
28812
|
+
attrs,
|
|
28813
|
+
emit,
|
|
28814
|
+
slots
|
|
28815
|
+
} = _ref;
|
|
28816
|
+
useRender(() => createVNode(VChip, mergeProps({
|
|
28779
28817
|
"color": props.allDay ? 'primary' : undefined,
|
|
28780
28818
|
"density": "comfortable",
|
|
28781
28819
|
"label": props.allDay,
|
|
28782
28820
|
"width": "100%"
|
|
28783
|
-
}, {
|
|
28821
|
+
}, getPrefixedEventHandlers(attrs, ':event', () => ({
|
|
28822
|
+
allDay: props.allDay,
|
|
28823
|
+
day: props.day,
|
|
28824
|
+
event: props.event
|
|
28825
|
+
}))), {
|
|
28784
28826
|
default: () => [createVNode(VBadge, {
|
|
28785
28827
|
"inline": true,
|
|
28786
28828
|
"dot": true,
|
|
@@ -28791,87 +28833,95 @@ const VCalendarEvent = genericComponent()({
|
|
|
28791
28833
|
}
|
|
28792
28834
|
});
|
|
28793
28835
|
|
|
28836
|
+
// Types
|
|
28837
|
+
|
|
28794
28838
|
const makeVCalendarMonthDayProps = propsFactory({
|
|
28795
28839
|
active: Boolean,
|
|
28796
28840
|
color: String,
|
|
28797
|
-
day:
|
|
28841
|
+
day: {
|
|
28842
|
+
type: Object
|
|
28843
|
+
},
|
|
28798
28844
|
disabled: Boolean,
|
|
28799
28845
|
events: Array,
|
|
28800
28846
|
title: [Number, String]
|
|
28801
28847
|
}, 'VCalendarMonthDay');
|
|
28802
28848
|
const VCalendarMonthDay = genericComponent()({
|
|
28803
28849
|
name: 'VCalendarMonthDay',
|
|
28850
|
+
inheritAttrs: false,
|
|
28804
28851
|
props: makeVCalendarMonthDayProps(),
|
|
28805
28852
|
setup(props, _ref) {
|
|
28806
28853
|
let {
|
|
28807
|
-
|
|
28854
|
+
attrs,
|
|
28808
28855
|
slots
|
|
28809
28856
|
} = _ref;
|
|
28810
28857
|
useRender(() => {
|
|
28811
|
-
|
|
28812
|
-
title: props.title
|
|
28813
|
-
}));
|
|
28814
|
-
return createVNode("div", {
|
|
28858
|
+
return createVNode("div", mergeProps({
|
|
28815
28859
|
"class": ['v-calendar-month__day']
|
|
28816
|
-
}, [!props.day?.isHidden
|
|
28860
|
+
}, getPrefixedEventHandlers(attrs, ':day', () => props)), [!props.day?.isHidden ? createVNode("div", {
|
|
28817
28861
|
"key": "title",
|
|
28818
28862
|
"class": "v-calendar-weekly__day-label"
|
|
28819
|
-
}, [slots.
|
|
28863
|
+
}, [slots.dayTitle?.({
|
|
28820
28864
|
title: props.title
|
|
28821
|
-
}) ?? createVNode(VBtn, {
|
|
28865
|
+
}) ?? createVNode(VBtn, mergeProps({
|
|
28822
28866
|
"class": props.day?.isToday ? 'v-calendar-weekly__day-label__today' : undefined,
|
|
28823
28867
|
"color": props.color,
|
|
28824
28868
|
"disabled": props.disabled,
|
|
28825
28869
|
"icon": true,
|
|
28826
28870
|
"size": "x-small",
|
|
28827
|
-
"variant": props.day?.isToday ? undefined : 'flat'
|
|
28828
|
-
|
|
28829
|
-
|
|
28830
|
-
})]), !props.day?.isHidden && createVNode("div", {
|
|
28871
|
+
"variant": props.day?.isToday ? undefined : 'flat',
|
|
28872
|
+
"text": `${props.title}`
|
|
28873
|
+
}, getPrefixedEventHandlers(attrs, ':date', () => props)), null)]) : undefined, !props.day?.isHidden ? createVNode("div", {
|
|
28831
28874
|
"key": "content",
|
|
28832
28875
|
"class": "v-calendar-weekly__day-content"
|
|
28833
|
-
}, [slots.
|
|
28876
|
+
}, [slots.dayBody?.({
|
|
28877
|
+
day: props.day,
|
|
28878
|
+
events: props.events
|
|
28879
|
+
}) ?? createVNode("div", null, [createVNode("div", {
|
|
28834
28880
|
"class": "v-calendar-weekly__day-alldayevents-container"
|
|
28835
|
-
}, [props.events?.filter(event => event.allDay).map(event => slots.
|
|
28881
|
+
}, [props.events?.filter(event => event.allDay).map(event => slots.dayEvent ? slots.dayEvent({
|
|
28836
28882
|
day: props.day,
|
|
28837
28883
|
allDay: true,
|
|
28838
28884
|
event
|
|
28839
|
-
}) : createVNode(VCalendarEvent, {
|
|
28885
|
+
}) : createVNode(VCalendarEvent, mergeProps({
|
|
28840
28886
|
"day": props.day,
|
|
28841
28887
|
"event": event,
|
|
28842
28888
|
"allDay": true
|
|
28843
|
-
}, null))]), createVNode("div", {
|
|
28889
|
+
}, attrs), null))]), createVNode("div", {
|
|
28844
28890
|
"class": "v-calendar-weekly__day-events-container"
|
|
28845
|
-
}, [props.events?.filter(event => !event.allDay).map(event => slots.
|
|
28891
|
+
}, [props.events?.filter(event => !event.allDay).map(event => slots.dayEvent ? slots.dayEvent({
|
|
28846
28892
|
day: props.day,
|
|
28847
28893
|
event,
|
|
28848
28894
|
allDay: false
|
|
28849
|
-
}) : createVNode(VCalendarEvent, {
|
|
28895
|
+
}) : createVNode(VCalendarEvent, mergeProps({
|
|
28850
28896
|
"day": props.day,
|
|
28851
28897
|
"event": event
|
|
28852
|
-
}, null))])])])
|
|
28898
|
+
}, attrs), null))])])]) : undefined]);
|
|
28853
28899
|
});
|
|
28854
28900
|
return {};
|
|
28855
28901
|
}
|
|
28856
28902
|
});
|
|
28857
28903
|
|
|
28904
|
+
// Types
|
|
28905
|
+
|
|
28858
28906
|
const makeVCalendarProps = propsFactory({
|
|
28859
28907
|
hideHeader: Boolean,
|
|
28860
28908
|
hideWeekNumber: Boolean,
|
|
28861
28909
|
...makeCalendarProps(),
|
|
28862
28910
|
...makeVCalendarDayProps(),
|
|
28863
28911
|
...makeVCalendarHeaderProps()
|
|
28864
|
-
}, '
|
|
28912
|
+
}, 'VCalendar');
|
|
28865
28913
|
const VCalendar = genericComponent()({
|
|
28866
28914
|
name: 'VCalendar',
|
|
28867
28915
|
props: makeVCalendarProps(),
|
|
28868
28916
|
emits: {
|
|
28869
28917
|
next: null,
|
|
28870
28918
|
prev: null,
|
|
28919
|
+
today: null,
|
|
28871
28920
|
'update:modelValue': null
|
|
28872
28921
|
},
|
|
28873
28922
|
setup(props, _ref) {
|
|
28874
28923
|
let {
|
|
28924
|
+
attrs,
|
|
28875
28925
|
emit,
|
|
28876
28926
|
slots
|
|
28877
28927
|
} = _ref;
|
|
@@ -28889,27 +28939,33 @@ const VCalendar = genericComponent()({
|
|
|
28889
28939
|
function onClickNext() {
|
|
28890
28940
|
if (props.viewMode === 'month') {
|
|
28891
28941
|
model.value = [adapter.addMonths(displayValue.value, 1)];
|
|
28892
|
-
}
|
|
28893
|
-
if (props.viewMode === 'week') {
|
|
28942
|
+
} else if (props.viewMode === 'week') {
|
|
28894
28943
|
model.value = [adapter.addDays(displayValue.value, 7)];
|
|
28895
|
-
}
|
|
28896
|
-
if (props.viewMode === 'day') {
|
|
28944
|
+
} else if (props.viewMode === 'day') {
|
|
28897
28945
|
model.value = [adapter.addDays(displayValue.value, 1)];
|
|
28898
28946
|
}
|
|
28947
|
+
nextTick(() => {
|
|
28948
|
+
emit('next', model.value[0]);
|
|
28949
|
+
});
|
|
28899
28950
|
}
|
|
28900
28951
|
function onClickPrev() {
|
|
28901
28952
|
if (props.viewMode === 'month') {
|
|
28902
28953
|
model.value = [adapter.addMonths(displayValue.value, -1)];
|
|
28903
|
-
}
|
|
28904
|
-
if (props.viewMode === 'week') {
|
|
28954
|
+
} else if (props.viewMode === 'week') {
|
|
28905
28955
|
model.value = [adapter.addDays(displayValue.value, -7)];
|
|
28906
|
-
}
|
|
28907
|
-
if (props.viewMode === 'day') {
|
|
28956
|
+
} else if (props.viewMode === 'day') {
|
|
28908
28957
|
model.value = [adapter.addDays(displayValue.value, -1)];
|
|
28909
28958
|
}
|
|
28959
|
+
nextTick(() => {
|
|
28960
|
+
emit('prev', model.value[0]);
|
|
28961
|
+
});
|
|
28910
28962
|
}
|
|
28911
28963
|
function onClickToday() {
|
|
28912
|
-
|
|
28964
|
+
const date = adapter.date();
|
|
28965
|
+
model.value = [date];
|
|
28966
|
+
nextTick(() => {
|
|
28967
|
+
emit('today', model.value[0]);
|
|
28968
|
+
});
|
|
28913
28969
|
}
|
|
28914
28970
|
const title = computed(() => {
|
|
28915
28971
|
return adapter.format(displayValue.value, 'monthAndYear');
|
|
@@ -28923,20 +28979,25 @@ const VCalendar = genericComponent()({
|
|
|
28923
28979
|
'v-calendar-weekly': props.viewMode === 'week',
|
|
28924
28980
|
'v-calendar-day': props.viewMode === 'day'
|
|
28925
28981
|
}]
|
|
28926
|
-
}, [createVNode("div", null, [!props.hideHeader && (
|
|
28982
|
+
}, [createVNode("div", null, [!props.hideHeader && (slots.header?.({
|
|
28983
|
+
title: title.value,
|
|
28984
|
+
clickNext: onClickNext,
|
|
28985
|
+
clickPrev: onClickPrev,
|
|
28986
|
+
clickToday: onClickToday
|
|
28987
|
+
}) ?? createVNode(VCalendarHeader, mergeProps({
|
|
28927
28988
|
"key": "calendar-header"
|
|
28928
28989
|
}, calendarHeaderProps, {
|
|
28929
28990
|
"title": title.value,
|
|
28930
28991
|
"onClick:next": onClickNext,
|
|
28931
28992
|
"onClick:prev": onClickPrev,
|
|
28932
28993
|
"onClick:toToday": onClickToday
|
|
28933
|
-
}),
|
|
28934
|
-
title: title
|
|
28994
|
+
}), {
|
|
28995
|
+
title: slots.title
|
|
28935
28996
|
}))]), createVNode("div", {
|
|
28936
28997
|
"class": ['v-calendar__container', `days__${weekDays.value.length}`]
|
|
28937
28998
|
}, [props.viewMode === 'month' && !props.hideDayHeader && createVNode("div", {
|
|
28938
28999
|
"class": ['v-calendar-weekly__head', `days__${weekDays.value.length}`, ...(!props.hideWeekNumber ? ['v-calendar-weekly__head-weeknumbers'] : [])],
|
|
28939
|
-
"key": "
|
|
29000
|
+
"key": "calendarWeeklyHead"
|
|
28940
29001
|
}, [!props.hideWeekNumber ? createVNode("div", {
|
|
28941
29002
|
"key": "weekNumber0",
|
|
28942
29003
|
"class": "v-calendar-weekly__head-weeknumber"
|
|
@@ -28945,24 +29006,39 @@ const VCalendar = genericComponent()({
|
|
|
28945
29006
|
}, [dayNames[weekday]]))]), props.viewMode === 'month' && createVNode("div", {
|
|
28946
29007
|
"key": "VCalendarMonth",
|
|
28947
29008
|
"class": ['v-calendar-month__days', `days${!props.hideWeekNumber ? '-with-weeknumbers' : ''}__${weekDays.value.length}`, ...(!props.hideWeekNumber ? ['v-calendar-month__weeknumbers'] : [])]
|
|
28948
|
-
}, [chunkArray(daysInMonth.value, weekDays.value.length).map((week, wi) => [!props.hideWeekNumber ? createVNode("div", {
|
|
29009
|
+
}, [chunkArray(daysInMonth.value, weekDays.value.length).map((week, wi) => [!props.hideWeekNumber ? createVNode("div", mergeProps({
|
|
28949
29010
|
"class": "v-calendar-month__weeknumber"
|
|
28950
|
-
},
|
|
28951
|
-
|
|
29011
|
+
}, getPrefixedEventHandlers(attrs, ':weekNumber', () => ({
|
|
29012
|
+
weekNumber: weekNumbers.value[wi],
|
|
29013
|
+
week
|
|
29014
|
+
}))), [weekNumbers.value[wi]]) : '', week.map(day => createVNode(VCalendarMonthDay, mergeProps({
|
|
29015
|
+
"key": day.date.getTime()
|
|
29016
|
+
}, calendarDayProps, {
|
|
28952
29017
|
"day": day,
|
|
28953
|
-
"title":
|
|
29018
|
+
"title": adapter.format(day.date, 'dayOfMonth'),
|
|
28954
29019
|
"events": props.events?.filter(e => adapter.isSameDay(day.date, e.start) || adapter.isSameDay(day.date, e.end))
|
|
28955
|
-
}, {
|
|
28956
|
-
event
|
|
28957
|
-
}))])]), props.viewMode === 'week' && daysInWeek.value.map((day, i) =>
|
|
29020
|
+
}, attrs), {
|
|
29021
|
+
...pick(slots, ['day-body', 'day-event', 'day-title'])
|
|
29022
|
+
}))])]), props.viewMode === 'week' && daysInWeek.value.map((day, i) => slots['day-interval'] ? slots['day-interval']?.({
|
|
29023
|
+
...calendarDayProps,
|
|
29024
|
+
day,
|
|
29025
|
+
dayIndex: i,
|
|
29026
|
+
events: props.events?.filter(e => adapter.isSameDay(e.start, day.date) || adapter.isSameDay(e.end, day.date))
|
|
29027
|
+
}) : createVNode(VCalendarDay, mergeProps(calendarDayProps, {
|
|
28958
29028
|
"day": day,
|
|
28959
29029
|
"dayIndex": i,
|
|
28960
29030
|
"events": props.events?.filter(e => adapter.isSameDay(e.start, day.date) || adapter.isSameDay(e.end, day.date))
|
|
28961
|
-
}
|
|
28962
|
-
|
|
29031
|
+
}, attrs), {
|
|
29032
|
+
...pick(slots, ['interval', 'intervalBody', 'intervalEvent', 'intervalTitle'])
|
|
29033
|
+
})), props.viewMode === 'day' && (slots['day-interval'] ? slots['day-interval']({
|
|
29034
|
+
day: genDays([displayValue.value], adapter.date())[0],
|
|
29035
|
+
dayIndex: 0,
|
|
29036
|
+
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))
|
|
29037
|
+
}) : createVNode(VCalendarDay, mergeProps(calendarDayProps, {
|
|
29038
|
+
"day": genDays([model.value[0]], adapter.date())[0],
|
|
28963
29039
|
"dayIndex": 0,
|
|
28964
|
-
"events": props.events?.filter(e => adapter.isSameDay(e.start, genDays([
|
|
28965
|
-
}), null)])]);
|
|
29040
|
+
"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))
|
|
29041
|
+
}, attrs), null))])]);
|
|
28966
29042
|
});
|
|
28967
29043
|
return {
|
|
28968
29044
|
daysInMonth,
|
|
@@ -29511,10 +29587,7 @@ const makeVIconBtnProps = propsFactory({
|
|
|
29511
29587
|
hideOverlay: Boolean,
|
|
29512
29588
|
icon: [String, Function, Object],
|
|
29513
29589
|
iconColor: String,
|
|
29514
|
-
iconSize:
|
|
29515
|
-
type: [Number, String],
|
|
29516
|
-
default: 'default'
|
|
29517
|
-
},
|
|
29590
|
+
iconSize: [Number, String],
|
|
29518
29591
|
iconSizes: {
|
|
29519
29592
|
type: Array,
|
|
29520
29593
|
default: () => [['x-small', 10], ['small', 16], ['default', 24], ['large', 28], ['x-large', 32]]
|
|
@@ -29575,7 +29648,7 @@ const VIconBtn = genericComponent()({
|
|
|
29575
29648
|
colorClasses,
|
|
29576
29649
|
colorStyles,
|
|
29577
29650
|
variantClasses
|
|
29578
|
-
} = useVariant(
|
|
29651
|
+
} = useVariant(() => ({
|
|
29579
29652
|
color: (() => {
|
|
29580
29653
|
if (props.disabled) return undefined;
|
|
29581
29654
|
if (!isActive.value) return props.color;
|
|
@@ -29590,7 +29663,7 @@ const VIconBtn = genericComponent()({
|
|
|
29590
29663
|
if (isActive.value) return props.activeVariant ?? props.variant;
|
|
29591
29664
|
return props.baseVariant ?? props.variant;
|
|
29592
29665
|
})()
|
|
29593
|
-
}))
|
|
29666
|
+
}));
|
|
29594
29667
|
const btnSizeMap = new Map(props.sizes);
|
|
29595
29668
|
const iconSizeMap = new Map(props.iconSizes);
|
|
29596
29669
|
function onClick() {
|
|
@@ -29599,13 +29672,14 @@ const VIconBtn = genericComponent()({
|
|
|
29599
29672
|
}
|
|
29600
29673
|
useRender(() => {
|
|
29601
29674
|
const icon = isActive.value ? props.activeIcon ?? props.icon : props.icon;
|
|
29602
|
-
const
|
|
29603
|
-
const hasNamedSize = btnSizeMap.has(
|
|
29604
|
-
const btnSize = hasNamedSize ? btnSizeMap.get(
|
|
29675
|
+
const _btnSize = props.size;
|
|
29676
|
+
const hasNamedSize = btnSizeMap.has(_btnSize);
|
|
29677
|
+
const btnSize = hasNamedSize ? btnSizeMap.get(_btnSize) : _btnSize;
|
|
29605
29678
|
const btnHeight = props.height ?? btnSize;
|
|
29606
29679
|
const btnWidth = props.width ?? btnSize;
|
|
29607
|
-
const _iconSize =
|
|
29608
|
-
const
|
|
29680
|
+
const _iconSize = props.iconSize;
|
|
29681
|
+
const hasNamedIconSize = iconSizeMap.has(_iconSize);
|
|
29682
|
+
const iconSize = !_iconSize ? hasNamedSize ? iconSizeMap.get(_btnSize) : iconSizeMap.get('default') : hasNamedIconSize ? iconSizeMap.get(_iconSize) : _iconSize;
|
|
29609
29683
|
const iconProps = {
|
|
29610
29684
|
icon,
|
|
29611
29685
|
size: iconSize,
|
|
@@ -30086,11 +30160,11 @@ const VTimePickerClock = genericComponent()({
|
|
|
30086
30160
|
const {
|
|
30087
30161
|
textColorClasses,
|
|
30088
30162
|
textColorStyles
|
|
30089
|
-
} = useTextColor(
|
|
30163
|
+
} = useTextColor(() => props.color);
|
|
30090
30164
|
const {
|
|
30091
30165
|
backgroundColorClasses,
|
|
30092
30166
|
backgroundColorStyles
|
|
30093
|
-
} = useBackgroundColor(
|
|
30167
|
+
} = useBackgroundColor(() => props.color);
|
|
30094
30168
|
const count = computed(() => props.max - props.min + 1);
|
|
30095
30169
|
const roundCount = computed(() => props.double ? count.value / 2 : count.value);
|
|
30096
30170
|
const degreesPerUnit = computed(() => 360 / roundCount.value);
|
|
@@ -30950,9 +31024,9 @@ const VTreeview = genericComponent()({
|
|
|
30950
31024
|
const {
|
|
30951
31025
|
items
|
|
30952
31026
|
} = useListItems(props);
|
|
30953
|
-
const activeColor = toRef(props
|
|
30954
|
-
const baseColor = toRef(props
|
|
30955
|
-
const color = toRef(props
|
|
31027
|
+
const activeColor = toRef(() => props.activeColor);
|
|
31028
|
+
const baseColor = toRef(() => props.baseColor);
|
|
31029
|
+
const color = toRef(() => props.color);
|
|
30956
31030
|
const activated = useProxiedModel(props, 'activated');
|
|
30957
31031
|
const model = useProxiedModel(props, 'modelValue');
|
|
30958
31032
|
const _selected = useProxiedModel(props, 'selected', props.modelValue);
|
|
@@ -30966,7 +31040,7 @@ const VTreeview = genericComponent()({
|
|
|
30966
31040
|
const vListRef = ref();
|
|
30967
31041
|
const opened = computed(() => props.openAll ? openAll(items.value) : props.opened);
|
|
30968
31042
|
const flatItems = computed(() => flatten(items.value));
|
|
30969
|
-
const search = toRef(props
|
|
31043
|
+
const search = toRef(() => props.search);
|
|
30970
31044
|
const {
|
|
30971
31045
|
filteredItems
|
|
30972
31046
|
} = useFilter(props, flatItems, search);
|
|
@@ -31009,18 +31083,18 @@ const VTreeview = genericComponent()({
|
|
|
31009
31083
|
activeColor,
|
|
31010
31084
|
baseColor,
|
|
31011
31085
|
color,
|
|
31012
|
-
collapseIcon: toRef(props
|
|
31013
|
-
expandIcon: toRef(props
|
|
31086
|
+
collapseIcon: toRef(() => props.collapseIcon),
|
|
31087
|
+
expandIcon: toRef(() => props.expandIcon)
|
|
31014
31088
|
},
|
|
31015
31089
|
VTreeviewItem: {
|
|
31016
|
-
activeClass: toRef(props
|
|
31090
|
+
activeClass: toRef(() => props.activeClass),
|
|
31017
31091
|
activeColor,
|
|
31018
31092
|
baseColor,
|
|
31019
31093
|
color,
|
|
31020
|
-
density: toRef(props
|
|
31021
|
-
disabled: toRef(props
|
|
31022
|
-
lines: toRef(props
|
|
31023
|
-
variant: toRef(props
|
|
31094
|
+
density: toRef(() => props.density),
|
|
31095
|
+
disabled: toRef(() => props.disabled),
|
|
31096
|
+
lines: toRef(() => props.lines),
|
|
31097
|
+
variant: toRef(() => props.variant)
|
|
31024
31098
|
}
|
|
31025
31099
|
});
|
|
31026
31100
|
useRender(() => {
|
|
@@ -31560,7 +31634,7 @@ function createVuetify$1() {
|
|
|
31560
31634
|
};
|
|
31561
31635
|
});
|
|
31562
31636
|
}
|
|
31563
|
-
const version$1 = "3.8.
|
|
31637
|
+
const version$1 = "3.8.3";
|
|
31564
31638
|
createVuetify$1.version = version$1;
|
|
31565
31639
|
|
|
31566
31640
|
// Vue's inject() can only be used in setup
|
|
@@ -31743,7 +31817,7 @@ const md3 = {
|
|
|
31743
31817
|
flat: true
|
|
31744
31818
|
},
|
|
31745
31819
|
VAutocomplete: {
|
|
31746
|
-
variant: '
|
|
31820
|
+
variant: 'outlined'
|
|
31747
31821
|
},
|
|
31748
31822
|
VBanner: {
|
|
31749
31823
|
color: 'primary'
|
|
@@ -31772,7 +31846,10 @@ const md3 = {
|
|
|
31772
31846
|
rounded: 'sm'
|
|
31773
31847
|
},
|
|
31774
31848
|
VCombobox: {
|
|
31775
|
-
variant: '
|
|
31849
|
+
variant: 'outlined'
|
|
31850
|
+
},
|
|
31851
|
+
VDateInput: {
|
|
31852
|
+
variant: 'outlined'
|
|
31776
31853
|
},
|
|
31777
31854
|
VDatePicker: {
|
|
31778
31855
|
controlHeight: 48,
|
|
@@ -31786,6 +31863,9 @@ const md3 = {
|
|
|
31786
31863
|
rounded: 'circle'
|
|
31787
31864
|
}
|
|
31788
31865
|
},
|
|
31866
|
+
VFileInput: {
|
|
31867
|
+
variant: 'outlined'
|
|
31868
|
+
},
|
|
31789
31869
|
VNavigationDrawer: {
|
|
31790
31870
|
// VList: {
|
|
31791
31871
|
// nav: true,
|
|
@@ -31794,8 +31874,15 @@ const md3 = {
|
|
|
31794
31874
|
// },
|
|
31795
31875
|
// },
|
|
31796
31876
|
},
|
|
31877
|
+
VNumberInput: {
|
|
31878
|
+
variant: 'outlined',
|
|
31879
|
+
VBtn: {
|
|
31880
|
+
color: undefined,
|
|
31881
|
+
rounded: undefined
|
|
31882
|
+
}
|
|
31883
|
+
},
|
|
31797
31884
|
VSelect: {
|
|
31798
|
-
variant: '
|
|
31885
|
+
variant: 'outlined'
|
|
31799
31886
|
},
|
|
31800
31887
|
VSlider: {
|
|
31801
31888
|
color: 'primary'
|
|
@@ -31804,10 +31891,10 @@ const md3 = {
|
|
|
31804
31891
|
color: 'primary'
|
|
31805
31892
|
},
|
|
31806
31893
|
VTextarea: {
|
|
31807
|
-
variant: '
|
|
31894
|
+
variant: 'outlined'
|
|
31808
31895
|
},
|
|
31809
31896
|
VTextField: {
|
|
31810
|
-
variant: '
|
|
31897
|
+
variant: 'outlined'
|
|
31811
31898
|
},
|
|
31812
31899
|
VToolbar: {
|
|
31813
31900
|
VBtn: {
|
|
@@ -31845,7 +31932,7 @@ var index = /*#__PURE__*/Object.freeze({
|
|
|
31845
31932
|
|
|
31846
31933
|
/* eslint-disable local-rules/sort-imports */
|
|
31847
31934
|
|
|
31848
|
-
const version = "3.8.
|
|
31935
|
+
const version = "3.8.3";
|
|
31849
31936
|
|
|
31850
31937
|
/* eslint-disable local-rules/sort-imports */
|
|
31851
31938
|
|