namespace WPForms\Lite\Integrations\Gutenberg;
use WPForms\Integrations\Gutenberg\FormSelector as FormSelectorBase;
use WPForms\Integrations\Gutenberg\RestApi;
* Gutenberg block for Lite.
class FormSelector extends FormSelectorBase {
$this->themes_data_obj = new ThemesData();
protected function hooks() {
add_action( 'rest_api_init', [ $this, 'init_rest' ] );
public function init_rest() {
if ( ! $this->rest_api_obj ) {
$this->rest_api_obj = new RestApi( $this, $this->themes_data_obj );
* Register WPForms Gutenberg block styles.
protected function register_styles() {
parent::register_styles();
WPFORMS_PLUGIN_URL . 'assets/lib/font-awesome/css/all.min.css',
// FontAwesome v4 compatibility shims.
'wpforms-font-awesome-v4-shim',
WPFORMS_PLUGIN_URL . 'assets/lib/font-awesome/css/v4-shims.min.css',
* Load WPForms Gutenberg block scripts.
public function enqueue_block_editor_assets() {
parent::enqueue_block_editor_assets();
$min = wpforms_get_min_suffix();
WPFORMS_PLUGIN_URL . "assets/js/share/utils{$min}.js",
if ( ! $this->is_legacy_block() ) {
'wpforms-gutenberg-form-selector',
WPFORMS_PLUGIN_URL . "assets/lite/js/integrations/gutenberg/formselector.es5{$min}.js",
[ 'wp-blocks', 'wp-i18n', 'wp-element', 'jquery', 'wpforms-admin-education-core', 'wpforms-generic-utils' ],
'wpforms-gutenberg-form-selector',
'wpforms_gutenberg_form_selector',
$this->get_localize_data()