vuetify 3.0.2 → 3.0.4
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 +902 -902
- package/dist/json/importMap.json +66 -66
- package/dist/json/web-types.json +1178 -1136
- package/dist/vuetify.css +124 -126
- package/dist/vuetify.d.ts +389 -196
- package/dist/vuetify.esm.js +175 -144
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +175 -144
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +696 -692
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/index.d.ts +1 -1
- package/lib/components/VAppBar/VAppBar.mjs +2 -2
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAppBar/index.d.ts +275 -62
- package/lib/components/VAutocomplete/index.d.ts +22 -22
- package/lib/components/VCheckbox/VCheckbox.css +1 -1
- package/lib/components/VCheckbox/VCheckbox.sass +1 -1
- package/lib/components/VChip/VChip.mjs +14 -6
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/index.d.ts +3 -1
- package/lib/components/VChipGroup/index.d.ts +1 -1
- package/lib/components/VColorPicker/VColorPicker.mjs +2 -2
- package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerPreview.mjs +2 -2
- package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
- package/lib/components/VColorPicker/util/index.mjs +24 -14
- package/lib/components/VColorPicker/util/index.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.ts +22 -22
- package/lib/components/VExpansionPanel/index.d.ts +1 -1
- package/lib/components/VField/index.d.ts +6 -6
- package/lib/components/VFileInput/index.d.ts +2 -2
- package/lib/components/VFooter/VFooter.mjs +1 -1
- package/lib/components/VFooter/VFooter.mjs.map +1 -1
- package/lib/components/VGrid/VGrid.css +2 -2
- package/lib/components/VGrid/VGrid.sass +1 -1
- package/lib/components/VLazy/VLazy.mjs +2 -1
- package/lib/components/VLazy/VLazy.mjs.map +1 -1
- package/lib/components/VList/VListItem.mjs +2 -1
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +2 -2
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VOverlay/locationStrategies.mjs +3 -1
- package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
- package/lib/components/VPagination/index.d.ts +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.sass +1 -1
- package/lib/components/VProgressLinear/_variables.scss +1 -1
- package/lib/components/VRadioGroup/VRadioGroup.mjs +1 -2
- package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
- package/lib/components/VSelect/index.d.ts +22 -22
- package/lib/components/VSelectionControl/VSelectionControl.css +4 -0
- package/lib/components/VSelectionControl/VSelectionControl.sass +4 -0
- package/lib/components/VSelectionControl/index.d.ts +6 -6
- package/lib/components/VSnackbar/index.d.ts +4 -4
- package/lib/components/VSwitch/VSwitch.css +1 -1
- package/lib/components/VSwitch/VSwitch.sass +1 -1
- package/lib/components/VSystemBar/VSystemBar.css +1 -1
- package/lib/components/VSystemBar/_variables.scss +1 -1
- package/lib/components/VTabs/VTab.css +1 -3
- package/lib/components/VTabs/VTab.sass +1 -4
- package/lib/components/VTabs/VTabs.css +0 -4
- package/lib/components/VTabs/VTabs.sass +0 -5
- package/lib/components/VTextField/index.d.ts +18 -18
- package/lib/components/VTextarea/index.d.ts +1 -1
- package/lib/components/VToolbar/VToolbar.mjs +32 -22
- package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
- package/lib/components/VToolbar/index.d.ts +9 -8
- package/lib/components/index.d.ts +370 -177
- package/lib/components/transitions/dialog-transition.mjs +2 -2
- package/lib/components/transitions/dialog-transition.mjs.map +1 -1
- package/lib/composables/theme.mjs +7 -7
- package/lib/composables/theme.mjs.map +1 -1
- package/lib/composables/validation.mjs +1 -1
- package/lib/composables/validation.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.ts +19 -19
- package/lib/util/color/APCA.mjs +6 -6
- package/lib/util/color/APCA.mjs.map +1 -1
- package/lib/util/color/transformSRGB.mjs +15 -7
- package/lib/util/color/transformSRGB.mjs.map +1 -1
- package/lib/util/colorUtils.mjs +64 -81
- package/lib/util/colorUtils.mjs.map +1 -1
- package/package.json +2 -2
package/dist/vuetify.esm.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.0.
|
|
2
|
+
* Vuetify v3.0.4
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -595,21 +595,29 @@ function fromXYZ$1(xyz) {
|
|
|
595
595
|
|
|
596
596
|
// Matrix transform, then gamma adjustment
|
|
597
597
|
for (let i = 0; i < 3; ++i) {
|
|
598
|
+
// Rescale back to [0, 255]
|
|
598
599
|
rgb[i] = Math.round(clamp(transform(matrix[i][0] * xyz[0] + matrix[i][1] * xyz[1] + matrix[i][2] * xyz[2])) * 255);
|
|
599
600
|
}
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
601
|
+
return {
|
|
602
|
+
r: rgb[0],
|
|
603
|
+
g: rgb[1],
|
|
604
|
+
b: rgb[2]
|
|
605
|
+
};
|
|
603
606
|
}
|
|
604
|
-
function toXYZ$1(
|
|
607
|
+
function toXYZ$1(_ref) {
|
|
608
|
+
let {
|
|
609
|
+
r,
|
|
610
|
+
g,
|
|
611
|
+
b
|
|
612
|
+
} = _ref;
|
|
605
613
|
const xyz = [0, 0, 0];
|
|
606
614
|
const transform = srgbReverseTransform;
|
|
607
615
|
const matrix = srgbReverseMatrix;
|
|
608
616
|
|
|
609
617
|
// Rescale from [0, 255] to [0, 1] then adjust sRGB gamma to linear RGB
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
618
|
+
r = transform(r / 255);
|
|
619
|
+
g = transform(g / 255);
|
|
620
|
+
b = transform(b / 255);
|
|
613
621
|
|
|
614
622
|
// Matrix color space transform
|
|
615
623
|
for (let i = 0; i < 3; ++i) {
|
|
@@ -640,43 +648,36 @@ function toXYZ(lab) {
|
|
|
640
648
|
function isCssColor(color) {
|
|
641
649
|
return !!color && /^(#|var\(--|(rgb|hsl)a?\()/.test(color);
|
|
642
650
|
}
|
|
643
|
-
function
|
|
644
|
-
let rgb;
|
|
651
|
+
function parseColor$1(color) {
|
|
645
652
|
if (typeof color === 'number') {
|
|
646
|
-
|
|
653
|
+
if (isNaN(color) || color < 0 || color > 0xFFFFFF) {
|
|
654
|
+
// int can't have opacity
|
|
655
|
+
consoleWarn(`'${color}' is not a valid hex color`);
|
|
656
|
+
}
|
|
657
|
+
return {
|
|
658
|
+
r: (color & 0xFF0000) >> 16,
|
|
659
|
+
g: (color & 0xFF00) >> 8,
|
|
660
|
+
b: color & 0xFF
|
|
661
|
+
};
|
|
647
662
|
} else if (typeof color === 'string') {
|
|
648
|
-
let
|
|
649
|
-
if (
|
|
650
|
-
|
|
663
|
+
let hex = color.startsWith('#') ? color.slice(1) : color;
|
|
664
|
+
if ([3, 4].includes(hex.length)) {
|
|
665
|
+
hex = hex.split('').map(char => char + char).join('');
|
|
666
|
+
} else if (![6, 8].includes(hex.length)) {
|
|
667
|
+
consoleWarn(`'${color}' is not a valid hex(a) color`);
|
|
651
668
|
}
|
|
652
|
-
|
|
653
|
-
|
|
669
|
+
const int = parseInt(hex, 16);
|
|
670
|
+
if (isNaN(int) || int < 0 || int > 0xFFFFFFFF) {
|
|
671
|
+
consoleWarn(`'${color}' is not a valid hex(a) color`);
|
|
654
672
|
}
|
|
655
|
-
|
|
673
|
+
return HexToRGB(hex);
|
|
656
674
|
} else {
|
|
657
675
|
throw new TypeError(`Colors can only be numbers or strings, recieved ${color == null ? color : color.constructor.name} instead`);
|
|
658
676
|
}
|
|
659
|
-
if (rgb < 0) {
|
|
660
|
-
consoleWarn(`Colors cannot be negative: '${color}'`);
|
|
661
|
-
rgb = 0;
|
|
662
|
-
} else if (rgb > 0xffffffff || isNaN(rgb)) {
|
|
663
|
-
consoleWarn(`'${color}' is not a valid rgb color`);
|
|
664
|
-
rgb = 0xffffff;
|
|
665
|
-
}
|
|
666
|
-
return rgb;
|
|
667
|
-
}
|
|
668
|
-
function intToHex(color) {
|
|
669
|
-
let hexColor = color.toString(16);
|
|
670
|
-
if (hexColor.length < 6) hexColor = '0'.repeat(6 - hexColor.length) + hexColor;
|
|
671
|
-
return '#' + hexColor;
|
|
672
677
|
}
|
|
673
678
|
|
|
674
|
-
/**
|
|
675
|
-
|
|
676
|
-
*
|
|
677
|
-
* @param color HSVA color as an array [0-360, 0-1, 0-1, 0-1]
|
|
678
|
-
*/
|
|
679
|
-
function HSVAtoRGBA(hsva) {
|
|
679
|
+
/** Converts HSVA to RGBA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV */
|
|
680
|
+
function HSVtoRGB(hsva) {
|
|
680
681
|
const {
|
|
681
682
|
h,
|
|
682
683
|
s,
|
|
@@ -696,12 +697,8 @@ function HSVAtoRGBA(hsva) {
|
|
|
696
697
|
};
|
|
697
698
|
}
|
|
698
699
|
|
|
699
|
-
/**
|
|
700
|
-
|
|
701
|
-
*
|
|
702
|
-
* @param color RGBA color as an array [0-255, 0-255, 0-255, 0-1]
|
|
703
|
-
*/
|
|
704
|
-
function RGBAtoHSVA(rgba) {
|
|
700
|
+
/** Converts RGBA to HSVA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV */
|
|
701
|
+
function RGBtoHSV(rgba) {
|
|
705
702
|
if (!rgba) return {
|
|
706
703
|
h: 0,
|
|
707
704
|
s: 1,
|
|
@@ -733,7 +730,7 @@ function RGBAtoHSVA(rgba) {
|
|
|
733
730
|
a: rgba.a
|
|
734
731
|
};
|
|
735
732
|
}
|
|
736
|
-
function
|
|
733
|
+
function HSVtoHSL(hsva) {
|
|
737
734
|
const {
|
|
738
735
|
h,
|
|
739
736
|
s,
|
|
@@ -749,7 +746,7 @@ function HSVAtoHSLA(hsva) {
|
|
|
749
746
|
a
|
|
750
747
|
};
|
|
751
748
|
}
|
|
752
|
-
function
|
|
749
|
+
function HSLtoHSV(hsl) {
|
|
753
750
|
const {
|
|
754
751
|
h,
|
|
755
752
|
s,
|
|
@@ -765,34 +762,47 @@ function HSLAtoHSVA(hsl) {
|
|
|
765
762
|
a
|
|
766
763
|
};
|
|
767
764
|
}
|
|
768
|
-
function
|
|
769
|
-
|
|
765
|
+
function RGBtoCSS(_ref) {
|
|
766
|
+
let {
|
|
767
|
+
r,
|
|
768
|
+
g,
|
|
769
|
+
b,
|
|
770
|
+
a
|
|
771
|
+
} = _ref;
|
|
772
|
+
return a === undefined ? `rgb(${r}, ${g}, ${b})` : `rgba(${r}, ${g}, ${b}, ${a})`;
|
|
770
773
|
}
|
|
771
|
-
function
|
|
772
|
-
return
|
|
774
|
+
function HSVtoCSS(hsva) {
|
|
775
|
+
return RGBtoCSS(HSVtoRGB(hsva));
|
|
773
776
|
}
|
|
774
|
-
function
|
|
775
|
-
const
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
777
|
+
function toHex(v) {
|
|
778
|
+
const h = Math.round(v).toString(16);
|
|
779
|
+
return ('00'.substr(0, 2 - h.length) + h).toUpperCase();
|
|
780
|
+
}
|
|
781
|
+
function RGBtoHex(_ref2) {
|
|
782
|
+
let {
|
|
783
|
+
r,
|
|
784
|
+
g,
|
|
785
|
+
b,
|
|
786
|
+
a
|
|
787
|
+
} = _ref2;
|
|
788
|
+
return `#${[toHex(r), toHex(g), toHex(b), a !== undefined ? toHex(Math.round(a * 255)) : 'FF'].join('')}`;
|
|
780
789
|
}
|
|
781
|
-
function
|
|
782
|
-
|
|
790
|
+
function HexToRGB(hex) {
|
|
791
|
+
let [r, g, b, a] = chunk(hex, 2).map(c => parseInt(c, 16));
|
|
792
|
+
a = a === undefined ? a : Math.round(a / 255 * 100) / 100;
|
|
783
793
|
return {
|
|
784
|
-
r
|
|
785
|
-
g
|
|
786
|
-
b
|
|
787
|
-
a
|
|
794
|
+
r,
|
|
795
|
+
g,
|
|
796
|
+
b,
|
|
797
|
+
a
|
|
788
798
|
};
|
|
789
799
|
}
|
|
790
|
-
function
|
|
791
|
-
const rgb =
|
|
792
|
-
return
|
|
800
|
+
function HexToHSV(hex) {
|
|
801
|
+
const rgb = HexToRGB(hex);
|
|
802
|
+
return RGBtoHSV(rgb);
|
|
793
803
|
}
|
|
794
|
-
function
|
|
795
|
-
return
|
|
804
|
+
function HSVtoHex(hsva) {
|
|
805
|
+
return RGBtoHex(HSVtoRGB(hsva));
|
|
796
806
|
}
|
|
797
807
|
function parseHex(hex) {
|
|
798
808
|
if (hex.startsWith('#')) {
|
|
@@ -807,20 +817,10 @@ function parseHex(hex) {
|
|
|
807
817
|
} else {
|
|
808
818
|
hex = padEnd(padEnd(hex, 6), 8, 'F');
|
|
809
819
|
}
|
|
810
|
-
return
|
|
811
|
-
}
|
|
812
|
-
function colorToRGB(color) {
|
|
813
|
-
const int = colorToInt(color);
|
|
814
|
-
return {
|
|
815
|
-
r: (int & 0xFF0000) >> 16,
|
|
816
|
-
g: (int & 0xFF00) >> 8,
|
|
817
|
-
b: int & 0xFF
|
|
818
|
-
};
|
|
820
|
+
return hex;
|
|
819
821
|
}
|
|
820
822
|
function lighten(value, amount) {
|
|
821
823
|
const lab = fromXYZ(toXYZ$1(value));
|
|
822
|
-
// TODO: why this false positive?
|
|
823
|
-
// eslint-disable-next-line @typescript-eslint/restrict-plus-operands
|
|
824
824
|
lab[0] = lab[0] + amount * 10;
|
|
825
825
|
return fromXYZ$1(toXYZ(lab));
|
|
826
826
|
}
|
|
@@ -835,7 +835,7 @@ function darken(value, amount) {
|
|
|
835
835
|
* @see https://www.w3.org/TR/WCAG20/#relativeluminancedef
|
|
836
836
|
*/
|
|
837
837
|
function getLuma(color) {
|
|
838
|
-
const rgb =
|
|
838
|
+
const rgb = parseColor$1(color);
|
|
839
839
|
return toXYZ$1(rgb)[1];
|
|
840
840
|
}
|
|
841
841
|
|
|
@@ -1466,12 +1466,12 @@ const loClip = 0.001; // Output clip (lint trap #2)
|
|
|
1466
1466
|
|
|
1467
1467
|
function APCAcontrast(text, background) {
|
|
1468
1468
|
// Linearize sRGB
|
|
1469
|
-
const Rtxt = (
|
|
1470
|
-
const Gtxt = (
|
|
1471
|
-
const Btxt = (
|
|
1472
|
-
const Rbg = (
|
|
1473
|
-
const Gbg = (
|
|
1474
|
-
const Bbg = (
|
|
1469
|
+
const Rtxt = (text.r / 255) ** mainTRC;
|
|
1470
|
+
const Gtxt = (text.g / 255) ** mainTRC;
|
|
1471
|
+
const Btxt = (text.b / 255) ** mainTRC;
|
|
1472
|
+
const Rbg = (background.r / 255) ** mainTRC;
|
|
1473
|
+
const Gbg = (background.g / 255) ** mainTRC;
|
|
1474
|
+
const Bbg = (background.b / 255) ** mainTRC;
|
|
1475
1475
|
|
|
1476
1476
|
// Apply the standard coefficients and sum to Y
|
|
1477
1477
|
let Ytxt = Rtxt * Rco + Gtxt * Gco + Btxt * Bco;
|
|
@@ -1637,7 +1637,7 @@ function createTheme(options) {
|
|
|
1637
1637
|
for (const variation of ['lighten', 'darken']) {
|
|
1638
1638
|
const fn = variation === 'lighten' ? lighten : darken;
|
|
1639
1639
|
for (const amount of createRange(parsedOptions.variations[variation], 1)) {
|
|
1640
|
-
theme.colors[`${name}-${variation}-${amount}`] =
|
|
1640
|
+
theme.colors[`${name}-${variation}-${amount}`] = RGBtoHex(fn(parseColor$1(color), amount));
|
|
1641
1641
|
}
|
|
1642
1642
|
}
|
|
1643
1643
|
}
|
|
@@ -1645,9 +1645,9 @@ function createTheme(options) {
|
|
|
1645
1645
|
for (const color of Object.keys(theme.colors)) {
|
|
1646
1646
|
if (/^on-[a-z]/.test(color) || theme.colors[`on-${color}`]) continue;
|
|
1647
1647
|
const onColor = `on-${color}`;
|
|
1648
|
-
const colorVal =
|
|
1649
|
-
const blackContrast = Math.abs(APCAcontrast(0, colorVal));
|
|
1650
|
-
const whiteContrast = Math.abs(APCAcontrast(0xffffff, colorVal));
|
|
1648
|
+
const colorVal = parseColor$1(theme.colors[color]);
|
|
1649
|
+
const blackContrast = Math.abs(APCAcontrast(parseColor$1(0), colorVal));
|
|
1650
|
+
const whiteContrast = Math.abs(APCAcontrast(parseColor$1(0xffffff), colorVal));
|
|
1651
1651
|
|
|
1652
1652
|
// TODO: warn about poor color selections
|
|
1653
1653
|
// const contrastAsText = Math.abs(APCAcontrast(colorVal, colorToInt(theme.colors.background)))
|
|
@@ -1677,7 +1677,7 @@ function createTheme(options) {
|
|
|
1677
1677
|
} = theme;
|
|
1678
1678
|
createCssClass(lines, `.v-theme--${themeName}`, [`color-scheme: ${dark ? 'dark' : 'normal'}`, ...genCssVariables(theme), ...Object.keys(variables).map(key => {
|
|
1679
1679
|
const value = variables[key];
|
|
1680
|
-
const color = typeof value === 'string' && value.startsWith('#') ?
|
|
1680
|
+
const color = typeof value === 'string' && value.startsWith('#') ? parseColor$1(value) : undefined;
|
|
1681
1681
|
const rgb = color ? `${color.r}, ${color.g}, ${color.b}` : undefined;
|
|
1682
1682
|
return `--v-${key}: ${rgb ?? value}`;
|
|
1683
1683
|
})]);
|
|
@@ -1779,7 +1779,7 @@ function genCssVariables(theme) {
|
|
|
1779
1779
|
const darkOverlay = theme.dark ? 1 : 2;
|
|
1780
1780
|
const variables = [];
|
|
1781
1781
|
for (const [key, value] of Object.entries(theme.colors)) {
|
|
1782
|
-
const rgb =
|
|
1782
|
+
const rgb = parseColor$1(value);
|
|
1783
1783
|
variables.push(`--v-theme-${key}: ${rgb.r},${rgb.g},${rgb.b}`);
|
|
1784
1784
|
if (!key.startsWith('on-')) {
|
|
1785
1785
|
variables.push(`--v-theme-${key}-overlay-multiplier: ${getLuma(value) > 0.18 ? lightOverlay : darkOverlay}`);
|
|
@@ -2476,8 +2476,8 @@ function getDimensions(target, el) {
|
|
|
2476
2476
|
const tsx = targetBox.width / elBox.width;
|
|
2477
2477
|
const tsy = targetBox.height / elBox.height;
|
|
2478
2478
|
const maxs = Math.max(1, tsx, tsy);
|
|
2479
|
-
const sx = tsx / maxs;
|
|
2480
|
-
const sy = tsy / maxs;
|
|
2479
|
+
const sx = tsx / maxs || 0;
|
|
2480
|
+
const sy = tsy / maxs || 0;
|
|
2481
2481
|
|
|
2482
2482
|
// Animate elements larger than 12% of the screen area up to 1.5x slower
|
|
2483
2483
|
const asa = elBox.width * elBox.height / (window.innerWidth * window.innerHeight);
|
|
@@ -3143,11 +3143,6 @@ const VToolbar = genericComponent()({
|
|
|
3143
3143
|
const isExtended = ref(!!(props.extended || (_slots$extension = slots.extension) != null && _slots$extension.call(slots)));
|
|
3144
3144
|
const contentHeight = computed(() => parseInt(Number(props.height) + (props.density === 'prominent' ? Number(props.height) : 0) - (props.density === 'comfortable' ? 8 : 0) - (props.density === 'compact' ? 16 : 0), 10));
|
|
3145
3145
|
const extensionHeight = computed(() => isExtended.value ? parseInt(Number(props.extensionHeight) + (props.density === 'prominent' ? Number(props.extensionHeight) : 0) - (props.density === 'comfortable' ? 4 : 0) - (props.density === 'compact' ? 8 : 0), 10) : 0);
|
|
3146
|
-
provideDefaults({
|
|
3147
|
-
VBtn: {
|
|
3148
|
-
variant: 'text'
|
|
3149
|
-
}
|
|
3150
|
-
});
|
|
3151
3146
|
useRender(() => {
|
|
3152
3147
|
var _slots$extension2, _slots$image, _slots$prepend, _slots$default, _slots$append;
|
|
3153
3148
|
const hasTitle = !!(props.title || slots.title);
|
|
@@ -3176,27 +3171,43 @@ const VToolbar = genericComponent()({
|
|
|
3176
3171
|
}
|
|
3177
3172
|
}, {
|
|
3178
3173
|
default: () => [slots.image ? (_slots$image = slots.image) == null ? void 0 : _slots$image.call(slots) : createVNode(VImg, null, null)]
|
|
3179
|
-
})]), createVNode(
|
|
3180
|
-
"
|
|
3181
|
-
|
|
3182
|
-
|
|
3174
|
+
})]), createVNode(VDefaultsProvider, {
|
|
3175
|
+
"defaults": {
|
|
3176
|
+
VTabs: {
|
|
3177
|
+
height: convertToUnit(contentHeight.value)
|
|
3178
|
+
}
|
|
3183
3179
|
}
|
|
3184
|
-
}, [slots.prepend && createVNode("div", {
|
|
3185
|
-
"class": "v-toolbar__prepend"
|
|
3186
|
-
}, [(_slots$prepend = slots.prepend) == null ? void 0 : _slots$prepend.call(slots)]), hasTitle && createVNode(VToolbarTitle, {
|
|
3187
|
-
"key": "title",
|
|
3188
|
-
"text": props.title
|
|
3189
3180
|
}, {
|
|
3190
|
-
|
|
3191
|
-
|
|
3192
|
-
"class": "v-toolbar__append"
|
|
3193
|
-
}, [(_slots$append = slots.append) == null ? void 0 : _slots$append.call(slots)])]), createVNode(VExpandTransition, null, {
|
|
3194
|
-
default: () => [isExtended.value && createVNode("div", {
|
|
3195
|
-
"class": "v-toolbar__extension",
|
|
3181
|
+
default: () => [createVNode("div", {
|
|
3182
|
+
"class": "v-toolbar__content",
|
|
3196
3183
|
"style": {
|
|
3184
|
+
height: convertToUnit(contentHeight.value)
|
|
3185
|
+
}
|
|
3186
|
+
}, [slots.prepend && createVNode("div", {
|
|
3187
|
+
"class": "v-toolbar__prepend"
|
|
3188
|
+
}, [(_slots$prepend = slots.prepend) == null ? void 0 : _slots$prepend.call(slots)]), hasTitle && createVNode(VToolbarTitle, {
|
|
3189
|
+
"key": "title",
|
|
3190
|
+
"text": props.title
|
|
3191
|
+
}, {
|
|
3192
|
+
text: slots.title
|
|
3193
|
+
}), (_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots), slots.append && createVNode("div", {
|
|
3194
|
+
"class": "v-toolbar__append"
|
|
3195
|
+
}, [(_slots$append = slots.append) == null ? void 0 : _slots$append.call(slots)])])]
|
|
3196
|
+
}), createVNode(VDefaultsProvider, {
|
|
3197
|
+
"defaults": {
|
|
3198
|
+
VTabs: {
|
|
3197
3199
|
height: convertToUnit(extensionHeight.value)
|
|
3198
3200
|
}
|
|
3199
|
-
}
|
|
3201
|
+
}
|
|
3202
|
+
}, {
|
|
3203
|
+
default: () => [createVNode(VExpandTransition, null, {
|
|
3204
|
+
default: () => [isExtended.value && createVNode("div", {
|
|
3205
|
+
"class": "v-toolbar__extension",
|
|
3206
|
+
"style": {
|
|
3207
|
+
height: convertToUnit(extensionHeight.value)
|
|
3208
|
+
}
|
|
3209
|
+
}, [extension])]
|
|
3210
|
+
})]
|
|
3200
3211
|
})]
|
|
3201
3212
|
});
|
|
3202
3213
|
});
|
|
@@ -3212,7 +3223,7 @@ function filterToolbarProps(props) {
|
|
|
3212
3223
|
|
|
3213
3224
|
// Types
|
|
3214
3225
|
|
|
3215
|
-
const VAppBar =
|
|
3226
|
+
const VAppBar = genericComponent()({
|
|
3216
3227
|
name: 'VAppBar',
|
|
3217
3228
|
props: {
|
|
3218
3229
|
// TODO: Implement scrolling techniques
|
|
@@ -5687,7 +5698,7 @@ function useValidation(props) {
|
|
|
5687
5698
|
const isDisabled = computed(() => !!(props.disabled || form != null && form.isDisabled.value));
|
|
5688
5699
|
const isReadonly = computed(() => !!(props.readonly || form != null && form.isReadonly.value));
|
|
5689
5700
|
const errorMessages = computed(() => {
|
|
5690
|
-
return props.errorMessages.length ? wrapInArray(props.errorMessages) : internalErrorMessages.value;
|
|
5701
|
+
return props.errorMessages.length ? wrapInArray(props.errorMessages.slice(0, Math.max(0, +props.maxErrors))) : internalErrorMessages.value;
|
|
5691
5702
|
});
|
|
5692
5703
|
const isValid = computed(() => {
|
|
5693
5704
|
if (props.error || errorMessages.value.length) return false;
|
|
@@ -6725,7 +6736,8 @@ const VChip = defineComponent({
|
|
|
6725
6736
|
emits: {
|
|
6726
6737
|
'click:close': e => true,
|
|
6727
6738
|
'update:modelValue': value => true,
|
|
6728
|
-
'group:selected': val => true
|
|
6739
|
+
'group:selected': val => true,
|
|
6740
|
+
click: e => true
|
|
6729
6741
|
},
|
|
6730
6742
|
setup(props, _ref) {
|
|
6731
6743
|
let {
|
|
@@ -6759,10 +6771,18 @@ const VChip = defineComponent({
|
|
|
6759
6771
|
const isActive = useProxiedModel(props, 'modelValue');
|
|
6760
6772
|
const group = useGroupItem(props, VChipGroupSymbol, false);
|
|
6761
6773
|
const link = useLink(props, attrs);
|
|
6774
|
+
const isClickable = computed(() => !props.disabled && (!!group || link.isClickable.value || props.link));
|
|
6762
6775
|
function onCloseClick(e) {
|
|
6763
6776
|
isActive.value = false;
|
|
6764
6777
|
emit('click:close', e);
|
|
6765
6778
|
}
|
|
6779
|
+
function onClick(e) {
|
|
6780
|
+
var _link$navigate;
|
|
6781
|
+
emit('click', e);
|
|
6782
|
+
if (!isClickable.value) return;
|
|
6783
|
+
(_link$navigate = link.navigate) == null ? void 0 : _link$navigate.call(link, e);
|
|
6784
|
+
group == null ? void 0 : group.toggle();
|
|
6785
|
+
}
|
|
6766
6786
|
return () => {
|
|
6767
6787
|
var _slots$default;
|
|
6768
6788
|
const Tag = link.isLink.value ? 'a' : props.tag;
|
|
@@ -6771,8 +6791,6 @@ const VChip = defineComponent({
|
|
|
6771
6791
|
const hasFilter = !!(slots.filter || props.filter) && group;
|
|
6772
6792
|
const hasPrepend = !!(slots.prepend || props.prependIcon || props.prependAvatar);
|
|
6773
6793
|
const hasColor = !group || group.isSelected.value;
|
|
6774
|
-
const isClickable = !props.disabled && (!!group || link.isClickable.value || props.link);
|
|
6775
|
-
const onClickFunc = props.link ? props.link : group == null ? void 0 : group.toggle;
|
|
6776
6794
|
return isActive.value && withDirectives(createVNode(Tag, {
|
|
6777
6795
|
"class": ['v-chip', {
|
|
6778
6796
|
'v-chip--disabled': props.disabled,
|
|
@@ -6785,9 +6803,9 @@ const VChip = defineComponent({
|
|
|
6785
6803
|
"disabled": props.disabled || undefined,
|
|
6786
6804
|
"draggable": props.draggable,
|
|
6787
6805
|
"href": link.href.value,
|
|
6788
|
-
"onClick":
|
|
6806
|
+
"onClick": onClick
|
|
6789
6807
|
}, {
|
|
6790
|
-
default: () => [genOverlays(isClickable, 'v-chip'), hasFilter && createVNode(VDefaultsProvider, {
|
|
6808
|
+
default: () => [genOverlays(isClickable.value, 'v-chip'), hasFilter && createVNode(VDefaultsProvider, {
|
|
6791
6809
|
"key": "filter",
|
|
6792
6810
|
"defaults": {
|
|
6793
6811
|
VIcon: {
|
|
@@ -6857,7 +6875,7 @@ const VChip = defineComponent({
|
|
|
6857
6875
|
"onClick": onCloseClick
|
|
6858
6876
|
}, [slots.close ? slots.close() : createVNode(VIcon, null, null)])]
|
|
6859
6877
|
})]
|
|
6860
|
-
}), [[resolveDirective("ripple"), isClickable && props.ripple, null]]);
|
|
6878
|
+
}), [[resolveDirective("ripple"), isClickable.value && props.ripple, null]]);
|
|
6861
6879
|
};
|
|
6862
6880
|
}
|
|
6863
6881
|
});
|
|
@@ -7653,7 +7671,8 @@ const VListItem = genericComponent()({
|
|
|
7653
7671
|
"key": "prepend-icon"
|
|
7654
7672
|
}, null), (_slots$prepend = slots.prepend) == null ? void 0 : _slots$prepend.call(slots, slotProps.value)])]
|
|
7655
7673
|
}), createVNode("div", {
|
|
7656
|
-
"class": "v-list-item__content"
|
|
7674
|
+
"class": "v-list-item__content",
|
|
7675
|
+
"data-no-activator": ""
|
|
7657
7676
|
}, [hasTitle && createVNode(VListItemTitle, {
|
|
7658
7677
|
"key": "title"
|
|
7659
7678
|
}, {
|
|
@@ -8536,7 +8555,9 @@ function useLocationStrategies(props, data) {
|
|
|
8536
8555
|
updateLocation.value = undefined;
|
|
8537
8556
|
if (!(IN_BROWSER && data.isActive.value && props.locationStrategy)) return;
|
|
8538
8557
|
scope = effectScope();
|
|
8539
|
-
|
|
8558
|
+
if (!(props.locationStrategy === 'connected')) {
|
|
8559
|
+
await nextTick();
|
|
8560
|
+
}
|
|
8540
8561
|
scope.run(() => {
|
|
8541
8562
|
if (typeof props.locationStrategy === 'function') {
|
|
8542
8563
|
var _props$locationStrate;
|
|
@@ -11746,13 +11767,13 @@ function parseColor(color) {
|
|
|
11746
11767
|
let hsva = null;
|
|
11747
11768
|
if (typeof color === 'string') {
|
|
11748
11769
|
const hex = parseHex(color);
|
|
11749
|
-
hsva =
|
|
11770
|
+
hsva = HexToHSV(hex);
|
|
11750
11771
|
}
|
|
11751
11772
|
if (typeof color === 'object') {
|
|
11752
11773
|
if (has(color, ['r', 'g', 'b'])) {
|
|
11753
|
-
hsva =
|
|
11774
|
+
hsva = RGBtoHSV(color);
|
|
11754
11775
|
} else if (has(color, ['h', 's', 'l'])) {
|
|
11755
|
-
hsva =
|
|
11776
|
+
hsva = HSLtoHSV(color);
|
|
11756
11777
|
} else if (has(color, ['h', 's', 'v'])) {
|
|
11757
11778
|
hsva = color;
|
|
11758
11779
|
}
|
|
@@ -11774,12 +11795,12 @@ function stripAlpha(color, stripAlpha) {
|
|
|
11774
11795
|
}
|
|
11775
11796
|
function extractColor(color, input) {
|
|
11776
11797
|
if (input == null || typeof input === 'string') {
|
|
11777
|
-
const hex =
|
|
11798
|
+
const hex = HSVtoHex(color);
|
|
11778
11799
|
if (color.a === 1) return hex.slice(0, 7);else return hex;
|
|
11779
11800
|
}
|
|
11780
11801
|
if (typeof input === 'object') {
|
|
11781
11802
|
let converted;
|
|
11782
|
-
if (has(input, ['r', 'g', 'b'])) converted =
|
|
11803
|
+
if (has(input, ['r', 'g', 'b'])) converted = HSVtoRGB(color);else if (has(input, ['h', 's', 'l'])) converted = HSVtoHSL(color);else if (has(input, ['h', 's', 'v'])) converted = color;
|
|
11783
11804
|
return stripAlpha(converted, !has(input, ['a']));
|
|
11784
11805
|
}
|
|
11785
11806
|
return color;
|
|
@@ -11826,14 +11847,19 @@ const rgba = {
|
|
|
11826
11847
|
label: 'A',
|
|
11827
11848
|
max: 1,
|
|
11828
11849
|
step: 0.01,
|
|
11829
|
-
getValue:
|
|
11850
|
+
getValue: _ref => {
|
|
11851
|
+
let {
|
|
11852
|
+
a
|
|
11853
|
+
} = _ref;
|
|
11854
|
+
return a ? Math.round(a * 100) / 100 : 1;
|
|
11855
|
+
},
|
|
11830
11856
|
getColor: (c, v) => ({
|
|
11831
11857
|
...c,
|
|
11832
11858
|
a: Number(v)
|
|
11833
11859
|
})
|
|
11834
11860
|
}],
|
|
11835
|
-
to:
|
|
11836
|
-
from:
|
|
11861
|
+
to: HSVtoRGB,
|
|
11862
|
+
from: RGBtoHSV
|
|
11837
11863
|
};
|
|
11838
11864
|
const rgb = {
|
|
11839
11865
|
...rgba,
|
|
@@ -11875,14 +11901,19 @@ const hsla = {
|
|
|
11875
11901
|
label: 'A',
|
|
11876
11902
|
max: 1,
|
|
11877
11903
|
step: 0.01,
|
|
11878
|
-
getValue:
|
|
11904
|
+
getValue: _ref2 => {
|
|
11905
|
+
let {
|
|
11906
|
+
a
|
|
11907
|
+
} = _ref2;
|
|
11908
|
+
return a ? Math.round(a * 100) / 100 : 1;
|
|
11909
|
+
},
|
|
11879
11910
|
getColor: (c, v) => ({
|
|
11880
11911
|
...c,
|
|
11881
11912
|
a: Number(v)
|
|
11882
11913
|
})
|
|
11883
11914
|
}],
|
|
11884
|
-
to:
|
|
11885
|
-
from:
|
|
11915
|
+
to: HSVtoHSL,
|
|
11916
|
+
from: HSLtoHSV
|
|
11886
11917
|
};
|
|
11887
11918
|
const hsl = {
|
|
11888
11919
|
...hsla,
|
|
@@ -11897,8 +11928,8 @@ const hexa = {
|
|
|
11897
11928
|
getValue: c => c,
|
|
11898
11929
|
getColor: (c, v) => v
|
|
11899
11930
|
}],
|
|
11900
|
-
to:
|
|
11901
|
-
from:
|
|
11931
|
+
to: HSVtoHex,
|
|
11932
|
+
from: HexToHSV
|
|
11902
11933
|
};
|
|
11903
11934
|
const hex = {
|
|
11904
11935
|
...hexa,
|
|
@@ -12664,7 +12695,7 @@ const VColorPickerPreview = defineComponent({
|
|
|
12664
12695
|
"class": "v-color-picker-preview__dot"
|
|
12665
12696
|
}, [createVNode("div", {
|
|
12666
12697
|
"style": {
|
|
12667
|
-
background:
|
|
12698
|
+
background: HSVtoCSS(props.color ?? nullColor)
|
|
12668
12699
|
}
|
|
12669
12700
|
}, null)]), createVNode("div", {
|
|
12670
12701
|
"class": "v-color-picker-preview__sliders"
|
|
@@ -13205,7 +13236,7 @@ const VColorPicker = defineComponent({
|
|
|
13205
13236
|
"theme": props.theme,
|
|
13206
13237
|
"class": ['v-color-picker'],
|
|
13207
13238
|
"style": {
|
|
13208
|
-
'--v-color-picker-color-hsv':
|
|
13239
|
+
'--v-color-picker-color-hsv': HSVtoCSS({
|
|
13209
13240
|
...(currentColor.value ?? nullColor),
|
|
13210
13241
|
a: 1
|
|
13211
13242
|
})
|
|
@@ -14218,7 +14249,7 @@ const VFooter = defineComponent({
|
|
|
14218
14249
|
useRender(() => createVNode(props.tag, {
|
|
14219
14250
|
"ref": resizeRef,
|
|
14220
14251
|
"class": ['v-footer', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value],
|
|
14221
|
-
"style": [backgroundColorStyles, props.app ? layoutItemStyles.value : undefined]
|
|
14252
|
+
"style": [backgroundColorStyles.value, props.app ? layoutItemStyles.value : undefined]
|
|
14222
14253
|
}, slots));
|
|
14223
14254
|
return {};
|
|
14224
14255
|
}
|
|
@@ -14780,7 +14811,8 @@ const VLazy = defineComponent({
|
|
|
14780
14811
|
"style": dimensionStyles.value
|
|
14781
14812
|
}, {
|
|
14782
14813
|
default: () => [isActive.value && createVNode(MaybeTransition, {
|
|
14783
|
-
"transition": props.transition
|
|
14814
|
+
"transition": props.transition,
|
|
14815
|
+
"appear": true
|
|
14784
14816
|
}, {
|
|
14785
14817
|
default: () => [(_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots)]
|
|
14786
14818
|
})]
|
|
@@ -15240,7 +15272,7 @@ const VNavigationDrawer = defineComponent({
|
|
|
15240
15272
|
const isTemporary = computed(() => !props.permanent && (mobile.value || props.temporary));
|
|
15241
15273
|
const isSticky = computed(() => props.sticky && !isTemporary.value && location.value !== 'bottom');
|
|
15242
15274
|
if (!props.disableResizeWatcher) {
|
|
15243
|
-
watch(isTemporary, val => !props.permanent && (isActive.value = !val));
|
|
15275
|
+
watch(isTemporary, val => !props.permanent && nextTick(() => isActive.value = !val));
|
|
15244
15276
|
}
|
|
15245
15277
|
if (!props.disableRouteWatcher && router) {
|
|
15246
15278
|
watch(router.currentRoute, () => isTemporary.value && (isActive.value = false));
|
|
@@ -15868,8 +15900,7 @@ const VRadioGroup = defineComponent({
|
|
|
15868
15900
|
isReadonly
|
|
15869
15901
|
} = _ref2;
|
|
15870
15902
|
return createVNode(Fragment, null, [label && createVNode(VLabel, {
|
|
15871
|
-
"for": id.value
|
|
15872
|
-
"clickable": true
|
|
15903
|
+
"for": id.value
|
|
15873
15904
|
}, {
|
|
15874
15905
|
default: () => [label]
|
|
15875
15906
|
}), createVNode(VSelectionControlGroup, mergeProps(controlProps, {
|
|
@@ -18163,7 +18194,7 @@ function createVuetify$1() {
|
|
|
18163
18194
|
locale
|
|
18164
18195
|
};
|
|
18165
18196
|
}
|
|
18166
|
-
const version$1 = "3.0.
|
|
18197
|
+
const version$1 = "3.0.4";
|
|
18167
18198
|
createVuetify$1.version = version$1;
|
|
18168
18199
|
|
|
18169
18200
|
// Vue's inject() can only be used in setup
|
|
@@ -18184,7 +18215,7 @@ const createVuetify = function () {
|
|
|
18184
18215
|
...options
|
|
18185
18216
|
});
|
|
18186
18217
|
};
|
|
18187
|
-
const version = "3.0.
|
|
18218
|
+
const version = "3.0.4";
|
|
18188
18219
|
createVuetify.version = version;
|
|
18189
18220
|
|
|
18190
18221
|
export { components, createVuetify, directives, useDisplay, useLayout, useLocale, useRtl, useTheme, version };
|