commspliant-html-editor 0.0.10 → 0.0.12

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 (189) hide show
  1. package/README.md +148 -15
  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 +193 -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 +22 -1
  16. package/dist/components/MultiPageVisualSurface.d.ts.map +1 -1
  17. package/dist/components/RulerVisualFrame.d.ts +42 -0
  18. package/dist/components/RulerVisualFrame.d.ts.map +1 -0
  19. package/dist/components/VisualSurface.d.ts +21 -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/rulerDocumentHandlers.d.ts +14 -0
  24. package/dist/components/rulerDocumentHandlers.d.ts.map +1 -0
  25. package/dist/components/useMultiPageRulerMetrics.d.ts +10 -0
  26. package/dist/components/useMultiPageRulerMetrics.d.ts.map +1 -0
  27. package/dist/components/usePageRulerMetrics.d.ts +8 -0
  28. package/dist/components/usePageRulerMetrics.d.ts.map +1 -0
  29. package/dist/core/commandTypes.d.ts +24 -6
  30. package/dist/core/commandTypes.d.ts.map +1 -1
  31. package/dist/core/commands.d.ts.map +1 -1
  32. package/dist/core/documentEquality.d.ts +6 -0
  33. package/dist/core/documentEquality.d.ts.map +1 -0
  34. package/dist/core/documentStyles.d.ts +6 -0
  35. package/dist/core/documentStyles.d.ts.map +1 -1
  36. package/dist/core/fontFamily.d.ts +6 -1
  37. package/dist/core/fontFamily.d.ts.map +1 -1
  38. package/dist/core/image.d.ts +8 -2
  39. package/dist/core/image.d.ts.map +1 -1
  40. package/dist/core/imageRegistry.d.ts +20 -0
  41. package/dist/core/imageRegistry.d.ts.map +1 -0
  42. package/dist/core/imageWebp.d.ts +6 -0
  43. package/dist/core/imageWebp.d.ts.map +1 -0
  44. package/dist/core/multiPage.d.ts +12 -0
  45. package/dist/core/multiPage.d.ts.map +1 -1
  46. package/dist/core/page.d.ts +14 -2
  47. package/dist/core/page.d.ts.map +1 -1
  48. package/dist/core/pageAtRule.d.ts.map +1 -1
  49. package/dist/core/pageBackgroundImage.d.ts +9 -0
  50. package/dist/core/pageBackgroundImage.d.ts.map +1 -1
  51. package/dist/core/pageBreak.d.ts +1 -0
  52. package/dist/core/pageBreak.d.ts.map +1 -1
  53. package/dist/core/pageCanvasLayout.d.ts +21 -1
  54. package/dist/core/pageCanvasLayout.d.ts.map +1 -1
  55. package/dist/core/pageGeometry.d.ts +18 -0
  56. package/dist/core/pageGeometry.d.ts.map +1 -0
  57. package/dist/core/pagePrintBleed.d.ts +7 -0
  58. package/dist/core/pagePrintBleed.d.ts.map +1 -0
  59. package/dist/core/pageProperties.d.ts.map +1 -1
  60. package/dist/core/pageRowHeight.d.ts +16 -0
  61. package/dist/core/pageRowHeight.d.ts.map +1 -0
  62. package/dist/core/pageZoom.d.ts +5 -0
  63. package/dist/core/pageZoom.d.ts.map +1 -1
  64. package/dist/core/paragraphBackgroundImage.d.ts +4 -0
  65. package/dist/core/paragraphBackgroundImage.d.ts.map +1 -0
  66. package/dist/core/paragraphIndent.d.ts +19 -0
  67. package/dist/core/paragraphIndent.d.ts.map +1 -0
  68. package/dist/core/printLayout.d.ts +3 -0
  69. package/dist/core/printLayout.d.ts.map +1 -0
  70. package/dist/core/rulerUnits.d.ts +35 -0
  71. package/dist/core/rulerUnits.d.ts.map +1 -0
  72. package/dist/core/visualBodySync.d.ts +13 -0
  73. package/dist/core/visualBodySync.d.ts.map +1 -0
  74. package/dist/hooks/useDialogFocusTrap.d.ts +11 -0
  75. package/dist/hooks/useDialogFocusTrap.d.ts.map +1 -0
  76. package/dist/hooks/useEditorDialogState.d.ts +197 -0
  77. package/dist/hooks/useEditorDialogState.d.ts.map +1 -0
  78. package/dist/hooks/usePageStore.d.ts +32 -0
  79. package/dist/hooks/usePageStore.d.ts.map +1 -0
  80. package/dist/hooks/useViewportAnchoredPosition.d.ts +24 -0
  81. package/dist/hooks/useViewportAnchoredPosition.d.ts.map +1 -0
  82. package/dist/hooks/useVirtualPageRange.d.ts +30 -0
  83. package/dist/hooks/useVirtualPageRange.d.ts.map +1 -0
  84. package/dist/hooks/useVisualPageBodies.d.ts +3 -0
  85. package/dist/hooks/useVisualPageBodies.d.ts.map +1 -0
  86. package/dist/i18n/en.d.ts.map +1 -1
  87. package/dist/i18n/es.d.ts.map +1 -1
  88. package/dist/i18n/types.d.ts +144 -0
  89. package/dist/i18n/types.d.ts.map +1 -1
  90. package/dist/icons/HelpIcon.d.ts +3 -0
  91. package/dist/icons/HelpIcon.d.ts.map +1 -0
  92. package/dist/icons/RulerIcon.d.ts +3 -0
  93. package/dist/icons/RulerIcon.d.ts.map +1 -0
  94. package/dist/icons/index.d.ts +2 -0
  95. package/dist/icons/index.d.ts.map +1 -1
  96. package/dist/index.cjs +233 -8
  97. package/dist/index.js +17161 -12732
  98. package/dist/modules/contextMenu/ContextMenu.d.ts +2 -1
  99. package/dist/modules/contextMenu/ContextMenu.d.ts.map +1 -1
  100. package/dist/modules/file/commands.d.ts.map +1 -1
  101. package/dist/modules/file/fileDialogs.d.ts.map +1 -1
  102. package/dist/modules/file/printHtml.d.ts +1 -0
  103. package/dist/modules/file/printHtml.d.ts.map +1 -1
  104. package/dist/modules/format/ColorField.d.ts.map +1 -1
  105. package/dist/modules/format/ColorSelect.d.ts.map +1 -1
  106. package/dist/modules/format/CustomCssDialog.d.ts.map +1 -1
  107. package/dist/modules/format/CustomParagraphStyleDialog.d.ts.map +1 -1
  108. package/dist/modules/format/FontFamilySelect.d.ts.map +1 -1
  109. package/dist/modules/format/FontPropertiesDialog.d.ts.map +1 -1
  110. package/dist/modules/format/FontSizeCombobox.d.ts.map +1 -1
  111. package/dist/modules/format/PagePropertiesDialog.d.ts +4 -2
  112. package/dist/modules/format/PagePropertiesDialog.d.ts.map +1 -1
  113. package/dist/modules/format/ParagraphPropertiesDialog.d.ts +11 -2
  114. package/dist/modules/format/ParagraphPropertiesDialog.d.ts.map +1 -1
  115. package/dist/modules/format/ParagraphStyleSelect.d.ts.map +1 -1
  116. package/dist/modules/format/paragraphDialog.d.ts.map +1 -1
  117. package/dist/modules/help/AboutDialog.d.ts +6 -0
  118. package/dist/modules/help/AboutDialog.d.ts.map +1 -0
  119. package/dist/modules/help/HelpDialog.d.ts +9 -0
  120. package/dist/modules/help/HelpDialog.d.ts.map +1 -0
  121. package/dist/modules/help/articles.d.ts +16 -0
  122. package/dist/modules/help/articles.d.ts.map +1 -0
  123. package/dist/modules/help/catalog.d.ts +3 -0
  124. package/dist/modules/help/catalog.d.ts.map +1 -0
  125. package/dist/modules/help/commands.d.ts +3 -0
  126. package/dist/modules/help/commands.d.ts.map +1 -0
  127. package/dist/modules/help/index.d.ts +5 -0
  128. package/dist/modules/help/index.d.ts.map +1 -0
  129. package/dist/modules/help/search.d.ts +10 -0
  130. package/dist/modules/help/search.d.ts.map +1 -0
  131. package/dist/modules/help/version.d.ts +3 -0
  132. package/dist/modules/help/version.d.ts.map +1 -0
  133. package/dist/modules/history/history.d.ts +4 -0
  134. package/dist/modules/history/history.d.ts.map +1 -1
  135. package/dist/modules/history/index.d.ts +4 -2
  136. package/dist/modules/history/index.d.ts.map +1 -1
  137. package/dist/modules/history/multiPageHistory.d.ts +38 -0
  138. package/dist/modules/history/multiPageHistory.d.ts.map +1 -0
  139. package/dist/modules/insert/AudioDialog.d.ts.map +1 -1
  140. package/dist/modules/insert/BookmarkDialog.d.ts.map +1 -1
  141. package/dist/modules/insert/ImageDialog.d.ts.map +1 -1
  142. package/dist/modules/insert/ImagePropertiesDialog.d.ts.map +1 -1
  143. package/dist/modules/insert/ImageSizeField.d.ts.map +1 -1
  144. package/dist/modules/insert/LinkDialog.d.ts.map +1 -1
  145. package/dist/modules/insert/YoutubeDialog.d.ts.map +1 -1
  146. package/dist/modules/insert/catalog.d.ts.map +1 -1
  147. package/dist/modules/insert/commands.d.ts +2 -2
  148. package/dist/modules/insert/commands.d.ts.map +1 -1
  149. package/dist/modules/ruler/HorizontalRuler.d.ts +27 -0
  150. package/dist/modules/ruler/HorizontalRuler.d.ts.map +1 -0
  151. package/dist/modules/ruler/IndentArrowIcon.d.ts +14 -0
  152. package/dist/modules/ruler/IndentArrowIcon.d.ts.map +1 -0
  153. package/dist/modules/ruler/VerticalRuler.d.ts +20 -0
  154. package/dist/modules/ruler/VerticalRuler.d.ts.map +1 -0
  155. package/dist/modules/ruler/index.d.ts +5 -0
  156. package/dist/modules/ruler/index.d.ts.map +1 -0
  157. package/dist/modules/ruler/rulerTypes.d.ts +26 -0
  158. package/dist/modules/ruler/rulerTypes.d.ts.map +1 -0
  159. package/dist/modules/ruler/useRulerPointerDrag.d.ts +17 -0
  160. package/dist/modules/ruler/useRulerPointerDrag.d.ts.map +1 -0
  161. package/dist/modules/table/CellPropertiesDialog.d.ts.map +1 -1
  162. package/dist/modules/table/RowPropertiesDialog.d.ts.map +1 -1
  163. package/dist/modules/table/TableDialog.d.ts.map +1 -1
  164. package/dist/modules/table/TablePropertiesDialog.d.ts.map +1 -1
  165. package/dist/modules/view/DocumentPreviewDialog.d.ts +1 -0
  166. package/dist/modules/view/DocumentPreviewDialog.d.ts.map +1 -1
  167. package/dist/modules/view/catalog.d.ts.map +1 -1
  168. package/dist/modules/view/commands.d.ts +2 -2
  169. package/dist/modules/view/commands.d.ts.map +1 -1
  170. package/dist/test/commandContext.d.ts +3 -0
  171. package/dist/test/commandContext.d.ts.map +1 -0
  172. package/dist/toolbar/CustomizeToolbarDialog.d.ts.map +1 -1
  173. package/dist/toolbar/EditorToolbar.d.ts +3 -1
  174. package/dist/toolbar/EditorToolbar.d.ts.map +1 -1
  175. package/dist/toolbar/IconNav.d.ts.map +1 -1
  176. package/dist/toolbar/MenuBar.d.ts.map +1 -1
  177. package/dist/toolbar/ToolbarQuerySubscription.d.ts +7 -0
  178. package/dist/toolbar/ToolbarQuerySubscription.d.ts.map +1 -0
  179. package/dist/toolbar/defaultCatalog.d.ts.map +1 -1
  180. package/dist/toolbar/defaultLayout.d.ts.map +1 -1
  181. package/dist/toolbar/multiPageChrome.d.ts +0 -2
  182. package/dist/toolbar/multiPageChrome.d.ts.map +1 -1
  183. package/dist/toolbar/toolbarQueryRevisions.d.ts +10 -0
  184. package/dist/toolbar/toolbarQueryRevisions.d.ts.map +1 -0
  185. package/dist/toolbar/toolbarShellProps.d.ts +17 -0
  186. package/dist/toolbar/toolbarShellProps.d.ts.map +1 -0
  187. package/dist/types.d.ts +15 -0
  188. package/dist/types.d.ts.map +1 -1
  189. 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, 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":"AA2PA,OAAO,KAAK,EASV,WAAW,EAIZ,MAAM,UAAU,CAAA;AAWjB,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,cAAsB,EACtB,sBAA6B,EAC7B,aAAa,EACb,QAAQ,EAAE,YAAY,EACtB,eAAoB,EACpB,gBAAgB,GACjB,EAAE,WAAW,+BAiwGb"}
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,+BAivHb"}
@@ -0,0 +1,193 @@
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
+ onParagraphCustomImagePick: () => void;
129
+ onParagraphDialogTabChange: (tab: ParagraphDialogTab) => void;
130
+ onParagraphDialogClose: () => void;
131
+ onApplyParagraphProperties: (draft: {
132
+ value: ParagraphPropertiesApply;
133
+ backgroundImage: PageBackgroundImageApply;
134
+ }) => void;
135
+ customCssDialog: EditorCustomCssDialogState;
136
+ onCustomCssDialogClose: () => void;
137
+ onApplyCustomCss: (css: string) => void;
138
+ pageDialog: EditorPageDialogState;
139
+ enablePageProperties: boolean;
140
+ onPageCustomImagePick: () => void;
141
+ onPageDialogTabChange: (tab: PageDialogTab) => void;
142
+ onPageDialogClose: () => void;
143
+ onApplyPageProperties: (draft: PagePropertiesApply) => void;
144
+ onPageDialogResetAtRule: () => void;
145
+ deletePageConfirmOpen: boolean;
146
+ onDeletePageConfirmClose: () => void;
147
+ onDeletePageConfirm: () => void;
148
+ customStyleDialog: EditorCustomStyleDialogState;
149
+ canDeleteCustomParagraphStyle: boolean;
150
+ customStyleBusy: boolean;
151
+ onCustomStyleDialogClose: () => void;
152
+ onCustomStyleSave: (style: CustomParagraphStyle) => void | Promise<void>;
153
+ onCustomStyleDelete: (id: string) => void | Promise<void>;
154
+ linkDialog: EditorLinkDialogState;
155
+ onLinkDialogTabChange: (tab: LinkDialogTab) => void;
156
+ onLinkDialogClose: () => void;
157
+ onApplyLink: (draft: LinkApply) => void;
158
+ bookmarkDialog: EditorBookmarkDialogState;
159
+ onBookmarkDialogClose: () => void;
160
+ onApplyBookmark: (name: string) => void;
161
+ imageDialogOpen: boolean;
162
+ customAudioPicker?: CustomAudioPicker;
163
+ customVideoPicker?: CustomVideoPicker;
164
+ onImageDialogClose: () => void;
165
+ onApplyImage: (draft: ImageApply) => void;
166
+ onImageDialogCustomPick: () => void;
167
+ audioDialogOpen: boolean;
168
+ onAudioDialogClose: () => void;
169
+ onApplyAudio: (draft: AudioApply) => void;
170
+ onAudioDialogCustomPick: () => void;
171
+ youtubeDialogOpen: boolean;
172
+ onYoutubeDialogClose: () => void;
173
+ onApplyYoutube: (draft: YoutubeApply) => void;
174
+ onYoutubeDialogCustomPick: () => void;
175
+ imageProperties: EditorImagePropertiesState;
176
+ onImagePropertiesTabChange: (tab: ImageDialogTab) => void;
177
+ onImagePropertiesClose: () => void;
178
+ onApplyImageProperties: (draft: ImagePropertiesApply) => void;
179
+ tableDialogOpen: boolean;
180
+ onTableDialogClose: () => void;
181
+ onApplyTable: (draft: TableApply) => void;
182
+ tableProperties: EditorTablePropertiesState;
183
+ onTablePropertiesClose: () => void;
184
+ onApplyTableProperties: (draft: TablePropertiesApply) => void;
185
+ cellProperties: EditorCellPropertiesState;
186
+ onCellPropertiesClose: () => void;
187
+ onApplyCellProperties: (draft: CellPropertiesApply) => void;
188
+ rowProperties: EditorRowPropertiesState;
189
+ onRowPropertiesClose: () => void;
190
+ onApplyRowProperties: (draft: RowPropertiesApply) => void;
191
+ };
192
+ export declare const EditorChrome: import('react').NamedExoticComponent<EditorChromeProps>;
193
+ //# 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,40 @@
1
- import { MouseEvent as ReactMouseEvent, PointerEvent as ReactPointerEvent } from 'react';
1
+ import { MouseEvent as ReactMouseEvent, PointerEvent as ReactPointerEvent, RefObject } from 'react';
2
+ import { PageMarginSidesPx } from '../core/pageCanvasLayout';
3
+ import { HydrateEmbeddedImages } from '../core/documentEquality';
4
+ import { RulerUnit } from '../core/rulerUnits';
2
5
  export type MultiPageVisualSurfaceHandle = {
3
6
  getContainer: () => HTMLDivElement | null;
4
7
  getActivePageRoot: () => HTMLElement | null;
5
8
  getActivePageIndex: () => number;
6
9
  flushPageHtml: (index: number) => string | null;
10
+ ensurePageMounted: (index: number) => void;
7
11
  };
