@coreui/vue
Version:
UI Components Library for Vue.js
36 lines (32 loc) • 1.2 kB
JavaScript
var vue = require('vue');
const CAccordion = vue.defineComponent({
name: 'CAccordion',
props: {
/**
* The active item key.
*/
activeItemKey: [Number, String],
/**
* Make accordion items stay open when another item is opened
*/
alwaysOpen: Boolean,
/**
* Removes the default background-color, some borders, and some rounded corners to render accordions edge-to-edge with their parent container.
*/
flush: Boolean,
},
setup(props, { slots }) {
const activeItemKey = vue.ref(props.activeItemKey);
const setActiveItemKey = (key) => {
activeItemKey.value = key;
};
vue.watch(() => props.activeItemKey, (value) => (activeItemKey.value = value));
vue.provide('activeItemKey', activeItemKey);
vue.provide('alwaysOpen', props.alwaysOpen);
vue.provide('setActiveItemKey', setActiveItemKey);
return () => vue.h('div', { class: ['accordion', { ['accordion-flush']: props.flush }] }, slots.default && slots.default());
},
});
exports.CAccordion = CAccordion;
//# sourceMappingURL=CAccordion.js.map
;