@superdoc-dev/cli 0.8.0-next.16 → 0.8.0-next.17

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 +100 -8
  2. package/package.json +8 -8
package/dist/index.js CHANGED
@@ -206598,7 +206598,7 @@ var init_remark_gfm_eZN6yzWQ_es = __esm(() => {
206598
206598
  init_remark_gfm_BhnWr3yf_es();
206599
206599
  });
206600
206600
 
206601
- // ../../packages/superdoc/dist/chunks/src-zTUoQSCW.es.js
206601
+ // ../../packages/superdoc/dist/chunks/src-BQyWXTfI.es.js
206602
206602
  function deleteProps(obj, propOrProps) {
206603
206603
  const props = typeof propOrProps === "string" ? [propOrProps] : propOrProps;
206604
206604
  const removeNested = (target, pathParts, index2 = 0) => {
@@ -230741,6 +230741,28 @@ function setLevelTabStop(editor, abstractNumId, ilvl, value) {
230741
230741
  return false;
230742
230742
  return mutateLevelTabStop(resolved.lvlEl, value);
230743
230743
  }
230744
+ function isSymbolFont(fontName) {
230745
+ return typeof fontName === "string" && SYMBOL_FONT_NAMES.has(fontName.toLowerCase());
230746
+ }
230747
+ function rFontsHasSymbolFont(rFontsEl) {
230748
+ const attrs = rFontsEl.attributes;
230749
+ if (!attrs)
230750
+ return false;
230751
+ for (const attr of RFONTS_FAMILY_ATTRS)
230752
+ if (isSymbolFont(attrs[attr]))
230753
+ return true;
230754
+ return false;
230755
+ }
230756
+ function readRFontsFamily(rFontsEl) {
230757
+ const attrs = rFontsEl.attributes;
230758
+ if (!attrs)
230759
+ return;
230760
+ for (const attr of RFONTS_FAMILY_ATTRS) {
230761
+ const val = attrs[attr];
230762
+ if (val)
230763
+ return val;
230764
+ }
230765
+ }
230744
230766
  function clearPictureBulletId(lvlEl) {
230745
230767
  if (!lvlEl.elements)
230746
230768
  return false;
@@ -230750,8 +230772,47 @@ function clearPictureBulletId(lvlEl) {
230750
230772
  lvlEl.elements.splice(idx, 1);
230751
230773
  return true;
230752
230774
  }
230775
+ function levelHasRFonts(lvlEl) {
230776
+ return !!lvlEl.elements?.find((el) => el.name === "w:rPr")?.elements?.find((el) => el.name === "w:rFonts");
230777
+ }
230778
+ function findDonorMarkerFont(abstract) {
230779
+ if (!abstract?.elements)
230780
+ return;
230781
+ const lvls = abstract.elements.filter((el) => el.name === "w:lvl");
230782
+ lvls.sort((a2, b$1) => Number(a2.attributes?.["w:ilvl"] ?? 0) - Number(b$1.attributes?.["w:ilvl"] ?? 0));
230783
+ for (const lvl of lvls) {
230784
+ const rFonts = lvl.elements?.find((el) => el.name === "w:rPr")?.elements?.find((el) => el.name === "w:rFonts");
230785
+ if (!rFonts)
230786
+ continue;
230787
+ if (rFontsHasSymbolFont(rFonts))
230788
+ continue;
230789
+ const family = readRFontsFamily(rFonts);
230790
+ if (family)
230791
+ return family;
230792
+ }
230793
+ }
230794
+ function normalizeLevelFontForNumFmt(lvlEl, newNumFmt) {
230795
+ if (newNumFmt === "bullet" || !lvlEl.elements)
230796
+ return false;
230797
+ const rPrIdx = lvlEl.elements.findIndex((el) => el.name === "w:rPr");
230798
+ if (rPrIdx === -1)
230799
+ return false;
230800
+ const rPr = lvlEl.elements[rPrIdx];
230801
+ if (!rPr.elements)
230802
+ return false;
230803
+ const rFontsIdx = rPr.elements.findIndex((el) => el.name === "w:rFonts");
230804
+ if (rFontsIdx === -1)
230805
+ return false;
230806
+ if (!rFontsHasSymbolFont(rPr.elements[rFontsIdx]))
230807
+ return false;
230808
+ rPr.elements.splice(rFontsIdx, 1);
230809
+ if (rPr.elements.length === 0)
230810
+ lvlEl.elements.splice(rPrIdx, 1);
230811
+ return true;
230812
+ }
230753
230813
  function mutateLevelNumberStyle(lvlEl, numFmt) {
230754
- let changed = setChildAttr(lvlEl, "w:numFmt", numFmt);
230814
+ let changed = normalizeLevelFontForNumFmt(lvlEl, numFmt);
230815
+ changed = setChildAttr(lvlEl, "w:numFmt", numFmt) || changed;
230755
230816
  changed = clearPictureBulletId(lvlEl) || changed;
230756
230817
  return changed;
230757
230818
  }
@@ -230786,8 +230847,10 @@ function applyLevelPropertiesToElement(lvlEl, entry) {
230786
230847
  if (fmtParams.numFmt != null && fmtParams.lvlText != null)
230787
230848
  changed = mutateLevelNumberingFormat(lvlEl, fmtParams) || changed;
230788
230849
  else {
230789
- if (fmtParams.numFmt != null)
230850
+ if (fmtParams.numFmt != null) {
230851
+ changed = normalizeLevelFontForNumFmt(lvlEl, fmtParams.numFmt) || changed;
230790
230852
  changed = setChildAttr(lvlEl, "w:numFmt", fmtParams.numFmt) || changed;
230853
+ }
230791
230854
  if (fmtParams.lvlText != null)
230792
230855
  changed = setChildAttr(lvlEl, "w:lvlText", fmtParams.lvlText) || changed;
230793
230856
  if (fmtParams.start != null)
@@ -230810,7 +230873,7 @@ function applyLevelPropertiesToElement(lvlEl, entry) {
230810
230873
  return changed;
230811
230874
  }
230812
230875
  function mutateLevelNumberingFormat(lvlEl, { numFmt, lvlText, start: start$1 }) {
230813
- let changed = false;
230876
+ let changed = normalizeLevelFontForNumFmt(lvlEl, numFmt);
230814
230877
  changed = setChildAttr(lvlEl, "w:numFmt", numFmt) || changed;
230815
230878
  changed = setChildAttr(lvlEl, "w:lvlText", lvlText) || changed;
230816
230879
  if (start$1 != null)
@@ -231025,9 +231088,23 @@ function applyTemplateToAbstract(editor, abstractNumId, template, levels) {
231025
231088
  error: "LEVEL_NOT_IN_ABSTRACT"
231026
231089
  };
231027
231090
  let anyChanged = false;
231091
+ const strippedLevels = [];
231028
231092
  for (const ilvl of targetLevels) {
231029
231093
  const entry = templateByLevel.get(ilvl);
231030
- anyChanged = applyLevelPropertiesToElement(findLevelElement(abstract, ilvl), entry) || anyChanged;
231094
+ const lvlEl = findLevelElement(abstract, ilvl);
231095
+ const hadRFontsBefore = levelHasRFonts(lvlEl);
231096
+ anyChanged = applyLevelPropertiesToElement(lvlEl, entry) || anyChanged;
231097
+ if (hadRFontsBefore && !levelHasRFonts(lvlEl))
231098
+ strippedLevels.push({
231099
+ ilvl,
231100
+ lvlEl
231101
+ });
231102
+ }
231103
+ if (strippedLevels.length > 0) {
231104
+ const donorFont = findDonorMarkerFont(abstract);
231105
+ if (donorFont)
231106
+ for (const { lvlEl } of strippedLevels)
231107
+ anyChanged = mutateLevelMarkerFont(lvlEl, donorFont) || anyChanged;
231031
231108
  }
231032
231109
  return { changed: anyChanged };
231033
231110
  }
@@ -279014,7 +279091,7 @@ var Node$13 = class Node$14 {
279014
279091
  listener(snapshot2);
279015
279092
  } catch {}
279016
279093
  }
279017
- }, EMITTABLE_BLOCK_TYPES, SDT_BLOCK_NODE_NAMES, REQUIRED_COMMANDS, VALID_CAPABILITY_REASON_CODES, REQUIRED_HELPERS, SCHEMA_NODE_GATES, schemaGatedIds, SUPPORTED_NON_UNIFORM_STRATEGIES, SUPPORTED_SET_MARKS, REGEX_MAX_PATTERN_LENGTH = 1024, STYLES_PART = "word/styles.xml", PROPERTIES_KEY_BY_CHANNEL, XML_PATH_BY_CHANNEL2, UNDERLINE_API_TO_STORAGE, UNDERLINE_STORAGE_TO_API, HEX_SUBKEYS_BY_PROPERTY, SUPPORTED_DELETE_NODE_TYPES3, REJECTED_DELETE_NODE_TYPES3, TEXT_PREVIEW_MAX_LENGTH = 80, RANGE_DELETE_SAFE_NODE_TYPES, HEADING_PATTERN, OOXML_DEFAULT_FONT_SIZE_PT = 10, INDENT_PER_LEVEL_TWIPS = 720, HANGING_INDENT_TWIPS = 360, ORDERED_PRESET_CONFIG, BULLET_PRESET_CONFIG, PRESET_TEMPLATES, LevelFormattingHelpers, PRESET_KIND_MAP, NUMBERING_PART = "word/numbering.xml", DEFAULT_PRESET_FOR_KIND, _setValueDelegate, PREVIEW_TEXT_MAX_LENGTH = 2000, BLOCK_PREVIEW_MAX_LENGTH = 200, EDGE_NODE_TYPES$1, POINTS_TO_PIXELS, POINTS_TO_TWIPS = 20, PIXELS_TO_TWIPS, DEFAULT_TABLE_GRID_WIDTH_TWIPS = 1500, SETTINGS_PART$1 = "word/settings.xml", WORD_DEFAULT_TBL_LOOK, FLAG_TO_OOXML_KEY, INVERTED_FLAGS, XML_KEY_TO_STYLE_OPTION, CLEARED_BORDER_OOXML, TABLE_MARGIN_KEY_GROUPS, TABLE_ADAPTER_DISPATCH, ROW_TARGETED_TABLE_OPS, registered = false, STYLES_PART_ID = "word/styles.xml", stylesPartDescriptor, settingsPartDescriptor, RELS_PART_ID2 = "word/_rels/document.xml.rels", RELS_XMLNS2 = "http://schemas.openxmlformats.org/package/2006/relationships", HEADER_RELATIONSHIP_TYPE$1 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header", FOOTER_RELATIONSHIP_TYPE$1 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer", relsPartDescriptor, HISTORY_UNSAFE_OPS, CANONICAL_COMMENT_IGNORED_KEYS, INITIAL_HASH, ROUND_CONSTANTS, V1_COVERAGE, V2_COVERAGE, SNAPSHOT_VERSION_V2 = "sd-diff-snapshot/v2", PAYLOAD_VERSION_V1 = "sd-diff-payload/v1", PAYLOAD_VERSION_V2 = "sd-diff-payload/v2", ENGINE_ID = "super-editor", STAGED_CONVERTER_KEYS, DiffServiceError, DEFAULT_LEVEL = 1, SWITCH_PATTERN, TOC_BOOKMARK_PREFIX = "_Toc", DEFAULT_RIGHT_TAB_POS = 9350, TAB_LEADER_MAP, NO_ENTRIES_PLACEHOLDER, TC_LEVEL_MIN = 1, TC_LEVEL_MAX = 9, ALLOWED_WRAP_ATTRS, WRAP_TYPES_SUPPORTING_SIDE, WRAP_TYPES_SUPPORTING_DISTANCES, RELATIVE_HEIGHT_MIN = 0, RELATIVE_HEIGHT_MAX = 4294967295, FORBIDDEN_RAW_PATCH_NAMES, CONTROL_TYPE_SDT_PR_ELEMENTS, DEFAULT_CHECKBOX_SYMBOL_FONT2 = "MS Gothic", DEFAULT_CHECKBOX_CHECKED_HEX2 = "2612", DEFAULT_CHECKBOX_UNCHECKED_HEX2 = "2610", VARIANT_ORDER, KIND_ORDER, HEADER_RELATIONSHIP_TYPE3 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header", FOOTER_RELATIONSHIP_TYPE3 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer", DOCUMENT_RELS_PATH2 = "word/_rels/document.xml.rels", HEADER_FILE_PATTERN2, FOOTER_FILE_PATTERN2, SETTINGS_PART, SPECIAL_NOTE_TYPES, RESTART_POLICY_TO_OOXML, VALID_DISPLAYS, REFERENCE_BLOCK_PREFIX, CAPTION_STYLE_NAMES, CAPTION_PARAGRAPH_STYLE_ID = "Caption", CAPTION_FORMAT_TO_OOXML, DOCUMENT_STAT_FIELD_TYPES, TOA_LEADER_REVERSE_MAP, EDGE_NODE_TYPES, CONTENT_TYPES_PART_ID = "[Content_Types].xml", CONTENT_TYPES_NS = "http://schemas.openxmlformats.org/package/2006/content-types", contentTypesPartDescriptor, empty_exports, init_empty, CURRENT_APP_VERSION2 = "1.28.0", PIXELS_PER_INCH2 = 96, MAX_HEIGHT_BUFFER_PX = 50, MAX_WIDTH_BUFFER_PX = 20, cloneExtensionInstance = (extension3) => {
279094
+ }, EMITTABLE_BLOCK_TYPES, SDT_BLOCK_NODE_NAMES, REQUIRED_COMMANDS, VALID_CAPABILITY_REASON_CODES, REQUIRED_HELPERS, SCHEMA_NODE_GATES, schemaGatedIds, SUPPORTED_NON_UNIFORM_STRATEGIES, SUPPORTED_SET_MARKS, REGEX_MAX_PATTERN_LENGTH = 1024, STYLES_PART = "word/styles.xml", PROPERTIES_KEY_BY_CHANNEL, XML_PATH_BY_CHANNEL2, UNDERLINE_API_TO_STORAGE, UNDERLINE_STORAGE_TO_API, HEX_SUBKEYS_BY_PROPERTY, SUPPORTED_DELETE_NODE_TYPES3, REJECTED_DELETE_NODE_TYPES3, TEXT_PREVIEW_MAX_LENGTH = 80, RANGE_DELETE_SAFE_NODE_TYPES, HEADING_PATTERN, OOXML_DEFAULT_FONT_SIZE_PT = 10, INDENT_PER_LEVEL_TWIPS = 720, HANGING_INDENT_TWIPS = 360, SYMBOL_FONT_NAMES, RFONTS_FAMILY_ATTRS, ORDERED_PRESET_CONFIG, BULLET_PRESET_CONFIG, PRESET_TEMPLATES, LevelFormattingHelpers, PRESET_KIND_MAP, NUMBERING_PART = "word/numbering.xml", DEFAULT_PRESET_FOR_KIND, _setValueDelegate, PREVIEW_TEXT_MAX_LENGTH = 2000, BLOCK_PREVIEW_MAX_LENGTH = 200, EDGE_NODE_TYPES$1, POINTS_TO_PIXELS, POINTS_TO_TWIPS = 20, PIXELS_TO_TWIPS, DEFAULT_TABLE_GRID_WIDTH_TWIPS = 1500, SETTINGS_PART$1 = "word/settings.xml", WORD_DEFAULT_TBL_LOOK, FLAG_TO_OOXML_KEY, INVERTED_FLAGS, XML_KEY_TO_STYLE_OPTION, CLEARED_BORDER_OOXML, TABLE_MARGIN_KEY_GROUPS, TABLE_ADAPTER_DISPATCH, ROW_TARGETED_TABLE_OPS, registered = false, STYLES_PART_ID = "word/styles.xml", stylesPartDescriptor, settingsPartDescriptor, RELS_PART_ID2 = "word/_rels/document.xml.rels", RELS_XMLNS2 = "http://schemas.openxmlformats.org/package/2006/relationships", HEADER_RELATIONSHIP_TYPE$1 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header", FOOTER_RELATIONSHIP_TYPE$1 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer", relsPartDescriptor, HISTORY_UNSAFE_OPS, CANONICAL_COMMENT_IGNORED_KEYS, INITIAL_HASH, ROUND_CONSTANTS, V1_COVERAGE, V2_COVERAGE, SNAPSHOT_VERSION_V2 = "sd-diff-snapshot/v2", PAYLOAD_VERSION_V1 = "sd-diff-payload/v1", PAYLOAD_VERSION_V2 = "sd-diff-payload/v2", ENGINE_ID = "super-editor", STAGED_CONVERTER_KEYS, DiffServiceError, DEFAULT_LEVEL = 1, SWITCH_PATTERN, TOC_BOOKMARK_PREFIX = "_Toc", DEFAULT_RIGHT_TAB_POS = 9350, TAB_LEADER_MAP, NO_ENTRIES_PLACEHOLDER, TC_LEVEL_MIN = 1, TC_LEVEL_MAX = 9, ALLOWED_WRAP_ATTRS, WRAP_TYPES_SUPPORTING_SIDE, WRAP_TYPES_SUPPORTING_DISTANCES, RELATIVE_HEIGHT_MIN = 0, RELATIVE_HEIGHT_MAX = 4294967295, FORBIDDEN_RAW_PATCH_NAMES, CONTROL_TYPE_SDT_PR_ELEMENTS, DEFAULT_CHECKBOX_SYMBOL_FONT2 = "MS Gothic", DEFAULT_CHECKBOX_CHECKED_HEX2 = "2612", DEFAULT_CHECKBOX_UNCHECKED_HEX2 = "2610", VARIANT_ORDER, KIND_ORDER, HEADER_RELATIONSHIP_TYPE3 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header", FOOTER_RELATIONSHIP_TYPE3 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer", DOCUMENT_RELS_PATH2 = "word/_rels/document.xml.rels", HEADER_FILE_PATTERN2, FOOTER_FILE_PATTERN2, SETTINGS_PART, SPECIAL_NOTE_TYPES, RESTART_POLICY_TO_OOXML, VALID_DISPLAYS, REFERENCE_BLOCK_PREFIX, CAPTION_STYLE_NAMES, CAPTION_PARAGRAPH_STYLE_ID = "Caption", CAPTION_FORMAT_TO_OOXML, DOCUMENT_STAT_FIELD_TYPES, TOA_LEADER_REVERSE_MAP, EDGE_NODE_TYPES, CONTENT_TYPES_PART_ID = "[Content_Types].xml", CONTENT_TYPES_NS = "http://schemas.openxmlformats.org/package/2006/content-types", contentTypesPartDescriptor, empty_exports, init_empty, CURRENT_APP_VERSION2 = "1.28.0", PIXELS_PER_INCH2 = 96, MAX_HEIGHT_BUFFER_PX = 50, MAX_WIDTH_BUFFER_PX = 20, cloneExtensionInstance = (extension3) => {
279018
279095
  const extensionLike = extension3;
279019
279096
  const config2 = extensionLike?.config;
279020
279097
  const ExtensionCtor = extensionLike?.constructor;
@@ -293878,7 +293955,7 @@ menclose::after {
293878
293955
  return;
293879
293956
  console.log(...args$1);
293880
293957
  }, 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;
293881
- var init_src_zTUoQSCW_es = __esm(() => {
293958
+ var init_src_BQyWXTfI_es = __esm(() => {
293882
293959
  init_rolldown_runtime_Bg48TavK_es();
293883
293960
  init_SuperConverter_D6fPzZYT_es();
293884
293961
  init_jszip_C49i9kUs_es();
@@ -316825,6 +316902,21 @@ function print() { __p += __j.call(arguments, '') }
316825
316902
  REJECTED_DELETE_NODE_TYPES3 = new Set(["tableRow", "tableCell"]);
316826
316903
  RANGE_DELETE_SAFE_NODE_TYPES = new Set(["passthroughBlock", "passthroughInline"]);
316827
316904
  HEADING_PATTERN = /^Heading(\d)$/;
316905
+ SYMBOL_FONT_NAMES = new Set([
316906
+ "wingdings",
316907
+ "wingdings 2",
316908
+ "wingdings 3",
316909
+ "symbol",
316910
+ "webdings",
316911
+ "zapfdingbats",
316912
+ "zapf dingbats"
316913
+ ]);
316914
+ RFONTS_FAMILY_ATTRS = [
316915
+ "w:ascii",
316916
+ "w:hAnsi",
316917
+ "w:eastAsia",
316918
+ "w:cs"
316919
+ ];
316828
316920
  ORDERED_PRESET_CONFIG = {
316829
316921
  decimal: {
316830
316922
  numFmt: "decimal",
@@ -330043,7 +330135,7 @@ var init_zipper_DbkgrypV_es = __esm(() => {
330043
330135
 
330044
330136
  // ../../packages/superdoc/dist/super-editor.es.js
330045
330137
  var init_super_editor_es = __esm(() => {
330046
- init_src_zTUoQSCW_es();
330138
+ init_src_BQyWXTfI_es();
330047
330139
  init_SuperConverter_D6fPzZYT_es();
330048
330140
  init_jszip_C49i9kUs_es();
330049
330141
  init_xml_js_CqGKpaft_es();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superdoc-dev/cli",
3
- "version": "0.8.0-next.16",
3
+ "version": "0.8.0-next.17",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "superdoc": "./dist/index.js"
@@ -26,19 +26,19 @@
26
26
  "typescript": "^5.9.2",
27
27
  "@superdoc/document-api": "0.0.1",
28
28
  "@superdoc/pm-adapter": "0.0.0",
29
- "superdoc": "1.28.0",
30
- "@superdoc/super-editor": "0.0.1"
29
+ "@superdoc/super-editor": "0.0.1",
30
+ "superdoc": "1.28.0"
31
31
  },
32
32
  "module": "src/index.ts",
33
33
  "publishConfig": {
34
34
  "access": "public"
35
35
  },
36
36
  "optionalDependencies": {
37
- "@superdoc-dev/cli-darwin-arm64": "0.8.0-next.16",
38
- "@superdoc-dev/cli-darwin-x64": "0.8.0-next.16",
39
- "@superdoc-dev/cli-linux-x64": "0.8.0-next.16",
40
- "@superdoc-dev/cli-linux-arm64": "0.8.0-next.16",
41
- "@superdoc-dev/cli-windows-x64": "0.8.0-next.16"
37
+ "@superdoc-dev/cli-darwin-arm64": "0.8.0-next.17",
38
+ "@superdoc-dev/cli-darwin-x64": "0.8.0-next.17",
39
+ "@superdoc-dev/cli-linux-arm64": "0.8.0-next.17",
40
+ "@superdoc-dev/cli-windows-x64": "0.8.0-next.17",
41
+ "@superdoc-dev/cli-linux-x64": "0.8.0-next.17"
42
42
  },
43
43
  "scripts": {
44
44
  "predev": "node scripts/ensure-superdoc-build.js",