commspliant-html-editor 0.0.11 → 0.0.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 (154) hide show
  1. package/README.md +143 -16
  2. package/dist/commspliant-html-editor.css +1 -1
  3. package/dist/components/Editor.d.ts +1 -1
  4. package/dist/components/Editor.d.ts.map +1 -1
  5. package/dist/components/EditorChrome.d.ts +194 -0
  6. package/dist/components/EditorChrome.d.ts.map +1 -0
  7. package/dist/components/EditorShellContext.d.ts +13 -0
  8. package/dist/components/EditorShellContext.d.ts.map +1 -0
  9. package/dist/components/EditorWorkspaceFrame.d.ts +13 -0
  10. package/dist/components/EditorWorkspaceFrame.d.ts.map +1 -0
  11. package/dist/components/EditorWorkspaceHost.d.ts +109 -0
  12. package/dist/components/EditorWorkspaceHost.d.ts.map +1 -0
  13. package/dist/components/HtmlPageTabs.d.ts +8 -0
  14. package/dist/components/HtmlPageTabs.d.ts.map +1 -0
  15. package/dist/components/MultiPageVisualSurface.d.ts +8 -1
  16. package/dist/components/MultiPageVisualSurface.d.ts.map +1 -1
  17. package/dist/components/RulerVisualFrame.d.ts +3 -2
  18. package/dist/components/RulerVisualFrame.d.ts.map +1 -1
  19. package/dist/components/VisualSurface.d.ts +6 -1
  20. package/dist/components/VisualSurface.d.ts.map +1 -1
  21. package/dist/components/editorDocumentBridgeTypes.d.ts +11 -0
  22. package/dist/components/editorDocumentBridgeTypes.d.ts.map +1 -0
  23. package/dist/components/useMultiPageRulerMetrics.d.ts +1 -1
  24. package/dist/components/useMultiPageRulerMetrics.d.ts.map +1 -1
  25. package/dist/core/commandTypes.d.ts +7 -1
  26. package/dist/core/commandTypes.d.ts.map +1 -1
  27. package/dist/core/commands.d.ts.map +1 -1
  28. package/dist/core/documentEquality.d.ts +6 -0
  29. package/dist/core/documentEquality.d.ts.map +1 -0
  30. package/dist/core/documentStyles.d.ts +6 -0
  31. package/dist/core/documentStyles.d.ts.map +1 -1
  32. package/dist/core/fontFamily.d.ts +6 -1
  33. package/dist/core/fontFamily.d.ts.map +1 -1
  34. package/dist/core/image.d.ts +8 -2
  35. package/dist/core/image.d.ts.map +1 -1
  36. package/dist/core/imageRegistry.d.ts +20 -0
  37. package/dist/core/imageRegistry.d.ts.map +1 -0
  38. package/dist/core/multiPage.d.ts +12 -0
  39. package/dist/core/multiPage.d.ts.map +1 -1
  40. package/dist/core/page.d.ts +14 -2
  41. package/dist/core/page.d.ts.map +1 -1
  42. package/dist/core/pageBackgroundImage.d.ts +7 -0
  43. package/dist/core/pageBackgroundImage.d.ts.map +1 -1
  44. package/dist/core/pageCanvasLayout.d.ts +10 -0
  45. package/dist/core/pageCanvasLayout.d.ts.map +1 -1
  46. package/dist/core/pagePrintBleed.d.ts +7 -0
  47. package/dist/core/pagePrintBleed.d.ts.map +1 -0
  48. package/dist/core/pageProperties.d.ts.map +1 -1
  49. package/dist/core/pageRowHeight.d.ts +16 -0
  50. package/dist/core/pageRowHeight.d.ts.map +1 -0
  51. package/dist/core/pageZoom.d.ts +5 -0
  52. package/dist/core/pageZoom.d.ts.map +1 -1
  53. package/dist/core/visualBodySync.d.ts +13 -0
  54. package/dist/core/visualBodySync.d.ts.map +1 -0
  55. package/dist/hooks/useDialogFocusTrap.d.ts +11 -0
  56. package/dist/hooks/useDialogFocusTrap.d.ts.map +1 -0
  57. package/dist/hooks/useEditorDialogState.d.ts +197 -0
  58. package/dist/hooks/useEditorDialogState.d.ts.map +1 -0
  59. package/dist/hooks/usePageStore.d.ts +32 -0
  60. package/dist/hooks/usePageStore.d.ts.map +1 -0
  61. package/dist/hooks/useViewportAnchoredPosition.d.ts +24 -0
  62. package/dist/hooks/useViewportAnchoredPosition.d.ts.map +1 -0
  63. package/dist/hooks/useVirtualPageRange.d.ts +30 -0
  64. package/dist/hooks/useVirtualPageRange.d.ts.map +1 -0
  65. package/dist/hooks/useVisualPageBodies.d.ts +3 -0
  66. package/dist/hooks/useVisualPageBodies.d.ts.map +1 -0
  67. package/dist/i18n/en.d.ts.map +1 -1
  68. package/dist/i18n/es.d.ts.map +1 -1
  69. package/dist/i18n/types.d.ts +131 -0
  70. package/dist/i18n/types.d.ts.map +1 -1
  71. package/dist/icons/HelpIcon.d.ts +3 -0
  72. package/dist/icons/HelpIcon.d.ts.map +1 -0
  73. package/dist/icons/index.d.ts +1 -0
  74. package/dist/icons/index.d.ts.map +1 -1
  75. package/dist/index.cjs +201 -8
  76. package/dist/index.js +18664 -15555
  77. package/dist/modules/contextMenu/ContextMenu.d.ts +2 -1
  78. package/dist/modules/contextMenu/ContextMenu.d.ts.map +1 -1
  79. package/dist/modules/file/commands.d.ts.map +1 -1
  80. package/dist/modules/file/fileDialogs.d.ts.map +1 -1
  81. package/dist/modules/file/printHtml.d.ts +1 -0
  82. package/dist/modules/file/printHtml.d.ts.map +1 -1
  83. package/dist/modules/format/ColorField.d.ts.map +1 -1
  84. package/dist/modules/format/ColorSelect.d.ts.map +1 -1
  85. package/dist/modules/format/CustomCssDialog.d.ts.map +1 -1
  86. package/dist/modules/format/CustomParagraphStyleDialog.d.ts.map +1 -1
  87. package/dist/modules/format/FontFamilySelect.d.ts.map +1 -1
  88. package/dist/modules/format/FontPropertiesDialog.d.ts.map +1 -1
  89. package/dist/modules/format/FontSizeCombobox.d.ts.map +1 -1
  90. package/dist/modules/format/PageBackgroundImageFields.d.ts +2 -1
  91. package/dist/modules/format/PageBackgroundImageFields.d.ts.map +1 -1
  92. package/dist/modules/format/PagePropertiesDialog.d.ts +2 -1
  93. package/dist/modules/format/PagePropertiesDialog.d.ts.map +1 -1
  94. package/dist/modules/format/ParagraphPropertiesDialog.d.ts +2 -1
  95. package/dist/modules/format/ParagraphPropertiesDialog.d.ts.map +1 -1
  96. package/dist/modules/format/ParagraphPropertiesFields.d.ts +2 -1
  97. package/dist/modules/format/ParagraphPropertiesFields.d.ts.map +1 -1
  98. package/dist/modules/format/ParagraphStyleSelect.d.ts.map +1 -1
  99. package/dist/modules/help/AboutDialog.d.ts +6 -0
  100. package/dist/modules/help/AboutDialog.d.ts.map +1 -0
  101. package/dist/modules/help/HelpDialog.d.ts +9 -0
  102. package/dist/modules/help/HelpDialog.d.ts.map +1 -0
  103. package/dist/modules/help/articles.d.ts +16 -0
  104. package/dist/modules/help/articles.d.ts.map +1 -0
  105. package/dist/modules/help/catalog.d.ts +3 -0
  106. package/dist/modules/help/catalog.d.ts.map +1 -0
  107. package/dist/modules/help/commands.d.ts +3 -0
  108. package/dist/modules/help/commands.d.ts.map +1 -0
  109. package/dist/modules/help/index.d.ts +5 -0
  110. package/dist/modules/help/index.d.ts.map +1 -0
  111. package/dist/modules/help/search.d.ts +10 -0
  112. package/dist/modules/help/search.d.ts.map +1 -0
  113. package/dist/modules/help/version.d.ts +3 -0
  114. package/dist/modules/help/version.d.ts.map +1 -0
  115. package/dist/modules/history/history.d.ts +2 -0
  116. package/dist/modules/history/history.d.ts.map +1 -1
  117. package/dist/modules/history/index.d.ts +4 -2
  118. package/dist/modules/history/index.d.ts.map +1 -1
  119. package/dist/modules/history/multiPageHistory.d.ts +38 -0
  120. package/dist/modules/history/multiPageHistory.d.ts.map +1 -0
  121. package/dist/modules/insert/AudioDialog.d.ts.map +1 -1
  122. package/dist/modules/insert/BookmarkDialog.d.ts.map +1 -1
  123. package/dist/modules/insert/ImageDialog.d.ts.map +1 -1
  124. package/dist/modules/insert/ImagePropertiesDialog.d.ts.map +1 -1
  125. package/dist/modules/insert/ImageSizeField.d.ts.map +1 -1
  126. package/dist/modules/insert/ImageSourcePicker.d.ts +3 -1
  127. package/dist/modules/insert/ImageSourcePicker.d.ts.map +1 -1
  128. package/dist/modules/insert/LinkDialog.d.ts.map +1 -1
  129. package/dist/modules/insert/YoutubeDialog.d.ts.map +1 -1
  130. package/dist/modules/table/CellPropertiesDialog.d.ts.map +1 -1
  131. package/dist/modules/table/RowPropertiesDialog.d.ts.map +1 -1
  132. package/dist/modules/table/TableDialog.d.ts.map +1 -1
  133. package/dist/modules/table/TablePropertiesDialog.d.ts.map +1 -1
  134. package/dist/modules/view/DocumentPreviewDialog.d.ts.map +1 -1
  135. package/dist/test/commandContext.d.ts +3 -0
  136. package/dist/test/commandContext.d.ts.map +1 -0
  137. package/dist/toolbar/CustomizeToolbarDialog.d.ts.map +1 -1
  138. package/dist/toolbar/EditorToolbar.d.ts +3 -1
  139. package/dist/toolbar/EditorToolbar.d.ts.map +1 -1
  140. package/dist/toolbar/IconNav.d.ts.map +1 -1
  141. package/dist/toolbar/MenuBar.d.ts.map +1 -1
  142. package/dist/toolbar/ToolbarQuerySubscription.d.ts +7 -0
  143. package/dist/toolbar/ToolbarQuerySubscription.d.ts.map +1 -0
  144. package/dist/toolbar/defaultCatalog.d.ts.map +1 -1
  145. package/dist/toolbar/defaultLayout.d.ts.map +1 -1
  146. package/dist/toolbar/multiPageChrome.d.ts +0 -2
  147. package/dist/toolbar/multiPageChrome.d.ts.map +1 -1
  148. package/dist/toolbar/toolbarQueryRevisions.d.ts +10 -0
  149. package/dist/toolbar/toolbarQueryRevisions.d.ts.map +1 -0
  150. package/dist/toolbar/toolbarShellProps.d.ts +17 -0
  151. package/dist/toolbar/toolbarShellProps.d.ts.map +1 -0
  152. package/dist/types.d.ts +11 -2
  153. package/dist/types.d.ts.map +1 -1
  154. package/package.json +1 -1
