UNPKG

yuang-framework-ui-pc

Version:

yuang-framework-ui-pc Library

89 lines (88 loc) 3.33 kB
import { defineComponent, ref, computed, resolveComponent, createBlock, openBlock, withCtx, createElementBlock, Fragment, renderList, renderSlot, createCommentVNode, mergeProps, resolveDynamicComponent, normalizeStyle, toDisplayString } from "vue"; import { ElIcon, ElBreadcrumbItem, ElBreadcrumb } from "element-plus"; import { breadcrumbProps } from "./props"; const _sfc_main = defineComponent({ name: "EleBreadcrumb", components: { ElBreadcrumb, ElBreadcrumbItem, ElIcon }, props: breadcrumbProps, setup(props) { const breadcrumbRef = ref(null); const breadcrumbSeparator = computed( () => { if (typeof props.separator !== "string") { return; } return props.separator; } ); const breadcrumbSeparatorIcon = computed(() => { if (props.separatorIcon != null && props.separatorIcon !== "") { return props.separatorIcon; } if (props.separator != null && typeof props.separator !== "string") { return props.separator; } return props.separatorIcon; }); return { breadcrumbRef, breadcrumbSeparator, breadcrumbSeparatorIcon }; } }); const _export_sfc = (sfc, props) => { const target = sfc.__vccOpts || sfc; for (const [key, val] of props) { target[key] = val; } return target; }; const _hoisted_1 = { key: 1 }; function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { const _component_ElIcon = resolveComponent("ElIcon"); const _component_ElBreadcrumbItem = resolveComponent("ElBreadcrumbItem"); const _component_ElBreadcrumb = resolveComponent("ElBreadcrumb"); return openBlock(), createBlock(_component_ElBreadcrumb, { ref: "breadcrumbRef", separator: _ctx.breadcrumbSeparator, separatorIcon: _ctx.breadcrumbSeparatorIcon, class: "ele-breadcrumb" }, { default: withCtx(() => [ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.items, (item) => { return openBlock(), createBlock(_component_ElBreadcrumbItem, { key: item.key ?? item.title, replace: item.replace, to: item.to }, { default: withCtx(() => [ item.slot && item.slot !== "default" && _ctx.$slots[item.slot] ? renderSlot(_ctx.$slots, item.slot, { key: 0, item }) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [ item.icon ? (openBlock(), createBlock(_component_ElIcon, mergeProps({ key: 0, ref_for: true }, item.iconProps || {}), { default: withCtx(() => [ (openBlock(), createBlock(resolveDynamicComponent(item.icon), { style: normalizeStyle(item.iconStyle) }, null, 8, ["style"])) ]), _: 2 }, 1040)) : createCommentVNode("", true), item.title ? (openBlock(), createElementBlock("span", _hoisted_1, toDisplayString(item.title), 1)) : createCommentVNode("", true) ], 64)) ]), _: 2 }, 1032, ["replace", "to"]); }), 128)) ]), _: 3 }, 8, ["separator", "separatorIcon"]); } const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]); export { index as default };