# Aurora UIX v0.1.4-rc.5 - Table of Contents

> Low code UI for the elixir's Phoenix Framework

## Pages

- [Aurora UIX Overview](overview.md)

- Introduction
  - [Getting Started](getting_started.md)

- Core
  - [Resource Metadata](resource_metadata.md)
  - [Ash Framework Integration](ash_integration.md)
  - [Layout System](layouts.md)
  - [LiveView Integration](liveview.md)
  - [Styling Aurora UIX in a Host Application](styling.md)

- Advanced
  - [Advanced Usage](advanced_usage.md)
  - [Troubleshooting](troubleshooting.md)
  - [Writing a Style Bridge](writing_a_style_bridge.md)

- Developers
  - [Contributing to Aurora UIX](contributing.md)
  - [Changelog for Aurora UIX](changelog.md)

## Modules

- [Aurora.Uix](Aurora.Uix.md): Provides a low-code, opinionated framework for building dynamic UIs in Phoenix applications.
- [Aurora.Uix.Repo](Aurora.Uix.Repo.md): Ecto repository for Aurora UIX with AshPostgres integration.
- [Aurora.Uix.Templates.Basic.Renderers.UploadRenderer](Aurora.Uix.Templates.Basic.Renderers.UploadRenderer.md): Renders a file upload field for a form.

- [Aurora.Uix.Templates.Basic.Themes.Baseline](Aurora.Uix.Templates.Basic.Themes.Baseline.md): Tag-selector baseline reset for hosts that don't already ship a CSS
preflight (Tailwind, Normalize, etc.).
- [Aurora.Uix.Templates.Basic.Themes.ThemeBase](Aurora.Uix.Templates.Basic.Themes.ThemeBase.md): Component-specific color aliases shared across themes.

- Core Data Structures
  - [Aurora.Uix.Action](Aurora.Uix.Action.md): Represents an action with a name and an associated function component.
  - [Aurora.Uix.Counter](Aurora.Uix.Counter.md): Counter utility for generating unique component identifiers in Aurora UIX.
  - [Aurora.Uix.Field](Aurora.Uix.Field.md): A module representing a configurable field in the Aurora.Uix system.
  - [Aurora.Uix.Filter](Aurora.Uix.Filter.md): Provides a structured filter representation for query conditions with support for
multiple comparison operators, value storage, and type-safe construction.
  - [Aurora.Uix.Resource](Aurora.Uix.Resource.md): Manages comprehensive metadata configuration for schemas and their associated UI representations.
  - [Aurora.Uix.Selection](Aurora.Uix.Selection.md): Manages selection state for paginated data structures with per-page tracking.
  - [Aurora.Uix.Stack](Aurora.Uix.Stack.md): Provides a stack data structure implementation with standard stack operations: push, pop, peek, and empty checks.
Includes both safe (error tuple) and bang (raising) variants of operations.
  - [Aurora.Uix.Stack.EmptyStackError](Aurora.Uix.Stack.EmptyStackError.md): Exception raised when attempting to perform operations on an empty stack.

  - [Aurora.Uix.TreePath](Aurora.Uix.TreePath.md): Represents a node in the Uix tree.

- Layouts
  - [Aurora.Uix.Layout.Blueprint](Aurora.Uix.Layout.Blueprint.md): Comprehensive layout configuration system for dynamic UI generation.
  - [Aurora.Uix.Layout.CreateLayout](Aurora.Uix.Layout.CreateLayout.md): Provides the `auix_create_layout/2` macro to define reusable UI layouts.

  - [Aurora.Uix.Layout.CreateUI](Aurora.Uix.Layout.CreateUI.md): Provides a framework for dynamically generating UI layouts for Phoenix applications.
  - [Aurora.Uix.Layout.Helpers](Aurora.Uix.Layout.Helpers.md): Helper utilities for Aurora.Uix UI DSL transformations.
  - [Aurora.Uix.Layout.Options](Aurora.Uix.Layout.Options.md): Provides a framework for defining and retrieving layout-specific options.
  - [Aurora.Uix.Layout.Options.Form](Aurora.Uix.Layout.Options.Form.md): Handles retrieval of options specific to `:form` layout type for edit and new resource actions.
  - [Aurora.Uix.Layout.Options.Index](Aurora.Uix.Layout.Options.Index.md): Handles retrieval and processing of options specific to `:index` layout type.
  - [Aurora.Uix.Layout.Options.Show](Aurora.Uix.Layout.Options.Show.md): Handles retrieval of options specific to `:show` layout tags.
  - [Aurora.Uix.Layout.ResourceMetadata](Aurora.Uix.Layout.ResourceMetadata.md): Provides a comprehensive, declarative UI configuration system for structured data in
