vuetify 3.7.7 → 3.7.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/json/attributes.json +3561 -3557
- package/dist/json/importMap-labs.json +12 -12
- package/dist/json/importMap.json +122 -122
- package/dist/json/tags.json +1 -0
- package/dist/json/web-types.json +6485 -6584
- package/dist/vuetify-labs.css +4511 -4493
- package/dist/vuetify-labs.d.ts +909 -1131
- package/dist/vuetify-labs.esm.js +80 -58
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +80 -58
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +3507 -3495
- package/dist/vuetify.d.ts +146 -154
- package/dist/vuetify.esm.js +73 -52
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +73 -52
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +43 -46
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs +1 -0
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
- package/lib/components/VDataIterator/index.d.mts +0 -1
- package/lib/components/VDataTable/VDataTable.css +2 -2
- package/lib/components/VDataTable/VDataTable.mjs +3 -1
- package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTable.sass +2 -2
- package/lib/components/VDataTable/VDataTableHeaders.mjs +6 -4
- package/lib/components/VDataTable/VDataTableHeaders.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableServer.mjs +5 -5
- package/lib/components/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableVirtual.mjs +5 -5
- package/lib/components/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/components/VDataTable/composables/group.mjs +1 -1
- package/lib/components/VDataTable/composables/group.mjs.map +1 -1
- package/lib/components/VDataTable/composables/paginate.mjs +2 -0
- package/lib/components/VDataTable/composables/paginate.mjs.map +1 -1
- package/lib/components/VDataTable/index.d.mts +38 -46
- package/lib/components/VDataTable/types.mjs.map +1 -1
- package/lib/components/VFab/VFab.css +5 -1
- package/lib/components/VFab/VFab.mjs +1 -2
- package/lib/components/VFab/VFab.mjs.map +1 -1
- package/lib/components/VFab/VFab.sass +5 -1
- package/lib/components/VField/VField.css +9 -1
- package/lib/components/VField/VField.mjs +6 -13
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/VField.sass +10 -2
- package/lib/components/VImg/VImg.mjs +2 -2
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VInput/InputIcon.mjs +10 -2
- package/lib/components/VInput/InputIcon.mjs.map +1 -1
- package/lib/components/VInput/VInput.mjs +4 -2
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VMenu/VMenu.mjs +1 -1
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMessages/VMessages.mjs +1 -3
- package/lib/components/VMessages/VMessages.mjs.map +1 -1
- package/lib/components/VPagination/VPagination.mjs +1 -1
- package/lib/components/VPagination/VPagination.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.mjs +1 -1
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSlider/slider.mjs +2 -2
- package/lib/components/VSlider/slider.mjs.map +1 -1
- package/lib/components/VStepper/VStepperItem.mjs.map +1 -1
- package/lib/components/VStepper/index.d.mts +66 -66
- package/lib/components/index.d.mts +104 -112
- package/lib/composables/calendar.mjs +4 -1
- package/lib/composables/calendar.mjs.map +1 -1
- package/lib/composables/display.mjs +14 -5
- package/lib/composables/display.mjs.map +1 -1
- package/lib/composables/router.mjs +2 -2
- package/lib/composables/router.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +42 -42
- package/lib/labs/VStepperVertical/VStepperVertical.mjs.map +1 -1
- package/lib/labs/VStepperVertical/VStepperVerticalItem.mjs +1 -2
- package/lib/labs/VStepperVertical/VStepperVerticalItem.mjs.map +1 -1
- package/lib/labs/VStepperVertical/index.d.mts +585 -774
- package/lib/labs/VTimePicker/VTimePicker.mjs +1 -1
- package/lib/labs/VTimePicker/VTimePicker.mjs.map +1 -1
- package/lib/labs/VTreeview/VTreeviewChildren.mjs +3 -1
- package/lib/labs/VTreeview/VTreeviewChildren.mjs.map +1 -1
- package/lib/labs/VTreeview/VTreeviewItem.css +6 -0
- package/lib/labs/VTreeview/VTreeviewItem.mjs +2 -2
- package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
- package/lib/labs/VTreeview/VTreeviewItem.sass +6 -0
- package/lib/labs/VTreeview/_variables.scss +1 -0
- package/lib/labs/components.d.mts +567 -781
- package/lib/util/helpers.mjs +3 -0
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"group.mjs","names":["useProxiedModel","computed","inject","provide","ref","getObjectValueByPath","propsFactory","makeDataTableGroupProps","groupBy","type","Array","default","VDataTableGroupSymbol","Symbol","for","createGroupBy","props","provideGroupBy","options","disableSort","sortBy","opened","Set","sortByWithGroups","value","map","val","order","concat","isGroupOpen","group","has","id","toggleGroup","newOpened","add","delete","extractRows","items","dive","arr","item","push","key","depth","data","useGroupBy","Error","groupItemsByProperty","length","groups","Map","raw","set","get","groupItems","arguments","undefined","prefix","groupedItems","rest","slice","forEach","flattenItems","flatItems","useGroupedItems"],"sources":["../../../../src/components/VDataTable/composables/group.ts"],"sourcesContent":["// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, inject, provide, ref } from 'vue'\nimport { getObjectValueByPath, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType, Ref } from 'vue'\nimport type { SortItem } from './sort'\nimport type { DataTableItem } from '../types'\n\nexport interface GroupableItem<T = any> {\n type: 'item'\n raw: T\n}\n\nexport interface Group<T = any> {\n type: 'group'\n depth: number\n id: string\n key: string\n value: any\n items: readonly (T | Group<T>)[]\n}\n\nexport const makeDataTableGroupProps = propsFactory({\n groupBy: {\n type: Array as PropType<readonly SortItem[]>,\n default: () => ([]),\n },\n}, 'DataTable-group')\n\nconst VDataTableGroupSymbol: InjectionKey<{\n opened: Ref<Set<string>>\n toggleGroup: (group: Group) => void\n isGroupOpen: (group: Group) => boolean\n sortByWithGroups: Ref<SortItem[]>\n groupBy: Ref<readonly SortItem[]>\n extractRows: (items: (DataTableItem | Group<DataTableItem>)[]) => DataTableItem[]\n}> = Symbol.for('vuetify:data-table-group')\n\ntype GroupProps = {\n groupBy: readonly SortItem[]\n 'onUpdate:groupBy': ((value: SortItem[]) => void) | undefined\n}\n\nexport function createGroupBy (props: GroupProps) {\n const groupBy = useProxiedModel(props, 'groupBy')\n\n return { groupBy }\n}\n\nexport function provideGroupBy (options: {\n groupBy: Ref<readonly SortItem[]>\n sortBy: Ref<readonly SortItem[]>\n disableSort?: Ref<boolean>\n}) {\n const { disableSort, groupBy, sortBy } = options\n const opened = ref(new Set<string>())\n\n const sortByWithGroups = computed(() => {\n return groupBy.value.map<SortItem>(val => ({\n ...val,\n order: val.order ?? false,\n })).concat(disableSort?.value ? [] : sortBy.value)\n })\n\n function isGroupOpen (group: Group) {\n return opened.value.has(group.id)\n }\n\n function toggleGroup (group: Group) {\n const newOpened = new Set(opened.value)\n if (!isGroupOpen(group)) newOpened.add(group.id)\n else newOpened.delete(group.id)\n\n opened.value = newOpened\n }\n\n function extractRows <T extends GroupableItem> (items: readonly (T | Group<T>)[]) {\n function dive (group: Group<T>): T[] {\n const arr = []\n\n for (const item of group.items) {\n if ('type' in item && item.type === 'group') {\n arr.push(...dive(item))\n } else {\n arr.push(item as T)\n }\n }\n\n return arr\n }\n return dive({ type: 'group', items, id: 'dummy', key: 'dummy', value: 'dummy', depth: 0 })\n }\n\n // onBeforeMount(() => {\n // for (const key of groupedItems.value.keys()) {\n // opened.value.add(key)\n // }\n // })\n\n const data = { sortByWithGroups, toggleGroup, opened, groupBy, extractRows, isGroupOpen }\n\n provide(VDataTableGroupSymbol, data)\n\n return data\n}\n\nexport function useGroupBy () {\n const data = inject(VDataTableGroupSymbol)\n\n if (!data) throw new Error('Missing group!')\n\n return data\n}\n\nfunction groupItemsByProperty <T extends GroupableItem> (items: readonly T[], groupBy: string) {\n if (!items.length) return []\n\n const groups = new Map<any, T[]>()\n for (const item of items) {\n const value = getObjectValueByPath(item.raw, groupBy)\n\n if (!groups.has(value)) {\n groups.set(value, [])\n }\n groups.get(value)!.push(item)\n }\n\n return groups\n}\n\nfunction groupItems <T extends GroupableItem> (items: readonly T[], groupBy: readonly string[], depth = 0, prefix = 'root') {\n if (!groupBy.length) return []\n\n const groupedItems = groupItemsByProperty(items, groupBy[0])\n const groups: Group<T>[] = []\n\n const rest = groupBy.slice(1)\n groupedItems.forEach((items, value) => {\n const key = groupBy[0]\n const id = `${prefix}_${key}_${value}`\n groups.push({\n depth,\n id,\n key,\n value,\n items: rest.length ? groupItems(items, rest, depth + 1, id) : items,\n type: 'group',\n })\n })\n\n return groups\n}\n\nfunction flattenItems <T extends GroupableItem> (items: readonly (T | Group<T>)[], opened: Set<string>): readonly (T | Group<T>)[] {\n const flatItems: (T | Group<T>)[] = []\n\n for (const item of items) {\n // TODO: make this better\n if ('type' in item && item.type === 'group') {\n if (item.value != null) {\n flatItems.push(item)\n }\n\n if (opened.has(item.id) || item.value == null) {\n flatItems.push(...flattenItems(item.items, opened))\n }\n } else {\n flatItems.push(item)\n }\n }\n\n return flatItems\n}\n\nexport function useGroupedItems <T extends GroupableItem> (\n items: Ref<T[]>,\n groupBy: Ref<readonly SortItem[]>,\n opened: Ref<Set<string>>\n) {\n const flatItems = computed(() => {\n if (!groupBy.value.length) return items.value\n\n const groupedItems = groupItems(items.value, groupBy.value.map(item => item.key))\n\n return flattenItems(groupedItems, opened.value)\n })\n\n return { flatItems }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"group.mjs","names":["useProxiedModel","computed","inject","provide","ref","getObjectValueByPath","propsFactory","makeDataTableGroupProps","groupBy","type","Array","default","VDataTableGroupSymbol","Symbol","for","createGroupBy","props","provideGroupBy","options","disableSort","sortBy","opened","Set","sortByWithGroups","value","map","val","order","concat","isGroupOpen","group","has","id","toggleGroup","newOpened","add","delete","extractRows","items","dive","arr","item","push","key","depth","data","useGroupBy","Error","groupItemsByProperty","length","groups","Map","raw","set","get","groupItems","arguments","undefined","prefix","groupedItems","rest","slice","forEach","flattenItems","flatItems","useGroupedItems"],"sources":["../../../../src/components/VDataTable/composables/group.ts"],"sourcesContent":["// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, inject, provide, ref } from 'vue'\nimport { getObjectValueByPath, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType, Ref } from 'vue'\nimport type { SortItem } from './sort'\nimport type { DataTableItem } from '../types'\n\nexport interface GroupableItem<T = any> {\n type: 'item'\n raw: T\n}\n\nexport interface Group<T = any> {\n type: 'group'\n depth: number\n id: string\n key: string\n value: any\n items: readonly (T | Group<T>)[]\n}\n\nexport const makeDataTableGroupProps = propsFactory({\n groupBy: {\n type: Array as PropType<readonly SortItem[]>,\n default: () => ([]),\n },\n}, 'DataTable-group')\n\nconst VDataTableGroupSymbol: InjectionKey<{\n opened: Ref<Set<string>>\n toggleGroup: (group: Group) => void\n isGroupOpen: (group: Group) => boolean\n sortByWithGroups: Ref<SortItem[]>\n groupBy: Ref<readonly SortItem[]>\n extractRows: (items: (DataTableItem | Group<DataTableItem>)[]) => DataTableItem[]\n}> = Symbol.for('vuetify:data-table-group')\n\ntype GroupProps = {\n groupBy: readonly SortItem[]\n 'onUpdate:groupBy': ((value: SortItem[]) => void) | undefined\n}\n\nexport function createGroupBy (props: GroupProps) {\n const groupBy = useProxiedModel(props, 'groupBy')\n\n return { groupBy }\n}\n\nexport function provideGroupBy (options: {\n groupBy: Ref<readonly SortItem[]>\n sortBy: Ref<readonly SortItem[]>\n disableSort?: Ref<boolean>\n}) {\n const { disableSort, groupBy, sortBy } = options\n const opened = ref(new Set<string>())\n\n const sortByWithGroups = computed(() => {\n return groupBy.value.map<SortItem>(val => ({\n ...val,\n order: val.order ?? false,\n })).concat(disableSort?.value ? [] : sortBy.value)\n })\n\n function isGroupOpen (group: Group) {\n return opened.value.has(group.id)\n }\n\n function toggleGroup (group: Group) {\n const newOpened = new Set(opened.value)\n if (!isGroupOpen(group)) newOpened.add(group.id)\n else newOpened.delete(group.id)\n\n opened.value = newOpened\n }\n\n function extractRows <T extends GroupableItem> (items: readonly (T | Group<T>)[]) {\n function dive (group: Group<T>): T[] {\n const arr = []\n\n for (const item of group.items) {\n if ('type' in item && item.type === 'group') {\n arr.push(...dive(item))\n } else {\n arr.push(item as T)\n }\n }\n\n return [...new Set(arr)]\n }\n return dive({ type: 'group', items, id: 'dummy', key: 'dummy', value: 'dummy', depth: 0 })\n }\n\n // onBeforeMount(() => {\n // for (const key of groupedItems.value.keys()) {\n // opened.value.add(key)\n // }\n // })\n\n const data = { sortByWithGroups, toggleGroup, opened, groupBy, extractRows, isGroupOpen }\n\n provide(VDataTableGroupSymbol, data)\n\n return data\n}\n\nexport function useGroupBy () {\n const data = inject(VDataTableGroupSymbol)\n\n if (!data) throw new Error('Missing group!')\n\n return data\n}\n\nfunction groupItemsByProperty <T extends GroupableItem> (items: readonly T[], groupBy: string) {\n if (!items.length) return []\n\n const groups = new Map<any, T[]>()\n for (const item of items) {\n const value = getObjectValueByPath(item.raw, groupBy)\n\n if (!groups.has(value)) {\n groups.set(value, [])\n }\n groups.get(value)!.push(item)\n }\n\n return groups\n}\n\nfunction groupItems <T extends GroupableItem> (items: readonly T[], groupBy: readonly string[], depth = 0, prefix = 'root') {\n if (!groupBy.length) return []\n\n const groupedItems = groupItemsByProperty(items, groupBy[0])\n const groups: Group<T>[] = []\n\n const rest = groupBy.slice(1)\n groupedItems.forEach((items, value) => {\n const key = groupBy[0]\n const id = `${prefix}_${key}_${value}`\n groups.push({\n depth,\n id,\n key,\n value,\n items: rest.length ? groupItems(items, rest, depth + 1, id) : items,\n type: 'group',\n })\n })\n\n return groups\n}\n\nfunction flattenItems <T extends GroupableItem> (items: readonly (T | Group<T>)[], opened: Set<string>): readonly (T | Group<T>)[] {\n const flatItems: (T | Group<T>)[] = []\n\n for (const item of items) {\n // TODO: make this better\n if ('type' in item && item.type === 'group') {\n if (item.value != null) {\n flatItems.push(item)\n }\n\n if (opened.has(item.id) || item.value == null) {\n flatItems.push(...flattenItems(item.items, opened))\n }\n } else {\n flatItems.push(item)\n }\n }\n\n return flatItems\n}\n\nexport function useGroupedItems <T extends GroupableItem> (\n items: Ref<T[]>,\n groupBy: Ref<readonly SortItem[]>,\n opened: Ref<Set<string>>\n) {\n const flatItems = computed(() => {\n if (!groupBy.value.length) return items.value\n\n const groupedItems = groupItems(items.value, groupBy.value.map(item => item.key))\n\n return flattenItems(groupedItems, opened.value)\n })\n\n return { flatItems }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paginate.mjs","names":["useProxiedModel","computed","inject","provide","watch","clamp","getCurrentInstance","propsFactory","makeDataTablePaginateProps","page","type","Number","String","default","itemsPerPage","VDataTablePaginationSymbol","Symbol","for","createPagination","props","undefined","value","providePagination","options","itemsLength","startIndex","stopIndex","Math","min","pageCount","ceil","setItemsPerPage","nextPage","prevPage","setPage","data","usePagination","Error","usePaginatedItems","vm","items","paginatedItems","slice","val","emit"],"sources":["../../../../src/components/VDataTable/composables/paginate.ts"],"sourcesContent":["// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, inject, provide, watch } from 'vue'\nimport { clamp, getCurrentInstance, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, Ref } from 'vue'\nimport type { Group } from './group'\nimport type { EventProp } from '@/util'\n\nexport const makeDataTablePaginateProps = propsFactory({\n page: {\n type: [Number, String],\n default: 1,\n },\n itemsPerPage: {\n type: [Number, String],\n default: 10,\n },\n}, 'DataTable-paginate')\n\nconst VDataTablePaginationSymbol: InjectionKey<{\n page: Ref<number>\n itemsPerPage: Ref<number>\n startIndex: Ref<number>\n stopIndex: Ref<number>\n pageCount: Ref<number>\n itemsLength: Ref<number>\n prevPage: () => void\n nextPage: () => void\n setPage: (value: number) => void\n setItemsPerPage: (value: number) => void\n}> = Symbol.for('vuetify:data-table-pagination')\n\ntype PaginationProps = {\n page: number | string\n 'onUpdate:page': EventProp | undefined\n itemsPerPage: number | string\n 'onUpdate:itemsPerPage': EventProp | undefined\n itemsLength?: number | string\n}\n\nexport function createPagination (props: PaginationProps) {\n const page = useProxiedModel(props, 'page', undefined, value => +(value ?? 1))\n const itemsPerPage = useProxiedModel(props, 'itemsPerPage', undefined, value => +(value ?? 10))\n\n return { page, itemsPerPage }\n}\n\nexport function providePagination (options: {\n page: Ref<number>\n itemsPerPage: Ref<number>\n itemsLength: Ref<number>\n}) {\n const { page, itemsPerPage, itemsLength } = options\n\n const startIndex = computed(() => {\n if (itemsPerPage.value === -1) return 0\n\n return itemsPerPage.value * (page.value - 1)\n })\n const stopIndex = computed(() => {\n if (itemsPerPage.value === -1) return itemsLength.value\n\n return Math.min(itemsLength.value, startIndex.value + itemsPerPage.value)\n })\n\n const pageCount = computed(() => {\n if (itemsPerPage.value === -1 || itemsLength.value === 0) return 1\n\n return Math.ceil(itemsLength.value / itemsPerPage.value)\n })\n\n // Don't run immediately, items may not have been loaded yet: #17966\n watch([page, pageCount], () => {\n if (page.value > pageCount.value) {\n page.value = pageCount.value\n }\n })\n\n function setItemsPerPage (value: number) {\n itemsPerPage.value = value\n page.value = 1\n }\n\n function nextPage () {\n page.value = clamp(page.value + 1, 1, pageCount.value)\n }\n\n function prevPage () {\n page.value = clamp(page.value - 1, 1, pageCount.value)\n }\n\n function setPage (value: number) {\n page.value = clamp(value, 1, pageCount.value)\n }\n\n const data = { page, itemsPerPage, startIndex, stopIndex, pageCount, itemsLength, nextPage, prevPage, setPage, setItemsPerPage }\n\n provide(VDataTablePaginationSymbol, data)\n\n return data\n}\n\nexport function usePagination () {\n const data = inject(VDataTablePaginationSymbol)\n\n if (!data) throw new Error('Missing pagination!')\n\n return data\n}\n\nexport function usePaginatedItems <T> (options: {\n items: Ref<readonly (T | Group<T>)[]>\n startIndex: Ref<number>\n stopIndex: Ref<number>\n itemsPerPage: Ref<number>\n}) {\n const vm = getCurrentInstance('usePaginatedItems')\n\n const { items, startIndex, stopIndex, itemsPerPage } = options\n const paginatedItems = computed(() => {\n if (itemsPerPage.value <= 0) return items.value\n\n return items.value.slice(startIndex.value, stopIndex.value)\n })\n\n watch(paginatedItems, val => {\n vm.emit('update:currentItems', val)\n })\n\n return { paginatedItems }\n}\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"paginate.mjs","names":["useProxiedModel","computed","inject","provide","watch","clamp","getCurrentInstance","propsFactory","makeDataTablePaginateProps","page","type","Number","String","default","itemsPerPage","VDataTablePaginationSymbol","Symbol","for","createPagination","props","undefined","value","providePagination","options","itemsLength","startIndex","stopIndex","Math","min","pageCount","ceil","setItemsPerPage","nextPage","prevPage","setPage","data","usePagination","Error","usePaginatedItems","vm","items","paginatedItems","slice","val","emit","immediate"],"sources":["../../../../src/components/VDataTable/composables/paginate.ts"],"sourcesContent":["// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, inject, provide, watch } from 'vue'\nimport { clamp, getCurrentInstance, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, Ref } from 'vue'\nimport type { Group } from './group'\nimport type { EventProp } from '@/util'\n\nexport const makeDataTablePaginateProps = propsFactory({\n page: {\n type: [Number, String],\n default: 1,\n },\n itemsPerPage: {\n type: [Number, String],\n default: 10,\n },\n}, 'DataTable-paginate')\n\nconst VDataTablePaginationSymbol: InjectionKey<{\n page: Ref<number>\n itemsPerPage: Ref<number>\n startIndex: Ref<number>\n stopIndex: Ref<number>\n pageCount: Ref<number>\n itemsLength: Ref<number>\n prevPage: () => void\n nextPage: () => void\n setPage: (value: number) => void\n setItemsPerPage: (value: number) => void\n}> = Symbol.for('vuetify:data-table-pagination')\n\ntype PaginationProps = {\n page: number | string\n 'onUpdate:page': EventProp | undefined\n itemsPerPage: number | string\n 'onUpdate:itemsPerPage': EventProp | undefined\n itemsLength?: number | string\n}\n\nexport function createPagination (props: PaginationProps) {\n const page = useProxiedModel(props, 'page', undefined, value => +(value ?? 1))\n const itemsPerPage = useProxiedModel(props, 'itemsPerPage', undefined, value => +(value ?? 10))\n\n return { page, itemsPerPage }\n}\n\nexport function providePagination (options: {\n page: Ref<number>\n itemsPerPage: Ref<number>\n itemsLength: Ref<number>\n}) {\n const { page, itemsPerPage, itemsLength } = options\n\n const startIndex = computed(() => {\n if (itemsPerPage.value === -1) return 0\n\n return itemsPerPage.value * (page.value - 1)\n })\n const stopIndex = computed(() => {\n if (itemsPerPage.value === -1) return itemsLength.value\n\n return Math.min(itemsLength.value, startIndex.value + itemsPerPage.value)\n })\n\n const pageCount = computed(() => {\n if (itemsPerPage.value === -1 || itemsLength.value === 0) return 1\n\n return Math.ceil(itemsLength.value / itemsPerPage.value)\n })\n\n // Don't run immediately, items may not have been loaded yet: #17966\n watch([page, pageCount], () => {\n if (page.value > pageCount.value) {\n page.value = pageCount.value\n }\n })\n\n function setItemsPerPage (value: number) {\n itemsPerPage.value = value\n page.value = 1\n }\n\n function nextPage () {\n page.value = clamp(page.value + 1, 1, pageCount.value)\n }\n\n function prevPage () {\n page.value = clamp(page.value - 1, 1, pageCount.value)\n }\n\n function setPage (value: number) {\n page.value = clamp(value, 1, pageCount.value)\n }\n\n const data = { page, itemsPerPage, startIndex, stopIndex, pageCount, itemsLength, nextPage, prevPage, setPage, setItemsPerPage }\n\n provide(VDataTablePaginationSymbol, data)\n\n return data\n}\n\nexport function usePagination () {\n const data = inject(VDataTablePaginationSymbol)\n\n if (!data) throw new Error('Missing pagination!')\n\n return data\n}\n\nexport function usePaginatedItems <T> (options: {\n items: Ref<readonly (T | Group<T>)[]>\n startIndex: Ref<number>\n stopIndex: Ref<number>\n itemsPerPage: Ref<number>\n}) {\n const vm = getCurrentInstance('usePaginatedItems')\n\n const { items, startIndex, stopIndex, itemsPerPage } = options\n const paginatedItems = computed(() => {\n if (itemsPerPage.value <= 0) return items.value\n\n return items.value.slice(startIndex.value, stopIndex.value)\n })\n\n watch(paginatedItems, val => {\n vm.emit('update:currentItems', val)\n }, { immediate: true })\n\n return { paginatedItems }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -145,7 +145,6 @@ type DataTableHeader<T = Record<string, any>> = {
|
|
|
145
145
|
sort?: DataTableCompareFunction;
|
|
146
146
|
sortRaw?: DataTableCompareFunction;
|
|
147
147
|
filter?: FilterFunction;
|
|
148
|
-
mobile?: boolean;
|
|
149
148
|
children?: DataTableHeader<T>[];
|
|
150
149
|
};
|
|
151
150
|
type InternalDataTableHeader = Omit<DataTableHeader, 'key' | 'value' | 'children'> & {
|
|
@@ -263,6 +262,7 @@ declare const VDataTableHeaders: {
|
|
|
263
262
|
sticky: boolean;
|
|
264
263
|
multiSort: boolean;
|
|
265
264
|
disableSort: boolean;
|
|
265
|
+
fixedHeader: boolean;
|
|
266
266
|
sortAscIcon: IconValue;
|
|
267
267
|
sortDescIcon: IconValue;
|
|
268
268
|
} & {
|
|
@@ -296,6 +296,7 @@ declare const VDataTableHeaders: {
|
|
|
296
296
|
sticky: boolean;
|
|
297
297
|
multiSort: boolean;
|
|
298
298
|
disableSort: boolean;
|
|
299
|
+
fixedHeader: boolean;
|
|
299
300
|
sortAscIcon: IconValue;
|
|
300
301
|
sortDescIcon: IconValue;
|
|
301
302
|
} & {
|
|
@@ -329,6 +330,7 @@ declare const VDataTableHeaders: {
|
|
|
329
330
|
sticky: boolean;
|
|
330
331
|
multiSort: boolean;
|
|
331
332
|
disableSort: boolean;
|
|
333
|
+
fixedHeader: boolean;
|
|
332
334
|
sortAscIcon: IconValue;
|
|
333
335
|
sortDescIcon: IconValue;
|
|
334
336
|
}, true, {}, vue.SlotsType<Partial<{
|
|
@@ -349,6 +351,7 @@ declare const VDataTableHeaders: {
|
|
|
349
351
|
sticky: boolean;
|
|
350
352
|
multiSort: boolean;
|
|
351
353
|
disableSort: boolean;
|
|
354
|
+
fixedHeader: boolean;
|
|
352
355
|
sortAscIcon: IconValue;
|
|
353
356
|
sortDescIcon: IconValue;
|
|
354
357
|
} & {
|
|
@@ -382,6 +385,7 @@ declare const VDataTableHeaders: {
|
|
|
382
385
|
sticky: boolean;
|
|
383
386
|
multiSort: boolean;
|
|
384
387
|
disableSort: boolean;
|
|
388
|
+
fixedHeader: boolean;
|
|
385
389
|
sortAscIcon: IconValue;
|
|
386
390
|
sortDescIcon: IconValue;
|
|
387
391
|
}>;
|
|
@@ -393,6 +397,7 @@ declare const VDataTableHeaders: {
|
|
|
393
397
|
sticky: boolean;
|
|
394
398
|
multiSort: boolean;
|
|
395
399
|
disableSort: boolean;
|
|
400
|
+
fixedHeader: boolean;
|
|
396
401
|
sortAscIcon: IconValue;
|
|
397
402
|
sortDescIcon: IconValue;
|
|
398
403
|
} & {
|
|
@@ -426,6 +431,7 @@ declare const VDataTableHeaders: {
|
|
|
426
431
|
sticky: boolean;
|
|
427
432
|
multiSort: boolean;
|
|
428
433
|
disableSort: boolean;
|
|
434
|
+
fixedHeader: boolean;
|
|
429
435
|
sortAscIcon: IconValue;
|
|
430
436
|
sortDescIcon: IconValue;
|
|
431
437
|
}, {}, string, vue.SlotsType<Partial<{
|
|
@@ -442,8 +448,8 @@ declare const VDataTableHeaders: {
|
|
|
442
448
|
};
|
|
443
449
|
mobileBreakpoint: PropType<number | DisplayBreakpoint>;
|
|
444
450
|
color: StringConstructor;
|
|
445
|
-
sticky: BooleanConstructor;
|
|
446
451
|
disableSort: BooleanConstructor;
|
|
452
|
+
fixedHeader: BooleanConstructor;
|
|
447
453
|
multiSort: BooleanConstructor;
|
|
448
454
|
sortAscIcon: {
|
|
449
455
|
type: PropType<IconValue>;
|
|
@@ -456,6 +462,7 @@ declare const VDataTableHeaders: {
|
|
|
456
462
|
headerProps: {
|
|
457
463
|
type: PropType<Record<string, any>>;
|
|
458
464
|
};
|
|
465
|
+
sticky: BooleanConstructor;
|
|
459
466
|
}, vue.ExtractPropTypes<{
|
|
460
467
|
loading: (StringConstructor | BooleanConstructor)[];
|
|
461
468
|
mobile: {
|
|
@@ -464,8 +471,8 @@ declare const VDataTableHeaders: {
|
|
|
464
471
|
};
|
|
465
472
|
mobileBreakpoint: PropType<number | DisplayBreakpoint>;
|
|
466
473
|
color: StringConstructor;
|
|
467
|
-
sticky: BooleanConstructor;
|
|
468
474
|
disableSort: BooleanConstructor;
|
|
475
|
+
fixedHeader: BooleanConstructor;
|
|
469
476
|
multiSort: BooleanConstructor;
|
|
470
477
|
sortAscIcon: {
|
|
471
478
|
type: PropType<IconValue>;
|
|
@@ -478,6 +485,7 @@ declare const VDataTableHeaders: {
|
|
|
478
485
|
headerProps: {
|
|
479
486
|
type: PropType<Record<string, any>>;
|
|
480
487
|
};
|
|
488
|
+
sticky: BooleanConstructor;
|
|
481
489
|
}>>;
|
|
482
490
|
type VDataTableHeaders = InstanceType<typeof VDataTableHeaders>;
|
|
483
491
|
|
|
@@ -882,9 +890,9 @@ declare const VDataTable: {
|
|
|
882
890
|
value: number;
|
|
883
891
|
})[];
|
|
884
892
|
showCurrentPage: boolean;
|
|
893
|
+
fixedHeader: boolean;
|
|
885
894
|
sortAscIcon: IconValue;
|
|
886
895
|
sortDescIcon: IconValue;
|
|
887
|
-
fixedHeader: boolean;
|
|
888
896
|
fixedFooter: boolean;
|
|
889
897
|
hideDefaultBody: boolean;
|
|
890
898
|
hideDefaultFooter: boolean;
|
|
@@ -961,9 +969,9 @@ declare const VDataTable: {
|
|
|
961
969
|
value: number;
|
|
962
970
|
})[];
|
|
963
971
|
showCurrentPage: boolean;
|
|
972
|
+
fixedHeader: boolean;
|
|
964
973
|
sortAscIcon: IconValue;
|
|
965
974
|
sortDescIcon: IconValue;
|
|
966
|
-
fixedHeader: boolean;
|
|
967
975
|
fixedFooter: boolean;
|
|
968
976
|
hideDefaultBody: boolean;
|
|
969
977
|
hideDefaultFooter: boolean;
|
|
@@ -1031,9 +1039,9 @@ declare const VDataTable: {
|
|
|
1031
1039
|
value: number;
|
|
1032
1040
|
})[];
|
|
1033
1041
|
showCurrentPage: boolean;
|
|
1042
|
+
fixedHeader: boolean;
|
|
1034
1043
|
sortAscIcon: IconValue;
|
|
1035
1044
|
sortDescIcon: IconValue;
|
|
1036
|
-
fixedHeader: boolean;
|
|
1037
1045
|
fixedFooter: boolean;
|
|
1038
1046
|
hideDefaultBody: boolean;
|
|
1039
1047
|
hideDefaultFooter: boolean;
|
|
@@ -1131,9 +1139,9 @@ declare const VDataTable: {
|
|
|
1131
1139
|
value: number;
|
|
1132
1140
|
})[];
|
|
1133
1141
|
showCurrentPage: boolean;
|
|
1142
|
+
fixedHeader: boolean;
|
|
1134
1143
|
sortAscIcon: IconValue;
|
|
1135
1144
|
sortDescIcon: IconValue;
|
|
1136
|
-
fixedHeader: boolean;
|
|
1137
1145
|
fixedFooter: boolean;
|
|
1138
1146
|
hideDefaultBody: boolean;
|
|
1139
1147
|
hideDefaultFooter: boolean;
|
|
@@ -1201,9 +1209,9 @@ declare const VDataTable: {
|
|
|
1201
1209
|
value: number;
|
|
1202
1210
|
})[];
|
|
1203
1211
|
showCurrentPage: boolean;
|
|
1212
|
+
fixedHeader: boolean;
|
|
1204
1213
|
sortAscIcon: IconValue;
|
|
1205
1214
|
sortDescIcon: IconValue;
|
|
1206
|
-
fixedHeader: boolean;
|
|
1207
1215
|
fixedFooter: boolean;
|
|
1208
1216
|
hideDefaultBody: boolean;
|
|
1209
1217
|
hideDefaultFooter: boolean;
|
|
@@ -1253,9 +1261,9 @@ declare const VDataTable: {
|
|
|
1253
1261
|
value: number;
|
|
1254
1262
|
})[];
|
|
1255
1263
|
showCurrentPage: boolean;
|
|
1264
|
+
fixedHeader: boolean;
|
|
1256
1265
|
sortAscIcon: IconValue;
|
|
1257
1266
|
sortDescIcon: IconValue;
|
|
1258
|
-
fixedHeader: boolean;
|
|
1259
1267
|
fixedFooter: boolean;
|
|
1260
1268
|
hideDefaultBody: boolean;
|
|
1261
1269
|
hideDefaultFooter: boolean;
|
|
@@ -1332,9 +1340,9 @@ declare const VDataTable: {
|
|
|
1332
1340
|
value: number;
|
|
1333
1341
|
})[];
|
|
1334
1342
|
showCurrentPage: boolean;
|
|
1343
|
+
fixedHeader: boolean;
|
|
1335
1344
|
sortAscIcon: IconValue;
|
|
1336
1345
|
sortDescIcon: IconValue;
|
|
1337
|
-
fixedHeader: boolean;
|
|
1338
1346
|
fixedFooter: boolean;
|
|
1339
1347
|
hideDefaultBody: boolean;
|
|
1340
1348
|
hideDefaultFooter: boolean;
|
|
@@ -1479,7 +1487,6 @@ declare const VDataTable: {
|
|
|
1479
1487
|
};
|
|
1480
1488
|
mobileBreakpoint: vue.PropType<number | DisplayBreakpoint>;
|
|
1481
1489
|
color: StringConstructor;
|
|
1482
|
-
sticky: BooleanConstructor;
|
|
1483
1490
|
disableSort: BooleanConstructor;
|
|
1484
1491
|
multiSort: BooleanConstructor;
|
|
1485
1492
|
sortAscIcon: {
|
|
@@ -1493,6 +1500,7 @@ declare const VDataTable: {
|
|
|
1493
1500
|
headerProps: {
|
|
1494
1501
|
type: vue.PropType<Record<string, any>>;
|
|
1495
1502
|
};
|
|
1503
|
+
sticky: BooleanConstructor;
|
|
1496
1504
|
sortBy: {
|
|
1497
1505
|
type: vue.PropType<readonly SortItem[]>;
|
|
1498
1506
|
default: () => never[];
|
|
@@ -1646,7 +1654,6 @@ declare const VDataTable: {
|
|
|
1646
1654
|
};
|
|
1647
1655
|
mobileBreakpoint: vue.PropType<number | DisplayBreakpoint>;
|
|
1648
1656
|
color: StringConstructor;
|
|
1649
|
-
sticky: BooleanConstructor;
|
|
1650
1657
|
disableSort: BooleanConstructor;
|
|
1651
1658
|
multiSort: BooleanConstructor;
|
|
1652
1659
|
sortAscIcon: {
|
|
@@ -1660,6 +1667,7 @@ declare const VDataTable: {
|
|
|
1660
1667
|
headerProps: {
|
|
1661
1668
|
type: vue.PropType<Record<string, any>>;
|
|
1662
1669
|
};
|
|
1670
|
+
sticky: BooleanConstructor;
|
|
1663
1671
|
sortBy: {
|
|
1664
1672
|
type: vue.PropType<readonly SortItem[]>;
|
|
1665
1673
|
default: () => never[];
|
|
@@ -2040,9 +2048,9 @@ declare const VDataTableVirtual: {
|
|
|
2040
2048
|
showSelect: boolean;
|
|
2041
2049
|
expandOnClick: boolean;
|
|
2042
2050
|
showExpand: boolean;
|
|
2051
|
+
fixedHeader: boolean;
|
|
2043
2052
|
sortAscIcon: IconValue;
|
|
2044
2053
|
sortDescIcon: IconValue;
|
|
2045
|
-
fixedHeader: boolean;
|
|
2046
2054
|
fixedFooter: boolean;
|
|
2047
2055
|
hideDefaultBody: boolean;
|
|
2048
2056
|
hideDefaultFooter: boolean;
|
|
@@ -2075,7 +2083,6 @@ declare const VDataTableVirtual: {
|
|
|
2075
2083
|
readonly sort?: DataTableCompareFunction | undefined;
|
|
2076
2084
|
readonly sortRaw?: DataTableCompareFunction | undefined;
|
|
2077
2085
|
readonly filter?: FilterFunction | undefined;
|
|
2078
|
-
readonly mobile?: boolean | undefined;
|
|
2079
2086
|
readonly children?: readonly {
|
|
2080
2087
|
readonly key?: ("data-table-group" | "data-table-select" | "data-table-expand" | (string & {})) | undefined;
|
|
2081
2088
|
readonly value?: SelectItemKey<Record<string, any>>;
|
|
@@ -2096,7 +2103,6 @@ declare const VDataTableVirtual: {
|
|
|
2096
2103
|
readonly sort?: DataTableCompareFunction | undefined;
|
|
2097
2104
|
readonly sortRaw?: DataTableCompareFunction | undefined;
|
|
2098
2105
|
readonly filter?: FilterFunction | undefined;
|
|
2099
|
-
readonly mobile?: boolean | undefined;
|
|
2100
2106
|
readonly children?: readonly any[] | undefined;
|
|
2101
2107
|
}[] | undefined;
|
|
2102
2108
|
}[] | undefined;
|
|
@@ -2142,9 +2148,9 @@ declare const VDataTableVirtual: {
|
|
|
2142
2148
|
showSelect: boolean;
|
|
2143
2149
|
expandOnClick: boolean;
|
|
2144
2150
|
showExpand: boolean;
|
|
2151
|
+
fixedHeader: boolean;
|
|
2145
2152
|
sortAscIcon: IconValue;
|
|
2146
2153
|
sortDescIcon: IconValue;
|
|
2147
|
-
fixedHeader: boolean;
|
|
2148
2154
|
fixedFooter: boolean;
|
|
2149
2155
|
hideDefaultBody: boolean;
|
|
2150
2156
|
hideDefaultFooter: boolean;
|
|
@@ -2177,7 +2183,6 @@ declare const VDataTableVirtual: {
|
|
|
2177
2183
|
readonly sort?: DataTableCompareFunction | undefined;
|
|
2178
2184
|
readonly sortRaw?: DataTableCompareFunction | undefined;
|
|
2179
2185
|
readonly filter?: FilterFunction | undefined;
|
|
2180
|
-
readonly mobile?: boolean | undefined;
|
|
2181
2186
|
readonly children?: readonly {
|
|
2182
2187
|
readonly key?: ("data-table-group" | "data-table-select" | "data-table-expand" | (string & {})) | undefined;
|
|
2183
2188
|
readonly value?: SelectItemKey<Record<string, any>>;
|
|
@@ -2198,7 +2203,6 @@ declare const VDataTableVirtual: {
|
|
|
2198
2203
|
readonly sort?: DataTableCompareFunction | undefined;
|
|
2199
2204
|
readonly sortRaw?: DataTableCompareFunction | undefined;
|
|
2200
2205
|
readonly filter?: FilterFunction | undefined;
|
|
2201
|
-
readonly mobile?: boolean | undefined;
|
|
2202
2206
|
readonly children?: readonly any[] | undefined;
|
|
2203
2207
|
}[] | undefined;
|
|
2204
2208
|
}[] | undefined;
|
|
@@ -2238,9 +2242,9 @@ declare const VDataTableVirtual: {
|
|
|
2238
2242
|
showSelect: boolean;
|
|
2239
2243
|
expandOnClick: boolean;
|
|
2240
2244
|
showExpand: boolean;
|
|
2245
|
+
fixedHeader: boolean;
|
|
2241
2246
|
sortAscIcon: IconValue;
|
|
2242
2247
|
sortDescIcon: IconValue;
|
|
2243
|
-
fixedHeader: boolean;
|
|
2244
2248
|
fixedFooter: boolean;
|
|
2245
2249
|
hideDefaultBody: boolean;
|
|
2246
2250
|
hideDefaultFooter: boolean;
|
|
@@ -2318,9 +2322,9 @@ declare const VDataTableVirtual: {
|
|
|
2318
2322
|
showSelect: boolean;
|
|
2319
2323
|
expandOnClick: boolean;
|
|
2320
2324
|
showExpand: boolean;
|
|
2325
|
+
fixedHeader: boolean;
|
|
2321
2326
|
sortAscIcon: IconValue;
|
|
2322
2327
|
sortDescIcon: IconValue;
|
|
2323
|
-
fixedHeader: boolean;
|
|
2324
2328
|
fixedFooter: boolean;
|
|
2325
2329
|
hideDefaultBody: boolean;
|
|
2326
2330
|
hideDefaultFooter: boolean;
|
|
@@ -2353,7 +2357,6 @@ declare const VDataTableVirtual: {
|
|
|
2353
2357
|
readonly sort?: DataTableCompareFunction | undefined;
|
|
2354
2358
|
readonly sortRaw?: DataTableCompareFunction | undefined;
|
|
2355
2359
|
readonly filter?: FilterFunction | undefined;
|
|
2356
|
-
readonly mobile?: boolean | undefined;
|
|
2357
2360
|
readonly children?: readonly {
|
|
2358
2361
|
readonly key?: ("data-table-group" | "data-table-select" | "data-table-expand" | (string & {})) | undefined;
|
|
2359
2362
|
readonly value?: SelectItemKey<Record<string, any>>;
|
|
@@ -2374,7 +2377,6 @@ declare const VDataTableVirtual: {
|
|
|
2374
2377
|
readonly sort?: DataTableCompareFunction | undefined;
|
|
2375
2378
|
readonly sortRaw?: DataTableCompareFunction | undefined;
|
|
2376
2379
|
readonly filter?: FilterFunction | undefined;
|
|
2377
|
-
readonly mobile?: boolean | undefined;
|
|
2378
2380
|
readonly children?: readonly any[] | undefined;
|
|
2379
2381
|
}[] | undefined;
|
|
2380
2382
|
}[] | undefined;
|
|
@@ -2414,9 +2416,9 @@ declare const VDataTableVirtual: {
|
|
|
2414
2416
|
showSelect: boolean;
|
|
2415
2417
|
expandOnClick: boolean;
|
|
2416
2418
|
showExpand: boolean;
|
|
2419
|
+
fixedHeader: boolean;
|
|
2417
2420
|
sortAscIcon: IconValue;
|
|
2418
2421
|
sortDescIcon: IconValue;
|
|
2419
|
-
fixedHeader: boolean;
|
|
2420
2422
|
fixedFooter: boolean;
|
|
2421
2423
|
hideDefaultBody: boolean;
|
|
2422
2424
|
hideDefaultFooter: boolean;
|
|
@@ -2450,9 +2452,9 @@ declare const VDataTableVirtual: {
|
|
|
2450
2452
|
showSelect: boolean;
|
|
2451
2453
|
expandOnClick: boolean;
|
|
2452
2454
|
showExpand: boolean;
|
|
2455
|
+
fixedHeader: boolean;
|
|
2453
2456
|
sortAscIcon: IconValue;
|
|
2454
2457
|
sortDescIcon: IconValue;
|
|
2455
|
-
fixedHeader: boolean;
|
|
2456
2458
|
fixedFooter: boolean;
|
|
2457
2459
|
hideDefaultBody: boolean;
|
|
2458
2460
|
hideDefaultFooter: boolean;
|
|
@@ -2485,7 +2487,6 @@ declare const VDataTableVirtual: {
|
|
|
2485
2487
|
readonly sort?: DataTableCompareFunction | undefined;
|
|
2486
2488
|
readonly sortRaw?: DataTableCompareFunction | undefined;
|
|
2487
2489
|
readonly filter?: FilterFunction | undefined;
|
|
2488
|
-
readonly mobile?: boolean | undefined;
|
|
2489
2490
|
readonly children?: readonly {
|
|
2490
2491
|
readonly key?: ("data-table-group" | "data-table-select" | "data-table-expand" | (string & {})) | undefined;
|
|
2491
2492
|
readonly value?: SelectItemKey<Record<string, any>>;
|
|
@@ -2506,7 +2507,6 @@ declare const VDataTableVirtual: {
|
|
|
2506
2507
|
readonly sort?: DataTableCompareFunction | undefined;
|
|
2507
2508
|
readonly sortRaw?: DataTableCompareFunction | undefined;
|
|
2508
2509
|
readonly filter?: FilterFunction | undefined;
|
|
2509
|
-
readonly mobile?: boolean | undefined;
|
|
2510
2510
|
readonly children?: readonly any[] | undefined;
|
|
2511
2511
|
}[] | undefined;
|
|
2512
2512
|
}[] | undefined;
|
|
@@ -2552,9 +2552,9 @@ declare const VDataTableVirtual: {
|
|
|
2552
2552
|
showSelect: boolean;
|
|
2553
2553
|
expandOnClick: boolean;
|
|
2554
2554
|
showExpand: boolean;
|
|
2555
|
+
fixedHeader: boolean;
|
|
2555
2556
|
sortAscIcon: IconValue;
|
|
2556
2557
|
sortDescIcon: IconValue;
|
|
2557
|
-
fixedHeader: boolean;
|
|
2558
2558
|
fixedFooter: boolean;
|
|
2559
2559
|
hideDefaultBody: boolean;
|
|
2560
2560
|
hideDefaultFooter: boolean;
|
|
@@ -2651,7 +2651,6 @@ declare const VDataTableVirtual: {
|
|
|
2651
2651
|
};
|
|
2652
2652
|
mobileBreakpoint: vue.PropType<number | DisplayBreakpoint>;
|
|
2653
2653
|
color: StringConstructor;
|
|
2654
|
-
sticky: BooleanConstructor;
|
|
2655
2654
|
disableSort: BooleanConstructor;
|
|
2656
2655
|
multiSort: BooleanConstructor;
|
|
2657
2656
|
sortAscIcon: {
|
|
@@ -2665,6 +2664,7 @@ declare const VDataTableVirtual: {
|
|
|
2665
2664
|
headerProps: {
|
|
2666
2665
|
type: vue.PropType<Record<string, any>>;
|
|
2667
2666
|
};
|
|
2667
|
+
sticky: BooleanConstructor;
|
|
2668
2668
|
sortBy: {
|
|
2669
2669
|
type: vue.PropType<readonly SortItem[]>;
|
|
2670
2670
|
default: () => never[];
|
|
@@ -2763,7 +2763,6 @@ declare const VDataTableVirtual: {
|
|
|
2763
2763
|
};
|
|
2764
2764
|
mobileBreakpoint: vue.PropType<number | DisplayBreakpoint>;
|
|
2765
2765
|
color: StringConstructor;
|
|
2766
|
-
sticky: BooleanConstructor;
|
|
2767
2766
|
disableSort: BooleanConstructor;
|
|
2768
2767
|
multiSort: BooleanConstructor;
|
|
2769
2768
|
sortAscIcon: {
|
|
@@ -2777,6 +2776,7 @@ declare const VDataTableVirtual: {
|
|
|
2777
2776
|
headerProps: {
|
|
2778
2777
|
type: vue.PropType<Record<string, any>>;
|
|
2779
2778
|
};
|
|
2779
|
+
sticky: BooleanConstructor;
|
|
2780
2780
|
sortBy: {
|
|
2781
2781
|
type: vue.PropType<readonly SortItem[]>;
|
|
2782
2782
|
default: () => never[];
|
|
@@ -2877,9 +2877,9 @@ declare const VDataTableServer: {
|
|
|
2877
2877
|
value: number;
|
|
2878
2878
|
})[];
|
|
2879
2879
|
showCurrentPage: boolean;
|
|
2880
|
+
fixedHeader: boolean;
|
|
2880
2881
|
sortAscIcon: IconValue;
|
|
2881
2882
|
sortDescIcon: IconValue;
|
|
2882
|
-
fixedHeader: boolean;
|
|
2883
2883
|
fixedFooter: boolean;
|
|
2884
2884
|
hideDefaultBody: boolean;
|
|
2885
2885
|
hideDefaultFooter: boolean;
|
|
@@ -2912,7 +2912,6 @@ declare const VDataTableServer: {
|
|
|
2912
2912
|
readonly sort?: DataTableCompareFunction | undefined;
|
|
2913
2913
|
readonly sortRaw?: DataTableCompareFunction | undefined;
|
|
2914
2914
|
readonly filter?: FilterFunction | undefined;
|
|
2915
|
-
readonly mobile?: boolean | undefined;
|
|
2916
2915
|
readonly children?: readonly {
|
|
2917
2916
|
readonly key?: ("data-table-group" | "data-table-select" | "data-table-expand" | (string & {})) | undefined;
|
|
2918
2917
|
readonly value?: SelectItemKey<Record<string, any>>;
|
|
@@ -2933,7 +2932,6 @@ declare const VDataTableServer: {
|
|
|
2933
2932
|
readonly sort?: DataTableCompareFunction | undefined;
|
|
2934
2933
|
readonly sortRaw?: DataTableCompareFunction | undefined;
|
|
2935
2934
|
readonly filter?: FilterFunction | undefined;
|
|
2936
|
-
readonly mobile?: boolean | undefined;
|
|
2937
2935
|
readonly children?: readonly any[] | undefined;
|
|
2938
2936
|
}[] | undefined;
|
|
2939
2937
|
}[] | undefined;
|
|
@@ -2995,9 +2993,9 @@ declare const VDataTableServer: {
|
|
|
2995
2993
|
value: number;
|
|
2996
2994
|
})[];
|
|
2997
2995
|
showCurrentPage: boolean;
|
|
2996
|
+
fixedHeader: boolean;
|
|
2998
2997
|
sortAscIcon: IconValue;
|
|
2999
2998
|
sortDescIcon: IconValue;
|
|
3000
|
-
fixedHeader: boolean;
|
|
3001
2999
|
fixedFooter: boolean;
|
|
3002
3000
|
hideDefaultBody: boolean;
|
|
3003
3001
|
hideDefaultFooter: boolean;
|
|
@@ -3030,7 +3028,6 @@ declare const VDataTableServer: {
|
|
|
3030
3028
|
readonly sort?: DataTableCompareFunction | undefined;
|
|
3031
3029
|
readonly sortRaw?: DataTableCompareFunction | undefined;
|
|
3032
3030
|
readonly filter?: FilterFunction | undefined;
|
|
3033
|
-
readonly mobile?: boolean | undefined;
|
|
3034
3031
|
readonly children?: readonly {
|
|
3035
3032
|
readonly key?: ("data-table-group" | "data-table-select" | "data-table-expand" | (string & {})) | undefined;
|
|
3036
3033
|
readonly value?: SelectItemKey<Record<string, any>>;
|
|
@@ -3051,7 +3048,6 @@ declare const VDataTableServer: {
|
|
|
3051
3048
|
readonly sort?: DataTableCompareFunction | undefined;
|
|
3052
3049
|
readonly sortRaw?: DataTableCompareFunction | undefined;
|
|
3053
3050
|
readonly filter?: FilterFunction | undefined;
|
|
3054
|
-
readonly mobile?: boolean | undefined;
|
|
3055
3051
|
readonly children?: readonly any[] | undefined;
|
|
3056
3052
|
}[] | undefined;
|
|
3057
3053
|
}[] | undefined;
|
|
@@ -3104,9 +3100,9 @@ declare const VDataTableServer: {
|
|
|
3104
3100
|
value: number;
|
|
3105
3101
|
})[];
|
|
3106
3102
|
showCurrentPage: boolean;
|
|
3103
|
+
fixedHeader: boolean;
|
|
3107
3104
|
sortAscIcon: IconValue;
|
|
3108
3105
|
sortDescIcon: IconValue;
|
|
3109
|
-
fixedHeader: boolean;
|
|
3110
3106
|
fixedFooter: boolean;
|
|
3111
3107
|
hideDefaultBody: boolean;
|
|
3112
3108
|
hideDefaultFooter: boolean;
|
|
@@ -3203,9 +3199,9 @@ declare const VDataTableServer: {
|
|
|
3203
3199
|
value: number;
|
|
3204
3200
|
})[];
|
|
3205
3201
|
showCurrentPage: boolean;
|
|
3202
|
+
fixedHeader: boolean;
|
|
3206
3203
|
sortAscIcon: IconValue;
|
|
3207
3204
|
sortDescIcon: IconValue;
|
|
3208
|
-
fixedHeader: boolean;
|
|
3209
3205
|
fixedFooter: boolean;
|
|
3210
3206
|
hideDefaultBody: boolean;
|
|
3211
3207
|
hideDefaultFooter: boolean;
|
|
@@ -3238,7 +3234,6 @@ declare const VDataTableServer: {
|
|
|
3238
3234
|
readonly sort?: DataTableCompareFunction | undefined;
|
|
3239
3235
|
readonly sortRaw?: DataTableCompareFunction | undefined;
|
|
3240
3236
|
readonly filter?: FilterFunction | undefined;
|
|
3241
|
-
readonly mobile?: boolean | undefined;
|
|
3242
3237
|
readonly children?: readonly {
|
|
3243
3238
|
readonly key?: ("data-table-group" | "data-table-select" | "data-table-expand" | (string & {})) | undefined;
|
|
3244
3239
|
readonly value?: SelectItemKey<Record<string, any>>;
|
|
@@ -3259,7 +3254,6 @@ declare const VDataTableServer: {
|
|
|
3259
3254
|
readonly sort?: DataTableCompareFunction | undefined;
|
|
3260
3255
|
readonly sortRaw?: DataTableCompareFunction | undefined;
|
|
3261
3256
|
readonly filter?: FilterFunction | undefined;
|
|
3262
|
-
readonly mobile?: boolean | undefined;
|
|
3263
3257
|
readonly children?: readonly any[] | undefined;
|
|
3264
3258
|
}[] | undefined;
|
|
3265
3259
|
}[] | undefined;
|
|
@@ -3312,9 +3306,9 @@ declare const VDataTableServer: {
|
|
|
3312
3306
|
value: number;
|
|
3313
3307
|
})[];
|
|
3314
3308
|
showCurrentPage: boolean;
|
|
3309
|
+
fixedHeader: boolean;
|
|
3315
3310
|
sortAscIcon: IconValue;
|
|
3316
3311
|
sortDescIcon: IconValue;
|
|
3317
|
-
fixedHeader: boolean;
|
|
3318
3312
|
fixedFooter: boolean;
|
|
3319
3313
|
hideDefaultBody: boolean;
|
|
3320
3314
|
hideDefaultFooter: boolean;
|
|
@@ -3363,9 +3357,9 @@ declare const VDataTableServer: {
|
|
|
3363
3357
|
value: number;
|
|
3364
3358
|
})[];
|
|
3365
3359
|
showCurrentPage: boolean;
|
|
3360
|
+
fixedHeader: boolean;
|
|
3366
3361
|
sortAscIcon: IconValue;
|
|
3367
3362
|
sortDescIcon: IconValue;
|
|
3368
|
-
fixedHeader: boolean;
|
|
3369
3363
|
fixedFooter: boolean;
|
|
3370
3364
|
hideDefaultBody: boolean;
|
|
3371
3365
|
hideDefaultFooter: boolean;
|
|
@@ -3398,7 +3392,6 @@ declare const VDataTableServer: {
|
|
|
3398
3392
|
readonly sort?: DataTableCompareFunction | undefined;
|
|
3399
3393
|
readonly sortRaw?: DataTableCompareFunction | undefined;
|
|
3400
3394
|
readonly filter?: FilterFunction | undefined;
|
|
3401
|
-
readonly mobile?: boolean | undefined;
|
|
3402
3395
|
readonly children?: readonly {
|
|
3403
3396
|
readonly key?: ("data-table-group" | "data-table-select" | "data-table-expand" | (string & {})) | undefined;
|
|
3404
3397
|
readonly value?: SelectItemKey<Record<string, any>>;
|
|
@@ -3419,7 +3412,6 @@ declare const VDataTableServer: {
|
|
|
3419
3412
|
readonly sort?: DataTableCompareFunction | undefined;
|
|
3420
3413
|
readonly sortRaw?: DataTableCompareFunction | undefined;
|
|
3421
3414
|
readonly filter?: FilterFunction | undefined;
|
|
3422
|
-
readonly mobile?: boolean | undefined;
|
|
3423
3415
|
readonly children?: readonly any[] | undefined;
|
|
3424
3416
|
}[] | undefined;
|
|
3425
3417
|
}[] | undefined;
|
|
@@ -3480,9 +3472,9 @@ declare const VDataTableServer: {
|
|
|
3480
3472
|
value: number;
|
|
3481
3473
|
})[];
|
|
3482
3474
|
showCurrentPage: boolean;
|
|
3475
|
+
fixedHeader: boolean;
|
|
3483
3476
|
sortAscIcon: IconValue;
|
|
3484
3477
|
sortDescIcon: IconValue;
|
|
3485
|
-
fixedHeader: boolean;
|
|
3486
3478
|
fixedFooter: boolean;
|
|
3487
3479
|
hideDefaultBody: boolean;
|
|
3488
3480
|
hideDefaultFooter: boolean;
|
|
@@ -3618,7 +3610,6 @@ declare const VDataTableServer: {
|
|
|
3618
3610
|
};
|
|
3619
3611
|
mobileBreakpoint: vue.PropType<number | DisplayBreakpoint>;
|
|
3620
3612
|
color: StringConstructor;
|
|
3621
|
-
sticky: BooleanConstructor;
|
|
3622
3613
|
disableSort: BooleanConstructor;
|
|
3623
3614
|
multiSort: BooleanConstructor;
|
|
3624
3615
|
sortAscIcon: {
|
|
@@ -3632,6 +3623,7 @@ declare const VDataTableServer: {
|
|
|
3632
3623
|
headerProps: {
|
|
3633
3624
|
type: vue.PropType<Record<string, any>>;
|
|
3634
3625
|
};
|
|
3626
|
+
sticky: BooleanConstructor;
|
|
3635
3627
|
sortBy: {
|
|
3636
3628
|
type: vue.PropType<readonly SortItem[]>;
|
|
3637
3629
|
default: () => never[];
|
|
@@ -3781,7 +3773,6 @@ declare const VDataTableServer: {
|
|
|
3781
3773
|
};
|
|
3782
3774
|
mobileBreakpoint: vue.PropType<number | DisplayBreakpoint>;
|
|
3783
3775
|
color: StringConstructor;
|
|
3784
|
-
sticky: BooleanConstructor;
|
|
3785
3776
|
disableSort: BooleanConstructor;
|
|
3786
3777
|
multiSort: BooleanConstructor;
|
|
3787
3778
|
sortAscIcon: {
|
|
@@ -3795,6 +3786,7 @@ declare const VDataTableServer: {
|
|
|
3795
3786
|
headerProps: {
|
|
3796
3787
|
type: vue.PropType<Record<string, any>>;
|
|
3797
3788
|
};
|
|
3789
|
+
sticky: BooleanConstructor;
|
|
3798
3790
|
sortBy: {
|
|
3799
3791
|
type: vue.PropType<readonly SortItem[]>;
|
|
3800
3792
|
default: () => never[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.mjs","names":[],"sources":["../../../src/components/VDataTable/types.ts"],"sourcesContent":["// Types\nimport type { provideExpanded } from './composables/expand'\nimport type { Group, GroupableItem, provideGroupBy } from './composables/group'\nimport type { provideSelection, SelectableItem } from './composables/select'\nimport type { FilterFunction, InternalItem } from '@/composables/filter'\nimport type { SelectItemKey } from '@/util'\n\nexport type DataTableCompareFunction<T = any> = (a: T, b: T) => number | null\n\nexport type DataTableHeader<T = Record<string, any>> = {\n key?: 'data-table-group' | 'data-table-select' | 'data-table-expand' | (string & {})\n value?: SelectItemKey<T>\n title?: string\n\n fixed?: boolean\n align?: 'start' | 'end' | 'center'\n\n width?: number | string\n minWidth?: string\n maxWidth?: string\n nowrap?: boolean\n\n headerProps?: Record<string, any>\n cellProps?: HeaderCellProps\n\n sortable?: boolean\n sort?: DataTableCompareFunction\n sortRaw?: DataTableCompareFunction\n filter?: FilterFunction\n\n
|
|
1
|
+
{"version":3,"file":"types.mjs","names":[],"sources":["../../../src/components/VDataTable/types.ts"],"sourcesContent":["// Types\nimport type { provideExpanded } from './composables/expand'\nimport type { Group, GroupableItem, provideGroupBy } from './composables/group'\nimport type { provideSelection, SelectableItem } from './composables/select'\nimport type { FilterFunction, InternalItem } from '@/composables/filter'\nimport type { SelectItemKey } from '@/util'\n\nexport type DataTableCompareFunction<T = any> = (a: T, b: T) => number | null\n\nexport type DataTableHeader<T = Record<string, any>> = {\n key?: 'data-table-group' | 'data-table-select' | 'data-table-expand' | (string & {})\n value?: SelectItemKey<T>\n title?: string\n\n fixed?: boolean\n align?: 'start' | 'end' | 'center'\n\n width?: number | string\n minWidth?: string\n maxWidth?: string\n nowrap?: boolean\n\n headerProps?: Record<string, any>\n cellProps?: HeaderCellProps\n\n sortable?: boolean\n sort?: DataTableCompareFunction\n sortRaw?: DataTableCompareFunction\n filter?: FilterFunction\n\n children?: DataTableHeader<T>[]\n}\n\nexport type InternalDataTableHeader = Omit<DataTableHeader, 'key' | 'value' | 'children'> & {\n key: string | null\n value: SelectItemKey | null\n sortable: boolean\n fixedOffset?: number\n lastFixed?: boolean\n nowrap?: boolean\n colspan?: number\n rowspan?: number\n children?: InternalDataTableHeader[]\n}\n\nexport interface DataTableItem<T = any> extends InternalItem<T>, GroupableItem<T>, SelectableItem {\n key: any\n index: number\n columns: {\n [key: string]: any\n }\n}\n\nexport type GroupHeaderSlot = {\n index: number\n item: Group\n columns: InternalDataTableHeader[]\n isExpanded: ReturnType<typeof provideExpanded>['isExpanded']\n toggleExpand: ReturnType<typeof provideExpanded>['toggleExpand']\n isSelected: ReturnType<typeof provideSelection>['isSelected']\n toggleSelect: ReturnType<typeof provideSelection>['toggleSelect']\n toggleGroup: ReturnType<typeof provideGroupBy>['toggleGroup']\n isGroupOpen: ReturnType<typeof provideGroupBy>['isGroupOpen']\n}\n\ntype ItemSlotBase<T> = {\n index: number\n item: T\n internalItem: DataTableItem<T>\n isExpanded: ReturnType<typeof provideExpanded>['isExpanded']\n toggleExpand: ReturnType<typeof provideExpanded>['toggleExpand']\n isSelected: ReturnType<typeof provideSelection>['isSelected']\n toggleSelect: ReturnType<typeof provideSelection>['toggleSelect']\n}\n\nexport type ItemSlot<T> = ItemSlotBase<T> & {\n columns: InternalDataTableHeader[]\n}\n\nexport type ItemKeySlot<T> = ItemSlotBase<T> & {\n value: any\n column: InternalDataTableHeader\n}\n\nexport type RowProps<T> =\n | Record<string, any>\n | ((data: Pick<ItemKeySlot<T>, 'index' | 'item' | 'internalItem'>) => Record<string, any>)\n\nexport type CellProps<T> =\n | Record<string, any>\n | ((data: Pick<ItemKeySlot<T>, 'index' | 'item' | 'internalItem' | 'value' | 'column'>) => Record<string, any>)\n\nexport type HeaderCellProps =\n | Record<string, any>\n | ((data: Pick<ItemKeySlot<any>, 'index' | 'item' | 'internalItem' | 'value'>) => Record<string, any>)\n"],"mappings":"","ignoreList":[]}
|