to
HTML tag. * * @var int */ protected $headingLevel = 2; protected $schemaDataType = self::SCHEMA_DATA_TYPE_STRUCTURAL; /** * @skipUpgrade * @var string */ protected $schemaComponent = 'HeaderField'; /** * @param string $name * @param string $title * @param int $headingLevel */ public function __construct($name, $title = null, $headingLevel = 2) { $this->setHeadingLevel($headingLevel); parent::__construct($name, $title); } /** * @return int */ public function getHeadingLevel() { return $this->headingLevel; } /** * @param int $headingLevel * * @return $this */ public function setHeadingLevel($headingLevel) { $this->headingLevel = $headingLevel; return $this; } /** * {@inheritdoc} */ public function getAttributes() { return array_merge( parent::getAttributes(), [ 'id' => $this->ID(), 'class' => $this->extraClass(), 'type' => null, 'name' => null ] ); } /** * @return null */ public function Type() { return null; } /** * Header fields support dynamic titles via schema state * * @return array */ public function getSchemaStateDefaults() { $state = parent::getSchemaStateDefaults(); $state['data']['title'] = $this->Title(); return $state; } /** * Header fields heading level to be set * * @return array */ public function getSchemaDataDefaults() { $data = parent::getSchemaDataDefaults(); $data['data']['headingLevel'] = $this->headingLevel; return $data; } }