Phoenix LiveView.

- Parsers &amp; Integration
  - [Aurora.Uix.Integration.Connector](Aurora.Uix.Integration.Connector.md): Defines the integration connector structure for backend implementations.
  - [Aurora.Uix.Integration.ContextParserDefaults](Aurora.Uix.Integration.ContextParserDefaults.md): Dispatcher for context-based resource configuration parsing.
  - [Aurora.Uix.Integration.Crud](Aurora.Uix.Integration.Crud.md): Behaviour defining unified CRUD operations with polymorphic dispatch.
  - [Aurora.Uix.Integration.FieldsParser](Aurora.Uix.Integration.FieldsParser.md): Common field parsing utilities for integration modules.
  - [Aurora.Uix.Parser](Aurora.Uix.Parser.md): Core parsing interface for resource configuration in Aurora.Uix.
  - [Aurora.Uix.Parsers.Common](Aurora.Uix.Parsers.Common.md): Provides default value resolution for schema-derived properties in Aurora.Uix parsers.

- Context Integration
  - [Aurora.Uix.Integration.Ctx.ContextParserDefaults](Aurora.Uix.Integration.Ctx.ContextParserDefaults.md): Default value resolution for Context-based resource configurations.
  - [Aurora.Uix.Integration.Ctx.Crud](Aurora.Uix.Integration.Ctx.Crud.md): Context-based implementation of CRUD operations.
  - [Aurora.Uix.Integration.Ctx.CrudSpec](Aurora.Uix.Integration.Ctx.CrudSpec.md): Defines the specification structure for Context-based CRUD operations.
  - [Aurora.Uix.Integration.Ctx.FieldsParser](Aurora.Uix.Integration.Ctx.FieldsParser.md): Field metadata parser for Context-based (Ecto) schemas.

- Ash Integration
  - [Aurora.Uix.Integration.Ash.ContextParserDefaults](Aurora.Uix.Integration.Ash.ContextParserDefaults.md): Parsing functionality for Ash-based resource configurations.
  - [Aurora.Uix.Integration.Ash.Crud](Aurora.Uix.Integration.Ash.Crud.md): Ash Framework implementation of CRUD operations.
  - [Aurora.Uix.Integration.Ash.CrudSpec](Aurora.Uix.Integration.Ash.CrudSpec.md): Defines the specification structure for Ash CRUD operations.
  - [Aurora.Uix.Integration.Ash.FieldsParser](Aurora.Uix.Integration.Ash.FieldsParser.md): Helper functions for converting Ash Framework types to Ecto types.
  - [Aurora.Uix.Integration.Ash.QueryParser](Aurora.Uix.Integration.Ash.QueryParser.md): Parses and applies query options to Ash queries.

- Default Integration
  - [Aurora.Uix.Integration.Default.FieldsParser](Aurora.Uix.Integration.Default.FieldsParser.md): Field metadata parser for Context-based (Ecto) schemas.

- Template System
  - [Aurora.Uix.Template](Aurora.Uix.Template.md): Defines the behaviour for `Aurora.Uix` template modules.
  - [Aurora.Uix.Templates.Basic](Aurora.Uix.Templates.Basic.md): Provides the template implementation for Aurora UIX, implementing the
`Aurora.Uix.Template` behavior.
  - [Aurora.Uix.Templates.CssSanitizer](Aurora.Uix.Templates.CssSanitizer.md): CSS sanitization module that parses and filters CSS rules to prevent security vulnerabilities.
  - [Aurora.Uix.Templates.Theme](Aurora.Uix.Templates.Theme.md): 
  Defines the behaviour for a theme module in `Aurora.Uix`.
  - [Aurora.Uix.Templates.ThemeHelper](Aurora.Uix.Templates.ThemeHelper.md): Provides helper functions for embedding theme-based styles within `HEEx` templates.

- Basic Template - Actions
  - [Aurora.Uix.Templates.Basic.Actions](Aurora.Uix.Templates.Basic.Actions.md): Provides helper functions to manage and modify action groups within Aurora UIX templates.
  - [Aurora.Uix.Templates.Basic.Actions.EmbedsMany](Aurora.Uix.Templates.Basic.Actions.EmbedsMany.md): Provides helpers for managing one-to-many association actions in Aurora UIX index layouts.
  - [Aurora.Uix.Templates.Basic.Actions.Form](Aurora.Uix.Templates.Basic.Actions.Form.md): Provides helpers for managing form actions in Aurora UIX basic templates.
  - [Aurora.Uix.Templates.Basic.Actions.Index](Aurora.Uix.Templates.Basic.Actions.Index.md): Renders default row and header action links (show, edit, delete, new) for entities in index layouts.
  - [Aurora.Uix.Templates.Basic.Actions.OneToMany](Aurora.Uix.Templates.Basic.Actions.OneToMany.md): Provides helpers for managing one-to-many association actions in Aurora UIX index layouts.
  - [Aurora.Uix.Templates.Basic.Actions.ShowComponent](Aurora.Uix.Templates.Basic.Actions.ShowComponent.md): Renders default header and footer action links (edit, back) for entities in show layouts.

