{
  "id": "@typed/ui/Form#SchemaBoundForm",
  "canonicalId": "@typed/ui/Form#SchemaBoundForm",
  "symbol": {
    "id": "@typed/ui/Form#SchemaBoundForm",
    "packageName": "@typed/ui",
    "moduleName": "Form",
    "exportName": "SchemaBoundForm",
    "kind": "interface",
    "signatures": [
      "export interface SchemaBoundForm<Fields extends FormFields> {\n    readonly codec: Schema.Struct<Fields>;\n    readonly state: (values: Schema.Struct.Type<Fields>, options?: SchemaBoundStateOptions<Schema.Struct.Type<Fields>>) => Effect.Effect<FormState<Schema.Struct.Type<Fields>>, Schema.SchemaError, Scope.Scope>;\n    readonly Root: SchemaBoundRoot<Schema.Struct.Type<Fields>>;\n    readonly TextInput: SchemaBoundInput<Fields, string>;\n    readonly SearchInput: SchemaBoundInput<Fields, string>;\n    readonly EmailInput: SchemaBoundInput<Fields, string>;\n    readonly UrlInput: SchemaBoundInput<Fields, string>;\n    readonly TelInput: SchemaBoundInput<Fields, string>;\n    readonly PasswordInput: SchemaBoundInput<Fields, string>;\n    readonly HiddenInput: SchemaBoundInput<Fields, string>;\n    readonly ColorInput: SchemaBoundInput<Fields, string>;\n    readonly TimeInput: SchemaBoundInput<Fields, string>;\n    readonly DateTimeLocalInput: SchemaBoundInput<Fields, string>;\n    readonly MonthInput: SchemaBoundInput<Fields, string>;\n    readonly WeekInput: SchemaBoundInput<Fields, string>;\n    readonly NumberInput: SchemaBoundInput<Fields, number>;\n    readonly RangeInput: SchemaBoundInput<Fields, number>;\n    readonly DateInput: SchemaBoundInput<Fields, Date>;\n    readonly MaskedInput: SchemaBoundMaskedInput<Fields>;\n    readonly Checkbox: SchemaBoundCheckbox<Schema.Struct.Type<Fields>>;\n    readonly Select: SchemaBoundSelect<Schema.Struct.Type<Fields>>;\n    readonly Error: SchemaBoundError<Schema.Struct.Type<Fields>>;\n    readonly Reset: SchemaBoundReset;\n    readonly Push: SchemaBoundPush<Schema.Struct.Type<Fields>>;\n    readonly Remove: SchemaBoundRemove<Schema.Struct.Type<Fields>>;\n    readonly Label: typeof Label;\n    readonly Description: typeof Description;\n    readonly Submit: typeof Submit;\n    readonly Group: typeof Group;\n}"
    ],
    "summary": "Schema-specialized form API returned by `make`.",
    "sections": {
      "Property: Checkbox": "Bound native checkbox limited to boolean fields.",
      "Property: ColorInput": "Bound native color input for string-encoded string fields.",
      "Property: DateInput": "Bound native date input for Date fields encoded as strings.",
      "Property: DateTimeLocalInput": "Bound native local date-time input for string-encoded string fields.",
      "Property: Description": "Neutral description host for caller-linked explanatory content.",
      "Property: EmailInput": "Bound native email input for string-encoded string fields.",
      "Property: Error": "Bound ARIA alert for a field's current validation message.",
      "Property: Group": "Accessible group host for related controls.",
      "Property: HiddenInput": "Bound native hidden input for string-encoded string fields.",
      "Property: Label": "Native label component; callers provide the target control ID.",
      "Property: MaskedInput": "Bound text input using the selected field's own string codec.",
      "Property: MonthInput": "Bound native month input for string-encoded string fields.",
      "Property: NumberInput": "Bound native number input for finite-number fields encoded as strings.",
      "Property: PasswordInput": "Bound native password input for string-encoded string fields.",
      "Property: Push": "Bound button that appends to an array field.",
      "Property: RangeInput": "Bound native range input for finite-number fields encoded as strings.",
      "Property: Remove": "Bound button that removes an item from an array field.",
      "Property: Reset": "Bound reset button that restores the current form's defaults.",
      "Property: Root": "Native form root that provides the current state to bound descendants.",
      "Property: SearchInput": "Bound native search input for string-encoded string fields.",
      "Property: Select": "Bound native select limited to string fields.",
      "Property: Submit": "Native submit button.",
      "Property: TelInput": "Bound native telephone input for string-encoded string fields.",
      "Property: TextInput": "Bound native text input for string-encoded string fields.",
      "Property: TimeInput": "Bound native time input for string-encoded string fields.",
      "Property: UrlInput": "Bound native URL input for string-encoded string fields.",
      "Property: WeekInput": "Bound native week input for string-encoded string fields.",
      "Property: codec": "Struct codec shared by state construction and every bound field.",
      "Property: state": "Creates a Scope-owned hydrated state from decoded initial values."
    },
    "examples": [],
    "relations": [],
    "source": {
      "file": "packages/ui/src/Form.ts",
      "line": 2781
    },
    "since": "1.0.0",
    "category": "Schema-bound components"
  },
  "exposure": {
    "recordKind": "declaration",
    "id": "@typed/ui/Form#SchemaBoundForm",
    "packageName": "@typed/ui",
    "packageVersion": "1.0.0-beta.13",
    "moduleName": "Form",
    "consumerSpecifier": "@typed/ui/Form",
    "exportName": "SchemaBoundForm",
    "qualifiedName": "SchemaBoundForm",
    "declarationKey": "declaration:8bc3313e7ad71084e9261895",
    "family": "interface",
    "signatures": [
      "export interface SchemaBoundForm<Fields extends FormFields> {\n    readonly codec: Schema.Struct<Fields>;\n    readonly state: (values: Schema.Struct.Type<Fields>, options?: SchemaBoundStateOptions<Schema.Struct.Type<Fields>>) => Effect.Effect<FormState<Schema.Struct.Type<Fields>>, Schema.SchemaError, Scope.Scope>;\n    readonly Root: SchemaBoundRoot<Schema.Struct.Type<Fields>>;\n    readonly TextInput: SchemaBoundInput<Fields, string>;\n    readonly SearchInput: SchemaBoundInput<Fields, string>;\n    readonly EmailInput: SchemaBoundInput<Fields, string>;\n    readonly UrlInput: SchemaBoundInput<Fields, string>;\n    readonly TelInput: SchemaBoundInput<Fields, string>;\n    readonly PasswordInput: SchemaBoundInput<Fields, string>;\n    readonly HiddenInput: SchemaBoundInput<Fields, string>;\n    readonly ColorInput: SchemaBoundInput<Fields, string>;\n    readonly TimeInput: SchemaBoundInput<Fields, string>;\n    readonly DateTimeLocalInput: SchemaBoundInput<Fields, string>;\n    readonly MonthInput: SchemaBoundInput<Fields, string>;\n    readonly WeekInput: SchemaBoundInput<Fields, string>;\n    readonly NumberInput: SchemaBoundInput<Fields, number>;\n    readonly RangeInput: SchemaBoundInput<Fields, number>;\n    readonly DateInput: SchemaBoundInput<Fields, Date>;\n    readonly MaskedInput: SchemaBoundMaskedInput<Fields>;\n    readonly Checkbox: SchemaBoundCheckbox<Schema.Struct.Type<Fields>>;\n    readonly Select: SchemaBoundSelect<Schema.Struct.Type<Fields>>;\n    readonly Error: SchemaBoundError<Schema.Struct.Type<Fields>>;\n    readonly Reset: SchemaBoundReset;\n    readonly Push: SchemaBoundPush<Schema.Struct.Type<Fields>>;\n    readonly Remove: SchemaBoundRemove<Schema.Struct.Type<Fields>>;\n    readonly Label: typeof Label;\n    readonly Description: typeof Description;\n    readonly Submit: typeof Submit;\n    readonly Group: typeof Group;\n}"
    ],
    "sourceSpans": [
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2781,
          "column": 1
        },
        "end": {
          "line": 2901,
          "column": 2
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2864,
          "column": 3
        },
        "end": {
          "line": 2864,
          "column": 70
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2828,
          "column": 3
        },
        "end": {
          "line": 2828,
          "column": 57
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2856,
          "column": 3
        },
        "end": {
          "line": 2856,
          "column": 54
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2836,
          "column": 3
        },
        "end": {
          "line": 2836,
          "column": 65
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2892,
          "column": 3
        },
        "end": {
          "line": 2892,
          "column": 44
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2808,
          "column": 3
        },
        "end": {
          "line": 2808,
          "column": 57
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2872,
          "column": 3
        },
        "end": {
          "line": 2872,
          "column": 64
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2900,
          "column": 3
        },
        "end": {
          "line": 2900,
          "column": 32
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2824,
          "column": 3
        },
        "end": {
          "line": 2824,
          "column": 58
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2888,
          "column": 3
        },
        "end": {
          "line": 2888,
          "column": 32
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2860,
          "column": 3
        },
        "end": {
          "line": 2860,
          "column": 56
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2840,
          "column": 3
        },
        "end": {
          "line": 2840,
          "column": 57
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2848,
          "column": 3
        },
        "end": {
          "line": 2848,
          "column": 58
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2820,
          "column": 3
        },
        "end": {
          "line": 2820,
          "column": 60
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2880,
          "column": 3
        },
        "end": {
          "line": 2880,
          "column": 62
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2852,
          "column": 3
        },
        "end": {
          "line": 2852,
          "column": 57
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2884,
          "column": 3
        },
        "end": {
          "line": 2884,
          "column": 66
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2876,
          "column": 3
        },
        "end": {
          "line": 2876,
          "column": 36
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2796,
          "column": 3
        },
        "end": {
          "line": 2796,
          "column": 62
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2804,
          "column": 3
        },
        "end": {
          "line": 2804,
          "column": 58
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2868,
          "column": 3
        },
        "end": {
          "line": 2868,
          "column": 66
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2896,
          "column": 3
        },
        "end": {
          "line": 2896,
          "column": 34
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2816,
          "column": 3
        },
        "end": {
          "line": 2816,
          "column": 55
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2800,
          "column": 3
        },
        "end": {
          "line": 2800,
          "column": 56
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2832,
          "column": 3
        },
        "end": {
          "line": 2832,
          "column": 56
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2812,
          "column": 3
        },
        "end": {
          "line": 2812,
          "column": 55
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2844,
          "column": 3
        },
        "end": {
          "line": 2844,
          "column": 56
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2785,
          "column": 3
        },
        "end": {
          "line": 2785,
          "column": 41
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2789,
          "column": 3
        },
        "end": {
          "line": 2792,
          "column": 94
        }
      }
    ],
    "aliases": [
      "@typed/ui#Form.SchemaBoundForm",
      "@typed/ui/index#Form.SchemaBoundForm"
    ],
    "isAlias": false,
    "static": false
  },
  "declaration": {
    "declarationKey": "declaration:8bc3313e7ad71084e9261895",
    "name": "SchemaBoundForm",
    "family": "interface",
    "facets": [
      {
        "family": "interface",
        "syntaxKind": "InterfaceDeclaration",
        "signatures": [
          "export interface SchemaBoundForm<Fields extends FormFields> {\n    readonly codec: Schema.Struct<Fields>;\n    readonly state: (values: Schema.Struct.Type<Fields>, options?: SchemaBoundStateOptions<Schema.Struct.Type<Fields>>) => Effect.Effect<FormState<Schema.Struct.Type<Fields>>, Schema.SchemaError, Scope.Scope>;\n    readonly Root: SchemaBoundRoot<Schema.Struct.Type<Fields>>;\n    readonly TextInput: SchemaBoundInput<Fields, string>;\n    readonly SearchInput: SchemaBoundInput<Fields, string>;\n    readonly EmailInput: SchemaBoundInput<Fields, string>;\n    readonly UrlInput: SchemaBoundInput<Fields, string>;\n    readonly TelInput: SchemaBoundInput<Fields, string>;\n    readonly PasswordInput: SchemaBoundInput<Fields, string>;\n    readonly HiddenInput: SchemaBoundInput<Fields, string>;\n    readonly ColorInput: SchemaBoundInput<Fields, string>;\n    readonly TimeInput: SchemaBoundInput<Fields, string>;\n    readonly DateTimeLocalInput: SchemaBoundInput<Fields, string>;\n    readonly MonthInput: SchemaBoundInput<Fields, string>;\n    readonly WeekInput: SchemaBoundInput<Fields, string>;\n    readonly NumberInput: SchemaBoundInput<Fields, number>;\n    readonly RangeInput: SchemaBoundInput<Fields, number>;\n    readonly DateInput: SchemaBoundInput<Fields, Date>;\n    readonly MaskedInput: SchemaBoundMaskedInput<Fields>;\n    readonly Checkbox: SchemaBoundCheckbox<Schema.Struct.Type<Fields>>;\n    readonly Select: SchemaBoundSelect<Schema.Struct.Type<Fields>>;\n    readonly Error: SchemaBoundError<Schema.Struct.Type<Fields>>;\n    readonly Reset: SchemaBoundReset;\n    readonly Push: SchemaBoundPush<Schema.Struct.Type<Fields>>;\n    readonly Remove: SchemaBoundRemove<Schema.Struct.Type<Fields>>;\n    readonly Label: typeof Label;\n    readonly Description: typeof Description;\n    readonly Submit: typeof Submit;\n    readonly Group: typeof Group;\n}"
        ],
        "typeParameters": [
          "Fields extends FormFields"
        ],
        "sourceSpans": [
          {
            "file": "packages/ui/src/Form.ts",
            "start": {
              "line": 2781,
              "column": 1
            },
            "end": {
              "line": 2901,
              "column": 2
            }
          }
        ],
        "static": false,
        "readonly": false,
        "optional": false
      },
      {
        "family": "property",
        "syntaxKind": "PropertySignature",
        "signatures": [
          "readonly Checkbox: SchemaBoundCheckbox<Schema.Struct.Type<Fields>>;"
        ],
        "typeParameters": [],
        "sourceSpans": [
          {
            "file": "packages/ui/src/Form.ts",
            "start": {
              "line": 2864,
              "column": 3
            },
            "end": {
              "line": 2864,
              "column": 70
            }
          }
        ],
        "static": false,
        "readonly": true,
        "optional": false
      },
      {
        "family": "property",
        "syntaxKind": "PropertySignature",
        "signatures": [
          "readonly ColorInput: SchemaBoundInput<Fields, string>;"
        ],
        "typeParameters": [],
        "sourceSpans": [
          {
            "file": "packages/ui/src/Form.ts",
            "start": {
              "line": 2828,
              "column": 3
            },
            "end": {
              "line": 2828,
              "column": 57
            }
          }
        ],
        "static": false,
        "readonly": true,
        "optional": false
      },
      {
        "family": "property",
        "syntaxKind": "PropertySignature",
        "signatures": [
          "readonly DateInput: SchemaBoundInput<Fields, Date>;"
        ],
        "typeParameters": [],
        "sourceSpans": [
          {
            "file": "packages/ui/src/Form.ts",
            "start": {
              "line": 2856,
              "column": 3
            },
            "end": {
              "line": 2856,
              "column": 54
            }
          }
        ],
        "static": false,
        "readonly": true,
        "optional": false
      },
      {
        "family": "property",
        "syntaxKind": "PropertySignature",
        "signatures": [
          "readonly DateTimeLocalInput: SchemaBoundInput<Fields, string>;"
        ],
        "typeParameters": [],
        "sourceSpans": [
          {
            "file": "packages/ui/src/Form.ts",
            "start": {
              "line": 2836,
              "column": 3
            },
            "end": {
              "line": 2836,
              "column": 65
            }
          }
        ],
        "static": false,
        "readonly": true,
        "optional": false
      },
      {
        "family": "property",
        "syntaxKind": "PropertySignature",
        "signatures": [
          "readonly Description: typeof Description;"
        ],
        "typeParameters": [],
        "sourceSpans": [
          {
            "file": "packages/ui/src/Form.ts",
            "start": {
              "line": 2892,
              "column": 3
            },
            "end": {
              "line": 2892,
              "column": 44
            }
          }
        ],
        "static": false,
        "readonly": true,
        "optional": false
      },
      {
        "family": "property",
        "syntaxKind": "PropertySignature",
        "signatures": [
          "readonly EmailInput: SchemaBoundInput<Fields, string>;"
        ],
        "typeParameters": [],
        "sourceSpans": [
          {
            "file": "packages/ui/src/Form.ts",
            "start": {
              "line": 2808,
              "column": 3
            },
            "end": {
              "line": 2808,
              "column": 57
            }
          }
        ],
        "static": false,
        "readonly": true,
        "optional": false
      },
      {
        "family": "property",
        "syntaxKind": "PropertySignature",
        "signatures": [
          "readonly Error: SchemaBoundError<Schema.Struct.Type<Fields>>;"
        ],
        "typeParameters": [],
        "sourceSpans": [
          {
            "file": "packages/ui/src/Form.ts",
            "start": {
              "line": 2872,
              "column": 3
            },
            "end": {
              "line": 2872,
              "column": 64
            }
          }
        ],
        "static": false,
        "readonly": true,
        "optional": false
      },
      {
        "family": "property",
        "syntaxKind": "PropertySignature",
        "signatures": [
          "readonly Group: typeof Group;"
        ],
        "typeParameters": [],
        "sourceSpans": [
          {
            "file": "packages/ui/src/Form.ts",
            "start": {
              "line": 2900,
              "column": 3
            },
            "end": {
              "line": 2900,
              "column": 32
            }
          }
        ],
        "static": false,
        "readonly": true,
        "optional": false
      },
      {
        "family": "property",
        "syntaxKind": "PropertySignature",
        "signatures": [
          "readonly HiddenInput: SchemaBoundInput<Fields, string>;"
        ],
        "typeParameters": [],
        "sourceSpans": [
          {
            "file": "packages/ui/src/Form.ts",
            "start": {
              "line": 2824,
              "column": 3
            },
            "end": {
              "line": 2824,
              "column": 58
            }
          }
        ],
        "static": false,
        "readonly": true,
        "optional": false
      },
      {
        "family": "property",
        "syntaxKind": "PropertySignature",
        "signatures": [
          "readonly Label: typeof Label;"
        ],
        "typeParameters": [],
        "sourceSpans": [
          {
            "file": "packages/ui/src/Form.ts",
            "start": {
              "line": 2888,
              "column": 3
            },
            "end": {
              "line": 2888,
              "column": 32
            }
          }
        ],
        "static": false,
        "readonly": true,
        "optional": false
      },
      {
        "family": "property",
        "syntaxKind": "PropertySignature",
        "signatures": [
          "readonly MaskedInput: SchemaBoundMaskedInput<Fields>;"
        ],
        "typeParameters": [],
        "sourceSpans": [
          {
            "file": "packages/ui/src/Form.ts",
            "start": {
              "line": 2860,
              "column": 3
            },
            "end": {
              "line": 2860,
              "column": 56
            }
          }
        ],
        "static": false,
        "readonly": true,
        "optional": false
      },
      {
        "family": "property",
        "syntaxKind": "PropertySignature",
        "signatures": [
          "readonly MonthInput: SchemaBoundInput<Fields, string>;"
        ],
        "typeParameters": [],
        "sourceSpans": [
          {
            "file": "packages/ui/src/Form.ts",
            "start": {
              "line": 2840,
              "column": 3
            },
            "end": {
              "line": 2840,
              "column": 57
            }
          }
        ],
        "static": false,
        "readonly": true,
        "optional": false
      },
      {
        "family": "property",
        "syntaxKind": "PropertySignature",
        "signatures": [
          "readonly NumberInput: SchemaBoundInput<Fields, number>;"
        ],
        "typeParameters": [],
        "sourceSpans": [
          {
            "file": "packages/ui/src/Form.ts",
            "start": {
              "line": 2848,
              "column": 3
            },
            "end": {
              "line": 2848,
              "column": 58
            }
          }
        ],
        "static": false,
        "readonly": true,
        "optional": false
      },
      {
        "family": "property",
        "syntaxKind": "PropertySignature",
        "signatures": [
          "readonly PasswordInput: SchemaBoundInput<Fields, string>;"
        ],
        "typeParameters": [],
        "sourceSpans": [
          {
            "file": "packages/ui/src/Form.ts",
            "start": {
              "line": 2820,
              "column": 3
            },
            "end": {
              "line": 2820,
              "column": 60
            }
          }
        ],
        "static": false,
        "readonly": true,
        "optional": false
      },
      {
        "family": "property",
        "syntaxKind": "PropertySignature",
        "signatures": [
          "readonly Push: SchemaBoundPush<Schema.Struct.Type<Fields>>;"
        ],
        "typeParameters": [],
        "sourceSpans": [
          {
            "file": "packages/ui/src/Form.ts",
            "start": {
              "line": 2880,
              "column": 3
            },
            "end": {
              "line": 2880,
              "column": 62
            }
          }
        ],
        "static": false,
        "readonly": true,
        "optional": false
      },
      {
        "family": "property",
        "syntaxKind": "PropertySignature",
        "signatures": [
          "readonly RangeInput: SchemaBoundInput<Fields, number>;"
        ],
        "typeParameters": [],
        "sourceSpans": [
          {
            "file": "packages/ui/src/Form.ts",
            "start": {
              "line": 2852,
              "column": 3
            },
            "end": {
              "line": 2852,
              "column": 57
            }
          }
        ],
        "static": false,
        "readonly": true,
        "optional": false
      },
      {
        "family": "property",
        "syntaxKind": "PropertySignature",
        "signatures": [
          "readonly Remove: SchemaBoundRemove<Schema.Struct.Type<Fields>>;"
        ],
        "typeParameters": [],
        "sourceSpans": [
          {
            "file": "packages/ui/src/Form.ts",
            "start": {
              "line": 2884,
              "column": 3
            },
            "end": {
              "line": 2884,
              "column": 66
            }
          }
        ],
        "static": false,
        "readonly": true,
        "optional": false
      },
      {
        "family": "property",
        "syntaxKind": "PropertySignature",
        "signatures": [
          "readonly Reset: SchemaBoundReset;"
        ],
        "typeParameters": [],
        "sourceSpans": [
          {
            "file": "packages/ui/src/Form.ts",
            "start": {
              "line": 2876,
              "column": 3
            },
            "end": {
              "line": 2876,
              "column": 36
            }
          }
        ],
        "static": false,
        "readonly": true,
        "optional": false
      },
      {
        "family": "property",
        "syntaxKind": "PropertySignature",
        "signatures": [
          "readonly Root: SchemaBoundRoot<Schema.Struct.Type<Fields>>;"
        ],
        "typeParameters": [],
        "sourceSpans": [
          {
            "file": "packages/ui/src/Form.ts",
            "start": {
              "line": 2796,
              "column": 3
            },
            "end": {
              "line": 2796,
              "column": 62
            }
          }
        ],
        "static": false,
        "readonly": true,
        "optional": false
      },
      {
        "family": "property",
        "syntaxKind": "PropertySignature",
        "signatures": [
          "readonly SearchInput: SchemaBoundInput<Fields, string>;"
        ],
        "typeParameters": [],
        "sourceSpans": [
          {
            "file": "packages/ui/src/Form.ts",
            "start": {
              "line": 2804,
              "column": 3
            },
            "end": {
              "line": 2804,
              "column": 58
            }
          }
        ],
        "static": false,
        "readonly": true,
        "optional": false
      },
      {
        "family": "property",
        "syntaxKind": "PropertySignature",
        "signatures": [
          "readonly Select: SchemaBoundSelect<Schema.Struct.Type<Fields>>;"
        ],
        "typeParameters": [],
        "sourceSpans": [
          {
            "file": "packages/ui/src/Form.ts",
            "start": {
              "line": 2868,
              "column": 3
            },
            "end": {
              "line": 2868,
              "column": 66
            }
          }
        ],
        "static": false,
        "readonly": true,
        "optional": false
      },
      {
        "family": "property",
        "syntaxKind": "PropertySignature",
        "signatures": [
          "readonly Submit: typeof Submit;"
        ],
        "typeParameters": [],
        "sourceSpans": [
          {
            "file": "packages/ui/src/Form.ts",
            "start": {
              "line": 2896,
              "column": 3
            },
            "end": {
              "line": 2896,
              "column": 34
            }
          }
        ],
        "static": false,
        "readonly": true,
        "optional": false
      },
      {
        "family": "property",
        "syntaxKind": "PropertySignature",
        "signatures": [
          "readonly TelInput: SchemaBoundInput<Fields, string>;"
        ],
        "typeParameters": [],
        "sourceSpans": [
          {
            "file": "packages/ui/src/Form.ts",
            "start": {
              "line": 2816,
              "column": 3
            },
            "end": {
              "line": 2816,
              "column": 55
            }
          }
        ],
        "static": false,
        "readonly": true,
        "optional": false
      },
      {
        "family": "property",
        "syntaxKind": "PropertySignature",
        "signatures": [
          "readonly TextInput: SchemaBoundInput<Fields, string>;"
        ],
        "typeParameters": [],
        "sourceSpans": [
          {
            "file": "packages/ui/src/Form.ts",
            "start": {
              "line": 2800,
              "column": 3
            },
            "end": {
              "line": 2800,
              "column": 56
            }
          }
        ],
        "static": false,
        "readonly": true,
        "optional": false
      },
      {
        "family": "property",
        "syntaxKind": "PropertySignature",
        "signatures": [
          "readonly TimeInput: SchemaBoundInput<Fields, string>;"
        ],
        "typeParameters": [],
        "sourceSpans": [
          {
            "file": "packages/ui/src/Form.ts",
            "start": {
              "line": 2832,
              "column": 3
            },
            "end": {
              "line": 2832,
              "column": 56
            }
          }
        ],
        "static": false,
        "readonly": true,
        "optional": false
      },
      {
        "family": "property",
        "syntaxKind": "PropertySignature",
        "signatures": [
          "readonly UrlInput: SchemaBoundInput<Fields, string>;"
        ],
        "typeParameters": [],
        "sourceSpans": [
          {
            "file": "packages/ui/src/Form.ts",
            "start": {
              "line": 2812,
              "column": 3
            },
            "end": {
              "line": 2812,
              "column": 55
            }
          }
        ],
        "static": false,
        "readonly": true,
        "optional": false
      },
      {
        "family": "property",
        "syntaxKind": "PropertySignature",
        "signatures": [
          "readonly WeekInput: SchemaBoundInput<Fields, string>;"
        ],
        "typeParameters": [],
        "sourceSpans": [
          {
            "file": "packages/ui/src/Form.ts",
            "start": {
              "line": 2844,
              "column": 3
            },
            "end": {
              "line": 2844,
              "column": 56
            }
          }
        ],
        "static": false,
        "readonly": true,
        "optional": false
      },
      {
        "family": "property",
        "syntaxKind": "PropertySignature",
        "signatures": [
          "readonly codec: Schema.Struct<Fields>;"
        ],
        "typeParameters": [],
        "sourceSpans": [
          {
            "file": "packages/ui/src/Form.ts",
            "start": {
              "line": 2785,
              "column": 3
            },
            "end": {
              "line": 2785,
              "column": 41
            }
          }
        ],
        "static": false,
        "readonly": true,
        "optional": false
      },
      {
        "family": "property",
        "syntaxKind": "PropertySignature",
        "signatures": [
          "readonly state: (values: Schema.Struct.Type<Fields>, options?: SchemaBoundStateOptions<Schema.Struct.Type<Fields>>) => Effect.Effect<FormState<Schema.Struct.Type<Fields>>, Schema.SchemaError, Scope.Scope>;"
        ],
        "typeParameters": [],
        "sourceSpans": [
          {
            "file": "packages/ui/src/Form.ts",
            "start": {
              "line": 2789,
              "column": 3
            },
            "end": {
              "line": 2792,
              "column": 94
            }
          }
        ],
        "static": false,
        "readonly": true,
        "optional": false
      }
    ],
    "signatures": [
      "export interface SchemaBoundForm<Fields extends FormFields> {\n    readonly codec: Schema.Struct<Fields>;\n    readonly state: (values: Schema.Struct.Type<Fields>, options?: SchemaBoundStateOptions<Schema.Struct.Type<Fields>>) => Effect.Effect<FormState<Schema.Struct.Type<Fields>>, Schema.SchemaError, Scope.Scope>;\n    readonly Root: SchemaBoundRoot<Schema.Struct.Type<Fields>>;\n    readonly TextInput: SchemaBoundInput<Fields, string>;\n    readonly SearchInput: SchemaBoundInput<Fields, string>;\n    readonly EmailInput: SchemaBoundInput<Fields, string>;\n    readonly UrlInput: SchemaBoundInput<Fields, string>;\n    readonly TelInput: SchemaBoundInput<Fields, string>;\n    readonly PasswordInput: SchemaBoundInput<Fields, string>;\n    readonly HiddenInput: SchemaBoundInput<Fields, string>;\n    readonly ColorInput: SchemaBoundInput<Fields, string>;\n    readonly TimeInput: SchemaBoundInput<Fields, string>;\n    readonly DateTimeLocalInput: SchemaBoundInput<Fields, string>;\n    readonly MonthInput: SchemaBoundInput<Fields, string>;\n    readonly WeekInput: SchemaBoundInput<Fields, string>;\n    readonly NumberInput: SchemaBoundInput<Fields, number>;\n    readonly RangeInput: SchemaBoundInput<Fields, number>;\n    readonly DateInput: SchemaBoundInput<Fields, Date>;\n    readonly MaskedInput: SchemaBoundMaskedInput<Fields>;\n    readonly Checkbox: SchemaBoundCheckbox<Schema.Struct.Type<Fields>>;\n    readonly Select: SchemaBoundSelect<Schema.Struct.Type<Fields>>;\n    readonly Error: SchemaBoundError<Schema.Struct.Type<Fields>>;\n    readonly Reset: SchemaBoundReset;\n    readonly Push: SchemaBoundPush<Schema.Struct.Type<Fields>>;\n    readonly Remove: SchemaBoundRemove<Schema.Struct.Type<Fields>>;\n    readonly Label: typeof Label;\n    readonly Description: typeof Description;\n    readonly Submit: typeof Submit;\n    readonly Group: typeof Group;\n}"
    ],
    "typeParameters": [
      "Fields extends FormFields"
    ],
    "summary": "Schema-specialized form API returned by `make`.",
    "sections": {
      "Property: Checkbox": "Bound native checkbox limited to boolean fields.",
      "Property: ColorInput": "Bound native color input for string-encoded string fields.",
      "Property: DateInput": "Bound native date input for Date fields encoded as strings.",
      "Property: DateTimeLocalInput": "Bound native local date-time input for string-encoded string fields.",
      "Property: Description": "Neutral description host for caller-linked explanatory content.",
      "Property: EmailInput": "Bound native email input for string-encoded string fields.",
      "Property: Error": "Bound ARIA alert for a field's current validation message.",
      "Property: Group": "Accessible group host for related controls.",
      "Property: HiddenInput": "Bound native hidden input for string-encoded string fields.",
      "Property: Label": "Native label component; callers provide the target control ID.",
      "Property: MaskedInput": "Bound text input using the selected field's own string codec.",
      "Property: MonthInput": "Bound native month input for string-encoded string fields.",
      "Property: NumberInput": "Bound native number input for finite-number fields encoded as strings.",
      "Property: PasswordInput": "Bound native password input for string-encoded string fields.",
      "Property: Push": "Bound button that appends to an array field.",
      "Property: RangeInput": "Bound native range input for finite-number fields encoded as strings.",
      "Property: Remove": "Bound button that removes an item from an array field.",
      "Property: Reset": "Bound reset button that restores the current form's defaults.",
      "Property: Root": "Native form root that provides the current state to bound descendants.",
      "Property: SearchInput": "Bound native search input for string-encoded string fields.",
      "Property: Select": "Bound native select limited to string fields.",
      "Property: Submit": "Native submit button.",
      "Property: TelInput": "Bound native telephone input for string-encoded string fields.",
      "Property: TextInput": "Bound native text input for string-encoded string fields.",
      "Property: TimeInput": "Bound native time input for string-encoded string fields.",
      "Property: UrlInput": "Bound native URL input for string-encoded string fields.",
      "Property: WeekInput": "Bound native week input for string-encoded string fields.",
      "Property: codec": "Struct codec shared by state construction and every bound field.",
      "Property: state": "Creates a Scope-owned hydrated state from decoded initial values."
    },
    "examples": [],
    "sourceSpans": [
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2781,
          "column": 1
        },
        "end": {
          "line": 2901,
          "column": 2
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2864,
          "column": 3
        },
        "end": {
          "line": 2864,
          "column": 70
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2828,
          "column": 3
        },
        "end": {
          "line": 2828,
          "column": 57
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2856,
          "column": 3
        },
        "end": {
          "line": 2856,
          "column": 54
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2836,
          "column": 3
        },
        "end": {
          "line": 2836,
          "column": 65
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2892,
          "column": 3
        },
        "end": {
          "line": 2892,
          "column": 44
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2808,
          "column": 3
        },
        "end": {
          "line": 2808,
          "column": 57
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2872,
          "column": 3
        },
        "end": {
          "line": 2872,
          "column": 64
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2900,
          "column": 3
        },
        "end": {
          "line": 2900,
          "column": 32
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2824,
          "column": 3
        },
        "end": {
          "line": 2824,
          "column": 58
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2888,
          "column": 3
        },
        "end": {
          "line": 2888,
          "column": 32
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2860,
          "column": 3
        },
        "end": {
          "line": 2860,
          "column": 56
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2840,
          "column": 3
        },
        "end": {
          "line": 2840,
          "column": 57
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2848,
          "column": 3
        },
        "end": {
          "line": 2848,
          "column": 58
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2820,
          "column": 3
        },
        "end": {
          "line": 2820,
          "column": 60
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2880,
          "column": 3
        },
        "end": {
          "line": 2880,
          "column": 62
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2852,
          "column": 3
        },
        "end": {
          "line": 2852,
          "column": 57
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2884,
          "column": 3
        },
        "end": {
          "line": 2884,
          "column": 66
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2876,
          "column": 3
        },
        "end": {
          "line": 2876,
          "column": 36
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2796,
          "column": 3
        },
        "end": {
          "line": 2796,
          "column": 62
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2804,
          "column": 3
        },
        "end": {
          "line": 2804,
          "column": 58
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2868,
          "column": 3
        },
        "end": {
          "line": 2868,
          "column": 66
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2896,
          "column": 3
        },
        "end": {
          "line": 2896,
          "column": 34
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2816,
          "column": 3
        },
        "end": {
          "line": 2816,
          "column": 55
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2800,
          "column": 3
        },
        "end": {
          "line": 2800,
          "column": 56
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2832,
          "column": 3
        },
        "end": {
          "line": 2832,
          "column": 56
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2812,
          "column": 3
        },
        "end": {
          "line": 2812,
          "column": 55
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2844,
          "column": 3
        },
        "end": {
          "line": 2844,
          "column": 56
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2785,
          "column": 3
        },
        "end": {
          "line": 2785,
          "column": 41
        }
      },
      {
        "file": "packages/ui/src/Form.ts",
        "start": {
          "line": 2789,
          "column": 3
        },
        "end": {
          "line": 2792,
          "column": 94
        }
      }
    ],
    "since": "1.0.0",
    "category": "Schema-bound components"
  }
}
