wrapper($input); } private static function field($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error = null, $value = null) { $fieldHelpers = new ConversationalFieldHelpers($formID, $field, $rowID, $form_atomic_Cls_map); $asset_url = BITFORMS_ASSET_URI; $img_url = BITFORMS_ASSET_URI . '/../static/countries/'; $req = $fieldHelpers->required(); $disabled = $fieldHelpers->disabled(); $readonly = $fieldHelpers->readonly(); $name = $fieldHelpers->name(); $selectedFlagImage = ''; $tabIndx = isset($field->disabled) ? -1 : 0; $selectedCountryClearable = ''; $searchPlaceholder = ''; $searchClearable = ''; $options = ''; $readonlyCls = isset($field->readonly) ? 'readonly' : ''; $disabledCls = isset($field->disabled) ? 'disabled' : ''; $val = $fieldHelpers->value(); $selectedItm = null; foreach ($field->options as $opt) { if (isset($opt->check) && true === $opt->check) { $selectedItm = $opt; break; } } if ($selectedItm) { $img = $img_url . $selectedItm->img; $ph = $selectedItm->lbl; } else { $img = htmlentities("data:image/svg+xml,"); $ph = isset($field->ph) ? $field->ph : ''; } if ($fieldHelpers->property_exists_nested($field, 'config->selectedFlagImage', true)) { $img = <<getCustomAttributes('selected-country-img')} class="{$fieldHelpers->getConversationalMultiCls('selected-country-img')} {$fieldHelpers->getCustomClasses('selected-country-img')}" aria-hidden="true" alt="selected country flag" src="{$img}" > FLAGIMAGE; } else { $img = ''; } $selectedFlagImage = << {$img} getCustomAttributes('selected-country-lbl')} class="{$fieldHelpers->getConversationalMultiCls('selected-country-lbl')} {$fieldHelpers->getCustomClasses('selected-country-lbl')}" > {$fieldHelpers->esc_html($ph)} SELECTEDOPTLABEL; if ($fieldHelpers->property_exists_nested($field, 'config->selectedCountryClearable', true)) { $selectedCountryClearable = <<getCustomAttributes('inp-clr-btn')} type="button" title="Clear selected country value" class="{$fieldHelpers->getConversationalMultiCls('inp-clr-btn')} {$fieldHelpers->getCustomClasses('inp-clr-btn')}" > CLEARABLE; } if ($fieldHelpers->property_exists_nested($field, 'config->searchPlaceholder', '', 1)) { $searchPlaceholder = "placeholder='{$fieldHelpers->esc_attr($field->config->searchPlaceholder)}'"; } if ($fieldHelpers->property_exists_nested($field, 'config->searchClearable', true)) { $searchClearable = <<getCustomAttributes('search-clear-btn')} type="button" title="Clear search" class="{$fieldHelpers->getConversationalMultiCls('icn')} {$fieldHelpers->getConversationalMultiCls('search-clear-btn')} {$fieldHelpers->getCustomClasses('search-clear-btn')}" tabIndex="-1" > CLEARABLE; } return <<
getCustomAttributes('country-fld-wrp')} class="{$fieldHelpers->getConversationalMultiCls('country-fld-wrp')} {$fieldHelpers->getCustomClasses('country-fld-wrp')} {$disabled} {$readonly}" >
getCustomAttributes('option-wrp')} class="{$fieldHelpers->getConversationalMultiCls('option-wrp')} {$fieldHelpers->getCustomClasses('option-wrp')}" >
getCustomAttributes('opt-search-input')} type="search" class="{$fieldHelpers->getConversationalMultiCls('opt-search-input')} {$fieldHelpers->getCustomClasses('opt-search-input')}" {$searchPlaceholder} autoComplete="country-name" tabIndex="-1" /> getCustomAttributes('opt-search-icn')} class="{$fieldHelpers->getConversationalMultiCls('icn')} {$fieldHelpers->getConversationalMultiCls('opt-search-icn')} {$fieldHelpers->getCustomClasses('opt-search-icn')}" aria-hidden="true" width="22" height="22" role="img" title="Search icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" > {$searchClearable}
    getCustomAttributes('option-list')} class="{$fieldHelpers->getConversationalMultiCls('option-list')} {$fieldHelpers->getCustomClasses('option-list')}" tabIndex="-1" role="listbox" aria-label="country list" > {$options}
COUNTRYFIELD; } }