@php $machineType = $form->type_of_machine; $movement = $form->machineSpecs['movement_type'] ?? ''; $withMedia = $withMedia ?? true; $total = $withMedia ? 5 : 4; $wizardSteps = [ 1 => ['icon' => 'tabler-info-circle', 'label' => __('General')], 2 => ['icon' => 'tabler-settings-2', 'label' => __('Specifications')], 3 => ['icon' => 'tabler-currency-dollar', 'label' => __('Pricing')], 4 => ['icon' => 'tabler-file-description', 'label' => __('Details')], ]; if ($withMedia) { $wizardSteps[5] = ['icon' => 'tabler-photo', 'label' => __('Media')]; } @endphp
{{-- Stepper header --}}
    @foreach ($wizardSteps as $n => $s)
  • {{ $s['label'] }}
  • @if (! $loop->last)
  • @endif @endforeach
{{-- Validation summary (visible on every step) --}} @if ($errors->any()) @endif {{-- Card MAESTRO: TODO el formulario en una sola tarjeta. Las tarjetas de sección internas se aplanan vía .um-form-card (sin borde/sombra/fondo/padding lateral) para que se lean como parte de la misma tarjeta; un
divide los inputs de la barra de acciones. --}}
{{-- Editabilidad: un solo punto de control (customer editable sólo en DRAFT/RETURNED). --}}
isLocked())> @if ($this->formComponent) {{-- Form envolvente SIN acción: habilita el estilo de validación completo de Vuexy en los input-group-merge (requieren un
ancestro; ver gotcha en CLAUDE.md). - wire:submit.prevent sin acción → Enter no recarga; los botones siguen con wire:click. - novalidate → desactiva la validación nativa del navegador. - El paso de Media queda FUERA de este form: el ya renderiza su propio y anidar forms es HTML inválido. --}} {{-- STEP 1: General --}}
{{-- STEP 2: Type-specific specifications --}}
@if ($machineType === 'weaving') @if ($movement === 'cams') @endif @if ($movement === 'dobby') @endif @if ($movement === 'jacquard') @endif @elseif ($machineType === 'knitting') @else @endif
{{-- STEP 3: Pricing --}}
{{-- STEP 4: Additional --}}
@if ($withMedia) {{-- STEP 5: Media --}}
@endif @else
{{ __('Unknown form type.') }}
@endif
{{-- Divisor entre inputs y acciones (ya no hay cards de sección que los separen). --}}
{{-- Barra de acciones, dentro del MISMO card-body del maestro. - Back a la izquierda; Save All + Next agrupados a la derecha. - Back y Next comparten diseño (btn-label-primary → letras verdes + fondo verde claro). --}}
{{-- Back → izquierda --}} {{-- Save All + Next → derecha (ms-auto empuja el grupo aunque Back esté oculto) --}}
{{-- /card-body --}}
{{-- /card maestro --}}