From a2d53408d46e7ddaaf12e3a02856a1adb0624108 Mon Sep 17 00:00:00 2001
From: chris <kokosias@yahoo.gr>
Date: Thu, 23 Apr 2020 00:45:47 +0300
Subject: [PATCH] move service

---
 wax-prosemirror-core/index.js                               | 6 +-----
 wax-prosemirror-core/src/config/defaultConfig.js            | 4 ++--
 wax-prosemirror-layouts/src/layouts/EditoriaLayout.js       | 2 +-
 wax-prosemirror-services/index.js                           | 4 ++++
 wax-prosemirror-services/src/BaseService/BaseService.js     | 2 +-
 .../src/BaseService/RedoService/RedoService.js              | 2 +-
 .../src/BaseService/SaveService/SaveService.js              | 2 +-
 .../src/BaseService/UndoService/UndoService.js              | 2 +-
 .../src/CommentsService/CommentsService.js                  | 2 +-
 .../src/DisplayBlockLevel/AuthorService/AuthorService.js    | 2 +-
 .../src/DisplayBlockLevel/DisplayBlockLevelService.js       | 2 +-
 .../EpigraphPoetryService/EpigraphPoetryService.js          | 2 +-
 .../EpigraphProseService/EpigraphProseService.js            | 2 +-
 .../src/DisplayBlockLevel/HeadingService/HeadingService.js  | 2 +-
 .../DisplayBlockLevel/SubTitleService/SubTitleService.js    | 2 +-
 .../src/DisplayBlockLevel/TitleService/TitleService.js      | 2 +-
 wax-prosemirror-services/src/ImageService/ImageService.js   | 2 +-
 .../src/InlineAnnotations/CodeService/CodeService.js        | 2 +-
 .../InlineAnnotations/EmphasisService/EmphasisService.js    | 2 +-
 .../src/InlineAnnotations/InlineAnnotationsService.js       | 2 +-
 .../InlineAnnotations/SmallCapsService/SmallCapsService.js  | 2 +-
 .../StrikeThroughService/StrikeThroughService.js            | 2 +-
 .../src/InlineAnnotations/StrongService/StrongService.js    | 2 +-
 .../InlineAnnotations/SubscriptService/SubscriptService.js  | 2 +-
 .../SuperscriptService/SuperscriptService.js                | 2 +-
 .../InlineAnnotations/UnderlineService/UnderlineService.js  | 2 +-
 .../src}/LayoutService/DefaultLayout/DefaultLayout.js       | 0
 .../src}/LayoutService/Layout.js                            | 0
 .../src}/LayoutService/LayoutService.js                     | 0
 .../src}/LayoutService/components/LayoutFactory.js          | 0
 .../src}/LayoutService/components/componentPlugin.js        | 3 ++-
 wax-prosemirror-services/src/LinkService/LinkService.js     | 2 +-
 .../src/ListsService/BulletListService/BulletListService.js | 2 +-
 .../src/ListsService/JoinUpService/JoinUpService.js         | 2 +-
 .../src/ListsService/LiftService/LiftService.js             | 2 +-
 .../src/ListsService/ListItemService/ListItemService.js     | 2 +-
 wax-prosemirror-services/src/ListsService/ListsService.js   | 2 +-
 .../ListsService/OrderedListService/OrderedListService.js   | 2 +-
 wax-prosemirror-services/src/MenuService/MenuService.js     | 2 +-
 wax-prosemirror-services/src/ModalService/ModalService.js   | 2 +-
 wax-prosemirror-services/src/NoteService/NoteService.js     | 2 +-
 .../src/OverlayService/OverlayService.js                    | 2 +-
 .../src/PlaceholderService/PlaceholderService.js            | 2 +-
 wax-prosemirror-services/src/RulesService/RulesService.js   | 2 +-
 wax-prosemirror-services/src/SchemaService/SchemaService.js | 2 +-
 .../services => wax-prosemirror-services/src}/Service.js    | 0
 .../src/ShortCutsService/ShortCutsService.js                | 2 +-
 .../src/TablesService/EditTableService/EditTableService.js  | 2 +-
 .../TablesService/InsertTableService/InsertTableService.js  | 2 +-
 wax-prosemirror-services/src/TablesService/TablesService.js | 2 +-
 .../TextBlockLevel/BlockQuoteService/BlockQuoteService.js   | 2 +-
 .../ExtractPoetryService/ExtractPoetryService.js            | 2 +-
 .../ExtractProseService/ExtractProseService.js              | 2 +-
 .../ParagraphContinuedService/ParagraphContinuedService.js  | 2 +-
 .../src/TextBlockLevel/ParagraphService/ParagraphService.js | 2 +-
 .../TextBlockLevel/SourceNoteService/SourceNoteService.js   | 2 +-
 .../src/TextBlockLevel/TextBlockLevelService.js             | 2 +-
 .../src/TrackChangeService/TrackChangeService.js            | 2 +-
 .../AnnotationToolGroupService.js                           | 2 +-
 .../BaseToolGroupService/BaseToolGroupService.js            | 2 +-
 .../DisplayToolGroupService/DisplayToolGroupService.js      | 2 +-
 .../ImageToolGroupService/ImageToolGroupService.js          | 2 +-
 .../ListToolGroupService/ListToolGroupService.js            | 2 +-
 .../NoteToolGroupService/NoteToolGroupService.js            | 2 +-
 .../TableToolGroupService/TableToolGroupService.js          | 2 +-
 .../TextToolGroupService/TextToolGroupService.js            | 2 +-
 66 files changed, 66 insertions(+), 65 deletions(-)
 rename {wax-prosemirror-core/src/services => wax-prosemirror-services/src}/LayoutService/DefaultLayout/DefaultLayout.js (100%)
 rename {wax-prosemirror-core/src/services => wax-prosemirror-services/src}/LayoutService/Layout.js (100%)
 rename {wax-prosemirror-core/src/services => wax-prosemirror-services/src}/LayoutService/LayoutService.js (100%)
 rename {wax-prosemirror-core/src/services => wax-prosemirror-services/src}/LayoutService/components/LayoutFactory.js (100%)
 rename {wax-prosemirror-core/src/services => wax-prosemirror-services/src}/LayoutService/components/componentPlugin.js (93%)
 rename {wax-prosemirror-core/src/services => wax-prosemirror-services/src}/Service.js (100%)