@@ -1,3 +1,3 @@
1
1
  import { EditorProps } from '../types';
2
- export declare function Editor({ value, defaultValue, onChange, onAutoSave, onSave, onOpen, mode: modeProp, defaultMode, onModeChange, fullscreen: fullscreenProp, defaultFullscreen, onFullscreenChange, placeholder, disabled, readOnly, className, locale, toolbarBackground, menuColor, menuBackground, menuFontSize, menuFontFamily, border, menuVisible, toolbarVisible, allowedChrome, customActions, customFonts, transformHtml, sanitizeHtml, loadCustomParagraphStyles, onSaveCustomParagraphStyle, onDeleteCustomParagraphStyle, customImagePicker, disableBuiltinImageInsert, customAudioPicker, disableBuiltinAudioInsert, customVideoPicker, disableBuiltinVideoInsert, disableHtmlFileDrop, toolbarCustomization, darkMode, darkModePersistence, toolbarPosition, toolbarPositionPersistence, enablePageProperties, defaultPageProperties, enableMultiPages, pages: pagesProp, defaultPages, onPagesChange, defaultRulerVisible, rulerUnit, enableComments, defaultCommentsVisible, commentAuthor, comments: commentsProp, defaultComments, onCommentsChange, }: EditorProps): import("react").JSX.Element;
2
+ export declare function Editor({ value, defaultValue, onChange, onAutoSave, onSave, onOpen, mode: modeProp, defaultMode, onModeChange, fullscreen: fullscreenProp, defaultFullscreen, onFullscreenChange, placeholder, disabled, readOnly, className, locale, toolbarBackground, menuColor, menuBackground, menuFontSize, menuFontFamily, border, menuVisible, toolbarVisible, allowedChrome, customActions, customFonts, transformHtml, sanitizeHtml, loadCustomParagraphStyles, onSaveCustomParagraphStyle, onDeleteCustomParagraphStyle, customImagePicker, disableBuiltinImageInsert, customAudioPicker, disableBuiltinAudioInsert, customVideoPicker, disableBuiltinVideoInsert, disableHtmlFileDrop, toolbarCustomization, darkMode, darkModePersistence, toolbarPosition, toolbarPositionPersistence, enablePageProperties, defaultPageProperties, optimizeEmbeddedImages, enableMultiPages, pages: pagesProp, defaultPages, onPagesChange, defaultRulerVisible, rulerUnit, enableComments, defaultCommentsVisible, commentAuthor, comments: commentsProp, defaultComments, onCommentsChange, }: EditorProps): import("react").JSX.Element;
3
3
  //# sourceMappingURL=Editor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Editor.d.ts","sourceRoot":"","sources":["../../src/components/Editor.tsx"],"names":[],"mappings":"AAqQA,OAAO,KAAK,EASV,WAAW,EAIZ,MAAM,UAAU,CAAA;AAkBjB,wBAAgB,MAAM,CAAC,EACrB,KAAK,EACL,YAAiB,EACjB,QAAQ,EACR,UAAU,EACV,MAAM,EACN,MAAM,EACN,IAAI,EAAE,QAAQ,EACd,WAAsB,EACtB,YAAY,EACZ,UAAU,EAAE,cAAc,EAC1B,iBAAyB,EACzB,kBAAkB,EAClB,WAAW,EACX,QAAQ,EACR,QAAgB,EAChB,SAAS,EACT,MAAa,EACb,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,YAAY,EACZ,cAAc,EACd,MAAM,EACN,WAAkB,EAClB,cAAqB,EACrB,aAAa,EACb,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAmB,EACnB,yBAAyB,EACzB,0BAA0B,EAC1B,4BAA4B,EAC5B,iBAAiB,EACjB,yBAAyB,EACzB,iBAAiB,EACjB,yBAAyB,EACzB,iBAAiB,EACjB,yBAAyB,EACzB,mBAA2B,EAC3B,oBAAoB,EACpB,QAAgB,EAChB,mBAAmB,EACnB,eAAuB,EACvB,0BAA0B,EAC1B,oBAA4B,EAC5B,qBAAqB,EACrB,gBAAwB,EACxB,KAAK,EAAE,SAAS,EAChB,YAAY,EACZ,aAAa,EACb,mBAA0B,EAC1B,SAAgB,EAChB,cAAsB,EACtB,sBAA6B,EAC7B,aAAa,EACb,QAAQ,EAAE,YAAY,EACtB,eAAoB,EACpB,gBAAgB,GACjB,EAAE,WAAW,+BAy8Gb"}
