<?php

return [

    /*
    | Class namespace de los componentes Livewire.
    */
    'class_namespace' => 'App\\Livewire',

    /*
    | Ruta de las vistas de los componentes.
    */
    'view_path' => resource_path('views/livewire'),

    /*
    | Layout usado al renderizar un componente como página completa.
    */
    'layout' => 'components.layouts.app',

    /*
    | Placeholder de lazy loading.
    */
    'lazy_placeholder' => null,

    /*
    |---------------------------------------------------------------------------
    | Temporary File Uploads
    |---------------------------------------------------------------------------
    | ÚNICO cambio respecto al default: subimos el límite del fichero temporal a
    | 50 MB (por defecto Livewire aplica max:12288 = 12 MB). Sin mime en el paso
    | temporal — cada componente valida mime/tamaño reales antes de guardar.
    | Esto permite subir .kml/.kmz/.shp/.dwg/.zip grandes.
    */
    'temporary_file_upload' => [
        'disk' => null,
        'rules' => ['required', 'file', 'max:51200'], // 50 MB
        'directory' => null,
        'middleware' => null,
        'preview_mimes' => [
            'png', 'gif', 'bmp', 'svg', 'wav', 'mp4',
            'mov', 'avi', 'wmv', 'mp3', 'm4a',
            'jpg', 'jpeg', 'mpga', 'webp', 'wma',
        ],
        'max_upload_time' => 5,
        'cleanup' => true,
    ],

    /*
    | Renderizar de nuevo el componente tras un redirect().
    */
    'render_on_redirect' => false,

    /*
    | Binding directo a modelos Eloquent (comportamiento legacy).
    */
    'legacy_model_binding' => false,

    /*
    | Auto-inyección de assets (JS/CSS) de Livewire.
    */
    'inject_assets' => true,

    /*
    | Navegación SPA (wire:navigate).
    */
    'navigate' => [
        'show_progress_bar' => true,
        'progress_bar_color' => '#2299dd',
    ],

    /*
    | Marcadores de morph HTML.
    */
    'inject_morph_markers' => true,

    /*
    | Smart wire keys.
    */
    'smart_wire_keys' => false,

    /*
    | Tema de paginación.
    */
    'pagination_theme' => 'tailwind',

    /*
    | Release token (invalidación de sesión cliente en nuevos releases).
    */
    'release_token' => 'a',
];
