@ckeditor/ckeditor5-bookmark 0.0.1 → 44.0.0-alpha.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (408) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/LICENSE.md +4 -5
  3. package/README.md +31 -3
  4. package/build/bookmark.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/bg.js +1 -0
  10. package/build/translations/bn.js +1 -0
  11. package/build/translations/bs.js +1 -0
  12. package/build/translations/ca.js +1 -0
  13. package/build/translations/cs.js +1 -0
  14. package/build/translations/da.js +1 -0
  15. package/build/translations/de-ch.js +1 -0
  16. package/build/translations/de.js +1 -0
  17. package/build/translations/el.js +1 -0
  18. package/build/translations/en-au.js +1 -0
  19. package/build/translations/en-gb.js +1 -0
  20. package/build/translations/eo.js +1 -0
  21. package/build/translations/es-co.js +1 -0
  22. package/build/translations/es.js +1 -0
  23. package/build/translations/et.js +1 -0
  24. package/build/translations/eu.js +1 -0
  25. package/build/translations/fa.js +1 -0
  26. package/build/translations/fi.js +1 -0
  27. package/build/translations/fr.js +1 -0
  28. package/build/translations/gl.js +1 -0
  29. package/build/translations/gu.js +1 -0
  30. package/build/translations/he.js +1 -0
  31. package/build/translations/hi.js +1 -0
  32. package/build/translations/hr.js +1 -0
  33. package/build/translations/hu.js +1 -0
  34. package/build/translations/hy.js +1 -0
  35. package/build/translations/id.js +1 -0
  36. package/build/translations/it.js +1 -0
  37. package/build/translations/ja.js +1 -0
  38. package/build/translations/jv.js +1 -0
  39. package/build/translations/kk.js +1 -0
  40. package/build/translations/km.js +1 -0
  41. package/build/translations/kn.js +1 -0
  42. package/build/translations/ko.js +1 -0
  43. package/build/translations/ku.js +1 -0
  44. package/build/translations/lt.js +1 -0
  45. package/build/translations/lv.js +1 -0
  46. package/build/translations/ms.js +1 -0
  47. package/build/translations/nb.js +1 -0
  48. package/build/translations/ne.js +1 -0
  49. package/build/translations/nl.js +1 -0
  50. package/build/translations/no.js +1 -0
  51. package/build/translations/oc.js +1 -0
  52. package/build/translations/pl.js +1 -0
  53. package/build/translations/pt-br.js +1 -0
  54. package/build/translations/pt.js +1 -0
  55. package/build/translations/ro.js +1 -0
  56. package/build/translations/ru.js +1 -0
  57. package/build/translations/si.js +1 -0
  58. package/build/translations/sk.js +1 -0
  59. package/build/translations/sl.js +1 -0
  60. package/build/translations/sq.js +1 -0
  61. package/build/translations/sr-latn.js +1 -0
  62. package/build/translations/sr.js +1 -0
  63. package/build/translations/sv.js +1 -0
  64. package/build/translations/th.js +1 -0
  65. package/build/translations/ti.js +1 -0
  66. package/build/translations/tk.js +1 -0
  67. package/build/translations/tr.js +1 -0
  68. package/build/translations/tt.js +1 -0
  69. package/build/translations/ug.js +1 -0
  70. package/build/translations/uk.js +1 -0
  71. package/build/translations/ur.js +1 -0
  72. package/build/translations/uz.js +1 -0
  73. package/build/translations/vi.js +1 -0
  74. package/build/translations/zh-cn.js +1 -0
  75. package/build/translations/zh.js +1 -0
  76. package/ckeditor5-metadata.json +24 -0
  77. package/dist/augmentation.d.ts +28 -0
  78. package/dist/bookmark.d.ts +34 -0
  79. package/dist/bookmarkconfig.d.ts +52 -0
  80. package/dist/bookmarkediting.d.ts +55 -0
  81. package/dist/bookmarkui.d.ts +170 -0
  82. package/dist/index-content.css +4 -0
  83. package/dist/index-editor.css +150 -0
  84. package/dist/index.css +195 -0
  85. package/dist/index.css.map +1 -0
  86. package/dist/index.d.ts +18 -0
  87. package/dist/index.js +1320 -0
  88. package/dist/index.js.map +1 -0
  89. package/dist/insertbookmarkcommand.d.ts +42 -0
  90. package/dist/translations/af.d.ts +8 -0
  91. package/dist/translations/af.js +5 -0
  92. package/dist/translations/af.umd.js +11 -0
  93. package/dist/translations/ar.d.ts +8 -0
  94. package/dist/translations/ar.js +5 -0
  95. package/dist/translations/ar.umd.js +11 -0
  96. package/dist/translations/ast.d.ts +8 -0
  97. package/dist/translations/ast.js +5 -0
  98. package/dist/translations/ast.umd.js +11 -0
  99. package/dist/translations/az.d.ts +8 -0
  100. package/dist/translations/az.js +5 -0
  101. package/dist/translations/az.umd.js +11 -0
  102. package/dist/translations/bg.d.ts +8 -0
  103. package/dist/translations/bg.js +5 -0
  104. package/dist/translations/bg.umd.js +11 -0
  105. package/dist/translations/bn.d.ts +8 -0
  106. package/dist/translations/bn.js +5 -0
  107. package/dist/translations/bn.umd.js +11 -0
  108. package/dist/translations/bs.d.ts +8 -0
  109. package/dist/translations/bs.js +5 -0
  110. package/dist/translations/bs.umd.js +11 -0
  111. package/dist/translations/ca.d.ts +8 -0
  112. package/dist/translations/ca.js +5 -0
  113. package/dist/translations/ca.umd.js +11 -0
  114. package/dist/translations/cs.d.ts +8 -0
  115. package/dist/translations/cs.js +5 -0
  116. package/dist/translations/cs.umd.js +11 -0
  117. package/dist/translations/da.d.ts +8 -0
  118. package/dist/translations/da.js +5 -0
  119. package/dist/translations/da.umd.js +11 -0
  120. package/dist/translations/de-ch.d.ts +8 -0
  121. package/dist/translations/de-ch.js +5 -0
  122. package/dist/translations/de-ch.umd.js +11 -0
  123. package/dist/translations/de.d.ts +8 -0
  124. package/dist/translations/de.js +5 -0
  125. package/dist/translations/de.umd.js +11 -0
  126. package/dist/translations/el.d.ts +8 -0
  127. package/dist/translations/el.js +5 -0
  128. package/dist/translations/el.umd.js +11 -0
  129. package/dist/translations/en-au.d.ts +8 -0
  130. package/dist/translations/en-au.js +5 -0
  131. package/dist/translations/en-au.umd.js +11 -0
  132. package/dist/translations/en-gb.d.ts +8 -0
  133. package/dist/translations/en-gb.js +5 -0
  134. package/dist/translations/en-gb.umd.js +11 -0
  135. package/dist/translations/en.d.ts +8 -0
  136. package/dist/translations/en.js +5 -0
  137. package/dist/translations/en.umd.js +11 -0
  138. package/dist/translations/eo.d.ts +8 -0
  139. package/dist/translations/eo.js +5 -0
  140. package/dist/translations/eo.umd.js +11 -0
  141. package/dist/translations/es-co.d.ts +8 -0
  142. package/dist/translations/es-co.js +5 -0
  143. package/dist/translations/es-co.umd.js +11 -0
  144. package/dist/translations/es.d.ts +8 -0
  145. package/dist/translations/es.js +5 -0
  146. package/dist/translations/es.umd.js +11 -0
  147. package/dist/translations/et.d.ts +8 -0
  148. package/dist/translations/et.js +5 -0
  149. package/dist/translations/et.umd.js +11 -0
  150. package/dist/translations/eu.d.ts +8 -0
  151. package/dist/translations/eu.js +5 -0
  152. package/dist/translations/eu.umd.js +11 -0
  153. package/dist/translations/fa.d.ts +8 -0
  154. package/dist/translations/fa.js +5 -0
  155. package/dist/translations/fa.umd.js +11 -0
  156. package/dist/translations/fi.d.ts +8 -0
  157. package/dist/translations/fi.js +5 -0
  158. package/dist/translations/fi.umd.js +11 -0
  159. package/dist/translations/fr.d.ts +8 -0
  160. package/dist/translations/fr.js +5 -0
  161. package/dist/translations/fr.umd.js +11 -0
  162. package/dist/translations/gl.d.ts +8 -0
  163. package/dist/translations/gl.js +5 -0
  164. package/dist/translations/gl.umd.js +11 -0
  165. package/dist/translations/gu.d.ts +8 -0
  166. package/dist/translations/gu.js +5 -0
  167. package/dist/translations/gu.umd.js +11 -0
  168. package/dist/translations/he.d.ts +8 -0
  169. package/dist/translations/he.js +5 -0
  170. package/dist/translations/he.umd.js +11 -0
  171. package/dist/translations/hi.d.ts +8 -0
  172. package/dist/translations/hi.js +5 -0
  173. package/dist/translations/hi.umd.js +11 -0
  174. package/dist/translations/hr.d.ts +8 -0
  175. package/dist/translations/hr.js +5 -0
  176. package/dist/translations/hr.umd.js +11 -0
  177. package/dist/translations/hu.d.ts +8 -0
  178. package/dist/translations/hu.js +5 -0
  179. package/dist/translations/hu.umd.js +11 -0
  180. package/dist/translations/hy.d.ts +8 -0
  181. package/dist/translations/hy.js +5 -0
  182. package/dist/translations/hy.umd.js +11 -0
  183. package/dist/translations/id.d.ts +8 -0
  184. package/dist/translations/id.js +5 -0
  185. package/dist/translations/id.umd.js +11 -0
  186. package/dist/translations/it.d.ts +8 -0
  187. package/dist/translations/it.js +5 -0
  188. package/dist/translations/it.umd.js +11 -0
  189. package/dist/translations/ja.d.ts +8 -0
  190. package/dist/translations/ja.js +5 -0
  191. package/dist/translations/ja.umd.js +11 -0
  192. package/dist/translations/jv.d.ts +8 -0
  193. package/dist/translations/jv.js +5 -0
  194. package/dist/translations/jv.umd.js +11 -0
  195. package/dist/translations/kk.d.ts +8 -0
  196. package/dist/translations/kk.js +5 -0
  197. package/dist/translations/kk.umd.js +11 -0
  198. package/dist/translations/km.d.ts +8 -0
  199. package/dist/translations/km.js +5 -0
  200. package/dist/translations/km.umd.js +11 -0
  201. package/dist/translations/kn.d.ts +8 -0
  202. package/dist/translations/kn.js +5 -0
  203. package/dist/translations/kn.umd.js +11 -0
  204. package/dist/translations/ko.d.ts +8 -0
  205. package/dist/translations/ko.js +5 -0
  206. package/dist/translations/ko.umd.js +11 -0
  207. package/dist/translations/ku.d.ts +8 -0
  208. package/dist/translations/ku.js +5 -0
  209. package/dist/translations/ku.umd.js +11 -0
  210. package/dist/translations/lt.d.ts +8 -0
  211. package/dist/translations/lt.js +5 -0
  212. package/dist/translations/lt.umd.js +11 -0
  213. package/dist/translations/lv.d.ts +8 -0
  214. package/dist/translations/lv.js +5 -0
  215. package/dist/translations/lv.umd.js +11 -0
  216. package/dist/translations/ms.d.ts +8 -0
  217. package/dist/translations/ms.js +5 -0
  218. package/dist/translations/ms.umd.js +11 -0
  219. package/dist/translations/nb.d.ts +8 -0
  220. package/dist/translations/nb.js +5 -0
  221. package/dist/translations/nb.umd.js +11 -0
  222. package/dist/translations/ne.d.ts +8 -0
  223. package/dist/translations/ne.js +5 -0
  224. package/dist/translations/ne.umd.js +11 -0
  225. package/dist/translations/nl.d.ts +8 -0
  226. package/dist/translations/nl.js +5 -0
  227. package/dist/translations/nl.umd.js +11 -0
  228. package/dist/translations/no.d.ts +8 -0
  229. package/dist/translations/no.js +5 -0
  230. package/dist/translations/no.umd.js +11 -0
  231. package/dist/translations/oc.d.ts +8 -0
  232. package/dist/translations/oc.js +5 -0
  233. package/dist/translations/oc.umd.js +11 -0
  234. package/dist/translations/pl.d.ts +8 -0
  235. package/dist/translations/pl.js +5 -0
  236. package/dist/translations/pl.umd.js +11 -0
  237. package/dist/translations/pt-br.d.ts +8 -0
  238. package/dist/translations/pt-br.js +5 -0
  239. package/dist/translations/pt-br.umd.js +11 -0
  240. package/dist/translations/pt.d.ts +8 -0
  241. package/dist/translations/pt.js +5 -0
  242. package/dist/translations/pt.umd.js +11 -0
  243. package/dist/translations/ro.d.ts +8 -0
  244. package/dist/translations/ro.js +5 -0
  245. package/dist/translations/ro.umd.js +11 -0
  246. package/dist/translations/ru.d.ts +8 -0
  247. package/dist/translations/ru.js +5 -0
  248. package/dist/translations/ru.umd.js +11 -0
  249. package/dist/translations/si.d.ts +8 -0
  250. package/dist/translations/si.js +5 -0
  251. package/dist/translations/si.umd.js +11 -0
  252. package/dist/translations/sk.d.ts +8 -0
  253. package/dist/translations/sk.js +5 -0
  254. package/dist/translations/sk.umd.js +11 -0
  255. package/dist/translations/sl.d.ts +8 -0
  256. package/dist/translations/sl.js +5 -0
  257. package/dist/translations/sl.umd.js +11 -0
  258. package/dist/translations/sq.d.ts +8 -0
  259. package/dist/translations/sq.js +5 -0
  260. package/dist/translations/sq.umd.js +11 -0
  261. package/dist/translations/sr-latn.d.ts +8 -0
  262. package/dist/translations/sr-latn.js +5 -0
  263. package/dist/translations/sr-latn.umd.js +11 -0
  264. package/dist/translations/sr.d.ts +8 -0
  265. package/dist/translations/sr.js +5 -0
  266. package/dist/translations/sr.umd.js +11 -0
  267. package/dist/translations/sv.d.ts +8 -0
  268. package/dist/translations/sv.js +5 -0
  269. package/dist/translations/sv.umd.js +11 -0
  270. package/dist/translations/th.d.ts +8 -0
  271. package/dist/translations/th.js +5 -0
  272. package/dist/translations/th.umd.js +11 -0
  273. package/dist/translations/ti.d.ts +8 -0
  274. package/dist/translations/ti.js +5 -0
  275. package/dist/translations/ti.umd.js +11 -0
  276. package/dist/translations/tk.d.ts +8 -0
  277. package/dist/translations/tk.js +5 -0
  278. package/dist/translations/tk.umd.js +11 -0
  279. package/dist/translations/tr.d.ts +8 -0
  280. package/dist/translations/tr.js +5 -0
  281. package/dist/translations/tr.umd.js +11 -0
  282. package/dist/translations/tt.d.ts +8 -0
  283. package/dist/translations/tt.js +5 -0
  284. package/dist/translations/tt.umd.js +11 -0
  285. package/dist/translations/ug.d.ts +8 -0
  286. package/dist/translations/ug.js +5 -0
  287. package/dist/translations/ug.umd.js +11 -0
  288. package/dist/translations/uk.d.ts +8 -0
  289. package/dist/translations/uk.js +5 -0
  290. package/dist/translations/uk.umd.js +11 -0
  291. package/dist/translations/ur.d.ts +8 -0
  292. package/dist/translations/ur.js +5 -0
  293. package/dist/translations/ur.umd.js +11 -0
  294. package/dist/translations/uz.d.ts +8 -0
  295. package/dist/translations/uz.js +5 -0
  296. package/dist/translations/uz.umd.js +11 -0
  297. package/dist/translations/vi.d.ts +8 -0
  298. package/dist/translations/vi.js +5 -0
  299. package/dist/translations/vi.umd.js +11 -0
  300. package/dist/translations/zh-cn.d.ts +8 -0
  301. package/dist/translations/zh-cn.js +5 -0
  302. package/dist/translations/zh-cn.umd.js +11 -0
  303. package/dist/translations/zh.d.ts +8 -0
  304. package/dist/translations/zh.js +5 -0
  305. package/dist/translations/zh.umd.js +11 -0
  306. package/dist/ui/bookmarkactionsview.d.ts +106 -0
  307. package/dist/ui/bookmarkformview.d.ts +122 -0
  308. package/dist/updatebookmarkcommand.d.ts +46 -0
  309. package/dist/utils.d.ts +15 -0
  310. package/lang/contexts.json +13 -0
  311. package/lang/translations/af.po +56 -0
  312. package/lang/translations/ar.po +56 -0
  313. package/lang/translations/ast.po +56 -0
  314. package/lang/translations/az.po +56 -0
  315. package/lang/translations/bg.po +56 -0
  316. package/lang/translations/bn.po +56 -0
  317. package/lang/translations/bs.po +56 -0
  318. package/lang/translations/ca.po +56 -0
  319. package/lang/translations/cs.po +56 -0
  320. package/lang/translations/da.po +56 -0
  321. package/lang/translations/de-ch.po +56 -0
  322. package/lang/translations/de.po +56 -0
  323. package/lang/translations/el.po +56 -0
  324. package/lang/translations/en-au.po +56 -0
  325. package/lang/translations/en-gb.po +56 -0
  326. package/lang/translations/en.po +56 -0
  327. package/lang/translations/eo.po +56 -0
  328. package/lang/translations/es-co.po +56 -0
  329. package/lang/translations/es.po +56 -0
  330. package/lang/translations/et.po +56 -0
  331. package/lang/translations/eu.po +56 -0
  332. package/lang/translations/fa.po +56 -0
  333. package/lang/translations/fi.po +56 -0
  334. package/lang/translations/fr.po +56 -0
  335. package/lang/translations/gl.po +56 -0
  336. package/lang/translations/gu.po +56 -0
  337. package/lang/translations/he.po +56 -0
  338. package/lang/translations/hi.po +56 -0
  339. package/lang/translations/hr.po +56 -0
  340. package/lang/translations/hu.po +56 -0
  341. package/lang/translations/hy.po +56 -0
  342. package/lang/translations/id.po +56 -0
  343. package/lang/translations/it.po +56 -0
  344. package/lang/translations/ja.po +56 -0
  345. package/lang/translations/jv.po +56 -0
  346. package/lang/translations/kk.po +56 -0
  347. package/lang/translations/km.po +56 -0
  348. package/lang/translations/kn.po +56 -0
  349. package/lang/translations/ko.po +56 -0
  350. package/lang/translations/ku.po +56 -0
  351. package/lang/translations/lt.po +56 -0
  352. package/lang/translations/lv.po +56 -0
  353. package/lang/translations/ms.po +56 -0
  354. package/lang/translations/nb.po +56 -0
  355. package/lang/translations/ne.po +56 -0
  356. package/lang/translations/nl.po +56 -0
  357. package/lang/translations/no.po +56 -0
  358. package/lang/translations/oc.po +56 -0
  359. package/lang/translations/pl.po +56 -0
  360. package/lang/translations/pt-br.po +56 -0
  361. package/lang/translations/pt.po +56 -0
  362. package/lang/translations/ro.po +56 -0
  363. package/lang/translations/ru.po +56 -0
  364. package/lang/translations/si.po +56 -0
  365. package/lang/translations/sk.po +56 -0
  366. package/lang/translations/sl.po +56 -0
  367. package/lang/translations/sq.po +56 -0
  368. package/lang/translations/sr-latn.po +56 -0
  369. package/lang/translations/sr.po +56 -0
  370. package/lang/translations/sv.po +56 -0
  371. package/lang/translations/th.po +56 -0
  372. package/lang/translations/ti.po +56 -0
  373. package/lang/translations/tk.po +56 -0
  374. package/lang/translations/tr.po +56 -0
  375. package/lang/translations/tt.po +56 -0
  376. package/lang/translations/ug.po +56 -0
  377. package/lang/translations/uk.po +56 -0
  378. package/lang/translations/ur.po +56 -0
  379. package/lang/translations/uz.po +56 -0
  380. package/lang/translations/vi.po +56 -0
  381. package/lang/translations/zh-cn.po +56 -0
  382. package/lang/translations/zh.po +56 -0
  383. package/package.json +32 -3
  384. package/src/augmentation.d.ts +24 -0
  385. package/src/augmentation.js +5 -0
  386. package/src/bookmark.d.ts +30 -0
  387. package/src/bookmark.js +36 -0
  388. package/src/bookmarkconfig.d.ts +48 -0
  389. package/src/bookmarkconfig.js +5 -0
  390. package/src/bookmarkediting.d.ts +51 -0
  391. package/src/bookmarkediting.js +211 -0
  392. package/src/bookmarkui.d.ts +166 -0
  393. package/src/bookmarkui.js +582 -0
  394. package/src/index.d.ts +14 -0
  395. package/src/index.js +13 -0
  396. package/src/insertbookmarkcommand.d.ts +38 -0
  397. package/src/insertbookmarkcommand.js +113 -0
  398. package/src/ui/bookmarkactionsview.d.ts +102 -0
  399. package/src/ui/bookmarkactionsview.js +154 -0
  400. package/src/ui/bookmarkformview.d.ts +118 -0
  401. package/src/ui/bookmarkformview.js +203 -0
  402. package/src/updatebookmarkcommand.d.ts +42 -0
  403. package/src/updatebookmarkcommand.js +75 -0
  404. package/src/utils.d.ts +11 -0
  405. package/src/utils.js +19 -0
  406. package/theme/bookmark.css +50 -0
  407. package/theme/bookmarkactions.css +44 -0
  408. package/theme/bookmarkform.css +42 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,4 @@
