/**
* WordPress dependencies
*/
import { registerPlugin } from "@wordpress/plugins";
import { debounce } from "@wordpress/compose";
import { subscribe } from "@wordpress/data";
import { createRoot } from "@wordpress/element";
import { CSS_CLASSES, DEFAULTS } from "./constants";
import { getModulesSettings } from "@easy-accordion/controls";
import { EasyAccordionLogo } from "./icons";
import Library from "./Library";
import "./editor.scss";
/**
* Add Prebuilt Library button to Gutenberg toolbar
*/
let modalRoot;
export function ToolbarLibrary() {
if (!getModulesSettings("pattern_library")) {
return;
}
const renderButton = (selector) => {
// Avoid adding duplicate buttons.
if (selector.querySelector(`.${CSS_CLASSES.TOOLBAR_LIBRARY}`)) {
return;
}
const patternButton = document.createElement("div");
patternButton.classList.add(CSS_CLASSES.TOOLBAR_LIBRARY);
selector.appendChild(patternButton);
const root = createRoot(patternButton);
root.render(
);
};
const onInsertButtonClick = (e) => {
e.preventDefault();
// If modal already exists, don't create another.
if (document.querySelector(`.${CSS_CLASSES.MODAL}`)) {
return;
}
const node = document.createElement("div");
node.className = `${CSS_CLASSES.MODAL} sp-eab-patterns-blocks-layouts`;
document.body.appendChild(node);
modalRoot = createRoot(node);
modalRoot.render(