vuetify 3.7.11 → 3.7.13
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 +2699 -2703
- package/dist/json/importMap-labs.json +28 -28
- package/dist/json/importMap.json +166 -166
- package/dist/json/tags.json +3 -4
- package/dist/json/web-types.json +5312 -5321
- package/dist/vuetify-labs.css +3272 -3266
- package/dist/vuetify-labs.d.ts +296 -326
- package/dist/vuetify-labs.esm.js +301 -159
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +300 -158
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +2292 -2294
- package/dist/vuetify.d.ts +258 -297
- package/dist/vuetify.esm.js +177 -99
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +176 -98
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +266 -252
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/index.d.mts +1 -1
- package/lib/blueprints/md1.d.mts +1 -1
- package/lib/blueprints/md2.d.mts +1 -1
- package/lib/blueprints/md3.d.mts +1 -1
- package/lib/components/VAlert/VAlert.mjs +1 -1
- package/lib/components/VAlert/index.d.mts +1 -1
- package/lib/components/VAppBar/VAppBar.mjs +1 -1
- package/lib/components/VAppBar/VAppBarNavIcon.mjs +1 -1
- package/lib/components/VAppBar/VAppBarTitle.mjs +1 -1
- package/lib/components/VAppBar/index.d.mts +5 -5
- package/lib/components/VAutocomplete/VAutocomplete.mjs +3 -3
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.mts +29 -51
- package/lib/components/VAvatar/index.d.mts +1 -1
- package/lib/components/VBadge/VBadge.mjs +1 -1
- package/lib/components/VBadge/index.d.mts +1 -1
- package/lib/components/VBanner/VBanner.mjs +1 -1
- package/lib/components/VBanner/index.d.mts +1 -1
- package/lib/components/VBottomNavigation/VBottomNavigation.css +1 -0
- package/lib/components/VBottomNavigation/VBottomNavigation.sass +1 -0
- package/lib/components/VBottomNavigation/index.d.mts +1 -1
- package/lib/components/VBottomSheet/VBottomSheet.mjs +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +1 -1
- package/lib/components/VBreadcrumbs/index.d.mts +5 -5
- package/lib/components/VBtn/VBtn.mjs +1 -1
- package/lib/components/VBtn/index.d.mts +5 -5
- package/lib/components/VBtnGroup/VBtnGroup.mjs +1 -1
- package/lib/components/VBtnToggle/VBtnToggle.mjs +1 -1
- package/lib/components/VBtnToggle/index.d.mts +1 -1
- package/lib/components/VCard/VCard.mjs +1 -1
- package/lib/components/VCard/VCardItem.mjs +1 -1
- package/lib/components/VCard/VCardSubtitle.mjs +1 -1
- package/lib/components/VCard/VCardText.mjs +1 -1
- package/lib/components/VCard/index.d.mts +5 -5
- package/lib/components/VCarousel/VCarousel.mjs +1 -1
- package/lib/components/VCarousel/VCarouselItem.mjs +1 -1
- package/lib/components/VCarousel/index.d.mts +1 -1
- package/lib/components/VCheckbox/VCheckbox.mjs +1 -1
- package/lib/components/VCheckbox/VCheckboxBtn.mjs +1 -1
- package/lib/components/VCheckbox/index.d.mts +1 -1
- package/lib/components/VChip/VChip.mjs +1 -1
- package/lib/components/VChip/index.d.mts +5 -5
- package/lib/components/VChipGroup/VChipGroup.mjs +1 -1
- package/lib/components/VChipGroup/index.d.mts +1 -1
- package/lib/components/VColorPicker/VColorPicker.mjs +1 -1
- package/lib/components/VColorPicker/index.d.mts +10 -10
- package/lib/components/VCombobox/VCombobox.mjs +4 -4
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.mts +29 -51
- package/lib/components/VConfirmEdit/VConfirmEdit.mjs +1 -1
- package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.browser.mjs +5 -5
- package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.browser.mjs.map +1 -1
- package/lib/components/VConfirmEdit/index.d.mts +1 -1
- package/lib/components/VCounter/VCounter.mjs +1 -1
- package/lib/components/VDataIterator/index.d.mts +1 -1
- package/lib/components/VDataTable/VDataTable.mjs +1 -1
- package/lib/components/VDataTable/VDataTableFooter.mjs +1 -1
- package/lib/components/VDataTable/VDataTableGroupHeaderRow.mjs +1 -1
- package/lib/components/VDataTable/VDataTableHeaders.mjs +1 -1
- package/lib/components/VDataTable/VDataTableRow.mjs +1 -1
- package/lib/components/VDataTable/VDataTableRows.mjs +1 -1
- package/lib/components/VDataTable/VDataTableServer.mjs +1 -1
- package/lib/components/VDataTable/VDataTableVirtual.mjs +1 -1
- package/lib/components/VDataTable/composables/sort.mjs +12 -8
- package/lib/components/VDataTable/composables/sort.mjs.map +1 -1
- package/lib/components/VDataTable/index.d.mts +1 -1
- package/lib/components/VDatePicker/VDatePicker.mjs +1 -1
- package/lib/components/VDatePicker/VDatePickerControls.mjs +1 -1
- package/lib/components/VDatePicker/VDatePickerControls.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.mjs +3 -3
- package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonths.mjs +1 -1
- package/lib/components/VDatePicker/VDatePickerYears.mjs +1 -1
- package/lib/components/VDatePicker/index.d.mts +38 -38
- package/lib/components/VDialog/VDialog.mjs +1 -1
- package/lib/components/VDialog/__test__/VDialog.spec.cy.mjs +1 -1
- package/lib/components/VDialog/index.d.mts +3 -3
- package/lib/components/VEmptyState/VEmptyState.mjs +1 -1
- package/lib/components/VEmptyState/index.d.mts +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +1 -1
- package/lib/components/VExpansionPanel/index.d.mts +1 -1
- package/lib/components/VFab/VFab.mjs +1 -1
- package/lib/components/VFab/index.d.mts +5 -5
- package/lib/components/VField/VField.mjs +1 -1
- package/lib/components/VField/VFieldLabel.mjs +1 -1
- package/lib/components/VField/index.d.mts +1 -1
- package/lib/components/VFileInput/VFileInput.mjs +2 -3
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/index.d.mts +4 -4
- package/lib/components/VFooter/VFooter.mjs +1 -1
- package/lib/components/VGrid/VContainer.mjs +1 -1
- package/lib/components/VIcon/index.d.mts +1 -1
- package/lib/components/VImg/VImg.mjs +1 -1
- package/lib/components/VInfiniteScroll/VInfiniteScroll.mjs +1 -1
- package/lib/components/VInput/VInput.mjs +3 -3
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/index.d.mts +1 -1
- package/lib/components/VItemGroup/index.d.mts +1 -1
- package/lib/components/VLazy/VLazy.mjs +1 -1
- package/lib/components/VList/VList.mjs +3 -6
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListChildren.mjs +1 -1
- package/lib/components/VList/VListGroup.mjs +1 -1
- package/lib/components/VList/VListItem.mjs +3 -2
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListItemAction.mjs +1 -1
- package/lib/components/VList/VListItemMedia.mjs +1 -1
- package/lib/components/VList/VListItemSubtitle.mjs +1 -1
- package/lib/components/VList/index.d.mts +24 -21
- package/lib/components/VMenu/VMenu.mjs +1 -1
- package/lib/components/VMenu/index.d.mts +3 -3
- package/lib/components/VNavigationDrawer/VNavigationDrawer.css +0 -4
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +3 -6
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +0 -5
- package/lib/components/VOtpInput/VOtpInput.mjs +3 -3
- package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
- package/lib/components/VOverlay/VOverlay.css +2 -1
- package/lib/components/VOverlay/VOverlay.mjs +1 -1
- package/lib/components/VOverlay/VOverlay.sass +2 -1
- package/lib/components/VOverlay/_variables.scss +1 -1
- package/lib/components/VPagination/VPagination.mjs +1 -1
- package/lib/components/VPagination/index.d.mts +1 -1
- package/lib/components/VParallax/VParallax.mjs +1 -1
- package/lib/components/VRadio/VRadio.mjs +1 -1
- package/lib/components/VRadio/index.d.mts +1 -1
- package/lib/components/VRadioGroup/VRadioGroup.mjs +1 -1
- package/lib/components/VRadioGroup/index.d.mts +1 -1
- package/lib/components/VRangeSlider/VRangeSlider.mjs +1 -1
- package/lib/components/VRating/VRating.mjs +1 -1
- package/lib/components/VRating/index.d.mts +1 -1
- package/lib/components/VSelect/VSelect.mjs +5 -5
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.mts +29 -51
- package/lib/components/VSelectionControl/VSelectionControl.mjs +1 -1
- package/lib/components/VSelectionControl/index.d.mts +1 -1
- package/lib/components/VSelectionControlGroup/index.d.mts +1 -1
- package/lib/components/VSheet/VSheet.mjs +1 -1
- package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs +1 -1
- package/lib/components/VSlideGroup/index.d.mts +1 -1
- package/lib/components/VSlider/VSlider.mjs +1 -1
- package/lib/components/VSlider/VSliderThumb.mjs +1 -1
- package/lib/components/VSlider/slider.mjs +25 -12
- package/lib/components/VSlider/slider.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.mjs +1 -1
- package/lib/components/VSnackbar/index.d.mts +3 -3
- package/lib/components/VSparkline/VBarline.mjs +1 -2
- package/lib/components/VSparkline/VBarline.mjs.map +1 -1
- package/lib/components/VSparkline/VSparkline.mjs +1 -1
- package/lib/components/VSparkline/VTrendline.mjs +1 -2
- package/lib/components/VSparkline/VTrendline.mjs.map +1 -1
- package/lib/components/VSpeedDial/VSpeedDial.mjs +1 -1
- package/lib/components/VStepper/VStepper.mjs +3 -3
- package/lib/components/VStepper/VStepper.mjs.map +1 -1
- package/lib/components/VStepper/VStepperItem.mjs +1 -1
- package/lib/components/VStepper/VStepperWindow.mjs +1 -1
- package/lib/components/VStepper/VStepperWindowItem.mjs +1 -1
- package/lib/components/VStepper/index.d.mts +1 -1
- package/lib/components/VSwitch/VSwitch.mjs +1 -1
- package/lib/components/VSwitch/index.d.mts +1 -1
- package/lib/components/VSystemBar/VSystemBar.mjs +1 -1
- package/lib/components/VTabs/VTab.mjs +1 -1
- package/lib/components/VTabs/VTabs.mjs +1 -1
- package/lib/components/VTabs/VTabs.mjs.map +1 -1
- package/lib/components/VTabs/VTabsWindow.mjs +1 -1
- package/lib/components/VTabs/VTabsWindowItem.mjs +1 -1
- package/lib/components/VTabs/index.d.mts +21 -21
- package/lib/components/VTextField/VTextField.mjs +1 -1
- package/lib/components/VTextField/index.d.mts +7 -7
- package/lib/components/VTextarea/VTextarea.mjs +1 -1
- package/lib/components/VTextarea/index.d.mts +4 -4
- package/lib/components/VTimeline/VTimeline.mjs +3 -3
- package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineDivider.mjs +1 -1
- package/lib/components/VTimeline/VTimelineItem.mjs +1 -1
- package/lib/components/VTimeline/index.d.mts +1 -1
- package/lib/components/VToolbar/VToolbar.mjs +1 -1
- package/lib/components/VTooltip/VTooltip.mjs +1 -1
- package/lib/components/VTooltip/index.d.mts +3 -3
- package/lib/components/VValidation/index.d.mts +1 -1
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs +1 -1
- package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs +1 -1
- package/lib/components/VVirtualScroll/index.d.mts +1 -1
- package/lib/components/VWindow/VWindow.mjs +1 -1
- package/lib/components/VWindow/VWindowItem.mjs +1 -1
- package/lib/components/VWindow/index.d.mts +1 -1
- package/lib/components/index.d.mts +198 -237
- package/lib/components/transitions/dialog-transition.mjs +1 -2
- package/lib/components/transitions/dialog-transition.mjs.map +1 -1
- package/lib/composables/calendar.mjs +4 -1
- package/lib/composables/calendar.mjs.map +1 -1
- package/lib/composables/icons.mjs +1 -1
- package/lib/composables/list-items.mjs +69 -17
- package/lib/composables/list-items.mjs.map +1 -1
- package/lib/composables/nested/nested.mjs +16 -1
- package/lib/composables/nested/nested.mjs.map +1 -1
- package/lib/composables/nested/selectStrategies.mjs +6 -7
- package/lib/composables/nested/selectStrategies.mjs.map +1 -1
- package/lib/composables/variant.mjs +1 -1
- package/lib/directives/ripple/index.mjs +7 -5
- package/lib/directives/ripple/index.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/iconsets/fa-svg.d.mts +1 -1
- package/lib/iconsets/fa.d.mts +1 -1
- package/lib/iconsets/fa4.d.mts +1 -1
- package/lib/iconsets/md.d.mts +1 -1
- package/lib/iconsets/mdi-svg.d.mts +1 -1
- package/lib/iconsets/mdi.d.mts +1 -1
- package/lib/index.d.mts +61 -61
- package/lib/labs/VCalendar/VCalendar.mjs +1 -1
- package/lib/labs/VCalendar/VCalendarDay.mjs +1 -1
- package/lib/labs/VCalendar/index.d.mts +8 -2
- package/lib/labs/VDateInput/VDateInput.mjs +21 -10
- package/lib/labs/VDateInput/VDateInput.mjs.map +1 -1
- package/lib/labs/VDateInput/index.d.mts +19 -19
- package/lib/labs/VFileUpload/VFileUpload.mjs +3 -3
- package/lib/labs/VFileUpload/VFileUpload.mjs.map +1 -1
- package/lib/labs/VFileUpload/VFileUploadItem.mjs +1 -1
- package/lib/labs/VFileUpload/index.d.mts +5 -5
- package/lib/labs/VNumberInput/VNumberInput.css +10 -2
- package/lib/labs/VNumberInput/VNumberInput.mjs +94 -36
- package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
- package/lib/labs/VNumberInput/VNumberInput.sass +12 -2
- package/lib/labs/VNumberInput/index.d.mts +59 -32
- package/lib/labs/VPicker/VPicker.mjs +1 -1
- package/lib/labs/VSnackbarQueue/VSnackbarQueue.mjs +1 -1
- package/lib/labs/VSnackbarQueue/index.d.mts +3 -3
- package/lib/labs/VStepperVertical/VStepperVertical.mjs +1 -1
- package/lib/labs/VStepperVertical/VStepperVerticalActions.mjs +1 -1
- package/lib/labs/VStepperVertical/VStepperVerticalItem.mjs +1 -1
- package/lib/labs/VStepperVertical/index.d.mts +1 -1
- package/lib/labs/VTimePicker/VTimePicker.mjs +1 -1
- package/lib/labs/VTimePicker/VTimePickerControls.mjs +1 -1
- package/lib/labs/VTreeview/VTreeview.mjs +2 -2
- package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
- package/lib/labs/VTreeview/VTreeviewChildren.mjs +2 -8
- package/lib/labs/VTreeview/VTreeviewChildren.mjs.map +1 -1
- package/lib/labs/VTreeview/VTreeviewGroup.mjs +1 -1
- package/lib/labs/VTreeview/VTreeviewItem.mjs +10 -12
- package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
- package/lib/labs/VTreeview/index.d.mts +12 -36
- package/lib/labs/components.d.mts +103 -94
- package/lib/locale/adapters/vue-i18n.mjs +0 -1
- package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
- package/lib/util/helpers.mjs +6 -9
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +17 -16
package/dist/vuetify-labs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.7.
|
|
2
|
+
* Vuetify v3.7.13
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -230,10 +230,9 @@
|
|
|
230
230
|
// Array of keys
|
|
231
231
|
function pick(obj, paths) {
|
|
232
232
|
const found = {};
|
|
233
|
-
const
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
found[path] = obj[path];
|
|
233
|
+
for (const key of paths) {
|
|
234
|
+
if (Object.hasOwn(obj, key)) {
|
|
235
|
+
found[key] = obj[key];
|
|
237
236
|
}
|
|
238
237
|
}
|
|
239
238
|
return found;
|
|
@@ -247,7 +246,7 @@
|
|
|
247
246
|
const found = Object.create(null);
|
|
248
247
|
const rest = Object.create(null);
|
|
249
248
|
for (const key in obj) {
|
|
250
|
-
if (paths.some(path => path instanceof RegExp ? path.test(key) : path === key) &&
|
|
249
|
+
if (paths.some(path => path instanceof RegExp ? path.test(key) : path === key) && true) {
|
|
251
250
|
found[key] = obj[key];
|
|
252
251
|
} else {
|
|
253
252
|
rest[key] = obj[key];
|
|
@@ -262,11 +261,6 @@
|
|
|
262
261
|
exclude.forEach(prop => delete clone[prop]);
|
|
263
262
|
return clone;
|
|
264
263
|
}
|
|
265
|
-
function only(obj, include) {
|
|
266
|
-
const clone = {};
|
|
267
|
-
include.forEach(prop => clone[prop] = obj[prop]);
|
|
268
|
-
return clone;
|
|
269
|
-
}
|
|
270
264
|
const onRE = /^on[^a-z]/;
|
|
271
265
|
const isOn = key => onRE.test(key);
|
|
272
266
|
const bubblingEvents = ['onAfterscriptexecute', 'onAnimationcancel', 'onAnimationend', 'onAnimationiteration', 'onAnimationstart', 'onAuxclick', 'onBeforeinput', 'onBeforescriptexecute', 'onChange', 'onClick', 'onCompositionend', 'onCompositionstart', 'onCompositionupdate', 'onContextmenu', 'onCopy', 'onCut', 'onDblclick', 'onFocusin', 'onFocusout', 'onFullscreenchange', 'onFullscreenerror', 'onGesturechange', 'onGestureend', 'onGesturestart', 'onGotpointercapture', 'onInput', 'onKeydown', 'onKeypress', 'onKeyup', 'onLostpointercapture', 'onMousedown', 'onMousemove', 'onMouseout', 'onMouseover', 'onMouseup', 'onMousewheel', 'onPaste', 'onPointercancel', 'onPointerdown', 'onPointerenter', 'onPointerleave', 'onPointermove', 'onPointerout', 'onPointerover', 'onPointerup', 'onReset', 'onSelect', 'onSubmit', 'onTouchcancel', 'onTouchend', 'onTouchmove', 'onTouchstart', 'onTransitioncancel', 'onTransitionend', 'onTransitionrun', 'onTransitionstart', 'onWheel'];
|
|
@@ -581,6 +575,9 @@
|
|
|
581
575
|
const noModifier = !e.ctrlKey && !e.metaKey && !e.altKey;
|
|
582
576
|
return isPrintableChar && noModifier;
|
|
583
577
|
}
|
|
578
|
+
function isPrimitive(value) {
|
|
579
|
+
return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint';
|
|
580
|
+
}
|
|
584
581
|
|
|
585
582
|
// Utilities
|
|
586
583
|
const block = ['top', 'bottom'];
|
|
@@ -878,7 +875,7 @@
|
|
|
878
875
|
// WoB should always return negative value.
|
|
879
876
|
|
|
880
877
|
const SAPC = (Ybg ** revBG - Ytxt ** revTXT) * scaleWoB;
|
|
881
|
-
outputContrast = SAPC > -
|
|
878
|
+
outputContrast = SAPC > -1e-3 ? 0.0 : SAPC > -0.078 ? SAPC - SAPC * loConFactor * loConOffset : SAPC + loConOffset;
|
|
882
879
|
}
|
|
883
880
|
return outputContrast * 100;
|
|
884
881
|
}
|
|
@@ -918,7 +915,7 @@
|
|
|
918
915
|
// Types
|
|
919
916
|
|
|
920
917
|
// For converting XYZ to sRGB
|
|
921
|
-
const srgbForwardMatrix = [[3.2406, -1.5372, -0.4986], [-0.9689, 1.8758, 0.0415], [0.0557, -0.
|
|
918
|
+
const srgbForwardMatrix = [[3.2406, -1.5372, -0.4986], [-0.9689, 1.8758, 0.0415], [0.0557, -0.204, 1.0570]];
|
|
922
919
|
|
|
923
920
|
// Forward gamma adjust
|
|
924
921
|
const srgbForwardTransform = C => C <= 0.0031308 ? C * 12.92 : 1.055 * C ** (1 / 2.4) - 0.055;
|
|
@@ -1266,7 +1263,7 @@
|
|
|
1266
1263
|
function getCurrentInstance(name, message) {
|
|
1267
1264
|
const vm = vue.getCurrentInstance();
|
|
1268
1265
|
if (!vm) {
|
|
1269
|
-
throw new Error(`[Vuetify] ${name} ${
|
|
1266
|
+
throw new Error(`[Vuetify] ${name} ${'must be called from inside a setup function'}`);
|
|
1270
1267
|
}
|
|
1271
1268
|
return vm;
|
|
1272
1269
|
}
|
|
@@ -2819,6 +2816,8 @@
|
|
|
2819
2816
|
}
|
|
2820
2817
|
}
|
|
2821
2818
|
|
|
2819
|
+
// Utilities
|
|
2820
|
+
|
|
2822
2821
|
// Types
|
|
2823
2822
|
|
|
2824
2823
|
const makeVDialogTransitionProps = propsFactory({
|
|
@@ -4721,7 +4720,6 @@
|
|
|
4721
4720
|
const isIntersecting = vue.shallowRef(false);
|
|
4722
4721
|
if (SUPPORTS_INTERSECTION) {
|
|
4723
4722
|
const observer = new IntersectionObserver(entries => {
|
|
4724
|
-
callback?.(entries, observer);
|
|
4725
4723
|
isIntersecting.value = !!entries.find(entry => entry.isIntersecting);
|
|
4726
4724
|
}, options);
|
|
4727
4725
|
vue.onBeforeUnmount(() => {
|
|
@@ -5349,11 +5347,13 @@
|
|
|
5349
5347
|
animation.classList.add('v-ripple__animation--visible');
|
|
5350
5348
|
transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`);
|
|
5351
5349
|
animation.dataset.activated = String(performance.now());
|
|
5352
|
-
|
|
5353
|
-
|
|
5354
|
-
|
|
5355
|
-
|
|
5356
|
-
|
|
5350
|
+
requestAnimationFrame(() => {
|
|
5351
|
+
requestAnimationFrame(() => {
|
|
5352
|
+
animation.classList.remove('v-ripple__animation--enter');
|
|
5353
|
+
animation.classList.add('v-ripple__animation--in');
|
|
5354
|
+
transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`);
|
|
5355
|
+
});
|
|
5356
|
+
});
|
|
5357
5357
|
},
|
|
5358
5358
|
hide(el) {
|
|
5359
5359
|
if (!el?._ripple?.enabled) return;
|
|
@@ -6891,7 +6891,7 @@
|
|
|
6891
6891
|
'onClick:append': EventProp(),
|
|
6892
6892
|
...makeComponentProps(),
|
|
6893
6893
|
...makeDensityProps(),
|
|
6894
|
-
...
|
|
6894
|
+
...pick(makeDimensionProps(), ['maxWidth', 'minWidth', 'width']),
|
|
6895
6895
|
...makeThemeProps(),
|
|
6896
6896
|
...makeValidationProps()
|
|
6897
6897
|
}, 'VInput');
|
|
@@ -8348,12 +8348,12 @@
|
|
|
8348
8348
|
return selected;
|
|
8349
8349
|
},
|
|
8350
8350
|
in: (v, children, parents) => {
|
|
8351
|
-
|
|
8351
|
+
const map = new Map();
|
|
8352
8352
|
for (const id of v || []) {
|
|
8353
|
-
|
|
8353
|
+
strategy.select({
|
|
8354
8354
|
id,
|
|
8355
8355
|
value: true,
|
|
8356
|
-
selected:
|
|
8356
|
+
selected: map,
|
|
8357
8357
|
children,
|
|
8358
8358
|
parents
|
|
8359
8359
|
});
|
|
@@ -8388,11 +8388,10 @@
|
|
|
8388
8388
|
});
|
|
8389
8389
|
},
|
|
8390
8390
|
in: (v, children, parents) => {
|
|
8391
|
-
let map = new Map();
|
|
8392
8391
|
if (v?.length) {
|
|
8393
|
-
|
|
8392
|
+
return parentStrategy.in(v.slice(0, 1), children, parents);
|
|
8394
8393
|
}
|
|
8395
|
-
return
|
|
8394
|
+
return new Map();
|
|
8396
8395
|
},
|
|
8397
8396
|
out: (v, children, parents) => {
|
|
8398
8397
|
return parentStrategy.out(v, children, parents);
|
|
@@ -8495,7 +8494,7 @@
|
|
|
8495
8494
|
map = strategy.select({
|
|
8496
8495
|
id,
|
|
8497
8496
|
value: true,
|
|
8498
|
-
selected:
|
|
8497
|
+
selected: map,
|
|
8499
8498
|
children,
|
|
8500
8499
|
parents
|
|
8501
8500
|
});
|
|
@@ -8720,7 +8719,22 @@
|
|
|
8720
8719
|
parents: parents.value,
|
|
8721
8720
|
event
|
|
8722
8721
|
});
|
|
8723
|
-
newActivated
|
|
8722
|
+
if (newActivated.size !== activated.value.size) {
|
|
8723
|
+
activated.value = newActivated;
|
|
8724
|
+
} else {
|
|
8725
|
+
for (const value of newActivated) {
|
|
8726
|
+
if (!activated.value.has(value)) {
|
|
8727
|
+
activated.value = newActivated;
|
|
8728
|
+
return;
|
|
8729
|
+
}
|
|
8730
|
+
}
|
|
8731
|
+
for (const value of activated.value) {
|
|
8732
|
+
if (!newActivated.has(value)) {
|
|
8733
|
+
activated.value = newActivated;
|
|
8734
|
+
return;
|
|
8735
|
+
}
|
|
8736
|
+
}
|
|
8737
|
+
}
|
|
8724
8738
|
},
|
|
8725
8739
|
children,
|
|
8726
8740
|
parents,
|
|
@@ -9167,7 +9181,8 @@
|
|
|
9167
9181
|
list,
|
|
9168
9182
|
select,
|
|
9169
9183
|
root,
|
|
9170
|
-
id: uid
|
|
9184
|
+
id: uid,
|
|
9185
|
+
link
|
|
9171
9186
|
};
|
|
9172
9187
|
}
|
|
9173
9188
|
});
|
|
@@ -9379,10 +9394,7 @@
|
|
|
9379
9394
|
default: 'props'
|
|
9380
9395
|
},
|
|
9381
9396
|
returnObject: Boolean,
|
|
9382
|
-
valueComparator:
|
|
9383
|
-
type: Function,
|
|
9384
|
-
default: deepEqual
|
|
9385
|
-
}
|
|
9397
|
+
valueComparator: Function
|
|
9386
9398
|
}, 'list-items');
|
|
9387
9399
|
function transformItem$3(props, item) {
|
|
9388
9400
|
const title = getPropertyFromItem(item, props.itemTitle, item);
|
|
@@ -9403,29 +9415,84 @@
|
|
|
9403
9415
|
};
|
|
9404
9416
|
}
|
|
9405
9417
|
function transformItems$3(props, items) {
|
|
9418
|
+
const _props = pick(props, ['itemTitle', 'itemValue', 'itemChildren', 'itemProps', 'returnObject', 'valueComparator']);
|
|
9406
9419
|
const array = [];
|
|
9407
9420
|
for (const item of items) {
|
|
9408
|
-
array.push(transformItem$3(
|
|
9421
|
+
array.push(transformItem$3(_props, item));
|
|
9409
9422
|
}
|
|
9410
9423
|
return array;
|
|
9411
9424
|
}
|
|
9412
9425
|
function useItems(props) {
|
|
9413
9426
|
const items = vue.computed(() => transformItems$3(props, props.items));
|
|
9414
9427
|
const hasNullItem = vue.computed(() => items.value.some(item => item.value === null));
|
|
9428
|
+
const itemsMap = vue.shallowRef(new Map());
|
|
9429
|
+
const keylessItems = vue.shallowRef([]);
|
|
9430
|
+
vue.watchEffect(() => {
|
|
9431
|
+
const _items = items.value;
|
|
9432
|
+
const map = new Map();
|
|
9433
|
+
const keyless = [];
|
|
9434
|
+
for (let i = 0; i < _items.length; i++) {
|
|
9435
|
+
const item = _items[i];
|
|
9436
|
+
if (isPrimitive(item.value) || item.value === null) {
|
|
9437
|
+
let values = map.get(item.value);
|
|
9438
|
+
if (!values) {
|
|
9439
|
+
values = [];
|
|
9440
|
+
map.set(item.value, values);
|
|
9441
|
+
}
|
|
9442
|
+
values.push(item);
|
|
9443
|
+
} else {
|
|
9444
|
+
keyless.push(item);
|
|
9445
|
+
}
|
|
9446
|
+
}
|
|
9447
|
+
itemsMap.value = map;
|
|
9448
|
+
keylessItems.value = keyless;
|
|
9449
|
+
});
|
|
9415
9450
|
function transformIn(value) {
|
|
9416
|
-
|
|
9451
|
+
// Cache unrefed values outside the loop,
|
|
9452
|
+
// proxy getters can be slow when you call them a billion times
|
|
9453
|
+
const _items = itemsMap.value;
|
|
9454
|
+
const _allItems = items.value;
|
|
9455
|
+
const _keylessItems = keylessItems.value;
|
|
9456
|
+
const _hasNullItem = hasNullItem.value;
|
|
9457
|
+
const _returnObject = props.returnObject;
|
|
9458
|
+
const hasValueComparator = !!props.valueComparator;
|
|
9459
|
+
const valueComparator = props.valueComparator || deepEqual;
|
|
9460
|
+
const _props = pick(props, ['itemTitle', 'itemValue', 'itemChildren', 'itemProps', 'returnObject', 'valueComparator']);
|
|
9461
|
+
const returnValue = [];
|
|
9462
|
+
main: for (const v of value) {
|
|
9417
9463
|
// When the model value is null, return an InternalItem
|
|
9418
9464
|
// based on null only if null is one of the items
|
|
9419
|
-
|
|
9420
|
-
|
|
9421
|
-
|
|
9422
|
-
if
|
|
9423
|
-
|
|
9424
|
-
|
|
9425
|
-
|
|
9465
|
+
if (!_hasNullItem && v === null) continue;
|
|
9466
|
+
|
|
9467
|
+
// String model value means value is a custom input value from combobox
|
|
9468
|
+
// Don't look up existing items if the model value is a string
|
|
9469
|
+
if (_returnObject && typeof v === 'string') {
|
|
9470
|
+
returnValue.push(transformItem$3(_props, v));
|
|
9471
|
+
continue;
|
|
9426
9472
|
}
|
|
9427
|
-
|
|
9428
|
-
|
|
9473
|
+
|
|
9474
|
+
// Fast path, items with primitive values and no
|
|
9475
|
+
// custom valueComparator can use a constant-time
|
|
9476
|
+
// map lookup instead of searching the items array
|
|
9477
|
+
const fastItems = _items.get(v);
|
|
9478
|
+
|
|
9479
|
+
// Slow path, always use valueComparator.
|
|
9480
|
+
// This is O(n^2) so we really don't want to
|
|
9481
|
+
// do it for more than a couple hundred items.
|
|
9482
|
+
if (hasValueComparator || !fastItems) {
|
|
9483
|
+
for (const item of hasValueComparator ? _allItems : _keylessItems) {
|
|
9484
|
+
if (valueComparator(v, item.value)) {
|
|
9485
|
+
returnValue.push(item);
|
|
9486
|
+
continue main;
|
|
9487
|
+
}
|
|
9488
|
+
}
|
|
9489
|
+
// Not an existing item, construct it from the model (#4000)
|
|
9490
|
+
returnValue.push(transformItem$3(_props, v));
|
|
9491
|
+
continue;
|
|
9492
|
+
}
|
|
9493
|
+
returnValue.push(...fastItems);
|
|
9494
|
+
}
|
|
9495
|
+
return returnValue;
|
|
9429
9496
|
}
|
|
9430
9497
|
function transformOut(value) {
|
|
9431
9498
|
return props.returnObject ? value.map(_ref => {
|
|
@@ -9449,9 +9516,6 @@
|
|
|
9449
9516
|
|
|
9450
9517
|
// Types
|
|
9451
9518
|
|
|
9452
|
-
function isPrimitive(value) {
|
|
9453
|
-
return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean';
|
|
9454
|
-
}
|
|
9455
9519
|
function transformItem$2(props, item) {
|
|
9456
9520
|
const type = getPropertyFromItem(item, props.itemType, 'item');
|
|
9457
9521
|
const title = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemTitle);
|
|
@@ -9641,7 +9705,7 @@
|
|
|
9641
9705
|
'v-list--slim': props.slim
|
|
9642
9706
|
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, props.class],
|
|
9643
9707
|
"style": [backgroundColorStyles.value, dimensionStyles.value, props.style],
|
|
9644
|
-
"tabindex": props.disabled
|
|
9708
|
+
"tabindex": props.disabled ? -1 : 0,
|
|
9645
9709
|
"role": "listbox",
|
|
9646
9710
|
"aria-activedescendant": undefined,
|
|
9647
9711
|
"onFocusin": onFocusin,
|
|
@@ -12500,7 +12564,7 @@
|
|
|
12500
12564
|
let keyboardLookupLastTime;
|
|
12501
12565
|
const displayItems = vue.computed(() => {
|
|
12502
12566
|
if (props.hideSelected) {
|
|
12503
|
-
return items.value.filter(item => !model.value.some(s => props.valueComparator(s, item)));
|
|
12567
|
+
return items.value.filter(item => !model.value.some(s => (props.valueComparator || deepEqual)(s, item)));
|
|
12504
12568
|
}
|
|
12505
12569
|
return items.value;
|
|
12506
12570
|
});
|
|
@@ -12572,7 +12636,7 @@
|
|
|
12572
12636
|
let set = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
12573
12637
|
if (item.props.disabled) return;
|
|
12574
12638
|
if (props.multiple) {
|
|
12575
|
-
const index = model.value.findIndex(selection => props.valueComparator(selection.value, item.value));
|
|
12639
|
+
const index = model.value.findIndex(selection => (props.valueComparator || deepEqual)(selection.value, item.value));
|
|
12576
12640
|
const add = set == null ? !~index : set;
|
|
12577
12641
|
if (~index) {
|
|
12578
12642
|
const value = add ? [...model.value, item] : [...model.value];
|
|
@@ -12619,7 +12683,7 @@
|
|
|
12619
12683
|
}
|
|
12620
12684
|
vue.watch(menu, () => {
|
|
12621
12685
|
if (!props.hideSelected && menu.value && model.value.length) {
|
|
12622
|
-
const index = displayItems.value.findIndex(item => model.value.some(s => props.valueComparator(s.value, item.value)));
|
|
12686
|
+
const index = displayItems.value.findIndex(item => model.value.some(s => (props.valueComparator || deepEqual)(s.value, item.value)));
|
|
12623
12687
|
IN_BROWSER && window.requestAnimationFrame(() => {
|
|
12624
12688
|
index >= 0 && vVirtualScrollRef.value?.scrollToIndex(index);
|
|
12625
12689
|
});
|
|
@@ -13151,7 +13215,7 @@
|
|
|
13151
13215
|
let set = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
13152
13216
|
if (!item || item.props.disabled) return;
|
|
13153
13217
|
if (props.multiple) {
|
|
13154
|
-
const index = model.value.findIndex(selection => props.valueComparator(selection.value, item.value));
|
|
13218
|
+
const index = model.value.findIndex(selection => (props.valueComparator || deepEqual)(selection.value, item.value));
|
|
13155
13219
|
const add = set == null ? !~index : set;
|
|
13156
13220
|
if (~index) {
|
|
13157
13221
|
const value = add ? [...model.value, item] : [...model.value];
|
|
@@ -15540,6 +15604,8 @@
|
|
|
15540
15604
|
const trackContainerRef = vue.ref();
|
|
15541
15605
|
const activeThumbRef = vue.ref();
|
|
15542
15606
|
function parseMouseMove(e) {
|
|
15607
|
+
const el = trackContainerRef.value?.$el;
|
|
15608
|
+
if (!el) return;
|
|
15543
15609
|
const vertical = props.direction === 'vertical';
|
|
15544
15610
|
const start = vertical ? 'top' : 'left';
|
|
15545
15611
|
const length = vertical ? 'height' : 'width';
|
|
@@ -15547,7 +15613,7 @@
|
|
|
15547
15613
|
const {
|
|
15548
15614
|
[start]: trackStart,
|
|
15549
15615
|
[length]: trackLength
|
|
15550
|
-
} =
|
|
15616
|
+
} = el.getBoundingClientRect();
|
|
15551
15617
|
const clickOffset = getPosition(e, position);
|
|
15552
15618
|
|
|
15553
15619
|
// It is possible for left to be NaN, force to number
|
|
@@ -15556,13 +15622,17 @@
|
|
|
15556
15622
|
return roundValue(min.value + clickPos * (max.value - min.value));
|
|
15557
15623
|
}
|
|
15558
15624
|
const handleStop = e => {
|
|
15559
|
-
|
|
15560
|
-
|
|
15561
|
-
|
|
15625
|
+
const value = parseMouseMove(e);
|
|
15626
|
+
if (value != null) {
|
|
15627
|
+
onSliderEnd({
|
|
15628
|
+
value
|
|
15629
|
+
});
|
|
15630
|
+
}
|
|
15562
15631
|
mousePressed.value = false;
|
|
15563
15632
|
startOffset.value = 0;
|
|
15564
15633
|
};
|
|
15565
15634
|
const handleStart = e => {
|
|
15635
|
+
const value = parseMouseMove(e);
|
|
15566
15636
|
activeThumbRef.value = getActiveThumb(e);
|
|
15567
15637
|
if (!activeThumbRef.value) return;
|
|
15568
15638
|
mousePressed.value = true;
|
|
@@ -15570,13 +15640,17 @@
|
|
|
15570
15640
|
startOffset.value = getOffset(e, activeThumbRef.value, props.direction);
|
|
15571
15641
|
} else {
|
|
15572
15642
|
startOffset.value = 0;
|
|
15573
|
-
|
|
15574
|
-
|
|
15643
|
+
if (value != null) {
|
|
15644
|
+
onSliderMove({
|
|
15645
|
+
value
|
|
15646
|
+
});
|
|
15647
|
+
}
|
|
15648
|
+
}
|
|
15649
|
+
if (value != null) {
|
|
15650
|
+
onSliderStart({
|
|
15651
|
+
value
|
|
15575
15652
|
});
|
|
15576
15653
|
}
|
|
15577
|
-
onSliderStart({
|
|
15578
|
-
value: parseMouseMove(e)
|
|
15579
|
-
});
|
|
15580
15654
|
vue.nextTick(() => activeThumbRef.value?.focus());
|
|
15581
15655
|
};
|
|
15582
15656
|
const moveListenerOptions = {
|
|
@@ -15584,9 +15658,12 @@
|
|
|
15584
15658
|
capture: true
|
|
15585
15659
|
};
|
|
15586
15660
|
function onMouseMove(e) {
|
|
15587
|
-
|
|
15588
|
-
|
|
15589
|
-
|
|
15661
|
+
const value = parseMouseMove(e);
|
|
15662
|
+
if (value != null) {
|
|
15663
|
+
onSliderMove({
|
|
15664
|
+
value
|
|
15665
|
+
});
|
|
15666
|
+
}
|
|
15590
15667
|
}
|
|
15591
15668
|
function onSliderMouseUp(e) {
|
|
15592
15669
|
e.stopPropagation();
|
|
@@ -17025,7 +17102,7 @@
|
|
|
17025
17102
|
let set = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
17026
17103
|
if (!item || item.props.disabled) return;
|
|
17027
17104
|
if (props.multiple) {
|
|
17028
|
-
const index = model.value.findIndex(selection => props.valueComparator(selection.value, item.value));
|
|
17105
|
+
const index = model.value.findIndex(selection => (props.valueComparator || deepEqual)(selection.value, item.value));
|
|
17029
17106
|
const add = set == null ? !~index : set;
|
|
17030
17107
|
if (~index) {
|
|
17031
17108
|
const value = add ? [...model.value, item] : [...model.value];
|
|
@@ -17085,7 +17162,7 @@
|
|
|
17085
17162
|
});
|
|
17086
17163
|
vue.watch(menu, () => {
|
|
17087
17164
|
if (!props.hideSelected && menu.value && model.value.length) {
|
|
17088
|
-
const index = displayItems.value.findIndex(item => model.value.some(s => props.valueComparator(s.value, item.value)));
|
|
17165
|
+
const index = displayItems.value.findIndex(item => model.value.some(s => (props.valueComparator || deepEqual)(s.value, item.value)));
|
|
17089
17166
|
IN_BROWSER && window.requestAnimationFrame(() => {
|
|
17090
17167
|
index >= 0 && vVirtualScrollRef.value?.scrollToIndex(index);
|
|
17091
17168
|
});
|
|
@@ -18302,13 +18379,7 @@
|
|
|
18302
18379
|
return [...new Set(arr)];
|
|
18303
18380
|
}
|
|
18304
18381
|
return dive({
|
|
18305
|
-
|
|
18306
|
-
items,
|
|
18307
|
-
id: 'dummy',
|
|
18308
|
-
key: 'dummy',
|
|
18309
|
-
value: 'dummy',
|
|
18310
|
-
depth: 0
|
|
18311
|
-
});
|
|
18382
|
+
items});
|
|
18312
18383
|
}
|
|
18313
18384
|
|
|
18314
18385
|
// onBeforeMount(() => {
|
|
@@ -18752,15 +18823,19 @@
|
|
|
18752
18823
|
})) ?? [];
|
|
18753
18824
|
const item = newSortBy.find(x => x.key === column.key);
|
|
18754
18825
|
if (!item) {
|
|
18755
|
-
if (multiSort.value)
|
|
18756
|
-
|
|
18757
|
-
|
|
18758
|
-
|
|
18759
|
-
|
|
18760
|
-
|
|
18761
|
-
|
|
18826
|
+
if (multiSort.value) {
|
|
18827
|
+
newSortBy.push({
|
|
18828
|
+
key: column.key,
|
|
18829
|
+
order: 'asc'
|
|
18830
|
+
});
|
|
18831
|
+
} else {
|
|
18832
|
+
newSortBy = [{
|
|
18833
|
+
key: column.key,
|
|
18834
|
+
order: 'asc'
|
|
18835
|
+
}];
|
|
18836
|
+
}
|
|
18762
18837
|
} else if (item.order === 'desc') {
|
|
18763
|
-
if (mustSort.value) {
|
|
18838
|
+
if (mustSort.value && newSortBy.length === 1) {
|
|
18764
18839
|
item.order = 'asc';
|
|
18765
18840
|
} else {
|
|
18766
18841
|
newSortBy = newSortBy.filter(x => x.key !== column.key);
|
|
@@ -21385,7 +21460,7 @@
|
|
|
21385
21460
|
},
|
|
21386
21461
|
disabled: {
|
|
21387
21462
|
type: [Boolean, String, Array],
|
|
21388
|
-
default:
|
|
21463
|
+
default: null
|
|
21389
21464
|
},
|
|
21390
21465
|
nextIcon: {
|
|
21391
21466
|
type: IconValue,
|
|
@@ -21567,7 +21642,10 @@
|
|
|
21567
21642
|
// Composables
|
|
21568
21643
|
const makeCalendarProps = propsFactory({
|
|
21569
21644
|
allowedDates: [Array, Function],
|
|
21570
|
-
disabled:
|
|
21645
|
+
disabled: {
|
|
21646
|
+
type: Boolean,
|
|
21647
|
+
default: null
|
|
21648
|
+
},
|
|
21571
21649
|
displayValue: null,
|
|
21572
21650
|
modelValue: Array,
|
|
21573
21651
|
month: [Number, String],
|
|
@@ -21719,7 +21797,7 @@
|
|
|
21719
21797
|
type: String,
|
|
21720
21798
|
default: 'picker-reverse-transition'
|
|
21721
21799
|
},
|
|
21722
|
-
...makeCalendarProps()
|
|
21800
|
+
...omit(makeCalendarProps(), ['displayValue'])
|
|
21723
21801
|
}, 'VDatePickerMonth');
|
|
21724
21802
|
const VDatePickerMonth = genericComponent()({
|
|
21725
21803
|
name: 'VDatePickerMonth',
|
|
@@ -22996,8 +23074,7 @@
|
|
|
22996
23074
|
const fieldProps = filterFieldProps(props);
|
|
22997
23075
|
return vue.createVNode(VInput, vue.mergeProps({
|
|
22998
23076
|
"ref": vInputRef,
|
|
22999
|
-
"modelValue": model.value,
|
|
23000
|
-
"onUpdate:modelValue": $event => model.value = $event,
|
|
23077
|
+
"modelValue": props.multiple ? model.value : model.value[0],
|
|
23001
23078
|
"class": ['v-file-input', {
|
|
23002
23079
|
'v-file-input--chips': !!props.chips,
|
|
23003
23080
|
'v-file-input--hide': props.hideInput,
|
|
@@ -23836,7 +23913,7 @@
|
|
|
23836
23913
|
/** @see https://android.googlesource.com/platform/frameworks/native/+/master/libs/input/VelocityTracker.cpp */
|
|
23837
23914
|
function kineticEnergyToVelocity(work) {
|
|
23838
23915
|
const sqrt2 = 1.41421356237;
|
|
23839
|
-
return (work < 0 ? -1
|
|
23916
|
+
return (work < 0 ? -1 : 1.0) * Math.sqrt(Math.abs(work)) * sqrt2;
|
|
23840
23917
|
}
|
|
23841
23918
|
|
|
23842
23919
|
/**
|
|
@@ -24218,7 +24295,6 @@
|
|
|
24218
24295
|
const size = isTemporary.value ? 0 : props.rail && props.expandOnHover ? Number(props.railWidth) : width.value;
|
|
24219
24296
|
return isDragging.value ? size * dragProgress.value : size;
|
|
24220
24297
|
});
|
|
24221
|
-
const elementSize = vue.computed(() => ['top', 'bottom'].includes(props.location) ? 0 : width.value);
|
|
24222
24298
|
const {
|
|
24223
24299
|
layoutItemStyles,
|
|
24224
24300
|
layoutItemScrimStyles
|
|
@@ -24227,7 +24303,7 @@
|
|
|
24227
24303
|
order: vue.computed(() => parseInt(props.order, 10)),
|
|
24228
24304
|
position: location,
|
|
24229
24305
|
layoutSize,
|
|
24230
|
-
elementSize,
|
|
24306
|
+
elementSize: width,
|
|
24231
24307
|
active: vue.computed(() => isActive.value || isDragging.value),
|
|
24232
24308
|
disableTransitions: vue.computed(() => isDragging.value),
|
|
24233
24309
|
absolute: vue.computed(() =>
|
|
@@ -24273,9 +24349,7 @@
|
|
|
24273
24349
|
'v-navigation-drawer--active': isActive.value,
|
|
24274
24350
|
'v-navigation-drawer--sticky': isSticky.value
|
|
24275
24351
|
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, displayClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
|
24276
|
-
"style": [backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value, stickyStyles.value, props.style
|
|
24277
|
-
height: 'auto'
|
|
24278
|
-
} : {}]
|
|
24352
|
+
"style": [backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value, stickyStyles.value, props.style]
|
|
24279
24353
|
}, scopeId, attrs), {
|
|
24280
24354
|
default: () => [hasImage && vue.createVNode("div", {
|
|
24281
24355
|
"key": "image",
|
|
@@ -24362,7 +24436,7 @@
|
|
|
24362
24436
|
},
|
|
24363
24437
|
...makeDimensionProps(),
|
|
24364
24438
|
...makeFocusProps(),
|
|
24365
|
-
...
|
|
24439
|
+
...pick(makeVFieldProps({
|
|
24366
24440
|
variant: 'outlined'
|
|
24367
24441
|
}), ['baseColor', 'bgColor', 'class', 'color', 'disabled', 'error', 'loading', 'rounded', 'style', 'theme', 'variant'])
|
|
24368
24442
|
}, 'VOtpInput');
|
|
@@ -25595,6 +25669,8 @@
|
|
|
25595
25669
|
}
|
|
25596
25670
|
}, 'Line');
|
|
25597
25671
|
|
|
25672
|
+
// Utilities
|
|
25673
|
+
|
|
25598
25674
|
// Types
|
|
25599
25675
|
|
|
25600
25676
|
const makeVBarlineProps = propsFactory({
|
|
@@ -25792,6 +25868,8 @@
|
|
|
25792
25868
|
};
|
|
25793
25869
|
}
|
|
25794
25870
|
|
|
25871
|
+
// Utilities
|
|
25872
|
+
|
|
25795
25873
|
// Types
|
|
25796
25874
|
|
|
25797
25875
|
const makeVTrendlineProps = propsFactory({
|
|
@@ -26346,7 +26424,7 @@
|
|
|
26346
26424
|
selectedClass: 'v-stepper-item--selected'
|
|
26347
26425
|
}),
|
|
26348
26426
|
...makeVSheetProps(),
|
|
26349
|
-
...
|
|
26427
|
+
...pick(makeVStepperActionsProps(), ['prevText', 'nextText'])
|
|
26350
26428
|
}, 'VStepper');
|
|
26351
26429
|
const VStepper = genericComponent()({
|
|
26352
26430
|
name: 'VStepper',
|
|
@@ -27428,7 +27506,7 @@
|
|
|
27428
27506
|
type: String,
|
|
27429
27507
|
validator: v => ['start', 'end', 'both'].includes(v)
|
|
27430
27508
|
},
|
|
27431
|
-
...
|
|
27509
|
+
...pick(makeVTimelineItemProps({
|
|
27432
27510
|
lineInset: 0
|
|
27433
27511
|
}), ['dotColor', 'fillDot', 'hideOpposite', 'iconColor', 'lineInset', 'size']),
|
|
27434
27512
|
...makeComponentProps(),
|
|
@@ -27734,6 +27812,10 @@
|
|
|
27734
27812
|
...makeVCalendarIntervalProps()
|
|
27735
27813
|
},
|
|
27736
27814
|
setup(props, _ref) {
|
|
27815
|
+
let {
|
|
27816
|
+
emit,
|
|
27817
|
+
slots
|
|
27818
|
+
} = _ref;
|
|
27737
27819
|
const adapter = useDate();
|
|
27738
27820
|
const interval = vue.computed(() => {
|
|
27739
27821
|
const start = adapter.addMinutes(adapter.startOfDay(props.day.date), props.intervalDuration * (props.index + props.intervalStart));
|
|
@@ -28128,7 +28210,7 @@
|
|
|
28128
28210
|
...omit(makeVDatePickerProps({
|
|
28129
28211
|
weeksInMonth: 'dynamic',
|
|
28130
28212
|
hideHeader: true
|
|
28131
|
-
}), ['active', 'location'])
|
|
28213
|
+
}), ['active', 'location', 'rounded'])
|
|
28132
28214
|
}, 'VDateInput');
|
|
28133
28215
|
const VDateInput = genericComponent()({
|
|
28134
28216
|
name: 'VDateInput',
|
|
@@ -28149,8 +28231,9 @@
|
|
|
28149
28231
|
focus,
|
|
28150
28232
|
blur
|
|
28151
28233
|
} = useFocus(props);
|
|
28152
|
-
const model = useProxiedModel(props, 'modelValue', props.multiple ? [] : null);
|
|
28234
|
+
const model = useProxiedModel(props, 'modelValue', props.multiple ? [] : null, val => Array.isArray(val) ? val.map(item => adapter.toJsDate(item)) : val ? adapter.toJsDate(val) : val, val => Array.isArray(val) ? val.map(item => adapter.date(item)) : val ? adapter.date(val) : val);
|
|
28153
28235
|
const menu = vue.shallowRef(false);
|
|
28236
|
+
const vDateInputRef = vue.ref();
|
|
28154
28237
|
const display = vue.computed(() => {
|
|
28155
28238
|
const value = wrapInArray(model.value);
|
|
28156
28239
|
if (!value.length) return null;
|
|
@@ -28172,7 +28255,7 @@
|
|
|
28172
28255
|
return;
|
|
28173
28256
|
}
|
|
28174
28257
|
const target = e.target;
|
|
28175
|
-
model.value =
|
|
28258
|
+
model.value = target.value;
|
|
28176
28259
|
}
|
|
28177
28260
|
function onClick(e) {
|
|
28178
28261
|
e.preventDefault();
|
|
@@ -28182,11 +28265,17 @@
|
|
|
28182
28265
|
function onSave() {
|
|
28183
28266
|
menu.value = false;
|
|
28184
28267
|
}
|
|
28268
|
+
function onUpdateModel(value) {
|
|
28269
|
+
if (value != null) return;
|
|
28270
|
+
model.value = null;
|
|
28271
|
+
}
|
|
28185
28272
|
useRender(() => {
|
|
28186
28273
|
const confirmEditProps = VConfirmEdit.filterProps(props);
|
|
28187
|
-
const datePickerProps = VDatePicker.filterProps(omit(props, ['active', 'location']));
|
|
28274
|
+
const datePickerProps = VDatePicker.filterProps(omit(props, ['active', 'location', 'rounded']));
|
|
28188
28275
|
const textFieldProps = VTextField.filterProps(props);
|
|
28189
|
-
return vue.createVNode(VTextField, vue.mergeProps(
|
|
28276
|
+
return vue.createVNode(VTextField, vue.mergeProps({
|
|
28277
|
+
"ref": vDateInputRef
|
|
28278
|
+
}, textFieldProps, {
|
|
28190
28279
|
"class": props.class,
|
|
28191
28280
|
"style": props.style,
|
|
28192
28281
|
"modelValue": display.value,
|
|
@@ -28195,9 +28284,11 @@
|
|
|
28195
28284
|
"onFocus": focus,
|
|
28196
28285
|
"onBlur": blur,
|
|
28197
28286
|
"onClick:control": isInteractive.value ? onClick : undefined,
|
|
28198
|
-
"onClick:prepend": isInteractive.value ? onClick : undefined
|
|
28287
|
+
"onClick:prepend": isInteractive.value ? onClick : undefined,
|
|
28288
|
+
"onUpdate:modelValue": onUpdateModel
|
|
28199
28289
|
}), {
|
|
28200
|
-
|
|
28290
|
+
...slots,
|
|
28291
|
+
default: () => vue.createVNode(vue.Fragment, null, [vue.createVNode(VMenu, {
|
|
28201
28292
|
"modelValue": menu.value,
|
|
28202
28293
|
"onUpdate:modelValue": $event => menu.value = $event,
|
|
28203
28294
|
"activator": "parent",
|
|
@@ -28240,9 +28331,10 @@
|
|
|
28240
28331
|
});
|
|
28241
28332
|
}
|
|
28242
28333
|
})]
|
|
28243
|
-
}), slots.default?.()]
|
|
28334
|
+
}), slots.default?.()])
|
|
28244
28335
|
});
|
|
28245
28336
|
});
|
|
28337
|
+
return forwardRefs({}, vDateInputRef);
|
|
28246
28338
|
}
|
|
28247
28339
|
});
|
|
28248
28340
|
|
|
@@ -28374,7 +28466,7 @@
|
|
|
28374
28466
|
name: String,
|
|
28375
28467
|
...makeDelayProps(),
|
|
28376
28468
|
...makeDensityProps(),
|
|
28377
|
-
...
|
|
28469
|
+
...pick(makeVDividerProps({
|
|
28378
28470
|
length: 150
|
|
28379
28471
|
}), ['length', 'thickness', 'opacity']),
|
|
28380
28472
|
...makeVSheetProps()
|
|
@@ -28584,7 +28676,11 @@
|
|
|
28584
28676
|
type: Number,
|
|
28585
28677
|
default: 1
|
|
28586
28678
|
},
|
|
28587
|
-
|
|
28679
|
+
precision: {
|
|
28680
|
+
type: Number,
|
|
28681
|
+
default: 0
|
|
28682
|
+
},
|
|
28683
|
+
...omit(makeVTextFieldProps({}), ['modelValue'])
|
|
28588
28684
|
}, 'VNumberInput');
|
|
28589
28685
|
const VNumberInput = genericComponent()({
|
|
28590
28686
|
name: 'VNumberInput',
|
|
@@ -28598,27 +28694,37 @@
|
|
|
28598
28694
|
let {
|
|
28599
28695
|
slots
|
|
28600
28696
|
} = _ref;
|
|
28601
|
-
const
|
|
28602
|
-
const
|
|
28603
|
-
|
|
28604
|
-
|
|
28605
|
-
|
|
28697
|
+
const vTextFieldRef = vue.ref();
|
|
28698
|
+
const form = useForm(props);
|
|
28699
|
+
const controlsDisabled = vue.computed(() => form.isDisabled.value || form.isReadonly.value);
|
|
28700
|
+
const isFocused = vue.ref(false);
|
|
28701
|
+
function correctPrecision(val) {
|
|
28702
|
+
let precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : props.precision;
|
|
28703
|
+
const fixed = precision == null ? String(val) : val.toFixed(precision);
|
|
28704
|
+
return isFocused.value ? Number(fixed).toString() // trim zeros
|
|
28705
|
+
: fixed;
|
|
28706
|
+
}
|
|
28707
|
+
const model = useProxiedModel(props, 'modelValue', null, val => val ?? null, val => val == null ? val ?? null : clamp(+val, props.min, props.max));
|
|
28708
|
+
const _inputText = vue.shallowRef(null);
|
|
28709
|
+
vue.watchEffect(() => {
|
|
28710
|
+
if (isFocused.value && !controlsDisabled.value) ; else if (model.value == null || controlsDisabled.value) {
|
|
28711
|
+
_inputText.value = model.value && !isNaN(model.value) ? String(model.value) : null;
|
|
28712
|
+
} else if (!isNaN(model.value)) {
|
|
28713
|
+
_inputText.value = correctPrecision(model.value);
|
|
28714
|
+
}
|
|
28715
|
+
});
|
|
28716
|
+
const inputText = vue.computed({
|
|
28717
|
+
get: () => _inputText.value,
|
|
28606
28718
|
set(val) {
|
|
28607
28719
|
if (val === null || val === '') {
|
|
28608
|
-
|
|
28609
|
-
|
|
28610
|
-
}
|
|
28611
|
-
|
|
28612
|
-
|
|
28613
|
-
_model.value = value;
|
|
28720
|
+
model.value = null;
|
|
28721
|
+
_inputText.value = null;
|
|
28722
|
+
} else if (!isNaN(+val) && +val <= props.max && +val >= props.min) {
|
|
28723
|
+
model.value = +val;
|
|
28724
|
+
_inputText.value = val;
|
|
28614
28725
|
}
|
|
28615
28726
|
}
|
|
28616
28727
|
});
|
|
28617
|
-
const vTextFieldRef = vue.ref();
|
|
28618
|
-
const stepDecimals = vue.computed(() => getDecimals(props.step));
|
|
28619
|
-
const modelDecimals = vue.computed(() => typeof model.value === 'number' ? getDecimals(model.value) : 0);
|
|
28620
|
-
const form = useForm(props);
|
|
28621
|
-
const controlsDisabled = vue.computed(() => form.isDisabled.value || form.isReadonly.value);
|
|
28622
28728
|
const canIncrease = vue.computed(() => {
|
|
28623
28729
|
if (controlsDisabled.value) return false;
|
|
28624
28730
|
return (model.value ?? 0) + props.step <= props.max;
|
|
@@ -28640,23 +28746,29 @@
|
|
|
28640
28746
|
const decrementSlotProps = vue.computed(() => ({
|
|
28641
28747
|
click: onClickDown
|
|
28642
28748
|
}));
|
|
28749
|
+
vue.watch(() => props.precision, () => formatInputValue());
|
|
28643
28750
|
vue.onMounted(() => {
|
|
28644
|
-
|
|
28645
|
-
clampModel();
|
|
28646
|
-
}
|
|
28751
|
+
clampModel();
|
|
28647
28752
|
});
|
|
28753
|
+
function inferPrecision(value) {
|
|
28754
|
+
if (value == null) return 0;
|
|
28755
|
+
const str = value.toString();
|
|
28756
|
+
const idx = str.indexOf('.');
|
|
28757
|
+
return ~idx ? str.length - idx : 0;
|
|
28758
|
+
}
|
|
28648
28759
|
function toggleUpDown() {
|
|
28649
28760
|
let increment = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
28650
28761
|
if (controlsDisabled.value) return;
|
|
28651
28762
|
if (model.value == null) {
|
|
28652
|
-
|
|
28763
|
+
inputText.value = correctPrecision(clamp(0, props.min, props.max));
|
|
28653
28764
|
return;
|
|
28654
28765
|
}
|
|
28655
|
-
|
|
28766
|
+
let inferredPrecision = Math.max(inferPrecision(model.value), inferPrecision(props.step));
|
|
28767
|
+
if (props.precision != null) inferredPrecision = Math.max(inferredPrecision, props.precision);
|
|
28656
28768
|
if (increment) {
|
|
28657
|
-
if (canIncrease.value)
|
|
28769
|
+
if (canIncrease.value) inputText.value = correctPrecision(model.value + props.step, inferredPrecision);
|
|
28658
28770
|
} else {
|
|
28659
|
-
if (canDecrease.value)
|
|
28771
|
+
if (canDecrease.value) inputText.value = correctPrecision(model.value - props.step, inferredPrecision);
|
|
28660
28772
|
}
|
|
28661
28773
|
}
|
|
28662
28774
|
function onClickUp(e) {
|
|
@@ -28679,6 +28791,16 @@
|
|
|
28679
28791
|
if (!/^-?(\d+(\.\d*)?|(\.\d+)|\d*|\.)$/.test(potentialNewInputVal)) {
|
|
28680
28792
|
e.preventDefault();
|
|
28681
28793
|
}
|
|
28794
|
+
if (props.precision == null) return;
|
|
28795
|
+
|
|
28796
|
+
// Ignore decimal digits above precision limit
|
|
28797
|
+
if (potentialNewInputVal.split('.')[1]?.length > props.precision) {
|
|
28798
|
+
e.preventDefault();
|
|
28799
|
+
}
|
|
28800
|
+
// Ignore decimal separator when precision = 0
|
|
28801
|
+
if (props.precision === 0 && potentialNewInputVal.includes('.')) {
|
|
28802
|
+
e.preventDefault();
|
|
28803
|
+
}
|
|
28682
28804
|
}
|
|
28683
28805
|
async function onKeydown(e) {
|
|
28684
28806
|
if (['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace', 'Delete', 'Tab'].includes(e.key) || e.ctrlKey) return;
|
|
@@ -28698,13 +28820,38 @@
|
|
|
28698
28820
|
e.stopPropagation();
|
|
28699
28821
|
}
|
|
28700
28822
|
function clampModel() {
|
|
28823
|
+
if (controlsDisabled.value) return;
|
|
28701
28824
|
if (!vTextFieldRef.value) return;
|
|
28702
|
-
const
|
|
28703
|
-
if (
|
|
28704
|
-
|
|
28825
|
+
const actualText = vTextFieldRef.value.value;
|
|
28826
|
+
if (actualText && !isNaN(+actualText)) {
|
|
28827
|
+
inputText.value = correctPrecision(clamp(+actualText, props.min, props.max));
|
|
28705
28828
|
} else {
|
|
28706
|
-
|
|
28829
|
+
inputText.value = null;
|
|
28830
|
+
}
|
|
28831
|
+
}
|
|
28832
|
+
function formatInputValue() {
|
|
28833
|
+
if (controlsDisabled.value) return;
|
|
28834
|
+
if (model.value === null || isNaN(model.value)) {
|
|
28835
|
+
inputText.value = null;
|
|
28836
|
+
return;
|
|
28707
28837
|
}
|
|
28838
|
+
inputText.value = props.precision == null ? String(model.value) : model.value.toFixed(props.precision);
|
|
28839
|
+
}
|
|
28840
|
+
function trimDecimalZeros() {
|
|
28841
|
+
if (controlsDisabled.value) return;
|
|
28842
|
+
if (model.value === null || isNaN(model.value)) {
|
|
28843
|
+
inputText.value = null;
|
|
28844
|
+
return;
|
|
28845
|
+
}
|
|
28846
|
+
inputText.value = model.value.toString();
|
|
28847
|
+
}
|
|
28848
|
+
function onFocus() {
|
|
28849
|
+
isFocused.value = true;
|
|
28850
|
+
trimDecimalZeros();
|
|
28851
|
+
}
|
|
28852
|
+
function onBlur() {
|
|
28853
|
+
isFocused.value = false;
|
|
28854
|
+
clampModel();
|
|
28708
28855
|
}
|
|
28709
28856
|
useRender(() => {
|
|
28710
28857
|
const {
|
|
@@ -28783,20 +28930,21 @@
|
|
|
28783
28930
|
"class": "v-number-input__control"
|
|
28784
28931
|
}, [vue.createVNode(VDivider, {
|
|
28785
28932
|
"vertical": true
|
|
28786
|
-
}, null), incrementControlNode()]) : props.reverse ? undefined : vue.createVNode(vue.Fragment, null, [dividerNode(), controlNode()]);
|
|
28933
|
+
}, null), incrementControlNode()]) : props.reverse || controlVariant.value === 'hidden' ? undefined : vue.createVNode(vue.Fragment, null, [dividerNode(), controlNode()]);
|
|
28787
28934
|
const hasAppendInner = slots['append-inner'] || appendInnerControl;
|
|
28788
28935
|
const prependInnerControl = controlVariant.value === 'split' ? vue.createVNode("div", {
|
|
28789
28936
|
"class": "v-number-input__control"
|
|
28790
28937
|
}, [decrementControlNode(), vue.createVNode(VDivider, {
|
|
28791
28938
|
"vertical": true
|
|
28792
|
-
}, null)]) : props.reverse ? vue.createVNode(vue.Fragment, null, [controlNode(), dividerNode()]) : undefined;
|
|
28939
|
+
}, null)]) : props.reverse && controlVariant.value !== 'hidden' ? vue.createVNode(vue.Fragment, null, [controlNode(), dividerNode()]) : undefined;
|
|
28793
28940
|
const hasPrependInner = slots['prepend-inner'] || prependInnerControl;
|
|
28794
28941
|
return vue.createVNode(VTextField, vue.mergeProps({
|
|
28795
28942
|
"ref": vTextFieldRef,
|
|
28796
|
-
"modelValue":
|
|
28797
|
-
"onUpdate:modelValue": $event =>
|
|
28943
|
+
"modelValue": inputText.value,
|
|
28944
|
+
"onUpdate:modelValue": $event => inputText.value = $event,
|
|
28798
28945
|
"onBeforeinput": onBeforeinput,
|
|
28799
|
-
"
|
|
28946
|
+
"onFocus": onFocus,
|
|
28947
|
+
"onBlur": onBlur,
|
|
28800
28948
|
"onKeydown": onKeydown,
|
|
28801
28949
|
"class": ['v-number-input', {
|
|
28802
28950
|
'v-number-input--default': controlVariant.value === 'default',
|
|
@@ -29682,7 +29830,7 @@
|
|
|
29682
29830
|
const rangeHours24 = createRange(24);
|
|
29683
29831
|
const rangeHours12am = createRange(12);
|
|
29684
29832
|
const rangeHours12pm = rangeHours12am.map(v => v + 12);
|
|
29685
|
-
|
|
29833
|
+
createRange(60);
|
|
29686
29834
|
const selectingNames = {
|
|
29687
29835
|
1: 'hour',
|
|
29688
29836
|
2: 'minute',
|
|
@@ -29832,11 +29980,11 @@
|
|
|
29832
29980
|
period.value = inputHour.value == null || inputHour.value < 12 ? 'am' : 'pm';
|
|
29833
29981
|
}
|
|
29834
29982
|
function firstAllowed(type, value) {
|
|
29835
|
-
const allowedFn =
|
|
29983
|
+
const allowedFn = isAllowedHourCb.value ;
|
|
29836
29984
|
if (!allowedFn) return value;
|
|
29837
29985
|
|
|
29838
29986
|
// TODO: clean up (Note from V2 code)
|
|
29839
|
-
const range =
|
|
29987
|
+
const range = isAmPm.value ? value < 12 ? rangeHours12am : rangeHours12pm : rangeHours24;
|
|
29840
29988
|
const first = range.find(v => allowedFn((v + value) % range.length + range[0]));
|
|
29841
29989
|
return ((first || 0) + value) % range.length + range[0];
|
|
29842
29990
|
}
|
|
@@ -29989,22 +30137,21 @@
|
|
|
29989
30137
|
props: makeVTreeviewItemProps(),
|
|
29990
30138
|
setup(props, _ref) {
|
|
29991
30139
|
let {
|
|
29992
|
-
|
|
29993
|
-
slots,
|
|
29994
|
-
emit
|
|
30140
|
+
slots
|
|
29995
30141
|
} = _ref;
|
|
29996
|
-
const
|
|
30142
|
+
const visibleIds = vue.inject(VTreeviewSymbol, {
|
|
30143
|
+
visibleIds: vue.ref()
|
|
30144
|
+
}).visibleIds;
|
|
29997
30145
|
const vListItemRef = vue.ref();
|
|
29998
30146
|
const isActivatableGroupActivator = vue.computed(() => vListItemRef.value?.root.activatable.value && vListItemRef.value?.isGroupActivator);
|
|
29999
|
-
const
|
|
30147
|
+
const vListItemRefIsClickable = vue.computed(() => vListItemRef.value?.link.isClickable.value || props.value != null && !!vListItemRef.value?.list);
|
|
30148
|
+
const isClickable = vue.computed(() => !props.disabled && props.link !== false && (props.link || vListItemRefIsClickable.value || isActivatableGroupActivator.value));
|
|
30149
|
+
const isFiltered = vue.computed(() => visibleIds.value && !visibleIds.value.has(vue.toRaw(vListItemRef.value?.id)));
|
|
30000
30150
|
function activateGroupActivator(e) {
|
|
30001
30151
|
if (isClickable.value && isActivatableGroupActivator.value) {
|
|
30002
30152
|
vListItemRef.value?.activate(!vListItemRef.value?.isActivated, e);
|
|
30003
30153
|
}
|
|
30004
30154
|
}
|
|
30005
|
-
const visibleIds = vue.inject(VTreeviewSymbol, {
|
|
30006
|
-
visibleIds: vue.ref()
|
|
30007
|
-
}).visibleIds;
|
|
30008
30155
|
useRender(() => {
|
|
30009
30156
|
const listItemProps = omit(VListItem.filterProps(props), ['onClick']);
|
|
30010
30157
|
const hasPrepend = slots.prepend || props.toggleIcon;
|
|
@@ -30014,7 +30161,7 @@
|
|
|
30014
30161
|
"active": vListItemRef.value?.isActivated,
|
|
30015
30162
|
"class": ['v-treeview-item', {
|
|
30016
30163
|
'v-treeview-item--activatable-group-activator': isActivatableGroupActivator.value,
|
|
30017
|
-
'v-treeview-item--filtered':
|
|
30164
|
+
'v-treeview-item--filtered': isFiltered.value
|
|
30018
30165
|
}, props.class],
|
|
30019
30166
|
"ripple": false,
|
|
30020
30167
|
"onClick": props.onClick ?? activateGroupActivator
|
|
@@ -30098,11 +30245,6 @@
|
|
|
30098
30245
|
}
|
|
30099
30246
|
}
|
|
30100
30247
|
return () => slots.default?.() ?? props.items?.map(item => {
|
|
30101
|
-
if (item.type === 'divider') {
|
|
30102
|
-
return slots.divider?.({
|
|
30103
|
-
props: item.props
|
|
30104
|
-
}) ?? vue.createVNode(VDivider, item.props, null);
|
|
30105
|
-
}
|
|
30106
30248
|
const {
|
|
30107
30249
|
children,
|
|
30108
30250
|
props: itemProps
|
|
@@ -30201,7 +30343,7 @@
|
|
|
30201
30343
|
collapseIcon: '$treeviewCollapse',
|
|
30202
30344
|
expandIcon: '$treeviewExpand',
|
|
30203
30345
|
slim: true
|
|
30204
|
-
}), ['nav', 'openStrategy']),
|
|
30346
|
+
}), ['itemType', 'nav', 'openStrategy']),
|
|
30205
30347
|
modelValue: {
|
|
30206
30348
|
type: Array,
|
|
30207
30349
|
default: () => []
|
|
@@ -30821,7 +30963,7 @@
|
|
|
30821
30963
|
goTo
|
|
30822
30964
|
};
|
|
30823
30965
|
}
|
|
30824
|
-
const version$1 = "3.7.
|
|
30966
|
+
const version$1 = "3.7.13";
|
|
30825
30967
|
createVuetify$1.version = version$1;
|
|
30826
30968
|
|
|
30827
30969
|
// Vue's inject() can only be used in setup
|
|
@@ -31074,7 +31216,7 @@
|
|
|
31074
31216
|
|
|
31075
31217
|
/* eslint-disable local-rules/sort-imports */
|
|
31076
31218
|
|
|
31077
|
-
const version = "3.7.
|
|
31219
|
+
const version = "3.7.13";
|
|
31078
31220
|
|
|
31079
31221
|
/* eslint-disable local-rules/sort-imports */
|
|
31080
31222
|
|