@superdoc-dev/cli 0.8.0-next.77 → 0.8.0-next.79

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 +1036 -382
  2. package/package.json +8 -8
package/dist/index.js CHANGED
@@ -65823,7 +65823,7 @@ var init_remark_gfm_BhnWr3yf_es = __esm(() => {
65823
65823
  emptyOptions2 = {};
65824
65824
  });
65825
65825
 
65826
- // ../../packages/superdoc/dist/chunks/SuperConverter-ing-1fvK.es.js
65826
+ // ../../packages/superdoc/dist/chunks/SuperConverter-D1o6_yKI.es.js
65827
65827
  function getExtensionConfigField(extension$1, field, context = { name: "" }) {
65828
65828
  const fieldValue = extension$1.config[field];
65829
65829
  if (typeof fieldValue === "function")
@@ -85391,7 +85391,7 @@ function updateNumberingProperties(newNumberingProperties, paragraphNode, pos, e
85391
85391
  ...paragraphNode.attrs.paragraphProperties || {},
85392
85392
  numberingProperties: newNumberingProperties ? { ...newNumberingProperties } : null
85393
85393
  };
85394
- if (paragraphNode.attrs.paragraphProperties?.styleId === "ListParagraph")
85394
+ if (!newNumberingProperties && paragraphNode.attrs.paragraphProperties?.styleId === "ListParagraph")
85395
85395
  newProperties.styleId = null;
85396
85396
  if (newProperties.indent)
85397
85397
  delete newProperties.indent;
@@ -85436,7 +85436,7 @@ function refreshAbstractIdentity(abstractDef) {
85436
85436
  }
85437
85437
  function generateNewListDefinition(numbering, options) {
85438
85438
  let { listType } = options;
85439
- const { numId, level, start, text: text$2, fmt, markerFontFamily, bulletStyle, bulletStyleLevel } = options;
85439
+ const { numId, level, start, text: text$2, fmt, markerFontFamily, bulletStyle, bulletStyleLevel, orderedStyle, orderedStyleLevel } = options;
85440
85440
  if (typeof listType !== "string")
85441
85441
  listType = listType.name;
85442
85442
  const definition$1 = listType === "orderedList" ? baseOrderedListDef : baseBulletList;
@@ -85465,6 +85465,61 @@ function generateNewListDefinition(numbering, options) {
85465
85465
  }
85466
85466
  }
85467
85467
  }
85468
+ if (orderedStyle && listType === "orderedList") {
85469
+ const styleConfig = ORDERED_LIST_STYLES[orderedStyle];
85470
+ if (styleConfig) {
85471
+ const targetLevel = Math.max(0, Number.isFinite(orderedStyleLevel) ? orderedStyleLevel : 0);
85472
+ const targetLevelStr = String(targetLevel);
85473
+ const lvl = newAbstractDef.elements.find((el) => el.name === "w:lvl" && el.attributes["w:ilvl"] === targetLevelStr);
85474
+ if (lvl) {
85475
+ const numFmt = lvl.elements.find((el) => el.name === "w:numFmt");
85476
+ if (numFmt)
85477
+ numFmt.attributes["w:val"] = styleConfig.fmt;
85478
+ const lvlText = lvl.elements.find((el) => el.name === "w:lvlText");
85479
+ if (lvlText)
85480
+ lvlText.attributes["w:val"] = `%${targetLevel + 1}${styleConfig.text.replace(/^%\d+/, "")}`;
85481
+ const defaultLvlJc = DEFAULT_LVL_JC_BY_FMT[styleConfig.fmt];
85482
+ if (defaultLvlJc) {
85483
+ const lvlJc = lvl.elements.find((el) => el.name === "w:lvlJc");
85484
+ if (lvlJc)
85485
+ lvlJc.attributes["w:val"] = defaultLvlJc;
85486
+ else
85487
+ lvl.elements.push({
85488
+ type: "element",
85489
+ name: "w:lvlJc",
85490
+ attributes: { "w:val": defaultLvlJc }
85491
+ });
85492
+ }
85493
+ const defaultHanging = DEFAULT_HANGING_BY_FMT[styleConfig.fmt];
85494
+ if (defaultHanging != null) {
85495
+ let pPr = lvl.elements.find((el) => el.name === "w:pPr");
85496
+ if (!pPr) {
85497
+ pPr = {
85498
+ type: "element",
85499
+ name: "w:pPr",
85500
+ elements: []
85501
+ };
85502
+ lvl.elements.push(pPr);
85503
+ }
85504
+ if (!pPr.elements)
85505
+ pPr.elements = [];
85506
+ let ind = pPr.elements.find((el) => el.name === "w:ind");
85507
+ if (!ind) {
85508
+ ind = {
85509
+ type: "element",
85510
+ name: "w:ind",
85511
+ attributes: { "w:hanging": String(defaultHanging) }
85512
+ };
85513
+ pPr.elements.push(ind);
85514
+ } else
85515
+ ind.attributes = {
85516
+ ...ind.attributes || {},
85517
+ "w:hanging": String(defaultHanging)
85518
+ };
85519
+ }
85520
+ }
85521
+ }
85522
+ }
85468
85523
  if (level != null && start != null && text$2 != null && fmt != null) {
85469
85524
  if (numbering.definitions[numId]) {
85470
85525
  const abstractId = numbering.definitions[numId]?.elements[0]?.attributes["w:val"];
@@ -85687,6 +85742,126 @@ function setLvlRestartOnAbstract(numbering, abstractNumId, ilvl, restartAfterLev
85687
85742
  });
85688
85743
  return true;
85689
85744
  }
85745
+ function setLvlStyleOnAbstract(numbering, abstractNumId, ilvl, options) {
85746
+ const abstract = numbering.abstracts[abstractNumId];
85747
+ if (!abstract?.elements)
85748
+ return false;
85749
+ const ilvlStr = String(ilvl);
85750
+ const lvlEl = abstract.elements.find((el) => el.name === "w:lvl" && el.attributes?.["w:ilvl"] === ilvlStr);
85751
+ if (!lvlEl)
85752
+ return false;
85753
+ if (!lvlEl.elements)
85754
+ lvlEl.elements = [];
85755
+ const setOrAddChild = (name, value) => {
85756
+ const existing = lvlEl.elements.find((el) => el.name === name);
85757
+ if (existing) {
85758
+ if (existing.attributes?.["w:val"] === value)
85759
+ return false;
85760
+ existing.attributes = {
85761
+ ...existing.attributes || {},
85762
+ "w:val": value
85763
+ };
85764
+ return true;
85765
+ }
85766
+ lvlEl.elements.push({
85767
+ type: "element",
85768
+ name,
85769
+ attributes: { "w:val": value }
85770
+ });
85771
+ return true;
85772
+ };
85773
+ const stripMarkerFont = () => {
85774
+ const rPr = lvlEl.elements.find((el) => el.name === "w:rPr");
85775
+ if (!rPr?.elements?.some((el) => el.name === "w:rFonts"))
85776
+ return false;
85777
+ rPr.elements = rPr.elements.filter((el) => el.name !== "w:rFonts");
85778
+ return true;
85779
+ };
85780
+ let numFmtValue = null;
85781
+ let lvlTextValue = null;
85782
+ let lvlJcValue = null;
85783
+ let hangingValue = null;
85784
+ if (options.bulletStyle) {
85785
+ const char = BULLET_STYLE_CHARS[options.bulletStyle];
85786
+ if (!char)
85787
+ return false;
85788
+ numFmtValue = "bullet";
85789
+ lvlTextValue = char;
85790
+ } else if (options.orderedStyle) {
85791
+ const config$40 = ORDERED_LIST_STYLES[options.orderedStyle];
85792
+ if (!config$40)
85793
+ return false;
85794
+ numFmtValue = config$40.fmt;
85795
+ lvlTextValue = `%${ilvl + 1}${config$40.text.replace(/^%\d+/, "")}`;
85796
+ lvlJcValue = DEFAULT_LVL_JC_BY_FMT[config$40.fmt] ?? null;
85797
+ hangingValue = DEFAULT_HANGING_BY_FMT[config$40.fmt] ?? null;
85798
+ } else
85799
+ return false;
85800
+ const setHangingOnLevel = (hanging) => {
85801
+ let pPr = lvlEl.elements.find((el) => el.name === "w:pPr");
85802
+ if (!pPr) {
85803
+ pPr = {
85804
+ type: "element",
85805
+ name: "w:pPr",
85806
+ elements: []
85807
+ };
85808
+ lvlEl.elements.push(pPr);
85809
+ }
85810
+ if (!pPr.elements)
85811
+ pPr.elements = [];
85812
+ let ind = pPr.elements.find((el) => el.name === "w:ind");
85813
+ if (!ind) {
85814
+ ind = {
85815
+ type: "element",
85816
+ name: "w:ind",
85817
+ attributes: { "w:hanging": String(hanging) }
85818
+ };
85819
+ pPr.elements.push(ind);
85820
+ return true;
85821
+ }
85822
+ if (ind.attributes?.["w:hanging"] === String(hanging))
85823
+ return false;
85824
+ ind.attributes = {
85825
+ ...ind.attributes || {},
85826
+ "w:hanging": String(hanging)
85827
+ };
85828
+ return true;
85829
+ };
85830
+ let changed = false;
85831
+ if (setOrAddChild("w:numFmt", numFmtValue))
85832
+ changed = true;
85833
+ if (setOrAddChild("w:lvlText", lvlTextValue))
85834
+ changed = true;
85835
+ if (lvlJcValue != null && setOrAddChild("w:lvlJc", lvlJcValue))
85836
+ changed = true;
85837
+ if (hangingValue != null && setHangingOnLevel(hangingValue))
85838
+ changed = true;
85839
+ if (stripMarkerFont())
85840
+ changed = true;
85841
+ return changed;
85842
+ }
85843
+ function cloneListDefinitionWithLevelStyle(numbering, sourceNumId, ilvl, options) {
85844
+ const sourceAbstractIdRaw = numbering.definitions[sourceNumId]?.elements?.find((el) => el.name === "w:abstractNumId")?.attributes?.["w:val"];
85845
+ const sourceAbstractId = sourceAbstractIdRaw != null ? Number(sourceAbstractIdRaw) : NaN;
85846
+ const sourceAbstract = Number.isFinite(sourceAbstractId) ? numbering.abstracts[sourceAbstractId] : undefined;
85847
+ if (!sourceAbstract)
85848
+ return null;
85849
+ const newAbstractId = getNextId(numbering.abstracts);
85850
+ const newAbstractDef = JSON.parse(JSON.stringify(sourceAbstract));
85851
+ newAbstractDef.attributes = {
85852
+ ...newAbstractDef.attributes || {},
85853
+ "w:abstractNumId": String(newAbstractId)
85854
+ };
85855
+ refreshAbstractIdentity(newAbstractDef);
85856
+ numbering.abstracts[newAbstractId] = newAbstractDef;
85857
+ setLvlStyleOnAbstract(numbering, newAbstractId, ilvl, options);
85858
+ const newNumId = getNextId(numbering.definitions);
85859
+ numbering.definitions[newNumId] = buildNumDef(newNumId, newAbstractId);
85860
+ return {
85861
+ newNumId,
85862
+ newAbstractId
85863
+ };
85864
+ }
85690
85865
  function getConverter$8(editor) {
85691
85866
  return editor.converter;
85692
85867
  }
@@ -85773,6 +85948,26 @@ function mutateNumbering(editor, source, transform, options) {
85773
85948
  }
85774
85949
  });
85775
85950
  }
