@worktile/theia 15.0.2 → 15.0.4

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.
Files changed (43) hide show
  1. package/components/color-select/color-select.component.scss +20 -21
  2. package/components/column-resize/column-resize.scss +10 -10
  3. package/components/contextmenu/contextmenu.component.scss +1 -1
  4. package/components/conversion-hint/conversion-hint.component.scss +1 -1
  5. package/components/index.scss +1 -1
  6. package/components/inline-toolbar/inline-toolbar.component.scss +3 -3
  7. package/components/plugin-menu/plugin-menu.component.scss +5 -3
  8. package/components/table-select/table-select.component.scss +3 -3
  9. package/components/toolbar/toolbar.component.scss +5 -5
  10. package/components/toolbar-dropdown/toolbar-dropdown.component.d.ts +1 -3
  11. package/components/toolbar-dropdown/toolbar-dropdown.component.scss +5 -5
  12. package/core/toolbar-item/base-toolbar-item.d.ts +2 -2
  13. package/esm2020/components/listbox/listbox.mjs +1 -1
  14. package/esm2020/components/toolbar-dropdown/toolbar-dropdown.component.mjs +3 -5
  15. package/esm2020/core/toolbar-item/base-toolbar-item.mjs +4 -2
  16. package/esm2020/editor.component.mjs +2 -2
  17. package/esm2020/plugins/code/code.component.mjs +1 -1
  18. package/esm2020/plugins/common/auto-insert-data..mjs +10 -11
  19. package/esm2020/plugins/table/components/table.component.mjs +72 -17
  20. package/esm2020/plugins/table/components/td/td.component.mjs +1 -1
  21. package/esm2020/plugins/table/table.types.mjs +5 -1
  22. package/esm2020/services/context.service.mjs +1 -1
  23. package/esm2020/services/table-contextmenu.service.mjs +5 -5
  24. package/esm2020/utils/dom.mjs +2 -2
  25. package/fesm2015/worktile-theia.mjs +98 -38
  26. package/fesm2015/worktile-theia.mjs.map +1 -1
  27. package/fesm2020/worktile-theia.mjs +94 -36
  28. package/fesm2020/worktile-theia.mjs.map +1 -1
  29. package/package.json +1 -1
  30. package/plugins/code/code.component.scss +29 -27
  31. package/plugins/image/image.component.scss +32 -32
  32. package/plugins/inline-code/inline-code.component.scss +13 -13
  33. package/plugins/link/link.component.scss +1 -1
  34. package/plugins/quick-insert/components/quick-insert.component.scss +2 -2
  35. package/plugins/table/components/mixins.scss +16 -17
  36. package/plugins/table/components/table.component.d.ts +10 -0
  37. package/plugins/table/components/table.component.scss +128 -100
  38. package/plugins/table/table.types.d.ts +4 -0
  39. package/plugins/todo-item/todo-item.component.scss +3 -3
  40. package/styles/editor.scss +15 -15
  41. package/styles/mixins.scss +1 -1
  42. package/styles/typo.scss +34 -34
  43. package/styles/variables.scss +5 -2
