@ckeditor/ckeditor5-horizontal-line 41.4.2 → 42.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/README.md CHANGED
@@ -15,6 +15,12 @@ Check out the demo in the [horizontal line feature guide](https://ckeditor.com/d
15
15
 
16
16
  See the [`@ckeditor/ckeditor5-horizontal-line` package](https://ckeditor.com/docs/ckeditor5/latest/api/horizontal-line.html) page as well as the [horizontal line feature](https://ckeditor.com/docs/ckeditor5/latest/features/horizontal-line.html) guide in the [CKEditor 5 documentation](https://ckeditor.com/docs/ckeditor5/latest/).
17
17
 
18
+ ## Installation
19
+
20
+ ```bash
21
+ npm install ckeditor5
22
+ ```
23
+
18
24
  ## License
19
25
 
20
26
  Licensed under the terms of [GNU General Public License Version 2 or later](http://www.gnu.org/licenses/gpl.html). For full details about the license, please check the `LICENSE.md` file or [https://ckeditor.com/legal/ckeditor-oss-license](https://ckeditor.com/legal/ckeditor-oss-license).
package/dist/index.js CHANGED
@@ -6,20 +6,30 @@ import { Command, Plugin, icons } from '@ckeditor/ckeditor5-core/dist/index.js';
6
6
  import { findOptimalInsertionRange, toWidget, Widget } from '@ckeditor/ckeditor5-widget/dist/index.js';
7
7
  import { ButtonView, MenuBarMenuListItemButtonView } from '@ckeditor/ckeditor5-ui/dist/index.js';
8
8
 
9
- class HorizontalLineCommand extends Command {
9
+ /**
10
+ * The horizontal line command.
11
+ *
12
+ * The command is registered by {@link module:horizontal-line/horizontallineediting~HorizontalLineEditing} as `'horizontalLine'`.
13
+ *
14
+ * To insert a horizontal line at the current selection, execute the command:
15
+ *
16
+ * ```ts
17
+ * editor.execute( 'horizontalLine' );
18
+ * ```
19
+ */ class HorizontalLineCommand extends Command {
10
20
  /**
11
- * @inheritDoc
12
- */ refresh() {
21
+ * @inheritDoc
22
+ */ refresh() {
13
23
  const model = this.editor.model;
14
24
  const schema = model.schema;
15
25
  const selection = model.document.selection;
16
26
  this.isEnabled = isHorizontalLineAllowedInParent(selection, schema, model);
17
27
  }
18
28
  /**
19
- * Executes the command.
20
- *
21
- * @fires execute
22
- */ execute() {
29
+ * Executes the command.
30
+ *
31
+ * @fires execute
32
+ */ execute() {
23
33
  const model = this.editor.model;
24
34
  model.change((writer)=>{
25
35
  const horizontalElement = writer.createElement('horizontalLine');
@@ -51,15 +61,17 @@ class HorizontalLineCommand extends Command {
51
61
  return parent;
52
62
  }
53
63
 
54
- class HorizontalLineEditing extends Plugin {
64
+ /**
65
+ * The horizontal line editing feature.
66
+ */ class HorizontalLineEditing extends Plugin {
55
67
  /**
56
- * @inheritDoc
57
- */ static get pluginName() {
68
+ * @inheritDoc
69
+ */ static get pluginName() {
58
70
  return 'HorizontalLineEditing';
59
71
  }
60
72
  /**
61
- * @inheritDoc
62
- */ init() {
73
+ * @inheritDoc
74
+ */ init() {
63
75
  const editor = this.editor;
64
76
  const schema = editor.model.schema;
65
77
  const t = editor.t;
@@ -104,15 +116,17 @@ class HorizontalLineEditing extends Plugin {
104
116
  });
105
117
  }
106
118
 
107
- class HorizontalLineUI extends Plugin {
119
+ /**
120
+ * The horizontal line UI plugin.
121
+ */ class HorizontalLineUI extends Plugin {
108
122
  /**
109
- * @inheritDoc
110
- */ static get pluginName() {
123
+ * @inheritDoc
124
+ */ static get pluginName() {
111
125
  return 'HorizontalLineUI';
112
126
  }
113
127
  /**
114
- * @inheritDoc
115
- */ init() {
128
+ * @inheritDoc
129
+ */ init() {
116
130
  const editor = this.editor;
117
131
  // Add the `horizontalLine` button to feature components.
118
132
  editor.ui.componentFactory.add('horizontalLine', ()=>{
@@ -127,8 +141,8 @@ class HorizontalLineUI extends Plugin {
127
141
  });
128
142
  }
129
143
  /**
130
- * Creates a button for horizontal line command to use either in toolbar or in menu bar.
131
- */ _createButton(ButtonClass) {
144
+ * Creates a button for horizontal line command to use either in toolbar or in menu bar.
145
+ */ _createButton(ButtonClass) {
132
146
  const editor = this.editor;
133
147
  const locale = editor.locale;
134
148
  const command = editor.commands.get('horizontalLine');
@@ -148,10 +162,16 @@ class HorizontalLineUI extends Plugin {
148
162
  }
149
163
  }
150
164
 
151
- class HorizontalLine extends Plugin {
165
+ /**
166
+ * The horizontal line feature.
167
+ *
168
+ * It provides the possibility to insert a horizontal line into the rich-text editor.
169
+ *
170
+ * For a detailed overview, check the {@glink features/horizontal-line Horizontal line feature} documentation.
171
+ */ class HorizontalLine extends Plugin {
152
172
  /**
153
- * @inheritDoc
154
- */ static get requires() {
173
+ * @inheritDoc
174
+ */ static get requires() {
155
175
  return [
156
176
  HorizontalLineEditing,
157
177
  HorizontalLineUI,
@@ -159,8 +179,8 @@ class HorizontalLine extends Plugin {
159
179
  ];
160
180
  }
161
181
  /**
162
- * @inheritDoc
163
- */ static get pluginName() {
182
+ * @inheritDoc
183
+ */ static get pluginName() {
164
184
  return 'HorizontalLine';
165
185
  }
166
186
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["index.js","../src/horizontallinecommand.ts","../src/horizontallineediting.ts","../src/horizontallineui.ts","../src/horizontalline.ts"],"names":["HorizontalLineCommand","Command","refresh","model","editor","schema","selection","document","isEnabled","isHorizontalLineAllowedInParent","execute","change","writer","horizontalElement","createElement","insertObject","setSelection","parent","getInsertHorizontalLineParent","checkChild","insertionRange","findOptimalInsertionRange","start","isEmpty","is","HorizontalLineEditing","Plugin","pluginName","init","t","conversion","register","inheritAllFrom","for","elementToElement","view","modelElement","createEmptyElement","elementToStructure","label","viewWrapper","createContainerElement","addClass","setCustomProperty","toHorizontalLineWidget","commands","add","viewElement","toWidget","HorizontalLineUI","ui","componentFactory","buttonView","_createButton","ButtonView","set","tooltip","MenuBarMenuListItemButtonView","ButtonClass","locale","command","get","icon","icons","horizontalLine","bind","to","listenTo","editing","focus","HorizontalLine","requires","Widget"],"mappings":"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","file":"index.js.map","sourcesContent":["import { Command, Plugin, icons } from '@ckeditor/ckeditor5-core/dist/index.js';\nimport { findOptimalInsertionRange, toWidget, Widget } from '@ckeditor/ckeditor5-widget/dist/index.js';\nimport { ButtonView, MenuBarMenuListItemButtonView } from '@ckeditor/ckeditor5-ui/dist/index.js';\n\nclass HorizontalLineCommand extends Command {\n /**\n * @inheritDoc\n */ refresh() {\n const model = this.editor.model;\n const schema = model.schema;\n const selection = model.document.selection;\n this.isEnabled = isHorizontalLineAllowedInParent(selection, schema, model);\n }\n /**\n * Executes the command.\n *\n * @fires execute\n */ execute() {\n const model = this.editor.model;\n model.change((writer)=>{\n const horizontalElement = writer.createElement('horizontalLine');\n model.insertObject(horizontalElement, null, null, {\n setSelection: 'after'\n });\n });\n }\n}\n/**\n * Checks if a horizontal line is allowed by the schema in the optimal insertion parent.\n *\n * @param model Model instance.\n */ function isHorizontalLineAllowedInParent(selection, schema, model) {\n const parent = getInsertHorizontalLineParent(selection, model);\n return schema.checkChild(parent, 'horizontalLine');\n}\n/**\n * Returns a node that will be used to insert a horizontal line with `model.insertContent` to check if the horizontal line can be\n * placed there.\n *\n * @param model Model instance.\n */ function getInsertHorizontalLineParent(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\nclass HorizontalLineEditing extends Plugin {\n /**\n * @inheritDoc\n */ static get pluginName() {\n return 'HorizontalLineEditing';\n }\n /**\n * @inheritDoc\n */ 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('horizontalLine', {\n inheritAllFrom: '$blockObject'\n });\n conversion.for('dataDowncast').elementToElement({\n model: 'horizontalLine',\n view: (modelElement, { writer })=>{\n return writer.createEmptyElement('hr');\n }\n });\n conversion.for('editingDowncast').elementToStructure({\n model: 'horizontalLine',\n view: (modelElement, { writer })=>{\n const label = t('Horizontal line');\n const viewWrapper = writer.createContainerElement('div', null, writer.createEmptyElement('hr'));\n writer.addClass('ck-horizontal-line', viewWrapper);\n writer.setCustomProperty('hr', true, viewWrapper);\n return toHorizontalLineWidget(viewWrapper, writer, label);\n }\n });\n conversion.for('upcast').elementToElement({\n view: 'hr',\n model: 'horizontalLine'\n });\n editor.commands.add('horizontalLine', new HorizontalLineCommand(editor));\n }\n}\n/**\n * Converts a given {@link module:engine/view/element~Element} to a horizontal line widget:\n * * Adds a {@link module:engine/view/element~Element#_setCustomProperty custom property} allowing to\n * recognize the horizontal line widget element.\n * * Calls the {@link module:widget/utils~toWidget} function with the proper element's label creator.\n *\n * @param writer An instance of the view writer.\n */ function toHorizontalLineWidget(viewElement, writer, label) {\n writer.setCustomProperty('horizontalLine', true, viewElement);\n return toWidget(viewElement, writer, {\n label\n });\n}\n\nclass HorizontalLineUI extends Plugin {\n /**\n * @inheritDoc\n */ static get pluginName() {\n return 'HorizontalLineUI';\n }\n /**\n * @inheritDoc\n */ init() {\n const editor = this.editor;\n // Add the `horizontalLine` button to feature components.\n editor.ui.componentFactory.add('horizontalLine', ()=>{\n const buttonView = this._createButton(ButtonView);\n buttonView.set({\n tooltip: true\n });\n return buttonView;\n });\n editor.ui.componentFactory.add('menuBar:horizontalLine', ()=>{\n return this._createButton(MenuBarMenuListItemButtonView);\n });\n }\n /**\n * Creates a button for horizontal line command to use either in toolbar or in menu bar.\n */ _createButton(ButtonClass) {\n const editor = this.editor;\n const locale = editor.locale;\n const command = editor.commands.get('horizontalLine');\n const view = new ButtonClass(editor.locale);\n const t = locale.t;\n view.set({\n label: t('Horizontal line'),\n icon: icons.horizontalLine\n });\n view.bind('isEnabled').to(command, 'isEnabled');\n // Execute the command.\n this.listenTo(view, 'execute', ()=>{\n editor.execute('horizontalLine');\n editor.editing.view.focus();\n });\n return view;\n }\n}\n\nclass HorizontalLine extends Plugin {\n /**\n * @inheritDoc\n */ static get requires() {\n return [\n HorizontalLineEditing,\n HorizontalLineUI,\n Widget\n ];\n }\n /**\n * @inheritDoc\n */ static get pluginName() {\n return 'HorizontalLine';\n }\n}\n\nexport { HorizontalLine, HorizontalLineEditing, HorizontalLineUI };\n//# sourceMappingURL=index.js.map\n","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module horizontal-line/horizontallinecommand\n */\n\nimport type { DocumentSelection, Element, Model, Schema, Selection } from 'ckeditor5/src/engine.js';\nimport { Command } from 'ckeditor5/src/core.js';\nimport { findOptimalInsertionRange } from 'ckeditor5/src/widget.js';\n\n/**\n * The horizontal line command.\n *\n * The command is registered by {@link module:horizontal-line/horizontallineediting~HorizontalLineEditing} as `'horizontalLine'`.\n *\n * To insert a horizontal line at the current selection, execute the command:\n *\n * ```ts\n * editor.execute( 'horizontalLine' );\n * ```\n */\nexport default class HorizontalLineCommand 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 = isHorizontalLineAllowedInParent( 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 horizontalElement = writer.createElement( 'horizontalLine' );\n\n\t\t\tmodel.insertObject( horizontalElement, null, null, { setSelection: 'after' } );\n\t\t} );\n\t}\n}\n\n/**\n * Checks if a horizontal line is allowed by the schema in the optimal insertion parent.\n *\n * @param model Model instance.\n */\nfunction isHorizontalLineAllowedInParent( selection: Selection | DocumentSelection, schema: Schema, model: Model ): boolean {\n\tconst parent = getInsertHorizontalLineParent( selection, model );\n\n\treturn schema.checkChild( parent, 'horizontalLine' );\n}\n\n/**\n * Returns a node that will be used to insert a horizontal line with `model.insertContent` to check if the horizontal line can be\n * placed there.\n *\n * @param model Model instance.\n */\nfunction getInsertHorizontalLineParent( selection: Selection | DocumentSelection, model: Model ): Element {\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 Element;\n\t}\n\n\treturn parent as Element;\n}\n","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module horizontal-line/horizontallineediting\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport { toWidget } from 'ckeditor5/src/widget.js';\nimport type { DowncastWriter, ViewElement } from 'ckeditor5/src/engine.js';\n\nimport HorizontalLineCommand from './horizontallinecommand.js';\n\nimport '../theme/horizontalline.css';\n\n/**\n * The horizontal line editing feature.\n */\nexport default class HorizontalLineEditing extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'HorizontalLineEditing' as const;\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( 'horizontalLine', {\n\t\t\tinheritAllFrom: '$blockObject'\n\t\t} );\n\n\t\tconversion.for( 'dataDowncast' ).elementToElement( {\n\t\t\tmodel: 'horizontalLine',\n\t\t\tview: ( modelElement, { writer } ) => {\n\t\t\t\treturn writer.createEmptyElement( 'hr' );\n\t\t\t}\n\t\t} );\n\n\t\tconversion.for( 'editingDowncast' ).elementToStructure( {\n\t\t\tmodel: 'horizontalLine',\n\t\t\tview: ( modelElement, { writer } ) => {\n\t\t\t\tconst label = t( 'Horizontal line' );\n\n\t\t\t\tconst viewWrapper = writer.createContainerElement( 'div', null,\n\t\t\t\t\twriter.createEmptyElement( 'hr' )\n\t\t\t\t);\n\n\t\t\t\twriter.addClass( 'ck-horizontal-line', viewWrapper );\n\t\t\t\twriter.setCustomProperty( 'hr', true, viewWrapper );\n\n\t\t\t\treturn toHorizontalLineWidget( viewWrapper, writer, label );\n\t\t\t}\n\t\t} );\n\n\t\tconversion.for( 'upcast' ).elementToElement( { view: 'hr', model: 'horizontalLine' } );\n\n\t\teditor.commands.add( 'horizontalLine', new HorizontalLineCommand( editor ) );\n\t}\n}\n\n/**\n * Converts a given {@link module:engine/view/element~Element} to a horizontal line widget:\n * * Adds a {@link module:engine/view/element~Element#_setCustomProperty custom property} allowing to\n * recognize the horizontal line widget element.\n * * Calls the {@link module:widget/utils~toWidget} function with the proper element's label creator.\n *\n * @param writer An instance of the view writer.\n */\nfunction toHorizontalLineWidget( viewElement: ViewElement, writer: DowncastWriter, label: string ): ViewElement {\n\twriter.setCustomProperty( 'horizontalLine', true, viewElement );\n\n\treturn toWidget( viewElement, writer, { label } );\n}\n","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module horizontal-line/horizontallineui\n */\n\nimport { icons, Plugin } from 'ckeditor5/src/core.js';\nimport { ButtonView, MenuBarMenuListItemButtonView } from 'ckeditor5/src/ui.js';\n\nimport type HorizontalLineCommand from './horizontallinecommand.js';\n\n/**\n * The horizontal line UI plugin.\n */\nexport default class HorizontalLineUI extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'HorizontalLineUI' as const;\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 the `horizontalLine` button to feature components.\n\t\teditor.ui.componentFactory.add( 'horizontalLine', () => {\n\t\t\tconst buttonView = this._createButton( ButtonView );\n\n\t\t\tbuttonView.set( {\n\t\t\t\ttooltip: true\n\t\t\t} );\n\n\t\t\treturn buttonView;\n\t\t} );\n\n\t\teditor.ui.componentFactory.add( 'menuBar:horizontalLine', () => {\n\t\t\treturn this._createButton( MenuBarMenuListItemButtonView );\n\t\t} );\n\t}\n\n\t/**\n\t * Creates a button for horizontal line 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: HorizontalLineCommand = editor.commands.get( 'horizontalLine' )!;\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( 'Horizontal line' ),\n\t\t\ticon: icons.horizontalLine\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( 'horizontalLine' );\n\t\t\teditor.editing.view.focus();\n\t\t} );\n\n\t\treturn view;\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module horizontal-line/horizontalline\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport { Widget } from 'ckeditor5/src/widget.js';\nimport HorizontalLineEditing from './horizontallineediting.js';\nimport HorizontalLineUI from './horizontallineui.js';\n\n/**\n * The horizontal line feature.\n *\n * It provides the possibility to insert a horizontal line into the rich-text editor.\n *\n * For a detailed overview, check the {@glink features/horizontal-line Horizontal line feature} documentation.\n */\nexport default class HorizontalLine extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get requires() {\n\t\treturn [ HorizontalLineEditing, HorizontalLineUI, Widget ] as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'HorizontalLine' as const;\n\t}\n}\n"]}
1
+ {"version":3,"sources":["index.js","../src/horizontallinecommand.ts","../src/horizontallineediting.ts","../src/horizontallineui.ts","../src/horizontalline.ts"],"names":["HorizontalLineCommand","Command","model","editor","schema","selection","document","isEnabled","isHorizontalLineAllowedInParent","change","writer","horizontalElement","createElement","insertObject","setSelection","parent","getInsertHorizontalLineParent","checkChild","insertionRange","findOptimalInsertionRange","start","isEmpty","is","HorizontalLineEditing","Plugin","pluginName","t","conversion","register","inheritAllFrom","for","elementToElement","view","modelElement","createEmptyElement","elementToStructure","label","viewWrapper","createContainerElement","addClass","setCustomProperty","toHorizontalLineWidget","commands","add","viewElement","toWidget","HorizontalLineUI","ui","componentFactory","buttonView","_createButton","ButtonView","set","tooltip","MenuBarMenuListItemButtonView","ButtonClass","locale","command","get","icon","icons","horizontalLine","bind","to","listenTo","execute","editing","focus","HorizontalLine","requires","Widget"],"mappings":"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","file":"index.js.map","sourcesContent":["import { Command, Plugin, icons } from '@ckeditor/ckeditor5-core/dist/index.js';\nimport { findOptimalInsertionRange, toWidget, Widget } from '@ckeditor/ckeditor5-widget/dist/index.js';\nimport { ButtonView, MenuBarMenuListItemButtonView } from '@ckeditor/ckeditor5-ui/dist/index.js';\n\n/**\n * The horizontal line command.\n *\n * The command is registered by {@link module:horizontal-line/horizontallineediting~HorizontalLineEditing} as `'horizontalLine'`.\n *\n * To insert a horizontal line at the current selection, execute the command:\n *\n * ```ts\n * editor.execute( 'horizontalLine' );\n * ```\n */ class HorizontalLineCommand 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 = isHorizontalLineAllowedInParent(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 horizontalElement = writer.createElement('horizontalLine');\n model.insertObject(horizontalElement, null, null, {\n setSelection: 'after'\n });\n });\n }\n}\n/**\n * Checks if a horizontal line is allowed by the schema in the optimal insertion parent.\n *\n * @param model Model instance.\n */ function isHorizontalLineAllowedInParent(selection, schema, model) {\n const parent = getInsertHorizontalLineParent(selection, model);\n return schema.checkChild(parent, 'horizontalLine');\n}\n/**\n * Returns a node that will be used to insert a horizontal line with `model.insertContent` to check if the horizontal line can be\n * placed there.\n *\n * @param model Model instance.\n */ function getInsertHorizontalLineParent(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 horizontal line editing feature.\n */ class HorizontalLineEditing extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'HorizontalLineEditing';\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('horizontalLine', {\n inheritAllFrom: '$blockObject'\n });\n conversion.for('dataDowncast').elementToElement({\n model: 'horizontalLine',\n view: (modelElement, { writer })=>{\n return writer.createEmptyElement('hr');\n }\n });\n conversion.for('editingDowncast').elementToStructure({\n model: 'horizontalLine',\n view: (modelElement, { writer })=>{\n const label = t('Horizontal line');\n const viewWrapper = writer.createContainerElement('div', null, writer.createEmptyElement('hr'));\n writer.addClass('ck-horizontal-line', viewWrapper);\n writer.setCustomProperty('hr', true, viewWrapper);\n return toHorizontalLineWidget(viewWrapper, writer, label);\n }\n });\n conversion.for('upcast').elementToElement({\n view: 'hr',\n model: 'horizontalLine'\n });\n editor.commands.add('horizontalLine', new HorizontalLineCommand(editor));\n }\n}\n/**\n * Converts a given {@link module:engine/view/element~Element} to a horizontal line widget:\n * * Adds a {@link module:engine/view/element~Element#_setCustomProperty custom property} allowing to\n * recognize the horizontal line widget element.\n * * Calls the {@link module:widget/utils~toWidget} function with the proper element's label creator.\n *\n * @param writer An instance of the view writer.\n */ function toHorizontalLineWidget(viewElement, writer, label) {\n writer.setCustomProperty('horizontalLine', true, viewElement);\n return toWidget(viewElement, writer, {\n label\n });\n}\n\n/**\n * The horizontal line UI plugin.\n */ class HorizontalLineUI extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'HorizontalLineUI';\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n const editor = this.editor;\n // Add the `horizontalLine` button to feature components.\n editor.ui.componentFactory.add('horizontalLine', ()=>{\n const buttonView = this._createButton(ButtonView);\n buttonView.set({\n tooltip: true\n });\n return buttonView;\n });\n editor.ui.componentFactory.add('menuBar:horizontalLine', ()=>{\n return this._createButton(MenuBarMenuListItemButtonView);\n });\n }\n /**\n\t * Creates a button for horizontal line 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('horizontalLine');\n const view = new ButtonClass(editor.locale);\n const t = locale.t;\n view.set({\n label: t('Horizontal line'),\n icon: icons.horizontalLine\n });\n view.bind('isEnabled').to(command, 'isEnabled');\n // Execute the command.\n this.listenTo(view, 'execute', ()=>{\n editor.execute('horizontalLine');\n editor.editing.view.focus();\n });\n return view;\n }\n}\n\n/**\n * The horizontal line feature.\n *\n * It provides the possibility to insert a horizontal line into the rich-text editor.\n *\n * For a detailed overview, check the {@glink features/horizontal-line Horizontal line feature} documentation.\n */ class HorizontalLine extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get requires() {\n return [\n HorizontalLineEditing,\n HorizontalLineUI,\n Widget\n ];\n }\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'HorizontalLine';\n }\n}\n\nexport { HorizontalLine, HorizontalLineEditing, HorizontalLineUI };\n//# sourceMappingURL=index.js.map\n","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module horizontal-line/horizontallinecommand\n */\n\nimport type { DocumentSelection, Element, Model, Schema, Selection } from 'ckeditor5/src/engine.js';\nimport { Command } from 'ckeditor5/src/core.js';\nimport { findOptimalInsertionRange } from 'ckeditor5/src/widget.js';\n\n/**\n * The horizontal line command.\n *\n * The command is registered by {@link module:horizontal-line/horizontallineediting~HorizontalLineEditing} as `'horizontalLine'`.\n *\n * To insert a horizontal line at the current selection, execute the command:\n *\n * ```ts\n * editor.execute( 'horizontalLine' );\n * ```\n */\nexport default class HorizontalLineCommand 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 = isHorizontalLineAllowedInParent( 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 horizontalElement = writer.createElement( 'horizontalLine' );\n\n\t\t\tmodel.insertObject( horizontalElement, null, null, { setSelection: 'after' } );\n\t\t} );\n\t}\n}\n\n/**\n * Checks if a horizontal line is allowed by the schema in the optimal insertion parent.\n *\n * @param model Model instance.\n */\nfunction isHorizontalLineAllowedInParent( selection: Selection | DocumentSelection, schema: Schema, model: Model ): boolean {\n\tconst parent = getInsertHorizontalLineParent( selection, model );\n\n\treturn schema.checkChild( parent, 'horizontalLine' );\n}\n\n/**\n * Returns a node that will be used to insert a horizontal line with `model.insertContent` to check if the horizontal line can be\n * placed there.\n *\n * @param model Model instance.\n */\nfunction getInsertHorizontalLineParent( selection: Selection | DocumentSelection, model: Model ): Element {\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 Element;\n\t}\n\n\treturn parent as Element;\n}\n","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module horizontal-line/horizontallineediting\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport { toWidget } from 'ckeditor5/src/widget.js';\nimport type { DowncastWriter, ViewElement } from 'ckeditor5/src/engine.js';\n\nimport HorizontalLineCommand from './horizontallinecommand.js';\n\nimport '../theme/horizontalline.css';\n\n/**\n * The horizontal line editing feature.\n */\nexport default class HorizontalLineEditing extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'HorizontalLineEditing' as const;\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( 'horizontalLine', {\n\t\t\tinheritAllFrom: '$blockObject'\n\t\t} );\n\n\t\tconversion.for( 'dataDowncast' ).elementToElement( {\n\t\t\tmodel: 'horizontalLine',\n\t\t\tview: ( modelElement, { writer } ) => {\n\t\t\t\treturn writer.createEmptyElement( 'hr' );\n\t\t\t}\n\t\t} );\n\n\t\tconversion.for( 'editingDowncast' ).elementToStructure( {\n\t\t\tmodel: 'horizontalLine',\n\t\t\tview: ( modelElement, { writer } ) => {\n\t\t\t\tconst label = t( 'Horizontal line' );\n\n\t\t\t\tconst viewWrapper = writer.createContainerElement( 'div', null,\n\t\t\t\t\twriter.createEmptyElement( 'hr' )\n\t\t\t\t);\n\n\t\t\t\twriter.addClass( 'ck-horizontal-line', viewWrapper );\n\t\t\t\twriter.setCustomProperty( 'hr', true, viewWrapper );\n\n\t\t\t\treturn toHorizontalLineWidget( viewWrapper, writer, label );\n\t\t\t}\n\t\t} );\n\n\t\tconversion.for( 'upcast' ).elementToElement( { view: 'hr', model: 'horizontalLine' } );\n\n\t\teditor.commands.add( 'horizontalLine', new HorizontalLineCommand( editor ) );\n\t}\n}\n\n/**\n * Converts a given {@link module:engine/view/element~Element} to a horizontal line widget:\n * * Adds a {@link module:engine/view/element~Element#_setCustomProperty custom property} allowing to\n * recognize the horizontal line widget element.\n * * Calls the {@link module:widget/utils~toWidget} function with the proper element's label creator.\n *\n * @param writer An instance of the view writer.\n */\nfunction toHorizontalLineWidget( viewElement: ViewElement, writer: DowncastWriter, label: string ): ViewElement {\n\twriter.setCustomProperty( 'horizontalLine', true, viewElement );\n\n\treturn toWidget( viewElement, writer, { label } );\n}\n","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module horizontal-line/horizontallineui\n */\n\nimport { icons, Plugin } from 'ckeditor5/src/core.js';\nimport { ButtonView, MenuBarMenuListItemButtonView } from 'ckeditor5/src/ui.js';\n\nimport type HorizontalLineCommand from './horizontallinecommand.js';\n\n/**\n * The horizontal line UI plugin.\n */\nexport default class HorizontalLineUI extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'HorizontalLineUI' as const;\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 the `horizontalLine` button to feature components.\n\t\teditor.ui.componentFactory.add( 'horizontalLine', () => {\n\t\t\tconst buttonView = this._createButton( ButtonView );\n\n\t\t\tbuttonView.set( {\n\t\t\t\ttooltip: true\n\t\t\t} );\n\n\t\t\treturn buttonView;\n\t\t} );\n\n\t\teditor.ui.componentFactory.add( 'menuBar:horizontalLine', () => {\n\t\t\treturn this._createButton( MenuBarMenuListItemButtonView );\n\t\t} );\n\t}\n\n\t/**\n\t * Creates a button for horizontal line 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: HorizontalLineCommand = editor.commands.get( 'horizontalLine' )!;\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( 'Horizontal line' ),\n\t\t\ticon: icons.horizontalLine\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( 'horizontalLine' );\n\t\t\teditor.editing.view.focus();\n\t\t} );\n\n\t\treturn view;\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module horizontal-line/horizontalline\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport { Widget } from 'ckeditor5/src/widget.js';\nimport HorizontalLineEditing from './horizontallineediting.js';\nimport HorizontalLineUI from './horizontallineui.js';\n\n/**\n * The horizontal line feature.\n *\n * It provides the possibility to insert a horizontal line into the rich-text editor.\n *\n * For a detailed overview, check the {@glink features/horizontal-line Horizontal line feature} documentation.\n */\nexport default class HorizontalLine extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get requires() {\n\t\treturn [ HorizontalLineEditing, HorizontalLineUI, Widget ] as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'HorizontalLine' as const;\n\t}\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ckeditor/ckeditor5-horizontal-line",
3
- "version": "41.4.2",
3
+ "version": "42.0.0-alpha.0",
4
4
  "description": "Horizontal line feature for CKEditor 5.",
5
5
  "keywords": [
6
6
  "ckeditor",
@@ -13,7 +13,7 @@
13
13
  "type": "module",
14
14
  "main": "src/index.js",
15
15
  "dependencies": {
16
- "ckeditor5": "41.4.2"
16
+ "ckeditor5": "42.0.0-alpha.0"
17
17
  },
18
18
  "author": "CKSource (http://cksource.com/)",
19
19
  "license": "GPL-2.0-or-later",