protected function buildButton()
    {
        $attribStrings = $this->buildAttribStrings($this->props);
        $props = \array_merge($this->props, $attribStrings);
        if (empty($props['input'])) {
            if (empty($props['label']) && !empty($this->props['attribs']['value'])) {
                $props['label'] = $this->props['attribs']['value'];
            }
            $props['input'] = Html::buildTag(
                $props['tagname'],
                $props['attribs'],
                $props['label']
            );
        }
        $props['label'] = null; // so <label></label> will be empty and get stripped
        return $props['tagOnly']
            ? $props['input']
            : Str::quickTemp($props['template'], $props);
    }