vuetify 3.6.7 → 3.6.9
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 +48 -16
- package/dist/json/importMap-labs.json +24 -24
- package/dist/json/importMap.json +132 -132
- package/dist/json/tags.json +8 -0
- package/dist/json/web-types.json +130 -59
- package/dist/vuetify-labs.css +2341 -2261
- package/dist/vuetify-labs.d.ts +715 -1581
- package/dist/vuetify-labs.esm.js +266 -141
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +265 -140
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +1610 -1530
- package/dist/vuetify.d.ts +605 -1317
- package/dist/vuetify.esm.js +144 -103
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +143 -102
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +335 -330
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/index.d.mts +58 -56
- package/lib/blueprints/md1.d.mts +58 -56
- package/lib/blueprints/md2.d.mts +58 -56
- package/lib/blueprints/md3.d.mts +58 -56
- package/lib/components/VAutocomplete/VAutocomplete.mjs +17 -14
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.mts +102 -336
- package/lib/components/VBanner/VBanner.css +1 -0
- package/lib/components/VBanner/VBanner.sass +1 -0
- package/lib/components/VBanner/_variables.scss +1 -0
- package/lib/components/VCombobox/VCombobox.mjs +7 -11
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- 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/VEmptyState/VEmptyState.css +2 -2
- package/lib/components/VEmptyState/VEmptyState.mjs +1 -1
- package/lib/components/VEmptyState/VEmptyState.mjs.map +1 -1
- package/lib/components/VEmptyState/_variables.scss +2 -2
- 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/VFab/VFab.mjs +4 -7
- package/lib/components/VFab/VFab.mjs.map +1 -1
- package/lib/components/VFab/index.d.mts +46 -49
- package/lib/components/VList/VList.mjs +4 -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 +54 -66
- package/lib/components/VMenu/VMenu.mjs +1 -1
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VOverlay/VOverlay.mjs +4 -3
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- 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 +417 -1128
- 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/composables/goto.mjs.map +1 -1
- package/lib/composables/icons.mjs.map +1 -1
- package/lib/composables/scroll.mjs +6 -0
- package/lib/composables/scroll.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +154 -155
- package/lib/labs/VNumberInput/VNumberInput.mjs +7 -1
- 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/VTimePicker/VTimePickerClock.mjs +3 -1
- package/lib/labs/VTimePicker/VTimePickerClock.mjs.map +1 -1
- package/lib/labs/VTimePicker/VTimePickerControls.mjs +7 -2
- package/lib/labs/VTimePicker/VTimePickerControls.mjs.map +1 -1
- package/lib/labs/VTreeview/VTreeview.mjs +4 -5
- 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 +116 -300
- package/lib/labs/components.d.mts +3408 -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.esm.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.6.
|
|
2
|
+
* Vuetify v3.6.9
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { shallowRef, Fragment, reactive, computed, watchEffect, toRefs, capitalize, isVNode, Comment, readonly, unref, warn, ref, provide, inject as inject$1, defineComponent as defineComponent$1, camelize, h,
|
|
7
|
+
import { shallowRef, Fragment, reactive, computed, watchEffect, toRefs, capitalize, isVNode, Comment, readonly, unref, warn, getCurrentInstance as getCurrentInstance$1, ref, provide, inject as inject$1, defineComponent as defineComponent$1, camelize, h, onBeforeUnmount, watch, nextTick, onDeactivated, onActivated, onScopeDispose, effectScope, toRaw, createVNode, Suspense, TransitionGroup, Transition, mergeProps, isRef, toRef, onBeforeMount, withDirectives, resolveDirective, vShow, onMounted, onUpdated, Text, resolveDynamicComponent, markRaw, Teleport, cloneVNode, createTextVNode, onUnmounted, onBeforeUpdate, withModifiers, toDisplayString, vModelText, resolveComponent, render } from 'vue';
|
|
8
8
|
|
|
9
9
|
// Types
|
|
10
10
|
// eslint-disable-line vue/prefer-import-from-vue
|
|
@@ -1257,6 +1257,53 @@ function getForeground(color) {
|
|
|
1257
1257
|
|
|
1258
1258
|
// Types
|
|
1259
1259
|
|
|
1260
|
+
function getCurrentInstance(name, message) {
|
|
1261
|
+
const vm = getCurrentInstance$1();
|
|
1262
|
+
if (!vm) {
|
|
1263
|
+
throw new Error(`[Vuetify] ${name} ${message || 'must be called from inside a setup function'}`);
|
|
1264
|
+
}
|
|
1265
|
+
return vm;
|
|
1266
|
+
}
|
|
1267
|
+
function getCurrentInstanceName() {
|
|
1268
|
+
let name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'composables';
|
|
1269
|
+
const vm = getCurrentInstance(name).type;
|
|
1270
|
+
return toKebabCase(vm?.aliasName || vm?.name);
|
|
1271
|
+
}
|
|
1272
|
+
let _uid = 0;
|
|
1273
|
+
let _map = new WeakMap();
|
|
1274
|
+
function getUid() {
|
|
1275
|
+
const vm = getCurrentInstance('getUid');
|
|
1276
|
+
if (_map.has(vm)) return _map.get(vm);else {
|
|
1277
|
+
const uid = _uid++;
|
|
1278
|
+
_map.set(vm, uid);
|
|
1279
|
+
return uid;
|
|
1280
|
+
}
|
|
1281
|
+
}
|
|
1282
|
+
getUid.reset = () => {
|
|
1283
|
+
_uid = 0;
|
|
1284
|
+
_map = new WeakMap();
|
|
1285
|
+
};
|
|
1286
|
+
|
|
1287
|
+
// Utilities
|
|
1288
|
+
|
|
1289
|
+
// Types
|
|
1290
|
+
|
|
1291
|
+
function injectSelf(key) {
|
|
1292
|
+
let vm = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstance('injectSelf');
|
|
1293
|
+
const {
|
|
1294
|
+
provides
|
|
1295
|
+
} = vm;
|
|
1296
|
+
if (provides && key in provides) {
|
|
1297
|
+
// TS doesn't allow symbol as index type
|
|
1298
|
+
return provides[key];
|
|
1299
|
+
}
|
|
1300
|
+
return undefined;
|
|
1301
|
+
}
|
|
1302
|
+
|
|
1303
|
+
// Utilities
|
|
1304
|
+
|
|
1305
|
+
// Types
|
|
1306
|
+
|
|
1260
1307
|
const DefaultsSymbol = Symbol.for('vuetify:defaults');
|
|
1261
1308
|
function createDefaults(options) {
|
|
1262
1309
|
return ref(options);
|
|
@@ -1482,37 +1529,6 @@ function getPrefixedEventHandlers(attrs, suffix, getData) {
|
|
|
1482
1529
|
}, {});
|
|
1483
1530
|
}
|
|
1484
1531
|
|
|
1485
|
-
// Utilities
|
|
1486
|
-
|
|
1487
|
-
// Types
|
|
1488
|
-
|
|
1489
|
-
function getCurrentInstance(name, message) {
|
|
1490
|
-
const vm = getCurrentInstance$1();
|
|
1491
|
-
if (!vm) {
|
|
1492
|
-
throw new Error(`[Vuetify] ${name} ${message || 'must be called from inside a setup function'}`);
|
|
1493
|
-
}
|
|
1494
|
-
return vm;
|
|
1495
|
-
}
|
|
1496
|
-
function getCurrentInstanceName() {
|
|
1497
|
-
let name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'composables';
|
|
1498
|
-
const vm = getCurrentInstance(name).type;
|
|
1499
|
-
return toKebabCase(vm?.aliasName || vm?.name);
|
|
1500
|
-
}
|
|
1501
|
-
let _uid = 0;
|
|
1502
|
-
let _map = new WeakMap();
|
|
1503
|
-
function getUid() {
|
|
1504
|
-
const vm = getCurrentInstance('getUid');
|
|
1505
|
-
if (_map.has(vm)) return _map.get(vm);else {
|
|
1506
|
-
const uid = _uid++;
|
|
1507
|
-
_map.set(vm, uid);
|
|
1508
|
-
return uid;
|
|
1509
|
-
}
|
|
1510
|
-
}
|
|
1511
|
-
getUid.reset = () => {
|
|
1512
|
-
_uid = 0;
|
|
1513
|
-
_map = new WeakMap();
|
|
1514
|
-
};
|
|
1515
|
-
|
|
1516
1532
|
function getScrollParent(el) {
|
|
1517
1533
|
let includeHidden = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
1518
1534
|
while (el) {
|
|
@@ -1542,22 +1558,6 @@ function isPotentiallyScrollable(el) {
|
|
|
1542
1558
|
return ['scroll', 'auto'].includes(style.overflowY);
|
|
1543
1559
|
}
|
|
1544
1560
|
|
|
1545
|
-
// Utilities
|
|
1546
|
-
|
|
1547
|
-
// Types
|
|
1548
|
-
|
|
1549
|
-
function injectSelf(key) {
|
|
1550
|
-
let vm = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstance('injectSelf');
|
|
1551
|
-
const {
|
|
1552
|
-
provides
|
|
1553
|
-
} = vm;
|
|
1554
|
-
if (provides && key in provides) {
|
|
1555
|
-
// TS doesn't allow symbol as index type
|
|
1556
|
-
return provides[key];
|
|
1557
|
-
}
|
|
1558
|
-
return undefined;
|
|
1559
|
-
}
|
|
1560
|
-
|
|
1561
1561
|
function isFixedPosition(el) {
|
|
1562
1562
|
while (el) {
|
|
1563
1563
|
if (window.getComputedStyle(el).position === 'fixed') {
|
|
@@ -3756,6 +3756,7 @@ function useScroll(props) {
|
|
|
3756
3756
|
canScroll
|
|
3757
3757
|
} = args;
|
|
3758
3758
|
let previousScroll = 0;
|
|
3759
|
+
let previousScrollHeight = 0;
|
|
3759
3760
|
const target = ref(null);
|
|
3760
3761
|
const currentScroll = shallowRef(0);
|
|
3761
3762
|
const savedScroll = shallowRef(0);
|
|
@@ -3778,6 +3779,11 @@ function useScroll(props) {
|
|
|
3778
3779
|
if (!targetEl || canScroll && !canScroll.value) return;
|
|
3779
3780
|
previousScroll = currentScroll.value;
|
|
3780
3781
|
currentScroll.value = 'window' in targetEl ? targetEl.pageYOffset : targetEl.scrollTop;
|
|
3782
|
+
const currentScrollHeight = targetEl instanceof Window ? document.documentElement.scrollHeight : targetEl.scrollHeight;
|
|
3783
|
+
if (previousScrollHeight !== currentScrollHeight) {
|
|
3784
|
+
previousScrollHeight = currentScrollHeight;
|
|
3785
|
+
return;
|
|
3786
|
+
}
|
|
3781
3787
|
isScrollingUp.value = currentScroll.value < previousScroll;
|
|
3782
3788
|
currentThreshold.value = Math.abs(currentScroll.value - scrollThreshold.value);
|
|
3783
3789
|
};
|
|
@@ -6249,7 +6255,15 @@ const VSelectionControl = genericComponent()({
|
|
|
6249
6255
|
e.stopPropagation();
|
|
6250
6256
|
}
|
|
6251
6257
|
function onInput(e) {
|
|
6252
|
-
if (!isInteractive.value)
|
|
6258
|
+
if (!isInteractive.value) {
|
|
6259
|
+
if (input.value) {
|
|
6260
|
+
// model value is not updated when input is not interactive
|
|
6261
|
+
// but the internal checked state of the input is still updated,
|
|
6262
|
+
// so here it's value is restored
|
|
6263
|
+
input.value.checked = model.value;
|
|
6264
|
+
}
|
|
6265
|
+
return;
|
|
6266
|
+
}
|
|
6253
6267
|
if (props.readonly && group) {
|
|
6254
6268
|
nextTick(() => group.forceUpdate());
|
|
6255
6269
|
}
|
|
@@ -8702,6 +8716,7 @@ const VListGroup = genericComponent()({
|
|
|
8702
8716
|
isBooted
|
|
8703
8717
|
} = useSsrBoot();
|
|
8704
8718
|
function onClick(e) {
|
|
8719
|
+
e.stopPropagation();
|
|
8705
8720
|
open(!isOpen.value, e);
|
|
8706
8721
|
}
|
|
8707
8722
|
const activatorProps = computed(() => ({
|
|
@@ -9035,6 +9050,8 @@ const VListItem = genericComponent()({
|
|
|
9035
9050
|
}), [[resolveDirective("ripple"), isClickable.value && props.ripple]]);
|
|
9036
9051
|
});
|
|
9037
9052
|
return {
|
|
9053
|
+
activate,
|
|
9054
|
+
isActivated,
|
|
9038
9055
|
isGroupActivator,
|
|
9039
9056
|
isSelected,
|
|
9040
9057
|
list,
|
|
@@ -9110,7 +9127,7 @@ const VDivider = genericComponent()({
|
|
|
9110
9127
|
const dividerStyles = computed(() => {
|
|
9111
9128
|
const styles = {};
|
|
9112
9129
|
if (props.length) {
|
|
9113
|
-
styles[props.vertical ? '
|
|
9130
|
+
styles[props.vertical ? 'height' : 'width'] = convertToUnit(props.length);
|
|
9114
9131
|
}
|
|
9115
9132
|
if (props.thickness) {
|
|
9116
9133
|
styles[props.vertical ? 'borderRightWidth' : 'borderTopWidth'] = convertToUnit(props.thickness);
|
|
@@ -9371,6 +9388,9 @@ const makeVListProps = propsFactory({
|
|
|
9371
9388
|
},
|
|
9372
9389
|
slim: Boolean,
|
|
9373
9390
|
nav: Boolean,
|
|
9391
|
+
'onClick:open': EventProp(),
|
|
9392
|
+
'onClick:select': EventProp(),
|
|
9393
|
+
'onUpdate:opened': EventProp(),
|
|
9374
9394
|
...makeNestedProps({
|
|
9375
9395
|
selectStrategy: 'single-leaf',
|
|
9376
9396
|
openStrategy: 'list'
|
|
@@ -10774,9 +10794,6 @@ const VOverlay = genericComponent()({
|
|
|
10774
10794
|
if (!(v && props.disabled)) model.value = v;
|
|
10775
10795
|
}
|
|
10776
10796
|
});
|
|
10777
|
-
const {
|
|
10778
|
-
teleportTarget
|
|
10779
|
-
} = useTeleport(computed(() => props.attach || props.contained));
|
|
10780
10797
|
const {
|
|
10781
10798
|
themeClasses
|
|
10782
10799
|
} = provideTheme(props);
|
|
@@ -10809,6 +10826,10 @@ const VOverlay = genericComponent()({
|
|
|
10809
10826
|
isActive,
|
|
10810
10827
|
isTop: localTop
|
|
10811
10828
|
});
|
|
10829
|
+
const potentialShadowDomRoot = computed(() => activatorEl?.value?.getRootNode());
|
|
10830
|
+
const {
|
|
10831
|
+
teleportTarget
|
|
10832
|
+
} = useTeleport(computed(() => props.attach || props.contained || potentialShadowDomRoot.value instanceof ShadowRoot ? potentialShadowDomRoot.value : false));
|
|
10812
10833
|
const {
|
|
10813
10834
|
dimensionStyles
|
|
10814
10835
|
} = useDimension(props);
|
|
@@ -11151,7 +11172,7 @@ const VMenu = genericComponent()({
|
|
|
11151
11172
|
function onKeydown(e) {
|
|
11152
11173
|
if (props.disabled) return;
|
|
11153
11174
|
if (e.key === 'Tab' || e.key === 'Enter' && !props.closeOnContentClick) {
|
|
11154
|
-
if (e.key === 'Enter' && e.target instanceof HTMLTextAreaElement) return;
|
|
11175
|
+
if (e.key === 'Enter' && (e.target instanceof HTMLTextAreaElement || e.target instanceof HTMLInputElement && !!e.target.closest('form'))) return;
|
|
11155
11176
|
if (e.key === 'Enter') e.preventDefault();
|
|
11156
11177
|
const nextElement = getNextElement(focusableChildren(overlay.value?.contentEl, false), e.shiftKey ? 'prev' : 'next', el => el.tabIndex >= 0);
|
|
11157
11178
|
if (!nextElement) {
|
|
@@ -12682,7 +12703,7 @@ function filterItems(items, query, options) {
|
|
|
12682
12703
|
const customMatches = {};
|
|
12683
12704
|
const defaultMatches = {};
|
|
12684
12705
|
let match = -1;
|
|
12685
|
-
if (query && !options?.noFilter) {
|
|
12706
|
+
if ((query || customFiltersLength > 0) && !options?.noFilter) {
|
|
12686
12707
|
if (typeof item === 'object') {
|
|
12687
12708
|
const filterKeys = keys || Object.keys(transformed);
|
|
12688
12709
|
for (const key of filterKeys) {
|
|
@@ -12895,7 +12916,12 @@ const VAutocomplete = genericComponent()({
|
|
|
12895
12916
|
if (['Escape'].includes(e.key)) {
|
|
12896
12917
|
menu.value = false;
|
|
12897
12918
|
}
|
|
12898
|
-
if (highlightFirst.value && e.key
|
|
12919
|
+
if (highlightFirst.value && ['Enter', 'Tab'].includes(e.key) && !model.value.some(_ref2 => {
|
|
12920
|
+
let {
|
|
12921
|
+
value
|
|
12922
|
+
} = _ref2;
|
|
12923
|
+
return value === displayItems.value[0].value;
|
|
12924
|
+
})) {
|
|
12899
12925
|
select(displayItems.value[0]);
|
|
12900
12926
|
}
|
|
12901
12927
|
if (e.key === 'ArrowDown' && highlightFirst.value) {
|
|
@@ -12998,16 +13024,14 @@ const VAutocomplete = genericComponent()({
|
|
|
12998
13024
|
isPristine.value = true;
|
|
12999
13025
|
nextTick(() => isSelecting.value = false);
|
|
13000
13026
|
} else {
|
|
13001
|
-
if (!props.multiple && search.value == null) model.value = [];
|
|
13002
|
-
let {
|
|
13003
|
-
value
|
|
13004
|
-
} = _ref2;
|
|
13005
|
-
return value === displayItems.value[0].value;
|
|
13006
|
-
})) {
|
|
13007
|
-
select(displayItems.value[0]);
|
|
13008
|
-
}
|
|
13027
|
+
if (!props.multiple && search.value == null) model.value = [];
|
|
13009
13028
|
menu.value = false;
|
|
13010
|
-
if (
|
|
13029
|
+
if (!model.value.some(_ref3 => {
|
|
13030
|
+
let {
|
|
13031
|
+
title
|
|
13032
|
+
} = _ref3;
|
|
13033
|
+
return title === search.value;
|
|
13034
|
+
})) search.value = '';
|
|
13011
13035
|
selectionIndex.value = -1;
|
|
13012
13036
|
}
|
|
13013
13037
|
});
|
|
@@ -13093,12 +13117,12 @@ const VAutocomplete = genericComponent()({
|
|
|
13093
13117
|
"renderless": true,
|
|
13094
13118
|
"items": displayItems.value
|
|
13095
13119
|
}, {
|
|
13096
|
-
default:
|
|
13120
|
+
default: _ref4 => {
|
|
13097
13121
|
let {
|
|
13098
13122
|
item,
|
|
13099
13123
|
index,
|
|
13100
13124
|
itemRef
|
|
13101
|
-
} =
|
|
13125
|
+
} = _ref4;
|
|
13102
13126
|
const itemProps = mergeProps(item.props, {
|
|
13103
13127
|
ref: itemRef,
|
|
13104
13128
|
key: index,
|
|
@@ -13112,10 +13136,10 @@ const VAutocomplete = genericComponent()({
|
|
|
13112
13136
|
}) ?? createVNode(VListItem, mergeProps(itemProps, {
|
|
13113
13137
|
"role": "option"
|
|
13114
13138
|
}), {
|
|
13115
|
-
prepend:
|
|
13139
|
+
prepend: _ref5 => {
|
|
13116
13140
|
let {
|
|
13117
13141
|
isSelected
|
|
13118
|
-
} =
|
|
13142
|
+
} = _ref5;
|
|
13119
13143
|
return createVNode(Fragment, null, [props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
|
|
13120
13144
|
"key": item.value,
|
|
13121
13145
|
"modelValue": isSelected,
|
|
@@ -15523,6 +15547,7 @@ const makeVSliderThumbProps = propsFactory({
|
|
|
15523
15547
|
type: [Boolean, Object],
|
|
15524
15548
|
default: true
|
|
15525
15549
|
},
|
|
15550
|
+
name: String,
|
|
15526
15551
|
...makeComponentProps()
|
|
15527
15552
|
}, 'VSliderThumb');
|
|
15528
15553
|
const VSliderThumb = genericComponent()({
|
|
@@ -15619,6 +15644,7 @@ const VSliderThumb = genericComponent()({
|
|
|
15619
15644
|
}, props.style],
|
|
15620
15645
|
"role": "slider",
|
|
15621
15646
|
"tabindex": disabled.value ? -1 : 0,
|
|
15647
|
+
"aria-label": props.name,
|
|
15622
15648
|
"aria-valuemin": props.min,
|
|
15623
15649
|
"aria-valuemax": props.max,
|
|
15624
15650
|
"aria-valuenow": props.modelValue,
|
|
@@ -15895,7 +15921,8 @@ const VSlider = genericComponent()({
|
|
|
15895
15921
|
"elevation": props.elevation,
|
|
15896
15922
|
"onFocus": focus,
|
|
15897
15923
|
"onBlur": blur,
|
|
15898
|
-
"ripple": props.ripple
|
|
15924
|
+
"ripple": props.ripple,
|
|
15925
|
+
"name": props.name
|
|
15899
15926
|
}, {
|
|
15900
15927
|
'thumb-label': slots['thumb-label']
|
|
15901
15928
|
})]);
|
|
@@ -16762,8 +16789,13 @@ const VCombobox = genericComponent()({
|
|
|
16762
16789
|
if (['Escape'].includes(e.key)) {
|
|
16763
16790
|
menu.value = false;
|
|
16764
16791
|
}
|
|
16765
|
-
if (['Enter', 'Escape'].includes(e.key)) {
|
|
16766
|
-
if (highlightFirst.value && e.key
|
|
16792
|
+
if (['Enter', 'Escape', 'Tab'].includes(e.key)) {
|
|
16793
|
+
if (highlightFirst.value && ['Enter', 'Tab'].includes(e.key) && !model.value.some(_ref2 => {
|
|
16794
|
+
let {
|
|
16795
|
+
value
|
|
16796
|
+
} = _ref2;
|
|
16797
|
+
return value === displayItems.value[0].value;
|
|
16798
|
+
})) {
|
|
16767
16799
|
select(filteredItems.value[0]);
|
|
16768
16800
|
}
|
|
16769
16801
|
isPristine.value = true;
|
|
@@ -16858,15 +16890,6 @@ const VCombobox = genericComponent()({
|
|
|
16858
16890
|
if (val || val === oldVal) return;
|
|
16859
16891
|
selectionIndex.value = -1;
|
|
16860
16892
|
menu.value = false;
|
|
16861
|
-
if (highlightFirst.value && !listHasFocus.value && !model.value.some(_ref2 => {
|
|
16862
|
-
let {
|
|
16863
|
-
value
|
|
16864
|
-
} = _ref2;
|
|
16865
|
-
return value === displayItems.value[0].value;
|
|
16866
|
-
})) {
|
|
16867
|
-
select(displayItems.value[0]);
|
|
16868
|
-
return;
|
|
16869
|
-
}
|
|
16870
16893
|
if (search.value) {
|
|
16871
16894
|
if (props.multiple) {
|
|
16872
16895
|
select(transformItem$3(props, search.value));
|
|
@@ -21520,6 +21543,9 @@ const VDatePickerMonth = genericComponent()({
|
|
|
21520
21543
|
});
|
|
21521
21544
|
function onRangeClick(value) {
|
|
21522
21545
|
const _value = adapter.startOfDay(value);
|
|
21546
|
+
if (model.value.length === 0) {
|
|
21547
|
+
rangeStart.value = undefined;
|
|
21548
|
+
}
|
|
21523
21549
|
if (!rangeStart.value) {
|
|
21524
21550
|
rangeStart.value = _value;
|
|
21525
21551
|
model.value = [rangeStart.value];
|
|
@@ -22227,7 +22253,7 @@ const VEmptyState = genericComponent()({
|
|
|
22227
22253
|
"defaults": {
|
|
22228
22254
|
VBtn: {
|
|
22229
22255
|
class: 'v-empty-state__action-btn',
|
|
22230
|
-
color: props.color,
|
|
22256
|
+
color: props.color ?? 'surface-variant',
|
|
22231
22257
|
text: props.actionText
|
|
22232
22258
|
}
|
|
22233
22259
|
}
|
|
@@ -22245,6 +22271,10 @@ const VEmptyState = genericComponent()({
|
|
|
22245
22271
|
}
|
|
22246
22272
|
});
|
|
22247
22273
|
|
|
22274
|
+
// Types
|
|
22275
|
+
|
|
22276
|
+
const VExpansionPanelSymbol = Symbol.for('vuetify:v-expansion-panel');
|
|
22277
|
+
|
|
22248
22278
|
const makeVExpansionPanelTextProps = propsFactory({
|
|
22249
22279
|
...makeComponentProps(),
|
|
22250
22280
|
...makeLazyProps()
|
|
@@ -22425,7 +22455,6 @@ const VExpansionPanel = genericComponent()({
|
|
|
22425
22455
|
|
|
22426
22456
|
// Types
|
|
22427
22457
|
|
|
22428
|
-
const VExpansionPanelSymbol = Symbol.for('vuetify:v-expansion-panel');
|
|
22429
22458
|
const allowedVariants = ['default', 'accordion', 'inset', 'popout'];
|
|
22430
22459
|
const makeVExpansionPanelsProps = propsFactory({
|
|
22431
22460
|
flat: Boolean,
|
|
@@ -22491,15 +22520,13 @@ const VExpansionPanels = genericComponent()({
|
|
|
22491
22520
|
}
|
|
22492
22521
|
});
|
|
22493
22522
|
|
|
22523
|
+
// Types
|
|
22524
|
+
|
|
22494
22525
|
const makeVFabProps = propsFactory({
|
|
22495
22526
|
app: Boolean,
|
|
22496
22527
|
appear: Boolean,
|
|
22497
22528
|
extended: Boolean,
|
|
22498
22529
|
layout: Boolean,
|
|
22499
|
-
location: {
|
|
22500
|
-
type: String,
|
|
22501
|
-
default: 'bottom end'
|
|
22502
|
-
},
|
|
22503
22530
|
offset: Boolean,
|
|
22504
22531
|
modelValue: {
|
|
22505
22532
|
type: Boolean,
|
|
@@ -22509,6 +22536,7 @@ const makeVFabProps = propsFactory({
|
|
|
22509
22536
|
active: true
|
|
22510
22537
|
}), ['location']),
|
|
22511
22538
|
...makeLayoutItemProps(),
|
|
22539
|
+
...makeLocationProps(),
|
|
22512
22540
|
...makeTransitionProps({
|
|
22513
22541
|
transition: 'fab-transition'
|
|
22514
22542
|
})
|
|
@@ -22535,11 +22563,11 @@ const VFab = genericComponent()({
|
|
|
22535
22563
|
const hasPosition = computed(() => props.app || props.absolute);
|
|
22536
22564
|
const position = computed(() => {
|
|
22537
22565
|
if (!hasPosition.value) return false;
|
|
22538
|
-
return props.location
|
|
22566
|
+
return props.location?.split(' ').shift() ?? 'bottom';
|
|
22539
22567
|
});
|
|
22540
22568
|
const orientation = computed(() => {
|
|
22541
22569
|
if (!hasPosition.value) return false;
|
|
22542
|
-
return props.location
|
|
22570
|
+
return props.location?.split(' ')[1] ?? 'end';
|
|
22543
22571
|
});
|
|
22544
22572
|
useToggleScope(() => props.app, () => {
|
|
22545
22573
|
const layout = useLayoutItem({
|
|
@@ -25769,6 +25797,10 @@ const VSpeedDial = genericComponent()({
|
|
|
25769
25797
|
|
|
25770
25798
|
// Types
|
|
25771
25799
|
|
|
25800
|
+
const VStepperSymbol = Symbol.for('vuetify:v-stepper');
|
|
25801
|
+
|
|
25802
|
+
// Types
|
|
25803
|
+
|
|
25772
25804
|
const makeVStepperActionsProps = propsFactory({
|
|
25773
25805
|
color: String,
|
|
25774
25806
|
disabled: {
|
|
@@ -25956,9 +25988,6 @@ const VStepperItem = genericComponent()({
|
|
|
25956
25988
|
}
|
|
25957
25989
|
});
|
|
25958
25990
|
|
|
25959
|
-
// Types
|
|
25960
|
-
|
|
25961
|
-
const VStepperSymbol$1 = Symbol.for('vuetify:v-stepper');
|
|
25962
25991
|
const makeVStepperWindowProps = propsFactory({
|
|
25963
25992
|
...omit(makeVWindowProps(), ['continuous', 'nextIcon', 'prevIcon', 'showArrows', 'touch', 'mandatory'])
|
|
25964
25993
|
}, 'VStepperWindow');
|
|
@@ -25972,7 +26001,7 @@ const VStepperWindow = genericComponent()({
|
|
|
25972
26001
|
let {
|
|
25973
26002
|
slots
|
|
25974
26003
|
} = _ref;
|
|
25975
|
-
const group = inject$1(VStepperSymbol
|
|
26004
|
+
const group = inject$1(VStepperSymbol, null);
|
|
25976
26005
|
const _model = useProxiedModel(props, 'modelValue');
|
|
25977
26006
|
const model = computed({
|
|
25978
26007
|
get() {
|
|
@@ -26030,11 +26059,13 @@ const VStepperWindowItem = genericComponent()({
|
|
|
26030
26059
|
|
|
26031
26060
|
// Types
|
|
26032
26061
|
|
|
26033
|
-
const VStepperSymbol = Symbol.for('vuetify:v-stepper');
|
|
26034
26062
|
const makeStepperProps = propsFactory({
|
|
26035
26063
|
altLabels: Boolean,
|
|
26036
26064
|
bgColor: String,
|
|
26065
|
+
completeIcon: String,
|
|
26066
|
+
editIcon: String,
|
|
26037
26067
|
editable: Boolean,
|
|
26068
|
+
errorIcon: String,
|
|
26038
26069
|
hideActions: Boolean,
|
|
26039
26070
|
items: {
|
|
26040
26071
|
type: Array,
|
|
@@ -26048,9 +26079,9 @@ const makeStepperProps = propsFactory({
|
|
|
26048
26079
|
type: String,
|
|
26049
26080
|
default: 'value'
|
|
26050
26081
|
},
|
|
26051
|
-
mobile: Boolean,
|
|
26052
26082
|
nonLinear: Boolean,
|
|
26053
|
-
flat: Boolean
|
|
26083
|
+
flat: Boolean,
|
|
26084
|
+
...makeDisplayProps()
|
|
26054
26085
|
}, 'Stepper');
|
|
26055
26086
|
const makeVStepperProps = propsFactory({
|
|
26056
26087
|
...makeStepperProps(),
|
|
@@ -26078,6 +26109,13 @@ const VStepper = genericComponent()({
|
|
|
26078
26109
|
selected
|
|
26079
26110
|
} = useGroup(props, VStepperSymbol);
|
|
26080
26111
|
const {
|
|
26112
|
+
displayClasses,
|
|
26113
|
+
mobile
|
|
26114
|
+
} = useDisplay(props);
|
|
26115
|
+
const {
|
|
26116
|
+
completeIcon,
|
|
26117
|
+
editIcon,
|
|
26118
|
+
errorIcon,
|
|
26081
26119
|
color,
|
|
26082
26120
|
editable,
|
|
26083
26121
|
prevText,
|
|
@@ -26104,6 +26142,9 @@ const VStepper = genericComponent()({
|
|
|
26104
26142
|
provideDefaults({
|
|
26105
26143
|
VStepperItem: {
|
|
26106
26144
|
editable,
|
|
26145
|
+
errorIcon,
|
|
26146
|
+
completeIcon,
|
|
26147
|
+
editIcon,
|
|
26107
26148
|
prevText,
|
|
26108
26149
|
nextText
|
|
26109
26150
|
},
|
|
@@ -26125,8 +26166,8 @@ const VStepper = genericComponent()({
|
|
|
26125
26166
|
'v-stepper--alt-labels': props.altLabels,
|
|
26126
26167
|
'v-stepper--flat': props.flat,
|
|
26127
26168
|
'v-stepper--non-linear': props.nonLinear,
|
|
26128
|
-
'v-stepper--mobile':
|
|
26129
|
-
}, props.class],
|
|
26169
|
+
'v-stepper--mobile': mobile.value
|
|
26170
|
+
}, displayClasses.value, props.class],
|
|
26130
26171
|
"style": props.style
|
|
26131
26172
|
}), {
|
|
26132
26173
|
default: () => [hasHeader && createVNode(VStepperHeader, {
|
|
@@ -26656,9 +26697,9 @@ const VTabs = genericComponent()({
|
|
|
26656
26697
|
"key": item.text,
|
|
26657
26698
|
"value": item.value
|
|
26658
26699
|
}), {
|
|
26659
|
-
default: () => slots[`tab.${item.value}`]?.({
|
|
26700
|
+
default: slots[`tab.${item.value}`] ? () => slots[`tab.${item.value}`]?.({
|
|
26660
26701
|
item
|
|
26661
|
-
})
|
|
26702
|
+
}) : undefined
|
|
26662
26703
|
}))]
|
|
26663
26704
|
}), hasWindow && createVNode(VTabsWindow, mergeProps({
|
|
26664
26705
|
"modelValue": model.value,
|
|
@@ -27953,7 +27994,6 @@ const makeVNumberInputProps = propsFactory({
|
|
|
27953
27994
|
}, 'VNumberInput');
|
|
27954
27995
|
const VNumberInput = genericComponent()({
|
|
27955
27996
|
name: 'VNumberInput',
|
|
27956
|
-
inheritAttrs: false,
|
|
27957
27997
|
props: {
|
|
27958
27998
|
...makeVNumberInputProps()
|
|
27959
27999
|
},
|
|
@@ -27969,15 +28009,20 @@ const VNumberInput = genericComponent()({
|
|
|
27969
28009
|
const model = useProxiedModel(props, 'modelValue');
|
|
27970
28010
|
const stepDecimals = computed(() => getDecimals(props.step));
|
|
27971
28011
|
const modelDecimals = computed(() => model.value != null ? getDecimals(model.value) : 0);
|
|
28012
|
+
const form = useForm();
|
|
28013
|
+
const controlsDisabled = computed(() => props.disabled || props.readonly || form?.isReadonly.value);
|
|
27972
28014
|
const canIncrease = computed(() => {
|
|
28015
|
+
if (controlsDisabled.value) return false;
|
|
27973
28016
|
if (model.value == null) return true;
|
|
27974
28017
|
return model.value + props.step <= props.max;
|
|
27975
28018
|
});
|
|
27976
28019
|
const canDecrease = computed(() => {
|
|
28020
|
+
if (controlsDisabled.value) return false;
|
|
27977
28021
|
if (model.value == null) return true;
|
|
27978
28022
|
return model.value - props.step >= props.min;
|
|
27979
28023
|
});
|
|
27980
28024
|
watchEffect(() => {
|
|
28025
|
+
if (controlsDisabled.value) return;
|
|
27981
28026
|
if (model.value != null && (model.value < props.min || model.value > props.max)) {
|
|
27982
28027
|
model.value = clamp(model.value, props.min, props.max);
|
|
27983
28028
|
}
|
|
@@ -27993,6 +28038,7 @@ const VNumberInput = genericComponent()({
|
|
|
27993
28038
|
}));
|
|
27994
28039
|
function toggleUpDown() {
|
|
27995
28040
|
let increment = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
28041
|
+
if (controlsDisabled.value) return;
|
|
27996
28042
|
if (model.value == null) {
|
|
27997
28043
|
model.value = 0;
|
|
27998
28044
|
return;
|
|
@@ -28721,6 +28767,7 @@ const VTimePickerClock = genericComponent()({
|
|
|
28721
28767
|
return !props.allowedValues || props.allowedValues(value);
|
|
28722
28768
|
}
|
|
28723
28769
|
function wheel(e) {
|
|
28770
|
+
if (!props.scrollable || props.disabled) return;
|
|
28724
28771
|
e.preventDefault();
|
|
28725
28772
|
const delta = Math.sign(-e.deltaY || 1);
|
|
28726
28773
|
let value = displayedValue.value;
|
|
@@ -28815,6 +28862,7 @@ const VTimePickerClock = genericComponent()({
|
|
|
28815
28862
|
}
|
|
28816
28863
|
}
|
|
28817
28864
|
function onMouseDown(e) {
|
|
28865
|
+
if (props.disabled) return;
|
|
28818
28866
|
e.preventDefault();
|
|
28819
28867
|
window.addEventListener('mousemove', onDragMove);
|
|
28820
28868
|
window.addEventListener('touchmove', onDragMove);
|
|
@@ -28845,7 +28893,7 @@ const VTimePickerClock = genericComponent()({
|
|
|
28845
28893
|
}],
|
|
28846
28894
|
"onMousedown": onMouseDown,
|
|
28847
28895
|
"onTouchstart": onMouseDown,
|
|
28848
|
-
"onWheel":
|
|
28896
|
+
"onWheel": wheel,
|
|
28849
28897
|
"ref": clockRef
|
|
28850
28898
|
}, [createVNode("div", {
|
|
28851
28899
|
"class": "v-time-picker-clock__inner",
|
|
@@ -28947,6 +28995,7 @@ const VTimePickerControls = genericComponent()({
|
|
|
28947
28995
|
}, [createVNode(VBtn, {
|
|
28948
28996
|
"active": props.selecting === 1,
|
|
28949
28997
|
"color": props.selecting === 1 ? props.color : undefined,
|
|
28998
|
+
"disabled": props.disabled,
|
|
28950
28999
|
"variant": "tonal",
|
|
28951
29000
|
"class": {
|
|
28952
29001
|
'v-time-picker-controls__time__btn': true,
|
|
@@ -28968,6 +29017,7 @@ const VTimePickerControls = genericComponent()({
|
|
|
28968
29017
|
'v-time-picker-controls__time--with-ampm__btn': props.ampm,
|
|
28969
29018
|
'v-time-picker-controls__time--with-seconds__btn': props.useSeconds
|
|
28970
29019
|
},
|
|
29020
|
+
"disabled": props.disabled,
|
|
28971
29021
|
"variant": "tonal",
|
|
28972
29022
|
"text": props.minute == null ? '--' : pad(props.minute),
|
|
28973
29023
|
"onClick": () => emit('update:selecting', SelectingTimes.Minute)
|
|
@@ -28985,6 +29035,7 @@ const VTimePickerControls = genericComponent()({
|
|
|
28985
29035
|
'v-time-picker-controls__time__btn__active': props.selecting === 3,
|
|
28986
29036
|
'v-time-picker-controls__time--with-seconds__btn': props.useSeconds
|
|
28987
29037
|
},
|
|
29038
|
+
"disabled": props.disabled,
|
|
28988
29039
|
"text": props.second == null ? '--' : pad(props.second)
|
|
28989
29040
|
}, null), props.ampm && createVNode("div", {
|
|
28990
29041
|
"class": ['v-time-picker-controls__ampm', {
|
|
@@ -28998,8 +29049,9 @@ const VTimePickerControls = genericComponent()({
|
|
|
28998
29049
|
'v-time-picker-controls__ampm__btn': true,
|
|
28999
29050
|
'v-time-picker-controls__ampm__btn__active': props.period === 'am'
|
|
29000
29051
|
},
|
|
29052
|
+
"disabled": props.disabled,
|
|
29001
29053
|
"text": t('$vuetify.timePicker.am'),
|
|
29002
|
-
"variant":
|
|
29054
|
+
"variant": props.disabled && props.period === 'am' ? 'elevated' : 'tonal',
|
|
29003
29055
|
"onClick": () => props.period !== 'am' ? emit('update:period', 'am') : null
|
|
29004
29056
|
}, null), createVNode(VBtn, {
|
|
29005
29057
|
"active": props.period === 'pm',
|
|
@@ -29009,8 +29061,9 @@ const VTimePickerControls = genericComponent()({
|
|
|
29009
29061
|
'v-time-picker-controls__ampm__btn': true,
|
|
29010
29062
|
'v-time-picker-controls__ampm__btn__active': props.period === 'pm'
|
|
29011
29063
|
},
|
|
29064
|
+
"disabled": props.disabled,
|
|
29012
29065
|
"text": t('$vuetify.timePicker.pm'),
|
|
29013
|
-
"variant":
|
|
29066
|
+
"variant": props.disabled && props.period === 'pm' ? 'elevated' : 'tonal',
|
|
29014
29067
|
"onClick": () => props.period !== 'pm' ? emit('update:period', 'pm') : null
|
|
29015
29068
|
}, null)])])]);
|
|
29016
29069
|
});
|
|
@@ -29334,32 +29387,100 @@ const VTreeviewItem = genericComponent()({
|
|
|
29334
29387
|
emit
|
|
29335
29388
|
} = _ref;
|
|
29336
29389
|
const link = useLink(props, attrs);
|
|
29337
|
-
const
|
|
29390
|
+
const rawId = computed(() => props.value === undefined ? link.href.value : props.value);
|
|
29338
29391
|
const vListItemRef = ref();
|
|
29392
|
+
const {
|
|
29393
|
+
activate,
|
|
29394
|
+
isActivated,
|
|
29395
|
+
select,
|
|
29396
|
+
isSelected,
|
|
29397
|
+
isIndeterminate,
|
|
29398
|
+
isGroupActivator,
|
|
29399
|
+
root,
|
|
29400
|
+
id
|
|
29401
|
+
} = useNestedItem(rawId, false);
|
|
29402
|
+
const isActivatableGroupActivator = computed(() => root.activatable.value && isGroupActivator);
|
|
29403
|
+
const {
|
|
29404
|
+
densityClasses
|
|
29405
|
+
} = useDensity(props, 'v-list-item');
|
|
29406
|
+
const slotProps = computed(() => ({
|
|
29407
|
+
isActive: isActivated.value,
|
|
29408
|
+
select,
|
|
29409
|
+
isSelected: isSelected.value,
|
|
29410
|
+
isIndeterminate: isIndeterminate.value
|
|
29411
|
+
}));
|
|
29339
29412
|
const isClickable = computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value || props.value != null && !!vListItemRef.value?.list));
|
|
29340
|
-
function
|
|
29341
|
-
if (!
|
|
29342
|
-
|
|
29413
|
+
function activateItem(e) {
|
|
29414
|
+
if (!isClickable.value || !isActivatableGroupActivator.value && isGroupActivator) return;
|
|
29415
|
+
if (root.activatable.value) {
|
|
29416
|
+
if (isActivatableGroupActivator.value) {
|
|
29417
|
+
activate(!isActivated.value, e);
|
|
29418
|
+
} else {
|
|
29419
|
+
vListItemRef.value?.activate(!vListItemRef.value?.isActivated, e);
|
|
29420
|
+
}
|
|
29421
|
+
}
|
|
29343
29422
|
}
|
|
29344
29423
|
function onKeyDown(e) {
|
|
29345
29424
|
if (e.key === 'Enter' || e.key === ' ') {
|
|
29346
29425
|
e.preventDefault();
|
|
29347
|
-
|
|
29426
|
+
activateItem(e);
|
|
29348
29427
|
}
|
|
29349
29428
|
}
|
|
29350
29429
|
const visibleIds = inject$1(VTreeviewSymbol, {
|
|
29351
29430
|
visibleIds: ref()
|
|
29352
29431
|
}).visibleIds;
|
|
29353
29432
|
useRender(() => {
|
|
29433
|
+
const hasTitle = slots.title || props.title != null;
|
|
29434
|
+
const hasSubtitle = slots.subtitle || props.subtitle != null;
|
|
29354
29435
|
const listItemProps = VListItem.filterProps(props);
|
|
29355
29436
|
const hasPrepend = slots.prepend || props.toggleIcon;
|
|
29356
|
-
return createVNode(
|
|
29437
|
+
return isActivatableGroupActivator.value ? withDirectives(createVNode("div", {
|
|
29438
|
+
"class": ['v-list-item', 'v-list-item--one-line', 'v-treeview-item', 'v-treeview-item--activetable-group-activator', {
|
|
29439
|
+
'v-list-item--active': isActivated.value || isSelected.value,
|
|
29440
|
+
'v-treeview-item--filtered': visibleIds.value && !visibleIds.value.has(id.value)
|
|
29441
|
+
}, densityClasses.value, props.class],
|
|
29442
|
+
"onClick": activateItem
|
|
29443
|
+
}, [createVNode(Fragment, null, [genOverlays(isActivated.value || isSelected.value, 'v-list-item'), props.toggleIcon && createVNode(VListItemAction, {
|
|
29444
|
+
"start": false
|
|
29445
|
+
}, {
|
|
29446
|
+
default: () => [createVNode(VBtn, {
|
|
29447
|
+
"density": "compact",
|
|
29448
|
+
"icon": props.toggleIcon,
|
|
29449
|
+
"loading": props.loading,
|
|
29450
|
+
"variant": "text",
|
|
29451
|
+
"onClick": props.onClick
|
|
29452
|
+
}, {
|
|
29453
|
+
loader() {
|
|
29454
|
+
return createVNode(VProgressCircular, {
|
|
29455
|
+
"indeterminate": "disable-shrink",
|
|
29456
|
+
"size": "20",
|
|
29457
|
+
"width": "2"
|
|
29458
|
+
}, null);
|
|
29459
|
+
}
|
|
29460
|
+
})]
|
|
29461
|
+
})]), createVNode("div", {
|
|
29462
|
+
"class": "v-list-item__content",
|
|
29463
|
+
"data-no-activator": ""
|
|
29464
|
+
}, [hasTitle && createVNode(VListItemTitle, {
|
|
29465
|
+
"key": "title"
|
|
29466
|
+
}, {
|
|
29467
|
+
default: () => [slots.title?.({
|
|
29468
|
+
title: props.title
|
|
29469
|
+
}) ?? props.title]
|
|
29470
|
+
}), hasSubtitle && createVNode(VListItemSubtitle, {
|
|
29471
|
+
"key": "subtitle"
|
|
29472
|
+
}, {
|
|
29473
|
+
default: () => [slots.subtitle?.({
|
|
29474
|
+
subtitle: props.subtitle
|
|
29475
|
+
}) ?? props.subtitle]
|
|
29476
|
+
}), slots.default?.(slotProps.value)])]), [[resolveDirective("ripple"), isClickable.value && props.ripple]]) : createVNode(VListItem, mergeProps({
|
|
29357
29477
|
"ref": vListItemRef
|
|
29358
29478
|
}, listItemProps, {
|
|
29359
29479
|
"class": ['v-treeview-item', {
|
|
29360
29480
|
'v-treeview-item--filtered': visibleIds.value && !visibleIds.value.has(id.value)
|
|
29361
29481
|
}, props.class],
|
|
29362
|
-
"
|
|
29482
|
+
"value": id.value,
|
|
29483
|
+
"onClick": activateItem,
|
|
29363
29484
|
"onKeydown": isClickable.value && onKeyDown
|
|
29364
29485
|
}), {
|
|
29365
29486
|
...slots,
|
|
@@ -29398,7 +29519,8 @@ const makeVTreeviewChildrenProps = propsFactory({
|
|
|
29398
29519
|
default: '$loading'
|
|
29399
29520
|
},
|
|
29400
29521
|
items: Array,
|
|
29401
|
-
selectable: Boolean
|
|
29522
|
+
selectable: Boolean,
|
|
29523
|
+
selectStrategy: [String, Function, Object]
|
|
29402
29524
|
}, 'VTreeviewChildren');
|
|
29403
29525
|
const VTreeviewChildren = genericComponent()({
|
|
29404
29526
|
name: 'VTreeviewChildren',
|
|
@@ -29422,9 +29544,10 @@ const VTreeviewChildren = genericComponent()({
|
|
|
29422
29544
|
isLoading.value = null;
|
|
29423
29545
|
});
|
|
29424
29546
|
}
|
|
29425
|
-
function
|
|
29426
|
-
|
|
29427
|
-
|
|
29547
|
+
function selectItem(select, isSelected) {
|
|
29548
|
+
if (props.selectable) {
|
|
29549
|
+
select(!isSelected);
|
|
29550
|
+
}
|
|
29428
29551
|
}
|
|
29429
29552
|
return () => slots.default?.() ?? props.items?.map(_ref2 => {
|
|
29430
29553
|
let {
|
|
@@ -29434,23 +29557,21 @@ const VTreeviewChildren = genericComponent()({
|
|
|
29434
29557
|
} = _ref2;
|
|
29435
29558
|
const loading = isLoading.value === item.value;
|
|
29436
29559
|
const slotsWithItem = {
|
|
29437
|
-
prepend:
|
|
29560
|
+
prepend: slotProps => createVNode(Fragment, null, [props.selectable && (!children || children && !['leaf', 'single-leaf'].includes(props.selectStrategy)) && createVNode("div", null, [createVNode(VCheckboxBtn, {
|
|
29561
|
+
"key": item.value,
|
|
29562
|
+
"modelValue": slotProps.isSelected,
|
|
29563
|
+
"loading": loading,
|
|
29564
|
+
"indeterminate": slotProps.isIndeterminate,
|
|
29565
|
+
"onClick": withModifiers(() => selectItem(slotProps.select, slotProps.isSelected), ['stop']),
|
|
29566
|
+
"onKeydown": e => {
|
|
29567
|
+
if (!['Enter', 'Space'].includes(e.key)) return;
|
|
29568
|
+
e.stopPropagation();
|
|
29569
|
+
selectItem(slotProps.select, slotProps.isSelected);
|
|
29570
|
+
}
|
|
29571
|
+
}, null)]), slots.prepend?.({
|
|
29438
29572
|
...slotProps,
|
|
29439
29573
|
item
|
|
29440
|
-
})
|
|
29441
|
-
let {
|
|
29442
|
-
isSelected,
|
|
29443
|
-
isIndeterminate
|
|
29444
|
-
} = _ref3;
|
|
29445
|
-
return createVNode(VCheckboxBtn, {
|
|
29446
|
-
"key": item.value,
|
|
29447
|
-
"tabindex": "-1",
|
|
29448
|
-
"modelValue": isSelected,
|
|
29449
|
-
"loading": loading,
|
|
29450
|
-
"indeterminate": isIndeterminate,
|
|
29451
|
-
"onClick": e => onClick(e, item)
|
|
29452
|
-
}, null);
|
|
29453
|
-
} : undefined,
|
|
29574
|
+
})]),
|
|
29454
29575
|
append: slots.append ? slotProps => slots.append?.({
|
|
29455
29576
|
...slotProps,
|
|
29456
29577
|
item
|
|
@@ -29465,13 +29586,18 @@ const VTreeviewChildren = genericComponent()({
|
|
|
29465
29586
|
return children ? createVNode(VTreeviewGroup, mergeProps({
|
|
29466
29587
|
"value": itemProps?.value
|
|
29467
29588
|
}, treeviewGroupProps), {
|
|
29468
|
-
activator:
|
|
29589
|
+
activator: _ref3 => {
|
|
29469
29590
|
let {
|
|
29470
29591
|
props: activatorProps
|
|
29471
|
-
} =
|
|
29472
|
-
|
|
29592
|
+
} = _ref3;
|
|
29593
|
+
const listItemProps = {
|
|
29594
|
+
...itemProps,
|
|
29595
|
+
...activatorProps,
|
|
29596
|
+
value: itemProps?.value
|
|
29597
|
+
};
|
|
29598
|
+
return createVNode(VTreeviewItem, mergeProps(listItemProps, {
|
|
29473
29599
|
"loading": loading,
|
|
29474
|
-
"onClick":
|
|
29600
|
+
"onClick": () => checkChildren(item)
|
|
29475
29601
|
}), slotsWithItem);
|
|
29476
29602
|
},
|
|
29477
29603
|
default: () => createVNode(VTreeviewChildren, mergeProps(treeviewChildrenProps, {
|
|
@@ -29502,7 +29628,7 @@ const makeVTreeviewProps = propsFactory({
|
|
|
29502
29628
|
...omit(makeVListProps({
|
|
29503
29629
|
collapseIcon: '$treeviewCollapse',
|
|
29504
29630
|
expandIcon: '$treeviewExpand',
|
|
29505
|
-
selectStrategy: '
|
|
29631
|
+
selectStrategy: 'classic',
|
|
29506
29632
|
openStrategy: 'multiple',
|
|
29507
29633
|
slim: true
|
|
29508
29634
|
}), ['nav'])
|
|
@@ -29521,6 +29647,7 @@ const VTreeview = genericComponent()({
|
|
|
29521
29647
|
let {
|
|
29522
29648
|
slots
|
|
29523
29649
|
} = _ref;
|
|
29650
|
+
const vm = getCurrentInstance('VTreeview');
|
|
29524
29651
|
const {
|
|
29525
29652
|
items
|
|
29526
29653
|
} = useListItems(props);
|
|
@@ -29603,15 +29730,13 @@ const VTreeview = genericComponent()({
|
|
|
29603
29730
|
}
|
|
29604
29731
|
});
|
|
29605
29732
|
useRender(() => {
|
|
29606
|
-
const listProps = VList.filterProps(props);
|
|
29733
|
+
const listProps = VList.filterProps(vm.vnode.props);
|
|
29607
29734
|
const treeviewChildrenProps = VTreeviewChildren.filterProps(props);
|
|
29608
29735
|
return createVNode(VList, mergeProps({
|
|
29609
29736
|
"ref": vListRef
|
|
29610
29737
|
}, listProps, {
|
|
29611
29738
|
"class": ['v-treeview', props.class],
|
|
29612
29739
|
"style": props.style,
|
|
29613
|
-
"opened": opened.value,
|
|
29614
|
-
"onUpdate:opened": $event => opened.value = $event,
|
|
29615
29740
|
"activated": activated.value,
|
|
29616
29741
|
"onUpdate:activated": $event => activated.value = $event,
|
|
29617
29742
|
"selected": selected.value,
|
|
@@ -30123,7 +30248,7 @@ function createVuetify$1() {
|
|
|
30123
30248
|
goTo
|
|
30124
30249
|
};
|
|
30125
30250
|
}
|
|
30126
|
-
const version$1 = "3.6.
|
|
30251
|
+
const version$1 = "3.6.9";
|
|
30127
30252
|
createVuetify$1.version = version$1;
|
|
30128
30253
|
|
|
30129
30254
|
// Vue's inject() can only be used in setup
|
|
@@ -30376,7 +30501,7 @@ var index = /*#__PURE__*/Object.freeze({
|
|
|
30376
30501
|
|
|
30377
30502
|
/* eslint-disable local-rules/sort-imports */
|
|
30378
30503
|
|
|
30379
|
-
const version = "3.6.
|
|
30504
|
+
const version = "3.6.9";
|
|
30380
30505
|
|
|
30381
30506
|
/* eslint-disable local-rules/sort-imports */
|
|
30382
30507
|
|