@yurikilian/lex4 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/LICENSE +21 -0
  2. package/dist/__tests__/setup.d.ts +1 -0
  3. package/dist/__tests__/setup.d.ts.map +1 -0
  4. package/dist/components/DocumentView.d.ts +10 -0
  5. package/dist/components/DocumentView.d.ts.map +1 -0
  6. package/dist/components/EditorSidebar.d.ts +12 -0
  7. package/dist/components/EditorSidebar.d.ts.map +1 -0
  8. package/dist/components/HeaderFooterActions.d.ts +16 -0
  9. package/dist/components/HeaderFooterActions.d.ts.map +1 -0
  10. package/dist/components/HeaderFooterToggle.d.ts +8 -0
  11. package/dist/components/HeaderFooterToggle.d.ts.map +1 -0
  12. package/dist/components/HistorySidebar.d.ts +3 -0
  13. package/dist/components/HistorySidebar.d.ts.map +1 -0
  14. package/dist/components/Lex4Editor.d.ts +10 -0
  15. package/dist/components/Lex4Editor.d.ts.map +1 -0
  16. package/dist/components/PageBody.d.ts +26 -0
  17. package/dist/components/PageBody.d.ts.map +1 -0
  18. package/dist/components/PageFooter.d.ts +18 -0
  19. package/dist/components/PageFooter.d.ts.map +1 -0
  20. package/dist/components/PageHeader.d.ts +18 -0
  21. package/dist/components/PageHeader.d.ts.map +1 -0
  22. package/dist/components/PageView.d.ts +21 -0
  23. package/dist/components/PageView.d.ts.map +1 -0
  24. package/dist/components/Toolbar.d.ts +3 -0
  25. package/dist/components/Toolbar.d.ts.map +1 -0
  26. package/dist/components/index.d.ts +12 -0
  27. package/dist/components/index.d.ts.map +1 -0
  28. package/dist/constants/dimensions.d.ts +25 -0
  29. package/dist/constants/dimensions.d.ts.map +1 -0
  30. package/dist/constants/index.d.ts +3 -0
  31. package/dist/constants/index.d.ts.map +1 -0
  32. package/dist/constants/page-layout.d.ts +11 -0
  33. package/dist/constants/page-layout.d.ts.map +1 -0
  34. package/dist/context/document-context.d.ts +108 -0
  35. package/dist/context/document-context.d.ts.map +1 -0
  36. package/dist/context/document-provider.d.ts +10 -0
  37. package/dist/context/document-provider.d.ts.map +1 -0
  38. package/dist/context/document-reducer.d.ts +8 -0
  39. package/dist/context/document-reducer.d.ts.map +1 -0
  40. package/dist/context/index.d.ts +5 -0
  41. package/dist/context/index.d.ts.map +1 -0
  42. package/dist/engine/index.d.ts +7 -0
  43. package/dist/engine/index.d.ts.map +1 -0
  44. package/dist/engine/measure.d.ts +15 -0
  45. package/dist/engine/measure.d.ts.map +1 -0
  46. package/dist/engine/overflow.d.ts +28 -0
  47. package/dist/engine/overflow.d.ts.map +1 -0
  48. package/dist/engine/paginate.d.ts +12 -0
  49. package/dist/engine/paginate.d.ts.map +1 -0
  50. package/dist/engine/reflow.d.ts +22 -0
  51. package/dist/engine/reflow.d.ts.map +1 -0
  52. package/dist/hooks/index.d.ts +4 -0
  53. package/dist/hooks/index.d.ts.map +1 -0
  54. package/dist/hooks/use-header-footer.d.ts +10 -0
  55. package/dist/hooks/use-header-footer.d.ts.map +1 -0
  56. package/dist/hooks/use-overflow-detection.d.ts +11 -0
  57. package/dist/hooks/use-overflow-detection.d.ts.map +1 -0
  58. package/dist/hooks/use-pagination.d.ts +22 -0
  59. package/dist/hooks/use-pagination.d.ts.map +1 -0
  60. package/dist/index.d.ts +9 -0
  61. package/dist/index.d.ts.map +1 -0
  62. package/dist/lex4-editor.cjs +3774 -0
  63. package/dist/lex4-editor.cjs.map +1 -0
  64. package/dist/lex4-editor.js +3774 -0
  65. package/dist/lex4-editor.js.map +1 -0
  66. package/dist/lexical/commands/format-commands.d.ts +14 -0
  67. package/dist/lexical/commands/format-commands.d.ts.map +1 -0
  68. package/dist/lexical/commands/index.d.ts +4 -0
  69. package/dist/lexical/commands/index.d.ts.map +1 -0
  70. package/dist/lexical/commands/list-commands.d.ts +25 -0
  71. package/dist/lexical/commands/list-commands.d.ts.map +1 -0
  72. package/dist/lexical/editor-setup.d.ts +10 -0
  73. package/dist/lexical/editor-setup.d.ts.map +1 -0
  74. package/dist/lexical/index.d.ts +8 -0
  75. package/dist/lexical/index.d.ts.map +1 -0
  76. package/dist/lexical/plugins/active-editor-plugin.d.ts +16 -0
  77. package/dist/lexical/plugins/active-editor-plugin.d.ts.map +1 -0
  78. package/dist/lexical/plugins/font-plugin.d.ts +19 -0
  79. package/dist/lexical/plugins/font-plugin.d.ts.map +1 -0
  80. package/dist/lexical/plugins/height-limit-plugin.d.ts +15 -0
  81. package/dist/lexical/plugins/height-limit-plugin.d.ts.map +1 -0
  82. package/dist/lexical/plugins/history-capture-plugin.d.ts +8 -0
  83. package/dist/lexical/plugins/history-capture-plugin.d.ts.map +1 -0
  84. package/dist/lexical/plugins/index.d.ts +9 -0
  85. package/dist/lexical/plugins/index.d.ts.map +1 -0
  86. package/dist/lexical/plugins/overflow-plugin.d.ts +22 -0
  87. package/dist/lexical/plugins/overflow-plugin.d.ts.map +1 -0
  88. package/dist/lexical/plugins/page-boundary-plugin.d.ts +9 -0
  89. package/dist/lexical/plugins/page-boundary-plugin.d.ts.map +1 -0
  90. package/dist/lexical/plugins/paragraph-indent-plugin.d.ts +7 -0
  91. package/dist/lexical/plugins/paragraph-indent-plugin.d.ts.map +1 -0
  92. package/dist/lexical/plugins/paste-plugin.d.ts +9 -0
  93. package/dist/lexical/plugins/paste-plugin.d.ts.map +1 -0
  94. package/dist/lexical/plugins/tab-indent-plugin.d.ts +9 -0
  95. package/dist/lexical/plugins/tab-indent-plugin.d.ts.map +1 -0
  96. package/dist/lexical/theme.d.ts +7 -0
  97. package/dist/lexical/theme.d.ts.map +1 -0
  98. package/dist/style.css +1065 -0
  99. package/dist/types/document.d.ts +40 -0
  100. package/dist/types/document.d.ts.map +1 -0
  101. package/dist/types/editor-props.d.ts +19 -0
  102. package/dist/types/editor-props.d.ts.map +1 -0
  103. package/dist/types/history.d.ts +43 -0
  104. package/dist/types/history.d.ts.map +1 -0
  105. package/dist/types/index.d.ts +5 -0
  106. package/dist/types/index.d.ts.map +1 -0
  107. package/dist/types/page.d.ts +26 -0
  108. package/dist/types/page.d.ts.map +1 -0
  109. package/dist/utils/debug.d.ts +41 -0
  110. package/dist/utils/debug.d.ts.map +1 -0
  111. package/dist/utils/editor-state-utils.d.ts +48 -0
  112. package/dist/utils/editor-state-utils.d.ts.map +1 -0
  113. package/dist/utils/history-manager.d.ts +26 -0
  114. package/dist/utils/history-manager.d.ts.map +1 -0
  115. package/dist/utils/index.d.ts +3 -0
  116. package/dist/utils/index.d.ts.map +1 -0
  117. package/package.json +80 -0