85951
+ function mutateNumberingBatch(editor, source, transforms, options) {
85952
+ return mutateParts({
85953
+ editor,
85954
+ source,
85955
+ dryRun: options?.dryRun,
85956
+ expectedRevision: options?.expectedRevision,
85957
+ operations: [{
85958
+ editor,
85959
+ partId: "word/numbering.xml",
85960
+ operation: "mutate",
85961
+ source,
85962
+ mutate({ part }) {
85963
+ const numbering = getNumbering(editor);
85964
+ for (const transform of transforms)
85965
+ transform(numbering);
85966
+ syncNumberingToXmlTree(part, numbering);
85967
+ }
85968
+ }]
85969
+ });
85970
+ }
85776
85971
  function markerTextToBulletStyle(markerText) {
85777
85972
  return {
85778
85973
  "•": "disc",
@@ -85780,6 +85975,25 @@ function markerTextToBulletStyle(markerText) {
85780
85975
  "▪": "square"
85781
85976
  }[markerText] ?? null;
85782
85977
  }
85978
+ function numberingInfoToOrderedStyle(numFmt, markerText) {
85979
+ const suffix = markerText?.slice(-1);
85980
+ return {
85981
+ decimal: {
85982
+ ".": "decimal",
85983
+ ")": "decimal-paren"
85984
+ },
85985
+ upperRoman: { ".": "upper-roman" },
85986
+ lowerRoman: { ".": "lower-roman" },
85987
+ upperLetter: {
85988
+ ".": "upper-alpha",
85989
+ ")": "upper-alpha-paren"
85990
+ },
85991
+ lowerLetter: {
85992
+ ".": "lower-alpha",
85993
+ ")": "lower-alpha-paren"
85994
+ }
85995
+ }[numFmt]?.[suffix] ?? null;
85996
+ }
85783
85997
  function normalizeCssValue(value) {
85784
85998
  if (!value)
85785
85999
  return value;
@@ -109625,13 +109839,14 @@ var isRegExp = (value) => {
109625
109839
  default:
109626
109840
  return null;
109627
109841
  }
109628
- }, SKIP_FIELD_PROCESSING_NODE_NAMES$1, shouldSkipFieldProcessing$1 = (node3) => SKIP_FIELD_PROCESSING_NODE_NAMES$1.has(node3?.name), preProcessNodesForFldChar = (nodes = [], docx) => {
109842
+ }, TRACK_CHANGE_ELEMENT_NAMES, TRANSLATED_TRACK_CHANGE_ELEMENT_NAMES, isTrackChangeElement = (node3) => TRACK_CHANGE_ELEMENT_NAMES.has(node3?.name), isTranslatedTrackChangeElement = (node3) => TRANSLATED_TRACK_CHANGE_ELEMENT_NAMES.has(node3?.name), SKIP_FIELD_PROCESSING_NODE_NAMES$1, shouldSkipFieldProcessing$1 = (node3) => SKIP_FIELD_PROCESSING_NODE_NAMES$1.has(node3?.name), preProcessNodesForFldChar = (nodes = [], docx) => {
109629
109843
  const processedNodes = [];
109630
109844
  let collectedNodesStack = [];
109631
109845
  let rawCollectedNodesStack = [];
109632
109846
  let fieldRunRPrStack = [];
109633
109847
  let currentFieldStack = [];
109634
109848
  let unpairedEnd = null;
109849
+ let unpairedEndPreserveRaw = null;
109635
109850
  let collecting = false;
109636
109851
  const rawNodeSourceTokens = /* @__PURE__ */ new WeakMap;
109637
109852
  const finalizeField = () => {
@@ -109640,8 +109855,11 @@ var isRegExp = (value) => {
109640
109855
  const rawCollectedNodes = rawCollectedNodesStack.pop().filter((n) => n !== null);
109641
109856
  const fieldRunRPr = fieldRunRPrStack.pop() ?? null;
109642
109857
  const currentField = currentFieldStack.pop();
109643
- const combinedResult = _processCombinedNodesForFldChar(collectedNodes, currentField.instrText.trim(), docx, currentField.instructionTokens, fieldRunRPr);
109644
- const outputNodes = combinedResult.handled ? combinedResult.nodes : rawCollectedNodes;
109858
+ let outputNodes = rawCollectedNodes;
109859
+ if (!currentField.preserveRaw) {
109860
+ const combinedResult = _processCombinedNodesForFldChar(collectedNodes, currentField.instrText.trim(), docx, currentField.instructionTokens, fieldRunRPr);
109861
+ outputNodes = combinedResult.handled ? combinedResult.nodes : rawCollectedNodes;
109862
+ }
109645
109863
  if (collectedNodesStack.length === 0)
109646
109864
  processedNodes.push(...outputNodes);
109647
109865
  else {
@@ -109749,7 +109967,10 @@ var isRegExp = (value) => {
109749
109967
  node3.elements = childResult.processedNodes;
109750
109968
  if (childResult.unpairedBegin)
109751
109969
  childResult.unpairedBegin.forEach((pendingField) => {
109752
- currentFieldStack.push(pendingField.fieldInfo);
109970
+ const fieldInfo = { ...pendingField.fieldInfo };
109971
+ if (fieldInfo.preserveRaw || isTrackChangeElement(node3))
109972
+ fieldInfo.preserveRaw = true;
109973
+ currentFieldStack.push(fieldInfo);
109753
109974
  collectedNodesStack.push([node3]);
109754
109975
  const rawStack = [rawNode];
109755
109976
  rawCollectedNodesStack.push(rawStack);
@@ -109757,6 +109978,16 @@ var isRegExp = (value) => {
109757
109978
  capturedRawNodes.add(rawNode);
109758
109979
  });
109759
109980
  else if (childResult.unpairedEnd) {
109981
+ const shouldPreserveRaw = childResult.unpairedEndPreserveRaw || isTrackChangeElement(node3);
109982
+ if (collectedNodesStack.length === 0) {
109983
+ processedNodes.push(shouldPreserveRaw ? rawNode : node3);
109984
+ unpairedEnd = true;
109985
+ if (shouldPreserveRaw)
109986
+ unpairedEndPreserveRaw = true;
109987
+ return;
109988
+ }
109989
+ if (shouldPreserveRaw)
109990
+ currentFieldStack[currentFieldStack.length - 1].preserveRaw = true;
109760
109991
  collectedNodesStack[collectedNodesStack.length - 1].push(node3);
109761
109992
  captureRawNodeForCurrentField(rawNode, capturedRawNodes, rawSourceToken);
109762
109993
  finalizeField();
@@ -109795,7 +110026,8 @@ var isRegExp = (value) => {
109795
110026
  return {
109796
110027
  processedNodes,
109797
110028
  unpairedBegin,
109798
- unpairedEnd
110029
+ unpairedEnd,
110030
+ unpairedEndPreserveRaw
109799
110031
  };
109800
110032
  }, _processCombinedNodesForFldChar = (nodesToCombine = [], instrText, docx, instructionTokens, fieldRunRPr) => {
109801
110033
  const instructionType = instrText.trim().split(" ")[0];
@@ -112797,14 +113029,11 @@ var isRegExp = (value) => {
112797
113029
  }
112798
113030
  return result;
112799
113031
  }, intToAlpha = (num) => {
112800
- let result = "";
112801
- const alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
112802
- let value = num;
112803
- while (value > 0) {
112804
- result = alphabet[(value - 1) % 26] + result;
112805
- value = Math.floor((value - 1) / 26);
112806
- }
112807
- return result;
113032
+ if (num < 1)
113033
+ return "";
113034
+ const letter = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"[(num - 1) % 26];
113035
+ const repeats = Math.floor((num - 1) / 26) + 1;
113036
+ return letter.repeat(repeats);
112808
113037
  }, intToJapaneseCounting = (num) => {
112809
113038
  const digits = [
112810
113039
  "",
@@ -113152,7 +113381,7 @@ var isRegExp = (value) => {
113152
113381
  updateNumberingProperties(numberingProperties, node3, pos, editor, tr);
113153
113382
  });
113154
113383
  return true;
113155
- }, BULLET_STYLE_CHARS, NUMBERING_PART_ID = "word/numbering.xml", NUMBERING_ROOT_ATTRS, numberingPartDescriptor, generateNewListDefinition$1 = ({ numId, listType, level, start, text: text$2, fmt, editor, markerFontFamily, bulletStyle, bulletStyleLevel }) => {
113384
+ }, BULLET_STYLE_CHARS, ORDERED_LIST_STYLES, DEFAULT_LVL_JC_BY_FMT, DEFAULT_HANGING_BY_FMT, NUMBERING_PART_ID = "word/numbering.xml", NUMBERING_ROOT_ATTRS, numberingPartDescriptor, generateNewListDefinition$1 = ({ numId, listType, level, start, text: text$2, fmt, editor, markerFontFamily, bulletStyle, bulletStyleLevel, orderedStyle, orderedStyleLevel }) => {
113156
113385
  let resultDefs;
113157
113386
  mutateNumbering(editor, "list-numbering-helpers:generateNewListDefinition", (numbering) => {
113158
113387
  const result = generateNewListDefinition(numbering, {
@@ -113164,7 +113393,9 @@ var isRegExp = (value) => {
113164
113393
  fmt,
113165
113394
  markerFontFamily,
113166
113395
  bulletStyle,
113167
- bulletStyleLevel
113396
+ bulletStyleLevel,
113397
+ orderedStyle,
113398
+ orderedStyleLevel
113168
113399
  });
113169
113400
  resultDefs = {
113170
113401
  abstractDef: result.abstractDef,
@@ -113411,6 +113642,46 @@ var isRegExp = (value) => {
113411
113642
  mutateNumbering(editor, "list-numbering-helpers:setLvlRestartOnAbstract", (numbering) => {
113412
113643
  setLvlRestartOnAbstract(numbering, abstractNumId, ilvl, restartAfterLevel);
113413
113644
  });
113645
+ }, setListLevelStyles = ({ editor, levels }) => {
113646
+ if (!levels?.length)
113647
+ return false;
113648
+ const resolved = [];
113649
+ for (const level of levels) {
113650
+ const abstractIdRaw = getListDefinitionDetails({
113651
+ numId: level.numId,
113652
+ level: level.ilvl,
113653
+ editor
113654
+ })?.abstractId;
113655
+ const abstractNumId = abstractIdRaw != null ? Number(abstractIdRaw) : NaN;
113656
+ if (!Number.isFinite(abstractNumId))
113657
+ continue;
113658
+ resolved.push({
113659
+ abstractNumId,
113660
+ ilvl: level.ilvl,
113661
+ bulletStyle: level.bulletStyle,
113662
+ orderedStyle: level.orderedStyle
113663
+ });
113664
+ }
113665
+ if (!resolved.length)
113666
+ return false;
113667
+ let anyChanged = false;
113668
+ mutateNumberingBatch(editor, "list-numbering-helpers:setListLevelStyles", resolved.map(({ abstractNumId, ilvl, bulletStyle, orderedStyle }) => (numbering) => {
113669
+ if (setLvlStyleOnAbstract(numbering, abstractNumId, ilvl, {
113670
+ bulletStyle,
113671
+ orderedStyle
113672
+ }))
113673
+ anyChanged = true;
113674
+ }));
113675
+ return anyChanged;
113676
+ }, cloneListDefinitionWithLevelStyle$1 = ({ editor, sourceNumId, ilvl, bulletStyle, orderedStyle }) => {
113677
+ let result = null;
113678
+ mutateNumbering(editor, "list-numbering-helpers:cloneListDefinitionWithLevelStyle", (numbering) => {
113679
+ result = cloneListDefinitionWithLevelStyle(numbering, sourceNumId, ilvl, {
113680
+ bulletStyle,
113681
+ orderedStyle
113682
+ });
113683
+ });
113684
+ return result;
113414
113685
  }, ListHelpers, extractListLevelStyles = (cssText, listId, level, numId) => {
113415
113686
  const pattern = new RegExp(`@list\\s+l${listId}:level${level}(?:\\s+lfo${numId})?\\s*\\{([^}]+)\\}`, "i");
113416
113687
  const match = cssText.match(pattern);
@@ -115977,10 +116248,10 @@ var isRegExp = (value) => {
115977
116248
  }
115978
116249
  });
115979
116250
  return subs;
115980
- }, config$5, translator$81, isTrackChangeElement = (node3) => node3?.name === "w:del" || node3?.name === "w:ins", unwrapTrackChangeNode = (node3) => {
116251
+ }, config$5, translator$81, unwrapTrackChangeNode = (node3) => {
115981
116252
  if (!node3)
115982
116253
  return null;
115983
- if (isTrackChangeElement(node3))
116254
+ if (isTranslatedTrackChangeElement(node3))
115984
116255
  return node3;
115985
116256
  if (node3.name === "w:sdt") {
115986
116257
  const content$2 = node3.elements?.find((element) => element.name === "w:sdtContent");
@@ -117415,11 +117686,11 @@ var isRegExp = (value) => {
117415
117686
  };
117416
117687
  return nodeListHandlerFn;
117417
117688
  }, DEFAULT_SECTION_PROPS, importHeadersFooters = (docx, converter, mainEditor, numbering, translatedNumbering, translatedLinkedStyles) => {
117418
- const { elements } = docx["word/_rels/document.xml.rels"]?.elements.find((el) => el.name === "Relationships") || { elements: [] };
117689
+ const elements = docx["word/_rels/document.xml.rels"]?.elements?.find((el) => el.name === "Relationships")?.elements ?? [];
117419
117690
  const headerType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header";
117420
117691
  const footerType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer";
117421
- const headers = elements.filter((el) => el.attributes["Type"] === headerType);
117422
- const footers = elements.filter((el) => el.attributes["Type"] === footerType);
117692
+ const headers = elements.filter((el) => el.attributes?.["Type"] === headerType);
117693
+ const footers = elements.filter((el) => el.attributes?.["Type"] === footerType);
117423
117694
  const allSectPrElements = (findSectPr(docx["word/document.xml"]) || []).flatMap((el) => el.elements);
117424
117695
  if (!mainEditor)
117425
117696
  return;
@@ -118393,7 +118664,7 @@ var isRegExp = (value) => {
118393
118664
  state.kern = kernNode.attributes["w:val"];
118394
118665
  }
118395
118666
  }, SuperConverter;
118396
- var init_SuperConverter_ing_1fvK_es = __esm(() => {
118667
+ var init_SuperConverter_D1o6_yKI_es = __esm(() => {
118397
118668
  init_rolldown_runtime_Bg48TavK_es();
118398
118669
  init_jszip_C49i9kUs_es();
118399
118670
  init_xml_js_CqGKpaft_es();
@@ -146303,6 +146574,13 @@ var init_SuperConverter_ing_1fvK_es = __esm(() => {
146303
146574
  })(UTIF, pako$1);
146304
146575
  })();
146305
146576
  }))(), 1);
146577
+ TRACK_CHANGE_ELEMENT_NAMES = new Set([
146578
+ "w:del",
146579
+ "w:ins",
146580
+ "w:moveFrom",
146581
+ "w:moveTo"
146582
+ ]);
146583
+ TRANSLATED_TRACK_CHANGE_ELEMENT_NAMES = new Set(["w:del", "w:ins"]);
146306
146584
  SKIP_FIELD_PROCESSING_NODE_NAMES$1 = new Set(["w:drawing", "w:pict"]);
146307
146585
  FIELD_CONTROL_ELEMENT_NAMES = new Set(["w:fldChar"]);
146308
146586
  INSTRUCTION_ELEMENT_NAMES = new Set(["w:instrText", "w:tab"]);
@@ -148772,6 +149050,54 @@ var init_SuperConverter_ing_1fvK_es = __esm(() => {
148772
149050
  circle: "◦",
148773
149051
  square: "▪"
148774
149052
  };
149053
+ ORDERED_LIST_STYLES = {
149054
+ decimal: {
149055
+ fmt: "decimal",
149056
+ text: "%1."
149057
+ },
149058
+ "decimal-paren": {
149059
+ fmt: "decimal",
149060
+ text: "%1)"
149061
+ },
149062
+ "upper-roman": {
149063
+ fmt: "upperRoman",
149064
+ text: "%1."
149065
+ },
149066
+ "lower-roman": {
149067
+ fmt: "lowerRoman",
149068
+ text: "%1."
149069
+ },
149070
+ "upper-alpha": {
149071
+ fmt: "upperLetter",
149072
+ text: "%1."
149073
+ },
149074
+ "upper-alpha-paren": {
149075
+ fmt: "upperLetter",
149076
+ text: "%1)"
149077
+ },
149078
+ "lower-alpha": {
149079
+ fmt: "lowerLetter",
149080
+ text: "%1."
149081
+ },
149082
+ "lower-alpha-paren": {
149083
+ fmt: "lowerLetter",
149084
+ text: "%1)"
149085
+ }
149086
+ };
149087
+ DEFAULT_LVL_JC_BY_FMT = {
149088
+ decimal: "left",
149089
+ upperRoman: "right",
149090
+ lowerRoman: "right",
149091
+ upperLetter: "left",
149092
+ lowerLetter: "left"
149093
+ };
149094
+ DEFAULT_HANGING_BY_FMT = {
149095
+ decimal: 360,
149096
+ upperRoman: 180,
149097
+ lowerRoman: 180,
149098
+ upperLetter: 360,
149099
+ lowerLetter: 360
149100
+ };
148775
149101
  NUMBERING_ROOT_ATTRS = {
148776
149102
  "xmlns:w": "http://schemas.openxmlformats.org/wordprocessingml/2006/main",
148777
149103
  "xmlns:w15": "http://schemas.microsoft.com/office/word/2012/wordml",
@@ -148849,6 +149175,8 @@ var init_SuperConverter_ing_1fvK_es = __esm(() => {
148849
149175
  removeLvlOverride: removeLvlOverride$1,
148850
149176
  createNumDefinition: createNumDefinition$1,
148851
149177
  setLvlRestartOnAbstract: setLvlRestartOnAbstract$1,
149178
+ setListLevelStyles,
149179
+ cloneListDefinitionWithLevelStyle: cloneListDefinitionWithLevelStyle$1,
148852
149180
  rebuildRawNumberingFromTranslated,
148853
149181
  createNewList,
148854
149182
  createSchemaOrderedListNode,
@@ -155994,7 +156322,7 @@ var init_SuperConverter_ing_1fvK_es = __esm(() => {
155994
156322
  };
155995
156323
  });
155996
156324
 
155997
- // ../../packages/superdoc/dist/chunks/create-headless-toolbar-CUl2z6Fd.es.js
156325
+ // ../../packages/superdoc/dist/chunks/create-headless-toolbar-CJ0iQq1T.es.js
155998
156326
  function parseSizeUnit(val = "0") {
155999
156327
  const length3 = val.toString() || "0";
156000
156328
  const value = Number.parseFloat(length3);
@@ -158289,15 +158617,27 @@ var CSS_DIMENSION_REGEX, DOM_SIZE_UNITS, Extension = class Extension2 {
158289
158617
  disabled: false,
158290
158618
  value: isActive2 ? paragraphNode?.attrs?.listRendering?.markerText ?? null : null
158291
158619
  };
158620
+ const activeNumberingFmt = isActive2 ? paragraphNode?.attrs?.listRendering?.numberingType ?? null : null;
158621
+ const activeMarkerText = isActive2 ? paragraphNode?.attrs?.listRendering?.markerText ?? null : null;
158292
158622
  return {
158293
158623
  active: isActive2,
158294
- disabled: false
158624
+ disabled: false,
158625
+ value: activeNumberingFmt && activeMarkerText ? numberingInfoToOrderedStyle(activeNumberingFmt, activeMarkerText) : null
158295
158626
  };
158296
158627
  }, createIndentIncreaseExecute = () => ({ context }) => {
158297
158628
  if (resolveStateEditor(context)?.commands?.increaseListIndent?.())
158298
158629
  return true;
158299
158630
  return createDirectCommandExecute("increaseTextIndent")({ context });
158300
- }, createIndentDecreaseExecute = () => ({ context }) => {
158631
+ }, createListToggleExecute = (styleCommand, legacyCommand) => ({ context, payload }) => {
158632
+ const commands = resolveStateEditor(context)?.commands;
158633
+ if (typeof commands?.[styleCommand] === "function") {
158634
+ const result = payload === undefined ? commands[styleCommand]() : commands[styleCommand](payload);
158635
+ return Boolean(result);
158636
+ }
158637
+ if (typeof commands?.[legacyCommand] === "function")
158638
+ return Boolean(commands[legacyCommand]());
158639
+ return false;
158640
+ }, createBulletListExecute = () => createListToggleExecute("toggleBulletListStyle", "toggleBulletList"), createOrderedListExecute = () => createListToggleExecute("toggleOrderedListStyle", "toggleOrderedList"), createIndentDecreaseExecute = () => ({ context }) => {
158301
158641
  if (resolveStateEditor(context)?.commands?.decreaseListIndent?.())
158302
158642
  return true;
158303
158643
  return createDirectCommandExecute("decreaseTextIndent")({ context });
@@ -158433,12 +158773,14 @@ var CSS_DIMENSION_REGEX, DOM_SIZE_UNITS, Extension = class Extension2 {
158433
158773
  "bullet-list": {
158434
158774
  id: "bullet-list",
158435
158775
  directCommandName: "toggleBulletListStyle",
158436
- state: createListStateDeriver("bullet")
158776
+ state: createListStateDeriver("bullet"),
158777
+ execute: createBulletListExecute()
158437
158778
  },
158438
158779
  "numbered-list": {
158439
158780
  id: "numbered-list",
158440
- directCommandName: "toggleOrderedList",
158441
- state: createListStateDeriver("ordered")
158781
+ directCommandName: "toggleOrderedListStyle",
158782
+ state: createListStateDeriver("ordered"),
158783
+ execute: createOrderedListExecute()
158442
158784
  },
158443
158785
  "indent-increase": {
158444
158786
  id: "indent-increase",
@@ -158647,8 +158989,8 @@ var CSS_DIMENSION_REGEX, DOM_SIZE_UNITS, Extension = class Extension2 {
158647
158989
  }
158648
158990
  };
158649
158991
  };
158650
- var init_create_headless_toolbar_CUl2z6Fd_es = __esm(() => {
158651
- init_SuperConverter_ing_1fvK_es();
158992
+ var init_create_headless_toolbar_CJ0iQq1T_es = __esm(() => {
158993
+ init_SuperConverter_D1o6_yKI_es();
158652
158994
  init_constants_DrU4EASo_es();
158653
158995
  init_dist_B8HfvhaK_es();
158654
158996
  CSS_DIMENSION_REGEX = /[\d-.]+(\w+)$/;
@@ -160095,7 +160437,7 @@ var init_decrypt_docx_4kQ488M9_es = __esm(() => {
160095
160437
  ]);
160096
160438
  });
160097
160439
 
160098
- // ../../packages/superdoc/dist/chunks/DocxZipper-CUX64E5K.es.js
160440
+ // ../../packages/superdoc/dist/chunks/DocxZipper-Dh4RtvcE.es.js
160099
160441
  function sniffEncoding(u8) {
160100
160442
  if (u8.length >= 2) {
160101
160443
  const b0 = u8[0], b1 = u8[1];
@@ -160138,6 +160480,15 @@ function ensureXmlString(content2) {
160138
160480
  xml = xml.replace(/(<\?xml\b[^?]*?)\bencoding\s*=\s*["'][^"']*["']/i, '$1encoding="UTF-8"');
160139
160481
  return xml;
160140
160482
  }
160483
+ function escapeAttributeValue(value) {
160484
+ return String(value).replace(/&quot;/g, QUOT_PLACEHOLDER).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(QUOT_PLACEHOLDER_REGEX, "&quot;");
160485
+ }
160486
+ function serializeOpcXml(jsObject) {
160487
+ return import_lib$3.js2xml(jsObject, {
160488
+ spaces: 0,
160489
+ attributeValueFn: escapeAttributeValue
160490
+ });
160491
+ }
160141
160492
  function readEntry(path2, baseFiles, updatedDocs) {
160142
160493
  if (updatedDocs && Object.prototype.hasOwnProperty.call(updatedDocs, path2))
160143
160494
  return updatedDocs[path2];
@@ -160158,7 +160509,7 @@ function parseXml(xmlString) {
160158
160509
  }
160159
160510
  }
160160
160511
  function serializeXml(jsObject) {
160161
- return import_lib$2.js2xml(jsObject, { spaces: 0 });
160512
+ return serializeOpcXml(jsObject);
160162
160513
  }
160163
160514
  function findRootElement(parsed, tagName) {
160164
160515
  return parsed?.elements?.find((el) => {
@@ -160375,9 +160726,9 @@ function reconcileDocumentRelationships(relsXml, fileExists) {
160375
160726
  }
160376
160727
  if (!changed)
160377
160728
  return relsXml;
160378
- return import_lib$12.js2xml(parsed, { spaces: 0 });
160729
+ return serializeOpcXml(parsed);
160379
160730
  }
160380
- var DOCX = "application/vnd.openxmlformats-officedocument.wordprocessingml.document", isXmlLike = (name) => /\.xml$|\.rels$/i.test(name), MANAGED_PACKAGE_PARTS, import_lib$2, RELATIONSHIPS_NS = "http://schemas.openxmlformats.org/package/2006/relationships", import_lib$12, MANAGED_DOCUMENT_PARTS, import_lib3, import_jszip_min, IMAGE_EXTS, MIME_TYPE_FOR_EXT, CUSTOM_XML_ITEM_PROPS_CONTENT_TYPE = "application/vnd.openxmlformats-officedocument.customXmlProperties+xml", FONT_CONTENT_TYPES, DocxZipper = class {
160731
+ var DOCX = "application/vnd.openxmlformats-officedocument.wordprocessingml.document", isXmlLike = (name) => /\.xml$|\.rels$/i.test(name), MANAGED_PACKAGE_PARTS, import_lib$3, QUOT_PLACEHOLDER = "\x01SD_OPC_QUOT\x01", QUOT_PLACEHOLDER_REGEX, import_lib$2, RELATIONSHIPS_NS = "http://schemas.openxmlformats.org/package/2006/relationships", import_lib$12, MANAGED_DOCUMENT_PARTS, import_lib3, import_jszip_min, IMAGE_EXTS, MIME_TYPE_FOR_EXT, CUSTOM_XML_ITEM_PROPS_CONTENT_TYPE = "application/vnd.openxmlformats-officedocument.customXmlProperties+xml", FONT_CONTENT_TYPES, DocxZipper = class {
160381
160732
  constructor(params3 = {}) {
160382
160733
  this.debug = params3.debug || false;
160383
160734
  this.zip = new import_jszip_min.default;
@@ -160746,7 +161097,7 @@ var DOCX = "application/vnd.openxmlformats-officedocument.wordprocessingml.docum
160746
161097
  return `image/${MIME_TYPE_FOR_EXT[detectedType] || detectedType}`;
160747
161098
  }
160748
161099
  }, DocxZipper_default;
160749
- var init_DocxZipper_CUX64E5K_es = __esm(() => {
161100
+ var init_DocxZipper_Dh4RtvcE_es = __esm(() => {
160750
161101
  init_rolldown_runtime_Bg48TavK_es();
160751
161102
  init_jszip_C49i9kUs_es();
160752
161103
  init_xml_js_CqGKpaft_es();
@@ -160774,6 +161125,8 @@ var init_DocxZipper_CUX64E5K_es = __esm(() => {
160774
161125
  relationshipType: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties"
160775
161126
  }
160776
161127
  ];
161128
+ import_lib$3 = /* @__PURE__ */ __toESM2(require_lib(), 1);
161129
+ QUOT_PLACEHOLDER_REGEX = /SD_OPC_QUOT/g;
160777
161130
  import_lib$2 = /* @__PURE__ */ __toESM2(require_lib(), 1);
160778
161131
  import_lib$12 = /* @__PURE__ */ __toESM2(require_lib(), 1);
160779
161132
  MANAGED_DOCUMENT_PARTS = [{
@@ -207334,7 +207687,7 @@ var init_remark_gfm_eZN6yzWQ_es = __esm(() => {
207334
207687
  init_remark_gfm_BhnWr3yf_es();
207335
207688
  });
207336
207689
 
207337
- // ../../packages/superdoc/dist/chunks/src-deKdT-sq.es.js
207690
+ // ../../packages/superdoc/dist/chunks/src-ItIaPxzW.es.js
207338
207691
  function deleteProps(obj, propOrProps) {
207339
207692
  const props = typeof propOrProps === "string" ? [propOrProps] : propOrProps;
207340
207693
  const removeNested = (target, pathParts, index2 = 0) => {
@@ -210274,7 +210627,7 @@ function getParagraphListKind(node3, editor) {
210274
210627
  return null;
210275
210628
  return numFmtIsBullet(fmt) ? "bullet" : "ordered";
210276
210629
  }
210277
- function paragraphMatchesToggleListType(node3, editor, listType, bulletStyle) {
210630
+ function paragraphMatchesToggleListType(node3, editor, listType, bulletStyle, orderedStyle) {
210278
210631
  const kind = getParagraphListKind(node3, editor);
210279
210632
  if (!kind)
210280
210633
  return false;
@@ -210286,8 +210639,14 @@ function paragraphMatchesToggleListType(node3, editor, listType, bulletStyle) {
210286
210639
  const markerText = node3.attrs.listRendering?.markerText;
210287
210640
  return markerTextToBulletStyle(markerText) === bulletStyle;
210288
210641
  }
210289
- if (listType === "orderedList")
210290
- return kind === "ordered";
210642
+ if (listType === "orderedList") {
210643
+ if (kind !== "ordered")
210644
+ return false;
210645
+ if (!orderedStyle)
210646
+ return true;
210647
+ const { numberingType, markerText } = node3.attrs.listRendering ?? {};
210648
+ return numberingInfoToOrderedStyle(numberingType, markerText) === orderedStyle;
210649
+ }
210291
210650
  return false;
210292
210651
  }
210293
210652
  function getPrecedingParagraphForListReuse(doc$12, from$1, paragraphsInSelection) {
@@ -250095,119 +250454,6 @@ function applyAlphaToSVG(svg2, alphaData) {
250095
250454
  function generateGradientId(prefix2 = "gradient") {
250096
250455
  return `${prefix2}-${Date.now()}-${gradientIdCounter++}-${Math.random().toString(36).substring(2, 11)}`;
250097
250456
  }
250098
- function isResolvedFragmentWithBorders(item) {
250099
- return item !== undefined && item.kind === "fragment" && "paragraphBorders" in item && item.paragraphBorders !== undefined;
250100
- }
250101
- function resolveClipPath(value) {
250102
- if (typeof value !== "string")
250103
- return;
250104
- const trimmed = value.trim();
250105
- return trimmed.length > 0 ? trimmed : undefined;
250106
- }
250107
- function applyImageClipPath(el, clipPath, options) {
250108
- const resolved = resolveClipPath(clipPath);
250109
- if (resolved) {
250110
- if (options?.clipContainer)
250111
- options.clipContainer.style.overflow = "hidden";
250112
- el.style.clipPath = resolved;
250113
- const scale = parseInsetClipPathForScale(resolved);
250114
- if (scale) {
250115
- el.style.transformOrigin = "0 0";
250116
- el.style.transform = `translate(${scale.translateX}%, ${scale.translateY}%) scale(${scale.scaleX}, ${scale.scaleY})`;
250117
- }
250118
- }
250119
- }
250120
- function isStructuredContentMetadata(sdt) {
250121
- return sdt !== null && sdt !== undefined && typeof sdt === "object" && "type" in sdt && sdt.type === "structuredContent";
250122
- }
250123
- function isDocumentSectionMetadata(sdt) {
250124
- return sdt !== null && sdt !== undefined && typeof sdt === "object" && "type" in sdt && sdt.type === "documentSection";
250125
- }
250126
- function getSdtContainerConfig(sdt) {
250127
- if (isDocumentSectionMetadata(sdt))
250128
- return {
250129
- className: "superdoc-document-section",
250130
- labelText: sdt.title ?? "Document section",
250131
- labelClassName: "superdoc-document-section__tooltip",
250132
- isStart: true,
250133
- isEnd: true
250134
- };
250135
- if (isStructuredContentMetadata(sdt) && sdt.scope === "block")
250136
- return {
250137
- className: "superdoc-structured-content-block",
250138
- labelText: sdt.alias ?? "Structured content",
250139
- labelClassName: "superdoc-structured-content__label",
250140
- isStart: true,
250141
- isEnd: true
250142
- };
250143
- return null;
250144
- }
250145
- function getSdtContainerMetadata$1(sdt, containerSdt) {
250146
- if (getSdtContainerConfig(sdt))
250147
- return sdt ?? null;
250148
- if (getSdtContainerConfig(containerSdt))
250149
- return containerSdt ?? null;
250150
- return null;
250151
- }
250152
- function getSdtContainerKey(sdt, containerSdt) {
250153
- const metadata = getSdtContainerMetadata$1(sdt, containerSdt);
250154
- if (!metadata)
250155
- return null;
250156
- if (metadata.type === "structuredContent") {
250157
- if (metadata.scope !== "block")
250158
- return null;
250159
- if (!metadata.id)
250160
- return null;
250161
- return `structuredContent:${metadata.id}`;
250162
- }
250163
- if (metadata.type === "documentSection") {
250164
- const sectionId = metadata.id ?? metadata.sdBlockId;
250165
- if (!sectionId)
250166
- return null;
250167
- return `documentSection:${sectionId}`;
250168
- }
250169
- return null;
250170
- }
250171
- function applySdtContainerStyling(doc$12, container, sdt, containerSdt, boundaryOptions) {
250172
- let config2 = getSdtContainerConfig(sdt);
250173
- if (!config2 && containerSdt)
250174
- config2 = getSdtContainerConfig(containerSdt);
250175
- if (!config2)
250176
- return;
250177
- const isStart = boundaryOptions?.isStart ?? config2.isStart;
250178
- const isEnd = boundaryOptions?.isEnd ?? config2.isEnd;
250179
- container.classList.add(config2.className);
250180
- container.dataset.sdtContainerStart = String(isStart);
250181
- container.dataset.sdtContainerEnd = String(isEnd);
250182
- container.style.overflow = "visible";
250183
- if (isStructuredContentMetadata(sdt))
250184
- container.dataset.lockMode = sdt.lockMode || "unlocked";
250185
- else if (isStructuredContentMetadata(containerSdt))
250186
- container.dataset.lockMode = containerSdt.lockMode || "unlocked";
250187
- if (boundaryOptions?.widthOverride != null)
250188
- container.style.width = `${boundaryOptions.widthOverride}px`;
250189
- if (boundaryOptions?.paddingBottomOverride != null && boundaryOptions.paddingBottomOverride > 0)
250190
- container.style.paddingBottom = `${boundaryOptions.paddingBottomOverride}px`;
250191
- if (boundaryOptions?.showLabel ?? isStart) {
250192
- const labelEl = doc$12.createElement("div");
250193
- labelEl.className = config2.labelClassName;
250194
- const labelText = doc$12.createElement("span");
250195
- labelText.textContent = config2.labelText;
250196
- labelEl.appendChild(labelText);
250197
- container.appendChild(labelEl);
250198
- }
250199
- }
250200
- function shouldRebuildForSdtBoundary(element3, boundary) {
250201
- if (!boundary)
250202
- return element3.dataset.sdtContainerStart !== undefined;
250203
- const startAttr = element3.dataset.sdtContainerStart;
250204
- const endAttr = element3.dataset.sdtContainerEnd;
250205
- const expectedStart = String(boundary.isStart ?? true);
250206
- const expectedEnd = String(boundary.isEnd ?? true);
250207
- if (startAttr === undefined || endAttr === undefined)
250208
- return true;
250209
- return startAttr !== expectedStart || endAttr !== expectedEnd;
250210
- }
250211
250457
  function resolveListMarkerGeometry(wordLayout, indentLeft, firstLine, hanging, measureMarkerText) {
250212
250458
  const marker = wordLayout?.marker;
250213
250459
  if (!marker)
@@ -250352,6 +250598,119 @@ function computeTabWidth(currentPos, justification, tabs, hangingIndent, firstLi
250352
250598
  tabWidth = nextDefaultTabStop - currentPos;
250353
250599
  return tabWidth;
250354
250600
  }
250601
+ function isResolvedFragmentWithBorders(item) {
250602
+ return item !== undefined && item.kind === "fragment" && "paragraphBorders" in item && item.paragraphBorders !== undefined;
250603
+ }
250604
+ function resolveClipPath(value) {
250605
+ if (typeof value !== "string")
250606
+ return;
250607
+ const trimmed = value.trim();
250608
+ return trimmed.length > 0 ? trimmed : undefined;
250609
+ }
250610
+ function applyImageClipPath(el, clipPath, options) {
250611
+ const resolved = resolveClipPath(clipPath);
250612
+ if (resolved) {
250613
+ if (options?.clipContainer)
250614
+ options.clipContainer.style.overflow = "hidden";
250615
+ el.style.clipPath = resolved;
250616
+ const scale = parseInsetClipPathForScale(resolved);
250617
+ if (scale) {
250618
+ el.style.transformOrigin = "0 0";
250619
+ el.style.transform = `translate(${scale.translateX}%, ${scale.translateY}%) scale(${scale.scaleX}, ${scale.scaleY})`;
250620
+ }
250621
+ }
250622
+ }
250623
+ function isStructuredContentMetadata(sdt) {
250624
+ return sdt !== null && sdt !== undefined && typeof sdt === "object" && "type" in sdt && sdt.type === "structuredContent";
250625
+ }
250626
+ function isDocumentSectionMetadata(sdt) {
250627
+ return sdt !== null && sdt !== undefined && typeof sdt === "object" && "type" in sdt && sdt.type === "documentSection";
250628
+ }
250629
+ function getSdtContainerConfig(sdt) {
250630
+ if (isDocumentSectionMetadata(sdt))
250631
+ return {
250632
+ className: "superdoc-document-section",
250633
+ labelText: sdt.title ?? "Document section",
250634
+ labelClassName: "superdoc-document-section__tooltip",
250635
+ isStart: true,
250636
+ isEnd: true
250637
+ };
250638
+ if (isStructuredContentMetadata(sdt) && sdt.scope === "block")
250639
+ return {
250640
+ className: "superdoc-structured-content-block",
250641
+ labelText: sdt.alias ?? "Structured content",
250642
+ labelClassName: "superdoc-structured-content__label",
250643
+ isStart: true,
250644
+ isEnd: true
250645
+ };
250646
+ return null;
250647
+ }
250648
+ function getSdtContainerMetadata$1(sdt, containerSdt) {
250649
+ if (getSdtContainerConfig(sdt))
250650
+ return sdt ?? null;
250651
+ if (getSdtContainerConfig(containerSdt))
250652
+ return containerSdt ?? null;
250653
+ return null;
250654
+ }
250655
+ function getSdtContainerKey(sdt, containerSdt) {
250656
+ const metadata = getSdtContainerMetadata$1(sdt, containerSdt);
250657
+ if (!metadata)
250658
+ return null;
250659
+ if (metadata.type === "structuredContent") {
250660
+ if (metadata.scope !== "block")
250661
+ return null;
250662
+ if (!metadata.id)
250663
+ return null;
250664
+ return `structuredContent:${metadata.id}`;
250665
+ }
250666
+ if (metadata.type === "documentSection") {
250667
+ const sectionId = metadata.id ?? metadata.sdBlockId;
250668
+ if (!sectionId)
250669
+ return null;
250670
+ return `documentSection:${sectionId}`;
250671
+ }
250672
+ return null;
250673
+ }
250674
+ function applySdtContainerStyling(doc$12, container, sdt, containerSdt, boundaryOptions) {
250675
+ let config2 = getSdtContainerConfig(sdt);
250676
+ if (!config2 && containerSdt)
250677
+ config2 = getSdtContainerConfig(containerSdt);
250678
+ if (!config2)
250679
+ return;
250680
+ const isStart = boundaryOptions?.isStart ?? config2.isStart;
250681
+ const isEnd = boundaryOptions?.isEnd ?? config2.isEnd;
250682
+ container.classList.add(config2.className);
250683
+ container.dataset.sdtContainerStart = String(isStart);
250684
+ container.dataset.sdtContainerEnd = String(isEnd);
250685
+ container.style.overflow = "visible";
250686
+ if (isStructuredContentMetadata(sdt))
250687
+ container.dataset.lockMode = sdt.lockMode || "unlocked";
250688
+ else if (isStructuredContentMetadata(containerSdt))
250689
+ container.dataset.lockMode = containerSdt.lockMode || "unlocked";
250690
+ if (boundaryOptions?.widthOverride != null)
250691
+ container.style.width = `${boundaryOptions.widthOverride}px`;
250692
+ if (boundaryOptions?.paddingBottomOverride != null && boundaryOptions.paddingBottomOverride > 0)
250693
+ container.style.paddingBottom = `${boundaryOptions.paddingBottomOverride}px`;
250694
+ if (boundaryOptions?.showLabel ?? isStart) {
250695
+ const labelEl = doc$12.createElement("div");
250696
+ labelEl.className = config2.labelClassName;
250697
+ const labelText = doc$12.createElement("span");
250698
+ labelText.textContent = config2.labelText;
250699
+ labelEl.appendChild(labelText);
250700
+ container.appendChild(labelEl);
250701
+ }
250702
+ }
250703
+ function shouldRebuildForSdtBoundary(element3, boundary) {
250704
+ if (!boundary)
250705
+ return element3.dataset.sdtContainerStart !== undefined;
250706
+ const startAttr = element3.dataset.sdtContainerStart;
250707
+ const endAttr = element3.dataset.sdtContainerEnd;
250708
+ const expectedStart = String(boundary.isStart ?? true);
250709
+ const expectedEnd = String(boundary.isEnd ?? true);
250710
+ if (startAttr === undefined || endAttr === undefined)
250711
+ return true;
250712
+ return startAttr !== expectedStart || endAttr !== expectedEnd;
250713
+ }
250355
250714
  function getCellSegmentCount(cell2) {
250356
250715
  if (cell2.blocks && cell2.blocks.length > 0) {
250357
250716
  let total = 0;
@@ -250465,22 +250824,7 @@ function renderListMarker(params$1) {
250465
250824
  lineEl.style.paddingLeft = `${anchorPoint}px`;
250466
250825
  if (markerLayout?.run?.vanish)
250467
250826
  return;
250468
- const markerContainer = doc$12.createElement("span");
250469
- markerContainer.style.display = "inline-block";
250470
- markerContainer.style.wordSpacing = "0px";
250471
- const markerEl = doc$12.createElement("span");
250472
- markerEl.classList.add("superdoc-paragraph-marker");
250473
- markerEl.textContent = markerLayout?.markerText ?? "";
250474
- markerEl.style.pointerEvents = "none";
250475
- markerEl.style.fontFamily = toCssFontFamily(markerLayout?.run?.fontFamily) ?? markerLayout?.run?.fontFamily ?? "";
250476
- if (markerLayout?.run?.fontSize != null)
250477
- markerEl.style.fontSize = `${markerLayout.run.fontSize}px`;
250478
- markerEl.style.fontWeight = markerLayout?.run?.bold ? "bold" : "";
250479
- markerEl.style.fontStyle = markerLayout?.run?.italic ? "italic" : "";
250480
- if (markerLayout?.run?.color)
250481
- markerEl.style.color = markerLayout.run.color;
250482
- if (markerLayout?.run?.letterSpacing != null)
250483
- markerEl.style.letterSpacing = `${markerLayout.run.letterSpacing}px`;
250827
+ const markerContainer = createListMarkerElement(doc$12, markerLayout?.markerText ?? "", markerLayout?.run ?? {});
250484
250828
  markerContainer.style.position = "relative";
250485
250829
  if (markerJustification === "right") {
250486
250830
  markerContainer.style.position = "absolute";
@@ -250490,7 +250834,6 @@ function renderListMarker(params$1) {
250490
250834
  markerContainer.style.left = `${markerStartPos - markerTextWidth / 2}px`;
250491
250835
  lineEl.style.paddingLeft = parseFloat(lineEl.style.paddingLeft) + markerTextWidth / 2 + "px";
250492
250836
  }
250493
- markerContainer.appendChild(markerEl);
250494
250837
  const suffixType = markerLayout?.suffix ?? "tab";
250495
250838
  if (suffixType === "tab") {
250496
250839
  const tabEl = doc$12.createElement("span");
@@ -262083,6 +262426,30 @@ function handleDocumentPartObjectNode(node3, context) {
262083
262426
  }
262084
262427
  if (sectionState)
262085
262428
  sectionState.currentParagraphIndex++;
262429
+ } else if (child.type === "tableOfContents" && Array.isArray(child.content)) {
262430
+ const metadata = {
262431
+ docPartGallery: docPartGallery ?? "",
262432
+ docPartObjectId,
262433
+ tocInstruction: getNodeInstruction(child) ?? tocInstruction,
262434
+ sdtMetadata: docPartSdtMetadata
262435
+ };
262436
+ const tocContext = {
262437
+ nextBlockId,
262438
+ positions,
262439
+ bookmarks,
262440
+ hyperlinkConfig,
262441
+ enableComments,
262442
+ trackedChangesConfig,
262443
+ themeColors,
262444
+ converters: converters$1,
262445
+ converterContext,
262446
+ sectionState
262447
+ };
262448
+ const output = {
262449
+ blocks: blocks2,
262450
+ recordBlockKind
262451
+ };
262452
+ processTocChildren(child.content, metadata, tocContext, output);
262086
262453
  }
262087
262454
  }
262088
262455
  }
@@ -264478,7 +264845,7 @@ function isSameRenderedNoteTarget(left$1, right$1) {
264478
264845
  function isOutsidePageBodyContent(layout, x, pageIndex, pageLocalY) {
264479
264846
  if (!Number.isFinite(x) || !Number.isFinite(pageIndex) || !Number.isFinite(pageLocalY))
264480
264847
  return false;
264481
- const page = layout.pages[pageIndex];
264848
+ const page = layout?.pages?.[pageIndex];
264482
264849
  if (!page)
264483
264850
  return false;
264484
264851
  const pageWidth = page.size?.w ?? layout.pageSize.w;
@@ -273841,10 +274208,10 @@ var Node$13 = class Node$14 {
273841
274208
  } catch {
273842
274209
  return false;
273843
274210
  }
273844
- }, toggleList = (listType, bulletStyle) => ({ editor, state, tr, dispatch }) => {
274211
+ }, toggleList = (listType, bulletStyle, orderedStyle) => ({ editor, state, tr, dispatch }) => {
273845
274212
  if (listType !== "orderedList" && listType !== "bulletList")
273846
274213
  return false;
273847
- const predicate = (n) => paragraphMatchesToggleListType(n, editor, listType, bulletStyle);
274214
+ const predicate = (n) => paragraphMatchesToggleListType(n, editor, listType, bulletStyle, orderedStyle);
273848
274215
  const { selection } = state;
273849
274216
  const { from: from$1, to } = selection;
273850
274217
  let firstListNode = null;
@@ -273860,7 +274227,35 @@ var Node$13 = class Node$14 {
273860
274227
  }
273861
274228
  return true;
273862
274229
  });
273863
- let paragraphsInSelection = allParagraphsInSelection.length === 1 ? allParagraphsInSelection : allParagraphsInSelection.filter(({ node: node3 }) => !isVisuallyEmptyParagraph(node3));
274230
+ const originalParagraphsInSelection = allParagraphsInSelection.length === 1 ? allParagraphsInSelection : allParagraphsInSelection.filter(({ node: node3 }) => !isVisuallyEmptyParagraph(node3));
274231
+ let paragraphsInSelection = originalParagraphsInSelection;
274232
+ const seenLevels = /* @__PURE__ */ new Set;
274233
+ let allListItems = paragraphsInSelection.length > 0;
274234
+ for (const { node: node3 } of paragraphsInSelection) {
274235
+ const np = getResolvedParagraphProperties(node3)?.numberingProperties;
274236
+ if (!np?.numId) {
274237
+ allListItems = false;
274238
+ break;
274239
+ }
274240
+ seenLevels.add(`${Number(np.numId)}:${Number(np.ilvl ?? 0)}`);
274241
+ }
274242
+ if (allListItems && seenLevels.size > 0 && selection.empty) {
274243
+ const expanded = new Map(paragraphsInSelection.map((p$12) => [p$12.pos, p$12]));
274244
+ state.doc.descendants((node3, pos) => {
274245
+ if (node3.type.name !== "paragraph")
274246
+ return true;
274247
+ if (expanded.has(pos))
274248
+ return false;
274249
+ const np = getResolvedParagraphProperties(node3)?.numberingProperties;
274250
+ if (np?.numId && seenLevels.has(`${Number(np.numId)}:${Number(np.ilvl ?? 0)}`))
274251
+ expanded.set(pos, {
274252
+ node: node3,
274253
+ pos
274254
+ });
274255
+ return false;
274256
+ });
274257
+ paragraphsInSelection = [...expanded.values()].sort((a2, b$1) => a2.pos - b$1.pos);
274258
+ }
273864
274259
  for (const { node: node3 } of paragraphsInSelection)
273865
274260
  if (!firstListNode && predicate(node3))
273866
274261
  firstListNode = node3;
@@ -273872,6 +274267,46 @@ var Node$13 = class Node$14 {
273872
274267
  if (beforeNode && predicate(beforeNode))
273873
274268
  firstListNode = beforeNode;
273874
274269
  }
274270
+ if (firstListNode == null && allListItems && selection.empty) {
274271
+ const effectiveBulletStyle = listType === "bulletList" ? bulletStyle ?? "disc" : null;
274272
+ const effectiveOrderedStyle = listType === "orderedList" ? orderedStyle ?? "decimal" : null;
274273
+ const groups = /* @__PURE__ */ new Map;
274274
+ for (const p$12 of paragraphsInSelection) {
274275
+ const np = getResolvedParagraphProperties(p$12.node).numberingProperties;
274276
+ const sourceNumId = Number(np.numId);
274277
+ const ilvl = Number(np.ilvl ?? 0);
274278
+ const key2 = `${sourceNumId}:${ilvl}`;
274279
+ if (!groups.has(key2))
274280
+ groups.set(key2, {
274281
+ sourceNumId,
274282
+ ilvl,
274283
+ paragraphs: []
274284
+ });
274285
+ groups.get(key2).paragraphs.push(p$12);
274286
+ }
274287
+ if (groups.size > 0) {
274288
+ if (!dispatch)
274289
+ return true;
274290
+ for (const { sourceNumId, ilvl, paragraphs } of groups.values()) {
274291
+ const minted = ListHelpers.cloneListDefinitionWithLevelStyle({
274292
+ editor,
274293
+ sourceNumId,
274294
+ ilvl,
274295
+ bulletStyle: effectiveBulletStyle,
274296
+ orderedStyle: effectiveOrderedStyle
274297
+ });
274298
+ if (!minted)
274299
+ continue;
274300
+ for (const { node: node3, pos } of paragraphs)
274301
+ updateNumberingProperties({
274302
+ numId: minted.newNumId,
274303
+ ilvl
274304
+ }, node3, pos, editor, tr);
274305
+ }
274306
+ dispatch(tr);
274307
+ return true;
274308
+ }
274309
+ }
273875
274310
  let mode = null;
273876
274311
  let sharedNumberingProperties = null;
273877
274312
  if (firstListNode)
@@ -273890,12 +274325,12 @@ var Node$13 = class Node$14 {
273890
274325
  if (!dispatch)
273891
274326
  return true;
273892
274327
  if (mode === "create") {
273893
- let bulletStyleLevel = 0;
273894
- if (bulletStyle) {
274328
+ let styleOverrideLevel = 0;
274329
+ if (bulletStyle || orderedStyle) {
273895
274330
  const firstExistingListPara = paragraphsInSelection.find(({ node: node3 }) => getResolvedParagraphProperties(node3)?.numberingProperties?.ilvl != null);
273896
274331
  const existingIlvl = firstExistingListPara ? getResolvedParagraphProperties(firstExistingListPara.node)?.numberingProperties?.ilvl : null;
273897
274332
  if (existingIlvl != null)
273898
- bulletStyleLevel = existingIlvl;
274333
+ styleOverrideLevel = existingIlvl;
273899
274334
  }
273900
274335
  const numId = ListHelpers.getNewListId(editor);
273901
274336
  ListHelpers.generateNewListDefinition({
@@ -273903,7 +274338,9 @@ var Node$13 = class Node$14 {
273903
274338
  listType,
273904
274339
  editor,
273905
274340
  bulletStyle,
273906
- bulletStyleLevel
274341
+ bulletStyleLevel: styleOverrideLevel,
274342
+ orderedStyle,
274343
+ orderedStyleLevel: styleOverrideLevel
273907
274344
  });
273908
274345
  sharedNumberingProperties = {
273909
274346
  numId: Number(numId),
@@ -273923,16 +274360,16 @@ var Node$13 = class Node$14 {
273923
274360
  ilvl: existingIlvl
273924
274361
  } : sharedNumberingProperties, node3, pos, editor, tr);
273925
274362
  }
273926
- if (paragraphsInSelection.length > 0) {
273927
- const firstPara = paragraphsInSelection[0];
273928
- const lastPara = paragraphsInSelection[paragraphsInSelection.length - 1];
274363
+ if (originalParagraphsInSelection.length > 0) {
274364
+ const firstPara = originalParagraphsInSelection[0];
274365
+ const lastPara = originalParagraphsInSelection[originalParagraphsInSelection.length - 1];
273929
274366
  const firstParagraphPos = firstPara.pos;
273930
274367
  const lastParagraphPos = lastPara.pos;
273931
274368
  const firstNode = tr.doc.nodeAt(firstParagraphPos);
273932
274369
  const lastNode = tr.doc.nodeAt(lastParagraphPos);
273933
274370
  const restoredSelectionRange = computeToggleListSelectionRange({
273934
274371
  selectionWasCollapsed: selection.empty,
273935
- affectedParagraphCount: paragraphsInSelection.length,
274372
+ affectedParagraphCount: originalParagraphsInSelection.length,
273936
274373
  firstParagraphPos,
273937
274374
  lastParagraphPos,
273938
274375
  firstNode,
@@ -273940,7 +274377,7 @@ var Node$13 = class Node$14 {
273940
274377
  });
273941
274378
  if (restoredSelectionRange && restoredSelectionRange.from >= 0 && restoredSelectionRange.to <= tr.doc.content.size && restoredSelectionRange.from <= restoredSelectionRange.to)
273942
274379
  try {
273943
- if (selection.empty && paragraphsInSelection.length === 1)
274380
+ if (selection.empty && originalParagraphsInSelection.length === 1)
273944
274381
  tr.setSelection(Selection.near(tr.doc.resolve(restoredSelectionRange.to), -1));
273945
274382
  else
273946
274383
  tr.setSelection(TextSelection.create(tr.doc, restoredSelectionRange.from, restoredSelectionRange.to));
@@ -274093,16 +274530,56 @@ var Node$13 = class Node$14 {
274093
274530
  uniqueByType.set(typeName, mark2);
274094
274531
  }
274095
274532
  return Array.from(uniqueByType.values());
274096
- }, commands_exports, restartNumbering = ({ editor, tr, state, dispatch }) => {
274097
- const { node: paragraph2 } = findParentNode(isList)(state.selection) || {};
274533
+ }, commands_exports, restartNumbering = ({ editor, tr, state }) => {
274534
+ const { node: paragraph2, pos: paragraphPos } = findParentNode(isList)(state.selection) || {};
274098
274535
  if (!paragraph2)
274099
274536
  return false;
274100
274537
  const { numId, ilvl = 0 } = getResolvedParagraphProperties(paragraph2).numberingProperties || {};
274101
274538
  if (numId == null)
274102
274539
  return false;
274103
- ListHelpers.setLvlOverride(editor, numId, ilvl, { startOverride: 1 });
274104
- if (dispatch)
274105
- dispatch(tr);
274540
+ let hasPrecedingItems = false;
274541
+ state.doc.nodesBetween(0, paragraphPos, (node3) => {
274542
+ if (hasPrecedingItems)
274543
+ return false;
274544
+ if (node3.type.name !== "paragraph")
274545
+ return true;
274546
+ if (getResolvedParagraphProperties(node3)?.numberingProperties?.numId === numId)
274547
+ hasPrecedingItems = true;
274548
+ return false;
274549
+ });
274550
+ if (!hasPrecedingItems) {
274551
+ ListHelpers.setLvlOverride(editor, numId, ilvl, { startOverride: 1 });
274552
+ if (editor.view)
274553
+ tr.setMeta("preventDispatch", true);
274554
+ return true;
274555
+ }
274556
+ const abstractId = ListHelpers.getAllListDefinitions(editor)?.[numId]?.[ilvl]?.abstractId;
274557
+ if (abstractId == null)
274558
+ return false;
274559
+ const { numId: newNumId } = ListHelpers.createNumDefinition(editor, Number(abstractId));
274560
+ ListHelpers.setLvlOverride(editor, newNumId, ilvl, { startOverride: 1 });
274561
+ state.doc.nodesBetween(paragraphPos, state.doc.content.size, (node3, pos) => {
274562
+ if (node3.type.name !== "paragraph")
274563
+ return true;
274564
+ const props = getResolvedParagraphProperties(node3)?.numberingProperties;
274565
+ if (props?.numId === numId)
274566
+ updateNumberingProperties({
274567
+ numId: newNumId,
274568
+ ilvl: props.ilvl ?? 0
274569
+ }, node3, pos, editor, tr);
274570
+ return true;
274571
+ });
274572
+ return true;
274573
+ }, continueNumbering = ({ editor, tr, state }) => {
274574
+ const { node: paragraph2 } = findParentNode(isList)(state.selection) || {};
274575
+ if (!paragraph2)
274576
+ return false;
274577
+ const { numId, ilvl = 0 } = getResolvedParagraphProperties(paragraph2)?.numberingProperties || {};
274578
+ if (numId == null)
274579
+ return false;
274580
+ ListHelpers.removeLvlOverride(editor, numId, ilvl);
274581
+ if (editor.view)
274582
+ tr.setMeta("preventDispatch", true);
274106
274583
  return true;
274107
274584
  }, PIXELS_PER_TWIP, toFiniteNumber$12 = (value) => {
274108
274585
  if (value == null)
@@ -280809,10 +281286,72 @@ var Node$13 = class Node$14 {
280809
281286
  <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"/>
280810
281287
  </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>
280811
281288
  `, 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>
280812
- `, 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>', 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>
281289
+ `, 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">
281290
+ <g clip-path="url(#clip0_0_1)">
281291
+ <path d="M260 54C242.3 54 228 68.3 228 86C228 103.7 242.3 118 260 118H480C497.7 118 512 103.7 512 86C512 68.3 497.7 54 480 54H260ZM260 224C242.3 224 228 238.3 228 256C228 273.7 242.3 288 260 288H480C497.7 288 512 273.7 512 256C512 238.3 497.7 224 480 224H260ZM260 394C242.3 394 228 408.3 228 426C228 443.7 242.3 458 260 458H480C497.7 458 512 443.7 512 426C512 408.3 497.7 394 480 394H260Z" fill="currentColor"/>
281292
+ <path d="M131.823 9.18182V111H110.296V29.6151H109.7L86.3828 44.2315V25.1406L111.589 9.18182H131.823ZM163.132 112.293C159.85 112.293 157.033 111.133 154.68 108.812C152.36 106.459 151.2 103.642 151.2 100.361C151.2 97.1127 152.36 94.3286 154.68 92.0085C157.033 89.6884 159.85 88.5284 163.132 88.5284C166.314 88.5284 169.098 89.6884 171.484 92.0085C173.87 94.3286 175.064 97.1127 175.064 100.361C175.064 102.548 174.5 104.554 173.373 106.376C172.279 108.166 170.838 109.608 169.048 110.702C167.258 111.762 165.286 112.293 163.132 112.293Z" fill="currentColor"/>
281293
+ <path d="M62.37 284V268.489L98.6129 234.93C101.695 231.947 104.281 229.263 106.369 226.876C108.49 224.49 110.097 222.153 111.191 219.866C112.285 217.546 112.832 215.044 112.832 212.359C112.832 209.376 112.152 206.808 110.793 204.653C109.434 202.466 107.578 200.792 105.225 199.632C102.872 198.439 100.204 197.842 97.2209 197.842C94.1054 197.842 91.3875 198.472 89.0675 199.732C86.7474 200.991 84.9576 202.797 83.6982 205.151C82.4387 207.504 81.8089 210.304 81.8089 213.553H61.3757C61.3757 206.891 62.8838 201.107 65.8999 196.202C68.916 191.296 73.1418 187.501 78.5774 184.817C84.013 182.132 90.2772 180.79 97.37 180.79C104.662 180.79 111.009 182.082 116.411 184.668C121.847 187.22 126.073 190.766 129.089 195.307C132.105 199.848 133.613 205.051 133.613 210.918C133.613 214.762 132.851 218.557 131.326 222.303C129.835 226.048 127.166 230.207 123.322 234.781C119.477 239.322 114.058 244.774 107.065 251.138L92.1996 265.705V266.401H134.955V284H62.37ZM163.132 285.293C159.85 285.293 157.033 284.133 154.68 281.812C152.36 279.459 151.2 276.642 151.2 273.361C151.2 270.113 152.36 267.329 154.68 265.009C157.033 262.688 159.85 261.528 163.132 261.528C166.314 261.528 169.098 262.688 171.484 265.009C173.87 267.329 175.064 270.113 175.064 273.361C175.064 275.548 174.5 277.554 173.373 279.376C172.279 281.166 170.838 282.608 169.048 283.702C167.258 284.762 165.286 285.293 163.132 285.293Z" fill="currentColor"/>
281294
+ <path d="M98.7745 451.392C91.3503 451.392 84.738 450.116 78.9379 447.564C73.1708 444.979 68.6135 441.432 65.266 436.925C61.9516 432.384 60.2447 427.147 60.1452 421.214H81.8214C81.954 423.7 82.766 425.888 84.2575 427.777C85.7821 429.633 87.8039 431.075 90.3228 432.102C92.8417 433.13 95.6755 433.643 98.8242 433.643C102.105 433.643 105.006 433.063 107.525 431.903C110.043 430.743 112.016 429.136 113.441 427.081C114.866 425.026 115.578 422.656 115.578 419.972C115.578 417.254 114.816 414.851 113.292 412.763C111.8 410.642 109.646 408.984 106.828 407.791C104.044 406.598 100.73 406.001 96.8853 406.001H87.3896V390.192H96.8853C100.133 390.192 103 389.628 105.486 388.501C108.005 387.375 109.961 385.817 111.353 383.828C112.745 381.806 113.441 379.453 113.441 376.768C113.441 374.216 112.828 371.979 111.601 370.057C110.408 368.101 108.718 366.577 106.53 365.483C104.376 364.389 101.857 363.842 98.9734 363.842C96.0567 363.842 93.3886 364.373 90.9691 365.433C88.5496 366.461 86.6107 367.936 85.1523 369.858C83.694 371.78 82.9151 374.034 82.8157 376.619H62.1836C62.283 370.753 63.9568 365.582 67.2049 361.108C70.453 356.634 74.828 353.137 80.3299 350.618C85.8649 348.066 92.1126 346.79 99.0728 346.79C106.099 346.79 112.248 348.066 117.517 350.618C122.787 353.17 126.881 356.617 129.797 360.959C132.747 365.268 134.205 370.107 134.172 375.476C134.205 381.177 132.432 385.933 128.853 389.744C125.306 393.556 120.683 395.975 114.982 397.003V397.798C122.472 398.759 128.173 401.361 132.084 405.604C136.028 409.813 137.984 415.083 137.951 421.413C137.984 427.214 136.31 432.367 132.929 436.875C129.582 441.383 124.958 444.929 119.059 447.514C113.159 450.099 106.398 451.392 98.7745 451.392ZM163.132 451.293C159.85 451.293 157.033 450.133 154.68 447.812C152.36 445.459 151.2 442.642 151.2 439.361C151.2 436.113 152.36 433.329 154.68 431.009C157.033 428.688 159.85 427.528 163.132 427.528C166.314 427.528 169.098 428.688 171.484 431.009C173.87 433.329 175.064 436.113 175.064 439.361C175.064 441.548 174.5 443.554 173.373 445.376C172.279 447.166 170.838 448.608 169.048 449.702C167.258 450.762 165.286 451.293 163.132 451.293Z" fill="currentColor"/>
281295
+ </g>
281296
+ <defs>
281297
+ <clipPath id="clip0_0_1">
281298
+ <rect width="512" height="512" fill="white"/>
281299
+ </clipPath>
281300
+ </defs>
281301
+ </svg>
281302
+ `, list_decimal_paren_solid_default = `<svg width="512" height="512" viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg">
281303
+ <g clip-path="url(#clip0_1_12)">
281304
+ <path d="M260 54C242.3 54 228 68.3 228 86C228 103.7 242.3 118 260 118H480C497.7 118 512 103.7 512 86C512 68.3 497.7 54 480 54H260ZM260 224C242.3 224 228 238.3 228 256C228 273.7 242.3 288 260 288H480C497.7 288 512 273.7 512 256C512 238.3 497.7 224 480 224H260ZM260 394C242.3 394 228 408.3 228 426C228 443.7 242.3 458 260 458H480C497.7 458 512 443.7 512 426C512 408.3 497.7 394 480 394H260Z" fill="currentColor"/>
281305
+ <path d="M119.768 25.1818V127H98.2415V45.6151H97.6449L74.3281 60.2315V41.1406L99.5341 25.1818H119.768ZM179.863 76.0909C179.863 88.4536 178.205 99.822 174.891 110.196C171.61 120.57 166.572 130.182 159.777 139.031H139.543C142.128 135.75 144.531 131.74 146.752 127C148.972 122.26 150.911 117.09 152.569 111.489C154.226 105.854 155.518 100.021 156.446 93.9886C157.374 87.9564 157.838 81.9905 157.838 76.0909C157.838 68.2358 157.026 60.3144 155.402 52.3267C153.811 44.3059 151.624 36.8816 148.84 30.054C146.089 23.1932 142.99 17.5753 139.543 13.2003H159.777C166.572 22.0497 171.61 31.6615 174.891 42.0355C178.205 52.4096 179.863 63.7614 179.863 76.0909Z" fill="currentColor"/>
281306
+ <path d="M55.7841 300V284.489L92.027 250.93C95.1094 247.947 97.6946 245.263 99.7827 242.876C101.904 240.49 103.511 238.153 104.605 235.866C105.699 233.546 106.246 231.044 106.246 228.359C106.246 225.376 105.566 222.808 104.207 220.653C102.848 218.466 100.992 216.792 98.6392 215.632C96.286 214.439 93.6179 213.842 90.6349 213.842C87.5194 213.842 84.8016 214.472 82.4815 215.732C80.1615 216.991 78.3717 218.797 77.1122 221.151C75.8527 223.504 75.223 226.304 75.223 229.553H54.7898C54.7898 222.891 56.2978 217.107 59.3139 212.202C62.33 207.296 66.5559 203.501 71.9915 200.817C77.4271 198.132 83.6913 196.79 90.7841 196.79C98.0758 196.79 104.423 198.082 109.825 200.668C115.261 203.22 119.487 206.766 122.503 211.307C125.519 215.848 127.027 221.051 127.027 226.918C127.027 230.762 126.265 234.557 124.74 238.303C123.249 242.048 120.58 246.207 116.736 250.781C112.891 255.322 107.472 260.774 100.479 267.138L85.6136 281.705V282.401H128.369V300H55.7841ZM179.863 249.091C179.863 261.454 178.205 272.822 174.891 283.196C171.61 293.57 166.572 303.182 159.777 312.031H139.543C142.128 308.75 144.531 304.74 146.752 300C148.972 295.26 150.911 290.09 152.569 284.489C154.226 278.854 155.518 273.021 156.446 266.989C157.374 260.956 157.838 254.991 157.838 249.091C157.838 241.236 157.026 233.314 155.402 225.327C153.811 217.306 151.624 209.882 148.84 203.054C146.089 196.193 142.99 190.575 139.543 186.2H159.777C166.572 195.05 171.61 204.661 174.891 215.036C178.205 225.41 179.863 236.761 179.863 249.091Z" fill="currentColor"/>
281307
+ <path d="M89.3175 473.392C81.8932 473.392 75.281 472.116 69.4808 469.564C63.7138 466.979 59.1565 463.432 55.8089 458.925C52.4946 454.384 50.7876 449.147 50.6882 443.214H72.3643C72.4969 445.7 73.3089 447.888 74.8004 449.777C76.325 451.633 78.3468 453.075 80.8658 454.102C83.3847 455.13 86.2185 455.643 89.3672 455.643C92.6484 455.643 95.5485 455.063 98.0675 453.903C100.586 452.743 102.558 451.136 103.984 449.081C105.409 447.026 106.121 444.656 106.121 441.972C106.121 439.254 105.359 436.851 103.835 434.763C102.343 432.642 100.189 430.984 97.3715 429.791C94.5874 428.598 91.273 428.001 87.4283 428.001H77.9325V412.192H87.4283C90.6764 412.192 93.5433 411.628 96.0291 410.501C98.5481 409.375 100.504 407.817 101.896 405.828C103.288 403.806 103.984 401.453 103.984 398.768C103.984 396.216 103.371 393.979 102.144 392.057C100.951 390.101 99.2607 388.577 97.0732 387.483C94.9188 386.389 92.3999 385.842 89.5163 385.842C86.5997 385.842 83.9316 386.373 81.5121 387.433C79.0926 388.461 77.1536 389.936 75.6953 391.858C74.237 393.78 73.4581 396.034 73.3587 398.619H52.7266C52.826 392.753 54.4998 387.582 57.7479 383.108C60.996 378.634 65.371 375.137 70.8729 372.618C76.4079 370.066 82.6555 368.79 89.6158 368.79C96.6423 368.79 102.79 370.066 108.06 372.618C113.33 375.17 117.424 378.617 120.34 382.959C123.29 387.268 124.748 392.107 124.715 397.476C124.748 403.177 122.975 407.933 119.396 411.744C115.849 415.556 111.226 417.975 105.525 419.003V419.798C113.015 420.759 118.716 423.361 122.627 427.604C126.571 431.813 128.527 437.083 128.494 443.413C128.527 449.214 126.853 454.367 123.472 458.875C120.125 463.383 115.501 466.929 109.602 469.514C103.702 472.099 96.9406 473.392 89.3175 473.392ZM179.863 421.091C179.863 433.454 178.205 444.822 174.891 455.196C171.61 465.57 166.572 475.182 159.777 484.031H139.543C142.128 480.75 144.531 476.74 146.752 472C148.972 467.26 150.911 462.09 152.569 456.489C154.226 450.854 155.518 445.021 156.446 438.989C157.374 432.956 157.838 426.991 157.838 421.091C157.838 413.236 157.026 405.314 155.402 397.327C153.811 389.306 151.624 381.882 148.84 375.054C146.089 368.193 142.99 362.575 139.543 358.2H159.777C166.572 367.05 171.61 376.661 174.891 387.036C178.205 397.41 179.863 408.761 179.863 421.091Z" fill="currentColor"/>
281308
+ </g>
281309
+ <defs>
281310
+ <clipPath id="clip0_1_12">
281311
+ <rect width="512" height="512" fill="white"/>
281312
+ </clipPath>
281313
+ </defs>
281314
+ </svg>
281315
+ `, list_upper_roman_solid_default = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
281316
+ <path fill="currentColor" d="M260 54c-17.7 0-32 14.3-32 32s14.3 32 32 32l220 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L260 54zm0 170c-17.7 0-32 14.3-32 32s14.3 32 32 32l220 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-220 0zm0 170c-17.7 0-32 14.3-32 32s14.3 32 32 32l220 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-220 0z"/>
281317
+ <text fill="currentColor" font-family="Georgia, serif" font-weight="bold" font-size="120" text-anchor="end" x="210" y="86" dominant-baseline="central">I.</text>
281318
+ <text fill="currentColor" font-family="Georgia, serif" font-weight="bold" font-size="120" text-anchor="end" x="210" y="256" dominant-baseline="central">II.</text>
281319
+ <text fill="currentColor" font-family="Georgia, serif" font-weight="bold" font-size="120" text-anchor="end" x="210" y="426" dominant-baseline="central">III.</text>
281320
+ </svg>
281321
+ `, list_lower_roman_solid_default = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
281322
+ <path fill="currentColor" d="M260 54C242.3 54 228 68.3 228 86C228 103.7 242.3 118 260 118H480C497.7 118 512 103.7 512 86C512 68.3 497.7 54 480 54H260ZM260 224C242.3 224 228 238.3 228 256C228 273.7 242.3 288 260 288H480C497.7 288 512 273.7 512 256C512 238.3 497.7 224 480 224H260ZM260 394C242.3 394 228 408.3 228 426C228 443.7 242.3 458 260 458H480C497.7 458 512 443.7 512 426C512 408.3 497.7 394 480 394H260Z"/>
281323
+ <text fill="currentColor" font-family="Georgia, serif" font-weight="bold" font-size="120" text-anchor="end" x="210" y="86" dominant-baseline="central">i.</text>
281324
+ <text fill="currentColor" font-family="Georgia, serif" font-weight="bold" font-size="120" text-anchor="end" x="210" y="256" dominant-baseline="central">ii.</text>
281325
+ <text fill="currentColor" font-family="Georgia, serif" font-weight="bold" font-size="120" text-anchor="end" x="210" y="426" dominant-baseline="central">iii.</text>
281326
+ </svg>
281327
+ `, list_upper_alpha_solid_default = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
281328
+ <path fill="currentColor" d="M260 54c-17.7 0-32 14.3-32 32s14.3 32 32 32l220 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L260 54zm0 170c-17.7 0-32 14.3-32 32s14.3 32 32 32l220 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-220 0zm0 170c-17.7 0-32 14.3-32 32s14.3 32 32 32l220 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-220 0z"/>
281329
+ <text fill="currentColor" font-family="sans-serif" font-weight="bold" font-size="140" text-anchor="end" x="210" y="86" dominant-baseline="central">A.</text>
281330
+ <text fill="currentColor" font-family="sans-serif" font-weight="bold" font-size="140" text-anchor="end" x="210" y="256" dominant-baseline="central">B.</text>
281331
+ <text fill="currentColor" font-family="sans-serif" font-weight="bold" font-size="140" text-anchor="end" x="210" y="426" dominant-baseline="central">C.</text>
281332
+ </svg>
281333
+ `, list_upper_alpha_paren_solid_default = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
281334
+ <path fill="currentColor" d="M260 54c-17.7 0-32 14.3-32 32s14.3 32 32 32l220 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L260 54zm0 170c-17.7 0-32 14.3-32 32s14.3 32 32 32l220 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-220 0zm0 170c-17.7 0-32 14.3-32 32s14.3 32 32 32l220 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-220 0z"/>
281335
+ <text fill="currentColor" font-family="sans-serif" font-weight="bold" font-size="140" text-anchor="end" x="210" y="86" dominant-baseline="central">A)</text>
281336
+ <text fill="currentColor" font-family="sans-serif" font-weight="bold" font-size="140" text-anchor="end" x="210" y="256" dominant-baseline="central">B)</text>
281337
+ <text fill="currentColor" font-family="sans-serif" font-weight="bold" font-size="140" text-anchor="end" x="210" y="426" dominant-baseline="central">C)</text>
281338
+ </svg>
281339
+ `, list_lower_alpha_solid_default = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
281340
+ <path fill="currentColor" d="M260 54C242.3 54 228 68.3 228 86C228 103.7 242.3 118 260 118H480C497.7 118 512 103.7 512 86C512 68.3 497.7 54 480 54H260ZM260 224C242.3 224 228 238.3 228 256C228 273.7 242.3 288 260 288H480C497.7 288 512 273.7 512 256C512 238.3 497.7 224 480 224H260ZM260 394C242.3 394 228 408.3 228 426C228 443.7 242.3 458 260 458H480C497.7 458 512 443.7 512 426C512 408.3 497.7 394 480 394H260Z"/>
281341
+ <text fill="currentColor" font-family="sans-serif" font-weight="bold" font-size="140" text-anchor="end" x="210" y="74" dominant-baseline="central">a.</text>
281342
+ <text fill="currentColor" font-family="sans-serif" font-weight="bold" font-size="140" text-anchor="end" x="210" y="244" dominant-baseline="central">b.</text>
281343
+ <text fill="currentColor" font-family="sans-serif" font-weight="bold" font-size="140" text-anchor="end" x="210" y="414" dominant-baseline="central">c.</text>
281344
+ </svg>
281345
+ `, list_lower_alpha_paren_solid_default = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
281346
+ <path fill="currentColor" d="M260 54C242.3 54 228 68.3 228 86C228 103.7 242.3 118 260 118H480C497.7 118 512 103.7 512 86C512 68.3 497.7 54 480 54H260ZM260 224C242.3 224 228 238.3 228 256C228 273.7 242.3 288 260 288H480C497.7 288 512 273.7 512 256C512 238.3 497.7 224 480 224H260ZM260 394C242.3 394 228 408.3 228 426C228 443.7 242.3 458 260 458H480C497.7 458 512 443.7 512 426C512 408.3 497.7 394 480 394H260Z"/>
281347
+ <text fill="currentColor" font-family="sans-serif" font-weight="bold" font-size="140" text-anchor="end" x="210" y="74" dominant-baseline="central">a)</text>
281348
+ <text fill="currentColor" font-family="sans-serif" font-weight="bold" font-size="140" text-anchor="end" x="210" y="244" dominant-baseline="central">b)</text>
281349
+ <text fill="currentColor" font-family="sans-serif" font-weight="bold" font-size="140" text-anchor="end" x="210" y="414" dominant-baseline="central">c)</text>
281350
+ </svg>
281351
+ `, 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>
280813
281352
  `, 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>
280814
281353
  `, 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>
280815
- `, 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, BulletStyleButtons_default, _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>
281354
+ `, 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>
280816
281355
  `, _hoisted_1$14, _hoisted_2$11, _hoisted_3$8, IconGrid_default, closeDropdown$1 = (dropdown) => {
280817
281356
  dropdown.expand.value = false;
280818
281357
  }, makeColorOption = (color2, label = null) => {
@@ -281365,7 +281904,6 @@ var Node$13 = class Node$14 {
281365
281904
  hasCaret: true,
281366
281905
  tooltip: toolbarTexts$1.bulletList,
281367
281906
  restoreEditorFocus: true,
281368
- suppressActiveHighlight: true,
281369
281907
  attributes: { ariaLabel: "Bullet list" },
281370
281908
  options: [{
281371
281909
  type: "render",
@@ -281382,7 +281920,9 @@ var Node$13 = class Node$14 {
281382
281920
  argument: style2
281383
281921
  });
281384
281922
  };
281385
- return exports_vue.h(BulletStyleButtons_default, {
281923
+ return exports_vue.h(StyleButtonsList_default, {
281924
+ buttons: bulletStyleButtons,
281925
+ iconSize: 25,
281386
281926
  selectedStyle: bulletedList.selectedValue.value,
281387
281927
  onSelect: handleSelect
281388
281928
  });
@@ -281390,14 +281930,39 @@ var Node$13 = class Node$14 {
281390
281930
  }]
281391
281931
  });
281392
281932
  const numberedList = useToolbarItem({
281393
- type: "button",
281933
+ type: "dropdown",
281394
281934
  name: "numberedlist",
281395
- command: "toggleOrderedList",
281935
+ command: "toggleOrderedListStyle",
281936
+ splitButton: true,
281937
+ splitButtonCommand: "toggleOrderedList",
281396
281938
  icon: toolbarIcons$1.numberedList,
281397
- active: false,
281939
+ hasCaret: true,
281398
281940
  tooltip: toolbarTexts$1.numberedList,
281399
281941
  restoreEditorFocus: true,
281400
- attributes: { ariaLabel: "Numbered list" }
281942
+ attributes: { ariaLabel: "Numbered list" },
281943
+ options: [{
281944
+ type: "render",
281945
+ key: "numbered-style-buttons",
281946
+ render: () => {
281947
+ const handleSelect = (style2) => {
281948
+ closeDropdown(numberedList);
281949
+ const item = {
281950
+ ...numberedList,
281951
+ command: "toggleOrderedListStyle"
281952
+ };
281953
+ superToolbar.emitCommand({
281954
+ item,
281955
+ argument: style2
281956
+ });
281957
+ };
281958
+ return exports_vue.h(StyleButtonsList_default, {
281959
+ buttons: numberedStyleButtons,
281960
+ iconSize: 30,
281961
+ selectedStyle: numberedList.selectedValue.value,
281962
+ onSelect: handleSelect
281963
+ });
281964
+ }
281965
+ }]
281401
281966
  });
281402
281967
  const indentLeft = useToolbarItem({
281403
281968
  type: "button",
@@ -285921,7 +286486,85 @@ menclose::after {
285921
286486
  styleEl.textContent = MATH_MENCLOSE_STYLES;
285922
286487
  doc$12.head?.appendChild(styleEl);
285923
286488
  mathMencloseStylesInjected = true;
285924
- }, gradientIdCounter = 0, isBetweenBorderNone = (borders) => {
286489
+ }, gradientIdCounter = 0, getFiniteNumber = (value) => {
286490
+ if (typeof value !== "number" || !Number.isFinite(value))
286491
+ return;
286492
+ return value;
286493
+ }, getNonNegativeFiniteNumber = (value) => {
286494
+ const numericValue = getFiniteNumber(value);
286495
+ if (numericValue == null || numericValue < 0)
286496
+ return;
286497
+ return numericValue;
286498
+ }, getMarkerTextWidthPx = (marker, measureMarkerText) => {
286499
+ const glyphWidthPx = getNonNegativeFiniteNumber(marker.glyphWidthPx);
286500
+ if (glyphWidthPx != null)
286501
+ return glyphWidthPx;
286502
+ if (marker.markerText) {
286503
+ const safeMeasuredWidthPx = getNonNegativeFiniteNumber(measureMarkerText(marker.markerText, marker));
286504
+ if (safeMeasuredWidthPx != null)
286505
+ return safeMeasuredWidthPx;
286506
+ }
286507
+ return getNonNegativeFiniteNumber(marker.markerBoxWidthPx) ?? 0;
286508
+ }, getMarkerBoxWidthPx = (marker, markerTextWidthPx) => Math.max(getNonNegativeFiniteNumber(marker.markerBoxWidthPx) ?? 0, markerTextWidthPx), getExplicitFirstLineMarkerStartPx = (wordLayout, marker) => {
286509
+ if (wordLayout?.firstLineIndentMode !== true)
286510
+ return;
286511
+ return getFiniteNumber(marker.markerX);
286512
+ }, getMarkerAnchorPx = (indentLeft, firstLine, hanging) => indentLeft - hanging + firstLine, getMarkerStartPx = (anchorPx, justification, markerTextWidthPx) => {
286513
+ if (justification === "right")
286514
+ return anchorPx - markerTextWidthPx;
286515
+ if (justification === "center")
286516
+ return anchorPx - markerTextWidthPx / 2;
286517
+ return anchorPx;
286518
+ }, getNextExplicitTabStopPx = (tabsPx, currentPosPx) => {
286519
+ if (!Array.isArray(tabsPx))
286520
+ return;
286521
+ for (const tabPx of tabsPx)
286522
+ if (typeof tabPx === "number" && Number.isFinite(tabPx) && tabPx > currentPosPx)
286523
+ return tabPx;
286524
+ }, getFirstLineTextStartTargetPx = (wordLayout, marker) => {
286525
+ return getFiniteNumber(marker.textStartX) ?? getFiniteNumber(wordLayout?.textStartPx);
286526
+ }, getNextDefaultTabStopPx = (currentPosPx) => {
286527
+ const remainderPx = currentPosPx % 48;
286528
+ if (remainderPx === 0)
286529
+ return currentPosPx + 48;
286530
+ return currentPosPx + 48 - remainderPx;
286531
+ }, getMinimumReadableTextStartPx = (markerContentEndPx, gutterWidthPx) => markerContentEndPx + gutterWidthPx, resolveExplicitStandardTextStartPx = (explicitTextStartPx, markerContentEndPx, gutterWidthPx) => {
286532
+ if (explicitTextStartPx == null)
286533
+ return;
286534
+ if (explicitTextStartPx > markerContentEndPx)
286535
+ return explicitTextStartPx;
286536
+ if (explicitTextStartPx > 0) {
286537
+ const nextTabStopPx = getNextDefaultTabStopPx(markerContentEndPx);
286538
+ const minReadablePx = getMinimumReadableTextStartPx(markerContentEndPx, gutterWidthPx);
286539
+ return Math.max(nextTabStopPx, minReadablePx);
286540
+ }
286541
+ }, getFiniteNonNegativeNumber = (value) => {
286542
+ if (typeof value !== "number" || !Number.isFinite(value) || value < 0)
286543
+ return;
286544
+ return value;
286545
+ }, resolvePainterMarkerTextWidth = (markerTextWidthPx, marker) => getFiniteNonNegativeNumber(markerTextWidthPx) ?? getFiniteNonNegativeNumber(marker.glyphWidthPx) ?? getFiniteNonNegativeNumber(marker.markerBoxWidthPx) ?? 0, resolvePainterListMarkerGeometry = ({ wordLayout, indentLeftPx, hangingIndentPx, firstLineIndentPx, markerTextWidthPx }) => resolveListMarkerGeometry(wordLayout, indentLeftPx, firstLineIndentPx, hangingIndentPx, (_markerText, marker) => resolvePainterMarkerTextWidth(markerTextWidthPx, marker)), resolvePainterListTextStartPx = ({ wordLayout, indentLeftPx, hangingIndentPx, firstLineIndentPx, markerTextWidthPx }) => resolveListTextStartPx(wordLayout, indentLeftPx, firstLineIndentPx, hangingIndentPx, (_markerText, marker) => resolvePainterMarkerTextWidth(markerTextWidthPx, marker)), createListMarkerElement = (doc$12, markerText, run2, sourceAnchor) => {
286546
+ const markerContainer = doc$12.createElement("span");
286547
+ markerContainer.classList.add(DOM_CLASS_NAMES.LIST_MARKER);
286548
+ markerContainer.style.display = "inline-block";
286549
+ markerContainer.style.wordSpacing = "0px";
286550
+ const markerEl = doc$12.createElement("span");
286551
+ markerEl.classList.add("superdoc-paragraph-marker");
286552
+ markerEl.textContent = markerText;
286553
+ markerEl.style.pointerEvents = "none";
286554
+ markerEl.style.fontFamily = toCssFontFamily(run2.fontFamily) ?? run2.fontFamily ?? "";
286555
+ if (run2.fontSize != null)
286556
+ markerEl.style.fontSize = `${run2.fontSize}px`;
286557
+ markerEl.style.fontWeight = run2.bold ? "bold" : "";
286558
+ markerEl.style.fontStyle = run2.italic ? "italic" : "";
286559
+ if (run2.color)
286560
+ markerEl.style.color = run2.color;
286561
+ if (run2.letterSpacing != null)
286562
+ markerEl.style.letterSpacing = `${run2.letterSpacing}px`;
286563
+ markerContainer.appendChild(markerEl);
286564
+ if (sourceAnchor)
286565
+ applySourceAnchorDataset(markerEl, sourceAnchor);
286566
+ return markerContainer;
286567
+ }, isBetweenBorderNone = (borders) => {
285925
286568
  if (!borders?.between)
285926
286569
  return true;
285927
286570
  return borders.between.style === "none";
@@ -286205,60 +286848,7 @@ menclose::after {
286205
286848
  line.el.style.marginLeft = `${marginLeft}px`;
286206
286849
  line.el.style.marginRight = `${marginRight}px`;
286207
286850
  });
286208
- }, getFiniteNumber = (value) => {
286209
- if (typeof value !== "number" || !Number.isFinite(value))
286210
- return;
286211
- return value;
286212
- }, getNonNegativeFiniteNumber = (value) => {
286213
- const numericValue = getFiniteNumber(value);
286214
- if (numericValue == null || numericValue < 0)
286215
- return;
286216
- return numericValue;
286217
- }, getMarkerTextWidthPx = (marker, measureMarkerText) => {
286218
- const glyphWidthPx = getNonNegativeFiniteNumber(marker.glyphWidthPx);
286219
- if (glyphWidthPx != null)
286220
- return glyphWidthPx;
286221
- if (marker.markerText) {
286222
- const safeMeasuredWidthPx = getNonNegativeFiniteNumber(measureMarkerText(marker.markerText, marker));
286223
- if (safeMeasuredWidthPx != null)
286224
- return safeMeasuredWidthPx;
286225
- }
286226
- return getNonNegativeFiniteNumber(marker.markerBoxWidthPx) ?? 0;
286227
- }, getMarkerBoxWidthPx = (marker, markerTextWidthPx) => Math.max(getNonNegativeFiniteNumber(marker.markerBoxWidthPx) ?? 0, markerTextWidthPx), getExplicitFirstLineMarkerStartPx = (wordLayout, marker) => {
286228
- if (wordLayout?.firstLineIndentMode !== true)
286229
- return;
286230
- return getFiniteNumber(marker.markerX);
286231
- }, getMarkerAnchorPx = (indentLeft, firstLine, hanging) => indentLeft - hanging + firstLine, getMarkerStartPx = (anchorPx, justification, markerTextWidthPx) => {
286232
- if (justification === "right")
286233
- return anchorPx - markerTextWidthPx;
286234
- if (justification === "center")
286235
- return anchorPx - markerTextWidthPx / 2;
286236
- return anchorPx;
286237
- }, getNextExplicitTabStopPx = (tabsPx, currentPosPx) => {
286238
- if (!Array.isArray(tabsPx))
286239
- return;
286240
- for (const tabPx of tabsPx)
286241
- if (typeof tabPx === "number" && Number.isFinite(tabPx) && tabPx > currentPosPx)
286242
- return tabPx;
286243
- }, getFirstLineTextStartTargetPx = (wordLayout, marker) => {
286244
- return getFiniteNumber(marker.textStartX) ?? getFiniteNumber(wordLayout?.textStartPx);
286245
- }, getNextDefaultTabStopPx = (currentPosPx) => {
286246
- const remainderPx = currentPosPx % 48;
286247
- if (remainderPx === 0)
286248
- return currentPosPx + 48;
286249
- return currentPosPx + 48 - remainderPx;
286250
- }, getMinimumReadableTextStartPx = (markerContentEndPx, gutterWidthPx) => markerContentEndPx + gutterWidthPx, resolveExplicitStandardTextStartPx = (explicitTextStartPx, markerContentEndPx, gutterWidthPx) => {
286251
- if (explicitTextStartPx == null)
286252
- return;
286253
- if (explicitTextStartPx > markerContentEndPx)
286254
- return explicitTextStartPx;
286255
- if (explicitTextStartPx > 0)
286256
- return getMinimumReadableTextStartPx(markerContentEndPx, gutterWidthPx);
286257
- }, getFiniteNonNegativeNumber = (value) => {
286258
- if (typeof value !== "number" || !Number.isFinite(value) || value < 0)
286259
- return;
286260
- return value;
286261
- }, resolvePainterMarkerTextWidth = (markerTextWidthPx, marker) => getFiniteNonNegativeNumber(markerTextWidthPx) ?? getFiniteNonNegativeNumber(marker.glyphWidthPx) ?? getFiniteNonNegativeNumber(marker.markerBoxWidthPx) ?? 0, resolvePainterListMarkerGeometry = ({ wordLayout, indentLeftPx, hangingIndentPx, firstLineIndentPx, markerTextWidthPx }) => resolveListMarkerGeometry(wordLayout, indentLeftPx, firstLineIndentPx, hangingIndentPx, (_markerText, marker) => resolvePainterMarkerTextWidth(markerTextWidthPx, marker)), resolvePainterListTextStartPx = ({ wordLayout, indentLeftPx, hangingIndentPx, firstLineIndentPx, markerTextWidthPx }) => resolveListTextStartPx(wordLayout, indentLeftPx, firstLineIndentPx, hangingIndentPx, (_markerText, marker) => resolvePainterMarkerTextWidth(markerTextWidthPx, marker)), normalizeSpan = (span) => {
286851
+ }, normalizeSpan = (span) => {
286262
286852
  if (typeof span !== "number" || !Number.isFinite(span) || span < 1)
286263
286853
  return 1;
286264
286854
  return Math.floor(span);
@@ -290298,6 +290888,12 @@ menclose::after {
290298
290888
  return false;
290299
290889
  if (resolveTrackedChangesEnabled(a2.attrs, true) !== resolveTrackedChangesEnabled(b$1.attrs, true))
290300
290890
  return false;
290891
+ const aMarker = a2.attrs?.wordLayout?.marker;
290892
+ const bMarker = b$1.attrs?.wordLayout?.marker;
290893
+ if ((aMarker?.markerText ?? null) !== (bMarker?.markerText ?? null))
290894
+ return false;
290895
+ if ((aMarker?.justification ?? null) !== (bMarker?.justification ?? null))
290896
+ return false;
290301
290897
  if (!paragraphAttrsEqual(a2.attrs, b$1.attrs))
290302
290898
  return false;
290303
290899
  if (a2.runs.length !== b$1.runs.length)
@@ -295216,11 +295812,18 @@ menclose::after {
295216
295812
  } else
295217
295813
  this.#syncNonBodyCommentActivation(event, target, bodyEditor);
295218
295814
  const isNoteEditing = activeNoteSession != null;
295219
- const useActiveSurfaceHitTest = sessionMode !== "body" || activeStorySession != null;
295220
- const editor = sessionMode === "body" && !isNoteEditing ? bodyEditor : this.#deps.getActiveEditor();
295221
- if (sessionMode !== "body") {
295815
+ let currentSessionMode = sessionMode;
295816
+ let useActiveSurfaceHitTest = currentSessionMode !== "body" || activeStorySession != null;
295817
+ let editor = currentSessionMode === "body" && !isNoteEditing ? bodyEditor : this.#deps.getActiveEditor();
295818
+ if (currentSessionMode !== "body") {
295222
295819
  if (this.#handleClickInHeaderFooterMode(event, x, y$1, normalizedPoint.pageIndex, normalizedPoint.pageLocalY))
295223
295820
  return;
295821
+ if ((this.#deps.getHeaderFooterSession()?.session?.mode ?? "body") === "body" && !isNoteEditing) {
295822
+ activeStorySession = this.#deps.getActiveStorySession?.() ?? null;
295823
+ currentSessionMode = "body";
295824
+ useActiveSurfaceHitTest = activeStorySession != null;
295825
+ editor = bodyEditor;
295826
+ }
295224
295827
  }
295225
295828
  if (this.#callbacks.hitTestHeaderFooterRegion?.(x, y$1, normalizedPoint.pageIndex, normalizedPoint.pageLocalY)) {
295226
295829
  if (sessionMode === "body") {
@@ -295228,10 +295831,12 @@ menclose::after {
295228
295831
  return;
295229
295832
  }
295230
295833
  }
295231
- if (!useActiveSurfaceHitTest && isOutsidePageBodyContent(layoutState.layout, x, normalizedPoint.pageIndex, normalizedPoint.pageLocalY)) {
295232
- event.preventDefault();
295233
- this.#focusEditor();
295234
- return;
295834
+ if (!useActiveSurfaceHitTest) {
295835
+ if (!Number.isFinite(normalizedPoint.pageIndex) || isOutsidePageBodyContent(layoutState.layout, x, normalizedPoint.pageIndex, normalizedPoint.pageLocalY)) {
295836
+ event.preventDefault();
295837
+ this.#focusEditor();
295838
+ return;
295839
+ }
295235
295840
  }
295236
295841
  const { rawHit, hit } = this.#resolveSelectionPointerHit({
295237
295842
  layoutState,
@@ -299208,18 +299813,18 @@ menclose::after {
299208
299813
  return;
299209
299814
  console.log(...args$1);
299210
299815
  }, 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;
299211
- var init_src_deKdT_sq_es = __esm(() => {
299816
+ var init_src_ItIaPxzW_es = __esm(() => {
299212
299817
  init_rolldown_runtime_Bg48TavK_es();
299213
- init_SuperConverter_ing_1fvK_es();
299818
+ init_SuperConverter_D1o6_yKI_es();
299214
299819
  init_jszip_C49i9kUs_es();
299215
299820
  init_uuid_qzgm05fK_es();
299216
- init_create_headless_toolbar_CUl2z6Fd_es();
299821
+ init_create_headless_toolbar_CJ0iQq1T_es();
299217
299822
  init_constants_DrU4EASo_es();
299218
299823
  init_dist_B8HfvhaK_es();
299219
299824
  init_unified_Dsuw2be5_es();
299220
299825
  init_remark_gfm_BhnWr3yf_es();
299221
299826
  init_remark_stringify_6MMJfY0k_es();
299222
- init_DocxZipper_CUX64E5K_es();
299827
+ init_DocxZipper_Dh4RtvcE_es();
299223
299828
  init__plugin_vue_export_helper_HmhZBO0u_es();
299224
299829
  init_eventemitter3_UwU_CLPU_es();
299225
299830
  init_errors_C_DoKMoN_es();
@@ -302222,7 +302827,11 @@ ${err.toString()}`);
302222
302827
  toggleBulletListStyle: (style2) => (params$1) => {
302223
302828
  return toggleList("bulletList", style2)(params$1);
302224
302829
  },
302225
- restartNumbering: () => restartNumbering
302830
+ toggleOrderedListStyle: (style2) => (params$1) => {
302831
+ return toggleList("orderedList", null, style2)(params$1);
302832
+ },
302833
+ restartNumbering: () => restartNumbering,
302834
+ continueNumbering: () => continueNumbering
302226
302835
  };
302227
302836
  },
302228
302837
  addPmPlugins() {
@@ -317400,6 +318009,7 @@ function print() { __p += __j.call(arguments, '') }
317400
318009
  SDT_GROUP_HOVER: "sdt-group-hover",
317401
318010
  IMAGE_FRAGMENT: "superdoc-image-fragment",
317402
318011
  INLINE_IMAGE: "superdoc-inline-image",
318012
+ LIST_MARKER: "superdoc-list-marker",
317403
318013
  INLINE_IMAGE_CLIP_WRAPPER: "superdoc-inline-image-clip-wrapper",
317404
318014
  ANNOTATION: "annotation",
317405
318015
  ANNOTATION_CONTENT: "annotation-content",
@@ -317965,6 +318575,14 @@ function print() { __p += __j.call(arguments, '') }
317965
318575
  bulletListCircle: list_circle_solid_default,
317966
318576
  bulletListSquare: list_square_solid_default,
317967
318577
  numberedList: list_ol_solid_default,
318578
+ numberedListDecimal: list_decimal_solid_default,
318579
+ numberedListDecimalParen: list_decimal_paren_solid_default,
318580
+ numberedListUpperRoman: list_upper_roman_solid_default,
318581
+ numberedListLowerRoman: list_lower_roman_solid_default,
318582
+ numberedListUpperAlpha: list_upper_alpha_solid_default,
318583
+ numberedListUpperAlphaParen: list_upper_alpha_paren_solid_default,
318584
+ numberedListLowerAlpha: list_lower_alpha_solid_default,
318585
+ numberedListLowerAlphaParen: list_lower_alpha_paren_solid_default,
317968
318586
  indentLeft: outdent_solid_default,
317969
318587
  indentRight: indent_solid_default,
317970
318588
  pageBreak: file_half_dashed_solid_default,
@@ -318116,35 +318734,32 @@ function print() { __p += __j.call(arguments, '') }
318116
318734
  "aria-label",
318117
318735
  "onKeydown"
318118
318736
  ];
318119
- BulletStyleButtons_default = /* @__PURE__ */ __plugin_vue_export_helper_default({
318120
- __name: "BulletStyleButtons",
318121
- props: { selectedStyle: {
318122
- type: String,
318123
- default: null
318124
- } },
318737
+ StyleButtonsList_default = /* @__PURE__ */ __plugin_vue_export_helper_default({
318738
+ __name: "StyleButtonsList",
318739
+ props: {
318740
+ buttons: {
318741
+ type: Array,
318742
+ required: true
318743
+ },
318744
+ selectedStyle: {
318745
+ type: String,
318746
+ default: null
318747
+ },
318748
+ iconSize: {
318749
+ type: Number,
318750
+ default: 25
318751
+ }
318752
+ },
318125
318753
  emits: ["select"],
318126
318754
  setup(__props, { emit: __emit }) {
318127
318755
  const { isHighContrastMode: isHighContrastMode$1 } = useHighContrastMode();
318128
318756
  const emit = __emit;
318129
318757
  const props = __props;
318130
318758
  const buttonRefs = exports_vue.ref([]);
318131
- const bulletButtons = [
318132
- {
318133
- key: "disc",
318134
- icon: toolbarIcons.bulletListDisc,
318135
- ariaLabel: "Opaque circle"
318136
- },
318137
- {
318138
- key: "circle",
318139
- icon: toolbarIcons.bulletListCircle,
318140
- ariaLabel: "Outline circle"
318141
- },
318142
- {
318143
- key: "square",
318144
- icon: toolbarIcons.bulletListSquare,
318145
- ariaLabel: "Opaque square"
318146
- }
318147
- ];
318759
+ const iconStyle = exports_vue.computed(() => ({
318760
+ width: `${props.iconSize}px`,
318761
+ height: `${props.iconSize}px`
318762
+ }));
318148
318763
  const select2 = (key2) => {
318149
318764
  emit("select", key2);
318150
318765
  };
@@ -318175,7 +318790,7 @@ function print() { __p += __j.call(arguments, '') }
318175
318790
  moveToNextButton(index2);
318176
318791
  break;
318177
318792
  case "Enter":
318178
- select2(bulletButtons[index2].key);
318793
+ select2(props.buttons[index2].key);
318179
318794
  break;
318180
318795
  default:
318181
318796
  break;
@@ -318189,10 +318804,11 @@ function print() { __p += __j.call(arguments, '') }
318189
318804
  }
318190
318805
  });
318191
318806
  return (_ctx, _cache) => {
318192
- return exports_vue.openBlock(), exports_vue.createElementBlock("div", { class: exports_vue.normalizeClass(["bullet-style-buttons", { "high-contrast": exports_vue.unref(isHighContrastMode$1) }]) }, [(exports_vue.openBlock(), exports_vue.createElementBlock(exports_vue.Fragment, null, exports_vue.renderList(bulletButtons, (button, index2) => {
318193
- return exports_vue.createElementVNode("div", {
318807
+ return exports_vue.openBlock(), exports_vue.createElementBlock("div", { class: exports_vue.normalizeClass(["style-buttons-list", { "high-contrast": exports_vue.unref(isHighContrastMode$1) }]) }, [(exports_vue.openBlock(true), exports_vue.createElementBlock(exports_vue.Fragment, null, exports_vue.renderList(props.buttons, (button, index2) => {
318808
+ return exports_vue.openBlock(), exports_vue.createElementBlock("div", {
318194
318809
  key: button.key,
318195
318810
  class: exports_vue.normalizeClass(["button-icon", { selected: props.selectedStyle === button.key }]),
318811
+ style: exports_vue.normalizeStyle(iconStyle.value),
318196
318812
  onClick: ($event) => select2(button.key),
318197
318813
  innerHTML: button.icon,
318198
318814
  role: "menuitem",
@@ -318201,11 +318817,70 @@ function print() { __p += __j.call(arguments, '') }
318201
318817
  ref_key: "buttonRefs",
318202
318818
  ref: buttonRefs,
318203
318819
  onKeydown: exports_vue.withModifiers((event) => handleKeyDown$1(event, index2), ["prevent"])
318204
- }, null, 42, _hoisted_1$19);
318205
- }), 64))], 2);
318820
+ }, null, 46, _hoisted_1$19);
318821
+ }), 128))], 2);
318206
318822
  };
318207
318823
  }
318208
- }, [["__scopeId", "data-v-e1b3c81e"]]);
318824
+ }, [["__scopeId", "data-v-d374ab76"]]);
318825
+ bulletStyleButtons = [
318826
+ {
318827
+ key: "disc",
318828
+ icon: toolbarIcons.bulletListDisc,
318829
+ ariaLabel: "Opaque circle"
318830
+ },
318831
+ {
318832
+ key: "circle",
318833
+ icon: toolbarIcons.bulletListCircle,
318834
+ ariaLabel: "Outline circle"
318835
+ },
318836
+ {
318837
+ key: "square",
318838
+ icon: toolbarIcons.bulletListSquare,
318839
+ ariaLabel: "Opaque square"
318840
+ }
318841
+ ];
318842
+ numberedStyleButtons = [
318843
+ {
318844
+ key: "decimal",
318845
+ icon: toolbarIcons.numberedListDecimal,
318846
+ ariaLabel: "1. 2. 3."
318847
+ },
318848
+ {
318849
+ key: "decimal-paren",
318850
+ icon: toolbarIcons.numberedListDecimalParen,
318851
+ ariaLabel: "1) 2) 3)"
318852
+ },
318853
+ {
318854
+ key: "upper-roman",
318855
+ icon: toolbarIcons.numberedListUpperRoman,
318856
+ ariaLabel: "I. II. III."
318857
+ },
318858
+ {
318859
+ key: "lower-roman",
318860
+ icon: toolbarIcons.numberedListLowerRoman,
318861
+ ariaLabel: "i. ii. iii."
318862
+ },
318863
+ {
318864
+ key: "upper-alpha",
318865
+ icon: toolbarIcons.numberedListUpperAlpha,
318866
+ ariaLabel: "A. B. C."
318867
+ },
318868
+ {
318869
+ key: "upper-alpha-paren",
318870
+ icon: toolbarIcons.numberedListUpperAlphaParen,
318871
+ ariaLabel: "A) B) C)"
318872
+ },
318873
+ {
318874
+ key: "lower-alpha",
318875
+ icon: toolbarIcons.numberedListLowerAlpha,
318876
+ ariaLabel: "a. b. c."
318877
+ },
318878
+ {
318879
+ key: "lower-alpha-paren",
318880
+ icon: toolbarIcons.numberedListLowerAlphaParen,
318881
+ ariaLabel: "a) b) c)"
318882
+ }
318883
+ ];
318209
318884
  _hoisted_1$18 = ["onClick", "onKeydown"];
318210
318885
  _hoisted_2$15 = { class: "document-mode-column icon-column" };
318211
318886
  _hoisted_3$11 = ["innerHTML"];
@@ -319331,7 +320006,7 @@ function print() { __p += __j.call(arguments, '') }
319331
320006
  setup(__props, { emit: __emit }) {
319332
320007
  const emit = __emit;
319333
320008
  const props = __props;
319334
- const { name, active, icon, label, hideLabel, iconColor, hasCaret, splitButton, disabled, inlineTextInputVisible, hasInlineTextInput, minWidth, style: style2, attributes } = props.toolbarItem;
320009
+ const { name, active, icon, label, hideLabel, iconColor, hasCaret, splitButton, disabled, expand, inlineTextInputVisible, hasInlineTextInput, minWidth, style: style2, attributes } = props.toolbarItem;
319335
320010
  const isSplit = exports_vue.computed(() => Boolean(splitButton?.value) && Boolean(hasCaret?.value));
319336
320011
  const inlineTextInput = exports_vue.ref(label);
319337
320012
  const inlineInput = exports_vue.ref(null);
@@ -319374,7 +320049,7 @@ function print() { __p += __j.call(arguments, '') }
319374
320049
  return { minWidth: props.minWidth };
319375
320050
  });
319376
320051
  const caretIcon = exports_vue.computed(() => {
319377
- return active.value ? toolbarIcons.dropdownCaretUp : toolbarIcons.dropdownCaretDown;
320052
+ return expand?.value ? toolbarIcons.dropdownCaretUp : toolbarIcons.dropdownCaretDown;
319378
320053
  });
319379
320054
  return (_ctx, _cache) => {
319380
320055
  return exports_vue.openBlock(), exports_vue.createElementBlock("div", {
@@ -319469,7 +320144,7 @@ function print() { __p += __j.call(arguments, '') }
319469
320144
  ], 10, _hoisted_2$6)], 46, _hoisted_1$9);
319470
320145
  };
319471
320146
  }
319472
- }, [["__scopeId", "data-v-fdaeb82f"]]);
320147
+ }, [["__scopeId", "data-v-9012024b"]]);
319473
320148
  _hoisted_1$8 = {
319474
320149
  class: "toolbar-separator",
319475
320150
  role: "separator",
@@ -321026,6 +321701,15 @@ function print() { __p += __j.call(arguments, '') }
321026
321701
  item.selectedValue.value = null;
321027
321702
  }
321028
321703
  },
321704
+ numberedlist: () => {
321705
+ if (commandState?.active) {
321706
+ item.activate();
321707
+ item.selectedValue.value = commandState.value;
321708
+ } else {
321709
+ item.deactivate();
321710
+ item.selectedValue.value = null;
321711
+ }
321712
+ },
321029
321713
  default: () => {
321030
321714
  if (commandState?.active)
321031
321715
  item.activate();
@@ -324428,6 +325112,7 @@ function print() { __p += __j.call(arguments, '') }
324428
325112
  const prevState = this.state;
324429
325113
  let nextState;
324430
325114
  let transactionToApply = transaction;
325115
+ let effectiveTransaction = transaction;
324431
325116
  const forceTrackChanges = transactionToApply.getMeta("forceTrackChanges") === true;
324432
325117
  try {
324433
325118
  const isTrackChangesActive = TrackChangesBasePluginKey.getState(prevState)?.isTrackChangesActive ?? false;
@@ -324441,8 +325126,9 @@ function print() { __p += __j.call(arguments, '') }
324441
325126
  user: this.options.user,
324442
325127
  replacements: this.options.trackedChanges?.replacements === "independent" ? "independent" : "paired"
324443
325128
  }) : transactionToApply;
324444
- const { state: appliedState } = prevState.applyTransaction(transactionToApply);
325129
+ const { state: appliedState, transactions: appliedTransactions } = prevState.applyTransaction(transactionToApply);
324445
325130
  nextState = appliedState;
325131
+ effectiveTransaction = appliedTransactions.find((t) => t.docChanged) ?? transactionToApply;
324446
325132
  } catch (error3) {
324447
325133
  if (forceTrackChanges)
324448
325134
  throw error3;
@@ -324478,7 +325164,7 @@ function print() { __p += __j.call(arguments, '') }
324478
325164
  event: blur.event,
324479
325165
  transaction: transactionToApply
324480
325166
  });
324481
- if (transactionToApply.docChanged) {
325167
+ if (effectiveTransaction.docChanged) {
324482
325168
  if (transaction.docChanged && this.converter) {
324483
325169
  if (!this.converter.documentGuid) {
324484
325170
  this.converter.promoteToGuid();
@@ -324488,7 +325174,7 @@ function print() { __p += __j.call(arguments, '') }
324488
325174
  }
324489
325175
  this.emit("update", {
324490
325176
  editor: this,
324491
- transaction: transactionToApply
325177
+ transaction: effectiveTransaction
324492
325178
  });
324493
325179
  }
324494
325180
  }
@@ -326421,12 +327107,13 @@ function print() { __p += __j.call(arguments, '') }
326421
327107
  return false;
326422
327108
  return block.anchor?.vRelativeFrom === "page";
326423
327109
  }
326424
- getDecorationAnchorPageOriginY(pageEl, page, kind, effectiveOffset) {
327110
+ getDecorationAnchorPageOriginY(page, kind, effectiveOffset) {
326425
327111
  if (kind === "header")
326426
327112
  return effectiveOffset;
327113
+ if (!Number.isFinite(page.height) || page.height <= 0)
327114
+ throw new Error(`DomPainter: invalid ResolvedPage.height (${page.height}) for page ${page.index}; resolve stage must produce a positive numeric height.`);
326427
327115
  const pageMargins = page.margins;
326428
- const styledPageHeight = Number.parseFloat(pageEl.style.height || "");
326429
- const pageHeight = page.height ?? (Number.isFinite(styledPageHeight) ? styledPageHeight : pageEl.clientHeight);
327116
+ const pageHeight = page.height;
326430
327117
  const footerDistance = pageMargins?.footer;
326431
327118
  if (typeof footerDistance === "number" && Number.isFinite(footerDistance))
326432
327119
  return Math.max(0, pageHeight - Math.max(0, footerDistance));
@@ -326451,7 +327138,7 @@ function print() { __p += __j.call(arguments, '') }
326451
327138
  const container = existing ?? this.doc.createElement("div");
326452
327139
  container.className = className;
326453
327140
  container.innerHTML = "";
326454
- const baseOffset = data.offset ?? (kind === "footer" ? pageEl.clientHeight - data.height : 0);
327141
+ const baseOffset = data.offset;
326455
327142
  const marginLeft = data.marginLeft ?? 0;
326456
327143
  const marginRight = page.margins?.right ?? 0;
326457
327144
  let effectiveHeight = data.height;
@@ -326471,7 +327158,7 @@ function print() { __p += __j.call(arguments, '') }
326471
327158
  container.style.top = `${Math.max(0, effectiveOffset)}px`;
326472
327159
  container.style.zIndex = "1";
326473
327160
  container.style.overflow = "visible";
326474
- const footerAnchorPageOriginY = kind === "footer" ? this.getDecorationAnchorPageOriginY(pageEl, page, kind, effectiveOffset) : 0;
327161
+ const footerAnchorPageOriginY = kind === "footer" ? this.getDecorationAnchorPageOriginY(page, kind, effectiveOffset) : 0;
326475
327162
  const footerAnchorContainerOffsetY = kind === "footer" ? footerAnchorPageOriginY - effectiveOffset : 0;
326476
327163
  let footerYOffset = 0;
326477
327164
  if (kind === "footer" && data.fragments.length > 0) {
@@ -326805,9 +327492,9 @@ function print() { __p += __j.call(arguments, '') }
326805
327492
  const measure = resolvedItem.measure;
326806
327493
  const wordLayout = isMinimalWordLayout$1(block.attrs?.wordLayout) ? block.attrs.wordLayout : undefined;
326807
327494
  const content3 = resolvedItem?.content;
326808
- const paraContinuesFromPrev = resolvedItem?.continuesFromPrev ?? fragment2.continuesFromPrev;
326809
- const paraContinuesOnNext = resolvedItem?.continuesOnNext ?? fragment2.continuesOnNext;
326810
- const paraMarkerWidth = resolvedItem?.markerWidth ?? fragment2.markerWidth;
327495
+ const paraContinuesFromPrev = resolvedItem?.continuesFromPrev;
327496
+ const paraContinuesOnNext = resolvedItem?.continuesOnNext;
327497
+ const paraMarkerWidth = resolvedItem?.markerWidth;
326811
327498
  const fragmentEl = this.doc.createElement("div");
326812
327499
  fragmentEl.classList.add(CLASS_NAMES$1.fragment);
326813
327500
  const isTocEntry = block.attrs?.isTocEntry;
@@ -326908,14 +327595,7 @@ function print() { __p += __j.call(arguments, '') }
326908
327595
  if (resolvedLine.isListFirstLine && resolvedMarker) {
326909
327596
  lineEl.style.paddingLeft = `${resolvedMarker.firstLinePaddingLeftPx}px`;
326910
327597
  if (!resolvedMarker.vanish) {
326911
- const markerContainer = this.doc.createElement("span");
326912
- markerContainer.style.display = "inline-block";
326913
- markerContainer.style.wordSpacing = "0px";
326914
- const markerEl = this.doc.createElement("span");
326915
- markerEl.classList.add("superdoc-paragraph-marker");
326916
- markerEl.textContent = resolvedMarker.text;
326917
- applySourceAnchorDataset(markerEl, resolvedMarker.sourceAnchor ?? resolvedItem?.sourceAnchor ?? fragment2.sourceAnchor);
326918
- markerEl.style.pointerEvents = "none";
327598
+ const markerContainer = createListMarkerElement(this.doc, resolvedMarker.text, resolvedMarker.run, resolvedMarker.sourceAnchor ?? resolvedItem?.sourceAnchor);
326919
327599
  markerContainer.style.position = "relative";
326920
327600
  if (resolvedMarker.justification === "right") {
326921
327601
  markerContainer.style.position = "absolute";
@@ -326925,15 +327605,6 @@ function print() { __p += __j.call(arguments, '') }
326925
327605
  markerContainer.style.left = `${resolvedMarker.markerStartPx - (resolvedMarker.centerPaddingAdjustPx ?? 0)}px`;
326926
327606
  lineEl.style.paddingLeft = parseFloat(lineEl.style.paddingLeft) + (resolvedMarker.centerPaddingAdjustPx ?? 0) + "px";
326927
327607
  }
326928
- markerEl.style.fontFamily = toCssFontFamily(resolvedMarker.run.fontFamily) ?? resolvedMarker.run.fontFamily;
326929
- markerEl.style.fontSize = `${resolvedMarker.run.fontSize}px`;
326930
- markerEl.style.fontWeight = resolvedMarker.run.bold ? "bold" : "";
326931
- markerEl.style.fontStyle = resolvedMarker.run.italic ? "italic" : "";
326932
- if (resolvedMarker.run.color)
326933
- markerEl.style.color = resolvedMarker.run.color;
326934
- if (resolvedMarker.run.letterSpacing != null)
326935
- markerEl.style.letterSpacing = `${resolvedMarker.run.letterSpacing}px`;
326936
- markerContainer.appendChild(markerEl);
326937
327608
  if (resolvedMarker.suffix === "tab") {
326938
327609
  const tabEl = this.doc.createElement("span");
326939
327610
  tabEl.classList.add("superdoc-tab", "superdoc-marker-suffix-tab");
@@ -326957,7 +327628,7 @@ function print() { __p += __j.call(arguments, '') }
326957
327628
  this.capturePaintSnapshotLine(lineEl, context, {
326958
327629
  inTableFragment: false,
326959
327630
  inTableParagraph: false,
326960
- sourceAnchor: resolvedItem?.sourceAnchor ?? fragment2.sourceAnchor
327631
+ sourceAnchor: resolvedItem?.sourceAnchor
326961
327632
  });
326962
327633
  fragmentEl.appendChild(lineEl);
326963
327634
  });
@@ -327047,14 +327718,7 @@ function print() { __p += __j.call(arguments, '') }
327047
327718
  return;
327048
327719
  lineEl.style.paddingLeft = `${paraIndentLeft + (paraIndent?.firstLine ?? 0) - (paraIndent?.hanging ?? 0)}px`;
327049
327720
  if (!marker.run.vanish) {
327050
- const markerContainer = this.doc.createElement("span");
327051
- markerContainer.style.display = "inline-block";
327052
- markerContainer.style.wordSpacing = "0px";
327053
- const markerEl = this.doc.createElement("span");
327054
- markerEl.classList.add("superdoc-paragraph-marker");
327055
- markerEl.textContent = marker.markerText ?? "";
327056
- applySourceAnchorDataset(markerEl, block.sourceAnchor ?? resolvedItem?.sourceAnchor ?? fragment2.sourceAnchor);
327057
- markerEl.style.pointerEvents = "none";
327721
+ const markerContainer = createListMarkerElement(this.doc, marker.markerText ?? "", marker.run, block.sourceAnchor ?? resolvedItem?.sourceAnchor);
327058
327722
  const markerJustification = marker.justification ?? "left";
327059
327723
  markerContainer.style.position = "relative";
327060
327724
  if (markerJustification === "right") {
@@ -327065,15 +327729,6 @@ function print() { __p += __j.call(arguments, '') }
327065
327729
  markerContainer.style.left = `${markerStartPos - fragment2.markerTextWidth / 2}px`;
327066
327730
  lineEl.style.paddingLeft = parseFloat(lineEl.style.paddingLeft) + fragment2.markerTextWidth / 2 + "px";
327067
327731
  }
327068
- markerEl.style.fontFamily = toCssFontFamily(marker.run.fontFamily) ?? marker.run.fontFamily;
327069
- markerEl.style.fontSize = `${marker.run.fontSize}px`;
327070
- markerEl.style.fontWeight = marker.run.bold ? "bold" : "";
327071
- markerEl.style.fontStyle = marker.run.italic ? "italic" : "";
327072
- if (marker.run.color)
327073
- markerEl.style.color = marker.run.color;
327074
- if (marker.run.letterSpacing != null)
327075
- markerEl.style.letterSpacing = `${marker.run.letterSpacing}px`;
327076
- markerContainer.appendChild(markerEl);
327077
327732
  const suffix = marker.suffix ?? "tab";
327078
327733
  if (suffix === "tab") {
327079
327734
  const tabEl = this.doc.createElement("span");
@@ -327098,7 +327753,7 @@ function print() { __p += __j.call(arguments, '') }
327098
327753
  this.capturePaintSnapshotLine(lineEl, context, {
327099
327754
  inTableFragment: false,
327100
327755
  inTableParagraph: false,
327101
- sourceAnchor: resolvedItem?.sourceAnchor ?? fragment2.sourceAnchor
327756
+ sourceAnchor: resolvedItem?.sourceAnchor
327102
327757
  });
327103
327758
  fragmentEl.appendChild(lineEl);
327104
327759
  });
@@ -327173,9 +327828,9 @@ function print() { __p += __j.call(arguments, '') }
327173
327828
  const itemMeasure = measure.items.find((entry) => entry.itemId === fragment2.itemId);
327174
327829
  if (!item || !itemMeasure)
327175
327830
  throw new Error(`DomPainter: missing list item ${fragment2.itemId}`);
327176
- const listContinuesFromPrev = resolvedItem?.continuesFromPrev ?? fragment2.continuesFromPrev;
327177
- const listContinuesOnNext = resolvedItem?.continuesOnNext ?? fragment2.continuesOnNext;
327178
- const listMarkerWidth = resolvedItem?.markerWidth ?? fragment2.markerWidth;
327831
+ const listContinuesFromPrev = resolvedItem?.continuesFromPrev;
327832
+ const listContinuesOnNext = resolvedItem?.continuesOnNext;
327833
+ const listMarkerWidth = resolvedItem?.markerWidth ?? 0;
327179
327834
  const fragmentEl = this.doc.createElement("div");
327180
327835
  fragmentEl.classList.add(CLASS_NAMES$1.fragment, `${CLASS_NAMES$1.fragment}-list-item`);
327181
327836
  applyStyles(fragmentEl, fragmentStyles);
@@ -327197,8 +327852,8 @@ function print() { __p += __j.call(arguments, '') }
327197
327852
  if (listContinuesOnNext)
327198
327853
  fragmentEl.dataset.continuesOnNext = "true";
327199
327854
  const markerEl = this.doc.createElement("span");
327200
- markerEl.classList.add("superdoc-list-marker");
327201
- applySourceAnchorDataset(markerEl, item.marker.sourceAnchor ?? item.sourceAnchor ?? resolvedItem?.sourceAnchor ?? fragment2.sourceAnchor);
327855
+ markerEl.classList.add(DOM_CLASS_NAMES.LIST_MARKER);
327856
+ applySourceAnchorDataset(markerEl, item.marker.sourceAnchor ?? item.sourceAnchor ?? resolvedItem?.sourceAnchor);
327202
327857
  const wordLayout = item.paragraph.attrs?.wordLayout;
327203
327858
  const marker = wordLayout?.marker;
327204
327859
  if (marker) {
@@ -327255,7 +327910,7 @@ function print() { __p += __j.call(arguments, '') }
327255
327910
  this.capturePaintSnapshotLine(lineEl, context, {
327256
327911
  inTableFragment: false,
327257
327912
  inTableParagraph: false,
327258
- sourceAnchor: resolvedItem?.sourceAnchor ?? fragment2.sourceAnchor
327913
+ sourceAnchor: resolvedItem?.sourceAnchor
327259
327914
  });
327260
327915
  contentEl.appendChild(lineEl);
327261
327916
  });
@@ -327290,13 +327945,13 @@ function print() { __p += __j.call(arguments, '') }
327290
327945
  this.applyContainerSdtDataset(fragmentEl, block.attrs?.containerSdt);
327291
327946
  if (block.id)
327292
327947
  fragmentEl.setAttribute("data-sd-block-id", block.id);
327293
- const imgPmStart = resolvedItem?.pmStart ?? fragment2.pmStart;
327948
+ const imgPmStart = resolvedItem?.pmStart;
327294
327949
  if (imgPmStart != null)
327295
327950
  fragmentEl.dataset.pmStart = String(imgPmStart);
327296
- const imgPmEnd = resolvedItem?.pmEnd ?? fragment2.pmEnd;
327951
+ const imgPmEnd = resolvedItem?.pmEnd;
327297
327952
  if (imgPmEnd != null)
327298
327953
  fragmentEl.dataset.pmEnd = String(imgPmEnd);
327299
- const imgMetadata = resolvedItem?.metadata ?? fragment2.metadata;
327954
+ const imgMetadata = resolvedItem?.metadata;
327300
327955
  if (imgMetadata && !block.attrs?.vmlWatermark)
327301
327956
  fragmentEl.setAttribute("data-image-metadata", JSON.stringify(imgMetadata));
327302
327957
  const img2 = this.doc.createElement("img");
@@ -329090,7 +329745,7 @@ function print() { __p += __j.call(arguments, '') }
329090
329745
  const runSegments$1 = segmentsByRun.get(runIndex);
329091
329746
  const baseSegX = runSegments$1 && runSegments$1[0]?.x !== undefined ? runSegments$1[0].x : cumulativeX;
329092
329747
  const segX = baseSegX + indentOffset;
329093
- const segWidth = (runSegments$1 && runSegments$1[0]?.width !== undefined ? runSegments$1[0].width : elem.offsetWidth) ?? 0;
329748
+ const segWidth = runSegments$1?.[0]?.width ?? 0;
329094
329749
  elem.style.position = "absolute";
329095
329750
  elem.style.left = `${segX}px`;
329096
329751
  appendToLineGeo(elem, baseRun, segX, segWidth);
@@ -329162,17 +329817,8 @@ function print() { __p += __j.call(arguments, '') }
329162
329817
  const xPos = baseX + indentOffset;
329163
329818
  elem.style.position = "absolute";
329164
329819
  elem.style.left = `${xPos}px`;
329165
- appendToLineGeo(elem, segmentRun, xPos, segment.width ?? 0);
329166
- let width = segment.width ?? 0;
329167
- if (width <= 0 && this.doc) {
329168
- const measureEl = elem.cloneNode(true);
329169
- measureEl.style.position = "absolute";
329170
- measureEl.style.visibility = "hidden";
329171
- measureEl.style.left = "-9999px";
329172
- this.doc.body.appendChild(measureEl);
329173
- width = measureEl.offsetWidth;
329174
- this.doc.body.removeChild(measureEl);
329175
- }
329820
+ appendToLineGeo(elem, segmentRun, xPos, segment.width);
329821
+ const width = segment.width;
329176
329822
  cumulativeX = baseX + width;
329177
329823
  if (geoSdtWrapper)
329178
329824
  geoSdtMaxRight = Math.max(geoSdtMaxRight, xPos + width);
@@ -329331,21 +329977,21 @@ function print() { __p += __j.call(arguments, '') }
329331
329977
  if (section === "body" || section === undefined)
329332
329978
  assertFragmentPmPositions(fragment2, "paragraph fragment");
329333
329979
  const resolvedFrag = resolvedItem;
329334
- const pmStart = resolvedFrag?.pmStart ?? fragment2.pmStart;
329980
+ const pmStart = resolvedFrag?.pmStart;
329335
329981
  if (pmStart != null)
329336
329982
  el.dataset.pmStart = String(pmStart);
329337
329983
  else
329338
329984
  delete el.dataset.pmStart;
329339
- const pmEnd = resolvedFrag?.pmEnd ?? fragment2.pmEnd;
329985
+ const pmEnd = resolvedFrag?.pmEnd;
329340
329986
  if (pmEnd != null)
329341
329987
  el.dataset.pmEnd = String(pmEnd);
329342
329988
  else
329343
329989
  delete el.dataset.pmEnd;
329344
- if (resolvedFrag?.continuesFromPrev ?? fragment2.continuesFromPrev)
329990
+ if (resolvedFrag?.continuesFromPrev)
329345
329991
  el.dataset.continuesFromPrev = "true";
329346
329992
  else
329347
329993
  delete el.dataset.continuesFromPrev;
329348
- if (resolvedFrag?.continuesOnNext ?? fragment2.continuesOnNext)
329994
+ if (resolvedFrag?.continuesOnNext)
329349
329995
  el.dataset.continuesOnNext = "true";
329350
329996
  else
329351
329997
  delete el.dataset.continuesOnNext;
@@ -329369,7 +330015,7 @@ function print() { __p += __j.call(arguments, '') }
329369
330015
  resolveFragmentWrapperZIndex(fragment2, resolvedZIndex) {
329370
330016
  if (!this.isAnchoredMediaFragment(fragment2))
329371
330017
  return "";
329372
- const zIndex = resolvedZIndex ?? fragment2.zIndex;
330018
+ const zIndex = resolvedZIndex;
329373
330019
  return zIndex != null ? String(zIndex) : "";
329374
330020
  }
329375
330021
  applyFragmentWrapperZIndex(el, fragment2, resolvedZIndex) {
@@ -329381,7 +330027,7 @@ function print() { __p += __j.call(arguments, '') }
329381
330027
  el.style.width = `${item.width}px`;
329382
330028
  el.dataset.blockId = item.blockId;
329383
330029
  el.dataset.layoutEpoch = String(this.layoutEpoch);
329384
- applySourceAnchorDataset(el, item.sourceAnchor ?? fragment2.sourceAnchor);
330030
+ applySourceAnchorDataset(el, item.sourceAnchor);
329385
330031
  this.applyFragmentWrapperZIndex(el, fragment2, item.zIndex);
329386
330032
  if (item.fragmentKind === "image" || item.fragmentKind === "drawing" || item.fragmentKind === "table")
329387
330033
  el.style.height = `${item.height}px`;
@@ -329389,7 +330035,7 @@ function print() { __p += __j.call(arguments, '') }
329389
330035
  }
329390
330036
  applyResolvedListItemWrapperFrame(el, fragment2, item, section) {
329391
330037
  this.applyResolvedFragmentFrame(el, item, fragment2, section);
329392
- const mw = item.markerWidth ?? fragment2.markerWidth;
330038
+ const mw = item.markerWidth ?? 0;
329393
330039
  el.style.left = `${item.x - mw}px`;
329394
330040
  el.style.width = `${item.width + mw}px`;
329395
330041
  }
@@ -336618,7 +337264,11 @@ function print() { __p += __j.call(arguments, '') }
336618
337264
  removeDocumentSection: trash_can_solid_default,
336619
337265
  trackChangesAccept: check_solid_default,
336620
337266
  trackChangesReject: xmark_solid_default,
336621
- cellBackground: paint_roller_solid_default
337267
+ cellBackground: paint_roller_solid_default,
337268
+ listRestartNumbering: list_ol_solid_default,
337269
+ listContinueNumbering: list_ol_solid_default,
337270
+ listDecreaseIndent: outdent_solid_default,
337271
+ listIncreaseIndent: indent_solid_default
336622
337272
  };
336623
337273
  TEXTS = {
336624
337274
  addRowBefore: "Insert row above",
@@ -336644,7 +337294,11 @@ function print() { __p += __j.call(arguments, '') }
336644
337294
  createDocumentSection: "Create section",
336645
337295
  trackChangesAccept: "Accept change",
336646
337296
  trackChangesReject: "Reject change",
336647
- cellBackground: "Cell background"
337297
+ cellBackground: "Cell background",
337298
+ listRestartNumbering: "Restart numbering",
337299
+ listContinueNumbering: "Continue numbering",
337300
+ listDecreaseIndent: "Decrease indent",
337301
+ listIncreaseIndent: "Increase indent"
336648
337302
  };
336649
337303
  tableActionsOptions = [
336650
337304
  {
@@ -336751,11 +337405,11 @@ function print() { __p += __j.call(arguments, '') }
336751
337405
  ];
336752
337406
  });
336753
337407
 
336754
- // ../../packages/superdoc/dist/chunks/create-super-doc-ui-C-wMmL5m.es.js
337408
+ // ../../packages/superdoc/dist/chunks/create-super-doc-ui-BZNADU5K.es.js
336755
337409
  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;
336756
- var init_create_super_doc_ui_C_wMmL5m_es = __esm(() => {
336757
- init_SuperConverter_ing_1fvK_es();
336758
- init_create_headless_toolbar_CUl2z6Fd_es();
337410
+ var init_create_super_doc_ui_BZNADU5K_es = __esm(() => {
337411
+ init_SuperConverter_D1o6_yKI_es();
337412
+ init_create_headless_toolbar_CJ0iQq1T_es();
336759
337413
  MOD_ALIASES = new Set([
336760
337414
  "Mod",
336761
337415
  "Meta",
@@ -336797,16 +337451,16 @@ var init_zipper_BxRAi0_5_es = __esm(() => {
336797
337451
 
336798
337452
  // ../../packages/superdoc/dist/super-editor.es.js
336799
337453
  var init_super_editor_es = __esm(() => {
336800
- init_src_deKdT_sq_es();
336801
- init_SuperConverter_ing_1fvK_es();
337454
+ init_src_ItIaPxzW_es();
337455
+ init_SuperConverter_D1o6_yKI_es();
336802
337456
  init_jszip_C49i9kUs_es();
336803
337457
  init_xml_js_CqGKpaft_es();
336804
- init_create_headless_toolbar_CUl2z6Fd_es();
337458
+ init_create_headless_toolbar_CJ0iQq1T_es();
336805
337459
  init_constants_DrU4EASo_es();
336806
337460
  init_dist_B8HfvhaK_es();
336807
337461
  init_unified_Dsuw2be5_es();
336808
- init_DocxZipper_CUX64E5K_es();
336809
- init_create_super_doc_ui_C_wMmL5m_es();
337462
+ init_DocxZipper_Dh4RtvcE_es();
337463
+ init_create_super_doc_ui_BZNADU5K_es();
336810
337464
  init_ui_CGB3qmy3_es();
336811
337465
  init_eventemitter3_UwU_CLPU_es();
336812
337466
  init_errors_C_DoKMoN_es();