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
@@ -1 +1 @@
1
- {"version":3,"file":"VDataTableRow.js","names":["VDataTableColumn","VBtn","VCheckboxBtn","useExpanded","useHeaders","useSelection","useSort","makeDisplayProps","useDisplay","IconValue","toDisplayString","withModifiers","EventProp","genericComponent","getObjectValueByPath","propsFactory","useRender","makeVDataTableRowProps","index","Number","item","Object","cellProps","Function","collapseIcon","type","default","expandIcon","onClick","onContextmenu","onDblclick","VDataTableRow","name","props","setup","_ref","slots","displayClasses","mobile","isSelected","toggleSelect","someSelected","allSelected","selectAll","isExpanded","toggleExpand","toggleSort","sortBy","isSorted","columns","_createElementVNode","_normalizeClass","value","map","column","i","slotName","key","headerSlotName","slotProps","raw","internalItem","columnSlotProps","getSortIcon","columnCellProps","noPadding","isEmpty","width","title","_createVNode","_mergeProps","align","intent","fixed","fixedOffset","fixedEndOffset","lastFixed","firstFixedEnd","maxWidth","undefined","nowrap","disabled","selectable","modelValue","event","icon","size","variant","displayValue","_Fragment"],"sources":["../../../src/components/VDataTable/VDataTableRow.tsx"],"sourcesContent":["// Components\nimport { VDataTableColumn } from './VDataTableColumn'\nimport { VBtn } from '@/components/VBtn'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\n\n// Composables\nimport { useExpanded } from './composables/expand'\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { useSort } from './composables/sort'\nimport { makeDisplayProps, useDisplay } from '@/composables/display'\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { toDisplayString, withModifiers } from 'vue'\nimport { EventProp, genericComponent, getObjectValueByPath, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { CellProps, DataTableItem, ItemKeySlot } from './types'\nimport type { VDataTableHeaderCellColumnSlotProps } from './VDataTableHeaders'\nimport type { GenericProps } from '@/util'\n\nexport type VDataTableItemCellColumnSlotProps<T> = Omit<ItemKeySlot<T>, 'value'> & {\n props: Record<string, unknown>\n}\n\nexport type VDataTableRowSlots<T> = {\n 'item.data-table-select': VDataTableItemCellColumnSlotProps<T>\n 'item.data-table-expand': VDataTableItemCellColumnSlotProps<T>\n 'header.data-table-select': VDataTableHeaderCellColumnSlotProps\n 'header.data-table-expand': VDataTableHeaderCellColumnSlotProps\n} & {\n [key: `item.${string}`]: ItemKeySlot<T>\n [key: `header.${string}`]: VDataTableHeaderCellColumnSlotProps\n}\n\nexport const makeVDataTableRowProps = propsFactory({\n index: Number,\n item: Object as PropType<DataTableItem>,\n cellProps: [Object, Function] as PropType<CellProps<any>>,\n collapseIcon: {\n type: IconValue,\n default: '$collapse',\n },\n expandIcon: {\n type: IconValue,\n default: '$expand',\n },\n\n onClick: EventProp<[MouseEvent]>(),\n onContextmenu: EventProp<[MouseEvent]>(),\n onDblclick: EventProp<[MouseEvent]>(),\n\n ...makeDisplayProps(),\n}, 'VDataTableRow')\n\nexport const VDataTableRow = genericComponent<new <T>(\n props: {\n item?: DataTableItem<T>\n cellProps?: CellProps<T>\n },\n slots: VDataTableRowSlots<T>,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDataTableRow',\n\n props: makeVDataTableRowProps(),\n\n setup (props, { slots }) {\n const { displayClasses, mobile } = useDisplay(props, 'v-data-table__tr')\n const { isSelected, toggleSelect, someSelected, allSelected, selectAll } = useSelection()\n const { isExpanded, toggleExpand } = useExpanded()\n const { toggleSort, sortBy, isSorted } = useSort()\n const { columns } = useHeaders()\n\n useRender(() => (\n <tr\n class={[\n 'v-data-table__tr',\n {\n 'v-data-table__tr--clickable': !!(props.onClick || props.onContextmenu || props.onDblclick),\n },\n displayClasses.value,\n ]}\n onClick={ props.onClick as any }\n onContextmenu={ props.onContextmenu as any }\n onDblclick={ props.onDblclick as any }\n >\n { props.item && columns.value.map((column, i) => {\n const item = props.item!\n const slotName = `item.${column.key}` as const\n const headerSlotName = `header.${column.key}` as const\n const slotProps = {\n index: props.index!,\n item: item.raw,\n internalItem: item,\n value: getObjectValueByPath(item.columns, column.key),\n column,\n isSelected,\n toggleSelect,\n isExpanded,\n toggleExpand,\n } satisfies ItemKeySlot<any>\n\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 const cellProps = typeof props.cellProps === 'function'\n ? props.cellProps({\n index: slotProps.index,\n item: slotProps.item,\n internalItem: slotProps.internalItem,\n value: slotProps.value,\n column,\n })\n : props.cellProps\n const columnCellProps = typeof column.cellProps === 'function'\n ? column.cellProps({\n index: slotProps.index,\n item: slotProps.item,\n internalItem: slotProps.internalItem,\n value: slotProps.value,\n })\n : column.cellProps\n\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\n return (\n <VDataTableColumn\n align={ column.align }\n indent={ column.intent }\n class={{\n 'v-data-table__td--expanded-row': column.key === 'data-table-expand',\n 'v-data-table__td--select-row': column.key === 'data-table-select',\n }}\n fixed={ column.fixed }\n fixedOffset={ column.fixedOffset }\n fixedEndOffset={ column.fixedEndOffset }\n lastFixed={ column.lastFixed }\n firstFixedEnd={ column.firstFixedEnd }\n maxWidth={ !mobile.value ? column.maxWidth : undefined }\n noPadding={ noPadding }\n empty={ isEmpty }\n nowrap={ column.nowrap }\n width={ !mobile.value ? column.width : undefined }\n { ...cellProps }\n { ...columnCellProps }\n >\n {{\n default: () => {\n if (column.key === 'data-table-select') {\n return slots['item.data-table-select']?.({\n ...slotProps,\n props: {\n disabled: !item.selectable,\n modelValue: isSelected([item]),\n onClick: withModifiers(() => toggleSelect(item), ['stop']),\n },\n }) ?? (\n <VCheckboxBtn\n disabled={ !item.selectable }\n modelValue={ isSelected([item]) }\n onClick={ withModifiers(\n (event: Event) => toggleSelect(item, props.index, event as PointerEvent),\n ['stop']\n )}\n />\n )\n }\n\n if (column.key === 'data-table-expand') {\n return slots['item.data-table-expand']?.({\n ...slotProps,\n props: {\n icon: isExpanded(item) ? props.collapseIcon : props.expandIcon,\n size: 'small',\n variant: 'text',\n onClick: withModifiers(() => toggleExpand(item), ['stop']),\n },\n }) ?? (\n <VBtn\n icon={ isExpanded(item) ? props.collapseIcon : props.expandIcon }\n size=\"small\"\n variant=\"text\"\n onClick={ withModifiers(() => toggleExpand(item), ['stop']) }\n />\n )\n }\n\n if (slots[slotName] && !mobile.value) return slots[slotName](slotProps)\n\n const displayValue = toDisplayString(slotProps.value)\n\n return !mobile.value ? displayValue : (\n <>\n <div class=\"v-data-table__td-title\">\n { slots[headerSlotName]?.(columnSlotProps) ?? column.title }\n </div>\n\n <div class=\"v-data-table__td-value\">\n { slots[slotName]?.(slotProps) ?? displayValue }\n </div>\n </>\n )\n },\n }}\n </VDataTableColumn>\n )\n })}\n </tr>\n ))\n },\n})\n\nexport type VDataTableRow = InstanceType<typeof VDataTableRow>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VDataTableRow.js","names":["VDataTableColumn","VBtn","VCheckboxBtn","useExpanded","useHeaders","useSelection","useSort","makeDensityProps","makeDisplayProps","useDisplay","IconValue","toDisplayString","withModifiers","EventProp","genericComponent","getObjectValueByPath","propsFactory","useRender","makeVDataTableRowProps","index","Number","item","Object","cellProps","Function","collapseIcon","type","default","expandIcon","onClick","onContextmenu","onDblclick","VDataTableRow","name","props","setup","_ref","slots","displayClasses","mobile","isSelected","toggleSelect","someSelected","allSelected","selectAll","isExpanded","toggleExpand","toggleSort","sortBy","isSorted","columns","_createElementVNode","_normalizeClass","value","map","column","i","slotName","key","headerSlotName","slotProps","raw","internalItem","columnSlotProps","getSortIcon","columnCellProps","noPadding","isEmpty","width","title","_createVNode","_mergeProps","align","intent","fixed","fixedOffset","fixedEndOffset","lastFixed","firstFixedEnd","maxWidth","undefined","nowrap","disabled","selectable","modelValue","density","event","icon","size","variant","displayValue","_Fragment"],"sources":["../../../src/components/VDataTable/VDataTableRow.tsx"],"sourcesContent":["// Components\nimport { VDataTableColumn } from './VDataTableColumn'\nimport { VBtn } from '@/components/VBtn'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\n\n// Composables\nimport { useExpanded } from './composables/expand'\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { useSort } from './composables/sort'\nimport { makeDensityProps } from '@/composables/density'\nimport { makeDisplayProps, useDisplay } from '@/composables/display'\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { toDisplayString, withModifiers } from 'vue'\nimport { EventProp, genericComponent, getObjectValueByPath, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { CellProps, DataTableItem, ItemKeySlot } from './types'\nimport type { VDataTableHeaderCellColumnSlotProps } from './VDataTableHeaders'\nimport type { GenericProps } from '@/util'\n\nexport type VDataTableItemCellColumnSlotProps<T> = Omit<ItemKeySlot<T>, 'value'> & {\n props: Record<string, unknown>\n}\n\nexport type VDataTableRowSlots<T> = {\n 'item.data-table-select': VDataTableItemCellColumnSlotProps<T>\n 'item.data-table-expand': VDataTableItemCellColumnSlotProps<T>\n 'header.data-table-select': VDataTableHeaderCellColumnSlotProps\n 'header.data-table-expand': VDataTableHeaderCellColumnSlotProps\n} & {\n [key: `item.${string}`]: ItemKeySlot<T>\n [key: `header.${string}`]: VDataTableHeaderCellColumnSlotProps\n}\n\nexport const makeVDataTableRowProps = propsFactory({\n index: Number,\n item: Object as PropType<DataTableItem>,\n cellProps: [Object, Function] as PropType<CellProps<any>>,\n collapseIcon: {\n type: IconValue,\n default: '$collapse',\n },\n expandIcon: {\n type: IconValue,\n default: '$expand',\n },\n\n onClick: EventProp<[MouseEvent]>(),\n onContextmenu: EventProp<[MouseEvent]>(),\n onDblclick: EventProp<[MouseEvent]>(),\n\n ...makeDensityProps(),\n ...makeDisplayProps(),\n}, 'VDataTableRow')\n\nexport const VDataTableRow = genericComponent<new <T>(\n props: {\n item?: DataTableItem<T>\n cellProps?: CellProps<T>\n },\n slots: VDataTableRowSlots<T>,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDataTableRow',\n\n props: makeVDataTableRowProps(),\n\n setup (props, { slots }) {\n const { displayClasses, mobile } = useDisplay(props, 'v-data-table__tr')\n const { isSelected, toggleSelect, someSelected, allSelected, selectAll } = useSelection()\n const { isExpanded, toggleExpand } = useExpanded()\n const { toggleSort, sortBy, isSorted } = useSort()\n const { columns } = useHeaders()\n\n useRender(() => (\n <tr\n class={[\n 'v-data-table__tr',\n {\n 'v-data-table__tr--clickable': !!(props.onClick || props.onContextmenu || props.onDblclick),\n },\n displayClasses.value,\n ]}\n onClick={ props.onClick as any }\n onContextmenu={ props.onContextmenu as any }\n onDblclick={ props.onDblclick as any }\n >\n { props.item && columns.value.map((column, i) => {\n const item = props.item!\n const slotName = `item.${column.key}` as const\n const headerSlotName = `header.${column.key}` as const\n const slotProps = {\n index: props.index!,\n item: item.raw,\n internalItem: item,\n value: getObjectValueByPath(item.columns, column.key),\n column,\n isSelected,\n toggleSelect,\n isExpanded,\n toggleExpand,\n } satisfies ItemKeySlot<any>\n\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 const cellProps = typeof props.cellProps === 'function'\n ? props.cellProps({\n index: slotProps.index,\n item: slotProps.item,\n internalItem: slotProps.internalItem,\n value: slotProps.value,\n column,\n })\n : props.cellProps\n const columnCellProps = typeof column.cellProps === 'function'\n ? column.cellProps({\n index: slotProps.index,\n item: slotProps.item,\n internalItem: slotProps.internalItem,\n value: slotProps.value,\n })\n : column.cellProps\n\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\n return (\n <VDataTableColumn\n align={ column.align }\n indent={ column.intent }\n class={{\n 'v-data-table__td--expanded-row': column.key === 'data-table-expand',\n 'v-data-table__td--select-row': column.key === 'data-table-select',\n }}\n fixed={ column.fixed }\n fixedOffset={ column.fixedOffset }\n fixedEndOffset={ column.fixedEndOffset }\n lastFixed={ column.lastFixed }\n firstFixedEnd={ column.firstFixedEnd }\n maxWidth={ !mobile.value ? column.maxWidth : undefined }\n noPadding={ noPadding }\n empty={ isEmpty }\n nowrap={ column.nowrap }\n width={ !mobile.value ? column.width : undefined }\n { ...cellProps }\n { ...columnCellProps }\n >\n {{\n default: () => {\n if (column.key === 'data-table-select') {\n return slots['item.data-table-select']?.({\n ...slotProps,\n props: {\n disabled: !item.selectable,\n modelValue: isSelected([item]),\n onClick: withModifiers(() => toggleSelect(item), ['stop']),\n },\n }) ?? (\n <VCheckboxBtn\n disabled={ !item.selectable }\n density={ props.density }\n modelValue={ isSelected([item]) }\n onClick={ withModifiers(\n (event: Event) => toggleSelect(item, props.index, event as PointerEvent),\n ['stop']\n )}\n />\n )\n }\n\n if (column.key === 'data-table-expand') {\n return slots['item.data-table-expand']?.({\n ...slotProps,\n props: {\n icon: isExpanded(item) ? props.collapseIcon : props.expandIcon,\n size: 'small',\n variant: 'text',\n onClick: withModifiers(() => toggleExpand(item), ['stop']),\n },\n }) ?? (\n <VBtn\n icon={ isExpanded(item) ? props.collapseIcon : props.expandIcon }\n size=\"small\"\n variant=\"text\"\n onClick={ withModifiers(() => toggleExpand(item), ['stop']) }\n />\n )\n }\n\n if (slots[slotName] && !mobile.value) return slots[slotName](slotProps)\n\n const displayValue = toDisplayString(slotProps.value)\n\n return !mobile.value ? displayValue : (\n <>\n <div class=\"v-data-table__td-title\">\n { slots[headerSlotName]?.(columnSlotProps) ?? column.title }\n </div>\n\n <div class=\"v-data-table__td-value\">\n { slots[slotName]?.(slotProps) ?? displayValue }\n </div>\n </>\n )\n },\n }}\n </VDataTableColumn>\n )\n })}\n </tr>\n ))\n },\n})\n\nexport type VDataTableRow = InstanceType<typeof VDataTableRow>\n"],"mappings":"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","ignoreList":[]}
@@ -18,6 +18,7 @@ export type VDataTableRowsSlots<T> = VDataTableGroupHeaderRowSlots & VDataTableR
18
18
  export declare const makeVDataTableRowsProps: <Defaults extends {
19
19
  mobile?: unknown;
20
20
  mobileBreakpoint?: unknown;
21
+ density?: unknown;
21
22
  groupCollapseIcon?: unknown;
22
23
  groupExpandIcon?: unknown;
23
24
  collapseIcon?: unknown;
@@ -44,6 +45,18 @@ export declare const makeVDataTableRowsProps: <Defaults extends {
44
45
  type: PropType<unknown extends Defaults["mobileBreakpoint"] ? number | import("../../types.js").DisplayBreakpoint : number | Defaults["mobileBreakpoint"] | import("../../types.js").DisplayBreakpoint>;
45
46
  default: unknown extends Defaults["mobileBreakpoint"] ? number | import("../../types.js").DisplayBreakpoint : Defaults["mobileBreakpoint"] | NonNullable<number | import("../../types.js").DisplayBreakpoint>;
46
47
  };
48
+ density: unknown extends Defaults["density"] ? {
49
+ type: PropType<import("../../composables/density.js").Density>;
50
+ default: string;
51
+ validator: (v: any) => boolean;
52
+ } : Omit<{
53
+ type: PropType<import("../../composables/density.js").Density>;
54
+ default: string;
55
+ validator: (v: any) => boolean;
56
+ }, "default" | "type"> & {
57
+ type: PropType<unknown extends Defaults["density"] ? import("../../composables/density.js").Density : Defaults["density"] | import("../../composables/density.js").Density>;
58
+ default: unknown extends Defaults["density"] ? import("../../composables/density.js").Density : Defaults["density"] | NonNullable<import("../../composables/density.js").Density>;
59
+ };
47
60
  groupCollapseIcon: unknown extends Defaults["groupCollapseIcon"] ? {
48
61
  type: PropType<import("../../composables/icons.js").IconValue>;
49
62
  default: string;
@@ -134,6 +147,7 @@ export declare const makeVDataTableRowsProps: <Defaults extends {
134
147
  export declare const VDataTableRows: {
135
148
  new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<{
136
149
  mobile: boolean | null;
150
+ density: import("../../composables/density.js").Density;
137
151
  groupCollapseIcon: import("../../composables/icons.js").IconValue;
138
152
  groupExpandIcon: import("../../composables/icons.js").IconValue;
139
153
  collapseIcon: import("../../composables/icons.js").IconValue;
@@ -148,6 +162,7 @@ export declare const VDataTableRows: {
148
162
  cellProps?: CellProps<any> | undefined;
149
163
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit<Record<string, any>, "$children" | "items" | "v-slot:data-table-group" | "v-slot:data-table-select" | "v-slot:expanded-row" | "v-slot:group-header" | "v-slot:group-summary" | "v-slot:item" | "v-slot:loading" | "v-slot:no-data" | "v-slots" | `v-slot:header.${string}` | `v-slot:item.${string}`>, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, {
150
164
  mobile: boolean | null;
165
+ density: import("../../composables/density.js").Density;
151
166
  groupCollapseIcon: import("../../composables/icons.js").IconValue;
152
167
  groupExpandIcon: import("../../composables/icons.js").IconValue;
153
168
  collapseIcon: import("../../composables/icons.js").IconValue;
@@ -225,6 +240,7 @@ export declare const VDataTableRows: {
225
240
  Defaults: {};
226
241
  }, {
227
242
  mobile: boolean | null;
243
+ density: import("../../composables/density.js").Density;
228
244
  groupCollapseIcon: import("../../composables/icons.js").IconValue;
229
245
  groupExpandIcon: import("../../composables/icons.js").IconValue;
230
246
  collapseIcon: import("../../composables/icons.js").IconValue;
@@ -239,6 +255,7 @@ export declare const VDataTableRows: {
239
255
  cellProps?: CellProps<any> | undefined;
240
256
  }, {}, {}, {}, {}, {
241
257
  mobile: boolean | null;
258
+ density: import("../../composables/density.js").Density;
242
259
  groupCollapseIcon: import("../../composables/icons.js").IconValue;
243
260
  groupExpandIcon: import("../../composables/icons.js").IconValue;
244
261
  collapseIcon: import("../../composables/icons.js").IconValue;
@@ -252,6 +269,7 @@ export declare const VDataTableRows: {
252
269
  __isSuspense?: undefined;
253
270
  } & import("vue").ComponentOptionsBase<{
254
271
  mobile: boolean | null;
272
+ density: import("../../composables/density.js").Density;
255
273
  groupCollapseIcon: import("../../composables/icons.js").IconValue;
256
274
  groupExpandIcon: import("../../composables/icons.js").IconValue;
257
275
  collapseIcon: import("../../composables/icons.js").IconValue;
@@ -266,6 +284,7 @@ export declare const VDataTableRows: {
266
284
  cellProps?: CellProps<any> | undefined;
267
285
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit<Record<string, any>, "$children" | "items" | "v-slot:data-table-group" | "v-slot:data-table-select" | "v-slot:expanded-row" | "v-slot:group-header" | "v-slot:group-summary" | "v-slot:item" | "v-slot:loading" | "v-slot:no-data" | "v-slots" | `v-slot:header.${string}` | `v-slot:item.${string}`>, string, {
268
286
  mobile: boolean | null;
287
+ density: import("../../composables/density.js").Density;
269
288
  groupCollapseIcon: import("../../composables/icons.js").IconValue;
270
289
  groupExpandIcon: import("../../composables/icons.js").IconValue;
271
290
  collapseIcon: import("../../composables/icons.js").IconValue;
@@ -344,6 +363,11 @@ export declare const VDataTableRows: {
344
363
  default: boolean;
345
364
  };
346
365
  mobileBreakpoint: PropType<number | import("../../types.js").DisplayBreakpoint>;
366
+ density: {
367
+ type: PropType<import("../../composables/density.js").Density>;
368
+ default: string;
369
+ validator: (v: any) => boolean;
370
+ };
347
371
  groupCollapseIcon: {
348
372
  type: PropType<import("../../composables/icons.js").IconValue>;
349
373
  default: string;
@@ -382,6 +406,11 @@ export declare const VDataTableRows: {
382
406
  default: boolean;
383
407
  };
384
408
  mobileBreakpoint: PropType<number | import("../../types.js").DisplayBreakpoint>;
409
+ density: {
410
+ type: PropType<import("../../composables/density.js").Density>;
411
+ default: string;
412
+ validator: (v: any) => boolean;
413
+ };
385
414
  groupCollapseIcon: {
386
415
  type: PropType<import("../../composables/icons.js").IconValue>;
387
416
  default: string;
@@ -27,8 +27,8 @@ export const makeVDataTableRowsProps = propsFactory({
27
27
  },
28
28
  rowProps: [Object, Function],
29
29
  cellProps: [Object, Function],
30
- ...pick(makeVDataTableRowProps(), ['collapseIcon', 'expandIcon']),
31
- ...pick(makeVDataTableGroupHeaderRowProps(), ['groupCollapseIcon', 'groupExpandIcon']),
30
+ ...pick(makeVDataTableRowProps(), ['collapseIcon', 'expandIcon', 'density']),
31
+ ...pick(makeVDataTableGroupHeaderRowProps(), ['groupCollapseIcon', 'groupExpandIcon', 'density']),
32
32
  ...makeDisplayProps()
33
33
  }, 'VDataTableRows');
34
34
  export const VDataTableRows = genericComponent()({
@@ -63,7 +63,7 @@ export const VDataTableRows = genericComponent()({
63
63
  mobile
64
64
  } = useDisplay(props);
65
65
  useRender(() => {
66
- const groupHeaderRowProps = pick(props, ['groupCollapseIcon', 'groupExpandIcon']);
66
+ const groupHeaderRowProps = pick(props, ['groupCollapseIcon', 'groupExpandIcon', 'density']);
67
67
  if (props.loading && (!props.items.length || slots.loading)) {
68
68
  return _createElementVNode("tr", {
69
69
  "class": "v-data-table-rows-loading",
@@ -129,6 +129,7 @@ export const VDataTableRows = genericComponent()({
129
129
  cellProps: props.cellProps,
130
130
  collapseIcon: props.collapseIcon,
131
131
  expandIcon: props.expandIcon,
132
+ density: props.density,
132
133
  mobile: mobile.value
133
134
  }, getPrefixedEventHandlers(attrs, ':row', () => slotProps), typeof props.rowProps === 'function' ? props.rowProps({
134
135
  item: slotProps.item,
@@ -1 +1 @@
1
- {"version":3,"file":"VDataTableRows.js","names":["makeVDataTableGroupHeaderRowProps","VDataTableGroupHeaderRow","makeVDataTableRowProps","VDataTableRow","useExpanded","useGroupBy","useHeaders","useSelection","makeDisplayProps","useDisplay","useLocale","Fragment","mergeProps","genericComponent","getPrefixedEventHandlers","pick","propsFactory","useRender","makeVDataTableRowsProps","loading","Boolean","String","loadingText","type","default","hideNoData","items","Array","noDataText","rowProps","Object","Function","cellProps","VDataTableRows","name","inheritAttrs","props","setup","_ref","attrs","slots","columns","expandOnClick","toggleExpand","isExpanded","isSelected","toggleSelect","toggleGroup","isGroupOpen","t","mobile","groupHeaderRowProps","length","_createElementVNode","value","_Fragment","map","item","index","slotProps","_createVNode","_mergeProps","id","raw","internalItem","itemSlotProps","key","onClick","undefined","collapseIcon","expandIcon"],"sources":["../../../src/components/VDataTable/VDataTableRows.tsx"],"sourcesContent":["// Components\nimport { makeVDataTableGroupHeaderRowProps, VDataTableGroupHeaderRow } from './VDataTableGroupHeaderRow'\nimport { makeVDataTableRowProps, VDataTableRow } from './VDataTableRow'\n\n// Composables\nimport { useExpanded } from './composables/expand'\nimport { useGroupBy } from './composables/group'\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { makeDisplayProps, useDisplay } from '@/composables/display'\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { Fragment, mergeProps } from 'vue'\nimport { genericComponent, getPrefixedEventHandlers, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { Group, GroupSummary } from './composables/group'\nimport type { CellProps, DataTableItem, GroupHeaderSlot, GroupSummarySlot, ItemSlot, RowProps } from './types'\nimport type { VDataTableGroupHeaderRowSlots } from './VDataTableGroupHeaderRow'\nimport type { VDataTableRowSlots } from './VDataTableRow'\nimport type { GenericProps } from '@/util'\n\nexport type VDataTableRowsSlots<T> = VDataTableGroupHeaderRowSlots & VDataTableRowSlots<T> & {\n item: ItemSlot<T> & { props: Record<string, any> }\n loading: never\n 'group-header': GroupHeaderSlot\n 'group-summary': GroupSummarySlot\n 'no-data': never\n 'expanded-row': ItemSlot<T>\n}\n\nexport const makeVDataTableRowsProps = propsFactory({\n loading: [Boolean, String],\n loadingText: {\n type: String,\n default: '$vuetify.dataIterator.loadingText',\n },\n hideNoData: Boolean,\n items: {\n type: Array as PropType<readonly (DataTableItem | Group | GroupSummary)[]>,\n default: () => ([]),\n },\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n rowProps: [Object, Function] as PropType<RowProps<any>>,\n cellProps: [Object, Function] as PropType<CellProps<any>>,\n\n ...pick(makeVDataTableRowProps(), ['collapseIcon', 'expandIcon']),\n ...pick(makeVDataTableGroupHeaderRowProps(), ['groupCollapseIcon', 'groupExpandIcon']),\n ...makeDisplayProps(),\n}, 'VDataTableRows')\n\nexport const VDataTableRows = genericComponent<new <T>(\n props: {\n items?: readonly (DataTableItem<T> | Group<T> | GroupSummary<T>)[]\n },\n slots: VDataTableRowsSlots<T>,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDataTableRows',\n\n inheritAttrs: false,\n\n props: makeVDataTableRowsProps(),\n\n setup (props, { attrs, slots }) {\n const { columns } = useHeaders()\n const { expandOnClick, toggleExpand, isExpanded } = useExpanded()\n const { isSelected, toggleSelect } = useSelection()\n const { toggleGroup, isGroupOpen } = useGroupBy()\n const { t } = useLocale()\n const { mobile } = useDisplay(props)\n\n useRender(() => {\n const groupHeaderRowProps = pick(props, ['groupCollapseIcon', 'groupExpandIcon'])\n\n if (props.loading && (!props.items.length || slots.loading)) {\n return (\n <tr\n class=\"v-data-table-rows-loading\"\n key=\"loading\"\n >\n <td colspan={ columns.value.length }>\n { slots.loading?.() ?? t(props.loadingText) }\n </td>\n </tr>\n )\n }\n\n if (!props.loading && !props.items.length && !props.hideNoData) {\n return (\n <tr\n class=\"v-data-table-rows-no-data\"\n key=\"no-data\"\n >\n <td colspan={ columns.value.length }>\n { slots['no-data']?.() ?? t(props.noDataText) }\n </td>\n </tr>\n )\n }\n\n return (\n <>\n { props.items.map((item, index) => {\n if (item.type === 'group') {\n const slotProps = {\n index,\n item,\n columns: columns.value,\n isExpanded,\n toggleExpand,\n isSelected,\n toggleSelect,\n toggleGroup,\n isGroupOpen,\n } satisfies GroupHeaderSlot\n\n return slots['group-header'] ? slots['group-header'](slotProps) : (\n <VDataTableGroupHeaderRow\n key={ `group-header_${item.id}` }\n item={ item }\n { ...getPrefixedEventHandlers(attrs, ':groupHeader', () => slotProps) }\n { ...groupHeaderRowProps }\n v-slots={ slots }\n />\n )\n }\n\n if (item.type === 'group-summary') {\n const slotProps = {\n index,\n item,\n columns: columns.value,\n toggleGroup,\n } satisfies GroupSummarySlot\n\n return slots['group-summary']?.(slotProps) ?? ''\n }\n\n const slotProps = {\n index,\n item: item.raw,\n internalItem: item,\n columns: columns.value,\n isExpanded,\n toggleExpand,\n isSelected,\n toggleSelect,\n } satisfies ItemSlot<any>\n\n const itemSlotProps = {\n ...slotProps,\n props: mergeProps(\n {\n key: `item_${item.key ?? item.index}`,\n onClick: expandOnClick.value ? () => {\n toggleExpand(item)\n } : undefined,\n index,\n item,\n cellProps: props.cellProps,\n collapseIcon: props.collapseIcon,\n expandIcon: props.expandIcon,\n mobile: mobile.value,\n },\n getPrefixedEventHandlers(attrs, ':row', () => slotProps),\n typeof props.rowProps === 'function'\n ? props.rowProps({\n item: slotProps.item,\n index: slotProps.index,\n internalItem: slotProps.internalItem,\n })\n : props.rowProps,\n ),\n }\n\n return (\n <Fragment key={ itemSlotProps.props.key as string }>\n { slots.item ? slots.item(itemSlotProps) : (\n <VDataTableRow\n { ...itemSlotProps.props }\n v-slots={ slots }\n />\n )}\n\n { isExpanded(item) && slots['expanded-row']?.(slotProps) }\n </Fragment>\n )\n })}\n </>\n )\n })\n\n return {}\n },\n})\n\nexport type VDataTableRows = InstanceType<typeof VDataTableRows>\n"],"mappings":";AAAA;AAAA,SACSA,iCAAiC,EAAEC,wBAAwB;AAAA,SAC3DC,sBAAsB,EAAEC,aAAa,8BAE9C;AAAA,SACSC,WAAW;AAAA,SACXC,UAAU;AAAA,SACVC,UAAU;AAAA,SACVC,YAAY;AAAA,SACZC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,SAAS,uCAElB;AACA,SAASC,QAAQ,EAAEC,UAAU,QAAQ,KAAK;AAAA,SACjCC,gBAAgB,EAAEC,wBAAwB,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS,+BAElF;AAiBA,OAAO,MAAMC,uBAAuB,GAAGF,YAAY,CAAC;EAClDG,OAAO,EAAE,CAACC,OAAO,EAAEC,MAAM,CAAC;EAC1BC,WAAW,EAAE;IACXC,IAAI,EAAEF,MAAM;IACZG,OAAO,EAAE;EACX,CAAC;EACDC,UAAU,EAAEL,OAAO;EACnBM,KAAK,EAAE;IACLH,IAAI,EAAEI,KAAoE;IAC1EH,OAAO,EAAEA,CAAA,KAAO;EAClB,CAAC;EACDI,UAAU,EAAE;IACVL,IAAI,EAAEF,MAAM;IACZG,OAAO,EAAE;EACX,CAAC;EACDK,QAAQ,EAAE,CAACC,MAAM,EAAEC,QAAQ,CAA4B;EACvDC,SAAS,EAAE,CAACF,MAAM,EAAEC,QAAQ,CAA6B;EAEzD,GAAGhB,IAAI,CAACb,sBAAsB,CAAC,CAAC,EAAE,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;EACjE,GAAGa,IAAI,CAACf,iCAAiC,CAAC,CAAC,EAAE,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;EACtF,GAAGQ,gBAAgB,CAAC;AACtB,CAAC,EAAE,gBAAgB,CAAC;AAEpB,OAAO,MAAMyB,cAAc,GAAGpB,gBAAgB,CAKC,CAAC,CAAC;EAC/CqB,IAAI,EAAE,gBAAgB;EAEtBC,YAAY,EAAE,KAAK;EAEnBC,KAAK,EAAElB,uBAAuB,CAAC,CAAC;EAEhCmB,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAoB;IAAA,IAAlB;MAAEC,KAAK;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC5B,MAAM;MAAEG;IAAQ,CAAC,GAAGnC,UAAU,CAAC,CAAC;IAChC,MAAM;MAAEoC,aAAa;MAAEC,YAAY;MAAEC;IAAW,CAAC,GAAGxC,WAAW,CAAC,CAAC;IACjE,MAAM;MAAEyC,UAAU;MAAEC;IAAa,CAAC,GAAGvC,YAAY,CAAC,CAAC;IACnD,MAAM;MAAEwC,WAAW;MAAEC;IAAY,CAAC,GAAG3C,UAAU,CAAC,CAAC;IACjD,MAAM;MAAE4C;IAAE,CAAC,GAAGvC,SAAS,CAAC,CAAC;IACzB,MAAM;MAAEwC;IAAO,CAAC,GAAGzC,UAAU,CAAC2B,KAAK,CAAC;IAEpCnB,SAAS,CAAC,MAAM;MACd,MAAMkC,mBAAmB,GAAGpC,IAAI,CAACqB,KAAK,EAAE,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;MAEjF,IAAIA,KAAK,CAACjB,OAAO,KAAK,CAACiB,KAAK,CAACV,KAAK,CAAC0B,MAAM,IAAIZ,KAAK,CAACrB,OAAO,CAAC,EAAE;QAC3D,OAAAkC,mBAAA;UAAA;UAAA;QAAA,IAAAA,mBAAA;UAAA,WAKkBZ,OAAO,CAACa,KAAK,CAACF;QAAM,IAC9BZ,KAAK,CAACrB,OAAO,GAAG,CAAC,IAAI8B,CAAC,CAACb,KAAK,CAACd,WAAW,CAAC;MAInD;MAEA,IAAI,CAACc,KAAK,CAACjB,OAAO,IAAI,CAACiB,KAAK,CAACV,KAAK,CAAC0B,MAAM,IAAI,CAAChB,KAAK,CAACX,UAAU,EAAE;QAC9D,OAAA4B,mBAAA;UAAA;UAAA;QAAA,IAAAA,mBAAA;UAAA,WAKkBZ,OAAO,CAACa,KAAK,CAACF;QAAM,IAC9BZ,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAIS,CAAC,CAACb,KAAK,CAACR,UAAU,CAAC;MAIrD;MAEA,OAAAyB,mBAAA,CAAAE,SAAA,SAEMnB,KAAK,CAACV,KAAK,CAAC8B,GAAG,CAAC,CAACC,IAAI,EAAEC,KAAK,KAAK;QACjC,IAAID,IAAI,CAAClC,IAAI,KAAK,OAAO,EAAE;UACzB,MAAMoC,SAAS,GAAG;YAChBD,KAAK;YACLD,IAAI;YACJhB,OAAO,EAAEA,OAAO,CAACa,KAAK;YACtBV,UAAU;YACVD,YAAY;YACZE,UAAU;YACVC,YAAY;YACZC,WAAW;YACXC;UACF,CAA2B;UAE3B,OAAOR,KAAK,CAAC,cAAc,CAAC,GAAGA,KAAK,CAAC,cAAc,CAAC,CAACmB,SAAS,CAAC,GAAAC,YAAA,CAAA3D,wBAAA,EAAA4D,WAAA;YAAA,OAErD,gBAAgBJ,IAAI,CAACK,EAAE,EAAE;YAAA,QACxBL;UAAI,GACN3C,wBAAwB,CAACyB,KAAK,EAAE,cAAc,EAAE,MAAMoB,SAAS,CAAC,EAChER,mBAAmB,GACdX,KAAK,CAElB;QACH;QAEA,IAAIiB,IAAI,CAAClC,IAAI,KAAK,eAAe,EAAE;UACjC,MAAMoC,SAAS,GAAG;YAChBD,KAAK;YACLD,IAAI;YACJhB,OAAO,EAAEA,OAAO,CAACa,KAAK;YACtBP;UACF,CAA4B;UAE5B,OAAOP,KAAK,CAAC,eAAe,CAAC,GAAGmB,SAAS,CAAC,IAAI,EAAE;QAClD;QAEA,MAAMA,SAAS,GAAG;UAChBD,KAAK;UACLD,IAAI,EAAEA,IAAI,CAACM,GAAG;UACdC,YAAY,EAAEP,IAAI;UAClBhB,OAAO,EAAEA,OAAO,CAACa,KAAK;UACtBV,UAAU;UACVD,YAAY;UACZE,UAAU;UACVC;QACF,CAAyB;QAEzB,MAAMmB,aAAa,GAAG;UACpB,GAAGN,SAAS;UACZvB,KAAK,EAAExB,UAAU,CACf;YACEsD,GAAG,EAAE,QAAQT,IAAI,CAACS,GAAG,IAAIT,IAAI,CAACC,KAAK,EAAE;YACrCS,OAAO,EAAEzB,aAAa,CAACY,KAAK,GAAG,MAAM;cACnCX,YAAY,CAACc,IAAI,CAAC;YACpB,CAAC,GAAGW,SAAS;YACbV,KAAK;YACLD,IAAI;YACJzB,SAAS,EAAEI,KAAK,CAACJ,SAAS;YAC1BqC,YAAY,EAAEjC,KAAK,CAACiC,YAAY;YAChCC,UAAU,EAAElC,KAAK,CAACkC,UAAU;YAC5BpB,MAAM,EAAEA,MAAM,CAACI;UACjB,CAAC,EACDxC,wBAAwB,CAACyB,KAAK,EAAE,MAAM,EAAE,MAAMoB,SAAS,CAAC,EACxD,OAAOvB,KAAK,CAACP,QAAQ,KAAK,UAAU,GAChCO,KAAK,CAACP,QAAQ,CAAC;YACf4B,IAAI,EAAEE,SAAS,CAACF,IAAI;YACpBC,KAAK,EAAEC,SAAS,CAACD,KAAK;YACtBM,YAAY,EAAEL,SAAS,CAACK;UAC1B,CAAC,CAAC,GACA5B,KAAK,CAACP,QACZ;QACF,CAAC;QAED,OAAAwB,mBAAA,CAAAE,SAAA;UAAA,OACkBU,aAAa,CAAC7B,KAAK,CAAC8B;QAAG,IACnC1B,KAAK,CAACiB,IAAI,GAAGjB,KAAK,CAACiB,IAAI,CAACQ,aAAa,CAAC,GAAAL,YAAA,CAAAzD,aAAA,EAE/B8D,aAAa,CAAC7B,KAAK,EACdI,KAAK,CAElB,EAECI,UAAU,CAACa,IAAI,CAAC,IAAIjB,KAAK,CAAC,cAAc,CAAC,GAAGmB,SAAS,CAAC;MAG9D,CAAC,CAAC;IAGR,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"VDataTableRows.js","names":["makeVDataTableGroupHeaderRowProps","VDataTableGroupHeaderRow","makeVDataTableRowProps","VDataTableRow","useExpanded","useGroupBy","useHeaders","useSelection","makeDisplayProps","useDisplay","useLocale","Fragment","mergeProps","genericComponent","getPrefixedEventHandlers","pick","propsFactory","useRender","makeVDataTableRowsProps","loading","Boolean","String","loadingText","type","default","hideNoData","items","Array","noDataText","rowProps","Object","Function","cellProps","VDataTableRows","name","inheritAttrs","props","setup","_ref","attrs","slots","columns","expandOnClick","toggleExpand","isExpanded","isSelected","toggleSelect","toggleGroup","isGroupOpen","t","mobile","groupHeaderRowProps","length","_createElementVNode","value","_Fragment","map","item","index","slotProps","_createVNode","_mergeProps","id","raw","internalItem","itemSlotProps","key","onClick","undefined","collapseIcon","expandIcon","density"],"sources":["../../../src/components/VDataTable/VDataTableRows.tsx"],"sourcesContent":["// Components\nimport { makeVDataTableGroupHeaderRowProps, VDataTableGroupHeaderRow } from './VDataTableGroupHeaderRow'\nimport { makeVDataTableRowProps, VDataTableRow } from './VDataTableRow'\n\n// Composables\nimport { useExpanded } from './composables/expand'\nimport { useGroupBy } from './composables/group'\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { makeDisplayProps, useDisplay } from '@/composables/display'\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { Fragment, mergeProps } from 'vue'\nimport { genericComponent, getPrefixedEventHandlers, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { Group, GroupSummary } from './composables/group'\nimport type { CellProps, DataTableItem, GroupHeaderSlot, GroupSummarySlot, ItemSlot, RowProps } from './types'\nimport type { VDataTableGroupHeaderRowSlots } from './VDataTableGroupHeaderRow'\nimport type { VDataTableRowSlots } from './VDataTableRow'\nimport type { GenericProps } from '@/util'\n\nexport type VDataTableRowsSlots<T> = VDataTableGroupHeaderRowSlots & VDataTableRowSlots<T> & {\n item: ItemSlot<T> & { props: Record<string, any> }\n loading: never\n 'group-header': GroupHeaderSlot\n 'group-summary': GroupSummarySlot\n 'no-data': never\n 'expanded-row': ItemSlot<T>\n}\n\nexport const makeVDataTableRowsProps = propsFactory({\n loading: [Boolean, String],\n loadingText: {\n type: String,\n default: '$vuetify.dataIterator.loadingText',\n },\n hideNoData: Boolean,\n items: {\n type: Array as PropType<readonly (DataTableItem | Group | GroupSummary)[]>,\n default: () => ([]),\n },\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n rowProps: [Object, Function] as PropType<RowProps<any>>,\n cellProps: [Object, Function] as PropType<CellProps<any>>,\n\n ...pick(makeVDataTableRowProps(), ['collapseIcon', 'expandIcon', 'density']),\n ...pick(makeVDataTableGroupHeaderRowProps(), ['groupCollapseIcon', 'groupExpandIcon', 'density']),\n ...makeDisplayProps(),\n}, 'VDataTableRows')\n\nexport const VDataTableRows = genericComponent<new <T>(\n props: {\n items?: readonly (DataTableItem<T> | Group<T> | GroupSummary<T>)[]\n },\n slots: VDataTableRowsSlots<T>,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDataTableRows',\n\n inheritAttrs: false,\n\n props: makeVDataTableRowsProps(),\n\n setup (props, { attrs, slots }) {\n const { columns } = useHeaders()\n const { expandOnClick, toggleExpand, isExpanded } = useExpanded()\n const { isSelected, toggleSelect } = useSelection()\n const { toggleGroup, isGroupOpen } = useGroupBy()\n const { t } = useLocale()\n const { mobile } = useDisplay(props)\n\n useRender(() => {\n const groupHeaderRowProps = pick(props, ['groupCollapseIcon', 'groupExpandIcon', 'density'])\n\n if (props.loading && (!props.items.length || slots.loading)) {\n return (\n <tr\n class=\"v-data-table-rows-loading\"\n key=\"loading\"\n >\n <td colspan={ columns.value.length }>\n { slots.loading?.() ?? t(props.loadingText) }\n </td>\n </tr>\n )\n }\n\n if (!props.loading && !props.items.length && !props.hideNoData) {\n return (\n <tr\n class=\"v-data-table-rows-no-data\"\n key=\"no-data\"\n >\n <td colspan={ columns.value.length }>\n { slots['no-data']?.() ?? t(props.noDataText) }\n </td>\n </tr>\n )\n }\n\n return (\n <>\n { props.items.map((item, index) => {\n if (item.type === 'group') {\n const slotProps = {\n index,\n item,\n columns: columns.value,\n isExpanded,\n toggleExpand,\n isSelected,\n toggleSelect,\n toggleGroup,\n isGroupOpen,\n } satisfies GroupHeaderSlot\n\n return slots['group-header'] ? slots['group-header'](slotProps) : (\n <VDataTableGroupHeaderRow\n key={ `group-header_${item.id}` }\n item={ item }\n { ...getPrefixedEventHandlers(attrs, ':groupHeader', () => slotProps) }\n { ...groupHeaderRowProps }\n v-slots={ slots }\n />\n )\n }\n\n if (item.type === 'group-summary') {\n const slotProps = {\n index,\n item,\n columns: columns.value,\n toggleGroup,\n } satisfies GroupSummarySlot\n\n return slots['group-summary']?.(slotProps) ?? ''\n }\n\n const slotProps = {\n index,\n item: item.raw,\n internalItem: item,\n columns: columns.value,\n isExpanded,\n toggleExpand,\n isSelected,\n toggleSelect,\n } satisfies ItemSlot<any>\n\n const itemSlotProps = {\n ...slotProps,\n props: mergeProps(\n {\n key: `item_${item.key ?? item.index}`,\n onClick: expandOnClick.value ? () => {\n toggleExpand(item)\n } : undefined,\n index,\n item,\n cellProps: props.cellProps,\n collapseIcon: props.collapseIcon,\n expandIcon: props.expandIcon,\n density: props.density,\n mobile: mobile.value,\n },\n getPrefixedEventHandlers(attrs, ':row', () => slotProps),\n typeof props.rowProps === 'function'\n ? props.rowProps({\n item: slotProps.item,\n index: slotProps.index,\n internalItem: slotProps.internalItem,\n })\n : props.rowProps,\n ),\n }\n\n return (\n <Fragment key={ itemSlotProps.props.key as string }>\n { slots.item ? slots.item(itemSlotProps) : (\n <VDataTableRow\n { ...itemSlotProps.props }\n v-slots={ slots }\n />\n )}\n\n { isExpanded(item) && slots['expanded-row']?.(slotProps) }\n </Fragment>\n )\n })}\n </>\n )\n })\n\n return {}\n },\n})\n\nexport type VDataTableRows = InstanceType<typeof VDataTableRows>\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  .v-divider {
2
+ color: inherit;
2
3
  display: block;
3
4
  flex: 1 1 100%;
4
5
  height: 0px;
@@ -3,6 +3,7 @@
3
3
 
4
4
  @include tools.layer('components')
5
5
  .v-divider
6
+ color: inherit
6
7
  display: block
7
8
  flex: $divider-flex
8
9
  height: 0px
@@ -1,6 +1,8 @@
1
+ @use '../../styles/settings';
2
+
1
3
  // VKbd
2
4
  // Kbd elements naturally use monospace fonts, if users want to change this, they can do so by setting the font-family on the v-kbd element.
3
- $kbd-font-family: "Roboto", sans-serif !default;
5
+ $kbd-font-family: settings.$body-font-family !default;
4
6
  $kbd-border-radius: 4px !default;
5
7
  $kbd-display: inline-flex !default;
6
8
  $kbd-elevation: 1 !default;
@@ -108,7 +108,7 @@ export const VListItem = genericComponent()({
108
108
  const isLink = toRef(() => props.link !== false && link.isLink.value);
109
109
  const isSelectable = computed(() => !!list && (root.selectable.value || root.activatable.value || props.value != null));
110
110
  const isClickable = computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value || isSelectable.value));
111
- const role = computed(() => list ? isSelectable.value ? 'option' : 'listitem' : undefined);
111
+ const role = computed(() => list ? isLink.value ? 'link' : isSelectable.value ? 'option' : 'listitem' : undefined);
112
112
  const ariaSelected = computed(() => {
113
113
  if (!isSelectable.value) return undefined;
114
114
  return root.activatable.value ? isActivated.value : root.selectable.value ? isSelected.value : isActive.value;
@@ -1 +1 @@
1
- {"version":3,"file":"VListItem.js","names":["VListItemSubtitle","VListItemTitle","VAvatar","VDefaultsProvider","VIcon","useList","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","IconValue","useNestedItem","makeRoundedProps","useRounded","makeRouterProps","useLink","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","vRipple","computed","onBeforeMount","toDisplayString","toRef","watch","deprecate","EventProp","genericComponent","propsFactory","useRender","makeVListItemProps","active","type","Boolean","default","undefined","activeClass","String","activeColor","appendAvatar","appendIcon","baseColor","disabled","lines","link","nav","prependAvatar","prependIcon","ripple","Object","slim","subtitle","Number","title","value","onClick","onClickOnce","variant","VListItem","name","directives","props","emits","click","e","setup","_ref","attrs","slots","emit","id","href","activate","isActivated","select","isOpen","isSelected","isIndeterminate","isGroupActivator","root","parent","openOnSelect","uid","list","isActive","activatable","isLink","isSelectable","selectable","isClickable","role","ariaSelected","roundedProps","rounded","color","variantProps","val","handleActiveLink","open","themeClasses","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","dimensionStyles","elevationClasses","roundedClasses","lineClasses","rippleOptions","filterable","keys","slotProps","includes","target","tagName","navigate","onKeyDown","key","preventDefault","stopPropagation","dispatchEvent","MouseEvent","Tag","tag","hasTitle","hasSubtitle","hasAppendMedia","hasAppend","append","hasPrependMedia","hasPrepend","prepend","updateHasPrepend","_withDirectives","_createVNode","_mergeProps","linkProps","class","style","_createElementVNode","_Fragment","density","image","icon","VListItemAction","start","end"],"sources":["../../../src/components/VList/VListItem.tsx"],"sourcesContent":["// Styles\nimport './VListItem.sass'\n\n// Components\nimport { VListItemSubtitle } from './VListItemSubtitle'\nimport { VListItemTitle } from './VListItemTitle'\nimport { VAvatar } from '@/components/VAvatar'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useList } from './list'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { IconValue } from '@/composables/icons'\nimport { useNestedItem } from '@/composables/nested/nested'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport vRipple from '@/directives/ripple'\n\n// Utilities\nimport { computed, onBeforeMount, toDisplayString, toRef, watch } from 'vue'\nimport { deprecate, EventProp, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type ListItemSlot = {\n index?: number\n depth?: number\n path?: number[]\n isFirst?: boolean\n isLast?: boolean\n isActive: boolean\n isOpen: boolean\n isSelected: boolean\n isIndeterminate: boolean\n select: (value: boolean) => void\n}\n\nexport type ListItemTitleSlot = {\n title?: string | number | boolean\n}\n\nexport type ListItemSubtitleSlot = {\n subtitle?: string | number | boolean\n}\n\nexport type VListItemSlots = {\n prepend: ListItemSlot\n append: ListItemSlot\n default: ListItemSlot\n title: ListItemTitleSlot\n subtitle: ListItemSubtitleSlot\n}\n\nexport const makeVListItemProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n activeClass: String,\n /* @deprecated */\n activeColor: String,\n appendAvatar: String,\n appendIcon: IconValue,\n baseColor: String,\n disabled: Boolean,\n lines: [Boolean, String] as PropType<'one' | 'two' | 'three' | false>,\n link: {\n type: Boolean,\n default: undefined,\n },\n nav: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n slim: Boolean,\n subtitle: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n title: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n value: null,\n\n onClick: EventProp<[MouseEvent | KeyboardEvent]>(),\n onClickOnce: EventProp<[MouseEvent]>(),\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n}, 'VListItem')\n\nexport const VListItem = genericComponent<VListItemSlots>()({\n name: 'VListItem',\n\n directives: { vRipple },\n\n props: makeVListItemProps(),\n\n emits: {\n click: (e: MouseEvent | KeyboardEvent) => true,\n },\n\n setup (props, { attrs, slots, emit }) {\n const link = useLink(props, attrs)\n const id = computed(() => props.value === undefined ? link.href.value : props.value)\n const {\n activate,\n isActivated,\n select,\n isOpen,\n isSelected,\n isIndeterminate,\n isGroupActivator,\n root,\n parent,\n openOnSelect,\n id: uid,\n } = useNestedItem(id, () => props.disabled, false)\n const list = useList()\n const isActive = computed(() =>\n props.active !== false &&\n (props.active || link.isActive?.value || (root.activatable.value ? isActivated.value : isSelected.value))\n )\n const isLink = toRef(() => props.link !== false && link.isLink.value)\n const isSelectable = computed(() => (!!list && (root.selectable.value || root.activatable.value || props.value != null)))\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (props.link || link.isClickable.value || isSelectable.value)\n )\n const role = computed(() => list ? (isSelectable.value ? 'option' : 'listitem') : undefined)\n const ariaSelected = computed(() => {\n if (!isSelectable.value) return undefined\n return root.activatable.value ? isActivated.value\n : root.selectable.value ? isSelected.value\n : isActive.value\n })\n\n const roundedProps = toRef(() => props.rounded || props.nav)\n const color = toRef(() => props.color ?? props.activeColor)\n const variantProps = toRef(() => ({\n color: isActive.value ? color.value ?? props.baseColor : props.baseColor,\n variant: props.variant,\n }))\n\n // useNestedItem doesn't call register until beforeMount,\n // so this can't be an immediate watcher as we don't know parent yet\n watch(() => link.isActive?.value, val => {\n if (!val) return\n handleActiveLink()\n })\n onBeforeMount(() => {\n if (link.isActive?.value) handleActiveLink()\n })\n function handleActiveLink () {\n if (parent.value != null) {\n root.open(parent.value, true)\n }\n openOnSelect(true)\n }\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(roundedProps)\n const lineClasses = toRef(() => props.lines ? `v-list-item--${props.lines}-line` : undefined)\n const rippleOptions = toRef(() =>\n (\n props.ripple !== undefined &&\n !!props.ripple &&\n list?.filterable\n )\n ? { keys: ['Enter'] }\n : props.ripple\n )\n\n const slotProps = computed(() => ({\n isActive: isActive.value,\n select,\n isOpen: isOpen.value,\n isSelected: isSelected.value,\n isIndeterminate: isIndeterminate.value,\n } satisfies ListItemSlot))\n\n function onClick (e: MouseEvent) {\n emit('click', e)\n if (['INPUT', 'TEXTAREA'].includes((e.target as Element)?.tagName)) return\n\n if (!isClickable.value) return\n\n link.navigate?.(e)\n\n if (isGroupActivator) return\n\n if (root.activatable.value) {\n activate(!isActivated.value, e)\n } else if (root.selectable.value) {\n select(!isSelected.value, e)\n } else if (props.value != null && !isLink.value) {\n select(!isSelected.value, e)\n }\n }\n\n function onKeyDown (e: KeyboardEvent) {\n const target = e.target as HTMLElement\n\n if (['INPUT', 'TEXTAREA'].includes(target.tagName)) return\n\n if (e.key === 'Enter' || (e.key === ' ' && !list?.filterable)) {\n e.preventDefault()\n e.stopPropagation()\n e.target!.dispatchEvent(new MouseEvent('click', e))\n }\n }\n\n useRender(() => {\n const Tag = isLink.value ? 'a' : props.tag\n const hasTitle = (slots.title || props.title != null)\n const hasSubtitle = (slots.subtitle || props.subtitle != null)\n const hasAppendMedia = !!(props.appendAvatar || props.appendIcon)\n const hasAppend = !!(hasAppendMedia || slots.append)\n const hasPrependMedia = !!(props.prependAvatar || props.prependIcon)\n const hasPrepend = !!(hasPrependMedia || slots.prepend)\n\n list?.updateHasPrepend(hasPrepend)\n\n if (props.activeColor) {\n deprecate('active-color', ['color', 'base-color'])\n }\n\n return (\n <Tag\n { ...link.linkProps }\n class={[\n 'v-list-item',\n {\n 'v-list-item--active': isActive.value,\n 'v-list-item--disabled': props.disabled,\n 'v-list-item--link': isClickable.value,\n 'v-list-item--nav': props.nav,\n 'v-list-item--prepend': !hasPrepend && list?.hasPrepend.value,\n 'v-list-item--slim': props.slim,\n [`${props.activeClass}`]: props.activeClass && isActive.value,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n lineClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n props.style,\n ]}\n tabindex={ isClickable.value ? (list ? -2 : 0) : undefined }\n aria-selected={ ariaSelected.value }\n role={ role.value }\n onClick={ onClick }\n onKeydown={ isClickable.value && !isLink.value && onKeyDown }\n v-ripple={ isClickable.value && rippleOptions.value }\n >\n { genOverlays(isClickable.value || isActive.value, 'v-list-item') }\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-list-item__prepend\">\n { !slots.prepend ? (\n <>\n { props.prependAvatar && (\n <VAvatar\n key=\"prepend-avatar\"\n density={ props.density }\n image={ props.prependAvatar }\n />\n )}\n\n { props.prependIcon && (\n <VIcon\n key=\"prepend-icon\"\n density={ props.density }\n icon={ props.prependIcon }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !hasPrependMedia }\n defaults={{\n VAvatar: {\n density: props.density,\n image: props.prependAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.prependIcon,\n },\n VListItemAction: {\n start: true,\n },\n }}\n >\n { slots.prepend?.(slotProps.value) }\n </VDefaultsProvider>\n )}\n\n <div class=\"v-list-item__spacer\" />\n </div>\n )}\n\n <div class=\"v-list-item__content\" data-no-activator=\"\">\n { hasTitle && (\n <VListItemTitle key=\"title\">\n { slots.title?.({ title: props.title }) ?? toDisplayString(props.title) }\n </VListItemTitle>\n )}\n\n { hasSubtitle && (\n <VListItemSubtitle key=\"subtitle\">\n { slots.subtitle?.({ subtitle: props.subtitle }) ?? toDisplayString(props.subtitle) }\n </VListItemSubtitle>\n )}\n\n { slots.default?.(slotProps.value) }\n </div>\n\n { hasAppend && (\n <div key=\"append\" class=\"v-list-item__append\">\n { !slots.append ? (\n <>\n { props.appendIcon && (\n <VIcon\n key=\"append-icon\"\n density={ props.density }\n icon={ props.appendIcon }\n />\n )}\n\n { props.appendAvatar && (\n <VAvatar\n key=\"append-avatar\"\n density={ props.density }\n image={ props.appendAvatar }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !hasAppendMedia }\n defaults={{\n VAvatar: {\n density: props.density,\n image: props.appendAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.appendIcon,\n },\n VListItemAction: {\n end: true,\n },\n }}\n >\n { slots.append?.(slotProps.value) }\n </VDefaultsProvider>\n )}\n\n <div class=\"v-list-item__spacer\" />\n </div>\n )}\n </Tag>\n )\n })\n\n return {\n activate,\n isActivated,\n isGroupActivator,\n isSelected,\n list,\n select,\n root,\n id: uid,\n link,\n }\n },\n})\n\nexport type VListItem = InstanceType<typeof VListItem>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VListItem.js","names":["VListItemSubtitle","VListItemTitle","VAvatar","VDefaultsProvider","VIcon","useList","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","IconValue","useNestedItem","makeRoundedProps","useRounded","makeRouterProps","useLink","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","vRipple","computed","onBeforeMount","toDisplayString","toRef","watch","deprecate","EventProp","genericComponent","propsFactory","useRender","makeVListItemProps","active","type","Boolean","default","undefined","activeClass","String","activeColor","appendAvatar","appendIcon","baseColor","disabled","lines","link","nav","prependAvatar","prependIcon","ripple","Object","slim","subtitle","Number","title","value","onClick","onClickOnce","variant","VListItem","name","directives","props","emits","click","e","setup","_ref","attrs","slots","emit","id","href","activate","isActivated","select","isOpen","isSelected","isIndeterminate","isGroupActivator","root","parent","openOnSelect","uid","list","isActive","activatable","isLink","isSelectable","selectable","isClickable","role","ariaSelected","roundedProps","rounded","color","variantProps","val","handleActiveLink","open","themeClasses","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","dimensionStyles","elevationClasses","roundedClasses","lineClasses","rippleOptions","filterable","keys","slotProps","includes","target","tagName","navigate","onKeyDown","key","preventDefault","stopPropagation","dispatchEvent","MouseEvent","Tag","tag","hasTitle","hasSubtitle","hasAppendMedia","hasAppend","append","hasPrependMedia","hasPrepend","prepend","updateHasPrepend","_withDirectives","_createVNode","_mergeProps","linkProps","class","style","_createElementVNode","_Fragment","density","image","icon","VListItemAction","start","end"],"sources":["../../../src/components/VList/VListItem.tsx"],"sourcesContent":["// Styles\nimport './VListItem.sass'\n\n// Components\nimport { VListItemSubtitle } from './VListItemSubtitle'\nimport { VListItemTitle } from './VListItemTitle'\nimport { VAvatar } from '@/components/VAvatar'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useList } from './list'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { IconValue } from '@/composables/icons'\nimport { useNestedItem } from '@/composables/nested/nested'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport vRipple from '@/directives/ripple'\n\n// Utilities\nimport { computed, onBeforeMount, toDisplayString, toRef, watch } from 'vue'\nimport { deprecate, EventProp, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type ListItemSlot = {\n index?: number\n depth?: number\n path?: number[]\n isFirst?: boolean\n isLast?: boolean\n isActive: boolean\n isOpen: boolean\n isSelected: boolean\n isIndeterminate: boolean\n select: (value: boolean) => void\n}\n\nexport type ListItemTitleSlot = {\n title?: string | number | boolean\n}\n\nexport type ListItemSubtitleSlot = {\n subtitle?: string | number | boolean\n}\n\nexport type VListItemSlots = {\n prepend: ListItemSlot\n append: ListItemSlot\n default: ListItemSlot\n title: ListItemTitleSlot\n subtitle: ListItemSubtitleSlot\n}\n\nexport const makeVListItemProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n activeClass: String,\n /* @deprecated */\n activeColor: String,\n appendAvatar: String,\n appendIcon: IconValue,\n baseColor: String,\n disabled: Boolean,\n lines: [Boolean, String] as PropType<'one' | 'two' | 'three' | false>,\n link: {\n type: Boolean,\n default: undefined,\n },\n nav: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n slim: Boolean,\n subtitle: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n title: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n value: null,\n\n onClick: EventProp<[MouseEvent | KeyboardEvent]>(),\n onClickOnce: EventProp<[MouseEvent]>(),\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n}, 'VListItem')\n\nexport const VListItem = genericComponent<VListItemSlots>()({\n name: 'VListItem',\n\n directives: { vRipple },\n\n props: makeVListItemProps(),\n\n emits: {\n click: (e: MouseEvent | KeyboardEvent) => true,\n },\n\n setup (props, { attrs, slots, emit }) {\n const link = useLink(props, attrs)\n const id = computed(() => props.value === undefined ? link.href.value : props.value)\n const {\n activate,\n isActivated,\n select,\n isOpen,\n isSelected,\n isIndeterminate,\n isGroupActivator,\n root,\n parent,\n openOnSelect,\n id: uid,\n } = useNestedItem(id, () => props.disabled, false)\n const list = useList()\n const isActive = computed(() =>\n props.active !== false &&\n (props.active || link.isActive?.value || (root.activatable.value ? isActivated.value : isSelected.value))\n )\n const isLink = toRef(() => props.link !== false && link.isLink.value)\n const isSelectable = computed(() => (!!list && (root.selectable.value || root.activatable.value || props.value != null)))\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (props.link || link.isClickable.value || isSelectable.value)\n )\n const role = computed(() => list ? (isLink.value ? 'link' : isSelectable.value ? 'option' : 'listitem') : undefined)\n const ariaSelected = computed(() => {\n if (!isSelectable.value) return undefined\n return root.activatable.value ? isActivated.value\n : root.selectable.value ? isSelected.value\n : isActive.value\n })\n\n const roundedProps = toRef(() => props.rounded || props.nav)\n const color = toRef(() => props.color ?? props.activeColor)\n const variantProps = toRef(() => ({\n color: isActive.value ? color.value ?? props.baseColor : props.baseColor,\n variant: props.variant,\n }))\n\n // useNestedItem doesn't call register until beforeMount,\n // so this can't be an immediate watcher as we don't know parent yet\n watch(() => link.isActive?.value, val => {\n if (!val) return\n handleActiveLink()\n })\n onBeforeMount(() => {\n if (link.isActive?.value) handleActiveLink()\n })\n function handleActiveLink () {\n if (parent.value != null) {\n root.open(parent.value, true)\n }\n openOnSelect(true)\n }\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(roundedProps)\n const lineClasses = toRef(() => props.lines ? `v-list-item--${props.lines}-line` : undefined)\n const rippleOptions = toRef(() =>\n (\n props.ripple !== undefined &&\n !!props.ripple &&\n list?.filterable\n )\n ? { keys: ['Enter'] }\n : props.ripple\n )\n\n const slotProps = computed(() => ({\n isActive: isActive.value,\n select,\n isOpen: isOpen.value,\n isSelected: isSelected.value,\n isIndeterminate: isIndeterminate.value,\n } satisfies ListItemSlot))\n\n function onClick (e: MouseEvent) {\n emit('click', e)\n if (['INPUT', 'TEXTAREA'].includes((e.target as Element)?.tagName)) return\n\n if (!isClickable.value) return\n\n link.navigate?.(e)\n\n if (isGroupActivator) return\n\n if (root.activatable.value) {\n activate(!isActivated.value, e)\n } else if (root.selectable.value) {\n select(!isSelected.value, e)\n } else if (props.value != null && !isLink.value) {\n select(!isSelected.value, e)\n }\n }\n\n function onKeyDown (e: KeyboardEvent) {\n const target = e.target as HTMLElement\n\n if (['INPUT', 'TEXTAREA'].includes(target.tagName)) return\n\n if (e.key === 'Enter' || (e.key === ' ' && !list?.filterable)) {\n e.preventDefault()\n e.stopPropagation()\n e.target!.dispatchEvent(new MouseEvent('click', e))\n }\n }\n\n useRender(() => {\n const Tag = isLink.value ? 'a' : props.tag\n const hasTitle = (slots.title || props.title != null)\n const hasSubtitle = (slots.subtitle || props.subtitle != null)\n const hasAppendMedia = !!(props.appendAvatar || props.appendIcon)\n const hasAppend = !!(hasAppendMedia || slots.append)\n const hasPrependMedia = !!(props.prependAvatar || props.prependIcon)\n const hasPrepend = !!(hasPrependMedia || slots.prepend)\n\n list?.updateHasPrepend(hasPrepend)\n\n if (props.activeColor) {\n deprecate('active-color', ['color', 'base-color'])\n }\n\n return (\n <Tag\n { ...link.linkProps }\n class={[\n 'v-list-item',\n {\n 'v-list-item--active': isActive.value,\n 'v-list-item--disabled': props.disabled,\n 'v-list-item--link': isClickable.value,\n 'v-list-item--nav': props.nav,\n 'v-list-item--prepend': !hasPrepend && list?.hasPrepend.value,\n 'v-list-item--slim': props.slim,\n [`${props.activeClass}`]: props.activeClass && isActive.value,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n lineClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n props.style,\n ]}\n tabindex={ isClickable.value ? (list ? -2 : 0) : undefined }\n aria-selected={ ariaSelected.value }\n role={ role.value }\n onClick={ onClick }\n onKeydown={ isClickable.value && !isLink.value && onKeyDown }\n v-ripple={ isClickable.value && rippleOptions.value }\n >\n { genOverlays(isClickable.value || isActive.value, 'v-list-item') }\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-list-item__prepend\">\n { !slots.prepend ? (\n <>\n { props.prependAvatar && (\n <VAvatar\n key=\"prepend-avatar\"\n density={ props.density }\n image={ props.prependAvatar }\n />\n )}\n\n { props.prependIcon && (\n <VIcon\n key=\"prepend-icon\"\n density={ props.density }\n icon={ props.prependIcon }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !hasPrependMedia }\n defaults={{\n VAvatar: {\n density: props.density,\n image: props.prependAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.prependIcon,\n },\n VListItemAction: {\n start: true,\n },\n }}\n >\n { slots.prepend?.(slotProps.value) }\n </VDefaultsProvider>\n )}\n\n <div class=\"v-list-item__spacer\" />\n </div>\n )}\n\n <div class=\"v-list-item__content\" data-no-activator=\"\">\n { hasTitle && (\n <VListItemTitle key=\"title\">\n { slots.title?.({ title: props.title }) ?? toDisplayString(props.title) }\n </VListItemTitle>\n )}\n\n { hasSubtitle && (\n <VListItemSubtitle key=\"subtitle\">\n { slots.subtitle?.({ subtitle: props.subtitle }) ?? toDisplayString(props.subtitle) }\n </VListItemSubtitle>\n )}\n\n { slots.default?.(slotProps.value) }\n </div>\n\n { hasAppend && (\n <div key=\"append\" class=\"v-list-item__append\">\n { !slots.append ? (\n <>\n { props.appendIcon && (\n <VIcon\n key=\"append-icon\"\n density={ props.density }\n icon={ props.appendIcon }\n />\n )}\n\n { props.appendAvatar && (\n <VAvatar\n key=\"append-avatar\"\n density={ props.density }\n image={ props.appendAvatar }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !hasAppendMedia }\n defaults={{\n VAvatar: {\n density: props.density,\n image: props.appendAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.appendIcon,\n },\n VListItemAction: {\n end: true,\n },\n }}\n >\n { slots.append?.(slotProps.value) }\n </VDefaultsProvider>\n )}\n\n <div class=\"v-list-item__spacer\" />\n </div>\n )}\n </Tag>\n )\n })\n\n return {\n activate,\n isActivated,\n isGroupActivator,\n isSelected,\n list,\n select,\n root,\n id: uid,\n link,\n }\n },\n})\n\nexport type VListItem = InstanceType<typeof VListItem>\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { createElementVNode as _createElementVNode, createVNode as _createVNode, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle } from "vue";
1
+ import { createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createVNode as _createVNode } from "vue";
2
2
  // Styles
3
3
  import "./VTable.css";
4
4
 
@@ -8,7 +8,6 @@ import { makeDensityProps, useDensity } from "../../composables/density.js";
8
8
  import { makeTagProps } from "../../composables/tag.js";
9
9
  import { makeThemeProps, provideTheme } from "../../composables/theme.js"; // Utilities
10
10
  import { convertToUnit, genericComponent, propsFactory, useRender } from "../../util/index.js"; // Types
11
- import { VDefaultsProvider } from "../VDefaultsProvider/index.js";
12
11
  export const makeVTableProps = propsFactory({
13
12
  fixedHeader: Boolean,
14
13
  fixedFooter: Boolean,
@@ -38,37 +37,26 @@ export const VTable = genericComponent()({
38
37
  const {
39
38
  densityClasses
40
39
  } = useDensity(props);
41
- useRender(() => {
42
- const tableContentDefaults = {
43
- VCheckboxBtn: {
44
- density: props.density
40
+ useRender(() => _createVNode(props.tag, {
41
+ "class": _normalizeClass(['v-table', {
42
+ 'v-table--fixed-height': !!props.height,
43
+ 'v-table--fixed-header': props.fixedHeader,
44
+ 'v-table--fixed-footer': props.fixedFooter,
45
+ 'v-table--has-top': !!slots.top,
46
+ 'v-table--has-bottom': !!slots.bottom,
47
+ 'v-table--hover': props.hover,
48
+ 'v-table--striped-even': props.striped === 'even',
49
+ 'v-table--striped-odd': props.striped === 'odd'
50
+ }, themeClasses.value, densityClasses.value, props.class]),
51
+ "style": _normalizeStyle(props.style)
52
+ }, {
53
+ default: () => [slots.top?.(), slots.default ? _createElementVNode("div", {
54
+ "class": "v-table__wrapper",
55
+ "style": {
56
+ height: convertToUnit(props.height)
45
57
  }
46
- };
47
- return _createVNode(props.tag, {
48
- "class": _normalizeClass(['v-table', {
49
- 'v-table--fixed-height': !!props.height,
50
- 'v-table--fixed-header': props.fixedHeader,
51
- 'v-table--fixed-footer': props.fixedFooter,
52
- 'v-table--has-top': !!slots.top,
53
- 'v-table--has-bottom': !!slots.bottom,
54
- 'v-table--hover': props.hover,
55
- 'v-table--striped-even': props.striped === 'even',
56
- 'v-table--striped-odd': props.striped === 'odd'
57
- }, themeClasses.value, densityClasses.value, props.class]),
58
- "style": _normalizeStyle(props.style)
59
- }, {
60
- default: () => [slots.top?.(), _createVNode(VDefaultsProvider, {
61
- "defaults": tableContentDefaults
62
- }, {
63
- default: () => [slots.default ? _createElementVNode("div", {
64
- "class": "v-table__wrapper",
65
- "style": {
66
- height: convertToUnit(props.height)
67
- }
68
- }, [_createElementVNode("table", null, [slots.default()])]) : slots.wrapper?.()]
69
- }), slots.bottom?.()]
70
- });
71
- });
58
+ }, [_createElementVNode("table", null, [slots.default()])]) : slots.wrapper?.(), slots.bottom?.()]
59
+ }));
72
60
  return {};
73
61
  }
74
62
  });
@@ -1 +1 @@
1
- {"version":3,"file":"VTable.js","names":["makeComponentProps","makeDensityProps","useDensity","makeTagProps","makeThemeProps","provideTheme","convertToUnit","genericComponent","propsFactory","useRender","VDefaultsProvider","makeVTableProps","fixedHeader","Boolean","fixedFooter","height","Number","String","hover","striped","type","default","validator","v","includes","VTable","name","props","setup","_ref","slots","emit","themeClasses","densityClasses","tableContentDefaults","VCheckboxBtn","density","_createVNode","tag","_normalizeClass","top","bottom","value","class","_normalizeStyle","style","_createElementVNode","wrapper"],"sources":["../../../src/components/VTable/VTable.tsx"],"sourcesContent":["// Styles\nimport './VTable.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport { VDefaultsProvider } from '../VDefaultsProvider'\n\nexport type VTableSlots = {\n default: never\n top: never\n bottom: never\n wrapper: never\n}\n\nexport type Striped = null | 'odd' | 'even'\n\nexport const makeVTableProps = propsFactory({\n fixedHeader: Boolean,\n fixedFooter: Boolean,\n height: [Number, String],\n hover: Boolean,\n striped: {\n type: String as PropType<Striped>,\n default: null,\n validator: (v: any) => ['even', 'odd'].includes(v),\n },\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'VTable')\n\nexport const VTable = genericComponent<VTableSlots>()({\n name: 'VTable',\n\n props: makeVTableProps(),\n\n setup (props, { slots, emit }) {\n const { themeClasses } = provideTheme(props)\n const { densityClasses } = useDensity(props)\n\n useRender(() => {\n const tableContentDefaults = {\n VCheckboxBtn: {\n density: props.density,\n },\n }\n\n return (\n <props.tag\n class={[\n 'v-table',\n {\n 'v-table--fixed-height': !!props.height,\n 'v-table--fixed-header': props.fixedHeader,\n 'v-table--fixed-footer': props.fixedFooter,\n 'v-table--has-top': !!slots.top,\n 'v-table--has-bottom': !!slots.bottom,\n 'v-table--hover': props.hover,\n 'v-table--striped-even': props.striped === 'even',\n 'v-table--striped-odd': props.striped === 'odd',\n },\n themeClasses.value,\n densityClasses.value,\n props.class,\n ]}\n style={ props.style }\n >\n { slots.top?.() }\n <VDefaultsProvider defaults={ tableContentDefaults }>\n { slots.default ? (\n <div\n class=\"v-table__wrapper\"\n style={{ height: convertToUnit(props.height) }}\n >\n <table>\n { slots.default() }\n </table>\n </div>\n ) : slots.wrapper?.()}\n </VDefaultsProvider>\n\n { slots.bottom?.() }\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VTable = InstanceType<typeof VTable>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,YAAY;AAAA,SACZC,cAAc,EAAEC,YAAY,sCAErC;AAAA,SACSC,aAAa,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,+BAEjE;AAAA,SAESC,iBAAiB;AAW1B,OAAO,MAAMC,eAAe,GAAGH,YAAY,CAAC;EAC1CI,WAAW,EAAEC,OAAO;EACpBC,WAAW,EAAED,OAAO;EACpBE,MAAM,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAC;EACxBC,KAAK,EAAEL,OAAO;EACdM,OAAO,EAAE;IACPC,IAAI,EAAEH,MAA2B;IACjCI,OAAO,EAAE,IAAI;IACbC,SAAS,EAAGC,CAAM,IAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAACC,QAAQ,CAACD,CAAC;EACnD,CAAC;EAED,GAAGvB,kBAAkB,CAAC,CAAC;EACvB,GAAGC,gBAAgB,CAAC,CAAC;EACrB,GAAGE,YAAY,CAAC,CAAC;EACjB,GAAGC,cAAc,CAAC;AACpB,CAAC,EAAE,QAAQ,CAAC;AAEZ,OAAO,MAAMqB,MAAM,GAAGlB,gBAAgB,CAAc,CAAC,CAAC;EACpDmB,IAAI,EAAE,QAAQ;EAEdC,KAAK,EAAEhB,eAAe,CAAC,CAAC;EAExBiB,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAmB;IAAA,IAAjB;MAAEC,KAAK;MAAEC;IAAK,CAAC,GAAAF,IAAA;IAC3B,MAAM;MAAEG;IAAa,CAAC,GAAG3B,YAAY,CAACsB,KAAK,CAAC;IAC5C,MAAM;MAAEM;IAAe,CAAC,GAAG/B,UAAU,CAACyB,KAAK,CAAC;IAE5ClB,SAAS,CAAC,MAAM;MACd,MAAMyB,oBAAoB,GAAG;QAC3BC,YAAY,EAAE;UACZC,OAAO,EAAET,KAAK,CAACS;QACjB;MACF,CAAC;MAED,OAAAC,YAAA,CAAAV,KAAA,CAAAW,GAAA;QAAA,SAAAC,eAAA,CAEW,CACL,SAAS,EACT;UACE,uBAAuB,EAAE,CAAC,CAACZ,KAAK,CAACZ,MAAM;UACvC,uBAAuB,EAAEY,KAAK,CAACf,WAAW;UAC1C,uBAAuB,EAAEe,KAAK,CAACb,WAAW;UAC1C,kBAAkB,EAAE,CAAC,CAACgB,KAAK,CAACU,GAAG;UAC/B,qBAAqB,EAAE,CAAC,CAACV,KAAK,CAACW,MAAM;UACrC,gBAAgB,EAAEd,KAAK,CAACT,KAAK;UAC7B,uBAAuB,EAAES,KAAK,CAACR,OAAO,KAAK,MAAM;UACjD,sBAAsB,EAAEQ,KAAK,CAACR,OAAO,KAAK;QAC5C,CAAC,EACDa,YAAY,CAACU,KAAK,EAClBT,cAAc,CAACS,KAAK,EACpBf,KAAK,CAACgB,KAAK,CACZ;QAAA,SAAAC,eAAA,CACOjB,KAAK,CAACkB,KAAK;MAAA;QAAAxB,OAAA,EAAAA,CAAA,MAEjBS,KAAK,CAACU,GAAG,GAAG,CAAC,EAAAH,YAAA,CAAA3B,iBAAA;UAAA,YACewB;QAAoB;UAAAb,OAAA,EAAAA,CAAA,MAC9CS,KAAK,CAACT,OAAO,GAAAyB,mBAAA;YAAA;YAAA,SAGJ;cAAE/B,MAAM,EAAET,aAAa,CAACqB,KAAK,CAACZ,MAAM;YAAE;UAAC,IAAA+B,mBAAA,iBAG1ChB,KAAK,CAACT,OAAO,CAAC,CAAC,OAGnBS,KAAK,CAACiB,OAAO,GAAG,CAAC;QAAA,IAGrBjB,KAAK,CAACW,MAAM,GAAG,CAAC;MAAA;IAGxB,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"VTable.js","names":["makeComponentProps","makeDensityProps","useDensity","makeTagProps","makeThemeProps","provideTheme","convertToUnit","genericComponent","propsFactory","useRender","makeVTableProps","fixedHeader","Boolean","fixedFooter","height","Number","String","hover","striped","type","default","validator","v","includes","VTable","name","props","setup","_ref","slots","emit","themeClasses","densityClasses","_createVNode","tag","_normalizeClass","top","bottom","value","class","_normalizeStyle","style","_createElementVNode","wrapper"],"sources":["../../../src/components/VTable/VTable.tsx"],"sourcesContent":["// Styles\nimport './VTable.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type VTableSlots = {\n default: never\n top: never\n bottom: never\n wrapper: never\n}\n\nexport type Striped = null | 'odd' | 'even'\n\nexport const makeVTableProps = propsFactory({\n fixedHeader: Boolean,\n fixedFooter: Boolean,\n height: [Number, String],\n hover: Boolean,\n striped: {\n type: String as PropType<Striped>,\n default: null,\n validator: (v: any) => ['even', 'odd'].includes(v),\n },\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'VTable')\n\nexport const VTable = genericComponent<VTableSlots>()({\n name: 'VTable',\n\n props: makeVTableProps(),\n\n setup (props, { slots, emit }) {\n const { themeClasses } = provideTheme(props)\n const { densityClasses } = useDensity(props)\n\n useRender(() => (\n <props.tag\n class={[\n 'v-table',\n {\n 'v-table--fixed-height': !!props.height,\n 'v-table--fixed-header': props.fixedHeader,\n 'v-table--fixed-footer': props.fixedFooter,\n 'v-table--has-top': !!slots.top,\n 'v-table--has-bottom': !!slots.bottom,\n 'v-table--hover': props.hover,\n 'v-table--striped-even': props.striped === 'even',\n 'v-table--striped-odd': props.striped === 'odd',\n },\n themeClasses.value,\n densityClasses.value,\n props.class,\n ]}\n style={ props.style }\n >\n { slots.top?.() }\n\n { slots.default ? (\n <div\n class=\"v-table__wrapper\"\n style={{ height: convertToUnit(props.height) }}\n >\n <table>\n { slots.default() }\n </table>\n </div>\n ) : slots.wrapper?.()}\n\n { slots.bottom?.() }\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VTable = InstanceType<typeof VTable>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,YAAY;AAAA,SACZC,cAAc,EAAEC,YAAY,sCAErC;AAAA,SACSC,aAAa,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,+BAEjE;AAYA,OAAO,MAAMC,eAAe,GAAGF,YAAY,CAAC;EAC1CG,WAAW,EAAEC,OAAO;EACpBC,WAAW,EAAED,OAAO;EACpBE,MAAM,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAC;EACxBC,KAAK,EAAEL,OAAO;EACdM,OAAO,EAAE;IACPC,IAAI,EAAEH,MAA2B;IACjCI,OAAO,EAAE,IAAI;IACbC,SAAS,EAAGC,CAAM,IAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAACC,QAAQ,CAACD,CAAC;EACnD,CAAC;EAED,GAAGtB,kBAAkB,CAAC,CAAC;EACvB,GAAGC,gBAAgB,CAAC,CAAC;EACrB,GAAGE,YAAY,CAAC,CAAC;EACjB,GAAGC,cAAc,CAAC;AACpB,CAAC,EAAE,QAAQ,CAAC;AAEZ,OAAO,MAAMoB,MAAM,GAAGjB,gBAAgB,CAAc,CAAC,CAAC;EACpDkB,IAAI,EAAE,QAAQ;EAEdC,KAAK,EAAEhB,eAAe,CAAC,CAAC;EAExBiB,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAmB;IAAA,IAAjB;MAAEC,KAAK;MAAEC;IAAK,CAAC,GAAAF,IAAA;IAC3B,MAAM;MAAEG;IAAa,CAAC,GAAG1B,YAAY,CAACqB,KAAK,CAAC;IAC5C,MAAM;MAAEM;IAAe,CAAC,GAAG9B,UAAU,CAACwB,KAAK,CAAC;IAE5CjB,SAAS,CAAC,MAAAwB,YAAA,CAAAP,KAAA,CAAAQ,GAAA;MAAA,SAAAC,eAAA,CAEC,CACL,SAAS,EACT;QACE,uBAAuB,EAAE,CAAC,CAACT,KAAK,CAACZ,MAAM;QACvC,uBAAuB,EAAEY,KAAK,CAACf,WAAW;QAC1C,uBAAuB,EAAEe,KAAK,CAACb,WAAW;QAC1C,kBAAkB,EAAE,CAAC,CAACgB,KAAK,CAACO,GAAG;QAC/B,qBAAqB,EAAE,CAAC,CAACP,KAAK,CAACQ,MAAM;QACrC,gBAAgB,EAAEX,KAAK,CAACT,KAAK;QAC7B,uBAAuB,EAAES,KAAK,CAACR,OAAO,KAAK,MAAM;QACjD,sBAAsB,EAAEQ,KAAK,CAACR,OAAO,KAAK;MAC5C,CAAC,EACDa,YAAY,CAACO,KAAK,EAClBN,cAAc,CAACM,KAAK,EACpBZ,KAAK,CAACa,KAAK,CACZ;MAAA,SAAAC,eAAA,CACOd,KAAK,CAACe,KAAK;IAAA;MAAArB,OAAA,EAAAA,CAAA,MAEjBS,KAAK,CAACO,GAAG,GAAG,CAAC,EAEbP,KAAK,CAACT,OAAO,GAAAsB,mBAAA;QAAA;QAAA,SAGJ;UAAE5B,MAAM,EAAER,aAAa,CAACoB,KAAK,CAACZ,MAAM;QAAE;MAAC,IAAA4B,mBAAA,iBAG1Cb,KAAK,CAACT,OAAO,CAAC,CAAC,OAGnBS,KAAK,CAACc,OAAO,GAAG,CAAC,EAEnBd,KAAK,CAACQ,MAAM,GAAG,CAAC;IAAA,EAErB,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
@@ -16,7 +16,7 @@ export const createVuetify = function () {
16
16
  ...options
17
17
  });
18
18
  };
19
- export const version = "3.10.4";
19
+ export const version = "3.10.5";
20
20
  createVuetify.version = version;
21
21
  export { blueprints, components, directives };
22
22
  export * from "./composables/index.js";