hongluan-ui
Version:
Hongluan Component Library for Vue 3
59 lines (56 loc) • 2.11 kB
JavaScript
import { defineComponent, ref, watchEffect, openBlock, createElementBlock, normalizeClass, normalizeStyle, renderSlot, createCommentVNode, createElementVNode } from 'vue';
import '../../../hooks/index.mjs';
import { panelProps, usePanelProps } from './panel2.mjs';
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
const _sfc_main = defineComponent({
name: "Panel",
props: panelProps,
setup(props) {
const { namespace } = useNamespace("panel");
let panelStyle = ref([]), panelClass = ref({});
watchEffect(() => {
const panelProps2 = usePanelProps(props);
panelStyle.value = panelProps2.panelStyle;
panelClass.value = panelProps2.panelClass;
});
return {
namespace,
panelStyle,
panelClass
};
}
});
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return openBlock(), createElementBlock("div", {
class: normalizeClass([
_ctx.namespace,
_ctx.panelClass
]),
style: normalizeStyle(_ctx.panelStyle)
}, [
_ctx.$slots.header ? (openBlock(), createElementBlock("div", {
key: 0,
class: normalizeClass(["panel-header", _ctx.headerClass ? _ctx.headerClass : ""]),
style: normalizeStyle(_ctx.headerStyle)
}, [
renderSlot(_ctx.$slots, "header")
], 6)) : createCommentVNode("v-if", true),
createElementVNode("div", {
class: normalizeClass(["panel-body", _ctx.bodyClass ? _ctx.bodyClass : ""]),
style: normalizeStyle(_ctx.bodyStyle)
}, [
renderSlot(_ctx.$slots, "default")
], 6),
_ctx.$slots.footer ? (openBlock(), createElementBlock("div", {
key: 1,
class: normalizeClass(["panel-footer", _ctx.footerClass ? _ctx.footerClass : ""]),
style: normalizeStyle(_ctx.footerStyle)
}, [
renderSlot(_ctx.$slots, "footer")
], 6)) : createCommentVNode("v-if", true)
], 6);
}
var Panel = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
export { Panel as default };
//# sourceMappingURL=panel.mjs.map