1
+ {"version":3,"file":"Editor.d.ts","sourceRoot":"","sources":["../../src/components/Editor.tsx"],"names":[],"mappings":"AA8PA,OAAO,KAAK,EAOV,WAAW,EAIZ,MAAM,UAAU,CAAA;AAoBjB,wBAAgB,MAAM,CAAC,EACrB,KAAK,EACL,YAAiB,EACjB,QAAQ,EACR,UAAU,EACV,MAAM,EACN,MAAM,EACN,IAAI,EAAE,QAAQ,EACd,WAAsB,EACtB,YAAY,EACZ,UAAU,EAAE,cAAc,EAC1B,iBAAyB,EACzB,kBAAkB,EAClB,WAAW,EACX,QAAQ,EACR,QAAgB,EAChB,SAAS,EACT,MAAa,EACb,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,YAAY,EACZ,cAAc,EACd,MAAM,EACN,WAAkB,EAClB,cAAqB,EACrB,aAAa,EACb,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAmB,EACnB,yBAAyB,EACzB,0BAA0B,EAC1B,4BAA4B,EAC5B,iBAAiB,EACjB,yBAAyB,EACzB,iBAAiB,EACjB,yBAAyB,EACzB,iBAAiB,EACjB,yBAAyB,EACzB,mBAA2B,EAC3B,oBAAoB,EACpB,QAAgB,EAChB,mBAAmB,EACnB,eAAuB,EACvB,0BAA0B,EAC1B,oBAA4B,EAC5B,qBAAqB,EACrB,sBAA8B,EAC9B,gBAAwB,EACxB,KAAK,EAAE,SAAS,EAChB,YAAY,EACZ,aAAa,EACb,mBAA0B,EAC1B,SAAgB,EAChB,cAAsB,EACtB,sBAA6B,EAC7B,aAAa,EACb,QAAQ,EAAE,YAAY,EACtB,eAAoB,EACpB,gBAAgB,GACjB,EAAE,WAAW,+BAoxHb"}
@@ -0,0 +1,194 @@
1
+ import { AudioApply, CellPropertiesApply, FontDialogTab, FontPropertiesApply, ImageApply, ImageDialogTab, ImagePropertiesApply, LinkApply, LinkDialogTab, PageDialogTab, PagePropertiesApply, ParagraphDialogTab, ParagraphPropertiesApply, RowPropertiesApply, TableApply, TablePropertiesApply, YoutubeApply, EditorCommands, EditorQueries } from '../core/commandTypes';
2
+ import { PageBackgroundImageApply } from '../core/pageBackgroundImage';
3
+ import { FontMarkState } from '../core/marks';
4
+ import { FontFamilyQuery, FontFace } from '../core/fontFamily';
5
+ import { FontSizeQuery } from '../core/fontSize';
6
+ import { InlineColorQuery } from '../core/inlineColor';
7
+ import { HelpTopicId } from '../modules/help/articles';
8
+ import { ChromeLockOptions } from '../toolbar/commentsChrome';
9
+ import { ToolbarCatalog, ToolbarLayout } from '../toolbar/types';
10
+ import { ToolbarQueryRevisions } from '../toolbar/toolbarQueryRevisions';
11
+ import { CustomAudioPicker, CustomImagePicker, CustomParagraphStyle, CustomParagraphStyleFont, CustomParagraphStyleParagraph, CustomVideoPicker, ToolbarCustomization } from '../types';
12
+ export type EditorFontDialogState = {
13
+ open: boolean;
14
+ tab: FontDialogTab;
15
+ };
16
+ export type EditorParagraphDialogState = {
17
+ open: boolean;
18
+ tab: ParagraphDialogTab;
19
+ value: ParagraphPropertiesApply;
20
+ backgroundImage: PageBackgroundImageApply;
21
+ };
22
+ export type EditorCustomCssDialogState = {
23
+ open: boolean;
24
+ value: string;
25
+ };
26
+ export type EditorPageDialogState = {
27
+ open: boolean;
28
+ tab: PageDialogTab;
29
+ paragraphTab: ParagraphDialogTab;
30
+ value: PagePropertiesApply;
31
+ };
32
+ export type EditorCustomStyleDialogState = {
33
+ open: false;
34
+ } | {
35
+ open: true;
36
+ mode: 'create';
37
+ font: CustomParagraphStyleFont;
38
+ paragraph: CustomParagraphStyleParagraph;
39
+ } | {
40
+ open: true;
41
+ mode: 'edit';
42
+ style: CustomParagraphStyle;
43
+ };
44
+ export type EditorLinkDialogState = {
45
+ open: boolean;
46
+ tab: LinkDialogTab;
47
+ href: string;
48
+ title: string;
49
+ targetBlank: boolean;
50
+ textDecorationNone: boolean;
51
+ hoverMode: 'color' | 'html';
52
+ hoverColor: string | null;
53
+ hoverHtml: string;
54
+ bookmarks: {
55
+ id: string;
56
+ }[];
57
+ selectedBookmarkId: string;
58
+ };
59
+ export type EditorBookmarkDialogState = {
60
+ open: boolean;
61
+ existingIds: string[];
62
+ };
63
+ export type EditorImagePropertiesState = {
64
+ open: boolean;
65
+ tab: ImageDialogTab;
66
+ value: ImagePropertiesApply;
67
+ aspectRatio: number;
68
+ };
69
+ export type EditorTablePropertiesState = {
70
+ open: boolean;
71
+ value: TablePropertiesApply;
72
+ };
73
+ export type EditorCellPropertiesState = {
74
+ open: boolean;
75
+ value: CellPropertiesApply;
76
+ };
77
+ export type EditorRowPropertiesState = {
78
+ open: boolean;
79
+ value: RowPropertiesApply;
80
+ };
81
+ export type EditorDocumentPreviewState = {
82
+ open: boolean;
83
+ html: string;
84
+ };
85
+ export type EditorHelpDialogState = {
86
+ open: boolean;
87
+ topicId: HelpTopicId;
88
+ };
89
+ export type EditorChromeProps = {
90
+ menuVisible: boolean;
91
+ captureChromeSelection: () => void;
92
+ displayCatalog: ToolbarCatalog;
93
+ displayLayout: ToolbarLayout;
94
+ commands: EditorCommands;
95
+ queries: EditorQueries;
96
+ queryRevisions?: ToolbarQueryRevisions;
97
+ chromeDisabled: boolean;
98
+ chromeLock: ChromeLockOptions;
99
+ contentLocked: boolean;
100
+ customizeToolbarOpen: boolean;
101
+ baseCatalog: ToolbarCatalog;
102
+ allowedLayout: ToolbarLayout;
103
+ toolbarSettings: ToolbarCustomization | null;
104
+ toolbarSettingsLoading: boolean;
105
+ toolbarSettingsBusy: boolean;
106
+ onCustomizeToolbarClose: () => void;
107
+ onToolbarSettingsChange: (next: ToolbarCustomization) => void;
108
+ onToolbarSettingsReset: () => void;
109
+ documentPreview: EditorDocumentPreviewState;
110
+ onDocumentPreviewClose: () => void;
111
+ helpDialog: EditorHelpDialogState;
112
+ onHelpDialogClose: () => void;
113
+ onHelpTopicChange: (topicId: HelpTopicId) => void;
114
+ aboutDialogOpen: boolean;
115
+ onAboutDialogClose: () => void;
116
+ fontDialog: EditorFontDialogState;
117
+ fontSizeState: FontSizeQuery;
118
+ markState: FontMarkState;
119
+ fontFamilyState: FontFamilyQuery;
120
+ fontColorState: InlineColorQuery;
121
+ highlightColorState: InlineColorQuery;
122
+ fontFaces: FontFace[];
123
+ onFontDialogTabChange: (tab: FontDialogTab) => void;
124
+ onFontDialogClose: () => void;
125
+ onApplyFontProperties: (draft: FontPropertiesApply) => void;
126
+ paragraphDialog: EditorParagraphDialogState;
127
+ customImagePicker?: CustomImagePicker;
128
+ disableBuiltinImageInsert?: boolean;
129
+ onParagraphCustomImagePick: () => void;
130
+ onParagraphDialogTabChange: (tab: ParagraphDialogTab) => void;
131
+ onParagraphDialogClose: () => void;
132
+ onApplyParagraphProperties: (draft: {
133
+ value: ParagraphPropertiesApply;
134
+ backgroundImage: PageBackgroundImageApply;
135
+ }) => void;
136
+ customCssDialog: EditorCustomCssDialogState;
137
+ onCustomCssDialogClose: () => void;
138
+ onApplyCustomCss: (css: string) => void;
139
+ pageDialog: EditorPageDialogState;
140
+ enablePageProperties: boolean;
141
+ onPageCustomImagePick: () => void;
142
+ onPageDialogTabChange: (tab: PageDialogTab) => void;
143
+ onPageDialogClose: () => void;
144
+ onApplyPageProperties: (draft: PagePropertiesApply) => void;
145
+ onPageDialogResetAtRule: () => void;
146
+ deletePageConfirmOpen: boolean;
147
+ onDeletePageConfirmClose: () => void;
148
+ onDeletePageConfirm: () => void;
149
+ customStyleDialog: EditorCustomStyleDialogState;
150
+ canDeleteCustomParagraphStyle: boolean;
151
+ customStyleBusy: boolean;
152
+ onCustomStyleDialogClose: () => void;
153
+ onCustomStyleSave: (style: CustomParagraphStyle) => void | Promise<void>;
154
+ onCustomStyleDelete: (id: string) => void | Promise<void>;
155
+ linkDialog: EditorLinkDialogState;
156
+ onLinkDialogTabChange: (tab: LinkDialogTab) => void;
157
+ onLinkDialogClose: () => void;
158
+ onApplyLink: (draft: LinkApply) => void;
159
+ bookmarkDialog: EditorBookmarkDialogState;
160
+ onBookmarkDialogClose: () => void;
161
+ onApplyBookmark: (name: string) => void;
162
+ imageDialogOpen: boolean;
163
+ customAudioPicker?: CustomAudioPicker;
164
+ customVideoPicker?: CustomVideoPicker;
165
+ onImageDialogClose: () => void;
166
+ onApplyImage: (draft: ImageApply) => void;
167
+ onImageDialogCustomPick: () => void;
168
+ audioDialogOpen: boolean;
169
+ onAudioDialogClose: () => void;
170
+ onApplyAudio: (draft: AudioApply) => void;
171
+ onAudioDialogCustomPick: () => void;
172
+ youtubeDialogOpen: boolean;
173
+ onYoutubeDialogClose: () => void;
174
+ onApplyYoutube: (draft: YoutubeApply) => void;
175
+ onYoutubeDialogCustomPick: () => void;
176
+ imageProperties: EditorImagePropertiesState;
177
+ onImagePropertiesTabChange: (tab: ImageDialogTab) => void;
178
+ onImagePropertiesClose: () => void;
179
+ onApplyImageProperties: (draft: ImagePropertiesApply) => void;
180
+ tableDialogOpen: boolean;
181
+ onTableDialogClose: () => void;
182
+ onApplyTable: (draft: TableApply) => void;
183
+ tableProperties: EditorTablePropertiesState;
184
+ onTablePropertiesClose: () => void;
185
+ onApplyTableProperties: (draft: TablePropertiesApply) => void;
186
+ cellProperties: EditorCellPropertiesState;
187
+ onCellPropertiesClose: () => void;
188
+ onApplyCellProperties: (draft: CellPropertiesApply) => void;
189
+ rowProperties: EditorRowPropertiesState;
190
+ onRowPropertiesClose: () => void;
191
+ onApplyRowProperties: (draft: RowPropertiesApply) => void;
192
+ };
193
+ export declare const EditorChrome: import('react').NamedExoticComponent<EditorChromeProps>;
194
+ //# sourceMappingURL=EditorChrome.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditorChrome.d.ts","sourceRoot":"","sources":["../../src/components/EditorChrome.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { MutableRefObject } from 'react';
2
+ import { EditorDocumentBridgeRef } from './editorDocumentBridgeTypes';
3
+ export type EditorShellContextValue = {
4
+ documentBridgeRef: EditorDocumentBridgeRef;
5
+ htmlRef: MutableRefObject<string>;
6
+ pagesRef: MutableRefObject<readonly string[]>;
7
+ };
8
+ export declare function EditorShellProvider({ value, children, }: {
9
+ value: EditorShellContextValue;
10
+ children: React.ReactNode;
11
+ }): import("react").JSX.Element;
12
+ export declare function useEditorShellContext(): EditorShellContextValue;
13
+ //# sourceMappingURL=EditorShellContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditorShellContext.d.ts","sourceRoot":"","sources":["../../src/components/EditorShellContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,gBAAgB,EAAE,MAAM,OAAO,CAAA;AACxE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AAE1E,MAAM,MAAM,uBAAuB,GAAG;IACpC,iBAAiB,EAAE,uBAAuB,CAAA;IAC1C,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAA;IACjC,QAAQ,EAAE,gBAAgB,CAAC,SAAS,MAAM,EAAE,CAAC,CAAA;CAC9C,CAAA;AAID,wBAAgB,mBAAmB,CAAC,EAClC,KAAK,EACL,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,uBAAuB,CAAA;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,+BAEA;AAED,wBAAgB,qBAAqB,IAAI,uBAAuB,CAM/D"}
@@ -0,0 +1,13 @@
1
+ import { ReactNode } from 'react';
2
+ import { EditorToolbarProps } from '../toolbar/EditorToolbar';
3
+ import { ToolbarPosition } from '../types';
4
+ type EditorWorkspaceFrameProps = {
5
+ toolbarVisible: boolean;
6
+ toolbarPos: ToolbarPosition;
7
+ captureChromeSelection: () => void;
8
+ toolbarShellProps: Omit<EditorToolbarProps, 'menuVisible' | 'toolbarVisible' | 'position'>;
9
+ children: ReactNode;
10
+ };
11
+ export declare function EditorWorkspaceFrame({ toolbarVisible, toolbarPos, captureChromeSelection, toolbarShellProps, children, }: EditorWorkspaceFrameProps): import("react").JSX.Element;
12
+ export {};
13
+ //# sourceMappingURL=EditorWorkspaceFrame.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditorWorkspaceFrame.d.ts","sourceRoot":"","sources":["../../src/components/EditorWorkspaceFrame.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAG/C,KAAK,yBAAyB,GAAG;IAC/B,cAAc,EAAE,OAAO,CAAA;IACvB,UAAU,EAAE,eAAe,CAAA;IAC3B,sBAAsB,EAAE,MAAM,IAAI,CAAA;IAClC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,EAAE,aAAa,GAAG,gBAAgB,GAAG,UAAU,CAAC,CAAA;IAC1F,QAAQ,EAAE,SAAS,CAAA;CACpB,CAAA;AAED,wBAAgB,oBAAoB,CAAC,EACnC,cAAc,EACd,UAAU,EACV,sBAAsB,EACtB,iBAAiB,EACjB,QAAQ,GACT,EAAE,yBAAyB,+BA6B3B"}
@@ -0,0 +1,109 @@
1
+ import { Dispatch, MutableRefObject, MouseEvent as ReactMouseEvent, PointerEvent as ReactPointerEvent, SetStateAction } from 'react';
2
+ import { PageMarginSidesPx } from '../core/pageCanvasLayout';
3
+ import { FontFace } from '../core/fontFamily';
4
+ import { EditorCommands } from '../core/commandTypes';
5
+ import { PageStore } from '../hooks/usePageStore';
6
+ import { ContextMenuKind } from '../modules/contextMenu';
7
+ import { CommentAuthor, CommentThread, EditorMode } from '../types';
8
+ import { Locale } from '../i18n/types';
9
+ import { MultiPageVisualSurfaceHandle } from './MultiPageVisualSurface';
10
+ export type EditorContextMenuState = {
11
+ open: boolean;
12
+ x: number;
13
+ y: number;
14
+ kind: ContextMenuKind;
15
+ inTable: boolean;
16
+ canMergeCells: boolean;
17
+ canUnmergeCells: boolean;
18
+ canDeletePage: boolean;
19
+ canAddComment: boolean;
20
+ };
21
+ export type EditorWorkspaceHandlers = {
22
+ multiPageVisualRef: MutableRefObject<MultiPageVisualSurfaceHandle | null>;
23
+ workspaceRef: MutableRefObject<HTMLDivElement | null>;
24
+ suppressPageFlushRef: MutableRefObject<boolean>;
25
+ visualRootRef: MutableRefObject<HTMLDivElement | null>;
26
+ visualPropSyncGuardRef: MutableRefObject<(() => void) | null>;
27
+ htmlAreaRef: MutableRefObject<HTMLTextAreaElement | null>;
28
+ commentPanelRef: MutableRefObject<HTMLDivElement | null>;
29
+ activePageIndexRef: MutableRefObject<number>;
30
+ htmlModePageHtmlRef: MutableRefObject<string>;
31
+ activePageHtmlRef: MutableRefObject<string>;
32
+ pageCanvasSizedRef: MutableRefObject<boolean>;
33
+ setActivePageIndex: (index: number) => void;
34
+ setHasSelectedPage: (value: boolean) => void;
35
+ setActiveThreadId: (id: string | null) => void;
36
+ setContextMenu: Dispatch<SetStateAction<EditorContextMenuState>>;
37
+ recordVisualInputHtml: (body: string, coalesce: boolean) => void;
38
+ recordPageVisualHtml: (index: number, html: string, coalesce: boolean) => void;
39
+ handleVisualBeforeInput: (event: InputEvent) => void;
40
+ handleVisualPointerDown: (event: ReactPointerEvent<HTMLDivElement>) => void;
41
+ handleVisualMouseUp: (event: ReactMouseEvent<HTMLDivElement>) => void;
42
+ handleVisualContextMenu: (event: ReactMouseEvent<HTMLDivElement>) => void;
43
+ handleHtmlPageTabSelect: (index: number) => void;
44
+ handleHtmlSurfaceChange: (next: string) => void;
45
+ handleImageResize: (width: number, height: number) => void;
46
+ handleImageResizeEnd: () => void;
47
+ multiPageRulerMarginPreview: (pageIndex: number, sides: PageMarginSidesPx) => void;
48
+ multiPageRulerMarginChange: (pageIndex: number, sides: PageMarginSidesPx) => void;
49
+ multiPageRulerIndentChange: (indent: {
50
+ firstLineIndentPx?: number;
51
+ leftIndentPx?: number;
52
+ rightIndentPx?: number;
53
+ }) => void;
54
+ singlePageRulerMarginPreview: (sides: PageMarginSidesPx) => void;
55
+ singlePageRulerMarginChange: (sides: PageMarginSidesPx) => void;
56
+ singlePageRulerIndentChange: (indent: {
57
+ firstLineIndentPx?: number;
58
+ leftIndentPx?: number;
59
+ rightIndentPx?: number;
60
+ }) => void;
61
+ resolveEmbeddedImageDataUrl?: (id: string) => string | null;
62
+ hydrateExportHtml: (html: string) => string;
63
+ postCommentMessage: (message: string) => void;
64
+ htmlFileDrop: {
65
+ dragging: boolean;
66
+ onDragEnter: (event: React.DragEvent<HTMLDivElement>) => void;
67
+ onDragOver: (event: React.DragEvent<HTMLDivElement>) => void;
68
+ onDragLeave: (event: React.DragEvent<HTMLDivElement>) => void;
69
+ onDrop: (event: React.DragEvent<HTMLDivElement>) => void;
70
+ };
71
+ };
72
+ export type EditorWorkspaceHostProps = {
73
+ propsRef: MutableRefObject<EditorWorkspaceHandlers>;
74
+ pageStore: PageStore;
75
+ mode: EditorMode;
76
+ enableMultiPages: boolean;
77
+ contentLocked: boolean;
78
+ activePageIndex: number;
79
+ hasSelectedPage: boolean;
80
+ pageZoomScale: number;
81
+ rulerVisible: boolean;
82
+ rulerUnit: 'in' | 'cm' | 'mm' | 'pt';
83
+ optimizeEmbeddedImages: boolean;
84
+ placeholder?: string;
85
+ value?: string;
86
+ pagesProp?: string[];
87
+ controlledHtml?: string;
88
+ initialHtml: string;
89
+ initialStorageHtml: string;
90
+ defaultPages: readonly string[];
91
+ ingestedPagesProp?: string[];
92
+ onChange?: (html: string) => void;
93
+ fontFaces: FontFace[];
94
+ enableComments: boolean;
95
+ commentsVisible: boolean;
96
+ disabled?: boolean;
97
+ locale: Locale;
98
+ commentAuthor?: CommentAuthor;
99
+ activeThreadId: string | null;
100
+ contextMenu: EditorContextMenuState;
101
+ commentThreads: readonly CommentThread[];
102
+ commands: EditorCommands;
103
+ htmlFileDropDragging: boolean;
104
+ selectedImage: HTMLImageElement | null;
105
+ };
106
+ declare function EditorWorkspaceHostInner({ propsRef, pageStore, mode, enableMultiPages, contentLocked, activePageIndex, hasSelectedPage, pageZoomScale, rulerVisible, rulerUnit, optimizeEmbeddedImages, placeholder, controlledHtml, initialHtml, initialStorageHtml, defaultPages, ingestedPagesProp, onChange, fontFaces, enableComments, commentsVisible, disabled, locale, commentAuthor, activeThreadId, contextMenu, commentThreads, commands, htmlFileDropDragging, selectedImage, }: EditorWorkspaceHostProps): import("react").JSX.Element;
107
+ export declare const EditorWorkspaceHost: import('react').MemoExoticComponent<typeof EditorWorkspaceHostInner>;
108
+ export {};
109
+ //# sourceMappingURL=EditorWorkspaceHost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditorWorkspaceHost.d.ts","sourceRoot":"","sources":["../../src/components/EditorWorkspaceHost.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ type HtmlPageTabsProps = {
2
+ pageCount: number;
3
+ activeIndex: number;
4
+ onSelect: (index: number) => void;
5
+ };
6
+ export declare function HtmlPageTabs({ pageCount, activeIndex, onSelect }: HtmlPageTabsProps): import("react").JSX.Element;
7
+ export {};
8
+ //# sourceMappingURL=HtmlPageTabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HtmlPageTabs.d.ts","sourceRoot":"","sources":["../../src/components/HtmlPageTabs.tsx"],"names":[],"mappings":"AAOA,KAAK,iBAAiB,GAAG;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CAClC,CAAA;AAED,wBAAgB,YAAY,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,iBAAiB,+BAkGnF"}
@@ -1,19 +1,24 @@
1
- import { MouseEvent as ReactMouseEvent, PointerEvent as ReactPointerEvent } from 'react';
1
+ import { MouseEvent as ReactMouseEvent, PointerEvent as ReactPointerEvent, RefObject } from 'react';
2
2
  import { PageMarginSidesPx } from '../core/pageCanvasLayout';
