MobilePopupInner.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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 _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
  9. var _propsUtil = require("../../_util/props-util");
  10. var _classNames = _interopRequireDefault(require("../../_util/classNames"));
  11. var _interface = require("./interface");
  12. var _default2 = (0, _vue.defineComponent)({
  13. compatConfig: {
  14. MODE: 3
  15. },
  16. name: 'MobilePopupInner',
  17. inheritAttrs: false,
  18. props: _interface.mobileProps,
  19. emits: ['mouseenter', 'mouseleave', 'mousedown', 'touchstart', 'align'],
  20. setup: function setup(props, _ref) {
  21. var expose = _ref.expose,
  22. slots = _ref.slots;
  23. var elementRef = (0, _vue.ref)();
  24. expose({
  25. forceAlign: function forceAlign() {},
  26. getElement: function getElement() {
  27. return elementRef.value;
  28. }
  29. });
  30. return function () {
  31. var _slots$default;
  32. var zIndex = props.zIndex,
  33. visible = props.visible,
  34. prefixCls = props.prefixCls,
  35. _props$mobile = props.mobile;
  36. _props$mobile = _props$mobile === void 0 ? {} : _props$mobile;
  37. var popupClassName = _props$mobile.popupClassName,
  38. popupStyle = _props$mobile.popupStyle,
  39. _props$mobile$popupMo = _props$mobile.popupMotion,
  40. popupMotion = _props$mobile$popupMo === void 0 ? {} : _props$mobile$popupMo,
  41. popupRender = _props$mobile.popupRender;
  42. // ======================== Render ========================
  43. var mergedStyle = (0, _objectSpread2.default)({
  44. zIndex: zIndex
  45. }, popupStyle);
  46. var childNode = (0, _propsUtil.flattenChildren)((_slots$default = slots.default) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots));
  47. // Wrapper when multiple children
  48. if (childNode.length > 1) {
  49. var _childNode = function () {
  50. return childNode;
  51. }();
  52. childNode = (0, _vue.createVNode)("div", {
  53. "class": "".concat(prefixCls, "-content")
  54. }, [childNode]);
  55. }
  56. // Mobile support additional render
  57. if (popupRender) {
  58. childNode = popupRender(childNode);
  59. }
  60. var mergedClassName = (0, _classNames.default)(prefixCls, popupClassName);
  61. return (0, _vue.createVNode)(_vue.Transition, (0, _objectSpread2.default)({
  62. "ref": elementRef
  63. }, popupMotion), {
  64. default: function _default() {
  65. return [visible ? (0, _vue.createVNode)("div", {
  66. "class": mergedClassName,
  67. "style": mergedStyle
  68. }, [childNode]) : null];
  69. }
  70. });
  71. };
  72. }
  73. });
  74. exports.default = _default2;