# `MishkaGervaz.Domain.Info`
[🔗](https://github.com/mishka-group/mishka_gervaz/blob/v0.0.1-alpha.3/lib/mishka_gervaz/_domain/info.ex#L1)

Introspection helpers for `MishkaGervaz.Domain`.

All functions use explicit `table_` or `form_` prefixes to avoid
name collisions between DSL sections that share field names.

## Submodules

- `MishkaGervaz.Domain.Info.Table` — Table defaults and navigation introspection
- `MishkaGervaz.Domain.Info.Form`  — Form defaults introspection

## Naming convention

Every delegate follows the same rule:

- **`table_<fn>`** — delegates to `MishkaGervaz.Domain.Info.Table.<fn>`
  with the exact same name.
- **`form_<fn>`**  — delegates to `MishkaGervaz.Domain.Info.Form.<fn>`
  with the exact same name.

No unprefixed shortcuts, no renames, no suffixes. If you find an accessor
on `Domain.Info.Table` named `x`, the delegate here is `table_x`. Same for
Form. This mirrors the convention used by `MishkaGervaz.Resource.Info` and
`MishkaGervaz.DomainInfo`.

## Examples

    # Whole domain config map (same data on both sides)
    Domain.Info.table_config(MyDomain)
    Domain.Info.form_config(MyDomain)

    # Inherited table defaults
    Domain.Info.table_defaults(MyDomain)
    Domain.Info.table_pagination(MyDomain)
    Domain.Info.table_realtime(MyDomain)

    # Domain-level navigation (not table-specific — top-level on Domain.Info)
    Domain.Info.navigation(MyDomain)
    Domain.Info.menu_groups(MyDomain)

    # Inherited form defaults
    Domain.Info.form_defaults(MyDomain)
    Domain.Info.form_actions(MyDomain)
    Domain.Info.form_layout(MyDomain)

# `form_actions`

# `form_actor_key`

# `form_config`

# `form_defaults`

# `form_features`

# `form_layout`

# `form_master_check`

# `form_submit`

# `form_template`

# `form_theme`

# `form_ui_adapter`

# `form_ui_adapter_opts`

# `menu_groups`

```elixir
@spec menu_groups(module()) :: [map()]
```

Get the menu groups for a domain.

# `navigation`

```elixir
@spec navigation(module()) :: map() | nil
```

Get the navigation configuration for a domain.
Returns nil if no `navigation do … end` block is declared.

# `table_actions`

# `table_actor_key`

# `table_config`

# `table_defaults`

# `table_master_check`

# `table_max_page_size`

# `table_page_size`

# `table_page_size_options`

# `table_pagination`

# `table_realtime`

# `table_refresh`

# `table_theme`

# `table_ui_adapter`

# `table_ui_adapter_opts`

# `table_url_sync`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
