superdoc 2.29.0-next.1 → 2.29.0-next.3
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/{FindReplaceSurface-Dm043CZP.es.js → FindReplaceSurface-BKVHzhQ4.es.js} +34 -26
- package/dist/chunks/{FindReplaceSurface-BRs3JrCq.cjs → FindReplaceSurface-BNDrJ6VS.cjs} +34 -26
- package/dist/chunks/{PasswordPromptSurface-DGjmN7A-.es.js → PasswordPromptSurface-6mF6Azda.es.js} +6 -4
- package/dist/chunks/{PasswordPromptSurface-BpqP4pUa.cjs → PasswordPromptSurface-BNkaztaP.cjs} +6 -4
- package/dist/chunks/{create-super-doc-ui-0OA8hCNb.cjs → create-super-doc-ui-BAGOnYGM.cjs} +2 -2
- package/dist/chunks/{create-super-doc-ui-Duf65d0b.es.js → create-super-doc-ui-BFt8agAI.es.js} +2 -2
- package/dist/collaboration-upgrade-engine.cjs +1 -1
- package/dist/collaboration-upgrade-engine.es.js +1 -1
- package/dist/document-api/src/contract/metadata-types.d.ts +1 -1
- package/dist/document-api/src/contract/operation-definitions.d.ts +1 -1
- package/dist/document-api/src/tables/tables.d.ts +2 -1
- package/dist/document-api/src/types/table-operations.types.d.ts +1 -0
- package/dist/layout-engine/contracts/src/index.d.ts +1 -1
- package/dist/layout-engine/contracts/src/paragraph-visible-text.d.ts +3 -1
- 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 +1 -1
- package/dist/style.layered.css +1 -1
- package/dist/superdoc/src/components/CommentsLayer/CommentDialog.vue.d.ts +88 -1264
- package/dist/superdoc/src/components/CommentsLayer/CommentHeader.vue.d.ts +106 -22
- package/dist/superdoc/src/components/CommentsLayer/CommentInput.vue.d.ts +74 -14
- package/dist/superdoc/src/components/CommentsLayer/CommentsDropdown.vue.d.ts +55 -20
- package/dist/superdoc/src/components/CommentsLayer/InternalDropdown.vue.d.ts +24 -8
- package/dist/superdoc/src/components/CommentsLayer/PdfCommentsLayer.vue.d.ts +5 -3
- package/dist/superdoc/src/components/CommentsLayer/commentsList/ReviewDirectoryListItem.vue.d.ts +60 -12
- package/dist/superdoc/src/components/CommentsLayer/commentsList/commentsList.vue.d.ts +20 -6
- package/dist/superdoc/src/components/CommentsLayer/use-comment.d.ts +1 -0
- package/dist/superdoc/src/components/general/Avatar.vue.d.ts +12 -5
- package/dist/superdoc/src/components/surfaces/FindReplaceSurface.vue.d.ts +58 -15
- package/dist/superdoc/src/components/surfaces/PasswordPromptSurface.vue.d.ts +58 -15
- package/dist/superdoc/src/components/surfaces/SurfaceFloating.vue.d.ts +14 -6
- package/dist/superdoc/src/components/surfaces/SurfaceHost.vue.d.ts +25 -15
- package/dist/superdoc/src/core/SuperDoc.d.ts +1 -6
- package/dist/superdoc/src/core/collaboration/permissions.d.ts +1 -1
- package/dist/superdoc/src/core/editor-runtime/index.d.ts +1 -1
- package/dist/superdoc/src/core/editor-runtime/types.d.ts +7 -0
- package/dist/superdoc/src/core/editor-runtime/v2/v2-editor-runtime-adapter.d.ts +2 -1
- package/dist/superdoc/src/icons.d.ts +8 -0
- package/dist/superdoc/src/internal/toolbar/built-in/AIWriter.vue.d.ts +76 -15
- package/dist/superdoc/src/internal/toolbar/built-in/AlignmentButtons.vue.d.ts +5 -3
- package/dist/superdoc/src/internal/toolbar/built-in/ButtonGroup.vue.d.ts +105 -5
- package/dist/superdoc/src/internal/toolbar/built-in/DocumentMode.vue.d.ts +20 -6
- package/dist/superdoc/src/internal/toolbar/built-in/IconGrid.vue.d.ts +44 -12
- package/dist/superdoc/src/internal/toolbar/built-in/IconGridRow.vue.d.ts +32 -9
- package/dist/superdoc/src/internal/toolbar/built-in/StyleButtonsList.vue.d.ts +39 -10
- package/dist/superdoc/src/internal/toolbar/built-in/TableActions.vue.d.ts +24 -6
- package/dist/superdoc/src/internal/toolbar/built-in/TableGrid.vue.d.ts +7 -3
- package/dist/superdoc/src/internal/toolbar/built-in/ToolbarComboBox.vue.d.ts +1 -1
- package/dist/superdoc/src/internal/toolbar/built-in/ToolbarDropdown.vue.d.ts +1 -0
- package/dist/superdoc/src/internal/toolbar/built-in/ToolbarSeparator.vue.d.ts +16 -6
- package/dist/superdoc/src/internal/toolbar/built-in/color-dropdown-helpers.d.ts +2 -2
- package/dist/superdoc/src/internal/toolbar/built-in/list-style-buttons.d.ts +2 -2
- package/dist/superdoc/src/internal/toolbar/built-in/toolbarIcons.d.ts +67 -0
- package/dist/superdoc/src/stores/helpers/comment-draft-text.d.ts +1 -0
- package/dist/superdoc/src/stores/helpers/tracked-change-row-values.d.ts +25 -0
- package/dist/superdoc.cjs +349 -231
- package/dist/superdoc.es.js +322 -207
- package/dist-cdn/style.layered.css +1 -1
- package/dist-cdn/superdoc.min.css +1 -1
- package/dist-cdn/superdoc.min.js +42 -42
- package/package.json +2 -2
- package/dist/superdoc/src/internal/toolbar/built-in/FontFamilyCombobox.vue.d.ts +0 -10
- package/dist/superdoc/src/internal/toolbar/built-in/FontSizeCombobox.vue.d.ts +0 -10
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-
|
|
4
|
+
const require_create_super_doc_ui = require("./chunks/create-super-doc-ui-BAGOnYGM.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-6MBoygIY.cjs");
|
|
@@ -259,7 +259,7 @@ var v_click_outside_default = {
|
|
|
259
259
|
var DEFAULT_ENDPOINT = "https://ingest.superdoc.dev/v1/collect";
|
|
260
260
|
function getSuperdocVersion() {
|
|
261
261
|
try {
|
|
262
|
-
return "2.29.0-next.
|
|
262
|
+
return "2.29.0-next.3";
|
|
263
263
|
} catch {
|
|
264
264
|
return "unknown";
|
|
265
265
|
}
|
|
@@ -7384,74 +7384,88 @@ var buildTrackedChangeDecisionLinkIndex = (allComments, previous = /* @__PURE__
|
|
|
7384
7384
|
return next;
|
|
7385
7385
|
};
|
|
7386
7386
|
//#endregion
|
|
7387
|
-
//#region src/stores/
|
|
7388
|
-
var makeTrackedChangeAnchorKey = ({ storyKey, rawId }) => `tc::${storyKey}::${rawId}`;
|
|
7387
|
+
//#region src/stores/helpers/comment-draft-text.ts
|
|
7389
7388
|
var COMMENT_DRAFT_BR_TAG = /<br(?:\s[^>]*)?\s*\/?>/gi;
|
|
7390
7389
|
var COMMENT_DRAFT_BLOCK_BOUNDARY = /(?:<\/(?:p|div|li|blockquote|pre|h[1-6])\s*>\s*)+(?:<(?:p|div|li|blockquote|pre|h[1-6])(?:\s[^>]*)?\s*\/?>)+/gi;
|
|
7391
7390
|
var COMMENT_DRAFT_BLOCK_OPEN_TAG = /<(?:p|div|li|blockquote|pre|h[1-6])(?:\s[^>]*)?\s*\/?>/gi;
|
|
7392
7391
|
var COMMENT_DRAFT_BLOCK_CLOSE_TAG = /<\/(?:p|div|li|blockquote|pre|h[1-6])\s*>/gi;
|
|
7393
7392
|
var COMMENT_DRAFT_ANY_TAG = /<\/?[A-Za-z][A-Za-z0-9:-]*(?:\s[^>]*)?\s*\/?>/g;
|
|
7394
|
-
var COMMENT_DRAFT_ENTITY = /&(#
|
|
7395
|
-
var COMMENT_DRAFT_NAMED_ENTITIES =
|
|
7396
|
-
amp
|
|
7397
|
-
apos
|
|
7398
|
-
gt
|
|
7399
|
-
lt
|
|
7400
|
-
nbsp
|
|
7401
|
-
quot
|
|
7393
|
+
var COMMENT_DRAFT_ENTITY = /&(#[xX][0-9a-fA-F]+|#\d+|[a-zA-Z][a-zA-Z0-9]+);/g;
|
|
7394
|
+
var COMMENT_DRAFT_NAMED_ENTITIES = /* @__PURE__ */ new Map([
|
|
7395
|
+
["amp", "&"],
|
|
7396
|
+
["apos", "'"],
|
|
7397
|
+
["gt", ">"],
|
|
7398
|
+
["lt", "<"],
|
|
7399
|
+
["nbsp", " "],
|
|
7400
|
+
["quot", "\""]
|
|
7401
|
+
]);
|
|
7402
|
+
var decodeCommentDraftEntity = (entity) => {
|
|
7403
|
+
const lower = entity.toLowerCase();
|
|
7404
|
+
const named = COMMENT_DRAFT_NAMED_ENTITIES.get(lower);
|
|
7405
|
+
if (named !== void 0) return named;
|
|
7406
|
+
const radix = lower.startsWith("#x") ? 16 : lower.startsWith("#") ? 10 : null;
|
|
7407
|
+
if (!radix) return null;
|
|
7408
|
+
const value = lower.startsWith("#x") ? lower.slice(2) : lower.slice(1);
|
|
7409
|
+
const codePoint = Number.parseInt(value, radix);
|
|
7410
|
+
if (!Number.isFinite(codePoint)) return null;
|
|
7411
|
+
try {
|
|
7412
|
+
return String.fromCodePoint(codePoint);
|
|
7413
|
+
} catch {
|
|
7414
|
+
return null;
|
|
7415
|
+
}
|
|
7416
|
+
};
|
|
7417
|
+
var decodeCommentDraftEntities = (value) => value.replace(COMMENT_DRAFT_ENTITY, (match, entity) => decodeCommentDraftEntity(entity) ?? match);
|
|
7418
|
+
var normalizeV2CommentDraftText = (value) => {
|
|
7419
|
+
const html = String(value ?? "");
|
|
7420
|
+
if (!html || html === "<p></p>") return "";
|
|
7421
|
+
return decodeCommentDraftEntities(html.replace(COMMENT_DRAFT_BLOCK_BOUNDARY, "\n").replace(COMMENT_DRAFT_BR_TAG, "\n").replace(COMMENT_DRAFT_BLOCK_CLOSE_TAG, "").replace(COMMENT_DRAFT_BLOCK_OPEN_TAG, "").replace(COMMENT_DRAFT_ANY_TAG, ""));
|
|
7402
7422
|
};
|
|
7423
|
+
//#endregion
|
|
7424
|
+
//#region src/stores/helpers/tracked-change-row-values.ts
|
|
7425
|
+
var isObjectOrArray = (value) => require_create_super_doc_ui.isPlainObject(value) || Array.isArray(value);
|
|
7426
|
+
var stringOrEmpty = (value) => typeof value === "string" ? value : "";
|
|
7427
|
+
var makeTrackedChangeAnchorKey = ({ storyKey, rawId }) => `tc::${storyKey}::${rawId}`;
|
|
7403
7428
|
var shallowEqual = (a, b) => {
|
|
7404
7429
|
if (Object.is(a, b)) return true;
|
|
7405
|
-
if (!a || !b
|
|
7430
|
+
if (!isObjectOrArray(a) || !isObjectOrArray(b)) return false;
|
|
7406
7431
|
const aKeys = Object.keys(a);
|
|
7407
7432
|
const bKeys = Object.keys(b);
|
|
7408
7433
|
if (aKeys.length !== bKeys.length) return false;
|
|
7409
7434
|
return aKeys.every((key) => Object.prototype.hasOwnProperty.call(b, key) && Object.is(a[key], b[key]));
|
|
7410
7435
|
};
|
|
7411
|
-
|
|
7412
|
-
|
|
7413
|
-
|
|
7414
|
-
|
|
7415
|
-
|
|
7436
|
+
var elementsShallowEqual = (a, b) => {
|
|
7437
|
+
if (a === b) return true;
|
|
7438
|
+
if (!Array.isArray(a) || !Array.isArray(b) || a.length !== b.length) return false;
|
|
7439
|
+
return a.every((element, index) => shallowEqual(element, b[index]));
|
|
7440
|
+
};
|
|
7416
7441
|
var normalizeTrackedChangeDetailLines = (lines) => {
|
|
7417
7442
|
if (!Array.isArray(lines)) return null;
|
|
7418
|
-
const normalized = lines.filter(
|
|
7419
|
-
excerpt:
|
|
7420
|
-
label:
|
|
7443
|
+
const normalized = lines.filter(isObjectOrArray).map((line) => ({
|
|
7444
|
+
excerpt: stringOrEmpty(line.excerpt),
|
|
7445
|
+
label: stringOrEmpty(line.label)
|
|
7421
7446
|
}));
|
|
7422
7447
|
return normalized.length > 0 ? normalized : null;
|
|
7423
7448
|
};
|
|
7424
|
-
|
|
7425
|
-
* Element-wise equality for detail-line arrays: refresh paths rebuild the
|
|
7426
|
-
* array each pass, so reference equality would rebroadcast every keystroke.
|
|
7427
|
-
*/
|
|
7428
|
-
var trackedChangeDetailLinesEqual = (a, b) => {
|
|
7429
|
-
if (a === b) return true;
|
|
7430
|
-
if (!Array.isArray(a) || !Array.isArray(b) || a.length !== b.length) return false;
|
|
7431
|
-
return a.every((line, index) => shallowEqual(line, b[index]));
|
|
7432
|
-
};
|
|
7449
|
+
var trackedChangeDetailLinesEqual = elementsShallowEqual;
|
|
7433
7450
|
var normalizeTrackedChangeCustomAttributes = (attributes) => {
|
|
7434
7451
|
if (!Array.isArray(attributes)) return null;
|
|
7435
|
-
return attributes.filter(
|
|
7436
|
-
name:
|
|
7437
|
-
namespaceUri:
|
|
7438
|
-
localName:
|
|
7439
|
-
value:
|
|
7452
|
+
return attributes.filter(isObjectOrArray).map((attribute) => ({
|
|
7453
|
+
name: stringOrEmpty(attribute.name),
|
|
7454
|
+
namespaceUri: stringOrEmpty(attribute.namespaceUri),
|
|
7455
|
+
localName: stringOrEmpty(attribute.localName),
|
|
7456
|
+
value: stringOrEmpty(attribute.value)
|
|
7440
7457
|
})).filter((attribute) => attribute.name && attribute.namespaceUri && attribute.localName);
|
|
7441
7458
|
};
|
|
7442
|
-
var trackedChangeCustomAttributesEqual =
|
|
7443
|
-
|
|
7444
|
-
if (!Array.isArray(left) || !Array.isArray(right) || left.length !== right.length) return false;
|
|
7445
|
-
return left.every((attribute, index) => shallowEqual(attribute, right[index]));
|
|
7446
|
-
};
|
|
7459
|
+
var trackedChangeCustomAttributesEqual = elementsShallowEqual;
|
|
7460
|
+
var positiveDimension = (value) => require_is_finite_number.isFiniteNumber(value) && value > 0 ? value : null;
|
|
7447
7461
|
var normalizeTrackedChangeImagePreview = (preview) => {
|
|
7448
|
-
if (!preview
|
|
7462
|
+
if (!isObjectOrArray(preview)) return null;
|
|
7449
7463
|
const src = typeof preview.src === "string" ? preview.src : null;
|
|
7450
7464
|
if (!src || !src.startsWith("data:image/")) return null;
|
|
7451
7465
|
const contentType = typeof preview.contentType === "string" && preview.contentType.startsWith("image/") ? preview.contentType : null;
|
|
7452
7466
|
const role = typeof preview.role === "string" ? preview.role : null;
|
|
7453
|
-
const width =
|
|
7454
|
-
const height =
|
|
7467
|
+
const width = positiveDimension(preview.width);
|
|
7468
|
+
const height = positiveDimension(preview.height);
|
|
7455
7469
|
const alt = typeof preview.alt === "string" && preview.alt.length > 0 ? preview.alt : "Tracked image preview";
|
|
7456
7470
|
return {
|
|
7457
7471
|
src,
|
|
@@ -7462,35 +7476,16 @@ var normalizeTrackedChangeImagePreview = (preview) => {
|
|
|
7462
7476
|
alt
|
|
7463
7477
|
};
|
|
7464
7478
|
};
|
|
7465
|
-
var decodeCommentDraftEntity = (entity) => {
|
|
7466
|
-
const lower = String(entity).toLowerCase();
|
|
7467
|
-
const named = COMMENT_DRAFT_NAMED_ENTITIES[lower];
|
|
7468
|
-
if (named !== void 0) return named;
|
|
7469
|
-
const radix = lower.startsWith("#x") ? 16 : lower.startsWith("#") ? 10 : null;
|
|
7470
|
-
if (!radix) return null;
|
|
7471
|
-
const value = lower.startsWith("#x") ? lower.slice(2) : lower.slice(1);
|
|
7472
|
-
const codePoint = Number.parseInt(value, radix);
|
|
7473
|
-
if (!Number.isFinite(codePoint)) return null;
|
|
7474
|
-
try {
|
|
7475
|
-
return String.fromCodePoint(codePoint);
|
|
7476
|
-
} catch {
|
|
7477
|
-
return null;
|
|
7478
|
-
}
|
|
7479
|
-
};
|
|
7480
|
-
var decodeCommentDraftEntities = (value) => value.replace(COMMENT_DRAFT_ENTITY, (match, entity) => decodeCommentDraftEntity(entity) ?? match);
|
|
7481
|
-
var normalizeV2CommentDraftText = (value) => {
|
|
7482
|
-
const html = String(value ?? "");
|
|
7483
|
-
if (!html || html === "<p></p>") return "";
|
|
7484
|
-
return decodeCommentDraftEntities(html.replace(COMMENT_DRAFT_BLOCK_BOUNDARY, "\n").replace(COMMENT_DRAFT_BR_TAG, "\n").replace(COMMENT_DRAFT_BLOCK_CLOSE_TAG, "").replace(COMMENT_DRAFT_BLOCK_OPEN_TAG, "").replace(COMMENT_DRAFT_ANY_TAG, ""));
|
|
7485
|
-
};
|
|
7486
7479
|
var cloneV2TrackedChangeStory = (story) => {
|
|
7487
|
-
if (!story
|
|
7480
|
+
if (!isObjectOrArray(story)) return null;
|
|
7488
7481
|
const rawStory = require__plugin_vue_export_helper.toRaw(story);
|
|
7489
7482
|
return {
|
|
7490
7483
|
...rawStory,
|
|
7491
|
-
...rawStory.section
|
|
7484
|
+
...isObjectOrArray(rawStory.section) ? { section: { ...require__plugin_vue_export_helper.toRaw(rawStory.section) } } : {}
|
|
7492
7485
|
};
|
|
7493
7486
|
};
|
|
7487
|
+
//#endregion
|
|
7488
|
+
//#region src/stores/comments-store.js
|
|
7494
7489
|
var useCommentsStore = defineStore("comments", () => {
|
|
7495
7490
|
const BODY_TRACKED_CHANGE_STORY = {
|
|
7496
7491
|
kind: "story",
|
|
@@ -11093,7 +11088,7 @@ function useUiFontFamily() {
|
|
|
11093
11088
|
}) };
|
|
11094
11089
|
}
|
|
11095
11090
|
//#endregion
|
|
11096
|
-
//#region src/components/CommentsLayer/CommentsDropdown.vue
|
|
11091
|
+
//#region src/components/CommentsLayer/CommentsDropdown.vue?vue&type=script&setup=true&lang.ts
|
|
11097
11092
|
var _hoisted_1$31 = { class: "comments-dropdown" };
|
|
11098
11093
|
var _hoisted_2$24 = ["onClick"];
|
|
11099
11094
|
var _hoisted_3$21 = {
|
|
@@ -11102,7 +11097,7 @@ var _hoisted_3$21 = {
|
|
|
11102
11097
|
};
|
|
11103
11098
|
var _hoisted_4$15 = ["innerHTML"];
|
|
11104
11099
|
var _hoisted_5$11 = { class: "comments-dropdown__option-label" };
|
|
11105
|
-
var
|
|
11100
|
+
var CommentsDropdown_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ require__plugin_vue_export_helper.defineComponent({
|
|
11106
11101
|
__name: "CommentsDropdown",
|
|
11107
11102
|
props: {
|
|
11108
11103
|
options: {
|
|
@@ -11251,15 +11246,17 @@ var _sfc_main$25 = {
|
|
|
11251
11246
|
}), 128))], 4)) : require__plugin_vue_export_helper.createCommentVNode("", true)]))]);
|
|
11252
11247
|
};
|
|
11253
11248
|
}
|
|
11254
|
-
};
|
|
11255
|
-
var CommentsDropdown_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(_sfc_main$25, [["__scopeId", "data-v-7eced80a"]]);
|
|
11249
|
+
});
|
|
11256
11250
|
//#endregion
|
|
11257
|
-
//#region src/components/CommentsLayer/
|
|
11251
|
+
//#region src/components/CommentsLayer/CommentsDropdown.vue
|
|
11252
|
+
var CommentsDropdown_default = /* @__PURE__ */ require__plugin_vue_export_helper._plugin_vue_export_helper_default(CommentsDropdown_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-70674ffd"]]);
|
|
11253
|
+
//#endregion
|
|
11254
|
+
//#region src/components/CommentsLayer/InternalDropdown.vue?vue&type=script&setup=true&lang.ts
|
|
11258
11255
|
var _hoisted_1$30 = { class: "sd-comment-option" };
|
|
11259
11256
|
var _hoisted_2$23 = ["innerHTML"];
|
|
11260
11257
|
var _hoisted_3$20 = { class: "sd-option-state" };
|
|
11261
11258
|
var _hoisted_4$14 = ["innerHTML"];
|
|
11262
|
-
var
|
|
11259
|
+
var InternalDropdown_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ require__plugin_vue_export_helper.defineComponent({
|
|
11263
11260
|
__name: "InternalDropdown",
|
|
11264
11261
|
props: {
|
|
11265
11262
|
state: {
|
|
@@ -11341,8 +11338,10 @@ var _sfc_main$24 = {
|
|
|
11341
11338
|
}, 8, ["disabled", "content-style"])], 4);
|
|
11342
11339
|
};
|
|
11343
11340
|
}
|
|
11344
|
-
};
|
|
11345
|
-
|
|
11341
|
+
});
|
|
11342
|
+
//#endregion
|
|
11343
|
+
//#region src/components/CommentsLayer/InternalDropdown.vue
|
|
11344
|
+
var InternalDropdown_default = /* @__PURE__ */ require__plugin_vue_export_helper._plugin_vue_export_helper_default(InternalDropdown_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-026f5d66"]]);
|
|
11346
11345
|
//#endregion
|
|
11347
11346
|
//#region src/components/CommentsLayer/helpers.js
|
|
11348
11347
|
/**
|
|
@@ -11375,14 +11374,14 @@ function formatDate(timestamp) {
|
|
|
11375
11374
|
return `${`${formattedHours}:${minutes.toString().padStart(2, "0")}${meridiem}`} ${month} ${day}`;
|
|
11376
11375
|
}
|
|
11377
11376
|
//#endregion
|
|
11378
|
-
//#region src/components/general/Avatar.vue
|
|
11377
|
+
//#region src/components/general/Avatar.vue?vue&type=script&setup=true&lang.ts
|
|
11379
11378
|
var _hoisted_1$29 = { class: "user-container" };
|
|
11380
11379
|
var _hoisted_2$22 = ["src"];
|
|
11381
11380
|
var _hoisted_3$19 = {
|
|
11382
11381
|
key: 1,
|
|
11383
11382
|
class: "user-bg"
|
|
11384
11383
|
};
|
|
11385
|
-
var
|
|
11384
|
+
var Avatar_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ require__plugin_vue_export_helper.defineComponent({
|
|
11386
11385
|
__name: "Avatar",
|
|
11387
11386
|
props: { user: {
|
|
11388
11387
|
type: Object,
|
|
@@ -11406,10 +11405,12 @@ var _sfc_main$23 = {
|
|
|
11406
11405
|
}, null, 8, _hoisted_2$22)) : (require__plugin_vue_export_helper.openBlock(), require__plugin_vue_export_helper.createElementBlock("span", _hoisted_3$19, require__plugin_vue_export_helper.toDisplayString(getInitials(__props.user.name, __props.user.email)), 1))]);
|
|
11407
11406
|
};
|
|
11408
11407
|
}
|
|
11409
|
-
};
|
|
11410
|
-
var Avatar_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(_sfc_main$23, [["__scopeId", "data-v-c95b2073"]]);
|
|
11408
|
+
});
|
|
11411
11409
|
//#endregion
|
|
11412
|
-
//#region src/components/
|
|
11410
|
+
//#region src/components/general/Avatar.vue
|
|
11411
|
+
var Avatar_default = /* @__PURE__ */ require__plugin_vue_export_helper._plugin_vue_export_helper_default(Avatar_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-0b3a0868"]]);
|
|
11412
|
+
//#endregion
|
|
11413
|
+
//#region src/components/CommentsLayer/CommentHeader.vue?vue&type=script&setup=true&lang.ts
|
|
11413
11414
|
var _hoisted_1$28 = { class: "card-section comment-header" };
|
|
11414
11415
|
var _hoisted_2$21 = { class: "comment-header-left" };
|
|
11415
11416
|
var _hoisted_3$18 = { class: "user-info" };
|
|
@@ -11439,7 +11440,7 @@ var _hoisted_9$4 = [
|
|
|
11439
11440
|
];
|
|
11440
11441
|
var _hoisted_10$4 = { class: "overflow-menu__icon" };
|
|
11441
11442
|
var _hoisted_11$4 = ["innerHTML"];
|
|
11442
|
-
var
|
|
11443
|
+
var CommentHeader_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ require__plugin_vue_export_helper.defineComponent({
|
|
11443
11444
|
__name: "CommentHeader",
|
|
11444
11445
|
props: {
|
|
11445
11446
|
timestamp: {
|
|
@@ -11452,7 +11453,7 @@ var _sfc_main$22 = {
|
|
|
11452
11453
|
},
|
|
11453
11454
|
comment: {
|
|
11454
11455
|
type: Object,
|
|
11455
|
-
required:
|
|
11456
|
+
required: true
|
|
11456
11457
|
},
|
|
11457
11458
|
isPendingInput: {
|
|
11458
11459
|
type: Boolean,
|
|
@@ -11494,9 +11495,9 @@ var _sfc_main$22 = {
|
|
|
11494
11495
|
const emit = __emit;
|
|
11495
11496
|
const commentsStore = useCommentsStore();
|
|
11496
11497
|
const props = __props;
|
|
11497
|
-
const { proxy } =
|
|
11498
|
-
const role =
|
|
11499
|
-
const isInternal =
|
|
11498
|
+
const { proxy, superdoc } = useSuperDocInstance();
|
|
11499
|
+
const role = superdoc.config.role;
|
|
11500
|
+
const isInternal = superdoc.config.isInternal;
|
|
11500
11501
|
const isCommentOwnedByCurrentUser = (comment) => {
|
|
11501
11502
|
const currentUser = proxy.$superdoc.config.user;
|
|
11502
11503
|
const otherUser = {
|
|
@@ -11719,10 +11720,12 @@ var _sfc_main$22 = {
|
|
|
11719
11720
|
], 2)]);
|
|
11720
11721
|
};
|
|
11721
11722
|
}
|
|
11722
|
-
};
|
|
11723
|
-
var CommentHeader_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(_sfc_main$22, [["__scopeId", "data-v-3af1135b"]]);
|
|
11723
|
+
});
|
|
11724
11724
|
//#endregion
|
|
11725
|
-
//#region src/components/CommentsLayer/
|
|
11725
|
+
//#region src/components/CommentsLayer/CommentHeader.vue
|
|
11726
|
+
var CommentHeader_default = /* @__PURE__ */ require__plugin_vue_export_helper._plugin_vue_export_helper_default(CommentHeader_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-5831e876"]]);
|
|
11727
|
+
//#endregion
|
|
11728
|
+
//#region src/components/CommentsLayer/CommentInput.vue?vue&type=script&setup=true&lang.ts
|
|
11726
11729
|
var _hoisted_1$27 = { class: "input-section" };
|
|
11727
11730
|
var _hoisted_2$20 = { class: "comment-composer" };
|
|
11728
11731
|
var _hoisted_3$17 = [
|
|
@@ -11742,7 +11745,7 @@ var _hoisted_6$7 = {
|
|
|
11742
11745
|
class: "comment-mention-option__email"
|
|
11743
11746
|
};
|
|
11744
11747
|
var commentInputSequence = 0;
|
|
11745
|
-
var
|
|
11748
|
+
var CommentInput_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ require__plugin_vue_export_helper.defineComponent({
|
|
11746
11749
|
__name: "CommentInput",
|
|
11747
11750
|
props: {
|
|
11748
11751
|
users: {
|
|
@@ -11764,7 +11767,7 @@ var _sfc_main$21 = {
|
|
|
11764
11767
|
},
|
|
11765
11768
|
comment: {
|
|
11766
11769
|
type: Object,
|
|
11767
|
-
required:
|
|
11770
|
+
required: true
|
|
11768
11771
|
}
|
|
11769
11772
|
},
|
|
11770
11773
|
emits: ["focus"],
|
|
@@ -11851,7 +11854,8 @@ var _sfc_main$21 = {
|
|
|
11851
11854
|
};
|
|
11852
11855
|
const onInput = (event) => {
|
|
11853
11856
|
currentCommentMentions.value = currentCommentMentions.value.filter((user) => commentDraft.value.includes(`@${displayName(user)}`));
|
|
11854
|
-
|
|
11857
|
+
const caret = event.target instanceof HTMLTextAreaElement ? event.target.selectionStart : null;
|
|
11858
|
+
updateMentionQuery(caret ?? commentDraft.value.length);
|
|
11855
11859
|
syncInputHeight();
|
|
11856
11860
|
};
|
|
11857
11861
|
const selectMention = (user) => {
|
|
@@ -11940,8 +11944,10 @@ var _sfc_main$21 = {
|
|
|
11940
11944
|
}), 128))])) : require__plugin_vue_export_helper.createCommentVNode("", true)])], 2)]);
|
|
11941
11945
|
};
|
|
11942
11946
|
}
|
|
11943
|
-
};
|
|
11944
|
-
|
|
11947
|
+
});
|
|
11948
|
+
//#endregion
|
|
11949
|
+
//#region src/components/CommentsLayer/CommentInput.vue
|
|
11950
|
+
var CommentInput_default = /* @__PURE__ */ require__plugin_vue_export_helper._plugin_vue_export_helper_default(CommentInput_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-aa97de44"]]);
|
|
11945
11951
|
//#endregion
|
|
11946
11952
|
//#region src/internal/toolbar/built-in/url-safety.js
|
|
11947
11953
|
/**
|
|
@@ -13388,9 +13394,9 @@ var CommentDialog_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ re
|
|
|
13388
13394
|
});
|
|
13389
13395
|
//#endregion
|
|
13390
13396
|
//#region src/components/CommentsLayer/CommentDialog.vue
|
|
13391
|
-
var CommentDialog_default = /* @__PURE__ */ require__plugin_vue_export_helper._plugin_vue_export_helper_default(CommentDialog_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
13397
|
+
var CommentDialog_default = /* @__PURE__ */ require__plugin_vue_export_helper._plugin_vue_export_helper_default(CommentDialog_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-90d88bf5"]]);
|
|
13392
13398
|
//#endregion
|
|
13393
|
-
//#region src/components/CommentsLayer/commentsList/ReviewDirectoryListItem.vue
|
|
13399
|
+
//#region src/components/CommentsLayer/commentsList/ReviewDirectoryListItem.vue?vue&type=script&setup=true&lang.ts
|
|
13394
13400
|
var _hoisted_1$25 = [
|
|
13395
13401
|
"tabindex",
|
|
13396
13402
|
"aria-posinset",
|
|
@@ -13402,7 +13408,7 @@ var _hoisted_1$25 = [
|
|
|
13402
13408
|
"data-comment-page-index",
|
|
13403
13409
|
"data-review-directory-index"
|
|
13404
13410
|
];
|
|
13405
|
-
var
|
|
13411
|
+
var ReviewDirectoryListItem_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ require__plugin_vue_export_helper.defineComponent({
|
|
13406
13412
|
__name: "ReviewDirectoryListItem",
|
|
13407
13413
|
props: {
|
|
13408
13414
|
item: {
|
|
@@ -13451,12 +13457,15 @@ var _sfc_main$20 = {
|
|
|
13451
13457
|
});
|
|
13452
13458
|
const measure = () => {
|
|
13453
13459
|
const height = shell.value?.getBoundingClientRect?.().height;
|
|
13454
|
-
if (
|
|
13460
|
+
if (require_is_finite_number.isFiniteNumber(height) && height > 0) measuredHeight.value = height;
|
|
13455
13461
|
};
|
|
13456
13462
|
const onFocusIn = () => {
|
|
13457
13463
|
containsFocus.value = true;
|
|
13458
13464
|
emit("focus-item", props.index);
|
|
13459
13465
|
};
|
|
13466
|
+
const onFocusOut = (event) => {
|
|
13467
|
+
containsFocus.value = event.relatedTarget instanceof Node && shell.value?.contains(event.relatedTarget) === true;
|
|
13468
|
+
};
|
|
13460
13469
|
const onKeydown = (event) => {
|
|
13461
13470
|
if (![
|
|
13462
13471
|
"ArrowDown",
|
|
@@ -13464,7 +13473,7 @@ var _sfc_main$20 = {
|
|
|
13464
13473
|
"Home",
|
|
13465
13474
|
"End"
|
|
13466
13475
|
].includes(event.key)) return;
|
|
13467
|
-
if (event.target
|
|
13476
|
+
if (event.target instanceof Element && event.target.closest("input, textarea, select, button, [contenteditable=\"true\"]")) return;
|
|
13468
13477
|
event.preventDefault();
|
|
13469
13478
|
emit("navigate", {
|
|
13470
13479
|
index: props.index,
|
|
@@ -13472,6 +13481,8 @@ var _sfc_main$20 = {
|
|
|
13472
13481
|
});
|
|
13473
13482
|
};
|
|
13474
13483
|
require__plugin_vue_export_helper.onMounted(() => {
|
|
13484
|
+
const element = shell.value;
|
|
13485
|
+
if (!element) return;
|
|
13475
13486
|
if (typeof IntersectionObserver !== "undefined") {
|
|
13476
13487
|
intersectionObserver = new IntersectionObserver((entries) => {
|
|
13477
13488
|
const entry = entries[0];
|
|
@@ -13482,11 +13493,11 @@ var _sfc_main$20 = {
|
|
|
13482
13493
|
root: null,
|
|
13483
13494
|
rootMargin: "600px 0px"
|
|
13484
13495
|
});
|
|
13485
|
-
intersectionObserver.observe(
|
|
13496
|
+
intersectionObserver.observe(element);
|
|
13486
13497
|
}
|
|
13487
13498
|
if (typeof ResizeObserver !== "undefined") {
|
|
13488
13499
|
resizeObserver = new ResizeObserver(measure);
|
|
13489
|
-
resizeObserver.observe(
|
|
13500
|
+
resizeObserver.observe(element);
|
|
13490
13501
|
}
|
|
13491
13502
|
require__plugin_vue_export_helper.nextTick(measure);
|
|
13492
13503
|
});
|
|
@@ -13511,7 +13522,7 @@ var _sfc_main$20 = {
|
|
|
13511
13522
|
"data-comment-page-index": Number.isFinite(__props.item.floatingPageIndex) ? __props.item.floatingPageIndex : "",
|
|
13512
13523
|
"data-review-directory-index": __props.index,
|
|
13513
13524
|
onFocusin: onFocusIn,
|
|
13514
|
-
onFocusout:
|
|
13525
|
+
onFocusout: onFocusOut,
|
|
13515
13526
|
onKeydown
|
|
13516
13527
|
}, [materialized.value ? (require__plugin_vue_export_helper.openBlock(), require__plugin_vue_export_helper.createBlock(CommentDialog_default, {
|
|
13517
13528
|
key: 0,
|
|
@@ -13532,15 +13543,17 @@ var _sfc_main$20 = {
|
|
|
13532
13543
|
])) : require__plugin_vue_export_helper.createCommentVNode("", true)], 44, _hoisted_1$25);
|
|
13533
13544
|
};
|
|
13534
13545
|
}
|
|
13535
|
-
};
|
|
13536
|
-
var ReviewDirectoryListItem_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(_sfc_main$20, [["__scopeId", "data-v-29650a06"]]);
|
|
13546
|
+
});
|
|
13537
13547
|
//#endregion
|
|
13538
|
-
//#region src/components/CommentsLayer/commentsList/
|
|
13548
|
+
//#region src/components/CommentsLayer/commentsList/ReviewDirectoryListItem.vue
|
|
13549
|
+
var ReviewDirectoryListItem_default = /* @__PURE__ */ require__plugin_vue_export_helper._plugin_vue_export_helper_default(ReviewDirectoryListItem_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-db6ccae8"]]);
|
|
13550
|
+
//#endregion
|
|
13551
|
+
//#region src/components/CommentsLayer/commentsList/commentsList.vue?vue&type=script&setup=true&lang.ts
|
|
13539
13552
|
var _hoisted_1$24 = ["aria-busy"];
|
|
13540
13553
|
var _hoisted_2$18 = { key: 0 };
|
|
13541
13554
|
var _hoisted_3$15 = { key: 1 };
|
|
13542
13555
|
var REPEATED_HEADER_FOOTER_STORY_TYPE = "headerFooterPart";
|
|
13543
|
-
var
|
|
13556
|
+
var commentsList_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ require__plugin_vue_export_helper.defineComponent({
|
|
13544
13557
|
__name: "commentsList",
|
|
13545
13558
|
props: {
|
|
13546
13559
|
showMainComments: {
|
|
@@ -13554,12 +13567,13 @@ var _sfc_main$19 = {
|
|
|
13554
13567
|
},
|
|
13555
13568
|
setup(__props) {
|
|
13556
13569
|
const props = __props;
|
|
13557
|
-
const
|
|
13570
|
+
const piniaCommentsStore = useCommentsStore();
|
|
13571
|
+
const commentsStore = piniaCommentsStore;
|
|
13558
13572
|
const listRoot = require__plugin_vue_export_helper.ref(null);
|
|
13559
13573
|
const rovingIndex = require__plugin_vue_export_helper.ref(0);
|
|
13560
13574
|
const isCommentsListVisible = require__plugin_vue_export_helper.toRef(commentsStore, "isCommentsListVisible");
|
|
13561
13575
|
const floatingCommentInstances = require__plugin_vue_export_helper.computed(() => commentsStore.getFloatingCommentInstances);
|
|
13562
|
-
const { activeComment, activeFloatingCommentInstanceId, commentsList, reviewDirectoryList, isReviewDirectoryActive, isReviewDirectoryLoading } = storeToRefs(
|
|
13576
|
+
const { activeComment, activeFloatingCommentInstanceId, commentsList, reviewDirectoryList, isReviewDirectoryActive, isReviewDirectoryLoading } = storeToRefs(piniaCommentsStore);
|
|
13563
13577
|
const groupedComments = require__plugin_vue_export_helper.computed(() => isReviewDirectoryActive.value ? commentsStore.getGroupedReviewDirectory : commentsStore.getGroupedComments);
|
|
13564
13578
|
const reviewRows = require__plugin_vue_export_helper.computed(() => isReviewDirectoryActive.value ? reviewDirectoryList.value : commentsList.value);
|
|
13565
13579
|
const commentAliases = (comment) => [
|
|
@@ -13590,11 +13604,15 @@ var _sfc_main$19 = {
|
|
|
13590
13604
|
}
|
|
13591
13605
|
return [parentComment];
|
|
13592
13606
|
};
|
|
13607
|
+
const getStoryType = (comment) => {
|
|
13608
|
+
const story = comment?.trackedChangeStory;
|
|
13609
|
+
return typeof story === "object" && story !== null ? story.storyType : void 0;
|
|
13610
|
+
};
|
|
13593
13611
|
const getRepeatedHeaderFooterInstances = (comment) => {
|
|
13594
13612
|
const matchingInstances = floatingCommentInstances.value.filter((instance) => instance?.comment?.commentId === comment?.commentId);
|
|
13595
13613
|
if (matchingInstances.length < 2) return [];
|
|
13596
13614
|
if (!comment?.trackedChange) return [];
|
|
13597
|
-
if (comment
|
|
13615
|
+
if (getStoryType(comment) !== REPEATED_HEADER_FOOTER_STORY_TYPE) return [];
|
|
13598
13616
|
return matchingInstances;
|
|
13599
13617
|
};
|
|
13600
13618
|
const isRepeatedInstanceActive = (instance) => {
|
|
@@ -13651,8 +13669,9 @@ var _sfc_main$19 = {
|
|
|
13651
13669
|
rovingIndex.value = nextIndex;
|
|
13652
13670
|
await require__plugin_vue_export_helper.nextTick();
|
|
13653
13671
|
const target = listRoot.value?.querySelector?.(`[data-review-directory-index="${nextIndex}"]`);
|
|
13654
|
-
target
|
|
13655
|
-
target?.
|
|
13672
|
+
if (!(target instanceof HTMLElement)) return;
|
|
13673
|
+
target.scrollIntoView?.({ block: "nearest" });
|
|
13674
|
+
target.focus?.({ preventScroll: true });
|
|
13656
13675
|
};
|
|
13657
13676
|
require__plugin_vue_export_helper.onMounted(() => {
|
|
13658
13677
|
isCommentsListVisible.value = true;
|
|
@@ -13700,8 +13719,10 @@ var _sfc_main$19 = {
|
|
|
13700
13719
|
}), 128))])) : require__plugin_vue_export_helper.createCommentVNode("", true)], 8, _hoisted_1$24);
|
|
13701
13720
|
};
|
|
13702
13721
|
}
|
|
13703
|
-
};
|
|
13704
|
-
|
|
13722
|
+
});
|
|
13723
|
+
//#endregion
|
|
13724
|
+
//#region src/components/CommentsLayer/commentsList/commentsList.vue
|
|
13725
|
+
var commentsList_default = /* @__PURE__ */ require__plugin_vue_export_helper._plugin_vue_export_helper_default(commentsList_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-8eca48e1"]]);
|
|
13705
13726
|
//#endregion
|
|
13706
13727
|
//#region src/components/CommentsLayer/commentsList/super-comments-list.js
|
|
13707
13728
|
/**
|
|
@@ -15327,9 +15348,9 @@ var FloatingComments_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
|
|
|
15327
15348
|
});
|
|
15328
15349
|
//#endregion
|
|
15329
15350
|
//#region src/components/CommentsLayer/FloatingComments.vue
|
|
15330
|
-
var FloatingComments_default = /* @__PURE__ */ require__plugin_vue_export_helper._plugin_vue_export_helper_default(FloatingComments_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
15351
|
+
var FloatingComments_default = /* @__PURE__ */ require__plugin_vue_export_helper._plugin_vue_export_helper_default(FloatingComments_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-0655e424"]]);
|
|
15331
15352
|
//#endregion
|
|
15332
|
-
//#region src/components/CommentsLayer/PdfCommentsLayer.vue
|
|
15353
|
+
//#region src/components/CommentsLayer/PdfCommentsLayer.vue?vue&type=script&setup=true&lang.ts
|
|
15333
15354
|
var _hoisted_1$22 = {
|
|
15334
15355
|
class: "superdoc__pdf-comments-layer pdf-comments-layer",
|
|
15335
15356
|
"aria-hidden": "false"
|
|
@@ -15344,7 +15365,7 @@ var _hoisted_2$17 = [
|
|
|
15344
15365
|
var PDF_SELECTION_SOURCE = "pdf";
|
|
15345
15366
|
var INTERNAL_HIGHLIGHT_COLOR = "#078383";
|
|
15346
15367
|
var EXTERNAL_HIGHLIGHT_COLOR = "#B1124B";
|
|
15347
|
-
var
|
|
15368
|
+
var PdfCommentsLayer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ require__plugin_vue_export_helper.defineComponent({
|
|
15348
15369
|
__name: "PdfCommentsLayer",
|
|
15349
15370
|
emits: ["anchor-activate"],
|
|
15350
15371
|
setup(__props, { emit: __emit }) {
|
|
@@ -15363,11 +15384,12 @@ var PdfCommentsLayer_default = /*#__PURE__*/ require__plugin_vue_export_helper._
|
|
|
15363
15384
|
* on-document DOCX comment markers.
|
|
15364
15385
|
*/
|
|
15365
15386
|
const emit = __emit;
|
|
15366
|
-
const
|
|
15387
|
+
const piniaCommentsStore = useCommentsStore();
|
|
15388
|
+
const commentsStore = piniaCommentsStore;
|
|
15367
15389
|
const superdocStore = useSuperdocStore();
|
|
15368
|
-
const { activeComment } = storeToRefs(
|
|
15390
|
+
const { activeComment } = storeToRefs(piniaCommentsStore);
|
|
15369
15391
|
const { documents, activeZoom } = storeToRefs(superdocStore);
|
|
15370
|
-
const { proxy } =
|
|
15392
|
+
const { proxy } = useSuperDocInstance();
|
|
15371
15393
|
const isFiniteNumber = (value) => {
|
|
15372
15394
|
if (typeof value === "number") return Number.isFinite(value);
|
|
15373
15395
|
if (typeof value === "string" && value.trim() !== "") return Number.isFinite(Number(value));
|
|
@@ -15406,15 +15428,20 @@ var PdfCommentsLayer_default = /*#__PURE__*/ require__plugin_vue_export_helper._
|
|
|
15406
15428
|
const pdfCommentAnchors = require__plugin_vue_export_helper.computed(() => {
|
|
15407
15429
|
const parentComments = commentsStore.getFloatingComments;
|
|
15408
15430
|
if (!Array.isArray(parentComments)) return [];
|
|
15409
|
-
return parentComments.
|
|
15431
|
+
return parentComments.flatMap((comment) => {
|
|
15432
|
+
if (comment?.selection?.source !== PDF_SELECTION_SOURCE) return [];
|
|
15433
|
+
if (comment.resolvedTime) return [];
|
|
15410
15434
|
const commentId = getAnchorCommentId(comment);
|
|
15411
|
-
|
|
15412
|
-
|
|
15435
|
+
if (commentId === null) return [];
|
|
15436
|
+
const selectionBounds = comment.selection.selectionBounds;
|
|
15437
|
+
if (!hasFiniteBounds(selectionBounds)) return [];
|
|
15438
|
+
if (!belongsToOpenPdfDocument(comment)) return [];
|
|
15439
|
+
return [{
|
|
15413
15440
|
commentId,
|
|
15414
|
-
page: comment.selection
|
|
15441
|
+
page: comment.selection.page ?? null,
|
|
15415
15442
|
isInternal: comment.isInternal !== false,
|
|
15416
|
-
bounds
|
|
15417
|
-
};
|
|
15443
|
+
bounds: normalizeBounds(selectionBounds)
|
|
15444
|
+
}];
|
|
15418
15445
|
});
|
|
15419
15446
|
});
|
|
15420
15447
|
const getAnchorStyle = (anchor) => {
|
|
@@ -15452,7 +15479,10 @@ var PdfCommentsLayer_default = /*#__PURE__*/ require__plugin_vue_export_helper._
|
|
|
15452
15479
|
}), 128))]);
|
|
15453
15480
|
};
|
|
15454
15481
|
}
|
|
15455
|
-
}
|
|
15482
|
+
});
|
|
15483
|
+
//#endregion
|
|
15484
|
+
//#region src/components/CommentsLayer/PdfCommentsLayer.vue
|
|
15485
|
+
var PdfCommentsLayer_default = /* @__PURE__ */ require__plugin_vue_export_helper._plugin_vue_export_helper_default(PdfCommentsLayer_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-86166837"]]);
|
|
15456
15486
|
//#endregion
|
|
15457
15487
|
//#region src/components/Whiteboard/use-whiteboard.js
|
|
15458
15488
|
var useWhiteboard = ({ proxy, layers, documents, modules }) => {
|
|
@@ -15606,7 +15636,7 @@ var useWhiteboard = ({ proxy, layers, documents, modules }) => {
|
|
|
15606
15636
|
//#endregion
|
|
15607
15637
|
//#region src/components/Whiteboard/WhiteboardPage.vue
|
|
15608
15638
|
var _hoisted_1$21 = ["data-page-index"];
|
|
15609
|
-
var _sfc_main$
|
|
15639
|
+
var _sfc_main$2 = {
|
|
15610
15640
|
__name: "WhiteboardPage",
|
|
15611
15641
|
props: {
|
|
15612
15642
|
whiteboard: {
|
|
@@ -15741,10 +15771,10 @@ var _sfc_main$17 = {
|
|
|
15741
15771
|
};
|
|
15742
15772
|
}
|
|
15743
15773
|
};
|
|
15744
|
-
var WhiteboardPage_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(_sfc_main$
|
|
15774
|
+
var WhiteboardPage_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(_sfc_main$2, [["__scopeId", "data-v-c876c9b5"]]);
|
|
15745
15775
|
//#endregion
|
|
15746
15776
|
//#region src/components/Whiteboard/WhiteboardLayer.vue
|
|
15747
|
-
var _sfc_main$
|
|
15777
|
+
var _sfc_main$1 = {
|
|
15748
15778
|
__name: "WhiteboardLayer",
|
|
15749
15779
|
props: {
|
|
15750
15780
|
whiteboard: {
|
|
@@ -15813,7 +15843,7 @@ var _sfc_main$16 = {
|
|
|
15813
15843
|
};
|
|
15814
15844
|
}
|
|
15815
15845
|
};
|
|
15816
|
-
var WhiteboardLayer_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(_sfc_main$
|
|
15846
|
+
var WhiteboardLayer_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(_sfc_main$1, [["__scopeId", "data-v-54546c3d"]]);
|
|
15817
15847
|
//#endregion
|
|
15818
15848
|
//#region src/components/CommentsLayer/collect-removed-comment-ids.js
|
|
15819
15849
|
/**
|
|
@@ -16835,7 +16865,7 @@ function usePasswordPrompt({ getSurfaceManager, getPasswordPromptConfig, onUnhan
|
|
|
16835
16865
|
})
|
|
16836
16866
|
});
|
|
16837
16867
|
} else {
|
|
16838
|
-
const PasswordPromptSurface = (await Promise.resolve().then(() => require("./chunks/PasswordPromptSurface-
|
|
16868
|
+
const PasswordPromptSurface = (await Promise.resolve().then(() => require("./chunks/PasswordPromptSurface-BNkaztaP.cjs"))).default;
|
|
16839
16869
|
const surfaceId = `password-prompt-${doc.id}`;
|
|
16840
16870
|
handle = manager.open({
|
|
16841
16871
|
id: surfaceId,
|
|
@@ -17530,7 +17560,7 @@ function useFindReplace({ getSurfaceManager, getActiveEditor, activeEditorRef, g
|
|
|
17530
17560
|
} else {
|
|
17531
17561
|
let FindReplaceSurface;
|
|
17532
17562
|
try {
|
|
17533
|
-
FindReplaceSurface = (await Promise.resolve().then(() => require("./chunks/FindReplaceSurface-
|
|
17563
|
+
FindReplaceSurface = (await Promise.resolve().then(() => require("./chunks/FindReplaceSurface-BNDrJ6VS.cjs"))).default;
|
|
17534
17564
|
} catch {
|
|
17535
17565
|
opening = false;
|
|
17536
17566
|
return;
|
|
@@ -19597,6 +19627,9 @@ function createV2EditorRuntimeAdapter(options) {
|
|
|
19597
19627
|
setDocumentMode(mode) {
|
|
19598
19628
|
host.setDocumentMode(mode);
|
|
19599
19629
|
},
|
|
19630
|
+
async setUser(user) {
|
|
19631
|
+
await host.setUser?.(user);
|
|
19632
|
+
},
|
|
19600
19633
|
getDocumentMode: () => host.getDocumentMode(),
|
|
19601
19634
|
setTrackedChangesRenderOptions(options) {
|
|
19602
19635
|
host.setTrackedChangesRenderOptions(options);
|
|
@@ -20440,11 +20473,11 @@ var SurfaceDialog_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ re
|
|
|
20440
20473
|
//#region src/components/surfaces/SurfaceDialog.vue
|
|
20441
20474
|
var SurfaceDialog_default = /* @__PURE__ */ require__plugin_vue_export_helper._plugin_vue_export_helper_default(SurfaceDialog_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-6ce23dd7"]]);
|
|
20442
20475
|
//#endregion
|
|
20443
|
-
//#region src/components/surfaces/SurfaceFloating.vue
|
|
20476
|
+
//#region src/components/surfaces/SurfaceFloating.vue?vue&type=script&setup=true&lang.ts
|
|
20444
20477
|
var _hoisted_1$18 = ["aria-labelledby", "aria-label"];
|
|
20445
20478
|
var _hoisted_2$14 = ["id"];
|
|
20446
20479
|
var _hoisted_3$12 = { class: "sd-surface-floating__content" };
|
|
20447
|
-
var
|
|
20480
|
+
var SurfaceFloating_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ require__plugin_vue_export_helper.defineComponent({
|
|
20448
20481
|
__name: "SurfaceFloating",
|
|
20449
20482
|
props: { surface: {
|
|
20450
20483
|
type: Object,
|
|
@@ -20592,11 +20625,13 @@ var _sfc_main$15 = {
|
|
|
20592
20625
|
])) : __props.surface.component ? (require__plugin_vue_export_helper.openBlock(), require__plugin_vue_export_helper.createBlock(require__plugin_vue_export_helper.resolveDynamicComponent(__props.surface.component), require__plugin_vue_export_helper.normalizeProps(require__plugin_vue_export_helper.mergeProps({ key: 1 }, mergedComponentProps.value)), null, 16)) : require__plugin_vue_export_helper.createCommentVNode("", true)])], 14, _hoisted_1$18);
|
|
20593
20626
|
};
|
|
20594
20627
|
}
|
|
20595
|
-
};
|
|
20596
|
-
var SurfaceFloating_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(_sfc_main$15, [["__scopeId", "data-v-cd2be5db"]]);
|
|
20628
|
+
});
|
|
20597
20629
|
//#endregion
|
|
20598
|
-
//#region src/components/surfaces/
|
|
20599
|
-
var
|
|
20630
|
+
//#region src/components/surfaces/SurfaceFloating.vue
|
|
20631
|
+
var SurfaceFloating_default = /* @__PURE__ */ require__plugin_vue_export_helper._plugin_vue_export_helper_default(SurfaceFloating_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-d26a1197"]]);
|
|
20632
|
+
//#endregion
|
|
20633
|
+
//#region src/components/surfaces/SurfaceHost.vue?vue&type=script&setup=true&lang.ts
|
|
20634
|
+
var SurfaceHost_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ require__plugin_vue_export_helper.defineComponent({
|
|
20600
20635
|
__name: "SurfaceHost",
|
|
20601
20636
|
props: { geometryTarget: {
|
|
20602
20637
|
type: Object,
|
|
@@ -20746,7 +20781,7 @@ var _sfc_main$14 = {
|
|
|
20746
20781
|
if (dialog.value) return;
|
|
20747
20782
|
if (event.key === "Escape" && f.request.closeOnEscape !== false) {
|
|
20748
20783
|
event.stopPropagation();
|
|
20749
|
-
surfaceManager
|
|
20784
|
+
surfaceManager?.close(f.id);
|
|
20750
20785
|
}
|
|
20751
20786
|
}
|
|
20752
20787
|
let escapeListenerAttached = false;
|
|
@@ -20765,7 +20800,8 @@ var _sfc_main$14 = {
|
|
|
20765
20800
|
if (!f || f.settled) return;
|
|
20766
20801
|
if (dialog.value) return;
|
|
20767
20802
|
const rootEl = floatingRef.value?.rootEl;
|
|
20768
|
-
|
|
20803
|
+
const target = event.target instanceof Node ? event.target : null;
|
|
20804
|
+
if (rootEl && !rootEl.contains(target)) surfaceManager?.close(f.id);
|
|
20769
20805
|
}
|
|
20770
20806
|
let pointerListenerAttached = false;
|
|
20771
20807
|
function attachPointerListener() {
|
|
@@ -20795,7 +20831,7 @@ var _sfc_main$14 = {
|
|
|
20795
20831
|
});
|
|
20796
20832
|
function handleDialogClose() {
|
|
20797
20833
|
const d = dialog.value;
|
|
20798
|
-
if (d && !d.settled) surfaceManager
|
|
20834
|
+
if (d && !d.settled) surfaceManager?.close(d.id);
|
|
20799
20835
|
}
|
|
20800
20836
|
return (_ctx, _cache) => {
|
|
20801
20837
|
return require__plugin_vue_export_helper.openBlock(), require__plugin_vue_export_helper.createBlock(require__plugin_vue_export_helper.Teleport, { to: "body" }, [hasAnySurface.value ? (require__plugin_vue_export_helper.openBlock(), require__plugin_vue_export_helper.createElementBlock("div", {
|
|
@@ -20817,8 +20853,10 @@ var _sfc_main$14 = {
|
|
|
20817
20853
|
}, null, 8, ["surface", "scroll-lock-target"])) : require__plugin_vue_export_helper.createCommentVNode("", true)]);
|
|
20818
20854
|
};
|
|
20819
20855
|
}
|
|
20820
|
-
};
|
|
20821
|
-
|
|
20856
|
+
});
|
|
20857
|
+
//#endregion
|
|
20858
|
+
//#region src/components/surfaces/SurfaceHost.vue
|
|
20859
|
+
var SurfaceHost_default = /* @__PURE__ */ require__plugin_vue_export_helper._plugin_vue_export_helper_default(SurfaceHost_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-ae02e94c"]]);
|
|
20822
20860
|
//#endregion
|
|
20823
20861
|
//#region src/SuperDoc.vue?vue&type=script&setup=true&lang.ts
|
|
20824
20862
|
var _hoisted_1$17 = ["data-superdoc-ui-owner"];
|
|
@@ -23452,7 +23490,7 @@ var SuperDoc_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ require
|
|
|
23452
23490
|
});
|
|
23453
23491
|
//#endregion
|
|
23454
23492
|
//#region src/SuperDoc.vue
|
|
23455
|
-
var SuperDoc_default = /* @__PURE__ */ require__plugin_vue_export_helper._plugin_vue_export_helper_default(SuperDoc_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
23493
|
+
var SuperDoc_default = /* @__PURE__ */ require__plugin_vue_export_helper._plugin_vue_export_helper_default(SuperDoc_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-0c6f8747"]]);
|
|
23456
23494
|
//#endregion
|
|
23457
23495
|
//#region src/core/create-app.js
|
|
23458
23496
|
var PINIA_DEVTOOLS_SETUP_EVENT = "devtools-plugin:setup";
|
|
@@ -38292,13 +38330,13 @@ var ToolbarButton_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ re
|
|
|
38292
38330
|
//#region src/internal/toolbar/built-in/ToolbarButton.vue
|
|
38293
38331
|
var ToolbarButton_default = /* @__PURE__ */ require__plugin_vue_export_helper._plugin_vue_export_helper_default(ToolbarButton_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-40889353"]]);
|
|
38294
38332
|
//#endregion
|
|
38295
|
-
//#region src/internal/toolbar/built-in/ToolbarSeparator.vue
|
|
38333
|
+
//#region src/internal/toolbar/built-in/ToolbarSeparator.vue?vue&type=script&setup=true&lang.ts
|
|
38296
38334
|
var _hoisted_1$14 = {
|
|
38297
38335
|
class: "toolbar-separator",
|
|
38298
38336
|
role: "separator",
|
|
38299
38337
|
"aria-label": "Toolbar separator"
|
|
38300
38338
|
};
|
|
38301
|
-
var
|
|
38339
|
+
var ToolbarSeparator_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ require__plugin_vue_export_helper.defineComponent({
|
|
38302
38340
|
__name: "ToolbarSeparator",
|
|
38303
38341
|
props: { active: {
|
|
38304
38342
|
type: Boolean,
|
|
@@ -38318,8 +38356,10 @@ var _sfc_main$13 = {
|
|
|
38318
38356
|
}, null, 4)]);
|
|
38319
38357
|
};
|
|
38320
38358
|
}
|
|
38321
|
-
};
|
|
38322
|
-
|
|
38359
|
+
});
|
|
38360
|
+
//#endregion
|
|
38361
|
+
//#region src/internal/toolbar/built-in/ToolbarSeparator.vue
|
|
38362
|
+
var ToolbarSeparator_default = /* @__PURE__ */ require__plugin_vue_export_helper._plugin_vue_export_helper_default(ToolbarSeparator_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-10932d46"]]);
|
|
38323
38363
|
//#endregion
|
|
38324
38364
|
//#region src/internal/toolbar/built-in/ToolbarDropdown.vue?vue&type=script&setup=true&lang.ts
|
|
38325
38365
|
var _hoisted_1$13 = { class: "toolbar-dropdown" };
|
|
@@ -38723,7 +38763,7 @@ var ToolbarDropdown_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
|
|
|
38723
38763
|
});
|
|
38724
38764
|
//#endregion
|
|
38725
38765
|
//#region src/internal/toolbar/built-in/ToolbarDropdown.vue
|
|
38726
|
-
var ToolbarDropdown_default = /* @__PURE__ */ require__plugin_vue_export_helper._plugin_vue_export_helper_default(ToolbarDropdown_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
38766
|
+
var ToolbarDropdown_default = /* @__PURE__ */ require__plugin_vue_export_helper._plugin_vue_export_helper_default(ToolbarDropdown_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-942d76a6"]]);
|
|
38727
38767
|
//#endregion
|
|
38728
38768
|
//#region src/internal/toolbar/built-in/toolbar-focus-helpers.js
|
|
38729
38769
|
var preventEditorFocusTransfer = (event) => {
|
|
@@ -38746,8 +38786,8 @@ var refocusEditorSurface = (superToolbar, preferredEditor = null) => {
|
|
|
38746
38786
|
if (editor instanceof HTMLElement) editor.focus({ preventScroll: true });
|
|
38747
38787
|
};
|
|
38748
38788
|
//#endregion
|
|
38749
|
-
//#region src/internal/toolbar/built-in/OverflowMenu.vue
|
|
38750
|
-
var
|
|
38789
|
+
//#region src/internal/toolbar/built-in/OverflowMenu.vue?vue&type=script&setup=true&lang.ts
|
|
38790
|
+
var OverflowMenu_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ require__plugin_vue_export_helper.defineComponent({
|
|
38751
38791
|
__name: "OverflowMenu",
|
|
38752
38792
|
props: {
|
|
38753
38793
|
toolbarItem: {
|
|
@@ -38843,8 +38883,10 @@ var _sfc_main$12 = {
|
|
|
38843
38883
|
]);
|
|
38844
38884
|
};
|
|
38845
38885
|
}
|
|
38846
|
-
};
|
|
38847
|
-
|
|
38886
|
+
});
|
|
38887
|
+
//#endregion
|
|
38888
|
+
//#region src/internal/toolbar/built-in/OverflowMenu.vue
|
|
38889
|
+
var OverflowMenu_default = /* @__PURE__ */ require__plugin_vue_export_helper._plugin_vue_export_helper_default(OverflowMenu_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-d2e189fd"]]);
|
|
38848
38890
|
//#endregion
|
|
38849
38891
|
//#region src/internal/toolbar/built-in/font-typeahead.js
|
|
38850
38892
|
/**
|
|
@@ -39471,10 +39513,10 @@ var ToolbarComboBox_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
|
|
|
39471
39513
|
});
|
|
39472
39514
|
//#endregion
|
|
39473
39515
|
//#region src/internal/toolbar/built-in/ToolbarComboBox.vue
|
|
39474
|
-
var ToolbarComboBox_default = /* @__PURE__ */ require__plugin_vue_export_helper._plugin_vue_export_helper_default(ToolbarComboBox_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
39516
|
+
var ToolbarComboBox_default = /* @__PURE__ */ require__plugin_vue_export_helper._plugin_vue_export_helper_default(ToolbarComboBox_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-a400064a"]]);
|
|
39475
39517
|
//#endregion
|
|
39476
39518
|
//#region src/internal/toolbar/built-in/FontFamilyCombobox.vue
|
|
39477
|
-
var
|
|
39519
|
+
var FontFamilyCombobox_default = /* @__PURE__ */ require__plugin_vue_export_helper.defineComponent({
|
|
39478
39520
|
__name: "FontFamilyCombobox",
|
|
39479
39521
|
props: {
|
|
39480
39522
|
item: {
|
|
@@ -39512,10 +39554,10 @@ var _sfc_main$11 = {
|
|
|
39512
39554
|
]);
|
|
39513
39555
|
};
|
|
39514
39556
|
}
|
|
39515
|
-
};
|
|
39557
|
+
});
|
|
39516
39558
|
//#endregion
|
|
39517
39559
|
//#region src/internal/toolbar/built-in/FontSizeCombobox.vue
|
|
39518
|
-
var
|
|
39560
|
+
var FontSizeCombobox_default = /* @__PURE__ */ require__plugin_vue_export_helper.defineComponent({
|
|
39519
39561
|
__name: "FontSizeCombobox",
|
|
39520
39562
|
props: {
|
|
39521
39563
|
item: {
|
|
@@ -39553,7 +39595,7 @@ var _sfc_main$10 = {
|
|
|
39553
39595
|
]);
|
|
39554
39596
|
};
|
|
39555
39597
|
}
|
|
39556
|
-
};
|
|
39598
|
+
});
|
|
39557
39599
|
//#endregion
|
|
39558
39600
|
//#region src/internal/toolbar/built-in/SdTooltip.vue?vue&type=script&setup=true&lang.ts
|
|
39559
39601
|
var AUTO_HIDE_DELAY = 2500;
|
|
@@ -39777,7 +39819,7 @@ var SdTooltip_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ requir
|
|
|
39777
39819
|
//#region src/internal/toolbar/built-in/SdTooltip.vue
|
|
39778
39820
|
var SdTooltip_default = /* @__PURE__ */ require__plugin_vue_export_helper._plugin_vue_export_helper_default(SdTooltip_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-dfd6f1d1"]]);
|
|
39779
39821
|
//#endregion
|
|
39780
|
-
//#region src/internal/toolbar/built-in/ButtonGroup.vue
|
|
39822
|
+
//#region src/internal/toolbar/built-in/ButtonGroup.vue?vue&type=script&setup=true&lang.ts
|
|
39781
39823
|
var _hoisted_1$11 = [
|
|
39782
39824
|
"onKeydown",
|
|
39783
39825
|
"tabindex",
|
|
@@ -39788,7 +39830,7 @@ var _hoisted_3$7 = { key: 0 };
|
|
|
39788
39830
|
var _hoisted_4$5 = { key: 0 };
|
|
39789
39831
|
var _hoisted_5$3 = { key: 0 };
|
|
39790
39832
|
var _hoisted_6$2 = { key: 0 };
|
|
39791
|
-
var
|
|
39833
|
+
var ButtonGroup_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ require__plugin_vue_export_helper.defineComponent({
|
|
39792
39834
|
__name: "ButtonGroup",
|
|
39793
39835
|
props: {
|
|
39794
39836
|
toolbarItems: {
|
|
@@ -39829,7 +39871,7 @@ var _sfc_main$9 = {
|
|
|
39829
39871
|
],
|
|
39830
39872
|
setup(__props, { emit: __emit }) {
|
|
39831
39873
|
const emit = __emit;
|
|
39832
|
-
const
|
|
39874
|
+
const proxy = require__plugin_vue_export_helper.getCurrentInstance()?.proxy;
|
|
39833
39875
|
const toolbarItemRefs = require__plugin_vue_export_helper.ref([]);
|
|
39834
39876
|
const buttonGroupRef = require__plugin_vue_export_helper.ref(null);
|
|
39835
39877
|
const props = __props;
|
|
@@ -40012,37 +40054,35 @@ var _sfc_main$9 = {
|
|
|
40012
40054
|
"aria-label": `${item.attributes.value.ariaLabel} - ${option.label}`
|
|
40013
40055
|
};
|
|
40014
40056
|
};
|
|
40015
|
-
const moveToNextButton = (
|
|
40016
|
-
const
|
|
40017
|
-
|
|
40018
|
-
|
|
40019
|
-
currentButton.setAttribute("tabindex", "-1");
|
|
40057
|
+
const moveToNextButton = (target) => {
|
|
40058
|
+
const nextButton = target.closest(".sd-toolbar-item-ctn")?.nextElementSibling;
|
|
40059
|
+
if (nextButton instanceof HTMLElement) {
|
|
40060
|
+
target.setAttribute("tabindex", "-1");
|
|
40020
40061
|
nextButton.setAttribute("tabindex", "0");
|
|
40021
40062
|
nextButton.focus();
|
|
40022
40063
|
}
|
|
40023
40064
|
};
|
|
40024
|
-
const moveToPreviousButton = (
|
|
40025
|
-
const
|
|
40026
|
-
|
|
40027
|
-
|
|
40028
|
-
currentButton.setAttribute("tabindex", "-1");
|
|
40065
|
+
const moveToPreviousButton = (target) => {
|
|
40066
|
+
const previousButton = target.closest(".sd-toolbar-item-ctn")?.previousElementSibling;
|
|
40067
|
+
if (previousButton instanceof HTMLElement) {
|
|
40068
|
+
target.setAttribute("tabindex", "-1");
|
|
40029
40069
|
previousButton.setAttribute("tabindex", "0");
|
|
40030
40070
|
previousButton.focus();
|
|
40031
40071
|
}
|
|
40032
40072
|
};
|
|
40033
|
-
const moveToNextButtonGroup = (
|
|
40034
|
-
const nextButtonGroup =
|
|
40035
|
-
if (nextButtonGroup) {
|
|
40073
|
+
const moveToNextButtonGroup = (target) => {
|
|
40074
|
+
const nextButtonGroup = target.closest(".button-group")?.nextElementSibling;
|
|
40075
|
+
if (nextButtonGroup instanceof HTMLElement) {
|
|
40036
40076
|
nextButtonGroup.setAttribute("tabindex", "0");
|
|
40037
40077
|
nextButtonGroup.focus();
|
|
40038
40078
|
} else {
|
|
40039
40079
|
const editor = document.querySelector(".ProseMirror");
|
|
40040
|
-
if (editor) editor.focus();
|
|
40080
|
+
if (editor instanceof HTMLElement) editor.focus();
|
|
40041
40081
|
}
|
|
40042
40082
|
};
|
|
40043
|
-
const moveToPreviousButtonGroup = (
|
|
40044
|
-
const previousButtonGroup =
|
|
40045
|
-
if (previousButtonGroup) {
|
|
40083
|
+
const moveToPreviousButtonGroup = (target) => {
|
|
40084
|
+
const previousButtonGroup = target.closest(".button-group")?.previousElementSibling;
|
|
40085
|
+
if (previousButtonGroup instanceof HTMLElement) {
|
|
40046
40086
|
previousButtonGroup.setAttribute("tabindex", "0");
|
|
40047
40087
|
previousButtonGroup.focus();
|
|
40048
40088
|
}
|
|
@@ -40056,7 +40096,9 @@ var _sfc_main$9 = {
|
|
|
40056
40096
|
handleToolbarButtonClick(item);
|
|
40057
40097
|
};
|
|
40058
40098
|
const handleKeyDown = (e, item) => {
|
|
40059
|
-
const
|
|
40099
|
+
const target = e.target;
|
|
40100
|
+
if (!(target instanceof Element)) return;
|
|
40101
|
+
const isTypingField = target.nodeName === "INPUT" || target.nodeName === "TEXTAREA";
|
|
40060
40102
|
const isTypingToolbarItem = item.name.value === "fontSize" || item.name.value === "fontFamily";
|
|
40061
40103
|
if (isTypingField && isTypingToolbarItem) return;
|
|
40062
40104
|
if (![
|
|
@@ -40080,20 +40122,20 @@ var _sfc_main$9 = {
|
|
|
40080
40122
|
break;
|
|
40081
40123
|
case "ArrowRight":
|
|
40082
40124
|
closeDropdowns();
|
|
40083
|
-
moveToNextButton(
|
|
40125
|
+
moveToNextButton(target);
|
|
40084
40126
|
break;
|
|
40085
40127
|
case "ArrowLeft":
|
|
40086
40128
|
closeDropdowns();
|
|
40087
|
-
moveToPreviousButton(
|
|
40129
|
+
moveToPreviousButton(target);
|
|
40088
40130
|
break;
|
|
40089
40131
|
case "Tab":
|
|
40090
|
-
if (e.shiftKey) moveToPreviousButtonGroup(
|
|
40091
|
-
else moveToNextButtonGroup(
|
|
40132
|
+
if (e.shiftKey) moveToPreviousButtonGroup(target);
|
|
40133
|
+
else moveToNextButtonGroup(target);
|
|
40092
40134
|
break;
|
|
40093
40135
|
default: break;
|
|
40094
40136
|
}
|
|
40095
40137
|
};
|
|
40096
|
-
const handleFocus = (
|
|
40138
|
+
const handleFocus = () => {
|
|
40097
40139
|
const firstButton = toolbarItemRefs.value.find((item) => !item.classList.contains("sd-disabled"));
|
|
40098
40140
|
if (firstButton) {
|
|
40099
40141
|
firstButton.setAttribute("tabindex", "0");
|
|
@@ -40163,7 +40205,7 @@ var _sfc_main$9 = {
|
|
|
40163
40205
|
disabled: !item.tooltip?.value,
|
|
40164
40206
|
"content-style": { fontFamily: props.uiFontFamily }
|
|
40165
40207
|
}, {
|
|
40166
|
-
trigger: require__plugin_vue_export_helper.withCtx(() => [require__plugin_vue_export_helper.createVNode(
|
|
40208
|
+
trigger: require__plugin_vue_export_helper.withCtx(() => [require__plugin_vue_export_helper.createVNode(FontFamilyCombobox_default, {
|
|
40167
40209
|
item,
|
|
40168
40210
|
"ui-font-family": props.uiFontFamily,
|
|
40169
40211
|
class: "sd-toolbar-button sd-editor-toolbar-dropdown",
|
|
@@ -40180,7 +40222,7 @@ var _sfc_main$9 = {
|
|
|
40180
40222
|
disabled: !item.tooltip?.value,
|
|
40181
40223
|
"content-style": { fontFamily: props.uiFontFamily }
|
|
40182
40224
|
}, {
|
|
40183
|
-
trigger: require__plugin_vue_export_helper.withCtx(() => [require__plugin_vue_export_helper.createVNode(
|
|
40225
|
+
trigger: require__plugin_vue_export_helper.withCtx(() => [require__plugin_vue_export_helper.createVNode(FontSizeCombobox_default, {
|
|
40184
40226
|
item,
|
|
40185
40227
|
"ui-font-family": props.uiFontFamily,
|
|
40186
40228
|
class: "sd-toolbar-button sd-editor-toolbar-dropdown",
|
|
@@ -40278,8 +40320,10 @@ var _sfc_main$9 = {
|
|
|
40278
40320
|
}), 128))], 36);
|
|
40279
40321
|
};
|
|
40280
40322
|
}
|
|
40281
|
-
};
|
|
40282
|
-
|
|
40323
|
+
});
|
|
40324
|
+
//#endregion
|
|
40325
|
+
//#region src/internal/toolbar/built-in/ButtonGroup.vue
|
|
40326
|
+
var ButtonGroup_default = /* @__PURE__ */ require__plugin_vue_export_helper._plugin_vue_export_helper_default(ButtonGroup_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-21333fed"]]);
|
|
40283
40327
|
var TOOLBAR_FONTS = [
|
|
40284
40328
|
["Arial", "sans-serif"],
|
|
40285
40329
|
["Arial Black", "sans-serif"],
|
|
@@ -40799,14 +40843,14 @@ var useToolbarItem = (options) => {
|
|
|
40799
40843
|
};
|
|
40800
40844
|
};
|
|
40801
40845
|
//#endregion
|
|
40802
|
-
//#region src/internal/toolbar/built-in/AlignmentButtons.vue
|
|
40846
|
+
//#region src/internal/toolbar/built-in/AlignmentButtons.vue?vue&type=script&setup=true&lang.ts
|
|
40803
40847
|
var _hoisted_1$9 = [
|
|
40804
40848
|
"onClick",
|
|
40805
40849
|
"innerHTML",
|
|
40806
40850
|
"aria-label",
|
|
40807
40851
|
"onKeydown"
|
|
40808
40852
|
];
|
|
40809
|
-
var
|
|
40853
|
+
var AlignmentButtons_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ require__plugin_vue_export_helper.defineComponent({
|
|
40810
40854
|
__name: "AlignmentButtons",
|
|
40811
40855
|
emits: ["select"],
|
|
40812
40856
|
setup(__props, { emit: __emit }) {
|
|
@@ -40893,16 +40937,19 @@ var AlignmentButtons_default = /*#__PURE__*/ require__plugin_vue_export_helper._
|
|
|
40893
40937
|
}), 64))], 2);
|
|
40894
40938
|
};
|
|
40895
40939
|
}
|
|
40896
|
-
}
|
|
40940
|
+
});
|
|
40897
40941
|
//#endregion
|
|
40898
|
-
//#region src/internal/toolbar/built-in/
|
|
40942
|
+
//#region src/internal/toolbar/built-in/AlignmentButtons.vue
|
|
40943
|
+
var AlignmentButtons_default = /* @__PURE__ */ require__plugin_vue_export_helper._plugin_vue_export_helper_default(AlignmentButtons_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-7ddf6e50"]]);
|
|
40944
|
+
//#endregion
|
|
40945
|
+
//#region src/internal/toolbar/built-in/StyleButtonsList.vue?vue&type=script&setup=true&lang.ts
|
|
40899
40946
|
var _hoisted_1$8 = [
|
|
40900
40947
|
"onClick",
|
|
40901
40948
|
"innerHTML",
|
|
40902
40949
|
"aria-label",
|
|
40903
40950
|
"onKeydown"
|
|
40904
40951
|
];
|
|
40905
|
-
var
|
|
40952
|
+
var StyleButtonsList_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ require__plugin_vue_export_helper.defineComponent({
|
|
40906
40953
|
__name: "StyleButtonsList",
|
|
40907
40954
|
props: {
|
|
40908
40955
|
buttons: {
|
|
@@ -40986,8 +41033,10 @@ var _sfc_main$6 = {
|
|
|
40986
41033
|
}), 128))], 2);
|
|
40987
41034
|
};
|
|
40988
41035
|
}
|
|
40989
|
-
};
|
|
40990
|
-
|
|
41036
|
+
});
|
|
41037
|
+
//#endregion
|
|
41038
|
+
//#region src/internal/toolbar/built-in/StyleButtonsList.vue
|
|
41039
|
+
var StyleButtonsList_default = /* @__PURE__ */ require__plugin_vue_export_helper._plugin_vue_export_helper_default(StyleButtonsList_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-539d0995"]]);
|
|
40991
41040
|
//#endregion
|
|
40992
41041
|
//#region src/internal/toolbar/built-in/list-style-buttons.js
|
|
40993
41042
|
var bulletStyleButtons = [
|
|
@@ -41050,14 +41099,14 @@ var numberedStyleButtons = [
|
|
|
41050
41099
|
}
|
|
41051
41100
|
];
|
|
41052
41101
|
//#endregion
|
|
41053
|
-
//#region src/internal/toolbar/built-in/DocumentMode.vue
|
|
41102
|
+
//#region src/internal/toolbar/built-in/DocumentMode.vue?vue&type=script&setup=true&lang.ts
|
|
41054
41103
|
var _hoisted_1$7 = ["onClick", "onKeydown"];
|
|
41055
41104
|
var _hoisted_2$7 = { class: "document-mode-column icon-column" };
|
|
41056
41105
|
var _hoisted_3$6 = ["innerHTML"];
|
|
41057
41106
|
var _hoisted_4$4 = { class: "document-mode-column text-column" };
|
|
41058
41107
|
var _hoisted_5$2 = { class: "document-mode-type" };
|
|
41059
41108
|
var _hoisted_6$1 = { class: "document-mode-description" };
|
|
41060
|
-
var
|
|
41109
|
+
var DocumentMode_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ require__plugin_vue_export_helper.defineComponent({
|
|
41061
41110
|
__name: "DocumentMode",
|
|
41062
41111
|
props: { options: { type: Array } },
|
|
41063
41112
|
emits: ["select"],
|
|
@@ -41093,9 +41142,11 @@ var _sfc_main$5 = {
|
|
|
41093
41142
|
case "ArrowUp":
|
|
41094
41143
|
moveToPreviousOption(index);
|
|
41095
41144
|
break;
|
|
41096
|
-
case "Enter":
|
|
41097
|
-
|
|
41145
|
+
case "Enter": {
|
|
41146
|
+
const option = props.options?.[index];
|
|
41147
|
+
if (option) handleClick(option);
|
|
41098
41148
|
break;
|
|
41149
|
+
}
|
|
41099
41150
|
default: break;
|
|
41100
41151
|
}
|
|
41101
41152
|
};
|
|
@@ -41121,8 +41172,10 @@ var _sfc_main$5 = {
|
|
|
41121
41172
|
}), 256))], 2);
|
|
41122
41173
|
};
|
|
41123
41174
|
}
|
|
41124
|
-
};
|
|
41125
|
-
|
|
41175
|
+
});
|
|
41176
|
+
//#endregion
|
|
41177
|
+
//#region src/internal/toolbar/built-in/DocumentMode.vue
|
|
41178
|
+
var DocumentMode_default = /* @__PURE__ */ require__plugin_vue_export_helper._plugin_vue_export_helper_default(DocumentMode_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-a20b9574"]]);
|
|
41126
41179
|
//#endregion
|
|
41127
41180
|
//#region src/internal/toolbar/built-in/LinkedStyle.vue?vue&type=script&setup=true&lang.ts
|
|
41128
41181
|
var _hoisted_1$6 = {
|
|
@@ -41260,7 +41313,7 @@ var LinkedStyle_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ requ
|
|
|
41260
41313
|
//#region src/internal/toolbar/built-in/LinkedStyle.vue
|
|
41261
41314
|
var LinkedStyle_default = /* @__PURE__ */ require__plugin_vue_export_helper._plugin_vue_export_helper_default(LinkedStyle_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-4e36f956"]]);
|
|
41262
41315
|
//#endregion
|
|
41263
|
-
//#region src/internal/toolbar/built-in/AIWriter.vue
|
|
41316
|
+
//#region src/internal/toolbar/built-in/AIWriter.vue?vue&type=script&setup=true&lang.ts
|
|
41264
41317
|
var _hoisted_1$5 = ["placeholder"];
|
|
41265
41318
|
var _hoisted_2$5 = { class: "sd-ai-writer__footer" };
|
|
41266
41319
|
var _hoisted_3$4 = {
|
|
@@ -41271,7 +41324,7 @@ var _hoisted_3$4 = {
|
|
|
41271
41324
|
var _hoisted_4$2 = ["disabled"];
|
|
41272
41325
|
var DEFAULT_AI_ENDPOINT = "https://sd-dev-express-gateway-i6xtm.ondigitalocean.app/insights";
|
|
41273
41326
|
var SYSTEM_PROMPT = "You are an expert copywriter and you are immersed in a document editor. Only write what is asked for.";
|
|
41274
|
-
var
|
|
41327
|
+
var AIWriter_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ require__plugin_vue_export_helper.defineComponent({
|
|
41275
41328
|
__name: "AIWriter",
|
|
41276
41329
|
props: {
|
|
41277
41330
|
selectedText: {
|
|
@@ -41318,13 +41371,13 @@ var _sfc_main$4 = {
|
|
|
41318
41371
|
});
|
|
41319
41372
|
function extractGeneratedText(payload) {
|
|
41320
41373
|
if (typeof payload === "string") return payload;
|
|
41321
|
-
if (!payload
|
|
41374
|
+
if (!require_create_super_doc_ui.isPlainObject(payload)) return "";
|
|
41322
41375
|
const customPrompt = payload.custom_prompt;
|
|
41323
41376
|
if (Array.isArray(customPrompt)) {
|
|
41324
41377
|
const first = customPrompt[0];
|
|
41325
|
-
if (first && typeof first.value === "string") return first.value;
|
|
41378
|
+
if (require_create_super_doc_ui.isPlainObject(first) && typeof first.value === "string") return first.value;
|
|
41326
41379
|
}
|
|
41327
|
-
if (customPrompt && typeof customPrompt
|
|
41380
|
+
if (require_create_super_doc_ui.isPlainObject(customPrompt) && typeof customPrompt.value === "string") return customPrompt.value;
|
|
41328
41381
|
if (typeof payload.value === "string") return payload.value;
|
|
41329
41382
|
if (typeof payload.text === "string") return payload.text;
|
|
41330
41383
|
return "";
|
|
@@ -41358,7 +41411,7 @@ var _sfc_main$4 = {
|
|
|
41358
41411
|
}
|
|
41359
41412
|
function receiptSucceeded(receipt) {
|
|
41360
41413
|
if (!receipt || typeof receipt !== "object") return true;
|
|
41361
|
-
if (receipt.success === false || receipt.ok === false) return false;
|
|
41414
|
+
if ("success" in receipt && receipt.success === false || "ok" in receipt && receipt.ok === false) return false;
|
|
41362
41415
|
return true;
|
|
41363
41416
|
}
|
|
41364
41417
|
function insertGeneratedText(text) {
|
|
@@ -41428,10 +41481,12 @@ var _sfc_main$4 = {
|
|
|
41428
41481
|
}, require__plugin_vue_export_helper.toDisplayString(isLoading.value ? "Generating" : "Generate"), 9, _hoisted_4$2)])], 32);
|
|
41429
41482
|
};
|
|
41430
41483
|
}
|
|
41431
|
-
};
|
|
41432
|
-
var AIWriter_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(_sfc_main$4, [["__scopeId", "data-v-67f6c6f7"]]);
|
|
41484
|
+
});
|
|
41433
41485
|
//#endregion
|
|
41434
|
-
//#region src/internal/toolbar/built-in/
|
|
41486
|
+
//#region src/internal/toolbar/built-in/AIWriter.vue
|
|
41487
|
+
var AIWriter_default = /* @__PURE__ */ require__plugin_vue_export_helper._plugin_vue_export_helper_default(AIWriter_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-3951e804"]]);
|
|
41488
|
+
//#endregion
|
|
41489
|
+
//#region src/internal/toolbar/built-in/IconGridRow.vue?vue&type=script&setup=true&lang.ts
|
|
41435
41490
|
var _hoisted_1$4 = [
|
|
41436
41491
|
"aria-label",
|
|
41437
41492
|
"onClick",
|
|
@@ -41440,7 +41495,7 @@ var _hoisted_1$4 = [
|
|
|
41440
41495
|
var _hoisted_2$4 = ["innerHTML"];
|
|
41441
41496
|
var _hoisted_3$3 = ["innerHTML"];
|
|
41442
41497
|
var ROW_SIZE$1 = 7;
|
|
41443
|
-
var
|
|
41498
|
+
var IconGridRow_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ require__plugin_vue_export_helper.defineComponent({
|
|
41444
41499
|
__name: "IconGridRow",
|
|
41445
41500
|
props: {
|
|
41446
41501
|
icons: {
|
|
@@ -41457,8 +41512,9 @@ var _sfc_main$3 = {
|
|
|
41457
41512
|
const emit = __emit;
|
|
41458
41513
|
const props = __props;
|
|
41459
41514
|
const isActive = require__plugin_vue_export_helper.computed(() => (option) => {
|
|
41460
|
-
|
|
41461
|
-
|
|
41515
|
+
const activeColor = props.activeColor?.value;
|
|
41516
|
+
if (!activeColor) return false;
|
|
41517
|
+
return activeColor.toUpperCase() === option.value;
|
|
41462
41518
|
});
|
|
41463
41519
|
const getCheckStyle = (color, optionIndex) => {
|
|
41464
41520
|
if (optionIndex === 5 || ["#FFFFFF", "#FAFF09"].includes(color)) return { color: "#000" };
|
|
@@ -41566,17 +41622,19 @@ var _sfc_main$3 = {
|
|
|
41566
41622
|
}), 128);
|
|
41567
41623
|
};
|
|
41568
41624
|
}
|
|
41569
|
-
};
|
|
41570
|
-
|
|
41625
|
+
});
|
|
41626
|
+
//#endregion
|
|
41627
|
+
//#region src/internal/toolbar/built-in/IconGridRow.vue
|
|
41628
|
+
var IconGridRow_default = /* @__PURE__ */ require__plugin_vue_export_helper._plugin_vue_export_helper_default(IconGridRow_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-b1771c36"]]);
|
|
41571
41629
|
//#endregion
|
|
41572
41630
|
//#region ../../shared/common/icons/droplet-slash.svg?raw
|
|
41573
41631
|
var droplet_slash_default = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 512\"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d=\"M320 512c53.2 0 101.4-21.6 136.1-56.6l-298.3-235C140 257.1 128 292.3 128 320c0 106 86 192 192 192zM505.2 370.7c4.4-16.2 6.8-33.1 6.8-50.7c0-91.2-130.2-262.3-166.6-308.3C339.4 4.2 330.5 0 320.9 0l-1.8 0c-9.6 0-18.5 4.2-24.5 11.7C277.8 33 240.7 81.3 205.8 136L38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L505.2 370.7zM224 336c0 44.2 35.8 80 80 80c8.8 0 16 7.2 16 16s-7.2 16-16 16c-61.9 0-112-50.1-112-112c0-8.8 7.2-16 16-16s16 7.2 16 16z\"/></svg>\n";
|
|
41574
41632
|
//#endregion
|
|
41575
|
-
//#region src/internal/toolbar/built-in/IconGrid.vue
|
|
41633
|
+
//#region src/internal/toolbar/built-in/IconGrid.vue?vue&type=script&setup=true&lang.ts
|
|
41576
41634
|
var _hoisted_1$3 = { class: "options-grid-wrap" };
|
|
41577
41635
|
var _hoisted_2$3 = ["innerHTML"];
|
|
41578
41636
|
var _hoisted_3$2 = { class: "option-grid-ctn" };
|
|
41579
|
-
var
|
|
41637
|
+
var IconGrid_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ require__plugin_vue_export_helper.defineComponent({
|
|
41580
41638
|
__name: "IconGrid",
|
|
41581
41639
|
props: {
|
|
41582
41640
|
icons: {
|
|
@@ -41616,15 +41674,17 @@ var _sfc_main$2 = {
|
|
|
41616
41674
|
icons: __props.icons,
|
|
41617
41675
|
"active-color": __props.activeColor,
|
|
41618
41676
|
onSelect: handleSelect
|
|
41619
|
-
}, null, 8, ["icons", "active-color"]), __props.customIcons
|
|
41677
|
+
}, null, 8, ["icons", "active-color"]), __props.customIcons?.flat().length ? (require__plugin_vue_export_helper.openBlock(), require__plugin_vue_export_helper.createElementBlock(require__plugin_vue_export_helper.Fragment, { key: 0 }, [_cache[2] || (_cache[2] = require__plugin_vue_export_helper.createElementVNode("span", { class: "option-grid-ctn__subtitle" }, "Custom colors", -1)), require__plugin_vue_export_helper.createVNode(IconGridRow_default, {
|
|
41620
41678
|
icons: __props.customIcons,
|
|
41621
41679
|
"active-color": __props.activeColor,
|
|
41622
41680
|
onSelect: handleSelect
|
|
41623
41681
|
}, null, 8, ["icons", "active-color"])], 64)) : require__plugin_vue_export_helper.createCommentVNode("", true)])]);
|
|
41624
41682
|
};
|
|
41625
41683
|
}
|
|
41626
|
-
};
|
|
41627
|
-
|
|
41684
|
+
});
|
|
41685
|
+
//#endregion
|
|
41686
|
+
//#region src/internal/toolbar/built-in/IconGrid.vue
|
|
41687
|
+
var IconGrid_default = /* @__PURE__ */ require__plugin_vue_export_helper._plugin_vue_export_helper_default(IconGrid_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-03719472"]]);
|
|
41628
41688
|
//#endregion
|
|
41629
41689
|
//#region src/internal/toolbar/built-in/color-dropdown-helpers.js
|
|
41630
41690
|
var closeDropdown$1 = (dropdown) => {
|
|
@@ -41735,7 +41795,7 @@ var icons = [
|
|
|
41735
41795
|
]
|
|
41736
41796
|
];
|
|
41737
41797
|
//#endregion
|
|
41738
|
-
//#region src/internal/toolbar/built-in/TableGrid.vue
|
|
41798
|
+
//#region src/internal/toolbar/built-in/TableGrid.vue?vue&type=script&setup=true&lang.ts
|
|
41739
41799
|
var _hoisted_1$2 = [
|
|
41740
41800
|
"data-cols",
|
|
41741
41801
|
"data-rows",
|
|
@@ -41744,7 +41804,7 @@ var _hoisted_1$2 = [
|
|
|
41744
41804
|
];
|
|
41745
41805
|
var _hoisted_2$2 = ["aria-valuetext"];
|
|
41746
41806
|
var ROW_SIZE = 5;
|
|
41747
|
-
var
|
|
41807
|
+
var TableGrid_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ require__plugin_vue_export_helper.defineComponent({
|
|
41748
41808
|
__name: "TableGrid",
|
|
41749
41809
|
emits: ["select", "clickoutside"],
|
|
41750
41810
|
setup(__props, { emit: __emit }) {
|
|
@@ -41755,10 +41815,13 @@ var TableGrid_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_
|
|
|
41755
41815
|
const tableGridItems = require__plugin_vue_export_helper.ref([]);
|
|
41756
41816
|
const onTableGridMouseOver = (event) => {
|
|
41757
41817
|
let target = event.target;
|
|
41818
|
+
if (!(target instanceof HTMLElement)) return;
|
|
41758
41819
|
if (!!target.dataset.grid) return;
|
|
41759
|
-
let
|
|
41760
|
-
|
|
41761
|
-
let
|
|
41820
|
+
let grid = target.parentElement;
|
|
41821
|
+
if (!grid) return;
|
|
41822
|
+
let allItems = Array.from(grid.querySelectorAll("[data-item]"));
|
|
41823
|
+
let cols = parseInt(target.dataset.cols ?? "", 10);
|
|
41824
|
+
let rows = parseInt(target.dataset.rows ?? "", 10);
|
|
41762
41825
|
selectGridItems(allItems, cols, rows);
|
|
41763
41826
|
};
|
|
41764
41827
|
const selectGridItems = (allItems, cols, rows) => {
|
|
@@ -41766,8 +41829,8 @@ var TableGrid_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_
|
|
|
41766
41829
|
selectedRows.value = rows;
|
|
41767
41830
|
for (let i = 0; i < allItems.length; i++) {
|
|
41768
41831
|
let item = allItems[i];
|
|
41769
|
-
let itemsCols = parseInt(item.dataset.cols, 10);
|
|
41770
|
-
let itemsRows = parseInt(item.dataset.rows, 10);
|
|
41832
|
+
let itemsCols = parseInt(item.dataset.cols ?? "", 10);
|
|
41833
|
+
let itemsRows = parseInt(item.dataset.rows ?? "", 10);
|
|
41771
41834
|
if (itemsCols <= cols && itemsRows <= rows) item.classList.add("sd-selected");
|
|
41772
41835
|
else item.classList.remove("sd-selected");
|
|
41773
41836
|
}
|
|
@@ -41857,9 +41920,12 @@ var TableGrid_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_
|
|
|
41857
41920
|
}, require__plugin_vue_export_helper.toDisplayString(selectedRows.value) + " x " + require__plugin_vue_export_helper.toDisplayString(selectedCols.value), 9, _hoisted_2$2)], 2);
|
|
41858
41921
|
};
|
|
41859
41922
|
}
|
|
41860
|
-
}
|
|
41923
|
+
});
|
|
41861
41924
|
//#endregion
|
|
41862
|
-
//#region src/internal/toolbar/built-in/
|
|
41925
|
+
//#region src/internal/toolbar/built-in/TableGrid.vue
|
|
41926
|
+
var TableGrid_default = /* @__PURE__ */ require__plugin_vue_export_helper._plugin_vue_export_helper_default(TableGrid_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-38daa3ad"]]);
|
|
41927
|
+
//#endregion
|
|
41928
|
+
//#region src/internal/toolbar/built-in/TableActions.vue?vue&type=script&setup=true&lang.ts
|
|
41863
41929
|
var _hoisted_1$1 = { class: "toolbar-table-actions" };
|
|
41864
41930
|
var _hoisted_2$1 = [
|
|
41865
41931
|
"aria-disabled",
|
|
@@ -41870,7 +41936,7 @@ var _hoisted_2$1 = [
|
|
|
41870
41936
|
var _hoisted_3$1 = { class: "toolbar-table-actions__icon" };
|
|
41871
41937
|
var _hoisted_4$1 = ["innerHTML"];
|
|
41872
41938
|
var _hoisted_5$1 = { class: "toolbar-table-actions__label" };
|
|
41873
|
-
var
|
|
41939
|
+
var TableActions_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ require__plugin_vue_export_helper.defineComponent({
|
|
41874
41940
|
__name: "TableActions",
|
|
41875
41941
|
props: { options: { type: Array } },
|
|
41876
41942
|
emits: ["select"],
|
|
@@ -41899,8 +41965,10 @@ var _sfc_main = {
|
|
|
41899
41965
|
}), 256))]);
|
|
41900
41966
|
};
|
|
41901
41967
|
}
|
|
41902
|
-
};
|
|
41903
|
-
|
|
41968
|
+
});
|
|
41969
|
+
//#endregion
|
|
41970
|
+
//#region src/internal/toolbar/built-in/TableActions.vue
|
|
41971
|
+
var TableActions_default = /* @__PURE__ */ require__plugin_vue_export_helper._plugin_vue_export_helper_default(TableActions_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-76ed2dc1"]]);
|
|
41904
41972
|
//#endregion
|
|
41905
41973
|
//#region src/internal/toolbar/built-in/PageNumberMenu.vue?vue&type=script&setup=true&lang.ts
|
|
41906
41974
|
var _hoisted_1 = ["aria-busy"];
|
|
@@ -44890,6 +44958,15 @@ function getActiveFontRuntime(editor) {
|
|
|
44890
44958
|
*
|
|
44891
44959
|
* @class
|
|
44892
44960
|
*/
|
|
44961
|
+
function runtimeUserOf(user) {
|
|
44962
|
+
const text = (value) => typeof value === "string" && value ? value : void 0;
|
|
44963
|
+
return {
|
|
44964
|
+
name: text(user.name) ?? "",
|
|
44965
|
+
...text(user.id) ? { id: text(user.id) } : {},
|
|
44966
|
+
...text(user.email) ? { email: text(user.email) } : {},
|
|
44967
|
+
...text(user.initials) ? { initials: text(user.initials) } : {}
|
|
44968
|
+
};
|
|
44969
|
+
}
|
|
44893
44970
|
var SuperDoc = class extends require_eventemitter3.import_eventemitter3.default {
|
|
44894
44971
|
static {
|
|
44895
44972
|
this.allowedTypes = [DOCX, PDF];
|
|
@@ -45120,6 +45197,7 @@ var SuperDoc = class extends require_eventemitter3.import_eventemitter3.default
|
|
|
45120
45197
|
viewOptions: { layout: "print" },
|
|
45121
45198
|
useLayoutEngine: true
|
|
45122
45199
|
};
|
|
45200
|
+
this.#userSwitch = Promise.resolve();
|
|
45123
45201
|
this.#fontsRelayEditors = /* @__PURE__ */ new WeakSet();
|
|
45124
45202
|
this.#warnedMissingFonts = /* @__PURE__ */ new WeakMap();
|
|
45125
45203
|
this.#lastFontsChangedPayload = null;
|
|
@@ -45216,7 +45294,7 @@ var SuperDoc = class extends require_eventemitter3.import_eventemitter3.default
|
|
|
45216
45294
|
}
|
|
45217
45295
|
this.userColorMap = /* @__PURE__ */ new Map();
|
|
45218
45296
|
this.colorIndex = 0;
|
|
45219
|
-
this.version = "2.29.0-next.
|
|
45297
|
+
this.version = "2.29.0-next.3";
|
|
45220
45298
|
this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
|
|
45221
45299
|
this.superdocId = config.superdocId || require_uuid.v4();
|
|
45222
45300
|
this.colors = this.config.colors ?? [];
|
|
@@ -46071,6 +46149,46 @@ var SuperDoc = class extends require_eventemitter3.import_eventemitter3.default
|
|
|
46071
46149
|
if (!editor) throw new Error("SuperDoc: source editor not yet created — wait for the ready event before upgrading");
|
|
46072
46150
|
return editor;
|
|
46073
46151
|
}
|
|
46152
|
+
setUser(user) {
|
|
46153
|
+
this.#requireReady("setUser");
|
|
46154
|
+
const name = typeof user?.name === "string" ? user.name.trim() : "";
|
|
46155
|
+
if (!name) return Promise.reject(/* @__PURE__ */ new TypeError("SuperDoc.setUser requires a non-empty user name."));
|
|
46156
|
+
const next = normalizeSuperDocUser({
|
|
46157
|
+
...user,
|
|
46158
|
+
name
|
|
46159
|
+
});
|
|
46160
|
+
const applied = this.#userSwitch.then(() => this.#applyUser(next));
|
|
46161
|
+
this.#userSwitch = applied.catch(() => {});
|
|
46162
|
+
return applied;
|
|
46163
|
+
}
|
|
46164
|
+
#userSwitch;
|
|
46165
|
+
async #applyUser(next) {
|
|
46166
|
+
const current = this.config.user;
|
|
46167
|
+
if (current && [
|
|
46168
|
+
"id",
|
|
46169
|
+
"name",
|
|
46170
|
+
"email",
|
|
46171
|
+
"image",
|
|
46172
|
+
"initials"
|
|
46173
|
+
].every((key) => (current[key] ?? null) === (next[key] ?? null))) return;
|
|
46174
|
+
const runtimes = this.#editorRuntimeRegistry.getAll();
|
|
46175
|
+
const results = await Promise.allSettled(runtimes.map((runtime) => runtime.setUser?.(runtimeUserOf(next))));
|
|
46176
|
+
const failure = results.find((result) => result.status === "rejected");
|
|
46177
|
+
if (failure) {
|
|
46178
|
+
if (current) await Promise.allSettled(runtimes.filter((_, index) => results[index].status === "fulfilled").map((runtime) => runtime.setUser?.(runtimeUserOf(current))));
|
|
46179
|
+
throw failure.reason;
|
|
46180
|
+
}
|
|
46181
|
+
const target = this.config.user ?? (this.config.user = {});
|
|
46182
|
+
for (const key of Object.keys(target)) delete target[key];
|
|
46183
|
+
Object.assign(target, next);
|
|
46184
|
+
this.user = target;
|
|
46185
|
+
this.#assignUserColor();
|
|
46186
|
+
const storeUser = this.superdocStore?.user;
|
|
46187
|
+
if (storeUser) {
|
|
46188
|
+
for (const key of Object.keys(storeUser)) delete storeUser[key];
|
|
46189
|
+
Object.assign(storeUser, target);
|
|
46190
|
+
}
|
|
46191
|
+
}
|
|
46074
46192
|
/**
|
|
46075
46193
|
* Add a user to the shared users list. Requires the instance to be
|
|
46076
46194
|
* ready; pre-ready mutations would be silently overwritten by the
|