extractValueFromAttributes($data); $data['attributes']['class'] = trim('ff-el-form-control ' . $data['attributes']['class']); $data['attributes']['id'] = $this->makeElementId($data, $form); if ($tabIndex = Helper::getNextTabIndex()) { $data['attributes']['tabindex'] = $tabIndex; } $ariaRequired = 'false'; if (ArrayHelper::get($data, 'settings.validation_rules.required.value')) { $ariaRequired = 'true'; } $ariaLabelledBy = 'label_' . ArrayHelper::get($data, 'attributes.id'); $elMarkup = ''; $atts = $this->buildAttributes($data['attributes']); $elMarkup = sprintf( $elMarkup, $atts, esc_attr($textareaValue) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- $atts is escaped before being passed in. $elMarkup = $this->buildInputGroup($elMarkup, $data); $html = $this->buildElementMarkup($elMarkup, $data, $form); $html = apply_filters_deprecated( 'fluentform_rendering_field_html_' . $elementName, [ $html, $data, $form ], FLUENTFORM_FRAMEWORK_UPGRADE, 'fluentform/rendering_field_html_' . $elementName, 'Use fluentform/rendering_field_html_' . $elementName . ' instead of fluentform_rendering_field_html_' . $elementName ); $this->printContent('fluentform/rendering_field_html_' . $elementName, $html, $data, $form); } /** * Build input group with prefix/suffix * * @param string $textarea The textarea element HTML * @param array $data The field data * * @return string */ private function buildInputGroup($textarea, $data) { $prefix = ArrayHelper::get($data, 'settings.prefix_label'); $suffix = ArrayHelper::get($data, 'settings.suffix_label'); if ($prefix || $suffix) { $wrapperClass = 'ff_input-group'; $wrapper = '