@coreui/vue
Version:
UI Components Library for Vue.js
43 lines (40 loc) • 1.22 kB
JavaScript
import { defineComponent, inject, h, resolveComponent } from 'vue';
import { CCloseButton } from '../close-button/CCloseButton.js';
const CToastClose = defineComponent({
name: 'CToastClose',
props: {
/**
* Component used for the root node. Either a string to use a HTML element or a component.
*/
as: String,
...CCloseButton.props,
},
emits: [
/**
* Event called before the dissmiss animation has started.
*/
'close',
],
setup(props, { slots, emit }) {
// eslint-disable-next-line no-unused-vars
const updateVisible = inject('updateVisible');
const handleClose = () => {
emit('close');
updateVisible(false);
};
return () => props.as
? h(resolveComponent(props.as), {
onClick: () => {
handleClose();
},
}, () => slots.default && slots.default())
: h(CCloseButton, {
...props,
onClick: () => {
handleClose();
},
});
},
});
export { CToastClose };
//# sourceMappingURL=CToastClose.js.map