3
+ import { HydrateEmbeddedImages } from '../core/documentEquality';
3
4
  import { RulerUnit } from '../core/rulerUnits';
4
5
  export type MultiPageVisualSurfaceHandle = {
5
6
  getContainer: () => HTMLDivElement | null;
6
7
  getActivePageRoot: () => HTMLElement | null;
7
8
  getActivePageIndex: () => number;
8
9
  flushPageHtml: (index: number) => string | null;
10
+ ensurePageMounted: (index: number) => void;
9
11
  };
10
12
  type MultiPageVisualSurfaceProps = {
11
13
  pages: readonly string[];
12
14
  activePageIndex: number;
13
15
  hasSelectedPage?: boolean;
16
+ scrollRootRef?: RefObject<HTMLElement | null>;
14
17
  onActivePageIndexChange: (index: number) => void;
15
18
  onPageSelected?: (index: number) => void;
16
19
  onPageChange: (index: number, html: string) => void;
20
+ onPageFlush?: (index: number, html: string) => void;
21
+ suppressPageFlushRef?: RefObject<boolean>;
17
22
  placeholder?: string;
18
23
  disabled?: boolean;
19
24
  rulerVisible?: boolean;
@@ -28,6 +33,8 @@ type MultiPageVisualSurfaceProps = {
28
33
  rightIndentPx?: number;
29
34
  }) => void;
