@wix/design-system
Version:
@wix/design-system
80 lines (79 loc) • 3.14 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _react = _interopRequireDefault(require("react"));
var _wixUiIconsCommon = require("@wix/wix-ui-icons-common");
var _CopyClipboard = _interopRequireDefault(require("../../CopyClipboard/CopyClipboard"));
var _Tooltip = _interopRequireDefault(require("../../Tooltip/Tooltip"));
var _CopyButtonSt = require("./CopyButton.st.css.js");
var _CodeSnippet = require("../CodeSnippet.constants");
var _jsxFileName = "/home/builduser/work/57e038ea7326c1ec/packages/wix-design-system/dist/cjs/CodeSnippet/components/CopyButton.tsx";
var CopyButton = _ref => {
var variant = _ref.variant,
_ref$size = _ref.size,
size = _ref$size === void 0 ? _CodeSnippet.COPY_BUTTON_SIZE.medium : _ref$size,
value = _ref.value,
_ref$copyTooltipText = _ref.copyTooltipText,
copyTooltipText = _ref$copyTooltipText === void 0 ? _CodeSnippet.DEFAULT_TOOLTIP_IDLE : _ref$copyTooltipText,
_ref$copiedTooltipTex = _ref.copiedTooltipText,
copiedTooltipText = _ref$copiedTooltipTex === void 0 ? _CodeSnippet.DEFAULT_TOOLTIP_COPIED : _ref$copiedTooltipTex,
tooltipProps = _ref.tooltipProps,
_onCopy = _ref.onCopy,
describedById = _ref.describedById,
dataHook = _ref.dataHook;
return /*#__PURE__*/_react.default.createElement(_CopyClipboard.default, {
value: value,
onCopy: () => _onCopy == null ? void 0 : _onCopy(value),
resetTimeout: _CodeSnippet.COPY_RESET_TIMEOUT_MS,
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 38,
columnNumber: 3
}
}, _ref2 => {
var isCopied = _ref2.isCopied,
copyToClipboard = _ref2.copyToClipboard;
var tooltipLabel = isCopied ? copiedTooltipText : copyTooltipText;
var Icon = size === _CodeSnippet.COPY_BUTTON_SIZE.small ? _wixUiIconsCommon.DuplicateSmall : _wixUiIconsCommon.Duplicate;
return /*#__PURE__*/_react.default.createElement(_Tooltip.default, (0, _extends2.default)({
appendTo: "window"
}, tooltipProps, {
content: tooltipLabel,
"aria-describedby": describedById,
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 48,
columnNumber: 9
}
}), /*#__PURE__*/_react.default.createElement("button", {
type: "button",
className: (0, _CopyButtonSt.st)(_CopyButtonSt.classes.root, {
variant,
size
}),
onClick: copyToClipboard,
"aria-label": tooltipLabel,
"data-hook": dataHook,
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 54,
columnNumber: 11
}
}, /*#__PURE__*/_react.default.createElement(Icon, {
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 61,
columnNumber: 13
}
})));
});
};
CopyButton.displayName = 'CodeSnippet.CopyButton';
var _default = exports.default = CopyButton;
//# sourceMappingURL=CopyButton.js.map