jspreadsheet 11.27.0 → 12.0.0-beta.0

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.
@@ -1,113 +1,122 @@
1
+ :root {
2
+ --jss-font-color: #000;
3
+ --jss-border-color: #ccc;
4
+ --jss-border-color-light: #e9e9e9;
5
+ --jss-border-color-highlight: #aaa;
6
+ --jss-border-outline: #000;
7
+ --jss-background-color: #fff;
8
+ --jss-background-color-header: #f8f8f8;
9
+ --jss-background-color-highlight: #e8e8e8;
10
+ --jss-background-color-active: #777;
11
+ --jss-icon-color: #333;
12
+ --jss-warning-color: #ff0000;
13
+ }
14
+
15
+ .lm-dark-mode {
16
+ --jss-font-color: #ddd;
17
+ --jss-border-color: #333;
18
+ --jss-border-color-light: #191919;
19
+ --jss-border-color-highlight: #555;
20
+ --jss-border-outline: #fff;
21
+ --jss-background-color: #000;
22
+ --jss-background-color-header: #222;
23
+ --jss-background-color-highlight: #333;
24
+ --jss-background-color-active: #888;
25
+ --jss-icon-color: #ccc;
26
+ }
27
+
1
28
  .jss_container {
2
- display:inline-block;
29
+ display: inline-flex;
3
30
  box-sizing: border-box;
4
31
  overscroll-behavior: contain;
5
32
  outline: none;
6
- }
7
-
8
- .jss_container.jtabs {
9
- max-width: initial;
33
+ flex-direction: column;
34
+ color: var(--jss-font-color);
10
35
  }
11
36
 
12
37
  .jss_container.fullscreen {
13
- position:fixed;
38
+ position: fixed;
14
39
  top: 0;
15
40
  left: 0;
16
41
  width: 100% !important;
17
42
  height: 100% !important;
18
43
  margin: 0;
19
- background-color: #fff;
44
+ background-color: var(--jss-background-color);
20
45
  z-index: 7;
21
- display: flex;
22
- flex-direction: column;
23
46
  }
24
47
 
