'use strict';

var iconsReact = require('@cloudtower/icons-react');
var index = require('../../core/Icon/index.js');
var index$1 = require('../../core/Tooltip/index.js');
var useParrotTranslation = require('../../hooks/useParrotTranslation.js');
var React = require('react');
var CopyToClipboard = require('react-copy-to-clipboard');

function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }

var React__default = /*#__PURE__*/_interopDefault(React);
var CopyToClipboard__default = /*#__PURE__*/_interopDefault(CopyToClipboard);

var __defProp = Object.defineProperty;
var __defProps = Object.defineProperties;
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp.call(b, prop))
      __defNormalProp(a, prop, b[prop]);
  if (__getOwnPropSymbols)
    for (var prop of __getOwnPropSymbols(b)) {
      if (__propIsEnum.call(b, prop))
        __defNormalProp(a, prop, b[prop]);
    }
  return a;
};
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
const CopyTooltip = React__default.default.forwardRef(
  (props, ref) => {
    const { t } = useParrotTranslation();
    const {
      text,
      beforeTooltip = t("common.click_to_copy"),
      afterTooltip = t("common.copy_done"),
      children = /* @__PURE__ */ React__default.default.createElement(index, { src: iconsReact.ClipboardCopy16GradientGrayIcon }),
      tooltipProps,
      className
    } = props;
    const [tooltipText, setTooltipText] = React.useState(beforeTooltip);
    return /* @__PURE__ */ React__default.default.createElement(
      "span",
      {
        ref,
        onMouseEnter: () => setTooltipText(beforeTooltip),
        className
      },
      /* @__PURE__ */ React__default.default.createElement(index$1, __spreadProps(__spreadValues({}, tooltipProps), { title: tooltipText }), /* @__PURE__ */ React__default.default.createElement(
        CopyToClipboard__default.default,
        {
          text,
          onCopy: () => setTooltipText(afterTooltip)
        },
        children
      ))
    );
  }
);
var CopyTooltip$1 = CopyTooltip;

module.exports = CopyTooltip$1;
