@ckeditor/ckeditor5-page-break 0.0.0-nightly-20260109.0 → 0.0.0-nightly-next-20260109.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.
Files changed (88) hide show
  1. package/ckeditor5-metadata.json +1 -1
  2. package/{src → dist}/augmentation.d.ts +4 -0
  3. package/{src → dist}/index.d.ts +4 -0
  4. package/dist/index.js.map +1 -1
  5. package/{src → dist}/pagebreak.d.ts +6 -2
  6. package/{src → dist}/pagebreakcommand.d.ts +5 -1
  7. package/{src → dist}/pagebreakediting.d.ts +5 -1
  8. package/{src → dist}/pagebreakui.d.ts +5 -1
  9. package/package.json +23 -33
  10. package/build/page-break.js +0 -5
  11. package/build/translations/af.js +0 -1
  12. package/build/translations/ar.js +0 -1
  13. package/build/translations/ast.js +0 -1
  14. package/build/translations/az.js +0 -1
  15. package/build/translations/be.js +0 -1
  16. package/build/translations/bg.js +0 -1
  17. package/build/translations/bn.js +0 -1
  18. package/build/translations/bs.js +0 -1
  19. package/build/translations/ca.js +0 -1
  20. package/build/translations/cs.js +0 -1
  21. package/build/translations/da.js +0 -1
  22. package/build/translations/de-ch.js +0 -1
  23. package/build/translations/de.js +0 -1
  24. package/build/translations/el.js +0 -1
  25. package/build/translations/en-au.js +0 -1
  26. package/build/translations/en-gb.js +0 -1
  27. package/build/translations/eo.js +0 -1
  28. package/build/translations/es-co.js +0 -1
  29. package/build/translations/es.js +0 -1
  30. package/build/translations/et.js +0 -1
  31. package/build/translations/eu.js +0 -1
  32. package/build/translations/fa.js +0 -1
  33. package/build/translations/fi.js +0 -1
  34. package/build/translations/fr.js +0 -1
  35. package/build/translations/gl.js +0 -1
  36. package/build/translations/gu.js +0 -1
  37. package/build/translations/he.js +0 -1
  38. package/build/translations/hi.js +0 -1
  39. package/build/translations/hr.js +0 -1
  40. package/build/translations/hu.js +0 -1
  41. package/build/translations/hy.js +0 -1
  42. package/build/translations/id.js +0 -1
  43. package/build/translations/it.js +0 -1
  44. package/build/translations/ja.js +0 -1
  45. package/build/translations/jv.js +0 -1
  46. package/build/translations/kk.js +0 -1
  47. package/build/translations/km.js +0 -1
  48. package/build/translations/kn.js +0 -1
  49. package/build/translations/ko.js +0 -1
  50. package/build/translations/ku.js +0 -1
  51. package/build/translations/lt.js +0 -1
  52. package/build/translations/lv.js +0 -1
  53. package/build/translations/ms.js +0 -1
  54. package/build/translations/nb.js +0 -1
  55. package/build/translations/ne.js +0 -1
  56. package/build/translations/nl.js +0 -1
  57. package/build/translations/no.js +0 -1
  58. package/build/translations/oc.js +0 -1
  59. package/build/translations/pl.js +0 -1
  60. package/build/translations/pt-br.js +0 -1
  61. package/build/translations/pt.js +0 -1
  62. package/build/translations/ro.js +0 -1
  63. package/build/translations/ru.js +0 -1
  64. package/build/translations/si.js +0 -1
  65. package/build/translations/sk.js +0 -1
  66. package/build/translations/sl.js +0 -1
  67. package/build/translations/sq.js +0 -1
  68. package/build/translations/sr-latn.js +0 -1
  69. package/build/translations/sr.js +0 -1
  70. package/build/translations/sv.js +0 -1
  71. package/build/translations/th.js +0 -1
  72. package/build/translations/ti.js +0 -1
  73. package/build/translations/tk.js +0 -1
  74. package/build/translations/tr.js +0 -1
  75. package/build/translations/tt.js +0 -1
  76. package/build/translations/ug.js +0 -1
  77. package/build/translations/uk.js +0 -1
  78. package/build/translations/ur.js +0 -1
  79. package/build/translations/uz.js +0 -1
  80. package/build/translations/vi.js +0 -1
  81. package/build/translations/zh-cn.js +0 -1
  82. package/build/translations/zh.js +0 -1
  83. package/src/augmentation.js +0 -5
  84. package/src/index.js +0 -12
  85. package/src/pagebreak.js +0 -38
  86. package/src/pagebreakcommand.js +0 -61
  87. package/src/pagebreakediting.js +0 -130
  88. package/src/pagebreakui.js +0 -63
