@superdoc-dev/mcp 0.3.0-next.62 → 0.3.0-next.63

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 +1222 -377
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -51837,7 +51837,7 @@ var init_remark_gfm_BhnWr3yf_es = __esm(() => {
51837
51837
  emptyOptions2 = {};
51838
51838
  });
51839
51839
 
51840
- // ../../packages/superdoc/dist/chunks/SuperConverter-BLL9JGke.es.js
51840
+ // ../../packages/superdoc/dist/chunks/SuperConverter-D1o6_yKI.es.js
51841
51841
  function getExtensionConfigField(extension$1, field, context = { name: "" }) {
51842
51842
  const fieldValue = extension$1.config[field];
51843
51843
  if (typeof fieldValue === "function")
@@ -71405,7 +71405,7 @@ function updateNumberingProperties(newNumberingProperties, paragraphNode, pos, e
71405
71405
  ...paragraphNode.attrs.paragraphProperties || {},
71406
71406
  numberingProperties: newNumberingProperties ? { ...newNumberingProperties } : null
71407
71407
  };
71408
- if (paragraphNode.attrs.paragraphProperties?.styleId === "ListParagraph")
71408
+ if (!newNumberingProperties && paragraphNode.attrs.paragraphProperties?.styleId === "ListParagraph")
71409
71409
  newProperties.styleId = null;
71410
71410
  if (newProperties.indent)
71411
71411
  delete newProperties.indent;
@@ -71450,7 +71450,7 @@ function refreshAbstractIdentity(abstractDef) {
71450
71450
  }
71451
71451
  function generateNewListDefinition(numbering, options) {
71452
71452
  let { listType } = options;
71453
- const { numId, level, start, text: text$2, fmt, markerFontFamily, bulletStyle, bulletStyleLevel } = options;
71453
+ const { numId, level, start, text: text$2, fmt, markerFontFamily, bulletStyle, bulletStyleLevel, orderedStyle, orderedStyleLevel } = options;
71454
71454
  if (typeof listType !== "string")
71455
71455
  listType = listType.name;
71456
71456
  const definition$1 = listType === "orderedList" ? baseOrderedListDef : baseBulletList;
@@ -71479,6 +71479,61 @@ function generateNewListDefinition(numbering, options) {
71479
71479
  }
71480
71480
  }
71481
71481
  }
71482
+ if (orderedStyle && listType === "orderedList") {
71483
+ const styleConfig = ORDERED_LIST_STYLES[orderedStyle];
71484
+ if (styleConfig) {
71485
+ const targetLevel = Math.max(0, Number.isFinite(orderedStyleLevel) ? orderedStyleLevel : 0);
71486
+ const targetLevelStr = String(targetLevel);
71487
+ const lvl = newAbstractDef.elements.find((el) => el.name === "w:lvl" && el.attributes["w:ilvl"] === targetLevelStr);
71488
+ if (lvl) {
71489
+ const numFmt = lvl.elements.find((el) => el.name === "w:numFmt");
71490
+ if (numFmt)
71491
+ numFmt.attributes["w:val"] = styleConfig.fmt;
71492
+ const lvlText = lvl.elements.find((el) => el.name === "w:lvlText");
71493
+ if (lvlText)
71494
+ lvlText.attributes["w:val"] = `%${targetLevel + 1}${styleConfig.text.replace(/^%\d+/, "")}`;
71495
+ const defaultLvlJc = DEFAULT_LVL_JC_BY_FMT[styleConfig.fmt];
71496
+ if (defaultLvlJc) {
71497
+ const lvlJc = lvl.elements.find((el) => el.name === "w:lvlJc");
71498
+ if (lvlJc)
71499
+ lvlJc.attributes["w:val"] = defaultLvlJc;
71500
+ else
71501
+ lvl.elements.push({
71502
+ type: "element",
71503
+ name: "w:lvlJc",
71504
+ attributes: { "w:val": defaultLvlJc }
71505
+ });
71506
+ }
71507
+ const defaultHanging = DEFAULT_HANGING_BY_FMT[styleConfig.fmt];
71508
+ if (defaultHanging != null) {
71509
+ let pPr = lvl.elements.find((el) => el.name === "w:pPr");
71510
+ if (!pPr) {
71511
+ pPr = {
71512
+ type: "element",
71513
+ name: "w:pPr",
71514
+ elements: []
71515
+ };
71516
+ lvl.elements.push(pPr);
71517
+ }
71518
+ if (!pPr.elements)
71519
+ pPr.elements = [];
71520
+ let ind = pPr.elements.find((el) => el.name === "w:ind");
71521
+ if (!ind) {
71522
+ ind = {
71523
+ type: "element",
71524
+ name: "w:ind",
71525
+ attributes: { "w:hanging": String(defaultHanging) }
71526
+ };
71527
+ pPr.elements.push(ind);
71528
+ } else
71529
+ ind.attributes = {
71530
+ ...ind.attributes || {},
71531
+ "w:hanging": String(defaultHanging)
71532
+ };
71533
+ }
71534
+ }
71535
+ }
71536
+ }
71482
71537
  if (level != null && start != null && text$2 != null && fmt != null) {
71483
71538
  if (numbering.definitions[numId]) {
71484
71539
  const abstractId = numbering.definitions[numId]?.elements[0]?.attributes["w:val"];
@@ -71701,6 +71756,126 @@ function setLvlRestartOnAbstract(numbering, abstractNumId, ilvl, restartAfterLev
71701
71756
  });
71702
71757
  return true;
71703
71758
  }
71759
+ function setLvlStyleOnAbstract(numbering, abstractNumId, ilvl, options) {
71760
+ const abstract = numbering.abstracts[abstractNumId];
71761
+ if (!abstract?.elements)
71762
+ return false;
71763
+ const ilvlStr = String(ilvl);
71764
+ const lvlEl = abstract.elements.find((el) => el.name === "w:lvl" && el.attributes?.["w:ilvl"] === ilvlStr);
71765
+ if (!lvlEl)
71766
+ return false;
71767
+ if (!lvlEl.elements)
71768
+ lvlEl.elements = [];
71769
+ const setOrAddChild = (name, value) => {
71770
+ const existing = lvlEl.elements.find((el) => el.name === name);
71771
+ if (existing) {
71772
+ if (existing.attributes?.["w:val"] === value)
71773
+ return false;
71774
+ existing.attributes = {
71775
+ ...existing.attributes || {},
71776
+ "w:val": value
71777
+ };
71778
+ return true;
71779
+ }
71780
+ lvlEl.elements.push({
71781
+ type: "element",
71782
+ name,
71783
+ attributes: { "w:val": value }
71784
+ });
71785
+ return true;
71786
+ };
71787
+ const stripMarkerFont = () => {
71788
+ const rPr = lvlEl.elements.find((el) => el.name === "w:rPr");
71789
+ if (!rPr?.elements?.some((el) => el.name === "w:rFonts"))
71790
+ return false;
71791
+ rPr.elements = rPr.elements.filter((el) => el.name !== "w:rFonts");
71792
+ return true;
71793
+ };
71794
+ let numFmtValue = null;
71795
+ let lvlTextValue = null;
71796
+ let lvlJcValue = null;
71797
+ let hangingValue = null;
71798
+ if (options.bulletStyle) {
71799
+ const char = BULLET_STYLE_CHARS[options.bulletStyle];
71800
+ if (!char)
71801
+ return false;
71802
+ numFmtValue = "bullet";
71803
+ lvlTextValue = char;
71804
+ } else if (options.orderedStyle) {
71805
+ const config$40 = ORDERED_LIST_STYLES[options.orderedStyle];
71806
+ if (!config$40)
71807
+ return false;
71808
+ numFmtValue = config$40.fmt;
71809
+ lvlTextValue = `%${ilvl + 1}${config$40.text.replace(/^%\d+/, "")}`;
71810
+ lvlJcValue = DEFAULT_LVL_JC_BY_FMT[config$40.fmt] ?? null;
71811
+ hangingValue = DEFAULT_HANGING_BY_FMT[config$40.fmt] ?? null;
71812
+ } else
71813
+ return false;
71814
+ const setHangingOnLevel = (hanging) => {
71815
+ let pPr = lvlEl.elements.find((el) => el.name === "w:pPr");
71816
+ if (!pPr) {
71817
+ pPr = {
71818
+ type: "element",
71819
+ name: "w:pPr",
71820
+ elements: []
71821
+ };
71822
+ lvlEl.elements.push(pPr);
71823
+ }
71824
+ if (!pPr.elements)
71825
+ pPr.elements = [];
71826
+ let ind = pPr.elements.find((el) => el.name === "w:ind");
71827
+ if (!ind) {
71828
+ ind = {
71829
+ type: "element",
71830
+ name: "w:ind",
71831
+ attributes: { "w:hanging": String(hanging) }
71832
+ };
71833
+ pPr.elements.push(ind);
71834
+ return true;
71835
+ }
71836
+ if (ind.attributes?.["w:hanging"] === String(hanging))
71837
+ return false;
71838
+ ind.attributes = {
71839
+ ...ind.attributes || {},
71840
+ "w:hanging": String(hanging)
71841
+ };
71842
+ return true;
71843
+ };
71844
+ let changed = false;
71845
+ if (setOrAddChild("w:numFmt", numFmtValue))
71846
+ changed = true;
71847
+ if (setOrAddChild("w:lvlText", lvlTextValue))
71848
+ changed = true;
71849
+ if (lvlJcValue != null && setOrAddChild("w:lvlJc", lvlJcValue))
71850
+ changed = true;
71851
+ if (hangingValue != null && setHangingOnLevel(hangingValue))
71852
+ changed = true;
71853
+ if (stripMarkerFont())
71854
+ changed = true;
71855
+ return changed;
71856
+ }
71857
+ function cloneListDefinitionWithLevelStyle(numbering, sourceNumId, ilvl, options) {
71858
+ const sourceAbstractIdRaw = numbering.definitions[sourceNumId]?.elements?.find((el) => el.name === "w:abstractNumId")?.attributes?.["w:val"];
71859
+ const sourceAbstractId = sourceAbstractIdRaw != null ? Number(sourceAbstractIdRaw) : NaN;
71860
+ const sourceAbstract = Number.isFinite(sourceAbstractId) ? numbering.abstracts[sourceAbstractId] : undefined;
71861
+ if (!sourceAbstract)
71862
+ return null;
71863
+ const newAbstractId = getNextId(numbering.abstracts);
71864
+ const newAbstractDef = JSON.parse(JSON.stringify(sourceAbstract));
71865
+ newAbstractDef.attributes = {
71866
+ ...newAbstractDef.attributes || {},
71867
+ "w:abstractNumId": String(newAbstractId)
71868
+ };
71869
+ refreshAbstractIdentity(newAbstractDef);
71870
+ numbering.abstracts[newAbstractId] = newAbstractDef;
71871
+ setLvlStyleOnAbstract(numbering, newAbstractId, ilvl, options);
71872
+ const newNumId = getNextId(numbering.definitions);
71873
+ numbering.definitions[newNumId] = buildNumDef(newNumId, newAbstractId);
71874
+ return {
71875
+ newNumId,
71876
+ newAbstractId
71877
+ };
71878
+ }
71704
71879
  function getConverter$8(editor) {
71705
71880
  return editor.converter;
71706
71881
  }
@@ -71787,6 +71962,26 @@ function mutateNumbering(editor, source, transform2, options) {
71787
71962
  }
71788
71963
  });
71789
71964
  }
