@ckeditor/ckeditor5-indent 29.0.0 → 31.0.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/LICENSE.md +1 -1
- package/README.md +1 -1
- package/build/indent.js +1 -1
- package/build/translations/az.js +1 -0
- package/build/translations/bg.js +1 -0
- package/build/translations/cs.js +1 -0
- package/build/translations/da.js +1 -0
- package/build/translations/de-ch.js +1 -0
- package/build/translations/de.js +1 -0
- package/build/translations/en-au.js +1 -0
- package/build/translations/en-gb.js +1 -0
- package/build/translations/es.js +1 -0
- package/build/translations/et.js +1 -0
- package/build/translations/fa.js +1 -0
- package/build/translations/fi.js +1 -0
- package/build/translations/fr.js +1 -0
- package/build/translations/gl.js +1 -0
- package/build/translations/hi.js +1 -0
- package/build/translations/hr.js +1 -0
- package/build/translations/hu.js +1 -0
- package/build/translations/id.js +1 -0
- package/build/translations/it.js +1 -0
- package/build/translations/ja.js +1 -0
- package/build/translations/ko.js +1 -0
- package/build/translations/ku.js +1 -0
- package/build/translations/lt.js +1 -0
- package/build/translations/lv.js +1 -0
- package/build/translations/ne.js +1 -0
- package/build/translations/nl.js +1 -0
- package/build/translations/no.js +1 -0
- package/build/translations/pl.js +1 -0
- package/build/translations/pt-br.js +1 -0
- package/build/translations/ro.js +1 -0
- package/build/translations/ru.js +1 -0
- package/build/translations/sk.js +1 -0
- package/build/translations/sr-latn.js +1 -0
- package/build/translations/sr.js +1 -0
- package/build/translations/th.js +1 -0
- package/build/translations/tk.js +1 -0
- package/build/translations/tr.js +1 -0
- package/build/translations/uk.js +1 -0
- package/build/translations/vi.js +1 -0
- package/build/translations/zh-cn.js +1 -0
- package/build/translations/zh.js +1 -0
- package/ckeditor5-metadata.json +48 -0
- package/package.json +14 -12
- package/CHANGELOG.md +0 -71
- package/build/indent.js.map +0 -1
package/LICENSE.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Software License Agreement
|
|
2
2
|
==========================
|
|
3
3
|
|
|
4
|
-
**CKEditor 5
|
|
4
|
+
**CKEditor 5 block indentation feature** – https://github.com/ckeditor/ckeditor5-indent <br>
|
|
5
5
|
Copyright (c) 2003-2021, [CKSource](http://cksource.com) Frederico Knabben. All rights reserved.
|
|
6
6
|
|
|
7
7
|
Licensed under the terms of [GNU General Public License Version 2 or later](http://www.gnu.org/licenses/gpl.html).
|
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@ This package implements block indentation support for CKEditor 5.
|
|
|
9
9
|
|
|
10
10
|
## Demo
|
|
11
11
|
|
|
12
|
-
Check out the [demo in the Block indentation feature](https://ckeditor.com/docs/ckeditor5/latest/features/indent.html#demo)
|
|
12
|
+
Check out the [demo in the Block indentation feature guide](https://ckeditor.com/docs/ckeditor5/latest/features/indent.html#demo).
|
|
13
13
|
|
|
14
14
|
## Documentation
|
|
15
15
|
|
package/build/indent.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
* @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
|
|
3
3
|
* For licensing, see LICENSE.md.
|
|
4
4
|
*/
|
|
5
|
-
window.CKEditor5=window.CKEditor5||{},window.CKEditor5.indent=function(t){var e={};function n(i){if(e[i])return e[i].exports;var s=e[i]={i:i,l:!1,exports:{}};return t[i].call(s.exports,s,s.exports,n),s.l=!0,s.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var s in t)n.d(i,s,function(e){return t[e]}.bind(null,s));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=5)}([function(t,e,n){t.exports=n(1)("./src/core.js")},function(t,e){t.exports=CKEditor5.dll},function(t,e,n){t.exports=n(1)("./src/ui.js")},function(t,e,n){t.exports=n(1)("./src/engine.js")},function(t,e,n){t.exports=n(1)("./src/utils.js")},function(t,e,n){"use strict";n.r(e),n.d(e,"Indent",(function(){return a})),n.d(e,"IndentEditing",(function(){return s})),n.d(e,"IndentUI",(function(){return c})),n.d(e,"IndentBlock",(function(){return b}));var i=n(0);class s extends i.Plugin{static get pluginName(){return"IndentEditing"}init(){const t=this.editor;t.commands.add("indent",new i.MultiCommand(t)),t.commands.add("outdent",new i.MultiCommand(t))}}var o=n(2),r='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M2 3.75c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm5 6c0 .414.336.75.75.75h9.5a.75.75 0 1 0 0-1.5h-9.5a.75.75 0 0 0-.75.75zM2.75 16.5h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 1 0 0 1.5zM1.632 6.95 5.02 9.358a.4.4 0 0 1-.013.661l-3.39 2.207A.4.4 0 0 1 1 11.892V7.275a.4.4 0 0 1 .632-.326z"/></svg>',d='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M2 3.75c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm5 6c0 .414.336.75.75.75h9.5a.75.75 0 1 0 0-1.5h-9.5a.75.75 0 0 0-.75.75zM2.75 16.5h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 1 0 0 1.5zm1.618-9.55L.98 9.358a.4.4 0 0 0 .013.661l3.39 2.207A.4.4 0 0 0 5 11.892V7.275a.4.4 0 0 0-.632-.326z"/></svg>';class c extends i.Plugin{static get pluginName(){return"IndentUI"}init(){const t=this.editor,e=t.locale,n=t.t,i="ltr"==e.uiLanguageDirection?r:d,s="ltr"==e.uiLanguageDirection?d:r;this._defineButton("indent",n("Increase indent"),i),this._defineButton("outdent",n("Decrease indent"),s)}_defineButton(t,e,n){const i=this.editor;i.ui.componentFactory.add(t,s=>{const r=i.commands.get(t),d=new o.ButtonView(s);return d.set({label:e,icon:n,tooltip:!0}),d.bind("isOn","isEnabled").to(r,"value","isEnabled"),this.listenTo(d,"execute",()=>{i.execute(t),i.editing.view.focus()}),d})}}class a extends i.Plugin{static get pluginName(){return"Indent"}static get requires(){return[s,c]}}var u=n(3),l=n(4);class h extends i.Command{constructor(t,e){super(t),this._indentBehavior=e}refresh(){const t=this.editor.model,e=Object(l.first)(t.document.selection.getSelectedBlocks());e&&t.schema.checkAttribute(e,"blockIndent")?this.isEnabled=this._indentBehavior.checkEnabled(e.getAttribute("blockIndent")):this.isEnabled=!1}execute(){const t=this.editor.model,e=function(t){const e=t.document.selection,n=t.schema;return Array.from(e.getSelectedBlocks()).filter(t=>n.checkAttribute(t,"blockIndent"))}(t);t.change(t=>{for(const n of e){const e=n.getAttribute("blockIndent"),i=this._indentBehavior.getNextIndent(e);i?t.setAttribute("blockIndent",i,n):t.removeAttribute("blockIndent",n)}})}}class g{constructor(t){this.isForward="forward"===t.direction,this.offset=t.offset,this.unit=t.unit}checkEnabled(t){const e=parseFloat(t||0);return this.isForward||e>0}getNextIndent(t){const e=parseFloat(t||0);if(!(!t||t.endsWith(this.unit)))return this.isForward?this.offset+this.unit:void 0;const n=e+(this.isForward?this.offset:-this.offset);return n>0?n+this.unit:void 0}}class f{constructor(t){this.isForward="forward"===t.direction,this.classes=t.classes}checkEnabled(t){const e=this.classes.indexOf(t);return this.isForward?e<this.classes.length-1:e>=0}getNextIndent(t){const e=this.classes.indexOf(t),n=this.isForward?1:-1;return this.classes[e+n]}}const m=["paragraph","heading1","heading2","heading3","heading4","heading5","heading6"];class b extends i.Plugin{constructor(t){super(t),t.config.define("indentBlock",{offset:40,unit:"px"})}static get pluginName(){return"IndentBlock"}init(){const t=this.editor,e=t.config.get("indentBlock"),n=!e.classes||!e.classes.length,i=Object.assign({direction:"forward"},e),s=Object.assign({direction:"backward"},e);n?(t.data.addStyleProcessorRules(u.addMarginRules),this._setupConversionUsingOffset(t.conversion),t.commands.add("indentBlock",new h(t,new g(i))),t.commands.add("outdentBlock",new h(t,new g(s)))):(this._setupConversionUsingClasses(e.classes),t.commands.add("indentBlock",new h(t,new f(i))),t.commands.add("outdentBlock",new h(t,new f(s))))}afterInit(){const t=this.editor,e=t.model.schema,n=t.commands.get("indent"),i=t.commands.get("outdent"),s=t.config.get("heading.options");(s&&s.map(t=>t.model)||m).forEach(t=>{e.isRegistered(t)&&e.extend(t,{allowAttributes:"blockIndent"})}),e.setAttributeProperties("blockIndent",{isFormatting:!0}),n.registerChildCommand(t.commands.get("indentBlock")),i.registerChildCommand(t.commands.get("outdentBlock"))}_setupConversionUsingOffset(){const t=this.editor.conversion,e="rtl"===this.editor.locale.contentLanguageDirection?"margin-right":"margin-left";t.for("upcast").attributeToAttribute({view:{styles:{[e]:/[\s\S]+/}},model:{key:"blockIndent",value:t=>t.getStyle(e)}}),t.for("downcast").attributeToAttribute({model:"blockIndent",view:t=>({key:"style",value:{[e]:t}})})}_setupConversionUsingClasses(t){const e={model:{key:"blockIndent",values:[]},view:{}};for(const n of t)e.model.values.push(n),e.view[n]={key:"class",value:[n]};this.editor.conversion.attributeToAttribute(e)}}}]);
|
|
5
|
+
!function(t){const e=t.en=t.en||{};e.dictionary=Object.assign(e.dictionary||{},{"Decrease indent":"Decrease indent","Increase indent":"Increase indent"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),window.CKEditor5=window.CKEditor5||{},window.CKEditor5.indent=function(t){var e={};function n(i){if(e[i])return e[i].exports;var s=e[i]={i:i,l:!1,exports:{}};return t[i].call(s.exports,s,s.exports,n),s.l=!0,s.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var s in t)n.d(i,s,function(e){return t[e]}.bind(null,s));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=5)}([function(t,e,n){t.exports=n(1)("./src/core.js")},function(t,e){t.exports=CKEditor5.dll},function(t,e,n){t.exports=n(1)("./src/ui.js")},function(t,e,n){t.exports=n(1)("./src/engine.js")},function(t,e,n){t.exports=n(1)("./src/utils.js")},function(t,e,n){"use strict";n.r(e),n.d(e,"Indent",(function(){return a})),n.d(e,"IndentEditing",(function(){return s})),n.d(e,"IndentUI",(function(){return c})),n.d(e,"IndentBlock",(function(){return b}));var i=n(0);class s extends i.Plugin{static get pluginName(){return"IndentEditing"}init(){const t=this.editor;t.commands.add("indent",new i.MultiCommand(t)),t.commands.add("outdent",new i.MultiCommand(t))}}var o=n(2),r='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M2 3.75c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm5 6c0 .414.336.75.75.75h9.5a.75.75 0 1 0 0-1.5h-9.5a.75.75 0 0 0-.75.75zM2.75 16.5h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 1 0 0 1.5zM1.632 6.95 5.02 9.358a.4.4 0 0 1-.013.661l-3.39 2.207A.4.4 0 0 1 1 11.892V7.275a.4.4 0 0 1 .632-.326z"/></svg>',d='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M2 3.75c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm5 6c0 .414.336.75.75.75h9.5a.75.75 0 1 0 0-1.5h-9.5a.75.75 0 0 0-.75.75zM2.75 16.5h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 1 0 0 1.5zm1.618-9.55L.98 9.358a.4.4 0 0 0 .013.661l3.39 2.207A.4.4 0 0 0 5 11.892V7.275a.4.4 0 0 0-.632-.326z"/></svg>';class c extends i.Plugin{static get pluginName(){return"IndentUI"}init(){const t=this.editor,e=t.locale,n=t.t,i="ltr"==e.uiLanguageDirection?r:d,s="ltr"==e.uiLanguageDirection?d:r;this._defineButton("indent",n("Increase indent"),i),this._defineButton("outdent",n("Decrease indent"),s)}_defineButton(t,e,n){const i=this.editor;i.ui.componentFactory.add(t,s=>{const r=i.commands.get(t),d=new o.ButtonView(s);return d.set({label:e,icon:n,tooltip:!0}),d.bind("isOn","isEnabled").to(r,"value","isEnabled"),this.listenTo(d,"execute",()=>{i.execute(t),i.editing.view.focus()}),d})}}class a extends i.Plugin{static get pluginName(){return"Indent"}static get requires(){return[s,c]}}var u=n(3),l=n(4);class h extends i.Command{constructor(t,e){super(t),this._indentBehavior=e}refresh(){const t=this.editor.model,e=Object(l.first)(t.document.selection.getSelectedBlocks());e&&t.schema.checkAttribute(e,"blockIndent")?this.isEnabled=this._indentBehavior.checkEnabled(e.getAttribute("blockIndent")):this.isEnabled=!1}execute(){const t=this.editor.model,e=function(t){const e=t.document.selection,n=t.schema;return Array.from(e.getSelectedBlocks()).filter(t=>n.checkAttribute(t,"blockIndent"))}(t);t.change(t=>{for(const n of e){const e=n.getAttribute("blockIndent"),i=this._indentBehavior.getNextIndent(e);i?t.setAttribute("blockIndent",i,n):t.removeAttribute("blockIndent",n)}})}}class g{constructor(t){this.isForward="forward"===t.direction,this.offset=t.offset,this.unit=t.unit}checkEnabled(t){const e=parseFloat(t||0);return this.isForward||e>0}getNextIndent(t){const e=parseFloat(t||0);if(!(!t||t.endsWith(this.unit)))return this.isForward?this.offset+this.unit:void 0;const n=e+(this.isForward?this.offset:-this.offset);return n>0?n+this.unit:void 0}}class f{constructor(t){this.isForward="forward"===t.direction,this.classes=t.classes}checkEnabled(t){const e=this.classes.indexOf(t);return this.isForward?e<this.classes.length-1:e>=0}getNextIndent(t){const e=this.classes.indexOf(t),n=this.isForward?1:-1;return this.classes[e+n]}}const m=["paragraph","heading1","heading2","heading3","heading4","heading5","heading6"];class b extends i.Plugin{constructor(t){super(t),t.config.define("indentBlock",{offset:40,unit:"px"})}static get pluginName(){return"IndentBlock"}init(){const t=this.editor,e=t.config.get("indentBlock"),n=!e.classes||!e.classes.length,i=Object.assign({direction:"forward"},e),s=Object.assign({direction:"backward"},e);n?(t.data.addStyleProcessorRules(u.addMarginRules),this._setupConversionUsingOffset(t.conversion),t.commands.add("indentBlock",new h(t,new g(i))),t.commands.add("outdentBlock",new h(t,new g(s)))):(this._setupConversionUsingClasses(e.classes),t.commands.add("indentBlock",new h(t,new f(i))),t.commands.add("outdentBlock",new h(t,new f(s))))}afterInit(){const t=this.editor,e=t.model.schema,n=t.commands.get("indent"),i=t.commands.get("outdent"),s=t.config.get("heading.options");(s&&s.map(t=>t.model)||m).forEach(t=>{e.isRegistered(t)&&e.extend(t,{allowAttributes:"blockIndent"})}),e.setAttributeProperties("blockIndent",{isFormatting:!0}),n.registerChildCommand(t.commands.get("indentBlock")),i.registerChildCommand(t.commands.get("outdentBlock"))}_setupConversionUsingOffset(){const t=this.editor.conversion,e="rtl"===this.editor.locale.contentLanguageDirection?"margin-right":"margin-left";t.for("upcast").attributeToAttribute({view:{styles:{[e]:/[\s\S]+/}},model:{key:"blockIndent",value:t=>t.getStyle(e)}}),t.for("downcast").attributeToAttribute({model:"blockIndent",view:t=>({key:"style",value:{[e]:t}})})}_setupConversionUsingClasses(t){const e={model:{key:"blockIndent",values:[]},view:{}};for(const n of t)e.model.values.push(n),e.view[n]={key:"class",value:[n]};this.editor.conversion.attributeToAttribute(e)}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(i){const n=i.az=i.az||{};n.dictionary=Object.assign(n.dictionary||{},{"Decrease indent":"Boş yeri kiçilt","Increase indent":"Boş yeri böyüt"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(n){const i=n.bg=n.bg||{};i.dictionary=Object.assign(i.dictionary||{},{"Decrease indent":"Намали отстъпа","Increase indent":"Увеличи отстъпа"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(n){const i=n.cs=n.cs||{};i.dictionary=Object.assign(i.dictionary||{},{"Decrease indent":"Zmenšit odsazení","Increase indent":"Zvětšit odsazení"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(n){const i=n.da=n.da||{};i.dictionary=Object.assign(i.dictionary||{},{"Decrease indent":"Formindsk indrykning","Increase indent":"Forøg indrykning"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(n){const e=n["de-ch"]=n["de-ch"]||{};e.dictionary=Object.assign(e.dictionary||{},{"Decrease indent":"Einzug verkleinern","Increase indent":"Einzug vergrössern"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(n){const e=n.de=n.de||{};e.dictionary=Object.assign(e.dictionary||{},{"Decrease indent":"Einzug verkleinern","Increase indent":"Einzug vergrößern"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(n){const e=n["en-au"]=n["en-au"]||{};e.dictionary=Object.assign(e.dictionary||{},{"Decrease indent":"Decrease indent","Increase indent":"Increase indent"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(n){const e=n["en-gb"]=n["en-gb"]||{};e.dictionary=Object.assign(e.dictionary||{},{"Decrease indent":"Decrease indent","Increase indent":"Increase indent"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(n){const i=n.es=n.es||{};i.dictionary=Object.assign(i.dictionary||{},{"Decrease indent":"Disminuir sangría","Increase indent":"Aumentar sangría"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(n){const e=n.et=n.et||{};e.dictionary=Object.assign(e.dictionary||{},{"Decrease indent":"Vähenda taanet","Increase indent":"Suurenda taanet"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(n){const i=n.fa=n.fa||{};i.dictionary=Object.assign(i.dictionary||{},{"Decrease indent":"کاهش تورفتگی","Increase indent":"افزایش تورفتگی"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(n){const i=n.fi=n.fi||{};i.dictionary=Object.assign(i.dictionary||{},{"Decrease indent":"Vähennä sisennystä","Increase indent":"Lisää sisennystä"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(e){const n=e.fr=e.fr||{};n.dictionary=Object.assign(n.dictionary||{},{"Decrease indent":"Diminuer le retrait","Increase indent":"Augmenter le retrait"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(n){const i=n.gl=n.gl||{};i.dictionary=Object.assign(i.dictionary||{},{"Decrease indent":"Reducir sangrado","Increase indent":"Aumentar sangrado"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(n){const e=n.hi=n.hi||{};e.dictionary=Object.assign(e.dictionary||{},{"Decrease indent":"Decrease indent","Increase indent":"Increase indent"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(n){const e=n.hr=n.hr||{};e.dictionary=Object.assign(e.dictionary||{},{"Decrease indent":"Umanji uvlačenje","Increase indent":"Povećaj uvlačenje"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(n){const e=n.hu=n.hu||{};e.dictionary=Object.assign(e.dictionary||{},{"Decrease indent":"Behúzás csökkentése","Increase indent":"Behúzás növelése"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(n){const i=n.id=n.id||{};i.dictionary=Object.assign(i.dictionary||{},{"Decrease indent":"Kurangi indentasi","Increase indent":"Tambah indentasi"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(i){const n=i.it=i.it||{};n.dictionary=Object.assign(n.dictionary||{},{"Decrease indent":"Riduci rientro","Increase indent":"Aumenta rientro"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(n){const i=n.ja=n.ja||{};i.dictionary=Object.assign(i.dictionary||{},{"Decrease indent":"インデントの削除","Increase indent":"インデントの追加"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(n){const i=n.ko=n.ko||{};i.dictionary=Object.assign(i.dictionary||{},{"Decrease indent":"들여쓰기 줄이기","Increase indent":"들여쓰기 늘리기"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(n){const i=n.ku=n.ku||{};i.dictionary=Object.assign(i.dictionary||{},{"Decrease indent":"کەمکردنەوەی بۆشایی","Increase indent":"زیادکردنی بۆشایی"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(i){const n=i.lt=i.lt||{};n.dictionary=Object.assign(n.dictionary||{},{"Decrease indent":"Sumažinti atitraukimą","Increase indent":"Padidinti atitraukimą"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(i){const n=i.lv=i.lv||{};n.dictionary=Object.assign(n.dictionary||{},{"Decrease indent":"Samazināt atkāpi","Increase indent":"Palielināt atkāpi"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(n){const e=n.ne=n.ne||{};e.dictionary=Object.assign(e.dictionary||{},{"Decrease indent":"इन्डेन्ट घटाउन","Increase indent":"इन्डेन्ट बढाउन"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(n){const i=n.nl=n.nl||{};i.dictionary=Object.assign(i.dictionary||{},{"Decrease indent":"Minder inspringen","Increase indent":"Inspringen"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(n){const i=n.no=n.no||{};i.dictionary=Object.assign(i.dictionary||{},{"Decrease indent":"Reduser innrykk","Increase indent":"Øk innrykk"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(i){const n=i.pl=i.pl||{};n.dictionary=Object.assign(n.dictionary||{},{"Decrease indent":"Zmniejsz wcięcie","Increase indent":"Zwiększ wcięcie"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(n){const i=n["pt-br"]=n["pt-br"]||{};i.dictionary=Object.assign(i.dictionary||{},{"Decrease indent":"Diminuir indentação","Increase indent":"Aumentar indentação"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(n){const e=n.ro=n.ro||{};e.dictionary=Object.assign(e.dictionary||{},{"Decrease indent":"Micșorează indent","Increase indent":"Mărește indent"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(n){const i=n.ru=n.ru||{};i.dictionary=Object.assign(i.dictionary||{},{"Decrease indent":"Уменьшить отступ","Increase indent":"Увеличить отступ"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(n){const i=n.sk=n.sk||{};i.dictionary=Object.assign(i.dictionary||{},{"Decrease indent":"Zmenšiť odsadenie","Increase indent":"Zväčšiť odsadenie"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(n){const e=n["sr-latn"]=n["sr-latn"]||{};e.dictionary=Object.assign(e.dictionary||{},{"Decrease indent":"Smanji uvlačenje","Increase indent":"Povećaj uclačenje"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(n){const i=n.sr=n.sr||{};i.dictionary=Object.assign(i.dictionary||{},{"Decrease indent":"Смањи увлачење","Increase indent":"Повећај увлачење"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(n){const i=n.th=n.th||{};i.dictionary=Object.assign(i.dictionary||{},{"Decrease indent":"ลดการเยื้อง","Increase indent":"เพิ่มการเยื้อง"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(n){const e=n.tk=n.tk||{};e.dictionary=Object.assign(e.dictionary||{},{"Decrease indent":"Indent peseltmek","Increase indent":"Indent köpeltmek"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(i){const n=i.tr=i.tr||{};n.dictionary=Object.assign(n.dictionary||{},{"Decrease indent":"Girintiyi azalt","Increase indent":"Girintiyi arttır"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(n){const i=n.uk=n.uk||{};i.dictionary=Object.assign(i.dictionary||{},{"Decrease indent":"Зменшити відступ","Increase indent":"Збільшити відступ"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(n){const i=n.vi=n.vi||{};i.dictionary=Object.assign(i.dictionary||{},{"Decrease indent":"Giảm lề","Increase indent":"Tăng lề"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(n){const i=n["zh-cn"]=n["zh-cn"]||{};i.dictionary=Object.assign(i.dictionary||{},{"Decrease indent":"减少缩进","Increase indent":"增加缩进"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(n){const i=n.zh=n.zh||{};i.dictionary=Object.assign(i.dictionary||{},{"Decrease indent":"減少縮排","Increase indent":"增加縮排"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"plugins": [
|
|
3
|
+
{
|
|
4
|
+
"name": "Indent",
|
|
5
|
+
"className": "Indent",
|
|
6
|
+
"description": "Implements the core of the indent feature. It requires compatible plugins, such as indent block or list, to work.",
|
|
7
|
+
"docs": "features/indent.html",
|
|
8
|
+
"path": "src/indent.js",
|
|
9
|
+
"uiComponents": [
|
|
10
|
+
{
|
|
11
|
+
"type": "Button",
|
|
12
|
+
"name": "indent",
|
|
13
|
+
"iconPath": "theme/icons/indent.svg"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"type": "Button",
|
|
17
|
+
"name": "outdent",
|
|
18
|
+
"iconPath": "theme/icons/outdent.svg"
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"name": "Indent block",
|
|
24
|
+
"className": "IndentBlock",
|
|
25
|
+
"description": "The indent block feature, together with the indent feature, controls the indentation of elements such as paragraphs and headings.",
|
|
26
|
+
"docs": "features/indent.html",
|
|
27
|
+
"path": "src/indentblock.js",
|
|
28
|
+
"requires": [
|
|
29
|
+
"Indent"
|
|
30
|
+
],
|
|
31
|
+
"htmlOutput": [
|
|
32
|
+
{
|
|
33
|
+
"elements": "$block",
|
|
34
|
+
"styles": [
|
|
35
|
+
"margin-left",
|
|
36
|
+
"margin-right"
|
|
37
|
+
],
|
|
38
|
+
"_comment": "By default, the plugin uses inline styles for indentation."
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"elements": "$block",
|
|
42
|
+
"classes": "*",
|
|
43
|
+
"_comment": "If classes are defined in `config.indentBlock.classes`, they are used instead of inline styles."
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
}
|
|
47
|
+
]
|
|
48
|
+
}
|
package/package.json
CHANGED
|
@@ -1,27 +1,28 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ckeditor/ckeditor5-indent",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "31.0.0",
|
|
4
4
|
"description": "Block indentation feature for CKEditor 5.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ckeditor",
|
|
7
7
|
"ckeditor5",
|
|
8
8
|
"ckeditor 5",
|
|
9
9
|
"ckeditor5-feature",
|
|
10
|
-
"ckeditor5-plugin"
|
|
10
|
+
"ckeditor5-plugin",
|
|
11
|
+
"ckeditor5-dll"
|
|
11
12
|
],
|
|
12
13
|
"main": "src/index.js",
|
|
13
14
|
"dependencies": {
|
|
14
|
-
"ckeditor5": "^
|
|
15
|
+
"ckeditor5": "^31.0.0"
|
|
15
16
|
},
|
|
16
17
|
"devDependencies": {
|
|
17
|
-
"@ckeditor/ckeditor5-core": "^
|
|
18
|
-
"@ckeditor/ckeditor5-dev-utils": "^25.
|
|
19
|
-
"@ckeditor/ckeditor5-editor-classic": "^
|
|
20
|
-
"@ckeditor/ckeditor5-engine": "^
|
|
21
|
-
"@ckeditor/ckeditor5-heading": "^
|
|
22
|
-
"@ckeditor/ckeditor5-paragraph": "^
|
|
23
|
-
"@ckeditor/ckeditor5-theme-lark": "^
|
|
24
|
-
"@ckeditor/ckeditor5-ui": "^
|
|
18
|
+
"@ckeditor/ckeditor5-core": "^31.0.0",
|
|
19
|
+
"@ckeditor/ckeditor5-dev-utils": "^25.4.0",
|
|
20
|
+
"@ckeditor/ckeditor5-editor-classic": "^31.0.0",
|
|
21
|
+
"@ckeditor/ckeditor5-engine": "^31.0.0",
|
|
22
|
+
"@ckeditor/ckeditor5-heading": "^31.0.0",
|
|
23
|
+
"@ckeditor/ckeditor5-paragraph": "^31.0.0",
|
|
24
|
+
"@ckeditor/ckeditor5-theme-lark": "^31.0.0",
|
|
25
|
+
"@ckeditor/ckeditor5-ui": "^31.0.0",
|
|
25
26
|
"webpack": "^4.43.0",
|
|
26
27
|
"webpack-cli": "^3.3.11"
|
|
27
28
|
},
|
|
@@ -42,7 +43,8 @@
|
|
|
42
43
|
"lang",
|
|
43
44
|
"src",
|
|
44
45
|
"theme",
|
|
45
|
-
"build"
|
|
46
|
+
"build",
|
|
47
|
+
"ckeditor5-metadata.json"
|
|
46
48
|
],
|
|
47
49
|
"scripts": {
|
|
48
50
|
"dll:build": "webpack"
|
package/CHANGELOG.md
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
Changelog
|
|
2
|
-
=========
|
|
3
|
-
|
|
4
|
-
All changes in the package are documented in the main repository. See: https://github.com/ckeditor/ckeditor5/blob/master/CHANGELOG.md.
|
|
5
|
-
|
|
6
|
-
Changes for the past releases are available below.
|
|
7
|
-
|
|
8
|
-
## [19.0.0](https://github.com/ckeditor/ckeditor5-indent/compare/v18.0.0...v19.0.0) (2020-04-29)
|
|
9
|
-
|
|
10
|
-
Internal changes only (updated dependencies, documentation, etc.).
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
## [18.0.0](https://github.com/ckeditor/ckeditor5-indent/compare/v17.0.0...v18.0.0) (2020-03-19)
|
|
14
|
-
|
|
15
|
-
Internal changes only (updated dependencies, documentation, etc.).
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
## [17.0.0](https://github.com/ckeditor/ckeditor5-indent/compare/v16.0.0...v17.0.0) (2020-02-19)
|
|
19
|
-
|
|
20
|
-
### Bug fixes
|
|
21
|
-
|
|
22
|
-
* Focus the editor before executing toolbar buttons' command. See [ckeditor/ckeditor5#353](https://github.com/ckeditor/ckeditor5/issues/353). ([ff49482](https://github.com/ckeditor/ckeditor5-indent/commit/ff49482))
|
|
23
|
-
|
|
24
|
-
### Other changes
|
|
25
|
-
|
|
26
|
-
* Updated translations. ([f0a7140](https://github.com/ckeditor/ckeditor5-indent/commit/f0a7140))
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
## [16.0.0](https://github.com/ckeditor/ckeditor5-indent/compare/v15.0.0...v16.0.0) (2019-12-04)
|
|
30
|
-
|
|
31
|
-
### Other changes
|
|
32
|
-
|
|
33
|
-
* Updated translations. ([749ed44](https://github.com/ckeditor/ckeditor5-indent/commit/749ed44))
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
## [15.0.0](https://github.com/ckeditor/ckeditor5-indent/compare/v10.1.0...v15.0.0) (2019-10-23)
|
|
37
|
-
|
|
38
|
-
### Bug fixes
|
|
39
|
-
|
|
40
|
-
* `IndentBlock` should integrate with other features regardless of the editor plugin order. Closes [ckeditor/ckeditor5#2359](https://github.com/ckeditor/ckeditor5/issues/2359). ([cf15eab](https://github.com/ckeditor/ckeditor5-indent/commit/cf15eab))
|
|
41
|
-
|
|
42
|
-
### Other changes
|
|
43
|
-
|
|
44
|
-
* Updated translations. ([857389c](https://github.com/ckeditor/ckeditor5-indent/commit/857389c)) ([3a262fd](https://github.com/ckeditor/ckeditor5-indent/commit/3a262fd))
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
## [10.1.0](https://github.com/ckeditor/ckeditor5-indent/compare/v10.0.1...v10.1.0) (2019-08-26)
|
|
48
|
-
|
|
49
|
-
### Features
|
|
50
|
-
|
|
51
|
-
* Integrated the indent block feature with different editor content directions (LTR and RTL). See [ckeditor/ckeditor5#1151](https://github.com/ckeditor/ckeditor5/issues/1151). ([45828ce](https://github.com/ckeditor/ckeditor5-indent/commit/45828ce))
|
|
52
|
-
|
|
53
|
-
### Bug fixes
|
|
54
|
-
|
|
55
|
-
* The `'indentBlock'` command should be executed on blocks from the selection according to the schema rules. Closes [#8](https://github.com/ckeditor/ckeditor5-indent/issues/8). ([15caf3e](https://github.com/ckeditor/ckeditor5-indent/commit/15caf3e))
|
|
56
|
-
* The `indentBlock` command will now operate only on selected top-most blocks. Closes [#11](https://github.com/ckeditor/ckeditor5-indent/issues/11). ([7fac8c0](https://github.com/ckeditor/ckeditor5-indent/commit/7fac8c0))
|
|
57
|
-
|
|
58
|
-
### Other changes
|
|
59
|
-
|
|
60
|
-
* The issue tracker for this package was moved to https://github.com/ckeditor/ckeditor5/issues. See [ckeditor/ckeditor5#1988](https://github.com/ckeditor/ckeditor5/issues/1988). ([fae33af](https://github.com/ckeditor/ckeditor5-indent/commit/fae33af))
|
|
61
|
-
* Updated translations. ([cc421f3](https://github.com/ckeditor/ckeditor5-indent/commit/cc421f3))
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
## [10.0.1](https://github.com/ckeditor/ckeditor5-indent/compare/v10.0.0...v10.0.1) (2019-07-10)
|
|
65
|
-
|
|
66
|
-
Internal changes only (updated dependencies, documentation, etc.).
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
## [10.0.0](https://github.com/ckeditor/ckeditor5-indent/tree/v10.0.0) (2019-07-04)
|
|
70
|
-
|
|
71
|
-
Initial implementation of the block indentation feature.
|
package/build/indent.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://CKEditor5.indent/webpack/bootstrap","webpack://CKEditor5.indent/./src/indent.js","webpack://CKEditor5.indent/./src/indentblock.js","webpack://CKEditor5.indent/./src/indentblockcommand.js","webpack://CKEditor5.indent/./src/indentcommandbehavior/indentusingclasses.js","webpack://CKEditor5.indent/./src/indentcommandbehavior/indentusingoffset.js","webpack://CKEditor5.indent/./src/indentediting.js","webpack://CKEditor5.indent/./src/indentui.js","webpack://CKEditor5.indent/./src/index.js","webpack://CKEditor5.indent/./theme/icons/indent.svg","webpack://CKEditor5.indent/./theme/icons/outdent.svg","webpack://CKEditor5.indent/delegated ./core.js from dll-reference CKEditor5.dll","webpack://CKEditor5.indent/delegated ./engine.js from dll-reference CKEditor5.dll","webpack://CKEditor5.indent/delegated ./ui.js from dll-reference CKEditor5.dll","webpack://CKEditor5.indent/delegated ./utils.js from dll-reference CKEditor5.dll","webpack://CKEditor5.indent/external \"CKEditor5.dll\""],"names":[],"mappings":";;;;;;QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;;AClFA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAE4C;;AAEA;AACV;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,4BAA4B,KAAK,0CAA0C;AACrF,UAAU,4CAA4C;AACtD;AACA;AACA;AACA,UAAU,uEAAuE;AACjF,UAAU,wDAAwD;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,qBAAqB,yDAAM;AAC1C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,sDAAa,EAAE,iDAAQ;AAClC;AACA;;;;;;;;;;;;;AClDA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAE4C;AACU;;AAEA;AACoB;AACE;;AAE5E;;AAEA;AACA;AACA;AACA;AACA;AACA,kBAAkB,kCAAkC;AACpD;AACA;AACA;AACA;AACe,0BAA0B,yDAAM;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,uCAAuC,uBAAuB;AAC9D,wCAAwC,wBAAwB;;AAEhE;AACA,uCAAuC,mEAAc;AACrD;;AAEA,2CAA2C,2DAAkB,cAAc,gFAAiB;AAC5F,4CAA4C,2DAAkB,cAAc,gFAAiB;AAC7F,GAAG;AACH;AACA,2CAA2C,2DAAkB,cAAc,iFAAkB;AAC7F,4CAA4C,2DAAkB,cAAc,iFAAkB;AAC9F;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,iCAAiC,iCAAiC;AAClE;AACA,GAAG;;AAEH,iDAAiD,qBAAqB;;AAEtE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,YAAY,eAAe;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,6BAA6B,sEAAsE;AACnG;AACA,iBAAiB,kDAAkD;AACnE;AACA,YAAY,4CAA4C;AACxD;;AAEA;AACA;AACA;AACA,UAAU,0DAA0D;AACpE,IAAI,yDAAyD,MAAM,uDAAuD;AAC1H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,wEAAwE,0DAA0D;AAClI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,QAAQ,sEAAsE;AAC9E;AACA;AACA;;AAEA;AACA,4BAA4B,6DAA6D;AACzF;AACA;AACA,YAAY,OAAO;AACnB;;AAEA;AACA,kCAAkC,yDAAyD;AAC3F;AACA;AACA,YAAY,OAAO;AACnB;;AAEA;AACA;AACA,QAAQ,0EAA0E;AAClF,IAAI,8EAA8E;AAClF;AACA;AACA,YAAY,yBAAyB;AACrC;;;;;;;;;;;;;ACzOA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAE6C;AACD;;AAE5C;AACA;AACA;AACA,qCAAqC,4CAA4C;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,iCAAiC,0DAAO;AACvD;AACA;AACA;AACA,YAAY,iCAAiC;AAC7C,YAAY,gDAAgD;AAC5D;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,iEAAK;;AAErB;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,WAAW,gCAAgC;AAC3C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,qCAAqC,0DAA0D;AAC/F;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;;;;;;;;;;;;;ACzHA;AAAA;AAAA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACe;AACf;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB,YAAY,eAAe;AAC3B;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;AC5DA;AAAA;AAAA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACe;AACf;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;;;;;;;;;;;;ACzEA;AAAA;AAAA;AAAA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAE0D;;AAE1D;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,iDAAiD;AACrD;AACA;AACA;AACe,4BAA4B,yDAAM;AACjD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC,+DAAY;AACjD,sCAAsC,+DAAY;AAClD;AACA;;;;;;;;;;;;;ACtCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;;AAEA;AACA;AACA;AAC8C;AACF;;AAEO;AACE;;AAErD;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,iDAAiD;AACzD;AACA;AACA;AACe,uBAAuB,yDAAM;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oEAAoE,+DAAU,GAAG,gEAAW;AAC5F,qEAAqE,gEAAW,GAAG,+DAAU;;AAE7F;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,2DAAU;;AAE9B;AACA;AACA;AACA;AACA,IAAI;;AAEJ;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;AC9EA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAE8B;AACc;AACV;AACM;;AAEzB;AACf,CAAC,uDAAM;AACP,CAAC,qEAAa;AACd,CAAC,2DAAQ;AACT,CAAC,iEAAW;AACZ,CAAC,EAAC;;;;;;;;;;;;;ACnBF;AAAe,4cAA6Y,E;;;;;;;;;;;;ACA5Z;AAAe,0cAA2Y,E;;;;;;;;;;;ACA1Z,0H;;;;;;;;;;;ACAA,4H;;;;;;;;;;;ACAA,wH;;;;;;;;;;;ACAA,2H;;;;;;;;;;;ACAA,+B","file":"indent.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/index.js\");\n","/**\n * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module indent/indent\n */\n\nimport { Plugin } from 'ckeditor5/src/core';\n\nimport IndentEditing from './indentediting';\nimport IndentUI from './indentui';\n\n/**\n * The indent feature.\n *\n * This plugin acts as a single entry point plugin for other features that implement indentation of elements like lists or paragraphs.\n *\n * The compatible features are:\n *\n * * The {@link module:list/list~List} or {@link module:list/listediting~ListEditing} feature for list indentation.\n * * The {@link module:indent/indentblock~IndentBlock} feature for block indentation.\n *\n * This is a \"glue\" plugin that loads the following plugins:\n *\n * * The {@link module:indent/indentediting~IndentEditing indent editing feature}.\n * * The {@link module:indent/indentui~IndentUI indent UI feature}.\n *\n * The dependent plugins register the `'indent'` and `'outdent'` commands and introduce the `'indent'` and `'outdent'` buttons\n * that allow to increase or decrease text indentation of supported elements.\n *\n * **Note**: In order for the commands and buttons to work, at least one of compatible features is required.\n *\n * @extends module:core/plugin~Plugin\n */\nexport default class Indent extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tstatic get pluginName() {\n\t\treturn 'Indent';\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tstatic get requires() {\n\t\treturn [ IndentEditing, IndentUI ];\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module indent/indentblock\n */\n\nimport { Plugin } from 'ckeditor5/src/core';\nimport { addMarginRules } from 'ckeditor5/src/engine';\n\nimport IndentBlockCommand from './indentblockcommand';\nimport IndentUsingOffset from './indentcommandbehavior/indentusingoffset';\nimport IndentUsingClasses from './indentcommandbehavior/indentusingclasses';\n\nconst DEFAULT_ELEMENTS = [ 'paragraph', 'heading1', 'heading2', 'heading3', 'heading4', 'heading5', 'heading6' ];\n\n/**\n * The block indentation feature.\n *\n * It registers the `'indentBlock'` and `'outdentBlock'` commands.\n *\n * If the plugin {@link module:indent/indent~Indent} is defined, it also attaches the `'indentBlock'` and `'outdentBlock'` commands to\n * the `'indent'` and `'outdent'` commands.\n *\n * @extends module:core/plugin~Plugin\n */\nexport default class IndentBlock extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor ) {\n\t\tsuper( editor );\n\n\t\teditor.config.define( 'indentBlock', {\n\t\t\toffset: 40,\n\t\t\tunit: 'px'\n\t\t} );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tstatic get pluginName() {\n\t\treturn 'IndentBlock';\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tinit() {\n\t\tconst editor = this.editor;\n\t\tconst configuration = editor.config.get( 'indentBlock' );\n\n\t\tconst useOffsetConfig = !configuration.classes || !configuration.classes.length;\n\n\t\tconst indentConfig = Object.assign( { direction: 'forward' }, configuration );\n\t\tconst outdentConfig = Object.assign( { direction: 'backward' }, configuration );\n\n\t\tif ( useOffsetConfig ) {\n\t\t\teditor.data.addStyleProcessorRules( addMarginRules );\n\t\t\tthis._setupConversionUsingOffset( editor.conversion );\n\n\t\t\teditor.commands.add( 'indentBlock', new IndentBlockCommand( editor, new IndentUsingOffset( indentConfig ) ) );\n\t\t\teditor.commands.add( 'outdentBlock', new IndentBlockCommand( editor, new IndentUsingOffset( outdentConfig ) ) );\n\t\t} else {\n\t\t\tthis._setupConversionUsingClasses( configuration.classes );\n\t\t\teditor.commands.add( 'indentBlock', new IndentBlockCommand( editor, new IndentUsingClasses( indentConfig ) ) );\n\t\t\teditor.commands.add( 'outdentBlock', new IndentBlockCommand( editor, new IndentUsingClasses( outdentConfig ) ) );\n\t\t}\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tafterInit() {\n\t\tconst editor = this.editor;\n\t\tconst schema = editor.model.schema;\n\n\t\tconst indentCommand = editor.commands.get( 'indent' );\n\t\tconst outdentCommand = editor.commands.get( 'outdent' );\n\n\t\t// Enable block indentation to heading configuration options. If it is not defined enable in paragraph and default headings.\n\t\tconst options = editor.config.get( 'heading.options' );\n\t\tconst configuredElements = options && options.map( option => option.model );\n\t\tconst knownElements = configuredElements || DEFAULT_ELEMENTS;\n\n\t\tknownElements.forEach( elementName => {\n\t\t\tif ( schema.isRegistered( elementName ) ) {\n\t\t\t\tschema.extend( elementName, { allowAttributes: 'blockIndent' } );\n\t\t\t}\n\t\t} );\n\n\t\tschema.setAttributeProperties( 'blockIndent', { isFormatting: true } );\n\n\t\tindentCommand.registerChildCommand( editor.commands.get( 'indentBlock' ) );\n\t\toutdentCommand.registerChildCommand( editor.commands.get( 'outdentBlock' ) );\n\t}\n\n\t/**\n\t * Setups conversion for using offset indents.\n\t *\n\t * @private\n\t */\n\t_setupConversionUsingOffset() {\n\t\tconst conversion = this.editor.conversion;\n\t\tconst locale = this.editor.locale;\n\t\tconst marginProperty = locale.contentLanguageDirection === 'rtl' ? 'margin-right' : 'margin-left';\n\n\t\tconversion.for( 'upcast' ).attributeToAttribute( {\n\t\t\tview: {\n\t\t\t\tstyles: {\n\t\t\t\t\t[ marginProperty ]: /[\\s\\S]+/\n\t\t\t\t}\n\t\t\t},\n\t\t\tmodel: {\n\t\t\t\tkey: 'blockIndent',\n\t\t\t\tvalue: viewElement => viewElement.getStyle( marginProperty )\n\t\t\t}\n\t\t} );\n\n\t\tconversion.for( 'downcast' ).attributeToAttribute( {\n\t\t\tmodel: 'blockIndent',\n\t\t\tview: modelAttributeValue => {\n\t\t\t\treturn {\n\t\t\t\t\tkey: 'style',\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\t[ marginProperty ]: modelAttributeValue\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Setups conversion for using classes.\n\t *\n\t * @param {Array.<String>} classes\n\t * @private\n\t */\n\t_setupConversionUsingClasses( classes ) {\n\t\tconst definition = {\n\t\t\tmodel: {\n\t\t\t\tkey: 'blockIndent',\n\t\t\t\tvalues: []\n\t\t\t},\n\t\t\tview: {}\n\t\t};\n\n\t\tfor ( const className of classes ) {\n\t\t\tdefinition.model.values.push( className );\n\t\t\tdefinition.view[ className ] = {\n\t\t\t\tkey: 'class',\n\t\t\t\tvalue: [ className ]\n\t\t\t};\n\t\t}\n\n\t\tthis.editor.conversion.attributeToAttribute( definition );\n\t}\n}\n\n/**\n * The configuration of the {@link module:indent/indentblock~IndentBlock block indentation feature}.\n *\n * Read more in {@link module:indent/indentblock~IndentBlockConfig}.\n *\n * @member {module:indent/indentblock~IndentBlockConfig} module:core/editor/editorconfig~EditorConfig#indentBlock\n */\n\n/**\n * The configuration of the block indentation feature.\n *\n * If no {@link module:indent/indentblock~IndentBlockConfig#classes} are set, the block indentation feature will use\n * {@link module:indent/indentblock~IndentBlockConfig#offset} and {@link module:indent/indentblock~IndentBlockConfig#unit} to\n * create indentation steps.\n *\n *\t\tClassicEditor\n *\t\t\t.create( editorElement, {\n * \t\t\t\tindentBlock: {\n *\t\t\t\t\toffset: 2,\n *\t\t\t\t\tunit: 'em'\n * \t\t\t\t}\n *\t\t\t} )\n *\t\t\t.then( ... )\n *\t\t\t.catch( ... );\n *\n * Alternatively, the block indentation feature may set one of defined {@link module:indent/indentblock~IndentBlockConfig#classes} as\n * indentation steps:\n *\n *\t\tClassicEditor\n *\t\t\t.create( editorElement, {\n * \t\t\t\tindentBlock: {\n *\t\t\t\t\tclasses: [\n *\t\t\t\t\t\t'indent-a', // The first step - smallest indentation.\n *\t\t\t\t\t\t'indent-b',\n *\t\t\t\t\t\t'indent-c',\n *\t\t\t\t\t\t'indent-d',\n *\t\t\t\t\t\t'indent-e' // The last step - biggest indentation.\n *\t\t\t\t\t]\n * \t\t\t\t}\n *\t\t\t} )\n *\t\t\t.then( ... )\n *\t\t\t.catch( ... );\n *\n * In the example above only 5 indentation steps will be available.\n *\n * See {@link module:core/editor/editorconfig~EditorConfig all editor options}.\n *\n * @interface IndentBlockConfig\n */\n\n/**\n * The size of indentation {@link module:indent/indentblock~IndentBlockConfig#unit units} for each indentation step.\n *\n * @default 40\n * @member {Number} module:indent/indentblock~IndentBlockConfig#offset\n */\n\n/**\n * The unit used for indentation {@link module:indent/indentblock~IndentBlockConfig#offset}.\n *\n * @default 'px'\n * @member {String} module:indent/indentblock~IndentBlockConfig#unit\n */\n\n/**\n * An optional list of classes to use for indenting the editor content. If not set or set to an empty array, no classes will be used.\n * The {@link module:indent/indentblock~IndentBlockConfig#unit `indentBlock.unit`} and\n * {@link module:indent/indentblock~IndentBlockConfig#offset `indentBlock.offset`} properties will be used instead.\n *\n * @default undefined\n * @member {Array.<String>|undefined} module:indent/indentblock~IndentBlockConfig#classes\n */\n","/**\n * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module indent/indentblockcommand\n */\n\nimport { Command } from 'ckeditor5/src/core';\nimport { first } from 'ckeditor5/src/utils';\n\n/**\n * The indent block command.\n *\n * The command is registered by the {@link module:indent/indentblock~IndentBlock} as `'indentBlock'` for indenting blocks and\n * `'outdentBlock'` for outdenting blocks.\n *\n * To increase block indentation at the current selection, execute the command:\n *\n *\t\teditor.execute( 'indentBlock' );\n *\n * To decrease block indentation at the current selection, execute the command:\n *\n *\t\teditor.execute( 'outdentBlock' );\n *\n * @extends module:core/command~Command\n */\nexport default class IndentBlockCommand extends Command {\n\t/**\n\t * Creates an instance of the command.\n\t *\n\t * @param {module:core/editor/editor~Editor} editor The editor instance.\n\t * @param {module:indent/indentblockcommand~IndentBehavior} indentBehavior\n\t */\n\tconstructor( editor, indentBehavior ) {\n\t\tsuper( editor );\n\n\t\t/**\n\t\t * The command's indentation behavior.\n\t\t *\n\t\t * @type {module:indent/indentblockcommand~IndentBehavior}\n\t\t * @private\n\t\t */\n\t\tthis._indentBehavior = indentBehavior;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\trefresh() {\n\t\t// Check whether any of the position's ancestors is a list item.\n\t\tconst editor = this.editor;\n\t\tconst model = editor.model;\n\n\t\tconst block = first( model.document.selection.getSelectedBlocks() );\n\n\t\tif ( !block || !model.schema.checkAttribute( block, 'blockIndent' ) ) {\n\t\t\tthis.isEnabled = false;\n\n\t\t\treturn;\n\t\t}\n\n\t\tthis.isEnabled = this._indentBehavior.checkEnabled( block.getAttribute( 'blockIndent' ) );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\texecute() {\n\t\tconst model = this.editor.model;\n\n\t\tconst blocksToChange = getBlocksToChange( model );\n\n\t\tmodel.change( writer => {\n\t\t\tfor ( const block of blocksToChange ) {\n\t\t\t\tconst currentIndent = block.getAttribute( 'blockIndent' );\n\n\t\t\t\tconst nextIndent = this._indentBehavior.getNextIndent( currentIndent );\n\n\t\t\t\tif ( nextIndent ) {\n\t\t\t\t\twriter.setAttribute( 'blockIndent', nextIndent, block );\n\t\t\t\t} else {\n\t\t\t\t\twriter.removeAttribute( 'blockIndent', block );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n}\n\n// Returns blocks from selection that should have blockIndent selection set.\n//\n// @param {module:engine/model/model~model} model A model.\nfunction getBlocksToChange( model ) {\n\tconst selection = model.document.selection;\n\tconst schema = model.schema;\n\tconst blocksInSelection = Array.from( selection.getSelectedBlocks() );\n\n\treturn blocksInSelection.filter( block => schema.checkAttribute( block, 'blockIndent' ) );\n}\n\n/**\n * Provides indentation behavior to {@link module:indent/indentblockcommand~IndentBlockCommand}.\n *\n * @interface module:indent/indentblockcommand~IndentBehavior\n */\n\n/**\n * Checks if the command should be enabled.\n *\n * @method #checkEnabled\n * @param {String} indentAttributeValue The current indent attribute value.\n * @returns {Boolean}\n */\n\n/**\n * Returns a new indent attribute value based on the current indent. This method returns `undefined` when the indentation should be removed.\n *\n * @method #getNextIndent\n * @param {String} indentAttributeValue The current indent attribute value.\n * @returns {String|undefined}\n */\n","/**\n * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module indent/indentcommandbehavior/indentusingclasses\n */\n\n/**\n * The block indentation behavior that uses classes to set indentation.\n *\n * @implements module:indent/indentblockcommand~IndentBehavior\n */\nexport default class IndentUsingClasses {\n\t/**\n\t * Creates an instance of the indentation behavior.\n\t *\n\t * @param {Object} config\n\t * @param {String} config.direction The direction of indentation.\n\t * @param {Array.<String>} config.classes A list of classes used for indentation.\n\t */\n\tconstructor( config ) {\n\t\t/**\n\t\t * The direction of indentation.\n\t\t *\n\t\t * @type {Boolean}\n\t\t */\n\t\tthis.isForward = config.direction === 'forward';\n\n\t\t/**\n\t\t * A list of classes used for indentation.\n\t\t *\n\t\t * @type {Array.<String>}\n\t\t */\n\t\tthis.classes = config.classes;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tcheckEnabled( indentAttributeValue ) {\n\t\tconst currentIndex = this.classes.indexOf( indentAttributeValue );\n\n\t\tif ( this.isForward ) {\n\t\t\treturn currentIndex < this.classes.length - 1;\n\t\t} else {\n\t\t\treturn currentIndex >= 0;\n\t\t}\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tgetNextIndent( indentAttributeValue ) {\n\t\tconst currentIndex = this.classes.indexOf( indentAttributeValue );\n\t\tconst indexStep = this.isForward ? 1 : -1;\n\n\t\treturn this.classes[ currentIndex + indexStep ];\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module indent/indentcommandbehavior/indentusingoffset\n */\n\n/**\n * The block indentation behavior that uses offsets to set indentation.\n *\n * @implements module:indent/indentblockcommand~IndentBehavior\n */\nexport default class IndentUsingOffset {\n\t/**\n\t * Creates an instance of the indentation behavior.\n\t *\n\t * @param {Object} config\n\t * @param {String} config.direction The direction of indentation.\n\t * @param {Number} config.offset The offset of the next indentation step.\n\t * @param {String} config.unit Indentation unit.\n\t */\n\tconstructor( config ) {\n\t\t/**\n\t\t * The direction of indentation.\n\t\t *\n\t\t * @type {Boolean}\n\t\t */\n\t\tthis.isForward = config.direction === 'forward';\n\n\t\t/**\n\t\t * The offset of the next indentation step.\n\t\t *\n\t\t * @type {Number}\n\t\t */\n\t\tthis.offset = config.offset;\n\n\t\t/**\n\t\t * Indentation unit.\n\t\t *\n\t\t * @type {String}\n\t\t */\n\t\tthis.unit = config.unit;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tcheckEnabled( indentAttributeValue ) {\n\t\tconst currentOffset = parseFloat( indentAttributeValue || 0 );\n\n\t\t// The command is always enabled for forward indentation.\n\t\treturn this.isForward || currentOffset > 0;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tgetNextIndent( indentAttributeValue ) {\n\t\tconst currentOffset = parseFloat( indentAttributeValue || 0 );\n\t\tconst isSameUnit = !indentAttributeValue || indentAttributeValue.endsWith( this.unit );\n\n\t\tif ( !isSameUnit ) {\n\t\t\treturn this.isForward ? this.offset + this.unit : undefined;\n\t\t}\n\n\t\tconst nextOffset = this.isForward ? this.offset : -this.offset;\n\n\t\tconst offsetToSet = currentOffset + nextOffset;\n\n\t\treturn offsetToSet > 0 ? offsetToSet + this.unit : undefined;\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module indent/indentediting\n */\n\nimport { Plugin, MultiCommand } from 'ckeditor5/src/core';\n\n/**\n * The indent editing feature.\n *\n * This plugin registers the `'indent'` and `'outdent'` commands.\n *\n * **Note**: In order for the commands to work, at least one of the compatible features is required. Read more in the\n * {@link module:indent/indent~Indent indent feature} API documentation.\n *\n * @extends module:core/plugin~Plugin\n */\nexport default class IndentEditing extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tstatic get pluginName() {\n\t\treturn 'IndentEditing';\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tinit() {\n\t\tconst editor = this.editor;\n\n\t\teditor.commands.add( 'indent', new MultiCommand( editor ) );\n\t\teditor.commands.add( 'outdent', new MultiCommand( editor ) );\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module indent/indentui\n */\nimport { ButtonView } from 'ckeditor5/src/ui';\nimport { Plugin } from 'ckeditor5/src/core';\n\nimport indentIcon from '../theme/icons/indent.svg';\nimport outdentIcon from '../theme/icons/outdent.svg';\n\n/**\n * The indent UI feature.\n *\n * This plugin registers the `'indent'` and `'outdent'` buttons.\n *\n * **Note**: In order for the commands to work, at least one of the compatible features is required. Read more in\n * the {@link module:indent/indent~Indent indent feature} API documentation.\n *\n * @extends module:core/plugin~Plugin\n */\nexport default class IndentUI extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tstatic get pluginName() {\n\t\treturn 'IndentUI';\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tinit() {\n\t\tconst editor = this.editor;\n\t\tconst locale = editor.locale;\n\t\tconst t = editor.t;\n\n\t\tconst localizedIndentIcon = locale.uiLanguageDirection == 'ltr' ? indentIcon : outdentIcon;\n\t\tconst localizedOutdentIcon = locale.uiLanguageDirection == 'ltr' ? outdentIcon : indentIcon;\n\n\t\tthis._defineButton( 'indent', t( 'Increase indent' ), localizedIndentIcon );\n\t\tthis._defineButton( 'outdent', t( 'Decrease indent' ), localizedOutdentIcon );\n\t}\n\n\t/**\n\t * Defines a UI button.\n\t *\n\t * @param {String} commandName\n\t * @param {String} label\n\t * @param {String} icon\n\t * @private\n\t */\n\t_defineButton( commandName, label, icon ) {\n\t\tconst editor = this.editor;\n\n\t\teditor.ui.componentFactory.add( commandName, locale => {\n\t\t\tconst command = editor.commands.get( commandName );\n\t\t\tconst view = new ButtonView( locale );\n\n\t\t\tview.set( {\n\t\t\t\tlabel,\n\t\t\t\ticon,\n\t\t\t\ttooltip: true\n\t\t\t} );\n\n\t\t\tview.bind( 'isOn', 'isEnabled' ).to( command, 'value', 'isEnabled' );\n\n\t\t\tthis.listenTo( view, 'execute', () => {\n\t\t\t\teditor.execute( commandName );\n\t\t\t\teditor.editing.view.focus();\n\t\t\t} );\n\n\t\t\treturn view;\n\t\t} );\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module indent\n */\n\nimport Indent from './indent';\nimport IndentEditing from './indentediting';\nimport IndentUI from './indentui';\nimport IndentBlock from './indentblock';\n\nexport default {\n\tIndent,\n\tIndentEditing,\n\tIndentUI,\n\tIndentBlock\n};\n","export default \"<svg viewBox=\\\"0 0 20 20\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M2 3.75c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm5 6c0 .414.336.75.75.75h9.5a.75.75 0 1 0 0-1.5h-9.5a.75.75 0 0 0-.75.75zM2.75 16.5h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 1 0 0 1.5zM1.632 6.95L5.02 9.358a.4.4 0 0 1-.013.661l-3.39 2.207A.4.4 0 0 1 1 11.892V7.275a.4.4 0 0 1 .632-.326z\\\"/></svg>\";","export default \"<svg viewBox=\\\"0 0 20 20\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M2 3.75c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm5 6c0 .414.336.75.75.75h9.5a.75.75 0 1 0 0-1.5h-9.5a.75.75 0 0 0-.75.75zM2.75 16.5h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 1 0 0 1.5zm1.618-9.55L.98 9.358a.4.4 0 0 0 .013.661l3.39 2.207A.4.4 0 0 0 5 11.892V7.275a.4.4 0 0 0-.632-.326z\\\"/></svg>\";","module.exports = (__webpack_require__(/*! dll-reference CKEditor5.dll */ \"dll-reference CKEditor5.dll\"))(\"./src/core.js\");","module.exports = (__webpack_require__(/*! dll-reference CKEditor5.dll */ \"dll-reference CKEditor5.dll\"))(\"./src/engine.js\");","module.exports = (__webpack_require__(/*! dll-reference CKEditor5.dll */ \"dll-reference CKEditor5.dll\"))(\"./src/ui.js\");","module.exports = (__webpack_require__(/*! dll-reference CKEditor5.dll */ \"dll-reference CKEditor5.dll\"))(\"./src/utils.js\");","module.exports = CKEditor5.dll;"],"sourceRoot":""}
|