- Basic Template - Components
  - [Aurora.Uix.Templates.Basic.Components](Aurora.Uix.Templates.Basic.Components.md): Provides the core set of reusable UI components for Aurora UIX, including modals, tables, forms, flash messages, and more.
  - [Aurora.Uix.Templates.Basic.Components.FilteringComponents](Aurora.Uix.Templates.Basic.Components.FilteringComponents.md): Provides filter input components with standardized styling and behavior.
  - [Aurora.Uix.Templates.Basic.ConfirmButton](Aurora.Uix.Templates.Basic.ConfirmButton.md): A LiveComponent that provides a button with a confirmation modal dialog.
  - [Aurora.Uix.Templates.Basic.CoreComponents](Aurora.Uix.Templates.Basic.CoreComponents.md): Provides the core set of reusable UI components for Aurora UIX, including modals, tables, forms, flash messages, and more.
  - [Aurora.Uix.Templates.Basic.EmbedsManyComponent](Aurora.Uix.Templates.Basic.EmbedsManyComponent.md): A LiveComponent for managing embeds_many associations in Aurora.Uix forms.
  - [Aurora.Uix.Templates.Basic.RoutingComponents](Aurora.Uix.Templates.Basic.RoutingComponents.md): Provides routing-related UI components for navigation in Phoenix LiveView applications using Aurora UIX. These components enable navigation and back actions that integrate with Aurora's routing system.

- Basic Template - Generators
  - [Aurora.Uix.Templates.Basic.Generators.FormGenerator](Aurora.Uix.Templates.Basic.Generators.FormGenerator.md): Generates form component modules for the Basic template implementation.
  - [Aurora.Uix.Templates.Basic.Generators.IndexGenerator](Aurora.Uix.Templates.Basic.Generators.IndexGenerator.md): Generates index view LiveView modules for the Basic template implementation.
  - [Aurora.Uix.Templates.Basic.Generators.ShowComponentGenerator](Aurora.Uix.Templates.Basic.Generators.ShowComponentGenerator.md): Generates show component modules for the Basic template implementation.
  - [Aurora.Uix.Templates.Basic.ModulesGenerator](Aurora.Uix.Templates.Basic.ModulesGenerator.md): Dynamic LiveView module generator for creating CRUD-oriented user interfaces.

- Basic Template - Handlers
  - [Aurora.Uix.Templates.Basic.Handlers.Form](Aurora.Uix.Templates.Basic.Handlers.Form.md): Provides a LiveComponent handler for form rendering and event management in Aurora UIX templates.
  - [Aurora.Uix.Templates.Basic.Handlers.FormImpl](Aurora.Uix.Templates.Basic.Handlers.FormImpl.md): Behaviour and macro for implementing form live view component handlers in Aurora UIX LiveView templates.
  - [Aurora.Uix.Templates.Basic.Handlers.Index](Aurora.Uix.Templates.Basic.Handlers.Index.md): LiveView handler for index pages in Aurora UIX.
  - [Aurora.Uix.Templates.Basic.Handlers.IndexImpl](Aurora.Uix.Templates.Basic.Handlers.IndexImpl.md): Behaviour and macro for implementing index page handlers in Aurora UIX LiveView templates.
  - [Aurora.Uix.Templates.Basic.Handlers.ShowComponent](Aurora.Uix.Templates.Basic.Handlers.ShowComponent.md): Provides a LiveComponent handler for rendering entity details and event management in Aurora
UIX templates.
  - [Aurora.Uix.Templates.Basic.Handlers.ShowComponentImpl](Aurora.Uix.Templates.Basic.Handlers.ShowComponentImpl.md): Behaviour and macro for implementing show live view component handlers in Aurora UIX LiveView templates.

