@ckeditor/ckeditor5-table 0.0.0-nightly-next-20260108.0 → 0.0.0-nightly-20260109.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 (274) hide show
  1. package/build/table.js +5 -0
  2. package/build/translations/af.js +1 -0
  3. package/build/translations/ar.js +1 -0
  4. package/build/translations/ast.js +1 -0
  5. package/build/translations/az.js +1 -0
  6. package/build/translations/be.js +1 -0
  7. package/build/translations/bg.js +1 -0
  8. package/build/translations/bn.js +1 -0
  9. package/build/translations/bs.js +1 -0
  10. package/build/translations/ca.js +1 -0
  11. package/build/translations/cs.js +1 -0
  12. package/build/translations/da.js +1 -0
  13. package/build/translations/de-ch.js +1 -0
  14. package/build/translations/de.js +1 -0
  15. package/build/translations/el.js +1 -0
  16. package/build/translations/en-au.js +1 -0
  17. package/build/translations/en-gb.js +1 -0
  18. package/build/translations/eo.js +1 -0
  19. package/build/translations/es-co.js +1 -0
  20. package/build/translations/es.js +1 -0
  21. package/build/translations/et.js +1 -0
  22. package/build/translations/eu.js +1 -0
  23. package/build/translations/fa.js +1 -0
  24. package/build/translations/fi.js +1 -0
  25. package/build/translations/fr.js +1 -0
  26. package/build/translations/gl.js +1 -0
  27. package/build/translations/gu.js +1 -0
  28. package/build/translations/he.js +1 -0
  29. package/build/translations/hi.js +1 -0
  30. package/build/translations/hr.js +1 -0
  31. package/build/translations/hu.js +1 -0
  32. package/build/translations/hy.js +1 -0
  33. package/build/translations/id.js +1 -0
  34. package/build/translations/it.js +1 -0
  35. package/build/translations/ja.js +1 -0
  36. package/build/translations/jv.js +1 -0
  37. package/build/translations/kk.js +1 -0
  38. package/build/translations/km.js +1 -0
  39. package/build/translations/kn.js +1 -0
  40. package/build/translations/ko.js +1 -0
  41. package/build/translations/ku.js +1 -0
  42. package/build/translations/lt.js +1 -0
  43. package/build/translations/lv.js +1 -0
  44. package/build/translations/ms.js +1 -0
  45. package/build/translations/nb.js +1 -0
  46. package/build/translations/ne.js +1 -0
  47. package/build/translations/nl.js +1 -0
  48. package/build/translations/no.js +1 -0
  49. package/build/translations/oc.js +1 -0
  50. package/build/translations/pl.js +1 -0
  51. package/build/translations/pt-br.js +1 -0
  52. package/build/translations/pt.js +1 -0
  53. package/build/translations/ro.js +1 -0
  54. package/build/translations/ru.js +1 -0
  55. package/build/translations/si.js +1 -0
  56. package/build/translations/sk.js +1 -0
  57. package/build/translations/sl.js +1 -0
  58. package/build/translations/sq.js +1 -0
  59. package/build/translations/sr-latn.js +1 -0
  60. package/build/translations/sr.js +1 -0
  61. package/build/translations/sv.js +1 -0
  62. package/build/translations/th.js +1 -0
  63. package/build/translations/ti.js +1 -0
  64. package/build/translations/tk.js +1 -0
  65. package/build/translations/tr.js +1 -0
  66. package/build/translations/tt.js +1 -0
  67. package/build/translations/ug.js +1 -0
  68. package/build/translations/uk.js +1 -0
  69. package/build/translations/ur.js +1 -0
  70. package/build/translations/uz.js +1 -0
  71. package/build/translations/vi.js +1 -0
  72. package/build/translations/zh-cn.js +1 -0
  73. package/build/translations/zh.js +1 -0
  74. package/ckeditor5-metadata.json +7 -16
  75. package/dist/index-content.css +30 -30
  76. package/dist/index-editor.css +170 -104
  77. package/dist/index.css +237 -147
  78. package/dist/index.css.map +1 -1
  79. package/dist/index.js +2433 -448
  80. package/dist/index.js.map +1 -1
  81. package/lang/contexts.json +4 -2
  82. package/package.json +35 -25
  83. package/{dist → src}/augmentation.d.ts +15 -4
  84. package/src/augmentation.js +5 -0
  85. package/{dist → src}/commands/insertcolumncommand.d.ts +1 -5
  86. package/src/commands/insertcolumncommand.js +71 -0
  87. package/{dist → src}/commands/insertrowcommand.d.ts +1 -5
  88. package/src/commands/insertrowcommand.js +70 -0
  89. package/{dist → src}/commands/inserttablecommand.d.ts +1 -5
  90. package/src/commands/inserttablecommand.js +69 -0
  91. package/{dist → src}/commands/inserttablelayoutcommand.d.ts +1 -5
  92. package/src/commands/inserttablelayoutcommand.js +65 -0
  93. package/{dist → src}/commands/mergecellcommand.d.ts +3 -7
  94. package/src/commands/mergecellcommand.js +206 -0
  95. package/{dist → src}/commands/mergecellscommand.d.ts +1 -5
  96. package/src/commands/mergecellscommand.js +94 -0
  97. package/{dist → src}/commands/removecolumncommand.d.ts +1 -5
  98. package/src/commands/removecolumncommand.js +109 -0
  99. package/{dist → src}/commands/removerowcommand.d.ts +1 -5
  100. package/src/commands/removerowcommand.js +82 -0
  101. package/{dist → src}/commands/selectcolumncommand.d.ts +1 -5
  102. package/src/commands/selectcolumncommand.js +60 -0
  103. package/{dist → src}/commands/selectrowcommand.d.ts +1 -5
  104. package/src/commands/selectrowcommand.js +56 -0
  105. package/{dist → src}/commands/setheadercolumncommand.d.ts +1 -5
  106. package/src/commands/setheadercolumncommand.js +76 -0
  107. package/{dist → src}/commands/setheaderrowcommand.d.ts +1 -5
  108. package/src/commands/setheaderrowcommand.js +83 -0
  109. package/{dist → src}/commands/splitcellcommand.d.ts +1 -5
  110. package/src/commands/splitcellcommand.js +58 -0
  111. package/{dist → src}/converters/downcast.d.ts +2 -6
  112. package/src/converters/downcast.js +298 -0
  113. package/{dist → src}/converters/table-caption-post-fixer.d.ts +1 -5
  114. package/src/converters/table-caption-post-fixer.js +55 -0
  115. package/{dist → src}/converters/table-cell-paragraph-post-fixer.d.ts +1 -5
  116. package/src/converters/table-cell-paragraph-post-fixer.js +109 -0
  117. package/{dist → src}/converters/table-cell-refresh-handler.d.ts +1 -5
  118. package/src/converters/table-cell-refresh-handler.js +47 -0
  119. package/{dist → src}/converters/table-headings-refresh-handler.d.ts +1 -5
  120. package/src/converters/table-headings-refresh-handler.js +51 -0
  121. package/{dist → src}/converters/table-layout-post-fixer.d.ts +1 -5
  122. package/src/converters/table-layout-post-fixer.js +369 -0
  123. package/{dist → src}/converters/tableproperties.d.ts +2 -6
  124. package/src/converters/tableproperties.js +444 -0
  125. package/{dist → src}/converters/upcasttable.d.ts +1 -5
  126. package/src/converters/upcasttable.js +385 -0
  127. package/{dist → src}/index.d.ts +5 -6
  128. package/src/index.js +98 -0
  129. package/{dist → src}/plaintableoutput.d.ts +1 -5
  130. package/src/plaintableoutput.js +49 -0
  131. package/{dist → src}/table.d.ts +2 -6
  132. package/src/table.js +50 -0
  133. package/{dist → src}/tablecaption/tablecaptionediting.d.ts +2 -6
  134. package/src/tablecaption/tablecaptionediting.js +136 -0
  135. package/{dist → src}/tablecaption/tablecaptionui.d.ts +1 -5
  136. package/src/tablecaption/tablecaptionui.js +64 -0
  137. package/{dist → src}/tablecaption/toggletablecaptioncommand.d.ts +1 -5
  138. package/src/tablecaption/toggletablecaptioncommand.js +105 -0
  139. package/{dist → src}/tablecaption/utils.d.ts +1 -5
  140. package/src/tablecaption/utils.js +61 -0
  141. package/{dist → src}/tablecaption.d.ts +1 -5
  142. package/src/tablecaption.js +34 -0
  143. package/{dist → src}/tablecellproperties/commands/tablecellbackgroundcolorcommand.d.ts +1 -5
  144. package/src/tablecellproperties/commands/tablecellbackgroundcolorcommand.js +30 -0
  145. package/{dist → src}/tablecellproperties/commands/tablecellbordercolorcommand.d.ts +2 -6
  146. package/src/tablecellproperties/commands/tablecellbordercolorcommand.js +44 -0
  147. package/{dist → src}/tablecellproperties/commands/tablecellborderstylecommand.d.ts +2 -6
  148. package/src/tablecellproperties/commands/tablecellborderstylecommand.js +44 -0
  149. package/{dist → src}/tablecellproperties/commands/tablecellborderwidthcommand.d.ts +2 -6
  150. package/src/tablecellproperties/commands/tablecellborderwidthcommand.js +64 -0
  151. package/{dist → src}/tablecellproperties/commands/tablecellheightcommand.d.ts +1 -5
  152. package/src/tablecellproperties/commands/tablecellheightcommand.js +51 -0
  153. package/{dist → src}/tablecellproperties/commands/tablecellhorizontalalignmentcommand.d.ts +1 -5
  154. package/src/tablecellproperties/commands/tablecellhorizontalalignmentcommand.js +30 -0
  155. package/{dist → src}/tablecellproperties/commands/tablecellpaddingcommand.d.ts +2 -6
  156. package/src/tablecellproperties/commands/tablecellpaddingcommand.js +64 -0
  157. package/{dist → src}/tablecellproperties/commands/tablecellpropertycommand.d.ts +2 -6
  158. package/src/tablecellproperties/commands/tablecellpropertycommand.js +138 -0
  159. package/{dist → src}/tablecellproperties/commands/tablecelltypecommand.d.ts +6 -6
  160. package/src/tablecellproperties/commands/tablecelltypecommand.js +167 -0
  161. package/{dist → src}/tablecellproperties/commands/tablecellverticalalignmentcommand.d.ts +1 -5
  162. package/src/tablecellproperties/commands/tablecellverticalalignmentcommand.js +38 -0
  163. package/{dist → src}/tablecellproperties/tablecellpropertiesediting.d.ts +1 -5
  164. package/src/tablecellproperties/tablecellpropertiesediting.js +412 -0
  165. package/{dist → src}/tablecellproperties/tablecellpropertiesui.d.ts +2 -6
  166. package/src/tablecellproperties/tablecellpropertiesui.js +385 -0
  167. package/src/tablecellproperties/tablecellpropertiesuiexperimental.d.ts +128 -0
  168. package/src/tablecellproperties/tablecellpropertiesuiexperimental.js +408 -0
  169. package/src/tablecellproperties/ui/tablecellpropertiesview.d.ts +229 -0
  170. package/src/tablecellproperties/ui/tablecellpropertiesview.js +612 -0
  171. package/{dist/tablecellproperties/ui/tablecellpropertiesview.d.ts → src/tablecellproperties/ui/tablecellpropertiesviewexperimental.d.ts} +12 -15
  172. package/src/tablecellproperties/ui/tablecellpropertiesviewexperimental.js +744 -0
  173. package/{dist → src}/tablecellproperties.d.ts +1 -5
  174. package/src/tablecellproperties.js +40 -0
  175. package/{dist → src}/tablecellwidth/commands/tablecellwidthcommand.d.ts +1 -5
  176. package/src/tablecellwidth/commands/tablecellwidthcommand.js +51 -0
  177. package/{dist → src}/tablecellwidth/tablecellwidthediting.d.ts +1 -5
  178. package/src/tablecellwidth/tablecellwidthediting.js +53 -0
  179. package/{dist → src}/tableclipboard.d.ts +3 -7
  180. package/src/tableclipboard.js +500 -0
  181. package/{dist → src}/tablecolumnresize/constants.d.ts +0 -4
  182. package/src/tablecolumnresize/constants.js +33 -0
  183. package/{dist → src}/tablecolumnresize/converters.d.ts +1 -5
  184. package/src/tablecolumnresize/converters.js +62 -0
  185. package/{dist → src}/tablecolumnresize/tablecolumnresizeediting.d.ts +2 -6
  186. package/src/tablecolumnresize/tablecolumnresizeediting.js +729 -0
  187. package/{dist → src}/tablecolumnresize/tablewidthscommand.d.ts +2 -6
  188. package/src/tablecolumnresize/tablewidthscommand.js +61 -0
  189. package/{dist → src}/tablecolumnresize/utils.d.ts +2 -6
  190. package/src/tablecolumnresize/utils.js +370 -0
  191. package/{dist → src}/tablecolumnresize.d.ts +1 -5
  192. package/src/tablecolumnresize.js +36 -0
  193. package/{dist → src}/tableconfig.d.ts +6 -30
  194. package/src/tableconfig.js +5 -0
  195. package/{dist → src}/tableediting.d.ts +2 -6
  196. package/src/tableediting.js +246 -0
  197. package/{dist → src}/tablekeyboard.d.ts +3 -7
  198. package/src/tablekeyboard.js +273 -0
  199. package/{dist → src}/tablelayout/commands/tabletypecommand.d.ts +1 -5
  200. package/src/tablelayout/commands/tabletypecommand.js +68 -0
  201. package/{dist → src}/tablelayout/tablelayoutediting.d.ts +1 -5
  202. package/src/tablelayout/tablelayoutediting.js +295 -0
  203. package/{dist → src}/tablelayout/tablelayoutui.d.ts +1 -5
  204. package/src/tablelayout/tablelayoutui.js +196 -0
  205. package/{dist → src}/tablelayout.d.ts +1 -5
  206. package/src/tablelayout.js +37 -0
  207. package/{dist → src}/tablemouse/mouseeventsobserver.d.ts +1 -5
  208. package/src/tablemouse/mouseeventsobserver.js +34 -0
  209. package/{dist → src}/tablemouse.d.ts +1 -5
  210. package/src/tablemouse.js +178 -0
  211. package/{dist → src}/tableproperties/commands/tablealignmentcommand.d.ts +1 -5
  212. package/src/tableproperties/commands/tablealignmentcommand.js +30 -0
  213. package/{dist → src}/tableproperties/commands/tablebackgroundcolorcommand.d.ts +1 -5
  214. package/src/tableproperties/commands/tablebackgroundcolorcommand.js +30 -0
  215. package/{dist → src}/tableproperties/commands/tablebordercolorcommand.d.ts +2 -6
  216. package/src/tableproperties/commands/tablebordercolorcommand.js +44 -0
  217. package/{dist → src}/tableproperties/commands/tableborderstylecommand.d.ts +2 -6
  218. package/src/tableproperties/commands/tableborderstylecommand.js +44 -0
  219. package/{dist → src}/tableproperties/commands/tableborderwidthcommand.d.ts +2 -6
  220. package/src/tableproperties/commands/tableborderwidthcommand.js +64 -0
  221. package/{dist → src}/tableproperties/commands/tableheightcommand.d.ts +1 -5
  222. package/src/tableproperties/commands/tableheightcommand.js +54 -0
  223. package/{dist → src}/tableproperties/commands/tablepropertycommand.d.ts +2 -6
  224. package/src/tableproperties/commands/tablepropertycommand.js +103 -0
  225. package/{dist → src}/tableproperties/commands/tablewidthcommand.d.ts +1 -5
  226. package/src/tableproperties/commands/tablewidthcommand.js +54 -0
  227. package/{dist → src}/tableproperties/tablepropertiesediting.d.ts +1 -5
  228. package/src/tableproperties/tablepropertiesediting.js +546 -0
  229. package/{dist → src}/tableproperties/tablepropertiesui.d.ts +2 -6
  230. package/src/tableproperties/tablepropertiesui.js +374 -0
  231. package/src/tableproperties/tablepropertiesuiexperimental.d.ts +136 -0
  232. package/src/tableproperties/tablepropertiesuiexperimental.js +375 -0
  233. package/{dist → src}/tableproperties/ui/tablepropertiesview.d.ts +2 -14
  234. package/src/tableproperties/ui/tablepropertiesview.js +520 -0
  235. package/src/tableproperties/ui/tablepropertiesviewexperimental.d.ts +216 -0
  236. package/src/tableproperties/ui/tablepropertiesviewexperimental.js +544 -0
  237. package/{dist → src}/tableproperties.d.ts +1 -5
  238. package/src/tableproperties.js +40 -0
  239. package/{dist → src}/tableselection.d.ts +2 -6
  240. package/src/tableselection.js +323 -0
  241. package/{dist → src}/tabletoolbar.d.ts +2 -6
  242. package/src/tabletoolbar.js +63 -0
  243. package/{dist → src}/tableui.d.ts +1 -5
  244. package/src/tableui.js +335 -0
  245. package/{dist → src}/tableutils.d.ts +2 -6
  246. package/src/tableutils.js +1282 -0
  247. package/{dist → src}/tablewalker.d.ts +1 -5
  248. package/src/tablewalker.js +489 -0
  249. package/{dist → src}/ui/colorinputview.d.ts +2 -6
  250. package/src/ui/colorinputview.js +305 -0
  251. package/{dist → src}/ui/inserttableview.d.ts +2 -6
  252. package/src/ui/inserttableview.js +192 -0
  253. package/{dist → src}/utils/common.d.ts +2 -6
  254. package/src/utils/common.js +118 -0
  255. package/{dist → src}/utils/structure.d.ts +1 -5
  256. package/src/utils/structure.js +452 -0
  257. package/{dist → src}/utils/table-properties.d.ts +1 -5
  258. package/src/utils/table-properties.js +121 -0
  259. package/{dist → src}/utils/ui/contextualballoon.d.ts +2 -6
  260. package/src/utils/ui/contextualballoon.js +111 -0
  261. package/{dist → src}/utils/ui/table-properties.d.ts +2 -6
  262. package/src/utils/ui/table-properties.js +390 -0
  263. package/src/utils/ui/table-propertiesexperimental.d.ts +215 -0
  264. package/src/utils/ui/table-propertiesexperimental.js +391 -0
  265. package/{dist → src}/utils/ui/widget.d.ts +1 -5
  266. package/src/utils/ui/widget.js +56 -0
  267. package/theme/formrow-experimental.css +15 -0
  268. package/theme/formrow.css +0 -2
  269. package/theme/tablecellproperties-experimental.css +4 -0
  270. package/theme/tableform-experimental.css +61 -0
  271. package/theme/tableform.css +5 -1
  272. package/theme/tableproperties-experimental.css +78 -0
  273. package/theme/tableproperties.css +0 -60
  274. package/dist/tablecellproperties/tablecellpropertiesutils.d.ts +0 -22
