# `MishkaGervaz.Form.Entities.Submit.Button`
[🔗](https://github.com/mishka-group/mishka_gervaz/blob/v0.0.1-alpha.3/lib/mishka_gervaz/form/entities/submit.ex#L1)

Single submit / cancel button configuration.

Each button (create / update / cancel) is an independent entity with
its own `label`, `active`, `disabled`, `restricted`, and `visible`
options. Every option except `label` accepts a boolean or a
`fn state -> boolean() end` predicate.

The `active` option is intended for resources: setting `active: false`
suppresses a button that would otherwise be inherited from the domain
default — a per-button opt-out without re-declaring the entire submit
block.

See `MishkaGervaz.Form.Entities.Submit` for the parent entity and
`MishkaGervaz.Form.Dsl.Submit` for the DSL definition.

# `t`

```elixir
@type t() :: %MishkaGervaz.Form.Entities.Submit.Button{
  __spark_metadata__: map() | nil,
  active: boolean() | (map() -&gt; boolean()),
  disabled: boolean() | (map() -&gt; boolean()),
  label: String.t() | (-&gt; String.t()) | nil,
  restricted: boolean() | (map() -&gt; boolean()),
  visible: boolean() | (map() -&gt; boolean())
}
```

# `transform`

---

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