UNPKG

vuetify

Version:

Vue.js 2 Semantic Component Framework

80 lines (65 loc) 2.06 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; require('../../../src/stylus/components/_expansion-panel.styl'); var _themeable = require('../../mixins/themeable'); var _themeable2 = _interopRequireDefault(_themeable); var _registrable = require('../../mixins/registrable'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = { name: 'v-expansion-panel', mixins: [_themeable2.default, (0, _registrable.provide)('expansionPanel')], provide: function provide() { return { panelClick: this.panelClick, focusable: this.focusable }; }, data: function data() { return { items: [] }; }, props: { expand: Boolean, focusable: Boolean, inset: Boolean, popout: Boolean }, methods: { panelClick: function panelClick(uid) { if (!this.expand) { for (var i = 0; i < this.items.length; i++) { this.items[i].toggle(uid); } return; } for (var _i = 0; _i < this.items.length; _i++) { if (this.items[_i].uid === uid) { this.items[_i].toggle(uid); return; } } }, register: function register(uid, toggle) { this.items.push({ uid: uid, toggle: toggle }); }, unregister: function unregister(uid) { this.items = this.items.filter(function (i) { return i.uid !== uid; }); } }, render: function render(h) { return h('ul', { staticClass: 'expansion-panel', 'class': _extends({ 'expansion-panel--focusable': this.focusable, 'expansion-panel--popout': this.popout, 'expansion-panel--inset': this.inset }, this.themeClasses) }, this.$slots.default); } };