Add phone element

@param $name
@param string $label
@param array $attr
@return \FrenchFrogs\Form\Element\Tel
6424
public function addTel($name, $label = '', $is_mandatory = true)
    {
        $e = new \FrenchFrogs\Form\Element\Tel($name, $label);
        $this->addElement($e);
        $e->addRule('laravel','laravel', ['regex:/^[+]{0,1}[0-9]{9,13}$/'],['regex' => 'Le champ doit être un numero valide . Il peut commencer par un + et ne doit contenir que des chiffres (Au moins 10)']);

        if ($is_mandatory) {
            $e->addRule('required');
        } else {
            $e->addFilter('nullable');
        }

        return $e;
    }
800044
public function addButton($name, $label, $attr = [] )
    {
        $e = new \FrenchFrogs\Form\Element\Button($name, $label, $attr);
        $this->addElement($e);
        return $e;
    }
18344
public function addCode($name, $label = '', $attr = [])
    {
        $c = new Column\Code($name, $label, $attr);
        $this->addColumn($c);
        return $c;
    }
285673
protected function addElement_checkbox ($name, $label, $customElementConfig=array())
    {
        $defaultElementConfig = array(
            'name'       => $name,
            'attributes' => array(
                'id'         => $name,
            ),
            'options'    => array(
                'label'      => $label,
            ),
        );
        $elementConfig = array_replace_recursive(
            $defaultElementConfig,
            $customElementConfig
        );

        $this->addElement_checkbox_configArray($elementConfig);
    }
77318
public function add_terminal($name, $label, $callback = null)
    {
        if ($label === null || $callback === null) {
            unset($this->terminal_labels[$name], $this->terminals[$name]);
        } elseif (!in_array($label, $this->terminal_labels)) {
            $this->terminals[$name] = $callback;
            $this->terminal_labels[$name] = $label;
            asort($this->terminal_labels);
        }

        return $this;
    }
374895
public function add_before($name, $label = '', array $attributes = array(), array $rules = array(), $fieldname = null)
	{
		return $this->fieldset()->add_before($name, $label, $attributes, $rules, $fieldname);
	}
1292165
public function addCheckbox($name, $label = '', $multi  = [], $attr = [] )
    {
        $e = new \FrenchFrogs\Form\Element\Checkbox($name, $label, $multi, $attr);
        $this->addElement($e);
        return $e;
    }
1198748
protected function getLabelElement($name, Label $label)
    {
        $labelStub = $this->getStubContent('form-label-field.blade', $this->template);

        $this->replaceFieldName($labelStub, $name)
            ->replaceFieldTitle($labelStub, $this->getTitle($label));

        return $labelStub;
    }
1206787
public function addLink($name, $label = '', $link = '#', $binds = [], $attr = [] )
    {
        $c = new Column\Link($name, $label, $link, $binds, $attr);
        $this->addColumn($c);

        return $c;
    }
237713
public function addRadio($name, $label = '', $multi  = [], $is_mandatory = true )
    {
        $e = new \FrenchFrogs\Form\Element\Radio($name, $label, $multi);
        $this->addElement($e);

        if ($is_mandatory) {
            $e->addRule('required');
        } else {
            $e->addFilter('nullable');
        }

        return $e;
    }
795576
public function withHtml(string $name, string $label, string $containerElementCssSelector = null)
    {
        $this->contentGroup->htmlAreas[$name] = [
            'name'     => $name,
            'label'    => $label,
            'selector' => $containerElementCssSelector,
            'order'    => $this->order++,
        ];

        return $this;
    }
790468
public function addField($name, $attrs)
    {
        if (is_string($attrs)) {
            $attrs = ['type' => $attrs];
        }
        $attrs = array_intersect_key($attrs, $this->_fieldDefaults);
        $this->_fields[$name] = $attrs + $this->_fieldDefaults;

        return $this;
    }
510921
public function add($name, $label = '', array $attributes = array(), array $rules = array())
	{
		return $this->fieldset()->add($name, $label, $attributes, $rules);
	}
448243
public function link($text, $href, $label=false, array $attr=[]){
		$field = $this->factory('link', false, $label, array_merge(array('text' => $text, 'href' => $href), $attr));
		return $this->addField($field);
	}
373915
protected function addField($name, $label = '')
    {
        $field = new Field($name, $label);

        $field->setParent($this);

        $this->overwriteExistingField($name);

        return tap($field, function ($field) {
            $this->fields->push($field);
        });
    }
319417
public function addText($name, $label = '', $attr = [])
    {
        $c = new Column\Text($name, $label, $attr);
        $this->addColumn($c);
        return $c;
    }
284210
public function setAttribute(string $name, string $value) : Label
    {
        $this->tag->setAttribute($name, $value);

        return $this;
    }