import { __ } from '@wordpress/i18n'; import ProgressBlock from "./Progress/ProgressBlock"; import ProgressHeader from "./Progress/ProgressBlockHeader"; import ProgressFooter from "./Progress/ProgressFooter"; import DocumentsBlock from "./Documents/DocumentsBlock"; import DocumentsHeader from "./Documents/DocumentsHeader"; import DocumentsFooter from "./Documents/DocumentsFooter"; import Tools from "./Tools/Tools"; import ToolsHeader from "./Tools/ToolsHeader"; import ToolsFooter from "./Tools/ToolsFooter"; import OtherPlugins from "./OtherPlugins/OtherPlugins"; import TipsTricks from "./TipsTricks/TipsTricks"; import TipsTricksFooter from "./TipsTricks/TipsTricksFooter"; import OtherPluginsHeader from "./OtherPlugins/OtherPluginsHeader"; import ErrorBoundary from "../utils/ErrorBoundary"; /* * Mapping of components, for use in the config array * @type {{SslLabs: JSX.Element}} */ var dynamicComponents = { "ProgressBlock": ProgressBlock, "ProgressHeader": ProgressHeader, "ProgressFooter": ProgressFooter, "DocumentsBlock": DocumentsBlock, "DocumentsHeader": DocumentsHeader, "DocumentsFooter": DocumentsFooter, "TipsTricks": TipsTricks, "TipsTricksFooter": TipsTricksFooter, "ToolsHeader": ToolsHeader, "ToolsFooter": ToolsFooter, "Tools": Tools, "OtherPluginsHeader": OtherPluginsHeader, "OtherPlugins": OtherPlugins, }; const GridBlock = ({block}) => { const blockData = block; const className = "cmplz-grid-item "+blockData.class+" cmplz-"+blockData.id; const footer =block.footer ? block.footer.data : false; return (
{blockData.header.type==='text' && <>

{ blockData.header.data }

{blockData.controls && blockData.controls.type==='url' && {__("Instructions", "complianz-gdpr")}} {blockData.controls && blockData.controls.type==='react' && wp.element.createElement(dynamicComponents[blockData.controls.data])}
} {blockData.header.type==='react' && <> { wp.element.createElement(dynamicComponents[blockData.header.data])} }
{wp.element.createElement(dynamicComponents[block.content.data])}
{!footer &&
} {footer &&
{wp.element.createElement(dynamicComponents[block.footer.data])}
}
); } export default GridBlock;