@@ -26,8 +26,6 @@
26
26
  "Cell type": "The label for the dropdown that allows configuring the type of a table cell (data or header).",
27
27
  "Data cell": "The label for the dropdown option for a data table cell.",
28
28
  "Header cell": "The label for the dropdown option for a header table cell.",
29
- "Column header": "The label for the dropdown option for a header table cell that represents a column header.",
30
- "Row header": "The label for the dropdown option for a header table cell that represents a row header.",
31
29
  "Border": "The label describing a group of border–related form fields (border style, color, etc.).",
32
30
  "Style": "The label for the dropdown that allows configuring the border style of a table or a table cell.",
33
31
  "Width": "The label for the input that allows configuring the width of a table or a table cell or the width of a border.",
@@ -38,6 +36,7 @@
38
36
  "Dimensions": "The label describing a group of form fields that allows setting dimensions of a table or a table cell.",
39
37
  "Table cell text alignment": "The label for the group of toolbars that allows configuring the text alignment in a table cell.",
40
38
  "Table Alignment": "The label for the toolbar that allows configuring the alignment of a table.",
39
+ "Alignment": "The label for the toolbar that allows configuring the alignment of a table.",
41
40
  "Horizontal text alignment toolbar": "The label used by assistive technologies describing a toolbar that allows configuring the horizontal text alignment in a table cell.",
