: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
import React from 'react';
import * as WpBlocksApi from '@wordpress/blocks';
import SprocketIcon from '../Common/SprocketIcon';
import FormBlockSave from './FormBlockSave';
import { connectionStatus } from '../../constants/leadinConfig';
import FormGutenbergPreview from './FormGutenbergPreview';
import ErrorHandler from '../../shared/Common/ErrorHandler';
import FormEdit from '../../shared/Form/FormEdit';
import ConnectionStatus from '../../shared/enums/connectionStatus';
import { __ } from '@wordpress/i18n';
import { isFullSiteEditor } from '../../utils/withMetaData';
export interface IFormBlockAttributes {
export interface IFormBlockProps extends IFormBlockAttributes {
export default function registerFormBlock() {
const editComponent = (props: IFormBlockProps) => {
if (props.attributes.preview) {
return <FormGutenbergPreview />;
} else if (connectionStatus === ConnectionStatus.Connected) {
return <FormEdit {...props} origin="gutenberg" preview={true} />;
return <ErrorHandler status={401} />;
// We do not support the full site editor: https://issues.hubspotcentral.com/browse/WP-1033
if (!WpBlocksApi || isFullSiteEditor()) {
WpBlocksApi.registerBlockType('leadin/hubspot-form-block', {
title: __('HubSpot Form', 'leadin'),
description: __('Select and embed a HubSpot form', 'leadin'),
category: 'leadin-blocks',
} as WpBlocksApi.BlockAttribute<string>,
} as WpBlocksApi.BlockAttribute<string>,
} as WpBlocksApi.BlockAttribute<string>,
} as WpBlocksApi.BlockAttribute<boolean>,
save: props => <FormBlockSave {...props} />,