@vuetify/nightly 3.6.7-master.2024-05-28 → 3.6.8-master.2024-05-30
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/CHANGELOG.md +2 -10
- package/dist/json/attributes.json +44 -12
- package/dist/json/importMap-labs.json +26 -26
- package/dist/json/importMap.json +118 -118
- package/dist/json/tags.json +8 -0
- package/dist/json/web-types.json +117 -45
- package/dist/vuetify-labs.css +1826 -1823
- package/dist/vuetify-labs.d.ts +528 -1392
- package/dist/vuetify-labs.esm.js +145 -43
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +145 -43
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +849 -846
- package/dist/vuetify.d.ts +423 -1127
- package/dist/vuetify.esm.js +41 -12
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +41 -12
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +16 -16
- 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/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/VSnackbar/VSnackbar.css +1 -1
- package/lib/components/VSnackbar/VSnackbar.sass +1 -1
- package/lib/components/VStepper/VStepper.mjs +18 -4
- package/lib/components/VStepper/VStepper.mjs.map +1 -1
- package/lib/components/VStepper/VStepperItem.css +3 -0
- package/lib/components/VStepper/VStepperItem.sass +3 -0
- package/lib/components/VStepper/index.d.mts +43 -9
- 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/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 +44 -44
- 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 +81 -10
- 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/package.json +1 -1
package/dist/vuetify-labs.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.6.
|
2
|
+
* Vuetify v3.6.8-master.2024-05-30
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -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) {
|
@@ -21527,6 +21540,9 @@
|
|
21527
21540
|
});
|
21528
21541
|
function onRangeClick(value) {
|
21529
21542
|
const _value = adapter.startOfDay(value);
|
21543
|
+
if (model.value.length === 0) {
|
21544
|
+
rangeStart.value = undefined;
|
21545
|
+
}
|
21530
21546
|
if (!rangeStart.value) {
|
21531
21547
|
rangeStart.value = _value;
|
21532
21548
|
model.value = [rangeStart.value];
|
@@ -26044,7 +26060,10 @@
|
|
26044
26060
|
const makeStepperProps = propsFactory({
|
26045
26061
|
altLabels: Boolean,
|
26046
26062
|
bgColor: String,
|
26063
|
+
completeIcon: String,
|
26064
|
+
editIcon: String,
|
26047
26065
|
editable: Boolean,
|
26066
|
+
errorIcon: String,
|
26048
26067
|
hideActions: Boolean,
|
26049
26068
|
items: {
|
26050
26069
|
type: Array,
|
@@ -26058,9 +26077,9 @@
|
|
26058
26077
|
type: String,
|
26059
26078
|
default: 'value'
|
26060
26079
|
},
|
26061
|
-
mobile: Boolean,
|
26062
26080
|
nonLinear: Boolean,
|
26063
|
-
flat: Boolean
|
26081
|
+
flat: Boolean,
|
26082
|
+
...makeDisplayProps()
|
26064
26083
|
}, 'Stepper');
|
26065
26084
|
const makeVStepperProps = propsFactory({
|
26066
26085
|
...makeStepperProps(),
|
@@ -26088,6 +26107,13 @@
|
|
26088
26107
|
selected
|
26089
26108
|
} = useGroup(props, VStepperSymbol);
|
26090
26109
|
const {
|
26110
|
+
displayClasses,
|
26111
|
+
mobile
|
26112
|
+
} = useDisplay(props);
|
26113
|
+
const {
|
26114
|
+
completeIcon,
|
26115
|
+
editIcon,
|
26116
|
+
errorIcon,
|
26091
26117
|
color,
|
26092
26118
|
editable,
|
26093
26119
|
prevText,
|
@@ -26114,6 +26140,9 @@
|
|
26114
26140
|
provideDefaults({
|
26115
26141
|
VStepperItem: {
|
26116
26142
|
editable,
|
26143
|
+
errorIcon,
|
26144
|
+
completeIcon,
|
26145
|
+
editIcon,
|
26117
26146
|
prevText,
|
26118
26147
|
nextText
|
26119
26148
|
},
|
@@ -26135,8 +26164,8 @@
|
|
26135
26164
|
'v-stepper--alt-labels': props.altLabels,
|
26136
26165
|
'v-stepper--flat': props.flat,
|
26137
26166
|
'v-stepper--non-linear': props.nonLinear,
|
26138
|
-
'v-stepper--mobile':
|
26139
|
-
}, props.class],
|
26167
|
+
'v-stepper--mobile': mobile.value
|
26168
|
+
}, displayClasses.value, props.class],
|
26140
26169
|
"style": props.style
|
26141
26170
|
}), {
|
26142
26171
|
default: () => [hasHeader && vue.createVNode(VStepperHeader, {
|
@@ -26666,9 +26695,9 @@
|
|
26666
26695
|
"key": item.text,
|
26667
26696
|
"value": item.value
|
26668
26697
|
}), {
|
26669
|
-
default: () => slots[`tab.${item.value}`]?.({
|
26698
|
+
default: slots[`tab.${item.value}`] ? () => slots[`tab.${item.value}`]?.({
|
26670
26699
|
item
|
26671
|
-
})
|
26700
|
+
}) : undefined
|
26672
26701
|
}))]
|
26673
26702
|
}), hasWindow && vue.createVNode(VTabsWindow, vue.mergeProps({
|
26674
26703
|
"modelValue": model.value,
|
@@ -29350,32 +29379,100 @@
|
|
29350
29379
|
emit
|
29351
29380
|
} = _ref;
|
29352
29381
|
const link = useLink(props, attrs);
|
29353
|
-
const
|
29382
|
+
const rawId = vue.computed(() => props.value === undefined ? link.href.value : props.value);
|
29354
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
|
+
}));
|
29355
29404
|
const isClickable = vue.computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value || props.value != null && !!vListItemRef.value?.list));
|
29356
|
-
function
|
29357
|
-
if (!
|
29358
|
-
|
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
|
+
}
|
29359
29414
|
}
|
29360
29415
|
function onKeyDown(e) {
|
29361
29416
|
if (e.key === 'Enter' || e.key === ' ') {
|
29362
29417
|
e.preventDefault();
|
29363
|
-
|
29418
|
+
activateItem(e);
|
29364
29419
|
}
|
29365
29420
|
}
|
29366
29421
|
const visibleIds = vue.inject(VTreeviewSymbol, {
|
29367
29422
|
visibleIds: vue.ref()
|
29368
29423
|
}).visibleIds;
|
29369
29424
|
useRender(() => {
|
29425
|
+
const hasTitle = slots.title || props.title != null;
|
29426
|
+
const hasSubtitle = slots.subtitle || props.subtitle != null;
|
29370
29427
|
const listItemProps = VListItem.filterProps(props);
|
29371
29428
|
const hasPrepend = slots.prepend || props.toggleIcon;
|
29372
|
-
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({
|
29373
29469
|
"ref": vListItemRef
|
29374
29470
|
}, listItemProps, {
|
29375
29471
|
"class": ['v-treeview-item', {
|
29376
29472
|
'v-treeview-item--filtered': visibleIds.value && !visibleIds.value.has(id.value)
|
29377
29473
|
}, props.class],
|
29378
|
-
"
|
29474
|
+
"value": id.value,
|
29475
|
+
"onClick": activateItem,
|
29379
29476
|
"onKeydown": isClickable.value && onKeyDown
|
29380
29477
|
}), {
|
29381
29478
|
...slots,
|
@@ -29414,7 +29511,8 @@
|
|
29414
29511
|
default: '$loading'
|
29415
29512
|
},
|
29416
29513
|
items: Array,
|
29417
|
-
selectable: Boolean
|
29514
|
+
selectable: Boolean,
|
29515
|
+
selectStrategy: [String, Function, Object]
|
29418
29516
|
}, 'VTreeviewChildren');
|
29419
29517
|
const VTreeviewChildren = genericComponent()({
|
29420
29518
|
name: 'VTreeviewChildren',
|
@@ -29438,9 +29536,10 @@
|
|
29438
29536
|
isLoading.value = null;
|
29439
29537
|
});
|
29440
29538
|
}
|
29441
|
-
function
|
29442
|
-
|
29443
|
-
|
29539
|
+
function selectItem(select, isSelected) {
|
29540
|
+
if (props.selectable) {
|
29541
|
+
select(!isSelected);
|
29542
|
+
}
|
29444
29543
|
}
|
29445
29544
|
return () => slots.default?.() ?? props.items?.map(_ref2 => {
|
29446
29545
|
let {
|
@@ -29450,23 +29549,21 @@
|
|
29450
29549
|
} = _ref2;
|
29451
29550
|
const loading = isLoading.value === item.value;
|
29452
29551
|
const slotsWithItem = {
|
29453
|
-
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?.({
|
29454
29564
|
...slotProps,
|
29455
29565
|
item
|
29456
|
-
})
|
29457
|
-
let {
|
29458
|
-
isSelected,
|
29459
|
-
isIndeterminate
|
29460
|
-
} = _ref3;
|
29461
|
-
return vue.createVNode(VCheckboxBtn, {
|
29462
|
-
"key": item.value,
|
29463
|
-
"tabindex": "-1",
|
29464
|
-
"modelValue": isSelected,
|
29465
|
-
"loading": loading,
|
29466
|
-
"indeterminate": isIndeterminate,
|
29467
|
-
"onClick": e => onClick(e, item)
|
29468
|
-
}, null);
|
29469
|
-
} : undefined,
|
29566
|
+
})]),
|
29470
29567
|
append: slots.append ? slotProps => slots.append?.({
|
29471
29568
|
...slotProps,
|
29472
29569
|
item
|
@@ -29481,13 +29578,18 @@
|
|
29481
29578
|
return children ? vue.createVNode(VTreeviewGroup, vue.mergeProps({
|
29482
29579
|
"value": itemProps?.value
|
29483
29580
|
}, treeviewGroupProps), {
|
29484
|
-
activator:
|
29581
|
+
activator: _ref3 => {
|
29485
29582
|
let {
|
29486
29583
|
props: activatorProps
|
29487
|
-
} =
|
29488
|
-
|
29584
|
+
} = _ref3;
|
29585
|
+
const listItemProps = {
|
29586
|
+
...itemProps,
|
29587
|
+
...activatorProps,
|
29588
|
+
value: itemProps?.value
|
29589
|
+
};
|
29590
|
+
return vue.createVNode(VTreeviewItem, vue.mergeProps(listItemProps, {
|
29489
29591
|
"loading": loading,
|
29490
|
-
"onClick":
|
29592
|
+
"onClick": () => checkChildren(item)
|
29491
29593
|
}), slotsWithItem);
|
29492
29594
|
},
|
29493
29595
|
default: () => vue.createVNode(VTreeviewChildren, vue.mergeProps(treeviewChildrenProps, {
|
@@ -29518,7 +29620,7 @@
|
|
29518
29620
|
...omit(makeVListProps({
|
29519
29621
|
collapseIcon: '$treeviewCollapse',
|
29520
29622
|
expandIcon: '$treeviewExpand',
|
29521
|
-
selectStrategy: '
|
29623
|
+
selectStrategy: 'classic',
|
29522
29624
|
openStrategy: 'multiple',
|
29523
29625
|
slim: true
|
29524
29626
|
}), ['nav'])
|
@@ -30139,7 +30241,7 @@
|
|
30139
30241
|
goTo
|
30140
30242
|
};
|
30141
30243
|
}
|
30142
|
-
const version$1 = "3.6.
|
30244
|
+
const version$1 = "3.6.8-master.2024-05-30";
|
30143
30245
|
createVuetify$1.version = version$1;
|
30144
30246
|
|
30145
30247
|
// Vue's inject() can only be used in setup
|
@@ -30392,7 +30494,7 @@
|
|
30392
30494
|
|
30393
30495
|
/* eslint-disable local-rules/sort-imports */
|
30394
30496
|
|
30395
|
-
const version = "3.6.
|
30497
|
+
const version = "3.6.8-master.2024-05-30";
|
30396
30498
|
|
30397
30499
|
/* eslint-disable local-rules/sort-imports */
|
30398
30500
|
|