@@ -5,7 +5,7 @@
5
5
  "className": "PageBreak",
6
6
  "description": "Allows for inserting a page break into the rich-text editor so you can structure your content better for print.",
7
7
  "docs": "features/page-break.html",
8
- "path": "src/pagebreak.js",
8
+ "path": "src/pagebreak.ts",
9
9
  "uiComponents": [
10
10
  {
11
11
  "type": "Button",
@@ -1,3 +1,7 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
1
5
  /**
2
6
  * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
7
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
@@ -1,3 +1,7 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
1
5
  /**
2
6
  * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
7
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
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","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-2026, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module 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-2026, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module 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-2026, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module 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-2026, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module 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-2026, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module page-break/pagebreakcommand\n */\n\nimport { Command } from '@ckeditor/ckeditor5-core';\nimport { findOptimalInsertionRange } from '@ckeditor/ckeditor5-widget';\nimport type { ModelDocumentSelection, ModelElement, Model, ModelSchema } from '@ckeditor/ckeditor5-engine';\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-2026, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module page-break/pagebreakediting\n */\n\nimport { Plugin } from '@ckeditor/ckeditor5-core';\nimport { toWidget } from '@ckeditor/ckeditor5-widget';\nimport type { ViewDowncastWriter, ViewElement } from '@ckeditor/ckeditor5-engine';\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-2026, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module page-break/pagebreakui\n */\n\nimport { Plugin } from '@ckeditor/ckeditor5-core';\nimport { IconPageBreak } from '@ckeditor/ckeditor5-icons';\nimport { ButtonView, MenuBarMenuListItemButtonView } from '@ckeditor/ckeditor5-ui';\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-2026, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module page-break/pagebreak\n */\n\nimport { Plugin } from '@ckeditor/ckeditor5-core';\nimport { Widget } from '@ckeditor/ckeditor5-widget';\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,3 +1,7 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
1
5
  /**
2
6
  * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
7
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
@@ -5,8 +9,8 @@
5
9
  /**
6
10
  * @module page-break/pagebreak
7
11
  */
8
- import { Plugin } from 'ckeditor5/src/core.js';
9
- import { Widget } from 'ckeditor5/src/widget.js';
12
+ import { Plugin } from '@ckeditor/ckeditor5-core';
13
+ import { Widget } from '@ckeditor/ckeditor5-widget';
10
14
  import { PageBreakEditing } from './pagebreakediting.js';
11
15
  import { PageBreakUI } from './pagebreakui.js';
12
16
  /**
@@ -1,3 +1,7 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
1
5
  /**
2
6
  * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
7
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
@@ -5,7 +9,7 @@
5
9
  /**
6
10
  * @module page-break/pagebreakcommand
7
11
  */
8
- import { Command } from 'ckeditor5/src/core.js';
12
+ import { Command } from '@ckeditor/ckeditor5-core';
9
13
  /**
10
14
  * The page break command.
11
15
  *
@@ -1,3 +1,7 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
1
5
  /**
2
6
  * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
7
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
@@ -5,7 +9,7 @@
5
9
  /**
6
10
  * @module page-break/pagebreakediting
7
11
  */
8
- import { Plugin } from 'ckeditor5/src/core.js';
12
+ import { Plugin } from '@ckeditor/ckeditor5-core';
9
13
  import '../theme/pagebreak.css';
10
14
  /**
11
15
  * The page break editing feature.
@@ -1,3 +1,7 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
1
5
  /**
2
6
  * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
7
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
@@ -5,7 +9,7 @@
5
9
  /**
6
10
  * @module page-break/pagebreakui
7
11
  */
8
- import { Plugin } from 'ckeditor5/src/core.js';
12
+ import { Plugin } from '@ckeditor/ckeditor5-core';
9
13
  /**
10
14
  * The page break UI plugin.
11
15
  */
package/package.json CHANGED
@@ -1,62 +1,52 @@
1
1
  {
2
2
  "name": "@ckeditor/ckeditor5-page-break",
3
- "version": "0.0.0-nightly-20260109.0",
3
+ "version": "0.0.0-nightly-next-20260109.0",
4
4
  "description": "Page break feature for CKEditor 5.",
5
+ "license": "SEE LICENSE IN LICENSE.md",
6
+ "author": "CKSource (http://cksource.com/)",
7
+ "homepage": "https://ckeditor.com/ckeditor-5",
8
+ "bugs": "https://github.com/ckeditor/ckeditor5/issues",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "https://github.com/ckeditor/ckeditor5.git",
12
+ "directory": "packages/ckeditor5-page-break"
13
+ },
5
14
  "keywords": [
6
15
  "ckeditor",
7
16
  "ckeditor5",
8
17
  "ckeditor 5",
9
18
  "ckeditor5-feature",
10
- "ckeditor5-plugin",
11
- "ckeditor5-dll"
19
+ "ckeditor5-plugin"
12
20
  ],
13
21
  "type": "module",
14
- "main": "src/index.js",
22
+ "main": "dist/index.js",
15
23
  "dependencies": {
16
- "@ckeditor/ckeditor5-core": "0.0.0-nightly-20260109.0",
17
- "@ckeditor/ckeditor5-icons": "0.0.0-nightly-20260109.0",
18
- "@ckeditor/ckeditor5-ui": "0.0.0-nightly-20260109.0",
19
- "@ckeditor/ckeditor5-utils": "0.0.0-nightly-20260109.0",
20
- "@ckeditor/ckeditor5-widget": "0.0.0-nightly-20260109.0",
21
- "ckeditor5": "0.0.0-nightly-20260109.0"
22
- },
23
- "author": "CKSource (http://cksource.com/)",
24
- "license": "SEE LICENSE IN LICENSE.md",
25
- "homepage": "https://ckeditor.com/ckeditor-5",
26
- "bugs": "https://github.com/ckeditor/ckeditor5/issues",
27
- "repository": {
28
- "type": "git",
29
- "url": "https://github.com/ckeditor/ckeditor5.git",
30
- "directory": "packages/ckeditor5-page-break"
24
+ "@ckeditor/ckeditor5-core": "0.0.0-nightly-next-20260109.0",
25
+ "@ckeditor/ckeditor5-engine": "0.0.0-nightly-next-20260109.0",
26
+ "@ckeditor/ckeditor5-icons": "0.0.0-nightly-next-20260109.0",
27
+ "@ckeditor/ckeditor5-ui": "0.0.0-nightly-next-20260109.0",
28
+ "@ckeditor/ckeditor5-utils": "0.0.0-nightly-next-20260109.0",
29
+ "@ckeditor/ckeditor5-widget": "0.0.0-nightly-next-20260109.0"
31
30
  },
32
31
  "files": [
33
32
  "dist",
34
33
  "lang",
35
- "src/**/*.js",
36
- "src/**/*.d.ts",
37
34
  "theme",
38
- "build",
39
35
  "ckeditor5-metadata.json",
40
36
  "CHANGELOG.md"
41
37
  ],
42
- "types": "src/index.d.ts",
38
+ "types": "dist/index.d.ts",
43
39
  "exports": {
44
40
  ".": {
45
- "types": "./src/index.d.ts",
46
- "import": "./src/index.js",
47
- "default": "./src/index.js"
41
+ "types": "./dist/index.d.ts",
42
+ "import": "./dist/index.js",
43
+ "default": "./dist/index.js"
48
44
  },
49
45
  "./dist/*": {
50
- "types": "./src/index.d.ts",
46
+ "types": "./dist/index.d.ts",
51
47
  "import": "./dist/*",
52
48
  "default": "./dist/*"
53
49
  },
54
- "./src/*": {
55
- "types": "./src/*.d.ts",
56
- "import": "./src/*",
57
- "default": "./src/*"
58
- },
59
- "./build/*": "./build/*",
60
50
  "./lang/*": "./lang/*",
61
51
  "./theme/*": "./theme/*",
62
52
  "./ckeditor5-metadata.json": "./ckeditor5-metadata.json",
@@ -1,5 +0,0 @@
1
- !function(e){const t=e.en=e.en||{};t.dictionary=Object.assign(t.dictionary||{},{"Page break":"Page break"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),
2
- /*!
3
- * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
4
- * For licensing, see LICENSE.md.
5
- */(()=>{var e={163:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},237:e=>{"use strict";e.exports=CKEditor5.dll},305: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")},355:(e,t,r)=>{e.exports=r(237)("./src/icons.js")},424: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)}},517:e=>{"use strict";e.exports=function(e,t){Object.keys(t).forEach(function(r){e.setAttribute(r,t[r])})}},719: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}}},782:(e,t,r)=>{e.exports=r(237)("./src/core.js")},792:e=>{"use strict";e.exports=function(e){return e[1]}},863: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)}}}},901:(e,t,r)=>{e.exports=r(237)("./src/widget.js")},965:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});var n=r(792),a=r.n(n),o=r(305),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}},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(719),i=r.n(o),s=r(863),c=r.n(s),l=r(424),u=r.n(l),d=r(517),p=r.n(d),g=r(163),f=r.n(g),m=r(965),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})();
@@ -1 +0,0 @@
1
- !function(i){const n=i.af=i.af||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.ar=i.ar||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":"فاصل صفحات"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.ast=i.ast||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const a=i.az=i.az||{};a.dictionary=Object.assign(a.dictionary||{},{"Page break":"Səhifə qırılması"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.be=i.be||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":"Разрыв старонкі"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.bg=i.bg||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":"Край на страница"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(n){const i=n.bn=n.bn||{};i.dictionary=Object.assign(i.dictionary||{},{"Page break":"পৃষ্ঠা বিরতি"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.bs=i.bs||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(a){const i=a.ca=a.ca||{};i.dictionary=Object.assign(i.dictionary||{},{"Page break":"Salt de pàgina"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(n){const c=n.cs=n.cs||{};c.dictionary=Object.assign(c.dictionary||{},{"Page break":"Konec stránky"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.da=i.da||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":"Sideskift"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i["de-ch"]=i["de-ch"]||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":"Seitenumbruch"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.de=i.de||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":"Seitenumbruch"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.el=i.el||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":"Αλλαγή σελίδας"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(n){const a=n["en-au"]=n["en-au"]||{};a.dictionary=Object.assign(a.dictionary||{},{"Page break":"Page break"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(n){const i=n["en-gb"]=n["en-gb"]||{};i.dictionary=Object.assign(i.dictionary||{},{"Page break":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.eo=i.eo||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i["es-co"]=i["es-co"]||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.es=i.es||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":"Salto de página"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(e){const i=e.et=e.et||{};i.dictionary=Object.assign(i.dictionary||{},{"Page break":"Lehekülje murdmine"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.eu=i.eu||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.fa=i.fa||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":"برش صفحه"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.fi=i.fi||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":"Sivuväli"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.fr=i.fr||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":"Séparation de page"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.gl=i.gl||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":"Salto de páxina"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.gu=i.gu||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.he=i.he||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":"מעבר עמוד"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.hi=i.hi||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":"Page break"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.hr=i.hr||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":"Prijelom stranice"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.hu=i.hu||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":"Oldaltörés"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.hy=i.hy||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.id=i.id||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":"Henti halaman"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.it=i.it||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":"Interruzione di pagina"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.ja=i.ja||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":"改ページ"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.jv=i.jv||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.kk=i.kk||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.km=i.km||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(n){const i=n.kn=n.kn||{};i.dictionary=Object.assign(i.dictionary||{},{"Page break":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.ko=i.ko||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":"페이지 나누기"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.ku=i.ku||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":"کۆتایهێنانی پەڕە"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.lt=i.lt||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":"Puslapio lūžis"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.lv=i.lv||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":"Lappuses pārtraukums"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(a){const i=a.ms=a.ms||{};i.dictionary=Object.assign(i.dictionary||{},{"Page break":"Pemisah halaman"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(n){const i=n.nb=n.nb||{};i.dictionary=Object.assign(i.dictionary||{},{"Page break":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(n){const i=n.ne=n.ne||{};i.dictionary=Object.assign(i.dictionary||{},{"Page break":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(n){const i=n.nl=n.nl||{};i.dictionary=Object.assign(i.dictionary||{},{"Page break":"Pagina einde"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.no=i.no||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":"Sideskift "})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.oc=i.oc||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.pl=i.pl||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":"Podział strony"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i["pt-br"]=i["pt-br"]||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":"Quebra de página"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.pt=i.pt||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":"Quebra de página"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(n){const i=n.ro=n.ro||{};i.dictionary=Object.assign(i.dictionary||{},{"Page break":"Întrerupere de pagină"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.ru=i.ru||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":"Разрыв страницы"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.si=i.si||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(n){const i=n.sk=n.sk||{};i.dictionary=Object.assign(i.dictionary||{},{"Page break":"Zalomenie strany"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.sl=i.sl||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.sq=i.sq||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":"Ndarës faqeje"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(n){const i=n["sr-latn"]=n["sr-latn"]||{};i.dictionary=Object.assign(i.dictionary||{},{"Page break":"Prelom stranice"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.sr=i.sr||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":"Прелом странице"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.sv=i.sv||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":"Sidbrytning"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.th=i.th||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":"ตัวแบ่งหน้า"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.ti=i.ti||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(a){const i=a.tk=a.tk||{};i.dictionary=Object.assign(i.dictionary||{},{"Page break":"Sahypa arakesmesi"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(n){const i=n.tr=n.tr||{};i.dictionary=Object.assign(i.dictionary||{},{"Page break":"Sayfa sonu"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(t){const i=t.tt=t.tt||{};i.dictionary=Object.assign(i.dictionary||{},{"Page break":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.ug=i.ug||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":"بەت ئايرىش بەلگىسى"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.uk=i.uk||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":"Розрив cторінки"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.ur=i.ur||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":"صفحہ کی حد"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const a=i.uz=i.uz||{};a.dictionary=Object.assign(a.dictionary||{},{"Page break":"Sahifalar uzilishi"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.vi=i.vi||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":"Ngắt trang"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(n){const i=n["zh-cn"]=n["zh-cn"]||{};i.dictionary=Object.assign(i.dictionary||{},{"Page break":"分页符"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1 +0,0 @@
1
- !function(i){const n=i.zh=i.zh||{};n.dictionary=Object.assign(n.dictionary||{},{"Page break":"換頁"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
@@ -1,5 +0,0 @@
1
- /**
2
- * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
- */
5
- export {};
package/src/index.js DELETED
@@ -1,12 +0,0 @@
1
- /**
2
- * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
- */
5
- /**
6
- * @module page-break
7
- */
8
- export { PageBreak } from './pagebreak.js';
9
- export { PageBreakEditing } from './pagebreakediting.js';
10
- export { PageBreakUI } from './pagebreakui.js';
11
- export { PageBreakCommand } from './pagebreakcommand.js';
12
- import './augmentation.js';
package/src/pagebreak.js DELETED
@@ -1,38 +0,0 @@
1
- /**
2
- * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
- */
5
- /**
6
- * @module page-break/pagebreak
7
- */
8
- import { Plugin } from 'ckeditor5/src/core.js';
9
- import { Widget } from 'ckeditor5/src/widget.js';
10
- import { PageBreakEditing } from './pagebreakediting.js';
11
- import { PageBreakUI } from './pagebreakui.js';
12
- /**
13
- * The page break feature.
14
- *
15
- * It provides the possibility to insert a page break into the rich-text editor.
16
- *
17
- * For a detailed overview, check the {@glink features/page-break Page break feature} documentation.
18
- */
19
- export class PageBreak extends Plugin {
20
- /**
21
- * @inheritDoc
22
- */
23
- static get requires() {
24
- return [PageBreakEditing, PageBreakUI, Widget];
25
- }
26
- /**
27
- * @inheritDoc
28
- */
29
- static get pluginName() {
30
- return 'PageBreak';
31
- }
32
- /**
33
- * @inheritDoc
34
- */
35
- static get isOfficialPlugin() {
36
- return true;
37
- }
38
- }
@@ -1,61 +0,0 @@
1
- /**
2
- * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
- */
5
- /**
6
- * @module page-break/pagebreakcommand
7
- */
8
- import { Command } from 'ckeditor5/src/core.js';
9
- import { findOptimalInsertionRange } from 'ckeditor5/src/widget.js';
10
- /**
11
- * The page break command.
12
- *
13
- * The command is registered by {@link module:page-break/pagebreakediting~PageBreakEditing} as `'pageBreak'`.
14
- *
15
- * To insert a page break at the current selection, execute the command:
16
- *
17
- * editor.execute( 'pageBreak' );
18
- */
19
- export class PageBreakCommand extends Command {
20
- /**
21
- * @inheritDoc
22
- */
23
- refresh() {
24
- const model = this.editor.model;
25
- const schema = model.schema;
26
- const selection = model.document.selection;
27
- this.isEnabled = isPageBreakAllowedInParent(selection, schema, model);
28
- }
29
- /**
30
- * Executes the command.
31
- *
32
- * @fires execute
33
- */
34
- execute() {
35
- const model = this.editor.model;
36
- model.change(writer => {
37
- const pageBreakElement = writer.createElement('pageBreak');
38
- model.insertObject(pageBreakElement, null, null, {
39
- setSelection: 'after'
40
- });
41
- });
42
- }
43
- }
44
- /**
45
- * Checks if a page break is allowed by the schema in the optimal insertion parent.
46
- */
47
- function isPageBreakAllowedInParent(selection, schema, model) {
48
- const parent = getInsertPageBreakParent(selection, model);
49
- return schema.checkChild(parent, 'pageBreak');
50
- }
51
- /**
52
- * 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.
53
- */
54
- function getInsertPageBreakParent(selection, model) {
55
- const insertionRange = findOptimalInsertionRange(selection, model);
56
- const parent = insertionRange.start.parent;
57
- if (parent.isEmpty && !parent.is('element', '$root')) {
58
- return parent.parent;
59
- }
60
- return parent;
61
- }
@@ -1,130 +0,0 @@
1
- /**
2
- * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
- */
5
- /**
6
- * @module page-break/pagebreakediting
7
- */
8
- import { Plugin } from 'ckeditor5/src/core.js';
9
- import { toWidget } from 'ckeditor5/src/widget.js';
10
- import { PageBreakCommand } from './pagebreakcommand.js';
11
- import '../theme/pagebreak.css';
12
- /**
13
- * The page break editing feature.
14
- */
15
- export class PageBreakEditing extends Plugin {
16
- /**
17
- * @inheritDoc
18
- */
19
- static get pluginName() {
20
- return 'PageBreakEditing';
21
- }
22
- /**
23
- * @inheritDoc
24
- * @internal
25
- */
26
- static get licenseFeatureCode() {
27
- return 'PB';
28
- }
29
- /**
30
- * @inheritDoc
31
- */
32
- static get isOfficialPlugin() {
33
- return true;
34
- }
35
- /**
36
- * @inheritDoc
37
- */
38
- static get isPremiumPlugin() {
39
- return true;
40
- }
41
- /**
42
- * @inheritDoc
43
- */
44
- init() {
45
- const editor = this.editor;
46
- const schema = editor.model.schema;
47
- const t = editor.t;
48
- const conversion = editor.conversion;
49
- schema.register('pageBreak', {
50
- inheritAllFrom: '$blockObject'
51
- });
52
- conversion.for('dataDowncast').elementToStructure({
53
- model: 'pageBreak',
54
- view: (modelElement, { writer }) => {
55
- const divElement = writer.createContainerElement('div', {
56
- class: 'page-break',
57
- // If user has no `.ck-content` styles, it should always break a page during print.
58
- style: 'page-break-after: always'
59
- },
60
- // For a rationale of using span inside a div see:
61
- // https://github.com/ckeditor/ckeditor5-page-break/pull/1#discussion_r328934062.
62
- writer.createContainerElement('span', {
63
- style: 'display: none'
64
- }));
65
- return divElement;
66
- }
67
- });
68
- conversion.for('editingDowncast').elementToStructure({
69
- model: 'pageBreak',
70
- view: (modelElement, { writer }) => {
71
- const label = t('Page break');
72
- const viewWrapper = writer.createContainerElement('div');
73
- const viewLabelElement = writer.createRawElement('span', { class: 'page-break__label' }, function (domElement) {
74
- domElement.innerText = t('Page break');
75
- });
76
- writer.addClass('page-break', viewWrapper);
77
- writer.insert(writer.createPositionAt(viewWrapper, 0), viewLabelElement);
78
- return toPageBreakWidget(viewWrapper, writer, label);
79
- }
80
- });
81
- conversion.for('upcast')
82
- .elementToElement({
83
- view: element => {
84
- // For upcast conversion it's enough if we check for element style and verify if it's empty
85
- // or contains only hidden span element.
86
- const hasPageBreakBefore = element.getStyle('page-break-before') == 'always';
87
- const hasPageBreakAfter = element.getStyle('page-break-after') == 'always';
88
- if (!hasPageBreakBefore && !hasPageBreakAfter) {
89
- return null;
90
- }
91
- // The "page break" div accepts only single child or no child at all.
92
- if (element.childCount == 1) {
93
- const viewSpan = element.getChild(0);
94
- // The child must be the "span" element that is not displayed.
95
- if (!viewSpan.is('element', 'span') || viewSpan.getStyle('display') != 'none') {
96
- return null;
97
- }
98
- }
99
- else if (element.childCount > 1) {
100
- return null;
101
- }
102
- return {
103
- name: true,
104
- styles: [
105
- ...(hasPageBreakBefore ? ['page-break-before'] : []),
106
- ...(hasPageBreakAfter ? ['page-break-after'] : [])
107
- ],
108
- ...element.hasClass('page-break') && {
109
- classes: ['page-break']
110
- }
111
- };
112
- },
113
- model: 'pageBreak',
114
- // This conversion must be checked before <br> conversion because some editors use
115
- // <br style="page-break-before:always"> as a page break marker.
116
- converterPriority: 'high'
117
- });
118
- editor.commands.add('pageBreak', new PageBreakCommand(editor));
119
- }
120
- }
121
- /**
122
- * Converts a given {@link module:engine/view/element~ViewElement} to a page break widget:
123
- * * Adds a {@link module:engine/view/element~ViewElement#_setCustomProperty custom property} allowing to
124
- * recognize the page break widget element.
125
- * * Calls the {@link module:widget/utils~toWidget} function with the proper element's label creator.
126
- */
127
- function toPageBreakWidget(viewElement, writer, label) {
128
- writer.setCustomProperty('pageBreak', true, viewElement);
129
- return toWidget(viewElement, writer, { label });
130
- }
@@ -1,63 +0,0 @@
1
- /**
2
- * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
- */
5
- /**
6
- * @module page-break/pagebreakui
7
- */
8
- import { Plugin } from 'ckeditor5/src/core.js';
9
- import { IconPageBreak } from 'ckeditor5/src/icons.js';
10
- import { ButtonView, MenuBarMenuListItemButtonView } from 'ckeditor5/src/ui.js';
11
- /**
12
- * The page break UI plugin.
13
- */
14
- export class PageBreakUI extends Plugin {
15
- /**
16
- * @inheritDoc
17
- */
18
- static get pluginName() {
19
- return 'PageBreakUI';
20
- }
21
- /**
22
- * @inheritDoc
23
- */
24
- static get isOfficialPlugin() {
25
- return true;
26
- }
27
- /**
28
- * @inheritDoc
29
- */
30
- init() {
31
- const editor = this.editor;
32
- // Add pageBreak button to feature components.
33
- editor.ui.componentFactory.add('pageBreak', () => {
34
- const view = this._createButton(ButtonView);
35
- view.set({
36
- tooltip: true
37
- });
38
- return view;
39
- });
40
- editor.ui.componentFactory.add('menuBar:pageBreak', () => this._createButton(MenuBarMenuListItemButtonView));
41
- }
42
- /**
43
- * Creates a button for page break command to use either in toolbar or in menu bar.
44
- */
45
- _createButton(ButtonClass) {
46
- const editor = this.editor;
47
- const locale = editor.locale;
48
- const command = editor.commands.get('pageBreak');
49
- const view = new ButtonClass(editor.locale);
50
- const t = locale.t;
51
- view.set({
52
- label: t('Page break'),
53
- icon: IconPageBreak
54
- });
55
- view.bind('isEnabled').to(command, 'isEnabled');
56
- // Execute the command.
57
- this.listenTo(view, 'execute', () => {
58
- editor.execute('pageBreak');
59
- editor.editing.view.focus();
60
- });
61
- return view;
62
- }
63
- }