diff --git a/wax-prosemirror-core/index.js b/wax-prosemirror-core/index.js
index a454c501e..d969e668b 100644
--- a/wax-prosemirror-core/index.js
+++ b/wax-prosemirror-core/index.js
@@ -1,6 +1,2 @@
-export { default as Service } from "./src/services/Service";
-export { WaxContext } from "./src/ioc-react";
+export { WaxContext, useInjection } from "./src/ioc-react";
 export { default as Wax } from "./src/Wax";
-export {
-  default as componentPlugin
-} from "./src/services/LayoutService/components/componentPlugin";
diff --git a/wax-prosemirror-core/src/config/defaultConfig.js b/wax-prosemirror-core/src/config/defaultConfig.js
index d006ad5ed..eaa95d45e 100644
--- a/wax-prosemirror-core/src/config/defaultConfig.js
+++ b/wax-prosemirror-core/src/config/defaultConfig.js
@@ -1,9 +1,9 @@
-import LayoutService from "../services/LayoutService/LayoutService";
 import {
   SchemaService,
   MenuService,
   RulesService,
-  ShortCutsService
+  ShortCutsService,
+  LayoutService
 } from "wax-prosemirror-services";
 
 export default {
diff --git a/wax-prosemirror-layouts/src/layouts/EditoriaLayout.js b/wax-prosemirror-layouts/src/layouts/EditoriaLayout.js
index 43ed80124..b14375b4d 100644
--- a/wax-prosemirror-layouts/src/layouts/EditoriaLayout.js
+++ b/wax-prosemirror-layouts/src/layouts/EditoriaLayout.js
@@ -1,7 +1,7 @@
 import React, { useContext } from "react";
 import styled, { ThemeProvider } from "styled-components";
 import { InfoArea } from "wax-prosemirror-components";
-import { componentPlugin, Service } from "wax-prosemirror-core";
+import { componentPlugin } from "wax-prosemirror-services";
 import EditorElements from "./EditorElements";
 import { cokoTheme } from "wax-prosemirror-themes";
 import { DocumentHelpers } from "wax-prosemirror-utilities";
diff --git a/wax-prosemirror-services/index.js b/wax-prosemirror-services/index.js
index fb86aeabe..515a0d252 100644
--- a/wax-prosemirror-services/index.js
+++ b/wax-prosemirror-services/index.js
@@ -1,3 +1,7 @@
+export {
+  default as componentPlugin
+} from "./src/LayoutService/components/componentPlugin";
+export { default as LayoutService } from "./src/LayoutService/LayoutService";
 export { default as MenuService } from "./src/MenuService/MenuService";
 export { default as LinkService } from "./src/LinkService/LinkService";
 export {
diff --git a/wax-prosemirror-services/src/BaseService/BaseService.js b/wax-prosemirror-services/src/BaseService/BaseService.js
index 11f07fb3f..f19184172 100644
--- a/wax-prosemirror-services/src/BaseService/BaseService.js
+++ b/wax-prosemirror-services/src/BaseService/BaseService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../Service";
 import BaseServices from "./index";
 
 class BaseService extends Service {
diff --git a/wax-prosemirror-services/src/BaseService/RedoService/RedoService.js b/wax-prosemirror-services/src/BaseService/RedoService/RedoService.js
index 80b1933f2..327a838a1 100644
--- a/wax-prosemirror-services/src/BaseService/RedoService/RedoService.js
+++ b/wax-prosemirror-services/src/BaseService/RedoService/RedoService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import Redo from "./Redo";
 
 class RedoService extends Service {
diff --git a/wax-prosemirror-services/src/BaseService/SaveService/SaveService.js b/wax-prosemirror-services/src/BaseService/SaveService/SaveService.js
index 94956e3ec..ac129b12b 100644
--- a/wax-prosemirror-services/src/BaseService/SaveService/SaveService.js
+++ b/wax-prosemirror-services/src/BaseService/SaveService/SaveService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import Save from "./Save";
 
 class SaveService extends Service {
diff --git a/wax-prosemirror-services/src/BaseService/UndoService/UndoService.js b/wax-prosemirror-services/src/BaseService/UndoService/UndoService.js
index a47dabf1b..eba135b1e 100644
--- a/wax-prosemirror-services/src/BaseService/UndoService/UndoService.js
+++ b/wax-prosemirror-services/src/BaseService/UndoService/UndoService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import Undo from "./Undo";
 
 class UndoService extends Service {
diff --git a/wax-prosemirror-services/src/CommentsService/CommentsService.js b/wax-prosemirror-services/src/CommentsService/CommentsService.js
index 97b94ea49..fb0a3fbd5 100644
--- a/wax-prosemirror-services/src/CommentsService/CommentsService.js
+++ b/wax-prosemirror-services/src/CommentsService/CommentsService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../Service";
 import { commentMark } from "wax-prosemirror-schema";
 import {
   CommentComponent,
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/AuthorService/AuthorService.js b/wax-prosemirror-services/src/DisplayBlockLevel/AuthorService/AuthorService.js
index bf378858c..f937c1258 100644
--- a/wax-prosemirror-services/src/DisplayBlockLevel/AuthorService/AuthorService.js
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/AuthorService/AuthorService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import { authorNode } from "wax-prosemirror-schema";
 import Author from "./Author";
 
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/DisplayBlockLevelService.js b/wax-prosemirror-services/src/DisplayBlockLevel/DisplayBlockLevelService.js
index 86a15d76c..0e10e8333 100644
--- a/wax-prosemirror-services/src/DisplayBlockLevel/DisplayBlockLevelService.js
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/DisplayBlockLevelService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../Service";
 import DisplayServices from "./index";
 
 class DisplayBlockLevelService extends Service {
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphPoetryService/EpigraphPoetryService.js b/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphPoetryService/EpigraphPoetryService.js
index 921999613..dc8842b20 100644
--- a/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphPoetryService/EpigraphPoetryService.js
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphPoetryService/EpigraphPoetryService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import { epigraphPoetryNode } from "wax-prosemirror-schema";
 import EpigraphPoetry from "./EpigraphPoetry";
 
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphProseService/EpigraphProseService.js b/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphProseService/EpigraphProseService.js
index a848a780a..a32f9aaa0 100644
--- a/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphProseService/EpigraphProseService.js
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphProseService/EpigraphProseService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import { epigraphProseNode } from "wax-prosemirror-schema";
 import EpigraphProse from "./EpigraphProse";
 
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/HeadingService.js b/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/HeadingService.js
index 290c8f101..6d4925468 100644
--- a/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/HeadingService.js
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/HeadingService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import { headingNode } from "wax-prosemirror-schema";
 import Heading1 from "./Heading1";
 import Heading2 from "./Heading2";
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/SubTitleService/SubTitleService.js b/wax-prosemirror-services/src/DisplayBlockLevel/SubTitleService/SubTitleService.js
index 681001c43..854dfe2be 100644
--- a/wax-prosemirror-services/src/DisplayBlockLevel/SubTitleService/SubTitleService.js
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/SubTitleService/SubTitleService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import { subTitleNode } from "wax-prosemirror-schema";
 import SubTitle from "./SubTitle";
 
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/TitleService/TitleService.js b/wax-prosemirror-services/src/DisplayBlockLevel/TitleService/TitleService.js
index bf3dea5d3..410306a69 100644
--- a/wax-prosemirror-services/src/DisplayBlockLevel/TitleService/TitleService.js
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/TitleService/TitleService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import { titleNode } from "wax-prosemirror-schema";
 import Title from "./Title";
 
diff --git a/wax-prosemirror-services/src/ImageService/ImageService.js b/wax-prosemirror-services/src/ImageService/ImageService.js
index a4c06b163..8e2ed795c 100644
--- a/wax-prosemirror-services/src/ImageService/ImageService.js
+++ b/wax-prosemirror-services/src/ImageService/ImageService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../Service";
 import Image from "./Image";
 import { imageNode } from "wax-prosemirror-schema";
 
diff --git a/wax-prosemirror-services/src/InlineAnnotations/CodeService/CodeService.js b/wax-prosemirror-services/src/InlineAnnotations/CodeService/CodeService.js
index 191adc2a5..833699625 100644
--- a/wax-prosemirror-services/src/InlineAnnotations/CodeService/CodeService.js
+++ b/wax-prosemirror-services/src/InlineAnnotations/CodeService/CodeService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import { toggleMark } from "prosemirror-commands";
 import { codeMark } from "wax-prosemirror-schema";
 import Code from "./Code";
diff --git a/wax-prosemirror-services/src/InlineAnnotations/EmphasisService/EmphasisService.js b/wax-prosemirror-services/src/InlineAnnotations/EmphasisService/EmphasisService.js
index 57f542c42..11f2e42c2 100644
--- a/wax-prosemirror-services/src/InlineAnnotations/EmphasisService/EmphasisService.js
+++ b/wax-prosemirror-services/src/InlineAnnotations/EmphasisService/EmphasisService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import { toggleMark } from "prosemirror-commands";
 import { emphasisMark } from "wax-prosemirror-schema";
 import Emphasis from "./Emphasis";
diff --git a/wax-prosemirror-services/src/InlineAnnotations/InlineAnnotationsService.js b/wax-prosemirror-services/src/InlineAnnotations/InlineAnnotationsService.js
index 051c48d25..76e753be9 100644
--- a/wax-prosemirror-services/src/InlineAnnotations/InlineAnnotationsService.js
+++ b/wax-prosemirror-services/src/InlineAnnotations/InlineAnnotationsService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../Service";
 import InlineServices from "./index";
 
 class InlineAnnotationsService extends Service {
diff --git a/wax-prosemirror-services/src/InlineAnnotations/SmallCapsService/SmallCapsService.js b/wax-prosemirror-services/src/InlineAnnotations/SmallCapsService/SmallCapsService.js
index 45bfdba51..990e10f6e 100644
--- a/wax-prosemirror-services/src/InlineAnnotations/SmallCapsService/SmallCapsService.js
+++ b/wax-prosemirror-services/src/InlineAnnotations/SmallCapsService/SmallCapsService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import { smallcapsMark } from "wax-prosemirror-schema";
 import SmallCaps from "./SmallCaps";
 
diff --git a/wax-prosemirror-services/src/InlineAnnotations/StrikeThroughService/StrikeThroughService.js b/wax-prosemirror-services/src/InlineAnnotations/StrikeThroughService/StrikeThroughService.js
index 5d26c46d3..f7b757791 100644
--- a/wax-prosemirror-services/src/InlineAnnotations/StrikeThroughService/StrikeThroughService.js
+++ b/wax-prosemirror-services/src/InlineAnnotations/StrikeThroughService/StrikeThroughService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import { strikethroughMark } from "wax-prosemirror-schema";
 import StrikeThrough from "./StrikeThrough";
 class StrikeThroughService extends Service {
diff --git a/wax-prosemirror-services/src/InlineAnnotations/StrongService/StrongService.js b/wax-prosemirror-services/src/InlineAnnotations/StrongService/StrongService.js
index ab4d84754..21d9ad3d4 100644
--- a/wax-prosemirror-services/src/InlineAnnotations/StrongService/StrongService.js
+++ b/wax-prosemirror-services/src/InlineAnnotations/StrongService/StrongService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import { toggleMark } from "prosemirror-commands";
 import { strongMark } from "wax-prosemirror-schema";
 import Strong from "./Strong";
diff --git a/wax-prosemirror-services/src/InlineAnnotations/SubscriptService/SubscriptService.js b/wax-prosemirror-services/src/InlineAnnotations/SubscriptService/SubscriptService.js
index fefec6887..d27a8a94c 100644
--- a/wax-prosemirror-services/src/InlineAnnotations/SubscriptService/SubscriptService.js
+++ b/wax-prosemirror-services/src/InlineAnnotations/SubscriptService/SubscriptService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import { subscriptMark } from "wax-prosemirror-schema";
 import Subscript from "./Subscript";
 
diff --git a/wax-prosemirror-services/src/InlineAnnotations/SuperscriptService/SuperscriptService.js b/wax-prosemirror-services/src/InlineAnnotations/SuperscriptService/SuperscriptService.js
index c3e3659bc..85b92cbbf 100644
--- a/wax-prosemirror-services/src/InlineAnnotations/SuperscriptService/SuperscriptService.js
+++ b/wax-prosemirror-services/src/InlineAnnotations/SuperscriptService/SuperscriptService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import { superscriptMark } from "wax-prosemirror-schema";
 import Superscript from "./Superscript";
 
diff --git a/wax-prosemirror-services/src/InlineAnnotations/UnderlineService/UnderlineService.js b/wax-prosemirror-services/src/InlineAnnotations/UnderlineService/UnderlineService.js
index d5874c94a..5035e45d5 100644
--- a/wax-prosemirror-services/src/InlineAnnotations/UnderlineService/UnderlineService.js
+++ b/wax-prosemirror-services/src/InlineAnnotations/UnderlineService/UnderlineService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import { toggleMark } from "prosemirror-commands";
 import { underlineMark } from "wax-prosemirror-schema";
 import Underline from "./Underline";
diff --git a/wax-prosemirror-core/src/services/LayoutService/DefaultLayout/DefaultLayout.js b/wax-prosemirror-services/src/LayoutService/DefaultLayout/DefaultLayout.js
similarity index 100%
rename from wax-prosemirror-core/src/services/LayoutService/DefaultLayout/DefaultLayout.js
rename to wax-prosemirror-services/src/LayoutService/DefaultLayout/DefaultLayout.js
diff --git a/wax-prosemirror-core/src/services/LayoutService/Layout.js b/wax-prosemirror-services/src/LayoutService/Layout.js
similarity index 100%
rename from wax-prosemirror-core/src/services/LayoutService/Layout.js
rename to wax-prosemirror-services/src/LayoutService/Layout.js
diff --git a/wax-prosemirror-core/src/services/LayoutService/LayoutService.js b/wax-prosemirror-services/src/LayoutService/LayoutService.js
similarity index 100%
rename from wax-prosemirror-core/src/services/LayoutService/LayoutService.js
rename to wax-prosemirror-services/src/LayoutService/LayoutService.js
diff --git a/wax-prosemirror-core/src/services/LayoutService/components/LayoutFactory.js b/wax-prosemirror-services/src/LayoutService/components/LayoutFactory.js
similarity index 100%
rename from wax-prosemirror-core/src/services/LayoutService/components/LayoutFactory.js
rename to wax-prosemirror-services/src/LayoutService/components/LayoutFactory.js
diff --git a/wax-prosemirror-core/src/services/LayoutService/components/componentPlugin.js b/wax-prosemirror-services/src/LayoutService/components/componentPlugin.js
similarity index 93%
rename from wax-prosemirror-core/src/services/LayoutService/components/componentPlugin.js
rename to wax-prosemirror-services/src/LayoutService/components/componentPlugin.js
index 729d4f7b6..d3e1e3343 100644
--- a/wax-prosemirror-core/src/services/LayoutService/components/componentPlugin.js
+++ b/wax-prosemirror-services/src/LayoutService/components/componentPlugin.js
@@ -1,5 +1,6 @@
 import React, { Component } from "react";
-import { useInjection } from "../../../ioc-react";
+import { useInjection } from "wax-prosemirror-core";
+
 class UpdateView extends Component {
   constructor(props) {
     super(props);
diff --git a/wax-prosemirror-services/src/LinkService/LinkService.js b/wax-prosemirror-services/src/LinkService/LinkService.js
index 31624c641..b6563d612 100644
--- a/wax-prosemirror-services/src/LinkService/LinkService.js
+++ b/wax-prosemirror-services/src/LinkService/LinkService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../Service";
 import { LinkComponent } from "wax-prosemirror-components";
 import { linkMark } from "wax-prosemirror-schema";
 import LinkTool from "./LinkTool";
diff --git a/wax-prosemirror-services/src/ListsService/BulletListService/BulletListService.js b/wax-prosemirror-services/src/ListsService/BulletListService/BulletListService.js
index 85e0d1dac..e4e323854 100644
--- a/wax-prosemirror-services/src/ListsService/BulletListService/BulletListService.js
+++ b/wax-prosemirror-services/src/ListsService/BulletListService/BulletListService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import { wrapInList } from "prosemirror-schema-list";
 import { bulletListNode } from "wax-prosemirror-schema";
 import BulletList from "./BulletList";
diff --git a/wax-prosemirror-services/src/ListsService/JoinUpService/JoinUpService.js b/wax-prosemirror-services/src/ListsService/JoinUpService/JoinUpService.js
index 36e3b1f48..32e83e840 100644
--- a/wax-prosemirror-services/src/ListsService/JoinUpService/JoinUpService.js
+++ b/wax-prosemirror-services/src/ListsService/JoinUpService/JoinUpService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import JoinUp from "./JoinUp";
 
 class JoinUpService extends Service {
diff --git a/wax-prosemirror-services/src/ListsService/LiftService/LiftService.js b/wax-prosemirror-services/src/ListsService/LiftService/LiftService.js
index f594a61c1..a074a2f82 100644
--- a/wax-prosemirror-services/src/ListsService/LiftService/LiftService.js
+++ b/wax-prosemirror-services/src/ListsService/LiftService/LiftService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import { liftListItem, sinkListItem } from "prosemirror-schema-list";
 import Lift from "./Lift";
 
diff --git a/wax-prosemirror-services/src/ListsService/ListItemService/ListItemService.js b/wax-prosemirror-services/src/ListsService/ListItemService/ListItemService.js
index abccb3939..828e4436c 100644
--- a/wax-prosemirror-services/src/ListsService/ListItemService/ListItemService.js
+++ b/wax-prosemirror-services/src/ListsService/ListItemService/ListItemService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import { listItemNode } from "wax-prosemirror-schema";
 
 class ListItemService extends Service {
diff --git a/wax-prosemirror-services/src/ListsService/ListsService.js b/wax-prosemirror-services/src/ListsService/ListsService.js
index e8ee63462..3e1fd3507 100644
--- a/wax-prosemirror-services/src/ListsService/ListsService.js
+++ b/wax-prosemirror-services/src/ListsService/ListsService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../Service";
 import ListsServices from "./index";
 
 class ListsService extends Service {
diff --git a/wax-prosemirror-services/src/ListsService/OrderedListService/OrderedListService.js b/wax-prosemirror-services/src/ListsService/OrderedListService/OrderedListService.js
index 977546208..23aad6d5f 100644
--- a/wax-prosemirror-services/src/ListsService/OrderedListService/OrderedListService.js
+++ b/wax-prosemirror-services/src/ListsService/OrderedListService/OrderedListService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import { wrapInList } from "prosemirror-schema-list";
 import { orderedListNode } from "wax-prosemirror-schema";
 import OrderedList from "./OrderedList";
diff --git a/wax-prosemirror-services/src/MenuService/MenuService.js b/wax-prosemirror-services/src/MenuService/MenuService.js
index 2497e71c0..08fa2c5ec 100644
--- a/wax-prosemirror-services/src/MenuService/MenuService.js
+++ b/wax-prosemirror-services/src/MenuService/MenuService.js
@@ -1,5 +1,5 @@
 import { isPlainObject, isFunction } from "lodash";
-import { Service } from "wax-prosemirror-core";
+import Service from "../Service";
 import Menu from "./Menu";
 import MenuCollection from "./MenuCollection";
 
diff --git a/wax-prosemirror-services/src/ModalService/ModalService.js b/wax-prosemirror-services/src/ModalService/ModalService.js
index ef75f9153..546a52ffb 100644
--- a/wax-prosemirror-services/src/ModalService/ModalService.js
+++ b/wax-prosemirror-services/src/ModalService/ModalService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../Service";
 import ModalPlugin from "./pmPlugins/ModalPlugin";
 import ModalComponent from "./ModalComponent";
 const PLUGIN_KEY = "overlay";
diff --git a/wax-prosemirror-services/src/NoteService/NoteService.js b/wax-prosemirror-services/src/NoteService/NoteService.js
index 09b0125f7..c28ca7ff8 100644
--- a/wax-prosemirror-services/src/NoteService/NoteService.js
+++ b/wax-prosemirror-services/src/NoteService/NoteService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../Service";
 import { footNoteNode } from "wax-prosemirror-schema";
 import { CommentBubbleComponent } from "wax-prosemirror-components";
 import Note from "./Note";
diff --git a/wax-prosemirror-services/src/OverlayService/OverlayService.js b/wax-prosemirror-services/src/OverlayService/OverlayService.js
index dc24c71a9..f16b45f0e 100644
--- a/wax-prosemirror-services/src/OverlayService/OverlayService.js
+++ b/wax-prosemirror-services/src/OverlayService/OverlayService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../Service";
 import OverlayComponent from "./OverlayComponent";
 
 export default class OverlayService extends Service {
diff --git a/wax-prosemirror-services/src/PlaceholderService/PlaceholderService.js b/wax-prosemirror-services/src/PlaceholderService/PlaceholderService.js
index 9b994ec27..37f9787f9 100644
--- a/wax-prosemirror-services/src/PlaceholderService/PlaceholderService.js
+++ b/wax-prosemirror-services/src/PlaceholderService/PlaceholderService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../Service";
 import placeholderPlugin from "./pmPlugins/placeholderPlugin";
 const PLUGIN_KEY = "imagePlaceHolder";
 
diff --git a/wax-prosemirror-services/src/RulesService/RulesService.js b/wax-prosemirror-services/src/RulesService/RulesService.js
index 6ea9380eb..0e4951171 100644
--- a/wax-prosemirror-services/src/RulesService/RulesService.js
+++ b/wax-prosemirror-services/src/RulesService/RulesService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../Service";
 import Rules from "./Rules";
 
 export default class RulesService extends Service {
diff --git a/wax-prosemirror-services/src/SchemaService/SchemaService.js b/wax-prosemirror-services/src/SchemaService/SchemaService.js
index d9cfc8b6d..ba79ba110 100644
--- a/wax-prosemirror-services/src/SchemaService/SchemaService.js
+++ b/wax-prosemirror-services/src/SchemaService/SchemaService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../Service";
 import Schema from "./Schema";
 import Node from "./Node";
 import Mark from "./Mark";
diff --git a/wax-prosemirror-core/src/services/Service.js b/wax-prosemirror-services/src/Service.js
similarity index 100%
rename from wax-prosemirror-core/src/services/Service.js
rename to wax-prosemirror-services/src/Service.js
diff --git a/wax-prosemirror-services/src/ShortCutsService/ShortCutsService.js b/wax-prosemirror-services/src/ShortCutsService/ShortCutsService.js
index d17b988ee..f558ae874 100644
--- a/wax-prosemirror-services/src/ShortCutsService/ShortCutsService.js
+++ b/wax-prosemirror-services/src/ShortCutsService/ShortCutsService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../Service";
 import ShortCuts from "./ShortCuts";
 
 export default class ShortCutsService extends Service {
diff --git a/wax-prosemirror-services/src/TablesService/EditTableService/EditTableService.js b/wax-prosemirror-services/src/TablesService/EditTableService/EditTableService.js
index 8e0b1ccf6..8c113349e 100644
--- a/wax-prosemirror-services/src/TablesService/EditTableService/EditTableService.js
+++ b/wax-prosemirror-services/src/TablesService/EditTableService/EditTableService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import TableDropDownOptions from "./TableDropDownOptions";
 
 class EditTableService extends Service {
diff --git a/wax-prosemirror-services/src/TablesService/InsertTableService/InsertTableService.js b/wax-prosemirror-services/src/TablesService/InsertTableService/InsertTableService.js
index 10baaab52..98cce559e 100644
--- a/wax-prosemirror-services/src/TablesService/InsertTableService/InsertTableService.js
+++ b/wax-prosemirror-services/src/TablesService/InsertTableService/InsertTableService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import { tableNodes, goToNextCell } from "prosemirror-tables";
 import Table from "./Table";
 
diff --git a/wax-prosemirror-services/src/TablesService/TablesService.js b/wax-prosemirror-services/src/TablesService/TablesService.js
index 69910e5b2..1172660ad 100644
--- a/wax-prosemirror-services/src/TablesService/TablesService.js
+++ b/wax-prosemirror-services/src/TablesService/TablesService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../Service";
 import TablesServices from "./index";
 
 class TablesService extends Service {
diff --git a/wax-prosemirror-services/src/TextBlockLevel/BlockQuoteService/BlockQuoteService.js b/wax-prosemirror-services/src/TextBlockLevel/BlockQuoteService/BlockQuoteService.js
index c75b9441b..3878ee9b6 100644
--- a/wax-prosemirror-services/src/TextBlockLevel/BlockQuoteService/BlockQuoteService.js
+++ b/wax-prosemirror-services/src/TextBlockLevel/BlockQuoteService/BlockQuoteService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import { blockQuoteNode } from "wax-prosemirror-schema";
 import BlockQuote from "./BlockQuote";
 
diff --git a/wax-prosemirror-services/src/TextBlockLevel/ExtractPoetryService/ExtractPoetryService.js b/wax-prosemirror-services/src/TextBlockLevel/ExtractPoetryService/ExtractPoetryService.js
index 3a02bc2b2..1d5018ca4 100644
--- a/wax-prosemirror-services/src/TextBlockLevel/ExtractPoetryService/ExtractPoetryService.js
+++ b/wax-prosemirror-services/src/TextBlockLevel/ExtractPoetryService/ExtractPoetryService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import { extractPoetryNode } from "wax-prosemirror-schema";
 import ExtractPoetry from "./ExtractPoetry";
 
diff --git a/wax-prosemirror-services/src/TextBlockLevel/ExtractProseService/ExtractProseService.js b/wax-prosemirror-services/src/TextBlockLevel/ExtractProseService/ExtractProseService.js
index a6c8739d0..f1bbf427f 100644
--- a/wax-prosemirror-services/src/TextBlockLevel/ExtractProseService/ExtractProseService.js
+++ b/wax-prosemirror-services/src/TextBlockLevel/ExtractProseService/ExtractProseService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import { extractProseNode } from "wax-prosemirror-schema";
 import ExtractProse from "./ExtractProse";
 
diff --git a/wax-prosemirror-services/src/TextBlockLevel/ParagraphContinuedService/ParagraphContinuedService.js b/wax-prosemirror-services/src/TextBlockLevel/ParagraphContinuedService/ParagraphContinuedService.js
index 73236e2dd..f99837896 100644
--- a/wax-prosemirror-services/src/TextBlockLevel/ParagraphContinuedService/ParagraphContinuedService.js
+++ b/wax-prosemirror-services/src/TextBlockLevel/ParagraphContinuedService/ParagraphContinuedService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import { paragraphContNode } from "wax-prosemirror-schema";
 import ParagraphContinued from "./ParagraphContinued";
 
diff --git a/wax-prosemirror-services/src/TextBlockLevel/ParagraphService/ParagraphService.js b/wax-prosemirror-services/src/TextBlockLevel/ParagraphService/ParagraphService.js
index 25e572b67..fa2ffdbcc 100644
--- a/wax-prosemirror-services/src/TextBlockLevel/ParagraphService/ParagraphService.js
+++ b/wax-prosemirror-services/src/TextBlockLevel/ParagraphService/ParagraphService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import Paragraph from "./Paragraph";
 
 class ParagraphService extends Service {
diff --git a/wax-prosemirror-services/src/TextBlockLevel/SourceNoteService/SourceNoteService.js b/wax-prosemirror-services/src/TextBlockLevel/SourceNoteService/SourceNoteService.js
index 1b31d838c..659262ab9 100644
--- a/wax-prosemirror-services/src/TextBlockLevel/SourceNoteService/SourceNoteService.js
+++ b/wax-prosemirror-services/src/TextBlockLevel/SourceNoteService/SourceNoteService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import { sourceNoteNode } from "wax-prosemirror-schema";
 import SourceNote from "./SourceNote";
 
diff --git a/wax-prosemirror-services/src/TextBlockLevel/TextBlockLevelService.js b/wax-prosemirror-services/src/TextBlockLevel/TextBlockLevelService.js
index 73c7a4819..756956f3c 100644
--- a/wax-prosemirror-services/src/TextBlockLevel/TextBlockLevelService.js
+++ b/wax-prosemirror-services/src/TextBlockLevel/TextBlockLevelService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../Service";
 import TextServices from "./index";
 
 class TextBlockLevelService extends Service {
diff --git a/wax-prosemirror-services/src/TrackChangeService/TrackChangeService.js b/wax-prosemirror-services/src/TrackChangeService/TrackChangeService.js
index 9ff014eda..0cb3937ab 100644
--- a/wax-prosemirror-services/src/TrackChangeService/TrackChangeService.js
+++ b/wax-prosemirror-services/src/TrackChangeService/TrackChangeService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../Service";
 import { trackChangesMarks, trackChangesNodes } from "wax-prosemirror-schema";
 
 class TrackChangeService extends Service {
diff --git a/wax-prosemirror-services/src/WaxToolGroups/AnnotationToolGroupService/AnnotationToolGroupService.js b/wax-prosemirror-services/src/WaxToolGroups/AnnotationToolGroupService/AnnotationToolGroupService.js
index 0e7e5b0fc..4a3f4e8d2 100644
--- a/wax-prosemirror-services/src/WaxToolGroups/AnnotationToolGroupService/AnnotationToolGroupService.js
+++ b/wax-prosemirror-services/src/WaxToolGroups/AnnotationToolGroupService/AnnotationToolGroupService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import Annotations from "./Annotations";
 
 class AnnotationToolGroupService extends Service {
diff --git a/wax-prosemirror-services/src/WaxToolGroups/BaseToolGroupService/BaseToolGroupService.js b/wax-prosemirror-services/src/WaxToolGroups/BaseToolGroupService/BaseToolGroupService.js
index 4d9899ecf..7429579fc 100644
--- a/wax-prosemirror-services/src/WaxToolGroups/BaseToolGroupService/BaseToolGroupService.js
+++ b/wax-prosemirror-services/src/WaxToolGroups/BaseToolGroupService/BaseToolGroupService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import Base from "./Base";
 
 class BaseToolGroupService extends Service {
diff --git a/wax-prosemirror-services/src/WaxToolGroups/DisplayToolGroupService/DisplayToolGroupService.js b/wax-prosemirror-services/src/WaxToolGroups/DisplayToolGroupService/DisplayToolGroupService.js
index def004835..8ffc1852e 100644
--- a/wax-prosemirror-services/src/WaxToolGroups/DisplayToolGroupService/DisplayToolGroupService.js
+++ b/wax-prosemirror-services/src/WaxToolGroups/DisplayToolGroupService/DisplayToolGroupService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import Display from "./Display";
 
 class DisplayToolGroupService extends Service {
diff --git a/wax-prosemirror-services/src/WaxToolGroups/ImageToolGroupService/ImageToolGroupService.js b/wax-prosemirror-services/src/WaxToolGroups/ImageToolGroupService/ImageToolGroupService.js
index 4711a34d5..cd249031a 100644
--- a/wax-prosemirror-services/src/WaxToolGroups/ImageToolGroupService/ImageToolGroupService.js
+++ b/wax-prosemirror-services/src/WaxToolGroups/ImageToolGroupService/ImageToolGroupService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import Images from "./Images";
 
 class ImageToolGroupService extends Service {
diff --git a/wax-prosemirror-services/src/WaxToolGroups/ListToolGroupService/ListToolGroupService.js b/wax-prosemirror-services/src/WaxToolGroups/ListToolGroupService/ListToolGroupService.js
index 960726baa..815d423e2 100644
--- a/wax-prosemirror-services/src/WaxToolGroups/ListToolGroupService/ListToolGroupService.js
+++ b/wax-prosemirror-services/src/WaxToolGroups/ListToolGroupService/ListToolGroupService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import Lists from "./Lists";
 
 class ListToolGroupService extends Service {
diff --git a/wax-prosemirror-services/src/WaxToolGroups/NoteToolGroupService/NoteToolGroupService.js b/wax-prosemirror-services/src/WaxToolGroups/NoteToolGroupService/NoteToolGroupService.js
index f1992f818..15d469325 100644
--- a/wax-prosemirror-services/src/WaxToolGroups/NoteToolGroupService/NoteToolGroupService.js
+++ b/wax-prosemirror-services/src/WaxToolGroups/NoteToolGroupService/NoteToolGroupService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import Notes from "./Notes";
 
 class NoteToolGroupService extends Service {
diff --git a/wax-prosemirror-services/src/WaxToolGroups/TableToolGroupService/TableToolGroupService.js b/wax-prosemirror-services/src/WaxToolGroups/TableToolGroupService/TableToolGroupService.js
index 0f7483050..3c0b40a52 100644
--- a/wax-prosemirror-services/src/WaxToolGroups/TableToolGroupService/TableToolGroupService.js
+++ b/wax-prosemirror-services/src/WaxToolGroups/TableToolGroupService/TableToolGroupService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import Tables from "./Tables";
 
 class TableToolGroupService extends Service {
diff --git a/wax-prosemirror-services/src/WaxToolGroups/TextToolGroupService/TextToolGroupService.js b/wax-prosemirror-services/src/WaxToolGroups/TextToolGroupService/TextToolGroupService.js
index 2f1f05932..7b074f52f 100644
--- a/wax-prosemirror-services/src/WaxToolGroups/TextToolGroupService/TextToolGroupService.js
+++ b/wax-prosemirror-services/src/WaxToolGroups/TextToolGroupService/TextToolGroupService.js
@@ -1,4 +1,4 @@
-import { Service } from "wax-prosemirror-core";
+import Service from "../../Service";
 import Text from "./Text";
 
 class TextToolGroupService extends Service {
-- 
GitLab