@vuetify/nightly 4.0.0-dev-20230427.0 → 4.0.0-dev-20230511.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -23
- package/dist/json/attributes.json +854 -658
- package/dist/json/importMap-labs.json +4 -4
- package/dist/json/tags.json +50 -1
- package/dist/json/web-types.json +1797 -1324
- package/dist/vuetify-labs.css +81 -69
- package/dist/vuetify-labs.d.ts +771 -257
- package/dist/vuetify-labs.esm.js +260 -224
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +259 -223
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +23 -11
- package/dist/vuetify.d.ts +884 -412
- package/dist/vuetify.esm.js +237 -215
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +236 -214
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +640 -645
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/{index.d.ts → index.d.mts} +5 -1
- package/lib/blueprints/{md1.d.ts → md1.d.mts} +5 -1
- package/lib/blueprints/{md2.d.ts → md2.d.mts} +5 -1
- package/lib/blueprints/{md3.d.ts → md3.d.mts} +5 -1
- package/lib/components/VAppBar/VAppBar.mjs +7 -11
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBarNavIcon.mjs +10 -16
- package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
- package/lib/components/VAppBar/{index.d.ts → index.d.mts} +394 -28
- package/lib/components/VAutocomplete/VAutocomplete.css +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.mjs +9 -2
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.sass +1 -1
- package/lib/components/VAutocomplete/{index.d.ts → index.d.mts} +6 -6
- package/lib/components/VBtn/VBtn.mjs +7 -6
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VCheckbox/VCheckboxBtn.mjs +0 -1
- package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
- package/lib/components/VCheckbox/{index.d.ts → index.d.mts} +6 -6
- package/lib/components/VColorPicker/VColorPicker.mjs +9 -4
- package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs +5 -4
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
- package/lib/components/VColorPicker/{index.d.ts → index.d.mts} +97 -31
- package/lib/components/VColorPicker/util/index.mjs +2 -22
- package/lib/components/VColorPicker/util/index.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.mjs +9 -2
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/{index.d.ts → index.d.mts} +6 -6
- package/lib/components/VField/{index.d.ts → index.d.mts} +6 -6
- package/lib/components/VFileInput/VFileInput.mjs +2 -1
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/{index.d.ts → index.d.mts} +15 -15
- package/lib/components/VImg/VImg.css +2 -4
- package/lib/components/VImg/VImg.mjs +25 -24
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VImg/VImg.sass +4 -3
- package/lib/components/VImg/{index.d.ts → index.d.mts} +48 -3
- package/lib/components/VInput/{index.d.ts → index.d.mts} +6 -6
- package/lib/components/VList/VList.mjs +5 -0
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListGroup.mjs +3 -0
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListItem.mjs +10 -5
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/{index.d.ts → index.d.mts} +18 -0
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +1 -8
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VRadioGroup/{index.d.ts → index.d.mts} +6 -6
- package/lib/components/VRangeSlider/{index.d.ts → index.d.mts} +6 -6
- package/lib/components/VResponsive/VResponsive.css +13 -5
- package/lib/components/VResponsive/VResponsive.mjs +12 -8
- package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
- package/lib/components/VResponsive/VResponsive.sass +12 -4
- package/lib/components/VResponsive/{index.d.ts → index.d.mts} +10 -1
- package/lib/components/VSelect/VSelect.mjs +9 -2
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/{index.d.ts → index.d.mts} +6 -6
- package/lib/components/VSheet/VSheet.css +6 -0
- package/lib/components/VSheet/_variables.scss +1 -1
- package/lib/components/VSlider/{index.d.ts → index.d.mts} +6 -6
- package/lib/components/VSwitch/{index.d.ts → index.d.mts} +6 -6
- package/lib/components/VTextField/VTextField.mjs +1 -1
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/{index.d.ts → index.d.mts} +24 -24
- package/lib/components/VTextarea/VTextarea.mjs +1 -1
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/{index.d.ts → index.d.mts} +15 -15
- package/lib/components/VValidation/{index.d.ts → index.d.mts} +6 -6
- package/lib/components/{index.d.ts → index.d.mts} +679 -208
- package/lib/composables/defaults.mjs +15 -3
- package/lib/composables/defaults.mjs.map +1 -1
- package/lib/composables/display.mjs +6 -6
- package/lib/composables/display.mjs.map +1 -1
- package/lib/composables/focus.mjs.map +1 -1
- package/lib/composables/scroll.mjs +18 -19
- package/lib/composables/scroll.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/framework.mjs.map +1 -1
- package/lib/{index.d.ts → index.d.mts} +7 -6
- package/lib/labs/VDataTable/VDataTable.mjs +11 -2
- package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs +0 -5
- package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableVirtual.mjs +7 -2
- package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/paginate.mjs +6 -1
- package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
- package/lib/labs/VDataTable/{index.d.ts → index.d.mts} +54 -12
- package/lib/labs/{components.d.ts → components.d.mts} +54 -12
- package/lib/util/colorUtils.mjs +68 -3
- package/lib/util/colorUtils.mjs.map +1 -1
- package/lib/util/console.mjs +12 -81
- package/lib/util/console.mjs.map +1 -1
- package/lib/util/defineComponent.mjs +2 -2
- package/lib/util/defineComponent.mjs.map +1 -1
- package/lib/util/helpers.mjs +3 -0
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +10 -6
- /package/lib/components/VAlert/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VApp/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VAvatar/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VBadge/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VBanner/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VBottomNavigation/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VBreadcrumbs/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VBtn/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VBtnGroup/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VBtnToggle/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VCard/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VCarousel/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VChip/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VChipGroup/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VCode/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VCounter/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VDefaultsProvider/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VDialog/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VDivider/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VExpansionPanel/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VFooter/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VForm/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VGrid/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VHover/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VIcon/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VItemGroup/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VKbd/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VLabel/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VLayout/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VLazy/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VLocaleProvider/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VMain/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VMenu/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VMessages/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VNavigationDrawer/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VNoSsr/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VOverlay/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VPagination/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VParallax/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VProgressCircular/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VProgressLinear/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VRadio/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VRating/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VSelectionControl/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VSelectionControlGroup/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VSheet/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VSlideGroup/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VSnackbar/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VSystemBar/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VTable/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VTabs/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VThemeProvider/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VTimeline/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VToolbar/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VTooltip/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VVirtualScroll/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/VWindow/{index.d.ts → index.d.mts} +0 -0
- /package/lib/components/transitions/{index.d.ts → index.d.mts} +0 -0
- /package/lib/directives/{index.d.ts → index.d.mts} +0 -0
- /package/lib/iconsets/{fa-svg.d.ts → fa-svg.d.mts} +0 -0
- /package/lib/iconsets/{fa.d.ts → fa.d.mts} +0 -0
- /package/lib/iconsets/{fa4.d.ts → fa4.d.mts} +0 -0
- /package/lib/iconsets/{md.d.ts → md.d.mts} +0 -0
- /package/lib/iconsets/{mdi-svg.d.ts → mdi-svg.d.mts} +0 -0
- /package/lib/iconsets/{mdi.d.ts → mdi.d.mts} +0 -0
- /package/lib/labs/VInfiniteScroll/{index.d.ts → index.d.mts} +0 -0
- /package/lib/labs/VSkeletonLoader/{index.d.ts → index.d.mts} +0 -0
- /package/lib/labs/date/adapters/{vuetify.d.ts → vuetify.d.mts} +0 -0
- /package/lib/labs/date/{index.d.ts → index.d.mts} +0 -0
- /package/lib/locale/adapters/{vue-i18n.d.ts → vue-i18n.d.mts} +0 -0
- /package/lib/locale/adapters/{vuetify.d.ts → vuetify.d.mts} +0 -0
- /package/lib/locale/{index.d.ts → index.d.mts} +0 -0
@@ -373,6 +373,7 @@ declare const VDataTable: {
|
|
373
373
|
page: string | number;
|
374
374
|
headers: DataTableHeader[] | DataTableHeader[][];
|
375
375
|
noDataText: string;
|
376
|
+
loadingText: string;
|
376
377
|
sortBy: SortItem[];
|
377
378
|
items: any[];
|
378
379
|
modelValue: any[];
|
@@ -399,6 +400,7 @@ declare const VDataTable: {
|
|
399
400
|
page: string | number;
|
400
401
|
headers: DataTableHeader[] | DataTableHeader[][];
|
401
402
|
noDataText: string;
|
403
|
+
loadingText: string;
|
402
404
|
sortBy: SortItem[];
|
403
405
|
items: any[];
|
404
406
|
modelValue: any[];
|
@@ -424,6 +426,7 @@ declare const VDataTable: {
|
|
424
426
|
search?: string | undefined;
|
425
427
|
height?: string | number | undefined;
|
426
428
|
width?: string | number | undefined;
|
429
|
+
loading?: string | boolean | undefined;
|
427
430
|
customFilter?: FilterFunction | undefined;
|
428
431
|
customKeyFilter?: FilterKeyFunctions | undefined;
|
429
432
|
filterKeys?: FilterKeys | undefined;
|
@@ -648,7 +651,7 @@ declare const VDataTable: {
|
|
648
651
|
"onUpdate:page"?: ((value: number) => any) | undefined;
|
649
652
|
"onUpdate:itemsPerPage"?: ((value: number) => any) | undefined;
|
650
653
|
"onUpdate:options"?: ((value: any) => any) | undefined;
|
651
|
-
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "expanded" | "page" | "headers" | "noDataText" | "sortBy" | "items" | "modelValue" | "itemTitle" | "itemValue" | "itemChildren" | "itemProps" | "returnObject" | "hideNoData" | "filterMode" | "noFilter" | "hover" | "fixedHeader" | "fixedFooter" | "multiSort" | "mustSort" | "groupBy" | "showSelect" | "expandOnClick" | "showExpand" | "itemsPerPage">;
|
654
|
+
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "expanded" | "page" | "headers" | "noDataText" | "loadingText" | "sortBy" | "items" | "modelValue" | "itemTitle" | "itemValue" | "itemChildren" | "itemProps" | "returnObject" | "hideNoData" | "filterMode" | "noFilter" | "hover" | "fixedHeader" | "fixedFooter" | "multiSort" | "mustSort" | "groupBy" | "showSelect" | "expandOnClick" | "showExpand" | "itemsPerPage">;
|
652
655
|
$attrs: {
|
653
656
|
[x: string]: unknown;
|
654
657
|
};
|
@@ -667,6 +670,7 @@ declare const VDataTable: {
|
|
667
670
|
page: string | number;
|
668
671
|
headers: DataTableHeader[] | DataTableHeader[][];
|
669
672
|
noDataText: string;
|
673
|
+
loadingText: string;
|
670
674
|
sortBy: SortItem[];
|
671
675
|
items: any[];
|
672
676
|
modelValue: any[];
|
@@ -692,6 +696,7 @@ declare const VDataTable: {
|
|
692
696
|
search?: string | undefined;
|
693
697
|
height?: string | number | undefined;
|
694
698
|
width?: string | number | undefined;
|
699
|
+
loading?: string | boolean | undefined;
|
695
700
|
customFilter?: FilterFunction | undefined;
|
696
701
|
customKeyFilter?: FilterKeyFunctions | undefined;
|
697
702
|
filterKeys?: FilterKeys | undefined;
|
@@ -929,6 +934,7 @@ declare const VDataTable: {
|
|
929
934
|
page: string | number;
|
930
935
|
headers: DataTableHeader[] | DataTableHeader[][];
|
931
936
|
noDataText: string;
|
937
|
+
loadingText: string;
|
932
938
|
sortBy: SortItem[];
|
933
939
|
items: any[];
|
934
940
|
modelValue: any[];
|
@@ -975,6 +981,7 @@ declare const VDataTable: {
|
|
975
981
|
page: string | number;
|
976
982
|
headers: DataTableHeader[] | DataTableHeader[][];
|
977
983
|
noDataText: string;
|
984
|
+
loadingText: string;
|
978
985
|
sortBy: SortItem[];
|
979
986
|
items: any[];
|
980
987
|
modelValue: any[];
|
@@ -1000,6 +1007,7 @@ declare const VDataTable: {
|
|
1000
1007
|
search?: string | undefined;
|
1001
1008
|
height?: string | number | undefined;
|
1002
1009
|
width?: string | number | undefined;
|
1010
|
+
loading?: string | boolean | undefined;
|
1003
1011
|
customFilter?: FilterFunction | undefined;
|
1004
1012
|
customKeyFilter?: FilterKeyFunctions | undefined;
|
1005
1013
|
filterKeys?: FilterKeys | undefined;
|
@@ -1233,6 +1241,7 @@ declare const VDataTable: {
|
|
1233
1241
|
page: string | number;
|
1234
1242
|
headers: DataTableHeader[] | DataTableHeader[][];
|
1235
1243
|
noDataText: string;
|
1244
|
+
loadingText: string;
|
1236
1245
|
sortBy: SortItem[];
|
1237
1246
|
items: any[];
|
1238
1247
|
modelValue: any[];
|
@@ -1258,6 +1267,7 @@ declare const VDataTable: {
|
|
1258
1267
|
search?: string | undefined;
|
1259
1268
|
height?: string | number | undefined;
|
1260
1269
|
width?: string | number | undefined;
|
1270
|
+
loading?: string | boolean | undefined;
|
1261
1271
|
customFilter?: FilterFunction | undefined;
|
1262
1272
|
customKeyFilter?: FilterKeyFunctions | undefined;
|
1263
1273
|
filterKeys?: FilterKeys | undefined;
|
@@ -1495,6 +1505,7 @@ declare const VDataTable: {
|
|
1495
1505
|
page: string | number;
|
1496
1506
|
headers: DataTableHeader[] | DataTableHeader[][];
|
1497
1507
|
noDataText: string;
|
1508
|
+
loadingText: string;
|
1498
1509
|
sortBy: SortItem[];
|
1499
1510
|
items: any[];
|
1500
1511
|
modelValue: any[];
|
@@ -1564,6 +1575,11 @@ declare const VDataTable: {
|
|
1564
1575
|
width: (StringConstructor | NumberConstructor)[];
|
1565
1576
|
fixedHeader: BooleanConstructor;
|
1566
1577
|
fixedFooter: BooleanConstructor;
|
1578
|
+
loading: (StringConstructor | BooleanConstructor)[];
|
1579
|
+
loadingText: {
|
1580
|
+
type: StringConstructor;
|
1581
|
+
default: string;
|
1582
|
+
};
|
1567
1583
|
'onClick:row': PropType<(e: Event, value: {
|
1568
1584
|
item: DataTableItem;
|
1569
1585
|
}) => void>;
|
@@ -1644,6 +1660,11 @@ declare const VDataTable: {
|
|
1644
1660
|
width: (StringConstructor | NumberConstructor)[];
|
1645
1661
|
fixedHeader: BooleanConstructor;
|
1646
1662
|
fixedFooter: BooleanConstructor;
|
1663
|
+
loading: (StringConstructor | BooleanConstructor)[];
|
1664
|
+
loadingText: {
|
1665
|
+
type: StringConstructor;
|
1666
|
+
default: string;
|
1667
|
+
};
|
1647
1668
|
'onClick:row': PropType<(e: Event, value: {
|
1648
1669
|
item: DataTableItem;
|
1649
1670
|
}) => void>;
|
@@ -1756,6 +1777,7 @@ declare const VDataTableVirtual: {
|
|
1756
1777
|
expanded: string[];
|
1757
1778
|
headers: DataTableHeader[] | DataTableHeader[][];
|
1758
1779
|
noDataText: string;
|
1780
|
+
loadingText: string;
|
1759
1781
|
sortBy: SortItem[];
|
1760
1782
|
items: any[];
|
1761
1783
|
modelValue: any[];
|
@@ -1782,6 +1804,7 @@ declare const VDataTableVirtual: {
|
|
1782
1804
|
expanded: string[];
|
1783
1805
|
headers: DataTableHeader[] | DataTableHeader[][];
|
1784
1806
|
noDataText: string;
|
1807
|
+
loadingText: string;
|
1785
1808
|
sortBy: SortItem[];
|
1786
1809
|
items: any[];
|
1787
1810
|
modelValue: any[];
|
@@ -1808,6 +1831,7 @@ declare const VDataTableVirtual: {
|
|
1808
1831
|
search?: string | undefined;
|
1809
1832
|
height?: string | number | undefined;
|
1810
1833
|
width?: string | number | undefined;
|
1834
|
+
loading?: string | boolean | undefined;
|
1811
1835
|
customFilter?: FilterFunction | undefined;
|
1812
1836
|
customKeyFilter?: FilterKeyFunctions | undefined;
|
1813
1837
|
filterKeys?: FilterKeys | undefined;
|
@@ -2015,7 +2039,7 @@ declare const VDataTableVirtual: {
|
|
2015
2039
|
item: DataTableItem;
|
2016
2040
|
}) => any) | undefined;
|
2017
2041
|
"onUpdate:options"?: ((value: any) => any) | undefined;
|
2018
|
-
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "expanded" | "headers" | "noDataText" | "sortBy" | "items" | "modelValue" | "itemTitle" | "itemValue" | "itemChildren" | "itemProps" | "returnObject" | "hideNoData" | "filterMode" | "noFilter" | "hover" | "fixedHeader" | "fixedFooter" | "itemHeight" | "multiSort" | "mustSort" | "groupBy" | "showSelect" | "expandOnClick" | "showExpand" | "visibleItems">;
|
2042
|
+
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "expanded" | "headers" | "noDataText" | "loadingText" | "sortBy" | "items" | "modelValue" | "itemTitle" | "itemValue" | "itemChildren" | "itemProps" | "returnObject" | "hideNoData" | "filterMode" | "noFilter" | "hover" | "fixedHeader" | "fixedFooter" | "itemHeight" | "multiSort" | "mustSort" | "groupBy" | "showSelect" | "expandOnClick" | "showExpand" | "visibleItems">;
|
2019
2043
|
$attrs: {
|
2020
2044
|
[x: string]: unknown;
|
2021
2045
|
};
|
@@ -2035,6 +2059,7 @@ declare const VDataTableVirtual: {
|
|
2035
2059
|
expanded: string[];
|
2036
2060
|
headers: DataTableHeader[] | DataTableHeader[][];
|
2037
2061
|
noDataText: string;
|
2062
|
+
loadingText: string;
|
2038
2063
|
sortBy: SortItem[];
|
2039
2064
|
items: any[];
|
2040
2065
|
modelValue: any[];
|
@@ -2061,6 +2086,7 @@ declare const VDataTableVirtual: {
|
|
2061
2086
|
search?: string | undefined;
|
2062
2087
|
height?: string | number | undefined;
|
2063
2088
|
width?: string | number | undefined;
|
2089
|
+
loading?: string | boolean | undefined;
|
2064
2090
|
customFilter?: FilterFunction | undefined;
|
2065
2091
|
customKeyFilter?: FilterKeyFunctions | undefined;
|
2066
2092
|
filterKeys?: FilterKeys | undefined;
|
@@ -2281,6 +2307,7 @@ declare const VDataTableVirtual: {
|
|
2281
2307
|
expanded: string[];
|
2282
2308
|
headers: DataTableHeader[] | DataTableHeader[][];
|
2283
2309
|
noDataText: string;
|
2310
|
+
loadingText: string;
|
2284
2311
|
sortBy: SortItem[];
|
2285
2312
|
items: any[];
|
2286
2313
|
modelValue: any[];
|
@@ -2327,6 +2354,7 @@ declare const VDataTableVirtual: {
|
|
2327
2354
|
expanded: string[];
|
2328
2355
|
headers: DataTableHeader[] | DataTableHeader[][];
|
2329
2356
|
noDataText: string;
|
2357
|
+
loadingText: string;
|
2330
2358
|
sortBy: SortItem[];
|
2331
2359
|
items: any[];
|
2332
2360
|
modelValue: any[];
|
@@ -2353,6 +2381,7 @@ declare const VDataTableVirtual: {
|
|
2353
2381
|
search?: string | undefined;
|
2354
2382
|
height?: string | number | undefined;
|
2355
2383
|
width?: string | number | undefined;
|
2384
|
+
loading?: string | boolean | undefined;
|
2356
2385
|
customFilter?: FilterFunction | undefined;
|
2357
2386
|
customKeyFilter?: FilterKeyFunctions | undefined;
|
2358
2387
|
filterKeys?: FilterKeys | undefined;
|
@@ -2568,6 +2597,7 @@ declare const VDataTableVirtual: {
|
|
2568
2597
|
expanded: string[];
|
2569
2598
|
headers: DataTableHeader[] | DataTableHeader[][];
|
2570
2599
|
noDataText: string;
|
2600
|
+
loadingText: string;
|
2571
2601
|
sortBy: SortItem[];
|
2572
2602
|
items: any[];
|
2573
2603
|
modelValue: any[];
|
@@ -2594,6 +2624,7 @@ declare const VDataTableVirtual: {
|
|
2594
2624
|
search?: string | undefined;
|
2595
2625
|
height?: string | number | undefined;
|
2596
2626
|
width?: string | number | undefined;
|
2627
|
+
loading?: string | boolean | undefined;
|
2597
2628
|
customFilter?: FilterFunction | undefined;
|
2598
2629
|
customKeyFilter?: FilterKeyFunctions | undefined;
|
2599
2630
|
filterKeys?: FilterKeys | undefined;
|
@@ -2814,6 +2845,7 @@ declare const VDataTableVirtual: {
|
|
2814
2845
|
expanded: string[];
|
2815
2846
|
headers: DataTableHeader[] | DataTableHeader[][];
|
2816
2847
|
noDataText: string;
|
2848
|
+
loadingText: string;
|
2817
2849
|
sortBy: SortItem[];
|
2818
2850
|
items: any[];
|
2819
2851
|
modelValue: any[];
|
@@ -2912,6 +2944,11 @@ declare const VDataTableVirtual: {
|
|
2912
2944
|
width: (StringConstructor | NumberConstructor)[];
|
2913
2945
|
fixedHeader: BooleanConstructor;
|
2914
2946
|
fixedFooter: BooleanConstructor;
|
2947
|
+
loading: (StringConstructor | BooleanConstructor)[];
|
2948
|
+
loadingText: {
|
2949
|
+
type: StringConstructor;
|
2950
|
+
default: string;
|
2951
|
+
};
|
2915
2952
|
'onClick:row': vue.PropType<(e: Event, value: {
|
2916
2953
|
item: DataTableItem;
|
2917
2954
|
}) => void>;
|
@@ -2992,6 +3029,11 @@ declare const VDataTableVirtual: {
|
|
2992
3029
|
width: (StringConstructor | NumberConstructor)[];
|
2993
3030
|
fixedHeader: BooleanConstructor;
|
2994
3031
|
fixedFooter: BooleanConstructor;
|
3032
|
+
loading: (StringConstructor | BooleanConstructor)[];
|
3033
|
+
loadingText: {
|
3034
|
+
type: StringConstructor;
|
3035
|
+
default: string;
|
3036
|
+
};
|
2995
3037
|
'onClick:row': vue.PropType<(e: Event, value: {
|
2996
3038
|
item: DataTableItem;
|
2997
3039
|
}) => void>;
|
@@ -4232,16 +4274,16 @@ declare const VDataTableServer: {
|
|
4232
4274
|
width: (StringConstructor | NumberConstructor)[];
|
4233
4275
|
fixedHeader: BooleanConstructor;
|
4234
4276
|
fixedFooter: BooleanConstructor;
|
4235
|
-
'onClick:row': vue.PropType<(e: Event, value: {
|
4236
|
-
item: DataTableItem;
|
4237
|
-
}) => void>;
|
4238
|
-
search: StringConstructor;
|
4239
|
-
color: StringConstructor;
|
4240
4277
|
loading: (StringConstructor | BooleanConstructor)[];
|
4241
4278
|
loadingText: {
|
4242
4279
|
type: StringConstructor;
|
4243
4280
|
default: string;
|
4244
4281
|
};
|
4282
|
+
'onClick:row': vue.PropType<(e: Event, value: {
|
4283
|
+
item: DataTableItem;
|
4284
|
+
}) => void>;
|
4285
|
+
search: StringConstructor;
|
4286
|
+
color: StringConstructor;
|
4245
4287
|
itemsLength: {
|
4246
4288
|
type: (StringConstructor | NumberConstructor)[];
|
4247
4289
|
required: true;
|
@@ -4314,16 +4356,16 @@ declare const VDataTableServer: {
|
|
4314
4356
|
width: (StringConstructor | NumberConstructor)[];
|
4315
4357
|
fixedHeader: BooleanConstructor;
|
4316
4358
|
fixedFooter: BooleanConstructor;
|
4317
|
-
'onClick:row': vue.PropType<(e: Event, value: {
|
4318
|
-
item: DataTableItem;
|
4319
|
-
}) => void>;
|
4320
|
-
search: StringConstructor;
|
4321
|
-
color: StringConstructor;
|
4322
4359
|
loading: (StringConstructor | BooleanConstructor)[];
|
4323
4360
|
loadingText: {
|
4324
4361
|
type: StringConstructor;
|
4325
4362
|
default: string;
|
4326
4363
|
};
|
4364
|
+
'onClick:row': vue.PropType<(e: Event, value: {
|
4365
|
+
item: DataTableItem;
|
4366
|
+
}) => void>;
|
4367
|
+
search: StringConstructor;
|
4368
|
+
color: StringConstructor;
|
4327
4369
|
itemsLength: {
|
4328
4370
|
type: (StringConstructor | NumberConstructor)[];
|
4329
4371
|
required: true;
|
package/lib/util/colorUtils.mjs
CHANGED
@@ -1,11 +1,50 @@
|
|
1
1
|
// Utilities
|
2
2
|
import { consoleWarn } from "./console.mjs";
|
3
|
-
import { chunk, padEnd } from "./helpers.mjs";
|
3
|
+
import { chunk, has, padEnd } from "./helpers.mjs";
|
4
4
|
import * as sRGB from "./color/transformSRGB.mjs";
|
5
5
|
import * as CIELAB from "./color/transformCIELAB.mjs"; // Types
|
6
6
|
export function isCssColor(color) {
|
7
7
|
return !!color && /^(#|var\(--|(rgb|hsl)a?\()/.test(color);
|
8
8
|
}
|
9
|
+
const cssColorRe = /^(?<fn>(?:rgb|hsl)a?)\((?<values>.+)\)/;
|
10
|
+
const mappers = {
|
11
|
+
rgb: (r, g, b, a) => ({
|
12
|
+
r,
|
13
|
+
g,
|
14
|
+
b,
|
15
|
+
a
|
16
|
+
}),
|
17
|
+
rgba: (r, g, b, a) => ({
|
18
|
+
r,
|
19
|
+
g,
|
20
|
+
b,
|
21
|
+
a
|
22
|
+
}),
|
23
|
+
hsl: (h, s, l, a) => HSLtoRGB({
|
24
|
+
h,
|
25
|
+
s,
|
26
|
+
l,
|
27
|
+
a
|
28
|
+
}),
|
29
|
+
hsla: (h, s, l, a) => HSLtoRGB({
|
30
|
+
h,
|
31
|
+
s,
|
32
|
+
l,
|
33
|
+
a
|
34
|
+
}),
|
35
|
+
hsv: (h, s, v, a) => HSVtoRGB({
|
36
|
+
h,
|
37
|
+
s,
|
38
|
+
v,
|
39
|
+
a
|
40
|
+
}),
|
41
|
+
hsva: (h, s, v, a) => HSVtoRGB({
|
42
|
+
h,
|
43
|
+
s,
|
44
|
+
v,
|
45
|
+
a
|
46
|
+
})
|
47
|
+
};
|
9
48
|
export function parseColor(color) {
|
10
49
|
if (typeof color === 'number') {
|
11
50
|
if (isNaN(color) || color < 0 || color > 0xFFFFFF) {
|
@@ -17,6 +56,22 @@ export function parseColor(color) {
|
|
17
56
|
g: (color & 0xFF00) >> 8,
|
18
57
|
b: color & 0xFF
|
19
58
|
};
|
59
|
+
} else if (typeof color === 'string' && cssColorRe.test(color)) {
|
60
|
+
const {
|
61
|
+
groups
|
62
|
+
} = color.match(cssColorRe);
|
63
|
+
const {
|
64
|
+
fn,
|
65
|
+
values
|
66
|
+
} = groups;
|
67
|
+
const realValues = values.split(/,\s*/).map(v => {
|
68
|
+
if (v.endsWith('%') && ['hsl', 'hsla', 'hsv', 'hsva'].includes(fn)) {
|
69
|
+
return parseFloat(v) / 100;
|
70
|
+
} else {
|
71
|
+
return parseFloat(v);
|
72
|
+
}
|
73
|
+
});
|
74
|
+
return mappers[fn](...realValues);
|
20
75
|
} else if (typeof color === 'string') {
|
21
76
|
let hex = color.startsWith('#') ? color.slice(1) : color;
|
22
77
|
if ([3, 4].includes(hex.length)) {
|
@@ -29,9 +84,16 @@ export function parseColor(color) {
|
|
29
84
|
consoleWarn(`'${color}' is not a valid hex(a) color`);
|
30
85
|
}
|
31
86
|
return HexToRGB(hex);
|
32
|
-
} else {
|
33
|
-
|
87
|
+
} else if (typeof color === 'object') {
|
88
|
+
if (has(color, ['r', 'g', 'b'])) {
|
89
|
+
return color;
|
90
|
+
} else if (has(color, ['h', 's', 'l'])) {
|
91
|
+
return HSVtoRGB(HSLtoHSV(color));
|
92
|
+
} else if (has(color, ['h', 's', 'v'])) {
|
93
|
+
return HSVtoRGB(color);
|
94
|
+
}
|
34
95
|
}
|
96
|
+
throw new TypeError(`Invalid color: ${color == null ? color : String(color) || color.constructor.name}\nExpected #hex, #hexa, rgb(), rgba(), hsl(), hsla(), object or number`);
|
35
97
|
}
|
36
98
|
export function RGBToInt(color) {
|
37
99
|
return (color.r << 16) + (color.g << 8) + color.b;
|
@@ -71,6 +133,9 @@ export function HSVtoRGB(hsva) {
|
|
71
133
|
a
|
72
134
|
};
|
73
135
|
}
|
136
|
+
export function HSLtoRGB(hsla) {
|
137
|
+
return HSVtoRGB(HSLtoHSV(hsla));
|
138
|
+
}
|
74
139
|
|
75
140
|
/** Converts RGBA to HSVA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV */
|
76
141
|
export function RGBtoHSV(rgba) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"colorUtils.mjs","names":["consoleWarn","chunk","padEnd","sRGB","CIELAB","isCssColor","color","test","parseColor","isNaN","r","g","b","hex","startsWith","slice","includes","length","split","map","char","join","int","parseInt","HexToRGB","TypeError","constructor","name","RGBToInt","classToHex","colors","currentTheme","colorName","colorModifier","toString","trim","replace","hexColor","base","HSVtoRGB","hsva","h","s","v","a","f","n","k","Math","max","min","rgb","round","RGBtoHSV","rgba","hsv","HSVtoHSL","l","sprime","HSLtoHSV","hsl","RGBtoCSS","_ref","undefined","HSVtoCSS","toHex","substr","toUpperCase","RGBtoHex","_ref2","parseHex","c","HexToHSV","HSVtoHex","x","parseGradient","gradient","Object","values","lighten","value","amount","lab","fromXYZ","toXYZ","darken","getLuma","getContrast","first","second","l1","l2","light","dark"],"sources":["../../src/util/colorUtils.ts"],"sourcesContent":["// Utilities\nimport { consoleWarn } from './console'\nimport { chunk, padEnd } from './helpers'\nimport * as sRGB from '@/util/color/transformSRGB'\nimport * as CIELAB from '@/util/color/transformCIELAB'\n\n// Types\nimport type { Colors } from '@/composables/theme'\n\nexport type XYZ = [number, number, number]\nexport type LAB = [number, number, number]\nexport type HSV = { h: number, s: number, v: number, a?: number }\nexport type RGB = { r: number, g: number, b: number, a?: number }\nexport type HSL = { h: number, s: number, l: number, a?: number }\nexport type Hex = string & { __hexBrand: never }\nexport type Color = string | number | {}\n\nexport function isCssColor (color?: string | null | false): boolean {\n return !!color && /^(#|var\\(--|(rgb|hsl)a?\\()/.test(color)\n}\n\nexport function parseColor (color: Color): RGB {\n if (typeof color === 'number') {\n if (isNaN(color) || color < 0 || color > 0xFFFFFF) { // int can't have opacity\n consoleWarn(`'${color}' is not a valid hex color`)\n }\n\n return {\n r: (color & 0xFF0000) >> 16,\n g: (color & 0xFF00) >> 8,\n b: (color & 0xFF),\n }\n } else if (typeof color === 'string') {\n let hex = color.startsWith('#') ? color.slice(1) : color\n\n if ([3, 4].includes(hex.length)) {\n hex = hex.split('').map(char => char + char).join('')\n } else if (![6, 8].includes(hex.length)) {\n consoleWarn(`'${color}' is not a valid hex(a) color`)\n }\n\n const int = parseInt(hex, 16)\n if (isNaN(int) || int < 0 || int > 0xFFFFFFFF) {\n consoleWarn(`'${color}' is not a valid hex(a) color`)\n }\n\n return HexToRGB(hex as Hex)\n } else {\n throw new TypeError(`Colors can only be numbers or strings, recieved ${color == null ? color : color.constructor.name} instead`)\n }\n}\n\nexport function RGBToInt (color: RGB) {\n return (color.r << 16) + (color.g << 8) + color.b\n}\n\nexport function classToHex (\n color: string,\n colors: Record<string, Record<string, string>>,\n currentTheme: Partial<Colors>,\n): string {\n const [colorName, colorModifier] = color\n .toString().trim().replace('-', '').split(' ', 2) as (string | undefined)[]\n\n let hexColor = ''\n if (colorName && colorName in colors) {\n if (colorModifier && colorModifier in colors[colorName]) {\n hexColor = colors[colorName][colorModifier]\n } else if ('base' in colors[colorName]) {\n hexColor = colors[colorName].base\n }\n } else if (colorName && colorName in currentTheme) {\n hexColor = currentTheme[colorName] as string\n }\n\n return hexColor\n}\n\n/** Converts HSVA to RGBA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV */\nexport function HSVtoRGB (hsva: HSV): RGB {\n const { h, s, v, a } = hsva\n const f = (n: number) => {\n const k = (n + (h / 60)) % 6\n return v - v * s * Math.max(Math.min(k, 4 - k, 1), 0)\n }\n\n const rgb = [f(5), f(3), f(1)].map(v => Math.round(v * 255))\n\n return { r: rgb[0], g: rgb[1], b: rgb[2], a }\n}\n\n/** Converts RGBA to HSVA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV */\nexport function RGBtoHSV (rgba: RGB): HSV {\n if (!rgba) return { h: 0, s: 1, v: 1, a: 1 }\n\n const r = rgba.r / 255\n const g = rgba.g / 255\n const b = rgba.b / 255\n const max = Math.max(r, g, b)\n const min = Math.min(r, g, b)\n\n let h = 0\n\n if (max !== min) {\n if (max === r) {\n h = 60 * (0 + ((g - b) / (max - min)))\n } else if (max === g) {\n h = 60 * (2 + ((b - r) / (max - min)))\n } else if (max === b) {\n h = 60 * (4 + ((r - g) / (max - min)))\n }\n }\n\n if (h < 0) h = h + 360\n\n const s = max === 0 ? 0 : (max - min) / max\n const hsv = [h, s, max]\n\n return { h: hsv[0], s: hsv[1], v: hsv[2], a: rgba.a }\n}\n\nexport function HSVtoHSL (hsva: HSV): HSL {\n const { h, s, v, a } = hsva\n\n const l = v - (v * s / 2)\n\n const sprime = l === 1 || l === 0 ? 0 : (v - l) / Math.min(l, 1 - l)\n\n return { h, s: sprime, l, a }\n}\n\nexport function HSLtoHSV (hsl: HSL): HSV {\n const { h, s, l, a } = hsl\n\n const v = l + s * Math.min(l, 1 - l)\n\n const sprime = v === 0 ? 0 : 2 - (2 * l / v)\n\n return { h, s: sprime, v, a }\n}\n\nexport function RGBtoCSS ({ r, g, b, a }: RGB): string {\n return a === undefined ? `rgb(${r}, ${g}, ${b})` : `rgba(${r}, ${g}, ${b}, ${a})`\n}\n\nexport function HSVtoCSS (hsva: HSV): string {\n return RGBtoCSS(HSVtoRGB(hsva))\n}\n\nfunction toHex (v: number) {\n const h = Math.round(v).toString(16)\n return ('00'.substr(0, 2 - h.length) + h).toUpperCase()\n}\n\nexport function RGBtoHex ({ r, g, b, a }: RGB): Hex {\n return `#${[\n toHex(r),\n toHex(g),\n toHex(b),\n a !== undefined ? toHex(Math.round(a * 255)) : '',\n ].join('')}` as Hex\n}\n\nexport function HexToRGB (hex: Hex): RGB {\n hex = parseHex(hex)\n let [r, g, b, a] = chunk(hex, 2).map((c: string) => parseInt(c, 16))\n a = a === undefined ? a : (a / 255)\n\n return { r, g, b, a }\n}\n\nexport function HexToHSV (hex: Hex): HSV {\n const rgb = HexToRGB(hex)\n return RGBtoHSV(rgb)\n}\n\nexport function HSVtoHex (hsva: HSV): Hex {\n return RGBtoHex(HSVtoRGB(hsva))\n}\n\nexport function parseHex (hex: string): Hex {\n if (hex.startsWith('#')) {\n hex = hex.slice(1)\n }\n\n hex = hex.replace(/([^0-9a-f])/gi, 'F')\n\n if (hex.length === 3 || hex.length === 4) {\n hex = hex.split('').map(x => x + x).join('')\n }\n\n if (hex.length !== 6) {\n hex = padEnd(padEnd(hex, 6), 8, 'F')\n }\n\n return hex as Hex\n}\n\nexport function parseGradient (\n gradient: string,\n colors: Record<string, Record<string, string>>,\n currentTheme: Partial<Colors>,\n) {\n return gradient.replace(/([a-z]+(\\s[a-z]+-[1-5])?)(?=$|,)/gi, x => {\n return classToHex(x, colors, currentTheme) || x\n }).replace(/(rgba\\()#[0-9a-f]+(?=,)/gi, x => {\n return 'rgba(' + Object.values(HexToRGB(parseHex(x.replace(/rgba\\(/, '')))).slice(0, 3).join(',')\n })\n}\n\nexport function lighten (value: RGB, amount: number): RGB {\n const lab = CIELAB.fromXYZ(sRGB.toXYZ(value))\n lab[0] = lab[0] + amount * 10\n\n return sRGB.fromXYZ(CIELAB.toXYZ(lab))\n}\n\nexport function darken (value: RGB, amount: number): RGB {\n const lab = CIELAB.fromXYZ(sRGB.toXYZ(value))\n lab[0] = lab[0] - amount * 10\n\n return sRGB.fromXYZ(CIELAB.toXYZ(lab))\n}\n\n/**\n * Calculate the relative luminance of a given color\n * @see https://www.w3.org/TR/WCAG20/#relativeluminancedef\n */\nexport function getLuma (color: Color) {\n const rgb = parseColor(color)\n\n return sRGB.toXYZ(rgb)[1]\n}\n\n/**\n * Returns the contrast ratio (1-21) between two colors.\n * @see https://www.w3.org/TR/WCAG20/#contrast-ratiodef\n */\nexport function getContrast (first: Color, second: Color) {\n const l1 = getLuma(first)\n const l2 = getLuma(second)\n\n const light = Math.max(l1, l2)\n const dark = Math.min(l1, l2)\n\n return (light + 0.05) / (dark + 0.05)\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"colorUtils.mjs","names":["consoleWarn","chunk","has","padEnd","sRGB","CIELAB","isCssColor","color","test","cssColorRe","mappers","rgb","r","g","b","a","rgba","hsl","h","s","l","HSLtoRGB","hsla","hsv","v","HSVtoRGB","hsva","parseColor","isNaN","groups","match","fn","values","realValues","split","map","endsWith","includes","parseFloat","hex","startsWith","slice","length","char","join","int","parseInt","HexToRGB","HSLtoHSV","TypeError","String","constructor","name","RGBToInt","classToHex","colors","currentTheme","colorName","colorModifier","toString","trim","replace","hexColor","base","f","n","k","Math","max","min","round","RGBtoHSV","HSVtoHSL","sprime","RGBtoCSS","_ref","undefined","HSVtoCSS","toHex","substr","toUpperCase","RGBtoHex","_ref2","parseHex","c","HexToHSV","HSVtoHex","x","parseGradient","gradient","Object","lighten","value","amount","lab","fromXYZ","toXYZ","darken","getLuma","getContrast","first","second","l1","l2","light","dark"],"sources":["../../src/util/colorUtils.ts"],"sourcesContent":["// Utilities\nimport { consoleWarn } from './console'\nimport { chunk, has, padEnd } from './helpers'\nimport * as sRGB from '@/util/color/transformSRGB'\nimport * as CIELAB from '@/util/color/transformCIELAB'\n\n// Types\nimport type { Colors } from '@/composables/theme'\n\nexport type XYZ = [number, number, number]\nexport type LAB = [number, number, number]\nexport type HSV = { h: number, s: number, v: number, a?: number }\nexport type RGB = { r: number, g: number, b: number, a?: number }\nexport type HSL = { h: number, s: number, l: number, a?: number }\nexport type Hex = string & { __hexBrand: never }\nexport type Color = string | number | HSV | RGB | HSL\n\nexport function isCssColor (color?: string | null | false): boolean {\n return !!color && /^(#|var\\(--|(rgb|hsl)a?\\()/.test(color)\n}\n\nconst cssColorRe = /^(?<fn>(?:rgb|hsl)a?)\\((?<values>.+)\\)/\nconst mappers = {\n rgb: (r: number, g: number, b: number, a?: number) => ({ r, g, b, a }),\n rgba: (r: number, g: number, b: number, a?: number) => ({ r, g, b, a }),\n hsl: (h: number, s: number, l: number, a?: number) => HSLtoRGB({ h, s, l, a }),\n hsla: (h: number, s: number, l: number, a?: number) => HSLtoRGB({ h, s, l, a }),\n hsv: (h: number, s: number, v: number, a?: number) => HSVtoRGB({ h, s, v, a }),\n hsva: (h: number, s: number, v: number, a?: number) => HSVtoRGB({ h, s, v, a }),\n}\n\nexport function parseColor (color: Color): RGB {\n if (typeof color === 'number') {\n if (isNaN(color) || color < 0 || color > 0xFFFFFF) { // int can't have opacity\n consoleWarn(`'${color}' is not a valid hex color`)\n }\n\n return {\n r: (color & 0xFF0000) >> 16,\n g: (color & 0xFF00) >> 8,\n b: (color & 0xFF),\n }\n } else if (typeof color === 'string' && cssColorRe.test(color)) {\n const { groups } = color.match(cssColorRe)!\n const { fn, values } = groups as { fn: keyof typeof mappers, values: string }\n const realValues = values.split(/,\\s*/)\n .map(v => {\n if (v.endsWith('%') && ['hsl', 'hsla', 'hsv', 'hsva'].includes(fn)) {\n return parseFloat(v) / 100\n } else {\n return parseFloat(v)\n }\n }) as [number, number, number, number?]\n\n return mappers[fn](...realValues)\n } else if (typeof color === 'string') {\n let hex = color.startsWith('#') ? color.slice(1) : color\n\n if ([3, 4].includes(hex.length)) {\n hex = hex.split('').map(char => char + char).join('')\n } else if (![6, 8].includes(hex.length)) {\n consoleWarn(`'${color}' is not a valid hex(a) color`)\n }\n\n const int = parseInt(hex, 16)\n if (isNaN(int) || int < 0 || int > 0xFFFFFFFF) {\n consoleWarn(`'${color}' is not a valid hex(a) color`)\n }\n\n return HexToRGB(hex as Hex)\n } else if (typeof color === 'object') {\n if (has(color, ['r', 'g', 'b'])) {\n return color\n } else if (has(color, ['h', 's', 'l'])) {\n return HSVtoRGB(HSLtoHSV(color))\n } else if (has(color, ['h', 's', 'v'])) {\n return HSVtoRGB(color)\n }\n }\n\n throw new TypeError(`Invalid color: ${color == null ? color : (String(color) || (color as any).constructor.name)}\\nExpected #hex, #hexa, rgb(), rgba(), hsl(), hsla(), object or number`)\n}\n\nexport function RGBToInt (color: RGB) {\n return (color.r << 16) + (color.g << 8) + color.b\n}\n\nexport function classToHex (\n color: string,\n colors: Record<string, Record<string, string>>,\n currentTheme: Partial<Colors>,\n): string {\n const [colorName, colorModifier] = color\n .toString().trim().replace('-', '').split(' ', 2) as (string | undefined)[]\n\n let hexColor = ''\n if (colorName && colorName in colors) {\n if (colorModifier && colorModifier in colors[colorName]) {\n hexColor = colors[colorName][colorModifier]\n } else if ('base' in colors[colorName]) {\n hexColor = colors[colorName].base\n }\n } else if (colorName && colorName in currentTheme) {\n hexColor = currentTheme[colorName] as string\n }\n\n return hexColor\n}\n\n/** Converts HSVA to RGBA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV */\nexport function HSVtoRGB (hsva: HSV): RGB {\n const { h, s, v, a } = hsva\n const f = (n: number) => {\n const k = (n + (h / 60)) % 6\n return v - v * s * Math.max(Math.min(k, 4 - k, 1), 0)\n }\n\n const rgb = [f(5), f(3), f(1)].map(v => Math.round(v * 255))\n\n return { r: rgb[0], g: rgb[1], b: rgb[2], a }\n}\n\nexport function HSLtoRGB (hsla: HSL): RGB {\n return HSVtoRGB(HSLtoHSV(hsla))\n}\n\n/** Converts RGBA to HSVA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV */\nexport function RGBtoHSV (rgba: RGB): HSV {\n if (!rgba) return { h: 0, s: 1, v: 1, a: 1 }\n\n const r = rgba.r / 255\n const g = rgba.g / 255\n const b = rgba.b / 255\n const max = Math.max(r, g, b)\n const min = Math.min(r, g, b)\n\n let h = 0\n\n if (max !== min) {\n if (max === r) {\n h = 60 * (0 + ((g - b) / (max - min)))\n } else if (max === g) {\n h = 60 * (2 + ((b - r) / (max - min)))\n } else if (max === b) {\n h = 60 * (4 + ((r - g) / (max - min)))\n }\n }\n\n if (h < 0) h = h + 360\n\n const s = max === 0 ? 0 : (max - min) / max\n const hsv = [h, s, max]\n\n return { h: hsv[0], s: hsv[1], v: hsv[2], a: rgba.a }\n}\n\nexport function HSVtoHSL (hsva: HSV): HSL {\n const { h, s, v, a } = hsva\n\n const l = v - (v * s / 2)\n\n const sprime = l === 1 || l === 0 ? 0 : (v - l) / Math.min(l, 1 - l)\n\n return { h, s: sprime, l, a }\n}\n\nexport function HSLtoHSV (hsl: HSL): HSV {\n const { h, s, l, a } = hsl\n\n const v = l + s * Math.min(l, 1 - l)\n\n const sprime = v === 0 ? 0 : 2 - (2 * l / v)\n\n return { h, s: sprime, v, a }\n}\n\nexport function RGBtoCSS ({ r, g, b, a }: RGB): string {\n return a === undefined ? `rgb(${r}, ${g}, ${b})` : `rgba(${r}, ${g}, ${b}, ${a})`\n}\n\nexport function HSVtoCSS (hsva: HSV): string {\n return RGBtoCSS(HSVtoRGB(hsva))\n}\n\nfunction toHex (v: number) {\n const h = Math.round(v).toString(16)\n return ('00'.substr(0, 2 - h.length) + h).toUpperCase()\n}\n\nexport function RGBtoHex ({ r, g, b, a }: RGB): Hex {\n return `#${[\n toHex(r),\n toHex(g),\n toHex(b),\n a !== undefined ? toHex(Math.round(a * 255)) : '',\n ].join('')}` as Hex\n}\n\nexport function HexToRGB (hex: Hex): RGB {\n hex = parseHex(hex)\n let [r, g, b, a] = chunk(hex, 2).map((c: string) => parseInt(c, 16))\n a = a === undefined ? a : (a / 255)\n\n return { r, g, b, a }\n}\n\nexport function HexToHSV (hex: Hex): HSV {\n const rgb = HexToRGB(hex)\n return RGBtoHSV(rgb)\n}\n\nexport function HSVtoHex (hsva: HSV): Hex {\n return RGBtoHex(HSVtoRGB(hsva))\n}\n\nexport function parseHex (hex: string): Hex {\n if (hex.startsWith('#')) {\n hex = hex.slice(1)\n }\n\n hex = hex.replace(/([^0-9a-f])/gi, 'F')\n\n if (hex.length === 3 || hex.length === 4) {\n hex = hex.split('').map(x => x + x).join('')\n }\n\n if (hex.length !== 6) {\n hex = padEnd(padEnd(hex, 6), 8, 'F')\n }\n\n return hex as Hex\n}\n\nexport function parseGradient (\n gradient: string,\n colors: Record<string, Record<string, string>>,\n currentTheme: Partial<Colors>,\n) {\n return gradient.replace(/([a-z]+(\\s[a-z]+-[1-5])?)(?=$|,)/gi, x => {\n return classToHex(x, colors, currentTheme) || x\n }).replace(/(rgba\\()#[0-9a-f]+(?=,)/gi, x => {\n return 'rgba(' + Object.values(HexToRGB(parseHex(x.replace(/rgba\\(/, '')))).slice(0, 3).join(',')\n })\n}\n\nexport function lighten (value: RGB, amount: number): RGB {\n const lab = CIELAB.fromXYZ(sRGB.toXYZ(value))\n lab[0] = lab[0] + amount * 10\n\n return sRGB.fromXYZ(CIELAB.toXYZ(lab))\n}\n\nexport function darken (value: RGB, amount: number): RGB {\n const lab = CIELAB.fromXYZ(sRGB.toXYZ(value))\n lab[0] = lab[0] - amount * 10\n\n return sRGB.fromXYZ(CIELAB.toXYZ(lab))\n}\n\n/**\n * Calculate the relative luminance of a given color\n * @see https://www.w3.org/TR/WCAG20/#relativeluminancedef\n */\nexport function getLuma (color: Color) {\n const rgb = parseColor(color)\n\n return sRGB.toXYZ(rgb)[1]\n}\n\n/**\n * Returns the contrast ratio (1-21) between two colors.\n * @see https://www.w3.org/TR/WCAG20/#contrast-ratiodef\n */\nexport function getContrast (first: Color, second: Color) {\n const l1 = getLuma(first)\n const l2 = getLuma(second)\n\n const light = Math.max(l1, l2)\n const dark = Math.min(l1, l2)\n\n return (light + 0.05) / (dark + 0.05)\n}\n"],"mappings":"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"}
|
package/lib/util/console.mjs
CHANGED
@@ -1,89 +1,20 @@
|
|
1
1
|
/* eslint-disable no-console */
|
2
|
-
// import Vuetify from '../framework'
|
3
2
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
if (parent) {
|
8
|
-
vm = {
|
9
|
-
__isVue: true,
|
10
|
-
$parent: parent,
|
11
|
-
$options: vm
|
12
|
-
};
|
13
|
-
}
|
14
|
-
if (vm) {
|
15
|
-
// Only show each message once per instance
|
16
|
-
vm.$_alreadyWarned = vm.$_alreadyWarned || [];
|
17
|
-
if (vm.$_alreadyWarned.includes(message)) return;
|
18
|
-
vm.$_alreadyWarned.push(message);
|
19
|
-
}
|
20
|
-
return `[Vuetify] ${message}` + (vm ? generateComponentTrace(vm) : '');
|
21
|
-
}
|
22
|
-
export function consoleInfo(message, vm, parent) {
|
23
|
-
const newMessage = createMessage(message, vm, parent);
|
24
|
-
newMessage != null && console.info(newMessage);
|
25
|
-
}
|
26
|
-
export function consoleWarn(message, vm, parent) {
|
27
|
-
const newMessage = createMessage(message, vm, parent);
|
28
|
-
newMessage != null && console.warn(newMessage);
|
29
|
-
}
|
30
|
-
export function consoleError(message, vm, parent) {
|
31
|
-
const newMessage = createMessage(message, vm, parent);
|
32
|
-
newMessage != null && console.error(newMessage);
|
3
|
+
import { warn } from 'vue';
|
4
|
+
export function consoleWarn(message) {
|
5
|
+
warn(`Vuetify: ${message}`);
|
33
6
|
}
|
34
|
-
export function
|
35
|
-
|
7
|
+
export function consoleError(message) {
|
8
|
+
warn(`Vuetify error: ${message}`);
|
36
9
|
}
|
37
|
-
export function
|
38
|
-
|
10
|
+
export function deprecate(original, replacement) {
|
11
|
+
replacement = Array.isArray(replacement) ? replacement.slice(0, -1).map(s => `'${s}'`).join(', ') + ` or '${replacement.at(-1)}'` : `'${replacement}'`;
|
12
|
+
warn(`[Vuetify UPGRADE] '${original}' is deprecated, use ${replacement} instead.`);
|
39
13
|
}
|
40
|
-
export function
|
41
|
-
|
42
|
-
}
|
43
|
-
|
44
|
-
/**
|
45
|
-
* Shamelessly stolen from vuejs/vue/blob/dev/src/core/util/debug.js
|
46
|
-
*/
|
47
|
-
|
48
|
-
const classifyRE = /(?:^|[-_])(\w)/g;
|
49
|
-
const classify = str => str.replace(classifyRE, c => c.toUpperCase()).replace(/[-_]/g, '');
|
50
|
-
function formatComponentName(vm, includeFile) {
|
51
|
-
if (vm.$root === vm) {
|
52
|
-
return '<Root>';
|
53
|
-
}
|
54
|
-
const options = typeof vm === 'function' && vm.cid != null ? vm.options : vm.__isVue ? vm.$options || vm.constructor.options : vm || {};
|
55
|
-
let name = options.name || options._componentTag;
|
56
|
-
const file = options.__file;
|
57
|
-
if (!name && file) {
|
58
|
-
const match = file.match(/([^/\\]+)\.vue$/);
|
59
|
-
name = match?.[1];
|
60
|
-
}
|
61
|
-
return (name ? `<${classify(name)}>` : `<Anonymous>`) + (file && includeFile !== false ? ` at ${file}` : '');
|
14
|
+
export function breaking(original, replacement) {
|
15
|
+
// warn(`[Vuetify BREAKING] '${original}' has been removed, use '${replacement}' instead. For more information, see the upgrade guide https://github.com/vuetifyjs/vuetify/releases/tag/v2.0.0#user-content-upgrade-guide`)
|
62
16
|
}
|
63
|
-
function
|
64
|
-
|
65
|
-
const tree = [];
|
66
|
-
let currentRecursiveSequence = 0;
|
67
|
-
while (vm) {
|
68
|
-
if (tree.length > 0) {
|
69
|
-
const last = tree[tree.length - 1];
|
70
|
-
if (last.constructor === vm.constructor) {
|
71
|
-
currentRecursiveSequence++;
|
72
|
-
vm = vm.$parent;
|
73
|
-
continue;
|
74
|
-
} else if (currentRecursiveSequence > 0) {
|
75
|
-
tree[tree.length - 1] = [last, currentRecursiveSequence];
|
76
|
-
currentRecursiveSequence = 0;
|
77
|
-
}
|
78
|
-
}
|
79
|
-
tree.push(vm);
|
80
|
-
vm = vm.$parent;
|
81
|
-
}
|
82
|
-
return '\n\nfound in\n\n' + tree.map((vm, i) => `${i === 0 ? '---> ' : ' '.repeat(5 + i * 2)}${Array.isArray(vm)
|
83
|
-
// eslint-disable-next-line sonarjs/no-nested-template-literals
|
84
|
-
? `${formatComponentName(vm[0])}... (${vm[1]} recursive calls)` : formatComponentName(vm)}`).join('\n');
|
85
|
-
} else {
|
86
|
-
return `\n\n(found in ${formatComponentName(vm)})`;
|
87
|
-
}
|
17
|
+
export function removed(original) {
|
18
|
+
// warn(`[Vuetify REMOVED] '${original}' has been removed. You can safely omit it.`)
|
88
19
|
}
|
89
20
|
//# sourceMappingURL=console.mjs.map
|
package/lib/util/console.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"console.mjs","names":["
|
1
|
+
{"version":3,"file":"console.mjs","names":["warn","consoleWarn","message","consoleError","deprecate","original","replacement","Array","isArray","slice","map","s","join","at","breaking","removed"],"sources":["../../src/util/console.ts"],"sourcesContent":["/* eslint-disable no-console */\n\nimport { warn } from 'vue'\n\nexport function consoleWarn (message: string): void {\n warn(`Vuetify: ${message}`)\n}\n\nexport function consoleError (message: string): void {\n warn(`Vuetify error: ${message}`)\n}\n\nexport function deprecate (original: string, replacement: string | string[]) {\n replacement = Array.isArray(replacement)\n ? replacement.slice(0, -1).map(s => `'${s}'`).join(', ') + ` or '${replacement.at(-1)}'`\n : `'${replacement}'`\n warn(`[Vuetify UPGRADE] '${original}' is deprecated, use ${replacement} instead.`)\n}\nexport function breaking (original: string, replacement: string) {\n // warn(`[Vuetify BREAKING] '${original}' has been removed, use '${replacement}' instead. For more information, see the upgrade guide https://github.com/vuetifyjs/vuetify/releases/tag/v2.0.0#user-content-upgrade-guide`)\n}\nexport function removed (original: string) {\n // warn(`[Vuetify REMOVED] '${original}' has been removed. You can safely omit it.`)\n}\n"],"mappings":"AAAA;;AAEA,SAASA,IAAI,QAAQ,KAAK;AAE1B,OAAO,SAASC,WAAWA,CAAEC,OAAe,EAAQ;EAClDF,IAAI,CAAE,YAAWE,OAAQ,EAAC,CAAC;AAC7B;AAEA,OAAO,SAASC,YAAYA,CAAED,OAAe,EAAQ;EACnDF,IAAI,CAAE,kBAAiBE,OAAQ,EAAC,CAAC;AACnC;AAEA,OAAO,SAASE,SAASA,CAAEC,QAAgB,EAAEC,WAA8B,EAAE;EAC3EA,WAAW,GAAGC,KAAK,CAACC,OAAO,CAACF,WAAW,CAAC,GACpCA,WAAW,CAACG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAACC,GAAG,CAACC,CAAC,IAAK,IAAGA,CAAE,GAAE,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC,GAAI,QAAON,WAAW,CAACO,EAAE,CAAC,CAAC,CAAC,CAAE,GAAE,GACrF,IAAGP,WAAY,GAAE;EACtBN,IAAI,CAAE,sBAAqBK,QAAS,wBAAuBC,WAAY,WAAU,CAAC;AACpF;AACA,OAAO,SAASQ,QAAQA,CAAET,QAAgB,EAAEC,WAAmB,EAAE;EAC/D;AAAA;AAEF,OAAO,SAASS,OAAOA,CAAEV,QAAgB,EAAE;EACzC;AAAA"}
|
@@ -4,7 +4,7 @@ import { defineComponent as _defineComponent // eslint-disable-line no-restricte
|
|
4
4
|
import { consoleWarn } from "./console.mjs";
|
5
5
|
import { pick, toKebabCase } from "./helpers.mjs";
|
6
6
|
import { propsFactory } from "./propsFactory.mjs";
|
7
|
-
import { injectDefaults,
|
7
|
+
import { injectDefaults, internalUseDefaults } from "../composables/defaults.mjs"; // Types
|
8
8
|
// Implementation
|
9
9
|
export function defineComponent(options) {
|
10
10
|
options._setup = options._setup ?? options.setup;
|
@@ -27,7 +27,7 @@ export function defineComponent(options) {
|
|
27
27
|
const {
|
28
28
|
props: _props,
|
29
29
|
provideSubDefaults
|
30
|
-
} =
|
30
|
+
} = internalUseDefaults(props, props._as ?? options.name, defaults);
|
31
31
|
const setupBindings = options._setup(_props, ctx);
|
32
32
|
provideSubDefaults();
|
33
33
|
return setupBindings;
|