superdoc 2.28.0 → 2.29.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.
Files changed (68) hide show
  1. package/dist/chunks/{PdfViewer-JHXZQZ9x.es.js → PdfViewer-D4lVeOJu.es.js} +3 -2
  2. package/dist/chunks/{PdfViewer-Cg072l5d.cjs → PdfViewer-boENOZdF.cjs} +3 -2
  3. package/dist/chunks/{create-super-doc-ui-BfgYblyI.cjs → create-super-doc-ui-BAGOnYGM.cjs} +201 -23
  4. package/dist/chunks/{create-super-doc-ui-BbjHD1ul.es.js → create-super-doc-ui-BFt8agAI.es.js} +180 -20
  5. package/dist/chunks/is-finite-number-BEXgTRgc.cjs +11 -0
  6. package/dist/chunks/is-finite-number-BpL4F38c.es.js +6 -0
  7. package/dist/collaboration-upgrade-engine.cjs +1 -1
  8. package/dist/collaboration-upgrade-engine.es.js +1 -1
  9. package/dist/document-api/src/capabilities/html-markdown-support.d.ts +3 -3
  10. package/dist/document-api/src/contract/metadata-types.d.ts +1 -1
  11. package/dist/document-api/src/contract/operation-definitions.d.ts +1 -1
  12. package/dist/document-api/src/index.d.ts +1 -1
  13. package/dist/document-api/src/lists/lists.d.ts +79 -79
  14. package/dist/document-api/src/tables/tables.d.ts +2 -1
  15. package/dist/document-api/src/types/table-operations.types.d.ts +1 -0
  16. package/dist/document-api/src/write/write.d.ts +10 -9
  17. package/dist/layout-engine/contracts/src/index.d.ts +1 -1
  18. package/dist/layout-engine/contracts/src/paragraph-visible-text.d.ts +3 -1
  19. package/dist/layout-engine/painters/dom/src/page-content.d.ts +1 -1
  20. package/dist/layout-engine/painters/dom/src/persistent-page-surface.d.ts +2 -0
  21. package/dist/public/ui-react.cjs +1 -1
  22. package/dist/public/ui-react.es.js +1 -1
  23. package/dist/public/ui-vue.cjs +1 -1
  24. package/dist/public/ui-vue.es.js +1 -1
  25. package/dist/public/ui.cjs +1 -1
  26. package/dist/public/ui.es.js +1 -1
  27. package/dist/style.css +1 -1
  28. package/dist/style.layered.css +1 -1
  29. package/dist/superdoc/src/SuperDoc.vue.d.ts +5 -3
  30. package/dist/superdoc/src/components/CommentsLayer/CommentDialog.vue.d.ts +2365 -48
  31. package/dist/superdoc/src/components/CommentsLayer/CommentHeader.vue.d.ts +108 -23
  32. package/dist/superdoc/src/components/CommentsLayer/CommentInput.vue.d.ts +689 -14
  33. package/dist/superdoc/src/components/CommentsLayer/CommentsDropdown.vue.d.ts +55 -20
  34. package/dist/superdoc/src/components/CommentsLayer/FloatingComments.vue.d.ts +21 -8
  35. package/dist/superdoc/src/components/CommentsLayer/InternalDropdown.vue.d.ts +24 -8
  36. package/dist/superdoc/src/components/CommentsLayer/PdfCommentsLayer.vue.d.ts +5 -3
  37. package/dist/superdoc/src/components/CommentsLayer/commentsList/ReviewDirectoryListItem.vue.d.ts +60 -12
  38. package/dist/superdoc/src/components/CommentsLayer/commentsList/commentsList.vue.d.ts +20 -6
  39. package/dist/superdoc/src/components/CommentsLayer/use-comment.d.ts +1 -0
  40. package/dist/superdoc/src/components/general/Avatar.vue.d.ts +14 -0
  41. package/dist/superdoc/src/components/surfaces/SurfaceDialog.vue.d.ts +27 -9
  42. package/dist/superdoc/src/components/surfaces/SurfaceExternalMount.vue.d.ts +53 -16
  43. package/dist/superdoc/src/composables/use-link-popover.d.ts +3 -3
  44. package/dist/superdoc/src/composables/use-superdoc-instance.d.ts +4 -1
  45. package/dist/superdoc/src/core/SuperDoc.d.ts +1 -1
  46. package/dist/superdoc/src/core/collaboration/permissions.d.ts +2 -1
  47. package/dist/superdoc/src/core/types/index.d.ts +9 -4
  48. package/dist/superdoc/src/helpers/is-finite-number.d.ts +1 -0
  49. package/dist/superdoc/src/internal/diagnostics/diagnostic-dedupe.d.ts +2 -2
  50. package/dist/superdoc/src/internal/toolbar/built-in/AIWriter.vue.d.ts +2 -2
  51. package/dist/superdoc/src/internal/toolbar/built-in/LinkInput.vue.d.ts +181 -36
  52. package/dist/superdoc/src/internal/toolbar/built-in/LinkedStyle.vue.d.ts +39 -10
  53. package/dist/superdoc/src/internal/toolbar/built-in/PageNumberMenu.vue.d.ts +133 -22
  54. package/dist/superdoc/src/internal/toolbar/built-in/SdTooltip.vue.d.ts +62 -23
  55. package/dist/superdoc/src/internal/toolbar/built-in/ToolbarButton.vue.d.ts +101 -16
  56. package/dist/superdoc/src/internal/toolbar/built-in/ToolbarButtonIcon.vue.d.ts +31 -10
  57. package/dist/superdoc/src/internal/toolbar/built-in/ToolbarComboBox.vue.d.ts +82 -11
  58. package/dist/superdoc/src/internal/toolbar/built-in/ToolbarDropdown.vue.d.ts +122 -33
  59. package/dist/superdoc/src/internal/toolbar/built-in/use-toolbar-item.d.ts +0 -1
  60. package/dist/superdoc/src/stores/comments-store.d.ts +151 -28
  61. package/dist/superdoc/src/stores/superdoc-store.d.ts +454 -85
  62. package/dist/superdoc.cjs +396 -443
  63. package/dist/superdoc.es.js +329 -378
  64. package/dist-cdn/style.layered.css +1 -1
  65. package/dist-cdn/superdoc.min.css +1 -1
  66. package/dist-cdn/superdoc.min.js +42 -42
  67. package/package.json +2 -2
  68. package/dist/superdoc/src/internal/toolbar/built-in/OverflowMenu.vue.d.ts +0 -104
