@superdoc-dev/mcp 0.3.0-next.97 → 0.3.0-next.99

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 +226 -191
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -51891,7 +51891,7 @@ var init_remark_gfm_BhnWr3yf_es = __esm(() => {
51891
51891
  emptyOptions2 = {};
51892
51892
  });
51893
51893
 
51894
- // ../../packages/superdoc/dist/chunks/SuperConverter-Db6xeFxo.es.js
51894
+ // ../../packages/superdoc/dist/chunks/SuperConverter-uW-eKBtZ.es.js
51895
51895
  function getExtensionConfigField(extension$1, field, context = { name: "" }) {
51896
51896
  const fieldValue = extension$1.config[field];
51897
51897
  if (typeof fieldValue === "function")
@@ -62271,44 +62271,74 @@ function generateParagraphProperties(params) {
62271
62271
  }
62272
62272
  return pPr;
62273
62273
  }
62274
+ function foldLeadingCommentStartsIntoTrackedChanges(elements) {
62275
+ const result = [];
62276
+ let i$1 = 0;
62277
+ while (i$1 < elements.length) {
62278
+ if (elements[i$1]?.name !== "w:commentRangeStart") {
62279
+ result.push(elements[i$1]);
62280
+ i$1++;
62281
+ continue;
62282
+ }
62283
+ const leadingStarts = [];
62284
+ while (i$1 < elements.length && elements[i$1]?.name === "w:commentRangeStart") {
62285
+ leadingStarts.push(elements[i$1]);
62286
+ i$1++;
62287
+ }
62288
+ const next = elements[i$1];
62289
+ if (isTrackedChangeWrapper(next)) {
62290
+ result.push({
62291
+ ...next,
62292
+ elements: [...leadingStarts, ...next.elements || []]
62293
+ });
62294
+ i$1++;
62295
+ } else
62296
+ result.push(...leadingStarts);
62297
+ }
62298
+ return result;
62299
+ }
62274
62300
  function mergeConsecutiveTrackedChanges(elements) {
62275
62301
  if (!Array.isArray(elements) || elements.length === 0)
62276
62302
  return elements;
62303
+ elements = foldLeadingCommentStartsIntoTrackedChanges(elements);
62277
62304
  const result = [];
62278
62305
  let i$1 = 0;
62279
62306
  while (i$1 < elements.length) {
62280
62307
  const current = elements[i$1];
62281
- if (current?.name === "w:ins" || current?.name === "w:del") {
62308
+ if (isTrackedChangeWrapper(current)) {
62282
62309
  const tcId = current.attributes?.["w:id"];
62283
62310
  const tcName = current.name;
62284
62311
  const mergedElements = [...current.elements || []];
62312
+ const pendingComments = [];
62313
+ let didMerge = false;
62285
62314
  let j = i$1 + 1;
62286
62315
  while (j < elements.length) {
62287
62316
  const next = elements[j];
62288
- if (next?.name === "w:commentRangeStart" || next?.name === "w:commentRangeEnd") {
62289
- mergedElements.push(next);
62317
+ if (isCommentMarker(next)) {
62318
+ pendingComments.push(next);
62290
62319
  j++;
62291
62320
  continue;
62292
62321
  }
62293
- if (next?.name === "w:r") {
62294
- if (next.elements?.length === 1 && next.elements[0]?.name === "w:commentReference") {
62295
- mergedElements.push(next);
62296
- j++;
62297
- continue;
62298
- }
62299
- }
62300
62322
  if (next?.name === tcName && next.attributes?.["w:id"] === tcId) {
62301
- mergedElements.push(...next.elements || []);
62323
+ mergedElements.push(...pendingComments, ...next.elements || []);
62324
+ pendingComments.length = 0;
62325
+ didMerge = true;
62302
62326
  j++;
62303
62327
  continue;
62304
62328
  }
62305
62329
  break;
62306
62330
  }
62307
- result.push({
62308
- name: tcName,
62309
- attributes: { ...current.attributes },
62310
- elements: mergedElements
62311
- });
62331
+ if (didMerge) {
62332
+ result.push({
62333
+ name: tcName,
62334
+ attributes: { ...current.attributes },
62335
+ elements: mergedElements
62336
+ });
62337
+ result.push(...pendingComments);
62338
+ } else {
62339
+ result.push(current);
62340
+ result.push(...pendingComments);
62341
+ }
62312
62342
  i$1 = j;
62313
62343
  } else {
62314
62344
  result.push(current);
@@ -88892,46 +88922,24 @@ function getBibliographyPartExportPaths(bibliographyPart) {
88892
88922
  bibliographyPart?.itemRelsPath
88893
88923
  ].filter((path2) => typeof path2 === "string" && path2.length > 0);
88894
88924
  }
88895
- function collectReferencedNumIds(convertedXml) {
88896
- const numIds = /* @__PURE__ */ new Set;
88897
- function walkElements$1(elements) {
88898
- if (!Array.isArray(elements))
88899
- return;
88900
- for (const el of elements) {
88901
- if (!el || typeof el !== "object")
88902
- continue;
88903
- if (el.name === "w:numId" && el.attributes?.["w:val"] != null)
88904
- numIds.add(Number(el.attributes["w:val"]));
88905
- if (el.elements)
88906
- walkElements$1(el.elements);
88907
- }
88908
- }
88909
- for (const [path2, xml] of Object.entries(convertedXml))
88910
- if (path2.startsWith("word/") && path2 !== "word/numbering.xml" && xml?.elements)
88911
- walkElements$1(xml.elements);
88912
- return numIds;
88913
- }
88914
- function getAbstractNumIdFromDef(numDef) {
88915
- const abstractEl = numDef.elements?.find((el) => el.name === "w:abstractNumId");
88916
- if (abstractEl?.attributes?.["w:val"] != null)
88917
- return Number(abstractEl.attributes["w:val"]);
88918
- }
88919
- function filterOrphanedNumberingDefinitions(numbering, referencedNumIds) {
88920
- const liveDefinitions = Object.values(numbering.definitions).filter((def) => referencedNumIds.has(Number(def.attributes?.["w:numId"])));
88921
- const referencedAbstractIds = /* @__PURE__ */ new Set;
88922
- for (const def of liveDefinitions) {
88923
- const abstractId = getAbstractNumIdFromDef(def);
88924
- if (abstractId != null)
88925
- referencedAbstractIds.add(abstractId);
88926
- }
88927
- return {
88928
- liveAbstracts: Object.values(numbering.abstracts).filter((abs) => referencedAbstractIds.has(Number(abs.attributes?.["w:abstractNumId"]))),
88929
- liveDefinitions
88930
- };
88931
- }
88932
88925
  function generateCustomXml() {
88933
88926
  return DEFAULT_CUSTOM_XML;
88934
88927
  }
88928
+ function hasBodyNumberingReferences(documentXml) {
88929
+ if (!documentXml || typeof documentXml !== "object")
88930
+ return false;
88931
+ const stack = Array.isArray(documentXml.elements) ? [...documentXml.elements] : [];
88932
+ while (stack.length) {
88933
+ const node2 = stack.pop();
88934
+ if (!node2 || typeof node2 !== "object")
88935
+ continue;
88936
+ if (node2.name === "w:numPr")
88937
+ return true;
88938
+ if (Array.isArray(node2.elements))
88939
+ stack.push(...node2.elements);
88940
+ }
88941
+ return false;
88942
+ }
88935
88943
  var isRegExp = (value) => {
88936
88944
  return Object.prototype.toString.call(value) === "[object RegExp]";
88937
88945
  }, dist_default$1, Fragment = class Fragment2 {
@@ -91201,6 +91209,14 @@ var isRegExp = (value) => {
91201
91209
  if (normalizedNodes.length === 1 && normalizedNodes[0]?.type === "paragraph")
91202
91210
  return normalizedNodes[0];
91203
91211
  return normalizedNodes;
91212
+ }, isTrackedChangeWrapper = (el) => el?.name === "w:ins" || el?.name === "w:del", isCommentMarker = (el) => {
91213
+ if (!el)
91214
+ return false;
91215
+ if (el.name === "w:commentRangeStart" || el.name === "w:commentRangeEnd")
91216
+ return true;
91217
+ if (el.name === "w:r" && el.elements?.length === 1 && el.elements[0]?.name === "w:commentReference")
91218
+ return true;
91219
+ return false;
91204
91220
  }, encode$59 = (attributes) => {
91205
91221
  return attributes["w:rsidDel"];
91206
91222
  }, decode$61 = (attrs) => {
@@ -104417,8 +104433,8 @@ var isRegExp = (value) => {
104417
104433
  patchNumberingDefinitions(docx);
104418
104434
  const numbering = getNumberingDefinitions(docx);
104419
104435
  const trackedChangeIdMapOptions = { replacements: converter.trackedChangesOptions?.replacements ?? "paired" };
104420
- converter.trackedChangeIdMap = buildTrackedChangeIdMap(docx, trackedChangeIdMapOptions);
104421
104436
  converter.trackedChangeIdMapsByPart = buildTrackedChangeIdMapsByPart(docx, trackedChangeIdMapOptions);
104437
+ converter.trackedChangeIdMap = converter.trackedChangeIdMapsByPart.get("word/document.xml") ?? buildTrackedChangeIdMap(docx, trackedChangeIdMapOptions);
104422
104438
  const comments = importCommentData({
104423
104439
  docx,
104424
104440
  nodeListHandler,
@@ -105628,7 +105644,7 @@ var isRegExp = (value) => {
105628
105644
  state.kern = kernNode.attributes["w:val"];
105629
105645
  }
105630
105646
  }, SuperConverter;
105631
- var init_SuperConverter_Db6xeFxo_es = __esm(() => {
105647
+ var init_SuperConverter_uW_eKBtZ_es = __esm(() => {
105632
105648
  init_rolldown_runtime_Bg48TavK_es();
105633
105649
  init_jszip_C49i9kUs_es();
105634
105650
  init_xml_js_CqGKpaft_es();
@@ -143410,14 +143426,17 @@ var init_SuperConverter_Db6xeFxo_es = __esm(() => {
143410
143426
  }
143411
143427
  #exportNumberingFile() {
143412
143428
  const numberingPath = "word/numbering.xml";
143429
+ const sourceHadNumberingXml = Boolean(this.convertedXml[numberingPath]);
143413
143430
  let numberingXml = this.convertedXml[numberingPath];
143414
143431
  if (!numberingXml)
143415
143432
  numberingXml = baseNumbering;
143416
143433
  const currentNumberingXml = numberingXml.elements[0];
143417
- const referencedNumIds = collectReferencedNumIds(this.convertedXml);
143434
+ if (!sourceHadNumberingXml && !hasBodyNumberingReferences(this.convertedXml["word/document.xml"]))
143435
+ return;
143418
143436
  if (this.numbering?.definitions && this.numbering?.abstracts) {
143419
- const { liveAbstracts, liveDefinitions } = filterOrphanedNumberingDefinitions(this.numbering, referencedNumIds);
143420
- currentNumberingXml.elements = [...liveAbstracts, ...liveDefinitions];
143437
+ const abstracts = Object.values(this.numbering.abstracts);
143438
+ const definitions = Object.values(this.numbering.definitions);
143439
+ currentNumberingXml.elements = [...abstracts, ...definitions];
143421
143440
  } else
143422
143441
  currentNumberingXml.elements = [];
143423
143442
  this.convertedXml[numberingPath] = numberingXml;
@@ -143618,7 +143637,7 @@ var init_SuperConverter_Db6xeFxo_es = __esm(() => {
143618
143637
  };
143619
143638
  });
143620
143639
 
143621
- // ../../packages/superdoc/dist/chunks/create-headless-toolbar-BongFwHh.es.js
143640
+ // ../../packages/superdoc/dist/chunks/create-headless-toolbar-DanjyDw8.es.js
143622
143641
  function parseSizeUnit(val = "0") {
143623
143642
  const length = val.toString() || "0";
143624
143643
  const value = Number.parseFloat(length);
@@ -146340,8 +146359,8 @@ var CSS_DIMENSION_REGEX, DOM_SIZE_UNITS, Extension = class Extension2 {
146340
146359
  }
146341
146360
  };
146342
146361
  };
146343
- var init_create_headless_toolbar_BongFwHh_es = __esm(() => {
146344
- init_SuperConverter_Db6xeFxo_es();
146362
+ var init_create_headless_toolbar_DanjyDw8_es = __esm(() => {
146363
+ init_SuperConverter_uW_eKBtZ_es();
146345
146364
  init_constants_DrU4EASo_es();
146346
146365
  init_dist_B8HfvhaK_es();
146347
146366
  CSS_DIMENSION_REGEX = /[\d-.]+(\w+)$/;
@@ -200573,7 +200592,7 @@ var init_remark_gfm_eZN6yzWQ_es = __esm(() => {
200573
200592
  init_remark_gfm_BhnWr3yf_es();
200574
200593
  });
200575
200594
 
200576
- // ../../packages/superdoc/dist/chunks/src-ChfKFC3W.es.js
200595
+ // ../../packages/superdoc/dist/chunks/src-COP-2qVr.es.js
200577
200596
  function deleteProps(obj, propOrProps) {
200578
200597
  const props = typeof propOrProps === "string" ? [propOrProps] : propOrProps;
200579
200598
  const removeNested = (target, pathParts, index2 = 0) => {
@@ -267113,7 +267132,7 @@ var Node$13 = class Node$14 {
267113
267132
  }
267114
267133
  });
267115
267134
  return { decorations };
267116
- }, ContextMenuPluginKey, MENU_OFFSET_X = 0, MENU_OFFSET_Y = 28, CONTEXT_MENU_OFFSET_X = 10, CONTEXT_MENU_OFFSET_Y = 10, SLASH_COOLDOWN_MS = 5000, ContextMenu, StructuredContentViewBase = class {
267135
+ }, ContextMenuPluginKey, MENU_OFFSET_X = 0, MENU_OFFSET_Y = 28, CONTEXT_MENU_OFFSET_X = 10, CONTEXT_MENU_OFFSET_Y = 10, ContextMenu, StructuredContentViewBase = class {
267117
267136
  node;
267118
267137
  view;
267119
267138
  getPos;
@@ -274574,7 +274593,7 @@ var Node$13 = class Node$14 {
274574
274593
  if (!target || !target.classList)
274575
274594
  return;
274576
274595
  target.classList.add(STYLE_ISOLATION_CLASS);
274577
- }, _hoisted_1$22, _hoisted_2$17, _hoisted_3$13, _hoisted_4$9, _hoisted_5$6, Mentions_default, popoverPluginKey, PopoverPlugin, Popover = class {
274596
+ }, _hoisted_1$22, _hoisted_2$17, _hoisted_3$13, _hoisted_4$9, _hoisted_5$7, Mentions_default, popoverPluginKey, PopoverPlugin, Popover = class {
274578
274597
  constructor(view, editor) {
274579
274598
  this.editor = editor;
274580
274599
  this.view = view;
@@ -276141,7 +276160,7 @@ var Node$13 = class Node$14 {
276141
276160
  </linearGradient>
276142
276161
  </defs>
276143
276162
  <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"/>
276144
- </svg>`, _hoisted_1$21, _hoisted_2$16, _hoisted_3$12, _hoisted_4$8, _hoisted_5$5, 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>
276163
+ </svg>`, _hoisted_1$21, _hoisted_2$16, _hoisted_3$12, _hoisted_4$8, _hoisted_5$6, 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>
276145
276164
  `, 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>
276146
276165
  `, 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">
276147
276166
  <g clip-path="url(#clip0_0_1)">
@@ -276208,7 +276227,7 @@ var Node$13 = class Node$14 {
276208
276227
  `, 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>
276209
276228
  `, 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>
276210
276229
  `, 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>
276211
- `, 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$20, AlignmentButtons_default, _hoisted_1$19, StyleButtonsList_default, bulletStyleButtons, numberedStyleButtons, _hoisted_1$18, _hoisted_2$15, _hoisted_3$11, _hoisted_4$7, _hoisted_5$4, _hoisted_6$2, DocumentMode_default, _hoisted_1$17, _hoisted_2$14, LinkedStyle_default, _hoisted_1$16, _hoisted_2$13, _hoisted_3$10, _hoisted_4$6, _hoisted_5$3, _hoisted_6$1, _hoisted_7$1, _hoisted_8$1, _hoisted_9$1, _hoisted_10$1, _hoisted_11$1, _hoisted_12$1, _hoisted_13, _hoisted_14, LinkInput_default, _hoisted_1$15, _hoisted_2$12, _hoisted_3$9, 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>
276230
+ `, 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$20, AlignmentButtons_default, _hoisted_1$19, StyleButtonsList_default, bulletStyleButtons, numberedStyleButtons, _hoisted_1$18, _hoisted_2$15, _hoisted_3$11, _hoisted_4$7, _hoisted_5$5, _hoisted_6$3, DocumentMode_default, _hoisted_1$17, _hoisted_2$14, LinkedStyle_default, _hoisted_1$16, _hoisted_2$13, _hoisted_3$10, _hoisted_4$6, _hoisted_5$4, _hoisted_6$2, _hoisted_7$2, _hoisted_8$1, _hoisted_9$1, _hoisted_10$1, _hoisted_11$1, _hoisted_12$1, _hoisted_13, _hoisted_14, LinkInput_default, _hoisted_1$15, _hoisted_2$12, _hoisted_3$9, 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>
276212
276231
  `, _hoisted_1$14, _hoisted_2$11, _hoisted_3$8, IconGrid_default, closeDropdown$1 = (dropdown) => {
276213
276232
  dropdown.expand.value = false;
276214
276233
  }, makeColorOption = (color2, label = null) => {
@@ -276240,7 +276259,7 @@ var Node$13 = class Node$14 {
276240
276259
  })]);
276241
276260
  }, icons, getAvailableColorOptions = () => {
276242
276261
  return icons.flat().map((item) => item.value);
276243
- }, _hoisted_1$13, _hoisted_2$10, ROW_SIZE = 5, TableGrid_default, _hoisted_1$12, _hoisted_2$9, _hoisted_3$7, _hoisted_4$5, _hoisted_5$2, 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>
276262
+ }, _hoisted_1$13, _hoisted_2$10, ROW_SIZE = 5, TableGrid_default, _hoisted_1$12, _hoisted_2$9, _hoisted_3$7, _hoisted_4$5, _hoisted_5$3, 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>
276244
276263
  `, _hoisted_1$11, _hoisted_2$8, _hoisted_3$6, 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) => {
276245
276264
  dropdown.expand.value = false;
276246
276265
  }, makeDefaultItems = ({ superToolbar, toolbarIcons: toolbarIcons$1, toolbarTexts: toolbarTexts$1, toolbarFonts, hideButtons, availableWidth, role, isDev = false } = {}) => {
@@ -277293,7 +277312,7 @@ var Node$13 = class Node$14 {
277293
277312
  defaultItems: visibleItems,
277294
277313
  overflowItems: overflowItems.filter((item) => item.type !== "separator")
277295
277314
  };
277296
- }, _hoisted_1$10, _hoisted_2$7, ToolbarButtonIcon_default, _hoisted_1$9, _hoisted_2$6, _hoisted_3$5, _hoisted_4$4, _hoisted_5$1, _hoisted_6, _hoisted_7, _hoisted_8, _hoisted_9, _hoisted_10, _hoisted_11, _hoisted_12, ToolbarButton_default, _hoisted_1$8, ToolbarSeparator_default, _hoisted_1$7, _hoisted_2$5, _hoisted_3$4, OverflowMenu_default, _hoisted_1$6, _hoisted_2$4, _hoisted_3$3, _hoisted_4$3, ToolbarDropdown_default, SdTooltip_default, _hoisted_1$5, _hoisted_2$3, _hoisted_3$2, _hoisted_4$2, ButtonGroup_default, DEFAULT_UI_FONT_FAMILY = "Arial, Helvetica, sans-serif", Toolbar_default, toolbarTexts, getParagraphFontFamilyFromProperties = (paragraphProps, convertedXml = {}) => {
277315
+ }, _hoisted_1$10, _hoisted_2$7, ToolbarButtonIcon_default, _hoisted_1$9, _hoisted_2$6, _hoisted_3$5, _hoisted_4$4, _hoisted_5$2, _hoisted_6$1, _hoisted_7$1, _hoisted_8, _hoisted_9, _hoisted_10, _hoisted_11, _hoisted_12, ToolbarButton_default, _hoisted_1$8, ToolbarSeparator_default, _hoisted_1$7, _hoisted_2$5, _hoisted_3$4, OverflowMenu_default, _hoisted_1$6, _hoisted_2$4, _hoisted_3$3, _hoisted_4$3, ToolbarDropdown_default, SdTooltip_default, _hoisted_1$5, _hoisted_2$3, _hoisted_3$2, _hoisted_4$2, ButtonGroup_default, DEFAULT_UI_FONT_FAMILY = "Arial, Helvetica, sans-serif", Toolbar_default, toolbarTexts, getParagraphFontFamilyFromProperties = (paragraphProps, convertedXml = {}) => {
277297
277316
  const fontFamilyProps = paragraphProps?.runProperties?.fontFamily;
277298
277317
  if (!fontFamilyProps)
277299
277318
  return null;
@@ -279353,21 +279372,31 @@ var Node$13 = class Node$14 {
279353
279372
  continue;
279354
279373
  const internalIds = new Set(parseCommaSeparated(el.dataset.commentInternalIds));
279355
279374
  const primaryIsInternal = internalIds.has(ids[0]);
279375
+ const isTrackedChangeAnchored = el.classList.contains("highlighted") && (el.classList.contains("track-insert-dec") || el.classList.contains("track-delete-dec"));
279356
279376
  if (activeId == null) {
279357
- applyBgColor(el, primaryIsInternal ? H.INT : H.EXT);
279377
+ if (!isTrackedChangeAnchored)
279378
+ applyBgColor(el, primaryIsInternal ? H.INT : H.EXT);
279379
+ else
279380
+ el.style.backgroundColor = "";
279358
279381
  el.style.boxShadow = "";
279359
279382
  continue;
279360
279383
  }
279361
279384
  const matchedId = this.#resolveMatch(activeId, ids, el.dataset.commentImportedIds);
279362
279385
  if (matchedId != null) {
279363
279386
  const matchIsInternal = internalIds.has(matchedId);
279364
- applyBgColor(el, matchIsInternal ? H.INT_ACTIVE : H.EXT_ACTIVE);
279387
+ if (!isTrackedChangeAnchored)
279388
+ applyBgColor(el, matchIsInternal ? H.INT_ACTIVE : H.EXT_ACTIVE);
279389
+ else
279390
+ el.style.backgroundColor = "";
279365
279391
  if (ids.length > 1)
279366
279392
  applyBoxShadow(el, matchIsInternal ? H.INT_NESTED_BDR : H.EXT_NESTED_BDR);
279367
279393
  else
279368
279394
  el.style.boxShadow = "";
279369
279395
  } else {
279370
- applyBgColor(el, primaryIsInternal ? H.INT_FADED : H.EXT_FADED);
279396
+ if (!isTrackedChangeAnchored)
279397
+ applyBgColor(el, primaryIsInternal ? H.INT_FADED : H.EXT_FADED);
279398
+ else
279399
+ el.style.backgroundColor = "";
279371
279400
  el.style.boxShadow = "";
279372
279401
  }
279373
279402
  }
@@ -295031,13 +295060,13 @@ menclose::after {
295031
295060
  return;
295032
295061
  console.log(...args$1);
295033
295062
  }, 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;
295034
- var init_src_ChfKFC3W_es = __esm(() => {
295063
+ var init_src_COP_2qVr_es = __esm(() => {
295035
295064
  init_rolldown_runtime_Bg48TavK_es();
295036
- init_SuperConverter_Db6xeFxo_es();
295065
+ init_SuperConverter_uW_eKBtZ_es();
295037
295066
  init_jszip_C49i9kUs_es();
295038
295067
  init_xml_js_CqGKpaft_es();
295039
295068
  init_uuid_qzgm05fK_es();
295040
- init_create_headless_toolbar_BongFwHh_es();
295069
+ init_create_headless_toolbar_DanjyDw8_es();
295041
295070
  init_constants_DrU4EASo_es();
295042
295071
  init_dist_B8HfvhaK_es();
295043
295072
  init_unified_Dsuw2be5_es();
@@ -296571,8 +296600,6 @@ ${err.toString()}`);
296571
296600
  const editor = this.editor;
296572
296601
  if (editor.options?.isHeadless)
296573
296602
  return [];
296574
- let slashCooldown = false;
296575
- let slashCooldownTimeout = null;
296576
296603
  const isMenuDisabled = () => Boolean(editor.options?.disableContextMenu);
296577
296604
  const ensureStateShape = (value = {}) => ({
296578
296605
  open: false,
@@ -296580,6 +296607,7 @@ ${err.toString()}`);
296580
296607
  anchorPos: null,
296581
296608
  menuPosition: null,
296582
296609
  disabled: isMenuDisabled(),
296610
+ trigger: null,
296583
296611
  ...value
296584
296612
  });
296585
296613
  return [new Plugin({
@@ -296658,7 +296686,8 @@ ${err.toString()}`);
296658
296686
  ...value,
296659
296687
  open: true,
296660
296688
  anchorPos: meta4.pos,
296661
- menuPosition
296689
+ menuPosition,
296690
+ trigger: isRightClick ? "rightClick" : "slash"
296662
296691
  };
296663
296692
  editor.emit("contextMenu:open", { menuPosition });
296664
296693
  return ensureStateShape(newState);
@@ -296673,7 +296702,8 @@ ${err.toString()}`);
296673
296702
  return ensureStateShape({
296674
296703
  ...value,
296675
296704
  open: false,
296676
- anchorPos: null
296705
+ anchorPos: null,
296706
+ trigger: null
296677
296707
  });
296678
296708
  default:
296679
296709
  return ensureStateShape({
@@ -296695,18 +296725,12 @@ ${err.toString()}`);
296695
296725
  return { destroy() {
296696
296726
  window.removeEventListener("scroll", updatePosition$1, true);
296697
296727
  window.removeEventListener("resize", updatePosition$1);
296698
- if (slashCooldownTimeout) {
296699
- clearTimeout(slashCooldownTimeout);
296700
- slashCooldownTimeout = null;
296701
- }
296702
296728
  } };
296703
296729
  },
296704
296730
  props: { handleKeyDown(view, event) {
296705
296731
  if (isMenuDisabled())
296706
296732
  return false;
296707
296733
  const pluginState = this.getState(view.state);
296708
- if (event.key === "/" && slashCooldown)
296709
- return false;
296710
296734
  if (event.key === "/" && !pluginState.open) {
296711
296735
  const { $cursor } = view.state.selection;
296712
296736
  if (!$cursor)
@@ -296717,25 +296741,28 @@ ${err.toString()}`);
296717
296741
  if (!(!textBefore || textBefore.endsWith(" ")))
296718
296742
  return false;
296719
296743
  event.preventDefault();
296720
- slashCooldown = true;
296721
- if (slashCooldownTimeout)
296722
- clearTimeout(slashCooldownTimeout);
296723
- slashCooldownTimeout = setTimeout(() => {
296724
- slashCooldown = false;
296725
- slashCooldownTimeout = null;
296726
- }, SLASH_COOLDOWN_MS);
296727
296744
  view.dispatch(view.state.tr.setMeta(ContextMenuPluginKey, {
296728
296745
  type: "open",
296729
296746
  pos: $cursor.pos
296730
296747
  }));
296731
296748
  return true;
296732
296749
  }
296733
- if (pluginState.open && (event.key === "Escape" || event.key === "ArrowLeft")) {
296734
- const { anchorPos } = pluginState;
296750
+ if (!pluginState.open)
296751
+ return false;
296752
+ if (event.key === "Backspace" || event.key === "Delete") {
296753
+ event.preventDefault();
296754
+ view.dispatch(view.state.tr.setMeta(ContextMenuPluginKey, { type: "close" }));
296755
+ return true;
296756
+ }
296757
+ if (event.key === "Escape" || event.key === "ArrowLeft") {
296758
+ const { anchorPos, trigger } = pluginState;
296759
+ event.preventDefault();
296735
296760
  view.dispatch(view.state.tr.setMeta(ContextMenuPluginKey, { type: "close" }));
296736
- if (anchorPos !== null) {
296737
- const tr = view.state.tr.setSelection(view.state.selection.constructor.near(view.state.doc.resolve(anchorPos)));
296738
- view.dispatch(tr);
296761
+ if (trigger === "slash" && anchorPos !== null) {
296762
+ const insertTr = view.state.tr.insertText("/", anchorPos);
296763
+ const insertedAt = anchorPos + 1;
296764
+ insertTr.setSelection(view.state.selection.constructor.near(insertTr.doc.resolve(insertedAt)));
296765
+ view.dispatch(insertTr);
296739
296766
  view.focus();
296740
296767
  }
296741
296768
  return true;
@@ -312487,7 +312514,7 @@ function print() { __p += __j.call(arguments, '') }
312487
312514
  _hoisted_2$17 = { key: 0 };
312488
312515
  _hoisted_3$13 = { key: 0 };
312489
312516
  _hoisted_4$9 = { key: 1 };
312490
- _hoisted_5$6 = { key: 1 };
312517
+ _hoisted_5$7 = { key: 1 };
312491
312518
  Mentions_default = /* @__PURE__ */ __plugin_vue_export_helper_default({
312492
312519
  __name: "Mentions",
312493
312520
  props: {
@@ -312553,7 +312580,7 @@ function print() { __p += __j.call(arguments, '') }
312553
312580
  onMouseleave: _cache[0] || (_cache[0] = ($event) => activeUserIndex.value = null),
312554
312581
  key: user.email,
312555
312582
  class: exports_vue.normalizeClass(["user-row", { selected: activeUserIndex.value === index2 }])
312556
- }, [user.name ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_2$17, [user.name ? (exports_vue.openBlock(), exports_vue.createElementBlock("span", _hoisted_3$13, exports_vue.toDisplayString(user.name), 1)) : exports_vue.createCommentVNode("", true), user.name && user.email ? (exports_vue.openBlock(), exports_vue.createElementBlock("span", _hoisted_4$9, " (" + exports_vue.toDisplayString(user.email) + ")", 1)) : exports_vue.createCommentVNode("", true)])) : (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_5$6, [exports_vue.createElementVNode("span", null, exports_vue.toDisplayString(user.email), 1)]))], 42, _hoisted_1$22);
312583
+ }, [user.name ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_2$17, [user.name ? (exports_vue.openBlock(), exports_vue.createElementBlock("span", _hoisted_3$13, exports_vue.toDisplayString(user.name), 1)) : exports_vue.createCommentVNode("", true), user.name && user.email ? (exports_vue.openBlock(), exports_vue.createElementBlock("span", _hoisted_4$9, " (" + exports_vue.toDisplayString(user.email) + ")", 1)) : exports_vue.createCommentVNode("", true)])) : (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_5$7, [exports_vue.createElementVNode("span", null, exports_vue.toDisplayString(user.email), 1)]))], 42, _hoisted_1$22);
312557
312584
  }), 128))], 544);
312558
312585
  };
312559
312586
  }
@@ -313741,7 +313768,7 @@ function print() { __p += __j.call(arguments, '') }
313741
313768
  _hoisted_2$16 = ["innerHTML"];
313742
313769
  _hoisted_3$12 = ["placeholder"];
313743
313770
  _hoisted_4$8 = { class: "ai-loader" };
313744
- _hoisted_5$5 = ["innerHTML"];
313771
+ _hoisted_5$6 = ["innerHTML"];
313745
313772
  AIWriter_default = /* @__PURE__ */ __plugin_vue_export_helper_default({
313746
313773
  __name: "AIWriter",
313747
313774
  props: {
@@ -313985,7 +314012,7 @@ function print() { __p += __j.call(arguments, '') }
313985
314012
  class: "ai-textarea-icon ai-submit-button",
313986
314013
  onClick: exports_vue.withModifiers(handleSubmit, ["stop"]),
313987
314014
  innerHTML: exports_vue.unref(paper_plane_regular_default)
313988
- }, null, 8, _hoisted_5$5)) : exports_vue.createCommentVNode("", true)])], 544);
314015
+ }, null, 8, _hoisted_5$6)) : exports_vue.createCommentVNode("", true)])], 544);
313989
314016
  };
313990
314017
  }
313991
314018
  }, [["__scopeId", "data-v-79953d57"]]);
@@ -314322,8 +314349,8 @@ function print() { __p += __j.call(arguments, '') }
314322
314349
  _hoisted_2$15 = { class: "document-mode-column icon-column" };
314323
314350
  _hoisted_3$11 = ["innerHTML"];
314324
314351
  _hoisted_4$7 = { class: "document-mode-column text-column" };
314325
- _hoisted_5$4 = { class: "document-mode-type" };
314326
- _hoisted_6$2 = { class: "document-mode-description" };
314352
+ _hoisted_5$5 = { class: "document-mode-type" };
314353
+ _hoisted_6$3 = { class: "document-mode-description" };
314327
314354
  DocumentMode_default = /* @__PURE__ */ __plugin_vue_export_helper_default({
314328
314355
  __name: "DocumentMode",
314329
314356
  props: { options: { type: Array } },
@@ -314387,7 +314414,7 @@ function print() { __p += __j.call(arguments, '') }
314387
314414
  }, [exports_vue.createElementVNode("div", _hoisted_2$15, [exports_vue.createElementVNode("div", {
314388
314415
  class: "icon-column__icon",
314389
314416
  innerHTML: option.icon
314390
- }, null, 8, _hoisted_3$11)]), exports_vue.createElementVNode("div", _hoisted_4$7, [exports_vue.createElementVNode("div", _hoisted_5$4, exports_vue.toDisplayString(option.label), 1), exports_vue.createElementVNode("div", _hoisted_6$2, exports_vue.toDisplayString(option.description), 1)])], 42, _hoisted_1$18);
314417
+ }, null, 8, _hoisted_3$11)]), exports_vue.createElementVNode("div", _hoisted_4$7, [exports_vue.createElementVNode("div", _hoisted_5$5, exports_vue.toDisplayString(option.label), 1), exports_vue.createElementVNode("div", _hoisted_6$3, exports_vue.toDisplayString(option.description), 1)])], 42, _hoisted_1$18);
314391
314418
  }), 256))], 2);
314392
314419
  };
314393
314420
  }
@@ -314488,12 +314515,12 @@ function print() { __p += __j.call(arguments, '') }
314488
314515
  key: 3,
314489
314516
  class: "link-title"
314490
314517
  };
314491
- _hoisted_5$3 = {
314518
+ _hoisted_5$4 = {
314492
314519
  key: 4,
314493
314520
  class: "link-input-wrapper"
314494
314521
  };
314495
- _hoisted_6$1 = { class: "input-row text-input-row" };
314496
- _hoisted_7$1 = ["readonly"];
314522
+ _hoisted_6$2 = { class: "input-row text-input-row" };
314523
+ _hoisted_7$2 = ["readonly"];
314497
314524
  _hoisted_8$1 = { class: "input-row url-input-row" };
314498
314525
  _hoisted_9$1 = ["innerHTML"];
314499
314526
  _hoisted_10$1 = ["readonly", "onKeydown"];
@@ -314675,15 +314702,15 @@ function print() { __p += __j.call(arguments, '') }
314675
314702
  props.goToAnchor(url$1);
314676
314703
  };
314677
314704
  return (_ctx, _cache) => {
314678
- 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$16, "Page anchor")) : isViewingMode.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_2$13, "Link details")) : isEditing.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_3$10, "Edit link")) : (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_4$6, "Add link")), __props.showInput && !isAnchor.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_5$3, [
314679
- exports_vue.createElementVNode("div", _hoisted_6$1, [_cache[5] || (_cache[5] = exports_vue.createElementVNode("div", { class: "input-icon text-input-icon" }, "T", -1)), exports_vue.withDirectives(exports_vue.createElementVNode("input", {
314705
+ 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$16, "Page anchor")) : isViewingMode.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_2$13, "Link details")) : isEditing.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_3$10, "Edit link")) : (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_4$6, "Add link")), __props.showInput && !isAnchor.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_5$4, [
314706
+ exports_vue.createElementVNode("div", _hoisted_6$2, [_cache[5] || (_cache[5] = exports_vue.createElementVNode("div", { class: "input-icon text-input-icon" }, "T", -1)), exports_vue.withDirectives(exports_vue.createElementVNode("input", {
314680
314707
  type: "text",
314681
314708
  name: "text",
314682
314709
  placeholder: "Text",
314683
314710
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => text5.value = $event),
314684
314711
  readonly: isViewingMode.value,
314685
314712
  onKeydown: _cache[1] || (_cache[1] = exports_vue.withKeys(exports_vue.withModifiers(($event) => !isViewingMode.value && handleSubmit, ["stop", "prevent"]), ["enter"]))
314686
- }, null, 40, _hoisted_7$1), [[exports_vue.vModelText, text5.value]])]),
314713
+ }, null, 40, _hoisted_7$2), [[exports_vue.vModelText, text5.value]])]),
314687
314714
  exports_vue.createElementVNode("div", _hoisted_8$1, [
314688
314715
  exports_vue.createElementVNode("div", {
314689
314716
  class: "input-icon",
@@ -315119,7 +315146,7 @@ function print() { __p += __j.call(arguments, '') }
315119
315146
  ];
315120
315147
  _hoisted_3$7 = { class: "toolbar-table-actions__icon" };
315121
315148
  _hoisted_4$5 = ["innerHTML"];
315122
- _hoisted_5$2 = { class: "toolbar-table-actions__label" };
315149
+ _hoisted_5$3 = { class: "toolbar-table-actions__label" };
315123
315150
  TableActions_default = /* @__PURE__ */ __plugin_vue_export_helper_default({
315124
315151
  __name: "TableActions",
315125
315152
  props: { options: { type: Array } },
@@ -315140,7 +315167,7 @@ function print() { __p += __j.call(arguments, '') }
315140
315167
  }, [exports_vue.createElementVNode("div", _hoisted_3$7, [exports_vue.createElementVNode("div", {
315141
315168
  class: "toolbar-table-actions__icon-wrapper",
315142
315169
  innerHTML: option.icon
315143
- }, null, 8, _hoisted_4$5)]), exports_vue.createElementVNode("div", _hoisted_5$2, exports_vue.toDisplayString(option.label), 1)], 10, _hoisted_2$9);
315170
+ }, null, 8, _hoisted_4$5)]), exports_vue.createElementVNode("div", _hoisted_5$3, exports_vue.toDisplayString(option.label), 1)], 10, _hoisted_2$9);
315144
315171
  }), 256))]);
315145
315172
  };
315146
315173
  }
@@ -315387,9 +315414,9 @@ function print() { __p += __j.call(arguments, '') }
315387
315414
  key: 1,
315388
315415
  class: "button-label"
315389
315416
  };
315390
- _hoisted_5$1 = ["data-item", "aria-label"];
315391
- _hoisted_6 = ["innerHTML"];
315392
- _hoisted_7 = {
315417
+ _hoisted_5$2 = ["data-item", "aria-label"];
315418
+ _hoisted_6$1 = ["innerHTML"];
315419
+ _hoisted_7$1 = {
315393
315420
  key: 1,
315394
315421
  class: "button-label"
315395
315422
  };
@@ -315537,7 +315564,7 @@ function print() { __p += __j.call(arguments, '') }
315537
315564
  class: "dropdown-caret",
315538
315565
  innerHTML: caretIcon.value,
315539
315566
  style: exports_vue.normalizeStyle({ opacity: exports_vue.unref(disabled) ? 0.6 : 1 })
315540
- }, null, 12, _hoisted_6)], 8, _hoisted_5$1)) : (exports_vue.openBlock(), exports_vue.createElementBlock(exports_vue.Fragment, { key: 2 }, [
315567
+ }, null, 12, _hoisted_6$1)], 8, _hoisted_5$2)) : (exports_vue.openBlock(), exports_vue.createElementBlock(exports_vue.Fragment, { key: 2 }, [
315541
315568
  exports_vue.unref(icon) ? (exports_vue.openBlock(), exports_vue.createBlock(ToolbarButtonIcon_default, {
315542
315569
  key: 0,
315543
315570
  color: exports_vue.unref(iconColor),
@@ -315549,7 +315576,7 @@ function print() { __p += __j.call(arguments, '') }
315549
315576
  "icon",
315550
315577
  "name"
315551
315578
  ])) : exports_vue.createCommentVNode("", true),
315552
- exports_vue.unref(label) && !exports_vue.unref(hideLabel) && !exports_vue.unref(inlineTextInputVisible) ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_7, exports_vue.toDisplayString(exports_vue.unref(label)), 1)) : exports_vue.createCommentVNode("", true),
315579
+ exports_vue.unref(label) && !exports_vue.unref(hideLabel) && !exports_vue.unref(inlineTextInputVisible) ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_7$1, exports_vue.toDisplayString(exports_vue.unref(label)), 1)) : exports_vue.createCommentVNode("", true),
315553
315580
  exports_vue.unref(inlineTextInputVisible) ? (exports_vue.openBlock(), exports_vue.createElementBlock("span", _hoisted_8, [exports_vue.unref(name) === "fontSize" ? exports_vue.withDirectives((exports_vue.openBlock(), exports_vue.createElementBlock("input", {
315554
315581
  key: 0,
315555
315582
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => inlineTextInput.value = $event),
@@ -320906,7 +320933,7 @@ function print() { __p += __j.call(arguments, '') }
320906
320933
  }
320907
320934
  });
320908
320935
  const numberingData = this.converter.convertedXml["word/numbering.xml"];
320909
- const numbering = this.converter.schemaToXml(numberingData.elements[0]);
320936
+ const numbering = numberingData?.elements?.[0] ? this.converter.schemaToXml(numberingData.elements[0]) : null;
320910
320937
  const appXmlData = this.converter.convertedXml["docProps/app.xml"];
320911
320938
  const appXml = appXmlData?.elements?.[0] ? this.converter.schemaToXml(appXmlData.elements[0]) : null;
320912
320939
  const coreXmlData = this.converter.convertedXml["docProps/core.xml"];
@@ -320916,7 +320943,7 @@ function print() { __p += __j.call(arguments, '') }
320916
320943
  "word/document.xml": String(documentXml),
320917
320944
  "docProps/custom.xml": String(customXml),
320918
320945
  "word/_rels/document.xml.rels": String(rels),
320919
- "word/numbering.xml": String(numbering),
320946
+ ...numbering ? { "word/numbering.xml": String(numbering) } : {},
320920
320947
  "word/styles.xml": String(styles),
320921
320948
  ...updatedHeadersFooters,
320922
320949
  ...appXml ? { "docProps/app.xml": String(appXml) } : {},
@@ -333104,11 +333131,11 @@ function print() { __p += __j.call(arguments, '') }
333104
333131
  ];
333105
333132
  });
333106
333133
 
333107
- // ../../packages/superdoc/dist/chunks/create-super-doc-ui-DWR-WlL-.es.js
333134
+ // ../../packages/superdoc/dist/chunks/create-super-doc-ui-UV-HR537.es.js
333108
333135
  var 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;
333109
- var init_create_super_doc_ui_DWR_WlL_es = __esm(() => {
333110
- init_SuperConverter_Db6xeFxo_es();
333111
- init_create_headless_toolbar_BongFwHh_es();
333136
+ var init_create_super_doc_ui_UV_HR537_es = __esm(() => {
333137
+ init_SuperConverter_uW_eKBtZ_es();
333138
+ init_create_headless_toolbar_DanjyDw8_es();
333112
333139
  MOD_ALIASES = new Set([
333113
333140
  "Mod",
333114
333141
  "Meta",
@@ -333150,16 +333177,16 @@ var init_zipper_BxRAi0_5_es = __esm(() => {
333150
333177
 
333151
333178
  // ../../packages/superdoc/dist/super-editor.es.js
333152
333179
  var init_super_editor_es = __esm(() => {
333153
- init_src_ChfKFC3W_es();
333154
- init_SuperConverter_Db6xeFxo_es();
333180
+ init_src_COP_2qVr_es();
333181
+ init_SuperConverter_uW_eKBtZ_es();
333155
333182
  init_jszip_C49i9kUs_es();
333156
333183
  init_xml_js_CqGKpaft_es();
333157
- init_create_headless_toolbar_BongFwHh_es();
333184
+ init_create_headless_toolbar_DanjyDw8_es();
333158
333185
  init_constants_DrU4EASo_es();
333159
333186
  init_dist_B8HfvhaK_es();
333160
333187
  init_unified_Dsuw2be5_es();
333161
333188
  init_DocxZipper_Bphhij1P_es();
333162
- init_create_super_doc_ui_DWR_WlL_es();
333189
+ init_create_super_doc_ui_UV_HR537_es();
333163
333190
  init_ui_CGB3qmy3_es();
333164
333191
  init_eventemitter3_UwU_CLPU_es();
333165
333192
  init_errors_C_DoKMoN_es();
@@ -395391,45 +395418,68 @@ var init_generate_paragraph_properties = __esm(() => {
395391
395418
  });
395392
395419
 
395393
395420
  // ../../packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/w/p/helpers/translate-paragraph-node.js
395421
+ function foldLeadingCommentStartsIntoTrackedChanges2(elements) {
395422
+ const result = [];
395423
+ let i5 = 0;
395424
+ while (i5 < elements.length) {
395425
+ if (elements[i5]?.name !== "w:commentRangeStart") {
395426
+ result.push(elements[i5]);
395427
+ i5++;
395428
+ continue;
395429
+ }
395430
+ const leadingStarts = [];
395431
+ while (i5 < elements.length && elements[i5]?.name === "w:commentRangeStart") {
395432
+ leadingStarts.push(elements[i5]);
395433
+ i5++;
395434
+ }
395435
+ const next2 = elements[i5];
395436
+ if (isTrackedChangeWrapper2(next2)) {
395437
+ result.push({ ...next2, elements: [...leadingStarts, ...next2.elements || []] });
395438
+ i5++;
395439
+ } else {
395440
+ result.push(...leadingStarts);
395441
+ }
395442
+ }
395443
+ return result;
395444
+ }
395394
395445
  function mergeConsecutiveTrackedChanges2(elements) {
395395
395446
  if (!Array.isArray(elements) || elements.length === 0)
395396
395447
  return elements;
395448
+ elements = foldLeadingCommentStartsIntoTrackedChanges2(elements);
395397
395449
  const result = [];
395398
395450
  let i5 = 0;
395399
395451
  while (i5 < elements.length) {
395400
395452
  const current = elements[i5];
395401
- if (current?.name === "w:ins" || current?.name === "w:del") {
395453
+ if (isTrackedChangeWrapper2(current)) {
395402
395454
  const tcId = current.attributes?.["w:id"];
395403
395455
  const tcName = current.name;
395404
395456
  const mergedElements = [...current.elements || []];
395457
+ const pendingComments = [];
395458
+ let didMerge = false;
395405
395459
  let j = i5 + 1;
395406
395460
  while (j < elements.length) {
395407
395461
  const next2 = elements[j];
395408
- if (next2?.name === "w:commentRangeStart" || next2?.name === "w:commentRangeEnd") {
395409
- mergedElements.push(next2);
395462
+ if (isCommentMarker2(next2)) {
395463
+ pendingComments.push(next2);
395410
395464
  j++;
395411
395465
  continue;
395412
395466
  }
395413
- if (next2?.name === "w:r") {
395414
- const hasOnlyCommentRef = next2.elements?.length === 1 && next2.elements[0]?.name === "w:commentReference";
395415
- if (hasOnlyCommentRef) {
395416
- mergedElements.push(next2);
395417
- j++;
395418
- continue;
395419
- }
395420
- }
395421
395467
  if (next2?.name === tcName && next2.attributes?.["w:id"] === tcId) {
395422
- mergedElements.push(...next2.elements || []);
395468
+ mergedElements.push(...pendingComments, ...next2.elements || []);
395469
+ pendingComments.length = 0;
395470
+ didMerge = true;
395423
395471
  j++;
395424
395472
  continue;
395425
395473
  }
395426
395474
  break;
395427
395475
  }
395428
- result.push({
395429
- name: tcName,
395430
- attributes: { ...current.attributes },
395431
- elements: mergedElements
395432
- });
395476
+ if (didMerge) {
395477
+ result.push({ name: tcName, attributes: { ...current.attributes }, elements: mergedElements });
395478
+ result.push(...pendingComments);
395479
+ } else {
395480
+ result.push(current);
395481
+ result.push(...pendingComments);
395482
+ }
395433
395483
  i5 = j;
395434
395484
  } else {
395435
395485
  result.push(current);
@@ -395466,6 +395516,15 @@ function translateParagraphNode2(params3) {
395466
395516
  };
395467
395517
  return result;
395468
395518
  }
395519
+ var isTrackedChangeWrapper2 = (el) => el?.name === "w:ins" || el?.name === "w:del", isCommentMarker2 = (el) => {
395520
+ if (!el)
395521
+ return false;
395522
+ if (el.name === "w:commentRangeStart" || el.name === "w:commentRangeEnd")
395523
+ return true;
395524
+ if (el.name === "w:r" && el.elements?.length === 1 && el.elements[0]?.name === "w:commentReference")
395525
+ return true;
395526
+ return false;
395527
+ };
395469
395528
  var init_translate_paragraph_node = __esm(() => {
395470
395529
  init_helpers2();
395471
395530
  init_generate_paragraph_properties();
@@ -424223,8 +424282,8 @@ var detectDocumentOrigin2 = (docx) => {
424223
424282
  const trackedChangeIdMapOptions = {
424224
424283
  replacements: converter.trackedChangesOptions?.replacements ?? "paired"
424225
424284
  };
424226
- converter.trackedChangeIdMap = buildTrackedChangeIdMap2(docx, trackedChangeIdMapOptions);
424227
424285
  converter.trackedChangeIdMapsByPart = buildTrackedChangeIdMapsByPart2(docx, trackedChangeIdMapOptions);
424286
+ converter.trackedChangeIdMap = converter.trackedChangeIdMapsByPart.get("word/document.xml") ?? buildTrackedChangeIdMap2(docx, trackedChangeIdMapOptions);
424228
424287
  const comments = importCommentData2({ docx, nodeListHandler, converter, editor });
424229
424288
  const footnotes = importFootnoteData2({ docx, nodeListHandler, converter, editor, numbering });
424230
424289
  const endnotes = importEndnoteData2({ docx, nodeListHandler, converter, editor, numbering });
@@ -428314,53 +428373,25 @@ var init_citation_sources = __esm(() => {
428314
428373
  XML_TAG_TO_SIMPLE_FIELD2 = Object.freeze(Object.fromEntries(Object.entries(SIMPLE_FIELD_TO_XML_TAG2).map(([field, tag]) => [tag, field])));
428315
428374
  });
428316
428375
 
428317
- // ../../packages/super-editor/src/editors/v1/core/super-converter/export-helpers/strip-orphaned-numbering.js
428318
- function collectReferencedNumIds2(convertedXml) {
428319
- const numIds = new Set;
428320
- function walkElements3(elements) {
428321
- if (!Array.isArray(elements))
428322
- return;
428323
- for (const el of elements) {
428324
- if (!el || typeof el !== "object")
428325
- continue;
428326
- if (el.name === "w:numId" && el.attributes?.["w:val"] != null) {
428327
- numIds.add(Number(el.attributes["w:val"]));
428328
- }
428329
- if (el.elements)
428330
- walkElements3(el.elements);
428331
- }
428332
- }
428333
- for (const [path3, xml2] of Object.entries(convertedXml)) {
428334
- if (path3.startsWith("word/") && path3 !== "word/numbering.xml" && xml2?.elements) {
428335
- walkElements3(xml2.elements);
428336
- }
428337
- }
428338
- return numIds;
428339
- }
428340
- function getAbstractNumIdFromDef2(numDef) {
428341
- const abstractEl = numDef.elements?.find((el) => el.name === "w:abstractNumId");
428342
- if (abstractEl?.attributes?.["w:val"] != null) {
428343
- return Number(abstractEl.attributes["w:val"]);
428344
- }
428345
- return;
428346
- }
428347
- function filterOrphanedNumberingDefinitions2(numbering, referencedNumIds) {
428348
- const liveDefinitions = Object.values(numbering.definitions).filter((def) => referencedNumIds.has(Number(def.attributes?.["w:numId"])));
428349
- const referencedAbstractIds = new Set;
428350
- for (const def of liveDefinitions) {
428351
- const abstractId = getAbstractNumIdFromDef2(def);
428352
- if (abstractId != null) {
428353
- referencedAbstractIds.add(abstractId);
428354
- }
428355
- }
428356
- const liveAbstracts = Object.values(numbering.abstracts).filter((abs3) => referencedAbstractIds.has(Number(abs3.attributes?.["w:abstractNumId"])));
428357
- return { liveAbstracts, liveDefinitions };
428358
- }
428359
-
428360
428376
  // ../../packages/super-editor/src/editors/v1/core/super-converter/SuperConverter.js
428361
428377
  function generateCustomXml2() {
428362
428378
  return DEFAULT_CUSTOM_XML2;
428363
428379
  }
428380
+ function hasBodyNumberingReferences2(documentXml) {
428381
+ if (!documentXml || typeof documentXml !== "object")
428382
+ return false;
428383
+ const stack = Array.isArray(documentXml.elements) ? [...documentXml.elements] : [];
428384
+ while (stack.length) {
428385
+ const node4 = stack.pop();
428386
+ if (!node4 || typeof node4 !== "object")
428387
+ continue;
428388
+ if (node4.name === "w:numPr")
428389
+ return true;
428390
+ if (Array.isArray(node4.elements))
428391
+ stack.push(...node4.elements);
428392
+ }
428393
+ return false;
428394
+ }
428364
428395
  var xmljs2, FONT_FAMILY_FALLBACKS3, DEFAULT_GENERIC_FALLBACK3 = "sans-serif", DEFAULT_FONT_SIZE_PT2 = 10, CURRENT_APP_VERSION3, collectRunDefaultProperties2 = (runProps, { allowOverrideTypeface = true, allowOverrideSize = true, themeResolver, state }) => {
428365
428396
  if (!runProps?.elements?.length || !state)
428366
428397
  return;
@@ -429257,14 +429288,18 @@ var init_SuperConverter = __esm(() => {
429257
429288
  }
429258
429289
  #exportNumberingFile() {
429259
429290
  const numberingPath = "word/numbering.xml";
429291
+ const sourceHadNumberingXml = Boolean(this.convertedXml[numberingPath]);
429260
429292
  let numberingXml = this.convertedXml[numberingPath];
429261
429293
  if (!numberingXml)
429262
429294
  numberingXml = baseNumbering2;
429263
429295
  const currentNumberingXml = numberingXml.elements[0];
429264
- const referencedNumIds = collectReferencedNumIds2(this.convertedXml);
429296
+ if (!sourceHadNumberingXml && !hasBodyNumberingReferences2(this.convertedXml["word/document.xml"])) {
429297
+ return;
429298
+ }
429265
429299
  if (this.numbering?.definitions && this.numbering?.abstracts) {
429266
- const { liveAbstracts, liveDefinitions } = filterOrphanedNumberingDefinitions2(this.numbering, referencedNumIds);
429267
- currentNumberingXml.elements = [...liveAbstracts, ...liveDefinitions];
429300
+ const abstracts = Object.values(this.numbering.abstracts);
429301
+ const definitions = Object.values(this.numbering.definitions);
429302
+ currentNumberingXml.elements = [...abstracts, ...definitions];
429268
429303
  } else {
429269
429304
  currentNumberingXml.elements = [];
429270
429305
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superdoc-dev/mcp",
3
- "version": "0.3.0-next.97",
3
+ "version": "0.3.0-next.99",
4
4
  "type": "module",
5
5
  "engines": {
6
6
  "node": ">=20"