Accessibility
DateTimeInput is one named group. label names it. Segment names come from segmentLabels. The calendar button uses calendarLabel. The popover uses popoverTitle, which is not painted.
Without confirm, the popover holds a calendar beside a time list; the list uses timeListLabel. With confirm, a time field under the calendar uses the same segment names; Reset, Clear and Apply use resetLabel, clearLabel when set, and applyLabel. Apply is the only primary action; Reset and Clear are secondary, not destructive.
DateRangeInput is a different group. label names the field; rangeLabels name the start and end date fields on the trigger in Between. With type DateRangeInputType.DateTime, clocks are not on the trigger: separate From and To time fields under the calendar use timeSegmentLabels and timeFieldLabels in Between, and one time field for Before and After. Before, After and Between require confirm, clearLabel, and the same Reset, Clear and Apply labels as other confirm pickers.
Confirm footer. Calendar and time edits only change a draft until Apply commits. Reset restores the value held when the popover opened and stays open. Clear empties the draft and stays open. Escape and an outside press close without committing.