@php use Botble\Base\Facades\Assets; @endphp
@props([
    'id' => null,
    'label' => null,
    'name' => null,
    'value' => old($name),
    'helperText' => null,
    'errorKey' => $name,
    'mode' => null,
])
@php
    $id = $id ?: $name . '_' . md5($name);
    $mode = $mode === 'html' ? 'htmlmixed' : $mode;
    $css = [
        'vendor/core/core/base/libraries/codemirror/lib/codemirror.css',
        'vendor/core/core/base/libraries/codemirror/addon/hint/show-hint.css',
    ];
    $js = [
        'vendor/core/core/base/libraries/codemirror/lib/codemirror.js',
        'vendor/core/core/base/libraries/codemirror/addon/hint/show-hint.js',
        'vendor/core/core/base/libraries/codemirror/addon/hint/anyword-hint.js',
        'vendor/core/core/base/libraries/codemirror/addon/display/autorefresh.js',
    ];
    switch ($mode) {
        case 'htmlmixed':
            $js = [
                ...$js,
                'vendor/core/core/base/libraries/codemirror/mode/htmlmixed.js',
                'vendor/core/core/base/libraries/codemirror/mode/css.js',
                'vendor/core/core/base/libraries/codemirror/mode/javascript.js',
                'vendor/core/core/base/libraries/codemirror/mode/xml.js',
                'vendor/core/core/base/libraries/codemirror/addon/hint/xml-hint.js',
                'vendor/core/core/base/libraries/codemirror/addon/hint/html-hint.js',
                'vendor/core/core/base/libraries/codemirror/addon/hint/css-hint.js',
                'vendor/core/core/base/libraries/codemirror/addon/hint/javascript-hint.js',
            ];
            break;
        case 'css':
            $js = [
                ...$js,
                'vendor/core/core/base/libraries/codemirror/mode/css.js',
                'vendor/core/core/base/libraries/codemirror/addon/hint/css-hint.js',
            ];
            break;
        case 'javascript':
            $js = [
                ...$js,
                'vendor/core/core/base/libraries/codemirror/mode/javascript.js',
                'vendor/core/core/base/libraries/codemirror/addon/hint/javascript-hint.js',
            ];
            break;
    }
    Assets::addStylesDirectly($css)
        ->addScriptsDirectly($js);
@endphp
    @if ($label)
        
    @endif
    
    @if ($helperText)
        {!! $helperText !!}
    @endif
    
@if (request()->ajax())
    @foreach($css as $cssItem)
        
    @endforeach
    @foreach($js as $jsItem)
        
    @endforeach
@endif