@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,56 @@
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
+ * @module list/list/listutils
7
+ */
8
+ import type { Element, Node } from 'ckeditor5/src/engine.js';
9
+ import type { ArrayOrItem } from 'ckeditor5/src/utils.js';
10
+ import { Plugin } from 'ckeditor5/src/core.js';
11
+ import { type ListElement } from './utils/model.js';
12
+ import type { ListType } from './listediting.js';
13
+ /**
14
+ * A set of helpers related to document lists.
15
+ */
16
+ export default class ListUtils extends Plugin {
17
+ /**
18
+ * @inheritDoc
19
+ */
20
+ static get pluginName(): "ListUtils";
21
+ /**
22
+ * @inheritDoc
23
+ */
24
+ static get isOfficialPlugin(): true;
25
+ /**
26
+ * Expands the given list of selected blocks to include all the items of the lists they're in.
27
+ *
28
+ * @param blocks The list of selected blocks.
29
+ */
30
+ expandListBlocksToCompleteList(blocks: ArrayOrItem<Element>): Array<Element>;
31
+ /**
32
+ * Check if the given block is the first in the list item.
33
+ *
34
+ * @param listBlock The list block element.
35
+ */
36
+ isFirstBlockOfListItem(listBlock: Element): boolean;
37
+ /**
38
+ * Returns true if the given model node is a list item block.
39
+ *
40
+ * @param node A model node.
41
+ */
42
+ isListItemBlock(node: Node | null): node is ListElement;
43
+ /**
44
+ * Expands the given list of selected blocks to include the leading and tailing blocks of partially selected list items.
45
+ *
46
+ * @param blocks The list of selected blocks.
47
+ * @param options.withNested Whether should include nested list items.
48
+ */
49
+ expandListBlocksToCompleteItems(blocks: ArrayOrItem<Element>, options?: {
50
+ withNested?: boolean;
51
+ }): Array<Element>;
52
+ /**
53
+ * Returns true if listType is of type `numbered` or `customNumbered`.
54
+ */
55
+ isNumberedListType(listType: ListType): boolean;
56
+ }
@@ -0,0 +1,62 @@
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
+ import { Plugin } from 'ckeditor5/src/core.js';
6
+ import { expandListBlocksToCompleteItems, expandListBlocksToCompleteList, isFirstBlockOfListItem, isListItemBlock, isNumberedListType } from './utils/model.js';
7
+ /**
8
+ * A set of helpers related to document lists.
9
+ */
10
+ export default class ListUtils extends Plugin {
11
+ /**
12
+ * @inheritDoc
13
+ */
14
+ static get pluginName() {
15
+ return 'ListUtils';
16
+ }
17
+ /**
18
+ * @inheritDoc
19
+ */
20
+ static get isOfficialPlugin() {
21
+ return true;
22
+ }
23
+ /**
24
+ * Expands the given list of selected blocks to include all the items of the lists they're in.
25
+ *
26
+ * @param blocks The list of selected blocks.
27
+ */
28
+ expandListBlocksToCompleteList(blocks) {
29
+ return expandListBlocksToCompleteList(blocks);
30
+ }
31
+ /**
32
+ * Check if the given block is the first in the list item.
33
+ *
34
+ * @param listBlock The list block element.
35
+ */
36
+ isFirstBlockOfListItem(listBlock) {
37
+ return isFirstBlockOfListItem(listBlock);
38
+ }
39
+ /**
40
+ * Returns true if the given model node is a list item block.
41
+ *
42
+ * @param node A model node.
43
+ */
44
+ isListItemBlock(node) {
45
+ return isListItemBlock(node);
46
+ }
47
+ /**
48
+ * Expands the given list of selected blocks to include the leading and tailing blocks of partially selected list items.
49
+ *
50
+ * @param blocks The list of selected blocks.
51
+ * @param options.withNested Whether should include nested list items.
52
+ */
53
+ expandListBlocksToCompleteItems(blocks, options = {}) {
54
+ return expandListBlocksToCompleteItems(blocks, options);
55
+ }
56
+ /**
57
+ * Returns true if listType is of type `numbered` or `customNumbered`.
58
+ */
59
+ isNumberedListType(listType) {
60
+ return isNumberedListType(listType);
61
+ }
62
+ }
@@ -0,0 +1,142 @@
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
+ * @module list/list/utils/listwalker
7
+ */
8
+ import { type ArrayOrItem } from 'ckeditor5/src/utils.js';
9
+ import { type ListElement } from './model.js';
10
+ import type { Element, Node } from 'ckeditor5/src/engine.js';
11
+ /**
12
+ * Document list blocks iterator.
13
+ */
14
+ export default class ListWalker {
15
+ /**
16
+ * The start list item block element.
17
+ */
18
+ private _startElement;
19
+ /**
20
+ * The reference indent. Initialized by the indent of the start block.
21
+ */
22
+ private _referenceIndent;
23
+ /**
24
+ * The iterating direction.
25
+ */
26
+ private _isForward;
27
+ /**
28
+ * Whether start block should be included in the result (if it's matching other criteria).
29
+ */
30
+ private _includeSelf;
31
+ /**
32
+ * Additional attributes that must be the same for each block.
33
+ */
34
+ private _sameAttributes;
35
+ /**
36
+ * Whether blocks with the same indent level as the start block should be included in the result.
37
+ */
38
+ private _sameIndent;
39
+ /**
40
+ * Whether blocks with a lower indent level than the start block should be included in the result.
41
+ */
42
+ private _lowerIndent;
43
+ /**
44
+ * Whether blocks with a higher indent level than the start block should be included in the result.
45
+ */
46
+ private _higherIndent;
47
+ /**
48
+ * Creates a document list iterator.
49
+ *
50
+ * @param startElement The start list item block element.
51
+ * @param options.direction The iterating direction.
52
+ * @param options.includeSelf Whether start block should be included in the result (if it's matching other criteria).
53
+ * @param options.sameAttributes Additional attributes that must be the same for each block.
54
+ * @param options.sameIndent Whether blocks with the same indent level as the start block should be included
55
+ * in the result.
56
+ * @param options.lowerIndent Whether blocks with a lower indent level than the start block should be included
57
+ * in the result.
58
+ * @param options.higherIndent Whether blocks with a higher indent level than the start block should be included
59
+ * in the result.
60
+ */
61
+ constructor(startElement: Node, options: ListWalkerOptions);
62
+ /**
63
+ * Performs only first step of iteration and returns the result.
64
+ *
65
+ * @param startElement The start list item block element.
66
+ * @param options.direction The iterating direction.
67
+ * @param options.includeSelf Whether start block should be included in the result (if it's matching other criteria).
68
+ * @param options.sameAttributes Additional attributes that must be the same for each block.
69
+ * @param options.sameIndent Whether blocks with the same indent level as the start block should be included
70
+ * in the result.
71
+ * @param options.lowerIndent Whether blocks with a lower indent level than the start block should be included
72
+ * in the result.
73
+ * @param options.higherIndent Whether blocks with a higher indent level than the start block should be included
74
+ * in the result.
75
+ */
76
+ static first(startElement: Node, options: ListWalkerOptions): ListElement | null;
77
+ /**
78
+ * Iterable interface.
79
+ */
80
+ [Symbol.iterator](): Iterator<ListElement>;
81
+ /**
82
+ * Returns the model element to start iterating.
83
+ */
84
+ private _getStartNode;
85
+ }
86
+ /**
87
+ * Iterates sibling list blocks starting from the given node.
88
+ *
89
+ * @internal
90
+ * @param node The model node.
91
+ * @param direction Iteration direction.
92
+ * @returns The object with `node` and `previous` {@link module:engine/model/element~Element blocks}.
93
+ */
94
+ export declare function iterateSiblingListBlocks(node: Node | null, direction?: 'forward' | 'backward'): IterableIterator<ListIteratorValue>;
95
+ /**
96
+ * The iterable protocol over the list elements.
97
+ *
98
+ * @internal
99
+ */
100
+ export declare class ListBlocksIterable {
101
+ private _listHead;
102
+ /**
103
+ * @param listHead The head element of a list.
104
+ */
105
+ constructor(listHead: Element);
106
+ /**
107
+ * List blocks iterator.
108
+ *
109
+ * Iterates over all blocks of a list.
110
+ */
111
+ [Symbol.iterator](): Iterator<ListIteratorValue>;
112
+ }
113
+ /**
114
+ * Object returned by `iterateSiblingListBlocks()` when traversing a list.
115
+ *
116
+ * @internal
117
+ */
118
+ export interface ListIteratorValue {
119
+ /**
120
+ * The current list node.
121
+ */
122
+ node: ListElement;
123
+ /**
124
+ * The previous list node.
125
+ */
126
+ previous: ListElement | null;
127
+ /**
128
+ * The previous list node at the same indent as current node.
129
+ */
130
+ previousNodeInList: ListElement | null;
131
+ }
132
+ /**
133
+ * Document list blocks iterator options.
134
+ */
135
+ export type ListWalkerOptions = {
136
+ direction?: 'forward' | 'backward';
137
+ includeSelf?: boolean;
138
+ sameAttributes?: ArrayOrItem<string>;
139
+ sameIndent?: boolean;
140
+ lowerIndent?: boolean;
141
+ higherIndent?: boolean;
142
+ };
@@ -0,0 +1,182 @@
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
+ * @module list/list/utils/listwalker
7
+ */
8
+ import { first, toArray } from 'ckeditor5/src/utils.js';
9
+ import { isListItemBlock } from './model.js';
10
+ /**
11
+ * Document list blocks iterator.
12
+ */
13
+ export default class ListWalker {
14
+ /**
15
+ * Creates a document list iterator.
16
+ *
17
+ * @param startElement The start list item block element.
18
+ * @param options.direction The iterating direction.
19
+ * @param options.includeSelf Whether start block should be included in the result (if it's matching other criteria).
20
+ * @param options.sameAttributes Additional attributes that must be the same for each block.
21
+ * @param options.sameIndent Whether blocks with the same indent level as the start block should be included
22
+ * in the result.
23
+ * @param options.lowerIndent Whether blocks with a lower indent level than the start block should be included
24
+ * in the result.
25
+ * @param options.higherIndent Whether blocks with a higher indent level than the start block should be included
26
+ * in the result.
27
+ */
28
+ constructor(startElement, options) {
29
+ this._startElement = startElement;
30
+ this._referenceIndent = startElement.getAttribute('listIndent');
31
+ this._isForward = options.direction == 'forward';
32
+ this._includeSelf = !!options.includeSelf;
33
+ this._sameAttributes = toArray(options.sameAttributes || []);
34
+ this._sameIndent = !!options.sameIndent;
35
+ this._lowerIndent = !!options.lowerIndent;
36
+ this._higherIndent = !!options.higherIndent;
37
+ }
38
+ /**
39
+ * Performs only first step of iteration and returns the result.
40
+ *
41
+ * @param startElement The start list item block element.
42
+ * @param options.direction The iterating direction.
43
+ * @param options.includeSelf Whether start block should be included in the result (if it's matching other criteria).
44
+ * @param options.sameAttributes Additional attributes that must be the same for each block.
45
+ * @param options.sameIndent Whether blocks with the same indent level as the start block should be included
46
+ * in the result.
47
+ * @param options.lowerIndent Whether blocks with a lower indent level than the start block should be included
48
+ * in the result.
49
+ * @param options.higherIndent Whether blocks with a higher indent level than the start block should be included
50
+ * in the result.
51
+ */
52
+ static first(startElement, options) {
53
+ const walker = new this(startElement, options);
54
+ const iterator = walker[Symbol.iterator]();
55
+ return first(iterator);
56
+ }
57
+ /**
58
+ * Iterable interface.
59
+ */
60
+ *[Symbol.iterator]() {
61
+ const nestedItems = [];
62
+ for (const { node } of iterateSiblingListBlocks(this._getStartNode(), this._isForward ? 'forward' : 'backward')) {
63
+ const indent = node.getAttribute('listIndent');
64
+ // Leaving a nested list.
65
+ if (indent < this._referenceIndent) {
66
+ // Abort searching blocks.
67
+ if (!this._lowerIndent) {
68
+ break;
69
+ }
70
+ // While searching for lower indents, update the reference indent to find another parent in the next step.
71
+ this._referenceIndent = indent;
72
+ }
73
+ // Entering a nested list.
74
+ else if (indent > this._referenceIndent) {
75
+ // Ignore nested blocks.
76
+ if (!this._higherIndent) {
77
+ continue;
78
+ }
79
+ // Collect nested blocks to verify if they are really nested, or it's a different item.
80
+ if (!this._isForward) {
81
+ nestedItems.push(node);
82
+ continue;
83
+ }
84
+ }
85
+ // Same indent level block.
86
+ else {
87
+ // Ignore same indent block.
88
+ if (!this._sameIndent) {
89
+ // While looking for nested blocks, stop iterating while encountering first same indent block.
90
+ if (this._higherIndent) {
91
+ // No more nested blocks so yield nested items.
92
+ if (nestedItems.length) {
93
+ yield* nestedItems;
94
+ nestedItems.length = 0;
95
+ }
96
+ break;
97
+ }
98
+ continue;
99
+ }
100
+ // Abort if item has any additionally specified attribute different.
101
+ if (this._sameAttributes.some(attr => node.getAttribute(attr) !== this._startElement.getAttribute(attr))) {
102
+ break;
103
+ }
104
+ }
105
+ // There is another block for the same list item so the nested items were in the same list item.
106
+ if (nestedItems.length) {
107
+ yield* nestedItems;
108
+ nestedItems.length = 0;
109
+ }
110
+ yield node;
111
+ }
112
+ }
113
+ /**
114
+ * Returns the model element to start iterating.
115
+ */
116
+ _getStartNode() {
117
+ if (this._includeSelf) {
118
+ return this._startElement;
119
+ }
120
+ return this._isForward ?
121
+ this._startElement.nextSibling :
122
+ this._startElement.previousSibling;
123
+ }
124
+ }
125
+ /**
126
+ * Iterates sibling list blocks starting from the given node.
127
+ *
128
+ * @internal
129
+ * @param node The model node.
130
+ * @param direction Iteration direction.
131
+ * @returns The object with `node` and `previous` {@link module:engine/model/element~Element blocks}.
132
+ */
133
+ export function* iterateSiblingListBlocks(node, direction = 'forward') {
134
+ const isForward = direction == 'forward';
135
+ const previousNodesByIndent = []; // Last seen nodes of lower indented lists.
136
+ let previous = null;
137
+ while (isListItemBlock(node)) {
138
+ let previousNodeInList = null; // It's like `previous` but has the same indent as current node.
139
+ if (previous) {
140
+ const nodeIndent = node.getAttribute('listIndent');
141
+ const previousNodeIndent = previous.getAttribute('listIndent');
142
+ // Let's find previous node for the same indent.
143
+ // We're going to need that when we get back to previous indent.
144
+ if (nodeIndent > previousNodeIndent) {
145
+ previousNodesByIndent[previousNodeIndent] = previous;
146
+ }
147
+ // Restore the one for given indent.
148
+ else if (nodeIndent < previousNodeIndent) {
149
+ previousNodeInList = previousNodesByIndent[nodeIndent];
150
+ previousNodesByIndent.length = nodeIndent;
151
+ }
152
+ // Same indent.
153
+ else {
154
+ previousNodeInList = previous;
155
+ }
156
+ }
157
+ yield { node, previous, previousNodeInList };
158
+ previous = node;
159
+ node = isForward ? node.nextSibling : node.previousSibling;
160
+ }
161
+ }
162
+ /**
163
+ * The iterable protocol over the list elements.
164
+ *
165
+ * @internal
166
+ */
167
+ export class ListBlocksIterable {
168
+ /**
169
+ * @param listHead The head element of a list.
170
+ */
171
+ constructor(listHead) {
172
+ this._listHead = listHead;
173
+ }
174
+ /**
175
+ * List blocks iterator.
176
+ *
177
+ * Iterates over all blocks of a list.
178
+ */
179
+ [Symbol.iterator]() {
180
+ return iterateSiblingListBlocks(this._listHead, 'forward');
181
+ }
182
+ }
@@ -0,0 +1,209 @@
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
+ * @module list/list/utils/model
7
+ */
8
+ import type { DocumentFragment, Element, Model, Node, Writer, Item, Schema } from 'ckeditor5/src/engine.js';
9
+ import { type ArrayOrItem } from 'ckeditor5/src/utils.js';
10
+ import { type ListWalkerOptions } from './listwalker.js';
11
+ import { type ListType } from '../listediting.js';
12
+ /**
13
+ * The list item ID generator.
14
+ *
15
+ * @internal
16
+ */
17
+ export declare class ListItemUid {
18
+ /**
19
+ * Returns the next ID.
20
+ *
21
+ * @internal
22
+ */
23
+ static next(): string;
24
+ }
25
+ /**
26
+ * An {@link module:engine/model/element~Element} that is known to be a list element.
27
+ *
28
+ * @internal
29
+ */
30
+ export interface ListElement extends Element {
31
+ getAttribute(key: 'listItemId'): string;
32
+ getAttribute(key: 'listIndent'): number;
33
+ getAttribute(key: 'listType'): ListType;
34
+ getAttribute(key: string): unknown;
35
+ }
36
+ /**
37
+ * Returns true if the given model node is a list item block.
38
+ *
39
+ * @internal
40
+ */
41
+ export declare function isListItemBlock(node: Item | DocumentFragment | null): node is ListElement;
42
+ /**
43
+ * Returns an array with all elements that represents the same list item.
44
+ *
45
+ * It means that values for `listIndent`, and `listItemId` for all items are equal.
46
+ *
47
+ * @internal
48
+ * @param listItem Starting list item element.
49
+ * @param options.higherIndent Whether blocks with a higher indent level than the start block should be included
50
+ * in the result.
51
+ */
52
+ export declare function getAllListItemBlocks(listItem: Node, options?: {
53
+ higherIndent?: boolean;
54
+ }): Array<ListElement>;
55
+ /**
56
+ * Returns an array with elements that represents the same list item in the specified direction.
57
+ *
58
+ * It means that values for `listIndent` and `listItemId` for all items are equal.
59
+ *
60
+ * **Note**: For backward search the provided item is not included, but for forward search it is included in the result.
61
+ *
62
+ * @internal
63
+ * @param listItem Starting list item element.
64
+ * @param options.direction Walking direction.
65
+ * @param options.higherIndent Whether blocks with a higher indent level than the start block should be included in the result.
66
+ */
67
+ export declare function getListItemBlocks(listItem: Node, options?: {
68
+ direction?: 'forward' | 'backward';
69
+ higherIndent?: boolean;
70
+ }): Array<ListElement>;
71
+ /**
72
+ * Returns a list items nested inside the given list item.
73
+ *
74
+ * @internal
75
+ */
76
+ export declare function getNestedListBlocks(listItem: Element): Array<ListElement>;
77
+ /**
78
+ * Returns array of all blocks/items of the same list as given block (same indent, same type and properties).
79
+ *
80
+ * @internal
81
+ * @param listItem Starting list item element.
82
+ * @param options Additional list walker options to modify the range of returned list items.
83
+ */
84
+ export declare function getListItems(listItem: Element, options?: ListWalkerOptions): Array<ListElement>;
85
+ /**
86
+ * Check if the given block is the first in the list item.
87
+ *
88
+ * @internal
89
+ * @param listBlock The list block element.
90
+ */
91
+ export declare function isFirstBlockOfListItem(listBlock: Node): boolean;
92
+ /**
93
+ * Check if the given block is the last in the list item.
94
+ *
95
+ * @internal
96
+ */
97
+ export declare function isLastBlockOfListItem(listBlock: Element): boolean;
98
+ /**
99
+ * Expands the given list of selected blocks to include the leading and tailing blocks of partially selected list items.
100
+ *
101
+ * @internal
102
+ * @param blocks The list of selected blocks.
103
+ * @param options.withNested Whether should include nested list items.
104
+ */
105
+ export declare function expandListBlocksToCompleteItems(blocks: ArrayOrItem<Element>, options?: {
106
+ withNested?: boolean;
107
+ }): Array<ListElement>;
108
+ /**
109
+ * Expands the given list of selected blocks to include all the items of the lists they're in.
110
+ *
111
+ * @internal
112
+ * @param blocks The list of selected blocks.
113
+ */
114
+ export declare function expandListBlocksToCompleteList(blocks: ArrayOrItem<Element>): Array<ListElement>;
115
+ /**
116
+ * Splits the list item just before the provided list block.
117
+ *
118
+ * @internal
119
+ * @param listBlock The list block element.
120
+ * @param writer The model writer.
121
+ * @returns The array of updated blocks.
122
+ */
123
+ export declare function splitListItemBefore(listBlock: Element, writer: Writer): Array<ListElement>;
124
+ /**
125
+ * Merges the list item with the parent list item.
126
+ *
127
+ * @internal
128
+ * @param listBlock The list block element.
129
+ * @param parentBlock The list block element to merge with.
130
+ * @param writer The model writer.
131
+ * @returns The array of updated blocks.
132
+ */
133
+ export declare function mergeListItemBefore(listBlock: Node, parentBlock: Element, writer: Writer): Array<ListElement>;
134
+ /**
135
+ * Increases indentation of given list blocks.
136
+ *
137
+ * @internal
138
+ * @param blocks The block or iterable of blocks.
139
+ * @param writer The model writer.
140
+ * @param options.expand Whether should expand the list of blocks to include complete list items.
141
+ * @param options.indentBy The number of levels the indentation should change (could be negative).
142
+ */
143
+ export declare function indentBlocks(blocks: ArrayOrItem<ListElement>, writer: Writer, { expand, indentBy }?: {
144
+ expand?: boolean;
145
+ indentBy?: number;
146
+ }): Array<ListElement>;
147
+ /**
148
+ * Decreases indentation of given list of blocks. If the indentation of some blocks matches the indentation
149
+ * of surrounding blocks, they get merged together.
150
+ *
151
+ * @internal
152
+ * @param blocks The block or iterable of blocks.
153
+ * @param writer The model writer.
154
+ */
155
+ export declare function outdentBlocksWithMerge(blocks: ArrayOrItem<ListElement>, writer: Writer): Array<ListElement>;
156
+ /**
157
+ * Removes all list attributes from the given blocks.
158
+ *
159
+ * @internal
160
+ * @param blocks The block or iterable of blocks.
161
+ * @param writer The model writer.
162
+ * @returns Array of altered blocks.
163
+ */
164
+ export declare function removeListAttributes(blocks: ArrayOrItem<Element>, writer: Writer): Array<Element>;
165
+ /**
166
+ * Checks whether the given blocks are related to a single list item.
167
+ *
168
+ * @internal
169
+ * @param blocks The list block elements.
170
+ */
171
+ export declare function isSingleListItem(blocks: Array<Node>): boolean;
172
+ /**
173
+ * Modifies the indents of list blocks following the given list block so the indentation is valid after
174
+ * the given block is no longer a list item.
175
+ *
176
+ * @internal
177
+ * @param lastBlock The last list block that has become a non-list element.
178
+ * @param writer The model writer.
179
+ * @returns Array of altered blocks.
180
+ */
181
+ export declare function outdentFollowingItems(lastBlock: Element, writer: Writer): Array<ListElement>;
182
+ /**
183
+ * Returns the array of given blocks sorted by model indexes (document order).
184
+ *
185
+ * @internal
186
+ */
187
+ export declare function sortBlocks<T extends Element>(blocks: Iterable<T>): Array<T>;
188
+ /**
189
+ * Returns a selected block object. If a selected object is inline or when there is no selected
190
+ * object, `null` is returned.
191
+ *
192
+ * @internal
193
+ * @param model The instance of editor model.
194
+ * @returns Selected block object or `null`.
195
+ */
196
+ export declare function getSelectedBlockObject(model: Model): Element | null;
197
+ /**
198
+ * Checks whether the given block can be replaced by a listItem.
199
+ *
200
+ * Note that this is possible only when multiBlock = false option is set in feature config.
201
+ *
202
+ * @param block A block to be tested.
203
+ * @param schema The schema of the document.
204
+ */
205
+ export declare function canBecomeSimpleListItem(block: Element, schema: Schema): boolean;
206
+ /**
207
+ * Returns true if listType is of type `numbered` or `customNumbered`.
208
+ */
209
+ export declare function isNumberedListType(listType: ListType): boolean;