@open-press/core 0.3.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 (90) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +36 -0
  3. package/engine/chrome-pdf.d.mts +34 -0
  4. package/engine/chrome-pdf.mjs +344 -0
  5. package/engine/cli.mjs +93 -0
  6. package/engine/commands/_shared.mjs +170 -0
  7. package/engine/commands/deploy.mjs +31 -0
  8. package/engine/commands/dev.mjs +26 -0
  9. package/engine/commands/export.mjs +8 -0
  10. package/engine/commands/init.mjs +24 -0
  11. package/engine/commands/inspect.mjs +35 -0
  12. package/engine/commands/migrate-to-react.mjs +27 -0
  13. package/engine/commands/pdf.mjs +26 -0
  14. package/engine/commands/preview.mjs +26 -0
  15. package/engine/commands/render.mjs +17 -0
  16. package/engine/commands/replace.mjs +41 -0
  17. package/engine/commands/search.mjs +33 -0
  18. package/engine/commands/typecheck.mjs +5 -0
  19. package/engine/commands/validate.mjs +17 -0
  20. package/engine/config.d.mts +40 -0
  21. package/engine/config.mjs +160 -0
  22. package/engine/deploy-sync.mjs +15 -0
  23. package/engine/document-export.mjs +15 -0
  24. package/engine/file-utils.mjs +106 -0
  25. package/engine/fonts.mjs +62 -0
  26. package/engine/init.mjs +90 -0
  27. package/engine/inspection.mjs +348 -0
  28. package/engine/issue-report.mjs +44 -0
  29. package/engine/katex-assets.mjs +45 -0
  30. package/engine/page-block.mjs +30 -0
  31. package/engine/page-renderer.mjs +217 -0
  32. package/engine/pdf-media.mjs +45 -0
  33. package/engine/public-assets.mjs +19 -0
  34. package/engine/react/chapter-css.mjs +53 -0
  35. package/engine/react/comment-endpoint.d.mts +11 -0
  36. package/engine/react/comment-endpoint.mjs +128 -0
  37. package/engine/react/comment-marker.mjs +306 -0
  38. package/engine/react/document-entry.mjs +253 -0
  39. package/engine/react/document-export.mjs +392 -0
  40. package/engine/react/mdx-compile.mjs +295 -0
  41. package/engine/react/measurement-css.mjs +44 -0
  42. package/engine/react/migrate-to-react.mjs +355 -0
  43. package/engine/react/pagination-constants.mjs +3 -0
  44. package/engine/react/pagination.mjs +121 -0
  45. package/engine/react/project-asset-endpoint.d.mts +10 -0
  46. package/engine/react/project-asset-endpoint.mjs +379 -0
  47. package/engine/react/workspace-discovery.mjs +156 -0
  48. package/engine/source-text-tools.mjs +280 -0
  49. package/engine/source-workspace.mjs +76 -0
  50. package/engine/static-server.mjs +493 -0
  51. package/engine/validation.mjs +172 -0
  52. package/index.html +13 -0
  53. package/package.json +86 -0
  54. package/src/openpress/App.tsx +127 -0
  55. package/src/openpress/composerMentions.ts +188 -0
  56. package/src/openpress/core/basePages.tsx +87 -0
  57. package/src/openpress/core/index.tsx +20 -0
  58. package/src/openpress/core/types.ts +71 -0
  59. package/src/openpress/frameScheduler.ts +32 -0
  60. package/src/openpress/indexes.ts +329 -0
  61. package/src/openpress/inspector.ts +282 -0
  62. package/src/openpress/pageRoute.ts +21 -0
  63. package/src/openpress/pagination.ts +845 -0
  64. package/src/openpress/projectIdentity.ts +15 -0
  65. package/src/openpress/projectSources.ts +24 -0
  66. package/src/openpress/projectWorkspace.tsx +919 -0
  67. package/src/openpress/publicPage.tsx +469 -0
  68. package/src/openpress/reactDocumentMetadata.ts +41 -0
  69. package/src/openpress/readerPageRegistry.ts +41 -0
  70. package/src/openpress/readerRuntime.ts +230 -0
  71. package/src/openpress/readerScroll.ts +92 -0
  72. package/src/openpress/readerState.ts +15 -0
  73. package/src/openpress/renderer.tsx +91 -0
  74. package/src/openpress/runtimeMode.ts +22 -0
  75. package/src/openpress/types.ts +112 -0
  76. package/src/openpress/workbench.tsx +1299 -0
  77. package/src/openpress/workbenchPanels.tsx +122 -0
  78. package/src/openpress/workbenchTypes.ts +4 -0
  79. package/src/styles/openpress/app-shell.css +251 -0
  80. package/src/styles/openpress/media-workspace.css +230 -0
  81. package/src/styles/openpress/print-route.css +186 -0
  82. package/src/styles/openpress/project-workspace.css +1318 -0
  83. package/src/styles/openpress/public-viewer.css +983 -0
  84. package/src/styles/openpress/reader-runtime.css +792 -0
  85. package/src/styles/openpress/responsive.css +384 -0
  86. package/src/styles/openpress/workbench-panels.css +558 -0
  87. package/src/styles/openpress/workbench.css +720 -0
  88. package/src/styles/openpress.css +14 -0
  89. package/tsconfig.json +37 -0
  90. package/vite.config.ts +512 -0
