@open-press/cli 1.0.0 → 1.1.1

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 (175) hide show
  1. package/README.md +11 -12
  2. package/dist/cli.js +298 -79
  3. package/package.json +9 -7
  4. package/template/core/AGENTS.md +0 -130
  5. package/template/core/CHANGELOG.md +0 -218
  6. package/template/core/README.md +0 -43
  7. package/template/core/engine/cli.mjs +0 -96
  8. package/template/core/engine/commands/_shared.mjs +0 -199
  9. package/template/core/engine/commands/deploy.mjs +0 -31
  10. package/template/core/engine/commands/dev.mjs +0 -49
  11. package/template/core/engine/commands/doctor.mjs +0 -229
  12. package/template/core/engine/commands/export.mjs +0 -8
  13. package/template/core/engine/commands/image.mjs +0 -29
  14. package/template/core/engine/commands/inspect.mjs +0 -35
  15. package/template/core/engine/commands/pdf.mjs +0 -26
  16. package/template/core/engine/commands/preview.mjs +0 -26
  17. package/template/core/engine/commands/render.mjs +0 -17
  18. package/template/core/engine/commands/replace.mjs +0 -41
  19. package/template/core/engine/commands/search.mjs +0 -33
  20. package/template/core/engine/commands/skills-sync.mjs +0 -71
  21. package/template/core/engine/commands/typecheck.mjs +0 -67
  22. package/template/core/engine/commands/upgrade.mjs +0 -159
  23. package/template/core/engine/commands/validate.mjs +0 -17
  24. package/template/core/engine/document-export.mjs +0 -15
  25. package/template/core/engine/output/chrome-pdf.d.mts +0 -34
  26. package/template/core/engine/output/chrome-pdf.mjs +0 -450
  27. package/template/core/engine/output/deploy-sync.mjs +0 -15
  28. package/template/core/engine/output/fonts.mjs +0 -62
  29. package/template/core/engine/output/katex-assets.mjs +0 -45
  30. package/template/core/engine/output/page-block.mjs +0 -30
  31. package/template/core/engine/output/pdf-media.mjs +0 -45
  32. package/template/core/engine/output/public-assets.mjs +0 -19
  33. package/template/core/engine/output/static-server.mjs +0 -571
  34. package/template/core/engine/react/caption-numbering.mjs +0 -73
  35. package/template/core/engine/react/comment-endpoint.d.mts +0 -11
  36. package/template/core/engine/react/comment-endpoint.mjs +0 -102
  37. package/template/core/engine/react/comment-marker.mjs +0 -374
  38. package/template/core/engine/react/document-entry.mjs +0 -331
  39. package/template/core/engine/react/document-export.mjs +0 -512
  40. package/template/core/engine/react/http-json.mjs +0 -24
  41. package/template/core/engine/react/mdx-compile.mjs +0 -629
  42. package/template/core/engine/react/measurement-css.mjs +0 -157
  43. package/template/core/engine/react/object-entities.mjs +0 -204
  44. package/template/core/engine/react/pagination/allocator.mjs +0 -167
  45. package/template/core/engine/react/pagination/regions.mjs +0 -81
  46. package/template/core/engine/react/pagination-constants.mjs +0 -3
  47. package/template/core/engine/react/pagination.mjs +0 -9
  48. package/template/core/engine/react/pipeline/allocate.mjs +0 -217
  49. package/template/core/engine/react/pipeline/final-render.mjs +0 -94
  50. package/template/core/engine/react/pipeline/frame-measurement.mjs +0 -306
  51. package/template/core/engine/react/pipeline/press-tree.mjs +0 -135
  52. package/template/core/engine/react/press-tree-inspection.mjs +0 -172
  53. package/template/core/engine/react/project-asset-endpoint.d.mts +0 -10
  54. package/template/core/engine/react/project-asset-endpoint.mjs +0 -361
  55. package/template/core/engine/react/section-css.mjs +0 -56
  56. package/template/core/engine/react/source-edit-endpoint.d.mts +0 -10
  57. package/template/core/engine/react/source-edit-endpoint.mjs +0 -75
  58. package/template/core/engine/react/sources/heading-numbering.mjs +0 -132
  59. package/template/core/engine/react/sources/mdx-resolver.mjs +0 -439
  60. package/template/core/engine/react/style-discovery.mjs +0 -160
  61. package/template/core/engine/runtime/config.d.mts +0 -48
  62. package/template/core/engine/runtime/config.mjs +0 -172
  63. package/template/core/engine/runtime/file-utils.mjs +0 -114
  64. package/template/core/engine/runtime/file-walk.mjs +0 -22
  65. package/template/core/engine/runtime/inspection.mjs +0 -328
  66. package/template/core/engine/runtime/issue-report.mjs +0 -44
  67. package/template/core/engine/runtime/page-geometry.mjs +0 -131
  68. package/template/core/engine/runtime/path-utils.mjs +0 -20
  69. package/template/core/engine/runtime/source-text-tools.d.mts +0 -102
  70. package/template/core/engine/runtime/source-text-tools.mjs +0 -832
  71. package/template/core/engine/runtime/source-workspace.mjs +0 -168
  72. package/template/core/engine/runtime/validation.mjs +0 -183
  73. package/template/core/index.html +0 -13
  74. package/template/core/openpress.config.mjs +0 -8
  75. package/template/core/package.json +0 -89
  76. package/template/core/src/main.tsx +0 -16
  77. package/template/core/src/openpress/app/OpenPressApp.tsx +0 -296
  78. package/template/core/src/openpress/app/OpenPressRuntime.tsx +0 -102
  79. package/template/core/src/openpress/app/WorkspaceGalleryPage.tsx +0 -219
  80. package/template/core/src/openpress/app/index.ts +0 -2
  81. package/template/core/src/openpress/core/Frame.tsx +0 -91
  82. package/template/core/src/openpress/core/FrameContext.tsx +0 -26
  83. package/template/core/src/openpress/core/MdxArea.tsx +0 -34
  84. package/template/core/src/openpress/core/Press.tsx +0 -55
  85. package/template/core/src/openpress/core/Workspace.tsx +0 -36
  86. package/template/core/src/openpress/core/cn.ts +0 -4
  87. package/template/core/src/openpress/core/index.tsx +0 -47
  88. package/template/core/src/openpress/core/primitives.tsx +0 -91
  89. package/template/core/src/openpress/core/types.ts +0 -236
  90. package/template/core/src/openpress/core/useSource.ts +0 -28
  91. package/template/core/src/openpress/document-model/anchorMapModel.ts +0 -27
  92. package/template/core/src/openpress/document-model/documentIndexes.ts +0 -329
  93. package/template/core/src/openpress/document-model/documentTypes.ts +0 -147
  94. package/template/core/src/openpress/document-model/index.ts +0 -7
  95. package/template/core/src/openpress/document-model/objectEntityModel.ts +0 -55
  96. package/template/core/src/openpress/document-model/projectIdentityModel.ts +0 -15
  97. package/template/core/src/openpress/document-model/reactDocumentMetadataModel.ts +0 -27
  98. package/template/core/src/openpress/document-model/workspaceManifestModel.ts +0 -57
  99. package/template/core/src/openpress/manuscript/index.tsx +0 -238
  100. package/template/core/src/openpress/mdx/index.ts +0 -96
  101. package/template/core/src/openpress/numbering/index.ts +0 -294
  102. package/template/core/src/openpress/reader/PageThumbnailsPanel.tsx +0 -168
  103. package/template/core/src/openpress/reader/PublicReaderPage.tsx +0 -267
  104. package/template/core/src/openpress/reader/ReaderNavigationPanel.tsx +0 -123
  105. package/template/core/src/openpress/reader/index.ts +0 -11
  106. package/template/core/src/openpress/reader/pageViewportScaleModel.ts +0 -73
  107. package/template/core/src/openpress/reader/readerPageRegistry.ts +0 -41
  108. package/template/core/src/openpress/reader/readerPageRoute.ts +0 -21
  109. package/template/core/src/openpress/reader/readerScroll.ts +0 -92
  110. package/template/core/src/openpress/reader/readerStateModel.ts +0 -15
  111. package/template/core/src/openpress/reader/readerTypes.ts +0 -4
  112. package/template/core/src/openpress/reader/usePageViewportScale.ts +0 -119
  113. package/template/core/src/openpress/reader/usePanelState.ts +0 -56
  114. package/template/core/src/openpress/reader/useReaderHashSync.ts +0 -61
  115. package/template/core/src/openpress/reader/useReaderKeyboardNav.ts +0 -48
  116. package/template/core/src/openpress/reader/useReaderRuntime.ts +0 -146
  117. package/template/core/src/openpress/reader/useReaderScrollAnchor.ts +0 -64
  118. package/template/core/src/openpress/shared/Panel.tsx +0 -77
  119. package/template/core/src/openpress/shared/frameScheduler.ts +0 -32
  120. package/template/core/src/openpress/shared/index.ts +0 -4
  121. package/template/core/src/openpress/shared/numberUtils.ts +0 -3
  122. package/template/core/src/openpress/shared/runtimeMode.ts +0 -11
  123. package/template/core/src/openpress/workbench/Workbench.tsx +0 -506
  124. package/template/core/src/openpress/workbench/actions/DeploymentControl.tsx +0 -157
  125. package/template/core/src/openpress/workbench/actions/ExportImageControl.tsx +0 -96
  126. package/template/core/src/openpress/workbench/actions/PageZoomControl.tsx +0 -182
  127. package/template/core/src/openpress/workbench/actions/SearchControl.tsx +0 -345
  128. package/template/core/src/openpress/workbench/actions/deploymentStatusModel.ts +0 -112
  129. package/template/core/src/openpress/workbench/actions/index.ts +0 -6
  130. package/template/core/src/openpress/workbench/actions/useDeploymentWorkbench.ts +0 -136
  131. package/template/core/src/openpress/workbench/dialog/WorkbenchDialog.tsx +0 -72
  132. package/template/core/src/openpress/workbench/dialog/index.ts +0 -1
  133. package/template/core/src/openpress/workbench/document/components/DocumentPanel.tsx +0 -127
  134. package/template/core/src/openpress/workbench/document/components/InlineSourceEditorLayer.tsx +0 -207
  135. package/template/core/src/openpress/workbench/document/components/ReaderStage.tsx +0 -9
  136. package/template/core/src/openpress/workbench/document/hooks/useDocumentWorkbenchModel.ts +0 -34
  137. package/template/core/src/openpress/workbench/document/hooks/useInlineDocumentEditor.ts +0 -525
  138. package/template/core/src/openpress/workbench/document/index.ts +0 -10
  139. package/template/core/src/openpress/workbench/index.ts +0 -2
  140. package/template/core/src/openpress/workbench/inspector/InlineInspectorLayer.tsx +0 -459
  141. package/template/core/src/openpress/workbench/inspector/index.ts +0 -5
  142. package/template/core/src/openpress/workbench/inspector/inlineCommentModel.ts +0 -125
  143. package/template/core/src/openpress/workbench/inspector/inspectorGeometryModel.ts +0 -160
  144. package/template/core/src/openpress/workbench/inspector/inspectorModel.ts +0 -408
  145. package/template/core/src/openpress/workbench/inspector/useInspectorComments.ts +0 -254
  146. package/template/core/src/openpress/workbench/mentions/MentionSuggestionList.tsx +0 -41
  147. package/template/core/src/openpress/workbench/mentions/index.ts +0 -2
  148. package/template/core/src/openpress/workbench/mentions/useComposerMentions.ts +0 -185
  149. package/template/core/src/openpress/workbench/panels/Panel.tsx +0 -1
  150. package/template/core/src/openpress/workbench/panels/PendingCommentsPanel.tsx +0 -80
  151. package/template/core/src/openpress/workbench/panels/WorkbenchControlPanel.tsx +0 -29
  152. package/template/core/src/openpress/workbench/panels/index.ts +0 -3
  153. package/template/core/src/openpress/workbench/project/ProjectEntryPanel.tsx +0 -525
  154. package/template/core/src/openpress/workbench/project/ProjectPreviewDialog.tsx +0 -35
  155. package/template/core/src/openpress/workbench/project/index.ts +0 -2
  156. package/template/core/src/openpress/workbench/project/projectPreviewTypes.ts +0 -11
  157. package/template/core/src/openpress/workbench/project/projectSourceModel.ts +0 -24
  158. package/template/core/src/openpress/workbench/shell/WorkbenchShell.tsx +0 -167
  159. package/template/core/src/openpress/workbench/shell/index.ts +0 -1
  160. package/template/core/src/openpress/workbench/workbenchFormatters.ts +0 -120
  161. package/template/core/src/openpress/workbench/workbenchTypes.ts +0 -35
  162. package/template/core/src/styles/openpress/app-shell.css +0 -251
  163. package/template/core/src/styles/openpress/media-workspace.css +0 -230
  164. package/template/core/src/styles/openpress/print-route.css +0 -184
  165. package/template/core/src/styles/openpress/project-preview-panel.css +0 -924
  166. package/template/core/src/styles/openpress/public-viewer.css +0 -688
  167. package/template/core/src/styles/openpress/reader-runtime.css +0 -989
  168. package/template/core/src/styles/openpress/responsive.css +0 -245
  169. package/template/core/src/styles/openpress/workbench-panels.css +0 -707
  170. package/template/core/src/styles/openpress/workbench.css +0 -1255
  171. package/template/core/src/styles/openpress/workspace-gallery.css +0 -300
  172. package/template/core/src/styles/openpress.css +0 -15
  173. package/template/core/src/vite-env.d.ts +0 -9
  174. package/template/core/tsconfig.json +0 -40
  175. package/template/core/vite.config.ts +0 -584
