<?php
 namespace App\PageBuilder\Components\Marketing; use App\PageBuilder\PageComponent; class MapComponent extends PageComponent { public function key(): string { return 'map'; } public function category(): string { return 'marketing'; } public function label(): string { return 'Map'; } public function icon(): string { return 'fas fa-map-marker-alt'; } public function schema(): array { return [ 'title' => ['type' => 'text', 'label' => 'Bölüm başlığı (opsiyonel)'], 'address' => ['type' => 'textarea', 'label' => 'Adres metni / arama'], 'embed_url' => ['type' => 'textarea', 'label' => 'Tam embed URL (önceliklidir, OSM/Google iframe src)'], 'lat' => ['type' => 'text', 'label' => 'Enlem (örn 41.0082)'], 'lng' => ['type' => 'text', 'label' => 'Boylam (örn 28.9784)'], 'options' => [ 'color' => ['type' => 'color_token', 'default' => 'transparent'], 'padding' => ['type' => 'padding_token', 'default' => 'md'], 'height' => ['type' => 'select', 'label' => 'Harita yüksekliği', 'options' => ['300px', '400px', '500px', '600px'], 'default' => '400px'], 'zoom' => ['type' => 'number', 'label' => 'Zoom', 'min' => 1, 'max' => 19, 'default' => 14], 'rounded' => ['type' => 'select', 'label' => 'Köşe yuvarlama', 'options' => ['none', 'sm', 'md', 'lg'], 'default' => 'md'], ], ]; } public function defaults(): array { return [ 'title' => null, 'address' => 'İstanbul, Türkiye', 'embed_url' => null, 'lat' => '41.0082', 'lng' => '28.9784', 'options' => ['color' => 'transparent', 'padding' => 'md', 'height' => '400px', 'zoom' => 14, 'rounded' => 'md'], ]; } public function render(array $data, array $options): string { return view('page-builder.components.map', compact('data', 'options'))->render(); } } 