42
41
  "Vertical text alignment toolbar": "The label used by assistive technologies describing a toolbar that allows configuring the vertical text alignment in a table cell.",
43
42
  "Table alignment toolbar": "The label used by assistive technologies describing a toolbar that allows configuring the alignment of a table.",
@@ -62,6 +61,9 @@
62
61
  "Align table to the right with text wrapping": "The label used by assistive technologies describing a button that aligns the table to the right as an inline element, allowing text to wrap around it.",
63
62
  "Align table to the left with no text wrapping": "The label used by assistive technologies describing a button that aligns the table to the left as a block element with no text wrapping.",
64
63
  "Align table to the right with no text wrapping": "The label used by assistive technologies describing a button that aligns the table to the right as a block element with no text wrapping.",
64
+ "Align table to the left": "The label used by assistive technologies describing a button that aligns the table to the left.",
65
+ "Center table": "The label used by assistive technologies describing a button that centers the table.",
66
+ "Align table to the right": "The label used by assistive technologies describing a button that aligns the table to the right.",
65
67
  "The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".": "The localized error string that can be displayed next to color (background, border) fields that have an invalid value",
66
68
  "The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".": "The localized error string that can be displayed next to length (padding, border width) fields that have an invalid value.",
67
69
  "Enter table caption": "The placeholder text for the table caption displayed when the caption is empty.",
