return $schema->columns(1)->components([
Hidden::make('columns')->default(2)->live(),
Section::make('Table Structure')
->schema([
Repeater::make('headers')
->label('Table Headers')
->simple(
TextInput::make('header')
->placeholder('Column header')
->required()
)
->addActionLabel('Add Header')
->defaultItems(2)
->minItems(2)
->addable(false)
->deletable(false)
->reorderable(false)
->grid(fn (Get $get) => $get('../columns')),
Repeater::make('rows')
->label('Table Rows')
->simple(
Repeater::make('row')
->simple(
TextInput::make('cell')
->placeholder('Cell content')
->default('')
)
->minItems(1)
->defaultItems(fn (Get $get) => $get('../../columns'))
->addable(false)
->deletable(false)
->reorderable(false)
->grid(fn (Get $get) => $get('../../columns'))
)
->addActionLabel('Add Row')
->defaultItems(1)
->minItems(1)
->collapsed(),
]),
Actions::make([
Action::make('Add Column')
->action(fn (Get $get, Set $set) => $set('columns', $get('columns') + 1)),
]),
]);
return $schema->columns(1)->components([
Hidden::make('columns')->default(2)->live(),
Section::make('Table Structure')
->schema([
Repeater::make('headers')
->label('Table Headers')
->simple(
TextInput::make('header')
->placeholder('Column header')
->required()
)
->addActionLabel('Add Header')
->defaultItems(2)
->minItems(2)
->addable(false)
->deletable(false)
->reorderable(false)
->grid(fn (Get $get) => $get('../columns')),
Repeater::make('rows')
->label('Table Rows')
->simple(
Repeater::make('row')
->simple(
TextInput::make('cell')
->placeholder('Cell content')
->default('')
)
->minItems(1)
->defaultItems(fn (Get $get) => $get('../../columns'))
->addable(false)
->deletable(false)
->reorderable(false)
->grid(fn (Get $get) => $get('../../columns'))
)
->addActionLabel('Add Row')
->defaultItems(1)
->minItems(1)
->collapsed(),
]),
Actions::make([
Action::make('Add Column')
->action(fn (Get $get, Set $set) => $set('columns', $get('columns') + 1)),
]),
]);