77 getStartAtIndex ,
88 getTotalMonths ,
99} from './dateUtils'
10- import { DEFAULT_START_YEAR , DEFAULT_END_YEAR } from './constants '
10+ import { defaultStartYear , defaultEndYear } from './dateUtils '
1111
1212export type RenderProps = {
1313 index : number
@@ -37,7 +37,7 @@ export function getMinIndex(startYear?: number, endYear?: number): number {
3737 const dynamicStartAtIndex = getStartAtIndex ( startYear , endYear )
3838 const minIndex = dynamicStartAtIndex + months
3939 const totalMonths = getTotalMonths ( startYear , endYear )
40-
40+
4141 // Allow any valid index within the dynamic range, no hard minimum
4242 return Math . max ( 0 , Math . min ( minIndex , totalMonths - 1 ) )
4343}
@@ -46,14 +46,14 @@ export function getMinIndex(startYear?: number, endYear?: number): number {
4646export function getMaxIndex ( startYear ?: number , endYear ?: number ) : number {
4747 const dynamicStartAtIndex = getStartAtIndex ( startYear , endYear )
4848 const totalMonths = getTotalMonths ( startYear , endYear )
49-
49+
5050 if ( ! endYear ) return totalMonths - 1
5151
5252 const today = new Date ( )
5353 const endDate = new Date ( endYear , 11 , 31 ) // December 31st of endYear
5454 const months = differenceInMonths ( today , endDate )
5555 const maxIndex = dynamicStartAtIndex + months
56-
56+
5757 // Allow any valid index within the dynamic range
5858 return Math . max ( 0 , Math . min ( maxIndex , totalMonths - 1 ) )
5959}
@@ -64,8 +64,8 @@ export function isIndexWithinRange(
6464 startYear ?: number ,
6565 endYear ?: number
6666) : boolean {
67- const minIndex = getMinIndex ( startYear || DEFAULT_START_YEAR , endYear )
68- const maxIndex = getMaxIndex ( startYear , endYear || DEFAULT_END_YEAR )
67+ const minIndex = getMinIndex ( startYear || defaultStartYear , endYear )
68+ const maxIndex = getMaxIndex ( startYear , endYear || defaultEndYear )
6969 return index >= minIndex && index <= maxIndex
7070}
7171
0 commit comments