superdoc 2.28.0 → 2.29.0-next.13

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 (192) hide show
  1. package/dist/chunks/{FindReplaceSurface-Dm043CZP.es.js → FindReplaceSurface-BKVHzhQ4.es.js} +34 -26
  2. package/dist/chunks/{FindReplaceSurface-BRs3JrCq.cjs → FindReplaceSurface-BNDrJ6VS.cjs} +34 -26
  3. package/dist/chunks/{PasswordPromptSurface-DGjmN7A-.es.js → PasswordPromptSurface-6mF6Azda.es.js} +6 -4
  4. package/dist/chunks/{PasswordPromptSurface-BpqP4pUa.cjs → PasswordPromptSurface-BNkaztaP.cjs} +6 -4
  5. package/dist/chunks/{PdfViewer-Cg072l5d.cjs → PdfViewer-DmSkZehl.cjs} +72 -100
  6. package/dist/chunks/{PdfViewer-JHXZQZ9x.es.js → PdfViewer-aOWhUVI7.es.js} +69 -97
  7. package/dist/chunks/{constants-DpXuDx_g.cjs → constants-BeeNZoQp.cjs} +1 -1
  8. package/dist/chunks/{constants-B6VBlmKp.es.js → constants-BvNs_ybI.es.js} +1 -1
  9. package/dist/chunks/{create-super-doc-ui-BbjHD1ul.es.js → create-super-doc-ui-DdT4b29f.es.js} +200 -65
  10. package/dist/chunks/{create-super-doc-ui-BfgYblyI.cjs → create-super-doc-ui-_SbygYQ4.cjs} +227 -68
  11. package/dist/chunks/is-finite-number-BEXgTRgc.cjs +11 -0
  12. package/dist/chunks/is-finite-number-BpL4F38c.es.js +6 -0
  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/metadata-types.d.ts +1 -1
  18. package/dist/document-api/src/contract/operation-definitions.d.ts +3 -3
  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/lists/lists.d.ts +79 -79
  23. package/dist/document-api/src/replace/replace.d.ts +3 -2
  24. package/dist/document-api/src/tables/tables.d.ts +2 -1
  25. package/dist/document-api/src/types/address.d.ts +3 -0
  26. package/dist/document-api/src/types/table-operations.types.d.ts +1 -0
  27. package/dist/document-api/src/types/temporary-mutation.d.ts +5 -1
  28. package/dist/document-api/src/write/write.d.ts +18 -11
  29. package/dist/layout-engine/contracts/src/index.d.ts +1 -1
  30. package/dist/layout-engine/contracts/src/paragraph-visible-text.d.ts +3 -1
  31. package/dist/layout-engine/painters/dom/src/page-content.d.ts +1 -1
  32. package/dist/layout-engine/painters/dom/src/persistent-page-surface.d.ts +2 -0
  33. package/dist/public/ui-react.cjs +1 -1
  34. package/dist/public/ui-react.es.js +1 -1
  35. package/dist/public/ui-vue.cjs +1 -1
  36. package/dist/public/ui-vue.es.js +1 -1
  37. package/dist/public/ui.cjs +1 -1
  38. package/dist/public/ui.es.js +1 -1
  39. package/dist/style.css +1 -1
  40. package/dist/style.layered.css +1 -1
  41. package/dist/superdoc/src/SuperDoc.vue.d.ts +137 -61
  42. package/dist/superdoc/src/components/CommentsLayer/CommentDialog.vue.d.ts +533 -48
  43. package/dist/superdoc/src/components/CommentsLayer/CommentHeader.vue.d.ts +107 -23
  44. package/dist/superdoc/src/components/CommentsLayer/CommentInput.vue.d.ts +74 -14
  45. package/dist/superdoc/src/components/CommentsLayer/CommentsDropdown.vue.d.ts +55 -20
  46. package/dist/superdoc/src/components/CommentsLayer/FloatingComments.vue.d.ts +21 -8
  47. package/dist/superdoc/src/components/CommentsLayer/InternalDropdown.vue.d.ts +24 -8
  48. package/dist/superdoc/src/components/CommentsLayer/PdfCommentsLayer.vue.d.ts +5 -3
  49. package/dist/superdoc/src/components/CommentsLayer/commentsList/ReviewDirectoryListItem.vue.d.ts +60 -12
  50. package/dist/superdoc/src/components/CommentsLayer/commentsList/commentsList.vue.d.ts +20 -6
  51. package/dist/superdoc/src/components/CommentsLayer/floating-comment-positioning.d.ts +24 -23
  52. package/dist/superdoc/src/components/CommentsLayer/tracked-change-threading.d.ts +0 -1
  53. package/dist/superdoc/src/components/CommentsLayer/use-comment.d.ts +29 -13
  54. package/dist/superdoc/src/components/PdfViewer/PdfViewer.vue.d.ts +132 -45
  55. package/dist/superdoc/src/components/PdfViewer/PdfViewerDocument.vue.d.ts +62 -16
  56. package/dist/superdoc/src/components/PdfViewer/PdfViewerPage.vue.d.ts +77 -17
  57. package/dist/superdoc/src/components/PdfViewer/pdf-viewer-types.d.ts +45 -0
  58. package/dist/superdoc/src/components/Whiteboard/WhiteboardLayer.vue.d.ts +81 -16
  59. package/dist/superdoc/src/components/Whiteboard/WhiteboardPage.vue.d.ts +49 -13
  60. package/dist/superdoc/src/components/Whiteboard/use-whiteboard.d.ts +30 -15
  61. package/dist/superdoc/src/components/Whiteboard/whiteboard-types.d.ts +11 -0
  62. package/dist/superdoc/src/components/general/Avatar.vue.d.ts +14 -0
  63. package/dist/superdoc/src/components/surfaces/FindReplaceSurface.vue.d.ts +58 -15
  64. package/dist/superdoc/src/components/surfaces/PasswordPromptSurface.vue.d.ts +58 -15
  65. package/dist/superdoc/src/components/surfaces/SurfaceDialog.vue.d.ts +27 -9
  66. package/dist/superdoc/src/components/surfaces/SurfaceExternalMount.vue.d.ts +53 -16
  67. package/dist/superdoc/src/components/surfaces/SurfaceFloating.vue.d.ts +14 -6
  68. package/dist/superdoc/src/components/surfaces/SurfaceHost.vue.d.ts +25 -15
  69. package/dist/superdoc/src/components/surfaces/focusable-selector.d.ts +1 -5
  70. package/dist/superdoc/src/components/surfaces/watermark-surface-runtime.d.ts +7 -7
  71. package/dist/superdoc/src/composables/find-shortcut-owner.d.ts +16 -9
  72. package/dist/superdoc/src/composables/replace-continuation.d.ts +11 -15
  73. package/dist/superdoc/src/composables/use-comment-small-screen.d.ts +11 -7
  74. package/dist/superdoc/src/composables/use-compact-comment-popover.d.ts +44 -18
  75. package/dist/superdoc/src/composables/use-document.d.ts +1210 -30
  76. package/dist/superdoc/src/composables/use-field.d.ts +88 -25
  77. package/dist/superdoc/src/composables/use-link-popover.d.ts +3 -3
  78. package/dist/superdoc/src/composables/use-password-prompt.d.ts +23 -24
  79. package/dist/superdoc/src/composables/use-superdoc-instance.d.ts +4 -1
  80. package/dist/superdoc/src/composables/use-viewport-fit.d.ts +40 -26
  81. package/dist/superdoc/src/composables/useUiFontFamily.d.ts +3 -11
  82. package/dist/superdoc/src/core/SuperDoc.d.ts +3 -8
  83. package/dist/superdoc/src/core/collaboration/collaboration-comments.d.ts +9 -4
  84. package/dist/superdoc/src/core/collaboration/helpers.d.ts +20 -3
  85. package/dist/superdoc/src/core/collaboration/permissions.d.ts +15 -9
  86. package/dist/superdoc/src/core/collaboration/resolve-v2-collaboration-target.d.ts +4 -3
  87. package/dist/superdoc/src/core/collaboration/v2-awareness-bridge.d.ts +2 -1
  88. package/dist/superdoc/src/core/config/merge-comments-config.d.ts +1 -5
  89. package/dist/superdoc/src/core/config/merge-defined.d.ts +3 -8
  90. package/dist/superdoc/src/core/config/normalize-hyperlinks-config.d.ts +7 -12
  91. package/dist/superdoc/src/core/config/normalize-surfaces-config.d.ts +9 -12
  92. package/dist/superdoc/src/core/config/normalize-ui-config.d.ts +1 -12
  93. package/dist/superdoc/src/core/create-app.d.ts +13 -24
  94. package/dist/superdoc/src/core/editor-runtime/conformance/fake-v2-runtime.d.ts +2 -1
  95. package/dist/superdoc/src/core/editor-runtime/editor-runtime-registry.d.ts +2 -1
  96. package/dist/superdoc/src/core/editor-runtime/index.d.ts +1 -1
  97. package/dist/superdoc/src/core/editor-runtime/types.d.ts +9 -1
  98. package/dist/superdoc/src/core/editor-runtime/v2/v2-editor-runtime-adapter.d.ts +2 -1
  99. package/dist/superdoc/src/core/editor-runtime/v2/v2-session-shortcut-routes.d.ts +1 -1
  100. package/dist/superdoc/src/core/helpers/export.d.ts +3 -2
  101. package/dist/superdoc/src/core/helpers/file.d.ts +8 -45
  102. package/dist/superdoc/src/core/helpers/normalize-track-changes-config.d.ts +6 -60
  103. package/dist/superdoc/src/core/pdf/helpers/constants.d.ts +2 -2
  104. package/dist/superdoc/src/core/pdf/helpers/floor.d.ts +1 -1
  105. package/dist/superdoc/src/core/pdf/helpers/range.d.ts +1 -1
  106. package/dist/superdoc/src/core/pdf/helpers/read-file.d.ts +1 -1
  107. package/dist/superdoc/src/core/pdf/pdf-adapter.d.ts +24 -61
  108. package/dist/superdoc/src/core/superdoc-ui-owner.d.ts +1 -1
  109. package/dist/superdoc/src/core/surface-manager.d.ts +21 -83
  110. package/dist/superdoc/src/core/types/index.d.ts +14 -23
  111. package/dist/superdoc/src/core/v2-integration/v2-integration.d.ts +10 -10
  112. package/dist/superdoc/src/core/whiteboard/Whiteboard.d.ts +22 -208
  113. package/dist/superdoc/src/core/whiteboard/WhiteboardPage.d.ts +163 -189
  114. package/dist/superdoc/src/core/whiteboard/helpers/createTextarea.d.ts +14 -1
  115. package/dist/superdoc/src/core/whiteboard/helpers/flattenPoints.d.ts +1 -1
  116. package/dist/superdoc/src/core/whiteboard/helpers/getRandomId.d.ts +1 -1
  117. package/dist/superdoc/src/helpers/comment-focus.d.ts +21 -4
  118. package/dist/superdoc/src/helpers/deprecation.d.ts +5 -11
  119. package/dist/superdoc/src/helpers/interaction-trace.d.ts +7 -24
  120. package/dist/superdoc/src/helpers/is-finite-number.d.ts +1 -0
  121. package/dist/superdoc/src/helpers/mark-raw-component.d.ts +1 -0
  122. package/dist/superdoc/src/helpers/object-guards.d.ts +1 -5
  123. package/dist/superdoc/src/helpers/selection-source.d.ts +1 -1
  124. package/dist/superdoc/src/helpers/use-selection.d.ts +35 -15
  125. package/dist/superdoc/src/helpers/v2-author-required-rejection.d.ts +8 -11
  126. package/dist/superdoc/src/helpers/v2-bulk-decision-event.d.ts +9 -7
  127. package/dist/superdoc/src/helpers/v2-keyboard-edit-rejection.d.ts +8 -7
  128. package/dist/superdoc/src/helpers/v2-mutation-exception.d.ts +12 -8
  129. package/dist/superdoc/src/helpers/v2-review-target.d.ts +11 -1
  130. package/dist/superdoc/src/helpers/v2-selection-sync.d.ts +40 -14
  131. package/dist/superdoc/src/helpers/v2-typing-mutation-event.d.ts +14 -5
  132. package/dist/superdoc/src/icons.d.ts +11 -11
  133. package/dist/superdoc/src/internal/diagnostics/diagnostic-dedupe.d.ts +7 -16
  134. package/dist/superdoc/src/internal/toolbar/built-in/AIWriter.vue.d.ts +77 -16
  135. package/dist/superdoc/src/internal/toolbar/built-in/AlignmentButtons.vue.d.ts +5 -3
  136. package/dist/superdoc/src/internal/toolbar/built-in/ButtonGroup.vue.d.ts +85 -5
  137. package/dist/superdoc/src/internal/toolbar/built-in/DocumentMode.vue.d.ts +20 -6
  138. package/dist/superdoc/src/internal/toolbar/built-in/FontFamilyCombobox.vue.d.ts +32 -8
  139. package/dist/superdoc/src/internal/toolbar/built-in/FontSizeCombobox.vue.d.ts +32 -8
  140. package/dist/superdoc/src/internal/toolbar/built-in/IconGrid.vue.d.ts +44 -12
  141. package/dist/superdoc/src/internal/toolbar/built-in/IconGridRow.vue.d.ts +32 -9
  142. package/dist/superdoc/src/internal/toolbar/built-in/LinkInput.vue.d.ts +181 -36
  143. package/dist/superdoc/src/internal/toolbar/built-in/LinkedStyle.vue.d.ts +39 -10
  144. package/dist/superdoc/src/internal/toolbar/built-in/PageNumberMenu.vue.d.ts +133 -22
  145. package/dist/superdoc/src/internal/toolbar/built-in/SdTooltip.vue.d.ts +62 -23
  146. package/dist/superdoc/src/internal/toolbar/built-in/StyleButtonsList.vue.d.ts +39 -10
  147. package/dist/superdoc/src/internal/toolbar/built-in/TableActions.vue.d.ts +24 -6
  148. package/dist/superdoc/src/internal/toolbar/built-in/TableGrid.vue.d.ts +7 -3
  149. package/dist/superdoc/src/internal/toolbar/built-in/Toolbar.vue.d.ts +9 -3
  150. package/dist/superdoc/src/internal/toolbar/built-in/ToolbarButton.vue.d.ts +101 -16
  151. package/dist/superdoc/src/internal/toolbar/built-in/ToolbarButtonIcon.vue.d.ts +31 -10
  152. package/dist/superdoc/src/internal/toolbar/built-in/ToolbarComboBox.vue.d.ts +80 -11
  153. package/dist/superdoc/src/internal/toolbar/built-in/ToolbarDropdown.vue.d.ts +113 -33
  154. package/dist/superdoc/src/internal/toolbar/built-in/ToolbarSeparator.vue.d.ts +16 -6
  155. package/dist/superdoc/src/internal/toolbar/built-in/color-dropdown-helpers.d.ts +10 -20
  156. package/dist/superdoc/src/internal/toolbar/built-in/constants.d.ts +12 -45
  157. package/dist/superdoc/src/internal/toolbar/built-in/default-items.d.ts +34 -17
  158. package/dist/superdoc/src/internal/toolbar/built-in/list-style-buttons.d.ts +2 -2
  159. package/dist/superdoc/src/internal/toolbar/built-in/toolbar-focus-helpers.d.ts +10 -2
  160. package/dist/superdoc/src/internal/toolbar/built-in/toolbarIcons.d.ts +67 -0
  161. package/dist/superdoc/src/internal/toolbar/built-in/toolbarTexts.d.ts +61 -61
  162. package/dist/superdoc/src/internal/toolbar/built-in/use-toolbar-item.d.ts +110 -49
  163. package/dist/superdoc/src/internal/toolbar/built-in-toolbar.d.ts +7 -27
  164. package/dist/superdoc/src/internal/toolbar/compatibility-catalog.d.ts +4 -3
  165. package/dist/superdoc/src/internal/toolbar/toolbar-item-aliases.d.ts +1 -1
  166. package/dist/superdoc/src/public/browser-document-api.d.ts +5 -4
  167. package/dist/superdoc/src/public/index.d.cts +26 -0
  168. package/dist/superdoc/src/public/index.d.ts +13 -0
  169. package/dist/superdoc/src/public/ui/commands.d.ts +14 -13
  170. package/dist/superdoc/src/public/ui/create-super-doc-ui.d.ts +1 -1
  171. package/dist/superdoc/src/public/ui/entity-at.d.ts +2 -1
  172. package/dist/superdoc/src/public/ui/format-painter-helpers.d.ts +2 -8
  173. package/dist/superdoc/src/public/ui/style-match-patch.d.ts +2 -2
  174. package/dist/superdoc/src/public/ui/types.d.ts +1 -1
  175. package/dist/superdoc/src/stores/comments-store.d.ts +372 -123
  176. package/dist/superdoc/src/stores/helpers/comment-draft-text.d.ts +1 -0
  177. package/dist/superdoc/src/stores/helpers/comment-grouping.d.ts +30 -0
  178. package/dist/superdoc/src/stores/helpers/comment-identity.d.ts +40 -0
  179. package/dist/superdoc/src/stores/helpers/floating-comment-instances.d.ts +48 -13
  180. package/dist/superdoc/src/stores/helpers/tracked-change-identity.d.ts +19 -0
  181. package/dist/superdoc/src/stores/helpers/tracked-change-row-values.d.ts +21 -0
  182. package/dist/superdoc/src/stores/helpers/tracked-change-thread-index.d.ts +21 -24
  183. package/dist/superdoc/src/stores/superdoc-store.d.ts +1117 -370
  184. package/dist/superdoc.cjs +1923 -2838
  185. package/dist/superdoc.es.js +1863 -2783
  186. package/dist-cdn/style.layered.css +1 -1
  187. package/dist-cdn/superdoc.min.css +1 -1
  188. package/dist-cdn/superdoc.min.js +42 -42
  189. package/package.json +2 -2
  190. package/dist/superdoc/src/internal/toolbar/built-in/OverflowMenu.vue.d.ts +0 -104
  191. package/dist/superdoc/src/internal/toolbar/index.d.ts +0 -10
  192. package/dist/superdoc/src/main.d.ts +0 -1