@@ -1,688 +0,0 @@
1
- .openpress-public-viewer.reader-app,
2
- .openpress-public-viewer.openpress-reader-app {
3
- width: 100%;
4
- height: 100dvh;
5
- min-height: 100dvh;
6
- --openpress-public-nav-min-width: 340px;
7
- --openpress-public-nav-max-width: 420px;
8
- --openpress-public-page-width: var(--openpress-page-width);
9
- --openpress-public-nav-width: clamp(var(--openpress-public-nav-min-width), calc(100vw - var(--openpress-public-page-width) - 48px), var(--openpress-public-nav-max-width));
10
- --openpress-public-nav-max-height: 960px;
11
- display: grid;
12
- grid-template-rows: minmax(0, 1fr);
13
- grid-template-columns: var(--openpress-public-nav-width) minmax(0, 1fr);
14
- grid-template-areas: "left main";
15
- overflow: hidden;
16
- background: #141414;
17
- }
18
-
19
- .openpress-dev-public-viewer {
20
- position: relative;
21
- }
22
-
23
- .openpress-public-viewer .openpress-public-viewer__stage {
24
- min-width: 0;
25
- min-height: 0;
26
- container-type: inline-size;
27
- overflow: hidden;
28
- overscroll-behavior: none;
29
- touch-action: pan-y pinch-zoom;
30
- background: #141414;
31
- }
32
-
33
- .openpress-public-viewer .openpress-dev-main-content {
34
- grid-area: main;
35
- }
36
-
37
- .openpress-public-viewer .reader-stage {
38
- overflow-x: auto;
39
- overflow-y: auto;
40
- overscroll-behavior-x: contain;
41
- overscroll-behavior-y: contain;
42
- -webkit-overflow-scrolling: touch;
43
- touch-action: pan-y pinch-zoom;
44
- }
45
-
46
- .openpress-public-viewer .reader-pages {
47
- padding: 30px 24px 56px;
48
- }
49
-
50
- .openpress-public-viewer .openpress-html-page {
51
- width: calc(var(--openpress-page-width) * var(--openpress-page-viewport-scale, 1));
52
- max-width: none;
53
- height: calc(var(--openpress-page-height) * var(--openpress-page-viewport-scale, 1));
54
- margin: 0;
55
- }
56
-
57
- .openpress-public-viewer .openpress-html-page__html .reader-page {
58
- width: var(--openpress-page-width);
59
- max-width: none;
60
- height: var(--openpress-page-height);
61
- min-height: var(--openpress-page-height);
62
- aspect-ratio: var(--openpress-page-aspect-ratio, 210 / 297);
63
- }
64
-
65
- .openpress-public-viewer .reader-side-nav {
66
- position: relative;
67
- z-index: 2;
68
- grid-area: left;
69
- grid-template-rows: auto auto minmax(0, 1fr) auto;
70
- }
71
-
72
- /* FAB / scrim / drawer-close: hidden on desktop, shown via media query */
73
- .openpress-public-fab,
74
- .openpress-public-scrim,
75
- .openpress-public-drawer-close {
76
- display: none;
77
- }
78
-
79
-
80
- .openpress-public-viewer .openpress-public-navigation {
81
- align-self: center;
82
- min-width: 0;
83
- height: min(100vh, var(--openpress-public-nav-max-height));
84
- max-height: 100vh;
85
- margin-top: 0;
86
- border-right: 0;
87
- border-left: 0;
88
- overflow: hidden;
89
- background: #141414;
90
- grid-template-rows: auto auto minmax(0, 1fr) auto;
91
- }
92
-
93
- .openpress-public-viewer .openpress-dev-public-navigation {
94
- grid-template-rows: auto minmax(0, 1fr);
95
- }
96
-
97
- .openpress-public-identity {
98
- display: grid;
99
- gap: 8px;
100
- padding: 22px 22px 16px;
101
- }
102
-
103
- .openpress-public-identity > span {
104
- color: rgb(160 166 173 / 42%);
105
- font-size: 9px;
106
- font-weight: 500;
107
- line-height: 1;
108
- letter-spacing: 0.1em;
109
- text-transform: uppercase;
110
- }
111
-
112
- .openpress-public-identity strong {
113
- display: grid;
114
- gap: 4px;
115
- overflow: visible;
116
- max-width: none;
117
- color: rgb(242 242 240 / 92%);
118
- text-wrap: balance;
119
- word-break: keep-all;
120
- }
121
-
122
- .openpress-public-title-main {
123
- color: rgb(242 242 240 / 94%);
124
- font-family: var(--openpress-font-serif);
125
- font-size: 28px;
126
- font-weight: 500;
127
- line-height: 1.05;
128
- }
129
-
130
- .openpress-public-title-sub {
131
- overflow: hidden;
132
- max-width: min(18rem, 100%);
133
- color: rgb(214 218 222 / 78%);
134
- font-size: 13px;
135
- font-weight: 500;
136
- line-height: 1.42;
137
- text-overflow: ellipsis;
138
- white-space: nowrap;
139
- }
140
-
141
- .openpress-public-actions {
142
- display: flex;
143
- align-items: center;
144
- gap: 16px;
145
- flex-wrap: wrap;
146
- padding: 0 22px 18px;
147
- }
148
-
149
- .openpress-public-action-section {
150
- display: grid;
151
- gap: 8px;
152
- padding: 0 22px 16px;
153
- }
154
-
155
- .openpress-public-action-heading {
156
- color: rgb(160 166 173 / 46%);
157
- font-size: 9px;
158
- font-weight: 600;
159
- line-height: 1;
160
- letter-spacing: 0.12em;
161
- text-transform: uppercase;
162
- }
163
-
164
- .openpress-public-action-list {
165
- display: grid;
166
- border-top: 1px solid rgb(255 255 255 / 8%);
167
- }
168
-
169
- .openpress-public-action-entry {
170
- display: grid;
171
- grid-template-columns: 15px minmax(0, 1fr) auto;
172
- align-items: center;
173
- width: 100%;
174
- min-width: 0;
175
- min-height: 34px;
176
- gap: 8px;
177
- border: 0 !important;
178
- border-bottom: 1px solid rgb(255 255 255 / 7%) !important;
179
- padding: 8px 0 !important;
180
- background: transparent !important;
181
- box-shadow: none !important;
182
- color: rgb(198 204 210 / 76%);
183
- font: inherit;
184
- font-size: 11px;
185
- font-weight: 500;
186
- line-height: 1.25;
187
- letter-spacing: 0.04em;
188
- text-align: left;
189
- text-decoration: none;
190
- cursor: pointer;
191
- }
192
-
193
- .openpress-public-action-entry:hover:not(:disabled) {
194
- color: rgb(242 242 240 / 92%);
195
- }
196
-
197
- .openpress-public-action-entry:disabled {
198
- cursor: progress;
199
- opacity: 0.62;
200
- }
201
-
202
- .openpress-public-action-entry svg {
203
- width: 13px;
204
- height: 13px;
205
- color: currentColor;
206
- opacity: 0.78;
207
- }
208
-
209
- .openpress-public-action-entry__label {
210
- overflow: hidden;
211
- min-width: 0;
212
- text-overflow: ellipsis;
213
- white-space: nowrap;
214
- }
215
-
216
- .openpress-public-action-entry .openpress-dev-pdf-status {
217
- justify-self: end;
218
- overflow: hidden;
219
- min-width: 0;
220
- max-width: 100%;
221
- text-overflow: ellipsis;
222
- white-space: nowrap;
223
- }
224
-
225
- .openpress-public-action-entry .openpress-dev-deploy-status {
226
- justify-self: end;
227
- }
228
-
229
- .openpress-public-action-entry[data-openpress-deploy-status="dirty"] {
230
- color: rgb(240 182 76 / 92%);
231
- }
232
-
233
- .openpress-public-export-button {
234
- display: inline-flex;
235
- align-items: center;
236
- width: auto;
237
- height: auto;
238
- min-width: 0;
239
- justify-content: flex-start;
240
- gap: 6px;
241
- border: 0 !important;
242
- padding: 0 !important;
243
- background: transparent !important;
244
- box-shadow: none;
245
- color: rgb(198 204 210 / 68%);
246
- font-size: 11px;
247
- font-weight: 500;
248
- line-height: 1.3;
249
- letter-spacing: 0.08em;
250
- opacity: 0.88;
251
- text-decoration: none;
252
- cursor: pointer;
253
- }
254
-
255
- .openpress-public-export-button:hover:not(:disabled) {
256
- color: rgb(242 242 240 / 88%);
257
- opacity: 1;
258
- }
259
-
260
- .openpress-public-export-button:disabled {
261
- cursor: default;
262
- opacity: 0.5;
263
- }
264
-
265
- .openpress-public-export-button svg {
266
- width: 12px;
267
- height: 12px;
268
- color: currentColor;
269
- opacity: 0.8;
270
- }
271
-
272
- .openpress-public-export-button:focus-visible {
273
- outline: 1px solid rgb(242 242 240 / 28%);
274
- outline-offset: 4px;
275
- }
276
-
277
- .openpress-view-mode-section {
278
- padding-bottom: 18px;
279
- }
280
-
281
- .openpress-view-mode-toggle {
282
- display: grid;
283
- grid-template-columns: repeat(2, minmax(0, 1fr));
284
- gap: 6px;
285
- }
286
-
287
- .openpress-view-mode-toggle button {
288
- display: inline-flex;
289
- align-items: center;
290
- justify-content: center;
291
- gap: 6px;
292
- min-width: 0;
293
- min-height: 34px;
294
- border: 1px solid rgb(255 255 255 / 11%);
295
- border-radius: 0;
296
- padding: 0 10px;
297
- background: rgb(255 255 255 / 3%);
298
- color: rgb(198 204 210 / 72%);
299
- font: inherit;
300
- font-size: 11px;
301
- font-weight: 600;
302
- line-height: 1;
303
- letter-spacing: 0.04em;
304
- cursor: pointer;
305
- }
306
-
307
- .openpress-view-mode-toggle button:hover:not(:disabled),
308
- .openpress-view-mode-toggle button.is-active {
309
- border-color: rgb(242 242 240 / 38%);
310
- background: rgb(242 242 240 / 10%);
311
- color: rgb(242 242 240 / 95%);
312
- }
313
-
314
- .openpress-view-mode-toggle button:disabled {
315
- cursor: not-allowed;
316
- opacity: 0.42;
317
- }
318
-
319
- .openpress-view-mode-toggle svg {
320
- width: 13px;
321
- height: 13px;
322
- flex: 0 0 auto;
323
- }
324
-
325
- .openpress-dev-pdf-status {
326
- display: inline-flex;
327
- align-items: center;
328
- gap: 6px;
329
- max-width: 100%;
330
- color: rgb(198 204 210 / 70%);
331
- font-size: 10px;
332
- font-weight: 500;
333
- line-height: 1.4;
334
- }
335
-
336
- .openpress-dev-pdf-status__spinner {
337
- width: 10px;
338
- height: 10px;
339
- flex: 0 0 auto;
340
- border: 1px solid rgb(240 182 76 / 28%);
341
- border-top-color: rgb(240 182 76 / 90%);
342
- border-radius: 50%;
343
- animation: openpress-pdf-status-spin 0.8s linear infinite;
344
- }
345
-
346
- .openpress-dev-pdf-status[data-openpress-pdf-status="opening"] {
347
- color: rgb(110 231 160 / 82%);
348
- }
349
-
350
- .openpress-dev-pdf-status[data-openpress-pdf-status="opening"] .openpress-dev-pdf-status__spinner {
351
- border-color: rgb(110 231 160 / 30%);
352
- border-top-color: rgb(110 231 160 / 92%);
353
- }
354
-
355
- .openpress-dev-pdf-status[data-openpress-pdf-status="failed"] {
356
- color: rgb(248 113 113 / 86%);
357
- }
358
-
359
- .openpress-dev-pdf-status[data-openpress-pdf-status="failed"] .openpress-dev-pdf-status__spinner {
360
- border-color: rgb(248 113 113 / 30%);
361
- border-top-color: rgb(248 113 113 / 92%);
362
- animation: none;
363
- }
364
-
365
- @keyframes openpress-pdf-status-spin {
366
- to {
367
- transform: rotate(360deg);
368
- }
369
- }
370
-
371
- .openpress-dev-public-tools {
372
- display: grid;
373
- gap: 10px;
374
- padding: 0 22px 18px;
375
- }
376
-
377
- .openpress-dev-control-tabs {
378
- display: grid;
379
- grid-template-columns: repeat(3, minmax(0, 1fr));
380
- gap: 18px;
381
- border-bottom: 1px solid rgb(255 255 255 / 8%);
382
- }
383
-
384
- .openpress-dev-project-tabs {
385
- display: grid;
386
- width: fit-content;
387
- grid-template-columns: repeat(2, max-content);
388
- gap: 18px;
389
- border-bottom: 1px solid rgb(255 255 255 / 8%);
390
- }
391
-
392
- .openpress-dev-control-tabs button,
393
- .openpress-dev-project-tabs button,
394
- .openpress-dev-deploy-button {
395
- position: relative;
396
- min-width: 0;
397
- border: 0;
398
- background: transparent;
399
- color: rgb(180 186 193 / 72%);
400
- font: inherit;
401
- cursor: pointer;
402
- }
403
-
404
- .openpress-dev-control-tabs button,
405
- .openpress-dev-project-tabs button {
406
- display: inline-flex;
407
- align-items: center;
408
- justify-content: flex-start;
409
- gap: 6px;
410
- padding: 0 0 10px;
411
- font-size: 12px;
412
- font-weight: 500;
413
- line-height: 1.2;
414
- letter-spacing: 0;
415
- text-align: left;
416
- }
417
-
418
- .openpress-dev-control-tabs button:hover,
419
- .openpress-dev-control-tabs button.is-active,
420
- .openpress-dev-project-tabs button:hover,
421
- .openpress-dev-project-tabs button[aria-pressed="true"],
422
- .openpress-dev-deploy-button:hover:not(:disabled) {
423
- color: rgb(242 242 240 / 94%);
424
- background: transparent;
425
- }
426
-
427
- .openpress-dev-control-tabs button::after,
428
- .openpress-dev-project-tabs button::after {
429
- position: absolute;
430
- right: 0;
431
- bottom: -1px;
432
- left: 0;
433
- height: 1px;
434
- background: transparent;
435
- content: "";
436
- }
437
-
438
- .openpress-dev-control-tabs button.is-active::after,
439
- .openpress-dev-project-tabs button[aria-pressed="true"]::after {
440
- background: rgb(242 242 240 / 78%);
441
- }
442
-
443
- .openpress-dev-control-tabs svg,
444
- .openpress-dev-project-tabs svg {
445
- width: 13px;
446
- height: 13px;
447
- flex: 0 0 auto;
448
- color: currentColor;
449
- opacity: 0.78;
450
- }
451
-
452
- .openpress-dev-control-tabs span,
453
- .openpress-dev-project-tabs span {
454
- overflow: hidden;
455
- max-width: 100%;
456
- text-overflow: ellipsis;
457
- white-space: nowrap;
458
- }
459
-
460
- .openpress-dev-deploy-button {
461
- display: inline-flex;
462
- width: fit-content;
463
- align-items: center;
464
- gap: 6px;
465
- padding: 0;
466
- color: rgb(240 182 76 / 80%);
467
- font-size: 11px;
468
- font-weight: 500;
469
- line-height: 1.3;
470
- letter-spacing: 0.08em;
471
- }
472
-
473
- .openpress-dev-deploy-button svg {
474
- width: 13px;
475
- height: 13px;
476
- }
477
-
478
- .openpress-dev-deploy-button:disabled {
479
- cursor: progress;
480
- opacity: 0.58;
481
- }
482
-
483
- .openpress-dev-deploy-status {
484
- display: inline-flex;
485
- align-items: center;
486
- gap: 6px;
487
- color: rgb(150 156 163 / 68%);
488
- font-size: 10px;
489
- font-weight: 500;
490
- line-height: 1.3;
491
- letter-spacing: 0.08em;
492
- white-space: nowrap;
493
- }
494
-
495
- .openpress-dev-deploy-status__dot {
496
- width: 7px;
497
- height: 7px;
498
- flex: 0 0 auto;
499
- border-radius: 999px;
500
- background: rgb(150 156 163 / 62%);
501
- box-shadow: 0 0 0 1px rgb(255 255 255 / 12%);
502
- }
503
-
504
- .openpress-dev-deploy-status[data-openpress-deploy-status="online"] {
505
- color: rgb(110 231 160 / 86%);
506
- }
507
-
508
- .openpress-dev-deploy-status[data-openpress-deploy-status="online"] .openpress-dev-deploy-status__dot {
509
- background: #6ee7a0;
510
- box-shadow: 0 0 0 1px rgb(110 231 160 / 28%), 0 0 14px rgb(110 231 160 / 18%);
511
- }
512
-
513
- .openpress-dev-deploy-status[data-openpress-deploy-status="deploying"] {
514
- color: rgb(240 182 76 / 88%);
515
- }
516
-
517
- .openpress-dev-deploy-status[data-openpress-deploy-status="deploying"] .openpress-dev-deploy-status__dot {
518
- background: #f0b64c;
519
- box-shadow: 0 0 0 1px rgb(240 182 76 / 24%), 0 0 14px rgb(240 182 76 / 16%);
520
- }
521
-
522
- .openpress-dev-deploy-status[data-openpress-deploy-status="dirty"] {
523
- color: rgb(240 182 76 / 90%);
524
- }
525
-
526
- .openpress-dev-deploy-status[data-openpress-deploy-status="dirty"] .openpress-dev-deploy-status__dot {
527
- background: #f0b64c;
528
- box-shadow: 0 0 0 1px rgb(240 182 76 / 24%), 0 0 14px rgb(240 182 76 / 16%);
529
- }
530
-
531
- .openpress-dev-deploy-status[data-openpress-deploy-status="failed"] {
532
- color: rgb(248 113 113 / 88%);
533
- }
534
-
535
- .openpress-dev-deploy-status[data-openpress-deploy-status="failed"] .openpress-dev-deploy-status__dot {
536
- background: #f87171;
537
- box-shadow: 0 0 0 1px rgb(248 113 113 / 24%), 0 0 14px rgb(248 113 113 / 16%);
538
- }
539
-
540
- .openpress-dev-panel-section {
541
- padding: 0 22px 22px;
542
- color: rgb(170 176 183 / 72%);
543
- font-size: 12px;
544
- line-height: 1.5;
545
- }
546
-
547
- .openpress-dev-panel-section p {
548
- margin: 0;
549
- }
550
-
551
- .openpress-public-viewer .openpress-panel-section--current {
552
- border-bottom: 0;
553
- padding: 14px 0 20px;
554
- }
555
-
556
- .openpress-public-viewer .openpress-current-page-card {
557
- gap: 6px;
558
- padding: 0 22px;
559
- }
560
-
561
- .openpress-public-viewer .openpress-current-page-card__number {
562
- color: rgb(242 242 240 / 84%);
563
- font-size: 18px;
564
- letter-spacing: 0.05em;
565
- }
566
-
567
- .openpress-public-viewer .openpress-current-page-card__prefix {
568
- color: rgb(160 166 173 / 58%);
569
- font-size: 10px;
570
- }
571
-
572
- .openpress-public-viewer .openpress-current-page-card__number .sep,
573
- .openpress-public-viewer .openpress-current-page-card__number [data-openpress-total-pages] {
574
- font-size: 12px;
575
- }
576
-
577
- .openpress-public-viewer .openpress-current-page-card__title {
578
- color: rgb(155 161 168 / 74%);
579
- font-size: 11px;
580
- }
581
-
582
- .openpress-public-viewer .openpress-current-page-card__progress {
583
- background: rgb(255 255 255 / 7%);
584
- }
585
-
586
- .openpress-public-viewer .openpress-current-page-card__progress span {
587
- background: rgb(242 242 240 / 46%);
588
- }
589
-
590
- .openpress-public-viewer .openpress-panel-section--bookmarks {
591
- display: grid;
592
- grid-template-rows: minmax(0, 1fr);
593
- min-height: 0;
594
- padding-top: 0;
595
- overflow: hidden;
596
- }
597
-
598
- .openpress-public-viewer .openpress-panel-heading {
599
- padding: 0 22px 10px;
600
- color: rgb(160 166 173 / 52%);
601
- font-size: 9px;
602
- }
603
-
604
- .openpress-public-viewer .reader-side-nav .reader-bookmarks {
605
- min-height: 0;
606
- overflow: auto;
607
- padding: 0 22px 22px;
608
- }
609
-
610
- .openpress-public-viewer .reader-bookmarks-rail {
611
- display: none;
612
- }
613
-
614
- .openpress-public-viewer .bookmark-item {
615
- column-gap: 8px;
616
- color: rgb(150 156 163 / 72%);
617
- }
618
-
619
- .openpress-public-viewer .bookmark-item:hover,
620
- .openpress-public-viewer .bookmark-item.is-active {
621
- color: rgb(242 242 240 / 92%);
622
- }
623
-
624
- .openpress-public-viewer .bookmark-h2 {
625
- grid-template-columns: 24px minmax(0, 1fr);
626
- padding: 8px 0 7px;
627
- }
628
-
629
- .openpress-public-viewer .bookmark-title {
630
- display: block;
631
- overflow: visible;
632
- font-family: var(--openpress-font-serif);
633
- white-space: normal;
634
- -webkit-line-clamp: unset;
635
- }
636
-
637
- .openpress-public-viewer .bookmark-h3 {
638
- grid-template-columns: 24px minmax(0, 1fr);
639
- column-gap: 8px;
640
- padding: 4px 0 4px 32px;
641
- font-size: 14px;
642
- }
643
-
644
- .openpress-public-viewer.openpress-reader-app .bookmark-item {
645
- column-gap: 8px;
646
- }
647
-
648
- .openpress-public-viewer.openpress-reader-app .bookmark-h2 {
649
- grid-template-columns: 24px minmax(0, 1fr);
650
- padding: 8px 0 7px;
651
- font-family: var(--openpress-font-serif);
652
- font-size: 14px;
653
- line-height: 1.42;
654
- }
655
-
656
- .openpress-public-viewer.openpress-reader-app .bookmark-h3 {
657
- grid-template-columns: 24px minmax(0, 1fr);
658
- column-gap: 8px;
659
- padding: 4px 0 4px 32px;
660
- font-family: var(--openpress-font-serif);
661
- font-size: 14px;
662
- line-height: 1.42;
663
- }
664
-
665
- .openpress-public-viewer.openpress-reader-app .bookmark-h4 {
666
- grid-template-columns: 36px minmax(0, 1fr);
667
- column-gap: 8px;
668
- padding: 3px 0 3px 52px;
669
- font-family: var(--openpress-font-serif);
670
- font-size: 13px;
671
- line-height: 1.38;
672
- }
673
-
674
- .openpress-public-viewer.openpress-reader-app .bookmark-title {
675
- display: block;
676
- overflow: visible;
677
- font-family: var(--openpress-font-serif);
678
- letter-spacing: 0;
679
- -webkit-line-clamp: unset;
680
- }
681
-
682
- .openpress-public-viewer.openpress-reader-app .bookmark-h3 .bookmark-index {
683
- font-size: 12px;
684
- }
685
-
686
- .openpress-public-viewer.openpress-reader-app .bookmark-h4 .bookmark-index {
687
- font-size: 11px;
688
- }