@ckeditor/ckeditor5-page-break 46.1.1 → 47.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/page-break.js +1 -1
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -1
- package/package.json +7 -7
- package/src/pagebreakediting.d.ts +9 -0
- package/src/pagebreakediting.js +13 -0
package/build/page-break.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
/*!
|
|
3
3
|
* @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
|
|
4
4
|
* For licensing, see LICENSE.md.
|
|
5
|
-
*/(()=>{var e={
|
|
5
|
+
*/(()=>{var e={212:e=>{"use strict";e.exports=function(e,t){Object.keys(t).forEach(function(r){e.setAttribute(r,t[r])})}},237:e=>{"use strict";e.exports=CKEditor5.dll},272:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var r="",n=void 0!==t[5];return t[4]&&(r+="@supports (".concat(t[4],") {")),t[2]&&(r+="@media ".concat(t[2]," {")),n&&(r+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),r+=e(t),n&&(r+="}"),t[2]&&(r+="}"),t[4]&&(r+="}"),r}).join("")},t.i=function(e,r,n,a,o){"string"==typeof e&&(e=[[null,e,void 0]]);var i={};if(n)for(var s=0;s<this.length;s++){var c=this[s][0];null!=c&&(i[c]=!0)}for(var l=0;l<e.length;l++){var u=[].concat(e[l]);n&&i[u[0]]||(void 0!==o&&(void 0===u[5]||(u[1]="@layer".concat(u[5].length>0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=o),r&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=r):u[2]=r),a&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=a):u[4]="".concat(a)),t.push(u))}},t}},311:(e,t,r)=>{e.exports=r(237)("./src/ui.js")},343:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});var n=r(695),a=r.n(n),o=r(272),i=r.n(o)()(a());i.push([e.id,'.ck-content .page-break{align-items:center;clear:both;display:flex;justify-content:center;padding:5px 0;position:relative}.ck-content .page-break:after{border-bottom:2px dashed #c4c4c4;content:"";position:absolute;width:100%}.ck-content .page-break__label{background:#fff;border:1px solid #c4c4c4;border-radius:2px;box-shadow:2px 2px 1px rgba(0,0,0,.15);color:#333;display:block;font-size:.75em;font-weight:700;padding:.3em .6em;position:relative;text-transform:uppercase;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}@media print{.ck-content .page-break{padding:0}.ck-content .page-break:after{display:none}.ck-content :has(+.page-break){margin-bottom:0}}',""]);const s=i},355:(e,t,r)=>{e.exports=r(237)("./src/icons.js")},507:e=>{"use strict";var t={};e.exports=function(e,r){var n=function(e){if(void 0===t[e]){var r=document.querySelector(e);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}t[e]=r}return t[e]}(e);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");n.appendChild(r)}},520:e=>{"use strict";var t=[];function r(e){for(var r=-1,n=0;n<t.length;n++)if(t[n].identifier===e){r=n;break}return r}function n(e,n){for(var o={},i=[],s=0;s<e.length;s++){var c=e[s],l=n.base?c[0]+n.base:c[0],u=o[l]||0,d="".concat(l," ").concat(u);o[l]=u+1;var p=r(d),g={css:c[1],media:c[2],sourceMap:c[3],supports:c[4],layer:c[5]};if(-1!==p)t[p].references++,t[p].updater(g);else{var f=a(g,n);n.byIndex=s,t.splice(s,0,{identifier:d,updater:f,references:1})}i.push(d)}return i}function a(e,t){var r=t.domAPI(t);r.update(e);return function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap&&t.supports===e.supports&&t.layer===e.layer)return;r.update(e=t)}else r.remove()}}e.exports=function(e,a){var o=n(e=e||[],a=a||{});return function(e){e=e||[];for(var i=0;i<o.length;i++){var s=r(o[i]);t[s].references--}for(var c=n(e,a),l=0;l<o.length;l++){var u=r(o[l]);0===t[u].references&&(t[u].updater(),t.splice(u,1))}o=c}}},692:e=>{"use strict";var t,r=(t=[],function(e,r){return t[e]=r,t.filter(Boolean).join("\n")});function n(e,t,n,a){var o;if(n)o="";else{o="",a.supports&&(o+="@supports (".concat(a.supports,") {")),a.media&&(o+="@media ".concat(a.media," {"));var i=void 0!==a.layer;i&&(o+="@layer".concat(a.layer.length>0?" ".concat(a.layer):""," {")),o+=a.css,i&&(o+="}"),a.media&&(o+="}"),a.supports&&(o+="}")}if(e.styleSheet)e.styleSheet.cssText=r(t,o);else{var s=document.createTextNode(o),c=e.childNodes;c[t]&&e.removeChild(c[t]),c.length?e.insertBefore(s,c[t]):e.appendChild(s)}}var a={singleton:null,singletonCounter:0};e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=a.singletonCounter++,r=a.singleton||(a.singleton=e.insertStyleElement(e));return{update:function(e){n(r,t,!1,e)},remove:function(e){n(r,t,!0,e)}}}},695:e=>{"use strict";e.exports=function(e){return e[1]}},782:(e,t,r)=>{e.exports=r(237)("./src/core.js")},901:(e,t,r)=>{e.exports=r(237)("./src/widget.js")},964:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}}},t={};function r(n){var a=t[n];if(void 0!==a)return a.exports;var o=t[n]={id:n,exports:{}};return e[n](o,o.exports,r),o.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};(()=>{"use strict";r.r(n),r.d(n,{PageBreak:()=>x,PageBreakCommand:()=>a,PageBreakEditing:()=>v,PageBreakUI:()=>y});var e=r(782),t=r(901);class a extends e.Command{refresh(){const e=this.editor.model,r=e.schema,n=e.document.selection;this.isEnabled=function(e,r,n){const a=function(e,r){const n=(0,t.findOptimalInsertionRange)(e,r),a=n.start.parent;if(a.isEmpty&&!a.is("element","$root"))return a.parent;return a}(e,n);return r.checkChild(a,"pageBreak")}(n,r,e)}execute(){const e=this.editor.model;e.change(t=>{const r=t.createElement("pageBreak");e.insertObject(r,null,null,{setSelection:"after"})})}}var o=r(520),i=r.n(o),s=r(692),c=r.n(s),l=r(507),u=r.n(l),d=r(212),p=r.n(d),g=r(964),f=r.n(g),m=r(343),b={attributes:{"data-cke":!0}};b.setAttributes=p(),b.insert=u().bind(null,"head"),b.domAPI=c(),b.insertStyleElement=f();i()(m.A,b);m.A&&m.A.locals&&m.A.locals;class v extends e.Plugin{static get pluginName(){return"PageBreakEditing"}static get licenseFeatureCode(){return"PB"}static get isOfficialPlugin(){return!0}static get isPremiumPlugin(){return!0}init(){const e=this.editor,r=e.model.schema,n=e.t,o=e.conversion;r.register("pageBreak",{inheritAllFrom:"$blockObject"}),o.for("dataDowncast").elementToStructure({model:"pageBreak",view:(e,{writer:t})=>t.createContainerElement("div",{class:"page-break",style:"page-break-after: always"},t.createContainerElement("span",{style:"display: none"}))}),o.for("editingDowncast").elementToStructure({model:"pageBreak",view:(e,{writer:r})=>{const a=n("Page break"),o=r.createContainerElement("div"),i=r.createRawElement("span",{class:"page-break__label"},function(e){e.innerText=n("Page break")});return r.addClass("page-break",o),r.insert(r.createPositionAt(o,0),i),function(e,r,n){return r.setCustomProperty("pageBreak",!0,e),(0,t.toWidget)(e,r,{label:n})}(o,r,a)}}),o.for("upcast").elementToElement({view:e=>{const t="always"==e.getStyle("page-break-before"),r="always"==e.getStyle("page-break-after");if(!t&&!r)return null;if(1==e.childCount){const t=e.getChild(0);if(!t.is("element","span")||"none"!=t.getStyle("display"))return null}else if(e.childCount>1)return null;return{name:!0,styles:[...t?["page-break-before"]:[],...r?["page-break-after"]:[]],...e.hasClass("page-break")&&{classes:["page-break"]}}},model:"pageBreak",converterPriority:"high"}),e.commands.add("pageBreak",new a(e))}}var h=r(355),k=r(311);class y extends e.Plugin{static get pluginName(){return"PageBreakUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor;e.ui.componentFactory.add("pageBreak",()=>{const e=this._createButton(k.ButtonView);return e.set({tooltip:!0}),e}),e.ui.componentFactory.add("menuBar:pageBreak",()=>this._createButton(k.MenuBarMenuListItemButtonView))}_createButton(e){const t=this.editor,r=t.locale,n=t.commands.get("pageBreak"),a=new e(t.locale),o=r.t;return a.set({label:o("Page break"),icon:h.IconPageBreak}),a.bind("isEnabled").to(n,"isEnabled"),this.listenTo(a,"execute",()=>{t.execute("pageBreak"),t.editing.view.focus()}),a}}class x extends e.Plugin{static get requires(){return[v,y,t.Widget]}static get pluginName(){return"PageBreak"}static get isOfficialPlugin(){return!0}}})(),(window.CKEditor5=window.CKEditor5||{}).pageBreak=n})();
|
package/dist/index.js
CHANGED
|
@@ -63,11 +63,22 @@ import { ButtonView, MenuBarMenuListItemButtonView } from '@ckeditor/ckeditor5-u
|
|
|
63
63
|
*/ static get pluginName() {
|
|
64
64
|
return 'PageBreakEditing';
|
|
65
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* @inheritDoc
|
|
68
|
+
* @internal
|
|
69
|
+
*/ static get licenseFeatureCode() {
|
|
70
|
+
return 'PB';
|
|
71
|
+
}
|
|
66
72
|
/**
|
|
67
73
|
* @inheritDoc
|
|
68
74
|
*/ static get isOfficialPlugin() {
|
|
69
75
|
return true;
|
|
70
76
|
}
|
|
77
|
+
/**
|
|
78
|
+
* @inheritDoc
|
|
79
|
+
*/ static get isPremiumPlugin() {
|
|
80
|
+
return true;
|
|
81
|
+
}
|
|
71
82
|
/**
|
|
72
83
|
* @inheritDoc
|
|
73
84
|
*/ init() {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.js","../src/pagebreakcommand.ts","../src/pagebreakediting.ts","../src/pagebreakui.ts","../src/pagebreak.ts"],"names":["PageBreakCommand","Command","refresh","model","editor","schema","selection","document","isEnabled","isPageBreakAllowedInParent","execute","change","writer","pageBreakElement","createElement","insertObject","setSelection","parent","getInsertPageBreakParent","checkChild","insertionRange","findOptimalInsertionRange","start","isEmpty","is","PageBreakEditing","Plugin","pluginName","isOfficialPlugin","init","t","conversion","register","inheritAllFrom","for","elementToStructure","view","modelElement","divElement","createContainerElement","class","style","label","viewWrapper","viewLabelElement","createRawElement","domElement","innerText","addClass","insert","createPositionAt","toPageBreakWidget","elementToElement","element","hasPageBreakBefore","getStyle","hasPageBreakAfter","childCount","viewSpan","getChild","name","styles","hasClass","classes","converterPriority","commands","add","viewElement","setCustomProperty","toWidget","PageBreakUI","ui","componentFactory","_createButton","ButtonView","set","tooltip","MenuBarMenuListItemButtonView","ButtonClass","locale","command","get","icon","IconPageBreak","bind","to","listenTo","editing","focus","PageBreak","requires","Widget"],"mappings":"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","file":"index.js.map","sourcesContent":["import { Command, Plugin } from '@ckeditor/ckeditor5-core/dist/index.js';\nimport { findOptimalInsertionRange, toWidget, Widget } from '@ckeditor/ckeditor5-widget/dist/index.js';\nimport { IconPageBreak } from '@ckeditor/ckeditor5-icons/dist/index.js';\nimport { ButtonView, MenuBarMenuListItemButtonView } from '@ckeditor/ckeditor5-ui/dist/index.js';\n\n/**\n * The page break command.\n *\n * The command is registered by {@link module:page-break/pagebreakediting~PageBreakEditing} as `'pageBreak'`.\n *\n * To insert a page break at the current selection, execute the command:\n *\n *\t\teditor.execute( 'pageBreak' );\n */ class PageBreakCommand extends Command {\n /**\n\t * @inheritDoc\n\t */ refresh() {\n const model = this.editor.model;\n const schema = model.schema;\n const selection = model.document.selection;\n this.isEnabled = isPageBreakAllowedInParent(selection, schema, model);\n }\n /**\n\t * Executes the command.\n\t *\n\t * @fires execute\n\t */ execute() {\n const model = this.editor.model;\n model.change((writer)=>{\n const pageBreakElement = writer.createElement('pageBreak');\n model.insertObject(pageBreakElement, null, null, {\n setSelection: 'after'\n });\n });\n }\n}\n/**\n * Checks if a page break is allowed by the schema in the optimal insertion parent.\n */ function isPageBreakAllowedInParent(selection, schema, model) {\n const parent = getInsertPageBreakParent(selection, model);\n return schema.checkChild(parent, 'pageBreak');\n}\n/**\n * Returns a node that will be used to insert a page break with `model.insertContent` to check if the page break can be placed there.\n */ function getInsertPageBreakParent(selection, model) {\n const insertionRange = findOptimalInsertionRange(selection, model);\n const parent = insertionRange.start.parent;\n if (parent.isEmpty && !parent.is('element', '$root')) {\n return parent.parent;\n }\n return parent;\n}\n\n/**\n * The page break editing feature.\n */ class PageBreakEditing extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'PageBreakEditing';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n const editor = this.editor;\n const schema = editor.model.schema;\n const t = editor.t;\n const conversion = editor.conversion;\n schema.register('pageBreak', {\n inheritAllFrom: '$blockObject'\n });\n conversion.for('dataDowncast').elementToStructure({\n model: 'pageBreak',\n view: (modelElement, { writer })=>{\n const divElement = writer.createContainerElement('div', {\n class: 'page-break',\n // If user has no `.ck-content` styles, it should always break a page during print.\n style: 'page-break-after: always'\n }, // For a rationale of using span inside a div see:\n // https://github.com/ckeditor/ckeditor5-page-break/pull/1#discussion_r328934062.\n writer.createContainerElement('span', {\n style: 'display: none'\n }));\n return divElement;\n }\n });\n conversion.for('editingDowncast').elementToStructure({\n model: 'pageBreak',\n view: (modelElement, { writer })=>{\n const label = t('Page break');\n const viewWrapper = writer.createContainerElement('div');\n const viewLabelElement = writer.createRawElement('span', {\n class: 'page-break__label'\n }, function(domElement) {\n domElement.innerText = t('Page break');\n });\n writer.addClass('page-break', viewWrapper);\n writer.insert(writer.createPositionAt(viewWrapper, 0), viewLabelElement);\n return toPageBreakWidget(viewWrapper, writer, label);\n }\n });\n conversion.for('upcast').elementToElement({\n view: (element)=>{\n // For upcast conversion it's enough if we check for element style and verify if it's empty\n // or contains only hidden span element.\n const hasPageBreakBefore = element.getStyle('page-break-before') == 'always';\n const hasPageBreakAfter = element.getStyle('page-break-after') == 'always';\n if (!hasPageBreakBefore && !hasPageBreakAfter) {\n return null;\n }\n // The \"page break\" div accepts only single child or no child at all.\n if (element.childCount == 1) {\n const viewSpan = element.getChild(0);\n // The child must be the \"span\" element that is not displayed.\n if (!viewSpan.is('element', 'span') || viewSpan.getStyle('display') != 'none') {\n return null;\n }\n } else if (element.childCount > 1) {\n return null;\n }\n return {\n name: true,\n styles: [\n ...hasPageBreakBefore ? [\n 'page-break-before'\n ] : [],\n ...hasPageBreakAfter ? [\n 'page-break-after'\n ] : []\n ],\n ...element.hasClass('page-break') && {\n classes: [\n 'page-break'\n ]\n }\n };\n },\n model: 'pageBreak',\n // This conversion must be checked before <br> conversion because some editors use\n // <br style=\"page-break-before:always\"> as a page break marker.\n converterPriority: 'high'\n });\n editor.commands.add('pageBreak', new PageBreakCommand(editor));\n }\n}\n/**\n * Converts a given {@link module:engine/view/element~ViewElement} to a page break widget:\n * * Adds a {@link module:engine/view/element~ViewElement#_setCustomProperty custom property} allowing to\n * recognize the page break widget element.\n * * Calls the {@link module:widget/utils~toWidget} function with the proper element's label creator.\n */ function toPageBreakWidget(viewElement, writer, label) {\n writer.setCustomProperty('pageBreak', true, viewElement);\n return toWidget(viewElement, writer, {\n label\n });\n}\n\n/**\n * The page break UI plugin.\n */ class PageBreakUI extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'PageBreakUI';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n const editor = this.editor;\n // Add pageBreak button to feature components.\n editor.ui.componentFactory.add('pageBreak', ()=>{\n const view = this._createButton(ButtonView);\n view.set({\n tooltip: true\n });\n return view;\n });\n editor.ui.componentFactory.add('menuBar:pageBreak', ()=>this._createButton(MenuBarMenuListItemButtonView));\n }\n /**\n\t * Creates a button for page break command to use either in toolbar or in menu bar.\n\t */ _createButton(ButtonClass) {\n const editor = this.editor;\n const locale = editor.locale;\n const command = editor.commands.get('pageBreak');\n const view = new ButtonClass(editor.locale);\n const t = locale.t;\n view.set({\n label: t('Page break'),\n icon: IconPageBreak\n });\n view.bind('isEnabled').to(command, 'isEnabled');\n // Execute the command.\n this.listenTo(view, 'execute', ()=>{\n editor.execute('pageBreak');\n editor.editing.view.focus();\n });\n return view;\n }\n}\n\n/**\n * The page break feature.\n *\n * It provides the possibility to insert a page break into the rich-text editor.\n *\n * For a detailed overview, check the {@glink features/page-break Page break feature} documentation.\n */ class PageBreak extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get requires() {\n return [\n PageBreakEditing,\n PageBreakUI,\n Widget\n ];\n }\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'PageBreak';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n}\n\nexport { PageBreak, PageBreakCommand, PageBreakEditing, PageBreakUI };\n//# sourceMappingURL=index.js.map\n","/**\n * @license Copyright (c) 2003-2025, 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 page-break/pagebreakcommand\n */\n\nimport { Command } from 'ckeditor5/src/core.js';\nimport { findOptimalInsertionRange } from 'ckeditor5/src/widget.js';\nimport type { ModelDocumentSelection, ModelElement, Model, ModelSchema } from 'ckeditor5/src/engine.js';\n\n/**\n * The page break command.\n *\n * The command is registered by {@link module:page-break/pagebreakediting~PageBreakEditing} as `'pageBreak'`.\n *\n * To insert a page break at the current selection, execute the command:\n *\n *\t\teditor.execute( 'pageBreak' );\n */\nexport class PageBreakCommand 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\n\t\tthis.isEnabled = isPageBreakAllowedInParent( selection, schema, model );\n\t}\n\n\t/**\n\t * Executes the command.\n\t *\n\t * @fires execute\n\t */\n\tpublic override execute(): void {\n\t\tconst model = this.editor.model;\n\n\t\tmodel.change( writer => {\n\t\t\tconst pageBreakElement = writer.createElement( 'pageBreak' );\n\n\t\t\tmodel.insertObject( pageBreakElement, null, null, {\n\t\t\t\tsetSelection: 'after'\n\t\t\t} );\n\t\t} );\n\t}\n}\n\n/**\n * Checks if a page break is allowed by the schema in the optimal insertion parent.\n */\nfunction isPageBreakAllowedInParent( selection: ModelDocumentSelection, schema: ModelSchema, model: Model ): boolean {\n\tconst parent = getInsertPageBreakParent( selection, model );\n\n\treturn schema.checkChild( parent, 'pageBreak' );\n}\n\n/**\n * Returns a node that will be used to insert a page break with `model.insertContent` to check if the page break can be placed there.\n */\nfunction getInsertPageBreakParent( selection: ModelDocumentSelection, model: Model ): ModelElement {\n\tconst insertionRange = findOptimalInsertionRange( selection, model );\n\tconst parent = insertionRange.start.parent;\n\n\tif ( parent.isEmpty && !parent.is( 'element', '$root' ) ) {\n\t\treturn parent.parent as ModelElement;\n\t}\n\n\treturn parent as ModelElement;\n}\n","/**\n * @license Copyright (c) 2003-2025, 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 page-break/pagebreakediting\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport { toWidget } from 'ckeditor5/src/widget.js';\nimport type { ViewDowncastWriter, ViewElement } from 'ckeditor5/src/engine.js';\n\nimport { PageBreakCommand } from './pagebreakcommand.js';\n\nimport '../theme/pagebreak.css';\n\n/**\n * The page break editing feature.\n */\nexport class PageBreakEditing extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'PageBreakEditing' 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 schema = editor.model.schema;\n\t\tconst t = editor.t;\n\t\tconst conversion = editor.conversion;\n\n\t\tschema.register( 'pageBreak', {\n\t\t\tinheritAllFrom: '$blockObject'\n\t\t} );\n\n\t\tconversion.for( 'dataDowncast' ).elementToStructure( {\n\t\t\tmodel: 'pageBreak',\n\t\t\tview: ( modelElement, { writer } ) => {\n\t\t\t\tconst divElement = writer.createContainerElement( 'div',\n\t\t\t\t\t{\n\t\t\t\t\t\tclass: 'page-break',\n\t\t\t\t\t\t// If user has no `.ck-content` styles, it should always break a page during print.\n\t\t\t\t\t\tstyle: 'page-break-after: always'\n\t\t\t\t\t},\n\t\t\t\t\t// For a rationale of using span inside a div see:\n\t\t\t\t\t// https://github.com/ckeditor/ckeditor5-page-break/pull/1#discussion_r328934062.\n\t\t\t\t\twriter.createContainerElement( 'span', {\n\t\t\t\t\t\tstyle: 'display: none'\n\t\t\t\t\t} )\n\t\t\t\t);\n\n\t\t\t\treturn divElement;\n\t\t\t}\n\t\t} );\n\n\t\tconversion.for( 'editingDowncast' ).elementToStructure( {\n\t\t\tmodel: 'pageBreak',\n\t\t\tview: ( modelElement, { writer } ) => {\n\t\t\t\tconst label = t( 'Page break' );\n\t\t\t\tconst viewWrapper = writer.createContainerElement( 'div' );\n\t\t\t\tconst viewLabelElement = writer.createRawElement(\n\t\t\t\t\t'span',\n\t\t\t\t\t{ class: 'page-break__label' },\n\t\t\t\t\tfunction( domElement ) {\n\t\t\t\t\t\tdomElement.innerText = t( 'Page break' );\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\twriter.addClass( 'page-break', viewWrapper );\n\t\t\t\twriter.insert( writer.createPositionAt( viewWrapper, 0 ), viewLabelElement );\n\n\t\t\t\treturn toPageBreakWidget( viewWrapper, writer, label );\n\t\t\t}\n\t\t} );\n\n\t\tconversion.for( 'upcast' )\n\t\t\t.elementToElement( {\n\t\t\t\tview: element => {\n\t\t\t\t\t// For upcast conversion it's enough if we check for element style and verify if it's empty\n\t\t\t\t\t// or contains only hidden span element.\n\n\t\t\t\t\tconst hasPageBreakBefore = element.getStyle( 'page-break-before' ) == 'always';\n\t\t\t\t\tconst hasPageBreakAfter = element.getStyle( 'page-break-after' ) == 'always';\n\n\t\t\t\t\tif ( !hasPageBreakBefore && !hasPageBreakAfter ) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\t// The \"page break\" div accepts only single child or no child at all.\n\t\t\t\t\tif ( element.childCount == 1 ) {\n\t\t\t\t\t\tconst viewSpan = element.getChild( 0 );\n\n\t\t\t\t\t\t// The child must be the \"span\" element that is not displayed.\n\t\t\t\t\t\tif ( !viewSpan!.is( 'element', 'span' ) || viewSpan.getStyle( 'display' ) != 'none' ) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if ( element.childCount > 1 ) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tname: true,\n\n\t\t\t\t\t\tstyles: [\n\t\t\t\t\t\t\t...( hasPageBreakBefore ? [ 'page-break-before' ] : [] ),\n\t\t\t\t\t\t\t...( hasPageBreakAfter ? [ 'page-break-after' ] : [] )\n\t\t\t\t\t\t],\n\n\t\t\t\t\t\t...element.hasClass( 'page-break' ) && {\n\t\t\t\t\t\t\tclasses: [ 'page-break' ]\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\tmodel: 'pageBreak',\n\n\t\t\t\t// This conversion must be checked before <br> conversion because some editors use\n\t\t\t\t// <br style=\"page-break-before:always\"> as a page break marker.\n\t\t\t\tconverterPriority: 'high'\n\t\t\t} );\n\n\t\teditor.commands.add( 'pageBreak', new PageBreakCommand( editor ) );\n\t}\n}\n\n/**\n * Converts a given {@link module:engine/view/element~ViewElement} to a page break widget:\n * * Adds a {@link module:engine/view/element~ViewElement#_setCustomProperty custom property} allowing to\n * recognize the page break widget element.\n * * Calls the {@link module:widget/utils~toWidget} function with the proper element's label creator.\n */\nfunction toPageBreakWidget( viewElement: ViewElement, writer: ViewDowncastWriter, label: string ): ViewElement {\n\twriter.setCustomProperty( 'pageBreak', true, viewElement );\n\n\treturn toWidget( viewElement, writer, { label } );\n}\n","/**\n * @license Copyright (c) 2003-2025, 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 page-break/pagebreakui\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport { IconPageBreak } from 'ckeditor5/src/icons.js';\nimport { ButtonView, MenuBarMenuListItemButtonView } from 'ckeditor5/src/ui.js';\n\n/**\n * The page break UI plugin.\n */\nexport class PageBreakUI extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'PageBreakUI' 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\n\t\t// Add pageBreak button to feature components.\n\t\teditor.ui.componentFactory.add( 'pageBreak', () => {\n\t\t\tconst view = this._createButton( ButtonView );\n\n\t\t\tview.set( {\n\t\t\t\ttooltip: true\n\t\t\t} );\n\n\t\t\treturn view;\n\t\t} );\n\n\t\teditor.ui.componentFactory.add( 'menuBar:pageBreak', () => this._createButton( MenuBarMenuListItemButtonView ) );\n\t}\n\n\t/**\n\t * Creates a button for page break 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 locale = editor.locale;\n\t\tconst command = editor.commands.get( 'pageBreak' )!;\n\t\tconst view = new ButtonClass( editor.locale ) as InstanceType<T>;\n\t\tconst t = locale.t;\n\n\t\tview.set( {\n\t\t\tlabel: t( 'Page break' ),\n\t\t\ticon: IconPageBreak\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( 'pageBreak' );\n\t\t\teditor.editing.view.focus();\n\t\t} );\n\n\t\treturn view;\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2025, 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 page-break/pagebreak\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport { Widget } from 'ckeditor5/src/widget.js';\n\nimport { PageBreakEditing } from './pagebreakediting.js';\nimport { PageBreakUI } from './pagebreakui.js';\n\n/**\n * The page break feature.\n *\n * It provides the possibility to insert a page break into the rich-text editor.\n *\n * For a detailed overview, check the {@glink features/page-break Page break feature} documentation.\n */\nexport class PageBreak extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get requires() {\n\t\treturn [ PageBreakEditing, PageBreakUI, Widget ] as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'PageBreak' 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"]}
|
|
1
|
+
{"version":3,"sources":["index.js","../src/pagebreakcommand.ts","../src/pagebreakediting.ts","../src/pagebreakui.ts","../src/pagebreak.ts"],"names":["PageBreakCommand","Command","refresh","model","editor","schema","selection","document","isEnabled","isPageBreakAllowedInParent","execute","change","writer","pageBreakElement","createElement","insertObject","setSelection","parent","getInsertPageBreakParent","checkChild","insertionRange","findOptimalInsertionRange","start","isEmpty","is","PageBreakEditing","Plugin","pluginName","licenseFeatureCode","isOfficialPlugin","isPremiumPlugin","init","t","conversion","register","inheritAllFrom","for","elementToStructure","view","modelElement","divElement","createContainerElement","class","style","label","viewWrapper","viewLabelElement","createRawElement","domElement","innerText","addClass","insert","createPositionAt","toPageBreakWidget","elementToElement","element","hasPageBreakBefore","getStyle","hasPageBreakAfter","childCount","viewSpan","getChild","name","styles","hasClass","classes","converterPriority","commands","add","viewElement","setCustomProperty","toWidget","PageBreakUI","ui","componentFactory","_createButton","ButtonView","set","tooltip","MenuBarMenuListItemButtonView","ButtonClass","locale","command","get","icon","IconPageBreak","bind","to","listenTo","editing","focus","PageBreak","requires","Widget"],"mappings":"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","file":"index.js.map","sourcesContent":["import { Command, Plugin } from '@ckeditor/ckeditor5-core/dist/index.js';\nimport { findOptimalInsertionRange, toWidget, Widget } from '@ckeditor/ckeditor5-widget/dist/index.js';\nimport { IconPageBreak } from '@ckeditor/ckeditor5-icons/dist/index.js';\nimport { ButtonView, MenuBarMenuListItemButtonView } from '@ckeditor/ckeditor5-ui/dist/index.js';\n\n/**\n * The page break command.\n *\n * The command is registered by {@link module:page-break/pagebreakediting~PageBreakEditing} as `'pageBreak'`.\n *\n * To insert a page break at the current selection, execute the command:\n *\n *\t\teditor.execute( 'pageBreak' );\n */ class PageBreakCommand extends Command {\n /**\n\t * @inheritDoc\n\t */ refresh() {\n const model = this.editor.model;\n const schema = model.schema;\n const selection = model.document.selection;\n this.isEnabled = isPageBreakAllowedInParent(selection, schema, model);\n }\n /**\n\t * Executes the command.\n\t *\n\t * @fires execute\n\t */ execute() {\n const model = this.editor.model;\n model.change((writer)=>{\n const pageBreakElement = writer.createElement('pageBreak');\n model.insertObject(pageBreakElement, null, null, {\n setSelection: 'after'\n });\n });\n }\n}\n/**\n * Checks if a page break is allowed by the schema in the optimal insertion parent.\n */ function isPageBreakAllowedInParent(selection, schema, model) {\n const parent = getInsertPageBreakParent(selection, model);\n return schema.checkChild(parent, 'pageBreak');\n}\n/**\n * Returns a node that will be used to insert a page break with `model.insertContent` to check if the page break can be placed there.\n */ function getInsertPageBreakParent(selection, model) {\n const insertionRange = findOptimalInsertionRange(selection, model);\n const parent = insertionRange.start.parent;\n if (parent.isEmpty && !parent.is('element', '$root')) {\n return parent.parent;\n }\n return parent;\n}\n\n/**\n * The page break editing feature.\n */ class PageBreakEditing extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'PageBreakEditing';\n }\n /**\n\t * @inheritDoc\n\t * @internal\n\t */ static get licenseFeatureCode() {\n return 'PB';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ static get isPremiumPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n const editor = this.editor;\n const schema = editor.model.schema;\n const t = editor.t;\n const conversion = editor.conversion;\n schema.register('pageBreak', {\n inheritAllFrom: '$blockObject'\n });\n conversion.for('dataDowncast').elementToStructure({\n model: 'pageBreak',\n view: (modelElement, { writer })=>{\n const divElement = writer.createContainerElement('div', {\n class: 'page-break',\n // If user has no `.ck-content` styles, it should always break a page during print.\n style: 'page-break-after: always'\n }, // For a rationale of using span inside a div see:\n // https://github.com/ckeditor/ckeditor5-page-break/pull/1#discussion_r328934062.\n writer.createContainerElement('span', {\n style: 'display: none'\n }));\n return divElement;\n }\n });\n conversion.for('editingDowncast').elementToStructure({\n model: 'pageBreak',\n view: (modelElement, { writer })=>{\n const label = t('Page break');\n const viewWrapper = writer.createContainerElement('div');\n const viewLabelElement = writer.createRawElement('span', {\n class: 'page-break__label'\n }, function(domElement) {\n domElement.innerText = t('Page break');\n });\n writer.addClass('page-break', viewWrapper);\n writer.insert(writer.createPositionAt(viewWrapper, 0), viewLabelElement);\n return toPageBreakWidget(viewWrapper, writer, label);\n }\n });\n conversion.for('upcast').elementToElement({\n view: (element)=>{\n // For upcast conversion it's enough if we check for element style and verify if it's empty\n // or contains only hidden span element.\n const hasPageBreakBefore = element.getStyle('page-break-before') == 'always';\n const hasPageBreakAfter = element.getStyle('page-break-after') == 'always';\n if (!hasPageBreakBefore && !hasPageBreakAfter) {\n return null;\n }\n // The \"page break\" div accepts only single child or no child at all.\n if (element.childCount == 1) {\n const viewSpan = element.getChild(0);\n // The child must be the \"span\" element that is not displayed.\n if (!viewSpan.is('element', 'span') || viewSpan.getStyle('display') != 'none') {\n return null;\n }\n } else if (element.childCount > 1) {\n return null;\n }\n return {\n name: true,\n styles: [\n ...hasPageBreakBefore ? [\n 'page-break-before'\n ] : [],\n ...hasPageBreakAfter ? [\n 'page-break-after'\n ] : []\n ],\n ...element.hasClass('page-break') && {\n classes: [\n 'page-break'\n ]\n }\n };\n },\n model: 'pageBreak',\n // This conversion must be checked before <br> conversion because some editors use\n // <br style=\"page-break-before:always\"> as a page break marker.\n converterPriority: 'high'\n });\n editor.commands.add('pageBreak', new PageBreakCommand(editor));\n }\n}\n/**\n * Converts a given {@link module:engine/view/element~ViewElement} to a page break widget:\n * * Adds a {@link module:engine/view/element~ViewElement#_setCustomProperty custom property} allowing to\n * recognize the page break widget element.\n * * Calls the {@link module:widget/utils~toWidget} function with the proper element's label creator.\n */ function toPageBreakWidget(viewElement, writer, label) {\n writer.setCustomProperty('pageBreak', true, viewElement);\n return toWidget(viewElement, writer, {\n label\n });\n}\n\n/**\n * The page break UI plugin.\n */ class PageBreakUI extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'PageBreakUI';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n const editor = this.editor;\n // Add pageBreak button to feature components.\n editor.ui.componentFactory.add('pageBreak', ()=>{\n const view = this._createButton(ButtonView);\n view.set({\n tooltip: true\n });\n return view;\n });\n editor.ui.componentFactory.add('menuBar:pageBreak', ()=>this._createButton(MenuBarMenuListItemButtonView));\n }\n /**\n\t * Creates a button for page break command to use either in toolbar or in menu bar.\n\t */ _createButton(ButtonClass) {\n const editor = this.editor;\n const locale = editor.locale;\n const command = editor.commands.get('pageBreak');\n const view = new ButtonClass(editor.locale);\n const t = locale.t;\n view.set({\n label: t('Page break'),\n icon: IconPageBreak\n });\n view.bind('isEnabled').to(command, 'isEnabled');\n // Execute the command.\n this.listenTo(view, 'execute', ()=>{\n editor.execute('pageBreak');\n editor.editing.view.focus();\n });\n return view;\n }\n}\n\n/**\n * The page break feature.\n *\n * It provides the possibility to insert a page break into the rich-text editor.\n *\n * For a detailed overview, check the {@glink features/page-break Page break feature} documentation.\n */ class PageBreak extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get requires() {\n return [\n PageBreakEditing,\n PageBreakUI,\n Widget\n ];\n }\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'PageBreak';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n}\n\nexport { PageBreak, PageBreakCommand, PageBreakEditing, PageBreakUI };\n//# sourceMappingURL=index.js.map\n","/**\n * @license Copyright (c) 2003-2025, 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 page-break/pagebreakcommand\n */\n\nimport { Command } from 'ckeditor5/src/core.js';\nimport { findOptimalInsertionRange } from 'ckeditor5/src/widget.js';\nimport type { ModelDocumentSelection, ModelElement, Model, ModelSchema } from 'ckeditor5/src/engine.js';\n\n/**\n * The page break command.\n *\n * The command is registered by {@link module:page-break/pagebreakediting~PageBreakEditing} as `'pageBreak'`.\n *\n * To insert a page break at the current selection, execute the command:\n *\n *\t\teditor.execute( 'pageBreak' );\n */\nexport class PageBreakCommand 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\n\t\tthis.isEnabled = isPageBreakAllowedInParent( selection, schema, model );\n\t}\n\n\t/**\n\t * Executes the command.\n\t *\n\t * @fires execute\n\t */\n\tpublic override execute(): void {\n\t\tconst model = this.editor.model;\n\n\t\tmodel.change( writer => {\n\t\t\tconst pageBreakElement = writer.createElement( 'pageBreak' );\n\n\t\t\tmodel.insertObject( pageBreakElement, null, null, {\n\t\t\t\tsetSelection: 'after'\n\t\t\t} );\n\t\t} );\n\t}\n}\n\n/**\n * Checks if a page break is allowed by the schema in the optimal insertion parent.\n */\nfunction isPageBreakAllowedInParent( selection: ModelDocumentSelection, schema: ModelSchema, model: Model ): boolean {\n\tconst parent = getInsertPageBreakParent( selection, model );\n\n\treturn schema.checkChild( parent, 'pageBreak' );\n}\n\n/**\n * Returns a node that will be used to insert a page break with `model.insertContent` to check if the page break can be placed there.\n */\nfunction getInsertPageBreakParent( selection: ModelDocumentSelection, model: Model ): ModelElement {\n\tconst insertionRange = findOptimalInsertionRange( selection, model );\n\tconst parent = insertionRange.start.parent;\n\n\tif ( parent.isEmpty && !parent.is( 'element', '$root' ) ) {\n\t\treturn parent.parent as ModelElement;\n\t}\n\n\treturn parent as ModelElement;\n}\n","/**\n * @license Copyright (c) 2003-2025, 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 page-break/pagebreakediting\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport { toWidget } from 'ckeditor5/src/widget.js';\nimport type { ViewDowncastWriter, ViewElement } from 'ckeditor5/src/engine.js';\n\nimport { PageBreakCommand } from './pagebreakcommand.js';\n\nimport '../theme/pagebreak.css';\n\n/**\n * The page break editing feature.\n */\nexport class PageBreakEditing extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'PageBreakEditing' as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t * @internal\n\t */\n\tpublic static get licenseFeatureCode(): string {\n\t\treturn 'PB';\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\tpublic init(): void {\n\t\tconst editor = this.editor;\n\t\tconst schema = editor.model.schema;\n\t\tconst t = editor.t;\n\t\tconst conversion = editor.conversion;\n\n\t\tschema.register( 'pageBreak', {\n\t\t\tinheritAllFrom: '$blockObject'\n\t\t} );\n\n\t\tconversion.for( 'dataDowncast' ).elementToStructure( {\n\t\t\tmodel: 'pageBreak',\n\t\t\tview: ( modelElement, { writer } ) => {\n\t\t\t\tconst divElement = writer.createContainerElement( 'div',\n\t\t\t\t\t{\n\t\t\t\t\t\tclass: 'page-break',\n\t\t\t\t\t\t// If user has no `.ck-content` styles, it should always break a page during print.\n\t\t\t\t\t\tstyle: 'page-break-after: always'\n\t\t\t\t\t},\n\t\t\t\t\t// For a rationale of using span inside a div see:\n\t\t\t\t\t// https://github.com/ckeditor/ckeditor5-page-break/pull/1#discussion_r328934062.\n\t\t\t\t\twriter.createContainerElement( 'span', {\n\t\t\t\t\t\tstyle: 'display: none'\n\t\t\t\t\t} )\n\t\t\t\t);\n\n\t\t\t\treturn divElement;\n\t\t\t}\n\t\t} );\n\n\t\tconversion.for( 'editingDowncast' ).elementToStructure( {\n\t\t\tmodel: 'pageBreak',\n\t\t\tview: ( modelElement, { writer } ) => {\n\t\t\t\tconst label = t( 'Page break' );\n\t\t\t\tconst viewWrapper = writer.createContainerElement( 'div' );\n\t\t\t\tconst viewLabelElement = writer.createRawElement(\n\t\t\t\t\t'span',\n\t\t\t\t\t{ class: 'page-break__label' },\n\t\t\t\t\tfunction( domElement ) {\n\t\t\t\t\t\tdomElement.innerText = t( 'Page break' );\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\twriter.addClass( 'page-break', viewWrapper );\n\t\t\t\twriter.insert( writer.createPositionAt( viewWrapper, 0 ), viewLabelElement );\n\n\t\t\t\treturn toPageBreakWidget( viewWrapper, writer, label );\n\t\t\t}\n\t\t} );\n\n\t\tconversion.for( 'upcast' )\n\t\t\t.elementToElement( {\n\t\t\t\tview: element => {\n\t\t\t\t\t// For upcast conversion it's enough if we check for element style and verify if it's empty\n\t\t\t\t\t// or contains only hidden span element.\n\n\t\t\t\t\tconst hasPageBreakBefore = element.getStyle( 'page-break-before' ) == 'always';\n\t\t\t\t\tconst hasPageBreakAfter = element.getStyle( 'page-break-after' ) == 'always';\n\n\t\t\t\t\tif ( !hasPageBreakBefore && !hasPageBreakAfter ) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\t// The \"page break\" div accepts only single child or no child at all.\n\t\t\t\t\tif ( element.childCount == 1 ) {\n\t\t\t\t\t\tconst viewSpan = element.getChild( 0 );\n\n\t\t\t\t\t\t// The child must be the \"span\" element that is not displayed.\n\t\t\t\t\t\tif ( !viewSpan!.is( 'element', 'span' ) || viewSpan.getStyle( 'display' ) != 'none' ) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if ( element.childCount > 1 ) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tname: true,\n\n\t\t\t\t\t\tstyles: [\n\t\t\t\t\t\t\t...( hasPageBreakBefore ? [ 'page-break-before' ] : [] ),\n\t\t\t\t\t\t\t...( hasPageBreakAfter ? [ 'page-break-after' ] : [] )\n\t\t\t\t\t\t],\n\n\t\t\t\t\t\t...element.hasClass( 'page-break' ) && {\n\t\t\t\t\t\t\tclasses: [ 'page-break' ]\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\tmodel: 'pageBreak',\n\n\t\t\t\t// This conversion must be checked before <br> conversion because some editors use\n\t\t\t\t// <br style=\"page-break-before:always\"> as a page break marker.\n\t\t\t\tconverterPriority: 'high'\n\t\t\t} );\n\n\t\teditor.commands.add( 'pageBreak', new PageBreakCommand( editor ) );\n\t}\n}\n\n/**\n * Converts a given {@link module:engine/view/element~ViewElement} to a page break widget:\n * * Adds a {@link module:engine/view/element~ViewElement#_setCustomProperty custom property} allowing to\n * recognize the page break widget element.\n * * Calls the {@link module:widget/utils~toWidget} function with the proper element's label creator.\n */\nfunction toPageBreakWidget( viewElement: ViewElement, writer: ViewDowncastWriter, label: string ): ViewElement {\n\twriter.setCustomProperty( 'pageBreak', true, viewElement );\n\n\treturn toWidget( viewElement, writer, { label } );\n}\n","/**\n * @license Copyright (c) 2003-2025, 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 page-break/pagebreakui\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport { IconPageBreak } from 'ckeditor5/src/icons.js';\nimport { ButtonView, MenuBarMenuListItemButtonView } from 'ckeditor5/src/ui.js';\n\n/**\n * The page break UI plugin.\n */\nexport class PageBreakUI extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'PageBreakUI' 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\n\t\t// Add pageBreak button to feature components.\n\t\teditor.ui.componentFactory.add( 'pageBreak', () => {\n\t\t\tconst view = this._createButton( ButtonView );\n\n\t\t\tview.set( {\n\t\t\t\ttooltip: true\n\t\t\t} );\n\n\t\t\treturn view;\n\t\t} );\n\n\t\teditor.ui.componentFactory.add( 'menuBar:pageBreak', () => this._createButton( MenuBarMenuListItemButtonView ) );\n\t}\n\n\t/**\n\t * Creates a button for page break 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 locale = editor.locale;\n\t\tconst command = editor.commands.get( 'pageBreak' )!;\n\t\tconst view = new ButtonClass( editor.locale ) as InstanceType<T>;\n\t\tconst t = locale.t;\n\n\t\tview.set( {\n\t\t\tlabel: t( 'Page break' ),\n\t\t\ticon: IconPageBreak\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( 'pageBreak' );\n\t\t\teditor.editing.view.focus();\n\t\t} );\n\n\t\treturn view;\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2025, 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 page-break/pagebreak\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport { Widget } from 'ckeditor5/src/widget.js';\n\nimport { PageBreakEditing } from './pagebreakediting.js';\nimport { PageBreakUI } from './pagebreakui.js';\n\n/**\n * The page break feature.\n *\n * It provides the possibility to insert a page break into the rich-text editor.\n *\n * For a detailed overview, check the {@glink features/page-break Page break feature} documentation.\n */\nexport class PageBreak extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get requires() {\n\t\treturn [ PageBreakEditing, PageBreakUI, Widget ] as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'PageBreak' 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"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ckeditor/ckeditor5-page-break",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "47.0.0-alpha.0",
|
|
4
4
|
"description": "Page break feature for CKEditor 5.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ckeditor",
|
|
@@ -13,12 +13,12 @@
|
|
|
13
13
|
"type": "module",
|
|
14
14
|
"main": "src/index.js",
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@ckeditor/ckeditor5-core": "
|
|
17
|
-
"@ckeditor/ckeditor5-icons": "
|
|
18
|
-
"@ckeditor/ckeditor5-ui": "
|
|
19
|
-
"@ckeditor/ckeditor5-utils": "
|
|
20
|
-
"@ckeditor/ckeditor5-widget": "
|
|
21
|
-
"ckeditor5": "
|
|
16
|
+
"@ckeditor/ckeditor5-core": "47.0.0-alpha.0",
|
|
17
|
+
"@ckeditor/ckeditor5-icons": "47.0.0-alpha.0",
|
|
18
|
+
"@ckeditor/ckeditor5-ui": "47.0.0-alpha.0",
|
|
19
|
+
"@ckeditor/ckeditor5-utils": "47.0.0-alpha.0",
|
|
20
|
+
"@ckeditor/ckeditor5-widget": "47.0.0-alpha.0",
|
|
21
|
+
"ckeditor5": "47.0.0-alpha.0"
|
|
22
22
|
},
|
|
23
23
|
"author": "CKSource (http://cksource.com/)",
|
|
24
24
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
@@ -15,10 +15,19 @@ export declare class PageBreakEditing extends Plugin {
|
|
|
15
15
|
* @inheritDoc
|
|
16
16
|
*/
|
|
17
17
|
static get pluginName(): "PageBreakEditing";
|
|
18
|
+
/**
|
|
19
|
+
* @inheritDoc
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
static get licenseFeatureCode(): string;
|
|
18
23
|
/**
|
|
19
24
|
* @inheritDoc
|
|
20
25
|
*/
|
|
21
26
|
static get isOfficialPlugin(): true;
|
|
27
|
+
/**
|
|
28
|
+
* @inheritDoc
|
|
29
|
+
*/
|
|
30
|
+
static get isPremiumPlugin(): true;
|
|
22
31
|
/**
|
|
23
32
|
* @inheritDoc
|
|
24
33
|
*/
|
package/src/pagebreakediting.js
CHANGED
|
@@ -19,12 +19,25 @@ export class PageBreakEditing extends Plugin {
|
|
|
19
19
|
static get pluginName() {
|
|
20
20
|
return 'PageBreakEditing';
|
|
21
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* @inheritDoc
|
|
24
|
+
* @internal
|
|
25
|
+
*/
|
|
26
|
+
static get licenseFeatureCode() {
|
|
27
|
+
return 'PB';
|
|
28
|
+
}
|
|
22
29
|
/**
|
|
23
30
|
* @inheritDoc
|
|
24
31
|
*/
|
|
25
32
|
static get isOfficialPlugin() {
|
|
26
33
|
return true;
|
|
27
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* @inheritDoc
|
|
37
|
+
*/
|
|
38
|
+
static get isPremiumPlugin() {
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
28
41
|
/**
|
|
29
42
|
* @inheritDoc
|
|
30
43
|
*/
|