{"version":3,"sources":["webpack:///./node_modules/core-js/modules/es.array.unshift.js","webpack:///./src/modules/snapshot/components/TheSnapshotTablePreview.vue","webpack:///src/modules/snapshot/components/TheSnapshotTablePreview.vue","webpack:///./src/modules/snapshot/components/TheSnapshotTablePreview.vue?b33d","webpack:///./src/modules/snapshot/components/TheSnapshotTablePreview.vue?3724","webpack:///../../../../src/components/VDataTable/mixins/header.ts","webpack:///../../../src/components/VDataTable/VDataTableHeaderMobile.ts","webpack:///../../../src/components/VDataTable/VDataTableHeaderDesktop.ts","webpack:///../../src/util/dedupeModelListeners.ts","webpack:///../../src/util/rebuildFunctionalSlots.ts","webpack:///../../../src/components/VDataTable/VDataTableHeader.ts","webpack:///../../../src/components/VDataTable/Row.ts","webpack:///../../../src/components/VDataTable/RowGroup.ts","webpack:///../../../src/components/VDataTable/VSimpleTable.ts","webpack:///../../../src/components/VDataTable/MobileRow.ts","webpack:///../../../src/components/VDataTable/VDataTable.ts","webpack:///../../../src/components/VChip/VChip.ts","webpack:///../../../src/components/VDivider/VDivider.ts","webpack:///../../../src/components/VSubheader/VSubheader.ts"],"names":["$","toObject","lengthOfArrayLike","setArrayLength","deletePropertyOrThrow","doesNotExceedSafeInteger","INCORRECT_RESULT","unshift","properErrorOnNonWritableLength","Object","defineProperty","writable","error","TypeError","FORCED","target","proto","arity","forced","item","O","this","len","argCount","arguments","length","k","to","j","staticClass","attrs","_vm","fetchingData","scopedSlots","key","fn","staticRenderFns","name","props","columnsData","type","default","headersData","tableName","component","mixins","extend","directives","ripple","headers","Array","options","page","itemsPerPage","sortBy","sortDesc","groupBy","groupDesc","multiSort","mustSort","checkboxColor","String","sortIcon","everyItem","Boolean","someItems","showGroupBy","singleSelect","disableSort","methods","genSelectAll","data","value","indeterminate","color","_a","on","input","v","$emit","$scopedSlots","$createElement","VSimpleCheckbox","genSortIcon","VIcon","size","header","sortByText","genSortChip","children","text","sortIndex","findIndex","beingSorted","isDesc","push","class","sortable","active","asc","desc","VChip","click","e","stopPropagation","genSortSelect","items","VSelect","label","$vuetify","lang","t","hideDetails","multiple","menuProps","closeOnContentClick","change","selection","render","h","find","wrapInArray","width","sortHeaders","filter","map","th","undefined","tr","genGroupByToggle","getAria","$t","ariaSort","ariaLabel","join","genHeader","role","scope","style","convertToUnit","minWidth","align","divider","hasOwnProperty","groupable","dedupeModelListeners","model","isArray","i","indexOf","callback","splice","rebuildFunctionalSlots","slots","slot","Vue","functional","mobile","rebuildSlots","mergeData","VDataTableHeaderMobile","VDataTableHeaderDesktop","needsTd","includes","tag","index","Number","rtl","computedSlots","columns","getObjectValueByPath","slotName","scopedSlot","regularSlot","isMobile","textAlign","cellClass","headerClass","contentClass","summaryClass","Themeable","dense","fixedHeader","height","computed","classes","$slots","top","bottom","themeClasses","genWrapper","wrapper","hideDefaultHeader","mobileRowChildren","filterFn","search","searchTableItems","headersWithCustomFilters","headersWithoutCustomFilters","customFilter","trim","matchesColumnFilters","every","defaultFilter","matchesSearchTerm","some","VDataIterator","Loadable","showSelect","showExpand","caption","headerProps","calculateWidths","headersLength","expandIcon","Function","itemClass","loaderHeight","internalGroupBy","openCache","widths","computedHeaders","defaultHeader","colspanAttrs","colspan","columnSorters","reduce","acc","sort","filterable","sanitizedHeaderProps","camelizeObjectKeys","computedItemsPerPage","itemsPerPageOptions","sanitizedFooterProps","firstOption","groupByText","_b","_c","created","breakingProps","forEach","original","replacement","$attrs","breaking","mounted","window","addEventListener","calcWidths","beforeDestroy","removeEventListener","from","$el","querySelectorAll","clientWidth","customFilterWithColumns","customSortWithHeaders","locale","customSort","createItemProps","call","assign","genCaption","getSlot","genColgroup","genLoading","genProgress","genHeaders","group","toggleSelectAll","getPrefixedScopedSlots","VDataTableHeader","loading","genEmptyWrapper","content","genItems","empty","genEmpty","originalItemsLength","pagination","itemsLength","groupedItems","genGroupedRows","genRows","$set","genDefaultGroupedRow","isOpen","toggleFn","removeFn","updateOptions","toggle","remove","VBtn","icon","small","column","RowGroup","genScopedRows","genDefaultRows","rows","isExpanded","genDefaultExpandedRow","genDefaultSimpleRow","headerRow","expandedRow","isSelected","disabled","isSelectable","val","select","expand","MobileRow","Row","itemKey","mergeClasses","getPropertyFromItem","event","contextmenu","dblclick","genBody","body","genFoot","foot","genFooters","itemsPerPageText","hideDefaultFooter","VDataFooter","genDefaultScopedSlot","simpleProps","VSimpleTable","proxySlot","VData","$props","old","deepEqual","internalCurrentItems","Colorable","Sizeable","Routable","GroupableFactory","ToggleableFactory","activeClass","chipGroup","close","closeIcon","closeLabel","draggable","filterIcon","link","outlined","pill","textColor","proxyClass","isClickable","isLink","hasClose","sizeableClasses","groupClasses","genFilter","isActive","left","VExpandXTransition","genClose","right","preventDefault","genContent","generateRouteLink","tabindex","setBackgroundColor","setTextColor","inset","vertical","orientation","$listeners"],"mappings":"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","file":"static/js/chunk-72f73514.70333142.js","sourcesContent":["'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\n\n// IE8-\nvar INCORRECT_RESULT = [].unshift(0) !== 1;\n\n// V8 ~ Chrome < 71 and Safari <= 15.4, FF < 23 throws InternalError\nvar properErrorOnNonWritableLength = function () {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).unshift();\n } catch (error) {\n return error instanceof TypeError;\n }\n};\n\nvar FORCED = INCORRECT_RESULT || !properErrorOnNonWritableLength();\n\n// `Array.prototype.unshift` method\n// https://tc39.es/ecma262/#sec-array.prototype.unshift\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n unshift: function unshift(item) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var argCount = arguments.length;\n if (argCount) {\n doesNotExceedSafeInteger(len + argCount);\n var k = len;\n while (k--) {\n var to = k + argCount;\n if (k in O) O[to] = O[k];\n else deletePropertyOrThrow(O, to);\n }\n for (var j = 0; j < argCount; j++) {\n O[j] = arguments[j];\n }\n } return setArrayLength(O, len + argCount);\n }\n});\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-data-table',{staticClass:\"text-truncate\",attrs:{\"headers\":_vm.headersData,\"items\":_vm.fetchingData ? [] : _vm.columnsData,\"loading\":_vm.fetchingData,\"item-key\":\"short_id\",\"sort-desc\":[true, true],\"hide-default-footer\":\"\"},scopedSlots:_vm._u([{key:\"top\",fn:function(){return [_c('div',{staticClass:\"d-flex align-center\"},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-table-large\")]),_c('span',{staticClass:\"secondary--text font-weight-bold\"},[_vm._v(_vm._s(_vm.tableName))])],1)]},proxy:true},{key:\"no-data\",fn:function(){return [_c('v-alert',{staticClass:\"mt-3\",attrs:{\"text\":\"\",\"prominent\":\"\",\"color\":\"info\",\"icon\":\"info\"}},[(_vm.fetchingData)?_c('span',[_vm._v(\"Loading column data, please wait...\")]):_c('span',[_vm._v(\"No data available.\")])])]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n mdi-table-large\n {{ tableName }}\n \n \n \n \n Loading column data, please wait...\n No data available.\n \n \n \n\n\n\n","import mod from \"-!../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??ref--13-1!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TheSnapshotTablePreview.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??ref--13-1!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TheSnapshotTablePreview.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TheSnapshotTablePreview.vue?vue&type=template&id=7f4ffd7e&\"\nimport script from \"./TheSnapshotTablePreview.vue?vue&type=script&lang=js&\"\nexport * from \"./TheSnapshotTablePreview.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { VDataTable } from '../'\nimport VIcon from '../../VIcon'\nimport VSimpleCheckbox from '../../VCheckbox/VSimpleCheckbox'\nimport ripple from '../../../directives/ripple'\n\nimport Vue from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport mixins from '../../../util/mixins'\nimport { DataOptions, DataTableHeader } from 'vuetify/types'\n\ntype VDataTableInstance = InstanceType\n\ninterface options extends Vue {\n dataTable: VDataTableInstance\n}\n\nexport default mixins().extend({\n // https://github.com/vuejs/vue/issues/6872\n directives: {\n ripple,\n },\n\n props: {\n headers: {\n type: Array,\n default: () => ([]),\n } as PropValidator,\n options: {\n type: Object,\n default: () => ({\n page: 1,\n itemsPerPage: 10,\n sortBy: [],\n sortDesc: [],\n groupBy: [],\n groupDesc: [],\n multiSort: false,\n mustSort: false,\n }),\n } as PropValidator,\n checkboxColor: String,\n sortIcon: {\n type: String,\n default: '$sort',\n },\n everyItem: Boolean,\n someItems: Boolean,\n showGroupBy: Boolean,\n singleSelect: Boolean,\n disableSort: Boolean,\n },\n\n methods: {\n genSelectAll () {\n const data = {\n props: {\n value: this.everyItem,\n indeterminate: !this.everyItem && this.someItems,\n color: this.checkboxColor ?? '',\n },\n on: {\n input: (v: boolean) => this.$emit('toggle-select-all', v),\n },\n }\n\n if (this.$scopedSlots['data-table-select']) {\n return this.$scopedSlots['data-table-select']!(data)\n }\n\n return this.$createElement(VSimpleCheckbox, {\n staticClass: 'v-data-table__checkbox',\n ...data,\n })\n },\n genSortIcon () {\n return this.$createElement(VIcon, {\n staticClass: 'v-data-table-header__icon',\n props: {\n size: 18,\n },\n }, [this.sortIcon])\n },\n },\n})\n","import { VNode, VNodeChildrenArrayContents } from 'vue'\nimport mixins from '../../util/mixins'\nimport VSelect from '../VSelect/VSelect'\nimport VChip from '../VChip'\nimport header from './mixins/header'\nimport { wrapInArray } from '../../util/helpers'\n\nexport default mixins(header).extend({\n name: 'v-data-table-header-mobile',\n\n props: {\n sortByText: {\n type: String,\n default: '$vuetify.dataTable.sortBy',\n },\n },\n\n methods: {\n genSortChip (props: any) {\n const children: VNodeChildrenArrayContents = [props.item.text]\n\n const sortIndex = this.options.sortBy.findIndex(k => k === props.item.value)\n const beingSorted = sortIndex >= 0\n const isDesc = this.options.sortDesc[sortIndex]\n\n children.push(this.$createElement('div', {\n staticClass: 'v-chip__close',\n class: {\n sortable: true,\n active: beingSorted,\n asc: beingSorted && !isDesc,\n desc: beingSorted && isDesc,\n },\n }, [this.genSortIcon()]))\n\n return this.$createElement(VChip, {\n staticClass: 'sortable',\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n this.$emit('sort', props.item.value)\n },\n },\n }, children)\n },\n genSortSelect (items: any[]) {\n return this.$createElement(VSelect, {\n props: {\n label: this.$vuetify.lang.t(this.sortByText),\n items,\n hideDetails: true,\n multiple: this.options.multiSort,\n value: this.options.multiSort ? this.options.sortBy : this.options.sortBy[0],\n menuProps: { closeOnContentClick: true },\n },\n on: {\n change: (v: string | string[]) => this.$emit('sort', v),\n },\n scopedSlots: {\n selection: props => this.genSortChip(props),\n },\n })\n },\n },\n\n render (h): VNode {\n const children: VNodeChildrenArrayContents = []\n\n const header = this.headers.find(h => h.value === 'data-table-select')\n if (header && !this.singleSelect) {\n children.push(this.$createElement('div', {\n class: [\n 'v-data-table-header-mobile__select',\n ...wrapInArray(header.class),\n ],\n attrs: {\n width: header.width,\n },\n }, [this.genSelectAll()]))\n }\n\n const sortHeaders = this.headers\n .filter(h => h.sortable !== false && h.value !== 'data-table-select')\n .map(h => ({\n text: h.text,\n value: h.value,\n }))\n\n if (!this.disableSort && sortHeaders.length) {\n children.push(this.genSortSelect(sortHeaders))\n }\n\n const th = children.length\n ? h('th', [h('div', { staticClass: 'v-data-table-header-mobile__wrapper' }, children)])\n : undefined\n\n const tr = h('tr', [th])\n\n return h('thead', {\n staticClass: 'v-data-table-header v-data-table-header-mobile',\n }, [tr])\n },\n})\n","// Helpers\nimport { VNode, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\nimport header from './mixins/header'\nimport { wrapInArray, convertToUnit } from '../../util/helpers'\nimport { DataTableHeader } from 'vuetify/types'\n\nexport default mixins(header).extend({\n name: 'v-data-table-header-desktop',\n\n methods: {\n genGroupByToggle (header: DataTableHeader) {\n return this.$createElement('span', {\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n this.$emit('group', header.value)\n },\n },\n }, ['group'])\n },\n getAria (beingSorted: boolean, isDesc: boolean) {\n const $t = (key: string) => this.$vuetify.lang.t(`$vuetify.dataTable.ariaLabel.${key}`)\n\n let ariaSort = 'none'\n let ariaLabel = [\n $t('sortNone'),\n $t('activateAscending'),\n ]\n\n if (!beingSorted) {\n return { ariaSort, ariaLabel: ariaLabel.join(' ') }\n }\n\n if (isDesc) {\n ariaSort = 'descending'\n ariaLabel = [\n $t('sortDescending'),\n $t(this.options.mustSort ? 'activateAscending' : 'activateNone'),\n ]\n } else {\n ariaSort = 'ascending'\n ariaLabel = [\n $t('sortAscending'),\n $t('activateDescending'),\n ]\n }\n\n return { ariaSort, ariaLabel: ariaLabel.join(' ') }\n },\n genHeader (header: DataTableHeader) {\n const data: Required> = {\n attrs: {\n role: 'columnheader',\n scope: 'col',\n 'aria-label': header.text || '',\n },\n style: {\n width: convertToUnit(header.width),\n minWidth: convertToUnit(header.width),\n },\n class: [\n `text-${header.align || 'start'}`,\n ...wrapInArray(header.class),\n header.divider && 'v-data-table__divider',\n ],\n on: {},\n }\n const children = []\n\n if (header.value === 'data-table-select' && !this.singleSelect) {\n return this.$createElement('th', data, [this.genSelectAll()])\n }\n\n children.push(\n this.$scopedSlots.hasOwnProperty(header.value)\n ? this.$scopedSlots[header.value]!({ header })\n : this.$createElement('span', [header.text])\n )\n\n if (!this.disableSort && (header.sortable || !header.hasOwnProperty('sortable'))) {\n data.on.click = () => this.$emit('sort', header.value)\n\n const sortIndex = this.options.sortBy.findIndex(k => k === header.value)\n const beingSorted = sortIndex >= 0\n const isDesc = this.options.sortDesc[sortIndex]\n\n data.class.push('sortable')\n\n const { ariaLabel, ariaSort } = this.getAria(beingSorted, isDesc)\n\n data.attrs['aria-label'] += `${header.text ? ': ' : ''}${ariaLabel}`\n data.attrs['aria-sort'] = ariaSort\n\n if (beingSorted) {\n data.class.push('active')\n data.class.push(isDesc ? 'desc' : 'asc')\n }\n\n if (header.align === 'end') children.unshift(this.genSortIcon())\n else children.push(this.genSortIcon())\n\n if (this.options.multiSort && beingSorted) {\n children.push(this.$createElement('span', { class: 'v-data-table-header__sort-badge' }, [String(sortIndex + 1)]))\n }\n }\n\n if (this.showGroupBy && header.groupable !== false) children.push(this.genGroupByToggle(header))\n\n return this.$createElement('th', data, children)\n },\n },\n\n render (): VNode {\n return this.$createElement('thead', {\n staticClass: 'v-data-table-header',\n }, [\n this.$createElement('tr', this.headers.map(header => this.genHeader(header))),\n ])\n },\n})\n","import { VNodeData } from 'vue'\n\n/**\n * Removes duplicate `@input` listeners when\n * using v-model with functional components\n *\n * @see https://github.com/vuetifyjs/vuetify/issues/4460\n */\nexport default function dedupeModelListeners (data: VNodeData): void {\n if (data.model && data.on && data.on.input) {\n if (Array.isArray(data.on.input)) {\n const i = data.on.input.indexOf(data.model.callback)\n if (i > -1) data.on.input.splice(i, 1)\n } else {\n delete data.on.input\n }\n }\n}\n","import { CreateElement, VNode } from 'vue'\n\nexport default function rebuildFunctionalSlots (slots: { [key: string]: VNode[] | undefined }, h: CreateElement) {\n const children: VNode[] = []\n\n for (const slot in slots) {\n if (slots.hasOwnProperty(slot)) {\n children.push(h('template', { slot }, slots[slot]))\n }\n }\n\n return children\n}\n","// Styles\nimport './VDataTableHeader.sass'\n\n// Components\nimport VDataTableHeaderMobile from './VDataTableHeaderMobile'\nimport VDataTableHeaderDesktop from './VDataTableHeaderDesktop'\n\n// Mixins\nimport header from './mixins/header'\n\n// Utilities\nimport dedupeModelListeners from '../../util/dedupeModelListeners'\nimport mergeData from '../../util/mergeData'\nimport rebuildSlots from '../../util/rebuildFunctionalSlots'\n\n// Types\nimport Vue from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-data-table-header',\n\n functional: true,\n\n props: {\n ...header.options.props,\n mobile: Boolean,\n },\n\n render (h, { props, data, slots }) {\n dedupeModelListeners(data)\n const children = rebuildSlots(slots(), h)\n\n data = mergeData(data, { props })\n\n if (props.mobile) {\n return h(VDataTableHeaderMobile, data, children)\n } else {\n return h(VDataTableHeaderDesktop, data, children)\n }\n },\n})\n","// Types\nimport Vue, { VNode, PropType } from 'vue'\nimport { DataTableHeader } from 'vuetify/types'\n\n// Utils\nimport { getObjectValueByPath, wrapInArray } from '../../util/helpers'\n\nfunction needsTd (slot: VNode[] | undefined) {\n return slot!.length !== 1 ||\n !['td', 'th'].includes(slot![0]?.tag!)\n}\n\nexport default Vue.extend({\n name: 'row',\n\n functional: true,\n\n props: {\n headers: Array as PropType,\n index: Number,\n item: Object,\n rtl: Boolean,\n },\n\n render (h, { props, slots, data }): VNode {\n const computedSlots = slots()\n\n const columns = props.headers.map((header: DataTableHeader) => {\n const children = []\n const value = getObjectValueByPath(props.item, header.value)\n\n const slotName = header.value\n const scopedSlot = data.scopedSlots && data.scopedSlots.hasOwnProperty(slotName) && data.scopedSlots[slotName]\n const regularSlot = computedSlots.hasOwnProperty(slotName) && computedSlots[slotName]\n\n if (scopedSlot) {\n children.push(...wrapInArray(scopedSlot({\n item: props.item,\n isMobile: false,\n header,\n index: props.index,\n value,\n })))\n } else if (regularSlot) {\n children.push(...wrapInArray(regularSlot))\n } else {\n children.push(value == null ? value : String(value))\n }\n\n const textAlign = `text-${header.align || 'start'}`\n\n return needsTd(children)\n ? h('td', {\n class: [\n textAlign,\n header.cellClass,\n {\n 'v-data-table__divider': header.divider,\n },\n ],\n }, children)\n : children\n })\n\n return h('tr', data, columns)\n },\n})\n","import Vue, { VNode } from 'vue'\n\nexport default Vue.extend({\n name: 'row-group',\n\n functional: true,\n\n props: {\n value: {\n type: Boolean,\n default: true,\n },\n headerClass: {\n type: String,\n default: 'v-row-group__header',\n },\n contentClass: String,\n summaryClass: {\n type: String,\n default: 'v-row-group__summary',\n },\n },\n\n render (h, { slots, props }): VNode {\n const computedSlots = slots()\n const children = []\n\n if (computedSlots['column.header']) {\n children.push(h('tr', {\n staticClass: props.headerClass,\n }, computedSlots['column.header']))\n } else if (computedSlots['row.header']) {\n children.push(...computedSlots['row.header'])\n }\n\n if (computedSlots['row.content'] && props.value) children.push(...computedSlots['row.content'])\n\n if (computedSlots['column.summary']) {\n children.push(h('tr', {\n staticClass: props.summaryClass,\n }, computedSlots['column.summary']))\n } else if (computedSlots['row.summary']) {\n children.push(...computedSlots['row.summary'])\n }\n\n return children as any\n },\n})\n","import './VSimpleTable.sass'\n\nimport { convertToUnit } from '../../util/helpers'\nimport Themeable from '../../mixins/themeable'\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\n\nexport default mixins(Themeable).extend({\n name: 'v-simple-table',\n\n props: {\n dense: Boolean,\n fixedHeader: Boolean,\n height: [Number, String],\n },\n\n computed: {\n classes (): Record {\n return {\n 'v-data-table--dense': this.dense,\n 'v-data-table--fixed-height': !!this.height && !this.fixedHeader,\n 'v-data-table--fixed-header': this.fixedHeader,\n 'v-data-table--has-top': !!this.$slots.top,\n 'v-data-table--has-bottom': !!this.$slots.bottom,\n ...this.themeClasses,\n }\n },\n },\n\n methods: {\n genWrapper () {\n return this.$slots.wrapper || this.$createElement('div', {\n staticClass: 'v-data-table__wrapper',\n style: {\n height: convertToUnit(this.height),\n },\n }, [\n this.$createElement('table', this.$slots.default),\n ])\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-data-table',\n class: this.classes,\n }, [\n this.$slots.top,\n this.genWrapper(),\n this.$slots.bottom,\n ])\n },\n})\n","import Vue, { VNode, PropType } from 'vue'\nimport { getObjectValueByPath } from '../../util/helpers'\nimport { DataTableHeader } from 'vuetify/types'\n\nexport default Vue.extend({\n name: 'row',\n\n functional: true,\n\n props: {\n headers: Array as PropType,\n hideDefaultHeader: Boolean,\n index: Number,\n item: Object,\n rtl: Boolean,\n },\n\n render (h, { props, slots, data }): VNode {\n const computedSlots = slots()\n\n const columns: VNode[] = props.headers.map((header: DataTableHeader) => {\n const classes = {\n 'v-data-table__mobile-row': true,\n }\n\n const children = []\n const value = getObjectValueByPath(props.item, header.value)\n\n const slotName = header.value\n const scopedSlot = data.scopedSlots && data.scopedSlots.hasOwnProperty(slotName) && data.scopedSlots[slotName]\n const regularSlot = computedSlots.hasOwnProperty(slotName) && computedSlots[slotName]\n\n if (scopedSlot) {\n children.push(scopedSlot({\n item: props.item,\n isMobile: true,\n header,\n index: props.index,\n value,\n }))\n } else if (regularSlot) {\n children.push(regularSlot)\n } else {\n children.push(value == null ? value : String(value))\n }\n\n const mobileRowChildren = [\n h('div', {\n staticClass: 'v-data-table__mobile-row__cell',\n }, children),\n ]\n\n if (header.value !== 'dataTableSelect' && !props.hideDefaultHeader) {\n mobileRowChildren.unshift(\n h('div', {\n staticClass: 'v-data-table__mobile-row__header',\n }, [header.text])\n )\n }\n\n return h('td', { class: classes }, mobileRowChildren)\n })\n\n return h('tr', { ...data, staticClass: 'v-data-table__mobile-table-row' }, columns)\n },\n})\n","import './VDataTable.sass'\n\n// Types\nimport { VNode, VNodeChildrenArrayContents, VNodeChildren } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport {\n DataTableHeader,\n DataTableFilterFunction,\n DataScopeProps,\n DataOptions,\n DataPagination,\n DataTableCompareFunction,\n DataItemsPerPageOption,\n ItemGroup,\n RowClassFunction,\n DataTableItemProps,\n} from 'vuetify/types'\n\n// Components\nimport { VData } from '../VData'\nimport { VDataFooter, VDataIterator } from '../VDataIterator'\nimport VBtn from '../VBtn'\nimport VDataTableHeader from './VDataTableHeader'\n// import VVirtualTable from './VVirtualTable'\nimport VIcon from '../VIcon'\nimport Row from './Row'\nimport RowGroup from './RowGroup'\nimport VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox'\nimport VSimpleTable from './VSimpleTable'\nimport MobileRow from './MobileRow'\n\n// Mixins\nimport Loadable from '../../mixins/loadable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { deepEqual, getObjectValueByPath, getPrefixedScopedSlots, getSlot, defaultFilter, camelizeObjectKeys, getPropertyFromItem } from '../../util/helpers'\nimport { breaking } from '../../util/console'\nimport { mergeClasses } from '../../util/mergeData'\n\nfunction filterFn (item: any, search: string | null, filter: DataTableFilterFunction) {\n return (header: DataTableHeader) => {\n const value = getObjectValueByPath(item, header.value)\n return header.filter ? header.filter(value, search, item) : filter(value, search, item)\n }\n}\n\nfunction searchTableItems (\n items: any[],\n search: string | null,\n headersWithCustomFilters: DataTableHeader[],\n headersWithoutCustomFilters: DataTableHeader[],\n customFilter: DataTableFilterFunction\n) {\n search = typeof search === 'string' ? search.trim() : null\n\n return items.filter(item => {\n // Headers with custom filters are evaluated whether or not a search term has been provided.\n // We need to match every filter to be included in the results.\n const matchesColumnFilters = headersWithCustomFilters.every(filterFn(item, search, defaultFilter))\n\n // Headers without custom filters are only filtered by the `search` property if it is defined.\n // We only need a single column to match the search term to be included in the results.\n const matchesSearchTerm = !search || headersWithoutCustomFilters.some(filterFn(item, search, customFilter))\n\n return matchesColumnFilters && matchesSearchTerm\n })\n}\n\n/* @vue/component */\nexport default mixins(\n VDataIterator,\n Loadable,\n).extend({\n name: 'v-data-table',\n\n // https://github.com/vuejs/vue/issues/6872\n directives: {\n ripple,\n },\n\n props: {\n headers: {\n type: Array,\n default: () => [],\n } as PropValidator,\n showSelect: Boolean,\n checkboxColor: String,\n showExpand: Boolean,\n showGroupBy: Boolean,\n // TODO: Fix\n // virtualRows: Boolean,\n height: [Number, String],\n hideDefaultHeader: Boolean,\n caption: String,\n dense: Boolean,\n headerProps: Object,\n calculateWidths: Boolean,\n fixedHeader: Boolean,\n headersLength: Number,\n expandIcon: {\n type: String,\n default: '$expand',\n },\n customFilter: {\n type: Function,\n default: defaultFilter,\n } as PropValidator,\n itemClass: {\n type: [String, Function],\n default: () => '',\n } as PropValidator,\n loaderHeight: {\n type: [Number, String],\n default: 4,\n },\n },\n\n data () {\n return {\n internalGroupBy: [] as string[],\n openCache: {} as { [key: string]: boolean },\n widths: [] as number[],\n }\n },\n\n computed: {\n computedHeaders (): DataTableHeader[] {\n if (!this.headers) return []\n const headers = this.headers.filter(h => h.value === undefined || !this.internalGroupBy.find(v => v === h.value))\n const defaultHeader = { text: '', sortable: false, width: '1px' }\n\n if (this.showSelect) {\n const index = headers.findIndex(h => h.value === 'data-table-select')\n if (index < 0) headers.unshift({ ...defaultHeader, value: 'data-table-select' })\n else headers.splice(index, 1, { ...defaultHeader, ...headers[index] })\n }\n\n if (this.showExpand) {\n const index = headers.findIndex(h => h.value === 'data-table-expand')\n if (index < 0) headers.unshift({ ...defaultHeader, value: 'data-table-expand' })\n else headers.splice(index, 1, { ...defaultHeader, ...headers[index] })\n }\n\n return headers\n },\n colspanAttrs (): object | undefined {\n return this.isMobile ? undefined : {\n colspan: this.headersLength || this.computedHeaders.length,\n }\n },\n columnSorters (): Record {\n return this.computedHeaders.reduce>((acc, header) => {\n if (header.sort) acc[header.value] = header.sort\n return acc\n }, {})\n },\n headersWithCustomFilters (): DataTableHeader[] {\n return this.headers.filter(header => header.filter && (!header.hasOwnProperty('filterable') || header.filterable === true))\n },\n headersWithoutCustomFilters (): DataTableHeader[] {\n return this.headers.filter(header => !header.filter && (!header.hasOwnProperty('filterable') || header.filterable === true))\n },\n sanitizedHeaderProps (): Record {\n return camelizeObjectKeys(this.headerProps)\n },\n computedItemsPerPage (): number {\n const itemsPerPage = this.options && this.options.itemsPerPage ? this.options.itemsPerPage : this.itemsPerPage\n const itemsPerPageOptions: DataItemsPerPageOption[] | undefined = this.sanitizedFooterProps.itemsPerPageOptions\n\n if (\n itemsPerPageOptions &&\n !itemsPerPageOptions.find(item => typeof item === 'number' ? item === itemsPerPage : item.value === itemsPerPage)\n ) {\n const firstOption = itemsPerPageOptions[0]\n return typeof firstOption === 'object' ? firstOption.value : firstOption\n }\n\n return itemsPerPage\n },\n groupByText (): string {\n return this.headers?.find(header => header.value === this.internalGroupBy?.[0])?.text ?? ''\n },\n },\n\n created () {\n const breakingProps = [\n ['sort-icon', 'header-props.sort-icon'],\n ['hide-headers', 'hide-default-header'],\n ['select-all', 'show-select'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n mounted () {\n // if ((!this.sortBy || !this.sortBy.length) && (!this.options.sortBy || !this.options.sortBy.length)) {\n // const firstSortable = this.headers.find(h => !('sortable' in h) || !!h.sortable)\n // if (firstSortable) this.updateOptions({ sortBy: [firstSortable.value], sortDesc: [false] })\n // }\n\n if (this.calculateWidths) {\n window.addEventListener('resize', this.calcWidths)\n this.calcWidths()\n }\n },\n\n beforeDestroy () {\n if (this.calculateWidths) {\n window.removeEventListener('resize', this.calcWidths)\n }\n },\n\n methods: {\n calcWidths () {\n this.widths = Array.from(this.$el.querySelectorAll('th')).map(e => e.clientWidth)\n },\n customFilterWithColumns (items: any[], search: string) {\n return searchTableItems(items, search, this.headersWithCustomFilters, this.headersWithoutCustomFilters, this.customFilter)\n },\n customSortWithHeaders (items: any[], sortBy: string[], sortDesc: boolean[], locale: string) {\n return this.customSort(items, sortBy, sortDesc, locale, this.columnSorters)\n },\n createItemProps (item: any, index: number): DataTableItemProps {\n const props = VDataIterator.options.methods.createItemProps.call(this, item, index)\n\n return Object.assign(props, { headers: this.computedHeaders })\n },\n genCaption (props: DataScopeProps) {\n if (this.caption) return [this.$createElement('caption', [this.caption])]\n\n return getSlot(this, 'caption', props, true)\n },\n genColgroup (props: DataScopeProps) {\n return this.$createElement('colgroup', this.computedHeaders.map(header => {\n return this.$createElement('col', {\n class: {\n divider: header.divider,\n },\n })\n }))\n },\n genLoading () {\n const th = this.$createElement('th', {\n staticClass: 'column',\n attrs: this.colspanAttrs,\n }, [this.genProgress()])\n\n const tr = this.$createElement('tr', {\n staticClass: 'v-data-table__progress',\n }, [th])\n\n return this.$createElement('thead', [tr])\n },\n genHeaders (props: DataScopeProps) {\n const data = {\n props: {\n ...this.sanitizedHeaderProps,\n headers: this.computedHeaders,\n options: props.options,\n mobile: this.isMobile,\n showGroupBy: this.showGroupBy,\n checkboxColor: this.checkboxColor,\n someItems: this.someItems,\n everyItem: this.everyItem,\n singleSelect: this.singleSelect,\n disableSort: this.disableSort,\n },\n on: {\n sort: props.sort,\n group: props.group,\n 'toggle-select-all': this.toggleSelectAll,\n },\n }\n\n // TODO: rename to 'head'? (thead, tbody, tfoot)\n const children: VNodeChildrenArrayContents = [getSlot(this, 'header', {\n ...data,\n isMobile: this.isMobile,\n })]\n\n if (!this.hideDefaultHeader) {\n const scopedSlots = getPrefixedScopedSlots('header.', this.$scopedSlots)\n children.push(this.$createElement(VDataTableHeader, {\n ...data,\n scopedSlots,\n }))\n }\n\n if (this.loading) children.push(this.genLoading())\n\n return children\n },\n genEmptyWrapper (content: VNodeChildrenArrayContents) {\n return this.$createElement('tr', {\n staticClass: 'v-data-table__empty-wrapper',\n }, [\n this.$createElement('td', {\n attrs: this.colspanAttrs,\n }, content),\n ])\n },\n genItems (items: any[], props: DataScopeProps) {\n const empty = this.genEmpty(props.originalItemsLength, props.pagination.itemsLength)\n if (empty) return [empty]\n\n return props.groupedItems\n ? this.genGroupedRows(props.groupedItems, props)\n : this.genRows(items, props)\n },\n genGroupedRows (groupedItems: ItemGroup[], props: DataScopeProps) {\n return groupedItems.map(group => {\n if (!this.openCache.hasOwnProperty(group.name)) this.$set(this.openCache, group.name, true)\n\n if (this.$scopedSlots.group) {\n return this.$scopedSlots.group({\n group: group.name,\n options: props.options,\n isMobile: this.isMobile,\n items: group.items,\n headers: this.computedHeaders,\n })\n } else {\n return this.genDefaultGroupedRow(group.name, group.items, props)\n }\n })\n },\n genDefaultGroupedRow (group: string, items: any[], props: DataScopeProps) {\n const isOpen = !!this.openCache[group]\n const children: VNodeChildren = [\n this.$createElement('template', { slot: 'row.content' }, this.genRows(items, props)),\n ]\n const toggleFn = () => this.$set(this.openCache, group, !this.openCache[group])\n const removeFn = () => props.updateOptions({ groupBy: [], groupDesc: [] })\n\n if (this.$scopedSlots['group.header']) {\n children.unshift(this.$createElement('template', { slot: 'column.header' }, [\n this.$scopedSlots['group.header']!({\n group,\n groupBy: props.options.groupBy,\n isMobile: this.isMobile,\n items,\n headers: this.computedHeaders,\n isOpen,\n toggle: toggleFn,\n remove: removeFn,\n }),\n ]))\n } else {\n const toggle = this.$createElement(VBtn, {\n staticClass: 'ma-0',\n props: {\n icon: true,\n small: true,\n },\n on: {\n click: toggleFn,\n },\n }, [this.$createElement(VIcon, [isOpen ? '$minus' : '$plus'])])\n\n const remove = this.$createElement(VBtn, {\n staticClass: 'ma-0',\n props: {\n icon: true,\n small: true,\n },\n on: {\n click: removeFn,\n },\n }, [this.$createElement(VIcon, ['$close'])])\n\n const column = this.$createElement('td', {\n staticClass: 'text-start',\n attrs: this.colspanAttrs,\n }, [toggle, `${this.groupByText}: ${group}`, remove])\n\n children.unshift(this.$createElement('template', { slot: 'column.header' }, [column]))\n }\n\n if (this.$scopedSlots['group.summary']) {\n children.push(this.$createElement('template', { slot: 'column.summary' }, [\n this.$scopedSlots['group.summary']!({\n group,\n groupBy: props.options.groupBy,\n isMobile: this.isMobile,\n items,\n headers: this.computedHeaders,\n isOpen,\n toggle: toggleFn,\n }),\n ]))\n }\n\n return this.$createElement(RowGroup, {\n key: group,\n props: {\n value: isOpen,\n },\n }, children)\n },\n genRows (items: any[], props: DataScopeProps) {\n return this.$scopedSlots.item ? this.genScopedRows(items, props) : this.genDefaultRows(items, props)\n },\n genScopedRows (items: any[], props: DataScopeProps) {\n const rows = []\n\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n rows.push(this.$scopedSlots.item!({\n ...this.createItemProps(item, i),\n isMobile: this.isMobile,\n }))\n\n if (this.isExpanded(item)) {\n rows.push(this.$scopedSlots['expanded-item']!({\n headers: this.computedHeaders,\n isMobile: this.isMobile,\n index: i,\n item,\n }))\n }\n }\n\n return rows\n },\n genDefaultRows (items: any[], props: DataScopeProps) {\n return this.$scopedSlots['expanded-item']\n ? items.map((item, index) => this.genDefaultExpandedRow(item, index))\n : items.map((item, index) => this.genDefaultSimpleRow(item, index))\n },\n genDefaultExpandedRow (item: any, index: number): VNode {\n const isExpanded = this.isExpanded(item)\n const classes = {\n 'v-data-table__expanded v-data-table__expanded__row': isExpanded,\n }\n const headerRow = this.genDefaultSimpleRow(item, index, classes)\n const expandedRow = this.$createElement('tr', {\n staticClass: 'v-data-table__expanded v-data-table__expanded__content',\n }, [this.$scopedSlots['expanded-item']!({\n headers: this.computedHeaders,\n isMobile: this.isMobile,\n item,\n })])\n\n return this.$createElement(RowGroup, {\n props: {\n value: isExpanded,\n },\n }, [\n this.$createElement('template', { slot: 'row.header' }, [headerRow]),\n this.$createElement('template', { slot: 'row.content' }, [expandedRow]),\n ])\n },\n genDefaultSimpleRow (item: any, index: number, classes: Record = {}): VNode {\n const scopedSlots = getPrefixedScopedSlots('item.', this.$scopedSlots)\n\n const data = this.createItemProps(item, index)\n\n if (this.showSelect) {\n const slot = scopedSlots['data-table-select']\n scopedSlots['data-table-select'] = slot ? () => slot({\n ...data,\n isMobile: this.isMobile,\n }) : () => this.$createElement(VSimpleCheckbox, {\n staticClass: 'v-data-table__checkbox',\n props: {\n value: data.isSelected,\n disabled: !this.isSelectable(item),\n color: this.checkboxColor ?? '',\n },\n on: {\n input: (val: boolean) => data.select(val),\n },\n })\n }\n\n if (this.showExpand) {\n const slot = scopedSlots['data-table-expand']\n scopedSlots['data-table-expand'] = slot ? () => slot(data) : () => this.$createElement(VIcon, {\n staticClass: 'v-data-table__expand-icon',\n class: {\n 'v-data-table__expand-icon--active': data.isExpanded,\n },\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n data.expand(!data.isExpanded)\n },\n },\n }, [this.expandIcon])\n }\n\n return this.$createElement(this.isMobile ? MobileRow : Row, {\n key: getObjectValueByPath(item, this.itemKey),\n class: mergeClasses(\n { ...classes, 'v-data-table__selected': data.isSelected },\n getPropertyFromItem(item, this.itemClass)\n ),\n props: {\n headers: this.computedHeaders,\n hideDefaultHeader: this.hideDefaultHeader,\n index,\n item,\n rtl: this.$vuetify.rtl,\n },\n scopedSlots,\n on: {\n // TODO: for click, the first argument should be the event, and the second argument should be data,\n // but this is a breaking change so it's for v3\n click: (event: MouseEvent) => this.$emit('click:row', item, data, event),\n contextmenu: (event: MouseEvent) => this.$emit('contextmenu:row', event, data),\n dblclick: (event: MouseEvent) => this.$emit('dblclick:row', event, data),\n },\n })\n },\n genBody (props: DataScopeProps): VNode | string | VNodeChildren {\n const data = {\n ...props,\n expand: this.expand,\n headers: this.computedHeaders,\n isExpanded: this.isExpanded,\n isMobile: this.isMobile,\n isSelected: this.isSelected,\n select: this.select,\n }\n\n if (this.$scopedSlots.body) {\n return this.$scopedSlots.body!(data)\n }\n\n return this.$createElement('tbody', [\n getSlot(this, 'body.prepend', data, true),\n this.genItems(props.items, props),\n getSlot(this, 'body.append', data, true),\n ])\n },\n genFoot (props: DataScopeProps): VNode[] | undefined {\n return this.$scopedSlots.foot?.(props)\n },\n genFooters (props: DataScopeProps) {\n const data = {\n props: {\n options: props.options,\n pagination: props.pagination,\n itemsPerPageText: '$vuetify.dataTable.itemsPerPageText',\n ...this.sanitizedFooterProps,\n },\n on: {\n 'update:options': (value: any) => props.updateOptions(value),\n },\n widths: this.widths,\n headers: this.computedHeaders,\n }\n\n const children: VNodeChildren = [\n getSlot(this, 'footer', data, true),\n ]\n\n if (!this.hideDefaultFooter) {\n children.push(this.$createElement(VDataFooter, {\n ...data,\n scopedSlots: getPrefixedScopedSlots('footer.', this.$scopedSlots),\n }))\n }\n\n return children\n },\n genDefaultScopedSlot (props: DataScopeProps): VNode {\n const simpleProps = {\n height: this.height,\n fixedHeader: this.fixedHeader,\n dense: this.dense,\n }\n\n // if (this.virtualRows) {\n // return this.$createElement(VVirtualTable, {\n // props: Object.assign(simpleProps, {\n // items: props.items,\n // height: this.height,\n // rowHeight: this.dense ? 24 : 48,\n // headerHeight: this.dense ? 32 : 48,\n // // TODO: expose rest of props from virtual table?\n // }),\n // scopedSlots: {\n // items: ({ items }) => this.genItems(items, props) as any,\n // },\n // }, [\n // this.proxySlot('body.before', [this.genCaption(props), this.genHeaders(props)]),\n // this.proxySlot('bottom', this.genFooters(props)),\n // ])\n // }\n\n return this.$createElement(VSimpleTable, {\n props: simpleProps,\n class: {\n 'v-data-table--mobile': this.isMobile,\n },\n }, [\n this.proxySlot('top', getSlot(this, 'top', {\n ...props,\n isMobile: this.isMobile,\n }, true)),\n this.genCaption(props),\n this.genColgroup(props),\n this.genHeaders(props),\n this.genBody(props),\n this.genFoot(props),\n this.proxySlot('bottom', this.genFooters(props)),\n ])\n },\n proxySlot (slot: string, content: VNodeChildren) {\n return this.$createElement('template', { slot }, content)\n },\n },\n\n render (): VNode {\n return this.$createElement(VData, {\n props: {\n ...this.$props,\n customFilter: this.customFilterWithColumns,\n customSort: this.customSortWithHeaders,\n itemsPerPage: this.computedItemsPerPage,\n },\n on: {\n 'update:options': (v: DataOptions, old: DataOptions) => {\n this.internalGroupBy = v.groupBy || []\n !deepEqual(v, old) && this.$emit('update:options', v)\n },\n 'update:page': (v: number) => this.$emit('update:page', v),\n 'update:items-per-page': (v: number) => this.$emit('update:items-per-page', v),\n 'update:sort-by': (v: string | string[]) => this.$emit('update:sort-by', v),\n 'update:sort-desc': (v: boolean | boolean[]) => this.$emit('update:sort-desc', v),\n 'update:group-by': (v: string | string[]) => this.$emit('update:group-by', v),\n 'update:group-desc': (v: boolean | boolean[]) => this.$emit('update:group-desc', v),\n pagination: (v: DataPagination, old: DataPagination) => !deepEqual(v, old) && this.$emit('pagination', v),\n 'current-items': (v: any[]) => {\n this.internalCurrentItems = v\n this.$emit('current-items', v)\n },\n 'page-count': (v: number) => this.$emit('page-count', v),\n },\n scopedSlots: {\n default: this.genDefaultScopedSlot,\n },\n })\n },\n})\n","// Styles\nimport './VChip.sass'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n// Components\nimport { VExpandXTransition } from '../transitions'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\nimport Routable from '../../mixins/routable'\nimport Sizeable from '../../mixins/sizeable'\n\n// Utilities\nimport { breaking } from '../../util/console'\n\n// Types\nimport { PropValidator, PropType } from 'vue/types/options'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Sizeable,\n Routable,\n Themeable,\n GroupableFactory('chipGroup'),\n ToggleableFactory('inputValue')\n).extend({\n name: 'v-chip',\n\n props: {\n active: {\n type: Boolean,\n default: true,\n },\n activeClass: {\n type: String,\n default (): string | undefined {\n if (!this.chipGroup) return ''\n\n return this.chipGroup.activeClass\n },\n } as any as PropValidator,\n close: Boolean,\n closeIcon: {\n type: String,\n default: '$delete',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n disabled: Boolean,\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: String,\n default: '$complete',\n },\n label: Boolean,\n link: Boolean,\n outlined: Boolean,\n pill: Boolean,\n tag: {\n type: String,\n default: 'span',\n },\n textColor: String,\n value: null as any as PropType,\n },\n\n data: () => ({\n proxyClass: 'v-chip--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-chip': true,\n ...Routable.options.computed.classes.call(this),\n 'v-chip--clickable': this.isClickable,\n 'v-chip--disabled': this.disabled,\n 'v-chip--draggable': this.draggable,\n 'v-chip--label': this.label,\n 'v-chip--link': this.isLink,\n 'v-chip--no-color': !this.color,\n 'v-chip--outlined': this.outlined,\n 'v-chip--pill': this.pill,\n 'v-chip--removable': this.hasClose,\n ...this.themeClasses,\n ...this.sizeableClasses,\n ...this.groupClasses,\n }\n },\n hasClose (): boolean {\n return Boolean(this.close)\n },\n isClickable (): boolean {\n return Boolean(\n Routable.options.computed.isClickable.call(this) ||\n this.chipGroup\n )\n },\n },\n\n created () {\n const breakingProps = [\n ['outline', 'outlined'],\n ['selected', 'input-value'],\n ['value', 'active'],\n ['@input', '@active.sync'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n methods: {\n click (e: MouseEvent): void {\n this.$emit('click', e)\n\n this.chipGroup && this.toggle()\n },\n genFilter (): VNode {\n const children = []\n\n if (this.isActive) {\n children.push(\n this.$createElement(VIcon, {\n staticClass: 'v-chip__filter',\n props: { left: true },\n }, this.filterIcon)\n )\n }\n\n return this.$createElement(VExpandXTransition, children)\n },\n genClose (): VNode {\n return this.$createElement(VIcon, {\n staticClass: 'v-chip__close',\n props: {\n right: true,\n size: 18,\n },\n attrs: {\n 'aria-label': this.$vuetify.lang.t(this.closeLabel),\n },\n on: {\n click: (e: Event) => {\n e.stopPropagation()\n e.preventDefault()\n\n this.$emit('click:close')\n this.$emit('update:active', false)\n },\n },\n }, this.closeIcon)\n },\n genContent (): VNode {\n return this.$createElement('span', {\n staticClass: 'v-chip__content',\n }, [\n this.filter && this.genFilter(),\n this.$slots.default,\n this.hasClose && this.genClose(),\n ])\n },\n },\n\n render (h): VNode {\n const children = [this.genContent()]\n let { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n draggable: this.draggable ? 'true' : undefined,\n tabindex: this.chipGroup && !this.disabled ? 0 : data.attrs!.tabindex,\n }\n data.directives!.push({\n name: 'show',\n value: this.active,\n })\n data = this.setBackgroundColor(this.color, data)\n\n const color = this.textColor || (this.outlined && this.color)\n\n return h(tag, this.setTextColor(color, data), children)\n },\n})\n","// Styles\nimport './VDivider.sass'\n\n// Types\nimport { VNode } from 'vue'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\nexport default Themeable.extend({\n name: 'v-divider',\n\n props: {\n inset: Boolean,\n vertical: Boolean,\n },\n\n render (h): VNode {\n // WAI-ARIA attributes\n let orientation\n if (!this.$attrs.role || this.$attrs.role === 'separator') {\n orientation = this.vertical ? 'vertical' : 'horizontal'\n }\n return h('hr', {\n class: {\n 'v-divider': true,\n 'v-divider--inset': this.inset,\n 'v-divider--vertical': this.vertical,\n ...this.themeClasses,\n },\n attrs: {\n role: 'separator',\n 'aria-orientation': orientation,\n ...this.$attrs,\n },\n on: this.$listeners,\n })\n },\n})\n","// Styles\nimport './VSubheader.sass'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-subheader',\n\n props: {\n inset: Boolean,\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-subheader',\n class: {\n 'v-subheader--inset': this.inset,\n ...this.themeClasses,\n },\n attrs: this.$attrs,\n on: this.$listeners,\n }, this.$slots.default)\n },\n})\n"],"sourceRoot":""}