protected function getTemplateParameters()
 {
     $params = parent::getTemplateParameters();
     $params['html_attributes'] = $this->getOption('html_attributes', []);
     // get common parameters for input HTML elements
     $params = array_replace_recursive($params, $this->getInputTemplateParameters());
     if ($this->hasOption('pattern')) {
         $params['pattern'] = sprintf('pattern="%s"', $this->getOption('pattern', ''));
     } else {
         $params['pattern'] = array_key_exists('pattern', $params['translations']) ? sprintf('pattern="%s"', $params['translations']['pattern']) : '';
     }
     $css = sprintf('hb-attribute %s%s %s', $this->getOption('css_prefix', 'attribute_value_'), $params['attribute_name'], (string) $this->getOption('css', ''));
     if ($this->isWidgetEnabled()) {
         $css .= sprintf(' %s %s', $params['is_embedded'] ? ' jsb__' : ' jsb_', $this->getWidgetImplementor());
     }
     $params['css'] = $css;
     $params['widget_enabled'] = $this->isWidgetEnabled();
     $params['widget_options'] = $this->getWidgetOptions();
     return $params;
 }
 protected function getTemplateParameters()
 {
     return parent::getTemplateParameters();
 }