PanelContent.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.default = void 0;
  7. var _vue = require("vue");
  8. var _commonProps = require("./commonProps");
  9. var _classNames = _interopRequireDefault(require("../_util/classNames"));
  10. var _default = exports.default = (0, _vue.defineComponent)({
  11. compatConfig: {
  12. MODE: 3
  13. },
  14. name: 'PanelContent',
  15. props: (0, _commonProps.collapsePanelProps)(),
  16. setup(props, _ref) {
  17. let {
  18. slots
  19. } = _ref;
  20. const rendered = (0, _vue.shallowRef)(false);
  21. (0, _vue.watchEffect)(() => {
  22. if (props.isActive || props.forceRender) {
  23. rendered.value = true;
  24. }
  25. });
  26. return () => {
  27. var _a;
  28. if (!rendered.value) return null;
  29. const {
  30. prefixCls,
  31. isActive,
  32. role
  33. } = props;
  34. return (0, _vue.createVNode)("div", {
  35. "class": (0, _classNames.default)(`${prefixCls}-content`, {
  36. [`${prefixCls}-content-active`]: isActive,
  37. [`${prefixCls}-content-inactive`]: !isActive
  38. }),
  39. "role": role
  40. }, [(0, _vue.createVNode)("div", {
  41. "class": `${prefixCls}-content-box`
  42. }, [(_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots)])]);
  43. };
  44. }
  45. });