# AshFormBuilder v0.1.1 - Table of Contents

⚠️  EXPERIMENTAL - Use at Your Own Risk ⚠️

Auto-generates Phoenix LiveView forms from Ash Framework resources. 
Features: auto-inference, searchable/creatable combobox, nested forms, themes.

EXPERIMENTAL: API may change. Use at your own risk.

## Modules

- [AshFormBuilder](AshFormBuilder.md): A Spark DSL extension for Ash Framework that automatically generates
Phoenix LiveView forms from resource definitions.
- [AshFormBuilder.DomainIntegration](AshFormBuilder.DomainIntegration.md): Domain Code Interface Integration for AshFormBuilder.
- [AshFormBuilder.Field](AshFormBuilder.Field.md): Represents a single form field declared via the `field` DSL entity.
- [AshFormBuilder.FormComponent](AshFormBuilder.FormComponent.md): A self-contained Phoenix LiveComponent that renders and manages an
AshPhoenix.Form based on the `AshFormBuilder` DSL declared on a resource.
- [AshFormBuilder.FormRenderer](AshFormBuilder.FormRenderer.md): Phoenix function components that render form entities.
- [AshFormBuilder.Infer](AshFormBuilder.Infer.md): True Auto-Inference Engine for AshFormBuilder.
- [AshFormBuilder.Info](AshFormBuilder.Info.md): Introspection helpers for `AshFormBuilder` DSL data.
- [AshFormBuilder.NestedForm](AshFormBuilder.NestedForm.md): Represents a nested relationship form declared via the `nested` DSL entity.
- [AshFormBuilder.Theme](AshFormBuilder.Theme.md): Behaviour for AshFormBuilder rendering themes.
- [AshFormBuilder.Theme.MishkaTheme](AshFormBuilder.Theme.MishkaTheme.md): Strict MishkaChelekom integration theme for AshFormBuilder.
- [AshFormBuilder.Themes.Default](AshFormBuilder.Themes.Default.md): Default HTML theme for AshFormBuilder.
- [AshFormBuilder.Themes.Mishka](AshFormBuilder.Themes.Mishka.md): Example MishkaChelekom theme for AshFormBuilder.
- [AshFormBuilder.Transformers.GenerateFormModule](AshFormBuilder.Transformers.GenerateFormModule.md): Generates a `Resource.Form` helper module at compile time for every resource
that declares a `form` block.
- [AshFormBuilder.Transformers.ResolveNestedResources](AshFormBuilder.Transformers.ResolveNestedResources.md): Resolves the `destination_resource` for every `NestedForm` entity by
reading Ash relationship metadata on the parent resource.
- [AshFormBuilder.TypeInference](AshFormBuilder.TypeInference.md): Infers `AshFormBuilder.Field` structs from an Ash resource action at runtime.
- [MishkaChelekom.Components.CheckboxField](MishkaChelekom.Components.CheckboxField.md): Stub module for MishkaChelekom CheckboxField component.
Generate with: mix mishka.ui.gen.component checkbox_field

- [MishkaChelekom.Components.Combobox](MishkaChelekom.Components.Combobox.md): Stub module for MishkaChelekom Combobox component.
- [MishkaChelekom.Components.DateTimeField](MishkaChelekom.Components.DateTimeField.md): Stub module for MishkaChelekom DateTimeField component.
Generate with: mix mishka.ui.gen.component date_time_field

- [MishkaChelekom.Components.EmailField](MishkaChelekom.Components.EmailField.md): Stub module for MishkaChelekom EmailField component.
Generate with: mix mishka.ui.gen.component email_field

- [MishkaChelekom.Components.NativeSelect](MishkaChelekom.Components.NativeSelect.md): Stub module for MishkaChelekom NativeSelect component.
Generate with: mix mishka.ui.gen.component native_select

- [MishkaChelekom.Components.NumberField](MishkaChelekom.Components.NumberField.md): Stub module for MishkaChelekom NumberField component.
Generate with: mix mishka.ui.gen.component number_field

- [MishkaChelekom.Components.PasswordField](MishkaChelekom.Components.PasswordField.md): Stub module for MishkaChelekom PasswordField component.
Generate with: mix mishka.ui.gen.component password_field

- [MishkaChelekom.Components.TextField](MishkaChelekom.Components.TextField.md): Stub module for MishkaChelekom TextField component.
Generate with: mix mishka.ui.gen.component text_field

- [MishkaChelekom.Components.TextareaField](MishkaChelekom.Components.TextareaField.md): Stub module for MishkaChelekom TextareaField component.
Generate with: mix mishka.ui.gen.component textarea_field

- [MishkaChelekom.Components.UrlField](MishkaChelekom.Components.UrlField.md): Stub module for MishkaChelekom UrlField component.
Generate with: mix mishka.ui.gen.component url_field

