@ckeditor/ckeditor5-footnotes 0.0.1 → 47.2.0-alpha.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 (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 +76 -0
  79. package/dist/index-editor.css +81 -0
  80. package/dist/index.css +187 -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 +153 -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 _0x33ae9c=_0x325b;(function(_0x2392e0,_0x2884b5){var _0x57db68=_0x325b,_0x2661ff=_0x2392e0();while(!![]){try{var _0x5d4f73=parseInt(_0x57db68(0x199))/0x1*(-parseInt(_0x57db68(0x1a3))/0x2)+-parseInt(_0x57db68(0x198))/0x3+parseInt(_0x57db68(0x197))/0x4*(-parseInt(_0x57db68(0x1a1))/0x5)+-parseInt(_0x57db68(0x19f))/0x6+-parseInt(_0x57db68(0x1a5))/0x7+parseInt(_0x57db68(0x1a0))/0x8+-parseInt(_0x57db68(0x1a2))/0x9*(-parseInt(_0x57db68(0x1a4))/0xa);if(_0x5d4f73===_0x2884b5)break;else _0x2661ff['push'](_0x2661ff['shift']());}catch(_0xe11005){_0x2661ff['push'](_0x2661ff['shift']());}}}(_0x4ba8,0x65fa4));import{Plugin as _0x332bc3}from'ckeditor5/src/core.js';function _0x325b(_0x2220fc,_0x7025e3){var _0x4ba89c=_0x4ba8();return _0x325b=function(_0x325b08,_0x12d65f){_0x325b08=_0x325b08-0x197;var _0x56f809=_0x4ba89c[_0x325b08];return _0x56f809;},_0x325b(_0x2220fc,_0x7025e3);}import{FootnotesPropertiesEditing as _0x2dd4fd}from'./footnotesproperties/footnotespropertiesediting.js';import{FootnotesPropertiesUI as _0x180ce3}from'./footnotesproperties/footnotespropertiesui.js';export class FootnotesProperties extends _0x332bc3{static get[_0x33ae9c(0x19e)](){var _0x563b16=_0x33ae9c;return _0x563b16(0x19a);}static get[_0x33ae9c(0x19c)](){return[_0x2dd4fd,_0x180ce3];}static get[_0x33ae9c(0x19d)](){return!0x0;}static get[_0x33ae9c(0x19b)](){return!0x0;}}function _0x4ba8(){var _0x5e9d3e=['pluginName','922500AfRjAV','3008272bFzZMf','760FrQpMR','9513UVjPLI','1376ABISpO','17740juDQUn','5412715xDzLYJ','3264WaAFif','727035pnjjDY','785ULbIif','FootnotesProperties','isPremiumPlugin','requires','isOfficialPlugin'];_0x4ba8=function(){return _0x5e9d3e;};return _0x4ba8();}
@@ -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 _0x37ad9a=_0x9256;function _0x542e(){const _0x190246=['from','_updateFootnotesCounters','differ','20ZpqAXD','compareWith','_handleFootnoteDefinitionsChanges','splice','has','config','$graveyard','model','_ensureFootnotesDefinitionsContainerExists','isEqual','2GmzgvA','_updateFootnoteRefCounter','createPositionBefore','listenTo','low','definition','after','745820hmlROX','getChanges','pluginName','indexOf','_footnotesDefinitions','getAttribute','2372388RZPkuw','getRootNames','_footnoteFormatter','_handleRemoveFootnoteReferenceById','high','footnoteInlineContent','footnoteRef','_handleFootnoteReferencesChanges','_footnotes','parent','end','set','getFootnote','editor','find','7oUXGUe','_footnoteRefsTracker','insert','footnoteCounter','before','root','6406992KopkGy','append','FootnotesTracker','enqueueChange','init','footnotes.multiBlock','_handleFootnotesDefinitionsObjectSync','findIndex','length','isPremiumPlugin','unshift','_insertEmptyFootnotesDefinitionsContainer','map','getFootnotesDefinitionsObjectElement','3760230eXcAcP','_handleFootnotesDefinitionsObjectChanges','_ensureFootnotesReferencesHaveProperOrder','footnotesDefinitions','reset','footnoteDefinition','_handleInsertedFootnoteReference','setAttribute','registerPostFixer','_footnoteDefsContainerTracker','_footnoteDefsTracker','4053714LziLFB','reference','rootName','_handleMovedFootnoteReference','paragraph','setFootnoteFormatter','change:data','get','remove','isOfficialPlugin','min','createRangeIn','2272936SOtZgc','createPositionAt','singleton','createElement','some','_sortFootnoteDefinitions','258168mtWVYy','add','footnoteId','push','getFootnotes','document','createRangeOn','move','getChildren','getFootnotesFormatter','childCount'];_0x542e=function(){return _0x190246;};return _0x542e();}(function(_0x1168fe,_0xaf310c){const _0x300364=_0x9256,_0x471f33=_0x1168fe();while(!![]){try{const _0x5ecd20=-parseInt(_0x300364(0xaf))/0x1+-parseInt(_0x300364(0xc7))/0x2*(-parseInt(_0x300364(0xd4))/0x3)+parseInt(_0x300364(0xbd))/0x4*(-parseInt(_0x300364(0xce))/0x5)+parseInt(_0x300364(0x9d))/0x6*(parseInt(_0x300364(0xe3))/0x7)+parseInt(_0x300364(0xa9))/0x8+-parseInt(_0x300364(0xe9))/0x9+parseInt(_0x300364(0x92))/0xa;if(_0x5ecd20===_0xaf310c)break;else _0x471f33['push'](_0x471f33['shift']());}catch(_0x636b80){_0x471f33['push'](_0x471f33['shift']());}}}(_0x542e,0x64437));import{Plugin as _0xb649d5}from'ckeditor5/src/core.js';import{ModelElementTracker as _0x2db5be}from'./modelelementtracker.js';function _0x9256(_0xf91d94,_0x31e9e1){const _0x542ef3=_0x542e();return _0x9256=function(_0x9256b2,_0x157107){_0x9256b2=_0x9256b2-0x91;let _0x2982a7=_0x542ef3[_0x9256b2];return _0x2982a7;},_0x9256(_0xf91d94,_0x31e9e1);}export class FootnotesTracker extends _0xb649d5{[_0x37ad9a(0xdc)]=[];[_0x37ad9a(0xd2)]=null;[_0x37ad9a(0xd6)]=null;[_0x37ad9a(0x9b)];[_0x37ad9a(0xe4)];[_0x37ad9a(0x9c)];static get[_0x37ad9a(0xd0)](){const _0x52b903=_0x37ad9a;return _0x52b903(0xeb);}static get[_0x37ad9a(0xa6)](){return!0x0;}static get[_0x37ad9a(0xf2)](){return!0x0;}constructor(_0x5e0076){const _0x29ef5d=_0x37ad9a;super(_0x5e0076),this[_0x29ef5d(0x9b)]=new _0x2db5be(this[_0x29ef5d(0xe1)][_0x29ef5d(0xc4)],{'elementName':_0x29ef5d(0x95),'getElementKey':()=>_0x29ef5d(0xab)}),this[_0x29ef5d(0xe4)]=new _0x2db5be(this[_0x29ef5d(0xe1)][_0x29ef5d(0xc4)],{'elementName':_0x29ef5d(0xda),'getElementKey':_0x205880=>_0x205880[_0x29ef5d(0xd3)](_0x29ef5d(0xb1))}),this[_0x29ef5d(0x9c)]=new _0x2db5be(this[_0x29ef5d(0xe1)][_0x29ef5d(0xc4)],{'elementName':_0x29ef5d(0x97),'getElementKey':_0xf0d822=>_0xf0d822[_0x29ef5d(0xd3)](_0x29ef5d(0xb1))});}[_0x37ad9a(0xed)](){const _0x543135=_0x37ad9a,{editor:_0x322c85}=this,{model:_0x480fd4,data:_0x4a36e4}=_0x322c85;_0x480fd4[_0x543135(0xb4)][_0x543135(0x9a)](_0x1a212e=>{const _0x2c0237=_0x543135,_0x45c7d6=_0x480fd4[_0x2c0237(0xb4)][_0x2c0237(0xbc)][_0x2c0237(0xcf)]();let _0xd02abf=!0x1;return this[_0x2c0237(0x93)](_0x1a212e,_0x45c7d6)&&(_0xd02abf=!0x0),this[_0x2c0237(0xbf)](_0x1a212e,_0x45c7d6)&&(_0xd02abf=!0x0),this[_0x2c0237(0xdb)](_0x1a212e,_0x45c7d6)&&(_0xd02abf=!0x0),this[_0x2c0237(0x94)](_0x1a212e)&&(_0xd02abf=!0x0),this[_0x2c0237(0xef)](_0x1a212e)&&(_0xd02abf=!0x0),this[_0x2c0237(0xae)](_0x1a212e)&&(_0xd02abf=!0x0),_0xd02abf;}),this[_0x543135(0xca)](_0x480fd4[_0x543135(0xb4)],_0x543135(0xa3),()=>{const _0x2f78e6=_0x543135;_0x480fd4[_0x2f78e6(0xec)]({'isUndoable':!0x1},_0x366035=>{const _0x39e90e=_0x2f78e6;this[_0x39e90e(0xc5)](_0x366035);});},{'priority':_0x543135(0xcb)}),this[_0x543135(0xca)](_0x4a36e4,_0x543135(0xdf),()=>{const _0x2e7e2f=_0x543135;this[_0x2e7e2f(0xdc)]=[],this[_0x2e7e2f(0x9b)][_0x2e7e2f(0x96)](),this[_0x2e7e2f(0xe4)][_0x2e7e2f(0x96)](),this[_0x2e7e2f(0x9c)][_0x2e7e2f(0x96)]();},{'priority':_0x543135(0xd8)});}[_0x37ad9a(0x91)](){const _0x2b1af7=_0x37ad9a;return this[_0x2b1af7(0xd2)];}[_0x37ad9a(0xe0)](_0x4c50cc){const _0x123041=_0x37ad9a;return this[_0x123041(0xdc)][_0x123041(0xe2)](_0x52f201=>_0x52f201['id']===_0x4c50cc)||null;}[_0x37ad9a(0xb3)](){const _0x6ea099=_0x37ad9a;return Array[_0x6ea099(0xba)](this[_0x6ea099(0xdc)]);}[_0x37ad9a(0xb8)](){const _0x8e96ac=_0x37ad9a;return this[_0x8e96ac(0xd6)];}[_0x37ad9a(0xa2)](_0x44dd37){const _0x3b895e=_0x37ad9a;this[_0x3b895e(0xd6)]=_0x44dd37;}[_0x37ad9a(0xbb)](_0x2e663e,_0x5e7e7d=0x0){const _0x662c83=_0x37ad9a;let _0x80f50c=!0x1;for(let _0xdd55d3=_0x5e7e7d;_0xdd55d3<this[_0x662c83(0xdc)][_0x662c83(0xf1)];_0xdd55d3++)this[_0x662c83(0xc8)](_0x2e663e,_0xdd55d3)&&(_0x80f50c=!0x0);return _0x80f50c;}[_0x37ad9a(0xf4)](_0x348a94,_0x3936f2){const _0x2d2502=_0x37ad9a,_0x8e8364=_0x348a94[_0x2d2502(0xac)](_0x2d2502(0x95),{});return _0x348a94[_0x2d2502(0xea)](_0x8e8364,_0x3936f2),this[_0x2d2502(0xd2)]=_0x8e8364,_0x8e8364;}[_0x37ad9a(0xc5)](_0x43372f){const _0x1e0677=_0x37ad9a;if(!this[_0x1e0677(0xdc)][_0x1e0677(0xf1)]||this[_0x1e0677(0xd2)])return;const _0x112b25=this[_0x1e0677(0xdc)][0x0][_0x1e0677(0x9e)][_0x1e0677(0xe8)],_0x2a90be=this[_0x1e0677(0xf4)](_0x43372f,_0x112b25);for(const _0x4421b0 of this[_0x1e0677(0xdc)])_0x4421b0[_0x1e0677(0xcc)][_0x1e0677(0xdd)]||_0x43372f[_0x1e0677(0xe5)](_0x4421b0[_0x1e0677(0xcc)],_0x2a90be,_0x1e0677(0xde));this[_0x1e0677(0xbb)](_0x43372f);}[_0x37ad9a(0x93)](_0x35da51,_0x3634a4){const _0x4a6164=_0x37ad9a;let _0x407513=!0x1;const {inserted:_0x325ebe,removed:_0x6f2dc,moved:_0x26de8e}=this[_0x4a6164(0x9b)][_0x4a6164(0xcf)](_0x3634a4);if(_0x26de8e[_0x4a6164(0xf1)]&&(this[_0x4a6164(0xd2)]=_0x26de8e[0x0]),_0x325ebe[_0x4a6164(0xf1)]){if(_0x325ebe[_0x4a6164(0xf1)]>0x1||this[_0x4a6164(0xd2)]&&_0x325ebe[_0x4a6164(0xad)](_0x173a90=>_0x173a90!==this[_0x4a6164(0xd2)])){const _0x46af4d=_0x35da51[_0x4a6164(0xac)](_0x4a6164(0x95),{}),_0x3876d9=[];this[_0x4a6164(0xd2)]&&_0x3876d9[_0x4a6164(0xb2)](this[_0x4a6164(0xd2)]),_0x3876d9[_0x4a6164(0xb2)](..._0x325ebe),_0x35da51[_0x4a6164(0xe5)](_0x46af4d,_0x3876d9[0x0],_0x4a6164(0xe7));for(const _0xa2702b of _0x3876d9)_0x35da51[_0x4a6164(0xb6)](_0x35da51[_0x4a6164(0xa8)](_0xa2702b),_0x35da51[_0x4a6164(0xaa)](_0x46af4d,_0x4a6164(0xde))),_0x35da51[_0x4a6164(0xa5)](_0xa2702b);this[_0x4a6164(0xd2)]=_0x46af4d,this[_0x4a6164(0xbb)](_0x35da51),_0x407513=!0x0;}else this[_0x4a6164(0xd2)]=_0x325ebe[0x0];}if(_0x6f2dc[_0x4a6164(0xf1)]&&_0x4a6164(0xc3)===this[_0x4a6164(0xd2)]?.[_0x4a6164(0xe8)][_0x4a6164(0x9f)]){for(const _0x3c0dca of this[_0x4a6164(0xdc)])_0x35da51[_0x4a6164(0xa5)](_0x3c0dca[_0x4a6164(0x9e)]),_0x407513=!0x0;this[_0x4a6164(0xdc)]=[],this[_0x4a6164(0xd2)]=null;}return _0x407513;}[_0x37ad9a(0xbf)](_0x40658a,_0x38ec8c){const _0x3cae10=_0x37ad9a;let _0x521635=!0x1;const _0x53bc89=this[_0x3cae10(0xe1)][_0x3cae10(0xc2)][_0x3cae10(0xa4)](_0x3cae10(0xee)),{inserted:_0x29240d,moved:_0x13f4fe}=this[_0x3cae10(0x9c)][_0x3cae10(0xcf)](_0x38ec8c);for(const _0x4c1e47 of[..._0x13f4fe,..._0x29240d]){const _0x1cd82e=_0x4c1e47[_0x3cae10(0xd3)](_0x3cae10(0xb1)),_0x1cf09f=this[_0x3cae10(0xe0)](_0x1cd82e);_0x1cf09f&&(_0x1cf09f[_0x3cae10(0xcc)]=_0x4c1e47),_(_0x40658a,_0x53bc89,_0x4c1e47)&&(_0x521635=!0x0);}return _0x521635;}[_0x37ad9a(0xdb)](_0x38e3ea,_0x5ea1c9){const _0x5b015c=_0x37ad9a;let _0x549d9c=!0x1;const {removed:_0x58fc00,inserted:_0x5cc137,moved:_0x303783}=this[_0x5b015c(0xe4)][_0x5b015c(0xcf)](_0x5ea1c9);for(const _0x3f9499 of _0x58fc00)this[_0x5b015c(0xd7)](_0x38e3ea,_0x3f9499)&&(_0x549d9c=!0x0);for(const _0x42e26b of _0x5cc137)this[_0x5b015c(0x98)](_0x38e3ea,_0x42e26b)&&(_0x549d9c=!0x0);for(const _0x4d607d of _0x303783)this[_0x5b015c(0xa0)](_0x38e3ea,_0x4d607d)&&(_0x549d9c=!0x0);return _0x549d9c;}[_0x37ad9a(0xef)](_0x2c6b1f){const _0x4983d1=_0x37ad9a;if(!this[_0x4983d1(0xd2)])return!0x1;let _0x5b48be=!0x1;if(this[_0x4983d1(0xd2)][_0x4983d1(0xb9)]!==this[_0x4983d1(0xdc)][_0x4983d1(0xf1)]){const _0x4b34c8=[];for(const _0x2808f6 of this[_0x4983d1(0xd2)][_0x4983d1(0xb7)]()){const _0x427396=_0x2808f6[_0x4983d1(0xd3)](_0x4983d1(0xb1));this[_0x4983d1(0xe0)](_0x427396)||(_0x4b34c8[_0x4983d1(0xf3)](_0x2808f6),_0x5b48be=!0x0);}for(const _0x26d0d8 of _0x4b34c8)_0x2c6b1f[_0x4983d1(0xa5)](_0x26d0d8);}const _0x4b3d99=new Set(),_0x2cd780=[];for(const _0x35857b of this[_0x4983d1(0xd2)][_0x4983d1(0xb7)]()){const _0x250b18=_0x35857b[_0x4983d1(0xd3)](_0x4983d1(0xb1));_0x4b3d99[_0x4983d1(0xc1)](_0x250b18)?(_0x2cd780[_0x4983d1(0xf3)](_0x35857b),_0x5b48be=!0x0):_0x4b3d99[_0x4983d1(0xb0)](_0x250b18);}for(const _0x5b326d of _0x2cd780)_0x2c6b1f[_0x4983d1(0xa5)](_0x5b326d);return this[_0x4983d1(0xd2)][_0x4983d1(0xb9)]||(_0x2c6b1f[_0x4983d1(0xa5)](this[_0x4983d1(0xd2)]),this[_0x4983d1(0xd2)]=null,_0x5b48be=!0x0),_0x5b48be;}[_0x37ad9a(0x98)](_0x1b50b1,_0x2394e7){const _0xdb0fe4=_0x37ad9a;if(this[_0xdb0fe4(0xdc)][_0xdb0fe4(0xe2)](_0x3a6748=>_0x3a6748[_0xdb0fe4(0x9e)]===_0x2394e7))return!0x1;let _0x136da9=!0x1;const _0x59637f=_0x2394e7[_0xdb0fe4(0xd3)](_0xdb0fe4(0xb1)),_0x5e00fd=this[_0xdb0fe4(0xdc)][_0xdb0fe4(0xf0)](_0x2454f1=>_0x2454f1['id']===_0x59637f);-0x1!==_0x5e00fd&&(_0x1b50b1[_0xdb0fe4(0xa5)](this[_0xdb0fe4(0xdc)][_0x5e00fd][_0xdb0fe4(0x9e)]),this[_0xdb0fe4(0xdc)][_0xdb0fe4(0xc0)](_0x5e00fd,0x1),_0x136da9=!0x0);let _0xa4ca14=this[_0xdb0fe4(0xd2)]?function(_0x326970,_0x3c9745){const _0x402912=_0xdb0fe4;for(const _0x6dc66d of _0x326970[_0x402912(0xb7)]())if(_0x6dc66d[_0x402912(0xd3)](_0x402912(0xb1))===_0x3c9745)return _0x6dc66d;return null;}(this[_0xdb0fe4(0xd2)],_0x59637f):null;_0xa4ca14||(_0xa4ca14=_0x1b50b1[_0xdb0fe4(0xac)](_0xdb0fe4(0x97),{'footnoteId':_0x59637f}),this[_0xdb0fe4(0xd2)]&&(_0x1b50b1[_0xdb0fe4(0xe5)](_0xa4ca14,this[_0xdb0fe4(0xd2)],_0xdb0fe4(0xde)),_0x136da9=!0x0));const _0x357db1={'id':_0x59637f,'reference':_0x2394e7,'definition':_0xa4ca14},_0x354766=I(this[_0xdb0fe4(0xe1)][_0xdb0fe4(0xc4)],this[_0xdb0fe4(0xdc)],_0x2394e7);this[_0xdb0fe4(0xdc)][_0xdb0fe4(0xc0)](_0x354766,0x0,_0x357db1);let _0x3bf1f9=_0x354766;return-0x1!==_0x5e00fd&&(_0x3bf1f9=Math[_0xdb0fe4(0xa7)](_0x354766,_0x5e00fd)),this[_0xdb0fe4(0xbb)](_0x1b50b1,_0x3bf1f9)&&(_0x136da9=!0x0),_0x136da9;}[_0x37ad9a(0xd7)](_0x17d4e1,_0x57f965){const _0xf2979b=_0x37ad9a,_0x10358b=this[_0xf2979b(0xdc)][_0xf2979b(0xf0)](_0x4c82e6=>_0x4c82e6['id']===_0x57f965);if(-0x1===_0x10358b)return!0x1;let _0x546066=!0x1;const _0x58d9a6=this[_0xf2979b(0xdc)][_0x10358b];return _0xf2979b(0xc3)!==_0x58d9a6[_0xf2979b(0xcc)][_0xf2979b(0xe8)][_0xf2979b(0x9f)]&&(_0x17d4e1[_0xf2979b(0xa5)](_0x58d9a6[_0xf2979b(0xcc)]),_0x546066=!0x0),this[_0xf2979b(0xdc)][_0xf2979b(0xc0)](_0x10358b,0x1),this[_0xf2979b(0xbb)](_0x17d4e1,_0x10358b)&&(_0x546066=!0x0),_0x546066;}[_0x37ad9a(0xa0)](_0x3967bb,_0x361f11){const _0x4ce731=_0x37ad9a,_0x4d5f9d=_0x361f11[_0x4ce731(0xd3)](_0x4ce731(0xb1)),_0x4f3e4d=this[_0x4ce731(0xdc)][_0x4ce731(0xf0)](_0x4b8104=>_0x4b8104['id']===_0x4d5f9d),_0x3e3216=this[_0x4ce731(0xdc)][_0x4f3e4d];let _0x22ad09=!0x1;_0x3e3216[_0x4ce731(0x9e)]=_0x361f11,this[_0x4ce731(0xdc)][_0x4ce731(0xc0)](_0x4f3e4d,0x1);const _0x5b1893=I(this[_0x4ce731(0xe1)][_0x4ce731(0xc4)],this[_0x4ce731(0xdc)],_0x361f11);return this[_0x4ce731(0xdc)][_0x4ce731(0xc0)](_0x5b1893,0x0,_0x3e3216),this[_0x4ce731(0xbb)](_0x3967bb,Math[_0x4ce731(0xa7)](_0x4f3e4d,_0x5b1893))&&(_0x22ad09=!0x0),_0x22ad09;}[_0x37ad9a(0xc8)](_0x230e24,_0x14050d){const _0x4bdc59=_0x37ad9a;if(!this[_0x4bdc59(0xd2)])return!0x1;const _0x945661=this[_0x4bdc59(0xdc)][_0x14050d];let _0x393a5d;return _0x393a5d=this[_0x4bdc59(0xd6)]?this[_0x4bdc59(0xd6)]({'footnote':_0x945661,'container':this[_0x4bdc59(0xd2)],'digits':String(this[_0x4bdc59(0xdc)][_0x4bdc59(0xf1)])[_0x4bdc59(0xf1)],'value':_0x14050d+0x1}):String(_0x14050d+0x1),_0x945661[_0x4bdc59(0x9e)][_0x4bdc59(0xd3)](_0x4bdc59(0xe6))!=_0x393a5d&&(_0x230e24[_0x4bdc59(0x99)](_0x4bdc59(0xe6),_0x393a5d,_0x945661[_0x4bdc59(0x9e)]),!0x0);}[_0x37ad9a(0xae)](_0x5303f9){const _0x1d8e10=_0x37ad9a;if(!this[_0x1d8e10(0xd2)]||this[_0x1d8e10(0xdc)][_0x1d8e10(0xf1)]<0x2)return!0x1;if(function(_0x3907e3,_0x4987d0){const _0x119193=_0x1d8e10;if(_0x3907e3[_0x119193(0xf1)]!==_0x4987d0[_0x119193(0xf1)])return!0x1;for(let _0x2e84d2=0x0;_0x2e84d2<_0x3907e3[_0x119193(0xf1)];_0x2e84d2++)if(_0x3907e3[_0x2e84d2]!==_0x4987d0[_0x2e84d2])return!0x1;return!0x0;}(this[_0x1d8e10(0xdc)][_0x1d8e10(0xf5)](_0x54c13b=>_0x54c13b['id']),Array[_0x1d8e10(0xba)](this[_0x1d8e10(0xd2)][_0x1d8e10(0xb7)]())[_0x1d8e10(0xf5)](_0x538e3a=>_0x538e3a[_0x1d8e10(0xd3)](_0x1d8e10(0xb1)))))return!0x1;let _0x2894fe=!0x1;for(let _0x22348b=0x0;_0x22348b<this[_0x1d8e10(0xdc)][_0x1d8e10(0xf1)];_0x22348b++){const _0xd475a8=this[_0x1d8e10(0xdc)][_0x22348b],_0x58123f=_0x5303f9[_0x1d8e10(0xc9)](_0xd475a8[_0x1d8e10(0xcc)]),_0x2c6780=_0x5303f9[_0x1d8e10(0xaa)](this[_0x1d8e10(0xd2)],_0x22348b);_0x58123f[_0x1d8e10(0xc6)](_0x2c6780)||(_0x5303f9[_0x1d8e10(0xb6)](_0x5303f9[_0x1d8e10(0xb5)](_0xd475a8[_0x1d8e10(0xcc)]),_0x2c6780),_0x2894fe=!0x0);}return _0x2894fe;}[_0x37ad9a(0x94)](_0x4eb253){const _0x38ccb5=_0x37ad9a;if(!this[_0x38ccb5(0xdc)][_0x38ccb5(0xf1)])return!0x1;const {model:_0x4b8634}=this[_0x38ccb5(0xe1)];let _0x103314=!0x1;for(let _0x27b3bf=0x0;_0x27b3bf<this[_0x38ccb5(0xdc)][_0x38ccb5(0xf1)]-0x1;_0x27b3bf++){const _0x5e4392=this[_0x38ccb5(0xdc)][_0x27b3bf],_0x17183c=this[_0x38ccb5(0xdc)][_0x27b3bf+0x1],_0x541dd3=_0x4b8634[_0x38ccb5(0xc9)](_0x5e4392[_0x38ccb5(0x9e)]),_0x4cee88=_0x4b8634[_0x38ccb5(0xc9)](_0x17183c[_0x38ccb5(0x9e)]);_0x38ccb5(0xcd)===_0x541dd3[_0x38ccb5(0xbe)](_0x4cee88)&&(this[_0x38ccb5(0xa0)](_0x4eb253,_0x5e4392[_0x38ccb5(0x9e)]),_0x27b3bf=-0x1,_0x103314=!0x0);}return _0x103314;}}function _(_0x4e5aee,_0x1cb61c,_0x36d45f){const _0x6e0078=_0x37ad9a;if(_0x36d45f[_0x6e0078(0xb9)])return!0x1;const _0x190d3a=_0x1cb61c?_0x6e0078(0xa1):_0x6e0078(0xd9);return _0x4e5aee[_0x6e0078(0xe5)](_0x4e5aee[_0x6e0078(0xac)](_0x190d3a),_0x36d45f),!0x0;}function I(_0x2dbfcb,_0x5adbad,_0x3e5612){const _0x153374=_0x37ad9a;if(0x0===_0x5adbad[_0x153374(0xf1)])return 0x0;const _0x22e2cd=_0x2dbfcb[_0x153374(0xc9)](_0x3e5612);for(let _0x2ccfeb=0x0;_0x2ccfeb<_0x5adbad[_0x153374(0xf1)];_0x2ccfeb++){const _0x2b96f0=_0x5adbad[_0x2ccfeb],_0x3187b6=_0x2dbfcb[_0x153374(0xc9)](_0x2b96f0[_0x153374(0x9e)]);if(_0x153374(0xe7)===_0x22e2cd[_0x153374(0xbe)](_0x3187b6))return _0x2ccfeb;}const _0x45325d=_0x3e5612[_0x153374(0xe8)];let _0x14e622=-0x1;for(let _0x432a25=_0x5adbad[_0x153374(0xf1)]-0x1;_0x432a25>=0x0;_0x432a25--)if(_0x5adbad[_0x432a25][_0x153374(0x9e)][_0x153374(0xe8)]===_0x45325d){_0x14e622=_0x432a25;break;}if(-0x1!==_0x14e622)return _0x14e622+0x1;const _0x59e892=_0x2dbfcb[_0x153374(0xb4)][_0x153374(0xd5)](),_0x14370b=_0x59e892[_0x153374(0xd1)](_0x45325d[_0x153374(0x9f)]),_0x467c08=_0x59e892[_0x14370b+0x1];if(_0x467c08){for(let _0x1e485a=0x0;_0x1e485a<_0x5adbad[_0x153374(0xf1)];_0x1e485a++)if(_0x5adbad[_0x1e485a][_0x153374(0x9e)][_0x153374(0xe8)][_0x153374(0x9f)]===_0x467c08)return _0x1e485a;}return _0x5adbad[_0x153374(0xf1)];}
@@ -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 _0x38a36f,MenuBarMenuListItemButtonView as _0x3c0dfd}from'ckeditor5/src/ui.js';import{Plugin as _0x3c3615}from'ckeditor5/src/core.js';import{IconFootnote as _0x163f58}from'ckeditor5/src/icons.js';import'../theme/footnotes.css';export class FootnotesUI extends _0x3c3615{['licenseKey'];['_licenseKeyCheckInterval'];static get['pluginName'](){return'FootnotesUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const {editor:_0x3c2953}=this,{componentFactory:_0x528f45}=_0x3c2953['ui'];_0x528f45['add']('insertFootnote',x(_0x3c2953,_0x38a36f)),_0x528f45['add']('menuBar:insertFootnote',x(_0x3c2953,_0x3c0dfd)),this['licenseKey']=this['editor']['config']['get']('licenseKey');const _0x25356d=this['editor'];this['_licenseKeyCheckInterval']=setInterval(()=>{let _0x265ef0;for(const _0x3fdb0b in _0x25356d){const _0x3bf7ba=_0x3fdb0b,_0x2c400e=_0x25356d[_0x3bf7ba];if('footnotesLicenseKeyValid'==_0x2c400e||'footnotesLicenseKeyInvalid'==_0x2c400e||'footnotesLicenseKeyExpired'==_0x2c400e||'footnotesLicenseKeyDomainLimit'==_0x2c400e||'footnotesLicenseKeyNotAllowed'==_0x2c400e||'footnotesLicenseKeyEvaluationLimit'==_0x2c400e||'footnotesLicenseKeyTrialLimit'==_0x2c400e||'footnotesLicenseKeyUsageLimit'==_0x2c400e){delete _0x25356d[_0x3bf7ba],_0x265ef0=_0x2c400e,clearInterval(this['_licenseKeyCheckInterval']),this['_licenseKeyCheckInterval']=void 0x0;break;}}'footnotesLicenseKeyInvalid'==_0x265ef0&&_0x25356d['_showLicenseError']('invalid'),'footnotesLicenseKeyExpired'==_0x265ef0&&_0x25356d['_showLicenseError']('expired'),'footnotesLicenseKeyDomainLimit'==_0x265ef0&&_0x25356d['_showLicenseError']('domainLimit'),'footnotesLicenseKeyNotAllowed'==_0x265ef0&&_0x25356d['_showLicenseError']('featureNotAllowed','Footnotes'),'footnotesLicenseKeyEvaluationLimit'==_0x265ef0&&_0x25356d['_showLicenseError']('evaluationLimit'),'footnotesLicenseKeyTrialLimit'==_0x265ef0&&_0x25356d['_showLicenseError']('trialLimit'),'footnotesLicenseKeyUsageLimit'==_0x265ef0&&_0x25356d['_showLicenseError']('usageLimit');},0x3e8);}['destroy'](){super['destroy'](),this['_licenseKeyCheckInterval']&&clearInterval(this['_licenseKeyCheckInterval']);}}function x(_0x596424,_0x3e8b41){const _0x34a560=_0x596424['commands']['get']('insertFootnote');return _0x1252e3=>{const {t:t}=_0x1252e3,_0x276a72=new _0x3e8b41(_0x1252e3),_0x2f8530=_0x276a72 instanceof _0x3c0dfd;return _0x276a72['bind']('isEnabled')['to'](_0x34a560,'isEnabled'),_0x276a72['set']({'label':t(_0x2f8530?'Footnote':'Insert\x20footnote'),'icon':_0x163f58,'tooltip':!0x0}),_0x276a72['on']('execute',()=>{_0x34a560['execute'](),_0x596424['editing']['view']['focus']();}),_0x276a72;};}
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(_0xc8e833,_0x502976){var _0x11bd49=_0x173f,_0x29928b=_0xc8e833();while(!![]){try{var _0x4997df=parseInt(_0x11bd49(0x1f5))/0x1*(parseInt(_0x11bd49(0x1f2))/0x2)+-parseInt(_0x11bd49(0x1f9))/0x3+parseInt(_0x11bd49(0x1f1))/0x4+-parseInt(_0x11bd49(0x1f6))/0x5*(-parseInt(_0x11bd49(0x1f7))/0x6)+parseInt(_0x11bd49(0x1f3))/0x7+-parseInt(_0x11bd49(0x1f4))/0x8+-parseInt(_0x11bd49(0x1f8))/0x9;if(_0x4997df===_0x502976)break;else _0x29928b['push'](_0x29928b['shift']());}catch(_0x59617d){_0x29928b['push'](_0x29928b['shift']());}}}(_0x1ebd,0x9b8eb));import'./augmentation.js';export{Footnotes}from'./footnotes.js';function _0x1ebd(){var _0x333317=['83076ocmtYR','4wpQQZa','2095982elqeAn','1144080XYPyWd','477821orJxSF','2107090cHDRvl','18TfqWaM','12611745lHFgCG','1075839IatQND'];_0x1ebd=function(){return _0x333317;};return _0x1ebd();}export{FootnotesEditing}from'./footnotesediting.js';export{FootnotesClipboard}from'./footnotesclipboard.js';function _0x173f(_0x2c1a0e,_0x477a44){var _0x1ebdfa=_0x1ebd();return _0x173f=function(_0x173f31,_0x4e3153){_0x173f31=_0x173f31-0x1f1;var _0x18c677=_0x1ebdfa[_0x173f31];return _0x18c677;},_0x173f(_0x2c1a0e,_0x477a44);}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
+ function _0x6d71(_0x14e88d,_0x317b8c){const _0x38256c=_0x3825();return _0x6d71=function(_0x6d715c,_0x2cff97){_0x6d715c=_0x6d715c-0x105;let _0x1720a3=_0x38256c[_0x6d715c];return _0x1720a3;},_0x6d71(_0x14e88d,_0x317b8c);}const _0x187792=_0x6d71;(function(_0x874c5b,_0x504960){const _0x1c8b3d=_0x6d71,_0x3b9a7a=_0x874c5b();while(!![]){try{const _0x4a8091=-parseInt(_0x1c8b3d(0x114))/0x1*(parseInt(_0x1c8b3d(0x11b))/0x2)+parseInt(_0x1c8b3d(0x120))/0x3*(parseInt(_0x1c8b3d(0x118))/0x4)+-parseInt(_0x1c8b3d(0x10c))/0x5*(-parseInt(_0x1c8b3d(0x115))/0x6)+parseInt(_0x1c8b3d(0x10a))/0x7*(parseInt(_0x1c8b3d(0x11e))/0x8)+-parseInt(_0x1c8b3d(0x110))/0x9+parseInt(_0x1c8b3d(0x10e))/0xa*(parseInt(_0x1c8b3d(0x109))/0xb)+-parseInt(_0x1c8b3d(0x131))/0xc;if(_0x4a8091===_0x504960)break;else _0x3b9a7a['push'](_0x3b9a7a['shift']());}catch(_0x2f6454){_0x3b9a7a['push'](_0x3b9a7a['shift']());}}}(_0x3825,0x4103c));function _0x3825(){const _0x2a4893=['reset','$text','position','76857JujtFA','273VGeywc','get','70llLLiy','nodeAfter','250QMdlPW','length','1752318dMAtOX','_model','element','delete','309PPAiWP','216066FUirIu','flat','attributes','32XREBMM','root','push','504lSydvy','has','rootName','75512ncAkJA','values','39426iTTVFy','add','getChanges','_elementName','createRangeOn','getElementKey','set','type','remove','clear','getItems','elementName','name','from','insert','slice','$graveyard','7358592eVLlQb','_trackedElements','_getElementKey'];_0x3825=function(){return _0x2a4893;};return _0x3825();}export class ModelElementTracker{[_0x187792(0x111)];[_0x187792(0x123)];[_0x187792(0x105)];[_0x187792(0x132)]=new Map();constructor(_0x21b489,_0x541bce){const _0x4dcc60=_0x187792;this[_0x4dcc60(0x111)]=_0x21b489,this[_0x4dcc60(0x123)]=_0x541bce[_0x4dcc60(0x12b)],this[_0x4dcc60(0x105)]=_0x541bce[_0x4dcc60(0x125)];}[_0x187792(0x106)](){const _0x67dca9=_0x187792;this[_0x67dca9(0x132)][_0x67dca9(0x129)]();}[_0x187792(0x122)](_0x36eabf){const _0x4c0cc3=_0x187792,_0x35f84c=new Set(),_0x338f84=new Map();for(const _0x49918b of _0x36eabf){if(_0x4c0cc3(0x12e)===_0x49918b[_0x4c0cc3(0x127)]&&_0x4c0cc3(0x107)!==_0x49918b[_0x4c0cc3(0x12c)]&&_0x49918b[_0x4c0cc3(0x108)][_0x4c0cc3(0x10d)]){const _0x4e1615=this[_0x4c0cc3(0x111)][_0x4c0cc3(0x124)](_0x49918b[_0x4c0cc3(0x108)][_0x4c0cc3(0x10d)]);for(const _0x29b79d of _0x4e1615[_0x4c0cc3(0x12a)]()){if(!_0x29b79d['is'](_0x4c0cc3(0x112),this[_0x4c0cc3(0x123)]))continue;const _0x3d736b=this[_0x4c0cc3(0x105)](_0x29b79d);_0x338f84[_0x4c0cc3(0x11c)](_0x3d736b)||_0x338f84[_0x4c0cc3(0x126)](_0x3d736b,[]),_0x338f84[_0x4c0cc3(0x10b)](_0x3d736b)[_0x4c0cc3(0x11a)](_0x29b79d);}}if(_0x4c0cc3(0x128)===_0x49918b[_0x4c0cc3(0x127)]&&_0x49918b[_0x4c0cc3(0x12c)]===this[_0x4c0cc3(0x123)]){const _0x33d7c1=this[_0x4c0cc3(0x105)]({'getAttribute':_0x487ee2=>_0x49918b[_0x4c0cc3(0x117)][_0x4c0cc3(0x10b)](_0x487ee2)});_0x35f84c[_0x4c0cc3(0x121)](_0x33d7c1);}}for(const [_0x53fe1e,_0xc52887]of this[_0x4c0cc3(0x132)])_0x4c0cc3(0x130)===_0xc52887[_0x4c0cc3(0x119)][_0x4c0cc3(0x11d)]&&_0x35f84c[_0x4c0cc3(0x121)](_0x53fe1e);for(const _0x528970 of _0x35f84c)this[_0x4c0cc3(0x132)][_0x4c0cc3(0x113)](_0x528970);for(const [_0x5cd2a3,_0xbb07e6]of _0x338f84)this[_0x4c0cc3(0x132)][_0x4c0cc3(0x126)](_0x5cd2a3,_0xbb07e6[_0xbb07e6[_0x4c0cc3(0x10f)]-0x1]);const _0x5f43f4=new Set();for(const [_0x1121e2,_0x57602c]of _0x338f84)_0x35f84c[_0x4c0cc3(0x11c)](_0x1121e2)&&(_0x5f43f4[_0x4c0cc3(0x121)](_0x57602c[0x0]),_0x57602c[_0x4c0cc3(0x10f)]>0x1?_0x338f84[_0x4c0cc3(0x126)](_0x1121e2,_0x57602c[_0x4c0cc3(0x12f)](0x1)):_0x338f84[_0x4c0cc3(0x113)](_0x1121e2),_0x35f84c[_0x4c0cc3(0x113)](_0x1121e2));return{'removed':Array[_0x4c0cc3(0x12d)](_0x35f84c),'inserted':Array[_0x4c0cc3(0x12d)](_0x338f84[_0x4c0cc3(0x11f)]())[_0x4c0cc3(0x116)](),'moved':Array[_0x4c0cc3(0x12d)](_0x5f43f4)};}}
@@ -0,0 +1,153 @@
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
+ & ol {
74
+ list-style-type: decimal;
75
+ }
76
+
77
+ & ol ol {
78
+ list-style-type: lower-latin;
79
+ }
80
+
81
+ & ol ol ol {
82
+ list-style-type: lower-roman;
83
+ }
84
+
85
+ & ol ol ol ol {
86
+ list-style-type: upper-latin;
87
+ }
88
+
89
+ & ol ol ol ol ol {
90
+ list-style-type: upper-roman;
91
+ }
92
+
93
+ & ul {
94
+ list-style-type: disc;
95
+ }
96
+
97
+ & ul ul {
98
+ list-style-type: circle;
99
+ }
100
+
101
+ & ul ul ul {
102
+ list-style-type: square;
103
+ }
104
+
105
+ & ul ul ul ul {
106
+ list-style-type: square;
107
+ }
108
+ }
109
+ }
110
+
111
+ /* Editing styles */
112
+ .ck.ck-editor__editable {
113
+ & .footnotes.ck-widget {
114
+ /* Necessary to render properly next to floated objects, e.g. side image case. */
115
+ display: flow-root;
116
+ position: relative;
117
+ margin: 0.9em 0 0.85em;
118
+
119
+ &:not(:hover):not(.ck-widget_selected) {
120
+ outline: 1px solid var(--ck-color-base-border);
121
+ }
122
+
123
+ &[data-footnotes-list-label]::after {
124
+ content: attr(data-footnotes-list-label);
125
+
126
+ position: absolute;
127
+ top: -1px;
128
+ right: 10px;
129
+ padding: var(--ck-spacing-tiny) var(--ck-spacing-medium);
130
+ background-color: var(--ck-footnotes-widget-label-background-color);
131
+
132
+ font-size: 10px;
133
+ font-family: var(--ck-font-face);
134
+ line-height: 16px;
135
+ color: hsl(0, 0%, 100%);
136
+ white-space: nowrap;
137
+
138
+ @mixin ck-dir rtl {
139
+ left: 10px;
140
+ right: auto;
141
+ }
142
+ }
143
+ }
144
+
145
+ & .footnotes-divider {
146
+ margin-top: 0;
147
+ }
148
+
149
+ & .footnotes-list {
150
+ margin-top: 0;
151
+ margin-bottom: 0.65em;
152
+ }
153
+ }
@@ -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
+ }