@@ -32,6 +32,10 @@ var _DayCellJs = require('./DayCell.js');
3232
3333var _DayCellJs2 = _interopRequireDefault ( _DayCellJs ) ;
3434
35+ var _LangDicJs = require ( './LangDic.js' ) ;
36+
37+ var _LangDicJs2 = _interopRequireDefault ( _LangDicJs ) ;
38+
3539var _stylesJs = require ( './styles.js' ) ;
3640
3741var _stylesJs2 = _interopRequireDefault ( _stylesJs ) ;
@@ -69,11 +73,12 @@ var Calendar = (function (_Component) {
6973 var theme = props . theme ;
7074 var offset = props . offset ;
7175 var firstDayOfWeek = props . firstDayOfWeek ;
76+ var shownDate = props . shownDate ;
7277
7378 var date = ( 0 , _utilsParseInputJs2 [ 'default' ] ) ( props . date , format , 'startOf' ) ;
7479 var state = {
7580 date : date ,
76- shownDate : ( range && range [ 'endDate' ] || date ) . clone ( ) . add ( offset , 'months' ) ,
81+ shownDate : ( shownDate || range && range [ 'endDate' ] || date ) . clone ( ) . add ( offset , 'months' ) ,
7782 firstDayOfWeek : firstDayOfWeek || _moment2 [ 'default' ] . localeData ( ) . firstDayOfWeek ( )
7883 } ;
7984
@@ -149,19 +154,24 @@ var Calendar = (function (_Component) {
149154 var month = _moment2 [ 'default' ] . months ( shownDate . month ( ) ) ;
150155 var year = shownDate . year ( ) ;
151156 var styles = this . styles ;
152- var onlyClasses = this . props . onlyClasses ;
157+ var _props4 = this . props ;
158+ var onlyClasses = _props4 . onlyClasses ;
159+ var lang = _props4 . lang ;
160+ var showMonthArrow = _props4 . showMonthArrow ;
161+
162+ month = lang ? _LangDicJs2 [ 'default' ] [ lang ] [ month . toLowerCase ( ) ] : month ;
153163
154164 return _react2 [ 'default' ] . createElement (
155165 'div' ,
156166 { style : onlyClasses ? undefined : styles [ 'MonthAndYear' ] , className : classes . monthAndYearWrapper } ,
157- _react2 [ 'default' ] . createElement (
167+ showMonthArrow ? _react2 [ 'default' ] . createElement (
158168 'button' ,
159169 {
160170 style : onlyClasses ? undefined : _extends ( { } , styles [ 'MonthButton' ] , { float : 'left' } ) ,
161171 className : classes . prevButton ,
162172 onClick : this . changeMonth . bind ( this , - 1 ) } ,
163173 _react2 [ 'default' ] . createElement ( 'i' , { style : onlyClasses ? undefined : _extends ( { } , styles [ 'MonthArrow' ] , styles [ 'MonthArrowPrev' ] ) } )
164- ) ,
174+ ) : null ,
165175 _react2 [ 'default' ] . createElement (
166176 'span' ,
167177 null ,
@@ -181,14 +191,14 @@ var Calendar = (function (_Component) {
181191 year
182192 )
183193 ) ,
184- _react2 [ 'default' ] . createElement (
194+ showMonthArrow ? _react2 [ 'default' ] . createElement (
185195 'button' ,
186196 {
187197 style : onlyClasses ? undefined : _extends ( { } , styles [ 'MonthButton' ] , { float : 'right' } ) ,
188198 className : classes . nextButton ,
189199 onClick : this . changeMonth . bind ( this , + 1 ) } ,
190200 _react2 [ 'default' ] . createElement ( 'i' , { style : onlyClasses ? undefined : _extends ( { } , styles [ 'MonthArrow' ] , styles [ 'MonthArrowNext' ] ) } )
191- )
201+ ) : null
192202 ) ;
193203 }
194204 } , {
@@ -197,11 +207,13 @@ var Calendar = (function (_Component) {
197207 var dow = this . state . firstDayOfWeek ;
198208 var weekdays = [ ] ;
199209 var styles = this . styles ;
200- var onlyClasses = this . props . onlyClasses ;
210+ var _props5 = this . props ;
211+ var onlyClasses = _props5 . onlyClasses ;
212+ var lang = _props5 . lang ;
201213
202214 for ( var i = dow ; i < 7 + dow ; i ++ ) {
203215 var day = _moment2 [ 'default' ] . weekdaysMin ( i ) ;
204-
216+ day = lang ? _LangDicJs2 [ 'default' ] [ lang ] [ day . toLowerCase ( ) ] : day ;
205217 weekdays . push ( _react2 [ 'default' ] . createElement (
206218 'span' ,
207219 { style : onlyClasses ? undefined : styles [ 'Weekday' ] , className : classes . weekDay , key : day } ,
@@ -218,12 +230,13 @@ var Calendar = (function (_Component) {
218230
219231 // TODO: Split this logic into smaller chunks
220232 var styles = this . styles ;
221- var _props4 = this . props ;
222- var range = _props4 . range ;
223- var minDate = _props4 . minDate ;
224- var maxDate = _props4 . maxDate ;
225- var format = _props4 . format ;
226- var onlyClasses = _props4 . onlyClasses ;
233+ var _props6 = this . props ;
234+ var range = _props6 . range ;
235+ var minDate = _props6 . minDate ;
236+ var maxDate = _props6 . maxDate ;
237+ var format = _props6 . format ;
238+ var onlyClasses = _props6 . onlyClasses ;
239+ var disableDaysBeforeToday = _props6 . disableDaysBeforeToday ;
227240
228241 var shownDate = this . getShownDate ( ) ;
229242 var _state = this . state ;
@@ -255,7 +268,13 @@ var Calendar = (function (_Component) {
255268 // Current month's days
256269 for ( var i = 1 ; i <= dayCount ; i ++ ) {
257270 var dayMoment = shownDate . clone ( ) . date ( i ) ;
258- days . push ( { dayMoment : dayMoment } ) ;
271+ // set days before today to isPassive
272+ var _today = ( 0 , _moment2 [ 'default' ] ) ( ) ;
273+ if ( disableDaysBeforeToday && Number ( dayMoment . diff ( _today , "days" ) ) <= - 1 ) {
274+ days . push ( { dayMoment : dayMoment , isPassive : true } ) ;
275+ } else {
276+ days . push ( { dayMoment : dayMoment } ) ;
277+ }
259278 }
260279
261280 // Next month's days
@@ -298,9 +317,9 @@ var Calendar = (function (_Component) {
298317 key : 'render' ,
299318 value : function render ( ) {
300319 var styles = this . styles ;
301- var _props5 = this . props ;
302- var onlyClasses = _props5 . onlyClasses ;
303- var classNames = _props5 . classNames ;
320+ var _props7 = this . props ;
321+ var onlyClasses = _props7 . onlyClasses ;
322+ var classNames = _props7 . classNames ;
304323
305324 var classes = _extends ( { } , _stylesJs . defaultClasses , classNames ) ;
306325
@@ -332,11 +351,16 @@ var Calendar = (function (_Component) {
332351Calendar . defaultProps = {
333352 format : 'DD/MM/YYYY' ,
334353 theme : { } ,
354+ showMonthArrow : true ,
355+ disableDaysBeforeToday : false ,
335356 onlyClasses : false ,
336357 classNames : { }
337358} ;
338359
339360Calendar . propTypes = {
361+ showMonthArrow : _react . PropTypes . bool ,
362+ disableDaysBeforeToday : _react . PropTypes . bool ,
363+ lang : _react . PropTypes . string ,
340364 sets : _react . PropTypes . string ,
341365 range : _react . PropTypes . shape ( {
342366 startDate : _react . PropTypes . object ,
0 commit comments