@@ -33,6 +33,7 @@ const getMonthsByNumber = (numberOfMonths: number): Array<DateRange> => {
33
33
const meta : Meta < typeof DateRangePicker > = {
34
34
component : DateRangePicker ,
35
35
args : {
36
+ maxRangeLength : undefined ,
36
37
onSelectDateRange : ( startDate : Date , endDate : Date ) => {
37
38
console . log ( "Date range selected: " , startDate , endDate ) ;
38
39
} ,
@@ -47,6 +48,9 @@ const meta: Meta<typeof DateRangePicker> = {
47
48
futureDatesDisabled : {
48
49
control : "boolean" ,
49
50
} ,
51
+ maxRangeLength : {
52
+ control : "number" ,
53
+ } ,
50
54
placeholder : {
51
55
control : "text" ,
52
56
} ,
@@ -69,13 +73,15 @@ export const Default: Story = {
69
73
render : ( args : Args ) => {
70
74
const endDate = args . endDate ? new Date ( args . endDate ) : undefined ;
71
75
const startDate = args . startDate ? new Date ( args . startDate ) : undefined ;
76
+ const maxRangeLength = args . maxRangeLength ;
72
77
73
78
return (
74
79
< DateRangePicker
75
80
key = "default"
76
81
endDate = { endDate }
77
82
disabled = { args . disabled }
78
83
futureDatesDisabled = { args . futureDatesDisabled }
84
+ maxRangeLength = { maxRangeLength }
79
85
onSelectDateRange = { args . onSelectDateRange }
80
86
placeholder = { args . placeholder }
81
87
startDate = { startDate }
@@ -84,10 +90,18 @@ export const Default: Story = {
84
90
} ,
85
91
} ;
86
92
93
+ export const DateRangeWithMaxRange : Story = {
94
+ args : {
95
+ maxRangeLength : 15 ,
96
+ predefinedDatesList : [ ] ,
97
+ } ,
98
+ } ;
99
+
87
100
export const PredefinedDatesLastSixMonths : Story = {
88
101
render : ( args : Args ) => {
89
102
const endDate = args . endDate ? new Date ( args . endDate ) : undefined ;
90
103
const startDate = args . startDate ? new Date ( args . startDate ) : undefined ;
104
+ const maxRangeLength = args . maxRangeLength ;
91
105
const predefinedDatesList = getMonthsByNumber ( - 6 ) ;
92
106
93
107
return (
@@ -96,6 +110,7 @@ export const PredefinedDatesLastSixMonths: Story = {
96
110
endDate = { endDate }
97
111
disabled = { args . disabled }
98
112
futureDatesDisabled = { args . futureDatesDisabled }
113
+ maxRangeLength = { maxRangeLength }
99
114
onSelectDateRange = { args . onSelectDateRange }
100
115
placeholder = { args . placeholder }
101
116
predefinedDatesList = { predefinedDatesList }
@@ -109,6 +124,7 @@ export const PredefinedDatesNextSixMonths: Story = {
109
124
render : ( args : Args ) => {
110
125
const endDate = args . endDate ? new Date ( args . endDate ) : undefined ;
111
126
const startDate = args . startDate ? new Date ( args . startDate ) : undefined ;
127
+ const maxRangeLength = args . maxRangeLength ;
112
128
const predefinedDatesList = getMonthsByNumber ( 6 ) ;
113
129
114
130
return (
@@ -117,6 +133,7 @@ export const PredefinedDatesNextSixMonths: Story = {
117
133
endDate = { endDate }
118
134
disabled = { args . disabled }
119
135
futureDatesDisabled = { args . futureDatesDisabled }
136
+ maxRangeLength = { maxRangeLength }
120
137
onSelectDateRange = { args . onSelectDateRange }
121
138
placeholder = { args . placeholder }
122
139
predefinedDatesList = { predefinedDatesList }
@@ -130,6 +147,7 @@ export const PredefinedDatesArbitraryDates: Story = {
130
147
render : ( args : Args ) => {
131
148
const endDate = args . endDate ? new Date ( args . endDate ) : undefined ;
132
149
const startDate = args . startDate ? new Date ( args . startDate ) : undefined ;
150
+ const maxRangeLength = args . maxRangeLength ;
133
151
const predefinedDatesList = [
134
152
{ startDate : new Date ( "04/14/2025" ) , endDate : new Date ( "05/14/2025" ) } ,
135
153
{ startDate : new Date ( "05/14/2025" ) , endDate : new Date ( "06/14/2025" ) } ,
@@ -142,6 +160,7 @@ export const PredefinedDatesArbitraryDates: Story = {
142
160
endDate = { endDate }
143
161
disabled = { args . disabled }
144
162
futureDatesDisabled = { args . futureDatesDisabled }
163
+ maxRangeLength = { maxRangeLength }
145
164
onSelectDateRange = { args . onSelectDateRange }
146
165
placeholder = { args . placeholder }
147
166
predefinedDatesList = { predefinedDatesList }
@@ -155,6 +174,7 @@ export const PredefinedDatesScrollable: Story = {
155
174
render : ( args : Args ) => {
156
175
const endDate = args . endDate ? new Date ( args . endDate ) : undefined ;
157
176
const startDate = args . startDate ? new Date ( args . startDate ) : undefined ;
177
+ const maxRangeLength = args . maxRangeLength ;
158
178
const predefinedDatesList = [
159
179
{ startDate : new Date ( "09/14/2024" ) , endDate : new Date ( "10/14/2024" ) } ,
160
180
{ startDate : new Date ( "10/14/2024" ) , endDate : new Date ( "11/14/2024" ) } ,
@@ -174,6 +194,7 @@ export const PredefinedDatesScrollable: Story = {
174
194
endDate = { endDate }
175
195
disabled = { args . disabled }
176
196
futureDatesDisabled = { args . futureDatesDisabled }
197
+ maxRangeLength = { maxRangeLength }
177
198
onSelectDateRange = { args . onSelectDateRange }
178
199
placeholder = { args . placeholder }
179
200
predefinedDatesList = { predefinedDatesList }
0 commit comments