<?php declare(strict_types=1); namespace App\Views\Components\Forms; use Override; class CodeEditor extends FormComponent { protected array $props = ['content', 'lang']; protected array $attributes = [ 'rows' => '6', 'class' => 'bg-elevated w-full rounded-lg border-3 border-contrast focus:border-contrast focus-within:ring-accent transition', ]; protected string $lang = ''; public function setValue(string $value): void { $this->value = htmlspecialchars_decode($value); } #[Override] public function render(): string { $this->attributes['slot'] = 'textarea'; $textarea = form_textarea($this->attributes, $this->getValue()); return <<<HTML <code-editor lang="{$this->lang}">{$textarea}</code-editor> HTML; } }