From f241bfebc95801ff19e2a0eecaabc250ea3e2a01 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Sun, 2 Mar 2025 11:57:23 +0200 Subject: [PATCH] fix: types --- packages/core/src/useDateTimeField/constants.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/core/src/useDateTimeField/constants.ts b/packages/core/src/useDateTimeField/constants.ts index 7c9a67b8..daf9d729 100644 --- a/packages/core/src/useDateTimeField/constants.ts +++ b/packages/core/src/useDateTimeField/constants.ts @@ -54,16 +54,19 @@ export function isNumericByDefault(type: DateTimeSegmentType) { return map[type] ?? false; } -export function getOrderedSegmentTypes(): DateTimeSegmentType[] { +type EditableSegmentType = 'year' | 'month' | 'day' | 'hour' | 'minute' | 'second'; + +export function getOrderedSegmentTypes(): EditableSegmentType[] { return ['year', 'month', 'day', 'hour', 'minute', 'second']; } export function isEqualPart(min: ZonedDateTime, max: ZonedDateTime, part: DateTimeSegmentType) { + const editablePart = part as EditableSegmentType; const parts = getOrderedSegmentTypes(); - const idx = parts.indexOf(part); + const idx = parts.indexOf(editablePart); if (idx === -1) { return false; } - return parts.slice(0, idx).every(p => min[p] === max[p]) && min[part] === max[part]; + return parts.slice(0, idx).every(p => min[p] === max[p]) && min[editablePart] === max[editablePart]; }