71965
+ function mutateNumberingBatch(editor, source, transforms, options) {
71966
+ return mutateParts({
71967
+ editor,
71968
+ source,
71969
+ dryRun: options?.dryRun,
71970
+ expectedRevision: options?.expectedRevision,
71971
+ operations: [{
71972
+ editor,
71973
+ partId: "word/numbering.xml",
71974
+ operation: "mutate",
71975
+ source,
71976
+ mutate({ part }) {
71977
+ const numbering = getNumbering(editor);
71978
+ for (const transform2 of transforms)
71979
+ transform2(numbering);
71980
+ syncNumberingToXmlTree(part, numbering);
71981
+ }
71982
+ }]
71983
+ });
71984
+ }
71790
71985
  function markerTextToBulletStyle(markerText) {
71791
71986
  return {
71792
71987
  "•": "disc",
@@ -71794,6 +71989,25 @@ function markerTextToBulletStyle(markerText) {
71794
71989
  "▪": "square"
71795
71990
  }[markerText] ?? null;
71796
71991
  }
71992
+ function numberingInfoToOrderedStyle(numFmt, markerText) {
71993
+ const suffix = markerText?.slice(-1);
71994
+ return {
71995
+ decimal: {
71996
+ ".": "decimal",
71997
+ ")": "decimal-paren"
71998
+ },
71999
+ upperRoman: { ".": "upper-roman" },
72000
+ lowerRoman: { ".": "lower-roman" },
72001
+ upperLetter: {
72002
+ ".": "upper-alpha",
72003
+ ")": "upper-alpha-paren"
72004
+ },
72005
+ lowerLetter: {
72006
+ ".": "lower-alpha",
72007
+ ")": "lower-alpha-paren"
72008
+ }
72009
+ }[numFmt]?.[suffix] ?? null;
72010
+ }
71797
72011
  function normalizeCssValue(value) {
71798
72012
  if (!value)
71799
72013
  return value;
@@ -98829,14 +99043,11 @@ var isRegExp = (value) => {
98829
99043
  }
98830
99044
  return result;
98831
99045
  }, intToAlpha = (num) => {
98832
- let result = "";
98833
- const alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
98834
- let value = num;
98835
- while (value > 0) {
98836
- result = alphabet[(value - 1) % 26] + result;
98837
- value = Math.floor((value - 1) / 26);
98838
- }
98839
- return result;
99046
+ if (num < 1)
99047
+ return "";
99048
+ const letter = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"[(num - 1) % 26];
99049
+ const repeats = Math.floor((num - 1) / 26) + 1;
99050
+ return letter.repeat(repeats);
98840
99051
  }, intToJapaneseCounting = (num) => {
98841
99052
  const digits = [
98842
99053
  "",
@@ -99184,7 +99395,7 @@ var isRegExp = (value) => {
99184
99395
  updateNumberingProperties(numberingProperties, node2, pos, editor, tr);
99185
99396
  });
99186
99397
  return true;
99187
- }, 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 }) => {
99398
+ }, 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 }) => {
99188
99399
  let resultDefs;
99189
99400
  mutateNumbering(editor, "list-numbering-helpers:generateNewListDefinition", (numbering) => {
99190
99401
  const result = generateNewListDefinition(numbering, {
@@ -99196,7 +99407,9 @@ var isRegExp = (value) => {
99196
99407
  fmt,
99197
99408
  markerFontFamily,
99198
99409
  bulletStyle,
99199
- bulletStyleLevel
99410
+ bulletStyleLevel,
99411
+ orderedStyle,
99412
+ orderedStyleLevel
99200
99413
  });
99201
99414
  resultDefs = {
99202
99415
  abstractDef: result.abstractDef,
@@ -99443,6 +99656,46 @@ var isRegExp = (value) => {
99443
99656
  mutateNumbering(editor, "list-numbering-helpers:setLvlRestartOnAbstract", (numbering) => {
99444
99657
  setLvlRestartOnAbstract(numbering, abstractNumId, ilvl, restartAfterLevel);
99445
99658
  });
99659
+ }, setListLevelStyles = ({ editor, levels }) => {
99660
+ if (!levels?.length)
99661
+ return false;
99662
+ const resolved = [];
99663
+ for (const level of levels) {
99664
+ const abstractIdRaw = getListDefinitionDetails({
99665
+ numId: level.numId,
99666
+ level: level.ilvl,
99667
+ editor
99668
+ })?.abstractId;
99669
+ const abstractNumId = abstractIdRaw != null ? Number(abstractIdRaw) : NaN;
99670
+ if (!Number.isFinite(abstractNumId))
99671
+ continue;
99672
+ resolved.push({
99673
+ abstractNumId,
99674
+ ilvl: level.ilvl,
99675
+ bulletStyle: level.bulletStyle,
99676
+ orderedStyle: level.orderedStyle
99677
+ });
99678
+ }
99679
+ if (!resolved.length)
99680
+ return false;
99681
+ let anyChanged = false;
99682
+ mutateNumberingBatch(editor, "list-numbering-helpers:setListLevelStyles", resolved.map(({ abstractNumId, ilvl, bulletStyle, orderedStyle }) => (numbering) => {
99683
+ if (setLvlStyleOnAbstract(numbering, abstractNumId, ilvl, {
99684
+ bulletStyle,
99685
+ orderedStyle
99686
+ }))
99687
+ anyChanged = true;
99688
+ }));
99689
+ return anyChanged;
99690
+ }, cloneListDefinitionWithLevelStyle$1 = ({ editor, sourceNumId, ilvl, bulletStyle, orderedStyle }) => {
99691
+ let result = null;
99692
+ mutateNumbering(editor, "list-numbering-helpers:cloneListDefinitionWithLevelStyle", (numbering) => {
99693
+ result = cloneListDefinitionWithLevelStyle(numbering, sourceNumId, ilvl, {
99694
+ bulletStyle,
99695
+ orderedStyle
99696
+ });
99697
+ });
99698
+ return result;
99446
99699
  }, ListHelpers, extractListLevelStyles = (cssText, listId, level, numId) => {
99447
99700
  const pattern = new RegExp(`@list\\s+l${listId}:level${level}(?:\\s+lfo${numId})?\\s*\\{([^}]+)\\}`, "i");
99448
99701
  const match = cssText.match(pattern);
@@ -104425,7 +104678,7 @@ var isRegExp = (value) => {
104425
104678
  state.kern = kernNode.attributes["w:val"];
104426
104679
  }
104427
104680
  }, SuperConverter;
104428
- var init_SuperConverter_BLL9JGke_es = __esm(() => {
104681
+ var init_SuperConverter_D1o6_yKI_es = __esm(() => {
104429
104682
  init_rolldown_runtime_Bg48TavK_es();
104430
104683
  init_jszip_C49i9kUs_es();
104431
104684
  init_xml_js_CqGKpaft_es();
@@ -134811,6 +135064,54 @@ var init_SuperConverter_BLL9JGke_es = __esm(() => {
134811
135064
  circle: "◦",
134812
135065
  square: "▪"
134813
135066
  };
135067
+ ORDERED_LIST_STYLES = {
135068
+ decimal: {
135069
+ fmt: "decimal",
135070
+ text: "%1."
135071
+ },
135072
+ "decimal-paren": {
135073
+ fmt: "decimal",
135074
+ text: "%1)"
135075
+ },
135076
+ "upper-roman": {
135077
+ fmt: "upperRoman",
135078
+ text: "%1."
135079
+ },
135080
+ "lower-roman": {
135081
+ fmt: "lowerRoman",
135082
+ text: "%1."
135083
+ },
135084
+ "upper-alpha": {
135085
+ fmt: "upperLetter",
135086
+ text: "%1."
135087
+ },
135088
+ "upper-alpha-paren": {
135089
+ fmt: "upperLetter",
135090
+ text: "%1)"
135091
+ },
135092
+ "lower-alpha": {
135093
+ fmt: "lowerLetter",
135094
+ text: "%1."
135095
+ },
135096
+ "lower-alpha-paren": {
135097
+ fmt: "lowerLetter",
135098
+ text: "%1)"
135099
+ }
135100
+ };
135101
+ DEFAULT_LVL_JC_BY_FMT = {
135102
+ decimal: "left",
135103
+ upperRoman: "right",
135104
+ lowerRoman: "right",
135105
+ upperLetter: "left",
135106
+ lowerLetter: "left"
135107
+ };
135108
+ DEFAULT_HANGING_BY_FMT = {
135109
+ decimal: 360,
135110
+ upperRoman: 180,
135111
+ lowerRoman: 180,
135112
+ upperLetter: 360,
135113
+ lowerLetter: 360
135114
+ };
134814
135115
  NUMBERING_ROOT_ATTRS = {
134815
135116
  "xmlns:w": "http://schemas.openxmlformats.org/wordprocessingml/2006/main",
134816
135117
  "xmlns:w15": "http://schemas.microsoft.com/office/word/2012/wordml",
@@ -134888,6 +135189,8 @@ var init_SuperConverter_BLL9JGke_es = __esm(() => {
134888
135189
  removeLvlOverride: removeLvlOverride$1,
134889
135190
  createNumDefinition: createNumDefinition$1,
134890
135191
  setLvlRestartOnAbstract: setLvlRestartOnAbstract$1,
135192
+ setListLevelStyles,
135193
+ cloneListDefinitionWithLevelStyle: cloneListDefinitionWithLevelStyle$1,
134891
135194
  rebuildRawNumberingFromTranslated,
134892
135195
  createNewList,
134893
135196
  createSchemaOrderedListNode,
@@ -142033,7 +142336,7 @@ var init_SuperConverter_BLL9JGke_es = __esm(() => {
142033
142336
  };
142034
142337
  });
142035
142338
 
142036
- // ../../packages/superdoc/dist/chunks/create-headless-toolbar-D7n_Okb2.es.js
142339
+ // ../../packages/superdoc/dist/chunks/create-headless-toolbar-CJ0iQq1T.es.js
142037
142340
  function parseSizeUnit(val = "0") {
142038
142341
  const length = val.toString() || "0";
142039
142342
  const value = Number.parseFloat(length);
@@ -144328,15 +144631,27 @@ var CSS_DIMENSION_REGEX, DOM_SIZE_UNITS, Extension = class Extension2 {
144328
144631
  disabled: false,
144329
144632
  value: isActive2 ? paragraphNode?.attrs?.listRendering?.markerText ?? null : null
144330
144633
  };
144634
+ const activeNumberingFmt = isActive2 ? paragraphNode?.attrs?.listRendering?.numberingType ?? null : null;
144635
+ const activeMarkerText = isActive2 ? paragraphNode?.attrs?.listRendering?.markerText ?? null : null;
144331
144636
  return {
144332
144637
  active: isActive2,
144333
- disabled: false
144638
+ disabled: false,
144639
+ value: activeNumberingFmt && activeMarkerText ? numberingInfoToOrderedStyle(activeNumberingFmt, activeMarkerText) : null
144334
144640
  };
144335
144641
  }, createIndentIncreaseExecute = () => ({ context }) => {
144336
144642
  if (resolveStateEditor(context)?.commands?.increaseListIndent?.())
144337
144643
  return true;
144338
144644
  return createDirectCommandExecute("increaseTextIndent")({ context });
144339
- }, createIndentDecreaseExecute = () => ({ context }) => {
144645
+ }, createListToggleExecute = (styleCommand, legacyCommand) => ({ context, payload }) => {
144646
+ const commands = resolveStateEditor(context)?.commands;
144647
+ if (typeof commands?.[styleCommand] === "function") {
144648
+ const result = payload === undefined ? commands[styleCommand]() : commands[styleCommand](payload);
144649
+ return Boolean(result);
144650
+ }
144651
+ if (typeof commands?.[legacyCommand] === "function")
144652
+ return Boolean(commands[legacyCommand]());
144653
+ return false;
144654
+ }, createBulletListExecute = () => createListToggleExecute("toggleBulletListStyle", "toggleBulletList"), createOrderedListExecute = () => createListToggleExecute("toggleOrderedListStyle", "toggleOrderedList"), createIndentDecreaseExecute = () => ({ context }) => {
144340
144655
  if (resolveStateEditor(context)?.commands?.decreaseListIndent?.())
144341
144656
  return true;
144342
144657
  return createDirectCommandExecute("decreaseTextIndent")({ context });
@@ -144472,12 +144787,14 @@ var CSS_DIMENSION_REGEX, DOM_SIZE_UNITS, Extension = class Extension2 {
144472
144787
  "bullet-list": {
144473
144788
  id: "bullet-list",
144474
144789
  directCommandName: "toggleBulletListStyle",
144475
- state: createListStateDeriver("bullet")
144790
+ state: createListStateDeriver("bullet"),
144791
+ execute: createBulletListExecute()
144476
144792
  },
144477
144793
  "numbered-list": {
144478
144794
  id: "numbered-list",
144479
- directCommandName: "toggleOrderedList",
144480
- state: createListStateDeriver("ordered")
144795
+ directCommandName: "toggleOrderedListStyle",
144796
+ state: createListStateDeriver("ordered"),
144797
+ execute: createOrderedListExecute()
144481
144798
  },
144482
144799
  "indent-increase": {
144483
144800
  id: "indent-increase",
@@ -144686,8 +145003,8 @@ var CSS_DIMENSION_REGEX, DOM_SIZE_UNITS, Extension = class Extension2 {
144686
145003
  }
144687
145004
  };
144688
145005
  };
144689
- var init_create_headless_toolbar_D7n_Okb2_es = __esm(() => {
144690
- init_SuperConverter_BLL9JGke_es();
145006
+ var init_create_headless_toolbar_CJ0iQq1T_es = __esm(() => {
145007
+ init_SuperConverter_D1o6_yKI_es();
144691
145008
  init_constants_DrU4EASo_es();
144692
145009
  init_dist_B8HfvhaK_es();
144693
145010
  CSS_DIMENSION_REGEX = /[\d-.]+(\w+)$/;
@@ -146134,7 +146451,7 @@ var init_decrypt_docx_4kQ488M9_es = __esm(() => {
146134
146451
  ]);
146135
146452
  });
146136
146453
 
146137
- // ../../packages/superdoc/dist/chunks/DocxZipper-CUX64E5K.es.js
146454
+ // ../../packages/superdoc/dist/chunks/DocxZipper-Dh4RtvcE.es.js
146138
146455
  function sniffEncoding(u8) {
146139
146456
  if (u8.length >= 2) {
146140
146457
  const b0 = u8[0], b1 = u8[1];
@@ -146177,6 +146494,15 @@ function ensureXmlString(content2) {
146177
146494
  xml = xml.replace(/(<\?xml\b[^?]*?)\bencoding\s*=\s*["'][^"']*["']/i, '$1encoding="UTF-8"');
146178
146495
  return xml;
146179
146496
  }
146497
+ function escapeAttributeValue(value) {
146498
+ return String(value).replace(/&quot;/g, QUOT_PLACEHOLDER).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(QUOT_PLACEHOLDER_REGEX, "&quot;");
146499
+ }
146500
+ function serializeOpcXml(jsObject) {
146501
+ return import_lib$3.js2xml(jsObject, {
146502
+ spaces: 0,
146503
+ attributeValueFn: escapeAttributeValue
146504
+ });
146505
+ }
146180
146506
  function readEntry(path2, baseFiles, updatedDocs) {
146181
146507
  if (updatedDocs && Object.prototype.hasOwnProperty.call(updatedDocs, path2))
146182
146508
  return updatedDocs[path2];
@@ -146197,7 +146523,7 @@ function parseXml(xmlString) {
146197
146523
  }
146198
146524
  }
146199
146525
  function serializeXml(jsObject) {
146200
- return import_lib$2.js2xml(jsObject, { spaces: 0 });
146526
+ return serializeOpcXml(jsObject);
146201
146527
  }
146202
146528
  function findRootElement(parsed, tagName) {
146203
146529
  return parsed?.elements?.find((el) => {
@@ -146414,9 +146740,9 @@ function reconcileDocumentRelationships(relsXml, fileExists) {
146414
146740
  }
146415
146741
  if (!changed)
146416
146742
  return relsXml;
146417
- return import_lib$12.js2xml(parsed, { spaces: 0 });
146743
+ return serializeOpcXml(parsed);
146418
146744
  }
146419
- 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 {
146745
+ 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 {
146420
146746
  constructor(params = {}) {
146421
146747
  this.debug = params.debug || false;
146422
146748
  this.zip = new import_jszip_min.default;
@@ -146785,7 +147111,7 @@ var DOCX = "application/vnd.openxmlformats-officedocument.wordprocessingml.docum
146785
147111
  return `image/${MIME_TYPE_FOR_EXT[detectedType] || detectedType}`;
146786
147112
  }
146787
147113
  }, DocxZipper_default;
146788
- var init_DocxZipper_CUX64E5K_es = __esm(() => {
147114
+ var init_DocxZipper_Dh4RtvcE_es = __esm(() => {
146789
147115
  init_rolldown_runtime_Bg48TavK_es();
146790
147116
  init_jszip_C49i9kUs_es();
146791
147117
  init_xml_js_CqGKpaft_es();
@@ -146813,6 +147139,8 @@ var init_DocxZipper_CUX64E5K_es = __esm(() => {
146813
147139
  relationshipType: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties"
146814
147140
  }
146815
147141
  ];
147142
+ import_lib$3 = /* @__PURE__ */ __toESM2(require_lib(), 1);
147143
+ QUOT_PLACEHOLDER_REGEX = /SD_OPC_QUOT/g;
146816
147144
  import_lib$2 = /* @__PURE__ */ __toESM2(require_lib(), 1);
146817
147145
  import_lib$12 = /* @__PURE__ */ __toESM2(require_lib(), 1);
146818
147146
  MANAGED_DOCUMENT_PARTS = [{
@@ -198895,7 +199223,7 @@ var init_remark_gfm_eZN6yzWQ_es = __esm(() => {
198895
199223
  init_remark_gfm_BhnWr3yf_es();
198896
199224
  });
198897
199225
 
198898
- // ../../packages/superdoc/dist/chunks/src-C4h4xIas.es.js
199226
+ // ../../packages/superdoc/dist/chunks/src-ItIaPxzW.es.js
198899
199227
  function deleteProps(obj, propOrProps) {
198900
199228
  const props = typeof propOrProps === "string" ? [propOrProps] : propOrProps;
198901
199229
  const removeNested = (target, pathParts, index2 = 0) => {
@@ -201835,7 +202163,7 @@ function getParagraphListKind(node2, editor) {
201835
202163
  return null;
201836
202164
  return numFmtIsBullet(fmt) ? "bullet" : "ordered";
201837
202165
  }
201838
- function paragraphMatchesToggleListType(node2, editor, listType, bulletStyle) {
202166
+ function paragraphMatchesToggleListType(node2, editor, listType, bulletStyle, orderedStyle) {
201839
202167
  const kind = getParagraphListKind(node2, editor);
201840
202168
  if (!kind)
201841
202169
  return false;
@@ -201847,8 +202175,14 @@ function paragraphMatchesToggleListType(node2, editor, listType, bulletStyle) {
201847
202175
  const markerText = node2.attrs.listRendering?.markerText;
201848
202176
  return markerTextToBulletStyle(markerText) === bulletStyle;
201849
202177
  }
201850
- if (listType === "orderedList")
201851
- return kind === "ordered";
202178
+ if (listType === "orderedList") {
202179
+ if (kind !== "ordered")
202180
+ return false;
202181
+ if (!orderedStyle)
202182
+ return true;
202183
+ const { numberingType, markerText } = node2.attrs.listRendering ?? {};
202184
+ return numberingInfoToOrderedStyle(numberingType, markerText) === orderedStyle;
202185
+ }
201852
202186
  return false;
201853
202187
  }
201854
202188
  function getPrecedingParagraphForListReuse(doc$12, from$1, paragraphsInSelection) {
@@ -241656,119 +241990,6 @@ function applyAlphaToSVG(svg2, alphaData) {
241656
241990
  function generateGradientId(prefix2 = "gradient") {
241657
241991
  return `${prefix2}-${Date.now()}-${gradientIdCounter++}-${Math.random().toString(36).substring(2, 11)}`;
241658
241992
  }
241659
- function isResolvedFragmentWithBorders(item) {
241660
- return item !== undefined && item.kind === "fragment" && "paragraphBorders" in item && item.paragraphBorders !== undefined;
241661
- }
241662
- function resolveClipPath(value) {
241663
- if (typeof value !== "string")
241664
- return;
241665
- const trimmed = value.trim();
241666
- return trimmed.length > 0 ? trimmed : undefined;
241667
- }
241668
- function applyImageClipPath(el, clipPath, options) {
241669
- const resolved = resolveClipPath(clipPath);
241670
- if (resolved) {
241671
- if (options?.clipContainer)
241672
- options.clipContainer.style.overflow = "hidden";
241673
- el.style.clipPath = resolved;
241674
- const scale = parseInsetClipPathForScale(resolved);
241675
- if (scale) {
241676
- el.style.transformOrigin = "0 0";
241677
- el.style.transform = `translate(${scale.translateX}%, ${scale.translateY}%) scale(${scale.scaleX}, ${scale.scaleY})`;
241678
- }
241679
- }
241680
- }
241681
- function isStructuredContentMetadata(sdt) {
241682
- return sdt !== null && sdt !== undefined && typeof sdt === "object" && "type" in sdt && sdt.type === "structuredContent";
241683
- }
241684
- function isDocumentSectionMetadata(sdt) {
241685
- return sdt !== null && sdt !== undefined && typeof sdt === "object" && "type" in sdt && sdt.type === "documentSection";
241686
- }
241687
- function getSdtContainerConfig(sdt) {
241688
- if (isDocumentSectionMetadata(sdt))
241689
- return {
241690
- className: "superdoc-document-section",
241691
- labelText: sdt.title ?? "Document section",
241692
- labelClassName: "superdoc-document-section__tooltip",
241693
- isStart: true,
241694
- isEnd: true
241695
- };
241696
- if (isStructuredContentMetadata(sdt) && sdt.scope === "block")
241697
- return {
241698
- className: "superdoc-structured-content-block",
241699
- labelText: sdt.alias ?? "Structured content",
241700
- labelClassName: "superdoc-structured-content__label",
241701
- isStart: true,
241702
- isEnd: true
241703
- };
241704
- return null;
241705
- }
241706
- function getSdtContainerMetadata$1(sdt, containerSdt) {
241707
- if (getSdtContainerConfig(sdt))
241708
- return sdt ?? null;
241709
- if (getSdtContainerConfig(containerSdt))
241710
- return containerSdt ?? null;
241711
- return null;
241712
- }
241713
- function getSdtContainerKey(sdt, containerSdt) {
241714
- const metadata = getSdtContainerMetadata$1(sdt, containerSdt);
241715
- if (!metadata)
241716
- return null;
241717
- if (metadata.type === "structuredContent") {
241718
- if (metadata.scope !== "block")
241719
- return null;
241720
- if (!metadata.id)
241721
- return null;
241722
- return `structuredContent:${metadata.id}`;
241723
- }
241724
- if (metadata.type === "documentSection") {
241725
- const sectionId = metadata.id ?? metadata.sdBlockId;
241726
- if (!sectionId)
241727
- return null;
241728
- return `documentSection:${sectionId}`;
241729
- }
241730
- return null;
241731
- }
241732
- function applySdtContainerStyling(doc$12, container, sdt, containerSdt, boundaryOptions) {
241733
- let config3 = getSdtContainerConfig(sdt);
241734
- if (!config3 && containerSdt)
241735
- config3 = getSdtContainerConfig(containerSdt);
241736
- if (!config3)
241737
- return;
241738
- const isStart = boundaryOptions?.isStart ?? config3.isStart;
241739
- const isEnd = boundaryOptions?.isEnd ?? config3.isEnd;
241740
- container.classList.add(config3.className);
241741
- container.dataset.sdtContainerStart = String(isStart);
241742
- container.dataset.sdtContainerEnd = String(isEnd);
241743
- container.style.overflow = "visible";
241744
- if (isStructuredContentMetadata(sdt))
241745
- container.dataset.lockMode = sdt.lockMode || "unlocked";
241746
- else if (isStructuredContentMetadata(containerSdt))
241747
- container.dataset.lockMode = containerSdt.lockMode || "unlocked";
241748
- if (boundaryOptions?.widthOverride != null)
241749
- container.style.width = `${boundaryOptions.widthOverride}px`;
241750
- if (boundaryOptions?.paddingBottomOverride != null && boundaryOptions.paddingBottomOverride > 0)
241751
- container.style.paddingBottom = `${boundaryOptions.paddingBottomOverride}px`;
241752
- if (boundaryOptions?.showLabel ?? isStart) {
241753
- const labelEl = doc$12.createElement("div");
241754
- labelEl.className = config3.labelClassName;
241755
- const labelText = doc$12.createElement("span");
241756
- labelText.textContent = config3.labelText;
241757
- labelEl.appendChild(labelText);
241758
- container.appendChild(labelEl);
241759
- }
241760
- }
241761
- function shouldRebuildForSdtBoundary(element3, boundary) {
241762
- if (!boundary)
241763
- return element3.dataset.sdtContainerStart !== undefined;
241764
- const startAttr = element3.dataset.sdtContainerStart;
241765
- const endAttr = element3.dataset.sdtContainerEnd;
241766
- const expectedStart = String(boundary.isStart ?? true);
241767
- const expectedEnd = String(boundary.isEnd ?? true);
241768
- if (startAttr === undefined || endAttr === undefined)
241769
- return true;
241770
- return startAttr !== expectedStart || endAttr !== expectedEnd;
241771
- }
241772
241993
  function resolveListMarkerGeometry(wordLayout, indentLeft, firstLine, hanging, measureMarkerText) {
241773
241994
  const marker = wordLayout?.marker;
241774
241995
  if (!marker)
@@ -241913,6 +242134,119 @@ function computeTabWidth(currentPos, justification, tabs, hangingIndent, firstLi
241913
242134
  tabWidth = nextDefaultTabStop - currentPos;
241914
242135
  return tabWidth;
241915
242136
  }
242137
+ function isResolvedFragmentWithBorders(item) {
242138
+ return item !== undefined && item.kind === "fragment" && "paragraphBorders" in item && item.paragraphBorders !== undefined;
242139
+ }
242140
+ function resolveClipPath(value) {
242141
+ if (typeof value !== "string")
242142
+ return;
242143
+ const trimmed = value.trim();
242144
+ return trimmed.length > 0 ? trimmed : undefined;
242145
+ }
242146
+ function applyImageClipPath(el, clipPath, options) {
242147
+ const resolved = resolveClipPath(clipPath);
242148
+ if (resolved) {
242149
+ if (options?.clipContainer)
242150
+ options.clipContainer.style.overflow = "hidden";
242151
+ el.style.clipPath = resolved;
242152
+ const scale = parseInsetClipPathForScale(resolved);
242153
+ if (scale) {
242154
+ el.style.transformOrigin = "0 0";
242155
+ el.style.transform = `translate(${scale.translateX}%, ${scale.translateY}%) scale(${scale.scaleX}, ${scale.scaleY})`;
242156
+ }
242157
+ }
242158
+ }
242159
+ function isStructuredContentMetadata(sdt) {
242160
+ return sdt !== null && sdt !== undefined && typeof sdt === "object" && "type" in sdt && sdt.type === "structuredContent";
242161
+ }
242162
+ function isDocumentSectionMetadata(sdt) {
242163
+ return sdt !== null && sdt !== undefined && typeof sdt === "object" && "type" in sdt && sdt.type === "documentSection";
242164
+ }
242165
+ function getSdtContainerConfig(sdt) {
242166
+ if (isDocumentSectionMetadata(sdt))
242167
+ return {
242168
+ className: "superdoc-document-section",
242169
+ labelText: sdt.title ?? "Document section",
242170
+ labelClassName: "superdoc-document-section__tooltip",
242171
+ isStart: true,
242172
+ isEnd: true
242173
+ };
242174
+ if (isStructuredContentMetadata(sdt) && sdt.scope === "block")
242175
+ return {
242176
+ className: "superdoc-structured-content-block",
242177
+ labelText: sdt.alias ?? "Structured content",
242178
+ labelClassName: "superdoc-structured-content__label",
242179
+ isStart: true,
242180
+ isEnd: true
242181
+ };
242182
+ return null;
242183
+ }
242184
+ function getSdtContainerMetadata$1(sdt, containerSdt) {
242185
+ if (getSdtContainerConfig(sdt))
242186
+ return sdt ?? null;
242187
+ if (getSdtContainerConfig(containerSdt))
242188
+ return containerSdt ?? null;
242189
+ return null;
242190
+ }
242191
+ function getSdtContainerKey(sdt, containerSdt) {
242192
+ const metadata = getSdtContainerMetadata$1(sdt, containerSdt);
242193
+ if (!metadata)
242194
+ return null;
242195
+ if (metadata.type === "structuredContent") {
242196
+ if (metadata.scope !== "block")
242197
+ return null;
242198
+ if (!metadata.id)
242199
+ return null;
242200
+ return `structuredContent:${metadata.id}`;
242201
+ }
242202
+ if (metadata.type === "documentSection") {
242203
+ const sectionId = metadata.id ?? metadata.sdBlockId;
242204
+ if (!sectionId)
242205
+ return null;
242206
+ return `documentSection:${sectionId}`;
242207
+ }
242208
+ return null;
242209
+ }
242210
+ function applySdtContainerStyling(doc$12, container, sdt, containerSdt, boundaryOptions) {
242211
+ let config3 = getSdtContainerConfig(sdt);
242212
+ if (!config3 && containerSdt)
242213
+ config3 = getSdtContainerConfig(containerSdt);
242214
+ if (!config3)
242215
+ return;
242216
+ const isStart = boundaryOptions?.isStart ?? config3.isStart;
242217
+ const isEnd = boundaryOptions?.isEnd ?? config3.isEnd;
242218
+ container.classList.add(config3.className);
242219
+ container.dataset.sdtContainerStart = String(isStart);
242220
+ container.dataset.sdtContainerEnd = String(isEnd);
242221
+ container.style.overflow = "visible";
242222
+ if (isStructuredContentMetadata(sdt))
242223
+ container.dataset.lockMode = sdt.lockMode || "unlocked";
242224
+ else if (isStructuredContentMetadata(containerSdt))
242225
+ container.dataset.lockMode = containerSdt.lockMode || "unlocked";
242226
+ if (boundaryOptions?.widthOverride != null)
242227
+ container.style.width = `${boundaryOptions.widthOverride}px`;
242228
+ if (boundaryOptions?.paddingBottomOverride != null && boundaryOptions.paddingBottomOverride > 0)
242229
+ container.style.paddingBottom = `${boundaryOptions.paddingBottomOverride}px`;
242230
+ if (boundaryOptions?.showLabel ?? isStart) {
242231
+ const labelEl = doc$12.createElement("div");
242232
+ labelEl.className = config3.labelClassName;
242233
+ const labelText = doc$12.createElement("span");
242234
+ labelText.textContent = config3.labelText;
242235
+ labelEl.appendChild(labelText);
242236
+ container.appendChild(labelEl);
242237
+ }
242238
+ }
242239
+ function shouldRebuildForSdtBoundary(element3, boundary) {
242240
+ if (!boundary)
242241
+ return element3.dataset.sdtContainerStart !== undefined;
242242
+ const startAttr = element3.dataset.sdtContainerStart;
242243
+ const endAttr = element3.dataset.sdtContainerEnd;
242244
+ const expectedStart = String(boundary.isStart ?? true);
242245
+ const expectedEnd = String(boundary.isEnd ?? true);
242246
+ if (startAttr === undefined || endAttr === undefined)
242247
+ return true;
242248
+ return startAttr !== expectedStart || endAttr !== expectedEnd;
242249
+ }
241916
242250
  function getCellSegmentCount(cell2) {
241917
242251
  if (cell2.blocks && cell2.blocks.length > 0) {
241918
242252
  let total = 0;
@@ -242026,22 +242360,7 @@ function renderListMarker(params$1) {
242026
242360
  lineEl.style.paddingLeft = `${anchorPoint}px`;
242027
242361
  if (markerLayout?.run?.vanish)
242028
242362
  return;
242029
- const markerContainer = doc$12.createElement("span");
242030
- markerContainer.style.display = "inline-block";
242031
- markerContainer.style.wordSpacing = "0px";
242032
- const markerEl = doc$12.createElement("span");
242033
- markerEl.classList.add("superdoc-paragraph-marker");
242034
- markerEl.textContent = markerLayout?.markerText ?? "";
242035
- markerEl.style.pointerEvents = "none";
242036
- markerEl.style.fontFamily = toCssFontFamily(markerLayout?.run?.fontFamily) ?? markerLayout?.run?.fontFamily ?? "";
242037
- if (markerLayout?.run?.fontSize != null)
242038
- markerEl.style.fontSize = `${markerLayout.run.fontSize}px`;
242039
- markerEl.style.fontWeight = markerLayout?.run?.bold ? "bold" : "";
242040
- markerEl.style.fontStyle = markerLayout?.run?.italic ? "italic" : "";
242041
- if (markerLayout?.run?.color)
242042
- markerEl.style.color = markerLayout.run.color;
242043
- if (markerLayout?.run?.letterSpacing != null)
242044
- markerEl.style.letterSpacing = `${markerLayout.run.letterSpacing}px`;
242363
+ const markerContainer = createListMarkerElement(doc$12, markerLayout?.markerText ?? "", markerLayout?.run ?? {});
242045
242364
  markerContainer.style.position = "relative";
242046
242365
  if (markerJustification === "right") {
242047
242366
  markerContainer.style.position = "absolute";
@@ -242051,7 +242370,6 @@ function renderListMarker(params$1) {
242051
242370
  markerContainer.style.left = `${markerStartPos - markerTextWidth / 2}px`;
242052
242371
  lineEl.style.paddingLeft = parseFloat(lineEl.style.paddingLeft) + markerTextWidth / 2 + "px";
242053
242372
  }
242054
- markerContainer.appendChild(markerEl);
242055
242373
  const suffixType = markerLayout?.suffix ?? "tab";
242056
242374
  if (suffixType === "tab") {
242057
242375
  const tabEl = doc$12.createElement("span");
@@ -256063,7 +256381,7 @@ function isSameRenderedNoteTarget(left$1, right$1) {
256063
256381
  function isOutsidePageBodyContent(layout, x, pageIndex, pageLocalY) {
256064
256382
  if (!Number.isFinite(x) || !Number.isFinite(pageIndex) || !Number.isFinite(pageLocalY))
256065
256383
  return false;
256066
- const page = layout.pages[pageIndex];
256384
+ const page = layout?.pages?.[pageIndex];
256067
256385
  if (!page)
256068
256386
  return false;
256069
256387
  const pageWidth = page.size?.w ?? layout.pageSize.w;
@@ -265426,10 +265744,10 @@ var Node$13 = class Node$14 {
265426
265744
  } catch {
265427
265745
  return false;
265428
265746
  }
265429
- }, toggleList = (listType, bulletStyle) => ({ editor, state, tr, dispatch }) => {
265747
+ }, toggleList = (listType, bulletStyle, orderedStyle) => ({ editor, state, tr, dispatch }) => {
265430
265748
  if (listType !== "orderedList" && listType !== "bulletList")
265431
265749
  return false;
265432
- const predicate = (n) => paragraphMatchesToggleListType(n, editor, listType, bulletStyle);
265750
+ const predicate = (n) => paragraphMatchesToggleListType(n, editor, listType, bulletStyle, orderedStyle);
265433
265751
  const { selection } = state;
265434
265752
  const { from: from$1, to } = selection;
265435
265753
  let firstListNode = null;
@@ -265445,7 +265763,35 @@ var Node$13 = class Node$14 {
265445
265763
  }
265446
265764
  return true;
265447
265765
  });
265448
- let paragraphsInSelection = allParagraphsInSelection.length === 1 ? allParagraphsInSelection : allParagraphsInSelection.filter(({ node: node2 }) => !isVisuallyEmptyParagraph(node2));
265766
+ const originalParagraphsInSelection = allParagraphsInSelection.length === 1 ? allParagraphsInSelection : allParagraphsInSelection.filter(({ node: node2 }) => !isVisuallyEmptyParagraph(node2));
265767
+ let paragraphsInSelection = originalParagraphsInSelection;
265768
+ const seenLevels = /* @__PURE__ */ new Set;
265769
+ let allListItems = paragraphsInSelection.length > 0;
265770
+ for (const { node: node2 } of paragraphsInSelection) {
265771
+ const np = getResolvedParagraphProperties(node2)?.numberingProperties;
265772
+ if (!np?.numId) {
265773
+ allListItems = false;
265774
+ break;
265775
+ }
265776
+ seenLevels.add(`${Number(np.numId)}:${Number(np.ilvl ?? 0)}`);
265777
+ }
265778
+ if (allListItems && seenLevels.size > 0 && selection.empty) {
265779
+ const expanded = new Map(paragraphsInSelection.map((p$12) => [p$12.pos, p$12]));
265780
+ state.doc.descendants((node2, pos) => {
265781
+ if (node2.type.name !== "paragraph")
265782
+ return true;
265783
+ if (expanded.has(pos))
265784
+ return false;
265785
+ const np = getResolvedParagraphProperties(node2)?.numberingProperties;
265786
+ if (np?.numId && seenLevels.has(`${Number(np.numId)}:${Number(np.ilvl ?? 0)}`))
265787
+ expanded.set(pos, {
265788
+ node: node2,
265789
+ pos
265790
+ });
265791
+ return false;
265792
+ });
265793
+ paragraphsInSelection = [...expanded.values()].sort((a2, b$1) => a2.pos - b$1.pos);
265794
+ }
265449
265795
  for (const { node: node2 } of paragraphsInSelection)
265450
265796
  if (!firstListNode && predicate(node2))
265451
265797
  firstListNode = node2;
@@ -265457,6 +265803,46 @@ var Node$13 = class Node$14 {
265457
265803
  if (beforeNode && predicate(beforeNode))
265458
265804
  firstListNode = beforeNode;
265459
265805
  }
265806
+ if (firstListNode == null && allListItems && selection.empty) {
265807
+ const effectiveBulletStyle = listType === "bulletList" ? bulletStyle ?? "disc" : null;
265808
+ const effectiveOrderedStyle = listType === "orderedList" ? orderedStyle ?? "decimal" : null;
265809
+ const groups = /* @__PURE__ */ new Map;
265810
+ for (const p$12 of paragraphsInSelection) {
265811
+ const np = getResolvedParagraphProperties(p$12.node).numberingProperties;
265812
+ const sourceNumId = Number(np.numId);
265813
+ const ilvl = Number(np.ilvl ?? 0);
265814
+ const key2 = `${sourceNumId}:${ilvl}`;
265815
+ if (!groups.has(key2))
265816
+ groups.set(key2, {
265817
+ sourceNumId,
265818
+ ilvl,
265819
+ paragraphs: []
265820
+ });
265821
+ groups.get(key2).paragraphs.push(p$12);
265822
+ }
265823
+ if (groups.size > 0) {
265824
+ if (!dispatch)
265825
+ return true;
265826
+ for (const { sourceNumId, ilvl, paragraphs } of groups.values()) {
265827
+ const minted = ListHelpers.cloneListDefinitionWithLevelStyle({
265828
+ editor,
265829
+ sourceNumId,
265830
+ ilvl,
265831
+ bulletStyle: effectiveBulletStyle,
265832
+ orderedStyle: effectiveOrderedStyle
265833
+ });
265834
+ if (!minted)
265835
+ continue;
265836
+ for (const { node: node2, pos } of paragraphs)
265837
+ updateNumberingProperties({
265838
+ numId: minted.newNumId,
265839
+ ilvl
265840
+ }, node2, pos, editor, tr);
265841
+ }
265842
+ dispatch(tr);
265843
+ return true;
265844
+ }
265845
+ }
265460
265846
  let mode = null;
265461
265847
  let sharedNumberingProperties = null;
265462
265848
  if (firstListNode)
@@ -265475,12 +265861,12 @@ var Node$13 = class Node$14 {
265475
265861
  if (!dispatch)
265476
265862
  return true;
265477
265863
  if (mode === "create") {
265478
- let bulletStyleLevel = 0;
265479
- if (bulletStyle) {
265864
+ let styleOverrideLevel = 0;
265865
+ if (bulletStyle || orderedStyle) {
265480
265866
  const firstExistingListPara = paragraphsInSelection.find(({ node: node2 }) => getResolvedParagraphProperties(node2)?.numberingProperties?.ilvl != null);
265481
265867
  const existingIlvl = firstExistingListPara ? getResolvedParagraphProperties(firstExistingListPara.node)?.numberingProperties?.ilvl : null;
265482
265868
  if (existingIlvl != null)
265483
- bulletStyleLevel = existingIlvl;
265869
+ styleOverrideLevel = existingIlvl;
265484
265870
  }
265485
265871
  const numId = ListHelpers.getNewListId(editor);
265486
265872
  ListHelpers.generateNewListDefinition({
@@ -265488,7 +265874,9 @@ var Node$13 = class Node$14 {
265488
265874
  listType,
265489
265875
  editor,
265490
265876
  bulletStyle,
265491
- bulletStyleLevel
265877
+ bulletStyleLevel: styleOverrideLevel,
265878
+ orderedStyle,
265879
+ orderedStyleLevel: styleOverrideLevel
265492
265880
  });
265493
265881
  sharedNumberingProperties = {
265494
265882
  numId: Number(numId),
@@ -265508,16 +265896,16 @@ var Node$13 = class Node$14 {
265508
265896
  ilvl: existingIlvl
265509
265897
  } : sharedNumberingProperties, node2, pos, editor, tr);
265510
265898
  }
265511
- if (paragraphsInSelection.length > 0) {
265512
- const firstPara = paragraphsInSelection[0];
265513
- const lastPara = paragraphsInSelection[paragraphsInSelection.length - 1];
265899
+ if (originalParagraphsInSelection.length > 0) {
265900
+ const firstPara = originalParagraphsInSelection[0];
265901
+ const lastPara = originalParagraphsInSelection[originalParagraphsInSelection.length - 1];
265514
265902
  const firstParagraphPos = firstPara.pos;
265515
265903
  const lastParagraphPos = lastPara.pos;
265516
265904
  const firstNode = tr.doc.nodeAt(firstParagraphPos);
265517
265905
  const lastNode = tr.doc.nodeAt(lastParagraphPos);
265518
265906
  const restoredSelectionRange = computeToggleListSelectionRange({
265519
265907
  selectionWasCollapsed: selection.empty,
265520
- affectedParagraphCount: paragraphsInSelection.length,
265908
+ affectedParagraphCount: originalParagraphsInSelection.length,
265521
265909
  firstParagraphPos,
265522
265910
  lastParagraphPos,
265523
265911
  firstNode,
@@ -265525,7 +265913,7 @@ var Node$13 = class Node$14 {
265525
265913
  });
265526
265914
  if (restoredSelectionRange && restoredSelectionRange.from >= 0 && restoredSelectionRange.to <= tr.doc.content.size && restoredSelectionRange.from <= restoredSelectionRange.to)
265527
265915
  try {
265528
- if (selection.empty && paragraphsInSelection.length === 1)
265916
+ if (selection.empty && originalParagraphsInSelection.length === 1)
265529
265917
  tr.setSelection(Selection.near(tr.doc.resolve(restoredSelectionRange.to), -1));
265530
265918
  else
265531
265919
  tr.setSelection(TextSelection.create(tr.doc, restoredSelectionRange.from, restoredSelectionRange.to));
@@ -265678,16 +266066,56 @@ var Node$13 = class Node$14 {
265678
266066
  uniqueByType.set(typeName, mark2);
265679
266067
  }
265680
266068
  return Array.from(uniqueByType.values());
265681
- }, commands_exports, restartNumbering = ({ editor, tr, state, dispatch }) => {
265682
- const { node: paragraph2 } = findParentNode(isList)(state.selection) || {};
266069
+ }, commands_exports, restartNumbering = ({ editor, tr, state }) => {
266070
+ const { node: paragraph2, pos: paragraphPos } = findParentNode(isList)(state.selection) || {};
265683
266071
  if (!paragraph2)
265684
266072
  return false;
265685
266073
  const { numId, ilvl = 0 } = getResolvedParagraphProperties(paragraph2).numberingProperties || {};
265686
266074
  if (numId == null)
265687
266075
  return false;
265688
- ListHelpers.setLvlOverride(editor, numId, ilvl, { startOverride: 1 });
265689
- if (dispatch)
265690
- dispatch(tr);
266076
+ let hasPrecedingItems = false;
266077
+ state.doc.nodesBetween(0, paragraphPos, (node2) => {
266078
+ if (hasPrecedingItems)
266079
+ return false;
266080
+ if (node2.type.name !== "paragraph")
266081
+ return true;
266082
+ if (getResolvedParagraphProperties(node2)?.numberingProperties?.numId === numId)
266083
+ hasPrecedingItems = true;
266084
+ return false;
266085
+ });
266086
+ if (!hasPrecedingItems) {
266087
+ ListHelpers.setLvlOverride(editor, numId, ilvl, { startOverride: 1 });
266088
+ if (editor.view)
266089
+ tr.setMeta("preventDispatch", true);
266090
+ return true;
266091
+ }
266092
+ const abstractId = ListHelpers.getAllListDefinitions(editor)?.[numId]?.[ilvl]?.abstractId;
266093
+ if (abstractId == null)
266094
+ return false;
266095
+ const { numId: newNumId } = ListHelpers.createNumDefinition(editor, Number(abstractId));
266096
+ ListHelpers.setLvlOverride(editor, newNumId, ilvl, { startOverride: 1 });
266097
+ state.doc.nodesBetween(paragraphPos, state.doc.content.size, (node2, pos) => {
266098
+ if (node2.type.name !== "paragraph")
266099
+ return true;
266100
+ const props = getResolvedParagraphProperties(node2)?.numberingProperties;
266101
+ if (props?.numId === numId)
266102
+ updateNumberingProperties({
266103
+ numId: newNumId,
266104
+ ilvl: props.ilvl ?? 0
266105
+ }, node2, pos, editor, tr);
266106
+ return true;
266107
+ });
266108
+ return true;
266109
+ }, continueNumbering = ({ editor, tr, state }) => {
266110
+ const { node: paragraph2 } = findParentNode(isList)(state.selection) || {};
266111
+ if (!paragraph2)
266112
+ return false;
266113
+ const { numId, ilvl = 0 } = getResolvedParagraphProperties(paragraph2)?.numberingProperties || {};
266114
+ if (numId == null)
266115
+ return false;
266116
+ ListHelpers.removeLvlOverride(editor, numId, ilvl);
266117
+ if (editor.view)
266118
+ tr.setMeta("preventDispatch", true);
265691
266119
  return true;
265692
266120
  }, PIXELS_PER_TWIP, toFiniteNumber$12 = (value) => {
265693
266121
  if (value == null)
@@ -272394,10 +272822,72 @@ var Node$13 = class Node$14 {
272394
272822
  <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"/>
272395
272823
  </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>
272396
272824
  `, 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>
272397
- `, 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>
272825
+ `, 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">
272826
+ <g clip-path="url(#clip0_0_1)">
272827
+ <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"/>
272828
+ <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"/>
272829
+ <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"/>
272830
+ <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"/>
272831
+ </g>
272832
+ <defs>
272833
+ <clipPath id="clip0_0_1">
272834
+ <rect width="512" height="512" fill="white"/>
272835
+ </clipPath>
272836
+ </defs>
272837
+ </svg>
272838
+ `, list_decimal_paren_solid_default = `<svg width="512" height="512" viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg">
272839
+ <g clip-path="url(#clip0_1_12)">
272840
+ <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"/>
272841
+ <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"/>
272842
+ <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"/>
272843
+ <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"/>
272844
+ </g>
272845
+ <defs>
272846
+ <clipPath id="clip0_1_12">
272847
+ <rect width="512" height="512" fill="white"/>
272848
+ </clipPath>
272849
+ </defs>
272850
+ </svg>
272851
+ `, list_upper_roman_solid_default = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
272852
+ <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"/>
272853
+ <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>
272854
+ <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>
272855
+ <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>
272856
+ </svg>
272857
+ `, list_lower_roman_solid_default = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
272858
+ <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"/>
272859
+ <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>
272860
+ <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>
272861
+ <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>
272862
+ </svg>
272863
+ `, list_upper_alpha_solid_default = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
272864
+ <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"/>
272865
+ <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>
272866
+ <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>
272867
+ <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>
272868
+ </svg>
272869
+ `, list_upper_alpha_paren_solid_default = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
272870
+ <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"/>
272871
+ <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>
272872
+ <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>
272873
+ <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>
272874
+ </svg>
272875
+ `, list_lower_alpha_solid_default = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
272876
+ <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"/>
272877
+ <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>
272878
+ <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>
272879
+ <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>
272880
+ </svg>
272881
+ `, list_lower_alpha_paren_solid_default = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
272882
+ <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"/>
272883
+ <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>
272884
+ <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>
272885
+ <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>
272886
+ </svg>
272887
+ `, 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>
272398
272888
  `, 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>
272399
272889
  `, 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>
272400
- `, 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>
272890
+ `, 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>
272401
272891
  `, _hoisted_1$14, _hoisted_2$11, _hoisted_3$8, IconGrid_default, closeDropdown$1 = (dropdown) => {
272402
272892
  dropdown.expand.value = false;
272403
272893
  }, makeColorOption = (color2, label = null) => {
@@ -272950,7 +273440,6 @@ var Node$13 = class Node$14 {
272950
273440
  hasCaret: true,
272951
273441
  tooltip: toolbarTexts$1.bulletList,
272952
273442
  restoreEditorFocus: true,
272953
- suppressActiveHighlight: true,
272954
273443
  attributes: { ariaLabel: "Bullet list" },
272955
273444
  options: [{
272956
273445
  type: "render",
@@ -272967,7 +273456,9 @@ var Node$13 = class Node$14 {
272967
273456
  argument: style2
272968
273457
  });
272969
273458
  };
272970
- return exports_vue.h(BulletStyleButtons_default, {
273459
+ return exports_vue.h(StyleButtonsList_default, {
273460
+ buttons: bulletStyleButtons,
273461
+ iconSize: 25,
272971
273462
  selectedStyle: bulletedList.selectedValue.value,
272972
273463
  onSelect: handleSelect
272973
273464
  });
@@ -272975,14 +273466,39 @@ var Node$13 = class Node$14 {
272975
273466
  }]
272976
273467
  });
272977
273468
  const numberedList = useToolbarItem({
272978
- type: "button",
273469
+ type: "dropdown",
272979
273470
  name: "numberedlist",
272980
- command: "toggleOrderedList",
273471
+ command: "toggleOrderedListStyle",
273472
+ splitButton: true,
273473
+ splitButtonCommand: "toggleOrderedList",
272981
273474
  icon: toolbarIcons$1.numberedList,
272982
- active: false,
273475
+ hasCaret: true,
272983
273476
  tooltip: toolbarTexts$1.numberedList,
272984
273477
  restoreEditorFocus: true,
272985
- attributes: { ariaLabel: "Numbered list" }
273478
+ attributes: { ariaLabel: "Numbered list" },
273479
+ options: [{
273480
+ type: "render",
273481
+ key: "numbered-style-buttons",
273482
+ render: () => {
273483
+ const handleSelect = (style2) => {
273484
+ closeDropdown(numberedList);
273485
+ const item = {
273486
+ ...numberedList,
273487
+ command: "toggleOrderedListStyle"
273488
+ };
273489
+ superToolbar.emitCommand({
273490
+ item,
273491
+ argument: style2
273492
+ });
273493
+ };
273494
+ return exports_vue.h(StyleButtonsList_default, {
273495
+ buttons: numberedStyleButtons,
273496
+ iconSize: 30,
273497
+ selectedStyle: numberedList.selectedValue.value,
273498
+ onSelect: handleSelect
273499
+ });
273500
+ }
273501
+ }]
272986
273502
  });
272987
273503
  const indentLeft = useToolbarItem({
272988
273504
  type: "button",
@@ -277506,7 +278022,85 @@ menclose::after {
277506
278022
  styleEl.textContent = MATH_MENCLOSE_STYLES;
277507
278023
  doc$12.head?.appendChild(styleEl);
277508
278024
  mathMencloseStylesInjected = true;
277509
- }, gradientIdCounter = 0, isBetweenBorderNone = (borders) => {
278025
+ }, gradientIdCounter = 0, getFiniteNumber = (value) => {
278026
+ if (typeof value !== "number" || !Number.isFinite(value))
278027
+ return;
278028
+ return value;
278029
+ }, getNonNegativeFiniteNumber = (value) => {
278030
+ const numericValue = getFiniteNumber(value);
278031
+ if (numericValue == null || numericValue < 0)
278032
+ return;
278033
+ return numericValue;
278034
+ }, getMarkerTextWidthPx = (marker, measureMarkerText) => {
278035
+ const glyphWidthPx = getNonNegativeFiniteNumber(marker.glyphWidthPx);
278036
+ if (glyphWidthPx != null)
278037
+ return glyphWidthPx;
278038
+ if (marker.markerText) {
278039
+ const safeMeasuredWidthPx = getNonNegativeFiniteNumber(measureMarkerText(marker.markerText, marker));
278040
+ if (safeMeasuredWidthPx != null)
278041
+ return safeMeasuredWidthPx;
278042
+ }
278043
+ return getNonNegativeFiniteNumber(marker.markerBoxWidthPx) ?? 0;
278044
+ }, getMarkerBoxWidthPx = (marker, markerTextWidthPx) => Math.max(getNonNegativeFiniteNumber(marker.markerBoxWidthPx) ?? 0, markerTextWidthPx), getExplicitFirstLineMarkerStartPx = (wordLayout, marker) => {
278045
+ if (wordLayout?.firstLineIndentMode !== true)
278046
+ return;
278047
+ return getFiniteNumber(marker.markerX);
278048
+ }, getMarkerAnchorPx = (indentLeft, firstLine, hanging) => indentLeft - hanging + firstLine, getMarkerStartPx = (anchorPx, justification, markerTextWidthPx) => {
278049
+ if (justification === "right")
278050
+ return anchorPx - markerTextWidthPx;
278051
+ if (justification === "center")
278052
+ return anchorPx - markerTextWidthPx / 2;
278053
+ return anchorPx;
278054
+ }, getNextExplicitTabStopPx = (tabsPx, currentPosPx) => {
278055
+ if (!Array.isArray(tabsPx))
278056
+ return;
278057
+ for (const tabPx of tabsPx)
278058
+ if (typeof tabPx === "number" && Number.isFinite(tabPx) && tabPx > currentPosPx)
278059
+ return tabPx;
278060
+ }, getFirstLineTextStartTargetPx = (wordLayout, marker) => {
278061
+ return getFiniteNumber(marker.textStartX) ?? getFiniteNumber(wordLayout?.textStartPx);
278062
+ }, getNextDefaultTabStopPx = (currentPosPx) => {
278063
+ const remainderPx = currentPosPx % 48;
278064
+ if (remainderPx === 0)
278065
+ return currentPosPx + 48;
278066
+ return currentPosPx + 48 - remainderPx;
278067
+ }, getMinimumReadableTextStartPx = (markerContentEndPx, gutterWidthPx) => markerContentEndPx + gutterWidthPx, resolveExplicitStandardTextStartPx = (explicitTextStartPx, markerContentEndPx, gutterWidthPx) => {
278068
+ if (explicitTextStartPx == null)
278069
+ return;
278070
+ if (explicitTextStartPx > markerContentEndPx)
278071
+ return explicitTextStartPx;
278072
+ if (explicitTextStartPx > 0) {
278073
+ const nextTabStopPx = getNextDefaultTabStopPx(markerContentEndPx);
278074
+ const minReadablePx = getMinimumReadableTextStartPx(markerContentEndPx, gutterWidthPx);
278075
+ return Math.max(nextTabStopPx, minReadablePx);
278076
+ }
278077
+ }, getFiniteNonNegativeNumber = (value) => {
278078
+ if (typeof value !== "number" || !Number.isFinite(value) || value < 0)
278079
+ return;
278080
+ return value;
278081
+ }, 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) => {
278082
+ const markerContainer = doc$12.createElement("span");
278083
+ markerContainer.classList.add(DOM_CLASS_NAMES.LIST_MARKER);
278084
+ markerContainer.style.display = "inline-block";
278085
+ markerContainer.style.wordSpacing = "0px";
278086
+ const markerEl = doc$12.createElement("span");
278087
+ markerEl.classList.add("superdoc-paragraph-marker");
278088
+ markerEl.textContent = markerText;
278089
+ markerEl.style.pointerEvents = "none";
278090
+ markerEl.style.fontFamily = toCssFontFamily(run2.fontFamily) ?? run2.fontFamily ?? "";
278091
+ if (run2.fontSize != null)
278092
+ markerEl.style.fontSize = `${run2.fontSize}px`;
278093
+ markerEl.style.fontWeight = run2.bold ? "bold" : "";
278094
+ markerEl.style.fontStyle = run2.italic ? "italic" : "";
278095
+ if (run2.color)
278096
+ markerEl.style.color = run2.color;
278097
+ if (run2.letterSpacing != null)
278098
+ markerEl.style.letterSpacing = `${run2.letterSpacing}px`;
278099
+ markerContainer.appendChild(markerEl);
278100
+ if (sourceAnchor)
278101
+ applySourceAnchorDataset(markerEl, sourceAnchor);
278102
+ return markerContainer;
278103
+ }, isBetweenBorderNone = (borders) => {
277510
278104
  if (!borders?.between)
277511
278105
  return true;
277512
278106
  return borders.between.style === "none";
@@ -277790,60 +278384,7 @@ menclose::after {
277790
278384
  line.el.style.marginLeft = `${marginLeft}px`;
277791
278385
  line.el.style.marginRight = `${marginRight}px`;
277792
278386
  });
277793
- }, getFiniteNumber = (value) => {
277794
- if (typeof value !== "number" || !Number.isFinite(value))
277795
- return;
277796
- return value;
277797
- }, getNonNegativeFiniteNumber = (value) => {
277798
- const numericValue = getFiniteNumber(value);
277799
- if (numericValue == null || numericValue < 0)
277800
- return;
277801
- return numericValue;
277802
- }, getMarkerTextWidthPx = (marker, measureMarkerText) => {
277803
- const glyphWidthPx = getNonNegativeFiniteNumber(marker.glyphWidthPx);
277804
- if (glyphWidthPx != null)
277805
- return glyphWidthPx;
277806
- if (marker.markerText) {
277807
- const safeMeasuredWidthPx = getNonNegativeFiniteNumber(measureMarkerText(marker.markerText, marker));
277808
- if (safeMeasuredWidthPx != null)
277809
- return safeMeasuredWidthPx;
277810
- }
277811
- return getNonNegativeFiniteNumber(marker.markerBoxWidthPx) ?? 0;
277812
- }, getMarkerBoxWidthPx = (marker, markerTextWidthPx) => Math.max(getNonNegativeFiniteNumber(marker.markerBoxWidthPx) ?? 0, markerTextWidthPx), getExplicitFirstLineMarkerStartPx = (wordLayout, marker) => {
277813
- if (wordLayout?.firstLineIndentMode !== true)
277814
- return;
277815
- return getFiniteNumber(marker.markerX);
277816
- }, getMarkerAnchorPx = (indentLeft, firstLine, hanging) => indentLeft - hanging + firstLine, getMarkerStartPx = (anchorPx, justification, markerTextWidthPx) => {
277817
- if (justification === "right")
277818
- return anchorPx - markerTextWidthPx;
277819
- if (justification === "center")
277820
- return anchorPx - markerTextWidthPx / 2;
277821
- return anchorPx;
277822
- }, getNextExplicitTabStopPx = (tabsPx, currentPosPx) => {
277823
- if (!Array.isArray(tabsPx))
277824
- return;
277825
- for (const tabPx of tabsPx)
277826
- if (typeof tabPx === "number" && Number.isFinite(tabPx) && tabPx > currentPosPx)
277827
- return tabPx;
277828
- }, getFirstLineTextStartTargetPx = (wordLayout, marker) => {
277829
- return getFiniteNumber(marker.textStartX) ?? getFiniteNumber(wordLayout?.textStartPx);
277830
- }, getNextDefaultTabStopPx = (currentPosPx) => {
277831
- const remainderPx = currentPosPx % 48;
277832
- if (remainderPx === 0)
277833
- return currentPosPx + 48;
277834
- return currentPosPx + 48 - remainderPx;
277835
- }, getMinimumReadableTextStartPx = (markerContentEndPx, gutterWidthPx) => markerContentEndPx + gutterWidthPx, resolveExplicitStandardTextStartPx = (explicitTextStartPx, markerContentEndPx, gutterWidthPx) => {
277836
- if (explicitTextStartPx == null)
277837
- return;
277838
- if (explicitTextStartPx > markerContentEndPx)
277839
- return explicitTextStartPx;
277840
- if (explicitTextStartPx > 0)
277841
- return getMinimumReadableTextStartPx(markerContentEndPx, gutterWidthPx);
277842
- }, getFiniteNonNegativeNumber = (value) => {
277843
- if (typeof value !== "number" || !Number.isFinite(value) || value < 0)
277844
- return;
277845
- return value;
277846
- }, 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) => {
278387
+ }, normalizeSpan = (span) => {
277847
278388
  if (typeof span !== "number" || !Number.isFinite(span) || span < 1)
277848
278389
  return 1;
277849
278390
  return Math.floor(span);
@@ -281883,6 +282424,12 @@ menclose::after {
281883
282424
  return false;
281884
282425
  if (resolveTrackedChangesEnabled(a2.attrs, true) !== resolveTrackedChangesEnabled(b$1.attrs, true))
281885
282426
  return false;
282427
+ const aMarker = a2.attrs?.wordLayout?.marker;
282428
+ const bMarker = b$1.attrs?.wordLayout?.marker;
282429
+ if ((aMarker?.markerText ?? null) !== (bMarker?.markerText ?? null))
282430
+ return false;
282431
+ if ((aMarker?.justification ?? null) !== (bMarker?.justification ?? null))
282432
+ return false;
281886
282433
  if (!paragraphAttrsEqual(a2.attrs, b$1.attrs))
281887
282434
  return false;
281888
282435
  if (a2.runs.length !== b$1.runs.length)
@@ -286801,11 +287348,18 @@ menclose::after {
286801
287348
  } else
286802
287349
  this.#syncNonBodyCommentActivation(event, target, bodyEditor);
286803
287350
  const isNoteEditing = activeNoteSession != null;
286804
- const useActiveSurfaceHitTest = sessionMode !== "body" || activeStorySession != null;
286805
- const editor = sessionMode === "body" && !isNoteEditing ? bodyEditor : this.#deps.getActiveEditor();
286806
- if (sessionMode !== "body") {
287351
+ let currentSessionMode = sessionMode;
287352
+ let useActiveSurfaceHitTest = currentSessionMode !== "body" || activeStorySession != null;
287353
+ let editor = currentSessionMode === "body" && !isNoteEditing ? bodyEditor : this.#deps.getActiveEditor();
287354
+ if (currentSessionMode !== "body") {
286807
287355
  if (this.#handleClickInHeaderFooterMode(event, x, y$1, normalizedPoint.pageIndex, normalizedPoint.pageLocalY))
286808
287356
  return;
287357
+ if ((this.#deps.getHeaderFooterSession()?.session?.mode ?? "body") === "body" && !isNoteEditing) {
287358
+ activeStorySession = this.#deps.getActiveStorySession?.() ?? null;
287359
+ currentSessionMode = "body";
287360
+ useActiveSurfaceHitTest = activeStorySession != null;
287361
+ editor = bodyEditor;
287362
+ }
286809
287363
  }
286810
287364
  if (this.#callbacks.hitTestHeaderFooterRegion?.(x, y$1, normalizedPoint.pageIndex, normalizedPoint.pageLocalY)) {
286811
287365
  if (sessionMode === "body") {
@@ -286813,10 +287367,12 @@ menclose::after {
286813
287367
  return;
286814
287368
  }
286815
287369
  }
286816
- if (!useActiveSurfaceHitTest && isOutsidePageBodyContent(layoutState.layout, x, normalizedPoint.pageIndex, normalizedPoint.pageLocalY)) {
286817
- event.preventDefault();
286818
- this.#focusEditor();
286819
- return;
287370
+ if (!useActiveSurfaceHitTest) {
287371
+ if (!Number.isFinite(normalizedPoint.pageIndex) || isOutsidePageBodyContent(layoutState.layout, x, normalizedPoint.pageIndex, normalizedPoint.pageLocalY)) {
287372
+ event.preventDefault();
287373
+ this.#focusEditor();
287374
+ return;
287375
+ }
286820
287376
  }
286821
287377
  const { rawHit, hit } = this.#resolveSelectionPointerHit({
286822
287378
  layoutState,
@@ -290793,18 +291349,18 @@ menclose::after {
290793
291349
  return;
290794
291350
  console.log(...args$1);
290795
291351
  }, 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;
290796
- var init_src_C4h4xIas_es = __esm(() => {
291352
+ var init_src_ItIaPxzW_es = __esm(() => {
290797
291353
  init_rolldown_runtime_Bg48TavK_es();
290798
- init_SuperConverter_BLL9JGke_es();
291354
+ init_SuperConverter_D1o6_yKI_es();
290799
291355
  init_jszip_C49i9kUs_es();
290800
291356
  init_uuid_qzgm05fK_es();
290801
- init_create_headless_toolbar_D7n_Okb2_es();
291357
+ init_create_headless_toolbar_CJ0iQq1T_es();
290802
291358
  init_constants_DrU4EASo_es();
290803
291359
  init_dist_B8HfvhaK_es();
290804
291360
  init_unified_Dsuw2be5_es();
290805
291361
  init_remark_gfm_BhnWr3yf_es();
290806
291362
  init_remark_stringify_6MMJfY0k_es();
290807
- init_DocxZipper_CUX64E5K_es();
291363
+ init_DocxZipper_Dh4RtvcE_es();
290808
291364
  init__plugin_vue_export_helper_HmhZBO0u_es();
290809
291365
  init_eventemitter3_UwU_CLPU_es();
290810
291366
  init_errors_C_DoKMoN_es();
@@ -293807,7 +294363,11 @@ ${err.toString()}`);
293807
294363
  toggleBulletListStyle: (style2) => (params$1) => {
293808
294364
  return toggleList("bulletList", style2)(params$1);
293809
294365
  },
293810
- restartNumbering: () => restartNumbering
294366
+ toggleOrderedListStyle: (style2) => (params$1) => {
294367
+ return toggleList("orderedList", null, style2)(params$1);
294368
+ },
294369
+ restartNumbering: () => restartNumbering,
294370
+ continueNumbering: () => continueNumbering
293811
294371
  };
293812
294372
  },
293813
294373
  addPmPlugins() {
@@ -308985,6 +309545,7 @@ function print() { __p += __j.call(arguments, '') }
308985
309545
  SDT_GROUP_HOVER: "sdt-group-hover",
308986
309546
  IMAGE_FRAGMENT: "superdoc-image-fragment",
308987
309547
  INLINE_IMAGE: "superdoc-inline-image",
309548
+ LIST_MARKER: "superdoc-list-marker",
308988
309549
  INLINE_IMAGE_CLIP_WRAPPER: "superdoc-inline-image-clip-wrapper",
308989
309550
  ANNOTATION: "annotation",
308990
309551
  ANNOTATION_CONTENT: "annotation-content",
@@ -309550,6 +310111,14 @@ function print() { __p += __j.call(arguments, '') }
309550
310111
  bulletListCircle: list_circle_solid_default,
309551
310112
  bulletListSquare: list_square_solid_default,
309552
310113
  numberedList: list_ol_solid_default,
310114
+ numberedListDecimal: list_decimal_solid_default,
310115
+ numberedListDecimalParen: list_decimal_paren_solid_default,
310116
+ numberedListUpperRoman: list_upper_roman_solid_default,
310117
+ numberedListLowerRoman: list_lower_roman_solid_default,
310118
+ numberedListUpperAlpha: list_upper_alpha_solid_default,
310119
+ numberedListUpperAlphaParen: list_upper_alpha_paren_solid_default,
310120
+ numberedListLowerAlpha: list_lower_alpha_solid_default,
310121
+ numberedListLowerAlphaParen: list_lower_alpha_paren_solid_default,
309553
310122
  indentLeft: outdent_solid_default,
309554
310123
  indentRight: indent_solid_default,
309555
310124
  pageBreak: file_half_dashed_solid_default,
@@ -309701,35 +310270,32 @@ function print() { __p += __j.call(arguments, '') }
309701
310270
  "aria-label",
309702
310271
  "onKeydown"
309703
310272
  ];
309704
- BulletStyleButtons_default = /* @__PURE__ */ __plugin_vue_export_helper_default({
309705
- __name: "BulletStyleButtons",
309706
- props: { selectedStyle: {
309707
- type: String,
309708
- default: null
309709
- } },
310273
+ StyleButtonsList_default = /* @__PURE__ */ __plugin_vue_export_helper_default({
310274
+ __name: "StyleButtonsList",
310275
+ props: {
310276
+ buttons: {
310277
+ type: Array,
310278
+ required: true
310279
+ },
310280
+ selectedStyle: {
310281
+ type: String,
310282
+ default: null
310283
+ },
310284
+ iconSize: {
310285
+ type: Number,
310286
+ default: 25
310287
+ }
310288
+ },
309710
310289
  emits: ["select"],
309711
310290
  setup(__props, { emit: __emit }) {
309712
310291
  const { isHighContrastMode: isHighContrastMode$1 } = useHighContrastMode();
309713
310292
  const emit = __emit;
309714
310293
  const props = __props;
309715
310294
  const buttonRefs = exports_vue.ref([]);
309716
- const bulletButtons = [
309717
- {
309718
- key: "disc",
309719
- icon: toolbarIcons.bulletListDisc,
309720
- ariaLabel: "Opaque circle"
309721
- },
309722
- {
309723
- key: "circle",
309724
- icon: toolbarIcons.bulletListCircle,
309725
- ariaLabel: "Outline circle"
309726
- },
309727
- {
309728
- key: "square",
309729
- icon: toolbarIcons.bulletListSquare,
309730
- ariaLabel: "Opaque square"
309731
- }
309732
- ];
310295
+ const iconStyle = exports_vue.computed(() => ({
310296
+ width: `${props.iconSize}px`,
310297
+ height: `${props.iconSize}px`
310298
+ }));
309733
310299
  const select2 = (key2) => {
309734
310300
  emit("select", key2);
309735
310301
  };
@@ -309760,7 +310326,7 @@ function print() { __p += __j.call(arguments, '') }
309760
310326
  moveToNextButton(index2);
309761
310327
  break;
309762
310328
  case "Enter":
309763
- select2(bulletButtons[index2].key);
310329
+ select2(props.buttons[index2].key);
309764
310330
  break;
309765
310331
  default:
309766
310332
  break;
@@ -309774,10 +310340,11 @@ function print() { __p += __j.call(arguments, '') }
309774
310340
  }
309775
310341
  });
309776
310342
  return (_ctx, _cache) => {
309777
- 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) => {
309778
- return exports_vue.createElementVNode("div", {
310343
+ 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) => {
310344
+ return exports_vue.openBlock(), exports_vue.createElementBlock("div", {
309779
310345
  key: button.key,
309780
310346
  class: exports_vue.normalizeClass(["button-icon", { selected: props.selectedStyle === button.key }]),
310347
+ style: exports_vue.normalizeStyle(iconStyle.value),
309781
310348
  onClick: ($event) => select2(button.key),
309782
310349
  innerHTML: button.icon,
309783
310350
  role: "menuitem",
@@ -309786,11 +310353,70 @@ function print() { __p += __j.call(arguments, '') }
309786
310353
  ref_key: "buttonRefs",
309787
310354
  ref: buttonRefs,
309788
310355
  onKeydown: exports_vue.withModifiers((event) => handleKeyDown$1(event, index2), ["prevent"])
309789
- }, null, 42, _hoisted_1$19);
309790
- }), 64))], 2);
310356
+ }, null, 46, _hoisted_1$19);
310357
+ }), 128))], 2);
309791
310358
  };
309792
310359
  }
309793
- }, [["__scopeId", "data-v-e1b3c81e"]]);
310360
+ }, [["__scopeId", "data-v-d374ab76"]]);
310361
+ bulletStyleButtons = [
310362
+ {
310363
+ key: "disc",
310364
+ icon: toolbarIcons.bulletListDisc,
310365
+ ariaLabel: "Opaque circle"
310366
+ },
310367
+ {
310368
+ key: "circle",
310369
+ icon: toolbarIcons.bulletListCircle,
310370
+ ariaLabel: "Outline circle"
310371
+ },
310372
+ {
310373
+ key: "square",
310374
+ icon: toolbarIcons.bulletListSquare,
310375
+ ariaLabel: "Opaque square"
310376
+ }
310377
+ ];
310378
+ numberedStyleButtons = [
310379
+ {
310380
+ key: "decimal",
310381
+ icon: toolbarIcons.numberedListDecimal,
310382
+ ariaLabel: "1. 2. 3."
310383
+ },
310384
+ {
310385
+ key: "decimal-paren",
310386
+ icon: toolbarIcons.numberedListDecimalParen,
310387
+ ariaLabel: "1) 2) 3)"
310388
+ },
310389
+ {
310390
+ key: "upper-roman",
310391
+ icon: toolbarIcons.numberedListUpperRoman,
310392
+ ariaLabel: "I. II. III."
310393
+ },
310394
+ {
310395
+ key: "lower-roman",
310396
+ icon: toolbarIcons.numberedListLowerRoman,
310397
+ ariaLabel: "i. ii. iii."
310398
+ },
310399
+ {
310400
+ key: "upper-alpha",
310401
+ icon: toolbarIcons.numberedListUpperAlpha,
310402
+ ariaLabel: "A. B. C."
310403
+ },
310404
+ {
310405
+ key: "upper-alpha-paren",
310406
+ icon: toolbarIcons.numberedListUpperAlphaParen,
310407
+ ariaLabel: "A) B) C)"
310408
+ },
310409
+ {
310410
+ key: "lower-alpha",
310411
+ icon: toolbarIcons.numberedListLowerAlpha,
310412
+ ariaLabel: "a. b. c."
310413
+ },
310414
+ {
310415
+ key: "lower-alpha-paren",
310416
+ icon: toolbarIcons.numberedListLowerAlphaParen,
310417
+ ariaLabel: "a) b) c)"
310418
+ }
310419
+ ];
309794
310420
  _hoisted_1$18 = ["onClick", "onKeydown"];
309795
310421
  _hoisted_2$15 = { class: "document-mode-column icon-column" };
309796
310422
  _hoisted_3$11 = ["innerHTML"];
@@ -310916,7 +311542,7 @@ function print() { __p += __j.call(arguments, '') }
310916
311542
  setup(__props, { emit: __emit }) {
310917
311543
  const emit = __emit;
310918
311544
  const props = __props;
310919
- const { name, active, icon, label, hideLabel, iconColor, hasCaret, splitButton, disabled, inlineTextInputVisible, hasInlineTextInput, minWidth, style: style2, attributes } = props.toolbarItem;
311545
+ const { name, active, icon, label, hideLabel, iconColor, hasCaret, splitButton, disabled, expand, inlineTextInputVisible, hasInlineTextInput, minWidth, style: style2, attributes } = props.toolbarItem;
310920
311546
  const isSplit = exports_vue.computed(() => Boolean(splitButton?.value) && Boolean(hasCaret?.value));
310921
311547
  const inlineTextInput = exports_vue.ref(label);
310922
311548
  const inlineInput = exports_vue.ref(null);
@@ -310959,7 +311585,7 @@ function print() { __p += __j.call(arguments, '') }
310959
311585
  return { minWidth: props.minWidth };
310960
311586
  });
310961
311587
  const caretIcon = exports_vue.computed(() => {
310962
- return active.value ? toolbarIcons.dropdownCaretUp : toolbarIcons.dropdownCaretDown;
311588
+ return expand?.value ? toolbarIcons.dropdownCaretUp : toolbarIcons.dropdownCaretDown;
310963
311589
  });
310964
311590
  return (_ctx, _cache) => {
310965
311591
  return exports_vue.openBlock(), exports_vue.createElementBlock("div", {
@@ -311054,7 +311680,7 @@ function print() { __p += __j.call(arguments, '') }
311054
311680
  ], 10, _hoisted_2$6)], 46, _hoisted_1$9);
311055
311681
  };
311056
311682
  }
311057
- }, [["__scopeId", "data-v-fdaeb82f"]]);
311683
+ }, [["__scopeId", "data-v-9012024b"]]);
311058
311684
  _hoisted_1$8 = {
311059
311685
  class: "toolbar-separator",
311060
311686
  role: "separator",
@@ -312611,6 +313237,15 @@ function print() { __p += __j.call(arguments, '') }
312611
313237
  item.selectedValue.value = null;
312612
313238
  }
312613
313239
  },
313240
+ numberedlist: () => {
313241
+ if (commandState?.active) {
313242
+ item.activate();
313243
+ item.selectedValue.value = commandState.value;
313244
+ } else {
313245
+ item.deactivate();
313246
+ item.selectedValue.value = null;
313247
+ }
313248
+ },
312614
313249
  default: () => {
312615
313250
  if (commandState?.active)
312616
313251
  item.activate();
@@ -316013,6 +316648,7 @@ function print() { __p += __j.call(arguments, '') }
316013
316648
  const prevState = this.state;
316014
316649
  let nextState;
316015
316650
  let transactionToApply = transaction;
316651
+ let effectiveTransaction = transaction;
316016
316652
  const forceTrackChanges = transactionToApply.getMeta("forceTrackChanges") === true;
316017
316653
  try {
316018
316654
  const isTrackChangesActive = TrackChangesBasePluginKey.getState(prevState)?.isTrackChangesActive ?? false;
@@ -316026,8 +316662,9 @@ function print() { __p += __j.call(arguments, '') }
316026
316662
  user: this.options.user,
316027
316663
  replacements: this.options.trackedChanges?.replacements === "independent" ? "independent" : "paired"
316028
316664
  }) : transactionToApply;
316029
- const { state: appliedState } = prevState.applyTransaction(transactionToApply);
316665
+ const { state: appliedState, transactions: appliedTransactions } = prevState.applyTransaction(transactionToApply);
316030
316666
  nextState = appliedState;
316667
+ effectiveTransaction = appliedTransactions.find((t) => t.docChanged) ?? transactionToApply;
316031
316668
  } catch (error48) {
316032
316669
  if (forceTrackChanges)
316033
316670
  throw error48;
@@ -316063,7 +316700,7 @@ function print() { __p += __j.call(arguments, '') }
316063
316700
  event: blur.event,
316064
316701
  transaction: transactionToApply
316065
316702
  });
316066
- if (transactionToApply.docChanged) {
316703
+ if (effectiveTransaction.docChanged) {
316067
316704
  if (transaction.docChanged && this.converter) {
316068
316705
  if (!this.converter.documentGuid) {
316069
316706
  this.converter.promoteToGuid();
@@ -316073,7 +316710,7 @@ function print() { __p += __j.call(arguments, '') }
316073
316710
  }
316074
316711
  this.emit("update", {
316075
316712
  editor: this,
316076
- transaction: transactionToApply
316713
+ transaction: effectiveTransaction
316077
316714
  });
316078
316715
  }
316079
316716
  }
@@ -318006,12 +318643,13 @@ function print() { __p += __j.call(arguments, '') }
318006
318643
  return false;
318007
318644
  return block.anchor?.vRelativeFrom === "page";
318008
318645
  }
318009
- getDecorationAnchorPageOriginY(pageEl, page, kind, effectiveOffset) {
318646
+ getDecorationAnchorPageOriginY(page, kind, effectiveOffset) {
318010
318647
  if (kind === "header")
318011
318648
  return effectiveOffset;
318649
+ if (!Number.isFinite(page.height) || page.height <= 0)
318650
+ throw new Error(`DomPainter: invalid ResolvedPage.height (${page.height}) for page ${page.index}; resolve stage must produce a positive numeric height.`);
318012
318651
  const pageMargins = page.margins;
318013
- const styledPageHeight = Number.parseFloat(pageEl.style.height || "");
318014
- const pageHeight = page.height ?? (Number.isFinite(styledPageHeight) ? styledPageHeight : pageEl.clientHeight);
318652
+ const pageHeight = page.height;
318015
318653
  const footerDistance = pageMargins?.footer;
318016
318654
  if (typeof footerDistance === "number" && Number.isFinite(footerDistance))
318017
318655
  return Math.max(0, pageHeight - Math.max(0, footerDistance));
@@ -318036,7 +318674,7 @@ function print() { __p += __j.call(arguments, '') }
318036
318674
  const container = existing ?? this.doc.createElement("div");
318037
318675
  container.className = className;
318038
318676
  container.innerHTML = "";
318039
- const baseOffset = data.offset ?? (kind === "footer" ? pageEl.clientHeight - data.height : 0);
318677
+ const baseOffset = data.offset;
318040
318678
  const marginLeft = data.marginLeft ?? 0;
318041
318679
  const marginRight = page.margins?.right ?? 0;
318042
318680
  let effectiveHeight = data.height;
@@ -318056,7 +318694,7 @@ function print() { __p += __j.call(arguments, '') }
318056
318694
  container.style.top = `${Math.max(0, effectiveOffset)}px`;
318057
318695
  container.style.zIndex = "1";
318058
318696
  container.style.overflow = "visible";
318059
- const footerAnchorPageOriginY = kind === "footer" ? this.getDecorationAnchorPageOriginY(pageEl, page, kind, effectiveOffset) : 0;
318697
+ const footerAnchorPageOriginY = kind === "footer" ? this.getDecorationAnchorPageOriginY(page, kind, effectiveOffset) : 0;
318060
318698
  const footerAnchorContainerOffsetY = kind === "footer" ? footerAnchorPageOriginY - effectiveOffset : 0;
318061
318699
  let footerYOffset = 0;
318062
318700
  if (kind === "footer" && data.fragments.length > 0) {
@@ -318390,9 +319028,9 @@ function print() { __p += __j.call(arguments, '') }
318390
319028
  const measure = resolvedItem.measure;
318391
319029
  const wordLayout = isMinimalWordLayout$1(block.attrs?.wordLayout) ? block.attrs.wordLayout : undefined;
318392
319030
  const content3 = resolvedItem?.content;
318393
- const paraContinuesFromPrev = resolvedItem?.continuesFromPrev ?? fragment.continuesFromPrev;
318394
- const paraContinuesOnNext = resolvedItem?.continuesOnNext ?? fragment.continuesOnNext;
318395
- const paraMarkerWidth = resolvedItem?.markerWidth ?? fragment.markerWidth;
319031
+ const paraContinuesFromPrev = resolvedItem?.continuesFromPrev;
319032
+ const paraContinuesOnNext = resolvedItem?.continuesOnNext;
319033
+ const paraMarkerWidth = resolvedItem?.markerWidth;
318396
319034
  const fragmentEl = this.doc.createElement("div");
318397
319035
  fragmentEl.classList.add(CLASS_NAMES$1.fragment);
318398
319036
  const isTocEntry = block.attrs?.isTocEntry;
@@ -318493,14 +319131,7 @@ function print() { __p += __j.call(arguments, '') }
318493
319131
  if (resolvedLine.isListFirstLine && resolvedMarker) {
318494
319132
  lineEl.style.paddingLeft = `${resolvedMarker.firstLinePaddingLeftPx}px`;
318495
319133
  if (!resolvedMarker.vanish) {
318496
- const markerContainer = this.doc.createElement("span");
318497
- markerContainer.style.display = "inline-block";
318498
- markerContainer.style.wordSpacing = "0px";
318499
- const markerEl = this.doc.createElement("span");
318500
- markerEl.classList.add("superdoc-paragraph-marker");
318501
- markerEl.textContent = resolvedMarker.text;
318502
- applySourceAnchorDataset(markerEl, resolvedMarker.sourceAnchor ?? resolvedItem?.sourceAnchor ?? fragment.sourceAnchor);
318503
- markerEl.style.pointerEvents = "none";
319134
+ const markerContainer = createListMarkerElement(this.doc, resolvedMarker.text, resolvedMarker.run, resolvedMarker.sourceAnchor ?? resolvedItem?.sourceAnchor);
318504
319135
  markerContainer.style.position = "relative";
318505
319136
  if (resolvedMarker.justification === "right") {
318506
319137
  markerContainer.style.position = "absolute";
@@ -318510,15 +319141,6 @@ function print() { __p += __j.call(arguments, '') }
318510
319141
  markerContainer.style.left = `${resolvedMarker.markerStartPx - (resolvedMarker.centerPaddingAdjustPx ?? 0)}px`;
318511
319142
  lineEl.style.paddingLeft = parseFloat(lineEl.style.paddingLeft) + (resolvedMarker.centerPaddingAdjustPx ?? 0) + "px";
318512
319143
  }
318513
- markerEl.style.fontFamily = toCssFontFamily(resolvedMarker.run.fontFamily) ?? resolvedMarker.run.fontFamily;
318514
- markerEl.style.fontSize = `${resolvedMarker.run.fontSize}px`;
318515
- markerEl.style.fontWeight = resolvedMarker.run.bold ? "bold" : "";
318516
- markerEl.style.fontStyle = resolvedMarker.run.italic ? "italic" : "";
318517
- if (resolvedMarker.run.color)
318518
- markerEl.style.color = resolvedMarker.run.color;
318519
- if (resolvedMarker.run.letterSpacing != null)
318520
- markerEl.style.letterSpacing = `${resolvedMarker.run.letterSpacing}px`;
318521
- markerContainer.appendChild(markerEl);
318522
319144
  if (resolvedMarker.suffix === "tab") {
318523
319145
  const tabEl = this.doc.createElement("span");
318524
319146
  tabEl.classList.add("superdoc-tab", "superdoc-marker-suffix-tab");
@@ -318542,7 +319164,7 @@ function print() { __p += __j.call(arguments, '') }
318542
319164
  this.capturePaintSnapshotLine(lineEl, context, {
318543
319165
  inTableFragment: false,
318544
319166
  inTableParagraph: false,
318545
- sourceAnchor: resolvedItem?.sourceAnchor ?? fragment.sourceAnchor
319167
+ sourceAnchor: resolvedItem?.sourceAnchor
318546
319168
  });
318547
319169
  fragmentEl.appendChild(lineEl);
318548
319170
  });
@@ -318632,14 +319254,7 @@ function print() { __p += __j.call(arguments, '') }
318632
319254
  return;
318633
319255
  lineEl.style.paddingLeft = `${paraIndentLeft + (paraIndent?.firstLine ?? 0) - (paraIndent?.hanging ?? 0)}px`;
318634
319256
  if (!marker.run.vanish) {
318635
- const markerContainer = this.doc.createElement("span");
318636
- markerContainer.style.display = "inline-block";
318637
- markerContainer.style.wordSpacing = "0px";
318638
- const markerEl = this.doc.createElement("span");
318639
- markerEl.classList.add("superdoc-paragraph-marker");
318640
- markerEl.textContent = marker.markerText ?? "";
318641
- applySourceAnchorDataset(markerEl, block.sourceAnchor ?? resolvedItem?.sourceAnchor ?? fragment.sourceAnchor);
318642
- markerEl.style.pointerEvents = "none";
319257
+ const markerContainer = createListMarkerElement(this.doc, marker.markerText ?? "", marker.run, block.sourceAnchor ?? resolvedItem?.sourceAnchor);
318643
319258
  const markerJustification = marker.justification ?? "left";
318644
319259
  markerContainer.style.position = "relative";
318645
319260
  if (markerJustification === "right") {
@@ -318650,15 +319265,6 @@ function print() { __p += __j.call(arguments, '') }
318650
319265
  markerContainer.style.left = `${markerStartPos - fragment.markerTextWidth / 2}px`;
318651
319266
  lineEl.style.paddingLeft = parseFloat(lineEl.style.paddingLeft) + fragment.markerTextWidth / 2 + "px";
318652
319267
  }
318653
- markerEl.style.fontFamily = toCssFontFamily(marker.run.fontFamily) ?? marker.run.fontFamily;
318654
- markerEl.style.fontSize = `${marker.run.fontSize}px`;
318655
- markerEl.style.fontWeight = marker.run.bold ? "bold" : "";
318656
- markerEl.style.fontStyle = marker.run.italic ? "italic" : "";
318657
- if (marker.run.color)
318658
- markerEl.style.color = marker.run.color;
318659
- if (marker.run.letterSpacing != null)
318660
- markerEl.style.letterSpacing = `${marker.run.letterSpacing}px`;
318661
- markerContainer.appendChild(markerEl);
318662
319268
  const suffix = marker.suffix ?? "tab";
318663
319269
  if (suffix === "tab") {
318664
319270
  const tabEl = this.doc.createElement("span");
@@ -318683,7 +319289,7 @@ function print() { __p += __j.call(arguments, '') }
318683
319289
  this.capturePaintSnapshotLine(lineEl, context, {
318684
319290
  inTableFragment: false,
318685
319291
  inTableParagraph: false,
318686
- sourceAnchor: resolvedItem?.sourceAnchor ?? fragment.sourceAnchor
319292
+ sourceAnchor: resolvedItem?.sourceAnchor
318687
319293
  });
318688
319294
  fragmentEl.appendChild(lineEl);
318689
319295
  });
@@ -318758,9 +319364,9 @@ function print() { __p += __j.call(arguments, '') }
318758
319364
  const itemMeasure = measure.items.find((entry) => entry.itemId === fragment.itemId);
318759
319365
  if (!item || !itemMeasure)
318760
319366
  throw new Error(`DomPainter: missing list item ${fragment.itemId}`);
318761
- const listContinuesFromPrev = resolvedItem?.continuesFromPrev ?? fragment.continuesFromPrev;
318762
- const listContinuesOnNext = resolvedItem?.continuesOnNext ?? fragment.continuesOnNext;
318763
- const listMarkerWidth = resolvedItem?.markerWidth ?? fragment.markerWidth;
319367
+ const listContinuesFromPrev = resolvedItem?.continuesFromPrev;
319368
+ const listContinuesOnNext = resolvedItem?.continuesOnNext;
319369
+ const listMarkerWidth = resolvedItem?.markerWidth ?? 0;
318764
319370
  const fragmentEl = this.doc.createElement("div");
318765
319371
  fragmentEl.classList.add(CLASS_NAMES$1.fragment, `${CLASS_NAMES$1.fragment}-list-item`);
318766
319372
  applyStyles(fragmentEl, fragmentStyles);
@@ -318782,8 +319388,8 @@ function print() { __p += __j.call(arguments, '') }
318782
319388
  if (listContinuesOnNext)
318783
319389
  fragmentEl.dataset.continuesOnNext = "true";
318784
319390
  const markerEl = this.doc.createElement("span");
318785
- markerEl.classList.add("superdoc-list-marker");
318786
- applySourceAnchorDataset(markerEl, item.marker.sourceAnchor ?? item.sourceAnchor ?? resolvedItem?.sourceAnchor ?? fragment.sourceAnchor);
319391
+ markerEl.classList.add(DOM_CLASS_NAMES.LIST_MARKER);
319392
+ applySourceAnchorDataset(markerEl, item.marker.sourceAnchor ?? item.sourceAnchor ?? resolvedItem?.sourceAnchor);
318787
319393
  const wordLayout = item.paragraph.attrs?.wordLayout;
318788
319394
  const marker = wordLayout?.marker;
318789
319395
  if (marker) {
@@ -318840,7 +319446,7 @@ function print() { __p += __j.call(arguments, '') }
318840
319446
  this.capturePaintSnapshotLine(lineEl, context, {
318841
319447
  inTableFragment: false,
318842
319448
  inTableParagraph: false,
318843
- sourceAnchor: resolvedItem?.sourceAnchor ?? fragment.sourceAnchor
319449
+ sourceAnchor: resolvedItem?.sourceAnchor
318844
319450
  });
318845
319451
  contentEl.appendChild(lineEl);
318846
319452
  });
@@ -318875,13 +319481,13 @@ function print() { __p += __j.call(arguments, '') }
318875
319481
  this.applyContainerSdtDataset(fragmentEl, block.attrs?.containerSdt);
318876
319482
  if (block.id)
318877
319483
  fragmentEl.setAttribute("data-sd-block-id", block.id);
318878
- const imgPmStart = resolvedItem?.pmStart ?? fragment.pmStart;
319484
+ const imgPmStart = resolvedItem?.pmStart;
318879
319485
  if (imgPmStart != null)
318880
319486
  fragmentEl.dataset.pmStart = String(imgPmStart);
318881
- const imgPmEnd = resolvedItem?.pmEnd ?? fragment.pmEnd;
319487
+ const imgPmEnd = resolvedItem?.pmEnd;
318882
319488
  if (imgPmEnd != null)
318883
319489
  fragmentEl.dataset.pmEnd = String(imgPmEnd);
318884
- const imgMetadata = resolvedItem?.metadata ?? fragment.metadata;
319490
+ const imgMetadata = resolvedItem?.metadata;
318885
319491
  if (imgMetadata && !block.attrs?.vmlWatermark)
318886
319492
  fragmentEl.setAttribute("data-image-metadata", JSON.stringify(imgMetadata));
318887
319493
  const img2 = this.doc.createElement("img");
@@ -320675,7 +321281,7 @@ function print() { __p += __j.call(arguments, '') }
320675
321281
  const runSegments$1 = segmentsByRun.get(runIndex);
320676
321282
  const baseSegX = runSegments$1 && runSegments$1[0]?.x !== undefined ? runSegments$1[0].x : cumulativeX;
320677
321283
  const segX = baseSegX + indentOffset;
320678
- const segWidth = (runSegments$1 && runSegments$1[0]?.width !== undefined ? runSegments$1[0].width : elem.offsetWidth) ?? 0;
321284
+ const segWidth = runSegments$1?.[0]?.width ?? 0;
320679
321285
  elem.style.position = "absolute";
320680
321286
  elem.style.left = `${segX}px`;
320681
321287
  appendToLineGeo(elem, baseRun, segX, segWidth);
@@ -320747,17 +321353,8 @@ function print() { __p += __j.call(arguments, '') }
320747
321353
  const xPos = baseX + indentOffset;
320748
321354
  elem.style.position = "absolute";
320749
321355
  elem.style.left = `${xPos}px`;
320750
- appendToLineGeo(elem, segmentRun, xPos, segment.width ?? 0);
320751
- let width = segment.width ?? 0;
320752
- if (width <= 0 && this.doc) {
320753
- const measureEl = elem.cloneNode(true);
320754
- measureEl.style.position = "absolute";
320755
- measureEl.style.visibility = "hidden";
320756
- measureEl.style.left = "-9999px";
320757
- this.doc.body.appendChild(measureEl);
320758
- width = measureEl.offsetWidth;
320759
- this.doc.body.removeChild(measureEl);
320760
- }
321356
+ appendToLineGeo(elem, segmentRun, xPos, segment.width);
321357
+ const width = segment.width;
320761
321358
  cumulativeX = baseX + width;
320762
321359
  if (geoSdtWrapper)
320763
321360
  geoSdtMaxRight = Math.max(geoSdtMaxRight, xPos + width);
@@ -320916,21 +321513,21 @@ function print() { __p += __j.call(arguments, '') }
320916
321513
  if (section === "body" || section === undefined)
320917
321514
  assertFragmentPmPositions(fragment, "paragraph fragment");
320918
321515
  const resolvedFrag = resolvedItem;
320919
- const pmStart = resolvedFrag?.pmStart ?? fragment.pmStart;
321516
+ const pmStart = resolvedFrag?.pmStart;
320920
321517
  if (pmStart != null)
320921
321518
  el.dataset.pmStart = String(pmStart);
320922
321519
  else
320923
321520
  delete el.dataset.pmStart;
320924
- const pmEnd = resolvedFrag?.pmEnd ?? fragment.pmEnd;
321521
+ const pmEnd = resolvedFrag?.pmEnd;
320925
321522
  if (pmEnd != null)
320926
321523
  el.dataset.pmEnd = String(pmEnd);
320927
321524
  else
320928
321525
  delete el.dataset.pmEnd;
320929
- if (resolvedFrag?.continuesFromPrev ?? fragment.continuesFromPrev)
321526
+ if (resolvedFrag?.continuesFromPrev)
320930
321527
  el.dataset.continuesFromPrev = "true";
320931
321528
  else
320932
321529
  delete el.dataset.continuesFromPrev;
320933
- if (resolvedFrag?.continuesOnNext ?? fragment.continuesOnNext)
321530
+ if (resolvedFrag?.continuesOnNext)
320934
321531
  el.dataset.continuesOnNext = "true";
320935
321532
  else
320936
321533
  delete el.dataset.continuesOnNext;
@@ -320954,7 +321551,7 @@ function print() { __p += __j.call(arguments, '') }
320954
321551
  resolveFragmentWrapperZIndex(fragment, resolvedZIndex) {
320955
321552
  if (!this.isAnchoredMediaFragment(fragment))
320956
321553
  return "";
320957
- const zIndex = resolvedZIndex ?? fragment.zIndex;
321554
+ const zIndex = resolvedZIndex;
320958
321555
  return zIndex != null ? String(zIndex) : "";
320959
321556
  }
320960
321557
  applyFragmentWrapperZIndex(el, fragment, resolvedZIndex) {
@@ -320966,7 +321563,7 @@ function print() { __p += __j.call(arguments, '') }
320966
321563
  el.style.width = `${item.width}px`;
320967
321564
  el.dataset.blockId = item.blockId;
320968
321565
  el.dataset.layoutEpoch = String(this.layoutEpoch);
320969
- applySourceAnchorDataset(el, item.sourceAnchor ?? fragment.sourceAnchor);
321566
+ applySourceAnchorDataset(el, item.sourceAnchor);
320970
321567
  this.applyFragmentWrapperZIndex(el, fragment, item.zIndex);
320971
321568
  if (item.fragmentKind === "image" || item.fragmentKind === "drawing" || item.fragmentKind === "table")
320972
321569
  el.style.height = `${item.height}px`;
@@ -320974,7 +321571,7 @@ function print() { __p += __j.call(arguments, '') }
320974
321571
  }
320975
321572
  applyResolvedListItemWrapperFrame(el, fragment, item, section) {
320976
321573
  this.applyResolvedFragmentFrame(el, item, fragment, section);
320977
- const mw = item.markerWidth ?? fragment.markerWidth;
321574
+ const mw = item.markerWidth ?? 0;
320978
321575
  el.style.left = `${item.x - mw}px`;
320979
321576
  el.style.width = `${item.width + mw}px`;
320980
321577
  }
@@ -328203,7 +328800,11 @@ function print() { __p += __j.call(arguments, '') }
328203
328800
  removeDocumentSection: trash_can_solid_default,
328204
328801
  trackChangesAccept: check_solid_default,
328205
328802
  trackChangesReject: xmark_solid_default,
328206
- cellBackground: paint_roller_solid_default
328803
+ cellBackground: paint_roller_solid_default,
328804
+ listRestartNumbering: list_ol_solid_default,
328805
+ listContinueNumbering: list_ol_solid_default,
328806
+ listDecreaseIndent: outdent_solid_default,
328807
+ listIncreaseIndent: indent_solid_default
328207
328808
  };
328208
328809
  TEXTS = {
328209
328810
  addRowBefore: "Insert row above",
@@ -328229,7 +328830,11 @@ function print() { __p += __j.call(arguments, '') }
328229
328830
  createDocumentSection: "Create section",
328230
328831
  trackChangesAccept: "Accept change",
328231
328832
  trackChangesReject: "Reject change",
328232
- cellBackground: "Cell background"
328833
+ cellBackground: "Cell background",
328834
+ listRestartNumbering: "Restart numbering",
328835
+ listContinueNumbering: "Continue numbering",
328836
+ listDecreaseIndent: "Decrease indent",
328837
+ listIncreaseIndent: "Increase indent"
328233
328838
  };
328234
328839
  tableActionsOptions = [
328235
328840
  {
@@ -328336,11 +328941,11 @@ function print() { __p += __j.call(arguments, '') }
328336
328941
  ];
328337
328942
  });
328338
328943
 
328339
- // ../../packages/superdoc/dist/chunks/create-super-doc-ui-BTCvkLyW.es.js
328944
+ // ../../packages/superdoc/dist/chunks/create-super-doc-ui-BZNADU5K.es.js
328340
328945
  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;
328341
- var init_create_super_doc_ui_BTCvkLyW_es = __esm(() => {
328342
- init_SuperConverter_BLL9JGke_es();
328343
- init_create_headless_toolbar_D7n_Okb2_es();
328946
+ var init_create_super_doc_ui_BZNADU5K_es = __esm(() => {
328947
+ init_SuperConverter_D1o6_yKI_es();
328948
+ init_create_headless_toolbar_CJ0iQq1T_es();
328344
328949
  MOD_ALIASES = new Set([
328345
328950
  "Mod",
328346
328951
  "Meta",
@@ -328382,16 +328987,16 @@ var init_zipper_BxRAi0_5_es = __esm(() => {
328382
328987
 
328383
328988
  // ../../packages/superdoc/dist/super-editor.es.js
328384
328989
  var init_super_editor_es = __esm(() => {
328385
- init_src_C4h4xIas_es();
328386
- init_SuperConverter_BLL9JGke_es();
328990
+ init_src_ItIaPxzW_es();
328991
+ init_SuperConverter_D1o6_yKI_es();
328387
328992
  init_jszip_C49i9kUs_es();
328388
328993
  init_xml_js_CqGKpaft_es();
328389
- init_create_headless_toolbar_D7n_Okb2_es();
328994
+ init_create_headless_toolbar_CJ0iQq1T_es();
328390
328995
  init_constants_DrU4EASo_es();
328391
328996
  init_dist_B8HfvhaK_es();
328392
328997
  init_unified_Dsuw2be5_es();
328393
- init_DocxZipper_CUX64E5K_es();
328394
- init_create_super_doc_ui_BTCvkLyW_es();
328998
+ init_DocxZipper_Dh4RtvcE_es();
328999
+ init_create_super_doc_ui_BZNADU5K_es();
328395
329000
  init_ui_CGB3qmy3_es();
328396
329001
  init_eventemitter3_UwU_CLPU_es();
328397
329002
  init_errors_C_DoKMoN_es();
@@ -427285,7 +427890,7 @@ function updateNumberingProperties2(newNumberingProperties, paragraphNode, pos,
427285
427890
  ...paragraphNode.attrs.paragraphProperties || {},
427286
427891
  numberingProperties: newNumberingProperties ? { ...newNumberingProperties } : null
427287
427892
  };
427288
- if (paragraphNode.attrs.paragraphProperties?.styleId === "ListParagraph") {
427893
+ if (!newNumberingProperties && paragraphNode.attrs.paragraphProperties?.styleId === "ListParagraph") {
427289
427894
  newProperties.styleId = null;
427290
427895
  }
427291
427896
  if (newProperties.indent) {
@@ -427341,7 +427946,18 @@ function refreshAbstractIdentity2(abstractDef) {
427341
427946
  }
427342
427947
  function generateNewListDefinition2(numbering, options) {
427343
427948
  let { listType } = options;
427344
- const { numId, level, start: start2, text: text9, fmt, markerFontFamily, bulletStyle, bulletStyleLevel } = options;
427949
+ const {
427950
+ numId,
427951
+ level,
427952
+ start: start2,
427953
+ text: text9,
427954
+ fmt,
427955
+ markerFontFamily,
427956
+ bulletStyle,
427957
+ bulletStyleLevel,
427958
+ orderedStyle,
427959
+ orderedStyleLevel
427960
+ } = options;
427345
427961
  if (typeof listType !== "string")
427346
427962
  listType = listType.name;
427347
427963
  const definition5 = listType === "orderedList" ? baseOrderedListDef2 : baseBulletList2;
@@ -427368,6 +427984,50 @@ function generateNewListDefinition2(numbering, options) {
427368
427984
  }
427369
427985
  }
427370
427986
  }
427987
+ const shouldOverrideOrderedStyle = orderedStyle && listType === "orderedList";
427988
+ if (shouldOverrideOrderedStyle) {
427989
+ const styleConfig = ORDERED_LIST_STYLES2[orderedStyle];
427990
+ if (styleConfig) {
427991
+ const targetLevel = Math.max(0, Number.isFinite(orderedStyleLevel) ? orderedStyleLevel : 0);
427992
+ const targetLevelStr = String(targetLevel);
427993
+ const lvl = newAbstractDef.elements.find((el) => el.name === "w:lvl" && el.attributes["w:ilvl"] === targetLevelStr);
427994
+ if (lvl) {
427995
+ const numFmt = lvl.elements.find((el) => el.name === "w:numFmt");
427996
+ if (numFmt)
427997
+ numFmt.attributes["w:val"] = styleConfig.fmt;
427998
+ const lvlText = lvl.elements.find((el) => el.name === "w:lvlText");
427999
+ if (lvlText) {
428000
+ lvlText.attributes["w:val"] = `%${targetLevel + 1}${styleConfig.text.replace(/^%\d+/, "")}`;
428001
+ }
428002
+ const defaultLvlJc = DEFAULT_LVL_JC_BY_FMT2[styleConfig.fmt];
428003
+ if (defaultLvlJc) {
428004
+ const lvlJc = lvl.elements.find((el) => el.name === "w:lvlJc");
428005
+ if (lvlJc) {
428006
+ lvlJc.attributes["w:val"] = defaultLvlJc;
428007
+ } else {
428008
+ lvl.elements.push({ type: "element", name: "w:lvlJc", attributes: { "w:val": defaultLvlJc } });
428009
+ }
428010
+ }
428011
+ const defaultHanging = DEFAULT_HANGING_BY_FMT2[styleConfig.fmt];
428012
+ if (defaultHanging != null) {
428013
+ let pPr = lvl.elements.find((el) => el.name === "w:pPr");
428014
+ if (!pPr) {
428015
+ pPr = { type: "element", name: "w:pPr", elements: [] };
428016
+ lvl.elements.push(pPr);
428017
+ }
428018
+ if (!pPr.elements)
428019
+ pPr.elements = [];
428020
+ let ind = pPr.elements.find((el) => el.name === "w:ind");
428021
+ if (!ind) {
428022
+ ind = { type: "element", name: "w:ind", attributes: { "w:hanging": String(defaultHanging) } };
428023
+ pPr.elements.push(ind);
428024
+ } else {
428025
+ ind.attributes = { ...ind.attributes || {}, "w:hanging": String(defaultHanging) };
428026
+ }
428027
+ }
428028
+ }
428029
+ }
428030
+ }
427371
428031
  if (level != null && start2 != null && text9 != null && fmt != null) {
427372
428032
  if (numbering.definitions[numId]) {
427373
428033
  const abstractId = numbering.definitions[numId]?.elements[0]?.attributes["w:val"];
@@ -427547,7 +428207,108 @@ function setLvlRestartOnAbstract2(numbering, abstractNumId, ilvl, restartAfterLe
427547
428207
  }
427548
428208
  return true;
427549
428209
  }
427550
- var BULLET_STYLE_CHARS2;
428210
+ function setLvlStyleOnAbstract2(numbering, abstractNumId, ilvl, options) {
428211
+ const abstract = numbering.abstracts[abstractNumId];
428212
+ if (!abstract?.elements)
428213
+ return false;
428214
+ const ilvlStr = String(ilvl);
428215
+ const lvlEl = abstract.elements.find((el) => el.name === "w:lvl" && el.attributes?.["w:ilvl"] === ilvlStr);
428216
+ if (!lvlEl)
428217
+ return false;
428218
+ if (!lvlEl.elements)
428219
+ lvlEl.elements = [];
428220
+ const setOrAddChild = (name, value) => {
428221
+ const existing = lvlEl.elements.find((el) => el.name === name);
428222
+ if (existing) {
428223
+ if (existing.attributes?.["w:val"] === value)
428224
+ return false;
428225
+ existing.attributes = { ...existing.attributes || {}, "w:val": value };
428226
+ return true;
428227
+ }
428228
+ lvlEl.elements.push({ type: "element", name, attributes: { "w:val": value } });
428229
+ return true;
428230
+ };
428231
+ const stripMarkerFont = () => {
428232
+ const rPr = lvlEl.elements.find((el) => el.name === "w:rPr");
428233
+ if (!rPr?.elements?.some((el) => el.name === "w:rFonts"))
428234
+ return false;
428235
+ rPr.elements = rPr.elements.filter((el) => el.name !== "w:rFonts");
428236
+ return true;
428237
+ };
428238
+ let numFmtValue = null;
428239
+ let lvlTextValue = null;
428240
+ let lvlJcValue = null;
428241
+ let hangingValue = null;
428242
+ if (options.bulletStyle) {
428243
+ const char = BULLET_STYLE_CHARS2[options.bulletStyle];
428244
+ if (!char)
428245
+ return false;
428246
+ numFmtValue = "bullet";
428247
+ lvlTextValue = char;
428248
+ } else if (options.orderedStyle) {
428249
+ const config43 = ORDERED_LIST_STYLES2[options.orderedStyle];
428250
+ if (!config43)
428251
+ return false;
428252
+ numFmtValue = config43.fmt;
428253
+ lvlTextValue = `%${ilvl + 1}${config43.text.replace(/^%\d+/, "")}`;
428254
+ lvlJcValue = DEFAULT_LVL_JC_BY_FMT2[config43.fmt] ?? null;
428255
+ hangingValue = DEFAULT_HANGING_BY_FMT2[config43.fmt] ?? null;
428256
+ } else {
428257
+ return false;
428258
+ }
428259
+ const setHangingOnLevel = (hanging) => {
428260
+ let pPr = lvlEl.elements.find((el) => el.name === "w:pPr");
428261
+ if (!pPr) {
428262
+ pPr = { type: "element", name: "w:pPr", elements: [] };
428263
+ lvlEl.elements.push(pPr);
428264
+ }
428265
+ if (!pPr.elements)
428266
+ pPr.elements = [];
428267
+ let ind = pPr.elements.find((el) => el.name === "w:ind");
428268
+ if (!ind) {
428269
+ ind = { type: "element", name: "w:ind", attributes: { "w:hanging": String(hanging) } };
428270
+ pPr.elements.push(ind);
428271
+ return true;
428272
+ }
428273
+ if (ind.attributes?.["w:hanging"] === String(hanging))
428274
+ return false;
428275
+ ind.attributes = { ...ind.attributes || {}, "w:hanging": String(hanging) };
428276
+ return true;
428277
+ };
428278
+ let changed = false;
428279
+ if (setOrAddChild("w:numFmt", numFmtValue))
428280
+ changed = true;
428281
+ if (setOrAddChild("w:lvlText", lvlTextValue))
428282
+ changed = true;
428283
+ if (lvlJcValue != null && setOrAddChild("w:lvlJc", lvlJcValue))
428284
+ changed = true;
428285
+ if (hangingValue != null && setHangingOnLevel(hangingValue))
428286
+ changed = true;
428287
+ if (stripMarkerFont())
428288
+ changed = true;
428289
+ return changed;
428290
+ }
428291
+ function cloneListDefinitionWithLevelStyle2(numbering, sourceNumId, ilvl, options) {
428292
+ const sourceNumDef = numbering.definitions[sourceNumId];
428293
+ const sourceAbstractIdRaw = sourceNumDef?.elements?.find((el) => el.name === "w:abstractNumId")?.attributes?.["w:val"];
428294
+ const sourceAbstractId = sourceAbstractIdRaw != null ? Number(sourceAbstractIdRaw) : NaN;
428295
+ const sourceAbstract = Number.isFinite(sourceAbstractId) ? numbering.abstracts[sourceAbstractId] : undefined;
428296
+ if (!sourceAbstract)
428297
+ return null;
428298
+ const newAbstractId = getNextId2(numbering.abstracts);
428299
+ const newAbstractDef = JSON.parse(JSON.stringify(sourceAbstract));
428300
+ newAbstractDef.attributes = {
428301
+ ...newAbstractDef.attributes || {},
428302
+ "w:abstractNumId": String(newAbstractId)
428303
+ };
428304
+ refreshAbstractIdentity2(newAbstractDef);
428305
+ numbering.abstracts[newAbstractId] = newAbstractDef;
428306
+ setLvlStyleOnAbstract2(numbering, newAbstractId, ilvl, options);
428307
+ const newNumId = getNextId2(numbering.definitions);
428308
+ numbering.definitions[newNumId] = buildNumDef2(newNumId, newAbstractId);
428309
+ return { newNumId, newAbstractId };
428310
+ }
428311
+ var BULLET_STYLE_CHARS2, ORDERED_LIST_STYLES2, DEFAULT_LVL_JC_BY_FMT2, DEFAULT_HANGING_BY_FMT2;
427551
428312
  var init_numbering_transforms = __esm(() => {
427552
428313
  init_baseListDefinitions();
427553
428314
  BULLET_STYLE_CHARS2 = {
@@ -427555,6 +428316,30 @@ var init_numbering_transforms = __esm(() => {
427555
428316
  circle: "◦",
427556
428317
  square: "▪"
427557
428318
  };
428319
+ ORDERED_LIST_STYLES2 = {
428320
+ decimal: { fmt: "decimal", text: "%1." },
428321
+ "decimal-paren": { fmt: "decimal", text: "%1)" },
428322
+ "upper-roman": { fmt: "upperRoman", text: "%1." },
428323
+ "lower-roman": { fmt: "lowerRoman", text: "%1." },
428324
+ "upper-alpha": { fmt: "upperLetter", text: "%1." },
428325
+ "upper-alpha-paren": { fmt: "upperLetter", text: "%1)" },
428326
+ "lower-alpha": { fmt: "lowerLetter", text: "%1." },
428327
+ "lower-alpha-paren": { fmt: "lowerLetter", text: "%1)" }
428328
+ };
428329
+ DEFAULT_LVL_JC_BY_FMT2 = {
428330
+ decimal: "left",
428331
+ upperRoman: "right",
428332
+ lowerRoman: "right",
428333
+ upperLetter: "left",
428334
+ lowerLetter: "left"
428335
+ };
428336
+ DEFAULT_HANGING_BY_FMT2 = {
428337
+ decimal: 360,
428338
+ upperRoman: 180,
428339
+ lowerRoman: 180,
428340
+ upperLetter: 360,
428341
+ lowerLetter: 360
428342
+ };
427558
428343
  });
427559
428344
 
427560
428345
  // ../../packages/super-editor/src/editors/v1/core/parts/adapters/numbering-part-descriptor.ts
@@ -427709,6 +428494,29 @@ function mutateNumbering2(editor, source, transform2, options) {
427709
428494
  }
427710
428495
  });
427711
428496
  }
428497
+ function mutateNumberingBatch2(editor, source, transforms, options) {
428498
+ return mutateParts2({
428499
+ editor,
428500
+ source,
428501
+ dryRun: options?.dryRun,
428502
+ expectedRevision: options?.expectedRevision,
428503
+ operations: [
428504
+ {
428505
+ editor,
428506
+ partId: "word/numbering.xml",
428507
+ operation: "mutate",
428508
+ source,
428509
+ mutate({ part }) {
428510
+ const numbering = getNumbering2(editor);
428511
+ for (const transform2 of transforms) {
428512
+ transform2(numbering);
428513
+ }
428514
+ syncNumberingToXmlTree2(part, numbering);
428515
+ }
428516
+ }
428517
+ ]
428518
+ });
428519
+ }
427712
428520
  var init_numbering_mutation = __esm(() => {
427713
428521
  init_mutate_part();
427714
428522
  init_numbering_part_descriptor();
@@ -427725,7 +428533,9 @@ var generateNewListDefinition3 = ({
427725
428533
  editor,
427726
428534
  markerFontFamily,
427727
428535
  bulletStyle,
427728
- bulletStyleLevel
428536
+ bulletStyleLevel,
428537
+ orderedStyle,
428538
+ orderedStyleLevel
427729
428539
  }) => {
427730
428540
  let resultDefs;
427731
428541
  mutateNumbering2(editor, "list-numbering-helpers:generateNewListDefinition", (numbering) => {
@@ -427738,7 +428548,9 @@ var generateNewListDefinition3 = ({
427738
428548
  fmt,
427739
428549
  markerFontFamily,
427740
428550
  bulletStyle,
427741
- bulletStyleLevel
428551
+ bulletStyleLevel,
428552
+ orderedStyle,
428553
+ orderedStyleLevel
427742
428554
  });
427743
428555
  resultDefs = { abstractDef: result.abstractDef, numDef: result.numDef };
427744
428556
  });
@@ -427973,6 +428785,37 @@ var generateNewListDefinition3 = ({
427973
428785
  mutateNumbering2(editor, "list-numbering-helpers:setLvlRestartOnAbstract", (numbering) => {
427974
428786
  setLvlRestartOnAbstract2(numbering, abstractNumId, ilvl, restartAfterLevel);
427975
428787
  });
428788
+ }, setListLevelStyles2 = ({ editor, levels }) => {
428789
+ if (!levels?.length)
428790
+ return false;
428791
+ const resolved = [];
428792
+ for (const level of levels) {
428793
+ const abstractIdRaw = getListDefinitionDetails2({ numId: level.numId, level: level.ilvl, editor })?.abstractId;
428794
+ const abstractNumId = abstractIdRaw != null ? Number(abstractIdRaw) : NaN;
428795
+ if (!Number.isFinite(abstractNumId))
428796
+ continue;
428797
+ resolved.push({
428798
+ abstractNumId,
428799
+ ilvl: level.ilvl,
428800
+ bulletStyle: level.bulletStyle,
428801
+ orderedStyle: level.orderedStyle
428802
+ });
428803
+ }
428804
+ if (!resolved.length)
428805
+ return false;
428806
+ let anyChanged = false;
428807
+ mutateNumberingBatch2(editor, "list-numbering-helpers:setListLevelStyles", resolved.map(({ abstractNumId, ilvl, bulletStyle, orderedStyle }) => (numbering) => {
428808
+ if (setLvlStyleOnAbstract2(numbering, abstractNumId, ilvl, { bulletStyle, orderedStyle })) {
428809
+ anyChanged = true;
428810
+ }
428811
+ }));
428812
+ return anyChanged;
428813
+ }, cloneListDefinitionWithLevelStyle3 = ({ editor, sourceNumId, ilvl, bulletStyle, orderedStyle }) => {
428814
+ let result = null;
428815
+ mutateNumbering2(editor, "list-numbering-helpers:cloneListDefinitionWithLevelStyle", (numbering) => {
428816
+ result = cloneListDefinitionWithLevelStyle2(numbering, sourceNumId, ilvl, { bulletStyle, orderedStyle });
428817
+ });
428818
+ return result;
427976
428819
  }, ListHelpers2;
427977
428820
  var init_list_numbering_helpers = __esm(() => {
427978
428821
  init_listImporter();
@@ -427997,6 +428840,8 @@ var init_list_numbering_helpers = __esm(() => {
427997
428840
  removeLvlOverride: removeLvlOverride3,
427998
428841
  createNumDefinition: createNumDefinition3,
427999
428842
  setLvlRestartOnAbstract: setLvlRestartOnAbstract3,
428843
+ setListLevelStyles: setListLevelStyles2,
428844
+ cloneListDefinitionWithLevelStyle: cloneListDefinitionWithLevelStyle3,
428000
428845
  rebuildRawNumberingFromTranslated: rebuildRawNumberingFromTranslated2,
428001
428846
  createNewList: createNewList2,
428002
428847
  createSchemaOrderedListNode: createSchemaOrderedListNode2,