line_push/node_modules/vuetify/lib/components/VExpansionPanel/VExpansionPanels.js
2022-07-21 03:28:35 +00:00

68 lines
1.7 KiB
JavaScript

// Styles
import "../../../src/components/VExpansionPanel/VExpansionPanel.sass"; // Components
import { BaseItemGroup } from '../VItemGroup/VItemGroup'; // Utilities
import { breaking } from '../../util/console';
/* @vue/component */
export default BaseItemGroup.extend({
name: 'v-expansion-panels',
provide() {
return {
expansionPanels: this
};
},
props: {
accordion: Boolean,
disabled: Boolean,
flat: Boolean,
hover: Boolean,
focusable: Boolean,
inset: Boolean,
popout: Boolean,
readonly: Boolean,
tile: Boolean
},
computed: {
classes() {
return { ...BaseItemGroup.options.computed.classes.call(this),
'v-expansion-panels': true,
'v-expansion-panels--accordion': this.accordion,
'v-expansion-panels--flat': this.flat,
'v-expansion-panels--hover': this.hover,
'v-expansion-panels--focusable': this.focusable,
'v-expansion-panels--inset': this.inset,
'v-expansion-panels--popout': this.popout,
'v-expansion-panels--tile': this.tile
};
}
},
created() {
/* istanbul ignore next */
if (this.$attrs.hasOwnProperty('expand')) {
breaking('expand', 'multiple', this);
}
/* istanbul ignore next */
if (Array.isArray(this.value) && this.value.length > 0 && typeof this.value[0] === 'boolean') {
breaking(':value="[true, false, true]"', ':value="[0, 2]"', this);
}
},
methods: {
updateItem(item, index) {
const value = this.getValue(item, index);
const nextValue = this.getValue(item, index + 1);
item.isActive = this.toggleMethod(value);
item.nextIsActive = this.toggleMethod(nextValue);
}
}
});
//# sourceMappingURL=VExpansionPanels.js.map