vuetify 2.2.11 → 2.2.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/dist/json/attributes.json +12 -4
  2. package/dist/json/tags.json +2 -0
  3. package/dist/json/web-types.json +36 -13
  4. package/dist/vuetify.css +19 -8
  5. package/dist/vuetify.css.map +1 -1
  6. package/dist/vuetify.js +123 -78
  7. package/dist/vuetify.js.map +1 -1
  8. package/dist/vuetify.min.css +2 -2
  9. package/dist/vuetify.min.js +2 -2
  10. package/es5/components/VAutocomplete/VAutocomplete.js +4 -4
  11. package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
  12. package/es5/components/VChip/VChip.js +2 -1
  13. package/es5/components/VChip/VChip.js.map +1 -1
  14. package/es5/components/VData/VData.js +6 -1
  15. package/es5/components/VData/VData.js.map +1 -1
  16. package/es5/components/VDataIterator/VDataIterator.js +16 -3
  17. package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
  18. package/es5/components/VDataTable/VDataTable.js +3 -13
  19. package/es5/components/VDataTable/VDataTable.js.map +1 -1
  20. package/es5/components/VDialog/VDialog.js +33 -27
  21. package/es5/components/VDialog/VDialog.js.map +1 -1
  22. package/es5/components/VIcon/VIcon.js +2 -2
  23. package/es5/components/VIcon/VIcon.js.map +1 -1
  24. package/es5/components/VList/VList.js +1 -1
  25. package/es5/components/VList/VList.js.map +1 -1
  26. package/es5/components/VMenu/VMenu.js +13 -11
  27. package/es5/components/VMenu/VMenu.js.map +1 -1
  28. package/es5/components/VRangeSlider/VRangeSlider.js +1 -0
  29. package/es5/components/VRangeSlider/VRangeSlider.js.map +1 -1
  30. package/es5/components/VSelect/VSelect.js +4 -3
  31. package/es5/components/VSelect/VSelect.js.map +1 -1
  32. package/es5/components/VTimePicker/VTimePicker.js +2 -1
  33. package/es5/components/VTimePicker/VTimePicker.js.map +1 -1
  34. package/es5/components/VTimePicker/VTimePickerTitle.js +6 -2
  35. package/es5/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  36. package/es5/components/VTooltip/VTooltip.js +6 -4
  37. package/es5/components/VTooltip/VTooltip.js.map +1 -1
  38. package/es5/framework.js +1 -1
  39. package/es5/mixins/menuable/index.js +11 -4
  40. package/es5/mixins/menuable/index.js.map +1 -1
  41. package/es5/services/icons/presets/fa4.js +1 -1
  42. package/es5/services/icons/presets/fa4.js.map +1 -1
  43. package/lib/components/VAutocomplete/VAutocomplete.js +4 -4
  44. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  45. package/lib/components/VChip/VChip.js +2 -1
  46. package/lib/components/VChip/VChip.js.map +1 -1
  47. package/lib/components/VData/VData.js +7 -1
  48. package/lib/components/VData/VData.js.map +1 -1
  49. package/lib/components/VDataIterator/VDataIterator.js +16 -4
  50. package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
  51. package/lib/components/VDataTable/VDataTable.js +3 -14
  52. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  53. package/lib/components/VDialog/VDialog.js +31 -26
  54. package/lib/components/VDialog/VDialog.js.map +1 -1
  55. package/lib/components/VIcon/VIcon.js +2 -2
  56. package/lib/components/VIcon/VIcon.js.map +1 -1
  57. package/lib/components/VList/VList.js +1 -1
  58. package/lib/components/VList/VList.js.map +1 -1
  59. package/lib/components/VMenu/VMenu.js +9 -9
  60. package/lib/components/VMenu/VMenu.js.map +1 -1
  61. package/lib/components/VRangeSlider/VRangeSlider.js +1 -0
  62. package/lib/components/VRangeSlider/VRangeSlider.js.map +1 -1
  63. package/lib/components/VSelect/VSelect.js +4 -3
  64. package/lib/components/VSelect/VSelect.js.map +1 -1
  65. package/lib/components/VTimePicker/VTimePicker.js +2 -1
  66. package/lib/components/VTimePicker/VTimePicker.js.map +1 -1
  67. package/lib/components/VTimePicker/VTimePickerTitle.js +6 -2
  68. package/lib/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  69. package/lib/components/VTooltip/VTooltip.js +2 -2
  70. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  71. package/lib/framework.js +1 -1
  72. package/lib/mixins/menuable/index.js +7 -2
  73. package/lib/mixins/menuable/index.js.map +1 -1
  74. package/lib/services/icons/presets/fa4.js +1 -1
  75. package/lib/services/icons/presets/fa4.js.map +1 -1
  76. package/package.json +2 -2
  77. package/src/components/VAutocomplete/VAutocomplete.ts +4 -4
  78. package/src/components/VAutocomplete/__tests__/VAutocomplete.spec.ts +11 -0
  79. package/src/components/VAutocomplete/__tests__/VAutocomplete2.spec.ts +1 -1
  80. package/src/components/VAutocomplete/__tests__/VAutocomplete3.spec.ts +34 -0
  81. package/src/components/VChip/VChip.ts +1 -0
  82. package/src/components/VChip/__tests__/__snapshots__/VChip.spec.ts.snap +1 -0
  83. package/src/components/VData/VData.ts +6 -1
  84. package/src/components/VDataIterator/VDataIterator.ts +14 -3
  85. package/src/components/VDataIterator/__tests__/VDataIterator.spec.ts +26 -0
  86. package/src/components/VDataIterator/__tests__/__snapshots__/VDataFooter.spec.ts.snap +8 -8
  87. package/src/components/VDataIterator/__tests__/__snapshots__/VDataIterator.spec.ts.snap +8 -8
  88. package/src/components/VDataTable/VDataTable.ts +3 -14
  89. package/src/components/VDataTable/VSimpleTable.sass +12 -6
  90. package/src/components/VDataTable/__tests__/VDataTable.spec.ts +119 -0
  91. package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +620 -53
  92. package/src/components/VDataTable/__tests__/__snapshots__/VDataTableHeader.spec.ts.snap +15 -15
  93. package/src/components/VDialog/VDialog.ts +29 -25
  94. package/src/components/VIcon/VIcon.ts +2 -2
  95. package/src/components/VIcon/__tests__/__snapshots__/VIcon.spec.ts.snap +2 -2
  96. package/src/components/VList/VList.ts +1 -1
  97. package/src/components/VMenu/VMenu.ts +11 -13
  98. package/src/components/VMenu/__tests__/VMenu.spec.ts +17 -0
  99. package/src/components/VMenu/__tests__/__snapshots__/VMenu.spec.ts.snap +18 -0
  100. package/src/components/VOverflowBtn/__tests__/__snapshots__/VOverflowBtn.spec.ts.snap +0 -66
  101. package/src/components/VRangeSlider/VRangeSlider.ts +1 -0
  102. package/src/components/VRangeSlider/__tests__/VRangeSlider.spec.ts +8 -0
  103. package/src/components/VRangeSlider/__tests__/__snapshots__/VRangeSlider.spec.ts.snap +4 -4
  104. package/src/components/VSelect/VSelect.ts +4 -3
  105. package/src/components/VSelect/__tests__/__snapshots__/VSelect.spec.ts.snap +8 -8
  106. package/src/components/VSelect/__tests__/__snapshots__/VSelect2.spec.ts.snap +4 -4
  107. package/src/components/VSelect/__tests__/__snapshots__/VSelect3.spec.ts.snap +2 -2
  108. package/src/components/VSlideGroup/VSlideGroup.sass +2 -2
  109. package/src/components/VTimePicker/VTimePicker.ts +2 -1
  110. package/src/components/VTimePicker/VTimePickerTitle.sass +5 -0
  111. package/src/components/VTimePicker/VTimePickerTitle.ts +6 -2
  112. package/src/components/VTimePicker/__tests__/__snapshots__/VTimePicker.spec.ts.snap +94 -14
  113. package/src/components/VTooltip/VTooltip.ts +2 -2
  114. package/src/mixins/menuable/index.ts +5 -2
  115. package/src/services/icons/__tests__/__snapshots__/icons.spec.ts.snap +1 -1
  116. package/src/services/icons/presets/fa4.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VDataTable/VDataTable.ts"],"names":[],"mappings":"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","sourcesContent":["import './VDataTable.sass'\n\n// Types\nimport { VNode, VNodeChildrenArrayContents, VNodeChildren, PropType } from 'vue'\nimport {\n DataTableHeader,\n DataTableFilterFunction,\n DataScopeProps,\n DataOptions,\n DataPagination,\n DataTableCompareFunction,\n DataItemsPerPageOption,\n} from 'types'\nimport { PropValidator } from 'vue/types/options'\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 VProgressLinear from '../VProgressLinear'\nimport Row from './Row'\nimport RowGroup from './RowGroup'\nimport VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox'\nimport VSimpleTable from './VSimpleTable'\nimport MobileRow from './MobileRow'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Helpers\nimport { deepEqual, getObjectValueByPath, getPrefixedScopedSlots, getSlot, defaultFilter, camelizeObjectKeys } from '../../util/helpers'\nimport { breaking } from '../../util/console'\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 let filtered = items\n search = typeof search === 'string' ? search.trim() : null\n if (search && headersWithoutCustomFilters.length) {\n filtered = items.filter(item => headersWithoutCustomFilters.some(filterFn(item, search, customFilter)))\n }\n\n if (headersWithCustomFilters.length) {\n filtered = filtered.filter(item => headersWithCustomFilters.every(filterFn(item, search, defaultFilter)))\n }\n\n return filtered\n}\n\n/* @vue/component */\nexport default VDataIterator.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<DataTableHeader[]>,\n showSelect: Boolean,\n showExpand: Boolean,\n showGroupBy: Boolean,\n // TODO: Fix\n // virtualRows: Boolean,\n mobileBreakpoint: {\n type: Number,\n default: 600,\n },\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 as PropType<typeof defaultFilter>,\n default: defaultFilter,\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 isMobile (): boolean {\n // Guard against SSR render\n // https://github.com/vuetifyjs/vuetify/issues/7410\n if (this.$vuetify.breakpoint.width === 0) return false\n\n return this.$vuetify.breakpoint.width < this.mobileBreakpoint\n },\n columnSorters (): Record<string, DataTableCompareFunction> {\n return this.computedHeaders.reduce<Record<string, DataTableCompareFunction>>((acc, header) => {\n if (header.sort) acc[header.value] = header.sort\n return acc\n }, {})\n },\n headersWithCustomFilters (): DataTableHeader[] {\n return this.computedHeaders.filter(header => header.filter && (!header.hasOwnProperty('filterable') || header.filterable === true))\n },\n headersWithoutCustomFilters (): DataTableHeader[] {\n return this.computedHeaders.filter(header => !header.filter && (!header.hasOwnProperty('filterable') || header.filterable === true))\n },\n sanitizedHeaderProps (): Record<string, any> {\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 },\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) {\n const props = VDataIterator.options.methods.createItemProps.call(this, item)\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 progress = this.$slots['progress'] ? this.$slots.progress : this.$createElement(VProgressLinear, {\n props: {\n color: this.loading === true ? 'primary' : this.loading,\n height: 2,\n indeterminate: true,\n },\n })\n\n const th = this.$createElement('th', {\n staticClass: 'column',\n attrs: this.colspanAttrs,\n }, [progress])\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 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 const children: VNodeChildrenArrayContents = [getSlot(this, 'header', data)]\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: Record<string, any[]>, props: DataScopeProps) {\n const groups = Object.keys(groupedItems || {})\n\n return groups.map(group => {\n if (!this.openCache.hasOwnProperty(group)) this.$set(this.openCache, group, true)\n\n if (this.$scopedSlots.group) {\n return this.$scopedSlots.group({\n group,\n options: props.options,\n items: groupedItems![group],\n headers: this.computedHeaders,\n })\n } else {\n return this.genDefaultGroupedRow(group, groupedItems[group], 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.genDefaultRows(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']!({ group, groupBy: props.options.groupBy, items, headers: this.computedHeaders, isOpen, toggle: toggleFn, remove: removeFn }),\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, `${props.options.groupBy[0]}: ${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']!({ group, groupBy: props.options.groupBy, items, headers: this.computedHeaders }),\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),\n index: i,\n }))\n\n if (this.isExpanded(item)) {\n rows.push(this.$scopedSlots['expanded-item']!({ item, headers: this.computedHeaders }))\n }\n }\n\n return rows\n },\n genDefaultRows (items: any[], props: DataScopeProps) {\n return this.$scopedSlots['expanded-item']\n ? items.map(item => this.genDefaultExpandedRow(item))\n : items.map(item => this.genDefaultSimpleRow(item))\n },\n genDefaultExpandedRow (item: any): 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, classes)\n const expandedRow = this.$createElement('tr', {\n staticClass: 'v-data-table__expanded v-data-table__expanded__content',\n }, [this.$scopedSlots['expanded-item']!({ item, headers: this.computedHeaders })])\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, classes: Record<string, boolean> = {}): VNode {\n const scopedSlots = getPrefixedScopedSlots('item.', this.$scopedSlots)\n\n const data = this.createItemProps(item)\n\n if (this.showSelect) {\n const slot = scopedSlots['data-table-select']\n scopedSlots['data-table-select'] = slot ? () => slot(data) : () => this.$createElement(VSimpleCheckbox, {\n staticClass: 'v-data-table__checkbox',\n props: {\n value: data.isSelected,\n disabled: !this.isSelectable(item),\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: {\n ...classes,\n 'v-data-table__selected': data.isSelected,\n },\n props: {\n headers: this.computedHeaders,\n item,\n rtl: this.$vuetify.rtl,\n },\n scopedSlots,\n on: {\n // TODO: first argument should be the data object\n // but this is a breaking change so it's for v3\n click: () => this.$emit('click:row', item, 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 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 }, [\n this.proxySlot('top', getSlot(this, 'top', props, true)),\n this.genCaption(props),\n this.genColgroup(props),\n this.genHeaders(props),\n this.genBody(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 as any,\n },\n })\n },\n})\n"],"sourceRoot":"","file":"VDataTable.js"}
