@ckeditor/ckeditor5-list 0.0.0-internal-20241017.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 (505) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/LICENSE.md +17 -0
  3. package/README.md +26 -0
  4. package/build/list.js +5 -0
  5. package/build/translations/ar.js +1 -0
  6. package/build/translations/ast.js +1 -0
  7. package/build/translations/az.js +1 -0
  8. package/build/translations/bg.js +1 -0
  9. package/build/translations/bn.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.js +1 -0
  20. package/build/translations/et.js +1 -0
  21. package/build/translations/eu.js +1 -0
  22. package/build/translations/fa.js +1 -0
  23. package/build/translations/fi.js +1 -0
  24. package/build/translations/fr.js +1 -0
  25. package/build/translations/gl.js +1 -0
  26. package/build/translations/he.js +1 -0
  27. package/build/translations/hi.js +1 -0
  28. package/build/translations/hr.js +1 -0
  29. package/build/translations/hu.js +1 -0
  30. package/build/translations/id.js +1 -0
  31. package/build/translations/it.js +1 -0
  32. package/build/translations/ja.js +1 -0
  33. package/build/translations/jv.js +1 -0
  34. package/build/translations/km.js +1 -0
  35. package/build/translations/kn.js +1 -0
  36. package/build/translations/ko.js +1 -0
  37. package/build/translations/ku.js +1 -0
  38. package/build/translations/lt.js +1 -0
  39. package/build/translations/lv.js +1 -0
  40. package/build/translations/ms.js +1 -0
  41. package/build/translations/nb.js +1 -0
  42. package/build/translations/ne.js +1 -0
  43. package/build/translations/nl.js +1 -0
  44. package/build/translations/no.js +1 -0
  45. package/build/translations/pl.js +1 -0
  46. package/build/translations/pt-br.js +1 -0
  47. package/build/translations/pt.js +1 -0
  48. package/build/translations/ro.js +1 -0
  49. package/build/translations/ru.js +1 -0
  50. package/build/translations/si.js +1 -0
  51. package/build/translations/sk.js +1 -0
  52. package/build/translations/sq.js +1 -0
  53. package/build/translations/sr-latn.js +1 -0
  54. package/build/translations/sr.js +1 -0
  55. package/build/translations/sv.js +1 -0
  56. package/build/translations/th.js +1 -0
  57. package/build/translations/ti.js +1 -0
  58. package/build/translations/tk.js +1 -0
  59. package/build/translations/tr.js +1 -0
  60. package/build/translations/tt.js +1 -0
  61. package/build/translations/ug.js +1 -0
  62. package/build/translations/uk.js +1 -0
  63. package/build/translations/ur.js +1 -0
  64. package/build/translations/uz.js +1 -0
  65. package/build/translations/vi.js +1 -0
  66. package/build/translations/zh-cn.js +1 -0
  67. package/build/translations/zh.js +1 -0
  68. package/ckeditor5-metadata.json +193 -0
  69. package/dist/augmentation.d.ts +57 -0
  70. package/dist/documentlist.d.ts +36 -0
  71. package/dist/documentlistproperties.d.ts +36 -0
  72. package/dist/index-content.css +116 -0
  73. package/dist/index-editor.css +82 -0
  74. package/dist/index.css +238 -0
  75. package/dist/index.css.map +1 -0
  76. package/dist/index.d.ts +49 -0
  77. package/dist/index.js +7994 -0
  78. package/dist/index.js.map +1 -0
  79. package/dist/legacylist/legacyconverters.d.ts +200 -0
  80. package/dist/legacylist/legacyindentcommand.d.ts +41 -0
  81. package/dist/legacylist/legacylistcommand.d.ts +60 -0
  82. package/dist/legacylist/legacylistediting.d.ts +40 -0
  83. package/dist/legacylist/legacylistutils.d.ts +49 -0
  84. package/dist/legacylist/legacyutils.d.ts +105 -0
  85. package/dist/legacylist.d.ts +34 -0
  86. package/dist/legacylistproperties/legacylistpropertiesediting.d.ts +80 -0
  87. package/dist/legacylistproperties/legacylistreversedcommand.d.ts +42 -0
  88. package/dist/legacylistproperties/legacyliststartcommand.d.ts +41 -0
  89. package/dist/legacylistproperties/legacyliststylecommand.d.ts +71 -0
  90. package/dist/legacylistproperties.d.ts +35 -0
  91. package/dist/legacytodolist/legacychecktodolistcommand.d.ts +56 -0
  92. package/dist/legacytodolist/legacytodolistconverters.d.ts +87 -0
  93. package/dist/legacytodolist/legacytodolistediting.d.ts +54 -0
  94. package/dist/legacytodolist.d.ts +35 -0
  95. package/dist/list/adjacentlistssupport.d.ts +23 -0
  96. package/dist/list/converters.d.ts +69 -0
  97. package/dist/list/listcommand.d.ts +96 -0
  98. package/dist/list/listediting.d.ts +230 -0
  99. package/dist/list/listindentcommand.d.ts +66 -0
  100. package/dist/list/listmergecommand.d.ts +80 -0
  101. package/dist/list/listsplitcommand.d.ts +71 -0
  102. package/dist/list/listui.d.ts +27 -0
  103. package/dist/list/listutils.d.ts +60 -0
  104. package/dist/list/utils/listwalker.d.ts +146 -0
  105. package/dist/list/utils/model.d.ts +213 -0
  106. package/dist/list/utils/postfixers.d.ts +41 -0
  107. package/dist/list/utils/view.d.ts +86 -0
  108. package/dist/list/utils.d.ts +22 -0
  109. package/dist/list.d.ts +34 -0
  110. package/dist/listconfig.d.ts +164 -0
  111. package/dist/listproperties/converters.d.ts +23 -0
  112. package/dist/listproperties/listpropertiesediting.d.ts +96 -0
  113. package/dist/listproperties/listpropertiesui.d.ts +31 -0
  114. package/dist/listproperties/listpropertiesutils.d.ts +41 -0
  115. package/dist/listproperties/listreversedcommand.d.ts +40 -0
  116. package/dist/listproperties/liststartcommand.d.ts +42 -0
  117. package/dist/listproperties/liststylecommand.d.ts +76 -0
  118. package/dist/listproperties/ui/listpropertiesview.d.ts +160 -0
  119. package/dist/listproperties/utils/config.d.ts +39 -0
  120. package/dist/listproperties/utils/style.d.ts +24 -0
  121. package/dist/listproperties.d.ts +35 -0
  122. package/dist/tododocumentlist.d.ts +36 -0
  123. package/dist/todolist/checktodolistcommand.d.ts +53 -0
  124. package/dist/todolist/todocheckboxchangeobserver.d.ts +45 -0
  125. package/dist/todolist/todolistediting.d.ts +53 -0
  126. package/dist/todolist/todolistui.d.ts +27 -0
  127. package/dist/todolist.d.ts +35 -0
  128. package/dist/translations/ar.d.ts +8 -0
  129. package/dist/translations/ar.js +5 -0
  130. package/dist/translations/ar.umd.js +11 -0
  131. package/dist/translations/ast.d.ts +8 -0
  132. package/dist/translations/ast.js +5 -0
  133. package/dist/translations/ast.umd.js +11 -0
  134. package/dist/translations/az.d.ts +8 -0
  135. package/dist/translations/az.js +5 -0
  136. package/dist/translations/az.umd.js +11 -0
  137. package/dist/translations/bg.d.ts +8 -0
  138. package/dist/translations/bg.js +5 -0
  139. package/dist/translations/bg.umd.js +11 -0
  140. package/dist/translations/bn.d.ts +8 -0
  141. package/dist/translations/bn.js +5 -0
  142. package/dist/translations/bn.umd.js +11 -0
  143. package/dist/translations/ca.d.ts +8 -0
  144. package/dist/translations/ca.js +5 -0
  145. package/dist/translations/ca.umd.js +11 -0
  146. package/dist/translations/cs.d.ts +8 -0
  147. package/dist/translations/cs.js +5 -0
  148. package/dist/translations/cs.umd.js +11 -0
  149. package/dist/translations/da.d.ts +8 -0
  150. package/dist/translations/da.js +5 -0
  151. package/dist/translations/da.umd.js +11 -0
  152. package/dist/translations/de-ch.d.ts +8 -0
  153. package/dist/translations/de-ch.js +5 -0
  154. package/dist/translations/de-ch.umd.js +11 -0
  155. package/dist/translations/de.d.ts +8 -0
  156. package/dist/translations/de.js +5 -0
  157. package/dist/translations/de.umd.js +11 -0
  158. package/dist/translations/el.d.ts +8 -0
  159. package/dist/translations/el.js +5 -0
  160. package/dist/translations/el.umd.js +11 -0
  161. package/dist/translations/en-au.d.ts +8 -0
  162. package/dist/translations/en-au.js +5 -0
  163. package/dist/translations/en-au.umd.js +11 -0
  164. package/dist/translations/en-gb.d.ts +8 -0
  165. package/dist/translations/en-gb.js +5 -0
  166. package/dist/translations/en-gb.umd.js +11 -0
  167. package/dist/translations/en.d.ts +8 -0
  168. package/dist/translations/en.js +5 -0
  169. package/dist/translations/en.umd.js +11 -0
  170. package/dist/translations/eo.d.ts +8 -0
  171. package/dist/translations/eo.js +5 -0
  172. package/dist/translations/eo.umd.js +11 -0
  173. package/dist/translations/es.d.ts +8 -0
  174. package/dist/translations/es.js +5 -0
  175. package/dist/translations/es.umd.js +11 -0
  176. package/dist/translations/et.d.ts +8 -0
  177. package/dist/translations/et.js +5 -0
  178. package/dist/translations/et.umd.js +11 -0
  179. package/dist/translations/eu.d.ts +8 -0
  180. package/dist/translations/eu.js +5 -0
  181. package/dist/translations/eu.umd.js +11 -0
  182. package/dist/translations/fa.d.ts +8 -0
  183. package/dist/translations/fa.js +5 -0
  184. package/dist/translations/fa.umd.js +11 -0
  185. package/dist/translations/fi.d.ts +8 -0
  186. package/dist/translations/fi.js +5 -0
  187. package/dist/translations/fi.umd.js +11 -0
  188. package/dist/translations/fr.d.ts +8 -0
  189. package/dist/translations/fr.js +5 -0
  190. package/dist/translations/fr.umd.js +11 -0
  191. package/dist/translations/gl.d.ts +8 -0
  192. package/dist/translations/gl.js +5 -0
  193. package/dist/translations/gl.umd.js +11 -0
  194. package/dist/translations/he.d.ts +8 -0
  195. package/dist/translations/he.js +5 -0
  196. package/dist/translations/he.umd.js +11 -0
  197. package/dist/translations/hi.d.ts +8 -0
  198. package/dist/translations/hi.js +5 -0
  199. package/dist/translations/hi.umd.js +11 -0
  200. package/dist/translations/hr.d.ts +8 -0
  201. package/dist/translations/hr.js +5 -0
  202. package/dist/translations/hr.umd.js +11 -0
  203. package/dist/translations/hu.d.ts +8 -0
  204. package/dist/translations/hu.js +5 -0
  205. package/dist/translations/hu.umd.js +11 -0
  206. package/dist/translations/id.d.ts +8 -0
  207. package/dist/translations/id.js +5 -0
  208. package/dist/translations/id.umd.js +11 -0
  209. package/dist/translations/it.d.ts +8 -0
  210. package/dist/translations/it.js +5 -0
  211. package/dist/translations/it.umd.js +11 -0
  212. package/dist/translations/ja.d.ts +8 -0
  213. package/dist/translations/ja.js +5 -0
  214. package/dist/translations/ja.umd.js +11 -0
  215. package/dist/translations/jv.d.ts +8 -0
  216. package/dist/translations/jv.js +5 -0
  217. package/dist/translations/jv.umd.js +11 -0
  218. package/dist/translations/km.d.ts +8 -0
  219. package/dist/translations/km.js +5 -0
  220. package/dist/translations/km.umd.js +11 -0
  221. package/dist/translations/kn.d.ts +8 -0
  222. package/dist/translations/kn.js +5 -0
  223. package/dist/translations/kn.umd.js +11 -0
  224. package/dist/translations/ko.d.ts +8 -0
  225. package/dist/translations/ko.js +5 -0
  226. package/dist/translations/ko.umd.js +11 -0
  227. package/dist/translations/ku.d.ts +8 -0
  228. package/dist/translations/ku.js +5 -0
  229. package/dist/translations/ku.umd.js +11 -0
  230. package/dist/translations/lt.d.ts +8 -0
  231. package/dist/translations/lt.js +5 -0
  232. package/dist/translations/lt.umd.js +11 -0
  233. package/dist/translations/lv.d.ts +8 -0
  234. package/dist/translations/lv.js +5 -0
  235. package/dist/translations/lv.umd.js +11 -0
  236. package/dist/translations/ms.d.ts +8 -0
  237. package/dist/translations/ms.js +5 -0
  238. package/dist/translations/ms.umd.js +11 -0
  239. package/dist/translations/nb.d.ts +8 -0
  240. package/dist/translations/nb.js +5 -0
  241. package/dist/translations/nb.umd.js +11 -0
  242. package/dist/translations/ne.d.ts +8 -0
  243. package/dist/translations/ne.js +5 -0
  244. package/dist/translations/ne.umd.js +11 -0
  245. package/dist/translations/nl.d.ts +8 -0
  246. package/dist/translations/nl.js +5 -0
  247. package/dist/translations/nl.umd.js +11 -0
  248. package/dist/translations/no.d.ts +8 -0
  249. package/dist/translations/no.js +5 -0
  250. package/dist/translations/no.umd.js +11 -0
  251. package/dist/translations/pl.d.ts +8 -0
  252. package/dist/translations/pl.js +5 -0
  253. package/dist/translations/pl.umd.js +11 -0
  254. package/dist/translations/pt-br.d.ts +8 -0
  255. package/dist/translations/pt-br.js +5 -0
  256. package/dist/translations/pt-br.umd.js +11 -0
  257. package/dist/translations/pt.d.ts +8 -0
  258. package/dist/translations/pt.js +5 -0
  259. package/dist/translations/pt.umd.js +11 -0
  260. package/dist/translations/ro.d.ts +8 -0
  261. package/dist/translations/ro.js +5 -0
  262. package/dist/translations/ro.umd.js +11 -0
  263. package/dist/translations/ru.d.ts +8 -0
  264. package/dist/translations/ru.js +5 -0
  265. package/dist/translations/ru.umd.js +11 -0
  266. package/dist/translations/si.d.ts +8 -0
  267. package/dist/translations/si.js +5 -0
  268. package/dist/translations/si.umd.js +11 -0
  269. package/dist/translations/sk.d.ts +8 -0
  270. package/dist/translations/sk.js +5 -0
  271. package/dist/translations/sk.umd.js +11 -0
  272. package/dist/translations/sq.d.ts +8 -0
  273. package/dist/translations/sq.js +5 -0
  274. package/dist/translations/sq.umd.js +11 -0
  275. package/dist/translations/sr-latn.d.ts +8 -0
  276. package/dist/translations/sr-latn.js +5 -0
  277. package/dist/translations/sr-latn.umd.js +11 -0
  278. package/dist/translations/sr.d.ts +8 -0
  279. package/dist/translations/sr.js +5 -0
  280. package/dist/translations/sr.umd.js +11 -0
  281. package/dist/translations/sv.d.ts +8 -0
  282. package/dist/translations/sv.js +5 -0
  283. package/dist/translations/sv.umd.js +11 -0
  284. package/dist/translations/th.d.ts +8 -0
  285. package/dist/translations/th.js +5 -0
  286. package/dist/translations/th.umd.js +11 -0
  287. package/dist/translations/ti.d.ts +8 -0
  288. package/dist/translations/ti.js +5 -0
  289. package/dist/translations/ti.umd.js +11 -0
  290. package/dist/translations/tk.d.ts +8 -0
  291. package/dist/translations/tk.js +5 -0
  292. package/dist/translations/tk.umd.js +11 -0
  293. package/dist/translations/tr.d.ts +8 -0
  294. package/dist/translations/tr.js +5 -0
  295. package/dist/translations/tr.umd.js +11 -0
  296. package/dist/translations/tt.d.ts +8 -0
  297. package/dist/translations/tt.js +5 -0
  298. package/dist/translations/tt.umd.js +11 -0
  299. package/dist/translations/ug.d.ts +8 -0
  300. package/dist/translations/ug.js +5 -0
  301. package/dist/translations/ug.umd.js +11 -0
  302. package/dist/translations/uk.d.ts +8 -0
  303. package/dist/translations/uk.js +5 -0
  304. package/dist/translations/uk.umd.js +11 -0
  305. package/dist/translations/ur.d.ts +8 -0
  306. package/dist/translations/ur.js +5 -0
  307. package/dist/translations/ur.umd.js +11 -0
  308. package/dist/translations/uz.d.ts +8 -0
  309. package/dist/translations/uz.js +5 -0
  310. package/dist/translations/uz.umd.js +11 -0
  311. package/dist/translations/vi.d.ts +8 -0
  312. package/dist/translations/vi.js +5 -0
  313. package/dist/translations/vi.umd.js +11 -0
  314. package/dist/translations/zh-cn.d.ts +8 -0
  315. package/dist/translations/zh-cn.js +5 -0
  316. package/dist/translations/zh-cn.umd.js +11 -0
  317. package/dist/translations/zh.d.ts +8 -0
  318. package/dist/translations/zh.js +5 -0
  319. package/dist/translations/zh.umd.js +11 -0
  320. package/lang/contexts.json +35 -0
  321. package/lang/translations/ar.po +150 -0
  322. package/lang/translations/ast.po +150 -0
  323. package/lang/translations/az.po +150 -0
  324. package/lang/translations/bg.po +150 -0
  325. package/lang/translations/bn.po +150 -0
  326. package/lang/translations/ca.po +150 -0
  327. package/lang/translations/cs.po +150 -0
  328. package/lang/translations/da.po +150 -0
  329. package/lang/translations/de-ch.po +150 -0
  330. package/lang/translations/de.po +150 -0
  331. package/lang/translations/el.po +150 -0
  332. package/lang/translations/en-au.po +150 -0
  333. package/lang/translations/en-gb.po +150 -0
  334. package/lang/translations/en.po +150 -0
  335. package/lang/translations/eo.po +150 -0
  336. package/lang/translations/es.po +150 -0
  337. package/lang/translations/et.po +150 -0
  338. package/lang/translations/eu.po +150 -0
  339. package/lang/translations/fa.po +150 -0
  340. package/lang/translations/fi.po +150 -0
  341. package/lang/translations/fr.po +150 -0
  342. package/lang/translations/gl.po +150 -0
  343. package/lang/translations/he.po +150 -0
  344. package/lang/translations/hi.po +150 -0
  345. package/lang/translations/hr.po +150 -0
  346. package/lang/translations/hu.po +150 -0
  347. package/lang/translations/id.po +150 -0
  348. package/lang/translations/it.po +150 -0
  349. package/lang/translations/ja.po +150 -0
  350. package/lang/translations/jv.po +150 -0
  351. package/lang/translations/km.po +150 -0
  352. package/lang/translations/kn.po +150 -0
  353. package/lang/translations/ko.po +150 -0
  354. package/lang/translations/ku.po +150 -0
  355. package/lang/translations/lt.po +150 -0
  356. package/lang/translations/lv.po +150 -0
  357. package/lang/translations/ms.po +150 -0
  358. package/lang/translations/nb.po +150 -0
  359. package/lang/translations/ne.po +150 -0
  360. package/lang/translations/nl.po +150 -0
  361. package/lang/translations/no.po +150 -0
  362. package/lang/translations/pl.po +150 -0
  363. package/lang/translations/pt-br.po +150 -0
  364. package/lang/translations/pt.po +150 -0
  365. package/lang/translations/ro.po +150 -0
  366. package/lang/translations/ru.po +150 -0
  367. package/lang/translations/si.po +150 -0
  368. package/lang/translations/sk.po +150 -0
  369. package/lang/translations/sq.po +150 -0
  370. package/lang/translations/sr-latn.po +150 -0
  371. package/lang/translations/sr.po +150 -0
  372. package/lang/translations/sv.po +150 -0
  373. package/lang/translations/th.po +150 -0
  374. package/lang/translations/ti.po +150 -0
  375. package/lang/translations/tk.po +150 -0
  376. package/lang/translations/tr.po +150 -0
  377. package/lang/translations/tt.po +150 -0
  378. package/lang/translations/ug.po +150 -0
  379. package/lang/translations/uk.po +150 -0
  380. package/lang/translations/ur.po +150 -0
  381. package/lang/translations/uz.po +150 -0
  382. package/lang/translations/vi.po +150 -0
  383. package/lang/translations/zh-cn.po +150 -0
  384. package/lang/translations/zh.po +150 -0
  385. package/package.json +45 -0
  386. package/src/augmentation.d.ts +53 -0
  387. package/src/augmentation.js +5 -0
  388. package/src/documentlist.d.ts +32 -0
  389. package/src/documentlist.js +47 -0
  390. package/src/documentlistproperties.d.ts +32 -0
  391. package/src/documentlistproperties.js +47 -0
  392. package/src/index.d.ts +45 -0
  393. package/src/index.js +39 -0
  394. package/src/legacylist/legacyconverters.d.ts +196 -0
  395. package/src/legacylist/legacyconverters.js +905 -0
  396. package/src/legacylist/legacyindentcommand.d.ts +37 -0
  397. package/src/legacylist/legacyindentcommand.js +107 -0
  398. package/src/legacylist/legacylistcommand.d.ts +56 -0
  399. package/src/legacylist/legacylistcommand.js +274 -0
  400. package/src/legacylist/legacylistediting.d.ts +36 -0
  401. package/src/legacylist/legacylistediting.js +167 -0
  402. package/src/legacylist/legacylistutils.d.ts +45 -0
  403. package/src/legacylist/legacylistutils.js +52 -0
  404. package/src/legacylist/legacyutils.d.ts +101 -0
  405. package/src/legacylist/legacyutils.js +347 -0
  406. package/src/legacylist.d.ts +30 -0
  407. package/src/legacylist.js +36 -0
  408. package/src/legacylistproperties/legacylistpropertiesediting.d.ts +76 -0
  409. package/src/legacylistproperties/legacylistpropertiesediting.js +702 -0
  410. package/src/legacylistproperties/legacylistreversedcommand.d.ts +38 -0
  411. package/src/legacylistproperties/legacylistreversedcommand.js +52 -0
  412. package/src/legacylistproperties/legacyliststartcommand.d.ts +37 -0
  413. package/src/legacylistproperties/legacyliststartcommand.js +51 -0
  414. package/src/legacylistproperties/legacyliststylecommand.d.ts +67 -0
  415. package/src/legacylistproperties/legacyliststylecommand.js +100 -0
  416. package/src/legacylistproperties.d.ts +31 -0
  417. package/src/legacylistproperties.js +37 -0
  418. package/src/legacytodolist/legacychecktodolistcommand.d.ts +52 -0
  419. package/src/legacytodolist/legacychecktodolistcommand.js +76 -0
  420. package/src/legacytodolist/legacytodolistconverters.d.ts +83 -0
  421. package/src/legacytodolist/legacytodolistconverters.js +261 -0
  422. package/src/legacytodolist/legacytodolistediting.d.ts +50 -0
  423. package/src/legacytodolist/legacytodolistediting.js +199 -0
  424. package/src/legacytodolist.d.ts +31 -0
  425. package/src/legacytodolist.js +37 -0
  426. package/src/list/adjacentlistssupport.d.ts +19 -0
  427. package/src/list/adjacentlistssupport.js +87 -0
  428. package/src/list/converters.d.ts +65 -0
  429. package/src/list/converters.js +491 -0
  430. package/src/list/listcommand.d.ts +92 -0
  431. package/src/list/listcommand.js +163 -0
  432. package/src/list/listediting.d.ts +226 -0
  433. package/src/list/listediting.js +678 -0
  434. package/src/list/listindentcommand.d.ts +62 -0
  435. package/src/list/listindentcommand.js +129 -0
  436. package/src/list/listmergecommand.d.ts +76 -0
  437. package/src/list/listmergecommand.js +174 -0
  438. package/src/list/listsplitcommand.d.ts +67 -0
  439. package/src/list/listsplitcommand.js +70 -0
  440. package/src/list/listui.d.ts +23 -0
  441. package/src/list/listui.js +41 -0
  442. package/src/list/listutils.d.ts +56 -0
  443. package/src/list/listutils.js +62 -0
  444. package/src/list/utils/listwalker.d.ts +142 -0
  445. package/src/list/utils/listwalker.js +182 -0
  446. package/src/list/utils/model.d.ts +209 -0
  447. package/src/list/utils/model.js +464 -0
  448. package/src/list/utils/postfixers.d.ts +37 -0
  449. package/src/list/utils/postfixers.js +126 -0
  450. package/src/list/utils/view.d.ts +82 -0
  451. package/src/list/utils/view.js +117 -0
  452. package/src/list/utils.d.ts +18 -0
  453. package/src/list/utils.js +51 -0
  454. package/src/list.d.ts +30 -0
  455. package/src/list.js +36 -0
  456. package/src/listconfig.d.ts +160 -0
  457. package/src/listconfig.js +5 -0
  458. package/src/listproperties/converters.d.ts +19 -0
  459. package/src/listproperties/converters.js +43 -0
  460. package/src/listproperties/listpropertiesediting.d.ts +92 -0
  461. package/src/listproperties/listpropertiesediting.js +275 -0
  462. package/src/listproperties/listpropertiesui.d.ts +27 -0
  463. package/src/listproperties/listpropertiesui.js +371 -0
  464. package/src/listproperties/listpropertiesutils.d.ts +37 -0
  465. package/src/listproperties/listpropertiesutils.js +50 -0
  466. package/src/listproperties/listreversedcommand.d.ts +36 -0
  467. package/src/listproperties/listreversedcommand.js +55 -0
  468. package/src/listproperties/liststartcommand.d.ts +38 -0
  469. package/src/listproperties/liststartcommand.js +60 -0
  470. package/src/listproperties/liststylecommand.d.ts +72 -0
  471. package/src/listproperties/liststylecommand.js +113 -0
  472. package/src/listproperties/ui/listpropertiesview.d.ts +156 -0
  473. package/src/listproperties/ui/listpropertiesview.js +301 -0
  474. package/src/listproperties/utils/config.d.ts +35 -0
  475. package/src/listproperties/utils/config.js +70 -0
  476. package/src/listproperties/utils/style.d.ts +20 -0
  477. package/src/listproperties/utils/style.js +54 -0
  478. package/src/listproperties.d.ts +31 -0
  479. package/src/listproperties.js +37 -0
  480. package/src/tododocumentlist.d.ts +32 -0
  481. package/src/tododocumentlist.js +47 -0
  482. package/src/todolist/checktodolistcommand.d.ts +49 -0
  483. package/src/todolist/checktodolistcommand.js +82 -0
  484. package/src/todolist/todocheckboxchangeobserver.d.ts +41 -0
  485. package/src/todolist/todocheckboxchangeobserver.js +37 -0
  486. package/src/todolist/todolistediting.d.ts +49 -0
  487. package/src/todolist/todolistediting.js +470 -0
  488. package/src/todolist/todolistui.d.ts +23 -0
  489. package/src/todolist/todolistui.js +34 -0
  490. package/src/todolist.d.ts +31 -0
  491. package/src/todolist.js +37 -0
  492. package/theme/documentlist.css +8 -0
  493. package/theme/icons/liststylecircle.svg +1 -0
  494. package/theme/icons/liststyledecimal.svg +1 -0
  495. package/theme/icons/liststyledecimalleadingzero.svg +1 -0
  496. package/theme/icons/liststyledisc.svg +1 -0
  497. package/theme/icons/liststylelowerlatin.svg +1 -0
  498. package/theme/icons/liststylelowerroman.svg +1 -0
  499. package/theme/icons/liststylesquare.svg +1 -0
  500. package/theme/icons/liststyleupperlatin.svg +1 -0
  501. package/theme/icons/liststyleupperroman.svg +1 -0
  502. package/theme/list.css +40 -0
  503. package/theme/listproperties.css +10 -0
  504. package/theme/liststyles.css +8 -0
  505. package/theme/todolist.css +140 -0
