canGate && $this->canResource && $this->autoDisable) { $hasPermission = Gate::allows($this->canGate, $this->canResource); if (! $hasPermission) { $this->disabled = true; } } } /** * Get the view / contents that represent the component. */ public function render(): View|Closure|string { // Store original ID for wire:model binding (property name) $this->modelBinding = $this->id; if (is_null($this->id)) { $this->id = new Cuid2; $this->modelBinding = $this->id; } // Generate unique HTML ID by prefixing with Livewire component ID // This prevents duplicate IDs when multiple forms are on the same page $livewireId = $this->attributes?->wire('id'); if ($livewireId && $this->modelBinding) { $this->htmlId = $livewireId.'-'.$this->modelBinding; } else { $this->htmlId = $this->modelBinding ?: $this->id; } if (is_null($this->name)) { $this->name = $this->modelBinding; } return view('components.forms.select'); } }