/**
 * Contents for the icon selection modal.
 *
 * @since 0.4.0
 */
function ev_icon_modal_load()
{
    if (!ev_is_post_nonce_valid('ev_icon')) {
        die;
    }
    if (!isset($_POST['data'])) {
        die;
    }
    $data = $_POST['data'];
    $prefix = isset($data['prefix']) ? $data['prefix'] : '';
    $set = isset($data['set']) ? $data['set'] : '';
    $icon = isset($data['icon']) ? $data['icon'] : '';
    $color = isset($data['color']) ? $data['color'] : '';
    $size = isset($data['size']) ? $data['size'] : '';
    $icon_fonts = ev_get_icon_fonts();
    $content = '<div class="ev-icon-sets-external-wrapper ev-active">';
    $content .= '<div class="ev-icon-search-wrapper">';
    $content .= sprintf('<input type="text" placeholder="%s" data-icon-search>', esc_attr(_x('Search&hellip;', 'icon search', 'ev_framework')));
    $content .= '<p class="ev-icon-search-results"></p>';
    $content .= '</div>';
    $content .= '<div class="ev-icon-sets-controls-external-wrapper">';
    $content .= '<div class="ev-icon-sets-controls-wrapper">';
    $content .= '<div class="ev-icon-sets-controls-field-wrapper">';
    $content .= sprintf('<label>%s</label>', esc_html(__('Color', 'ev_framework')));
    $content .= ev_color('color', $color, false, false, false);
    $content .= '</div>';
    $content .= '<div class="ev-icon-sets-controls-field-wrapper">';
    $content .= sprintf('<label>%s</label>', esc_html(__('Size', 'ev_framework')));
    $content .= sprintf('<input type="text" name="size" value="%s" data-icon-size>', esc_attr($size));
    $content .= '</div>';
    $content .= sprintf('<input type="hidden" name="prefix" value="%s" data-icon-prefix>', esc_attr($prefix));
    $content .= sprintf('<input type="hidden" name="set" value="%s" data-icon-set>', esc_attr($set));
    $content .= sprintf('<input type="hidden" name="icon" value="%s" data-icon-name>', esc_attr($icon));
    $content .= '</div>';
    $content .= '<div class="ev-icon-sets-preview-wrapper">';
    $content .= sprintf('<span class="ev-icon-sets-preview-label">%s</span>', esc_html(__('Preview', 'ev_framework')));
    $content .= sprintf('<span class="ev-selected-icon-preview ev-icon ev-component %s %s" style="color: %s;font-size: %s"></span>', esc_attr($prefix), esc_attr($icon), esc_attr($color), esc_attr($size));
    $content .= '</div>';
    $content .= '</div>';
    $content .= '<div class="ev-icon-sets-inner-wrapper">';
    $content .= '<div class="ev-icon-sets">';
    foreach ($icon_fonts as $index => $font) {
        $set_class = 'ev-on ev-icon-set-' . $font['name'];
        $content .= sprintf('<div class="%s">', esc_attr($set_class));
        $content .= sprintf('<h2>%s</h2>', esc_html($font['label']));
        foreach ($font['mapping'] as $set_icon) {
            $icon_class = $font['prefix'] . ' ' . $set_icon . ' ev-icon ev-component';
            if ($font['name'] == $set && $font['prefix'] == $prefix && $set_icon == $icon) {
                $icon_class .= ' ev-selected';
            }
            $set_icon_stripped = strstr($set_icon, '-');
            $content .= sprintf('<i data-prefix="%s" data-set="%s" data-icon-name="%s" data-icon-stripped="%s" class="%s" aria-hidden="true"></i>', esc_attr($font['prefix']), esc_attr($font['name']), esc_attr($set_icon), esc_attr($set_icon_stripped), esc_attr($icon_class));
        }
        $content .= '</div>';
    }
    $content .= '</div>';
    $content .= '</div>';
    $content .= '</div>';
    $m = new Ev_SimpleModal('ev-icon', array('title' => __('Icon', 'ev_framework')));
    $m->render($content);
    die;
}
<?php

$multiple = $field->config('multiple');
$opacity = $field->config('opacity');
$value = $field->value();
$handle = $field->handle();
$style = $field->config('style');
if ($multiple !== false && is_array($multiple)) {
    foreach ($multiple as $k => $field_label) {
        $field_value = $value;
        if (is_array($field_value) && isset($field_value[$k])) {
            $field_value = $field_value[$k];
        }
        $field_handle = $handle . '[' . $k . ']';
        echo '<div class="ev-color-input-wrapper">';
        echo '<span class="ev-sub-label">' . esc_html($field_label) . '</span>';
        echo '<div class="ev-color-inner-wrapper">';
        ev_color($field_handle, $field_value, $opacity, $style);
        echo '</div>';
        echo '</div>';
    }
} else {
    echo '<div class="ev-color-inner-wrapper">';
    ev_color($handle, $value, $opacity, $style);
    echo '</div>';
}