date input: use distinct 'null' value state if unset by user

This commit is contained in:
Elijah Duffy
2025-12-11 16:02:09 -08:00
parent 9d0f10f0fd
commit a538db4065

View File

@@ -16,7 +16,7 @@
interface Props { interface Props {
name?: string; name?: string;
value?: CalendarDate; value?: CalendarDate | null;
min?: CalendarDate; min?: CalendarDate;
// max?: CalendarDate; // TODO: Implement validation. // max?: CalendarDate; // TODO: Implement validation.
label?: string; label?: string;
@@ -28,7 +28,7 @@
let { let {
name, name,
value = $bindable<CalendarDate | undefined>(), value = $bindable<CalendarDate | null>(null),
/** min specifies lower bounds for the date input (WARNING: NOT IMPLEMENTED) */ /** min specifies lower bounds for the date input (WARNING: NOT IMPLEMENTED) */
min = new CalendarDate(1900, 0, 1), min = new CalendarDate(1900, 0, 1),
/** max specifies upper bounds for the date input (WARNING: NOT IMPLEMENTED) */ /** max specifies upper bounds for the date input (WARNING: NOT IMPLEMENTED) */
@@ -108,7 +108,7 @@
if (value) { if (value) {
setPrevious(); setPrevious();
previousYearValue = undefined; previousYearValue = undefined;
value = undefined; value = null;
} }
return; return;
} }
@@ -121,7 +121,7 @@
if (value) { if (value) {
setPrevious(); setPrevious();
previousMonthValue = undefined; previousMonthValue = undefined;
value = undefined; value = null;
} }
return; return;
} }
@@ -134,7 +134,7 @@
if (value) { if (value) {
setPrevious(); setPrevious();
previousDayValue = undefined; previousDayValue = undefined;
value = undefined; value = null;
} }
return; return;
} }