superdoc 1.0.0-beta.10 → 1.0.0-beta.12
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/{PdfViewer--YMlVUNN.es.js → PdfViewer-BL2O6Y4C.es.js} +1 -1
- package/dist/chunks/{PdfViewer-H8A08hnq.cjs → PdfViewer-CWb8_m3N.cjs} +1 -1
- package/dist/chunks/{index-B7kE5mis.cjs → index-ANaY3G41.cjs} +3 -3
- package/dist/chunks/{index-BrS4iO03.es.js → index-Bs29IidK.es.js} +3 -3
- package/dist/chunks/{index-CC6Vsniy-D24AMjnI.cjs → index-Cha-6AFg-28WIXlKN.cjs} +1 -1
- package/dist/chunks/{index-CC6Vsniy-En79I7vb.es.js → index-Cha-6AFg-3WCQFN4m.es.js} +1 -1
- package/dist/chunks/{super-editor.es-C3Mtq3FL.es.js → super-editor.es-C-5T9RJI.es.js} +214 -73
- package/dist/chunks/{super-editor.es-Bf7zv4k5.cjs → super-editor.es-CBMp55sv.cjs} +214 -73
- package/dist/style.css +6 -6
- package/dist/super-editor/ai-writer.es.js +2 -2
- package/dist/super-editor/chunks/{converter-xQmDrmCk.js → converter-B4P0mjU2.js} +1 -1
- package/dist/super-editor/chunks/{docx-zipper-BKkVPA0E.js → docx-zipper-D5Do5rOh.js} +1 -1
- package/dist/super-editor/chunks/{editor-C0RiU_sq.js → editor-CoLzF_z4.js} +171 -55
- package/dist/super-editor/chunks/{index-CC6Vsniy.js → index-Cha-6AFg.js} +1 -1
- package/dist/super-editor/chunks/{toolbar-BznN8wrp.js → toolbar-Bt8ifcaq.js} +2 -2
- package/dist/super-editor/converter.es.js +1 -1
- package/dist/super-editor/docx-zipper.es.js +2 -2
- package/dist/super-editor/editor.es.js +3 -3
- package/dist/super-editor/file-zipper.es.js +2 -2
- package/dist/super-editor/style.css +6 -6
- package/dist/super-editor/super-editor.es.js +49 -24
- package/dist/super-editor/toolbar.es.js +2 -2
- package/dist/super-editor.cjs +1 -1
- package/dist/super-editor.es.js +1 -1
- package/dist/superdoc.cjs +2 -2
- package/dist/superdoc.es.js +2 -2
- package/dist/superdoc.umd.js +216 -75
- package/dist/superdoc.umd.js.map +1 -1
- package/package.json +1 -1
|
@@ -35605,7 +35605,7 @@ const _SuperConverter = class _SuperConverter2 {
|
|
|
35605
35605
|
static getStoredSuperdocVersion(docx) {
|
|
35606
35606
|
return _SuperConverter2.getStoredCustomProperty(docx, "SuperdocVersion");
|
|
35607
35607
|
}
|
|
35608
|
-
static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "1.0.0-beta.
|
|
35608
|
+
static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "1.0.0-beta.12") {
|
|
35609
35609
|
return _SuperConverter2.setStoredCustomProperty(docx, "SuperdocVersion", version2, false);
|
|
35610
35610
|
}
|
|
35611
35611
|
/**
|
|
@@ -52312,7 +52312,7 @@ const isHeadless = (editor) => {
|
|
|
52312
52312
|
const shouldSkipNodeView = (editor) => {
|
|
52313
52313
|
return isHeadless(editor);
|
|
52314
52314
|
};
|
|
52315
|
-
const summaryVersion = "1.0.0-beta.
|
|
52315
|
+
const summaryVersion = "1.0.0-beta.12";
|
|
52316
52316
|
const nodeKeys = ["group", "content", "marks", "inline", "atom", "defining", "code", "tableRole", "summary"];
|
|
52317
52317
|
const markKeys = ["group", "inclusive", "excludes", "spanning", "code"];
|
|
52318
52318
|
function mapAttributes(attrs) {
|
|
@@ -53091,7 +53091,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
|
|
|
53091
53091
|
{ default: remarkStringify },
|
|
53092
53092
|
{ default: remarkGfm }
|
|
53093
53093
|
] = await Promise.all([
|
|
53094
|
-
Promise.resolve().then(() => require("./index-
|
|
53094
|
+
Promise.resolve().then(() => require("./index-Cha-6AFg-28WIXlKN.cjs")),
|
|
53095
53095
|
Promise.resolve().then(() => require("./index-DRCvimau-H4Ck3S9a.cjs")),
|
|
53096
53096
|
Promise.resolve().then(() => require("./index-C_x_N6Uh-Db3CUJMX.cjs")),
|
|
53097
53097
|
Promise.resolve().then(() => require("./index-D_sWOSiG-BtDZzJ6I.cjs")),
|
|
@@ -53296,7 +53296,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
|
|
|
53296
53296
|
* Process collaboration migrations
|
|
53297
53297
|
*/
|
|
53298
53298
|
processCollaborationMigrations() {
|
|
53299
|
-
console.debug("[checkVersionMigrations] Current editor version", "1.0.0-beta.
|
|
53299
|
+
console.debug("[checkVersionMigrations] Current editor version", "1.0.0-beta.12");
|
|
53300
53300
|
if (!this.options.ydoc) return;
|
|
53301
53301
|
const metaMap = this.options.ydoc.getMap("meta");
|
|
53302
53302
|
let docVersion = metaMap.get("version");
|
|
@@ -57397,28 +57397,42 @@ const computeParagraphAttrs = (para, styleContext, listCounterContext, converter
|
|
|
57397
57397
|
const indentSource = attrs.indent ?? paragraphProps.indent ?? hydrated?.indent;
|
|
57398
57398
|
const normalizedIndent = normalizePxIndent(indentSource) ?? normalizeParagraphIndent(indentSource ?? attrs.textIndent);
|
|
57399
57399
|
const unwrapTabStops = (tabStops) => {
|
|
57400
|
-
if (!Array.isArray(tabStops))
|
|
57400
|
+
if (!Array.isArray(tabStops)) {
|
|
57401
|
+
return void 0;
|
|
57402
|
+
}
|
|
57401
57403
|
const unwrapped = [];
|
|
57402
57404
|
for (const entry of tabStops) {
|
|
57403
|
-
if (entry
|
|
57404
|
-
|
|
57405
|
-
|
|
57406
|
-
|
|
57407
|
-
|
|
57408
|
-
|
|
57409
|
-
|
|
57410
|
-
|
|
57411
|
-
const leader = tabObj.leader;
|
|
57412
|
-
if (typeof leader === "string") normalized.leader = leader;
|
|
57413
|
-
const originalPos = pickNumber(tabObj.originalPos);
|
|
57414
|
-
if (originalPos != null) normalized.originalPos = originalPos;
|
|
57415
|
-
unwrapped.push(normalized);
|
|
57416
|
-
continue;
|
|
57417
|
-
}
|
|
57405
|
+
if (!entry || typeof entry !== "object") {
|
|
57406
|
+
continue;
|
|
57407
|
+
}
|
|
57408
|
+
if ("tab" in entry) {
|
|
57409
|
+
const entryRecord2 = entry;
|
|
57410
|
+
const tab = entryRecord2.tab;
|
|
57411
|
+
if (!tab || typeof tab !== "object") {
|
|
57412
|
+
continue;
|
|
57418
57413
|
}
|
|
57414
|
+
const tabObj = tab;
|
|
57415
|
+
const val = typeof tabObj.tabType === "string" ? tabObj.tabType : typeof tabObj.val === "string" ? tabObj.val : void 0;
|
|
57416
|
+
const pos = pickNumber(tabObj.originalPos ?? tabObj.pos);
|
|
57417
|
+
if (!val || pos == null) {
|
|
57418
|
+
continue;
|
|
57419
|
+
}
|
|
57420
|
+
const normalized = { val, pos };
|
|
57421
|
+
const leader = tabObj.leader;
|
|
57422
|
+
if (typeof leader === "string" && leader.length > 0) {
|
|
57423
|
+
normalized.leader = leader;
|
|
57424
|
+
}
|
|
57425
|
+
const originalPos = pickNumber(tabObj.originalPos);
|
|
57426
|
+
if (originalPos != null && Number.isFinite(originalPos)) {
|
|
57427
|
+
normalized.originalPos = originalPos;
|
|
57428
|
+
}
|
|
57429
|
+
unwrapped.push(normalized);
|
|
57430
|
+
continue;
|
|
57419
57431
|
}
|
|
57420
|
-
|
|
57421
|
-
|
|
57432
|
+
const entryRecord = entry;
|
|
57433
|
+
const hasValidStructure = ("val" in entryRecord || "tabType" in entryRecord) && ("pos" in entryRecord || "originalPos" in entryRecord);
|
|
57434
|
+
if (hasValidStructure) {
|
|
57435
|
+
unwrapped.push(entryRecord);
|
|
57422
57436
|
}
|
|
57423
57437
|
}
|
|
57424
57438
|
return unwrapped.length > 0 ? unwrapped : void 0;
|
|
@@ -65253,7 +65267,7 @@ const resolveTableCellBorders = (tableBorders, rowIndex, colIndex, totalRows, to
|
|
|
65253
65267
|
};
|
|
65254
65268
|
};
|
|
65255
65269
|
const renderTableCell = (deps) => {
|
|
65256
|
-
const { doc: doc2, x: x2, y: y2, rowHeight, cellMeasure, cell, borders,
|
|
65270
|
+
const { doc: doc2, x: x2, y: y2, rowHeight, cellMeasure, cell, borders, renderLine, context, applySdtDataset } = deps;
|
|
65257
65271
|
const cellEl = doc2.createElement("div");
|
|
65258
65272
|
cellEl.style.position = "absolute";
|
|
65259
65273
|
cellEl.style.left = `${x2}px`;
|
|
@@ -65263,8 +65277,6 @@ const renderTableCell = (deps) => {
|
|
|
65263
65277
|
cellEl.style.boxSizing = "border-box";
|
|
65264
65278
|
if (borders) {
|
|
65265
65279
|
applyCellBorders(cellEl, borders);
|
|
65266
|
-
} else if (useDefaultBorder) {
|
|
65267
|
-
cellEl.style.border = "1px solid rgba(0,0,0,0.6)";
|
|
65268
65280
|
}
|
|
65269
65281
|
if (cell?.attrs?.background) {
|
|
65270
65282
|
cellEl.style.backgroundColor = cell.attrs.background;
|
|
@@ -65306,25 +65318,55 @@ const renderTableRow = (deps) => {
|
|
|
65306
65318
|
row,
|
|
65307
65319
|
totalRows,
|
|
65308
65320
|
tableBorders,
|
|
65321
|
+
columnWidths,
|
|
65322
|
+
allRowHeights,
|
|
65309
65323
|
context,
|
|
65310
65324
|
renderLine,
|
|
65311
65325
|
applySdtDataset
|
|
65312
65326
|
} = deps;
|
|
65313
|
-
|
|
65327
|
+
const calculateXPosition = (gridColumnStart) => {
|
|
65328
|
+
let x2 = 0;
|
|
65329
|
+
for (let i = 0; i < gridColumnStart && i < columnWidths.length; i++) {
|
|
65330
|
+
x2 += columnWidths[i];
|
|
65331
|
+
}
|
|
65332
|
+
return x2;
|
|
65333
|
+
};
|
|
65334
|
+
const calculateRowspanHeight = (startRowIndex, rowSpan) => {
|
|
65335
|
+
let totalHeight = 0;
|
|
65336
|
+
for (let i = 0; i < rowSpan && startRowIndex + i < allRowHeights.length; i++) {
|
|
65337
|
+
totalHeight += allRowHeights[startRowIndex + i];
|
|
65338
|
+
}
|
|
65339
|
+
return totalHeight;
|
|
65340
|
+
};
|
|
65314
65341
|
for (let cellIndex = 0; cellIndex < rowMeasure.cells.length; cellIndex += 1) {
|
|
65315
65342
|
const cellMeasure = rowMeasure.cells[cellIndex];
|
|
65316
65343
|
const cell = row?.cells?.[cellIndex];
|
|
65317
|
-
const
|
|
65318
|
-
const
|
|
65344
|
+
const x2 = cellMeasure.gridColumnStart != null ? calculateXPosition(cellMeasure.gridColumnStart) : cellIndex === 0 ? 0 : calculateXPosition(cellIndex);
|
|
65345
|
+
const cellBordersAttr = cell?.attrs?.borders;
|
|
65346
|
+
const hasBordersAttribute = cellBordersAttr !== void 0;
|
|
65347
|
+
const hasExplicitBorders = hasBordersAttribute && cellBordersAttr && (cellBordersAttr.top !== void 0 || cellBordersAttr.right !== void 0 || cellBordersAttr.bottom !== void 0 || cellBordersAttr.left !== void 0);
|
|
65348
|
+
const gridColIndex = cellMeasure.gridColumnStart ?? cellIndex;
|
|
65349
|
+
const totalCols = columnWidths.length;
|
|
65350
|
+
let resolvedBorders;
|
|
65351
|
+
if (hasExplicitBorders) {
|
|
65352
|
+
resolvedBorders = cellBordersAttr;
|
|
65353
|
+
} else if (hasBordersAttribute) {
|
|
65354
|
+
resolvedBorders = void 0;
|
|
65355
|
+
} else if (tableBorders) {
|
|
65356
|
+
resolvedBorders = resolveTableCellBorders(tableBorders, rowIndex, gridColIndex, totalRows, totalCols);
|
|
65357
|
+
} else {
|
|
65358
|
+
resolvedBorders = void 0;
|
|
65359
|
+
}
|
|
65360
|
+
const rowSpan = cellMeasure.rowSpan ?? 1;
|
|
65361
|
+
const cellHeight = rowSpan > 1 ? calculateRowspanHeight(rowIndex, rowSpan) : rowMeasure.height;
|
|
65319
65362
|
const { cellElement, contentElement } = renderTableCell({
|
|
65320
65363
|
doc: doc2,
|
|
65321
65364
|
x: x2,
|
|
65322
65365
|
y: y2,
|
|
65323
|
-
rowHeight:
|
|
65366
|
+
rowHeight: cellHeight,
|
|
65324
65367
|
cellMeasure,
|
|
65325
65368
|
cell,
|
|
65326
65369
|
borders: resolvedBorders,
|
|
65327
|
-
useDefaultBorder: !hasExplicitBorders && !tableBorders,
|
|
65328
65370
|
renderLine,
|
|
65329
65371
|
context,
|
|
65330
65372
|
applySdtDataset
|
|
@@ -65333,7 +65375,6 @@ const renderTableRow = (deps) => {
|
|
|
65333
65375
|
if (contentElement) {
|
|
65334
65376
|
container.appendChild(contentElement);
|
|
65335
65377
|
}
|
|
65336
|
-
x2 += cellMeasure.width;
|
|
65337
65378
|
}
|
|
65338
65379
|
};
|
|
65339
65380
|
const renderTableFragment = (deps) => {
|
|
@@ -65375,6 +65416,45 @@ const renderTableFragment = (deps) => {
|
|
|
65375
65416
|
applySdtDataset(container, block.attrs?.sdt);
|
|
65376
65417
|
container.classList.add("superdoc-table-fragment");
|
|
65377
65418
|
if (fragment.metadata?.columnBoundaries) {
|
|
65419
|
+
const columnCount = measure.columnWidths.length;
|
|
65420
|
+
const rowCount = block.rows.length;
|
|
65421
|
+
const boundarySegments = [];
|
|
65422
|
+
for (let i = 0; i < columnCount; i++) {
|
|
65423
|
+
boundarySegments.push([]);
|
|
65424
|
+
}
|
|
65425
|
+
let rowY = 0;
|
|
65426
|
+
for (let rowIndex = 0; rowIndex < rowCount; rowIndex++) {
|
|
65427
|
+
const rowMeasure = measure.rows[rowIndex];
|
|
65428
|
+
if (!rowMeasure) continue;
|
|
65429
|
+
const boundariesInRow = /* @__PURE__ */ new Set();
|
|
65430
|
+
for (const cellMeasure of rowMeasure.cells) {
|
|
65431
|
+
const startCol = cellMeasure.gridColumnStart ?? 0;
|
|
65432
|
+
const colSpan = cellMeasure.colSpan ?? 1;
|
|
65433
|
+
const endCol = startCol + colSpan;
|
|
65434
|
+
if (startCol > 0) {
|
|
65435
|
+
boundariesInRow.add(startCol);
|
|
65436
|
+
}
|
|
65437
|
+
if (endCol < columnCount) {
|
|
65438
|
+
boundariesInRow.add(endCol);
|
|
65439
|
+
}
|
|
65440
|
+
}
|
|
65441
|
+
for (const boundaryCol of boundariesInRow) {
|
|
65442
|
+
const segments = boundarySegments[boundaryCol];
|
|
65443
|
+
const lastSegment = segments[segments.length - 1];
|
|
65444
|
+
if (lastSegment && lastSegment.toRow === rowIndex) {
|
|
65445
|
+
lastSegment.toRow = rowIndex + 1;
|
|
65446
|
+
lastSegment.height += rowMeasure.height;
|
|
65447
|
+
} else {
|
|
65448
|
+
segments.push({
|
|
65449
|
+
fromRow: rowIndex,
|
|
65450
|
+
toRow: rowIndex + 1,
|
|
65451
|
+
y: rowY,
|
|
65452
|
+
height: rowMeasure.height
|
|
65453
|
+
});
|
|
65454
|
+
}
|
|
65455
|
+
}
|
|
65456
|
+
rowY += rowMeasure.height;
|
|
65457
|
+
}
|
|
65378
65458
|
const metadata = {
|
|
65379
65459
|
columns: fragment.metadata.columnBoundaries.map((boundary) => ({
|
|
65380
65460
|
i: boundary.index,
|
|
@@ -65382,7 +65462,18 @@ const renderTableFragment = (deps) => {
|
|
|
65382
65462
|
w: boundary.width,
|
|
65383
65463
|
min: boundary.minWidth,
|
|
65384
65464
|
r: boundary.resizable ? 1 : 0
|
|
65385
|
-
}))
|
|
65465
|
+
})),
|
|
65466
|
+
// Add segments for each column boundary (segments where resize handle should appear)
|
|
65467
|
+
segments: boundarySegments.map(
|
|
65468
|
+
(segs, colIndex) => segs.map((seg) => ({
|
|
65469
|
+
c: colIndex,
|
|
65470
|
+
// column index
|
|
65471
|
+
y: seg.y,
|
|
65472
|
+
// y position
|
|
65473
|
+
h: seg.height
|
|
65474
|
+
// height of segment
|
|
65475
|
+
}))
|
|
65476
|
+
)
|
|
65386
65477
|
};
|
|
65387
65478
|
container.setAttribute("data-table-boundaries", JSON.stringify(metadata));
|
|
65388
65479
|
}
|
|
@@ -65393,6 +65484,7 @@ const renderTableFragment = (deps) => {
|
|
|
65393
65484
|
if (borderCollapse === "separate" && block.attrs?.cellSpacing) {
|
|
65394
65485
|
container.style.borderSpacing = `${block.attrs.cellSpacing}px`;
|
|
65395
65486
|
}
|
|
65487
|
+
const allRowHeights = measure.rows.map((r2) => r2.height);
|
|
65396
65488
|
let y2 = 0;
|
|
65397
65489
|
for (let r2 = fragment.fromRow; r2 < fragment.toRow; r2 += 1) {
|
|
65398
65490
|
const rowMeasure = measure.rows[r2];
|
|
@@ -65406,6 +65498,8 @@ const renderTableFragment = (deps) => {
|
|
|
65406
65498
|
row: block.rows[r2],
|
|
65407
65499
|
totalRows: block.rows.length,
|
|
65408
65500
|
tableBorders,
|
|
65501
|
+
columnWidths: measure.columnWidths,
|
|
65502
|
+
allRowHeights,
|
|
65409
65503
|
context,
|
|
65410
65504
|
renderLine,
|
|
65411
65505
|
applySdtDataset
|
|
@@ -68047,21 +68141,9 @@ async function measureParagraphBlock(block, maxWidth) {
|
|
|
68047
68141
|
}
|
|
68048
68142
|
async function measureTableBlock(block, constraints) {
|
|
68049
68143
|
const maxWidth = typeof constraints === "number" ? constraints : constraints.maxWidth;
|
|
68050
|
-
const columnCount = Math.max(1, Math.max(...block.rows.map((r2) => r2.cells.length)));
|
|
68051
68144
|
let columnWidths;
|
|
68052
68145
|
if (block.columnWidths && block.columnWidths.length > 0) {
|
|
68053
68146
|
columnWidths = [...block.columnWidths];
|
|
68054
|
-
if (columnWidths.length < columnCount) {
|
|
68055
|
-
const usedWidth = columnWidths.reduce((a, b2) => a + b2, 0);
|
|
68056
|
-
const remainingWidth = Math.max(0, maxWidth - usedWidth);
|
|
68057
|
-
const missingCount = columnCount - columnWidths.length;
|
|
68058
|
-
const defaultWidth = missingCount > 0 ? Math.max(1, Math.floor(remainingWidth / missingCount)) : 0;
|
|
68059
|
-
for (let i = columnWidths.length; i < columnCount; i++) {
|
|
68060
|
-
columnWidths.push(defaultWidth);
|
|
68061
|
-
}
|
|
68062
|
-
} else if (columnWidths.length > columnCount) {
|
|
68063
|
-
columnWidths = columnWidths.slice(0, columnCount);
|
|
68064
|
-
}
|
|
68065
68147
|
const totalWidth2 = columnWidths.reduce((a, b2) => a + b2, 0);
|
|
68066
68148
|
const hasExplicitWidth = block.attrs?.tableWidth != null;
|
|
68067
68149
|
if (!hasExplicitWidth && totalWidth2 > maxWidth) {
|
|
@@ -68069,22 +68151,56 @@ async function measureTableBlock(block, constraints) {
|
|
|
68069
68151
|
columnWidths = columnWidths.map((w2) => Math.max(1, Math.floor(w2 * scale)));
|
|
68070
68152
|
}
|
|
68071
68153
|
} else {
|
|
68072
|
-
const
|
|
68073
|
-
|
|
68154
|
+
const maxCellCount = Math.max(1, Math.max(...block.rows.map((r2) => r2.cells.length)));
|
|
68155
|
+
const columnWidth = Math.max(1, Math.floor(maxWidth / maxCellCount));
|
|
68156
|
+
columnWidths = Array.from({ length: maxCellCount }, () => columnWidth);
|
|
68074
68157
|
}
|
|
68158
|
+
const gridColumnCount = columnWidths.length;
|
|
68159
|
+
const calculateCellWidth = (startCol, colspan) => {
|
|
68160
|
+
let width = 0;
|
|
68161
|
+
for (let i = 0; i < colspan && startCol + i < columnWidths.length; i++) {
|
|
68162
|
+
width += columnWidths[startCol + i];
|
|
68163
|
+
}
|
|
68164
|
+
return Math.max(1, width);
|
|
68165
|
+
};
|
|
68166
|
+
const rowspanTracker = new Array(gridColumnCount).fill(0);
|
|
68075
68167
|
const rows = [];
|
|
68076
|
-
for (
|
|
68168
|
+
for (let rowIndex = 0; rowIndex < block.rows.length; rowIndex++) {
|
|
68169
|
+
const row = block.rows[rowIndex];
|
|
68077
68170
|
const cellMeasures = [];
|
|
68078
|
-
|
|
68079
|
-
|
|
68080
|
-
const
|
|
68081
|
-
|
|
68082
|
-
|
|
68083
|
-
|
|
68171
|
+
let gridColIndex = 0;
|
|
68172
|
+
for (const cell of row.cells) {
|
|
68173
|
+
const colspan = cell.colSpan ?? 1;
|
|
68174
|
+
const rowspan = cell.rowSpan ?? 1;
|
|
68175
|
+
while (gridColIndex < gridColumnCount && rowspanTracker[gridColIndex] > 0) {
|
|
68176
|
+
rowspanTracker[gridColIndex]--;
|
|
68177
|
+
gridColIndex++;
|
|
68178
|
+
}
|
|
68179
|
+
if (gridColIndex >= gridColumnCount) {
|
|
68180
|
+
break;
|
|
68181
|
+
}
|
|
68182
|
+
const cellWidth = calculateCellWidth(gridColIndex, colspan);
|
|
68183
|
+
if (rowspan > 1) {
|
|
68184
|
+
for (let c2 = 0; c2 < colspan && gridColIndex + c2 < gridColumnCount; c2++) {
|
|
68185
|
+
rowspanTracker[gridColIndex + c2] = rowspan - 1;
|
|
68186
|
+
}
|
|
68084
68187
|
}
|
|
68085
68188
|
const paraMeasure = await measureParagraphBlock(cell.paragraph, cellWidth);
|
|
68086
68189
|
const height = paraMeasure.totalHeight;
|
|
68087
|
-
cellMeasures.push({
|
|
68190
|
+
cellMeasures.push({
|
|
68191
|
+
paragraph: paraMeasure,
|
|
68192
|
+
width: cellWidth,
|
|
68193
|
+
height,
|
|
68194
|
+
gridColumnStart: gridColIndex,
|
|
68195
|
+
colSpan: colspan,
|
|
68196
|
+
rowSpan: rowspan
|
|
68197
|
+
});
|
|
68198
|
+
gridColIndex += colspan;
|
|
68199
|
+
}
|
|
68200
|
+
for (let col = gridColIndex; col < gridColumnCount; col++) {
|
|
68201
|
+
if (rowspanTracker[col] > 0) {
|
|
68202
|
+
rowspanTracker[col]--;
|
|
68203
|
+
}
|
|
68088
68204
|
}
|
|
68089
68205
|
const rowHeight = Math.max(0, ...cellMeasures.map((c2) => c2.height));
|
|
68090
68206
|
rows.push({ cells: cellMeasures, height: rowHeight });
|
|
@@ -101275,7 +101391,7 @@ async function createZip(blobs, fileNames) {
|
|
|
101275
101391
|
blobs.forEach((blob, index2) => {
|
|
101276
101392
|
zip.file(fileNames[index2], blob);
|
|
101277
101393
|
});
|
|
101278
|
-
const zipBlob = await zip.generateAsync({ type: "blob" });
|
|
101394
|
+
const zipBlob = await zip.generateAsync({ type: "blob", compression: "DEFLATE" });
|
|
101279
101395
|
return zipBlob;
|
|
101280
101396
|
}
|
|
101281
101397
|
var __defProp = Object.defineProperty;
|
|
@@ -106131,13 +106247,31 @@ const _sfc_main$2 = {
|
|
|
106131
106247
|
});
|
|
106132
106248
|
return boundaries;
|
|
106133
106249
|
});
|
|
106134
|
-
function
|
|
106250
|
+
function getBoundarySegments(boundary) {
|
|
106251
|
+
if (boundary.type === "right-edge") {
|
|
106252
|
+
return [{ y: 0, h: null }];
|
|
106253
|
+
}
|
|
106254
|
+
const segmentsData = tableMetadata.value?.segments;
|
|
106255
|
+
if (!segmentsData || !Array.isArray(segmentsData)) {
|
|
106256
|
+
return [{ y: 0, h: null }];
|
|
106257
|
+
}
|
|
106258
|
+
const boundaryColIndex = boundary.index + 1;
|
|
106259
|
+
const colSegments = segmentsData[boundaryColIndex];
|
|
106260
|
+
if (!colSegments || colSegments.length === 0) {
|
|
106261
|
+
return [];
|
|
106262
|
+
}
|
|
106263
|
+
return colSegments.map((seg) => ({
|
|
106264
|
+
y: seg.y,
|
|
106265
|
+
h: seg.h
|
|
106266
|
+
}));
|
|
106267
|
+
}
|
|
106268
|
+
function getSegmentHandleStyle(boundary, segment) {
|
|
106135
106269
|
return {
|
|
106136
106270
|
position: "absolute",
|
|
106137
106271
|
left: `${boundary.x}px`,
|
|
106138
|
-
top: "0",
|
|
106272
|
+
top: segment.y != null ? `${segment.y}px` : "0",
|
|
106139
106273
|
width: "9px",
|
|
106140
|
-
height: "100%",
|
|
106274
|
+
height: segment.h != null ? `${segment.h}px` : "100%",
|
|
106141
106275
|
transform: "translateX(-4px)",
|
|
106142
106276
|
cursor: "col-resize",
|
|
106143
106277
|
pointerEvents: "auto"
|
|
@@ -106192,7 +106326,8 @@ const _sfc_main$2 = {
|
|
|
106192
106326
|
});
|
|
106193
106327
|
return;
|
|
106194
106328
|
}
|
|
106195
|
-
|
|
106329
|
+
const segments = Array.isArray(parsed.segments) ? parsed.segments : void 0;
|
|
106330
|
+
tableMetadata.value = { columns: validatedColumns, segments };
|
|
106196
106331
|
} catch (error) {
|
|
106197
106332
|
tableMetadata.value = null;
|
|
106198
106333
|
emit("resize-error", {
|
|
@@ -106354,7 +106489,7 @@ const _sfc_main$2 = {
|
|
|
106354
106489
|
updateCellColwidths(tr, tableNode, tablePos, affectedColumns, newWidths);
|
|
106355
106490
|
dispatch(tr);
|
|
106356
106491
|
const blockId = props.tableElement?.getAttribute("data-sd-block-id");
|
|
106357
|
-
if (blockId) {
|
|
106492
|
+
if (blockId && blockId.trim()) {
|
|
106358
106493
|
measureCache.invalidate([blockId]);
|
|
106359
106494
|
}
|
|
106360
106495
|
emit("resize-success", { columnIndex, newWidths });
|
|
@@ -106457,18 +106592,24 @@ const _sfc_main$2 = {
|
|
|
106457
106592
|
onMousedown: _cache[0] || (_cache[0] = vue.withModifiers(() => {
|
|
106458
106593
|
}, ["stop"]))
|
|
106459
106594
|
}, [
|
|
106460
|
-
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(resizableBoundaries.value, (boundary,
|
|
106461
|
-
return vue.openBlock(), vue.createElementBlock(
|
|
106462
|
-
key: `
|
|
106463
|
-
|
|
106464
|
-
|
|
106465
|
-
|
|
106466
|
-
|
|
106467
|
-
|
|
106468
|
-
|
|
106469
|
-
|
|
106470
|
-
|
|
106471
|
-
|
|
106595
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(resizableBoundaries.value, (boundary, boundaryIndex) => {
|
|
106596
|
+
return vue.openBlock(), vue.createElementBlock(vue.Fragment, {
|
|
106597
|
+
key: `boundary-${boundaryIndex}`
|
|
106598
|
+
}, [
|
|
106599
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getBoundarySegments(boundary), (segment, segmentIndex) => {
|
|
106600
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
106601
|
+
key: `handle-${boundary.type}-${boundary.index}-${segmentIndex}`,
|
|
106602
|
+
class: vue.normalizeClass(["resize-handle", {
|
|
106603
|
+
"resize-handle--active": dragState.value && dragState.value.boundaryIndex === boundaryIndex,
|
|
106604
|
+
"resize-handle--edge": boundary.type === "right-edge"
|
|
106605
|
+
}]),
|
|
106606
|
+
"data-boundary-index": boundaryIndex,
|
|
106607
|
+
"data-boundary-type": boundary.type,
|
|
106608
|
+
style: vue.normalizeStyle(getSegmentHandleStyle(boundary, segment)),
|
|
106609
|
+
onMousedown: ($event) => onHandleMouseDown($event, boundaryIndex)
|
|
106610
|
+
}, null, 46, _hoisted_1$2);
|
|
106611
|
+
}), 128))
|
|
106612
|
+
], 64);
|
|
106472
106613
|
}), 128)),
|
|
106473
106614
|
dragState.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
106474
106615
|
key: 0,
|
|
@@ -106479,7 +106620,7 @@ const _sfc_main$2 = {
|
|
|
106479
106620
|
};
|
|
106480
106621
|
}
|
|
106481
106622
|
};
|
|
106482
|
-
const TableResizeOverlay = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-
|
|
106623
|
+
const TableResizeOverlay = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-d4258885"]]);
|
|
106483
106624
|
function adjustPaginationBreaks(editorElem, editor) {
|
|
106484
106625
|
if (!editorElem.value || !editor?.value?.options?.scale || isHeadless(editor)) return;
|
|
106485
106626
|
const zoom = editor.value.options.scale;
|
package/dist/style.css
CHANGED
|
@@ -2263,18 +2263,18 @@ https://github.com/ProseMirror/prosemirror-tables/blob/master/demo/index.html
|
|
|
2263
2263
|
min-height: 40px;
|
|
2264
2264
|
}
|
|
2265
2265
|
|
|
2266
|
-
.superdoc-table-resize-overlay[data-v-
|
|
2266
|
+
.superdoc-table-resize-overlay[data-v-d4258885] {
|
|
2267
2267
|
position: absolute;
|
|
2268
2268
|
pointer-events: none;
|
|
2269
2269
|
user-select: none;
|
|
2270
2270
|
}
|
|
2271
|
-
.resize-handle[data-v-
|
|
2271
|
+
.resize-handle[data-v-d4258885] {
|
|
2272
2272
|
position: absolute;
|
|
2273
2273
|
cursor: col-resize;
|
|
2274
2274
|
user-select: none;
|
|
2275
2275
|
z-index: 15;
|
|
2276
2276
|
}
|
|
2277
|
-
.resize-handle[data-v-
|
|
2277
|
+
.resize-handle[data-v-d4258885]::before {
|
|
2278
2278
|
content: '';
|
|
2279
2279
|
position: absolute;
|
|
2280
2280
|
left: 50%;
|
|
@@ -2287,17 +2287,17 @@ https://github.com/ProseMirror/prosemirror-tables/blob/master/demo/index.html
|
|
|
2287
2287
|
background-color 0.2s ease,
|
|
2288
2288
|
width 0.2s ease;
|
|
2289
2289
|
}
|
|
2290
|
-
.resize-handle[data-v-
|
|
2290
|
+
.resize-handle[data-v-d4258885]:hover::before {
|
|
2291
2291
|
background-color: #4a90e2;
|
|
2292
2292
|
width: 3px;
|
|
2293
2293
|
transform: translateX(-1.5px);
|
|
2294
2294
|
}
|
|
2295
|
-
.resize-handle--active[data-v-
|
|
2295
|
+
.resize-handle--active[data-v-d4258885]::before {
|
|
2296
2296
|
background-color: #4a90e2;
|
|
2297
2297
|
width: 2px;
|
|
2298
2298
|
transform: translateX(-1px);
|
|
2299
2299
|
}
|
|
2300
|
-
.resize-guideline[data-v-
|
|
2300
|
+
.resize-guideline[data-v-d4258885] {
|
|
2301
2301
|
position: absolute;
|
|
2302
2302
|
background-color: #4a90e2;
|
|
2303
2303
|
pointer-events: none;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ref, onMounted, onUnmounted, computed, createElementBlock, openBlock, withModifiers, createElementVNode, withDirectives, unref, vModelText, createCommentVNode, nextTick } from "vue";
|
|
2
|
-
import { T as TextSelection } from "./chunks/converter-
|
|
3
|
-
import { _ as _export_sfc } from "./chunks/editor-
|
|
2
|
+
import { T as TextSelection } from "./chunks/converter-B4P0mjU2.js";
|
|
3
|
+
import { _ as _export_sfc } from "./chunks/editor-CoLzF_z4.js";
|
|
4
4
|
const DEFAULT_API_ENDPOINT = "https://sd-dev-express-gateway-i6xtm.ondigitalocean.app/insights";
|
|
5
5
|
const SYSTEM_PROMPT = "You are an expert copywriter and you are immersed in a document editor. You are to provide document related text responses based on the user prompts. Only write what is asked for. Do not provide explanations. Try to keep placeholders as short as possible. Do not output your prompt. Your instructions are: ";
|
|
6
6
|
async function baseInsightsFetch(payload, options = {}) {
|
|
@@ -35869,7 +35869,7 @@ const _SuperConverter = class _SuperConverter {
|
|
|
35869
35869
|
static getStoredSuperdocVersion(docx) {
|
|
35870
35870
|
return _SuperConverter.getStoredCustomProperty(docx, "SuperdocVersion");
|
|
35871
35871
|
}
|
|
35872
|
-
static setStoredSuperdocVersion(docx = this.convertedXml, version = "1.0.0-beta.
|
|
35872
|
+
static setStoredSuperdocVersion(docx = this.convertedXml, version = "1.0.0-beta.12") {
|
|
35873
35873
|
return _SuperConverter.setStoredCustomProperty(docx, "SuperdocVersion", version, false);
|
|
35874
35874
|
}
|
|
35875
35875
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { p as process$1, aI as commonjsGlobal, B as Buffer, aJ as getDefaultExportFromCjs, aK as getContentTypesFromXml, aL as xmljs } from "./converter-
|
|
1
|
+
import { p as process$1, aI as commonjsGlobal, B as Buffer, aJ as getDefaultExportFromCjs, aK as getContentTypesFromXml, aL as xmljs } from "./converter-B4P0mjU2.js";
|
|
2
2
|
function commonjsRequire(path) {
|
|
3
3
|
throw new Error('Could not dynamically require "' + path + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
|
|
4
4
|
}
|