30
35
  onBeforeInput?: (event: InputEvent) => void;
36
+ resolveEmbeddedImageDataUrl?: (id: string) => string | null;
37
+ hydrateEmbeddedImages?: HydrateEmbeddedImages;
31
38
  onPointerDown?: (event: ReactPointerEvent<HTMLDivElement>) => void;
32
39
  onMouseUp?: (event: ReactMouseEvent<HTMLDivElement>) => void;
33
40
  onContextMenu?: (event: ReactMouseEvent<HTMLDivElement>) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"MultiPageVisualSurface.d.ts","sourceRoot":"","sources":["../../src/components/MultiPageVisualSurface.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,UAAU,IAAI,eAAe,EAClC,KAAK,YAAY,IAAI,iBAAiB,EACvC,MAAM,OAAO,CAAA;AAYd,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAGjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAMnD,MAAM,MAAM,4BAA4B,GAAG;IACzC,YAAY,EAAE,MAAM,cAAc,GAAG,IAAI,CAAA;IACzC,iBAAiB,EAAE,MAAM,WAAW,GAAG,IAAI,CAAA;IAC3C,kBAAkB,EAAE,MAAM,MAAM,CAAA;IAChC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAA;CAChD,CAAA;AAED,KAAK,2BAA2B,GAAG;IACjC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;IACvB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,uBAAuB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAChD,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACnD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,kGAAkG;IAClG,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACxE,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACzE,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAChH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IAC3C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,cAAc,CAAC,KAAK,IAAI,CAAA;IAClE,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,cAAc,CAAC,KAAK,IAAI,CAAA;IAC5D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,cAAc,CAAC,KAAK,IAAI,CAAA;CACjE,CAAA;AAED,eAAO,MAAM,sBAAsB,sIAmOjC,CAAA"}
