/* @oracle/oraclejet-preact: undefined */
'use strict';

var jsxRuntime = require('preact/jsx-runtime');
var classNames = require('./classNames-c14c6ef3.js');
var mergeProps = require('./mergeProps-e3da7237.js');
var useActive = require('./useActive-6770f917.js');
var useTestId = require('./useTestId-32c35bff.js');
var DragV = require('./DragV-a546053a.js');
var UNSAFE_DragHandle_themes_DragHandleStyles_css = require('./UNSAFE_DragHandle/themes/DragHandleStyles.css.js');

/**
 * A draggable icon that shows grab cursor when users hover the mouse on it,
 * and shows grabbing cursor when users click the icon.
 */
function DragHandle({ testId }) {
    const { isActive, activeProps } = useActive.useActive();
    const testIdProps = useTestId.useTestId(testId);
    const classes = classNames.classNames([UNSAFE_DragHandle_themes_DragHandleStyles_css.iconStyle, isActive ? UNSAFE_DragHandle_themes_DragHandleStyles_css.activeStyle : UNSAFE_DragHandle_themes_DragHandleStyles_css.hoverStyle]);
    return (jsxRuntime.jsx("div", { ...mergeProps.mergeProps(activeProps, testIdProps), draggable: true, class: classes, role: "presentation", children: jsxRuntime.jsx(DragV.SvgDragV, {}) }));
}

exports.DragHandle = DragHandle;
//# sourceMappingURL=DragHandle-636fb438.js.map
