@vuetify/nightly 3.1.2-next-20230113.0 → 3.1.2
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 +15 -2
- package/dist/json/importMap.json +56 -56
- package/dist/vuetify-labs.css +178 -177
- package/dist/vuetify-labs.d.ts +40 -3
- package/dist/vuetify-labs.esm.js +158 -90
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +158 -90
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +203 -202
- package/dist/vuetify.d.ts +56 -19
- package/dist/vuetify.esm.js +105 -74
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +105 -74
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +52 -52
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.mjs +1 -0
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.mjs +9 -3
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VCard/VCard.mjs +5 -2
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCard/index.d.ts +8 -2
- package/lib/components/VCombobox/VCombobox.mjs +2 -1
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VFileInput/VFileInput.css +1 -0
- package/lib/components/VFileInput/VFileInput.sass +1 -0
- package/lib/components/VList/VListItem.css +1 -1
- package/lib/components/VList/VListItem.mjs +5 -1
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListItem.sass +1 -1
- package/lib/components/VList/index.d.ts +20 -1
- package/lib/components/VProgressLinear/VProgressLinear.mjs +13 -1
- package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
- package/lib/components/VProgressLinear/index.d.ts +18 -0
- package/lib/components/VSelect/VSelect.mjs +1 -0
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSlider/VSliderThumb.mjs +5 -1
- package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
- package/lib/components/index.d.ts +40 -3
- package/lib/composables/filter.mjs +3 -3
- package/lib/composables/filter.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/entry-bundler.mjs.map +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/framework.mjs.map +1 -1
- package/lib/index.d.ts +16 -16
- package/lib/labs/VDataTable/VDataTable.mjs +4 -1
- package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs +3 -3
- package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRows.mjs +36 -8
- package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableVirtual.mjs +4 -1
- package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/group.mjs +9 -4
- package/lib/labs/VDataTable/composables/group.mjs.map +1 -1
- package/package.json +1 -1
package/dist/vuetify-labs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.1.2
|
|
2
|
+
* Vuetify v3.1.2
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -4388,9 +4388,69 @@
|
|
|
4388
4388
|
updated: updated$1
|
|
4389
4389
|
};
|
|
4390
4390
|
|
|
4391
|
+
// Composables
|
|
4392
|
+
|
|
4393
|
+
// Types
|
|
4394
|
+
|
|
4395
|
+
const oppositeMap = {
|
|
4396
|
+
center: 'center',
|
|
4397
|
+
top: 'bottom',
|
|
4398
|
+
bottom: 'top',
|
|
4399
|
+
left: 'right',
|
|
4400
|
+
right: 'left'
|
|
4401
|
+
};
|
|
4402
|
+
const makeLocationProps = propsFactory({
|
|
4403
|
+
location: String
|
|
4404
|
+
}, 'location');
|
|
4405
|
+
function useLocation(props) {
|
|
4406
|
+
let opposite = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
4407
|
+
let offset = arguments.length > 2 ? arguments[2] : undefined;
|
|
4408
|
+
const {
|
|
4409
|
+
isRtl
|
|
4410
|
+
} = useRtl();
|
|
4411
|
+
const locationStyles = vue.computed(() => {
|
|
4412
|
+
if (!props.location) return {};
|
|
4413
|
+
const {
|
|
4414
|
+
side,
|
|
4415
|
+
align
|
|
4416
|
+
} = parseAnchor(props.location.split(' ').length > 1 ? props.location : `${props.location} center`, isRtl.value);
|
|
4417
|
+
function getOffset(side) {
|
|
4418
|
+
return offset ? offset(side) : 0;
|
|
4419
|
+
}
|
|
4420
|
+
const styles = {};
|
|
4421
|
+
if (side !== 'center') {
|
|
4422
|
+
if (opposite) styles[oppositeMap[side]] = `calc(100% - ${getOffset(side)}px)`;else styles[side] = 0;
|
|
4423
|
+
}
|
|
4424
|
+
if (align !== 'center') {
|
|
4425
|
+
if (opposite) styles[oppositeMap[align]] = `calc(100% - ${getOffset(align)}px)`;else styles[align] = 0;
|
|
4426
|
+
} else {
|
|
4427
|
+
if (side === 'center') styles.top = styles.left = '50%';else {
|
|
4428
|
+
styles[{
|
|
4429
|
+
top: 'left',
|
|
4430
|
+
bottom: 'left',
|
|
4431
|
+
left: 'top',
|
|
4432
|
+
right: 'top'
|
|
4433
|
+
}[side]] = '50%';
|
|
4434
|
+
}
|
|
4435
|
+
styles.transform = {
|
|
4436
|
+
top: 'translateX(-50%)',
|
|
4437
|
+
bottom: 'translateX(-50%)',
|
|
4438
|
+
left: 'translateY(-50%)',
|
|
4439
|
+
right: 'translateY(-50%)',
|
|
4440
|
+
center: 'translate(-50%, -50%)'
|
|
4441
|
+
}[side];
|
|
4442
|
+
}
|
|
4443
|
+
return styles;
|
|
4444
|
+
});
|
|
4445
|
+
return {
|
|
4446
|
+
locationStyles
|
|
4447
|
+
};
|
|
4448
|
+
}
|
|
4449
|
+
|
|
4391
4450
|
const VProgressLinear = defineComponent({
|
|
4392
4451
|
name: 'VProgressLinear',
|
|
4393
4452
|
props: {
|
|
4453
|
+
absolute: Boolean,
|
|
4394
4454
|
active: {
|
|
4395
4455
|
type: Boolean,
|
|
4396
4456
|
default: true
|
|
@@ -4420,6 +4480,9 @@
|
|
|
4420
4480
|
stream: Boolean,
|
|
4421
4481
|
striped: Boolean,
|
|
4422
4482
|
roundedBar: Boolean,
|
|
4483
|
+
...makeLocationProps({
|
|
4484
|
+
location: 'top'
|
|
4485
|
+
}),
|
|
4423
4486
|
...makeRoundedProps(),
|
|
4424
4487
|
...makeTagProps(),
|
|
4425
4488
|
...makeThemeProps()
|
|
@@ -4438,6 +4501,9 @@
|
|
|
4438
4501
|
const {
|
|
4439
4502
|
themeClasses
|
|
4440
4503
|
} = provideTheme(props);
|
|
4504
|
+
const {
|
|
4505
|
+
locationStyles
|
|
4506
|
+
} = useLocation(props);
|
|
4441
4507
|
const {
|
|
4442
4508
|
textColorClasses,
|
|
4443
4509
|
textColorStyles
|
|
@@ -4479,6 +4545,7 @@
|
|
|
4479
4545
|
useRender(() => vue.createVNode(props.tag, {
|
|
4480
4546
|
"ref": intersectionRef,
|
|
4481
4547
|
"class": ['v-progress-linear', {
|
|
4548
|
+
'v-progress-linear--absolute': props.absolute,
|
|
4482
4549
|
'v-progress-linear--active': props.active && isIntersecting.value,
|
|
4483
4550
|
'v-progress-linear--reverse': isReversed.value,
|
|
4484
4551
|
'v-progress-linear--rounded': props.rounded,
|
|
@@ -4486,8 +4553,11 @@
|
|
|
4486
4553
|
'v-progress-linear--striped': props.striped
|
|
4487
4554
|
}, roundedClasses.value, themeClasses.value],
|
|
4488
4555
|
"style": {
|
|
4556
|
+
bottom: props.location === 'bottom' ? 0 : undefined,
|
|
4557
|
+
top: props.location === 'top' ? 0 : undefined,
|
|
4489
4558
|
height: props.active ? convertToUnit(height.value) : 0,
|
|
4490
|
-
'--v-progress-linear-height': convertToUnit(height.value)
|
|
4559
|
+
'--v-progress-linear-height': convertToUnit(height.value),
|
|
4560
|
+
...locationStyles.value
|
|
4491
4561
|
},
|
|
4492
4562
|
"role": "progressbar",
|
|
4493
4563
|
"aria-hidden": props.active ? 'false' : 'true',
|
|
@@ -4573,65 +4643,6 @@
|
|
|
4573
4643
|
}, null)]);
|
|
4574
4644
|
}
|
|
4575
4645
|
|
|
4576
|
-
// Composables
|
|
4577
|
-
|
|
4578
|
-
// Types
|
|
4579
|
-
|
|
4580
|
-
const oppositeMap = {
|
|
4581
|
-
center: 'center',
|
|
4582
|
-
top: 'bottom',
|
|
4583
|
-
bottom: 'top',
|
|
4584
|
-
left: 'right',
|
|
4585
|
-
right: 'left'
|
|
4586
|
-
};
|
|
4587
|
-
const makeLocationProps = propsFactory({
|
|
4588
|
-
location: String
|
|
4589
|
-
}, 'location');
|
|
4590
|
-
function useLocation(props) {
|
|
4591
|
-
let opposite = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
4592
|
-
let offset = arguments.length > 2 ? arguments[2] : undefined;
|
|
4593
|
-
const {
|
|
4594
|
-
isRtl
|
|
4595
|
-
} = useRtl();
|
|
4596
|
-
const locationStyles = vue.computed(() => {
|
|
4597
|
-
if (!props.location) return {};
|
|
4598
|
-
const {
|
|
4599
|
-
side,
|
|
4600
|
-
align
|
|
4601
|
-
} = parseAnchor(props.location.split(' ').length > 1 ? props.location : `${props.location} center`, isRtl.value);
|
|
4602
|
-
function getOffset(side) {
|
|
4603
|
-
return offset ? offset(side) : 0;
|
|
4604
|
-
}
|
|
4605
|
-
const styles = {};
|
|
4606
|
-
if (side !== 'center') {
|
|
4607
|
-
if (opposite) styles[oppositeMap[side]] = `calc(100% - ${getOffset(side)}px)`;else styles[side] = 0;
|
|
4608
|
-
}
|
|
4609
|
-
if (align !== 'center') {
|
|
4610
|
-
if (opposite) styles[oppositeMap[align]] = `calc(100% - ${getOffset(align)}px)`;else styles[align] = 0;
|
|
4611
|
-
} else {
|
|
4612
|
-
if (side === 'center') styles.top = styles.left = '50%';else {
|
|
4613
|
-
styles[{
|
|
4614
|
-
top: 'left',
|
|
4615
|
-
bottom: 'left',
|
|
4616
|
-
left: 'top',
|
|
4617
|
-
right: 'top'
|
|
4618
|
-
}[side]] = '50%';
|
|
4619
|
-
}
|
|
4620
|
-
styles.transform = {
|
|
4621
|
-
top: 'translateX(-50%)',
|
|
4622
|
-
bottom: 'translateX(-50%)',
|
|
4623
|
-
left: 'translateY(-50%)',
|
|
4624
|
-
right: 'translateY(-50%)',
|
|
4625
|
-
center: 'translate(-50%, -50%)'
|
|
4626
|
-
}[side];
|
|
4627
|
-
}
|
|
4628
|
-
return styles;
|
|
4629
|
-
});
|
|
4630
|
-
return {
|
|
4631
|
-
locationStyles
|
|
4632
|
-
};
|
|
4633
|
-
}
|
|
4634
|
-
|
|
4635
4646
|
// Utilities
|
|
4636
4647
|
|
|
4637
4648
|
// Types
|
|
@@ -4837,8 +4848,14 @@
|
|
|
4837
4848
|
const group = useGroupItem(props, props.symbol, false);
|
|
4838
4849
|
const link = useLink(props, attrs);
|
|
4839
4850
|
const isActive = vue.computed(() => {
|
|
4840
|
-
|
|
4841
|
-
|
|
4851
|
+
if (props.active !== undefined) {
|
|
4852
|
+
return props.active;
|
|
4853
|
+
}
|
|
4854
|
+
if (link.isLink.value) {
|
|
4855
|
+
var _link$isActive;
|
|
4856
|
+
return (_link$isActive = link.isActive) == null ? void 0 : _link$isActive.value;
|
|
4857
|
+
}
|
|
4858
|
+
return group == null ? void 0 : group.isSelected.value;
|
|
4842
4859
|
});
|
|
4843
4860
|
const isDisabled = vue.computed(() => (group == null ? void 0 : group.disabled.value) || props.disabled);
|
|
4844
4861
|
const isElevated = vue.computed(() => {
|
|
@@ -4848,7 +4865,7 @@
|
|
|
4848
4865
|
useRender(() => {
|
|
4849
4866
|
var _slots$prepend, _slots$default, _slots$append, _slots$loader;
|
|
4850
4867
|
const Tag = link.isLink.value ? 'a' : props.tag;
|
|
4851
|
-
const hasColor = !group ||
|
|
4868
|
+
const hasColor = !group || isActive.value;
|
|
4852
4869
|
const hasPrepend = !!(props.prependIcon || slots.prepend);
|
|
4853
4870
|
const hasAppend = !!(props.appendIcon || slots.append);
|
|
4854
4871
|
const hasIcon = !!(props.icon && props.icon !== true);
|
|
@@ -7583,6 +7600,10 @@
|
|
|
7583
7600
|
nav: Boolean,
|
|
7584
7601
|
prependAvatar: String,
|
|
7585
7602
|
prependIcon: IconValue,
|
|
7603
|
+
ripple: {
|
|
7604
|
+
type: Boolean,
|
|
7605
|
+
default: true
|
|
7606
|
+
},
|
|
7586
7607
|
subtitle: [String, Number, Boolean],
|
|
7587
7608
|
title: [String, Number, Boolean],
|
|
7588
7609
|
value: null,
|
|
@@ -7774,7 +7795,7 @@
|
|
|
7774
7795
|
"key": "append-avatar"
|
|
7775
7796
|
}, null)])]
|
|
7776
7797
|
})]
|
|
7777
|
-
}), [[vue.resolveDirective("ripple"), isClickable.value]]);
|
|
7798
|
+
}), [[vue.resolveDirective("ripple"), isClickable.value && props.ripple]]);
|
|
7778
7799
|
});
|
|
7779
7800
|
return {};
|
|
7780
7801
|
}
|
|
@@ -9942,6 +9963,7 @@
|
|
|
9942
9963
|
"activator": "parent",
|
|
9943
9964
|
"contentClass": "v-select__content",
|
|
9944
9965
|
"eager": props.eager,
|
|
9966
|
+
"maxHeight": 310,
|
|
9945
9967
|
"openOnClick": false,
|
|
9946
9968
|
"closeOnContentClick": false,
|
|
9947
9969
|
"transition": props.transition
|
|
@@ -10057,7 +10079,7 @@
|
|
|
10057
10079
|
const customFiltersLength = Object.keys((options == null ? void 0 : options.customKeyFilter) ?? {}).length;
|
|
10058
10080
|
if (!(items != null && items.length)) return array;
|
|
10059
10081
|
loop: for (let i = 0; i < items.length; i++) {
|
|
10060
|
-
const item = items[i]
|
|
10082
|
+
const item = items[i];
|
|
10061
10083
|
const customMatches = {};
|
|
10062
10084
|
const defaultMatches = {};
|
|
10063
10085
|
let match = -1;
|
|
@@ -10097,7 +10119,7 @@
|
|
|
10097
10119
|
}
|
|
10098
10120
|
return array;
|
|
10099
10121
|
}
|
|
10100
|
-
function useFilter(props, items, query) {
|
|
10122
|
+
function useFilter(props, items, query, options) {
|
|
10101
10123
|
const strQuery = vue.computed(() => typeof (query == null ? void 0 : query.value) !== 'string' && typeof (query == null ? void 0 : query.value) !== 'number' ? '' : String(query.value));
|
|
10102
10124
|
const filteredItems = vue.ref([]);
|
|
10103
10125
|
const filteredMatches = vue.ref(new Map());
|
|
@@ -10108,7 +10130,7 @@
|
|
|
10108
10130
|
const results = filterItems(transformedItems, strQuery.value, {
|
|
10109
10131
|
customKeyFilter: props.customKeyFilter,
|
|
10110
10132
|
default: props.customFilter,
|
|
10111
|
-
filterKeys: props.filterKeys,
|
|
10133
|
+
filterKeys: vue.unref(options == null ? void 0 : options.filterKeys) ?? props.filterKeys,
|
|
10112
10134
|
filterMode: props.filterMode,
|
|
10113
10135
|
noFilter: props.noFilter
|
|
10114
10136
|
});
|
|
@@ -10331,6 +10353,7 @@
|
|
|
10331
10353
|
"activator": "parent",
|
|
10332
10354
|
"contentClass": "v-autocomplete__content",
|
|
10333
10355
|
"eager": props.eager,
|
|
10356
|
+
"maxHeight": 310,
|
|
10334
10357
|
"openOnClick": false,
|
|
10335
10358
|
"closeOnContentClick": false,
|
|
10336
10359
|
"transition": props.transition,
|
|
@@ -11039,7 +11062,10 @@
|
|
|
11039
11062
|
},
|
|
11040
11063
|
prependAvatar: String,
|
|
11041
11064
|
prependIcon: IconValue,
|
|
11042
|
-
ripple:
|
|
11065
|
+
ripple: {
|
|
11066
|
+
type: Boolean,
|
|
11067
|
+
default: true
|
|
11068
|
+
},
|
|
11043
11069
|
subtitle: String,
|
|
11044
11070
|
text: String,
|
|
11045
11071
|
title: String,
|
|
@@ -11160,7 +11186,7 @@
|
|
|
11160
11186
|
}), (_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots), slots.actions && vue.createVNode(VCardActions, null, {
|
|
11161
11187
|
default: slots.actions
|
|
11162
11188
|
}), genOverlays(isClickable.value, 'v-card')]
|
|
11163
|
-
}), [[vue.resolveDirective("ripple"), isClickable.value]]);
|
|
11189
|
+
}), [[vue.resolveDirective("ripple"), isClickable.value && props.ripple]]);
|
|
11164
11190
|
});
|
|
11165
11191
|
return {};
|
|
11166
11192
|
}
|
|
@@ -12453,6 +12479,10 @@
|
|
|
12453
12479
|
position: {
|
|
12454
12480
|
type: Number,
|
|
12455
12481
|
required: true
|
|
12482
|
+
},
|
|
12483
|
+
ripple: {
|
|
12484
|
+
type: Boolean,
|
|
12485
|
+
default: true
|
|
12456
12486
|
}
|
|
12457
12487
|
},
|
|
12458
12488
|
emits: {
|
|
@@ -12553,7 +12583,7 @@
|
|
|
12553
12583
|
}, null), vue.withDirectives(vue.createVNode("div", {
|
|
12554
12584
|
"class": ['v-slider-thumb__ripple', textColorClasses.value],
|
|
12555
12585
|
"style": textColorStyles.value
|
|
12556
|
-
}, null), [[vue.resolveDirective("ripple"),
|
|
12586
|
+
}, null), [[vue.resolveDirective("ripple"), props.ripple, null, {
|
|
12557
12587
|
circle: true,
|
|
12558
12588
|
center: true
|
|
12559
12589
|
}]]), vue.createVNode(VScaleTransition, {
|
|
@@ -13605,7 +13635,7 @@
|
|
|
13605
13635
|
vTextFieldRef.value.setSelectionRange(0, 0);
|
|
13606
13636
|
}
|
|
13607
13637
|
}
|
|
13608
|
-
if (e.key === 'Enter') {
|
|
13638
|
+
if (e.key === 'Enter' && search.value) {
|
|
13609
13639
|
select(transformItem$1(props, search.value));
|
|
13610
13640
|
search.value = '';
|
|
13611
13641
|
}
|
|
@@ -13694,6 +13724,7 @@
|
|
|
13694
13724
|
"activator": "parent",
|
|
13695
13725
|
"contentClass": "v-combobox__content",
|
|
13696
13726
|
"eager": props.eager,
|
|
13727
|
+
"maxHeight": 310,
|
|
13697
13728
|
"openOnClick": false,
|
|
13698
13729
|
"closeOnContentClick": false,
|
|
13699
13730
|
"transition": props.transition,
|
|
@@ -18523,9 +18554,13 @@
|
|
|
18523
18554
|
order: val.order ?? false
|
|
18524
18555
|
})).concat(sortBy.value);
|
|
18525
18556
|
});
|
|
18526
|
-
function
|
|
18527
|
-
|
|
18528
|
-
|
|
18557
|
+
function isGroupOpen(group) {
|
|
18558
|
+
return opened.value.has(group.id);
|
|
18559
|
+
}
|
|
18560
|
+
function toggleGroup(group) {
|
|
18561
|
+
const newOpened = new Set(opened.value);
|
|
18562
|
+
if (!isGroupOpen(group)) newOpened.add(group.id);else newOpened.delete(group.id);
|
|
18563
|
+
opened.value = newOpened;
|
|
18529
18564
|
}
|
|
18530
18565
|
function extractRows(items) {
|
|
18531
18566
|
function dive(group) {
|
|
@@ -18558,7 +18593,8 @@
|
|
|
18558
18593
|
toggleGroup,
|
|
18559
18594
|
opened,
|
|
18560
18595
|
groupBy,
|
|
18561
|
-
extractRows
|
|
18596
|
+
extractRows,
|
|
18597
|
+
isGroupOpen
|
|
18562
18598
|
};
|
|
18563
18599
|
vue.provide(VDataTableGroupSymbol, data);
|
|
18564
18600
|
return data;
|
|
@@ -18644,7 +18680,7 @@
|
|
|
18644
18680
|
slots
|
|
18645
18681
|
} = _ref;
|
|
18646
18682
|
const {
|
|
18647
|
-
|
|
18683
|
+
isGroupOpen,
|
|
18648
18684
|
toggleGroup,
|
|
18649
18685
|
extractRows
|
|
18650
18686
|
} = useGroupBy();
|
|
@@ -18667,8 +18703,8 @@
|
|
|
18667
18703
|
}, [columns.value.map(column => {
|
|
18668
18704
|
if (column.key === 'data-table-group') {
|
|
18669
18705
|
var _slots$dataTableGro;
|
|
18670
|
-
const icon =
|
|
18671
|
-
const onClick = () => toggleGroup(props.item
|
|
18706
|
+
const icon = isGroupOpen(props.item) ? '$expand' : '$next';
|
|
18707
|
+
const onClick = () => toggleGroup(props.item);
|
|
18672
18708
|
return ((_slots$dataTableGro = slots['data-table-group']) == null ? void 0 : _slots$dataTableGro.call(slots, {
|
|
18673
18709
|
item: props.item,
|
|
18674
18710
|
count: rows.value.length,
|
|
@@ -18861,10 +18897,18 @@
|
|
|
18861
18897
|
columns
|
|
18862
18898
|
} = useHeaders();
|
|
18863
18899
|
const {
|
|
18864
|
-
|
|
18865
|
-
|
|
18866
|
-
|
|
18900
|
+
expandOnClick,
|
|
18901
|
+
toggleExpand,
|
|
18902
|
+
isExpanded
|
|
18867
18903
|
} = useExpanded();
|
|
18904
|
+
const {
|
|
18905
|
+
isSelected,
|
|
18906
|
+
toggleSelect
|
|
18907
|
+
} = useSelection();
|
|
18908
|
+
const {
|
|
18909
|
+
toggleGroup,
|
|
18910
|
+
isGroupOpen
|
|
18911
|
+
} = useGroupBy();
|
|
18868
18912
|
const {
|
|
18869
18913
|
t
|
|
18870
18914
|
} = useLocale();
|
|
@@ -18883,23 +18927,41 @@
|
|
|
18883
18927
|
})), props.items.map((item, index) => {
|
|
18884
18928
|
var _slots$expandedRow;
|
|
18885
18929
|
if (item.type === 'group-header') {
|
|
18886
|
-
return
|
|
18930
|
+
return slots['group-header'] ? slots['group-header']({
|
|
18931
|
+
index,
|
|
18932
|
+
item,
|
|
18933
|
+
columns: columns.value,
|
|
18934
|
+
isExpanded,
|
|
18935
|
+
toggleExpand,
|
|
18936
|
+
isSelected,
|
|
18937
|
+
toggleSelect,
|
|
18938
|
+
toggleGroup,
|
|
18939
|
+
isGroupOpen
|
|
18940
|
+
}) : vue.createVNode(VDataTableGroupHeaderRow, {
|
|
18887
18941
|
"key": `group-header_${item.id}`,
|
|
18888
18942
|
"item": item
|
|
18889
18943
|
}, slots);
|
|
18890
18944
|
}
|
|
18891
|
-
return vue.createVNode(vue.Fragment, null, [
|
|
18945
|
+
return vue.createVNode(vue.Fragment, null, [slots.item ? slots.item({
|
|
18946
|
+
index,
|
|
18947
|
+
item,
|
|
18948
|
+
columns: columns.value,
|
|
18949
|
+
isExpanded,
|
|
18950
|
+
toggleExpand,
|
|
18951
|
+
isSelected,
|
|
18952
|
+
toggleSelect
|
|
18953
|
+
}) : vue.createVNode(VDataTableRow, {
|
|
18892
18954
|
"key": `item_${item.value}`,
|
|
18893
18955
|
"onClick": event => {
|
|
18894
18956
|
if (expandOnClick.value) {
|
|
18895
|
-
|
|
18957
|
+
toggleExpand(item.value);
|
|
18896
18958
|
}
|
|
18897
18959
|
emit('click:row', event, {
|
|
18898
18960
|
item
|
|
18899
18961
|
});
|
|
18900
18962
|
},
|
|
18901
18963
|
"item": item
|
|
18902
|
-
}, slots),
|
|
18964
|
+
}, slots), isExpanded(item.value) && ((_slots$expandedRow = slots['expanded-row']) == null ? void 0 : _slots$expandedRow.call(slots, {
|
|
18903
18965
|
item,
|
|
18904
18966
|
columns: columns.value
|
|
18905
18967
|
}))]);
|
|
@@ -19197,9 +19259,12 @@
|
|
|
19197
19259
|
const {
|
|
19198
19260
|
items
|
|
19199
19261
|
} = useDataTableItems(props, columns);
|
|
19262
|
+
const filterKeys = vue.computed(() => columns.value.map(c => 'columns.' + c.key));
|
|
19200
19263
|
const {
|
|
19201
19264
|
filteredItems
|
|
19202
|
-
} = useFilter(props, items, vue.toRef(props, 'search')
|
|
19265
|
+
} = useFilter(props, items, vue.toRef(props, 'search'), {
|
|
19266
|
+
filterKeys
|
|
19267
|
+
});
|
|
19203
19268
|
const {
|
|
19204
19269
|
sortBy
|
|
19205
19270
|
} = createSort(props);
|
|
@@ -19389,9 +19454,12 @@
|
|
|
19389
19454
|
const {
|
|
19390
19455
|
items
|
|
19391
19456
|
} = useDataTableItems(props, columns);
|
|
19457
|
+
const filterKeys = vue.computed(() => columns.value.map(c => 'columns.' + c.key));
|
|
19392
19458
|
const {
|
|
19393
19459
|
filteredItems
|
|
19394
|
-
} = useFilter(props, items, vue.toRef(props, 'search')
|
|
19460
|
+
} = useFilter(props, items, vue.toRef(props, 'search'), {
|
|
19461
|
+
filterKeys
|
|
19462
|
+
});
|
|
19395
19463
|
const {
|
|
19396
19464
|
sortBy
|
|
19397
19465
|
} = createSort(props);
|
|
@@ -20089,7 +20157,7 @@
|
|
|
20089
20157
|
locale
|
|
20090
20158
|
};
|
|
20091
20159
|
}
|
|
20092
|
-
const version$1 = "3.1.2
|
|
20160
|
+
const version$1 = "3.1.2";
|
|
20093
20161
|
createVuetify$1.version = version$1;
|
|
20094
20162
|
|
|
20095
20163
|
// Vue's inject() can only be used in setup
|
|
@@ -20102,7 +20170,7 @@
|
|
|
20102
20170
|
}
|
|
20103
20171
|
}
|
|
20104
20172
|
|
|
20105
|
-
const version = "3.1.2
|
|
20173
|
+
const version = "3.1.2";
|
|
20106
20174
|
|
|
20107
20175
|
const createVuetify = function () {
|
|
20108
20176
|
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|