@@ -0,0 +1,22 @@
1
+ import { DocumentAction } from '../context/document-context';
2
+ import { Lex4Document } from '../types/document';
3
+ /**
4
+ * usePagination — Orchestrates content flow between pages.
5
+ *
6
+ * When a page body overflows, this hook:
7
+ * 1. Measures which nodes fit within the body height
8
+ * 2. Splits the editor state at the overflow point
9
+ * 3. Moves overflow content to the next page (creating it if needed)
10
+ * 4. Cascades forward through all subsequent pages
11
+ *
12
+ * When a page body underflows (content deleted), it:
13
+ * 1. Checks if the next page has content that fits
14
+ * 2. Pulls content back from the next page
15
+ * 3. Removes empty trailing pages
16
+ */
17
+ export declare function usePagination(document: Lex4Document, dispatch: React.Dispatch<DocumentAction>): {
18
+ handlePageOverflow: (pageIndex: number) => void;
19
+ handlePageUnderflow: (pageIndex: number) => void;
20
+ reflowAll: () => void;
21
+ };
22
+ //# sourceMappingURL=use-pagination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-pagination.d.ts","sourceRoot":"","sources":["../../src/hooks/use-pagination.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAQlE,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,mBAAmB,CAAC;AAGjE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC;oCA2C1B,MAAM;qCAoFN,MAAM;;EAgJrB"}
@@ -0,0 +1,9 @@
1
+ export { Lex4Editor } from './components/Lex4Editor';
2
+ export type { Lex4EditorProps } from './types/editor-props';
3
+ export type { Lex4Document, PageState } from './types/document';
4
+ export { createEmptyDocument, createEmptyPage } from './types/document';
5
+ export { A4_WIDTH_PX, A4_HEIGHT_PX, A4_WIDTH_MM, A4_HEIGHT_MM, MAX_HEADER_HEIGHT_PX, MAX_FOOTER_HEIGHT_PX, } from './constants/dimensions';
6
+ export { usePagination } from './hooks/use-pagination';
7
+ export { useOverflowDetection } from './hooks/use-overflow-detection';
8
+ export { useHeaderFooter } from './hooks/use-header-footer';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExE,OAAO,EACL,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC"}