| Closure> */ protected array $extraModalWindowAttributes = []; /** * @param array | Closure $attributes */ public function extraModalWindowAttributes(array | Closure $attributes, bool $merge = false): static { if ($merge) { $this->extraModalWindowAttributes[] = $attributes; } else { $this->extraModalWindowAttributes = [$attributes]; } return $this; } /** * @return array */ public function getExtraModalWindowAttributes(): array { $temporaryAttributeBag = new ComponentAttributeBag; foreach ($this->extraModalWindowAttributes as $extraModalWindowAttributes) { $temporaryAttributeBag = $temporaryAttributeBag->merge($this->evaluate($extraModalWindowAttributes)); } return $temporaryAttributeBag->getAttributes(); } public function getExtraModalWindowAttributeBag(): ComponentAttributeBag { return new ComponentAttributeBag($this->getExtraModalWindowAttributes()); } }