package/package.json CHANGED
@@ -1,55 +1,65 @@
1
1
  {
2
2
  "name": "@ckeditor/ckeditor5-table",
3
- "version": "0.0.0-nightly-next-20260108.0",
3
+ "version": "0.0.0-nightly-20260109.0",
4
4
  "description": "Table feature for CKEditor 5.",
5
- "license": "SEE LICENSE IN LICENSE.md",
6
- "author": "CKSource (http://cksource.com/)",
7
- "homepage": "https://ckeditor.com/ckeditor-5",
8
- "bugs": "https://github.com/ckeditor/ckeditor5/issues",
9
- "repository": {
10
- "type": "git",
11
- "url": "https://github.com/ckeditor/ckeditor5.git",
12
- "directory": "packages/ckeditor5-table"
13
- },
14
5
  "keywords": [
15
6
  "ckeditor",
16
7
  "ckeditor5",
17
8
  "ckeditor 5",
18
9
  "ckeditor5-feature",
19
- "ckeditor5-plugin"
10
+ "ckeditor5-plugin",
11
+ "ckeditor5-dll"
20
12
  ],
21
13
  "type": "module",
22
- "main": "dist/index.js",
14
+ "main": "src/index.js",
23
15
  "dependencies": {
24
- "@ckeditor/ckeditor5-clipboard": "0.0.0-nightly-next-20260108.0",
25
- "@ckeditor/ckeditor5-core": "0.0.0-nightly-next-20260108.0",
26
- "@ckeditor/ckeditor5-engine": "0.0.0-nightly-next-20260108.0",
27
- "@ckeditor/ckeditor5-icons": "0.0.0-nightly-next-20260108.0",
28
- "@ckeditor/ckeditor5-typing": "0.0.0-nightly-next-20260108.0",
29
- "@ckeditor/ckeditor5-ui": "0.0.0-nightly-next-20260108.0",
30
- "@ckeditor/ckeditor5-utils": "0.0.0-nightly-next-20260108.0",
31
- "@ckeditor/ckeditor5-widget": "0.0.0-nightly-next-20260108.0",
16
+ "ckeditor5": "0.0.0-nightly-20260109.0",
17
+ "@ckeditor/ckeditor5-clipboard": "0.0.0-nightly-20260109.0",
18
+ "@ckeditor/ckeditor5-core": "0.0.0-nightly-20260109.0",
19
+ "@ckeditor/ckeditor5-engine": "0.0.0-nightly-20260109.0",
20
+ "@ckeditor/ckeditor5-icons": "0.0.0-nightly-20260109.0",
21
+ "@ckeditor/ckeditor5-ui": "0.0.0-nightly-20260109.0",
22
+ "@ckeditor/ckeditor5-utils": "0.0.0-nightly-20260109.0",
23
+ "@ckeditor/ckeditor5-widget": "0.0.0-nightly-20260109.0",
32
24
  "es-toolkit": "1.39.5"
33
25
  },
26
+ "author": "CKSource (http://cksource.com/)",
27
+ "license": "SEE LICENSE IN LICENSE.md",
28
+ "homepage": "https://ckeditor.com/ckeditor-5",
29
+ "bugs": "https://github.com/ckeditor/ckeditor5/issues",
30
+ "repository": {
31
+ "type": "git",
32
+ "url": "https://github.com/ckeditor/ckeditor5.git",
33
+ "directory": "packages/ckeditor5-table"
34
+ },
34
35
  "files": [
35
36
  "dist",
36
37
  "lang",
38
+ "src/**/*.js",
39
+ "src/**/*.d.ts",
37
40
  "theme",
41
+ "build",
38
42
  "ckeditor5-metadata.json",
39
43
  "CHANGELOG.md"
40
44
  ],
41
- "types": "dist/index.d.ts",
45
+ "types": "src/index.d.ts",
42
46
  "exports": {
43
47
  ".": {
44
- "types": "./dist/index.d.ts",
45
- "import": "./dist/index.js",
46
- "default": "./dist/index.js"
48
+ "types": "./src/index.d.ts",
49
+ "import": "./src/index.js",
50
+ "default": "./src/index.js"
47
51
  },
48
52
  "./dist/*": {
49
- "types": "./dist/index.d.ts",
53
+ "types": "./src/index.d.ts",
50
54
  "import": "./dist/*",
51
55
  "default": "./dist/*"
52
56
  },
57
+ "./src/*": {
58
+ "types": "./src/*.d.ts",
59
+ "import": "./src/*",
60
+ "default": "./src/*"
61
+ },
62
+ "./build/*": "./build/*",
53
63
  "./lang/*": "./lang/*",
54
64
  "./theme/*": "./theme/*",
55
65
  "./ckeditor5-metadata.json": "./ckeditor5-metadata.json",
@@ -1,7 +1,3 @@
1
- /**
2
- * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
- */
5
1
  /**
6
2
  * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
7
3
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
@@ -19,6 +15,21 @@ declare module '@ckeditor/ckeditor5-engine' {
19
15
  * This will be enabled by default in the future CKEditor 5 releases.
20
16
  */
21
17
  upcastTableBorderZeroAttributes?: boolean;
18
+ /**
19
+ * When enabled, the the {@link module:table/tableproperties/tablepropertiesediting~TablePropertiesEditing table properties feature}
20
+ * will support extended alignment options for tables, i.e. `blockLeft` and `blockRight`, using CSS `margin` property.
21
+ *
22
+ * This will be enabled by default in the future CKEditor 5 releases.
23
+ */
24
+ useExtendedTableBlockAlignment?: boolean;
25
+ /**
26
+ * When enabled, the
27
+ * {@link module:table/tablecellproperties/tablecellpropertiesediting~TableCellPropertiesEditing table cell properties feature}
28
+ * will introduce a special selector for table cell types (i.e. header and data cells) in the cell properties dropdown.
29
+ *
30
+ * This will be enabled by default in the future CKEditor 5 releases.
31
+ */
32
+ tableCellTypeSupport?: boolean;
22
33
  }
23
34
  }