@@ -0,0 +1,213 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, 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
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ /**
10
+ * @module list/list/utils/model
11
+ */
12
+ import type { DocumentFragment, Element, Model, Node, Writer, Item, Schema } from 'ckeditor5/src/engine.js';
13
+ import { type ArrayOrItem } from 'ckeditor5/src/utils.js';
14
+ import { type ListWalkerOptions } from './listwalker.js';
15
+ import { type ListType } from '../listediting.js';
16
+ /**
17
+ * The list item ID generator.
18
+ *
19
+ * @internal
20
+ */
21
+ export declare class ListItemUid {
22
+ /**
23
+ * Returns the next ID.
24
+ *
25
+ * @internal
26
+ */
27
+ static next(): string;
28
+ }
29
+ /**
30
+ * An {@link module:engine/model/element~Element} that is known to be a list element.
31
+ *
32
+ * @internal
33
+ */
34
+ export interface ListElement extends Element {
35
+ getAttribute(key: 'listItemId'): string;
36
+ getAttribute(key: 'listIndent'): number;
37
+ getAttribute(key: 'listType'): ListType;
38
+ getAttribute(key: string): unknown;
39
+ }
40
+ /**
41
+ * Returns true if the given model node is a list item block.
42
+ *
43
+ * @internal
44
+ */
45
+ export declare function isListItemBlock(node: Item | DocumentFragment | null): node is ListElement;
46
+ /**
47
+ * Returns an array with all elements that represents the same list item.
48
+ *
49
+ * It means that values for `listIndent`, and `listItemId` for all items are equal.
50
+ *
51
+ * @internal
52
+ * @param listItem Starting list item element.
53
+ * @param options.higherIndent Whether blocks with a higher indent level than the start block should be included
54
+ * in the result.
55
+ */
56
+ export declare function getAllListItemBlocks(listItem: Node, options?: {
57
+ higherIndent?: boolean;
58
+ }): Array<ListElement>;
59
+ /**
60
+ * Returns an array with elements that represents the same list item in the specified direction.
61
+ *
62
+ * It means that values for `listIndent` and `listItemId` for all items are equal.
63
+ *
64
+ * **Note**: For backward search the provided item is not included, but for forward search it is included in the result.
65
+ *
66
+ * @internal
67
+ * @param listItem Starting list item element.
68
+ * @param options.direction Walking direction.
69
+ * @param options.higherIndent Whether blocks with a higher indent level than the start block should be included in the result.
70
+ */
71
+ export declare function getListItemBlocks(listItem: Node, options?: {
72
+ direction?: 'forward' | 'backward';
73
+ higherIndent?: boolean;
74
+ }): Array<ListElement>;
75
+ /**
76
+ * Returns a list items nested inside the given list item.
77
+ *
78
+ * @internal
79
+ */
80
+ export declare function getNestedListBlocks(listItem: Element): Array<ListElement>;
81
+ /**
82
+ * Returns array of all blocks/items of the same list as given block (same indent, same type and properties).
83
+ *
84
+ * @internal
85
+ * @param listItem Starting list item element.
86
+ * @param options Additional list walker options to modify the range of returned list items.
87
+ */
88
+ export declare function getListItems(listItem: Element, options?: ListWalkerOptions): Array<ListElement>;
89
+ /**
90
+ * Check if the given block is the first in the list item.
91
+ *
92
+ * @internal
93
+ * @param listBlock The list block element.
94
+ */
95
+ export declare function isFirstBlockOfListItem(listBlock: Node): boolean;
96
+ /**
97
+ * Check if the given block is the last in the list item.
98
+ *
99
+ * @internal
100
+ */
101
+ export declare function isLastBlockOfListItem(listBlock: Element): boolean;
102
+ /**
103
+ * Expands the given list of selected blocks to include the leading and tailing blocks of partially selected list items.
104
+ *
105
+ * @internal
106
+ * @param blocks The list of selected blocks.
107
+ * @param options.withNested Whether should include nested list items.
108
+ */
109
+ export declare function expandListBlocksToCompleteItems(blocks: ArrayOrItem<Element>, options?: {
110
+ withNested?: boolean;
111
+ }): Array<ListElement>;
112
+ /**
113
+ * Expands the given list of selected blocks to include all the items of the lists they're in.
114
+ *
115
+ * @internal
116
+ * @param blocks The list of selected blocks.
117
+ */
118
+ export declare function expandListBlocksToCompleteList(blocks: ArrayOrItem<Element>): Array<ListElement>;
119
+ /**
120
+ * Splits the list item just before the provided list block.
121
+ *
122
+ * @internal
123
+ * @param listBlock The list block element.
124
+ * @param writer The model writer.
125
+ * @returns The array of updated blocks.
126
+ */
127
+ export declare function splitListItemBefore(listBlock: Element, writer: Writer): Array<ListElement>;
128
+ /**
129
+ * Merges the list item with the parent list item.
130
+ *
131
+ * @internal
132
+ * @param listBlock The list block element.
133
+ * @param parentBlock The list block element to merge with.
134
+ * @param writer The model writer.
135
+ * @returns The array of updated blocks.
136
+ */
137
+ export declare function mergeListItemBefore(listBlock: Node, parentBlock: Element, writer: Writer): Array<ListElement>;
138
+ /**
139
+ * Increases indentation of given list blocks.
140
+ *
141
+ * @internal
142
+ * @param blocks The block or iterable of blocks.
143
+ * @param writer The model writer.
144
+ * @param options.expand Whether should expand the list of blocks to include complete list items.
145
+ * @param options.indentBy The number of levels the indentation should change (could be negative).
146
+ */
147
+ export declare function indentBlocks(blocks: ArrayOrItem<ListElement>, writer: Writer, { expand, indentBy }?: {
148
+ expand?: boolean;
149
+ indentBy?: number;
150
+ }): Array<ListElement>;
151
+ /**
152
+ * Decreases indentation of given list of blocks. If the indentation of some blocks matches the indentation
153
+ * of surrounding blocks, they get merged together.
154
+ *
155
+ * @internal
156
+ * @param blocks The block or iterable of blocks.
157
+ * @param writer The model writer.
158
+ */
159
+ export declare function outdentBlocksWithMerge(blocks: ArrayOrItem<ListElement>, writer: Writer): Array<ListElement>;
160
+ /**
161
+ * Removes all list attributes from the given blocks.
162
+ *
163
+ * @internal
164
+ * @param blocks The block or iterable of blocks.
165
+ * @param writer The model writer.
166
+ * @returns Array of altered blocks.
167
+ */
168
+ export declare function removeListAttributes(blocks: ArrayOrItem<Element>, writer: Writer): Array<Element>;
169
+ /**
170
+ * Checks whether the given blocks are related to a single list item.
171
+ *
172
+ * @internal
173
+ * @param blocks The list block elements.
174
+ */
175
+ export declare function isSingleListItem(blocks: Array<Node>): boolean;
176
+ /**
177
+ * Modifies the indents of list blocks following the given list block so the indentation is valid after
178
+ * the given block is no longer a list item.
179
+ *
180
+ * @internal
181
+ * @param lastBlock The last list block that has become a non-list element.
182
+ * @param writer The model writer.
183
+ * @returns Array of altered blocks.
184
+ */
185
+ export declare function outdentFollowingItems(lastBlock: Element, writer: Writer): Array<ListElement>;
186
+ /**
187
+ * Returns the array of given blocks sorted by model indexes (document order).
188
+ *
189
+ * @internal
190
+ */
191
+ export declare function sortBlocks<T extends Element>(blocks: Iterable<T>): Array<T>;
192
+ /**
193
+ * Returns a selected block object. If a selected object is inline or when there is no selected
194
+ * object, `null` is returned.
195
+ *
196
+ * @internal
197
+ * @param model The instance of editor model.
198
+ * @returns Selected block object or `null`.
199
+ */
200
+ export declare function getSelectedBlockObject(model: Model): Element | null;
201
+ /**
202
+ * Checks whether the given block can be replaced by a listItem.
203
+ *
204
+ * Note that this is possible only when multiBlock = false option is set in feature config.
205
+ *
206
+ * @param block A block to be tested.
207
+ * @param schema The schema of the document.
208
+ */
209
+ export declare function canBecomeSimpleListItem(block: Element, schema: Schema): boolean;
210
+ /**
211
+ * Returns true if listType is of type `numbered` or `customNumbered`.
212
+ */
213
+ export declare function isNumberedListType(listType: ListType): boolean;
@@ -0,0 +1,41 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, 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
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ /**
10
+ * @module list/list/utils/postfixers
11
+ */
12
+ import type { Position, Writer } from 'ckeditor5/src/engine.js';
13
+ import { type ListIteratorValue } from './listwalker.js';
14
+ import { type ListElement } from './model.js';
15
+ /**
16
+ * Based on the provided positions looks for the list head and stores it in the provided map.
17
+ *
18
+ * @internal
19
+ * @param position The search starting position.
20
+ * @param itemToListHead The map from list item element to the list head element.
21
+ */
22
+ export declare function findAndAddListHeadToMap(position: Position, itemToListHead: Map<ListElement, ListElement>): void;
23
+ /**
24
+ * Scans the list starting from the given list head element and fixes items' indentation.
25
+ *
26
+ * @internal
27
+ * @param listNodes The iterable of list nodes.
28
+ * @param writer The model writer.
29
+ * @returns Whether the model was modified.
30
+ */
31
+ export declare function fixListIndents(listNodes: Iterable<ListIteratorValue>, writer: Writer): boolean;
32
+ /**
33
+ * Scans the list starting from the given list head element and fixes items' types.
34
+ *
35
+ * @internal
36
+ * @param listNodes The iterable of list nodes.
37
+ * @param seenIds The set of already known IDs.
38
+ * @param writer The model writer.
39
+ * @returns Whether the model was modified.
40
+ */
41
+ export declare function fixListItemIds(listNodes: Iterable<ListIteratorValue>, seenIds: Set<string>, writer: Writer): boolean;
@@ -0,0 +1,86 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, 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
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ /**
10
+ * @module list/list/utils/view
11
+ */
12
+ import type { DowncastWriter, ViewAttributeElement, ViewDocumentFragment, ViewElement, ViewNode } from 'ckeditor5/src/engine.js';
13
+ import { type ListType } from '../listediting.js';
14
+ /**
15
+ * Checks if view element is a list type (ul or ol).
16
+ *
17
+ * @internal
18
+ */
19
+ export declare function isListView(viewElement: ViewNode | ViewDocumentFragment): viewElement is ViewElement & {
20
+ name: 'ul' | 'ol';
21
+ };
22
+ /**
23
+ * Checks if view element is a list item (li).
24
+ *
25
+ * @internal
26
+ */
27
+ export declare function isListItemView(viewElement: ViewNode | ViewDocumentFragment): viewElement is ViewElement & {
28
+ name: 'li';
29
+ };
30
+ /**
31
+ * Calculates the indent value for a list item. Handles HTML compliant and non-compliant lists.
32
+ *
33
+ * Also, fixes non HTML compliant lists indents:
34
+ *
35
+ * ```
36
+ * before: fixed list:
37
+ * OL OL
38
+ * |-> LI (parent LIs: 0) |-> LI (indent: 0)
39
+ * |-> OL |-> OL
40
+ * |-> OL |
41
+ * | |-> OL |
42
+ * | |-> OL |
43
+ * | |-> LI (parent LIs: 1) |-> LI (indent: 1)
44
+ * |-> LI (parent LIs: 1) |-> LI (indent: 1)
45
+ *
46
+ * before: fixed list:
47
+ * OL OL
48
+ * |-> OL |
49
+ * |-> OL |
50
+ * |-> OL |
51
+ * |-> LI (parent LIs: 0) |-> LI (indent: 0)
52
+ *
53
+ * before: fixed list:
54
+ * OL OL
55
+ * |-> LI (parent LIs: 0) |-> LI (indent: 0)
56
+ * |-> OL |-> OL
57
+ * |-> LI (parent LIs: 0) |-> LI (indent: 1)
58
+ * ```
59
+ *
60
+ * @internal
61
+ */
62
+ export declare function getIndent(listItem: ViewElement): number;
63
+ /**
64
+ * Creates a list attribute element (ol or ul).
65
+ *
66
+ * @internal
67
+ */
68
+ export declare function createListElement(writer: DowncastWriter, indent: number, type: ListType, id?: string): ViewAttributeElement;
69
+ /**
70
+ * Creates a list item attribute element (li).
71
+ *
72
+ * @internal
73
+ */
74
+ export declare function createListItemElement(writer: DowncastWriter, indent: number, id: string): ViewAttributeElement;
75
+ /**
76
+ * Returns a view element name for the given list type.
77
+ *
78
+ * @internal
79
+ */
80
+ export declare function getViewElementNameForListType(type?: ListType): 'ol' | 'ul';
81
+ /**
82
+ * Returns a view element ID for the given list type and indent.
83
+ *
84
+ * @internal
85
+ */
86
+ export declare function getViewElementIdForListType(type?: ListType, indent?: number): string;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, 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
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ /**
10
+ * @module list/list/utils
11
+ */
12
+ import type { Editor } from 'ckeditor5/src/core.js';
13
+ /**
14
+ * Helper method for creating toolbar and menu buttons and linking them with an appropriate command.
15
+ *
16
+ * @internal
17
+ * @param editor The editor instance to which the UI component will be added.
18
+ * @param commandName The name of the command.
19
+ * @param label The button label.
20
+ * @param icon The source of the icon.
21
+ */
22
+ export declare function createUIComponents(editor: Editor, commandName: 'bulletedList' | 'numberedList' | 'todoList', label: string, icon: string): void;
package/dist/list.d.ts ADDED
@@ -0,0 +1,34 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, 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
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ /**
10
+ * @module list/list
11
+ */
12
+ import { Plugin } from 'ckeditor5/src/core.js';
13
+ import ListEditing from './list/listediting.js';
14
+ import ListUI from './list/listui.js';
15
+ /**
16
+ * The list feature.
17
+ *
18
+ * This is a "glue" plugin that loads the {@link module:list/list/listediting~ListEditing list
19
+ * editing feature} and {@link module:list/list/listui~ListUI list UI feature}.
20
+ */
21
+ export default class List extends Plugin {
22
+ /**
23
+ * @inheritDoc
24
+ */
25
+ static get requires(): readonly [typeof ListEditing, typeof ListUI];
26
+ /**
27
+ * @inheritDoc
28
+ */
29
+ static get pluginName(): "List";
30
+ /**
31
+ * @inheritDoc
32
+ */
33
+ static get isOfficialPlugin(): true;
34
+ }
@@ -0,0 +1,164 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, 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
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ /**
10
+ * @module list/listconfig
11
+ */
12
+ import { type ArrayOrItem } from 'ckeditor5/src/utils.js';
13
+ /**
14
+ * The configuration of the {@link module:list/list~List list} feature
15
+ * and the {@link module:list/legacylist~LegacyList legacy list} feature.
16
+ *
17
+ * ```ts
18
+ * ClassicEditor
19
+ * .create( editorElement, {
20
+ * list: ... // The list feature configuration.
21
+ * } )
22
+ * .then( ... )
23
+ * .catch( ... );
24
+ * ```
25
+ *
26
+ * See {@link module:core/editor/editorconfig~EditorConfig all editor options}.
27
+ *
28
+ * @interface ListConfig
29
+ */
30
+ export interface ListConfig {
31
+ /**
32
+ * The configuration of the {@link module:list/listproperties~ListProperties} feature and the
33
+ * {@link module:list/legacylistproperties~LegacyListProperties legacy list properties} feature.
34
+ *
35
+ * Read more in {@link module:list/listconfig~ListPropertiesConfig}.
36
+ */
37
+ properties?: ListPropertiesConfig;
38
+ /**
39
+ * Allows multiple blocks in single list item.
40
+ *
41
+ * With this option enabled you can have block widgets, for example images or even tables, within a list item.
42
+ *
43
+ * **Note:** This is enabled by default.
44
+ *
45
+ * @default true
46
+ */
47
+ multiBlock?: boolean;
48
+ }
49
+ /**
50
+ * The configuration of the {@link module:list/listproperties~ListProperties list properties} feature and the
51
+ * {@link module:list/legacylistproperties~LegacyListProperties legacy list properties} feature.
52
+ *
53
+ * This configuration controls the individual list properties. For instance, it enables or disables specific editor commands
54
+ * operating on lists ({@link module:list/listproperties/liststylecommand~ListStyleCommand `'listStyle'`},
55
+ * {@link module:list/listproperties/liststartcommand~ListStartCommand `'listStart'`},
56
+ * {@link module:list/listproperties/listreversedcommand~ListReversedCommand `'listReversed'`}, or on the legacy lists
57
+ * {@link module:list/legacylistproperties/legacyliststylecommand~LegacyListStyleCommand `'listStyle'`},
58
+ * {@link module:list/legacylistproperties/legacyliststartcommand~LegacyListStartCommand `'listStart'`},
59
+ * {@link module:list/legacylistproperties/legacylistreversedcommand~LegacyListReversedCommand `'listReversed'`}), the look of the UI
60
+ * (`'numberedList'` and `'bulletedList'` dropdowns), and the editor data pipeline (allowed HTML attributes).
61
+ *
62
+ * ```ts
63
+ * ClassicEditor
64
+ * .create( editorElement, {
65
+ * list: {
66
+ * properties: {
67
+ * styles: true,
68
+ * startIndex: true,
69
+ * reversed: true
70
+ * }
71
+ * }
72
+ * } )
73
+ * .then( ... )
74
+ * .catch( ... );
75
+ * ```
76
+ */
77
+ export interface ListPropertiesConfig {
78
+ /**
79
+ * When set, the list style feature will be enabled.
80
+ * It allows changing the `list-style-type` style or the `type` HTML attribute of a list.
81
+ *
82
+ * **Note**: Styling using the `type` HTML attribute is only available in
83
+ * {@link module:list/listproperties~ListProperties list properties}
84
+ * ({@link module:list/listconfig~ListPropertiesStyleConfig learn more}).
85
+ *
86
+ * @default true
87
+ */
88
+ styles?: boolean | ListPropertiesStyleConfig | ArrayOrItem<ListPropertiesStyleListType>;
89
+ /**
90
+ * When set, the list start index feature will be enabled. It allows changing the `start` HTML attribute of the numbered lists. As a
91
+ * result, it will be possible to specify the start value of the first item in an ordered list.
92
+ *
93
+ * **Note**: This configuration does not affect bulleted and to-do lists.
94
+ *
95
+ * @default false
96
+ */
97
+ startIndex?: boolean;
98
+ /**
99
+ * When set, the reversed list feature will be enabled. It allows changing the `reversed` HTML attribute of the numbered lists. As a
100
+ * result, it will be possible to make the list order descending instead of ascending.
101
+ *
102
+ * **Note**: This configuration does not affect bulleted and to-do lists.
103
+ *
104
+ * @default false
105
+ */
106
+ reversed?: boolean;
107
+ }
108
+ export interface ListPropertiesStyleConfig {
109
+ /**
110
+ * Enable style feature for the given list type only.
111
+ *
112
+ * ```ts
113
+ * {
114
+ * list: {
115
+ * properties: {
116
+ * styles: {
117
+ * listTypes: 'numbered'
118
+ * }
119
+ *
120
+ * // ...
121
+ * }
122
+ * },
123
+ *
124
+ * // ...
125
+ * }
126
+ * ```
127
+ *
128
+ *
129
+ * **Note**: This configuration works only with
130
+ * {@link module:list/listproperties~ListProperties list properties}.
131
+ *
132
+ * @default ['bulleted','numbered']
133
+ */
134
+ listTypes?: ArrayOrItem<ListPropertiesStyleListType>;
135
+ /**
136
+ * When set `true`, the list style feature will use the `type` attribute of `<ul>` and `<ol>` elements instead of the `list-style-type`
137
+ * style.
138
+ *
139
+ * ```ts
140
+ * {
141
+ * list: {
142
+ * properties: {
143
+ * styles: {
144
+ * useAttribute: true
145
+ * },
146
+ *
147
+ * // ...
148
+ * }
149
+ * },
150
+ *
151
+ * // ...
152
+ * }
153
+ * ```
154
+ *
155
+ * **Note**: Due to limitations of HTML, the "Decimal with leading zero" style is impossible to set using the `type` attribute.
156
+ *
157
+ * **Note**: This configuration works only with
158
+ * {@link module:list/listproperties~ListProperties list properties}.
159
+ *
160
+ * @default false
161
+ */
162
+ useAttribute?: boolean;
163
+ }
164
+ export type ListPropertiesStyleListType = 'numbered' | 'bulleted';
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, 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
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ /**
10
+ * @module list/listproperties/converters
11
+ */
12
+ import type { UpcastElementEvent } from 'ckeditor5/src/engine.js';
13
+ import type { GetCallback } from 'ckeditor5/src/utils.js';
14
+ import type { AttributeStrategy } from './listpropertiesediting.js';
15
+ /**
16
+ * Returns a converter that consumes the `style`, `reversed`, and `start` attributes.
17
+ * In `style`, it searches for the `list-style-type` definition.
18
+ * If not found, the `"default"` value will be used.
19
+ *
20
+ * @internal
21
+ * @param strategy
22
+ */
23
+ export declare function listPropertiesUpcastConverter(strategy: AttributeStrategy): GetCallback<UpcastElementEvent>;
@@ -0,0 +1,96 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, 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
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ /**
10
+ * @module list/listproperties/listpropertiesediting
11
+ */
12
+ import { Plugin, type Editor } from 'ckeditor5/src/core.js';
13
+ import type { Consumables, DowncastWriter, Element, Item, ViewElement } from 'ckeditor5/src/engine.js';
14
+ import ListEditing, { type ListItemAttributesMap } from '../list/listediting.js';
15
+ import ListPropertiesUtils from './listpropertiesutils.js';
16
+ /**
17
+ * The document list properties engine feature.
18
+ *
19
+ * It registers the `'listStyle'`, `'listReversed'` and `'listStart'` commands if they are enabled in the configuration.
20
+ * Read more in {@link module:list/listconfig~ListPropertiesConfig}.
21
+ */
22
+ export default class ListPropertiesEditing extends Plugin {
23
+ /**
24
+ * @inheritDoc
25
+ */
26
+ static get requires(): readonly [typeof ListEditing, typeof ListPropertiesUtils];
27
+ /**
28
+ * @inheritDoc
29
+ */
30
+ static get pluginName(): "ListPropertiesEditing";
31
+ /**
32
+ * @inheritDoc
33
+ */
34
+ static get isOfficialPlugin(): true;
35
+ /**
36
+ * @inheritDoc
37
+ */
38
+ constructor(editor: Editor);
39
+ /**
40
+ * @inheritDoc
41
+ */
42
+ init(): void;
43
+ }
44
+ /**
45
+ * Strategy for dealing with `listItem` attributes supported by this plugin.
46
+ *
47
+ * @internal
48
+ */
49
+ export interface AttributeStrategy {
50
+ /**
51
+ * The model attribute name.
52
+ */
53
+ attributeName: keyof ListItemAttributesMap;
54
+ /**
55
+ * The model attribute default value.
56
+ */
57
+ defaultValue: unknown;
58
+ /**
59
+ * The view consumable as expected by {@link module:engine/conversion/viewconsumable~ViewConsumable#consume `ViewConsumable`}.
60
+ */
61
+ viewConsumables: Consumables;
62
+ /**
63
+ * Registers an editor command.
64
+ */
65
+ addCommand(editor: Editor): void;
66
+ /**
67
+ * Verifies whether the strategy is applicable for the specified model element.
68
+ */
69
+ appliesToListItem(element: Item): boolean;
70
+ /**
71
+ * Verifies whether the model attribute value is valid.
72
+ */
73
+ hasValidAttribute(element: Element): boolean;
74
+ /**
75
+ * Sets the property on the view element.
76
+ */
77
+ setAttributeOnDowncast(writer: DowncastWriter, value: unknown, element: ViewElement): void;
78
+ /**
79
+ * Retrieves the property value from the view element.
80
+ */
81
+ getAttributeOnUpcast(element: ViewElement): unknown;
82
+ }
83
+ declare module '../list/listediting' {
84
+ interface ListItemAttributesMap {
85
+ listStyle?: string;
86
+ listStart?: number;
87
+ listReversed?: boolean;
88
+ }
89
+ }
90
+ declare module '../list/utils/model' {
91
+ interface ListElement {
92
+ getAttribute(key: 'listStyle'): string;
93
+ getAttribute(key: 'listStart'): number;
94
+ getAttribute(key: 'listReversed'): boolean;
95
+ }
96
+ }