@trellixio/roaster-coffee
Version:
Beans' product component library
37 lines (31 loc) • 2.15 kB
JavaScript
;
var React = require('react');
var index = require('../../utils/classNames/index.js');
require('@floating-ui/react');
var Button = require('../Button/Button.js');
var VisualizerMobileOpener = require('./VisualizerMobileOpener.js');
var Visualizer_context = require('./Visualizer.context.js');
function _interopNamespaceDefault(e) {
var n = Object.create(null);
if (e) {
for (var k in e) {
n[k] = e[k];
}
}
n.default = e;
return Object.freeze(n);
}
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
const Visualizer = React__namespace.forwardRef(({ className, children, title }, ref) => {
const [visible, setVisible] = React__namespace.useState(false);
return /* @__PURE__ */ React__namespace.createElement(
Visualizer_context.VisualizerProvider,
{
value: { open: visible, onOpen: () => setVisible(true), onClose: () => setVisible(false), title }
},
/* @__PURE__ */ React__namespace.createElement(React__namespace.Fragment, null, /* @__PURE__ */ React__namespace.createElement("section", { className: index.classNames("visualizer-container", { visible }, className), ref }, /* @__PURE__ */ React__namespace.createElement("div", { className: "background-overlay", onClick: () => setVisible(!visible) }), /* @__PURE__ */ React__namespace.createElement("aside", { className: "visualizer visualizer-background" }, /* @__PURE__ */ React__namespace.createElement("div", { className: "title-wrapper" }, /* @__PURE__ */ React__namespace.createElement("h4", null, title), /* @__PURE__ */ React__namespace.createElement(Button.Button, { isIconButton: true, variant: "secondary", className: "close-visualizer", onClick: () => setVisible(false) }, /* @__PURE__ */ React__namespace.createElement("i", { className: "fa-regular fa-xmark" }))), /* @__PURE__ */ React__namespace.createElement("div", { className: "visualizer-content-wrapper" }, children))), /* @__PURE__ */ React__namespace.createElement(VisualizerMobileOpener.VisualizerMobileOpener, null))
);
});
Visualizer.displayName = "Visualizer";
exports.Visualizer = Visualizer;
//# sourceMappingURL=Visualizer.js.map