magic-editor-x 1.3.5 → 1.3.7
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/dist/_chunks/{App-CWXreQMz.js → App-BrAGe1KP.js} +4 -4
- package/dist/_chunks/{App-Czke2os9.mjs → App-SlDn2xdO.mjs} +4 -4
- package/dist/_chunks/{LicensePage-BIaCAB4C.js → LicensePage-C6TBYCWM.js} +2 -2
- package/dist/_chunks/{LicensePage-Cj6-z6rO.mjs → LicensePage-zaYXFrKs.mjs} +2 -2
- package/dist/_chunks/{LiveCollaborationPanel-BmAFvNll.js → LiveCollaborationPanel-CGt57XG1.js} +1 -1
- package/dist/_chunks/{LiveCollaborationPanel-D11eAcKk.mjs → LiveCollaborationPanel-yNC8e1Qb.mjs} +1 -1
- package/dist/_chunks/{Settings-BsoK7S5l.js → Settings-BH0Ttu_5.js} +1 -1
- package/dist/_chunks/{Settings-CsaF0hO7.mjs → Settings-BXoP5tm9.mjs} +1 -1
- package/dist/_chunks/{getTranslation-DB9tlKh9.js → getTranslation-D21ValYk.js} +1 -1
- package/dist/_chunks/{getTranslation-CZ77ytJY.mjs → getTranslation-D2oq0PyC.mjs} +1 -1
- package/dist/_chunks/{index-DO-QpiC9.js → index-BnTvuHf2.js} +5 -5
- package/dist/_chunks/{index-Byp_IaHi.mjs → index-CUTx2oym.mjs} +145 -21
- package/dist/_chunks/{index-BmWx_nJX.js → index-Czk5HVLJ.js} +145 -21
- package/dist/_chunks/{index-BNxjfrVK.mjs → index-tbHD7slZ.mjs} +5 -5
- package/dist/_chunks/{tools-CNqrBm-q.mjs → tools-BGR6Cw4p.mjs} +14 -18
- package/dist/_chunks/{tools-3bMqs3Or.js → tools-D4Y_iEui.js} +14 -18
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/dist/server/index.js +1 -1
- package/dist/server/index.mjs +1 -1
- package/dist/style.css +8 -0
- package/package.json +1 -1
|
@@ -7,10 +7,10 @@ const admin = require("@strapi/strapi/admin");
|
|
|
7
7
|
const styled = require("styled-components");
|
|
8
8
|
const outline = require("@heroicons/react/24/outline");
|
|
9
9
|
const EditorJS = require("@editorjs/editorjs");
|
|
10
|
-
const getTranslation = require("./getTranslation-
|
|
11
|
-
const tools = require("./tools-
|
|
12
|
-
const index = require("./index-
|
|
13
|
-
const LicensePage = require("./LicensePage-
|
|
10
|
+
const getTranslation = require("./getTranslation-D21ValYk.js");
|
|
11
|
+
const tools = require("./tools-D4Y_iEui.js");
|
|
12
|
+
const index = require("./index-BnTvuHf2.js");
|
|
13
|
+
const LicensePage = require("./LicensePage-C6TBYCWM.js");
|
|
14
14
|
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
15
15
|
const styled__default = /* @__PURE__ */ _interopDefault(styled);
|
|
16
16
|
const EditorJS__default = /* @__PURE__ */ _interopDefault(EditorJS);
|
|
@@ -5,10 +5,10 @@ import { useFetchClient, useNotification, Page } from "@strapi/strapi/admin";
|
|
|
5
5
|
import styled, { css, keyframes } from "styled-components";
|
|
6
6
|
import { HashtagIcon, DocumentTextIcon, ListBulletIcon, CheckIcon, ChatBubbleBottomCenterTextIcon, CodeBracketIcon, PhotoIcon, TableCellsIcon, LinkIcon, ExclamationTriangleIcon, PaperClipIcon, BellAlertIcon, SparklesIcon, BeakerIcon, PlayCircleIcon, ArrowPathIcon, EyeIcon, DocumentDuplicateIcon, ChevronRightIcon, CubeTransparentIcon, Cog6ToothIcon, UserGroupIcon, BookOpenIcon, CommandLineIcon, UserPlusIcon, TrashIcon, CheckCircleIcon, XMarkIcon, KeyIcon } from "@heroicons/react/24/outline";
|
|
7
7
|
import EditorJS from "@editorjs/editorjs";
|
|
8
|
-
import { u as useIntl, g as getTranslation, L as Loader, a as Box, T as Typography, F as Flex, c as TextInput, B as Button$2 } from "./getTranslation-
|
|
9
|
-
import { g as getTools } from "./tools-
|
|
10
|
-
import { P as PLUGIN_ID } from "./index-
|
|
11
|
-
import LicensePage from "./LicensePage-
|
|
8
|
+
import { u as useIntl, g as getTranslation, L as Loader, a as Box, T as Typography, F as Flex, c as TextInput, B as Button$2 } from "./getTranslation-D2oq0PyC.mjs";
|
|
9
|
+
import { g as getTools } from "./tools-BGR6Cw4p.mjs";
|
|
10
|
+
import { P as PLUGIN_ID } from "./index-tbHD7slZ.mjs";
|
|
11
|
+
import LicensePage from "./LicensePage-zaYXFrKs.mjs";
|
|
12
12
|
const fadeInUp = keyframes`
|
|
13
13
|
from { opacity: 0; transform: translateY(20px); }
|
|
14
14
|
to { opacity: 1; transform: translateY(0); }
|
|
@@ -3,9 +3,9 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
3
3
|
const jsxRuntime = require("react/jsx-runtime");
|
|
4
4
|
const React = require("react");
|
|
5
5
|
const admin = require("@strapi/strapi/admin");
|
|
6
|
-
const getTranslation = require("./getTranslation-
|
|
6
|
+
const getTranslation = require("./getTranslation-D21ValYk.js");
|
|
7
7
|
const styled = require("styled-components");
|
|
8
|
-
const index = require("./index-
|
|
8
|
+
const index = require("./index-BnTvuHf2.js");
|
|
9
9
|
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
10
10
|
const styled__default = /* @__PURE__ */ _interopDefault(styled);
|
|
11
11
|
const Container = styled__default.default(getTranslation.Box)`
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useState, useEffect } from "react";
|
|
3
3
|
import { useFetchClient, useNotification } from "@strapi/strapi/admin";
|
|
4
|
-
import { u as useIntl, F as Flex, L as Loader, T as Typography, d as Badge, a as Box, g as getTranslation, B as Button } from "./getTranslation-
|
|
4
|
+
import { u as useIntl, F as Flex, L as Loader, T as Typography, d as Badge, a as Box, g as getTranslation, B as Button } from "./getTranslation-D2oq0PyC.mjs";
|
|
5
5
|
import styled from "styled-components";
|
|
6
|
-
import { F as ForwardRef$2o, a as ForwardRef$26, b as ForwardRef$o, c as ForwardRef$1g, d as ForwardRef$y } from "./index-
|
|
6
|
+
import { F as ForwardRef$2o, a as ForwardRef$26, b as ForwardRef$o, c as ForwardRef$1g, d as ForwardRef$y } from "./index-tbHD7slZ.mjs";
|
|
7
7
|
const Container = styled(Box)`
|
|
8
8
|
padding: 32px;
|
|
9
9
|
max-width: 1400px;
|
package/dist/_chunks/{LiveCollaborationPanel-BmAFvNll.js → LiveCollaborationPanel-CGt57XG1.js}
RENAMED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const jsxRuntime = require("react/jsx-runtime");
|
|
4
4
|
const React = require("react");
|
|
5
|
-
const getTranslation = require("./getTranslation-
|
|
5
|
+
const getTranslation = require("./getTranslation-D21ValYk.js");
|
|
6
6
|
const styled = require("styled-components");
|
|
7
7
|
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
8
8
|
const styled__default = /* @__PURE__ */ _interopDefault(styled);
|
package/dist/_chunks/{LiveCollaborationPanel-D11eAcKk.mjs → LiveCollaborationPanel-yNC8e1Qb.mjs}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useState, useEffect, useMemo } from "react";
|
|
3
|
-
import { u as useIntl, F as Flex, g as getTranslation } from "./getTranslation-
|
|
3
|
+
import { u as useIntl, F as Flex, g as getTranslation } from "./getTranslation-D2oq0PyC.mjs";
|
|
4
4
|
import styled, { css, keyframes } from "styled-components";
|
|
5
5
|
const pulse = keyframes`
|
|
6
6
|
0%, 100% {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const jsxRuntime = require("react/jsx-runtime");
|
|
4
4
|
const React = require("react");
|
|
5
|
-
const getTranslation = require("./getTranslation-
|
|
5
|
+
const getTranslation = require("./getTranslation-D21ValYk.js");
|
|
6
6
|
const admin = require("@strapi/strapi/admin");
|
|
7
7
|
const outline = require("@heroicons/react/24/outline");
|
|
8
8
|
const styled = require("styled-components");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useState, useEffect } from "react";
|
|
3
|
-
import { u as useIntl, L as Loader, a as Box, A as Alert, F as Flex, T as Typography, B as Button, d as Badge, e as Accordion, g as getTranslation } from "./getTranslation-
|
|
3
|
+
import { u as useIntl, L as Loader, a as Box, A as Alert, F as Flex, T as Typography, B as Button, d as Badge, e as Accordion, g as getTranslation } from "./getTranslation-D2oq0PyC.mjs";
|
|
4
4
|
import { useFetchClient, useNotification } from "@strapi/strapi/admin";
|
|
5
5
|
import { ArrowPathIcon, DocumentDuplicateIcon, ArrowDownTrayIcon, UserIcon, UsersIcon, ShieldCheckIcon, SparklesIcon, ChartBarIcon } from "@heroicons/react/24/outline";
|
|
6
6
|
import styled, { css, keyframes } from "styled-components";
|
|
@@ -3,7 +3,7 @@ const React = require("react");
|
|
|
3
3
|
const styled = require("styled-components");
|
|
4
4
|
const jsxRuntime = require("react/jsx-runtime");
|
|
5
5
|
const ReactDOM = require("react-dom");
|
|
6
|
-
const index$1 = require("./index-
|
|
6
|
+
const index$1 = require("./index-BnTvuHf2.js");
|
|
7
7
|
function _interopNamespace(e) {
|
|
8
8
|
if (e && e.__esModule) return e;
|
|
9
9
|
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
@@ -4,7 +4,7 @@ import { styled, css, keyframes, createGlobalStyle, useTheme } from "styled-comp
|
|
|
4
4
|
import { jsx, jsxs, Fragment as Fragment$1 } from "react/jsx-runtime";
|
|
5
5
|
import * as ReactDOM from "react-dom";
|
|
6
6
|
import ReactDOM__default, { flushSync, createPortal } from "react-dom";
|
|
7
|
-
import { a as ForwardRef$26, e as ForwardRef$2n, f as ForwardRef$2, g as ForwardRef$1l, h as ForwardRef$1b, i as ForwardRef$2v, j as ForwardRef$1U, k as ForwardRef$2j, l as ForwardRef$12, m as ForwardRef$2k, n as ForwardRef$2x, o as ForwardRef$2h, p as ForwardRef$v, P as PLUGIN_ID } from "./index-
|
|
7
|
+
import { a as ForwardRef$26, e as ForwardRef$2n, f as ForwardRef$2, g as ForwardRef$1l, h as ForwardRef$1b, i as ForwardRef$2v, j as ForwardRef$1U, k as ForwardRef$2j, l as ForwardRef$12, m as ForwardRef$2k, n as ForwardRef$2x, o as ForwardRef$2h, p as ForwardRef$v, P as PLUGIN_ID } from "./index-tbHD7slZ.mjs";
|
|
8
8
|
var __assign = function() {
|
|
9
9
|
__assign = Object.assign || function __assign2(t2) {
|
|
10
10
|
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
@@ -2384,7 +2384,7 @@ const index = {
|
|
|
2384
2384
|
icon: PluginIcon,
|
|
2385
2385
|
// Input component for Content Manager
|
|
2386
2386
|
components: {
|
|
2387
|
-
Input: async () => Promise.resolve().then(() => require("./index-
|
|
2387
|
+
Input: async () => Promise.resolve().then(() => require("./index-Czk5HVLJ.js")).then((module2) => ({
|
|
2388
2388
|
default: module2.default
|
|
2389
2389
|
}))
|
|
2390
2390
|
},
|
|
@@ -2446,7 +2446,7 @@ const index = {
|
|
|
2446
2446
|
defaultMessage: "Magic Editor X"
|
|
2447
2447
|
},
|
|
2448
2448
|
// Use lazy import without async wrapper to avoid deprecation warning
|
|
2449
|
-
Component: () => Promise.resolve().then(() => require("./App-
|
|
2449
|
+
Component: () => Promise.resolve().then(() => require("./App-BrAGe1KP.js")),
|
|
2450
2450
|
permissions: []
|
|
2451
2451
|
});
|
|
2452
2452
|
app.createSettingSection(
|
|
@@ -2465,7 +2465,7 @@ const index = {
|
|
|
2465
2465
|
id: "upgrade",
|
|
2466
2466
|
// relative path (no leading slash)
|
|
2467
2467
|
to: `${PLUGIN_ID}/upgrade`,
|
|
2468
|
-
Component: () => Promise.resolve().then(() => require("./LicensePage-
|
|
2468
|
+
Component: () => Promise.resolve().then(() => require("./LicensePage-C6TBYCWM.js"))
|
|
2469
2469
|
},
|
|
2470
2470
|
{
|
|
2471
2471
|
intlLabel: {
|
|
@@ -2475,7 +2475,7 @@ const index = {
|
|
|
2475
2475
|
id: "license",
|
|
2476
2476
|
// relative path (no leading slash)
|
|
2477
2477
|
to: `${PLUGIN_ID}/license`,
|
|
2478
|
-
Component: () => Promise.resolve().then(() => require("./Settings-
|
|
2478
|
+
Component: () => Promise.resolve().then(() => require("./Settings-BH0Ttu_5.js"))
|
|
2479
2479
|
}
|
|
2480
2480
|
]
|
|
2481
2481
|
);
|
|
@@ -2485,7 +2485,7 @@ const index = {
|
|
|
2485
2485
|
* Bootstrap the plugin
|
|
2486
2486
|
*/
|
|
2487
2487
|
async bootstrap(app) {
|
|
2488
|
-
const { default: LiveCollaborationPanel } = await Promise.resolve().then(() => require("./LiveCollaborationPanel-
|
|
2488
|
+
const { default: LiveCollaborationPanel } = await Promise.resolve().then(() => require("./LiveCollaborationPanel-CGt57XG1.js"));
|
|
2489
2489
|
try {
|
|
2490
2490
|
const contentManagerPlugin = app.getPlugin("content-manager");
|
|
2491
2491
|
if (contentManagerPlugin && contentManagerPlugin.apis) {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
2
2
|
import React__default, { useState, useEffect, useCallback, useRef, useMemo, forwardRef } from "react";
|
|
3
|
-
import { u as useIntl, F as Flex, T as Typography, B as Button$2, D as Divider, a as Box, g as getTranslation, b as Field, L as Loader } from "./getTranslation-
|
|
3
|
+
import { u as useIntl, F as Flex, T as Typography, B as Button$2, D as Divider, a as Box, g as getTranslation, b as Field, L as Loader } from "./getTranslation-D2oq0PyC.mjs";
|
|
4
4
|
import styled, { createGlobalStyle, css } from "styled-components";
|
|
5
5
|
import { ClockIcon, ExclamationTriangleIcon, SparklesIcon as SparklesIcon$1, Bars3BottomLeftIcon, ListBulletIcon, CheckCircleIcon, PhotoIcon, LinkIcon, CodeBracketIcon, TableCellsIcon, ChatBubbleBottomCenterTextIcon, MinusIcon, DocumentDuplicateIcon, TrashIcon, ArrowsPointingInIcon, ArrowsPointingOutIcon, EyeIcon, PencilSquareIcon } from "@heroicons/react/24/outline";
|
|
6
6
|
import EditorJS from "@editorjs/editorjs";
|
|
7
|
-
import { M as MagicEditorAPI, t as toastManager, g as getTools, i as initUndoRedo, a as initDragDrop, A as AIToast, b as AIInlineToolbar } from "./tools-
|
|
7
|
+
import { M as MagicEditorAPI, t as toastManager, g as getTools, i as initUndoRedo, a as initDragDrop, A as AIToast, b as AIInlineToolbar } from "./tools-BGR6Cw4p.mjs";
|
|
8
8
|
import { useStrapiApp, useFetchClient, useAuth } from "@strapi/strapi/admin";
|
|
9
|
-
import { P as PLUGIN_ID } from "./index-
|
|
9
|
+
import { P as PLUGIN_ID } from "./index-tbHD7slZ.mjs";
|
|
10
10
|
import { io } from "socket.io-client";
|
|
11
11
|
import * as Y from "yjs";
|
|
12
12
|
import { IndexeddbPersistence } from "y-indexeddb";
|
|
@@ -2130,22 +2130,24 @@ const EditorJSGlobalStyles = createGlobalStyle`
|
|
|
2130
2130
|
z-index: 99999 !important;
|
|
2131
2131
|
background: white !important;
|
|
2132
2132
|
border: 1px solid #e2e8f0 !important;
|
|
2133
|
-
border-radius:
|
|
2134
|
-
box-shadow: 0
|
|
2135
|
-
padding:
|
|
2133
|
+
border-radius: 12px !important;
|
|
2134
|
+
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15), 0 2px 8px rgba(0, 0, 0, 0.1) !important;
|
|
2135
|
+
padding: 6px !important;
|
|
2136
|
+
position: absolute !important;
|
|
2137
|
+
transform: translateY(-8px) !important;
|
|
2136
2138
|
}
|
|
2137
2139
|
|
|
2138
2140
|
.ce-popover--inline .ce-popover__container {
|
|
2139
2141
|
display: block !important;
|
|
2142
|
+
height: auto !important;
|
|
2140
2143
|
}
|
|
2141
2144
|
|
|
2142
2145
|
/* Items container - HORIZONTAL layout for inline tools */
|
|
2143
2146
|
.ce-popover--inline .ce-popover__items {
|
|
2144
2147
|
display: flex !important;
|
|
2145
2148
|
flex-direction: row !important;
|
|
2146
|
-
flex-wrap:
|
|
2147
|
-
|
|
2148
|
-
gap: 2px !important;
|
|
2149
|
+
flex-wrap: nowrap !important;
|
|
2150
|
+
gap: 4px !important;
|
|
2149
2151
|
opacity: 1 !important;
|
|
2150
2152
|
visibility: visible !important;
|
|
2151
2153
|
}
|
|
@@ -2162,26 +2164,28 @@ const EditorJSGlobalStyles = createGlobalStyle`
|
|
|
2162
2164
|
display: flex !important;
|
|
2163
2165
|
align-items: center !important;
|
|
2164
2166
|
justify-content: center !important;
|
|
2165
|
-
width:
|
|
2166
|
-
height:
|
|
2167
|
+
width: 36px !important;
|
|
2168
|
+
height: 36px !important;
|
|
2167
2169
|
opacity: 1 !important;
|
|
2168
2170
|
visibility: visible !important;
|
|
2169
2171
|
background: transparent !important;
|
|
2170
2172
|
border: none !important;
|
|
2171
|
-
border-radius:
|
|
2173
|
+
border-radius: 8px !important;
|
|
2172
2174
|
cursor: pointer !important;
|
|
2173
2175
|
color: #64748b !important;
|
|
2174
|
-
transition:
|
|
2176
|
+
transition: all 0.15s ease !important;
|
|
2175
2177
|
}
|
|
2176
2178
|
|
|
2177
2179
|
.ce-popover--inline .ce-inline-tool:hover {
|
|
2178
2180
|
background: #f1f5f9 !important;
|
|
2179
2181
|
color: #334155 !important;
|
|
2182
|
+
transform: scale(1.05) !important;
|
|
2180
2183
|
}
|
|
2181
2184
|
|
|
2182
2185
|
.ce-popover--inline .ce-inline-tool--active {
|
|
2183
|
-
background: #ede9fe !important;
|
|
2186
|
+
background: linear-gradient(135deg, #ede9fe 0%, #ddd6fe 100%) !important;
|
|
2184
2187
|
color: #7C3AED !important;
|
|
2188
|
+
font-weight: 600 !important;
|
|
2185
2189
|
}
|
|
2186
2190
|
|
|
2187
2191
|
.ce-popover--inline .ce-inline-tool svg {
|
|
@@ -2189,6 +2193,28 @@ const EditorJSGlobalStyles = createGlobalStyle`
|
|
|
2189
2193
|
height: 18px !important;
|
|
2190
2194
|
}
|
|
2191
2195
|
|
|
2196
|
+
/* AI Assistant button in inline toolbar - special styling */
|
|
2197
|
+
.ce-popover--inline .ce-inline-tool[data-tool="aiAssistant"] {
|
|
2198
|
+
background: linear-gradient(135deg, #7C3AED 0%, #6d28d9 100%) !important;
|
|
2199
|
+
color: white !important;
|
|
2200
|
+
margin-left: 4px !important;
|
|
2201
|
+
position: relative !important;
|
|
2202
|
+
}
|
|
2203
|
+
|
|
2204
|
+
.ce-popover--inline .ce-inline-tool[data-tool="aiAssistant"]:hover {
|
|
2205
|
+
background: linear-gradient(135deg, #6d28d9 0%, #5b21b6 100%) !important;
|
|
2206
|
+
color: white !important;
|
|
2207
|
+
box-shadow: 0 4px 12px rgba(124, 58, 237, 0.4) !important;
|
|
2208
|
+
}
|
|
2209
|
+
|
|
2210
|
+
.ce-popover--inline .ce-inline-tool[data-tool="aiAssistant"]::before {
|
|
2211
|
+
content: '✨';
|
|
2212
|
+
position: absolute;
|
|
2213
|
+
top: -2px;
|
|
2214
|
+
right: -2px;
|
|
2215
|
+
font-size: 12px;
|
|
2216
|
+
}
|
|
2217
|
+
|
|
2192
2218
|
/* Convert-to button (block type changer) */
|
|
2193
2219
|
.ce-popover--inline .ce-popover-item[data-item-name="convert-to"] {
|
|
2194
2220
|
display: flex !important;
|
|
@@ -2202,18 +2228,31 @@ const EditorJSGlobalStyles = createGlobalStyle`
|
|
|
2202
2228
|
background: #f1f5f9 !important;
|
|
2203
2229
|
}
|
|
2204
2230
|
|
|
2205
|
-
/* Separator line between
|
|
2231
|
+
/* Separator line between tool groups */
|
|
2206
2232
|
.ce-popover--inline .ce-popover-item-separator {
|
|
2207
2233
|
width: 1px !important;
|
|
2208
|
-
height:
|
|
2209
|
-
background: #e2e8f0 !important;
|
|
2210
|
-
margin: 0
|
|
2234
|
+
height: 28px !important;
|
|
2235
|
+
background: linear-gradient(180deg, transparent 0%, #e2e8f0 20%, #e2e8f0 80%, transparent 100%) !important;
|
|
2236
|
+
margin: 0 6px !important;
|
|
2237
|
+
flex-shrink: 0 !important;
|
|
2211
2238
|
}
|
|
2212
2239
|
|
|
2213
2240
|
.ce-popover--inline .ce-popover-item-separator__line {
|
|
2214
2241
|
display: none !important;
|
|
2215
2242
|
}
|
|
2216
2243
|
|
|
2244
|
+
/* Separator before AI button */
|
|
2245
|
+
.ce-popover--inline .ce-inline-tool[data-tool="aiAssistant"]::after {
|
|
2246
|
+
content: '';
|
|
2247
|
+
position: absolute;
|
|
2248
|
+
left: -8px;
|
|
2249
|
+
top: 50%;
|
|
2250
|
+
transform: translateY(-50%);
|
|
2251
|
+
width: 1px;
|
|
2252
|
+
height: 28px;
|
|
2253
|
+
background: linear-gradient(180deg, transparent 0%, #c4b5fd 20%, #c4b5fd 80%, transparent 100%);
|
|
2254
|
+
}
|
|
2255
|
+
|
|
2217
2256
|
/* ============================================
|
|
2218
2257
|
GLOBAL Z-INDEX FOR ALL EDITOR POPOVERS
|
|
2219
2258
|
============================================ */
|
|
@@ -2223,10 +2262,73 @@ const EditorJSGlobalStyles = createGlobalStyle`
|
|
|
2223
2262
|
.ce-popover--opened,
|
|
2224
2263
|
.ce-inline-toolbar,
|
|
2225
2264
|
.ce-settings,
|
|
2226
|
-
.ce-conversion-toolbar
|
|
2265
|
+
.ce-conversion-toolbar,
|
|
2266
|
+
.ce-toolbox {
|
|
2227
2267
|
z-index: 99999 !important;
|
|
2228
2268
|
}
|
|
2229
2269
|
|
|
2270
|
+
/* ============================================
|
|
2271
|
+
TOOLBOX POPOVER (Plus Button) - CRITICAL FIX
|
|
2272
|
+
Make sure items are visible and properly displayed
|
|
2273
|
+
============================================ */
|
|
2274
|
+
|
|
2275
|
+
.ce-popover:not(.ce-popover--inline) {
|
|
2276
|
+
display: block !important;
|
|
2277
|
+
visibility: visible !important;
|
|
2278
|
+
opacity: 1 !important;
|
|
2279
|
+
z-index: 99999 !important;
|
|
2280
|
+
}
|
|
2281
|
+
|
|
2282
|
+
.ce-popover--opened {
|
|
2283
|
+
display: block !important;
|
|
2284
|
+
visibility: visible !important;
|
|
2285
|
+
opacity: 1 !important;
|
|
2286
|
+
}
|
|
2287
|
+
|
|
2288
|
+
.ce-popover__container {
|
|
2289
|
+
display: block !important;
|
|
2290
|
+
visibility: visible !important;
|
|
2291
|
+
opacity: 1 !important;
|
|
2292
|
+
}
|
|
2293
|
+
|
|
2294
|
+
.ce-popover__items {
|
|
2295
|
+
display: block !important;
|
|
2296
|
+
visibility: visible !important;
|
|
2297
|
+
opacity: 1 !important;
|
|
2298
|
+
max-height: 400px !important;
|
|
2299
|
+
overflow-y: auto !important;
|
|
2300
|
+
}
|
|
2301
|
+
|
|
2302
|
+
.ce-popover-item {
|
|
2303
|
+
display: flex !important;
|
|
2304
|
+
visibility: visible !important;
|
|
2305
|
+
opacity: 1 !important;
|
|
2306
|
+
}
|
|
2307
|
+
|
|
2308
|
+
.ce-popover-item__icon {
|
|
2309
|
+
display: flex !important;
|
|
2310
|
+
visibility: visible !important;
|
|
2311
|
+
opacity: 1 !important;
|
|
2312
|
+
}
|
|
2313
|
+
|
|
2314
|
+
.ce-popover-item__title {
|
|
2315
|
+
display: block !important;
|
|
2316
|
+
visibility: visible !important;
|
|
2317
|
+
opacity: 1 !important;
|
|
2318
|
+
}
|
|
2319
|
+
|
|
2320
|
+
/* Hide empty/nothing-found message for main toolbox */
|
|
2321
|
+
.ce-popover:not(.ce-popover--inline) .ce-popover__nothing-found-message {
|
|
2322
|
+
display: none !important;
|
|
2323
|
+
}
|
|
2324
|
+
|
|
2325
|
+
/* Make sure search is visible */
|
|
2326
|
+
.ce-popover__search {
|
|
2327
|
+
display: block !important;
|
|
2328
|
+
visibility: visible !important;
|
|
2329
|
+
opacity: 1 !important;
|
|
2330
|
+
}
|
|
2331
|
+
|
|
2230
2332
|
/* ============================================
|
|
2231
2333
|
READONLY MODE - Block all editing interactions
|
|
2232
2334
|
============================================ */
|
|
@@ -2306,11 +2408,29 @@ const EditorJSGlobalStyles = createGlobalStyle`
|
|
|
2306
2408
|
/* Inline toolbar */
|
|
2307
2409
|
.ce-inline-toolbar {
|
|
2308
2410
|
z-index: 99998 !important;
|
|
2411
|
+
background: white !important;
|
|
2412
|
+
border: 1px solid #e2e8f0 !important;
|
|
2413
|
+
border-radius: 12px !important;
|
|
2414
|
+
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15) !important;
|
|
2309
2415
|
}
|
|
2310
2416
|
|
|
2311
2417
|
/* Conversion toolbar */
|
|
2312
2418
|
.ce-conversion-toolbar {
|
|
2313
2419
|
z-index: 99999 !important;
|
|
2420
|
+
padding: 8px !important;
|
|
2421
|
+
display: flex !important;
|
|
2422
|
+
flex-wrap: wrap !important;
|
|
2423
|
+
align-items: center !important;
|
|
2424
|
+
justify-content: center !important;
|
|
2425
|
+
gap: 4px !important;
|
|
2426
|
+
background: white !important;
|
|
2427
|
+
border: 1px solid #e2e8f0 !important;
|
|
2428
|
+
border-radius: 12px !important;
|
|
2429
|
+
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15) !important;
|
|
2430
|
+
}
|
|
2431
|
+
|
|
2432
|
+
.ce-conversion-tool {
|
|
2433
|
+
margin: 0 !important;
|
|
2314
2434
|
}
|
|
2315
2435
|
|
|
2316
2436
|
/* Block tune popovers */
|
|
@@ -3146,8 +3266,12 @@ const EditorWrapper = styled.div`
|
|
|
3146
3266
|
border-radius: 12px !important;
|
|
3147
3267
|
}
|
|
3148
3268
|
|
|
3149
|
-
|
|
3150
|
-
|
|
3269
|
+
/* Only inline toolbar (text selection) needs overflow visible */
|
|
3270
|
+
.ce-inline-toolbar,
|
|
3271
|
+
.ce-inline-toolbar .ce-popover,
|
|
3272
|
+
.ce-inline-toolbar .ce-popover__container,
|
|
3273
|
+
.ce-inline-toolbar .ce-popover__items {
|
|
3274
|
+
overflow: visible !important;
|
|
3151
3275
|
}
|
|
3152
3276
|
|
|
3153
3277
|
.ce-popover-item {
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const jsxRuntime = require("react/jsx-runtime");
|
|
4
4
|
const React = require("react");
|
|
5
|
-
const getTranslation = require("./getTranslation-
|
|
5
|
+
const getTranslation = require("./getTranslation-D21ValYk.js");
|
|
6
6
|
const styled = require("styled-components");
|
|
7
7
|
const outline = require("@heroicons/react/24/outline");
|
|
8
8
|
const EditorJS = require("@editorjs/editorjs");
|
|
9
|
-
const tools = require("./tools-
|
|
9
|
+
const tools = require("./tools-D4Y_iEui.js");
|
|
10
10
|
const admin = require("@strapi/strapi/admin");
|
|
11
|
-
const index = require("./index-
|
|
11
|
+
const index = require("./index-BnTvuHf2.js");
|
|
12
12
|
const socket_ioClient = require("socket.io-client");
|
|
13
13
|
const Y = require("yjs");
|
|
14
14
|
const yIndexeddb = require("y-indexeddb");
|
|
@@ -2154,22 +2154,24 @@ const EditorJSGlobalStyles = styled.createGlobalStyle`
|
|
|
2154
2154
|
z-index: 99999 !important;
|
|
2155
2155
|
background: white !important;
|
|
2156
2156
|
border: 1px solid #e2e8f0 !important;
|
|
2157
|
-
border-radius:
|
|
2158
|
-
box-shadow: 0
|
|
2159
|
-
padding:
|
|
2157
|
+
border-radius: 12px !important;
|
|
2158
|
+
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15), 0 2px 8px rgba(0, 0, 0, 0.1) !important;
|
|
2159
|
+
padding: 6px !important;
|
|
2160
|
+
position: absolute !important;
|
|
2161
|
+
transform: translateY(-8px) !important;
|
|
2160
2162
|
}
|
|
2161
2163
|
|
|
2162
2164
|
.ce-popover--inline .ce-popover__container {
|
|
2163
2165
|
display: block !important;
|
|
2166
|
+
height: auto !important;
|
|
2164
2167
|
}
|
|
2165
2168
|
|
|
2166
2169
|
/* Items container - HORIZONTAL layout for inline tools */
|
|
2167
2170
|
.ce-popover--inline .ce-popover__items {
|
|
2168
2171
|
display: flex !important;
|
|
2169
2172
|
flex-direction: row !important;
|
|
2170
|
-
flex-wrap:
|
|
2171
|
-
|
|
2172
|
-
gap: 2px !important;
|
|
2173
|
+
flex-wrap: nowrap !important;
|
|
2174
|
+
gap: 4px !important;
|
|
2173
2175
|
opacity: 1 !important;
|
|
2174
2176
|
visibility: visible !important;
|
|
2175
2177
|
}
|
|
@@ -2186,26 +2188,28 @@ const EditorJSGlobalStyles = styled.createGlobalStyle`
|
|
|
2186
2188
|
display: flex !important;
|
|
2187
2189
|
align-items: center !important;
|
|
2188
2190
|
justify-content: center !important;
|
|
2189
|
-
width:
|
|
2190
|
-
height:
|
|
2191
|
+
width: 36px !important;
|
|
2192
|
+
height: 36px !important;
|
|
2191
2193
|
opacity: 1 !important;
|
|
2192
2194
|
visibility: visible !important;
|
|
2193
2195
|
background: transparent !important;
|
|
2194
2196
|
border: none !important;
|
|
2195
|
-
border-radius:
|
|
2197
|
+
border-radius: 8px !important;
|
|
2196
2198
|
cursor: pointer !important;
|
|
2197
2199
|
color: #64748b !important;
|
|
2198
|
-
transition:
|
|
2200
|
+
transition: all 0.15s ease !important;
|
|
2199
2201
|
}
|
|
2200
2202
|
|
|
2201
2203
|
.ce-popover--inline .ce-inline-tool:hover {
|
|
2202
2204
|
background: #f1f5f9 !important;
|
|
2203
2205
|
color: #334155 !important;
|
|
2206
|
+
transform: scale(1.05) !important;
|
|
2204
2207
|
}
|
|
2205
2208
|
|
|
2206
2209
|
.ce-popover--inline .ce-inline-tool--active {
|
|
2207
|
-
background: #ede9fe !important;
|
|
2210
|
+
background: linear-gradient(135deg, #ede9fe 0%, #ddd6fe 100%) !important;
|
|
2208
2211
|
color: #7C3AED !important;
|
|
2212
|
+
font-weight: 600 !important;
|
|
2209
2213
|
}
|
|
2210
2214
|
|
|
2211
2215
|
.ce-popover--inline .ce-inline-tool svg {
|
|
@@ -2213,6 +2217,28 @@ const EditorJSGlobalStyles = styled.createGlobalStyle`
|
|
|
2213
2217
|
height: 18px !important;
|
|
2214
2218
|
}
|
|
2215
2219
|
|
|
2220
|
+
/* AI Assistant button in inline toolbar - special styling */
|
|
2221
|
+
.ce-popover--inline .ce-inline-tool[data-tool="aiAssistant"] {
|
|
2222
|
+
background: linear-gradient(135deg, #7C3AED 0%, #6d28d9 100%) !important;
|
|
2223
|
+
color: white !important;
|
|
2224
|
+
margin-left: 4px !important;
|
|
2225
|
+
position: relative !important;
|
|
2226
|
+
}
|
|
2227
|
+
|
|
2228
|
+
.ce-popover--inline .ce-inline-tool[data-tool="aiAssistant"]:hover {
|
|
2229
|
+
background: linear-gradient(135deg, #6d28d9 0%, #5b21b6 100%) !important;
|
|
2230
|
+
color: white !important;
|
|
2231
|
+
box-shadow: 0 4px 12px rgba(124, 58, 237, 0.4) !important;
|
|
2232
|
+
}
|
|
2233
|
+
|
|
2234
|
+
.ce-popover--inline .ce-inline-tool[data-tool="aiAssistant"]::before {
|
|
2235
|
+
content: '✨';
|
|
2236
|
+
position: absolute;
|
|
2237
|
+
top: -2px;
|
|
2238
|
+
right: -2px;
|
|
2239
|
+
font-size: 12px;
|
|
2240
|
+
}
|
|
2241
|
+
|
|
2216
2242
|
/* Convert-to button (block type changer) */
|
|
2217
2243
|
.ce-popover--inline .ce-popover-item[data-item-name="convert-to"] {
|
|
2218
2244
|
display: flex !important;
|
|
@@ -2226,18 +2252,31 @@ const EditorJSGlobalStyles = styled.createGlobalStyle`
|
|
|
2226
2252
|
background: #f1f5f9 !important;
|
|
2227
2253
|
}
|
|
2228
2254
|
|
|
2229
|
-
/* Separator line between
|
|
2255
|
+
/* Separator line between tool groups */
|
|
2230
2256
|
.ce-popover--inline .ce-popover-item-separator {
|
|
2231
2257
|
width: 1px !important;
|
|
2232
|
-
height:
|
|
2233
|
-
background: #e2e8f0 !important;
|
|
2234
|
-
margin: 0
|
|
2258
|
+
height: 28px !important;
|
|
2259
|
+
background: linear-gradient(180deg, transparent 0%, #e2e8f0 20%, #e2e8f0 80%, transparent 100%) !important;
|
|
2260
|
+
margin: 0 6px !important;
|
|
2261
|
+
flex-shrink: 0 !important;
|
|
2235
2262
|
}
|
|
2236
2263
|
|
|
2237
2264
|
.ce-popover--inline .ce-popover-item-separator__line {
|
|
2238
2265
|
display: none !important;
|
|
2239
2266
|
}
|
|
2240
2267
|
|
|
2268
|
+
/* Separator before AI button */
|
|
2269
|
+
.ce-popover--inline .ce-inline-tool[data-tool="aiAssistant"]::after {
|
|
2270
|
+
content: '';
|
|
2271
|
+
position: absolute;
|
|
2272
|
+
left: -8px;
|
|
2273
|
+
top: 50%;
|
|
2274
|
+
transform: translateY(-50%);
|
|
2275
|
+
width: 1px;
|
|
2276
|
+
height: 28px;
|
|
2277
|
+
background: linear-gradient(180deg, transparent 0%, #c4b5fd 20%, #c4b5fd 80%, transparent 100%);
|
|
2278
|
+
}
|
|
2279
|
+
|
|
2241
2280
|
/* ============================================
|
|
2242
2281
|
GLOBAL Z-INDEX FOR ALL EDITOR POPOVERS
|
|
2243
2282
|
============================================ */
|
|
@@ -2247,10 +2286,73 @@ const EditorJSGlobalStyles = styled.createGlobalStyle`
|
|
|
2247
2286
|
.ce-popover--opened,
|
|
2248
2287
|
.ce-inline-toolbar,
|
|
2249
2288
|
.ce-settings,
|
|
2250
|
-
.ce-conversion-toolbar
|
|
2289
|
+
.ce-conversion-toolbar,
|
|
2290
|
+
.ce-toolbox {
|
|
2251
2291
|
z-index: 99999 !important;
|
|
2252
2292
|
}
|
|
2253
2293
|
|
|
2294
|
+
/* ============================================
|
|
2295
|
+
TOOLBOX POPOVER (Plus Button) - CRITICAL FIX
|
|
2296
|
+
Make sure items are visible and properly displayed
|
|
2297
|
+
============================================ */
|
|
2298
|
+
|
|
2299
|
+
.ce-popover:not(.ce-popover--inline) {
|
|
2300
|
+
display: block !important;
|
|
2301
|
+
visibility: visible !important;
|
|
2302
|
+
opacity: 1 !important;
|
|
2303
|
+
z-index: 99999 !important;
|
|
2304
|
+
}
|
|
2305
|
+
|
|
2306
|
+
.ce-popover--opened {
|
|
2307
|
+
display: block !important;
|
|
2308
|
+
visibility: visible !important;
|
|
2309
|
+
opacity: 1 !important;
|
|
2310
|
+
}
|
|
2311
|
+
|
|
2312
|
+
.ce-popover__container {
|
|
2313
|
+
display: block !important;
|
|
2314
|
+
visibility: visible !important;
|
|
2315
|
+
opacity: 1 !important;
|
|
2316
|
+
}
|
|
2317
|
+
|
|
2318
|
+
.ce-popover__items {
|
|
2319
|
+
display: block !important;
|
|
2320
|
+
visibility: visible !important;
|
|
2321
|
+
opacity: 1 !important;
|
|
2322
|
+
max-height: 400px !important;
|
|
2323
|
+
overflow-y: auto !important;
|
|
2324
|
+
}
|
|
2325
|
+
|
|
2326
|
+
.ce-popover-item {
|
|
2327
|
+
display: flex !important;
|
|
2328
|
+
visibility: visible !important;
|
|
2329
|
+
opacity: 1 !important;
|
|
2330
|
+
}
|
|
2331
|
+
|
|
2332
|
+
.ce-popover-item__icon {
|
|
2333
|
+
display: flex !important;
|
|
2334
|
+
visibility: visible !important;
|
|
2335
|
+
opacity: 1 !important;
|
|
2336
|
+
}
|
|
2337
|
+
|
|
2338
|
+
.ce-popover-item__title {
|
|
2339
|
+
display: block !important;
|
|
2340
|
+
visibility: visible !important;
|
|
2341
|
+
opacity: 1 !important;
|
|
2342
|
+
}
|
|
2343
|
+
|
|
2344
|
+
/* Hide empty/nothing-found message for main toolbox */
|
|
2345
|
+
.ce-popover:not(.ce-popover--inline) .ce-popover__nothing-found-message {
|
|
2346
|
+
display: none !important;
|
|
2347
|
+
}
|
|
2348
|
+
|
|
2349
|
+
/* Make sure search is visible */
|
|
2350
|
+
.ce-popover__search {
|
|
2351
|
+
display: block !important;
|
|
2352
|
+
visibility: visible !important;
|
|
2353
|
+
opacity: 1 !important;
|
|
2354
|
+
}
|
|
2355
|
+
|
|
2254
2356
|
/* ============================================
|
|
2255
2357
|
READONLY MODE - Block all editing interactions
|
|
2256
2358
|
============================================ */
|
|
@@ -2330,11 +2432,29 @@ const EditorJSGlobalStyles = styled.createGlobalStyle`
|
|
|
2330
2432
|
/* Inline toolbar */
|
|
2331
2433
|
.ce-inline-toolbar {
|
|
2332
2434
|
z-index: 99998 !important;
|
|
2435
|
+
background: white !important;
|
|
2436
|
+
border: 1px solid #e2e8f0 !important;
|
|
2437
|
+
border-radius: 12px !important;
|
|
2438
|
+
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15) !important;
|
|
2333
2439
|
}
|
|
2334
2440
|
|
|
2335
2441
|
/* Conversion toolbar */
|
|
2336
2442
|
.ce-conversion-toolbar {
|
|
2337
2443
|
z-index: 99999 !important;
|
|
2444
|
+
padding: 8px !important;
|
|
2445
|
+
display: flex !important;
|
|
2446
|
+
flex-wrap: wrap !important;
|
|
2447
|
+
align-items: center !important;
|
|
2448
|
+
justify-content: center !important;
|
|
2449
|
+
gap: 4px !important;
|
|
2450
|
+
background: white !important;
|
|
2451
|
+
border: 1px solid #e2e8f0 !important;
|
|
2452
|
+
border-radius: 12px !important;
|
|
2453
|
+
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15) !important;
|
|
2454
|
+
}
|
|
2455
|
+
|
|
2456
|
+
.ce-conversion-tool {
|
|
2457
|
+
margin: 0 !important;
|
|
2338
2458
|
}
|
|
2339
2459
|
|
|
2340
2460
|
/* Block tune popovers */
|
|
@@ -3170,8 +3290,12 @@ const EditorWrapper = styled__default.default.div`
|
|
|
3170
3290
|
border-radius: 12px !important;
|
|
3171
3291
|
}
|
|
3172
3292
|
|
|
3173
|
-
|
|
3174
|
-
|
|
3293
|
+
/* Only inline toolbar (text selection) needs overflow visible */
|
|
3294
|
+
.ce-inline-toolbar,
|
|
3295
|
+
.ce-inline-toolbar .ce-popover,
|
|
3296
|
+
.ce-inline-toolbar .ce-popover__container,
|
|
3297
|
+
.ce-inline-toolbar .ce-popover__items {
|
|
3298
|
+
overflow: visible !important;
|
|
3175
3299
|
}
|
|
3176
3300
|
|
|
3177
3301
|
.ce-popover-item {
|
|
@@ -2383,7 +2383,7 @@ const index = {
|
|
|
2383
2383
|
icon: PluginIcon,
|
|
2384
2384
|
// Input component for Content Manager
|
|
2385
2385
|
components: {
|
|
2386
|
-
Input: async () => import("./index-
|
|
2386
|
+
Input: async () => import("./index-CUTx2oym.mjs").then((module) => ({
|
|
2387
2387
|
default: module.default
|
|
2388
2388
|
}))
|
|
2389
2389
|
},
|
|
@@ -2445,7 +2445,7 @@ const index = {
|
|
|
2445
2445
|
defaultMessage: "Magic Editor X"
|
|
2446
2446
|
},
|
|
2447
2447
|
// Use lazy import without async wrapper to avoid deprecation warning
|
|
2448
|
-
Component: () => import("./App-
|
|
2448
|
+
Component: () => import("./App-SlDn2xdO.mjs"),
|
|
2449
2449
|
permissions: []
|
|
2450
2450
|
});
|
|
2451
2451
|
app.createSettingSection(
|
|
@@ -2464,7 +2464,7 @@ const index = {
|
|
|
2464
2464
|
id: "upgrade",
|
|
2465
2465
|
// relative path (no leading slash)
|
|
2466
2466
|
to: `${PLUGIN_ID}/upgrade`,
|
|
2467
|
-
Component: () => import("./LicensePage-
|
|
2467
|
+
Component: () => import("./LicensePage-zaYXFrKs.mjs")
|
|
2468
2468
|
},
|
|
2469
2469
|
{
|
|
2470
2470
|
intlLabel: {
|
|
@@ -2474,7 +2474,7 @@ const index = {
|
|
|
2474
2474
|
id: "license",
|
|
2475
2475
|
// relative path (no leading slash)
|
|
2476
2476
|
to: `${PLUGIN_ID}/license`,
|
|
2477
|
-
Component: () => import("./Settings-
|
|
2477
|
+
Component: () => import("./Settings-BXoP5tm9.mjs")
|
|
2478
2478
|
}
|
|
2479
2479
|
]
|
|
2480
2480
|
);
|
|
@@ -2484,7 +2484,7 @@ const index = {
|
|
|
2484
2484
|
* Bootstrap the plugin
|
|
2485
2485
|
*/
|
|
2486
2486
|
async bootstrap(app) {
|
|
2487
|
-
const { default: LiveCollaborationPanel } = await import("./LiveCollaborationPanel-
|
|
2487
|
+
const { default: LiveCollaborationPanel } = await import("./LiveCollaborationPanel-yNC8e1Qb.mjs");
|
|
2488
2488
|
try {
|
|
2489
2489
|
const contentManagerPlugin = app.getPlugin("content-manager");
|
|
2490
2490
|
if (contentManagerPlugin && contentManagerPlugin.apis) {
|
|
@@ -398,14 +398,15 @@ class HyperlinkTool {
|
|
|
398
398
|
this.popup = document.createElement("div");
|
|
399
399
|
this.popup.classList.add("ce-inline-tool-hyperlink-popup");
|
|
400
400
|
this.popup.style.cssText = `
|
|
401
|
-
position:
|
|
401
|
+
position: fixed;
|
|
402
402
|
background: white;
|
|
403
403
|
border: 1px solid #e2e8f0;
|
|
404
|
-
border-radius:
|
|
405
|
-
box-shadow: 0
|
|
406
|
-
padding:
|
|
404
|
+
border-radius: 12px;
|
|
405
|
+
box-shadow: 0 8px 32px rgba(0,0,0,0.15);
|
|
406
|
+
padding: 16px;
|
|
407
407
|
z-index: 999999;
|
|
408
|
-
min-width:
|
|
408
|
+
min-width: 360px;
|
|
409
|
+
max-width: 420px;
|
|
409
410
|
`;
|
|
410
411
|
const urlContainer = this._createInputContainer("URL", "url", parentAnchor?.href || "");
|
|
411
412
|
const targetContainer = this._createSelectContainer(
|
|
@@ -585,23 +586,15 @@ class HyperlinkTool {
|
|
|
585
586
|
return container;
|
|
586
587
|
}
|
|
587
588
|
/**
|
|
588
|
-
* Positions the popup
|
|
589
|
+
* Positions the popup centered on screen
|
|
589
590
|
*/
|
|
590
591
|
_positionPopup() {
|
|
591
592
|
if (!this.popup) return;
|
|
592
|
-
const selection = window.getSelection();
|
|
593
|
-
if (!selection.rangeCount) return;
|
|
594
|
-
const range = selection.getRangeAt(0);
|
|
595
|
-
const rect = range.getBoundingClientRect();
|
|
596
593
|
const popupRect = this.popup.getBoundingClientRect();
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
left = window.innerWidth - popupRect.width - 10;
|
|
602
|
-
}
|
|
603
|
-
this.popup.style.left = `${left}px`;
|
|
604
|
-
this.popup.style.top = `${top}px`;
|
|
594
|
+
const left = (window.innerWidth - popupRect.width) / 2;
|
|
595
|
+
const top = (window.innerHeight - popupRect.height) / 2;
|
|
596
|
+
this.popup.style.left = `${Math.max(10, left)}px`;
|
|
597
|
+
this.popup.style.top = `${Math.max(10, top)}px`;
|
|
605
598
|
}
|
|
606
599
|
/**
|
|
607
600
|
* Saves the link with user-entered values
|
|
@@ -1423,6 +1416,9 @@ class AIAssistantTool {
|
|
|
1423
1416
|
toastManager.error("Keine Lizenz verfügbar");
|
|
1424
1417
|
return;
|
|
1425
1418
|
}
|
|
1419
|
+
if (this.api.inlineToolbar) {
|
|
1420
|
+
this.api.inlineToolbar.close();
|
|
1421
|
+
}
|
|
1426
1422
|
const selection = window.getSelection();
|
|
1427
1423
|
if (!selection.rangeCount) return;
|
|
1428
1424
|
const rect = selection.getRangeAt(0).getBoundingClientRect();
|
|
@@ -431,14 +431,15 @@ class HyperlinkTool {
|
|
|
431
431
|
this.popup = document.createElement("div");
|
|
432
432
|
this.popup.classList.add("ce-inline-tool-hyperlink-popup");
|
|
433
433
|
this.popup.style.cssText = `
|
|
434
|
-
position:
|
|
434
|
+
position: fixed;
|
|
435
435
|
background: white;
|
|
436
436
|
border: 1px solid #e2e8f0;
|
|
437
|
-
border-radius:
|
|
438
|
-
box-shadow: 0
|
|
439
|
-
padding:
|
|
437
|
+
border-radius: 12px;
|
|
438
|
+
box-shadow: 0 8px 32px rgba(0,0,0,0.15);
|
|
439
|
+
padding: 16px;
|
|
440
440
|
z-index: 999999;
|
|
441
|
-
min-width:
|
|
441
|
+
min-width: 360px;
|
|
442
|
+
max-width: 420px;
|
|
442
443
|
`;
|
|
443
444
|
const urlContainer = this._createInputContainer("URL", "url", parentAnchor?.href || "");
|
|
444
445
|
const targetContainer = this._createSelectContainer(
|
|
@@ -618,23 +619,15 @@ class HyperlinkTool {
|
|
|
618
619
|
return container;
|
|
619
620
|
}
|
|
620
621
|
/**
|
|
621
|
-
* Positions the popup
|
|
622
|
+
* Positions the popup centered on screen
|
|
622
623
|
*/
|
|
623
624
|
_positionPopup() {
|
|
624
625
|
if (!this.popup) return;
|
|
625
|
-
const selection = window.getSelection();
|
|
626
|
-
if (!selection.rangeCount) return;
|
|
627
|
-
const range = selection.getRangeAt(0);
|
|
628
|
-
const rect = range.getBoundingClientRect();
|
|
629
626
|
const popupRect = this.popup.getBoundingClientRect();
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
left = window.innerWidth - popupRect.width - 10;
|
|
635
|
-
}
|
|
636
|
-
this.popup.style.left = `${left}px`;
|
|
637
|
-
this.popup.style.top = `${top}px`;
|
|
627
|
+
const left = (window.innerWidth - popupRect.width) / 2;
|
|
628
|
+
const top = (window.innerHeight - popupRect.height) / 2;
|
|
629
|
+
this.popup.style.left = `${Math.max(10, left)}px`;
|
|
630
|
+
this.popup.style.top = `${Math.max(10, top)}px`;
|
|
638
631
|
}
|
|
639
632
|
/**
|
|
640
633
|
* Saves the link with user-entered values
|
|
@@ -1456,6 +1449,9 @@ class AIAssistantTool {
|
|
|
1456
1449
|
toastManager.error("Keine Lizenz verfügbar");
|
|
1457
1450
|
return;
|
|
1458
1451
|
}
|
|
1452
|
+
if (this.api.inlineToolbar) {
|
|
1453
|
+
this.api.inlineToolbar.close();
|
|
1454
|
+
}
|
|
1459
1455
|
const selection = window.getSelection();
|
|
1460
1456
|
if (!selection.rangeCount) return;
|
|
1461
1457
|
const rect = selection.getRangeAt(0).getBoundingClientRect();
|
package/dist/admin/index.js
CHANGED
package/dist/admin/index.mjs
CHANGED
package/dist/server/index.js
CHANGED
|
@@ -37941,7 +37941,7 @@ var snapshotService$1 = ({ strapi: strapi2 }) => {
|
|
|
37941
37941
|
};
|
|
37942
37942
|
};
|
|
37943
37943
|
const name = "magic-editor-x";
|
|
37944
|
-
const version = "1.3.
|
|
37944
|
+
const version = "1.3.6";
|
|
37945
37945
|
const description = "Advanced block-based editor for Strapi v5 with Editor.js, Media Library integration, and real-time collaboration support";
|
|
37946
37946
|
const keywords = [
|
|
37947
37947
|
"strapi",
|
package/dist/server/index.mjs
CHANGED
|
@@ -37922,7 +37922,7 @@ var snapshotService$1 = ({ strapi: strapi2 }) => {
|
|
|
37922
37922
|
};
|
|
37923
37923
|
};
|
|
37924
37924
|
const name = "magic-editor-x";
|
|
37925
|
-
const version = "1.3.
|
|
37925
|
+
const version = "1.3.6";
|
|
37926
37926
|
const description = "Advanced block-based editor for Strapi v5 with Editor.js, Media Library integration, and real-time collaboration support";
|
|
37927
37927
|
const keywords = [
|
|
37928
37928
|
"strapi",
|
package/dist/style.css
CHANGED
|
@@ -38,6 +38,14 @@
|
|
|
38
38
|
display: none !important;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
+
/* CRITICAL: Allow inline toolbar (text selection) to overflow */
|
|
42
|
+
.ce-inline-toolbar,
|
|
43
|
+
.ce-inline-toolbar .ce-popover,
|
|
44
|
+
.ce-inline-toolbar .ce-popover__container,
|
|
45
|
+
.ce-inline-toolbar .ce-popover__items {
|
|
46
|
+
overflow: visible !important;
|
|
47
|
+
}
|
|
48
|
+
|
|
41
49
|
.ce-popover__search {
|
|
42
50
|
background: transparent !important;
|
|
43
51
|
border: none !important;
|
package/package.json
CHANGED