87abe5bcfdff4bb49690e0947dfd5cc71ddaf7afd3b812d91580874f5606240cbb6234ee888bde36a6cb4f79f421852d1a03c565d17f372f75251d049789ad 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. 'use strict';
  2. Object.defineProperty(exports, '__esModule', { value: true });
  3. var vue = require('vue');
  4. var types = require('./types.js');
  5. var index = require('../../../hooks/use-namespace/index.js');
  6. var shared = require('@vue/shared');
  7. function isVNodeEmpty(vnodes) {
  8. return !!(shared.isArray(vnodes) ? vnodes.every(({
  9. type
  10. }) => type === vue.Comment) : (vnodes == null ? void 0 : vnodes.type) === vue.Comment);
  11. }
  12. var NodeContent = vue.defineComponent({
  13. name: "NodeContent",
  14. props: {
  15. node: {
  16. type: Object,
  17. required: true
  18. }
  19. },
  20. setup(props) {
  21. const ns = index.useNamespace("cascader-node");
  22. const {
  23. renderLabelFn
  24. } = vue.inject(types.CASCADER_PANEL_INJECTION_KEY);
  25. const {
  26. node
  27. } = props;
  28. const {
  29. data,
  30. label: nodeLabel
  31. } = node;
  32. const label = () => {
  33. const renderLabel = renderLabelFn == null ? void 0 : renderLabelFn({
  34. node,
  35. data
  36. });
  37. return isVNodeEmpty(renderLabel) ? nodeLabel : renderLabel != null ? renderLabel : nodeLabel;
  38. };
  39. return () => vue.createVNode("span", {
  40. "class": ns.e("label")
  41. }, [label()]);
  42. }
  43. });
  44. exports["default"] = NodeContent;
  45. //# sourceMappingURL=node-content.js.map