@seafile/seafile-calendar 1.0.29 → 1.0.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/assets/index.css CHANGED
@@ -299,52 +299,44 @@
299
299
  border: 1px solid var(--rc-calendar-popover-border-color, #eee);
300
300
  line-height: 1.5;
301
301
  overflow: hidden;
302
+ width: -moz-fit-content;
303
+ width: fit-content;
302
304
  /* Layout wrappers */
303
- /* Top inputs row */
304
305
  /* Date grid area */
305
306
  /* Right time panel */
306
307
  /* Footer */
307
308
  }
308
309
  .rc-calendar-with-time-panel {
309
- width: 367px;
310
+ width: 404px;
310
311
  }
311
312
  .rc-calendar-panel {
312
313
  display: -ms-flexbox;
313
314
  display: flex;
314
- -ms-flex-direction: column;
315
- flex-direction: column;
316
- }
317
- .rc-calendar-date-panel-container {
318
- display: -ms-flexbox;
319
- display: flex;
315
+ -ms-flex-align: stretch;
316
+ align-items: stretch;
320
317
  }
321
318
  .rc-calendar-date-panel {
322
319
  display: block;
323
- width: 276px;
320
+ -ms-flex: none;
321
+ flex: none;
322
+ width: 273px;
324
323
  }
325
- .rc-calendar-inputs {
324
+ .rc-calendar-date-input {
326
325
  display: -ms-flexbox;
327
326
  display: flex;
328
- -ms-flex-align: stretch;
329
- align-items: stretch;
330
- }
331
- .rc-calendar-date-input-col {
332
- -ms-flex: 1 1 auto;
333
- flex: 1 1 auto;
334
- }
335
- .rc-calendar-time-input-col {
336
- width: 89px;
337
- border-left: 1px solid var(--rc-calendar-divider-color, #eee);
327
+ -ms-flex-align: center;
328
+ align-items: center;
329
+ box-sizing: border-box;
330
+ padding: 12px 12px 0;
338
331
  }
339
- .rc-calendar-date-input,
340
332
  .rc-calendar-time-input {
341
333
  display: -ms-flexbox;
342
334
  display: flex;
343
335
  -ms-flex-align: center;
344
336
  align-items: center;
345
- height: 100%;
346
- padding: 12px 12px 0 12px;
347
- margin-bottom: 4px;
337
+ box-sizing: border-box;
338
+ padding: 12px;
339
+ border-bottom: 1px solid var(--rc-calendar-divider-color, #eee);
348
340
  }
349
341
  .rc-calendar-date-input input,
350
342
  .rc-calendar-time-input input {
@@ -360,6 +352,7 @@
360
352
  }
361
353
  .rc-calendar-time-input input {
362
354
  padding: 0px 12px;
355
+ width: 104px;
363
356
  }
364
357
  .rc-calendar-date-input input:focus,
365
358
  .rc-calendar-time-input input:focus {
@@ -376,6 +369,7 @@
376
369
  -ms-user-select: none;
377
370
  user-select: none;
378
371
  -webkit-user-select: none;
372
+ margin-top: 4px;
379
373
  }
380
374
  .rc-calendar-header-nav-wrap {
381
375
  position: relative;
@@ -388,7 +382,7 @@
388
382
  justify-content: center;
389
383
  }
390
384
  .rc-calendar-header > a {
391
- font-weight: 600;
385
+ font-weight: 500;
392
386
  display: inline-block;
393
387
  padding: 0 5px;
394
388
  line-height: 40px;
@@ -465,7 +459,7 @@
465
459
  left: 0;
466
460
  }
467
461
  .rc-calendar-body {
468
- padding: 0 12px;
462
+ padding: 0 12px 12px;
469
463
  height: 260px;
470
464
  }
471
465
  .rc-calendar table {
@@ -561,39 +555,48 @@
561
555
  border-radius: 50%;
562
556
  }
563
557
  .rc-calendar-right-panel {
564
- height: inherit;
565
- border-left: 1px solid var(--rc-calendar-divider-color, #eee);
566
- }
567
- .rc-calendar-right-panel-header {
568
558
  display: -ms-flexbox;
569
559
  display: flex;
570
- -ms-flex-pack: center;
571
- justify-content: center;
572
- -ms-flex-align: center;
573
- align-items: center;
574
- color: var(--rc-calendar-body-color, #212529);
575
- font-weight: 600;
560
+ -ms-flex-direction: column;
561
+ flex-direction: column;
562
+ -ms-flex: 1;
563
+ flex: 1;
564
+ min-width: 0;
565
+ height: 356px;
566
+ border-left: 1px solid var(--rc-calendar-divider-color, #eee);
576
567
  }
577
568
  .rc-calendar-right-panel-body {
578
- height: 260px;
569
+ -ms-flex: 1;
570
+ flex: 1;
571
+ min-height: 0;
579
572
  display: -ms-flexbox;
580
573
  display: flex;
581
- padding: 0 4px 16px;
582
- scrollbar-color: auto;
583
574
  }
584
575
  .rc-calendar-right-panel-col {
576
+ -ms-flex: 1;
577
+ flex: 1;
578
+ min-width: 0;
585
579
  overflow-y: auto;
580
+ overflow-x: hidden;
581
+ scrollbar-gutter: stable;
582
+ }
583
+ .rc-calendar-right-panel-col + .rc-calendar-right-panel-col {
584
+ border-left: 1px solid var(--rc-calendar-divider-color, #eee);
586
585
  }
587
586
  .rc-calendar-right-panel-col ul {
588
587
  list-style: none;
589
588
  margin: 0;
590
- padding: 4px;
589
+ padding: 4px 16px;
591
590
  }
592
591
  .rc-calendar-right-panel-item {
593
592
  width: 32px;
594
593
  height: 32px;
595
594
  padding: 4px 0;
596
595
  cursor: pointer;
596
+ margin-top: 4px;
597
+ }
598
+ .rc-calendar-right-panel-item:first-child {
599
+ margin-top: -2px;
597
600
  }
598
601
  .rc-calendar-right-panel-item-text {
599
602
  width: 100%;
@@ -615,10 +618,6 @@
615
618
  border-radius: 4px;
616
619
  color: #fff;
617
620
  }
618
- .rc-calendar-right-panel-col::-webkit-scrollbar {
619
- width: 0;
620
- height: 0;
621
- }
622
621
  .rc-calendar-right-panel-item-current {
623
622
  border: 1px solid var(--rc-calendar-sf-orange, #ff8000);
624
623
  border-radius: 4px;
@@ -626,8 +625,14 @@
626
625
  .rc-calendar-footer {
627
626
  border-top: 1px solid var(--rc-calendar-divider-color, #eee);
628
627
  padding: 8px 0;
629
- text-align: center;
630
628
  position: relative;
629
+ height: 48px;
630
+ display: -ms-flexbox;
631
+ display: flex;
632
+ -ms-flex-align: center;
633
+ align-items: center;
634
+ -ms-flex-pack: center;
635
+ justify-content: center;
631
636
  }
632
637
  .rc-calendar-footer-show-ok {
633
638
  text-align: right;
@@ -775,6 +780,7 @@
775
780
  -ms-flex-align: center;
776
781
  align-items: center;
777
782
  cursor: pointer;
783
+ font-weight: 500;
778
784
  }
779
785
  .rc-calendar-month-panel-year-select {
780
786
  color: var(--rc-calendar-body-color, #212529);
@@ -822,7 +828,7 @@
822
828
  .rc-calendar-month-panel-body {
823
829
  -ms-flex: 1;
824
830
  flex: 1;
825
- padding: 9px 10px 10px;
831
+ padding: 16px;
826
832
  }
827
833
  .rc-calendar-month-panel-footer {
828
834
  border-top: 1px solid var(--rc-calendar-divider-color, #eee);
@@ -919,6 +925,7 @@
919
925
  align-items: center;
920
926
  text-align: center;
921
927
  cursor: pointer;
928
+ font-weight: 500;
922
929
  }
923
930
  .rc-calendar-year-panel-decade-select {
924
931
  color: var(--rc-calendar-body-color, #212529);
@@ -967,7 +974,7 @@
967
974
  .rc-calendar-year-panel-body {
968
975
  -ms-flex: 1;
969
976
  flex: 1;
970
- padding: 9px 10px 10px;
977
+ padding: 16px;
971
978
  }
972
979
  .rc-calendar-year-panel-footer {
973
980
  border-top: 1px solid var(--rc-calendar-divider-color);
@@ -999,6 +1006,10 @@
999
1006
  background: var(--rc-calendar-icon-btn-hover-bg-color, rgba(0, 0, 0, 0.04));
1000
1007
  cursor: pointer;
1001
1008
  }
1009
+ .rc-calendar-year-panel-last-decade-cell .rc-calendar-year-panel-year,
1010
+ .rc-calendar-year-panel-next-decade-cell .rc-calendar-year-panel-year {
1011
+ color: var(--rc-calendar-out-range-color);
1012
+ }
1002
1013
  .rc-calendar-year-panel-selected-cell .rc-calendar-year-panel-year {
1003
1014
  background: var(--rc-calendar-sf-orange, #FF8000);
1004
1015
  color: #fff;
@@ -1050,6 +1061,7 @@
1050
1061
  -ms-flex-align: center;
1051
1062
  align-items: center;
1052
1063
  cursor: pointer;
1064
+ font-weight: 500;
1053
1065
  }
1054
1066
  .rc-calendar-decade-panel-century {
1055
1067
  color: var(--rc-calendar-body-color, #212529);
@@ -1078,7 +1090,7 @@
1078
1090
  .rc-calendar-decade-panel-body {
1079
1091
  -ms-flex: 1;
1080
1092
  flex: 1;
1081
- padding: 9px 10px 10px;
1093
+ padding: 16px;
1082
1094
  }
1083
1095
  .rc-calendar-decade-panel-footer {
1084
1096
  border-top: 1px solid var(--rc-calendar-divider-color, #eee);
package/es/Calendar.js CHANGED
@@ -164,116 +164,96 @@ var Calendar = function (_React$Component) {
164
164
  children.push(props.renderSidebar());
165
165
  }
166
166
 
167
- var showTimeControls = showHourAndMinute && mode === 'date';
167
+ var showTimeControls = showHourAndMinute && mode !== 'time';
168
168
 
169
169
  children.push(React.createElement(
170
170
  'div',
171
171
  { className: prefixCls + '-panel', key: 'panel' },
172
172
  React.createElement(
173
173
  'div',
174
- { className: prefixCls + '-inputs' },
174
+ {
175
+ tabIndex: this.props.focusablePanel ? 0 : undefined,
176
+ className: prefixCls + '-date-panel'
177
+ },
175
178
  React.createElement(
176
179
  'div',
177
- { className: prefixCls + '-date-input-col' },
178
- React.createElement(
179
- 'div',
180
- { className: prefixCls + '-date-input' },
181
- dateInputElement
182
- )
180
+ { className: prefixCls + '-date-input' },
181
+ dateInputElement
183
182
  ),
184
- showTimeControls && React.createElement(
183
+ React.createElement(CalendarHeader, {
184
+ locale: locale,
185
+ mode: mode,
186
+ value: value,
187
+ onValueChange: this.setValue,
188
+ onPanelChange: this.onPanelChange,
189
+ renderFooter: renderFooter,
190
+ showTimePicker: showTimePicker,
191
+ prefixCls: prefixCls,
192
+ showHourAndMinute: showHourAndMinute
193
+ }),
194
+ timePicker && showTimePicker ? React.createElement(
185
195
  'div',
186
- { className: prefixCls + '-time-input-col' },
196
+ { className: prefixCls + '-time-picker' },
187
197
  React.createElement(
188
198
  'div',
189
- { className: prefixCls + '-time-input' },
190
- timeInputTopElement
199
+ { className: prefixCls + '-time-picker-panel' },
200
+ timePickerEle
191
201
  )
192
- )
193
- ),
194
- React.createElement(
195
- 'div',
196
- { className: prefixCls + '-date-panel-container' },
202
+ ) : null,
197
203
  React.createElement(
198
204
  'div',
199
- {
200
- tabIndex: this.props.focusablePanel ? 0 : undefined,
201
- className: prefixCls + '-date-panel'
202
- },
203
- React.createElement(CalendarHeader, {
205
+ { className: prefixCls + '-body' },
206
+ React.createElement(DateTable, {
204
207
  locale: locale,
205
- mode: mode,
206
208
  value: value,
207
- onValueChange: this.setValue,
208
- onPanelChange: this.onPanelChange,
209
- renderFooter: renderFooter,
210
- showTimePicker: showTimePicker,
209
+ selectedValue: selectedValue,
211
210
  prefixCls: prefixCls,
212
- showHourAndMinute: showHourAndMinute
213
- }),
214
- timePicker && showTimePicker ? React.createElement(
215
- 'div',
216
- { className: prefixCls + '-time-picker' },
217
- React.createElement(
218
- 'div',
219
- { className: prefixCls + '-time-picker-panel' },
220
- timePickerEle
221
- )
222
- ) : null,
223
- React.createElement(
224
- 'div',
225
- { className: prefixCls + '-body' },
226
- React.createElement(DateTable, {
227
- locale: locale,
228
- value: value,
229
- selectedValue: selectedValue,
230
- prefixCls: prefixCls,
231
- dateRender: props.dateRender,
232
- onSelect: this.onDateTableSelect,
233
- disabledDate: disabledDate,
234
- showWeekNumber: showWeekNumber,
235
- firstDayOfWeek: firstDayOfWeek,
236
- currentStatus: currentStatus
237
- })
238
- )
239
- ),
240
- showTimeControls && React.createElement(CalendarRightPanel, {
241
- prefixCls: prefixCls,
242
- value: value,
243
- selectedValue: selectedValue,
244
- locale: locale,
245
- onSelect: this.onDateTableSelect,
246
- onClickRightPanelTime: onClickRightPanelTime,
247
- defaultMinutesTime: this.props.defaultMinutesTime,
248
- format: inputFormat
249
- })
211
+ dateRender: props.dateRender,
212
+ onSelect: this.onDateTableSelect,
213
+ disabledDate: disabledDate,
214
+ showWeekNumber: showWeekNumber,
215
+ firstDayOfWeek: firstDayOfWeek,
216
+ currentStatus: currentStatus
217
+ })
218
+ )
250
219
  ),
251
- React.createElement(CalendarFooter, {
252
- showOk: props.showOk,
253
- mode: mode,
254
- renderFooter: props.renderFooter,
255
- locale: locale,
220
+ showTimeControls && React.createElement(CalendarRightPanel, {
256
221
  prefixCls: prefixCls,
257
- showToday: props.showToday,
258
- disabledTime: disabledTime,
259
- showTimePicker: showTimePicker,
260
- showDateInput: props.showDateInput,
261
- timePicker: timePicker,
262
- selectedValue: selectedValue,
263
222
  value: value,
264
- disabledDate: disabledDate,
265
- okDisabled: props.showOk !== false && (!selectedValue || !this.isAllowedDate(selectedValue)),
266
- onOk: this.onOk,
267
- onSelect: this.onSelect,
268
- onToday: this.onToday,
269
- onOpenTimePicker: this.openTimePicker,
270
- onCloseTimePicker: this.closeTimePicker
223
+ selectedValue: selectedValue,
224
+ locale: locale,
225
+ onSelect: this.onDateTableSelect,
226
+ onClickRightPanelTime: onClickRightPanelTime,
227
+ defaultMinutesTime: this.props.defaultMinutesTime,
228
+ format: inputFormat,
229
+ timeInput: timeInputTopElement
271
230
  })
272
231
  ));
232
+ children.push(React.createElement(CalendarFooter, {
233
+ showOk: props.showOk,
234
+ mode: mode,
235
+ renderFooter: props.renderFooter,
236
+ locale: locale,
237
+ prefixCls: prefixCls,
238
+ showToday: props.showToday,
239
+ disabledTime: disabledTime,
240
+ showTimePicker: showTimePicker,
241
+ showDateInput: props.showDateInput,
242
+ timePicker: timePicker,
243
+ selectedValue: selectedValue,
244
+ value: value,
245
+ disabledDate: disabledDate,
246
+ okDisabled: props.showOk !== false && (!selectedValue || !this.isAllowedDate(selectedValue)),
247
+ onOk: this.onOk,
248
+ onSelect: this.onSelect,
249
+ onToday: this.onToday,
250
+ onOpenTimePicker: this.openTimePicker,
251
+ onCloseTimePicker: this.closeTimePicker
252
+ }));
273
253
 
274
254
  return this.renderRoot({
275
255
  children: children,
276
- className: ((props.showWeekNumber ? prefixCls + '-week-number' : '') + ' ' + (showHourAndMinute ? prefixCls + '-with-time-panel' : '')).trim()
256
+ className: ((props.showWeekNumber ? prefixCls + '-week-number' : '') + ' ' + (showTimeControls ? prefixCls + '-with-time-panel' : '')).trim()
277
257
  });
278
258
  };
279
259
 
@@ -183,18 +183,13 @@ var CalendarRightPanel = function (_React$Component) {
183
183
  var selectedMinute = this.getSelectedMinute();
184
184
  var currentHour = dayjs().format('HH');
185
185
  var currentMinute = dayjs().format('mm');
186
- var displayHour = selectedHour || currentHour;
187
- var displayMinute = selectedMinute || currentMinute;
188
-
189
186
  return React.createElement(
190
187
  'div',
191
188
  { className: prefixCls + '-right-panel' },
192
189
  React.createElement(
193
190
  'div',
194
- { className: prefixCls + '-right-panel-header ' + prefixCls + '-header' },
195
- displayHour,
196
- ':',
197
- displayMinute
191
+ { className: prefixCls + '-time-input' },
192
+ this.props.timeInput
198
193
  ),
199
194
  React.createElement(
200
195
  'div',
@@ -272,6 +267,7 @@ CalendarRightPanel.propTypes = {
272
267
  onClickRightPanelTime: PropTypes.func,
273
268
  locale: PropTypes.object,
274
269
  defaultMinutesTime: PropTypes.string,
275
- format: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)])
270
+ format: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),
271
+ timeInput: PropTypes.node
276
272
  };
277
273
  export default CalendarRightPanel;
@@ -84,7 +84,7 @@ var YearPanel = function (_React$Component) {
84
84
  var tds = row.map(function (yearData) {
85
85
  var _classNameMap;
86
86
 
87
- var classNameMap = (_classNameMap = {}, _classNameMap[prefixCls + '-cell'] = 1, _classNameMap[prefixCls + '-selected-cell'] = yearData.year === currentYear, _classNameMap);
87
+ var classNameMap = (_classNameMap = {}, _classNameMap[prefixCls + '-cell'] = 1, _classNameMap[prefixCls + '-selected-cell'] = yearData.year === currentYear, _classNameMap[prefixCls + '-last-decade-cell'] = yearData.year < startYear, _classNameMap[prefixCls + '-next-decade-cell'] = yearData.year > endYear, _classNameMap);
88
88
  return React.createElement(
89
89
  'td',
90
90
  {
package/lib/Calendar.js CHANGED
@@ -228,116 +228,96 @@ var Calendar = function (_React$Component) {
228
228
  children.push(props.renderSidebar());
229
229
  }
230
230
 
231
- var showTimeControls = showHourAndMinute && mode === 'date';
231
+ var showTimeControls = showHourAndMinute && mode !== 'time';
232
232
 
233
233
  children.push(_react2['default'].createElement(
234
234
  'div',
235
235
  { className: prefixCls + '-panel', key: 'panel' },
236
236
  _react2['default'].createElement(
237
237
  'div',
238
- { className: prefixCls + '-inputs' },
238
+ {
239
+ tabIndex: this.props.focusablePanel ? 0 : undefined,
240
+ className: prefixCls + '-date-panel'
241
+ },
239
242
  _react2['default'].createElement(
240
243
  'div',
241
- { className: prefixCls + '-date-input-col' },
242
- _react2['default'].createElement(
243
- 'div',
244
- { className: prefixCls + '-date-input' },
245
- dateInputElement
246
- )
244
+ { className: prefixCls + '-date-input' },
245
+ dateInputElement
247
246
  ),
248
- showTimeControls && _react2['default'].createElement(
247
+ _react2['default'].createElement(_CalendarHeader2['default'], {
248
+ locale: locale,
249
+ mode: mode,
250
+ value: value,
251
+ onValueChange: this.setValue,
252
+ onPanelChange: this.onPanelChange,
253
+ renderFooter: renderFooter,
254
+ showTimePicker: showTimePicker,
255
+ prefixCls: prefixCls,
256
+ showHourAndMinute: showHourAndMinute
257
+ }),
258
+ timePicker && showTimePicker ? _react2['default'].createElement(
249
259
  'div',
250
- { className: prefixCls + '-time-input-col' },
260
+ { className: prefixCls + '-time-picker' },
251
261
  _react2['default'].createElement(
252
262
  'div',
253
- { className: prefixCls + '-time-input' },
254
- timeInputTopElement
263
+ { className: prefixCls + '-time-picker-panel' },
264
+ timePickerEle
255
265
  )
256
- )
257
- ),
258
- _react2['default'].createElement(
259
- 'div',
260
- { className: prefixCls + '-date-panel-container' },
266
+ ) : null,
261
267
  _react2['default'].createElement(
262
268
  'div',
263
- {
264
- tabIndex: this.props.focusablePanel ? 0 : undefined,
265
- className: prefixCls + '-date-panel'
266
- },
267
- _react2['default'].createElement(_CalendarHeader2['default'], {
269
+ { className: prefixCls + '-body' },
270
+ _react2['default'].createElement(_DateTable2['default'], {
268
271
  locale: locale,
269
- mode: mode,
270
272
  value: value,
271
- onValueChange: this.setValue,
272
- onPanelChange: this.onPanelChange,
273
- renderFooter: renderFooter,
274
- showTimePicker: showTimePicker,
273
+ selectedValue: selectedValue,
275
274
  prefixCls: prefixCls,
276
- showHourAndMinute: showHourAndMinute
277
- }),
278
- timePicker && showTimePicker ? _react2['default'].createElement(
279
- 'div',
280
- { className: prefixCls + '-time-picker' },
281
- _react2['default'].createElement(
282
- 'div',
283
- { className: prefixCls + '-time-picker-panel' },
284
- timePickerEle
285
- )
286
- ) : null,
287
- _react2['default'].createElement(
288
- 'div',
289
- { className: prefixCls + '-body' },
290
- _react2['default'].createElement(_DateTable2['default'], {
291
- locale: locale,
292
- value: value,
293
- selectedValue: selectedValue,
294
- prefixCls: prefixCls,
295
- dateRender: props.dateRender,
296
- onSelect: this.onDateTableSelect,
297
- disabledDate: disabledDate,
298
- showWeekNumber: showWeekNumber,
299
- firstDayOfWeek: firstDayOfWeek,
300
- currentStatus: currentStatus
301
- })
302
- )
303
- ),
304
- showTimeControls && _react2['default'].createElement(_CalendarRightPanel2['default'], {
305
- prefixCls: prefixCls,
306
- value: value,
307
- selectedValue: selectedValue,
308
- locale: locale,
309
- onSelect: this.onDateTableSelect,
310
- onClickRightPanelTime: onClickRightPanelTime,
311
- defaultMinutesTime: this.props.defaultMinutesTime,
312
- format: inputFormat
313
- })
275
+ dateRender: props.dateRender,
276
+ onSelect: this.onDateTableSelect,
277
+ disabledDate: disabledDate,
278
+ showWeekNumber: showWeekNumber,
279
+ firstDayOfWeek: firstDayOfWeek,
280
+ currentStatus: currentStatus
281
+ })
282
+ )
314
283
  ),
315
- _react2['default'].createElement(_CalendarFooter2['default'], {
316
- showOk: props.showOk,
317
- mode: mode,
318
- renderFooter: props.renderFooter,
319
- locale: locale,
284
+ showTimeControls && _react2['default'].createElement(_CalendarRightPanel2['default'], {
320
285
  prefixCls: prefixCls,
321
- showToday: props.showToday,
322
- disabledTime: disabledTime,
323
- showTimePicker: showTimePicker,
324
- showDateInput: props.showDateInput,
325
- timePicker: timePicker,
326
- selectedValue: selectedValue,
327
286
  value: value,
328
- disabledDate: disabledDate,
329
- okDisabled: props.showOk !== false && (!selectedValue || !this.isAllowedDate(selectedValue)),
330
- onOk: this.onOk,
331
- onSelect: this.onSelect,
332
- onToday: this.onToday,
333
- onOpenTimePicker: this.openTimePicker,
334
- onCloseTimePicker: this.closeTimePicker
287
+ selectedValue: selectedValue,
288
+ locale: locale,
289
+ onSelect: this.onDateTableSelect,
290
+ onClickRightPanelTime: onClickRightPanelTime,
291
+ defaultMinutesTime: this.props.defaultMinutesTime,
292
+ format: inputFormat,
293
+ timeInput: timeInputTopElement
335
294
  })
336
295
  ));
296
+ children.push(_react2['default'].createElement(_CalendarFooter2['default'], {
297
+ showOk: props.showOk,
298
+ mode: mode,
299
+ renderFooter: props.renderFooter,
300
+ locale: locale,
301
+ prefixCls: prefixCls,
302
+ showToday: props.showToday,
303
+ disabledTime: disabledTime,
304
+ showTimePicker: showTimePicker,
305
+ showDateInput: props.showDateInput,
306
+ timePicker: timePicker,
307
+ selectedValue: selectedValue,
308
+ value: value,
309
+ disabledDate: disabledDate,
310
+ okDisabled: props.showOk !== false && (!selectedValue || !this.isAllowedDate(selectedValue)),
311
+ onOk: this.onOk,
312
+ onSelect: this.onSelect,
313
+ onToday: this.onToday,
314
+ onOpenTimePicker: this.openTimePicker,
315
+ onCloseTimePicker: this.closeTimePicker
316
+ }));
337
317
 
338
318
  return this.renderRoot({
339
319
  children: children,
340
- className: ((props.showWeekNumber ? prefixCls + '-week-number' : '') + ' ' + (showHourAndMinute ? prefixCls + '-with-time-panel' : '')).trim()
320
+ className: ((props.showWeekNumber ? prefixCls + '-week-number' : '') + ' ' + (showTimeControls ? prefixCls + '-with-time-panel' : '')).trim()
341
321
  });
342
322
  };
343
323
 
@@ -206,18 +206,13 @@ var CalendarRightPanel = function (_React$Component) {
206
206
  var selectedMinute = this.getSelectedMinute();
207
207
  var currentHour = (0, _dayjs2['default'])().format('HH');
208
208
  var currentMinute = (0, _dayjs2['default'])().format('mm');
209
- var displayHour = selectedHour || currentHour;
210
- var displayMinute = selectedMinute || currentMinute;
211
-
212
209
  return _react2['default'].createElement(
213
210
  'div',
214
211
  { className: prefixCls + '-right-panel' },
215
212
  _react2['default'].createElement(
216
213
  'div',
217
- { className: prefixCls + '-right-panel-header ' + prefixCls + '-header' },
218
- displayHour,
219
- ':',
220
- displayMinute
214
+ { className: prefixCls + '-time-input' },
215
+ this.props.timeInput
221
216
  ),
222
217
  _react2['default'].createElement(
223
218
  'div',
@@ -295,7 +290,8 @@ CalendarRightPanel.propTypes = {
295
290
  onClickRightPanelTime: _propTypes2['default'].func,
296
291
  locale: _propTypes2['default'].object,
297
292
  defaultMinutesTime: _propTypes2['default'].string,
298
- format: _propTypes2['default'].oneOfType([_propTypes2['default'].string, _propTypes2['default'].arrayOf(_propTypes2['default'].string)])
293
+ format: _propTypes2['default'].oneOfType([_propTypes2['default'].string, _propTypes2['default'].arrayOf(_propTypes2['default'].string)]),
294
+ timeInput: _propTypes2['default'].node
299
295
  };
300
296
  exports['default'] = CalendarRightPanel;
301
297
  module.exports = exports['default'];
@@ -108,7 +108,7 @@ var YearPanel = function (_React$Component) {
108
108
  var tds = row.map(function (yearData) {
109
109
  var _classNameMap;
110
110
 
111
- var classNameMap = (_classNameMap = {}, _classNameMap[prefixCls + '-cell'] = 1, _classNameMap[prefixCls + '-selected-cell'] = yearData.year === currentYear, _classNameMap);
111
+ var classNameMap = (_classNameMap = {}, _classNameMap[prefixCls + '-cell'] = 1, _classNameMap[prefixCls + '-selected-cell'] = yearData.year === currentYear, _classNameMap[prefixCls + '-last-decade-cell'] = yearData.year < startYear, _classNameMap[prefixCls + '-next-decade-cell'] = yearData.year > endYear, _classNameMap);
112
112
  return _react2['default'].createElement(
113
113
  'td',
114
114
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seafile/seafile-calendar",
3
- "version": "1.0.29",
3
+ "version": "1.0.31",
4
4
  "description": "React Calendar",
5
5
  "keywords": [
6
6
  "react",