vuetify 3.7.13 → 3.7.15
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 +2446 -2446
- package/dist/json/importMap-labs.json +28 -28
- package/dist/json/importMap.json +176 -176
- package/dist/json/tags.json +1 -1
- package/dist/json/web-types.json +4783 -4520
- package/dist/vuetify-labs.css +2906 -2897
- package/dist/vuetify-labs.d.ts +234 -15
- package/dist/vuetify-labs.esm.js +156 -67
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +156 -67
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +1783 -1784
- package/dist/vuetify.d.ts +66 -66
- package/dist/vuetify.esm.js +47 -37
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +47 -37
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +31 -27
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.mjs +19 -10
- package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
- package/lib/components/VFileInput/VFileInput.css +0 -1
- package/lib/components/VFileInput/VFileInput.mjs +11 -1
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/VFileInput.sass +0 -1
- package/lib/components/VList/VListItem.mjs +2 -0
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.mjs +1 -1
- package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
- package/lib/components/VSlider/slider.mjs +1 -0
- package/lib/components/VSlider/slider.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/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +66 -66
- package/lib/labs/VDateInput/VDateInput.mjs +2 -2
- package/lib/labs/VDateInput/VDateInput.mjs.map +1 -1
- package/lib/labs/VDateInput/index.d.mts +248 -1
- package/lib/labs/VFileUpload/VFileUpload.css +5 -1
- package/lib/labs/VFileUpload/VFileUpload.sass +4 -0
- package/lib/labs/VFileUpload/_variables.scss +1 -1
- package/lib/labs/VNumberInput/VNumberInput.mjs +57 -21
- package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
- package/lib/labs/VNumberInput/hold.mjs +31 -0
- package/lib/labs/VNumberInput/hold.mjs.map +1 -0
- package/lib/labs/VNumberInput/index.d.mts +1 -7
- package/lib/labs/VTimePicker/VTimePickerControls.sass +16 -16
- package/lib/labs/VTimePicker/_variables.scss +12 -12
- package/lib/labs/VTreeview/VTreeview.mjs +5 -1
- package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
- package/lib/labs/VTreeview/VTreeviewChildren.mjs +4 -1
- package/lib/labs/VTreeview/VTreeviewChildren.mjs.map +1 -1
- package/lib/labs/VTreeview/VTreeviewItem.css +15 -9
- package/lib/labs/VTreeview/VTreeviewItem.mjs +15 -6
- 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 +23 -8
- package/lib/labs/components.d.mts +295 -76
- package/lib/locale/af.mjs +42 -42
- package/lib/locale/af.mjs.map +1 -1
- package/lib/locale/az.mjs +7 -7
- package/lib/locale/az.mjs.map +1 -1
- package/lib/locale/bg.mjs +7 -7
- package/lib/locale/bg.mjs.map +1 -1
- package/lib/locale/ca.mjs +25 -25
- package/lib/locale/ca.mjs.map +1 -1
- package/lib/locale/ckb.mjs +29 -29
- package/lib/locale/ckb.mjs.map +1 -1
- package/lib/locale/cs.mjs +13 -13
- package/lib/locale/cs.mjs.map +1 -1
- package/lib/locale/da.mjs +22 -22
- package/lib/locale/da.mjs.map +1 -1
- package/lib/locale/el.mjs +41 -41
- package/lib/locale/el.mjs.map +1 -1
- package/lib/locale/es.mjs +26 -26
- package/lib/locale/es.mjs.map +1 -1
- package/lib/locale/et.mjs +29 -29
- package/lib/locale/et.mjs.map +1 -1
- package/lib/locale/fa.mjs +5 -5
- package/lib/locale/fa.mjs.map +1 -1
- package/lib/locale/fi.mjs +22 -22
- package/lib/locale/fi.mjs.map +1 -1
- package/lib/locale/fr.mjs +6 -6
- package/lib/locale/fr.mjs.map +1 -1
- package/lib/locale/he.mjs +29 -29
- package/lib/locale/he.mjs.map +1 -1
- package/lib/locale/hr.mjs +28 -28
- package/lib/locale/hr.mjs.map +1 -1
- package/lib/locale/hu.mjs +10 -10
- package/lib/locale/hu.mjs.map +1 -1
- package/lib/locale/id.mjs +30 -30
- package/lib/locale/id.mjs.map +1 -1
- package/lib/locale/it.mjs +7 -7
- package/lib/locale/it.mjs.map +1 -1
- package/lib/locale/ja.mjs +28 -28
- package/lib/locale/ja.mjs.map +1 -1
- package/lib/locale/km.mjs +6 -6
- package/lib/locale/km.mjs.map +1 -1
- package/lib/locale/ko.mjs +27 -27
- package/lib/locale/ko.mjs.map +1 -1
- package/lib/locale/lt.mjs +5 -5
- package/lib/locale/lt.mjs.map +1 -1
- package/lib/locale/lv.mjs +33 -33
- package/lib/locale/lv.mjs.map +1 -1
- package/lib/locale/nl.mjs +10 -10
- package/lib/locale/nl.mjs.map +1 -1
- package/lib/locale/no.mjs +11 -11
- package/lib/locale/no.mjs.map +1 -1
- package/lib/locale/pl.mjs +7 -7
- package/lib/locale/pl.mjs.map +1 -1
- package/lib/locale/pt.mjs +11 -11
- package/lib/locale/pt.mjs.map +1 -1
- package/lib/locale/ro.mjs +9 -9
- package/lib/locale/ro.mjs.map +1 -1
- package/lib/locale/ru.mjs +6 -6
- package/lib/locale/ru.mjs.map +1 -1
- package/lib/locale/sk.mjs +5 -5
- package/lib/locale/sk.mjs.map +1 -1
- package/lib/locale/sl.mjs +4 -4
- package/lib/locale/sl.mjs.map +1 -1
- package/lib/locale/sr-Cyrl.mjs +30 -30
- package/lib/locale/sr-Cyrl.mjs.map +1 -1
- package/lib/locale/sr-Latn.mjs +28 -28
- package/lib/locale/sr-Latn.mjs.map +1 -1
- package/lib/locale/sv.mjs +17 -17
- package/lib/locale/sv.mjs.map +1 -1
- package/lib/locale/th.mjs +30 -30
- package/lib/locale/th.mjs.map +1 -1
- package/lib/locale/tr.mjs +31 -31
- package/lib/locale/tr.mjs.map +1 -1
- package/lib/locale/uk.mjs +29 -29
- package/lib/locale/uk.mjs.map +1 -1
- package/lib/locale/vi.mjs +28 -28
- package/lib/locale/vi.mjs.map +1 -1
- package/lib/locale/zh-Hans.mjs +31 -31
- package/lib/locale/zh-Hans.mjs.map +1 -1
- package/lib/locale/zh-Hant.mjs +31 -31
- package/lib/locale/zh-Hant.mjs.map +1 -1
- package/lib/styles/tools/_functions.sass +1 -1
- package/package.json +7 -2
package/dist/vuetify-labs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.7.
|
|
2
|
+
* Vuetify v3.7.15
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -4012,7 +4012,7 @@
|
|
|
4012
4012
|
|
|
4013
4013
|
const allowedDensities = [null, 'default', 'comfortable', 'compact'];
|
|
4014
4014
|
|
|
4015
|
-
// typeof allowedDensities[number]
|
|
4015
|
+
// typeof allowedDensities[number] evaluates to any
|
|
4016
4016
|
// when generating api types for whatever reason.
|
|
4017
4017
|
|
|
4018
4018
|
// Composables
|
|
@@ -9060,6 +9060,8 @@
|
|
|
9060
9060
|
}
|
|
9061
9061
|
}
|
|
9062
9062
|
function onKeyDown(e) {
|
|
9063
|
+
const target = e.target;
|
|
9064
|
+
if (['INPUT', 'TEXTAREA'].includes(target.tagName)) return;
|
|
9063
9065
|
if (e.key === 'Enter' || e.key === ' ') {
|
|
9064
9066
|
e.preventDefault();
|
|
9065
9067
|
e.target.dispatchEvent(new MouseEvent('click', e));
|
|
@@ -15685,6 +15687,7 @@
|
|
|
15685
15687
|
});
|
|
15686
15688
|
}
|
|
15687
15689
|
function onSliderMousedown(e) {
|
|
15690
|
+
if (e.button !== 0) return;
|
|
15688
15691
|
e.preventDefault();
|
|
15689
15692
|
handleStart(e);
|
|
15690
15693
|
window.addEventListener('mousemove', onMouseMove, moveListenerOptions);
|
|
@@ -17717,16 +17720,13 @@
|
|
|
17717
17720
|
case 'fullTime':
|
|
17718
17721
|
options = {
|
|
17719
17722
|
hour: 'numeric',
|
|
17720
|
-
minute: 'numeric'
|
|
17721
|
-
second: 'numeric',
|
|
17722
|
-
hour12: true
|
|
17723
|
+
minute: 'numeric'
|
|
17723
17724
|
};
|
|
17724
17725
|
break;
|
|
17725
17726
|
case 'fullTime12h':
|
|
17726
17727
|
options = {
|
|
17727
17728
|
hour: 'numeric',
|
|
17728
17729
|
minute: 'numeric',
|
|
17729
|
-
second: 'numeric',
|
|
17730
17730
|
hour12: true
|
|
17731
17731
|
};
|
|
17732
17732
|
break;
|
|
@@ -17734,40 +17734,35 @@
|
|
|
17734
17734
|
options = {
|
|
17735
17735
|
hour: 'numeric',
|
|
17736
17736
|
minute: 'numeric',
|
|
17737
|
-
second: 'numeric',
|
|
17738
17737
|
hour12: false
|
|
17739
17738
|
};
|
|
17740
17739
|
break;
|
|
17741
17740
|
case 'fullDateTime':
|
|
17742
17741
|
options = {
|
|
17743
17742
|
year: 'numeric',
|
|
17744
|
-
month: '
|
|
17743
|
+
month: 'short',
|
|
17745
17744
|
day: 'numeric',
|
|
17746
17745
|
hour: 'numeric',
|
|
17747
|
-
minute: 'numeric'
|
|
17748
|
-
second: 'numeric',
|
|
17749
|
-
hour12: true
|
|
17746
|
+
minute: 'numeric'
|
|
17750
17747
|
};
|
|
17751
17748
|
break;
|
|
17752
17749
|
case 'fullDateTime12h':
|
|
17753
17750
|
options = {
|
|
17754
17751
|
year: 'numeric',
|
|
17755
|
-
month: '
|
|
17752
|
+
month: 'short',
|
|
17756
17753
|
day: 'numeric',
|
|
17757
17754
|
hour: 'numeric',
|
|
17758
17755
|
minute: 'numeric',
|
|
17759
|
-
second: 'numeric',
|
|
17760
17756
|
hour12: true
|
|
17761
17757
|
};
|
|
17762
17758
|
break;
|
|
17763
17759
|
case 'fullDateTime24h':
|
|
17764
17760
|
options = {
|
|
17765
17761
|
year: 'numeric',
|
|
17766
|
-
month: '
|
|
17762
|
+
month: 'short',
|
|
17767
17763
|
day: 'numeric',
|
|
17768
17764
|
hour: 'numeric',
|
|
17769
17765
|
minute: 'numeric',
|
|
17770
|
-
second: 'numeric',
|
|
17771
17766
|
hour12: false
|
|
17772
17767
|
};
|
|
17773
17768
|
break;
|
|
@@ -17784,11 +17779,9 @@
|
|
|
17784
17779
|
month: '2-digit',
|
|
17785
17780
|
day: '2-digit',
|
|
17786
17781
|
hour: 'numeric',
|
|
17787
|
-
minute: 'numeric'
|
|
17788
|
-
second: 'numeric',
|
|
17789
|
-
hour12: false
|
|
17782
|
+
minute: 'numeric'
|
|
17790
17783
|
};
|
|
17791
|
-
|
|
17784
|
+
return new Intl.DateTimeFormat(locale, options).format(newDate).replace(/, /g, ' ');
|
|
17792
17785
|
case 'keyboardDateTime12h':
|
|
17793
17786
|
options = {
|
|
17794
17787
|
year: 'numeric',
|
|
@@ -17796,10 +17789,9 @@
|
|
|
17796
17789
|
day: '2-digit',
|
|
17797
17790
|
hour: 'numeric',
|
|
17798
17791
|
minute: 'numeric',
|
|
17799
|
-
second: 'numeric',
|
|
17800
17792
|
hour12: true
|
|
17801
17793
|
};
|
|
17802
|
-
|
|
17794
|
+
return new Intl.DateTimeFormat(locale, options).format(newDate).replace(/, /g, ' ');
|
|
17803
17795
|
case 'keyboardDateTime24h':
|
|
17804
17796
|
options = {
|
|
17805
17797
|
year: 'numeric',
|
|
@@ -17807,10 +17799,9 @@
|
|
|
17807
17799
|
day: '2-digit',
|
|
17808
17800
|
hour: 'numeric',
|
|
17809
17801
|
minute: 'numeric',
|
|
17810
|
-
second: 'numeric',
|
|
17811
17802
|
hour12: false
|
|
17812
17803
|
};
|
|
17813
|
-
|
|
17804
|
+
return new Intl.DateTimeFormat(locale, options).format(newDate).replace(/, /g, ' ');
|
|
17814
17805
|
default:
|
|
17815
17806
|
options = customFormat ?? {
|
|
17816
17807
|
timeZone: 'UTC',
|
|
@@ -22249,9 +22240,26 @@
|
|
|
22249
22240
|
const model = useProxiedModel(props, 'modelValue', undefined, v => wrapInArray(v), v => props.multiple ? v : v[0]);
|
|
22250
22241
|
const viewMode = useProxiedModel(props, 'viewMode');
|
|
22251
22242
|
// const inputMode = useProxiedModel(props, 'inputMode')
|
|
22243
|
+
|
|
22244
|
+
const minDate = vue.computed(() => {
|
|
22245
|
+
const date = adapter.date(props.min);
|
|
22246
|
+
return props.min && adapter.isValid(date) ? date : null;
|
|
22247
|
+
});
|
|
22248
|
+
const maxDate = vue.computed(() => {
|
|
22249
|
+
const date = adapter.date(props.max);
|
|
22250
|
+
return props.max && adapter.isValid(date) ? date : null;
|
|
22251
|
+
});
|
|
22252
22252
|
const internal = vue.computed(() => {
|
|
22253
|
-
const
|
|
22254
|
-
|
|
22253
|
+
const today = adapter.date();
|
|
22254
|
+
let value = today;
|
|
22255
|
+
if (model.value?.[0]) {
|
|
22256
|
+
value = adapter.date(model.value[0]);
|
|
22257
|
+
} else if (minDate.value && adapter.isBefore(today, minDate.value)) {
|
|
22258
|
+
value = minDate.value;
|
|
22259
|
+
} else if (maxDate.value && adapter.isAfter(today, maxDate.value)) {
|
|
22260
|
+
value = maxDate.value;
|
|
22261
|
+
}
|
|
22262
|
+
return value && adapter.isValid(value) ? value : today;
|
|
22255
22263
|
});
|
|
22256
22264
|
const month = vue.ref(Number(props.month ?? adapter.getMonth(adapter.startOfMonth(internal.value))));
|
|
22257
22265
|
const year = vue.ref(Number(props.year ?? adapter.getYear(adapter.startOfYear(adapter.setMonth(internal.value, month.value)))));
|
|
@@ -22271,14 +22279,6 @@
|
|
|
22271
22279
|
});
|
|
22272
22280
|
// const headerIcon = computed(() => props.inputMode === 'calendar' ? props.keyboardIcon : props.calendarIcon)
|
|
22273
22281
|
const headerTransition = vue.computed(() => `date-picker-header${isReversing.value ? '-reverse' : ''}-transition`);
|
|
22274
|
-
const minDate = vue.computed(() => {
|
|
22275
|
-
const date = adapter.date(props.min);
|
|
22276
|
-
return props.min && adapter.isValid(date) ? date : null;
|
|
22277
|
-
});
|
|
22278
|
-
const maxDate = vue.computed(() => {
|
|
22279
|
-
const date = adapter.date(props.max);
|
|
22280
|
-
return props.max && adapter.isValid(date) ? date : null;
|
|
22281
|
-
});
|
|
22282
22282
|
const disabled = vue.computed(() => {
|
|
22283
22283
|
if (props.disabled) return true;
|
|
22284
22284
|
const targets = [];
|
|
@@ -23057,6 +23057,14 @@
|
|
|
23057
23057
|
callEvent(props['onClick:clear'], e);
|
|
23058
23058
|
});
|
|
23059
23059
|
}
|
|
23060
|
+
function onDragover(e) {
|
|
23061
|
+
e.preventDefault();
|
|
23062
|
+
}
|
|
23063
|
+
function onDrop(e) {
|
|
23064
|
+
e.preventDefault();
|
|
23065
|
+
if (!e.dataTransfer) return;
|
|
23066
|
+
model.value = [...(e.dataTransfer.files ?? [])];
|
|
23067
|
+
}
|
|
23060
23068
|
vue.watch(model, newValue => {
|
|
23061
23069
|
const hasModelReset = !Array.isArray(newValue) || !newValue.length;
|
|
23062
23070
|
if (hasModelReset && inputRef.value) {
|
|
@@ -23109,7 +23117,9 @@
|
|
|
23109
23117
|
"dirty": isDirty.value || props.dirty,
|
|
23110
23118
|
"disabled": isDisabled.value,
|
|
23111
23119
|
"focused": isFocused.value,
|
|
23112
|
-
"error": isValid.value === false
|
|
23120
|
+
"error": isValid.value === false,
|
|
23121
|
+
"onDragover": onDragover,
|
|
23122
|
+
"onDrop": onDrop
|
|
23113
23123
|
}), {
|
|
23114
23124
|
...slots,
|
|
23115
23125
|
default: _ref4 => {
|
|
@@ -24592,7 +24602,7 @@
|
|
|
24592
24602
|
"disabled": props.disabled,
|
|
24593
24603
|
"inputmode": props.type === 'number' ? 'numeric' : 'text',
|
|
24594
24604
|
"min": props.type === 'number' ? 0 : undefined,
|
|
24595
|
-
"maxlength":
|
|
24605
|
+
"maxlength": i === 0 ? length.value : '1',
|
|
24596
24606
|
"placeholder": props.placeholder,
|
|
24597
24607
|
"type": props.type === 'number' ? 'text' : props.type,
|
|
24598
24608
|
"value": model.value[i],
|
|
@@ -28243,9 +28253,9 @@
|
|
|
28243
28253
|
if (props.multiple === 'range') {
|
|
28244
28254
|
const start = value[0];
|
|
28245
28255
|
const end = value[value.length - 1];
|
|
28246
|
-
return adapter.isValid(start) && adapter.isValid(end) ? `${adapter.format(start, 'keyboardDate')} - ${adapter.format(end, 'keyboardDate')}` : '';
|
|
28256
|
+
return adapter.isValid(start) && adapter.isValid(end) ? `${adapter.format(adapter.date(start), 'keyboardDate')} - ${adapter.format(adapter.date(end), 'keyboardDate')}` : '';
|
|
28247
28257
|
}
|
|
28248
|
-
return adapter.isValid(model.value) ? adapter.format(model.value, 'keyboardDate') : '';
|
|
28258
|
+
return adapter.isValid(model.value) ? adapter.format(adapter.date(model.value), 'keyboardDate') : '';
|
|
28249
28259
|
});
|
|
28250
28260
|
const isInteractive = vue.computed(() => !props.disabled && !props.readonly);
|
|
28251
28261
|
function onKeydown(e) {
|
|
@@ -28651,6 +28661,36 @@
|
|
|
28651
28661
|
}
|
|
28652
28662
|
});
|
|
28653
28663
|
|
|
28664
|
+
// Utilities
|
|
28665
|
+
const HOLD_REPEAT = 50;
|
|
28666
|
+
const HOLD_DELAY = 500;
|
|
28667
|
+
function useHold(_ref) {
|
|
28668
|
+
let {
|
|
28669
|
+
toggleUpDown
|
|
28670
|
+
} = _ref;
|
|
28671
|
+
let timeout = -1;
|
|
28672
|
+
let interval = -1;
|
|
28673
|
+
vue.onScopeDispose(holdStop);
|
|
28674
|
+
function holdStart(value) {
|
|
28675
|
+
holdStop();
|
|
28676
|
+
tick(value);
|
|
28677
|
+
timeout = window.setTimeout(() => {
|
|
28678
|
+
interval = window.setInterval(() => tick(value), HOLD_REPEAT);
|
|
28679
|
+
}, HOLD_DELAY);
|
|
28680
|
+
}
|
|
28681
|
+
function holdStop() {
|
|
28682
|
+
window.clearTimeout(timeout);
|
|
28683
|
+
window.clearInterval(interval);
|
|
28684
|
+
}
|
|
28685
|
+
function tick(value) {
|
|
28686
|
+
toggleUpDown(value === 'up');
|
|
28687
|
+
}
|
|
28688
|
+
return {
|
|
28689
|
+
holdStart,
|
|
28690
|
+
holdStop
|
|
28691
|
+
};
|
|
28692
|
+
}
|
|
28693
|
+
|
|
28654
28694
|
// Types
|
|
28655
28695
|
|
|
28656
28696
|
const makeVNumberInputProps = propsFactory({
|
|
@@ -28680,7 +28720,7 @@
|
|
|
28680
28720
|
type: Number,
|
|
28681
28721
|
default: 0
|
|
28682
28722
|
},
|
|
28683
|
-
...omit(makeVTextFieldProps(
|
|
28723
|
+
...omit(makeVTextFieldProps(), ['modelValue', 'validationValue'])
|
|
28684
28724
|
}, 'VNumberInput');
|
|
28685
28725
|
const VNumberInput = genericComponent()({
|
|
28686
28726
|
name: 'VNumberInput',
|
|
@@ -28695,9 +28735,19 @@
|
|
|
28695
28735
|
slots
|
|
28696
28736
|
} = _ref;
|
|
28697
28737
|
const vTextFieldRef = vue.ref();
|
|
28738
|
+
const {
|
|
28739
|
+
holdStart,
|
|
28740
|
+
holdStop
|
|
28741
|
+
} = useHold({
|
|
28742
|
+
toggleUpDown
|
|
28743
|
+
});
|
|
28698
28744
|
const form = useForm(props);
|
|
28699
28745
|
const controlsDisabled = vue.computed(() => form.isDisabled.value || form.isReadonly.value);
|
|
28700
|
-
const
|
|
28746
|
+
const {
|
|
28747
|
+
isFocused,
|
|
28748
|
+
focus,
|
|
28749
|
+
blur
|
|
28750
|
+
} = useFocus(props);
|
|
28701
28751
|
function correctPrecision(val) {
|
|
28702
28752
|
let precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : props.precision;
|
|
28703
28753
|
const fixed = precision == null ? String(val) : val.toFixed(precision);
|
|
@@ -28707,8 +28757,8 @@
|
|
|
28707
28757
|
const model = useProxiedModel(props, 'modelValue', null, val => val ?? null, val => val == null ? val ?? null : clamp(+val, props.min, props.max));
|
|
28708
28758
|
const _inputText = vue.shallowRef(null);
|
|
28709
28759
|
vue.watchEffect(() => {
|
|
28710
|
-
if (isFocused.value && !controlsDisabled.value) ; else if (model.value == null
|
|
28711
|
-
_inputText.value =
|
|
28760
|
+
if (isFocused.value && !controlsDisabled.value) ; else if (model.value == null) {
|
|
28761
|
+
_inputText.value = null;
|
|
28712
28762
|
} else if (!isNaN(model.value)) {
|
|
28713
28763
|
_inputText.value = correctPrecision(model.value);
|
|
28714
28764
|
}
|
|
@@ -28741,10 +28791,18 @@
|
|
|
28741
28791
|
const controlNodeSize = vue.computed(() => controlVariant.value === 'split' ? 'default' : 'small');
|
|
28742
28792
|
const controlNodeDefaultHeight = vue.computed(() => controlVariant.value === 'stacked' ? 'auto' : '100%');
|
|
28743
28793
|
const incrementSlotProps = vue.computed(() => ({
|
|
28744
|
-
|
|
28794
|
+
props: {
|
|
28795
|
+
onClick: onControlClick,
|
|
28796
|
+
onPointerup: onControlMouseup,
|
|
28797
|
+
onPointerdown: onUpControlMousedown
|
|
28798
|
+
}
|
|
28745
28799
|
}));
|
|
28746
28800
|
const decrementSlotProps = vue.computed(() => ({
|
|
28747
|
-
|
|
28801
|
+
props: {
|
|
28802
|
+
onClick: onControlClick,
|
|
28803
|
+
onPointerup: onControlMouseup,
|
|
28804
|
+
onPointerdown: onDownControlMousedown
|
|
28805
|
+
}
|
|
28748
28806
|
}));
|
|
28749
28807
|
vue.watch(() => props.precision, () => formatInputValue());
|
|
28750
28808
|
vue.onMounted(() => {
|
|
@@ -28771,14 +28829,6 @@
|
|
|
28771
28829
|
if (canDecrease.value) inputText.value = correctPrecision(model.value - props.step, inferredPrecision);
|
|
28772
28830
|
}
|
|
28773
28831
|
}
|
|
28774
|
-
function onClickUp(e) {
|
|
28775
|
-
e.stopPropagation();
|
|
28776
|
-
toggleUpDown();
|
|
28777
|
-
}
|
|
28778
|
-
function onClickDown(e) {
|
|
28779
|
-
e.stopPropagation();
|
|
28780
|
-
toggleUpDown(false);
|
|
28781
|
-
}
|
|
28782
28832
|
function onBeforeinput(e) {
|
|
28783
28833
|
if (!e.data) return;
|
|
28784
28834
|
const existingTxt = e.target?.value;
|
|
@@ -28816,8 +28866,29 @@
|
|
|
28816
28866
|
}
|
|
28817
28867
|
}
|
|
28818
28868
|
}
|
|
28819
|
-
function
|
|
28869
|
+
function onControlClick(e) {
|
|
28870
|
+
e.stopPropagation();
|
|
28871
|
+
}
|
|
28872
|
+
function onControlMouseup(e) {
|
|
28873
|
+
const el = e.currentTarget;
|
|
28874
|
+
el?.releasePointerCapture(e.pointerId);
|
|
28875
|
+
e.preventDefault();
|
|
28820
28876
|
e.stopPropagation();
|
|
28877
|
+
holdStop();
|
|
28878
|
+
}
|
|
28879
|
+
function onUpControlMousedown(e) {
|
|
28880
|
+
const el = e.currentTarget;
|
|
28881
|
+
el?.setPointerCapture(e.pointerId);
|
|
28882
|
+
e.preventDefault();
|
|
28883
|
+
e.stopPropagation();
|
|
28884
|
+
holdStart('up');
|
|
28885
|
+
}
|
|
28886
|
+
function onDownControlMousedown(e) {
|
|
28887
|
+
const el = e.currentTarget;
|
|
28888
|
+
el?.setPointerCapture(e.pointerId);
|
|
28889
|
+
e.preventDefault();
|
|
28890
|
+
e.stopPropagation();
|
|
28891
|
+
holdStart('down');
|
|
28821
28892
|
}
|
|
28822
28893
|
function clampModel() {
|
|
28823
28894
|
if (controlsDisabled.value) return;
|
|
@@ -28846,11 +28917,11 @@
|
|
|
28846
28917
|
inputText.value = model.value.toString();
|
|
28847
28918
|
}
|
|
28848
28919
|
function onFocus() {
|
|
28849
|
-
|
|
28920
|
+
focus();
|
|
28850
28921
|
trimDecimalZeros();
|
|
28851
28922
|
}
|
|
28852
28923
|
function onBlur() {
|
|
28853
|
-
|
|
28924
|
+
blur();
|
|
28854
28925
|
clampModel();
|
|
28855
28926
|
}
|
|
28856
28927
|
useRender(() => {
|
|
@@ -28867,8 +28938,9 @@
|
|
|
28867
28938
|
"data-testid": "increment",
|
|
28868
28939
|
"aria-hidden": "true",
|
|
28869
28940
|
"icon": incrementIcon.value,
|
|
28870
|
-
"onClick":
|
|
28871
|
-
"
|
|
28941
|
+
"onClick": onControlClick,
|
|
28942
|
+
"onPointerup": onControlMouseup,
|
|
28943
|
+
"onPointerdown": onUpControlMousedown,
|
|
28872
28944
|
"size": controlNodeSize.value,
|
|
28873
28945
|
"tabindex": "-1"
|
|
28874
28946
|
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
@@ -28897,8 +28969,9 @@
|
|
|
28897
28969
|
"icon": decrementIcon.value,
|
|
28898
28970
|
"size": controlNodeSize.value,
|
|
28899
28971
|
"tabindex": "-1",
|
|
28900
|
-
"onClick":
|
|
28901
|
-
"
|
|
28972
|
+
"onClick": onControlClick,
|
|
28973
|
+
"onPointerup": onControlMouseup,
|
|
28974
|
+
"onPointerdown": onDownControlMousedown
|
|
28902
28975
|
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
28903
28976
|
"key": "decrement-defaults",
|
|
28904
28977
|
"defaults": {
|
|
@@ -28942,6 +29015,7 @@
|
|
|
28942
29015
|
"ref": vTextFieldRef,
|
|
28943
29016
|
"modelValue": inputText.value,
|
|
28944
29017
|
"onUpdate:modelValue": $event => inputText.value = $event,
|
|
29018
|
+
"validationValue": model.value,
|
|
28945
29019
|
"onBeforeinput": onBeforeinput,
|
|
28946
29020
|
"onFocus": onFocus,
|
|
28947
29021
|
"onBlur": onBlur,
|
|
@@ -30126,7 +30200,6 @@
|
|
|
30126
30200
|
|
|
30127
30201
|
const makeVTreeviewItemProps = propsFactory({
|
|
30128
30202
|
loading: Boolean,
|
|
30129
|
-
onToggleExpand: EventProp(),
|
|
30130
30203
|
toggleIcon: IconValue,
|
|
30131
30204
|
...makeVListItemProps({
|
|
30132
30205
|
slim: true
|
|
@@ -30135,9 +30208,13 @@
|
|
|
30135
30208
|
const VTreeviewItem = genericComponent()({
|
|
30136
30209
|
name: 'VTreeviewItem',
|
|
30137
30210
|
props: makeVTreeviewItemProps(),
|
|
30211
|
+
emits: {
|
|
30212
|
+
toggleExpand: value => true
|
|
30213
|
+
},
|
|
30138
30214
|
setup(props, _ref) {
|
|
30139
30215
|
let {
|
|
30140
|
-
slots
|
|
30216
|
+
slots,
|
|
30217
|
+
emit
|
|
30141
30218
|
} = _ref;
|
|
30142
30219
|
const visibleIds = vue.inject(VTreeviewSymbol, {
|
|
30143
30220
|
visibleIds: vue.ref()
|
|
@@ -30152,6 +30229,10 @@
|
|
|
30152
30229
|
vListItemRef.value?.activate(!vListItemRef.value?.isActivated, e);
|
|
30153
30230
|
}
|
|
30154
30231
|
}
|
|
30232
|
+
function onClickAction(e) {
|
|
30233
|
+
e.preventDefault();
|
|
30234
|
+
emit('toggleExpand', e);
|
|
30235
|
+
}
|
|
30155
30236
|
useRender(() => {
|
|
30156
30237
|
const listItemProps = omit(VListItem.filterProps(props), ['onClick']);
|
|
30157
30238
|
const hasPrepend = slots.prepend || props.toggleIcon;
|
|
@@ -30171,12 +30252,12 @@
|
|
|
30171
30252
|
return vue.createVNode(vue.Fragment, null, [vue.createVNode(VListItemAction, {
|
|
30172
30253
|
"start": false
|
|
30173
30254
|
}, {
|
|
30174
|
-
default: () => [props.toggleIcon
|
|
30255
|
+
default: () => [props.toggleIcon ? vue.createVNode(VBtn, {
|
|
30175
30256
|
"density": "compact",
|
|
30176
30257
|
"icon": props.toggleIcon,
|
|
30177
30258
|
"loading": props.loading,
|
|
30178
30259
|
"variant": "text",
|
|
30179
|
-
"onClick":
|
|
30260
|
+
"onClick": onClickAction
|
|
30180
30261
|
}, {
|
|
30181
30262
|
loader() {
|
|
30182
30263
|
return vue.createVNode(VProgressCircular, {
|
|
@@ -30185,7 +30266,9 @@
|
|
|
30185
30266
|
"width": "2"
|
|
30186
30267
|
}, null);
|
|
30187
30268
|
}
|
|
30188
|
-
})
|
|
30269
|
+
}) : vue.createVNode("div", {
|
|
30270
|
+
"class": "v-treeview-item__level"
|
|
30271
|
+
}, null)]
|
|
30189
30272
|
}), slots.prepend?.(slotProps)]);
|
|
30190
30273
|
} : undefined
|
|
30191
30274
|
});
|
|
@@ -30217,7 +30300,8 @@
|
|
|
30217
30300
|
returnObject: Boolean,
|
|
30218
30301
|
selectable: Boolean,
|
|
30219
30302
|
selectedColor: String,
|
|
30220
|
-
selectStrategy: [String, Function, Object]
|
|
30303
|
+
selectStrategy: [String, Function, Object],
|
|
30304
|
+
...makeDensityProps()
|
|
30221
30305
|
}, 'VTreeviewChildren');
|
|
30222
30306
|
const VTreeviewChildren = genericComponent()({
|
|
30223
30307
|
name: 'VTreeviewChildren',
|
|
@@ -30257,6 +30341,7 @@
|
|
|
30257
30341
|
"disabled": props.disabled,
|
|
30258
30342
|
"loading": loading,
|
|
30259
30343
|
"color": props.selectedColor,
|
|
30344
|
+
"density": props.density,
|
|
30260
30345
|
"indeterminate": slotProps.isIndeterminate,
|
|
30261
30346
|
"indeterminateIcon": props.indeterminateIcon,
|
|
30262
30347
|
"falseIcon": props.falseIcon,
|
|
@@ -30333,6 +30418,7 @@
|
|
|
30333
30418
|
return flat;
|
|
30334
30419
|
}
|
|
30335
30420
|
const makeVTreeviewProps = propsFactory({
|
|
30421
|
+
fluid: Boolean,
|
|
30336
30422
|
openAll: Boolean,
|
|
30337
30423
|
search: String,
|
|
30338
30424
|
...makeFilterProps({
|
|
@@ -30446,7 +30532,9 @@
|
|
|
30446
30532
|
return vue.createVNode(VList, vue.mergeProps({
|
|
30447
30533
|
"ref": vListRef
|
|
30448
30534
|
}, listProps, {
|
|
30449
|
-
"class": ['v-treeview',
|
|
30535
|
+
"class": ['v-treeview', {
|
|
30536
|
+
'v-treeview--fluid': props.fluid
|
|
30537
|
+
}, props.class],
|
|
30450
30538
|
"open-strategy": "multiple",
|
|
30451
30539
|
"style": props.style,
|
|
30452
30540
|
"opened": opened.value,
|
|
@@ -30456,6 +30544,7 @@
|
|
|
30456
30544
|
"onUpdate:selected": $event => selected.value = $event
|
|
30457
30545
|
}), {
|
|
30458
30546
|
default: () => [vue.createVNode(VTreeviewChildren, vue.mergeProps(treeviewChildrenProps, {
|
|
30547
|
+
"density": props.density,
|
|
30459
30548
|
"returnObject": props.returnObject,
|
|
30460
30549
|
"items": items.value
|
|
30461
30550
|
}), slots)]
|
|
@@ -30963,7 +31052,7 @@
|
|
|
30963
31052
|
goTo
|
|
30964
31053
|
};
|
|
30965
31054
|
}
|
|
30966
|
-
const version$1 = "3.7.
|
|
31055
|
+
const version$1 = "3.7.15";
|
|
30967
31056
|
createVuetify$1.version = version$1;
|
|
30968
31057
|
|
|
30969
31058
|
// Vue's inject() can only be used in setup
|
|
@@ -31216,7 +31305,7 @@
|
|
|
31216
31305
|
|
|
31217
31306
|
/* eslint-disable local-rules/sort-imports */
|
|
31218
31307
|
|
|
31219
|
-
const version = "3.7.
|
|
31308
|
+
const version = "3.7.15";
|
|
31220
31309
|
|
|
31221
31310
|
/* eslint-disable local-rules/sort-imports */
|
|
31222
31311
|
|