`$fieldHandlers = [ 'text' => $createTextInput, 'text_area' => $createTextInput, 'number' => $createTextInput, 'pick_list' => function ($field) { return Select::make('field_picklist') ->id($field) ->relationship('picklist', 'name') ->label(strval(__('cranberry-muffin::cranberry-muffin.select.asset-types.field_picklist'))) ->reactive() ->searchable() // ->options(Picklist::orderBy("name")->paginate(5)->pluck('name', 'id')) ->createOptionForm([ TextInput::make('name') ->label(strval(__('cranberry-muffin::cranberry-muffin.form.input.picklists.name'))) ->afterStateUpdated(function (Closure $set, $state, $context) { // if ($context === 'edit') { // return; // } $set('slug', Str::slug($state)); }) ->reactive() ->required(), TextInput::make('slug') ->label(strval(__('cranberry-muffin::cranberry-muffin.form.input.picklists.slug'))) ->disabled(function ($livewire) { return !($livewire instanceof CreateRecord); }) ->required(), Textarea::make('description') ->label(strval(__('cranberry-muffin::cranberry-muffin.form.input.picklists.description'))) ->columnSpan(2), Repeater::make('add_picklist_options') ->relationship('picklist_options') ->label(strval(__('cranberry-muffin::cranberry-muffin.repeater.picklist-options'))) ->schema([ TextInput::make('name') ->label(strval(__('cranberry-muffin::cranberry-muffin.form.input.picklist-options.name'))) ->afterStateUpdated(function (Closure $set, $state, $context) { // if ($context === 'edit') { // return; // } $set('slug', Str::slug($state, '_')); }) ->reactive() ->required(), TextInput::make('slug') ->label(strval(__('cranberry-muffin::cranberry-muffin.form.input.picklist-options.slug'))) ->disabled(function ($livewire) { return !($livewire instanceof CreateRecord); }) ->required(), ])->columnSpanFull() ->columnSpan(2) ->columns(2) ->createItemButtonLabel('Add New Picklist Option') ] ); }, ];`