@cyberyozh/text-editor 0.1.7 → 0.1.9
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/editor.css +12 -2
- package/dist/editor.css.map +1 -1
- package/dist/editor.d.mts +1 -0
- package/dist/editor.d.ts +1 -0
- package/dist/editor.js +202 -139
- package/dist/editor.js.map +1 -1
- package/dist/editor.mjs +200 -137
- package/dist/editor.mjs.map +1 -1
- package/dist/render.js +76 -11
- package/dist/render.js.map +1 -1
- package/dist/render.mjs +76 -11
- package/dist/render.mjs.map +1 -1
- package/dist/styles/index.css +12 -2
- package/package.json +2 -4
- package/src/editor/controls/bubble-menu-content.tsx +4 -8
- package/src/editor/controls/callout-menu.tsx +2 -0
- package/src/editor/controls/drag-handle.tsx +6 -1
- package/src/editor/dialogs/add-link-dialog/add-link-dialog.css +12 -4
- package/src/editor/dialogs/add-link-dialog/add-link-dialog.tsx +65 -28
- package/src/editor/dialogs/image-dialog/image-dialog.tsx +1 -1
- package/src/editor/editor.tsx +19 -12
- package/src/editor/handlers/dialog-handlers.ts +87 -156
- package/src/editor/handlers/index.ts +1 -2
- package/src/extensions/base/compatibility.ts +52 -0
- package/src/extensions/base/figure.ts +7 -0
- package/src/extensions/base/link.ts +3 -3
- package/src/extensions/views/components/table.tsx +23 -4
- package/src/extensions/views/node-views/figure.tsx +1 -1
- package/src/render/static-renderer-config.tsx +1 -17
- package/src/styles/editor/base.css +1 -1
- package/src/styles/extensions/callout.css +1 -1
- package/src/translations/en.json +5 -1
- package/src/translations/ru.json +5 -1
- package/src/types/image-handler.ts +2 -0
- package/src/types/link.ts +9 -0
- package/src/editor/handlers/create-image-upload-handler.ts +0 -24
package/dist/render.js
CHANGED
|
@@ -687,6 +687,13 @@ var BaseFigure = import_extension_image.default.extend({
|
|
|
687
687
|
caption: {
|
|
688
688
|
default: null,
|
|
689
689
|
parseHTML: (element) => element.querySelector("figcaption")?.textContent || null
|
|
690
|
+
},
|
|
691
|
+
storageKey: {
|
|
692
|
+
default: null,
|
|
693
|
+
parseHTML: (element) => element.getAttribute("data-storage-key"),
|
|
694
|
+
renderHTML: (attributes) => ({
|
|
695
|
+
"data-storage-key": attributes.storageKey
|
|
696
|
+
})
|
|
690
697
|
}
|
|
691
698
|
};
|
|
692
699
|
},
|
|
@@ -1128,6 +1135,32 @@ var BaseLegacyBookAlert = import_core15.Node.create({
|
|
|
1128
1135
|
return {
|
|
1129
1136
|
type: {
|
|
1130
1137
|
default: "error"
|
|
1138
|
+
},
|
|
1139
|
+
bgColor: {
|
|
1140
|
+
default: null,
|
|
1141
|
+
parseHTML: (element) => {
|
|
1142
|
+
if (typeof element === "string") return null;
|
|
1143
|
+
return element.getAttribute("data-bg-color");
|
|
1144
|
+
},
|
|
1145
|
+
renderHTML: (attributes) => {
|
|
1146
|
+
if (!attributes.bgColor) return {};
|
|
1147
|
+
return {
|
|
1148
|
+
"data-bg-color": attributes.bgColor
|
|
1149
|
+
};
|
|
1150
|
+
}
|
|
1151
|
+
},
|
|
1152
|
+
emoji: {
|
|
1153
|
+
default: null,
|
|
1154
|
+
parseHTML: (element) => {
|
|
1155
|
+
if (typeof element === "string") return null;
|
|
1156
|
+
return element.getAttribute("data-emoji");
|
|
1157
|
+
},
|
|
1158
|
+
renderHTML: (attributes) => {
|
|
1159
|
+
if (!attributes.emoji) return {};
|
|
1160
|
+
return {
|
|
1161
|
+
"data-emoji": attributes.emoji
|
|
1162
|
+
};
|
|
1163
|
+
}
|
|
1131
1164
|
}
|
|
1132
1165
|
};
|
|
1133
1166
|
},
|
|
@@ -1157,6 +1190,32 @@ var BaseLegacyBookTip = import_core15.Node.create({
|
|
|
1157
1190
|
return {
|
|
1158
1191
|
type: {
|
|
1159
1192
|
default: "info"
|
|
1193
|
+
},
|
|
1194
|
+
bgColor: {
|
|
1195
|
+
default: null,
|
|
1196
|
+
parseHTML: (element) => {
|
|
1197
|
+
if (typeof element === "string") return null;
|
|
1198
|
+
return element.getAttribute("data-bg-color");
|
|
1199
|
+
},
|
|
1200
|
+
renderHTML: (attributes) => {
|
|
1201
|
+
if (!attributes.bgColor) return {};
|
|
1202
|
+
return {
|
|
1203
|
+
"data-bg-color": attributes.bgColor
|
|
1204
|
+
};
|
|
1205
|
+
}
|
|
1206
|
+
},
|
|
1207
|
+
emoji: {
|
|
1208
|
+
default: null,
|
|
1209
|
+
parseHTML: (element) => {
|
|
1210
|
+
if (typeof element === "string") return null;
|
|
1211
|
+
return element.getAttribute("data-emoji");
|
|
1212
|
+
},
|
|
1213
|
+
renderHTML: (attributes) => {
|
|
1214
|
+
if (!attributes.emoji) return {};
|
|
1215
|
+
return {
|
|
1216
|
+
"data-emoji": attributes.emoji
|
|
1217
|
+
};
|
|
1218
|
+
}
|
|
1160
1219
|
}
|
|
1161
1220
|
};
|
|
1162
1221
|
},
|
|
@@ -2224,10 +2283,24 @@ var PromptContent = ({ children, isEmpty, placeholder }) => /* @__PURE__ */ (0,
|
|
|
2224
2283
|
|
|
2225
2284
|
// src/extensions/views/components/table.tsx
|
|
2226
2285
|
var import_jsx_runtime67 = require("react/jsx-runtime");
|
|
2227
|
-
function Table({ children
|
|
2286
|
+
function Table({ children }) {
|
|
2287
|
+
let colWidths = [];
|
|
2288
|
+
if (Array.isArray(children) && children.length > 0) {
|
|
2289
|
+
const firstRow = children[0];
|
|
2290
|
+
if (firstRow?.props?.children) {
|
|
2291
|
+
const cells = Array.isArray(firstRow.props.children) ? firstRow.props.children : [firstRow.props.children];
|
|
2292
|
+
colWidths = cells.map((cell) => cell?.props?.node?.attrs?.colwidth?.[0]).filter((width) => width !== void 0);
|
|
2293
|
+
}
|
|
2294
|
+
}
|
|
2228
2295
|
const tableWidth = colWidths.length > 0 ? colWidths.reduce((total, width) => total + width, 0) : null;
|
|
2229
2296
|
return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "tableWrapper", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("table", { style: tableWidth ? { width: `${tableWidth}px` } : void 0, children: [
|
|
2230
|
-
colWidths.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("colgroup", { children: colWidths.map((width, index) => /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
|
|
2297
|
+
colWidths.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("colgroup", { children: colWidths.map((width, index) => /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
|
|
2298
|
+
"col",
|
|
2299
|
+
{
|
|
2300
|
+
style: { width: `${width}px` }
|
|
2301
|
+
},
|
|
2302
|
+
index
|
|
2303
|
+
)) }),
|
|
2231
2304
|
/* @__PURE__ */ (0, import_jsx_runtime67.jsx)("tbody", { children })
|
|
2232
2305
|
] }) });
|
|
2233
2306
|
}
|
|
@@ -2394,15 +2467,7 @@ var getNodeMapping = (getImageById) => ({
|
|
|
2394
2467
|
return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(Video, { src: node.attrs.src });
|
|
2395
2468
|
},
|
|
2396
2469
|
table({ children }) {
|
|
2397
|
-
|
|
2398
|
-
if (Array.isArray(children) && children.length > 0) {
|
|
2399
|
-
const firstRow = children[0];
|
|
2400
|
-
if (firstRow?.props?.children) {
|
|
2401
|
-
const cells = Array.isArray(firstRow.props.children) ? firstRow.props.children : [firstRow.props.children];
|
|
2402
|
-
colWidths = cells.map((cell) => cell?.props?.node?.attrs?.colwidth?.[0]).filter((width) => width !== void 0);
|
|
2403
|
-
}
|
|
2404
|
-
}
|
|
2405
|
-
return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(Table, { colWidths, children });
|
|
2470
|
+
return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(Table, { children });
|
|
2406
2471
|
},
|
|
2407
2472
|
figure({ node }) {
|
|
2408
2473
|
return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
|