@superdoc-dev/cli 0.8.0-next.78 → 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 +1008 -403
  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-BLL9JGke.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;
@@ -112815,14 +113029,11 @@ var isRegExp = (value) => {
112815
113029
  }
112816
113030
  return result;
112817
113031
  }, intToAlpha = (num) => {
112818
- let result = "";
112819
- const alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
112820
- let value = num;
112821
- while (value > 0) {
112822
- result = alphabet[(value - 1) % 26] + result;
112823
- value = Math.floor((value - 1) / 26);
112824
- }
112825
- 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);
112826
113037
  }, intToJapaneseCounting = (num) => {
112827
113038
  const digits = [
112828
113039
  "",
@@ -113170,7 +113381,7 @@ var isRegExp = (value) => {
113170
113381
  updateNumberingProperties(numberingProperties, node3, pos, editor, tr);
113171
113382
  });
113172
113383
  return true;
113173
- }, 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 }) => {
113174
113385
  let resultDefs;
113175
113386
  mutateNumbering(editor, "list-numbering-helpers:generateNewListDefinition", (numbering) => {
113176
113387
  const result = generateNewListDefinition(numbering, {
@@ -113182,7 +113393,9 @@ var isRegExp = (value) => {
113182
113393
  fmt,
113183
113394
  markerFontFamily,
113184
113395
  bulletStyle,
113185
- bulletStyleLevel
113396
+ bulletStyleLevel,
113397
+ orderedStyle,
113398
+ orderedStyleLevel
113186
113399
  });
113187
113400
  resultDefs = {
113188
113401
  abstractDef: result.abstractDef,
@@ -113429,6 +113642,46 @@ var isRegExp = (value) => {
113429
113642
  mutateNumbering(editor, "list-numbering-helpers:setLvlRestartOnAbstract", (numbering) => {
113430
113643
  setLvlRestartOnAbstract(numbering, abstractNumId, ilvl, restartAfterLevel);
113431
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;
113432
113685
  }, ListHelpers, extractListLevelStyles = (cssText, listId, level, numId) => {
113433
113686
  const pattern = new RegExp(`@list\\s+l${listId}:level${level}(?:\\s+lfo${numId})?\\s*\\{([^}]+)\\}`, "i");
113434
113687
  const match = cssText.match(pattern);
@@ -118411,7 +118664,7 @@ var isRegExp = (value) => {
118411
118664
  state.kern = kernNode.attributes["w:val"];
118412
118665
  }
118413
118666
  }, SuperConverter;
118414
- var init_SuperConverter_BLL9JGke_es = __esm(() => {
118667
+ var init_SuperConverter_D1o6_yKI_es = __esm(() => {
118415
118668
  init_rolldown_runtime_Bg48TavK_es();
118416
118669
  init_jszip_C49i9kUs_es();
118417
118670
  init_xml_js_CqGKpaft_es();
@@ -148797,6 +149050,54 @@ var init_SuperConverter_BLL9JGke_es = __esm(() => {
148797
149050
  circle: "◦",
148798
149051
  square: "▪"
148799
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
+ };
148800
149101
  NUMBERING_ROOT_ATTRS = {
148801
149102
  "xmlns:w": "http://schemas.openxmlformats.org/wordprocessingml/2006/main",
148802
149103
  "xmlns:w15": "http://schemas.microsoft.com/office/word/2012/wordml",
@@ -148874,6 +149175,8 @@ var init_SuperConverter_BLL9JGke_es = __esm(() => {
148874
149175
  removeLvlOverride: removeLvlOverride$1,
148875
149176
  createNumDefinition: createNumDefinition$1,
148876
149177
  setLvlRestartOnAbstract: setLvlRestartOnAbstract$1,
149178
+ setListLevelStyles,
149179
+ cloneListDefinitionWithLevelStyle: cloneListDefinitionWithLevelStyle$1,
148877
149180
  rebuildRawNumberingFromTranslated,
148878
149181
  createNewList,
148879
149182
  createSchemaOrderedListNode,
@@ -156019,7 +156322,7 @@ var init_SuperConverter_BLL9JGke_es = __esm(() => {
156019
156322
  };
156020
156323
  });
156021
156324
 
156022
- // ../../packages/superdoc/dist/chunks/create-headless-toolbar-D7n_Okb2.es.js
156325
+ // ../../packages/superdoc/dist/chunks/create-headless-toolbar-CJ0iQq1T.es.js
156023
156326
  function parseSizeUnit(val = "0") {
156024
156327
  const length3 = val.toString() || "0";
156025
156328
  const value = Number.parseFloat(length3);
@@ -158314,15 +158617,27 @@ var CSS_DIMENSION_REGEX, DOM_SIZE_UNITS, Extension = class Extension2 {
158314
158617
  disabled: false,
158315
158618
  value: isActive2 ? paragraphNode?.attrs?.listRendering?.markerText ?? null : null
158316
158619
  };
158620
+ const activeNumberingFmt = isActive2 ? paragraphNode?.attrs?.listRendering?.numberingType ?? null : null;
158621
+ const activeMarkerText = isActive2 ? paragraphNode?.attrs?.listRendering?.markerText ?? null : null;
158317
158622
  return {
158318
158623
  active: isActive2,
158319
- disabled: false
158624
+ disabled: false,
158625
+ value: activeNumberingFmt && activeMarkerText ? numberingInfoToOrderedStyle(activeNumberingFmt, activeMarkerText) : null
158320
158626
  };
158321
158627
  }, createIndentIncreaseExecute = () => ({ context }) => {
158322
158628
  if (resolveStateEditor(context)?.commands?.increaseListIndent?.())
158323
158629
  return true;
158324
158630
  return createDirectCommandExecute("increaseTextIndent")({ context });
158325
- }, 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 }) => {
158326
158641
  if (resolveStateEditor(context)?.commands?.decreaseListIndent?.())
158327
158642
  return true;
158328
158643
  return createDirectCommandExecute("decreaseTextIndent")({ context });
@@ -158458,12 +158773,14 @@ var CSS_DIMENSION_REGEX, DOM_SIZE_UNITS, Extension = class Extension2 {
158458
158773
  "bullet-list": {
158459
158774
  id: "bullet-list",
158460
158775
  directCommandName: "toggleBulletListStyle",
158461
- state: createListStateDeriver("bullet")
158776
+ state: createListStateDeriver("bullet"),
158777
+ execute: createBulletListExecute()
158462
158778
  },
158463
158779
  "numbered-list": {
158464
158780
  id: "numbered-list",
158465
- directCommandName: "toggleOrderedList",
158466
- state: createListStateDeriver("ordered")
158781
+ directCommandName: "toggleOrderedListStyle",
158782
+ state: createListStateDeriver("ordered"),
158783
+ execute: createOrderedListExecute()
158467
158784
  },
158468
158785
  "indent-increase": {
158469
158786
  id: "indent-increase",
@@ -158672,8 +158989,8 @@ var CSS_DIMENSION_REGEX, DOM_SIZE_UNITS, Extension = class Extension2 {
158672
158989
  }
158673
158990
  };
158674
158991
  };
158675
- var init_create_headless_toolbar_D7n_Okb2_es = __esm(() => {
158676
- init_SuperConverter_BLL9JGke_es();
158992
+ var init_create_headless_toolbar_CJ0iQq1T_es = __esm(() => {
158993
+ init_SuperConverter_D1o6_yKI_es();
158677
158994
  init_constants_DrU4EASo_es();
158678
158995
  init_dist_B8HfvhaK_es();
158679
158996
  CSS_DIMENSION_REGEX = /[\d-.]+(\w+)$/;
@@ -160120,7 +160437,7 @@ var init_decrypt_docx_4kQ488M9_es = __esm(() => {
160120
160437
  ]);
160121
160438
  });
160122
160439
 
160123
- // ../../packages/superdoc/dist/chunks/DocxZipper-CUX64E5K.es.js
160440
+ // ../../packages/superdoc/dist/chunks/DocxZipper-Dh4RtvcE.es.js
160124
160441
  function sniffEncoding(u8) {
160125
160442
  if (u8.length >= 2) {
160126
160443
  const b0 = u8[0], b1 = u8[1];
@@ -160163,6 +160480,15 @@ function ensureXmlString(content2) {
160163
160480
  xml = xml.replace(/(<\?xml\b[^?]*?)\bencoding\s*=\s*["'][^"']*["']/i, '$1encoding="UTF-8"');
160164
160481
  return xml;
160165
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
+ }
160166
160492
  function readEntry(path2, baseFiles, updatedDocs) {
160167
160493
  if (updatedDocs && Object.prototype.hasOwnProperty.call(updatedDocs, path2))
160168
160494
  return updatedDocs[path2];
@@ -160183,7 +160509,7 @@ function parseXml(xmlString) {
160183
160509
  }
160184
160510
  }
160185
160511
  function serializeXml(jsObject) {
160186
- return import_lib$2.js2xml(jsObject, { spaces: 0 });
160512
+ return serializeOpcXml(jsObject);
160187
160513
  }
160188
160514
  function findRootElement(parsed, tagName) {
160189
160515
  return parsed?.elements?.find((el) => {
@@ -160400,9 +160726,9 @@ function reconcileDocumentRelationships(relsXml, fileExists) {
160400
160726
  }
160401
160727
  if (!changed)
160402
160728
  return relsXml;
160403
- return import_lib$12.js2xml(parsed, { spaces: 0 });
160729
+ return serializeOpcXml(parsed);
160404
160730
  }
160405
- 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 {
160406
160732
  constructor(params3 = {}) {
160407
160733
  this.debug = params3.debug || false;
160408
160734
  this.zip = new import_jszip_min.default;
@@ -160771,7 +161097,7 @@ var DOCX = "application/vnd.openxmlformats-officedocument.wordprocessingml.docum
160771
161097
  return `image/${MIME_TYPE_FOR_EXT[detectedType] || detectedType}`;
160772
161098
  }
160773
161099
  }, DocxZipper_default;
160774
- var init_DocxZipper_CUX64E5K_es = __esm(() => {
161100
+ var init_DocxZipper_Dh4RtvcE_es = __esm(() => {
160775
161101
  init_rolldown_runtime_Bg48TavK_es();
160776
161102
  init_jszip_C49i9kUs_es();
160777
161103
  init_xml_js_CqGKpaft_es();
@@ -160799,6 +161125,8 @@ var init_DocxZipper_CUX64E5K_es = __esm(() => {
160799
161125
  relationshipType: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties"
160800
161126
  }
160801
161127
  ];
161128
+ import_lib$3 = /* @__PURE__ */ __toESM2(require_lib(), 1);
161129
+ QUOT_PLACEHOLDER_REGEX = /SD_OPC_QUOT/g;
160802
161130
  import_lib$2 = /* @__PURE__ */ __toESM2(require_lib(), 1);
160803
161131
  import_lib$12 = /* @__PURE__ */ __toESM2(require_lib(), 1);
160804
161132
  MANAGED_DOCUMENT_PARTS = [{
@@ -207359,7 +207687,7 @@ var init_remark_gfm_eZN6yzWQ_es = __esm(() => {
207359
207687
  init_remark_gfm_BhnWr3yf_es();
207360
207688
  });
207361
207689
 
207362
- // ../../packages/superdoc/dist/chunks/src-C4h4xIas.es.js
207690
+ // ../../packages/superdoc/dist/chunks/src-ItIaPxzW.es.js
207363
207691
  function deleteProps(obj, propOrProps) {
207364
207692
  const props = typeof propOrProps === "string" ? [propOrProps] : propOrProps;
207365
207693
  const removeNested = (target, pathParts, index2 = 0) => {
@@ -210299,7 +210627,7 @@ function getParagraphListKind(node3, editor) {
210299
210627
  return null;
210300
210628
  return numFmtIsBullet(fmt) ? "bullet" : "ordered";
210301
210629
  }
210302
- function paragraphMatchesToggleListType(node3, editor, listType, bulletStyle) {
210630
+ function paragraphMatchesToggleListType(node3, editor, listType, bulletStyle, orderedStyle) {
210303
210631
  const kind = getParagraphListKind(node3, editor);
210304
210632
  if (!kind)
210305
210633
  return false;
@@ -210311,8 +210639,14 @@ function paragraphMatchesToggleListType(node3, editor, listType, bulletStyle) {
210311
210639
  const markerText = node3.attrs.listRendering?.markerText;
210312
210640
  return markerTextToBulletStyle(markerText) === bulletStyle;
210313
210641
  }
210314
- if (listType === "orderedList")
210315
- 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
+ }
210316
210650
  return false;
210317
210651
  }
210318
210652
  function getPrecedingParagraphForListReuse(doc$12, from$1, paragraphsInSelection) {
@@ -250120,6 +250454,150 @@ function applyAlphaToSVG(svg2, alphaData) {
250120
250454
  function generateGradientId(prefix2 = "gradient") {
250121
250455
  return `${prefix2}-${Date.now()}-${gradientIdCounter++}-${Math.random().toString(36).substring(2, 11)}`;
250122
250456
  }
250457
+ function resolveListMarkerGeometry(wordLayout, indentLeft, firstLine, hanging, measureMarkerText) {
250458
+ const marker = wordLayout?.marker;
250459
+ if (!marker)
250460
+ return;
250461
+ const markerTextWidthPx = getMarkerTextWidthPx(marker, measureMarkerText);
250462
+ const markerBoxWidthPx = getMarkerBoxWidthPx(marker, markerTextWidthPx);
250463
+ const justification = marker.justification ?? "left";
250464
+ const explicitFirstLineMarkerStartPx = getExplicitFirstLineMarkerStartPx(wordLayout, marker);
250465
+ const anchorPx = getMarkerAnchorPx(indentLeft, firstLine, hanging);
250466
+ const markerStartPx = explicitFirstLineMarkerStartPx ?? getMarkerStartPx(anchorPx, justification, markerTextWidthPx);
250467
+ const markerContentEndPx = markerStartPx + markerTextWidthPx;
250468
+ const suffix = marker.suffix ?? "tab";
250469
+ if (suffix === "nothing")
250470
+ return {
250471
+ markerStartPx,
250472
+ markerTextWidthPx,
250473
+ textStartPx: markerContentEndPx,
250474
+ suffixWidthPx: 0
250475
+ };
250476
+ if (suffix === "space")
250477
+ return {
250478
+ markerStartPx,
250479
+ markerTextWidthPx,
250480
+ textStartPx: markerContentEndPx + 4,
250481
+ suffixWidthPx: 4
250482
+ };
250483
+ if (justification !== "left") {
250484
+ const gutterWidthPx$1 = Math.max(getNonNegativeFiniteNumber(marker.gutterWidthPx) ?? 0, 8);
250485
+ return {
250486
+ markerStartPx,
250487
+ markerTextWidthPx,
250488
+ textStartPx: markerContentEndPx + gutterWidthPx$1,
250489
+ suffixWidthPx: gutterWidthPx$1
250490
+ };
250491
+ }
250492
+ if (wordLayout?.firstLineIndentMode === true) {
250493
+ const explicitTabStopPx = getNextExplicitTabStopPx(wordLayout.tabsPx, markerContentEndPx);
250494
+ const textStartTargetPx = getFirstLineTextStartTargetPx(wordLayout, marker);
250495
+ let textStartPx$1;
250496
+ if (explicitTabStopPx != null)
250497
+ textStartPx$1 = explicitTabStopPx;
250498
+ else if (textStartTargetPx != null && textStartTargetPx > markerContentEndPx)
250499
+ textStartPx$1 = textStartTargetPx;
250500
+ else
250501
+ textStartPx$1 = markerContentEndPx + 8;
250502
+ if (textStartPx$1 - markerContentEndPx < 8)
250503
+ textStartPx$1 = markerContentEndPx + 8;
250504
+ return {
250505
+ markerStartPx,
250506
+ markerTextWidthPx,
250507
+ textStartPx: textStartPx$1,
250508
+ suffixWidthPx: textStartPx$1 - markerContentEndPx
250509
+ };
250510
+ }
250511
+ const gutterWidthPx = Math.max(getNonNegativeFiniteNumber(marker.gutterWidthPx) ?? 0, 8);
250512
+ const explicitTextStartPx = resolveExplicitStandardTextStartPx(getFiniteNumber(wordLayout?.textStartPx), markerContentEndPx, gutterWidthPx);
250513
+ if (explicitTextStartPx != null)
250514
+ return {
250515
+ markerStartPx,
250516
+ markerTextWidthPx,
250517
+ textStartPx: explicitTextStartPx,
250518
+ suffixWidthPx: explicitTextStartPx - markerContentEndPx
250519
+ };
250520
+ const markerBoxEndPx = markerStartPx + markerBoxWidthPx;
250521
+ let textStartPx = indentLeft + firstLine;
250522
+ if (textStartPx <= markerBoxEndPx)
250523
+ textStartPx = getNextDefaultTabStopPx(markerBoxEndPx);
250524
+ return {
250525
+ markerStartPx,
250526
+ markerTextWidthPx,
250527
+ textStartPx,
250528
+ suffixWidthPx: textStartPx - markerContentEndPx
250529
+ };
250530
+ }
250531
+ function resolveListTextStartPx(wordLayout, indentLeft, firstLine, hanging, measureMarkerText) {
250532
+ const geometry = resolveListMarkerGeometry(wordLayout, indentLeft, firstLine, hanging, measureMarkerText);
250533
+ if (geometry)
250534
+ return geometry.textStartPx;
250535
+ if (wordLayout?.firstLineIndentMode === true)
250536
+ return getFiniteNumber(wordLayout.textStartPx);
250537
+ }
250538
+ function isMinimalWordLayout(value) {
250539
+ if (typeof value !== "object" || value === null)
250540
+ return false;
250541
+ const obj = value;
250542
+ if (obj.marker !== undefined) {
250543
+ if (typeof obj.marker !== "object" || obj.marker === null)
250544
+ return false;
250545
+ const marker = obj.marker;
250546
+ if (marker.markerText !== undefined && typeof marker.markerText !== "string")
250547
+ return false;
250548
+ if (marker.markerX !== undefined && typeof marker.markerX !== "number")
250549
+ return false;
250550
+ if (marker.textStartX !== undefined && typeof marker.textStartX !== "number")
250551
+ return false;
250552
+ }
250553
+ if (obj.indentLeftPx !== undefined) {
250554
+ if (typeof obj.indentLeftPx !== "number")
250555
+ return false;
250556
+ }
250557
+ if (obj.firstLineIndentMode !== undefined) {
250558
+ if (typeof obj.firstLineIndentMode !== "boolean")
250559
+ return false;
250560
+ }
250561
+ if (obj.textStartPx !== undefined) {
250562
+ if (typeof obj.textStartPx !== "number")
250563
+ return false;
250564
+ }
250565
+ if (obj.tabsPx !== undefined) {
250566
+ if (!Array.isArray(obj.tabsPx))
250567
+ return false;
250568
+ for (const tab of obj.tabsPx)
250569
+ if (typeof tab !== "number")
250570
+ return false;
250571
+ }
250572
+ return true;
250573
+ }
250574
+ function computeTabWidth(currentPos, justification, tabs, hangingIndent, firstLineIndent, leftIndent) {
250575
+ const nextDefaultTabStop = currentPos + 48 - currentPos % 48;
250576
+ let tabWidth;
250577
+ if (justification === "left") {
250578
+ const explicitTabs = [...tabs ?? []];
250579
+ if (hangingIndent && hangingIndent > 0) {
250580
+ explicitTabs.push(leftIndent);
250581
+ explicitTabs.sort((a2, b$1) => a2 - b$1);
250582
+ }
250583
+ let targetTabStop;
250584
+ for (const tab of explicitTabs)
250585
+ if (tab > currentPos) {
250586
+ targetTabStop = tab;
250587
+ break;
250588
+ }
250589
+ if (targetTabStop === undefined)
250590
+ targetTabStop = nextDefaultTabStop;
250591
+ tabWidth = targetTabStop - currentPos;
250592
+ } else if (justification === "right")
250593
+ if (firstLineIndent != null && firstLineIndent > 0)
250594
+ tabWidth = nextDefaultTabStop - currentPos;
250595
+ else
250596
+ tabWidth = hangingIndent ?? 0;
250597
+ else
250598
+ tabWidth = nextDefaultTabStop - currentPos;
250599
+ return tabWidth;
250600
+ }
250123
250601
  function isResolvedFragmentWithBorders(item) {
250124
250602
  return item !== undefined && item.kind === "fragment" && "paragraphBorders" in item && item.paragraphBorders !== undefined;
250125
250603
  }
@@ -250233,150 +250711,6 @@ function shouldRebuildForSdtBoundary(element3, boundary) {
250233
250711
  return true;
250234
250712
  return startAttr !== expectedStart || endAttr !== expectedEnd;
250235
250713
  }
250236
- function resolveListMarkerGeometry(wordLayout, indentLeft, firstLine, hanging, measureMarkerText) {
250237
- const marker = wordLayout?.marker;
250238
- if (!marker)
250239
- return;
250240
- const markerTextWidthPx = getMarkerTextWidthPx(marker, measureMarkerText);
250241
- const markerBoxWidthPx = getMarkerBoxWidthPx(marker, markerTextWidthPx);
250242
- const justification = marker.justification ?? "left";
250243
- const explicitFirstLineMarkerStartPx = getExplicitFirstLineMarkerStartPx(wordLayout, marker);
250244
- const anchorPx = getMarkerAnchorPx(indentLeft, firstLine, hanging);
250245
- const markerStartPx = explicitFirstLineMarkerStartPx ?? getMarkerStartPx(anchorPx, justification, markerTextWidthPx);
250246
- const markerContentEndPx = markerStartPx + markerTextWidthPx;
250247
- const suffix = marker.suffix ?? "tab";
250248
- if (suffix === "nothing")
250249
- return {
250250
- markerStartPx,
250251
- markerTextWidthPx,
250252
- textStartPx: markerContentEndPx,
250253
- suffixWidthPx: 0
250254
- };
250255
- if (suffix === "space")
250256
- return {
250257
- markerStartPx,
250258
- markerTextWidthPx,
250259
- textStartPx: markerContentEndPx + 4,
250260
- suffixWidthPx: 4
250261
- };
250262
- if (justification !== "left") {
250263
- const gutterWidthPx$1 = Math.max(getNonNegativeFiniteNumber(marker.gutterWidthPx) ?? 0, 8);
250264
- return {
250265
- markerStartPx,
250266
- markerTextWidthPx,
250267
- textStartPx: markerContentEndPx + gutterWidthPx$1,
250268
- suffixWidthPx: gutterWidthPx$1
250269
- };
250270
- }
250271
- if (wordLayout?.firstLineIndentMode === true) {
250272
- const explicitTabStopPx = getNextExplicitTabStopPx(wordLayout.tabsPx, markerContentEndPx);
250273
- const textStartTargetPx = getFirstLineTextStartTargetPx(wordLayout, marker);
250274
- let textStartPx$1;
250275
- if (explicitTabStopPx != null)
250276
- textStartPx$1 = explicitTabStopPx;
250277
- else if (textStartTargetPx != null && textStartTargetPx > markerContentEndPx)
250278
- textStartPx$1 = textStartTargetPx;
250279
- else
250280
- textStartPx$1 = markerContentEndPx + 8;
250281
- if (textStartPx$1 - markerContentEndPx < 8)
250282
- textStartPx$1 = markerContentEndPx + 8;
250283
- return {
250284
- markerStartPx,
250285
- markerTextWidthPx,
250286
- textStartPx: textStartPx$1,
250287
- suffixWidthPx: textStartPx$1 - markerContentEndPx
250288
- };
250289
- }
250290
- const gutterWidthPx = Math.max(getNonNegativeFiniteNumber(marker.gutterWidthPx) ?? 0, 8);
250291
- const explicitTextStartPx = resolveExplicitStandardTextStartPx(getFiniteNumber(wordLayout?.textStartPx), markerContentEndPx, gutterWidthPx);
250292
- if (explicitTextStartPx != null)
250293
- return {
250294
- markerStartPx,
250295
- markerTextWidthPx,
250296
- textStartPx: explicitTextStartPx,
250297
- suffixWidthPx: explicitTextStartPx - markerContentEndPx
250298
- };
250299
- const markerBoxEndPx = markerStartPx + markerBoxWidthPx;
250300
- let textStartPx = indentLeft + firstLine;
250301
- if (textStartPx <= markerBoxEndPx)
250302
- textStartPx = getNextDefaultTabStopPx(markerBoxEndPx);
250303
- return {
250304
- markerStartPx,
250305
- markerTextWidthPx,
250306
- textStartPx,
250307
- suffixWidthPx: textStartPx - markerContentEndPx
250308
- };
250309
- }
250310
- function resolveListTextStartPx(wordLayout, indentLeft, firstLine, hanging, measureMarkerText) {
250311
- const geometry = resolveListMarkerGeometry(wordLayout, indentLeft, firstLine, hanging, measureMarkerText);
250312
- if (geometry)
250313
- return geometry.textStartPx;
250314
- if (wordLayout?.firstLineIndentMode === true)
250315
- return getFiniteNumber(wordLayout.textStartPx);
250316
- }
250317
- function isMinimalWordLayout(value) {
250318
- if (typeof value !== "object" || value === null)
250319
- return false;
250320
- const obj = value;
250321
- if (obj.marker !== undefined) {
250322
- if (typeof obj.marker !== "object" || obj.marker === null)
250323
- return false;
250324
- const marker = obj.marker;
250325
- if (marker.markerText !== undefined && typeof marker.markerText !== "string")
250326
- return false;
250327
- if (marker.markerX !== undefined && typeof marker.markerX !== "number")
250328
- return false;
250329
- if (marker.textStartX !== undefined && typeof marker.textStartX !== "number")
250330
- return false;
250331
- }
250332
- if (obj.indentLeftPx !== undefined) {
250333
- if (typeof obj.indentLeftPx !== "number")
250334
- return false;
250335
- }
250336
- if (obj.firstLineIndentMode !== undefined) {
250337
- if (typeof obj.firstLineIndentMode !== "boolean")
250338
- return false;
250339
- }
250340
- if (obj.textStartPx !== undefined) {
250341
- if (typeof obj.textStartPx !== "number")
250342
- return false;
250343
- }
250344
- if (obj.tabsPx !== undefined) {
250345
- if (!Array.isArray(obj.tabsPx))
250346
- return false;
250347
- for (const tab of obj.tabsPx)
250348
- if (typeof tab !== "number")
250349
- return false;
250350
- }
250351
- return true;
250352
- }
250353
- function computeTabWidth(currentPos, justification, tabs, hangingIndent, firstLineIndent, leftIndent) {
250354
- const nextDefaultTabStop = currentPos + 48 - currentPos % 48;
250355
- let tabWidth;
250356
- if (justification === "left") {
250357
- const explicitTabs = [...tabs ?? []];
250358
- if (hangingIndent && hangingIndent > 0) {
250359
- explicitTabs.push(leftIndent);
250360
- explicitTabs.sort((a2, b$1) => a2 - b$1);
250361
- }
250362
- let targetTabStop;
250363
- for (const tab of explicitTabs)
250364
- if (tab > currentPos) {
250365
- targetTabStop = tab;
250366
- break;
250367
- }
250368
- if (targetTabStop === undefined)
250369
- targetTabStop = nextDefaultTabStop;
250370
- tabWidth = targetTabStop - currentPos;
250371
- } else if (justification === "right")
250372
- if (firstLineIndent != null && firstLineIndent > 0)
250373
- tabWidth = nextDefaultTabStop - currentPos;
250374
- else
250375
- tabWidth = hangingIndent ?? 0;
250376
- else
250377
- tabWidth = nextDefaultTabStop - currentPos;
250378
- return tabWidth;
250379
- }
250380
250714
  function getCellSegmentCount(cell2) {
250381
250715
  if (cell2.blocks && cell2.blocks.length > 0) {
250382
250716
  let total = 0;
@@ -250490,22 +250824,7 @@ function renderListMarker(params$1) {
250490
250824
  lineEl.style.paddingLeft = `${anchorPoint}px`;
250491
250825
  if (markerLayout?.run?.vanish)
250492
250826
  return;
250493
- const markerContainer = doc$12.createElement("span");
250494
- markerContainer.style.display = "inline-block";
250495
- markerContainer.style.wordSpacing = "0px";
250496
- const markerEl = doc$12.createElement("span");
250497
- markerEl.classList.add("superdoc-paragraph-marker");
250498
- markerEl.textContent = markerLayout?.markerText ?? "";
250499
- markerEl.style.pointerEvents = "none";
250500
- markerEl.style.fontFamily = toCssFontFamily(markerLayout?.run?.fontFamily) ?? markerLayout?.run?.fontFamily ?? "";
250501
- if (markerLayout?.run?.fontSize != null)
250502
- markerEl.style.fontSize = `${markerLayout.run.fontSize}px`;
250503
- markerEl.style.fontWeight = markerLayout?.run?.bold ? "bold" : "";
250504
- markerEl.style.fontStyle = markerLayout?.run?.italic ? "italic" : "";
250505
- if (markerLayout?.run?.color)
250506
- markerEl.style.color = markerLayout.run.color;
250507
- if (markerLayout?.run?.letterSpacing != null)
250508
- markerEl.style.letterSpacing = `${markerLayout.run.letterSpacing}px`;
250827
+ const markerContainer = createListMarkerElement(doc$12, markerLayout?.markerText ?? "", markerLayout?.run ?? {});
250509
250828
  markerContainer.style.position = "relative";
250510
250829
  if (markerJustification === "right") {
250511
250830
  markerContainer.style.position = "absolute";
@@ -250515,7 +250834,6 @@ function renderListMarker(params$1) {
250515
250834
  markerContainer.style.left = `${markerStartPos - markerTextWidth / 2}px`;
250516
250835
  lineEl.style.paddingLeft = parseFloat(lineEl.style.paddingLeft) + markerTextWidth / 2 + "px";
250517
250836
  }
250518
- markerContainer.appendChild(markerEl);
250519
250837
  const suffixType = markerLayout?.suffix ?? "tab";
250520
250838
  if (suffixType === "tab") {
250521
250839
  const tabEl = doc$12.createElement("span");
@@ -264527,7 +264845,7 @@ function isSameRenderedNoteTarget(left$1, right$1) {
264527
264845
  function isOutsidePageBodyContent(layout, x, pageIndex, pageLocalY) {
264528
264846
  if (!Number.isFinite(x) || !Number.isFinite(pageIndex) || !Number.isFinite(pageLocalY))
264529
264847
  return false;
264530
- const page = layout.pages[pageIndex];
264848
+ const page = layout?.pages?.[pageIndex];
264531
264849
  if (!page)
264532
264850
  return false;
264533
264851
  const pageWidth = page.size?.w ?? layout.pageSize.w;
@@ -273890,10 +274208,10 @@ var Node$13 = class Node$14 {
273890
274208
  } catch {
273891
274209
  return false;
273892
274210
  }
273893
- }, toggleList = (listType, bulletStyle) => ({ editor, state, tr, dispatch }) => {
274211
+ }, toggleList = (listType, bulletStyle, orderedStyle) => ({ editor, state, tr, dispatch }) => {
273894
274212
  if (listType !== "orderedList" && listType !== "bulletList")
273895
274213
  return false;
273896
- const predicate = (n) => paragraphMatchesToggleListType(n, editor, listType, bulletStyle);
274214
+ const predicate = (n) => paragraphMatchesToggleListType(n, editor, listType, bulletStyle, orderedStyle);
273897
274215
  const { selection } = state;
273898
274216
  const { from: from$1, to } = selection;
273899
274217
  let firstListNode = null;
@@ -273909,7 +274227,35 @@ var Node$13 = class Node$14 {
273909
274227
  }
273910
274228
  return true;
273911
274229
  });
273912
- 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
+ }
273913
274259
  for (const { node: node3 } of paragraphsInSelection)
273914
274260
  if (!firstListNode && predicate(node3))
273915
274261
  firstListNode = node3;
@@ -273921,6 +274267,46 @@ var Node$13 = class Node$14 {
273921
274267
  if (beforeNode && predicate(beforeNode))
273922
274268
  firstListNode = beforeNode;
273923
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
+ }
273924
274310
  let mode = null;
273925
274311
  let sharedNumberingProperties = null;
273926
274312
  if (firstListNode)
@@ -273939,12 +274325,12 @@ var Node$13 = class Node$14 {
273939
274325
  if (!dispatch)
273940
274326
  return true;
273941
274327
  if (mode === "create") {
273942
- let bulletStyleLevel = 0;
273943
- if (bulletStyle) {
274328
+ let styleOverrideLevel = 0;
274329
+ if (bulletStyle || orderedStyle) {
273944
274330
  const firstExistingListPara = paragraphsInSelection.find(({ node: node3 }) => getResolvedParagraphProperties(node3)?.numberingProperties?.ilvl != null);
273945
274331
  const existingIlvl = firstExistingListPara ? getResolvedParagraphProperties(firstExistingListPara.node)?.numberingProperties?.ilvl : null;
273946
274332
  if (existingIlvl != null)
273947
- bulletStyleLevel = existingIlvl;
274333
+ styleOverrideLevel = existingIlvl;
273948
274334
  }
273949
274335
  const numId = ListHelpers.getNewListId(editor);
273950
274336
  ListHelpers.generateNewListDefinition({
@@ -273952,7 +274338,9 @@ var Node$13 = class Node$14 {
273952
274338
  listType,
273953
274339
  editor,
273954
274340
  bulletStyle,
273955
- bulletStyleLevel
274341
+ bulletStyleLevel: styleOverrideLevel,
274342
+ orderedStyle,
274343
+ orderedStyleLevel: styleOverrideLevel
273956
274344
  });
273957
274345
  sharedNumberingProperties = {
273958
274346
  numId: Number(numId),
@@ -273972,16 +274360,16 @@ var Node$13 = class Node$14 {
273972
274360
  ilvl: existingIlvl
273973
274361
  } : sharedNumberingProperties, node3, pos, editor, tr);
273974
274362
  }
273975
- if (paragraphsInSelection.length > 0) {
273976
- const firstPara = paragraphsInSelection[0];
273977
- const lastPara = paragraphsInSelection[paragraphsInSelection.length - 1];
274363
+ if (originalParagraphsInSelection.length > 0) {
274364
+ const firstPara = originalParagraphsInSelection[0];
274365
+ const lastPara = originalParagraphsInSelection[originalParagraphsInSelection.length - 1];
273978
274366
  const firstParagraphPos = firstPara.pos;
273979
274367
  const lastParagraphPos = lastPara.pos;
273980
274368
  const firstNode = tr.doc.nodeAt(firstParagraphPos);
273981
274369
  const lastNode = tr.doc.nodeAt(lastParagraphPos);
273982
274370
  const restoredSelectionRange = computeToggleListSelectionRange({
273983
274371
  selectionWasCollapsed: selection.empty,
273984
- affectedParagraphCount: paragraphsInSelection.length,
274372
+ affectedParagraphCount: originalParagraphsInSelection.length,
273985
274373
  firstParagraphPos,
273986
274374
  lastParagraphPos,
273987
274375
  firstNode,
@@ -273989,7 +274377,7 @@ var Node$13 = class Node$14 {
273989
274377
  });
273990
274378
  if (restoredSelectionRange && restoredSelectionRange.from >= 0 && restoredSelectionRange.to <= tr.doc.content.size && restoredSelectionRange.from <= restoredSelectionRange.to)
273991
274379
  try {
273992
- if (selection.empty && paragraphsInSelection.length === 1)
274380
+ if (selection.empty && originalParagraphsInSelection.length === 1)
273993
274381
  tr.setSelection(Selection.near(tr.doc.resolve(restoredSelectionRange.to), -1));
273994
274382
  else
273995
274383
  tr.setSelection(TextSelection.create(tr.doc, restoredSelectionRange.from, restoredSelectionRange.to));
@@ -274142,16 +274530,56 @@ var Node$13 = class Node$14 {
274142
274530
  uniqueByType.set(typeName, mark2);
274143
274531
  }
274144
274532
  return Array.from(uniqueByType.values());
274145
- }, commands_exports, restartNumbering = ({ editor, tr, state, dispatch }) => {
274146
- const { node: paragraph2 } = findParentNode(isList)(state.selection) || {};
274533
+ }, commands_exports, restartNumbering = ({ editor, tr, state }) => {
274534
+ const { node: paragraph2, pos: paragraphPos } = findParentNode(isList)(state.selection) || {};
274147
274535
  if (!paragraph2)
274148
274536
  return false;
274149
274537
  const { numId, ilvl = 0 } = getResolvedParagraphProperties(paragraph2).numberingProperties || {};
274150
274538
  if (numId == null)
274151
274539
  return false;
274152
- ListHelpers.setLvlOverride(editor, numId, ilvl, { startOverride: 1 });
274153
- if (dispatch)
274154
- 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);
274155
274583
  return true;
274156
274584
  }, PIXELS_PER_TWIP, toFiniteNumber$12 = (value) => {
274157
274585
  if (value == null)
@@ -280858,10 +281286,72 @@ var Node$13 = class Node$14 {
280858
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"/>
280859
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>
280860
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>
280861
- `, 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>
280862
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>
280863
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>
280864
- `, 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>
280865
281355
  `, _hoisted_1$14, _hoisted_2$11, _hoisted_3$8, IconGrid_default, closeDropdown$1 = (dropdown) => {
280866
281356
  dropdown.expand.value = false;
280867
281357
  }, makeColorOption = (color2, label = null) => {
@@ -281414,7 +281904,6 @@ var Node$13 = class Node$14 {
281414
281904
  hasCaret: true,
281415
281905
  tooltip: toolbarTexts$1.bulletList,
281416
281906
  restoreEditorFocus: true,
281417
- suppressActiveHighlight: true,
281418
281907
  attributes: { ariaLabel: "Bullet list" },
281419
281908
  options: [{
281420
281909
  type: "render",
@@ -281431,7 +281920,9 @@ var Node$13 = class Node$14 {
281431
281920
  argument: style2
281432
281921
  });
281433
281922
  };
281434
- return exports_vue.h(BulletStyleButtons_default, {
281923
+ return exports_vue.h(StyleButtonsList_default, {
281924
+ buttons: bulletStyleButtons,
281925
+ iconSize: 25,
281435
281926
  selectedStyle: bulletedList.selectedValue.value,
281436
281927
  onSelect: handleSelect
281437
281928
  });
@@ -281439,14 +281930,39 @@ var Node$13 = class Node$14 {
281439
281930
  }]
281440
281931
  });
281441
281932
  const numberedList = useToolbarItem({
281442
- type: "button",
281933
+ type: "dropdown",
281443
281934
  name: "numberedlist",
281444
- command: "toggleOrderedList",
281935
+ command: "toggleOrderedListStyle",
281936
+ splitButton: true,
281937
+ splitButtonCommand: "toggleOrderedList",
281445
281938
  icon: toolbarIcons$1.numberedList,
281446
- active: false,
281939
+ hasCaret: true,
281447
281940
  tooltip: toolbarTexts$1.numberedList,
281448
281941
  restoreEditorFocus: true,
281449
- 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
+ }]
281450
281966
  });
281451
281967
  const indentLeft = useToolbarItem({
281452
281968
  type: "button",
@@ -285970,7 +286486,85 @@ menclose::after {
285970
286486
  styleEl.textContent = MATH_MENCLOSE_STYLES;
285971
286487
  doc$12.head?.appendChild(styleEl);
285972
286488
  mathMencloseStylesInjected = true;
285973
- }, 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) => {
285974
286568
  if (!borders?.between)
285975
286569
  return true;
285976
286570
  return borders.between.style === "none";
@@ -286254,60 +286848,7 @@ menclose::after {
286254
286848
  line.el.style.marginLeft = `${marginLeft}px`;
286255
286849
  line.el.style.marginRight = `${marginRight}px`;
286256
286850
  });
286257
- }, getFiniteNumber = (value) => {
286258
- if (typeof value !== "number" || !Number.isFinite(value))
286259
- return;
286260
- return value;
286261
- }, getNonNegativeFiniteNumber = (value) => {
286262
- const numericValue = getFiniteNumber(value);
286263
- if (numericValue == null || numericValue < 0)
286264
- return;
286265
- return numericValue;
286266
- }, getMarkerTextWidthPx = (marker, measureMarkerText) => {
286267
- const glyphWidthPx = getNonNegativeFiniteNumber(marker.glyphWidthPx);
286268
- if (glyphWidthPx != null)
286269
- return glyphWidthPx;
286270
- if (marker.markerText) {
286271
- const safeMeasuredWidthPx = getNonNegativeFiniteNumber(measureMarkerText(marker.markerText, marker));
286272
- if (safeMeasuredWidthPx != null)
286273
- return safeMeasuredWidthPx;
286274
- }
286275
- return getNonNegativeFiniteNumber(marker.markerBoxWidthPx) ?? 0;
286276
- }, getMarkerBoxWidthPx = (marker, markerTextWidthPx) => Math.max(getNonNegativeFiniteNumber(marker.markerBoxWidthPx) ?? 0, markerTextWidthPx), getExplicitFirstLineMarkerStartPx = (wordLayout, marker) => {
286277
- if (wordLayout?.firstLineIndentMode !== true)
286278
- return;
286279
- return getFiniteNumber(marker.markerX);
286280
- }, getMarkerAnchorPx = (indentLeft, firstLine, hanging) => indentLeft - hanging + firstLine, getMarkerStartPx = (anchorPx, justification, markerTextWidthPx) => {
286281
- if (justification === "right")
286282
- return anchorPx - markerTextWidthPx;
286283
- if (justification === "center")
286284
- return anchorPx - markerTextWidthPx / 2;
286285
- return anchorPx;
286286
- }, getNextExplicitTabStopPx = (tabsPx, currentPosPx) => {
286287
- if (!Array.isArray(tabsPx))
286288
- return;
286289
- for (const tabPx of tabsPx)
286290
- if (typeof tabPx === "number" && Number.isFinite(tabPx) && tabPx > currentPosPx)
286291
- return tabPx;
286292
- }, getFirstLineTextStartTargetPx = (wordLayout, marker) => {
286293
- return getFiniteNumber(marker.textStartX) ?? getFiniteNumber(wordLayout?.textStartPx);
286294
- }, getNextDefaultTabStopPx = (currentPosPx) => {
286295
- const remainderPx = currentPosPx % 48;
286296
- if (remainderPx === 0)
286297
- return currentPosPx + 48;
286298
- return currentPosPx + 48 - remainderPx;
286299
- }, getMinimumReadableTextStartPx = (markerContentEndPx, gutterWidthPx) => markerContentEndPx + gutterWidthPx, resolveExplicitStandardTextStartPx = (explicitTextStartPx, markerContentEndPx, gutterWidthPx) => {
286300
- if (explicitTextStartPx == null)
286301
- return;
286302
- if (explicitTextStartPx > markerContentEndPx)
286303
- return explicitTextStartPx;
286304
- if (explicitTextStartPx > 0)
286305
- return getMinimumReadableTextStartPx(markerContentEndPx, gutterWidthPx);
286306
- }, getFiniteNonNegativeNumber = (value) => {
286307
- if (typeof value !== "number" || !Number.isFinite(value) || value < 0)
286308
- return;
286309
- return value;
286310
- }, 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) => {
286311
286852
  if (typeof span !== "number" || !Number.isFinite(span) || span < 1)
286312
286853
  return 1;
286313
286854
  return Math.floor(span);
@@ -290347,6 +290888,12 @@ menclose::after {
290347
290888
  return false;
290348
290889
  if (resolveTrackedChangesEnabled(a2.attrs, true) !== resolveTrackedChangesEnabled(b$1.attrs, true))
290349
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;
290350
290897
  if (!paragraphAttrsEqual(a2.attrs, b$1.attrs))
290351
290898
  return false;
290352
290899
  if (a2.runs.length !== b$1.runs.length)
@@ -295265,11 +295812,18 @@ menclose::after {
295265
295812
  } else
295266
295813
  this.#syncNonBodyCommentActivation(event, target, bodyEditor);
295267
295814
  const isNoteEditing = activeNoteSession != null;
295268
- const useActiveSurfaceHitTest = sessionMode !== "body" || activeStorySession != null;
295269
- const editor = sessionMode === "body" && !isNoteEditing ? bodyEditor : this.#deps.getActiveEditor();
295270
- 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") {
295271
295819
  if (this.#handleClickInHeaderFooterMode(event, x, y$1, normalizedPoint.pageIndex, normalizedPoint.pageLocalY))
295272
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
+ }
295273
295827
  }
295274
295828
  if (this.#callbacks.hitTestHeaderFooterRegion?.(x, y$1, normalizedPoint.pageIndex, normalizedPoint.pageLocalY)) {
295275
295829
  if (sessionMode === "body") {
@@ -295277,10 +295831,12 @@ menclose::after {
295277
295831
  return;
295278
295832
  }
295279
295833
  }
295280
- if (!useActiveSurfaceHitTest && isOutsidePageBodyContent(layoutState.layout, x, normalizedPoint.pageIndex, normalizedPoint.pageLocalY)) {
295281
- event.preventDefault();
295282
- this.#focusEditor();
295283
- 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
+ }
295284
295840
  }
295285
295841
  const { rawHit, hit } = this.#resolveSelectionPointerHit({
295286
295842
  layoutState,
@@ -299257,18 +299813,18 @@ menclose::after {
299257
299813
  return;
299258
299814
  console.log(...args$1);
299259
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;
299260
- var init_src_C4h4xIas_es = __esm(() => {
299816
+ var init_src_ItIaPxzW_es = __esm(() => {
299261
299817
  init_rolldown_runtime_Bg48TavK_es();
299262
- init_SuperConverter_BLL9JGke_es();
299818
+ init_SuperConverter_D1o6_yKI_es();
299263
299819
  init_jszip_C49i9kUs_es();
299264
299820
  init_uuid_qzgm05fK_es();
299265
- init_create_headless_toolbar_D7n_Okb2_es();
299821
+ init_create_headless_toolbar_CJ0iQq1T_es();
299266
299822
  init_constants_DrU4EASo_es();
299267
299823
  init_dist_B8HfvhaK_es();
299268
299824
  init_unified_Dsuw2be5_es();
299269
299825
  init_remark_gfm_BhnWr3yf_es();
299270
299826
  init_remark_stringify_6MMJfY0k_es();
299271
- init_DocxZipper_CUX64E5K_es();
299827
+ init_DocxZipper_Dh4RtvcE_es();
299272
299828
  init__plugin_vue_export_helper_HmhZBO0u_es();
299273
299829
  init_eventemitter3_UwU_CLPU_es();
299274
299830
  init_errors_C_DoKMoN_es();
@@ -302271,7 +302827,11 @@ ${err.toString()}`);
302271
302827
  toggleBulletListStyle: (style2) => (params$1) => {
302272
302828
  return toggleList("bulletList", style2)(params$1);
302273
302829
  },
302274
- restartNumbering: () => restartNumbering
302830
+ toggleOrderedListStyle: (style2) => (params$1) => {
302831
+ return toggleList("orderedList", null, style2)(params$1);
302832
+ },
302833
+ restartNumbering: () => restartNumbering,
302834
+ continueNumbering: () => continueNumbering
302275
302835
  };
302276
302836
  },
302277
302837
  addPmPlugins() {
@@ -317449,6 +318009,7 @@ function print() { __p += __j.call(arguments, '') }
317449
318009
  SDT_GROUP_HOVER: "sdt-group-hover",
317450
318010
  IMAGE_FRAGMENT: "superdoc-image-fragment",
317451
318011
  INLINE_IMAGE: "superdoc-inline-image",
318012
+ LIST_MARKER: "superdoc-list-marker",
317452
318013
  INLINE_IMAGE_CLIP_WRAPPER: "superdoc-inline-image-clip-wrapper",
317453
318014
  ANNOTATION: "annotation",
317454
318015
  ANNOTATION_CONTENT: "annotation-content",
@@ -318014,6 +318575,14 @@ function print() { __p += __j.call(arguments, '') }
318014
318575
  bulletListCircle: list_circle_solid_default,
318015
318576
  bulletListSquare: list_square_solid_default,
318016
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,
318017
318586
  indentLeft: outdent_solid_default,
318018
318587
  indentRight: indent_solid_default,
318019
318588
  pageBreak: file_half_dashed_solid_default,
@@ -318165,35 +318734,32 @@ function print() { __p += __j.call(arguments, '') }
318165
318734
  "aria-label",
318166
318735
  "onKeydown"
318167
318736
  ];
318168
- BulletStyleButtons_default = /* @__PURE__ */ __plugin_vue_export_helper_default({
318169
- __name: "BulletStyleButtons",
318170
- props: { selectedStyle: {
318171
- type: String,
318172
- default: null
318173
- } },
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
+ },
318174
318753
  emits: ["select"],
318175
318754
  setup(__props, { emit: __emit }) {
318176
318755
  const { isHighContrastMode: isHighContrastMode$1 } = useHighContrastMode();
318177
318756
  const emit = __emit;
318178
318757
  const props = __props;
318179
318758
  const buttonRefs = exports_vue.ref([]);
318180
- const bulletButtons = [
318181
- {
318182
- key: "disc",
318183
- icon: toolbarIcons.bulletListDisc,
318184
- ariaLabel: "Opaque circle"
318185
- },
318186
- {
318187
- key: "circle",
318188
- icon: toolbarIcons.bulletListCircle,
318189
- ariaLabel: "Outline circle"
318190
- },
318191
- {
318192
- key: "square",
318193
- icon: toolbarIcons.bulletListSquare,
318194
- ariaLabel: "Opaque square"
318195
- }
318196
- ];
318759
+ const iconStyle = exports_vue.computed(() => ({
318760
+ width: `${props.iconSize}px`,
318761
+ height: `${props.iconSize}px`
318762
+ }));
318197
318763
  const select2 = (key2) => {
318198
318764
  emit("select", key2);
318199
318765
  };
@@ -318224,7 +318790,7 @@ function print() { __p += __j.call(arguments, '') }
318224
318790
  moveToNextButton(index2);
318225
318791
  break;
318226
318792
  case "Enter":
318227
- select2(bulletButtons[index2].key);
318793
+ select2(props.buttons[index2].key);
318228
318794
  break;
318229
318795
  default:
318230
318796
  break;
@@ -318238,10 +318804,11 @@ function print() { __p += __j.call(arguments, '') }
318238
318804
  }
318239
318805
  });
318240
318806
  return (_ctx, _cache) => {
318241
- 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) => {
318242
- 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", {
318243
318809
  key: button.key,
318244
318810
  class: exports_vue.normalizeClass(["button-icon", { selected: props.selectedStyle === button.key }]),
318811
+ style: exports_vue.normalizeStyle(iconStyle.value),
318245
318812
  onClick: ($event) => select2(button.key),
318246
318813
  innerHTML: button.icon,
318247
318814
  role: "menuitem",
@@ -318250,11 +318817,70 @@ function print() { __p += __j.call(arguments, '') }
318250
318817
  ref_key: "buttonRefs",
318251
318818
  ref: buttonRefs,
318252
318819
  onKeydown: exports_vue.withModifiers((event) => handleKeyDown$1(event, index2), ["prevent"])
318253
- }, null, 42, _hoisted_1$19);
318254
- }), 64))], 2);
318820
+ }, null, 46, _hoisted_1$19);
318821
+ }), 128))], 2);
318255
318822
  };
318256
318823
  }
318257
- }, [["__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
+ ];
318258
318884
  _hoisted_1$18 = ["onClick", "onKeydown"];
318259
318885
  _hoisted_2$15 = { class: "document-mode-column icon-column" };
318260
318886
  _hoisted_3$11 = ["innerHTML"];
@@ -319380,7 +320006,7 @@ function print() { __p += __j.call(arguments, '') }
319380
320006
  setup(__props, { emit: __emit }) {
319381
320007
  const emit = __emit;
319382
320008
  const props = __props;
319383
- 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;
319384
320010
  const isSplit = exports_vue.computed(() => Boolean(splitButton?.value) && Boolean(hasCaret?.value));
319385
320011
  const inlineTextInput = exports_vue.ref(label);
319386
320012
  const inlineInput = exports_vue.ref(null);
@@ -319423,7 +320049,7 @@ function print() { __p += __j.call(arguments, '') }
319423
320049
  return { minWidth: props.minWidth };
319424
320050
  });
319425
320051
  const caretIcon = exports_vue.computed(() => {
319426
- return active.value ? toolbarIcons.dropdownCaretUp : toolbarIcons.dropdownCaretDown;
320052
+ return expand?.value ? toolbarIcons.dropdownCaretUp : toolbarIcons.dropdownCaretDown;
319427
320053
  });
319428
320054
  return (_ctx, _cache) => {
319429
320055
  return exports_vue.openBlock(), exports_vue.createElementBlock("div", {
@@ -319518,7 +320144,7 @@ function print() { __p += __j.call(arguments, '') }
319518
320144
  ], 10, _hoisted_2$6)], 46, _hoisted_1$9);
319519
320145
  };
319520
320146
  }
319521
- }, [["__scopeId", "data-v-fdaeb82f"]]);
320147
+ }, [["__scopeId", "data-v-9012024b"]]);
319522
320148
  _hoisted_1$8 = {
319523
320149
  class: "toolbar-separator",
319524
320150
  role: "separator",
@@ -321075,6 +321701,15 @@ function print() { __p += __j.call(arguments, '') }
321075
321701
  item.selectedValue.value = null;
321076
321702
  }
321077
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
+ },
321078
321713
  default: () => {
321079
321714
  if (commandState?.active)
321080
321715
  item.activate();
@@ -324477,6 +325112,7 @@ function print() { __p += __j.call(arguments, '') }
324477
325112
  const prevState = this.state;
324478
325113
  let nextState;
324479
325114
  let transactionToApply = transaction;
325115
+ let effectiveTransaction = transaction;
324480
325116
  const forceTrackChanges = transactionToApply.getMeta("forceTrackChanges") === true;
324481
325117
  try {
324482
325118
  const isTrackChangesActive = TrackChangesBasePluginKey.getState(prevState)?.isTrackChangesActive ?? false;
@@ -324490,8 +325126,9 @@ function print() { __p += __j.call(arguments, '') }
324490
325126
  user: this.options.user,
324491
325127
  replacements: this.options.trackedChanges?.replacements === "independent" ? "independent" : "paired"
324492
325128
  }) : transactionToApply;
324493
- const { state: appliedState } = prevState.applyTransaction(transactionToApply);
325129
+ const { state: appliedState, transactions: appliedTransactions } = prevState.applyTransaction(transactionToApply);
324494
325130
  nextState = appliedState;
325131
+ effectiveTransaction = appliedTransactions.find((t) => t.docChanged) ?? transactionToApply;
324495
325132
  } catch (error3) {
324496
325133
  if (forceTrackChanges)
324497
325134
  throw error3;
@@ -324527,7 +325164,7 @@ function print() { __p += __j.call(arguments, '') }
324527
325164
  event: blur.event,
324528
325165
  transaction: transactionToApply
324529
325166
  });
324530
- if (transactionToApply.docChanged) {
325167
+ if (effectiveTransaction.docChanged) {
324531
325168
  if (transaction.docChanged && this.converter) {
324532
325169
  if (!this.converter.documentGuid) {
324533
325170
  this.converter.promoteToGuid();
@@ -324537,7 +325174,7 @@ function print() { __p += __j.call(arguments, '') }
324537
325174
  }
324538
325175
  this.emit("update", {
324539
325176
  editor: this,
324540
- transaction: transactionToApply
325177
+ transaction: effectiveTransaction
324541
325178
  });
324542
325179
  }
324543
325180
  }
@@ -326470,12 +327107,13 @@ function print() { __p += __j.call(arguments, '') }
326470
327107
  return false;
326471
327108
  return block.anchor?.vRelativeFrom === "page";
326472
327109
  }
326473
- getDecorationAnchorPageOriginY(pageEl, page, kind, effectiveOffset) {
327110
+ getDecorationAnchorPageOriginY(page, kind, effectiveOffset) {
326474
327111
  if (kind === "header")
326475
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.`);
326476
327115
  const pageMargins = page.margins;
326477
- const styledPageHeight = Number.parseFloat(pageEl.style.height || "");
326478
- const pageHeight = page.height ?? (Number.isFinite(styledPageHeight) ? styledPageHeight : pageEl.clientHeight);
327116
+ const pageHeight = page.height;
326479
327117
  const footerDistance = pageMargins?.footer;
326480
327118
  if (typeof footerDistance === "number" && Number.isFinite(footerDistance))
326481
327119
  return Math.max(0, pageHeight - Math.max(0, footerDistance));
@@ -326500,7 +327138,7 @@ function print() { __p += __j.call(arguments, '') }
326500
327138
  const container = existing ?? this.doc.createElement("div");
326501
327139
  container.className = className;
326502
327140
  container.innerHTML = "";
326503
- const baseOffset = data.offset ?? (kind === "footer" ? pageEl.clientHeight - data.height : 0);
327141
+ const baseOffset = data.offset;
326504
327142
  const marginLeft = data.marginLeft ?? 0;
326505
327143
  const marginRight = page.margins?.right ?? 0;
326506
327144
  let effectiveHeight = data.height;
@@ -326520,7 +327158,7 @@ function print() { __p += __j.call(arguments, '') }
326520
327158
  container.style.top = `${Math.max(0, effectiveOffset)}px`;
326521
327159
  container.style.zIndex = "1";
326522
327160
  container.style.overflow = "visible";
326523
- const footerAnchorPageOriginY = kind === "footer" ? this.getDecorationAnchorPageOriginY(pageEl, page, kind, effectiveOffset) : 0;
327161
+ const footerAnchorPageOriginY = kind === "footer" ? this.getDecorationAnchorPageOriginY(page, kind, effectiveOffset) : 0;
326524
327162
  const footerAnchorContainerOffsetY = kind === "footer" ? footerAnchorPageOriginY - effectiveOffset : 0;
326525
327163
  let footerYOffset = 0;
326526
327164
  if (kind === "footer" && data.fragments.length > 0) {
@@ -326854,9 +327492,9 @@ function print() { __p += __j.call(arguments, '') }
326854
327492
  const measure = resolvedItem.measure;
326855
327493
  const wordLayout = isMinimalWordLayout$1(block.attrs?.wordLayout) ? block.attrs.wordLayout : undefined;
326856
327494
  const content3 = resolvedItem?.content;
326857
- const paraContinuesFromPrev = resolvedItem?.continuesFromPrev ?? fragment2.continuesFromPrev;
326858
- const paraContinuesOnNext = resolvedItem?.continuesOnNext ?? fragment2.continuesOnNext;
326859
- const paraMarkerWidth = resolvedItem?.markerWidth ?? fragment2.markerWidth;
327495
+ const paraContinuesFromPrev = resolvedItem?.continuesFromPrev;
327496
+ const paraContinuesOnNext = resolvedItem?.continuesOnNext;
327497
+ const paraMarkerWidth = resolvedItem?.markerWidth;
326860
327498
  const fragmentEl = this.doc.createElement("div");
326861
327499
  fragmentEl.classList.add(CLASS_NAMES$1.fragment);
326862
327500
  const isTocEntry = block.attrs?.isTocEntry;
@@ -326957,14 +327595,7 @@ function print() { __p += __j.call(arguments, '') }
326957
327595
  if (resolvedLine.isListFirstLine && resolvedMarker) {
326958
327596
  lineEl.style.paddingLeft = `${resolvedMarker.firstLinePaddingLeftPx}px`;
326959
327597
  if (!resolvedMarker.vanish) {
326960
- const markerContainer = this.doc.createElement("span");
326961
- markerContainer.style.display = "inline-block";
326962
- markerContainer.style.wordSpacing = "0px";
326963
- const markerEl = this.doc.createElement("span");
326964
- markerEl.classList.add("superdoc-paragraph-marker");
326965
- markerEl.textContent = resolvedMarker.text;
326966
- applySourceAnchorDataset(markerEl, resolvedMarker.sourceAnchor ?? resolvedItem?.sourceAnchor ?? fragment2.sourceAnchor);
326967
- markerEl.style.pointerEvents = "none";
327598
+ const markerContainer = createListMarkerElement(this.doc, resolvedMarker.text, resolvedMarker.run, resolvedMarker.sourceAnchor ?? resolvedItem?.sourceAnchor);
326968
327599
  markerContainer.style.position = "relative";
326969
327600
  if (resolvedMarker.justification === "right") {
326970
327601
  markerContainer.style.position = "absolute";
@@ -326974,15 +327605,6 @@ function print() { __p += __j.call(arguments, '') }
326974
327605
  markerContainer.style.left = `${resolvedMarker.markerStartPx - (resolvedMarker.centerPaddingAdjustPx ?? 0)}px`;
326975
327606
  lineEl.style.paddingLeft = parseFloat(lineEl.style.paddingLeft) + (resolvedMarker.centerPaddingAdjustPx ?? 0) + "px";
326976
327607
  }
326977
- markerEl.style.fontFamily = toCssFontFamily(resolvedMarker.run.fontFamily) ?? resolvedMarker.run.fontFamily;
326978
- markerEl.style.fontSize = `${resolvedMarker.run.fontSize}px`;
326979
- markerEl.style.fontWeight = resolvedMarker.run.bold ? "bold" : "";
326980
- markerEl.style.fontStyle = resolvedMarker.run.italic ? "italic" : "";
326981
- if (resolvedMarker.run.color)
326982
- markerEl.style.color = resolvedMarker.run.color;
326983
- if (resolvedMarker.run.letterSpacing != null)
326984
- markerEl.style.letterSpacing = `${resolvedMarker.run.letterSpacing}px`;
326985
- markerContainer.appendChild(markerEl);
326986
327608
  if (resolvedMarker.suffix === "tab") {
326987
327609
  const tabEl = this.doc.createElement("span");
326988
327610
  tabEl.classList.add("superdoc-tab", "superdoc-marker-suffix-tab");
@@ -327006,7 +327628,7 @@ function print() { __p += __j.call(arguments, '') }
327006
327628
  this.capturePaintSnapshotLine(lineEl, context, {
327007
327629
  inTableFragment: false,
327008
327630
  inTableParagraph: false,
327009
- sourceAnchor: resolvedItem?.sourceAnchor ?? fragment2.sourceAnchor
327631
+ sourceAnchor: resolvedItem?.sourceAnchor
327010
327632
  });
327011
327633
  fragmentEl.appendChild(lineEl);
327012
327634
  });
@@ -327096,14 +327718,7 @@ function print() { __p += __j.call(arguments, '') }
327096
327718
  return;
327097
327719
  lineEl.style.paddingLeft = `${paraIndentLeft + (paraIndent?.firstLine ?? 0) - (paraIndent?.hanging ?? 0)}px`;
327098
327720
  if (!marker.run.vanish) {
327099
- const markerContainer = this.doc.createElement("span");
327100
- markerContainer.style.display = "inline-block";
327101
- markerContainer.style.wordSpacing = "0px";
327102
- const markerEl = this.doc.createElement("span");
327103
- markerEl.classList.add("superdoc-paragraph-marker");
327104
- markerEl.textContent = marker.markerText ?? "";
327105
- applySourceAnchorDataset(markerEl, block.sourceAnchor ?? resolvedItem?.sourceAnchor ?? fragment2.sourceAnchor);
327106
- markerEl.style.pointerEvents = "none";
327721
+ const markerContainer = createListMarkerElement(this.doc, marker.markerText ?? "", marker.run, block.sourceAnchor ?? resolvedItem?.sourceAnchor);
327107
327722
  const markerJustification = marker.justification ?? "left";
327108
327723
  markerContainer.style.position = "relative";
327109
327724
  if (markerJustification === "right") {
@@ -327114,15 +327729,6 @@ function print() { __p += __j.call(arguments, '') }
327114
327729
  markerContainer.style.left = `${markerStartPos - fragment2.markerTextWidth / 2}px`;
327115
327730
  lineEl.style.paddingLeft = parseFloat(lineEl.style.paddingLeft) + fragment2.markerTextWidth / 2 + "px";
327116
327731
  }
327117
- markerEl.style.fontFamily = toCssFontFamily(marker.run.fontFamily) ?? marker.run.fontFamily;
327118
- markerEl.style.fontSize = `${marker.run.fontSize}px`;
327119
- markerEl.style.fontWeight = marker.run.bold ? "bold" : "";
327120
- markerEl.style.fontStyle = marker.run.italic ? "italic" : "";
327121
- if (marker.run.color)
327122
- markerEl.style.color = marker.run.color;
327123
- if (marker.run.letterSpacing != null)
327124
- markerEl.style.letterSpacing = `${marker.run.letterSpacing}px`;
327125
- markerContainer.appendChild(markerEl);
327126
327732
  const suffix = marker.suffix ?? "tab";
327127
327733
  if (suffix === "tab") {
327128
327734
  const tabEl = this.doc.createElement("span");
@@ -327147,7 +327753,7 @@ function print() { __p += __j.call(arguments, '') }
327147
327753
  this.capturePaintSnapshotLine(lineEl, context, {
327148
327754
  inTableFragment: false,
327149
327755
  inTableParagraph: false,
327150
- sourceAnchor: resolvedItem?.sourceAnchor ?? fragment2.sourceAnchor
327756
+ sourceAnchor: resolvedItem?.sourceAnchor
327151
327757
  });
327152
327758
  fragmentEl.appendChild(lineEl);
327153
327759
  });
@@ -327222,9 +327828,9 @@ function print() { __p += __j.call(arguments, '') }
327222
327828
  const itemMeasure = measure.items.find((entry) => entry.itemId === fragment2.itemId);
327223
327829
  if (!item || !itemMeasure)
327224
327830
  throw new Error(`DomPainter: missing list item ${fragment2.itemId}`);
327225
- const listContinuesFromPrev = resolvedItem?.continuesFromPrev ?? fragment2.continuesFromPrev;
327226
- const listContinuesOnNext = resolvedItem?.continuesOnNext ?? fragment2.continuesOnNext;
327227
- const listMarkerWidth = resolvedItem?.markerWidth ?? fragment2.markerWidth;
327831
+ const listContinuesFromPrev = resolvedItem?.continuesFromPrev;
327832
+ const listContinuesOnNext = resolvedItem?.continuesOnNext;
327833
+ const listMarkerWidth = resolvedItem?.markerWidth ?? 0;
327228
327834
  const fragmentEl = this.doc.createElement("div");
327229
327835
  fragmentEl.classList.add(CLASS_NAMES$1.fragment, `${CLASS_NAMES$1.fragment}-list-item`);
327230
327836
  applyStyles(fragmentEl, fragmentStyles);
@@ -327246,8 +327852,8 @@ function print() { __p += __j.call(arguments, '') }
327246
327852
  if (listContinuesOnNext)
327247
327853
  fragmentEl.dataset.continuesOnNext = "true";
327248
327854
  const markerEl = this.doc.createElement("span");
327249
- markerEl.classList.add("superdoc-list-marker");
327250
- 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);
327251
327857
  const wordLayout = item.paragraph.attrs?.wordLayout;
327252
327858
  const marker = wordLayout?.marker;
327253
327859
  if (marker) {
@@ -327304,7 +327910,7 @@ function print() { __p += __j.call(arguments, '') }
327304
327910
  this.capturePaintSnapshotLine(lineEl, context, {
327305
327911
  inTableFragment: false,
327306
327912
  inTableParagraph: false,
327307
- sourceAnchor: resolvedItem?.sourceAnchor ?? fragment2.sourceAnchor
327913
+ sourceAnchor: resolvedItem?.sourceAnchor
327308
327914
  });
327309
327915
  contentEl.appendChild(lineEl);
327310
327916
  });
@@ -327339,13 +327945,13 @@ function print() { __p += __j.call(arguments, '') }
327339
327945
  this.applyContainerSdtDataset(fragmentEl, block.attrs?.containerSdt);
327340
327946
  if (block.id)
327341
327947
  fragmentEl.setAttribute("data-sd-block-id", block.id);
327342
- const imgPmStart = resolvedItem?.pmStart ?? fragment2.pmStart;
327948
+ const imgPmStart = resolvedItem?.pmStart;
327343
327949
  if (imgPmStart != null)
327344
327950
  fragmentEl.dataset.pmStart = String(imgPmStart);
327345
- const imgPmEnd = resolvedItem?.pmEnd ?? fragment2.pmEnd;
327951
+ const imgPmEnd = resolvedItem?.pmEnd;
327346
327952
  if (imgPmEnd != null)
327347
327953
  fragmentEl.dataset.pmEnd = String(imgPmEnd);
327348
- const imgMetadata = resolvedItem?.metadata ?? fragment2.metadata;
327954
+ const imgMetadata = resolvedItem?.metadata;
327349
327955
  if (imgMetadata && !block.attrs?.vmlWatermark)
327350
327956
  fragmentEl.setAttribute("data-image-metadata", JSON.stringify(imgMetadata));
327351
327957
  const img2 = this.doc.createElement("img");
@@ -329139,7 +329745,7 @@ function print() { __p += __j.call(arguments, '') }
329139
329745
  const runSegments$1 = segmentsByRun.get(runIndex);
329140
329746
  const baseSegX = runSegments$1 && runSegments$1[0]?.x !== undefined ? runSegments$1[0].x : cumulativeX;
329141
329747
  const segX = baseSegX + indentOffset;
329142
- const segWidth = (runSegments$1 && runSegments$1[0]?.width !== undefined ? runSegments$1[0].width : elem.offsetWidth) ?? 0;
329748
+ const segWidth = runSegments$1?.[0]?.width ?? 0;
329143
329749
  elem.style.position = "absolute";
329144
329750
  elem.style.left = `${segX}px`;
329145
329751
  appendToLineGeo(elem, baseRun, segX, segWidth);
@@ -329211,17 +329817,8 @@ function print() { __p += __j.call(arguments, '') }
329211
329817
  const xPos = baseX + indentOffset;
329212
329818
  elem.style.position = "absolute";
329213
329819
  elem.style.left = `${xPos}px`;
329214
- appendToLineGeo(elem, segmentRun, xPos, segment.width ?? 0);
329215
- let width = segment.width ?? 0;
329216
- if (width <= 0 && this.doc) {
329217
- const measureEl = elem.cloneNode(true);
329218
- measureEl.style.position = "absolute";
329219
- measureEl.style.visibility = "hidden";
329220
- measureEl.style.left = "-9999px";
329221
- this.doc.body.appendChild(measureEl);
329222
- width = measureEl.offsetWidth;
329223
- this.doc.body.removeChild(measureEl);
329224
- }
329820
+ appendToLineGeo(elem, segmentRun, xPos, segment.width);
329821
+ const width = segment.width;
329225
329822
  cumulativeX = baseX + width;
329226
329823
  if (geoSdtWrapper)
329227
329824
  geoSdtMaxRight = Math.max(geoSdtMaxRight, xPos + width);
@@ -329380,21 +329977,21 @@ function print() { __p += __j.call(arguments, '') }
329380
329977
  if (section === "body" || section === undefined)
329381
329978
  assertFragmentPmPositions(fragment2, "paragraph fragment");
329382
329979
  const resolvedFrag = resolvedItem;
329383
- const pmStart = resolvedFrag?.pmStart ?? fragment2.pmStart;
329980
+ const pmStart = resolvedFrag?.pmStart;
329384
329981
  if (pmStart != null)
329385
329982
  el.dataset.pmStart = String(pmStart);
329386
329983
  else
329387
329984
  delete el.dataset.pmStart;
329388
- const pmEnd = resolvedFrag?.pmEnd ?? fragment2.pmEnd;
329985
+ const pmEnd = resolvedFrag?.pmEnd;
329389
329986
  if (pmEnd != null)
329390
329987
  el.dataset.pmEnd = String(pmEnd);
329391
329988
  else
329392
329989
  delete el.dataset.pmEnd;
329393
- if (resolvedFrag?.continuesFromPrev ?? fragment2.continuesFromPrev)
329990
+ if (resolvedFrag?.continuesFromPrev)
329394
329991
  el.dataset.continuesFromPrev = "true";
329395
329992
  else
329396
329993
  delete el.dataset.continuesFromPrev;
329397
- if (resolvedFrag?.continuesOnNext ?? fragment2.continuesOnNext)
329994
+ if (resolvedFrag?.continuesOnNext)
329398
329995
  el.dataset.continuesOnNext = "true";
329399
329996
  else
329400
329997
  delete el.dataset.continuesOnNext;
@@ -329418,7 +330015,7 @@ function print() { __p += __j.call(arguments, '') }
329418
330015
  resolveFragmentWrapperZIndex(fragment2, resolvedZIndex) {
329419
330016
  if (!this.isAnchoredMediaFragment(fragment2))
329420
330017
  return "";
329421
- const zIndex = resolvedZIndex ?? fragment2.zIndex;
330018
+ const zIndex = resolvedZIndex;
329422
330019
  return zIndex != null ? String(zIndex) : "";
329423
330020
  }
329424
330021
  applyFragmentWrapperZIndex(el, fragment2, resolvedZIndex) {
@@ -329430,7 +330027,7 @@ function print() { __p += __j.call(arguments, '') }
329430
330027
  el.style.width = `${item.width}px`;
329431
330028
  el.dataset.blockId = item.blockId;
329432
330029
  el.dataset.layoutEpoch = String(this.layoutEpoch);
329433
- applySourceAnchorDataset(el, item.sourceAnchor ?? fragment2.sourceAnchor);
330030
+ applySourceAnchorDataset(el, item.sourceAnchor);
329434
330031
  this.applyFragmentWrapperZIndex(el, fragment2, item.zIndex);
329435
330032
  if (item.fragmentKind === "image" || item.fragmentKind === "drawing" || item.fragmentKind === "table")
329436
330033
  el.style.height = `${item.height}px`;
@@ -329438,7 +330035,7 @@ function print() { __p += __j.call(arguments, '') }
329438
330035
  }
329439
330036
  applyResolvedListItemWrapperFrame(el, fragment2, item, section) {
329440
330037
  this.applyResolvedFragmentFrame(el, item, fragment2, section);
329441
- const mw = item.markerWidth ?? fragment2.markerWidth;
330038
+ const mw = item.markerWidth ?? 0;
329442
330039
  el.style.left = `${item.x - mw}px`;
329443
330040
  el.style.width = `${item.width + mw}px`;
329444
330041
  }
@@ -336667,7 +337264,11 @@ function print() { __p += __j.call(arguments, '') }
336667
337264
  removeDocumentSection: trash_can_solid_default,
336668
337265
  trackChangesAccept: check_solid_default,
336669
337266
  trackChangesReject: xmark_solid_default,
336670
- 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
336671
337272
  };
336672
337273
  TEXTS = {
336673
337274
  addRowBefore: "Insert row above",
@@ -336693,7 +337294,11 @@ function print() { __p += __j.call(arguments, '') }
336693
337294
  createDocumentSection: "Create section",
336694
337295
  trackChangesAccept: "Accept change",
336695
337296
  trackChangesReject: "Reject change",
336696
- cellBackground: "Cell background"
337297
+ cellBackground: "Cell background",
337298
+ listRestartNumbering: "Restart numbering",
337299
+ listContinueNumbering: "Continue numbering",
337300
+ listDecreaseIndent: "Decrease indent",
337301
+ listIncreaseIndent: "Increase indent"
336697
337302
  };
336698
337303
  tableActionsOptions = [
336699
337304
  {
@@ -336800,11 +337405,11 @@ function print() { __p += __j.call(arguments, '') }
336800
337405
  ];
336801
337406
  });
336802
337407
 
336803
- // ../../packages/superdoc/dist/chunks/create-super-doc-ui-BTCvkLyW.es.js
337408
+ // ../../packages/superdoc/dist/chunks/create-super-doc-ui-BZNADU5K.es.js
336804
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;
336805
- var init_create_super_doc_ui_BTCvkLyW_es = __esm(() => {
336806
- init_SuperConverter_BLL9JGke_es();
336807
- init_create_headless_toolbar_D7n_Okb2_es();
337410
+ var init_create_super_doc_ui_BZNADU5K_es = __esm(() => {
337411
+ init_SuperConverter_D1o6_yKI_es();
337412
+ init_create_headless_toolbar_CJ0iQq1T_es();
336808
337413
  MOD_ALIASES = new Set([
336809
337414
  "Mod",
336810
337415
  "Meta",
@@ -336846,16 +337451,16 @@ var init_zipper_BxRAi0_5_es = __esm(() => {
336846
337451
 
336847
337452
  // ../../packages/superdoc/dist/super-editor.es.js
336848
337453
  var init_super_editor_es = __esm(() => {
336849
- init_src_C4h4xIas_es();
336850
- init_SuperConverter_BLL9JGke_es();
337454
+ init_src_ItIaPxzW_es();
337455
+ init_SuperConverter_D1o6_yKI_es();
336851
337456
  init_jszip_C49i9kUs_es();
336852
337457
  init_xml_js_CqGKpaft_es();
336853
- init_create_headless_toolbar_D7n_Okb2_es();
337458
+ init_create_headless_toolbar_CJ0iQq1T_es();
336854
337459
  init_constants_DrU4EASo_es();
336855
337460
  init_dist_B8HfvhaK_es();
336856
337461
  init_unified_Dsuw2be5_es();
336857
- init_DocxZipper_CUX64E5K_es();
336858
- init_create_super_doc_ui_BTCvkLyW_es();
337462
+ init_DocxZipper_Dh4RtvcE_es();
337463
+ init_create_super_doc_ui_BZNADU5K_es();
336859
337464
  init_ui_CGB3qmy3_es();
336860
337465
  init_eventemitter3_UwU_CLPU_es();
336861
337466
  init_errors_C_DoKMoN_es();