# snk-form



<!-- Auto Generated Below -->


## Properties

| Property               | Attribute                 | Description                                                                            | Type                | Default     |
| ---------------------- | ------------------------- | -------------------------------------------------------------------------------------- | ------------------- | ----------- |
| `configName`           | `config-name`             | Nome usado para guardar/recuperar as configurações do formulário.                      | `string`            | `undefined` |
| `formLegacyConfigName` | `form-legacy-config-name` | Chave da configuração legada do formulário.                                            | `string`            | `undefined` |
| `messagesBuilder`      | --                        | Responsável por flexibilizar e padronizar o uso de mensagens nos blocos de construção. | `SnkMessageBuilder` | `undefined` |
| `recordsValidator`     | --                        | Validador responsável por checar a integridade das informações do registro.            | `IRecordValidator`  | `undefined` |
| `resourceID`           | `resource-i-d`            | Identificador de recursos como configurações e acesso.                                 | `string`            | `undefined` |


## Events

| Event            | Description                                                                                                                               | Type                         |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- |
| `actionClick`    | ⚠️ **[DEPRECATED]** Esta propriedade foi descontinuada. Ela não tem mais efeito sobre o componente. | `CustomEvent<string>`        |
| `exit`           | ⚠️ **[DEPRECATED]** Esta propriedade foi descontinuada. Ela não tem mais efeito sobre o componente. | `CustomEvent<void>`          |
| `formItemsReady` | Responsável por notificar quando ocorrer a renderização de itens do formulário. OBS: Emitido no subcomponente snk-form-view               | `CustomEvent<HTMLElement[]>` |


## Methods

### `addCustomEditor(fieldName: string, customEditor: ICustomEditor) => Promise<void>`

Registra um editor customizado para campos do formulário.

#### Returns

Type: `Promise<void>`

---

### `hideConfig() => Promise<void>`

Fecha a janela de configurações do formulário.

#### Returns

Type: `Promise<void>`

---

### `setFieldProp(fieldName: string, propName: string, value: any) => Promise<void>`

Altera/adiciona uma propriedade nos metadados do campo.

#### Returns

Type: `Promise<void>`

---

### `showConfig() => Promise<void>`

Exibe a janela de configurações do formulário.

#### Returns

Type: `Promise<void>`

---

### `validate() => Promise<void>`

Valida o formulário.

#### Returns

Type: `Promise<void>`




## Dependencies

### Depends on

- [snk-form-config](../snk-form-config)

### Graph
```mermaid
graph TD;
  snk-form --> snk-form-config
  snk-form-config --> config-header
  snk-form-config --> guides-configurator
  snk-form-config --> fields-layout
  snk-form-config --> fields-selector
  config-header --> configs-button
  fields-layout --> field-item
  field-item --> field-config
  fields-selector --> field-item
  style snk-form fill:#f9f,stroke:#333,stroke-width:4px
```

----------------------------------------------


