components([ Section::make() ->schema([ Builder::make('links') ->label('Przyciski') ->addActionLabel('Dodaj przycisk') ->collapsible() ->collapsed() ->reorderable() ->blocks([ Block::make('link') ->label(function (?array $state): string { if ($state === null) { return 'Odnośnik'; } return $state['name'] ?? 'Odnośnik'; }) ->schema([ TextInput::make('name') ->label('Nazwa') ->required(), TextInput::make('icon') ->label('Ikona (FontAwesome)') ->required(), Select::make('btn_style') ->label('Styl przycisku') ->options([ 'primary' => 'Pomarańczowy', 'secondary' => 'Szary', ]) ->default('primary') ->required(), TextInput::make('link') ->label('Link') ->required(), Toggle::make('external') ->label('Zewnętrzny link') ->required(), Toggle::make('new_tab') ->label('Otwieraj w nowym oknie') ->required(), ]) ->columns(2), ]) ]) ])->statePath('data'); } }