superdoc 2.25.0-next.14 → 2.25.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.
@@ -7773,15 +7773,25 @@ function createSuperDocUI(options) {
7773
7773
  sizeOptions: DEFAULT_FONT_SIZE_OPTIONS
7774
7774
  };
7775
7775
  };
7776
+ let zoomFitWidth;
7776
7777
  const computeZoom = () => {
7777
7778
  const state = safeCall(superdoc?.getZoomState ? () => superdoc.getZoomState() : void 0, null);
7778
7779
  const value = typeof state?.value === "number" ? state.value : 100;
7779
7780
  const rawMode = state?.mode;
7781
+ const mode = rawMode === "manual" || rawMode === "fit-width" ? rawMode : rawMode === "fixed" ? "manual" : null;
7782
+ const fit = state?.fitWidth;
7783
+ const min = typeof fit?.min === "number" ? fit.min : typeof state?.min === "number" ? state.min : 10;
7784
+ const max = typeof fit?.max === "number" ? fit.max : typeof state?.max === "number" ? state.max : 100;
7785
+ if (!zoomFitWidth || zoomFitWidth.min !== min || zoomFitWidth.max !== max) zoomFitWidth = {
7786
+ min,
7787
+ max
7788
+ };
7780
7789
  return {
7781
- mode: rawMode === "manual" || rawMode === "fit-width" ? rawMode : rawMode === "fixed" ? "manual" : null,
7790
+ mode,
7782
7791
  value,
7783
- min: typeof state?.min === "number" ? state.min : 10,
7784
- max: typeof state?.max === "number" ? state.max : 100
7792
+ fitWidth: zoomFitWidth,
7793
+ min,
7794
+ max
7785
7795
  };
7786
7796
  };
7787
7797
  const readMeasurementUnit = () => {
@@ -7772,15 +7772,25 @@ function createSuperDocUI(options) {
7772
7772
  sizeOptions: DEFAULT_FONT_SIZE_OPTIONS
7773
7773
  };
7774
7774
  };
7775
+ let zoomFitWidth;
7775
7776
  const computeZoom = () => {
7776
7777
  const state = safeCall(superdoc?.getZoomState ? () => superdoc.getZoomState() : void 0, null);
7777
7778
  const value = typeof state?.value === "number" ? state.value : 100;
7778
7779
  const rawMode = state?.mode;
7780
+ const mode = rawMode === "manual" || rawMode === "fit-width" ? rawMode : rawMode === "fixed" ? "manual" : null;
7781
+ const fit = state?.fitWidth;
7782
+ const min = typeof fit?.min === "number" ? fit.min : typeof state?.min === "number" ? state.min : 10;
7783
+ const max = typeof fit?.max === "number" ? fit.max : typeof state?.max === "number" ? state.max : 100;
7784
+ if (!zoomFitWidth || zoomFitWidth.min !== min || zoomFitWidth.max !== max) zoomFitWidth = {
7785
+ min,
7786
+ max
7787
+ };
7779
7788
  return {
7780
- mode: rawMode === "manual" || rawMode === "fit-width" ? rawMode : rawMode === "fixed" ? "manual" : null,
7789
+ mode,
7781
7790
  value,
7782
- min: typeof state?.min === "number" ? state.min : 10,
7783
- max: typeof state?.max === "number" ? state.max : 100
7791
+ fitWidth: zoomFitWidth,
7792
+ min,
7793
+ max
7784
7794
  };
7785
7795
  };
