vuetify 3.7.12 → 3.7.14
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 +2442 -2430
- package/dist/json/importMap-labs.json +8 -8
- package/dist/json/importMap.json +146 -146
- package/dist/json/tags.json +4 -1
- package/dist/json/web-types.json +4796 -4506
- package/dist/vuetify-labs.css +2781 -2771
- package/dist/vuetify-labs.d.ts +427 -163
- package/dist/vuetify-labs.esm.js +224 -143
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +223 -142
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +4465 -4469
- package/dist/vuetify.d.ts +173 -152
- package/dist/vuetify.esm.js +103 -85
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +102 -84
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +1082 -1077
- 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 +1 -1
- package/lib/components/VAutocomplete/index.d.mts +4 -4
- 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 +1 -1
- package/lib/components/VCombobox/index.d.mts +4 -4
- 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 +20 -11
- package/lib/components/VDatePicker/VDatePicker.mjs.map +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 +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 +28 -16
- 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.css +0 -1
- package/lib/components/VFileInput/VFileInput.mjs +13 -4
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/VFileInput.sass +0 -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 +2 -2
- 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 +17 -5
- 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.mjs +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 +1 -1
- package/lib/components/VSelect/index.d.mts +4 -4
- 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/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 +127 -106
- 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/date/adapters/vuetify.mjs +9 -21
- package/lib/composables/date/adapters/vuetify.mjs.map +1 -1
- package/lib/composables/density.mjs +1 -1
- package/lib/composables/density.mjs.map +1 -1
- package/lib/composables/icons.mjs +1 -1
- package/lib/composables/list-items.mjs +2 -3
- 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/variant.mjs +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 +47 -47
- 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 +4 -3
- package/lib/labs/VDateInput/VDateInput.mjs.map +1 -1
- package/lib/labs/VDateInput/index.d.mts +256 -3
- 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/VTimePicker/VTimePickerControls.sass +16 -16
- package/lib/labs/VTimePicker/_variables.scss +12 -12
- package/lib/labs/VTreeview/VTreeview.mjs +7 -3
- package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
- package/lib/labs/VTreeview/VTreeviewChildren.mjs +6 -9
- package/lib/labs/VTreeview/VTreeviewChildren.mjs.map +1 -1
- package/lib/labs/VTreeview/VTreeviewGroup.mjs +1 -1
- package/lib/labs/VTreeview/VTreeviewItem.css +15 -9
- package/lib/labs/VTreeview/VTreeviewItem.mjs +14 -14
- package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
- package/lib/labs/VTreeview/VTreeviewItem.sass +16 -10
- package/lib/labs/VTreeview/_variables.scss +2 -5
- package/lib/labs/VTreeview/index.d.mts +14 -20
- package/lib/labs/components.d.mts +365 -122
- package/lib/locale/adapters/vue-i18n.mjs +0 -1
- package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
- package/lib/locale/ja.mjs +19 -19
- package/lib/locale/ja.mjs.map +1 -1
- package/lib/styles/tools/_functions.sass +1 -1
- package/lib/util/helpers.mjs +3 -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.14
|
|
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'];
|
|
@@ -881,7 +875,7 @@
|
|
|
881
875
|
// WoB should always return negative value.
|
|
882
876
|
|
|
883
877
|
const SAPC = (Ybg ** revBG - Ytxt ** revTXT) * scaleWoB;
|
|
884
|
-
outputContrast = SAPC > -
|
|
878
|
+
outputContrast = SAPC > -1e-3 ? 0.0 : SAPC > -0.078 ? SAPC - SAPC * loConFactor * loConOffset : SAPC + loConOffset;
|
|
885
879
|
}
|
|
886
880
|
return outputContrast * 100;
|
|
887
881
|
}
|
|
@@ -921,7 +915,7 @@
|
|
|
921
915
|
// Types
|
|
922
916
|
|
|
923
917
|
// For converting XYZ to sRGB
|
|
924
|
-
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]];
|
|
925
919
|
|
|
926
920
|
// Forward gamma adjust
|
|
927
921
|
const srgbForwardTransform = C => C <= 0.0031308 ? C * 12.92 : 1.055 * C ** (1 / 2.4) - 0.055;
|
|
@@ -1269,7 +1263,7 @@
|
|
|
1269
1263
|
function getCurrentInstance(name, message) {
|
|
1270
1264
|
const vm = vue.getCurrentInstance();
|
|
1271
1265
|
if (!vm) {
|
|
1272
|
-
throw new Error(`[Vuetify] ${name} ${
|
|
1266
|
+
throw new Error(`[Vuetify] ${name} ${'must be called from inside a setup function'}`);
|
|
1273
1267
|
}
|
|
1274
1268
|
return vm;
|
|
1275
1269
|
}
|
|
@@ -2822,6 +2816,8 @@
|
|
|
2822
2816
|
}
|
|
2823
2817
|
}
|
|
2824
2818
|
|
|
2819
|
+
// Utilities
|
|
2820
|
+
|
|
2825
2821
|
// Types
|
|
2826
2822
|
|
|
2827
2823
|
const makeVDialogTransitionProps = propsFactory({
|
|
@@ -4016,7 +4012,7 @@
|
|
|
4016
4012
|
|
|
4017
4013
|
const allowedDensities = [null, 'default', 'comfortable', 'compact'];
|
|
4018
4014
|
|
|
4019
|
-
// typeof allowedDensities[number]
|
|
4015
|
+
// typeof allowedDensities[number] evaluates to any
|
|
4020
4016
|
// when generating api types for whatever reason.
|
|
4021
4017
|
|
|
4022
4018
|
// Composables
|
|
@@ -4724,7 +4720,6 @@
|
|
|
4724
4720
|
const isIntersecting = vue.shallowRef(false);
|
|
4725
4721
|
if (SUPPORTS_INTERSECTION) {
|
|
4726
4722
|
const observer = new IntersectionObserver(entries => {
|
|
4727
|
-
callback?.(entries, observer);
|
|
4728
4723
|
isIntersecting.value = !!entries.find(entry => entry.isIntersecting);
|
|
4729
4724
|
}, options);
|
|
4730
4725
|
vue.onBeforeUnmount(() => {
|
|
@@ -6896,7 +6891,7 @@
|
|
|
6896
6891
|
'onClick:append': EventProp(),
|
|
6897
6892
|
...makeComponentProps(),
|
|
6898
6893
|
...makeDensityProps(),
|
|
6899
|
-
...
|
|
6894
|
+
...pick(makeDimensionProps(), ['maxWidth', 'minWidth', 'width']),
|
|
6900
6895
|
...makeThemeProps(),
|
|
6901
6896
|
...makeValidationProps()
|
|
6902
6897
|
}, 'VInput');
|
|
@@ -8724,7 +8719,22 @@
|
|
|
8724
8719
|
parents: parents.value,
|
|
8725
8720
|
event
|
|
8726
8721
|
});
|
|
8727
|
-
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
|
+
}
|
|
8728
8738
|
},
|
|
8729
8739
|
children,
|
|
8730
8740
|
parents,
|
|
@@ -9171,7 +9181,8 @@
|
|
|
9171
9181
|
list,
|
|
9172
9182
|
select,
|
|
9173
9183
|
root,
|
|
9174
|
-
id: uid
|
|
9184
|
+
id: uid,
|
|
9185
|
+
link
|
|
9175
9186
|
};
|
|
9176
9187
|
}
|
|
9177
9188
|
});
|
|
@@ -9439,7 +9450,6 @@
|
|
|
9439
9450
|
function transformIn(value) {
|
|
9440
9451
|
// Cache unrefed values outside the loop,
|
|
9441
9452
|
// proxy getters can be slow when you call them a billion times
|
|
9442
|
-
const _value = vue.toRaw(value);
|
|
9443
9453
|
const _items = itemsMap.value;
|
|
9444
9454
|
const _allItems = items.value;
|
|
9445
9455
|
const _keylessItems = keylessItems.value;
|
|
@@ -9449,7 +9459,7 @@
|
|
|
9449
9459
|
const valueComparator = props.valueComparator || deepEqual;
|
|
9450
9460
|
const _props = pick(props, ['itemTitle', 'itemValue', 'itemChildren', 'itemProps', 'returnObject', 'valueComparator']);
|
|
9451
9461
|
const returnValue = [];
|
|
9452
|
-
main: for (const v of
|
|
9462
|
+
main: for (const v of value) {
|
|
9453
9463
|
// When the model value is null, return an InternalItem
|
|
9454
9464
|
// based on null only if null is one of the items
|
|
9455
9465
|
if (!_hasNullItem && v === null) continue;
|
|
@@ -9695,7 +9705,7 @@
|
|
|
9695
9705
|
'v-list--slim': props.slim
|
|
9696
9706
|
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, props.class],
|
|
9697
9707
|
"style": [backgroundColorStyles.value, dimensionStyles.value, props.style],
|
|
9698
|
-
"tabindex": props.disabled
|
|
9708
|
+
"tabindex": props.disabled ? -1 : 0,
|
|
9699
9709
|
"role": "listbox",
|
|
9700
9710
|
"aria-activedescendant": undefined,
|
|
9701
9711
|
"onFocusin": onFocusin,
|
|
@@ -17707,16 +17717,13 @@
|
|
|
17707
17717
|
case 'fullTime':
|
|
17708
17718
|
options = {
|
|
17709
17719
|
hour: 'numeric',
|
|
17710
|
-
minute: 'numeric'
|
|
17711
|
-
second: 'numeric',
|
|
17712
|
-
hour12: true
|
|
17720
|
+
minute: 'numeric'
|
|
17713
17721
|
};
|
|
17714
17722
|
break;
|
|
17715
17723
|
case 'fullTime12h':
|
|
17716
17724
|
options = {
|
|
17717
17725
|
hour: 'numeric',
|
|
17718
17726
|
minute: 'numeric',
|
|
17719
|
-
second: 'numeric',
|
|
17720
17727
|
hour12: true
|
|
17721
17728
|
};
|
|
17722
17729
|
break;
|
|
@@ -17724,40 +17731,35 @@
|
|
|
17724
17731
|
options = {
|
|
17725
17732
|
hour: 'numeric',
|
|
17726
17733
|
minute: 'numeric',
|
|
17727
|
-
second: 'numeric',
|
|
17728
17734
|
hour12: false
|
|
17729
17735
|
};
|
|
17730
17736
|
break;
|
|
17731
17737
|
case 'fullDateTime':
|
|
17732
17738
|
options = {
|
|
17733
17739
|
year: 'numeric',
|
|
17734
|
-
month: '
|
|
17740
|
+
month: 'short',
|
|
17735
17741
|
day: 'numeric',
|
|
17736
17742
|
hour: 'numeric',
|
|
17737
|
-
minute: 'numeric'
|
|
17738
|
-
second: 'numeric',
|
|
17739
|
-
hour12: true
|
|
17743
|
+
minute: 'numeric'
|
|
17740
17744
|
};
|
|
17741
17745
|
break;
|
|
17742
17746
|
case 'fullDateTime12h':
|
|
17743
17747
|
options = {
|
|
17744
17748
|
year: 'numeric',
|
|
17745
|
-
month: '
|
|
17749
|
+
month: 'short',
|
|
17746
17750
|
day: 'numeric',
|
|
17747
17751
|
hour: 'numeric',
|
|
17748
17752
|
minute: 'numeric',
|
|
17749
|
-
second: 'numeric',
|
|
17750
17753
|
hour12: true
|
|
17751
17754
|
};
|
|
17752
17755
|
break;
|
|
17753
17756
|
case 'fullDateTime24h':
|
|
17754
17757
|
options = {
|
|
17755
17758
|
year: 'numeric',
|
|
17756
|
-
month: '
|
|
17759
|
+
month: 'short',
|
|
17757
17760
|
day: 'numeric',
|
|
17758
17761
|
hour: 'numeric',
|
|
17759
17762
|
minute: 'numeric',
|
|
17760
|
-
second: 'numeric',
|
|
17761
17763
|
hour12: false
|
|
17762
17764
|
};
|
|
17763
17765
|
break;
|
|
@@ -17774,11 +17776,9 @@
|
|
|
17774
17776
|
month: '2-digit',
|
|
17775
17777
|
day: '2-digit',
|
|
17776
17778
|
hour: 'numeric',
|
|
17777
|
-
minute: 'numeric'
|
|
17778
|
-
second: 'numeric',
|
|
17779
|
-
hour12: false
|
|
17779
|
+
minute: 'numeric'
|
|
17780
17780
|
};
|
|
17781
|
-
|
|
17781
|
+
return new Intl.DateTimeFormat(locale, options).format(newDate).replace(/, /g, ' ');
|
|
17782
17782
|
case 'keyboardDateTime12h':
|
|
17783
17783
|
options = {
|
|
17784
17784
|
year: 'numeric',
|
|
@@ -17786,10 +17786,9 @@
|
|
|
17786
17786
|
day: '2-digit',
|
|
17787
17787
|
hour: 'numeric',
|
|
17788
17788
|
minute: 'numeric',
|
|
17789
|
-
second: 'numeric',
|
|
17790
17789
|
hour12: true
|
|
17791
17790
|
};
|
|
17792
|
-
|
|
17791
|
+
return new Intl.DateTimeFormat(locale, options).format(newDate).replace(/, /g, ' ');
|
|
17793
17792
|
case 'keyboardDateTime24h':
|
|
17794
17793
|
options = {
|
|
17795
17794
|
year: 'numeric',
|
|
@@ -17797,10 +17796,9 @@
|
|
|
17797
17796
|
day: '2-digit',
|
|
17798
17797
|
hour: 'numeric',
|
|
17799
17798
|
minute: 'numeric',
|
|
17800
|
-
second: 'numeric',
|
|
17801
17799
|
hour12: false
|
|
17802
17800
|
};
|
|
17803
|
-
|
|
17801
|
+
return new Intl.DateTimeFormat(locale, options).format(newDate).replace(/, /g, ' ');
|
|
17804
17802
|
default:
|
|
17805
17803
|
options = customFormat ?? {
|
|
17806
17804
|
timeZone: 'UTC',
|
|
@@ -18369,13 +18367,7 @@
|
|
|
18369
18367
|
return [...new Set(arr)];
|
|
18370
18368
|
}
|
|
18371
18369
|
return dive({
|
|
18372
|
-
|
|
18373
|
-
items,
|
|
18374
|
-
id: 'dummy',
|
|
18375
|
-
key: 'dummy',
|
|
18376
|
-
value: 'dummy',
|
|
18377
|
-
depth: 0
|
|
18378
|
-
});
|
|
18370
|
+
items});
|
|
18379
18371
|
}
|
|
18380
18372
|
|
|
18381
18373
|
// onBeforeMount(() => {
|
|
@@ -18819,15 +18811,19 @@
|
|
|
18819
18811
|
})) ?? [];
|
|
18820
18812
|
const item = newSortBy.find(x => x.key === column.key);
|
|
18821
18813
|
if (!item) {
|
|
18822
|
-
if (multiSort.value)
|
|
18823
|
-
|
|
18824
|
-
|
|
18825
|
-
|
|
18826
|
-
|
|
18827
|
-
|
|
18828
|
-
|
|
18814
|
+
if (multiSort.value) {
|
|
18815
|
+
newSortBy.push({
|
|
18816
|
+
key: column.key,
|
|
18817
|
+
order: 'asc'
|
|
18818
|
+
});
|
|
18819
|
+
} else {
|
|
18820
|
+
newSortBy = [{
|
|
18821
|
+
key: column.key,
|
|
18822
|
+
order: 'asc'
|
|
18823
|
+
}];
|
|
18824
|
+
}
|
|
18829
18825
|
} else if (item.order === 'desc') {
|
|
18830
|
-
if (mustSort.value) {
|
|
18826
|
+
if (mustSort.value && newSortBy.length === 1) {
|
|
18831
18827
|
item.order = 'asc';
|
|
18832
18828
|
} else {
|
|
18833
18829
|
newSortBy = newSortBy.filter(x => x.key !== column.key);
|
|
@@ -21452,7 +21448,7 @@
|
|
|
21452
21448
|
},
|
|
21453
21449
|
disabled: {
|
|
21454
21450
|
type: [Boolean, String, Array],
|
|
21455
|
-
default:
|
|
21451
|
+
default: null
|
|
21456
21452
|
},
|
|
21457
21453
|
nextIcon: {
|
|
21458
21454
|
type: IconValue,
|
|
@@ -21634,7 +21630,10 @@
|
|
|
21634
21630
|
// Composables
|
|
21635
21631
|
const makeCalendarProps = propsFactory({
|
|
21636
21632
|
allowedDates: [Array, Function],
|
|
21637
|
-
disabled:
|
|
21633
|
+
disabled: {
|
|
21634
|
+
type: Boolean,
|
|
21635
|
+
default: null
|
|
21636
|
+
},
|
|
21638
21637
|
displayValue: null,
|
|
21639
21638
|
modelValue: Array,
|
|
21640
21639
|
month: [Number, String],
|
|
@@ -22238,9 +22237,26 @@
|
|
|
22238
22237
|
const model = useProxiedModel(props, 'modelValue', undefined, v => wrapInArray(v), v => props.multiple ? v : v[0]);
|
|
22239
22238
|
const viewMode = useProxiedModel(props, 'viewMode');
|
|
22240
22239
|
// const inputMode = useProxiedModel(props, 'inputMode')
|
|
22240
|
+
|
|
22241
|
+
const minDate = vue.computed(() => {
|
|
22242
|
+
const date = adapter.date(props.min);
|
|
22243
|
+
return props.min && adapter.isValid(date) ? date : null;
|
|
22244
|
+
});
|
|
22245
|
+
const maxDate = vue.computed(() => {
|
|
22246
|
+
const date = adapter.date(props.max);
|
|
22247
|
+
return props.max && adapter.isValid(date) ? date : null;
|
|
22248
|
+
});
|
|
22241
22249
|
const internal = vue.computed(() => {
|
|
22242
|
-
const
|
|
22243
|
-
|
|
22250
|
+
const today = adapter.date();
|
|
22251
|
+
let value = today;
|
|
22252
|
+
if (model.value?.[0]) {
|
|
22253
|
+
value = adapter.date(model.value[0]);
|
|
22254
|
+
} else if (minDate.value && adapter.isBefore(today, minDate.value)) {
|
|
22255
|
+
value = minDate.value;
|
|
22256
|
+
} else if (maxDate.value && adapter.isAfter(today, maxDate.value)) {
|
|
22257
|
+
value = maxDate.value;
|
|
22258
|
+
}
|
|
22259
|
+
return value && adapter.isValid(value) ? value : today;
|
|
22244
22260
|
});
|
|
22245
22261
|
const month = vue.ref(Number(props.month ?? adapter.getMonth(adapter.startOfMonth(internal.value))));
|
|
22246
22262
|
const year = vue.ref(Number(props.year ?? adapter.getYear(adapter.startOfYear(adapter.setMonth(internal.value, month.value)))));
|
|
@@ -22260,14 +22276,6 @@
|
|
|
22260
22276
|
});
|
|
22261
22277
|
// const headerIcon = computed(() => props.inputMode === 'calendar' ? props.keyboardIcon : props.calendarIcon)
|
|
22262
22278
|
const headerTransition = vue.computed(() => `date-picker-header${isReversing.value ? '-reverse' : ''}-transition`);
|
|
22263
|
-
const minDate = vue.computed(() => {
|
|
22264
|
-
const date = adapter.date(props.min);
|
|
22265
|
-
return props.min && adapter.isValid(date) ? date : null;
|
|
22266
|
-
});
|
|
22267
|
-
const maxDate = vue.computed(() => {
|
|
22268
|
-
const date = adapter.date(props.max);
|
|
22269
|
-
return props.max && adapter.isValid(date) ? date : null;
|
|
22270
|
-
});
|
|
22271
22279
|
const disabled = vue.computed(() => {
|
|
22272
22280
|
if (props.disabled) return true;
|
|
22273
22281
|
const targets = [];
|
|
@@ -23046,6 +23054,14 @@
|
|
|
23046
23054
|
callEvent(props['onClick:clear'], e);
|
|
23047
23055
|
});
|
|
23048
23056
|
}
|
|
23057
|
+
function onDragover(e) {
|
|
23058
|
+
e.preventDefault();
|
|
23059
|
+
}
|
|
23060
|
+
function onDrop(e) {
|
|
23061
|
+
e.preventDefault();
|
|
23062
|
+
if (!e.dataTransfer) return;
|
|
23063
|
+
model.value = [...(e.dataTransfer.files ?? [])];
|
|
23064
|
+
}
|
|
23049
23065
|
vue.watch(model, newValue => {
|
|
23050
23066
|
const hasModelReset = !Array.isArray(newValue) || !newValue.length;
|
|
23051
23067
|
if (hasModelReset && inputRef.value) {
|
|
@@ -23063,8 +23079,7 @@
|
|
|
23063
23079
|
const fieldProps = filterFieldProps(props);
|
|
23064
23080
|
return vue.createVNode(VInput, vue.mergeProps({
|
|
23065
23081
|
"ref": vInputRef,
|
|
23066
|
-
"modelValue": model.value,
|
|
23067
|
-
"onUpdate:modelValue": $event => model.value = $event,
|
|
23082
|
+
"modelValue": props.multiple ? model.value : model.value[0],
|
|
23068
23083
|
"class": ['v-file-input', {
|
|
23069
23084
|
'v-file-input--chips': !!props.chips,
|
|
23070
23085
|
'v-file-input--hide': props.hideInput,
|
|
@@ -23099,7 +23114,9 @@
|
|
|
23099
23114
|
"dirty": isDirty.value || props.dirty,
|
|
23100
23115
|
"disabled": isDisabled.value,
|
|
23101
23116
|
"focused": isFocused.value,
|
|
23102
|
-
"error": isValid.value === false
|
|
23117
|
+
"error": isValid.value === false,
|
|
23118
|
+
"onDragover": onDragover,
|
|
23119
|
+
"onDrop": onDrop
|
|
23103
23120
|
}), {
|
|
23104
23121
|
...slots,
|
|
23105
23122
|
default: _ref4 => {
|
|
@@ -23903,7 +23920,7 @@
|
|
|
23903
23920
|
/** @see https://android.googlesource.com/platform/frameworks/native/+/master/libs/input/VelocityTracker.cpp */
|
|
23904
23921
|
function kineticEnergyToVelocity(work) {
|
|
23905
23922
|
const sqrt2 = 1.41421356237;
|
|
23906
|
-
return (work < 0 ? -1
|
|
23923
|
+
return (work < 0 ? -1 : 1.0) * Math.sqrt(Math.abs(work)) * sqrt2;
|
|
23907
23924
|
}
|
|
23908
23925
|
|
|
23909
23926
|
/**
|
|
@@ -24285,7 +24302,6 @@
|
|
|
24285
24302
|
const size = isTemporary.value ? 0 : props.rail && props.expandOnHover ? Number(props.railWidth) : width.value;
|
|
24286
24303
|
return isDragging.value ? size * dragProgress.value : size;
|
|
24287
24304
|
});
|
|
24288
|
-
const elementSize = vue.computed(() => ['top', 'bottom'].includes(props.location) ? 0 : width.value);
|
|
24289
24305
|
const {
|
|
24290
24306
|
layoutItemStyles,
|
|
24291
24307
|
layoutItemScrimStyles
|
|
@@ -24294,7 +24310,7 @@
|
|
|
24294
24310
|
order: vue.computed(() => parseInt(props.order, 10)),
|
|
24295
24311
|
position: location,
|
|
24296
24312
|
layoutSize,
|
|
24297
|
-
elementSize,
|
|
24313
|
+
elementSize: width,
|
|
24298
24314
|
active: vue.computed(() => isActive.value || isDragging.value),
|
|
24299
24315
|
disableTransitions: vue.computed(() => isDragging.value),
|
|
24300
24316
|
absolute: vue.computed(() =>
|
|
@@ -24340,9 +24356,7 @@
|
|
|
24340
24356
|
'v-navigation-drawer--active': isActive.value,
|
|
24341
24357
|
'v-navigation-drawer--sticky': isSticky.value
|
|
24342
24358
|
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, displayClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
|
24343
|
-
"style": [backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value, stickyStyles.value, props.style
|
|
24344
|
-
height: 'auto'
|
|
24345
|
-
} : {}]
|
|
24359
|
+
"style": [backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value, stickyStyles.value, props.style]
|
|
24346
24360
|
}, scopeId, attrs), {
|
|
24347
24361
|
default: () => [hasImage && vue.createVNode("div", {
|
|
24348
24362
|
"key": "image",
|
|
@@ -24429,7 +24443,7 @@
|
|
|
24429
24443
|
},
|
|
24430
24444
|
...makeDimensionProps(),
|
|
24431
24445
|
...makeFocusProps(),
|
|
24432
|
-
...
|
|
24446
|
+
...pick(makeVFieldProps({
|
|
24433
24447
|
variant: 'outlined'
|
|
24434
24448
|
}), ['baseColor', 'bgColor', 'class', 'color', 'disabled', 'error', 'loading', 'rounded', 'style', 'theme', 'variant'])
|
|
24435
24449
|
}, 'VOtpInput');
|
|
@@ -25662,6 +25676,8 @@
|
|
|
25662
25676
|
}
|
|
25663
25677
|
}, 'Line');
|
|
25664
25678
|
|
|
25679
|
+
// Utilities
|
|
25680
|
+
|
|
25665
25681
|
// Types
|
|
25666
25682
|
|
|
25667
25683
|
const makeVBarlineProps = propsFactory({
|
|
@@ -25859,6 +25875,8 @@
|
|
|
25859
25875
|
};
|
|
25860
25876
|
}
|
|
25861
25877
|
|
|
25878
|
+
// Utilities
|
|
25879
|
+
|
|
25862
25880
|
// Types
|
|
25863
25881
|
|
|
25864
25882
|
const makeVTrendlineProps = propsFactory({
|
|
@@ -26413,7 +26431,7 @@
|
|
|
26413
26431
|
selectedClass: 'v-stepper-item--selected'
|
|
26414
26432
|
}),
|
|
26415
26433
|
...makeVSheetProps(),
|
|
26416
|
-
...
|
|
26434
|
+
...pick(makeVStepperActionsProps(), ['prevText', 'nextText'])
|
|
26417
26435
|
}, 'VStepper');
|
|
26418
26436
|
const VStepper = genericComponent()({
|
|
26419
26437
|
name: 'VStepper',
|
|
@@ -27495,7 +27513,7 @@
|
|
|
27495
27513
|
type: String,
|
|
27496
27514
|
validator: v => ['start', 'end', 'both'].includes(v)
|
|
27497
27515
|
},
|
|
27498
|
-
...
|
|
27516
|
+
...pick(makeVTimelineItemProps({
|
|
27499
27517
|
lineInset: 0
|
|
27500
27518
|
}), ['dotColor', 'fillDot', 'hideOpposite', 'iconColor', 'lineInset', 'size']),
|
|
27501
27519
|
...makeComponentProps(),
|
|
@@ -27801,6 +27819,10 @@
|
|
|
27801
27819
|
...makeVCalendarIntervalProps()
|
|
27802
27820
|
},
|
|
27803
27821
|
setup(props, _ref) {
|
|
27822
|
+
let {
|
|
27823
|
+
emit,
|
|
27824
|
+
slots
|
|
27825
|
+
} = _ref;
|
|
27804
27826
|
const adapter = useDate();
|
|
27805
27827
|
const interval = vue.computed(() => {
|
|
27806
27828
|
const start = adapter.addMinutes(adapter.startOfDay(props.day.date), props.intervalDuration * (props.index + props.intervalStart));
|
|
@@ -28272,7 +28294,8 @@
|
|
|
28272
28294
|
"onClick:prepend": isInteractive.value ? onClick : undefined,
|
|
28273
28295
|
"onUpdate:modelValue": onUpdateModel
|
|
28274
28296
|
}), {
|
|
28275
|
-
|
|
28297
|
+
...slots,
|
|
28298
|
+
default: () => vue.createVNode(vue.Fragment, null, [vue.createVNode(VMenu, {
|
|
28276
28299
|
"modelValue": menu.value,
|
|
28277
28300
|
"onUpdate:modelValue": $event => menu.value = $event,
|
|
28278
28301
|
"activator": "parent",
|
|
@@ -28315,7 +28338,7 @@
|
|
|
28315
28338
|
});
|
|
28316
28339
|
}
|
|
28317
28340
|
})]
|
|
28318
|
-
}), slots.default?.()]
|
|
28341
|
+
}), slots.default?.()])
|
|
28319
28342
|
});
|
|
28320
28343
|
});
|
|
28321
28344
|
return forwardRefs({}, vDateInputRef);
|
|
@@ -28450,7 +28473,7 @@
|
|
|
28450
28473
|
name: String,
|
|
28451
28474
|
...makeDelayProps(),
|
|
28452
28475
|
...makeDensityProps(),
|
|
28453
|
-
...
|
|
28476
|
+
...pick(makeVDividerProps({
|
|
28454
28477
|
length: 150
|
|
28455
28478
|
}), ['length', 'thickness', 'opacity']),
|
|
28456
28479
|
...makeVSheetProps()
|
|
@@ -28660,7 +28683,11 @@
|
|
|
28660
28683
|
type: Number,
|
|
28661
28684
|
default: 1
|
|
28662
28685
|
},
|
|
28663
|
-
|
|
28686
|
+
precision: {
|
|
28687
|
+
type: Number,
|
|
28688
|
+
default: 0
|
|
28689
|
+
},
|
|
28690
|
+
...omit(makeVTextFieldProps({}), ['modelValue'])
|
|
28664
28691
|
}, 'VNumberInput');
|
|
28665
28692
|
const VNumberInput = genericComponent()({
|
|
28666
28693
|
name: 'VNumberInput',
|
|
@@ -28674,27 +28701,37 @@
|
|
|
28674
28701
|
let {
|
|
28675
28702
|
slots
|
|
28676
28703
|
} = _ref;
|
|
28677
|
-
const
|
|
28678
|
-
const
|
|
28679
|
-
|
|
28680
|
-
|
|
28681
|
-
|
|
28704
|
+
const vTextFieldRef = vue.ref();
|
|
28705
|
+
const form = useForm(props);
|
|
28706
|
+
const controlsDisabled = vue.computed(() => form.isDisabled.value || form.isReadonly.value);
|
|
28707
|
+
const isFocused = vue.ref(false);
|
|
28708
|
+
function correctPrecision(val) {
|
|
28709
|
+
let precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : props.precision;
|
|
28710
|
+
const fixed = precision == null ? String(val) : val.toFixed(precision);
|
|
28711
|
+
return isFocused.value ? Number(fixed).toString() // trim zeros
|
|
28712
|
+
: fixed;
|
|
28713
|
+
}
|
|
28714
|
+
const model = useProxiedModel(props, 'modelValue', null, val => val ?? null, val => val == null ? val ?? null : clamp(+val, props.min, props.max));
|
|
28715
|
+
const _inputText = vue.shallowRef(null);
|
|
28716
|
+
vue.watchEffect(() => {
|
|
28717
|
+
if (isFocused.value && !controlsDisabled.value) ; else if (model.value == null) {
|
|
28718
|
+
_inputText.value = null;
|
|
28719
|
+
} else if (!isNaN(model.value)) {
|
|
28720
|
+
_inputText.value = correctPrecision(model.value);
|
|
28721
|
+
}
|
|
28722
|
+
});
|
|
28723
|
+
const inputText = vue.computed({
|
|
28724
|
+
get: () => _inputText.value,
|
|
28682
28725
|
set(val) {
|
|
28683
28726
|
if (val === null || val === '') {
|
|
28684
|
-
|
|
28685
|
-
|
|
28686
|
-
}
|
|
28687
|
-
|
|
28688
|
-
|
|
28689
|
-
_model.value = value;
|
|
28727
|
+
model.value = null;
|
|
28728
|
+
_inputText.value = null;
|
|
28729
|
+
} else if (!isNaN(+val) && +val <= props.max && +val >= props.min) {
|
|
28730
|
+
model.value = +val;
|
|
28731
|
+
_inputText.value = val;
|
|
28690
28732
|
}
|
|
28691
28733
|
}
|
|
28692
28734
|
});
|
|
28693
|
-
const vTextFieldRef = vue.ref();
|
|
28694
|
-
const stepDecimals = vue.computed(() => getDecimals(props.step));
|
|
28695
|
-
const modelDecimals = vue.computed(() => typeof model.value === 'number' ? getDecimals(model.value) : 0);
|
|
28696
|
-
const form = useForm(props);
|
|
28697
|
-
const controlsDisabled = vue.computed(() => form.isDisabled.value || form.isReadonly.value);
|
|
28698
28735
|
const canIncrease = vue.computed(() => {
|
|
28699
28736
|
if (controlsDisabled.value) return false;
|
|
28700
28737
|
return (model.value ?? 0) + props.step <= props.max;
|
|
@@ -28716,23 +28753,29 @@
|
|
|
28716
28753
|
const decrementSlotProps = vue.computed(() => ({
|
|
28717
28754
|
click: onClickDown
|
|
28718
28755
|
}));
|
|
28756
|
+
vue.watch(() => props.precision, () => formatInputValue());
|
|
28719
28757
|
vue.onMounted(() => {
|
|
28720
|
-
|
|
28721
|
-
clampModel();
|
|
28722
|
-
}
|
|
28758
|
+
clampModel();
|
|
28723
28759
|
});
|
|
28760
|
+
function inferPrecision(value) {
|
|
28761
|
+
if (value == null) return 0;
|
|
28762
|
+
const str = value.toString();
|
|
28763
|
+
const idx = str.indexOf('.');
|
|
28764
|
+
return ~idx ? str.length - idx : 0;
|
|
28765
|
+
}
|
|
28724
28766
|
function toggleUpDown() {
|
|
28725
28767
|
let increment = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
28726
28768
|
if (controlsDisabled.value) return;
|
|
28727
28769
|
if (model.value == null) {
|
|
28728
|
-
|
|
28770
|
+
inputText.value = correctPrecision(clamp(0, props.min, props.max));
|
|
28729
28771
|
return;
|
|
28730
28772
|
}
|
|
28731
|
-
|
|
28773
|
+
let inferredPrecision = Math.max(inferPrecision(model.value), inferPrecision(props.step));
|
|
28774
|
+
if (props.precision != null) inferredPrecision = Math.max(inferredPrecision, props.precision);
|
|
28732
28775
|
if (increment) {
|
|
28733
|
-
if (canIncrease.value)
|
|
28776
|
+
if (canIncrease.value) inputText.value = correctPrecision(model.value + props.step, inferredPrecision);
|
|
28734
28777
|
} else {
|
|
28735
|
-
if (canDecrease.value)
|
|
28778
|
+
if (canDecrease.value) inputText.value = correctPrecision(model.value - props.step, inferredPrecision);
|
|
28736
28779
|
}
|
|
28737
28780
|
}
|
|
28738
28781
|
function onClickUp(e) {
|
|
@@ -28755,6 +28798,16 @@
|
|
|
28755
28798
|
if (!/^-?(\d+(\.\d*)?|(\.\d+)|\d*|\.)$/.test(potentialNewInputVal)) {
|
|
28756
28799
|
e.preventDefault();
|
|
28757
28800
|
}
|
|
28801
|
+
if (props.precision == null) return;
|
|
28802
|
+
|
|
28803
|
+
// Ignore decimal digits above precision limit
|
|
28804
|
+
if (potentialNewInputVal.split('.')[1]?.length > props.precision) {
|
|
28805
|
+
e.preventDefault();
|
|
28806
|
+
}
|
|
28807
|
+
// Ignore decimal separator when precision = 0
|
|
28808
|
+
if (props.precision === 0 && potentialNewInputVal.includes('.')) {
|
|
28809
|
+
e.preventDefault();
|
|
28810
|
+
}
|
|
28758
28811
|
}
|
|
28759
28812
|
async function onKeydown(e) {
|
|
28760
28813
|
if (['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace', 'Delete', 'Tab'].includes(e.key) || e.ctrlKey) return;
|
|
@@ -28774,13 +28827,38 @@
|
|
|
28774
28827
|
e.stopPropagation();
|
|
28775
28828
|
}
|
|
28776
28829
|
function clampModel() {
|
|
28830
|
+
if (controlsDisabled.value) return;
|
|
28777
28831
|
if (!vTextFieldRef.value) return;
|
|
28778
|
-
const
|
|
28779
|
-
if (
|
|
28780
|
-
|
|
28832
|
+
const actualText = vTextFieldRef.value.value;
|
|
28833
|
+
if (actualText && !isNaN(+actualText)) {
|
|
28834
|
+
inputText.value = correctPrecision(clamp(+actualText, props.min, props.max));
|
|
28781
28835
|
} else {
|
|
28782
|
-
|
|
28836
|
+
inputText.value = null;
|
|
28837
|
+
}
|
|
28838
|
+
}
|
|
28839
|
+
function formatInputValue() {
|
|
28840
|
+
if (controlsDisabled.value) return;
|
|
28841
|
+
if (model.value === null || isNaN(model.value)) {
|
|
28842
|
+
inputText.value = null;
|
|
28843
|
+
return;
|
|
28844
|
+
}
|
|
28845
|
+
inputText.value = props.precision == null ? String(model.value) : model.value.toFixed(props.precision);
|
|
28846
|
+
}
|
|
28847
|
+
function trimDecimalZeros() {
|
|
28848
|
+
if (controlsDisabled.value) return;
|
|
28849
|
+
if (model.value === null || isNaN(model.value)) {
|
|
28850
|
+
inputText.value = null;
|
|
28851
|
+
return;
|
|
28783
28852
|
}
|
|
28853
|
+
inputText.value = model.value.toString();
|
|
28854
|
+
}
|
|
28855
|
+
function onFocus() {
|
|
28856
|
+
isFocused.value = true;
|
|
28857
|
+
trimDecimalZeros();
|
|
28858
|
+
}
|
|
28859
|
+
function onBlur() {
|
|
28860
|
+
isFocused.value = false;
|
|
28861
|
+
clampModel();
|
|
28784
28862
|
}
|
|
28785
28863
|
useRender(() => {
|
|
28786
28864
|
const {
|
|
@@ -28859,20 +28937,21 @@
|
|
|
28859
28937
|
"class": "v-number-input__control"
|
|
28860
28938
|
}, [vue.createVNode(VDivider, {
|
|
28861
28939
|
"vertical": true
|
|
28862
|
-
}, null), incrementControlNode()]) : props.reverse ? undefined : vue.createVNode(vue.Fragment, null, [dividerNode(), controlNode()]);
|
|
28940
|
+
}, null), incrementControlNode()]) : props.reverse || controlVariant.value === 'hidden' ? undefined : vue.createVNode(vue.Fragment, null, [dividerNode(), controlNode()]);
|
|
28863
28941
|
const hasAppendInner = slots['append-inner'] || appendInnerControl;
|
|
28864
28942
|
const prependInnerControl = controlVariant.value === 'split' ? vue.createVNode("div", {
|
|
28865
28943
|
"class": "v-number-input__control"
|
|
28866
28944
|
}, [decrementControlNode(), vue.createVNode(VDivider, {
|
|
28867
28945
|
"vertical": true
|
|
28868
|
-
}, null)]) : props.reverse ? vue.createVNode(vue.Fragment, null, [controlNode(), dividerNode()]) : undefined;
|
|
28946
|
+
}, null)]) : props.reverse && controlVariant.value !== 'hidden' ? vue.createVNode(vue.Fragment, null, [controlNode(), dividerNode()]) : undefined;
|
|
28869
28947
|
const hasPrependInner = slots['prepend-inner'] || prependInnerControl;
|
|
28870
28948
|
return vue.createVNode(VTextField, vue.mergeProps({
|
|
28871
28949
|
"ref": vTextFieldRef,
|
|
28872
|
-
"modelValue":
|
|
28873
|
-
"onUpdate:modelValue": $event =>
|
|
28950
|
+
"modelValue": inputText.value,
|
|
28951
|
+
"onUpdate:modelValue": $event => inputText.value = $event,
|
|
28874
28952
|
"onBeforeinput": onBeforeinput,
|
|
28875
|
-
"
|
|
28953
|
+
"onFocus": onFocus,
|
|
28954
|
+
"onBlur": onBlur,
|
|
28876
28955
|
"onKeydown": onKeydown,
|
|
28877
28956
|
"class": ['v-number-input', {
|
|
28878
28957
|
'v-number-input--default': controlVariant.value === 'default',
|
|
@@ -29758,7 +29837,7 @@
|
|
|
29758
29837
|
const rangeHours24 = createRange(24);
|
|
29759
29838
|
const rangeHours12am = createRange(12);
|
|
29760
29839
|
const rangeHours12pm = rangeHours12am.map(v => v + 12);
|
|
29761
|
-
|
|
29840
|
+
createRange(60);
|
|
29762
29841
|
const selectingNames = {
|
|
29763
29842
|
1: 'hour',
|
|
29764
29843
|
2: 'minute',
|
|
@@ -29908,11 +29987,11 @@
|
|
|
29908
29987
|
period.value = inputHour.value == null || inputHour.value < 12 ? 'am' : 'pm';
|
|
29909
29988
|
}
|
|
29910
29989
|
function firstAllowed(type, value) {
|
|
29911
|
-
const allowedFn =
|
|
29990
|
+
const allowedFn = isAllowedHourCb.value ;
|
|
29912
29991
|
if (!allowedFn) return value;
|
|
29913
29992
|
|
|
29914
29993
|
// TODO: clean up (Note from V2 code)
|
|
29915
|
-
const range =
|
|
29994
|
+
const range = isAmPm.value ? value < 12 ? rangeHours12am : rangeHours12pm : rangeHours24;
|
|
29916
29995
|
const first = range.find(v => allowedFn((v + value) % range.length + range[0]));
|
|
29917
29996
|
return ((first || 0) + value) % range.length + range[0];
|
|
29918
29997
|
}
|
|
@@ -30065,22 +30144,21 @@
|
|
|
30065
30144
|
props: makeVTreeviewItemProps(),
|
|
30066
30145
|
setup(props, _ref) {
|
|
30067
30146
|
let {
|
|
30068
|
-
|
|
30069
|
-
slots,
|
|
30070
|
-
emit
|
|
30147
|
+
slots
|
|
30071
30148
|
} = _ref;
|
|
30072
|
-
const
|
|
30149
|
+
const visibleIds = vue.inject(VTreeviewSymbol, {
|
|
30150
|
+
visibleIds: vue.ref()
|
|
30151
|
+
}).visibleIds;
|
|
30073
30152
|
const vListItemRef = vue.ref();
|
|
30074
30153
|
const isActivatableGroupActivator = vue.computed(() => vListItemRef.value?.root.activatable.value && vListItemRef.value?.isGroupActivator);
|
|
30075
|
-
const
|
|
30154
|
+
const vListItemRefIsClickable = vue.computed(() => vListItemRef.value?.link.isClickable.value || props.value != null && !!vListItemRef.value?.list);
|
|
30155
|
+
const isClickable = vue.computed(() => !props.disabled && props.link !== false && (props.link || vListItemRefIsClickable.value || isActivatableGroupActivator.value));
|
|
30156
|
+
const isFiltered = vue.computed(() => visibleIds.value && !visibleIds.value.has(vue.toRaw(vListItemRef.value?.id)));
|
|
30076
30157
|
function activateGroupActivator(e) {
|
|
30077
30158
|
if (isClickable.value && isActivatableGroupActivator.value) {
|
|
30078
30159
|
vListItemRef.value?.activate(!vListItemRef.value?.isActivated, e);
|
|
30079
30160
|
}
|
|
30080
30161
|
}
|
|
30081
|
-
const visibleIds = vue.inject(VTreeviewSymbol, {
|
|
30082
|
-
visibleIds: vue.ref()
|
|
30083
|
-
}).visibleIds;
|
|
30084
30162
|
useRender(() => {
|
|
30085
30163
|
const listItemProps = omit(VListItem.filterProps(props), ['onClick']);
|
|
30086
30164
|
const hasPrepend = slots.prepend || props.toggleIcon;
|
|
@@ -30090,7 +30168,7 @@
|
|
|
30090
30168
|
"active": vListItemRef.value?.isActivated,
|
|
30091
30169
|
"class": ['v-treeview-item', {
|
|
30092
30170
|
'v-treeview-item--activatable-group-activator': isActivatableGroupActivator.value,
|
|
30093
|
-
'v-treeview-item--filtered':
|
|
30171
|
+
'v-treeview-item--filtered': isFiltered.value
|
|
30094
30172
|
}, props.class],
|
|
30095
30173
|
"ripple": false,
|
|
30096
30174
|
"onClick": props.onClick ?? activateGroupActivator
|
|
@@ -30100,7 +30178,7 @@
|
|
|
30100
30178
|
return vue.createVNode(vue.Fragment, null, [vue.createVNode(VListItemAction, {
|
|
30101
30179
|
"start": false
|
|
30102
30180
|
}, {
|
|
30103
|
-
default: () => [props.toggleIcon
|
|
30181
|
+
default: () => [props.toggleIcon ? vue.createVNode(VBtn, {
|
|
30104
30182
|
"density": "compact",
|
|
30105
30183
|
"icon": props.toggleIcon,
|
|
30106
30184
|
"loading": props.loading,
|
|
@@ -30114,7 +30192,9 @@
|
|
|
30114
30192
|
"width": "2"
|
|
30115
30193
|
}, null);
|
|
30116
30194
|
}
|
|
30117
|
-
})
|
|
30195
|
+
}) : vue.createVNode("div", {
|
|
30196
|
+
"class": "v-treeview-item__level"
|
|
30197
|
+
}, null)]
|
|
30118
30198
|
}), slots.prepend?.(slotProps)]);
|
|
30119
30199
|
} : undefined
|
|
30120
30200
|
});
|
|
@@ -30146,7 +30226,8 @@
|
|
|
30146
30226
|
returnObject: Boolean,
|
|
30147
30227
|
selectable: Boolean,
|
|
30148
30228
|
selectedColor: String,
|
|
30149
|
-
selectStrategy: [String, Function, Object]
|
|
30229
|
+
selectStrategy: [String, Function, Object],
|
|
30230
|
+
...makeDensityProps()
|
|
30150
30231
|
}, 'VTreeviewChildren');
|
|
30151
30232
|
const VTreeviewChildren = genericComponent()({
|
|
30152
30233
|
name: 'VTreeviewChildren',
|
|
@@ -30174,11 +30255,6 @@
|
|
|
30174
30255
|
}
|
|
30175
30256
|
}
|
|
30176
30257
|
return () => slots.default?.() ?? props.items?.map(item => {
|
|
30177
|
-
if (item.type === 'divider') {
|
|
30178
|
-
return slots.divider?.({
|
|
30179
|
-
props: item.props
|
|
30180
|
-
}) ?? vue.createVNode(VDivider, item.props, null);
|
|
30181
|
-
}
|
|
30182
30258
|
const {
|
|
30183
30259
|
children,
|
|
30184
30260
|
props: itemProps
|
|
@@ -30191,6 +30267,7 @@
|
|
|
30191
30267
|
"disabled": props.disabled,
|
|
30192
30268
|
"loading": loading,
|
|
30193
30269
|
"color": props.selectedColor,
|
|
30270
|
+
"density": props.density,
|
|
30194
30271
|
"indeterminate": slotProps.isIndeterminate,
|
|
30195
30272
|
"indeterminateIcon": props.indeterminateIcon,
|
|
30196
30273
|
"falseIcon": props.falseIcon,
|
|
@@ -30267,6 +30344,7 @@
|
|
|
30267
30344
|
return flat;
|
|
30268
30345
|
}
|
|
30269
30346
|
const makeVTreeviewProps = propsFactory({
|
|
30347
|
+
fluid: Boolean,
|
|
30270
30348
|
openAll: Boolean,
|
|
30271
30349
|
search: String,
|
|
30272
30350
|
...makeFilterProps({
|
|
@@ -30277,7 +30355,7 @@
|
|
|
30277
30355
|
collapseIcon: '$treeviewCollapse',
|
|
30278
30356
|
expandIcon: '$treeviewExpand',
|
|
30279
30357
|
slim: true
|
|
30280
|
-
}), ['nav', 'openStrategy']),
|
|
30358
|
+
}), ['itemType', 'nav', 'openStrategy']),
|
|
30281
30359
|
modelValue: {
|
|
30282
30360
|
type: Array,
|
|
30283
30361
|
default: () => []
|
|
@@ -30380,7 +30458,9 @@
|
|
|
30380
30458
|
return vue.createVNode(VList, vue.mergeProps({
|
|
30381
30459
|
"ref": vListRef
|
|
30382
30460
|
}, listProps, {
|
|
30383
|
-
"class": ['v-treeview',
|
|
30461
|
+
"class": ['v-treeview', {
|
|
30462
|
+
'v-treeview--fluid': props.fluid
|
|
30463
|
+
}, props.class],
|
|
30384
30464
|
"open-strategy": "multiple",
|
|
30385
30465
|
"style": props.style,
|
|
30386
30466
|
"opened": opened.value,
|
|
@@ -30390,6 +30470,7 @@
|
|
|
30390
30470
|
"onUpdate:selected": $event => selected.value = $event
|
|
30391
30471
|
}), {
|
|
30392
30472
|
default: () => [vue.createVNode(VTreeviewChildren, vue.mergeProps(treeviewChildrenProps, {
|
|
30473
|
+
"density": props.density,
|
|
30393
30474
|
"returnObject": props.returnObject,
|
|
30394
30475
|
"items": items.value
|
|
30395
30476
|
}), slots)]
|
|
@@ -30897,7 +30978,7 @@
|
|
|
30897
30978
|
goTo
|
|
30898
30979
|
};
|
|
30899
30980
|
}
|
|
30900
|
-
const version$1 = "3.7.
|
|
30981
|
+
const version$1 = "3.7.14";
|
|
30901
30982
|
createVuetify$1.version = version$1;
|
|
30902
30983
|
|
|
30903
30984
|
// Vue's inject() can only be used in setup
|
|
@@ -31150,7 +31231,7 @@
|
|
|
31150
31231
|
|
|
31151
31232
|
/* eslint-disable local-rules/sort-imports */
|
|
31152
31233
|
|
|
31153
|
-
const version = "3.7.
|
|
31234
|
+
const version = "3.7.14";
|
|
31154
31235
|
|
|
31155
31236
|
/* eslint-disable local-rules/sort-imports */
|
|
31156
31237
|
|