@vuetify/nightly 3.7.18-master.2025-03-19 → 3.7.18-master.2025-03-21

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.
@@ -109,22 +109,37 @@ export const VDataTableRow = genericComponent()({
109
109
  "width": !mobile.value ? column.width : undefined
110
110
  }, cellProps, columnCellProps), {
111
111
  default: () => {
112
- if (slots[slotName] && !mobile.value) return slots[slotName]?.(slotProps);
113
112
  if (column.key === 'data-table-select') {
114
- return slots['item.data-table-select']?.(slotProps) ?? _createVNode(VCheckboxBtn, {
113
+ return slots['item.data-table-select']?.({
114
+ ...slotProps,
115
+ props: {
116
+ disabled: !item.selectable,
117
+ modelValue: isSelected([item]),
118
+ onClick: withModifiers(() => toggleSelect(item), ['stop'])
119
+ }
120
+ }) ?? _createVNode(VCheckboxBtn, {
115
121
  "disabled": !item.selectable,
116
122
  "modelValue": isSelected([item]),
117
123
  "onClick": withModifiers(() => toggleSelect(item), ['stop'])
118
124
  }, null);
119
125
  }
120
126
  if (column.key === 'data-table-expand') {
121
- return slots['item.data-table-expand']?.(slotProps) ?? _createVNode(VBtn, {
127
+ return slots['item.data-table-expand']?.({
128
+ ...slotProps,
129
+ props: {
130
+ icon: isExpanded(item) ? '$collapse' : '$expand',
131
+ size: 'small',
132
+ variant: 'text',
133
+ onClick: withModifiers(() => toggleExpand(item), ['stop'])
134
+ }
135
+ }) ?? _createVNode(VBtn, {
122
136
  "icon": isExpanded(item) ? '$collapse' : '$expand',
123
137
  "size": "small",
124
138
  "variant": "text",
125
139
  "onClick": withModifiers(() => toggleExpand(item), ['stop'])
126
140
  }, null);
127
141
  }
142
+ if (slots[slotName] && !mobile.value) return slots[slotName](slotProps);
128
143
  const displayValue = toDisplayString(slotProps.value);
129
144
  return !mobile.value ? displayValue : _createVNode(_Fragment, null, [_createVNode("div", {
130
145
  "class": "v-data-table__td-title"
@@ -1 +1 @@
1
- {"version":3,"file":"VDataTableRow.mjs","names":["VDataTableColumn","VBtn","VCheckboxBtn","useExpanded","useHeaders","useSelection","useSort","makeDisplayProps","useDisplay","toDisplayString","withModifiers","EventProp","genericComponent","getObjectValueByPath","propsFactory","useRender","makeVDataTableRowProps","index","Number","item","Object","cellProps","Function","onClick","onContextmenu","onDblclick","VDataTableRow","name","props","setup","_ref","slots","displayClasses","mobile","isSelected","toggleSelect","someSelected","allSelected","selectAll","isExpanded","toggleExpand","toggleSort","sortBy","isSorted","columns","_createVNode","value","map","column","i","slotName","key","headerSlotName","slotProps","raw","internalItem","columnSlotProps","getSortIcon","columnCellProps","_mergeProps","align","fixed","fixedOffset","lastFixed","maxWidth","undefined","nowrap","width","default","selectable","displayValue","_Fragment","title"],"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'\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 VDataTableRowSlots<T> = {\n 'item.data-table-select': Omit<ItemKeySlot<T>, 'value'>\n 'item.data-table-expand': Omit<ItemKeySlot<T>, 'value'>\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 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 return (\n <VDataTableColumn\n align={ column.align }\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 lastFixed={ column.lastFixed }\n maxWidth={ !mobile.value ? column.maxWidth : undefined }\n noPadding={ column.key === 'data-table-select' || column.key === 'data-table-expand' }\n nowrap={ column.nowrap }\n width={ !mobile.value ? column.width : undefined }\n { ...cellProps }\n { ...columnCellProps }\n >\n {{\n default: () => {\n if (slots[slotName] && !mobile.value) return slots[slotName]?.(slotProps)\n\n if (column.key === 'data-table-select') {\n return slots['item.data-table-select']?.(slotProps) ?? (\n <VCheckboxBtn\n disabled={ !item.selectable }\n modelValue={ isSelected([item]) }\n onClick={ withModifiers(() => toggleSelect(item), ['stop']) }\n />\n )\n }\n\n if (column.key === 'data-table-expand') {\n return slots['item.data-table-expand']?.(slotProps) ?? (\n <VBtn\n icon={ isExpanded(item) ? '$collapse' : '$expand' }\n size=\"small\"\n variant=\"text\"\n onClick={ withModifiers(() => toggleExpand(item), ['stop']) }\n />\n )\n }\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.mjs","names":["VDataTableColumn","VBtn","VCheckboxBtn","useExpanded","useHeaders","useSelection","useSort","makeDisplayProps","useDisplay","toDisplayString","withModifiers","EventProp","genericComponent","getObjectValueByPath","propsFactory","useRender","makeVDataTableRowProps","index","Number","item","Object","cellProps","Function","onClick","onContextmenu","onDblclick","VDataTableRow","name","props","setup","_ref","slots","displayClasses","mobile","isSelected","toggleSelect","someSelected","allSelected","selectAll","isExpanded","toggleExpand","toggleSort","sortBy","isSorted","columns","_createVNode","value","map","column","i","slotName","key","headerSlotName","slotProps","raw","internalItem","columnSlotProps","getSortIcon","columnCellProps","_mergeProps","align","fixed","fixedOffset","lastFixed","maxWidth","undefined","nowrap","width","default","disabled","selectable","modelValue","icon","size","variant","displayValue","_Fragment","title"],"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'\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 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 return (\n <VDataTableColumn\n align={ column.align }\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 lastFixed={ column.lastFixed }\n maxWidth={ !mobile.value ? column.maxWidth : undefined }\n noPadding={ column.key === 'data-table-select' || column.key === 'data-table-expand' }\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(() => toggleSelect(item), ['stop']) }\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) ? '$collapse' : '$expand',\n size: 'small',\n variant: 'text',\n onClick: withModifiers(() => toggleExpand(item), ['stop']),\n },\n }) ?? (\n <VBtn\n icon={ isExpanded(item) ? '$collapse' : '$expand' }\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,5 +1,5 @@
1
1
  import * as vue from 'vue';
2
- import { VNodeChild, VNode, ComponentPropsOptions, ExtractPropTypes, PropType, ComponentPublicInstance, FunctionalComponent, Ref, UnwrapRef, DeepReadonly } from 'vue';
2
+ import { VNodeChild, VNode, ComponentPropsOptions, ExtractPropTypes, PropType, ComponentPublicInstance, Ref, FunctionalComponent, UnwrapRef, DeepReadonly } from 'vue';
3
3
 
4
4
  type ClassValue = any;
5
5
 
@@ -51,12 +51,6 @@ declare const breakpoints: readonly ["sm", "md", "lg", "xl", "xxl"];
51
51
  type Breakpoint = typeof breakpoints[number];
52
52
  type DisplayBreakpoint = 'xs' | Breakpoint;
53
53
 
54
- type JSXComponent<Props = any> = {
55
- new (): ComponentPublicInstance<Props>;
56
- } | FunctionalComponent<Props>;
57
- type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
58
- declare const IconValue: PropType<IconValue>;
59
-
60
54
  type ExpandProps = {
61
55
  expandOnClick: boolean;
62
56
  expanded: readonly string[];
@@ -128,6 +122,37 @@ declare function provideGroupBy(options: {
128
122
  isGroupOpen: (group: Group) => boolean;
129
123
  };
130
124
 
125
+ interface DataTableItemProps {
126
+ items: any[];
127
+ itemValue: SelectItemKey;
128
+ itemSelectable: SelectItemKey;
129
+ returnObject: boolean;
130
+ }
131
+
132
+ interface SelectableItem {
133
+ value: any;
134
+ selectable: boolean;
135
+ }
136
+ type SelectionProps = Pick<DataTableItemProps, 'itemValue'> & {
137
+ modelValue: readonly any[];
138
+ selectStrategy: 'single' | 'page' | 'all';
139
+ valueComparator: typeof deepEqual;
140
+ 'onUpdate:modelValue': EventProp<[any[]]> | undefined;
141
+ };
142
+ declare function provideSelection(props: SelectionProps, { allItems, currentPage }: {
143
+ allItems: Ref<SelectableItem[]>;
144
+ currentPage: Ref<SelectableItem[]>;
145
+ }): {
146
+ toggleSelect: (item: SelectableItem) => void;
147
+ select: (items: SelectableItem[], value: boolean) => void;
148
+ selectAll: (value: boolean) => void;
149
+ isSelected: (items: SelectableItem | SelectableItem[]) => boolean;
150
+ isSomeSelected: (items: SelectableItem | SelectableItem[]) => boolean;
151
+ someSelected: vue.ComputedRef<boolean>;
152
+ allSelected: vue.ComputedRef<boolean>;
153
+ showSelectAll: vue.ComputedRef<boolean>;
154
+ };
155
+
131
156
  type DataTableCompareFunction<T = any> = (a: T, b: T) => number | null;
132
157
  type DataTableHeader<T = Record<string, any>> = {
133
158
  key?: 'data-table-group' | 'data-table-select' | 'data-table-expand' | (string & {});
@@ -196,36 +221,11 @@ type RowProps<T> = Record<string, any> | ((data: Pick<ItemKeySlot<T>, 'index' |
196
221
  type CellProps<T> = Record<string, any> | ((data: Pick<ItemKeySlot<T>, 'index' | 'item' | 'internalItem' | 'value' | 'column'>) => Record<string, any>);
197
222
  type HeaderCellProps = Record<string, any> | ((data: Pick<ItemKeySlot<any>, 'index' | 'item' | 'internalItem' | 'value'>) => Record<string, any>);
198
223
 
199
- interface DataTableItemProps {
200
- items: any[];
201
- itemValue: SelectItemKey;
202
- itemSelectable: SelectItemKey;
203
- returnObject: boolean;
204
- }
205
-
206
- interface SelectableItem {
207
- value: any;
208
- selectable: boolean;
209
- }
210
- type SelectionProps = Pick<DataTableItemProps, 'itemValue'> & {
211
- modelValue: readonly any[];
212
- selectStrategy: 'single' | 'page' | 'all';
213
- valueComparator: typeof deepEqual;
214
- 'onUpdate:modelValue': EventProp<[any[]]> | undefined;
215
- };
216
- declare function provideSelection(props: SelectionProps, { allItems, currentPage }: {
217
- allItems: Ref<SelectableItem[]>;
218
- currentPage: Ref<SelectableItem[]>;
219
- }): {
220
- toggleSelect: (item: SelectableItem) => void;
221
- select: (items: SelectableItem[], value: boolean) => void;
222
- selectAll: (value: boolean) => void;
223
- isSelected: (items: SelectableItem | SelectableItem[]) => boolean;
224
- isSomeSelected: (items: SelectableItem | SelectableItem[]) => boolean;
225
- someSelected: vue.ComputedRef<boolean>;
226
- allSelected: vue.ComputedRef<boolean>;
227
- showSelectAll: vue.ComputedRef<boolean>;
228
- };
224
+ type JSXComponent<Props = any> = {
225
+ new (): ComponentPublicInstance<Props>;
226
+ } | FunctionalComponent<Props>;
227
+ type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
228
+ declare const IconValue: PropType<IconValue>;
229
229
 
230
230
  type HeadersSlotProps = {
231
231
  headers: InternalDataTableHeader[][];
@@ -489,39 +489,12 @@ declare const VDataTableHeaders: {
489
489
  }>>;
490
490
  type VDataTableHeaders = InstanceType<typeof VDataTableHeaders>;
491
491
 
492
- type Density = null | 'default' | 'comfortable' | 'compact';
493
-
494
- declare function providePagination(options: {
495
- page: Ref<number>;
496
- itemsPerPage: Ref<number>;
497
- itemsLength: Ref<number>;
498
- }): {
499
- page: Ref<number>;
500
- itemsPerPage: Ref<number>;
501
- startIndex: vue.ComputedRef<number>;
502
- stopIndex: vue.ComputedRef<number>;
503
- pageCount: vue.ComputedRef<number>;
504
- itemsLength: Ref<number>;
505
- nextPage: () => void;
506
- prevPage: () => void;
507
- setPage: (value: number) => void;
508
- setItemsPerPage: (value: number) => void;
492
+ type VDataTableItemCellColumnSlotProps<T> = Omit<ItemKeySlot<T>, 'value'> & {
493
+ props: Record<string, unknown>;
509
494
  };
510
-
511
- type VDataTableGroupHeaderRowSlots = {
512
- 'data-table-group': {
513
- item: Group;
514
- count: number;
515
- props: Record<string, unknown>;
516
- };
517
- 'data-table-select': {
518
- props: Record<string, unknown>;
519
- };
520
- };
521
-
522
495
  type VDataTableRowSlots<T> = {
523
- 'item.data-table-select': Omit<ItemKeySlot<T>, 'value'>;
524
- 'item.data-table-expand': Omit<ItemKeySlot<T>, 'value'>;
496
+ 'item.data-table-select': VDataTableItemCellColumnSlotProps<T>;
497
+ 'item.data-table-expand': VDataTableItemCellColumnSlotProps<T>;
525
498
  'header.data-table-select': VDataTableHeaderCellColumnSlotProps;
526
499
  'header.data-table-expand': VDataTableHeaderCellColumnSlotProps;
527
500
  } & {
@@ -550,8 +523,8 @@ declare const VDataTableRow: {
550
523
  }, true, {}, vue.SlotsType<Partial<{
551
524
  [x: `item.${string}`]: (arg: ItemKeySlot<unknown>) => vue.VNode[];
552
525
  [x: `header.${string}`]: (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
553
- 'item.data-table-select': (arg: Omit<ItemKeySlot<unknown>, "value">) => vue.VNode[];
554
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<unknown>, "value">) => vue.VNode[];
526
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<unknown>) => vue.VNode[];
527
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<unknown>) => vue.VNode[];
555
528
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
556
529
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
557
530
  }>>, {
@@ -588,8 +561,8 @@ declare const VDataTableRow: {
588
561
  }, {}, string, vue.SlotsType<Partial<{
589
562
  [x: `item.${string}`]: (arg: ItemKeySlot<unknown>) => vue.VNode[];
590
563
  [x: `header.${string}`]: (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
591
- 'item.data-table-select': (arg: Omit<ItemKeySlot<unknown>, "value">) => vue.VNode[];
592
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<unknown>, "value">) => vue.VNode[];
564
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<unknown>) => vue.VNode[];
565
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<unknown>) => vue.VNode[];
593
566
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
594
567
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
595
568
  }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new <T>(props: {
@@ -622,6 +595,36 @@ declare const VDataTableRow: {
622
595
  }>>;
623
596
  type VDataTableRow = InstanceType<typeof VDataTableRow>;
624
597
 
598
+ type Density = null | 'default' | 'comfortable' | 'compact';
599
+
600
+ declare function providePagination(options: {
601
+ page: Ref<number>;
602
+ itemsPerPage: Ref<number>;
603
+ itemsLength: Ref<number>;
604
+ }): {
605
+ page: Ref<number>;
606
+ itemsPerPage: Ref<number>;
607
+ startIndex: vue.ComputedRef<number>;
608
+ stopIndex: vue.ComputedRef<number>;
609
+ pageCount: vue.ComputedRef<number>;
610
+ itemsLength: Ref<number>;
611
+ nextPage: () => void;
612
+ prevPage: () => void;
613
+ setPage: (value: number) => void;
614
+ setItemsPerPage: (value: number) => void;
615
+ };
616
+
617
+ type VDataTableGroupHeaderRowSlots = {
618
+ 'data-table-group': {
619
+ item: Group;
620
+ count: number;
621
+ props: Record<string, unknown>;
622
+ };
623
+ 'data-table-select': {
624
+ props: Record<string, unknown>;
625
+ };
626
+ };
627
+
625
628
  type VDataTableRowsSlots<T> = VDataTableGroupHeaderRowSlots & VDataTableRowSlots<T> & {
626
629
  item: ItemSlot<T> & {
627
630
  props: Record<string, any>;
@@ -668,8 +671,8 @@ declare const VDataTableRows: {
668
671
  'data-table-select': (arg: {
669
672
  props: Record<string, unknown>;
670
673
  }) => vue.VNode[];
671
- 'item.data-table-select': (arg: Omit<ItemKeySlot<unknown>, "value">) => vue.VNode[];
672
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<unknown>, "value">) => vue.VNode[];
674
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<unknown>) => vue.VNode[];
675
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<unknown>) => vue.VNode[];
673
676
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
674
677
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
675
678
  item: (arg: {
@@ -741,8 +744,8 @@ declare const VDataTableRows: {
741
744
  'data-table-select': (arg: {
742
745
  props: Record<string, unknown>;
743
746
  }) => vue.VNode[];
744
- 'item.data-table-select': (arg: Omit<ItemKeySlot<unknown>, "value">) => vue.VNode[];
745
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<unknown>, "value">) => vue.VNode[];
747
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<unknown>) => vue.VNode[];
748
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<unknown>) => vue.VNode[];
746
749
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
747
750
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
748
751
  item: (arg: {
@@ -1057,8 +1060,8 @@ declare const VDataTable: {
1057
1060
  'data-table-select': (arg: {
1058
1061
  props: Record<string, unknown>;
1059
1062
  }) => vue.VNode[];
1060
- 'item.data-table-select': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
1061
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
1063
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
1064
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
1062
1065
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
1063
1066
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
1064
1067
  item: (arg: {
@@ -1358,8 +1361,8 @@ declare const VDataTable: {
1358
1361
  'data-table-select': (arg: {
1359
1362
  props: Record<string, unknown>;
1360
1363
  }) => vue.VNode[];
1361
- 'item.data-table-select': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
1362
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
1364
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
1365
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
1363
1366
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
1364
1367
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
1365
1368
  item: (arg: {
@@ -2260,8 +2263,8 @@ declare const VDataTableVirtual: {
2260
2263
  'data-table-select': (arg: {
2261
2264
  props: Record<string, unknown>;
2262
2265
  }) => vue.VNode[];
2263
- 'item.data-table-select': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
2264
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
2266
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
2267
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
2265
2268
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
2266
2269
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
2267
2270
  item: (arg: {
@@ -2570,8 +2573,8 @@ declare const VDataTableVirtual: {
2570
2573
  'data-table-select': (arg: {
2571
2574
  props: Record<string, unknown>;
2572
2575
  }) => vue.VNode[];
2573
- 'item.data-table-select': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
2574
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
2576
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
2577
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
2575
2578
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
2576
2579
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
2577
2580
  item: (arg: {
@@ -3118,8 +3121,8 @@ declare const VDataTableServer: {
3118
3121
  'data-table-select': (arg: {
3119
3122
  props: Record<string, unknown>;
3120
3123
  }) => vue.VNode[];
3121
- 'item.data-table-select': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
3122
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
3124
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
3125
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
3123
3126
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
3124
3127
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
3125
3128
  item: (arg: {
@@ -3490,8 +3493,8 @@ declare const VDataTableServer: {
3490
3493
  'data-table-select': (arg: {
3491
3494
  props: Record<string, unknown>;
3492
3495
  }) => vue.VNode[];
3493
- 'item.data-table-select': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
3494
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
3496
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
3497
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
3495
3498
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
3496
3499
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
3497
3500
  item: (arg: {
@@ -24136,20 +24136,12 @@ declare const VDataTableHeaders: {
24136
24136
  }>>;
24137
24137
  type VDataTableHeaders = InstanceType<typeof VDataTableHeaders>;
24138
24138
 
24139
- type VDataTableGroupHeaderRowSlots = {
24140
- 'data-table-group': {
24141
- item: Group;
24142
- count: number;
24143
- props: Record<string, unknown>;
24144
- };
24145
- 'data-table-select': {
24146
- props: Record<string, unknown>;
24147
- };
24139
+ type VDataTableItemCellColumnSlotProps<T> = Omit<ItemKeySlot<T>, 'value'> & {
24140
+ props: Record<string, unknown>;
24148
24141
  };
24149
-
24150
24142
  type VDataTableRowSlots<T> = {
24151
- 'item.data-table-select': Omit<ItemKeySlot<T>, 'value'>;
24152
- 'item.data-table-expand': Omit<ItemKeySlot<T>, 'value'>;
24143
+ 'item.data-table-select': VDataTableItemCellColumnSlotProps<T>;
24144
+ 'item.data-table-expand': VDataTableItemCellColumnSlotProps<T>;
24153
24145
  'header.data-table-select': VDataTableHeaderCellColumnSlotProps;
24154
24146
  'header.data-table-expand': VDataTableHeaderCellColumnSlotProps;
24155
24147
  } & {
@@ -24178,8 +24170,8 @@ declare const VDataTableRow: {
24178
24170
  }, true, {}, vue.SlotsType<Partial<{
24179
24171
  [x: `item.${string}`]: (arg: ItemKeySlot<unknown>) => vue.VNode[];
24180
24172
  [x: `header.${string}`]: (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
24181
- 'item.data-table-select': (arg: Omit<ItemKeySlot<unknown>, "value">) => vue.VNode[];
24182
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<unknown>, "value">) => vue.VNode[];
24173
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<unknown>) => vue.VNode[];
24174
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<unknown>) => vue.VNode[];
24183
24175
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
24184
24176
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
24185
24177
  }>>, {
@@ -24216,8 +24208,8 @@ declare const VDataTableRow: {
24216
24208
  }, {}, string, vue.SlotsType<Partial<{
24217
24209
  [x: `item.${string}`]: (arg: ItemKeySlot<unknown>) => vue.VNode[];
24218
24210
  [x: `header.${string}`]: (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
24219
- 'item.data-table-select': (arg: Omit<ItemKeySlot<unknown>, "value">) => vue.VNode[];
24220
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<unknown>, "value">) => vue.VNode[];
24211
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<unknown>) => vue.VNode[];
24212
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<unknown>) => vue.VNode[];
24221
24213
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
24222
24214
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
24223
24215
  }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new <T>(props: {
@@ -24250,6 +24242,17 @@ declare const VDataTableRow: {
24250
24242
  }>>;
24251
24243
  type VDataTableRow = InstanceType<typeof VDataTableRow>;
24252
24244
 
24245
+ type VDataTableGroupHeaderRowSlots = {
24246
+ 'data-table-group': {
24247
+ item: Group;
24248
+ count: number;
24249
+ props: Record<string, unknown>;
24250
+ };
24251
+ 'data-table-select': {
24252
+ props: Record<string, unknown>;
24253
+ };
24254
+ };
24255
+
24253
24256
  type VDataTableRowsSlots<T> = VDataTableGroupHeaderRowSlots & VDataTableRowSlots<T> & {
24254
24257
  item: ItemSlot$1<T> & {
24255
24258
  props: Record<string, any>;
@@ -24296,8 +24299,8 @@ declare const VDataTableRows: {
24296
24299
  'data-table-select': (arg: {
24297
24300
  props: Record<string, unknown>;
24298
24301
  }) => vue.VNode[];
24299
- 'item.data-table-select': (arg: Omit<ItemKeySlot<unknown>, "value">) => vue.VNode[];
24300
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<unknown>, "value">) => vue.VNode[];
24302
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<unknown>) => vue.VNode[];
24303
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<unknown>) => vue.VNode[];
24301
24304
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
24302
24305
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
24303
24306
  item: (arg: {
@@ -24369,8 +24372,8 @@ declare const VDataTableRows: {
24369
24372
  'data-table-select': (arg: {
24370
24373
  props: Record<string, unknown>;
24371
24374
  }) => vue.VNode[];
24372
- 'item.data-table-select': (arg: Omit<ItemKeySlot<unknown>, "value">) => vue.VNode[];
24373
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<unknown>, "value">) => vue.VNode[];
24375
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<unknown>) => vue.VNode[];
24376
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<unknown>) => vue.VNode[];
24374
24377
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
24375
24378
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
24376
24379
  item: (arg: {
@@ -24685,8 +24688,8 @@ declare const VDataTable: {
24685
24688
  'data-table-select': (arg: {
24686
24689
  props: Record<string, unknown>;
24687
24690
  }) => vue.VNode[];
24688
- 'item.data-table-select': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
24689
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
24691
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
24692
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
24690
24693
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
24691
24694
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
24692
24695
  item: (arg: {
@@ -24986,8 +24989,8 @@ declare const VDataTable: {
24986
24989
  'data-table-select': (arg: {
24987
24990
  props: Record<string, unknown>;
24988
24991
  }) => vue.VNode[];
24989
- 'item.data-table-select': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
24990
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
24992
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
24993
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
24991
24994
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
24992
24995
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
24993
24996
  item: (arg: {
@@ -25888,8 +25891,8 @@ declare const VDataTableVirtual: {
25888
25891
  'data-table-select': (arg: {
25889
25892
  props: Record<string, unknown>;
25890
25893
  }) => vue.VNode[];
25891
- 'item.data-table-select': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
25892
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
25894
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
25895
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
25893
25896
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
25894
25897
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
25895
25898
  item: (arg: {
@@ -26198,8 +26201,8 @@ declare const VDataTableVirtual: {
26198
26201
  'data-table-select': (arg: {
26199
26202
  props: Record<string, unknown>;
26200
26203
  }) => vue.VNode[];
26201
- 'item.data-table-select': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
26202
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
26204
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
26205
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
26203
26206
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
26204
26207
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
26205
26208
  item: (arg: {
@@ -26746,8 +26749,8 @@ declare const VDataTableServer: {
26746
26749
  'data-table-select': (arg: {
26747
26750
  props: Record<string, unknown>;
26748
26751
  }) => vue.VNode[];
26749
- 'item.data-table-select': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
26750
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
26752
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
26753
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
26751
26754
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
26752
26755
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
26753
26756
  item: (arg: {
@@ -27118,8 +27121,8 @@ declare const VDataTableServer: {
27118
27121
  'data-table-select': (arg: {
27119
27122
  props: Record<string, unknown>;
27120
27123
  }) => vue.VNode[];
27121
- 'item.data-table-select': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
27122
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
27124
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
27125
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
27123
27126
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
27124
27127
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
27125
27128
  item: (arg: {
@@ -16,7 +16,7 @@ export const createVuetify = function () {
16
16
  ...options
17
17
  });
18
18
  };
19
- export const version = "3.7.18-master.2025-03-19";
19
+ export const version = "3.7.18-master.2025-03-21";
20
20
  createVuetify.version = version;
21
21
  export { blueprints, components, directives };
22
22
  export * from "./composables/index.mjs";
package/lib/framework.mjs CHANGED
@@ -97,7 +97,7 @@ export function createVuetify() {
97
97
  goTo
98
98
  };
99
99
  }
100
- export const version = "3.7.18-master.2025-03-19";
100
+ export const version = "3.7.18-master.2025-03-21";
101
101
  createVuetify.version = version;
102
102
 
103
103
  // Vue's inject() can only be used in setup