tdesign-vue-next
Version:
TDesign Component for vue-next
109 lines (105 loc) • 4.1 kB
JavaScript
/**
* tdesign v1.20.3
* (c) 2026 tdesign
* @license MIT
*/
import { defineComponent, toRefs, createVNode, provide, reactive, mergeProps } from 'vue';
import _typeof from '@babel/runtime/helpers/typeof';
import props from './props.js';
import _BreadcrumbItem from './breadcrumb-item.js';
import 'lodash-es';
import '@babel/runtime/helpers/toConsumableArray';
import '../_chunks/dep-9a792278.js';
import { u as useTNodeJSX } from '../_chunks/dep-9adf4ccf.js';
import { u as usePrefixClass } from '../_chunks/dep-5222f6e9.js';
import { u as useGlobalIcon } from '../_chunks/dep-ed00a348.js';
import '@babel/runtime/helpers/slicedToArray';
import '../_chunks/dep-f7f14b1f.js';
import '@babel/runtime/helpers/defineProperty';
import { useEllipsis } from './hooks/useEllipsis.js';
import { useBreadcrumbOptions } from './hooks/useBreadcrumbOptions.js';
import { ChevronRightIcon, EllipsisIcon } from 'tdesign-icons-vue-next';
import './breadcrumb-item-props.js';
import '../tooltip/index.js';
import '../tooltip/tooltip.js';
import '../tooltip/props.js';
import '../popup/props.js';
import '../popup/index.js';
import '../popup/popup.js';
import '@popperjs/core';
import '../_chunks/dep-5cf1c7d3.js';
import '../_chunks/dep-18ea1a72.js';
import '../config-provider/hooks/useConfig.js';
import '../config-provider/utils/context.js';
import '../_chunks/dep-5db45404.js';
import '../_chunks/dep-0ad1fea4.js';
import 'dayjs';
import '../_chunks/dep-df8ee692.js';
import '../_chunks/dep-fea684ae.js';
import '../popup/container.js';
import '../_chunks/dep-a7226924.js';
import '../_chunks/dep-b4c7b05a.js';
import 'tdesign-vue-next/esm/common/style/web/components/popup/_index.less';
import '../_chunks/dep-1b677277.js';
import '@babel/runtime/helpers/createClass';
import '@babel/runtime/helpers/classCallCheck';
import '../tooltip/utils/index.js';
import 'tdesign-vue-next/esm/common/style/web/components/tooltip/_index.less';
import '../_chunks/dep-a0745515.js';
import '../_chunks/dep-17b8083f.js';
var _Breadcrumb = defineComponent({
name: "TBreadcrumb",
props: props,
setup: function setup(props2) {
var _toRefs = toRefs(props2),
theme = _toRefs.theme,
maxItemWidth = _toRefs.maxItemWidth;
var COMPONENT_NAME = usePrefixClass("breadcrumb");
var renderTNodeJSX = useTNodeJSX();
var _useGlobalIcon = useGlobalIcon({
ChevronRightIcon: ChevronRightIcon,
EllipsisIcon: EllipsisIcon
}),
ChevronRightIcon$1 = _useGlobalIcon.ChevronRightIcon,
EllipsisIcon$1 = _useGlobalIcon.EllipsisIcon;
var separatorContent = renderTNodeJSX("separator");
var separator = separatorContent || createVNode(ChevronRightIcon$1, null, null);
provide("tBreadcrumb", reactive({
separator: separator,
theme: theme,
maxItemWidth: maxItemWidth
}));
return function () {
var _useBreadcrumbOptions = useBreadcrumbOptions(props2),
breadcrumbOptions = _useBreadcrumbOptions.breadcrumbOptions;
var ellipsisItems = breadcrumbOptions.value.slice(props2.itemsBeforeCollapse, breadcrumbOptions.value.length - props2.itemsAfterCollapse);
var ellipsisSlot = renderTNodeJSX("ellipsis", {
params: {
items: ellipsisItems,
separator: separator
}
});
var ellipsisContent = ellipsisSlot || createVNode(EllipsisIcon$1, null, null);
var _useEllipsis = useEllipsis(props2, breadcrumbOptions, ellipsisContent),
getDisplayItems = _useEllipsis.getDisplayItems;
var items = getDisplayItems.value;
var content = items.map(function (item, index) {
if (_typeof(item) === "object" && "content" in item) {
return createVNode(_BreadcrumbItem, mergeProps({
"key": index
}, item), {
"default": function _default() {
return [item.content];
}
});
}
return item;
});
return createVNode("div", {
"class": COMPONENT_NAME.value
}, [content]);
};
}
});
export { _Breadcrumb as default };
//# sourceMappingURL=breadcrumb.js.map