date input: add onchange callback prop

This commit is contained in:
Elijah Duffy
2025-12-11 17:02:32 -08:00
parent a538db4065
commit 3409adc614

View File

@@ -24,6 +24,7 @@
invalidMessage?: string;
class?: ClassValue | undefined | null;
format?: FormatString[];
onchange?: (date: CalendarDate | null) => void;
}
let {
@@ -37,7 +38,8 @@
required = false,
invalidMessage = 'Valid date is required',
class: classValue,
format = ['year', 'month', 'day']
format = ['year', 'month', 'day'],
onchange
}: Props = $props();
const id = $derived(generateIdentifier('dateinput', name));
@@ -109,6 +111,7 @@
setPrevious();
previousYearValue = undefined;
value = null;
onchange?.(value);
}
return;
}
@@ -122,6 +125,7 @@
setPrevious();
previousMonthValue = undefined;
value = null;
onchange?.(value);
}
return;
}
@@ -135,6 +139,7 @@
setPrevious();
previousDayValue = undefined;
value = null;
onchange?.(value);
}
return;
}
@@ -146,6 +151,7 @@
day ?? (value ? value.day : min.day)
);
value = newDate;
onchange?.(value);
};
type caretPos = { start: number; end: number } | null;