7786
7796
  const readMeasurementUnit = () => {
@@ -19,7 +19,7 @@ var COLLABORATION_UPGRADE_ENGINE_MINIMUM_NODE_MAJOR = 20;
19
19
  var PRIVATE_ENGINE_INFO = (0, _superdoc_docx_engine_collaboration_upgrade_engine.getCollaborationUpgradeEngineInfo)();
20
20
  var ENGINE_INFO = Object.freeze({
21
21
  ...PRIVATE_ENGINE_INFO,
22
- superdocVersion: "2.25.0-next.14",
22
+ superdocVersion: "2.25.0-next.15",
23
23
  roomSchemaVersion: Object.freeze({ ...PRIVATE_ENGINE_INFO.roomSchemaVersion }),
24
24
  supportedBundleVersions: SUPPORTED_COLLABORATION_UPGRADE_BUNDLE_VERSIONS,
25
25
  supportedV1ReaderContractVersions: SUPPORTED_V1_READER_CONTRACT_VERSIONS
@@ -18,7 +18,7 @@ var COLLABORATION_UPGRADE_ENGINE_MINIMUM_NODE_MAJOR = 20;
18
18
  var PRIVATE_ENGINE_INFO = getCollaborationUpgradeEngineInfo$1();
19
19
  var ENGINE_INFO = Object.freeze({
20
20
  ...PRIVATE_ENGINE_INFO,
21
- superdocVersion: "2.25.0-next.14",
21
+ superdocVersion: "2.25.0-next.15",
22
22
  roomSchemaVersion: Object.freeze({ ...PRIVATE_ENGINE_INFO.roomSchemaVersion }),
23
23
  supportedBundleVersions: SUPPORTED_COLLABORATION_UPGRADE_BUNDLE_VERSIONS,
24
24
  supportedV1ReaderContractVersions: SUPPORTED_V1_READER_CONTRACT_VERSIONS
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_create_super_doc_ui = require("../chunks/create-super-doc-ui-ABeUNZlq.cjs");
2
+ const require_create_super_doc_ui = require("../chunks/create-super-doc-ui-BbTRF-Z9.cjs");
3
3
  const require_slice_source = require("../chunks/slice-source-CFaqq0Vo.cjs");
4
4
  let react = require("react");
5
5
  //#region src/public/ui/react.ts
@@ -240,6 +240,10 @@ function useSuperDocZoom() {
240
240
  return useSuperDocSlice((ui) => ui.zoom, {
241
241
  mode: null,
242
242
  value: 100,
243
+ fitWidth: {
244
+ min: 10,
245
+ max: 100
246
+ },
243
247
  min: 10,
244
248
  max: 100
245
249
  });
@@ -1,4 +1,4 @@
1
- import { t as createSuperDocUI } from "../chunks/create-super-doc-ui-CCNvH6mr.es.js";
1
+ import { t as createSuperDocUI } from "../chunks/create-super-doc-ui-Cr_04XnJ.es.js";
2
2
  import { t as toSliceSource } from "../chunks/slice-source-gfOhG2MW.es.js";
3
3
  import { createContext, createElement, useCallback, useContext, useEffect, useRef, useState } from "react";
4
4
  //#region src/public/ui/react.ts
@@ -239,6 +239,10 @@ function useSuperDocZoom() {
239
239
  return useSuperDocSlice((ui) => ui.zoom, {
240
240
  mode: null,
241
241
  value: 100,
242
+ fitWidth: {
243
+ min: 10,
244
+ max: 100
245
+ },
242
246
  min: 10,
243
247
  max: 100
244
248
  });
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_create_super_doc_ui = require("../chunks/create-super-doc-ui-ABeUNZlq.cjs");
2
+ const require_create_super_doc_ui = require("../chunks/create-super-doc-ui-BbTRF-Z9.cjs");
3
3
  const require_slice_source = require("../chunks/slice-source-CFaqq0Vo.cjs");
4
4
  let superdoc_entry_vue = require("vue");
5
5
  //#region src/public/ui/vue.ts
@@ -311,6 +311,10 @@ function useSuperDocZoom() {
311
311
  return useSuperDocSlice((ui) => ui.zoom, {
312
312
  mode: null,
313
313
  value: 100,
314
+ fitWidth: {
315
+ min: 10,
316
+ max: 100
317
+ },
314
318
  min: 10,
315
319
  max: 100
316
320
  });
@@ -1,4 +1,4 @@
1
- import { t as createSuperDocUI } from "../chunks/create-super-doc-ui-CCNvH6mr.es.js";
1
+ import { t as createSuperDocUI } from "../chunks/create-super-doc-ui-Cr_04XnJ.es.js";
2
2
  import { t as toSliceSource } from "../chunks/slice-source-gfOhG2MW.es.js";
3
3
  import { computed, inject, onScopeDispose, provide, shallowRef, toRaw, toValue, watch } from "vue";
4
4
  //#region src/public/ui/vue.ts
@@ -310,6 +310,10 @@ function useSuperDocZoom() {
310
310
  return useSuperDocSlice((ui) => ui.zoom, {
311
311
  mode: null,
312
312
  value: 100,
313
+ fitWidth: {
314
+ min: 10,
315
+ max: 100
316
+ },
313
317
  min: 10,
314
318
  max: 100
315
319
  });
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_create_super_doc_ui = require("../chunks/create-super-doc-ui-ABeUNZlq.cjs");
2
+ const require_create_super_doc_ui = require("../chunks/create-super-doc-ui-BbTRF-Z9.cjs");
3
3
  exports.BUILT_IN_COMMAND_IDS = require_create_super_doc_ui.BUILT_IN_COMMAND_IDS;
4
4
  exports.createSuperDocUI = require_create_super_doc_ui.createSuperDocUI;
5
5
  exports.shallowEqual = require_create_super_doc_ui.shallowEqual;
@@ -1,2 +1,2 @@
1
- import { a as BUILT_IN_COMMAND_IDS, t as createSuperDocUI, u as shallowEqual } from "../chunks/create-super-doc-ui-CCNvH6mr.es.js";
1
+ import { a as BUILT_IN_COMMAND_IDS, t as createSuperDocUI, u as shallowEqual } from "../chunks/create-super-doc-ui-Cr_04XnJ.es.js";
2
2
  export { BUILT_IN_COMMAND_IDS, createSuperDocUI, shallowEqual };
@@ -634,6 +634,7 @@ export declare class SuperDoc extends EventEmitter<SuperDocEventMap> {
634
634
  * `fit-width`; use `setZoomMode('fit-width')` to re-enter fitting).
635
635
  * Updates the centralized activeZoom state, which propagates to all
636
636
  * presentation editors, PDF viewers, and whiteboard layers via the Vue watcher.
637
+ * Accepts any finite percentage greater than zero, independently of fit-width bounds.
637
638
  * @param percent - The zoom level as a percentage (e.g., 100, 150, 200)
638
639
  * @example
639
640
  * superdoc.setZoom(150); // Set zoom to 150%, mode becomes 'manual'
@@ -3539,13 +3539,18 @@ export interface SuperDocFitWidthOptions {
3539
3539
  export interface SuperDocZoomState {
3540
3540
  /** Current zoom mode. */
3541
3541
  mode: SuperDocZoomMode;
3542
- /** Current zoom value as a percentage. */
3542
+ /** Current percentage. Manual zoom accepts any finite value greater than zero, independently of fit bounds. */
3543
3543
  value: number;
3544
3544
  /** Latest computed fit zoom (unclamped), or `null` before the first viewport measurement. */
3545
3545
  fitZoom: number | null;
3546
- /** Effective lower bound the fit policy applies (config or default). */
3546
+ /** Effective bounds applied only in fit-width mode (config or defaults). */
3547
+ fitWidth: {
3548
+ min: number;
3549
+ max: number;
3550
+ };
3551
+ /** @deprecated Fit-width lower bound alias. Use `fitWidth.min`; this does not limit manual zoom. */
3547
3552
  min: number;
3548
- /** Effective upper bound the fit policy applies (config or default). */
3553
+ /** @deprecated Fit-width upper bound alias. Use `fitWidth.max`; this does not limit manual zoom. */
3549
3554
  max: number;
3550
3555
  }
3551
3556
  /**
@@ -656,11 +656,16 @@ export interface FontsSlice {
656
656
  export interface ZoomSlice {
657
657
  /** Current zoom mode. */
658
658
  mode: 'manual' | 'fit-width' | null;
659
- /** Current zoom value as a percentage (100 = 100%). */
659
+ /** Current percentage (100 = 100%). Manual zoom accepts any finite value greater than zero. */
660
660
  value: number;
661
- /** Minimum allowed zoom percentage. */
661
+ /** Effective bounds applied only in fit-width mode. */
662
+ fitWidth: {
663
+ min: number;
664
+ max: number;
665
+ };
666
+ /** @deprecated Fit-width lower bound alias. Use `fitWidth.min`; this does not limit manual zoom. */
662
667
  min: number;
663
- /** Maximum allowed zoom percentage. */
668
+ /** @deprecated Fit-width upper bound alias. Use `fitWidth.max`; this does not limit manual zoom. */
664
669
  max: number;
665
670
  }
666
671
  /** Document-level state slice. */
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-74VwNCz7.cjs");
3
3
  const require_blank_docx = require("./chunks/blank-docx-BuFAbRjs.cjs");
4
- const require_create_super_doc_ui = require("./chunks/create-super-doc-ui-ABeUNZlq.cjs");
4
+ const require_create_super_doc_ui = require("./chunks/create-super-doc-ui-BbTRF-Z9.cjs");
5
5
  const require_eventemitter3 = require("./chunks/eventemitter3-C_TAnXOl.cjs");
6
6
  const require_uuid = require("./chunks/uuid-BhG0ngwk.cjs");
7
7
  const require__plugin_vue_export_helper = require("./chunks/_plugin-vue_export-helper-BUdjGKyl.cjs");
@@ -304,7 +304,7 @@ var awarenessStatesToArray = (context, states) => {
304
304
  var DEFAULT_ENDPOINT = "https://ingest.superdoc.dev/v1/collect";
305
305
  function getSuperdocVersion() {
306
306
  try {
307
- return "2.25.0-next.14";
307
+ return "2.25.0-next.15";
308
308
  } catch {
309
309
  return "unknown";
310
310
  }
@@ -46825,7 +46825,7 @@ var SuperDoc = class extends require_eventemitter3.import_eventemitter3.default
46825
46825
  }
46826
46826
  this.userColorMap = /* @__PURE__ */ new Map();
46827
46827
  this.colorIndex = 0;
46828
- this.version = "2.25.0-next.14";
46828
+ this.version = "2.25.0-next.15";
46829
46829
  this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
46830
46830
  this.superdocId = config.superdocId || require_uuid.v4();
46831
46831
  this.colors = this.config.colors ?? [];
@@ -48797,6 +48797,7 @@ var SuperDoc = class extends require_eventemitter3.import_eventemitter3.default
48797
48797
  * `fit-width`; use `setZoomMode('fit-width')` to re-enter fitting).
48798
48798
  * Updates the centralized activeZoom state, which propagates to all
48799
48799
  * presentation editors, PDF viewers, and whiteboard layers via the Vue watcher.
48800
+ * Accepts any finite percentage greater than zero, independently of fit-width bounds.
48800
48801
  * @param percent - The zoom level as a percentage (e.g., 100, 150, 200)
48801
48802
  * @example
48802
48803
  * superdoc.setZoom(150); // Set zoom to 150%, mode becomes 'manual'
@@ -48868,6 +48869,10 @@ var SuperDoc = class extends require_eventemitter3.import_eventemitter3.default
48868
48869
  mode: this.superdocStore?.zoomMode ?? "manual",
48869
48870
  value: this.superdocStore?.activeZoom ?? 100,
48870
48871
  fitZoom: this.superdocStore?.viewportMetrics?.fitZoom ?? null,
48872
+ fitWidth: {
48873
+ min: fit.min,
48874
+ max: fit.max
48875
+ },
48871
48876
  min: fit.min,
48872
48877
  max: fit.max
48873
48878
  };
@@ -1,6 +1,6 @@
1
1
  import { i as __toESM$2 } from "./chunks/rolldown-runtime-0pSA04fp.es.js";
2
2
  import { t as blank_default } from "./chunks/blank-docx-DzQccOlW.es.js";
3
- import { c as createImageFilePicker, d as DOM_CLASS_NAMES, f as closeInteractionHistory, g as recordInteraction, h as isWorkflowRecordingEnabled, i as registerFirstPartyCommandMutation, l as resolveImageSrc, m as getWorkflowRecording, n as executeFirstPartyCommandAsync, o as applyV2CommentInvalidationFromMutation, p as createInteractionHistory, r as readFirstPartyPageNumbers, s as getV2TrackedChangeMutationImpact, t as createSuperDocUI } from "./chunks/create-super-doc-ui-CCNvH6mr.es.js";
3
+ import { c as createImageFilePicker, d as DOM_CLASS_NAMES, f as closeInteractionHistory, g as recordInteraction, h as isWorkflowRecordingEnabled, i as registerFirstPartyCommandMutation, l as resolveImageSrc, m as getWorkflowRecording, n as executeFirstPartyCommandAsync, o as applyV2CommentInvalidationFromMutation, p as createInteractionHistory, r as readFirstPartyPageNumbers, s as getV2TrackedChangeMutationImpact, t as createSuperDocUI } from "./chunks/create-super-doc-ui-Cr_04XnJ.es.js";
4
4
  import { t as import_eventemitter3 } from "./chunks/eventemitter3-DEIiXiH2.es.js";
5
5
  import { t as v4 } from "./chunks/uuid-H0Xcmmhy.es.js";
6
6
  import { $ as vModelText, A as onActivated, B as renderSlot, C as isRef$1, D as normalizeClass, E as nextTick, F as openBlock, G as toRaw$2, H as resolveDynamicComponent, I as provide$1, J as unref, K as toRef, L as reactive, M as onDeactivated, N as onMounted, O as normalizeProps, P as onScopeDispose$1, Q as vModelSelect, R as ref, S as isReactive$1, T as mergeProps, U as shallowRef$1, V as resolveDirective, W as toDisplayString, X as useSlots, Y as useAttrs, Z as vModelCheckbox, _ as getCurrentInstance, a as computed$1, b as hasInjectionContext, c as createCommentVNode, d as createStaticVNode, et as watch$1, f as createTextVNode, g as effectScope, h as defineComponent, i as Transition, it as withModifiers, j as onBeforeUnmount, k as normalizeStyle, l as createElementBlock, m as defineAsyncComponent, n as Fragment, nt as withDirectives, o as createApp, p as createVNode, q as toRefs, r as Teleport, rt as withKeys, s as createBlock, t as _plugin_vue_export_helper_default, tt as withCtx, u as createElementVNode, v as getCurrentScope, w as markRaw, x as inject$1, y as h, z as renderList } from "./chunks/_plugin-vue_export-helper-7ZiLY07t.es.js";
@@ -302,7 +302,7 @@ var awarenessStatesToArray = (context, states) => {
302
302
  var DEFAULT_ENDPOINT = "https://ingest.superdoc.dev/v1/collect";
303
303
  function getSuperdocVersion() {
304
304
  try {
305
- return "2.25.0-next.14";
305
+ return "2.25.0-next.15";
306
306
  } catch {
307
307
  return "unknown";
308
308
  }
@@ -46754,7 +46754,7 @@ var SuperDoc = class extends import_eventemitter3.default {
46754
46754
  }
46755
46755
  this.userColorMap = /* @__PURE__ */ new Map();
46756
46756
  this.colorIndex = 0;
46757
- this.version = "2.25.0-next.14";
46757
+ this.version = "2.25.0-next.15";
46758
46758
  this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
46759
46759
  this.superdocId = config.superdocId || v4();
46760
46760
  this.colors = this.config.colors ?? [];
@@ -48726,6 +48726,7 @@ var SuperDoc = class extends import_eventemitter3.default {
48726
48726
  * `fit-width`; use `setZoomMode('fit-width')` to re-enter fitting).
48727
48727
  * Updates the centralized activeZoom state, which propagates to all
48728
48728
  * presentation editors, PDF viewers, and whiteboard layers via the Vue watcher.
48729
+ * Accepts any finite percentage greater than zero, independently of fit-width bounds.
48729
48730
  * @param percent - The zoom level as a percentage (e.g., 100, 150, 200)
48730
48731
  * @example
48731
48732
  * superdoc.setZoom(150); // Set zoom to 150%, mode becomes 'manual'
@@ -48797,6 +48798,10 @@ var SuperDoc = class extends import_eventemitter3.default {
48797
48798
  mode: this.superdocStore?.zoomMode ?? "manual",
48798
48799
  value: this.superdocStore?.activeZoom ?? 100,
48799
48800
  fitZoom: this.superdocStore?.viewportMetrics?.fitZoom ?? null,
48801
+ fitWidth: {
48802
+ min: fit.min,
48803
+ max: fit.max
48804
+ },
48800
48805
  min: fit.min,
48801
48806
  max: fit.max
48802
48807
  };