1
+ {"version":3,"sources":["../../../src/components/VDataTable/VDataTable.ts"],"names":[],"mappings":"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","sourcesContent":["import './VDataTable.sass'\n\n// Types\nimport { VNode, VNodeChildrenArrayContents, VNodeChildren, PropType } from 'vue'\nimport {\n DataTableHeader,\n DataTableFilterFunction,\n DataScopeProps,\n DataOptions,\n DataPagination,\n DataTableCompareFunction,\n DataItemsPerPageOption,\n} from 'types'\nimport { PropValidator } from 'vue/types/options'\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 VProgressLinear from '../VProgressLinear'\nimport Row from './Row'\nimport RowGroup from './RowGroup'\nimport VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox'\nimport VSimpleTable from './VSimpleTable'\nimport MobileRow from './MobileRow'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Helpers\nimport { deepEqual, getObjectValueByPath, getPrefixedScopedSlots, getSlot, defaultFilter, camelizeObjectKeys } from '../../util/helpers'\nimport { breaking } from '../../util/console'\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 let filtered = items\n search = typeof search === 'string' ? search.trim() : null\n if (search && headersWithoutCustomFilters.length) {\n filtered = items.filter(item => headersWithoutCustomFilters.some(filterFn(item, search, customFilter)))\n }\n\n if (headersWithCustomFilters.length) {\n filtered = filtered.filter(item => headersWithCustomFilters.every(filterFn(item, search, defaultFilter)))\n }\n\n return filtered\n}\n\n/* @vue/component */\nexport default VDataIterator.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<DataTableHeader[]>,\n showSelect: Boolean,\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 as PropType<typeof defaultFilter>,\n default: defaultFilter,\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<string, DataTableCompareFunction> {\n return this.computedHeaders.reduce<Record<string, DataTableCompareFunction>>((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<string, any> {\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 },\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) {\n const props = VDataIterator.options.methods.createItemProps.call(this, item)\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 progress = this.$slots['progress'] ? this.$slots.progress : this.$createElement(VProgressLinear, {\n props: {\n color: this.loading === true ? 'primary' : this.loading,\n height: 2,\n indeterminate: true,\n },\n })\n\n const th = this.$createElement('th', {\n staticClass: 'column',\n attrs: this.colspanAttrs,\n }, [progress])\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 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 const children: VNodeChildrenArrayContents = [getSlot(this, 'header', data)]\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: Record<string, any[]>, props: DataScopeProps) {\n const groups = Object.keys(groupedItems || {})\n\n return groups.map(group => {\n if (!this.openCache.hasOwnProperty(group)) this.$set(this.openCache, group, true)\n\n if (this.$scopedSlots.group) {\n return this.$scopedSlots.group({\n group,\n options: props.options,\n items: groupedItems![group],\n headers: this.computedHeaders,\n })\n } else {\n return this.genDefaultGroupedRow(group, groupedItems[group], 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']!({ group, groupBy: props.options.groupBy, items, headers: this.computedHeaders, isOpen, toggle: toggleFn, remove: removeFn }),\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, `${props.options.groupBy[0]}: ${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']!({ group, groupBy: props.options.groupBy, items, headers: this.computedHeaders }),\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),\n index: i,\n }))\n\n if (this.isExpanded(item)) {\n rows.push(this.$scopedSlots['expanded-item']!({ item, headers: this.computedHeaders }))\n }\n }\n\n return rows\n },\n genDefaultRows (items: any[], props: DataScopeProps) {\n return this.$scopedSlots['expanded-item']\n ? items.map(item => this.genDefaultExpandedRow(item))\n : items.map(item => this.genDefaultSimpleRow(item))\n },\n genDefaultExpandedRow (item: any): 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, classes)\n const expandedRow = this.$createElement('tr', {\n staticClass: 'v-data-table__expanded v-data-table__expanded__content',\n }, [this.$scopedSlots['expanded-item']!({ item, headers: this.computedHeaders })])\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, classes: Record<string, boolean> = {}): VNode {\n const scopedSlots = getPrefixedScopedSlots('item.', this.$scopedSlots)\n\n const data = this.createItemProps(item)\n\n if (this.showSelect) {\n const slot = scopedSlots['data-table-select']\n scopedSlots['data-table-select'] = slot ? () => slot(data) : () => this.$createElement(VSimpleCheckbox, {\n staticClass: 'v-data-table__checkbox',\n props: {\n value: data.isSelected,\n disabled: !this.isSelectable(item),\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: {\n ...classes,\n 'v-data-table__selected': data.isSelected,\n },\n props: {\n headers: this.computedHeaders,\n item,\n rtl: this.$vuetify.rtl,\n },\n scopedSlots,\n on: {\n // TODO: first argument should be the data object\n // but this is a breaking change so it's for v3\n click: () => this.$emit('click:row', item, 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 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 }, [\n this.proxySlot('top', getSlot(this, 'top', props, true)),\n this.genCaption(props),\n this.genColgroup(props),\n this.genHeaders(props),\n this.genBody(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 as any,\n },\n })\n },\n})\n"],"sourceRoot":"","file":"VDataTable.js"}
@@ -229,19 +229,44 @@ var _default = baseMixins.extend({
229
229
  focusable.length && focusable[0].focus();
230
230
  }
231
231
  },
