gridjs-spreadsheet 26.7.0 → 26.8.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.
package/xspreadsheet.css CHANGED
@@ -18,6 +18,451 @@ body {
18
18
  position: relative;
19
19
  overflow: hidden;
20
20
  }
21
+ .x-spreadsheet-workspace {
22
+ display: grid;
23
+ width: 100%;
24
+ grid-template-columns: minmax(0, 1fr) 0;
25
+ align-items: stretch;
26
+ overflow: hidden;
27
+ }
28
+ .x-spreadsheet-workspace.x-spreadsheet-workspace-format-open {
29
+ grid-template-columns: minmax(0, 1fr) minmax(0, clamp(0px, 42%, 340px));
30
+ }
31
+ .x-spreadsheet-workspace-sheet-pane {
32
+ min-width: 0;
33
+ overflow: hidden;
34
+ }
35
+ .x-spreadsheet-workspace-sheet-pane > .x-spreadsheet-bottombar {
36
+ box-sizing: border-box;
37
+ width: 100%;
38
+ }
39
+ .x-spreadsheet-format-panel {
40
+ position: relative;
41
+ z-index: 90;
42
+ display: flex;
43
+ width: 100%;
44
+ min-width: 0;
45
+ flex-direction: column;
46
+ align-self: stretch;
47
+ box-sizing: border-box;
48
+ overflow: hidden;
49
+ color: #27313d;
50
+ background: #fff;
51
+ border-left: 1px solid #d9dee5;
52
+ box-shadow: -8px 0 24px rgba(31, 42, 55, 0.08);
53
+ opacity: 0;
54
+ visibility: hidden;
55
+ pointer-events: none;
56
+ transform: translate3d(100%, 0, 0);
57
+ transition: transform 240ms cubic-bezier(0.16, 1, 0.3, 1), opacity 180ms ease, visibility 0s linear 240ms;
58
+ }
59
+ .x-spreadsheet-format-panel.x-spreadsheet-format-panel-open {
60
+ opacity: 1;
61
+ visibility: visible;
62
+ pointer-events: auto;
63
+ transform: translate3d(0, 0, 0);
64
+ transition-delay: 0s;
65
+ }
66
+ .x-spreadsheet-format-panel-header {
67
+ display: flex;
68
+ min-height: 52px;
69
+ align-items: center;
70
+ justify-content: space-between;
71
+ box-sizing: border-box;
72
+ padding: 0 10px 0 16px;
73
+ border-bottom: 1px solid #e4e7eb;
74
+ }
75
+ .x-spreadsheet-format-panel-title {
76
+ overflow: hidden;
77
+ font-size: 15px;
78
+ font-weight: 600;
79
+ line-height: 20px;
80
+ text-overflow: ellipsis;
81
+ white-space: nowrap;
82
+ }
83
+ .x-spreadsheet-format-panel-close,
84
+ .x-spreadsheet-format-panel-tab {
85
+ display: inline-flex;
86
+ align-items: center;
87
+ justify-content: center;
88
+ box-sizing: border-box;
89
+ padding: 0;
90
+ color: inherit;
91
+ font: inherit;
92
+ background: transparent;
93
+ border: 0;
94
+ cursor: pointer;
95
+ }
96
+ .x-spreadsheet-format-panel-close .x-spreadsheet-icon,
97
+ .x-spreadsheet-format-panel-tab .x-spreadsheet-icon {
98
+ margin: 0;
99
+ }
100
+ .x-spreadsheet-format-panel-close {
101
+ width: 32px;
102
+ height: 32px;
103
+ border-radius: 4px;
104
+ }
105
+ .x-spreadsheet-format-panel-close:hover,
106
+ .x-spreadsheet-format-panel-close:focus-visible {
107
+ background: #f0f2f4;
108
+ outline: none;
109
+ }
110
+ .x-spreadsheet-format-panel-close:active {
111
+ transform: scale(0.96);
112
+ }
113
+ .x-spreadsheet-format-panel-tabs {
114
+ display: flex;
115
+ min-height: 56px;
116
+ align-items: stretch;
117
+ justify-content: center;
118
+ gap: 10px;
119
+ padding: 0 12px;
120
+ border-bottom: 1px solid #e4e7eb;
121
+ }
122
+ .x-spreadsheet-format-panel-tab {
123
+ position: relative;
124
+ width: 42px;
125
+ min-height: 56px;
126
+ cursor: default;
127
+ opacity: 0.56;
128
+ }
129
+ .x-spreadsheet-format-panel-tab:not(:disabled) {
130
+ cursor: pointer;
131
+ opacity: 0.76;
132
+ }
133
+ .x-spreadsheet-format-panel-tab:not(:disabled):hover,
134
+ .x-spreadsheet-format-panel-tab:not(:disabled):focus-visible {
135
+ color: #2f7d50;
136
+ background: #f2f7f4;
137
+ outline: none;
138
+ }
139
+ .x-spreadsheet-format-panel-tab:disabled {
140
+ cursor: not-allowed;
141
+ opacity: 0.32;
142
+ }
143
+ .x-spreadsheet-format-panel-tab.x-spreadsheet-format-panel-tab-active {
144
+ color: #2f7d50;
145
+ opacity: 1;
146
+ }
147
+ .x-spreadsheet-format-panel-tab.x-spreadsheet-format-panel-tab-active:after {
148
+ position: absolute;
149
+ right: 4px;
150
+ bottom: 0;
151
+ left: 4px;
152
+ height: 2px;
153
+ content: '';
154
+ background: #2f7d50;
155
+ }
156
+ .x-spreadsheet-format-panel-body {
157
+ flex: 1;
158
+ box-sizing: border-box;
159
+ overflow: auto;
160
+ background: #fff;
161
+ }
162
+ .x-spreadsheet-format-panel-empty-title {
163
+ margin: 24px 20px 6px;
164
+ font-size: 14px;
165
+ font-weight: 600;
166
+ line-height: 20px;
167
+ }
168
+ .x-spreadsheet-format-panel-empty-description {
169
+ max-width: 250px;
170
+ margin: 0 20px;
171
+ color: #697586;
172
+ font-size: 13px;
173
+ line-height: 20px;
174
+ }
175
+ .x-spreadsheet-format-panel-target {
176
+ padding: 12px 16px;
177
+ background: #fafbfc;
178
+ border-bottom: 1px solid #e4e7eb;
179
+ }
180
+ .x-spreadsheet-format-panel-target-name {
181
+ overflow: hidden;
182
+ color: #27313d;
183
+ font-size: 13px;
184
+ font-weight: 600;
185
+ line-height: 18px;
186
+ text-overflow: ellipsis;
187
+ white-space: nowrap;
188
+ }
189
+ .x-spreadsheet-format-panel-target-type {
190
+ overflow: hidden;
191
+ margin-top: 2px;
192
+ color: #697586;
193
+ font-size: 12px;
194
+ line-height: 16px;
195
+ text-overflow: ellipsis;
196
+ white-space: nowrap;
197
+ }
198
+ .x-spreadsheet-format-panel-locked {
199
+ margin: 12px 16px 0;
200
+ padding: 10px 12px;
201
+ color: #714b00;
202
+ background: #fff8e6;
203
+ border: 1px solid #f0d99b;
204
+ border-radius: 4px;
205
+ }
206
+ .x-spreadsheet-format-panel-locked-title {
207
+ font-size: 13px;
208
+ font-weight: 600;
209
+ line-height: 18px;
210
+ }
211
+ .x-spreadsheet-format-panel-locked-description {
212
+ margin-top: 2px;
213
+ font-size: 12px;
214
+ line-height: 17px;
215
+ }
216
+ .x-spreadsheet-format-panel-sections {
217
+ display: flex;
218
+ flex-direction: column;
219
+ }
220
+ .x-spreadsheet-format-panel-section {
221
+ border-bottom: 1px solid #e4e7eb;
222
+ }
223
+ .x-spreadsheet-format-panel-section-heading {
224
+ margin: 0;
225
+ }
226
+ .x-spreadsheet-format-panel-section-toggle {
227
+ display: flex;
228
+ width: 100%;
229
+ min-height: 46px;
230
+ align-items: center;
231
+ box-sizing: border-box;
232
+ gap: 10px;
233
+ padding: 12px 16px;
234
+ color: #27313d;
235
+ font: inherit;
236
+ text-align: left;
237
+ background: transparent;
238
+ border: 0;
239
+ cursor: pointer;
240
+ }
241
+ .x-spreadsheet-format-panel-section-toggle:hover,
242
+ .x-spreadsheet-format-panel-section-toggle:focus-visible {
243
+ background: #f7f8f9;
244
+ outline: none;
245
+ }
246
+ .x-spreadsheet-format-panel-section-chevron {
247
+ width: 8px;
248
+ height: 8px;
249
+ flex: 0 0 auto;
250
+ border-right: 2px solid currentColor;
251
+ border-bottom: 2px solid currentColor;
252
+ transform: translateY(-2px) rotate(45deg);
253
+ transition: transform 160ms ease;
254
+ }
255
+ .x-spreadsheet-format-panel-section-collapsed .x-spreadsheet-format-panel-section-chevron {
256
+ transform: translate(-2px, 0) rotate(-45deg);
257
+ }
258
+ .x-spreadsheet-format-panel-section-title {
259
+ font-size: 14px;
260
+ font-weight: 600;
261
+ line-height: 20px;
262
+ }
263
+ .x-spreadsheet-format-panel-section-content {
264
+ padding: 0 18px 18px 42px;
265
+ }
266
+ .x-spreadsheet-format-panel-fields {
267
+ display: flex;
268
+ flex-direction: column;
269
+ gap: 10px;
270
+ }
271
+ .x-spreadsheet-format-panel-field {
272
+ display: grid;
273
+ min-width: 0;
274
+ grid-template-columns: minmax(0, 1fr) minmax(128px, 56%);
275
+ align-items: center;
276
+ column-gap: 12px;
277
+ }
278
+ .x-spreadsheet-format-panel-fill-content {
279
+ display: flex;
280
+ flex-direction: column;
281
+ }
282
+ .x-spreadsheet-format-panel-fill-options {
283
+ display: flex;
284
+ flex-direction: column;
285
+ gap: 10px;
286
+ }
287
+ .x-spreadsheet-format-panel-fill-option {
288
+ display: flex;
289
+ min-height: 24px;
290
+ align-items: center;
291
+ gap: 9px;
292
+ color: #3c4653;
293
+ font-size: 13px;
294
+ line-height: 20px;
295
+ cursor: pointer;
296
+ }
297
+ .x-spreadsheet-format-panel-fill-radio {
298
+ width: 17px;
299
+ height: 17px;
300
+ flex: 0 0 auto;
301
+ margin: 0;
302
+ accent-color: #217346;
303
+ }
304
+ .x-spreadsheet-format-panel-fill-divider {
305
+ height: 1px;
306
+ margin: 14px 0;
307
+ background: #d6d9dd;
308
+ }
309
+ .x-spreadsheet-format-panel-label {
310
+ min-width: 0;
311
+ color: #374151;
312
+ font-size: 13px;
313
+ line-height: 18px;
314
+ }
315
+ .x-spreadsheet-format-panel-number-control {
316
+ display: flex;
317
+ min-width: 0;
318
+ height: 36px;
319
+ align-items: center;
320
+ box-sizing: border-box;
321
+ overflow: hidden;
322
+ background: #fff;
323
+ border: 1px solid #9aa1a9;
324
+ border-radius: 5px;
325
+ }
326
+ .x-spreadsheet-format-panel-number-control:hover:not(.x-spreadsheet-format-panel-number-control-disabled) {
327
+ border-color: #66707a;
328
+ }
329
+ .x-spreadsheet-format-panel-number-control:focus-within {
330
+ border-color: #217346;
331
+ box-shadow: 0 0 0 2px rgba(33, 115, 70, 0.14);
332
+ }
333
+ .x-spreadsheet-format-panel-number-control.x-spreadsheet-format-panel-control-invalid {
334
+ border-color: #c43d3d;
335
+ box-shadow: 0 0 0 2px rgba(196, 61, 61, 0.12);
336
+ }
337
+ .x-spreadsheet-format-panel-number-control-disabled {
338
+ background: #f1f3f5;
339
+ border-color: #d4d8dd;
340
+ }
341
+ .x-spreadsheet-format-panel-number-input {
342
+ width: 100%;
343
+ min-width: 0;
344
+ height: 34px;
345
+ box-sizing: border-box;
346
+ padding: 6px 4px 6px 10px;
347
+ color: #27313d;
348
+ font: inherit;
349
+ font-size: 13px;
350
+ background: transparent;
351
+ border: 0;
352
+ outline: none;
353
+ }
354
+ .x-spreadsheet-format-panel-number-input:focus {
355
+ outline: none;
356
+ }
357
+ .x-spreadsheet-format-panel-number-input:disabled {
358
+ color: #89939f;
359
+ background: transparent;
360
+ cursor: not-allowed;
361
+ }
362
+ .x-spreadsheet-format-panel-number-input.x-spreadsheet-format-panel-input-invalid {
363
+ color: #b42318;
364
+ }
365
+ .x-spreadsheet-format-panel-unit {
366
+ display: inline-flex;
367
+ min-width: 28px;
368
+ height: 34px;
369
+ align-items: center;
370
+ justify-content: center;
371
+ box-sizing: border-box;
372
+ flex: 0 0 auto;
373
+ padding: 0 8px 0 4px;
374
+ color: #697586;
375
+ font-size: 12px;
376
+ background: transparent;
377
+ }
378
+ .x-spreadsheet-format-panel-color-control {
379
+ justify-self: end;
380
+ }
381
+ .x-spreadsheet-format-panel-color-button {
382
+ display: inline-flex;
383
+ width: 72px;
384
+ height: 40px;
385
+ align-items: center;
386
+ justify-content: space-between;
387
+ box-sizing: border-box;
388
+ padding: 0 10px;
389
+ color: #27313d;
390
+ background: #fff;
391
+ border: 1px solid #8f969e;
392
+ border-radius: 6px;
393
+ cursor: pointer;
394
+ }
395
+ .x-spreadsheet-format-panel-color-button:hover:not(:disabled),
396
+ .x-spreadsheet-format-panel-color-button:focus-visible {
397
+ border-color: #217346;
398
+ box-shadow: 0 0 0 2px rgba(33, 115, 70, 0.14);
399
+ outline: none;
400
+ }
401
+ .x-spreadsheet-format-panel-color-button:disabled {
402
+ cursor: not-allowed;
403
+ opacity: 0.48;
404
+ }
405
+ .x-spreadsheet-format-panel-color-button-icon {
406
+ position: relative;
407
+ display: inline-flex;
408
+ width: 28px;
409
+ height: 27px;
410
+ align-items: flex-start;
411
+ justify-content: center;
412
+ }
413
+ .x-spreadsheet-format-panel-color-button-icon .x-spreadsheet-icon {
414
+ margin: 0;
415
+ }
416
+ .x-spreadsheet-format-panel-color-swatch {
417
+ position: absolute;
418
+ right: 2px;
419
+ bottom: 0;
420
+ left: 2px;
421
+ height: 3px;
422
+ }
423
+ .x-spreadsheet-format-panel-color-button-arrow {
424
+ width: 7px;
425
+ height: 7px;
426
+ border-right: 1.5px solid currentColor;
427
+ border-bottom: 1.5px solid currentColor;
428
+ transform: translateY(-2px) rotate(45deg);
429
+ }
430
+ .x-spreadsheet-format-panel-color-palette-popup {
431
+ box-sizing: border-box;
432
+ padding: 4px;
433
+ background: #fff;
434
+ border: 1px solid #c8cdd3;
435
+ border-radius: 4px;
436
+ box-shadow: 0 8px 22px rgba(31, 42, 55, 0.2);
437
+ }
438
+ .x-spreadsheet-format-panel-error {
439
+ grid-column: 2;
440
+ margin-top: 4px;
441
+ color: #b42318;
442
+ font-size: 12px;
443
+ line-height: 16px;
444
+ }
445
+ @media (max-width: 720px) {
446
+ .x-spreadsheet-format-panel-section-content {
447
+ padding-right: 16px;
448
+ padding-left: 16px;
449
+ }
450
+ .x-spreadsheet-format-panel-field {
451
+ grid-template-columns: minmax(0, 1fr);
452
+ row-gap: 5px;
453
+ }
454
+ .x-spreadsheet-format-panel-color-control {
455
+ justify-self: start;
456
+ }
457
+ .x-spreadsheet-format-panel-error {
458
+ grid-column: 1;
459
+ }
460
+ }
461
+ @media (prefers-reduced-motion: reduce) {
462
+ .x-spreadsheet-format-panel {
463
+ transition: none;
464
+ }
465
+ }
21
466
  .x-spreadsheet-table {
22
467
  vertical-align: bottom;
23
468
  }