@@ -1,23 +1,12 @@
1
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
2
- export default _default;
3
- type __VLS_WithTemplateSlots<T, S> = T & (new () => {
4
- $slots: S;
5
- });
6
- declare const __VLS_component: import('vue').DefineComponent<{}, {
7
- $emit: (event: "select", ...args: any[]) => void;
8
- options: unknown[];
9
- disabled: boolean;
10
- contentStyle: Record<string, any>;
11
- $props: {
12
- readonly options?: unknown[] | undefined;
13
- readonly disabled?: boolean | undefined;
14
- readonly contentStyle?: Record<string, any> | undefined;
15
- };
16
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
17
- triggerRef: HTMLDivElement;
18
- menuRef: HTMLDivElement;
19
- }, HTMLDivElement>;
20
- type __VLS_TemplateResult = {
1
+ import { CSSProperties, PropType, VNodeChild } from 'vue';
2
+ type CommentsDropdownOption = {
3
+ key: string;
4
+ label: string;
5
+ disabled?: boolean;
6
+ iconString?: string;
7
+ icon?: VNodeChild | ((option: CommentsDropdownOption) => VNodeChild);
8
+ };
9
+ declare function __VLS_template(): {
21
10
  attrs: Partial<{}>;
22
11
  slots: {
23
12
  default?(_: {}): any;
@@ -28,3 +17,49 @@ type __VLS_TemplateResult = {
28
17
  };
29
18
  rootEl: HTMLDivElement;
30
19
  };
20
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
21
+ declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
22
+ options: {
23
+ type: PropType<readonly CommentsDropdownOption[]>;
24
+ default: () => never[];
25
+ };
26
+ disabled: {
27
+ type: BooleanConstructor;
28
+ default: boolean;
29
+ };
30
+ contentStyle: {
31
+ type: PropType<CSSProperties>;
32
+ default: () => {};
33
+ };
34
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
35
+ select: (...args: any[]) => void;
36
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
37
+ options: {
38
+ type: PropType<readonly CommentsDropdownOption[]>;
39
+ default: () => never[];
40
+ };
41
+ disabled: {
42
+ type: BooleanConstructor;
43
+ default: boolean;
44
+ };
45
+ contentStyle: {
46
+ type: PropType<CSSProperties>;
47
+ default: () => {};
48
+ };
49
+ }>> & Readonly<{
50
+ onSelect?: ((...args: any[]) => any) | undefined;
51
+ }>, {
52
+ options: readonly CommentsDropdownOption[];
53
+ disabled: boolean;
54
+ contentStyle: CSSProperties;
55
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
56
+ triggerRef: HTMLDivElement;
57
+ menuRef: HTMLDivElement;
58
+ }, HTMLDivElement>;
59
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
60
+ export default _default;
61
+ type __VLS_WithTemplateSlots<T, S> = T & {
62
+ new (): {
63
+ $slots: S;
64
+ };
65
+ };
@@ -1,11 +1,24 @@
1
- declare const _default: import('vue').DefineComponent<{}, {
2
- parent: Record<string, any>;
3
- currentDocument: Record<string, any>;
4
- $props: {
5
- readonly parent?: Record<string, any> | undefined;
6
- readonly currentDocument?: Record<string, any> | undefined;
7
- };
8
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
1
+ import { PropType } from 'vue';
2
+ import { Document as SuperDocDocument } from '../../core/types/index.js';
3
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
4
+ currentDocument: {
5
+ type: PropType<SuperDocDocument>;
6
+ required: true;
7
+ };
8
+ parent: {
9
+ type: PropType<HTMLElement>;
10
+ required: true;
11
+ };
12
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
13
+ currentDocument: {
14
+ type: PropType<SuperDocDocument>;
15
+ required: true;
16
+ };
17
+ parent: {
18
+ type: PropType<HTMLElement>;
19
+ required: true;
20
+ };
21
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
9
22
  floatingCommentsContainer: HTMLDivElement;
10
23
  }, HTMLDivElement>;
11
24
  export default _default;
@@ -1,10 +1,26 @@
1
- declare const _default: import('vue').DefineComponent<{}, {
2
- $emit: (event: "select", ...args: any[]) => void;
3
- isDisabled: boolean;
4
- state?: string | undefined;
5
- $props: {
6
- readonly isDisabled?: boolean | undefined;
7
- readonly state?: string | undefined;
1
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
2
+ state: {
3
+ type: StringConstructor;
4
+ required: false;
5
+ };
6
+ isDisabled: {
7
+ type: BooleanConstructor;
8
+ default: boolean;
9
+ };
10
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
11
+ select: (...args: any[]) => void;
12
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
13
+ state: {
14
+ type: StringConstructor;
15
+ required: false;
8
16
  };
9
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
17
+ isDisabled: {
18
+ type: BooleanConstructor;
19
+ default: boolean;
20
+ };
21
+ }>> & Readonly<{
22
+ onSelect?: ((...args: any[]) => any) | undefined;
23
+ }>, {
24
+ isDisabled: boolean;
25
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
10
26
  export default _default;
@@ -1,4 +1,6 @@
1
- declare const _default: import('vue').DefineComponent<{}, {
2
- $emit: (event: "anchor-activate", ...args: any[]) => void;
3
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
2
+ "anchor-activate": (...args: any[]) => void;
3
+ }, string, import('vue').PublicProps, Readonly<{}> & Readonly<{
4
+ "onAnchor-activate"?: ((...args: any[]) => any) | undefined;
5
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
4
6
  export default _default;
@@ -1,16 +1,64 @@
1
- declare const _default: import('vue').DefineComponent<{}, {
2
- $emit: (event: "navigate" | "focus-item", ...args: any[]) => void;
3
- index: number;
4
- total: number;
5
- item: Record<string, any>;
6
- tabIndex: number;
7
- $props: {
8
- readonly index?: number | undefined;
9
- readonly total?: number | undefined;
10
- readonly item?: Record<string, any> | undefined;
11
- readonly tabIndex?: number | undefined;
1
+ import { PropType } from 'vue';
2
+ import { CommentModel } from '../use-comment.js';
3
+ export type PositionEntry = {
4
+ pageIndex?: number | null;
5
+ bounds?: {
6
+ top?: number;
7
+ bottom?: number;
8
+ } | null;
9
+ };
10
+ export type ReviewDirectoryItem = {
11
+ id: string | undefined;
12
+ comment: CommentModel;
13
+ floatingInstanceId: string | null;
14
+ floatingPageIndex: number | null | undefined;
15
+ floatingPositionEntry: PositionEntry | null;
16
+ isFloatingInstanceActive: boolean | undefined;
17
+ threadComments: CommentModel[];
18
+ };
19
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
20
+ item: {
21
+ type: PropType<ReviewDirectoryItem>;
22
+ required: true;
23
+ };
24
+ index: {
25
+ type: NumberConstructor;
26
+ required: true;
27
+ };
28
+ total: {
29
+ type: NumberConstructor;
30
+ required: true;
31
+ };
32
+ tabIndex: {
33
+ type: NumberConstructor;
34
+ default: number;
35
+ };
36
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
37
+ navigate: (...args: any[]) => void;
38
+ "focus-item": (...args: any[]) => void;
39
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
40
+ item: {
41
+ type: PropType<ReviewDirectoryItem>;
42
+ required: true;
12
43
  };
13
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
44
+ index: {
45
+ type: NumberConstructor;
46
+ required: true;
47
+ };
48
+ total: {
49
+ type: NumberConstructor;
50
+ required: true;
51
+ };
52
+ tabIndex: {
53
+ type: NumberConstructor;
54
+ default: number;
55
+ };
56
+ }>> & Readonly<{
57
+ onNavigate?: ((...args: any[]) => any) | undefined;
58
+ "onFocus-item"?: ((...args: any[]) => any) | undefined;
59
+ }>, {
60
+ tabIndex: number;
61
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
14
62
  shell: HTMLDivElement;
15
63
  }, HTMLDivElement>;
16
64
  export default _default;
@@ -1,11 +1,25 @@
1
- declare const _default: import('vue').DefineComponent<{}, {
1
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
2
+ showMainComments: {
3
+ type: BooleanConstructor;
4
+ default: boolean;
5
+ };
6
+ showResolvedComments: {
7
+ type: BooleanConstructor;
8
+ default: boolean;
9
+ };
10
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
11
+ showMainComments: {
12
+ type: BooleanConstructor;
13
+ default: boolean;
14
+ };
15
+ showResolvedComments: {
16
+ type: BooleanConstructor;
17
+ default: boolean;
18
+ };
19
+ }>> & Readonly<{}>, {
2
20
  showMainComments: boolean;
3
21
  showResolvedComments: boolean;
4
- $props: {
5
- readonly showMainComments?: boolean | undefined;
6
- readonly showResolvedComments?: boolean | undefined;
7
- };
8
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
22
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
9
23
  listRoot: HTMLDivElement;
10
24
  }, HTMLDivElement>;
11
25
  export default _default;
@@ -326,4 +326,5 @@ export default function useComment(params: UseCommentParams): {
326
326
  };
327
327
  updateIdentityValues: (updates?: CommentIdentity) => void;
328
328
  };
329
+ export type CommentModel = ReturnType<typeof useComment>;
329
330
  export {};
@@ -0,0 +1,14 @@
1
+ import { PropType } from 'vue';
2
+ import { User } from '../../core/types/index.js';
3
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
4
+ user: {
5
+ type: PropType<User>;
6
+ required: true;
7
+ };
8
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
9
+ user: {
10
+ type: PropType<User>;
11
+ required: true;
12
+ };
13
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
14
+ export default _default;
@@ -1,12 +1,30 @@
1
- declare const _default: import('vue').DefineComponent<{}, {
2
- $emit: (event: "close", ...args: any[]) => void;
3
- surface: Record<string, any>;
4
- scrollLockTarget: Record<string, any>;
5
- $props: {
6
- readonly surface?: Record<string, any> | undefined;
7
- readonly scrollLockTarget?: Record<string, any> | undefined;
8
- };
9
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
1
+ import { PropType } from 'vue';
2
+ import { ActiveSurface } from '../../core/surface-manager.js';
3
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
4
+ surface: {
5
+ type: PropType<ActiveSurface>;
6
+ required: true;
7
+ };
8
+ scrollLockTarget: {
9
+ type: PropType<HTMLElement | null>;
10
+ default: null;
11
+ };
12
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
13
+ close: (...args: any[]) => void;
14
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
15
+ surface: {
16
+ type: PropType<ActiveSurface>;
17
+ required: true;
18
+ };
19
+ scrollLockTarget: {
20
+ type: PropType<HTMLElement | null>;
21
+ default: null;
22
+ };
23
+ }>> & Readonly<{
24
+ onClose?: ((...args: any[]) => any) | undefined;
25
+ }>, {
26
+ scrollLockTarget: HTMLElement | null;
27
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
10
28
  dialogRef: HTMLDivElement;
11
29
  }, HTMLDivElement>;
12
30
  export default _default;
@@ -1,19 +1,56 @@
1
- declare const _default: import('vue').DefineComponent<{}, {
2
- close: Function;
3
- mode: string;
4
- resolve: Function;
5
- request: Record<string, any>;
6
- render: Function;
7
- surfaceId: string;
8
- $props: {
9
- readonly close?: Function | undefined;
10
- readonly mode?: string | undefined;
11
- readonly resolve?: Function | undefined;
12
- readonly request?: Record<string, any> | undefined;
13
- readonly render?: Function | undefined;
14
- readonly surfaceId?: string | undefined;
15
- };
16
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
1
+ import { PropType } from 'vue';
2
+ import { DirectSurfaceRequest, ExternalSurfaceRenderContext, SurfaceMode, SurfaceRequest } from '../../core/types/index.js';
3
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
4
+ surfaceId: {
5
+ type: StringConstructor;
6
+ required: true;
7
+ };
8
+ mode: {
9
+ type: PropType<SurfaceMode>;
10
+ required: true;
11
+ };
12
+ request: {
13
+ type: PropType<SurfaceRequest>;
14
+ required: true;
15
+ };
16
+ render: {
17
+ type: PropType<NonNullable<DirectSurfaceRequest["render"]>>;
18
+ required: true;
19
+ };
20
+ resolve: {
21
+ type: PropType<ExternalSurfaceRenderContext["resolve"]>;
22
+ required: true;
23
+ };
24
+ close: {
25
+ type: PropType<ExternalSurfaceRenderContext["close"]>;
26
+ required: true;
27
+ };
28
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
29
+ surfaceId: {
30
+ type: StringConstructor;
31
+ required: true;
32
+ };
33
+ mode: {
34
+ type: PropType<SurfaceMode>;
35
+ required: true;
36
+ };
37
+ request: {
38
+ type: PropType<SurfaceRequest>;
39
+ required: true;
40
+ };
41
+ render: {
42
+ type: PropType<NonNullable<DirectSurfaceRequest["render"]>>;
43
+ required: true;
44
+ };
45
+ resolve: {
46
+ type: PropType<ExternalSurfaceRenderContext["resolve"]>;
47
+ required: true;
48
+ };
49
+ close: {
50
+ type: PropType<ExternalSurfaceRenderContext["close"]>;
51
+ required: true;
52
+ };
53
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
17
54
  container: HTMLDivElement;
18
55
  }, HTMLDivElement>;
19
56
  export default _default;
@@ -1,6 +1,6 @@
1
1
  import { SurfaceManager } from '../core/surface-manager.js';
2
2
  import { DocumentMode, Editor, HyperlinkActivationHandler, LinkPopoverResolver } from '../core/types/index.js';
3
- import { SuperDocUI } from '../public/ui/types.js';
3
+ import { BorrowedSuperDocUI } from '../public/ui/types.js';
4
4
  /**
5
5
  * The `v2-link-click` payload the shell relays from the v2 host's
6
6
  * `onLinkClick` callback.
@@ -17,9 +17,9 @@ interface LinkClickPayload {
17
17
  editableText?: boolean;
18
18
  }
19
19
  interface UseLinkPopoverOptions {
20
- getSurfaceManager: () => SurfaceManager | null | undefined;
20
+ getSurfaceManager: () => Pick<SurfaceManager, 'open'> | null | undefined;
21
21
  getActiveEditor: () => Editor | null | undefined;
22
- getUi: () => SuperDocUI | null | undefined;
22
+ getUi: () => BorrowedSuperDocUI | null | undefined;
23
23
  getActivationHandler: () => HyperlinkActivationHandler | LinkPopoverResolver | null | undefined;
24
24
  getActivationHandlerSource?: () => 'hyperlinks.onActivate' | 'compatibility' | null | undefined;
25
25
  getBuiltInEditorDisabled?: () => boolean;
@@ -1,7 +1,10 @@
1
1
  import { ComponentPublicInstance } from 'vue';
2
2
  import { SuperDoc } from '../core/SuperDoc.js';
3
+ export type SuperDocComponentProxy = ComponentPublicInstance & {
4
+ $superdoc: SuperDoc;
5
+ };
3
6
  export interface SuperDocInstanceAccess {
4
- proxy: ComponentPublicInstance;
7
+ proxy: SuperDocComponentProxy;
5
8
  superdoc: SuperDoc;
6
9
  }
7
10
  export declare function useSuperDocInstance(): SuperDocInstanceAccess;
@@ -692,7 +692,7 @@ export declare class SuperDoc extends EventEmitter<SuperDocEventMap> {
692
692
  * @deprecated replaceWith=`await superdoc.activeEditor.doc.getHtml({})` removeIn=v3.0
693
693
  * @param _options Ignored.
694
694
  */
695
- getHTML(_options?: Parameters<Editor['getHTML']>[0]): unknown[];
695
+ getHTML(_options?: Parameters<NonNullable<Editor['getHTML']>>[0]): unknown[];
696
696
  /**
697
697
  * Lock the current superdoc and emit the `locked` event.
698
698
  *
@@ -11,7 +11,8 @@ export const PERMISSIONS: Readonly<{
11
11
  VERSION_HISTORY: "VERSION_HISTORY";
12
12
  }>;
13
13
  export function createTrackedChangePermissionResolver(superdoc: any): (payload?: {}) => any;
14
- export function isAllowed(permission: string, role: string, isInternal: boolean, context?: {
14
+ export function readBuiltInTrackedChangePermissionDecision(superdoc: any, canPerform: any, permission: any, trackedChange: any): any;
15
+ export function isAllowed(permission: string, role: string | undefined, isInternal: boolean | undefined, context?: {
15
16
  comment?: object | null | undefined;
16
17
  superdoc?: object | null | undefined;
17
18
  currentUser?: object | null | undefined;
@@ -500,7 +500,12 @@ export interface Editor {
500
500
  setHighContrastMode?: (isHighContrast: boolean) => unknown;
501
501
  on?: (...args: unknown[]) => unknown;
502
502
  off?: (...args: unknown[]) => unknown;
503
- getHTML: (options?: Record<string, unknown>) => unknown;
503
+ /**
504
+ * Not implemented by the superdoc@2 active editor; guard before calling.
505
+ *
506
+ * @deprecated replaceWith=`await editor.doc.getHtml({})` removeIn=v3.0
507
+ */
508
+ getHTML?: (options?: Record<string, unknown>) => unknown;
504
509
  getDocumentId?: () => string | null | undefined;
505
510
  /**
506
511
  * Narrow v2 extension facet for command execution and diagnostics, backed by
@@ -2997,9 +3002,9 @@ export interface SuperDocTrackedChangesBulkDecisionPayload {
2997
3002
  * the editor it is bound to and ignore anything else.
2998
3003
  *
2999
3004
  * Typed `unknown` rather than `Editor`: the active editor can be a v2 facade
3000
- * that does not satisfy `Editor` (`getHTML` is required there and absent on the
3001
- * facade), so annotating it as `Editor` would promise methods that are not
3002
- * present. It is an identity token to compare, not an object to call.
3005
+ * whose runtime shape does not match `Editor`, so annotating it as `Editor`
3006
+ * would promise members it does not have. It is an identity token to compare,
3007
+ * not an object to call.
3003
3008
  */
3004
3009
  export interface SuperDocDocumentReplacedPayload {
3005
3010
  editor: unknown;
@@ -0,0 +1 @@
1
+ export declare function isFiniteNumber(value: unknown): value is number;
@@ -12,12 +12,12 @@
12
12
  * event only fires on success, fires AFTER the diagnostics events on the
13
13
  * success path, and never fires at all for a failed attempt.
14
14
  *
15
- * @param {{generation?: unknown}} [payload]
15
+ * @param {{generation?: unknown} | null} [payload]
16
16
  * @returns {number}
17
17
  */
18
18
  export function getV2DiagnosticGeneration(payload?: {
19
19
  generation?: unknown;
20
- }): number;
20
+ } | null): number;
21
21
  /**
22
22
  * Creates a dedupe tracker for diagnostic emissions, scoped by documentId
23
23
  * and generation. The key is `internalCode` only (per active generation) --
@@ -1,16 +1,16 @@
1
1
  declare const _default: import('vue').DefineComponent<{}, {
2
2
  target: Record<string, any>;
3
3
  doc: Record<string, any>;
4
- selectedText: string;
5
4
  restoreSelection: Function;
5
+ selectedText: string;
6
6
  endpoint: string;
7
7
  apiKey: string;
8
8
  handleClose: Function;
9
9
  $props: {
10
10
  readonly target?: Record<string, any> | undefined;
11
11
  readonly doc?: Record<string, any> | undefined;
12
- readonly selectedText?: string | undefined;
13
12
  readonly restoreSelection?: Function | undefined;
13
+ readonly selectedText?: string | undefined;
14
14
  readonly endpoint?: string | undefined;
15
15
  readonly apiKey?: string | undefined;
16
16
  readonly handleClose?: Function | undefined;