@ckeditor/ckeditor5-footnotes 0.0.1 → 47.2.0-alpha.1

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 (411) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/LICENSE.md +6 -6
  3. package/README.md +44 -3
  4. package/build/footnotes.js +5 -0
  5. package/build/translations/af.js +1 -0
  6. package/build/translations/ar.js +1 -0
  7. package/build/translations/ast.js +1 -0
  8. package/build/translations/az.js +1 -0
  9. package/build/translations/be.js +1 -0
  10. package/build/translations/bg.js +1 -0
  11. package/build/translations/bn.js +1 -0
  12. package/build/translations/bs.js +1 -0
  13. package/build/translations/ca.js +1 -0
  14. package/build/translations/cs.js +1 -0
  15. package/build/translations/da.js +1 -0
  16. package/build/translations/de-ch.js +1 -0
  17. package/build/translations/de.js +1 -0
  18. package/build/translations/el.js +1 -0
  19. package/build/translations/en-au.js +1 -0
  20. package/build/translations/en-gb.js +1 -0
  21. package/build/translations/eo.js +1 -0
  22. package/build/translations/es-co.js +1 -0
  23. package/build/translations/es.js +1 -0
  24. package/build/translations/et.js +1 -0
  25. package/build/translations/eu.js +1 -0
  26. package/build/translations/fa.js +1 -0
  27. package/build/translations/fi.js +1 -0
  28. package/build/translations/fr.js +1 -0
  29. package/build/translations/gl.js +1 -0
  30. package/build/translations/gu.js +1 -0
  31. package/build/translations/he.js +1 -0
  32. package/build/translations/hi.js +1 -0
  33. package/build/translations/hr.js +1 -0
  34. package/build/translations/hu.js +1 -0
  35. package/build/translations/hy.js +1 -0
  36. package/build/translations/id.js +1 -0
  37. package/build/translations/it.js +1 -0
  38. package/build/translations/ja.js +1 -0
  39. package/build/translations/jv.js +1 -0
  40. package/build/translations/kk.js +1 -0
  41. package/build/translations/km.js +1 -0
  42. package/build/translations/kn.js +1 -0
  43. package/build/translations/ko.js +1 -0
  44. package/build/translations/ku.js +1 -0
  45. package/build/translations/lt.js +1 -0
  46. package/build/translations/lv.js +1 -0
  47. package/build/translations/ms.js +1 -0
  48. package/build/translations/nb.js +1 -0
  49. package/build/translations/ne.js +1 -0
  50. package/build/translations/nl.js +1 -0
  51. package/build/translations/no.js +1 -0
  52. package/build/translations/oc.js +1 -0
  53. package/build/translations/pl.js +1 -0
  54. package/build/translations/pt-br.js +1 -0
  55. package/build/translations/pt.js +1 -0
  56. package/build/translations/ro.js +1 -0
  57. package/build/translations/ru.js +1 -0
  58. package/build/translations/si.js +1 -0
  59. package/build/translations/sk.js +1 -0
  60. package/build/translations/sl.js +1 -0
  61. package/build/translations/sq.js +1 -0
  62. package/build/translations/sr-latn.js +1 -0
  63. package/build/translations/sr.js +1 -0
  64. package/build/translations/sv.js +1 -0
  65. package/build/translations/th.js +1 -0
  66. package/build/translations/ti.js +1 -0
  67. package/build/translations/tk.js +1 -0
  68. package/build/translations/tr.js +1 -0
  69. package/build/translations/tt.js +1 -0
  70. package/build/translations/ug.js +1 -0
  71. package/build/translations/uk.js +1 -0
  72. package/build/translations/ur.js +1 -0
  73. package/build/translations/uz.js +1 -0
  74. package/build/translations/vi.js +1 -0
  75. package/build/translations/zh-cn.js +1 -0
  76. package/build/translations/zh.js +1 -0
  77. package/ckeditor5-metadata.json +65 -0
  78. package/dist/index-content.css +64 -0
  79. package/dist/index-editor.css +81 -0
  80. package/dist/index.css +181 -0
  81. package/dist/index.js +23 -0
  82. package/dist/translations/af.d.ts +8 -0
  83. package/dist/translations/af.js +23 -0
  84. package/dist/translations/af.umd.js +23 -0
  85. package/dist/translations/ar.d.ts +8 -0
  86. package/dist/translations/ar.js +23 -0
  87. package/dist/translations/ar.umd.js +23 -0
  88. package/dist/translations/ast.d.ts +8 -0
  89. package/dist/translations/ast.js +23 -0
  90. package/dist/translations/ast.umd.js +23 -0
  91. package/dist/translations/az.d.ts +8 -0
  92. package/dist/translations/az.js +23 -0
  93. package/dist/translations/az.umd.js +23 -0
  94. package/dist/translations/be.d.ts +8 -0
  95. package/dist/translations/be.js +23 -0
  96. package/dist/translations/be.umd.js +23 -0
  97. package/dist/translations/bg.d.ts +8 -0
  98. package/dist/translations/bg.js +23 -0
  99. package/dist/translations/bg.umd.js +23 -0
  100. package/dist/translations/bn.d.ts +8 -0
  101. package/dist/translations/bn.js +23 -0
  102. package/dist/translations/bn.umd.js +23 -0
  103. package/dist/translations/bs.d.ts +8 -0
  104. package/dist/translations/bs.js +23 -0
  105. package/dist/translations/bs.umd.js +23 -0
  106. package/dist/translations/ca.d.ts +8 -0
  107. package/dist/translations/ca.js +23 -0
  108. package/dist/translations/ca.umd.js +23 -0
  109. package/dist/translations/cs.d.ts +8 -0
  110. package/dist/translations/cs.js +23 -0
  111. package/dist/translations/cs.umd.js +23 -0
  112. package/dist/translations/da.d.ts +8 -0
  113. package/dist/translations/da.js +23 -0
  114. package/dist/translations/da.umd.js +23 -0
  115. package/dist/translations/de-ch.d.ts +8 -0
  116. package/dist/translations/de-ch.js +23 -0
  117. package/dist/translations/de-ch.umd.js +23 -0
  118. package/dist/translations/de.d.ts +8 -0
  119. package/dist/translations/de.js +23 -0
  120. package/dist/translations/de.umd.js +23 -0
  121. package/dist/translations/el.d.ts +8 -0
  122. package/dist/translations/el.js +23 -0
  123. package/dist/translations/el.umd.js +23 -0
  124. package/dist/translations/en-au.d.ts +8 -0
  125. package/dist/translations/en-au.js +23 -0
  126. package/dist/translations/en-au.umd.js +23 -0
  127. package/dist/translations/en-gb.d.ts +8 -0
  128. package/dist/translations/en-gb.js +23 -0
  129. package/dist/translations/en-gb.umd.js +23 -0
  130. package/dist/translations/en.d.ts +8 -0
  131. package/dist/translations/en.js +23 -0
  132. package/dist/translations/en.umd.js +23 -0
  133. package/dist/translations/eo.d.ts +8 -0
  134. package/dist/translations/eo.js +23 -0
  135. package/dist/translations/eo.umd.js +23 -0
  136. package/dist/translations/es-co.d.ts +8 -0
  137. package/dist/translations/es-co.js +23 -0
  138. package/dist/translations/es-co.umd.js +23 -0
  139. package/dist/translations/es.d.ts +8 -0
  140. package/dist/translations/es.js +23 -0
  141. package/dist/translations/es.umd.js +23 -0
  142. package/dist/translations/et.d.ts +8 -0
  143. package/dist/translations/et.js +23 -0
  144. package/dist/translations/et.umd.js +23 -0
  145. package/dist/translations/eu.d.ts +8 -0
  146. package/dist/translations/eu.js +23 -0
  147. package/dist/translations/eu.umd.js +23 -0
  148. package/dist/translations/fa.d.ts +8 -0
  149. package/dist/translations/fa.js +23 -0
  150. package/dist/translations/fa.umd.js +23 -0
  151. package/dist/translations/fi.d.ts +8 -0
  152. package/dist/translations/fi.js +23 -0
  153. package/dist/translations/fi.umd.js +23 -0
  154. package/dist/translations/fr.d.ts +8 -0
  155. package/dist/translations/fr.js +23 -0
  156. package/dist/translations/fr.umd.js +23 -0
  157. package/dist/translations/gl.d.ts +8 -0
  158. package/dist/translations/gl.js +23 -0
  159. package/dist/translations/gl.umd.js +23 -0
  160. package/dist/translations/gu.d.ts +8 -0
  161. package/dist/translations/gu.js +23 -0
  162. package/dist/translations/gu.umd.js +23 -0
  163. package/dist/translations/he.d.ts +8 -0
  164. package/dist/translations/he.js +23 -0
  165. package/dist/translations/he.umd.js +23 -0
  166. package/dist/translations/hi.d.ts +8 -0
  167. package/dist/translations/hi.js +23 -0
  168. package/dist/translations/hi.umd.js +23 -0
  169. package/dist/translations/hr.d.ts +8 -0
  170. package/dist/translations/hr.js +23 -0
  171. package/dist/translations/hr.umd.js +23 -0
  172. package/dist/translations/hu.d.ts +8 -0
  173. package/dist/translations/hu.js +23 -0
  174. package/dist/translations/hu.umd.js +23 -0
  175. package/dist/translations/hy.d.ts +8 -0
  176. package/dist/translations/hy.js +23 -0
  177. package/dist/translations/hy.umd.js +23 -0
  178. package/dist/translations/id.d.ts +8 -0
  179. package/dist/translations/id.js +23 -0
  180. package/dist/translations/id.umd.js +23 -0
  181. package/dist/translations/it.d.ts +8 -0
  182. package/dist/translations/it.js +23 -0
  183. package/dist/translations/it.umd.js +23 -0
  184. package/dist/translations/ja.d.ts +8 -0
  185. package/dist/translations/ja.js +23 -0
  186. package/dist/translations/ja.umd.js +23 -0
  187. package/dist/translations/jv.d.ts +8 -0
  188. package/dist/translations/jv.js +23 -0
  189. package/dist/translations/jv.umd.js +23 -0
  190. package/dist/translations/kk.d.ts +8 -0
  191. package/dist/translations/kk.js +23 -0
  192. package/dist/translations/kk.umd.js +23 -0
  193. package/dist/translations/km.d.ts +8 -0
  194. package/dist/translations/km.js +23 -0
  195. package/dist/translations/km.umd.js +23 -0
  196. package/dist/translations/kn.d.ts +8 -0
  197. package/dist/translations/kn.js +23 -0
  198. package/dist/translations/kn.umd.js +23 -0
  199. package/dist/translations/ko.d.ts +8 -0
  200. package/dist/translations/ko.js +23 -0
  201. package/dist/translations/ko.umd.js +23 -0
  202. package/dist/translations/ku.d.ts +8 -0
  203. package/dist/translations/ku.js +23 -0
  204. package/dist/translations/ku.umd.js +23 -0
  205. package/dist/translations/lt.d.ts +8 -0
  206. package/dist/translations/lt.js +23 -0
  207. package/dist/translations/lt.umd.js +23 -0
  208. package/dist/translations/lv.d.ts +8 -0
  209. package/dist/translations/lv.js +23 -0
  210. package/dist/translations/lv.umd.js +23 -0
  211. package/dist/translations/ms.d.ts +8 -0
  212. package/dist/translations/ms.js +23 -0
  213. package/dist/translations/ms.umd.js +23 -0
  214. package/dist/translations/nb.d.ts +8 -0
  215. package/dist/translations/nb.js +23 -0
  216. package/dist/translations/nb.umd.js +23 -0
  217. package/dist/translations/ne.d.ts +8 -0
  218. package/dist/translations/ne.js +23 -0
  219. package/dist/translations/ne.umd.js +23 -0
  220. package/dist/translations/nl.d.ts +8 -0
  221. package/dist/translations/nl.js +23 -0
  222. package/dist/translations/nl.umd.js +23 -0
  223. package/dist/translations/no.d.ts +8 -0
  224. package/dist/translations/no.js +23 -0
  225. package/dist/translations/no.umd.js +23 -0
  226. package/dist/translations/oc.d.ts +8 -0
  227. package/dist/translations/oc.js +23 -0
  228. package/dist/translations/oc.umd.js +23 -0
  229. package/dist/translations/pl.d.ts +8 -0
  230. package/dist/translations/pl.js +23 -0
  231. package/dist/translations/pl.umd.js +23 -0
  232. package/dist/translations/pt-br.d.ts +8 -0
  233. package/dist/translations/pt-br.js +23 -0
  234. package/dist/translations/pt-br.umd.js +23 -0
  235. package/dist/translations/pt.d.ts +8 -0
  236. package/dist/translations/pt.js +23 -0
  237. package/dist/translations/pt.umd.js +23 -0
  238. package/dist/translations/ro.d.ts +8 -0
  239. package/dist/translations/ro.js +23 -0
  240. package/dist/translations/ro.umd.js +23 -0
  241. package/dist/translations/ru.d.ts +8 -0
  242. package/dist/translations/ru.js +23 -0
  243. package/dist/translations/ru.umd.js +23 -0
  244. package/dist/translations/si.d.ts +8 -0
  245. package/dist/translations/si.js +23 -0
  246. package/dist/translations/si.umd.js +23 -0
  247. package/dist/translations/sk.d.ts +8 -0
  248. package/dist/translations/sk.js +23 -0
  249. package/dist/translations/sk.umd.js +23 -0
  250. package/dist/translations/sl.d.ts +8 -0
  251. package/dist/translations/sl.js +23 -0
  252. package/dist/translations/sl.umd.js +23 -0
  253. package/dist/translations/sq.d.ts +8 -0
  254. package/dist/translations/sq.js +23 -0
  255. package/dist/translations/sq.umd.js +23 -0
  256. package/dist/translations/sr-latn.d.ts +8 -0
  257. package/dist/translations/sr-latn.js +23 -0
  258. package/dist/translations/sr-latn.umd.js +23 -0
  259. package/dist/translations/sr.d.ts +8 -0
  260. package/dist/translations/sr.js +23 -0
  261. package/dist/translations/sr.umd.js +23 -0
  262. package/dist/translations/sv.d.ts +8 -0
  263. package/dist/translations/sv.js +23 -0
  264. package/dist/translations/sv.umd.js +23 -0
  265. package/dist/translations/th.d.ts +8 -0
  266. package/dist/translations/th.js +23 -0
  267. package/dist/translations/th.umd.js +23 -0
  268. package/dist/translations/ti.d.ts +8 -0
  269. package/dist/translations/ti.js +23 -0
  270. package/dist/translations/ti.umd.js +23 -0
  271. package/dist/translations/tk.d.ts +8 -0
  272. package/dist/translations/tk.js +23 -0
  273. package/dist/translations/tk.umd.js +23 -0
  274. package/dist/translations/tr.d.ts +8 -0
  275. package/dist/translations/tr.js +23 -0
  276. package/dist/translations/tr.umd.js +23 -0
  277. package/dist/translations/tt.d.ts +8 -0
  278. package/dist/translations/tt.js +23 -0
  279. package/dist/translations/tt.umd.js +23 -0
  280. package/dist/translations/ug.d.ts +8 -0
  281. package/dist/translations/ug.js +23 -0
  282. package/dist/translations/ug.umd.js +23 -0
  283. package/dist/translations/uk.d.ts +8 -0
  284. package/dist/translations/uk.js +23 -0
  285. package/dist/translations/uk.umd.js +23 -0
  286. package/dist/translations/ur.d.ts +8 -0
  287. package/dist/translations/ur.js +23 -0
  288. package/dist/translations/ur.umd.js +23 -0
  289. package/dist/translations/uz.d.ts +8 -0
  290. package/dist/translations/uz.js +23 -0
  291. package/dist/translations/uz.umd.js +23 -0
  292. package/dist/translations/vi.d.ts +8 -0
  293. package/dist/translations/vi.js +23 -0
  294. package/dist/translations/vi.umd.js +23 -0
  295. package/dist/translations/zh-cn.d.ts +8 -0
  296. package/dist/translations/zh-cn.js +23 -0
  297. package/dist/translations/zh-cn.umd.js +23 -0
  298. package/dist/translations/zh.d.ts +8 -0
  299. package/dist/translations/zh.js +23 -0
  300. package/dist/translations/zh.umd.js +23 -0
  301. package/lang/contexts.json +27 -0
  302. package/lang/translations/af.po +112 -0
  303. package/lang/translations/ar.po +112 -0
  304. package/lang/translations/ast.po +112 -0
  305. package/lang/translations/az.po +112 -0
  306. package/lang/translations/be.po +112 -0
  307. package/lang/translations/bg.po +112 -0
  308. package/lang/translations/bn.po +112 -0
  309. package/lang/translations/bs.po +112 -0
  310. package/lang/translations/ca.po +112 -0
  311. package/lang/translations/cs.po +112 -0
  312. package/lang/translations/da.po +112 -0
  313. package/lang/translations/de-ch.po +112 -0
  314. package/lang/translations/de.po +112 -0
  315. package/lang/translations/el.po +112 -0
  316. package/lang/translations/en-au.po +112 -0
  317. package/lang/translations/en-gb.po +112 -0
  318. package/lang/translations/en.po +112 -0
  319. package/lang/translations/eo.po +112 -0
  320. package/lang/translations/es-co.po +112 -0
  321. package/lang/translations/es.po +112 -0
  322. package/lang/translations/et.po +112 -0
  323. package/lang/translations/eu.po +112 -0
  324. package/lang/translations/fa.po +112 -0
  325. package/lang/translations/fi.po +112 -0
  326. package/lang/translations/fr.po +112 -0
  327. package/lang/translations/gl.po +112 -0
  328. package/lang/translations/gu.po +112 -0
  329. package/lang/translations/he.po +112 -0
  330. package/lang/translations/hi.po +112 -0
  331. package/lang/translations/hr.po +112 -0
  332. package/lang/translations/hu.po +112 -0
  333. package/lang/translations/hy.po +112 -0
  334. package/lang/translations/id.po +112 -0
  335. package/lang/translations/it.po +112 -0
  336. package/lang/translations/ja.po +112 -0
  337. package/lang/translations/jv.po +112 -0
  338. package/lang/translations/kk.po +112 -0
  339. package/lang/translations/km.po +112 -0
  340. package/lang/translations/kn.po +112 -0
  341. package/lang/translations/ko.po +112 -0
  342. package/lang/translations/ku.po +112 -0
  343. package/lang/translations/lt.po +112 -0
  344. package/lang/translations/lv.po +112 -0
  345. package/lang/translations/ms.po +112 -0
  346. package/lang/translations/nb.po +112 -0
  347. package/lang/translations/ne.po +112 -0
  348. package/lang/translations/nl.po +112 -0
  349. package/lang/translations/no.po +112 -0
  350. package/lang/translations/oc.po +112 -0
  351. package/lang/translations/pl.po +112 -0
  352. package/lang/translations/pt-br.po +112 -0
  353. package/lang/translations/pt.po +112 -0
  354. package/lang/translations/ro.po +112 -0
  355. package/lang/translations/ru.po +112 -0
  356. package/lang/translations/si.po +112 -0
  357. package/lang/translations/sk.po +112 -0
  358. package/lang/translations/sl.po +112 -0
  359. package/lang/translations/sq.po +112 -0
  360. package/lang/translations/sr-latn.po +112 -0
  361. package/lang/translations/sr.po +112 -0
  362. package/lang/translations/sv.po +112 -0
  363. package/lang/translations/th.po +112 -0
  364. package/lang/translations/ti.po +112 -0
  365. package/lang/translations/tk.po +112 -0
  366. package/lang/translations/tr.po +112 -0
  367. package/lang/translations/tt.po +112 -0
  368. package/lang/translations/ug.po +112 -0
  369. package/lang/translations/uk.po +112 -0
  370. package/lang/translations/ur.po +112 -0
  371. package/lang/translations/uz.po +112 -0
  372. package/lang/translations/vi.po +112 -0
  373. package/lang/translations/zh-cn.po +112 -0
  374. package/lang/translations/zh.po +112 -0
  375. package/package.json +63 -4
  376. package/src/augmentation.d.ts +34 -0
  377. package/src/augmentation.js +23 -0
  378. package/src/commands/insertfootnotecommand.d.ts +20 -0
  379. package/src/commands/insertfootnotecommand.js +23 -0
  380. package/src/footnotes.d.ts +33 -0
  381. package/src/footnotes.js +23 -0
  382. package/src/footnotesclipboard.d.ts +38 -0
  383. package/src/footnotesclipboard.js +23 -0
  384. package/src/footnotesconfig.d.ts +30 -0
  385. package/src/footnotesconfig.js +23 -0
  386. package/src/footnotesediting.d.ts +47 -0
  387. package/src/footnotesediting.js +23 -0
  388. package/src/footnotesproperties/commands/footnotesstartcommand.d.ts +28 -0
  389. package/src/footnotesproperties/commands/footnotesstartcommand.js +23 -0
  390. package/src/footnotesproperties/commands/footnotesstylecommand.d.ts +29 -0
  391. package/src/footnotesproperties/commands/footnotesstylecommand.js +23 -0
  392. package/src/footnotesproperties/footnotespropertiesconfig.d.ts +53 -0
  393. package/src/footnotesproperties/footnotespropertiesconfig.js +23 -0
  394. package/src/footnotesproperties/footnotespropertiesediting.d.ts +36 -0
  395. package/src/footnotesproperties/footnotespropertiesediting.js +23 -0
  396. package/src/footnotesproperties/footnotespropertiesui.d.ts +41 -0
  397. package/src/footnotesproperties/footnotespropertiesui.js +23 -0
  398. package/src/footnotesproperties/ui/footnotesdefinitionspropertiesview.d.ts +15 -0
  399. package/src/footnotesproperties/ui/footnotesdefinitionspropertiesview.js +23 -0
  400. package/src/footnotesproperties.d.ts +32 -0
  401. package/src/footnotesproperties.js +23 -0
  402. package/src/footnotestracker.d.ts +102 -0
  403. package/src/footnotestracker.js +23 -0
  404. package/src/footnotesui.d.ts +31 -0
  405. package/src/footnotesui.js +23 -0
  406. package/src/index.d.ts +21 -0
  407. package/src/index.js +23 -0
  408. package/src/modelelementtracker.d.ts +60 -0
  409. package/src/modelelementtracker.js +23 -0
  410. package/theme/footnotes.css +143 -0
  411. package/theme/footnotesproperties.css +54 -0
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
+ /**
6
+ * @module footnotes/footnotesproperties
7
+ * @publicApi
8
+ */
9
+ import { Plugin } from 'ckeditor5/src/core.js';
10
+ import { FootnotesPropertiesEditing } from './footnotesproperties/footnotespropertiesediting.js';
11
+ import { FootnotesPropertiesUI } from './footnotesproperties/footnotespropertiesui.js';
12
+ /**
13
+ * The footnotes properties plugin.
14
+ */
15
+ export declare class FootnotesProperties extends Plugin {
16
+ /**
17
+ * @inheritDoc
18
+ */
19
+ static get pluginName(): "FootnotesProperties";
20
+ /**
21
+ * @inheritDoc
22
+ */
23
+ static get requires(): readonly [typeof FootnotesPropertiesEditing, typeof FootnotesPropertiesUI];
24
+ /**
25
+ * @inheritDoc
26
+ */
27
+ static get isOfficialPlugin(): true;
28
+ /**
29
+ * @inheritDoc
30
+ */
31
+ static get isPremiumPlugin(): true;
32
+ }
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ *
4
+ *
5
+ *
6
+ *
7
+ * +---------------------------------------------------------------------------------+
8
+ * | |
9
+ * | Hello stranger! |
10
+ * | |
11
+ * | |
12
+ * | What you're currently looking at is the source code of a legally protected, |
13
+ * | proprietary software. Any attempts to deobfuscate / disassemble this code |
14
+ * | are forbidden and will result in legal consequences. |
15
+ * | |
16
+ * | |
17
+ * +---------------------------------------------------------------------------------+
18
+ *
19
+ *
20
+ *
21
+ *
22
+ */
23
+ var _0x42cc61=_0x4027;function _0x4027(_0x53dae8,_0x3398ee){var _0x50b78d=_0x50b7();return _0x4027=function(_0x402731,_0x3f1728){_0x402731=_0x402731-0x79;var _0x599620=_0x50b78d[_0x402731];return _0x599620;},_0x4027(_0x53dae8,_0x3398ee);}(function(_0x1a834f,_0x30afc7){var _0x49f394=_0x4027,_0x17d87d=_0x1a834f();while(!![]){try{var _0x50e4df=-parseInt(_0x49f394(0x7f))/0x1*(-parseInt(_0x49f394(0x87))/0x2)+-parseInt(_0x49f394(0x81))/0x3*(-parseInt(_0x49f394(0x85))/0x4)+-parseInt(_0x49f394(0x7b))/0x5+parseInt(_0x49f394(0x7c))/0x6+parseInt(_0x49f394(0x82))/0x7+parseInt(_0x49f394(0x84))/0x8*(parseInt(_0x49f394(0x80))/0x9)+parseInt(_0x49f394(0x7d))/0xa*(-parseInt(_0x49f394(0x7a))/0xb);if(_0x50e4df===_0x30afc7)break;else _0x17d87d['push'](_0x17d87d['shift']());}catch(_0x1bea8b){_0x17d87d['push'](_0x17d87d['shift']());}}}(_0x50b7,0x2ac14));import{Plugin as _0x1eb1d4}from'ckeditor5/src/core.js';function _0x50b7(){var _0xbae19f=['6xbtAyF','1281385tfdIhu','FootnotesProperties','132560opNGVb','429868lIsepA','pluginName','306626qdsybY','isOfficialPlugin','isPremiumPlugin','2439206QWORZi','796450sjqfGR','1670802PNWLJQ','30iBuqbp','requires','2jEjzon','9cmAtxf'];_0x50b7=function(){return _0xbae19f;};return _0x50b7();}import{FootnotesPropertiesEditing as _0x23c881}from'./footnotesproperties/footnotespropertiesediting.js';import{FootnotesPropertiesUI as _0x3c67d0}from'./footnotesproperties/footnotespropertiesui.js';export class FootnotesProperties extends _0x1eb1d4{static get[_0x42cc61(0x86)](){var _0x11ce30=_0x42cc61;return _0x11ce30(0x83);}static get[_0x42cc61(0x7e)](){return[_0x23c881,_0x3c67d0];}static get[_0x42cc61(0x88)](){return!0x0;}static get[_0x42cc61(0x79)](){return!0x0;}}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
+ /**
6
+ * @module footnotes/footnotestracker
7
+ * @publicApi
8
+ */
9
+ import { Plugin, type Editor } from 'ckeditor5/src/core.js';
10
+ import type { ModelElement } from 'ckeditor5/src/engine.js';
11
+ /**
12
+ * The footnotes tracker. It keeps track of all footnotes in the editor.
13
+ *
14
+ * It is used by the {@link module:footnotes/footnotesediting~FootnotesEditing} to update the list of
15
+ * footnotes when they are added or removed.
16
+ */
17
+ export declare class FootnotesTracker extends Plugin {
18
+ /**
19
+ * @inheritDoc
20
+ */
21
+ static get pluginName(): "FootnotesTracker";
22
+ /**
23
+ * @inheritDoc
24
+ */
25
+ static get isOfficialPlugin(): true;
26
+ /**
27
+ * @inheritDoc
28
+ */
29
+ static get isPremiumPlugin(): true;
30
+ /**
31
+ * @inheritDoc
32
+ */
33
+ constructor(editor: Editor);
34
+ /**
35
+ * @inheritDoc
36
+ */
37
+ init(): void;
38
+ /**
39
+ * Returns the footnotes definitions container element.
40
+ *
41
+ * @returns The footnotes definitions container or `null` if it does not exist.
42
+ */
43
+ getFootnotesDefinitionsObjectElement(): ModelElement | null;
44
+ /**
45
+ * Returns the footnote with the given ID.
46
+ *
47
+ * @param footnoteId The ID of the footnote to find.
48
+ * @returns The footnote item or `null` if not found.
49
+ */
50
+ getFootnote(footnoteId: string): Footnote | null;
51
+ /**
52
+ * Returns all footnotes in the editor.
53
+ *
54
+ * @returns An array of footnote items.
55
+ */
56
+ getFootnotes(): Array<Footnote>;
57
+ /**
58
+ * Returns the registered footnote formatter.
59
+ *
60
+ * @returns The footnote formatter or `null` if not set.
61
+ */
62
+ getFootnotesFormatter(): FootnoteFormatterCallback | null;
63
+ /**
64
+ * Registers a custom footnote formatter.
65
+ *
66
+ * @param formatter The footnote formatter to register.
67
+ */
68
+ setFootnoteFormatter(formatter: FootnoteFormatterCallback): void;
69
+ }
70
+ /**
71
+ * Footnote item stored in the {@link module:footnotes/footnotestracker~FootnotesTracker}.
72
+ */
73
+ export type Footnote = {
74
+ id: string;
75
+ reference: ModelElement;
76
+ definition: ModelElement;
77
+ };
78
+ /**
79
+ * Parameters for formatting footnote list values.
80
+ */
81
+ export type FormatFootnoteListValueParams = {
82
+ /**
83
+ * The footnote being formatted.
84
+ */
85
+ footnote: Footnote;
86
+ /**
87
+ * The footnotes definitions container element.
88
+ */
89
+ container: ModelElement;
90
+ /**
91
+ * Number of digits needed for the highest footnote number.
92
+ */
93
+ digits: number;
94
+ /**
95
+ * The footnote number to format (1-based).
96
+ */
97
+ value: number;
98
+ };
99
+ /**
100
+ * Footnote formatter interface.
101
+ */
102
+ export type FootnoteFormatterCallback = (params: FormatFootnoteListValueParams) => string;
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ *
4
+ *
5
+ *
6
+ *
7
+ * +---------------------------------------------------------------------------------+
8
+ * | |
9
+ * | Hello stranger! |
10
+ * | |
11
+ * | |
12
+ * | What you're currently looking at is the source code of a legally protected, |
13
+ * | proprietary software. Any attempts to deobfuscate / disassemble this code |
14
+ * | are forbidden and will result in legal consequences. |
15
+ * | |
16
+ * | |
17
+ * +---------------------------------------------------------------------------------+
18
+ *
19
+ *
20
+ *
21
+ *
22
+ */
23
+ const _0x264e09=_0x54c2;(function(_0x583d51,_0x4cb8a4){const _0x23ea0d=_0x54c2,_0x245f65=_0x583d51();while(!![]){try{const _0x372840=parseInt(_0x23ea0d(0x187))/0x1+parseInt(_0x23ea0d(0x16e))/0x2+-parseInt(_0x23ea0d(0x16c))/0x3*(-parseInt(_0x23ea0d(0x162))/0x4)+-parseInt(_0x23ea0d(0x196))/0x5*(parseInt(_0x23ea0d(0x13d))/0x6)+-parseInt(_0x23ea0d(0x157))/0x7*(parseInt(_0x23ea0d(0x19e))/0x8)+parseInt(_0x23ea0d(0x13f))/0x9*(parseInt(_0x23ea0d(0x18e))/0xa)+-parseInt(_0x23ea0d(0x185))/0xb;if(_0x372840===_0x4cb8a4)break;else _0x245f65['push'](_0x245f65['shift']());}catch(_0x1291bb){_0x245f65['push'](_0x245f65['shift']());}}}(_0x5f34,0xa40a9));import{Plugin as _0x29462a}from'ckeditor5/src/core.js';function _0x5f34(){const _0x29d031=['footnotesDefinitions','_handleFootnoteReferencesChanges','_updateFootnotesCounters','move','_handleFootnotesDefinitionsObjectSync','10GKlxZx','length','reset','_ensureFootnotesDefinitionsContainerExists','enqueueChange','from','pluginName','after','321176wkzKYB','isOfficialPlugin','_handleRemoveFootnoteReferenceById','getFootnote','createRangeOn','2056908qkqYaE','_handleFootnotesDefinitionsObjectChanges','12002229YruRbw','definition','init','createElement','getFootnotes','parent','add','_footnoteRefsTracker','_footnotes','footnoteId','_updateFootnoteRefCounter','document','getFootnotesDefinitionsObjectElement','_footnoteDefsTracker','_insertEmptyFootnotesDefinitionsContainer','footnoteRef','before','has','unshift','getChildren','end','footnotes.multiBlock','splice','setAttribute','161hJAKFO','_footnoteDefsContainerTracker','footnoteInlineContent','indexOf','getFootnotesFormatter','getChanges','$graveyard','push','editor','setFootnoteFormatter','_footnoteFormatter','1823572rphjKU','footnoteCounter','listenTo','append','createPositionBefore','map','insert','differ','config','rootName','3BmuXEU','findIndex','1660868CpIIJV','root','some','min','paragraph','remove','isPremiumPlugin','getRootNames','getAttribute','find','childCount','_footnotesDefinitions','get','_sortFootnoteDefinitions','low','FootnotesTracker','_handleMovedFootnoteReference','_handleFootnoteDefinitionsChanges','isEqual','registerPostFixer','change:data','_ensureFootnotesReferencesHaveProperOrder','createRangeIn','17521878BLRGXu','model','1253920GMscTh','high','createPositionAt','set','compareWith','footnoteDefinition','_handleInsertedFootnoteReference','10ZFZvNR','reference','singleton'];_0x5f34=function(){return _0x29d031;};return _0x5f34();}import{ModelElementTracker as _0x9b9285}from'./modelelementtracker.js';export class FootnotesTracker extends _0x29462a{[_0x264e09(0x147)]=[];[_0x264e09(0x179)]=null;[_0x264e09(0x161)]=null;[_0x264e09(0x158)];[_0x264e09(0x146)];[_0x264e09(0x14c)];static get[_0x264e09(0x19c)](){const _0x3fab5a=_0x264e09;return _0x3fab5a(0x17d);}static get[_0x264e09(0x19f)](){return!0x0;}static get[_0x264e09(0x174)](){return!0x0;}constructor(_0x42a23b){const _0x15d6f1=_0x264e09;super(_0x42a23b),this[_0x15d6f1(0x158)]=new _0x9b9285(this[_0x15d6f1(0x15f)][_0x15d6f1(0x186)],{'elementName':_0x15d6f1(0x191),'getElementKey':()=>_0x15d6f1(0x190)}),this[_0x15d6f1(0x146)]=new _0x9b9285(this[_0x15d6f1(0x15f)][_0x15d6f1(0x186)],{'elementName':_0x15d6f1(0x14e),'getElementKey':_0x2c576e=>_0x2c576e[_0x15d6f1(0x176)](_0x15d6f1(0x148))}),this[_0x15d6f1(0x14c)]=new _0x9b9285(this[_0x15d6f1(0x15f)][_0x15d6f1(0x186)],{'elementName':_0x15d6f1(0x18c),'getElementKey':_0x48980f=>_0x48980f[_0x15d6f1(0x176)](_0x15d6f1(0x148))});}[_0x264e09(0x141)](){const _0x2722bc=_0x264e09,{editor:_0x5cb12b}=this,{model:_0xb7de37,data:_0x225372}=_0x5cb12b;_0xb7de37[_0x2722bc(0x14a)][_0x2722bc(0x181)](_0x9cc25f=>{const _0x5429a5=_0x2722bc,_0x357545=_0xb7de37[_0x5429a5(0x14a)][_0x5429a5(0x169)][_0x5429a5(0x15c)]();let _0x2814a3=!0x1;return this[_0x5429a5(0x13e)](_0x9cc25f,_0x357545)&&(_0x2814a3=!0x0),this[_0x5429a5(0x17f)](_0x9cc25f,_0x357545)&&(_0x2814a3=!0x0),this[_0x5429a5(0x192)](_0x9cc25f,_0x357545)&&(_0x2814a3=!0x0),this[_0x5429a5(0x183)](_0x9cc25f)&&(_0x2814a3=!0x0),this[_0x5429a5(0x195)](_0x9cc25f)&&(_0x2814a3=!0x0),this[_0x5429a5(0x17b)](_0x9cc25f)&&(_0x2814a3=!0x0),_0x2814a3;}),this[_0x2722bc(0x164)](_0xb7de37[_0x2722bc(0x14a)],_0x2722bc(0x182),()=>{const _0x3dfc25=_0x2722bc;_0xb7de37[_0x3dfc25(0x19a)]({'isUndoable':!0x1},_0x480f46=>{const _0x24562b=_0x3dfc25;this[_0x24562b(0x199)](_0x480f46);});},{'priority':_0x2722bc(0x17c)}),this[_0x2722bc(0x164)](_0x225372,_0x2722bc(0x18a),()=>{const _0x519705=_0x2722bc;this[_0x519705(0x147)]=[],this[_0x519705(0x158)][_0x519705(0x198)](),this[_0x519705(0x146)][_0x519705(0x198)](),this[_0x519705(0x14c)][_0x519705(0x198)]();},{'priority':_0x2722bc(0x188)});}[_0x264e09(0x14b)](){const _0x700feb=_0x264e09;return this[_0x700feb(0x179)];}[_0x264e09(0x1a1)](_0x53a943){const _0x2d6743=_0x264e09;return this[_0x2d6743(0x147)][_0x2d6743(0x177)](_0x1cdb01=>_0x1cdb01['id']===_0x53a943)||null;}[_0x264e09(0x143)](){const _0x42bd58=_0x264e09;return Array[_0x42bd58(0x19b)](this[_0x42bd58(0x147)]);}[_0x264e09(0x15b)](){const _0x46cb37=_0x264e09;return this[_0x46cb37(0x161)];}[_0x264e09(0x160)](_0x5e54bd){const _0x5f42a3=_0x264e09;this[_0x5f42a3(0x161)]=_0x5e54bd;}[_0x264e09(0x193)](_0x490e23,_0x3f862f=0x0){const _0x114e3a=_0x264e09;let _0xdaad2f=!0x1;for(let _0x589fb0=_0x3f862f;_0x589fb0<this[_0x114e3a(0x147)][_0x114e3a(0x197)];_0x589fb0++)this[_0x114e3a(0x149)](_0x490e23,_0x589fb0)&&(_0xdaad2f=!0x0);return _0xdaad2f;}[_0x264e09(0x14d)](_0x435b38,_0x7ced49){const _0x7bc0d1=_0x264e09,_0x29529f=_0x435b38[_0x7bc0d1(0x142)](_0x7bc0d1(0x191),{});return _0x435b38[_0x7bc0d1(0x165)](_0x29529f,_0x7ced49),this[_0x7bc0d1(0x179)]=_0x29529f,_0x29529f;}[_0x264e09(0x199)](_0x5963db){const _0x276322=_0x264e09;if(!this[_0x276322(0x147)][_0x276322(0x197)]||this[_0x276322(0x179)])return;const _0x4699ee=this[_0x276322(0x147)][0x0][_0x276322(0x18f)][_0x276322(0x16f)],_0x468914=this[_0x276322(0x14d)](_0x5963db,_0x4699ee);for(const _0x3ac4db of this[_0x276322(0x147)])_0x3ac4db[_0x276322(0x140)][_0x276322(0x144)]||_0x5963db[_0x276322(0x168)](_0x3ac4db[_0x276322(0x140)],_0x468914,_0x276322(0x153));this[_0x276322(0x193)](_0x5963db);}[_0x264e09(0x13e)](_0x3d3137,_0x41ad52){const _0x2dca7b=_0x264e09;let _0x35295b=!0x1;const {inserted:_0x287edc,removed:_0xce9748,moved:_0x4a4d5d}=this[_0x2dca7b(0x158)][_0x2dca7b(0x15c)](_0x41ad52);if(_0x4a4d5d[_0x2dca7b(0x197)]&&(this[_0x2dca7b(0x179)]=_0x4a4d5d[0x0]),_0x287edc[_0x2dca7b(0x197)]){if(_0x287edc[_0x2dca7b(0x197)]>0x1||this[_0x2dca7b(0x179)]&&_0x287edc[_0x2dca7b(0x170)](_0x539c4c=>_0x539c4c!==this[_0x2dca7b(0x179)])){const _0x6f7dd3=_0x3d3137[_0x2dca7b(0x142)](_0x2dca7b(0x191),{}),_0x190994=[];this[_0x2dca7b(0x179)]&&_0x190994[_0x2dca7b(0x15e)](this[_0x2dca7b(0x179)]),_0x190994[_0x2dca7b(0x15e)](..._0x287edc),_0x3d3137[_0x2dca7b(0x168)](_0x6f7dd3,_0x190994[0x0],_0x2dca7b(0x14f));for(const _0x1809a1 of _0x190994)_0x3d3137[_0x2dca7b(0x194)](_0x3d3137[_0x2dca7b(0x184)](_0x1809a1),_0x3d3137[_0x2dca7b(0x189)](_0x6f7dd3,_0x2dca7b(0x153))),_0x3d3137[_0x2dca7b(0x173)](_0x1809a1);this[_0x2dca7b(0x179)]=_0x6f7dd3,this[_0x2dca7b(0x193)](_0x3d3137),_0x35295b=!0x0;}else this[_0x2dca7b(0x179)]=_0x287edc[0x0];}if(_0xce9748[_0x2dca7b(0x197)]&&_0x2dca7b(0x15d)===this[_0x2dca7b(0x179)]?.[_0x2dca7b(0x16f)][_0x2dca7b(0x16b)]){for(const _0x1336af of this[_0x2dca7b(0x147)])_0x3d3137[_0x2dca7b(0x173)](_0x1336af[_0x2dca7b(0x18f)]),_0x35295b=!0x0;this[_0x2dca7b(0x147)]=[],this[_0x2dca7b(0x179)]=null;}return _0x35295b;}[_0x264e09(0x17f)](_0x2eeafa,_0x70c608){const _0x4441aa=_0x264e09;let _0xb65b5b=!0x1;const _0x50ae33=this[_0x4441aa(0x15f)][_0x4441aa(0x16a)][_0x4441aa(0x17a)](_0x4441aa(0x154)),{inserted:_0x2129d2,moved:_0x59b77c}=this[_0x4441aa(0x14c)][_0x4441aa(0x15c)](_0x70c608);for(const _0x4642fc of[..._0x59b77c,..._0x2129d2]){const _0x412e10=_0x4642fc[_0x4441aa(0x176)](_0x4441aa(0x148)),_0x1b6866=this[_0x4441aa(0x1a1)](_0x412e10);_0x1b6866&&(_0x1b6866[_0x4441aa(0x140)]=_0x4642fc),_(_0x2eeafa,_0x50ae33,_0x4642fc)&&(_0xb65b5b=!0x0);}return _0xb65b5b;}[_0x264e09(0x192)](_0x53791d,_0x1a6a07){const _0x100fd5=_0x264e09;let _0x340483=!0x1;const {removed:_0x410aa6,inserted:_0x3ca1c0,moved:_0x20d429}=this[_0x100fd5(0x146)][_0x100fd5(0x15c)](_0x1a6a07);for(const _0x34caff of _0x410aa6)this[_0x100fd5(0x1a0)](_0x53791d,_0x34caff)&&(_0x340483=!0x0);for(const _0x3a7981 of _0x3ca1c0)this[_0x100fd5(0x18d)](_0x53791d,_0x3a7981)&&(_0x340483=!0x0);for(const _0x2780bf of _0x20d429)this[_0x100fd5(0x17e)](_0x53791d,_0x2780bf)&&(_0x340483=!0x0);return _0x340483;}[_0x264e09(0x195)](_0x51f693){const _0x2d560a=_0x264e09;if(!this[_0x2d560a(0x179)])return!0x1;let _0x4890fa=!0x1;if(this[_0x2d560a(0x179)][_0x2d560a(0x178)]!==this[_0x2d560a(0x147)][_0x2d560a(0x197)]){const _0x16d377=[];for(const _0x37b8a7 of this[_0x2d560a(0x179)][_0x2d560a(0x152)]()){const _0x28bd15=_0x37b8a7[_0x2d560a(0x176)](_0x2d560a(0x148));this[_0x2d560a(0x1a1)](_0x28bd15)||(_0x16d377[_0x2d560a(0x151)](_0x37b8a7),_0x4890fa=!0x0);}for(const _0x2181ae of _0x16d377)_0x51f693[_0x2d560a(0x173)](_0x2181ae);}const _0x4c5852=new Set(),_0x40dc13=[];for(const _0x575b1a of this[_0x2d560a(0x179)][_0x2d560a(0x152)]()){const _0x9983ba=_0x575b1a[_0x2d560a(0x176)](_0x2d560a(0x148));_0x4c5852[_0x2d560a(0x150)](_0x9983ba)?(_0x40dc13[_0x2d560a(0x151)](_0x575b1a),_0x4890fa=!0x0):_0x4c5852[_0x2d560a(0x145)](_0x9983ba);}for(const _0x8d139a of _0x40dc13)_0x51f693[_0x2d560a(0x173)](_0x8d139a);return this[_0x2d560a(0x179)][_0x2d560a(0x178)]||(_0x51f693[_0x2d560a(0x173)](this[_0x2d560a(0x179)]),this[_0x2d560a(0x179)]=null,_0x4890fa=!0x0),_0x4890fa;}[_0x264e09(0x18d)](_0xa55583,_0x54fe37){const _0x39c3e1=_0x264e09;if(this[_0x39c3e1(0x147)][_0x39c3e1(0x177)](_0x581b9c=>_0x581b9c[_0x39c3e1(0x18f)]===_0x54fe37))return!0x1;let _0x184605=!0x1;const _0x42ac25=_0x54fe37[_0x39c3e1(0x176)](_0x39c3e1(0x148)),_0xc12529=this[_0x39c3e1(0x147)][_0x39c3e1(0x16d)](_0x394979=>_0x394979['id']===_0x42ac25);-0x1!==_0xc12529&&(_0xa55583[_0x39c3e1(0x173)](this[_0x39c3e1(0x147)][_0xc12529][_0x39c3e1(0x18f)]),this[_0x39c3e1(0x147)][_0x39c3e1(0x155)](_0xc12529,0x1),_0x184605=!0x0);let _0x1406bf=this[_0x39c3e1(0x179)]?function(_0x1c04de,_0x1d9095){const _0x2294ef=_0x39c3e1;for(const _0x5172c1 of _0x1c04de[_0x2294ef(0x152)]())if(_0x5172c1[_0x2294ef(0x176)](_0x2294ef(0x148))===_0x1d9095)return _0x5172c1;return null;}(this[_0x39c3e1(0x179)],_0x42ac25):null;_0x1406bf||(_0x1406bf=_0xa55583[_0x39c3e1(0x142)](_0x39c3e1(0x18c),{'footnoteId':_0x42ac25}),this[_0x39c3e1(0x179)]&&(_0xa55583[_0x39c3e1(0x168)](_0x1406bf,this[_0x39c3e1(0x179)],_0x39c3e1(0x153)),_0x184605=!0x0));const _0x59fba0={'id':_0x42ac25,'reference':_0x54fe37,'definition':_0x1406bf},_0x555390=I(this[_0x39c3e1(0x15f)][_0x39c3e1(0x186)],this[_0x39c3e1(0x147)],_0x54fe37);this[_0x39c3e1(0x147)][_0x39c3e1(0x155)](_0x555390,0x0,_0x59fba0);let _0x41782c=_0x555390;return-0x1!==_0xc12529&&(_0x41782c=Math[_0x39c3e1(0x171)](_0x555390,_0xc12529)),this[_0x39c3e1(0x193)](_0xa55583,_0x41782c)&&(_0x184605=!0x0),_0x184605;}[_0x264e09(0x1a0)](_0x5d92dc,_0x81ca94){const _0x28265a=_0x264e09,_0x4c2491=this[_0x28265a(0x147)][_0x28265a(0x16d)](_0x2146c2=>_0x2146c2['id']===_0x81ca94);if(-0x1===_0x4c2491)return!0x1;let _0x48a559=!0x1;const _0x2cb88e=this[_0x28265a(0x147)][_0x4c2491];return _0x28265a(0x15d)!==_0x2cb88e[_0x28265a(0x140)][_0x28265a(0x16f)][_0x28265a(0x16b)]&&(_0x5d92dc[_0x28265a(0x173)](_0x2cb88e[_0x28265a(0x140)]),_0x48a559=!0x0),this[_0x28265a(0x147)][_0x28265a(0x155)](_0x4c2491,0x1),this[_0x28265a(0x193)](_0x5d92dc,_0x4c2491)&&(_0x48a559=!0x0),_0x48a559;}[_0x264e09(0x17e)](_0x5ea9a0,_0x5a4085){const _0x28d3ca=_0x264e09,_0x1ae6d6=_0x5a4085[_0x28d3ca(0x176)](_0x28d3ca(0x148)),_0x45f295=this[_0x28d3ca(0x147)][_0x28d3ca(0x16d)](_0xc585a8=>_0xc585a8['id']===_0x1ae6d6),_0x51c5f6=this[_0x28d3ca(0x147)][_0x45f295];let _0x218188=!0x1;_0x51c5f6[_0x28d3ca(0x18f)]=_0x5a4085,this[_0x28d3ca(0x147)][_0x28d3ca(0x155)](_0x45f295,0x1);const _0x4232fd=I(this[_0x28d3ca(0x15f)][_0x28d3ca(0x186)],this[_0x28d3ca(0x147)],_0x5a4085);return this[_0x28d3ca(0x147)][_0x28d3ca(0x155)](_0x4232fd,0x0,_0x51c5f6),this[_0x28d3ca(0x193)](_0x5ea9a0,Math[_0x28d3ca(0x171)](_0x45f295,_0x4232fd))&&(_0x218188=!0x0),_0x218188;}[_0x264e09(0x149)](_0x33b0d5,_0x5d06a8){const _0x3cd1d5=_0x264e09;if(!this[_0x3cd1d5(0x179)])return!0x1;const _0x3df80d=this[_0x3cd1d5(0x147)][_0x5d06a8];let _0x6c1311;return _0x6c1311=this[_0x3cd1d5(0x161)]?this[_0x3cd1d5(0x161)]({'footnote':_0x3df80d,'container':this[_0x3cd1d5(0x179)],'digits':String(this[_0x3cd1d5(0x147)][_0x3cd1d5(0x197)])[_0x3cd1d5(0x197)],'value':_0x5d06a8+0x1}):String(_0x5d06a8+0x1),_0x3df80d[_0x3cd1d5(0x18f)][_0x3cd1d5(0x176)](_0x3cd1d5(0x163))!=_0x6c1311&&(_0x33b0d5[_0x3cd1d5(0x156)](_0x3cd1d5(0x163),_0x6c1311,_0x3df80d[_0x3cd1d5(0x18f)]),!0x0);}[_0x264e09(0x17b)](_0x51afe6){const _0x1ad807=_0x264e09;if(!this[_0x1ad807(0x179)]||this[_0x1ad807(0x147)][_0x1ad807(0x197)]<0x2)return!0x1;if(function(_0x2f211b,_0x5b6066){const _0x51f82e=_0x1ad807;if(_0x2f211b[_0x51f82e(0x197)]!==_0x5b6066[_0x51f82e(0x197)])return!0x1;for(let _0x14a3b1=0x0;_0x14a3b1<_0x2f211b[_0x51f82e(0x197)];_0x14a3b1++)if(_0x2f211b[_0x14a3b1]!==_0x5b6066[_0x14a3b1])return!0x1;return!0x0;}(this[_0x1ad807(0x147)][_0x1ad807(0x167)](_0x20cd96=>_0x20cd96['id']),Array[_0x1ad807(0x19b)](this[_0x1ad807(0x179)][_0x1ad807(0x152)]())[_0x1ad807(0x167)](_0x2c6ebb=>_0x2c6ebb[_0x1ad807(0x176)](_0x1ad807(0x148)))))return!0x1;let _0x38ae9b=!0x1;for(let _0x50cf13=0x0;_0x50cf13<this[_0x1ad807(0x147)][_0x1ad807(0x197)];_0x50cf13++){const _0x3da9fd=this[_0x1ad807(0x147)][_0x50cf13],_0x32c14c=_0x51afe6[_0x1ad807(0x166)](_0x3da9fd[_0x1ad807(0x140)]),_0x2057a8=_0x51afe6[_0x1ad807(0x189)](this[_0x1ad807(0x179)],_0x50cf13);_0x32c14c[_0x1ad807(0x180)](_0x2057a8)||(_0x51afe6[_0x1ad807(0x194)](_0x51afe6[_0x1ad807(0x1a2)](_0x3da9fd[_0x1ad807(0x140)]),_0x2057a8),_0x38ae9b=!0x0);}return _0x38ae9b;}[_0x264e09(0x183)](_0x387ca6){const _0x116ba2=_0x264e09;if(!this[_0x116ba2(0x147)][_0x116ba2(0x197)])return!0x1;const {model:_0x1c869b}=this[_0x116ba2(0x15f)];let _0x4542f7=!0x1;for(let _0x368231=0x0;_0x368231<this[_0x116ba2(0x147)][_0x116ba2(0x197)]-0x1;_0x368231++){const _0x4cf80f=this[_0x116ba2(0x147)][_0x368231],_0x29edff=this[_0x116ba2(0x147)][_0x368231+0x1],_0x487441=_0x1c869b[_0x116ba2(0x166)](_0x4cf80f[_0x116ba2(0x18f)]),_0x364dda=_0x1c869b[_0x116ba2(0x166)](_0x29edff[_0x116ba2(0x18f)]);_0x116ba2(0x19d)===_0x487441[_0x116ba2(0x18b)](_0x364dda)&&(this[_0x116ba2(0x17e)](_0x387ca6,_0x4cf80f[_0x116ba2(0x18f)]),_0x368231=-0x1,_0x4542f7=!0x0);}return _0x4542f7;}}function _(_0x22844f,_0x2f2a83,_0x170f72){const _0x23f4c5=_0x264e09;if(_0x170f72[_0x23f4c5(0x178)])return!0x1;const _0x5ac7e0=_0x2f2a83?_0x23f4c5(0x172):_0x23f4c5(0x159);return _0x22844f[_0x23f4c5(0x168)](_0x22844f[_0x23f4c5(0x142)](_0x5ac7e0),_0x170f72),!0x0;}function _0x54c2(_0x189b6f,_0x5f2d16){const _0x5f3401=_0x5f34();return _0x54c2=function(_0x54c250,_0x4836be){_0x54c250=_0x54c250-0x13d;let _0x40c01e=_0x5f3401[_0x54c250];return _0x40c01e;},_0x54c2(_0x189b6f,_0x5f2d16);}function I(_0x538f68,_0xb348ac,_0xefdcac){const _0x27fc2f=_0x264e09;if(0x0===_0xb348ac[_0x27fc2f(0x197)])return 0x0;const _0x52fc85=_0x538f68[_0x27fc2f(0x166)](_0xefdcac);for(let _0x1a3198=0x0;_0x1a3198<_0xb348ac[_0x27fc2f(0x197)];_0x1a3198++){const _0xde41ed=_0xb348ac[_0x1a3198],_0x4a134a=_0x538f68[_0x27fc2f(0x166)](_0xde41ed[_0x27fc2f(0x18f)]);if(_0x27fc2f(0x14f)===_0x52fc85[_0x27fc2f(0x18b)](_0x4a134a))return _0x1a3198;}const _0x6cb1a3=_0xefdcac[_0x27fc2f(0x16f)];let _0x580035=-0x1;for(let _0x226fe8=_0xb348ac[_0x27fc2f(0x197)]-0x1;_0x226fe8>=0x0;_0x226fe8--)if(_0xb348ac[_0x226fe8][_0x27fc2f(0x18f)][_0x27fc2f(0x16f)]===_0x6cb1a3){_0x580035=_0x226fe8;break;}if(-0x1!==_0x580035)return _0x580035+0x1;const _0x2c3ea4=_0x538f68[_0x27fc2f(0x14a)][_0x27fc2f(0x175)](),_0x214518=_0x2c3ea4[_0x27fc2f(0x15a)](_0x6cb1a3[_0x27fc2f(0x16b)]),_0x5c515e=_0x2c3ea4[_0x214518+0x1];if(_0x5c515e){for(let _0x42b358=0x0;_0x42b358<_0xb348ac[_0x27fc2f(0x197)];_0x42b358++)if(_0xb348ac[_0x42b358][_0x27fc2f(0x18f)][_0x27fc2f(0x16f)][_0x27fc2f(0x16b)]===_0x5c515e)return _0x42b358;}return _0xb348ac[_0x27fc2f(0x197)];}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
+ import { Plugin } from 'ckeditor5/src/core.js';
6
+ import '../theme/footnotes.css';
7
+ /**
8
+ * The footnotes UI plugin.
9
+ */
10
+ export declare class FootnotesUI extends Plugin {
11
+ /**
12
+ * @inheritDoc
13
+ */
14
+ static get pluginName(): "FootnotesUI";
15
+ /**
16
+ * @inheritDoc
17
+ */
18
+ static get isOfficialPlugin(): true;
19
+ /**
20
+ * @inheritDoc
21
+ */
22
+ static get isPremiumPlugin(): true;
23
+ /**
24
+ * @inheritDoc
25
+ */
26
+ init(): void;
27
+ /**
28
+ * @inheritDoc
29
+ */
30
+ destroy(): void;
31
+ }
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ *
4
+ *
5
+ *
6
+ *
7
+ * +---------------------------------------------------------------------------------+
8
+ * | |
9
+ * | Hello stranger! |
10
+ * | |
11
+ * | |
12
+ * | What you're currently looking at is the source code of a legally protected, |
13
+ * | proprietary software. Any attempts to deobfuscate / disassemble this code |
14
+ * | are forbidden and will result in legal consequences. |
15
+ * | |
16
+ * | |
17
+ * +---------------------------------------------------------------------------------+
18
+ *
19
+ *
20
+ *
21
+ *
22
+ */
23
+ import{ButtonView as _0x178fcb,MenuBarMenuListItemButtonView as _0x485406}from'ckeditor5/src/ui.js';import{Plugin as _0x1ff98b}from'ckeditor5/src/core.js';import{IconFootnote as _0x2f93a8}from'ckeditor5/src/icons.js';import'../theme/footnotes.css';export class FootnotesUI extends _0x1ff98b{['licenseKey'];['_licenseKeyCheckInterval'];static get['pluginName'](){return'FootnotesUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const {editor:_0x4d49e8}=this,{componentFactory:_0x5d0dd5}=_0x4d49e8['ui'];_0x5d0dd5['add']('insertFootnote',x(_0x4d49e8,_0x178fcb)),_0x5d0dd5['add']('menuBar:insertFootnote',x(_0x4d49e8,_0x485406)),this['licenseKey']=this['editor']['config']['get']('licenseKey');const _0x237c7e=this['editor'];this['_licenseKeyCheckInterval']=setInterval(()=>{let _0x291c39;for(const _0x4b4c72 in _0x237c7e){const _0x36e478=_0x4b4c72,_0x5bbce2=_0x237c7e[_0x36e478];if('footnotesLicenseKeyValid'==_0x5bbce2||'footnotesLicenseKeyInvalid'==_0x5bbce2||'footnotesLicenseKeyExpired'==_0x5bbce2||'footnotesLicenseKeyDomainLimit'==_0x5bbce2||'footnotesLicenseKeyNotAllowed'==_0x5bbce2||'footnotesLicenseKeyEvaluationLimit'==_0x5bbce2||'footnotesLicenseKeyTrialLimit'==_0x5bbce2||'footnotesLicenseKeyUsageLimit'==_0x5bbce2){delete _0x237c7e[_0x36e478],_0x291c39=_0x5bbce2,clearInterval(this['_licenseKeyCheckInterval']),this['_licenseKeyCheckInterval']=void 0x0;break;}}'footnotesLicenseKeyInvalid'==_0x291c39&&_0x237c7e['_showLicenseError']('invalid'),'footnotesLicenseKeyExpired'==_0x291c39&&_0x237c7e['_showLicenseError']('expired'),'footnotesLicenseKeyDomainLimit'==_0x291c39&&_0x237c7e['_showLicenseError']('domainLimit'),'footnotesLicenseKeyNotAllowed'==_0x291c39&&_0x237c7e['_showLicenseError']('featureNotAllowed','Footnotes'),'footnotesLicenseKeyEvaluationLimit'==_0x291c39&&_0x237c7e['_showLicenseError']('evaluationLimit'),'footnotesLicenseKeyTrialLimit'==_0x291c39&&_0x237c7e['_showLicenseError']('trialLimit'),'footnotesLicenseKeyUsageLimit'==_0x291c39&&_0x237c7e['_showLicenseError']('usageLimit');},0x3e8);}['destroy'](){super['destroy'](),this['_licenseKeyCheckInterval']&&clearInterval(this['_licenseKeyCheckInterval']);}}function x(_0x3df21b,_0x3b0bd9){const _0x6ee07a=_0x3df21b['commands']['get']('insertFootnote');return _0x1fc140=>{const {t:t}=_0x1fc140,_0x2e6e3f=new _0x3b0bd9(_0x1fc140),_0x554b2c=_0x2e6e3f instanceof _0x485406;return _0x2e6e3f['bind']('isEnabled')['to'](_0x6ee07a,'isEnabled'),_0x2e6e3f['set']({'label':t(_0x554b2c?'Footnote':'Insert\x20footnote'),'icon':_0x2f93a8,'tooltip':!0x0}),_0x2e6e3f['on']('execute',()=>{_0x6ee07a['execute'](),_0x3df21b['editing']['view']['focus']();}),_0x2e6e3f;};}
package/src/index.d.ts ADDED
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
+ /**
6
+ * @module footnotes
7
+ */
8
+ import './augmentation.js';
9
+ export { Footnotes } from './footnotes.js';
10
+ export { FootnotesEditing } from './footnotesediting.js';
11
+ export { FootnotesClipboard } from './footnotesclipboard.js';
12
+ export { FootnotesUI } from './footnotesui.js';
13
+ export { InsertFootnoteCommand } from './commands/insertfootnotecommand.js';
14
+ export { FootnotesTracker, type Footnote, type FootnoteFormatterCallback, type FormatFootnoteListValueParams } from './footnotestracker.js';
15
+ export type { FootnotesConfig } from './footnotesconfig.js';
16
+ export { FootnotesStyleCommand } from './footnotesproperties/commands/footnotesstylecommand.js';
17
+ export { FootnotesStartCommand } from './footnotesproperties/commands/footnotesstartcommand.js';
18
+ export { FootnotesPropertiesEditing } from './footnotesproperties/footnotespropertiesediting.js';
19
+ export { FootnotesPropertiesUI } from './footnotesproperties/footnotespropertiesui.js';
20
+ export { FootnotesProperties } from './footnotesproperties.js';
21
+ export type { FootnotesDefinitionsStyle, FootnotesPropertiesConfig } from './footnotesproperties/footnotespropertiesconfig.js';
package/src/index.js ADDED
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ *
4
+ *
5
+ *
6
+ *
7
+ * +---------------------------------------------------------------------------------+
8
+ * | |
9
+ * | Hello stranger! |
10
+ * | |
11
+ * | |
12
+ * | What you're currently looking at is the source code of a legally protected, |
13
+ * | proprietary software. Any attempts to deobfuscate / disassemble this code |
14
+ * | are forbidden and will result in legal consequences. |
15
+ * | |
16
+ * | |
17
+ * +---------------------------------------------------------------------------------+
18
+ *
19
+ *
20
+ *
21
+ *
22
+ */
23
+ function _0x40b7(){var _0x4d7f43=['30908Bahtru','4821492owaWzV','140hLVpDg','1873208MxcSmk','18wfiGGV','49iQrldE','44256FJKxoQ','3GJpGcr','3856130Gowfku','4EDJWmF','251277pgKSYk','923604BoQweU'];_0x40b7=function(){return _0x4d7f43;};return _0x40b7();}(function(_0x242c1f,_0x3d1c0c){var _0x4f7d0b=_0x7557,_0x147c5e=_0x242c1f();while(!![]){try{var _0x2c7885=parseInt(_0x4f7d0b(0x91))/0x1+parseInt(_0x4f7d0b(0x93))/0x2*(-parseInt(_0x4f7d0b(0x9a))/0x3)+-parseInt(_0x4f7d0b(0x90))/0x4*(parseInt(_0x4f7d0b(0x9b))/0x5)+-parseInt(_0x4f7d0b(0x99))/0x6*(parseInt(_0x4f7d0b(0x98))/0x7)+parseInt(_0x4f7d0b(0x96))/0x8*(parseInt(_0x4f7d0b(0x97))/0x9)+-parseInt(_0x4f7d0b(0x95))/0xa*(-parseInt(_0x4f7d0b(0x92))/0xb)+-parseInt(_0x4f7d0b(0x94))/0xc;if(_0x2c7885===_0x3d1c0c)break;else _0x147c5e['push'](_0x147c5e['shift']());}catch(_0x5adcd4){_0x147c5e['push'](_0x147c5e['shift']());}}}(_0x40b7,0x9fe7c));import'./augmentation.js';export{Footnotes}from'./footnotes.js';function _0x7557(_0x11e995,_0x63b84f){var _0x40b7f3=_0x40b7();return _0x7557=function(_0x7557dc,_0xf9bfff){_0x7557dc=_0x7557dc-0x90;var _0x2e6701=_0x40b7f3[_0x7557dc];return _0x2e6701;},_0x7557(_0x11e995,_0x63b84f);}export{FootnotesEditing}from'./footnotesediting.js';export{FootnotesClipboard}from'./footnotesclipboard.js';export{FootnotesUI}from'./footnotesui.js';export{InsertFootnoteCommand}from'./commands/insertfootnotecommand.js';export{FootnotesTracker}from'./footnotestracker.js';export{FootnotesStyleCommand}from'./footnotesproperties/commands/footnotesstylecommand.js';export{FootnotesStartCommand}from'./footnotesproperties/commands/footnotesstartcommand.js';export{FootnotesPropertiesEditing}from'./footnotesproperties/footnotespropertiesediting.js';export{FootnotesPropertiesUI}from'./footnotesproperties/footnotespropertiesui.js';export{FootnotesProperties}from'./footnotesproperties.js';
@@ -0,0 +1,60 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
+ /**
6
+ * @module footnotes/modelelementtracker
7
+ */
8
+ import type { ModelElement, Model, DifferItem } from 'ckeditor5/src/engine.js';
9
+ /**
10
+ * Tracks changes of specific elements in document changes.
11
+ */
12
+ export declare class ModelElementTracker {
13
+ /**
14
+ * @param model The editor model instance.
15
+ * @param config Configuration for tracking specific element type.
16
+ */
17
+ constructor(model: Model, config: TrackElementChangesConfig);
18
+ /**
19
+ * Resets the tracker, clearing all tracked elements.
20
+ */
21
+ reset(): void;
22
+ /**
23
+ * Analyzes document changes and returns the set of changes for the tracked element type.
24
+ *
25
+ * @param documentChanges Array of document changes to analyze.
26
+ * @returns Object containing removed, inserted, and moved elements.
27
+ */
28
+ getChanges(documentChanges: Array<DifferItem>): ElementChangesResult;
29
+ }
30
+ /**
31
+ * Configuration for tracking element changes.
32
+ */
33
+ type TrackElementChangesConfig = {
34
+ /**
35
+ * Name of the element to track (e.g., 'footnoteRef', 'footnotesDefinitions').
36
+ */
37
+ elementName: string;
38
+ /**
39
+ * Function to extract a unique key from the element for tracking purposes.
40
+ */
41
+ getElementKey: (element: ModelElement) => string;
42
+ };
43
+ /**
44
+ * Result of tracking element changes.
45
+ */
46
+ type ElementChangesResult = {
47
+ /**
48
+ * Set of removed element keys.
49
+ */
50
+ removed: Array<string>;
51
+ /**
52
+ * Map of inserted element keys to their elements.
53
+ */
54
+ inserted: Array<ModelElement>;
55
+ /**
56
+ * Set of moved elements (removed + inserted).
57
+ */
58
+ moved: Array<ModelElement>;
59
+ };
60
+ export {};
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ *
4
+ *
5
+ *
6
+ *
7
+ * +---------------------------------------------------------------------------------+
8
+ * | |
9
+ * | Hello stranger! |
10
+ * | |
11
+ * | |
12
+ * | What you're currently looking at is the source code of a legally protected, |
13
+ * | proprietary software. Any attempts to deobfuscate / disassemble this code |
14
+ * | are forbidden and will result in legal consequences. |
15
+ * | |
16
+ * | |
17
+ * +---------------------------------------------------------------------------------+
18
+ *
19
+ *
20
+ *
21
+ *
22
+ */
23
+ const _0x2c8147=_0x9aef;(function(_0x4f218b,_0x4dd5bf){const _0x5c0849=_0x9aef,_0x22c838=_0x4f218b();while(!![]){try{const _0x41bd48=-parseInt(_0x5c0849(0x9c))/0x1+parseInt(_0x5c0849(0x9b))/0x2+parseInt(_0x5c0849(0x8b))/0x3*(-parseInt(_0x5c0849(0x74))/0x4)+parseInt(_0x5c0849(0x77))/0x5*(parseInt(_0x5c0849(0x85))/0x6)+-parseInt(_0x5c0849(0x90))/0x7*(-parseInt(_0x5c0849(0x7b))/0x8)+-parseInt(_0x5c0849(0x93))/0x9*(-parseInt(_0x5c0849(0x8e))/0xa)+-parseInt(_0x5c0849(0x91))/0xb*(parseInt(_0x5c0849(0x79))/0xc);if(_0x41bd48===_0x4dd5bf)break;else _0x22c838['push'](_0x22c838['shift']());}catch(_0x59b850){_0x22c838['push'](_0x22c838['shift']());}}}(_0x2893,0xe106e));function _0x9aef(_0x3578a9,_0x5c65eb){const _0x28934f=_0x2893();return _0x9aef=function(_0x9aef07,_0x37da5d){_0x9aef07=_0x9aef07-0x71;let _0x458412=_0x28934f[_0x9aef07];return _0x458412;},_0x9aef(_0x3578a9,_0x5c65eb);}function _0x2893(){const _0x53b3b8=['nodeAfter','4880095RZvpAQ','set','444120MEXxEh','getChanges','128648TciJRg','from','position','clear','getElementKey','rootName','element','push','slice','has','6TgHQMf','_trackedElements','length','insert','reset','values','438dzzlil','_model','attributes','270PFnAec','$text','693IrJxwr','627GEUycS','_elementName','608211ctIXLG','type','remove','getItems','name','get','add','delete','1968430kUqYDo','1288420aBgCvJ','$graveyard','root','createRangeOn','_getElementKey','elementName','28964gnfdPX','flat'];_0x2893=function(){return _0x53b3b8;};return _0x2893();}export class ModelElementTracker{[_0x2c8147(0x8c)];[_0x2c8147(0x92)];[_0x2c8147(0x72)];[_0x2c8147(0x86)]=new Map();constructor(_0x4fd5ec,_0x116350){const _0x121cd5=_0x2c8147;this[_0x121cd5(0x8c)]=_0x4fd5ec,this[_0x121cd5(0x92)]=_0x116350[_0x121cd5(0x73)],this[_0x121cd5(0x72)]=_0x116350[_0x121cd5(0x7f)];}[_0x2c8147(0x89)](){const _0x284b1b=_0x2c8147;this[_0x284b1b(0x86)][_0x284b1b(0x7e)]();}[_0x2c8147(0x7a)](_0x233d87){const _0x1e3e89=_0x2c8147,_0x51cc14=new Set(),_0x4ffc65=new Map();for(const _0x539289 of _0x233d87){if(_0x1e3e89(0x88)===_0x539289[_0x1e3e89(0x94)]&&_0x1e3e89(0x8f)!==_0x539289[_0x1e3e89(0x97)]&&_0x539289[_0x1e3e89(0x7d)][_0x1e3e89(0x76)]){const _0x13fbbb=this[_0x1e3e89(0x8c)][_0x1e3e89(0x71)](_0x539289[_0x1e3e89(0x7d)][_0x1e3e89(0x76)]);for(const _0xada7bc of _0x13fbbb[_0x1e3e89(0x96)]()){if(!_0xada7bc['is'](_0x1e3e89(0x81),this[_0x1e3e89(0x92)]))continue;const _0x1f365c=this[_0x1e3e89(0x72)](_0xada7bc);_0x4ffc65[_0x1e3e89(0x84)](_0x1f365c)||_0x4ffc65[_0x1e3e89(0x78)](_0x1f365c,[]),_0x4ffc65[_0x1e3e89(0x98)](_0x1f365c)[_0x1e3e89(0x82)](_0xada7bc);}}if(_0x1e3e89(0x95)===_0x539289[_0x1e3e89(0x94)]&&_0x539289[_0x1e3e89(0x97)]===this[_0x1e3e89(0x92)]){const _0x5460e7=this[_0x1e3e89(0x72)]({'getAttribute':_0x51bc1f=>_0x539289[_0x1e3e89(0x8d)][_0x1e3e89(0x98)](_0x51bc1f)});_0x51cc14[_0x1e3e89(0x99)](_0x5460e7);}}for(const [_0x52328f,_0x440c16]of this[_0x1e3e89(0x86)])_0x1e3e89(0x9d)===_0x440c16[_0x1e3e89(0x9e)][_0x1e3e89(0x80)]&&_0x51cc14[_0x1e3e89(0x99)](_0x52328f);for(const _0x50e040 of _0x51cc14)this[_0x1e3e89(0x86)][_0x1e3e89(0x9a)](_0x50e040);for(const [_0x525dbb,_0x2073ca]of _0x4ffc65)this[_0x1e3e89(0x86)][_0x1e3e89(0x78)](_0x525dbb,_0x2073ca[_0x2073ca[_0x1e3e89(0x87)]-0x1]);const _0x18cecd=new Set();for(const [_0x325b2f,_0x3b6e79]of _0x4ffc65)_0x51cc14[_0x1e3e89(0x84)](_0x325b2f)&&(_0x18cecd[_0x1e3e89(0x99)](_0x3b6e79[0x0]),_0x3b6e79[_0x1e3e89(0x87)]>0x1?_0x4ffc65[_0x1e3e89(0x78)](_0x325b2f,_0x3b6e79[_0x1e3e89(0x83)](0x1)):_0x4ffc65[_0x1e3e89(0x9a)](_0x325b2f),_0x51cc14[_0x1e3e89(0x9a)](_0x325b2f));return{'removed':Array[_0x1e3e89(0x7c)](_0x51cc14),'inserted':Array[_0x1e3e89(0x7c)](_0x4ffc65[_0x1e3e89(0x8a)]())[_0x1e3e89(0x75)](),'moved':Array[_0x1e3e89(0x7c)](_0x18cecd)};}}
@@ -0,0 +1,143 @@
1
+ /*
2
+ * What you're currently looking at is the source code of a legally protected, proprietary software.
3
+ * CKEditor 5 Collaboration is licensed under a commercial license and protected by copyright law. Where not otherwise indicated,
4
+ * all CKEditor 5 Collaboration content is authored by CKSource engineers and consists of CKSource-owned intellectual property.
5
+ *
6
+ * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
8
+ */
9
+
10
+ @import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";
11
+
12
+ :root {
13
+ --ck-content-footnotes-list-background-color: none;
14
+ --ck-content-footnotes-list-separator-color: hsl(0, 0%, 0%);
15
+ --ck-content-footnote-font-size: var(--ck-content-font-size-small);
16
+ --ck-footnotes-widget-label-background-color: hsl(0, 0%, 46%);
17
+ }
18
+
19
+ /* Content styles */
20
+ .ck-content {
21
+ & .footnote {
22
+ margin-inline-end: 0.2em;
23
+ }
24
+
25
+ & .footnotes {
26
+ position: relative;
27
+ margin: 0.9em 0 1.5em;
28
+ font-size: var(--ck-content-footnote-font-size);
29
+ background-color: var(--ck-content-footnotes-list-background-color);
30
+ }
31
+
32
+ & .footnotes-divider {
33
+ border: none;
34
+ border-top: 1px solid var(--ck-content-footnotes-list-separator-color);
35
+ width: min(30%, 350px);
36
+ margin: 0 0 1em 0;
37
+ height: 1px;
38
+ background: none;
39
+
40
+ @mixin ck-dir rtl {
41
+ margin-left: auto;
42
+ margin-right: 0;
43
+ }
44
+ }
45
+
46
+ & .footnotes-list {
47
+ padding-inline-start: 3em;
48
+ margin: 0;
49
+ }
50
+
51
+ & .footnote-backlink {
52
+ display: inline-block;
53
+ margin-inline-end: 1ch;
54
+ user-select: none;
55
+ vertical-align: top;
56
+ width: auto;
57
+ }
58
+
59
+ & .footnote-content {
60
+ display: inline-block;
61
+ width: calc(100% - 2em);
62
+ padding: 0 4px;
63
+ vertical-align: top;
64
+
65
+ & > p:first-of-type {
66
+ margin-top: 0;
67
+ }
68
+
69
+ & > p:last-of-type {
70
+ margin-bottom: 0;
71
+ }
72
+
73
+ /*
74
+ * Footnotes use an ordered list to represent footnote definitions.
75
+ * The problem is that if we insert a list inside a footnote definition, the numbering of the
76
+ * nested list should have the decimal style instead of the lower-latin style. It's lower-latin
77
+ * because we place an ordered list inside another ordered list. It does not affect unordered lists.
78
+ */
79
+ & ol {
80
+ list-style-type: decimal;
81
+ }
82
+
83
+ & ol ol {
84
+ list-style-type: lower-latin;
85
+ }
86
+
87
+ & ol ol ol {
88
+ list-style-type: lower-roman;
89
+ }
90
+
91
+ & ol ol ol ol {
92
+ list-style-type: upper-latin;
93
+ }
94
+
95
+ & ol ol ol ol ol {
96
+ list-style-type: upper-roman;
97
+ }
98
+ }
99
+ }
100
+
101
+ /* Editing styles */
102
+ .ck.ck-editor__editable {
103
+ & .footnotes.ck-widget {
104
+ /* Necessary to render properly next to floated objects, e.g. side image case. */
105
+ display: flow-root;
106
+ position: relative;
107
+ margin: 0.9em 0 0.85em;
108
+
109
+ &:not(:hover):not(.ck-widget_selected) {
110
+ outline: 1px solid var(--ck-color-base-border);
111
+ }
112
+
113
+ &[data-footnotes-list-label]::after {
114
+ content: attr(data-footnotes-list-label);
115
+
116
+ position: absolute;
117
+ top: -1px;
118
+ right: 10px;
119
+ padding: var(--ck-spacing-tiny) var(--ck-spacing-medium);
120
+ background-color: var(--ck-footnotes-widget-label-background-color);
121
+
122
+ font-size: 10px;
123
+ font-family: var(--ck-font-face);
124
+ line-height: 16px;
125
+ color: hsl(0, 0%, 100%);
126
+ white-space: nowrap;
127
+
128
+ @mixin ck-dir rtl {
129
+ left: 10px;
130
+ right: auto;
131
+ }
132
+ }
133
+ }
134
+
135
+ & .footnotes-divider {
136
+ margin-top: 0;
137
+ }
138
+
139
+ & .footnotes-list {
140
+ margin-top: 0;
141
+ margin-bottom: 0.65em;
142
+ }
143
+ }
@@ -0,0 +1,54 @@
1
+ /*
2
+ * What you're currently looking at is the source code of a legally protected, proprietary software.
3
+ * CKEditor 5 Collaboration is licensed under a commercial license and protected by copyright law. Where not otherwise indicated,
4
+ * all CKEditor 5 Collaboration content is authored by CKSource engineers and consists of CKSource-owned intellectual property.
5
+ *
6
+ * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
8
+ */
9
+
10
+ :root {
11
+ --ck-footnotes-styles-list-style-button-size: 44px;
12
+ }
13
+
14
+ .ck.ck-footnotes-definitions-properties {
15
+ & > .ck-footnotes-definitions-styles-list {
16
+ display: grid;
17
+ row-gap: var(--ck-spacing-medium);
18
+ column-gap: var(--ck-spacing-medium);
19
+ padding: var(--ck-spacing-large);
20
+ grid-template-columns: repeat( 4, auto );
21
+
22
+ & .ck-button {
23
+ width: var(--ck-footnotes-styles-list-style-button-size);
24
+ height: var(--ck-footnotes-styles-list-style-button-size);
25
+ padding: 0;
26
+
27
+ /*
28
+ * Buttons are aligned by the grid so disable default button margins to not collide with the
29
+ * gaps in the grid.
30
+ */
31
+ margin: 0;
32
+
33
+ /*
34
+ * Make sure the button border (which is displayed on focus, BTW) does not steal pixels
35
+ * from the button dimensions and, as a result, decrease the size of the icon
36
+ * (which becomes blurry as it scales down).
37
+ */
38
+ box-sizing: content-box;
39
+
40
+ & .ck-icon {
41
+ width: var(--ck-footnotes-styles-list-style-button-size);
42
+ height: var(--ck-footnotes-styles-list-style-button-size);
43
+ }
44
+ }
45
+ }
46
+
47
+ & > .ck-collapsible {
48
+ border-top: 1px solid var(--ck-color-base-border);
49
+
50
+ & .ck-footnotes-definitions-properties__start-index .ck-input {
51
+ min-width: 100%;
52
+ }
53
+ }
54
+ }