@@ -1,23 +1,13 @@
1
- export function makeColorOption(color: any, label?: null): {
2
- label: null;
3
- icon: any;
4
- value: any;
5
- style: {
6
- color: any;
7
- boxShadow: string;
8
- borderRadius: string;
9
- };
1
+ import { BuiltInToolbar, ToolbarItem } from '../built-in-toolbar.js';
2
+ type ColorOption = {
3
+ label: string;
4
+ icon: string;
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: any;
17
- value: any;
18
- style: {
19
- color: any;
20
- boxShadow: string;
21
- borderRadius: string;
22
- };
23
- }[][];
13
+ export {};
@@ -1,51 +1,18 @@
1
- /**
2
- * The single seam that composes the font dropdown options: it turns the active document's
3
- * {@link import('../../../../../shared/font-system/src/index.js').DocumentFontOption}s into toolbar font options and unions them
4
- * with the bundled defaults. The toolbar only asks for the result; it does not know how a font previews.
5
- *
6
- * - A consumer-provided `configFonts` list is returned UNCHANGED (custom toolbars own their list).
7
- * - With no document options, returns `undefined` so the caller keeps its fallback to {@link TOOLBAR_FONTS}.
8
- * - Otherwise: bundled defaults and document fonts are deduped by normalized logical family, then sorted
9
- * alphabetically by the visible font name. `label`/`key` stay the pure logical family (active-state
10
- * matching + the stored value), and the preview renders in `previewFamily`.
11
- *
12
- * @param {ReadonlyArray<import('../../../../../shared/font-system/src/index.js').DocumentFontOption>} documentOptions
13
- * @param {Array} [configFonts] - the consumer's `fonts` config, if any
14
- * @returns {Array|undefined}
15
- */
16
- export function composeToolbarFontOptions(documentOptions: ReadonlyArray<import('../../../../../shared/font-system/src/index.js').DocumentFontOption>, configFonts?: any[]): any[] | undefined;
17
- /**
18
- * Map the host-computed, activation-aware font-family options onto the toolbar option shape. PURE: it
19
- * receives the already-resolved list from `superdoc.fonts.getFontFamilyOptions()` (the host owns the
20
- * `@superdoc/font-system` computation this module must not import). Returns `undefined` for an empty
21
- * list so the caller keeps its {@link TOOLBAR_FONTS} fallback. `label` is the Word-facing logical
22
- * family (stored on the selection + used for active-state matching), `key` is a stable option key, and
23
- * the row preview renders in `previewFamily` (falling back to the label).
24
- *
25
- * @param {ReadonlyArray<import('../../../../../shared/font-system/src/index.js').FontFamilyOption>} options
26
- * @returns {Array|undefined}
27
- */
28
- export function mapFontFamilyOptionsToToolbar(options: ReadonlyArray<import('../../../../../shared/font-system/src/index.js').FontFamilyOption>): any[] | undefined;
29
- export const TOOLBAR_FONTS: {
1
+ import { DocumentFontOption, FontFamilyOption } from '../../../../../shared/font-system/src/index.js';
2
+ import { ToolbarFontOption } from '../../../core/types/index.js';
3
+ export declare const TOOLBAR_FONTS: ToolbarFontOption[];
4
+ export declare function composeToolbarFontOptions(documentOptions: readonly DocumentFontOption[] | null | undefined, configFonts?: readonly ToolbarFontOption[]): readonly ToolbarFontOption[] | undefined;
5
+ export declare function mapFontFamilyOptionsToToolbar(options: readonly FontFamilyOption[] | null | undefined): ToolbarFontOption[] | undefined;
6
+ export declare const TOOLBAR_FONT_SIZES: {
30
7
  label: string;
31
8
  key: string;
32
9
  props: {
33
- style: {
34
- fontFamily: string;
35
- };
36
10
  'data-item': string;
37
11
  };
38
12
  }[];
39
- export const TOOLBAR_FONT_SIZES: {
40
- label: string;
41
- key: string;
42
- props: {
43
- 'data-item': string;
44
- };
45
- }[];
46
- export namespace RESPONSIVE_BREAKPOINTS {
47
- let sm: number;
48
- let md: number;
49
- let lg: number;
50
- let xl: number;
51
- }
13
+ export declare const RESPONSIVE_BREAKPOINTS: {
14
+ sm: number;
15
+ md: number;
16
+ lg: number;
17
+ xl: number;
18
+ };
@@ -1,18 +1,35 @@
1
- /**
2
- * Set or clear the link item's `href` without disturbing the rest of its
3
- * attributes. The static configuration (`ariaLabel`, and anything added later)
4
- * lives in the same object as the transient href, so rebuilding that object
5
- * from the keys a caller knows about silently drops the others.
6
- *
7
- * Exported because the built-in toolbar's `updateToolbarState()` writes the
8
- * href on its own path, without going through this item's handlers. Both
9
- * callers share this one rule so the two cannot drift apart.
10
- */
11
- export function withLinkHref(attributes: any, href: any): any;
12
- export function makeDefaultItems({ superToolbar, toolbarIcons, toolbarTexts, toolbarFonts, hideButtons, availableWidth, role, isDev, configuredItemNames, configuredItemOrder, excludedItemNames, additionalItems, }?: {
13
- isDev?: boolean | undefined;
14
- additionalItems?: never[] | undefined;
15
- }): {
16
- defaultItems: any[];
17
- overflowItems: any[];
1
+ import { ToolbarItemAttributes } from './use-toolbar-item.js';
2
+ import { BuiltInToolbar, ToolbarItem } from '../built-in-toolbar.js';
3
+ type DefaultItemsToolbar = Pick<BuiltInToolbar, 'config' | 'ui' | 'superdoc' | 'activeEditor' | 'pendingSelectionCapture' | 'emitCommand' | 'isCommandEnabled' | 'getLinkedStyleOptions' | 'getActiveLinkedStyleId' | 'updateLinkedStyleToMatchSelection'>;
4
+ interface DefaultItemsInput {
5
+ superToolbar: DefaultItemsToolbar;
6
+ toolbarIcons: Readonly<Record<string, unknown>>;
7
+ toolbarTexts: Readonly<Record<string, unknown>>;
8
+ toolbarFonts?: readonly FontOption[] | null;
9
+ hideButtons: boolean;
10
+ availableWidth: number;
11
+ role: string;
12
+ isDev?: boolean;
13
+ configuredItemNames?: ReadonlySet<string> | null;
14
+ configuredItemOrder?: readonly string[] | null;
15
+ excludedItemNames?: ReadonlySet<string> | null;
16
+ additionalItems?: readonly ToolbarItem[];
17
+ }
18
+ type FontOption = {
19
+ label: string;
20
+ key: string;
21
+ value?: string;
22
+ props?: {
23
+ style?: {
24
+ fontFamily?: string;
25
+ [key: string]: unknown;
26
+ };
27
+ [key: string]: unknown;
28
+ };
18
29
  };
30
+ export declare function withLinkHref(attributes: ToolbarItemAttributes, href: unknown): ToolbarItemAttributes;
31
+ export declare const makeDefaultItems: ({ superToolbar, toolbarIcons: configuredIcons, toolbarTexts: configuredTexts, toolbarFonts, hideButtons, availableWidth, role, isDev, configuredItemNames, configuredItemOrder, excludedItemNames, additionalItems, }: DefaultItemsInput) => {
32
+ defaultItems: ToolbarItem[];
33
+ overflowItems: ToolbarItem[];
34
+ };
35
+ export {};
@@ -1,10 +1,10 @@
1
1
  export const bulletStyleButtons: {
2
2
  key: string;
3
- icon: any;
3
+ icon: string;
4
4
  ariaLabel: string;
5
5
  }[];
6
6
  export const numberedStyleButtons: {
7
7
  key: string;
8
- icon: any;
8
+ icon: string;
9
9
  ariaLabel: string;
10
10
  }[];
@@ -1,2 +1,10 @@
1
- export function preventEditorFocusTransfer(event: any): void;
2
- export function refocusEditorSurface(superToolbar: any, preferredEditor?: null): void;
1
+ type FocusTarget = {
2
+ focus?: unknown;
3
+ };
4
+ type RefocusToolbar = {
5
+ superdoc?: FocusTarget | null;
6
+ activeEditor?: FocusTarget | null;
7
+ };
8
+ export declare const preventEditorFocusTransfer: (event: Pick<Event, "target" | "preventDefault">) => void;
9
+ export declare const refocusEditorSurface: (superToolbar: RefocusToolbar | null | undefined, preferredEditor?: FocusTarget | null) => void;
10
+ export {};
@@ -1,3 +1,70 @@
1
+ import { default as rotateLeftIconSvg } from '../../../../../../shared/common/icons/rotate-left-solid.svg?raw';
2
+ import { default as rotateRightIconSvg } from '../../../../../../shared/common/icons/rotate-right-solid.svg?raw';
3
+ import { default as boldIconSvg } from '../../../../../../shared/common/icons/bold-solid.svg?raw';
4
+ import { default as italicIconSvg } from '../../../../../../shared/common/icons/italic-solid.svg?raw';
5
+ import { default as underlineIconSvg } from '../../../../../../shared/common/icons/underline-solid.svg?raw';
6
+ import { default as fontIconSvg } from '../../../../../../shared/common/icons/font-solid.svg?raw';
7
+ import { default as linkIconSvg } from '../../../../../../shared/common/icons/link-solid.svg?raw';
8
+ import { default as imageIconSvg } from '../../../../../../shared/common/icons/image-solid.svg?raw';
9
+ import { default as tocIconSvg } from '../../../../../../shared/common/icons/toc-solid.svg?raw';
10
+ import { default as watermarkIconSvg } from '../../../../../../shared/common/icons/watermark.svg?raw';
11
+ import { default as pageNumberIconSvg } from '../../../../../../shared/common/icons/page-number.svg?raw';
12
+ import { default as alignLeftIconSvg } from '../../../../../../shared/common/icons/align-left-solid.svg?raw';
13
+ import { default as alignRightIconSvg } from '../../../../../../shared/common/icons/align-right-solid.svg?raw';
14
+ import { default as alignCenterIconSvg } from '../../../../../../shared/common/icons/align-center-solid.svg?raw';
15
+ import { default as alignJustifyIconSvg } from '../../../../../../shared/common/icons/align-justify-solid.svg?raw';
16
+ import { default as listIconSvg } from '../../../../../../shared/common/icons/list-solid.svg?raw';
17
+ import { default as listCircleIconSvg } from '../../../../../../shared/common/icons/list-circle-solid.svg?raw';
18
+ import { default as listSquareIconSvg } from '../../../../../../shared/common/icons/list-square-solid.svg?raw';
19
+ import { default as listOlIconSvg } from '../../../../../../shared/common/icons/list-ol-solid.svg?raw';
20
+ import { default as listDecimalIconSvg } from '../../../../../../shared/common/icons/list-decimal-solid.svg?raw';
21
+ import { default as listDecimalParenIconSvg } from '../../../../../../shared/common/icons/list-decimal-paren-solid.svg?raw';
22
+ import { default as listUpperRomanIconSvg } from '../../../../../../shared/common/icons/list-upper-roman-solid.svg?raw';
23
+ import { default as listLowerRomanIconSvg } from '../../../../../../shared/common/icons/list-lower-roman-solid.svg?raw';
24
+ import { default as listUpperAlphaIconSvg } from '../../../../../../shared/common/icons/list-upper-alpha-solid.svg?raw';
25
+ import { default as listUpperAlphaParenIconSvg } from '../../../../../../shared/common/icons/list-upper-alpha-paren-solid.svg?raw';
26
+ import { default as listLowerAlphaIconSvg } from '../../../../../../shared/common/icons/list-lower-alpha-solid.svg?raw';
27
+ import { default as listLowerAlphaParenIconSvg } from '../../../../../../shared/common/icons/list-lower-alpha-paren-solid.svg?raw';
28
+ import { default as outdentIconSvg } from '../../../../../../shared/common/icons/outdent-solid.svg?raw';
29
+ import { default as indentIconSvg } from '../../../../../../shared/common/icons/indent-solid.svg?raw';
30
+ import { default as paragraphLtrIconSvg } from '../../../../../../shared/common/icons/paragraph-ltr-solid.svg?raw';
31
+ import { default as paragraphRtlIconSvg } from '../../../../../../shared/common/icons/paragraph-rtl-solid.svg?raw';
32
+ import { default as fileHalfDashedIconSvg } from '../../../../../../shared/common/icons/file-half-dashed-solid.svg?raw';
33
+ import { default as paintRollerIconSvg } from '../../../../../../shared/common/icons/paint-roller-solid.svg?raw';
34
+ import { default as textSlashIconSvg } from '../../../../../../shared/common/icons/text-slash-solid.svg?raw';
35
+ import { default as listCheckIconSvg } from '../../../../../../shared/common/icons/list-check-solid.svg?raw';
36
+ import { default as fileIconSvg } from '../../../../../../shared/common/icons/file-solid.svg?raw';
37
+ import { default as eyeIconSvg } from '../../../../../../shared/common/icons/eye-solid.svg?raw';
38
+ import { default as calendarCheckIconSvg } from '../../../../../../shared/common/icons/calendar-check-solid.svg?raw';
39
+ import { default as calendarXmarkIconSvg } from '../../../../../../shared/common/icons/calendar-xmark-solid.svg?raw';
40
+ import { default as userEditIconSvg } from '../../../../../../shared/common/icons/user-edit-solid.svg?raw';
41
+ import { default as commentIconSvg } from '../../../../../../shared/common/icons/comment-solid.svg?raw';
42
+ import { default as circleIconSvg } from '../../../../../../shared/common/icons/circle-solid.svg?raw';
43
+ import { default as checkIconSvg } from '../../../../../../shared/common/icons/check-solid.svg?raw';
44
+ import { default as xmarkIconSvg } from '../../../../../../shared/common/icons/xmark-solid.svg?raw';
45
+ import { default as upRightFromSquareIconSvg } from '../../../../../../shared/common/icons/up-right-from-square-solid.svg?raw';
46
+ import { default as ellipsisVerticalIconSvg } from '../../../../../../shared/common/icons/ellipsis-vertical-solid.svg?raw';
47
+ import { default as caretUpIconSvg } from '../../../../../../shared/common/icons/caret-up-solid.svg?raw';
48
+ import { default as caretDownIconSvg } from '../../../../../../shared/common/icons/caret-down-solid.svg?raw';
49
+ import { default as rulerSvg } from '../../../../../../shared/common/icons/ruler-solid.svg?raw';
50
+ import { default as paintbrushSvg } from '../../../../../../shared/common/icons/paintbrush-solid.svg?raw';
51
+ import { default as highlighterIcon } from '../../../../../../shared/common/icons/highlighter-icon.svg?raw';
52
+ import { default as magicWandIcon } from '../../../../../../shared/common/icons/magic-wand-solid.svg?raw';
53
+ import { default as tableIconSvg } from '../../../../../../shared/common/icons/table-solid.svg?raw';
54
+ import { default as tableColumnsIconSvg } from '../../../../../../shared/common/icons/table-columns-solid.svg?raw';
55
+ import { default as arrowsLeftRightIconSvg } from '../../../../../../shared/common/icons/arrows-left-right-solid.svg?raw';
56
+ import { default as arrowsToDotIconSvg } from '../../../../../../shared/common/icons/arrows-to-dot-solid.svg?raw';
57
+ import { default as plusIconSvg } from '../../../../../../shared/common/icons/plus-solid.svg?raw';
58
+ import { default as trashIconSvg } from '../../../../../../shared/common/icons/trash-can-solid.svg?raw';
59
+ import { default as borderNoneIconSvg } from '../../../../../../shared/common/icons/border-none-solid.svg?raw';
60
+ import { default as wrenchIconSvg } from '../../../../../../shared/common/icons/wrench-solid.svg?raw';
61
+ import { default as upDownIconSvg } from '../../../../../../shared/common/icons/up-down.svg?raw';
62
+ import { default as magnifyingGlassSvg } from '../../../../../../shared/common/icons/magnifying-glass.svg?raw';
63
+ import { default as scissorsIconSvg } from '../../../../../../shared/common/icons/scissors-solid.svg?raw';
64
+ import { default as copyIconSvg } from '../../../../../../shared/common/icons/copy-solid.svg?raw';
65
+ import { default as pasteIconSvg } from '../../../../../../shared/common/icons/paste-solid.svg?raw';
66
+ import { default as strikethroughSvg } from '../../../../../../shared/common/icons/strikethrough.svg?raw';
67
+ import { default as paragraphIconSvg } from '../../../../../../shared/common/icons/paragraph-solid.svg?raw';
1
68
  export namespace toolbarIcons {
2
69
  export { rotateLeftIconSvg as undo };
3
70
  export { rotateRightIconSvg as redo };
@@ -1,61 +1,61 @@
1
- export namespace toolbarTexts {
2
- let bold: string;
3
- let fontFamily: string;
4
- let ai: string;
5
- let fontSize: string;
6
- let italic: string;
7
- let underline: string;
8
- let highlight: string;
9
- let strikethrough: string;
10
- let color: string;
11
- let search: string;
12
- let link: string;
13
- let image: string;
14
- let tableOfContents: string;
15
- let watermark: string;
16
- let pageNumber: string;
17
- let table: string;
18
- let tableActions: string;
19
- let addRowBefore: string;
20
- let addRowAfter: string;
21
- let addColumnBefore: string;
22
- let addColumnAfter: string;
23
- let deleteRow: string;
24
- let deleteColumn: string;
25
- let deleteTable: string;
26
- let removeBorders: string;
27
- let mergeCells: string;
28
- let splitCell: string;
29
- let fixTables: string;
30
- let textAlign: string;
31
- let bulletList: string;
32
- let numberedList: string;
33
- let indentLeft: string;
34
- let indentRight: string;
35
- let directionLtr: string;
36
- let directionRtl: string;
37
- let zoom: string;
38
- let measurementUnit: string;
39
- let undo: string;
40
- let redo: string;
41
- let trackChanges: string;
42
- let trackChangesAccept: string;
43
- let trackChangesReject: string;
44
- let trackChangesOriginal: string;
45
- let trackChangesFinal: string;
46
- let clearFormatting: string;
47
- let copyFormat: string;
48
- let lineHeight: string;
49
- let formatText: string;
50
- let ruler: string;
51
- let formattingMarks: string;
52
- let pageBreak: string;
53
- let documentEditingMode: string;
54
- let documentSuggestingMode: string;
55
- let documentViewingMode: string;
56
- let documentEditingModeDescription: string;
57
- let documentSuggestingModeDescription: string;
58
- let documentViewingModeDescription: string;
59
- let linkedStyles: string;
60
- let updateLinkedStyle: string;
61
- }
1
+ export declare const toolbarTexts: {
2
+ bold: string;
3
+ fontFamily: string;
4
+ ai: string;
5
+ fontSize: string;
6
+ italic: string;
7
+ underline: string;
8
+ highlight: string;
9
+ strikethrough: string;
10
+ color: string;
11
+ search: string;
12
+ link: string;
13
+ image: string;
14
+ tableOfContents: string;
15
+ watermark: string;
16
+ pageNumber: string;
17
+ table: string;
18
+ tableActions: string;
19
+ addRowBefore: string;
20
+ addRowAfter: string;
21
+ addColumnBefore: string;
22
+ addColumnAfter: string;
23
+ deleteRow: string;
24
+ deleteColumn: string;
25
+ deleteTable: string;
26
+ removeBorders: string;
27
+ mergeCells: string;
28
+ splitCell: string;
29
+ fixTables: string;
30
+ textAlign: string;
31
+ bulletList: string;
32
+ numberedList: string;
33
+ indentLeft: string;
34
+ indentRight: string;
35
+ directionLtr: string;
36
+ directionRtl: string;
37
+ zoom: string;
38
+ measurementUnit: string;
39
+ undo: string;
40
+ redo: string;
41
+ trackChanges: string;
42
+ trackChangesAccept: string;
43
+ trackChangesReject: string;
44
+ trackChangesOriginal: string;
45
+ trackChangesFinal: string;
46
+ clearFormatting: string;
47
+ copyFormat: string;
48
+ lineHeight: string;
49
+ formatText: string;
50
+ ruler: string;
51
+ formattingMarks: string;
52
+ pageBreak: string;
53
+ documentEditingMode: string;
54
+ documentSuggestingMode: string;
55
+ documentViewingMode: string;
56
+ documentEditingModeDescription: string;
57
+ documentSuggestingModeDescription: string;
58
+ documentViewingModeDescription: string;
59
+ linkedStyles: string;
60
+ updateLinkedStyle: string;
61
+ };
@@ -1,50 +1,111 @@
1
- export function useToolbarItem(options: any): {
2
- initiallyDisabled: boolean;
3
- unref: () => {};
4
- activate: (attrs?: {}, ...args: any[]) => void;
5
- deactivate: () => void;
6
- setDisabled: (state: any) => void;
7
- resetDisabled: () => void;
8
- onActivate: any;
9
- onDeactivate: any;
10
- id: import('vue').Ref<string, string>;
11
- name: import('vue').Ref<any, any>;
12
- type: any;
13
- command: any;
14
- noArgumentCommand: any;
15
- icon: import('vue').Ref<any, any>;
16
- tooltip: import('vue').Ref<any, any>;
17
- group: import('vue').Ref<any, any>;
18
- attributes: import('vue').Ref<any, any>;
19
- disabled: import('vue').Ref<any, any>;
20
- active: import('vue').Ref<boolean, boolean>;
21
- expand: import('vue').Ref<boolean, boolean>;
22
- nestedOptions: import('vue').Ref<never[], never[]>;
23
- style: import('vue').Ref<any, any>;
24
- isNarrow: import('vue').Ref<any, any>;
25
- isWide: import('vue').Ref<any, any>;
26
- minWidth: import('vue').Ref<any, any>;
27
- layoutWidth: import('vue').Ref<any, any>;
28
- argument: import('vue').Ref<any, any>;
29
- parentItem: import('vue').Ref<null, null>;
30
- iconColor: import('vue').Ref<any, any>;
31
- hasCaret: import('vue').Ref<any, any>;
32
- splitButton: import('vue').Ref<boolean, boolean>;
33
- splitButtonCommand: any;
34
- dropdownStyles: import('vue').Ref<any, any>;
35
- tooltipVisible: import('vue').Ref<any, any>;
36
- tooltipTimeout: import('vue').Ref<any, any>;
37
- defaultLabel: import('vue').Ref<any, any>;
38
- label: import('vue').Ref<any, any>;
39
- hideLabel: import('vue').Ref<any, any>;
40
- inlineTextInputVisible: import('vue').Ref<any, any>;
41
- hasInlineTextInput: import('vue').Ref<any, any>;
42
- restoreEditorFocus: boolean;
43
- markName: import('vue').Ref<any, any>;
44
- labelAttr: import('vue').Ref<any, any>;
45
- childItem: import('vue').Ref<null, null>;
46
- allowWithoutEditor: import('vue').Ref<any, any>;
47
- dropdownValueKey: import('vue').Ref<any, any>;
48
- selectedValue: import('vue').Ref<any, any>;
49
- inputRef: import('vue').Ref<any, any>;
1
+ import { CSSProperties, Ref } from 'vue';
2
+ declare const TOOLBAR_ITEM_TYPES: readonly ["button", "options", "separator", "dropdown", "overflow"];
3
+ export type ToolbarItemType = (typeof TOOLBAR_ITEM_TYPES)[number];
4
+ export interface ToolbarItemOption {
5
+ key?: string | number;
6
+ label?: string;
7
+ type?: string;
8
+ disabled?: boolean;
9
+ class?: unknown;
10
+ props?: Record<string, unknown>;
11
+ icon?: string | object | ((option: ToolbarItemOption) => unknown);
12
+ render?: () => unknown;
13
+ [member: string]: unknown;
14
+ }
15
+ export type ToolbarItemAttributes = {
16
+ ariaLabel?: string;
17
+ className?: unknown;
18
+ [attribute: string]: unknown;
50
19
  };
20
+ export type ToolbarItemStyle = string | CSSProperties;
21
+ export type ToolbarActivationAttributes = Record<string, unknown>;
22
+ export interface UseToolbarItemOptions {
23
+ type: ToolbarItemType;
24
+ name: string;
25
+ command?: unknown;
26
+ noArgumentCommand?: string;
27
+ icon?: string;
28
+ group?: string;
29
+ allowWithoutEditor?: boolean;
30
+ attributes?: ToolbarItemAttributes;
31
+ disabled?: boolean;
32
+ style?: ToolbarItemStyle;
33
+ isNarrow?: boolean;
34
+ isWide?: boolean;
35
+ layoutWidth?: number;
36
+ suppressActiveHighlight?: boolean;
37
+ argument?: unknown;
38
+ iconColor?: string;
39
+ hasCaret?: boolean;
40
+ splitButton?: boolean;
41
+ splitButtonCommand?: unknown;
42
+ restoreEditorFocus?: boolean;
43
+ dropdownStyles?: unknown;
44
+ tooltip?: string;
45
+ tooltipVisible?: boolean;
46
+ tooltipTimeout?: number;
47
+ defaultLabel?: string;
48
+ label?: string;
49
+ hideLabel?: boolean;
50
+ inlineTextInputVisible?: boolean;
51
+ hasInlineTextInput?: boolean;
52
+ markName?: string;
53
+ labelAttr?: string;
54
+ selectedValue?: string | number | null;
55
+ dropdownValueKey?: string;
56
+ inputRef?: unknown;
57
+ options?: readonly ToolbarItemOption[];
58
+ onActivate?: (attributes: ToolbarActivationAttributes, isMultiple?: boolean) => unknown;
59
+ onDeactivate?: () => unknown;
60
+ }
61
+ export interface ToolbarItem {
62
+ type: ToolbarItemType;
63
+ id: Ref<string>;
64
+ name: Ref<string>;
65
+ command?: unknown;
66
+ noArgumentCommand?: string;
67
+ splitButtonCommand?: unknown;
68
+ group: Ref<string>;
69
+ attributes: Ref<ToolbarItemAttributes>;
70
+ disabled: Ref<boolean | undefined>;
71
+ active: Ref<boolean>;
72
+ expand: Ref<boolean>;
73
+ nestedOptions: Ref<ToolbarItemOption[]>;
74
+ label: Ref<string | undefined>;
75
+ defaultLabel: Ref<string | undefined>;
76
+ icon: Ref<string | undefined>;
77
+ selectedValue: Ref<string | number | null | undefined>;
78
+ hideLabel: Ref<boolean | undefined>;
79
+ iconColor: Ref<string | undefined>;
80
+ hasCaret: Ref<boolean | undefined>;
81
+ splitButton: Ref<boolean>;
82
+ inlineTextInputVisible: Ref<boolean | undefined>;
83
+ hasInlineTextInput: Ref<boolean | undefined>;
84
+ style: Ref<ToolbarItemStyle | undefined>;
85
+ isNarrow: Ref<boolean | undefined>;
86
+ isWide: Ref<boolean | undefined>;
87
+ layoutWidth: Ref<number | undefined>;
88
+ tooltip: Ref<string | undefined>;
89
+ tooltipVisible: Ref<boolean | undefined>;
90
+ tooltipTimeout: Ref<number | undefined>;
91
+ argument: Ref<unknown>;
92
+ restoreEditorFocus: boolean;
93
+ dropdownStyles: Ref<unknown>;
94
+ dropdownValueKey: Ref<string | undefined>;
95
+ allowWithoutEditor: Ref<boolean | undefined>;
96
+ markName: Ref<string | undefined>;
97
+ labelAttr: Ref<string | undefined>;
98
+ inputRef: Ref<unknown>;
99
+ childItem: unknown;
100
+ parentItem: unknown;
101
+ initiallyDisabled: boolean;
102
+ isCustomToolbarItem?: boolean;
103
+ activate(attributes?: ToolbarActivationAttributes, isMultiple?: boolean): void;
104
+ deactivate(): void;
105
+ setDisabled(state: boolean): void;
106
+ resetDisabled(): void;
107
+ onActivate(attributes: ToolbarActivationAttributes, isMultiple?: boolean): unknown;
108
+ onDeactivate(): unknown;
109
+ }
110
+ export declare const useToolbarItem: (options: UseToolbarItemOptions) => ToolbarItem;
111
+ export {};
@@ -1,31 +1,11 @@
1
1
  import { EventEmitter } from 'eventemitter3';
2
- import { App, ComponentPublicInstance, Ref } from 'vue';
2
+ import { App, ComponentPublicInstance } from 'vue';
3
3
  import { Editor, SuperDoc, ToolbarCustomButton, ToolbarFontOption } from '../../core/types/index.js';
4
- import { BorrowedSuperDocUI, CustomCommandRegistrationResult, StyleCatalogItem, ToolbarSnapshotSlice } from '../../public/ui/types.js';
4
+ import { BorrowedSuperDocUI, CustomCommandRegistrationResult, SelectionCapture, StyleCatalogItem, ToolbarSnapshotSlice } from '../../public/ui/types.js';
5
+ import { ToolbarItem, ToolbarItemOption } from './built-in/use-toolbar-item.js';
5
6
  import { HighContrastMode } from '../../composables/use-high-contrast-mode.js';
6
- interface ToolbarItem {
7
- type: string;
8
- name: Ref<string>;
9
- command?: unknown;
10
- group: Ref<string>;
11
- attributes: Ref<Record<string, unknown>>;
12
- disabled: Ref<boolean>;
13
- active: Ref<boolean>;
14
- expand: Ref<boolean>;
15
- nestedOptions: Ref<unknown[]>;
16
- label: Ref<unknown>;
17
- defaultLabel: Ref<unknown>;
18
- icon: Ref<unknown>;
19
- selectedValue: Ref<unknown>;
20
- allowWithoutEditor: Ref<boolean | undefined>;
21
- initiallyDisabled: boolean;
22
- isCustomToolbarItem?: boolean;
23
- activate(attributes?: Record<string, unknown>, ...args: unknown[]): void;
24
- deactivate(): void;
25
- setDisabled(state: boolean): void;
26
- resetDisabled(): void;
27
- onActivate(attributes?: Record<string, unknown>, ...args: unknown[]): unknown;
28
- }
7
+ export type { ToolbarItem, ToolbarItemOption };
8
+ export type ToolbarCommandItem = Pick<ToolbarItem, 'name'> & Partial<Pick<ToolbarItem, 'type' | 'command' | 'isCustomToolbarItem'>>;
29
9
  type CustomButtonPayload = {
30
10
  argument?: unknown;
31
11
  option?: unknown;
@@ -75,6 +55,7 @@ export declare class BuiltInToolbar extends EventEmitter {
75
55
  config: BuiltInToolbarConfig;
76
56
  toolbarItems: ToolbarItem[];
77
57
  overflowItems: ToolbarItem[];
58
+ pendingSelectionCapture: SelectionCapture | null | undefined;
78
59
  isDev: boolean;
79
60
  role: string;
80
61
  superdoc: SuperDoc | null | undefined;
@@ -128,7 +109,7 @@ export declare class BuiltInToolbar extends EventEmitter {
128
109
  * Main toolbar command entry point used by the rendered components.
129
110
  */
130
111
  emitCommand({ item, argument, option }: {
131
- item: ToolbarItem;
112
+ item: ToolbarCommandItem;
132
113
  argument?: unknown;
133
114
  option?: unknown;
134
115
  }): void;
@@ -138,4 +119,3 @@ export declare class BuiltInToolbar extends EventEmitter {
138
119
  * Create the rendered built-in toolbar for a `SuperDoc` instance.
139
120
  */
140
121
  export declare function createBuiltInToolbar(config: BuiltInToolbarOptions): BuiltInToolbar;
141
- export {};
@@ -1,9 +1,9 @@
1
1
  /** Layout regions a built-in toolbar item can be placed in. */
2
- export type ToolbarGroup = 'left' | 'center' | 'right';
2
+ type ToolbarGroup = 'left' | 'center' | 'right';
3
3
  /** How a documented built-in toolbar item is (or is not) backed on V2. */
4
- export type ToolbarItemDisposition = 'controller-routed' | 'host-routed' | 'shell-owned' | 'unsupported' | 'unresolved';
4
+ type ToolbarItemDisposition = 'controller-routed' | 'host-routed' | 'shell-owned' | 'unsupported' | 'unresolved';
5
5
  /** One documented built-in toolbar item and how it maps onto V2. */
6
- export interface BuiltInToolbarItemEntry {
6
+ interface BuiltInToolbarItemEntry {
7
7
  /** Legacy built-in item name (the id v1 toolbars and the docs use). */
8
8
  readonly name: string;
9
9
  /**
@@ -73,3 +73,4 @@ export declare function resolveBuiltInItemCommandId(name: string): string | null
73
73
  * kept exported so a future renderer/build guard can reuse it.
74
74
  */
75
75
  export declare function assertCatalogAlignedWithController(): void;
76
+ export {};
@@ -1,5 +1,5 @@
1
1
  /** Canonical toolbar item ids mapped to the names retained by the built-in runtime. */
2
- export const TOOLBAR_ITEM_ALIASES: Readonly<{
2
+ export declare const TOOLBAR_ITEM_ALIASES: Readonly<{
3
3
  'font-family': "fontFamily";
4
4
  'font-size': "fontSize";
5
5
  strikethrough: "strike";