@@ -0,0 +1,186 @@
1
+ @media print {
2
+ @page {
3
+ size: var(--openpress-page-width) var(--openpress-page-height);
4
+ margin: 0;
5
+ }
6
+
7
+ :root {
8
+ color-scheme: light;
9
+ background: #fff !important;
10
+ }
11
+
12
+ *,
13
+ *::before,
14
+ *::after {
15
+ -webkit-print-color-adjust: exact !important;
16
+ print-color-adjust: exact !important;
17
+ }
18
+
19
+ html,
20
+ body,
21
+ #root {
22
+ width: auto !important;
23
+ height: auto !important;
24
+ min-height: 0 !important;
25
+ overflow: visible !important;
26
+ background: #fff !important;
27
+ }
28
+
29
+ .openpress-workbench,
30
+ .openpress-public-shell,
31
+ .openpress-reader-app,
32
+ .openpress-reader-app.is-closed-left,
33
+ .openpress-reader-app.is-closed-right,
34
+ .openpress-reader-app.is-closed-left.is-closed-right,
35
+ .openpress-public-viewer.reader-app,
36
+ .openpress-public-viewer.openpress-reader-app {
37
+ position: static !important;
38
+ inset: auto !important;
39
+ display: block !important;
40
+ width: auto !important;
41
+ height: auto !important;
42
+ min-height: 0 !important;
43
+ overflow: visible !important;
44
+ background: #fff !important;
45
+ }
46
+
47
+ .reader-navbar,
48
+ .reader-side-nav,
49
+ .reader-thumb-strip,
50
+ .openpress-workspace-navbar,
51
+ .openpress-workspace-panel,
52
+ .openpress-public-identity,
53
+ .openpress-html-page__toolbar {
54
+ display: none !important;
55
+ }
56
+
57
+ .openpress-workbench__stage,
58
+ .openpress-public-viewer__stage,
59
+ .openpress-reader-app .reader-stage,
60
+ .openpress-public-viewer .openpress-public-viewer__stage {
61
+ display: block !important;
62
+ width: auto !important;
63
+ height: auto !important;
64
+ min-height: 0 !important;
65
+ overflow: visible !important;
66
+ padding: 0 !important;
67
+ background: #fff !important;
68
+ }
69
+
70
+ .openpress-reader-app .reader-pages,
71
+ .openpress-public-viewer .reader-pages {
72
+ display: block !important;
73
+ width: var(--openpress-page-width) !important;
74
+ min-height: 0 !important;
75
+ padding: 0 !important;
76
+ margin: 0 !important;
77
+ gap: 0 !important;
78
+ background: #fff !important;
79
+ --reader-page-width: var(--openpress-page-width);
80
+ }
81
+
82
+ .openpress-public-viewer .openpress-html-page,
83
+ .openpress-html-page {
84
+ display: block !important;
85
+ width: var(--openpress-page-width) !important;
86
+ max-width: none !important;
87
+ height: var(--openpress-page-height) !important;
88
+ min-height: var(--openpress-page-height) !important;
89
+ margin: 0 !important;
90
+ overflow: hidden !important;
91
+ background: #fff !important;
92
+ break-after: page;
93
+ break-inside: avoid;
94
+ page-break-after: always;
95
+ page-break-inside: avoid;
96
+ }
97
+
98
+ .openpress-public-viewer .openpress-html-page:last-child,
99
+ .openpress-html-page:last-child {
100
+ break-after: auto;
101
+ page-break-after: auto;
102
+ }
103
+
104
+ .openpress-html-page__html {
105
+ display: block !important;
106
+ width: var(--openpress-page-width) !important;
107
+ max-width: none !important;
108
+ height: var(--openpress-page-height) !important;
109
+ min-height: var(--openpress-page-height) !important;
110
+ max-height: none !important;
111
+ margin: 0 !important;
112
+ overflow: hidden !important;
113
+ background: #fff !important;
114
+ box-shadow: none !important;
115
+ outline: 0 !important;
116
+ transform: none !important;
117
+ animation: none !important;
118
+ transition: none !important;
119
+ }
120
+
121
+ .openpress-html-page__html .reader-page,
122
+ .openpress-html-page__html .reader-page--cover,
123
+ .openpress-html-page__html .reader-page--back-cover {
124
+ display: block !important;
125
+ width: var(--openpress-page-width) !important;
126
+ max-width: none !important;
127
+ height: var(--openpress-page-height) !important;
128
+ min-height: var(--openpress-page-height) !important;
129
+ max-height: none !important;
130
+ margin: 0 !important;
131
+ overflow: hidden !important;
132
+ box-shadow: none !important;
133
+ outline: 0 !important;
134
+ transform: none !important;
135
+ animation: none !important;
136
+ transition: none !important;
137
+ }
138
+
139
+ .openpress-html-page__html .reader-page--cover,
140
+ .openpress-html-page__html .reader-page--back-cover {
141
+ display: flex !important;
142
+ }
143
+
144
+ .openpress-print-document .reader-page.measurement,
145
+ .openpress-public-viewer .reader-page.measurement,
146
+ .reader-page.measurement {
147
+ display: block !important;
148
+ width: var(--openpress-page-width) !important;
149
+ max-width: none !important;
150
+ height: var(--openpress-page-height) !important;
151
+ min-height: var(--openpress-page-height) !important;
152
+ max-height: none !important;
153
+ margin: 0 !important;
154
+ overflow: hidden !important;
155
+ box-shadow: none !important;
156
+ }
157
+
158
+ .openpress-print-document .openpress-html-page {
159
+ break-before: auto !important;
160
+ break-after: page !important;
161
+ break-inside: avoid !important;
162
+ page-break-before: auto !important;
163
+ page-break-after: always !important;
164
+ page-break-inside: avoid !important;
165
+ }
166
+
167
+ .openpress-print-document .openpress-html-page:last-child {
168
+ break-after: auto !important;
169
+ page-break-after: auto !important;
170
+ }
171
+
172
+ .openpress-print-document h2,
173
+ .openpress-print-document h3,
174
+ .openpress-print-document h4,
175
+ .openpress-print-document figure,
176
+ .openpress-print-document table,
177
+ .openpress-print-document .toc-list,
178
+ .openpress-print-document .reader-page--content .page-body > h2:first-child {
179
+ break-before: auto !important;
180
+ break-after: auto !important;
181
+ break-inside: auto !important;
182
+ page-break-before: auto !important;
183
+ page-break-after: auto !important;
184
+ page-break-inside: auto !important;
185
+ }
186
+ }