superdoc 2.29.0-next.3 → 2.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/dist/chunks/{FindReplaceSurface-BKVHzhQ4.es.js → FindReplaceSurface-B_5ggdWg.es.js} +1 -1
  2. package/dist/chunks/{FindReplaceSurface-BNDrJ6VS.cjs → FindReplaceSurface-fVHxPXtn.cjs} +1 -1
  3. package/dist/chunks/{PasswordPromptSurface-6mF6Azda.es.js → PasswordPromptSurface-CZqhDQQ1.es.js} +1 -1
  4. package/dist/chunks/{PasswordPromptSurface-BNkaztaP.cjs → PasswordPromptSurface-x8GNmMJT.cjs} +1 -1
  5. package/dist/chunks/{PdfViewer-D4lVeOJu.es.js → PdfViewer-CW09MNrB.es.js} +70 -105
  6. package/dist/chunks/{PdfViewer-boENOZdF.cjs → PdfViewer-CkrAHpC-.cjs} +74 -109
  7. package/dist/chunks/{_plugin-vue_export-helper-6MBoygIY.cjs → _plugin-vue_export-helper-BkbCxNeT.cjs} +31 -7
  8. package/dist/chunks/{_plugin-vue_export-helper-CsJQtMvr.es.js → _plugin-vue_export-helper-DRPRMkeA.es.js} +20 -8
  9. package/dist/chunks/{constants-DpXuDx_g.cjs → constants-BeeNZoQp.cjs} +1 -1
  10. package/dist/chunks/{constants-B6VBlmKp.es.js → constants-BvNs_ybI.es.js} +1 -1
  11. package/dist/chunks/{create-super-doc-ui-BFt8agAI.es.js → create-super-doc-ui-Dc8dQAMc.es.js} +89 -137
  12. package/dist/chunks/{create-super-doc-ui-BAGOnYGM.cjs → create-super-doc-ui-L60GhVAX.cjs} +211 -259
  13. package/dist/collaboration-upgrade-engine.cjs +1 -1
  14. package/dist/collaboration-upgrade-engine.es.js +1 -1
  15. package/dist/document-api/src/capabilities/html-markdown-support.d.ts +4 -6
  16. package/dist/document-api/src/comments/comments.d.ts +2 -0
  17. package/dist/document-api/src/contract/command-catalog.d.ts +1 -1
  18. package/dist/document-api/src/contract/operation-definitions.d.ts +2 -2
  19. package/dist/document-api/src/contract/operation-registry.d.ts +10 -9
  20. package/dist/document-api/src/index.d.ts +8 -7
  21. package/dist/document-api/src/insert/insert.d.ts +2 -2
  22. package/dist/document-api/src/replace/replace.d.ts +3 -2
  23. package/dist/document-api/src/types/address.d.ts +3 -0
  24. package/dist/document-api/src/types/temporary-mutation.d.ts +5 -1
  25. package/dist/document-api/src/write/write.d.ts +12 -6
  26. package/dist/public/ui-react.cjs +1 -1
  27. package/dist/public/ui-react.es.js +1 -1
  28. package/dist/public/ui-vue.cjs +1 -1
  29. package/dist/public/ui-vue.es.js +1 -1
  30. package/dist/public/ui.cjs +1 -1
  31. package/dist/public/ui.es.js +1 -1
  32. package/dist/style.css +1 -1
  33. package/dist/style.layered.css +1 -1
  34. package/dist/superdoc/src/SuperDoc.vue.d.ts +132 -58
  35. package/dist/superdoc/src/components/CommentsLayer/CommentDialog.vue.d.ts +28 -13
  36. package/dist/superdoc/src/components/CommentsLayer/collect-removed-comment-ids.d.ts +11 -1
  37. package/dist/superdoc/src/components/CommentsLayer/collect-tracked-change-thread.d.ts +19 -2
  38. package/dist/superdoc/src/components/CommentsLayer/comment-urls.d.ts +1 -1
  39. package/dist/superdoc/src/components/CommentsLayer/commentsList/super-comments-list.d.ts +23 -20
  40. package/dist/superdoc/src/components/CommentsLayer/floating-comment-positioning.d.ts +24 -23
  41. package/dist/superdoc/src/components/CommentsLayer/helpers.d.ts +1 -4
  42. package/dist/superdoc/src/components/CommentsLayer/tracked-change-threading.d.ts +16 -2
  43. package/dist/superdoc/src/components/CommentsLayer/use-comment.d.ts +28 -13
  44. package/dist/superdoc/src/components/PdfViewer/PdfViewer.vue.d.ts +132 -45
  45. package/dist/superdoc/src/components/PdfViewer/PdfViewerDocument.vue.d.ts +62 -16
  46. package/dist/superdoc/src/components/PdfViewer/PdfViewerPage.vue.d.ts +77 -17
  47. package/dist/superdoc/src/components/PdfViewer/pdf-viewer-types.d.ts +45 -0
  48. package/dist/superdoc/src/components/Whiteboard/WhiteboardLayer.vue.d.ts +80 -16
  49. package/dist/superdoc/src/components/Whiteboard/WhiteboardPage.vue.d.ts +48 -13
  50. package/dist/superdoc/src/components/Whiteboard/use-whiteboard.d.ts +30 -15
  51. package/dist/superdoc/src/components/Whiteboard/whiteboard-types.d.ts +13 -0
  52. package/dist/superdoc/src/components/surfaces/focusable-selector.d.ts +1 -5
  53. package/dist/superdoc/src/components/surfaces/watermark-surface-runtime.d.ts +7 -7
  54. package/dist/superdoc/src/composables/find-shortcut-owner.d.ts +16 -9
  55. package/dist/superdoc/src/composables/replace-continuation.d.ts +11 -15
  56. package/dist/superdoc/src/composables/use-comment-small-screen.d.ts +11 -7
  57. package/dist/superdoc/src/composables/use-compact-comment-popover.d.ts +44 -18
  58. package/dist/superdoc/src/composables/use-document.d.ts +1210 -30
  59. package/dist/superdoc/src/composables/use-field.d.ts +88 -25
  60. package/dist/superdoc/src/composables/use-find-replace.d.ts +13 -3
  61. package/dist/superdoc/src/composables/use-password-prompt.d.ts +23 -24
  62. package/dist/superdoc/src/composables/use-viewport-fit.d.ts +62 -26
  63. package/dist/superdoc/src/composables/useUiFontFamily.d.ts +3 -11
  64. package/dist/superdoc/src/core/SuperDoc.d.ts +4 -4
  65. package/dist/superdoc/src/core/collaboration/collaboration-comments.d.ts +9 -4
  66. package/dist/superdoc/src/core/collaboration/helpers.d.ts +20 -3
  67. package/dist/superdoc/src/core/collaboration/permissions.d.ts +15 -10
  68. package/dist/superdoc/src/core/collaboration/resolve-v2-collaboration-target.d.ts +4 -3
  69. package/dist/superdoc/src/core/collaboration/v2-awareness-bridge.d.ts +2 -1
  70. package/dist/superdoc/src/core/config/merge-comments-config.d.ts +1 -5
  71. package/dist/superdoc/src/core/config/merge-defined.d.ts +3 -8
  72. package/dist/superdoc/src/core/config/normalize-hyperlinks-config.d.ts +7 -12
  73. package/dist/superdoc/src/core/config/normalize-surfaces-config.d.ts +9 -12
  74. package/dist/superdoc/src/core/config/normalize-ui-config.d.ts +1 -12
  75. package/dist/superdoc/src/core/create-app.d.ts +13 -24
  76. package/dist/superdoc/src/core/editor-runtime/conformance/fake-v2-runtime.d.ts +2 -1
  77. package/dist/superdoc/src/core/editor-runtime/editor-runtime-registry.d.ts +2 -1
  78. package/dist/superdoc/src/core/editor-runtime/index.d.ts +1 -1
  79. package/dist/superdoc/src/core/editor-runtime/types.d.ts +2 -1
  80. package/dist/superdoc/src/core/editor-runtime/v2/v2-session-shortcut-routes.d.ts +1 -1
  81. package/dist/superdoc/src/core/helpers/export.d.ts +3 -2
  82. package/dist/superdoc/src/core/helpers/file.d.ts +8 -45
  83. package/dist/superdoc/src/core/helpers/normalize-track-changes-config.d.ts +6 -60
  84. package/dist/superdoc/src/core/pdf/helpers/constants.d.ts +2 -2
  85. package/dist/superdoc/src/core/pdf/helpers/floor.d.ts +1 -1
  86. package/dist/superdoc/src/core/pdf/helpers/range.d.ts +1 -1
  87. package/dist/superdoc/src/core/pdf/helpers/read-file.d.ts +1 -1
  88. package/dist/superdoc/src/core/pdf/pdf-adapter.d.ts +28 -61
  89. package/dist/superdoc/src/core/superdoc-ui-owner.d.ts +1 -1
  90. package/dist/superdoc/src/core/surface-manager.d.ts +21 -83
  91. package/dist/superdoc/src/core/types/index.d.ts +41 -23
  92. package/dist/superdoc/src/core/v2-integration/browser-peer-runtime.d.ts +5 -3
  93. package/dist/superdoc/src/core/v2-integration/cdn-engine-loader.d.ts +3 -13
  94. package/dist/superdoc/src/core/v2-integration/internal-vue-runtime.d.ts +64 -59
  95. package/dist/superdoc/src/core/v2-integration/v2-integration.d.ts +10 -10
  96. package/dist/superdoc/src/core/whiteboard/Whiteboard.d.ts +22 -208
  97. package/dist/superdoc/src/core/whiteboard/WhiteboardPage.d.ts +163 -189
  98. package/dist/superdoc/src/core/whiteboard/helpers/createTextarea.d.ts +14 -1
  99. package/dist/superdoc/src/core/whiteboard/helpers/flattenPoints.d.ts +1 -1
  100. package/dist/superdoc/src/core/whiteboard/helpers/getRandomId.d.ts +1 -1
  101. package/dist/superdoc/src/helpers/comment-focus.d.ts +21 -4
  102. package/dist/superdoc/src/helpers/deprecation.d.ts +5 -11
  103. package/dist/superdoc/src/helpers/interaction-trace.d.ts +7 -24
  104. package/dist/superdoc/src/helpers/mark-raw-component.d.ts +1 -0
  105. package/dist/superdoc/src/helpers/object-guards.d.ts +2 -5
  106. package/dist/superdoc/src/helpers/selection-source.d.ts +1 -1
  107. package/dist/superdoc/src/helpers/use-selection.d.ts +35 -15
  108. package/dist/superdoc/src/helpers/v2-author-required-rejection.d.ts +8 -11
  109. package/dist/superdoc/src/helpers/v2-bulk-decision-event.d.ts +9 -7
  110. package/dist/superdoc/src/helpers/v2-keyboard-edit-rejection.d.ts +8 -7
  111. package/dist/superdoc/src/helpers/v2-mutation-exception.d.ts +12 -8
  112. package/dist/superdoc/src/helpers/v2-review-target.d.ts +11 -1
  113. package/dist/superdoc/src/helpers/v2-selection-sync.d.ts +40 -14
  114. package/dist/superdoc/src/helpers/v2-typing-mutation-event.d.ts +14 -5
  115. package/dist/superdoc/src/icons.d.ts +11 -19
  116. package/dist/superdoc/src/internal/diagnostics/diagnostic-dedupe.d.ts +6 -15
  117. package/dist/superdoc/src/internal/diagnostics/translate-diagnostic.d.ts +6 -4
  118. package/dist/superdoc/src/internal/toolbar/built-in/AIWriter.vue.d.ts +2 -2
  119. package/dist/superdoc/src/internal/toolbar/built-in/ButtonGroup.vue.d.ts +4 -24
  120. package/dist/superdoc/src/internal/toolbar/built-in/FontFamilyCombobox.vue.d.ts +34 -0
  121. package/dist/superdoc/src/internal/toolbar/built-in/FontSizeCombobox.vue.d.ts +34 -0
  122. package/dist/superdoc/src/internal/toolbar/built-in/LinkInput.vue.d.ts +1 -1
  123. package/dist/superdoc/src/internal/toolbar/built-in/PageNumberMenu.vue.d.ts +25 -15
  124. package/dist/superdoc/src/internal/toolbar/built-in/Toolbar.vue.d.ts +9 -3
  125. package/dist/superdoc/src/internal/toolbar/built-in/ToolbarComboBox.vue.d.ts +12 -14
  126. package/dist/superdoc/src/internal/toolbar/built-in/ToolbarDropdown.vue.d.ts +1 -11
  127. package/dist/superdoc/src/internal/toolbar/built-in/color-dropdown-helpers.d.ts +9 -19
  128. package/dist/superdoc/src/internal/toolbar/built-in/constants.d.ts +14 -45
  129. package/dist/superdoc/src/internal/toolbar/built-in/default-items.d.ts +34 -17
  130. package/dist/superdoc/src/internal/toolbar/built-in/font-options.d.ts +15 -1
  131. package/dist/superdoc/src/internal/toolbar/built-in/font-typeahead.d.ts +37 -7
  132. package/dist/superdoc/src/internal/toolbar/built-in/format-negation.d.ts +10 -4
  133. package/dist/superdoc/src/internal/toolbar/built-in/general.d.ts +12 -1
  134. package/dist/superdoc/src/internal/toolbar/built-in/helpers.d.ts +9 -4
  135. package/dist/superdoc/src/internal/toolbar/built-in/list-style-buttons.d.ts +2 -2
  136. package/dist/superdoc/src/internal/toolbar/built-in/page-number-feedback.d.ts +4 -5
  137. package/dist/superdoc/src/internal/toolbar/built-in/scroll-helpers.d.ts +3 -4
  138. package/dist/superdoc/src/internal/toolbar/built-in/toolbar-focus-helpers.d.ts +10 -2
  139. package/dist/superdoc/src/internal/toolbar/built-in/toolbarIcons.d.ts +78 -145
  140. package/dist/superdoc/src/internal/toolbar/built-in/toolbarTexts.d.ts +61 -61
  141. package/dist/superdoc/src/internal/toolbar/built-in/url-safety.d.ts +11 -3
  142. package/dist/superdoc/src/internal/toolbar/built-in/use-toolbar-item.d.ts +110 -48
  143. package/dist/superdoc/src/internal/toolbar/built-in-toolbar.d.ts +11 -30
  144. package/dist/superdoc/src/internal/toolbar/compatibility-catalog.d.ts +4 -3
  145. package/dist/superdoc/src/internal/toolbar/image-upload.d.ts +29 -39
  146. package/dist/superdoc/src/internal/toolbar/toolbar-item-aliases.d.ts +1 -1
  147. package/dist/superdoc/src/public/browser-document-api.d.ts +5 -4
  148. package/dist/superdoc/src/public/index.d.cts +26 -0
  149. package/dist/superdoc/src/public/index.d.ts +13 -0
  150. package/dist/superdoc/src/public/ui/commands.d.ts +14 -13
  151. package/dist/superdoc/src/public/ui/create-super-doc-ui.d.ts +1 -1
  152. package/dist/superdoc/src/public/ui/entity-at.d.ts +2 -1
  153. package/dist/superdoc/src/public/ui/format-painter-helpers.d.ts +2 -8
  154. package/dist/superdoc/src/public/ui/style-match-patch.d.ts +2 -2
  155. package/dist/superdoc/src/public/ui/types.d.ts +1 -1
  156. package/dist/superdoc/src/stores/comments-store.d.ts +231 -105
  157. package/dist/superdoc/src/stores/helpers/comment-document-scope.d.ts +22 -0
  158. package/dist/superdoc/src/stores/helpers/comment-grouping.d.ts +30 -0
  159. package/dist/superdoc/src/stores/helpers/comment-identity.d.ts +40 -0
  160. package/dist/superdoc/src/stores/helpers/floating-comment-instances.d.ts +48 -13
  161. package/dist/superdoc/src/stores/helpers/pending-selection-snapshot.d.ts +17 -0
  162. package/dist/superdoc/src/stores/helpers/tracked-change-compaction.d.ts +16 -0
  163. package/dist/superdoc/src/stores/helpers/tracked-change-decision.d.ts +45 -0
  164. package/dist/superdoc/src/stores/helpers/tracked-change-identity.d.ts +19 -0
  165. package/dist/superdoc/src/stores/helpers/tracked-change-row-values.d.ts +0 -4
  166. package/dist/superdoc/src/stores/helpers/tracked-change-thread-index.d.ts +21 -24
  167. package/dist/superdoc/src/stores/superdoc-store.d.ts +694 -316
  168. package/dist/superdoc.cjs +1804 -2782
  169. package/dist/superdoc.es.js +1720 -2699
  170. package/dist-cdn/style.layered.css +1 -1
  171. package/dist-cdn/superdoc.min.css +1 -1
  172. package/dist-cdn/superdoc.min.js +42 -42
  173. package/package.json +3 -2
  174. package/dist/superdoc/src/internal/toolbar/index.d.ts +0 -10
  175. package/dist/superdoc/src/main.d.ts +0 -1