232
+ genContent: function genContent() {
233
+ var _this4 = this;
234
+
235
+ return this.showLazyContent(function () {
236
+ return [_this4.$createElement(_VThemeProvider.VThemeProvider, {
237
+ props: {
238
+ root: true,
239
+ light: _this4.light,
240
+ dark: _this4.dark
241
+ }
242
+ }, [_this4.$createElement('div', {
243
+ class: _this4.contentClasses,
244
+ attrs: _objectSpread({
245
+ role: 'document',
246
+ tabindex: _this4.isActive ? 0 : undefined
247
+ }, _this4.getScopeIdAttrs()),
248
+ on: {
249
+ keydown: _this4.onKeydown
250
+ },
251
+ style: {
252
+ zIndex: _this4.activeZIndex
253
+ },
254
+ ref: 'content'
255
+ }, [_this4.genTransition()])])];
256
+ });
257
+ },
232
258
  genTransition: function genTransition() {
233
- var content = this.genContent();
259
+ var content = this.genInnerContent();
234
260
  if (!this.transition) return content;
235
261
  return this.$createElement('transition', {
236
262
  props: {
237
263
  name: this.transition,
238
- origin: this.origin
264
+ origin: this.origin,
265
+ appear: true
239
266
  }
240
- }, this.showLazyContent(function () {
241
- return [content];
242
- }));
267
+ }, [content]);
243
268
  },