@@ -19,48 +19,48 @@ $top-cell-z-index: 13;
19
19
  .slate-element-table {
20
20
  display: block;
21
21
  .the-table {
22
- border-spacing: 0;
23
- word-wrap: break-word;
24
22
  box-sizing: border-box;
25
- border-collapse: unset;
23
+ width: calc(100% - 2px);
26
24
  margin: 13px 8px 0 0;
27
- border-bottom: $controls-border;
28
- table-layout: fixed;
29
- overflow: visible;
30
- margin-left: 0;
31
25
  margin-right: 0;
32
- width: calc(100% - 2px);
26
+ margin-left: 0;
27
+ overflow: visible;
28
+ word-wrap: break-word;
29
+ table-layout: fixed;
30
+ border-bottom: $controls-border;
31
+ border-collapse: unset;
32
+ border-spacing: 0;
33
33
 
34
34
  td {
35
+ position: relative;
36
+ padding: 8px;
37
+ vertical-align: top;
35
38
  word-wrap: break-word;
36
39
  border-top: $controls-border;
37
40
  border-right: $controls-border;
38
- vertical-align: top;
39
- padding: 8px;
40
- position: relative;
41
41
  cursor: text;
42
42
 
43
43
  &.the-sticky-cell {
44
44
  &:not(.focused-cell):not(.selected-cell):after {
45
- content: '';
45
+ position: absolute;
46
+ top: 0;
47
+ right: -1px;
48
+ z-index: $top-cell-z-index;
49
+ display: block;
46
50
  width: 1px;
47
51
  height: 100%;
48
- right: -1px;
49
52
  background: variables.$gray-300;
50
- top: 0;
51
- display: block;
52
- position: absolute;
53
- z-index: $top-cell-z-index;
53
+ content: '';
54
54
  }
55
55
  &.the-table-left-shadow {
56
56
  z-index: 12;
57
57
  @include mixins.tableLeftShadow;
58
58
  &:before {
59
59
  top: 0;
60
- left: unset;
61
60
  right: -8px;
62
- height: 100%;
61
+ left: unset;
63
62
  z-index: 0;
63
+ height: 100%;
64
64
  }
65
65
  }
66
66
  &.the-table-left-shadow.focused-cell {
@@ -73,10 +73,10 @@ $top-cell-z-index: 13;
73
73
  &::after {
74
74
  @include mixins.cellInset;
75
75
  z-index: -1;
76
- border: 1px solid variables.$primary;
77
76
  width: unset;
78
77
  height: unset;
79
78
  background: unset;
79
+ border: 1px solid variables.$primary;
80
80
  }
81
81
  }
82
82
 
@@ -90,8 +90,8 @@ $top-cell-z-index: 13;
90
90
  &::after {
91
91
  @include mixins.cellInset;
92
92
  z-index: 10;
93
- border: 1px solid variables.$danger;
94
93
  background: rgba($color: variables.$danger, $alpha: 0.1);
94
+ border: 1px solid variables.$danger;
95
95
  }
96
96
  }
97
97
  }
@@ -102,8 +102,8 @@ $top-cell-z-index: 13;
102
102
  }
103
103
 
104
104
  .the-header-cell {
105
- background: $header-cell-bg-color;
106
105
  margin-bottom: 0;
106
+ background: $header-cell-bg-color;
107
107
  }
108
108
 
109
109
  .the-sticky-cell {
@@ -129,22 +129,26 @@ $top-cell-z-index: 13;
129
129
  box-sizing: border-box;
130
130
  margin: 0 auto 16px;
131
131
  .the-table-wrapper {
132
- padding-top: 10px;
133
- margin-top: -10px;
134
- z-index: 0;
135
132
  position: relative;
133
+ z-index: 0;
134
+ margin-top: -10px;
135
+ padding-top: 10px;
136
136
  overflow: auto;
137
137
  }
138
138
 
139
139
  .the-table-row-controls-wrapper {
140
140
  position: absolute;
141
- left: -$control-width;
142
141
  top: 23px;
143
- user-select: none;
142
+ left: -$control-width;
144
143
  z-index: 1;
144
+ user-select: none;
145
145
  }
146
146
  }
147
147
 
148
+ .header-row-shadow {
149
+ display: none;
150
+ }
151
+
148
152
  &:not(.the-table-with-sticky-column) {
149
153
  .the-table-container.the-table-right-shadow {
150
154
  @include mixins.tableRightShadow;
@@ -158,15 +162,15 @@ $top-cell-z-index: 13;
158
162
 
159
163
  .the-table-with-sticky-row {
160
164
  .the-sticky-row {
161
- padding-top: 8px;
162
165
  position: fixed;
163
- display: grid;
164
166
  z-index: 120;
167
+ display: grid;
165
168
  grid-auto-flow: column;
166
169
  box-sizing: content-box;
167
- background: variables.$white;
170
+ padding-top: 8px;
168
171
  // border-bottom: $controls-border;
169
172
  overflow-x: hidden;
173
+ background: variables.$white;
170
174
  box-shadow: 0 6px 4px -4px rgba(0, 0, 0, 0.1);
171
175
 
172
176
  td.the-header-cell.selected-cell,
@@ -177,6 +181,26 @@ $top-cell-z-index: 13;
177
181
  }
178
182
  }
179
183
 
184
+ .header-row-shadow {
185
+ position: fixed;
186
+ z-index: 121;
187
+ width: 8px;
188
+ background: -webkit-gradient(linear, left, right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.1));
189
+ }
190
+
191
+ .the-table-container.the-table-right-shadow {
192
+ .header-row-right-shadow {
193
+ background: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.1));
194
+ display: block;
195
+ }
196
+ }
197
+ .the-table-container.the-table-left-shadow {
198
+ .header-row-left-shadow {
199
+ background: linear-gradient(to left, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.1));
200
+ display: block;
201
+ }
202
+ }
203
+
180
204
  .the-table-col-controls-wrapper.the-sticky-row {
181
205
  display: none;
182
206
  }
@@ -189,23 +213,13 @@ $top-cell-z-index: 13;
189
213
  }
190
214
  }
191
215
 
192
- .the-table-row-controls-inner {
193
- .the-table-row-controls-button-wrap {
194
- &:first-child {
195
- position: fixed;
196
- margin-top: 8px;
197
- z-index: $top-cell-z-index;
198
- box-shadow: 0px -8px var(--ds-surface, variables.$gray-80);
199
- }
200
- }
201
- }
202
216
  .the-table-row-controls {
203
217
  top: 1px;
204
218
  }
205
219
  &.the-numberd-table {
206
220
  .the-table-row-controls {
207
- left: 1px;
208
221
  top: 1px;
222
+ left: 1px;
209
223
  }
210
224
  .the-sticky-corner-controls,
211
225
  .the-table-row-controls-button-wrap {
@@ -213,13 +227,26 @@ $top-cell-z-index: 13;
213
227
  }
214
228
  }
215
229
 
216
- .the-sticky-corner-controls {
217
- width: 11px;
218
- height: 11px;
219
- position: fixed;
220
- z-index: 12;
221
- .the-table-corner-button {
230
+ // 聚焦时生效
231
+ &.the-table-with-controls {
232
+ .the-table-row-controls-inner {
233
+ .the-table-row-controls-button-wrap {
234
+ &:first-child {
235
+ position: fixed;
236
+ z-index: $top-cell-z-index;
237
+ margin-top: 8px;
238
+ box-shadow: 0px -8px var(--ds-surface, variables.$gray-80);
239
+ }
240
+ }
241
+ }
242
+ .the-sticky-corner-controls {
243
+ position: fixed;
244
+ z-index: 12;
245
+ width: 11px;
222
246
  height: 11px;
247
+ .the-table-corner-button {
248
+ height: 11px;
249
+ }
223
250
  }
224
251
  }
225
252
  }
@@ -262,9 +289,9 @@ $top-cell-z-index: 13;
262
289
 
263
290
  .the-table-col-controls-wrapper .the-table-col-controls {
264
291
  background: variables.$gray-100;
265
- border-right: $controls-border;
266
- border-top: $controls-border;
267
292
  background-clip: padding-box;
293
+ border-top: $controls-border;
294
+ border-right: $controls-border;
268
295
  cursor: pointer;
269
296
 
270
297
  &:first-child {
@@ -295,12 +322,12 @@ $top-cell-z-index: 13;
295
322
  &.dangerous {
296
323
  &::before,
297
324
  &::after {
298
- content: '';
299
325
  position: absolute;
326
+ top: -1px;
300
327
  width: 1px;
301
328
  height: 12px;
302
329
  background: variables.$primary;
303
- top: -1px;
330
+ content: '';
304
331
  }
305
332
 
306
333
  &::before {
@@ -328,17 +355,17 @@ $top-cell-z-index: 13;
328
355
  }
329
356
 
330
357
  &.the-sticky-cell:not(.avtive) {
331
- &:not(.active):not(.danger){
332
- &:after{
333
- content: '';
358
+ &:not(.active):not(.danger) {
359
+ &:after {
360
+ position: absolute;
361
+ top: 0;
362
+ right: -1px;
363
+ z-index: $top-cell-z-index;
364
+ display: block;
334
365
  width: 1px;
335
366
  height: 100%;
336
- right: -1px;
337
367
  background: variables.$gray-300;
338
- top: 0;
339
- display: block;
340
- position: absolute;
341
- z-index: $top-cell-z-index;
368
+ content: '';
342
369
  }
343
370
  }
344
371
  &.the-table-left-shadow {
@@ -346,10 +373,10 @@ $top-cell-z-index: 13;
346
373
  @include mixins.tableLeftShadow;
347
374
  &:before {
348
375
  top: 0;
349
- left: unset;
350
376
  right: -8px;
351
- height: 100%;
377
+ left: unset;
352
378
  z-index: 0;
379
+ height: 100%;
353
380
  }
354
381
  }
355
382
  }
@@ -427,42 +454,42 @@ $top-cell-z-index: 13;
427
454
  .the-table-col-controls-wrapper.the-sticky-row,
428
455
  .the-sticky-corner-controls {
429
456
  padding-top: 25px;
430
- box-shadow: none;
431
- border: none;
432
457
  background: variables.$white;
458
+ border: none;
459
+ box-shadow: none;
433
460
  }
434
461
  }
435
462
  }
436
463
 
437
464
  .the-table-corner-controls {
465
+ position: relative;
438
466
  width: 100%;
439
467
  height: $control-corner-width;
440
- position: relative;
441
468
  visibility: hidden;
442
469
 
443
470
  .the-table-corner-button {
444
471
  position: absolute;
445
472
  top: 0;
446
473
  left: 0;
474
+ box-sizing: border-box;
447
475
  width: 100%;
448
476
  height: 11px;
449
- box-sizing: border-box;
450
- border: $controls-border;
451
- background: variables.$gray-100;
452
477
  padding: 0;
453
- border-bottom: none;
478
+ background: variables.$gray-100;
479
+ border: $controls-border;
454
480
  border-right: none;
481
+ border-bottom: none;
455
482
  cursor: pointer;
456
483
  }
457
484
 
458
485
  .the-table-corner-controls-insert-row-marker .the-table-controls-insert-wrapper {
459
- left: -$dot-size;
460
486
  top: 2px;
487
+ left: -$dot-size;
461
488
  }
462
489
 
463
490
  .the-table-corner-controls-insert-column-marker .the-table-controls-insert-wrapper {
464
- left: 2px;
465
491
  top: -$dot-size;
492
+ left: 2px;
466
493
  }
467
494
 
468
495
  &.control-active {
@@ -479,39 +506,39 @@ $top-cell-z-index: 13;
479
506
  }
480
507
 
481
508
  .the-table-controls-insert-wrapper {
482
- width: $dot-size;
483
- height: $dot-size;
484
509
  position: absolute;
485
- cursor: pointer;
486
- display: none;
487
510
  top: -19px;
488
511
  right: -10px;
512
+ display: none;
513
+ width: $dot-size;
514
+ height: $dot-size;
515
+ cursor: pointer;
489
516
 
490
517
  &::after,
491
518
  &::before {
492
- content: '';
493
519
  position: absolute;
494
520
  transform: scale(0.16);
521
+ content: '';
495
522
  }
496
523
 
497
524
  &::before {
498
- background-color: transparent;
499
- height: $dot-size - $dot-padding-top * 2;
500
- left: $dot-shadow-top;
501
525
  top: $dot-padding-top;
502
- width: 1px;
526
+ left: $dot-shadow-top;
503
527
  z-index: 3;
528
+ width: 1px;
529
+ height: $dot-size - $dot-padding-top * 2;
530
+ background-color: transparent;
504
531
  }
505
532
 
506
533
  &::after {
534
+ top: 0;
535
+ left: 0;
536
+ width: $dot-size;
537
+ height: $dot-size;
507
538
  background-color: #d8d8d8;
508
539
  border-radius: math.div($dot-size + 1, 2);
509
540
  box-shadow: inset $dot-padding-top 0 0 0 #d8d8d8, inset (-$dot-padding-top) 0 0 0 #d8d8d8, inset 0 (-$dot-shadow-top) 0 0 #d8d8d8,
510
541
  inset 0 $dot-shadow-top 0 0 #d8d8d8;
511
- height: $dot-size;
512
- left: 0;
513
- top: 0;
514
- width: $dot-size;
515
542
  }
516
543
 
517
544
  &:not(.disabled) {
@@ -522,9 +549,9 @@ $top-cell-z-index: 13;
522
549
  }
523
550
 
524
551
  &:hover:after {
552
+ border-radius: 4px;
525
553
  box-shadow: inset $dot-padding-top 0 0 0 variables.$primary, inset (-$dot-padding-top) 0 0 0 variables.$primary,
526
554
  inset 0 (-$dot-shadow-top) 0 0 variables.$primary, inset 0 $dot-shadow-top 0 0 variables.$primary !important;
527
- border-radius: 4px;
528
555
  }
529
556
 
530
557
  &:hover:before {
@@ -534,29 +561,29 @@ $top-cell-z-index: 13;
534
561
 
535
562
  .the-table-controls-insert-line {
536
563
  position: absolute;
537
- background-color: variables.$primary;
538
564
  z-index: $dot-zIndex;
565
+ background-color: variables.$primary;
539
566
 
540
567
  &[data-dot-type='column'] {
541
- width: 1px;
542
568
  top: $dot-size;
543
569
  left: $dot-shadow-top;
570
+ width: 1px;
544
571
  }
545
572
 
546
573
  &[data-dot-type='row'] {
547
- height: 1px;
548
574
  bottom: $dot-shadow-top;
549
575
  left: $dot-size;
576
+ height: 1px;
550
577
  }
551
578
  }
552
579
  }
553
580
 
554
581
  .the-table-row-controls {
555
- width: $control-width;
556
- box-sizing: border-box;
557
- display: none;
558
- z-index: 11;
559
582
  position: relative;
583
+ z-index: 11;
584
+ display: none;
585
+ box-sizing: border-box;
586
+ width: $control-width;
560
587
 
561
588
  .the-table-row-controls-inner {
562
589
  display: flex;
@@ -569,14 +596,14 @@ $top-cell-z-index: 13;
569
596
 
570
597
  .the-table-controls-button {
571
598
  display: block;
572
- outline: none;
573
- background-color: variables.$gray-100;
574
599
  box-sizing: border-box;
575
- height: 42px;
576
600
  width: $control-width;
601
+ height: 42px;
602
+ padding: 0;
603
+ background-color: variables.$gray-100;
577
604
  border: 1px solid variables.$gray-300;
578
605
  border-right: none;
579
- padding: 0;
606
+ outline: none;
580
607
  cursor: pointer;
581
608
  }
582
609
 
@@ -600,21 +627,22 @@ $top-cell-z-index: 13;
600
627
  }
601
628
 
602
629
  .the-table-controls-insert-wrapper {
630
+ top: auto;
603
631
  bottom: -$dot-shadow-top;
604
632
  left: -$dot-size;
605
- top: auto;
606
633
  }
607
634
  }
608
635
 
609
636
  .the-table-col-controls-wrapper {
637
+ overflow-y: hidden;
610
638
  height: $control-width;
611
639
  line-height: $control-width;
612
640
 
613
641
  .the-table-col-controls {
614
- padding: 0;
642
+ position: relative;
615
643
  margin: 0;
644
+ padding: 0;
616
645
  border: 0;
617
- position: relative;
618
646
  border-top: 1px solid transparent;
619
647
  }
620
648
  }
@@ -631,8 +659,8 @@ $top-cell-z-index: 13;
631
659
  }
632
660
 
633
661
  .the-table-row-controls {
634
- display: block;
635
662
  top: 0px;
663
+ display: block;
636
664
  width: 45px;
637
665
  margin-left: 10px;
638
666
  cursor: pointer;
@@ -645,9 +673,9 @@ $top-cell-z-index: 13;
645
673
  }
646
674
 
647
675
  .row-number {
676
+ justify-content: center;
648
677
  float: right;
649
678
  width: 45px;
650
- justify-content: center;
651
679
  height: 100%;
652
680
  margin: 0;
653
681
  }
@@ -22,6 +22,10 @@ export interface TheTableComponentBase extends TheBaseElementComponent {
22
22
  export declare const BASE_CELL_HEIGHT = 41;
23
23
  export declare const BASE_FILL_HEIGHT: number;
24
24
  export declare const BASE_CELL_INNER_HEIGHT: number;
25
+ export declare const TABLE_INSERT_MASK = 19;
26
+ export declare const TABLE_BORDER = 1;
27
+ export declare const TABLE_PADDING = 8;
28
+ export declare const TABLE_CONTROL = 11;
25
29
  export declare const TableWithStickyRowClass = "the-table-with-sticky-row";
26
30
  export interface TheTableColumn {
27
31
  width: number;
@@ -1,16 +1,16 @@
1
1
  .the-check-item {
2
+ position: relative;
2
3
  height: auto;
3
- line-height: 24px;
4
4
  padding-left: 2em;
5
- position: relative;
5
+ line-height: 24px;
6
6
 
7
7
  .todo-item-status {
8
8
  user-select: none;
9
9
  }
10
10
  input[type='checkbox'] {
11
+ margin-top: 0;
11
12
  margin-right: 5px;
12
13
  margin-left: -1.5em;
13
14
  transform: translateY(3px);
14
- margin-top: 0;
15
15
  }
16
16
  }
@@ -3,22 +3,22 @@
3
3
  @use './mixins.scss' as mixins;
4
4
 
5
5
  .the-editor {
6
+ position: relative;
6
7
  display: block;
8
+ max-width: 100%;
7
9
  border: 1px solid variables.$gray-200;
8
10
  border-radius: 3px;
9
- position: relative;
10
- max-width: 100%;
11
11
 
12
12
  &.the-editor-readonly {
13
13
  border: none;
14
14
 
15
15
  .the-editable-container {
16
- padding: 0;
17
16
  margin: 0;
17
+ padding: 0;
18
18
 
19
19
  &.max-height {
20
- overflow-y: auto;
21
20
  overflow-x: hidden;
21
+ overflow-y: auto;
22
22
  }
23
23
 
24
24
  .the-editor-typo {
@@ -61,8 +61,8 @@
61
61
 
62
62
  .the-editable-container {
63
63
  position: relative;
64
- padding-top: 41px;
65
64
  margin-top: -41px;
65
+ padding-top: 41px;
66
66
 
67
67
  &.max-height {
68
68
  overflow-y: scroll;
@@ -126,32 +126,32 @@
126
126
  [the-code-line] {
127
127
  margin: 0 4px;
128
128
  padding: 2px 3px;
129
- border: 1px solid variables.$gray-300;
130
- border-radius: 2px;
131
- font-family: monospace;
129
+ color: variables.$gray-700;
132
130
  font-size: inherit;
133
- background-color: rgba(243, 243, 243, 0.8);
131
+ font-family: monospace;
134
132
  line-height: inherit;
135
- word-wrap: break-word;
136
133
  text-indent: 0;
137
- color: variables.$gray-700;
134
+ word-wrap: break-word;
135
+ background-color: rgba(243, 243, 243, 0.8);
136
+ border: 1px solid variables.$gray-300;
137
+ border-radius: 2px;
138
138
  }
139
139
 
140
140
  .leaf-with-placeholder {
141
141
  &[data-slate-leaf='true'] {
142
- width: auto;
143
142
  display: flow-root;
143
+ width: auto;
144
144
  }
145
145
  }
146
146
  [data-slate-placeholder] {
147
+ overflow: hidden;
147
148
  color: initial;
148
149
  font-weight: initial;
149
150
  font-style: initial;
151
+ white-space: nowrap;
150
152
  text-decoration: initial;
151
- background-color: initial;
152
- overflow: hidden;
153
153
  text-overflow: ellipsis;
154
- white-space: nowrap;
154
+ background-color: initial;
155
155
  }
156
156
 
157
157
  .the-break-char {
@@ -42,8 +42,8 @@
42
42
  @mixin the-action-disabled {
43
43
  .thy-action {
44
44
  &.disabled {
45
- cursor: not-allowed;
46
45
  color: variables.$gray-400;
46
+ cursor: not-allowed;
47
47
 
48
48
  &:hover {
49
49
  background: transparent;