vuetify 3.6.7 → 3.6.8
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 +44 -12
- package/dist/json/importMap-labs.json +16 -16
- package/dist/json/importMap.json +128 -128
- package/dist/json/tags.json +8 -0
- package/dist/json/web-types.json +121 -49
- package/dist/vuetify-labs.css +2997 -2918
- package/dist/vuetify-labs.d.ts +528 -1392
- package/dist/vuetify-labs.esm.js +212 -98
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +211 -97
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +2643 -2564
- package/dist/vuetify.d.ts +424 -1128
- package/dist/vuetify.esm.js +102 -67
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +101 -66
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +303 -302
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAutocomplete/index.d.mts +102 -336
- package/lib/components/VCombobox/index.d.mts +102 -336
- package/lib/components/VDatePicker/VDatePickerMonth.mjs +3 -0
- package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
- package/lib/components/VDivider/VDivider.mjs +1 -1
- package/lib/components/VDivider/VDivider.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
- package/lib/components/VExpansionPanel/index.d.mts +36 -36
- package/lib/components/VExpansionPanel/shared.mjs +4 -0
- package/lib/components/VExpansionPanel/shared.mjs.map +1 -0
- package/lib/components/VList/VList.mjs +3 -1
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListGroup.mjs +1 -0
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListItem.css +2 -2
- package/lib/components/VList/VListItem.mjs +2 -0
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListItem.sass +1 -1
- package/lib/components/VList/index.d.mts +52 -66
- package/lib/components/VSelect/index.d.mts +102 -336
- package/lib/components/VSelectionControl/VSelectionControl.mjs +9 -1
- package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
- package/lib/components/VSlider/VSlider.mjs +2 -1
- package/lib/components/VSlider/VSlider.mjs.map +1 -1
- package/lib/components/VSlider/VSliderThumb.mjs +2 -0
- package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.css +1 -1
- package/lib/components/VSnackbar/VSnackbar.sass +1 -1
- package/lib/components/VStepper/VStepper.mjs +19 -5
- package/lib/components/VStepper/VStepper.mjs.map +1 -1
- package/lib/components/VStepper/VStepperItem.css +3 -0
- package/lib/components/VStepper/VStepperItem.mjs +1 -1
- package/lib/components/VStepper/VStepperItem.mjs.map +1 -1
- package/lib/components/VStepper/VStepperItem.sass +3 -0
- package/lib/components/VStepper/VStepperWindow.mjs +2 -2
- package/lib/components/VStepper/VStepperWindow.mjs.map +1 -1
- package/lib/components/VStepper/index.d.mts +43 -9
- package/lib/components/VStepper/shared.mjs +4 -0
- package/lib/components/VStepper/shared.mjs.map +1 -0
- package/lib/components/VTabs/VTabs.mjs +2 -2
- package/lib/components/VTabs/VTabs.mjs.map +1 -1
- package/lib/components/index.d.mts +379 -1083
- package/lib/composables/defaults.mjs +3 -1
- package/lib/composables/defaults.mjs.map +1 -1
- package/lib/composables/filter.mjs +1 -1
- package/lib/composables/filter.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +45 -45
- package/lib/labs/VNumberInput/VNumberInput.mjs +7 -0
- package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
- package/lib/labs/VStepperVertical/VStepperVerticalItem.mjs +1 -2
- package/lib/labs/VStepperVertical/VStepperVerticalItem.mjs.map +1 -1
- package/lib/labs/VStepperVertical/index.d.mts +43 -9
- package/lib/labs/VTreeview/VTreeview.mjs +1 -1
- package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
- package/lib/labs/VTreeview/VTreeviewChildren.mjs +30 -25
- package/lib/labs/VTreeview/VTreeviewChildren.mjs.map +1 -1
- package/lib/labs/VTreeview/VTreeviewItem.mjs +83 -12
- package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
- package/lib/labs/VTreeview/index.d.mts +110 -300
- package/lib/labs/components.d.mts +3402 -3558
- package/lib/styles/main.css +76 -0
- package/lib/styles/settings/_utilities.scss +5 -1
- package/package.json +2 -2
package/dist/vuetify-labs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.6.
|
|
2
|
+
* Vuetify v3.6.8
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -1261,6 +1261,53 @@
|
|
|
1261
1261
|
|
|
1262
1262
|
// Types
|
|
1263
1263
|
|
|
1264
|
+
function getCurrentInstance(name, message) {
|
|
1265
|
+
const vm = vue.getCurrentInstance();
|
|
1266
|
+
if (!vm) {
|
|
1267
|
+
throw new Error(`[Vuetify] ${name} ${message || 'must be called from inside a setup function'}`);
|
|
1268
|
+
}
|
|
1269
|
+
return vm;
|
|
1270
|
+
}
|
|
1271
|
+
function getCurrentInstanceName() {
|
|
1272
|
+
let name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'composables';
|
|
1273
|
+
const vm = getCurrentInstance(name).type;
|
|
1274
|
+
return toKebabCase(vm?.aliasName || vm?.name);
|
|
1275
|
+
}
|
|
1276
|
+
let _uid = 0;
|
|
1277
|
+
let _map = new WeakMap();
|
|
1278
|
+
function getUid() {
|
|
1279
|
+
const vm = getCurrentInstance('getUid');
|
|
1280
|
+
if (_map.has(vm)) return _map.get(vm);else {
|
|
1281
|
+
const uid = _uid++;
|
|
1282
|
+
_map.set(vm, uid);
|
|
1283
|
+
return uid;
|
|
1284
|
+
}
|
|
1285
|
+
}
|
|
1286
|
+
getUid.reset = () => {
|
|
1287
|
+
_uid = 0;
|
|
1288
|
+
_map = new WeakMap();
|
|
1289
|
+
};
|
|
1290
|
+
|
|
1291
|
+
// Utilities
|
|
1292
|
+
|
|
1293
|
+
// Types
|
|
1294
|
+
|
|
1295
|
+
function injectSelf(key) {
|
|
1296
|
+
let vm = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstance('injectSelf');
|
|
1297
|
+
const {
|
|
1298
|
+
provides
|
|
1299
|
+
} = vm;
|
|
1300
|
+
if (provides && key in provides) {
|
|
1301
|
+
// TS doesn't allow symbol as index type
|
|
1302
|
+
return provides[key];
|
|
1303
|
+
}
|
|
1304
|
+
return undefined;
|
|
1305
|
+
}
|
|
1306
|
+
|
|
1307
|
+
// Utilities
|
|
1308
|
+
|
|
1309
|
+
// Types
|
|
1310
|
+
|
|
1264
1311
|
const DefaultsSymbol = Symbol.for('vuetify:defaults');
|
|
1265
1312
|
function createDefaults(options) {
|
|
1266
1313
|
return vue.ref(options);
|
|
@@ -1486,37 +1533,6 @@
|
|
|
1486
1533
|
}, {});
|
|
1487
1534
|
}
|
|
1488
1535
|
|
|
1489
|
-
// Utilities
|
|
1490
|
-
|
|
1491
|
-
// Types
|
|
1492
|
-
|
|
1493
|
-
function getCurrentInstance(name, message) {
|
|
1494
|
-
const vm = vue.getCurrentInstance();
|
|
1495
|
-
if (!vm) {
|
|
1496
|
-
throw new Error(`[Vuetify] ${name} ${message || 'must be called from inside a setup function'}`);
|
|
1497
|
-
}
|
|
1498
|
-
return vm;
|
|
1499
|
-
}
|
|
1500
|
-
function getCurrentInstanceName() {
|
|
1501
|
-
let name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'composables';
|
|
1502
|
-
const vm = getCurrentInstance(name).type;
|
|
1503
|
-
return toKebabCase(vm?.aliasName || vm?.name);
|
|
1504
|
-
}
|
|
1505
|
-
let _uid = 0;
|
|
1506
|
-
let _map = new WeakMap();
|
|
1507
|
-
function getUid() {
|
|
1508
|
-
const vm = getCurrentInstance('getUid');
|
|
1509
|
-
if (_map.has(vm)) return _map.get(vm);else {
|
|
1510
|
-
const uid = _uid++;
|
|
1511
|
-
_map.set(vm, uid);
|
|
1512
|
-
return uid;
|
|
1513
|
-
}
|
|
1514
|
-
}
|
|
1515
|
-
getUid.reset = () => {
|
|
1516
|
-
_uid = 0;
|
|
1517
|
-
_map = new WeakMap();
|
|
1518
|
-
};
|
|
1519
|
-
|
|
1520
1536
|
function getScrollParent(el) {
|
|
1521
1537
|
let includeHidden = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
1522
1538
|
while (el) {
|
|
@@ -1546,22 +1562,6 @@
|
|
|
1546
1562
|
return ['scroll', 'auto'].includes(style.overflowY);
|
|
1547
1563
|
}
|
|
1548
1564
|
|
|
1549
|
-
// Utilities
|
|
1550
|
-
|
|
1551
|
-
// Types
|
|
1552
|
-
|
|
1553
|
-
function injectSelf(key) {
|
|
1554
|
-
let vm = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstance('injectSelf');
|
|
1555
|
-
const {
|
|
1556
|
-
provides
|
|
1557
|
-
} = vm;
|
|
1558
|
-
if (provides && key in provides) {
|
|
1559
|
-
// TS doesn't allow symbol as index type
|
|
1560
|
-
return provides[key];
|
|
1561
|
-
}
|
|
1562
|
-
return undefined;
|
|
1563
|
-
}
|
|
1564
|
-
|
|
1565
1565
|
function isFixedPosition(el) {
|
|
1566
1566
|
while (el) {
|
|
1567
1567
|
if (window.getComputedStyle(el).position === 'fixed') {
|
|
@@ -6253,7 +6253,15 @@
|
|
|
6253
6253
|
e.stopPropagation();
|
|
6254
6254
|
}
|
|
6255
6255
|
function onInput(e) {
|
|
6256
|
-
if (!isInteractive.value)
|
|
6256
|
+
if (!isInteractive.value) {
|
|
6257
|
+
if (input.value) {
|
|
6258
|
+
// model value is not updated when input is not interactive
|
|
6259
|
+
// but the internal checked state of the input is still updated,
|
|
6260
|
+
// so here it's value is restored
|
|
6261
|
+
input.value.checked = model.value;
|
|
6262
|
+
}
|
|
6263
|
+
return;
|
|
6264
|
+
}
|
|
6257
6265
|
if (props.readonly && group) {
|
|
6258
6266
|
vue.nextTick(() => group.forceUpdate());
|
|
6259
6267
|
}
|
|
@@ -8706,6 +8714,7 @@
|
|
|
8706
8714
|
isBooted
|
|
8707
8715
|
} = useSsrBoot();
|
|
8708
8716
|
function onClick(e) {
|
|
8717
|
+
e.stopPropagation();
|
|
8709
8718
|
open(!isOpen.value, e);
|
|
8710
8719
|
}
|
|
8711
8720
|
const activatorProps = vue.computed(() => ({
|
|
@@ -9039,6 +9048,8 @@
|
|
|
9039
9048
|
}), [[vue.resolveDirective("ripple"), isClickable.value && props.ripple]]);
|
|
9040
9049
|
});
|
|
9041
9050
|
return {
|
|
9051
|
+
activate,
|
|
9052
|
+
isActivated,
|
|
9042
9053
|
isGroupActivator,
|
|
9043
9054
|
isSelected,
|
|
9044
9055
|
list,
|
|
@@ -9114,7 +9125,7 @@
|
|
|
9114
9125
|
const dividerStyles = vue.computed(() => {
|
|
9115
9126
|
const styles = {};
|
|
9116
9127
|
if (props.length) {
|
|
9117
|
-
styles[props.vertical ? '
|
|
9128
|
+
styles[props.vertical ? 'height' : 'width'] = convertToUnit(props.length);
|
|
9118
9129
|
}
|
|
9119
9130
|
if (props.thickness) {
|
|
9120
9131
|
styles[props.vertical ? 'borderRightWidth' : 'borderTopWidth'] = convertToUnit(props.thickness);
|
|
@@ -9375,6 +9386,8 @@
|
|
|
9375
9386
|
},
|
|
9376
9387
|
slim: Boolean,
|
|
9377
9388
|
nav: Boolean,
|
|
9389
|
+
'onClick:open': EventProp(),
|
|
9390
|
+
'onClick:select': EventProp(),
|
|
9378
9391
|
...makeNestedProps({
|
|
9379
9392
|
selectStrategy: 'single-leaf',
|
|
9380
9393
|
openStrategy: 'list'
|
|
@@ -12686,7 +12699,7 @@
|
|
|
12686
12699
|
const customMatches = {};
|
|
12687
12700
|
const defaultMatches = {};
|
|
12688
12701
|
let match = -1;
|
|
12689
|
-
if (query && !options?.noFilter) {
|
|
12702
|
+
if ((query || customFiltersLength > 0) && !options?.noFilter) {
|
|
12690
12703
|
if (typeof item === 'object') {
|
|
12691
12704
|
const filterKeys = keys || Object.keys(transformed);
|
|
12692
12705
|
for (const key of filterKeys) {
|
|
@@ -15527,6 +15540,7 @@
|
|
|
15527
15540
|
type: [Boolean, Object],
|
|
15528
15541
|
default: true
|
|
15529
15542
|
},
|
|
15543
|
+
name: String,
|
|
15530
15544
|
...makeComponentProps()
|
|
15531
15545
|
}, 'VSliderThumb');
|
|
15532
15546
|
const VSliderThumb = genericComponent()({
|
|
@@ -15623,6 +15637,7 @@
|
|
|
15623
15637
|
}, props.style],
|
|
15624
15638
|
"role": "slider",
|
|
15625
15639
|
"tabindex": disabled.value ? -1 : 0,
|
|
15640
|
+
"aria-label": props.name,
|
|
15626
15641
|
"aria-valuemin": props.min,
|
|
15627
15642
|
"aria-valuemax": props.max,
|
|
15628
15643
|
"aria-valuenow": props.modelValue,
|
|
@@ -15899,7 +15914,8 @@
|
|
|
15899
15914
|
"elevation": props.elevation,
|
|
15900
15915
|
"onFocus": focus,
|
|
15901
15916
|
"onBlur": blur,
|
|
15902
|
-
"ripple": props.ripple
|
|
15917
|
+
"ripple": props.ripple,
|
|
15918
|
+
"name": props.name
|
|
15903
15919
|
}, {
|
|
15904
15920
|
'thumb-label': slots['thumb-label']
|
|
15905
15921
|
})]);
|
|
@@ -21524,6 +21540,9 @@
|
|
|
21524
21540
|
});
|
|
21525
21541
|
function onRangeClick(value) {
|
|
21526
21542
|
const _value = adapter.startOfDay(value);
|
|
21543
|
+
if (model.value.length === 0) {
|
|
21544
|
+
rangeStart.value = undefined;
|
|
21545
|
+
}
|
|
21527
21546
|
if (!rangeStart.value) {
|
|
21528
21547
|
rangeStart.value = _value;
|
|
21529
21548
|
model.value = [rangeStart.value];
|
|
@@ -22249,6 +22268,10 @@
|
|
|
22249
22268
|
}
|
|
22250
22269
|
});
|
|
22251
22270
|
|
|
22271
|
+
// Types
|
|
22272
|
+
|
|
22273
|
+
const VExpansionPanelSymbol = Symbol.for('vuetify:v-expansion-panel');
|
|
22274
|
+
|
|
22252
22275
|
const makeVExpansionPanelTextProps = propsFactory({
|
|
22253
22276
|
...makeComponentProps(),
|
|
22254
22277
|
...makeLazyProps()
|
|
@@ -22429,7 +22452,6 @@
|
|
|
22429
22452
|
|
|
22430
22453
|
// Types
|
|
22431
22454
|
|
|
22432
|
-
const VExpansionPanelSymbol = Symbol.for('vuetify:v-expansion-panel');
|
|
22433
22455
|
const allowedVariants = ['default', 'accordion', 'inset', 'popout'];
|
|
22434
22456
|
const makeVExpansionPanelsProps = propsFactory({
|
|
22435
22457
|
flat: Boolean,
|
|
@@ -25773,6 +25795,10 @@
|
|
|
25773
25795
|
|
|
25774
25796
|
// Types
|
|
25775
25797
|
|
|
25798
|
+
const VStepperSymbol = Symbol.for('vuetify:v-stepper');
|
|
25799
|
+
|
|
25800
|
+
// Types
|
|
25801
|
+
|
|
25776
25802
|
const makeVStepperActionsProps = propsFactory({
|
|
25777
25803
|
color: String,
|
|
25778
25804
|
disabled: {
|
|
@@ -25960,9 +25986,6 @@
|
|
|
25960
25986
|
}
|
|
25961
25987
|
});
|
|
25962
25988
|
|
|
25963
|
-
// Types
|
|
25964
|
-
|
|
25965
|
-
const VStepperSymbol$1 = Symbol.for('vuetify:v-stepper');
|
|
25966
25989
|
const makeVStepperWindowProps = propsFactory({
|
|
25967
25990
|
...omit(makeVWindowProps(), ['continuous', 'nextIcon', 'prevIcon', 'showArrows', 'touch', 'mandatory'])
|
|
25968
25991
|
}, 'VStepperWindow');
|
|
@@ -25976,7 +25999,7 @@
|
|
|
25976
25999
|
let {
|
|
25977
26000
|
slots
|
|
25978
26001
|
} = _ref;
|
|
25979
|
-
const group = vue.inject(VStepperSymbol
|
|
26002
|
+
const group = vue.inject(VStepperSymbol, null);
|
|
25980
26003
|
const _model = useProxiedModel(props, 'modelValue');
|
|
25981
26004
|
const model = vue.computed({
|
|
25982
26005
|
get() {
|
|
@@ -26034,11 +26057,13 @@
|
|
|
26034
26057
|
|
|
26035
26058
|
// Types
|
|
26036
26059
|
|
|
26037
|
-
const VStepperSymbol = Symbol.for('vuetify:v-stepper');
|
|
26038
26060
|
const makeStepperProps = propsFactory({
|
|
26039
26061
|
altLabels: Boolean,
|
|
26040
26062
|
bgColor: String,
|
|
26063
|
+
completeIcon: String,
|
|
26064
|
+
editIcon: String,
|
|
26041
26065
|
editable: Boolean,
|
|
26066
|
+
errorIcon: String,
|
|
26042
26067
|
hideActions: Boolean,
|
|
26043
26068
|
items: {
|
|
26044
26069
|
type: Array,
|
|
@@ -26052,9 +26077,9 @@
|
|
|
26052
26077
|
type: String,
|
|
26053
26078
|
default: 'value'
|
|
26054
26079
|
},
|
|
26055
|
-
mobile: Boolean,
|
|
26056
26080
|
nonLinear: Boolean,
|
|
26057
|
-
flat: Boolean
|
|
26081
|
+
flat: Boolean,
|
|
26082
|
+
...makeDisplayProps()
|
|
26058
26083
|
}, 'Stepper');
|
|
26059
26084
|
const makeVStepperProps = propsFactory({
|
|
26060
26085
|
...makeStepperProps(),
|
|
@@ -26082,6 +26107,13 @@
|
|
|
26082
26107
|
selected
|
|
26083
26108
|
} = useGroup(props, VStepperSymbol);
|
|
26084
26109
|
const {
|
|
26110
|
+
displayClasses,
|
|
26111
|
+
mobile
|
|
26112
|
+
} = useDisplay(props);
|
|
26113
|
+
const {
|
|
26114
|
+
completeIcon,
|
|
26115
|
+
editIcon,
|
|
26116
|
+
errorIcon,
|
|
26085
26117
|
color,
|
|
26086
26118
|
editable,
|
|
26087
26119
|
prevText,
|
|
@@ -26108,6 +26140,9 @@
|
|
|
26108
26140
|
provideDefaults({
|
|
26109
26141
|
VStepperItem: {
|
|
26110
26142
|
editable,
|
|
26143
|
+
errorIcon,
|
|
26144
|
+
completeIcon,
|
|
26145
|
+
editIcon,
|
|
26111
26146
|
prevText,
|
|
26112
26147
|
nextText
|
|
26113
26148
|
},
|
|
@@ -26129,8 +26164,8 @@
|
|
|
26129
26164
|
'v-stepper--alt-labels': props.altLabels,
|
|
26130
26165
|
'v-stepper--flat': props.flat,
|
|
26131
26166
|
'v-stepper--non-linear': props.nonLinear,
|
|
26132
|
-
'v-stepper--mobile':
|
|
26133
|
-
}, props.class],
|
|
26167
|
+
'v-stepper--mobile': mobile.value
|
|
26168
|
+
}, displayClasses.value, props.class],
|
|
26134
26169
|
"style": props.style
|
|
26135
26170
|
}), {
|
|
26136
26171
|
default: () => [hasHeader && vue.createVNode(VStepperHeader, {
|
|
@@ -26660,9 +26695,9 @@
|
|
|
26660
26695
|
"key": item.text,
|
|
26661
26696
|
"value": item.value
|
|
26662
26697
|
}), {
|
|
26663
|
-
default: () => slots[`tab.${item.value}`]?.({
|
|
26698
|
+
default: slots[`tab.${item.value}`] ? () => slots[`tab.${item.value}`]?.({
|
|
26664
26699
|
item
|
|
26665
|
-
})
|
|
26700
|
+
}) : undefined
|
|
26666
26701
|
}))]
|
|
26667
26702
|
}), hasWindow && vue.createVNode(VTabsWindow, vue.mergeProps({
|
|
26668
26703
|
"modelValue": model.value,
|
|
@@ -27973,15 +28008,20 @@
|
|
|
27973
28008
|
const model = useProxiedModel(props, 'modelValue');
|
|
27974
28009
|
const stepDecimals = vue.computed(() => getDecimals(props.step));
|
|
27975
28010
|
const modelDecimals = vue.computed(() => model.value != null ? getDecimals(model.value) : 0);
|
|
28011
|
+
const form = useForm();
|
|
28012
|
+
const controlsDisabled = vue.computed(() => props.disabled || props.readonly || form?.isReadonly.value);
|
|
27976
28013
|
const canIncrease = vue.computed(() => {
|
|
28014
|
+
if (controlsDisabled.value) return false;
|
|
27977
28015
|
if (model.value == null) return true;
|
|
27978
28016
|
return model.value + props.step <= props.max;
|
|
27979
28017
|
});
|
|
27980
28018
|
const canDecrease = vue.computed(() => {
|
|
28019
|
+
if (controlsDisabled.value) return false;
|
|
27981
28020
|
if (model.value == null) return true;
|
|
27982
28021
|
return model.value - props.step >= props.min;
|
|
27983
28022
|
});
|
|
27984
28023
|
vue.watchEffect(() => {
|
|
28024
|
+
if (controlsDisabled.value) return;
|
|
27985
28025
|
if (model.value != null && (model.value < props.min || model.value > props.max)) {
|
|
27986
28026
|
model.value = clamp(model.value, props.min, props.max);
|
|
27987
28027
|
}
|
|
@@ -27997,6 +28037,7 @@
|
|
|
27997
28037
|
}));
|
|
27998
28038
|
function toggleUpDown() {
|
|
27999
28039
|
let increment = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
28040
|
+
if (controlsDisabled.value) return;
|
|
28000
28041
|
if (model.value == null) {
|
|
28001
28042
|
model.value = 0;
|
|
28002
28043
|
return;
|
|
@@ -29338,32 +29379,100 @@
|
|
|
29338
29379
|
emit
|
|
29339
29380
|
} = _ref;
|
|
29340
29381
|
const link = useLink(props, attrs);
|
|
29341
|
-
const
|
|
29382
|
+
const rawId = vue.computed(() => props.value === undefined ? link.href.value : props.value);
|
|
29342
29383
|
const vListItemRef = vue.ref();
|
|
29384
|
+
const {
|
|
29385
|
+
activate,
|
|
29386
|
+
isActivated,
|
|
29387
|
+
select,
|
|
29388
|
+
isSelected,
|
|
29389
|
+
isIndeterminate,
|
|
29390
|
+
isGroupActivator,
|
|
29391
|
+
root,
|
|
29392
|
+
id
|
|
29393
|
+
} = useNestedItem(rawId, false);
|
|
29394
|
+
const isActivatableGroupActivator = vue.computed(() => root.activatable.value && isGroupActivator);
|
|
29395
|
+
const {
|
|
29396
|
+
densityClasses
|
|
29397
|
+
} = useDensity(props, 'v-list-item');
|
|
29398
|
+
const slotProps = vue.computed(() => ({
|
|
29399
|
+
isActive: isActivated.value,
|
|
29400
|
+
select,
|
|
29401
|
+
isSelected: isSelected.value,
|
|
29402
|
+
isIndeterminate: isIndeterminate.value
|
|
29403
|
+
}));
|
|
29343
29404
|
const isClickable = vue.computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value || props.value != null && !!vListItemRef.value?.list));
|
|
29344
|
-
function
|
|
29345
|
-
if (!
|
|
29346
|
-
|
|
29405
|
+
function activateItem(e) {
|
|
29406
|
+
if (!isClickable.value || !isActivatableGroupActivator.value && isGroupActivator) return;
|
|
29407
|
+
if (root.activatable.value) {
|
|
29408
|
+
if (isActivatableGroupActivator.value) {
|
|
29409
|
+
activate(!isActivated.value, e);
|
|
29410
|
+
} else {
|
|
29411
|
+
vListItemRef.value?.activate(!vListItemRef.value?.isActivated, e);
|
|
29412
|
+
}
|
|
29413
|
+
}
|
|
29347
29414
|
}
|
|
29348
29415
|
function onKeyDown(e) {
|
|
29349
29416
|
if (e.key === 'Enter' || e.key === ' ') {
|
|
29350
29417
|
e.preventDefault();
|
|
29351
|
-
|
|
29418
|
+
activateItem(e);
|
|
29352
29419
|
}
|
|
29353
29420
|
}
|
|
29354
29421
|
const visibleIds = vue.inject(VTreeviewSymbol, {
|
|
29355
29422
|
visibleIds: vue.ref()
|
|
29356
29423
|
}).visibleIds;
|
|
29357
29424
|
useRender(() => {
|
|
29425
|
+
const hasTitle = slots.title || props.title != null;
|
|
29426
|
+
const hasSubtitle = slots.subtitle || props.subtitle != null;
|
|
29358
29427
|
const listItemProps = VListItem.filterProps(props);
|
|
29359
29428
|
const hasPrepend = slots.prepend || props.toggleIcon;
|
|
29360
|
-
return vue.createVNode(
|
|
29429
|
+
return isActivatableGroupActivator.value ? vue.withDirectives(vue.createVNode("div", {
|
|
29430
|
+
"class": ['v-list-item', 'v-list-item--one-line', 'v-treeview-item', 'v-treeview-item--activetable-group-activator', {
|
|
29431
|
+
'v-list-item--active': isActivated.value || isSelected.value,
|
|
29432
|
+
'v-treeview-item--filtered': visibleIds.value && !visibleIds.value.has(id.value)
|
|
29433
|
+
}, densityClasses.value, props.class],
|
|
29434
|
+
"onClick": activateItem
|
|
29435
|
+
}, [vue.createVNode(vue.Fragment, null, [genOverlays(isActivated.value || isSelected.value, 'v-list-item'), props.toggleIcon && vue.createVNode(VListItemAction, {
|
|
29436
|
+
"start": false
|
|
29437
|
+
}, {
|
|
29438
|
+
default: () => [vue.createVNode(VBtn, {
|
|
29439
|
+
"density": "compact",
|
|
29440
|
+
"icon": props.toggleIcon,
|
|
29441
|
+
"loading": props.loading,
|
|
29442
|
+
"variant": "text",
|
|
29443
|
+
"onClick": props.onClick
|
|
29444
|
+
}, {
|
|
29445
|
+
loader() {
|
|
29446
|
+
return vue.createVNode(VProgressCircular, {
|
|
29447
|
+
"indeterminate": "disable-shrink",
|
|
29448
|
+
"size": "20",
|
|
29449
|
+
"width": "2"
|
|
29450
|
+
}, null);
|
|
29451
|
+
}
|
|
29452
|
+
})]
|
|
29453
|
+
})]), vue.createVNode("div", {
|
|
29454
|
+
"class": "v-list-item__content",
|
|
29455
|
+
"data-no-activator": ""
|
|
29456
|
+
}, [hasTitle && vue.createVNode(VListItemTitle, {
|
|
29457
|
+
"key": "title"
|
|
29458
|
+
}, {
|
|
29459
|
+
default: () => [slots.title?.({
|
|
29460
|
+
title: props.title
|
|
29461
|
+
}) ?? props.title]
|
|
29462
|
+
}), hasSubtitle && vue.createVNode(VListItemSubtitle, {
|
|
29463
|
+
"key": "subtitle"
|
|
29464
|
+
}, {
|
|
29465
|
+
default: () => [slots.subtitle?.({
|
|
29466
|
+
subtitle: props.subtitle
|
|
29467
|
+
}) ?? props.subtitle]
|
|
29468
|
+
}), slots.default?.(slotProps.value)])]), [[vue.resolveDirective("ripple"), isClickable.value && props.ripple]]) : vue.createVNode(VListItem, vue.mergeProps({
|
|
29361
29469
|
"ref": vListItemRef
|
|
29362
29470
|
}, listItemProps, {
|
|
29363
29471
|
"class": ['v-treeview-item', {
|
|
29364
29472
|
'v-treeview-item--filtered': visibleIds.value && !visibleIds.value.has(id.value)
|
|
29365
29473
|
}, props.class],
|
|
29366
|
-
"
|
|
29474
|
+
"value": id.value,
|
|
29475
|
+
"onClick": activateItem,
|
|
29367
29476
|
"onKeydown": isClickable.value && onKeyDown
|
|
29368
29477
|
}), {
|
|
29369
29478
|
...slots,
|
|
@@ -29402,7 +29511,8 @@
|
|
|
29402
29511
|
default: '$loading'
|
|
29403
29512
|
},
|
|
29404
29513
|
items: Array,
|
|
29405
|
-
selectable: Boolean
|
|
29514
|
+
selectable: Boolean,
|
|
29515
|
+
selectStrategy: [String, Function, Object]
|
|
29406
29516
|
}, 'VTreeviewChildren');
|
|
29407
29517
|
const VTreeviewChildren = genericComponent()({
|
|
29408
29518
|
name: 'VTreeviewChildren',
|
|
@@ -29426,9 +29536,10 @@
|
|
|
29426
29536
|
isLoading.value = null;
|
|
29427
29537
|
});
|
|
29428
29538
|
}
|
|
29429
|
-
function
|
|
29430
|
-
|
|
29431
|
-
|
|
29539
|
+
function selectItem(select, isSelected) {
|
|
29540
|
+
if (props.selectable) {
|
|
29541
|
+
select(!isSelected);
|
|
29542
|
+
}
|
|
29432
29543
|
}
|
|
29433
29544
|
return () => slots.default?.() ?? props.items?.map(_ref2 => {
|
|
29434
29545
|
let {
|
|
@@ -29438,23 +29549,21 @@
|
|
|
29438
29549
|
} = _ref2;
|
|
29439
29550
|
const loading = isLoading.value === item.value;
|
|
29440
29551
|
const slotsWithItem = {
|
|
29441
|
-
prepend:
|
|
29552
|
+
prepend: slotProps => vue.createVNode(vue.Fragment, null, [props.selectable && (!children || children && !['leaf', 'single-leaf'].includes(props.selectStrategy)) && vue.createVNode("div", null, [vue.createVNode(VCheckboxBtn, {
|
|
29553
|
+
"key": item.value,
|
|
29554
|
+
"modelValue": slotProps.isSelected,
|
|
29555
|
+
"loading": loading,
|
|
29556
|
+
"indeterminate": slotProps.isIndeterminate,
|
|
29557
|
+
"onClick": vue.withModifiers(() => selectItem(slotProps.select, slotProps.isSelected), ['stop']),
|
|
29558
|
+
"onKeydown": e => {
|
|
29559
|
+
if (!['Enter', 'Space'].includes(e.key)) return;
|
|
29560
|
+
e.stopPropagation();
|
|
29561
|
+
selectItem(slotProps.select, slotProps.isSelected);
|
|
29562
|
+
}
|
|
29563
|
+
}, null)]), slots.prepend?.({
|
|
29442
29564
|
...slotProps,
|
|
29443
29565
|
item
|
|
29444
|
-
})
|
|
29445
|
-
let {
|
|
29446
|
-
isSelected,
|
|
29447
|
-
isIndeterminate
|
|
29448
|
-
} = _ref3;
|
|
29449
|
-
return vue.createVNode(VCheckboxBtn, {
|
|
29450
|
-
"key": item.value,
|
|
29451
|
-
"tabindex": "-1",
|
|
29452
|
-
"modelValue": isSelected,
|
|
29453
|
-
"loading": loading,
|
|
29454
|
-
"indeterminate": isIndeterminate,
|
|
29455
|
-
"onClick": e => onClick(e, item)
|
|
29456
|
-
}, null);
|
|
29457
|
-
} : undefined,
|
|
29566
|
+
})]),
|
|
29458
29567
|
append: slots.append ? slotProps => slots.append?.({
|
|
29459
29568
|
...slotProps,
|
|
29460
29569
|
item
|
|
@@ -29469,13 +29578,18 @@
|
|
|
29469
29578
|
return children ? vue.createVNode(VTreeviewGroup, vue.mergeProps({
|
|
29470
29579
|
"value": itemProps?.value
|
|
29471
29580
|
}, treeviewGroupProps), {
|
|
29472
|
-
activator:
|
|
29581
|
+
activator: _ref3 => {
|
|
29473
29582
|
let {
|
|
29474
29583
|
props: activatorProps
|
|
29475
|
-
} =
|
|
29476
|
-
|
|
29584
|
+
} = _ref3;
|
|
29585
|
+
const listItemProps = {
|
|
29586
|
+
...itemProps,
|
|
29587
|
+
...activatorProps,
|
|
29588
|
+
value: itemProps?.value
|
|
29589
|
+
};
|
|
29590
|
+
return vue.createVNode(VTreeviewItem, vue.mergeProps(listItemProps, {
|
|
29477
29591
|
"loading": loading,
|
|
29478
|
-
"onClick":
|
|
29592
|
+
"onClick": () => checkChildren(item)
|
|
29479
29593
|
}), slotsWithItem);
|
|
29480
29594
|
},
|
|
29481
29595
|
default: () => vue.createVNode(VTreeviewChildren, vue.mergeProps(treeviewChildrenProps, {
|
|
@@ -29506,7 +29620,7 @@
|
|
|
29506
29620
|
...omit(makeVListProps({
|
|
29507
29621
|
collapseIcon: '$treeviewCollapse',
|
|
29508
29622
|
expandIcon: '$treeviewExpand',
|
|
29509
|
-
selectStrategy: '
|
|
29623
|
+
selectStrategy: 'classic',
|
|
29510
29624
|
openStrategy: 'multiple',
|
|
29511
29625
|
slim: true
|
|
29512
29626
|
}), ['nav'])
|
|
@@ -30127,7 +30241,7 @@
|
|
|
30127
30241
|
goTo
|
|
30128
30242
|
};
|
|
30129
30243
|
}
|
|
30130
|
-
const version$1 = "3.6.
|
|
30244
|
+
const version$1 = "3.6.8";
|
|
30131
30245
|
createVuetify$1.version = version$1;
|
|
30132
30246
|
|
|
30133
30247
|
// Vue's inject() can only be used in setup
|
|
@@ -30380,7 +30494,7 @@
|
|
|
30380
30494
|
|
|
30381
30495
|
/* eslint-disable local-rules/sort-imports */
|
|
30382
30496
|
|
|
30383
|
-
const version = "3.6.
|
|
30497
|
+
const version = "3.6.8";
|
|
30384
30498
|
|
|
30385
30499
|
/* eslint-disable local-rules/sort-imports */
|
|
30386
30500
|
|