init component
This commit is contained in:
71
node_modules/buetify/lib/components/message/BMessage.js
generated
vendored
Executable file
71
node_modules/buetify/lib/components/message/BMessage.js
generated
vendored
Executable file
@@ -0,0 +1,71 @@
|
||||
import 'bulma/sass/components/message.sass';
|
||||
import 'bulma/sass/elements/notification.sass';
|
||||
import "../../../src/sass/helpers/animations.sass";
|
||||
import "../../../src/components/message/message.sass";
|
||||
import { useMessage, UseMessagePropsDefinition } from '../../composables/message';
|
||||
import { FadeTransitionPropsDefinition, useTransition } from '../../composables/transition';
|
||||
import { defineComponent, h, Transition, computed } from 'vue';
|
||||
|
||||
function generateBody(props, context, message) {
|
||||
const nodes = [];
|
||||
|
||||
if (!!message.icon.value && props.useIcon) {
|
||||
nodes.push(h('div', {
|
||||
class: 'media-left'
|
||||
}, [h(message.icon.value, {
|
||||
size: message.iconSize.value,
|
||||
variant: props.variant,
|
||||
class: props.variant
|
||||
})]));
|
||||
}
|
||||
|
||||
nodes.push(h('div', {
|
||||
class: 'media-content'
|
||||
}, context.slots.default && context.slots.default() || props.message));
|
||||
return h('section', {
|
||||
class: 'message-body',
|
||||
'aria-label': 'Close message'
|
||||
}, [h('div', {
|
||||
class: 'media'
|
||||
}, nodes)]);
|
||||
}
|
||||
|
||||
function generateHeader(props, context, message) {
|
||||
const nodes = context.slots.title ? context.slots.title() : props.title ? [props.title] : [];
|
||||
|
||||
if (props.isClosable) {
|
||||
nodes.push(h('button', {
|
||||
class: 'delete',
|
||||
attrs: {
|
||||
'aria-label': `Close message`
|
||||
},
|
||||
...message.listeners
|
||||
}));
|
||||
}
|
||||
|
||||
return h('header', {
|
||||
class: 'message-header'
|
||||
}, nodes);
|
||||
}
|
||||
|
||||
function generateMessage(props, context, message) {
|
||||
return h('article', {
|
||||
class: ['message', props.variant, props.size]
|
||||
}, context.slots.title || !!props.title ? [generateHeader(props, context, message), generateBody(props, context, message)] : [generateBody(props, context, message)]);
|
||||
}
|
||||
|
||||
export default defineComponent({
|
||||
name: 'b-message',
|
||||
props: { ...UseMessagePropsDefinition,
|
||||
...FadeTransitionPropsDefinition
|
||||
},
|
||||
|
||||
setup(props, context) {
|
||||
const message = useMessage(props);
|
||||
const transition = useTransition(props);
|
||||
const showMessage = computed(() => message.isOn.value || props.title === undefined && context.slots.title === undefined);
|
||||
return () => h(Transition, transition.value, () => showMessage.value ? generateMessage(props, context, message) : undefined);
|
||||
}
|
||||
|
||||
});
|
||||
//# sourceMappingURL=BMessage.js.map
|
||||
Reference in New Issue
Block a user