UNPKG

wix-style-react

Version:
69 lines (68 loc) 2.55 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.default = void 0; var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _useCopyClipboard = _interopRequireDefault(require("../providers/useCopyClipboard")); var _excluded = ["value", "children"]; var _jsxFileName = "/home/builduser/work/a9c1ac8876d5057c/packages/wix-style-react/dist/cjs/CopyClipboard/CopyClipboard.js"; var CopyClipboard = _ref => { var { value = '', children = () => {} } = _ref, propsWithNoDefaults = (0, _objectWithoutProperties2.default)(_ref, _excluded); var { dataHook, className, onCopy, resetTimeout } = propsWithNoDefaults; var { isCopied, copyToClipboard, reset } = (0, _useCopyClipboard.default)({ value, onCopy, resetTimeout }); return /*#__PURE__*/_react.default.createElement("div", { className: className, "data-hook": dataHook, __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 19, columnNumber: 5 } }, children({ isCopied, copyToClipboard, reset })); }; CopyClipboard.displayName = 'CopyClipboard'; CopyClipboard.propTypes = { /** Applied as data-hook HTML attribute that can be used in the tests */ dataHook: _propTypes.default.string, /** Children render prop provides handlers to invoke copying to the clipboard * ##### Signature * `function({ isCopied, copyToClipboard, reset }: ReactElement` * * `isCopied` - A boolean which contains state of copying to clipboard. Default - `null`, `true`/`false` depending if copying was successful * * `copyToClipboard` - A function which can be used to invoke copying to clipboard, must be trigerred by the user * * `reset` - A function to reset `isCopied` status to `null`. In case component is provided with `resetTimeout` prop, reset is invoked after a specific timeout * * returns `React Element` */ children: _propTypes.default.func, /** onCopy callback */ onCopy: _propTypes.default.func, /** Text to be added to clipboard */ value: _propTypes.default.string, /** Interval after which state of whether value was copied is reset */ resetTimeout: _propTypes.default.number }; var _default = exports.default = CopyClipboard; //# sourceMappingURL=CopyClipboard.js.map