1
+ Changelog
2
+ =========
3
+
4
+ All changes in the package are documented in https://github.com/ckeditor/ckeditor5/blob/master/CHANGELOG.md.
package/LICENSE.md CHANGED
@@ -1,18 +1,17 @@
1
1
  Software License Agreement
2
2
  ==========================
3
3
 
4
- **CKEditor 5 bookmark feature** – https://github.com/ckeditor/ckeditor5-bookmark <br>
4
+ **CKEditor&nbsp;5 bookmark feature** – https://github.com/ckeditor/packages/ckeditor5-bookmarks <br>
5
5
  Copyright (c) 2003–2024, [CKSource Holding sp. z o.o.](https://cksource.com) All rights reserved.
6
6
 
7
- CKEditor 5 bookmark feature is licensed under a commercial license and is protected by copyright law.
8
- For more details about available licensing options please contact us at sales@cksource.com.
7
+ Licensed under the terms of [GNU General Public License Version 2 or later](http://www.gnu.org/licenses/gpl.html).
9
8
 
10
9
  Sources of Intellectual Property Included in CKEditor
11
10
  -----------------------------------------------------
12
11
 
13
- Where not otherwise indicated, all CKEditor content is authored by CKSource engineers and consists of CKSource-owned intellectual property.
12
+ Where not otherwise indicated, all CKEditor content is authored by CKSource engineers and consists of CKSource-owned intellectual property. In some specific instances, CKEditor will incorporate work done by developers outside of CKSource with their express permission.
14
13
 
15
14
  Trademarks
16
15
  ----------
17
16
 
18
- **CKEditor** is a trademark of [CKSource Holding sp. z o.o.](https://cksource.com). All other brand and product names are trademarks, registered trademarks, or service marks of their respective holders.
17
+ **CKEditor** is a trademark of [CKSource Holding sp. z o.o.](https://cksource.com) All other brand and product names are trademarks, registered trademarks, or service marks of their respective holders.
package/README.md CHANGED
@@ -1,4 +1,32 @@
1
- CKEditor 5 bookmark
2
- ===================
1
+ CKEditor&nbsp;5 bookmark feature
2
+ ================================
3
3
 
4
- This is an initial package for development purposes. It does not contain code yet.
4
+ [![npm version](https://badge.fury.io/js/%40ckeditor%2Fckeditor5-bookmark.svg)](https://www.npmjs.com/package/@ckeditor/ckeditor5-bookmark)
5
+ [![Coverage Status](https://coveralls.io/repos/github/ckeditor/ckeditor5/badge.svg?branch=master)](https://coveralls.io/github/ckeditor/ckeditor5?branch=master)
6
+ [![CircleCI](https://circleci.com/gh/ckeditor/ckeditor5.svg?style=shield)](https://app.circleci.com/pipelines/github/ckeditor/ckeditor5?branch=master)
7
+
8
+ This package contains the bookmark feature for CKEditor&nbsp;5. It allows the addition and management of the bookmarks attached to the editor's content for fast access and more efficient content creation.
9
+
10
+ ## Installation
11
+
12
+ This plugin is part of the `ckeditor5` package. Install the whole package to use it.
13
+
14
+ ```bash
15
+ npm install ckeditor5
16
+ ```
17
+
18
+ ## Create free account
19
+
20
+ If you want to check full CKEditor&nbsp;5 capabilities, sign up for a [free non-commitment 14-day trial](https://portal.ckeditor.com/signup).
21
+
22
+ ## Demo
23
+
24
+ Check out the [demo in the bookmark feature guide](https://ckeditor.com/docs/ckeditor5/latest/features/bookmarks.html#demo).
25
+
26
+ ## Documentation
27
+
28
+ See the [`@ckeditor/ckeditor5-bookmark` package](https://ckeditor.com/docs/ckeditor5/latest/api/bookmark.html) page in [CKEditor&nbsp;5 documentation](https://ckeditor.com/docs/ckeditor5/latest/) as well as the [bookmark](https://ckeditor.com/docs/ckeditor5/latest/features/bookmarks.html) feature guide.
29
+
30
+ ## License
31
+
32
+ Licensed under the terms of [GNU General Public License Version 2 or later](http://www.gnu.org/licenses/gpl.html). For full details about the license, please check the `LICENSE.md` file or [https://ckeditor.com/legal/ckeditor-oss-license](https://ckeditor.com/legal/ckeditor-oss-license).
@@ -0,0 +1,5 @@
1
+ !function(e){const t=e.en=e.en||{};t.dictionary=Object.assign(t.dictionary||{},{Bookmark:"Bookmark","Bookmark must not be empty.":"Bookmark must not be empty.","Bookmark name":"Bookmark name","Bookmark name already exists.":"Bookmark name already exists.","Bookmark name cannot contain space characters.":"Bookmark name cannot contain space characters.","bookmark widget":"bookmark widget","Edit bookmark":"Edit bookmark","Enter the bookmark name without spaces.":"Enter the bookmark name without spaces.",Insert:"Insert","Remove bookmark":"Remove bookmark",Update:"Update"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),
2
+ /*!
3
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
4
+ * For licensing, see LICENSE.md.
5
+ */(()=>{var e={501:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var i=o(758),r=o.n(i),s=o(935),n=o.n(s)()(r());n.push([e.id,'.ck-vertical-form .ck-button:after{bottom:-1px;content:"";position:absolute;right:-1px;top:-1px;width:0;z-index:1}.ck-vertical-form .ck-button:focus:after{display:none}@media screen and (max-width:600px){.ck.ck-responsive-form .ck-button:after{bottom:-1px;content:"";position:absolute;right:-1px;top:-1px;width:0;z-index:1}.ck.ck-responsive-form .ck-button:focus:after{display:none}}.ck-vertical-form>.ck-button:nth-last-child(2):after{border-right:1px solid var(--ck-color-base-border)}.ck.ck-responsive-form{padding:var(--ck-spacing-large)}.ck.ck-responsive-form:focus{outline:none}[dir=ltr] .ck.ck-responsive-form>:not(:first-child),[dir=rtl] .ck.ck-responsive-form>:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-responsive-form{padding:0;width:calc(var(--ck-input-width)*.8)}.ck.ck-responsive-form .ck-labeled-field-view{margin:var(--ck-spacing-large) var(--ck-spacing-large) 0}.ck.ck-responsive-form .ck-labeled-field-view .ck-input-number,.ck.ck-responsive-form .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-responsive-form .ck-labeled-field-view .ck-labeled-field-view__error{white-space:normal}.ck.ck-responsive-form>.ck-button:nth-last-child(2):after{border-right:1px solid var(--ck-color-base-border)}.ck.ck-responsive-form>.ck-button:last-child,.ck.ck-responsive-form>.ck-button:nth-last-child(2){border-radius:0;margin-top:var(--ck-spacing-large);padding:var(--ck-spacing-standard)}.ck.ck-responsive-form>.ck-button:last-child:not(:focus),.ck.ck-responsive-form>.ck-button:nth-last-child(2):not(:focus){border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-responsive-form>.ck-button:last-child,[dir=ltr] .ck.ck-responsive-form>.ck-button:nth-last-child(2),[dir=rtl] .ck.ck-responsive-form>.ck-button:last-child,[dir=rtl] .ck.ck-responsive-form>.ck-button:nth-last-child(2){margin-left:0}[dir=rtl] .ck.ck-responsive-form>.ck-button:last-child:last-of-type,[dir=rtl] .ck.ck-responsive-form>.ck-button:nth-last-child(2):last-of-type{border-right:1px solid var(--ck-color-base-border)}}',""]);const a=n},493:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var i=o(758),r=o.n(i),s=o(935),n=o.n(s)()(r());n.push([e.id,":root{--ck-bookmark-icon-hover-fill-color:var(--ck-color-widget-hover-border);--ck-bookmark-icon-selected-fill-color:var(--ck-color-focus-border);--ck-bookmark-icon-animation-duration:var(--ck-widget-handler-animation-duration);--ck-bookmark-icon-animation-curve:var(--ck-widget-handler-animation-curve)}.ck-bookmark.ck-widget{outline:none}.ck-bookmark.ck-widget .ck-bookmark__icon .ck-icon__fill{transition:fill var(--ck-bookmark-icon-animation-duration) var(--ck-bookmark-icon-animation-curve)}.ck-bookmark.ck-widget:hover .ck-bookmark__icon .ck-icon__fill{fill:var(--ck-bookmark-icon-hover-fill-color)}.ck-bookmark.ck-widget.ck-widget_selected .ck-bookmark__icon .ck-icon__fill{fill:var(--ck-bookmark-icon-selected-fill-color)}.ck-bookmark.ck-widget.ck-widget_selected,.ck-bookmark.ck-widget.ck-widget_selected:hover{outline:none}.ck-bookmark.ck-widget .ck-bookmark__icon{position:relative;top:-.1em}.ck-bookmark.ck-widget .ck-bookmark__icon .ck-icon{height:1.2em;vertical-align:middle;width:auto}.ck .ck-fake-bookmark-selection{background:var(--ck-color-link-fake-selection)}.ck .ck-fake-bookmark-selection_collapsed{border-right:1px solid var(--ck-color-base-text);height:100%;margin-right:-1px;outline:1px solid hsla(0,0%,100%,.5)}",""]);const a=n},324:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var i=o(758),r=o.n(i),s=o(935),n=o.n(s)()(r());n.push([e.id,".ck.ck-bookmark-actions{align-items:center;display:flex}.ck.ck-bookmark-actions .ck-bookmark-actions__preview{cursor:default;font-weight:400;max-width:var(--ck-input-width);min-width:3em;overflow:hidden;text-align:center;text-overflow:ellipsis;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}@media screen and (max-width:600px){.ck.ck-bookmark-actions{display:flex;flex-wrap:wrap}.ck.ck-bookmark-actions .ck-bookmark-actions__preview{flex-basis:100%;margin:var(--ck-spacing-standard) var(--ck-spacing-standard) 0;min-width:auto}.ck.ck-bookmark-actions.ck-responsive-form .ck-button{flex-basis:50%;margin-top:var(--ck-spacing-standard)}}",""]);const a=n},731:(e,t,o)=>{"use strict";o.d(t,{A:()=>a});var i=o(758),r=o.n(i),s=o(935),n=o.n(s)()(r());n.push([e.id,".ck.ck-bookmark-view:focus{outline:none}.ck.ck-bookmark-form{align-items:flex-start;display:flex}@media screen and (max-width:600px){.ck.ck-bookmark-form{flex-wrap:wrap}.ck.ck-bookmark-form .ck-button,.ck.ck-bookmark-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-bookmark-form .ck-button{justify-content:center}.ck.ck-bookmark-form.ck-responsive-form>.ck-button:last-child{border-radius:var(--ck-border-radius);margin:var(--ck-spacing-large);padding:0 var(--ck-spacing-standard)}}",""]);const a=n},935:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var o="",i=void 0!==t[5];return t[4]&&(o+="@supports (".concat(t[4],") {")),t[2]&&(o+="@media ".concat(t[2]," {")),i&&(o+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),o+=e(t),i&&(o+="}"),t[2]&&(o+="}"),t[4]&&(o+="}"),o})).join("")},t.i=function(e,o,i,r,s){"string"==typeof e&&(e=[[null,e,void 0]]);var n={};if(i)for(var a=0;a<this.length;a++){var c=this[a][0];null!=c&&(n[c]=!0)}for(var l=0;l<e.length;l++){var d=[].concat(e[l]);i&&n[d[0]]||(void 0!==s&&(void 0===d[5]||(d[1]="@layer".concat(d[5].length>0?" ".concat(d[5]):""," {").concat(d[1],"}")),d[5]=s),o&&(d[2]?(d[1]="@media ".concat(d[2]," {").concat(d[1],"}"),d[2]=o):d[2]=o),r&&(d[4]?(d[1]="@supports (".concat(d[4],") {").concat(d[1],"}"),d[4]=r):d[4]="".concat(r)),t.push(d))}},t}},758:e=>{"use strict";e.exports=function(e){return e[1]}},591:e=>{"use strict";var t=[];function o(e){for(var o=-1,i=0;i<t.length;i++)if(t[i].identifier===e){o=i;break}return o}function i(e,i){for(var s={},n=[],a=0;a<e.length;a++){var c=e[a],l=i.base?c[0]+i.base:c[0],d=s[l]||0,k="".concat(l," ").concat(d);s[l]=d+1;var m=o(k),u={css:c[1],media:c[2],sourceMap:c[3],supports:c[4],layer:c[5]};if(-1!==m)t[m].references++,t[m].updater(u);else{var h=r(u,i);i.byIndex=a,t.splice(a,0,{identifier:k,updater:h,references:1})}n.push(k)}return n}function r(e,t){var o=t.domAPI(t);o.update(e);return function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap&&t.supports===e.supports&&t.layer===e.layer)return;o.update(e=t)}else o.remove()}}e.exports=function(e,r){var s=i(e=e||[],r=r||{});return function(e){e=e||[];for(var n=0;n<s.length;n++){var a=o(s[n]);t[a].references--}for(var c=i(e,r),l=0;l<s.length;l++){var d=o(s[l]);0===t[d].references&&(t[d].updater(),t.splice(d,1))}s=c}}},128:e=>{"use strict";var t={};e.exports=function(e,o){var i=function(e){if(void 0===t[e]){var o=document.querySelector(e);if(window.HTMLIFrameElement&&o instanceof window.HTMLIFrameElement)try{o=o.contentDocument.head}catch(e){o=null}t[e]=o}return t[e]}(e);if(!i)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");i.appendChild(o)}},51:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},21:e=>{"use strict";e.exports=function(e,t){Object.keys(t).forEach((function(o){e.setAttribute(o,t[o])}))}},639:e=>{"use strict";var t,o=(t=[],function(e,o){return t[e]=o,t.filter(Boolean).join("\n")});function i(e,t,i,r){var s;if(i)s="";else{s="",r.supports&&(s+="@supports (".concat(r.supports,") {")),r.media&&(s+="@media ".concat(r.media," {"));var n=void 0!==r.layer;n&&(s+="@layer".concat(r.layer.length>0?" ".concat(r.layer):""," {")),s+=r.css,n&&(s+="}"),r.media&&(s+="}"),r.supports&&(s+="}")}if(e.styleSheet)e.styleSheet.cssText=o(t,s);else{var a=document.createTextNode(s),c=e.childNodes;c[t]&&e.removeChild(c[t]),c.length?e.insertBefore(a,c[t]):e.appendChild(a)}}var r={singleton:null,singletonCounter:0};e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=r.singletonCounter++,o=r.singleton||(r.singleton=e.insertStyleElement(e));return{update:function(e){i(o,t,!1,e)},remove:function(e){i(o,t,!0,e)}}}},782:(e,t,o)=>{e.exports=o(237)("./src/core.js")},783:(e,t,o)=>{e.exports=o(237)("./src/engine.js")},311:(e,t,o)=>{e.exports=o(237)("./src/ui.js")},584:(e,t,o)=>{e.exports=o(237)("./src/utils.js")},901:(e,t,o)=>{e.exports=o(237)("./src/widget.js")},237:e=>{"use strict";e.exports=CKEditor5.dll}},t={};function o(i){var r=t[i];if(void 0!==r)return r.exports;var s=t[i]={id:i,exports:{}};return e[i](s,s.exports,o),s.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var i in t)o.o(t,i)&&!o.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};(()=>{"use strict";o.r(i),o.d(i,{Bookmark:()=>M,BookmarkEditing:()=>F,BookmarkUI:()=>O,InsertBookmarkCommand:()=>x,UpdateBookmarkCommand:()=>A});var e=o(782),t=o(901),r=o(311),s=o(783),n=o(584),a=o(591),c=o.n(a),l=o(639),d=o.n(l),k=o(128),m=o.n(k),u=o(21),h=o.n(u),b=o(51),f=o.n(b),p=o(501),w={attributes:{"data-cke":!0}};w.setAttributes=h(),w.insert=m().bind(null,"head"),w.domAPI=d(),w.insertStyleElement=f();c()(p.A,w);p.A&&p.A.locals&&p.A.locals;var v=o(731),g={attributes:{"data-cke":!0}};g.setAttributes=h(),g.insert=m().bind(null,"head"),g.domAPI=d(),g.insertStyleElement=f();c()(v.A,g);v.A&&v.A.locals&&v.A.locals;class _ extends r.View{constructor(e,t){super(e),this.focusTracker=new n.FocusTracker,this.keystrokes=new n.KeystrokeHandler,this._focusables=new r.ViewCollection;const o=e.t;this._validators=t,this.idInputView=this._createIdInput(),this.buttonView=this._createButton(o("Insert"),"ck-button-action ck-button-bold"),this.buttonView.type="submit",this.children=this._createViewChildren(),this._focusCycler=new r.FocusCycler({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});this.setTemplate({tag:"form",attributes:{class:["ck","ck-bookmark-view"],tabindex:"-1"},children:this.children})}render(){super.render(),(0,r.submitHandler)({view:this});[this.idInputView,this.buttonView].forEach((e=>{this._focusables.add(e),this.focusTracker.add(e.element)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}isValid(){this.resetFormStatus();for(const e of this._validators){const t=e(this);if(t)return this.idInputView.errorText=t,!1}return!0}resetFormStatus(){this.idInputView.errorText=null}_createViewChildren(){const e=this.createCollection(),t=this.t;return e.add(new r.FormHeaderView(this.locale,{label:t("Bookmark")})),e.add(this._createFormContentView()),e}_createFormContentView(){const e=new r.View(this.locale),t=this.createCollection();return t.add(this.idInputView),t.add(this.buttonView),e.setTemplate({tag:"div",attributes:{class:["ck","ck-bookmark-form","ck-responsive-form"]},children:t}),e}_createIdInput(){const e=this.locale.t,t=new r.LabeledFieldView(this.locale,r.createLabeledInputText);return t.label=e("Bookmark name"),t.infoText=e("Enter the bookmark name without spaces."),t}_createButton(e,t){const o=new r.ButtonView(this.locale);return o.set({label:e,withText:!0}),o.extendTemplate({attributes:{class:t}}),o}get id(){const{element:e}=this.idInputView.fieldView;return e?e.value.trim():null}}var V=o(324),y={attributes:{"data-cke":!0}};y.setAttributes=h(),y.insert=m().bind(null,"head"),y.domAPI=d(),y.insertStyleElement=f();c()(V.A,y);V.A&&V.A.locals&&V.A.locals;class B extends r.View{constructor(t){super(t),this.focusTracker=new n.FocusTracker,this.keystrokes=new n.KeystrokeHandler,this._focusables=new r.ViewCollection;const o=t.t;this.bookmarkPreviewView=this._createBookmarkPreviewView(),this.removeButtonView=this._createButton(o("Remove bookmark"),e.icons.remove,"remove",this.bookmarkPreviewView),this.editButtonView=this._createButton(o("Edit bookmark"),e.icons.pencil,"edit",this.bookmarkPreviewView),this.set("id",void 0),this._focusCycler=new r.FocusCycler({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-bookmark-actions","ck-responsive-form"],tabindex:"-1"},children:[this.bookmarkPreviewView,this.editButtonView,this.removeButtonView]})}render(){super.render();[this.editButtonView,this.removeButtonView].forEach((e=>{this._focusables.add(e),this.focusTracker.add(e.element)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createButton(e,t,o,i){const s=new r.ButtonView(this.locale);return s.set({label:e,icon:t,tooltip:!0}),s.delegate("execute").to(this,o),s.labelView.unbind("id"),s.labelView.bind("id").to(s,"ariaLabelledBy",(e=>e.split(" ")[0])),s.ariaLabelledBy=`${s.ariaLabelledBy} ${i.id}`,s}_createBookmarkPreviewView(){const e=new r.LabelView(this.locale);return e.extendTemplate({attributes:{class:["ck","ck-bookmark-actions__preview"]}}),e.bind("text").to(this,"id"),e}}function I(e){return!(!e||"string"!=typeof e)&&!/\s/.test(e)}class x extends e.Command{refresh(){const e=this.editor.model.document.selection,t=this._getPositionToInsertBookmark(e);this.isEnabled=!!t}execute(e){if(!e)return;const{bookmarkId:t}=e;if(!I(t))return void(0,n.logWarning)("insert-bookmark-command-executed-with-invalid-name");const o=this.editor,i=o.model,r=i.document.selection;i.change((e=>{let s=this._getPositionToInsertBookmark(r);if(!i.schema.checkChild(s,"bookmark")){const e=o.execute("insertParagraph",{position:s});if(!e)return;s=e}const n=e.createElement("bookmark",{...Object.fromEntries(r.getAttributes()),bookmarkId:t});i.insertObject(n,s,null,{setSelection:"on"})}))}_getPositionToInsertBookmark(e){const t=this.editor.model,o=t.schema,i=e.getFirstRange(),r=i.start;if(E(r,o))return r;for(const{previousPosition:e,item:r}of i){if(r.is("element")&&o.checkChild(r,"$text")&&E(r,o))return t.createPositionAt(r,0);if(E(e,o))return e}return null}}function E(e,t){return!!t.checkChild(e,"bookmark")||!!t.checkChild(e,"paragraph")&&t.checkChild("paragraph","bookmark")}class A extends e.Command{refresh(){const e=T(this.editor.model.document.selection);this.isEnabled=!!e,this.value=e?e.getAttribute("bookmarkId"):void 0}execute(e){if(!e)return;const{bookmarkId:t}=e;if(!I(t))return void(0,n.logWarning)("update-bookmark-command-executed-with-invalid-name");const o=this.editor.model,i=T(o.document.selection);i&&o.change((e=>{e.setAttribute("bookmarkId",t,i)}))}}function T(e){const t=e.getSelectedElement();return t&&t.is("element","bookmark")?t:null}var C=o(493),P={attributes:{"data-cke":!0}};P.setAttributes=h(),P.insert=m().bind(null,"head"),P.domAPI=d(),P.insertStyleElement=f();c()(C.A,P);C.A&&C.A.locals&&C.A.locals;class F extends e.Plugin{constructor(){super(...arguments),this._bookmarkElements=new Map}static get pluginName(){return"BookmarkEditing"}static get isOfficialPlugin(){return!0}init(){const{editor:e}=this;this._defineSchema(),this._defineConverters(),e.commands.add("insertBookmark",new x(e)),e.commands.add("updateBookmark",new A(e)),this.listenTo(e.model.document,"change:data",(()=>{this._trackBookmarkElements()}))}getElementForBookmarkId(e){for(const[t,o]of this._bookmarkElements)if(o==e)return t;return null}_defineSchema(){this.editor.model.schema.register("bookmark",{inheritAllFrom:"$inlineObject",allowAttributes:"bookmarkId",disallowAttributes:["linkHref","htmlA"]})}_defineConverters(){const{editor:e}=this,{conversion:o,t:i}=e;e.data.htmlProcessor.domConverter.registerInlineObjectMatcher((e=>S(e))),e.editing.view.domConverter.registerInlineObjectMatcher((e=>S(e,!1))),o.for("dataDowncast").elementToElement({model:{name:"bookmark",attributes:["bookmarkId"]},view:(e,{writer:t})=>t.createEmptyElement("a",{id:e.getAttribute("bookmarkId")})}),o.for("editingDowncast").elementToElement({model:{name:"bookmark",attributes:["bookmarkId"]},view:(e,{writer:o})=>{const r=e.getAttribute("bookmarkId"),s=o.createContainerElement("a",{id:r,class:"ck-bookmark"},[this._createBookmarkUIElement(o)]);this._bookmarkElements.set(e,r);return(0,t.toWidget)(s,o,{label:()=>`${r} ${i("bookmark widget")}`})}}),o.for("upcast").add((t=>t.on("element:a",function(e){return(t,o,i)=>{const r=o.viewItem,s=S(r,!1);if(!s||!i.consumable.test(r,s))return;const n=function(e){const t=e.config.get("bookmark.enableNonEmptyAnchorConversion");return void 0===t||t}(e);if(!n&&!r.isEmpty)return;const a=i.writer,c=r.getAttribute("id"),l=r.getAttribute("name"),d=c||l,k=a.createElement("bookmark",{bookmarkId:d});if(!i.safeInsert(k,o.modelCursor))return;i.consumable.consume(r,s),c===l&&i.consumable.consume(r,{attributes:["name"]}),i.updateConversionResult(k,o);const{modelCursor:m,modelRange:u}=i.convertChildren(r,o.modelCursor);o.modelCursor=m,o.modelRange=a.createRange(o.modelRange.start,u.end)}}(e))))}_createBookmarkUIElement(t){return t.createUIElement("span",{class:"ck-bookmark__icon"},(function(t){const o=this.toDomElement(t),i=new r.IconView;return i.set({content:e.icons.bookmarkInline,isColorInherited:!1}),i.render(),o.appendChild(i.element),o}))}_trackBookmarkElements(){this._bookmarkElements.forEach(((e,t)=>{"$graveyard"===t.root.rootName&&this._bookmarkElements.delete(t)}))}}function S(e,t=!0){if(!("a"===e.name))return null;if(t&&!e.isEmpty)return null;const o=e.hasAttribute("id"),i=e.hasAttribute("name"),r=e.hasAttribute("href");return o&&!r?{name:!0,attributes:["id"]}:i&&!r?{name:!0,attributes:["name"]}:null}const U="bookmark-ui";class O extends e.Plugin{constructor(){super(...arguments),this.actionsView=null,this.formView=null}static get requires(){return[F,r.ContextualBalloon]}static get pluginName(){return"BookmarkUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor;e.editing.view.addObserver(s.ClickObserver),this._balloon=e.plugins.get(r.ContextualBalloon),this._createToolbarBookmarkButton(),this._enableBalloonActivators(),e.conversion.for("editingDowncast").markerToHighlight({model:U,view:{classes:["ck-fake-bookmark-selection"]}}),e.conversion.for("editingDowncast").markerToElement({model:U,view:(e,{writer:t})=>{if(!e.markerRange.isCollapsed)return null;const o=t.createUIElement("span");return t.addClass(["ck-fake-bookmark-selection","ck-fake-bookmark-selection_collapsed"],o),o}})}destroy(){super.destroy(),this.formView&&this.formView.destroy(),this.actionsView&&this.actionsView.destroy()}_createViews(){this.actionsView=this._createActionsView(),this.formView=this._createFormView(),this._enableUserBalloonInteractions()}_createActionsView(){const e=this.editor,t=new B(e.locale),o=e.commands.get("updateBookmark"),i=e.commands.get("delete");return t.bind("id").to(o,"value"),t.editButtonView.bind("isEnabled").to(o),t.removeButtonView.bind("isEnabled").to(i),this.listenTo(t,"edit",(()=>{this._addFormView()})),this.listenTo(t,"remove",(()=>{this._hideUI(),e.execute("delete")})),t.keystrokes.set("Esc",((e,t)=>{this._hideUI(),t()})),t}_createFormView(){const e=this.editor,t=e.locale,o=e.commands.get("insertBookmark"),i=e.commands.get("updateBookmark"),s=[o,i],n=new((0,r.CssTransitionDisablerMixin)(_))(t,function(e){const{t}=e,o=e.plugins.get(F);return[e=>{if(!e.id)return t("Bookmark must not be empty.")},e=>{if(e.id&&/\s/.test(e.id))return t("Bookmark name cannot contain space characters.")},i=>{const r=e.model.document.selection.getSelectedElement(),s=o.getElementForBookmarkId(i.id);if(r!==s)return s?t("Bookmark name already exists."):void 0}]}(e));return n.idInputView.fieldView.bind("value").to(i,"value"),n.idInputView.bind("isEnabled").toMany(s,"isEnabled",((...e)=>e.some((e=>e)))),n.buttonView.bind("isEnabled").toMany(s,"isEnabled",((...e)=>e.some((e=>e)))),this.listenTo(n,"submit",(()=>{if(n.isValid()){const t=n.id;this._getSelectedBookmarkElement()?e.execute("updateBookmark",{bookmarkId:t}):e.execute("insertBookmark",{bookmarkId:t}),this._closeFormView()}})),this.listenTo(n.idInputView,"change:errorText",(()=>{e.ui.update()})),n.keystrokes.set("Esc",((e,t)=>{this._closeFormView(),t()})),n}_createToolbarBookmarkButton(){const e=this.editor;e.ui.componentFactory.add("bookmark",(()=>{const e=this._createButton(r.ButtonView);return e.set({tooltip:!0}),e})),e.ui.componentFactory.add("menuBar:bookmark",(()=>this._createButton(r.MenuBarMenuListItemButtonView)))}_createButton(t){const o=this.editor,i=o.locale,r=new t(i),s=o.commands.get("insertBookmark"),n=o.commands.get("updateBookmark"),a=i.t;return r.set({label:a("Bookmark"),icon:e.icons.bookmark}),this.listenTo(r,"execute",(()=>this._showUI(!0))),r.bind("isEnabled").toMany([s,n],"isEnabled",((...e)=>e.some((e=>e)))),r.bind("isOn").to(n,"value",(e=>!!e)),r}_enableBalloonActivators(){const e=this.editor.editing.view.document;this.listenTo(e,"click",(()=>{this._getSelectedBookmarkElement()&&this._showUI()}))}_enableUserBalloonInteractions(){this.editor.keystrokes.set("Tab",((e,t)=>{this._areActionsVisible&&!this.actionsView.focusTracker.isFocused&&(this.actionsView.focus(),t())}),{priority:"high"}),this.editor.keystrokes.set("Esc",((e,t)=>{this._isUIVisible&&(this._hideUI(),t())})),(0,r.clickOutsideHandler)({emitter:this.formView,activator:()=>this._isUIInPanel,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideUI()})}_updateFormButtonLabel(e){const t=this.editor.locale.t;this.formView.buttonView.label=t(e?"Update":"Insert")}_addActionsView(){this.actionsView||this._createViews(),this._areActionsInPanel||this._balloon.add({view:this.actionsView,position:this._getBalloonPositionData()})}_addFormView(){if(this.formView||this._createViews(),this._isFormInPanel)return;const e=this.editor.commands.get("updateBookmark");this.formView.disableCssTransitions(),this.formView.resetFormStatus(),this._balloon.add({view:this.formView,position:this._getBalloonPositionData()}),this.formView.idInputView.fieldView.value=e.value||"",this._balloon.visibleView===this.formView&&this.formView.idInputView.fieldView.select(),this.formView.enableCssTransitions()}_closeFormView(){void 0!==this.editor.commands.get("updateBookmark").value?this._removeFormView():this._hideUI()}_removeFormView(){this._isFormInPanel&&(this.formView.buttonView.focus(),this.formView.idInputView.fieldView.reset(),this._balloon.remove(this.formView),this.editor.editing.view.focus(),this._hideFakeVisualSelection())}_showUI(e=!1){this.formView||this._createViews(),this._getSelectedBookmarkElement()?(this._areActionsVisible?this._addFormView():this._addActionsView(),e&&this._balloon.showStack("main")):(this._showFakeVisualSelection(),this._addActionsView(),e&&this._balloon.showStack("main"),this._addFormView()),this._startUpdatingUI()}_hideUI(){if(!this._isUIInPanel)return;const e=this.editor;this.stopListening(e.ui,"update"),this.stopListening(this._balloon,"change:visibleView"),e.editing.view.focus(),this._removeFormView(),this._balloon.remove(this.actionsView),this._hideFakeVisualSelection()}_startUpdatingUI(){const e=this.editor,t=e.editing.view.document;let o=this._getSelectedBookmarkElement(),i=s();this._updateFormButtonLabel(!!o);const r=()=>{const e=this._getSelectedBookmarkElement(),t=s();o&&!e||!o&&t!==i?this._hideUI():this._isUIVisible&&this._balloon.updatePosition(this._getBalloonPositionData()),this._updateFormButtonLabel(!!o),o=e,i=t};function s(){return t.selection.focus.getAncestors().reverse().find((e=>e.is("element")))}this.listenTo(e.ui,"update",r),this.listenTo(this._balloon,"change:visibleView",r)}get _isFormInPanel(){return!!this.formView&&this._balloon.hasView(this.formView)}get _areActionsInPanel(){return!!this.actionsView&&this._balloon.hasView(this.actionsView)}get _areActionsVisible(){return!!this.actionsView&&this._balloon.visibleView===this.actionsView}get _isUIInPanel(){return this._isFormInPanel||this._areActionsInPanel}get _isUIVisible(){const e=this._balloon.visibleView;return!!this.formView&&e==this.formView||this._areActionsVisible}_getBalloonPositionData(){const e=this.editor.editing.view,t=this.editor.model;let o;const i=this._getSelectedBookmarkElement();if(t.markers.has(U)){const t=Array.from(this.editor.editing.mapper.markerNameToElements(U)),i=e.createRange(e.createPositionBefore(t[0]),e.createPositionAfter(t[t.length-1]));o=e.domConverter.viewRangeToDom(i)}else i&&(o=()=>{const t=this.editor.editing.mapper,o=e.domConverter,r=t.toViewElement(i);return o.mapViewToDom(r)});return o&&{target:o}}_getSelectedBookmarkElement(){const e=this.editor.model.document.selection.getSelectedElement();return e&&e.is("element","bookmark")?e:null}_showFakeVisualSelection(){const e=this.editor.model;e.change((t=>{const o=e.document.selection.getFirstRange();if(e.markers.has(U))t.updateMarker(U,{range:o});else if(o.start.isAtEnd){const i=o.start.getLastMatchingPosition((({item:t})=>!e.schema.isContent(t)),{boundaries:o});t.addMarker(U,{usingOperation:!1,affectsData:!1,range:t.createRange(i,o.end)})}else t.addMarker(U,{usingOperation:!1,affectsData:!1,range:o})}))}_hideFakeVisualSelection(){const e=this.editor.model;e.markers.has(U)&&e.change((e=>{e.removeMarker(U)}))}}class M extends e.Plugin{static get pluginName(){return"Bookmark"}static get requires(){return[F,O,t.Widget]}static get isOfficialPlugin(){return!0}}})(),(window.CKEditor5=window.CKEditor5||{}).bookmark=i})();
@@ -0,0 +1 @@
1
+ !function(o){const a=o.af=o.af||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.ar=o.ar||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.ast=o.ast||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.az=o.az||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.bg=o.bg||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.bn=o.bn||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.bs=o.bs||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.ca=o.ca||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.cs=o.cs||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.da=o.da||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o["de-ch"]=o["de-ch"]||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.de=o.de||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.el=o.el||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o["en-au"]=o["en-au"]||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"Bookmark","Bookmark must not be empty.":"Bookmark must not be empty.","Bookmark name":"Bookmark name","Bookmark name already exists.":"Bookmark name already exists.","Bookmark name cannot contain space characters.":"Bookmark name cannot contain space characters.","bookmark widget":"bookmark widget","Edit bookmark":"Edit bookmark","Enter the bookmark name without spaces.":"Enter the bookmark name without spaces.",Insert:"Insert","Remove bookmark":"Remove bookmark",Update:"Update"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o["en-gb"]=o["en-gb"]||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"Bookmark","Bookmark must not be empty.":"Bookmark must not be empty.","Bookmark name":"Bookmark name","Bookmark name already exists.":"Bookmark name already exists.","Bookmark name cannot contain space characters.":"Bookmark name cannot contain space characters.","bookmark widget":"bookmark widget","Edit bookmark":"Edit bookmark","Enter the bookmark name without spaces.":"Enter the bookmark name without spaces.",Insert:"Insert","Remove bookmark":"Remove bookmark",Update:"Update"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.eo=o.eo||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o["es-co"]=o["es-co"]||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.es=o.es||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.et=o.et||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.eu=o.eu||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.fa=o.fa||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.fi=o.fi||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.fr=o.fr||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.gl=o.gl||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.gu=o.gu||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.he=o.he||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.hi=o.hi||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.hr=o.hr||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.hu=o.hu||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.hy=o.hy||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.id=o.id||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.it=o.it||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.ja=o.ja||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.jv=o.jv||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.kk=o.kk||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.km=o.km||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.kn=o.kn||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.ko=o.ko||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.ku=o.ku||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.lt=o.lt||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.lv=o.lv||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.ms=o.ms||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.nb=o.nb||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.ne=o.ne||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.nl=o.nl||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.no=o.no||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.oc=o.oc||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.pl=o.pl||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o["pt-br"]=o["pt-br"]||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.pt=o.pt||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.ro=o.ro||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.ru=o.ru||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.si=o.si||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.sk=o.sk||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.sl=o.sl||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.sq=o.sq||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o["sr-latn"]=o["sr-latn"]||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.sr=o.sr||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.sv=o.sv||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.th=o.th||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.ti=o.ti||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.tk=o.tk||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.tr=o.tr||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.tt=o.tt||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.ug=o.ug||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.uk=o.uk||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.ur=o.ur||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.uz=o.uz||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.vi=o.vi||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o["zh-cn"]=o["zh-cn"]||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1 @@
1
+ !function(o){const a=o.zh=o.zh||{};a.dictionary=Object.assign(a.dictionary||{},{Bookmark:"","Bookmark must not be empty.":"","Bookmark name":"","Bookmark name already exists.":"","Bookmark name cannot contain space characters.":"","bookmark widget":"","Edit bookmark":"","Enter the bookmark name without spaces.":"",Insert:"","Remove bookmark":"",Update:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -0,0 +1,24 @@
1
+ {
2
+ "plugins": [
3
+ {
4
+ "name": "Bookmark",
5
+ "className": "Bookmark",
6
+ "description": "Allows to insert a bookmark into the content to provide fast access to important sections.",
7
+ "docs": "features/bookmarks.html",
8
+ "path": "src/bookmark.js",
9
+ "uiComponents": [
10
+ {
11
+ "type": "Button",
12
+ "name": "bookmark",
13
+ "iconPath": "@ckeditor/ckeditor5-core/theme/icons/bookmark.svg"
14
+ }
15
+ ],
16
+ "htmlOutput": [
17
+ {
18
+ "elements": "a",
19
+ "attributes": "id"
20
+ }
21
+ ]
22
+ }
23
+ ]
24
+ }
@@ -0,0 +1,28 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ /**
6
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ import type { Bookmark, BookmarkEditing, BookmarkUI, InsertBookmarkCommand, UpdateBookmarkCommand, BookmarkConfig } from './index.js';
10
+ declare module '@ckeditor/ckeditor5-core' {
11
+ interface EditorConfig {
12
+ /**
13
+ * The configuration of the {@link module:bookmark/bookmark~Bookmark} feature.
14
+ *
15
+ * Read more in {@link module:bookmark/bookmarkconfig~BookmarkConfig}.
16
+ */
17
+ bookmark?: BookmarkConfig;
18
+ }
19
+ interface PluginsMap {
20
+ [Bookmark.pluginName]: Bookmark;
21
+ [BookmarkEditing.pluginName]: BookmarkEditing;
22
+ [BookmarkUI.pluginName]: BookmarkUI;
23
+ }
24
+ interface CommandsMap {
25
+ insertBookmark: InsertBookmarkCommand;
26
+ updateBookmark: UpdateBookmarkCommand;
27
+ }
28
+ }
@@ -0,0 +1,34 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ /**
6
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ /**
10
+ * @module bookmark/bookmark
11
+ */
12
+ import { Plugin } from 'ckeditor5/src/core.js';
13
+ import { Widget } from 'ckeditor5/src/widget.js';
14
+ import BookmarkUI from './bookmarkui.js';
15
+ import BookmarkEditing from './bookmarkediting.js';
16
+ /**
17
+ * The bookmark feature.
18
+ *
19
+ * For a detailed overview, check the {@glink features/bookmarks Bookmarks} feature guide.
20
+ */
21
+ export default class Bookmark extends Plugin {
22
+ /**
23
+ * @inheritDoc
24
+ */
25
+ static get pluginName(): "Bookmark";
26
+ /**
27
+ * @inheritDoc
28
+ */
29
+ static get requires(): readonly [typeof BookmarkEditing, typeof BookmarkUI, typeof Widget];
30
+ /**
31
+ * @inheritDoc
32
+ */
33
+ static get isOfficialPlugin(): true;
34
+ }