24
35
  declare module '@ckeditor/ckeditor5-core' {
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
+ export {};
@@ -1,7 +1,3 @@
1
- /**
2
- * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
- */
5
1
  /**
6
2
  * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
7
3
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
@@ -9,7 +5,7 @@
9
5
  /**
10
6
  * @module table/commands/insertcolumncommand
11
7
  */
12
- import { Command, type Editor } from '@ckeditor/ckeditor5-core';
8
+ import { Command, type Editor } from 'ckeditor5/src/core.js';
13
9
  /**
14
10
  * The insert column command.
15
11
  *
@@ -0,0 +1,71 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
+ /**
6
+ * @module table/commands/insertcolumncommand
7
+ */
8
+ import { Command } from 'ckeditor5/src/core.js';
9
+ /**
10
+ * The insert column command.
11
+ *
12
+ * The command is registered by {@link module:table/tableediting~TableEditing} as the `'insertTableColumnLeft'` and
13
+ * `'insertTableColumnRight'` editor commands.
14
+ *
15
+ * To insert a column to the left of the selected cell, execute the following command:
16
+ *
17
+ * ```ts
18
+ * editor.execute( 'insertTableColumnLeft' );
19
+ * ```
20
+ *
21
+ * To insert a column to the right of the selected cell, execute the following command:
22
+ *
23
+ * ```ts
24
+ * editor.execute( 'insertTableColumnRight' );
25
+ * ```
26
+ */
27
+ export class InsertColumnCommand extends Command {
28
+ /**
29
+ * The order of insertion relative to the column in which the caret is located.
30
+ */
31
+ order;
32
+ /**
33
+ * Creates a new `InsertColumnCommand` instance.
34
+ *
35
+ * @param editor An editor on which this command will be used.
36
+ * @param options.order The order of insertion relative to the column in which the caret is located.
37
+ * Possible values: `"left"` and `"right"`. Default value is "right".
38
+ */
39
+ constructor(editor, options = {}) {
40
+ super(editor);
41
+ this.order = options.order || 'right';
42
+ }
43
+ /**
44
+ * @inheritDoc
45
+ */
46
+ refresh() {
47
+ const selection = this.editor.model.document.selection;
48
+ const tableUtils = this.editor.plugins.get('TableUtils');
49
+ const isAnyCellSelected = !!tableUtils.getSelectionAffectedTableCells(selection).length;
50
+ this.isEnabled = isAnyCellSelected;
51
+ }
52
+ /**
53
+ * Executes the command.
54
+ *
55
+ * Depending on the command's {@link #order} value, it inserts a column to the `'left'` or `'right'` of the column
56
+ * in which the selection is set.
57
+ *
58
+ * @fires execute
59
+ */
60
+ execute() {
61
+ const editor = this.editor;
62
+ const selection = editor.model.document.selection;
63
+ const tableUtils = editor.plugins.get('TableUtils');
64
+ const insertBefore = this.order === 'left';
65
+ const affectedTableCells = tableUtils.getSelectionAffectedTableCells(selection);
66
+ const columnIndexes = tableUtils.getColumnIndexes(affectedTableCells);
67
+ const column = insertBefore ? columnIndexes.first : columnIndexes.last;
68
+ const table = affectedTableCells[0].findAncestor('table');
69
+ tableUtils.insertColumns(table, { columns: 1, at: insertBefore ? column : column + 1 });
70
+ }
71
+ }
@@ -1,7 +1,3 @@
1
- /**
2
- * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
- */
5
1
  /**
6
2
  * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
7
3
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
@@ -9,7 +5,7 @@
9
5
  /**
10
6
  * @module table/commands/insertrowcommand
11
7
  */
12
- import { Command, type Editor } from '@ckeditor/ckeditor5-core';
8
+ import { Command, type Editor } from 'ckeditor5/src/core.js';
13
9
  /**
14
10
  * The insert row command.
15
11
  *
@@ -0,0 +1,70 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
+ /**
6
+ * @module table/commands/insertrowcommand
7
+ */
8
+ import { Command } from 'ckeditor5/src/core.js';
9
+ /**
10
+ * The insert row command.
11
+ *
12
+ * The command is registered by {@link module:table/tableediting~TableEditing} as the `'insertTableRowBelow'` and
13
+ * `'insertTableRowAbove'` editor commands.
14
+ *
15
+ * To insert a row below the selected cell, execute the following command:
16
+ *
17
+ * ```ts
18
+ * editor.execute( 'insertTableRowBelow' );
19
+ * ```
20
+ *
21
+ * To insert a row above the selected cell, execute the following command:
22
+ *
23
+ * ```ts
24
+ * editor.execute( 'insertTableRowAbove' );
25
+ * ```
26
+ */
27
+ export class InsertRowCommand extends Command {
28
+ /**
29
+ * The order of insertion relative to the row in which the caret is located.
30
+ */
31
+ order;
32
+ /**
33
+ * Creates a new `InsertRowCommand` instance.
34
+ *
35
+ * @param editor The editor on which this command will be used.
36
+ * @param options.order The order of insertion relative to the row in which the caret is located.
37
+ * Possible values: `"above"` and `"below"`. Default value is "below"
38
+ */
39
+ constructor(editor, options = {}) {
40
+ super(editor);
41
+ this.order = options.order || 'below';
42
+ }
43
+ /**
44
+ * @inheritDoc
45
+ */
46
+ refresh() {
47
+ const selection = this.editor.model.document.selection;
48
+ const tableUtils = this.editor.plugins.get('TableUtils');
49
+ const isAnyCellSelected = !!tableUtils.getSelectionAffectedTableCells(selection).length;
50
+ this.isEnabled = isAnyCellSelected;
51
+ }
52
+ /**
53
+ * Executes the command.
54
+ *
55
+ * Depending on the command's {@link #order} value, it inserts a row `'below'` or `'above'` the row in which selection is set.
56
+ *
57
+ * @fires execute
58
+ */
59
+ execute() {
60
+ const editor = this.editor;
61
+ const selection = editor.model.document.selection;
62
+ const tableUtils = editor.plugins.get('TableUtils');
63
+ const insertAbove = this.order === 'above';
64
+ const affectedTableCells = tableUtils.getSelectionAffectedTableCells(selection);
65
+ const rowIndexes = tableUtils.getRowIndexes(affectedTableCells);
66
+ const row = insertAbove ? rowIndexes.first : rowIndexes.last;
67
+ const table = affectedTableCells[0].findAncestor('table');
68
+ tableUtils.insertRows(table, { at: insertAbove ? row : row + 1, copyStructureFromAbove: !insertAbove });
69
+ }
70
+ }
@@ -1,7 +1,3 @@
1
- /**
2
- * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
- */
5
1
  /**
6
2
  * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
7
3
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
@@ -9,7 +5,7 @@
9
5
  /**
10
6
  * @module table/commands/inserttablecommand
11
7
  */
12
- import { Command } from '@ckeditor/ckeditor5-core';
8
+ import { Command } from 'ckeditor5/src/core.js';
13
9
  /**
14
10
  * The insert table command.
15
11
  *
@@ -0,0 +1,69 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
+ /**
6
+ * @module table/commands/inserttablecommand
7
+ */
8
+ import { Command } from 'ckeditor5/src/core.js';
9
+ /**
10
+ * The insert table command.
11
+ *
12
+ * The command is registered by {@link module:table/tableediting~TableEditing} as the `'insertTable'` editor command.
13
+ *
14
+ * To insert a table at the current selection, execute the command and specify the dimensions:
15
+ *
16
+ * ```ts
17
+ * editor.execute( 'insertTable', { rows: 20, columns: 5 } );
18
+ * ```
19
+ */
20
+ export class InsertTableCommand extends Command {
21
+ /**
22
+ * @inheritDoc
23
+ */
24
+ refresh() {
25
+ const model = this.editor.model;
26
+ const selection = model.document.selection;
27
+ const schema = model.schema;
28
+ this.isEnabled = isAllowedInParent(selection, schema);
29
+ }
30
+ /**
31
+ * Executes the command.
32
+ *
33
+ * Inserts a table with the given number of rows and columns into the editor.
34
+ *
35
+ * @param options.rows The number of rows to create in the inserted table. Default value is 2.
36
+ * @param options.columns The number of columns to create in the inserted table. Default value is 2.
37
+ * @param options.headingRows The number of heading rows. If not provided it will default to
38
+ * {@link module:table/tableconfig~TableConfig#defaultHeadings `config.table.defaultHeadings.rows`} table config.
39
+ * @param options.headingColumns The number of heading columns. If not provided it will default to
40
+ * {@link module:table/tableconfig~TableConfig#defaultHeadings `config.table.defaultHeadings.columns`} table config.
41
+ * @fires execute
42
+ */
43
+ execute(options = {}) {
44
+ const editor = this.editor;
45
+ const model = editor.model;
46
+ const tableUtils = editor.plugins.get('TableUtils');
47
+ const defaultRows = editor.config.get('table.defaultHeadings.rows');
48
+ const defaultColumns = editor.config.get('table.defaultHeadings.columns');
49
+ if (options.headingRows === undefined && defaultRows) {
50
+ options.headingRows = defaultRows;
51
+ }
52
+ if (options.headingColumns === undefined && defaultColumns) {
53
+ options.headingColumns = defaultColumns;
54
+ }
55
+ model.change(writer => {
56
+ const table = tableUtils.createTable(writer, options);
57
+ model.insertObject(table, null, null, { findOptimalPosition: 'auto' });
58
+ writer.setSelection(writer.createPositionAt(table.getNodeByPath([0, 0, 0]), 0));
59
+ });
60
+ }
61
+ }
62
+ /**
63
+ * Checks if the table is allowed in the parent.
64
+ */
65
+ function isAllowedInParent(selection, schema) {
66
+ const positionParent = selection.getFirstPosition().parent;
67
+ const validParent = positionParent === positionParent.root ? positionParent : positionParent.parent;
68
+ return schema.checkChild(validParent, 'table');
69
+ }
@@ -1,7 +1,3 @@
1
- /**
2
- * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
- */
5
1
  /**
6
2
  * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
7
3
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
@@ -9,7 +5,7 @@
9
5
  /**
10
6
  * @module table/commands/inserttablelayoutcommand
11
7
  */
12
- import { Command } from '@ckeditor/ckeditor5-core';
8
+ import { Command } from 'ckeditor5/src/core.js';
13
9
  /**
14
10
  * The insert table layout command.
15
11
  *
@@ -0,0 +1,65 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
+ /**
6
+ * @module table/commands/inserttablelayoutcommand
7
+ */
8
+ import { Command } from 'ckeditor5/src/core.js';
9
+ /**
10
+ * The insert table layout command.
11
+ *
12
+ * The command is registered by {@link module:table/tablelayout/tablelayoutediting~TableLayoutEditing}
13
+ * as the `'insertTableLayout'` editor command.
14
+ *
15
+ * To insert a layout table at the current selection, execute the command and specify the dimensions:
16
+ *
17
+ * ```ts
18
+ * editor.execute( 'insertTableLayout', { rows: 20, columns: 5 } );
19
+ * ```
20
+ */
21
+ export class InsertTableLayoutCommand extends Command {
22
+ /**
23
+ * @inheritDoc
24
+ */
25
+ refresh() {
26
+ const model = this.editor.model;
27
+ const selection = model.document.selection;
28
+ const schema = model.schema;
29
+ this.isEnabled = isAllowedInParent(selection, schema);
30
+ }
31
+ /**
32
+ * Executes the command.
33
+ *
34
+ * Inserts a layout table with the given number of rows and columns into the editor.
35
+ *
36
+ * @param options.rows The number of rows to create in the inserted table. Default value is 2.
37
+ * @param options.columns The number of columns to create in the inserted table. Default value is 2.
38
+ * @fires execute
39
+ */
40
+ execute(options = {}) {
41
+ const editor = this.editor;
42
+ const model = editor.model;
43
+ const tableUtils = editor.plugins.get('TableUtils');
44
+ model.change(writer => {
45
+ const normalizedOptions = { rows: options.rows || 2, columns: options.columns || 2 };
46
+ const table = tableUtils.createTable(writer, normalizedOptions);
47
+ writer.setAttribute('tableType', 'layout', table);
48
+ model.insertObject(table, null, null, { findOptimalPosition: 'auto' });
49
+ const singleColumnWidth = `${100 / normalizedOptions.columns}%`;
50
+ const columnWidths = Array(normalizedOptions.columns).fill(singleColumnWidth);
51
+ const tableWidthsCommand = editor.commands.get('resizeColumnWidths');
52
+ // Make the table full-width with equal columns width.
53
+ tableWidthsCommand.execute({ tableWidth: '100%', columnWidths, table });
54
+ writer.setSelection(writer.createPositionAt(table.getNodeByPath([0, 0, 0]), 0));
55
+ });
56
+ }
57
+ }
58
+ /**
59
+ * Checks if the table is allowed in the parent.
60
+ */
61
+ function isAllowedInParent(selection, schema) {
62
+ const positionParent = selection.getFirstPosition().parent;
63
+ const validParent = positionParent === positionParent.root ? positionParent : positionParent.parent;
64
+ return schema.checkChild(validParent, 'table');
65
+ }
@@ -1,7 +1,3 @@
1
- /**
2
- * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
- */
5
1
  /**
6
2
  * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
7
3
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
@@ -9,9 +5,9 @@
9
5
  /**
10
6
  * @module table/commands/mergecellcommand
11
7
  */
12
- import type { ModelNode } from '@ckeditor/ckeditor5-engine';
13
- import { Command, type Editor } from '@ckeditor/ckeditor5-core';
14
- import type { ArrowKeyCodeDirection } from '@ckeditor/ckeditor5-utils';
8
+ import type { ModelNode } from 'ckeditor5/src/engine.js';
9
+ import { Command, type Editor } from 'ckeditor5/src/core.js';
10
+ import type { ArrowKeyCodeDirection } from 'ckeditor5/src/utils.js';
15
11
  /**
16
12
  * The merge cell command.
17
13
  *