# MishkaGervaz v0.0.1-alpha.3 - Table of Contents Mishka Gervaz is a comprehensive, declarative UI library for the Ash ecosystem — define tables, forms, and data-driven interfaces entirely through DSL, with built-in sorting, filtering, real-time updates, and extensible templates. ## Pages - [README](readme.md) - [CHANGELOG](changelog.md) ## Modules - [MishkaGervaz](MishkaGervaz.md): MishkaGervaz is a Spark-based DSL library that provides declarative admin table and form configuration for Ash Framework resources. - DSL Extensions - [MishkaGervaz.Domain](MishkaGervaz.Domain.md): Ash Domain extension for MishkaGervaz shared table and form configuration. - [MishkaGervaz.DomainInfo](MishkaGervaz.DomainInfo.md): Delegate module for domain introspection. - [MishkaGervaz.Dsl](MishkaGervaz.Dsl.md): DSL definitions for MishkaGervaz. - [MishkaGervaz.Dsl.Navigation](MishkaGervaz.Dsl.Navigation.md): DSL section for domain-level navigation configuration. - [MishkaGervaz.Entities.MenuGroup](MishkaGervaz.Entities.MenuGroup.md): Entity struct for navigation menu group configuration. - [MishkaGervaz.Resource](MishkaGervaz.Resource.md): Ash extension for MishkaGervaz admin UI DSL. - Introspection - [MishkaGervaz.Domain.Info](MishkaGervaz.Domain.Info.md): Introspection helpers for `MishkaGervaz.Domain`. - [MishkaGervaz.Domain.Info.Form](MishkaGervaz.Domain.Info.Form.md): Form-specific introspection for domains using `MishkaGervaz.Domain`. - [MishkaGervaz.Domain.Info.Table](MishkaGervaz.Domain.Info.Table.md): Table-specific introspection for domains using `MishkaGervaz.Domain`. - [MishkaGervaz.Resource.Info](MishkaGervaz.Resource.Info.md): Introspection helpers for `MishkaGervaz.Resource`. - [MishkaGervaz.Resource.Info.Form](MishkaGervaz.Resource.Info.Form.md): Form-specific introspection for resources using `MishkaGervaz.Resource`. - [MishkaGervaz.Resource.Info.Table](MishkaGervaz.Resource.Info.Table.md): Table-specific introspection for resources using `MishkaGervaz.Resource`. - [MishkaGervaz.ResourceInfo](MishkaGervaz.ResourceInfo.md): Delegate module for resource introspection. - Errors - [MishkaGervaz.Errors](MishkaGervaz.Errors.md): Splode-based error handling for MishkaGervaz. - [MishkaGervaz.Errors.Action](MishkaGervaz.Errors.Action.md): Action execution errors. - [MishkaGervaz.Errors.Action.Failed](MishkaGervaz.Errors.Action.Failed.md): Raised when an action fails to execute. - [MishkaGervaz.Errors.Data](MishkaGervaz.Errors.Data.md): Data-related errors (loading, querying, fetching). - [MishkaGervaz.Errors.Data.LoadFailed](MishkaGervaz.Errors.Data.LoadFailed.md): Raised when data loading fails. - [MishkaGervaz.Errors.Unknown](MishkaGervaz.Errors.Unknown.md): Unknown/unclassified errors. - Form — DSL Sections - [MishkaGervaz.Form.Dsl](MishkaGervaz.Form.Dsl.md): Form DSL definitions for MishkaGervaz. - [MishkaGervaz.Form.Dsl.DataLoader](MishkaGervaz.Form.Dsl.DataLoader.md): DataLoader entity DSL definition for form configuration. - [MishkaGervaz.Form.Dsl.DomainDefaults](MishkaGervaz.Form.Dsl.DomainDefaults.md): Domain-level form defaults inherited by every resource that uses `MishkaGervaz.Resource` under this domain. - [MishkaGervaz.Form.Dsl.Events](MishkaGervaz.Form.Dsl.Events.md): Events entity DSL definition for form configuration. - [MishkaGervaz.Form.Dsl.Fields](MishkaGervaz.Form.Dsl.Fields.md): Fields section — declares form fields manually or via auto-discovery. - [MishkaGervaz.Form.Dsl.Groups](MishkaGervaz.Form.Dsl.Groups.md): Groups section — bundles fields into named groups for layout and access control. - [MishkaGervaz.Form.Dsl.Hooks](MishkaGervaz.Form.Dsl.Hooks.md): Hooks section DSL definition for form configuration. - [MishkaGervaz.Form.Dsl.Identity](MishkaGervaz.Form.Dsl.Identity.md): Identity section — naming and routing for a form. - [MishkaGervaz.Form.Dsl.Layout](MishkaGervaz.Form.Dsl.Layout.md): Layout section — grid, mode, step navigation, and the form chrome (`header` / `footer` / `notice`). - [MishkaGervaz.Form.Dsl.Presentation](MishkaGervaz.Form.Dsl.Presentation.md): Presentation section — UI adapter, template, features, and theming. - [MishkaGervaz.Form.Dsl.Source](MishkaGervaz.Form.Dsl.Source.md): Source section — action mapping, preloading, actor resolution, and per-mode access control. - [MishkaGervaz.Form.Dsl.State](MishkaGervaz.Form.Dsl.State.md): State section DSL definition for form configuration. - [MishkaGervaz.Form.Dsl.Submit](MishkaGervaz.Form.Dsl.Submit.md): Submit entity — configures the create / update / cancel buttons. - [MishkaGervaz.Form.Dsl.Uploads](MishkaGervaz.Form.Dsl.Uploads.md): Uploads section — file upload entities tied to fields of type `:upload`. - Form — Entities - [MishkaGervaz.Form.Entities.Access](MishkaGervaz.Form.Entities.Access.md): Per-mode (or global) access gate inside the `source` block. - [MishkaGervaz.Form.Entities.AutoFields](MishkaGervaz.Form.Entities.AutoFields.md): Auto-discover form fields from the resource's public Ash attributes. - [MishkaGervaz.Form.Entities.AutoFields.Defaults](MishkaGervaz.Form.Entities.AutoFields.Defaults.md): Per-field defaults applied to every auto-discovered field unless an explicit `override` block changes them. Lives inside `MishkaGervaz.Form.Entities.AutoFields`. - [MishkaGervaz.Form.Entities.AutoFields.Override](MishkaGervaz.Form.Entities.AutoFields.Override.md): Per-field override applied on top of an auto-discovered field. Lets you change the inferred type, flip required / visible / readonly flags, attach a custom `format` function, or replace the `ui` block outright. Lives inside `MishkaGervaz.Form.Entities.AutoFields`. - [MishkaGervaz.Form.Entities.AutoFields.UiDefaults](MishkaGervaz.Form.Entities.AutoFields.UiDefaults.md): Default UI options applied to every auto-discovered field — boolean widget choice, textarea threshold, select prompt, and similar rendering hints. Lives inside `MishkaGervaz.Form.Entities.AutoFields`. - [MishkaGervaz.Form.Entities.DataLoader](MishkaGervaz.Form.Entities.DataLoader.md): Data-loader module overrides — replace the default record / tenant / relation / hook loaders with your own implementations. - [MishkaGervaz.Form.Entities.Events](MishkaGervaz.Form.Entities.Events.md): Event-handler module overrides — replace the default event-handling pipeline (or any sub-handler) with your own implementations. - [MishkaGervaz.Form.Entities.Field](MishkaGervaz.Form.Entities.Field.md): Form field — name, type, validation, access predicates, and an optional `ui` sub-entity for label / placeholder / styling plus an optional `preload` sub-entity for relation field eager-loading. - [MishkaGervaz.Form.Entities.Field.Preload](MishkaGervaz.Form.Entities.Field.Preload.md): Three-tier preload configuration for a relation `Field`. - [MishkaGervaz.Form.Entities.Field.Ui](MishkaGervaz.Form.Entities.Field.Ui.md): UI/presentation configuration for a `MishkaGervaz.Form.Entities.Field` — label, placeholder, description, icon, CSS classes, debounce override, grid span, plus add/remove labels for repeater controls. - [MishkaGervaz.Form.Entities.Footer](MishkaGervaz.Form.Entities.Footer.md): Form footer — content rendered below the submit row. - [MishkaGervaz.Form.Entities.Group](MishkaGervaz.Form.Entities.Group.md): Form field group — bundles fields into a named, layout-aware unit. - [MishkaGervaz.Form.Entities.Group.Ui](MishkaGervaz.Form.Entities.Group.Ui.md): UI/presentation configuration for a `MishkaGervaz.Form.Entities.Group` — label, icon, description, container classes, and a per-group columns override. - [MishkaGervaz.Form.Entities.Header](MishkaGervaz.Form.Entities.Header.md): Form header — static title + description pair rendered above the fields, with optional icon and a custom HEEx render escape hatch. - [MishkaGervaz.Form.Entities.NestedField](MishkaGervaz.Form.Entities.NestedField.md): Sub-field declaration inside a `:nested` form field — used for embedded resources and constrained `{:array, :map}` attributes. - [MishkaGervaz.Form.Entities.NestedField.Ui](MishkaGervaz.Form.Entities.NestedField.Ui.md): UI/presentation configuration for a `MishkaGervaz.Form.Entities.NestedField` — label, placeholder, description, CSS class, rows (for textarea sub-fields), and grid span. - [MishkaGervaz.Form.Entities.Notice](MishkaGervaz.Form.Entities.Notice.md): Static form notice — alerts and banners with a known position, validation binding, dismiss tracking, and master-only restriction. - [MishkaGervaz.Form.Entities.Notice.Ui](MishkaGervaz.Form.Entities.Notice.Ui.md): UI/presentation configuration for a `MishkaGervaz.Form.Entities.Notice` — wrapper CSS classes and template-specific extras. - [MishkaGervaz.Form.Entities.Step](MishkaGervaz.Form.Entities.Step.md): Wizard / tabs step — a named bundle of groups with optional navigation guards. - [MishkaGervaz.Form.Entities.Step.Ui](MishkaGervaz.Form.Entities.Step.Ui.md): UI/presentation configuration for a `MishkaGervaz.Form.Entities.Step` — label, icon, description, and step-container CSS classes. - [MishkaGervaz.Form.Entities.Submit](MishkaGervaz.Form.Entities.Submit.md): Submit / cancel button block — the singleton entity that owns the three button sub-entities (`create`, `update`, `cancel`), the `ui` styling sub-entity, and the `position` field (`:top`, `:bottom`, or `:both`). - [MishkaGervaz.Form.Entities.Submit.Button](MishkaGervaz.Form.Entities.Submit.Button.md): Single submit / cancel button configuration. - [MishkaGervaz.Form.Entities.Submit.Ui](MishkaGervaz.Form.Entities.Submit.Ui.md): Shared button styling for a `MishkaGervaz.Form.Entities.Submit` block — submit-button class, cancel-button class, and the wrapper container class. - [MishkaGervaz.Form.Entities.Upload](MishkaGervaz.Form.Entities.Upload.md): File upload configuration — accept rules, count and size limits, plus optional dropzone text and preview UI. - [MishkaGervaz.Form.Entities.Upload.Ui](MishkaGervaz.Form.Entities.Upload.Ui.md): UI/presentation configuration for a `MishkaGervaz.Form.Entities.Upload` — label, icon, dropzone classes, and preview-area classes. - [MishkaGervaz.Form.SubmitMerger](MishkaGervaz.Form.SubmitMerger.md): Resolves the final form `submit` configuration by merging the resource-level submit (built from the DSL entity) with the domain-level submit defaults. - Form — Transformers - [MishkaGervaz.Form.Transformers.BuildDomainConfig](MishkaGervaz.Form.Transformers.BuildDomainConfig.md): Compiles the domain-level form configuration into a single map and persists it under the `:form` key of `:mishka_gervaz_domain_config`. - [MishkaGervaz.Form.Transformers.BuildRuntimeConfig](MishkaGervaz.Form.Transformers.BuildRuntimeConfig.md): Compiles the form DSL state into a single runtime-friendly map and persists it under `:mishka_gervaz_form_config`. - [MishkaGervaz.Form.Transformers.MergeDefaults](MishkaGervaz.Form.Transformers.MergeDefaults.md): Fills the form DSL state with sensible defaults before downstream transformers run. - [MishkaGervaz.Form.Transformers.ResolveFields](MishkaGervaz.Form.Transformers.ResolveFields.md): Resolves field configurations from the form DSL. - Form — Verifiers - [MishkaGervaz.Form.Verifiers.Helpers](MishkaGervaz.Form.Verifiers.Helpers.md): Shared helpers for `MishkaGervaz.Form.Verifiers.*`. - [MishkaGervaz.Form.Verifiers.ValidateChrome](MishkaGervaz.Form.Verifiers.ValidateChrome.md): Validates the chrome entities (header, footer, notice) declared inside the `layout` section of MishkaGervaz form DSL. - [MishkaGervaz.Form.Verifiers.ValidateFields](MishkaGervaz.Form.Verifiers.ValidateFields.md): Validates the `fields` section of MishkaGervaz form DSL. - [MishkaGervaz.Form.Verifiers.ValidateGroups](MishkaGervaz.Form.Verifiers.ValidateGroups.md): Validates the `groups` section of MishkaGervaz form DSL. - [MishkaGervaz.Form.Verifiers.ValidateIdentity](MishkaGervaz.Form.Verifiers.ValidateIdentity.md): Validates the `identity` section of MishkaGervaz form DSL. - [MishkaGervaz.Form.Verifiers.ValidatePreloads](MishkaGervaz.Form.Verifiers.ValidatePreloads.md): Validates the `source.preload` configuration of MishkaGervaz form DSL. - [MishkaGervaz.Form.Verifiers.ValidateSource](MishkaGervaz.Form.Verifiers.ValidateSource.md): Validates the `source` section of MishkaGervaz form DSL. - [MishkaGervaz.Form.Verifiers.ValidateSteps](MishkaGervaz.Form.Verifiers.ValidateSteps.md): Validates the step configuration within the `layout` section of MishkaGervaz form DSL. - [MishkaGervaz.Form.Verifiers.ValidateUploads](MishkaGervaz.Form.Verifiers.ValidateUploads.md): Validates the `uploads` section of MishkaGervaz form DSL. - Form — Behaviours - [MishkaGervaz.Form.Behaviours.FieldType](MishkaGervaz.Form.Behaviours.FieldType.md): Behaviour for form field type renderers. - [MishkaGervaz.Form.Behaviours.Template](MishkaGervaz.Form.Behaviours.Template.md): Behaviour for form layout templates. - Form — Field Types - [MishkaGervaz.Form.Types.Field](MishkaGervaz.Form.Types.Field.md): Built-in form field type registry. - [MishkaGervaz.Form.Types.Field.ArrayOfMaps](MishkaGervaz.Form.Types.Field.ArrayOfMaps.md): Array-of-maps repeatable field type. - [MishkaGervaz.Form.Types.Field.Checkbox](MishkaGervaz.Form.Types.Field.Checkbox.md): Checkbox input field type. - [MishkaGervaz.Form.Types.Field.Combobox](MishkaGervaz.Form.Types.Field.Combobox.md): Combobox field type: text input with dropdown suggestions. - [MishkaGervaz.Form.Types.Field.Date](MishkaGervaz.Form.Types.Field.Date.md): Date picker field type. Validates ISO-8601 date strings. - [MishkaGervaz.Form.Types.Field.DateTime](MishkaGervaz.Form.Types.Field.DateTime.md): DateTime picker field type. Accepts both ISO-8601 naive and zoned strings. - [MishkaGervaz.Form.Types.Field.File](MishkaGervaz.Form.Types.Field.File.md): File upload field type. - [MishkaGervaz.Form.Types.Field.Hidden](MishkaGervaz.Form.Types.Field.Hidden.md): Hidden input field type. - [MishkaGervaz.Form.Types.Field.Json](MishkaGervaz.Form.Types.Field.Json.md): JSON editor field type. - [MishkaGervaz.Form.Types.Field.MultiSelect](MishkaGervaz.Form.Types.Field.MultiSelect.md): Multi-select dropdown field type. - [MishkaGervaz.Form.Types.Field.Nested](MishkaGervaz.Form.Types.Field.Nested.md): Nested / embedded form field type. Used for `inputs_for` and constrained-map fields. - [MishkaGervaz.Form.Types.Field.Number](MishkaGervaz.Form.Types.Field.Number.md): Numeric input field type. - [MishkaGervaz.Form.Types.Field.Password](MishkaGervaz.Form.Types.Field.Password.md): Password input field type. - [MishkaGervaz.Form.Types.Field.Range](MishkaGervaz.Form.Types.Field.Range.md): Range slider field type. Validates numeric input. - [MishkaGervaz.Form.Types.Field.Relation](MishkaGervaz.Form.Types.Field.Relation.md): Relation field type for selecting related records in forms. - [MishkaGervaz.Form.Types.Field.Select](MishkaGervaz.Form.Types.Field.Select.md): Single-select dropdown field type. Trims string values on sanitize. - [MishkaGervaz.Form.Types.Field.StringList](MishkaGervaz.Form.Types.Field.StringList.md): String list field type. - [MishkaGervaz.Form.Types.Field.Text](MishkaGervaz.Form.Types.Field.Text.md): Default text input field type. Strips HTML tags and trims whitespace on sanitize. - [MishkaGervaz.Form.Types.Field.Textarea](MishkaGervaz.Form.Types.Field.Textarea.md): Multi-line text input field type. Pass-through sanitization (preserves newlines and markup). - [MishkaGervaz.Form.Types.Field.Toggle](MishkaGervaz.Form.Types.Field.Toggle.md): Toggle switch field type. Boolean variant rendered as a switch instead of a checkbox. - [MishkaGervaz.Form.Types.Field.Upload](MishkaGervaz.Form.Types.Field.Upload.md): Upload field type for inline positioning of uploads within form fields. - Form — Templates - [MishkaGervaz.Form.Templates.Standard](MishkaGervaz.Form.Templates.Standard.md): Default form template for MishkaGervaz. - Form — Web - [MishkaGervaz.Form.Web.DataLoader](MishkaGervaz.Form.Web.DataLoader.md): Handles async data loading for MishkaGervaz forms. - [MishkaGervaz.Form.Web.DataLoader.Helpers](MishkaGervaz.Form.Web.DataLoader.Helpers.md): Shared helpers for `MishkaGervaz.Form.Web.DataLoader`. - [MishkaGervaz.Form.Web.DataLoader.HookRunner](MishkaGervaz.Form.Web.DataLoader.HookRunner.md): Executes hooks during form data loading. - [MishkaGervaz.Form.Web.DataLoader.RecordLoader](MishkaGervaz.Form.Web.DataLoader.RecordLoader.md): Loads records for edit mode and creates AshPhoenix.Form for forms. - [MishkaGervaz.Form.Web.DataLoader.RelationLoader](MishkaGervaz.Form.Web.DataLoader.RelationLoader.md): Loads options for relation/select fields in forms. - [MishkaGervaz.Form.Web.DataLoader.TenantResolver](MishkaGervaz.Form.Web.DataLoader.TenantResolver.md): Resolves tenant and actions for form operations. - [MishkaGervaz.Form.Web.Events](MishkaGervaz.Form.Web.Events.md): Handles all form events for MishkaGervaz. - [MishkaGervaz.Form.Web.Events.Helpers](MishkaGervaz.Form.Web.Events.Helpers.md): Shared helpers for `MishkaGervaz.Form.Web.Events` and its sub-handlers. - [MishkaGervaz.Form.Web.Events.HookRunner](MishkaGervaz.Form.Web.Events.HookRunner.md): Executes lifecycle hooks during form events. - [MishkaGervaz.Form.Web.Events.RelationHandler](MishkaGervaz.Form.Web.Events.RelationHandler.md): Handles relation field events for search, multi-select, and dropdown state. - [MishkaGervaz.Form.Web.Events.SanitizationHandler](MishkaGervaz.Form.Web.Events.SanitizationHandler.md): Sanitizes form input values. - [MishkaGervaz.Form.Web.Events.StepHandler](MishkaGervaz.Form.Web.Events.StepHandler.md): Handles wizard step navigation events. - [MishkaGervaz.Form.Web.Events.SubmitHandler](MishkaGervaz.Form.Web.Events.SubmitHandler.md): Handles form submission (phx-submit events). - [MishkaGervaz.Form.Web.Events.UploadHandler](MishkaGervaz.Form.Web.Events.UploadHandler.md): Handles file upload events. - [MishkaGervaz.Form.Web.Events.ValidationHandler](MishkaGervaz.Form.Web.Events.ValidationHandler.md): Handles form validation (phx-change events). - [MishkaGervaz.Form.Web.Live](MishkaGervaz.Form.Web.Live.md): LiveComponent for MishkaGervaz admin forms. - [MishkaGervaz.Form.Web.Renderer](MishkaGervaz.Form.Web.Renderer.md): Bridge between LiveComponent and Form Templates. - [MishkaGervaz.Form.Web.State](MishkaGervaz.Form.Web.State.md): Single state struct for a MishkaGervaz form LiveView. - [MishkaGervaz.Form.Web.State.Access](MishkaGervaz.Form.Web.State.Access.md): Handles access control for form operations. - [MishkaGervaz.Form.Web.State.FieldBuilder](MishkaGervaz.Form.Web.State.FieldBuilder.md): Builds field configuration from DSL and resource attributes. - [MishkaGervaz.Form.Web.State.GroupBuilder](MishkaGervaz.Form.Web.State.GroupBuilder.md): Builds group layout configuration from DSL. - [MishkaGervaz.Form.Web.State.Helpers](MishkaGervaz.Form.Web.State.Helpers.md): Shared helpers for `MishkaGervaz.Form.Web.State`. - [MishkaGervaz.Form.Web.State.Presentation](MishkaGervaz.Form.Web.State.Presentation.md): Resolves UI adapter, template, and presentation options for forms. - [MishkaGervaz.Form.Web.State.Static](MishkaGervaz.Form.Web.State.Static.md): Static form configuration that never changes after initialization. - [MishkaGervaz.Form.Web.State.StepBuilder](MishkaGervaz.Form.Web.State.StepBuilder.md): Builds wizard/tabs step configuration from DSL. - [MishkaGervaz.Form.Web.UploadHelpers](MishkaGervaz.Form.Web.UploadHelpers.md): Shared utility functions for file upload wiring in MishkaGervaz forms. - Table — DSL Sections - [MishkaGervaz.Table.Dsl](MishkaGervaz.Table.Dsl.md): Table DSL definitions for MishkaGervaz. - [MishkaGervaz.Table.Dsl.BulkActions](MishkaGervaz.Table.Dsl.BulkActions.md): Bulk actions section DSL definition for table configuration. - [MishkaGervaz.Table.Dsl.Columns](MishkaGervaz.Table.Dsl.Columns.md): Columns section DSL definition for table configuration. - [MishkaGervaz.Table.Dsl.DataLoader](MishkaGervaz.Table.Dsl.DataLoader.md): DataLoader entity DSL definition for table configuration. - [MishkaGervaz.Table.Dsl.Defaults](MishkaGervaz.Table.Dsl.Defaults.md): DSL section for domain-level table configuration. - [MishkaGervaz.Table.Dsl.Events](MishkaGervaz.Table.Dsl.Events.md): Events entity DSL definition for table configuration. - [MishkaGervaz.Table.Dsl.FilterGroups](MishkaGervaz.Table.Dsl.FilterGroups.md): Filter groups section DSL definition for table configuration. - [MishkaGervaz.Table.Dsl.Filters](MishkaGervaz.Table.Dsl.Filters.md): Filters section DSL definition for table configuration. - [MishkaGervaz.Table.Dsl.Hooks](MishkaGervaz.Table.Dsl.Hooks.md): Hooks section DSL definition for table configuration. - [MishkaGervaz.Table.Dsl.Identity](MishkaGervaz.Table.Dsl.Identity.md): Identity section DSL definition for table configuration. - [MishkaGervaz.Table.Dsl.Layout](MishkaGervaz.Table.Dsl.Layout.md): Layout section DSL definition for table configuration. - [MishkaGervaz.Table.Dsl.Pagination](MishkaGervaz.Table.Dsl.Pagination.md): Pagination entity DSL definition for table configuration. - [MishkaGervaz.Table.Dsl.Presentation](MishkaGervaz.Table.Dsl.Presentation.md): Presentation section DSL definition for table configuration. - [MishkaGervaz.Table.Dsl.Realtime](MishkaGervaz.Table.Dsl.Realtime.md): Realtime entity DSL definition for table configuration. - [MishkaGervaz.Table.Dsl.Refresh](MishkaGervaz.Table.Dsl.Refresh.md): DSL section for auto-refresh configuration at the resource level. - [MishkaGervaz.Table.Dsl.Row](MishkaGervaz.Table.Dsl.Row.md): Row section DSL definition for table configuration. - [MishkaGervaz.Table.Dsl.RowActions](MishkaGervaz.Table.Dsl.RowActions.md): Row actions section DSL definition for table configuration. - [MishkaGervaz.Table.Dsl.Source](MishkaGervaz.Table.Dsl.Source.md): Source section DSL definition for table configuration. - [MishkaGervaz.Table.Dsl.State](MishkaGervaz.Table.Dsl.State.md): State section DSL definition for table configuration. - [MishkaGervaz.Table.Dsl.States](MishkaGervaz.Table.Dsl.States.md): Empty and Error state entities DSL definition for table configuration. - [MishkaGervaz.Table.Dsl.UrlSync](MishkaGervaz.Table.Dsl.UrlSync.md): DSL section for URL state synchronization at the resource level. - Table — Entities - [MishkaGervaz.Table.Entities.ActionHook](MishkaGervaz.Table.Entities.ActionHook.md): Entity struct for per-action lifecycle hooks (row + bulk). - [MishkaGervaz.Table.Entities.AutoColumns](MishkaGervaz.Table.Entities.AutoColumns.md): Configuration for auto-discovering columns from Ash resource attributes. - [MishkaGervaz.Table.Entities.AutoColumns.Defaults](MishkaGervaz.Table.Entities.AutoColumns.Defaults.md): Default options for auto-discovered columns. - [MishkaGervaz.Table.Entities.AutoColumns.Override](MishkaGervaz.Table.Entities.AutoColumns.Override.md): Override configuration for a specific auto-discovered column. - [MishkaGervaz.Table.Entities.AutoColumns.UiDefaults](MishkaGervaz.Table.Entities.AutoColumns.UiDefaults.md): Default UI options for auto-discovered columns. - [MishkaGervaz.Table.Entities.BulkAction](MishkaGervaz.Table.Entities.BulkAction.md): Entity struct for bulk action configuration. - [MishkaGervaz.Table.Entities.BulkAction.Ui](MishkaGervaz.Table.Entities.BulkAction.Ui.md): UI configuration for a bulk action. - [MishkaGervaz.Table.Entities.Column](MishkaGervaz.Table.Entities.Column.md): Entity struct for table column configuration. - [MishkaGervaz.Table.Entities.Column.Ui](MishkaGervaz.Table.Entities.Column.Ui.md): UI/presentation configuration for a column. - [MishkaGervaz.Table.Entities.DataLoader](MishkaGervaz.Table.Entities.DataLoader.md): Entity struct for data_loader configuration. - [MishkaGervaz.Table.Entities.DropdownSeparator](MishkaGervaz.Table.Entities.DropdownSeparator.md): Entity struct for a separator in dropdown menus. - [MishkaGervaz.Table.Entities.EmptyState](MishkaGervaz.Table.Entities.EmptyState.md): Entity struct for empty state configuration. - [MishkaGervaz.Table.Entities.ErrorState](MishkaGervaz.Table.Entities.ErrorState.md): Entity struct for error state configuration. - [MishkaGervaz.Table.Entities.Events](MishkaGervaz.Table.Entities.Events.md): Entity struct for events configuration. - [MishkaGervaz.Table.Entities.Filter](MishkaGervaz.Table.Entities.Filter.md): Entity struct for table filter configuration. - [MishkaGervaz.Table.Entities.Filter.Preload](MishkaGervaz.Table.Entities.Filter.Preload.md): Preload configuration for relation filters. - [MishkaGervaz.Table.Entities.Filter.Ui](MishkaGervaz.Table.Entities.Filter.Ui.md): UI configuration for a filter. - [MishkaGervaz.Table.Entities.FilterGroup](MishkaGervaz.Table.Entities.FilterGroup.md): Entity struct for table filter group configuration. - [MishkaGervaz.Table.Entities.FilterGroup.Ui](MishkaGervaz.Table.Entities.FilterGroup.Ui.md): UI/presentation configuration for a filter group. - [MishkaGervaz.Table.Entities.Footer](MishkaGervaz.Table.Entities.Footer.md): Entity struct for table footer configuration. - [MishkaGervaz.Table.Entities.Header](MishkaGervaz.Table.Entities.Header.md): Entity struct for table header configuration. - [MishkaGervaz.Table.Entities.Notice](MishkaGervaz.Table.Entities.Notice.md): Entity struct for static table notices (alerts/banners). - [MishkaGervaz.Table.Entities.Notice.Ui](MishkaGervaz.Table.Entities.Notice.Ui.md): UI/presentation configuration for a table notice. - [MishkaGervaz.Table.Entities.Pagination](MishkaGervaz.Table.Entities.Pagination.md): Entity struct for pagination configuration. - [MishkaGervaz.Table.Entities.Pagination.Ui](MishkaGervaz.Table.Entities.Pagination.Ui.md): UI/presentation configuration for pagination. - [MishkaGervaz.Table.Entities.Realtime](MishkaGervaz.Table.Entities.Realtime.md): Entity struct for realtime configuration. - [MishkaGervaz.Table.Entities.RowAction](MishkaGervaz.Table.Entities.RowAction.md): Entity struct for row action configuration. - [MishkaGervaz.Table.Entities.RowAction.Ui](MishkaGervaz.Table.Entities.RowAction.Ui.md): UI configuration for a row action. - [MishkaGervaz.Table.Entities.RowActionDropdown](MishkaGervaz.Table.Entities.RowActionDropdown.md): Entity struct for a dropdown menu containing row actions. - [MishkaGervaz.Table.Entities.RowOverride](MishkaGervaz.Table.Entities.RowOverride.md): Entity struct for row override configuration. - Table — Transformers - [MishkaGervaz.Table.Transformers.BuildDomainConfig](MishkaGervaz.Table.Transformers.BuildDomainConfig.md): Builds the domain-level configuration from the DSL state. - [MishkaGervaz.Table.Transformers.BuildRuntimeConfig](MishkaGervaz.Table.Transformers.BuildRuntimeConfig.md): Builds the final runtime configuration from the DSL state. - [MishkaGervaz.Table.Transformers.Helpers](MishkaGervaz.Table.Transformers.Helpers.md): Shared helper functions for MishkaGervaz transformers. - [MishkaGervaz.Table.Transformers.MergeDefaults](MishkaGervaz.Table.Transformers.MergeDefaults.md): Merges default values into the DSL configuration. - [MishkaGervaz.Table.Transformers.ResolveColumns](MishkaGervaz.Table.Transformers.ResolveColumns.md): Resolves column configurations from the DSL. - Table — Verifiers - [MishkaGervaz.Table.Verifiers.Helpers](MishkaGervaz.Table.Verifiers.Helpers.md): Shared helpers for `MishkaGervaz.Table.Verifiers.*`. - [MishkaGervaz.Table.Verifiers.ValidateBulkActions](MishkaGervaz.Table.Verifiers.ValidateBulkActions.md): Validates the bulk_actions section of MishkaGervaz DSL. - [MishkaGervaz.Table.Verifiers.ValidateColumns](MishkaGervaz.Table.Verifiers.ValidateColumns.md): Validates the columns section of MishkaGervaz DSL. - [MishkaGervaz.Table.Verifiers.ValidateDomainDefaults](MishkaGervaz.Table.Verifiers.ValidateDomainDefaults.md): Validates the domain table configuration. - [MishkaGervaz.Table.Verifiers.ValidateFilters](MishkaGervaz.Table.Verifiers.ValidateFilters.md): Validates the filters section of MishkaGervaz DSL. - [MishkaGervaz.Table.Verifiers.ValidateIdentity](MishkaGervaz.Table.Verifiers.ValidateIdentity.md): Validates the identity section of MishkaGervaz DSL. - [MishkaGervaz.Table.Verifiers.ValidateLayout](MishkaGervaz.Table.Verifiers.ValidateLayout.md): Validates the chrome entities (header, footer, notice) declared inside the table layout section. - [MishkaGervaz.Table.Verifiers.ValidatePagination](MishkaGervaz.Table.Verifiers.ValidatePagination.md): Validates pagination configuration at the resource level. - [MishkaGervaz.Table.Verifiers.ValidateRowActions](MishkaGervaz.Table.Verifiers.ValidateRowActions.md): Validates the row_actions section of MishkaGervaz DSL. - [MishkaGervaz.Table.Verifiers.ValidateSource](MishkaGervaz.Table.Verifiers.ValidateSource.md): Validates the source section of MishkaGervaz DSL. - Table — Behaviours - [MishkaGervaz.Table.Behaviours.ActionType](MishkaGervaz.Table.Behaviours.ActionType.md): Behaviour for row action type renderers. - [MishkaGervaz.Table.Behaviours.ColumnType](MishkaGervaz.Table.Behaviours.ColumnType.md): Behaviour for column type renderers. - [MishkaGervaz.Table.Behaviours.FilterType](MishkaGervaz.Table.Behaviours.FilterType.md): Behaviour for filter type implementations. - [MishkaGervaz.Table.Behaviours.Template](MishkaGervaz.Table.Behaviours.Template.md): Behaviour for layout templates. - [MishkaGervaz.Table.Behaviours.TypeRegistry](MishkaGervaz.Table.Behaviours.TypeRegistry.md): Behaviour for type registry modules. - Table — Column / Filter / Action Types - [MishkaGervaz.Table.Types.Action](MishkaGervaz.Table.Types.Action.md): Built-in action type registry. - [MishkaGervaz.Table.Types.Action.Accordion](MishkaGervaz.Table.Types.Action.Accordion.md): Accordion action type - renders an expand/collapse button for row details. - [MishkaGervaz.Table.Types.Action.Destroy](MishkaGervaz.Table.Types.Action.Destroy.md): Destroy action type - renders a delete button with confirmation. - [MishkaGervaz.Table.Types.Action.Edit](MishkaGervaz.Table.Types.Action.Edit.md): Edit action type - renders a button that sends the record to the form component. - [MishkaGervaz.Table.Types.Action.Event](MishkaGervaz.Table.Types.Action.Event.md): Event action type - renders a button that triggers a LiveView event. - [MishkaGervaz.Table.Types.Action.Link](MishkaGervaz.Table.Types.Action.Link.md): Link action type - renders a navigation link. - [MishkaGervaz.Table.Types.Action.PermanentDestroy](MishkaGervaz.Table.Types.Action.PermanentDestroy.md): Permanent destroy action type - renders a button to permanently delete archived records. - [MishkaGervaz.Table.Types.Action.RowClick](MishkaGervaz.Table.Types.Action.RowClick.md): Row click action type - makes the entire row clickable. - [MishkaGervaz.Table.Types.Action.Unarchive](MishkaGervaz.Table.Types.Action.Unarchive.md): Unarchive action type - renders a restore button for archived records. - [MishkaGervaz.Table.Types.Action.Update](MishkaGervaz.Table.Types.Action.Update.md): Update action type - renders a button that triggers an Ash update action. - [MishkaGervaz.Table.Types.Column](MishkaGervaz.Table.Types.Column.md): Built-in column type registry. - [MishkaGervaz.Table.Types.Column.Array](MishkaGervaz.Table.Types.Column.Array.md): Array/List column type. - [MishkaGervaz.Table.Types.Column.Badge](MishkaGervaz.Table.Types.Column.Badge.md): Badge/Status column type. - [MishkaGervaz.Table.Types.Column.Boolean](MishkaGervaz.Table.Types.Column.Boolean.md): Boolean column type with icon display. - [MishkaGervaz.Table.Types.Column.Date](MishkaGervaz.Table.Types.Column.Date.md): Date column type. - [MishkaGervaz.Table.Types.Column.DateTime](MishkaGervaz.Table.Types.Column.DateTime.md): DateTime column type. - [MishkaGervaz.Table.Types.Column.Link](MishkaGervaz.Table.Types.Column.Link.md): Link column type. - [MishkaGervaz.Table.Types.Column.Number](MishkaGervaz.Table.Types.Column.Number.md): Numeric column type. - [MishkaGervaz.Table.Types.Column.Text](MishkaGervaz.Table.Types.Column.Text.md): Default text column type. - [MishkaGervaz.Table.Types.Column.UUID](MishkaGervaz.Table.Types.Column.UUID.md): UUID column type. - [MishkaGervaz.Table.Types.Filter](MishkaGervaz.Table.Types.Filter.md): Built-in filter type registry. - [MishkaGervaz.Table.Types.Filter.Boolean](MishkaGervaz.Table.Types.Filter.Boolean.md): Boolean checkbox filter type. - [MishkaGervaz.Table.Types.Filter.Date](MishkaGervaz.Table.Types.Filter.Date.md): Date picker filter type. - [MishkaGervaz.Table.Types.Filter.DateRange](MishkaGervaz.Table.Types.Filter.DateRange.md): Date range filter type. - [MishkaGervaz.Table.Types.Filter.Number](MishkaGervaz.Table.Types.Filter.Number.md): Number input filter type. - [MishkaGervaz.Table.Types.Filter.Relation](MishkaGervaz.Table.Types.Filter.Relation.md): Relationship filter type for selecting related records. - [MishkaGervaz.Table.Types.Filter.Select](MishkaGervaz.Table.Types.Filter.Select.md): Select dropdown filter type. - [MishkaGervaz.Table.Types.Filter.Text](MishkaGervaz.Table.Types.Filter.Text.md): Text search filter type. - Table — Templates - [MishkaGervaz.Table.Templates.MediaGallery](MishkaGervaz.Table.Templates.MediaGallery.md): Media gallery template for image/file-heavy data. - [MishkaGervaz.Table.Templates.Shared](MishkaGervaz.Table.Templates.Shared.md): Shared rendering functions used by all templates. - [MishkaGervaz.Table.Templates.Table](MishkaGervaz.Table.Templates.Table.md): Default table template with rows and columns layout. - Table — Web - [MishkaGervaz.Table.ArchiveMerger](MishkaGervaz.Table.ArchiveMerger.md): Resolves the final table `archive` configuration by merging the resource-level archive map (built from the DSL) with the domain-level archive defaults. - [MishkaGervaz.Table.Web.AutoState](MishkaGervaz.Table.Web.AutoState.md): Built-in state-transition rules for tables. - [MishkaGervaz.Table.Web.DataLoader](MishkaGervaz.Table.Web.DataLoader.md): Handles async data loading with streams for MishkaGervaz tables. - [MishkaGervaz.Table.Web.DataLoader.FilterParser](MishkaGervaz.Table.Web.DataLoader.FilterParser.md): Parses raw filter values from form submissions. - [MishkaGervaz.Table.Web.DataLoader.Helpers](MishkaGervaz.Table.Web.DataLoader.Helpers.md): Pure data helpers for `MishkaGervaz.Table.Web.DataLoader`. - [MishkaGervaz.Table.Web.DataLoader.HookRunner](MishkaGervaz.Table.Web.DataLoader.HookRunner.md): Executes hooks during data loading. - [MishkaGervaz.Table.Web.DataLoader.PaginationHandler](MishkaGervaz.Table.Web.DataLoader.PaginationHandler.md): Handles pagination logic for data loading. - [MishkaGervaz.Table.Web.DataLoader.QueryBuilder](MishkaGervaz.Table.Web.DataLoader.QueryBuilder.md): Builds Ash queries with filters and sorting from table state. - [MishkaGervaz.Table.Web.DataLoader.RelationLoader](MishkaGervaz.Table.Web.DataLoader.RelationLoader.md): Handles paginated loading of relation filter options. - [MishkaGervaz.Table.Web.DataLoader.TenantResolver](MishkaGervaz.Table.Web.DataLoader.TenantResolver.md): Resolves tenant and read actions based on state. - [MishkaGervaz.Table.Web.Events](MishkaGervaz.Table.Web.Events.md): Handles all table events for MishkaGervaz. - [MishkaGervaz.Table.Web.Events.BulkActionHandler](MishkaGervaz.Table.Web.Events.BulkActionHandler.md): Handles bulk action execution for Events module. - [MishkaGervaz.Table.Web.Events.BulkActionHooks](MishkaGervaz.Table.Web.Events.BulkActionHooks.md): Helpers for bulk-action lifecycle hook authors. - [MishkaGervaz.Table.Web.Events.BulkActionResult](MishkaGervaz.Table.Web.Events.BulkActionResult.md): Structured summary of a bulk action's outcome. - [MishkaGervaz.Table.Web.Events.HookRunner](MishkaGervaz.Table.Web.Events.HookRunner.md): Handles hook execution for Events module. - [MishkaGervaz.Table.Web.Events.RecordHandler](MishkaGervaz.Table.Web.Events.RecordHandler.md): Handles record operations for Events module. - [MishkaGervaz.Table.Web.Events.RelationFilterHandler](MishkaGervaz.Table.Web.Events.RelationFilterHandler.md): Handles relation filter events for dynamic search, load more, and multi-select. - [MishkaGervaz.Table.Web.Events.SanitizationHandler](MishkaGervaz.Table.Web.Events.SanitizationHandler.md): Handles input sanitization for Events module. - [MishkaGervaz.Table.Web.Events.SelectionHandler](MishkaGervaz.Table.Web.Events.SelectionHandler.md): Handles selection operations for Events module. - [MishkaGervaz.Table.Web.Live](MishkaGervaz.Table.Web.Live.md): LiveComponent for MishkaGervaz admin tables. - [MishkaGervaz.Table.Web.Refresh](MishkaGervaz.Table.Web.Refresh.md): Auto-refresh functionality for MishkaGervaz tables. - [MishkaGervaz.Table.Web.Renderer](MishkaGervaz.Table.Web.Renderer.md): Bridge between LiveComponent and Templates. - [MishkaGervaz.Table.Web.State](MishkaGervaz.Table.Web.State.md): Single state struct for MishkaGervaz table. - [MishkaGervaz.Table.Web.State.Access](MishkaGervaz.Table.Web.State.Access.md): Handles access control for records and actions. - [MishkaGervaz.Table.Web.State.ActionBuilder](MishkaGervaz.Table.Web.State.ActionBuilder.md): Builds row actions, dropdowns, and bulk actions from DSL configuration. - [MishkaGervaz.Table.Web.State.ColumnBuilder](MishkaGervaz.Table.Web.State.ColumnBuilder.md): Builds column configuration from DSL and resource attributes. - [MishkaGervaz.Table.Web.State.FilterBuilder](MishkaGervaz.Table.Web.State.FilterBuilder.md): Builds filter configuration from DSL and resource attributes. - [MishkaGervaz.Table.Web.State.Helpers](MishkaGervaz.Table.Web.State.Helpers.md): Helper functions for `MishkaGervaz.Table.Web.State`. - [MishkaGervaz.Table.Web.State.Presentation](MishkaGervaz.Table.Web.State.Presentation.md): Resolves UI adapter, template, and presentation options. - [MishkaGervaz.Table.Web.State.Static](MishkaGervaz.Table.Web.State.Static.md): Static table configuration that never changes after initialization. - [MishkaGervaz.Table.Web.State.UrlSync](MishkaGervaz.Table.Web.State.UrlSync.md): Handles URL synchronization for table state. - [MishkaGervaz.Table.Web.UrlSync](MishkaGervaz.Table.Web.UrlSync.md): URL state synchronization for bookmarkable table views. - UI Adapters - [MishkaGervaz.Behaviours.UIAdapter](MishkaGervaz.Behaviours.UIAdapter.md): Behaviour for UI component adapters. - [MishkaGervaz.UIAdapters.Dynamic](MishkaGervaz.UIAdapters.Dynamic.md): Dynamic UI adapter for database-driven components. - [MishkaGervaz.UIAdapters.MediaGallery](MishkaGervaz.UIAdapters.MediaGallery.md): UI adapter for media gallery template. - [MishkaGervaz.UIAdapters.Tailwind](MishkaGervaz.UIAdapters.Tailwind.md): Default Tailwind CSS UI adapter. - Helpers - [MishkaGervaz.Gettext](MishkaGervaz.Gettext.md): Default Gettext backend for MishkaGervaz. - [MishkaGervaz.Helpers](MishkaGervaz.Helpers.md): Shared helper functions for MishkaGervaz. - [MishkaGervaz.Messages](MishkaGervaz.Messages.md): Provides Gettext macros with configurable backend support.