gridjs-spreadsheet 26.5.0 → 26.5.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gridjs-spreadsheet",
3
- "version": "26.5.0",
3
+ "version": "26.5.1",
4
4
  "description": "this is the client side script for GridJs which is a lightweight, scalable, and customizable toolkit that provides cross-platform web applications, enables convenient development for editing or viewing Excel/Spreadsheet files, offers simple deployment, and provides easy-to-use APIs based on JSON format.",
5
5
  "types": "index.d.ts",
6
6
  "main": "xspreadsheet.js",
package/readme.md CHANGED
@@ -403,6 +403,10 @@ v26.5:
403
403
 
404
404
  - Support add custom buttons in toolbar
405
405
 
406
+ v26.5:
407
+
408
+ - Improve date picker
409
+
406
410
  ## License
407
411
 
408
412
  MIT
package/xspreadsheet.css CHANGED
@@ -405,26 +405,102 @@ body {
405
405
  background-color: #f4f5f8;
406
406
  opacity: 0.9;
407
407
  z-index: 12;
408
+ display: flex;
409
+ }
410
+ .x-spreadsheet-scrollbar .x-spreadsheet-scrollbar-track {
411
+ flex: 1 1 auto;
412
+ align-self: center;
413
+ min-width: 0;
414
+ min-height: 0;
415
+ }
416
+ .x-spreadsheet-scrollbar .x-spreadsheet-scrollbar-content {
417
+ background: #ddd;
418
+ }
419
+ .x-spreadsheet-scrollbar .x-spreadsheet-scrollbar-button {
420
+ position: relative;
421
+ box-sizing: border-box;
422
+ flex: 0 0 15px;
423
+ width: 15px;
424
+ height: 15px;
425
+ margin: 0;
426
+ padding: 0;
427
+ border: 1px solid #c7ccd6;
428
+ background: #eef1f6;
429
+ cursor: default;
430
+ outline: none;
431
+ }
432
+ .x-spreadsheet-scrollbar .x-spreadsheet-scrollbar-button::before {
433
+ content: '';
434
+ position: absolute;
435
+ left: 50%;
436
+ top: 50%;
437
+ width: 0;
438
+ height: 0;
439
+ transform: translate(-50%, -50%);
440
+ }
441
+ .x-spreadsheet-scrollbar .x-spreadsheet-scrollbar-button:hover {
442
+ background: #e1e6ef;
443
+ }
444
+ .x-spreadsheet-scrollbar .x-spreadsheet-scrollbar-button:active {
445
+ background: #d7dde8;
408
446
  }
409
447
  .x-spreadsheet-scrollbar.horizontal {
410
448
  right: 15px;
449
+ height: 15px;
450
+ flex-direction: row;
451
+ }
452
+ .x-spreadsheet-scrollbar.horizontal .x-spreadsheet-scrollbar-track {
453
+ height: 12px;
411
454
  overflow-x: scroll;
412
455
  overflow-y: hidden;
413
- height: 12px;
414
- /* 固定高度,避免覆盖表格内容 */
415
456
  }
