UNPKG

vuetify-wcag

Version:

VuetifyJS but then WCAG/A11Y compatible

127 lines (111 loc) 4.29 kB
"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