"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.DragHandler = void 0;
var reactive_vue_1 = require("@formily/reactive-vue");
var IconWidget_1 = require("../IconWidget");
var hooks_1 = require("../../hooks");
var shared_1 = require("../../shared");
var gd_antd_plus_1 = require("@gaoding/gd-antd-plus");
var vue_1 = require("vue");
exports.DragHandler = (0, reactive_vue_1.observer)((0, vue_1.defineComponent)({
    name: 'DragHandler',
    props: { node: { type: Object } },
    setup: function (props) {
        var designerRef = (0, hooks_1.useDesigner)();
        var style = (0, shared_1.useStyle)();
        var prefixRef = (0, hooks_1.usePrefix)('aux-drag-handler');
        return function () {
            var _a;
            var prefix = prefixRef.value;
            var designer = designerRef.value;
            var node = props.node;
            if (node === node.root || !node.allowDrag())
                return null;
            var handlerProps = (_a = {},
                _a[designer.props.nodeDragHandlerAttrName] = 'true',
                _a);
            return (<gd_antd_plus_1.Button {...handlerProps} class={prefix} style={style}>
            <IconWidget_1.IconWidget infer="Move"/>
          </gd_antd_plus_1.Button>);
        };
    }
}));
exports.DragHandler.displayName = 'DragHandler';
//# sourceMappingURL=DragHandler.jsx.map