416
- .x-spreadsheet-scrollbar.horizontal > div {
457
+ .x-spreadsheet-scrollbar.horizontal .x-spreadsheet-scrollbar-button {
458
+ width: 15px;
459
+ height: 15px;
460
+ border-top-width: 0;
461
+ border-bottom-width: 0;
462
+ }
463
+ .x-spreadsheet-scrollbar.horizontal .x-spreadsheet-scrollbar-button.decrease::before {
464
+ border-top: 4px solid transparent;
465
+ border-right: 5px solid #4f5b6b;
466
+ border-bottom: 4px solid transparent;
467
+ }
468
+ .x-spreadsheet-scrollbar.horizontal .x-spreadsheet-scrollbar-button.increase::before {
469
+ border-top: 4px solid transparent;
470
+ border-bottom: 4px solid transparent;
471
+ border-left: 5px solid #4f5b6b;
472
+ }
473
+ .x-spreadsheet-scrollbar.horizontal .x-spreadsheet-scrollbar-content {
417
474
  height: 1px;
418
- background: #ddd;
419
475
  }
420
476
  .x-spreadsheet-scrollbar.vertical {
421
477
  bottom: 15px;
478
+ width: 15px;
479
+ flex-direction: column;
480
+ }
481
+ .x-spreadsheet-scrollbar.vertical .x-spreadsheet-scrollbar-track {
482
+ width: 12px;
422
483
  overflow-x: hidden;
423
484
  overflow-y: scroll;
424
485
  }
425
- .x-spreadsheet-scrollbar.vertical > div {
486
+ .x-spreadsheet-scrollbar.vertical .x-spreadsheet-scrollbar-button {
487
+ width: 15px;
488
+ height: 15px;
489
+ border-left-width: 0;
490
+ border-right-width: 0;
491
+ }
492
+ .x-spreadsheet-scrollbar.vertical .x-spreadsheet-scrollbar-button.decrease::before {
493
+ border-right: 4px solid transparent;
494
+ border-bottom: 5px solid #4f5b6b;
495
+ border-left: 4px solid transparent;
496
+ }
497
+ .x-spreadsheet-scrollbar.vertical .x-spreadsheet-scrollbar-button.increase::before {
498
+ border-top: 5px solid #4f5b6b;
499
+ border-right: 4px solid transparent;
500
+ border-left: 4px solid transparent;
501
+ }
502
+ .x-spreadsheet-scrollbar.vertical .x-spreadsheet-scrollbar-content {
426
503
  width: 1px;
427
- background: #ddd;
428
504
  }
429
505
  /* @{css-prefix}-overlayer */
430
506
  .x-spreadsheet-overlayer {
@@ -1048,27 +1124,83 @@ body {
1048
1124
  user-select: none;
1049
1125
  }
1050
1126
  .x-spreadsheet-calendar .calendar-header {
1127
+ display: flex;
1128
+ align-items: center;
1129
+ justify-content: space-between;
1051
1130
  font-weight: 700;
1052
1131
  line-height: 30px;
1053
1132
  text-align: center;
1054
1133
  width: 100%;
1055
- float: left;
1056
1134
  background: #f9fafb;
1057
1135
  }
1058
1136
  .x-spreadsheet-calendar .calendar-header .calendar-header-left {
1059
- padding-left: 5px;
1060
- float: left;
1137
+ flex: 1;
1138
+ display: inline-flex;
1139
+ align-items: center;
1140
+ justify-content: center;
1141
+ gap: 4px;
1142
+ min-width: 0;
1061
1143
  }
1062
- .x-spreadsheet-calendar .calendar-header .calendar-header-right {
1063
- float: right;
1144
+ .x-spreadsheet-calendar .calendar-header .calendar-title-button {
1145
+ height: 24px;
1146
+ min-width: 52px;
1147
+ padding: 0 8px;
1148
+ border: 1px solid transparent;
1149
+ border-radius: 4px;
1150
+ background: transparent;
1151
+ color: inherit;
1152
+ font: inherit;
1153
+ line-height: 22px;
1154
+ cursor: pointer;
1064
1155
  }
1065
- .x-spreadsheet-calendar .calendar-header .calendar-header-right a {
1066
- padding: 3px 0;
1067
- margin-right: 2px;
1156
+ .x-spreadsheet-calendar .calendar-header .calendar-title-button:hover {
1157
+ border-color: #d8e6f7;
1158
+ background: #edf5ff;
1159
+ color: #2185D0;
1160
+ }
1161
+ .x-spreadsheet-calendar .calendar-header .calendar-prev,
1162
+ .x-spreadsheet-calendar .calendar-header .calendar-next {
1163
+ flex: 0 0 28px;
1164
+ height: 30px;
1165
+ display: inline-flex;
1166
+ align-items: center;
1167
+ justify-content: center;
1168
+ border: 1px solid transparent;
1068
1169
  border-radius: 2px;
1170
+ color: inherit;
1171
+ cursor: pointer;
1069
1172
  }
1070
- .x-spreadsheet-calendar .calendar-header .calendar-header-right a:hover {
1071
- background: rgba(0, 0, 0, 0.08);
1173
+ .x-spreadsheet-calendar .calendar-header .calendar-prev:hover,
1174
+ .x-spreadsheet-calendar .calendar-header .calendar-next:hover {
1175
+ border-color: #d8e6f7;
1176
+ background: #edf5ff;
1177
+ color: #2185D0;
1178
+ }
1179
+ .x-spreadsheet-calendar .calendar-footer {
1180
+ display: flex;
1181
+ align-items: center;
1182
+ justify-content: flex-end;
1183
+ min-height: 36px;
1184
+ padding: 0 10px;
1185
+ border-top: 1px solid #eef0f3;
1186
+ background: #fff;
1187
+ }
1188
+ .x-spreadsheet-calendar .calendar-footer-button {
1189
+ height: 26px;
1190
+ min-width: 46px;
1191
+ padding: 0 8px;
1192
+ border: 1px solid transparent;
1193
+ border-radius: 4px;
1194
+ background: transparent;
1195
+ color: #2185D0;
1196
+ font-weight: 700;
1197
+ line-height: 24px;
1198
+ cursor: pointer;
1199
+ }
1200
+ .x-spreadsheet-calendar .calendar-footer-button:hover {
1201
+ border-color: #d8e6f7;
1202
+ background: #edf5ff;
1203
+ color: #2185D0;
1072
1204
  }
1073
1205
  .x-spreadsheet-calendar .calendar-body {
1074
1206
  border-collapse: collapse;
@@ -1083,17 +1215,57 @@ body {
1083
1215
  line-height: 30px;
1084
1216
  padding: 0;
1085
1217
  }
1218
+ .x-spreadsheet-calendar .calendar-body td > .cell {
1219
+ border: 1px solid transparent;
1220
+ border-radius: 2px;
1221
+ cursor: pointer;
1222
+ }
1086
1223
  .x-spreadsheet-calendar .calendar-body td > .cell:hover {
1087
- background: #ecf6fd;
1224
+ border-color: #d8e6f7;
1225
+ background: #edf5ff;
1226
+ color: #2185D0;
1088
1227
  }
1089
1228
  .x-spreadsheet-calendar .calendar-body td > .cell.active,
1090
1229
  .x-spreadsheet-calendar .calendar-body td > .cell.active:hover {
1091
1230
  background: #ecf6fd;
1092
1231
  color: #2185D0;
1093
1232
  }
1233
+ .x-spreadsheet-calendar .calendar-body td > .cell.today {
1234
+ color: #2185D0;
1235
+ }
1094
1236
  .x-spreadsheet-calendar .calendar-body td > .cell.disabled {
1095
1237
  pointer-events: none;
1096
1238
  opacity: 0.5;
1239
+ cursor: default;
1240
+ }
1241
+ .x-spreadsheet-calendar .calendar-body td > .cell.out-range {
1242
+ color: rgba(0, 0, 0, 0.35);
1243
+ }
1244
+ .x-spreadsheet-calendar .calendar-body.month-mode td,
1245
+ .x-spreadsheet-calendar .calendar-body.year-mode td {
1246
+ width: 33.33333333%;
1247
+ min-width: 64px;
1248
+ line-height: 42px;
1249
+ }
1250
+ .x-spreadsheet-calendar .calendar-body.month-mode td > .cell,
1251
+ .x-spreadsheet-calendar .calendar-body.year-mode td > .cell {
1252
+ margin: 4px 8px;
1253
+ border-radius: 6px;
1254
+ border: 1px solid transparent;
1255
+ }
1256
+ .x-spreadsheet-calendar .calendar-body.month-mode td > .cell:hover,
1257
+ .x-spreadsheet-calendar .calendar-body.year-mode td > .cell:hover {
1258
+ border-color: #d8e6f7;
1259
+ background: #edf5ff;
1260
+ color: #2185D0;
1261
+ }
1262
+ .x-spreadsheet-calendar .calendar-body.month-mode td > .cell.active,
1263
+ .x-spreadsheet-calendar .calendar-body.year-mode td > .cell.active,
1264
+ .x-spreadsheet-calendar .calendar-body.month-mode td > .cell.active:hover,
1265
+ .x-spreadsheet-calendar .calendar-body.year-mode td > .cell.active:hover {
1266
+ border-color: #2185D0;
1267
+ background: #2185D0;
1268
+ color: #fff;
1097
1269
  }
1098
1270
  .x-spreadsheet-datepicker {
1099
1271
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);