244
- genContent: function genContent() {
269
+ genInnerContent: function genInnerContent() {
245
270
  var data = {
246
271
  class: this.classes,
247
272
  ref: 'dialog',
@@ -266,26 +291,7 @@ var _default = baseMixins.extend({
266
291
  };
267
292
  }
268
293
 
269
- return this.$createElement('div', {
270
- class: this.contentClasses,
271
- attrs: _objectSpread({
272
- role: 'document',
273
- tabindex: this.isActive ? 0 : undefined
274
- }, this.getScopeIdAttrs()),
275
- on: {
276
- keydown: this.onKeydown
277
- },
278
- style: {
279
- zIndex: this.activeZIndex
280
- },
281
- ref: 'content'
282
- }, [this.$createElement('div', data, [this.$createElement(_VThemeProvider.VThemeProvider, {
283
- props: {
284
- root: true,
285
- light: this.light,
286
- dark: this.dark
287
- }
288
- }, this.getContentSlot())])]);
294
+ return this.$createElement('div', data, this.getContentSlot());
289
295
  }
290
296
  },
291
297
  render: function render(h) {
@@ -297,7 +303,7 @@ var _default = baseMixins.extend({
297
303
  attrs: {
298
304
  role: 'dialog'
299
305
  }
300
- }, [this.genActivator(), this.genTransition()]);
306
+ }, [this.genActivator(), this.genContent()]);
301
307
  }
302
308
  });
