@yandex/ui
Version:
Yandex UI components
35 lines (34 loc) • 1.98 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Ignore = void 0;
var tslib_1 = require("tslib");
var react_1 = tslib_1.__importStar(require("react"));
var withOutsideClick_1 = require("@yandex-lego/components/withOutsideClick");
var desktop_1 = require("@yandex-lego/components/Button/Button.bundle/desktop");
var ComponentWithOutsideClick = withOutsideClick_1.withOutsideClick(function (_a) {
var visible = _a.visible, targetRef = _a.targetRef, props = tslib_1.__rest(_a, ["visible", "targetRef"]);
return (react_1.default.createElement(react_1.default.Fragment, null, visible && (react_1.default.createElement("div", tslib_1.__assign({ style: {
backgroundColor: 'lightgray',
borderRadius: '4px',
lineHeight: '70px',
width: '100px',
textAlign: 'center',
}, ref: targetRef }, props), "Click outside"))));
});
var Ignore = function () {
var _a = tslib_1.__read(react_1.useState(false), 2), visible = _a[0], setVisible = _a[1];
var targetRef = react_1.createRef();
var ignoreRef = react_1.createRef();
return (react_1.default.createElement("div", null,
react_1.default.createElement(desktop_1.Button, { view: "action", size: "m", onClick: function () { return setVisible(function (prev) { return !prev; }); }, innerRef: targetRef }, "Click"),
" \u00A0",
react_1.default.createElement(desktop_1.Button, { view: "default", size: "m" }, "Ignore button"),
" \u00A0",
react_1.default.createElement(desktop_1.Button, { view: "default", size: "m" }, "Ignore button"),
" ",
react_1.default.createElement("br", null),
" ",
react_1.default.createElement("br", null),
react_1.default.createElement(ComponentWithOutsideClick, { visible: visible, onOutsideClick: function () { return setVisible(false); }, targetRef: targetRef, ignoreRefs: [ignoreRef] })));
};
exports.Ignore = Ignore;