vuetify 3.10.4 → 3.10.5
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 +3273 -3261
- package/dist/json/importMap-labs.json +20 -20
- package/dist/json/importMap.json +182 -182
- package/dist/json/tags.json +3 -0
- package/dist/json/web-types.json +6210 -6180
- package/dist/vuetify-labs.cjs +36 -38
- package/dist/vuetify-labs.css +4426 -4415
- package/dist/vuetify-labs.d.ts +113 -65
- package/dist/vuetify-labs.esm.js +36 -38
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +36 -38
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +36 -38
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +5909 -5898
- package/dist/vuetify.d.ts +113 -65
- package/dist/vuetify.esm.js +36 -38
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +36 -38
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +14 -15
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VBadge/VBadge.css +10 -0
- package/lib/components/VBadge/VBadge.sass +9 -0
- package/lib/components/VDataTable/VDataTableGroupHeaderRow.d.ts +29 -0
- package/lib/components/VDataTable/VDataTableGroupHeaderRow.js +4 -1
- package/lib/components/VDataTable/VDataTableGroupHeaderRow.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaders.d.ts +29 -0
- package/lib/components/VDataTable/VDataTableHeaders.js +3 -0
- package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
- package/lib/components/VDataTable/VDataTableRow.d.ts +29 -0
- package/lib/components/VDataTable/VDataTableRow.js +3 -0
- package/lib/components/VDataTable/VDataTableRow.js.map +1 -1
- package/lib/components/VDataTable/VDataTableRows.d.ts +29 -0
- package/lib/components/VDataTable/VDataTableRows.js +4 -3
- package/lib/components/VDataTable/VDataTableRows.js.map +1 -1
- package/lib/components/VDivider/VDivider.css +1 -0
- package/lib/components/VDivider/VDivider.sass +1 -0
- package/lib/components/VKbd/_variables.scss +3 -1
- package/lib/components/VList/VListItem.js +1 -1
- package/lib/components/VList/VListItem.js.map +1 -1
- package/lib/components/VTable/VTable.js +20 -32
- package/lib/components/VTable/VTable.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +65 -65
- package/lib/framework.js +1 -1
- package/lib/labs/rules/rules.js +3 -3
- package/lib/labs/rules/rules.js.map +1 -1
- package/package.json +1 -1
|
@@ -75,4 +75,14 @@
|
|
|
75
75
|
display: inline-flex;
|
|
76
76
|
justify-content: center;
|
|
77
77
|
margin: 0 4px;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
@media (forced-colors: active) {
|
|
81
|
+
.v-badge__badge {
|
|
82
|
+
forced-color-adjust: preserve-parent-color;
|
|
83
|
+
}
|
|
84
|
+
.v-badge__badge.v-badge__badge {
|
|
85
|
+
background: highlight !important;
|
|
86
|
+
color: highlighttext !important;
|
|
87
|
+
}
|
|
78
88
|
}
|
|
@@ -76,3 +76,12 @@
|
|
|
76
76
|
display: inline-flex
|
|
77
77
|
justify-content: center
|
|
78
78
|
margin: $badge-wrapper-margin
|
|
79
|
+
|
|
80
|
+
@media (forced-colors: active)
|
|
81
|
+
.v-badge__badge
|
|
82
|
+
forced-color-adjust: preserve-parent-color
|
|
83
|
+
// override .bg-* classes specificity when used without $layers
|
|
84
|
+
&.v-badge__badge
|
|
85
|
+
background: highlight !important
|
|
86
|
+
color: highlighttext !important
|
|
87
|
+
|
|
@@ -13,10 +13,23 @@ export type VDataTableGroupHeaderRowSlots = {
|
|
|
13
13
|
};
|
|
14
14
|
};
|
|
15
15
|
export declare const makeVDataTableGroupHeaderRowProps: <Defaults extends {
|
|
16
|
+
density?: unknown;
|
|
16
17
|
item?: unknown;
|
|
17
18
|
groupCollapseIcon?: unknown;
|
|
18
19
|
groupExpandIcon?: unknown;
|
|
19
20
|
} = {}>(defaults?: Defaults | undefined) => {
|
|
21
|
+
density: unknown extends Defaults["density"] ? {
|
|
22
|
+
type: PropType<import("../../composables/density.js").Density>;
|
|
23
|
+
default: string;
|
|
24
|
+
validator: (v: any) => boolean;
|
|
25
|
+
} : Omit<{
|
|
26
|
+
type: PropType<import("../../composables/density.js").Density>;
|
|
27
|
+
default: string;
|
|
28
|
+
validator: (v: any) => boolean;
|
|
29
|
+
}, "default" | "type"> & {
|
|
30
|
+
type: PropType<unknown extends Defaults["density"] ? import("../../composables/density.js").Density : Defaults["density"] | import("../../composables/density.js").Density>;
|
|
31
|
+
default: unknown extends Defaults["density"] ? import("../../composables/density.js").Density : Defaults["density"] | NonNullable<import("../../composables/density.js").Density>;
|
|
32
|
+
};
|
|
20
33
|
item: unknown extends Defaults["item"] ? {
|
|
21
34
|
type: PropType<Group<any>>;
|
|
22
35
|
required: true;
|
|
@@ -50,6 +63,7 @@ export declare const makeVDataTableGroupHeaderRowProps: <Defaults extends {
|
|
|
50
63
|
};
|
|
51
64
|
export declare const VDataTableGroupHeaderRow: {
|
|
52
65
|
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<{
|
|
66
|
+
density: import("../../composables/density.js").Density;
|
|
53
67
|
item: Group<any>;
|
|
54
68
|
groupCollapseIcon: IconValue;
|
|
55
69
|
groupExpandIcon: IconValue;
|
|
@@ -86,6 +100,7 @@ export declare const VDataTableGroupHeaderRow: {
|
|
|
86
100
|
props: Record<string, unknown>;
|
|
87
101
|
}) => import("vue").VNodeChild) | undefined;
|
|
88
102
|
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, {
|
|
103
|
+
density: import("../../composables/density.js").Density;
|
|
89
104
|
groupCollapseIcon: IconValue;
|
|
90
105
|
groupExpandIcon: IconValue;
|
|
91
106
|
}, true, {}, import("vue").SlotsType<Partial<{
|
|
@@ -109,6 +124,7 @@ export declare const VDataTableGroupHeaderRow: {
|
|
|
109
124
|
M: {};
|
|
110
125
|
Defaults: {};
|
|
111
126
|
}, {
|
|
127
|
+
density: import("../../composables/density.js").Density;
|
|
112
128
|
item: Group<any>;
|
|
113
129
|
groupCollapseIcon: IconValue;
|
|
114
130
|
groupExpandIcon: IconValue;
|
|
@@ -145,6 +161,7 @@ export declare const VDataTableGroupHeaderRow: {
|
|
|
145
161
|
props: Record<string, unknown>;
|
|
146
162
|
}) => import("vue").VNodeChild) | undefined;
|
|
147
163
|
}, () => JSX.Element, {}, {}, {}, {
|
|
164
|
+
density: import("../../composables/density.js").Density;
|
|
148
165
|
groupCollapseIcon: IconValue;
|
|
149
166
|
groupExpandIcon: IconValue;
|
|
150
167
|
}>;
|
|
@@ -152,6 +169,7 @@ export declare const VDataTableGroupHeaderRow: {
|
|
|
152
169
|
__isTeleport?: undefined;
|
|
153
170
|
__isSuspense?: undefined;
|
|
154
171
|
} & import("vue").ComponentOptionsBase<{
|
|
172
|
+
density: import("../../composables/density.js").Density;
|
|
155
173
|
item: Group<any>;
|
|
156
174
|
groupCollapseIcon: IconValue;
|
|
157
175
|
groupExpandIcon: IconValue;
|
|
@@ -188,6 +206,7 @@ export declare const VDataTableGroupHeaderRow: {
|
|
|
188
206
|
props: Record<string, unknown>;
|
|
189
207
|
}) => import("vue").VNodeChild) | undefined;
|
|
190
208
|
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, {
|
|
209
|
+
density: import("../../composables/density.js").Density;
|
|
191
210
|
groupCollapseIcon: IconValue;
|
|
192
211
|
groupExpandIcon: IconValue;
|
|
193
212
|
}, {}, string, import("vue").SlotsType<Partial<{
|
|
@@ -204,6 +223,11 @@ export declare const VDataTableGroupHeaderRow: {
|
|
|
204
223
|
[key: string]: any;
|
|
205
224
|
}>[];
|
|
206
225
|
}>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("../../util/index.js").FilterPropsOptions<{
|
|
226
|
+
density: {
|
|
227
|
+
type: PropType<import("../../composables/density.js").Density>;
|
|
228
|
+
default: string;
|
|
229
|
+
validator: (v: any) => boolean;
|
|
230
|
+
};
|
|
207
231
|
item: {
|
|
208
232
|
type: PropType<Group<any>>;
|
|
209
233
|
required: true;
|
|
@@ -217,6 +241,11 @@ export declare const VDataTableGroupHeaderRow: {
|
|
|
217
241
|
default: string;
|
|
218
242
|
};
|
|
219
243
|
}, import("vue").ExtractPropTypes<{
|
|
244
|
+
density: {
|
|
245
|
+
type: PropType<import("../../composables/density.js").Density>;
|
|
246
|
+
default: string;
|
|
247
|
+
validator: (v: any) => boolean;
|
|
248
|
+
};
|
|
220
249
|
item: {
|
|
221
250
|
type: PropType<Group<any>>;
|
|
222
251
|
required: true;
|
|
@@ -6,6 +6,7 @@ import { VCheckboxBtn } from "../VCheckbox/index.js"; // Composables
|
|
|
6
6
|
import { useGroupBy } from "./composables/group.js";
|
|
7
7
|
import { useHeaders } from "./composables/headers.js";
|
|
8
8
|
import { useSelection } from "./composables/select.js";
|
|
9
|
+
import { makeDensityProps } from "../../composables/density.js";
|
|
9
10
|
import { IconValue } from "../../composables/icons.js"; // Utilities
|
|
10
11
|
import { computed, toRef } from 'vue';
|
|
11
12
|
import { genericComponent, propsFactory } from "../../util/index.js"; // Types
|
|
@@ -21,7 +22,8 @@ export const makeVDataTableGroupHeaderRowProps = propsFactory({
|
|
|
21
22
|
groupExpandIcon: {
|
|
22
23
|
type: IconValue,
|
|
23
24
|
default: '$tableGroupExpand'
|
|
24
|
-
}
|
|
25
|
+
},
|
|
26
|
+
...makeDensityProps()
|
|
25
27
|
}, 'VDataTableGroupHeaderRow');
|
|
26
28
|
export const VDataTableGroupHeaderRow = genericComponent()({
|
|
27
29
|
name: 'VDataTableGroupHeaderRow',
|
|
@@ -89,6 +91,7 @@ export const VDataTableGroupHeaderRow = genericComponent()({
|
|
|
89
91
|
"noPadding": true
|
|
90
92
|
}, {
|
|
91
93
|
default: () => [_createVNode(VCheckboxBtn, {
|
|
94
|
+
"density": props.density,
|
|
92
95
|
"modelValue": modelValue,
|
|
93
96
|
"indeterminate": indeterminate,
|
|
94
97
|
"onUpdate:modelValue": selectGroup
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VDataTableGroupHeaderRow.js","names":["VDataTableColumn","VBtn","VCheckboxBtn","useGroupBy","useHeaders","useSelection","IconValue","computed","toRef","genericComponent","propsFactory","makeVDataTableGroupHeaderRowProps","item","type","Object","required","groupCollapseIcon","default","groupExpandIcon","VDataTableGroupHeaderRow","name","props","setup","_ref","slots","isGroupOpen","toggleGroup","extractRows","isSelected","isSomeSelected","select","columns","rows","colspan","value","length","some","c","key","_createElementVNode","depth","map","column","icon","onClick","count","_createVNode","_createTextVNode","modelValue","indeterminate","selectGroup","v"],"sources":["../../../src/components/VDataTable/VDataTableGroupHeaderRow.tsx"],"sourcesContent":["// Components\nimport { VDataTableColumn } from './VDataTableColumn'\nimport { VBtn } from '@/components/VBtn'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\n\n// Composables\nimport { useGroupBy } from './composables/group'\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { Group } from './composables/group'\n\nexport type VDataTableGroupHeaderRowSlots = {\n 'data-table-group': { item: Group, count: number, props: Record<string, unknown> }\n 'data-table-select': { props: Record<string, unknown> }\n}\n\nexport const makeVDataTableGroupHeaderRowProps = propsFactory({\n item: {\n type: Object as PropType<Group>,\n required: true,\n },\n groupCollapseIcon: {\n type: IconValue,\n default: '$tableGroupCollapse',\n },\n groupExpandIcon: {\n type: IconValue,\n default: '$tableGroupExpand',\n },\n}, 'VDataTableGroupHeaderRow')\n\nexport const VDataTableGroupHeaderRow = genericComponent<VDataTableGroupHeaderRowSlots>()({\n name: 'VDataTableGroupHeaderRow',\n\n props: makeVDataTableGroupHeaderRowProps(),\n\n setup (props, { slots }) {\n const { isGroupOpen, toggleGroup, extractRows } = useGroupBy()\n const { isSelected, isSomeSelected, select } = useSelection()\n const { columns } = useHeaders()\n\n const rows = computed(() => {\n return extractRows([props.item])\n })\n\n const colspan = toRef(() => columns.value.length - (columns.value.some(c => c.key === 'data-table-select') ? 1 : 0))\n\n return () => (\n <tr\n class=\"v-data-table-group-header-row\"\n style={{\n '--v-data-table-group-header-row-depth': props.item.depth,\n }}\n >\n { columns.value.map(column => {\n if (column.key === 'data-table-group') {\n const icon = isGroupOpen(props.item) ? props.groupCollapseIcon : props.groupExpandIcon\n const onClick = () => toggleGroup(props.item)\n\n return slots['data-table-group']?.({ item: props.item, count: rows.value.length, props: { icon, onClick } }) ?? (\n <VDataTableColumn\n class=\"v-data-table-group-header-row__column\"\n colspan={ colspan.value }\n >\n <VBtn\n size=\"small\"\n variant=\"text\"\n icon={ icon }\n onClick={ onClick }\n />\n <span>{ props.item.value }</span>\n <span>({ rows.value.length })</span>\n </VDataTableColumn>\n )\n } else if (column.key === 'data-table-select') {\n const modelValue = isSelected(rows.value)\n const indeterminate = isSomeSelected(rows.value) && !modelValue\n const selectGroup = (v: boolean) => select(rows.value, v)\n return slots['data-table-select']?.({ props: { modelValue, indeterminate, 'onUpdate:modelValue': selectGroup } }) ?? (\n <VDataTableColumn class=\"v-data-table__td--select-row\" noPadding>\n <VCheckboxBtn\n modelValue={ modelValue }\n indeterminate={ indeterminate }\n onUpdate:modelValue={ selectGroup }\n />\n </VDataTableColumn>\n )\n }\n\n return ''\n })}\n </tr>\n )\n },\n})\n"],"mappings":";AAAA;AAAA,SACSA,gBAAgB;AAAA,SAChBC,IAAI;AAAA,SACJC,YAAY,iCAErB;AAAA,SACSC,UAAU;AAAA,SACVC,UAAU;AAAA,SACVC,YAAY;AAAA,SACZC,SAAS,sCAElB;AACA,SAASC,QAAQ,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAC5BC,gBAAgB,EAAEC,YAAY,+BAEvC;AASA,OAAO,MAAMC,iCAAiC,GAAGD,YAAY,CAAC;EAC5DE,IAAI,EAAE;IACJC,IAAI,EAAEC,MAAyB;IAC/BC,QAAQ,EAAE;EACZ,CAAC;EACDC,iBAAiB,EAAE;IACjBH,IAAI,EAAEP,SAAS;IACfW,OAAO,EAAE;EACX,CAAC;EACDC,eAAe,EAAE;IACfL,IAAI,EAAEP,SAAS;IACfW,OAAO,EAAE;EACX;
|
|
1
|
+
{"version":3,"file":"VDataTableGroupHeaderRow.js","names":["VDataTableColumn","VBtn","VCheckboxBtn","useGroupBy","useHeaders","useSelection","makeDensityProps","IconValue","computed","toRef","genericComponent","propsFactory","makeVDataTableGroupHeaderRowProps","item","type","Object","required","groupCollapseIcon","default","groupExpandIcon","VDataTableGroupHeaderRow","name","props","setup","_ref","slots","isGroupOpen","toggleGroup","extractRows","isSelected","isSomeSelected","select","columns","rows","colspan","value","length","some","c","key","_createElementVNode","depth","map","column","icon","onClick","count","_createVNode","_createTextVNode","modelValue","indeterminate","selectGroup","v","density"],"sources":["../../../src/components/VDataTable/VDataTableGroupHeaderRow.tsx"],"sourcesContent":["// Components\nimport { VDataTableColumn } from './VDataTableColumn'\nimport { VBtn } from '@/components/VBtn'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\n\n// Composables\nimport { useGroupBy } from './composables/group'\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { makeDensityProps } from '@/composables/density'\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { Group } from './composables/group'\n\nexport type VDataTableGroupHeaderRowSlots = {\n 'data-table-group': { item: Group, count: number, props: Record<string, unknown> }\n 'data-table-select': { props: Record<string, unknown> }\n}\n\nexport const makeVDataTableGroupHeaderRowProps = propsFactory({\n item: {\n type: Object as PropType<Group>,\n required: true,\n },\n groupCollapseIcon: {\n type: IconValue,\n default: '$tableGroupCollapse',\n },\n groupExpandIcon: {\n type: IconValue,\n default: '$tableGroupExpand',\n },\n ...makeDensityProps(),\n}, 'VDataTableGroupHeaderRow')\n\nexport const VDataTableGroupHeaderRow = genericComponent<VDataTableGroupHeaderRowSlots>()({\n name: 'VDataTableGroupHeaderRow',\n\n props: makeVDataTableGroupHeaderRowProps(),\n\n setup (props, { slots }) {\n const { isGroupOpen, toggleGroup, extractRows } = useGroupBy()\n const { isSelected, isSomeSelected, select } = useSelection()\n const { columns } = useHeaders()\n\n const rows = computed(() => {\n return extractRows([props.item])\n })\n\n const colspan = toRef(() => columns.value.length - (columns.value.some(c => c.key === 'data-table-select') ? 1 : 0))\n\n return () => (\n <tr\n class=\"v-data-table-group-header-row\"\n style={{\n '--v-data-table-group-header-row-depth': props.item.depth,\n }}\n >\n { columns.value.map(column => {\n if (column.key === 'data-table-group') {\n const icon = isGroupOpen(props.item) ? props.groupCollapseIcon : props.groupExpandIcon\n const onClick = () => toggleGroup(props.item)\n\n return slots['data-table-group']?.({ item: props.item, count: rows.value.length, props: { icon, onClick } }) ?? (\n <VDataTableColumn\n class=\"v-data-table-group-header-row__column\"\n colspan={ colspan.value }\n >\n <VBtn\n size=\"small\"\n variant=\"text\"\n icon={ icon }\n onClick={ onClick }\n />\n <span>{ props.item.value }</span>\n <span>({ rows.value.length })</span>\n </VDataTableColumn>\n )\n } else if (column.key === 'data-table-select') {\n const modelValue = isSelected(rows.value)\n const indeterminate = isSomeSelected(rows.value) && !modelValue\n const selectGroup = (v: boolean) => select(rows.value, v)\n return slots['data-table-select']?.({ props: { modelValue, indeterminate, 'onUpdate:modelValue': selectGroup } }) ?? (\n <VDataTableColumn class=\"v-data-table__td--select-row\" noPadding>\n <VCheckboxBtn\n density={ props.density }\n modelValue={ modelValue }\n indeterminate={ indeterminate }\n onUpdate:modelValue={ selectGroup }\n />\n </VDataTableColumn>\n )\n }\n\n return ''\n })}\n </tr>\n )\n },\n})\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -37,6 +37,7 @@ export type VDataTableHeadersSlots = {
|
|
|
37
37
|
export declare const makeVDataTableHeadersProps: <Defaults extends {
|
|
38
38
|
mobile?: unknown;
|
|
39
39
|
mobileBreakpoint?: unknown;
|
|
40
|
+
density?: unknown;
|
|
40
41
|
loading?: unknown;
|
|
41
42
|
color?: unknown;
|
|
42
43
|
disableSort?: unknown;
|
|
@@ -61,6 +62,18 @@ export declare const makeVDataTableHeadersProps: <Defaults extends {
|
|
|
61
62
|
type: PropType<unknown extends Defaults["mobileBreakpoint"] ? number | import("../../types.js").DisplayBreakpoint : number | Defaults["mobileBreakpoint"] | import("../../types.js").DisplayBreakpoint>;
|
|
62
63
|
default: unknown extends Defaults["mobileBreakpoint"] ? number | import("../../types.js").DisplayBreakpoint : Defaults["mobileBreakpoint"] | NonNullable<number | import("../../types.js").DisplayBreakpoint>;
|
|
63
64
|
};
|
|
65
|
+
density: unknown extends Defaults["density"] ? {
|
|
66
|
+
type: PropType<import("../../composables/density.js").Density>;
|
|
67
|
+
default: string;
|
|
68
|
+
validator: (v: any) => boolean;
|
|
69
|
+
} : Omit<{
|
|
70
|
+
type: PropType<import("../../composables/density.js").Density>;
|
|
71
|
+
default: string;
|
|
72
|
+
validator: (v: any) => boolean;
|
|
73
|
+
}, "default" | "type"> & {
|
|
74
|
+
type: PropType<unknown extends Defaults["density"] ? import("../../composables/density.js").Density : Defaults["density"] | import("../../composables/density.js").Density>;
|
|
75
|
+
default: unknown extends Defaults["density"] ? import("../../composables/density.js").Density : Defaults["density"] | NonNullable<import("../../composables/density.js").Density>;
|
|
76
|
+
};
|
|
64
77
|
loading: unknown extends Defaults["loading"] ? (BooleanConstructor | StringConstructor)[] : {
|
|
65
78
|
type: PropType<unknown extends Defaults["loading"] ? string | boolean : string | boolean | Defaults["loading"]>;
|
|
66
79
|
default: unknown extends Defaults["loading"] ? string | boolean : Defaults["loading"] | NonNullable<string | boolean>;
|
|
@@ -117,6 +130,7 @@ export declare const makeVDataTableHeadersProps: <Defaults extends {
|
|
|
117
130
|
export declare const VDataTableHeaders: {
|
|
118
131
|
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<{
|
|
119
132
|
mobile: boolean | null;
|
|
133
|
+
density: import("../../composables/density.js").Density;
|
|
120
134
|
disableSort: boolean;
|
|
121
135
|
fixedHeader: boolean;
|
|
122
136
|
multiSort: boolean;
|
|
@@ -153,6 +167,7 @@ export declare const VDataTableHeaders: {
|
|
|
153
167
|
"v-slot:loader"?: false | ((arg: LoaderSlotProps) => import("vue").VNodeChild) | undefined;
|
|
154
168
|
}, void, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, {
|
|
155
169
|
mobile: boolean | null;
|
|
170
|
+
density: import("../../composables/density.js").Density;
|
|
156
171
|
disableSort: boolean;
|
|
157
172
|
fixedHeader: boolean;
|
|
158
173
|
multiSort: boolean;
|
|
@@ -184,6 +199,7 @@ export declare const VDataTableHeaders: {
|
|
|
184
199
|
Defaults: {};
|
|
185
200
|
}, {
|
|
186
201
|
mobile: boolean | null;
|
|
202
|
+
density: import("../../composables/density.js").Density;
|
|
187
203
|
disableSort: boolean;
|
|
188
204
|
fixedHeader: boolean;
|
|
189
205
|
multiSort: boolean;
|
|
@@ -220,6 +236,7 @@ export declare const VDataTableHeaders: {
|
|
|
220
236
|
"v-slot:loader"?: false | ((arg: LoaderSlotProps) => import("vue").VNodeChild) | undefined;
|
|
221
237
|
}, {}, {}, {}, {}, {
|
|
222
238
|
mobile: boolean | null;
|
|
239
|
+
density: import("../../composables/density.js").Density;
|
|
223
240
|
disableSort: boolean;
|
|
224
241
|
fixedHeader: boolean;
|
|
225
242
|
multiSort: boolean;
|
|
@@ -232,6 +249,7 @@ export declare const VDataTableHeaders: {
|
|
|
232
249
|
__isSuspense?: undefined;
|
|
233
250
|
} & import("vue").ComponentOptionsBase<{
|
|
234
251
|
mobile: boolean | null;
|
|
252
|
+
density: import("../../composables/density.js").Density;
|
|
235
253
|
disableSort: boolean;
|
|
236
254
|
fixedHeader: boolean;
|
|
237
255
|
multiSort: boolean;
|
|
@@ -268,6 +286,7 @@ export declare const VDataTableHeaders: {
|
|
|
268
286
|
"v-slot:loader"?: false | ((arg: LoaderSlotProps) => import("vue").VNodeChild) | undefined;
|
|
269
287
|
}, void, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, {
|
|
270
288
|
mobile: boolean | null;
|
|
289
|
+
density: import("../../composables/density.js").Density;
|
|
271
290
|
disableSort: boolean;
|
|
272
291
|
fixedHeader: boolean;
|
|
273
292
|
multiSort: boolean;
|
|
@@ -296,6 +315,11 @@ export declare const VDataTableHeaders: {
|
|
|
296
315
|
default: boolean;
|
|
297
316
|
};
|
|
298
317
|
mobileBreakpoint: PropType<number | import("../../types.js").DisplayBreakpoint>;
|
|
318
|
+
density: {
|
|
319
|
+
type: PropType<import("../../composables/density.js").Density>;
|
|
320
|
+
default: string;
|
|
321
|
+
validator: (v: any) => boolean;
|
|
322
|
+
};
|
|
299
323
|
loading: (BooleanConstructor | StringConstructor)[];
|
|
300
324
|
color: StringConstructor;
|
|
301
325
|
disableSort: BooleanConstructor;
|
|
@@ -319,6 +343,11 @@ export declare const VDataTableHeaders: {
|
|
|
319
343
|
default: boolean;
|
|
320
344
|
};
|
|
321
345
|
mobileBreakpoint: PropType<number | import("../../types.js").DisplayBreakpoint>;
|
|
346
|
+
density: {
|
|
347
|
+
type: PropType<import("../../composables/density.js").Density>;
|
|
348
|
+
default: string;
|
|
349
|
+
validator: (v: any) => boolean;
|
|
350
|
+
};
|
|
322
351
|
loading: (BooleanConstructor | StringConstructor)[];
|
|
323
352
|
color: StringConstructor;
|
|
324
353
|
disableSort: BooleanConstructor;
|
|
@@ -9,6 +9,7 @@ import { useHeaders } from "./composables/headers.js";
|
|
|
9
9
|
import { useSelection } from "./composables/select.js";
|
|
10
10
|
import { useSort } from "./composables/sort.js";
|
|
11
11
|
import { useBackgroundColor } from "../../composables/color.js";
|
|
12
|
+
import { makeDensityProps } from "../../composables/density.js";
|
|
12
13
|
import { makeDisplayProps, useDisplay } from "../../composables/display.js";
|
|
13
14
|
import { IconValue } from "../../composables/icons.js";
|
|
14
15
|
import { LoaderSlot, makeLoaderProps, useLoader } from "../../composables/loader.js";
|
|
@@ -33,6 +34,7 @@ export const makeVDataTableHeadersProps = propsFactory({
|
|
|
33
34
|
},
|
|
34
35
|
/** @deprecated */
|
|
35
36
|
sticky: Boolean,
|
|
37
|
+
...makeDensityProps(),
|
|
36
38
|
...makeDisplayProps(),
|
|
37
39
|
...makeLoaderProps()
|
|
38
40
|
}, 'VDataTableHeaders');
|
|
@@ -157,6 +159,7 @@ export const VDataTableHeaders = genericComponent()({
|
|
|
157
159
|
if (isEmpty) return '';
|
|
158
160
|
if (column.key === 'data-table-select') {
|
|
159
161
|
return slots['header.data-table-select']?.(columnSlotProps) ?? (showSelectAll.value && _createVNode(VCheckboxBtn, {
|
|
162
|
+
"density": props.density,
|
|
160
163
|
"modelValue": allSelected.value,
|
|
161
164
|
"indeterminate": someSelected.value && !allSelected.value,
|
|
162
165
|
"onUpdate:modelValue": selectAll
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VDataTableHeaders.js","names":["VDataTableColumn","VCheckboxBtn","VChip","VIcon","VSelect","useHeaders","useSelection","useSort","useBackgroundColor","makeDisplayProps","useDisplay","IconValue","LoaderSlot","makeLoaderProps","useLoader","useLocale","computed","mergeProps","convertToUnit","genericComponent","propsFactory","useRender","makeVDataTableHeadersProps","color","String","disableSort","Boolean","fixedHeader","multiSort","sortAscIcon","type","default","sortDescIcon","headerProps","Object","sticky","VDataTableHeaders","name","props","setup","_ref","slots","t","toggleSort","sortBy","isSorted","someSelected","allSelected","selectAll","showSelectAll","columns","headers","loaderClasses","getFixedStyles","column","y","fixed","undefined","fixedSide","position","left","fixedOffset","right","fixedEndOffset","top","handleEnterKeyPress","event","key","getSortIcon","item","value","find","order","backgroundColorClasses","backgroundColorStyles","displayClasses","mobile","slotProps","headerCellClasses","VDataTableHeaderCell","_ref2","x","noPadding","isEmpty","width","title","_createVNode","_mergeProps","align","sortable","minWidth","maxWidth","colspan","rowspan","nowrap","lastFixed","firstFixedEnd","columnSlotName","columnSlotProps","_createElementVNode","_normalizeClass","_normalizeStyle","findIndex","VDataTableMobileHeaderCell","displayItems","filter","appendIcon","showSelectColumn","length","onClick:clear","onClick:append","chip","raw","e","preventDefault","stopPropagation","_Fragment","map","row","loading","loader"],"sources":["../../../src/components/VDataTable/VDataTableHeaders.tsx"],"sourcesContent":["// Components\nimport { VDataTableColumn } from './VDataTableColumn'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VChip } from '@/components/VChip'\nimport { VIcon } from '@/components/VIcon'\nimport { VSelect } from '@/components/VSelect'\n\n// Composables\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { useSort } from './composables/sort'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeDisplayProps, useDisplay } from '@/composables/display'\nimport { IconValue } from '@/composables/icons'\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { computed, mergeProps } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { CSSProperties, PropType, UnwrapRef } from 'vue'\nimport type { provideSelection } from './composables/select'\nimport type { provideSort } from './composables/sort'\nimport type { InternalDataTableHeader } from './types'\nimport type { ItemProps } from '@/composables/list-items'\nimport type { LoaderSlotProps } from '@/composables/loader'\n\nexport type HeadersSlotProps = {\n headers: InternalDataTableHeader[][]\n columns: InternalDataTableHeader[]\n sortBy: UnwrapRef<ReturnType<typeof provideSort>['sortBy']>\n someSelected: UnwrapRef<ReturnType<typeof provideSelection>['someSelected']>\n allSelected: UnwrapRef<ReturnType<typeof provideSelection>['allSelected']>\n toggleSort: ReturnType<typeof provideSort>['toggleSort']\n selectAll: ReturnType<typeof provideSelection>['selectAll']\n getSortIcon: (column: InternalDataTableHeader) => IconValue\n isSorted: ReturnType<typeof provideSort>['isSorted']\n}\n\nexport type VDataTableHeaderCellColumnSlotProps = {\n column: InternalDataTableHeader\n selectAll: ReturnType<typeof provideSelection>['selectAll']\n isSorted: ReturnType<typeof provideSort>['isSorted']\n toggleSort: ReturnType<typeof provideSort>['toggleSort']\n sortBy: UnwrapRef<ReturnType<typeof provideSort>['sortBy']>\n someSelected: UnwrapRef<ReturnType<typeof provideSelection>['someSelected']>\n allSelected: UnwrapRef<ReturnType<typeof provideSelection>['allSelected']>\n getSortIcon: (column: InternalDataTableHeader) => IconValue\n}\n\nexport type VDataTableHeadersSlots = {\n headers: HeadersSlotProps\n loader: LoaderSlotProps\n 'header.data-table-select': VDataTableHeaderCellColumnSlotProps\n 'header.data-table-expand': VDataTableHeaderCellColumnSlotProps\n} & { [key: `header.${string}`]: VDataTableHeaderCellColumnSlotProps }\n\nexport const makeVDataTableHeadersProps = propsFactory({\n color: String,\n disableSort: Boolean,\n fixedHeader: Boolean,\n multiSort: Boolean,\n sortAscIcon: {\n type: IconValue,\n default: '$sortAsc',\n },\n sortDescIcon: {\n type: IconValue,\n default: '$sortDesc',\n },\n headerProps: {\n type: Object as PropType<Record<string, any>>,\n },\n\n /** @deprecated */\n sticky: Boolean,\n\n ...makeDisplayProps(),\n ...makeLoaderProps(),\n}, 'VDataTableHeaders')\n\nexport const VDataTableHeaders = genericComponent<VDataTableHeadersSlots>()({\n name: 'VDataTableHeaders',\n\n props: makeVDataTableHeadersProps(),\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const { toggleSort, sortBy, isSorted } = useSort()\n const { someSelected, allSelected, selectAll, showSelectAll } = useSelection()\n const { columns, headers } = useHeaders()\n const { loaderClasses } = useLoader(props)\n\n function getFixedStyles (column: InternalDataTableHeader, y: number): CSSProperties | undefined {\n if (!(props.sticky || props.fixedHeader) && !column.fixed) return undefined\n\n const fixedSide = typeof column.fixed === 'string' ? column.fixed\n : column.fixed ? 'start'\n : 'none'\n\n return {\n position: 'sticky',\n left: fixedSide === 'start' ? convertToUnit(column.fixedOffset) : undefined,\n right: fixedSide === 'end' ? convertToUnit(column.fixedEndOffset) : undefined,\n top: (props.sticky || props.fixedHeader) ? `calc(var(--v-table-header-height) * ${y})` : undefined,\n }\n }\n function handleEnterKeyPress (event: KeyboardEvent, column: InternalDataTableHeader) {\n if (event.key === 'Enter' && !props.disableSort) {\n toggleSort(column)\n }\n }\n function getSortIcon (column: InternalDataTableHeader) {\n const item = sortBy.value.find(item => item.key === column.key)\n\n if (!item) return props.sortAscIcon\n\n return item.order === 'asc' ? props.sortAscIcon : props.sortDescIcon\n }\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(() => props.color)\n\n const { displayClasses, mobile } = useDisplay(props)\n\n const slotProps = computed(() => ({\n headers: headers.value,\n columns: columns.value,\n toggleSort,\n isSorted,\n sortBy: sortBy.value,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n selectAll,\n getSortIcon,\n } satisfies HeadersSlotProps))\n\n const headerCellClasses = computed(() => ([\n 'v-data-table__th',\n {\n 'v-data-table__th--sticky': (props.sticky || props.fixedHeader),\n },\n displayClasses.value,\n loaderClasses.value,\n ]))\n\n const VDataTableHeaderCell = ({ column, x, y }: { column: InternalDataTableHeader, x: number, y: number }) => {\n const noPadding = column.key === 'data-table-select' || column.key === 'data-table-expand'\n const isEmpty = column.key === 'data-table-group' && column.width === 0 && !column.title\n const headerProps = mergeProps(props.headerProps ?? {}, column.headerProps ?? {})\n\n return (\n <VDataTableColumn\n tag=\"th\"\n align={ column.align }\n class={[\n {\n 'v-data-table__th--sortable': column.sortable && !props.disableSort,\n 'v-data-table__th--sorted': isSorted(column),\n 'v-data-table__th--fixed': column.fixed,\n },\n ...headerCellClasses.value,\n ]}\n style={{\n width: convertToUnit(column.width),\n minWidth: convertToUnit(column.minWidth),\n maxWidth: convertToUnit(column.maxWidth),\n ...getFixedStyles(column, y),\n }}\n colspan={ column.colspan }\n rowspan={ column.rowspan }\n fixed={ column.fixed }\n nowrap={ column.nowrap }\n lastFixed={ column.lastFixed }\n firstFixedEnd={ column.firstFixedEnd }\n noPadding={ noPadding }\n empty={ isEmpty }\n tabindex={ column.sortable ? 0 : undefined }\n onClick={ column.sortable ? () => toggleSort(column) : undefined }\n onKeydown={ column.sortable ? (event: KeyboardEvent) => handleEnterKeyPress(event, column) : undefined }\n { ...headerProps }\n >\n {{\n default: () => {\n const columnSlotName = `header.${column.key}` as const\n const columnSlotProps: VDataTableHeaderCellColumnSlotProps = {\n column,\n selectAll,\n isSorted,\n toggleSort,\n sortBy: sortBy.value,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n getSortIcon,\n }\n\n if (slots[columnSlotName]) return slots[columnSlotName]!(columnSlotProps)\n\n if (isEmpty) return ''\n\n if (column.key === 'data-table-select') {\n return slots['header.data-table-select']?.(columnSlotProps) ?? (showSelectAll.value && (\n <VCheckboxBtn\n modelValue={ allSelected.value }\n indeterminate={ someSelected.value && !allSelected.value }\n onUpdate:modelValue={ selectAll }\n />\n ))\n }\n\n return (\n <div class=\"v-data-table-header__content\">\n <span>{ column.title }</span>\n { column.sortable && !props.disableSort && (\n <VIcon\n key=\"icon\"\n class=\"v-data-table-header__sort-icon\"\n icon={ getSortIcon(column) }\n />\n )}\n { props.multiSort && isSorted(column) && (\n <div\n key=\"badge\"\n class={[\n 'v-data-table-header__sort-badge',\n ...backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n >\n { sortBy.value.findIndex(x => x.key === column.key) + 1 }\n </div>\n )}\n </div>\n )\n },\n }}\n </VDataTableColumn>\n )\n }\n\n const VDataTableMobileHeaderCell = () => {\n const displayItems = computed<ItemProps['items']>(() => {\n return columns.value.filter(column => column?.sortable && !props.disableSort)\n })\n\n const appendIcon = computed(() => {\n const showSelectColumn = columns.value.find(column => column.key === 'data-table-select')\n\n if (showSelectColumn == null) return\n\n return allSelected.value ? '$checkboxOn' : someSelected.value ? '$checkboxIndeterminate' : '$checkboxOff'\n })\n\n return (\n <VDataTableColumn\n tag=\"th\"\n class={[\n ...headerCellClasses.value,\n ]}\n colspan={ headers.value.length + 1 }\n { ...props.headerProps }\n >\n <div class=\"v-data-table-header__content\">\n <VSelect\n chips\n class=\"v-data-table__td-sort-select\"\n clearable\n density=\"default\"\n items={ displayItems.value }\n label={ t('$vuetify.dataTable.sortBy') }\n multiple={ props.multiSort }\n variant=\"underlined\"\n onClick:clear={ () => sortBy.value = [] }\n appendIcon={ appendIcon.value }\n onClick:append={ () => selectAll(!allSelected.value) }\n >\n {{\n chip: props => (\n <VChip\n onClick={ props.item.raw?.sortable ? () => toggleSort(props.item.raw) : undefined }\n onMousedown={ (e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n }}\n >\n { props.item.title }\n <VIcon\n class={[\n 'v-data-table__td-sort-icon',\n isSorted(props.item.raw) && 'v-data-table__td-sort-icon-active',\n ]}\n icon={ getSortIcon(props.item.raw) }\n size=\"small\"\n />\n </VChip>\n ),\n }}\n </VSelect>\n </div>\n </VDataTableColumn>\n )\n }\n\n useRender(() => {\n return mobile.value ? (\n <tr>\n <VDataTableMobileHeaderCell />\n </tr>\n ) : (\n <>\n { slots.headers\n ? slots.headers(slotProps.value)\n : headers.value.map((row, y) => (\n <tr>\n { row.map((column, x) => (\n <VDataTableHeaderCell column={ column } x={ x } y={ y } />\n ))}\n </tr>\n ))}\n\n { props.loading && (\n <tr class=\"v-data-table-progress\">\n <th colspan={ columns.value.length }>\n <LoaderSlot\n name=\"v-data-table-progress\"\n absolute\n active\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n indeterminate\n v-slots={{ default: slots.loader }}\n />\n </th>\n </tr>\n )}\n </>\n )\n })\n },\n})\n\nexport type VDataTableHeaders = InstanceType<typeof VDataTableHeaders>\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"VDataTableHeaders.js","names":["VDataTableColumn","VCheckboxBtn","VChip","VIcon","VSelect","useHeaders","useSelection","useSort","useBackgroundColor","makeDensityProps","makeDisplayProps","useDisplay","IconValue","LoaderSlot","makeLoaderProps","useLoader","useLocale","computed","mergeProps","convertToUnit","genericComponent","propsFactory","useRender","makeVDataTableHeadersProps","color","String","disableSort","Boolean","fixedHeader","multiSort","sortAscIcon","type","default","sortDescIcon","headerProps","Object","sticky","VDataTableHeaders","name","props","setup","_ref","slots","t","toggleSort","sortBy","isSorted","someSelected","allSelected","selectAll","showSelectAll","columns","headers","loaderClasses","getFixedStyles","column","y","fixed","undefined","fixedSide","position","left","fixedOffset","right","fixedEndOffset","top","handleEnterKeyPress","event","key","getSortIcon","item","value","find","order","backgroundColorClasses","backgroundColorStyles","displayClasses","mobile","slotProps","headerCellClasses","VDataTableHeaderCell","_ref2","x","noPadding","isEmpty","width","title","_createVNode","_mergeProps","align","sortable","minWidth","maxWidth","colspan","rowspan","nowrap","lastFixed","firstFixedEnd","columnSlotName","columnSlotProps","density","_createElementVNode","_normalizeClass","_normalizeStyle","findIndex","VDataTableMobileHeaderCell","displayItems","filter","appendIcon","showSelectColumn","length","onClick:clear","onClick:append","chip","raw","e","preventDefault","stopPropagation","_Fragment","map","row","loading","loader"],"sources":["../../../src/components/VDataTable/VDataTableHeaders.tsx"],"sourcesContent":["// Components\nimport { VDataTableColumn } from './VDataTableColumn'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VChip } from '@/components/VChip'\nimport { VIcon } from '@/components/VIcon'\nimport { VSelect } from '@/components/VSelect'\n\n// Composables\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { useSort } from './composables/sort'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeDensityProps } from '@/composables/density'\nimport { makeDisplayProps, useDisplay } from '@/composables/display'\nimport { IconValue } from '@/composables/icons'\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { computed, mergeProps } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { CSSProperties, PropType, UnwrapRef } from 'vue'\nimport type { provideSelection } from './composables/select'\nimport type { provideSort } from './composables/sort'\nimport type { InternalDataTableHeader } from './types'\nimport type { ItemProps } from '@/composables/list-items'\nimport type { LoaderSlotProps } from '@/composables/loader'\n\nexport type HeadersSlotProps = {\n headers: InternalDataTableHeader[][]\n columns: InternalDataTableHeader[]\n sortBy: UnwrapRef<ReturnType<typeof provideSort>['sortBy']>\n someSelected: UnwrapRef<ReturnType<typeof provideSelection>['someSelected']>\n allSelected: UnwrapRef<ReturnType<typeof provideSelection>['allSelected']>\n toggleSort: ReturnType<typeof provideSort>['toggleSort']\n selectAll: ReturnType<typeof provideSelection>['selectAll']\n getSortIcon: (column: InternalDataTableHeader) => IconValue\n isSorted: ReturnType<typeof provideSort>['isSorted']\n}\n\nexport type VDataTableHeaderCellColumnSlotProps = {\n column: InternalDataTableHeader\n selectAll: ReturnType<typeof provideSelection>['selectAll']\n isSorted: ReturnType<typeof provideSort>['isSorted']\n toggleSort: ReturnType<typeof provideSort>['toggleSort']\n sortBy: UnwrapRef<ReturnType<typeof provideSort>['sortBy']>\n someSelected: UnwrapRef<ReturnType<typeof provideSelection>['someSelected']>\n allSelected: UnwrapRef<ReturnType<typeof provideSelection>['allSelected']>\n getSortIcon: (column: InternalDataTableHeader) => IconValue\n}\n\nexport type VDataTableHeadersSlots = {\n headers: HeadersSlotProps\n loader: LoaderSlotProps\n 'header.data-table-select': VDataTableHeaderCellColumnSlotProps\n 'header.data-table-expand': VDataTableHeaderCellColumnSlotProps\n} & { [key: `header.${string}`]: VDataTableHeaderCellColumnSlotProps }\n\nexport const makeVDataTableHeadersProps = propsFactory({\n color: String,\n disableSort: Boolean,\n fixedHeader: Boolean,\n multiSort: Boolean,\n sortAscIcon: {\n type: IconValue,\n default: '$sortAsc',\n },\n sortDescIcon: {\n type: IconValue,\n default: '$sortDesc',\n },\n headerProps: {\n type: Object as PropType<Record<string, any>>,\n },\n\n /** @deprecated */\n sticky: Boolean,\n\n ...makeDensityProps(),\n ...makeDisplayProps(),\n ...makeLoaderProps(),\n}, 'VDataTableHeaders')\n\nexport const VDataTableHeaders = genericComponent<VDataTableHeadersSlots>()({\n name: 'VDataTableHeaders',\n\n props: makeVDataTableHeadersProps(),\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const { toggleSort, sortBy, isSorted } = useSort()\n const { someSelected, allSelected, selectAll, showSelectAll } = useSelection()\n const { columns, headers } = useHeaders()\n const { loaderClasses } = useLoader(props)\n\n function getFixedStyles (column: InternalDataTableHeader, y: number): CSSProperties | undefined {\n if (!(props.sticky || props.fixedHeader) && !column.fixed) return undefined\n\n const fixedSide = typeof column.fixed === 'string' ? column.fixed\n : column.fixed ? 'start'\n : 'none'\n\n return {\n position: 'sticky',\n left: fixedSide === 'start' ? convertToUnit(column.fixedOffset) : undefined,\n right: fixedSide === 'end' ? convertToUnit(column.fixedEndOffset) : undefined,\n top: (props.sticky || props.fixedHeader) ? `calc(var(--v-table-header-height) * ${y})` : undefined,\n }\n }\n function handleEnterKeyPress (event: KeyboardEvent, column: InternalDataTableHeader) {\n if (event.key === 'Enter' && !props.disableSort) {\n toggleSort(column)\n }\n }\n function getSortIcon (column: InternalDataTableHeader) {\n const item = sortBy.value.find(item => item.key === column.key)\n\n if (!item) return props.sortAscIcon\n\n return item.order === 'asc' ? props.sortAscIcon : props.sortDescIcon\n }\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(() => props.color)\n\n const { displayClasses, mobile } = useDisplay(props)\n\n const slotProps = computed(() => ({\n headers: headers.value,\n columns: columns.value,\n toggleSort,\n isSorted,\n sortBy: sortBy.value,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n selectAll,\n getSortIcon,\n } satisfies HeadersSlotProps))\n\n const headerCellClasses = computed(() => ([\n 'v-data-table__th',\n {\n 'v-data-table__th--sticky': (props.sticky || props.fixedHeader),\n },\n displayClasses.value,\n loaderClasses.value,\n ]))\n\n const VDataTableHeaderCell = ({ column, x, y }: { column: InternalDataTableHeader, x: number, y: number }) => {\n const noPadding = column.key === 'data-table-select' || column.key === 'data-table-expand'\n const isEmpty = column.key === 'data-table-group' && column.width === 0 && !column.title\n const headerProps = mergeProps(props.headerProps ?? {}, column.headerProps ?? {})\n\n return (\n <VDataTableColumn\n tag=\"th\"\n align={ column.align }\n class={[\n {\n 'v-data-table__th--sortable': column.sortable && !props.disableSort,\n 'v-data-table__th--sorted': isSorted(column),\n 'v-data-table__th--fixed': column.fixed,\n },\n ...headerCellClasses.value,\n ]}\n style={{\n width: convertToUnit(column.width),\n minWidth: convertToUnit(column.minWidth),\n maxWidth: convertToUnit(column.maxWidth),\n ...getFixedStyles(column, y),\n }}\n colspan={ column.colspan }\n rowspan={ column.rowspan }\n fixed={ column.fixed }\n nowrap={ column.nowrap }\n lastFixed={ column.lastFixed }\n firstFixedEnd={ column.firstFixedEnd }\n noPadding={ noPadding }\n empty={ isEmpty }\n tabindex={ column.sortable ? 0 : undefined }\n onClick={ column.sortable ? () => toggleSort(column) : undefined }\n onKeydown={ column.sortable ? (event: KeyboardEvent) => handleEnterKeyPress(event, column) : undefined }\n { ...headerProps }\n >\n {{\n default: () => {\n const columnSlotName = `header.${column.key}` as const\n const columnSlotProps: VDataTableHeaderCellColumnSlotProps = {\n column,\n selectAll,\n isSorted,\n toggleSort,\n sortBy: sortBy.value,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n getSortIcon,\n }\n\n if (slots[columnSlotName]) return slots[columnSlotName]!(columnSlotProps)\n\n if (isEmpty) return ''\n\n if (column.key === 'data-table-select') {\n return slots['header.data-table-select']?.(columnSlotProps) ?? (showSelectAll.value && (\n <VCheckboxBtn\n density={ props.density }\n modelValue={ allSelected.value }\n indeterminate={ someSelected.value && !allSelected.value }\n onUpdate:modelValue={ selectAll }\n />\n ))\n }\n\n return (\n <div class=\"v-data-table-header__content\">\n <span>{ column.title }</span>\n { column.sortable && !props.disableSort && (\n <VIcon\n key=\"icon\"\n class=\"v-data-table-header__sort-icon\"\n icon={ getSortIcon(column) }\n />\n )}\n { props.multiSort && isSorted(column) && (\n <div\n key=\"badge\"\n class={[\n 'v-data-table-header__sort-badge',\n ...backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n >\n { sortBy.value.findIndex(x => x.key === column.key) + 1 }\n </div>\n )}\n </div>\n )\n },\n }}\n </VDataTableColumn>\n )\n }\n\n const VDataTableMobileHeaderCell = () => {\n const displayItems = computed<ItemProps['items']>(() => {\n return columns.value.filter(column => column?.sortable && !props.disableSort)\n })\n\n const appendIcon = computed(() => {\n const showSelectColumn = columns.value.find(column => column.key === 'data-table-select')\n\n if (showSelectColumn == null) return\n\n return allSelected.value ? '$checkboxOn' : someSelected.value ? '$checkboxIndeterminate' : '$checkboxOff'\n })\n\n return (\n <VDataTableColumn\n tag=\"th\"\n class={[\n ...headerCellClasses.value,\n ]}\n colspan={ headers.value.length + 1 }\n { ...props.headerProps }\n >\n <div class=\"v-data-table-header__content\">\n <VSelect\n chips\n class=\"v-data-table__td-sort-select\"\n clearable\n density=\"default\"\n items={ displayItems.value }\n label={ t('$vuetify.dataTable.sortBy') }\n multiple={ props.multiSort }\n variant=\"underlined\"\n onClick:clear={ () => sortBy.value = [] }\n appendIcon={ appendIcon.value }\n onClick:append={ () => selectAll(!allSelected.value) }\n >\n {{\n chip: props => (\n <VChip\n onClick={ props.item.raw?.sortable ? () => toggleSort(props.item.raw) : undefined }\n onMousedown={ (e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n }}\n >\n { props.item.title }\n <VIcon\n class={[\n 'v-data-table__td-sort-icon',\n isSorted(props.item.raw) && 'v-data-table__td-sort-icon-active',\n ]}\n icon={ getSortIcon(props.item.raw) }\n size=\"small\"\n />\n </VChip>\n ),\n }}\n </VSelect>\n </div>\n </VDataTableColumn>\n )\n }\n\n useRender(() => {\n return mobile.value ? (\n <tr>\n <VDataTableMobileHeaderCell />\n </tr>\n ) : (\n <>\n { slots.headers\n ? slots.headers(slotProps.value)\n : headers.value.map((row, y) => (\n <tr>\n { row.map((column, x) => (\n <VDataTableHeaderCell column={ column } x={ x } y={ y } />\n ))}\n </tr>\n ))}\n\n { props.loading && (\n <tr class=\"v-data-table-progress\">\n <th colspan={ columns.value.length }>\n <LoaderSlot\n name=\"v-data-table-progress\"\n absolute\n active\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n indeterminate\n v-slots={{ default: slots.loader }}\n />\n </th>\n </tr>\n )}\n </>\n )\n })\n },\n})\n\nexport type VDataTableHeaders = InstanceType<typeof VDataTableHeaders>\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -19,6 +19,7 @@ export type VDataTableRowSlots<T> = {
|
|
|
19
19
|
export declare const makeVDataTableRowProps: <Defaults extends {
|
|
20
20
|
mobile?: unknown;
|
|
21
21
|
mobileBreakpoint?: unknown;
|
|
22
|
+
density?: unknown;
|
|
22
23
|
index?: unknown;
|
|
23
24
|
item?: unknown;
|
|
24
25
|
cellProps?: unknown;
|
|
@@ -42,6 +43,18 @@ export declare const makeVDataTableRowProps: <Defaults extends {
|
|
|
42
43
|
type: PropType<unknown extends Defaults["mobileBreakpoint"] ? number | import("../../types.js").DisplayBreakpoint : number | Defaults["mobileBreakpoint"] | import("../../types.js").DisplayBreakpoint>;
|
|
43
44
|
default: unknown extends Defaults["mobileBreakpoint"] ? number | import("../../types.js").DisplayBreakpoint : Defaults["mobileBreakpoint"] | NonNullable<number | import("../../types.js").DisplayBreakpoint>;
|
|
44
45
|
};
|
|
46
|
+
density: unknown extends Defaults["density"] ? {
|
|
47
|
+
type: PropType<import("../../composables/density.js").Density>;
|
|
48
|
+
default: string;
|
|
49
|
+
validator: (v: any) => boolean;
|
|
50
|
+
} : Omit<{
|
|
51
|
+
type: PropType<import("../../composables/density.js").Density>;
|
|
52
|
+
default: string;
|
|
53
|
+
validator: (v: any) => boolean;
|
|
54
|
+
}, "default" | "type"> & {
|
|
55
|
+
type: PropType<unknown extends Defaults["density"] ? import("../../composables/density.js").Density : Defaults["density"] | import("../../composables/density.js").Density>;
|
|
56
|
+
default: unknown extends Defaults["density"] ? import("../../composables/density.js").Density : Defaults["density"] | NonNullable<import("../../composables/density.js").Density>;
|
|
57
|
+
};
|
|
45
58
|
index: unknown extends Defaults["index"] ? NumberConstructor : {
|
|
46
59
|
type: PropType<unknown extends Defaults["index"] ? number : number | Defaults["index"]>;
|
|
47
60
|
default: unknown extends Defaults["index"] ? number : number | Defaults["index"];
|
|
@@ -90,6 +103,7 @@ export declare const makeVDataTableRowProps: <Defaults extends {
|
|
|
90
103
|
export declare const VDataTableRow: {
|
|
91
104
|
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<{
|
|
92
105
|
mobile: boolean | null;
|
|
106
|
+
density: import("../../composables/density.js").Density;
|
|
93
107
|
collapseIcon: IconValue;
|
|
94
108
|
expandIcon: IconValue;
|
|
95
109
|
} & {
|
|
@@ -100,6 +114,7 @@ export declare const VDataTableRow: {
|
|
|
100
114
|
onDblclick?: ((args_0: MouseEvent) => void) | undefined;
|
|
101
115
|
}, void, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit<Record<string, any>, "$children" | "cellProps" | "item" | "v-slots" | `v-slot:header.${string}` | `v-slot:item.${string}`>, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, {
|
|
102
116
|
mobile: boolean | null;
|
|
117
|
+
density: import("../../composables/density.js").Density;
|
|
103
118
|
collapseIcon: IconValue;
|
|
104
119
|
expandIcon: IconValue;
|
|
105
120
|
}, true, {}, import("vue").SlotsType<Partial<{
|
|
@@ -130,6 +145,7 @@ export declare const VDataTableRow: {
|
|
|
130
145
|
Defaults: {};
|
|
131
146
|
}, {
|
|
132
147
|
mobile: boolean | null;
|
|
148
|
+
density: import("../../composables/density.js").Density;
|
|
133
149
|
collapseIcon: IconValue;
|
|
134
150
|
expandIcon: IconValue;
|
|
135
151
|
} & {
|
|
@@ -140,6 +156,7 @@ export declare const VDataTableRow: {
|
|
|
140
156
|
onDblclick?: ((args_0: MouseEvent) => void) | undefined;
|
|
141
157
|
}, {}, {}, {}, {}, {
|
|
142
158
|
mobile: boolean | null;
|
|
159
|
+
density: import("../../composables/density.js").Density;
|
|
143
160
|
collapseIcon: IconValue;
|
|
144
161
|
expandIcon: IconValue;
|
|
145
162
|
}>;
|
|
@@ -148,6 +165,7 @@ export declare const VDataTableRow: {
|
|
|
148
165
|
__isSuspense?: undefined;
|
|
149
166
|
} & import("vue").ComponentOptionsBase<{
|
|
150
167
|
mobile: boolean | null;
|
|
168
|
+
density: import("../../composables/density.js").Density;
|
|
151
169
|
collapseIcon: IconValue;
|
|
152
170
|
expandIcon: IconValue;
|
|
153
171
|
} & {
|
|
@@ -158,6 +176,7 @@ export declare const VDataTableRow: {
|
|
|
158
176
|
onDblclick?: ((args_0: MouseEvent) => void) | undefined;
|
|
159
177
|
}, void, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit<Record<string, any>, "$children" | "cellProps" | "item" | "v-slots" | `v-slot:header.${string}` | `v-slot:item.${string}`>, string, {
|
|
160
178
|
mobile: boolean | null;
|
|
179
|
+
density: import("../../composables/density.js").Density;
|
|
161
180
|
collapseIcon: IconValue;
|
|
162
181
|
expandIcon: IconValue;
|
|
163
182
|
}, {}, string, import("vue").SlotsType<Partial<{
|
|
@@ -191,6 +210,11 @@ export declare const VDataTableRow: {
|
|
|
191
210
|
default: boolean;
|
|
192
211
|
};
|
|
193
212
|
mobileBreakpoint: PropType<number | import("../../types.js").DisplayBreakpoint>;
|
|
213
|
+
density: {
|
|
214
|
+
type: PropType<import("../../composables/density.js").Density>;
|
|
215
|
+
default: string;
|
|
216
|
+
validator: (v: any) => boolean;
|
|
217
|
+
};
|
|
194
218
|
index: NumberConstructor;
|
|
195
219
|
item: PropType<DataTableItem<any>>;
|
|
196
220
|
cellProps: PropType<CellProps<any>>;
|
|
@@ -211,6 +235,11 @@ export declare const VDataTableRow: {
|
|
|
211
235
|
default: boolean;
|
|
212
236
|
};
|
|
213
237
|
mobileBreakpoint: PropType<number | import("../../types.js").DisplayBreakpoint>;
|
|
238
|
+
density: {
|
|
239
|
+
type: PropType<import("../../composables/density.js").Density>;
|
|
240
|
+
default: string;
|
|
241
|
+
validator: (v: any) => boolean;
|
|
242
|
+
};
|
|
214
243
|
index: NumberConstructor;
|
|
215
244
|
item: PropType<DataTableItem<any>>;
|
|
216
245
|
cellProps: PropType<CellProps<any>>;
|
|
@@ -7,6 +7,7 @@ import { useExpanded } from "./composables/expand.js";
|
|
|
7
7
|
import { useHeaders } from "./composables/headers.js";
|
|
8
8
|
import { useSelection } from "./composables/select.js";
|
|
9
9
|
import { useSort } from "./composables/sort.js";
|
|
10
|
+
import { makeDensityProps } from "../../composables/density.js";
|
|
10
11
|
import { makeDisplayProps, useDisplay } from "../../composables/display.js";
|
|
11
12
|
import { IconValue } from "../../composables/icons.js"; // Utilities
|
|
12
13
|
import { toDisplayString, withModifiers } from 'vue';
|
|
@@ -26,6 +27,7 @@ export const makeVDataTableRowProps = propsFactory({
|
|
|
26
27
|
onClick: EventProp(),
|
|
27
28
|
onContextmenu: EventProp(),
|
|
28
29
|
onDblclick: EventProp(),
|
|
30
|
+
...makeDensityProps(),
|
|
29
31
|
...makeDisplayProps()
|
|
30
32
|
}, 'VDataTableRow');
|
|
31
33
|
export const VDataTableRow = genericComponent()({
|
|
@@ -134,6 +136,7 @@ export const VDataTableRow = genericComponent()({
|
|
|
134
136
|
}
|
|
135
137
|
}) ?? _createVNode(VCheckboxBtn, {
|
|
136
138
|
"disabled": !item.selectable,
|
|
139
|
+
"density": props.density,
|
|
137
140
|
"modelValue": isSelected([item]),
|
|
138
141
|
"onClick": withModifiers(event => toggleSelect(item, props.index, event), ['stop'])
|
|
139
142
|
}, null);
|