@ohos-ports/ckeditor5-html-embed 48.5.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (239) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/LICENSE.md +22 -0
  3. package/README.md +37 -0
  4. package/ckeditor5-metadata.json +31 -0
  5. package/dist/augmentation.d.ts +24 -0
  6. package/dist/htmlembed.d.ts +32 -0
  7. package/dist/htmlembedcommand.d.ts +44 -0
  8. package/dist/htmlembedconfig.d.ts +86 -0
  9. package/dist/htmlembedediting.d.ts +57 -0
  10. package/dist/htmlembedui.d.ts +29 -0
  11. package/dist/index-content.css +7 -0
  12. package/dist/index-content.css.map +1 -0
  13. package/dist/index-editor.css +176 -0
  14. package/dist/index-editor.css.map +1 -0
  15. package/dist/index.css +176 -0
  16. package/dist/index.css.map +1 -0
  17. package/dist/index.d.ts +16 -0
  18. package/dist/index.js +524 -0
  19. package/dist/index.js.map +1 -0
  20. package/dist/translations/af.d.ts +8 -0
  21. package/dist/translations/af.js +5 -0
  22. package/dist/translations/af.umd.js +13 -0
  23. package/dist/translations/ar.d.ts +8 -0
  24. package/dist/translations/ar.js +5 -0
  25. package/dist/translations/ar.umd.js +13 -0
  26. package/dist/translations/ast.d.ts +8 -0
  27. package/dist/translations/ast.js +5 -0
  28. package/dist/translations/ast.umd.js +13 -0
  29. package/dist/translations/az.d.ts +8 -0
  30. package/dist/translations/az.js +5 -0
  31. package/dist/translations/az.umd.js +13 -0
  32. package/dist/translations/be.d.ts +8 -0
  33. package/dist/translations/be.js +5 -0
  34. package/dist/translations/be.umd.js +13 -0
  35. package/dist/translations/bg.d.ts +8 -0
  36. package/dist/translations/bg.js +5 -0
  37. package/dist/translations/bg.umd.js +13 -0
  38. package/dist/translations/bn.d.ts +8 -0
  39. package/dist/translations/bn.js +5 -0
  40. package/dist/translations/bn.umd.js +13 -0
  41. package/dist/translations/bs.d.ts +8 -0
  42. package/dist/translations/bs.js +5 -0
  43. package/dist/translations/bs.umd.js +13 -0
  44. package/dist/translations/ca.d.ts +8 -0
  45. package/dist/translations/ca.js +5 -0
  46. package/dist/translations/ca.umd.js +13 -0
  47. package/dist/translations/cs.d.ts +8 -0
  48. package/dist/translations/cs.js +5 -0
  49. package/dist/translations/cs.umd.js +13 -0
  50. package/dist/translations/da.d.ts +8 -0
  51. package/dist/translations/da.js +5 -0
  52. package/dist/translations/da.umd.js +13 -0
  53. package/dist/translations/de-ch.d.ts +8 -0
  54. package/dist/translations/de-ch.js +5 -0
  55. package/dist/translations/de-ch.umd.js +13 -0
  56. package/dist/translations/de.d.ts +8 -0
  57. package/dist/translations/de.js +5 -0
  58. package/dist/translations/de.umd.js +13 -0
  59. package/dist/translations/el.d.ts +8 -0
  60. package/dist/translations/el.js +5 -0
  61. package/dist/translations/el.umd.js +13 -0
  62. package/dist/translations/en-au.d.ts +8 -0
  63. package/dist/translations/en-au.js +5 -0
  64. package/dist/translations/en-au.umd.js +13 -0
  65. package/dist/translations/en-gb.d.ts +8 -0
  66. package/dist/translations/en-gb.js +5 -0
  67. package/dist/translations/en-gb.umd.js +13 -0
  68. package/dist/translations/en.d.ts +8 -0
  69. package/dist/translations/en.js +5 -0
  70. package/dist/translations/en.umd.js +13 -0
  71. package/dist/translations/eo.d.ts +8 -0
  72. package/dist/translations/eo.js +5 -0
  73. package/dist/translations/eo.umd.js +13 -0
  74. package/dist/translations/es-co.d.ts +8 -0
  75. package/dist/translations/es-co.js +5 -0
  76. package/dist/translations/es-co.umd.js +13 -0
  77. package/dist/translations/es.d.ts +8 -0
  78. package/dist/translations/es.js +5 -0
  79. package/dist/translations/es.umd.js +13 -0
  80. package/dist/translations/et.d.ts +8 -0
  81. package/dist/translations/et.js +5 -0
  82. package/dist/translations/et.umd.js +13 -0
  83. package/dist/translations/eu.d.ts +8 -0
  84. package/dist/translations/eu.js +5 -0
  85. package/dist/translations/eu.umd.js +13 -0
  86. package/dist/translations/fa.d.ts +8 -0
  87. package/dist/translations/fa.js +5 -0
  88. package/dist/translations/fa.umd.js +13 -0
  89. package/dist/translations/fi.d.ts +8 -0
  90. package/dist/translations/fi.js +5 -0
  91. package/dist/translations/fi.umd.js +13 -0
  92. package/dist/translations/fr.d.ts +8 -0
  93. package/dist/translations/fr.js +5 -0
  94. package/dist/translations/fr.umd.js +13 -0
  95. package/dist/translations/gl.d.ts +8 -0
  96. package/dist/translations/gl.js +5 -0
  97. package/dist/translations/gl.umd.js +13 -0
  98. package/dist/translations/gu.d.ts +8 -0
  99. package/dist/translations/gu.js +5 -0
  100. package/dist/translations/gu.umd.js +13 -0
  101. package/dist/translations/he.d.ts +8 -0
  102. package/dist/translations/he.js +5 -0
  103. package/dist/translations/he.umd.js +13 -0
  104. package/dist/translations/hi.d.ts +8 -0
  105. package/dist/translations/hi.js +5 -0
  106. package/dist/translations/hi.umd.js +13 -0
  107. package/dist/translations/hr.d.ts +8 -0
  108. package/dist/translations/hr.js +5 -0
  109. package/dist/translations/hr.umd.js +13 -0
  110. package/dist/translations/hu.d.ts +8 -0
  111. package/dist/translations/hu.js +5 -0
  112. package/dist/translations/hu.umd.js +13 -0
  113. package/dist/translations/hy.d.ts +8 -0
  114. package/dist/translations/hy.js +5 -0
  115. package/dist/translations/hy.umd.js +13 -0
  116. package/dist/translations/id.d.ts +8 -0
  117. package/dist/translations/id.js +5 -0
  118. package/dist/translations/id.umd.js +13 -0
  119. package/dist/translations/it.d.ts +8 -0
  120. package/dist/translations/it.js +5 -0
  121. package/dist/translations/it.umd.js +13 -0
  122. package/dist/translations/ja.d.ts +8 -0
  123. package/dist/translations/ja.js +5 -0
  124. package/dist/translations/ja.umd.js +13 -0
  125. package/dist/translations/jv.d.ts +8 -0
  126. package/dist/translations/jv.js +5 -0
  127. package/dist/translations/jv.umd.js +13 -0
  128. package/dist/translations/kk.d.ts +8 -0
  129. package/dist/translations/kk.js +5 -0
  130. package/dist/translations/kk.umd.js +13 -0
  131. package/dist/translations/km.d.ts +8 -0
  132. package/dist/translations/km.js +5 -0
  133. package/dist/translations/km.umd.js +13 -0
  134. package/dist/translations/kn.d.ts +8 -0
  135. package/dist/translations/kn.js +5 -0
  136. package/dist/translations/kn.umd.js +13 -0
  137. package/dist/translations/ko.d.ts +8 -0
  138. package/dist/translations/ko.js +5 -0
  139. package/dist/translations/ko.umd.js +13 -0
  140. package/dist/translations/ku.d.ts +8 -0
  141. package/dist/translations/ku.js +5 -0
  142. package/dist/translations/ku.umd.js +13 -0
  143. package/dist/translations/lt.d.ts +8 -0
  144. package/dist/translations/lt.js +5 -0
  145. package/dist/translations/lt.umd.js +13 -0
  146. package/dist/translations/lv.d.ts +8 -0
  147. package/dist/translations/lv.js +5 -0
  148. package/dist/translations/lv.umd.js +13 -0
  149. package/dist/translations/ms.d.ts +8 -0
  150. package/dist/translations/ms.js +5 -0
  151. package/dist/translations/ms.umd.js +13 -0
  152. package/dist/translations/nb.d.ts +8 -0
  153. package/dist/translations/nb.js +5 -0
  154. package/dist/translations/nb.umd.js +13 -0
  155. package/dist/translations/ne.d.ts +8 -0
  156. package/dist/translations/ne.js +5 -0
  157. package/dist/translations/ne.umd.js +13 -0
  158. package/dist/translations/nl.d.ts +8 -0
  159. package/dist/translations/nl.js +5 -0
  160. package/dist/translations/nl.umd.js +13 -0
  161. package/dist/translations/no.d.ts +8 -0
  162. package/dist/translations/no.js +5 -0
  163. package/dist/translations/no.umd.js +13 -0
  164. package/dist/translations/oc.d.ts +8 -0
  165. package/dist/translations/oc.js +5 -0
  166. package/dist/translations/oc.umd.js +13 -0
  167. package/dist/translations/pl.d.ts +8 -0
  168. package/dist/translations/pl.js +5 -0
  169. package/dist/translations/pl.umd.js +13 -0
  170. package/dist/translations/pt-br.d.ts +8 -0
  171. package/dist/translations/pt-br.js +5 -0
  172. package/dist/translations/pt-br.umd.js +13 -0
  173. package/dist/translations/pt.d.ts +8 -0
  174. package/dist/translations/pt.js +5 -0
  175. package/dist/translations/pt.umd.js +13 -0
  176. package/dist/translations/ro.d.ts +8 -0
  177. package/dist/translations/ro.js +5 -0
  178. package/dist/translations/ro.umd.js +13 -0
  179. package/dist/translations/ru.d.ts +8 -0
  180. package/dist/translations/ru.js +5 -0
  181. package/dist/translations/ru.umd.js +13 -0
  182. package/dist/translations/si.d.ts +8 -0
  183. package/dist/translations/si.js +5 -0
  184. package/dist/translations/si.umd.js +13 -0
  185. package/dist/translations/sk.d.ts +8 -0
  186. package/dist/translations/sk.js +5 -0
  187. package/dist/translations/sk.umd.js +13 -0
  188. package/dist/translations/sl.d.ts +8 -0
  189. package/dist/translations/sl.js +5 -0
  190. package/dist/translations/sl.umd.js +13 -0
  191. package/dist/translations/sq.d.ts +8 -0
  192. package/dist/translations/sq.js +5 -0
  193. package/dist/translations/sq.umd.js +13 -0
  194. package/dist/translations/sr-latn.d.ts +8 -0
  195. package/dist/translations/sr-latn.js +5 -0
  196. package/dist/translations/sr-latn.umd.js +13 -0
  197. package/dist/translations/sr.d.ts +8 -0
  198. package/dist/translations/sr.js +5 -0
  199. package/dist/translations/sr.umd.js +13 -0
  200. package/dist/translations/sv.d.ts +8 -0
  201. package/dist/translations/sv.js +5 -0
  202. package/dist/translations/sv.umd.js +13 -0
  203. package/dist/translations/th.d.ts +8 -0
  204. package/dist/translations/th.js +5 -0
  205. package/dist/translations/th.umd.js +13 -0
  206. package/dist/translations/ti.d.ts +8 -0
  207. package/dist/translations/ti.js +5 -0
  208. package/dist/translations/ti.umd.js +13 -0
  209. package/dist/translations/tk.d.ts +8 -0
  210. package/dist/translations/tk.js +5 -0
  211. package/dist/translations/tk.umd.js +13 -0
  212. package/dist/translations/tr.d.ts +8 -0
  213. package/dist/translations/tr.js +5 -0
  214. package/dist/translations/tr.umd.js +13 -0
  215. package/dist/translations/tt.d.ts +8 -0
  216. package/dist/translations/tt.js +5 -0
  217. package/dist/translations/tt.umd.js +13 -0
  218. package/dist/translations/ug.d.ts +8 -0
  219. package/dist/translations/ug.js +5 -0
  220. package/dist/translations/ug.umd.js +13 -0
  221. package/dist/translations/uk.d.ts +8 -0
  222. package/dist/translations/uk.js +5 -0
  223. package/dist/translations/uk.umd.js +13 -0
  224. package/dist/translations/ur.d.ts +8 -0
  225. package/dist/translations/ur.js +5 -0
  226. package/dist/translations/ur.umd.js +13 -0
  227. package/dist/translations/uz.d.ts +8 -0
  228. package/dist/translations/uz.js +5 -0
  229. package/dist/translations/uz.umd.js +13 -0
  230. package/dist/translations/vi.d.ts +8 -0
  231. package/dist/translations/vi.js +5 -0
  232. package/dist/translations/vi.umd.js +13 -0
  233. package/dist/translations/zh-cn.d.ts +8 -0
  234. package/dist/translations/zh-cn.js +5 -0
  235. package/dist/translations/zh-cn.umd.js +13 -0
  236. package/dist/translations/zh.d.ts +8 -0
  237. package/dist/translations/zh.js +5 -0
  238. package/dist/translations/zh.umd.js +13 -0
  239. package/package.json +42 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.js","../src/htmlembedcommand.ts","../src/htmlembedediting.ts","../src/htmlembedui.ts","../src/htmlembed.ts"],"names":[],"mappings":"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","file":"index.js.map","sourcesContent":["import { Command, Plugin } from \"@ckeditor/ckeditor5-core\";\nimport { Widget, findOptimalInsertionRange, toWidget } from \"@ckeditor/ckeditor5-widget\";\nimport { ButtonView, MenuBarMenuListItemButtonView } from \"@ckeditor/ckeditor5-ui\";\nimport { createElement, logWarning } from \"@ckeditor/ckeditor5-utils\";\nimport { IconCancel, IconCheck, IconHtml, IconPencil } from \"@ckeditor/ckeditor5-icons\";\n\n/**\n* @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.\n* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n*/\n/**\n* The insert HTML embed element command.\n*\n* The command is registered by {@link module:html-embed/htmlembedediting~HtmlEmbedEditing} as `'htmlEmbed'`.\n*\n* To insert an empty HTML embed element at the current selection, execute the command:\n*\n* ```ts\n* editor.execute( 'htmlEmbed' );\n* ```\n*\n* You can specify the initial content of a new HTML embed in the argument:\n*\n* ```ts\n* editor.execute( 'htmlEmbed', '<b>Initial content.</b>' );\n* ```\n*\n* To update the content of the HTML embed, select it in the model and pass the content in the argument:\n*\n* ```ts\n* editor.execute( 'htmlEmbed', '<b>New content of an existing embed.</b>' );\n* ```\n*/\nvar HtmlEmbedCommand = class extends Command {\n\t/**\n\t* @inheritDoc\n\t*/\n\trefresh() {\n\t\tconst model = this.editor.model;\n\t\tconst schema = model.schema;\n\t\tconst selection = model.document.selection;\n\t\tconst selectedRawHtmlElement = getSelectedRawHtmlModelWidget(selection);\n\t\tthis.isEnabled = isHtmlEmbedAllowedInParent(selection, schema, model);\n\t\tthis.value = selectedRawHtmlElement ? selectedRawHtmlElement.getAttribute(\"value\") || \"\" : null;\n\t}\n\t/**\n\t* Executes the command, which either:\n\t*\n\t* * creates and inserts a new HTML embed element if none was selected,\n\t* * updates the content of the HTML embed if one was selected.\n\t*\n\t* @fires execute\n\t* @param value When passed, the value (content) will be set on a new embed or a selected one.\n\t*/\n\texecute(value) {\n\t\tconst model = this.editor.model;\n\t\tconst selection = model.document.selection;\n\t\tmodel.change((writer) => {\n\t\t\tlet htmlEmbedElement;\n\t\t\tif (this.value !== null) htmlEmbedElement = getSelectedRawHtmlModelWidget(selection);\n\t\t\telse {\n\t\t\t\thtmlEmbedElement = writer.createElement(\"rawHtml\");\n\t\t\t\tmodel.insertObject(htmlEmbedElement, null, null, { setSelection: \"on\" });\n\t\t\t}\n\t\t\twriter.setAttribute(\"value\", value, htmlEmbedElement);\n\t\t});\n\t}\n};\n/**\n* Checks if an HTML embed is allowed by the schema in the optimal insertion parent.\n*/\nfunction isHtmlEmbedAllowedInParent(selection, schema, model) {\n\tconst parent = getInsertHtmlEmbedParent(selection, model);\n\treturn schema.checkChild(parent, \"rawHtml\");\n}\n/**\n* Returns a node that will be used to insert a html embed with `model.insertContent` to check if a html embed element can be placed there.\n*/\nfunction getInsertHtmlEmbedParent(selection, model) {\n\tconst parent = findOptimalInsertionRange(selection, model).start.parent;\n\tif (parent.isEmpty && !parent.is(\"rootElement\")) return parent.parent;\n\treturn parent;\n}\n/**\n* Returns the selected HTML embed element in the model, if any.\n*/\nfunction getSelectedRawHtmlModelWidget(selection) {\n\tconst selectedElement = selection.getSelectedElement();\n\tif (selectedElement && selectedElement.is(\"element\", \"rawHtml\")) return selectedElement;\n\treturn null;\n}\n\n/**\n* @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.\n* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n*/\n/**\n* @module html-embed/htmlembedediting\n*/\n/**\n* The HTML embed editing feature.\n*/\nvar HtmlEmbedEditing = class extends Plugin {\n\t/**\n\t* Keeps references to {@link module:ui/button/buttonview~ButtonView edit, save, and cancel} button instances created for\n\t* each widget so they can be destroyed if they are no longer in DOM after the editing view was re-rendered.\n\t*/\n\t_widgetButtonViewReferences = /* @__PURE__ */ new Set();\n\t/**\n\t* @inheritDoc\n\t*/\n\tstatic get pluginName() {\n\t\treturn \"HtmlEmbedEditing\";\n\t}\n\t/**\n\t* @inheritDoc\n\t* @internal\n\t*/\n\tstatic get licenseFeatureCode() {\n\t\treturn \"HE\";\n\t}\n\t/**\n\t* @inheritDoc\n\t*/\n\tstatic get isOfficialPlugin() {\n\t\treturn true;\n\t}\n\t/**\n\t* @inheritDoc\n\t*/\n\tstatic get isPremiumPlugin() {\n\t\treturn true;\n\t}\n\t/**\n\t* @inheritDoc\n\t*/\n\tconstructor(editor) {\n\t\tsuper(editor);\n\t\teditor.config.define(\"htmlEmbed\", {\n\t\t\tshowPreviews: false,\n\t\t\tsanitizeHtml: (rawHtml) => {\n\t\t\t\t/**\n\t\t\t\t* When using the HTML embed feature with the `config.htmlEmbed.showPreviews` set to `true`, it is strongly recommended to\n\t\t\t\t* define a sanitize function that will clean up the input HTML in order to avoid XSS vulnerability.\n\t\t\t\t*\n\t\t\t\t* For a detailed overview, check the {@glink features/html/html-embed HTML embed feature} documentation.\n\t\t\t\t*\n\t\t\t\t* @error html-embed-provide-sanitize-function\n\t\t\t\t*/\n\t\t\t\tlogWarning(\"html-embed-provide-sanitize-function\");\n\t\t\t\treturn {\n\t\t\t\t\thtml: rawHtml,\n\t\t\t\t\thasChanged: false\n\t\t\t\t};\n\t\t\t}\n\t\t});\n\t}\n\t/**\n\t* @inheritDoc\n\t*/\n\tinit() {\n\t\tconst editor = this.editor;\n\t\teditor.model.schema.register(\"rawHtml\", {\n\t\t\tinheritAllFrom: \"$blockObject\",\n\t\t\tallowAttributes: [\"value\"]\n\t\t});\n\t\teditor.commands.add(\"htmlEmbed\", new HtmlEmbedCommand(editor));\n\t\tthis._setupConversion();\n\t}\n\t/**\n\t* Prepares converters for the feature.\n\t*/\n\t_setupConversion() {\n\t\tconst editor = this.editor;\n\t\tconst t = editor.t;\n\t\tconst view = editor.editing.view;\n\t\tconst widgetButtonViewReferences = this._widgetButtonViewReferences;\n\t\tconst htmlEmbedConfig = editor.config.get(\"htmlEmbed\");\n\t\tthis.editor.editing.view.on(\"render\", () => {\n\t\t\tfor (const buttonView of widgetButtonViewReferences) {\n\t\t\t\tif (buttonView.element && buttonView.element.isConnected) return;\n\t\t\t\tbuttonView.destroy();\n\t\t\t\twidgetButtonViewReferences.delete(buttonView);\n\t\t\t}\n\t\t}, { priority: \"lowest\" });\n\t\teditor.data.registerRawContentMatcher({\n\t\t\tname: \"div\",\n\t\t\tclasses: \"raw-html-embed\"\n\t\t});\n\t\teditor.conversion.for(\"upcast\").elementToElement({\n\t\t\tview: {\n\t\t\t\tname: \"div\",\n\t\t\t\tclasses: \"raw-html-embed\"\n\t\t\t},\n\t\t\tmodel: (viewElement, { writer }) => {\n\t\t\t\treturn writer.createElement(\"rawHtml\", { value: viewElement.getCustomProperty(\"$rawContent\") });\n\t\t\t}\n\t\t});\n\t\teditor.conversion.for(\"dataDowncast\").elementToElement({\n\t\t\tmodel: \"rawHtml\",\n\t\t\tview: (modelElement, { writer }) => {\n\t\t\t\treturn writer.createRawElement(\"div\", { class: \"raw-html-embed\" }, function(domElement) {\n\t\t\t\t\tdomElement.innerHTML = modelElement.getAttribute(\"value\") || \"\";\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\teditor.conversion.for(\"editingDowncast\").elementToStructure({\n\t\t\tmodel: {\n\t\t\t\tname: \"rawHtml\",\n\t\t\t\tattributes: [\"value\"]\n\t\t\t},\n\t\t\tview: (modelElement, { writer }) => {\n\t\t\t\tlet domContentWrapper;\n\t\t\t\tlet state;\n\t\t\t\tlet props;\n\t\t\t\tconst viewContentWrapper = writer.createRawElement(\"div\", { class: \"raw-html-embed__content-wrapper\" }, function(domElement) {\n\t\t\t\t\tdomContentWrapper = domElement;\n\t\t\t\t\trenderContent({\n\t\t\t\t\t\teditor,\n\t\t\t\t\t\tdomElement,\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\tprops\n\t\t\t\t\t});\n\t\t\t\t\tdomContentWrapper.addEventListener(\"mousedown\", () => {\n\t\t\t\t\t\tif (state.isEditable) {\n\t\t\t\t\t\t\tconst model = editor.model;\n\t\t\t\t\t\t\tif (model.document.selection.getSelectedElement() !== modelElement) model.change((writer) => writer.setSelection(modelElement, \"on\"));\n\t\t\t\t\t\t}\n\t\t\t\t\t}, true);\n\t\t\t\t});\n\t\t\t\tconst rawHtmlApi = {\n\t\t\t\t\tmakeEditable() {\n\t\t\t\t\t\tstate = Object.assign({}, state, { isEditable: true });\n\t\t\t\t\t\trenderContent({\n\t\t\t\t\t\t\tdomElement: domContentWrapper,\n\t\t\t\t\t\t\teditor,\n\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\tprops\n\t\t\t\t\t\t});\n\t\t\t\t\t\tview.change((writer) => {\n\t\t\t\t\t\t\twriter.setAttribute(\"data-cke-ignore-events\", \"true\", viewContentWrapper);\n\t\t\t\t\t\t});\n\t\t\t\t\t\tdomContentWrapper.querySelector(\"textarea\").focus();\n\t\t\t\t\t},\n\t\t\t\t\tsave(newValue) {\n\t\t\t\t\t\tif (newValue !== state.getRawHtmlValue()) {\n\t\t\t\t\t\t\teditor.execute(\"htmlEmbed\", newValue);\n\t\t\t\t\t\t\teditor.editing.view.focus();\n\t\t\t\t\t\t} else this.cancel();\n\t\t\t\t\t},\n\t\t\t\t\tcancel() {\n\t\t\t\t\t\tstate = Object.assign({}, state, { isEditable: false });\n\t\t\t\t\t\trenderContent({\n\t\t\t\t\t\t\tdomElement: domContentWrapper,\n\t\t\t\t\t\t\teditor,\n\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\tprops\n\t\t\t\t\t\t});\n\t\t\t\t\t\teditor.editing.view.focus();\n\t\t\t\t\t\tview.change((writer) => {\n\t\t\t\t\t\t\twriter.removeAttribute(\"data-cke-ignore-events\", viewContentWrapper);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tstate = {\n\t\t\t\t\tshowPreviews: htmlEmbedConfig.showPreviews,\n\t\t\t\t\tisEditable: false,\n\t\t\t\t\tgetRawHtmlValue: () => modelElement.getAttribute(\"value\") || \"\"\n\t\t\t\t};\n\t\t\t\tprops = {\n\t\t\t\t\tsanitizeHtml: htmlEmbedConfig.sanitizeHtml,\n\t\t\t\t\ttextareaPlaceholder: t(\"Paste raw HTML here...\"),\n\t\t\t\t\tonEditClick() {\n\t\t\t\t\t\trawHtmlApi.makeEditable();\n\t\t\t\t\t},\n\t\t\t\t\tonSaveClick(newValue) {\n\t\t\t\t\t\trawHtmlApi.save(newValue);\n\t\t\t\t\t},\n\t\t\t\t\tonCancelClick() {\n\t\t\t\t\t\trawHtmlApi.cancel();\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tconst viewContainer = writer.createContainerElement(\"div\", {\n\t\t\t\t\tclass: \"raw-html-embed\",\n\t\t\t\t\t\"data-html-embed-label\": t(\"HTML snippet\"),\n\t\t\t\t\tdir: editor.locale.uiLanguageDirection\n\t\t\t\t}, viewContentWrapper);\n\t\t\t\twriter.setCustomProperty(\"rawHtmlApi\", rawHtmlApi, viewContainer);\n\t\t\t\twriter.setCustomProperty(\"rawHtml\", true, viewContainer);\n\t\t\t\treturn toWidget(viewContainer, writer, {\n\t\t\t\t\tlabel: t(\"HTML snippet\"),\n\t\t\t\t\thasSelectionHandle: true\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\tfunction renderContent({ editor, domElement, state, props }) {\n\t\t\tdomElement.textContent = \"\";\n\t\t\tconst domDocument = domElement.ownerDocument;\n\t\t\tlet domTextarea;\n\t\t\tif (state.isEditable) {\n\t\t\t\tdomTextarea = createDomTextarea({\n\t\t\t\t\tdomDocument,\n\t\t\t\t\tstate,\n\t\t\t\t\tprops: {\n\t\t\t\t\t\tisDisabled: false,\n\t\t\t\t\t\tplaceholder: props.textareaPlaceholder\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tdomElement.append(domTextarea);\n\t\t\t} else if (state.showPreviews) {\n\t\t\t\tconst previewContainerProps = { sanitizeHtml: props.sanitizeHtml };\n\t\t\t\tdomElement.append(createPreviewContainer({\n\t\t\t\t\tdomDocument,\n\t\t\t\t\tstate,\n\t\t\t\t\tprops: previewContainerProps,\n\t\t\t\t\teditor\n\t\t\t\t}));\n\t\t\t} else {\n\t\t\t\tconst textareaProps = {\n\t\t\t\t\tisDisabled: true,\n\t\t\t\t\tplaceholder: props.textareaPlaceholder\n\t\t\t\t};\n\t\t\t\tdomElement.append(createDomTextarea({\n\t\t\t\t\tdomDocument,\n\t\t\t\t\tstate,\n\t\t\t\t\tprops: textareaProps\n\t\t\t\t}));\n\t\t\t}\n\t\t\tconst buttonsWrapperProps = {\n\t\t\t\tonEditClick: props.onEditClick,\n\t\t\t\tonSaveClick: () => {\n\t\t\t\t\tprops.onSaveClick(domTextarea.value);\n\t\t\t\t},\n\t\t\t\tonCancelClick: props.onCancelClick\n\t\t\t};\n\t\t\tdomElement.prepend(createDomButtonsWrapper({\n\t\t\t\teditor,\n\t\t\t\tdomDocument,\n\t\t\t\tstate,\n\t\t\t\tprops: buttonsWrapperProps\n\t\t\t}));\n\t\t}\n\t\tfunction createDomButtonsWrapper({ editor, domDocument, state, props }) {\n\t\t\tconst domButtonsWrapper = createElement(domDocument, \"div\", { class: \"raw-html-embed__buttons-wrapper\" });\n\t\t\tif (state.isEditable) {\n\t\t\t\tconst saveButtonView = createUIButton(editor, \"save\", props.onSaveClick);\n\t\t\t\tconst cancelButtonView = createUIButton(editor, \"cancel\", props.onCancelClick);\n\t\t\t\tdomButtonsWrapper.append(saveButtonView.element, cancelButtonView.element);\n\t\t\t\twidgetButtonViewReferences.add(saveButtonView).add(cancelButtonView);\n\t\t\t} else {\n\t\t\t\tconst editButtonView = createUIButton(editor, \"edit\", props.onEditClick);\n\t\t\t\tdomButtonsWrapper.append(editButtonView.element);\n\t\t\t\twidgetButtonViewReferences.add(editButtonView);\n\t\t\t}\n\t\t\treturn domButtonsWrapper;\n\t\t}\n\t\tfunction createDomTextarea({ domDocument, state, props }) {\n\t\t\tconst domTextarea = createElement(domDocument, \"textarea\", {\n\t\t\t\tplaceholder: props.placeholder,\n\t\t\t\tclass: \"ck ck-reset ck-input ck-input-text raw-html-embed__source\"\n\t\t\t});\n\t\t\tdomTextarea.disabled = props.isDisabled;\n\t\t\tdomTextarea.value = state.getRawHtmlValue();\n\t\t\treturn domTextarea;\n\t\t}\n\t\tfunction createPreviewContainer({ editor, domDocument, state, props }) {\n\t\t\tconst sanitizedOutput = props.sanitizeHtml(state.getRawHtmlValue());\n\t\t\tconst placeholderText = state.getRawHtmlValue().length > 0 ? t(\"No preview available\") : t(\"Empty snippet content\");\n\t\t\tconst domPreviewPlaceholder = createElement(domDocument, \"div\", { class: \"ck ck-reset_all raw-html-embed__preview-placeholder\" }, placeholderText);\n\t\t\tconst domPreviewContent = createElement(domDocument, \"div\", {\n\t\t\t\tclass: \"raw-html-embed__preview-content\",\n\t\t\t\tdir: editor.locale.contentLanguageDirection\n\t\t\t});\n\t\t\tconst domDocumentFragment = domDocument.createRange().createContextualFragment(sanitizedOutput.html);\n\t\t\tdomPreviewContent.appendChild(domDocumentFragment);\n\t\t\treturn createElement(domDocument, \"div\", { class: \"raw-html-embed__preview\" }, [domPreviewPlaceholder, domPreviewContent]);\n\t\t}\n\t}\n};\n/**\n* Returns a UI button view that can be used in conversion.\n*/\nfunction createUIButton(editor, type, onClick) {\n\tconst { t } = editor.locale;\n\tconst buttonView = new ButtonView(editor.locale);\n\tconst command = editor.commands.get(\"htmlEmbed\");\n\tbuttonView.set({\n\t\tclass: `raw-html-embed__${type}-button`,\n\t\ticon: IconPencil,\n\t\ttooltip: true,\n\t\ttooltipPosition: editor.locale.uiLanguageDirection === \"rtl\" ? \"e\" : \"w\"\n\t});\n\tbuttonView.render();\n\tif (type === \"edit\") {\n\t\tbuttonView.set({\n\t\t\ticon: IconPencil,\n\t\t\tlabel: t(\"Edit source\")\n\t\t});\n\t\tbuttonView.bind(\"isEnabled\").to(command);\n\t} else if (type === \"save\") {\n\t\tbuttonView.set({\n\t\t\ticon: IconCheck,\n\t\t\tlabel: t(\"Save changes\")\n\t\t});\n\t\tbuttonView.bind(\"isEnabled\").to(command);\n\t} else buttonView.set({\n\t\ticon: IconCancel,\n\t\tlabel: t(\"Cancel\")\n\t});\n\tbuttonView.on(\"execute\", onClick);\n\treturn buttonView;\n}\n\n/**\n* @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.\n* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n*/\n/**\n* @module html-embed/htmlembedui\n*/\n/**\n* The HTML embed UI plugin.\n*/\nvar HtmlEmbedUI = class extends Plugin {\n\t/**\n\t* @inheritDoc\n\t*/\n\tstatic get pluginName() {\n\t\treturn \"HtmlEmbedUI\";\n\t}\n\t/**\n\t* @inheritDoc\n\t*/\n\tstatic get isOfficialPlugin() {\n\t\treturn true;\n\t}\n\t/**\n\t* @inheritDoc\n\t*/\n\tinit() {\n\t\tconst editor = this.editor;\n\t\tconst t = editor.locale.t;\n\t\teditor.ui.componentFactory.add(\"htmlEmbed\", () => {\n\t\t\tconst buttonView = this._createButton(ButtonView);\n\t\t\tbuttonView.set({\n\t\t\t\ttooltip: true,\n\t\t\t\tlabel: t(\"Insert HTML\")\n\t\t\t});\n\t\t\treturn buttonView;\n\t\t});\n\t\teditor.ui.componentFactory.add(\"menuBar:htmlEmbed\", () => {\n\t\t\tconst buttonView = this._createButton(MenuBarMenuListItemButtonView);\n\t\t\tbuttonView.set({ label: t(\"HTML snippet\") });\n\t\t\treturn buttonView;\n\t\t});\n\t}\n\t/**\n\t* Creates a button for html embed command to use either in toolbar or in menu bar.\n\t*/\n\t_createButton(ButtonClass) {\n\t\tconst editor = this.editor;\n\t\tconst command = editor.commands.get(\"htmlEmbed\");\n\t\tconst view = new ButtonClass(editor.locale);\n\t\tview.set({ icon: IconHtml });\n\t\tview.bind(\"isEnabled\").to(command, \"isEnabled\");\n\t\tthis.listenTo(view, \"execute\", () => {\n\t\t\teditor.execute(\"htmlEmbed\");\n\t\t\teditor.editing.view.focus();\n\t\t\teditor.editing.view.document.selection.getSelectedElement().getCustomProperty(\"rawHtmlApi\").makeEditable();\n\t\t});\n\t\treturn view;\n\t}\n};\n\n/**\n* @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.\n* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n*/\n/**\n* @module html-embed/htmlembed\n*/\n/**\n* The HTML embed feature.\n*\n* It allows inserting HTML snippets directly into the editor.\n*\n* For a detailed overview, check the {@glink features/html/html-embed HTML embed feature} documentation.\n*/\nvar HtmlEmbed = class extends Plugin {\n\t/**\n\t* @inheritDoc\n\t*/\n\tstatic get requires() {\n\t\treturn [\n\t\t\tHtmlEmbedEditing,\n\t\t\tHtmlEmbedUI,\n\t\t\tWidget\n\t\t];\n\t}\n\t/**\n\t* @inheritDoc\n\t*/\n\tstatic get pluginName() {\n\t\treturn \"HtmlEmbed\";\n\t}\n\t/**\n\t* @inheritDoc\n\t*/\n\tstatic get isOfficialPlugin() {\n\t\treturn true;\n\t}\n};\n\n/**\n* @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.\n* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n*/\n\nexport { HtmlEmbed, HtmlEmbedCommand, HtmlEmbedEditing, HtmlEmbedUI };\n//# sourceMappingURL=index.js.map","/**\n * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module html-embed/htmlembedcommand\n */\n\nimport type { ModelDocumentSelection, ModelElement, Model, ModelSchema, ModelSelection } from '@ckeditor/ckeditor5-engine';\nimport { Command } from '@ckeditor/ckeditor5-core';\nimport { findOptimalInsertionRange } from '@ckeditor/ckeditor5-widget';\n\n/**\n * The insert HTML embed element command.\n *\n * The command is registered by {@link module:html-embed/htmlembedediting~HtmlEmbedEditing} as `'htmlEmbed'`.\n *\n * To insert an empty HTML embed element at the current selection, execute the command:\n *\n * ```ts\n * editor.execute( 'htmlEmbed' );\n * ```\n *\n * You can specify the initial content of a new HTML embed in the argument:\n *\n * ```ts\n * editor.execute( 'htmlEmbed', '<b>Initial content.</b>' );\n * ```\n *\n * To update the content of the HTML embed, select it in the model and pass the content in the argument:\n *\n * ```ts\n * editor.execute( 'htmlEmbed', '<b>New content of an existing embed.</b>' );\n * ```\n */\nexport class HtmlEmbedCommand extends Command {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override refresh(): void {\n\t\tconst model = this.editor.model;\n\t\tconst schema = model.schema;\n\t\tconst selection = model.document.selection;\n\t\tconst selectedRawHtmlElement = getSelectedRawHtmlModelWidget( selection );\n\n\t\tthis.isEnabled = isHtmlEmbedAllowedInParent( selection, schema, model );\n\t\tthis.value = selectedRawHtmlElement ? selectedRawHtmlElement.getAttribute( 'value' ) || '' : null;\n\t}\n\n\t/**\n\t * Executes the command, which either:\n\t *\n\t * * creates and inserts a new HTML embed element if none was selected,\n\t * * updates the content of the HTML embed if one was selected.\n\t *\n\t * @fires execute\n\t * @param value When passed, the value (content) will be set on a new embed or a selected one.\n\t */\n\tpublic override execute( value?: string ): void {\n\t\tconst model = this.editor.model;\n\t\tconst selection = model.document.selection;\n\n\t\tmodel.change( writer => {\n\t\t\tlet htmlEmbedElement;\n\n\t\t\t// If the command has a non-null value, there must be some HTML embed selected in the model.\n\t\t\tif ( this.value !== null ) {\n\t\t\t\thtmlEmbedElement = getSelectedRawHtmlModelWidget( selection );\n\t\t\t} else {\n\t\t\t\thtmlEmbedElement = writer.createElement( 'rawHtml' );\n\n\t\t\t\tmodel.insertObject( htmlEmbedElement, null, null, { setSelection: 'on' } );\n\t\t\t}\n\n\t\t\twriter.setAttribute( 'value', value, htmlEmbedElement! );\n\t\t} );\n\t}\n}\n\n/**\n * Checks if an HTML embed is allowed by the schema in the optimal insertion parent.\n */\nfunction isHtmlEmbedAllowedInParent( selection: ModelDocumentSelection, schema: ModelSchema, model: Model ): boolean {\n\tconst parent = getInsertHtmlEmbedParent( selection, model );\n\n\treturn schema.checkChild( parent, 'rawHtml' );\n}\n\n/**\n * Returns a node that will be used to insert a html embed with `model.insertContent` to check if a html embed element can be placed there.\n */\nfunction getInsertHtmlEmbedParent( selection: ModelSelection | ModelDocumentSelection, model: Model ): ModelElement {\n\tconst insertionRange = findOptimalInsertionRange( selection, model );\n\tconst parent = insertionRange.start.parent as ModelElement;\n\n\tif ( parent.isEmpty && !parent.is( 'rootElement' ) ) {\n\t\treturn parent.parent as ModelElement;\n\t}\n\n\treturn parent;\n}\n\n/**\n * Returns the selected HTML embed element in the model, if any.\n */\nfunction getSelectedRawHtmlModelWidget( selection: ModelDocumentSelection ): ModelElement | null {\n\tconst selectedElement = selection.getSelectedElement();\n\n\tif ( selectedElement && selectedElement.is( 'element', 'rawHtml' ) ) {\n\t\treturn selectedElement;\n\t}\n\n\treturn null;\n}\n","/**\n * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module html-embed/htmlembedediting\n */\n\nimport { Plugin, type Editor } from '@ckeditor/ckeditor5-core';\nimport { ButtonView } from '@ckeditor/ckeditor5-ui';\nimport { toWidget } from '@ckeditor/ckeditor5-widget';\nimport { logWarning, createElement } from '@ckeditor/ckeditor5-utils';\nimport { IconCancel, IconCheck, IconPencil } from '@ckeditor/ckeditor5-icons';\n\nimport type { HtmlEmbedConfig } from './htmlembedconfig.js';\nimport { HtmlEmbedCommand } from './htmlembedcommand.js';\n\n/**\n * The HTML embed editing feature.\n */\nexport class HtmlEmbedEditing extends Plugin {\n\t/**\n\t * Keeps references to {@link module:ui/button/buttonview~ButtonView edit, save, and cancel} button instances created for\n\t * each widget so they can be destroyed if they are no longer in DOM after the editing view was re-rendered.\n\t */\n\tprivate _widgetButtonViewReferences: Set<ButtonView> = new Set();\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'HtmlEmbedEditing' as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t * @internal\n\t */\n\tpublic static get licenseFeatureCode(): string {\n\t\treturn 'HE';\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static override get isOfficialPlugin(): true {\n\t\treturn true;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static override get isPremiumPlugin(): true {\n\t\treturn true;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor: Editor ) {\n\t\tsuper( editor );\n\n\t\teditor.config.define( 'htmlEmbed', {\n\t\t\tshowPreviews: false,\n\t\t\tsanitizeHtml: rawHtml => {\n\t\t\t\t/**\n\t\t\t\t * When using the HTML embed feature with the `config.htmlEmbed.showPreviews` set to `true`, it is strongly recommended to\n\t\t\t\t * define a sanitize function that will clean up the input HTML in order to avoid XSS vulnerability.\n\t\t\t\t *\n\t\t\t\t * For a detailed overview, check the {@glink features/html/html-embed HTML embed feature} documentation.\n\t\t\t\t *\n\t\t\t\t * @error html-embed-provide-sanitize-function\n\t\t\t\t */\n\t\t\t\tlogWarning( 'html-embed-provide-sanitize-function' );\n\n\t\t\t\treturn {\n\t\t\t\t\thtml: rawHtml,\n\t\t\t\t\thasChanged: false\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tconst editor = this.editor;\n\t\tconst schema = editor.model.schema;\n\n\t\tschema.register( 'rawHtml', {\n\t\t\tinheritAllFrom: '$blockObject',\n\t\t\tallowAttributes: [ 'value' ]\n\t\t} );\n\n\t\teditor.commands.add( 'htmlEmbed', new HtmlEmbedCommand( editor ) );\n\n\t\tthis._setupConversion();\n\t}\n\n\t/**\n\t * Prepares converters for the feature.\n\t */\n\tprivate _setupConversion() {\n\t\tconst editor = this.editor;\n\t\tconst t = editor.t;\n\t\tconst view = editor.editing.view;\n\t\tconst widgetButtonViewReferences = this._widgetButtonViewReferences;\n\t\tconst htmlEmbedConfig: HtmlEmbedConfig = editor.config.get( 'htmlEmbed' )!;\n\n\t\t// Destroy UI buttons created for widgets that have been removed from the view document (e.g. in the previous conversion).\n\t\t// This prevents unexpected memory leaks from UI views.\n\t\tthis.editor.editing.view.on( 'render', () => {\n\t\t\tfor ( const buttonView of widgetButtonViewReferences ) {\n\t\t\t\tif ( buttonView.element && buttonView.element.isConnected ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tbuttonView.destroy();\n\t\t\t\twidgetButtonViewReferences.delete( buttonView );\n\t\t\t}\n\t\t}, { priority: 'lowest' } );\n\n\t\t// Register div.raw-html-embed as a raw content element so all of it's content will be provided\n\t\t// as a view element's custom property while data upcasting.\n\t\teditor.data.registerRawContentMatcher( {\n\t\t\tname: 'div',\n\t\t\tclasses: 'raw-html-embed'\n\t\t} );\n\n\t\teditor.conversion.for( 'upcast' ).elementToElement( {\n\t\t\tview: {\n\t\t\t\tname: 'div',\n\t\t\t\tclasses: 'raw-html-embed'\n\t\t\t},\n\t\t\tmodel: ( viewElement, { writer } ) => {\n\t\t\t\t// The div.raw-html-embed is registered as a raw content element,\n\t\t\t\t// so all it's content is available in a custom property.\n\t\t\t\treturn writer.createElement( 'rawHtml', {\n\t\t\t\t\tvalue: viewElement.getCustomProperty( '$rawContent' )\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\n\t\teditor.conversion.for( 'dataDowncast' ).elementToElement( {\n\t\t\tmodel: 'rawHtml',\n\t\t\tview: ( modelElement, { writer } ) => {\n\t\t\t\treturn writer.createRawElement( 'div', { class: 'raw-html-embed' }, function( domElement ) {\n\t\t\t\t\tdomElement.innerHTML = modelElement.getAttribute( 'value' ) as string || '';\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\n\t\teditor.conversion.for( 'editingDowncast' ).elementToStructure( {\n\t\t\tmodel: { name: 'rawHtml', attributes: [ 'value' ] },\n\t\t\tview: ( modelElement, { writer } ) => {\n\t\t\t\tlet domContentWrapper: HTMLElement;\n\t\t\t\tlet state: State;\n\t\t\t\tlet props: Props;\n\n\t\t\t\tconst viewContentWrapper = writer.createRawElement( 'div', {\n\t\t\t\t\tclass: 'raw-html-embed__content-wrapper'\n\t\t\t\t}, function( domElement ) {\n\t\t\t\t\tdomContentWrapper = domElement;\n\n\t\t\t\t\trenderContent( { editor, domElement, state, props } );\n\n\t\t\t\t\t// Since there is a `data-cke-ignore-events` attribute set on the wrapper element in the editable mode,\n\t\t\t\t\t// the explicit `mousedown` handler on the `capture` phase is needed to move the selection onto the whole\n\t\t\t\t\t// HTML embed widget.\n\t\t\t\t\tdomContentWrapper.addEventListener( 'mousedown', () => {\n\t\t\t\t\t\tif ( state.isEditable ) {\n\t\t\t\t\t\t\tconst model = editor.model;\n\t\t\t\t\t\t\tconst selectedElement = model.document.selection.getSelectedElement();\n\n\t\t\t\t\t\t\t// Move the selection onto the whole HTML embed widget if it's currently not selected.\n\t\t\t\t\t\t\tif ( selectedElement !== modelElement ) {\n\t\t\t\t\t\t\t\tmodel.change( writer => writer.setSelection( modelElement, 'on' ) );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}, true );\n\t\t\t\t} );\n\n\t\t\t\t// API exposed on each raw HTML embed widget so other features can control a particular widget.\n\t\t\t\tconst rawHtmlApi: RawHtmlApi = {\n\t\t\t\t\tmakeEditable() {\n\t\t\t\t\t\tstate = Object.assign( {}, state, {\n\t\t\t\t\t\t\tisEditable: true\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\trenderContent( { domElement: domContentWrapper, editor, state, props } );\n\n\t\t\t\t\t\tview.change( writer => {\n\t\t\t\t\t\t\twriter.setAttribute( 'data-cke-ignore-events', 'true', viewContentWrapper );\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t// This could be potentially pulled to a separate method called focusTextarea().\n\t\t\t\t\t\tdomContentWrapper.querySelector( 'textarea' )!.focus();\n\t\t\t\t\t},\n\t\t\t\t\tsave( newValue: string ) {\n\t\t\t\t\t\t// If the value didn't change, we just cancel. If it changed,\n\t\t\t\t\t\t// it's enough to update the model – the entire widget will be reconverted.\n\t\t\t\t\t\tif ( newValue !== state.getRawHtmlValue() ) {\n\t\t\t\t\t\t\teditor.execute( 'htmlEmbed', newValue );\n\t\t\t\t\t\t\teditor.editing.view.focus();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.cancel();\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tcancel() {\n\t\t\t\t\t\tstate = Object.assign( {}, state, {\n\t\t\t\t\t\t\tisEditable: false\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\trenderContent( { domElement: domContentWrapper, editor, state, props } );\n\t\t\t\t\t\teditor.editing.view.focus();\n\n\t\t\t\t\t\tview.change( writer => {\n\t\t\t\t\t\t\twriter.removeAttribute( 'data-cke-ignore-events', viewContentWrapper );\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tstate = {\n\t\t\t\t\tshowPreviews: htmlEmbedConfig.showPreviews,\n\t\t\t\t\tisEditable: false,\n\t\t\t\t\tgetRawHtmlValue: () => modelElement.getAttribute( 'value' ) as string || ''\n\t\t\t\t};\n\n\t\t\t\tprops = {\n\t\t\t\t\tsanitizeHtml: htmlEmbedConfig.sanitizeHtml,\n\t\t\t\t\ttextareaPlaceholder: t( 'Paste raw HTML here...' ),\n\n\t\t\t\t\tonEditClick() {\n\t\t\t\t\t\trawHtmlApi.makeEditable();\n\t\t\t\t\t},\n\t\t\t\t\tonSaveClick( newValue ) {\n\t\t\t\t\t\trawHtmlApi.save( newValue );\n\t\t\t\t\t},\n\t\t\t\t\tonCancelClick() {\n\t\t\t\t\t\trawHtmlApi.cancel();\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tconst viewContainer = writer.createContainerElement( 'div', {\n\t\t\t\t\tclass: 'raw-html-embed',\n\t\t\t\t\t'data-html-embed-label': t( 'HTML snippet' ),\n\t\t\t\t\tdir: editor.locale.uiLanguageDirection\n\t\t\t\t}, viewContentWrapper );\n\n\t\t\t\twriter.setCustomProperty( 'rawHtmlApi', rawHtmlApi, viewContainer );\n\t\t\t\twriter.setCustomProperty( 'rawHtml', true, viewContainer );\n\n\t\t\t\treturn toWidget( viewContainer, writer, {\n\t\t\t\t\tlabel: t( 'HTML snippet' ),\n\t\t\t\t\thasSelectionHandle: true\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\n\t\tfunction renderContent( {\n\t\t\teditor,\n\t\t\tdomElement,\n\t\t\tstate,\n\t\t\tprops\n\t\t}: {\n\t\t\teditor: Editor;\n\t\t\tdomElement: HTMLElement;\n\t\t\tstate: State;\n\t\t\tprops: Props;\n\t\t} ) {\n\t\t\t// Remove all children;\n\t\t\tdomElement.textContent = '';\n\n\t\t\tconst domDocument = domElement.ownerDocument;\n\t\t\tlet domTextarea: HTMLTextAreaElement;\n\n\t\t\tif ( state.isEditable ) {\n\t\t\t\tconst textareaProps = {\n\t\t\t\t\tisDisabled: false,\n\t\t\t\t\tplaceholder: props.textareaPlaceholder\n\t\t\t\t};\n\n\t\t\t\tdomTextarea = createDomTextarea( { domDocument, state, props: textareaProps } );\n\n\t\t\t\tdomElement.append( domTextarea );\n\t\t\t} else if ( state.showPreviews ) {\n\t\t\t\tconst previewContainerProps = {\n\t\t\t\t\tsanitizeHtml: props.sanitizeHtml\n\t\t\t\t};\n\n\t\t\t\tdomElement.append( createPreviewContainer( { domDocument, state, props: previewContainerProps, editor } ) );\n\t\t\t} else {\n\t\t\t\tconst textareaProps = {\n\t\t\t\t\tisDisabled: true,\n\t\t\t\t\tplaceholder: props.textareaPlaceholder\n\t\t\t\t};\n\n\t\t\t\tdomElement.append( createDomTextarea( { domDocument, state, props: textareaProps } ) );\n\t\t\t}\n\n\t\t\tconst buttonsWrapperProps = {\n\t\t\t\tonEditClick: props.onEditClick,\n\t\t\t\tonSaveClick: () => {\n\t\t\t\t\tprops.onSaveClick( domTextarea.value );\n\t\t\t\t},\n\t\t\t\tonCancelClick: props.onCancelClick\n\t\t\t};\n\n\t\t\tdomElement.prepend( createDomButtonsWrapper( { editor, domDocument, state, props: buttonsWrapperProps } ) );\n\t\t}\n\n\t\tfunction createDomButtonsWrapper( {\n\t\t\teditor,\n\t\t\tdomDocument,\n\t\t\tstate,\n\t\t\tprops\n\t\t}: {\n\t\t\teditor: Editor;\n\t\t\tdomDocument: Document;\n\t\t\tstate: State;\n\t\t\tprops: Pick<Props, 'onEditClick' | 'onCancelClick'> & {\n\t\t\t\tonSaveClick(): void;\n\t\t\t};\n\t\t} ): HTMLDivElement {\n\t\t\tconst domButtonsWrapper = createElement( domDocument, 'div', {\n\t\t\t\tclass: 'raw-html-embed__buttons-wrapper'\n\t\t\t} );\n\n\t\t\tif ( state.isEditable ) {\n\t\t\t\tconst saveButtonView = createUIButton( editor, 'save', props.onSaveClick );\n\t\t\t\tconst cancelButtonView = createUIButton( editor, 'cancel', props.onCancelClick );\n\n\t\t\t\tdomButtonsWrapper.append( saveButtonView.element!, cancelButtonView.element! );\n\t\t\t\twidgetButtonViewReferences.add( saveButtonView ).add( cancelButtonView );\n\t\t\t} else {\n\t\t\t\tconst editButtonView = createUIButton( editor, 'edit', props.onEditClick );\n\n\t\t\t\tdomButtonsWrapper.append( editButtonView.element! );\n\t\t\t\twidgetButtonViewReferences.add( editButtonView );\n\t\t\t}\n\n\t\t\treturn domButtonsWrapper;\n\t\t}\n\n\t\tfunction createDomTextarea( {\n\t\t\tdomDocument,\n\t\t\tstate,\n\t\t\tprops\n\t\t}: {\n\t\t\tdomDocument: Document;\n\t\t\tstate: State;\n\t\t\tprops: {\n\t\t\t\tisDisabled: boolean;\n\t\t\t\tplaceholder: string;\n\t\t\t};\n\t\t} ): HTMLTextAreaElement {\n\t\t\tconst domTextarea = createElement( domDocument, 'textarea', {\n\t\t\t\tplaceholder: props.placeholder,\n\t\t\t\tclass: 'ck ck-reset ck-input ck-input-text raw-html-embed__source'\n\t\t\t} );\n\n\t\t\tdomTextarea.disabled = props.isDisabled;\n\t\t\tdomTextarea.value = state.getRawHtmlValue();\n\n\t\t\treturn domTextarea;\n\t\t}\n\n\t\tfunction createPreviewContainer( {\n\t\t\teditor,\n\t\t\tdomDocument,\n\t\t\tstate,\n\t\t\tprops\n\t\t}: {\n\t\t\teditor: Editor;\n\t\t\tdomDocument: Document;\n\t\t\tstate: State;\n\t\t\tprops: {\n\t\t\t\tsanitizeHtml: HtmlEmbedConfig['sanitizeHtml'];\n\t\t\t};\n\t\t} ): HTMLDivElement {\n\t\t\tconst sanitizedOutput = props.sanitizeHtml!( state.getRawHtmlValue() );\n\t\t\tconst placeholderText = state.getRawHtmlValue().length > 0 ?\n\t\t\t\tt( 'No preview available' ) :\n\t\t\t\tt( 'Empty snippet content' );\n\n\t\t\tconst domPreviewPlaceholder = createElement( domDocument, 'div', {\n\t\t\t\tclass: 'ck ck-reset_all raw-html-embed__preview-placeholder'\n\t\t\t}, placeholderText );\n\n\t\t\tconst domPreviewContent = createElement( domDocument, 'div', {\n\t\t\t\tclass: 'raw-html-embed__preview-content',\n\t\t\t\tdir: editor.locale.contentLanguageDirection\n\t\t\t} );\n\n\t\t\t// Creating a contextual document fragment allows executing scripts when inserting into the preview element.\n\t\t\t// See: https://github.com/ckeditor/ckeditor5/issues/8326.\n\t\t\tconst domRange = domDocument.createRange();\n\t\t\tconst domDocumentFragment = domRange.createContextualFragment( sanitizedOutput.html );\n\n\t\t\tdomPreviewContent.appendChild( domDocumentFragment );\n\n\t\t\tconst domPreviewContainer = createElement( domDocument, 'div', {\n\t\t\t\tclass: 'raw-html-embed__preview'\n\t\t\t}, [\n\t\t\t\tdomPreviewPlaceholder, domPreviewContent\n\t\t\t] );\n\n\t\t\treturn domPreviewContainer;\n\t\t}\n\t}\n}\n\n/**\n * Returns a UI button view that can be used in conversion.\n */\nfunction createUIButton( editor: Editor, type: 'edit' | 'save' | 'cancel', onClick: () => void ): ButtonView {\n\tconst { t } = editor.locale;\n\tconst buttonView = new ButtonView( editor.locale );\n\tconst command: HtmlEmbedCommand = editor.commands.get( 'htmlEmbed' )!;\n\n\tbuttonView.set( {\n\t\tclass: `raw-html-embed__${ type }-button`,\n\t\ticon: IconPencil,\n\t\ttooltip: true,\n\t\ttooltipPosition: editor.locale.uiLanguageDirection === 'rtl' ? 'e' : 'w'\n\t} );\n\n\tbuttonView.render();\n\n\tif ( type === 'edit' ) {\n\t\tbuttonView.set( {\n\t\t\ticon: IconPencil,\n\t\t\tlabel: t( 'Edit source' )\n\t\t} );\n\n\t\tbuttonView.bind( 'isEnabled' ).to( command );\n\t} else if ( type === 'save' ) {\n\t\tbuttonView.set( {\n\t\t\ticon: IconCheck,\n\t\t\tlabel: t( 'Save changes' )\n\t\t} );\n\n\t\tbuttonView.bind( 'isEnabled' ).to( command );\n\t} else {\n\t\tbuttonView.set( {\n\t\t\ticon: IconCancel,\n\t\t\tlabel: t( 'Cancel' )\n\t\t} );\n\t}\n\n\tbuttonView.on( 'execute', onClick );\n\n\treturn buttonView;\n}\n\ninterface State {\n\tshowPreviews: HtmlEmbedConfig['showPreviews'];\n\tisEditable: boolean;\n\tgetRawHtmlValue(): string;\n}\n\ninterface Props {\n\tsanitizeHtml: HtmlEmbedConfig['sanitizeHtml'];\n\ttextareaPlaceholder: string;\n\tonEditClick(): void;\n\tonSaveClick( newValue: string ): void;\n\tonCancelClick(): void;\n}\n\n/**\n * The API exposed on each raw HTML embed widget so other features can control a particular widget.\n *\n * @internal\n */\nexport interface RawHtmlApi {\n\tmakeEditable(): void;\n\tsave( newValue: string ): void;\n\tcancel(): void;\n}\n","/**\n * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module html-embed/htmlembedui\n */\n\nimport { Plugin } from '@ckeditor/ckeditor5-core';\nimport { IconHtml } from '@ckeditor/ckeditor5-icons';\nimport { ButtonView, MenuBarMenuListItemButtonView } from '@ckeditor/ckeditor5-ui';\nimport type { RawHtmlApi } from './htmlembedediting.js';\nimport { type HtmlEmbedCommand } from './htmlembedcommand.js';\n\n/**\n * The HTML embed UI plugin.\n */\nexport class HtmlEmbedUI extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'HtmlEmbedUI' as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static override get isOfficialPlugin(): true {\n\t\treturn true;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tconst editor = this.editor;\n\t\tconst locale = editor.locale;\n\t\tconst t = locale.t;\n\n\t\t// Add the `htmlEmbed` button to feature components.\n\t\teditor.ui.componentFactory.add( 'htmlEmbed', () => {\n\t\t\tconst buttonView = this._createButton( ButtonView );\n\n\t\t\tbuttonView.set( {\n\t\t\t\ttooltip: true,\n\t\t\t\tlabel: t( 'Insert HTML' )\n\t\t\t} );\n\n\t\t\treturn buttonView;\n\t\t} );\n\n\t\teditor.ui.componentFactory.add( 'menuBar:htmlEmbed', () => {\n\t\t\tconst buttonView = this._createButton( MenuBarMenuListItemButtonView );\n\n\t\t\tbuttonView.set( {\n\t\t\t\tlabel: t( 'HTML snippet' )\n\t\t\t} );\n\n\t\t\treturn buttonView;\n\t\t} );\n\t}\n\n\t/**\n\t * Creates a button for html embed command to use either in toolbar or in menu bar.\n\t */\n\tprivate _createButton<T extends typeof ButtonView | typeof MenuBarMenuListItemButtonView>( ButtonClass: T ): InstanceType<T> {\n\t\tconst editor = this.editor;\n\t\tconst command: HtmlEmbedCommand = editor.commands.get( 'htmlEmbed' )!;\n\t\tconst view = new ButtonClass( editor.locale ) as InstanceType<T>;\n\n\t\tview.set( {\n\t\t\ticon: IconHtml\n\t\t} );\n\n\t\tview.bind( 'isEnabled' ).to( command, 'isEnabled' );\n\n\t\t// Execute the command.\n\t\tthis.listenTo( view, 'execute', () => {\n\t\t\teditor.execute( 'htmlEmbed' );\n\t\t\teditor.editing.view.focus();\n\n\t\t\tconst rawHtmlApi = editor.editing.view.document.selection\n\t\t\t\t.getSelectedElement()!\n\t\t\t\t.getCustomProperty( 'rawHtmlApi' ) as RawHtmlApi;\n\n\t\t\trawHtmlApi.makeEditable();\n\t\t} );\n\n\t\treturn view;\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module html-embed/htmlembed\n */\n\nimport { Plugin, type PluginDependenciesOf } from '@ckeditor/ckeditor5-core';\nimport { Widget } from '@ckeditor/ckeditor5-widget';\n\nimport { HtmlEmbedEditing } from './htmlembedediting.js';\nimport { HtmlEmbedUI } from './htmlembedui.js';\n\n/**\n * The HTML embed feature.\n *\n * It allows inserting HTML snippets directly into the editor.\n *\n * For a detailed overview, check the {@glink features/html/html-embed HTML embed feature} documentation.\n */\nexport class HtmlEmbed extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get requires(): PluginDependenciesOf<[ HtmlEmbedEditing, HtmlEmbedUI, Widget ]> {\n\t\treturn [ HtmlEmbedEditing, HtmlEmbedUI, Widget ];\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'HtmlEmbed' as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static override get isOfficialPlugin(): true {\n\t\treturn true;\n\t}\n}\n"]}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ import type { Translations } from '@ckeditor/ckeditor5-utils';
