@harbour-enterprises/superdoc 1.3.0-next.9 → 1.3.0

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.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
- const index = require("./index-CqzJ4gdV.cjs");
3
- require("./SuperConverter-BuhT_Z5G.cjs");
2
+ const index = require("./index-CL5NVKmk.cjs");
3
+ require("./SuperConverter-BJ-tba6U.cjs");
4
4
  const blankDocx = require("./blank-docx-DfW3Eeh2.cjs");
5
5
  const eventemitter3 = require("./eventemitter3-BQuRcMPI.cjs");
6
6
  const provider = require("@hocuspocus/provider");
@@ -7465,7 +7465,7 @@ const _sfc_main = {
7465
7465
  __name: "SuperDoc",
7466
7466
  emits: ["selection-update"],
7467
7467
  setup(__props, { emit: __emit }) {
7468
- const PdfViewer = vue.defineAsyncComponent(() => Promise.resolve().then(() => require("./PdfViewer-D5wFkJWQ.cjs")));
7468
+ const PdfViewer = vue.defineAsyncComponent(() => Promise.resolve().then(() => require("./PdfViewer-DnMzmTRw.cjs")));
7469
7469
  const superdocStore = useSuperdocStore();
7470
7470
  const commentsStore = useCommentsStore();
7471
7471
  const {
@@ -7506,6 +7506,7 @@ const _sfc_main = {
7506
7506
  commentsStore.proxy = proxy;
7507
7507
  const { isHighContrastMode: isHighContrastMode2 } = useHighContrastMode();
7508
7508
  const { uiFontFamily } = useUiFontFamily();
7509
+ const isViewingMode = () => proxy?.$superdoc?.config?.documentMode === "viewing";
7509
7510
  const commentsModuleConfig = vue.computed(() => {
7510
7511
  const config = modules.comments;
7511
7512
  if (config === false || config == null) return null;
@@ -7600,6 +7601,10 @@ const _sfc_main = {
7600
7601
  const commentsConfig = proxy.$superdoc.config.modules?.comments;
7601
7602
  if (!commentsConfig || commentsConfig === false) return;
7602
7603
  if (!positions || Object.keys(positions).length === 0) return;
7604
+ if (isViewingMode()) {
7605
+ commentsStore.clearEditorCommentPositions?.();
7606
+ return;
7607
+ }
7603
7608
  const mappedPositions = presentationEditor.getCommentBounds(positions, layers.value);
7604
7609
  handleEditorLocationsUpdate(mappedPositions);
7605
7610
  });
@@ -7619,6 +7624,13 @@ const _sfc_main = {
7619
7624
  const onEditorSelectionChange = ({ editor, transaction }) => {
7620
7625
  if (skipSelectionUpdate.value) {
7621
7626
  skipSelectionUpdate.value = false;
7627
+ if (isViewingMode()) {
7628
+ resetSelection();
7629
+ }
7630
+ return;
7631
+ }
7632
+ if (isViewingMode()) {
7633
+ resetSelection();
7622
7634
  return;
7623
7635
  }
7624
7636
  const { documentId } = editor.options;
@@ -7797,6 +7809,10 @@ const _sfc_main = {
7797
7809
  const onEditorCommentLocationsUpdate = (doc, { allCommentIds: activeThreadId, allCommentPositions } = {}) => {
7798
7810
  const commentsConfig = proxy.$superdoc.config.modules?.comments;
7799
7811
  if (!commentsConfig || commentsConfig === false) return;
7812
+ if (isViewingMode()) {
7813
+ commentsStore.clearEditorCommentPositions?.();
7814
+ return;
7815
+ }
7800
7816
  const presentation = index.PresentationEditor.getInstance(doc.id);
7801
7817
  if (!presentation) {
7802
7818
  handleEditorLocationsUpdate(allCommentPositions, activeThreadId);
@@ -7852,11 +7868,12 @@ const _sfc_main = {
7852
7868
  };
7853
7869
  const isCommentsEnabled = vue.computed(() => Boolean(commentsModuleConfig.value));
7854
7870
  const showCommentsSidebar = vue.computed(() => {
7871
+ if (isViewingMode()) return false;
7855
7872
  return pendingComment.value || getFloatingComments.value?.length > 0 && isReady.value && layers.value && isCommentsEnabled.value && !isCommentsListVisible.value;
7856
7873
  });
7857
7874
  const showToolsFloatingMenu = vue.computed(() => {
7858
7875
  if (!isCommentsEnabled.value) return false;
7859
- return toolsMenuPosition.top && !getConfig.value?.readOnly;
7876
+ return selectionPosition.value && toolsMenuPosition.top && !getConfig.value?.readOnly;
7860
7877
  });
7861
7878
  vue.computed(() => {
7862
7879
  if (!isCommentsEnabled.value) return false;
@@ -7904,6 +7921,10 @@ const _sfc_main = {
7904
7921
  return style2;
7905
7922
  });
7906
7923
  const handleSelectionChange = (selection) => {
7924
+ if (isViewingMode()) {
7925
+ resetSelection();
7926
+ return;
7927
+ }
7907
7928
  if (!selection.selectionBounds || !isCommentsEnabled.value) return;
7908
7929
  resetSelection();
7909
7930
  const isMobileView = window.matchMedia("(max-width: 768px)").matches;
@@ -7929,12 +7950,14 @@ const _sfc_main = {
7929
7950
  };
7930
7951
  const resetSelection = () => {
7931
7952
  selectionPosition.value = null;
7953
+ toolsMenuPosition.top = null;
7932
7954
  };
7933
7955
  const updateSelection = ({ startX, startY, x, y, source }) => {
7934
7956
  const hasStartCoords = typeof startX === "number" || typeof startY === "number";
7935
7957
  const hasEndCoords = typeof x === "number" || typeof y === "number";
7936
7958
  if (!hasStartCoords && !hasEndCoords) {
7937
- return selectionPosition.value = null;
7959
+ resetSelection();
7960
+ return;
7938
7961
  }
7939
7962
  if (!selectionPosition.value) {
7940
7963
  if (startY == null || startX == null) return;
@@ -8187,7 +8210,7 @@ const _sfc_main = {
8187
8210
  };
8188
8211
  }
8189
8212
  };
8190
- const App = /* @__PURE__ */ index._export_sfc(_sfc_main, [["__scopeId", "data-v-1e96f708"]]);
8213
+ const App = /* @__PURE__ */ index._export_sfc(_sfc_main, [["__scopeId", "data-v-5196811d"]]);
8191
8214
  const createSuperdocVueApp = () => {
8192
8215
  const app = vue.createApp(App);
8193
8216
  const pinia = createPinia();
@@ -8371,7 +8394,7 @@ class SuperDoc extends eventemitter3.EventEmitter {
8371
8394
  this.config.colors = shuffleArray(this.config.colors);
8372
8395
  this.userColorMap = /* @__PURE__ */ new Map();
8373
8396
  this.colorIndex = 0;
8374
- this.version = "1.3.0-next.9";
8397
+ this.version = "1.3.0";
8375
8398
  this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
8376
8399
  this.superdocId = config.superdocId || uuid.v4();
8377
8400
  this.colors = this.config.colors;
package/dist/style.css CHANGED
@@ -1796,7 +1796,7 @@ to {
1796
1796
  align-items: center;
1797
1797
  margin-right: 10px;
1798
1798
  }
1799
- .slash-menu-item-icon svg {
1799
+ .slash-menu .slash-menu-item-icon svg {
1800
1800
  height: 12px;
1801
1801
  width: 12px;
1802
1802
  }
@@ -1978,10 +1978,10 @@ to {
1978
1978
  box-shadow: 0 0 4px rgba(74, 144, 226, 0.5);
1979
1979
  }
1980
1980
 
1981
- .editor-element[data-v-8dd4cf59] {
1981
+ .editor-element[data-v-f5c4f915] {
1982
1982
  position: relative;
1983
1983
  }
1984
- .super-editor-container[data-v-8dd4cf59] {
1984
+ .super-editor-container[data-v-f5c4f915] {
1985
1985
  width: auto;
1986
1986
  height: auto;
1987
1987
  /* min-width is controlled via inline style (containerStyle) to scale with zoom */
@@ -1990,14 +1990,20 @@ to {
1990
1990
  display: flex;
1991
1991
  flex-direction: column;
1992
1992
  }
1993
- .ruler[data-v-8dd4cf59] {
1993
+ .ruler-host[data-v-f5c4f915] {
1994
+ display: flex;
1995
+ justify-content: center;
1996
+ width: 100%;
1997
+ box-sizing: border-box;
1998
+ }
1999
+ .ruler[data-v-f5c4f915] {
1994
2000
  margin-bottom: 2px;
1995
2001
  }
1996
- .super-editor[data-v-8dd4cf59] {
2002
+ .super-editor[data-v-f5c4f915] {
1997
2003
  color: initial;
1998
2004
  overflow: hidden;
1999
2005
  }
2000
- .placeholder-editor[data-v-8dd4cf59] {
2006
+ .placeholder-editor[data-v-f5c4f915] {
2001
2007
  position: absolute;
2002
2008
  top: 0;
2003
2009
  left: 0;
@@ -2009,7 +2015,7 @@ to {
2009
2015
  background-color: white;
2010
2016
  box-sizing: border-box;
2011
2017
  }
2012
- .placeholder-title[data-v-8dd4cf59] {
2018
+ .placeholder-title[data-v-f5c4f915] {
2013
2019
  display: flex;
2014
2020
  justify-content: center;
2015
2021
  margin-bottom: 40px;
@@ -2553,46 +2559,46 @@ img[data-v-7dd69850] {
2553
2559
  display: none;
2554
2560
  }
2555
2561
 
2556
- .superdoc[data-v-1e96f708] {
2562
+ .superdoc[data-v-5196811d] {
2557
2563
  display: flex;
2558
2564
  }
2559
- .right-sidebar[data-v-1e96f708] {
2565
+ .right-sidebar[data-v-5196811d] {
2560
2566
  min-width: 320px;
2561
2567
  }
2562
- .floating-comments[data-v-1e96f708] {
2568
+ .floating-comments[data-v-5196811d] {
2563
2569
  min-width: 300px;
2564
2570
  width: 300px;
2565
2571
  }
2566
- .superdoc__layers[data-v-1e96f708] {
2572
+ .superdoc__layers[data-v-5196811d] {
2567
2573
  height: 100%;
2568
2574
  position: relative;
2569
2575
  box-sizing: border-box;
2570
2576
  }
2571
- .superdoc__document[data-v-1e96f708] {
2577
+ .superdoc__document[data-v-5196811d] {
2572
2578
  width: 100%;
2573
2579
  position: relative;
2574
2580
  }
2575
- .superdoc__sub-document[data-v-1e96f708] {
2581
+ .superdoc__sub-document[data-v-5196811d] {
2576
2582
  width: 100%;
2577
2583
  position: relative;
2578
2584
  }
2579
- .superdoc__selection-layer[data-v-1e96f708] {
2585
+ .superdoc__selection-layer[data-v-5196811d] {
2580
2586
  position: absolute;
2581
2587
  min-width: 100%;
2582
2588
  min-height: 100%;
2583
2589
  z-index: 10;
2584
2590
  pointer-events: none;
2585
2591
  }
2586
- .superdoc__temp-selection[data-v-1e96f708] {
2592
+ .superdoc__temp-selection[data-v-5196811d] {
2587
2593
  position: absolute;
2588
2594
  }
2589
- .superdoc__comments-layer[data-v-1e96f708] {
2595
+ .superdoc__comments-layer[data-v-5196811d] {
2590
2596
  /* position: absolute; */
2591
2597
  top: 0;
2592
2598
  height: 100%;
2593
2599
  position: relative;
2594
2600
  }
2595
- .superdoc__right-sidebar[data-v-1e96f708] {
2601
+ .superdoc__right-sidebar[data-v-5196811d] {
2596
2602
  width: 320px;
2597
2603
  min-width: 320px;
2598
2604
  padding: 0 10px;
@@ -2602,14 +2608,14 @@ img[data-v-7dd69850] {
2602
2608
  }
2603
2609
 
2604
2610
  /* Tools styles */
2605
- .tools[data-v-1e96f708] {
2611
+ .tools[data-v-5196811d] {
2606
2612
  position: absolute;
2607
2613
  z-index: 3;
2608
2614
  display: flex;
2609
2615
  flex-direction: column;
2610
2616
  gap: 6px;
2611
2617
  }
2612
- .tools .tool-icon[data-v-1e96f708] {
2618
+ .tools .tool-icon[data-v-5196811d] {
2613
2619
  font-size: 20px;
2614
2620
  border-radius: 12px;
2615
2621
  border: none;
@@ -2617,7 +2623,7 @@ img[data-v-7dd69850] {
2617
2623
  background-color: #dbdbdb;
2618
2624
  cursor: pointer;
2619
2625
  }
2620
- .tools-item[data-v-1e96f708] {
2626
+ .tools-item[data-v-5196811d] {
2621
2627
  display: flex;
2622
2628
  align-items: center;
2623
2629
  justify-content: center;
@@ -2627,10 +2633,10 @@ img[data-v-7dd69850] {
2627
2633
  border-radius: 12px;
2628
2634
  cursor: pointer;
2629
2635
  }
2630
- .tools-item i[data-v-1e96f708] {
2636
+ .tools-item i[data-v-5196811d] {
2631
2637
  cursor: pointer;
2632
2638
  }
2633
- .superdoc__tools-icon[data-v-1e96f708] {
2639
+ .superdoc__tools-icon[data-v-5196811d] {
2634
2640
  width: 20px;
2635
2641
  height: 20px;
2636
2642
  flex-shrink: 0;
@@ -2645,15 +2651,15 @@ img[data-v-7dd69850] {
2645
2651
 
2646
2652
  /* 834px is iPad screen size in portrait orientation */
2647
2653
  @media (max-width: 834px) {
2648
- .superdoc .superdoc__layers[data-v-1e96f708] {
2654
+ .superdoc .superdoc__layers[data-v-5196811d] {
2649
2655
  margin: 0;
2650
2656
  border: 0 !important;
2651
2657
  box-shadow: none;
2652
2658
  }
2653
- .superdoc__sub-document[data-v-1e96f708] {
2659
+ .superdoc__sub-document[data-v-5196811d] {
2654
2660
  max-width: 100%;
2655
2661
  }
2656
- .superdoc__right-sidebar[data-v-1e96f708] {
2662
+ .superdoc__right-sidebar[data-v-5196811d] {
2657
2663
  padding: 10px;
2658
2664
  width: 55px;
2659
2665
  position: relative;
@@ -2661,7 +2667,7 @@ img[data-v-7dd69850] {
2661
2667
  }
2662
2668
 
2663
2669
  /* AI Writer styles */
2664
- .ai-writer-container[data-v-1e96f708] {
2670
+ .ai-writer-container[data-v-5196811d] {
2665
2671
  position: fixed;
2666
2672
  z-index: 1000;
2667
2673
  background: white;
@@ -2679,13 +2685,13 @@ img[data-v-7dd69850] {
2679
2685
  } */
2680
2686
 
2681
2687
  /* Tools styles */
2682
- .tools[data-v-1e96f708] {
2688
+ .tools[data-v-5196811d] {
2683
2689
  position: absolute;
2684
2690
  z-index: 3;
2685
2691
  display: flex;
2686
2692
  gap: 6px;
2687
2693
  }
2688
- .tools .tool-icon[data-v-1e96f708] {
2694
+ .tools .tool-icon[data-v-5196811d] {
2689
2695
  font-size: 20px;
2690
2696
  border-radius: 12px;
2691
2697
  border: none;
@@ -2693,7 +2699,7 @@ img[data-v-7dd69850] {
2693
2699
  background-color: #dbdbdb;
2694
2700
  cursor: pointer;
2695
2701
  }
2696
- .tools-item[data-v-1e96f708] {
2702
+ .tools-item[data-v-5196811d] {
2697
2703
  display: flex;
2698
2704
  align-items: center;
2699
2705
  justify-content: center;
@@ -2704,18 +2710,18 @@ img[data-v-7dd69850] {
2704
2710
  border-radius: 12px;
2705
2711
  cursor: pointer;
2706
2712
  }
2707
- .tools-item i[data-v-1e96f708] {
2713
+ .tools-item i[data-v-5196811d] {
2708
2714
  cursor: pointer;
2709
2715
  }
2710
- .superdoc__tools-icon[data-v-1e96f708] {
2716
+ .superdoc__tools-icon[data-v-5196811d] {
2711
2717
  width: 20px;
2712
2718
  height: 20px;
2713
2719
  flex-shrink: 0;
2714
2720
  }
2715
- .ai-tool > svg[data-v-1e96f708] {
2721
+ .ai-tool > svg[data-v-5196811d] {
2716
2722
  fill: transparent;
2717
2723
  }
2718
- .ai-tool[data-v-1e96f708]::before {
2724
+ .ai-tool[data-v-5196811d]::before {
2719
2725
  content: '';
2720
2726
  position: absolute;
2721
2727
  width: 20px;
@@ -2736,7 +2742,7 @@ img[data-v-7dd69850] {
2736
2742
  filter: brightness(1.2);
2737
2743
  transition: filter 0.2s ease;
2738
2744
  }
2739
- .ai-tool[data-v-1e96f708]:hover::before {
2745
+ .ai-tool[data-v-5196811d]:hover::before {
2740
2746
  filter: brightness(1.3);
2741
2747
  }
2742
2748
 
@@ -2,6 +2,6 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  require("../chunks/jszip-C8_CqJxM.cjs");
4
4
  require("../chunks/helpers-nOdwpmwb.cjs");
5
- const superEditor_converter = require("../chunks/SuperConverter-BuhT_Z5G.cjs");
5
+ const superEditor_converter = require("../chunks/SuperConverter-BJ-tba6U.cjs");
6
6
  require("../chunks/uuid-R7L08bOx.cjs");
7
7
  exports.SuperConverter = superEditor_converter.SuperConverter;
@@ -1,6 +1,6 @@
1
1
  import "../chunks/jszip-B1fkPkPJ.es.js";
2
2
  import "../chunks/helpers-C8e9wR5l.es.js";
3
- import { S } from "../chunks/SuperConverter-lLx4GqcF.es.js";
3
+ import { S } from "../chunks/SuperConverter-z20LprsX.es.js";
4
4
  import "../chunks/uuid-CjlX8hrF.es.js";
5
5
  export {
6
6
  S as SuperConverter
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const index = require("./chunks/index-CqzJ4gdV.cjs");
3
+ const index = require("./chunks/index-CL5NVKmk.cjs");
4
4
  const superEditor_docxZipper = require("./super-editor/docx-zipper.cjs");
5
5
  const superEditor_fileZipper = require("./super-editor/file-zipper.cjs");
6
6
  const vue = require("./chunks/vue-De9wkgLl.cjs");
7
- const superEditor_converter = require("./chunks/SuperConverter-BuhT_Z5G.cjs");
7
+ const superEditor_converter = require("./chunks/SuperConverter-BJ-tba6U.cjs");
8
8
  function isNodeType(node, name) {
9
9
  return node.type.name === name;
10
10
  }
@@ -1,9 +1,9 @@
1
- import { ax as Node, ay as Mark } from "./chunks/index-s5ZqooQe.es.js";
2
- import { ao, au, a9, ab, aw, am, av, aA, an, ak, aq, az, aa, as, aC, aE, aB, ac, aD, ar, at } from "./chunks/index-s5ZqooQe.es.js";
1
+ import { ax as Node, ay as Mark } from "./chunks/index-BEA-hKnM.es.js";
2
+ import { ao, au, a9, ab, aw, am, av, aA, an, ak, aq, az, aa, as, aC, aE, aB, ac, aD, ar, at } from "./chunks/index-BEA-hKnM.es.js";
3
3
  import { default as default2 } from "./super-editor/docx-zipper.es.js";
4
4
  import { createZip } from "./super-editor/file-zipper.es.js";
5
5
  import { d as defineComponent, E as createElementBlock, G as openBlock, K as createBaseVNode } from "./chunks/vue-BnBKJwCW.es.js";
6
- import { S, r } from "./chunks/SuperConverter-lLx4GqcF.es.js";
6
+ import { S, r } from "./chunks/SuperConverter-z20LprsX.es.js";
7
7
  function isNodeType(node, name) {
8
8
  return node.type.name === name;
9
9
  }
package/dist/superdoc.cjs CHANGED
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const index = require("./chunks/index-CqzJ4gdV.cjs");
4
- const superdoc = require("./chunks/index-Dgo4AYNb.cjs");
5
- const superEditor_converter = require("./chunks/SuperConverter-BuhT_Z5G.cjs");
3
+ const index = require("./chunks/index-CL5NVKmk.cjs");
4
+ const superdoc = require("./chunks/index-EMK5q5lA.cjs");
5
+ const superEditor_converter = require("./chunks/SuperConverter-BJ-tba6U.cjs");
6
6
  const blankDocx = require("./chunks/blank-docx-DfW3Eeh2.cjs");
7
7
  require("./chunks/jszip-C8_CqJxM.cjs");
8
8
  require("./chunks/helpers-nOdwpmwb.cjs");
@@ -1,6 +1,6 @@
1
- import { au, ab, aw, av, as, a7, ac, ar, at } from "./chunks/index-s5ZqooQe.es.js";
2
- import { D, H, P, S, c } from "./chunks/index-C0aR6iQ3.es.js";
3
- import { S as S2, r } from "./chunks/SuperConverter-lLx4GqcF.es.js";
1
+ import { au, ab, aw, av, as, a7, ac, ar, at } from "./chunks/index-BEA-hKnM.es.js";
2
+ import { D, H, P, S, c } from "./chunks/index-BrCOOZsx.es.js";
3
+ import { S as S2, r } from "./chunks/SuperConverter-z20LprsX.es.js";
4
4
  import { B } from "./chunks/blank-docx-ABm6XYAA.es.js";
5
5
  import "./chunks/jszip-B1fkPkPJ.es.js";
6
6
  import "./chunks/helpers-C8e9wR5l.es.js";