UNPKG

song-ui-u

Version:

vue3 + js的PC前端组件库

121 lines (115 loc) 3.87 kB
'use strict'; var vue = require('vue'); var vueRouter = require('vue-router'); var icons = require('song-ui-pro-icon'); require('../../button/index.cjs'); require('../../buttonGroup/index.cjs'); var index = require('../../icon/index.cjs'); require('../../input/index.cjs'); require('../../textarea/index.cjs'); require('../../row/index.cjs'); require('../../col/index.cjs'); require('../../container/index.cjs'); require('../../checkbox/index.cjs'); require('../../switch/index.cjs'); require('../../form/index.cjs'); require('../../message/index.cjs'); require('../../mask/src/mask.cjs'); require('../../modal/index.cjs'); require('../../messageBox/index.cjs'); require('../../drawer/index.cjs'); require('../../badge/index.cjs'); require('../../space/index.cjs'); require('../../image/index.cjs'); require('../../radio/index.cjs'); require('../../divider/index.cjs'); require('../../chat/index.cjs'); require('../../progress/index.cjs'); require('../../upload/index.cjs'); require('../../vTree/index.cjs'); require('../../table/index.cjs'); require('../../tabs/index.cjs'); require('../../menu/index.cjs'); require('../../steps/index.cjs'); require('../../header/index.cjs'); require('../index.cjs'); require('../../datePicker/index.cjs'); require('../../tooltip/index.cjs'); require('../../popover/index.cjs'); require('../../timePicker/index.cjs'); require('../../select/index.cjs'); require('../../collapse/index.cjs'); require('../../card/index.cjs'); require('../../timeline/index.cjs'); require('../../tag/index.cjs'); require('../../result/index.cjs'); require('../../sender/index.cjs'); var index$1 = require('../../../hook/use-namespace/index.cjs'); require('../../../hook/use-zindex/index.cjs'); function _interopNamespaceDefault(e) { var n = Object.create(null); if (e) { Object.keys(e).forEach(function (k) { if (k !== 'default') { var d = Object.getOwnPropertyDescriptor(e, k); Object.defineProperty(n, k, d.get ? d : { enumerable: true, get: function () { return e[k]; } }); } }); } n.default = e; return Object.freeze(n); } var icons__namespace = /*#__PURE__*/_interopNamespaceDefault(icons); function _isSlot(s) { return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s); } var breadcrumbItem = /* @__PURE__ */ vue.defineComponent({ name: "x-breadcrumb-item", // 修改组件名 props: { to: [String, Object], // 跳转路径 replace: Boolean // 是否替换历史记录 }, setup(props, { slots }) { const router = vueRouter.useRouter(); const breadcrumbCtx = vue.inject("breadcrumb"); const ns = index$1.useNamespace("breadcrumb-item"); const renderIcons = () => { if (breadcrumbCtx.props.separatorIcon) { return icons__namespace[breadcrumbCtx.props?.separatorIcon].render(); } }; const handleClick = () => { if (!props.to) return; props.replace ? router.replace(props.to) : router.push(props.to); }; return () => { let _slot; const isLink = !!props.to; const separator = breadcrumbCtx.props.separatorIcon ? vue.createVNode("span", { "class": ns.e("separator-icon") }, [vue.createVNode(index.XIcon, null, _isSlot(_slot = renderIcons()) ? _slot : { default: () => [_slot] })]) : vue.createVNode("span", { "class": ns.e("separator") }, [breadcrumbCtx.props.separator]); return vue.createVNode("div", { "class": [ns.b()] }, [isLink ? vue.createVNode("a", { "class": [ns.e("link")], "onClick": handleClick }, [slots.default?.()]) : vue.createVNode("span", { "class": ns.e("text") }, [slots.default?.()]), separator]); }; } }); module.exports = breadcrumbItem; //# sourceMappingURL=breadcrumb-item.cjs.map