@@ -1,10 +1,14 @@
1
- export function createV2MutationRejectionCause(event: any): {
2
- editableCommandKind?: any;
3
- inputKind?: any;
4
- reason?: string | undefined;
5
- failureSource?: any;
1
+ export type V2MutationRejectedEvent = Record<string, unknown> & {
2
+ type: 'mutation:rejected';
6
3
  };
7
- export function createV2MutationRejectionNotificationGate(matches: any): {
8
- shouldNotify(scope: any, event: any): boolean;
9
- clear(scope: any): void;
4
+ export type V2MutationRejectionCause = {
5
+ failureSource?: string;
6
+ reason?: string;
7
+ inputKind?: string;
8
+ editableCommandKind?: string;
9
+ };
10
+ export declare function createV2MutationRejectionCause(event: unknown): V2MutationRejectionCause;
11
+ export declare function createV2MutationRejectionNotificationGate(matches: (event: unknown) => event is V2MutationRejectedEvent): {
12
+ shouldNotify(scope: string | null | undefined, event: unknown): boolean;
13
+ clear(scope: string | null | undefined): void;
10
14
  };
@@ -1,7 +1,17 @@
1
+ type V2ReviewTargetInput = {
2
+ entityId?: unknown;
3
+ entityType?: unknown;
4
+ };
5
+ type V2ReviewTargetComment = {
6
+ trackedChange?: unknown;
7
+ commentId?: unknown;
8
+ importedId?: unknown;
9
+ };
1
10
  /**
2
11
  * Resolve the comments-store identity for a document-origin v2 review target.
3
12
  * Painted review carriers can become interactive before the asynchronous row
4
13
  * hydration finishes. In that window the host's canonical entity id remains
5
14
  * the correct pending active identity; once hydrated, the row aliases win.
6
15
  */
7
- export function resolveV2ReviewTargetCommentId(target: any, getComment: any): any;
16
+ export declare function resolveV2ReviewTargetCommentId(target: V2ReviewTargetInput | null | undefined, getComment: ((id: string) => V2ReviewTargetComment | null | undefined) | null | undefined): string | null;
17
+ export {};
@@ -1,15 +1,41 @@
1
- export function isV2RangeSnapshot(snapshot: {
2
- anchor?: {
3
- blockId?: unknown;
4
- blockOffset?: unknown;
5
- };
6
- focus?: {
7
- blockId?: unknown;
8
- blockOffset?: unknown;
9
- };
10
- } | null | undefined): boolean;
11
- export function hasOutsideV2DomRangeSelection(selection: Selection | null | undefined, root: Node | null | undefined): boolean;
12
- export function shouldPreserveHostV2Selection(documentMode: string | null | undefined, hostSnapshot: unknown): boolean;
13
- export function shouldRetainV2FloatingSelection(hasHostRange: boolean, selectionPosition: {
1
+ type V2SelectionPoint = {
2
+ blockId?: unknown;
3
+ blockOffset?: unknown;
4
+ };
5
+ type V2RangeSnapshotInput = {
6
+ anchor?: V2SelectionPoint | null;
7
+ focus?: V2SelectionPoint | null;
8
+ };
9
+ /**
10
+ * A logical v2 selection snapshot represents a non-empty range when its anchor
11
+ * and focus point at different block positions. Mirrors the range check the v2
12
+ * shell uses when it emits `v2-selection-changed`.
13
+ */
14
+ export declare const isV2RangeSnapshot: (snapshot: V2RangeSnapshotInput | null | undefined) => boolean;
15
+ /**
16
+ * Detect a real browser text selection whose endpoints are outside the active
17
+ * v2 mount. Editable host selections can have no native DOM range, so an
18
+ * absent range must not count as an outside selection.
19
+ */
20
+ export declare const hasOutsideV2DomRangeSelection: (selection: Selection | null | undefined, root: Node | null | undefined) => boolean;
21
+ /**
22
+ * Decide whether the DOM-selection sync pass should keep the affordance driven
23
+ * by the v2 host's logical selection instead of clearing it.
24
+ *
25
+ * In editable modes the host owns pointer text selection, so native DOM ranges
26
+ * may be absent or stale. In that case the pointerup sync must defer to the
27
+ * host snapshot rather than clobber the selection the host just published.
28
+ * Only editable modes use the host snapshot. Viewing mode keeps native DOM
29
+ * selection, and unknown modes should not preserve stale host state.
30
+ */
31
+ export declare const shouldPreserveHostV2Selection: (documentMode: string | null | undefined, hostSnapshot: V2RangeSnapshotInput | null | undefined) => boolean;
32
+ /**
33
+ * A V2 paint can briefly have no DOM anchor while a selected control is being
34
+ * rebuilt. Keep an already-positioned comment affordance during that gap when
35
+ * the host still owns a range; otherwise the button unmounts and remounts on
36
+ * consecutive paint frames, making it blink and intercepting its own click.
37
+ */
38
+ export declare const shouldRetainV2FloatingSelection: (hasHostRange: boolean, selectionPosition: {
14
39
  source?: unknown;
15
- } | null | undefined): boolean;
40
+ } | null | undefined) => boolean;
41
+ export {};
@@ -1,5 +1,14 @@
1
- export function isV2EditableTextMutationEvent(event: {
2
- type?: string;
3
- origin?: string;
4
- editableCommandKind?: string;
5
- } | null | undefined): boolean;
1
+ /**
2
+ * True when a forwarded v2 host event is a committed editable-input mutation
3
+ * of the sustained-typing class, i.e. review-row hydration for it should be
4
+ * debounced rather than fired immediately.
5
+ *
6
+ * Events without a forwarded `editableCommandKind` (programmatic Document API
7
+ * mutations, history commits, unclassified structural commands) return false
8
+ * so they keep hydrating immediately.
9
+ */
10
+ export declare const isV2EditableTextMutationEvent: (event: {
11
+ type?: unknown;
12
+ origin?: unknown;
13
+ editableCommandKind?: unknown;
14
+ } | null | undefined) => boolean;
@@ -1,19 +1,11 @@
1
- import { default as commentIconSvg } from '../../../shared/common/icons/comment-solid.svg?raw';
2
- import { default as caretDownIconSvg } from '../../../shared/common/icons/caret-down-solid.svg?raw';
3
- import { default as userCheckIconSvg } from '../../../shared/common/icons/user-check-solid.svg?raw';
4
- import { default as usersIconSvg } from '../../../shared/common/icons/users-solid.svg?raw';
5
- import { default as checkIconSvg } from '../../../shared/common/icons/check-solid.svg?raw';
6
- import { default as xmarkIconSvg } from '../../../shared/common/icons/xmark-solid.svg?raw';
7
- import { default as ellipsisVerticalSvg } from '../../../shared/common/icons/ellipsis-vertical-solid.svg?raw';
8
- import { default as rotateLeftSvg } from '../../../shared/common/icons/rotate-left-solid.svg?raw';
9
- export namespace superdocIcons {
10
- export { commentIconSvg as comment };
11
- export { caretDownIconSvg as caretDown };
12
- export { userCheckIconSvg as internal };
13
- export { usersIconSvg as external };
14
- export { checkIconSvg as markDone };
15
- export { checkIconSvg as acceptChange };
16
- export { xmarkIconSvg as rejectChange };
17
- export { ellipsisVerticalSvg as overflow };
18
- export { rotateLeftSvg as reopen };
19
- }
1
+ export declare const superdocIcons: {
2
+ comment: string;
3
+ caretDown: string;
4
+ internal: string;
5
+ external: string;
6
+ markDone: string;
7
+ acceptChange: string;
8
+ rejectChange: string;
9
+ overflow: string;
10
+ reopen: string;
11
+ };
@@ -11,13 +11,13 @@
11
11
  * come from the shell, not be inferred from `onV2EditorReady` timing: that
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
- *
15
- * @param {{generation?: unknown} | null} [payload]
16
- * @returns {number}
17
14
  */
18
- export function getV2DiagnosticGeneration(payload?: {
15
+ export declare function getV2DiagnosticGeneration(payload?: {
19
16
  generation?: unknown;
20
17
  } | null): number;
18
+ export interface V2DiagnosticDedupe {
19
+ shouldEmit(documentId: string | null | undefined, generation: number, internalCode: string | null | undefined): boolean;
20
+ }
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) --
@@ -43,12 +43,8 @@ export function getV2DiagnosticGeneration(payload?: {
43
43
  * a long-lived SuperDoc instance's life (e.g. a document-management app
44
44
  * cycling through many files); evicting on document removal would need to
45
45
  * hook document-lifecycle wiring, which is out of scope here.
46
- *
47
- * @returns {{ shouldEmit: (documentId: string | null | undefined, generation: number, internalCode: string | null | undefined) => boolean }}
48
46
  */
49
- export function createV2DiagnosticDedupe(): {
50
- shouldEmit: (documentId: string | null | undefined, generation: number, internalCode: string | null | undefined) => boolean;
51
- };
47
+ export declare function createV2DiagnosticDedupe(): V2DiagnosticDedupe;
52
48
  /**
53
49
  * A single boot failure can translate to a generic reason-based diagnostic
54
50
  * (`translateBootFailureReason`, e.g. `source-load-failed` -> `PARSE_ERROR`)
@@ -61,12 +57,7 @@ export function createV2DiagnosticDedupe(): {
61
57
  * `bootErrorName`-classified diagnostic (render-pipeline signal, not
62
58
  * package-integrity) is never redundant this way, since it carries genuinely
63
59
  * distinct information from the package diagnostics.
64
- *
65
- * @param {{internalCode?: string} | null} bootDiagnostic
66
- * @param {string} reason
67
- * @param {readonly unknown[]} translatedRecords
68
- * @returns {boolean}
69
60
  */
70
- export function isBootDiagnosticRedundant(bootDiagnostic: {
61
+ export declare function isBootDiagnosticRedundant(bootDiagnostic: {
71
62
  internalCode?: string;
72
63
  } | null, reason: string, translatedRecords: readonly unknown[]): boolean;
@@ -13,9 +13,9 @@ type RenderReadinessDiagnostic = {
13
13
  reason?: string;
14
14
  severity?: string;
15
15
  error?: {
16
- name?: string;
17
- message?: string;
18
- stack?: string;
16
+ name?: unknown;
17
+ message?: unknown;
18
+ stack?: unknown;
19
19
  };
20
20
  };
21
21
  /**
@@ -27,7 +27,9 @@ export declare function translateUnzipDiagnostic(record: DiagnosticRecord | null
27
27
  * Translates a `V2RenderReadinessDiagnostic`-shaped object (render stage)
28
28
  * into a public diagnostic payload, or `null` if out of scope.
29
29
  */
30
- export declare function translateRenderReadinessDiagnostic(diag: RenderReadinessDiagnostic | null | undefined, ctx?: DiagnosticTranslationContext): SuperDocExceptionDiagnosticPayload | null;
30
+ export declare function translateRenderReadinessDiagnostic(diag: RenderReadinessDiagnostic | null | undefined, ctx?: DiagnosticTranslationContext): (SuperDocExceptionDiagnosticPayload & {
31
+ error: Error;
32
+ }) | null;
31
33
  /**
32
34
  * Translates a boot/open failure into a public diagnostic payload, or
33
35
  * `null` if out of scope.
@@ -72,10 +72,10 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
72
72
  }>> & Readonly<{}>, {
73
73
  target: SelectionTarget | null;
74
74
  doc: AiWriterDocument | null;
75
- restoreSelection: () => void;
76
75
  selectedText: string;
77
- endpoint: string;
76
+ restoreSelection: () => void;
78
77
  apiKey: string;
78
+ endpoint: string;
79
79
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
80
80
  textareaRef: HTMLTextAreaElement;
81
81
  }, HTMLFormElement>;
@@ -1,27 +1,7 @@
1
- import { PropType, Ref, StyleValue } from 'vue';
2
- import { default as ToolbarButton } from './ToolbarButton.vue.js';
3
- import { default as ToolbarDropdown } from './ToolbarDropdown.vue.js';
4
- import { default as FontFamilyCombobox } from './FontFamilyCombobox.vue';
5
- type ButtonItem = InstanceType<typeof ToolbarButton>['$props']['toolbarItem'];
6
- type ComboBoxProps = InstanceType<typeof FontFamilyCombobox>['$props'];
7
- type ComboBoxItem = ComboBoxProps['item'];
8
- type ComboBoxCommand = Parameters<NonNullable<ComboBoxProps['onCommand']>>[0];
9
- type DropdownOption = NonNullable<InstanceType<typeof ToolbarDropdown>['$props']['options']>[number];
10
- export interface ToolbarGroupItem extends ButtonItem {
11
- type: string;
12
- id: Ref<string>;
13
- isNarrow: Ref<boolean | undefined>;
14
- isWide: Ref<boolean | undefined>;
15
- tooltip: Ref<string | undefined>;
16
- argument: Ref<unknown>;
17
- command?: unknown;
18
- splitButtonCommand?: unknown;
19
- restoreEditorFocus: boolean;
20
- dropdownStyles: Ref<StyleValue | undefined>;
21
- dropdownValueKey: Ref<string | undefined>;
22
- selectedValue: Ref<string | number | null | undefined>;
23
- nestedOptions: Ref<DropdownOption[]>;
24
- }
1
+ import { PropType } from 'vue';
2
+ import { ToolbarItem, ToolbarItemOption as DropdownOption } from '../built-in-toolbar.js';
3
+ import { ComboBoxCommand, ComboBoxItem } from './ToolbarComboBox.vue.js';
4
+ export type ToolbarGroupItem = Pick<ToolbarItem, 'type' | 'id' | 'name' | 'active' | 'icon' | 'label' | 'hideLabel' | 'iconColor' | 'hasCaret' | 'splitButton' | 'disabled' | 'expand' | 'inlineTextInputVisible' | 'hasInlineTextInput' | 'style' | 'attributes' | 'nestedOptions' | 'isNarrow' | 'isWide' | 'tooltip' | 'argument' | 'command' | 'splitButtonCommand' | 'restoreEditorFocus' | 'dropdownStyles' | 'dropdownValueKey' | 'selectedValue'>;
25
5
  export interface ToolbarGroupCommand {
26
6
  item: ToolbarGroupItem | ComboBoxItem;
27
7
  argument?: unknown;
@@ -0,0 +1,34 @@
1
+ import { PropType } from 'vue';
2
+ import { ComboBoxCommand, ComboBoxItem, ComboBoxTabOut } from './ToolbarComboBox.vue.js';
3
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
4
+ item: {
5
+ type: PropType<ComboBoxItem>;
6
+ required: true;
7
+ };
8
+ uiFontFamily: {
9
+ type: StringConstructor;
10
+ default: string;
11
+ };
12
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
13
+ command: (payload: ComboBoxCommand) => any;
14
+ "item-clicked": () => any;
15
+ "tab-out": (event: ComboBoxTabOut) => any;
16
+ "editor-handoff": () => any;
17
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
18
+ item: {
19
+ type: PropType<ComboBoxItem>;
20
+ required: true;
21
+ };
22
+ uiFontFamily: {
23
+ type: StringConstructor;
24
+ default: string;
25
+ };
26
+ }>> & Readonly<{
27
+ onCommand?: ((payload: ComboBoxCommand) => any) | undefined;
28
+ "onItem-clicked"?: (() => any) | undefined;
29
+ "onTab-out"?: ((event: ComboBoxTabOut) => any) | undefined;
30
+ "onEditor-handoff"?: (() => any) | undefined;
31
+ }>, {
32
+ uiFontFamily: string;
33
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
34
+ export default _default;
@@ -0,0 +1,34 @@
1
+ import { PropType } from 'vue';
2
+ import { ComboBoxCommand, ComboBoxItem, ComboBoxTabOut } from './ToolbarComboBox.vue.js';
3
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
4
+ item: {
5
+ type: PropType<ComboBoxItem>;
6
+ required: true;
7
+ };
8
+ uiFontFamily: {
9
+ type: StringConstructor;
10
+ default: string;
11
+ };
12
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
13
+ command: (payload: ComboBoxCommand) => any;
14
+ "item-clicked": () => any;
15
+ "tab-out": (event: ComboBoxTabOut) => any;
16
+ "editor-handoff": () => any;
17
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
18
+ item: {
19
+ type: PropType<ComboBoxItem>;
20
+ required: true;
21
+ };
22
+ uiFontFamily: {
23
+ type: StringConstructor;
24
+ default: string;
25
+ };
26
+ }>> & Readonly<{
27
+ onCommand?: ((payload: ComboBoxCommand) => any) | undefined;
28
+ "onItem-clicked"?: (() => any) | undefined;
29
+ "onTab-out"?: ((event: ComboBoxTabOut) => any) | undefined;
30
+ "onEditor-handoff"?: (() => any) | undefined;
31
+ }>, {
32
+ uiFontFamily: string;
33
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
34
+ export default _default;
@@ -171,7 +171,6 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
171
171
  ui: LinkInputUI | null;
172
172
  textTarget: object | null;
173
173
  hyperlinkTarget: object | null;
174
- restoreSelection: () => void;
175
174
  showInput: boolean;
176
175
  showLink: boolean;
177
176
  goToAnchor: (anchorUrl: string) => unknown;
@@ -180,5 +179,6 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
180
179
  clickedElement: HTMLElement | null;
181
180
  hyperlinkText: string | null;
182
181
  selectedText: string | null;
182
+ restoreSelection: () => void;
183
183
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
184
184
  export default _default;
@@ -1,6 +1,16 @@
1
1
  import { PropType } from 'vue';
2
2
  import { HeaderFooterKind, HeaderFooterPageNumberAlignment, HeaderFooterPageNumbersInfo, SectionPageNumberingFormat } from '../../../../../document-api/src/index.js';
3
3
  import { CommandExecutionResult, CommandState } from '../../../public/ui/types.js';
4
+ type CommandReceipt = Exclude<CommandExecutionResult, boolean>;
5
+ type FailedCommandReceipt = Extract<CommandReceipt, {
6
+ success: false;
7
+ }>;
8
+ type PageNumberCommandResult = boolean | Pick<Extract<CommandReceipt, {
9
+ success: true;
10
+ }>, 'success'> | (Pick<FailedCommandReceipt, 'success'> & {
11
+ failure: Pick<FailedCommandReceipt['failure'], 'code' | 'details'>;
12
+ });
13
+ type PageNumberCommandState = Pick<CommandState, 'enabled'> & Partial<CommandState>;
4
14
  type PagePosition = 'top' | 'bottom';
5
15
  interface PageNumberChoice {
6
16
  position: PagePosition;
@@ -26,12 +36,12 @@ type PageNumberMenuOutcome = {
26
36
  declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
27
37
  /** Command state of `page-numbers-apply`, read when the popover opens. */
28
38
  pageNumbersState: {
29
- type: PropType<CommandState | null>;
39
+ type: PropType<PageNumberCommandState | null>;
30
40
  default: null;
31
41
  };
32
42
  /** Command state of `page-number-insert` (insert at the header/footer cursor). */
33
43
  atCursorState: {
34
- type: PropType<CommandState | null>;
44
+ type: PropType<PageNumberCommandState | null>;
35
45
  default: null;
36
46
  };
37
47
  /** Header/footer structure cannot be suggested, so numbering needs Editing. */
@@ -51,17 +61,17 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
51
61
  };
52
62
  /** Runs `page-numbers-apply` with `{ position, alignment?, showOnFirstPage?, format?, start? }`. */
53
63
  applyPageNumbers: {
54
- type: PropType<(choice: PageNumberChoice) => Promise<CommandExecutionResult>>;
64
+ type: PropType<(choice: PageNumberChoice) => Promise<PageNumberCommandResult>>;
55
65
  required: true;
56
66
  };
57
67
  /** Runs `page-numbers-remove`. */
58
68
  removePageNumbers: {
59
- type: PropType<() => Promise<CommandExecutionResult>>;
69
+ type: PropType<() => Promise<PageNumberCommandResult>>;
60
70
  required: true;
61
71
  };
62
72
  /** Runs `page-number-insert` at the header/footer cursor. */
63
73
  insertAtCursor: {
64
- type: PropType<() => Promise<CommandExecutionResult>>;
74
+ type: PropType<() => Promise<PageNumberCommandResult>>;
65
75
  required: true;
66
76
  };
67
77
  /** Closes the popover after a successful action. */
@@ -71,18 +81,18 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
71
81
  };
72
82
  /** Last choice made in this session, used when the section has no numbers yet. */
73
83
  initialChoice: {
74
- type: PropType<RememberedChoice | null>;
84
+ type: PropType<Partial<RememberedChoice> | null>;
75
85
  default: null;
76
86
  };
77
87
  }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
78
88
  /** Command state of `page-numbers-apply`, read when the popover opens. */
79
89
  pageNumbersState: {
80
- type: PropType<CommandState | null>;
90
+ type: PropType<PageNumberCommandState | null>;
81
91
  default: null;
82
92
  };
83
93
  /** Command state of `page-number-insert` (insert at the header/footer cursor). */
84
94
  atCursorState: {
85
- type: PropType<CommandState | null>;
95
+ type: PropType<PageNumberCommandState | null>;
86
96
  default: null;
87
97
  };
88
98
  /** Header/footer structure cannot be suggested, so numbering needs Editing. */
@@ -102,17 +112,17 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
102
112
  };
103
113
  /** Runs `page-numbers-apply` with `{ position, alignment?, showOnFirstPage?, format?, start? }`. */
104
114
  applyPageNumbers: {
105
- type: PropType<(choice: PageNumberChoice) => Promise<CommandExecutionResult>>;
115
+ type: PropType<(choice: PageNumberChoice) => Promise<PageNumberCommandResult>>;
106
116
  required: true;
107
117
  };
108
118
  /** Runs `page-numbers-remove`. */
109
119
  removePageNumbers: {
110
- type: PropType<() => Promise<CommandExecutionResult>>;
120
+ type: PropType<() => Promise<PageNumberCommandResult>>;
111
121
  required: true;
112
122
  };
113
123
  /** Runs `page-number-insert` at the header/footer cursor. */
114
124
  insertAtCursor: {
115
- type: PropType<() => Promise<CommandExecutionResult>>;
125
+ type: PropType<() => Promise<PageNumberCommandResult>>;
116
126
  required: true;
117
127
  };
118
128
  /** Closes the popover after a successful action. */
@@ -122,15 +132,15 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
122
132
  };
123
133
  /** Last choice made in this session, used when the section has no numbers yet. */
124
134
  initialChoice: {
125
- type: PropType<RememberedChoice | null>;
135
+ type: PropType<Partial<RememberedChoice> | null>;
126
136
  default: null;
127
137
  };
128
138
  }>> & Readonly<{}>, {
129
139
  suggesting: boolean;
130
- pageNumbersState: CommandState | null;
131
- atCursorState: CommandState | null;
140
+ pageNumbersState: PageNumberCommandState | null;
141
+ atCursorState: PageNumberCommandState | null;
132
142
  inHeaderFooter: boolean;
133
143
  loadCurrent: () => Promise<HeaderFooterPageNumbersInfo | null>;
134
- initialChoice: RememberedChoice | null;
144
+ initialChoice: Partial<RememberedChoice> | null;
135
145
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
136
146
  export default _default;
@@ -1,6 +1,12 @@
1
- declare const _default: import('vue').DefineComponent<{}, {
2
- $emit: (event: "select" | "toggle" | "command", ...args: any[]) => void;
3
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
2
+ select: (...args: any[]) => void;
3
+ toggle: (...args: any[]) => void;
4
+ command: (...args: any[]) => void;
5
+ }, string, import('vue').PublicProps, Readonly<{}> & Readonly<{
6
+ onSelect?: ((...args: any[]) => any) | undefined;
7
+ onToggle?: ((...args: any[]) => any) | undefined;
8
+ onCommand?: ((...args: any[]) => any) | undefined;
9
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
4
10
  toolbarRoot: HTMLDivElement;
5
11
  }, HTMLDivElement>;
6
12
  export default _default;
@@ -1,5 +1,5 @@
1
1
  import { CSSProperties, PropType, Ref, StyleValue } from 'vue';
2
- interface ComboBoxOption {
2
+ export interface ComboBoxOption {
3
3
  key: string;
4
4
  label: string;
5
5
  value?: string;
@@ -8,7 +8,7 @@ interface ComboBoxOption {
8
8
  [key: string]: unknown;
9
9
  };
10
10
  }
11
- interface ComboBoxItem {
11
+ export interface ComboBoxItem {
12
12
  id?: Ref<string>;
13
13
  name: Ref<string>;
14
14
  label?: Ref<string | number | null | undefined>;
@@ -25,6 +25,12 @@ interface TabOutTarget {
25
25
  shiftKey: boolean;
26
26
  target: HTMLInputElement | null;
27
27
  }
28
+ export type ComboBoxCommand = {
29
+ item: ComboBoxItem;
30
+ argument: string;
31
+ option: ComboBoxOption | null;
32
+ };
33
+ export type ComboBoxTabOut = KeyboardEvent | TabOutTarget;
28
34
  declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
29
35
  item: {
30
36
  type: PropType<ComboBoxItem>;
@@ -43,13 +49,9 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
43
49
  default: (value: string) => string;
44
50
  };
45
51
  }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
46
- command: (payload: {
47
- item: ComboBoxItem;
48
- argument: string;
49
- option: ComboBoxOption | null;
50
- }) => any;
52
+ command: (payload: ComboBoxCommand) => any;
51
53
  "item-clicked": () => any;
52
- "tab-out": (event: KeyboardEvent | TabOutTarget) => any;
54
+ "tab-out": (event: ComboBoxTabOut) => any;
53
55
  "editor-handoff": () => any;
54
56
  }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
55
57
  item: {
@@ -69,13 +71,9 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
69
71
  default: (value: string) => string;
70
72
  };
71
73
  }>> & Readonly<{
72
- onCommand?: ((payload: {
73
- item: ComboBoxItem;
74
- argument: string;
75
- option: ComboBoxOption | null;
76
- }) => any) | undefined;
74
+ onCommand?: ((payload: ComboBoxCommand) => any) | undefined;
77
75
  "onItem-clicked"?: (() => any) | undefined;
78
- "onTab-out"?: ((event: KeyboardEvent | TabOutTarget) => any) | undefined;
76
+ "onTab-out"?: ((event: ComboBoxTabOut) => any) | undefined;
79
77
  "onEditor-handoff"?: (() => any) | undefined;
80
78
  }>, {
81
79
  uiFontFamily: string;
@@ -1,15 +1,5 @@
1
1
  import { CSSProperties, PropType } from 'vue';
2
- interface DropdownOption {
3
- key?: string | number;
4
- label?: string;
5
- type?: string;
6
- disabled?: boolean;
7
- class?: unknown;
8
- props?: Record<string, unknown>;
9
- icon?: string | object | ((option: DropdownOption) => unknown);
10
- render?: () => unknown;
11
- [member: string]: unknown;
12
- }
2
+ import { ToolbarItemOption as DropdownOption } from '../built-in-toolbar.js';
13
3
  interface DropdownMenuProps {
14
4
  class?: unknown;
15
5
  style?: CSSProperties;
@@ -1,23 +1,13 @@
1
- export function makeColorOption(color: any, label?: null): {
2
- label: null;
1
+ import { BuiltInToolbar, ToolbarItem } from '../built-in-toolbar.js';
2
+ type ColorOption = {
3
+ label: string;
3
4
  icon: string;
4
- value: any;
5
- style: {
6
- color: any;
7
- boxShadow: string;
8
- borderRadius: string;
9
- };
5
+ value: string;
6
+ style: Record<string, string>;
10
7
  };
11
- export function renderColorOptions(superToolbar: any, button: any, customIcons?: any[], hasNoneIcon?: boolean): import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
8
+ type ColorDropdownToolbar = Pick<BuiltInToolbar, 'emitCommand' | 'superdoc' | 'activeEditor'>;
9
+ type ColorDropdownButton = Pick<ToolbarItem, 'name' | 'type' | 'command' | 'isCustomToolbarItem' | 'iconColor' | 'expand'>;
10
+ export declare const renderColorOptions: (superToolbar: ColorDropdownToolbar, button: ColorDropdownButton, customIcons?: ColorOption[][], hasNoneIcon?: boolean) => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
12
11
  [key: string]: any;
13
12
  }>;
14
- export const icons: {
15
- label: null;
16
- icon: string;
17
- value: any;
18
- style: {
19
- color: any;
20
- boxShadow: string;
21
- borderRadius: string;
22
- };
23
- }[][];
13
+ export {};