UNPKG

@yandex/ui

Version:

Yandex UI components

35 lines (34 loc) 1.98 kB
"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;