303
309
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VDialog/VDialog.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VDialog.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Overlayable from '../../mixins/overlayable'\nimport Returnable from '../../mixins/returnable'\nimport Stackable from '../../mixins/stackable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Activatable,\n Dependent,\n Detachable,\n Overlayable,\n Returnable,\n Stackable,\n Toggleable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-dialog',\n\n directives: { ClickOutside },\n\n props: {\n dark: Boolean,\n disabled: Boolean,\n fullscreen: Boolean,\n light: Boolean,\n maxWidth: {\n type: [String, Number],\n default: 'none',\n },\n noClickAnimation: Boolean,\n origin: {\n type: String,\n default: 'center center',\n },\n persistent: Boolean,\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n transition: {\n type: [String, Boolean],\n default: 'dialog-transition',\n },\n width: {\n type: [String, Number],\n default: 'auto',\n },\n },\n\n data () {\n return {\n activatedBy: null as EventTarget | null,\n animate: false,\n animateTimeout: -1,\n isActive: !!this.value,\n stackMinZIndex: 200,\n }\n },\n\n computed: {\n classes (): object {\n return {\n [(`v-dialog ${this.contentClass}`).trim()]: true,\n 'v-dialog--active': this.isActive,\n 'v-dialog--persistent': this.persistent,\n 'v-dialog--fullscreen': this.fullscreen,\n 'v-dialog--scrollable': this.scrollable,\n 'v-dialog--animated': this.animate,\n }\n },\n contentClasses (): object {\n return {\n 'v-dialog__content': true,\n 'v-dialog__content--active': this.isActive,\n }\n },\n hasActivator (): boolean {\n return Boolean(\n !!this.$slots.activator ||\n !!this.$scopedSlots.activator\n )\n },\n },\n\n watch: {\n isActive (val) {\n if (val) {\n this.show()\n this.hideScroll()\n } else {\n this.removeOverlay()\n this.unbind()\n }\n },\n fullscreen (val) {\n if (!this.isActive) return\n\n if (val) {\n this.hideScroll()\n this.removeOverlay(false)\n } else {\n this.showScroll()\n this.genOverlay()\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.isBooted = this.isActive\n this.isActive && this.show()\n })\n },\n\n beforeDestroy () {\n if (typeof window !== 'undefined') this.unbind()\n },\n\n methods: {\n animateClick () {\n this.animate = false\n // Needed for when clicking very fast\n // outside of the dialog\n this.$nextTick(() => {\n this.animate = true\n window.clearTimeout(this.animateTimeout)\n this.animateTimeout = window.setTimeout(() => (this.animate = false), 150)\n })\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n // Ignore the click if the dialog is closed or destroyed,\n // if it was on an element inside the content,\n // if it was dragged onto the overlay (#6969),\n // or if this isn't the topmost dialog (#9907)\n return !(\n this._isDestroyed ||\n !this.isActive ||\n this.$refs.content.contains(target) ||\n (this.overlay && target && !this.overlay.$el.contains(target))\n ) && this.activeZIndex >= this.getMaxZIndex()\n },\n hideScroll () {\n if (this.fullscreen) {\n document.documentElement.classList.add('overflow-y-hidden')\n } else {\n Overlayable.options.methods.hideScroll.call(this)\n }\n },\n show () {\n !this.fullscreen && !this.hideOverlay && this.genOverlay()\n this.$nextTick(() => {\n this.$refs.content.focus()\n this.bind()\n })\n },\n bind () {\n window.addEventListener('focusin', this.onFocusin)\n },\n unbind () {\n window.removeEventListener('focusin', this.onFocusin)\n },\n onClickOutside (e: Event) {\n this.$emit('click:outside', e)\n\n if (this.persistent) {\n this.noClickAnimation || this.animateClick()\n } else {\n this.isActive = false\n }\n },\n onKeydown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc && !this.getOpenDependents().length) {\n if (!this.persistent) {\n this.isActive = false\n const activator = this.getActivator()\n this.$nextTick(() => activator && (activator as HTMLElement).focus())\n } else if (!this.noClickAnimation) {\n this.animateClick()\n }\n }\n this.$emit('keydown', e)\n },\n // On focus change, wrap focus to stay inside the dialog\n // https://github.com/vuetifyjs/vuetify/issues/6892\n onFocusin (e: Event) {\n if (!e || !this.retainFocus) return\n\n const target = e.target as HTMLElement\n\n if (\n !!target &&\n // It isn't the document or the dialog body\n ![document, this.$refs.content].includes(target) &&\n // It isn't inside the dialog body\n !this.$refs.content.contains(target) &&\n // We're the topmost dialog\n this.activeZIndex >= this.getMaxZIndex() &&\n // It isn't inside a dependent element (like a menu)\n !this.getOpenDependentElements().some(el => el.contains(target))\n // So we must have focused something outside the dialog and its children\n ) {\n // Find and focus the first available element inside the dialog\n const focusable = this.$refs.content.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])')\n focusable.length && (focusable[0] as HTMLElement).focus()\n }\n },\n genTransition () {\n const content = this.genContent()\n\n if (!this.transition) return content\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n },\n }, this.showLazyContent(() => [content]))\n },\n genContent () {\n const data = {\n class: this.classes,\n ref: 'dialog',\n directives: [\n {\n name: 'click-outside',\n value: this.onClickOutside,\n args: {\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n },\n { name: 'show', value: this.isActive },\n ],\n style: {},\n }\n\n if (!this.fullscreen) {\n data.style = {\n maxWidth: this.maxWidth === 'none' ? undefined : convertToUnit(this.maxWidth),\n width: this.width === 'auto' ? undefined : convertToUnit(this.width),\n }\n }\n\n return this.$createElement('div', {\n class: this.contentClasses,\n attrs: {\n role: 'document',\n tabindex: this.isActive ? 0 : undefined,\n ...this.getScopeIdAttrs(),\n },\n on: { keydown: this.onKeydown },\n style: { zIndex: this.activeZIndex },\n ref: 'content',\n }, [\n this.$createElement('div', data, [\n this.$createElement(VThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, this.getContentSlot()),\n ]),\n ])\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-dialog__container',\n class: {\n 'v-dialog__container--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n },\n attrs: { role: 'dialog' },\n }, [\n this.genActivator(),\n this.genTransition(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VDialog.js"}
1
+ {"version":3,"sources":["../../../src/components/VDialog/VDialog.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VDialog.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Overlayable from '../../mixins/overlayable'\nimport Returnable from '../../mixins/returnable'\nimport Stackable from '../../mixins/stackable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Activatable,\n Dependent,\n Detachable,\n Overlayable,\n Returnable,\n Stackable,\n Toggleable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-dialog',\n\n directives: { ClickOutside },\n\n props: {\n dark: Boolean,\n disabled: Boolean,\n fullscreen: Boolean,\n light: Boolean,\n maxWidth: {\n type: [String, Number],\n default: 'none',\n },\n noClickAnimation: Boolean,\n origin: {\n type: String,\n default: 'center center',\n },\n persistent: Boolean,\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n transition: {\n type: [String, Boolean],\n default: 'dialog-transition',\n },\n width: {\n type: [String, Number],\n default: 'auto',\n },\n },\n\n data () {\n return {\n activatedBy: null as EventTarget | null,\n animate: false,\n animateTimeout: -1,\n isActive: !!this.value,\n stackMinZIndex: 200,\n }\n },\n\n computed: {\n classes (): object {\n return {\n [(`v-dialog ${this.contentClass}`).trim()]: true,\n 'v-dialog--active': this.isActive,\n 'v-dialog--persistent': this.persistent,\n 'v-dialog--fullscreen': this.fullscreen,\n 'v-dialog--scrollable': this.scrollable,\n 'v-dialog--animated': this.animate,\n }\n },\n contentClasses (): object {\n return {\n 'v-dialog__content': true,\n 'v-dialog__content--active': this.isActive,\n }\n },\n hasActivator (): boolean {\n return Boolean(\n !!this.$slots.activator ||\n !!this.$scopedSlots.activator\n )\n },\n },\n\n watch: {\n isActive (val) {\n if (val) {\n this.show()\n this.hideScroll()\n } else {\n this.removeOverlay()\n this.unbind()\n }\n },\n fullscreen (val) {\n if (!this.isActive) return\n\n if (val) {\n this.hideScroll()\n this.removeOverlay(false)\n } else {\n this.showScroll()\n this.genOverlay()\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.isBooted = this.isActive\n this.isActive && this.show()\n })\n },\n\n beforeDestroy () {\n if (typeof window !== 'undefined') this.unbind()\n },\n\n methods: {\n animateClick () {\n this.animate = false\n // Needed for when clicking very fast\n // outside of the dialog\n this.$nextTick(() => {\n this.animate = true\n window.clearTimeout(this.animateTimeout)\n this.animateTimeout = window.setTimeout(() => (this.animate = false), 150)\n })\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n // Ignore the click if the dialog is closed or destroyed,\n // if it was on an element inside the content,\n // if it was dragged onto the overlay (#6969),\n // or if this isn't the topmost dialog (#9907)\n return !(\n this._isDestroyed ||\n !this.isActive ||\n this.$refs.content.contains(target) ||\n (this.overlay && target && !this.overlay.$el.contains(target))\n ) && this.activeZIndex >= this.getMaxZIndex()\n },\n hideScroll () {\n if (this.fullscreen) {\n document.documentElement.classList.add('overflow-y-hidden')\n } else {\n Overlayable.options.methods.hideScroll.call(this)\n }\n },\n show () {\n !this.fullscreen && !this.hideOverlay && this.genOverlay()\n this.$nextTick(() => {\n this.$refs.content.focus()\n this.bind()\n })\n },\n bind () {\n window.addEventListener('focusin', this.onFocusin)\n },\n unbind () {\n window.removeEventListener('focusin', this.onFocusin)\n },\n onClickOutside (e: Event) {\n this.$emit('click:outside', e)\n\n if (this.persistent) {\n this.noClickAnimation || this.animateClick()\n } else {\n this.isActive = false\n }\n },\n onKeydown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc && !this.getOpenDependents().length) {\n if (!this.persistent) {\n this.isActive = false\n const activator = this.getActivator()\n this.$nextTick(() => activator && (activator as HTMLElement).focus())\n } else if (!this.noClickAnimation) {\n this.animateClick()\n }\n }\n this.$emit('keydown', e)\n },\n // On focus change, wrap focus to stay inside the dialog\n // https://github.com/vuetifyjs/vuetify/issues/6892\n onFocusin (e: Event) {\n if (!e || !this.retainFocus) return\n\n const target = e.target as HTMLElement\n\n if (\n !!target &&\n // It isn't the document or the dialog body\n ![document, this.$refs.content].includes(target) &&\n // It isn't inside the dialog body\n !this.$refs.content.contains(target) &&\n // We're the topmost dialog\n this.activeZIndex >= this.getMaxZIndex() &&\n // It isn't inside a dependent element (like a menu)\n !this.getOpenDependentElements().some(el => el.contains(target))\n // So we must have focused something outside the dialog and its children\n ) {\n // Find and focus the first available element inside the dialog\n const focusable = this.$refs.content.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])')\n focusable.length && (focusable[0] as HTMLElement).focus()\n }\n },\n genContent () {\n return this.showLazyContent(() => [\n this.$createElement(VThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, [\n this.$createElement('div', {\n class: this.contentClasses,\n attrs: {\n role: 'document',\n tabindex: this.isActive ? 0 : undefined,\n ...this.getScopeIdAttrs(),\n },\n on: { keydown: this.onKeydown },\n style: { zIndex: this.activeZIndex },\n ref: 'content',\n }, [this.genTransition()]),\n ]),\n ])\n },\n genTransition () {\n const content = this.genInnerContent()\n\n if (!this.transition) return content\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n appear: true,\n },\n }, [content])\n },\n genInnerContent () {\n const data = {\n class: this.classes,\n ref: 'dialog',\n directives: [\n {\n name: 'click-outside',\n value: this.onClickOutside,\n args: {\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n },\n { name: 'show', value: this.isActive },\n ],\n style: {},\n }\n\n if (!this.fullscreen) {\n data.style = {\n maxWidth: this.maxWidth === 'none' ? undefined : convertToUnit(this.maxWidth),\n width: this.width === 'auto' ? undefined : convertToUnit(this.width),\n }\n }\n\n return this.$createElement('div', data, this.getContentSlot())\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-dialog__container',\n class: {\n 'v-dialog__container--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n },\n attrs: { role: 'dialog' },\n }, [\n this.genActivator(),\n this.genContent(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VDialog.js"}
@@ -160,8 +160,8 @@ var VIcon = (0, _mixins.default)(_bindsAttrs.default, _colorable.default, _sizea
160
160
  attrs: {
161
161
  xmlns: 'http://www.w3.org/2000/svg',
162
162
  viewBox: '0 0 24 24',
163
- height: fontSize || '32',
164
- width: fontSize || '32',
163
+ height: fontSize || '24',
164
+ width: fontSize || '24',
165
165
  role: 'img',
166
166
  'aria-hidden': true
167
167
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VIcon/VIcon.ts"],"names":[],"mappings":"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","sourcesContent":["import './VIcon.sass'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport Sizeable from '../../mixins/sizeable'\nimport Themeable from '../../mixins/themeable'\n\n// Util\nimport { convertToUnit, keys, remapInternalIcon } from '../../util/helpers'\n\n// Types\nimport Vue, { CreateElement, VNode, VNodeChildren, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\nimport { VuetifyIcon, VuetifyIconComponent } from 'vuetify/types/services/icons'\n\nenum SIZE_MAP {\n xSmall = '12px',\n small = '16px',\n default = '24px',\n medium = '28px',\n large = '36px',\n xLarge = '40px'\n}\n\nfunction isFontAwesome5 (iconType: string): boolean {\n return ['fas', 'far', 'fal', 'fab', 'fad'].some(val => iconType.includes(val))\n}\n\nfunction isSvgPath (icon: string): boolean {\n return (/^[mzlhvcsqta]\\s*[-+.0-9][^mlhvzcsqta]+/i.test(icon) && /[\\dz]$/i.test(icon) && icon.length > 4)\n}\n\nconst VIcon = mixins(\n BindsAttrs,\n Colorable,\n Sizeable,\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-icon',\n\n props: {\n dense: Boolean,\n disabled: Boolean,\n left: Boolean,\n right: Boolean,\n size: [Number, String],\n tag: {\n type: String,\n required: false,\n default: 'i',\n },\n },\n\n computed: {\n medium () {\n return false\n },\n hasClickListener (): boolean {\n return Boolean(\n this.listeners$.click || this.listeners$['!click']\n )\n },\n },\n\n methods: {\n getIcon (): VuetifyIcon {\n let iconName = ''\n if (this.$slots.default) iconName = this.$slots.default[0].text!.trim()\n\n return remapInternalIcon(this, iconName)\n },\n getSize (): string | undefined {\n const sizes = {\n xSmall: this.xSmall,\n small: this.small,\n medium: this.medium,\n large: this.large,\n xLarge: this.xLarge,\n }\n\n const explicitSize = keys(sizes).find(key => sizes[key])\n\n return (\n (explicitSize && SIZE_MAP[explicitSize]) || convertToUnit(this.size)\n )\n },\n // Component data for both font and svg icon.\n getDefaultData (): VNodeData {\n const data: VNodeData = {\n staticClass: 'v-icon notranslate',\n class: {\n 'v-icon--disabled': this.disabled,\n 'v-icon--left': this.left,\n 'v-icon--link': this.hasClickListener,\n 'v-icon--right': this.right,\n 'v-icon--dense': this.dense,\n },\n attrs: {\n 'aria-hidden': !this.hasClickListener,\n disabled: this.hasClickListener && this.disabled,\n type: this.hasClickListener ? 'button' : undefined,\n ...this.attrs$,\n },\n on: this.listeners$,\n }\n\n return data\n },\n applyColors (data: VNodeData): void {\n data.class = { ...data.class, ...this.themeClasses }\n this.setTextColor(this.color, data)\n },\n renderFontIcon (icon: string, h: CreateElement): VNode {\n const newChildren: VNodeChildren = []\n const data = this.getDefaultData()\n\n let iconType = 'material-icons'\n // Material Icon delimiter is _\n // https://material.io/icons/\n const delimiterIndex = icon.indexOf('-')\n const isMaterialIcon = delimiterIndex <= -1\n\n if (isMaterialIcon) {\n // Material icon uses ligatures.\n newChildren.push(icon)\n } else {\n iconType = icon.slice(0, delimiterIndex)\n if (isFontAwesome5(iconType)) iconType = ''\n }\n\n data.class[iconType] = true\n data.class[icon] = !isMaterialIcon\n\n const fontSize = this.getSize()\n if (fontSize) data.style = { fontSize }\n\n this.applyColors(data)\n\n return h(this.hasClickListener ? 'button' : this.tag, data, newChildren)\n },\n renderSvgIcon (icon: string, h: CreateElement): VNode {\n const fontSize = this.getSize()\n const wrapperData = {\n ...this.getDefaultData(),\n style: fontSize ? {\n fontSize,\n height: fontSize,\n width: fontSize,\n } : undefined,\n }\n wrapperData.class['v-icon--svg'] = true\n this.applyColors(wrapperData)\n\n const svgData: VNodeData = {\n attrs: {\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: '0 0 24 24',\n height: fontSize || '32',\n width: fontSize || '32',\n role: 'img',\n 'aria-hidden': true,\n },\n }\n\n return h(this.hasClickListener ? 'button' : 'span', wrapperData, [\n h('svg', svgData, [\n h('path', {\n attrs: {\n d: icon,\n },\n }),\n ]),\n ])\n },\n renderSvgIconComponent (\n icon: VuetifyIconComponent,\n h: CreateElement\n ): VNode {\n const data = this.getDefaultData()\n data.class['v-icon--is-component'] = true\n\n const size = this.getSize()\n if (size) {\n data.style = {\n fontSize: size,\n height: size,\n }\n }\n\n this.applyColors(data)\n\n const component = icon.component\n data.props = icon.props\n data.nativeOn = data.on\n\n return h(component, data)\n },\n },\n\n render (h: CreateElement): VNode {\n const icon = this.getIcon()\n\n if (typeof icon === 'string') {\n if (isSvgPath(icon)) {\n return this.renderSvgIcon(icon, h)\n }\n return this.renderFontIcon(icon, h)\n }\n\n return this.renderSvgIconComponent(icon, h)\n },\n})\n\nexport default Vue.extend({\n name: 'v-icon',\n\n $_wrapperFor: VIcon,\n\n functional: true,\n\n render (h, { data, children }): VNode {\n let iconName = ''\n\n // Support usage of v-text and v-html\n if (data.domProps) {\n iconName = data.domProps.textContent ||\n data.domProps.innerHTML ||\n iconName\n\n // Remove nodes so it doesn't\n // overwrite our changes\n delete data.domProps.textContent\n delete data.domProps.innerHTML\n }\n\n return h(VIcon, data, iconName ? [iconName] : children)\n },\n})\n"],"sourceRoot":"","file":"VIcon.js"}
1
+ {"version":3,"sources":["../../../src/components/VIcon/VIcon.ts"],"names":[],"mappings":"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","sourcesContent":["import './VIcon.sass'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport Sizeable from '../../mixins/sizeable'\nimport Themeable from '../../mixins/themeable'\n\n// Util\nimport { convertToUnit, keys, remapInternalIcon } from '../../util/helpers'\n\n// Types\nimport Vue, { CreateElement, VNode, VNodeChildren, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\nimport { VuetifyIcon, VuetifyIconComponent } from 'vuetify/types/services/icons'\n\nenum SIZE_MAP {\n xSmall = '12px',\n small = '16px',\n default = '24px',\n medium = '28px',\n large = '36px',\n xLarge = '40px'\n}\n\nfunction isFontAwesome5 (iconType: string): boolean {\n return ['fas', 'far', 'fal', 'fab', 'fad'].some(val => iconType.includes(val))\n}\n\nfunction isSvgPath (icon: string): boolean {\n return (/^[mzlhvcsqta]\\s*[-+.0-9][^mlhvzcsqta]+/i.test(icon) && /[\\dz]$/i.test(icon) && icon.length > 4)\n}\n\nconst VIcon = mixins(\n BindsAttrs,\n Colorable,\n Sizeable,\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-icon',\n\n props: {\n dense: Boolean,\n disabled: Boolean,\n left: Boolean,\n right: Boolean,\n size: [Number, String],\n tag: {\n type: String,\n required: false,\n default: 'i',\n },\n },\n\n computed: {\n medium () {\n return false\n },\n hasClickListener (): boolean {\n return Boolean(\n this.listeners$.click || this.listeners$['!click']\n )\n },\n },\n\n methods: {\n getIcon (): VuetifyIcon {\n let iconName = ''\n if (this.$slots.default) iconName = this.$slots.default[0].text!.trim()\n\n return remapInternalIcon(this, iconName)\n },\n getSize (): string | undefined {\n const sizes = {\n xSmall: this.xSmall,\n small: this.small,\n medium: this.medium,\n large: this.large,\n xLarge: this.xLarge,\n }\n\n const explicitSize = keys(sizes).find(key => sizes[key])\n\n return (\n (explicitSize && SIZE_MAP[explicitSize]) || convertToUnit(this.size)\n )\n },\n // Component data for both font and svg icon.\n getDefaultData (): VNodeData {\n const data: VNodeData = {\n staticClass: 'v-icon notranslate',\n class: {\n 'v-icon--disabled': this.disabled,\n 'v-icon--left': this.left,\n 'v-icon--link': this.hasClickListener,\n 'v-icon--right': this.right,\n 'v-icon--dense': this.dense,\n },\n attrs: {\n 'aria-hidden': !this.hasClickListener,\n disabled: this.hasClickListener && this.disabled,\n type: this.hasClickListener ? 'button' : undefined,\n ...this.attrs$,\n },\n on: this.listeners$,\n }\n\n return data\n },\n applyColors (data: VNodeData): void {\n data.class = { ...data.class, ...this.themeClasses }\n this.setTextColor(this.color, data)\n },\n renderFontIcon (icon: string, h: CreateElement): VNode {\n const newChildren: VNodeChildren = []\n const data = this.getDefaultData()\n\n let iconType = 'material-icons'\n // Material Icon delimiter is _\n // https://material.io/icons/\n const delimiterIndex = icon.indexOf('-')\n const isMaterialIcon = delimiterIndex <= -1\n\n if (isMaterialIcon) {\n // Material icon uses ligatures.\n newChildren.push(icon)\n } else {\n iconType = icon.slice(0, delimiterIndex)\n if (isFontAwesome5(iconType)) iconType = ''\n }\n\n data.class[iconType] = true\n data.class[icon] = !isMaterialIcon\n\n const fontSize = this.getSize()\n if (fontSize) data.style = { fontSize }\n\n this.applyColors(data)\n\n return h(this.hasClickListener ? 'button' : this.tag, data, newChildren)\n },\n renderSvgIcon (icon: string, h: CreateElement): VNode {\n const fontSize = this.getSize()\n const wrapperData = {\n ...this.getDefaultData(),\n style: fontSize ? {\n fontSize,\n height: fontSize,\n width: fontSize,\n } : undefined,\n }\n wrapperData.class['v-icon--svg'] = true\n this.applyColors(wrapperData)\n\n const svgData: VNodeData = {\n attrs: {\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: '0 0 24 24',\n height: fontSize || '24',\n width: fontSize || '24',\n role: 'img',\n 'aria-hidden': true,\n },\n }\n\n return h(this.hasClickListener ? 'button' : 'span', wrapperData, [\n h('svg', svgData, [\n h('path', {\n attrs: {\n d: icon,\n },\n }),\n ]),\n ])\n },\n renderSvgIconComponent (\n icon: VuetifyIconComponent,\n h: CreateElement\n ): VNode {\n const data = this.getDefaultData()\n data.class['v-icon--is-component'] = true\n\n const size = this.getSize()\n if (size) {\n data.style = {\n fontSize: size,\n height: size,\n }\n }\n\n this.applyColors(data)\n\n const component = icon.component\n data.props = icon.props\n data.nativeOn = data.on\n\n return h(component, data)\n },\n },\n\n render (h: CreateElement): VNode {\n const icon = this.getIcon()\n\n if (typeof icon === 'string') {\n if (isSvgPath(icon)) {\n return this.renderSvgIcon(icon, h)\n }\n return this.renderFontIcon(icon, h)\n }\n\n return this.renderSvgIconComponent(icon, h)\n },\n})\n\nexport default Vue.extend({\n name: 'v-icon',\n\n $_wrapperFor: VIcon,\n\n functional: true,\n\n render (h, { data, children }): VNode {\n let iconName = ''\n\n // Support usage of v-text and v-html\n if (data.domProps) {\n iconName = data.domProps.textContent ||\n data.domProps.innerHTML ||\n iconName\n\n // Remove nodes so it doesn't\n // overwrite our changes\n delete data.domProps.textContent\n delete data.domProps.innerHTML\n }\n\n return h(VIcon, data, iconName ? [iconName] : children)\n },\n})\n"],"sourceRoot":"","file":"VIcon.js"}
@@ -116,7 +116,7 @@ var _default = _VSheet.default.extend().extend({
116
116
  role: this.isInNav || this.isInMenu ? undefined : 'list'
117
117
  }, this.attrs$)
118
118
  };
119
- return h('div', this.setBackgroundColor(this.color, data), [this.$slots.default]);
119
+ return h(this.tag, this.setBackgroundColor(this.color, data), [this.$slots.default]);
120
120
  }
121
121
  });
122
122
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VList/VList.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VList.sass'\nimport VListGroup from './VListGroup'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\n\n// Types\nimport { VNode } from 'vue'\n\ntype VListGroupInstance = InstanceType<typeof VListGroup>\n\ninterface options extends InstanceType<typeof VSheet> {\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default VSheet.extend<options>().extend({\n name: 'v-list',\n\n provide (): object {\n return {\n isInList: true,\n list: this,\n }\n },\n\n inject: {\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n props: {\n dense: Boolean,\n disabled: Boolean,\n expand: Boolean,\n flat: Boolean,\n nav: Boolean,\n rounded: Boolean,\n shaped: Boolean,\n subheader: Boolean,\n threeLine: Boolean,\n tile: {\n type: Boolean,\n default: true,\n },\n twoLine: Boolean,\n },\n\n data: () => ({\n groups: [] as VListGroupInstance[],\n }),\n\n computed: {\n classes (): object {\n return {\n ...VSheet.options.computed.classes.call(this),\n 'v-list--dense': this.dense,\n 'v-list--disabled': this.disabled,\n 'v-list--flat': this.flat,\n 'v-list--nav': this.nav,\n 'v-list--rounded': this.rounded,\n 'v-list--shaped': this.shaped,\n 'v-list--subheader': this.subheader,\n 'v-list--two-line': this.twoLine,\n 'v-list--three-line': this.threeLine,\n }\n },\n },\n\n methods: {\n register (content: VListGroupInstance) {\n this.groups.push(content)\n },\n unregister (content: VListGroupInstance) {\n const index = this.groups.findIndex(g => g._uid === content._uid)\n\n if (index > -1) this.groups.splice(index, 1)\n },\n listClick (uid: number) {\n if (this.expand) return\n\n for (const group of this.groups) {\n group.toggle(uid)\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-list',\n class: this.classes,\n style: this.styles,\n attrs: {\n role: this.isInNav || this.isInMenu ? undefined : 'list',\n ...this.attrs$,\n },\n }\n\n return h('div', this.setBackgroundColor(this.color, data), [this.$slots.default])\n },\n})\n"],"sourceRoot":"","file":"VList.js"}
1
+ {"version":3,"sources":["../../../src/components/VList/VList.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VList.sass'\nimport VListGroup from './VListGroup'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\n\n// Types\nimport { VNode } from 'vue'\n\ntype VListGroupInstance = InstanceType<typeof VListGroup>\n\ninterface options extends InstanceType<typeof VSheet> {\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default VSheet.extend<options>().extend({\n name: 'v-list',\n\n provide (): object {\n return {\n isInList: true,\n list: this,\n }\n },\n\n inject: {\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n props: {\n dense: Boolean,\n disabled: Boolean,\n expand: Boolean,\n flat: Boolean,\n nav: Boolean,\n rounded: Boolean,\n shaped: Boolean,\n subheader: Boolean,\n threeLine: Boolean,\n tile: {\n type: Boolean,\n default: true,\n },\n twoLine: Boolean,\n },\n\n data: () => ({\n groups: [] as VListGroupInstance[],\n }),\n\n computed: {\n classes (): object {\n return {\n ...VSheet.options.computed.classes.call(this),\n 'v-list--dense': this.dense,\n 'v-list--disabled': this.disabled,\n 'v-list--flat': this.flat,\n 'v-list--nav': this.nav,\n 'v-list--rounded': this.rounded,\n 'v-list--shaped': this.shaped,\n 'v-list--subheader': this.subheader,\n 'v-list--two-line': this.twoLine,\n 'v-list--three-line': this.threeLine,\n }\n },\n },\n\n methods: {\n register (content: VListGroupInstance) {\n this.groups.push(content)\n },\n unregister (content: VListGroupInstance) {\n const index = this.groups.findIndex(g => g._uid === content._uid)\n\n if (index > -1) this.groups.splice(index, 1)\n },\n listClick (uid: number) {\n if (this.expand) return\n\n for (const group of this.groups) {\n group.toggle(uid)\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-list',\n class: this.classes,\n style: this.styles,\n attrs: {\n role: this.isInNav || this.isInMenu ? undefined : 'list',\n ...this.attrs$,\n },\n }\n\n return h(this.tag, this.setBackgroundColor(this.color, data), [this.$slots.default])\n },\n})\n"],"sourceRoot":"","file":"VList.js"}
@@ -279,9 +279,7 @@ var _default = baseMixins.extend({
279
279
  props: {
280
280
  name: this.transition
281
281
  }
282
- }, this.showLazyContent(function () {
283
- return [content];
284
- }));
282
+ }, [content]);
285
283
  },
