# jetformbuilder/3.6.6/components/admin/vui-boxes/base-vui-box.php

JetFormBuilder — Dynamic Blocks Form Builder, version 3.6.6. 40 lines.

- Page: https://pluginprobe.com/plugins/jetformbuilder/3.6.6/code/components/admin/vui-boxes/base-vui-box.php
- Raw: https://pluginprobe.com/plugins/jetformbuilder/3.6.6/raw/components/admin/vui-boxes/base-vui-box.php
- Modified: 2023-11-20T11:46:54+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/jetformbuilder/3.6.6/code/components/admin/vui-boxes/base-vui-box.php#L10-L20`.

```php
<?php


namespace JFB_Components\Admin\Vui_Boxes;

use Jet_Form_Builder\Classes\Arrayable\Arrayable;
use JFB_Components\Repository\Repository_Item_Instance_Trait;

// If this file is called directly, abort.
if ( ! defined( 'WPINC' ) ) {
	die;
}

abstract class Base_Vui_Box implements Repository_Item_Instance_Trait, Arrayable {

	const TYPE_PANEL  = 'panel';
	const TYPE_BANNER = 'banner';

	abstract public function get_slug(): string;

	abstract public function get_type(): string;

	public function rep_item_id() {
		return $this->get_slug();
	}

	public function get_classes(): array {
		return array();
	}

	public function to_array(): array {
		return array(
			'slug'    => $this->get_slug(),
			'type'    => $this->get_type(),
			'classes' => $this->get_classes(),
		);
	}

}

```
