| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- import { defineComponent, inject, createVNode, Comment } from 'vue';
- import { CASCADER_PANEL_INJECTION_KEY } from './types.mjs';
- import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
- import { isArray } from '@vue/shared';
- function isVNodeEmpty(vnodes) {
- return !!(isArray(vnodes) ? vnodes.every(({
- type
- }) => type === Comment) : (vnodes == null ? void 0 : vnodes.type) === Comment);
- }
- var NodeContent = defineComponent({
- name: "NodeContent",
- props: {
- node: {
- type: Object,
- required: true
- }
- },
- setup(props) {
- const ns = useNamespace("cascader-node");
- const {
- renderLabelFn
- } = inject(CASCADER_PANEL_INJECTION_KEY);
- const {
- node
- } = props;
- const {
- data,
- label: nodeLabel
- } = node;
- const label = () => {
- const renderLabel = renderLabelFn == null ? void 0 : renderLabelFn({
- node,
- data
- });
- return isVNodeEmpty(renderLabel) ? nodeLabel : renderLabel != null ? renderLabel : nodeLabel;
- };
- return () => createVNode("span", {
- "class": ns.e("label")
- }, [label()]);
- }
- });
- export { NodeContent as default };
- //# sourceMappingURL=node-content.mjs.map
|