@@ -76,6 +521,87 @@ body {
76
521
  z-index: 1;
77
522
  box-shadow: 1px 1px 3px -1px rgba(255, 255, 0, 0.3);
78
523
  }
524
+ .x-spreadsheet-comment-tip.has-thread {
525
+ padding: 0;
526
+ background: #fff;
527
+ border: 1.5px solid #D0C4E8;
528
+ border-radius: 8px;
529
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
530
+ transition: border-color 0.2s, box-shadow 0.2s;
531
+ }
532
+ .x-spreadsheet-comment-tip.has-thread:before {
533
+ display: none;
534
+ }
535
+ .x-spreadsheet-comment-tip.has-thread:hover {
536
+ border-color: #7A5CFF;
537
+ box-shadow: 0 4px 16px rgba(122, 92, 255, 0.15);
538
+ }
539
+ .x-spreadsheet-comment-tip.has-thread .x-spreadsheet-comment-card {
540
+ width: max-content;
541
+ min-width: 260px;
542
+ max-width: 500px;
543
+ }
544
+ .x-spreadsheet-comment-tip .x-spreadsheet-comment-card {
545
+ background: #fff;
546
+ border-radius: 8px;
547
+ min-width: 280px;
548
+ max-width: 420px;
549
+ }
550
+ .x-spreadsheet-comment-tip .x-spreadsheet-comment-card-header {
551
+ display: flex;
552
+ align-items: center;
553
+ justify-content: space-between;
554
+ padding: 8px 14px;
555
+ border-bottom: 1px solid #EDE8F5;
556
+ }
557
+ .x-spreadsheet-comment-tip .x-spreadsheet-comment-cell-ref {
558
+ font-size: 13px;
559
+ font-weight: 600;
560
+ color: #444;
561
+ }
562
+ .x-spreadsheet-comment-tip .x-spreadsheet-comment-card-body {
563
+ padding: 10px 14px;
564
+ }
565
+ .x-spreadsheet-comment-tip .x-spreadsheet-comment-item {
566
+ padding: 6px 0;
567
+ }
568
+ .x-spreadsheet-comment-tip .x-spreadsheet-comment-item-header {
569
+ display: flex;
570
+ align-items: center;
571
+ gap: 7px;
572
+ margin-bottom: 4px;
573
+ }
574
+ .x-spreadsheet-comment-tip .x-spreadsheet-comment-dot {
575
+ width: 8px;
576
+ height: 8px;
577
+ min-width: 8px;
578
+ border-radius: 50%;
579
+ flex-shrink: 0;
580
+ }
581
+ .x-spreadsheet-comment-tip .x-spreadsheet-comment-author {
582
+ font-weight: 600;
583
+ font-size: 13px;
584
+ color: #222;
585
+ }
586
+ .x-spreadsheet-comment-tip .x-spreadsheet-comment-time {
587
+ font-size: 11px;
588
+ color: #999;
589
+ margin-left: auto;
590
+ white-space: nowrap;
591
+ }
592
+ .x-spreadsheet-comment-tip .x-spreadsheet-comment-item-body {
593
+ font-size: 13px;
594
+ color: #333;
595
+ line-height: 1.5;
596
+ padding-left: 15px;
597
+ overflow-wrap: anywhere;
598
+ word-break: break-word;
599
+ }
600
+ .x-spreadsheet-comment-tip .x-spreadsheet-comment-divider {
601
+ height: 1px;
602
+ background: #EDE8F5;
603
+ margin: 4px 0;
604
+ }
79
605
  .x-spreadsheet-html-tip {
80
606
  position: absolute;
81
607
  z-index: 997;
@@ -128,6 +654,13 @@ body {
128
654
  width: 16px;
129
655
  height: 16px;
130
656
  }
657
+ .x-spreadsheet-color-palette table td .x-spreadsheet-color-palette-cell:focus-visible {
658
+ outline: 2px solid #217346;
659
+ outline-offset: 1px;
660
+ }
661
+ .x-spreadsheet-color-palette table td .x-spreadsheet-color-palette-cell[aria-pressed='true'] {
662
+ box-shadow: inset 0 0 0 2px #fff, 0 0 0 1px #217346;
663
+ }
131
664
  .x-spreadsheet-banner {
132
665
  display: flex;
133
666
  width: 100%;
@@ -311,6 +844,38 @@ body {
311
844
  font-size: inherit;
312
845
  color: inherit;
313
846
  }
847
+ .x-spreadsheet-batch-delete-menu {
848
+ overflow: visible !important;
849
+ }
850
+ .x-spreadsheet-batch-delete-menu-item {
851
+ min-width: max-content;
852
+ cursor: pointer;
853
+ overflow: visible;
854
+ white-space: nowrap;
855
+ }
856
+ .x-spreadsheet-batch-delete-menu-item .x-spreadsheet-icon {
857
+ flex-shrink: 0;
858
+ }
859
+ .x-spreadsheet-batch-delete-menu-label {
860
+ flex: 1;
861
+ }
862
+ .x-spreadsheet-batch-delete-menu-arrow {
863
+ margin-left: auto;
864
+ font-size: 24px;
865
+ font-weight: 300;
866
+ line-height: 18px;
867
+ }
868
+ .x-spreadsheet-dropdown.x-spreadsheet-batch-delete-submenu {
869
+ width: 100%;
870
+ }
871
+ .x-spreadsheet-dropdown.x-spreadsheet-batch-delete-submenu > .x-spreadsheet-dropdown-header {
872
+ width: 100%;
873
+ }
874
+ .x-spreadsheet-dropdown.x-spreadsheet-batch-delete-submenu > .x-spreadsheet-dropdown-content {
875
+ top: 0;
876
+ left: calc(100% + 4px);
877
+ overflow: visible;
878
+ }
314
879
  .x-spreadsheet-autofill-option-group {
315
880
  background-color: white;
316
881
  position: absolute;
@@ -523,6 +1088,20 @@ body {
523
1088
  width: 100%;
524
1089
  height: 100%;
525
1090
  }
1091
+ .x-spreadsheet-popup-root {
1092
+ position: fixed;
1093
+ top: 0;
1094
+ right: 0;
1095
+ bottom: 0;
1096
+ left: 0;
1097
+ z-index: 1000;
1098
+ overflow: visible;
1099
+ pointer-events: none;
1100
+ background: transparent;
1101
+ }
1102
+ .x-spreadsheet-popup-root > * {
1103
+ pointer-events: auto;
1104
+ }
526
1105
  .x-spreadsheet-batch-insert-row {
527
1106
  position: absolute;
528
1107
  display: flex;
@@ -1976,6 +2555,9 @@ form fieldset select {
1976
2555
  bottom: 0;
1977
2556
  z-index: 99999;
1978
2557
  }
2558
+ .x-spreadsheet-workspace.x-spreadsheet-workspace-format-open .x-spreadsheet-workspace-sheet-pane > .x-spreadsheet-bottombar {
2559
+ width: 58%;
2560
+ }
1979
2561
  input[type="range"].x-spreadsheet-zoom-slider {
1980
2562
  width: 80px;
1981
2563
  }
@@ -1999,7 +2581,7 @@ form fieldset select {
1999
2581
  display: inline-block;
2000
2582
  }
2001
2583
  .x-spreadsheet-icon .x-spreadsheet-icon-img {
2002
- background-image: url(1f345d060b26fa53bc9d78c36441afd6.svg);
2584
+ background-image: url(9667af4182f3e39eec9844c10e1a6eb8.svg);
2003
2585
  position: absolute;
2004
2586
  width: 262px;
2005
2587
  height: 444px;
@@ -2105,6 +2687,36 @@ form fieldset select {
2105
2687
  left: -108px;
2106
2688
  top: -126px;
2107
2689
  }
2690
+ .x-spreadsheet-icon .x-spreadsheet-icon-img.redactionEntire {
2691
+ left: -162px;
2692
+ top: -126px;
2693
+ }
2694
+ .x-spreadsheet-icon .x-spreadsheet-icon-img.redactionHighlightPrev {
2695
+ background-image: none;
2696
+ width: auto;
2697
+ height: auto;
2698
+ }
2699
+ .x-spreadsheet-icon .x-spreadsheet-icon-img.redactionHighlightPrev::before {
2700
+ content: '\25C0';
2701
+ font-size: 14px;
2702
+ line-height: 18px;
2703
+ color: #555;
2704
+ display: block;
2705
+ text-align: center;
2706
+ }
2707
+ .x-spreadsheet-icon .x-spreadsheet-icon-img.redactionHighlightNext {
2708
+ background-image: none;
2709
+ width: auto;
2710
+ height: auto;
2711
+ }
2712
+ .x-spreadsheet-icon .x-spreadsheet-icon-img.redactionHighlightNext::before {
2713
+ content: '\25B6';
2714
+ font-size: 14px;
2715
+ line-height: 18px;
2716
+ color: #555;
2717
+ display: block;
2718
+ text-align: center;
2719
+ }
2108
2720
  .x-spreadsheet-icon .x-spreadsheet-icon-img.autofilter {
2109
2721
  left: -90px;
2110
2722
  top: -18px;
@@ -2417,6 +3029,10 @@ form fieldset select {
2417
3029
  left: -126px;
2418
3030
  top: -126px;
2419
3031
  }
3032
+ .x-spreadsheet-icon .x-spreadsheet-icon-img.batch-delete {
3033
+ left: -144px;
3034
+ top: -126px;
3035
+ }
2420
3036
  .x-spreadsheet-formula-bar {
2421
3037
  height: 25px;
2422
3038
  line-height: 25px;
@@ -2554,6 +3170,142 @@ form fieldset select {
2554
3170
  .x-spreadsheet-modal-component-footer button.cancel:focus {
2555
3171
  box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);
2556
3172
  }
3173
+ .x-spreadsheet-modal-component-batch-delete-confirm {
3174
+ width: min(560px, calc(100vw - 32px));
3175
+ border: 1px solid #cfcfcf;
3176
+ border-radius: 12px;
3177
+ }
3178
+ .x-spreadsheet-modal-component-batch-delete-confirm .x-spreadsheet-modal-component-header {
3179
+ padding: 26px 32px 18px;
3180
+ background: #fff;
3181
+ border-bottom: 0;
3182
+ font-size: 24px;
3183
+ }
3184
+ .x-spreadsheet-modal-component-batch-delete-confirm .x-spreadsheet-modal-component-content {
3185
+ min-height: 84px;
3186
+ padding: 12px 32px 22px;
3187
+ background: #fff;
3188
+ }
3189
+ .x-spreadsheet-modal-component-batch-delete-confirm .x-spreadsheet-modal-component-footer {
3190
+ gap: 10px;
3191
+ padding: 12px 28px 28px;
3192
+ background: #fff;
3193
+ border-top: 0;
3194
+ }
3195
+ .x-spreadsheet-batch-delete-confirm-close {
3196
+ width: 34px;
3197
+ height: 34px;
3198
+ padding: 0;
3199
+ color: #666;
3200
+ font-size: 32px;
3201
+ font-weight: 200;
3202
+ line-height: 28px;
3203
+ background: transparent;
3204
+ border: 0;
3205
+ cursor: pointer;
3206
+ }
3207
+ .x-spreadsheet-batch-delete-confirm-close:disabled {
3208
+ cursor: wait;
3209
+ opacity: 0.45;
3210
+ }
3211
+ .x-spreadsheet-batch-delete-confirm-message {
3212
+ color: #555;
3213
+ font-size: 18px;
3214
+ line-height: 1.6;
3215
+ }
3216
+ .x-spreadsheet-batch-delete-confirm-detail {
3217
+ margin-top: 8px;
3218
+ color: #8a5a00;
3219
+ font-size: 14px;
3220
+ white-space: pre-line;
3221
+ }
3222
+ .x-spreadsheet-modal-component-footer button.x-spreadsheet-batch-delete-confirm-delete {
3223
+ min-width: 108px;
3224
+ color: #fff;
3225
+ background: #108a45;
3226
+ border-color: #108a45;
3227
+ }
3228
+ .x-spreadsheet-modal-component-footer button.x-spreadsheet-batch-delete-confirm-delete:hover {
3229
+ color: #fff;
3230
+ background: #0d743a;
3231
+ border-color: #0d743a;
3232
+ }
3233
+ .x-spreadsheet-modal-component-footer button.x-spreadsheet-batch-delete-confirm-delete:disabled {
3234
+ cursor: wait;
3235
+ opacity: 0.65;
3236
+ }
3237
+ .x-spreadsheet-modal-component-batch-delete-text {
3238
+ width: min(620px, calc(100vw - 32px));
3239
+ border: 1px solid #cfcfcf;
3240
+ border-radius: 12px;
3241
+ }
3242
+ .x-spreadsheet-modal-component-batch-delete-text .x-spreadsheet-modal-component-header {
3243
+ align-items: center;
3244
+ justify-content: space-between;
3245
+ padding: 24px 30px 16px;
3246
+ background: #fff;
3247
+ border-bottom: 0;
3248
+ font-size: 24px;
3249
+ }
3250
+ .x-spreadsheet-modal-component-batch-delete-text .x-spreadsheet-modal-component-content {
3251
+ min-height: 94px;
3252
+ padding: 14px 30px 22px;
3253
+ background: #fff;
3254
+ }
3255
+ .x-spreadsheet-modal-component-batch-delete-text .x-spreadsheet-modal-component-footer {
3256
+ gap: 10px;
3257
+ padding: 12px 28px 28px;
3258
+ background: #fff;
3259
+ border-top: 0;
3260
+ }
3261
+ .x-spreadsheet-batch-delete-text-close {
3262
+ width: 34px;
3263
+ height: 34px;
3264
+ padding: 0;
3265
+ color: #666;
3266
+ font-size: 32px;
3267
+ font-weight: 200;
3268
+ line-height: 28px;
3269
+ background: transparent;
3270
+ border: 0;
3271
+ cursor: pointer;
3272
+ }
3273
+ .x-spreadsheet-batch-delete-text-row,
3274
+ .x-spreadsheet-batch-delete-text-range,
3275
+ .x-spreadsheet-batch-delete-text-radio {
3276
+ display: flex;
3277
+ align-items: center;
3278
+ gap: 10px;
3279
+ white-space: nowrap;
3280
+ }
3281
+ .x-spreadsheet-batch-delete-text-middle {
3282
+ display: flex;
3283
+ flex-direction: column;
3284
+ gap: 14px;
3285
+ }
3286
+ .x-spreadsheet-batch-delete-text-radio {
3287
+ cursor: pointer;
3288
+ }
3289
+ .x-spreadsheet-batch-delete-text-input {
3290
+ width: 84px;
3291
+ height: 40px;
3292
+ box-sizing: border-box;
3293
+ padding: 5px 10px;
3294
+ font-size: 18px;
3295
+ border: 1px solid #bbb;
3296
+ border-radius: 6px;
3297
+ }
3298
+ .x-spreadsheet-batch-delete-text-error {
3299
+ margin-top: 12px;
3300
+ color: #c62828;
3301
+ font-size: 14px;
3302
+ }
3303
+ .x-spreadsheet-modal-component-footer button.x-spreadsheet-batch-delete-text-delete {
3304
+ min-width: 108px;
3305
+ color: #fff;
3306
+ background: #108a45;
3307
+ border-color: #108a45;
3308
+ }
2557
3309
  .x-spreadsheet-modal-component-section-container {
2558
3310
  height: 100%;
2559
3311
  }