@harbour-enterprises/superdoc 1.17.0-next.13 → 1.17.0-next.15

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.
@@ -4852,7 +4852,7 @@ function decodeProperties(params, translatorsBySdName, properties) {
4852
4852
  node: { attrs: { [key]: properties[key] } }
4853
4853
  });
4854
4854
  if (result != null) {
4855
- result.name = translator$202.xmlName;
4855
+ if (result.name == null) result.name = translator$202.xmlName;
4856
4856
  elements.push(result);
4857
4857
  }
4858
4858
  }
@@ -33839,7 +33839,7 @@ var SuperConverter = class SuperConverter {
33839
33839
  static getStoredSuperdocVersion(docx) {
33840
33840
  return SuperConverter.getStoredCustomProperty(docx, "SuperdocVersion");
33841
33841
  }
33842
- static setStoredSuperdocVersion(docx = this.convertedXml, version = "1.17.0-next.13") {
33842
+ static setStoredSuperdocVersion(docx = this.convertedXml, version = "1.17.0-next.15") {
33843
33843
  return SuperConverter.setStoredCustomProperty(docx, "SuperdocVersion", version, false);
33844
33844
  }
33845
33845
  static generateWordTimestamp() {
@@ -4860,7 +4860,7 @@ function decodeProperties(params, translatorsBySdName, properties) {
4860
4860
  node: { attrs: { [key]: properties[key] } }
4861
4861
  });
4862
4862
  if (result != null) {
4863
- result.name = translator$202.xmlName;
4863
+ if (result.name == null) result.name = translator$202.xmlName;
4864
4864
  elements.push(result);
4865
4865
  }
4866
4866
  }
@@ -33853,7 +33853,7 @@ var SuperConverter = class SuperConverter {
33853
33853
  static getStoredSuperdocVersion(docx) {
33854
33854
  return SuperConverter.getStoredCustomProperty(docx, "SuperdocVersion");
33855
33855
  }
33856
- static setStoredSuperdocVersion(docx = this.convertedXml, version = "1.17.0-next.13") {
33856
+ static setStoredSuperdocVersion(docx = this.convertedXml, version = "1.17.0-next.15") {
33857
33857
  return SuperConverter.setStoredCustomProperty(docx, "SuperdocVersion", version, false);
33858
33858
  }
33859
33859
  static generateWordTimestamp() {
@@ -1,5 +1,5 @@
1
1
  import { a as __toCommonJS, n as __esmMin, r as __export, t as __commonJSMin } from "./rolldown-runtime-B2q5OVn9.es.js";
2
- import { $ as TextSelection$1, A as findMark, At as Mark$1, B as defaultBlockAt$1, C as docxNumberingHelpers, Ct as TrackDeleteMarkName, D as posToDOMRect, Dt as DOMParser$1, E as isInTable, Et as carbonCopy, F as isMarkActive, Ft as getExtensionConfigField, G as createDocument, H as getNodeType, I as getMarkRange, J as NodeSelection, K as AllSelection, L as isTextSelection, M as isActive, Mt as Slice, N as isNodeActive, Nt as minMax, O as findChildren$1, Ot as DOMSerializer, P as getSchemaTypeNameByName, Pt as callOrGet, Q as SelectionRange, R as findParentNode, S as getResolvedParagraphProperties, St as getUnderlineCssString, T as CommandService, Tt as TrackInsertMarkName, U as cleanSchemaItem, V as getMarkType, W as getSchemaTypeByName, X as PluginKey, Y as Plugin, Z as Selection, _ as ListHelpers, _t as encodeMarksFromRPr, a as _getReferencedTableStyles, at as Transform, b as isList, bt as resolveRunProperties, c as processContent, ct as dropPoint, d as createCellBorders, dt as replaceStep$1, et as AddMarkStep, f as InputRule, ft as generateDocxRandomId, g as unflattenListsInHtml, gt as encodeCSSFromRPr, h as inputRulesPlugin, ht as encodeCSSFromPPr, it as ReplaceStep, j as getMarksFromSelection, jt as Schema$1, k as getActiveFormatting, kt as Fragment$1, l as createDocFromMarkdown, lt as joinPoint, m as htmlHandler, mt as decodeRPrFromMarks, n as kebabCase$1, nt as RemoveMarkStep, o as helpers_exports, ot as canJoin, p as handleClipboardPaste, pt as generateRandomSigned32BitIntStrId, q as EditorState, r as insertNewRelationship, rt as ReplaceAroundStep$1, s as updateDOMAttributes, st as canSplit, t as SuperConverter, tt as Mapping, u as createDocFromHTML, ut as liftTarget, v as changeListLevel, vt as resolveDocxFontFamily, w as generateOrderedListIndex, wt as TrackFormatMarkName, x as calculateResolvedParagraphProperties, xt as resolveTableCellProperties, y as updateNumberingProperties, yt as resolveParagraphProperties, z as findParentNodeClosestToPos } from "./SuperConverter-0JaBYpRa.es.js";
2
+ import { $ as TextSelection$1, A as findMark, At as Mark$1, B as defaultBlockAt$1, C as docxNumberingHelpers, Ct as TrackDeleteMarkName, D as posToDOMRect, Dt as DOMParser$1, E as isInTable, Et as carbonCopy, F as isMarkActive, Ft as getExtensionConfigField, G as createDocument, H as getNodeType, I as getMarkRange, J as NodeSelection, K as AllSelection, L as isTextSelection, M as isActive, Mt as Slice, N as isNodeActive, Nt as minMax, O as findChildren$1, Ot as DOMSerializer, P as getSchemaTypeNameByName, Pt as callOrGet, Q as SelectionRange, R as findParentNode, S as getResolvedParagraphProperties, St as getUnderlineCssString, T as CommandService, Tt as TrackInsertMarkName, U as cleanSchemaItem, V as getMarkType, W as getSchemaTypeByName, X as PluginKey, Y as Plugin, Z as Selection, _ as ListHelpers, _t as encodeMarksFromRPr, a as _getReferencedTableStyles, at as Transform, b as isList, bt as resolveRunProperties, c as processContent, ct as dropPoint, d as createCellBorders, dt as replaceStep$1, et as AddMarkStep, f as InputRule, ft as generateDocxRandomId, g as unflattenListsInHtml, gt as encodeCSSFromRPr, h as inputRulesPlugin, ht as encodeCSSFromPPr, it as ReplaceStep, j as getMarksFromSelection, jt as Schema$1, k as getActiveFormatting, kt as Fragment$1, l as createDocFromMarkdown, lt as joinPoint, m as htmlHandler, mt as decodeRPrFromMarks, n as kebabCase$1, nt as RemoveMarkStep, o as helpers_exports, ot as canJoin, p as handleClipboardPaste, pt as generateRandomSigned32BitIntStrId, q as EditorState, r as insertNewRelationship, rt as ReplaceAroundStep$1, s as updateDOMAttributes, st as canSplit, t as SuperConverter, tt as Mapping, u as createDocFromHTML, ut as liftTarget, v as changeListLevel, vt as resolveDocxFontFamily, w as generateOrderedListIndex, wt as TrackFormatMarkName, x as calculateResolvedParagraphProperties, xt as resolveTableCellProperties, y as updateNumberingProperties, yt as resolveParagraphProperties, z as findParentNodeClosestToPos } from "./SuperConverter-C3KgxRJu.es.js";
3
3
  import { a as init_dist$2, i as global, n as init_dist, o as Buffer$3, r as process$1, s as init_dist$1 } from "./jszip-ChlR43oI.es.js";
4
4
  import { t as v4_default } from "./uuid-2IzDu5nl.es.js";
5
5
  import { A as resolveOpcTargetPath, E as pixelsToTwips, F as twipsToLines, I as twipsToPixels, P as twipsToInches, _ as halfPointToPoints, c as convertSizeToCSS, k as ptToTwips, p as getArrayBufferFromUrl, t as COMMENT_FILE_BASENAMES, v as inchesToPixels, x as linesToTwips, y as inchesToTwips } from "./constants-DBKi0Amm.es.js";
@@ -260,7 +260,7 @@ var v_click_outside_default = {
260
260
  var DEFAULT_ENDPOINT = "https://ingest.superdoc.dev/v1/collect";
261
261
  function getSuperdocVersion() {
262
262
  try {
263
- return "1.17.0-next.13";
263
+ return "1.17.0-next.15";
264
264
  } catch {
265
265
  return "unknown";
266
266
  }
@@ -20715,7 +20715,7 @@ const canUseDOM = () => {
20715
20715
  return false;
20716
20716
  }
20717
20717
  };
20718
- var summaryVersion = "1.17.0-next.13";
20718
+ var summaryVersion = "1.17.0-next.15";
20719
20719
  var nodeKeys = [
20720
20720
  "group",
20721
20721
  "content",
@@ -30538,7 +30538,7 @@ var Editor = class Editor extends EventEmitter$1 {
30538
30538
  return migrations.length > 0;
30539
30539
  }
30540
30540
  processCollaborationMigrations() {
30541
- console.debug("[checkVersionMigrations] Current editor version", "1.17.0-next.13");
30541
+ console.debug("[checkVersionMigrations] Current editor version", "1.17.0-next.15");
30542
30542
  if (!this.options.ydoc) return;
30543
30543
  let docVersion = this.options.ydoc.getMap("meta").get("version");
30544
30544
  if (!docVersion) docVersion = "initial";
@@ -91603,6 +91603,7 @@ var ButtonGroup_default = /* @__PURE__ */ __plugin_vue_export_helper_default({
91603
91603
  setup(__props, { emit: __emit }) {
91604
91604
  const emit = __emit;
91605
91605
  const toolbarItemRefs = ref([]);
91606
+ const buttonGroupRef = ref(null);
91606
91607
  const props = __props;
91607
91608
  const currentItem = ref(null);
91608
91609
  const { isHighContrastMode: isHighContrastMode$1 } = useHighContrastMode();
@@ -91750,12 +91751,35 @@ var ButtonGroup_default = /* @__PURE__ */ __plugin_vue_export_helper_default({
91750
91751
  if (!open) closeDropdowns();
91751
91752
  emit("dropdown-update-show", open);
91752
91753
  };
91754
+ const handleDocumentPointerDown = (event) => {
91755
+ if (!currentItem.value) return;
91756
+ const target = event.target;
91757
+ if (!(target instanceof HTMLElement)) return;
91758
+ if (target.closest(".sd-toolbar-dropdown-menu")) return;
91759
+ if (buttonGroupRef.value?.contains(target)) return;
91760
+ closeDropdowns();
91761
+ };
91762
+ const isCurrentItemExpanded = () => {
91763
+ if (!currentItem.value) return false;
91764
+ const { expand } = currentItem.value;
91765
+ if (typeof expand === "object" && expand !== null) return Boolean(expand.value);
91766
+ return Boolean(expand);
91767
+ };
91768
+ watch(isCurrentItemExpanded, (isOpen) => {
91769
+ if (isOpen) document.addEventListener("pointerdown", handleDocumentPointerDown, true);
91770
+ else document.removeEventListener("pointerdown", handleDocumentPointerDown, true);
91771
+ }, { immediate: true });
91772
+ onBeforeUnmount(() => {
91773
+ document.removeEventListener("pointerdown", handleDocumentPointerDown, true);
91774
+ });
91753
91775
  return (_ctx, _cache) => {
91754
91776
  return openBlock(), createElementBlock("div", {
91755
91777
  style: normalizeStyle(getPositionStyle.value),
91756
91778
  class: "button-group",
91757
91779
  role: "group",
91758
- onFocus: handleFocus
91780
+ onFocus: handleFocus,
91781
+ ref_key: "buttonGroupRef",
91782
+ ref: buttonGroupRef
91759
91783
  }, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.toolbarItems, (item, index) => {
91760
91784
  return openBlock(), createElementBlock("div", {
91761
91785
  key: item.id.value,
@@ -91789,7 +91813,8 @@ var ButtonGroup_default = /* @__PURE__ */ __plugin_vue_export_helper_default({
91789
91813
  style: normalizeStyle(item.dropdownStyles.value),
91790
91814
  "menu-props": () => ({
91791
91815
  role: "menu",
91792
- style: { fontFamily: props.uiFontFamily }
91816
+ style: { fontFamily: props.uiFontFamily },
91817
+ class: "sd-toolbar-dropdown-menu"
91793
91818
  }),
91794
91819
  "node-props": (option) => getDropdownAttributes(option, item)
91795
91820
  }, {
@@ -91858,7 +91883,7 @@ var ButtonGroup_default = /* @__PURE__ */ __plugin_vue_export_helper_default({
91858
91883
  }), 128))], 36);
91859
91884
  };
91860
91885
  }
91861
- }, [["__scopeId", "data-v-3d5db06f"]]);
91886
+ }, [["__scopeId", "data-v-ddc38c6d"]]);
91862
91887
  var DEFAULT_UI_FONT_FAMILY = "Arial, Helvetica, sans-serif";
91863
91888
  var Toolbar_default = /* @__PURE__ */ __plugin_vue_export_helper_default({
91864
91889
  __name: "Toolbar",
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("./rolldown-runtime-Dp2H1eGw.cjs");
2
- const require_SuperConverter = require("./SuperConverter-BgHHB-Z2.cjs");
2
+ const require_SuperConverter = require("./SuperConverter-D3VOafig.cjs");
3
3
  const require_jszip = require("./jszip-DCT9QYaK.cjs");
4
4
  const require_uuid = require("./uuid-CHj_rjgt.cjs");
5
5
  const require_constants = require("./constants-CpniKo9Z.cjs");
@@ -261,7 +261,7 @@ var DEFAULT_ENDPOINT = "https://ingest.superdoc.dev/v1/collect";
261
261
  const COMMUNITY_LICENSE_KEY = "community-and-eval-agplv3";
262
262
  function getSuperdocVersion() {
263
263
  try {
264
- return "1.17.0-next.13";
264
+ return "1.17.0-next.15";
265
265
  } catch {
266
266
  return "unknown";
267
267
  }
@@ -20734,7 +20734,7 @@ const canUseDOM = () => {
20734
20734
  return false;
20735
20735
  }
20736
20736
  };
20737
- var summaryVersion = "1.17.0-next.13";
20737
+ var summaryVersion = "1.17.0-next.15";
20738
20738
  var nodeKeys = [
20739
20739
  "group",
20740
20740
  "content",
@@ -30808,7 +30808,7 @@ var Editor = class Editor extends EventEmitter$1 {
30808
30808
  return migrations.length > 0;
30809
30809
  }
30810
30810
  processCollaborationMigrations() {
30811
- console.debug("[checkVersionMigrations] Current editor version", "1.17.0-next.13");
30811
+ console.debug("[checkVersionMigrations] Current editor version", "1.17.0-next.15");
30812
30812
  if (!this.options.ydoc) return;
30813
30813
  let docVersion = this.options.ydoc.getMap("meta").get("version");
30814
30814
  if (!docVersion) docVersion = "initial";
@@ -91982,6 +91982,7 @@ var _sfc_main$8 = {
91982
91982
  setup(__props, { emit: __emit }) {
91983
91983
  const emit = __emit;
91984
91984
  const toolbarItemRefs = require_vue.ref([]);
91985
+ const buttonGroupRef = require_vue.ref(null);
91985
91986
  const props = __props;
91986
91987
  const currentItem = require_vue.ref(null);
91987
91988
  const { isHighContrastMode: isHighContrastMode$1 } = useHighContrastMode();
@@ -92129,12 +92130,35 @@ var _sfc_main$8 = {
92129
92130
  if (!open) closeDropdowns();
92130
92131
  emit("dropdown-update-show", open);
92131
92132
  };
92133
+ const handleDocumentPointerDown = (event) => {
92134
+ if (!currentItem.value) return;
92135
+ const target = event.target;
92136
+ if (!(target instanceof HTMLElement)) return;
92137
+ if (target.closest(".sd-toolbar-dropdown-menu")) return;
92138
+ if (buttonGroupRef.value?.contains(target)) return;
92139
+ closeDropdowns();
92140
+ };
92141
+ const isCurrentItemExpanded = () => {
92142
+ if (!currentItem.value) return false;
92143
+ const { expand } = currentItem.value;
92144
+ if (typeof expand === "object" && expand !== null) return Boolean(expand.value);
92145
+ return Boolean(expand);
92146
+ };
92147
+ require_vue.watch(isCurrentItemExpanded, (isOpen) => {
92148
+ if (isOpen) document.addEventListener("pointerdown", handleDocumentPointerDown, true);
92149
+ else document.removeEventListener("pointerdown", handleDocumentPointerDown, true);
92150
+ }, { immediate: true });
92151
+ require_vue.onBeforeUnmount(() => {
92152
+ document.removeEventListener("pointerdown", handleDocumentPointerDown, true);
92153
+ });
92132
92154
  return (_ctx, _cache) => {
92133
92155
  return require_vue.openBlock(), require_vue.createElementBlock("div", {
92134
92156
  style: require_vue.normalizeStyle(getPositionStyle.value),
92135
92157
  class: "button-group",
92136
92158
  role: "group",
92137
- onFocus: handleFocus
92159
+ onFocus: handleFocus,
92160
+ ref_key: "buttonGroupRef",
92161
+ ref: buttonGroupRef
92138
92162
  }, [(require_vue.openBlock(true), require_vue.createElementBlock(require_vue.Fragment, null, require_vue.renderList(__props.toolbarItems, (item, index) => {
92139
92163
  return require_vue.openBlock(), require_vue.createElementBlock("div", {
92140
92164
  key: item.id.value,
@@ -92168,7 +92192,8 @@ var _sfc_main$8 = {
92168
92192
  style: require_vue.normalizeStyle(item.dropdownStyles.value),
92169
92193
  "menu-props": () => ({
92170
92194
  role: "menu",
92171
- style: { fontFamily: props.uiFontFamily }
92195
+ style: { fontFamily: props.uiFontFamily },
92196
+ class: "sd-toolbar-dropdown-menu"
92172
92197
  }),
92173
92198
  "node-props": (option) => getDropdownAttributes(option, item)
92174
92199
  }, {
@@ -92238,7 +92263,7 @@ var _sfc_main$8 = {
92238
92263
  };
92239
92264
  }
92240
92265
  };
92241
- var ButtonGroup_default = /* @__PURE__ */ require__plugin_vue_export_helper.__plugin_vue_export_helper_default(_sfc_main$8, [["__scopeId", "data-v-3d5db06f"]]);
92266
+ var ButtonGroup_default = /* @__PURE__ */ require__plugin_vue_export_helper.__plugin_vue_export_helper_default(_sfc_main$8, [["__scopeId", "data-v-ddc38c6d"]]);
92242
92267
  var DEFAULT_UI_FONT_FAMILY = "Arial, Helvetica, sans-serif";
92243
92268
  var _sfc_main$7 = {
92244
92269
  __name: "Toolbar",
package/dist/style.css CHANGED
@@ -1739,7 +1739,7 @@ to {
1739
1739
  border-radius: 8px !important;
1740
1740
  }
1741
1741
 
1742
- .button-group[data-v-3d5db06f] {
1742
+ .button-group[data-v-ddc38c6d] {
1743
1743
  display: flex;
1744
1744
  }
1745
1745
 
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_rolldown_runtime = require("../chunks/rolldown-runtime-Dp2H1eGw.cjs");
3
- const require_SuperConverter = require("../chunks/SuperConverter-BgHHB-Z2.cjs");
3
+ const require_SuperConverter = require("../chunks/SuperConverter-D3VOafig.cjs");
4
4
  require("../chunks/jszip-DCT9QYaK.cjs");
5
5
  require("../chunks/xml-js--DznO7Gk.cjs");
6
6
  require("../chunks/constants-CpniKo9Z.cjs");
@@ -1,4 +1,4 @@
1
- import { t as SuperConverter } from "../chunks/SuperConverter-0JaBYpRa.es.js";
1
+ import { t as SuperConverter } from "../chunks/SuperConverter-C3KgxRJu.es.js";
2
2
  import "../chunks/jszip-ChlR43oI.es.js";
3
3
  import "../chunks/xml-js-DLE8mr0n.es.js";
4
4
  import "../chunks/constants-DBKi0Amm.es.js";
@@ -4,6 +4,7 @@ declare const _default: import('vue').DefineComponent<{}, {
4
4
  readonly [x: string]: any;
5
5
  };
6
6
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
7
+ buttonGroupRef: HTMLDivElement;
7
8
  toolbarItemRefs: HTMLDivElement[];
8
9
  }, HTMLDivElement>;
9
10
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../../../super-editor/src/core/super-converter/v3/handlers/utils.js"],"names":[],"mappings":"AA2BA;;;;;;;;GAQG;AACH,yDAPW,MAAM,WACN,MAAM,GAAC,IAAI,aACX,MAAM,2DAGJ,OAAO,aAAa,EAAE,oBAAoB,CAuBtD;AAED;;;;;GAKG;AACH,4DAJW,MAAM,WACN,MAAM,GAAC,IAAI,GACT,OAAO,aAAa,EAAE,oBAAoB,CAatD;AAWD;;;;;;GAMG;AACH,2DALW,MAAM,WACN,MAAM,GAAC,IAAI,uBAET,OAAO,aAAa,EAAE,oBAAoB,CAqBtD;AAgCD;;;;;GAKG;AACH,0DAJW,MAAM,WACN,MAAM,GAAC,IAAI,GACT,OAAO,aAAa,EAAE,oBAAoB,CAqBtD;AAED;;;;;GAKG;AACH,sDAJW,MAAM,WACN,MAAM,GAAC,IAAI,GACT,OAAO,aAAa,EAAE,oBAAoB,CAoDtD;AAsCD;;;;;;GAMG;AACH,yCALW,OAAO,aAAa,EAAE,eAAe,yBACrC,MAAM,YACN,OAAO,GACL,MAAM,QAAM,CA8BxB;AAED;;;;;GAKG;AACH,yCALW,OAAO,aAAa,EAAE,eAAe,wBACrC,MAAM,eACN,MAAM,SAmBhB;AAED;;;;;;;;;GASG;AACH,+CARW,MAAM,UACN,MAAM,cACN,OAAO,aAAa,EAAE,cAAc,UACpC,OAAO,aAAa,EAAE,eAAe,QACrC,MAAM,WACN,MAAM,GACJ,MAAM,CAkBlB;AAED;;;;;;;;;GASG;AACH,+CARW,MAAM,UACN,MAAM,cACN,OAAO,aAAa,EAAE,cAAc,UACpC,OAAO,aAAa,EAAE,eAAe,SACrC,MAAM,SAkBhB;AAED;;;;;;;;GAQG;AACH,0DAPW,MAAM,UACN,MAAM,uBACN,OAAO,aAAa,EAAE,cAAc,EAAE,wBACtC,MAAM,sBACN,OAAO,aAAa,EAAE,UAAU,EAAE,GAChC,OAAO,aAAa,EAAE,oBAAoB,CAwDtD;AAED;;;;;;GAMG;AACH,0DALW,MAAM,UACN,MAAM,GAAC,IAAI,mCACX,OAAO,aAAa,EAAE,oBAAoB,EAAE,8BAC1C,OAAO,aAAa,EAAE,oBAAoB,CA6DtD;AAxfM,qDAJI,MAAM,cACN,OAAO,qBAAqB,EAAE,cAAc,GACzC,OAAO,gCAAgC,EAAE,gBAAgB,CAmBrE;AA2DK,4DAJI,MAAM,WACN,MAAM,GAAC,IAAI,GACT,OAAO,aAAa,EAAE,oBAAoB,CAGmC;AAyCnF,6CAJI,GAAG,QACH,MAAM,GAAC,SAAS,GACd,MAAM,GAAC,SAAS,CAmB5B;AA6FM,iDAJI,MAAM,WACN,MAAM,GAAC,IAAI,mDACT,OAAO,aAAa,EAAE,UAAU,CAY5C;AAQM,uDAJI,MAAM,WACN,MAAM,GAAC,IAAI,GACT,OAAO,aAAa,EAAE,UAAU,CAG2B;AAQjE,uDAJI,MAAM,WACN,MAAM,GAAC,IAAI,GACT,OAAO,aAAa,EAAE,UAAU,CAG2B;AAgQjE,oCAHI,MAAM,GACJ,OAAO,GAAC,SAAS,CAEmF;AAQ1G,uCAHI,OAAO,GACL,MAAM,GAAC,SAAS,CAE8D;AAQpF,oCAHI,GAAG,GACD,MAAM,GAAC,SAAS,CAM5B;AAQM,uCAHI,GAAG,GACD,MAAM,GAAC,SAAS,CAK5B"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../../../super-editor/src/core/super-converter/v3/handlers/utils.js"],"names":[],"mappings":"AA2BA;;;;;;;;GAQG;AACH,yDAPW,MAAM,WACN,MAAM,GAAC,IAAI,aACX,MAAM,2DAGJ,OAAO,aAAa,EAAE,oBAAoB,CAuBtD;AAED;;;;;GAKG;AACH,4DAJW,MAAM,WACN,MAAM,GAAC,IAAI,GACT,OAAO,aAAa,EAAE,oBAAoB,CAatD;AAWD;;;;;;GAMG;AACH,2DALW,MAAM,WACN,MAAM,GAAC,IAAI,uBAET,OAAO,aAAa,EAAE,oBAAoB,CAqBtD;AAgCD;;;;;GAKG;AACH,0DAJW,MAAM,WACN,MAAM,GAAC,IAAI,GACT,OAAO,aAAa,EAAE,oBAAoB,CAqBtD;AAED;;;;;GAKG;AACH,sDAJW,MAAM,WACN,MAAM,GAAC,IAAI,GACT,OAAO,aAAa,EAAE,oBAAoB,CAoDtD;AAsCD;;;;;;GAMG;AACH,yCALW,OAAO,aAAa,EAAE,eAAe,yBACrC,MAAM,YACN,OAAO,GACL,MAAM,QAAM,CA8BxB;AAED;;;;;GAKG;AACH,yCALW,OAAO,aAAa,EAAE,eAAe,wBACrC,MAAM,eACN,MAAM,SAqBhB;AAED;;;;;;;;;GASG;AACH,+CARW,MAAM,UACN,MAAM,cACN,OAAO,aAAa,EAAE,cAAc,UACpC,OAAO,aAAa,EAAE,eAAe,QACrC,MAAM,WACN,MAAM,GACJ,MAAM,CAkBlB;AAED;;;;;;;;;GASG;AACH,+CARW,MAAM,UACN,MAAM,cACN,OAAO,aAAa,EAAE,cAAc,UACpC,OAAO,aAAa,EAAE,eAAe,SACrC,MAAM,SAkBhB;AAED;;;;;;;;GAQG;AACH,0DAPW,MAAM,UACN,MAAM,uBACN,OAAO,aAAa,EAAE,cAAc,EAAE,wBACtC,MAAM,sBACN,OAAO,aAAa,EAAE,UAAU,EAAE,GAChC,OAAO,aAAa,EAAE,oBAAoB,CAwDtD;AAED;;;;;;GAMG;AACH,0DALW,MAAM,UACN,MAAM,GAAC,IAAI,mCACX,OAAO,aAAa,EAAE,oBAAoB,EAAE,8BAC1C,OAAO,aAAa,EAAE,oBAAoB,CA6DtD;AA1fM,qDAJI,MAAM,cACN,OAAO,qBAAqB,EAAE,cAAc,GACzC,OAAO,gCAAgC,EAAE,gBAAgB,CAmBrE;AA2DK,4DAJI,MAAM,WACN,MAAM,GAAC,IAAI,GACT,OAAO,aAAa,EAAE,oBAAoB,CAGmC;AAyCnF,6CAJI,GAAG,QACH,MAAM,GAAC,SAAS,GACd,MAAM,GAAC,SAAS,CAmB5B;AA6FM,iDAJI,MAAM,WACN,MAAM,GAAC,IAAI,mDACT,OAAO,aAAa,EAAE,UAAU,CAY5C;AAQM,uDAJI,MAAM,WACN,MAAM,GAAC,IAAI,GACT,OAAO,aAAa,EAAE,UAAU,CAG2B;AAQjE,uDAJI,MAAM,WACN,MAAM,GAAC,IAAI,GACT,OAAO,aAAa,EAAE,UAAU,CAG2B;AAkQjE,oCAHI,MAAM,GACJ,OAAO,GAAC,SAAS,CAEmF;AAQ1G,uCAHI,OAAO,GACL,MAAM,GAAC,SAAS,CAE8D;AAQpF,oCAHI,GAAG,GACD,MAAM,GAAC,SAAS,CAM5B;AAQM,uCAHI,GAAG,GACD,MAAM,GAAC,SAAS,CAK5B"}
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_rolldown_runtime = require("./chunks/rolldown-runtime-Dp2H1eGw.cjs");
3
- const require_src = require("./chunks/src-ByCDwKn7.cjs");
4
- const require_SuperConverter = require("./chunks/SuperConverter-BgHHB-Z2.cjs");
3
+ const require_src = require("./chunks/src-CzUOID1E.cjs");
4
+ const require_SuperConverter = require("./chunks/SuperConverter-D3VOafig.cjs");
5
5
  require("./chunks/jszip-DCT9QYaK.cjs");
6
6
  require("./chunks/xml-js--DznO7Gk.cjs");
7
7
  require("./chunks/constants-CpniKo9Z.cjs");
@@ -1,5 +1,5 @@
1
- import { $ as getAllowedImageDimensions, Bt as defineNode, Ht as assertNodeType, Q as trackChangesHelpers_exports, Ut as isNodeType, Vt as isMarkType, X as getRichTextExtensions, Y as AIWriter_default, Z as getStarterExtensions, a as BasicUpload_default, at as CommentsPluginKey, c as Toolbar_default, et as SectionHelpers, i as SuperEditor_default, it as AnnotatorHelpers, n as SlashMenu, nt as Editor, o as ContextMenu_default, ot as createOrUpdateTrackedChangeComment, r as SuperInput_default, rt as fieldAnnotationHelpers_exports, s as SuperToolbar, st as TrackChangesBasePluginKey, t as Extensions, tt as PresentationEditor, zt as defineMark } from "./chunks/src-C52EYA_H.es.js";
2
- import { i as registeredHandlers, j as getMarksFromSelection, k as getActiveFormatting, o as helpers_exports, t as SuperConverter } from "./chunks/SuperConverter-0JaBYpRa.es.js";
1
+ import { $ as getAllowedImageDimensions, Bt as defineNode, Ht as assertNodeType, Q as trackChangesHelpers_exports, Ut as isNodeType, Vt as isMarkType, X as getRichTextExtensions, Y as AIWriter_default, Z as getStarterExtensions, a as BasicUpload_default, at as CommentsPluginKey, c as Toolbar_default, et as SectionHelpers, i as SuperEditor_default, it as AnnotatorHelpers, n as SlashMenu, nt as Editor, o as ContextMenu_default, ot as createOrUpdateTrackedChangeComment, r as SuperInput_default, rt as fieldAnnotationHelpers_exports, s as SuperToolbar, st as TrackChangesBasePluginKey, t as Extensions, tt as PresentationEditor, zt as defineMark } from "./chunks/src-BuZ1BaGU.es.js";
2
+ import { i as registeredHandlers, j as getMarksFromSelection, k as getActiveFormatting, o as helpers_exports, t as SuperConverter } from "./chunks/SuperConverter-C3KgxRJu.es.js";
3
3
  import "./chunks/jszip-ChlR43oI.es.js";
4
4
  import "./chunks/xml-js-DLE8mr0n.es.js";
5
5
  import "./chunks/constants-DBKi0Amm.es.js";
package/dist/superdoc.cjs CHANGED
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_rolldown_runtime = require("./chunks/rolldown-runtime-Dp2H1eGw.cjs");
3
- const require_src = require("./chunks/src-ByCDwKn7.cjs");
4
- const require_SuperConverter = require("./chunks/SuperConverter-BgHHB-Z2.cjs");
3
+ const require_src = require("./chunks/src-CzUOID1E.cjs");
4
+ const require_SuperConverter = require("./chunks/SuperConverter-D3VOafig.cjs");
5
5
  const require_jszip = require("./chunks/jszip-DCT9QYaK.cjs");
6
6
  require("./chunks/xml-js--DznO7Gk.cjs");
7
7
  const require_uuid = require("./chunks/uuid-CHj_rjgt.cjs");
@@ -20022,7 +20022,7 @@ var SuperDoc = class extends require_eventemitter3.import_eventemitter3.default
20022
20022
  this.config.colors = shuffleArray(this.config.colors);
20023
20023
  this.userColorMap = /* @__PURE__ */ new Map();
20024
20024
  this.colorIndex = 0;
20025
- this.version = "1.17.0-next.13";
20025
+ this.version = "1.17.0-next.15";
20026
20026
  this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
20027
20027
  this.superdocId = config.superdocId || require_uuid.v4_default();
20028
20028
  this.colors = this.config.colors;
@@ -1,5 +1,5 @@
1
- import { A as isMounted, At as toUint8Array, B as cNotM, C as resolveWrappedSlot, Ct as getUnixTime, D as warnOnce, Dt as readVarUint8Array, E as throwError, Et as readVarUint, F as changeColor, Ft as pow, G as ellipsis_vertical_solid_default, H as insideModal, I as c, It as v_click_outside_default, J as comment_solid_default, K as xmark_solid_default, L as cB, Lt as getFileObject, M as use_memo_default, Mt as writeVarUint8Array, N as on, Nt as create, O as useSsrAdapter, Ot as createEncoder, P as createId, Pt as min, Q as trackChangesHelpers_exports, R as cE, Rt as comments_module_events, S as configProviderInjectionKey, St as setIfUndefined, T as call, Tt as readVarString, U as insidePopover, V as createKey, W as caret_down_solid_default, X as getRichTextExtensions, Y as AIWriter_default, Z as getStarterExtensions, _ as useRtl, _t as applyAwarenessUpdate, at as CommentsPluginKey, b as useThemeClass, bt as map, ct as getTrackChanges, d as Dropdown_default, dt as toBase64, et as SectionHelpers, f as ConfigProvider_default, ft as isNode, g as _common_default$2, gt as Awareness, h as index_cssr_default$5, ht as varStorage, i as SuperEditor_default, it as AnnotatorHelpers, j as useMergedState, jt as writeVarUint, k as createInjectionKey, kt as length, l as messageApiInjectionKey, lt as createUint8ArrayFromArrayBuffer, m as use_theme_default, mt as onChange, nt as Editor, ot as createOrUpdateTrackedChangeComment, p as light_default$1, pt as offChange, q as check_solid_default, r as SuperInput_default, rt as fieldAnnotationHelpers_exports, s as SuperToolbar, t as Extensions, tt as PresentationEditor, u as messageProviderInjectionKey, ut as fromBase64, v as cssrAnchorMetaName, vt as encodeAwarenessUpdate, w as render, wt as createDecoder, x as useConfig, xt as ObservableV2, y as toString_default, yt as removeAwarenessStates, z as cM } from "./chunks/src-C52EYA_H.es.js";
2
- import { i as registeredHandlers, o as helpers_exports, t as SuperConverter } from "./chunks/SuperConverter-0JaBYpRa.es.js";
1
+ import { A as isMounted, At as toUint8Array, B as cNotM, C as resolveWrappedSlot, Ct as getUnixTime, D as warnOnce, Dt as readVarUint8Array, E as throwError, Et as readVarUint, F as changeColor, Ft as pow, G as ellipsis_vertical_solid_default, H as insideModal, I as c, It as v_click_outside_default, J as comment_solid_default, K as xmark_solid_default, L as cB, Lt as getFileObject, M as use_memo_default, Mt as writeVarUint8Array, N as on, Nt as create, O as useSsrAdapter, Ot as createEncoder, P as createId, Pt as min, Q as trackChangesHelpers_exports, R as cE, Rt as comments_module_events, S as configProviderInjectionKey, St as setIfUndefined, T as call, Tt as readVarString, U as insidePopover, V as createKey, W as caret_down_solid_default, X as getRichTextExtensions, Y as AIWriter_default, Z as getStarterExtensions, _ as useRtl, _t as applyAwarenessUpdate, at as CommentsPluginKey, b as useThemeClass, bt as map, ct as getTrackChanges, d as Dropdown_default, dt as toBase64, et as SectionHelpers, f as ConfigProvider_default, ft as isNode, g as _common_default$2, gt as Awareness, h as index_cssr_default$5, ht as varStorage, i as SuperEditor_default, it as AnnotatorHelpers, j as useMergedState, jt as writeVarUint, k as createInjectionKey, kt as length, l as messageApiInjectionKey, lt as createUint8ArrayFromArrayBuffer, m as use_theme_default, mt as onChange, nt as Editor, ot as createOrUpdateTrackedChangeComment, p as light_default$1, pt as offChange, q as check_solid_default, r as SuperInput_default, rt as fieldAnnotationHelpers_exports, s as SuperToolbar, t as Extensions, tt as PresentationEditor, u as messageProviderInjectionKey, ut as fromBase64, v as cssrAnchorMetaName, vt as encodeAwarenessUpdate, w as render, wt as createDecoder, x as useConfig, xt as ObservableV2, y as toString_default, yt as removeAwarenessStates, z as cM } from "./chunks/src-BuZ1BaGU.es.js";
2
+ import { i as registeredHandlers, o as helpers_exports, t as SuperConverter } from "./chunks/SuperConverter-C3KgxRJu.es.js";
3
3
  import { a as init_dist$1, i as global, n as init_dist, r as process$1 } from "./chunks/jszip-ChlR43oI.es.js";
4
4
  import "./chunks/xml-js-DLE8mr0n.es.js";
5
5
  import { t as v4_default } from "./chunks/uuid-2IzDu5nl.es.js";
@@ -19981,7 +19981,7 @@ var SuperDoc = class extends import_eventemitter3.default {
19981
19981
  this.config.colors = shuffleArray(this.config.colors);
19982
19982
  this.userColorMap = /* @__PURE__ */ new Map();
19983
19983
  this.colorIndex = 0;
19984
- this.version = "1.17.0-next.13";
19984
+ this.version = "1.17.0-next.15";
19985
19985
  this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
19986
19986
  this.superdocId = config.superdocId || v4_default();
19987
19987
  this.colors = this.config.colors;
@@ -7194,7 +7194,7 @@
7194
7194
  node: { attrs: { [key$1]: properties[key$1] } }
7195
7195
  });
7196
7196
  if (result != null) {
7197
- result.name = translator$202.xmlName;
7197
+ if (result.name == null) result.name = translator$202.xmlName;
7198
7198
  elements.push(result);
7199
7199
  }
7200
7200
  }
@@ -33326,7 +33326,7 @@ Please report this to https://github.com/markedjs/marked.`, e) {
33326
33326
  var DEFAULT_ENDPOINT = "https://ingest.superdoc.dev/v1/collect";
33327
33327
  function getSuperdocVersion() {
33328
33328
  try {
33329
- return "1.17.0-next.13";
33329
+ return "1.17.0-next.15";
33330
33330
  } catch {
33331
33331
  return "unknown";
33332
33332
  }
@@ -36378,7 +36378,7 @@ Please report this to https://github.com/markedjs/marked.`, e) {
36378
36378
  static getStoredSuperdocVersion(docx) {
36379
36379
  return SuperConverter.getStoredCustomProperty(docx, "SuperdocVersion");
36380
36380
  }
36381
- static setStoredSuperdocVersion(docx = this.convertedXml, version$2 = "1.17.0-next.13") {
36381
+ static setStoredSuperdocVersion(docx = this.convertedXml, version$2 = "1.17.0-next.15") {
36382
36382
  return SuperConverter.setStoredCustomProperty(docx, "SuperdocVersion", version$2, false);
36383
36383
  }
36384
36384
  static generateWordTimestamp() {
@@ -65760,7 +65760,7 @@ while (n$2 === a$3[++i$3] && n$2 === a$3[++i$3] && n$2 === a$3[++i$3] && n$2 ===
65760
65760
  return false;
65761
65761
  }
65762
65762
  };
65763
- var summaryVersion = "1.17.0-next.13";
65763
+ var summaryVersion = "1.17.0-next.15";
65764
65764
  var nodeKeys = [
65765
65765
  "group",
65766
65766
  "content",
@@ -92963,7 +92963,7 @@ while (n$2 === a$3[++i$3] && n$2 === a$3[++i$3] && n$2 === a$3[++i$3] && n$2 ===
92963
92963
  return migrations.length > 0;
92964
92964
  }
92965
92965
  processCollaborationMigrations() {
92966
- console.debug("[checkVersionMigrations] Current editor version", "1.17.0-next.13");
92966
+ console.debug("[checkVersionMigrations] Current editor version", "1.17.0-next.15");
92967
92967
  if (!this.options.ydoc) return;
92968
92968
  let docVersion = this.options.ydoc.getMap("meta").get("version");
92969
92969
  if (!docVersion) docVersion = "initial";
@@ -155594,6 +155594,7 @@ ${o}
155594
155594
  setup(__props, { emit: __emit }) {
155595
155595
  const emit$1 = __emit;
155596
155596
  const toolbarItemRefs = ref([]);
155597
+ const buttonGroupRef = ref(null);
155597
155598
  const props = __props;
155598
155599
  const currentItem = ref(null);
155599
155600
  const { isHighContrastMode: isHighContrastMode$2 } = useHighContrastMode$1();
@@ -155741,12 +155742,35 @@ ${o}
155741
155742
  if (!open$1) closeDropdowns();
155742
155743
  emit$1("dropdown-update-show", open$1);
155743
155744
  };
155745
+ const handleDocumentPointerDown = (event) => {
155746
+ if (!currentItem.value) return;
155747
+ const target = event.target;
155748
+ if (!(target instanceof HTMLElement)) return;
155749
+ if (target.closest(".sd-toolbar-dropdown-menu")) return;
155750
+ if (buttonGroupRef.value?.contains(target)) return;
155751
+ closeDropdowns();
155752
+ };
155753
+ const isCurrentItemExpanded = () => {
155754
+ if (!currentItem.value) return false;
155755
+ const { expand } = currentItem.value;
155756
+ if (typeof expand === "object" && expand !== null) return Boolean(expand.value);
155757
+ return Boolean(expand);
155758
+ };
155759
+ watch(isCurrentItemExpanded, (isOpen) => {
155760
+ if (isOpen) document.addEventListener("pointerdown", handleDocumentPointerDown, true);
155761
+ else document.removeEventListener("pointerdown", handleDocumentPointerDown, true);
155762
+ }, { immediate: true });
155763
+ onBeforeUnmount(() => {
155764
+ document.removeEventListener("pointerdown", handleDocumentPointerDown, true);
155765
+ });
155744
155766
  return (_ctx, _cache) => {
155745
155767
  return openBlock(), createElementBlock("div", {
155746
155768
  style: normalizeStyle(getPositionStyle.value),
155747
155769
  class: "button-group",
155748
155770
  role: "group",
155749
- onFocus: handleFocus
155771
+ onFocus: handleFocus,
155772
+ ref_key: "buttonGroupRef",
155773
+ ref: buttonGroupRef
155750
155774
  }, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.toolbarItems, (item, index$1) => {
155751
155775
  return openBlock(), createElementBlock("div", {
155752
155776
  key: item.id.value,
@@ -155780,7 +155804,8 @@ ${o}
155780
155804
  style: normalizeStyle(item.dropdownStyles.value),
155781
155805
  "menu-props": () => ({
155782
155806
  role: "menu",
155783
- style: { fontFamily: props.uiFontFamily }
155807
+ style: { fontFamily: props.uiFontFamily },
155808
+ class: "sd-toolbar-dropdown-menu"
155784
155809
  }),
155785
155810
  "node-props": (option) => getDropdownAttributes(option, item)
155786
155811
  }, {
@@ -155850,7 +155875,7 @@ ${o}
155850
155875
  };
155851
155876
  }
155852
155877
  };
155853
- var ButtonGroup_default = /* @__PURE__ */ __plugin_vue_export_helper_default(_sfc_main$30, [["__scopeId", "data-v-3d5db06f"]]);
155878
+ var ButtonGroup_default = /* @__PURE__ */ __plugin_vue_export_helper_default(_sfc_main$30, [["__scopeId", "data-v-ddc38c6d"]]);
155854
155879
  init_vue_runtime_esm_bundler();
155855
155880
  init___plugin_vue_export_helper();
155856
155881
  var DEFAULT_UI_FONT_FAMILY$1 = "Arial, Helvetica, sans-serif";
@@ -178191,7 +178216,7 @@ js: import "konva/skia-backend";
178191
178216
  this.config.colors = shuffleArray(this.config.colors);
178192
178217
  this.userColorMap = /* @__PURE__ */ new Map();
178193
178218
  this.colorIndex = 0;
178194
- this.version = "1.17.0-next.13";
178219
+ this.version = "1.17.0-next.15";
178195
178220
  this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
178196
178221
  this.superdocId = config$31.superdocId || v4_default();
178197
178222
  this.colors = this.config.colors;