@superdoc-dev/cli 0.17.0-next.36 → 0.17.0-next.37

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.
Files changed (2) hide show
  1. package/dist/index.js +490 -311
  2. package/package.json +6 -6
package/dist/index.js CHANGED
@@ -10083,7 +10083,10 @@ var init_schemas = __esm(() => {
10083
10083
  },
10084
10084
  caseSensitive: { type: "boolean", description: "Case-sensitive matching. Default: false." },
10085
10085
  wholeWord: { type: "boolean", description: "Require word-boundary matches. Default: false." },
10086
- includeDeletedText: { type: "boolean", description: "When true, includes text from pending tracked deletions. Default: false." }
10086
+ includeDeletedText: {
10087
+ type: "boolean",
10088
+ description: "When true, includes text from pending tracked deletions. Default: false."
10089
+ }
10087
10090
  }, ["type", "pattern"]);
10088
10091
  planTextSelectorSchema = objectSchema({
10089
10092
  type: { const: "text", description: "Must be 'text' for text pattern search." },
@@ -69154,7 +69157,7 @@ var init_remark_gfm_BUJjZJLy_es = __esm(() => {
69154
69157
  emptyOptions2 = {};
69155
69158
  });
69156
69159
 
69157
- // ../../packages/superdoc/dist/chunks/SuperConverter-DVjSc-AY.es.js
69160
+ // ../../packages/superdoc/dist/chunks/SuperConverter-Du0apG1R.es.js
69158
69161
  function getExtensionConfigField(extension$1, field, context = { name: "" }) {
69159
69162
  const fieldValue = extension$1.config[field];
69160
69163
  if (typeof fieldValue === "function")
@@ -103310,6 +103313,17 @@ function translateDrawingMLTextbox(params3) {
103310
103313
  if (!drawingContent || !shapeTextbox)
103311
103314
  return null;
103312
103315
  const drawing = carbonCopy(drawingContent);
103316
+ const { width: pxWidth, height: pxHeight, marginOffset } = node3.attrs ?? {};
103317
+ if (pxWidth != null || pxHeight != null) {
103318
+ const emuCx = pxWidth != null ? String(pixelsToEmu(pxWidth)) : null;
103319
+ const emuCy = pxHeight != null ? String(pixelsToEmu(pxHeight)) : null;
103320
+ patchNodeAttributes(drawing, "wp:extent", emuCx, emuCy);
103321
+ patchShapeGeometryExt(drawing, emuCx, emuCy);
103322
+ }
103323
+ if (marginOffset?.horizontal != null)
103324
+ patchPositionOffset(drawing, "wp:positionH", String(pixelsToEmu(marginOffset.horizontal)));
103325
+ if (marginOffset?.top != null)
103326
+ patchPositionOffset(drawing, "wp:positionV", String(pixelsToEmu(marginOffset.top)));
103313
103327
  const liveParagraphs = translateChildNodes({
103314
103328
  ...params3,
103315
103329
  node: shapeTextbox
@@ -103341,6 +103355,67 @@ function findTextboxContentNode(node3) {
103341
103355
  }
103342
103356
  return null;
103343
103357
  }
103358
+ function patchPositionOffset(node3, posNodeName, emuValue) {
103359
+ if (!node3 || typeof node3 !== "object")
103360
+ return false;
103361
+ if (node3.name === posNodeName && Array.isArray(node3.elements)) {
103362
+ const offsetEl = node3.elements.find((el) => el.name === "wp:posOffset");
103363
+ if (offsetEl && Array.isArray(offsetEl.elements) && offsetEl.elements.length > 0) {
103364
+ offsetEl.elements[0].text = emuValue;
103365
+ return true;
103366
+ }
103367
+ return false;
103368
+ }
103369
+ if (!Array.isArray(node3.elements))
103370
+ return false;
103371
+ for (const child of node3.elements)
103372
+ if (patchPositionOffset(child, posNodeName, emuValue))
103373
+ return true;
103374
+ return false;
103375
+ }
103376
+ function patchShapeGeometryExt(root2, cx, cy) {
103377
+ const PATH = [
103378
+ "wp:anchor",
103379
+ "a:graphic",
103380
+ "a:graphicData",
103381
+ "wps:wsp",
103382
+ "wps:spPr",
103383
+ "a:xfrm",
103384
+ "a:ext"
103385
+ ];
103386
+ let node3 = root2;
103387
+ for (const name of PATH) {
103388
+ if (!node3 || !Array.isArray(node3.elements))
103389
+ return false;
103390
+ node3 = node3.elements.find((el) => el.name === name) ?? null;
103391
+ if (!node3)
103392
+ return false;
103393
+ }
103394
+ if (!node3.attributes)
103395
+ node3.attributes = {};
103396
+ if (cx != null)
103397
+ node3.attributes.cx = cx;
103398
+ if (cy != null)
103399
+ node3.attributes.cy = cy;
103400
+ return true;
103401
+ }
103402
+ function patchNodeAttributes(node3, targetName, cx, cy) {
103403
+ if (!node3 || typeof node3 !== "object")
103404
+ return false;
103405
+ if (node3.name === targetName && node3.attributes) {
103406
+ if (cx != null)
103407
+ node3.attributes.cx = cx;
103408
+ if (cy != null)
103409
+ node3.attributes.cy = cy;
103410
+ return true;
103411
+ }
103412
+ if (!Array.isArray(node3.elements))
103413
+ return false;
103414
+ for (const child of node3.elements)
103415
+ if (patchNodeAttributes(child, targetName, cx, cy))
103416
+ return true;
103417
+ return false;
103418
+ }
103344
103419
  function translateShapeContainer(params3) {
103345
103420
  const { node: node3 } = params3;
103346
103421
  if (node3?.attrs?.drawingContent) {
@@ -103399,6 +103474,10 @@ function buildShapeStyle(attrs) {
103399
103474
  style["mso-position-vertical"] = attrs.anchorData.alignV;
103400
103475
  if (attrs.anchorData?.vRelativeFrom)
103401
103476
  style["mso-position-vertical-relative"] = attrs.anchorData.vRelativeFrom;
103477
+ if (attrs.width != null)
103478
+ style["width"] = `${convertToPt$2(attrs.width)}pt`;
103479
+ if (attrs.height != null)
103480
+ style["height"] = `${convertToPt$2(attrs.height)}pt`;
103402
103481
  const entries2 = Object.entries(style);
103403
103482
  if (entries2.length === 0)
103404
103483
  return;
@@ -137155,7 +137234,7 @@ Docs: https://docs.superdoc.dev/getting-started/fonts`);
137155
137234
  state.kern = kernNode.attributes["w:val"];
137156
137235
  }
137157
137236
  }, SuperConverter;
137158
- var init_SuperConverter_DVjSc_AY_es = __esm(() => {
137237
+ var init_SuperConverter_Du0apG1R_es = __esm(() => {
137159
137238
  init_rolldown_runtime_Bg48TavK_es();
137160
137239
  init_jszip_C49i9kUs_es();
137161
137240
  init_xml_js_CqGKpaft_es();
@@ -166164,7 +166243,7 @@ var init_SuperConverter_DVjSc_AY_es = __esm(() => {
166164
166243
  };
166165
166244
  });
166166
166245
 
166167
- // ../../packages/superdoc/dist/chunks/create-headless-toolbar-DYtdH4mX.es.js
166246
+ // ../../packages/superdoc/dist/chunks/create-headless-toolbar-BNcguDpP.es.js
166168
166247
  function parseSizeUnit(val = "0") {
166169
166248
  const length3 = val.toString() || "0";
166170
166249
  const value = Number.parseFloat(length3);
@@ -176907,9 +176986,9 @@ var CSS_DIMENSION_REGEX, DOM_SIZE_UNITS, MARK_KEYS, STEP_OP_CATALOG_UNFROZEN2, P
176907
176986
  }
176908
176987
  };
176909
176988
  };
176910
- var init_create_headless_toolbar_DYtdH4mX_es = __esm(() => {
176989
+ var init_create_headless_toolbar_BNcguDpP_es = __esm(() => {
176911
176990
  init_rolldown_runtime_Bg48TavK_es();
176912
- init_SuperConverter_DVjSc_AY_es();
176991
+ init_SuperConverter_Du0apG1R_es();
176913
176992
  init_jszip_C49i9kUs_es();
176914
176993
  init_uuid_B2wVPhPi_es();
176915
176994
  init_constants_D9qj59G2_es();
@@ -180487,6 +180566,157 @@ var __plugin_vue_export_helper_default = (sfc, props) => {
180487
180566
  };
180488
180567
  var init__plugin_vue_export_helper_HmhZBO0u_es = () => {};
180489
180568
 
180569
+ // ../../packages/superdoc/dist/chunks/ui-BMYSpkne.es.js
180570
+ function buildAnnotationSelector() {
180571
+ return `.${DOM_CLASS_NAMES.ANNOTATION}[${DATA_ATTRS.PM_START}]`;
180572
+ }
180573
+ function findRenderedCommentElements(host, commentId, storyKey) {
180574
+ if (!host || !commentId)
180575
+ return [];
180576
+ return Array.from(host.querySelectorAll("[data-comment-ids]")).filter((el) => {
180577
+ const raw = el.dataset.commentIds;
180578
+ if (!raw)
180579
+ return false;
180580
+ if (!raw.split(",").some((token) => token.trim() === commentId))
180581
+ return false;
180582
+ if (!storyKey)
180583
+ return true;
180584
+ const elStoryKey = el.dataset.storyKey;
180585
+ if (elStoryKey)
180586
+ return elStoryKey === storyKey;
180587
+ return storyKey === BODY_STORY_KEY;
180588
+ });
180589
+ }
180590
+ function findRenderedTrackedChangeElementsStrict(host, entityId, escapeAttrValue, storyKey) {
180591
+ if (!host || !entityId)
180592
+ return [];
180593
+ const baseSelector = `[data-track-change-id="${escapeAttrValue(entityId)}"]`;
180594
+ if (!storyKey)
180595
+ return Array.from(host.querySelectorAll(baseSelector));
180596
+ const storySelector = `${baseSelector}[data-story-key="${escapeAttrValue(storyKey)}"]`;
180597
+ return Array.from(host.querySelectorAll(storySelector));
180598
+ }
180599
+ function findRenderedContentControlElements(host, entityId, escapeAttrValue, _storyKey) {
180600
+ if (!host || !entityId)
180601
+ return [];
180602
+ const id2 = escapeAttrValue(entityId);
180603
+ const selector = `.${DOM_CLASS_NAMES.INLINE_SDT_WRAPPER}[data-sdt-id="${id2}"][data-sdt-type="structuredContent"],.${DOM_CLASS_NAMES.BLOCK_SDT}[data-sdt-id="${id2}"][data-sdt-type="structuredContent"]`;
180604
+ return Array.from(host.querySelectorAll(selector));
180605
+ }
180606
+ function elementsToRangeRects(elements) {
180607
+ const result = [];
180608
+ for (const element of elements) {
180609
+ const rect = element.getBoundingClientRect();
180610
+ if (![
180611
+ rect.top,
180612
+ rect.left,
180613
+ rect.right,
180614
+ rect.bottom,
180615
+ rect.width,
180616
+ rect.height
180617
+ ].every(Number.isFinite))
180618
+ continue;
180619
+ const pageEl = element.closest(".superdoc-page");
180620
+ const pageIndexAttr = Number(pageEl?.dataset?.pageIndex ?? 0);
180621
+ result.push({
180622
+ pageIndex: Number.isFinite(pageIndexAttr) ? pageIndexAttr : 0,
180623
+ left: rect.left,
180624
+ top: rect.top,
180625
+ right: rect.right,
180626
+ bottom: rect.bottom,
180627
+ width: rect.width,
180628
+ height: rect.height
180629
+ });
180630
+ }
180631
+ return result;
180632
+ }
180633
+ var DOM_CLASS_NAMES, STRUCTURED_CONTENT_CHROME_LABEL_CLASS_NAMES, DATA_ATTRS, DATASET_KEYS, encodeLayoutStoryDataset = (story) => story.kind === "body" ? "body" : story.id ? `${story.kind}:${story.id}` : story.kind, decodeLayoutStoryDataset = (raw) => {
180634
+ if (!raw)
180635
+ return { kind: "unknown" };
180636
+ if (raw === "body")
180637
+ return { kind: "body" };
180638
+ const idx = raw.indexOf(":");
180639
+ const kind = idx === -1 ? raw : raw.slice(0, idx);
180640
+ const id2 = idx === -1 ? undefined : raw.slice(idx + 1);
180641
+ switch (kind) {
180642
+ case "body":
180643
+ case "header":
180644
+ case "footer":
180645
+ case "footnote":
180646
+ case "endnote":
180647
+ return id2 ? {
180648
+ kind,
180649
+ id: id2
180650
+ } : { kind };
180651
+ default:
180652
+ return { kind: "unknown" };
180653
+ }
180654
+ }, DRAGGABLE_SELECTOR;
180655
+ var init_ui_BMYSpkne_es = __esm(() => {
180656
+ init_SuperConverter_Du0apG1R_es();
180657
+ DOM_CLASS_NAMES = {
180658
+ PAGE: "superdoc-page",
180659
+ FRAGMENT: "superdoc-fragment",
180660
+ LINE: "superdoc-line",
180661
+ INLINE_SDT_WRAPPER: "superdoc-structured-content-inline",
180662
+ INLINE_SDT_LABEL: "superdoc-structured-content-inline__label",
180663
+ BLOCK_SDT: "superdoc-structured-content-block",
180664
+ BLOCK_SDT_LABEL: "superdoc-structured-content__label",
180665
+ TABLE_FRAGMENT: "superdoc-table-fragment",
180666
+ DOCUMENT_SECTION: "superdoc-document-section",
180667
+ SDT_GROUP_HOVER: "sdt-group-hover",
180668
+ TOC_ENTRY: "superdoc-toc-entry",
180669
+ TOC_GROUP_HOVER: "toc-group-hover",
180670
+ IMAGE_FRAGMENT: "superdoc-image-fragment",
180671
+ INLINE_IMAGE: "superdoc-inline-image",
180672
+ LIST_MARKER: "superdoc-list-marker",
180673
+ INLINE_IMAGE_CLIP_WRAPPER: "superdoc-inline-image-clip-wrapper",
180674
+ ANNOTATION: "annotation",
180675
+ ANNOTATION_CONTENT: "annotation-content",
180676
+ ANNOTATION_CARET_ANCHOR: "annotation-caret-anchor"
180677
+ };
180678
+ STRUCTURED_CONTENT_CHROME_LABEL_CLASS_NAMES = [DOM_CLASS_NAMES.INLINE_SDT_LABEL, DOM_CLASS_NAMES.BLOCK_SDT_LABEL];
180679
+ DATA_ATTRS = {
180680
+ PM_START: "data-pm-start",
180681
+ PM_END: "data-pm-end",
180682
+ LAYOUT_EPOCH: "data-layout-epoch",
180683
+ TABLE_BOUNDARIES: "data-table-boundaries",
180684
+ SDT_ID: "data-sdt-id",
180685
+ SDT_TYPE: "data-sdt-type",
180686
+ FIELD_ID: "data-field-id",
180687
+ FIELD_TYPE: "data-field-type",
180688
+ DRAGGABLE: "data-draggable",
180689
+ DISPLAY_LABEL: "data-display-label",
180690
+ VARIANT: "data-variant",
180691
+ TYPE: "data-type",
180692
+ LAYOUT_BOUNDARY_SCHEMA: "data-layout-boundary-schema",
180693
+ LAYOUT_FRAGMENT_ID: "data-layout-fragment-id",
180694
+ LAYOUT_STORY: "data-layout-story",
180695
+ LAYOUT_BLOCK_REF: "data-layout-block-ref"
180696
+ };
180697
+ DATASET_KEYS = {
180698
+ PM_START: "pmStart",
180699
+ PM_END: "pmEnd",
180700
+ LAYOUT_EPOCH: "layoutEpoch",
180701
+ TABLE_BOUNDARIES: "tableBoundaries",
180702
+ SDT_ID: "sdtId",
180703
+ SDT_TYPE: "sdtType",
180704
+ FIELD_ID: "fieldId",
180705
+ FIELD_TYPE: "fieldType",
180706
+ DRAGGABLE: "draggable",
180707
+ DISPLAY_LABEL: "displayLabel",
180708
+ VARIANT: "variant",
180709
+ TYPE: "type",
180710
+ LAYOUT_BOUNDARY_SCHEMA: "layoutBoundarySchema",
180711
+ LAYOUT_FRAGMENT_ID: "layoutFragmentId",
180712
+ LAYOUT_STORY: "layoutStory",
180713
+ LAYOUT_BLOCK_REF: "layoutBlockRef"
180714
+ };
180715
+ `${DOM_CLASS_NAMES.BLOCK_SDT}${DATA_ATTRS.SDT_ID}`;
180716
+ DRAGGABLE_SELECTOR = `[${DATA_ATTRS.DRAGGABLE}="true"]`;
180717
+ DATA_ATTRS.LAYOUT_EPOCH;
180718
+ });
180719
+
180490
180720
  // ../../packages/superdoc/dist/chunks/eventemitter3-UwU_CLPU.es.js
180491
180721
  var import_eventemitter3;
180492
180722
  var init_eventemitter3_UwU_CLPU_es = __esm(() => {
@@ -227003,7 +227233,7 @@ var init_remark_gfm_DCND_V_3_es = __esm(() => {
227003
227233
  init_remark_gfm_BUJjZJLy_es();
227004
227234
  });
227005
227235
 
227006
- // ../../packages/superdoc/dist/chunks/src-9y-vcUyr.es.js
227236
+ // ../../packages/superdoc/dist/chunks/src-bGJhSgx_.es.js
227007
227237
  function deleteProps(obj, propOrProps) {
227008
227238
  const props = typeof propOrProps === "string" ? [propOrProps] : propOrProps;
227009
227239
  const removeNested = (target, pathParts, index2 = 0) => {
@@ -236453,9 +236683,6 @@ function replaceCommand(wrap5, moveForward) {
236453
236683
  return true;
236454
236684
  };
236455
236685
  }
236456
- function buildAnnotationSelector() {
236457
- return `.${DOM_CLASS_NAMES.ANNOTATION}[${DATA_ATTRS.PM_START}]`;
236458
- }
236459
236686
  function isPresenting(editor) {
236460
236687
  const presentationCtx = editor?.presentationEditor;
236461
236688
  if (!presentationCtx)
@@ -274878,7 +275105,7 @@ function getMeasurementContext() {
274878
275105
  function getRunFontString(run2) {
274879
275106
  if (run2.kind === "tab" || run2.kind === "lineBreak" || run2.kind === "break" || run2.kind === "fieldAnnotation" || run2.kind === "math" || "src" in run2)
274880
275107
  return "normal normal 16px Arial";
274881
- return `${run2.italic ? "italic" : "normal"} ${run2.bold ? "bold" : "normal"} ${run2.fontSize ?? 16}px ${run2.fontFamily ?? "Arial"}`;
275108
+ return `${run2.italic ? "italic" : "normal"} ${run2.bold ? "bold" : "normal"} ${run2.fontSize ?? 16}px ${DEFAULT_FONT_MEASURE_CONTEXT.resolvePhysical(run2.fontFamily ?? "Arial", faceOf$1(run2))}`;
274882
275109
  }
274883
275110
  function measureCharacterX(block, line, charOffset, availableWidthOverride, alignmentOverride) {
274884
275111
  const ctx$1 = getMeasurementContext();
@@ -275018,97 +275245,43 @@ function charOffsetToPm(block, line, charOffset, fallbackPmStart) {
275018
275245
  return lastPm;
275019
275246
  }
275020
275247
  function findCharacterAtX(block, line, x, pmStart, availableWidthOverride, alignmentOverride) {
275021
- const ctx$1 = getMeasurementContext();
275022
- const availableWidth = availableWidthOverride ?? line.maxWidth ?? line.width;
275023
- const justify = getJustifyAdjustment({
275024
- block,
275025
- line,
275026
- availableWidthOverride: availableWidth,
275027
- alignmentOverride
275028
- });
275029
- const alignment$1 = alignmentOverride ?? (block.kind === "paragraph" ? block.attrs?.alignment : undefined);
275030
- const renderedLineWidth = alignment$1 === "justify" ? line.width + Math.max(0, availableWidth - line.width) : line.width;
275031
- const hasExplicitPositioning = line.segments?.some((seg) => seg.x !== undefined);
275032
- const alignmentOffset = !hasExplicitPositioning && alignment$1 === "center" ? Math.max(0, (availableWidth - renderedLineWidth) / 2) : !hasExplicitPositioning && alignment$1 === "right" ? Math.max(0, availableWidth - renderedLineWidth) : 0;
275033
- if (!ctx$1) {
275034
- const runs$1 = sliceRunsForLine(block, line);
275035
- const charsInLine = Math.max(1, runs$1.reduce((sum, run2) => {
275036
- if (isTabRun$1(run2))
275037
- return sum + TAB_CHAR_LENGTH;
275038
- if ("src" in run2 || run2.kind === "lineBreak" || run2.kind === "break" || run2.kind === "fieldAnnotation" || run2.kind === "math")
275039
- return sum;
275040
- return sum + (run2.text ?? "").length;
275041
- }, 0));
275042
- const ratio = Math.max(0, Math.min(1, (x - alignmentOffset) / renderedLineWidth));
275043
- const charOffset = Math.round(ratio * charsInLine);
275044
- return {
275045
- charOffset,
275046
- pmPosition: charOffsetToPm(block, line, charOffset, pmStart)
275047
- };
275048
- }
275049
- const runs2 = sliceRunsForLine(block, line);
275050
- const safeX = Math.max(0, Math.min(renderedLineWidth, x - alignmentOffset));
275051
- let currentX = 0;
275052
- let currentCharOffset = 0;
275053
- let spaceTally = 0;
275054
- for (const run2 of runs2) {
275248
+ const maxOffset = lineCharLength(block, line);
275249
+ const xAtOffset = (offset$1) => measureCharacterX(block, line, offset$1, availableWidthOverride, alignmentOverride);
275250
+ const charOffset = nearestOffsetToX(x, maxOffset, xAtOffset);
275251
+ return {
275252
+ charOffset,
275253
+ pmPosition: charOffsetToPm(block, line, charOffset, pmStart)
275254
+ };
275255
+ }
275256
+ function lineCharLength(block, line) {
275257
+ let length$12 = 0;
275258
+ for (const run2 of sliceRunsForLine(block, line)) {
275055
275259
  if (isTabRun$1(run2)) {
275056
- const tabWidth = run2.width ?? 0;
275057
- const startX = currentX;
275058
- const endX = currentX + tabWidth;
275059
- if (safeX <= endX) {
275060
- const offsetInRun = safeX < startX + tabWidth / 2 ? 0 : TAB_CHAR_LENGTH;
275061
- const charOffset = currentCharOffset + offsetInRun;
275062
- return {
275063
- charOffset,
275064
- pmPosition: charOffsetToPm(block, line, charOffset, pmStart)
275065
- };
275066
- }
275067
- currentX = endX;
275068
- currentCharOffset += TAB_CHAR_LENGTH;
275260
+ length$12 += TAB_CHAR_LENGTH;
275069
275261
  continue;
275070
275262
  }
275071
- const text5 = "src" in run2 || run2.kind === "lineBreak" || run2.kind === "break" || run2.kind === "fieldAnnotation" || run2.kind === "math" ? "" : run2.text ?? "";
275072
- const runLength = text5.length;
275073
- const displayText = applyTextTransform$3(text5, isTabRun$1(run2) || "src" in run2 || run2.kind === "lineBreak" || run2.kind === "break" || run2.kind === "fieldAnnotation" || run2.kind === "math" ? undefined : run2.textTransform);
275074
- if (runLength === 0)
275263
+ if ("src" in run2 || run2.kind === "lineBreak" || run2.kind === "break" || run2.kind === "fieldAnnotation" || run2.kind === "math")
275075
275264
  continue;
275076
- ctx$1.font = getRunFontString(run2);
275077
- for (let i3 = 0;i3 <= runLength; i3++) {
275078
- const textUpToChar = displayText.slice(0, i3);
275079
- const measured$1 = ctx$1.measureText(textUpToChar);
275080
- const spacesInPortion = justify.extraPerSpace > 0 ? countSpaces(text5.slice(0, i3)) : 0;
275081
- const charX = currentX + measured$1.width + computeLetterSpacingWidth(run2, i3, runLength) + justify.extraPerSpace * (spaceTally + spacesInPortion);
275082
- if (charX >= safeX) {
275083
- if (i3 === 0) {
275084
- const pmPosition$1 = charOffsetToPm(block, line, currentCharOffset, pmStart);
275085
- return {
275086
- charOffset: currentCharOffset,
275087
- pmPosition: pmPosition$1
275088
- };
275089
- }
275090
- const prevText = displayText.slice(0, i3 - 1);
275091
- const prevMeasured = ctx$1.measureText(prevText);
275092
- const prevX = currentX + prevMeasured.width + computeLetterSpacingWidth(run2, i3 - 1, runLength);
275093
- const charOffset = Math.abs(safeX - prevX) < Math.abs(safeX - charX) ? currentCharOffset + i3 - 1 : currentCharOffset + i3;
275094
- return {
275095
- charOffset,
275096
- pmPosition: charOffsetToPm(block, line, charOffset, pmStart)
275097
- };
275098
- }
275099
- }
275100
- const measured = ctx$1.measureText(displayText);
275101
- const runLetterSpacing = computeLetterSpacingWidth(run2, runLength, runLength);
275102
- const spacesInRun = justify.extraPerSpace > 0 ? countSpaces(text5) : 0;
275103
- currentX += measured.width + runLetterSpacing + justify.extraPerSpace * spacesInRun;
275104
- spaceTally += spacesInRun;
275105
- currentCharOffset += runLength;
275265
+ length$12 += (run2.text ?? "").length;
275106
275266
  }
275107
- const pmPosition = charOffsetToPm(block, line, currentCharOffset, pmStart);
275108
- return {
275109
- charOffset: currentCharOffset,
275110
- pmPosition
275111
- };
275267
+ return length$12;
275268
+ }
275269
+ function nearestOffsetToX(x, maxOffset, xAtOffset) {
275270
+ if (maxOffset <= 0 || x <= xAtOffset(0))
275271
+ return 0;
275272
+ if (x >= xAtOffset(maxOffset))
275273
+ return maxOffset;
275274
+ let lo = 0;
275275
+ let hi = maxOffset;
275276
+ while (lo < hi) {
275277
+ const mid = lo + hi + 1 >> 1;
275278
+ if (xAtOffset(mid) <= x)
275279
+ lo = mid;
275280
+ else
275281
+ hi = mid - 1;
275282
+ }
275283
+ const upper = Math.min(lo + 1, maxOffset);
275284
+ return x - xAtOffset(lo) < xAtOffset(upper) - x ? lo : upper;
275112
275285
  }
275113
275286
  function getWordLayoutConfig(block) {
275114
275287
  if (!block || block.kind !== "paragraph")
@@ -276297,6 +276470,13 @@ function computeHeaderFooterContentHash(blocks2) {
276297
276470
  if ("pageNumberFieldFormat" in run2 && run2.pageNumberFieldFormat)
276298
276471
  parts.push(`pnf:${JSON.stringify(run2.pageNumberFieldFormat)}`);
276299
276472
  }
276473
+ if (block.kind === "drawing") {
276474
+ const drawing = block;
276475
+ if ("geometry" in drawing && drawing.geometry)
276476
+ parts.push(`g:${drawing.geometry.width ?? 0}x${drawing.geometry.height ?? 0}`);
276477
+ if (drawing.anchor)
276478
+ parts.push(`a:${drawing.anchor.offsetH ?? 0},${drawing.anchor.offsetV ?? 0}`);
276479
+ }
276300
276480
  }
276301
276481
  return parts.join("|");
276302
276482
  }
@@ -280758,66 +280938,6 @@ function createHiddenHost(doc$12, widthPx) {
280758
280938
  host
280759
280939
  };
280760
280940
  }
280761
- function findRenderedCommentElements(host, commentId, storyKey) {
280762
- if (!host || !commentId)
280763
- return [];
280764
- return Array.from(host.querySelectorAll("[data-comment-ids]")).filter((el) => {
280765
- const raw = el.dataset.commentIds;
280766
- if (!raw)
280767
- return false;
280768
- if (!raw.split(",").some((token$1) => token$1.trim() === commentId))
280769
- return false;
280770
- if (!storyKey)
280771
- return true;
280772
- const elStoryKey = el.dataset.storyKey;
280773
- if (elStoryKey)
280774
- return elStoryKey === storyKey;
280775
- return storyKey === BODY_STORY_KEY;
280776
- });
280777
- }
280778
- function findRenderedTrackedChangeElementsStrict(host, entityId, escapeAttrValue$1, storyKey) {
280779
- if (!host || !entityId)
280780
- return [];
280781
- const baseSelector = `[data-track-change-id="${escapeAttrValue$1(entityId)}"]`;
280782
- if (!storyKey)
280783
- return Array.from(host.querySelectorAll(baseSelector));
280784
- const storySelector = `${baseSelector}[data-story-key="${escapeAttrValue$1(storyKey)}"]`;
280785
- return Array.from(host.querySelectorAll(storySelector));
280786
- }
280787
- function findRenderedContentControlElements(host, entityId, escapeAttrValue$1, _storyKey) {
280788
- if (!host || !entityId)
280789
- return [];
280790
- const id2 = escapeAttrValue$1(entityId);
280791
- const selector = `.${DOM_CLASS_NAMES.INLINE_SDT_WRAPPER}[data-sdt-id="${id2}"][data-sdt-type="structuredContent"],.${DOM_CLASS_NAMES.BLOCK_SDT}[data-sdt-id="${id2}"][data-sdt-type="structuredContent"]`;
280792
- return Array.from(host.querySelectorAll(selector));
280793
- }
280794
- function elementsToRangeRects(elements) {
280795
- const result = [];
280796
- for (const element3 of elements) {
280797
- const rect = element3.getBoundingClientRect();
280798
- if (![
280799
- rect.top,
280800
- rect.left,
280801
- rect.right,
280802
- rect.bottom,
280803
- rect.width,
280804
- rect.height
280805
- ].every(Number.isFinite))
280806
- continue;
280807
- const pageEl = element3.closest(".superdoc-page");
280808
- const pageIndexAttr = Number(pageEl?.dataset?.pageIndex ?? 0);
280809
- result.push({
280810
- pageIndex: Number.isFinite(pageIndexAttr) ? pageIndexAttr : 0,
280811
- left: rect.left,
280812
- top: rect.top,
280813
- right: rect.right,
280814
- bottom: rect.bottom,
280815
- width: rect.width,
280816
- height: rect.height
280817
- });
280818
- }
280819
- return result;
280820
- }
280821
280941
  function getFallbackCursorColor(clientId, fallbackColors) {
280822
280942
  return fallbackColors[clientId % fallbackColors.length];
280823
280943
  }
@@ -286835,7 +286955,7 @@ async function measureDrawingBlock(block, constraints) {
286835
286955
  const rotatedBounds = calculateRotatedBounds(geometry);
286836
286956
  const naturalWidth = Math.max(1, rotatedBounds.width);
286837
286957
  const naturalHeight = Math.max(1, rotatedBounds.height);
286838
- const isFloating = block.wrap?.type === "None";
286958
+ const isFloating = block.wrap?.type === "None" || block.anchor?.isAnchored === true;
286839
286959
  const maxWidth = fullWidthMax ?? (constraints.maxWidth > 0 && !isFloating ? constraints.maxWidth : naturalWidth);
286840
286960
  const maxHeight = block.anchor?.isAnchored && (typeof block.anchor?.offsetV === "number" && block.anchor.offsetV < 0 || typeof block.margin?.top === "number" && block.margin.top < 0) || !constraints.maxHeight || constraints.maxHeight <= 0 ? Infinity : constraints.maxHeight;
286841
286961
  const widthScale = maxWidth / naturalWidth;
@@ -301330,7 +301450,7 @@ var Node$13 = class Node$14 {
301330
301450
  if (!target || !target.classList)
301331
301451
  return;
301332
301452
  target.classList.add(STYLE_ISOLATION_CLASS);
301333
- }, _hoisted_1$23, _hoisted_2$18, _hoisted_3$14, _hoisted_4$10, _hoisted_5$9, Mentions_default, popoverPluginKey, PopoverPlugin, Popover = class {
301453
+ }, _hoisted_1$24, _hoisted_2$18, _hoisted_3$14, _hoisted_4$10, _hoisted_5$9, Mentions_default, popoverPluginKey, PopoverPlugin, Popover = class {
301334
301454
  constructor(view, editor) {
301335
301455
  this.editor = editor;
301336
301456
  this.view = view;
@@ -302396,28 +302516,7 @@ var Node$13 = class Node$14 {
302396
302516
  if (!allowedRanges?.length)
302397
302517
  return false;
302398
302518
  return allowedRanges.some((allowed) => range.from >= allowed.from && range.to <= allowed.to);
302399
- }, PermissionRanges, Protection, DOM_CLASS_NAMES, STRUCTURED_CONTENT_CHROME_LABEL_CLASS_NAMES, DATA_ATTRS, DATASET_KEYS, encodeLayoutStoryDataset = (story) => story.kind === "body" ? "body" : story.id ? `${story.kind}:${story.id}` : story.kind, decodeLayoutStoryDataset = (raw) => {
302400
- if (!raw)
302401
- return { kind: "unknown" };
302402
- if (raw === "body")
302403
- return { kind: "body" };
302404
- const idx = raw.indexOf(":");
302405
- const kind = idx === -1 ? raw : raw.slice(0, idx);
302406
- const id2 = idx === -1 ? undefined : raw.slice(idx + 1);
302407
- switch (kind) {
302408
- case "body":
302409
- case "header":
302410
- case "footer":
302411
- case "footnote":
302412
- case "endnote":
302413
- return id2 ? {
302414
- kind,
302415
- id: id2
302416
- } : { kind };
302417
- default:
302418
- return { kind: "unknown" };
302419
- }
302420
- }, DRAGGABLE_SELECTOR, VerticalNavigationPluginKey, createDefaultState = () => ({
302519
+ }, PermissionRanges, Protection, VerticalNavigationPluginKey, createDefaultState = () => ({
302421
302520
  goalX: null,
302422
302521
  goalClientX: null
302423
302522
  }), VerticalNavigation, STRONG_RTL_CHAR_RE$1, STRONG_LTR_CHAR_RE, isStrongRtl = (char) => STRONG_RTL_CHAR_RE$1.test(char), isStrongLtr = (char) => STRONG_LTR_CHAR_RE.test(char), hasMixedDirectionBoundary = (leftChar, rightChar) => isStrongRtl(leftChar) && isStrongLtr(rightChar) || isStrongLtr(leftChar) && isStrongRtl(rightChar), resolveCaretPoint = (doc$12, range) => {
@@ -303081,7 +303180,7 @@ var Node$13 = class Node$14 {
303081
303180
  </linearGradient>
303082
303181
  </defs>
303083
303182
  <path fill="url(#gradient)" d="M440 6.5L24 246.4c-34.4 19.9-31.1 70.8 5.7 85.9L144 379.6V464c0 46.4 59.2 65.5 86.6 28.6l43.8-59.1 111.9 46.2c5.9 2.4 12.1 3.6 18.3 3.6 8.2 0 16.3-2.1 23.6-6.2 12.8-7.2 21.6-20 23.9-34.5l59.4-387.2c6.1-40.1-36.9-68.8-71.5-48.9zM192 464v-64.6l36.6 15.1L192 464zm212.6-28.7l-153.8-63.5L391 169.5c10.7-15.5-9.5-33.5-23.7-21.2L155.8 332.6 48 288 464 48l-59.4 387.3z"/>
303084
- </svg>`, _hoisted_1$22, _hoisted_2$17, _hoisted_3$13, _hoisted_4$9, _hoisted_5$8, AIWriter_default, isHighContrastMode, bold_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M0 64C0 46.3 14.3 32 32 32l48 0 16 0 128 0c70.7 0 128 57.3 128 128c0 31.3-11.3 60.1-30 82.3c37.1 22.4 62 63.1 62 109.7c0 70.7-57.3 128-128 128L96 480l-16 0-48 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l16 0 0-160L48 96 32 96C14.3 96 0 81.7 0 64zM224 224c35.3 0 64-28.7 64-64s-28.7-64-64-64L112 96l0 128 112 0zM112 288l0 128 144 0c35.3 0 64-28.7 64-64s-28.7-64-64-64l-32 0-112 0z"/></svg>', italic_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M128 64c0-17.7 14.3-32 32-32l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-58.7 0L160 416l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l58.7 0L224 96l-64 0c-17.7 0-32-14.3-32-32z"/></svg>', underline_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M16 64c0-17.7 14.3-32 32-32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-16 0 0 128c0 53 43 96 96 96s96-43 96-96l0-128-16 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-16 0 0 128c0 88.4-71.6 160-160 160s-160-71.6-160-160L64 96 48 96C30.3 96 16 81.7 16 64zM0 448c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32z"/></svg>', list_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M40 48C26.7 48 16 58.7 16 72l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24L40 48zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L192 64zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zM16 232l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24l-48 0c-13.3 0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24l-48 0z"/></svg>', list_circle_solid_default = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. (bullet shapes modified)--><path fill-rule="evenodd" d="M192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L192 64zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zM64 48 A48 48 0 1 0 64 144 A48 48 0 1 0 64 48 Z M64 68 A28 28 0 1 1 64 124 A28 28 0 1 1 64 68 Z M64 208 A48 48 0 1 0 64 304 A48 48 0 1 0 64 208 Z M64 228 A28 28 0 1 1 64 284 A28 28 0 1 1 64 228 Z M64 368 A48 48 0 1 0 64 464 A48 48 0 1 0 64 368 Z M64 388 A28 28 0 1 1 64 444 A28 28 0 1 1 64 388 Z"/></svg>
303183
+ </svg>`, _hoisted_1$23, _hoisted_2$17, _hoisted_3$13, _hoisted_4$9, _hoisted_5$8, AIWriter_default, isHighContrastMode, bold_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M0 64C0 46.3 14.3 32 32 32l48 0 16 0 128 0c70.7 0 128 57.3 128 128c0 31.3-11.3 60.1-30 82.3c37.1 22.4 62 63.1 62 109.7c0 70.7-57.3 128-128 128L96 480l-16 0-48 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l16 0 0-160L48 96 32 96C14.3 96 0 81.7 0 64zM224 224c35.3 0 64-28.7 64-64s-28.7-64-64-64L112 96l0 128 112 0zM112 288l0 128 144 0c35.3 0 64-28.7 64-64s-28.7-64-64-64l-32 0-112 0z"/></svg>', italic_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M128 64c0-17.7 14.3-32 32-32l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-58.7 0L160 416l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l58.7 0L224 96l-64 0c-17.7 0-32-14.3-32-32z"/></svg>', underline_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M16 64c0-17.7 14.3-32 32-32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-16 0 0 128c0 53 43 96 96 96s96-43 96-96l0-128-16 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-16 0 0 128c0 88.4-71.6 160-160 160s-160-71.6-160-160L64 96 48 96C30.3 96 16 81.7 16 64zM0 448c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32z"/></svg>', list_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M40 48C26.7 48 16 58.7 16 72l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24L40 48zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L192 64zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zM16 232l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24l-48 0c-13.3 0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24l-48 0z"/></svg>', list_circle_solid_default = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. (bullet shapes modified)--><path fill-rule="evenodd" d="M192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L192 64zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zM64 48 A48 48 0 1 0 64 144 A48 48 0 1 0 64 48 Z M64 68 A28 28 0 1 1 64 124 A28 28 0 1 1 64 68 Z M64 208 A48 48 0 1 0 64 304 A48 48 0 1 0 64 208 Z M64 228 A28 28 0 1 1 64 284 A28 28 0 1 1 64 228 Z M64 368 A48 48 0 1 0 64 464 A48 48 0 1 0 64 368 Z M64 388 A28 28 0 1 1 64 444 A28 28 0 1 1 64 388 Z"/></svg>
303085
303184
  `, list_square_solid_default = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. (bullet shapes modified)--><path d="M192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L192 64zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zM16 48 L112 48 L112 144 L16 144 Z M16 208 L112 208 L112 304 L16 304 Z M16 368 L112 368 L112 464 L16 464 Z"/></svg>
303086
303185
  `, list_ol_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M24 56c0-13.3 10.7-24 24-24l32 0c13.3 0 24 10.7 24 24l0 120 16 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l16 0 0-96-8 0C34.7 80 24 69.3 24 56zM86.7 341.2c-6.5-7.4-18.3-6.9-24 1.2L51.5 357.9c-7.7 10.8-22.7 13.3-33.5 5.6s-13.3-22.7-5.6-33.5l11.1-15.6c23.7-33.2 72.3-35.6 99.2-4.9c21.3 24.4 20.8 60.9-1.1 84.7L86.8 432l33.2 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-88 0c-9.5 0-18.2-5.6-22-14.4s-2.1-18.9 4.3-25.9l72-78c5.3-5.8 5.4-14.6 .3-20.5zM224 64l256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 160l256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 160l256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32s14.3-32 32-32z"/></svg>', list_decimal_solid_default = `<svg width="512" height="512" viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg">
303087
303186
  <g clip-path="url(#clip0_0_1)">
@@ -303148,8 +303247,8 @@ var Node$13 = class Node$14 {
303148
303247
  `, image_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zM323.8 202.5c-4.5-6.6-11.9-10.5-19.8-10.5s-15.4 3.9-19.8 10.5l-87 127.6L170.7 297c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6l96 0 32 0 208 0c8.9 0 17.1-4.9 21.2-12.8s3.6-17.4-1.4-24.7l-120-176zM112 192a48 48 0 1 0 0-96 48 48 0 1 0 0 96z"/></svg>', link_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M579.8 267.7c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114L422.3 334.8c-31.5 31.5-82.5 31.5-114 0c-27.9-27.9-31.5-71.8-8.6-103.8l1.1-1.6c10.3-14.4 6.9-34.4-7.4-44.6s-34.4-6.9-44.6 7.4l-1.1 1.6C206.5 251.2 213 330 263 380c56.5 56.5 148 56.5 204.5 0L579.8 267.7zM60.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C74 372 74 321 105.5 289.5L217.7 177.2c31.5-31.5 82.5-31.5 114 0c27.9 27.9 31.5 71.8 8.6 103.9l-1.1 1.6c-10.3 14.4-6.9 34.4 7.4 44.6s34.4 6.9 44.6-7.4l1.1-1.6C433.5 260.8 427 182 377 132c-56.5-56.5-148-56.5-204.5 0L60.2 244.3z"/></svg>', align_left_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M288 64c0 17.7-14.3 32-32 32L32 96C14.3 96 0 81.7 0 64S14.3 32 32 32l224 0c17.7 0 32 14.3 32 32zm0 256c0 17.7-14.3 32-32 32L32 352c-17.7 0-32-14.3-32-32s14.3-32 32-32l224 0c17.7 0 32 14.3 32 32zM0 192c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 224c-17.7 0-32-14.3-32-32zM448 448c0 17.7-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z"/></svg>', align_center_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M352 64c0-17.7-14.3-32-32-32L128 32c-17.7 0-32 14.3-32 32s14.3 32 32 32l192 0c17.7 0 32-14.3 32-32zm96 128c0-17.7-14.3-32-32-32L32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32-14.3 32-32zM0 448c0 17.7 14.3 32 32 32l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 416c-17.7 0-32 14.3-32 32zM352 320c0-17.7-14.3-32-32-32l-192 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l192 0c17.7 0 32-14.3 32-32z"/></svg>', align_right_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M448 64c0 17.7-14.3 32-32 32L192 96c-17.7 0-32-14.3-32-32s14.3-32 32-32l224 0c17.7 0 32 14.3 32 32zm0 256c0 17.7-14.3 32-32 32l-224 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l224 0c17.7 0 32 14.3 32 32zM0 192c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 224c-17.7 0-32-14.3-32-32zM448 448c0 17.7-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z"/></svg>', align_justify_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M448 64c0-17.7-14.3-32-32-32L32 32C14.3 32 0 46.3 0 64S14.3 96 32 96l384 0c17.7 0 32-14.3 32-32zm0 256c0-17.7-14.3-32-32-32L32 288c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32-14.3 32-32zM0 192c0 17.7 14.3 32 32 32l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 160c-17.7 0-32 14.3-32 32zM448 448c0-17.7-14.3-32-32-32L32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32-14.3 32-32z"/></svg>', indent_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M0 64C0 46.3 14.3 32 32 32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 96C14.3 96 0 81.7 0 64zM192 192c0-17.7 14.3-32 32-32l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32zm32 96l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zM0 448c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32zM127.8 268.6L25.8 347.9C15.3 356.1 0 348.6 0 335.3L0 176.7c0-13.3 15.3-20.8 25.8-12.6l101.9 79.3c8.2 6.4 8.2 18.9 0 25.3z"/></svg>', outdent_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M0 64C0 46.3 14.3 32 32 32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 96C14.3 96 0 81.7 0 64zM192 192c0-17.7 14.3-32 32-32l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32zm32 96l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zM0 448c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32zM.2 268.6c-8.2-6.4-8.2-18.9 0-25.3l101.9-79.3c10.5-8.2 25.8-.7 25.8 12.6l0 158.6c0 13.3-15.3 20.8-25.8 12.6L.2 268.6z"/></svg>', paint_roller_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M0 64C0 28.7 28.7 0 64 0L352 0c35.3 0 64 28.7 64 64l0 64c0 35.3-28.7 64-64 64L64 192c-35.3 0-64-28.7-64-64L0 64zM160 352c0-17.7 14.3-32 32-32l0-16c0-44.2 35.8-80 80-80l144 0c17.7 0 32-14.3 32-32l0-32 0-90.5c37.3 13.2 64 48.7 64 90.5l0 32c0 53-43 96-96 96l-144 0c-8.8 0-16 7.2-16 16l0 16c17.7 0 32 14.3 32 32l0 128c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32l0-128z"/></svg>', text_slash_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L355.7 253.5 400.2 96 503 96 497 120.2c-4.3 17.1 6.1 34.5 23.3 38.8s34.5-6.1 38.8-23.3l11-44.1C577.6 61.3 554.7 32 523.5 32L376.1 32l-.3 0L204.5 32c-22 0-41.2 15-46.6 36.4l-6.3 25.2L38.8 5.1zm168 131.7c.1-.3 .2-.7 .3-1L217 96l116.7 0L301.3 210.8l-94.5-74.1zM243.3 416L192 416c-17.7 0-32 14.3-32 32s14.3 32 32 32l160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-42.2 0 17.6-62.1L272.9 311 243.3 416z"/></svg>', rotate_left_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M48.5 224L40 224c-13.3 0-24-10.7-24-24L16 72c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2L98.6 96.6c87.6-86.5 228.7-86.2 315.8 1c87.5 87.5 87.5 229.3 0 316.8s-229.3 87.5-316.8 0c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0c62.5 62.5 163.8 62.5 226.3 0s62.5-163.8 0-226.3c-62.2-62.2-162.7-62.5-225.3-1L185 183c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8L48.5 224z"/></svg>', rotate_right_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M463.5 224l8.5 0c13.3 0 24-10.7 24-24l0-128c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2L413.4 96.6c-87.6-86.5-228.7-86.2-315.8 1c-87.5 87.5-87.5 229.3 0 316.8s229.3 87.5 316.8 0c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0c-62.5 62.5-163.8 62.5-226.3 0s-62.5-163.8 0-226.3c62.2-62.2 162.7-62.5 225.3-1L327 183c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8l119.5 0z"/></svg>', calendar_check_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zM329 305c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-95 95-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L329 305z"/></svg>', calendar_xmark_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zM305 305c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47z"/></svg>', list_check_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M152.1 38.2c9.9 8.9 10.7 24 1.8 33.9l-72 80c-4.4 4.9-10.6 7.8-17.2 7.9s-12.9-2.4-17.6-7L7 113C-2.3 103.6-2.3 88.4 7 79s24.6-9.4 33.9 0l22.1 22.1 55.1-61.2c8.9-9.9 24-10.7 33.9-1.8zm0 160c9.9 8.9 10.7 24 1.8 33.9l-72 80c-4.4 4.9-10.6 7.8-17.2 7.9s-12.9-2.4-17.6-7L7 273c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l22.1 22.1 55.1-61.2c8.9-9.9 24-10.7 33.9-1.8zM224 96c0-17.7 14.3-32 32-32l224 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-224 0c-17.7 0-32-14.3-32-32zm0 160c0-17.7 14.3-32 32-32l224 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-224 0c-17.7 0-32-14.3-32-32zM160 416c0-17.7 14.3-32 32-32l288 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-288 0c-17.7 0-32-14.3-32-32zM48 368a48 48 0 1 1 0 96 48 48 0 1 1 0-96z"/></svg>', user_edit_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512l293.1 0c-3.1-8.8-3.7-18.4-1.4-27.8l15-60.1c2.8-11.3 8.6-21.5 16.8-29.7l40.3-40.3c-32.1-31-75.7-50.1-123.9-50.1l-91.4 0zm435.5-68.3c-15.6-15.6-40.9-15.6-56.6 0l-29.4 29.4 71 71 29.4-29.4c15.6-15.6 15.6-40.9 0-56.6l-14.4-14.4zM375.9 417c-4.1 4.1-7 9.2-8.4 14.9l-15 60.1c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l60.1-15c5.6-1.4 10.8-4.3 14.9-8.4L576.1 358.7l-71-71L375.9 417z"/></svg>', eye_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM144 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-64c0 35.3-28.7 64-64 64c-7.1 0-13.9-1.2-20.3-3.3c-5.5-1.8-11.9 1.6-11.7 7.4c.3 6.9 1.3 13.8 3.2 20.7c13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3z"/></svg>', file_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M0 64C0 28.7 28.7 0 64 0L224 0l0 128c0 17.7 14.3 32 32 32l128 0 0 288c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 64zm384 64l-128 0L256 0 384 128z"/></svg>', font_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M254 52.8C249.3 40.3 237.3 32 224 32s-25.3 8.3-30 20.8L57.8 416 32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-1.8 0 18-48 159.6 0 18 48-1.8 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-25.8 0L254 52.8zM279.8 304l-111.6 0L224 155.1 279.8 304z"/></svg>', file_half_dashed_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M64 0C28.7 0 0 28.7 0 64L0 320l384 0 0-160-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zM0 416l64 0 0-64L0 352l0 64zm288 32l-80 0 0 64 80 0 0-64zm-112 0l-80 0 0 64 80 0 0-64zM64 448L0 448c0 35.3 28.7 64 64 64l0-64zm256 0l0 64c35.3 0 64-28.7 64-64l-64 0zm64-32l0-64-64 0 0 64 64 0z"/></svg>', comment_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M512 240c0 114.9-114.6 208-256 208c-37.1 0-72.3-6.4-104.1-17.9c-11.9 8.7-31.3 20.6-54.3 30.6C73.6 471.1 44.7 480 16 480c-6.5 0-12.3-3.9-14.8-9.9c-2.5-6-1.1-12.8 3.4-17.4c0 0 0 0 0 0s0 0 0 0s0 0 0 0c0 0 0 0 0 0l.3-.3c.3-.3 .7-.7 1.3-1.4c1.1-1.2 2.8-3.1 4.9-5.7c4.1-5 9.6-12.4 15.2-21.6c10-16.6 19.5-38.4 21.4-62.9C17.7 326.8 0 285.1 0 240C0 125.1 114.6 32 256 32s256 93.1 256 208z"/></svg>', circle_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512z"/></svg>', check_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"/></svg>', xmark_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"/></svg>', up_right_from_square_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M352 0c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9L370.7 96 201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L416 141.3l41.4 41.4c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6l0-128c0-17.7-14.3-32-32-32L352 0zM80 32C35.8 32 0 67.8 0 112L0 432c0 44.2 35.8 80 80 80l320 0c44.2 0 80-35.8 80-80l0-112c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 112c0 8.8-7.2 16-16 16L80 448c-8.8 0-16-7.2-16-16l0-320c0-8.8 7.2-16 16-16l112 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L80 32z"/></svg>', ellipsis_vertical_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M64 360a56 56 0 1 0 0 112 56 56 0 1 0 0-112zm0-160a56 56 0 1 0 0 112 56 56 0 1 0 0-112zM120 96A56 56 0 1 0 8 96a56 56 0 1 0 112 0z"/></svg>', caret_up_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M182.6 137.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8l256 0c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-128-128z"/></svg>', caret_down_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z"/></svg>', ruler_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M177.9 494.1c-18.7 18.7-49.1 18.7-67.9 0L17.9 401.9c-18.7-18.7-18.7-49.1 0-67.9l50.7-50.7 48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48 41.4-41.4 48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48 41.4-41.4 48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48 41.4-41.4 48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48 50.7-50.7c18.7-18.7 49.1-18.7 67.9 0l92.1 92.1c18.7 18.7 18.7 49.1 0 67.9L177.9 494.1z"/></svg>', paintbrush_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M339.3 367.1c27.3-3.9 51.9-19.4 67.2-42.9L568.2 74.1c12.6-19.5 9.4-45.3-7.6-61.2S517.7-4.4 499.1 9.6L262.4 187.2c-24 18-38.2 46.1-38.4 76.1L339.3 367.1zm-19.6 25.4l-116-104.4C143.9 290.3 96 339.6 96 400c0 3.9 .2 7.8 .6 11.6C98.4 429.1 86.4 448 68.8 448L64 448c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0c61.9 0 112-50.1 112-112c0-2.5-.1-5-.2-7.5z"/></svg>', highlighter_icon_default = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M315 315l158.4-215L444.1 70.6 229 229 315 315zm-187 5s0 0 0 0l0-71.7c0-15.3 7.2-29.6 19.5-38.6L420.6 8.4C428 2.9 437 0 446.2 0c11.4 0 22.4 4.5 30.5 12.6l54.8 54.8c8.1 8.1 12.6 19 12.6 30.5c0 9.2-2.9 18.2-8.4 25.6L334.4 396.5c-9 12.3-23.4 19.5-38.6 19.5L224 416l-25.4 25.4c-12.5 12.5-32.8 12.5-45.3 0l-50.7-50.7c-12.5-12.5-12.5-32.8 0-45.3L128 320zM7 466.3l63-63 70.6 70.6-31 31c-4.5 4.5-10.6 7-17 7L24 512c-13.3 0-24-10.7-24-24l0-4.7c0-6.4 2.5-12.5 7-17z"/></svg>
303149
303248
  `, magic_wand_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M224 96l16-32 32-16-32-16-16-32-16 32-32 16 32 16 16 32zM80 160l26.7-53.3L160 80l-53.3-26.7L80 0 53.3 53.3 0 80l53.3 26.7L80 160zm352 128l-26.7 53.3L352 368l53.3 26.7L432 448l26.7-53.3L512 368l-53.3-26.7L432 288zm70.6-193.8L417.8 9.4C411.5 3.1 403.3 0 395.2 0c-8.2 0-16.4 3.1-22.6 9.4L9.4 372.5c-12.5 12.5-12.5 32.8 0 45.3l84.9 84.9c6.3 6.3 14.4 9.4 22.6 9.4 8.2 0 16.4-3.1 22.6-9.4l363.1-363.2c12.5-12.5 12.5-32.8 0-45.2zM359.5 203.5l-50.9-50.9 86.6-86.6 50.9 50.9-86.6 86.6z"/></svg>', table_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M64 256l0-96 160 0 0 96L64 256zm0 64l160 0 0 96L64 416l0-96zm224 96l0-96 160 0 0 96-160 0zM448 256l-160 0 0-96 160 0 0 96zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32z"/></svg>', table_columns_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zm64 64l0 256 160 0 0-256L64 160zm384 0l-160 0 0 256 160 0 0-256z"/></svg>', arrows_left_right_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M406.6 374.6l96-96c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 224l-293.5 0 41.4-41.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 288l293.5 0-41.4 41.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0z"/></svg>', arrows_to_dot_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M256 0c17.7 0 32 14.3 32 32l0 32 32 0c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-64 64c-12.5 12.5-32.8 12.5-45.3 0l-64-64c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8l32 0 0-32c0-17.7 14.3-32 32-32zM169.4 393.4l64-64c12.5-12.5 32.8-12.5 45.3 0l64 64c9.2 9.2 11.9 22.9 6.9 34.9s-16.6 19.8-29.6 19.8l-32 0 0 32c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-32-32 0c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9zM32 224l32 0 0-32c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l64 64c12.5 12.5 12.5 32.8 0 45.3l-64 64c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6l0-32-32 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm297.4 54.6c-12.5-12.5-12.5-32.8 0-45.3l64-64c9.2-9.2 22.9-11.9 34.9-6.9s19.8 16.6 19.8 29.6l0 32 32 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0 0 32c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9l-64-64zM256 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"/></svg>', plus_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z"/></svg>', trash_can_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M135.2 17.7C140.6 6.8 151.7 0 163.8 0L284.2 0c12.1 0 23.2 6.8 28.6 17.7L320 32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 96C14.3 96 0 81.7 0 64S14.3 32 32 32l96 0 7.2-14.3zM32 128l384 0 0 320c0 35.3-28.7 64-64 64L96 512c-35.3 0-64-28.7-64-64l0-320zm96 64c-8.8 0-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16s16-7.2 16-16l0-224c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16s16-7.2 16-16l0-224c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16s16-7.2 16-16l0-224c0-8.8-7.2-16-16-16z"/></svg>', wrench_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M352 320c88.4 0 160-71.6 160-160c0-15.3-2.2-30.1-6.2-44.2c-3.1-10.8-16.4-13.2-24.3-5.3l-76.8 76.8c-3 3-7.1 4.7-11.3 4.7L336 192c-8.8 0-16-7.2-16-16l0-57.4c0-4.2 1.7-8.3 4.7-11.3l76.8-76.8c7.9-7.9 5.4-21.2-5.3-24.3C382.1 2.2 367.3 0 352 0C263.6 0 192 71.6 192 160c0 19.1 3.4 37.5 9.5 54.5L19.9 396.1C7.2 408.8 0 426.1 0 444.1C0 481.6 30.4 512 67.9 512c18 0 35.3-7.2 48-19.9L297.5 310.5c17 6.2 35.4 9.5 54.5 9.5zM80 408a24 24 0 1 1 0 48 24 24 0 1 1 0-48z"/></svg>', border_none_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M32 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm96-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-384a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM320 416a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-320a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM224 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0-448a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM416 416a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-384a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM32 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM416 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM32 288a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm192 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm192 64a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM32 320a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM416 192a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM32 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm192 64a32 32 0 1 1 0-64 32 32 0 1 1 0 64z"/></svg>', up_down_default = `<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="3 4 18 16"><path stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 10V5m0 0L4 7m2-2 2 2m-2 7v5m0 0 2-2m-2 2-2-2m8-10h8m0 5h-8m0 5h8"></path></svg>
303150
303249
  `, magnifying_glass_default = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z"/></svg>
303151
- `, scissors_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M278.1 256L444.5 89.6c4.7-4.7 4.7-12.3 0-17-32.8-32.8-86-32.8-118.8 0L210.2 188.1l-24.9-24.9c4.3-10.9 6.7-22.8 6.7-35.3 0-53-43-96-96-96S0 75 0 128s43 96 96 96c4.5 0 9-.3 13.4-.9L142.3 256l-32.9 32.9c-4.4-.6-8.8-.9-13.4-.9-53 0-96 43-96 96s43 96 96 96 96-43 96-96c0-12.5-2.4-24.3-6.7-35.3l24.9-24.9L325.7 439.4c32.8 32.8 86 32.8 118.8 0 4.7-4.7 4.7-12.3 0-17L278.1 256zM96 160c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm0 256c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32z"/></svg>', copy_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M320 448v40c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V120c0-13.3 10.7-24 24-24h72v296c0 30.9 25.1 56 56 56h168zm0-344V0H152c-13.3 0-24 10.7-24 24v368c0 13.3 10.7 24 24 24h272c13.3 0 24-10.7 24-24V128H344c-13.2 0-24-10.8-24-24zm121-31L375 7A24 24 0 0 0 358.1 0H352v96h96v-6.1a24 24 0 0 0 -7-17z"/></svg>', paste_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M128 184c0-30.9 25.1-56 56-56h136V56c0-13.3-10.7-24-24-24h-80.6C204.3 12.9 183.6 0 160 0s-44.3 12.9-55.4 32H24C10.7 32 0 42.7 0 56v336c0 13.3 10.7 24 24 24h104V184zm32-144c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm184 248h104v200c0 13.3-10.7 24-24 24H184c-13.3 0-24-10.7-24-24V184c0-13.3 10.7-24 24-24h136v104c0 13.2 10.8 24 24 24zm104-38.1V256h-96v-96h6.1a24 24 0 0 1 17 7l65.9 65.9a24 24 0 0 1 7 17z"/></svg>', toolbarIcons, _hoisted_1$21, AlignmentButtons_default, _hoisted_1$20, StyleButtonsList_default, bulletStyleButtons, numberedStyleButtons, _hoisted_1$19, _hoisted_2$16, _hoisted_3$12, _hoisted_4$8, _hoisted_5$7, _hoisted_6$5, DocumentMode_default, _hoisted_1$18, _hoisted_2$15, LinkedStyle_default, _hoisted_1$17, _hoisted_2$14, _hoisted_3$11, _hoisted_4$7, _hoisted_5$6, _hoisted_6$4, _hoisted_7$3, _hoisted_8$1, _hoisted_9$1, _hoisted_10$1, _hoisted_11$1, _hoisted_12$1, _hoisted_13$1, _hoisted_14$1, LinkInput_default, _hoisted_1$16, _hoisted_2$13, _hoisted_3$10, ROW_SIZE$1 = 7, IconGridRow_default, droplet_slash_default = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M320 512c53.2 0 101.4-21.6 136.1-56.6l-298.3-235C140 257.1 128 292.3 128 320c0 106 86 192 192 192zM505.2 370.7c4.4-16.2 6.8-33.1 6.8-50.7c0-91.2-130.2-262.3-166.6-308.3C339.4 4.2 330.5 0 320.9 0l-1.8 0c-9.6 0-18.5 4.2-24.5 11.7C277.8 33 240.7 81.3 205.8 136L38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L505.2 370.7zM224 336c0 44.2 35.8 80 80 80c8.8 0 16 7.2 16 16s-7.2 16-16 16c-61.9 0-112-50.1-112-112c0-8.8 7.2-16 16-16s16 7.2 16 16z"/></svg>
303152
- `, _hoisted_1$15, _hoisted_2$12, _hoisted_3$9, IconGrid_default, closeDropdown$1 = (dropdown) => {
303250
+ `, scissors_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M278.1 256L444.5 89.6c4.7-4.7 4.7-12.3 0-17-32.8-32.8-86-32.8-118.8 0L210.2 188.1l-24.9-24.9c4.3-10.9 6.7-22.8 6.7-35.3 0-53-43-96-96-96S0 75 0 128s43 96 96 96c4.5 0 9-.3 13.4-.9L142.3 256l-32.9 32.9c-4.4-.6-8.8-.9-13.4-.9-53 0-96 43-96 96s43 96 96 96 96-43 96-96c0-12.5-2.4-24.3-6.7-35.3l24.9-24.9L325.7 439.4c32.8 32.8 86 32.8 118.8 0 4.7-4.7 4.7-12.3 0-17L278.1 256zM96 160c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm0 256c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32z"/></svg>', copy_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M320 448v40c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V120c0-13.3 10.7-24 24-24h72v296c0 30.9 25.1 56 56 56h168zm0-344V0H152c-13.3 0-24 10.7-24 24v368c0 13.3 10.7 24 24 24h272c13.3 0 24-10.7 24-24V128H344c-13.2 0-24-10.8-24-24zm121-31L375 7A24 24 0 0 0 358.1 0H352v96h96v-6.1a24 24 0 0 0 -7-17z"/></svg>', paste_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M128 184c0-30.9 25.1-56 56-56h136V56c0-13.3-10.7-24-24-24h-80.6C204.3 12.9 183.6 0 160 0s-44.3 12.9-55.4 32H24C10.7 32 0 42.7 0 56v336c0 13.3 10.7 24 24 24h104V184zm32-144c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm184 248h104v200c0 13.3-10.7 24-24 24H184c-13.3 0-24-10.7-24-24V184c0-13.3 10.7-24 24-24h136v104c0 13.2 10.8 24 24 24zm104-38.1V256h-96v-96h6.1a24 24 0 0 1 17 7l65.9 65.9a24 24 0 0 1 7 17z"/></svg>', toolbarIcons, _hoisted_1$22, AlignmentButtons_default, _hoisted_1$21, StyleButtonsList_default, bulletStyleButtons, numberedStyleButtons, _hoisted_1$20, _hoisted_2$16, _hoisted_3$12, _hoisted_4$8, _hoisted_5$7, _hoisted_6$5, DocumentMode_default, _hoisted_1$19, _hoisted_2$15, LinkedStyle_default, _hoisted_1$18, _hoisted_2$14, _hoisted_3$11, _hoisted_4$7, _hoisted_5$6, _hoisted_6$4, _hoisted_7$3, _hoisted_8$1, _hoisted_9$1, _hoisted_10$1, _hoisted_11$1, _hoisted_12$1, _hoisted_13$1, _hoisted_14$1, LinkInput_default, _hoisted_1$17, _hoisted_2$13, _hoisted_3$10, ROW_SIZE$1 = 7, IconGridRow_default, droplet_slash_default = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M320 512c53.2 0 101.4-21.6 136.1-56.6l-298.3-235C140 257.1 128 292.3 128 320c0 106 86 192 192 192zM505.2 370.7c4.4-16.2 6.8-33.1 6.8-50.7c0-91.2-130.2-262.3-166.6-308.3C339.4 4.2 330.5 0 320.9 0l-1.8 0c-9.6 0-18.5 4.2-24.5 11.7C277.8 33 240.7 81.3 205.8 136L38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L505.2 370.7zM224 336c0 44.2 35.8 80 80 80c8.8 0 16 7.2 16 16s-7.2 16-16 16c-61.9 0-112-50.1-112-112c0-8.8 7.2-16 16-16s16 7.2 16 16z"/></svg>
303251
+ `, _hoisted_1$16, _hoisted_2$12, _hoisted_3$9, IconGrid_default, closeDropdown$1 = (dropdown) => {
303153
303252
  dropdown.expand.value = false;
303154
303253
  }, makeColorOption = (color2, label = null) => {
303155
303254
  return {
@@ -303180,8 +303279,8 @@ var Node$13 = class Node$14 {
303180
303279
  })]);
303181
303280
  }, icons, getAvailableColorOptions = () => {
303182
303281
  return icons.flat().map((item) => item.value);
303183
- }, _hoisted_1$14, _hoisted_2$11, ROW_SIZE = 5, TableGrid_default, _hoisted_1$13, _hoisted_2$10, _hoisted_3$8, _hoisted_4$6, _hoisted_5$5, TableActions_default, check_default = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"/></svg>
303184
- `, _hoisted_1$12, _hoisted_2$9, _hoisted_3$7, SearchInput_default, TOOLBAR_FONTS, TOOLBAR_FONT_SIZES, RESPONSIVE_BREAKPOINTS, HEADLESS_ITEM_MAP, TABLE_ACTION_COMMAND_MAP, TABLE_ACTION_COMMAND_IDS, HEADLESS_TOOLBAR_COMMANDS, NON_HEADLESS_EXECUTE_ITEM_NAMES, HEADLESS_EXECUTE_ITEMS, closeDropdown = (dropdown) => {
303282
+ }, _hoisted_1$15, _hoisted_2$11, ROW_SIZE = 5, TableGrid_default, _hoisted_1$14, _hoisted_2$10, _hoisted_3$8, _hoisted_4$6, _hoisted_5$5, TableActions_default, check_default = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"/></svg>
303283
+ `, _hoisted_1$13, _hoisted_2$9, _hoisted_3$7, SearchInput_default, TOOLBAR_FONTS, TOOLBAR_FONT_SIZES, RESPONSIVE_BREAKPOINTS, HEADLESS_ITEM_MAP, TABLE_ACTION_COMMAND_MAP, TABLE_ACTION_COMMAND_IDS, HEADLESS_TOOLBAR_COMMANDS, NON_HEADLESS_EXECUTE_ITEM_NAMES, HEADLESS_EXECUTE_ITEMS, closeDropdown = (dropdown) => {
303185
303284
  dropdown.expand.value = false;
303186
303285
  }, makeDefaultItems = ({ superToolbar, toolbarIcons: toolbarIcons$1, toolbarTexts: toolbarTexts$1, toolbarFonts, hideButtons, availableWidth, role, isDev = false } = {}) => {
303187
303286
  const bold2 = useToolbarItem({
@@ -304245,7 +304344,7 @@ var Node$13 = class Node$14 {
304245
304344
  defaultItems: visibleItems,
304246
304345
  overflowItems: overflowItems.filter((item) => item.type !== "separator")
304247
304346
  };
304248
- }, _hoisted_1$11, _hoisted_2$8, ToolbarButtonIcon_default, _hoisted_1$10, _hoisted_2$7, _hoisted_3$6, _hoisted_4$5, _hoisted_5$4, _hoisted_6$3, _hoisted_7$2, _hoisted_8, _hoisted_9, _hoisted_10, _hoisted_11, _hoisted_12, _hoisted_13, _hoisted_14, ToolbarButton_default, _hoisted_1$9, ToolbarSeparator_default, _hoisted_1$8, _hoisted_2$6, _hoisted_3$5, OverflowMenu_default, _hoisted_1$7, _hoisted_2$5, _hoisted_3$4, _hoisted_4$4, TRIGGER_FOCUS_SELECTOR = 'button, [href], input, select, textarea, [role="button"], [tabindex]:not([tabindex="-1"])', ToolbarDropdown_default, normalize4 = (value) => String(value ?? "").trim().toLowerCase(), findPrefixMatchIndex = (query2, labels) => {
304347
+ }, _hoisted_1$12, _hoisted_2$8, ToolbarButtonIcon_default, _hoisted_1$11, _hoisted_2$7, _hoisted_3$6, _hoisted_4$5, _hoisted_5$4, _hoisted_6$3, _hoisted_7$2, _hoisted_8, _hoisted_9, _hoisted_10, _hoisted_11, _hoisted_12, _hoisted_13, _hoisted_14, ToolbarButton_default, _hoisted_1$10, ToolbarSeparator_default, _hoisted_1$9, _hoisted_2$6, _hoisted_3$5, OverflowMenu_default, _hoisted_1$8, _hoisted_2$5, _hoisted_3$4, _hoisted_4$4, TRIGGER_FOCUS_SELECTOR = 'button, [href], input, select, textarea, [role="button"], [tabindex]:not([tabindex="-1"])', ToolbarDropdown_default, normalize4 = (value) => String(value ?? "").trim().toLowerCase(), findPrefixMatchIndex = (query2, labels) => {
304249
304348
  const q$1 = normalize4(query2);
304250
304349
  if (!q$1)
304251
304350
  return -1;
@@ -304277,7 +304376,7 @@ var Node$13 = class Node$14 {
304277
304376
  return result;
304278
304377
  }, normalizeCustomFontFamily = (value) => {
304279
304378
  return stripWrappingQuotes((String(value ?? "").split(",")[0] ?? "").replace(/[\u0000-\u001f\u007f]/g, "")).replace(/\s+/g, " ").trim();
304280
- }, _hoisted_1$6, _hoisted_2$4, _hoisted_3$3, _hoisted_4$3, _hoisted_5$3, _hoisted_6$2, _hoisted_7$1, FontFamilyCombobox_default, SdTooltip_default, _hoisted_1$5, _hoisted_2$3, _hoisted_3$2, _hoisted_4$2, _hoisted_5$2, _hoisted_6$1, TOOLBAR_TOOLTIP_AUTO_HIDE_MS = 3000, ButtonGroup_default, DEFAULT_UI_FONT_FAMILY = "Arial, Helvetica, sans-serif", Toolbar_default, toolbarTexts, getParagraphFontFamilyFromProperties = (paragraphProps, convertedXml = {}) => {
304379
+ }, _hoisted_1$7, _hoisted_2$4, _hoisted_3$3, _hoisted_4$3, _hoisted_5$3, _hoisted_6$2, _hoisted_7$1, FontFamilyCombobox_default, SdTooltip_default, _hoisted_1$6, _hoisted_2$3, _hoisted_3$2, _hoisted_4$2, _hoisted_5$2, _hoisted_6$1, TOOLBAR_TOOLTIP_AUTO_HIDE_MS = 3000, ButtonGroup_default, DEFAULT_UI_FONT_FAMILY = "Arial, Helvetica, sans-serif", Toolbar_default, toolbarTexts, getParagraphFontFamilyFromProperties = (paragraphProps, convertedXml = {}) => {
304281
304380
  const fontFamilyProps = paragraphProps?.runProperties?.fontFamily;
304282
304381
  if (!fontFamilyProps)
304283
304382
  return null;
@@ -314573,7 +314672,7 @@ menclose::after {
314573
314672
  container.style.width = `${Math.max(0, data.contentWidth)}px`;
314574
314673
  else
314575
314674
  container.style.width = `calc(100% - ${marginLeft + marginRight}px)`;
314576
- container.style.pointerEvents = "none";
314675
+ container.style.pointerEvents = "auto";
314577
314676
  container.style.height = `${effectiveHeight}px`;
314578
314677
  container.style.top = `${Math.max(0, effectiveOffset)}px`;
314579
314678
  container.style.zIndex = "1";
@@ -316621,7 +316720,9 @@ menclose::after {
316621
316720
  vector.geometry.rotation ?? 0,
316622
316721
  vector.geometry.flipH ? 1 : 0,
316623
316722
  vector.geometry.flipV ? 1 : 0,
316624
- drawingTextVersion(vector)
316723
+ drawingTextVersion(vector),
316724
+ block.anchor?.offsetH ?? "",
316725
+ block.anchor?.offsetV ?? ""
316625
316726
  ].join("|");
316626
316727
  }
316627
316728
  if (block.drawingKind === "shapeGroup") {
@@ -316941,7 +317042,10 @@ menclose::after {
316941
317042
  return run2.text?.length ?? 0;
316942
317043
  }, isVisualOnlyRun = (run2) => {
316943
317044
  return getRunDataAttrs(run2)?.[FOOTNOTE_MARKER_DATA_ATTR$1] === "true";
316944
- }, SPACE_CHARS$1, isTabRun$1 = (run2) => run2?.kind === "tab", isWordChar$3 = (char) => {
317045
+ }, SPACE_CHARS$1, isTabRun$1 = (run2) => run2?.kind === "tab", faceOf$1 = (run2) => ({
317046
+ weight: run2.bold ? "700" : "400",
317047
+ style: run2.italic ? "italic" : "normal"
317048
+ }), isWordChar$3 = (char) => {
316945
317049
  if (!char)
316946
317050
  return false;
316947
317051
  const code6 = char.charCodeAt(0);
@@ -320474,6 +320578,7 @@ menclose::after {
320474
320578
  #pendingMarginClick = null;
320475
320579
  #pendingTocLinkNav = null;
320476
320580
  #lastSelectedImageBlockId = null;
320581
+ #lastSelectedTextboxBlockId = null;
320477
320582
  #suppressFocusInFromDraggable = false;
320478
320583
  #pendingStructuredContentLabelGesture = null;
320479
320584
  #debugLastPointer = null;
@@ -321183,6 +321288,37 @@ menclose::after {
321183
321288
  this.#callbacks.updateSelectionDebugHud?.();
321184
321289
  if (!suppressFocusForDrag)
321185
321290
  event.preventDefault();
321291
+ const textboxBorderSelection = this.#resolveTextboxBorderSelection({
321292
+ event,
321293
+ editor,
321294
+ doc: doc$12,
321295
+ hitPos: hit?.pos ?? null,
321296
+ rawHitPos: rawHit?.pos ?? null,
321297
+ pageIndex: normalizedPoint.pageIndex
321298
+ });
321299
+ if (textboxBorderSelection) {
321300
+ const { editor: selectionEditor, fragmentEl, shapeContainerPos, blockId } = textboxBorderSelection;
321301
+ try {
321302
+ const tr = selectionEditor.state.tr.setSelection(NodeSelection.create(doc$12, shapeContainerPos));
321303
+ selectionEditor.view?.dispatch(tr);
321304
+ if (this.#lastSelectedImageBlockId) {
321305
+ this.#callbacks.emit?.("imageDeselected", { blockId: this.#lastSelectedImageBlockId });
321306
+ this.#lastSelectedImageBlockId = null;
321307
+ }
321308
+ if (this.#lastSelectedTextboxBlockId && this.#lastSelectedTextboxBlockId !== blockId)
321309
+ this.#callbacks.emit?.("textboxDeselected", { blockId: this.#lastSelectedTextboxBlockId });
321310
+ this.#callbacks.emit?.("textboxSelected", {
321311
+ element: fragmentEl,
321312
+ blockId
321313
+ });
321314
+ this.#lastSelectedTextboxBlockId = blockId;
321315
+ } catch (error3) {
321316
+ if (process$1.env.NODE_ENV === "development")
321317
+ console.warn("[EditorInputManager] Failed to create NodeSelection for textbox container:", error3);
321318
+ }
321319
+ this.#callbacks.focusEditorAfterImageSelection?.();
321320
+ return;
321321
+ }
321186
321322
  if (!rawHit) {
321187
321323
  this.#focusEditor();
321188
321324
  return;
@@ -321214,6 +321350,10 @@ menclose::after {
321214
321350
  this.#callbacks.emit?.("imageDeselected", { blockId: this.#lastSelectedImageBlockId });
321215
321351
  this.#lastSelectedImageBlockId = null;
321216
321352
  }
321353
+ if (this.#lastSelectedTextboxBlockId) {
321354
+ this.#callbacks.emit?.("textboxDeselected", { blockId: this.#lastSelectedTextboxBlockId });
321355
+ this.#lastSelectedTextboxBlockId = null;
321356
+ }
321217
321357
  if (event.shiftKey && editor.state.selection.$anchor) {
321218
321358
  this.#handleShiftClick(event, hit.pos);
321219
321359
  return;
@@ -321863,6 +322003,10 @@ menclose::after {
321863
322003
  const newSelectionId = `inline-${clampedImgPos}`;
321864
322004
  if (this.#lastSelectedImageBlockId && this.#lastSelectedImageBlockId !== newSelectionId)
321865
322005
  this.#callbacks.emit?.("imageDeselected", { blockId: this.#lastSelectedImageBlockId });
322006
+ if (this.#lastSelectedTextboxBlockId && this.#lastSelectedTextboxBlockId !== newSelectionId) {
322007
+ this.#callbacks.emit?.("textboxDeselected", { blockId: this.#lastSelectedTextboxBlockId });
322008
+ this.#lastSelectedTextboxBlockId = null;
322009
+ }
321866
322010
  const editor = this.#deps?.getEditor();
321867
322011
  try {
321868
322012
  const tr = editor.state.tr.setSelection(NodeSelection.create(doc$12, clampedImgPos));
@@ -321895,6 +322039,10 @@ menclose::after {
321895
322039
  editor.view?.dispatch(tr);
321896
322040
  if (this.#lastSelectedImageBlockId && this.#lastSelectedImageBlockId !== fragmentHit.fragment.blockId)
321897
322041
  this.#callbacks.emit?.("imageDeselected", { blockId: this.#lastSelectedImageBlockId });
322042
+ if (this.#lastSelectedTextboxBlockId) {
322043
+ this.#callbacks.emit?.("textboxDeselected", { blockId: this.#lastSelectedTextboxBlockId });
322044
+ this.#lastSelectedTextboxBlockId = null;
322045
+ }
321898
322046
  if (fragmentHit.fragment.kind === "image") {
321899
322047
  const targetElement = fragmentHit.fragment.pmStart != null ? this.#callbacks.resolveImageFragmentElementByPmStart?.(fragmentHit.fragment.pmStart) ?? null : null;
321900
322048
  if (targetElement) {
@@ -321913,6 +322061,90 @@ menclose::after {
321913
322061
  this.#callbacks.focusEditorAfterImageSelection?.();
321914
322062
  return true;
321915
322063
  }
322064
+ #resolveTextboxBorderSelection({ event, editor, doc: doc$12, hitPos, rawHitPos, pageIndex }) {
322065
+ if (!doc$12)
322066
+ return null;
322067
+ const fragmentEl = this.#resolveTextboxFragmentElement(event.target, event.clientX, event.clientY, pageIndex);
322068
+ if (!fragmentEl)
322069
+ return null;
322070
+ const BORDER_HIT_MARGIN = 6;
322071
+ const rect = fragmentEl.getBoundingClientRect();
322072
+ if (!(event.clientX - rect.left <= BORDER_HIT_MARGIN || rect.right - event.clientX <= BORDER_HIT_MARGIN || event.clientY - rect.top <= BORDER_HIT_MARGIN || rect.bottom - event.clientY <= BORDER_HIT_MARGIN))
322073
+ return null;
322074
+ const shapeContainerPos = this.#resolveShapeContainerPos(doc$12, fragmentEl, [hitPos, rawHitPos]);
322075
+ if (shapeContainerPos == null)
322076
+ return null;
322077
+ return {
322078
+ editor,
322079
+ fragmentEl,
322080
+ shapeContainerPos,
322081
+ blockId: fragmentEl.dataset.blockId ?? null
322082
+ };
322083
+ }
322084
+ #resolveTextboxFragmentElement(target, clientX, clientY, pageIndex) {
322085
+ const candidates = [];
322086
+ const seen = /* @__PURE__ */ new Set;
322087
+ const addCandidate = (element3) => {
322088
+ if (!element3 || seen.has(element3))
322089
+ return;
322090
+ seen.add(element3);
322091
+ candidates.push(element3);
322092
+ };
322093
+ const resolveCandidate = (element3) => {
322094
+ if (!(element3 instanceof HTMLElement))
322095
+ return null;
322096
+ const pageLevelFragment = element3.closest(".superdoc-drawing-fragment");
322097
+ if (pageLevelFragment)
322098
+ return pageLevelFragment;
322099
+ const tableDrawing = element3.closest(".superdoc-table-drawing");
322100
+ if (tableDrawing?.parentElement instanceof HTMLElement && tableDrawing.parentElement.dataset.blockId)
322101
+ return tableDrawing.parentElement;
322102
+ return element3.closest("[data-block-id]") ?? null;
322103
+ };
322104
+ addCandidate(resolveCandidate(target));
322105
+ const ownerDocument = target instanceof Element ? target.ownerDocument : document;
322106
+ if (typeof ownerDocument.elementsFromPoint === "function")
322107
+ for (const element3 of ownerDocument.elementsFromPoint(clientX, clientY))
322108
+ addCandidate(resolveCandidate(element3));
322109
+ if (Number.isFinite(pageIndex)) {
322110
+ const pageCandidates = this.#deps?.getViewportHost()?.querySelector(`[data-page-index="${pageIndex}"]`)?.querySelectorAll("[data-block-id]");
322111
+ if (pageCandidates)
322112
+ for (const candidate of Array.from(pageCandidates)) {
322113
+ const rect = candidate.getBoundingClientRect();
322114
+ if (clientX >= rect.left && clientX <= rect.right && clientY >= rect.top && clientY <= rect.bottom)
322115
+ addCandidate(candidate);
322116
+ }
322117
+ }
322118
+ for (const candidate of candidates)
322119
+ if (candidate.classList.contains("superdoc-textbox-shape") || candidate.querySelector(".superdoc-textbox-shape") != null)
322120
+ return candidate;
322121
+ return null;
322122
+ }
322123
+ #resolveShapeContainerPos(doc$12, fragmentEl, candidatePositions) {
322124
+ const fragmentPmStart = fragmentEl.querySelector("[data-pm-start]")?.dataset.pmStart;
322125
+ const positions = [...candidatePositions];
322126
+ if (fragmentPmStart != null)
322127
+ positions.push(Number(fragmentPmStart));
322128
+ for (const pos of positions) {
322129
+ if (!Number.isFinite(pos))
322130
+ continue;
322131
+ const resolvedPos = this.#findAncestorShapeContainerPos(doc$12, Number(pos));
322132
+ if (resolvedPos != null)
322133
+ return resolvedPos;
322134
+ }
322135
+ return null;
322136
+ }
322137
+ #findAncestorShapeContainerPos(doc$12, pos) {
322138
+ try {
322139
+ const $pos = doc$12.resolve(pos);
322140
+ for (let depth = $pos.depth;depth >= 0; depth -= 1)
322141
+ if ($pos.node(depth).type.name === "shapeContainer")
322142
+ return $pos.before(depth);
322143
+ } catch {
322144
+ return null;
322145
+ }
322146
+ return null;
322147
+ }
321916
322148
  #handleShiftClick(event, headPos) {
321917
322149
  const editor = this.#deps?.getActiveEditor() ?? this.#deps?.getEditor();
321918
322150
  if (!editor)
@@ -325984,19 +326216,20 @@ menclose::after {
325984
326216
  return;
325985
326217
  console.log(...args$1);
325986
326218
  }, HEADER_FOOTER_INIT_BUDGET_MS = 200, MAX_ZOOM_WARNING_THRESHOLD = 10, MAX_SELECTION_RECTS_PER_USER = 100, SEMANTIC_RESIZE_DEBOUNCE_MS = 120, MIN_SEMANTIC_CONTENT_WIDTH_PX = 1, GLOBAL_PERFORMANCE, PresentationEditor, ICONS, TEXTS, tableActionsOptions, TRACKED_MARK_NAMES;
325987
- var init_src_9y_vcUyr_es = __esm(() => {
326219
+ var init_src_bGJhSgx__es = __esm(() => {
325988
326220
  init_rolldown_runtime_Bg48TavK_es();
325989
- init_SuperConverter_DVjSc_AY_es();
326221
+ init_SuperConverter_Du0apG1R_es();
325990
326222
  init_jszip_C49i9kUs_es();
325991
326223
  init_xml_js_CqGKpaft_es();
325992
326224
  init_uuid_B2wVPhPi_es();
325993
- init_create_headless_toolbar_DYtdH4mX_es();
326225
+ init_create_headless_toolbar_BNcguDpP_es();
325994
326226
  init_constants_D9qj59G2_es();
325995
326227
  init_unified_BDuVPlMu_es();
325996
326228
  init_remark_gfm_BUJjZJLy_es();
325997
326229
  init_remark_stringify_BZvKOjUX_es();
325998
326230
  init_DocxZipper_BzS208BW_es();
325999
326231
  init__plugin_vue_export_helper_HmhZBO0u_es();
326232
+ init_ui_BMYSpkne_es();
326000
326233
  init_eventemitter3_UwU_CLPU_es();
326001
326234
  init_errors_C_DoKMoN_es();
326002
326235
  init_blank_docx_CDDHd6CH_es();
@@ -350179,7 +350412,7 @@ function print() { __p += __j.call(arguments, '') }
350179
350412
  } });
350180
350413
  tippy.setDefaultProps({ render });
350181
350414
  tippy_esm_default = tippy;
350182
- _hoisted_1$23 = ["onClick", "onMouseenter"];
350415
+ _hoisted_1$24 = ["onClick", "onMouseenter"];
350183
350416
  _hoisted_2$18 = { key: 0 };
350184
350417
  _hoisted_3$14 = { key: 0 };
350185
350418
  _hoisted_4$10 = { key: 1 };
@@ -350249,7 +350482,7 @@ function print() { __p += __j.call(arguments, '') }
350249
350482
  onMouseleave: _cache[0] || (_cache[0] = ($event) => activeUserIndex.value = null),
350250
350483
  key: user.email,
350251
350484
  class: exports_vue.normalizeClass(["user-row", { "sd-selected": activeUserIndex.value === index2 }])
350252
- }, [user.name ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_2$18, [user.name ? (exports_vue.openBlock(), exports_vue.createElementBlock("span", _hoisted_3$14, exports_vue.toDisplayString(user.name), 1)) : exports_vue.createCommentVNode("", true), user.name && user.email ? (exports_vue.openBlock(), exports_vue.createElementBlock("span", _hoisted_4$10, " (" + exports_vue.toDisplayString(user.email) + ")", 1)) : exports_vue.createCommentVNode("", true)])) : (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_5$9, [exports_vue.createElementVNode("span", null, exports_vue.toDisplayString(user.email), 1)]))], 42, _hoisted_1$23);
350485
+ }, [user.name ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_2$18, [user.name ? (exports_vue.openBlock(), exports_vue.createElementBlock("span", _hoisted_3$14, exports_vue.toDisplayString(user.name), 1)) : exports_vue.createCommentVNode("", true), user.name && user.email ? (exports_vue.openBlock(), exports_vue.createElementBlock("span", _hoisted_4$10, " (" + exports_vue.toDisplayString(user.email) + ")", 1)) : exports_vue.createCommentVNode("", true)])) : (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_5$9, [exports_vue.createElementVNode("span", null, exports_vue.toDisplayString(user.email), 1)]))], 42, _hoisted_1$24);
350253
350486
  }), 128))], 544);
350254
350487
  };
350255
350488
  }
@@ -351170,66 +351403,6 @@ function print() { __p += __j.call(arguments, '') }
351170
351403
  };
351171
351404
  }
351172
351405
  });
351173
- DOM_CLASS_NAMES = {
351174
- PAGE: "superdoc-page",
351175
- FRAGMENT: "superdoc-fragment",
351176
- LINE: "superdoc-line",
351177
- INLINE_SDT_WRAPPER: "superdoc-structured-content-inline",
351178
- INLINE_SDT_LABEL: "superdoc-structured-content-inline__label",
351179
- BLOCK_SDT: "superdoc-structured-content-block",
351180
- BLOCK_SDT_LABEL: "superdoc-structured-content__label",
351181
- TABLE_FRAGMENT: "superdoc-table-fragment",
351182
- DOCUMENT_SECTION: "superdoc-document-section",
351183
- SDT_GROUP_HOVER: "sdt-group-hover",
351184
- TOC_ENTRY: "superdoc-toc-entry",
351185
- TOC_GROUP_HOVER: "toc-group-hover",
351186
- IMAGE_FRAGMENT: "superdoc-image-fragment",
351187
- INLINE_IMAGE: "superdoc-inline-image",
351188
- LIST_MARKER: "superdoc-list-marker",
351189
- INLINE_IMAGE_CLIP_WRAPPER: "superdoc-inline-image-clip-wrapper",
351190
- ANNOTATION: "annotation",
351191
- ANNOTATION_CONTENT: "annotation-content",
351192
- ANNOTATION_CARET_ANCHOR: "annotation-caret-anchor"
351193
- };
351194
- STRUCTURED_CONTENT_CHROME_LABEL_CLASS_NAMES = [DOM_CLASS_NAMES.INLINE_SDT_LABEL, DOM_CLASS_NAMES.BLOCK_SDT_LABEL];
351195
- DATA_ATTRS = {
351196
- PM_START: "data-pm-start",
351197
- PM_END: "data-pm-end",
351198
- LAYOUT_EPOCH: "data-layout-epoch",
351199
- TABLE_BOUNDARIES: "data-table-boundaries",
351200
- SDT_ID: "data-sdt-id",
351201
- SDT_TYPE: "data-sdt-type",
351202
- FIELD_ID: "data-field-id",
351203
- FIELD_TYPE: "data-field-type",
351204
- DRAGGABLE: "data-draggable",
351205
- DISPLAY_LABEL: "data-display-label",
351206
- VARIANT: "data-variant",
351207
- TYPE: "data-type",
351208
- LAYOUT_BOUNDARY_SCHEMA: "data-layout-boundary-schema",
351209
- LAYOUT_FRAGMENT_ID: "data-layout-fragment-id",
351210
- LAYOUT_STORY: "data-layout-story",
351211
- LAYOUT_BLOCK_REF: "data-layout-block-ref"
351212
- };
351213
- DATASET_KEYS = {
351214
- PM_START: "pmStart",
351215
- PM_END: "pmEnd",
351216
- LAYOUT_EPOCH: "layoutEpoch",
351217
- TABLE_BOUNDARIES: "tableBoundaries",
351218
- SDT_ID: "sdtId",
351219
- SDT_TYPE: "sdtType",
351220
- FIELD_ID: "fieldId",
351221
- FIELD_TYPE: "fieldType",
351222
- DRAGGABLE: "draggable",
351223
- DISPLAY_LABEL: "displayLabel",
351224
- VARIANT: "variant",
351225
- TYPE: "type",
351226
- LAYOUT_BOUNDARY_SCHEMA: "layoutBoundarySchema",
351227
- LAYOUT_FRAGMENT_ID: "layoutFragmentId",
351228
- LAYOUT_STORY: "layoutStory",
351229
- LAYOUT_BLOCK_REF: "layoutBlockRef"
351230
- };
351231
- `${DOM_CLASS_NAMES.BLOCK_SDT}${DATA_ATTRS.SDT_ID}`;
351232
- DRAGGABLE_SELECTOR = `[${DATA_ATTRS.DRAGGABLE}="true"]`;
351233
351406
  VerticalNavigationPluginKey = new PluginKey("verticalNavigation");
351234
351407
  VerticalNavigation = Extension.create({
351235
351408
  name: "verticalNavigation",
@@ -351540,7 +351713,7 @@ function print() { __p += __j.call(arguments, '') }
351540
351713
  })
351541
351714
  }
351542
351715
  ] };
351543
- _hoisted_1$22 = { class: "ai-user-input-field" };
351716
+ _hoisted_1$23 = { class: "ai-user-input-field" };
351544
351717
  _hoisted_2$17 = ["innerHTML"];
351545
351718
  _hoisted_3$13 = ["placeholder"];
351546
351719
  _hoisted_4$9 = { class: "ai-loader" };
@@ -351771,7 +351944,7 @@ function print() { __p += __j.call(arguments, '') }
351771
351944
  ref_key: "aiWriterRef",
351772
351945
  ref: aiWriterRef,
351773
351946
  onMousedown: _cache[1] || (_cache[1] = exports_vue.withModifiers(() => {}, ["stop"]))
351774
- }, [exports_vue.createElementVNode("div", _hoisted_1$22, [exports_vue.createElementVNode("span", {
351947
+ }, [exports_vue.createElementVNode("div", _hoisted_1$23, [exports_vue.createElementVNode("span", {
351775
351948
  class: "ai-textarea-icon",
351776
351949
  innerHTML: exports_vue.unref(edit_regular_default)
351777
351950
  }, null, 8, _hoisted_2$17), exports_vue.withDirectives(exports_vue.createElementVNode("textarea", {
@@ -351873,7 +352046,7 @@ function print() { __p += __j.call(arguments, '') }
351873
352046
  formattingMarks: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true"><text x="12" y="18" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="20" font-weight="700" fill="currentColor">¶</text></svg>
351874
352047
  `
351875
352048
  };
351876
- _hoisted_1$21 = [
352049
+ _hoisted_1$22 = [
351877
352050
  "onClick",
351878
352051
  "innerHTML",
351879
352052
  "aria-label",
@@ -351965,12 +352138,12 @@ function print() { __p += __j.call(arguments, '') }
351965
352138
  ref_key: "alignmentButtonsRefs",
351966
352139
  ref: alignmentButtonsRefs,
351967
352140
  onKeydown: exports_vue.withModifiers((event) => handleKeyDown$1(event, index2), ["prevent"])
351968
- }, null, 40, _hoisted_1$21);
352141
+ }, null, 40, _hoisted_1$22);
351969
352142
  }), 64))], 2);
351970
352143
  };
351971
352144
  }
351972
352145
  }, [["__scopeId", "data-v-ceb338e0"]]);
351973
- _hoisted_1$20 = [
352146
+ _hoisted_1$21 = [
351974
352147
  "onClick",
351975
352148
  "innerHTML",
351976
352149
  "aria-label",
@@ -352059,7 +352232,7 @@ function print() { __p += __j.call(arguments, '') }
352059
352232
  ref_key: "buttonRefs",
352060
352233
  ref: buttonRefs,
352061
352234
  onKeydown: exports_vue.withModifiers((event) => handleKeyDown$1(event, index2), ["prevent"])
352062
- }, null, 46, _hoisted_1$20);
352235
+ }, null, 46, _hoisted_1$21);
352063
352236
  }), 128))], 2);
352064
352237
  };
352065
352238
  }
@@ -352123,7 +352296,7 @@ function print() { __p += __j.call(arguments, '') }
352123
352296
  ariaLabel: "a) b) c)"
352124
352297
  }
352125
352298
  ];
352126
- _hoisted_1$19 = ["onClick", "onKeydown"];
352299
+ _hoisted_1$20 = ["onClick", "onKeydown"];
352127
352300
  _hoisted_2$16 = { class: "document-mode-column icon-column" };
352128
352301
  _hoisted_3$12 = ["innerHTML"];
352129
352302
  _hoisted_4$8 = { class: "document-mode-column text-column" };
@@ -352192,12 +352365,12 @@ function print() { __p += __j.call(arguments, '') }
352192
352365
  }, [exports_vue.createElementVNode("div", _hoisted_2$16, [exports_vue.createElementVNode("div", {
352193
352366
  class: "icon-column__icon",
352194
352367
  innerHTML: option.icon
352195
- }, null, 8, _hoisted_3$12)]), exports_vue.createElementVNode("div", _hoisted_4$8, [exports_vue.createElementVNode("div", _hoisted_5$7, exports_vue.toDisplayString(option.label), 1), exports_vue.createElementVNode("div", _hoisted_6$5, exports_vue.toDisplayString(option.description), 1)])], 42, _hoisted_1$19);
352368
+ }, null, 8, _hoisted_3$12)]), exports_vue.createElementVNode("div", _hoisted_4$8, [exports_vue.createElementVNode("div", _hoisted_5$7, exports_vue.toDisplayString(option.label), 1), exports_vue.createElementVNode("div", _hoisted_6$5, exports_vue.toDisplayString(option.description), 1)])], 42, _hoisted_1$20);
352196
352369
  }), 256))], 2);
352197
352370
  };
352198
352371
  }
352199
352372
  }, [["__scopeId", "data-v-abd514d9"]]);
352200
- _hoisted_1$18 = {
352373
+ _hoisted_1$19 = {
352201
352374
  key: 0,
352202
352375
  class: "linked-style-buttons",
352203
352376
  "data-editor-ui-surface": ""
@@ -352259,7 +352432,7 @@ function print() { __p += __j.call(arguments, '') }
352259
352432
  styleRefs.value[0].focus();
352260
352433
  });
352261
352434
  return (_ctx, _cache) => {
352262
- return props.editor ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$18, [(exports_vue.openBlock(true), exports_vue.createElementBlock(exports_vue.Fragment, null, exports_vue.renderList(exports_vue.unref(getQuickFormatList)(__props.editor), (style2, index2) => {
352435
+ return props.editor ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$19, [(exports_vue.openBlock(true), exports_vue.createElementBlock(exports_vue.Fragment, null, exports_vue.renderList(exports_vue.unref(getQuickFormatList)(__props.editor), (style2, index2) => {
352263
352436
  return exports_vue.openBlock(), exports_vue.createElementBlock("div", {
352264
352437
  class: exports_vue.normalizeClass(["style-item", { selected: __props.selectedOption === style2.id }]),
352265
352438
  onClick: ($event) => select2(style2),
@@ -352277,7 +352450,7 @@ function print() { __p += __j.call(arguments, '') }
352277
352450
  };
352278
352451
  }
352279
352452
  }, [["__scopeId", "data-v-80e74746"]]);
352280
- _hoisted_1$17 = {
352453
+ _hoisted_1$18 = {
352281
352454
  key: 0,
352282
352455
  class: "link-title"
352283
352456
  };
@@ -352480,7 +352653,7 @@ function print() { __p += __j.call(arguments, '') }
352480
352653
  props.goToAnchor(url$1);
352481
352654
  };
352482
352655
  return (_ctx, _cache) => {
352483
- return exports_vue.openBlock(), exports_vue.createElementBlock("div", { class: exports_vue.normalizeClass(["link-input-ctn", { "high-contrast": exports_vue.unref(isHighContrastMode$1) }]) }, [isAnchor.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$17, "Page anchor")) : isViewingMode.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_2$14, "Link details")) : isEditing.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_3$11, "Edit link")) : (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_4$7, "Add link")), __props.showInput && !isAnchor.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_5$6, [
352656
+ return exports_vue.openBlock(), exports_vue.createElementBlock("div", { class: exports_vue.normalizeClass(["link-input-ctn", { "high-contrast": exports_vue.unref(isHighContrastMode$1) }]) }, [isAnchor.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$18, "Page anchor")) : isViewingMode.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_2$14, "Link details")) : isEditing.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_3$11, "Edit link")) : (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_4$7, "Add link")), __props.showInput && !isAnchor.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_5$6, [
352484
352657
  exports_vue.createElementVNode("div", _hoisted_6$4, [_cache[5] || (_cache[5] = exports_vue.createElementVNode("div", { class: "input-icon text-input-icon" }, "T", -1)), exports_vue.withDirectives(exports_vue.createElementVNode("input", {
352485
352658
  type: "text",
352486
352659
  name: "text",
@@ -352527,7 +352700,7 @@ function print() { __p += __j.call(arguments, '') }
352527
352700
  };
352528
352701
  }
352529
352702
  }, [["__scopeId", "data-v-c490d677"]]);
352530
- _hoisted_1$16 = [
352703
+ _hoisted_1$17 = [
352531
352704
  "aria-label",
352532
352705
  "onClick",
352533
352706
  "onKeydown"
@@ -352659,13 +352832,13 @@ function print() { __p += __j.call(arguments, '') }
352659
352832
  class: "sd-option__check",
352660
352833
  innerHTML: exports_vue.unref(toolbarIcons).colorOptionCheck,
352661
352834
  style: exports_vue.normalizeStyle(getCheckStyle(option.value, optionIndex))
352662
- }, null, 12, _hoisted_3$10)) : exports_vue.createCommentVNode("", true)], 40, _hoisted_1$16);
352835
+ }, null, 12, _hoisted_3$10)) : exports_vue.createCommentVNode("", true)], 40, _hoisted_1$17);
352663
352836
  }), 128))]);
352664
352837
  }), 128);
352665
352838
  };
352666
352839
  }
352667
352840
  }, [["__scopeId", "data-v-30cad300"]]);
352668
- _hoisted_1$15 = { class: "options-grid-wrap" };
352841
+ _hoisted_1$16 = { class: "options-grid-wrap" };
352669
352842
  _hoisted_2$12 = ["innerHTML"];
352670
352843
  _hoisted_3$9 = { class: "option-grid-ctn" };
352671
352844
  IconGrid_default = /* @__PURE__ */ __plugin_vue_export_helper_default({
@@ -352695,7 +352868,7 @@ function print() { __p += __j.call(arguments, '') }
352695
352868
  emit("select", option);
352696
352869
  };
352697
352870
  return (_ctx, _cache) => {
352698
- return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$15, [__props.hasNoneIcon ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", {
352871
+ return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$16, [__props.hasNoneIcon ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", {
352699
352872
  key: 0,
352700
352873
  class: "none-option",
352701
352874
  role: "menuitem",
@@ -352790,7 +352963,7 @@ function print() { __p += __j.call(arguments, '') }
352790
352963
  makeColorOption("#A91DFF", "neon purple")
352791
352964
  ]
352792
352965
  ];
352793
- _hoisted_1$14 = [
352966
+ _hoisted_1$15 = [
352794
352967
  "data-cols",
352795
352968
  "data-rows",
352796
352969
  "onKeydown",
@@ -352907,7 +353080,7 @@ function print() { __p += __j.call(arguments, '') }
352907
353080
  cols: n,
352908
353081
  rows: i3
352909
353082
  }), ["stop", "prevent"])
352910
- }, null, 40, _hoisted_1$14);
353083
+ }, null, 40, _hoisted_1$15);
352911
353084
  }), 64))], 64);
352912
353085
  }), 64))], 32), exports_vue.createElementVNode("div", {
352913
353086
  class: "toolbar-table-grid-value",
@@ -352916,7 +353089,7 @@ function print() { __p += __j.call(arguments, '') }
352916
353089
  };
352917
353090
  }
352918
353091
  }, [["__scopeId", "data-v-168b91ce"]]);
352919
- _hoisted_1$13 = { class: "toolbar-table-actions" };
353092
+ _hoisted_1$14 = { class: "toolbar-table-actions" };
352920
353093
  _hoisted_2$10 = [
352921
353094
  "onClick",
352922
353095
  "data-item",
@@ -352935,7 +353108,7 @@ function print() { __p += __j.call(arguments, '') }
352935
353108
  emit("select", { command: item.command });
352936
353109
  };
352937
353110
  return (_ctx, _cache) => {
352938
- return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$13, [(exports_vue.openBlock(true), exports_vue.createElementBlock(exports_vue.Fragment, null, exports_vue.renderList(__props.options, (option) => {
353111
+ return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$14, [(exports_vue.openBlock(true), exports_vue.createElementBlock(exports_vue.Fragment, null, exports_vue.renderList(__props.options, (option) => {
352939
353112
  return exports_vue.openBlock(), exports_vue.createElementBlock("div", {
352940
353113
  class: exports_vue.normalizeClass(["toolbar-table-actions__item", { "toolbar-table-actions__item--border": option.bottomBorder }]),
352941
353114
  onClick: ($event) => handleClick$1(option),
@@ -352950,7 +353123,7 @@ function print() { __p += __j.call(arguments, '') }
352950
353123
  };
352951
353124
  }
352952
353125
  }, [["__scopeId", "data-v-652015c8"]]);
352953
- _hoisted_1$12 = { class: "search-input-ctn" };
353126
+ _hoisted_1$13 = { class: "search-input-ctn" };
352954
353127
  _hoisted_2$9 = { class: "sd-row" };
352955
353128
  _hoisted_3$7 = ["onKeydown"];
352956
353129
  SearchInput_default = /* @__PURE__ */ __plugin_vue_export_helper_default({
@@ -352964,7 +353137,7 @@ function print() { __p += __j.call(arguments, '') }
352964
353137
  emit("submit", { value: searchValue.value });
352965
353138
  };
352966
353139
  return (_ctx, _cache) => {
352967
- return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$12, [exports_vue.createElementVNode("div", _hoisted_2$9, [exports_vue.withDirectives(exports_vue.createElementVNode("input", {
353140
+ return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$13, [exports_vue.createElementVNode("div", _hoisted_2$9, [exports_vue.withDirectives(exports_vue.createElementVNode("input", {
352968
353141
  ref: __props.searchRef,
352969
353142
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchValue.value = $event),
352970
353143
  class: "search-input",
@@ -353108,7 +353281,7 @@ function print() { __p += __j.call(arguments, '') }
353108
353281
  HEADLESS_TOOLBAR_COMMANDS = [...new Set([...Object.values(HEADLESS_ITEM_MAP), ...TABLE_ACTION_COMMAND_IDS])];
353109
353282
  NON_HEADLESS_EXECUTE_ITEM_NAMES = new Set(["link"]);
353110
353283
  HEADLESS_EXECUTE_ITEMS = new Set(Object.keys(HEADLESS_ITEM_MAP).filter((itemName) => !NON_HEADLESS_EXECUTE_ITEM_NAMES.has(itemName)));
353111
- _hoisted_1$11 = { class: "sd-toolbar-icon" };
353284
+ _hoisted_1$12 = { class: "sd-toolbar-icon" };
353112
353285
  _hoisted_2$8 = ["innerHTML"];
353113
353286
  ToolbarButtonIcon_default = /* @__PURE__ */ __plugin_vue_export_helper_default({
353114
353287
  __name: "ToolbarButtonIcon",
@@ -353138,7 +353311,7 @@ function print() { __p += __j.call(arguments, '') }
353138
353311
  return ["color", "highlight"].includes(props.name);
353139
353312
  });
353140
353313
  return (_ctx, _cache) => {
353141
- return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$11, [exports_vue.createElementVNode("div", {
353314
+ return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$12, [exports_vue.createElementVNode("div", {
353142
353315
  class: exports_vue.normalizeClass(["sd-toolbar-icon__icon", [`sd-toolbar-icon__icon--${props.name}`]]),
353143
353316
  innerHTML: __props.icon
353144
353317
  }, null, 10, _hoisted_2$8), hasColorBar.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", {
@@ -353149,7 +353322,7 @@ function print() { __p += __j.call(arguments, '') }
353149
353322
  };
353150
353323
  }
353151
353324
  }, [["__scopeId", "data-v-521c3d93"]]);
353152
- _hoisted_1$10 = ["role", "aria-label"];
353325
+ _hoisted_1$11 = ["role", "aria-label"];
353153
353326
  _hoisted_2$7 = ["data-item"];
353154
353327
  _hoisted_3$6 = ["data-item"];
353155
353328
  _hoisted_4$5 = {
@@ -353400,11 +353573,11 @@ function print() { __p += __j.call(arguments, '') }
353400
353573
  }, null, 12, _hoisted_13)) : exports_vue.createCommentVNode("", true)
353401
353574
  ], 64)),
353402
353575
  exports_vue.createElementVNode("div", _hoisted_14, exports_vue.toDisplayString(`${exports_vue.unref(attributes).ariaLabel} ${exports_vue.unref(active) ? "selected" : "unset"}`), 1)
353403
- ], 10, _hoisted_2$7)], 46, _hoisted_1$10);
353576
+ ], 10, _hoisted_2$7)], 46, _hoisted_1$11);
353404
353577
  };
353405
353578
  }
353406
353579
  }, [["__scopeId", "data-v-2caa0057"]]);
353407
- _hoisted_1$9 = {
353580
+ _hoisted_1$10 = {
353408
353581
  class: "toolbar-separator",
353409
353582
  role: "separator",
353410
353583
  "aria-label": "Toolbar separator"
@@ -353424,14 +353597,14 @@ function print() { __p += __j.call(arguments, '') }
353424
353597
  return "var(--sd-ui-border, #dbdbdb)";
353425
353598
  };
353426
353599
  return (_ctx, _cache) => {
353427
- return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$9, [exports_vue.createElementVNode("div", {
353600
+ return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$10, [exports_vue.createElementVNode("div", {
353428
353601
  class: "separator-inner",
353429
353602
  style: exports_vue.normalizeStyle({ backgroundColor: getSeparatorColor() })
353430
353603
  }, null, 4)]);
353431
353604
  };
353432
353605
  }
353433
353606
  }, [["__scopeId", "data-v-d027f7fc"]]);
353434
- _hoisted_1$8 = { class: "overflow-menu" };
353607
+ _hoisted_1$9 = { class: "overflow-menu" };
353435
353608
  _hoisted_2$6 = { class: "overflow-menu-trigger" };
353436
353609
  _hoisted_3$5 = {
353437
353610
  key: 0,
@@ -353485,7 +353658,7 @@ function print() { __p += __j.call(arguments, '') }
353485
353658
  document.removeEventListener("keydown", handleKeyDown$1, true);
353486
353659
  });
353487
353660
  return (_ctx, _cache) => {
353488
- return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$8, [exports_vue.createElementVNode("div", _hoisted_2$6, [exports_vue.createVNode(ToolbarButton_default, {
353661
+ return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$9, [exports_vue.createElementVNode("div", _hoisted_2$6, [exports_vue.createVNode(ToolbarButton_default, {
353489
353662
  "toolbar-item": overflowToolbarItem.value,
353490
353663
  onButtonClick: toggleOverflowMenu
353491
353664
  }, null, 8, ["toolbar-item"])]), isOverflowMenuOpened.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_3$5, [exports_vue.createVNode(ButtonGroup_default, {
@@ -353498,7 +353671,7 @@ function print() { __p += __j.call(arguments, '') }
353498
353671
  };
353499
353672
  }
353500
353673
  }, [["__scopeId", "data-v-35b48dff"]]);
353501
- _hoisted_1$7 = { class: "toolbar-dropdown" };
353674
+ _hoisted_1$8 = { class: "toolbar-dropdown" };
353502
353675
  _hoisted_2$5 = ["onClick"];
353503
353676
  _hoisted_3$4 = {
353504
353677
  key: 0,
@@ -353852,7 +354025,7 @@ function print() { __p += __j.call(arguments, '') }
353852
354025
  window.removeEventListener("scroll", updateMenuPosition, true);
353853
354026
  });
353854
354027
  return (_ctx, _cache) => {
353855
- return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$7, [exports_vue.createElementVNode("div", {
354028
+ return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$8, [exports_vue.createElementVNode("div", {
353856
354029
  ref_key: "triggerRef",
353857
354030
  ref: triggerRef,
353858
354031
  class: "toolbar-dropdown-trigger",
@@ -353894,7 +354067,7 @@ function print() { __p += __j.call(arguments, '') }
353894
354067
  };
353895
354068
  }
353896
354069
  }, [["__scopeId", "data-v-69732782"]]);
353897
- _hoisted_1$6 = [
354070
+ _hoisted_1$7 = [
353898
354071
  "value",
353899
354072
  "disabled",
353900
354073
  "aria-label",
@@ -354322,7 +354495,7 @@ function print() { __p += __j.call(arguments, '') }
354322
354495
  onKeydown,
354323
354496
  onCompositionstart: _cache[0] || (_cache[0] = ($event) => isComposing.value = true),
354324
354497
  onCompositionend: onCompositionEnd
354325
- }, null, 44, _hoisted_1$6)], 32),
354498
+ }, null, 44, _hoisted_1$7)], 32),
354326
354499
  exports_vue.createElementVNode("button", {
354327
354500
  type: "button",
354328
354501
  class: "sd-font-combobox__caret sd-toolbar-split-field__caret",
@@ -354578,7 +354751,7 @@ function print() { __p += __j.call(arguments, '') }
354578
354751
  };
354579
354752
  }
354580
354753
  }), [["__scopeId", "data-v-f0925f67"]]);
354581
- _hoisted_1$5 = ["data-toolbar-position"];
354754
+ _hoisted_1$6 = ["data-toolbar-position"];
354582
354755
  _hoisted_2$3 = [
354583
354756
  "onKeydown",
354584
354757
  "tabindex",
@@ -355139,7 +355312,7 @@ function print() { __p += __j.call(arguments, '') }
355139
355312
  "overflow-items"
355140
355313
  ])) : exports_vue.createCommentVNode("", true)
355141
355314
  ], 42, _hoisted_2$3);
355142
- }), 128))], 44, _hoisted_1$5);
355315
+ }), 128))], 44, _hoisted_1$6);
355143
355316
  };
355144
355317
  }
355145
355318
  }, [["__scopeId", "data-v-181bd035"]]);
@@ -360183,6 +360356,13 @@ function print() { __p += __j.call(arguments, '') }
360183
360356
  .${DOM_CLASS_NAMES.INLINE_IMAGE_CLIP_WRAPPER}.superdoc-image-selected {
360184
360357
  outline-offset: 2px;
360185
360358
  }
360359
+
360360
+ .superdoc-textbox-selected {
360361
+ outline: 2px solid #4a90e2;
360362
+ outline-offset: 2px;
360363
+ border-radius: 2px;
360364
+ box-shadow: 0 0 0 1px rgba(74, 144, 226, 0.35);
360365
+ }
360186
360366
  `;
360187
360367
  init_dist5();
360188
360368
  globalValidationStats = new ValidationStatsCollector;
@@ -364556,13 +364736,15 @@ function print() { __p += __j.call(arguments, '') }
364556
364736
  });
364557
364737
  },
364558
364738
  onSurfaceTransaction: ({ sourceEditor, surface, headerId, sectionType, transaction, duration }) => {
364559
- if ((transaction && typeof transaction === "object" ? transaction : null)?.docChanged && headerId) {
364560
- this.#invalidateTrackedChangesForStory({
364561
- kind: "story",
364562
- storyType: "headerFooterPart",
364563
- refId: headerId
364564
- });
364565
- this.#headerFooterSession?.invalidateLayoutForRefs([headerId]);
364739
+ if ((transaction && typeof transaction === "object" ? transaction : null)?.docChanged) {
364740
+ if (headerId) {
364741
+ this.#invalidateTrackedChangesForStory({
364742
+ kind: "story",
364743
+ storyType: "headerFooterPart",
364744
+ refId: headerId
364745
+ });
364746
+ this.#headerFooterSession?.invalidateLayoutForRefs([headerId]);
364747
+ }
364566
364748
  this.#flowBlockCache.setHasExternalChanges?.(true);
364567
364749
  this.#pendingDocChange = true;
364568
364750
  this.#selectionSync.onLayoutStart();
@@ -368229,11 +368411,11 @@ function print() { __p += __j.call(arguments, '') }
368229
368411
  ]);
368230
368412
  });
368231
368413
 
368232
- // ../../packages/superdoc/dist/chunks/create-super-doc-ui-RmuwqQZI.es.js
368414
+ // ../../packages/superdoc/dist/chunks/create-super-doc-ui-NCPalg_h.es.js
368233
368415
  var DEFAULT_TEXT_ALIGN_OPTIONS, DEFAULT_LINE_HEIGHT_OPTIONS, DEFAULT_ZOOM_OPTIONS, DEFAULT_DOCUMENT_MODE_OPTIONS, DEFAULT_FONT_SIZE_OPTIONS, headlessToolbarConstants, MOD_ALIASES, ALT_ALIASES, CTRL_ALIASES, SHIFT_ALIASES, BUILTIN_CONTEXT_MENU_GROUPS, BUILTIN_GROUP_ORDER, RESERVED_PROXY_PROPERTY_NAMES, ALL_TOOLBAR_COMMAND_IDS, EMPTY_ACTIVE_IDS, FONT_SIZE_OPTIONS;
368234
- var init_create_super_doc_ui_RmuwqQZI_es = __esm(() => {
368235
- init_SuperConverter_DVjSc_AY_es();
368236
- init_create_headless_toolbar_DYtdH4mX_es();
368416
+ var init_create_super_doc_ui_NCPalg_h_es = __esm(() => {
368417
+ init_SuperConverter_Du0apG1R_es();
368418
+ init_create_headless_toolbar_BNcguDpP_es();
368237
368419
  DEFAULT_TEXT_ALIGN_OPTIONS = [
368238
368420
  {
368239
368421
  label: "Left",
@@ -368511,9 +368693,6 @@ var init_create_super_doc_ui_RmuwqQZI_es = __esm(() => {
368511
368693
  }));
368512
368694
  });
368513
368695
 
368514
- // ../../packages/superdoc/dist/chunks/ui-CGB3qmy3.es.js
368515
- var init_ui_CGB3qmy3_es = () => {};
368516
-
368517
368696
  // ../../packages/superdoc/dist/chunks/zipper-BxRAi0-5.es.js
368518
368697
  var import_jszip_min3;
368519
368698
  var init_zipper_BxRAi0_5_es = __esm(() => {
@@ -368524,16 +368703,16 @@ var init_zipper_BxRAi0_5_es = __esm(() => {
368524
368703
 
368525
368704
  // ../../packages/superdoc/dist/super-editor.es.js
368526
368705
  var init_super_editor_es = __esm(() => {
368527
- init_src_9y_vcUyr_es();
368528
- init_SuperConverter_DVjSc_AY_es();
368706
+ init_src_bGJhSgx__es();
368707
+ init_SuperConverter_Du0apG1R_es();
368529
368708
  init_jszip_C49i9kUs_es();
368530
368709
  init_xml_js_CqGKpaft_es();
368531
- init_create_headless_toolbar_DYtdH4mX_es();
368710
+ init_create_headless_toolbar_BNcguDpP_es();
368532
368711
  init_constants_D9qj59G2_es();
368533
368712
  init_unified_BDuVPlMu_es();
368534
368713
  init_DocxZipper_BzS208BW_es();
368535
- init_create_super_doc_ui_RmuwqQZI_es();
368536
- init_ui_CGB3qmy3_es();
368714
+ init_ui_BMYSpkne_es();
368715
+ init_create_super_doc_ui_NCPalg_h_es();
368537
368716
  init_eventemitter3_UwU_CLPU_es();
368538
368717
  init_errors_C_DoKMoN_es();
368539
368718
  init_zipper_BxRAi0_5_es();