DateTimeInputRenderer
DateTimeInput -- Material's date and time pickers, behind a field that shows ISO 8601.
The field itself never accepts typing. "Render using native date and time picker controls" is what the guide asks for, and the picker is where the value comes from; the read-only field is the anchor that opens it and the place the current value is legible. That also means the model only ever receives a string a picker produced, so the ISO 8601 the catalog requires is guaranteed by construction rather than by validating what someone typed.
Which pickers open is enableDate/enableTime, and both default to false. The catalog says so, which leaves a component that sets neither with nothing to pick -- so this treats "neither" as "date", because a DateTimeInput that opened no picker at all would be a dead field, and the date is the half its own name leads with. With both enabled the date is asked first and the time second, and the two are combined into one yyyy-MM-ddTHH:mm value.
The date dialog's confirm stays disabled until a day is selected. A picker opened on an empty field has nothing selected, and confirming nothing used to end the sequence there -- with both halves wanted, the time picker was never reached and the field could not be filled at all. Refusing the empty confirm is what Material's own date picker sample does, and it makes the hand-off to the time picker a certainty rather than a branch.
min and max bound both pickers. The date picker greys out the days outside them; the time picker has no such API in Material, so its confirm is disabled while the clock reads a time outside them -- on the day the bound names for a date-time, on every day for a bare time (see Iso8601.timeWithin). They are read as ISO 8601 like everything else here, and one that will not parse is ignored rather than treated as an empty range that would refuse every value.
A field whose value is not a data binding does not open a picker: it has nowhere to write, and an input that collected an answer and dropped it is TextFieldRenderer's broken renderer again.