DateComponent class final

date / datetime / time. One class, because the three differ only in which parts of a moment they carry.

The step keys are advisory and nothing here acts on them. A datetime/time node publishes hoursStep/minutesStep/secondsStep only when the panel configured a value > 1 — the contract states what the field was configured with, for a host rendering its own picker (the repeater reorderable precedent). This client parses them so a host reading the same document sees one model, but the stock Material pickers have no step grid (they derive their behaviour from the device locale, like first-day-of-week), and the server does not enforce steps either — silently snapping or rejecting a picked time would make mobile stricter than the web panel it mirrors. Nothing reading this contract should infer server-side enforcement from these keys.

Inheritance

Properties

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
defaultValue String?
Kept as the raw ISO string — the renderer owns formatting.
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
hashCode int
The hash code for this object.
no setterinherited
helperText String?
finalinherited
hidden bool
finalinherited
hoursStep int
The panel's picker steps, 1 when unpublished. Advisory only — see the class doc for why the widgets deliberately ignore them.
final
kind DateKind
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
maxDate DateTime?
final
minDate DateTime?
For DateKind.time these are times of day on the canonical day timeOfDay anchors to, not calendar instants.
final
minutesStep int
final
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
seconds bool
Whether the picker offers seconds. Also decides the wire format of a time value — HH:mm:ss against HH:mm, matching TimePicker's own H:i:s/H:i.
final
secondsStep int
final
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
unreadableBounds Set<String>
Config keys (minDate / maxDate) the server sent and this build could not read. Empty in the normal case, including when the panel declared no bound at all — that is not a violation, and conflating the two is how a deleted bound stays invisible.
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

Static Methods

parseTime(String raw) DateTime?
Reads a clock time — a time node's bound, and its stored value.
timeOfDay(int hour, int minute, int second) DateTime
A time carries no date — the panel never chose one — so every time value is anchored to the same arbitrary UTC day and only its hour, minute and second mean anything.