286
284
  genDirectives: function genDirectives() {
287
285
  var _this2 = this;
@@ -344,13 +342,7 @@ var _default = baseMixins.extend({
344
342
  options.on.mouseleave = this.mouseLeaveHandler;
345
343
  }
346
344
 
347
- return this.$createElement('div', options, [this.$createElement(_VThemeProvider.VThemeProvider, {
348
- props: {
349
- root: true,
350
- light: this.light,
351
- dark: this.dark
352
- }
353
- }, this.getContentSlot())]);
345
+ return this.$createElement('div', options, this.getContentSlot());
354
346
  },
355
347
  getTiles: function getTiles() {
356
348
  if (!this.$refs.content) return;
@@ -442,6 +434,8 @@ var _default = baseMixins.extend({
442
434
  }
443
435
  },
444
436
  render: function render(h) {
437
+ var _this7 = this;
438
+
445
439
  var data = {
446
440
  staticClass: 'v-menu',
447
441
  class: {
@@ -453,7 +447,15 @@ var _default = baseMixins.extend({
453
447
  value: this.onResize
454
448
  }]
455
449
  };
456
- return h('div', data, [!this.activator && this.genActivator(), this.genTransition()]);
450
+ return h('div', data, [!this.activator && this.genActivator(), this.showLazyContent(function () {
451
+ return [_this7.$createElement(_VThemeProvider.VThemeProvider, {
452
+ props: {
453
+ root: true,
454
+ light: _this7.light,
455
+ dark: _this7.dark
456
+ }
457
+ }, [_this7.genTransition()])];
458
+ })]);
457
459
  }
458
460
  });
459
461