@ckeditor/ckeditor5-language 41.1.0 → 41.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/language.js CHANGED
@@ -2,4 +2,4 @@
2
2
  /*!
3
3
  * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
4
4
  * For licensing, see LICENSE.md.
5
- */(()=>{var e={968:(e,t,a)=>{e.exports=a(672)("./src/core.js")},348:(e,t,a)=>{e.exports=a(672)("./src/ui.js")},316:(e,t,a)=>{e.exports=a(672)("./src/utils.js")},672:e=>{"use strict";e.exports=CKEditor5.dll}},t={};function a(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,a),i.exports}a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};(()=>{"use strict";a.r(n),a.d(n,{TextPartLanguage:()=>u,TextPartLanguageEditing:()=>r,TextPartLanguageUI:()=>s});var e=a(968),t=a(316);function o(e,a){return`${e}:${a=a||(0,t.getLanguageDirection)(e)}`}class i extends e.Command{refresh(){const e=this.editor.model,t=e.document;this.value=this._getValueFromFirstAllowedNode(),this.isEnabled=e.schema.checkAttributeInSelection(t.selection,"language")}execute({languageCode:e,textDirection:t}={}){const a=this.editor.model,n=a.document.selection,i=!!e&&o(e,t);a.change((e=>{if(n.isCollapsed)i?e.setSelectionAttribute("language",i):e.removeSelectionAttribute("language");else{const t=a.schema.getValidRanges(n.getRanges(),"language");for(const a of t)i?e.setAttribute("language",i,a):e.removeAttribute("language",a)}}))}_getValueFromFirstAllowedNode(){const e=this.editor.model,t=e.schema,a=e.document.selection;if(a.isCollapsed)return a.getAttribute("language")||!1;for(const e of a.getRanges())for(const a of e.getItems())if(t.checkAttribute(a,"language"))return a.getAttribute("language")||!1;return!1}}class r extends e.Plugin{static get pluginName(){return"TextPartLanguageEditing"}constructor(e){super(e),e.config.define("language",{textPartLanguage:[{title:"Arabic",languageCode:"ar"},{title:"French",languageCode:"fr"},{title:"Spanish",languageCode:"es"}]})}init(){const e=this.editor;e.model.schema.extend("$text",{allowAttributes:"language"}),e.model.schema.setAttributeProperties("language",{copyOnEnter:!0}),this._defineConverters(),e.commands.add("textPartLanguage",new i(e))}_defineConverters(){const e=this.editor.conversion;e.for("upcast").elementToAttribute({model:{key:"language",value:e=>o(e.getAttribute("lang"),e.getAttribute("dir"))},view:{name:"span",attributes:{lang:/[\s\S]+/}}}),e.for("downcast").attributeToElement({model:"language",view:(e,{writer:t},a)=>{if(!e)return;if(!a.item.is("$textProxy")&&!a.item.is("documentSelection"))return;const{languageCode:n,textDirection:o}=function(e){const[t,a]=e.split(":");return{languageCode:t,textDirection:a}}(e);return t.createAttributeElement("span",{lang:n,dir:o})}})}}var g=a(348);class s extends e.Plugin{static get pluginName(){return"TextPartLanguageUI"}init(){const e=this.editor,a=e.t,n=e.config.get("language.textPartLanguage"),i=a("Choose language"),r=a("Remove language"),s=a("Language");e.ui.componentFactory.add("textPartLanguage",(a=>{const u=new t.Collection,l={},d=e.commands.get("textPartLanguage");u.add({type:"button",model:new g.ViewModel({label:r,languageCode:!1,withText:!0})}),u.add({type:"separator"});for(const e of n){const t={type:"button",model:new g.ViewModel({label:e.title,languageCode:e.languageCode,role:"menuitemradio",textDirection:e.textDirection,withText:!0})},a=o(e.languageCode,e.textDirection);t.model.bind("isOn").to(d,"value",(e=>e===a)),u.add(t),l[a]=e.title}const c=(0,g.createDropdown)(a);return(0,g.addListToDropdown)(c,u,{ariaLabel:s,role:"menu"}),c.buttonView.set({ariaLabel:s,ariaLabelledBy:void 0,isOn:!1,withText:!0,tooltip:s}),c.extendTemplate({attributes:{class:["ck-text-fragment-language-dropdown"]}}),c.bind("isEnabled").to(d,"isEnabled"),c.buttonView.bind("label").to(d,"value",(e=>e&&l[e]||i)),this.listenTo(c,"execute",(t=>{d.execute({languageCode:t.source.languageCode,textDirection:t.source.textDirection}),e.editing.view.focus()})),c}))}}class u extends e.Plugin{static get requires(){return[r,s]}static get pluginName(){return"TextPartLanguage"}}})(),(window.CKEditor5=window.CKEditor5||{}).language=n})();
5
+ */(()=>{var e={782:(e,t,a)=>{e.exports=a(237)("./src/core.js")},311:(e,t,a)=>{e.exports=a(237)("./src/ui.js")},584:(e,t,a)=>{e.exports=a(237)("./src/utils.js")},237:e=>{"use strict";e.exports=CKEditor5.dll}},t={};function a(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,a),i.exports}a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};(()=>{"use strict";a.r(n),a.d(n,{TextPartLanguage:()=>u,TextPartLanguageEditing:()=>r,TextPartLanguageUI:()=>s});var e=a(782),t=a(584);function o(e,a){return`${e}:${a=a||(0,t.getLanguageDirection)(e)}`}class i extends e.Command{refresh(){const e=this.editor.model,t=e.document;this.value=this._getValueFromFirstAllowedNode(),this.isEnabled=e.schema.checkAttributeInSelection(t.selection,"language")}execute({languageCode:e,textDirection:t}={}){const a=this.editor.model,n=a.document.selection,i=!!e&&o(e,t);a.change((e=>{if(n.isCollapsed)i?e.setSelectionAttribute("language",i):e.removeSelectionAttribute("language");else{const t=a.schema.getValidRanges(n.getRanges(),"language");for(const a of t)i?e.setAttribute("language",i,a):e.removeAttribute("language",a)}}))}_getValueFromFirstAllowedNode(){const e=this.editor.model,t=e.schema,a=e.document.selection;if(a.isCollapsed)return a.getAttribute("language")||!1;for(const e of a.getRanges())for(const a of e.getItems())if(t.checkAttribute(a,"language"))return a.getAttribute("language")||!1;return!1}}class r extends e.Plugin{static get pluginName(){return"TextPartLanguageEditing"}constructor(e){super(e),e.config.define("language",{textPartLanguage:[{title:"Arabic",languageCode:"ar"},{title:"French",languageCode:"fr"},{title:"Spanish",languageCode:"es"}]})}init(){const e=this.editor;e.model.schema.extend("$text",{allowAttributes:"language"}),e.model.schema.setAttributeProperties("language",{copyOnEnter:!0}),this._defineConverters(),e.commands.add("textPartLanguage",new i(e))}_defineConverters(){const e=this.editor.conversion;e.for("upcast").elementToAttribute({model:{key:"language",value:e=>o(e.getAttribute("lang"),e.getAttribute("dir"))},view:{name:"span",attributes:{lang:/[\s\S]+/}}}),e.for("downcast").attributeToElement({model:"language",view:(e,{writer:t},a)=>{if(!e)return;if(!a.item.is("$textProxy")&&!a.item.is("documentSelection"))return;const{languageCode:n,textDirection:o}=function(e){const[t,a]=e.split(":");return{languageCode:t,textDirection:a}}(e);return t.createAttributeElement("span",{lang:n,dir:o})}})}}var g=a(311);class s extends e.Plugin{static get pluginName(){return"TextPartLanguageUI"}init(){const e=this.editor,a=e.t,n=e.config.get("language.textPartLanguage"),i=a("Choose language"),r=a("Remove language"),s=a("Language");e.ui.componentFactory.add("textPartLanguage",(a=>{const u=new t.Collection,l={},d=e.commands.get("textPartLanguage");u.add({type:"button",model:new g.ViewModel({label:r,languageCode:!1,withText:!0})}),u.add({type:"separator"});for(const e of n){const t={type:"button",model:new g.ViewModel({label:e.title,languageCode:e.languageCode,role:"menuitemradio",textDirection:e.textDirection,withText:!0})},a=o(e.languageCode,e.textDirection);t.model.bind("isOn").to(d,"value",(e=>e===a)),u.add(t),l[a]=e.title}const c=(0,g.createDropdown)(a);return(0,g.addListToDropdown)(c,u,{ariaLabel:s,role:"menu"}),c.buttonView.set({ariaLabel:s,ariaLabelledBy:void 0,isOn:!1,withText:!0,tooltip:s}),c.extendTemplate({attributes:{class:["ck-text-fragment-language-dropdown"]}}),c.bind("isEnabled").to(d,"isEnabled"),c.buttonView.bind("label").to(d,"value",(e=>e&&l[e]||i)),this.listenTo(c,"execute",(t=>{d.execute({languageCode:t.source.languageCode,textDirection:t.source.textDirection}),e.editing.view.focus()})),c}))}}class u extends e.Plugin{static get requires(){return[r,s]}static get pluginName(){return"TextPartLanguage"}}})(),(window.CKEditor5=window.CKEditor5||{}).language=n})();
@@ -14,7 +14,7 @@ msgid ""
14
14
  msgstr ""
15
15
  "Language-Team: Hebrew (https://app.transifex.com/ckeditor/teams/11143/he/)\n"
16
16
  "Language: he\n"
17
- "Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n"
17
+ "Plural-Forms: nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;\n"
18
18
  "Content-Type: text/plain; charset=UTF-8\n"
19
19
 
20
20
  msgctxt "Toolbar button tooltip for the text part language feature."
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ckeditor/ckeditor5-language",
3
- "version": "41.1.0",
3
+ "version": "41.2.0",
4
4
  "description": "Text part language feature for CKEditor 5.",
5
5
  "keywords": [
6
6
  "ckeditor",
@@ -13,7 +13,7 @@
13
13
  "type": "module",
14
14
  "main": "src/index.js",
15
15
  "dependencies": {
16
- "ckeditor5": "41.1.0"
16
+ "ckeditor5": "41.2.0"
17
17
  },
18
18
  "author": "CKSource (http://cksource.com/)",
19
19
  "license": "GPL-2.0-or-later",