*/ protected static array $customHeaderActions = []; public static function registerCustomHeaderActions(HeaderActionPosition $position, Action|ActionGroup ...$customHeaderActions): void { static::$customHeaderActions[$position->value] = array_merge(static::$customHeaderActions[$position->value] ?? [], $customHeaderActions); } /** @return array */ protected function getDefaultHeaderActions(): array { return []; } /** @return array */ protected function getHeaderActions(): array { return array_merge( static::$customHeaderActions[HeaderActionPosition::Before->value] ?? [], $this->getDefaultHeaderActions(), static::$customHeaderActions[HeaderActionPosition::After->value] ?? [] ); } }