浏览代码

Merge tag 'v1.0.0-beta.1' into stable

Release: v1.0.0-beta.1.
Piotrek Koszuliński 7 年之前
父节点
当前提交
8c1e4dbdd9

+ 1 - 1
packages/ckeditor5-editor-classic/.eslintrc.js

@@ -1,5 +1,5 @@
 /**
- * @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
+ * @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
  * For licensing, see LICENSE.md.
  */
 

文件差异内容过多而无法显示
+ 15 - 11
packages/ckeditor5-editor-classic/.travis.yml


+ 8 - 0
packages/ckeditor5-editor-classic/CHANGELOG.md

@@ -1,6 +1,14 @@
 Changelog
 =========
 
+## [1.0.0-beta.1](https://github.com/ckeditor/ckeditor5-editor-classic/compare/v1.0.0-alpha.2...v1.0.0-beta.1) (2018-03-15)
+
+### Other changes
+
+* Migrated the editor styles to PostCSS. Moved visual styles to `@ckeditor/ckeditor5-theme-lark` (see [ckeditor/ckeditor5-ui#144](https://github.com/ckeditor/ckeditor5-ui/issues/144)). ([f24f97d](https://github.com/ckeditor/ckeditor5-editor-classic/commit/f24f97d))
+* Removed the `.ck-editor-toolbar` class from the toolbar (see [ckeditor/ckeditor5-theme-lark#135](https://github.com/ckeditor/ckeditor5-theme-lark/issues/135)). ([6b4670c](https://github.com/ckeditor/ckeditor5-editor-classic/commit/6b4670c))
+
+
 ## [1.0.0-alpha.2](https://github.com/ckeditor/ckeditor5-editor-classic/compare/v1.0.0-alpha.1...v1.0.0-alpha.2) (2017-11-14)
 
 ### Other changes

+ 1 - 1
packages/ckeditor5-editor-classic/LICENSE.md

@@ -2,7 +2,7 @@ Software License Agreement
 ==========================
 
 **Classic Editor** – https://github.com/ckeditor/ckeditor5-editor-classic <br>
-Copyright (c) 2003-2017, [CKSource](http://cksource.com) Frederico Knabben. All rights reserved.
+Copyright (c) 2003-2018, [CKSource](http://cksource.com) Frederico Knabben. All rights reserved.
 
 Licensed under the terms of any of the following licenses at your choice:
 

+ 3 - 1
packages/ckeditor5-editor-classic/README.md

@@ -4,7 +4,9 @@ CKEditor 5 classic editor implementation
 [![Join the chat at https://gitter.im/ckeditor/ckeditor5](https://badges.gitter.im/ckeditor/ckeditor5.svg)](https://gitter.im/ckeditor/ckeditor5?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
 [![npm version](https://badge.fury.io/js/%40ckeditor%2Fckeditor5-editor-classic.svg)](https://www.npmjs.com/package/@ckeditor/ckeditor5-editor-classic)
 [![Build Status](https://travis-ci.org/ckeditor/ckeditor5-editor-classic.svg?branch=master)](https://travis-ci.org/ckeditor/ckeditor5-editor-classic)
-[![Test Coverage](https://codeclimate.com/github/ckeditor/ckeditor5-editor-classic/badges/coverage.svg)](https://codeclimate.com/github/ckeditor/ckeditor5-editor-classic/coverage)
+[![BrowserStack Status](https://www.browserstack.com/automate/badge.svg?badge_key=d3hvenZqQVZERFQ5d09FWXdyT0ozVXhLaVltRFRjTTUyZGpvQWNmWVhUUT0tLUZqNlJ1YWRUd0RvdEVOaEptM1B2Q0E9PQ==--c9d3dee40b9b4471ff3fb516d9ecf8d09292c7e0)](https://www.browserstack.com/automate/public-build/d3hvenZqQVZERFQ5d09FWXdyT0ozVXhLaVltRFRjTTUyZGpvQWNmWVhUUT0tLUZqNlJ1YWRUd0RvdEVOaEptM1B2Q0E9PQ==--c9d3dee40b9b4471ff3fb516d9ecf8d09292c7e0)
+[![Coverage Status](https://coveralls.io/repos/github/ckeditor/ckeditor5-editor-classic/badge.svg?branch=master)](https://coveralls.io/github/ckeditor/ckeditor5-editor-classic?branch=master)
+<br>
 [![Dependency Status](https://david-dm.org/ckeditor/ckeditor5-editor-classic/status.svg)](https://david-dm.org/ckeditor/ckeditor5-editor-classic)
 [![devDependency Status](https://david-dm.org/ckeditor/ckeditor5-editor-classic/dev-status.svg)](https://david-dm.org/ckeditor/ckeditor5-editor-classic?type=dev)
 

+ 15 - 15
packages/ckeditor5-editor-classic/package.json

@@ -1,29 +1,29 @@
 {
   "name": "@ckeditor/ckeditor5-editor-classic",
-  "version": "1.0.0-alpha.2",
+  "version": "1.0.0-beta.1",
   "description": "Classic editor implementation for CKEditor 5.",
   "keywords": [
     "ckeditor5",
     "ckeditor5-editor"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^1.0.0-alpha.2",
-    "@ckeditor/ckeditor5-engine": "^1.0.0-alpha.2",
-    "@ckeditor/ckeditor5-theme-lark": "^1.0.0-alpha.2",
-    "@ckeditor/ckeditor5-ui": "^1.0.0-alpha.2",
-    "@ckeditor/ckeditor5-utils": "^1.0.0-alpha.2"
+    "@ckeditor/ckeditor5-core": "^1.0.0-beta.1",
+    "@ckeditor/ckeditor5-engine": "^1.0.0-beta.1",
+    "@ckeditor/ckeditor5-theme-lark": "^1.0.0-beta.1",
+    "@ckeditor/ckeditor5-ui": "^1.0.0-beta.1",
+    "@ckeditor/ckeditor5-utils": "^1.0.0-beta.1"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-basic-styles": "^1.0.0-alpha.2",
-    "@ckeditor/ckeditor5-enter": "^1.0.0-alpha.2",
-    "@ckeditor/ckeditor5-heading": "^1.0.0-alpha.2",
-    "@ckeditor/ckeditor5-paragraph": "^1.0.0-alpha.2",
-    "@ckeditor/ckeditor5-typing": "^1.0.0-alpha.2",
-    "@ckeditor/ckeditor5-undo": "^1.0.0-alpha.2",
-    "eslint": "^4.8.0",
-    "eslint-config-ckeditor5": "^1.0.6",
+    "@ckeditor/ckeditor5-basic-styles": "^1.0.0-beta.1",
+    "@ckeditor/ckeditor5-enter": "^1.0.0-beta.1",
+    "@ckeditor/ckeditor5-heading": "^1.0.0-beta.1",
+    "@ckeditor/ckeditor5-paragraph": "^1.0.0-beta.1",
+    "@ckeditor/ckeditor5-typing": "^1.0.0-beta.1",
+    "@ckeditor/ckeditor5-undo": "^1.0.0-beta.1",
+    "eslint": "^4.15.0",
+    "eslint-config-ckeditor5": "^1.0.7",
     "husky": "^0.14.3",
-    "lint-staged": "^4.2.3"
+    "lint-staged": "^6.0.0"
   },
   "engines": {
     "node": ">=6.0.0",

+ 33 - 18
packages/ckeditor5-editor-classic/src/classiceditor.js

@@ -1,5 +1,5 @@
 /**
- * @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
+ * @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
  * For licensing, see LICENSE.md.
  */
 
@@ -7,27 +7,30 @@
  * @module editor-classic/classiceditor
  */
 
-import StandardEditor from '@ckeditor/ckeditor5-core/src/editor/standardeditor';
+import Editor from '@ckeditor/ckeditor5-core/src/editor/editor';
+import DataApiMixin from '@ckeditor/ckeditor5-core/src/editor/utils/dataapimixin';
+import ElementApiMixin from '@ckeditor/ckeditor5-core/src/editor/utils/elementapimixin';
+import attachToForm from '@ckeditor/ckeditor5-core/src/editor/utils/attachtoform';
 import HtmlDataProcessor from '@ckeditor/ckeditor5-engine/src/dataprocessor/htmldataprocessor';
 import ClassicEditorUI from './classiceditorui';
 import ClassicEditorUIView from './classiceditoruiview';
 import ElementReplacer from '@ckeditor/ckeditor5-utils/src/elementreplacer';
-
-import '../theme/theme.scss';
+import getDataFromElement from '@ckeditor/ckeditor5-utils/src/dom/getdatafromelement';
+import mix from '@ckeditor/ckeditor5-utils/src/mix';
 
 /**
- * The {@glink builds/guides/overview#Classic-editor classic editor} implementation.
+ * The {@glink builds/guides/overview#classic-editor classic editor} implementation.
  * It uses an inline editable and a sticky toolbar, all enclosed in a boxed UI.
  * See the {@glink examples/builds/classic-editor demo}.
  *
  * In order to create a classic editor instance, use the static
- * {@link module:editor-classic/classiceditor~ClassicEditor#create `ClassicEditor.create()`} method.
+ * {@link module:editor-classic/classiceditor~ClassicEditor.create `ClassicEditor.create()`} method.
  *
  * # Classic editor and classic build
  *
  * The classic editor can be used directly from source (if you installed the
  * [`@ckeditor/ckeditor5-editor-classic`](https://www.npmjs.com/package/@ckeditor/ckeditor5-editor-classic) package)
- * but it is also available in the {@glink builds/guides/overview#Classic-editor classic build}.
+ * but it is also available in the {@glink builds/guides/overview#classic-editor classic build}.
  *
  * {@glink builds/guides/overview Builds} are ready-to-use editors with plugins bundled in. When using the editor from
  * source you need to take care of loading all plugins by yourself
@@ -35,16 +38,19 @@ import '../theme/theme.scss';
  * Using the editor from source gives much better flexibility and allows easier customization.
  *
  * Read more about initializing the editor from source or as a build in
- * {@link module:editor-classic/classiceditor~ClassicEditor#create `ClassicEditor.create()`}.
+ * {@link module:editor-classic/classiceditor~ClassicEditor.create `ClassicEditor.create()`}.
  *
- * @extends module:core/editor/standardeditor~StandardEditor
+ * @mixes module:core/editor/utils/dataapimixin~DataApiMixin
+ * @mixes module:core/editor/utils/elementapimixin~ElementApiMixin
+ * @implements module:core/editor/editorwithui~EditorWithUI
+ * @extends module:core/editor/editor~Editor
  */
-export default class ClassicEditor extends StandardEditor {
+export default class ClassicEditor extends Editor {
 	/**
 	 * Creates an instance of the classic editor.
 	 *
 	 * **Note:** do not use the constructor to create editor instances. Use the static
-	 * {@link module:editor-classic/classiceditor~ClassicEditor#create `ClassicEditor.create()`} method instead.
+	 * {@link module:editor-classic/classiceditor~ClassicEditor.create `ClassicEditor.create()`} method instead.
 	 *
 	 * @protected
 	 * @param {HTMLElement} element The DOM element that will be the source for the created editor.
@@ -52,11 +58,7 @@ export default class ClassicEditor extends StandardEditor {
 	 * @param {module:core/editor/editorconfig~EditorConfig} config The editor configuration.
 	 */
 	constructor( element, config ) {
-		super( element, config );
-
-		this.document.createRoot();
-		this.data.processor = new HtmlDataProcessor();
-		this.ui = new ClassicEditorUI( this, new ClassicEditorUIView( this.locale ) );
+		super( config );
 
 		/**
 		 * The element replacer instance used to hide the editor element.
@@ -65,6 +67,16 @@ export default class ClassicEditor extends StandardEditor {
 		 * @member {module:utils/elementreplacer~ElementReplacer}
 		 */
 		this._elementReplacer = new ElementReplacer();
+
+		this.element = element;
+
+		this.data.processor = new HtmlDataProcessor();
+
+		this.model.document.createRoot();
+
+		this.ui = new ClassicEditorUI( this, new ClassicEditorUIView( this.locale ) );
+
+		attachToForm( this );
 	}
 
 	/**
@@ -75,7 +87,7 @@ export default class ClassicEditor extends StandardEditor {
 	 * @returns {Promise}
 	 */
 	destroy() {
-		this.updateEditorElement();
+		this.updateElement();
 		this._elementReplacer.restore();
 		this.ui.destroy();
 
@@ -134,7 +146,7 @@ export default class ClassicEditor extends StandardEditor {
 						editor.fire( 'uiReady' );
 					} )
 					.then( () => editor.editing.view.attachDomRoot( editor.ui.view.editableElement ) )
-					.then( () => editor.loadDataFromEditorElement() )
+					.then( () => editor.data.init( getDataFromElement( element ) ) )
 					.then( () => {
 						editor.fire( 'dataReady' );
 						editor.fire( 'ready' );
@@ -144,3 +156,6 @@ export default class ClassicEditor extends StandardEditor {
 		} );
 	}
 }
+
+mix( ClassicEditor, DataApiMixin );
+mix( ClassicEditor, ElementApiMixin );

+ 3 - 3
packages/ckeditor5-editor-classic/src/classiceditorui.js

@@ -1,5 +1,5 @@
 /**
- * @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
+ * @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
  * For licensing, see LICENSE.md.
  */
 
@@ -72,9 +72,9 @@ export default class ClassicEditorUI {
 		}
 
 		// Setup the editable.
-		const editingRoot = editor.editing.createRoot( 'div' );
+		const editingRoot = editor.editing.view.document.getRoot();
 		view.editable.bind( 'isReadOnly' ).to( editingRoot );
-		view.editable.bind( 'isFocused' ).to( editor.editing.view );
+		view.editable.bind( 'isFocused' ).to( editor.editing.view.document );
 		view.editable.name = editingRoot.rootName;
 
 		this.focusTracker.add( this.view.editableElement );

+ 3 - 7
packages/ckeditor5-editor-classic/src/classiceditoruiview.js

@@ -1,5 +1,5 @@
 /**
- * @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
+ * @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
  * For licensing, see LICENSE.md.
  */
 
@@ -12,6 +12,8 @@ import InlineEditableUIView from '@ckeditor/ckeditor5-ui/src/editableui/inline/i
 import StickyPanelView from '@ckeditor/ckeditor5-ui/src/panel/sticky/stickypanelview';
 import ToolbarView from '@ckeditor/ckeditor5-ui/src/toolbar/toolbarview';
 
+import '../theme/classiceditor.css';
+
 /**
  * Classic editor UI view. Uses an inline editable and a sticky toolbar, all
  * enclosed in a boxed UI view.
@@ -44,12 +46,6 @@ export default class ClassicEditorUIView extends BoxedEditorUIView {
 		 */
 		this.toolbar = new ToolbarView( locale );
 
-		this.toolbar.extendTemplate( {
-			attributes: {
-				class: 'ck-editor-toolbar'
-			}
-		} );
-
 		/**
 		 * Editable UI view.
 		 *

+ 45 - 13
packages/ckeditor5-editor-classic/tests/classiceditor.js

@@ -1,9 +1,9 @@
 /**
- * @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
+ * @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
  * For licensing, see LICENSE.md.
  */
 
-/* globals document */
+/* globals document, Event */
 
 import ClassicEditorUI from '../src/classiceditorui';
 import ClassicEditorUIView from '../src/classiceditoruiview';
@@ -14,9 +14,11 @@ import ClassicEditor from '../src/classiceditor';
 import Plugin from '@ckeditor/ckeditor5-core/src/plugin';
 import Paragraph from '@ckeditor/ckeditor5-paragraph/src/paragraph';
 import Bold from '@ckeditor/ckeditor5-basic-styles/src/bold';
+import DataApiMixin from '@ckeditor/ckeditor5-core/src/editor/utils/dataapimixin';
+import ElementApiMixin from '@ckeditor/ckeditor5-core/src/editor/utils/elementapimixin';
+import RootElement from '@ckeditor/ckeditor5-engine/src/model/rootelement';
 
 import testUtils from '@ckeditor/ckeditor5-core/tests/_utils/utils';
-import count from '@ckeditor/ckeditor5-utils/src/count';
 
 testUtils.createSinonSandbox();
 
@@ -39,24 +41,54 @@ describe( 'ClassicEditor', () => {
 			editor = new ClassicEditor( editorElement );
 		} );
 
-		it( 'creates a single document root', () => {
-			expect( count( editor.document.getRootNames() ) ).to.equal( 1 );
-			expect( editor.document.getRoot() ).to.have.property( 'name', '$root' );
-		} );
-
 		it( 'uses HTMLDataProcessor', () => {
 			expect( editor.data.processor ).to.be.instanceof( HtmlDataProcessor );
 		} );
 
-		describe( 'ui', () => {
-			it( 'creates a single div editable root in the view', () => {
-				editor.ui.init();
+		it( 'has a Data Interface', () => {
+			testUtils.isMixed( ClassicEditor, DataApiMixin );
+		} );
 
-				expect( editor.editing.view.getRoot() ).to.have.property( 'name', 'div' );
+		it( 'has a Element Interface', () => {
+			testUtils.isMixed( ClassicEditor, ElementApiMixin );
+		} );
 
-				editor.ui.destroy();
+		it( 'creates main root element', () => {
+			expect( editor.model.document.getRoot( 'main' ) ).to.instanceof( RootElement );
+		} );
+
+		it( 'handles form element', () => {
+			const form = document.createElement( 'form' );
+			const textarea = document.createElement( 'textarea' );
+			form.appendChild( textarea );
+			document.body.appendChild( form );
+
+			// Prevents page realods in Firefox ;|
+			form.addEventListener( 'submit', evt => {
+				evt.preventDefault();
 			} );
 
+			return ClassicEditor.create( textarea, {
+				plugins: [ Paragraph ]
+			} ).then( editor => {
+				expect( textarea.value ).to.equal( '' );
+
+				editor.setData( '<p>Foo</p>' );
+
+				form.dispatchEvent( new Event( 'submit', {
+					// We need to be able to do preventDefault() to prevent page reloads in Firefox.
+					cancelable: true
+				} ) );
+
+				expect( textarea.value ).to.equal( '<p>Foo</p>' );
+
+				return editor.destroy().then( () => {
+					form.remove();
+				} );
+			} );
+		} );
+
+		describe( 'ui', () => {
 			it( 'creates the UI using BoxedEditorUI classes', () => {
 				expect( editor.ui ).to.be.instanceof( ClassicEditorUI );
 				expect( editor.ui.view ).to.be.instanceof( ClassicEditorUIView );

+ 4 - 4
packages/ckeditor5-editor-classic/tests/classiceditorui.js

@@ -1,5 +1,5 @@
 /**
- * @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
+ * @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
  * For licensing, see LICENSE.md.
  */
 
@@ -104,7 +104,7 @@ describe( 'ClassicEditorUI', () => {
 			} );
 
 			it( 'sets view.editable#name', () => {
-				const editable = editor.editing.view.getRoot();
+				const editable = editor.editing.view.document.getRoot();
 
 				expect( view.editable.name ).to.equal( editable.rootName );
 			} );
@@ -114,14 +114,14 @@ describe( 'ClassicEditorUI', () => {
 					view.editable,
 					{ isFocused: false },
 					[
-						[ editor.editing.view, { isFocused: true } ]
+						[ editor.editing.view.document, { isFocused: true } ]
 					],
 					{ isFocused: true }
 				);
 			} );
 
 			it( 'binds view.editable#isReadOnly', () => {
-				const editable = editor.editing.view.getRoot();
+				const editable = editor.editing.view.document.getRoot();
 
 				utils.assertBinding(
 					view.editable,

+ 1 - 5
packages/ckeditor5-editor-classic/tests/classiceditoruiview.js

@@ -1,5 +1,5 @@
 /**
- * @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
+ * @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
  * For licensing, see LICENSE.md.
  */
 
@@ -44,10 +44,6 @@ describe( 'ClassicEditorUIView', () => {
 				expect( view.toolbar ).to.be.instanceof( ToolbarView );
 			} );
 
-			it( 'is given the right CSS class', () => {
-				expect( view.toolbar.element.classList.contains( 'ck-editor-toolbar' ) ).to.be.true;
-			} );
-
 			it( 'is given a locate object', () => {
 				expect( view.toolbar.locale ).to.equal( locale );
 			} );

+ 3 - 5
packages/ckeditor5-editor-classic/tests/manual/classiceditor.js

@@ -1,5 +1,5 @@
 /**
- * @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
+ * @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
  * For licensing, see LICENSE.md.
  */
 
@@ -21,14 +21,14 @@ function initEditor() {
 	ClassicEditor
 		.create( document.querySelector( '#editor' ), {
 			plugins: [ Enter, Typing, Paragraph, Undo, Heading, Bold, Italic ],
-			toolbar: [ 'headings', 'bold', 'italic', 'undo', 'redo' ]
+			toolbar: [ 'heading', '|', 'bold', 'italic', 'undo', 'redo' ]
 		} )
 		.then( newEditor => {
 			console.log( 'Editor was initialized', newEditor );
 			console.log( 'You can now play with it using global `editor` and `editable` variables.' );
 
 			window.editor = editor = newEditor;
-			window.editable = editable = editor.editing.view.getRoot();
+			window.editable = editable = editor.editing.view.document.getRoot();
 
 			observer = testUtils.createObserver();
 			observer.observe( 'Editable', editable, [ 'isFocused' ] );
@@ -53,5 +53,3 @@ function destroyEditor() {
 
 document.getElementById( 'initEditor' ).addEventListener( 'click', initEditor );
 document.getElementById( 'destroyEditor' ).addEventListener( 'click', destroyEditor );
-
-initEditor();

+ 2 - 2
packages/ckeditor5-editor-classic/tests/manual/tickets/60/1.js

@@ -1,5 +1,5 @@
 /**
- * @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
+ * @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
  * For licensing, see LICENSE.md.
  */
 
@@ -18,7 +18,7 @@ ClassicEditor
 	.create( document.querySelector( '#editor' ), {
 		plugins: [ Enter, Typing, Paragraph, Undo, Heading, Bold, Italic ],
 		toolbar: {
-			items: [ 'headings', 'bold', 'italic', 'undo', 'redo' ],
+			items: [ 'heading', '|', 'bold', 'italic', 'undo', 'redo' ],
 			viewportTopOffset: 100
 		}
 	} )

+ 16 - 0
packages/ckeditor5-editor-classic/theme/classiceditor.css

@@ -0,0 +1,16 @@
+/*
+ * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+ * For licensing, see LICENSE.md.
+ */
+
+.ck-editor {
+	/* All the elements within `.ck-editor` are positioned relatively to it.
+	 If any element needs to be positioned with respect to the <body>, etc.,
+	 it must land outside of the `.ck-editor` in DOM. */
+	position: relative;
+}
+
+.ck-editor__top .ck-sticky-panel .ck-toolbar {
+	/* https://github.com/ckeditor/ckeditor5-editor-classic/issues/62 */
+	z-index: var(--ck-z-modal);
+}

+ 0 - 44
packages/ckeditor5-editor-classic/theme/theme.scss

@@ -1,44 +0,0 @@
-// Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
-// For licensing, see LICENSE.md or http://ckeditor.com/license
-
-@import '~@ckeditor/ckeditor5-theme-lark/theme/theme.scss';
-
-.ck-editor {
-	// All the elements within `.ck-editor` are positioned relatively to it.
-	// If any element needs to be positioned with respect to the <body>, etc.,
-	// it must land outside of the `.ck-editor` in DOM.
-	position: relative;
-}
-
-.ck-editor__top .ck-sticky-panel {
-	.ck-toolbar {
-		@include ck-rounded-corners {
-			border-bottom-left-radius: 0;
-			border-bottom-right-radius: 0;
-		}
-
-		// https://github.com/ckeditor/ckeditor5-editor-classic/issues/62
-		z-index: ck-z( 'modal' );
-		background: ck-color( 'editor-toolbar-background' );
-		border-bottom-width: 0;
-	}
-
-	.ck-sticky-panel__content_sticky {
-		.ck-toolbar {
-			border-bottom-width: 1px;
-
-			@include ck-rounded-corners {
-				border-radius: 0;
-			}
-		}
-	}
-}
-
-.ck-editor__editable {
-	@include ck-rounded-corners {
-		border-top-left-radius: 0;
-		border-top-right-radius: 0;
-	};
-
-	border: 1px solid ck-color( 'editor-border' );
-}