magic-editor-x 1.0.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/LICENSE +21 -0
- package/README.md +890 -0
- package/dist/_chunks/App-B1FgOsWa.mjs +2143 -0
- package/dist/_chunks/App-mtrlABtd.js +2146 -0
- package/dist/_chunks/LicensePage-BnyWSrWs.js +375 -0
- package/dist/_chunks/LicensePage-CWH-AFR-.mjs +373 -0
- package/dist/_chunks/LiveCollaborationPanel-DbDHwr2C.js +222 -0
- package/dist/_chunks/LiveCollaborationPanel-ryjcDAA7.mjs +220 -0
- package/dist/_chunks/Settings-Bk9bxJTy.js +440 -0
- package/dist/_chunks/Settings-D-V2MLVm.mjs +438 -0
- package/dist/_chunks/de-CSrHZWEb.mjs +295 -0
- package/dist/_chunks/de-CzSo1oD2.js +295 -0
- package/dist/_chunks/en-DuQun2v4.mjs +295 -0
- package/dist/_chunks/en-DxIkVPUh.js +295 -0
- package/dist/_chunks/es-DAQ_97zx.js +273 -0
- package/dist/_chunks/es-DEB0CA8S.mjs +273 -0
- package/dist/_chunks/fr-Bqkhvdx2.mjs +273 -0
- package/dist/_chunks/fr-ChPabvNP.js +273 -0
- package/dist/_chunks/getTranslation-C4uWR0DB.mjs +50985 -0
- package/dist/_chunks/getTranslation-D35vbDap.js +51001 -0
- package/dist/_chunks/index-B5MzUyo0.mjs +2541 -0
- package/dist/_chunks/index-BRVqbnOb.mjs +4450 -0
- package/dist/_chunks/index-BiLy_f7C.js +2540 -0
- package/dist/_chunks/index-CQx7-dFP.js +4472 -0
- package/dist/_chunks/pt-BMoYltav.mjs +273 -0
- package/dist/_chunks/pt-Cm74LpyZ.js +273 -0
- package/dist/_chunks/tools-CjnQJ9w2.mjs +2155 -0
- package/dist/_chunks/tools-DNt2tioN.js +2186 -0
- package/dist/admin/index.js +3 -0
- package/dist/admin/index.mjs +4 -0
- package/dist/server/index.js +2554 -0
- package/dist/server/index.mjs +2544 -0
- package/dist/style.css +164 -0
- package/package.json +122 -0
- package/pics/collab-magiceditorX.png +0 -0
- package/pics/editorX.png +0 -0
- package/pics/liveCollabwidget1.png +0 -0
package/dist/style.css
ADDED
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI Assistant Styles for Editor.js
|
|
3
|
+
* Inline toolbar, suggestions, and tooltips
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/* AI Suggestion Underlines */
|
|
7
|
+
.ai-suggestion {
|
|
8
|
+
text-decoration: underline wavy;
|
|
9
|
+
text-decoration-thickness: 2px;
|
|
10
|
+
text-underline-offset: 2px;
|
|
11
|
+
cursor: pointer;
|
|
12
|
+
position: relative;
|
|
13
|
+
transition: background 0.15s ease;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.ai-suggestion[data-type="grammar"],
|
|
17
|
+
.ai-suggestion[data-type="spelling"] {
|
|
18
|
+
text-decoration-color: #ef4444;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.ai-suggestion[data-type="style"] {
|
|
22
|
+
text-decoration-color: #f59e0b;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.ai-suggestion[data-type="suggestion"] {
|
|
26
|
+
text-decoration-color: #3b82f6;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.ai-suggestion:hover {
|
|
30
|
+
background: rgba(124, 58, 237, 0.1);
|
|
31
|
+
border-radius: 2px;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/* AI Inline Toolbar Container */
|
|
35
|
+
.ai-inline-toolbar-container {
|
|
36
|
+
font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/* Editor.js Inline Tool Button Customization */
|
|
40
|
+
.ce-inline-tool--ai-assistant {
|
|
41
|
+
position: relative;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.ce-inline-tool--ai-assistant svg {
|
|
45
|
+
color: #7C3AED;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.ce-inline-tool--ai-assistant:hover svg {
|
|
49
|
+
color: #6d28d9;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/* Loading State for AI Tool Button */
|
|
53
|
+
.ce-inline-tool--ai-assistant.loading svg {
|
|
54
|
+
animation: ai-pulse 1.5s ease-in-out infinite;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
@keyframes ai-pulse {
|
|
58
|
+
0%, 100% {
|
|
59
|
+
opacity: 1;
|
|
60
|
+
}
|
|
61
|
+
50% {
|
|
62
|
+
opacity: 0.5;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/* Editor Block Hover Effect (for AI suggestions) */
|
|
67
|
+
.codex-editor__redactor .ce-block:hover .ai-suggestion {
|
|
68
|
+
text-decoration-color: rgba(239, 68, 68, 0.8);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.codex-editor__redactor .ce-block:hover .ai-suggestion[data-type="style"] {
|
|
72
|
+
text-decoration-color: rgba(245, 158, 11, 0.8);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.codex-editor__redactor .ce-block:hover .ai-suggestion[data-type="suggestion"] {
|
|
76
|
+
text-decoration-color: rgba(59, 130, 246, 0.8);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/* Tooltip Accessibility */
|
|
80
|
+
.ai-suggestion:focus {
|
|
81
|
+
outline: 2px solid #7C3AED;
|
|
82
|
+
outline-offset: 2px;
|
|
83
|
+
border-radius: 2px;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/* Mobile Responsive */
|
|
87
|
+
@media (max-width: 768px) {
|
|
88
|
+
.ai-inline-toolbar-container > div {
|
|
89
|
+
max-width: calc(100vw - 40px);
|
|
90
|
+
left: 20px !important;
|
|
91
|
+
right: 20px !important;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.ai-inline-toolbar-container button span {
|
|
95
|
+
display: none;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.ai-inline-toolbar-container button {
|
|
99
|
+
padding: 6px 8px;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/* Print Styles - Hide AI suggestions when printing */
|
|
104
|
+
@media print {
|
|
105
|
+
.ai-suggestion {
|
|
106
|
+
text-decoration: none !important;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.ai-inline-toolbar-container {
|
|
110
|
+
display: none !important;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/* Dark Mode Support (if Strapi admin is in dark mode) */
|
|
115
|
+
@media (prefers-color-scheme: dark) {
|
|
116
|
+
.ai-inline-toolbar-container > div {
|
|
117
|
+
background: #1e293b;
|
|
118
|
+
border-color: #334155;
|
|
119
|
+
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.ai-inline-toolbar-container button {
|
|
123
|
+
color: #e2e8f0;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.ai-inline-toolbar-container button:hover {
|
|
127
|
+
background: #334155;
|
|
128
|
+
color: #a78bfa;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/* Smooth Transitions */
|
|
133
|
+
.ai-suggestion,
|
|
134
|
+
.ai-inline-toolbar-container button {
|
|
135
|
+
transition: all 0.15s ease;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/* Selection Highlight Enhancement */
|
|
139
|
+
::selection {
|
|
140
|
+
background: rgba(124, 58, 237, 0.2);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
::-moz-selection {
|
|
144
|
+
background: rgba(124, 58, 237, 0.2);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/* Custom Scrollbar for AI Tooltips */
|
|
148
|
+
.ai-tooltip-content::-webkit-scrollbar {
|
|
149
|
+
width: 6px;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
.ai-tooltip-content::-webkit-scrollbar-track {
|
|
153
|
+
background: #f1f5f9;
|
|
154
|
+
border-radius: 3px;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
.ai-tooltip-content::-webkit-scrollbar-thumb {
|
|
158
|
+
background: #cbd5e1;
|
|
159
|
+
border-radius: 3px;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
.ai-tooltip-content::-webkit-scrollbar-thumb:hover {
|
|
163
|
+
background: #94a3b8;
|
|
164
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "magic-editor-x",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Advanced block-based editor for Strapi v5 with Editor.js, Media Library integration, and real-time collaboration support",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"strapi",
|
|
7
|
+
"plugin",
|
|
8
|
+
"editor-js",
|
|
9
|
+
"wysiwyg",
|
|
10
|
+
"block-editor",
|
|
11
|
+
"strapi-v5"
|
|
12
|
+
],
|
|
13
|
+
"type": "commonjs",
|
|
14
|
+
"exports": {
|
|
15
|
+
"./package.json": "./package.json",
|
|
16
|
+
"./strapi-admin": {
|
|
17
|
+
"source": "./admin/src/index.js",
|
|
18
|
+
"import": "./dist/admin/index.mjs",
|
|
19
|
+
"require": "./dist/admin/index.js",
|
|
20
|
+
"default": "./dist/admin/index.js"
|
|
21
|
+
},
|
|
22
|
+
"./strapi-server": {
|
|
23
|
+
"source": "./server/src/index.js",
|
|
24
|
+
"import": "./dist/server/index.mjs",
|
|
25
|
+
"require": "./dist/server/index.js",
|
|
26
|
+
"default": "./dist/server/index.js"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"files": [
|
|
30
|
+
"dist",
|
|
31
|
+
"README.md",
|
|
32
|
+
"LICENSE",
|
|
33
|
+
"pics"
|
|
34
|
+
],
|
|
35
|
+
"scripts": {
|
|
36
|
+
"build": "strapi-plugin build",
|
|
37
|
+
"watch": "strapi-plugin watch",
|
|
38
|
+
"watch:link": "strapi-plugin watch:link",
|
|
39
|
+
"verify": "strapi-plugin verify"
|
|
40
|
+
},
|
|
41
|
+
"dependencies": {
|
|
42
|
+
"@calumk/editorjs-codeflask": "^1.0.10",
|
|
43
|
+
"@editorjs/attaches": "^1.3.0",
|
|
44
|
+
"@editorjs/checklist": "^1.6.0",
|
|
45
|
+
"@editorjs/code": "^2.9.3",
|
|
46
|
+
"@editorjs/delimiter": "^1.4.2",
|
|
47
|
+
"@editorjs/editorjs": "^2.31.0",
|
|
48
|
+
"@editorjs/embed": "^2.7.6",
|
|
49
|
+
"@editorjs/header": "^2.8.8",
|
|
50
|
+
"@editorjs/image": "^2.10.1",
|
|
51
|
+
"@editorjs/inline-code": "^1.5.1",
|
|
52
|
+
"@editorjs/link": "^2.6.2",
|
|
53
|
+
"@editorjs/marker": "^1.4.0",
|
|
54
|
+
"@editorjs/nested-list": "^1.4.3",
|
|
55
|
+
"@editorjs/paragraph": "^2.11.6",
|
|
56
|
+
"@editorjs/personality": "^2.0.2",
|
|
57
|
+
"@editorjs/quote": "^2.7.2",
|
|
58
|
+
"@editorjs/raw": "^2.5.0",
|
|
59
|
+
"@editorjs/simple-image": "^1.6.0",
|
|
60
|
+
"@editorjs/table": "^2.4.2",
|
|
61
|
+
"@editorjs/text-variant-tune": "^1.0.2",
|
|
62
|
+
"@editorjs/underline": "^1.1.0",
|
|
63
|
+
"@editorjs/warning": "^1.4.0",
|
|
64
|
+
"@heroicons/react": "^2.2.0",
|
|
65
|
+
"@sotaproject/strikethrough": "^1.0.1",
|
|
66
|
+
"editorjs-alert": "^1.1.4",
|
|
67
|
+
"editorjs-drag-drop": "^1.1.16",
|
|
68
|
+
"editorjs-indent-tune": "^1.4.3",
|
|
69
|
+
"editorjs-text-alignment-blocktune": "^1.0.3",
|
|
70
|
+
"editorjs-toggle-block": "^0.3.16",
|
|
71
|
+
"editorjs-tooltip": "^1.2.2",
|
|
72
|
+
"editorjs-undo": "^2.0.28",
|
|
73
|
+
"open-graph-scraper": "^6.8.3",
|
|
74
|
+
"prismjs": "^1.30.0",
|
|
75
|
+
"socket.io": "^4.8.1",
|
|
76
|
+
"socket.io-client": "^4.8.1",
|
|
77
|
+
"y-indexeddb": "^9.0.12",
|
|
78
|
+
"y-socket.io": "^1.1.3",
|
|
79
|
+
"yjs": "^13.6.15"
|
|
80
|
+
},
|
|
81
|
+
"devDependencies": {
|
|
82
|
+
"@semantic-release/changelog": "^6.0.3",
|
|
83
|
+
"@semantic-release/commit-analyzer": "^13.0.0",
|
|
84
|
+
"@semantic-release/git": "^10.0.1",
|
|
85
|
+
"@semantic-release/github": "^11.0.1",
|
|
86
|
+
"@semantic-release/npm": "^12.0.1",
|
|
87
|
+
"@semantic-release/release-notes-generator": "^14.0.1",
|
|
88
|
+
"@strapi/design-system": "^2.0.0-rc.30",
|
|
89
|
+
"@strapi/icons": "^2.0.0-rc.30",
|
|
90
|
+
"@strapi/sdk-plugin": "^5.3.2",
|
|
91
|
+
"@strapi/strapi": "^5.31.2",
|
|
92
|
+
"prettier": "^3.7.3",
|
|
93
|
+
"react": "^18.3.1",
|
|
94
|
+
"react-dom": "^18.3.1",
|
|
95
|
+
"react-router-dom": "^6.30.2",
|
|
96
|
+
"semantic-release": "^25.0.2",
|
|
97
|
+
"styled-components": "^6.1.19"
|
|
98
|
+
},
|
|
99
|
+
"peerDependencies": {
|
|
100
|
+
"@strapi/sdk-plugin": "^5.3.2",
|
|
101
|
+
"@strapi/strapi": "^5.31.2",
|
|
102
|
+
"react": "^18.3.1",
|
|
103
|
+
"react-dom": "^18.3.1",
|
|
104
|
+
"react-router-dom": "^6.30.2",
|
|
105
|
+
"styled-components": "^6.1.19"
|
|
106
|
+
},
|
|
107
|
+
"overrides": {
|
|
108
|
+
"prismjs": "^1.30.0"
|
|
109
|
+
},
|
|
110
|
+
"strapi": {
|
|
111
|
+
"kind": "plugin",
|
|
112
|
+
"name": "magic-editor-x",
|
|
113
|
+
"displayName": "Magic Editor X",
|
|
114
|
+
"description": "Advanced block-based editor with Editor.js for Strapi v5"
|
|
115
|
+
},
|
|
116
|
+
"license": "MIT",
|
|
117
|
+
"author": "Schero D. <schero1894@gmail.com>",
|
|
118
|
+
"repository": {
|
|
119
|
+
"type": "git",
|
|
120
|
+
"url": "https://github.com/Schero94/magic-editor-x.git"
|
|
121
|
+
}
|
|
122
|
+
}
|
|
Binary file
|
package/pics/editorX.png
ADDED
|
Binary file
|
|
Binary file
|