@coreui/vue
Version:
UI Components Library for Vue.js
39 lines (36 loc) • 1.07 kB
JavaScript
import { defineComponent, ref, useId, watch, provide, h } from 'vue';
const CTabs = defineComponent({
name: 'CTabs',
props: {
/**
* The active item key.
*/
activeItemKey: {
type: [Number, String],
required: true,
}
},
emits: [
/**
* The callback is fired when the active tab changes.
*/
'change',
],
setup(props, { slots, emit }) {
const activeItemKey = ref(props.activeItemKey);
const uniqueId = useId();
const setActiveItemKey = (key) => {
activeItemKey.value = key;
};
watch(() => props.activeItemKey, (value) => {
activeItemKey.value = value;
emit('change', value);
});
provide('activeItemKey', activeItemKey);
provide('id', uniqueId);
provide('setActiveItemKey', setActiveItemKey);
return () => h('div', { class: 'tabs' }, slots.default && slots.default());
},
});
export { CTabs };
//# sourceMappingURL=CTabs.js.map