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