vuetify 3.9.5 → 3.9.7
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 +3244 -3236
- package/dist/json/importMap-labs.json +28 -28
- package/dist/json/importMap.json +162 -162
- package/dist/json/tags.json +2 -0
- package/dist/json/web-types.json +6419 -6311
- package/dist/vuetify-labs.cjs +183 -127
- package/dist/vuetify-labs.css +3841 -3706
- package/dist/vuetify-labs.d.ts +173 -75
- package/dist/vuetify-labs.esm.js +183 -127
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +183 -127
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +78 -44
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +2171 -2039
- package/dist/vuetify.d.ts +70 -70
- package/dist/vuetify.esm.js +78 -44
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +78 -44
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +67 -60
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.css +12 -0
- package/lib/components/VAlert/VAlert.sass +13 -0
- package/lib/components/VAutocomplete/VAutocomplete.css +2 -1
- package/lib/components/VAutocomplete/VAutocomplete.sass +3 -2
- package/lib/components/VBtn/VBtn.css +10 -0
- package/lib/components/VBtn/VBtn.sass +9 -0
- package/lib/components/VCard/VCard.css +11 -0
- package/lib/components/VCard/VCard.sass +9 -0
- package/lib/components/VChip/VChip.css +6 -0
- package/lib/components/VChip/VChip.sass +5 -0
- package/lib/components/VChipGroup/VChipGroup.css +25 -0
- package/lib/components/VChipGroup/VChipGroup.sass +23 -0
- package/lib/components/VCombobox/VCombobox.css +2 -1
- package/lib/components/VCombobox/VCombobox.sass +3 -2
- package/lib/components/VDatePicker/VDatePicker.js +10 -4
- package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerYears.js +18 -8
- package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
- package/lib/components/VFileInput/VFileInput.js +4 -2
- package/lib/components/VFileInput/VFileInput.js.map +1 -1
- package/lib/components/VList/VListItem.css +30 -0
- package/lib/components/VList/VListItem.d.ts +3 -3
- package/lib/components/VList/VListItem.sass +29 -0
- package/lib/components/VNumberInput/VNumberInput.js +6 -6
- package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.js +9 -2
- package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.css +3 -3
- package/lib/components/VProgressLinear/VProgressLinear.js +5 -6
- package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.sass +3 -3
- package/lib/components/VSelect/VSelect.css +5 -1
- package/lib/components/VSelect/VSelect.sass +6 -2
- package/lib/components/VSlideGroup/VSlideGroup.js +5 -4
- package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.css +5 -0
- package/lib/components/VSnackbar/VSnackbar.sass +3 -0
- package/lib/components/VSparkline/VBarline.js +2 -2
- package/lib/components/VSparkline/VBarline.js.map +1 -1
- package/lib/components/VSparkline/VTrendline.js +3 -0
- package/lib/components/VSparkline/VTrendline.js.map +1 -1
- package/lib/components/VTextField/VTextField.js +2 -2
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/components/VTextarea/VTextarea.js +4 -2
- package/lib/components/VTextarea/VTextarea.js.map +1 -1
- package/lib/components/VTimeline/VTimeline.css +22 -0
- package/lib/components/VTimeline/VTimeline.sass +12 -0
- package/lib/components/VTreeview/VTreeviewItem.css +13 -8
- package/lib/components/VTreeview/VTreeviewItem.d.ts +9 -9
- package/lib/components/VTreeview/VTreeviewItem.sass +12 -8
- package/lib/composables/filter.js +3 -1
- package/lib/composables/filter.js.map +1 -1
- package/lib/composables/nested/nested.d.ts +1 -1
- package/lib/composables/nested/nested.js +5 -2
- package/lib/composables/nested/nested.js.map +1 -1
- package/lib/composables/rounded.js +3 -3
- package/lib/composables/rounded.js.map +1 -1
- package/lib/directives/touch/index.js +2 -2
- package/lib/directives/touch/index.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +58 -58
- package/lib/framework.js +1 -1
- package/lib/labs/VDateInput/VDateInput.d.ts +78 -3
- package/lib/labs/VDateInput/VDateInput.js +3 -1
- package/lib/labs/VDateInput/VDateInput.js.map +1 -1
- package/lib/labs/VIconBtn/VIconBtn.js +1 -1
- package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
- package/lib/labs/VPie/VPie.css +3 -0
- package/lib/labs/VPie/VPie.js +71 -29
- package/lib/labs/VPie/VPie.js.map +1 -1
- package/lib/labs/VPie/VPie.sass +3 -0
- package/lib/labs/VPie/VPieSegment.d.ts +25 -2
- package/lib/labs/VPie/VPieSegment.js +11 -6
- package/lib/labs/VPie/VPieSegment.js.map +1 -1
- package/lib/labs/VPie/VPieTooltip.d.ts +10 -0
- package/lib/labs/VPie/VPieTooltip.js +4 -22
- package/lib/labs/VPie/VPieTooltip.js.map +1 -1
- package/lib/labs/VPie/types.d.ts +1 -0
- package/lib/labs/VPie/types.js.map +1 -1
- package/lib/labs/VVideo/VVideo.css +4 -4
- package/lib/labs/VVideo/VVideo.js +24 -33
- package/lib/labs/VVideo/VVideo.js.map +1 -1
- package/lib/labs/VVideo/VVideo.sass +4 -4
- package/package.json +2 -2
package/dist/vuetify.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.9.
|
|
2
|
+
* Vuetify v3.9.7
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -3969,14 +3969,14 @@
|
|
|
3969
3969
|
const rounded = vue.isRef(props) ? props.value : props.rounded;
|
|
3970
3970
|
const tile = vue.isRef(props) ? props.value : props.tile;
|
|
3971
3971
|
const classes = [];
|
|
3972
|
-
if (
|
|
3972
|
+
if (tile || rounded === false) {
|
|
3973
|
+
classes.push('rounded-0');
|
|
3974
|
+
} else if (rounded === true || rounded === '') {
|
|
3973
3975
|
classes.push(`${name}--rounded`);
|
|
3974
3976
|
} else if (typeof rounded === 'string' || rounded === 0) {
|
|
3975
3977
|
for (const value of String(rounded).split(' ')) {
|
|
3976
3978
|
classes.push(`rounded-${value}`);
|
|
3977
3979
|
}
|
|
3978
|
-
} else if (tile || rounded === false) {
|
|
3979
|
-
classes.push('rounded-0');
|
|
3980
3980
|
}
|
|
3981
3981
|
return classes;
|
|
3982
3982
|
});
|
|
@@ -5608,7 +5608,6 @@
|
|
|
5608
5608
|
const normalizedValue = vue.computed(() => clamp(parseFloat(progress.value) / max.value * 100, 0, 100));
|
|
5609
5609
|
const isReversed = vue.computed(() => isRtl.value !== props.reverse);
|
|
5610
5610
|
const transition = vue.computed(() => props.indeterminate ? 'fade-transition' : 'slide-x-transition');
|
|
5611
|
-
const isForcedColorsModeActive = IN_BROWSER && window.matchMedia?.('(forced-colors: active)').matches;
|
|
5612
5611
|
function handleClick(e) {
|
|
5613
5612
|
if (!intersectionRef.value) return;
|
|
5614
5613
|
const {
|
|
@@ -5657,13 +5656,13 @@
|
|
|
5657
5656
|
'--v-progress-linear-stream-to': convertToUnit(height.value * (isReversed.value ? 1 : -1))
|
|
5658
5657
|
}
|
|
5659
5658
|
}, null), vue.createElementVNode("div", {
|
|
5660
|
-
"class": vue.normalizeClass(['v-progress-linear__background',
|
|
5659
|
+
"class": vue.normalizeClass(['v-progress-linear__background', backgroundColorClasses.value]),
|
|
5661
5660
|
"style": vue.normalizeStyle([backgroundColorStyles.value, {
|
|
5662
5661
|
opacity: parseFloat(props.bgOpacity),
|
|
5663
5662
|
width: props.stream ? 0 : undefined
|
|
5664
5663
|
}])
|
|
5665
5664
|
}, null), vue.createElementVNode("div", {
|
|
5666
|
-
"class": vue.normalizeClass(['v-progress-linear__buffer',
|
|
5665
|
+
"class": vue.normalizeClass(['v-progress-linear__buffer', bufferColorClasses.value]),
|
|
5667
5666
|
"style": vue.normalizeStyle([bufferColorStyles.value, {
|
|
5668
5667
|
opacity: parseFloat(props.bufferOpacity),
|
|
5669
5668
|
width: convertToUnit(normalizedBuffer.value, '%')
|
|
@@ -5672,7 +5671,7 @@
|
|
|
5672
5671
|
"name": transition.value
|
|
5673
5672
|
}, {
|
|
5674
5673
|
default: () => [!props.indeterminate ? vue.createElementVNode("div", {
|
|
5675
|
-
"class": vue.normalizeClass(['v-progress-linear__determinate',
|
|
5674
|
+
"class": vue.normalizeClass(['v-progress-linear__determinate', barColorClasses.value]),
|
|
5676
5675
|
"style": vue.normalizeStyle([barColorStyles.value, {
|
|
5677
5676
|
width: convertToUnit(normalizedValue.value, '%')
|
|
5678
5677
|
}])
|
|
@@ -5680,7 +5679,7 @@
|
|
|
5680
5679
|
"class": "v-progress-linear__indeterminate"
|
|
5681
5680
|
}, [['long', 'short'].map(bar => vue.createElementVNode("div", {
|
|
5682
5681
|
"key": bar,
|
|
5683
|
-
"class": vue.normalizeClass(['v-progress-linear__indeterminate', bar,
|
|
5682
|
+
"class": vue.normalizeClass(['v-progress-linear__indeterminate', bar, barColorClasses.value]),
|
|
5684
5683
|
"style": vue.normalizeStyle(barColorStyles.value)
|
|
5685
5684
|
}, null))])]
|
|
5686
5685
|
}), slots.default && vue.createElementVNode("div", {
|
|
@@ -8452,6 +8451,7 @@
|
|
|
8452
8451
|
select: group.select,
|
|
8453
8452
|
isSelected: group.isSelected
|
|
8454
8453
|
}));
|
|
8454
|
+
const hasOverflowOrScroll = vue.computed(() => isOverflowing.value || Math.abs(scrollOffset.value) > 0);
|
|
8455
8455
|
const hasAffixes = vue.computed(() => {
|
|
8456
8456
|
switch (props.showArrows) {
|
|
8457
8457
|
// Always show arrows on desktop & mobile
|
|
@@ -8465,17 +8465,17 @@
|
|
|
8465
8465
|
// Show arrows on mobile when overflowing.
|
|
8466
8466
|
// This matches the default 2.2 behavior
|
|
8467
8467
|
case true:
|
|
8468
|
-
return
|
|
8468
|
+
return hasOverflowOrScroll.value;
|
|
8469
8469
|
|
|
8470
8470
|
// Always show on mobile
|
|
8471
8471
|
case 'mobile':
|
|
8472
|
-
return mobile.value ||
|
|
8472
|
+
return mobile.value || hasOverflowOrScroll.value;
|
|
8473
8473
|
|
|
8474
8474
|
// https://material.io/components/tabs#scrollable-tabs
|
|
8475
8475
|
// Always show arrows when
|
|
8476
8476
|
// overflowed on desktop
|
|
8477
8477
|
default:
|
|
8478
|
-
return !mobile.value &&
|
|
8478
|
+
return !mobile.value && hasOverflowOrScroll.value;
|
|
8479
8479
|
}
|
|
8480
8480
|
});
|
|
8481
8481
|
const hasPrev = vue.computed(() => {
|
|
@@ -8483,7 +8483,7 @@
|
|
|
8483
8483
|
return Math.abs(scrollOffset.value) > 1;
|
|
8484
8484
|
});
|
|
8485
8485
|
const hasNext = vue.computed(() => {
|
|
8486
|
-
if (!containerRef.value) return false;
|
|
8486
|
+
if (!containerRef.value || !hasOverflowOrScroll.value) return false;
|
|
8487
8487
|
const scrollSize = getScrollSize(isHorizontal.value, containerRef.el);
|
|
8488
8488
|
const clientSize = getClientSize(isHorizontal.value, containerRef.el);
|
|
8489
8489
|
const scrollSizeMax = scrollSize - clientSize;
|
|
@@ -9480,7 +9480,7 @@
|
|
|
9480
9480
|
function getPath(id) {
|
|
9481
9481
|
const path = [];
|
|
9482
9482
|
let parent = vue.toRaw(id);
|
|
9483
|
-
while (parent
|
|
9483
|
+
while (parent !== undefined) {
|
|
9484
9484
|
path.unshift(parent);
|
|
9485
9485
|
parent = parents.value.get(parent);
|
|
9486
9486
|
}
|
|
@@ -9626,7 +9626,10 @@
|
|
|
9626
9626
|
const useNestedItem = (id, isDisabled, isGroup) => {
|
|
9627
9627
|
const parent = vue.inject(VNestedSymbol, emptyNested);
|
|
9628
9628
|
const uidSymbol = Symbol('nested item');
|
|
9629
|
-
const computedId = vue.computed(() =>
|
|
9629
|
+
const computedId = vue.computed(() => {
|
|
9630
|
+
const idValue = vue.toRaw(vue.toValue(id));
|
|
9631
|
+
return idValue !== undefined ? idValue : uidSymbol;
|
|
9632
|
+
});
|
|
9630
9633
|
const item = {
|
|
9631
9634
|
...parent,
|
|
9632
9635
|
id: computedId,
|
|
@@ -12786,7 +12789,7 @@
|
|
|
12786
12789
|
"onClick:prependInner": props['onClick:prependInner'],
|
|
12787
12790
|
"onClick:appendInner": props['onClick:appendInner'],
|
|
12788
12791
|
"role": props.role
|
|
12789
|
-
}, fieldProps, {
|
|
12792
|
+
}, omit(fieldProps, ['onClick:clear']), {
|
|
12790
12793
|
"id": id.value,
|
|
12791
12794
|
"active": isActive.value || isDirty.value,
|
|
12792
12795
|
"dirty": isDirty.value || props.dirty,
|
|
@@ -13837,11 +13840,13 @@
|
|
|
13837
13840
|
const defaultMatches = {};
|
|
13838
13841
|
let match = -1;
|
|
13839
13842
|
if ((query || customFiltersLength > 0) && !options?.noFilter) {
|
|
13843
|
+
let hasOnlyCustomFilters = false;
|
|
13840
13844
|
if (typeof item === 'object') {
|
|
13841
13845
|
if (item.type === 'divider' || item.type === 'subheader') {
|
|
13842
13846
|
continue;
|
|
13843
13847
|
}
|
|
13844
13848
|
const filterKeys = keys || Object.keys(transformed);
|
|
13849
|
+
hasOnlyCustomFilters = filterKeys.length === customFiltersLength;
|
|
13845
13850
|
for (const key of filterKeys) {
|
|
13846
13851
|
const value = getPropertyFromItem(transformed, key);
|
|
13847
13852
|
const keyFilter = options?.customKeyFilter?.[key];
|
|
@@ -13862,7 +13867,7 @@
|
|
|
13862
13867
|
const customMatchesLength = Object.keys(customMatches).length;
|
|
13863
13868
|
if (!defaultMatchesLength && !customMatchesLength) continue;
|
|
13864
13869
|
if (options?.filterMode === 'union' && customMatchesLength !== customFiltersLength && !defaultMatchesLength) continue;
|
|
13865
|
-
if (options?.filterMode === 'intersection' && (customMatchesLength !== customFiltersLength || !defaultMatchesLength)) continue;
|
|
13870
|
+
if (options?.filterMode === 'intersection' && (customMatchesLength !== customFiltersLength || !defaultMatchesLength && customFiltersLength > 0 && !hasOnlyCustomFilters)) continue;
|
|
13866
13871
|
}
|
|
13867
13872
|
array.push({
|
|
13868
13873
|
index: i,
|
|
@@ -15536,7 +15541,7 @@
|
|
|
15536
15541
|
};
|
|
15537
15542
|
const uid = binding.instance?.$.uid; // TODO: use custom uid generator
|
|
15538
15543
|
|
|
15539
|
-
if (!target ||
|
|
15544
|
+
if (!target || uid === undefined) return;
|
|
15540
15545
|
const handlers = createHandlers(binding.value);
|
|
15541
15546
|
target._touchHandlers = target._touchHandlers ?? Object.create(null);
|
|
15542
15547
|
target._touchHandlers[uid] = handlers;
|
|
@@ -15547,7 +15552,7 @@
|
|
|
15547
15552
|
function unmounted$3(el, binding) {
|
|
15548
15553
|
const target = binding.value?.parent ? el.parentElement : el;
|
|
15549
15554
|
const uid = binding.instance?.$.uid;
|
|
15550
|
-
if (!target?._touchHandlers ||
|
|
15555
|
+
if (!target?._touchHandlers || uid === undefined) return;
|
|
15551
15556
|
const handlers = target._touchHandlers[uid];
|
|
15552
15557
|
keys(handlers).forEach(eventName => {
|
|
15553
15558
|
target.removeEventListener(eventName, handlers[eventName]);
|
|
@@ -23560,6 +23565,9 @@
|
|
|
23560
23565
|
const VDatePickerYears = genericComponent()({
|
|
23561
23566
|
name: 'VDatePickerYears',
|
|
23562
23567
|
props: makeVDatePickerYearsProps(),
|
|
23568
|
+
directives: {
|
|
23569
|
+
vIntersect: Intersect
|
|
23570
|
+
},
|
|
23563
23571
|
emits: {
|
|
23564
23572
|
'update:modelValue': year => true
|
|
23565
23573
|
},
|
|
@@ -23596,10 +23604,12 @@
|
|
|
23596
23604
|
model.value = model.value ?? adapter.getYear(adapter.date());
|
|
23597
23605
|
});
|
|
23598
23606
|
const yearRef = templateRef();
|
|
23599
|
-
|
|
23600
|
-
await vue.nextTick();
|
|
23607
|
+
function focusSelectedYear() {
|
|
23601
23608
|
yearRef.el?.focus();
|
|
23602
|
-
|
|
23609
|
+
yearRef.el?.scrollIntoView({
|
|
23610
|
+
block: 'center'
|
|
23611
|
+
});
|
|
23612
|
+
}
|
|
23603
23613
|
function isYearAllowed(year) {
|
|
23604
23614
|
if (Array.isArray(props.allowedYears) && props.allowedYears.length) {
|
|
23605
23615
|
return props.allowedYears.includes(year);
|
|
@@ -23609,7 +23619,7 @@
|
|
|
23609
23619
|
}
|
|
23610
23620
|
return true;
|
|
23611
23621
|
}
|
|
23612
|
-
useRender(() => vue.createElementVNode("div", {
|
|
23622
|
+
useRender(() => vue.withDirectives(vue.createElementVNode("div", {
|
|
23613
23623
|
"class": "v-date-picker-years",
|
|
23614
23624
|
"style": {
|
|
23615
23625
|
height: convertToUnit(props.height)
|
|
@@ -23640,7 +23650,11 @@
|
|
|
23640
23650
|
}) ?? vue.createVNode(VBtn, vue.mergeProps({
|
|
23641
23651
|
"key": "month"
|
|
23642
23652
|
}, btnProps), null);
|
|
23643
|
-
})])])
|
|
23653
|
+
})])]), [[Intersect, {
|
|
23654
|
+
handler: focusSelectedYear
|
|
23655
|
+
}, null, {
|
|
23656
|
+
once: true
|
|
23657
|
+
}]]));
|
|
23644
23658
|
return {};
|
|
23645
23659
|
}
|
|
23646
23660
|
});
|
|
@@ -23781,6 +23795,12 @@
|
|
|
23781
23795
|
}
|
|
23782
23796
|
return targets;
|
|
23783
23797
|
});
|
|
23798
|
+
const allowedYears = vue.computed(() => {
|
|
23799
|
+
return props.allowedYears || isYearAllowed;
|
|
23800
|
+
});
|
|
23801
|
+
const allowedMonths = vue.computed(() => {
|
|
23802
|
+
return props.allowedMonths || isMonthAllowed;
|
|
23803
|
+
});
|
|
23784
23804
|
function isAllowedInRange(start, end) {
|
|
23785
23805
|
const allowedDates = props.allowedDates;
|
|
23786
23806
|
if (typeof allowedDates !== 'function') return true;
|
|
@@ -23790,7 +23810,7 @@
|
|
|
23790
23810
|
}
|
|
23791
23811
|
return false;
|
|
23792
23812
|
}
|
|
23793
|
-
function
|
|
23813
|
+
function isYearAllowed(year) {
|
|
23794
23814
|
if (typeof props.allowedDates === 'function') {
|
|
23795
23815
|
const startOfYear = adapter.parseISO(`${year}-01-01`);
|
|
23796
23816
|
return isAllowedInRange(startOfYear, adapter.endOfYear(startOfYear));
|
|
@@ -23803,7 +23823,7 @@
|
|
|
23803
23823
|
}
|
|
23804
23824
|
return true;
|
|
23805
23825
|
}
|
|
23806
|
-
function
|
|
23826
|
+
function isMonthAllowed(month) {
|
|
23807
23827
|
if (typeof props.allowedDates === 'function') {
|
|
23808
23828
|
const monthTwoDigits = String(month + 1).padStart(2, '0');
|
|
23809
23829
|
const startOfMonth = adapter.parseISO(`${year.value}-${monthTwoDigits}-01`);
|
|
@@ -23931,7 +23951,7 @@
|
|
|
23931
23951
|
"min": minDate.value,
|
|
23932
23952
|
"max": maxDate.value,
|
|
23933
23953
|
"year": year.value,
|
|
23934
|
-
"allowedMonths": allowedMonths
|
|
23954
|
+
"allowedMonths": allowedMonths.value
|
|
23935
23955
|
}), {
|
|
23936
23956
|
month: slots.month
|
|
23937
23957
|
}) : viewMode.value === 'year' ? vue.createVNode(VDatePickerYears, vue.mergeProps({
|
|
@@ -23941,7 +23961,7 @@
|
|
|
23941
23961
|
"onUpdate:modelValue": [$event => year.value = $event, onUpdateYear],
|
|
23942
23962
|
"min": minDate.value,
|
|
23943
23963
|
"max": maxDate.value,
|
|
23944
|
-
"allowedYears": allowedYears
|
|
23964
|
+
"allowedYears": allowedYears.value
|
|
23945
23965
|
}), {
|
|
23946
23966
|
year: slots.year
|
|
23947
23967
|
}) : vue.createVNode(VDatePickerMonth, vue.mergeProps({
|
|
@@ -24676,7 +24696,10 @@
|
|
|
24676
24696
|
modelValue: _,
|
|
24677
24697
|
...inputProps
|
|
24678
24698
|
} = VInput.filterProps(props);
|
|
24679
|
-
const fieldProps =
|
|
24699
|
+
const fieldProps = {
|
|
24700
|
+
...VField.filterProps(props),
|
|
24701
|
+
'onClick:clear': onClear
|
|
24702
|
+
};
|
|
24680
24703
|
return vue.createVNode(VInput, vue.mergeProps({
|
|
24681
24704
|
"ref": vInputRef,
|
|
24682
24705
|
"modelValue": props.multiple ? model.value : model.value[0],
|
|
@@ -24707,7 +24730,6 @@
|
|
|
24707
24730
|
"prependIcon": props.prependIcon,
|
|
24708
24731
|
"onMousedown": onControlMousedown,
|
|
24709
24732
|
"onClick": onControlClick,
|
|
24710
|
-
"onClick:clear": onClear,
|
|
24711
24733
|
"onClick:prependInner": props['onClick:prependInner'],
|
|
24712
24734
|
"onClick:appendInner": props['onClick:appendInner']
|
|
24713
24735
|
}, fieldProps, {
|
|
@@ -26398,7 +26420,6 @@
|
|
|
26398
26420
|
"aria-hidden": "true",
|
|
26399
26421
|
"data-testid": "increment",
|
|
26400
26422
|
"disabled": !canIncrease.value,
|
|
26401
|
-
"flat": true,
|
|
26402
26423
|
"height": controlNodeDefaultHeight.value,
|
|
26403
26424
|
"icon": incrementIcon.value,
|
|
26404
26425
|
"key": "increment-btn",
|
|
@@ -26407,16 +26428,17 @@
|
|
|
26407
26428
|
"onPointerup": onControlMouseup,
|
|
26408
26429
|
"onPointercancel": onControlMouseup,
|
|
26409
26430
|
"size": controlNodeSize.value,
|
|
26431
|
+
"variant": "text",
|
|
26410
26432
|
"tabindex": "-1"
|
|
26411
26433
|
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
26412
26434
|
"key": "increment-defaults",
|
|
26413
26435
|
"defaults": {
|
|
26414
26436
|
VBtn: {
|
|
26415
26437
|
disabled: !canIncrease.value,
|
|
26416
|
-
flat: true,
|
|
26417
26438
|
height: controlNodeDefaultHeight.value,
|
|
26418
26439
|
size: controlNodeSize.value,
|
|
26419
|
-
icon: incrementIcon.value
|
|
26440
|
+
icon: incrementIcon.value,
|
|
26441
|
+
variant: 'text'
|
|
26420
26442
|
}
|
|
26421
26443
|
}
|
|
26422
26444
|
}, {
|
|
@@ -26428,7 +26450,6 @@
|
|
|
26428
26450
|
"aria-hidden": "true",
|
|
26429
26451
|
"data-testid": "decrement",
|
|
26430
26452
|
"disabled": !canDecrease.value,
|
|
26431
|
-
"flat": true,
|
|
26432
26453
|
"height": controlNodeDefaultHeight.value,
|
|
26433
26454
|
"icon": decrementIcon.value,
|
|
26434
26455
|
"key": "decrement-btn",
|
|
@@ -26437,16 +26458,17 @@
|
|
|
26437
26458
|
"onPointerup": onControlMouseup,
|
|
26438
26459
|
"onPointercancel": onControlMouseup,
|
|
26439
26460
|
"size": controlNodeSize.value,
|
|
26461
|
+
"variant": "text",
|
|
26440
26462
|
"tabindex": "-1"
|
|
26441
26463
|
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
26442
26464
|
"key": "decrement-defaults",
|
|
26443
26465
|
"defaults": {
|
|
26444
26466
|
VBtn: {
|
|
26445
26467
|
disabled: !canDecrease.value,
|
|
26446
|
-
flat: true,
|
|
26447
26468
|
height: controlNodeDefaultHeight.value,
|
|
26448
26469
|
size: controlNodeSize.value,
|
|
26449
|
-
icon: decrementIcon.value
|
|
26470
|
+
icon: decrementIcon.value,
|
|
26471
|
+
variant: 'text'
|
|
26450
26472
|
}
|
|
26451
26473
|
}
|
|
26452
26474
|
}, {
|
|
@@ -26582,6 +26604,7 @@
|
|
|
26582
26604
|
const contentRef = vue.ref();
|
|
26583
26605
|
const inputRef = vue.ref([]);
|
|
26584
26606
|
const current = vue.computed(() => inputRef.value[focusIndex.value]);
|
|
26607
|
+
let _isComposing = false;
|
|
26585
26608
|
useToggleScope(() => props.autofocus, () => {
|
|
26586
26609
|
const intersectScope = vue.effectScope();
|
|
26587
26610
|
intersectScope.run(() => {
|
|
@@ -26606,6 +26629,7 @@
|
|
|
26606
26629
|
current.value.value = '';
|
|
26607
26630
|
return;
|
|
26608
26631
|
}
|
|
26632
|
+
if (_isComposing) return;
|
|
26609
26633
|
const array = model.value.slice();
|
|
26610
26634
|
const value = current.value.value;
|
|
26611
26635
|
array[focusIndex.value] = value;
|
|
@@ -26618,6 +26642,10 @@
|
|
|
26618
26642
|
model.value = array;
|
|
26619
26643
|
if (target) focusChild(contentRef.value, target);
|
|
26620
26644
|
}
|
|
26645
|
+
function onCompositionend() {
|
|
26646
|
+
_isComposing = false;
|
|
26647
|
+
onInput();
|
|
26648
|
+
}
|
|
26621
26649
|
function onKeydown(e) {
|
|
26622
26650
|
const array = model.value.slice();
|
|
26623
26651
|
const index = focusIndex.value;
|
|
@@ -26652,7 +26680,7 @@
|
|
|
26652
26680
|
const finalIndex = clipboardText.length - 1 === -1 ? index : clipboardText.length - 1;
|
|
26653
26681
|
if (isValidNumber(clipboardText)) return;
|
|
26654
26682
|
model.value = clipboardText.split('');
|
|
26655
|
-
|
|
26683
|
+
focusIndex.value = finalIndex;
|
|
26656
26684
|
}
|
|
26657
26685
|
function reset() {
|
|
26658
26686
|
model.value = [];
|
|
@@ -26682,7 +26710,6 @@
|
|
|
26682
26710
|
});
|
|
26683
26711
|
vue.watch(model, val => {
|
|
26684
26712
|
if (val.length === length.value) {
|
|
26685
|
-
focusIndex.value = length.value - 1;
|
|
26686
26713
|
emit('finish', val.join(''));
|
|
26687
26714
|
}
|
|
26688
26715
|
}, {
|
|
@@ -26731,6 +26758,8 @@
|
|
|
26731
26758
|
"onFocus": e => onFocus(e, i),
|
|
26732
26759
|
"onBlur": onBlur,
|
|
26733
26760
|
"onKeydown": onKeydown,
|
|
26761
|
+
"onCompositionstart": () => _isComposing = true,
|
|
26762
|
+
"onCompositionend": onCompositionend,
|
|
26734
26763
|
"onPaste": event => onPaste(i, event)
|
|
26735
26764
|
}, null);
|
|
26736
26765
|
}
|
|
@@ -27955,7 +27984,7 @@
|
|
|
27955
27984
|
let minValue = props.min != null ? Number(props.min) : Math.min(...values);
|
|
27956
27985
|
if (minValue > 0 && props.min == null) minValue = 0;
|
|
27957
27986
|
if (maxValue < 0 && props.max == null) maxValue = 0;
|
|
27958
|
-
const gridX = maxX / totalValues;
|
|
27987
|
+
const gridX = maxX / (totalValues === 1 ? 2 : totalValues);
|
|
27959
27988
|
const gridY = (maxY - minY) / (maxValue - minValue || 1);
|
|
27960
27989
|
const horizonY = maxY - Math.abs(minValue * gridY);
|
|
27961
27990
|
return values.map((value, index) => {
|
|
@@ -27986,7 +28015,7 @@
|
|
|
27986
28015
|
return labels;
|
|
27987
28016
|
});
|
|
27988
28017
|
const bars = vue.computed(() => genBars(items.value, boundary.value));
|
|
27989
|
-
const offsetX = vue.computed(() => (Math.abs(bars.value[0].x - bars.value[1].x) - lineWidth.value) / 2);
|
|
28018
|
+
const offsetX = vue.computed(() => bars.value.length === 1 ? (boundary.value.maxX - lineWidth.value) / 2 : (Math.abs(bars.value[0].x - bars.value[1].x) - lineWidth.value) / 2);
|
|
27990
28019
|
const smooth = vue.computed(() => typeof props.smooth === 'boolean' ? props.smooth ? 2 : 0 : Number(props.smooth));
|
|
27991
28020
|
useRender(() => {
|
|
27992
28021
|
const gradientData = !props.gradient.slice().length ? [''] : props.gradient.slice().reverse();
|
|
@@ -28137,6 +28166,9 @@
|
|
|
28137
28166
|
minY,
|
|
28138
28167
|
maxY
|
|
28139
28168
|
} = boundary;
|
|
28169
|
+
if (values.length === 1) {
|
|
28170
|
+
values = [values[0], values[0]];
|
|
28171
|
+
}
|
|
28140
28172
|
const totalValues = values.length;
|
|
28141
28173
|
const maxValue = props.max != null ? Number(props.max) : Math.max(...values);
|
|
28142
28174
|
const minValue = props.min != null ? Number(props.min) : Math.min(...values);
|
|
@@ -29451,7 +29483,10 @@
|
|
|
29451
29483
|
modelValue: _,
|
|
29452
29484
|
...inputProps
|
|
29453
29485
|
} = VInput.filterProps(props);
|
|
29454
|
-
const fieldProps =
|
|
29486
|
+
const fieldProps = {
|
|
29487
|
+
...VField.filterProps(props),
|
|
29488
|
+
'onClick:clear': onClear
|
|
29489
|
+
};
|
|
29455
29490
|
return vue.createVNode(VInput, vue.mergeProps({
|
|
29456
29491
|
"ref": vInputRef,
|
|
29457
29492
|
"modelValue": model.value,
|
|
@@ -29487,7 +29522,6 @@
|
|
|
29487
29522
|
},
|
|
29488
29523
|
"onClick": onControlClick,
|
|
29489
29524
|
"onMousedown": onControlMousedown,
|
|
29490
|
-
"onClick:clear": onClear,
|
|
29491
29525
|
"onClick:prependInner": props['onClick:prependInner'],
|
|
29492
29526
|
"onClick:appendInner": props['onClick:appendInner']
|
|
29493
29527
|
}, fieldProps, {
|
|
@@ -31544,7 +31578,7 @@
|
|
|
31544
31578
|
};
|
|
31545
31579
|
});
|
|
31546
31580
|
}
|
|
31547
|
-
const version$1 = "3.9.
|
|
31581
|
+
const version$1 = "3.9.7";
|
|
31548
31582
|
createVuetify$1.version = version$1;
|
|
31549
31583
|
|
|
31550
31584
|
// Vue's inject() can only be used in setup
|
|
@@ -31569,7 +31603,7 @@
|
|
|
31569
31603
|
...options
|
|
31570
31604
|
});
|
|
31571
31605
|
};
|
|
31572
|
-
const version = "3.9.
|
|
31606
|
+
const version = "3.9.7";
|
|
31573
31607
|
createVuetify.version = version;
|
|
31574
31608
|
|
|
31575
31609
|
exports.blueprints = index;
|