key($key ?? $this->randomKey()); } protected function textField(?string $key = null): FormtemplateFieldRequest { return FormtemplateFieldRequest::type(TextField::class)->key($key ?? $this->randomKey()); } protected function numberField(?string $key = null): FormtemplateFieldRequest { return FormtemplateFieldRequest::type(NumberField::class)->key($key ?? $this->randomKey()); } protected function emailField(?string $key = null): FormtemplateFieldRequest { return FormtemplateFieldRequest::type(EmailField::class)->key($key ?? $this->randomKey()); } protected function checkboxesField(?string $key = null): FormtemplateFieldRequest { return FormtemplateFieldRequest::type(CheckboxesField::class)->key($key ?? $this->randomKey()); } protected function textareaField(?string $key = null): FormtemplateFieldRequest { return FormtemplateFieldRequest::type(TextareaField::class)->key($key ?? $this->randomKey()); } protected function dropdownField(?string $key = null): FormtemplateFieldRequest { return FormtemplateFieldRequest::type(DropdownField::class)->key($key ?? $this->randomKey()); } protected function dateField(?string $key = null): FormtemplateFieldRequest { return FormtemplateFieldRequest::type(DateField::class)->key($key ?? $this->randomKey()); } protected function radioField(?string $key = null): FormtemplateFieldRequest { return FormtemplateFieldRequest::type(RadioField::class)->key($key ?? $this->randomKey()); } protected function checkboxField(?string $key = null): FormtemplateFieldRequest { return FormtemplateFieldRequest::type(CheckboxField::class)->key($key ?? $this->randomKey()); } protected function groupField(?string $key = null): FormtemplateFieldRequest { return FormtemplateFieldRequest::type(GroupField::class)->key($key ?? $this->randomKey()); } protected function randomKey(): string { return preg_replace('/[\-0-9]/', '', str()->uuid() . str()->uuid()); } }