25
- .jss_container.fullscreen .jtabs-content {
48
+ .jss_resizable .jss_content {
49
+ resize: both;
50
+ }
51
+
52
+ .jss_container.fullscreen .jtabs-content,
53
+ .jss_container.jss_content_overflow .jtabs-content {
26
54
  flex: 1;
27
55
  overflow: hidden;
28
56
  }
29
57
 
30
- .jss_container.fullscreen .jss_worksheet {
58
+ .jss_worksheet {
59
+ width: 100%;
31
60
  height: 100%;
32
61
  flex-direction: column;
33
62
  align-content: stretch;
34
63
  }
35
64
 
36
- .jss_container.fullscreen .jss_worksheet.jtabs-selected {
37
- display: flex;
38
- }
39
-
40
- .jss_container.fullscreen .jss_worksheet .jss_content {
41
- flex: 1;
42
- width: 100% !important;
43
- max-width: initial !important;
44
- max-height: initial !important;
45
- }
46
-
47
- .jss_container .jss_filter {
48
- margin-top:5px;
49
- padding-top:5px;
50
- }
51
-
52
65
  .jss_content {
53
66
  display: block;
54
67
  position: relative;
55
68
  box-sizing: border-box;
56
69
  scrollbar-width: thin;
57
- border-top: 1px solid #ccc;
58
- box-shadow: inset 1px 0 0 0 #ccc;
59
- }
60
-
61
- .jss_content_overflow {
70
+ scrollbar-color: var(--jss-border-color-highlight) var(--jss-background-color);
71
+ border-top: 1px solid var(--jss-border-color);
72
+ box-shadow: inset 1px 0 0 0 var(--jss-border-color);
62
73
  width: 100%;
63
74
  height: 100%;
64
75
  }
65
76
 
66
- .jss_container.fullscreen .jss_content, .jss_content_overflow {
77
+ .jss_container.fullscreen .jss_content,
78
+ .jss_container.jss_content_overflow .jss_content {
67
79
  overflow: auto;
68
- border-right: 1px solid #ccc;
69
- border-bottom: 1px solid #ccc;
70
- padding-right: 3px;
71
- padding-bottom: 3px;
80
+ border-right: 1px solid var(--jss-border-color);
81
+ border-bottom: 1px solid var(--jss-border-color);
72
82
  }
73
83
 
74
- .jss_container.fullscreen .jss, .jss_content_overflow .jss {
84
+ .jss_container.fullscreen .jss_table_container,
85
+ .jss_container.jss_content_overflow .jss_table_container {
75
86
  position: sticky;
76
87
  top: 0;
77
88
  left: 0;
78
89
  }
79
90
 
80
- .jss_content::-webkit-scrollbar {
81
- height: 12px;
82
- }
83
-
84
- .jss_content::-webkit-scrollbar {
85
- width: 12px;
86
- }
87
-
88
- .jss_content::-webkit-scrollbar-track {
89
- background: #f1f1f1;
90
- }
91
-
92
- .jss_content::-webkit-scrollbar-thumb {
93
- background: #c1c1c1;
91
+ .jss_container.disconnected {
92
+ pointer-events: none;
94
93
  }
95
94
 
96
- .jss_content::-webkit-scrollbar-thumb:hover {
97
- background-color: #a8a8a8;
95
+ .jss_container .lm-menu {
96
+ font-size: 0.85em;
98
97
  }
99
98
 
100
99
  .jss {
101
100
  border-collapse: separate;
101
+ border-spacing: 0;
102
102
  table-layout: fixed;
103
103
  white-space: nowrap;
104
104
  empty-cells: show;
105
105
  width: 0;
106
106
  outline: none;
107
+ box-sizing: border-box;
107
108
  border-top: 0;
108
109
  border-left: 0;
109
- border-right: 1px solid #ccc;
110
- border-bottom: 1px solid #ccc;
110
+ border-right: 1px solid var(--jss-border-color);
111
+ border-bottom: 1px solid var(--jss-border-color);
112
+ }
113
+
114
+ .jss div {
115
+ line-height: normal;
116
+ }
117
+
118
+ .jss .error {
119
+ border:1px solid red;
111
120
  }
112
121
 
113
122
  .jss.jss_left > tbody > tr > td, .jss > tbody > tr > td.jss_left {
@@ -123,22 +132,19 @@
123
132
  }
124
133
 
125
134
  .jss > thead > tr > th {
126
- border-top: 1px solid #ccc;
127
- border-left: 1px solid #ccc;
135
+ border-top: 1px solid var(--jss-border-color);
136
+ border-left: 1px solid var(--jss-border-color);
128
137
  border-right: 1px solid transparent;
129
138
  border-bottom: 1px solid transparent;
130
- background-color: #f3f3f3;
139
+ background-color: var(--jss-background-color-header);
131
140
  padding: 6px;
132
- cursor: pointer;
133
141
  box-sizing: border-box;
134
142
  overflow: hidden;
135
143
  text-overflow: ellipsis;
136
144
  position: sticky;
137
145
  top: 0;
138
146
  z-index: 4;
139
- background-repeat: no-repeat;
140
- background-position: center right 0;
141
- line-height: normal;
147
+ line-height: 1;
142
148
  font-size: 1em;
143
149
  font-weight: normal;
144
150
  }
@@ -150,47 +156,40 @@
150
156
  .jss > thead > tr > th:first-child:after,
151
157
  .jss > thead > tr.jss_nested > th::before,
152
158
  .jss > thead > tr.jss_nested > th::after {
153
- cursor:default;
159
+ cursor: default;
154
160
  }
155
161
 
156
162
  .jss > thead > tr > th:first-child {
157
- box-shadow: 1px 1px 0 0 #ccc;
163
+ box-shadow: 1px 1px 0 0 var(--jss-border-color);
158
164
  }
159
165
 
160
166
  .jss > thead > tr > th.selected {
161
- background-color: #dcdcdc;
167
+ background-color: var(--jss-background-color-highlight);
162
168
  border-bottom: 1px solid transparent;
163
169
  }
164
170
 
165
- .jss > thead > tr > th.jss_filters_icon::before {
166
- font-family: "Material Icons";
167
- content: 'filter_alt';
168
- position: absolute;
169
- right: 0;
170
- font-size: 16px;
171
- width: 16px;
172
- height: 16px;
173
- color: #ccc;
174
- }
175
-
176
- .jss > thead > tr > th.jss_filters_active::before {
177
- color: #888;
171
+ .jss > thead > tr > th.jss_filters_icon {
172
+ padding-right: 16px !important;
178
173
  }
179
174
 
180
175
  .jss > tbody > tr > td {
181
- border-top:1px solid #ccc;
182
- border-left:1px solid #ccc;
183
- border-right:1px solid transparent;
184
- border-bottom:1px solid transparent;
176
+ border-top: 1px solid var(--jss-border-color);
177
+ border-left: 1px solid var(--jss-border-color);
178
+ border-right: 1px solid transparent;
179
+ border-bottom: 1px solid transparent;
185
180
  box-sizing: border-box;
186
181
  padding: 4px;
187
- line-height: normal;
182
+ line-height: 1;
188
183
  height: 24px;
189
184
  text-align: center;
190
185
  white-space: pre;
191
186
  overflow: hidden;
192
187
  }
193
188
 
189
+ .jss > tbody > tr > td.jss_number {
190
+ text-align: right;
191
+ }
192
+
194
193
  .jss > tbody > tr > td.jss_wrap {
195
194
  white-space: break-spaces;
196
195
  }
@@ -199,12 +198,12 @@
199
198
  position: sticky;
200
199
  z-index: 4;
201
200
  left: 0;
202
- background-color: #f3f3f3;
201
+ background-color: var(--jss-background-color-header);
203
202
  text-align: center;
204
203
  }
205
204
 
206
205
  .jss > tbody > tr.selected > td.jss_row {
207
- background-color: #dcdcdc;
206
+ background-color: var(--jss-background-color-highlight);
208
207
  border-right: 1px solid transparent;
209
208
  }
210
209
 
@@ -223,18 +222,6 @@
223
222
  overflow: hidden;
224
223
  }
225
224
 
226
- .jss_hidden_col, .jss_hidden_row {
227
- visibility: collapse;
228
- }
229
-
230
- .jss_hidden_col {
231
- width: 0;
232
- }
233
-
234
- .jss_hidden_row {
235
- height: 0;
236
- }
237
-
238
225
  .jss > tbody > tr > td:last-child {
239
226
  overflow:hidden;
240
227
  }
@@ -256,19 +243,19 @@
256
243
  }
257
244
 
258
245
  .jss > tbody > tr > td.readonly {
259
- color:rgba(0,0,0,0.4)
246
+ color: rgba(0,0,0,0.4)
260
247
  }
261
248
 
262
249
  .jss > tbody > tr > td > select,
263
250
  .jss > tbody > tr > td > input,
264
251
  .jss > tbody > tr > td > textarea {
265
- border:0;
266
- border-radius:0;
267
- outline:0;
268
- width:100%;
269
- margin:0;
270
- padding:0;
271
- background-color:transparent;
252
+ border: 0;
253
+ border-radius: 0;
254
+ outline: 0;
255
+ width: 100%;
256
+ margin: 0;
257
+ padding: 0;
258
+ background-color: transparent;
272
259
  box-sizing: border-box;
273
260
  }
274
261
 
@@ -321,7 +308,7 @@
321
308
  background-position: top 0 right -1px;
322
309
  }
323
310
 
324
- .jss > tbody > tr > td.jss_richtext {
311
+ .jss > tbody > tr > td.jss_html {
325
312
  white-space: initial !important;
326
313
  }
327
314
 
@@ -338,25 +325,19 @@
338
325
  cursor: pointer;
339
326
  }
340
327
 
341
- .jss > tbody > tr > td.jss_progressbar {
342
- padding-left: 10px;
343
- padding-right: 10px;
344
- }
345
-
346
328
  .jss > tbody > tr > td.jss_progressbar > div {
347
- height: 5px;
329
+ height: 10px;
348
330
  background-color: red;
349
331
  background-clip: content-box;
350
332
  }
351
333
 
352
334
  .jss > tfoot > tr > td {
353
- border-top: 1px solid #ccc;
354
- border-left: 1px solid #ccc;
335
+ border-top: 1px solid var(--jss-border-color);
336
+ border-left: 1px solid var(--jss-border-color);
355
337
  border-right: 1px solid transparent;
356
338
  border-bottom: 1px solid transparent;
357
- background-color: #f3f3f3;
339
+ background-color: var(--jss-background-color-header);
358
340
  padding: 2px;
359
- cursor: pointer;
360
341
  box-sizing: border-box;
361
342
  overflow: hidden;
362
343
  text-align: center;
@@ -366,188 +347,59 @@
366
347
  z-index: 1;
367
348
  }
368
349
 
369
- .jss_corner {
370
- position:absolute;
371
- background-color: #000;
372
- height: 1px;
373
- width: 1px;
374
- border: 1px solid #FFF;
375
- top:-2000px;
376
- left:-2000px;
377
- cursor:crosshair;
378
- box-sizing: initial;
379
- z-index: 3;
380
- padding: 2px;
381
- }
382
-
383
- .jss,
384
- .jss_corner,
385
- .jss td,
386
- .jss > tbody > tr > td > img {
387
- -webkit-touch-callout: none;
388
- -webkit-user-select: none;
389
- -khtml-user-select: none;
390
- -moz-user-select: none;
391
- -ms-user-select: none;
392
- user-select: none;
393
- -webkit-user-drag: none;
394
- -khtml-user-drag: none;
395
- -moz-user-drag: none;
396
- -o-user-drag: none;
397
- }
398
-
399
- .jss_textarea {
400
- position: fixed;
401
- width: 0;
402
- height: 0;
403
- opacity: 0;
404
- }
405
-
406
- .jss_input {
407
- position: absolute;
408
- z-index: 6;
409
- pointer-events: none;
410
- box-sizing: border-box;
411
- white-space: pre-wrap;
412
- line-height: normal;
413
- outline: none;
414
- opacity: 0;
415
- }
416
-
417
- .jss_dialog {
418
- height: 240px !important;
419
- min-width: 340px !important;
420
- min-height: 240px !important;
421
- max-width: 340px !important;
422
- user-select:none;
423
- box-shadow: 2px 2px 8px 2px rgba(0,0,0,0.14);
424
- text-align:left;
425
- box-sizing: border-box;
426
- overflow: auto;
427
- scrollbar-width: thin;
428
- scrollbar-color: #333 transparent;
429
- background-color: #f8f8f8;
430
- }
431
-
432
- .jss_input > .jss_dialog {
433
- max-width: 600px;
434
- }
435
-
436
- .jss_dialog::-webkit-scrollbar {
437
- width: 12px;
438
- height: 12px;
439
- }
440
-
441
- .jss_dialog::-webkit-scrollbar-track {
442
- border: 1px solid #fff;
443
- background: #eee;
444
- }
445
-
446
- .jss_dialog::-webkit-scrollbar-thumb {
447
- border: 1px solid #fff;
448
- background: #888;
449
- }
450
-
451
- .jss_dialog.jclose:after {
452
- position:absolute;
453
- top:0;
454
- right:0;
455
- margin:10px;
456
- content:'close';
457
- font-family:'Material icons';
458
- font-size:24px;
459
- width:24px;
460
- height:24px;
461
- line-height:24px;
462
- cursor:pointer;
463
- text-shadow: 0 0 5px #fff;
464
- }
465
-
466
- .jss_dialog[title]:before {
467
- margin: 10px;
468
- content: attr(title);
469
- position: absolute;
470
- top: 0;
471
- right: 0;
472
- line-height: 24px;
350
+ .jss tbody .jss_frozen_row {
351
+ position: sticky;
352
+ z-index: 1;
353
+ background-color: #fff;
354
+ box-shadow: 1px 1px 2px 0 var(--jss-border-color-highlight, #aaa);
473
355
  }
474
356
 
475
- .jss_dialog .jtoolbar {
476
- height: initial;
357
+ .jss tbody .jss_frozen_row.jss_frozen {
358
+ box-shadow: 1px 1px 2px 0 var(--jss-border-color-highlight, #aaa);
359
+ z-index: 2;
477
360
  }
478
361
 
479
- .jss_percent:after {
480
- content: ' %';
362
+ .jss > tbody > tr > td.jss_row.jss_frozen_row {
363
+ z-index: 5;
364
+ box-shadow: 0 2px 0 0 var(--jss-border-color-highlight, #aaa);
481
365
  }
482
366
 
483
- .jss_percent.jss_formula:after {
484
- content: '';
367
+ .jss_freeze_control_col {
368
+ border-right: 1px solid var(--jss-border-color-highlight, #aaa) !important;
485
369
  }
486
370
 
487
- .jss_input.jss_formula {
488
- white-space: nowrap;
489
- overflow: hidden;
371
+ .jss_freeze_control_row {
372
+ border-bottom: 1px solid var(--jss-border-color-highlight, #aaa) !important;
490
373
  }
491
374
 
492
- .jss_input.jss_nowrap {
493
- display: flex;
494
- flex-wrap: nowrap;
495
- overflow: hidden;
375
+ .jss thead .jss_frozen {
376
+ position: sticky;
377
+ z-index: 5;
378
+ box-shadow: 2px 0 0 0 var(--jss-border-color-highlight, #aaa);
496
379
  }
497
380
 
498
- .jss_input.jss_nowrap.jss_formula {
499
- display: initial;
381
+ .jss tfoot .jss_frozen {
382
+ position: sticky;
383
+ z-index: 2;
384
+ box-shadow: 1px 0 0 0 var(--jss-border-color-highlight, #aaa);
500
385
  }
501
386
 
502
- .jss_input.jss_focus {
503
- padding: 4px;
504
- pointer-events: initial;
505
- opacity: 1;
506
- filter: alpha(opacity=100);
387
+ .jss tbody .jss_frozen {
388
+ position: sticky;
389
+ z-index: 1;
507
390
  background-color: #fff;
391
+ box-shadow: 1px 1px 2px 0 var(--jss-border-color-highlight, #aaa);
508
392
  }
509
393
 
510
- .jss_input[contentEditable=false] {
511
- padding: 0 !important;
512
- }
513
-
514
- .jss_input[contentEditable=false] > input {
515
- outline: none;
516
- border: 0;
517
- padding: 4px 4px 4px 6px;
518
- max-width: 100%;
519
- margin: 0;
520
- box-sizing: border-box;
521
- }
522
-
523
- .jss_input .jdropdown-header {
524
- border: 0 !important;
525
- outline: none !important;
526
- padding: 4px !important;
527
- padding-left: 6px !important;
528
- height: 100%;
529
- background-position: top 50% right 0;
530
- }
531
-
532
- .jss_input .jdropdown-container-header {
533
- padding: 0;
534
- margin: 0;
535
- height: initial;
536
- }
537
-
538
- .jss_input .jdropdown-picker {
539
- border:0 !important;
540
- padding:0 !important;
541
- width: initial;
542
- height: initial;
543
- }
544
-
545
- .jss_input .jeditor {
546
- padding: 15px;
394
+ .jss tbody tr:nth-child(odd) td.jss_zebra {
395
+ background-color: var(--jss-background-color-highlight, #e8e8e8);
547
396
  }
548
397
 
549
- .jss .error {
550
- border:1px solid red;
398
+ .jss_textarea {
399
+ position: fixed;
400
+ width: 0;
401
+ height: 0;
402
+ opacity: 0;
551
403
  }
552
404
 
553
405
  .jss_about {
@@ -558,6 +410,7 @@
558
410
  letter-spacing: 1px;
559
411
  display: none;
560
412
  }
413
+
561
414
  .jss_about a {
562
415
  color: #ccc;
563
416
  text-decoration: none;
@@ -567,25 +420,254 @@
567
420
  display: none;
568
421
  }
569
422
 
570
- .jss_search_container {
571
- display:flex;
572
- justify-content:space-between;
573
- background-color: #f3f3f3;
574
- border: 1px solid #ccc;
575
- border-bottom: 0;
423
+ .jss_cursor {
424
+ filter: brightness(90%);
425
+ background-color: var(--jss-background-color-header);
576
426
  }
577
427
 
578
- .jss_search_container > div {
428
+ .jss_dropdown_icon {
429
+ width: 12px;
430
+ height: 12px;
431
+ border-radius: 6px;
432
+ margin: auto;
433
+ }
434
+
435
+ .jss_dropdown_tag {
579
436
  display: inline-block;
580
- padding:8px;
581
- align-items:center;
437
+ border-radius: 6px;
438
+ margin-top: 1px;
439
+ margin-bottom: 1px;
440
+ margin-right: 2px;
441
+ padding: 4px 10px 4px 10px;
442
+ font-size: 0.8em;
582
443
  }
583
444
 
584
- .jss_search_container > div:empty {
445
+ .jss_helper {
446
+ position: absolute;
447
+ top: 0;
448
+ left: 0;
449
+ width: 1px;
450
+ height: 100%;
451
+ background-color: transparent;
452
+ border: 1px solid #DD0000;
453
+ box-sizing: border-box;
454
+ z-index: 7;
585
455
  display: none;
456
+ pointer-events: none;
586
457
  }
587
458
 
588
- .jss_pagination {
459
+ .jss_helper.jss_helper_row:before {
460
+ content: '';
461
+ position: absolute;
462
+ margin-top: -5px;
463
+ margin-left: -8px;
464
+ width: 0;
465
+ height: 0;
466
+ border-top: 5px solid transparent;
467
+ border-bottom: 5px solid transparent;
468
+ border-left: 5px solid #DD0000;
469
+ }
470
+
471
+ .jss_helper.jss_helper_col:before {
472
+ content: '';
473
+ position: absolute;
474
+ margin-top: -8px;
475
+ margin-left: -5px;
476
+ width: 0;
477
+ height: 0;
478
+ border-left: 5px solid transparent;
479
+ border-right: 5px solid transparent;
480
+ border-top: 5px solid #DD0000;
481
+ }
482
+
483
+ .jss_helper_border {
484
+ position: absolute;
485
+ top: 0;
486
+ left: 0;
487
+ width: 1px;
488
+ height: 1px;
489
+ background-color: #00000020;
490
+ box-sizing: border-box;
491
+ z-index: 7;
492
+ display: none;
493
+ pointer-events: none;
494
+ opacity: 0.6;
495
+ }
496
+
497
+ .arrow-up {
498
+ text-decoration: underline;
499
+ }
500
+
501
+ .arrow-down {
502
+ text-decoration: underline;
503
+ }
504
+
505
+ .arrow-up::after {
506
+ content: '\2191';
507
+ margin-left: 2px;
508
+ text-decoration: initial;
509
+ display: inline-block
510
+ }
511
+
512
+ .arrow-down::after {
513
+ content: '\2193';
514
+ margin-left: 2px;
515
+ text-decoration: initial;
516
+ display: inline-block
517
+ }
518
+
519
+ .jss_scroll {
520
+ position:absolute;
521
+ min-height: 1px;
522
+ min-width: 1px;
523
+ }
524
+
525
+ .jss_selectall {
526
+ box-shadow: inset 1px 1px 0 0 var(--jss-border-color);
527
+ }
528
+
529
+ .jss_selectall:after {
530
+ content: ' ';
531
+ border-bottom: 12px solid var(--jss-border-color);
532
+ border-left: 12px solid transparent;
533
+ width: 0;
534
+ position: absolute;
535
+ bottom: 3px;
536
+ right: 3px;
537
+ }
538
+
539
+ .fullscreen .jss_content {
540
+ resize: none !important;
541
+ }
542
+
543
+ .jss_resize_corner {
544
+ position: absolute;
545
+ width: 8px;
546
+ height: 8px;
547
+ border-radius: 8px;
548
+ border: 2px solid white;
549
+ background-color: red;
550
+ pointer-events: auto; /* equivalent to 'all' */
551
+ }
552
+
553
+ .jss_resize_corner::before {
554
+ content: '';
555
+ position: absolute;
556
+ top: -12px;
557
+ left: -12px;
558
+ right: -12px;
559
+ bottom: -12px;
560
+ background-color: transparent;
561
+ pointer-events: auto;
562
+ }
563
+
564
+ .jss_zebra tbody tr:nth-child(even) td {
565
+ background-color: var(--jss-background-color-highlight);
566
+ }
567
+
568
+ .jss_nogridline > tbody > tr > td {
569
+ border: 1px solid transparent;
570
+ }
571
+
572
+ .jss_row > i.material-icons {
573
+ font-size: 13px;
574
+ position: absolute;
575
+ right: 2px;
576
+ margin-top: 2px;
577
+ cursor: pointer;
578
+ }
579
+
580
+ .jss_header > i.material-icons {
581
+ font-size: 13px;
582
+ position: absolute;
583
+ right: 2px;
584
+ margin-top: 2px;
585
+ cursor: pointer;
586
+ }
587
+
588
+ .jss_header.jss_filters_icon > i.material-icons {
589
+ right: 16px;
590
+ }
591
+
592
+ .jss_upload {
593
+ position: absolute !important;
594
+ display: none;
595
+ margin-left: -240px;
596
+ }
597
+
598
+ .jss input[disabled] {
599
+ opacity: 0.6;
600
+ }
601
+
602
+ .jss_media > div {
603
+ z-index: 10;
604
+ }
605
+
606
+ .jss_media_item[data-type="chart"] {
607
+ background-color: white;
608
+ }
609
+
610
+ .jss_image > img {
611
+ position: absolute;
612
+ max-width: 100%;
613
+ z-index: 10;
614
+ }
615
+
616
+ .jss_image > img:focus {
617
+ outline: 2px solid black;
618
+ }
619
+
620
+ .jss_actions {
621
+ float: right;
622
+ display: block;
623
+ margin-left: 4px;
624
+ }
625
+
626
+ .jss_rotate {
627
+ -ms-writing-mode: tb-rl;
628
+ -webkit-writing-mode: vertical-rl;
629
+ writing-mode: vertical-rl;
630
+ transform: rotate(0deg);
631
+ white-space: nowrap;
632
+ }
633
+
634
+ /** Forbidden */
635
+
636
+ .jss_forbidden {
637
+ padding: 80px;
638
+ text-align: center;
639
+ border: 1px solid var(--jss-border-color);
640
+ color: #999;
641
+ max-width: 600px;
642
+ }
643
+
644
+ .jss_forbidden:before {
645
+ content: 'Jspreadsheet: Permission Denied';
646
+ }
647
+
648
+ .jss_forbidden > div {
649
+ display: none;
650
+ }
651
+
652
+ /** Search and pagination */
653
+
654
+ .jss_search_container {
655
+ display: flex;
656
+ justify-content: space-between;
657
+ background-color: var(--jss-background-color-header);
658
+ }
659
+
660
+ .jss_search_container > div {
661
+ display: inline-block;
662
+ padding:8px;
663
+ align-items:center;
664
+ }
665
+
666
+ .jss_search_container > div:empty {
667
+ display: none;
668
+ }
669
+
670
+ .jss_pagination {
589
671
  display:flex;
590
672
  justify-content:space-between;
591
673
  align-items:center;
@@ -603,14 +685,19 @@
603
685
  }
604
686
 
605
687
  .jss_pagination > div > div {
606
- text-align:center;
607
- width:36px;
608
- height:36px;
609
- line-height:34px;
610
- border:1px solid #ccc;
688
+ text-align: center;
689
+ width: 36px;
690
+ height: 36px;
691
+ line-height: 34px;
692
+ border: 1px solid var(--jss-border-color);
611
693
  box-sizing: border-box;
612
- margin-left:2px;
613
- cursor:pointer;
694
+ margin-left: 2px;
695
+ cursor: pointer;
696
+ }
697
+
698
+ .jss_pagination_dropdown {
699
+ margin-left: 4px;
700
+ margin-right: 4px;
614
701
  }
615
702
 
616
703
  .jss_page {
@@ -619,80 +706,78 @@
619
706
 
620
707
  .jss_page_selected {
621
708
  font-weight:bold;
622
- background-color:#f3f3f3;
709
+ background-color:var(--jss-background-color-header);
623
710
  }
624
711
 
625
- .jss_toolbar {
626
- background-color: #f3f3f3;
627
- border: 1px solid #ccc;
628
- padding: 4px;
629
- position: sticky;
630
- top: 0;
631
- z-index: 5;
632
- min-width: fit-content;
633
- margin-top: 1px;
634
- margin-bottom: 1px;
635
- }
636
-
637
- .jss_container.fullscreen .jss_toolbar {
712
+ .jss_searching {
638
713
  position: relative;
639
- margin-bottom: 1px;
640
- margin-right: 0;
641
714
  }
642
715
 
643
- .jss_toolbar .jtoolbar-item:hover {
644
- background-color: #eaeaea;
716
+ .jss_searching:after {
717
+ content: '';
718
+ display: block;
719
+ position: absolute;
720
+ right: 16px;
721
+ top: calc(50% - 7px);
722
+ width: 12px;
723
+ height: 12px;
724
+ border-style: solid;
725
+ border-color: #888;
726
+ border-top-color: transparent;
727
+ border-width: 1px;
728
+ border-radius: 50%;
729
+ -webkit-animation: spin .8s linear infinite;
730
+ animation: spin .8s linear infinite;
645
731
  }
646
732
 
647
- .jss_toolbar .jtoolbar-item > .jpicker-header:hover {
648
- background-color: #eaeaea !important;
733
+ @-webkit-keyframes spin {
734
+ from {-webkit-transform:rotate(0deg);}
735
+ to {-webkit-transform:rotate(360deg);}
649
736
  }
650
737
 
651
- .jss_toolbar:empty {
652
- display:none;
738
+ @keyframes spin {
739
+ from {transform:rotate(0deg);}
740
+ to {transform:rotate(360deg);}
653
741
  }
654
742
 
655
- .jss_toolbar i.jss_toolbar_item {
656
- width:24px;
657
- height:24px;
658
- padding:4px;
659
- cursor:pointer;
660
- display:inline-block;
661
- }
743
+ /** Tooltip */
662
744
 
663
- .jss_toolbar .jss_toolbar_selected {
664
- background-color:#eaeaea;
665
- }
745
+ .jss_tooltip {
746
+ position: absolute;
747
+ pointer-events: none;
748
+ background-color: rgba(0,0,0,0.7);
749
+ color: #fff;
750
+ border-radius: 5px;
751
+ padding: 5px 10px;
752
+ white-space: nowrap;
753
+ z-index: 999;
666
754
 
667
- .jss_toolbar::-webkit-scrollbar {
668
- display: none;
755
+ display: block;
756
+ animation: fadeIn 0.5s;
669
757
  }
670
758
 
671
- .jss_tabs > .jss_tab {
672
- display:none;
759
+ .jss_tooltip:empty {
760
+ display: none;
673
761
  }
674
762
 
675
- .jss_tabs > .jss_tab_link {
676
- display:inline-block;
677
- padding:10px;
678
- padding-left:20px;
679
- padding-right:20px;
680
- margin-right:5px;
681
- margin-bottom:5px;
682
- background-color:#f3f3f3;
683
- cursor:pointer;
684
- }
763
+ /** Borders and corner */
685
764
 
686
- .jss_tabs > .jss_tab_link.selected {
687
- background-color:#ddd;
765
+ .jss_corner {
766
+ position:absolute;
767
+ background-color: var(--jss-border-outline);
768
+ height: 1px;
769
+ width: 1px;
770
+ border: 1px solid var(--jss-background-color);
771
+ top:-2000px;
772
+ left:-2000px;
773
+ cursor:crosshair;
774
+ box-sizing: initial;
775
+ z-index: 6;
776
+ padding: 2px;
688
777
  }
689
778
 
690
- .jss_hidden_index > thead > tr > th:first-child,
691
- .jss_hidden_index > tbody > tr > td:first-child,
692
- .jss_hidden_index > tfoot > tr > td:first-child,
693
- .jss_hidden_index > colgroup > col:first-child {
694
- visibility: collapse;
695
- width: 1px;
779
+ .jss, .jss_corner, .jss td, .jss > tbody > tr > td > img {
780
+ user-select: none;
696
781
  }
697
782
 
698
783
  .jss_border {
@@ -701,12 +786,12 @@
701
786
  pointer-events: none;
702
787
  opacity:0.6;
703
788
  box-sizing: border-box;
704
- z-index: 2;
789
+ z-index: 5;
705
790
  }
706
791
 
707
792
  .jss_border_main {
708
- border: 1px solid #000;
709
- background-color: #00000015;
793
+ border: 1px solid var(--jss-border-outline);
794
+ background-color: color-mix(in srgb, var(--jss-border-outline) 10%, transparent);
710
795
  background-origin: content-box;
711
796
  }
712
797
 
@@ -722,25 +807,24 @@
722
807
  }
723
808
 
724
809
  .jss_border_cloning {
725
- border: 1px dashed #000;
810
+ border: 1px dashed var(--jss-border-outline);
726
811
  }
727
812
 
728
813
  .jss_border_ctrl {
729
- border: 2px solid #fff;
730
- outline: 1px solid #777777;
814
+ border: 2px solid var(--jss-background-color);
815
+ outline: 1px solid var(--lm-background-color-active);
731
816
  outline-offset: -1px;
732
817
  background-color: #5b5b5b50;
733
818
  }
734
819
 
735
820
  .jss_border_reset {
736
- border: 1px solid #777;
737
- background-color: #fff;
738
- z-index: 3;
821
+ border: 1px solid var(--lm-background-color-active);
822
+ background-color: var(--jss-background-color);
823
+ z-index: 6;
739
824
  }
740
825
 
741
826
  .jss_border_copying_hide_left {
742
827
  background-size: 0 0, 8px 1px, 0 0, 0 0 !important;
743
-
744
828
  }
745
829
 
746
830
  @keyframes ants {
@@ -752,13 +836,7 @@
752
836
  }
753
837
  }
754
838
 
755
- .jss_cursor {
756
- background-color: #eee;
757
- }
758
-
759
- .jss_cursor.jss_frozen {
760
- background-color: #eee !important;
761
- }
839
+ /** Loading */
762
840
 
763
841
  .jss_loading {
764
842
  position: absolute;
@@ -770,7 +848,7 @@
770
848
  padding-right: 1px;
771
849
  border: 0;
772
850
  box-sizing: border-box;
773
- display: none;
851
+ visibility: hidden;
774
852
  margin-top: -1px;
775
853
  margin-left: 1px;
776
854
  }
@@ -779,8 +857,17 @@
779
857
  content: '';
780
858
  position: absolute;
781
859
  height: 3px;
782
- background-color: #aaa;
783
- animation: jss_loading 1.5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
860
+ width: 25%;
861
+ background-color: #999;
862
+ transform: translateX(-100%);
863
+ animation: jss_loading_transform 1.5s ease-in-out infinite;
864
+ will-change: transform; /* Hint for GPU acceleration */
865
+ }
866
+
867
+ @keyframes jss_loading_transform {
868
+ 0% { transform: translateX(-100%); }
869
+ 50% { transform: translateX(400%); }
870
+ 100% { transform: translateX(-100%); }
784
871
  }
785
872
 
786
873
  .disconnected .jss_loading {
@@ -794,238 +881,55 @@
794
881
  100% { margin-left: 100%; width: 100% }
795
882
  }
796
883
 
797
- .jss_container.disconnected {
798
- pointer-events: none;
799
- }
800
-
801
- .jss_tags > div {
802
- padding-left: 8px;
803
- padding-right: 8px;
804
- border-radius: 2px;
805
- margin-right: 4px;
806
- outline: none;
807
- background-color: #eee;
808
- font-size: 0.8em;
809
- display: inline-block;
810
- }
811
-
812
- .jss_rating {
813
- padding: 0;
814
- }
884
+ /** Warning */
815
885
 
816
- .jss_rating > div {
817
- line-height: 13px;
886
+ .jss_warning {
887
+ border-left: 1px solid var(--jss-warning-color);
888
+ background-color: color-mix(in srgb, var(--jss-warning-color) 12%, transparent);
889
+ position: relative;
818
890
  }
819
891
 
820
- .jss_rating > div > i {
821
- line-height: 13px;
822
- width: 13px;
823
- height: 13px;
824
- vertical-align: bottom;
892
+ .jss_warning:before {
893
+ content: 'warning';
894
+ font-family: "Material Symbols Outlined", "Material Icons", "FontAwesome";
825
895
  font-size: 13px;
896
+ position: absolute;
897
+ color: var(--jss-warning-color);
898
+ left: 2px;
899
+ top: calc(50% - 6px);
900
+ font-weight: normal;
826
901
  }
827
902
 
828
- .jss thead .jss_frozen {
829
- position: sticky;
830
- z-index: 5;
831
- box-shadow: 2px 0 0 0 #aaa;
832
- }
833
-
834
- .jss tfoot .jss_frozen {
835
- position: sticky;
836
- z-index: 2;
837
- box-shadow: 1px 0 0 0 #aaa;
838
- }
839
-
840
- .jss tbody .jss_frozen {
841
- position: sticky;
842
- z-index: 1;
843
- background-color: #fff;
844
- box-shadow: 1px 1px 2px 0 #aaa;
845
- }
846
-
847
- .jss .jss_notes {
848
- overflow: hidden;
849
- display: -webkit-box;
850
- -webkit-line-clamp: 1;
851
- -webkit-box-orient: vertical;
852
- text-overflow: ellipsis;
853
- white-space: pre-wrap;
854
- }
855
-
856
- .jss_row_medium > tbody > tr {
857
- height: 3em;
858
- }
859
-
860
- .jss_row_large > tbody > tr {
861
- height: 6em;
862
- }
863
-
864
- .jss_row_extra > tbody > tr {
865
- height: 9em;
866
- }
867
-
868
- .jss_row_medium > tbody > tr .jss_notes {
869
- -webkit-line-clamp: 3;
870
- height: 3em;
871
- }
872
-
873
- .jss_row_large > tbody > tr .jss_notes {
874
- -webkit-line-clamp: 6;
875
- height: 6em;
876
- }
877
-
878
- .jss_row_extra > tbody > tr .jss_notes {
879
- -webkit-line-clamp: 9;
880
- height: 9em;
881
- }
882
-
883
- /** Build-in themes :: MODERN **/
884
-
885
- .jss_modern table.jss {
886
- border-right:1px solid transparent;
887
- }
888
-
889
- .jss_light table.jss > thead > tr > th,
890
- .jss_modern table.jss > thead > tr > th {
891
- background-color: #f5f5f5;
892
- border-top:1px solid #ddd;
893
- border-right:1px solid transparent;
894
- padding: 8px;
895
- }
896
-
897
- .jss_modern table.jss > thead > tr > th {
898
- border-left:1px solid transparent;
899
- }
900
-
901
-
902
- .jss_light table.jss > thead > tr > th:first-child,
903
- .jss_modern table.jss > thead > tr > th:first-child {
904
- box-shadow: 1px 0 0 0 #ddd;
905
- }
906
-
907
- .jss_light table.jss > thead > tr:last-child > th,
908
- .jss_modern table.jss > thead > tr:last-child > th {
909
- border-bottom: 1px solid #000;
910
- }
911
-
912
- .jss_light table.jss > tfoot > tr > td,
913
- .jss_modern table.jss > tfoot > tr > td {
914
- border-top:1px solid #000;
915
- border-left:1px solid transparent;
916
- border-right:1px solid transparent;
917
- border-bottom:1px solid transparent;
918
- background-color:#fff;
919
- padding:8px;
920
- }
921
-
922
- .jss_light table.jss > thead > tr > th.jss_filters_icon,
923
- .jss_modern table.jss > thead > tr > th.jss_filters_icon {
924
- background-position: center right 8px;
925
- }
926
-
927
- .jss_light table.jss > thead > tr > th.selected {
928
- background-color:#e3e3e3;
929
- }
930
-
931
- .jss_modern table.jss > thead > tr > th.selected {
932
- background-color:#eee;
933
- }
934
-
935
- .jss_modern table.jss > tbody > tr > td {
936
- padding: 8px;
937
- border-right: 1px solid transparent;
938
- border-left: 1px solid transparent;
939
- }
940
-
941
- .jss_light table.jss > tbody > tr > td {
942
- border-top: 1px solid #ddd;
943
- border-left: 1px solid #ddd;
944
- }
945
-
946
- .jss_light table.jss > tbody > tr > td:first-child,
947
- .jss_modern table.jss > tbody > tr > td:first-child {
948
- background-color: #f5f5f5;
949
- }
950
-
951
- .jss_light table.jss > tbody > tr.selected > td:first-child {
952
- background-color:#e3e3e3;
953
- }
954
-
955
- .jss_modern table.jss > tbody > tr.selected > td:first-child {
956
- background-color:#eee;
957
- }
958
-
959
- .jss_light .jss_toolbar,
960
- .jss_modern .jss_toolbar {
961
- background-color: #f5f5f5;
962
- }
963
-
964
- .jss_modern .jss_toolbar {
965
- border-color: #ddd;
966
- }
967
-
968
- .jss_light .jss_pagination,
969
- .jss_modern .jss_pagination {
970
- background-color: #f8f8f8;
971
- border: 1px solid #eee;
972
- }
973
-
974
- .jss_light .jss_pagination > div > div {
975
- border: 1px solid transparent;
976
- background-color: #f2f2f2;
977
- }
978
-
979
- .jss_modern .jss_pagination > div > div {
980
- border: 1px solid transparent;
981
- background-color: #fff;
982
- }
983
-
984
- .jss_modern .jss_page_selected {
985
- background: linear-gradient(to bottom, #fff 0%, #dcdcdc 100%);
986
- border:1px solid #979797 !important;
987
- font-weight:normal;
988
- color: #333 !important;
989
- border-radius:2px;
990
- }
991
-
992
- .jss_modern .jss_focus {
993
- padding: 8px;
903
+ .jss > tbody > tr > td.jss_warning {
904
+ padding-left: 16px;
994
905
  }
995
906
 
996
- .jss_modern .jss_search_container {
997
- background: initial;
998
- border: initial;
999
- }
907
+ /** Filter **/
1000
908
 
1001
- .jss_dropdown_icon {
1002
- width: 12px;
1003
- height: 12px;
1004
- border-radius: 6px;
1005
- margin: auto;
909
+ .jss > thead > tr > th.jss_filters_icon::before {
910
+ font-family: "Material Symbols Outlined", "Material Icons", "FontAwesome";
911
+ content: 'filter_alt';
912
+ position: absolute;
913
+ right: 5px;
914
+ font-size: 16px;
915
+ width: 16px;
916
+ height: 16px;
917
+ color: var(--jss-font-color);
1006
918
  }
1007
919
 
1008
- .jss_dropdown_tag {
1009
- display: inline-block;
1010
- border-radius: 6px;
1011
- margin-top: 1px;
1012
- margin-bottom: 1px;
1013
- margin-right: 2px;
1014
- padding: 4px 10px 4px 10px;
1015
- font-size: 0.8em;
920
+ .jss > thead > tr > th.jss_filters_active::before {
921
+ color: #888;
1016
922
  }
1017
923
 
1018
- /** Filter **/
1019
-
1020
924
  .jss_filters {
1021
925
  position: absolute;
1022
926
  z-index: 11;
1023
- background-color: #fff;
1024
- color: #555;
927
+ background-color: var(--jss-background-color);
1025
928
  font-size: 0.8em;
1026
929
  user-select: none;
1027
- box-shadow: 2px 2px 2px 0 rgba(143, 144, 145, 1);
1028
- border: 1px solid #C6C6C6;
930
+ border: 1px solid var(--jss-border-color);
931
+ border-radius: 4px;
932
+ box-shadow: 0 2px 4px 2px color-mix(in srgb, var(--jss-border-color) 20%, transparent);
1029
933
  padding: 15px;
1030
934
  margin: 0;
1031
935
  outline: none;
@@ -1058,7 +962,7 @@
1058
962
  .jss_filters_search,
1059
963
  .jss_filters_operators {
1060
964
  padding: 6px;
1061
- border: 1px solid #d9d9d9;
965
+ border: 1px solid var(--jss-border-color);
1062
966
  width: 100%;
1063
967
  flex: 3;
1064
968
  }
@@ -1069,7 +973,7 @@
1069
973
  }
1070
974
 
1071
975
  .jss_filters_options {
1072
- border: 1px solid #d9d9d9;
976
+ border: 1px solid var(--jss-border-color);
1073
977
  margin-bottom: 4px;
1074
978
  }
1075
979
 
@@ -1117,180 +1021,103 @@
1117
1021
  margin: 2px;
1118
1022
  }
1119
1023
 
1120
- .jss_helper {
1121
- position: absolute;
1122
- top: 0;
1123
- left: 0;
1124
- width: 1px;
1125
- height: 100%;
1126
- background-color: transparent;
1127
- border: 1px solid #DD0000;
1128
- box-sizing: border-box;
1129
- z-index: 7;
1130
- display: none;
1131
- pointer-events: none;
1024
+ div.jss_filters_icon {
1025
+ font-size: 13px;
1026
+ width: 13px;
1027
+ height: 13px;
1028
+ padding: 1px;
1029
+ border-radius: 2px;
1030
+ color: grey;
1031
+ cursor: pointer;
1132
1032
  }
1133
1033
 
1134
- .jss_helper.jss_helper_row:before {
1135
- content: '';
1136
- position: absolute;
1137
- margin-top: -5px;
1138
- margin-left: -8px;
1139
- width: 0;
1140
- height: 0;
1141
- border-top: 5px solid transparent;
1142
- border-bottom: 5px solid transparent;
1143
- border-left: 5px solid #DD0000;
1034
+ div.jss_filters_icon:hover,
1035
+ div.jss_filters_icon.jss_filters_active {
1036
+ color: white;
1037
+ background-color: #d92b04;
1144
1038
  }
1145
1039
 
1146
- .jss_helper.jss_helper_col:before {
1147
- content: '';
1148
- position: absolute;
1149
- margin-top: -8px;
1150
- margin-left: -5px;
1151
- width: 0;
1152
- height: 0;
1153
- border-left: 5px solid transparent;
1154
- border-right: 5px solid transparent;
1155
- border-top: 5px solid #DD0000;
1040
+ div.jss_filters_icon::before {
1041
+ font-family: "Material Symbols Outlined", "Material Icons", "FontAwesome";
1042
+ content: 'filter_list';
1043
+ font-size: 13px;
1044
+ font-weight: normal;
1156
1045
  }
1157
1046
 
1158
- .jss_dragging {
1047
+ div.jss_filters_icon.jss_filters_active:hover {
1048
+ color: grey;
1049
+ background-color: #f1f1f1;
1159
1050
  }
1160
1051
 
1161
- .jss_forbidden {
1162
- padding: 80px;
1163
- text-align: center;
1164
- border: 1px solid #ccc;
1165
- color: #999;
1166
- max-width: 600px;
1052
+ div.jss_filters_icon.jss_filters_active::before {
1053
+ content: 'filter_alt';
1167
1054
  }
1168
1055
 
1169
- .jss_forbidden:before {
1170
- content: 'Jspreadsheet: Permission Denied';
1056
+ .jss_result > td:first-child {
1057
+ color: #d92b04;
1171
1058
  }
1172
1059
 
1173
- .jss_forbidden > div {
1174
- display: none;
1060
+ .jss_filters_sorting {
1061
+ margin-bottom: 6px;
1062
+ padding-bottom: 4px;
1063
+ border-bottom: 1px solid #d9d9d9;
1175
1064
  }
1176
1065
 
1177
- .arrow-up {
1178
- text-decoration: underline;
1066
+ .jss_filters_sorting > div {
1067
+ margin-bottom: 10px;
1068
+ padding: 2px 2px 2px 15px;
1179
1069
  }
1180
1070
 
1181
- .arrow-down {
1071
+ .jss_filters_sorting > div:hover {
1182
1072
  text-decoration: underline;
1073
+ cursor: pointer;
1183
1074
  }
1184
1075
 
1185
- .arrow-up::after {
1076
+ .jss_filters_sorting_up::before {
1186
1077
  content: '\2191';
1187
- margin-left: 2px;
1188
- text-decoration: initial;
1189
- display: inline-block
1078
+ position: absolute;
1079
+ margin-top: -2px;
1080
+ margin-left: -15px;
1190
1081
  }
1191
1082
 
1192
- .arrow-down::after {
1083
+ .jss_filters_sorting_down::before {
1193
1084
  content: '\2193';
1194
- margin-left: 2px;
1195
- text-decoration: initial;
1196
- display: inline-block
1197
- }
1198
-
1199
- .jss_scroll {
1200
- position:absolute;
1201
- min-height: 1px;
1202
- min-width: 1px;
1203
- }
1204
-
1205
- .jss > thead > tr.jss_group_container > th {
1206
- text-align: center;
1207
- overflow: initial;
1208
- background-color: transparent;
1209
- border: 0;
1210
- }
1211
-
1212
- .jss_group {
1213
- content: attr(data-status);
1214
- font-family: 'Courier new';
1215
- line-height: 16px;
1216
- text-align: center;
1217
- color: #fff;
1218
- border-radius: 2px;
1219
- background-color: #777;
1220
- width: 16px;
1221
- height: 16px;
1222
- box-sizing: border-box;
1223
- position: relative;
1224
- display: inline-block;
1225
- }
1226
-
1227
- .jss_group:after {
1228
- content: 'd';
1229
1085
  position: absolute;
1230
- border-top: 1px solid #ccc;
1231
- border-right: 1px solid #ccc;
1232
- width: 300px;
1233
- height: 4px;
1234
- left: 0;
1235
- margin-top: 7px;
1236
- margin-left: 16px;
1086
+ margin-top: -2px;
1087
+ margin-left: -15px;
1237
1088
  }
1238
1089
 
1239
- .jss_selectall {
1240
- box-shadow: inset 1px 1px 0 0 #ccc;
1090
+ .lm-lazy {
1091
+ position: relative;
1092
+ overflow-y: auto;
1093
+ display: flex;
1241
1094
  }
1242
-
1243
- .jss_selectall:after {
1244
- content: ' ';
1245
- border-bottom: 12px solid #ccc;
1246
- border-left: 12px solid transparent;
1247
- width: 0;
1095
+ .lm-lazy-scroll {
1248
1096
  position: absolute;
1249
- bottom: 3px;
1250
- right: 3px;
1251
- }
1252
-
1253
- .jss_pagination_dropdown {
1254
- margin-left: 4px;
1255
- margin-right: 4px;
1256
- }
1257
-
1258
- .red {
1259
- color: red;
1260
- }
1261
-
1262
- .jss > thead > tr > th.jss_filters_icon {
1263
- padding-right: 16px !important;
1264
- }
1265
-
1266
- .jss_red .jss_corner {
1267
- background-color: #DD0000;
1097
+ width: 1px;
1268
1098
  }
1269
1099
 
1270
- .jss_red .jss_border_main {
1271
- border: 1px solid #DD0000;
1272
- background-color: #DD000010;
1100
+ .lm-lazy-items {
1101
+ position: sticky;
1102
+ top: 0;
1273
1103
  }
1274
1104
 
1275
- .jss_red .jss > thead > tr > th.selected {
1276
- box-shadow: 0 1px 0 0 #DD0000;
1105
+ .jss_filters_options .lm-lazy-items {
1106
+ padding: 10px;
1277
1107
  }
1278
1108
 
1279
- .jss_red .jss > tbody > tr.selected > td:nth-child(2) {
1280
- border-left: 1px solid #DD0000 !important;
1281
- box-shadow: 1px 0 0 0 black;
1282
- }
1109
+ /** Picker */
1283
1110
 
1284
1111
  .jss_picker {
1285
1112
  position: relative;
1286
1113
  padding: 6px 8px;
1287
- border: 1px solid #ccc;
1114
+ border: 1px solid var(--jss-border-color);
1288
1115
  }
1289
1116
 
1290
1117
  .jss_picker:after {
1291
1118
  content: "highlight_alt";
1292
1119
  font-size: 18px;
1293
- font-family: "Material Icons";
1120
+ font-family: "Material Symbols Outlined", "Material Icons", "FontAwesome";
1294
1121
  color: #000;
1295
1122
  position: absolute;
1296
1123
  top: calc(50% - 9px);
@@ -1310,247 +1137,314 @@
1310
1137
  }
1311
1138
  }
1312
1139
 
1313
- .jss_media > div {
1314
- z-index: 10;
1140
+ /** Tabs */
1141
+
1142
+ .jtabs {
1143
+ max-width: initial;
1315
1144
  }
1316
1145
 
1317
- .jss_media_item[data-type="chart"] {
1318
- background-color: white;
1146
+ .jss_tabs > .jss_tab {
1147
+ display:none;
1319
1148
  }
1320
1149
 
1321
- .jss_image > img {
1322
- position: absolute;
1323
- max-width: 100%;
1324
- z-index: 10;
1150
+ .jss_tabs > .jss_tab_link {
1151
+ display: inline-block;
1152
+ padding: 10px 20px;
1153
+ margin: 0 5px 5px 0;
1154
+ background-color: var(--jss-background-color-header);
1155
+ cursor: pointer;
1325
1156
  }
1326
1157
 
1327
- .jss_image > img:focus {
1328
- outline: 2px solid black;
1158
+ .jss_tabs > .jss_tab_link.selected {
1159
+ background-color: #ddd;
1329
1160
  }
1330
1161
 
1331
- .jss > tbody > tr > td.jss_number {
1332
- text-align: right;
1162
+ .jtabs .jtabs-headers > div:not(.jtabs-border) {
1163
+ background-color: var(--jss-background-color-header);
1164
+ color: var(--jss-font-color);
1333
1165
  }
1334
1166
 
1335
- .jss .jcolor-input {
1336
- padding: 5px !important;
1337
- padding-right: 24px !important;
1167
+ .jtabs .jtabs-headers > div.jtabs-selected {
1168
+ background-color: var(--jss-background-color-highlight);
1338
1169
  }
1339
1170
 
1340
- .jss_warning {
1341
- border-left: 1px solid red;
1342
- background-color: #ffefef;
1171
+ /** Toolbars */
1172
+
1173
+ .jss_toolbar {
1174
+ background-color: var(--jss-background-color-header);
1175
+ border: 1px solid var(--jss-border-color);
1176
+ padding: 4px;
1177
+ position: sticky;
1178
+ top: 0;
1179
+ z-index: 6;
1180
+ min-width: fit-content;
1181
+ margin-top: 1px;
1182
+ margin-bottom: 1px;
1183
+ }
1184
+
1185
+ .jss_container.fullscreen .jss_toolbar {
1343
1186
  position: relative;
1187
+ margin-bottom: 1px;
1188
+ margin-right: 0;
1344
1189
  }
1345
1190
 
1346
- .jss_warning:before {
1347
- content: 'warning';
1348
- font-family: 'Material Icons';
1349
- font-size: 13px;
1350
- position: absolute;
1351
- color: red;
1352
- left: 2px;
1353
- top: calc(50% - 6px);
1354
- font-weight: normal;
1191
+ .jss_toolbar .jtoolbar-item:hover {
1192
+ background-color: var(--jss-background-color-highlight, #e8e8e8);
1355
1193
  }
1356
1194
 
1357
- .jss > tbody > tr > td.jss_warning {
1358
- padding-left: 16px;
1195
+ .jss_toolbar .jtoolbar-item > .jpicker-header:hover {
1196
+ background-color: var(--jss-background-color-highlight, #e8e8e8);
1359
1197
  }
1360
1198
 
1361
- .jss_hidden {
1199
+ .jss_toolbar .material-icons {
1200
+ color: var(--jss-icon-color, #444);
1201
+ }
1202
+
1203
+ .jss_toolbar .jtoolbar-divisor {
1204
+ background: var(--jss-border-color-light, #777);
1205
+ }
1206
+
1207
+ .jss_toolbar .jpicker-content {
1208
+ background: var(--jss-background-color-header #fff);
1209
+ }
1210
+
1211
+ .jss_toolbar:empty {
1362
1212
  display: none;
1363
1213
  }
1364
1214
 
1365
- .fullscreen .jss_content {
1366
- resize: none !important;
1215
+ .jss_toolbar i.jss_toolbar_item {
1216
+ width: 24px;
1217
+ height: 24px;
1218
+ padding: 4px;
1219
+ cursor: pointer;
1220
+ display: inline-block;
1367
1221
  }
1368
1222
 
1369
- .jss_last {
1370
- z-index: 4;
1223
+ .jss_toolbar .jss_toolbar_selected {
1224
+ background-color: var(--jss-background-color-highlight, #e8e8e8);
1371
1225
  }
1372
1226
 
1373
- .jss_resize_corner {
1227
+ .jss_toolbar::-webkit-scrollbar {
1228
+ display: none;
1229
+ }
1230
+
1231
+ /** Editors */
1232
+
1233
+ .jss_editor {
1234
+ pointer-events: none;
1374
1235
  position: absolute;
1375
- width: 8px;
1376
- height: 8px;
1377
- border-radius: 8px;
1378
- border: 2px solid white;
1379
- background-color: red;
1380
- pointer-events: all;
1236
+ z-index: 6;
1237
+ opacity: 0;
1381
1238
  }
1382
1239
 
1383
- .jss tbody .jss_frozen_row {
1384
- position: sticky;
1385
- z-index: 1;
1386
- background-color: #fff;
1387
- box-shadow: 1px 1px 2px 0 #aaa;
1240
+ .jss_input {
1241
+ box-sizing: border-box;
1242
+ white-space: pre-wrap;
1243
+ line-height: 1;
1244
+ outline: none;
1388
1245
  }
1389
1246
 
1390
- .jss tbody .jss_frozen_row.jss_frozen {
1391
- box-shadow: 1px 1px 2px 0 #aaa;
1392
- z-index: 2;
1247
+ .jss_editor.jss_focus {
1248
+ opacity: 1;
1249
+ pointer-events: initial;
1250
+ }
1251
+
1252
+ .jss_editor.jss_focus .jss_input {
1253
+ padding: 4px;
1254
+ background-color: var(--jss-background-color);
1255
+ }
1256
+
1257
+ .jss_editor.jss_focus .jss_input.jss_input_flat {
1258
+ padding: 0;
1259
+ }
1260
+
1261
+ .jss_dialog {
1262
+ height: 240px;
1263
+ width: 350px;
1264
+ user-select: none;
1265
+ box-shadow: 2px 2px 8px 2px var(--jss-border-color);
1266
+ text-align:left;
1267
+ box-sizing: border-box;
1268
+ overflow: auto;
1269
+ scrollbar-width: thin;
1270
+ scrollbar-color: var(--jss-border-color-highlight) var(--jss-background-color);
1271
+ background-color: var(--jss-background-color-header, #f8f8f8);
1272
+ position: relative;
1393
1273
  }
1394
1274
 
1395
- .jss_cursor.jss_frozen_row {
1396
- background-color: #eee !important;
1275
+ .jss_input > .jss_dialog {
1276
+ max-width: 600px;
1397
1277
  }
1398
1278
 
1399
- .jss > tbody > tr > td.jss_row.jss_frozen_row {
1400
- z-index: 5;
1401
- box-shadow: 0 2px 0 0 #aaa;
1279
+ .jss_dialog.jclose:after {
1280
+ position: absolute;
1281
+ top: 0;
1282
+ right: 0;
1283
+ margin: 10px;
1284
+ content: 'close';
1285
+ font-family: "Material Symbols Outlined", "Material Icons", "FontAwesome";
1286
+ font-size: 24px;
1287
+ width: 24px;
1288
+ height: 24px;
1289
+ line-height: 24px;
1290
+ cursor: pointer;
1291
+ text-shadow: 0 0 5px #fff;
1402
1292
  }
1403
1293
 
1404
- .jss_freeze_control_col {
1405
- border-right: 1px solid #aaa !important;
1294
+ .jss_dialog[title]:before {
1295
+ margin: 10px;
1296
+ content: attr(title);
1297
+ position: absolute;
1298
+ top: 0;
1299
+ right: 0;
1300
+ line-height: 24px;
1406
1301
  }
1407
1302
 
1408
- .jss_freeze_control_row {
1409
- border-bottom: 1px solid #aaa !important;
1303
+ .jss_dialog .jtoolbar {
1304
+ height: initial;
1410
1305
  }
1411
1306
 
1412
- .jss_rotate {
1413
- -ms-writing-mode: tb-rl;
1414
- -webkit-writing-mode: vertical-rl;
1415
- writing-mode: vertical-rl;
1416
- transform: rotate(0deg);
1417
- white-space: nowrap;
1307
+ .jss_percent:after {
1308
+ content: ' %';
1418
1309
  }
1419
1310
 
1420
- .jss tbody tr:nth-child(even) td.jss_zebra {
1421
- background-color: #eee;
1311
+ .jss_percent.jss_formula:after {
1312
+ content: '';
1422
1313
  }
1423
1314
 
1424
- .jss_zebra tbody tr:nth-child(even) td {
1425
- background-color: #eee;
1315
+ .jss_input.jss_formula {
1316
+ white-space: nowrap;
1317
+ overflow: hidden;
1426
1318
  }
1427
1319
 
1428
- .jss div {
1429
- line-height: normal;
1320
+ .jss_input.jss_nowrap {
1321
+ display: flex;
1322
+ flex-wrap: nowrap;
1323
+ overflow: hidden;
1430
1324
  }
1431
1325
 
1432
- @-webkit-keyframes spin {
1433
- from {-webkit-transform:rotate(0deg);}
1434
- to {-webkit-transform:rotate(360deg);}
1326
+ .jss_input.jss_nowrap.jss_formula {
1327
+ display: initial;
1435
1328
  }
1436
1329
 
1437
- @keyframes spin {
1438
- from {transform:rotate(0deg);}
1439
- to {transform:rotate(360deg);}
1330
+ .jss_editor.jss_focus .jss_notes {
1331
+ width: 320px;
1332
+ height: 240px;
1333
+ padding: 10px;
1334
+ outline: 2px solid black;
1440
1335
  }
1441
1336
 
1442
- .jss_searching {
1337
+ .jss_color {
1443
1338
  position: relative;
1444
1339
  }
1445
1340
 
1446
- .jss_searching:after {
1341
+ .jss_color:before {
1447
1342
  content: '';
1448
- display: block;
1449
1343
  position: absolute;
1450
- right: 16px;
1451
- top: calc(50% - 7px);
1344
+ margin-top: 2px;
1345
+ margin-left: -16px;
1452
1346
  width: 12px;
1453
1347
  height: 12px;
1454
- border-style: solid;
1455
- border-color: #888;
1456
- border-top-color: transparent;
1457
- border-width: 1px;
1458
- border-radius: 50%;
1459
- -webkit-animation: spin .8s linear infinite;
1460
- animation: spin .8s linear infinite;
1348
+ border-radius: 12px;
1349
+ background-color: var(--jss-color);
1461
1350
  }
1462
1351
 
1463
- .jss_nogridline>tbody>tr>td {
1464
- border: 1px solid transparent;
1465
- }
1352
+ /** Visibility */
1466
1353
 
1467
- .jss_highlight {
1468
- background-color: #ffffd6;
1354
+ .jss_collapsed_col, .jss_collapsed_row {
1355
+ visibility: collapse;
1469
1356
  }
1470
1357
 
1471
- .jss_row > i.material-icons {
1472
- font-size: 13px;
1473
- position: absolute;
1474
- right: 2px;
1475
- margin-top: 2px;
1476
- cursor: pointer;
1358
+ .jss_collapsed_col {
1359
+ width: 0;
1477
1360
  }
1478
1361
 
1479
- .jss_header > i.material-icons {
1480
- font-size: 13px;
1481
- position: absolute;
1482
- right: 2px;
1483
- margin-top: 2px;
1484
- cursor: pointer;
1362
+ .jss_collapsed_row {
1363
+ height: 0;
1485
1364
  }
1486
1365
 
1487
- .jss_header.jss_filters_icon > i.material-icons {
1488
- right: 16px;
1366
+ .jss_hidden {
1367
+ display: none;
1489
1368
  }
1490
1369
 
1491
- .jss_upload {
1492
- position: absolute !important;
1370
+ .jss_hidden_index > thead > tr > th:first-child,
1371
+ .jss_hidden_index > tbody > tr > td:first-child,
1372
+ .jss_hidden_index > tfoot > tr > td:first-child,
1373
+ .jss_hidden_index > colgroup > col:first-child {
1493
1374
  display: none;
1494
- margin-left: -240px;
1495
1375
  }
1496
1376
 
1497
- .jss_group_parent {
1498
- background-color: #65656522;
1377
+ .jss_hidden_col, .jss_hidden_row {
1378
+ visibility: collapse;
1499
1379
  }
1500
1380
 
1501
- .jss_group_parent > .jss_frozen {
1502
- background-color: #eee;
1381
+ .jss_hidden_col {
1382
+ width: 0;
1503
1383
  }
1504
1384
 
1505
- .jss_group_child {
1506
- background-color: #bbbbbb22;
1385
+ .jss_hidden_row {
1386
+ height: 0;
1507
1387
  }
1508
1388
 
1509
- .jss_group_child > .jss_frozen {
1510
- background-color: #f4f4f4;
1389
+ .jss_hidden_col_after {
1390
+ background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="8" height="16"><path d="M40 50 L100 0 L100 100 Z" fill="gray"/></svg>');
1391
+ background-repeat: no-repeat;
1392
+ background-position: center right 2px;
1511
1393
  }
1512
1394
 
1513
- .jss_group_parent.jss_group_child {
1514
- background-color: #77777722;
1395
+ .jss_hidden_col_before {
1396
+ background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="8" height="16"><path d="M60 50 L0 0 L0 100 Z" fill="gray"/></svg>');
1397
+ background-repeat: no-repeat;
1398
+ background-position: center left 3px;
1515
1399
  }
1516
1400
 
1517
- .jss_tooltip {
1518
- position: absolute;
1519
- pointer-events: none;
1520
- background-color: rgba(0,0,0,0.7);
1521
- color: #fff;
1522
- border-radius: 5px;
1523
- padding: 5px 10px;
1524
- white-space: nowrap;
1525
- z-index: 999;
1401
+ .jss_hidden_row_after > td:first-child {
1402
+ background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="16" height="8"><path d="M50 40 L0 100 L100 100 Z" fill="gray"/></svg>');
1403
+ background-repeat: no-repeat;
1404
+ background-position: left bottom 2px;
1405
+ }
1526
1406
 
1527
- display: block;
1528
- animation: fadeIn 0.5s;
1407
+ .jss_hidden_row_before > td:first-child {
1408
+ background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="16" height="8"><path d="M0 0 L100 0 L50 60 Z" fill="gray"/></svg>');
1409
+ background-repeat: no-repeat;
1410
+ background-position: left top 3px;
1529
1411
  }
1530
1412
 
1531
- .jss_tooltip:empty {
1532
- display: none;
1413
+ /** Tables */
1414
+
1415
+ .jss tbody tr td.jss_table {
1416
+ text-align: left;
1533
1417
  }
1534
1418
 
1535
- .lm-lazy {
1536
- position: relative;
1537
- overflow-y: auto;
1538
- display: flex;
1419
+ .jss tbody tr td.jss_table.is-even {
1420
+ background: var(--range-bg, var(--jss-background-color-highlight));
1539
1421
  }
1540
- .lm-lazy-scroll {
1541
- position: absolute;
1542
- width: 1px;
1422
+
1423
+ .jss tbody tr td.jss_table.is-header {
1424
+ font-weight: bold;
1543
1425
  }
1544
1426
 
1545
- .lm-lazy-items {
1546
- position: sticky;
1547
- top: 0;
1427
+ .jss tbody tr td.jss_table.is-header,
1428
+ .jss tbody tr td.jss_table.is-top {
1429
+ border-top: var(--range-border, 1px solid #000);
1548
1430
  }
1549
1431
 
1550
- .jss_filters_options .lm-lazy-items {
1551
- padding: 10px;
1432
+ .jss tbody tr td.jss_table.is-left,
1433
+ .jss tbody tr td.jss_table.is-right {
1434
+ font-weight: bold;
1435
+ }
1436
+
1437
+ .jss tbody tr td.jss_table.is-total {
1438
+ font-weight: bold;
1439
+ }
1440
+
1441
+ .jss tbody tr td.jss_table.is-total,
1442
+ .jss tbody tr td.jss_table.is-bottom {
1443
+ border-bottom: var(--range-border, 1px solid #000);
1552
1444
  }
1553
1445
 
1446
+ /** General style */
1447
+
1554
1448
  .jss_style_row {
1555
1449
  display:flex;
1556
1450
  flex-wrap: wrap;
@@ -1595,7 +1489,7 @@
1595
1489
  .jss_style_form_group input[type="text"], .jss_style_form_group input[type="number"], .jss_style_form_group select, .jss_style_form_group textarea {
1596
1490
  width: 100%;
1597
1491
  padding: 6px 8px;
1598
- border: 1px solid #ccc;
1492
+ border: 1px solid var(--jss-border-color);
1599
1493
  box-sizing: border-box;
1600
1494
  color: inherit;
1601
1495
  font-family: inherit;
@@ -1606,10 +1500,6 @@
1606
1500
  padding: 5px 8px;
1607
1501
  }
1608
1502
 
1609
- .jss_style_form_group .jdropdown {
1610
- width: 100%;
1611
- }
1612
-
1613
1503
  .jss_style_p2 {
1614
1504
  padding: 2px;
1615
1505
  }
@@ -1641,77 +1531,89 @@
1641
1531
  opacity: 0.6;
1642
1532
  }
1643
1533
 
1644
- .jss input[disabled] {
1645
- opacity: 0.6;
1534
+
1535
+ /** Build-in themes :: MODERN **/
1536
+
1537
+ .jss_modern table.jss {
1538
+ border-right: 1px solid transparent;
1646
1539
  }
1647
1540
 
1648
- .jss_actions {
1649
- float: right;
1650
- display: block;
1651
- margin-left: 4px;
1541
+ .jss_modern table.jss > thead > tr > th {
1542
+ background-color: #f5f5f5;
1543
+ border-top: 1px solid #ddd;
1544
+ border-right: 1px solid transparent;
1545
+ padding: 8px;
1652
1546
  }
1653
1547
 
1654
- div.jss_filters_icon {
1655
- font-size: 13px;
1656
- width: 13px;
1657
- height: 13px;
1658
- padding: 1px;
1659
- border-radius: 2px;
1660
- color: grey;
1661
- cursor: pointer;
1548
+ .jss_modern table.jss > thead > tr > th {
1549
+ border-left: 1px solid transparent;
1662
1550
  }
1663
1551
 
1664
- div.jss_filters_icon:hover,
1665
- div.jss_filters_icon.jss_filters_active {
1666
- color: white;
1667
- background-color: #d92b04;
1552
+ .jss_modern table.jss > thead > tr > th:first-child {
1553
+ box-shadow: 1px 0 0 0 #ddd;
1668
1554
  }
1669
1555
 
1670
- div.jss_filters_icon::before {
1671
- font-family: "Material Icons";
1672
- content: 'filter_list';
1673
- font-size: 13px;
1556
+ .jss_modern table.jss > thead > tr:last-child > th {
1557
+ border-bottom: 1px solid #000;
1674
1558
  }
1675
1559
 
1676
- div.jss_filters_icon.jss_filters_active:hover {
1677
- color: grey;
1678
- background-color: #f1f1f1;
1560
+ .jss_modern table.jss > tfoot > tr > td {
1561
+ border-top: 1px solid #000;
1562
+ border-left: 1px solid transparent;
1563
+ border-right: 1px solid transparent;
1564
+ border-bottom: 1px solid transparent;
1565
+ background-color: #fff;
1566
+ padding: 8px;
1679
1567
  }
1680
1568
 
1681
- div.jss_filters_icon.jss_filters_active::before {
1682
- content: 'filter_alt';
1569
+ .jss_modern table.jss > thead > tr > th.jss_filters_icon {
1570
+ background-position: center right 8px;
1683
1571
  }
1684
1572
 
1685
- .jss_result > td:first-child {
1686
- color: #d92b04;
1573
+ .jss_modern table.jss > thead > tr > th.selected {
1574
+ background-color: #eee;
1687
1575
  }
1688
1576
 
1689
- .jss_filters_sorting {
1690
- margin-bottom: 6px;
1691
- padding-bottom: 4px;
1692
- border-bottom: 1px solid #d9d9d9;
1577
+ .jss_modern table.jss > tbody > tr > td {
1578
+ border-right: 1px solid transparent;
1579
+ border-left: 1px solid transparent;
1693
1580
  }
1694
1581
 
1695
- .jss_filters_sorting > div {
1696
- margin-bottom: 10px;
1697
- padding: 2px 2px 2px 15px;
1582
+ .jss_modern table.jss > tbody > tr > td:first-child {
1583
+ background-color: #f5f5f5;
1698
1584
  }
1699
1585
 
1700
- .jss_filters_sorting > div:hover {
1701
- text-decoration: underline;
1702
- cursor: pointer;
1586
+ .jss_modern table.jss > tbody > tr.selected > td:first-child {
1587
+ background-color:#eee;
1703
1588
  }
1704
1589
 
1705
- .jss_filters_sorting_up::before {
1706
- content: '\2191';
1707
- position: absolute;
1708
- margin-top: -2px;
1709
- margin-left: -15px;
1590
+ .jss_modern .jss_toolbar {
1591
+ background-color: #f5f5f5;
1710
1592
  }
1711
1593
 
1712
- .jss_filters_sorting_down::before {
1713
- content: '\2193';
1714
- position: absolute;
1715
- margin-top: -2px;
1716
- margin-left: -15px;
1594
+ .jss_modern .jss_toolbar {
1595
+ border-color: #ddd;
1596
+ }
1597
+
1598
+ .jss_modern .jss_pagination {
1599
+ background-color: #f8f8f8;
1600
+ border: 1px solid #eee;
1601
+ }
1602
+
1603
+ .jss_modern .jss_pagination > div > div {
1604
+ border: 1px solid transparent;
1605
+ background-color: #fff;
1606
+ }
1607
+
1608
+ .jss_modern .jss_page_selected {
1609
+ background: linear-gradient(to bottom, #fff 0%, #dcdcdc 100%);
1610
+ border:1px solid #979797 !important;
1611
+ font-weight:normal;
1612
+ color: #333 !important;
1613
+ border-radius:2px;
1614
+ }
1615
+
1616
+ .jss_modern .jss_search_container {
1617
+ background: initial;
1618
+ border: initial;
1717
1619
  }