1
+ {"version":3,"file":"MultiPageVisualSurface.d.ts","sourceRoot":"","sources":["../../src/components/MultiPageVisualSurface.tsx"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,UAAU,IAAI,eAAe,EAClC,KAAK,YAAY,IAAI,iBAAiB,EACtC,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AAed,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAGjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAErE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAOnD,MAAM,MAAM,4BAA4B,GAAG;IACzC,YAAY,EAAE,MAAM,cAAc,GAAG,IAAI,CAAA;IACzC,iBAAiB,EAAE,MAAM,WAAW,GAAG,IAAI,CAAA;IAC3C,kBAAkB,EAAE,MAAM,MAAM,CAAA;IAChC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAA;IAC/C,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CAC3C,CAAA;AAED,KAAK,2BAA2B,GAAG;IACjC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;IACvB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,aAAa,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IAC7C,uBAAuB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAChD,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACnD,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACnD,oBAAoB,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IACzC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,kGAAkG;IAClG,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACxE,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACzE,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAChH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IAC3C,2BAA2B,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAA;IAC3D,qBAAqB,CAAC,EAAE,qBAAqB,CAAA;IAC7C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,cAAc,CAAC,KAAK,IAAI,CAAA;IAClE,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,cAAc,CAAC,KAAK,IAAI,CAAA;IAC5D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,cAAc,CAAC,KAAK,IAAI,CAAA;CACjE,CAAA;AAgKD,eAAO,MAAM,sBAAsB,sIA0WjC,CAAA"}
@@ -1,4 +1,4 @@
1
- import { CSSProperties, ReactNode } from 'react';
1
+ import { CSSProperties, ReactNode, Ref } from 'react';
2
2
  import { PageMarginSidesPx } from '../core/pageCanvasLayout';
3
3
  import { ParagraphIndentState } from '../core/paragraphIndent';
4
4
  import { PageGeometry } from '../core/pageGeometry';
@@ -26,12 +26,13 @@ export declare function RulerHorizontalHeader({ showRulers, geometry, indentStat
26
26
  type RulerPageRowProps = RulerVerticalChromeProps & {
27
27
  children: ReactNode;
28
28
  pageBlockStyle?: CSSProperties;
29
+ pageBlockRef?: Ref<HTMLDivElement>;
29
30
  /** When true, show the vertical ruler gutter and ruler for this page row. */
30
31
  showVerticalRuler?: boolean;
31
32
  /** When true, the page has a fixed @page size; when false, use full-width / full-height fluid layout. */
32
33
  pageSized?: boolean;
33
34
  };
34
- export declare function RulerPageRow({ showVerticalRuler, pageSized, geometry, rulerUnit, zoomScale, onMarginChange, onMarginPreview, children, pageBlockStyle, }: RulerPageRowProps): import("react").JSX.Element;
35
+ export declare function RulerPageRow({ showVerticalRuler, pageSized, geometry, rulerUnit, zoomScale, onMarginChange, onMarginPreview, children, pageBlockStyle, pageBlockRef, }: RulerPageRowProps): import("react").JSX.Element;
35
36
  type RulerVisualFrameProps = RulerHorizontalChromeProps & {
36
37
  children: ReactNode;
37
38
  };
@@ -1 +1 @@
1
- {"version":3,"file":"RulerVisualFrame.d.ts","sourceRoot":"","sources":["../../src/components/RulerVisualFrame.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAMnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAG/D,KAAK,0BAA0B,GAAG;IAChC,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAA;IAC7B,WAAW,EAAE,oBAAoB,CAAA;IACjC,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACnD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACpD,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAA;CACrD,CAAA;AAED,KAAK,wBAAwB,GAAG;IAC9B,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAA;IAC7B,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACnD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAA;CACrD,CAAA;AAED,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAMtF;AAED,wBAAgB,qBAAqB,CAAC,EACpC,UAAU,EACV,QAAQ,EACR,WAAW,EACX,SAAS,EACT,SAAS,EACT,cAAc,EACd,eAAe,EACf,cAAc,GACf,EAAE,0BAA0B,sCAyB5B;AAED,KAAK,iBAAiB,GAAG,wBAAwB,GAAG;IAClD,QAAQ,EAAE,SAAS,CAAA;IACnB,cAAc,CAAC,EAAE,aAAa,CAAA;IAC9B,6EAA6E;IAC7E,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,yGAAyG;IACzG,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,wBAAgB,YAAY,CAAC,EAC3B,iBAAyB,EACzB,SAAiB,EACjB,QAAQ,EACR,SAAS,EACT,SAAS,EACT,cAAc,EACd,eAAe,EACf,QAAQ,EACR,cAAc,GACf,EAAE,iBAAiB,+BA0BnB;AAED,KAAK,qBAAqB,GAAG,0BAA0B,GAAG;IACxD,QAAQ,EAAE,SAAS,CAAA;CACpB,CAAA;AAED,wFAAwF;AACxF,wBAAgB,gBAAgB,CAAC,EAC/B,UAAU,EACV,QAAQ,EACR,WAAW,EACX,SAAS,EACT,SAAS,EACT,cAAc,EACd,eAAe,EACf,cAAc,EACd,QAAQ,GACT,EAAE,qBAAqB,+BAyCvB"}
1
+ {"version":3,"file":"RulerVisualFrame.d.ts","sourceRoot":"","sources":["../../src/components/RulerVisualFrame.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAMnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAG/D,KAAK,0BAA0B,GAAG;IAChC,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAA;IAC7B,WAAW,EAAE,oBAAoB,CAAA;IACjC,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACnD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACpD,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAA;CACrD,CAAA;AAED,KAAK,wBAAwB,GAAG;IAC9B,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAA;IAC7B,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACnD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAA;CACrD,CAAA;AAED,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAMtF;AAED,wBAAgB,qBAAqB,CAAC,EACpC,UAAU,EACV,QAAQ,EACR,WAAW,EACX,SAAS,EACT,SAAS,EACT,cAAc,EACd,eAAe,EACf,cAAc,GACf,EAAE,0BAA0B,sCAyB5B;AAED,KAAK,iBAAiB,GAAG,wBAAwB,GAAG;IAClD,QAAQ,EAAE,SAAS,CAAA;IACnB,cAAc,CAAC,EAAE,aAAa,CAAA;IAC9B,YAAY,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAA;IAClC,6EAA6E;IAC7E,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,yGAAyG;IACzG,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,wBAAgB,YAAY,CAAC,EAC3B,iBAAyB,EACzB,SAAiB,EACjB,QAAQ,EACR,SAAS,EACT,SAAS,EACT,cAAc,EACd,eAAe,EACf,QAAQ,EACR,cAAc,EACd,YAAY,GACb,EAAE,iBAAiB,+BA2BnB;AAED,KAAK,qBAAqB,GAAG,0BAA0B,GAAG;IACxD,QAAQ,EAAE,SAAS,CAAA;CACpB,CAAA;AAED,wFAAwF;AACxF,wBAAgB,gBAAgB,CAAC,EAC/B,UAAU,EACV,QAAQ,EACR,WAAW,EACX,SAAS,EACT,SAAS,EACT,cAAc,EACd,eAAe,EACf,cAAc,EACd,QAAQ,GACT,EAAE,qBAAqB,+BAyCvB"}
@@ -1,5 +1,6 @@
1
- import { MouseEvent as ReactMouseEvent, PointerEvent as ReactPointerEvent } from 'react';
1
+ import { MutableRefObject, MouseEvent as ReactMouseEvent, PointerEvent as ReactPointerEvent } from 'react';
2
2
  import { PageMarginSidesPx } from '../core/pageCanvasLayout';
3
+ import { HydrateEmbeddedImages } from '../core/documentEquality';
3
4
  import { RulerUnit } from '../core/rulerUnits';
4
5
  type VisualSurfaceProps = {
5
6
  html: string;
@@ -20,6 +21,10 @@ type VisualSurfaceProps = {
20
21
  rightIndentPx?: number;
21
22
  }) => void;
22
23
  onBeforeInput?: (event: InputEvent) => void;
24
+ /** Editor sets this to skip the next prop-driven innerHTML sync after a local visual commit. */
25
+ propSyncGuardRef?: MutableRefObject<(() => void) | null>;
26
+ resolveEmbeddedImageDataUrl?: (id: string) => string | null;
27
+ hydrateEmbeddedImages?: HydrateEmbeddedImages;
23
28
  onPointerDown?: (event: ReactPointerEvent<HTMLDivElement>) => void;
24
29
  onMouseUp?: (event: ReactMouseEvent<HTMLDivElement>) => void;
25
30
  onContextMenu?: (event: ReactMouseEvent<HTMLDivElement>) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"VisualSurface.d.ts","sourceRoot":"","sources":["../../src/components/VisualSurface.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,UAAU,IAAI,eAAe,EAClC,KAAK,YAAY,IAAI,iBAAiB,EACvC,MAAM,OAAO,CAAA;AAEd,OAAO,EAAwB,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAGvF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAMnD,KAAK,kBAAkB,GAAG;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,oFAAoF;IACpF,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,kGAAkG;IAClG,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACnD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACpD,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE;QACxB,iBAAiB,CAAC,EAAE,MAAM,CAAA;QAC1B,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,aAAa,CAAC,EAAE,MAAM,CAAA;KACvB,KAAK,IAAI,CAAA;IACV,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IAC3C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,cAAc,CAAC,KAAK,IAAI,CAAA;IAClE,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,cAAc,CAAC,KAAK,IAAI,CAAA;IAC5D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,cAAc,CAAC,KAAK,IAAI,CAAA;CACjE,CAAA;AAED,eAAO,MAAM,aAAa,+GAmGzB,CAAA"}
1
+ {"version":3,"file":"VisualSurface.d.ts","sourceRoot":"","sources":["../../src/components/VisualSurface.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,gBAAgB,EACrB,KAAK,UAAU,IAAI,eAAe,EAClC,KAAK,YAAY,IAAI,iBAAiB,EACvC,MAAM,OAAO,CAAA;AASd,OAAO,EAAwB,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAIvF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAErE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAMnD,KAAK,kBAAkB,GAAG;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,oFAAoF;IACpF,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,kGAAkG;IAClG,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACnD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACpD,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE;QACxB,iBAAiB,CAAC,EAAE,MAAM,CAAA;QAC1B,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,aAAa,CAAC,EAAE,MAAM,CAAA;KACvB,KAAK,IAAI,CAAA;IACV,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IAC3C,gGAAgG;IAChG,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;IACxD,2BAA2B,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAA;IAC3D,qBAAqB,CAAC,EAAE,qBAAqB,CAAA;IAC7C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,cAAc,CAAC,KAAK,IAAI,CAAA;IAClE,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,cAAc,CAAC,KAAK,IAAI,CAAA;IAC5D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,cAAc,CAAC,KAAK,IAAI,CAAA;CACjE,CAAA;AAED,eAAO,MAAM,aAAa,+GAyIzB,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { MutableRefObject } from 'react';
2
+ import { PageStore, PagesCommitResult } from '../hooks/usePageStore';
3
+ export type EditorDocumentBridgeHandle = {
4
+ pageStore: PageStore;
5
+ setHtml: (html: string) => void;
6
+ setStorageHtml: (html: string) => void;
7
+ getEditorHtml: () => string;
8
+ replacePagesFromHistory: (pages: readonly string[]) => PagesCommitResult;
9
+ };
10
+ export type EditorDocumentBridgeRef = MutableRefObject<EditorDocumentBridgeHandle | null>;
11
+ //# sourceMappingURL=editorDocumentBridgeTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editorDocumentBridgeTypes.d.ts","sourceRoot":"","sources":["../../src/components/editorDocumentBridgeTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAEzE,MAAM,MAAM,0BAA0B,GAAG;IACvC,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,aAAa,EAAE,MAAM,MAAM,CAAA;IAC3B,uBAAuB,EAAE,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,KAAK,iBAAiB,CAAA;CACzE,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG,gBAAgB,CAAC,0BAA0B,GAAG,IAAI,CAAC,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import { RefObject } from 'react';
2
2
  import { ParagraphIndentState } from '../core/paragraphIndent';
3
3
  import { PageGeometry } from '../core/pageGeometry';
4
- export declare function useMultiPageRulerMetrics(containerRef: RefObject<HTMLElement | null>, pages: readonly string[], getActiveIndex: () => number, enabled?: boolean, zoomScale?: number): {
4
+ export declare function useMultiPageRulerMetrics(containerRef: RefObject<HTMLElement | null>, pages: readonly string[], mountedIndices: readonly number[], getActiveIndex: () => number, enabled?: boolean, zoomScale?: number): {
5
5
  pageGeometries: Record<number, PageGeometry>;
6
6
  geometryForPage: (index: number) => PageGeometry | null;
7
7
  indentState: ParagraphIndentState;
@@ -1 +1 @@
1
- {"version":3,"file":"useMultiPageRulerMetrics.d.ts","sourceRoot":"","sources":["../../src/components/useMultiPageRulerMetrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0C,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAE9E,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAuBxD,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EAC3C,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,cAAc,EAAE,MAAM,MAAM,EAC5B,OAAO,UAAO,EACd,SAAS,SAAI,GACZ;IACD,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAC5C,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,YAAY,GAAG,IAAI,CAAA;IACvD,WAAW,EAAE,oBAAoB,CAAA;IACjC,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB,CA0DA"}
1
+ {"version":3,"file":"useMultiPageRulerMetrics.d.ts","sourceRoot":"","sources":["../../src/components/useMultiPageRulerMetrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0C,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAE9E,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAuBxD,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EAC3C,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,cAAc,EAAE,SAAS,MAAM,EAAE,EACjC,cAAc,EAAE,MAAM,MAAM,EAC5B,OAAO,UAAO,EACd,SAAS,SAAI,GACZ;IACD,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAC5C,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,YAAY,GAAG,IAAI,CAAA;IACvD,WAAW,EAAE,oBAAoB,CAAA;IACjC,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB,CA6DA"}
@@ -60,7 +60,7 @@ export type DefaultPageProperties = {
60
60
  margin?: Partial<BoxSides>;
61
61
  };
62
62
  };
63
- export type CommandName = 'save' | 'open' | 'print' | 'undo' | 'redo' | 'setVisualMode' | 'setHtmlMode' | 'toggleFullscreen' | 'openCustomizeToolbar' | 'openDocumentPreview' | 'toggleReadAloud' | 'toggleRuler' | 'setLightMode' | 'setDarkMode' | 'setPageZoomFitWidth' | 'setPageZoomFitPage' | 'setPageZoom50' | 'setPageZoom75' | 'setPageZoom100' | 'setPageZoom125' | 'setPageZoom150' | 'setPageZoom200' | 'setToolbarPositionTop' | 'setToolbarPositionLeft' | 'setToolbarPositionRight' | 'setToolbarPositionBottom' | 'toggleBold' | 'toggleItalic' | 'toggleUnderline' | 'toggleStrikethrough' | 'clearFormatting' | 'toggleFormatBrush' | 'openFontProperties' | 'openCustomCss' | 'applyCustomCss' | 'openParagraphProperties' | 'openPageProperties' | 'openCustomParagraphStyleDialog' | 'openLinkDialog' | 'openBookmarkDialog' | 'openImageDialog' | 'openPageBackgroundImage' | 'openParagraphBackgroundImage' | 'openAudioDialog' | 'openYoutubeDialog' | 'openImageProperties' | 'insertHorizontalRule' | 'insertPageBreak' | 'insertPageBefore' | 'insertPageAfter' | 'deletePage' | 'openTableDialog' | 'openTableProperties' | 'openCellProperties' | 'openRowProperties' | 'insertRowBelow' | 'insertRowBefore' | 'deleteRow' | 'insertColumnAfter' | 'insertColumnBefore' | 'deleteColumn' | 'mergeCells' | 'unmergeCells' | 'cut' | 'copy' | 'deleteSelection' | 'alignLeft' | 'alignCenter' | 'alignRight' | 'alignJustify' | 'indent' | 'outdent' | 'toggleBulletList' | 'toggleNumberedList' | 'addComment' | 'toggleCommentsVisible' | (string & {});
63
+ export type CommandName = 'save' | 'open' | 'print' | 'undo' | 'redo' | 'setVisualMode' | 'setHtmlMode' | 'toggleFullscreen' | 'openCustomizeToolbar' | 'openDocumentPreview' | 'toggleReadAloud' | 'toggleRuler' | 'setLightMode' | 'setDarkMode' | 'setPageZoomFitWidth' | 'setPageZoomFitPage' | 'setPageZoom50' | 'setPageZoom75' | 'setPageZoom100' | 'setPageZoom125' | 'setPageZoom150' | 'setPageZoom200' | 'setToolbarPositionTop' | 'setToolbarPositionLeft' | 'setToolbarPositionRight' | 'setToolbarPositionBottom' | 'toggleBold' | 'toggleItalic' | 'toggleUnderline' | 'toggleStrikethrough' | 'clearFormatting' | 'toggleFormatBrush' | 'openFontProperties' | 'openCustomCss' | 'applyCustomCss' | 'openParagraphProperties' | 'openPageProperties' | 'openCustomParagraphStyleDialog' | 'openLinkDialog' | 'openBookmarkDialog' | 'openImageDialog' | 'openPageBackgroundImage' | 'openParagraphBackgroundImage' | 'openAudioDialog' | 'openYoutubeDialog' | 'openImageProperties' | 'insertHorizontalRule' | 'insertPageBreak' | 'insertPageBefore' | 'insertPageAfter' | 'deletePage' | 'openTableDialog' | 'openTableProperties' | 'openCellProperties' | 'openRowProperties' | 'insertRowBelow' | 'insertRowBefore' | 'deleteRow' | 'insertColumnAfter' | 'insertColumnBefore' | 'deleteColumn' | 'mergeCells' | 'unmergeCells' | 'cut' | 'copy' | 'deleteSelection' | 'alignLeft' | 'alignCenter' | 'alignRight' | 'alignJustify' | 'indent' | 'outdent' | 'toggleBulletList' | 'toggleNumberedList' | 'addComment' | 'toggleCommentsVisible' | 'openHelp' | 'openKeyboardShortcuts' | 'openAbout' | (string & {});
64
64
  export type QueryName = 'isVisualMode' | 'isHtmlMode' | 'isFullscreen' | 'isLightMode' | 'isDarkMode' | 'isPageZoomFitWidth' | 'isPageZoomFitPage' | 'isPageZoom50' | 'isPageZoom75' | 'isPageZoom100' | 'isPageZoom125' | 'isPageZoom150' | 'isPageZoom200' | 'isToolbarPositionTop' | 'isToolbarPositionLeft' | 'isToolbarPositionRight' | 'isToolbarPositionBottom' | 'canUndo' | 'canRedo' | 'isBold' | 'isItalic' | 'isUnderline' | 'isStrikethrough' | 'isAlignLeft' | 'isAlignCenter' | 'isAlignRight' | 'isAlignJustify' | 'canOutdent' | 'isBulletList' | 'isNumberedList' | 'isLink' | 'isImageSelected' | 'isInTable' | 'canMergeCells' | 'canUnmergeCells' | 'hasTextSelection' | 'isReadingAloud' | 'isRulerVisible' | 'canReadAloud' | 'isFormatBrushActive' | 'isMultiPagesEnabled' | 'hasSelectedPage' | 'canDeletePage' | 'canInsertPageBackgroundImage' | 'canInsertParagraphBackgroundImage' | 'canAddComment' | 'areCommentsVisible' | 'isCommentsEnabled';
65
65
  export type CommandContext = {
66
66
  getHtml: () => string;
@@ -77,6 +77,9 @@ export type CommandContext = {
77
77
  setToolbarPosition: (position: ToolbarPosition) => void;
78
78
  openCustomizeToolbar: () => void;
79
79
  openDocumentPreview: () => void;
80
+ openHelp: () => void;
81
+ openKeyboardShortcuts: () => void;
82
+ openAbout: () => void;
80
83
  toggleReadAloud: () => void;
81
84
  toggleRuler: () => void;
82
85
  isReadingAloud: () => boolean;
@@ -209,6 +212,9 @@ export type EditorCommands = {
209
212
  toggleFullscreen: () => void;
210
213
  openCustomizeToolbar: () => void;
211
214
  openDocumentPreview: () => void;
215
+ openHelp: () => void;
216
+ openKeyboardShortcuts: () => void;
217
+ openAbout: () => void;
212
218
  toggleReadAloud: () => void;
213
219
  toggleRuler: () => void;
214
220
  setLightMode: () => void;