{"version":3,"sources":["../../../../src/components/VDataTable/mixins/header.ts"],"names":[],"mappings":"AAEA,OAAO,KAAP,MAAkB,aAAlB;AACA,OAAO,eAAP,MAA4B,iCAA5B;AACA,OAAO,MAAP,MAAmB,4BAAnB;AAGA,OAAO,MAAP,MAAmB,sBAAnB;AAqBA,eAAe,MAAM,GAAY,MAAlB,CAAyB;AACtC;AACA,EAAA,UAAU,EAAE;AACV,IAAA;AADU,GAF0B;AAMtC,EAAA,KAAK,EAAE;AACL,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,KADC;AAEP,MAAA,QAAQ,EAAE;AAFH,KADJ;AAKL,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,MADC;AAEP,MAAA,OAAO,EAAE,OAAO;AACd,QAAA,IAAI,EAAE,CADQ;AAEd,QAAA,YAAY,EAAE,EAFA;AAGd,QAAA,MAAM,EAAE,EAHM;AAId,QAAA,QAAQ,EAAE,EAJI;AAKd,QAAA,OAAO,EAAE,EALK;AAMd,QAAA,SAAS,EAAE,EANG;AAOd,QAAA,SAAS,EAAE,KAPG;AAQd,QAAA,QAAQ,EAAE;AARI,OAAP;AAFF,KALJ;AAkBL,IAAA,QAAQ,EAAE;AACR,MAAA,IAAI,EAAE,MADE;AAER,MAAA,OAAO,EAAE;AAFD,KAlBL;AAsBL,IAAA,SAAS,EAAE,OAtBN;AAuBL,IAAA,SAAS,EAAE,OAvBN;AAwBL,IAAA,WAAW,EAAE,OAxBR;AAyBL,IAAA,YAAY,EAAE,OAzBT;AA0BL,IAAA,WAAW,EAAE;AA1BR,GAN+B;AAmCtC,EAAA,OAAO,EAAE;AACP,IAAA,YAAY,GAAA;AACV,YAAM,IAAI,GAAG;AACX,QAAA,KAAK,EAAE;AACL,UAAA,KAAK,EAAE,KAAK,SADP;AAEL,UAAA,aAAa,EAAE,CAAC,KAAK,SAAN,IAAmB,KAAK;AAFlC,SADI;AAKX,QAAA,EAAE,EAAE;AACF,UAAA,KAAK,EAAG,CAAD,IAAgB,KAAK,KAAL,CAAW,mBAAX,EAAgC,CAAhC;AADrB;AALO,OAAb;;AAUA,UAAI,KAAK,YAAL,CAAkB,mBAAlB,CAAJ,EAA4C;AAC1C,eAAO,KAAK,YAAL,CAAkB,mBAAlB,EAAwC,IAAxC,CAAP;AACD;;AAED,aAAO,KAAK,cAAL,CAAoB,eAApB,EAAqC;AAC1C,QAAA,WAAW,EAAE,wBAD6B;AAE1C,WAAG;AAFuC,OAArC,CAAP;AAID,KApBM;;AAqBP,IAAA,WAAW,GAAA;AACT,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,KAAK,EAAE;AACL,UAAA,IAAI,EAAE;AADD;AADyB,OAA3B,EAIJ,CAAC,KAAK,QAAN,CAJI,CAAP;AAKD;;AA3BM;AAnC6B,CAAzB,CAAf","sourcesContent":["import { VDataTable } from '../'\nimport { DataOptions } from '../../VData/VData'\nimport VIcon from '../../VIcon'\nimport VSimpleCheckbox from '../../VCheckbox/VSimpleCheckbox'\nimport ripple from '../../../directives/ripple'\n\nimport Vue, { PropType } from 'vue'\nimport mixins from '../../../util/mixins'\nimport { compareFn } from '../../../util/helpers'\n\nexport interface TableHeader {\n text: string\n value: string\n align?: 'start' | 'center' | 'end'\n sortable?: boolean\n divider?: boolean\n class?: string | string[]\n width?: string | number\n filter?: (value: any, search: string | null, item: any) => boolean\n sort?: compareFn\n}\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 as PropType,\n required: true,\n },\n options: {\n type: Object as PropType,\n default: () => ({\n page: 1,\n itemsPerPage: 10,\n sortBy: [],\n sortDesc: [],\n groupBy: [],\n groupDesc: [],\n multiSort: false,\n mustSort: false,\n }),\n },\n sortIcon: {\n type: String,\n default: '$vuetify.icons.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 },\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 props: {\n size: 18,\n },\n }, [this.sortIcon])\n },\n },\n})\n"],"sourceRoot":"","file":"header.js"}