vuetify 3.1.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/dist/json/attributes.json +46 -34
- package/dist/json/importMap.json +46 -46
- package/dist/json/tags.json +3 -0
- package/dist/json/web-types.json +144 -37
- package/dist/vuetify-labs.css +25749 -0
- package/dist/vuetify-labs.d.ts +25980 -38
- package/dist/vuetify-labs.esm.js +20181 -0
- package/dist/vuetify-labs.esm.js.map +1 -0
- package/dist/vuetify-labs.js +17271 -6823
- package/dist/vuetify-labs.min.css +12 -0
- package/dist/vuetify.css +8 -2
- package/dist/vuetify.d.ts +65 -17
- package/dist/vuetify.esm.js +203 -119
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +203 -119
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +410 -408
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAppBar/VAppBarTitle.mjs +4 -4
- package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.mjs +17 -7
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.ts +1 -0
- 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/VCheckbox/VCheckbox.mjs +2 -0
- package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
- package/lib/components/VChip/VChip.mjs +18 -4
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/index.d.ts +15 -2
- package/lib/components/VChipGroup/VChipGroup.mjs +1 -0
- package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.mjs +18 -8
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.ts +1 -0
- package/lib/components/VField/VField.mjs +3 -1
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/index.d.ts +1 -0
- package/lib/components/VFileInput/VFileInput.css +1 -0
- package/lib/components/VFileInput/VFileInput.mjs +2 -0
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/VFileInput.sass +1 -0
- package/lib/components/VFileInput/index.d.ts +1 -0
- package/lib/components/VGrid/VGrid.css +5 -0
- package/lib/components/VGrid/VGrid.sass +5 -0
- package/lib/components/VInput/VInput.mjs +3 -0
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/index.d.ts +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/VMessages/VMessages.mjs +3 -1
- package/lib/components/VMessages/VMessages.mjs.map +1 -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/VRadioGroup/VRadioGroup.mjs +2 -0
- package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
- package/lib/components/VRangeSlider/VRangeSlider.mjs +4 -1
- package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.mjs +19 -9
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.ts +1 -0
- package/lib/components/VSlider/VSlider.mjs +4 -1
- package/lib/components/VSlider/VSlider.mjs.map +1 -1
- package/lib/components/VSlider/VSliderThumb.mjs +5 -1
- package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
- package/lib/components/VSwitch/VSwitch.mjs +2 -0
- package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
- package/lib/components/VTextField/index.d.ts +1 -0
- package/lib/components/VTextarea/index.d.ts +1 -0
- package/lib/components/index.d.ts +53 -5
- package/lib/components/transitions/dialog-transition.mjs +3 -9
- package/lib/components/transitions/dialog-transition.mjs.map +1 -1
- package/lib/composables/filter.mjs +3 -3
- package/lib/composables/filter.mjs.map +1 -1
- package/lib/composables/teleport.mjs +6 -7
- package/lib/composables/teleport.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.ts +12 -12
- package/lib/labs/VDataTable/VDataTable.mjs +8 -5
- 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/VDataTableServer.mjs +4 -4
- package/lib/labs/VDataTable/VDataTableServer.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/lib/labs/VDataTable/composables/sort.mjs +3 -5
- package/lib/labs/VDataTable/composables/sort.mjs.map +1 -1
- package/lib/labs/allComponents.mjs +3 -0
- package/lib/labs/allComponents.mjs.map +1 -0
- package/lib/labs/entry-bundler.mjs +14 -0
- package/lib/labs/entry-bundler.mjs.map +1 -0
- package/lib/util/defineComponent.mjs +1 -1
- package/lib/util/defineComponent.mjs.map +1 -1
- package/package.json +2 -2
package/dist/vuetify.esm.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.1.
|
|
2
|
+
* Vuetify v3.1.2
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -990,7 +990,7 @@ function propsFactory(props, source) {
|
|
|
990
990
|
// Utils
|
|
991
991
|
function propIsDefined(vnode, prop) {
|
|
992
992
|
var _vnode$props, _vnode$props2;
|
|
993
|
-
return ((_vnode$props = vnode.props) == null ? void 0 : _vnode$props
|
|
993
|
+
return typeof ((_vnode$props = vnode.props) == null ? void 0 : _vnode$props[prop]) !== 'undefined' || typeof ((_vnode$props2 = vnode.props) == null ? void 0 : _vnode$props2[toKebabCase(prop)]) !== 'undefined';
|
|
994
994
|
}
|
|
995
995
|
const defineComponent = function defineComponent(options) {
|
|
996
996
|
options._setup = options._setup ?? options.setup;
|
|
@@ -2366,9 +2366,7 @@ const VDialogTransition = defineComponent({
|
|
|
2366
2366
|
const animation = animate(el, [{
|
|
2367
2367
|
transform: `translate(${x}px, ${y}px) scale(${sx}, ${sy})`,
|
|
2368
2368
|
opacity: 0
|
|
2369
|
-
}, {
|
|
2370
|
-
transform: ''
|
|
2371
|
-
}], {
|
|
2369
|
+
}, {}], {
|
|
2372
2370
|
duration: 225 * speed,
|
|
2373
2371
|
easing: deceleratedEasing
|
|
2374
2372
|
});
|
|
@@ -2378,9 +2376,7 @@ const VDialogTransition = defineComponent({
|
|
|
2378
2376
|
}, {
|
|
2379
2377
|
opacity: 0,
|
|
2380
2378
|
offset: 0.33
|
|
2381
|
-
}, {
|
|
2382
|
-
opacity: 1
|
|
2383
|
-
}], {
|
|
2379
|
+
}, {}], {
|
|
2384
2380
|
duration: 225 * 2 * speed,
|
|
2385
2381
|
easing: standardEasing
|
|
2386
2382
|
});
|
|
@@ -2403,9 +2399,7 @@ const VDialogTransition = defineComponent({
|
|
|
2403
2399
|
sy,
|
|
2404
2400
|
speed
|
|
2405
2401
|
} = getDimensions(props.target, el);
|
|
2406
|
-
const animation = animate(el, [{
|
|
2407
|
-
transform: ''
|
|
2408
|
-
}, {
|
|
2402
|
+
const animation = animate(el, [{}, {
|
|
2409
2403
|
transform: `translate(${x}px, ${y}px) scale(${sx}, ${sy})`,
|
|
2410
2404
|
opacity: 0
|
|
2411
2405
|
}], {
|
|
@@ -4386,9 +4380,69 @@ const Ripple = {
|
|
|
4386
4380
|
updated: updated$1
|
|
4387
4381
|
};
|
|
4388
4382
|
|
|
4383
|
+
// Composables
|
|
4384
|
+
|
|
4385
|
+
// Types
|
|
4386
|
+
|
|
4387
|
+
const oppositeMap = {
|
|
4388
|
+
center: 'center',
|
|
4389
|
+
top: 'bottom',
|
|
4390
|
+
bottom: 'top',
|
|
4391
|
+
left: 'right',
|
|
4392
|
+
right: 'left'
|
|
4393
|
+
};
|
|
4394
|
+
const makeLocationProps = propsFactory({
|
|
4395
|
+
location: String
|
|
4396
|
+
}, 'location');
|
|
4397
|
+
function useLocation(props) {
|
|
4398
|
+
let opposite = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
4399
|
+
let offset = arguments.length > 2 ? arguments[2] : undefined;
|
|
4400
|
+
const {
|
|
4401
|
+
isRtl
|
|
4402
|
+
} = useRtl();
|
|
4403
|
+
const locationStyles = computed(() => {
|
|
4404
|
+
if (!props.location) return {};
|
|
4405
|
+
const {
|
|
4406
|
+
side,
|
|
4407
|
+
align
|
|
4408
|
+
} = parseAnchor(props.location.split(' ').length > 1 ? props.location : `${props.location} center`, isRtl.value);
|
|
4409
|
+
function getOffset(side) {
|
|
4410
|
+
return offset ? offset(side) : 0;
|
|
4411
|
+
}
|
|
4412
|
+
const styles = {};
|
|
4413
|
+
if (side !== 'center') {
|
|
4414
|
+
if (opposite) styles[oppositeMap[side]] = `calc(100% - ${getOffset(side)}px)`;else styles[side] = 0;
|
|
4415
|
+
}
|
|
4416
|
+
if (align !== 'center') {
|
|
4417
|
+
if (opposite) styles[oppositeMap[align]] = `calc(100% - ${getOffset(align)}px)`;else styles[align] = 0;
|
|
4418
|
+
} else {
|
|
4419
|
+
if (side === 'center') styles.top = styles.left = '50%';else {
|
|
4420
|
+
styles[{
|
|
4421
|
+
top: 'left',
|
|
4422
|
+
bottom: 'left',
|
|
4423
|
+
left: 'top',
|
|
4424
|
+
right: 'top'
|
|
4425
|
+
}[side]] = '50%';
|
|
4426
|
+
}
|
|
4427
|
+
styles.transform = {
|
|
4428
|
+
top: 'translateX(-50%)',
|
|
4429
|
+
bottom: 'translateX(-50%)',
|
|
4430
|
+
left: 'translateY(-50%)',
|
|
4431
|
+
right: 'translateY(-50%)',
|
|
4432
|
+
center: 'translate(-50%, -50%)'
|
|
4433
|
+
}[side];
|
|
4434
|
+
}
|
|
4435
|
+
return styles;
|
|
4436
|
+
});
|
|
4437
|
+
return {
|
|
4438
|
+
locationStyles
|
|
4439
|
+
};
|
|
4440
|
+
}
|
|
4441
|
+
|
|
4389
4442
|
const VProgressLinear = defineComponent({
|
|
4390
4443
|
name: 'VProgressLinear',
|
|
4391
4444
|
props: {
|
|
4445
|
+
absolute: Boolean,
|
|
4392
4446
|
active: {
|
|
4393
4447
|
type: Boolean,
|
|
4394
4448
|
default: true
|
|
@@ -4418,6 +4472,9 @@ const VProgressLinear = defineComponent({
|
|
|
4418
4472
|
stream: Boolean,
|
|
4419
4473
|
striped: Boolean,
|
|
4420
4474
|
roundedBar: Boolean,
|
|
4475
|
+
...makeLocationProps({
|
|
4476
|
+
location: 'top'
|
|
4477
|
+
}),
|
|
4421
4478
|
...makeRoundedProps(),
|
|
4422
4479
|
...makeTagProps(),
|
|
4423
4480
|
...makeThemeProps()
|
|
@@ -4436,6 +4493,9 @@ const VProgressLinear = defineComponent({
|
|
|
4436
4493
|
const {
|
|
4437
4494
|
themeClasses
|
|
4438
4495
|
} = provideTheme(props);
|
|
4496
|
+
const {
|
|
4497
|
+
locationStyles
|
|
4498
|
+
} = useLocation(props);
|
|
4439
4499
|
const {
|
|
4440
4500
|
textColorClasses,
|
|
4441
4501
|
textColorStyles
|
|
@@ -4477,6 +4537,7 @@ const VProgressLinear = defineComponent({
|
|
|
4477
4537
|
useRender(() => createVNode(props.tag, {
|
|
4478
4538
|
"ref": intersectionRef,
|
|
4479
4539
|
"class": ['v-progress-linear', {
|
|
4540
|
+
'v-progress-linear--absolute': props.absolute,
|
|
4480
4541
|
'v-progress-linear--active': props.active && isIntersecting.value,
|
|
4481
4542
|
'v-progress-linear--reverse': isReversed.value,
|
|
4482
4543
|
'v-progress-linear--rounded': props.rounded,
|
|
@@ -4484,8 +4545,11 @@ const VProgressLinear = defineComponent({
|
|
|
4484
4545
|
'v-progress-linear--striped': props.striped
|
|
4485
4546
|
}, roundedClasses.value, themeClasses.value],
|
|
4486
4547
|
"style": {
|
|
4548
|
+
bottom: props.location === 'bottom' ? 0 : undefined,
|
|
4549
|
+
top: props.location === 'top' ? 0 : undefined,
|
|
4487
4550
|
height: props.active ? convertToUnit(height.value) : 0,
|
|
4488
|
-
'--v-progress-linear-height': convertToUnit(height.value)
|
|
4551
|
+
'--v-progress-linear-height': convertToUnit(height.value),
|
|
4552
|
+
...locationStyles.value
|
|
4489
4553
|
},
|
|
4490
4554
|
"role": "progressbar",
|
|
4491
4555
|
"aria-hidden": props.active ? 'false' : 'true',
|
|
@@ -4571,65 +4635,6 @@ function LoaderSlot(props, _ref) {
|
|
|
4571
4635
|
}, null)]);
|
|
4572
4636
|
}
|
|
4573
4637
|
|
|
4574
|
-
// Composables
|
|
4575
|
-
|
|
4576
|
-
// Types
|
|
4577
|
-
|
|
4578
|
-
const oppositeMap = {
|
|
4579
|
-
center: 'center',
|
|
4580
|
-
top: 'bottom',
|
|
4581
|
-
bottom: 'top',
|
|
4582
|
-
left: 'right',
|
|
4583
|
-
right: 'left'
|
|
4584
|
-
};
|
|
4585
|
-
const makeLocationProps = propsFactory({
|
|
4586
|
-
location: String
|
|
4587
|
-
}, 'location');
|
|
4588
|
-
function useLocation(props) {
|
|
4589
|
-
let opposite = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
4590
|
-
let offset = arguments.length > 2 ? arguments[2] : undefined;
|
|
4591
|
-
const {
|
|
4592
|
-
isRtl
|
|
4593
|
-
} = useRtl();
|
|
4594
|
-
const locationStyles = computed(() => {
|
|
4595
|
-
if (!props.location) return {};
|
|
4596
|
-
const {
|
|
4597
|
-
side,
|
|
4598
|
-
align
|
|
4599
|
-
} = parseAnchor(props.location.split(' ').length > 1 ? props.location : `${props.location} center`, isRtl.value);
|
|
4600
|
-
function getOffset(side) {
|
|
4601
|
-
return offset ? offset(side) : 0;
|
|
4602
|
-
}
|
|
4603
|
-
const styles = {};
|
|
4604
|
-
if (side !== 'center') {
|
|
4605
|
-
if (opposite) styles[oppositeMap[side]] = `calc(100% - ${getOffset(side)}px)`;else styles[side] = 0;
|
|
4606
|
-
}
|
|
4607
|
-
if (align !== 'center') {
|
|
4608
|
-
if (opposite) styles[oppositeMap[align]] = `calc(100% - ${getOffset(align)}px)`;else styles[align] = 0;
|
|
4609
|
-
} else {
|
|
4610
|
-
if (side === 'center') styles.top = styles.left = '50%';else {
|
|
4611
|
-
styles[{
|
|
4612
|
-
top: 'left',
|
|
4613
|
-
bottom: 'left',
|
|
4614
|
-
left: 'top',
|
|
4615
|
-
right: 'top'
|
|
4616
|
-
}[side]] = '50%';
|
|
4617
|
-
}
|
|
4618
|
-
styles.transform = {
|
|
4619
|
-
top: 'translateX(-50%)',
|
|
4620
|
-
bottom: 'translateX(-50%)',
|
|
4621
|
-
left: 'translateY(-50%)',
|
|
4622
|
-
right: 'translateY(-50%)',
|
|
4623
|
-
center: 'translate(-50%, -50%)'
|
|
4624
|
-
}[side];
|
|
4625
|
-
}
|
|
4626
|
-
return styles;
|
|
4627
|
-
});
|
|
4628
|
-
return {
|
|
4629
|
-
locationStyles
|
|
4630
|
-
};
|
|
4631
|
-
}
|
|
4632
|
-
|
|
4633
4638
|
// Utilities
|
|
4634
4639
|
|
|
4635
4640
|
// Types
|
|
@@ -4835,8 +4840,14 @@ const VBtn = defineComponent({
|
|
|
4835
4840
|
const group = useGroupItem(props, props.symbol, false);
|
|
4836
4841
|
const link = useLink(props, attrs);
|
|
4837
4842
|
const isActive = computed(() => {
|
|
4838
|
-
|
|
4839
|
-
|
|
4843
|
+
if (props.active !== undefined) {
|
|
4844
|
+
return props.active;
|
|
4845
|
+
}
|
|
4846
|
+
if (link.isLink.value) {
|
|
4847
|
+
var _link$isActive;
|
|
4848
|
+
return (_link$isActive = link.isActive) == null ? void 0 : _link$isActive.value;
|
|
4849
|
+
}
|
|
4850
|
+
return group == null ? void 0 : group.isSelected.value;
|
|
4840
4851
|
});
|
|
4841
4852
|
const isDisabled = computed(() => (group == null ? void 0 : group.disabled.value) || props.disabled);
|
|
4842
4853
|
const isElevated = computed(() => {
|
|
@@ -4846,7 +4857,7 @@ const VBtn = defineComponent({
|
|
|
4846
4857
|
useRender(() => {
|
|
4847
4858
|
var _slots$prepend, _slots$default, _slots$append, _slots$loader;
|
|
4848
4859
|
const Tag = link.isLink.value ? 'a' : props.tag;
|
|
4849
|
-
const hasColor = !group ||
|
|
4860
|
+
const hasColor = !group || isActive.value;
|
|
4850
4861
|
const hasPrepend = !!(props.prependIcon || slots.prepend);
|
|
4851
4862
|
const hasAppend = !!(props.appendIcon || slots.append);
|
|
4852
4863
|
const hasIcon = !!(props.icon && props.icon !== true);
|
|
@@ -4974,13 +4985,13 @@ const VAppBarTitle = defineComponent({
|
|
|
4974
4985
|
props: {
|
|
4975
4986
|
...VToolbarTitle.props
|
|
4976
4987
|
},
|
|
4977
|
-
setup(
|
|
4988
|
+
setup(props, _ref) {
|
|
4978
4989
|
let {
|
|
4979
4990
|
slots
|
|
4980
4991
|
} = _ref;
|
|
4981
|
-
useRender(() => createVNode(VToolbarTitle, {
|
|
4992
|
+
useRender(() => createVNode(VToolbarTitle, mergeProps(props, {
|
|
4982
4993
|
"class": "v-app-bar-title"
|
|
4983
|
-
}, slots));
|
|
4994
|
+
}), slots));
|
|
4984
4995
|
return {};
|
|
4985
4996
|
}
|
|
4986
4997
|
});
|
|
@@ -5326,6 +5337,7 @@ const VField = genericComponent()({
|
|
|
5326
5337
|
const hasLabel = computed(() => !props.singleLine && !!(props.label || slots.label));
|
|
5327
5338
|
const uid = getUid();
|
|
5328
5339
|
const id = computed(() => props.id || `input-${uid}`);
|
|
5340
|
+
const messagesId = computed(() => `${id.value}-messages`);
|
|
5329
5341
|
const labelRef = ref();
|
|
5330
5342
|
const floatingLabelRef = ref();
|
|
5331
5343
|
const controlRef = ref();
|
|
@@ -5450,7 +5462,8 @@ const VField = genericComponent()({
|
|
|
5450
5462
|
...slotProps.value,
|
|
5451
5463
|
props: {
|
|
5452
5464
|
id: id.value,
|
|
5453
|
-
class: 'v-field__input'
|
|
5465
|
+
class: 'v-field__input',
|
|
5466
|
+
'aria-describedby': messagesId.value
|
|
5454
5467
|
},
|
|
5455
5468
|
focus,
|
|
5456
5469
|
blur
|
|
@@ -5533,7 +5546,9 @@ const VMessages = defineComponent({
|
|
|
5533
5546
|
"transition": props.transition,
|
|
5534
5547
|
"tag": "div",
|
|
5535
5548
|
"class": ['v-messages', textColorClasses.value],
|
|
5536
|
-
"style": textColorStyles.value
|
|
5549
|
+
"style": textColorStyles.value,
|
|
5550
|
+
"role": "alert",
|
|
5551
|
+
"aria-live": "polite"
|
|
5537
5552
|
}, {
|
|
5538
5553
|
default: () => [props.active && messages.value.map((message, i) => createVNode("div", {
|
|
5539
5554
|
"class": "v-messages__message",
|
|
@@ -5851,6 +5866,7 @@ const VInput = genericComponent()({
|
|
|
5851
5866
|
} = useInputIcon(props);
|
|
5852
5867
|
const uid = getUid();
|
|
5853
5868
|
const id = computed(() => props.id || `input-${uid}`);
|
|
5869
|
+
const messagesId = computed(() => `${id.value}-messages`);
|
|
5854
5870
|
const {
|
|
5855
5871
|
errorMessages,
|
|
5856
5872
|
isDirty,
|
|
@@ -5866,6 +5882,7 @@ const VInput = genericComponent()({
|
|
|
5866
5882
|
} = useValidation(props, 'v-input', id);
|
|
5867
5883
|
const slotProps = computed(() => ({
|
|
5868
5884
|
id,
|
|
5885
|
+
messagesId,
|
|
5869
5886
|
isDirty,
|
|
5870
5887
|
isDisabled,
|
|
5871
5888
|
isReadonly,
|
|
@@ -5901,6 +5918,7 @@ const VInput = genericComponent()({
|
|
|
5901
5918
|
}, null), (_slots$append = slots.append) == null ? void 0 : _slots$append.call(slots, slotProps.value)]), hasDetails && createVNode("div", {
|
|
5902
5919
|
"class": "v-input__details"
|
|
5903
5920
|
}, [createVNode(VMessages, {
|
|
5921
|
+
"id": messagesId.value,
|
|
5904
5922
|
"active": hasMessages,
|
|
5905
5923
|
"messages": errorMessages.value.length > 0 ? errorMessages.value : props.messages
|
|
5906
5924
|
}, {
|
|
@@ -6572,11 +6590,13 @@ const VCheckbox = defineComponent({
|
|
|
6572
6590
|
default: _ref2 => {
|
|
6573
6591
|
let {
|
|
6574
6592
|
id,
|
|
6593
|
+
messagesId,
|
|
6575
6594
|
isDisabled,
|
|
6576
6595
|
isReadonly
|
|
6577
6596
|
} = _ref2;
|
|
6578
6597
|
return createVNode(VCheckboxBtn, mergeProps(checkboxProps, {
|
|
6579
6598
|
"id": id.value,
|
|
6599
|
+
"aria-describedby": messagesId.value,
|
|
6580
6600
|
"disabled": isDisabled.value,
|
|
6581
6601
|
"readonly": isReadonly.value
|
|
6582
6602
|
}, controlAttrs, {
|
|
@@ -6694,6 +6714,7 @@ const VChipGroup = defineComponent({
|
|
|
6694
6714
|
provideDefaults({
|
|
6695
6715
|
VChip: {
|
|
6696
6716
|
color: toRef(props, 'color'),
|
|
6717
|
+
disabled: toRef(props, 'disabled'),
|
|
6697
6718
|
filter: toRef(props, 'filter'),
|
|
6698
6719
|
variant: toRef(props, 'variant')
|
|
6699
6720
|
}
|
|
@@ -6743,7 +6764,10 @@ const VChip = defineComponent({
|
|
|
6743
6764
|
default: '$complete'
|
|
6744
6765
|
},
|
|
6745
6766
|
label: Boolean,
|
|
6746
|
-
link:
|
|
6767
|
+
link: {
|
|
6768
|
+
type: Boolean,
|
|
6769
|
+
default: undefined
|
|
6770
|
+
},
|
|
6747
6771
|
pill: Boolean,
|
|
6748
6772
|
prependAvatar: String,
|
|
6749
6773
|
prependIcon: IconValue,
|
|
@@ -6756,6 +6780,8 @@ const VChip = defineComponent({
|
|
|
6756
6780
|
type: Boolean,
|
|
6757
6781
|
default: true
|
|
6758
6782
|
},
|
|
6783
|
+
onClick: EventProp,
|
|
6784
|
+
onClickOnce: EventProp,
|
|
6759
6785
|
...makeBorderProps(),
|
|
6760
6786
|
...makeDensityProps(),
|
|
6761
6787
|
...makeElevationProps(),
|
|
@@ -6809,7 +6835,8 @@ const VChip = defineComponent({
|
|
|
6809
6835
|
const isActive = useProxiedModel(props, 'modelValue');
|
|
6810
6836
|
const group = useGroupItem(props, VChipGroupSymbol, false);
|
|
6811
6837
|
const link = useLink(props, attrs);
|
|
6812
|
-
const
|
|
6838
|
+
const isLink = computed(() => props.link !== false && link.isLink.value);
|
|
6839
|
+
const isClickable = computed(() => !props.disabled && props.link !== false && (!!group || props.link || link.isClickable.value));
|
|
6813
6840
|
function onCloseClick(e) {
|
|
6814
6841
|
isActive.value = false;
|
|
6815
6842
|
emit('click:close', e);
|
|
@@ -6821,6 +6848,12 @@ const VChip = defineComponent({
|
|
|
6821
6848
|
(_link$navigate = link.navigate) == null ? void 0 : _link$navigate.call(link, e);
|
|
6822
6849
|
group == null ? void 0 : group.toggle();
|
|
6823
6850
|
}
|
|
6851
|
+
function onKeyDown(e) {
|
|
6852
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
6853
|
+
e.preventDefault();
|
|
6854
|
+
onClick(e);
|
|
6855
|
+
}
|
|
6856
|
+
}
|
|
6824
6857
|
return () => {
|
|
6825
6858
|
var _slots$default;
|
|
6826
6859
|
const Tag = link.isLink.value ? 'a' : props.tag;
|
|
@@ -6841,7 +6874,9 @@ const VChip = defineComponent({
|
|
|
6841
6874
|
"disabled": props.disabled || undefined,
|
|
6842
6875
|
"draggable": props.draggable,
|
|
6843
6876
|
"href": link.href.value,
|
|
6844
|
-
"
|
|
6877
|
+
"tabindex": isClickable.value ? 0 : undefined,
|
|
6878
|
+
"onClick": onClick,
|
|
6879
|
+
"onKeydown": isClickable.value && !isLink.value && onKeyDown
|
|
6845
6880
|
}, {
|
|
6846
6881
|
default: () => [genOverlays(isClickable.value, 'v-chip'), hasFilter && createVNode(VDefaultsProvider, {
|
|
6847
6882
|
"key": "filter",
|
|
@@ -7557,6 +7592,10 @@ const VListItem = genericComponent()({
|
|
|
7557
7592
|
nav: Boolean,
|
|
7558
7593
|
prependAvatar: String,
|
|
7559
7594
|
prependIcon: IconValue,
|
|
7595
|
+
ripple: {
|
|
7596
|
+
type: Boolean,
|
|
7597
|
+
default: true
|
|
7598
|
+
},
|
|
7560
7599
|
subtitle: [String, Number, Boolean],
|
|
7561
7600
|
title: [String, Number, Boolean],
|
|
7562
7601
|
value: null,
|
|
@@ -7748,7 +7787,7 @@ const VListItem = genericComponent()({
|
|
|
7748
7787
|
"key": "append-avatar"
|
|
7749
7788
|
}, null)])]
|
|
7750
7789
|
})]
|
|
7751
|
-
}), [[resolveDirective("ripple"), isClickable.value]]);
|
|
7790
|
+
}), [[resolveDirective("ripple"), isClickable.value && props.ripple]]);
|
|
7752
7791
|
});
|
|
7753
7792
|
return {};
|
|
7754
7793
|
}
|
|
@@ -9289,19 +9328,18 @@ function useTeleport(target) {
|
|
|
9289
9328
|
warn(`Unable to locate target ${_target}`);
|
|
9290
9329
|
return undefined;
|
|
9291
9330
|
}
|
|
9292
|
-
|
|
9293
|
-
|
|
9294
|
-
|
|
9295
|
-
|
|
9296
|
-
|
|
9331
|
+
let container = targetElement.querySelector('.v-overlay-container');
|
|
9332
|
+
if (!container) {
|
|
9333
|
+
container = document.createElement('div');
|
|
9334
|
+
container.className = 'v-overlay-container';
|
|
9335
|
+
targetElement.appendChild(container);
|
|
9297
9336
|
}
|
|
9298
|
-
return
|
|
9337
|
+
return container;
|
|
9299
9338
|
});
|
|
9300
9339
|
return {
|
|
9301
9340
|
teleportTarget
|
|
9302
9341
|
};
|
|
9303
9342
|
}
|
|
9304
|
-
useTeleport.cache = new WeakMap();
|
|
9305
9343
|
|
|
9306
9344
|
function defaultConditional() {
|
|
9307
9345
|
return true;
|
|
@@ -9805,12 +9843,19 @@ const VSelect = genericComponent()({
|
|
|
9805
9843
|
const transformed = transformOut(v);
|
|
9806
9844
|
return props.multiple ? transformed : transformed[0] ?? null;
|
|
9807
9845
|
});
|
|
9846
|
+
const form = useForm();
|
|
9808
9847
|
const selections = computed(() => {
|
|
9809
9848
|
return model.value.map(v => {
|
|
9810
9849
|
return items.value.find(item => props.valueComparator(item.value, v.value)) || v;
|
|
9811
9850
|
});
|
|
9812
9851
|
});
|
|
9813
9852
|
const selected = computed(() => selections.value.map(selection => selection.props.value));
|
|
9853
|
+
const displayItems = computed(() => {
|
|
9854
|
+
if (props.hideSelected) {
|
|
9855
|
+
return items.value.filter(item => !selections.value.some(s => s === item));
|
|
9856
|
+
}
|
|
9857
|
+
return items.value;
|
|
9858
|
+
});
|
|
9814
9859
|
const listRef = ref();
|
|
9815
9860
|
function onClear(e) {
|
|
9816
9861
|
model.value = [];
|
|
@@ -9819,11 +9864,11 @@ const VSelect = genericComponent()({
|
|
|
9819
9864
|
}
|
|
9820
9865
|
}
|
|
9821
9866
|
function onClickControl() {
|
|
9822
|
-
if (props.hideNoData && !items.value.length || props.readonly) return;
|
|
9867
|
+
if (props.hideNoData && !items.value.length || props.readonly || form != null && form.isReadonly.value) return;
|
|
9823
9868
|
menu.value = !menu.value;
|
|
9824
9869
|
}
|
|
9825
9870
|
function onKeydown(e) {
|
|
9826
|
-
if (props.readonly) return;
|
|
9871
|
+
if (props.readonly || form != null && form.isReadonly.value) return;
|
|
9827
9872
|
if (['Enter', 'ArrowDown', ' '].includes(e.key)) {
|
|
9828
9873
|
e.preventDefault();
|
|
9829
9874
|
menu.value = true;
|
|
@@ -9850,7 +9895,7 @@ const VSelect = genericComponent()({
|
|
|
9850
9895
|
}
|
|
9851
9896
|
function select(item) {
|
|
9852
9897
|
if (props.multiple) {
|
|
9853
|
-
const index = selected.value.findIndex(selection => selection
|
|
9898
|
+
const index = selected.value.findIndex(selection => props.valueComparator(selection, item.value));
|
|
9854
9899
|
if (index === -1) {
|
|
9855
9900
|
model.value = [...model.value, item];
|
|
9856
9901
|
} else {
|
|
@@ -9877,6 +9922,7 @@ const VSelect = genericComponent()({
|
|
|
9877
9922
|
}
|
|
9878
9923
|
useRender(() => {
|
|
9879
9924
|
const hasChips = !!(props.chips || slots.chip);
|
|
9925
|
+
const hasList = !!(!props.hideNoData || displayItems.value.length || slots.prepend || slots.append || slots['no-data']);
|
|
9880
9926
|
const [textFieldProps] = filterVTextFieldProps(props);
|
|
9881
9927
|
return createVNode(VTextField, mergeProps({
|
|
9882
9928
|
"ref": vTextFieldRef
|
|
@@ -9909,20 +9955,21 @@ const VSelect = genericComponent()({
|
|
|
9909
9955
|
"activator": "parent",
|
|
9910
9956
|
"contentClass": "v-select__content",
|
|
9911
9957
|
"eager": props.eager,
|
|
9958
|
+
"maxHeight": 310,
|
|
9912
9959
|
"openOnClick": false,
|
|
9913
9960
|
"closeOnContentClick": false,
|
|
9914
9961
|
"transition": props.transition
|
|
9915
9962
|
}, props.menuProps), {
|
|
9916
|
-
default: () => [createVNode(VList, {
|
|
9963
|
+
default: () => [hasList && createVNode(VList, {
|
|
9917
9964
|
"ref": listRef,
|
|
9918
9965
|
"selected": selected.value,
|
|
9919
9966
|
"selectStrategy": props.multiple ? 'independent' : 'single-independent',
|
|
9920
9967
|
"onMousedown": e => e.preventDefault(),
|
|
9921
9968
|
"onFocusout": onFocusout
|
|
9922
9969
|
}, {
|
|
9923
|
-
default: () => [!
|
|
9970
|
+
default: () => [!displayItems.value.length && !props.hideNoData && (((_slots$noData = slots['no-data']) == null ? void 0 : _slots$noData.call(slots)) ?? createVNode(VListItem, {
|
|
9924
9971
|
"title": t(props.noDataText)
|
|
9925
|
-
}, null)), (_slots$prependItem = slots['prepend-item']) == null ? void 0 : _slots$prependItem.call(slots),
|
|
9972
|
+
}, null)), (_slots$prependItem = slots['prepend-item']) == null ? void 0 : _slots$prependItem.call(slots), displayItems.value.map((item, index) => {
|
|
9926
9973
|
if (slots.item) {
|
|
9927
9974
|
var _slots$item;
|
|
9928
9975
|
return (_slots$item = slots.item) == null ? void 0 : _slots$item.call(slots, {
|
|
@@ -10024,7 +10071,7 @@ function filterItems(items, query, options) {
|
|
|
10024
10071
|
const customFiltersLength = Object.keys((options == null ? void 0 : options.customKeyFilter) ?? {}).length;
|
|
10025
10072
|
if (!(items != null && items.length)) return array;
|
|
10026
10073
|
loop: for (let i = 0; i < items.length; i++) {
|
|
10027
|
-
const item = items[i]
|
|
10074
|
+
const item = items[i];
|
|
10028
10075
|
const customMatches = {};
|
|
10029
10076
|
const defaultMatches = {};
|
|
10030
10077
|
let match = -1;
|
|
@@ -10064,7 +10111,7 @@ function filterItems(items, query, options) {
|
|
|
10064
10111
|
}
|
|
10065
10112
|
return array;
|
|
10066
10113
|
}
|
|
10067
|
-
function useFilter(props, items, query) {
|
|
10114
|
+
function useFilter(props, items, query, options) {
|
|
10068
10115
|
const strQuery = computed(() => typeof (query == null ? void 0 : query.value) !== 'string' && typeof (query == null ? void 0 : query.value) !== 'number' ? '' : String(query.value));
|
|
10069
10116
|
const filteredItems = ref([]);
|
|
10070
10117
|
const filteredMatches = ref(new Map());
|
|
@@ -10075,7 +10122,7 @@ function useFilter(props, items, query) {
|
|
|
10075
10122
|
const results = filterItems(transformedItems, strQuery.value, {
|
|
10076
10123
|
customKeyFilter: props.customKeyFilter,
|
|
10077
10124
|
default: props.customFilter,
|
|
10078
|
-
filterKeys: props.filterKeys,
|
|
10125
|
+
filterKeys: unref(options == null ? void 0 : options.filterKeys) ?? props.filterKeys,
|
|
10079
10126
|
filterMode: props.filterMode,
|
|
10080
10127
|
noFilter: props.noFilter
|
|
10081
10128
|
});
|
|
@@ -10155,6 +10202,7 @@ const VAutocomplete = genericComponent()({
|
|
|
10155
10202
|
const transformed = transformOut(v);
|
|
10156
10203
|
return props.multiple ? transformed : transformed[0] ?? null;
|
|
10157
10204
|
});
|
|
10205
|
+
const form = useForm();
|
|
10158
10206
|
const {
|
|
10159
10207
|
filteredItems,
|
|
10160
10208
|
getMatches
|
|
@@ -10164,6 +10212,12 @@ const VAutocomplete = genericComponent()({
|
|
|
10164
10212
|
return items.value.find(item => props.valueComparator(item.value, v.value)) || v;
|
|
10165
10213
|
});
|
|
10166
10214
|
});
|
|
10215
|
+
const displayItems = computed(() => {
|
|
10216
|
+
if (props.hideSelected) {
|
|
10217
|
+
return filteredItems.value.filter(filteredItem => !selections.value.some(s => s.value === filteredItem.value));
|
|
10218
|
+
}
|
|
10219
|
+
return filteredItems.value;
|
|
10220
|
+
});
|
|
10167
10221
|
const selected = computed(() => selections.value.map(selection => selection.props.value));
|
|
10168
10222
|
const listRef = ref();
|
|
10169
10223
|
function onClear(e) {
|
|
@@ -10174,11 +10228,11 @@ const VAutocomplete = genericComponent()({
|
|
|
10174
10228
|
search.value = '';
|
|
10175
10229
|
}
|
|
10176
10230
|
function onClickControl() {
|
|
10177
|
-
if (props.hideNoData && !items.value.length || props.readonly) return;
|
|
10231
|
+
if (props.hideNoData && !items.value.length || props.readonly || form != null && form.isReadonly.value) return;
|
|
10178
10232
|
menu.value = true;
|
|
10179
10233
|
}
|
|
10180
10234
|
function onKeydown(e) {
|
|
10181
|
-
if (props.readonly) return;
|
|
10235
|
+
if (props.readonly || form != null && form.isReadonly.value) return;
|
|
10182
10236
|
if (['Enter', 'ArrowDown'].includes(e.key)) {
|
|
10183
10237
|
menu.value = true;
|
|
10184
10238
|
}
|
|
@@ -10216,7 +10270,7 @@ const VAutocomplete = genericComponent()({
|
|
|
10216
10270
|
const isSelecting = ref(false);
|
|
10217
10271
|
function select(item) {
|
|
10218
10272
|
if (props.multiple) {
|
|
10219
|
-
const index = selected.value.findIndex(selection => selection
|
|
10273
|
+
const index = selected.value.findIndex(selection => props.valueComparator(selection, item.value));
|
|
10220
10274
|
if (index === -1) {
|
|
10221
10275
|
model.value = [...model.value, item];
|
|
10222
10276
|
search.value = '';
|
|
@@ -10255,6 +10309,7 @@ const VAutocomplete = genericComponent()({
|
|
|
10255
10309
|
});
|
|
10256
10310
|
useRender(() => {
|
|
10257
10311
|
const hasChips = !!(props.chips || slots.chip);
|
|
10312
|
+
const hasList = !!(!props.hideNoData || displayItems.value.length || slots.prepend || slots.append || slots['no-data']);
|
|
10258
10313
|
const [textFieldProps] = filterVTextFieldProps(props);
|
|
10259
10314
|
return createVNode(VTextField, mergeProps({
|
|
10260
10315
|
"ref": vTextFieldRef
|
|
@@ -10290,12 +10345,13 @@ const VAutocomplete = genericComponent()({
|
|
|
10290
10345
|
"activator": "parent",
|
|
10291
10346
|
"contentClass": "v-autocomplete__content",
|
|
10292
10347
|
"eager": props.eager,
|
|
10348
|
+
"maxHeight": 310,
|
|
10293
10349
|
"openOnClick": false,
|
|
10294
10350
|
"closeOnContentClick": false,
|
|
10295
10351
|
"transition": props.transition,
|
|
10296
10352
|
"onAfterLeave": onAfterLeave
|
|
10297
10353
|
}, props.menuProps), {
|
|
10298
|
-
default: () => [createVNode(VList, {
|
|
10354
|
+
default: () => [hasList && createVNode(VList, {
|
|
10299
10355
|
"ref": listRef,
|
|
10300
10356
|
"selected": selected.value,
|
|
10301
10357
|
"selectStrategy": props.multiple ? 'independent' : 'single-independent',
|
|
@@ -10303,9 +10359,9 @@ const VAutocomplete = genericComponent()({
|
|
|
10303
10359
|
"onFocusin": onFocusin,
|
|
10304
10360
|
"onFocusout": onFocusout
|
|
10305
10361
|
}, {
|
|
10306
|
-
default: () => [!
|
|
10362
|
+
default: () => [!displayItems.value.length && !props.hideNoData && (((_slots$noData = slots['no-data']) == null ? void 0 : _slots$noData.call(slots)) ?? createVNode(VListItem, {
|
|
10307
10363
|
"title": t(props.noDataText)
|
|
10308
|
-
}, null)), (_slots$prependItem = slots['prepend-item']) == null ? void 0 : _slots$prependItem.call(slots),
|
|
10364
|
+
}, null)), (_slots$prependItem = slots['prepend-item']) == null ? void 0 : _slots$prependItem.call(slots), displayItems.value.map((item, index) => {
|
|
10309
10365
|
var _slots$item;
|
|
10310
10366
|
return ((_slots$item = slots.item) == null ? void 0 : _slots$item.call(slots, {
|
|
10311
10367
|
item,
|
|
@@ -10998,7 +11054,10 @@ const VCard = defineComponent({
|
|
|
10998
11054
|
},
|
|
10999
11055
|
prependAvatar: String,
|
|
11000
11056
|
prependIcon: IconValue,
|
|
11001
|
-
ripple:
|
|
11057
|
+
ripple: {
|
|
11058
|
+
type: Boolean,
|
|
11059
|
+
default: true
|
|
11060
|
+
},
|
|
11002
11061
|
subtitle: String,
|
|
11003
11062
|
text: String,
|
|
11004
11063
|
title: String,
|
|
@@ -11119,7 +11178,7 @@ const VCard = defineComponent({
|
|
|
11119
11178
|
}), (_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots), slots.actions && createVNode(VCardActions, null, {
|
|
11120
11179
|
default: slots.actions
|
|
11121
11180
|
}), genOverlays(isClickable.value, 'v-card')]
|
|
11122
|
-
}), [[resolveDirective("ripple"), isClickable.value]]);
|
|
11181
|
+
}), [[resolveDirective("ripple"), isClickable.value && props.ripple]]);
|
|
11123
11182
|
});
|
|
11124
11183
|
return {};
|
|
11125
11184
|
}
|
|
@@ -12412,6 +12471,10 @@ const VSliderThumb = defineComponent({
|
|
|
12412
12471
|
position: {
|
|
12413
12472
|
type: Number,
|
|
12414
12473
|
required: true
|
|
12474
|
+
},
|
|
12475
|
+
ripple: {
|
|
12476
|
+
type: Boolean,
|
|
12477
|
+
default: true
|
|
12415
12478
|
}
|
|
12416
12479
|
},
|
|
12417
12480
|
emits: {
|
|
@@ -12512,7 +12575,7 @@ const VSliderThumb = defineComponent({
|
|
|
12512
12575
|
}, null), withDirectives(createVNode("div", {
|
|
12513
12576
|
"class": ['v-slider-thumb__ripple', textColorClasses.value],
|
|
12514
12577
|
"style": textColorStyles.value
|
|
12515
|
-
}, null), [[resolveDirective("ripple"),
|
|
12578
|
+
}, null), [[resolveDirective("ripple"), props.ripple, null, {
|
|
12516
12579
|
circle: true,
|
|
12517
12580
|
center: true
|
|
12518
12581
|
}]]), createVNode(VScaleTransition, {
|
|
@@ -12715,13 +12778,15 @@ const VSlider = defineComponent({
|
|
|
12715
12778
|
prepend: hasPrepend ? slotProps => {
|
|
12716
12779
|
var _slots$label, _slots$prepend;
|
|
12717
12780
|
return createVNode(Fragment, null, [((_slots$label = slots.label) == null ? void 0 : _slots$label.call(slots, slotProps)) ?? props.label ? createVNode(VLabel, {
|
|
12781
|
+
"id": slotProps.id,
|
|
12718
12782
|
"class": "v-slider__label",
|
|
12719
12783
|
"text": props.label
|
|
12720
12784
|
}, null) : undefined, (_slots$prepend = slots.prepend) == null ? void 0 : _slots$prepend.call(slots, slotProps)]);
|
|
12721
12785
|
} : undefined,
|
|
12722
12786
|
default: _ref2 => {
|
|
12723
12787
|
let {
|
|
12724
|
-
id
|
|
12788
|
+
id,
|
|
12789
|
+
messagesId
|
|
12725
12790
|
} = _ref2;
|
|
12726
12791
|
return createVNode("div", {
|
|
12727
12792
|
"class": "v-slider__container",
|
|
@@ -12742,6 +12807,7 @@ const VSlider = defineComponent({
|
|
|
12742
12807
|
'tick-label': slots['tick-label']
|
|
12743
12808
|
}), createVNode(VSliderThumb, {
|
|
12744
12809
|
"ref": thumbContainerRef,
|
|
12810
|
+
"aria-describedby": messagesId.value,
|
|
12745
12811
|
"focused": isFocused.value,
|
|
12746
12812
|
"min": min.value,
|
|
12747
12813
|
"max": max.value,
|
|
@@ -13443,6 +13509,7 @@ const VCombobox = genericComponent()({
|
|
|
13443
13509
|
const transformed = transformOut(v);
|
|
13444
13510
|
return props.multiple ? transformed : transformed[0] ?? null;
|
|
13445
13511
|
});
|
|
13512
|
+
const form = useForm();
|
|
13446
13513
|
const _search = ref(!props.multiple ? ((_model$value$ = model.value[0]) == null ? void 0 : _model$value$.title) ?? '' : '');
|
|
13447
13514
|
const search = computed({
|
|
13448
13515
|
get: () => {
|
|
@@ -13487,6 +13554,12 @@ const VCombobox = genericComponent()({
|
|
|
13487
13554
|
return items.value.find(item => props.valueComparator(item.value, v.value)) || v;
|
|
13488
13555
|
});
|
|
13489
13556
|
});
|
|
13557
|
+
const displayItems = computed(() => {
|
|
13558
|
+
if (props.hideSelected) {
|
|
13559
|
+
return filteredItems.value.filter(filteredItem => !selections.value.some(s => s.value === filteredItem.value));
|
|
13560
|
+
}
|
|
13561
|
+
return filteredItems.value;
|
|
13562
|
+
});
|
|
13490
13563
|
const selected = computed(() => selections.value.map(selection => selection.props.value));
|
|
13491
13564
|
const selection = computed(() => selections.value[selectionIndex.value]);
|
|
13492
13565
|
const listRef = ref();
|
|
@@ -13497,11 +13570,11 @@ const VCombobox = genericComponent()({
|
|
|
13497
13570
|
}
|
|
13498
13571
|
}
|
|
13499
13572
|
function onClickControl() {
|
|
13500
|
-
if (props.hideNoData && !items.value.length || props.readonly) return;
|
|
13573
|
+
if (props.hideNoData && !items.value.length || props.readonly || form != null && form.isReadonly.value) return;
|
|
13501
13574
|
menu.value = true;
|
|
13502
13575
|
}
|
|
13503
13576
|
function onKeydown(e) {
|
|
13504
|
-
if (props.readonly) return;
|
|
13577
|
+
if (props.readonly || form != null && form.isReadonly.value) return;
|
|
13505
13578
|
const selectionStart = vTextFieldRef.value.selectionStart;
|
|
13506
13579
|
const length = selected.value.length;
|
|
13507
13580
|
if (selectionIndex.value > -1) e.preventDefault();
|
|
@@ -13554,7 +13627,7 @@ const VCombobox = genericComponent()({
|
|
|
13554
13627
|
vTextFieldRef.value.setSelectionRange(0, 0);
|
|
13555
13628
|
}
|
|
13556
13629
|
}
|
|
13557
|
-
if (e.key === 'Enter') {
|
|
13630
|
+
if (e.key === 'Enter' && search.value) {
|
|
13558
13631
|
select(transformItem$1(props, search.value));
|
|
13559
13632
|
search.value = '';
|
|
13560
13633
|
}
|
|
@@ -13564,7 +13637,7 @@ const VCombobox = genericComponent()({
|
|
|
13564
13637
|
}
|
|
13565
13638
|
function select(item) {
|
|
13566
13639
|
if (props.multiple) {
|
|
13567
|
-
const index = selected.value.findIndex(selection => selection
|
|
13640
|
+
const index = selected.value.findIndex(selection => props.valueComparator(selection, item.value));
|
|
13568
13641
|
if (index === -1) {
|
|
13569
13642
|
model.value = [...model.value, item];
|
|
13570
13643
|
} else {
|
|
@@ -13608,6 +13681,7 @@ const VCombobox = genericComponent()({
|
|
|
13608
13681
|
});
|
|
13609
13682
|
useRender(() => {
|
|
13610
13683
|
const hasChips = !!(props.chips || slots.chip);
|
|
13684
|
+
const hasList = !!(!props.hideNoData || displayItems.value.length || slots.prepend || slots.append || slots['no-data']);
|
|
13611
13685
|
const [textFieldProps] = filterVTextFieldProps(props);
|
|
13612
13686
|
return createVNode(VTextField, mergeProps({
|
|
13613
13687
|
"ref": vTextFieldRef
|
|
@@ -13642,12 +13716,13 @@ const VCombobox = genericComponent()({
|
|
|
13642
13716
|
"activator": "parent",
|
|
13643
13717
|
"contentClass": "v-combobox__content",
|
|
13644
13718
|
"eager": props.eager,
|
|
13719
|
+
"maxHeight": 310,
|
|
13645
13720
|
"openOnClick": false,
|
|
13646
13721
|
"closeOnContentClick": false,
|
|
13647
13722
|
"transition": props.transition,
|
|
13648
13723
|
"onAfterLeave": onAfterLeave
|
|
13649
13724
|
}, props.menuProps), {
|
|
13650
|
-
default: () => [createVNode(VList, {
|
|
13725
|
+
default: () => [hasList && createVNode(VList, {
|
|
13651
13726
|
"ref": listRef,
|
|
13652
13727
|
"selected": selected.value,
|
|
13653
13728
|
"selectStrategy": props.multiple ? 'independent' : 'single-independent',
|
|
@@ -13655,9 +13730,9 @@ const VCombobox = genericComponent()({
|
|
|
13655
13730
|
"onFocusin": onFocusin,
|
|
13656
13731
|
"onFocusout": onFocusout
|
|
13657
13732
|
}, {
|
|
13658
|
-
default: () => [!
|
|
13733
|
+
default: () => [!displayItems.value.length && !props.hideNoData && (((_slots$noData = slots['no-data']) == null ? void 0 : _slots$noData.call(slots)) ?? createVNode(VListItem, {
|
|
13659
13734
|
"title": t(props.noDataText)
|
|
13660
|
-
}, null)), (_slots$prependItem = slots['prepend-item']) == null ? void 0 : _slots$prependItem.call(slots),
|
|
13735
|
+
}, null)), (_slots$prependItem = slots['prepend-item']) == null ? void 0 : _slots$prependItem.call(slots), displayItems.value.map((item, index) => {
|
|
13661
13736
|
var _slots$item;
|
|
13662
13737
|
return ((_slots$item = slots.item) == null ? void 0 : _slots$item.call(slots, {
|
|
13663
13738
|
item,
|
|
@@ -14207,6 +14282,7 @@ const VFileInput = defineComponent({
|
|
|
14207
14282
|
...slots,
|
|
14208
14283
|
default: _ref3 => {
|
|
14209
14284
|
let {
|
|
14285
|
+
id,
|
|
14210
14286
|
isDisabled,
|
|
14211
14287
|
isDirty,
|
|
14212
14288
|
isReadonly,
|
|
@@ -14220,6 +14296,7 @@ const VFileInput = defineComponent({
|
|
|
14220
14296
|
"onClick:prependInner": props['onClick:prependInner'],
|
|
14221
14297
|
"onClick:appendInner": props['onClick:appendInner']
|
|
14222
14298
|
}, fieldProps, {
|
|
14299
|
+
"id": id.value,
|
|
14223
14300
|
"active": isDirty.value || isFocused.value,
|
|
14224
14301
|
"dirty": isDirty.value,
|
|
14225
14302
|
"focused": isFocused.value,
|
|
@@ -16000,6 +16077,7 @@ const VRadioGroup = defineComponent({
|
|
|
16000
16077
|
default: _ref2 => {
|
|
16001
16078
|
let {
|
|
16002
16079
|
id,
|
|
16080
|
+
messagesId,
|
|
16003
16081
|
isDisabled,
|
|
16004
16082
|
isReadonly
|
|
16005
16083
|
} = _ref2;
|
|
@@ -16009,6 +16087,7 @@ const VRadioGroup = defineComponent({
|
|
|
16009
16087
|
default: () => [label]
|
|
16010
16088
|
}), createVNode(VSelectionControlGroup, mergeProps(controlProps, {
|
|
16011
16089
|
"id": id.value,
|
|
16090
|
+
"aria-describedby": messagesId.value,
|
|
16012
16091
|
"defaultsTarget": "VRadio",
|
|
16013
16092
|
"trueIcon": props.trueIcon,
|
|
16014
16093
|
"falseIcon": props.falseIcon,
|
|
@@ -16132,7 +16211,8 @@ const VRangeSlider = defineComponent({
|
|
|
16132
16211
|
default: _ref2 => {
|
|
16133
16212
|
var _startThumbRef$value4, _stopThumbRef$value4;
|
|
16134
16213
|
let {
|
|
16135
|
-
id
|
|
16214
|
+
id,
|
|
16215
|
+
messagesId
|
|
16136
16216
|
} = _ref2;
|
|
16137
16217
|
return createVNode("div", {
|
|
16138
16218
|
"class": "v-slider__container",
|
|
@@ -16160,6 +16240,7 @@ const VRangeSlider = defineComponent({
|
|
|
16160
16240
|
'tick-label': slots['tick-label']
|
|
16161
16241
|
}), createVNode(VSliderThumb, {
|
|
16162
16242
|
"ref": startThumbRef,
|
|
16243
|
+
"aria-describedby": messagesId.value,
|
|
16163
16244
|
"focused": isFocused && activeThumbRef.value === ((_startThumbRef$value4 = startThumbRef.value) == null ? void 0 : _startThumbRef$value4.$el),
|
|
16164
16245
|
"modelValue": model.value[0],
|
|
16165
16246
|
"onUpdate:modelValue": v => model.value = [v, model.value[1]],
|
|
@@ -16189,6 +16270,7 @@ const VRangeSlider = defineComponent({
|
|
|
16189
16270
|
'thumb-label': slots['thumb-label']
|
|
16190
16271
|
}), createVNode(VSliderThumb, {
|
|
16191
16272
|
"ref": stopThumbRef,
|
|
16273
|
+
"aria-describedby": messagesId.value,
|
|
16192
16274
|
"focused": isFocused && activeThumbRef.value === ((_stopThumbRef$value4 = stopThumbRef.value) == null ? void 0 : _stopThumbRef$value4.$el),
|
|
16193
16275
|
"modelValue": model.value[1],
|
|
16194
16276
|
"onUpdate:modelValue": v => model.value = [model.value[0], v],
|
|
@@ -17026,6 +17108,7 @@ const VSwitch = defineComponent({
|
|
|
17026
17108
|
default: _ref2 => {
|
|
17027
17109
|
let {
|
|
17028
17110
|
id,
|
|
17111
|
+
messagesId,
|
|
17029
17112
|
isDisabled,
|
|
17030
17113
|
isReadonly,
|
|
17031
17114
|
isValid
|
|
@@ -17036,6 +17119,7 @@ const VSwitch = defineComponent({
|
|
|
17036
17119
|
"modelValue": model.value,
|
|
17037
17120
|
"onUpdate:modelValue": [$event => model.value = $event, onChange],
|
|
17038
17121
|
"id": id.value,
|
|
17122
|
+
"aria-describedby": messagesId.value,
|
|
17039
17123
|
"type": "checkbox",
|
|
17040
17124
|
"aria-checked": indeterminate.value ? 'mixed' : undefined,
|
|
17041
17125
|
"disabled": isDisabled.value,
|
|
@@ -18306,7 +18390,7 @@ function createVuetify$1() {
|
|
|
18306
18390
|
locale
|
|
18307
18391
|
};
|
|
18308
18392
|
}
|
|
18309
|
-
const version$1 = "3.1.
|
|
18393
|
+
const version$1 = "3.1.2";
|
|
18310
18394
|
createVuetify$1.version = version$1;
|
|
18311
18395
|
|
|
18312
18396
|
// Vue's inject() can only be used in setup
|
|
@@ -18327,7 +18411,7 @@ const createVuetify = function () {
|
|
|
18327
18411
|
...options
|
|
18328
18412
|
});
|
|
18329
18413
|
};
|
|
18330
|
-
const version = "3.1.
|
|
18414
|
+
const version = "3.1.2";
|
|
18331
18415
|
createVuetify.version = version;
|
|
18332
18416
|
|
|
18333
18417
|
export { components, createVuetify, directives, useDisplay, useLayout, useLocale, useRtl, useTheme, version };
|