@seafile/seafile-calendar 1.0.23-avb.74 → 1.0.24

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
@@ -121,7 +121,7 @@
121
121
  --rc-calendar-input-border-color: rgba(0, 40, 100, 0.12);
122
122
  --rc-calendar-input-focus-border-color: #3e84f7;
123
123
  --rc-calendar-divider-color: #eee;
124
- --rc-calendar-disabled-bg: rgba(0, 0, 0, 0.05);
124
+ --rc-calendar-disabled-bg: #f5f5f5;
125
125
  --rc-calendar-disabled-color: #c2c2c2;
126
126
  --rc-calendar-out-range-color: #c2c2c2;
127
127
  }
@@ -157,7 +157,7 @@
157
157
  --rc-calendar-input-border-color: rgba(0, 40, 100, 0.12);
158
158
  --rc-calendar-input-focus-border-color: #3e84f7;
159
159
  --rc-calendar-divider-color: #eee;
160
- --rc-calendar-disabled-bg: rgba(0, 0, 0, 0.05);
160
+ --rc-calendar-disabled-bg: #f5f5f5;
161
161
  --rc-calendar-disabled-color: #c2c2c2;
162
162
  --rc-calendar-out-range-color: #c2c2c2;
163
163
  }
@@ -290,9 +290,8 @@
290
290
  border: 1px solid var(--rc-calendar-popover-border-color, #eee);
291
291
  line-height: 1.5;
292
292
  overflow: hidden;
293
- width: -moz-fit-content;
294
- width: fit-content;
295
293
  /* Layout wrappers */
294
+ /* Top inputs row */
296
295
  /* Date grid area */
297
296
  /* Right time panel */
298
297
  /* Footer */
@@ -301,47 +300,42 @@
301
300
  width: 367px;
302
301
  }
303
302
  .rc-calendar-panel {
304
- display: -ms-flexbox;
305
- display: flex;
306
- -ms-flex-align: stretch;
307
- align-items: stretch;
308
- }
309
- .rc-calendar-date-panel-column,
310
- .rc-calendar-time-panel-column {
311
303
  display: -ms-flexbox;
312
304
  display: flex;
313
305
  -ms-flex-direction: column;
314
306
  flex-direction: column;
315
307
  }
