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.esm.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
|
*/
|
|
@@ -4008,7 +4008,7 @@ const VAppBar = genericComponent()({
|
|
|
4008
4008
|
|
|
4009
4009
|
const allowedDensities = [null, 'default', 'comfortable', 'compact'];
|
|
4010
4010
|
|
|
4011
|
-
// typeof allowedDensities[number]
|
|
4011
|
+
// typeof allowedDensities[number] evaluates to any
|
|
4012
4012
|
// when generating api types for whatever reason.
|
|
4013
4013
|
|
|
4014
4014
|
// Composables
|
|
@@ -9056,6 +9056,8 @@ const VListItem = genericComponent()({
|
|
|
9056
9056
|
}
|
|
9057
9057
|
}
|
|
9058
9058
|
function onKeyDown(e) {
|
|
9059
|
+
const target = e.target;
|
|
9060
|
+
if (['INPUT', 'TEXTAREA'].includes(target.tagName)) return;
|
|
9059
9061
|
if (e.key === 'Enter' || e.key === ' ') {
|
|
9060
9062
|
e.preventDefault();
|
|
9061
9063
|
e.target.dispatchEvent(new MouseEvent('click', e));
|
|
@@ -15681,6 +15683,7 @@ const useSlider = _ref => {
|
|
|
15681
15683
|
});
|
|
15682
15684
|
}
|
|
15683
15685
|
function onSliderMousedown(e) {
|
|
15686
|
+
if (e.button !== 0) return;
|
|
15684
15687
|
e.preventDefault();
|
|
15685
15688
|
handleStart(e);
|
|
15686
15689
|
window.addEventListener('mousemove', onMouseMove, moveListenerOptions);
|
|
@@ -17713,16 +17716,13 @@ function format(value, formatString, locale, formats) {
|
|
|
17713
17716
|
case 'fullTime':
|
|
17714
17717
|
options = {
|
|
17715
17718
|
hour: 'numeric',
|
|
17716
|
-
minute: 'numeric'
|
|
17717
|
-
second: 'numeric',
|
|
17718
|
-
hour12: true
|
|
17719
|
+
minute: 'numeric'
|
|
17719
17720
|
};
|
|
17720
17721
|
break;
|
|
17721
17722
|
case 'fullTime12h':
|
|
17722
17723
|
options = {
|
|
17723
17724
|
hour: 'numeric',
|
|
17724
17725
|
minute: 'numeric',
|
|
17725
|
-
second: 'numeric',
|
|
17726
17726
|
hour12: true
|
|
17727
17727
|
};
|
|
17728
17728
|
break;
|
|
@@ -17730,40 +17730,35 @@ function format(value, formatString, locale, formats) {
|
|
|
17730
17730
|
options = {
|
|
17731
17731
|
hour: 'numeric',
|
|
17732
17732
|
minute: 'numeric',
|
|
17733
|
-
second: 'numeric',
|
|
17734
17733
|
hour12: false
|
|
17735
17734
|
};
|
|
17736
17735
|
break;
|
|
17737
17736
|
case 'fullDateTime':
|
|
17738
17737
|
options = {
|
|
17739
17738
|
year: 'numeric',
|
|
17740
|
-
month: '
|
|
17739
|
+
month: 'short',
|
|
17741
17740
|
day: 'numeric',
|
|
17742
17741
|
hour: 'numeric',
|
|
17743
|
-
minute: 'numeric'
|
|
17744
|
-
second: 'numeric',
|
|
17745
|
-
hour12: true
|
|
17742
|
+
minute: 'numeric'
|
|
17746
17743
|
};
|
|
17747
17744
|
break;
|
|
17748
17745
|
case 'fullDateTime12h':
|
|
17749
17746
|
options = {
|
|
17750
17747
|
year: 'numeric',
|
|
17751
|
-
month: '
|
|
17748
|
+
month: 'short',
|
|
17752
17749
|
day: 'numeric',
|
|
17753
17750
|
hour: 'numeric',
|
|
17754
17751
|
minute: 'numeric',
|
|
17755
|
-
second: 'numeric',
|
|
17756
17752
|
hour12: true
|
|
17757
17753
|
};
|
|
17758
17754
|
break;
|
|
17759
17755
|
case 'fullDateTime24h':
|
|
17760
17756
|
options = {
|
|
17761
17757
|
year: 'numeric',
|
|
17762
|
-
month: '
|
|
17758
|
+
month: 'short',
|
|
17763
17759
|
day: 'numeric',
|
|
17764
17760
|
hour: 'numeric',
|
|
17765
17761
|
minute: 'numeric',
|
|
17766
|
-
second: 'numeric',
|
|
17767
17762
|
hour12: false
|
|
17768
17763
|
};
|
|
17769
17764
|
break;
|
|
@@ -17780,11 +17775,9 @@ function format(value, formatString, locale, formats) {
|
|
|
17780
17775
|
month: '2-digit',
|
|
17781
17776
|
day: '2-digit',
|
|
17782
17777
|
hour: 'numeric',
|
|
17783
|
-
minute: 'numeric'
|
|
17784
|
-
second: 'numeric',
|
|
17785
|
-
hour12: false
|
|
17778
|
+
minute: 'numeric'
|
|
17786
17779
|
};
|
|
17787
|
-
|
|
17780
|
+
return new Intl.DateTimeFormat(locale, options).format(newDate).replace(/, /g, ' ');
|
|
17788
17781
|
case 'keyboardDateTime12h':
|
|
17789
17782
|
options = {
|
|
17790
17783
|
year: 'numeric',
|
|
@@ -17792,10 +17785,9 @@ function format(value, formatString, locale, formats) {
|
|
|
17792
17785
|
day: '2-digit',
|
|
17793
17786
|
hour: 'numeric',
|
|
17794
17787
|
minute: 'numeric',
|
|
17795
|
-
second: 'numeric',
|
|
17796
17788
|
hour12: true
|
|
17797
17789
|
};
|
|
17798
|
-
|
|
17790
|
+
return new Intl.DateTimeFormat(locale, options).format(newDate).replace(/, /g, ' ');
|
|
17799
17791
|
case 'keyboardDateTime24h':
|
|
17800
17792
|
options = {
|
|
17801
17793
|
year: 'numeric',
|
|
@@ -17803,10 +17795,9 @@ function format(value, formatString, locale, formats) {
|
|
|
17803
17795
|
day: '2-digit',
|
|
17804
17796
|
hour: 'numeric',
|
|
17805
17797
|
minute: 'numeric',
|
|
17806
|
-
second: 'numeric',
|
|
17807
17798
|
hour12: false
|
|
17808
17799
|
};
|
|
17809
|
-
|
|
17800
|
+
return new Intl.DateTimeFormat(locale, options).format(newDate).replace(/, /g, ' ');
|
|
17810
17801
|
default:
|
|
17811
17802
|
options = customFormat ?? {
|
|
17812
17803
|
timeZone: 'UTC',
|
|
@@ -22245,9 +22236,26 @@ const VDatePicker = genericComponent()({
|
|
|
22245
22236
|
const model = useProxiedModel(props, 'modelValue', undefined, v => wrapInArray(v), v => props.multiple ? v : v[0]);
|
|
22246
22237
|
const viewMode = useProxiedModel(props, 'viewMode');
|
|
22247
22238
|
// const inputMode = useProxiedModel(props, 'inputMode')
|
|
22239
|
+
|
|
22240
|
+
const minDate = computed(() => {
|
|
22241
|
+
const date = adapter.date(props.min);
|
|
22242
|
+
return props.min && adapter.isValid(date) ? date : null;
|
|
22243
|
+
});
|
|
22244
|
+
const maxDate = computed(() => {
|
|
22245
|
+
const date = adapter.date(props.max);
|
|
22246
|
+
return props.max && adapter.isValid(date) ? date : null;
|
|
22247
|
+
});
|
|
22248
22248
|
const internal = computed(() => {
|
|
22249
|
-
const
|
|
22250
|
-
|
|
22249
|
+
const today = adapter.date();
|
|
22250
|
+
let value = today;
|
|
22251
|
+
if (model.value?.[0]) {
|
|
22252
|
+
value = adapter.date(model.value[0]);
|
|
22253
|
+
} else if (minDate.value && adapter.isBefore(today, minDate.value)) {
|
|
22254
|
+
value = minDate.value;
|
|
22255
|
+
} else if (maxDate.value && adapter.isAfter(today, maxDate.value)) {
|
|
22256
|
+
value = maxDate.value;
|
|
22257
|
+
}
|
|
22258
|
+
return value && adapter.isValid(value) ? value : today;
|
|
22251
22259
|
});
|
|
22252
22260
|
const month = ref(Number(props.month ?? adapter.getMonth(adapter.startOfMonth(internal.value))));
|
|
22253
22261
|
const year = ref(Number(props.year ?? adapter.getYear(adapter.startOfYear(adapter.setMonth(internal.value, month.value)))));
|
|
@@ -22267,14 +22275,6 @@ const VDatePicker = genericComponent()({
|
|
|
22267
22275
|
});
|
|
22268
22276
|
// const headerIcon = computed(() => props.inputMode === 'calendar' ? props.keyboardIcon : props.calendarIcon)
|
|
22269
22277
|
const headerTransition = computed(() => `date-picker-header${isReversing.value ? '-reverse' : ''}-transition`);
|
|
22270
|
-
const minDate = computed(() => {
|
|
22271
|
-
const date = adapter.date(props.min);
|
|
22272
|
-
return props.min && adapter.isValid(date) ? date : null;
|
|
22273
|
-
});
|
|
22274
|
-
const maxDate = computed(() => {
|
|
22275
|
-
const date = adapter.date(props.max);
|
|
22276
|
-
return props.max && adapter.isValid(date) ? date : null;
|
|
22277
|
-
});
|
|
22278
22278
|
const disabled = computed(() => {
|
|
22279
22279
|
if (props.disabled) return true;
|
|
22280
22280
|
const targets = [];
|
|
@@ -23053,6 +23053,14 @@ const VFileInput = genericComponent()({
|
|
|
23053
23053
|
callEvent(props['onClick:clear'], e);
|
|
23054
23054
|
});
|
|
23055
23055
|
}
|
|
23056
|
+
function onDragover(e) {
|
|
23057
|
+
e.preventDefault();
|
|
23058
|
+
}
|
|
23059
|
+
function onDrop(e) {
|
|
23060
|
+
e.preventDefault();
|
|
23061
|
+
if (!e.dataTransfer) return;
|
|
23062
|
+
model.value = [...(e.dataTransfer.files ?? [])];
|
|
23063
|
+
}
|
|
23056
23064
|
watch(model, newValue => {
|
|
23057
23065
|
const hasModelReset = !Array.isArray(newValue) || !newValue.length;
|
|
23058
23066
|
if (hasModelReset && inputRef.value) {
|
|
@@ -23105,7 +23113,9 @@ const VFileInput = genericComponent()({
|
|
|
23105
23113
|
"dirty": isDirty.value || props.dirty,
|
|
23106
23114
|
"disabled": isDisabled.value,
|
|
23107
23115
|
"focused": isFocused.value,
|
|
23108
|
-
"error": isValid.value === false
|
|
23116
|
+
"error": isValid.value === false,
|
|
23117
|
+
"onDragover": onDragover,
|
|
23118
|
+
"onDrop": onDrop
|
|
23109
23119
|
}), {
|
|
23110
23120
|
...slots,
|
|
23111
23121
|
default: _ref4 => {
|
|
@@ -24588,7 +24598,7 @@ const VOtpInput = genericComponent()({
|
|
|
24588
24598
|
"disabled": props.disabled,
|
|
24589
24599
|
"inputmode": props.type === 'number' ? 'numeric' : 'text',
|
|
24590
24600
|
"min": props.type === 'number' ? 0 : undefined,
|
|
24591
|
-
"maxlength":
|
|
24601
|
+
"maxlength": i === 0 ? length.value : '1',
|
|
24592
24602
|
"placeholder": props.placeholder,
|
|
24593
24603
|
"type": props.type === 'number' ? 'text' : props.type,
|
|
24594
24604
|
"value": model.value[i],
|
|
@@ -28239,9 +28249,9 @@ const VDateInput = genericComponent()({
|
|
|
28239
28249
|
if (props.multiple === 'range') {
|
|
28240
28250
|
const start = value[0];
|
|
28241
28251
|
const end = value[value.length - 1];
|
|
28242
|
-
return adapter.isValid(start) && adapter.isValid(end) ? `${adapter.format(start, 'keyboardDate')} - ${adapter.format(end, 'keyboardDate')}` : '';
|
|
28252
|
+
return adapter.isValid(start) && adapter.isValid(end) ? `${adapter.format(adapter.date(start), 'keyboardDate')} - ${adapter.format(adapter.date(end), 'keyboardDate')}` : '';
|
|
28243
28253
|
}
|
|
28244
|
-
return adapter.isValid(model.value) ? adapter.format(model.value, 'keyboardDate') : '';
|
|
28254
|
+
return adapter.isValid(model.value) ? adapter.format(adapter.date(model.value), 'keyboardDate') : '';
|
|
28245
28255
|
});
|
|
28246
28256
|
const isInteractive = computed(() => !props.disabled && !props.readonly);
|
|
28247
28257
|
function onKeydown(e) {
|
|
@@ -28647,6 +28657,36 @@ const VFileUpload = genericComponent()({
|
|
|
28647
28657
|
}
|
|
28648
28658
|
});
|
|
28649
28659
|
|
|
28660
|
+
// Utilities
|
|
28661
|
+
const HOLD_REPEAT = 50;
|
|
28662
|
+
const HOLD_DELAY = 500;
|
|
28663
|
+
function useHold(_ref) {
|
|
28664
|
+
let {
|
|
28665
|
+
toggleUpDown
|
|
28666
|
+
} = _ref;
|
|
28667
|
+
let timeout = -1;
|
|
28668
|
+
let interval = -1;
|
|
28669
|
+
onScopeDispose(holdStop);
|
|
28670
|
+
function holdStart(value) {
|
|
28671
|
+
holdStop();
|
|
28672
|
+
tick(value);
|
|
28673
|
+
timeout = window.setTimeout(() => {
|
|
28674
|
+
interval = window.setInterval(() => tick(value), HOLD_REPEAT);
|
|
28675
|
+
}, HOLD_DELAY);
|
|
28676
|
+
}
|
|
28677
|
+
function holdStop() {
|
|
28678
|
+
window.clearTimeout(timeout);
|
|
28679
|
+
window.clearInterval(interval);
|
|
28680
|
+
}
|
|
28681
|
+
function tick(value) {
|
|
28682
|
+
toggleUpDown(value === 'up');
|
|
28683
|
+
}
|
|
28684
|
+
return {
|
|
28685
|
+
holdStart,
|
|
28686
|
+
holdStop
|
|
28687
|
+
};
|
|
28688
|
+
}
|
|
28689
|
+
|
|
28650
28690
|
// Types
|
|
28651
28691
|
|
|
28652
28692
|
const makeVNumberInputProps = propsFactory({
|
|
@@ -28676,7 +28716,7 @@ const makeVNumberInputProps = propsFactory({
|
|
|
28676
28716
|
type: Number,
|
|
28677
28717
|
default: 0
|
|
28678
28718
|
},
|
|
28679
|
-
...omit(makeVTextFieldProps(
|
|
28719
|
+
...omit(makeVTextFieldProps(), ['modelValue', 'validationValue'])
|
|
28680
28720
|
}, 'VNumberInput');
|
|
28681
28721
|
const VNumberInput = genericComponent()({
|
|
28682
28722
|
name: 'VNumberInput',
|
|
@@ -28691,9 +28731,19 @@ const VNumberInput = genericComponent()({
|
|
|
28691
28731
|
slots
|
|
28692
28732
|
} = _ref;
|
|
28693
28733
|
const vTextFieldRef = ref();
|
|
28734
|
+
const {
|
|
28735
|
+
holdStart,
|
|
28736
|
+
holdStop
|
|
28737
|
+
} = useHold({
|
|
28738
|
+
toggleUpDown
|
|
28739
|
+
});
|
|
28694
28740
|
const form = useForm(props);
|
|
28695
28741
|
const controlsDisabled = computed(() => form.isDisabled.value || form.isReadonly.value);
|
|
28696
|
-
const
|
|
28742
|
+
const {
|
|
28743
|
+
isFocused,
|
|
28744
|
+
focus,
|
|
28745
|
+
blur
|
|
28746
|
+
} = useFocus(props);
|
|
28697
28747
|
function correctPrecision(val) {
|
|
28698
28748
|
let precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : props.precision;
|
|
28699
28749
|
const fixed = precision == null ? String(val) : val.toFixed(precision);
|
|
@@ -28703,8 +28753,8 @@ const VNumberInput = genericComponent()({
|
|
|
28703
28753
|
const model = useProxiedModel(props, 'modelValue', null, val => val ?? null, val => val == null ? val ?? null : clamp(+val, props.min, props.max));
|
|
28704
28754
|
const _inputText = shallowRef(null);
|
|
28705
28755
|
watchEffect(() => {
|
|
28706
|
-
if (isFocused.value && !controlsDisabled.value) ; else if (model.value == null
|
|
28707
|
-
_inputText.value =
|
|
28756
|
+
if (isFocused.value && !controlsDisabled.value) ; else if (model.value == null) {
|
|
28757
|
+
_inputText.value = null;
|
|
28708
28758
|
} else if (!isNaN(model.value)) {
|
|
28709
28759
|
_inputText.value = correctPrecision(model.value);
|
|
28710
28760
|
}
|
|
@@ -28737,10 +28787,18 @@ const VNumberInput = genericComponent()({
|
|
|
28737
28787
|
const controlNodeSize = computed(() => controlVariant.value === 'split' ? 'default' : 'small');
|
|
28738
28788
|
const controlNodeDefaultHeight = computed(() => controlVariant.value === 'stacked' ? 'auto' : '100%');
|
|
28739
28789
|
const incrementSlotProps = computed(() => ({
|
|
28740
|
-
|
|
28790
|
+
props: {
|
|
28791
|
+
onClick: onControlClick,
|
|
28792
|
+
onPointerup: onControlMouseup,
|
|
28793
|
+
onPointerdown: onUpControlMousedown
|
|
28794
|
+
}
|
|
28741
28795
|
}));
|
|
28742
28796
|
const decrementSlotProps = computed(() => ({
|
|
28743
|
-
|
|
28797
|
+
props: {
|
|
28798
|
+
onClick: onControlClick,
|
|
28799
|
+
onPointerup: onControlMouseup,
|
|
28800
|
+
onPointerdown: onDownControlMousedown
|
|
28801
|
+
}
|
|
28744
28802
|
}));
|
|
28745
28803
|
watch(() => props.precision, () => formatInputValue());
|
|
28746
28804
|
onMounted(() => {
|
|
@@ -28767,14 +28825,6 @@ const VNumberInput = genericComponent()({
|
|
|
28767
28825
|
if (canDecrease.value) inputText.value = correctPrecision(model.value - props.step, inferredPrecision);
|
|
28768
28826
|
}
|
|
28769
28827
|
}
|
|
28770
|
-
function onClickUp(e) {
|
|
28771
|
-
e.stopPropagation();
|
|
28772
|
-
toggleUpDown();
|
|
28773
|
-
}
|
|
28774
|
-
function onClickDown(e) {
|
|
28775
|
-
e.stopPropagation();
|
|
28776
|
-
toggleUpDown(false);
|
|
28777
|
-
}
|
|
28778
28828
|
function onBeforeinput(e) {
|
|
28779
28829
|
if (!e.data) return;
|
|
28780
28830
|
const existingTxt = e.target?.value;
|
|
@@ -28812,8 +28862,29 @@ const VNumberInput = genericComponent()({
|
|
|
28812
28862
|
}
|
|
28813
28863
|
}
|
|
28814
28864
|
}
|
|
28815
|
-
function
|
|
28865
|
+
function onControlClick(e) {
|
|
28866
|
+
e.stopPropagation();
|
|
28867
|
+
}
|
|
28868
|
+
function onControlMouseup(e) {
|
|
28869
|
+
const el = e.currentTarget;
|
|
28870
|
+
el?.releasePointerCapture(e.pointerId);
|
|
28871
|
+
e.preventDefault();
|
|
28816
28872
|
e.stopPropagation();
|
|
28873
|
+
holdStop();
|
|
28874
|
+
}
|
|
28875
|
+
function onUpControlMousedown(e) {
|
|
28876
|
+
const el = e.currentTarget;
|
|
28877
|
+
el?.setPointerCapture(e.pointerId);
|
|
28878
|
+
e.preventDefault();
|
|
28879
|
+
e.stopPropagation();
|
|
28880
|
+
holdStart('up');
|
|
28881
|
+
}
|
|
28882
|
+
function onDownControlMousedown(e) {
|
|
28883
|
+
const el = e.currentTarget;
|
|
28884
|
+
el?.setPointerCapture(e.pointerId);
|
|
28885
|
+
e.preventDefault();
|
|
28886
|
+
e.stopPropagation();
|
|
28887
|
+
holdStart('down');
|
|
28817
28888
|
}
|
|
28818
28889
|
function clampModel() {
|
|
28819
28890
|
if (controlsDisabled.value) return;
|
|
@@ -28842,11 +28913,11 @@ const VNumberInput = genericComponent()({
|
|
|
28842
28913
|
inputText.value = model.value.toString();
|
|
28843
28914
|
}
|
|
28844
28915
|
function onFocus() {
|
|
28845
|
-
|
|
28916
|
+
focus();
|
|
28846
28917
|
trimDecimalZeros();
|
|
28847
28918
|
}
|
|
28848
28919
|
function onBlur() {
|
|
28849
|
-
|
|
28920
|
+
blur();
|
|
28850
28921
|
clampModel();
|
|
28851
28922
|
}
|
|
28852
28923
|
useRender(() => {
|
|
@@ -28863,8 +28934,9 @@ const VNumberInput = genericComponent()({
|
|
|
28863
28934
|
"data-testid": "increment",
|
|
28864
28935
|
"aria-hidden": "true",
|
|
28865
28936
|
"icon": incrementIcon.value,
|
|
28866
|
-
"onClick":
|
|
28867
|
-
"
|
|
28937
|
+
"onClick": onControlClick,
|
|
28938
|
+
"onPointerup": onControlMouseup,
|
|
28939
|
+
"onPointerdown": onUpControlMousedown,
|
|
28868
28940
|
"size": controlNodeSize.value,
|
|
28869
28941
|
"tabindex": "-1"
|
|
28870
28942
|
}, null) : createVNode(VDefaultsProvider, {
|
|
@@ -28893,8 +28965,9 @@ const VNumberInput = genericComponent()({
|
|
|
28893
28965
|
"icon": decrementIcon.value,
|
|
28894
28966
|
"size": controlNodeSize.value,
|
|
28895
28967
|
"tabindex": "-1",
|
|
28896
|
-
"onClick":
|
|
28897
|
-
"
|
|
28968
|
+
"onClick": onControlClick,
|
|
28969
|
+
"onPointerup": onControlMouseup,
|
|
28970
|
+
"onPointerdown": onDownControlMousedown
|
|
28898
28971
|
}, null) : createVNode(VDefaultsProvider, {
|
|
28899
28972
|
"key": "decrement-defaults",
|
|
28900
28973
|
"defaults": {
|
|
@@ -28938,6 +29011,7 @@ const VNumberInput = genericComponent()({
|
|
|
28938
29011
|
"ref": vTextFieldRef,
|
|
28939
29012
|
"modelValue": inputText.value,
|
|
28940
29013
|
"onUpdate:modelValue": $event => inputText.value = $event,
|
|
29014
|
+
"validationValue": model.value,
|
|
28941
29015
|
"onBeforeinput": onBeforeinput,
|
|
28942
29016
|
"onFocus": onFocus,
|
|
28943
29017
|
"onBlur": onBlur,
|
|
@@ -30122,7 +30196,6 @@ const VTreeviewSymbol = Symbol.for('vuetify:v-treeview');
|
|
|
30122
30196
|
|
|
30123
30197
|
const makeVTreeviewItemProps = propsFactory({
|
|
30124
30198
|
loading: Boolean,
|
|
30125
|
-
onToggleExpand: EventProp(),
|
|
30126
30199
|
toggleIcon: IconValue,
|
|
30127
30200
|
...makeVListItemProps({
|
|
30128
30201
|
slim: true
|
|
@@ -30131,9 +30204,13 @@ const makeVTreeviewItemProps = propsFactory({
|
|
|
30131
30204
|
const VTreeviewItem = genericComponent()({
|
|
30132
30205
|
name: 'VTreeviewItem',
|
|
30133
30206
|
props: makeVTreeviewItemProps(),
|
|
30207
|
+
emits: {
|
|
30208
|
+
toggleExpand: value => true
|
|
30209
|
+
},
|
|
30134
30210
|
setup(props, _ref) {
|
|
30135
30211
|
let {
|
|
30136
|
-
slots
|
|
30212
|
+
slots,
|
|
30213
|
+
emit
|
|
30137
30214
|
} = _ref;
|
|
30138
30215
|
const visibleIds = inject$1(VTreeviewSymbol, {
|
|
30139
30216
|
visibleIds: ref()
|
|
@@ -30148,6 +30225,10 @@ const VTreeviewItem = genericComponent()({
|
|
|
30148
30225
|
vListItemRef.value?.activate(!vListItemRef.value?.isActivated, e);
|
|
30149
30226
|
}
|
|
30150
30227
|
}
|
|
30228
|
+
function onClickAction(e) {
|
|
30229
|
+
e.preventDefault();
|
|
30230
|
+
emit('toggleExpand', e);
|
|
30231
|
+
}
|
|
30151
30232
|
useRender(() => {
|
|
30152
30233
|
const listItemProps = omit(VListItem.filterProps(props), ['onClick']);
|
|
30153
30234
|
const hasPrepend = slots.prepend || props.toggleIcon;
|
|
@@ -30167,12 +30248,12 @@ const VTreeviewItem = genericComponent()({
|
|
|
30167
30248
|
return createVNode(Fragment, null, [createVNode(VListItemAction, {
|
|
30168
30249
|
"start": false
|
|
30169
30250
|
}, {
|
|
30170
|
-
default: () => [props.toggleIcon
|
|
30251
|
+
default: () => [props.toggleIcon ? createVNode(VBtn, {
|
|
30171
30252
|
"density": "compact",
|
|
30172
30253
|
"icon": props.toggleIcon,
|
|
30173
30254
|
"loading": props.loading,
|
|
30174
30255
|
"variant": "text",
|
|
30175
|
-
"onClick":
|
|
30256
|
+
"onClick": onClickAction
|
|
30176
30257
|
}, {
|
|
30177
30258
|
loader() {
|
|
30178
30259
|
return createVNode(VProgressCircular, {
|
|
@@ -30181,7 +30262,9 @@ const VTreeviewItem = genericComponent()({
|
|
|
30181
30262
|
"width": "2"
|
|
30182
30263
|
}, null);
|
|
30183
30264
|
}
|
|
30184
|
-
})
|
|
30265
|
+
}) : createVNode("div", {
|
|
30266
|
+
"class": "v-treeview-item__level"
|
|
30267
|
+
}, null)]
|
|
30185
30268
|
}), slots.prepend?.(slotProps)]);
|
|
30186
30269
|
} : undefined
|
|
30187
30270
|
});
|
|
@@ -30213,7 +30296,8 @@ const makeVTreeviewChildrenProps = propsFactory({
|
|
|
30213
30296
|
returnObject: Boolean,
|
|
30214
30297
|
selectable: Boolean,
|
|
30215
30298
|
selectedColor: String,
|
|
30216
|
-
selectStrategy: [String, Function, Object]
|
|
30299
|
+
selectStrategy: [String, Function, Object],
|
|
30300
|
+
...makeDensityProps()
|
|
30217
30301
|
}, 'VTreeviewChildren');
|
|
30218
30302
|
const VTreeviewChildren = genericComponent()({
|
|
30219
30303
|
name: 'VTreeviewChildren',
|
|
@@ -30253,6 +30337,7 @@ const VTreeviewChildren = genericComponent()({
|
|
|
30253
30337
|
"disabled": props.disabled,
|
|
30254
30338
|
"loading": loading,
|
|
30255
30339
|
"color": props.selectedColor,
|
|
30340
|
+
"density": props.density,
|
|
30256
30341
|
"indeterminate": slotProps.isIndeterminate,
|
|
30257
30342
|
"indeterminateIcon": props.indeterminateIcon,
|
|
30258
30343
|
"falseIcon": props.falseIcon,
|
|
@@ -30329,6 +30414,7 @@ function flatten(items) {
|
|
|
30329
30414
|
return flat;
|
|
30330
30415
|
}
|
|
30331
30416
|
const makeVTreeviewProps = propsFactory({
|
|
30417
|
+
fluid: Boolean,
|
|
30332
30418
|
openAll: Boolean,
|
|
30333
30419
|
search: String,
|
|
30334
30420
|
...makeFilterProps({
|
|
@@ -30442,7 +30528,9 @@ const VTreeview = genericComponent()({
|
|
|
30442
30528
|
return createVNode(VList, mergeProps({
|
|
30443
30529
|
"ref": vListRef
|
|
30444
30530
|
}, listProps, {
|
|
30445
|
-
"class": ['v-treeview',
|
|
30531
|
+
"class": ['v-treeview', {
|
|
30532
|
+
'v-treeview--fluid': props.fluid
|
|
30533
|
+
}, props.class],
|
|
30446
30534
|
"open-strategy": "multiple",
|
|
30447
30535
|
"style": props.style,
|
|
30448
30536
|
"opened": opened.value,
|
|
@@ -30452,6 +30540,7 @@ const VTreeview = genericComponent()({
|
|
|
30452
30540
|
"onUpdate:selected": $event => selected.value = $event
|
|
30453
30541
|
}), {
|
|
30454
30542
|
default: () => [createVNode(VTreeviewChildren, mergeProps(treeviewChildrenProps, {
|
|
30543
|
+
"density": props.density,
|
|
30455
30544
|
"returnObject": props.returnObject,
|
|
30456
30545
|
"items": items.value
|
|
30457
30546
|
}), slots)]
|
|
@@ -30959,7 +31048,7 @@ function createVuetify$1() {
|
|
|
30959
31048
|
goTo
|
|
30960
31049
|
};
|
|
30961
31050
|
}
|
|
30962
|
-
const version$1 = "3.7.
|
|
31051
|
+
const version$1 = "3.7.15";
|
|
30963
31052
|
createVuetify$1.version = version$1;
|
|
30964
31053
|
|
|
30965
31054
|
// Vue's inject() can only be used in setup
|
|
@@ -31212,7 +31301,7 @@ var index = /*#__PURE__*/Object.freeze({
|
|
|
31212
31301
|
|
|
31213
31302
|
/* eslint-disable local-rules/sort-imports */
|
|
31214
31303
|
|
|
31215
|
-
const version = "3.7.
|
|
31304
|
+
const version = "3.7.15";
|
|
31216
31305
|
|
|
31217
31306
|
/* eslint-disable local-rules/sort-imports */
|
|
31218
31307
|
|