Referensi
Tipe TypeScript
Daftar seluruh tipe ekspor dan pola konfigurasi bertipe.
import { z } from "zod";
import type { FieldConfig, ComponentRegistry } from "erlangform";
const schema = z.object({ profile: z.object({ name: z.string() }) });
type Values = z.infer<typeof schema>;
const config = {
profile: { name: { label: "Nama" } },
} satisfies FieldConfig<Values>;
const registry = {} satisfies ComponentRegistry<Values>;Gunakan satisfies untuk memeriksa konfigurasi tanpa menghilangkan inferensi spesifik. Child object dan array diletakkan pada induknya; item mengatur elemen array dan posisi tuple memakai indeks angka.
| Ekspor tipe | Tujuan |
|---|---|
| FieldConfig | Konfigurasi root dengan fallback key nested lama |
| NestedFieldConfig | Konfigurasi child langsung, termasuk key semua cabang union |
| FieldOptions | Memilih opsi input/container sesuai tipe nilai |
| InputFieldOptions | Opsi field tunggal |
| ResolvedFieldOptions | Opsi setelah resolver label/placeholder/description/options |
| ResolvedInputFieldOptions | Opsi input dengan resolver sudah dievaluasi |
| ArrayItem | Tipe elemen array setelah null/undefined dikeluarkan |
| DeepFieldKeys | Nama key rekursif untuk kompatibilitas, bukan union dotted path |
| FieldContext | Scope object untuk nama key tertentu |
| FieldValue | Tipe nilai yang ditemukan berdasarkan nama key |
| ComponentRegistry | Pemetaan metadata jenis ke komponen |
| FieldComponentProps | field, config, dan state untuk custom input |
| FieldComponentApi | name, state.value/meta, handleChange, handleBlur opsional |
| ContainerComponentProps | field/config/state/values dan children opsional |
| FieldState | visible, disabled, readOnly, required |
| SectionConfig / SectionConfigs | Konfigurasi satu section / peta section |
| FormStep / FormWizardOptions | Struktur langkah dan callback navigasi |
| ServerErrors | Record string ke string atau readonly string[] |
| FieldMeta | Metadata dari infer |
FieldOptions membedakan Date/File sebagai input, array dinamis, tuple, object, dan record. Opsi input seperti label/placeholder tidak otomatis tersedia pada container. Array memiliki item, array, inputType, dan options; tuple memakai indeks posisi.
FieldLayout, Resolver, SelectOption, dan AutoFormProps adalah tipe internal yang tidak diekspor. Untuk opsi select, gunakan bentuk { label: string, value: string }. Lihat API publik untuk komponen dan helper runtime.