316
- .rc-calendar-time-panel-column {
317
- border-left: 1px solid var(--rc-calendar-divider-color, #eee);
308
+ .rc-calendar-date-panel-container {
309
+ display: -ms-flexbox;
310
+ display: flex;
318
311
  }
319
312
  .rc-calendar-date-panel {
320
313
  display: block;
321
- width: 100%;
314
+ width: 276px;
315
+ }
316
+ .rc-calendar-inputs {
317
+ display: -ms-flexbox;
318
+ display: flex;
319
+ -ms-flex-align: stretch;
320
+ align-items: stretch;
322
321
  }
323
322
  .rc-calendar-date-input-col {
324
- height: 48px;
323
+ -ms-flex: 1 1 auto;
324
+ flex: 1 1 auto;
325
325
  }
326
326
  .rc-calendar-time-input-col {
327
- height: 56px;
328
- }
329
- .rc-calendar-date-input {
330
- box-sizing: border-box;
331
- display: -ms-flexbox;
332
- display: flex;
333
- -ms-flex-align: center;
334
- align-items: center;
335
- padding: 12px 12px 4px 12px;
327
+ width: 89px;
328
+ border-left: 1px solid var(--rc-calendar-divider-color, #eee);
336
329
  }
330
+ .rc-calendar-date-input,
337
331
  .rc-calendar-time-input {
338
- box-sizing: border-box;
339
332
  display: -ms-flexbox;
340
333
  display: flex;
341
334
  -ms-flex-align: center;
342
335
  align-items: center;
343
336
  height: 100%;
344
- padding: 12px;
337
+ padding: 12px 12px 0 12px;
338
+ margin-bottom: 4px;
345
339
  }
346
340
  .rc-calendar-date-input input,
347
341
  .rc-calendar-time-input input {
@@ -365,7 +359,7 @@
365
359
  outline: none;
366
360
  }
367
361
  .rc-calendar-header {
368
- padding: 0 18px;
362
+ padding: 0 12px;
369
363
  height: 48px;
370
364
  line-height: 24px;
371
365
  text-align: center;
@@ -462,7 +456,7 @@
462
456
  left: 0;
463
457
  }
464
458
  .rc-calendar-body {
465
- padding: 0 12px 12px;
459
+ padding: 0 12px;
466
460
  height: 260px;
467
461
  }
468
462
  .rc-calendar table {
@@ -474,10 +468,9 @@
474
468
  }
475
469
  .rc-calendar table td {
476
470
  padding: 0;
477
- vertical-align: middle;
478
471
  }
479
472
  .rc-calendar table tr {
480
- height: 36px;
473
+ height: 1.75rem !important;
481
474
  }
482
475
  .rc-calendar table,
483
476
  .rc-calendar td,
@@ -505,7 +498,7 @@
505
498
  }
506
499
  .rc-calendar-cell {
507
500
  width: 32px;
508
- height: 36px;
501
+ height: auto;
509
502
  }
510
503
  .rc-calendar-date {
511
504
  display: block;
@@ -517,7 +510,7 @@
517
510
  padding: 0;
518
511
  background: transparent;
519
512
  text-align: center;
520
- margin: 2px 2px 2px 2px;
513
+ margin: 2px;
521
514
  }
522
515
  .rc-calendar-date:hover {
523
516
  background: var(--rc-calendar-icon-btn-hover-bg-color, rgba(0, 0, 0, 0.04));
@@ -558,40 +551,40 @@
558
551
  border-radius: 50%;
559
552
  }
560
553
  .rc-calendar-right-panel {
561
- height: 300px;
554
+ height: inherit;
555
+ border-left: 1px solid var(--rc-calendar-divider-color, #eee);
556
+ }
557
+ .rc-calendar-right-panel-header {
558
+ display: -ms-flexbox;
559
+ display: flex;
560
+ -ms-flex-pack: center;
561
+ justify-content: center;
562
+ -ms-flex-align: center;
563
+ align-items: center;
564
+ color: var(--rc-calendar-body-color, #212529);
565
+ font-weight: 600;
562
566
  }
563
567
  .rc-calendar-right-panel-body {
568
+ height: 260px;
564
569
  display: -ms-flexbox;
565
570
  display: flex;
566
- height: 100%;
567
- box-sizing: border-box;
568
- border-top: 1px solid var(--rc-calendar-divider-color, #eee);
571
+ padding: 0 4px 16px;
572
+ scrollbar-color: auto;
569
573
  }
570
574
  .rc-calendar-right-panel-col {
571
- -ms-flex: 1 1 0px;
572
- flex: 1 1 0;
573
- min-width: 0;
574
575
  overflow-y: auto;
575
- scrollbar-gutter: stable;
576
- }
577
- .rc-calendar-right-panel-col + .rc-calendar-right-panel-col {
578
- border-left: 1px solid var(--rc-calendar-divider-color, #eee);
579
576
  }
580
577
  .rc-calendar-right-panel-col ul {
581
578
  list-style: none;
582
579
  margin: 0;
583
- padding: 4px 16px 16px 16px;
580
+ padding: 4px;
584
581
  }
585
582
  .rc-calendar-right-panel-item {
586
583
  width: 32px;
587
584
  height: 32px;
588
585
  padding: 4px 0;
589
- margin-top: 4px;
590
586
  cursor: pointer;
591
587
  }
592
- .rc-calendar-right-panel-item:first-child {
593
- margin-top: 0;
594
- }
595
588
  .rc-calendar-right-panel-item-text {
596
589
  width: 100%;
597
590
  height: 100%;
@@ -612,6 +605,10 @@
612
605
  border-radius: 4px;
613
606
  color: #fff;
614
607
  }
608
+ .rc-calendar-right-panel-col::-webkit-scrollbar {
609
+ width: 0;
610
+ height: 0;
611
+ }
615
612
  .rc-calendar-right-panel-item-current {
616
613
  border: 1px solid var(--rc-calendar-sf-orange, #ff8000);
617
614
  border-radius: 4px;
package/es/Calendar.js CHANGED
@@ -164,93 +164,89 @@ var Calendar = function (_React$Component) {
164
164
  children.push(props.renderSidebar());
165
165
  }
166
166
 
167
- var showTimeControls = true;
167
+ var showTimeControls = showHourAndMinute && mode === 'date';
168
168
 
169
169
  children.push(React.createElement(
170
- React.Fragment,
171
- { key: 'panel' },
170
+ 'div',
171
+ { className: prefixCls + '-panel', key: 'panel' },
172
172
  React.createElement(
173
173
  'div',
174
- { className: prefixCls + '-panel' },
174
+ { className: prefixCls + '-inputs' },
175
175
  React.createElement(
176
176
  'div',
177
- { className: prefixCls + '-date-panel-column' },
178
- dateInputElement && React.createElement(
179
- 'div',
180
- { className: prefixCls + '-date-input-col' },
181
- React.createElement(
182
- 'div',
183
- { className: prefixCls + '-date-input' },
184
- dateInputElement
185
- )
186
- ),
177
+ { className: prefixCls + '-date-input-col' },
187
178
  React.createElement(
188
179
  'div',
189
- {
190
- tabIndex: this.props.focusablePanel ? 0 : undefined,
191
- className: prefixCls + '-date-panel'
192
- },
193
- React.createElement(CalendarHeader, {
194
- locale: locale,
195
- value: value,
196
- prefixCls: prefixCls,
197
- mode: mode,
198
- onValueChange: this.setValue,
199
- onPanelChange: this.onPanelChange,
200
- renderFooter: renderFooter,
201
- showTimePicker: showTimePicker,
202
- showHourAndMinute: showHourAndMinute
203
- }),
204
- timePicker && showTimePicker ? React.createElement(
205
- 'div',
206
- { className: prefixCls + '-time-picker' },
207
- React.createElement(
208
- 'div',
209
- { className: prefixCls + '-time-picker-panel' },
210
- timePickerEle
211
- )
212
- ) : null,
213
- React.createElement(
214
- 'div',
215
- { className: prefixCls + '-body' },
216
- React.createElement(DateTable, {
217
- locale: locale,
218
- value: value,
219
- selectedValue: selectedValue,
220
- prefixCls: prefixCls,
221
- dateRender: props.dateRender,
222
- onSelect: this.onDateTableSelect,
223
- disabledDate: disabledDate,
224
- showWeekNumber: showWeekNumber,
225
- firstDayOfWeek: firstDayOfWeek,
226
- currentStatus: currentStatus
227
- })
228
- )
180
+ { className: prefixCls + '-date-input' },
181
+ dateInputElement
229
182
  )
230
183
  ),
231
184
  showTimeControls && React.createElement(
232
185
  'div',
233
- { className: prefixCls + '-time-panel-column' },
186
+ { className: prefixCls + '-time-input-col' },
234
187
  React.createElement(
235
188
  'div',
236
- { className: prefixCls + '-time-input-col' },
189
+ { className: prefixCls + '-time-input' },
190
+ timeInputTopElement
191
+ )
192
+ )
193
+ ),
194
+ React.createElement(
195
+ 'div',
196
+ { className: prefixCls + '-date-panel-container' },
197
+ React.createElement(
198
+ 'div',
199
+ {
200
+ tabIndex: this.props.focusablePanel ? 0 : undefined,
201
+ className: prefixCls + '-date-panel'
202
+ },
203
+ React.createElement(CalendarHeader, {
204
+ locale: locale,
205
+ mode: mode,
206
+ value: value,
207
+ onValueChange: this.setValue,
208
+ onPanelChange: this.onPanelChange,
209
+ renderFooter: renderFooter,
210
+ showTimePicker: showTimePicker,
211
+ prefixCls: prefixCls,
212
+ showHourAndMinute: showHourAndMinute
213
+ }),
214
+ timePicker && showTimePicker ? React.createElement(
215
+ 'div',
216
+ { className: prefixCls + '-time-picker' },
237
217
  React.createElement(
238
218
  'div',
239
- { className: prefixCls + '-time-input' },
240
- timeInputTopElement
219
+ { className: prefixCls + '-time-picker-panel' },
220
+ timePickerEle
241
221
  )
242
- ),
243
- React.createElement(CalendarRightPanel, {
244
- prefixCls: prefixCls,
245
- value: value,
246
- selectedValue: selectedValue,
247
- locale: locale,
248
- onSelect: this.onDateTableSelect,
249
- onClickRightPanelTime: onClickRightPanelTime,
250
- defaultMinutesTime: this.props.defaultMinutesTime,
251
- format: inputFormat
252
- })
253
- )
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
+ })
254
250
  ),
255
251
  React.createElement(CalendarFooter, {
256
252
  showOk: props.showOk,
@@ -183,9 +183,19 @@ 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
+
186
189
  return React.createElement(
187
190
  'div',
188
191
  { className: prefixCls + '-right-panel' },
192
+ React.createElement(
193
+ 'div',
194
+ { className: prefixCls + '-right-panel-header ' + prefixCls + '-header' },
195
+ displayHour,
196
+ ':',
197
+ displayMinute
198
+ ),
189
199
  React.createElement(
190
200
  'div',
191
201
  { className: prefixCls + '-right-panel-body' },
package/lib/Calendar.js CHANGED
@@ -228,93 +228,89 @@ var Calendar = function (_React$Component) {
228
228
  children.push(props.renderSidebar());
229
229
  }
230
230
 
231
- var showTimeControls = true;
231
+ var showTimeControls = showHourAndMinute && mode === 'date';
232
232
 
233
233
  children.push(_react2['default'].createElement(
234
- _react2['default'].Fragment,
235
- { key: 'panel' },
234
+ 'div',
235
+ { className: prefixCls + '-panel', key: 'panel' },
236
236
  _react2['default'].createElement(
237
237
  'div',
238
- { className: prefixCls + '-panel' },
238
+ { className: prefixCls + '-inputs' },
239
239
  _react2['default'].createElement(
240
240
  'div',
241
- { className: prefixCls + '-date-panel-column' },
242
- dateInputElement && _react2['default'].createElement(
243
- 'div',
244
- { className: prefixCls + '-date-input-col' },
245
- _react2['default'].createElement(
246
- 'div',
247
- { className: prefixCls + '-date-input' },
248
- dateInputElement
249
- )
250
- ),
241
+ { className: prefixCls + '-date-input-col' },
251
242
  _react2['default'].createElement(
252
243
  'div',
253
- {
254
- tabIndex: this.props.focusablePanel ? 0 : undefined,
255
- className: prefixCls + '-date-panel'
256
- },
257
- _react2['default'].createElement(_CalendarHeader2['default'], {
258
- locale: locale,
259
- value: value,
260
- prefixCls: prefixCls,
261
- mode: mode,
262
- onValueChange: this.setValue,
263
- onPanelChange: this.onPanelChange,
264
- renderFooter: renderFooter,
265
- showTimePicker: showTimePicker,
266
- showHourAndMinute: showHourAndMinute
267
- }),
268
- timePicker && showTimePicker ? _react2['default'].createElement(
269
- 'div',
270
- { className: prefixCls + '-time-picker' },
271
- _react2['default'].createElement(
272
- 'div',
273
- { className: prefixCls + '-time-picker-panel' },
274
- timePickerEle
275
- )
276
- ) : null,
277
- _react2['default'].createElement(
278
- 'div',
279
- { className: prefixCls + '-body' },
280
- _react2['default'].createElement(_DateTable2['default'], {
281
- locale: locale,
282
- value: value,
283
- selectedValue: selectedValue,
284
- prefixCls: prefixCls,
285
- dateRender: props.dateRender,
286
- onSelect: this.onDateTableSelect,
287
- disabledDate: disabledDate,
288
- showWeekNumber: showWeekNumber,
289
- firstDayOfWeek: firstDayOfWeek,
290
- currentStatus: currentStatus
291
- })
292
- )
244
+ { className: prefixCls + '-date-input' },
245
+ dateInputElement
293
246
  )
294
247
  ),
295
248
  showTimeControls && _react2['default'].createElement(
296
249
  'div',
297
- { className: prefixCls + '-time-panel-column' },
250
+ { className: prefixCls + '-time-input-col' },
298
251
  _react2['default'].createElement(
299
252
  'div',
300
- { className: prefixCls + '-time-input-col' },
253
+ { className: prefixCls + '-time-input' },
254
+ timeInputTopElement
255
+ )
256
+ )
257
+ ),
258
+ _react2['default'].createElement(
259
+ 'div',
260
+ { className: prefixCls + '-date-panel-container' },
261
+ _react2['default'].createElement(
262
+ 'div',
263
+ {
264
+ tabIndex: this.props.focusablePanel ? 0 : undefined,
265
+ className: prefixCls + '-date-panel'
266
+ },
267
+ _react2['default'].createElement(_CalendarHeader2['default'], {
268
+ locale: locale,
269
+ mode: mode,
270
+ value: value,
271
+ onValueChange: this.setValue,
272
+ onPanelChange: this.onPanelChange,
273
+ renderFooter: renderFooter,
274
+ showTimePicker: showTimePicker,
275
+ prefixCls: prefixCls,
276
+ showHourAndMinute: showHourAndMinute
277
+ }),
278
+ timePicker && showTimePicker ? _react2['default'].createElement(
279
+ 'div',
280
+ { className: prefixCls + '-time-picker' },
301
281
  _react2['default'].createElement(
302
282
  'div',
303
- { className: prefixCls + '-time-input' },
304
- timeInputTopElement
283
+ { className: prefixCls + '-time-picker-panel' },
284
+ timePickerEle
305
285
  )
306
- ),
307
- _react2['default'].createElement(_CalendarRightPanel2['default'], {
308
- prefixCls: prefixCls,
309
- value: value,
310
- selectedValue: selectedValue,
311
- locale: locale,
312
- onSelect: this.onDateTableSelect,
313
- onClickRightPanelTime: onClickRightPanelTime,
314
- defaultMinutesTime: this.props.defaultMinutesTime,
315
- format: inputFormat
316
- })
317
- )
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
+ })
318
314
  ),
319
315
  _react2['default'].createElement(_CalendarFooter2['default'], {
320
316
  showOk: props.showOk,
@@ -206,9 +206,19 @@ 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
+
209
212
  return _react2['default'].createElement(
210
213
  'div',
211
214
  { className: prefixCls + '-right-panel' },
215
+ _react2['default'].createElement(
216
+ 'div',
217
+ { className: prefixCls + '-right-panel-header ' + prefixCls + '-header' },
218
+ displayHour,
219
+ ':',
220
+ displayMinute
221
+ ),
212
222
  _react2['default'].createElement(
213
223
  'div',
214
224
  { className: prefixCls + '-right-panel-body' },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seafile/seafile-calendar",
3
- "version": "1.0.23avb.74",
3
+ "version": "1.0.24",
4
4
  "description": "React Calendar",
5
5
  "keywords": [
6
6
  "react",