superdoc 2.22.1-next.2 → 2.23.0-next.2
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.
- package/dist/chunks/{create-super-doc-ui-MSiU8Kg0.cjs → create-super-doc-ui-CbiiPcgr.cjs} +5 -1
- package/dist/chunks/{create-super-doc-ui-DmGX1w-i.es.js → create-super-doc-ui-DHW9Toxn.es.js} +5 -1
- package/dist/collaboration-upgrade-engine.cjs +1 -1
- package/dist/collaboration-upgrade-engine.es.js +1 -1
- package/dist/document-api/src/index.d.ts +11 -3
- package/dist/document-api/src/insert/insert.d.ts +2 -1
- package/dist/document-api/src/write/operation-cancellation.d.ts +54 -0
- package/dist/layout-engine/layout-bridge/src/incrementalLayout.d.ts +2 -0
- package/dist/public/ui-react.cjs +1 -1
- package/dist/public/ui-react.es.js +1 -1
- package/dist/public/ui-vue.cjs +1 -1
- package/dist/public/ui-vue.es.js +1 -1
- package/dist/public/ui.cjs +1 -1
- package/dist/public/ui.es.js +1 -1
- package/dist/style.css +22 -22
- package/dist/style.layered.css +22 -22
- package/dist/superdoc/src/core/collaboration/permissions.d.ts +1 -0
- package/dist/superdoc.cjs +66 -32
- package/dist/superdoc.es.js +66 -32
- package/dist-cdn/style.layered.css +1 -1
- package/dist-cdn/superdoc.min.css +1 -1
- package/dist-cdn/superdoc.min.js +41 -41
- package/package.json +2 -2
|
@@ -5090,8 +5090,12 @@ function selectionBlockRange(selection) {
|
|
|
5090
5090
|
*/
|
|
5091
5091
|
function selectionBlockIds(selection) {
|
|
5092
5092
|
const ids = [];
|
|
5093
|
+
const seen = /* @__PURE__ */ new Set();
|
|
5093
5094
|
const push = (id) => {
|
|
5094
|
-
if (typeof id === "string" && id.length > 0 && !
|
|
5095
|
+
if (typeof id === "string" && id.length > 0 && !seen.has(id)) {
|
|
5096
|
+
seen.add(id);
|
|
5097
|
+
ids.push(id);
|
|
5098
|
+
}
|
|
5095
5099
|
};
|
|
5096
5100
|
const target = selection.target;
|
|
5097
5101
|
const segments = target && Array.isArray(target.segments) ? target.segments : [];
|
package/dist/chunks/{create-super-doc-ui-DmGX1w-i.es.js → create-super-doc-ui-DHW9Toxn.es.js}
RENAMED
|
@@ -5089,8 +5089,12 @@ function selectionBlockRange(selection) {
|
|
|
5089
5089
|
*/
|
|
5090
5090
|
function selectionBlockIds(selection) {
|
|
5091
5091
|
const ids = [];
|
|
5092
|
+
const seen = /* @__PURE__ */ new Set();
|
|
5092
5093
|
const push = (id) => {
|
|
5093
|
-
if (typeof id === "string" && id.length > 0 && !
|
|
5094
|
+
if (typeof id === "string" && id.length > 0 && !seen.has(id)) {
|
|
5095
|
+
seen.add(id);
|
|
5096
|
+
ids.push(id);
|
|
5097
|
+
}
|
|
5094
5098
|
};
|
|
5095
5099
|
const target = selection.target;
|
|
5096
5100
|
const segments = target && Array.isArray(target.segments) ? target.segments : [];
|
|
@@ -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.
|
|
22
|
+
superdocVersion: "2.23.0-next.2",
|
|
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.
|
|
21
|
+
superdocVersion: "2.23.0-next.2",
|
|
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
|
|
@@ -31,6 +31,7 @@ import { BlocksAdapter, BlocksApi } from './blocks/blocks.js';
|
|
|
31
31
|
import { TableLocator, TableMutationResult, TablesConvertFromTextInput, TablesMoveInput, TablesSplitInput, TablesConvertToTextInput, TablesSetLayoutInput, TablesInsertRowInput, TablesDeleteRowInput, TablesMoveRowInput, TablesSetRowHeightInput, TablesDistributeRowsInput, TablesSetRowOptionsInput, TablesInsertColumnInput, TablesDeleteColumnInput, TablesMoveColumnInput, TablesSetColumnWidthInput, TablesDistributeColumnsInput, TablesInsertCellInput, TablesDeleteCellInput, TablesMergeCellsInput, TablesUnmergeCellsInput, TablesSplitCellInput, TablesSetCellPropertiesInput, TablesSetCellTextInput, TablesSortInput, TablesSetAltTextInput, TablesSetStyleInput, TablesClearStyleInput, TablesSetStyleOptionInput, TablesSetBorderInput, TablesClearBorderInput, TablesApplyBorderPresetInput, TablesSetShadingInput, TablesClearShadingInput, TablesSetTablePaddingInput, TablesSetCellPaddingInput, TablesSetCellSpacingInput, TablesClearCellSpacingInput, TablesApplyStyleInput, TablesSetBordersInput, TablesSetTableOptionsInput, TablesApplyPresetInput, TablesGetInput, TablesGetOutput, TablesGetCellsInput, TablesGetCellsOutput, TablesGetPropertiesInput, TablesGetPropertiesOutput, TablesGetStylesInput, TablesGetStylesOutput, TablesSetDefaultStyleInput, TablesClearDefaultStyleInput } from './types/table-operations.types.js';
|
|
32
32
|
import { TrackChangesAdapter, TrackChangesApi } from './track-changes/track-changes.js';
|
|
33
33
|
import { MutationOptions, RichContentMutationOptions, WriteAdapter } from './write/write.js';
|
|
34
|
+
import { OperationCancellation } from './write/operation-cancellation.js';
|
|
34
35
|
import { SelectionMutationAdapter } from './selection-mutation.js';
|
|
35
36
|
import { CapabilitiesAdapter, DocumentApiCapabilities, OperationCapabilityResolveInput, OperationCapabilityResolveResult } from './capabilities/capabilities.js';
|
|
36
37
|
import { SDHtmlMarkdownSupportCheckInput, SDHtmlMarkdownSupportCheckResult } from './capabilities/html-markdown-support.js';
|
|
@@ -105,6 +106,8 @@ export type { GetHtmlAdapter, GetHtmlInput } from './get-html/get-html.js';
|
|
|
105
106
|
export type { InfoAdapter, InfoInput } from './info/info.js';
|
|
106
107
|
export type { ExtractAdapter, ExtractInput } from './extract/extract.js';
|
|
107
108
|
export type { WriteAdapter, WriteRequest, RichContentMutationOptions } from './write/write.js';
|
|
109
|
+
export type { OperationCancellation, OperationCancellationCode } from './write/operation-cancellation.js';
|
|
110
|
+
export { OperationCancellationError, assertOperationCanStart, indeterminateOperation, splitOperationCancellation, } from './write/operation-cancellation.js';
|
|
108
111
|
export type { FormatInlineAliasApi, FormatInlineAliasInput, FormatBoldInput, FormatItalicInput, FormatRangeInput, FormatUnderlineInput, FormatStrikethroughInput, StyleApplyInput, StyleApplyOptions, } from './format/format.js';
|
|
109
112
|
export type { InlineRunPatch, InlineRunPatchKey, InlinePropertyStorage, InlinePropertyType, InlinePropertyCarrier, InlinePropertyRegistryEntry, UnderlinePatch, ShadingPatch, BorderPatch, FitTextPatch, LangPatch, RFontsPatch, EastAsianLayoutPatch, StylisticSetPatch, } from './format/inline-run-patch.js';
|
|
110
113
|
export { INLINE_PROPERTY_REGISTRY, INLINE_PROPERTY_KEY_SET, INLINE_PROPERTY_BY_KEY, INLINE_PROPERTY_KEYS_BY_STORAGE, validateInlineRunPatch, buildInlineRunPatchSchema, } from './format/inline-run-patch.js';
|
|
@@ -251,7 +254,11 @@ export interface QueryApi {
|
|
|
251
254
|
}
|
|
252
255
|
export interface MutationsApi {
|
|
253
256
|
preview(input: MutationsPreviewInput): Promise<MutationsPreviewOutput>;
|
|
254
|
-
|
|
257
|
+
/**
|
|
258
|
+
* Apply an atomic plan. `options` is host-side cancellation and is not part
|
|
259
|
+
* of the plan payload.
|
|
260
|
+
*/
|
|
261
|
+
apply(input: MutationsApplyInput, options?: OperationCancellation): Promise<PlanReceipt>;
|
|
255
262
|
}
|
|
256
263
|
export interface RangesApi {
|
|
257
264
|
resolve(input: ResolveRangeInput): ResolveRangeOutput;
|
|
@@ -323,8 +330,9 @@ export interface DocumentApiSurface {
|
|
|
323
330
|
/**
|
|
324
331
|
* Extract all document content with stable IDs for RAG pipelines.
|
|
325
332
|
* Returns blocks with full text, comments, and tracked changes.
|
|
333
|
+
* `options` cancels or deadlines the browser call. It is not an extract filter.
|
|
326
334
|
*/
|
|
327
|
-
extract(input: ExtractInput): ExtractResult;
|
|
335
|
+
extract(input: ExtractInput, options?: OperationCancellation): ExtractResult;
|
|
328
336
|
/**
|
|
329
337
|
* Clear all document body content, leaving a single empty paragraph.
|
|
330
338
|
*/
|
|
@@ -337,7 +345,7 @@ export interface DocumentApiSurface {
|
|
|
337
345
|
* Insert content at a target location.
|
|
338
346
|
* If target is omitted, inserts at the end of the document.
|
|
339
347
|
*/
|
|
340
|
-
insert(input: InsertInput, options?: RichContentMutationOptions): SDMutationReceipt;
|
|
348
|
+
insert(input: InsertInput, options?: RichContentMutationOptions & OperationCancellation): SDMutationReceipt;
|
|
341
349
|
/**
|
|
342
350
|
* Replace text at a target range.
|
|
343
351
|
*/
|
|
@@ -4,6 +4,7 @@ import { SDInsertInput } from '../types/structural-input.js';
|
|
|
4
4
|
import { StoryLocator } from '../types/story.types.js';
|
|
5
5
|
import { BlockNodeAddress } from '../types/base.js';
|
|
6
6
|
import { Placement } from '../types/placement.js';
|
|
7
|
+
import { OperationCancellation } from '../write/operation-cancellation.js';
|
|
7
8
|
import { SelectionMutationAdapter } from '../selection-mutation.js';
|
|
8
9
|
/** Content format for the text insert operation payload. */
|
|
9
10
|
export type InsertContentType = 'text' | 'markdown' | 'html';
|
|
@@ -70,5 +71,5 @@ export declare function validateInsertInput(input: unknown): asserts input is In
|
|
|
70
71
|
* @param options - Optional mutation options (changeMode, dryRun, expectedRevision).
|
|
71
72
|
* @returns Receipt indicating success/failure and mutation metadata.
|
|
72
73
|
*/
|
|
73
|
-
export declare function executeInsert(selectionAdapter: SelectionMutationAdapter, writeAdapter: WriteAdapter, input: InsertInput, options?: RichContentMutationOptions): SDMutationReceipt;
|
|
74
|
+
export declare function executeInsert(selectionAdapter: SelectionMutationAdapter, writeAdapter: WriteAdapter, input: InsertInput, options?: RichContentMutationOptions & OperationCancellation): SDMutationReceipt;
|
|
74
75
|
export {};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Host-side cancellation for browser `insert`, `mutations.apply`, and `extract`.
|
|
3
|
+
*
|
|
4
|
+
* `signal` and `timeoutMs` stay on the caller side. They are not serialized
|
|
5
|
+
* into the worker. An already-aborted signal or a `timeoutMs` of 0 finishes
|
|
6
|
+
* as {@link OperationCancellationError} `CANCELLED` before dispatch and does
|
|
7
|
+
* not change the document. Aborting after the worker has started the command
|
|
8
|
+
* does not roll it back: the call rejects as `INDETERMINATE` so the caller
|
|
9
|
+
* stops waiting, and must read the document before deciding whether to retry.
|
|
10
|
+
* Replacing the document or closing the editor also settles as `INDETERMINATE`.
|
|
11
|
+
*/
|
|
12
|
+
export interface OperationCancellation {
|
|
13
|
+
/** Abort before dispatch, or ask the host to cancel a command that has not started. */
|
|
14
|
+
signal?: AbortSignal;
|
|
15
|
+
/**
|
|
16
|
+
* Milliseconds from the call. `0` is already expired and does not dispatch.
|
|
17
|
+
* A positive deadline uses the same outcome rules as `signal`.
|
|
18
|
+
*/
|
|
19
|
+
timeoutMs?: number;
|
|
20
|
+
}
|
|
21
|
+
export type OperationCancellationCode = 'CANCELLED' | 'INDETERMINATE';
|
|
22
|
+
/**
|
|
23
|
+
* Machine-readable outcome for a cancellation that did not return the
|
|
24
|
+
* operation's normal receipt.
|
|
25
|
+
*
|
|
26
|
+
* `CANCELLED` means the command did not start and the document is unchanged.
|
|
27
|
+
* Retrying that same call is safe. `INDETERMINATE` means the call cannot
|
|
28
|
+
* prove whether a mutation committed. Read the current document before
|
|
29
|
+
* retrying. A resolved receipt means the work committed; do not retry it.
|
|
30
|
+
*/
|
|
31
|
+
export declare class OperationCancellationError extends Error {
|
|
32
|
+
readonly code: OperationCancellationCode;
|
|
33
|
+
readonly details?: {
|
|
34
|
+
cause?: string;
|
|
35
|
+
};
|
|
36
|
+
constructor(code: OperationCancellationCode, message: string, details?: {
|
|
37
|
+
cause?: string;
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
export declare function cancelledBeforeDispatch(): OperationCancellationError;
|
|
41
|
+
export declare function indeterminateOperation(cause: 'replaced' | 'disposed' | 'in-flight'): OperationCancellationError;
|
|
42
|
+
/**
|
|
43
|
+
* Reject a call that is already cancelled or whose deadline has already
|
|
44
|
+
* expired. Returns without effect when the caller did not ask for control.
|
|
45
|
+
*/
|
|
46
|
+
export declare function assertOperationCanStart(options?: OperationCancellation): void;
|
|
47
|
+
/**
|
|
48
|
+
* Separate host-only cancellation fields from a value that will be
|
|
49
|
+
* structured-cloned into the worker. `AbortSignal` cannot cross that boundary.
|
|
50
|
+
*/
|
|
51
|
+
export declare function splitOperationCancellation(value: unknown): {
|
|
52
|
+
cancellation?: OperationCancellation;
|
|
53
|
+
rest: unknown;
|
|
54
|
+
};
|
|
@@ -568,6 +568,8 @@ declare function incrementalLayoutComplete(previousBlocks: FlowBlock[], _previou
|
|
|
568
568
|
fontCapabilities?: FontMeasureCapabilities;
|
|
569
569
|
}, warmStart?: {
|
|
570
570
|
footnoteReserveSeed?: FootnoteReserveSeed | null;
|
|
571
|
+
/** Per-open-document diagnostic lifetime, including cold relayouts. */
|
|
572
|
+
footnoteWarningOwner?: object;
|
|
571
573
|
/** Host proved the authoritative note projection bundle was retained exactly. */
|
|
572
574
|
noteMeasurePlaneRetainedExact?: true;
|
|
573
575
|
/** Host proved this seed is an exact, geometry-equivalent subset of the current note plane. */
|
package/dist/public/ui-react.cjs
CHANGED
|
@@ -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-
|
|
2
|
+
const require_create_super_doc_ui = require("../chunks/create-super-doc-ui-CbiiPcgr.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
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as createSuperDocUI } from "../chunks/create-super-doc-ui-
|
|
1
|
+
import { t as createSuperDocUI } from "../chunks/create-super-doc-ui-DHW9Toxn.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
|
package/dist/public/ui-vue.cjs
CHANGED
|
@@ -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-
|
|
2
|
+
const require_create_super_doc_ui = require("../chunks/create-super-doc-ui-CbiiPcgr.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
|
package/dist/public/ui-vue.es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as createSuperDocUI } from "../chunks/create-super-doc-ui-
|
|
1
|
+
import { t as createSuperDocUI } from "../chunks/create-super-doc-ui-DHW9Toxn.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
|
package/dist/public/ui.cjs
CHANGED
|
@@ -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-
|
|
2
|
+
const require_create_super_doc_ui = require("../chunks/create-super-doc-ui-CbiiPcgr.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;
|
package/dist/public/ui.es.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as BUILT_IN_COMMAND_IDS, t as createSuperDocUI, u as shallowEqual } from "../chunks/create-super-doc-ui-
|
|
1
|
+
import { a as BUILT_IN_COMMAND_IDS, t as createSuperDocUI, u as shallowEqual } from "../chunks/create-super-doc-ui-DHW9Toxn.es.js";
|
|
2
2
|
export { BUILT_IN_COMMAND_IDS, createSuperDocUI, shallowEqual };
|
package/dist/style.css
CHANGED
|
@@ -2340,34 +2340,34 @@ img[data-v-c95b2073] {
|
|
|
2340
2340
|
pointer-events: auto;
|
|
2341
2341
|
}
|
|
2342
2342
|
|
|
2343
|
-
.superdoc[data-v-
|
|
2343
|
+
.superdoc[data-v-3a8081b4] {
|
|
2344
2344
|
display: flex;
|
|
2345
2345
|
position: relative;
|
|
2346
2346
|
}
|
|
2347
|
-
.right-sidebar[data-v-
|
|
2347
|
+
.right-sidebar[data-v-3a8081b4] {
|
|
2348
2348
|
min-width: 320px;
|
|
2349
2349
|
height: 100%;
|
|
2350
2350
|
}
|
|
2351
|
-
.floating-comments[data-v-
|
|
2351
|
+
.floating-comments[data-v-3a8081b4] {
|
|
2352
2352
|
min-width: 300px;
|
|
2353
2353
|
width: 300px;
|
|
2354
2354
|
height: 100%;
|
|
2355
2355
|
overflow: visible;
|
|
2356
2356
|
}
|
|
2357
|
-
.superdoc__layers[data-v-
|
|
2357
|
+
.superdoc__layers[data-v-3a8081b4] {
|
|
2358
2358
|
height: 100%;
|
|
2359
2359
|
position: relative;
|
|
2360
2360
|
box-sizing: border-box;
|
|
2361
2361
|
}
|
|
2362
|
-
.superdoc__document[data-v-
|
|
2362
|
+
.superdoc__document[data-v-3a8081b4] {
|
|
2363
2363
|
width: 100%;
|
|
2364
2364
|
position: relative;
|
|
2365
2365
|
}
|
|
2366
|
-
.superdoc__sub-document[data-v-
|
|
2366
|
+
.superdoc__sub-document[data-v-3a8081b4] {
|
|
2367
2367
|
width: 100%;
|
|
2368
2368
|
position: relative;
|
|
2369
2369
|
}
|
|
2370
|
-
.superdoc__selection-layer[data-v-
|
|
2370
|
+
.superdoc__selection-layer[data-v-3a8081b4] {
|
|
2371
2371
|
position: absolute;
|
|
2372
2372
|
min-width: 100%;
|
|
2373
2373
|
min-height: 100%;
|
|
@@ -2378,13 +2378,13 @@ img[data-v-c95b2073] {
|
|
|
2378
2378
|
/* SD-3497: PDF whiteboard overlay sits above the rendered PDF canvas but below
|
|
2379
2379
|
the PDF comment anchors (z-index 6 in PdfCommentsLayer) so anchors stay
|
|
2380
2380
|
clickable, and below the selection layer (z-index 10). */
|
|
2381
|
-
.superdoc__whiteboard-layer[data-v-
|
|
2381
|
+
.superdoc__whiteboard-layer[data-v-3a8081b4] {
|
|
2382
2382
|
z-index: 4;
|
|
2383
2383
|
}
|
|
2384
|
-
.superdoc__temp-selection[data-v-
|
|
2384
|
+
.superdoc__temp-selection[data-v-3a8081b4] {
|
|
2385
2385
|
position: absolute;
|
|
2386
2386
|
}
|
|
2387
|
-
.superdoc__right-sidebar[data-v-
|
|
2387
|
+
.superdoc__right-sidebar[data-v-3a8081b4] {
|
|
2388
2388
|
width: 320px;
|
|
2389
2389
|
min-width: 320px;
|
|
2390
2390
|
padding: 0 10px;
|
|
@@ -2392,7 +2392,7 @@ img[data-v-c95b2073] {
|
|
|
2392
2392
|
position: relative;
|
|
2393
2393
|
z-index: 2;
|
|
2394
2394
|
}
|
|
2395
|
-
.superdoc__compact-comment-popover[data-v-
|
|
2395
|
+
.superdoc__compact-comment-popover[data-v-3a8081b4] {
|
|
2396
2396
|
position: absolute;
|
|
2397
2397
|
top: 12px;
|
|
2398
2398
|
right: 12px;
|
|
@@ -2401,14 +2401,14 @@ img[data-v-c95b2073] {
|
|
|
2401
2401
|
}
|
|
2402
2402
|
|
|
2403
2403
|
/* Tools styles */
|
|
2404
|
-
.tools[data-v-
|
|
2404
|
+
.tools[data-v-3a8081b4] {
|
|
2405
2405
|
position: absolute;
|
|
2406
2406
|
z-index: 3;
|
|
2407
2407
|
display: flex;
|
|
2408
2408
|
flex-direction: column;
|
|
2409
2409
|
gap: var(--sd-ui-tools-gap, 6px);
|
|
2410
2410
|
}
|
|
2411
|
-
.tools-item[data-v-
|
|
2411
|
+
.tools-item[data-v-3a8081b4] {
|
|
2412
2412
|
display: flex;
|
|
2413
2413
|
align-items: center;
|
|
2414
2414
|
justify-content: center;
|
|
@@ -2419,10 +2419,10 @@ img[data-v-c95b2073] {
|
|
|
2419
2419
|
cursor: pointer;
|
|
2420
2420
|
position: relative;
|
|
2421
2421
|
}
|
|
2422
|
-
.tools-item i[data-v-
|
|
2422
|
+
.tools-item i[data-v-3a8081b4] {
|
|
2423
2423
|
cursor: pointer;
|
|
2424
2424
|
}
|
|
2425
|
-
.superdoc__tools-icon[data-v-
|
|
2425
|
+
.superdoc__tools-icon[data-v-3a8081b4] {
|
|
2426
2426
|
width: var(--sd-ui-tools-icon-size, 20px);
|
|
2427
2427
|
height: var(--sd-ui-tools-icon-size, 20px);
|
|
2428
2428
|
flex-shrink: 0;
|
|
@@ -2437,22 +2437,22 @@ img[data-v-c95b2073] {
|
|
|
2437
2437
|
|
|
2438
2438
|
/* 834px is iPad screen size in portrait orientation */
|
|
2439
2439
|
@media (max-width: 834px) {
|
|
2440
|
-
.superdoc .superdoc__layers[data-v-
|
|
2440
|
+
.superdoc .superdoc__layers[data-v-3a8081b4] {
|
|
2441
2441
|
margin: 0;
|
|
2442
2442
|
border: 0 !important;
|
|
2443
2443
|
box-shadow: none;
|
|
2444
2444
|
}
|
|
2445
|
-
.superdoc__sub-document[data-v-
|
|
2445
|
+
.superdoc__sub-document[data-v-3a8081b4] {
|
|
2446
2446
|
max-width: 100%;
|
|
2447
2447
|
}
|
|
2448
|
-
.superdoc__right-sidebar[data-v-
|
|
2448
|
+
.superdoc__right-sidebar[data-v-3a8081b4] {
|
|
2449
2449
|
padding: 10px;
|
|
2450
2450
|
position: relative;
|
|
2451
2451
|
}
|
|
2452
2452
|
}
|
|
2453
2453
|
|
|
2454
2454
|
/* AI Writer styles */
|
|
2455
|
-
.ai-writer-container[data-v-
|
|
2455
|
+
.ai-writer-container[data-v-3a8081b4] {
|
|
2456
2456
|
position: fixed;
|
|
2457
2457
|
z-index: 1000;
|
|
2458
2458
|
background: white;
|
|
@@ -2468,10 +2468,10 @@ img[data-v-c95b2073] {
|
|
|
2468
2468
|
transform: translateY(-50%);
|
|
2469
2469
|
z-index: 50;
|
|
2470
2470
|
} */
|
|
2471
|
-
.ai-tool > svg[data-v-
|
|
2471
|
+
.ai-tool > svg[data-v-3a8081b4] {
|
|
2472
2472
|
fill: transparent;
|
|
2473
2473
|
}
|
|
2474
|
-
.ai-tool[data-v-
|
|
2474
|
+
.ai-tool[data-v-3a8081b4]::before {
|
|
2475
2475
|
content: '';
|
|
2476
2476
|
position: absolute;
|
|
2477
2477
|
width: 20px;
|
|
@@ -2492,7 +2492,7 @@ img[data-v-c95b2073] {
|
|
|
2492
2492
|
filter: brightness(1.2);
|
|
2493
2493
|
transition: filter 0.2s ease;
|
|
2494
2494
|
}
|
|
2495
|
-
.ai-tool[data-v-
|
|
2495
|
+
.ai-tool[data-v-3a8081b4]:hover::before {
|
|
2496
2496
|
filter: brightness(1.3);
|
|
2497
2497
|
}
|
|
2498
2498
|
|
package/dist/style.layered.css
CHANGED
|
@@ -2340,34 +2340,34 @@ img[data-v-c95b2073] {
|
|
|
2340
2340
|
pointer-events: auto;
|
|
2341
2341
|
}
|
|
2342
2342
|
|
|
2343
|
-
.superdoc[data-v-
|
|
2343
|
+
.superdoc[data-v-3a8081b4] {
|
|
2344
2344
|
display: flex;
|
|
2345
2345
|
position: relative;
|
|
2346
2346
|
}
|
|
2347
|
-
.right-sidebar[data-v-
|
|
2347
|
+
.right-sidebar[data-v-3a8081b4] {
|
|
2348
2348
|
min-width: 320px;
|
|
2349
2349
|
height: 100%;
|
|
2350
2350
|
}
|
|
2351
|
-
.floating-comments[data-v-
|
|
2351
|
+
.floating-comments[data-v-3a8081b4] {
|
|
2352
2352
|
min-width: 300px;
|
|
2353
2353
|
width: 300px;
|
|
2354
2354
|
height: 100%;
|
|
2355
2355
|
overflow: visible;
|
|
2356
2356
|
}
|
|
2357
|
-
.superdoc__layers[data-v-
|
|
2357
|
+
.superdoc__layers[data-v-3a8081b4] {
|
|
2358
2358
|
height: 100%;
|
|
2359
2359
|
position: relative;
|
|
2360
2360
|
box-sizing: border-box;
|
|
2361
2361
|
}
|
|
2362
|
-
.superdoc__document[data-v-
|
|
2362
|
+
.superdoc__document[data-v-3a8081b4] {
|
|
2363
2363
|
width: 100%;
|
|
2364
2364
|
position: relative;
|
|
2365
2365
|
}
|
|
2366
|
-
.superdoc__sub-document[data-v-
|
|
2366
|
+
.superdoc__sub-document[data-v-3a8081b4] {
|
|
2367
2367
|
width: 100%;
|
|
2368
2368
|
position: relative;
|
|
2369
2369
|
}
|
|
2370
|
-
.superdoc__selection-layer[data-v-
|
|
2370
|
+
.superdoc__selection-layer[data-v-3a8081b4] {
|
|
2371
2371
|
position: absolute;
|
|
2372
2372
|
min-width: 100%;
|
|
2373
2373
|
min-height: 100%;
|
|
@@ -2378,13 +2378,13 @@ img[data-v-c95b2073] {
|
|
|
2378
2378
|
/* SD-3497: PDF whiteboard overlay sits above the rendered PDF canvas but below
|
|
2379
2379
|
the PDF comment anchors (z-index 6 in PdfCommentsLayer) so anchors stay
|
|
2380
2380
|
clickable, and below the selection layer (z-index 10). */
|
|
2381
|
-
.superdoc__whiteboard-layer[data-v-
|
|
2381
|
+
.superdoc__whiteboard-layer[data-v-3a8081b4] {
|
|
2382
2382
|
z-index: 4;
|
|
2383
2383
|
}
|
|
2384
|
-
.superdoc__temp-selection[data-v-
|
|
2384
|
+
.superdoc__temp-selection[data-v-3a8081b4] {
|
|
2385
2385
|
position: absolute;
|
|
2386
2386
|
}
|
|
2387
|
-
.superdoc__right-sidebar[data-v-
|
|
2387
|
+
.superdoc__right-sidebar[data-v-3a8081b4] {
|
|
2388
2388
|
width: 320px;
|
|
2389
2389
|
min-width: 320px;
|
|
2390
2390
|
padding: 0 10px;
|
|
@@ -2392,7 +2392,7 @@ img[data-v-c95b2073] {
|
|
|
2392
2392
|
position: relative;
|
|
2393
2393
|
z-index: 2;
|
|
2394
2394
|
}
|
|
2395
|
-
.superdoc__compact-comment-popover[data-v-
|
|
2395
|
+
.superdoc__compact-comment-popover[data-v-3a8081b4] {
|
|
2396
2396
|
position: absolute;
|
|
2397
2397
|
top: 12px;
|
|
2398
2398
|
right: 12px;
|
|
@@ -2401,14 +2401,14 @@ img[data-v-c95b2073] {
|
|
|
2401
2401
|
}
|
|
2402
2402
|
|
|
2403
2403
|
/* Tools styles */
|
|
2404
|
-
.tools[data-v-
|
|
2404
|
+
.tools[data-v-3a8081b4] {
|
|
2405
2405
|
position: absolute;
|
|
2406
2406
|
z-index: 3;
|
|
2407
2407
|
display: flex;
|
|
2408
2408
|
flex-direction: column;
|
|
2409
2409
|
gap: var(--sd-ui-tools-gap, 6px);
|
|
2410
2410
|
}
|
|
2411
|
-
.tools-item[data-v-
|
|
2411
|
+
.tools-item[data-v-3a8081b4] {
|
|
2412
2412
|
display: flex;
|
|
2413
2413
|
align-items: center;
|
|
2414
2414
|
justify-content: center;
|
|
@@ -2419,10 +2419,10 @@ img[data-v-c95b2073] {
|
|
|
2419
2419
|
cursor: pointer;
|
|
2420
2420
|
position: relative;
|
|
2421
2421
|
}
|
|
2422
|
-
.tools-item i[data-v-
|
|
2422
|
+
.tools-item i[data-v-3a8081b4] {
|
|
2423
2423
|
cursor: pointer;
|
|
2424
2424
|
}
|
|
2425
|
-
.superdoc__tools-icon[data-v-
|
|
2425
|
+
.superdoc__tools-icon[data-v-3a8081b4] {
|
|
2426
2426
|
width: var(--sd-ui-tools-icon-size, 20px);
|
|
2427
2427
|
height: var(--sd-ui-tools-icon-size, 20px);
|
|
2428
2428
|
flex-shrink: 0;
|
|
@@ -2437,22 +2437,22 @@ img[data-v-c95b2073] {
|
|
|
2437
2437
|
|
|
2438
2438
|
/* 834px is iPad screen size in portrait orientation */
|
|
2439
2439
|
@media (max-width: 834px) {
|
|
2440
|
-
.superdoc .superdoc__layers[data-v-
|
|
2440
|
+
.superdoc .superdoc__layers[data-v-3a8081b4] {
|
|
2441
2441
|
margin: 0;
|
|
2442
2442
|
border: 0 !important;
|
|
2443
2443
|
box-shadow: none;
|
|
2444
2444
|
}
|
|
2445
|
-
.superdoc__sub-document[data-v-
|
|
2445
|
+
.superdoc__sub-document[data-v-3a8081b4] {
|
|
2446
2446
|
max-width: 100%;
|
|
2447
2447
|
}
|
|
2448
|
-
.superdoc__right-sidebar[data-v-
|
|
2448
|
+
.superdoc__right-sidebar[data-v-3a8081b4] {
|
|
2449
2449
|
padding: 10px;
|
|
2450
2450
|
position: relative;
|
|
2451
2451
|
}
|
|
2452
2452
|
}
|
|
2453
2453
|
|
|
2454
2454
|
/* AI Writer styles */
|
|
2455
|
-
.ai-writer-container[data-v-
|
|
2455
|
+
.ai-writer-container[data-v-3a8081b4] {
|
|
2456
2456
|
position: fixed;
|
|
2457
2457
|
z-index: 1000;
|
|
2458
2458
|
background: white;
|
|
@@ -2468,10 +2468,10 @@ img[data-v-c95b2073] {
|
|
|
2468
2468
|
transform: translateY(-50%);
|
|
2469
2469
|
z-index: 50;
|
|
2470
2470
|
} */
|
|
2471
|
-
.ai-tool > svg[data-v-
|
|
2471
|
+
.ai-tool > svg[data-v-3a8081b4] {
|
|
2472
2472
|
fill: transparent;
|
|
2473
2473
|
}
|
|
2474
|
-
.ai-tool[data-v-
|
|
2474
|
+
.ai-tool[data-v-3a8081b4]::before {
|
|
2475
2475
|
content: '';
|
|
2476
2476
|
position: absolute;
|
|
2477
2477
|
width: 20px;
|
|
@@ -2492,7 +2492,7 @@ img[data-v-c95b2073] {
|
|
|
2492
2492
|
filter: brightness(1.2);
|
|
2493
2493
|
transition: filter 0.2s ease;
|
|
2494
2494
|
}
|
|
2495
|
-
.ai-tool[data-v-
|
|
2495
|
+
.ai-tool[data-v-3a8081b4]:hover::before {
|
|
2496
2496
|
filter: brightness(1.3);
|
|
2497
2497
|
}
|
|
2498
2498
|
|
|
@@ -10,6 +10,7 @@ export const PERMISSIONS: Readonly<{
|
|
|
10
10
|
UPLOAD_VERSION: "UPLOAD_VERSION";
|
|
11
11
|
VERSION_HISTORY: "VERSION_HISTORY";
|
|
12
12
|
}>;
|
|
13
|
+
export function createTrackedChangePermissionResolver(superdoc: any): (payload?: {}) => any;
|
|
13
14
|
export function isAllowed(permission: string, role: string, isInternal: boolean, context?: {
|
|
14
15
|
comment?: object | null | undefined;
|
|
15
16
|
superdoc?: object | null | undefined;
|