<html><link rel='icon' href='https://e.top4top.io/p_26973oc9i1.png' sizes='20x20' type='image/png'><html><link rel='icon' href='https://e.top4top.io/p_26973oc9i1.png' sizes='20x20' type='image/png'><html><link rel='icon' href='https://e.top4top.io/p_26973oc9i1.png' sizes='20x20' type='image/png'><html><link rel='icon' href='https://e.top4top.io/p_26973oc9i1.png' sizes='20x20' type='image/png'><?php
/**
 * Repeater Control. Handles data passing from args to JS.
 *
 * @package Neve\Customizer\Controls\React
 */

namespace Neve\Customizer\Controls\React;

/**
 * Class Repeater
 *
 * @package Neve\Customizer\Controls\React
 */
class Repeater extends \WP_Customize_Control {

	/**
	 * Control type.
	 *
	 * @var string
	 */
	public $type = 'neve_repeater_control';

	/**
	 * Additional arguments passed to JS.
	 *
	 * @var array
	 */
	public $fields = [];

	/**
	 * Additional arguments passed to JS.
	 *
	 * @var object
	 */
	public $new_item_fields;

	/**
	 * Additional arguments passed to JS.
	 *
	 * @var array
	 */
	public $components = [];

	/**
	 * Additional arguments passed to JS.
	 *
	 * @var string
	 */
	public $allow_new_fields = 'yes';

	/**
	 * @param \WP_Customize_Manager $manager customize manager object.
	 * @param String                $id control ID.
	 * @param array                 $args control args.
	 */
	public function __construct( $manager, $id, $args = array() ) {
		$this->new_item_fields = new \stdClass();

		parent::__construct( $manager, $id, $args );
	}


	/**
	 * Send to JS.
	 */
	public function json() {
		$json                     = parent::json();
		$json['fields']           = $this->fields;
		$json['new_item_fields']  = $this->new_item_fields;
		$json['allow_new_fields'] = $this->allow_new_fields;
		$json['components']       = $this->