UNPKG

@wix/design-system

Version:

@wix/design-system

108 lines (107 loc) 3.99 kB
"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 _useCopyClipboard2 = require("../../providers/useCopyClipboard"); var _Tooltip = _interopRequireDefault(require("../../Tooltip/Tooltip")); var _InlineVariantSt = require("./InlineVariant.st.css.js"); var _CodeSnippet = require("../CodeSnippet.constants"); var _jsxFileName = "/home/builduser/work/57e038ea7326c1ec/packages/wix-design-system/dist/cjs/CodeSnippet/components/InlineVariant.tsx"; var InlineVariant = _ref => { var code = _ref.code, size = _ref.size, copyText = _ref.copyText, _ref$disableCopy = _ref.disableCopy, disableCopy = _ref$disableCopy === void 0 ? false : _ref$disableCopy, _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, ariaLabel = _ref.ariaLabel, dataHook = _ref.dataHook, className = _ref.className; var valueToCopy = copyText !== null && copyText !== void 0 ? copyText : code; var _useCopyClipboard = (0, _useCopyClipboard2.useCopyClipboard)({ value: valueToCopy, onCopy: () => _onCopy == null ? void 0 : _onCopy(valueToCopy), resetTimeout: _CodeSnippet.COPY_RESET_TIMEOUT_MS }), isCopied = _useCopyClipboard.isCopied, copyToClipboard = _useCopyClipboard.copyToClipboard; if (disableCopy) { return /*#__PURE__*/_react.default.createElement("span", { "data-hook": dataHook, "aria-label": ariaLabel, className: (0, _InlineVariantSt.st)(_InlineVariantSt.classes.root, { size, static: true }, className), __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 51, columnNumber: 7 } }, /*#__PURE__*/_react.default.createElement("code", { "data-hook": _CodeSnippet.DATA_HOOKS.code, className: _InlineVariantSt.classes.code, __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 56, columnNumber: 9 } }, code)); } var tooltipLabel = isCopied ? copiedTooltipText : copyTooltipText; var handleKeyDown = event => { if (event.key === 'Enter' || event.key === ' ') { event.preventDefault(); copyToClipboard(); } }; return /*#__PURE__*/_react.default.createElement(_Tooltip.default, (0, _extends2.default)({ appendTo: "window", inline: true }, tooltipProps, { content: tooltipLabel, __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 73, columnNumber: 5 } }), /*#__PURE__*/_react.default.createElement("span", { role: "button", tabIndex: 0, "data-hook": dataHook, "aria-label": ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : "".concat(code, ", ").concat(tooltipLabel), className: (0, _InlineVariantSt.st)(_InlineVariantSt.classes.root, { size }, className), onClick: copyToClipboard, onKeyDown: handleKeyDown, __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 74, columnNumber: 7 } }, /*#__PURE__*/_react.default.createElement("code", { "data-hook": _CodeSnippet.DATA_HOOKS.code, className: _InlineVariantSt.classes.code, __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 83, columnNumber: 9 } }, code))); }; InlineVariant.displayName = 'CodeSnippet.InlineVariant'; var _default = exports.default = InlineVariant; //# sourceMappingURL=InlineVariant.js.map