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.
Files changed (50) hide show
  1. package/dist/json/attributes.json +3273 -3261
  2. package/dist/json/importMap-labs.json +20 -20
  3. package/dist/json/importMap.json +182 -182
  4. package/dist/json/tags.json +3 -0
  5. package/dist/json/web-types.json +6210 -6180
  6. package/dist/vuetify-labs.cjs +36 -38
  7. package/dist/vuetify-labs.css +4426 -4415
  8. package/dist/vuetify-labs.d.ts +113 -65
  9. package/dist/vuetify-labs.esm.js +36 -38
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +36 -38
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +36 -38
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +5909 -5898
  16. package/dist/vuetify.d.ts +113 -65
  17. package/dist/vuetify.esm.js +36 -38
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +36 -38
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +14 -15
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/components/VBadge/VBadge.css +10 -0
  25. package/lib/components/VBadge/VBadge.sass +9 -0
  26. package/lib/components/VDataTable/VDataTableGroupHeaderRow.d.ts +29 -0
  27. package/lib/components/VDataTable/VDataTableGroupHeaderRow.js +4 -1
  28. package/lib/components/VDataTable/VDataTableGroupHeaderRow.js.map +1 -1
  29. package/lib/components/VDataTable/VDataTableHeaders.d.ts +29 -0
  30. package/lib/components/VDataTable/VDataTableHeaders.js +3 -0
  31. package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
  32. package/lib/components/VDataTable/VDataTableRow.d.ts +29 -0
  33. package/lib/components/VDataTable/VDataTableRow.js +3 -0
  34. package/lib/components/VDataTable/VDataTableRow.js.map +1 -1
  35. package/lib/components/VDataTable/VDataTableRows.d.ts +29 -0
  36. package/lib/components/VDataTable/VDataTableRows.js +4 -3
  37. package/lib/components/VDataTable/VDataTableRows.js.map +1 -1
  38. package/lib/components/VDivider/VDivider.css +1 -0
  39. package/lib/components/VDivider/VDivider.sass +1 -0
  40. package/lib/components/VKbd/_variables.scss +3 -1
  41. package/lib/components/VList/VListItem.js +1 -1
  42. package/lib/components/VList/VListItem.js.map +1 -1
  43. package/lib/components/VTable/VTable.js +20 -32
  44. package/lib/components/VTable/VTable.js.map +1 -1
  45. package/lib/entry-bundler.js +1 -1
  46. package/lib/framework.d.ts +65 -65
  47. package/lib/framework.js +1 -1
  48. package/lib/labs/rules/rules.js +3 -3
  49. package/lib/labs/rules/rules.js.map +1 -1
  50. 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":"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","ignoreList":[]}
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);