- Basic Template - Renderers
  - [Aurora.Uix.Templates.Basic.Helpers](Aurora.Uix.Templates.Basic.Helpers.md): Provides utility functions for LiveView components in Aurora UIX.
  - [Aurora.Uix.Templates.Basic.Renderer](Aurora.Uix.Templates.Basic.Renderer.md): Main entry point for Aurora UIX template rendering.
  - [Aurora.Uix.Templates.Basic.Renderers.EmbedsManyRenderer](Aurora.Uix.Templates.Basic.Renderers.EmbedsManyRenderer.md): Renders embeds_many field types in Aurora UIX forms.
  - [Aurora.Uix.Templates.Basic.Renderers.EmbedsOneRenderer](Aurora.Uix.Templates.Basic.Renderers.EmbedsOneRenderer.md): Renders embedded one-to-one associations within forms and show layouts.
  - [Aurora.Uix.Templates.Basic.Renderers.FieldRenderer](Aurora.Uix.Templates.Basic.Renderers.FieldRenderer.md): Renders form fields for Aurora UIX, supporting standard, one-to-many, many-to-one, hidden, and custom field types.
  - [Aurora.Uix.Templates.Basic.Renderers.FormRenderer](Aurora.Uix.Templates.Basic.Renderers.FormRenderer.md): Renders form live components for creating or editing entities in Aurora UIX.
  - [Aurora.Uix.Templates.Basic.Renderers.IndexRenderer](Aurora.Uix.Templates.Basic.Renderers.IndexRenderer.md): Renders index view pages with table-based entity listings and CRUD actions in Aurora UIX.
  - [Aurora.Uix.Templates.Basic.Renderers.ManyToOne](Aurora.Uix.Templates.Basic.Renderers.ManyToOne.md): Renders many-to-one association fields for Aurora UIX in Phoenix LiveView templates.
  - [Aurora.Uix.Templates.Basic.Renderers.OneToMany](Aurora.Uix.Templates.Basic.Renderers.OneToMany.md): Renders one-to-many association fields in Phoenix LiveView templates for Aurora UIX.
  - [Aurora.Uix.Templates.Basic.Renderers.SectionsRenderer](Aurora.Uix.Templates.Basic.Renderers.SectionsRenderer.md): Renders tabbed sections and dynamic content areas in Aurora UIX.
  - [Aurora.Uix.Templates.Basic.Renderers.ShowComponentRenderer](Aurora.Uix.Templates.Basic.Renderers.ShowComponentRenderer.md): Renders detail (show) views for individual entities in Aurora UIX.

- Basic Template - Themes
  - [Aurora.Uix.Templates.Basic.Themes.Base](Aurora.Uix.Templates.Basic.Themes.Base.md): The base theme for the Basic template.
  - [Aurora.Uix.Templates.Basic.Themes.BaseVariables](Aurora.Uix.Templates.Basic.Themes.BaseVariables.md): The root variables for the Basic template. 
Colors variables should be already set by calling module. No colors variables should be defined here.

  - [Aurora.Uix.Templates.Basic.Themes.VitreousMarble](Aurora.Uix.Templates.Basic.Themes.VitreousMarble.md): The sky theme for the basic template.
  - [Aurora.Uix.Templates.Basic.Themes.WhiteCharcoal](Aurora.Uix.Templates.Basic.Themes.WhiteCharcoal.md): The Snow Coat theme for the Basic template. This is the default template

- General Helpers
  - [Aurora.Uix.BehaviourHelper](Aurora.Uix.BehaviourHelper.md): Validates that modules implement specified behaviours and all their callbacks.

  - [Aurora.Uix.CoreComponentsImporter](Aurora.Uix.CoreComponentsImporter.md): Dynamically selects the core components module from either the provided options or the
template configuration, and imports it along with Phoenix.Component.
  - [Aurora.Uix.Gettext](Aurora.Uix.Gettext.md): Injects Gettext functionality with configurable backend support.
  - [Aurora.Uix.GettextBackend](Aurora.Uix.GettextBackend.md): Default Gettext backend module for Aurora UIX providing internationalization (I18n) support.

  - [Aurora.Uix.Helpers.Common](Aurora.Uix.Helpers.Common.md): Provides utility functions for string and atom conversion.

  - [Aurora.Uix.RouteHelper](Aurora.Uix.RouteHelper.md): Provides macros for generating standard LiveView routes for resource-based CRUD operations.

## Mix Tasks

- [mix auix.gen.icons](Mix.Tasks.Auix.Gen.Icons.md):   Reads hero icons from deps/heroicons and creates a assets/css/icons.css.

- [mix auix.gen.stylesheet](Mix.Tasks.Auix.Gen.Stylesheet.md): Finds registered themes along with the configured theme name and generates
the Aurora UIX stylesheet in three files (plus two optional host-owned files)

