@ckeditor/ckeditor5-table 40.0.0 → 40.2.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/CHANGELOG.md +15 -15
- package/LICENSE.md +3 -3
- package/build/table.js +1 -1
- package/build/translations/fi.js +1 -1
- package/lang/translations/fi.po +3 -3
- package/package.json +2 -2
- package/src/augmentation.d.ts +76 -76
- package/src/augmentation.js +5 -5
- package/src/commands/insertcolumncommand.d.ts +55 -55
- package/src/commands/insertcolumncommand.js +67 -67
- package/src/commands/insertrowcommand.d.ts +54 -54
- package/src/commands/insertrowcommand.js +66 -66
- package/src/commands/inserttablecommand.d.ts +44 -44
- package/src/commands/inserttablecommand.js +69 -69
- package/src/commands/mergecellcommand.d.ts +68 -68
- package/src/commands/mergecellcommand.js +198 -198
- package/src/commands/mergecellscommand.d.ts +28 -28
- package/src/commands/mergecellscommand.js +94 -94
- package/src/commands/removecolumncommand.d.ts +29 -29
- package/src/commands/removecolumncommand.js +109 -109
- package/src/commands/removerowcommand.d.ts +29 -29
- package/src/commands/removerowcommand.js +82 -82
- package/src/commands/selectcolumncommand.d.ts +33 -33
- package/src/commands/selectcolumncommand.js +60 -60
- package/src/commands/selectrowcommand.d.ts +33 -33
- package/src/commands/selectrowcommand.js +56 -56
- package/src/commands/setheadercolumncommand.d.ts +50 -50
- package/src/commands/setheadercolumncommand.js +71 -71
- package/src/commands/setheaderrowcommand.d.ts +53 -53
- package/src/commands/setheaderrowcommand.js +79 -79
- package/src/commands/splitcellcommand.d.ts +43 -43
- package/src/commands/splitcellcommand.js +54 -54
- package/src/converters/downcast.d.ts +63 -63
- package/src/converters/downcast.js +146 -146
- package/src/converters/table-caption-post-fixer.d.ts +20 -20
- package/src/converters/table-caption-post-fixer.js +53 -53
- package/src/converters/table-cell-paragraph-post-fixer.d.ts +32 -32
- package/src/converters/table-cell-paragraph-post-fixer.js +107 -107
- package/src/converters/table-cell-refresh-handler.d.ts +18 -18
- package/src/converters/table-cell-refresh-handler.js +45 -45
- package/src/converters/table-headings-refresh-handler.d.ts +17 -17
- package/src/converters/table-headings-refresh-handler.js +49 -49
- package/src/converters/table-layout-post-fixer.d.ts +226 -226
- package/src/converters/table-layout-post-fixer.js +367 -367
- package/src/converters/tableproperties.d.ts +54 -54
- package/src/converters/tableproperties.js +159 -159
- package/src/converters/upcasttable.d.ts +49 -49
- package/src/converters/upcasttable.js +243 -243
- package/src/index.d.ts +60 -60
- package/src/index.js +30 -30
- package/src/plaintableoutput.d.ts +26 -26
- package/src/plaintableoutput.js +123 -123
- package/src/table.d.ts +40 -40
- package/src/table.js +44 -44
- package/src/tablecaption/tablecaptionediting.d.ts +63 -63
- package/src/tablecaption/tablecaptionediting.js +122 -122
- package/src/tablecaption/tablecaptionui.d.ts +21 -21
- package/src/tablecaption/tablecaptionui.js +57 -57
- package/src/tablecaption/toggletablecaptioncommand.d.ts +68 -68
- package/src/tablecaption/toggletablecaptioncommand.js +105 -104
- package/src/tablecaption/utils.d.ts +38 -42
- package/src/tablecaption/utils.js +57 -67
- package/src/tablecaption.d.ts +24 -24
- package/src/tablecaption.js +28 -28
- package/src/tablecellproperties/commands/tablecellbackgroundcolorcommand.d.ts +32 -32
- package/src/tablecellproperties/commands/tablecellbackgroundcolorcommand.js +30 -30
- package/src/tablecellproperties/commands/tablecellbordercolorcommand.d.ts +37 -37
- package/src/tablecellproperties/commands/tablecellbordercolorcommand.js +44 -44
- package/src/tablecellproperties/commands/tablecellborderstylecommand.d.ts +37 -37
- package/src/tablecellproperties/commands/tablecellborderstylecommand.js +44 -44
- package/src/tablecellproperties/commands/tablecellborderwidthcommand.d.ts +51 -51
- package/src/tablecellproperties/commands/tablecellborderwidthcommand.js +64 -64
- package/src/tablecellproperties/commands/tablecellheightcommand.d.ts +46 -46
- package/src/tablecellproperties/commands/tablecellheightcommand.js +51 -51
- package/src/tablecellproperties/commands/tablecellhorizontalalignmentcommand.d.ts +32 -32
- package/src/tablecellproperties/commands/tablecellhorizontalalignmentcommand.js +30 -30
- package/src/tablecellproperties/commands/tablecellpaddingcommand.d.ts +51 -51
- package/src/tablecellproperties/commands/tablecellpaddingcommand.js +64 -64
- package/src/tablecellproperties/commands/tablecellpropertycommand.d.ts +62 -62
- package/src/tablecellproperties/commands/tablecellpropertycommand.js +92 -92
- package/src/tablecellproperties/commands/tablecellverticalalignmentcommand.d.ts +40 -40
- package/src/tablecellproperties/commands/tablecellverticalalignmentcommand.js +38 -38
- package/src/tablecellproperties/tablecellpropertiesediting.d.ts +43 -43
- package/src/tablecellproperties/tablecellpropertiesediting.js +241 -241
- package/src/tablecellproperties/tablecellpropertiesui.d.ts +112 -112
- package/src/tablecellproperties/tablecellpropertiesui.js +330 -330
- package/src/tablecellproperties/ui/tablecellpropertiesview.d.ts +228 -228
- package/src/tablecellproperties/ui/tablecellpropertiesview.js +548 -548
- package/src/tablecellproperties.d.ts +30 -30
- package/src/tablecellproperties.js +34 -34
- package/src/tablecellwidth/commands/tablecellwidthcommand.d.ts +46 -46
- package/src/tablecellwidth/commands/tablecellwidthcommand.js +51 -51
- package/src/tablecellwidth/tablecellwidthediting.d.ts +29 -29
- package/src/tablecellwidth/tablecellwidthediting.js +45 -45
- package/src/tableclipboard.d.ts +65 -65
- package/src/tableclipboard.js +450 -450
- package/src/tablecolumnresize/constants.d.ts +20 -20
- package/src/tablecolumnresize/constants.js +20 -20
- package/src/tablecolumnresize/converters.d.ts +18 -18
- package/src/tablecolumnresize/converters.js +46 -46
- package/src/tablecolumnresize/tablecolumnresizeediting.d.ts +139 -139
- package/src/tablecolumnresize/tablecolumnresizeediting.js +583 -583
- package/src/tablecolumnresize/tablewidthscommand.d.ts +38 -38
- package/src/tablecolumnresize/tablewidthscommand.js +61 -61
- package/src/tablecolumnresize/utils.d.ts +148 -148
- package/src/tablecolumnresize/utils.js +358 -358
- package/src/tablecolumnresize.d.ts +26 -26
- package/src/tablecolumnresize.js +30 -30
- package/src/tableconfig.d.ts +343 -343
- package/src/tableconfig.js +5 -5
- package/src/tableediting.d.ts +98 -98
- package/src/tableediting.js +191 -191
- package/src/tablekeyboard.d.ts +68 -68
- package/src/tablekeyboard.js +279 -279
- package/src/tablemouse/mouseeventsobserver.d.ts +62 -62
- package/src/tablemouse/mouseeventsobserver.js +35 -35
- package/src/tablemouse.d.ts +48 -48
- package/src/tablemouse.js +172 -172
- package/src/tableproperties/commands/tablealignmentcommand.d.ts +32 -32
- package/src/tableproperties/commands/tablealignmentcommand.js +30 -30
- package/src/tableproperties/commands/tablebackgroundcolorcommand.d.ts +32 -32
- package/src/tableproperties/commands/tablebackgroundcolorcommand.js +30 -30
- package/src/tableproperties/commands/tablebordercolorcommand.d.ts +37 -37
- package/src/tableproperties/commands/tablebordercolorcommand.js +44 -44
- package/src/tableproperties/commands/tableborderstylecommand.d.ts +37 -37
- package/src/tableproperties/commands/tableborderstylecommand.js +44 -44
- package/src/tableproperties/commands/tableborderwidthcommand.d.ts +51 -51
- package/src/tableproperties/commands/tableborderwidthcommand.js +64 -64
- package/src/tableproperties/commands/tableheightcommand.d.ts +46 -46
- package/src/tableproperties/commands/tableheightcommand.js +54 -54
- package/src/tableproperties/commands/tablepropertycommand.d.ts +61 -61
- package/src/tableproperties/commands/tablepropertycommand.js +81 -80
- package/src/tableproperties/commands/tablewidthcommand.d.ts +46 -46
- package/src/tableproperties/commands/tablewidthcommand.js +54 -54
- package/src/tableproperties/tablepropertiesediting.d.ts +40 -40
- package/src/tableproperties/tablepropertiesediting.js +206 -206
- package/src/tableproperties/tablepropertiesui.d.ts +114 -114
- package/src/tableproperties/tablepropertiesui.js +321 -321
- package/src/tableproperties/ui/tablepropertiesview.d.ts +207 -207
- package/src/tableproperties/ui/tablepropertiesview.js +466 -466
- package/src/tableproperties.d.ts +30 -30
- package/src/tableproperties.js +34 -34
- package/src/tableselection.d.ts +107 -107
- package/src/tableselection.js +297 -297
- package/src/tabletoolbar.d.ts +32 -32
- package/src/tabletoolbar.js +57 -57
- package/src/tableui.d.ts +53 -53
- package/src/tableui.js +309 -309
- package/src/tableutils.d.ts +448 -448
- package/src/tableutils.js +1055 -1055
- package/src/tablewalker.d.ts +362 -362
- package/src/tablewalker.js +393 -393
- package/src/ui/colorinputview.d.ts +140 -140
- package/src/ui/colorinputview.js +271 -271
- package/src/ui/formrowview.d.ts +61 -61
- package/src/ui/formrowview.js +57 -57
- package/src/ui/inserttableview.d.ts +77 -77
- package/src/ui/inserttableview.js +169 -169
- package/src/utils/common.d.ts +46 -42
- package/src/utils/common.js +68 -57
- package/src/utils/structure.d.ts +245 -245
- package/src/utils/structure.js +426 -426
- package/src/utils/table-properties.d.ts +67 -67
- package/src/utils/table-properties.js +86 -86
- package/src/utils/ui/contextualballoon.d.ts +34 -34
- package/src/utils/ui/contextualballoon.js +110 -106
- package/src/utils/ui/table-properties.d.ts +195 -195
- package/src/utils/ui/table-properties.js +362 -362
- package/src/utils/ui/widget.d.ts +20 -16
- package/src/utils/ui/widget.js +48 -38
- package/build/table.js.map +0 -1
package/src/tableconfig.d.ts
CHANGED
|
@@ -1,343 +1,343 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* @module table/tableconfig
|
|
7
|
-
*/
|
|
8
|
-
import type { ToolbarConfigItem } from 'ckeditor5/src/core';
|
|
9
|
-
import type { ColorOption, ColorPickerConfig } from 'ckeditor5/src/ui';
|
|
10
|
-
/**
|
|
11
|
-
* The configuration of the table feature. Used by the table feature in the `@ckeditor/ckeditor5-table` package.
|
|
12
|
-
*
|
|
13
|
-
* ```ts
|
|
14
|
-
* ClassicEditor
|
|
15
|
-
* .create( editorElement, {
|
|
16
|
-
* table: ... // Table feature options.
|
|
17
|
-
* } )
|
|
18
|
-
* .then( ... )
|
|
19
|
-
* .catch( ... );
|
|
20
|
-
* ```
|
|
21
|
-
*
|
|
22
|
-
* See {@link module:core/editor/editorconfig~EditorConfig all editor options}.
|
|
23
|
-
*/
|
|
24
|
-
export interface TableConfig {
|
|
25
|
-
/**
|
|
26
|
-
* Number of rows and columns to render by default as table heading when inserting new tables.
|
|
27
|
-
*
|
|
28
|
-
* You can configure it like this:
|
|
29
|
-
*
|
|
30
|
-
* ```ts
|
|
31
|
-
* const tableConfig = {
|
|
32
|
-
* defaultHeadings: {
|
|
33
|
-
* rows: 1,
|
|
34
|
-
* columns: 1
|
|
35
|
-
* }
|
|
36
|
-
* };
|
|
37
|
-
* ```
|
|
38
|
-
*
|
|
39
|
-
* Both rows and columns properties are optional defaulting to 0 (no heading).
|
|
40
|
-
*/
|
|
41
|
-
defaultHeadings?: {
|
|
42
|
-
rows?: number;
|
|
43
|
-
columns?: number;
|
|
44
|
-
};
|
|
45
|
-
/**
|
|
46
|
-
* Items to be placed in the table content toolbar.
|
|
47
|
-
* The {@link module:table/tabletoolbar~TableToolbar} plugin is required to make this toolbar work.
|
|
48
|
-
*
|
|
49
|
-
* Assuming that you use the {@link module:table/tableui~TableUI} feature, the following toolbar items will be available
|
|
50
|
-
* in {@link module:ui/componentfactory~ComponentFactory}:
|
|
51
|
-
*
|
|
52
|
-
* * `'tableRow'`,
|
|
53
|
-
* * `'tableColumn'`,
|
|
54
|
-
* * `'mergeTableCells'`.
|
|
55
|
-
*
|
|
56
|
-
* You can thus configure the toolbar like this:
|
|
57
|
-
*
|
|
58
|
-
* ```ts
|
|
59
|
-
* const tableConfig = {
|
|
60
|
-
* contentToolbar: [ 'tableRow', 'tableColumn', 'mergeTableCells' ]
|
|
61
|
-
* };
|
|
62
|
-
* ```
|
|
63
|
-
*
|
|
64
|
-
* Of course, the same buttons can also be used in the
|
|
65
|
-
* {@link module:core/editor/editorconfig~EditorConfig#toolbar main editor toolbar}.
|
|
66
|
-
*
|
|
67
|
-
* Read more about configuring the toolbar in {@link module:core/editor/editorconfig~EditorConfig#toolbar}.
|
|
68
|
-
*/
|
|
69
|
-
contentToolbar?: Array<ToolbarConfigItem>;
|
|
70
|
-
/**
|
|
71
|
-
* Items to be placed in the table toolbar.
|
|
72
|
-
* The {@link module:table/tabletoolbar~TableToolbar} plugin is required to make this toolbar work.
|
|
73
|
-
*
|
|
74
|
-
* You can thus configure the toolbar like this:
|
|
75
|
-
*
|
|
76
|
-
* ```ts
|
|
77
|
-
* const tableConfig = {
|
|
78
|
-
* tableToolbar: [ 'blockQuote' ]
|
|
79
|
-
* };
|
|
80
|
-
* ```
|
|
81
|
-
*
|
|
82
|
-
* Of course, the same buttons can also be used in the
|
|
83
|
-
* {@link module:core/editor/editorconfig~EditorConfig#toolbar main editor toolbar}.
|
|
84
|
-
*
|
|
85
|
-
* Read more about configuring the toolbar in {@link module:core/editor/editorconfig~EditorConfig#toolbar}.
|
|
86
|
-
*/
|
|
87
|
-
tableToolbar?: Array<ToolbarConfigItem>;
|
|
88
|
-
/**
|
|
89
|
-
* The configuration of the table properties user interface (balloon). It allows to define:
|
|
90
|
-
*
|
|
91
|
-
* * The color palette for the table border color style field (`tableProperties.borderColors`),
|
|
92
|
-
* * The color palette for the table background style field (`tableProperties.backgroundColors`).
|
|
93
|
-
*
|
|
94
|
-
* ```ts
|
|
95
|
-
* const tableConfig = {
|
|
96
|
-
* tableProperties: {
|
|
97
|
-
* borderColors: [
|
|
98
|
-
* {
|
|
99
|
-
* color: 'hsl(0, 0%, 90%)',
|
|
100
|
-
* label: 'Light grey'
|
|
101
|
-
* },
|
|
102
|
-
* // ...
|
|
103
|
-
* ],
|
|
104
|
-
* backgroundColors: [
|
|
105
|
-
* {
|
|
106
|
-
* color: 'hsl(120, 75%, 60%)',
|
|
107
|
-
* label: 'Green'
|
|
108
|
-
* },
|
|
109
|
-
* // ...
|
|
110
|
-
* ]
|
|
111
|
-
* }
|
|
112
|
-
* };
|
|
113
|
-
* ```
|
|
114
|
-
*
|
|
115
|
-
* * The default styles for tables (`tableProperties.defaultProperties`):
|
|
116
|
-
*
|
|
117
|
-
* ```
|
|
118
|
-
* const tableConfig = {
|
|
119
|
-
* tableProperties: {
|
|
120
|
-
* defaultProperties: {
|
|
121
|
-
* borderStyle: 'dashed',
|
|
122
|
-
* borderColor: 'hsl(0, 0%, 90%)',
|
|
123
|
-
* borderWidth: '3px',
|
|
124
|
-
* alignment: 'left'
|
|
125
|
-
* }
|
|
126
|
-
* }
|
|
127
|
-
* }
|
|
128
|
-
* ```
|
|
129
|
-
*
|
|
130
|
-
* {@link module:table/tableconfig~TablePropertiesOptions Read more about the supported properties.}
|
|
131
|
-
*
|
|
132
|
-
* **Note**: The `borderColors` and `backgroundColors` options do not impact the data loaded into the editor,
|
|
133
|
-
* i.e. they do not limit or filter the colors in the data. They are used only in the user interface
|
|
134
|
-
* allowing users to pick colors in a more convenient way. The `defaultProperties` option does impact the data.
|
|
135
|
-
* Default values will not be kept in the editor model.
|
|
136
|
-
*
|
|
137
|
-
* The default color palettes for the table background and the table border are the same
|
|
138
|
-
* ({@link module:table/utils/ui/table-properties#defaultColors check out their content}).
|
|
139
|
-
*
|
|
140
|
-
* Both color palette configurations must follow the
|
|
141
|
-
* {@link module:table/tableconfig~TableColorConfig table color configuration format}.
|
|
142
|
-
*
|
|
143
|
-
* Read more about configuring the table feature in {@link module:table/tableconfig~TableConfig}.
|
|
144
|
-
*/
|
|
145
|
-
tableProperties?: TablePropertiesConfig;
|
|
146
|
-
/**
|
|
147
|
-
* The configuration of the table cell properties user interface (balloon). It allows to define:
|
|
148
|
-
*
|
|
149
|
-
* * The color palette for the cell border color style field (`tableCellProperties.borderColors`),
|
|
150
|
-
* * The color palette for the cell background style field (`tableCellProperties.backgroundColors`).
|
|
151
|
-
*
|
|
152
|
-
* ```ts
|
|
153
|
-
* const tableConfig = {
|
|
154
|
-
* tableCellProperties: {
|
|
155
|
-
* borderColors: [
|
|
156
|
-
* {
|
|
157
|
-
* color: 'hsl(0, 0%, 90%)',
|
|
158
|
-
* label: 'Light grey'
|
|
159
|
-
* },
|
|
160
|
-
* // ...
|
|
161
|
-
* ],
|
|
162
|
-
* backgroundColors: [
|
|
163
|
-
* {
|
|
164
|
-
* color: 'hsl(120, 75%, 60%)',
|
|
165
|
-
* label: 'Green'
|
|
166
|
-
* },
|
|
167
|
-
* // ...
|
|
168
|
-
* ]
|
|
169
|
-
* }
|
|
170
|
-
* };
|
|
171
|
-
* ```
|
|
172
|
-
*
|
|
173
|
-
* * The default styles for table cells (`tableCellProperties.defaultProperties`):
|
|
174
|
-
*
|
|
175
|
-
* ```ts
|
|
176
|
-
* const tableConfig = {
|
|
177
|
-
* tableCellProperties: {
|
|
178
|
-
* defaultProperties: {
|
|
179
|
-
* horizontalAlignment: 'right',
|
|
180
|
-
* verticalAlignment: 'bottom',
|
|
181
|
-
* padding: '5px'
|
|
182
|
-
* }
|
|
183
|
-
* }
|
|
184
|
-
* }
|
|
185
|
-
* ```
|
|
186
|
-
*
|
|
187
|
-
* {@link module:table/tableconfig~TablePropertiesOptions Read more about the supported properties.}
|
|
188
|
-
*
|
|
189
|
-
* **Note**: The `borderColors` and `backgroundColors` options do not impact the data loaded into the editor,
|
|
190
|
-
* i.e. they do not limit or filter the colors in the data. They are used only in the user interface
|
|
191
|
-
* allowing users to pick colors in a more convenient way. The `defaultProperties` option does impact the data.
|
|
192
|
-
* Default values will not be kept in the editor model.
|
|
193
|
-
*
|
|
194
|
-
* The default color palettes for the cell background and the cell border are the same
|
|
195
|
-
* ({@link module:table/utils/ui/table-properties#defaultColors check out their content}).
|
|
196
|
-
*
|
|
197
|
-
* Both color palette configurations must follow the
|
|
198
|
-
* {@link module:table/tableconfig~TableColorConfig table color configuration format}.
|
|
199
|
-
*
|
|
200
|
-
* Read more about configuring the table feature in {@link module:table/tableconfig~TableConfig}.
|
|
201
|
-
*/
|
|
202
|
-
tableCellProperties?: TableCellPropertiesConfig;
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* The configuration of the table properties user interface (balloon).
|
|
206
|
-
*/
|
|
207
|
-
export interface TablePropertiesConfig {
|
|
208
|
-
borderColors?: TableColorConfig;
|
|
209
|
-
backgroundColors?: TableColorConfig;
|
|
210
|
-
defaultProperties?: TablePropertiesOptions;
|
|
211
|
-
/**
|
|
212
|
-
* Configuration of the color picker in the table properties balloon.
|
|
213
|
-
*
|
|
214
|
-
* If set to `false` the picker will not appear.
|
|
215
|
-
*/
|
|
216
|
-
colorPicker?: false | ColorPickerConfig;
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* The configuration of the table default properties feature.
|
|
220
|
-
*/
|
|
221
|
-
export interface TablePropertiesOptions {
|
|
222
|
-
/**
|
|
223
|
-
* The default `width` of the table.
|
|
224
|
-
*/
|
|
225
|
-
width?: string;
|
|
226
|
-
/**
|
|
227
|
-
* The default `height` of the table.
|
|
228
|
-
*/
|
|
229
|
-
height?: string;
|
|
230
|
-
/**
|
|
231
|
-
* The default `background-color` of the table.
|
|
232
|
-
*/
|
|
233
|
-
backgroundColor?: string;
|
|
234
|
-
/**
|
|
235
|
-
* The default `border-color` of the table.
|
|
236
|
-
*/
|
|
237
|
-
borderColor?: string;
|
|
238
|
-
/**
|
|
239
|
-
* The default `border-width` of the table.
|
|
240
|
-
*/
|
|
241
|
-
borderWidth?: string;
|
|
242
|
-
/**
|
|
243
|
-
* The default `border-style` of the table.
|
|
244
|
-
*
|
|
245
|
-
* @default 'none'
|
|
246
|
-
*/
|
|
247
|
-
borderStyle?: string;
|
|
248
|
-
/**
|
|
249
|
-
* The default `alignment` of the table.
|
|
250
|
-
*
|
|
251
|
-
* @default 'center'
|
|
252
|
-
*/
|
|
253
|
-
alignment?: string;
|
|
254
|
-
}
|
|
255
|
-
/**
|
|
256
|
-
* The configuration of the table cell properties user interface (balloon).
|
|
257
|
-
*/
|
|
258
|
-
export interface TableCellPropertiesConfig {
|
|
259
|
-
borderColors?: TableColorConfig;
|
|
260
|
-
backgroundColors?: TableColorConfig;
|
|
261
|
-
defaultProperties?: TableCellPropertiesOptions;
|
|
262
|
-
/**
|
|
263
|
-
* Configuration of the color picker in the table cell properties balloon.
|
|
264
|
-
*
|
|
265
|
-
* If set to `false` the picker will not appear.
|
|
266
|
-
*/
|
|
267
|
-
colorPicker?: false | ColorPickerConfig;
|
|
268
|
-
}
|
|
269
|
-
/**
|
|
270
|
-
* An array of color definitions (either strings or objects).
|
|
271
|
-
*
|
|
272
|
-
* ```ts
|
|
273
|
-
* const colors = [
|
|
274
|
-
* {
|
|
275
|
-
* color: 'hsl(0, 0%, 60%)',
|
|
276
|
-
* label: 'Grey'
|
|
277
|
-
* },
|
|
278
|
-
* 'hsl(0, 0%, 80%)',
|
|
279
|
-
* {
|
|
280
|
-
* color: 'hsl(0, 0%, 90%)',
|
|
281
|
-
* label: 'Light grey'
|
|
282
|
-
* },
|
|
283
|
-
* {
|
|
284
|
-
* color: 'hsl(0, 0%, 100%)',
|
|
285
|
-
* label: 'White',
|
|
286
|
-
* hasBorder: true
|
|
287
|
-
* },
|
|
288
|
-
* '#FF0000'
|
|
289
|
-
* ]
|
|
290
|
-
* ```
|
|
291
|
-
*
|
|
292
|
-
* Usually used as a configuration parameter, for instance in
|
|
293
|
-
* {@link module:table/tableconfig~TableConfig#tableProperties `config.table.tableProperties`}
|
|
294
|
-
* or {@link module:table/tableconfig~TableConfig#tableCellProperties `config.table.tableCellProperties`}.
|
|
295
|
-
*/
|
|
296
|
-
export type TableColorConfig = Array<ColorOption>;
|
|
297
|
-
/**
|
|
298
|
-
* The configuration of the table cell default properties feature.
|
|
299
|
-
*/
|
|
300
|
-
export interface TableCellPropertiesOptions {
|
|
301
|
-
/**
|
|
302
|
-
* The default `width` of the table cell.
|
|
303
|
-
*/
|
|
304
|
-
width?: string;
|
|
305
|
-
/**
|
|
306
|
-
* The default `height` of the table cell.
|
|
307
|
-
*/
|
|
308
|
-
height?: string;
|
|
309
|
-
/**
|
|
310
|
-
* The default `padding` of the table cell.
|
|
311
|
-
*/
|
|
312
|
-
padding?: string;
|
|
313
|
-
/**
|
|
314
|
-
* The default `background-color` of the table cell.
|
|
315
|
-
*/
|
|
316
|
-
backgroundColor?: string;
|
|
317
|
-
/**
|
|
318
|
-
* The default `border-color` of the table cell.
|
|
319
|
-
*/
|
|
320
|
-
borderColor?: string;
|
|
321
|
-
/**
|
|
322
|
-
* The default `border-width` of the table cell.
|
|
323
|
-
*/
|
|
324
|
-
borderWidth?: string;
|
|
325
|
-
/**
|
|
326
|
-
* The default `border-style` of the table cell.
|
|
327
|
-
*
|
|
328
|
-
* @default 'none'
|
|
329
|
-
*/
|
|
330
|
-
borderStyle?: string;
|
|
331
|
-
/**
|
|
332
|
-
* The default `horizontalAlignment` of the table cell.
|
|
333
|
-
*
|
|
334
|
-
* @default 'center'
|
|
335
|
-
*/
|
|
336
|
-
horizontalAlignment?: string;
|
|
337
|
-
/**
|
|
338
|
-
* The default `verticalAlignment` of the table cell.
|
|
339
|
-
*
|
|
340
|
-
* @default 'middle'
|
|
341
|
-
*/
|
|
342
|
-
verticalAlignment?: string;
|
|
343
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @module table/tableconfig
|
|
7
|
+
*/
|
|
8
|
+
import type { ToolbarConfigItem } from 'ckeditor5/src/core';
|
|
9
|
+
import type { ColorOption, ColorPickerConfig } from 'ckeditor5/src/ui';
|
|
10
|
+
/**
|
|
11
|
+
* The configuration of the table feature. Used by the table feature in the `@ckeditor/ckeditor5-table` package.
|
|
12
|
+
*
|
|
13
|
+
* ```ts
|
|
14
|
+
* ClassicEditor
|
|
15
|
+
* .create( editorElement, {
|
|
16
|
+
* table: ... // Table feature options.
|
|
17
|
+
* } )
|
|
18
|
+
* .then( ... )
|
|
19
|
+
* .catch( ... );
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* See {@link module:core/editor/editorconfig~EditorConfig all editor options}.
|
|
23
|
+
*/
|
|
24
|
+
export interface TableConfig {
|
|
25
|
+
/**
|
|
26
|
+
* Number of rows and columns to render by default as table heading when inserting new tables.
|
|
27
|
+
*
|
|
28
|
+
* You can configure it like this:
|
|
29
|
+
*
|
|
30
|
+
* ```ts
|
|
31
|
+
* const tableConfig = {
|
|
32
|
+
* defaultHeadings: {
|
|
33
|
+
* rows: 1,
|
|
34
|
+
* columns: 1
|
|
35
|
+
* }
|
|
36
|
+
* };
|
|
37
|
+
* ```
|
|
38
|
+
*
|
|
39
|
+
* Both rows and columns properties are optional defaulting to 0 (no heading).
|
|
40
|
+
*/
|
|
41
|
+
defaultHeadings?: {
|
|
42
|
+
rows?: number;
|
|
43
|
+
columns?: number;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Items to be placed in the table content toolbar.
|
|
47
|
+
* The {@link module:table/tabletoolbar~TableToolbar} plugin is required to make this toolbar work.
|
|
48
|
+
*
|
|
49
|
+
* Assuming that you use the {@link module:table/tableui~TableUI} feature, the following toolbar items will be available
|
|
50
|
+
* in {@link module:ui/componentfactory~ComponentFactory}:
|
|
51
|
+
*
|
|
52
|
+
* * `'tableRow'`,
|
|
53
|
+
* * `'tableColumn'`,
|
|
54
|
+
* * `'mergeTableCells'`.
|
|
55
|
+
*
|
|
56
|
+
* You can thus configure the toolbar like this:
|
|
57
|
+
*
|
|
58
|
+
* ```ts
|
|
59
|
+
* const tableConfig = {
|
|
60
|
+
* contentToolbar: [ 'tableRow', 'tableColumn', 'mergeTableCells' ]
|
|
61
|
+
* };
|
|
62
|
+
* ```
|
|
63
|
+
*
|
|
64
|
+
* Of course, the same buttons can also be used in the
|
|
65
|
+
* {@link module:core/editor/editorconfig~EditorConfig#toolbar main editor toolbar}.
|
|
66
|
+
*
|
|
67
|
+
* Read more about configuring the toolbar in {@link module:core/editor/editorconfig~EditorConfig#toolbar}.
|
|
68
|
+
*/
|
|
69
|
+
contentToolbar?: Array<ToolbarConfigItem>;
|
|
70
|
+
/**
|
|
71
|
+
* Items to be placed in the table toolbar.
|
|
72
|
+
* The {@link module:table/tabletoolbar~TableToolbar} plugin is required to make this toolbar work.
|
|
73
|
+
*
|
|
74
|
+
* You can thus configure the toolbar like this:
|
|
75
|
+
*
|
|
76
|
+
* ```ts
|
|
77
|
+
* const tableConfig = {
|
|
78
|
+
* tableToolbar: [ 'blockQuote' ]
|
|
79
|
+
* };
|
|
80
|
+
* ```
|
|
81
|
+
*
|
|
82
|
+
* Of course, the same buttons can also be used in the
|
|
83
|
+
* {@link module:core/editor/editorconfig~EditorConfig#toolbar main editor toolbar}.
|
|
84
|
+
*
|
|
85
|
+
* Read more about configuring the toolbar in {@link module:core/editor/editorconfig~EditorConfig#toolbar}.
|
|
86
|
+
*/
|
|
87
|
+
tableToolbar?: Array<ToolbarConfigItem>;
|
|
88
|
+
/**
|
|
89
|
+
* The configuration of the table properties user interface (balloon). It allows to define:
|
|
90
|
+
*
|
|
91
|
+
* * The color palette for the table border color style field (`tableProperties.borderColors`),
|
|
92
|
+
* * The color palette for the table background style field (`tableProperties.backgroundColors`).
|
|
93
|
+
*
|
|
94
|
+
* ```ts
|
|
95
|
+
* const tableConfig = {
|
|
96
|
+
* tableProperties: {
|
|
97
|
+
* borderColors: [
|
|
98
|
+
* {
|
|
99
|
+
* color: 'hsl(0, 0%, 90%)',
|
|
100
|
+
* label: 'Light grey'
|
|
101
|
+
* },
|
|
102
|
+
* // ...
|
|
103
|
+
* ],
|
|
104
|
+
* backgroundColors: [
|
|
105
|
+
* {
|
|
106
|
+
* color: 'hsl(120, 75%, 60%)',
|
|
107
|
+
* label: 'Green'
|
|
108
|
+
* },
|
|
109
|
+
* // ...
|
|
110
|
+
* ]
|
|
111
|
+
* }
|
|
112
|
+
* };
|
|
113
|
+
* ```
|
|
114
|
+
*
|
|
115
|
+
* * The default styles for tables (`tableProperties.defaultProperties`):
|
|
116
|
+
*
|
|
117
|
+
* ```
|
|
118
|
+
* const tableConfig = {
|
|
119
|
+
* tableProperties: {
|
|
120
|
+
* defaultProperties: {
|
|
121
|
+
* borderStyle: 'dashed',
|
|
122
|
+
* borderColor: 'hsl(0, 0%, 90%)',
|
|
123
|
+
* borderWidth: '3px',
|
|
124
|
+
* alignment: 'left'
|
|
125
|
+
* }
|
|
126
|
+
* }
|
|
127
|
+
* }
|
|
128
|
+
* ```
|
|
129
|
+
*
|
|
130
|
+
* {@link module:table/tableconfig~TablePropertiesOptions Read more about the supported properties.}
|
|
131
|
+
*
|
|
132
|
+
* **Note**: The `borderColors` and `backgroundColors` options do not impact the data loaded into the editor,
|
|
133
|
+
* i.e. they do not limit or filter the colors in the data. They are used only in the user interface
|
|
134
|
+
* allowing users to pick colors in a more convenient way. The `defaultProperties` option does impact the data.
|
|
135
|
+
* Default values will not be kept in the editor model.
|
|
136
|
+
*
|
|
137
|
+
* The default color palettes for the table background and the table border are the same
|
|
138
|
+
* ({@link module:table/utils/ui/table-properties#defaultColors check out their content}).
|
|
139
|
+
*
|
|
140
|
+
* Both color palette configurations must follow the
|
|
141
|
+
* {@link module:table/tableconfig~TableColorConfig table color configuration format}.
|
|
142
|
+
*
|
|
143
|
+
* Read more about configuring the table feature in {@link module:table/tableconfig~TableConfig}.
|
|
144
|
+
*/
|
|
145
|
+
tableProperties?: TablePropertiesConfig;
|
|
146
|
+
/**
|
|
147
|
+
* The configuration of the table cell properties user interface (balloon). It allows to define:
|
|
148
|
+
*
|
|
149
|
+
* * The color palette for the cell border color style field (`tableCellProperties.borderColors`),
|
|
150
|
+
* * The color palette for the cell background style field (`tableCellProperties.backgroundColors`).
|
|
151
|
+
*
|
|
152
|
+
* ```ts
|
|
153
|
+
* const tableConfig = {
|
|
154
|
+
* tableCellProperties: {
|
|
155
|
+
* borderColors: [
|
|
156
|
+
* {
|
|
157
|
+
* color: 'hsl(0, 0%, 90%)',
|
|
158
|
+
* label: 'Light grey'
|
|
159
|
+
* },
|
|
160
|
+
* // ...
|
|
161
|
+
* ],
|
|
162
|
+
* backgroundColors: [
|
|
163
|
+
* {
|
|
164
|
+
* color: 'hsl(120, 75%, 60%)',
|
|
165
|
+
* label: 'Green'
|
|
166
|
+
* },
|
|
167
|
+
* // ...
|
|
168
|
+
* ]
|
|
169
|
+
* }
|
|
170
|
+
* };
|
|
171
|
+
* ```
|
|
172
|
+
*
|
|
173
|
+
* * The default styles for table cells (`tableCellProperties.defaultProperties`):
|
|
174
|
+
*
|
|
175
|
+
* ```ts
|
|
176
|
+
* const tableConfig = {
|
|
177
|
+
* tableCellProperties: {
|
|
178
|
+
* defaultProperties: {
|
|
179
|
+
* horizontalAlignment: 'right',
|
|
180
|
+
* verticalAlignment: 'bottom',
|
|
181
|
+
* padding: '5px'
|
|
182
|
+
* }
|
|
183
|
+
* }
|
|
184
|
+
* }
|
|
185
|
+
* ```
|
|
186
|
+
*
|
|
187
|
+
* {@link module:table/tableconfig~TablePropertiesOptions Read more about the supported properties.}
|
|
188
|
+
*
|
|
189
|
+
* **Note**: The `borderColors` and `backgroundColors` options do not impact the data loaded into the editor,
|
|
190
|
+
* i.e. they do not limit or filter the colors in the data. They are used only in the user interface
|
|
191
|
+
* allowing users to pick colors in a more convenient way. The `defaultProperties` option does impact the data.
|
|
192
|
+
* Default values will not be kept in the editor model.
|
|
193
|
+
*
|
|
194
|
+
* The default color palettes for the cell background and the cell border are the same
|
|
195
|
+
* ({@link module:table/utils/ui/table-properties#defaultColors check out their content}).
|
|
196
|
+
*
|
|
197
|
+
* Both color palette configurations must follow the
|
|
198
|
+
* {@link module:table/tableconfig~TableColorConfig table color configuration format}.
|
|
199
|
+
*
|
|
200
|
+
* Read more about configuring the table feature in {@link module:table/tableconfig~TableConfig}.
|
|
201
|
+
*/
|
|
202
|
+
tableCellProperties?: TableCellPropertiesConfig;
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* The configuration of the table properties user interface (balloon).
|
|
206
|
+
*/
|
|
207
|
+
export interface TablePropertiesConfig {
|
|
208
|
+
borderColors?: TableColorConfig;
|
|
209
|
+
backgroundColors?: TableColorConfig;
|
|
210
|
+
defaultProperties?: TablePropertiesOptions;
|
|
211
|
+
/**
|
|
212
|
+
* Configuration of the color picker in the table properties balloon.
|
|
213
|
+
*
|
|
214
|
+
* If set to `false` the picker will not appear.
|
|
215
|
+
*/
|
|
216
|
+
colorPicker?: false | ColorPickerConfig;
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* The configuration of the table default properties feature.
|
|
220
|
+
*/
|
|
221
|
+
export interface TablePropertiesOptions {
|
|
222
|
+
/**
|
|
223
|
+
* The default `width` of the table.
|
|
224
|
+
*/
|
|
225
|
+
width?: string;
|
|
226
|
+
/**
|
|
227
|
+
* The default `height` of the table.
|
|
228
|
+
*/
|
|
229
|
+
height?: string;
|
|
230
|
+
/**
|
|
231
|
+
* The default `background-color` of the table.
|
|
232
|
+
*/
|
|
233
|
+
backgroundColor?: string;
|
|
234
|
+
/**
|
|
235
|
+
* The default `border-color` of the table.
|
|
236
|
+
*/
|
|
237
|
+
borderColor?: string;
|
|
238
|
+
/**
|
|
239
|
+
* The default `border-width` of the table.
|
|
240
|
+
*/
|
|
241
|
+
borderWidth?: string;
|
|
242
|
+
/**
|
|
243
|
+
* The default `border-style` of the table.
|
|
244
|
+
*
|
|
245
|
+
* @default 'none'
|
|
246
|
+
*/
|
|
247
|
+
borderStyle?: string;
|
|
248
|
+
/**
|
|
249
|
+
* The default `alignment` of the table.
|
|
250
|
+
*
|
|
251
|
+
* @default 'center'
|
|
252
|
+
*/
|
|
253
|
+
alignment?: string;
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* The configuration of the table cell properties user interface (balloon).
|
|
257
|
+
*/
|
|
258
|
+
export interface TableCellPropertiesConfig {
|
|
259
|
+
borderColors?: TableColorConfig;
|
|
260
|
+
backgroundColors?: TableColorConfig;
|
|
261
|
+
defaultProperties?: TableCellPropertiesOptions;
|
|
262
|
+
/**
|
|
263
|
+
* Configuration of the color picker in the table cell properties balloon.
|
|
264
|
+
*
|
|
265
|
+
* If set to `false` the picker will not appear.
|
|
266
|
+
*/
|
|
267
|
+
colorPicker?: false | ColorPickerConfig;
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* An array of color definitions (either strings or objects).
|
|
271
|
+
*
|
|
272
|
+
* ```ts
|
|
273
|
+
* const colors = [
|
|
274
|
+
* {
|
|
275
|
+
* color: 'hsl(0, 0%, 60%)',
|
|
276
|
+
* label: 'Grey'
|
|
277
|
+
* },
|
|
278
|
+
* 'hsl(0, 0%, 80%)',
|
|
279
|
+
* {
|
|
280
|
+
* color: 'hsl(0, 0%, 90%)',
|
|
281
|
+
* label: 'Light grey'
|
|
282
|
+
* },
|
|
283
|
+
* {
|
|
284
|
+
* color: 'hsl(0, 0%, 100%)',
|
|
285
|
+
* label: 'White',
|
|
286
|
+
* hasBorder: true
|
|
287
|
+
* },
|
|
288
|
+
* '#FF0000'
|
|
289
|
+
* ]
|
|
290
|
+
* ```
|
|
291
|
+
*
|
|
292
|
+
* Usually used as a configuration parameter, for instance in
|
|
293
|
+
* {@link module:table/tableconfig~TableConfig#tableProperties `config.table.tableProperties`}
|
|
294
|
+
* or {@link module:table/tableconfig~TableConfig#tableCellProperties `config.table.tableCellProperties`}.
|
|
295
|
+
*/
|
|
296
|
+
export type TableColorConfig = Array<ColorOption>;
|
|
297
|
+
/**
|
|
298
|
+
* The configuration of the table cell default properties feature.
|
|
299
|
+
*/
|
|
300
|
+
export interface TableCellPropertiesOptions {
|
|
301
|
+
/**
|
|
302
|
+
* The default `width` of the table cell.
|
|
303
|
+
*/
|
|
304
|
+
width?: string;
|
|
305
|
+
/**
|
|
306
|
+
* The default `height` of the table cell.
|
|
307
|
+
*/
|
|
308
|
+
height?: string;
|
|
309
|
+
/**
|
|
310
|
+
* The default `padding` of the table cell.
|
|
311
|
+
*/
|
|
312
|
+
padding?: string;
|
|
313
|
+
/**
|
|
314
|
+
* The default `background-color` of the table cell.
|
|
315
|
+
*/
|
|
316
|
+
backgroundColor?: string;
|
|
317
|
+
/**
|
|
318
|
+
* The default `border-color` of the table cell.
|
|
319
|
+
*/
|
|
320
|
+
borderColor?: string;
|
|
321
|
+
/**
|
|
322
|
+
* The default `border-width` of the table cell.
|
|
323
|
+
*/
|
|
324
|
+
borderWidth?: string;
|
|
325
|
+
/**
|
|
326
|
+
* The default `border-style` of the table cell.
|
|
327
|
+
*
|
|
328
|
+
* @default 'none'
|
|
329
|
+
*/
|
|
330
|
+
borderStyle?: string;
|
|
331
|
+
/**
|
|
332
|
+
* The default `horizontalAlignment` of the table cell.
|
|
333
|
+
*
|
|
334
|
+
* @default 'center'
|
|
335
|
+
*/
|
|
336
|
+
horizontalAlignment?: string;
|
|
337
|
+
/**
|
|
338
|
+
* The default `verticalAlignment` of the table cell.
|
|
339
|
+
*
|
|
340
|
+
* @default 'middle'
|
|
341
|
+
*/
|
|
342
|
+
verticalAlignment?: string;
|
|
343
|
+
}
|