8
12
  type MultiPageVisualSurfaceProps = {
9
13
  pages: readonly string[];
10
14
  activePageIndex: number;
15
+ hasSelectedPage?: boolean;
16
+ scrollRootRef?: RefObject<HTMLElement | null>;
11
17
  onActivePageIndexChange: (index: number) => void;
12
18
  onPageSelected?: (index: number) => void;
13
19
  onPageChange: (index: number, html: string) => void;
20
+ onPageFlush?: (index: number, html: string) => void;
21
+ suppressPageFlushRef?: RefObject<boolean>;
14
22
  placeholder?: string;
15
23
  disabled?: boolean;
24
+ rulerVisible?: boolean;
25
+ rulerUnit?: RulerUnit;
26
+ /** Viewport zoom factor for converting screen pointer deltas to document px during ruler drag. */
27
+ zoomScale?: number;
28
+ onMarginChange?: (pageIndex: number, margins: PageMarginSidesPx) => void;
29
+ onMarginPreview?: (pageIndex: number, margins: PageMarginSidesPx) => void;
30
+ onIndentChange?: (indent: {
31
+ firstLineIndentPx?: number;
32
+ leftIndentPx?: number;
33
+ rightIndentPx?: number;
34
+ }) => void;
16
35
  onBeforeInput?: (event: InputEvent) => void;
36
+ resolveEmbeddedImageDataUrl?: (id: string) => string | null;
37
+ hydrateEmbeddedImages?: HydrateEmbeddedImages;
17
38
  onPointerDown?: (event: ReactPointerEvent<HTMLDivElement>) => void;
18
39
  onMouseUp?: (event: ReactMouseEvent<HTMLDivElement>) => void;
19
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;AAgBd,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,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,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,sIA6IjC,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"}
@@ -0,0 +1,42 @@
1
+ import { CSSProperties, ReactNode, Ref } from 'react';
2
+ import { PageMarginSidesPx } from '../core/pageCanvasLayout';
3
+ import { ParagraphIndentState } from '../core/paragraphIndent';
4
+ import { PageGeometry } from '../core/pageGeometry';
5
+ import { RulerUnit } from '../core/rulerUnits';
6
+ import { RulerIndentSides } from './rulerDocumentHandlers';
7
+ type RulerHorizontalChromeProps = {
8
+ showRulers: boolean;
9
+ geometry: PageGeometry | null;
10
+ indentState: ParagraphIndentState;
11
+ rulerUnit: RulerUnit;
12
+ zoomScale: number;
13
+ onMarginChange?: (sides: PageMarginSidesPx) => void;
14
+ onMarginPreview?: (sides: PageMarginSidesPx) => void;
15
+ onIndentChange?: (indents: RulerIndentSides) => void;
16
+ };
17
+ type RulerVerticalChromeProps = {
18
+ geometry: PageGeometry | null;
19
+ rulerUnit: RulerUnit;
20
+ zoomScale: number;
21
+ onMarginChange?: (sides: PageMarginSidesPx) => void;
22
+ onMarginPreview?: (sides: PageMarginSidesPx) => void;
23
+ };
24
+ export declare function buildPageZoomContentStyle(zoomScale: number): CSSProperties | undefined;
25
+ export declare function RulerHorizontalHeader({ showRulers, geometry, indentState, rulerUnit, zoomScale, onMarginChange, onMarginPreview, onIndentChange, }: RulerHorizontalChromeProps): import("react").JSX.Element | null;
26
+ type RulerPageRowProps = RulerVerticalChromeProps & {
27
+ children: ReactNode;
28
+ pageBlockStyle?: CSSProperties;
29
+ pageBlockRef?: Ref<HTMLDivElement>;
30
+ /** When true, show the vertical ruler gutter and ruler for this page row. */
31
+ showVerticalRuler?: boolean;
32
+ /** When true, the page has a fixed @page size; when false, use full-width / full-height fluid layout. */
33
+ pageSized?: boolean;
34
+ };
35
+ export declare function RulerPageRow({ showVerticalRuler, pageSized, geometry, rulerUnit, zoomScale, onMarginChange, onMarginPreview, children, pageBlockStyle, pageBlockRef, }: RulerPageRowProps): import("react").JSX.Element;
36
+ type RulerVisualFrameProps = RulerHorizontalChromeProps & {
37
+ children: ReactNode;
38
+ };
39
+ /** Single-page print layout: horizontal ruler header + page row with vertical ruler. */
40
+ export declare function RulerVisualFrame({ showRulers, geometry, indentState, rulerUnit, zoomScale, onMarginChange, onMarginPreview, onIndentChange, children, }: RulerVisualFrameProps): import("react").JSX.Element;
41
+ export {};
42
+ //# sourceMappingURL=RulerVisualFrame.d.ts.map
@@ -0,0 +1 @@
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,10 +1,30 @@
1
- import { MouseEvent as ReactMouseEvent, PointerEvent as ReactPointerEvent } from 'react';
1
+ import { MutableRefObject, MouseEvent as ReactMouseEvent, PointerEvent as ReactPointerEvent } from 'react';
2
+ import { PageMarginSidesPx } from '../core/pageCanvasLayout';
3
+ import { HydrateEmbeddedImages } from '../core/documentEquality';
4
+ import { RulerUnit } from '../core/rulerUnits';
2
5
  type VisualSurfaceProps = {
3
6
  html: string;
7
+ /** Full page HTML including @page rule; used for print layout and ruler metrics. */
8
+ pageHtml?: string;
4
9
  onChange: (html: string) => void;
5
10
  placeholder?: string;
6
11
  disabled?: boolean;
12
+ rulerVisible?: boolean;
13
+ rulerUnit?: RulerUnit;
14
+ /** Viewport zoom factor for converting screen pointer deltas to document px during ruler drag. */
15
+ zoomScale?: number;
16
+ onMarginChange?: (sides: PageMarginSidesPx) => void;
17
+ onMarginPreview?: (sides: PageMarginSidesPx) => void;
18
+ onIndentChange?: (indent: {
19
+ firstLineIndentPx?: number;
20
+ leftIndentPx?: number;
21
+ rightIndentPx?: number;
22
+ }) => void;
7
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;
8
28
  onPointerDown?: (event: ReactPointerEvent<HTMLDivElement>) => void;
9
29
  onMouseUp?: (event: ReactMouseEvent<HTMLDivElement>) => void;
10
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,EAIL,KAAK,UAAU,IAAI,eAAe,EAClC,KAAK,YAAY,IAAI,iBAAiB,EACvC,MAAM,OAAO,CAAA;AAOd,KAAK,kBAAkB,GAAG;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,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,+GA4DzB,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"}
@@ -0,0 +1,14 @@
1
+ import { PageMarginSidesPx } from '../core/pageCanvasLayout';
2
+ import { ApplyParagraphIndentOptions } from '../core/paragraphIndent';
3
+ import { RulerUnit } from '../core/rulerUnits';
4
+ export type RulerIndentSides = Pick<ApplyParagraphIndentOptions, 'firstLineIndentPx' | 'leftIndentPx' | 'rightIndentPx'>;
5
+ type MarginDragCommitResult = {
6
+ pageHtml: string;
7
+ };
8
+ export declare function createRulerMarginPreviewHandler(getSurface: () => HTMLElement | null, getPageHtml: () => string, preview: (surface: HTMLElement, pageHtml: string, sides: PageMarginSidesPx) => void): (sides: PageMarginSidesPx) => void;
9
+ export declare function createRulerMarginChangeHandler(getSurface: () => HTMLElement | null, getPageHtml: () => string, commit: (surface: HTMLElement, pageHtml: string, sides: PageMarginSidesPx) => MarginDragCommitResult, onCommitted: (pageHtml: string) => void): (sides: PageMarginSidesPx) => void;
10
+ export declare function createMultiPageRulerMarginPreviewHandler(getSurface: (pageIndex: number) => HTMLElement | null, getPageHtml: (pageIndex: number) => string, preview: (surface: HTMLElement, pageHtml: string, sides: PageMarginSidesPx) => void): (pageIndex: number, sides: PageMarginSidesPx) => void;
11
+ export declare function createMultiPageRulerMarginChangeHandler(getSurface: (pageIndex: number) => HTMLElement | null, getPageHtml: (pageIndex: number) => string, commit: (surface: HTMLElement, pageHtml: string, sides: PageMarginSidesPx) => MarginDragCommitResult, onCommitted: (pageIndex: number, pageHtml: string) => void): (pageIndex: number, sides: PageMarginSidesPx) => void;
12
+ export declare function createRulerIndentChangeHandler(getSurface: () => HTMLElement | null, rulerUnit: RulerUnit, onApplied: (surface: HTMLElement) => void): (indents: RulerIndentSides) => void;
13
+ export {};
14
+ //# sourceMappingURL=rulerDocumentHandlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rulerDocumentHandlers.d.ts","sourceRoot":"","sources":["../../src/components/rulerDocumentHandlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAEnD,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,2BAA2B,EAC3B,mBAAmB,GAAG,cAAc,GAAG,eAAe,CACvD,CAAA;AAED,KAAK,sBAAsB,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,MAAM,WAAW,GAAG,IAAI,EACpC,WAAW,EAAE,MAAM,MAAM,EACzB,OAAO,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,KAAK,IAAI,GAClF,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAMpC;AAED,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,MAAM,WAAW,GAAG,IAAI,EACpC,WAAW,EAAE,MAAM,MAAM,EACzB,MAAM,EAAE,CACN,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,iBAAiB,KACrB,sBAAsB,EAC3B,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GACtC,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAOpC;AAED,wBAAgB,wCAAwC,CACtD,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,WAAW,GAAG,IAAI,EACrD,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,EAC1C,OAAO,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,KAAK,IAAI,GAClF,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAMvD;AAED,wBAAgB,uCAAuC,CACrD,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,WAAW,GAAG,IAAI,EACrD,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,EAC1C,MAAM,EAAE,CACN,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,iBAAiB,KACrB,sBAAsB,EAC3B,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,GACzD,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAOvD;AAED,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,MAAM,WAAW,GAAG,IAAI,EACpC,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,GACxC,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAarC"}
@@ -0,0 +1,10 @@
1
+ import { RefObject } from 'react';
2
+ import { ParagraphIndentState } from '../core/paragraphIndent';
3
+ import { PageGeometry } from '../core/pageGeometry';
4
+ export declare function useMultiPageRulerMetrics(containerRef: RefObject<HTMLElement | null>, pages: readonly string[], mountedIndices: readonly number[], getActiveIndex: () => number, enabled?: boolean, zoomScale?: number): {
5
+ pageGeometries: Record<number, PageGeometry>;
6
+ geometryForPage: (index: number) => PageGeometry | null;
7
+ indentState: ParagraphIndentState;
8
+ refresh: () => void;
9
+ };
10
+ //# sourceMappingURL=useMultiPageRulerMetrics.d.ts.map
@@ -0,0 +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,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"}
@@ -0,0 +1,8 @@
1
+ import { ParagraphIndentState } from '../core/paragraphIndent';
2
+ import { PageGeometry } from '../core/pageGeometry';
3
+ export declare function usePageRulerMetrics(surface: HTMLElement | null, pageHtml: string, enabled?: boolean): {
4
+ geometry: PageGeometry | null;
5
+ indentState: ParagraphIndentState;
6
+ refresh: () => void;
7
+ };
8
+ //# sourceMappingURL=usePageRulerMetrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePageRulerMetrics.d.ts","sourceRoot":"","sources":["../../src/components/usePageRulerMetrics.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAGxD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,WAAW,GAAG,IAAI,EAC3B,QAAQ,EAAE,MAAM,EAChB,OAAO,UAAO,GACb;IACD,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAA;IAC7B,WAAW,EAAE,oBAAoB,CAAA;IACjC,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB,CAiCA"}