vuetify-wcag
Version:
VuetifyJS but then WCAG/A11Y compatible
127 lines (111 loc) • 4.29 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _VBtn = _interopRequireDefault(require("../../VBtn"));
var _VIcon = _interopRequireDefault(require("../../VIcon"));
var _VCheckbox = _interopRequireDefault(require("../../VCheckbox/VCheckbox"));
var _ripple = _interopRequireDefault(require("../../../directives/ripple"));
var _mixins = _interopRequireDefault(require("../../../util/mixins"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
var _default2 = (0, _mixins.default)().extend({
// https://github.com/vuejs/vue/issues/6872
directives: {
ripple: _ripple.default
},
props: {
headers: {
type: Array,
default: function _default() {
return [];
}
},
options: {
type: Object,
default: function _default() {
return {
page: 1,
itemsPerPage: 10,
sortBy: [],
sortDesc: [],
groupBy: [],
groupDesc: [],
multiSort: false,
mustSort: false
};
}
},
checkboxColor: String,
sortIcon: {
type: String,
default: '$sort'
},
everyItem: Boolean,
someItems: Boolean,
showGroupBy: Boolean,
singleSelect: Boolean,
disableSort: Boolean,
selectHeaderAriaLabel: {
type: String,
default: '$vuetify.dataTable.ariaLabel.selectHeaderAriaLabel'
},
deselectHeaderAriaLabel: {
type: String,
default: '$vuetify.dataTable.ariaLabel.deselectHeaderAriaLabel'
}
},
methods: {
genSelectAll: function genSelectAll() {
var _this = this;
var _a;
var data = {
props: {
value: this.everyItem,
indeterminate: !this.everyItem && this.someItems,
color: (_a = this.checkboxColor) !== null && _a !== void 0 ? _a : ''
},
attrs: {
'aria-label': this.$vuetify.lang.t(this.everyItem ? this.deselectHeaderAriaLabel : this.selectHeaderAriaLabel)
},
on: {
change: function change(v) {
return _this.$emit('toggle-select-all', v);
}
}
};
if (this.$scopedSlots['data-table-select']) {
return this.$scopedSlots['data-table-select'](data);
}
return this.$createElement(_VCheckbox.default, _objectSpread(_objectSpread({
staticClass: 'v-data-table__checkbox mt-0 pt-0'
}, data), {}, {
props: {
dense: true,
hideDetails: true
}
}));
},
genSortIcon: function genSortIcon(ariaLabel, ariaSort) {
return this.$createElement(_VBtn.default, {
props: {
icon: true
},
attrs: {
'aria-label': ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : undefined,
'aria-sort': ariaSort !== null && ariaSort !== void 0 ? ariaSort : undefined
}
}, [this.$createElement(_VIcon.default, {
staticClass: 'v-data-table-header__icon',
props: {
size: 18
}
}, this.sortIcon)]);
}
}
});
exports.default = _default2;
//# sourceMappingURL=header.js.map