@harbour-enterprises/superdoc 1.0.0-beta.60 → 1.0.0-beta.61
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-C4HeazGQ.es.js → PdfViewer-BHLsVrSe.es.js} +1 -1
- package/dist/chunks/{PdfViewer-4-HewDUK.cjs → PdfViewer-CuTlpPQO.cjs} +1 -1
- package/dist/chunks/{index-BKfoD32c.es.js → index-DeFp1DEO.es.js} +13 -6
- package/dist/chunks/{index-9qSCXVF1.cjs → index-E5x6cBKw.cjs} +13 -6
- package/dist/chunks/{index-GAzIoyrZ-zhiF5zMK.es.js → index-u8dj63PM-Bfomc8Z6.es.js} +1 -1
- package/dist/chunks/{index-GAzIoyrZ-C17wg4bM.cjs → index-u8dj63PM-VgHx1nNP.cjs} +1 -1
- package/dist/chunks/{super-editor.es-CJ3Aw1GR.es.js → super-editor.es-CI3WoKIG.es.js} +571 -87
- package/dist/chunks/{super-editor.es-DCHFBNql.cjs → super-editor.es-nY9_xN6Z.cjs} +571 -87
- package/dist/packages/superdoc/src/core/SuperDoc.d.ts.map +1 -1
- package/dist/style.css +44 -56
- package/dist/super-editor/ai-writer.es.js +2 -2
- package/dist/super-editor/chunks/{converter-DZ7Tkh7u.js → converter-DaSkPzA9.js} +3 -3
- package/dist/super-editor/chunks/{docx-zipper-CZQWEuyi.js → docx-zipper-Cx1zgQ8B.js} +1 -1
- package/dist/super-editor/chunks/{editor-CDMuD1Nx.js → editor-45pxcsTR.js} +508 -23
- package/dist/super-editor/chunks/{index-GAzIoyrZ.js → index-u8dj63PM.js} +1 -1
- package/dist/super-editor/chunks/{toolbar-DL3rTlKm.js → toolbar-C4OC-AnI.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 +1 -1
- package/dist/super-editor/style.css +17 -29
- package/dist/super-editor/super-editor.es.js +96 -94
- 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 +583 -92
- package/dist/superdoc.umd.js.map +1 -1
- package/package.json +1 -1
package/dist/superdoc.umd.js
CHANGED
|
@@ -42145,8 +42145,8 @@ Please report this to https://github.com/markedjs/marked.`, e) {
|
|
|
42145
42145
|
const converter = new _SuperConverter2();
|
|
42146
42146
|
const content2 = customXml.content;
|
|
42147
42147
|
const contentJson = converter.parseXmlToJson(content2);
|
|
42148
|
-
const properties = contentJson.elements
|
|
42149
|
-
if (!properties
|
|
42148
|
+
const properties = contentJson.elements?.find((el) => el.name === "Properties");
|
|
42149
|
+
if (!properties?.elements) return null;
|
|
42150
42150
|
const property2 = properties.elements.find((el) => el.name === "property" && el.attributes.name === propertyName);
|
|
42151
42151
|
if (!property2) return null;
|
|
42152
42152
|
return property2.elements[0].elements[0].text;
|
|
@@ -42209,7 +42209,7 @@ Please report this to https://github.com/markedjs/marked.`, e) {
|
|
|
42209
42209
|
static getStoredSuperdocVersion(docx) {
|
|
42210
42210
|
return _SuperConverter2.getStoredCustomProperty(docx, "SuperdocVersion");
|
|
42211
42211
|
}
|
|
42212
|
-
static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "1.0.0-beta.
|
|
42212
|
+
static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "1.0.0-beta.61") {
|
|
42213
42213
|
return _SuperConverter2.setStoredCustomProperty(docx, "SuperdocVersion", version2, false);
|
|
42214
42214
|
}
|
|
42215
42215
|
/**
|
|
@@ -67255,7 +67255,7 @@ Please report this to https://github.com/markedjs/marked.`, e) {
|
|
|
67255
67255
|
const shouldSkipNodeView = (editor) => {
|
|
67256
67256
|
return isHeadless(editor);
|
|
67257
67257
|
};
|
|
67258
|
-
const summaryVersion = "1.0.0-beta.
|
|
67258
|
+
const summaryVersion = "1.0.0-beta.61";
|
|
67259
67259
|
const nodeKeys = ["group", "content", "marks", "inline", "atom", "defining", "code", "tableRole", "summary"];
|
|
67260
67260
|
const markKeys = ["group", "inclusive", "excludes", "spanning", "code"];
|
|
67261
67261
|
function mapAttributes(attrs) {
|
|
@@ -68044,7 +68044,7 @@ Please report this to https://github.com/markedjs/marked.`, e) {
|
|
|
68044
68044
|
{ default: remarkStringify2 },
|
|
68045
68045
|
{ default: remarkGfm2 }
|
|
68046
68046
|
] = await Promise.all([
|
|
68047
|
-
Promise.resolve().then(() =>
|
|
68047
|
+
Promise.resolve().then(() => indexU8dj63PM),
|
|
68048
68048
|
Promise.resolve().then(() => indexDRCvimau),
|
|
68049
68049
|
Promise.resolve().then(() => indexC_x_N6Uh),
|
|
68050
68050
|
Promise.resolve().then(() => indexD_sWOSiG),
|
|
@@ -68249,7 +68249,7 @@ Please report this to https://github.com/markedjs/marked.`, e) {
|
|
|
68249
68249
|
* Process collaboration migrations
|
|
68250
68250
|
*/
|
|
68251
68251
|
processCollaborationMigrations() {
|
|
68252
|
-
console.debug("[checkVersionMigrations] Current editor version", "1.0.0-beta.
|
|
68252
|
+
console.debug("[checkVersionMigrations] Current editor version", "1.0.0-beta.61");
|
|
68253
68253
|
if (!this.options.ydoc) return;
|
|
68254
68254
|
const metaMap = this.options.ydoc.getMap("meta");
|
|
68255
68255
|
let docVersion = metaMap.get("version");
|
|
@@ -79415,6 +79415,408 @@ ${l}
|
|
|
79415
79415
|
const hasPmEnd = fragment.pmEnd != null;
|
|
79416
79416
|
globalValidationStats.record(hasPmStart, hasPmEnd);
|
|
79417
79417
|
}
|
|
79418
|
+
const DEFAULT_PPI = 96;
|
|
79419
|
+
const DEFAULT_RULER_HEIGHT = 25;
|
|
79420
|
+
const TICK_SPACING_PX = DEFAULT_PPI / 8;
|
|
79421
|
+
function generateRulerDefinition(config2) {
|
|
79422
|
+
const ppi = config2.ppi ?? DEFAULT_PPI;
|
|
79423
|
+
const heightPx = config2.heightPx ?? DEFAULT_RULER_HEIGHT;
|
|
79424
|
+
const { pageSize, pageMargins } = config2;
|
|
79425
|
+
if (!Number.isFinite(ppi) || ppi <= 0) {
|
|
79426
|
+
throw new Error(`Invalid PPI: ${ppi}. Must be a positive finite number.`);
|
|
79427
|
+
}
|
|
79428
|
+
if (!Number.isFinite(pageSize.width) || pageSize.width <= 0) {
|
|
79429
|
+
throw new Error(`Invalid page width: ${pageSize.width}. Must be a positive finite number.`);
|
|
79430
|
+
}
|
|
79431
|
+
if (!Number.isFinite(pageSize.height) || pageSize.height <= 0) {
|
|
79432
|
+
throw new Error(`Invalid page height: ${pageSize.height}. Must be a positive finite number.`);
|
|
79433
|
+
}
|
|
79434
|
+
if (!Number.isFinite(pageMargins.left) || pageMargins.left < 0) {
|
|
79435
|
+
throw new Error(`Invalid left margin: ${pageMargins.left}. Must be a non-negative finite number.`);
|
|
79436
|
+
}
|
|
79437
|
+
if (!Number.isFinite(pageMargins.right) || pageMargins.right < 0) {
|
|
79438
|
+
throw new Error(`Invalid right margin: ${pageMargins.right}. Must be a non-negative finite number.`);
|
|
79439
|
+
}
|
|
79440
|
+
if (pageMargins.left + pageMargins.right >= pageSize.width) {
|
|
79441
|
+
throw new Error(
|
|
79442
|
+
`Invalid margins: left (${pageMargins.left}) + right (${pageMargins.right}) must be less than page width (${pageSize.width}).`
|
|
79443
|
+
);
|
|
79444
|
+
}
|
|
79445
|
+
const widthPx = pageSize.width * ppi;
|
|
79446
|
+
const ticks = [];
|
|
79447
|
+
let currentX = 0;
|
|
79448
|
+
for (let inch = 0; inch < pageSize.width; inch++) {
|
|
79449
|
+
const remaining = pageSize.width - inch;
|
|
79450
|
+
ticks.push({
|
|
79451
|
+
size: "main",
|
|
79452
|
+
height: "20%",
|
|
79453
|
+
label: inch,
|
|
79454
|
+
x: currentX
|
|
79455
|
+
});
|
|
79456
|
+
currentX += TICK_SPACING_PX;
|
|
79457
|
+
for (let i2 = 0; i2 < 3; i2++) {
|
|
79458
|
+
ticks.push({
|
|
79459
|
+
size: "eighth",
|
|
79460
|
+
height: "10%",
|
|
79461
|
+
x: currentX
|
|
79462
|
+
});
|
|
79463
|
+
currentX += TICK_SPACING_PX;
|
|
79464
|
+
}
|
|
79465
|
+
ticks.push({
|
|
79466
|
+
size: "half",
|
|
79467
|
+
height: "40%",
|
|
79468
|
+
x: currentX
|
|
79469
|
+
});
|
|
79470
|
+
currentX += TICK_SPACING_PX;
|
|
79471
|
+
if (remaining <= 0.5) break;
|
|
79472
|
+
for (let i2 = 0; i2 < 3; i2++) {
|
|
79473
|
+
ticks.push({
|
|
79474
|
+
size: "eighth",
|
|
79475
|
+
height: "10%",
|
|
79476
|
+
x: currentX
|
|
79477
|
+
});
|
|
79478
|
+
currentX += TICK_SPACING_PX;
|
|
79479
|
+
}
|
|
79480
|
+
}
|
|
79481
|
+
return {
|
|
79482
|
+
widthPx,
|
|
79483
|
+
heightPx,
|
|
79484
|
+
ticks,
|
|
79485
|
+
leftMarginPx: pageMargins.left * ppi,
|
|
79486
|
+
rightMarginPx: widthPx - pageMargins.right * ppi,
|
|
79487
|
+
pageWidthInches: pageSize.width
|
|
79488
|
+
};
|
|
79489
|
+
}
|
|
79490
|
+
function calculateMarginFromHandle(handleX, side, pageWidthPx, ppi = DEFAULT_PPI) {
|
|
79491
|
+
if (side === "left") {
|
|
79492
|
+
return handleX / ppi;
|
|
79493
|
+
} else {
|
|
79494
|
+
return (pageWidthPx - handleX) / ppi;
|
|
79495
|
+
}
|
|
79496
|
+
}
|
|
79497
|
+
function clampHandlePosition(handleX, side, otherHandleX, pageWidthPx, minContentWidthPx = 200) {
|
|
79498
|
+
if (!Number.isFinite(handleX)) {
|
|
79499
|
+
throw new Error(`Invalid handleX: ${handleX}. Must be a finite number.`);
|
|
79500
|
+
}
|
|
79501
|
+
if (!Number.isFinite(otherHandleX)) {
|
|
79502
|
+
throw new Error(`Invalid otherHandleX: ${otherHandleX}. Must be a finite number.`);
|
|
79503
|
+
}
|
|
79504
|
+
if (!Number.isFinite(pageWidthPx)) {
|
|
79505
|
+
throw new Error(`Invalid pageWidthPx: ${pageWidthPx}. Must be a finite number.`);
|
|
79506
|
+
}
|
|
79507
|
+
if (!Number.isFinite(minContentWidthPx)) {
|
|
79508
|
+
throw new Error(`Invalid minContentWidthPx: ${minContentWidthPx}. Must be a finite number.`);
|
|
79509
|
+
}
|
|
79510
|
+
if (side === "left") {
|
|
79511
|
+
const min2 = 0;
|
|
79512
|
+
const max2 = otherHandleX - minContentWidthPx;
|
|
79513
|
+
return Math.max(min2, Math.min(max2, handleX));
|
|
79514
|
+
} else {
|
|
79515
|
+
const min2 = otherHandleX + minContentWidthPx;
|
|
79516
|
+
const max2 = pageWidthPx;
|
|
79517
|
+
return Math.max(min2, Math.min(max2, handleX));
|
|
79518
|
+
}
|
|
79519
|
+
}
|
|
79520
|
+
function generateRulerDefinitionFromPx(config2) {
|
|
79521
|
+
const ppi = config2.ppi ?? DEFAULT_PPI;
|
|
79522
|
+
const heightPx = config2.heightPx ?? DEFAULT_RULER_HEIGHT;
|
|
79523
|
+
const { pageWidthPx, leftMarginPx, rightMarginPx } = config2;
|
|
79524
|
+
if (!Number.isFinite(ppi) || ppi <= 0) {
|
|
79525
|
+
throw new Error(`Invalid PPI: ${ppi}. Must be a positive finite number.`);
|
|
79526
|
+
}
|
|
79527
|
+
if (!Number.isFinite(pageWidthPx) || pageWidthPx <= 0) {
|
|
79528
|
+
throw new Error(`Invalid page width: ${pageWidthPx}px. Must be a positive finite number.`);
|
|
79529
|
+
}
|
|
79530
|
+
if (!Number.isFinite(config2.pageHeightPx) || config2.pageHeightPx <= 0) {
|
|
79531
|
+
throw new Error(`Invalid page height: ${config2.pageHeightPx}px. Must be a positive finite number.`);
|
|
79532
|
+
}
|
|
79533
|
+
if (!Number.isFinite(leftMarginPx) || leftMarginPx < 0) {
|
|
79534
|
+
throw new Error(`Invalid left margin: ${leftMarginPx}px. Must be a non-negative finite number.`);
|
|
79535
|
+
}
|
|
79536
|
+
if (!Number.isFinite(rightMarginPx) || rightMarginPx < 0) {
|
|
79537
|
+
throw new Error(`Invalid right margin: ${rightMarginPx}px. Must be a non-negative finite number.`);
|
|
79538
|
+
}
|
|
79539
|
+
if (leftMarginPx + rightMarginPx >= pageWidthPx) {
|
|
79540
|
+
throw new Error(
|
|
79541
|
+
`Invalid margins: left (${leftMarginPx}px) + right (${rightMarginPx}px) must be less than page width (${pageWidthPx}px).`
|
|
79542
|
+
);
|
|
79543
|
+
}
|
|
79544
|
+
const pageWidthInches = pageWidthPx / ppi;
|
|
79545
|
+
const ticks = [];
|
|
79546
|
+
let currentX = 0;
|
|
79547
|
+
for (let inch = 0; inch < pageWidthInches; inch++) {
|
|
79548
|
+
const remaining = pageWidthInches - inch;
|
|
79549
|
+
ticks.push({
|
|
79550
|
+
size: "main",
|
|
79551
|
+
height: "20%",
|
|
79552
|
+
label: inch,
|
|
79553
|
+
x: currentX
|
|
79554
|
+
});
|
|
79555
|
+
currentX += TICK_SPACING_PX;
|
|
79556
|
+
for (let i2 = 0; i2 < 3; i2++) {
|
|
79557
|
+
ticks.push({
|
|
79558
|
+
size: "eighth",
|
|
79559
|
+
height: "10%",
|
|
79560
|
+
x: currentX
|
|
79561
|
+
});
|
|
79562
|
+
currentX += TICK_SPACING_PX;
|
|
79563
|
+
}
|
|
79564
|
+
ticks.push({
|
|
79565
|
+
size: "half",
|
|
79566
|
+
height: "40%",
|
|
79567
|
+
x: currentX
|
|
79568
|
+
});
|
|
79569
|
+
currentX += TICK_SPACING_PX;
|
|
79570
|
+
if (remaining <= 0.5) break;
|
|
79571
|
+
for (let i2 = 0; i2 < 3; i2++) {
|
|
79572
|
+
ticks.push({
|
|
79573
|
+
size: "eighth",
|
|
79574
|
+
height: "10%",
|
|
79575
|
+
x: currentX
|
|
79576
|
+
});
|
|
79577
|
+
currentX += TICK_SPACING_PX;
|
|
79578
|
+
}
|
|
79579
|
+
}
|
|
79580
|
+
return {
|
|
79581
|
+
widthPx: pageWidthPx,
|
|
79582
|
+
heightPx,
|
|
79583
|
+
ticks,
|
|
79584
|
+
leftMarginPx,
|
|
79585
|
+
rightMarginPx: pageWidthPx - rightMarginPx,
|
|
79586
|
+
pageWidthInches
|
|
79587
|
+
};
|
|
79588
|
+
}
|
|
79589
|
+
const RULER_CLASS_NAMES = {
|
|
79590
|
+
/** Main ruler container */
|
|
79591
|
+
ruler: "superdoc-ruler",
|
|
79592
|
+
/** Tick mark element */
|
|
79593
|
+
tick: "superdoc-ruler-tick",
|
|
79594
|
+
/** Main (inch) tick */
|
|
79595
|
+
tickMain: "superdoc-ruler-tick--main",
|
|
79596
|
+
/** Half-inch tick */
|
|
79597
|
+
tickHalf: "superdoc-ruler-tick--half",
|
|
79598
|
+
/** Eighth-inch tick */
|
|
79599
|
+
tickEighth: "superdoc-ruler-tick--eighth",
|
|
79600
|
+
/** Inch label number */
|
|
79601
|
+
label: "superdoc-ruler-label",
|
|
79602
|
+
/** Margin handle */
|
|
79603
|
+
handle: "superdoc-ruler-handle",
|
|
79604
|
+
/** Left margin handle */
|
|
79605
|
+
handleLeft: "superdoc-ruler-handle--left",
|
|
79606
|
+
/** Right margin handle */
|
|
79607
|
+
handleRight: "superdoc-ruler-handle--right",
|
|
79608
|
+
/** Vertical indicator line during drag */
|
|
79609
|
+
indicator: "superdoc-ruler-indicator"
|
|
79610
|
+
};
|
|
79611
|
+
function createRulerElement(options) {
|
|
79612
|
+
const { definition: definition2, doc: doc2, interactive = false } = options;
|
|
79613
|
+
if (!Number.isFinite(definition2.widthPx) || definition2.widthPx <= 0) {
|
|
79614
|
+
console.warn(`[createRulerElement] Invalid ruler width: ${definition2.widthPx}px. Using minimum width of 1px.`);
|
|
79615
|
+
definition2.widthPx = Math.max(1, definition2.widthPx || 1);
|
|
79616
|
+
}
|
|
79617
|
+
if (!definition2.ticks || definition2.ticks.length === 0) {
|
|
79618
|
+
console.warn("[createRulerElement] Ruler definition has no ticks. Ruler will be empty.");
|
|
79619
|
+
}
|
|
79620
|
+
const ruler = doc2.createElement("div");
|
|
79621
|
+
ruler.className = RULER_CLASS_NAMES.ruler;
|
|
79622
|
+
ruler.style.cssText = `
|
|
79623
|
+
position: relative;
|
|
79624
|
+
width: ${definition2.widthPx}px;
|
|
79625
|
+
height: ${definition2.heightPx}px;
|
|
79626
|
+
display: flex;
|
|
79627
|
+
align-items: flex-end;
|
|
79628
|
+
box-sizing: border-box;
|
|
79629
|
+
user-select: none;
|
|
79630
|
+
pointer-events: ${interactive ? "auto" : "none"};
|
|
79631
|
+
`;
|
|
79632
|
+
for (const tick of definition2.ticks) {
|
|
79633
|
+
const tickEl = createTickElement(tick, doc2);
|
|
79634
|
+
ruler.appendChild(tickEl);
|
|
79635
|
+
}
|
|
79636
|
+
if (interactive) {
|
|
79637
|
+
const leftHandle = createHandleElement("left", definition2.leftMarginPx, doc2, options);
|
|
79638
|
+
const rightHandle = createHandleElement("right", definition2.rightMarginPx, doc2, options);
|
|
79639
|
+
ruler.appendChild(leftHandle);
|
|
79640
|
+
ruler.appendChild(rightHandle);
|
|
79641
|
+
}
|
|
79642
|
+
return ruler;
|
|
79643
|
+
}
|
|
79644
|
+
function createTickElement(tick, doc2) {
|
|
79645
|
+
const el = doc2.createElement("div");
|
|
79646
|
+
const sizeClass = tick.size === "main" ? RULER_CLASS_NAMES.tickMain : tick.size === "half" ? RULER_CLASS_NAMES.tickHalf : RULER_CLASS_NAMES.tickEighth;
|
|
79647
|
+
el.className = `${RULER_CLASS_NAMES.tick} ${sizeClass}`;
|
|
79648
|
+
el.style.cssText = `
|
|
79649
|
+
position: absolute;
|
|
79650
|
+
left: ${tick.x}px;
|
|
79651
|
+
bottom: 0;
|
|
79652
|
+
width: 1px;
|
|
79653
|
+
height: ${tick.height};
|
|
79654
|
+
background-color: #666;
|
|
79655
|
+
pointer-events: none;
|
|
79656
|
+
`;
|
|
79657
|
+
if (tick.label !== void 0) {
|
|
79658
|
+
const label = doc2.createElement("span");
|
|
79659
|
+
label.className = RULER_CLASS_NAMES.label;
|
|
79660
|
+
label.textContent = String(tick.label);
|
|
79661
|
+
label.style.cssText = `
|
|
79662
|
+
position: absolute;
|
|
79663
|
+
top: -16px;
|
|
79664
|
+
left: -2px;
|
|
79665
|
+
font-size: 10px;
|
|
79666
|
+
color: #666;
|
|
79667
|
+
pointer-events: none;
|
|
79668
|
+
user-select: none;
|
|
79669
|
+
`;
|
|
79670
|
+
el.appendChild(label);
|
|
79671
|
+
}
|
|
79672
|
+
return el;
|
|
79673
|
+
}
|
|
79674
|
+
function createHandleElement(side, x2, doc2, options) {
|
|
79675
|
+
const handle2 = doc2.createElement("div");
|
|
79676
|
+
const sideClass = side === "left" ? RULER_CLASS_NAMES.handleLeft : RULER_CLASS_NAMES.handleRight;
|
|
79677
|
+
handle2.className = `${RULER_CLASS_NAMES.handle} ${sideClass}`;
|
|
79678
|
+
handle2.dataset.side = side;
|
|
79679
|
+
handle2.style.cssText = `
|
|
79680
|
+
position: absolute;
|
|
79681
|
+
left: ${x2}px;
|
|
79682
|
+
top: 0;
|
|
79683
|
+
width: 5px;
|
|
79684
|
+
height: 20px;
|
|
79685
|
+
margin-left: -2px;
|
|
79686
|
+
background-color: #ccc;
|
|
79687
|
+
border-radius: 4px 4px 0 0;
|
|
79688
|
+
cursor: grab;
|
|
79689
|
+
transition: background-color 150ms ease;
|
|
79690
|
+
z-index: 10;
|
|
79691
|
+
`;
|
|
79692
|
+
handle2.addEventListener("mouseenter", () => {
|
|
79693
|
+
if (!handle2.dataset.dragging) {
|
|
79694
|
+
handle2.style.backgroundColor = "rgba(37, 99, 235, 0.4)";
|
|
79695
|
+
}
|
|
79696
|
+
});
|
|
79697
|
+
handle2.addEventListener("mouseleave", () => {
|
|
79698
|
+
if (!handle2.dataset.dragging) {
|
|
79699
|
+
handle2.style.backgroundColor = "#ccc";
|
|
79700
|
+
}
|
|
79701
|
+
});
|
|
79702
|
+
if (options.onDragStart || options.onDrag || options.onDragEnd) {
|
|
79703
|
+
setupHandleDrag(handle2, side, options);
|
|
79704
|
+
}
|
|
79705
|
+
return handle2;
|
|
79706
|
+
}
|
|
79707
|
+
function setupHandleDrag(handle2, side, options) {
|
|
79708
|
+
let offsetX = 0;
|
|
79709
|
+
const onPointerDown = (event) => {
|
|
79710
|
+
event.preventDefault();
|
|
79711
|
+
handle2.dataset.dragging = "true";
|
|
79712
|
+
handle2.style.backgroundColor = "rgba(37, 99, 235, 0.4)";
|
|
79713
|
+
handle2.style.cursor = "grabbing";
|
|
79714
|
+
const rect = handle2.getBoundingClientRect();
|
|
79715
|
+
offsetX = event.clientX - rect.left - rect.width / 2;
|
|
79716
|
+
handle2.setPointerCapture(event.pointerId);
|
|
79717
|
+
options.onDragStart?.(side, event);
|
|
79718
|
+
};
|
|
79719
|
+
const onPointerMove = (event) => {
|
|
79720
|
+
if (handle2.dataset.dragging !== "true") return;
|
|
79721
|
+
const ruler = handle2.parentElement;
|
|
79722
|
+
if (!ruler) return;
|
|
79723
|
+
const rulerRect = ruler.getBoundingClientRect();
|
|
79724
|
+
const newX = event.clientX - rulerRect.left - offsetX;
|
|
79725
|
+
options.onDrag?.(side, newX, event);
|
|
79726
|
+
};
|
|
79727
|
+
const onPointerUp = (event) => {
|
|
79728
|
+
if (handle2.dataset.dragging !== "true") return;
|
|
79729
|
+
handle2.dataset.dragging = "";
|
|
79730
|
+
handle2.style.backgroundColor = "#ccc";
|
|
79731
|
+
handle2.style.cursor = "grab";
|
|
79732
|
+
handle2.releasePointerCapture(event.pointerId);
|
|
79733
|
+
const ruler = handle2.parentElement;
|
|
79734
|
+
if (!ruler) return;
|
|
79735
|
+
const rulerRect = ruler.getBoundingClientRect();
|
|
79736
|
+
const finalX = event.clientX - rulerRect.left - offsetX;
|
|
79737
|
+
options.onDragEnd?.(side, finalX, event);
|
|
79738
|
+
};
|
|
79739
|
+
handle2.addEventListener("pointerdown", onPointerDown);
|
|
79740
|
+
handle2.addEventListener("pointermove", onPointerMove);
|
|
79741
|
+
handle2.addEventListener("pointerup", onPointerUp);
|
|
79742
|
+
handle2.addEventListener("pointercancel", onPointerUp);
|
|
79743
|
+
}
|
|
79744
|
+
const RULER_STYLES = `
|
|
79745
|
+
/* Ruler container */
|
|
79746
|
+
.${RULER_CLASS_NAMES.ruler} {
|
|
79747
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
79748
|
+
background-color: transparent;
|
|
79749
|
+
}
|
|
79750
|
+
|
|
79751
|
+
/* Tick marks base styling */
|
|
79752
|
+
.${RULER_CLASS_NAMES.tick} {
|
|
79753
|
+
flex-shrink: 0;
|
|
79754
|
+
}
|
|
79755
|
+
|
|
79756
|
+
/* Handle hover and active states */
|
|
79757
|
+
.${RULER_CLASS_NAMES.handle}:hover {
|
|
79758
|
+
background-color: rgba(37, 99, 235, 0.4) !important;
|
|
79759
|
+
}
|
|
79760
|
+
|
|
79761
|
+
.${RULER_CLASS_NAMES.handle}:active,
|
|
79762
|
+
.${RULER_CLASS_NAMES.handle}[data-dragging="true"] {
|
|
79763
|
+
background-color: rgba(37, 99, 235, 0.6) !important;
|
|
79764
|
+
cursor: grabbing !important;
|
|
79765
|
+
}
|
|
79766
|
+
|
|
79767
|
+
/* Vertical indicator animation */
|
|
79768
|
+
.${RULER_CLASS_NAMES.indicator} {
|
|
79769
|
+
transition: left 16ms linear;
|
|
79770
|
+
}
|
|
79771
|
+
|
|
79772
|
+
/* Print mode: hide rulers */
|
|
79773
|
+
@media print {
|
|
79774
|
+
.${RULER_CLASS_NAMES.ruler} {
|
|
79775
|
+
display: none !important;
|
|
79776
|
+
}
|
|
79777
|
+
}
|
|
79778
|
+
|
|
79779
|
+
/* High contrast mode support */
|
|
79780
|
+
@media (prefers-contrast: high) {
|
|
79781
|
+
.${RULER_CLASS_NAMES.tick} {
|
|
79782
|
+
background-color: #000 !important;
|
|
79783
|
+
}
|
|
79784
|
+
|
|
79785
|
+
.${RULER_CLASS_NAMES.label} {
|
|
79786
|
+
color: #000 !important;
|
|
79787
|
+
}
|
|
79788
|
+
|
|
79789
|
+
.${RULER_CLASS_NAMES.handle} {
|
|
79790
|
+
background-color: #666 !important;
|
|
79791
|
+
border: 1px solid #000;
|
|
79792
|
+
}
|
|
79793
|
+
|
|
79794
|
+
.${RULER_CLASS_NAMES.handle}:hover,
|
|
79795
|
+
.${RULER_CLASS_NAMES.handle}:active {
|
|
79796
|
+
background-color: #0066cc !important;
|
|
79797
|
+
}
|
|
79798
|
+
}
|
|
79799
|
+
|
|
79800
|
+
/* Reduced motion support */
|
|
79801
|
+
@media (prefers-reduced-motion: reduce) {
|
|
79802
|
+
.${RULER_CLASS_NAMES.handle} {
|
|
79803
|
+
transition: none !important;
|
|
79804
|
+
}
|
|
79805
|
+
|
|
79806
|
+
.${RULER_CLASS_NAMES.indicator} {
|
|
79807
|
+
transition: none !important;
|
|
79808
|
+
}
|
|
79809
|
+
}
|
|
79810
|
+
`;
|
|
79811
|
+
let rulerStylesInjected = false;
|
|
79812
|
+
function ensureRulerStyles(doc2) {
|
|
79813
|
+
if (rulerStylesInjected || !doc2) return;
|
|
79814
|
+
const styleEl = doc2.createElement("style");
|
|
79815
|
+
styleEl.setAttribute("data-superdoc-ruler-styles", "true");
|
|
79816
|
+
styleEl.textContent = RULER_STYLES;
|
|
79817
|
+
doc2.head?.appendChild(styleEl);
|
|
79818
|
+
rulerStylesInjected = true;
|
|
79819
|
+
}
|
|
79418
79820
|
function isMinimalWordLayout(value) {
|
|
79419
79821
|
if (typeof value !== "object" || value === null) {
|
|
79420
79822
|
return false;
|
|
@@ -79461,6 +79863,7 @@ ${l}
|
|
|
79461
79863
|
}
|
|
79462
79864
|
const LIST_MARKER_GAP$1 = 8;
|
|
79463
79865
|
const DEFAULT_TAB_INTERVAL_PX$1 = 48;
|
|
79866
|
+
const DEFAULT_PAGE_HEIGHT_PX = 1056;
|
|
79464
79867
|
const COMMENT_EXTERNAL_COLOR = "#B1124B";
|
|
79465
79868
|
const COMMENT_INTERNAL_COLOR = "#078383";
|
|
79466
79869
|
const COMMENT_INACTIVE_ALPHA = "22";
|
|
@@ -79703,6 +80106,9 @@ ${l}
|
|
|
79703
80106
|
ensureFieldAnnotationStyles(doc2);
|
|
79704
80107
|
ensureSdtContainerStyles(doc2);
|
|
79705
80108
|
ensureImageSelectionStyles(doc2);
|
|
80109
|
+
if (this.options.ruler?.enabled) {
|
|
80110
|
+
ensureRulerStyles(doc2);
|
|
80111
|
+
}
|
|
79706
80112
|
mount2.classList.add(CLASS_NAMES$1.container);
|
|
79707
80113
|
if (this.mount && this.mount !== mount2) {
|
|
79708
80114
|
this.resetState();
|
|
@@ -79960,6 +80366,12 @@ ${l}
|
|
|
79960
80366
|
const el = this.doc.createElement("div");
|
|
79961
80367
|
el.classList.add(CLASS_NAMES$1.page);
|
|
79962
80368
|
applyStyles$2(el, pageStyles(width, height, this.getEffectivePageStyles()));
|
|
80369
|
+
if (this.options.ruler?.enabled) {
|
|
80370
|
+
const rulerEl = this.renderPageRuler(width, page);
|
|
80371
|
+
if (rulerEl) {
|
|
80372
|
+
el.appendChild(rulerEl);
|
|
80373
|
+
}
|
|
80374
|
+
}
|
|
79963
80375
|
const contextBase = {
|
|
79964
80376
|
pageNumber: page.number,
|
|
79965
80377
|
totalPages: this.totalPages,
|
|
@@ -79972,6 +80384,70 @@ ${l}
|
|
|
79972
80384
|
this.renderDecorationsForPage(el, page);
|
|
79973
80385
|
return el;
|
|
79974
80386
|
}
|
|
80387
|
+
/**
|
|
80388
|
+
* Render a ruler element for a page.
|
|
80389
|
+
*
|
|
80390
|
+
* Creates a horizontal ruler with tick marks and optional interactive margin handles.
|
|
80391
|
+
* The ruler is positioned at the top of the page and displays inch measurements.
|
|
80392
|
+
*
|
|
80393
|
+
* @param pageWidthPx - Page width in pixels
|
|
80394
|
+
* @param page - Page data containing margins and optional size information
|
|
80395
|
+
* @returns Ruler element, or null if this.doc is unavailable or page margins are missing
|
|
80396
|
+
*
|
|
80397
|
+
* Side effects:
|
|
80398
|
+
* - Creates DOM elements and applies inline styles
|
|
80399
|
+
* - May invoke the onMarginChange callback if interactive mode is enabled
|
|
80400
|
+
*
|
|
80401
|
+
* Fallback behavior:
|
|
80402
|
+
* - Uses DEFAULT_PAGE_HEIGHT_PX (1056px = 11 inches) if page.size.h is not available
|
|
80403
|
+
* - Defaults margins to 0 if not explicitly provided
|
|
80404
|
+
*/
|
|
80405
|
+
renderPageRuler(pageWidthPx, page) {
|
|
80406
|
+
if (!this.doc) {
|
|
80407
|
+
console.warn("[renderPageRuler] Cannot render ruler: document is not available.");
|
|
80408
|
+
return null;
|
|
80409
|
+
}
|
|
80410
|
+
if (!page.margins) {
|
|
80411
|
+
console.warn(`[renderPageRuler] Cannot render ruler for page ${page.number}: margins not available.`);
|
|
80412
|
+
return null;
|
|
80413
|
+
}
|
|
80414
|
+
const margins = page.margins;
|
|
80415
|
+
const leftMargin = margins.left ?? 0;
|
|
80416
|
+
const rightMargin = margins.right ?? 0;
|
|
80417
|
+
try {
|
|
80418
|
+
const rulerDefinition = generateRulerDefinitionFromPx({
|
|
80419
|
+
pageWidthPx,
|
|
80420
|
+
pageHeightPx: page.size?.h ?? DEFAULT_PAGE_HEIGHT_PX,
|
|
80421
|
+
leftMarginPx: leftMargin,
|
|
80422
|
+
rightMarginPx: rightMargin
|
|
80423
|
+
});
|
|
80424
|
+
const interactive = this.options.ruler?.interactive ?? false;
|
|
80425
|
+
const onMarginChange = this.options.ruler?.onMarginChange;
|
|
80426
|
+
const rulerEl = createRulerElement({
|
|
80427
|
+
definition: rulerDefinition,
|
|
80428
|
+
doc: this.doc,
|
|
80429
|
+
interactive,
|
|
80430
|
+
onDragEnd: interactive && onMarginChange ? (side, x2) => {
|
|
80431
|
+
try {
|
|
80432
|
+
const ppi = 96;
|
|
80433
|
+
const marginInches = side === "left" ? x2 / ppi : (pageWidthPx - x2) / ppi;
|
|
80434
|
+
onMarginChange(side, marginInches);
|
|
80435
|
+
} catch (error) {
|
|
80436
|
+
console.error("[renderPageRuler] Error in onMarginChange callback:", error);
|
|
80437
|
+
}
|
|
80438
|
+
} : void 0
|
|
80439
|
+
});
|
|
80440
|
+
rulerEl.style.position = "absolute";
|
|
80441
|
+
rulerEl.style.top = "0";
|
|
80442
|
+
rulerEl.style.left = "0";
|
|
80443
|
+
rulerEl.style.zIndex = "20";
|
|
80444
|
+
rulerEl.dataset.pageNumber = String(page.number);
|
|
80445
|
+
return rulerEl;
|
|
80446
|
+
} catch (error) {
|
|
80447
|
+
console.error(`[renderPageRuler] Failed to create ruler for page ${page.number}:`, error);
|
|
80448
|
+
return null;
|
|
80449
|
+
}
|
|
80450
|
+
}
|
|
79975
80451
|
renderDecorationsForPage(pageEl, page) {
|
|
79976
80452
|
this.renderDecorationSection(pageEl, page, "header");
|
|
79977
80453
|
this.renderDecorationSection(pageEl, page, "footer");
|
|
@@ -82772,7 +83248,8 @@ ${l}
|
|
|
82772
83248
|
layoutMode: options.layoutMode,
|
|
82773
83249
|
headerProvider: options.headerProvider,
|
|
82774
83250
|
footerProvider: options.footerProvider,
|
|
82775
|
-
virtualization: options.virtualization
|
|
83251
|
+
virtualization: options.virtualization,
|
|
83252
|
+
ruler: options.ruler
|
|
82776
83253
|
});
|
|
82777
83254
|
return {
|
|
82778
83255
|
paint(layout, mount2) {
|
|
@@ -93300,9 +93777,11 @@ ${l}
|
|
|
93300
93777
|
if (typeof provider2.awareness.setLocalStateField !== "function") {
|
|
93301
93778
|
return;
|
|
93302
93779
|
}
|
|
93303
|
-
const
|
|
93780
|
+
const editorState = __privateGet$1(this, _editor3)?.state;
|
|
93781
|
+
if (!editorState) return;
|
|
93782
|
+
const ystate = ySyncPluginKey.getState(editorState);
|
|
93304
93783
|
if (!ystate?.binding?.mapping) return;
|
|
93305
|
-
const { selection } =
|
|
93784
|
+
const { selection } = editorState;
|
|
93306
93785
|
const { anchor, head } = selection;
|
|
93307
93786
|
try {
|
|
93308
93787
|
const relAnchor = absolutePositionToRelativePosition(anchor, ystate.type, ystate.binding.mapping);
|
|
@@ -93320,7 +93799,9 @@ ${l}
|
|
|
93320
93799
|
normalizeAwarenessStates_fn = function() {
|
|
93321
93800
|
const provider2 = __privateGet$1(this, _options).collaborationProvider;
|
|
93322
93801
|
if (!provider2?.awareness) return /* @__PURE__ */ new Map();
|
|
93323
|
-
const
|
|
93802
|
+
const editorState = __privateGet$1(this, _editor3)?.state;
|
|
93803
|
+
if (!editorState) return /* @__PURE__ */ new Map();
|
|
93804
|
+
const ystate = ySyncPluginKey.getState(editorState);
|
|
93324
93805
|
if (!ystate) return /* @__PURE__ */ new Map();
|
|
93325
93806
|
const states = provider2.awareness?.getStates();
|
|
93326
93807
|
const normalized = /* @__PURE__ */ new Map();
|
|
@@ -94113,7 +94594,8 @@ ${l}
|
|
|
94113
94594
|
virtualization: __privateGet$1(this, _layoutOptions).virtualization,
|
|
94114
94595
|
pageStyles: __privateGet$1(this, _layoutOptions).pageStyles,
|
|
94115
94596
|
headerProvider: __privateGet$1(this, _headerDecorationProvider),
|
|
94116
|
-
footerProvider: __privateGet$1(this, _footerDecorationProvider)
|
|
94597
|
+
footerProvider: __privateGet$1(this, _footerDecorationProvider),
|
|
94598
|
+
ruler: __privateGet$1(this, _layoutOptions).ruler
|
|
94117
94599
|
}));
|
|
94118
94600
|
}
|
|
94119
94601
|
return __privateGet$1(this, _domPainter);
|
|
@@ -128199,6 +128681,7 @@ ${style2}
|
|
|
128199
128681
|
*/
|
|
128200
128682
|
toggleRuler: () => {
|
|
128201
128683
|
this.superdoc.toggleRuler();
|
|
128684
|
+
this.updateToolbarState();
|
|
128202
128685
|
},
|
|
128203
128686
|
/**
|
|
128204
128687
|
* Initiates the image upload process
|
|
@@ -128624,6 +129107,13 @@ ${style2}
|
|
|
128624
129107
|
item.activate();
|
|
128625
129108
|
}
|
|
128626
129109
|
}
|
|
129110
|
+
if (item.name.value === "ruler") {
|
|
129111
|
+
if (this.superdoc?.config?.rulers) {
|
|
129112
|
+
item.activate();
|
|
129113
|
+
} else {
|
|
129114
|
+
item.deactivate();
|
|
129115
|
+
}
|
|
129116
|
+
}
|
|
128627
129117
|
});
|
|
128628
129118
|
}
|
|
128629
129119
|
/**
|
|
@@ -130057,8 +130547,12 @@ ${style2}
|
|
|
130057
130547
|
};
|
|
130058
130548
|
}
|
|
130059
130549
|
};
|
|
130060
|
-
const _hoisted_1$4$1 = {
|
|
130550
|
+
const _hoisted_1$4$1 = {
|
|
130551
|
+
key: 0,
|
|
130552
|
+
class: "numbering"
|
|
130553
|
+
};
|
|
130061
130554
|
const MIN_WIDTH = 200;
|
|
130555
|
+
const PPI = 96;
|
|
130062
130556
|
const alignment = "flex-end";
|
|
130063
130557
|
const _sfc_main$6$1 = {
|
|
130064
130558
|
__name: "Ruler",
|
|
@@ -130081,7 +130575,7 @@ ${style2}
|
|
|
130081
130575
|
const emit2 = __emit;
|
|
130082
130576
|
const props = __props;
|
|
130083
130577
|
const ruler = ref(null);
|
|
130084
|
-
const rulerDefinition = ref(
|
|
130578
|
+
const rulerDefinition = ref(null);
|
|
130085
130579
|
const rulerHandleOriginalColor = ref("#CCCCCC");
|
|
130086
130580
|
const rulerHandleActiveColor = ref("#2563EB66");
|
|
130087
130581
|
const pageSize = ref(null);
|
|
@@ -130094,45 +130588,32 @@ ${style2}
|
|
|
130094
130588
|
const initialX = ref(0);
|
|
130095
130589
|
let offsetX = 0;
|
|
130096
130590
|
const initRuler = () => {
|
|
130097
|
-
if (props.editor.options.mode !== "docx") return;
|
|
130098
|
-
const rulerItems = [];
|
|
130591
|
+
if (props.editor.options.mode !== "docx") return null;
|
|
130099
130592
|
const { pageMargins: docMargins, pageSize: docSize } = props.editor.getPageStyles();
|
|
130100
130593
|
pageSize.value = docSize;
|
|
130101
130594
|
pageMargins.value = docMargins;
|
|
130102
|
-
|
|
130103
|
-
|
|
130104
|
-
|
|
130105
|
-
|
|
130106
|
-
|
|
130107
|
-
|
|
130108
|
-
|
|
130109
|
-
|
|
130110
|
-
rulerItems.push(...generateSection(1, "half", "40%", margin));
|
|
130111
|
-
if (diff <= 0.5) break;
|
|
130112
|
-
rulerItems.push(...generateSection(3, "eighth", "10%", margin));
|
|
130113
|
-
}
|
|
130114
|
-
return rulerItems;
|
|
130115
|
-
};
|
|
130116
|
-
const generateSection = (qty, size2, height, margin, index2) => {
|
|
130117
|
-
return Array.from({ length: qty }, (_2, i2) => {
|
|
130118
|
-
const item = {
|
|
130119
|
-
className: `${size2}-unit ruler-section`,
|
|
130120
|
-
height,
|
|
130121
|
-
margin
|
|
130122
|
-
};
|
|
130123
|
-
if (index2 !== void 0) item.numbering = index2;
|
|
130124
|
-
return item;
|
|
130595
|
+
const definition2 = generateRulerDefinition({
|
|
130596
|
+
pageSize: { width: docSize.width, height: docSize.height },
|
|
130597
|
+
pageMargins: {
|
|
130598
|
+
left: docMargins.left,
|
|
130599
|
+
right: docMargins.right,
|
|
130600
|
+
top: docMargins.top ?? 1,
|
|
130601
|
+
bottom: docMargins.bottom ?? 1
|
|
130602
|
+
}
|
|
130125
130603
|
});
|
|
130604
|
+
leftHandle.x = definition2.leftMarginPx;
|
|
130605
|
+
rightHandle.x = definition2.rightMarginPx;
|
|
130606
|
+
return definition2;
|
|
130126
130607
|
};
|
|
130127
|
-
const
|
|
130608
|
+
const getTickStyle = computed(() => (tick) => {
|
|
130128
130609
|
return {
|
|
130610
|
+
position: "absolute",
|
|
130611
|
+
left: `${tick.x}px`,
|
|
130612
|
+
bottom: "0",
|
|
130129
130613
|
width: "1px",
|
|
130130
|
-
|
|
130131
|
-
|
|
130132
|
-
|
|
130133
|
-
backgroundColor: unit.color || "#666",
|
|
130134
|
-
marginLeft: unit.numbering === 0 ? null : unit.margin,
|
|
130135
|
-
marginRight: unit.margin
|
|
130614
|
+
height: tick.height,
|
|
130615
|
+
backgroundColor: "#666",
|
|
130616
|
+
pointerEvents: "none"
|
|
130136
130617
|
};
|
|
130137
130618
|
});
|
|
130138
130619
|
const getHandlePosition = computed(() => (side) => {
|
|
@@ -130144,7 +130625,8 @@ ${style2}
|
|
|
130144
130625
|
const getVerticalIndicatorStyle = computed(() => {
|
|
130145
130626
|
if (!ruler.value) return;
|
|
130146
130627
|
const parentElement = ruler.value.parentElement;
|
|
130147
|
-
const editor = parentElement.querySelector(".super-editor");
|
|
130628
|
+
const editor = parentElement?.querySelector(".super-editor") ?? document.querySelector(".super-editor");
|
|
130629
|
+
if (!editor) return { left: `${currentHandle.value.x}px`, minHeight: "100%" };
|
|
130148
130630
|
const editorBounds = editor.getBoundingClientRect();
|
|
130149
130631
|
return {
|
|
130150
130632
|
left: `${currentHandle.value.x}px`,
|
|
@@ -130161,22 +130643,11 @@ ${style2}
|
|
|
130161
130643
|
showVerticalIndicator.value = true;
|
|
130162
130644
|
};
|
|
130163
130645
|
const handleMouseMove2 = (event) => {
|
|
130164
|
-
if (!isDragging.value) return;
|
|
130646
|
+
if (!isDragging.value || !pageSize.value) return;
|
|
130165
130647
|
const newLeft = event.clientX - offsetX;
|
|
130166
|
-
|
|
130167
|
-
|
|
130168
|
-
|
|
130169
|
-
currentHandle.value.x = 0;
|
|
130170
|
-
} else if (newLeft >= rightHandle.x - MIN_WIDTH) {
|
|
130171
|
-
currentHandle.value.x = rightHandle.x - MIN_WIDTH;
|
|
130172
|
-
}
|
|
130173
|
-
} else {
|
|
130174
|
-
if (newLeft >= pageSize.value.width * 96) {
|
|
130175
|
-
currentHandle.value.x = pageSize.value.width * 96;
|
|
130176
|
-
} else if (newLeft <= leftHandle.x + MIN_WIDTH) {
|
|
130177
|
-
currentHandle.value.x = leftHandle.x + MIN_WIDTH;
|
|
130178
|
-
}
|
|
130179
|
-
}
|
|
130648
|
+
const pageWidthPx = pageSize.value.width * PPI;
|
|
130649
|
+
const otherHandleX = currentHandle.value.side === "left" ? rightHandle.x : leftHandle.x;
|
|
130650
|
+
currentHandle.value.x = clampHandlePosition(newLeft, currentHandle.value.side, otherHandleX, pageWidthPx, MIN_WIDTH);
|
|
130180
130651
|
};
|
|
130181
130652
|
const handleMouseUp = () => {
|
|
130182
130653
|
isDragging.value = false;
|
|
@@ -130197,14 +130668,17 @@ ${style2}
|
|
|
130197
130668
|
rulerHandleOriginalColor.value = "#CCC";
|
|
130198
130669
|
};
|
|
130199
130670
|
const getNewMarginValue = () => {
|
|
130200
|
-
if (
|
|
130201
|
-
|
|
130671
|
+
if (!pageSize.value) return 0;
|
|
130672
|
+
const pageWidthPx = pageSize.value.width * PPI;
|
|
130673
|
+
return calculateMarginFromHandle(currentHandle.value.x, currentHandle.value.side, pageWidthPx, PPI);
|
|
130202
130674
|
};
|
|
130203
130675
|
const getStyleVars = computed(() => {
|
|
130676
|
+
const width = rulerDefinition.value?.widthPx ?? pageSize.value?.width * PPI ?? 816;
|
|
130204
130677
|
return {
|
|
130205
130678
|
"--alignment": alignment,
|
|
130206
130679
|
"--ruler-handle-color": rulerHandleOriginalColor.value,
|
|
130207
|
-
"--ruler-handle-active-color": rulerHandleActiveColor.value
|
|
130680
|
+
"--ruler-handle-active-color": rulerHandleActiveColor.value,
|
|
130681
|
+
"--ruler-width": `${width}px`
|
|
130208
130682
|
};
|
|
130209
130683
|
});
|
|
130210
130684
|
onMounted(() => {
|
|
@@ -130240,32 +130714,20 @@ ${style2}
|
|
|
130240
130714
|
class: "vertical-indicator",
|
|
130241
130715
|
style: normalizeStyle(getVerticalIndicatorStyle.value)
|
|
130242
130716
|
}, null, 4)) : createCommentVNode("", true),
|
|
130243
|
-
(openBlock(true), createElementBlock(Fragment,
|
|
130717
|
+
rulerDefinition.value ? (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(rulerDefinition.value.ticks, (tick, index2) => {
|
|
130244
130718
|
return openBlock(), createElementBlock("div", {
|
|
130245
|
-
|
|
130246
|
-
|
|
130719
|
+
key: index2,
|
|
130720
|
+
class: normalizeClass(["ruler-tick", `ruler-tick--${tick.size}`]),
|
|
130721
|
+
style: normalizeStyle(getTickStyle.value(tick))
|
|
130247
130722
|
}, [
|
|
130248
|
-
|
|
130249
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(unit.elements, (half) => {
|
|
130250
|
-
return openBlock(), createElementBlock("div", {
|
|
130251
|
-
class: normalizeClass(half.className),
|
|
130252
|
-
style: normalizeStyle(getStyle.value(half))
|
|
130253
|
-
}, [
|
|
130254
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(half.elements, (quarter) => {
|
|
130255
|
-
return openBlock(), createElementBlock("div", {
|
|
130256
|
-
class: normalizeClass(quarter.className),
|
|
130257
|
-
style: normalizeStyle(getStyle.value(quarter))
|
|
130258
|
-
}, null, 6);
|
|
130259
|
-
}), 256))
|
|
130260
|
-
], 6);
|
|
130261
|
-
}), 256))
|
|
130723
|
+
tick.label !== void 0 ? (openBlock(), createElementBlock("span", _hoisted_1$4$1, toDisplayString(tick.label), 1)) : createCommentVNode("", true)
|
|
130262
130724
|
], 6);
|
|
130263
|
-
}),
|
|
130725
|
+
}), 128)) : createCommentVNode("", true)
|
|
130264
130726
|
], 4);
|
|
130265
130727
|
};
|
|
130266
130728
|
}
|
|
130267
130729
|
};
|
|
130268
|
-
const Ruler = /* @__PURE__ */ _export_sfc$1(_sfc_main$6$1, [["__scopeId", "data-v-
|
|
130730
|
+
const Ruler = /* @__PURE__ */ _export_sfc$1(_sfc_main$6$1, [["__scopeId", "data-v-b9f4f30a"]]);
|
|
130269
130731
|
const _sfc_main$5$1 = {
|
|
130270
130732
|
__name: "GenericPopover",
|
|
130271
130733
|
props: {
|
|
@@ -131446,7 +131908,7 @@ ${style2}
|
|
|
131446
131908
|
const BlankDOCX$1 = "data:application/octet-stream;base64,UEsDBBQAAAAIAAAAIQAykW9XXgEAAKUFAAATABwAW0NvbnRlbnRfVHlwZXNdLnhtbFVUCQADMNDOEjDQzhJ1eAsAAQT1AQAABBQAAAC1lMtqwzAQRfeF/oPRNthKuiilxMmij2UbaPoBijRORPVCmrz+vuM4NaWkMeSxMcgz994zQsxwvLEmW0FM2ruSDYo+y8BJr7Sbl+xz+po/sCyhcEoY76BkW0hsPLq9GU63AVJGapdKtkAMj5wnuQArUuEDOKpUPlqBdIxzHoT8EnPgd/3+PZfeITjMsfZgo+EzVGJpMHvZ0O+GJIJJLHtqGuuskokQjJYCqc5XTv1JyfcJBSl3PWmhQ+pRA+MHE+rK/wF73TtdTdQKsomI+CYsdfG1j4orL5eWlMVxmwOcvqq0hFZfu4XoJaREd25N0Vas0K7XxeGWdgaRlJcHaa07IRJuDaTLEzS+3fGASIJrAOydOxHWMPu4GsUv806QinKnYmbg8hitdScE0hqA5js4m2NncyySOifRh0RrJZ4w9s/eqNU5DRwgoj7+6tpEsj57PqhXkgJ1IJvvluzoG1BLAwQKAAAAAACTZE1bAAAAAAAAAAAAAAAACQAcAGRvY1Byb3BzL1VUCQADhhztaIcc7Wh1eAsAAQT1AQAABBQAAABQSwMEFAAAAAgAAAAhACEYr1llAQAAxQIAABAAHABkb2NQcm9wcy9hcHAueG1sVVQJAAMw0M4SMNDOEnV4CwABBPUBAAAEFAAAAJ1STU/DMAy9I/Efqt63dBwmNHlBaAhx4GPSCpyjxG0j0iRKson9e5wVSoEbOdnP9st7TuDqvTfFAUPUzq7LxbwqC7TSKW3bdflc384uyyImYZUwzuK6PGIsr/j5GWyD8xiSxlgQhY3rskvJrxiLssNexDmVLVUaF3qRKA0tc02jJd44ue/RJnZRVUuG7wmtQjXzI2E5MK4O6b+kysmsL77UR098HGrsvREJ+WOeNHPlUg9sRKF2SZha98grgscEtqLFyBfAhgBeXVAx9wwBbDoRhEy0vwxOMrj23mgpEu2VP2gZXHRNKp5OYos8DWzaAmRgh3IfdDpmqmkK99ri6YIhIFVBtEH47gROMthJYXBD1nkjTERg3wBsXO+FJTo2RsT3Fp997W7yFj5HfoITi686dTsvJP4yO8FhRygqUj8KGAG4o8cIJrPTrG1RffX8LeT1vQy/ki+W84rOaV9fGLkevwv/AFBLAwQUAAAACAAAACEACvOn+GYBAADtAgAAEQAcAGRvY1Byb3BzL2NvcmUueG1sVVQJAAMw0M4SMNDOEnV4CwABBPUBAAAEFAAAAJ2SXU+DMBSG7038D6T3UGBqDAGWTLMrZ0yc0XhX27Otjn6k7cb27y0wmMRdeXc+nvP29G3z6UFUwR6M5UoWKIliFICkinG5LtDbch7eo8A6IhmplIQCHcGiaXl9lVOdUWXgxSgNxnGwgVeSNqO6QBvndIaxpRsQxEaekL65UkYQ51OzxprQLVkDTuP4DgtwhBFHcCMY6kERnSQZHST1zlStAKMYKhAgncVJlOAz68AIe3Gg7fwiBXdHDRfRvjnQB8sHsK7rqJ60qN8/wR+Lp9f2qiGXjVcUUJkzmjnuKihzfA59ZHdf30BdVx4SH1MDxClTPnO6DWZgJKlapq83jm/hWCvDrJ8eZR5jYKnh2vl37LRHBU9XxLqFf9gVBzY7jo/5224mDOx58y/KtCWGND+Z3K0GLPDmZJ2Vfed98vC4nKMyjdObMEnD5G6Zpll8m8XxZ7PdaP4sKE4L/FuxF+gMGn/Q8gdQSwMECgAAAAAAk2RNWwAAAAAAAAAAAAAAAAYAHABfcmVscy9VVAkAA4Yc7WiHHO1odXgLAAEE9QEAAAQUAAAAUEsDBBQAAAAIAAAAIQAekRq36QAAAE4CAAALABwAX3JlbHMvLnJlbHNVVAkAAzDQzhIw0M4SdXgLAAEE9QEAAAQUAAAArZLBasMwDEDvg/2D0b1R2sEYo04vY9DbGNkHCFtJTBPb2GrX/v082NgCXelhR8vS05PQenOcRnXglF3wGpZVDYq9Cdb5XsNb+7x4AJWFvKUxeNZw4gyb5vZm/cojSSnKg4tZFYrPGgaR+IiYzcAT5SpE9uWnC2kiKc/UYySzo55xVdf3mH4zoJkx1dZqSFt7B6o9Rb6GHbrOGX4KZj+xlzMtkI/C3rJdxFTqk7gyjWop9SwabDAvJZyRYqwKGvC80ep6o7+nxYmFLAmhCYkv+3xmXBJa/ueK5hk/Nu8hWbRf4W8bnF1B8wFQSwMECgAAAAAAk2RNWwAAAAAAAAAAAAAAAAUAHAB3b3JkL1VUCQADhhztaIcc7Wh1eAsAAQT1AQAABBQAAABQSwMEFAAAAAgAoWRNW+xw0GIQAgAAtAcAABIAHAB3b3JkL2ZvbnRUYWJsZS54bWxVVAkAA54c7WieHO1odXgLAAEE9QEAAAQUAAAAvZPBbqMwEIbvlfoOlu8NhpA0RSFV222kvexh1T6AY0ywFtvI44Tk7dcYiBSyuy3tqiCEGf75mPnHLO8PskR7bkBoleJwQjDiiulMqG2KX1/WNwuMwFKV0VIrnuIjB3y/ur5a1kmulQXk8hUkkqW4sLZKggBYwSWFia64ci9zbSS17tFsA0nNr111w7SsqBUbUQp7DCJC5vj6CrmjZZn3oHSeC8a/abaTXFkPCQwvHVYrKEQFZ8j6Pcham6wymnEA170sW6ikQp2zwviCJgUzGnRuJ663rjbPc4yQ+JUsB5TZOEr0Z8qc8cM40KIDBS7zAiaycbD5CSayIexjZQ0p2W4UJ5r2FTW3Jn0IhMxmxThmP8GgyaWWFhSKCywf1+/sxDxKNwgkWfJ9q7Shm9KR3CZDbosgD0btZJobaieO+j6Qdwiv2mK6nxLViaLSUV6E5IB+8Br91JKqXtZJK6o08NCp97RMMWkanZMpmZHYXZFbxTg4T2EFNcDtKYUMBTmVojz2743/6kBSCcuKXrGnRjQdD0Ugtk6ygw1J8TMhJHper3EbCVP85CK3i9ljF4maSvxx10WmpwhpIsxz/GPYcpjnnDT915dB6+Bf/HzSOyO4aRx908tb59+d97TxMv60l1Jn3PzbzFwcePYRJ+PpVzv54MZevunho9uPsfewPT/rIdQC4P/sx4evdrFfwuo3UEsDBBQAAAAIAAAAIQCWFrgr1QIAAIgLAAARABwAd29yZC9kb2N1bWVudC54bWxVVAkAAzDQzhIw0M4SdXgLAAEE9QEAAAQUAAAApZZbb9sgFMffJ+07WH5v8S1OYjWttGab+jCpWrcPQIDEqAYsILd9+h3s+LJ5qxz3CXPg/PjDORxz93AShXdg2nAlV354G/gek0RRLncr/+ePLzcL3zMWS4oLJdnKPzPjP9x//HB3zKgie8Gk9QAhTXYsycrPrS0zhAzJmcDmVnCilVFbe0uUQGq75YSho9IURUEYVF+lVoQZA+s9YnnAxr/gyGkcjWp8BGcHTBDJsbbs1DHCqyEztESLISiaAIIdRuEQFV+NSpFTNQAlk0CgakCaTSP9Y3PpNFI0JM2nkeIhaTGNNEgnMUxwVTIJg1ulBbbQ1TsksH7dlzcALrHlG15wewZmkDYYzOXrBEXg1RJETK8mzJFQlBUxbShq5e+1zC7+N62/k57V/pem9WDFuGVhuSViJ1sY2/jqMWdXu68vhaU6NaRZAeeopMl52VYHMZUGg3kDObx1AAdR+G1lC0detf+VtnUdhg44Rv4ldqKolb9NDIMR0XSI1mOMhD/XbJQIyOBu4UlH0zvccGTxaQDRAJASNvJn0TAWFwYi3e12HD7yWjWctOVw2uNME9MD0P1ViChudLjGufdYhlqaX4drYoScL7Y4xybvE9l1G5y1uLPonXe5e9+l+qrVvuxo/H20p668HuV1GwzSvyNYmveJeclxCVVXkOxpJ5XGmwIUwVXz4LZ4VQS8Ol1d49U3wGti7VUJ5Lmq5d/DO22j6Nm1JQwkWYk1foI0T8JlmqTz0K+s8Jezzhoks+VivpyBNYM3If0OJkiveD3/1JqetTPGYZA8fm6Na7bF+8IOpz/3JiMnwzBin/VYfiV89/ILBqFihVGUBG4iJHQ4W8A3qid8w45oFRTWMKmnaL7LbdfdKGuV6PoF2/ZGc4Ypg3XnUdXdKmV73d3eVt3LckQVBqymxITVcyozvIe/aheSrOCSPXNLQGWcVqOo2Xf1WUcEdU/o+99QSwMEFAAAAAgAAAAhAMrnZYorBAAAvgwAABEAHAB3b3JkL3NldHRpbmdzLnhtbFVUCQADMNDOEjDQzhJ1eAsAAQT1AQAABBQAAAC1V22PmzgQ/n7S/QfE58uG1ySLmq3yervV5lqVre6zAZNYa2Nkm03T0/33GwwO9BZVSav9hJln5pnxeGYM795/ZdR6wUISXsxt98axLVykPCPFfm5/edqOZrYlFSoyRHmB5/YJS/v93e+/vTtGEisFatICikJGLJ3bB6XKaDyW6QEzJG94iQsAcy4YUvAq9mOGxHNVjlLOSqRIQihRp7HnOBO7peFzuxJF1FKMGEkFlzxXtUnE85ykuH0YC3GJ38ZkzdOK4UJpj2OBKcTAC3kgpTRs7GfZADwYkpcfbeKFUaN3dJ0LtnvkIjtbXBJebVAKnmIp4YAYNQGSonMcvCI6+74B3+0WNRWYu45e9SMPryPwXhFMUvz1Oo5ZyzEGyz4Pya7jmZx5SNbj+blgegRZdRWF55s46kdt3uOSmcoO19GZMxrXtkihA5KHPiO+boPhme7EunxLekkFNtAjSQQSp375sTR62BdcoIRCOFCGFlSSpaOzmqOsH1ZTHZbJg6WTa9/B1PnGObOOUYlFCq0HI8tz7HENQMHzPFZIAVEkS0ypnmEpxQj8HqO9QAymj5FomwznqKLqCSWx4iUovSDY3tRQpgckUKqwiEuUAtuKF0pwavQy/hdXK5hkAhqttdBzrVvFzYwEiwIx2PB3c2/HM1xHVgly+cnYxrsb9l3+3xGHmS5Ihp/qRMfqRPEWgo/JN7wosg+VVAQY9fT7hQh+FAAuas8foTSeTiXeYqQqSNMbOdMnsaWk3BEhuHgoMqiNN3NG8hwLcECg1nZQPkTwo87zPUYZXKVv5LeS+G9Qhs70n6Asn5dcKc7uT+UBcv1rJ6nrfdwvX/ggyKRZfOZcnVVhbPnr6bKJtEYvQXzXCVabQWTibN1hm0XgO/4gsnLXbjCMhLPlaggJboOJuxhCJqG3CcIhZLH0Zv5sCFku3Wk4iKxW/srfDiIbZz28n83Km04HY9vees7tpj2d9kxYVH9qfBJmVTe2xRqLFWKJIMja1R8j41ojEc9LUhg8wTClcR+Jq8SAo1EDSIYo3UKJGcBp5BmR5Rrnek13SOw73lZDDEphyn44c9VTG4s/Ba/KBj0KVDYNa1TcIGgtSaEeCTNyWSWxsSrgXulBVZF9fBE6T116jpGCBtCD7xHpRtK6uBh9idtGoyKumwTvUFk2vZbs3blNyf6g3Lo9FLxl8M2qX5K912KexrwG0y8orXcG2u2ik3lG1tPzjczvZIGRBZ0sNLKwk02MbFLLDjBdBVx1z9D2ZlnLc04pP+LsvsNficwlmBI48fjEku5uu2kwSiTMoRKuQcWFwf7QmBtEGU8f6vs6aOT+YhGuF860gUN9fSo9qiC1n3G+RBJnLWZMw8b0n8nEmbjuajYKZpvb0WYaBKOZu7wdTafO1PW3rufPnH/bPjA/Hnf/AVBLAwQUAAAACAAAACEA24Vsw30EAACXHQAAEgAcAHdvcmQvbnVtYmVyaW5nLnhtbFVUCQADMNDOEjDQzhJ1eAsAAQT1AQAABBQAAADNmc1u4zYQx+8F+g6CgB4Tifq2sM4iySZFFttF0U3RMy3RlhB+CBRlx9d9mT5CH2tfoaRkyXLkxJIctz4pJjk/zQxnyL+dDx+fCdaWiOcpo1MdXJq6hmjE4pQupvqfj/cXga7lAtIYYkbRVF+jXP949fNPH1YhLcgMcblQkwyah6ssmuqJEFloGHmUIALzS5JGnOVsLi4jRgw2n6cRMlaMx4ZlArP8K+MsQnkuObeQLmGub3DRcz9azOFKGiugY0QJ5AI9bxlgMMQ1JkbQBVkjQDJCC3RR9mCUZyivOiBnFEh61SG540h7gvPGkawuyR9HsrukYBypU06kW+AsQ1ROzhknUMiPfGEQyJ+K7EKCMyjSWYpTsZZM06sxMKVPIzySVg2B2PFggm8QFiNsxzWFTfWC03Bjf9HYK9fDyn7zaCwQ7vda+bqJgZ4FzkVty/vkrjL/xKKCICrKrBkcYZlHRvMkzZrTgYylycmkhizfSsCSYL052UDPVnvtaPtUbcMW2Mf9zd4RXHn+NhGYPXZTIRqLPi7svrP2hMgK3r54VGpayQU9D58aYHUAXoR6XhY1I9gwjGjb3YqT9myrmuM1nDRuccY50wLExSCEZdd+qIcyb7HyWMTJMFy9R4ayhQImME/aRDQsQLfBrUkr39niuKb6lbMi29LS42gP2+N1RYcFaHovdzDLj3PmWwIzeeqSKHxYUMbhDEuPZKtpslu0cge0qlzVQ6s6QKv3WisLSFOnln4lhRqc5YLDSHwtiLbz6UFWuxR8khlyJFUeV4OVprueC8RvOIJPaomi0Fy9LVxCeQUAD1jejenrhpohBRbpF7RE+HGdoXpNsp7xNP5NzWE1V60VJMP1Chfc3Tp3ZlDN4KWaSOWjcioUGZb3remYE9M0QelD6WPjRGUnZeg9aQZnBcZINMRHeQfVUz++/9OMf47qUYzmm+XZ71w9UqrCVMNT3bdKTxJIF6Ugtj1TrTWaxXzzuGdU5Cq5eZTKOvy2JjOGS9NrmbedgZRKcIzmUGZmAyspRunYy0yATibsckTeZ/JSXCK14ujMsKF5AY4zLjG3rOAp4tpXtGpl58VolHcXDsua1cma+/5Z+/H976F5s4A3Lm9/ydXqO1neytru2LAE2Xsa7AQJGtxwVhD83x3nnGXHyTycdce5Z9pxjj3yCH/vjvPOtONcc+RR/n4d559lx7n+yLP6P+q44Ew7znNGHuHHd5yxo24PSl8wRvq6gW8C++b6OOl7d+c5wL91+kjf+57bGKMoJRDv3cdfwOU7a9+echVMRhYlZivEvyAh92J/RNbgiA6p1p5aEtwcE9IfjEC6PyJ7X0Q8XSQDBCUIeoTUVX/3I0N6s+acwTt0SP71VGynKzp3cEiHhFtPOXWyovOGF11HU/Uquq4AOknR+YN36JAC6ilaTld0wfCQDmiXnoriZEU3GV50HVnxStF1NQAt737auvPVD2dhXJQ/q5WDMlTHn3jWy5/LHpprv34X3cO09jGdwHWB7wDwOhO0mUbrH6pX/wJQSwMEFAAAAAgAAAAhAL5+dmJWAQAA0AMAABQAHAB3b3JkL3dlYlNldHRpbmdzLnhtbFVUCQADMNDOEjDQzhJ1eAsAAQT1AQAABBQAAACd01FvwiAQAOD3JfsPhHelumlMYzVZFpe9LEu2/QAKV0sGXAO46n79aLWuiy92T0DLfbnjYLneG02+wHmFNqOTcUIJWIFS2W1GP943owUlPnAruUYLGT2Ap+vV7c2yTmvI3yCEuNOTqFifGpHRMoQqZcyLEgz3Y6zAxp8FOsNDXLotM9x97qqRQFPxoHKlVTiwaZLM6Ylx1yhYFErAI4qdARvaeOZARxGtL1XlO62+RqvRycqhAO9jPUYfPcOVPTOT+wvIKOHQYxHGsZhTRi0VwydJOzP6F5gNA6YXwFzAfpixOBksRvYdJYc587OjZM/5XzI9QO4GEdO7Lo9maMJ7lpdBlsO4rkesieWBl9yXfRGGFTg7cwfTnLcR6fPWouO5jlK8QSReAtLC5NiFZiDHxpKuBNKeC13FJ4ZVUEZ9wwbdg8Pag2PNZ6411q8vT3HB/rzD1Q9QSwMEFAAAAAgAAAAhAD+v4WZfDwAADaYAAA8AHAB3b3JkL3N0eWxlcy54bWxVVAkAAzDQzhIw0M4SdXgLAAEE9QEAAAQUAAAA3Z1tc9s2Esff38x9B45e9V6ksp5lT92O7STnzCWpWzvX1xAJWaj5oCOpOO6nPwB8EKUlKC64UdRMZlqL4v4I4L+7xIIU+dMvXwLf+czjREThZW/w41nP4aEbeSJ8vOx9enj7at5zkpSFHvOjkF/2XnjS++Xnf/7jp+eLJH3xeeJIQJhcBO5lb5Wm64t+P3FXPGDJj9Gah/LLZRQHLJUf48d+wOKnzfqVGwVrloqF8EX60h+enU17OSZuQ4mWS+Hy15G7CXiYavt+zH1JjMJkJdZJQXtuQ3uOYm8dRy5PEtnpwM94ARNhiRmMASgQbhwl0TL9UXYmb5FGSfPBmf4r8LeACQ4wBICpy7/gGPOc0ZeWVY7wcJxpyRFehWPXmArA26AQw1HRDvU/ZV5hJV7qrXC4QqO+smUpW7FkVSVyXAcnJe4lUOMduBfvHsMoZgtfkqQHOdIJHA12MhXU/5xMWKfogqPHpfezjC4vcl/zJdv4aaI+xndx/jH/pP/3NgrTxHm+YIkrxGXvKhZMDvHzBWdJepUI9iBbLg8fCNmS26swEerLlfqjsrObXPYeRCBD+SN/dn6PAhY6P1xH3otzc/+vXl8d6InHodzzM/Mve8NsU/JXuWFcbLlJ9rf5LHwstvHw1af7ausqmxbCk01i8av7K204GF/44pGlm1g2S33ShCwRxd6N7Db/km5k++XO/Xw8+vujtC4/ZXvtDalMGDJ93GdZTH7Ll+8j94l796n84rJ31ss2fnp3F4solpnqsnd+nm+854G4FZ7Hw8qO4Up4/I8VDz8l3Ntu/+2tzjb5BjfahPLv0WyqZfYT780Xl69V7pLfhkzp9VEZaG02Yntwbf6/AjbIB7jOfsWZSuDOYB9xjkYMlUVS6W09c7PX9wH6QKNjHWh8rANNjnWg6bEONDvWgebHOtD51z6QCD2Z3wf1hwHUQxxDNKI5hmBDcwyxhOYYQgXNMUQCmmNwdDTH4MdojsFNEZw0ck1eWHH2kcHbm7mHzxF23MOnBDvu4TOAHfdwwrfjHs7vdtzD6dyOezh723EPJ2s8N5tqOe9kmIVp5yhbRlEaRil31PS0M42FkqWrWhqeOunxmKSTBJgss+Un4s40l+nPhz1k0u18nqqCzomWzlI8quKkc8N5+Jn70Zo7zPMkjxAYc1k+GUbExqdjvuQxD11O6dh0UF+E3Ak3wYLAN9fskYzFQ494+AoiSVIoHZpt0pUKEkHg1AFz44hgzsLI8sN7kXQfKwVxrje+z4lYH2lcTLO61wYa07000JjulYHGdC8MKppRDVFOIxqpnEY0YDmNaNwy/6Qat5xGNG45jWjcclr3cXsQqc/3Zx2D9mt3N36UUCS8e/EY6vXTzqR8zdS5YzF7jNl65ahl54MzLfRx9JLzA8U5rSRRzeu1i6hVZxFuug/oDo0quEoeUXiVPKIAK3ndQ+yDnCarCdotTT1zv1mktUHbviq4Z/4mm9B2jzaWdvewbQC8FXFCFgb1WAIP/qims7dEU71tK7s3bMvqHlb7WYm0eTmSoJV+5D7RpOHblzWPZVn21Jn0NvL96Jl7dMT7NI4yX6uG/HDYOuTfBOsVS0QCEO1P9cUdDM4Htu7coTufiZBGtzevAiZ8h24Gcfvw4b3zEK1VmakGhgZ4HaVpFJAx85XAH/7gi3/RNPBKFsHhC1Fvr4iWhzTsRhCcZDJS5BGR5DRThILkHKp5/+Evi4jFHg3tLubZTUMpJyLes2DtU8WWzIvPMv8QzIY0778sFmpdiCqoHkhglWXDZLP4k7vdU93HyCFZGfp1k+r1Rz3V7X61dwfXfZqwg+s+RdBqytOD8l+Czu7gund2B0fV2RufJYkwXkK15lF1t+BR97d78ZfzIj+KlxufbgALINkIFkCyIYz8TRAmlD3WPMIOax51fwldRvMIluQ079+x8MjE0DAqJTSMSgYNo9JAw0gF6H6HTgXW/TadCqz7vToZjGgKUIFR+Rnp6Z/oKk8FRuVnGkblZxpG5WcaRuVno9cOXy7lJJjuFFNBUvlcBUl3oglTHqyjmMUvRMg3Pn9kBAukGe0ujpbq1yRRmN3ETTGd3SxSysl2hqMS+Q++IGuaYlG2i2BFlPl+FBGtrW1PONpy9961Q2b65xydm3DnM5evIt/jsaFPjfXy/Zq5Ai6dtr9Y8l48rlLnflWu9lcx07ODlkXBvmN2+IB1Yz4dNl5m8sQmKBoKf0wxHbU3HgLj8WHj7Uxix3LS0hIec3rYcjtL3rGctbSEx5y3tBwBy6Z4eM3ip1pHmDX5T1njGZxv1nhhvjCuPWyTI5WWdS44a/KinVBxrlxXXS2A6rSLGbN9u+Ax22OiyEzBhJOZ0jquzIimAPudfxZJ7Rr1gevf5d0TIO+PW2fO3zZRCi5TD9v/qOudnDiFCXdqOaP2F652sox5HFunGzOidd4xI1onIDOiVSYymqNSkpnSOjeZEa2TlBmBzlbwjIDLVtAel62gvU22ghSbbNVhFmBGtJ4OmBHoQIUIdKB2mCmYEahABeZWgQop6ECFCHSgQgQ6UOEEDBeo0B4XqNDeJlAhxSZQIQUdqBCBDlSIQAcqRKADFSLQgWo5tzeaWwUqpKADFSLQgQoR6EAddwxUaI8LVGhvE6iQYhOokIIOVIhABypEoAMVItCBChHoQIUIVKACc6tAhRR0oEIEOlAhAh2ok46BCu1xgQrtbQIVUmwCFVLQgQoR6ECFCHSgQgQ6UCECHagQgQpUYG4VqJCCDlSIQAcqRKADddoxUKE9LlChvU2gQopNoEIKOlAhAh2oEIEOVIhABypEoAMVIlCBCsytAhVS0IEKEehAhYgm/8wvUZpusx/gVz2Nd+wjfueTNer36k+5d9ZQ26OKVplZ7X+LcB1FT07tDw9Ho/YQsfBFpJeoDZfVq9wZ+sLnrzfNv/Bp8RiPtl3Jfwuhr5kC+LitJVhTGTe5fNUSFHnjJk+vWoJZ57gp+1YtwWlw3JR0dVwWN6XI0xEwbkozFeOBwbwpW1fM4RA35eiKIRzhpsxcMYQD3JSPK4YTRyXnfetJy3GalveXAkKTO1YIMzOhyS2hVsa1/daimQlt1TMT2spoJqD0NGLwwppRaIXNKDupYZhhpbYPVDMBKzUkWEkNMPZSQ5S11BBlJzVMjFipIQErtX1yNhOspAYYe6khylpqiLKTGp7KsFJDAlZqSMBK3fGEbMTYSw1R1lJDlJ3UcHKHlRoSsFJDAlZqSLCSGmDspYYoa6khyk5qUCWjpYYErNSQgJUaEqykBhh7qSHKWmqIapJar6LYV0sVc9wkrGKIOyFXDHHJuWJoUS1VrC2rpQrBslqCWtlVS1XR7Kqlqnp21VJVRrtqCehpVy3VCmtXLdUqbFctmaXGVUt1UtsHql21VCc1rloySo2rlhqlxlVLjVLjqiWz1LhqqU5qXLVUJ7V9crarloxS46qlRqlx1VKj1LhqySw1rlqqkxpXLdVJjauW6qTueEK2q5YapcZVS41S46ols9S4aqlOaly1VCc1rlqqkxpXLRmlxlVLjVLjqqVGqXHVkllqXLVUJzWuWqqTGlct1UmNq5aMUuOqpUapcdVSo9S4aumDNBEEj4C6D1icOnTPi7tlySpl3R9O+CmMeRL5n7nn0Hb1PaqX/eed118ptn6dn9w/lWOmnoBe+bmSlz0BNgfqHd955WuqlLFqiZO/5yvfrBucX67NjqgNDxyqhOfXigcAv325lT7Cgsle/RrWHTxUD0as2a4cotheHOZmxeLs262rFvuc7/fl+SJO1Avcsq/Pzoaj0evZdbbXOns12xPn64/y+P3ig9SHJ/pTkv2AVpov1DPF5AiMpvq3V2yZ8viyN8+jNsqe2vT+s18eKZcuP0btW+CKV76xPyuvfNt/H5z68k2+TX2vXwlXa+kmaWXztfBE1jhXRXnZrrfj2VT7ht5ZZ4DLHtPxv92sbkpR9xm8zQjbF8gVF5urL5AbF30tXu1m4zxDo/MMKZ1n2MJ5tmGZ7bcTlF/ZvQYt3WvwfbrXaAjdK9vW0b1GRvcaUbrX6Dtxr2Gzex1yomO4ynAOXSXb1tFVxkZXGVO6yvjEXWVe9ZSx0VNGX8dTRPbfm4TEbzp6xMToERNKj5h8Hx4xPs3c0dEHpkYfmFL6wPTEfcAs++ToiWByrv7tO4F609LWBR6EeoPv1ZTAA2ZGD5hResDsb+sB0yME/pE1nxs1n1NqPj8pzaGys6PH9nCm/rXR+TXFnO/cqPM5pc7nJ67z/AgRTK+sKweVufkD1Q3rX/mLkcon++jXIu1rbnh7kkGvQTu9zO1O1SpsQ5v1Km3jwl3+sHaTQ7X2qHThZ1LLP96FyqGe83fYZy31vrBeseMN9/0PLNs7Wpt39fkyzb4dnM1rvl9kr4Qw2sf62oER0N9tTL/shHm8s5dE5j9qMa6T6keGweHOHiXWcaRb+rC7SeTQ6OXe/fbtrIHut/K2WG51tnlmL3HVxoEpXQ0OpCpz8vle1qO6LHciJR02SjokknSIO/t8/wp3WXFEKjxqVHhEpPDoayn8d1/0Q6o1blRrTKTW+NTUOvbCG1KVSaMqEyJVJqemysnpMG3UYUqkw/TUdDjqahRSklmjJDMiSWanJslpiTBvFGFOJML81EQ46koOUpLzRknOiSQ5PzVJvslyWvZgi/2xzrZSrKNpUtMi2iAv2FBrZNtF7r0L4656fcWXdMP8/En6jctjxyyBtk3W3XpV9PuJx+XgbifLZXqcwunzhDgRbiWqdYOu4VbxJbP6p1m2Hl+z+iAtX6K9L1D5BUWoFrDGaB1YRGu4CbI/hA/vhyq/BDE9mB64Je+bTECAVwwm36Lm3RHL5BZdQ3fXvczecOJzxq8sWX3MZq8B2Fcm20oRrZrUFKpDmztrD92ANige3venW3BUEcvj2khtmGSOz9S/NhpS18PbgasVp2vMVBQ2a3IwYI46cvUOrC6fbN+rsT9We6/dOOTRcChGYwv3FPpSl7pQpZ6R12LO19Jdyk7nD44rn2a3323wuDuco9R4BOqEetg7jnifVT4W9Ylu920oFAmverimvDeyKSjW117lAqneL5GelL9X+y91j5yTZUeuJ61OPuyW6+PlpdSvfKT+tmeHfhgxKjJ7NcbmU90afWU3+0SS/L/peijwo0bX7Xo62AmSAx57cnHfmCO3z9Y0DeB2j65Zsrjmh8qSi+yo+WglMqn4N2xNM3ZgSjmpH9Hir+Tn/wNQSwMECgAAAAAAk2RNWwAAAAAAAAAAAAAAAAsAHAB3b3JkL3RoZW1lL1VUCQADhhztaIcc7Wh1eAsAAQT1AQAABBQAAABQSwMEFAAAAAgAAAAhAGeA/LSbBgAAzSAAABUAHAB3b3JkL3RoZW1lL3RoZW1lMS54bWxVVAkAAzDQzhIw0M4SdXgLAAEE9QEAAAQUAAAA7VlPb9s2FL8P2HcgdHf1x5IsBXUL/23XJm3RpB16ZGRaYkyJAkknMYoCQ3vaZcCAbthlwG47DMMKrMCKXfZhCrTYug8xSnZs0abatE23AksMxCL5e48/vvf4+ExdvHycEnCIGMc0axv2BcsAKIvoCGdx27izN2wEBuACZiNIaIbaxgxx4/KlTz+5CLdEglIEpHzGt2DbSITIt0yTR7Ib8gs0R5kcG1OWQiGbLDZHDB5JvSkxHcvyzRTizAAZTKXam+MxjhDYK1Qal06UD4j8lwledESE7UbljFWJEjua2MUXn/EeYeAQkrYh5xnRoz10LAxAIBdyoG1Y5Z9hXrpoLoWIqJGtyA3Lv4XcQmA0cUo5Fu8vBa2BE7j2Ur8z17+JGwTFZ6mvBMAokiu1N7C251uBs8BWQPNHje6wZTdVfEV/c1N/6HcdV8E3V3h3c43DcND3FLy7wnsb+I7ldMOmgvdWeH8D7w46LWeg4EtQQnA22UT7rSDwF+glZEzJVS089H2r1V/AVyizEl1z+UzUxVoKDygbSkDpXChwBsQsR2MYSVwnF5SDPuY5gTMD5DCjXHZbjm3LwHMtZ/kpLQ63EKxIz7sivtFV8AE8YjgXbeOa1GpUIC+ePXv+8Onzh789f/To+cNfwDaOE6GRuwqzuCr36sev//7+C/DXrz+8evyNHs+r+Jc/f/ny9z9ep14otL598vLpkxffffXnT4818A6D+1X4Hk4RBzfQEbhNU7lAzQRon72dxF4CcVWik8UcZrCQ0aAHIlHQN2aQQA2ui1Q73mUyXeiAV6YHCuHdhE0F1gCvJ6kC3KGUdCnTrul6MVfVCtMs1k/OplXcbQgPdXP31rw8mOYy7rFOZS9BCs1bRLocxihDAhRjdIKQRuwexopdd3DEKKdjAe5h0IVYa5I9vC/0QldxKv0y0xGU/lZss3MXdCnRqe+jQxUp9wYkOpWIKGa8AqcCplrGMCVV5DYUiY7k7oxFisG5kJ6OEaFgMEKc62RusplC9zqUeUvr9h0yS1UkE3iiQ25DSqvIPp30EpjmWs44S6rYz/hEhigEt6jQkqDqDina0g8wq3X3XYzE2+3tOzIN6QOkGJky3ZZAVN2PMzKGSKe8w1IlxXYY1kZHdxorob2NEIFHcIQQuPOZDk9zqid9LZFZ5SrS2eYaVGO1aGeIy1qpKG40jsVcCdldFNMaPjuztcQzg1kKWZ3mGxM1ZAb7TG5GXbySaKKkUsyKTasncZOn8FRabyVQCauizfXxOmPZ2+4xKXPwDjLorWVkYj+1bfYgQfqA2YMYbOvSrRSZ6kWK7VSKTbVyY3XTrtxgrhU9Kc7eUAH9N5XPB6t5zr7aqUso6zVOHW69sulRNsIff2HTh9PsFpJnyXldc17X/B/rmrr9fF7NnFcz59XMv1bNrAoYs3rZU2pJa29+xpiQXTEjaJuXpQ+Xe380lJ1loxRaXjTliXxcTKfgYgbLZ8Co+ByLZDeBuZzGLmeI+UJ1zEFOuSyfjFrdZfE1TXfoaHGPZ5/cbUoBKFb9lrfsl6WamPf6rdVF6FJ92Yp5lYBXKj09icpkKommhkSreToStnVWLEINi8B+HQuz4hV5OAFYXIt77pyRDDcZ0qPCT3P5E++euafrjKku29EsL3TPzNMKiUq4qSQqYZjIw2O9+4x9HYZ6VztaGq3gQ/ja3MwNJFNb4EjuuaYn1UQwbxtj+bNJPqa51MeLTAVJnLWNSCwM/S6ZJWdc9CFP5rByaL7+FAvEAMGpjPWqG0i24mY7LevjJRdaH5/lzHUno/EYRaKmZ9WUY3Ml2tH3BBcNOpWkd5PREdgnU3YbSkN5Lbsw4AhzsbTmCLNKcK+suJauFltReQO02qKQ5AlcnCjVZD6Hl89LOpV1lEzXV2XqTLgfD8/i1H2z0FrSrDlAWrVZ7MMd8hVWTT0rT5vrwsB6/Snx/gdChVqgp9bUU6s7O86wIKhM59fYzan15nueButRa1bqyrK18XKb7h/IyO/LanVKBJ9fkB3L8rt38lpyngnK3pPscizAlOG2cd/yOm7P8XoNK/AGDbfpWo3A6zQbHc9r2gPPtvpd54E0ikhS25vPPZQ/9sls8e6+7N94f5+elNoXIpqatKyDzVK4fH9vO/Xv7wGWlrnvO8OwGXb9RtjsDBtuvxs0wp7fbfT9Xqs/7Pe8IBw+MMBhCXY7zZ7rD4KGb/d6Dde3CvpB2Gi5jtNxW51g4HYeLGwtV37yfWLektelfwBQSwMECgAAAAAAk2RNWwAAAAAAAAAAAAAAAAsAHAB3b3JkL19yZWxzL1VUCQADhhztaIcc7Wh1eAsAAQT1AQAABBQAAABQSwMEFAAAAAgAAAAhALO+ix3+AAAAtgMAABwAHAB3b3JkL19yZWxzL2RvY3VtZW50LnhtbC5yZWxzVVQJAAMw0M4SiBztaHV4CwABBPUBAAAEFAAAAK2TzWrDMBCE74W+g9h7LTttQwmRcymBXFv3AWR7/UP1Y6RNWr99RUoShwbTg44zYme+hdV6860VO6DzvTUCsiQFhqaydW9aAR/F9uEFmCdpaqmsQQEjetjk93frN1SSwpDv+sGzkGK8gI5oWHHuqw619Ikd0ISXxjotKUjX8kFWn7JFvkjTJXfTDMivMtmuFuB29SOwYhzwP9m2afoKX22112joRgX3SBQ28yFTuhZJwMlJQhbw2wiLqAg0KpwCHPVcfRaz3ux1iS5sfCE4W3MQy5gQFGbxAnCUv2Y2x/Ack6GxhgpZqgnH2ZqDeIoJ8YXl+5+TnJgnEH712/IfUEsBAh4DFAAAAAgAAAAhADKRb1deAQAApQUAABMAGAAAAAAAAQAAAKSBAAAAAFtDb250ZW50X1R5cGVzXS54bWxVVAUAAzDQzhJ1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACTZE1bAAAAAAAAAAAAAAAACQAYAAAAAAAAABAA7UGrAQAAZG9jUHJvcHMvVVQFAAOGHO1odXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAAAAgAAAAhACEYr1llAQAAxQIAABAAGAAAAAAAAQAAAKSB7gEAAGRvY1Byb3BzL2FwcC54bWxVVAUAAzDQzhJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAAACAAAACEACvOn+GYBAADtAgAAEQAYAAAAAAABAAAApIGdAwAAZG9jUHJvcHMvY29yZS54bWxVVAUAAzDQzhJ1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACTZE1bAAAAAAAAAAAAAAAABgAYAAAAAAAAABAA7UFOBQAAX3JlbHMvVVQFAAOGHO1odXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAAAAgAAAAhAB6RGrfpAAAATgIAAAsAGAAAAAAAAQAAAKSBjgUAAF9yZWxzLy5yZWxzVVQFAAMw0M4SdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAk2RNWwAAAAAAAAAAAAAAAAUAGAAAAAAAAAAQAO1BvAYAAHdvcmQvVVQFAAOGHO1odXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAAAAgAoWRNW+xw0GIQAgAAtAcAABIAGAAAAAAAAQAAAKSB+wYAAHdvcmQvZm9udFRhYmxlLnhtbFVUBQADnhztaHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAAAIAAAAIQCWFrgr1QIAAIgLAAARABgAAAAAAAEAAACkgVcJAAB3b3JkL2RvY3VtZW50LnhtbFVUBQADMNDOEnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAAAIAAAAIQDK52WKKwQAAL4MAAARABgAAAAAAAEAAACkgXcMAAB3b3JkL3NldHRpbmdzLnhtbFVUBQADMNDOEnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAAAIAAAAIQDbhWzDfQQAAJcdAAASABgAAAAAAAEAAACkge0QAAB3b3JkL251bWJlcmluZy54bWxVVAUAAzDQzhJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAAACAAAACEAvn52YlYBAADQAwAAFAAYAAAAAAABAAAApIG2FQAAd29yZC93ZWJTZXR0aW5ncy54bWxVVAUAAzDQzhJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAAACAAAACEAP6/hZl8PAAANpgAADwAYAAAAAAABAAAApIFaFwAAd29yZC9zdHlsZXMueG1sVVQFAAMw0M4SdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAk2RNWwAAAAAAAAAAAAAAAAsAGAAAAAAAAAAQAO1BAicAAHdvcmQvdGhlbWUvVVQFAAOGHO1odXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAAAAgAAAAhAGeA/LSbBgAAzSAAABUAGAAAAAAAAQAAAKSBRycAAHdvcmQvdGhlbWUvdGhlbWUxLnhtbFVUBQADMNDOEnV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAJNkTVsAAAAAAAAAAAAAAAALABgAAAAAAAAAEADtQTEuAAB3b3JkL19yZWxzL1VUBQADhhztaHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAAAIAAAAIQCzvosd/gAAALYDAAAcABgAAAAAAAEAAACkgXYuAAB3b3JkL19yZWxzL2RvY3VtZW50LnhtbC5yZWxzVVQFAAMw0M4SdXgLAAEE9QEAAAQUAAAAUEsFBgAAAAARABEAqQUAAMovAAAAAA==";
|
|
131447
131909
|
const _hoisted_1$1$1 = { class: "super-editor-container" };
|
|
131448
131910
|
const _hoisted_2$a = {
|
|
131449
|
-
key:
|
|
131911
|
+
key: 2,
|
|
131450
131912
|
class: "placeholder-editor"
|
|
131451
131913
|
};
|
|
131452
131914
|
const _hoisted_3$8 = { class: "placeholder-title" };
|
|
@@ -131491,6 +131953,19 @@ ${style2}
|
|
|
131491
131953
|
const active = activeEditor.value;
|
|
131492
131954
|
return active?.options ? Boolean(active.options.disableContextMenu) : Boolean(props.options.disableContextMenu);
|
|
131493
131955
|
});
|
|
131956
|
+
const rulersVisible = ref(Boolean(props.options.rulers));
|
|
131957
|
+
watch(
|
|
131958
|
+
() => props.options,
|
|
131959
|
+
(newOptions) => {
|
|
131960
|
+
const rulers = newOptions?.rulers;
|
|
131961
|
+
if (rulers && typeof rulers === "object" && "value" in rulers) {
|
|
131962
|
+
rulersVisible.value = Boolean(rulers.value);
|
|
131963
|
+
} else {
|
|
131964
|
+
rulersVisible.value = Boolean(rulers);
|
|
131965
|
+
}
|
|
131966
|
+
},
|
|
131967
|
+
{ immediate: true, deep: true }
|
|
131968
|
+
);
|
|
131494
131969
|
const message = useMessage();
|
|
131495
131970
|
const editorWrapper = ref(null);
|
|
131496
131971
|
const editorElem = ref(null);
|
|
@@ -131903,8 +132378,17 @@ ${style2}
|
|
|
131903
132378
|
});
|
|
131904
132379
|
return (_ctx, _cache) => {
|
|
131905
132380
|
return openBlock(), createElementBlock("div", _hoisted_1$1$1, [
|
|
131906
|
-
__props.options.
|
|
132381
|
+
__props.options.rulerContainer && rulersVisible.value && !!activeEditor.value ? (openBlock(), createBlock(Teleport, {
|
|
131907
132382
|
key: 0,
|
|
132383
|
+
to: __props.options.rulerContainer
|
|
132384
|
+
}, [
|
|
132385
|
+
createVNode(Ruler, {
|
|
132386
|
+
class: "ruler superdoc-ruler",
|
|
132387
|
+
editor: activeEditor.value,
|
|
132388
|
+
onMarginChange: handleMarginChange
|
|
132389
|
+
}, null, 8, ["editor"])
|
|
132390
|
+
], 8, ["to"])) : rulersVisible.value && !!activeEditor.value ? (openBlock(), createBlock(Ruler, {
|
|
132391
|
+
key: 1,
|
|
131908
132392
|
class: "ruler",
|
|
131909
132393
|
editor: activeEditor.value,
|
|
131910
132394
|
onMarginChange: handleMarginChange
|
|
@@ -131998,7 +132482,7 @@ ${style2}
|
|
|
131998
132482
|
})
|
|
131999
132483
|
])) : createCommentVNode("", true),
|
|
132000
132484
|
activeEditor.value ? (openBlock(), createBlock(GenericPopover, {
|
|
132001
|
-
key:
|
|
132485
|
+
key: 3,
|
|
132002
132486
|
editor: activeEditor.value,
|
|
132003
132487
|
visible: popoverControls.visible,
|
|
132004
132488
|
position: popoverControls.position,
|
|
@@ -132013,7 +132497,7 @@ ${style2}
|
|
|
132013
132497
|
};
|
|
132014
132498
|
}
|
|
132015
132499
|
});
|
|
132016
|
-
const SuperEditor = /* @__PURE__ */ _export_sfc$1(_sfc_main$1$1, [["__scopeId", "data-v-
|
|
132500
|
+
const SuperEditor = /* @__PURE__ */ _export_sfc$1(_sfc_main$1$1, [["__scopeId", "data-v-cb3fe66f"]]);
|
|
132017
132501
|
const _hoisted_1$h = ["innerHTML"];
|
|
132018
132502
|
const _sfc_main$i = {
|
|
132019
132503
|
__name: "SuperInput",
|
|
@@ -148624,6 +149108,7 @@ ${style2}
|
|
|
148624
149108
|
markdown: doc2.markdown,
|
|
148625
149109
|
documentMode: proxy.$superdoc.config.documentMode,
|
|
148626
149110
|
rulers: doc2.rulers,
|
|
149111
|
+
rulerContainer: proxy.$superdoc.config.rulerContainer,
|
|
148627
149112
|
isInternal: proxy.$superdoc.config.isInternal,
|
|
148628
149113
|
annotations: proxy.$superdoc.config.annotations,
|
|
148629
149114
|
isCommentsEnabled: Boolean(commentsModuleConfig.value),
|
|
@@ -148999,7 +149484,7 @@ ${style2}
|
|
|
148999
149484
|
"file-source": doc2.data,
|
|
149000
149485
|
state: doc2.state,
|
|
149001
149486
|
"document-id": doc2.id,
|
|
149002
|
-
options: editorOptions(doc2),
|
|
149487
|
+
options: { ...editorOptions(doc2), rulers: doc2.rulers },
|
|
149003
149488
|
onEditorReady,
|
|
149004
149489
|
onPageMarginsChange: ($event) => handleSuperEditorPageMarginsChange(doc2, $event)
|
|
149005
149490
|
}, null, 8, ["file-source", "state", "document-id", "options", "onPageMarginsChange"])) : createCommentVNode("", true)
|
|
@@ -149052,7 +149537,7 @@ ${style2}
|
|
|
149052
149537
|
};
|
|
149053
149538
|
}
|
|
149054
149539
|
};
|
|
149055
|
-
const App = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-
|
|
149540
|
+
const App = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-e229774d"]]);
|
|
149056
149541
|
const createSuperdocVueApp = () => {
|
|
149057
149542
|
const app = createApp(App);
|
|
149058
149543
|
const pinia = createPinia();
|
|
@@ -149232,7 +149717,7 @@ ${style2}
|
|
|
149232
149717
|
this.config.colors = shuffleArray(this.config.colors);
|
|
149233
149718
|
this.userColorMap = /* @__PURE__ */ new Map();
|
|
149234
149719
|
this.colorIndex = 0;
|
|
149235
|
-
this.version = "1.0.0-beta.
|
|
149720
|
+
this.version = "1.0.0-beta.61";
|
|
149236
149721
|
this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
|
|
149237
149722
|
this.superdocId = config2.superdocId || v4();
|
|
149238
149723
|
this.colors = this.config.colors;
|
|
@@ -149573,6 +150058,10 @@ ${style2}
|
|
|
149573
150058
|
const moduleConfig = this.config.modules?.toolbar || {};
|
|
149574
150059
|
this.toolbarElement = this.config.modules?.toolbar?.selector || this.config.toolbar;
|
|
149575
150060
|
this.toolbar = null;
|
|
150061
|
+
const excludeItems = [...moduleConfig.excludeItems || []];
|
|
150062
|
+
if (!this.config.rulers) {
|
|
150063
|
+
excludeItems.push("ruler");
|
|
150064
|
+
}
|
|
149576
150065
|
const config2 = {
|
|
149577
150066
|
selector: this.toolbarElement || null,
|
|
149578
150067
|
isDev: this.isDev || false,
|
|
@@ -149587,7 +150076,9 @@ ${style2}
|
|
|
149587
150076
|
superdoc: this,
|
|
149588
150077
|
aiApiKey: this.config.modules?.ai?.apiKey,
|
|
149589
150078
|
aiEndpoint: this.config.modules?.ai?.endpoint,
|
|
149590
|
-
...moduleConfig
|
|
150079
|
+
...moduleConfig,
|
|
150080
|
+
excludeItems
|
|
150081
|
+
// Override moduleConfig.excludeItems with our computed list
|
|
149591
150082
|
};
|
|
149592
150083
|
this.toolbar = new SuperToolbar(config2);
|
|
149593
150084
|
this.toolbar.on("superdoc-command", this.onToolbarCommand.bind(this));
|
|
@@ -151698,7 +152189,7 @@ ${style2}
|
|
|
151698
152189
|
value && typeof value === "object" && "byteLength" in value && "byteOffset" in value
|
|
151699
152190
|
);
|
|
151700
152191
|
}
|
|
151701
|
-
const
|
|
152192
|
+
const indexU8dj63PM = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
151702
152193
|
__proto__: null,
|
|
151703
152194
|
unified
|
|
151704
152195
|
}, Symbol.toStringTag, { value: "Module" }));
|