@chayns-components/core
Version:
A set of beautiful React components for developing your own applications with chayns.
47 lines (46 loc) • 1.75 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _SharingContextMenu = _interopRequireDefault(require("../sharing-context-menu/SharingContextMenu"));
var _SharingButton = require("./SharingButton.styles");
var _Button = _interopRequireDefault(require("../button/Button"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const SharingButton = ({
link,
alignment,
container,
children,
isDisabled,
shouldEnableKeyboardHighlighting
}) => {
const contextMenuRef = _react.default.useRef(null);
const [isButtonDisabled, setIsButtonDisabled] = _react.default.useState(false);
const handleButtonClick = () => {
var _contextMenuRef$curre;
(_contextMenuRef$curre = contextMenuRef.current) === null || _contextMenuRef$curre === void 0 || _contextMenuRef$curre.show();
};
const handleOnShow = () => {
setIsButtonDisabled(true);
};
const handleOnHide = () => {
setIsButtonDisabled(false);
};
return /*#__PURE__*/_react.default.createElement(_SharingButton.StyledSharingButtonContainer, null, /*#__PURE__*/_react.default.createElement(_SharingContextMenu.default, {
link: link,
alignment: alignment,
container: container,
ref: contextMenuRef,
shouldDisableClick: true,
onShow: handleOnShow,
onHide: handleOnHide
}, /*#__PURE__*/_react.default.createElement(_Button.default, {
onClick: handleButtonClick,
isDisabled: isButtonDisabled || isDisabled,
shouldEnableKeyboardHighlighting: shouldEnableKeyboardHighlighting
}, children)));
};
var _default = exports.default = SharingButton;
//# sourceMappingURL=SharingButton.js.map