KeyValueComponent class final

A keyvalue field: a free-form set of string key/value pairs.

The value is a Map<String, String> on the wire. addable/deletable gate the Add/Remove affordances; editableKeys/editableValues gate whether the key and value inputs themselves accept edits — four independent gates, all defaulting to true to match Filament\Forms\Components\KeyValue's own vendor defaults (measured there, not guessed).

Reordering is deliberately not on the wire (design spec): the repeater publishes reorderable and this package's widget has never offered one, and two array-valued fields must not disagree about that for no stated reason.

Inheritance

Properties

addable bool
Whether the Add-a-pair affordance is offered at all. false means absent, not disabled — see KeyValueFieldWidget.
final
columnSpan int
Out of 12, matching Filament. A phone renderer treats anything >= 6 as full width; the value is carried so a tablet renderer can use it later.
finalinherited
deletable bool
Whether each row's Remove affordance is offered at all.
final
direction ComponentDirection?
Optional field/entry override. Null inherits the nearest panel-level Directionality, so old servers and undeclared fields behave unchanged.
finalinherited
disabled bool
finalinherited
editableKeys bool
Whether a row's key input accepts edits. false means the cell renders as plain text — the input affordance is absent, not disabled — see KeyValueFieldWidget. The value itself always shows; only the control that would let a user change it goes away.
final
editableValues bool
Whether a row's value input accepts edits. Same "absent input affordance" treatment as editableKeys.
final
hashCode int
The hash code for this object.
no setterinherited
helperText String?
finalinherited
hidden bool
finalinherited
keyLabel String?
final
keyPlaceholder String?
final
label String?
finalinherited
live bool
When true, a change to this field triggers a /state round-trip so the server can re-evaluate the schema.
finalinherited
name String?
Field key. Null for layout containers, which hold no value.
finalinherited
props List<Object?>
Equality is (type, name, writable) — meaningful only within a single container. name is a field key that's unique within one form or infolist, not globally, so two components from different resources, or from a form vs its infolist, can compare equal here while differing in every other property. Do not put components from different containers into the same Set or diff them against each other on this equality. writable is included: a /state round-trip can flip it on a field whose type and name are otherwise unchanged, and a rebuild that depends on that difference needs the equality to see it. translatable is included for the same reason writable is: it is what decides whether this leaf renders inside a locale-chip group at all. direction can also be closure-backed and flip on /state, so it must participate too or a widget diff may retain the old override.
no setterinherited
rules ValidationRules
Client-side validation hints. A base-node property in the contract (§5.3), so every consumer can ask "is this required?" without switching over the sealed hierarchy. Containers and entries simply carry ValidationRules.none.
finalinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
stringify bool?
If set to true, the toString method will be overridden to output this instance's props.
no setterinherited
translatable bool
True only on a dotted leaf (caption.ar) whose head attribute (caption) is translatable on the model — the writable/placeholder precedent: published only when true, absent everywhere else, including the undotted scalar sibling. The form screen groups every leaf sharing a head-of-name into one field slot with locale chips instead of one stacked field per locale; see ResourceFormScreen's node walk.
finalinherited
type String
The raw contract discriminator, kept so an UnknownComponent can name itself and so debug output matches the JSON.
finalinherited
valueLabel String?
final
valuePlaceholder String?
final
writable bool
False only when the server marks a field it cannot persist — distinct from disabled, which is a UI decision the user may be able to change elsewhere. Absent in the contract means true: most fields are writable, and the key exists to name the exception, not the rule.
finalinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited