@ckeditor/ckeditor5-table 0.0.0-nightly-20251215.0 → 0.0.0-nightly-20251216.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.
Files changed (33) hide show
  1. package/build/table.js +1 -1
  2. package/dist/index-editor.css +76 -85
  3. package/dist/index.css +102 -111
  4. package/dist/index.css.map +1 -1
  5. package/dist/index.js +830 -125
  6. package/dist/index.js.map +1 -1
  7. package/lang/contexts.json +3 -0
  8. package/package.json +9 -9
  9. package/src/augmentation.d.ts +10 -1
  10. package/src/commands/setheadercolumncommand.js +2 -2
  11. package/src/commands/setheaderrowcommand.js +1 -2
  12. package/src/converters/downcast.d.ts +3 -1
  13. package/src/converters/downcast.js +18 -6
  14. package/src/converters/upcasttable.js +12 -5
  15. package/src/index.d.ts +2 -1
  16. package/src/index.js +2 -1
  17. package/src/tablecellproperties/commands/tablecellpropertycommand.d.ts +19 -1
  18. package/src/tablecellproperties/commands/tablecellpropertycommand.js +8 -0
  19. package/src/tablecellproperties/commands/tablecelltypecommand.d.ts +53 -0
  20. package/src/tablecellproperties/commands/tablecelltypecommand.js +167 -0
  21. package/src/tablecellproperties/tablecellpropertiesediting.d.ts +0 -3
  22. package/src/tablecellproperties/tablecellpropertiesediting.js +113 -0
  23. package/src/tablecellproperties/tablecellpropertiesuiexperimental.js +33 -11
  24. package/src/tablecellproperties/ui/tablecellpropertiesviewexperimental.d.ts +32 -3
  25. package/src/tablecellproperties/ui/tablecellpropertiesviewexperimental.js +129 -18
  26. package/src/tableediting.js +13 -3
  27. package/src/tableutils.d.ts +38 -0
  28. package/src/tableutils.js +219 -13
  29. package/src/utils/common.d.ts +23 -0
  30. package/src/utils/common.js +42 -0
  31. package/theme/tablecellproperties-experimental.css +4 -0
  32. package/theme/tableform-experimental.css +0 -12
  33. package/theme/tableform.css +5 -6
@@ -7,6 +7,22 @@
7
7
  width:100%;
8
8
  }
9
9
 
10
+ .ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row{
11
+ flex-wrap:wrap;
12
+ }
13
+
14
+ .ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:first-of-type{
15
+ flex-grow:0.57;
16
+ }
17
+
18
+ .ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:last-of-type{
19
+ flex-grow:0.43;
20
+ }
21
+
22
+ .ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar .ck-button{
23
+ flex-grow:1;
24
+ }
25
+
10
26
  .ck-editor__editable.ck-editor__editable_inline > .ck-widget.ck-widget_with-selection-handle.layout-table:first-child{
11
27
  margin-top:var(--ck-spacing-large);
12
28
  }
@@ -44,6 +60,61 @@
44
60
  z-index:var(--ck-z-default);
45
61
  }
46
62
 
63
+ .ck.ck-form__row.ck-table-form__action-row .ck-button-save,
64
+ .ck.ck-form__row.ck-table-form__action-row .ck-button-cancel{
65
+ justify-content:center;
66
+ }
67
+
68
+ .ck.ck-table-form .ck-form__row.ck-table-form__border-row,
69
+ .ck.ck-table-form .ck-form__row.ck-table-form__background-row,
70
+ .ck.ck-table-form .ck-form__row.ck-table-form__cell-type-row{
71
+ flex-wrap:wrap;
72
+ }
73
+
74
+ .ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row,
75
+ .ck.ck-table-form .ck-form__row.ck-table-form__cell-type-row{
76
+ flex-wrap:wrap;
77
+ align-items:center;
78
+ }
79
+
80
+ .ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view, .ck.ck-table-form .ck-form__row.ck-table-form__cell-type-row .ck-labeled-field-view{
81
+ display:flex;
82
+ flex-direction:column-reverse;
83
+ align-items:center;
84
+ }
85
+
86
+ .ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view .ck.ck-dropdown, .ck.ck-table-form .ck-form__row.ck-table-form__cell-type-row .ck-labeled-field-view .ck.ck-dropdown{
87
+ flex-grow:0;
88
+ }
89
+
90
+ .ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator, .ck.ck-table-form .ck-form__row.ck-table-form__cell-type-row .ck-table-form__dimension-operator{
91
+ flex-grow:0;
92
+ }
93
+
94
+ .ck.ck-table-form .ck-form__row > *:not(.ck-label, .ck-table-form__dimension-operator){
95
+ flex-grow:1;
96
+ }
97
+
98
+ .ck.ck-table-form .ck.ck-labeled-field-view{
99
+ position:relative;
100
+ }
101
+
102
+ .ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{
103
+ position:absolute;
104
+ left:50%;
105
+ bottom:calc( -1 * var(--ck-table-properties-error-arrow-size));
106
+ transform:translate(-50%,100%);
107
+ z-index:1;
108
+ }
109
+
110
+ .ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status::after{
111
+ content:"";
112
+ position:absolute;
113
+ top:calc( -1 * var(--ck-table-properties-error-arrow-size));
114
+ left:50%;
115
+ transform:translateX( -50%);
116
+ }
117
+
47
118
  .ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row{
48
119
  flex-wrap:wrap;
49
120
  flex-basis:0;
@@ -122,70 +193,6 @@
122
193
  right:unset;
123
194
  }
124
195
 
125
- .ck.ck-form__row.ck-table-form__action-row{
126
- justify-content:flex-end;
127
- }
128
-
129
- .ck.ck-form__row.ck-table-form__action-row .ck-button-save,
130
- .ck.ck-form__row.ck-table-form__action-row .ck-button-cancel{
131
- justify-content:center;
132
- }
133
-
134
- .ck.ck-table-form .ck-form__row.ck-table-form__border-row{
135
- flex-wrap:wrap;
136
- }
137
-
138
- .ck.ck-table-form .ck-form__row.ck-table-form__background-row{
139
- flex-wrap:wrap;
140
- }
141
-
142
- .ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row{
143
- flex-wrap:wrap;
144
- align-items:center;
145
- }
146
-
147
- .ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view{
148
- display:flex;
149
- flex-direction:column-reverse;
150
- align-items:center;
151
- }
152
-
153
- .ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view .ck.ck-dropdown{
154
- flex-grow:0;
155
- }
156
-
157
- .ck.ck-table-form .ck-form__row:not(.ck-table-form__action-row) > *:not(.ck-label, .ck-table-form__dimension-operator){
158
- flex-grow:1;
159
- }
160
-
161
- .ck.ck-table-form .ck.ck-labeled-field-view{
162
- position:relative;
163
- }
164
-
165
- .ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{
166
- position:absolute;
167
- left:50%;
168
- bottom:calc( -1 * var(--ck-table-properties-error-arrow-size));
169
- transform:translate(-50%,100%);
170
- z-index:1;
171
- }
172
-
173
- .ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status::after{
174
- content:"";
175
- position:absolute;
176
- top:calc( -1 * var(--ck-table-properties-error-arrow-size));
177
- left:50%;
178
- transform:translateX( -50%);
179
- }
180
-
181
- .ck.ck-table-form:has( .ck-form__header > .ck-button-back) .ck-form__row.ck-table-form__action-row > .ck.ck-button{
182
- flex-grow:initial;
183
- }
184
-
185
- .ck.ck-table-form:has( .ck-form__header > .ck-button-back) .ck-form__row.ck-table-form__action-row > .ck.ck-button .ck-button__label{
186
- color:currentColor;
187
- }
188
-
189
196
  :root{
190
197
  --ck-content-table-style-spacing:1.5em;
191
198
  }
@@ -295,6 +302,10 @@
295
302
  margin-left:0;
296
303
  }
297
304
 
305
+ .ck.ck-form__row.ck-table-form__action-row{
306
+ justify-content:flex-end;
307
+ }
308
+
298
309
  .ck.ck-form__row.ck-table-form__action-row .ck-button-save,
299
310
  .ck.ck-form__row.ck-table-form__action-row .ck-button-cancel{
300
311
  justify-content:center;
@@ -323,11 +334,7 @@
323
334
  flex-grow:0;
324
335
  }
325
336
 
326
- .ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator{
327
- flex-grow:0;
328
- }
329
-
330
- .ck.ck-table-form .ck-form__row > *:not(.ck-label, .ck-table-form__dimension-operator){
337
+ .ck.ck-table-form .ck-form__row:not(.ck-table-form__action-row) > *:not(.ck-label, .ck-table-form__dimension-operator){
331
338
  flex-grow:1;
332
339
  }
333
340
 
@@ -351,22 +358,6 @@
351
358
  transform:translateX( -50%);
352
359
  }
353
360
 
354
- .ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row{
355
- flex-wrap:wrap;
356
- }
357
-
358
- .ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:first-of-type{
359
- flex-grow:0.57;
360
- }
361
-
362
- .ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:last-of-type{
363
- flex-grow:0.43;
364
- }
365
-
366
- .ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar .ck-button{
367
- flex-grow:1;
368
- }
369
-
370
361
  .ck.ck-input-color{
371
362
  width:100%;
372
363
  display:flex;
package/dist/index.css CHANGED
@@ -150,6 +150,29 @@
150
150
  width: 100%;
151
151
  }
152
152
 
153
+ /*
154
+ * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
155
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
156
+ */
157
+
158
+ .ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row {
159
+ flex-wrap: wrap;
160
+ }
161
+
162
+ .ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:first-of-type {
163
+ /* 4 buttons out of 7 (h-alignment + v-alignment) = 0.57 */
164
+ flex-grow: 0.57;
165
+ }
166
+
167
+ .ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:last-of-type {
168
+ /* 3 buttons out of 7 (h-alignment + v-alignment) = 0.43 */
169
+ flex-grow: 0.43;
170
+ }
171
+
172
+ .ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar .ck-button {
173
+ flex-grow: 1;
174
+ }
175
+
153
176
  /*
154
177
  * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
155
178
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
@@ -224,6 +247,80 @@
224
247
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
225
248
  */
226
249
 
250
+ .ck.ck-form__row.ck-table-form__action-row .ck-button-save,
251
+ .ck.ck-form__row.ck-table-form__action-row .ck-button-cancel {
252
+ justify-content: center;
253
+ }
254
+
255
+ /*
256
+ * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
257
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
258
+ */
259
+
260
+ .ck.ck-table-form .ck-form__row.ck-table-form__border-row,
261
+ .ck.ck-table-form .ck-form__row.ck-table-form__background-row,
262
+ .ck.ck-table-form .ck-form__row.ck-table-form__cell-type-row {
263
+ flex-wrap: wrap;
264
+ }
265
+
266
+ .ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row,
267
+ .ck.ck-table-form .ck-form__row.ck-table-form__cell-type-row {
268
+ flex-wrap: wrap;
269
+ align-items: center;
270
+ }
271
+
272
+ .ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view, .ck.ck-table-form .ck-form__row.ck-table-form__cell-type-row .ck-labeled-field-view {
273
+ display: flex;
274
+ flex-direction: column-reverse;
275
+ align-items: center;
276
+ }
277
+
278
+ .ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view .ck.ck-dropdown, .ck.ck-table-form .ck-form__row.ck-table-form__cell-type-row .ck-labeled-field-view .ck.ck-dropdown {
279
+ flex-grow: 0;
280
+ }
281
+
282
+ .ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator, .ck.ck-table-form .ck-form__row.ck-table-form__cell-type-row .ck-table-form__dimension-operator {
283
+ flex-grow: 0;
284
+ }
285
+
286
+ /* Ignore labels that work as fieldset legends */
287
+
288
+ /* Fallback for table dimension operator */
289
+
290
+ .ck.ck-table-form .ck-form__row > *:not(.ck-label, .ck-table-form__dimension-operator) {
291
+ flex-grow: 1;
292
+ }
293
+
294
+ .ck.ck-table-form .ck.ck-labeled-field-view {
295
+ /* Allow absolute positioning of the status (error) balloons. */
296
+ position: relative;
297
+ }
298
+
299
+ .ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status {
300
+ position: absolute;
301
+ left: 50%;
302
+ bottom: calc( -1 * var(--ck-table-properties-error-arrow-size) );
303
+ transform: translate(-50%,100%);
304
+
305
+ /* Make sure the balloon status stays on top of other form elements. */
306
+ z-index: 1;
307
+
308
+ /* The arrow pointing towards the field. */
309
+ }
310
+
311
+ .ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status::after {
312
+ content: "";
313
+ position: absolute;
314
+ top: calc( -1 * var(--ck-table-properties-error-arrow-size) );
315
+ left: 50%;
316
+ transform: translateX( -50% );
317
+ }
318
+
319
+ /*
320
+ * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
321
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
322
+ */
323
+
227
324
  .ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row {
228
325
  flex-wrap: wrap;
229
326
  flex-basis: 0;
@@ -365,89 +462,6 @@
365
462
  right: unset;
366
463
  }
367
464
 
368
- /*
369
- * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
370
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
371
- */
372
-
373
- .ck.ck-form__row.ck-table-form__action-row {
374
- justify-content: flex-end;
375
- }
376
-
377
- .ck.ck-form__row.ck-table-form__action-row .ck-button-save,
378
- .ck.ck-form__row.ck-table-form__action-row .ck-button-cancel {
379
- justify-content: center;
380
- }
381
-
382
- /*
383
- * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
384
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
385
- */
386
-
387
- .ck.ck-table-form .ck-form__row.ck-table-form__border-row {
388
- flex-wrap: wrap;
389
- }
390
-
391
- .ck.ck-table-form .ck-form__row.ck-table-form__background-row {
392
- flex-wrap: wrap;
393
- }
394
-
395
- .ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row {
396
- flex-wrap: wrap;
397
- align-items: center;
398
- }
399
-
400
- .ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view {
401
- display: flex;
402
- flex-direction: column-reverse;
403
- align-items: center;
404
- }
405
-
406
- .ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view .ck.ck-dropdown {
407
- flex-grow: 0;
408
- }
409
-
410
- /* Ignore labels that work as fieldset legends */
411
-
412
- /* Fallback for table dimension operator */
413
-
414
- .ck.ck-table-form .ck-form__row:not(.ck-table-form__action-row) > *:not(.ck-label, .ck-table-form__dimension-operator) {
415
- flex-grow: 1;
416
- }
417
-
418
- .ck.ck-table-form .ck.ck-labeled-field-view {
419
- /* Allow absolute positioning of the status (error) balloons. */
420
- position: relative;
421
- }
422
-
423
- .ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status {
424
- position: absolute;
425
- left: 50%;
426
- bottom: calc( -1 * var(--ck-table-properties-error-arrow-size) );
427
- transform: translate(-50%,100%);
428
-
429
- /* Make sure the balloon status stays on top of other form elements. */
430
- z-index: 1;
431
-
432
- /* The arrow pointing towards the field. */
433
- }
434
-
435
- .ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status::after {
436
- content: "";
437
- position: absolute;
438
- top: calc( -1 * var(--ck-table-properties-error-arrow-size) );
439
- left: 50%;
440
- transform: translateX( -50% );
441
- }
442
-
443
- .ck.ck-table-form:has( .ck-form__header > .ck-button-back ) .ck-form__row.ck-table-form__action-row > .ck.ck-button {
444
- flex-grow: initial;
445
- }
446
-
447
- .ck.ck-table-form:has( .ck-form__header > .ck-button-back ) .ck-form__row.ck-table-form__action-row > .ck.ck-button .ck-button__label {
448
- color: currentColor;
449
- }
450
-
451
465
  /*
452
466
  * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
453
467
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
@@ -610,6 +624,10 @@
610
624
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
611
625
  */
612
626
 
627
+ .ck.ck-form__row.ck-table-form__action-row {
628
+ justify-content: flex-end;
629
+ }
630
+
613
631
  .ck.ck-form__row.ck-table-form__action-row .ck-button-save,
614
632
  .ck.ck-form__row.ck-table-form__action-row .ck-button-cancel {
615
633
  justify-content: center;
@@ -643,15 +661,11 @@
643
661
  flex-grow: 0;
644
662
  }
645
663
 
646
- .ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator {
647
- flex-grow: 0;
648
- }
649
-
650
664
  /* Ignore labels that work as fieldset legends */
651
665
 
652
666
  /* Fallback for table dimension operator */
653
667
 
654
- .ck.ck-table-form .ck-form__row > *:not(.ck-label, .ck-table-form__dimension-operator) {
668
+ .ck.ck-table-form .ck-form__row:not(.ck-table-form__action-row) > *:not(.ck-label, .ck-table-form__dimension-operator) {
655
669
  flex-grow: 1;
656
670
  }
657
671
 
@@ -685,29 +699,6 @@
685
699
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
686
700
  */
687
701
 
688
- .ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row {
689
- flex-wrap: wrap;
690
- }
691
-
692
- .ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:first-of-type {
693
- /* 4 buttons out of 7 (h-alignment + v-alignment) = 0.57 */
694
- flex-grow: 0.57;
695
- }
696
-
697
- .ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:last-of-type {
698
- /* 3 buttons out of 7 (h-alignment + v-alignment) = 0.43 */
699
- flex-grow: 0.43;
700
- }
701
-
702
- .ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar .ck-button {
703
- flex-grow: 1;
704
- }
705
-
706
- /*
707
- * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
708
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
709
- */
710
-
711
702
  .ck.ck-input-color {
712
703
  width: 100%;
713
704
  display: flex;