@php $styles = collect([ '--kz-span: '.$block->span(), $block->spanTablet() !== null ? '--kz-span-t: '.$block->spanTablet() : null, $block->spanMobile() !== null ? '--kz-span-m: '.$block->spanMobile() : null, $block->get('padding_x') !== null ? '--kz-pad-x: '.(int) $block->get('padding_x').'px' : null, $block->get('padding_y') !== null ? '--kz-pad-y: '.(int) $block->get('padding_y').'px' : null, $block->get('bg_color') ? 'background: '.$block->get('bg_color') : null, // Цвета текста, ссылок, кнопок и значков — тем же списком, что и у зоны: // блок внутри перекрашенной зоны обязан вести себя так же, как она. ...\Korzilla\Core\Layout\ColorStyles::of($block), $block->get('border_width') ? 'border: '.(int) $block->get('border_width').'px solid ' .($block->get('border_color') ?: 'currentColor') : null, $block->get('border_radius') ? 'border-radius: '.(int) $block->get('border_radius').'px' : null, $block->get('block_height') ? 'min-height: '.(int) $block->get('block_height').'px' : null, // Выравнивание содержимого. Значения переводятся в термины флексбокса // здесь, а не в CSS: в базовом слое иначе пришлось бы держать двенадцать // правил на все сочетания, и вёрстка сайта не смогла бы их перебить // одной переменной. match ($block->get('align_x', 'stretch')) { 'left' => '--kz-align-x: flex-start', 'center' => '--kz-align-x: center', 'right' => '--kz-align-x: flex-end', default => null, }, match ($block->get('align_y', 'top')) { 'middle' => '--kz-align-y: center', 'bottom' => '--kz-align-y: flex-end', default => null, }, ])->filter()->implode('; '); @endphp {{-- `id` печатается сам, чтобы к блоку было чем адресоваться из CSS без правки шаблона. Но привязывать к нему стили — плохая мысль: это первичный ключ строки, и при пересоздании блока или копировании сайта он другой. Для стилей есть поле «CSS-классы» в настройках блока. --}}
get('noindex')) data-noindex="1" @endif> @if ($block->title())

get('heading_size') || $block->get('heading_color') || $block->get('heading_align')) style="{{ collect([ $block->get('heading_size') ? 'font-size: '.(int) $block->get('heading_size').'px' : null, $block->get('heading_color') ? 'color: '.$block->get('heading_color') : null, $block->get('heading_align') ? 'text-align: '.$block->get('heading_align') : null, ])->filter()->implode('; ') }}" @endif>{{ $block->title() }}

@endif {!! $html !!}