canGate && $this->canResource && $this->autoDisable) { $hasPermission = Gate::allows($this->canGate, $this->canResource); if (! $hasPermission) { $this->disabled = true; } } } 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; // Don't create wire:model binding for auto-generated IDs $this->modelBinding = 'null'; } // Generate unique HTML ID by adding random suffix // This prevents duplicate IDs when multiple forms are on the same page if ($this->modelBinding && $this->modelBinding !== 'null') { // Use original ID with random suffix for uniqueness $uniqueSuffix = new Cuid2; $this->htmlId = $this->modelBinding.'-'.$uniqueSuffix; } else { $this->htmlId = (string) $this->id; } if (is_null($this->name)) { $this->name = $this->modelBinding !== 'null' ? $this->modelBinding : (string) $this->id; } if ($this->type === 'password') { $this->defaultClass = $this->defaultClass.' pr-[2.8rem]'; } // $this->label = Str::title($this->label); return view('components.forms.input'); } }