7
+ declare const translations: Translations;
8
+ export default translations;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ export default {"af":{"dictionary":{"Insert HTML":"","HTML snippet":"","Paste raw HTML here...":"","Edit source":"","Save changes":"","No preview available":"","Empty snippet content":""}}}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ ( e => {
7
+ const { [ 'af' ]: translations } = {"af":{"dictionary":{"Insert HTML":"","HTML snippet":"","Paste raw HTML here...":"","Edit source":"","Save changes":"","No preview available":"","Empty snippet content":""}}};
8
+ e[ 'af' ] ||= { dictionary: {}, getPluralForm: null };
9
+ e[ 'af' ].dictionary = Object.assign( e[ 'af' ].dictionary, translations.dictionary );
10
+ if ( translations.getPluralForm ) {
11
+ e[ 'af' ].getPluralForm = translations.getPluralForm;
12
+ }
13
+ } )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ import type { Translations } from '@ckeditor/ckeditor5-utils';
7
+ declare const translations: Translations;
8
+ export default translations;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ export default {"ar":{"dictionary":{"Insert HTML":"إدراج HTML","HTML snippet":"قصاصة برمجية بلغة HTML","Paste raw HTML here...":"ألصق رمز HTML الأولي هنا...","Edit source":"تحرير المصدر","Save changes":"حفظ التغييرات","No preview available":"المعاينة غير متاحة","Empty snippet content":"محتوى القصاصة فارغ"}}}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ ( e => {
7
+ const { [ 'ar' ]: translations } = {"ar":{"dictionary":{"Insert HTML":"إدراج HTML","HTML snippet":"قصاصة برمجية بلغة HTML","Paste raw HTML here...":"ألصق رمز HTML الأولي هنا...","Edit source":"تحرير المصدر","Save changes":"حفظ التغييرات","No preview available":"المعاينة غير متاحة","Empty snippet content":"محتوى القصاصة فارغ"}}};
8
+ e[ 'ar' ] ||= { dictionary: {}, getPluralForm: null };
9
+ e[ 'ar' ].dictionary = Object.assign( e[ 'ar' ].dictionary, translations.dictionary );
10
+ if ( translations.getPluralForm ) {
11
+ e[ 'ar' ].getPluralForm = translations.getPluralForm;
12
+ }
13
+ } )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ import type { Translations } from '@ckeditor/ckeditor5-utils';
7
+ declare const translations: Translations;
8
+ export default translations;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ export default {"ast":{"dictionary":{"Insert HTML":"","HTML snippet":"","Paste raw HTML here...":"","Edit source":"","Save changes":"","No preview available":"","Empty snippet content":""}}}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ ( e => {
7
+ const { [ 'ast' ]: translations } = {"ast":{"dictionary":{"Insert HTML":"","HTML snippet":"","Paste raw HTML here...":"","Edit source":"","Save changes":"","No preview available":"","Empty snippet content":""}}};
8
+ e[ 'ast' ] ||= { dictionary: {}, getPluralForm: null };
9
+ e[ 'ast' ].dictionary = Object.assign( e[ 'ast' ].dictionary, translations.dictionary );
10
+ if ( translations.getPluralForm ) {
11
+ e[ 'ast' ].getPluralForm = translations.getPluralForm;
12
+ }
13
+ } )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ import type { Translations } from '@ckeditor/ckeditor5-utils';
7
+ declare const translations: Translations;
8
+ export default translations;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ export default {"az":{"dictionary":{"Insert HTML":"","HTML snippet":"","Paste raw HTML here...":"","Edit source":"","Save changes":"","No preview available":"","Empty snippet content":""}}}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ ( e => {
7
+ const { [ 'az' ]: translations } = {"az":{"dictionary":{"Insert HTML":"","HTML snippet":"","Paste raw HTML here...":"","Edit source":"","Save changes":"","No preview available":"","Empty snippet content":""}}};
8
+ e[ 'az' ] ||= { dictionary: {}, getPluralForm: null };
9
+ e[ 'az' ].dictionary = Object.assign( e[ 'az' ].dictionary, translations.dictionary );
10
+ if ( translations.getPluralForm ) {
11
+ e[ 'az' ].getPluralForm = translations.getPluralForm;
12
+ }
13
+ } )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ import type { Translations } from '@ckeditor/ckeditor5-utils';
7
+ declare const translations: Translations;
8
+ export default translations;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ export default {"be":{"dictionary":{"Insert HTML":"Уставіць HTML","HTML snippet":"HTML сніппет","Paste raw HTML here...":"Устаўце HTML код сюды...","Edit source":"Змяніць код","Save changes":"Захаваць змены","No preview available":"Папярэдні прагляд недаступны","Empty snippet content":"Няма змесціва"}}}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ ( e => {
7
+ const { [ 'be' ]: translations } = {"be":{"dictionary":{"Insert HTML":"Уставіць HTML","HTML snippet":"HTML сніппет","Paste raw HTML here...":"Устаўце HTML код сюды...","Edit source":"Змяніць код","Save changes":"Захаваць змены","No preview available":"Папярэдні прагляд недаступны","Empty snippet content":"Няма змесціва"}}};
8
+ e[ 'be' ] ||= { dictionary: {}, getPluralForm: null };
9
+ e[ 'be' ].dictionary = Object.assign( e[ 'be' ].dictionary, translations.dictionary );
10
+ if ( translations.getPluralForm ) {
11
+ e[ 'be' ].getPluralForm = translations.getPluralForm;
12
+ }
13
+ } )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ import type { Translations } from '@ckeditor/ckeditor5-utils';
7
+ declare const translations: Translations;
8
+ export default translations;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ export default {"bg":{"dictionary":{"Insert HTML":"Въведи HTML","HTML snippet":"съкратен HTML","Paste raw HTML here...":"Постави суров HTML тук...","Edit source":"Редактирай източник","Save changes":"Запази промените","No preview available":"Не е наличен преглед","Empty snippet content":"Изпразни съдържанието на съкращението"}}}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ ( e => {
7
+ const { [ 'bg' ]: translations } = {"bg":{"dictionary":{"Insert HTML":"Въведи HTML","HTML snippet":"съкратен HTML","Paste raw HTML here...":"Постави суров HTML тук...","Edit source":"Редактирай източник","Save changes":"Запази промените","No preview available":"Не е наличен преглед","Empty snippet content":"Изпразни съдържанието на съкращението"}}};
8
+ e[ 'bg' ] ||= { dictionary: {}, getPluralForm: null };
9
+ e[ 'bg' ].dictionary = Object.assign( e[ 'bg' ].dictionary, translations.dictionary );
10
+ if ( translations.getPluralForm ) {
11
+ e[ 'bg' ].getPluralForm = translations.getPluralForm;
12
+ }
13
+ } )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ import type { Translations } from '@ckeditor/ckeditor5-utils';
7
+ declare const translations: Translations;
8
+ export default translations;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ export default {"bn":{"dictionary":{"Insert HTML":"HTML ঢোকান","HTML snippet":"HTML স্নিপেট","Paste raw HTML here...":"এখানে সারি HTML পেস্ট করুন...","Edit source":"উৎস এডিট করুন","Save changes":"পরিবর্তনগুলো সংরক্ষন","No preview available":"কোনো প্রিভিউ উপলব্ধ নেই","Empty snippet content":"খালি স্নিপেট বিষয়বস্তু"}}}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ ( e => {
7
+ const { [ 'bn' ]: translations } = {"bn":{"dictionary":{"Insert HTML":"HTML ঢোকান","HTML snippet":"HTML স্নিপেট","Paste raw HTML here...":"এখানে সারি HTML পেস্ট করুন...","Edit source":"উৎস এডিট করুন","Save changes":"পরিবর্তনগুলো সংরক্ষন","No preview available":"কোনো প্রিভিউ উপলব্ধ নেই","Empty snippet content":"খালি স্নিপেট বিষয়বস্তু"}}};
8
+ e[ 'bn' ] ||= { dictionary: {}, getPluralForm: null };
9
+ e[ 'bn' ].dictionary = Object.assign( e[ 'bn' ].dictionary, translations.dictionary );
10
+ if ( translations.getPluralForm ) {
11
+ e[ 'bn' ].getPluralForm = translations.getPluralForm;
12
+ }
13
+ } )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ import type { Translations } from '@ckeditor/ckeditor5-utils';
7
+ declare const translations: Translations;
8
+ export default translations;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ export default {"bs":{"dictionary":{"Insert HTML":"Umetni HTML","HTML snippet":"HTML odlomak","Paste raw HTML here...":"Zalijepi HTML ovdje...","Edit source":"Uredi izvor","Save changes":"Sačuvaj izmjene","No preview available":"Pregled nedostupan","Empty snippet content":"HTML odlomak nema sadžaj"}}}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ ( e => {
7
+ const { [ 'bs' ]: translations } = {"bs":{"dictionary":{"Insert HTML":"Umetni HTML","HTML snippet":"HTML odlomak","Paste raw HTML here...":"Zalijepi HTML ovdje...","Edit source":"Uredi izvor","Save changes":"Sačuvaj izmjene","No preview available":"Pregled nedostupan","Empty snippet content":"HTML odlomak nema sadžaj"}}};
8
+ e[ 'bs' ] ||= { dictionary: {}, getPluralForm: null };
9
+ e[ 'bs' ].dictionary = Object.assign( e[ 'bs' ].dictionary, translations.dictionary );
10
+ if ( translations.getPluralForm ) {
11
+ e[ 'bs' ].getPluralForm = translations.getPluralForm;
12
+ }
13
+ } )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ import type { Translations } from '@ckeditor/ckeditor5-utils';
7
+ declare const translations: Translations;
8
+ export default translations;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ export default {"ca":{"dictionary":{"Insert HTML":"Insereix HTML","HTML snippet":"Fragment HTML","Paste raw HTML here...":"Enganxa HTML en brut aquí...","Edit source":"Editar la font","Save changes":"Desar els canvis","No preview available":"No hi ha cap vista prèvia disponible","Empty snippet content":"Contingut del fragment buit"}}}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ ( e => {
7
+ const { [ 'ca' ]: translations } = {"ca":{"dictionary":{"Insert HTML":"Insereix HTML","HTML snippet":"Fragment HTML","Paste raw HTML here...":"Enganxa HTML en brut aquí...","Edit source":"Editar la font","Save changes":"Desar els canvis","No preview available":"No hi ha cap vista prèvia disponible","Empty snippet content":"Contingut del fragment buit"}}};
8
+ e[ 'ca' ] ||= { dictionary: {}, getPluralForm: null };
9
+ e[ 'ca' ].dictionary = Object.assign( e[ 'ca' ].dictionary, translations.dictionary );
10
+ if ( translations.getPluralForm ) {
11
+ e[ 'ca' ].getPluralForm = translations.getPluralForm;
12
+ }
13
+ } )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ import type { Translations } from '@ckeditor/ckeditor5-utils';
7
+ declare const translations: Translations;
8
+ export default translations;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ export default {"cs":{"dictionary":{"Insert HTML":"Vložit kód HTML","HTML snippet":"Kód HTML","Paste raw HTML here...":"Sem vložte kód HTML ...","Edit source":"Upravit zdroj","Save changes":"Uložit změny","No preview available":"Náhled není k dispozici","Empty snippet content":"Prázdný obsah kódu"}}}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ ( e => {
7
+ const { [ 'cs' ]: translations } = {"cs":{"dictionary":{"Insert HTML":"Vložit kód HTML","HTML snippet":"Kód HTML","Paste raw HTML here...":"Sem vložte kód HTML ...","Edit source":"Upravit zdroj","Save changes":"Uložit změny","No preview available":"Náhled není k dispozici","Empty snippet content":"Prázdný obsah kódu"}}};
8
+ e[ 'cs' ] ||= { dictionary: {}, getPluralForm: null };
9
+ e[ 'cs' ].dictionary = Object.assign( e[ 'cs' ].dictionary, translations.dictionary );
10
+ if ( translations.getPluralForm ) {
11
+ e[ 'cs' ].getPluralForm = translations.getPluralForm;
12
+ }
13
+ } )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ import type { Translations } from '@ckeditor/ckeditor5-utils';
7
+ declare const translations: Translations;
8
+ export default translations;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ export default {"da":{"dictionary":{"Insert HTML":"Indsæt HTML","HTML snippet":"HTML-uddrag","Paste raw HTML here...":"Indsæt rå HTML her...","Edit source":"Rediger kilde","Save changes":"Gem ændringer","No preview available":"Ingen forhåndsvisning tilgængelig","Empty snippet content":"Tøm uddragsindhold"}}}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ ( e => {
7
+ const { [ 'da' ]: translations } = {"da":{"dictionary":{"Insert HTML":"Indsæt HTML","HTML snippet":"HTML-uddrag","Paste raw HTML here...":"Indsæt rå HTML her...","Edit source":"Rediger kilde","Save changes":"Gem ændringer","No preview available":"Ingen forhåndsvisning tilgængelig","Empty snippet content":"Tøm uddragsindhold"}}};
8
+ e[ 'da' ] ||= { dictionary: {}, getPluralForm: null };
9
+ e[ 'da' ].dictionary = Object.assign( e[ 'da' ].dictionary, translations.dictionary );
10
+ if ( translations.getPluralForm ) {
11
+ e[ 'da' ].getPluralForm = translations.getPluralForm;
12
+ }
13
+ } )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ import type { Translations } from '@ckeditor/ckeditor5-utils';
7
+ declare const translations: Translations;
8
+ export default translations;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ export default {"de-ch":{"dictionary":{"Insert HTML":"HTML einfügen","HTML snippet":"HTML-Codeschnipsel","Paste raw HTML here...":"HTML-Code hier einfügen…","Edit source":"Quelle bearbeiten","Save changes":"Änderungen speichern","No preview available":"Keine Vorschau verfügbar","Empty snippet content":"Codeschnipsel ohne Inhalt"}}}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ ( e => {
7
+ const { [ 'de-ch' ]: translations } = {"de-ch":{"dictionary":{"Insert HTML":"HTML einfügen","HTML snippet":"HTML-Codeschnipsel","Paste raw HTML here...":"HTML-Code hier einfügen…","Edit source":"Quelle bearbeiten","Save changes":"Änderungen speichern","No preview available":"Keine Vorschau verfügbar","Empty snippet content":"Codeschnipsel ohne Inhalt"}}};
8
+ e[ 'de-ch' ] ||= { dictionary: {}, getPluralForm: null };
9
+ e[ 'de-ch' ].dictionary = Object.assign( e[ 'de-ch' ].dictionary, translations.dictionary );
10
+ if ( translations.getPluralForm ) {
11
+ e[ 'de-ch' ].getPluralForm = translations.getPluralForm;
12
+ }
13
+ } )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ import type { Translations } from '@ckeditor/ckeditor5-utils';
7
+ declare const translations: Translations;
8
+ export default translations;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ export default {"de":{"dictionary":{"Insert HTML":"HTML einfügen","HTML snippet":"HTML-Snippet","Paste raw HTML here...":"Rohes HTML hier einfügen …","Edit source":"Quelle bearbeiten","Save changes":"Änderungen speichern","No preview available":"Keine Vorschau verfügbar","Empty snippet content":"Leerer Snippet-Inhalt"}}}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, 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
+ ( e => {
7
+ const { [ 'de' ]: translations } = {"de":{"dictionary":{"Insert HTML":"HTML einfügen","HTML snippet":"HTML-Snippet","Paste raw HTML here...":"Rohes HTML hier einfügen …","Edit source":"Quelle bearbeiten","Save changes":"Änderungen speichern","No preview available":"Keine Vorschau verfügbar","Empty snippet content":"Leerer Snippet-Inhalt"}}};
8
+ e[ 'de' ] ||= { dictionary: {}, getPluralForm: null };
9
+ e[ 'de' ].dictionary = Object.assign( e[ 'de' ].dictionary, translations.dictionary );
10
+ if ( translations.getPluralForm ) {
11
+ e[ 'de' ].getPluralForm = translations.getPluralForm;
12
+ }
13
+ } )( window.CKEDITOR_TRANSLATIONS ||= {} );