label('Имя персоны') ->placeholder('Введите имя') ->required() ->maxLength(255) ->helperText('Полное имя персоны'), FileUpload::make('photo') ->label('Фотография') ->image() ->optimize('webp') ->resize(50) ->disk('public') ->directory('images') ->imageEditor() ->downloadable() ->openable(), Repeater::make('info') ->label('Дополнительная информация') ->helperText('Добавьте характеристики персоны') ->schema([ TextInput::make('column') ->label('Название характеристики') ->placeholder('Например: Должность') ->required() ->maxLength(255), Textarea::make('content') ->label('Значение') ->placeholder('Например: Главный инженер') ->required() ->maxLength(1000) ->columnSpanFull(), ]) ->minItems(1) ->grid(2) ->collapsible() ->cloneable() ->itemLabel(fn (array $state): ?string => $state['column'] ?? null), ]; } }