@docmentis/udoc-viewer 0.1.0 → 0.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 (263) hide show
  1. package/dist/wasm/udoc_bg.wasm +0 -0
  2. package/dist/worker/WorkerClient.js +1 -1
  3. package/package.json +11 -3
  4. package/dist/WorkerClient.d.ts +0 -36
  5. package/dist/WorkerClient.d.ts.map +0 -1
  6. package/dist/WorkerClient.js +0 -121
  7. package/dist/WorkerClient.js.map +0 -1
  8. package/dist/annotation/AnnotationLayer.d.ts +0 -166
  9. package/dist/annotation/AnnotationLayer.d.ts.map +0 -1
  10. package/dist/annotation/AnnotationLayer.js +0 -1090
  11. package/dist/annotation/AnnotationLayer.js.map +0 -1
  12. package/dist/annotation/index.d.ts +0 -6
  13. package/dist/annotation/index.d.ts.map +0 -1
  14. package/dist/annotation/index.js +0 -6
  15. package/dist/annotation/index.js.map +0 -1
  16. package/dist/components/FloatingBar.d.ts +0 -102
  17. package/dist/components/FloatingBar.d.ts.map +0 -1
  18. package/dist/components/FloatingBar.js +0 -513
  19. package/dist/components/FloatingBar.js.map +0 -1
  20. package/dist/components/Header.d.ts +0 -46
  21. package/dist/components/Header.d.ts.map +0 -1
  22. package/dist/components/Header.js +0 -93
  23. package/dist/components/Header.js.map +0 -1
  24. package/dist/components/index.d.ts +0 -6
  25. package/dist/components/index.d.ts.map +0 -1
  26. package/dist/components/index.js +0 -4
  27. package/dist/components/index.js.map +0 -1
  28. package/dist/components/panels/CommentsPanel.d.ts +0 -33
  29. package/dist/components/panels/CommentsPanel.d.ts.map +0 -1
  30. package/dist/components/panels/CommentsPanel.js +0 -176
  31. package/dist/components/panels/CommentsPanel.js.map +0 -1
  32. package/dist/components/panels/OutlinePanel.d.ts +0 -30
  33. package/dist/components/panels/OutlinePanel.d.ts.map +0 -1
  34. package/dist/components/panels/OutlinePanel.js +0 -144
  35. package/dist/components/panels/OutlinePanel.js.map +0 -1
  36. package/dist/components/panels/ThumbnailsPanel.d.ts +0 -51
  37. package/dist/components/panels/ThumbnailsPanel.d.ts.map +0 -1
  38. package/dist/components/panels/ThumbnailsPanel.js +0 -160
  39. package/dist/components/panels/ThumbnailsPanel.js.map +0 -1
  40. package/dist/components/panels/index.d.ts +0 -7
  41. package/dist/components/panels/index.d.ts.map +0 -1
  42. package/dist/components/panels/index.js +0 -4
  43. package/dist/components/panels/index.js.map +0 -1
  44. package/dist/constants.d.ts +0 -25
  45. package/dist/constants.d.ts.map +0 -1
  46. package/dist/constants.js +0 -46
  47. package/dist/constants.js.map +0 -1
  48. package/dist/core/NavigationController.d.ts +0 -54
  49. package/dist/core/NavigationController.d.ts.map +0 -1
  50. package/dist/core/NavigationController.js +0 -145
  51. package/dist/core/NavigationController.js.map +0 -1
  52. package/dist/core/PerfTimer.d.ts +0 -12
  53. package/dist/core/PerfTimer.d.ts.map +0 -1
  54. package/dist/core/PerfTimer.js +0 -32
  55. package/dist/core/PerfTimer.js.map +0 -1
  56. package/dist/core/ViewerState.d.ts +0 -108
  57. package/dist/core/ViewerState.d.ts.map +0 -1
  58. package/dist/core/ViewerState.js +0 -179
  59. package/dist/core/ViewerState.js.map +0 -1
  60. package/dist/core/constants.d.ts +0 -24
  61. package/dist/core/constants.d.ts.map +0 -1
  62. package/dist/core/constants.js +0 -42
  63. package/dist/core/constants.js.map +0 -1
  64. package/dist/core/index.d.ts +0 -8
  65. package/dist/core/index.d.ts.map +0 -1
  66. package/dist/core/index.js +0 -11
  67. package/dist/core/index.js.map +0 -1
  68. package/dist/core/types.d.ts +0 -573
  69. package/dist/core/types.d.ts.map +0 -1
  70. package/dist/core/types.js +0 -5
  71. package/dist/core/types.js.map +0 -1
  72. package/dist/icons/icons.d.ts +0 -41
  73. package/dist/icons/icons.d.ts.map +0 -1
  74. package/dist/icons/icons.js +0 -51
  75. package/dist/icons/icons.js.map +0 -1
  76. package/dist/icons/index.d.ts +0 -3
  77. package/dist/icons/index.d.ts.map +0 -1
  78. package/dist/icons/index.js +0 -2
  79. package/dist/icons/index.js.map +0 -1
  80. package/dist/layout/BandManager.d.ts +0 -87
  81. package/dist/layout/BandManager.d.ts.map +0 -1
  82. package/dist/layout/BandManager.js +0 -185
  83. package/dist/layout/BandManager.js.map +0 -1
  84. package/dist/layout/LayoutCalculator.d.ts +0 -42
  85. package/dist/layout/LayoutCalculator.d.ts.map +0 -1
  86. package/dist/layout/LayoutCalculator.js +0 -180
  87. package/dist/layout/LayoutCalculator.js.map +0 -1
  88. package/dist/layout/LayoutState.d.ts +0 -46
  89. package/dist/layout/LayoutState.d.ts.map +0 -1
  90. package/dist/layout/LayoutState.js +0 -109
  91. package/dist/layout/LayoutState.js.map +0 -1
  92. package/dist/layout/TransitionCoordinator.d.ts +0 -11
  93. package/dist/layout/TransitionCoordinator.d.ts.map +0 -1
  94. package/dist/layout/TransitionCoordinator.js +0 -22
  95. package/dist/layout/TransitionCoordinator.js.map +0 -1
  96. package/dist/layout/index.d.ts +0 -7
  97. package/dist/layout/index.d.ts.map +0 -1
  98. package/dist/layout/index.js +0 -4
  99. package/dist/layout/index.js.map +0 -1
  100. package/dist/rendering/BandManager.d.ts +0 -87
  101. package/dist/rendering/BandManager.d.ts.map +0 -1
  102. package/dist/rendering/BandManager.js +0 -185
  103. package/dist/rendering/BandManager.js.map +0 -1
  104. package/dist/rendering/PageCache.d.ts +0 -75
  105. package/dist/rendering/PageCache.d.ts.map +0 -1
  106. package/dist/rendering/PageCache.js +0 -122
  107. package/dist/rendering/PageCache.js.map +0 -1
  108. package/dist/rendering/RenderQueue.d.ts +0 -75
  109. package/dist/rendering/RenderQueue.d.ts.map +0 -1
  110. package/dist/rendering/RenderQueue.js +0 -105
  111. package/dist/rendering/RenderQueue.js.map +0 -1
  112. package/dist/rendering/ThumbnailQueue.d.ts +0 -57
  113. package/dist/rendering/ThumbnailQueue.d.ts.map +0 -1
  114. package/dist/rendering/ThumbnailQueue.js +0 -85
  115. package/dist/rendering/ThumbnailQueue.js.map +0 -1
  116. package/dist/rendering/index.d.ts +0 -13
  117. package/dist/rendering/index.d.ts.map +0 -1
  118. package/dist/rendering/index.js +0 -10
  119. package/dist/rendering/index.js.map +0 -1
  120. package/dist/rendering/types.d.ts +0 -72
  121. package/dist/rendering/types.d.ts.map +0 -1
  122. package/dist/rendering/types.js +0 -5
  123. package/dist/rendering/types.js.map +0 -1
  124. package/dist/styles/index.d.ts +0 -6
  125. package/dist/styles/index.d.ts.map +0 -1
  126. package/dist/styles/index.js +0 -1221
  127. package/dist/styles/index.js.map +0 -1
  128. package/dist/types.d.ts +0 -6
  129. package/dist/types.d.ts.map +0 -1
  130. package/dist/types.js +0 -6
  131. package/dist/types.js.map +0 -1
  132. package/dist/ui/Component.d.ts +0 -127
  133. package/dist/ui/Component.d.ts.map +0 -1
  134. package/dist/ui/Component.js +0 -201
  135. package/dist/ui/Component.js.map +0 -1
  136. package/dist/ui/annotation/AnnotationLayer.d.ts +0 -90
  137. package/dist/ui/annotation/AnnotationLayer.d.ts.map +0 -1
  138. package/dist/ui/annotation/AnnotationLayer.js +0 -322
  139. package/dist/ui/annotation/AnnotationLayer.js.map +0 -1
  140. package/dist/ui/annotation/LinkRenderer.d.ts +0 -32
  141. package/dist/ui/annotation/LinkRenderer.d.ts.map +0 -1
  142. package/dist/ui/annotation/LinkRenderer.js +0 -74
  143. package/dist/ui/annotation/LinkRenderer.js.map +0 -1
  144. package/dist/ui/annotation/MarkupRenderer.d.ts +0 -40
  145. package/dist/ui/annotation/MarkupRenderer.d.ts.map +0 -1
  146. package/dist/ui/annotation/MarkupRenderer.js +0 -154
  147. package/dist/ui/annotation/MarkupRenderer.js.map +0 -1
  148. package/dist/ui/annotation/ShapeRenderer.d.ts +0 -46
  149. package/dist/ui/annotation/ShapeRenderer.d.ts.map +0 -1
  150. package/dist/ui/annotation/ShapeRenderer.js +0 -376
  151. package/dist/ui/annotation/ShapeRenderer.js.map +0 -1
  152. package/dist/ui/annotation/TextRenderer.d.ts +0 -36
  153. package/dist/ui/annotation/TextRenderer.d.ts.map +0 -1
  154. package/dist/ui/annotation/TextRenderer.js +0 -199
  155. package/dist/ui/annotation/TextRenderer.js.map +0 -1
  156. package/dist/ui/annotation/index.d.ts +0 -17
  157. package/dist/ui/annotation/index.d.ts.map +0 -1
  158. package/dist/ui/annotation/index.js +0 -13
  159. package/dist/ui/annotation/index.js.map +0 -1
  160. package/dist/ui/annotation/utils.d.ts +0 -40
  161. package/dist/ui/annotation/utils.d.ts.map +0 -1
  162. package/dist/ui/annotation/utils.js +0 -62
  163. package/dist/ui/annotation/utils.js.map +0 -1
  164. package/dist/ui/components/CommentsContent.d.ts +0 -35
  165. package/dist/ui/components/CommentsContent.d.ts.map +0 -1
  166. package/dist/ui/components/CommentsContent.js +0 -203
  167. package/dist/ui/components/CommentsContent.js.map +0 -1
  168. package/dist/ui/components/FloatingBar.d.ts +0 -55
  169. package/dist/ui/components/FloatingBar.d.ts.map +0 -1
  170. package/dist/ui/components/FloatingBar.js +0 -585
  171. package/dist/ui/components/FloatingBar.js.map +0 -1
  172. package/dist/ui/components/Header.d.ts +0 -29
  173. package/dist/ui/components/Header.d.ts.map +0 -1
  174. package/dist/ui/components/Header.js +0 -127
  175. package/dist/ui/components/Header.js.map +0 -1
  176. package/dist/ui/components/LeftPanel.d.ts +0 -54
  177. package/dist/ui/components/LeftPanel.d.ts.map +0 -1
  178. package/dist/ui/components/LeftPanel.js +0 -202
  179. package/dist/ui/components/LeftPanel.js.map +0 -1
  180. package/dist/ui/components/OutlineContent.d.ts +0 -34
  181. package/dist/ui/components/OutlineContent.d.ts.map +0 -1
  182. package/dist/ui/components/OutlineContent.js +0 -147
  183. package/dist/ui/components/OutlineContent.js.map +0 -1
  184. package/dist/ui/components/RightPanel.d.ts +0 -52
  185. package/dist/ui/components/RightPanel.d.ts.map +0 -1
  186. package/dist/ui/components/RightPanel.js +0 -142
  187. package/dist/ui/components/RightPanel.js.map +0 -1
  188. package/dist/ui/components/Viewport.d.ts +0 -70
  189. package/dist/ui/components/Viewport.d.ts.map +0 -1
  190. package/dist/ui/components/Viewport.js +0 -173
  191. package/dist/ui/components/Viewport.js.map +0 -1
  192. package/dist/ui/components/index.d.ts +0 -11
  193. package/dist/ui/components/index.d.ts.map +0 -1
  194. package/dist/ui/components/index.js +0 -10
  195. package/dist/ui/components/index.js.map +0 -1
  196. package/dist/ui/icons/icons.d.ts +0 -43
  197. package/dist/ui/icons/icons.d.ts.map +0 -1
  198. package/dist/ui/icons/icons.js +0 -46
  199. package/dist/ui/icons/icons.js.map +0 -1
  200. package/dist/ui/icons/index.d.ts +0 -11
  201. package/dist/ui/icons/index.d.ts.map +0 -1
  202. package/dist/ui/icons/index.js +0 -18
  203. package/dist/ui/icons/index.js.map +0 -1
  204. package/dist/ui/index.d.ts +0 -7
  205. package/dist/ui/index.d.ts.map +0 -1
  206. package/dist/ui/index.js +0 -9
  207. package/dist/ui/index.js.map +0 -1
  208. package/dist/ui/styles/base.css.d.ts +0 -5
  209. package/dist/ui/styles/base.css.d.ts.map +0 -1
  210. package/dist/ui/styles/base.css.js +0 -49
  211. package/dist/ui/styles/base.css.js.map +0 -1
  212. package/dist/ui/styles/floating-bar.css.d.ts +0 -5
  213. package/dist/ui/styles/floating-bar.css.d.ts.map +0 -1
  214. package/dist/ui/styles/floating-bar.css.js +0 -417
  215. package/dist/ui/styles/floating-bar.css.js.map +0 -1
  216. package/dist/ui/styles/header.css.d.ts +0 -5
  217. package/dist/ui/styles/header.css.d.ts.map +0 -1
  218. package/dist/ui/styles/header.css.js +0 -49
  219. package/dist/ui/styles/header.css.js.map +0 -1
  220. package/dist/ui/styles/index.d.ts +0 -21
  221. package/dist/ui/styles/index.d.ts.map +0 -1
  222. package/dist/ui/styles/index.js +0 -48
  223. package/dist/ui/styles/index.js.map +0 -1
  224. package/dist/ui/styles/panels.css.d.ts +0 -5
  225. package/dist/ui/styles/panels.css.d.ts.map +0 -1
  226. package/dist/ui/styles/panels.css.js +0 -446
  227. package/dist/ui/styles/panels.css.js.map +0 -1
  228. package/dist/ui/styles/responsive.css.d.ts +0 -5
  229. package/dist/ui/styles/responsive.css.d.ts.map +0 -1
  230. package/dist/ui/styles/responsive.css.js +0 -201
  231. package/dist/ui/styles/responsive.css.js.map +0 -1
  232. package/dist/ui/styles/variables.css.d.ts +0 -6
  233. package/dist/ui/styles/variables.css.d.ts.map +0 -1
  234. package/dist/ui/styles/variables.css.js +0 -75
  235. package/dist/ui/styles/variables.css.js.map +0 -1
  236. package/dist/ui/styles/viewport.css.d.ts +0 -5
  237. package/dist/ui/styles/viewport.css.d.ts.map +0 -1
  238. package/dist/ui/styles/viewport.css.js +0 -87
  239. package/dist/ui/styles/viewport.css.js.map +0 -1
  240. package/dist/view/LayoutCalculator.d.ts +0 -42
  241. package/dist/view/LayoutCalculator.d.ts.map +0 -1
  242. package/dist/view/LayoutCalculator.js +0 -180
  243. package/dist/view/LayoutCalculator.js.map +0 -1
  244. package/dist/view/TransitionCoordinator.d.ts +0 -11
  245. package/dist/view/TransitionCoordinator.d.ts.map +0 -1
  246. package/dist/view/TransitionCoordinator.js +0 -22
  247. package/dist/view/TransitionCoordinator.js.map +0 -1
  248. package/dist/view/ViewState.d.ts +0 -46
  249. package/dist/view/ViewState.d.ts.map +0 -1
  250. package/dist/view/ViewState.js +0 -109
  251. package/dist/view/ViewState.js.map +0 -1
  252. package/dist/view/index.d.ts +0 -7
  253. package/dist/view/index.d.ts.map +0 -1
  254. package/dist/view/index.js +0 -4
  255. package/dist/view/index.js.map +0 -1
  256. package/dist/worker/types.d.ts +0 -81
  257. package/dist/worker/types.d.ts.map +0 -1
  258. package/dist/worker/types.js +0 -6
  259. package/dist/worker/types.js.map +0 -1
  260. package/dist/worker.d.ts +0 -2
  261. package/dist/worker.d.ts.map +0 -1
  262. package/dist/worker.js +0 -205
  263. package/dist/worker.js.map +0 -1
@@ -1,1221 +0,0 @@
1
- /**
2
- * Viewer CSS styles exported as a string for runtime injection.
3
- * This maintains backward compatibility - users don't need to manually include CSS.
4
- */
5
- export const VIEWER_STYLES = `/* Root container */
6
- .udoc-viewer-root {
7
- width: 100%;
8
- height: 100%;
9
- display: flex;
10
- flex-direction: column;
11
- overflow: hidden;
12
- font-family: system-ui, -apple-system, sans-serif;
13
- background: #e0e0e0;
14
- }
15
-
16
- /* Header bar */
17
- .udoc-header {
18
- height: 40px;
19
- background: #fff;
20
- border-bottom: 1px solid #e0e0e0;
21
- display: flex;
22
- align-items: center;
23
- padding: 0 8px;
24
- flex-shrink: 0;
25
- gap: 8px;
26
- }
27
-
28
- .udoc-header-btn {
29
- background: none;
30
- border: none;
31
- cursor: pointer;
32
- padding: 6px;
33
- border-radius: 4px;
34
- display: flex;
35
- align-items: center;
36
- justify-content: center;
37
- color: #555;
38
- }
39
-
40
- .udoc-header-btn:hover {
41
- background: #f0f0f0;
42
- }
43
-
44
- .udoc-header-btn svg {
45
- width: 20px;
46
- height: 20px;
47
- }
48
-
49
-
50
- .udoc-header-actions {
51
- display: flex;
52
- gap: 4px;
53
- margin-left: auto;
54
- }
55
-
56
- /* Main content area */
57
- .udoc-main {
58
- flex: 1;
59
- display: flex;
60
- overflow: hidden;
61
- position: relative;
62
- }
63
-
64
- /* Panels */
65
- .udoc-panel {
66
- display: flex;
67
- background: #f8f9fa;
68
- flex-shrink: 0;
69
- transition: width 0.2s ease;
70
- overflow: hidden;
71
- }
72
-
73
- .udoc-panel.collapsed {
74
- width: 0 !important;
75
- }
76
-
77
- .udoc-panel.left {
78
- border-right: 1px solid #e0e0e0;
79
- flex-direction: row;
80
- }
81
-
82
- .udoc-panel.right {
83
- border-left: 1px solid #e0e0e0;
84
- }
85
-
86
- .udoc-panel.no-tabs {
87
- flex-direction: row;
88
- }
89
-
90
- .udoc-header-btn.active {
91
- background: #e0e0e0;
92
- color: #3498db;
93
- }
94
-
95
- .udoc-panel-tabs {
96
- width: 36px;
97
- display: flex;
98
- flex-direction: column;
99
- padding: 8px 0;
100
- gap: 4px;
101
- background: #f0f0f0;
102
- flex-shrink: 0;
103
- }
104
-
105
- .udoc-panel.left .udoc-panel-tabs {
106
- border-right: 1px solid #e0e0e0;
107
- }
108
-
109
- .udoc-panel.right .udoc-panel-tabs {
110
- border-left: 1px solid #e0e0e0;
111
- }
112
-
113
- .udoc-panel-tab {
114
- width: 28px;
115
- height: 28px;
116
- margin: 0 4px;
117
- border: none;
118
- background: none;
119
- border-radius: 4px;
120
- cursor: pointer;
121
- display: flex;
122
- align-items: center;
123
- justify-content: center;
124
- color: #666;
125
- }
126
-
127
- .udoc-panel-tab:hover {
128
- background: #e0e0e0;
129
- }
130
-
131
- .udoc-panel-tab.selected {
132
- background: #fff;
133
- color: #3498db;
134
- }
135
-
136
- .udoc-panel-tab svg {
137
- width: 20px;
138
- height: 20px;
139
- }
140
-
141
- .udoc-panel-content {
142
- flex: 1;
143
- overflow-y: auto;
144
- overflow-x: hidden;
145
- min-width: 0;
146
- padding: 8px;
147
- display: flex;
148
- flex-direction: column;
149
- gap: 8px;
150
- }
151
-
152
- .udoc-panel-resize {
153
- width: 4px;
154
- cursor: col-resize;
155
- background: transparent;
156
- transition: background 0.15s;
157
- flex-shrink: 0;
158
- }
159
-
160
- .udoc-panel-resize:hover,
161
- .udoc-panel-resize.resizing {
162
- background: #3498db;
163
- }
164
-
165
- .udoc-panel-placeholder {
166
- padding: 24px 16px;
167
- text-align: center;
168
- color: #999;
169
- font-size: 13px;
170
- display: flex;
171
- flex-direction: column;
172
- align-items: center;
173
- gap: 8px;
174
- }
175
-
176
- .udoc-panel-placeholder svg {
177
- width: 32px;
178
- height: 32px;
179
- opacity: 0.5;
180
- }
181
-
182
- /* Comments panel */
183
- .udoc-comments-list {
184
- padding: 0;
185
- }
186
-
187
- .udoc-comments-page-group {
188
- border-bottom: 1px solid #e0e0e0;
189
- }
190
-
191
- .udoc-comments-page-group:last-child {
192
- border-bottom: none;
193
- }
194
-
195
- .udoc-comments-page-header {
196
- display: flex;
197
- align-items: center;
198
- gap: 6px;
199
- padding: 10px 12px;
200
- font-size: 12px;
201
- font-weight: 600;
202
- color: #333;
203
- background: #f5f5f5;
204
- cursor: pointer;
205
- user-select: none;
206
- transition: background 0.15s;
207
- }
208
-
209
- .udoc-comments-page-header:hover {
210
- background: #eee;
211
- }
212
-
213
- .udoc-comments-page-header svg {
214
- width: 16px;
215
- height: 16px;
216
- color: #666;
217
- transition: transform 0.2s;
218
- }
219
-
220
- .udoc-comments-page-collapsed .udoc-comments-page-header svg {
221
- transform: rotate(-90deg);
222
- }
223
-
224
- .udoc-comments-page-count {
225
- margin-left: auto;
226
- font-size: 11px;
227
- font-weight: 500;
228
- color: #888;
229
- background: #e0e0e0;
230
- padding: 2px 6px;
231
- border-radius: 10px;
232
- }
233
-
234
- .udoc-comments-page-content {
235
- overflow: hidden;
236
- transition: max-height 0.2s ease-out, opacity 0.2s ease-out;
237
- }
238
-
239
- .udoc-comments-page-collapsed .udoc-comments-page-content {
240
- max-height: 0;
241
- opacity: 0;
242
- }
243
-
244
- .udoc-comment-item {
245
- display: flex;
246
- gap: 8px;
247
- padding: 10px 12px;
248
- cursor: pointer;
249
- transition: background 0.15s;
250
- }
251
-
252
- .udoc-comment-item:hover {
253
- background: #f5f7f9;
254
- }
255
-
256
- .udoc-comment-reply {
257
- background: transparent;
258
- }
259
-
260
- .udoc-comment-depth-1 {
261
- padding-left: 36px;
262
- }
263
-
264
- .udoc-comment-depth-2 {
265
- padding-left: 56px;
266
- }
267
-
268
- .udoc-comment-depth-3 {
269
- padding-left: 76px;
270
- }
271
-
272
- .udoc-comment-reply:hover {
273
- background: #f5f7f9;
274
- }
275
-
276
- .udoc-comment-icon {
277
- flex-shrink: 0;
278
- display: flex;
279
- align-items: flex-start;
280
- padding-top: 2px;
281
- color: #888;
282
- }
283
-
284
- .udoc-comment-icon svg {
285
- width: 16px;
286
- height: 16px;
287
- }
288
-
289
- .udoc-comment-body {
290
- flex: 1;
291
- min-width: 0;
292
- }
293
-
294
- .udoc-comment-header {
295
- display: flex;
296
- align-items: center;
297
- gap: 6px;
298
- margin-bottom: 4px;
299
- }
300
-
301
- .udoc-comment-author {
302
- font-size: 12px;
303
- font-weight: 600;
304
- color: #333;
305
- }
306
-
307
- .udoc-comment-status {
308
- font-size: 10px;
309
- font-weight: 500;
310
- padding: 2px 6px;
311
- border-radius: 3px;
312
- margin-left: auto;
313
- }
314
-
315
- .udoc-comment-status-accepted {
316
- background: #d4edda;
317
- color: #155724;
318
- }
319
-
320
- .udoc-comment-status-rejected,
321
- .udoc-comment-status-cancelled {
322
- background: #f8d7da;
323
- color: #721c24;
324
- }
325
-
326
- .udoc-comment-status-completed {
327
- background: #cce5ff;
328
- color: #004085;
329
- }
330
-
331
- .udoc-comment-status-marked {
332
- background: #fff3cd;
333
- color: #856404;
334
- }
335
-
336
- .udoc-comment-status-none,
337
- .udoc-comment-status-unmarked {
338
- background: #e2e3e5;
339
- color: #383d41;
340
- }
341
-
342
- .udoc-comment-contents {
343
- font-size: 12px;
344
- color: #666;
345
- line-height: 1.4;
346
- white-space: pre-wrap;
347
- word-break: break-word;
348
- }
349
-
350
- .udoc-comment-toggle {
351
- display: flex;
352
- align-items: center;
353
- gap: 4px;
354
- margin-top: 8px;
355
- padding: 2px 0;
356
- background: transparent;
357
- border: none;
358
- font-size: 11px;
359
- color: #888;
360
- cursor: pointer;
361
- transition: color 0.15s;
362
- }
363
-
364
- .udoc-comment-toggle:hover {
365
- color: #333;
366
- }
367
-
368
- .udoc-comment-toggle svg {
369
- width: 14px;
370
- height: 14px;
371
- transition: transform 0.2s;
372
- }
373
-
374
- .udoc-comment-toggle-expanded svg {
375
- transform: rotate(90deg);
376
- }
377
-
378
- .udoc-comment-replies {
379
- margin-top: 4px;
380
- margin-bottom: 4px;
381
- overflow: hidden;
382
- transition: max-height 0.2s ease-out, opacity 0.2s ease-out, margin 0.2s ease-out;
383
- }
384
-
385
- .udoc-comment-replies-collapsed {
386
- max-height: 0;
387
- opacity: 0;
388
- pointer-events: none;
389
- margin-top: 0;
390
- margin-bottom: 0;
391
- }
392
-
393
- .udoc-thumbnail {
394
- cursor: pointer;
395
- border: 2px solid transparent;
396
- border-radius: 4px;
397
- padding: 4px;
398
- background: #fff;
399
- box-shadow: 0 1px 3px rgba(0,0,0,0.1);
400
- transition: border-color 0.15s;
401
- display: flex;
402
- flex-direction: column;
403
- align-items: center;
404
- }
405
-
406
- .udoc-thumbnail:hover {
407
- border-color: #bbb;
408
- }
409
-
410
- .udoc-thumbnail.selected {
411
- border-color: #3498db;
412
- }
413
-
414
- .udoc-thumbnail img {
415
- display: block;
416
- width: 100%;
417
- height: auto;
418
- background: #fff;
419
- }
420
-
421
- .udoc-thumbnail img:not([src]) {
422
- visibility: hidden;
423
- }
424
-
425
- .udoc-thumbnail-label {
426
- text-align: center;
427
- font-size: 11px;
428
- color: #666;
429
- margin-top: 4px;
430
- }
431
-
432
- /* Outline */
433
- .udoc-outline {
434
- padding: 8px 0;
435
- }
436
-
437
- .udoc-outline-node {
438
- /* Container for item + children */
439
- }
440
-
441
- .udoc-outline-item {
442
- display: flex;
443
- align-items: center;
444
- padding: 6px 12px;
445
- font-size: 13px;
446
- color: #333;
447
- border-left: 2px solid transparent;
448
- transition: background-color 0.15s, border-color 0.15s;
449
- }
450
-
451
- .udoc-outline-item.clickable {
452
- cursor: pointer;
453
- }
454
-
455
- .udoc-outline-item.clickable:hover {
456
- background-color: rgba(0, 0, 0, 0.04);
457
- border-left-color: #3498db;
458
- }
459
-
460
- .udoc-outline-toggle {
461
- display: flex;
462
- align-items: center;
463
- justify-content: center;
464
- width: 16px;
465
- height: 16px;
466
- margin-right: 4px;
467
- cursor: pointer;
468
- border-radius: 3px;
469
- flex-shrink: 0;
470
- transition: background-color 0.15s;
471
- }
472
-
473
- .udoc-outline-toggle:hover {
474
- background-color: rgba(0, 0, 0, 0.08);
475
- }
476
-
477
- .udoc-outline-toggle svg {
478
- width: 12px;
479
- height: 12px;
480
- transition: transform 0.15s;
481
- }
482
-
483
- .udoc-outline-toggle.collapsed svg {
484
- transform: rotate(-90deg);
485
- }
486
-
487
- .udoc-outline-toggle-placeholder {
488
- width: 16px;
489
- height: 16px;
490
- margin-right: 4px;
491
- flex-shrink: 0;
492
- }
493
-
494
- .udoc-outline-title {
495
- white-space: nowrap;
496
- overflow: hidden;
497
- text-overflow: ellipsis;
498
- }
499
-
500
- .udoc-outline-children {
501
- overflow: hidden;
502
- transition: max-height 0.2s ease-out;
503
- }
504
-
505
- .udoc-outline-children.collapsed {
506
- max-height: 0 !important;
507
- }
508
-
509
- /* Viewport */
510
- .udoc-viewport {
511
- flex: 1;
512
- overflow: auto;
513
- position: relative;
514
- overscroll-behavior-x: none;
515
- }
516
-
517
- .udoc-content {
518
- display: flex;
519
- flex-direction: column;
520
- min-width: 100%;
521
- min-height: 100%;
522
- padding: 20px;
523
- box-sizing: border-box;
524
- }
525
-
526
- .udoc-spacer {
527
- width: 100%;
528
- flex-shrink: 0;
529
- }
530
-
531
- .udoc-band-container {
532
- position: relative;
533
- width: 100%;
534
- }
535
-
536
- .udoc-band {
537
- width: 100%;
538
- position: absolute;
539
- left: 0;
540
- display: flex;
541
- justify-content: center;
542
- flex-shrink: 0;
543
- }
544
-
545
- .udoc-band-inner {
546
- display: grid;
547
- align-items: center;
548
- justify-items: center;
549
- }
550
-
551
- .udoc-slot {
552
- display: flex;
553
- align-items: center;
554
- justify-content: center;
555
- overflow: visible;
556
- }
557
-
558
- .udoc-page {
559
- display: block;
560
- box-shadow: 0 2px 8px rgba(0,0,0,0.15);
561
- background: #fff;
562
- transform-origin: center center;
563
- opacity: 1;
564
- transition: opacity 0.12s ease;
565
- user-select: none;
566
- -webkit-user-drag: none;
567
- pointer-events: none;
568
- }
569
-
570
- .udoc-viewer-root.seamless .udoc-page {
571
- box-shadow: none;
572
- }
573
-
574
- .udoc-page[data-rendered="false"] {
575
- opacity: 1;
576
- }
577
-
578
- /* Floating control bar */
579
- .udoc-floating-bar {
580
- position: absolute;
581
- bottom: 16px;
582
- left: 50%;
583
- transform: translateX(-50%);
584
- background: rgba(255, 255, 255, 0.95);
585
- backdrop-filter: blur(8px);
586
- -webkit-backdrop-filter: blur(8px);
587
- border-radius: 8px;
588
- box-shadow: 0 2px 12px rgba(0,0,0,0.15);
589
- padding: 6px 12px;
590
- display: flex;
591
- align-items: center;
592
- gap: 8px;
593
- font-size: 13px;
594
- z-index: 100;
595
- }
596
-
597
- .udoc-floating-bar-group {
598
- display: flex;
599
- align-items: center;
600
- gap: 4px;
601
- }
602
-
603
- .udoc-floating-bar button {
604
- background: none;
605
- border: none;
606
- cursor: pointer;
607
- padding: 4px;
608
- border-radius: 4px;
609
- display: flex;
610
- align-items: center;
611
- justify-content: center;
612
- color: #555;
613
- }
614
-
615
- .udoc-floating-bar button:hover:not(:disabled) {
616
- background: #e8e8e8;
617
- }
618
-
619
- .udoc-floating-bar button.active {
620
- background: #e0e0e0;
621
- }
622
-
623
- .udoc-floating-bar button:disabled {
624
- opacity: 0.4;
625
- cursor: not-allowed;
626
- }
627
-
628
- .udoc-floating-bar button svg {
629
- width: 20px;
630
- height: 20px;
631
- }
632
-
633
- .udoc-floating-bar input {
634
- border: 1px solid #ddd;
635
- border-radius: 4px;
636
- padding: 4px 6px;
637
- font-size: 12px;
638
- text-align: center;
639
- background: #fff;
640
- }
641
-
642
- .udoc-floating-bar input:focus {
643
- outline: none;
644
- border-color: #3498db;
645
- }
646
-
647
- .udoc-page-input {
648
- width: 36px;
649
- }
650
-
651
- .udoc-floating-bar select {
652
- border: 1px solid #ddd;
653
- border-radius: 4px;
654
- padding: 4px 6px;
655
- font-size: 12px;
656
- background: #fff;
657
- cursor: pointer;
658
- }
659
-
660
- .udoc-floating-bar select:focus {
661
- outline: none;
662
- border-color: #3498db;
663
- }
664
-
665
- .udoc-separator {
666
- width: 1px;
667
- height: 20px;
668
- background: #ddd;
669
- margin: 0 4px;
670
- }
671
-
672
- .udoc-page-info {
673
- color: #666;
674
- font-size: 12px;
675
- white-space: nowrap;
676
- }
677
-
678
- /* Zoom dropdown */
679
- .udoc-zoom-dropdown {
680
- position: relative;
681
- display: flex;
682
- align-items: center;
683
- }
684
-
685
- .udoc-zoom-input-wrapper {
686
- display: flex;
687
- align-items: center;
688
- border: 1px solid #ddd;
689
- border-radius: 4px;
690
- background: #fff;
691
- overflow: hidden;
692
- }
693
-
694
- .udoc-zoom-input-wrapper:focus-within {
695
- border-color: #3498db;
696
- }
697
-
698
- .udoc-floating-bar .udoc-zoom-input {
699
- border: none;
700
- padding: 4px 0 4px 6px;
701
- font-size: 12px;
702
- width: 44px;
703
- text-align: center;
704
- background: transparent;
705
- outline: none;
706
- }
707
-
708
- .udoc-zoom-input:disabled {
709
- opacity: 0.4;
710
- }
711
-
712
- .udoc-zoom-dropdown-btn {
713
- display: flex;
714
- align-items: center;
715
- justify-content: center;
716
- padding: 4px 4px;
717
- border: none;
718
- border-left: 1px solid #ddd;
719
- background: transparent;
720
- cursor: pointer;
721
- color: #555;
722
- }
723
-
724
- .udoc-zoom-dropdown-btn:hover:not(:disabled) {
725
- background: #f0f0f0;
726
- }
727
-
728
- .udoc-zoom-dropdown-btn:disabled {
729
- opacity: 0.4;
730
- cursor: not-allowed;
731
- }
732
-
733
- .udoc-zoom-dropdown-btn svg {
734
- width: 12px;
735
- height: 12px;
736
- }
737
-
738
- .udoc-dropdown-menu {
739
- position: absolute;
740
- bottom: calc(100% + 4px);
741
- left: 0;
742
- background: #fff;
743
- border-radius: 8px;
744
- box-shadow: 0 4px 16px rgba(0,0,0,0.15);
745
- padding: 4px 0;
746
- min-width: 140px;
747
- z-index: 200;
748
- display: none;
749
- }
750
-
751
- .udoc-dropdown-menu.open {
752
- display: block;
753
- }
754
-
755
- .udoc-dropdown-item {
756
- display: flex;
757
- align-items: center;
758
- padding: 8px 12px;
759
- cursor: pointer;
760
- font-size: 13px;
761
- color: #333;
762
- }
763
-
764
- .udoc-dropdown-item:hover {
765
- background: #f5f5f5;
766
- }
767
-
768
- .udoc-dropdown-item.selected {
769
- color: #3498db;
770
- font-weight: 500;
771
- }
772
-
773
- .udoc-dropdown-divider {
774
- height: 1px;
775
- background: #e0e0e0;
776
- margin: 4px 0;
777
- }
778
-
779
- /* Settings popover */
780
- .udoc-settings-btn {
781
- background: none;
782
- border: none;
783
- cursor: pointer;
784
- padding: 4px;
785
- border-radius: 4px;
786
- display: flex;
787
- align-items: center;
788
- justify-content: center;
789
- color: #555;
790
- }
791
-
792
- .udoc-settings-btn:hover:not(:disabled) {
793
- background: #e8e8e8;
794
- }
795
-
796
- .udoc-settings-btn:disabled {
797
- opacity: 0.4;
798
- cursor: not-allowed;
799
- }
800
-
801
- .udoc-settings-btn svg {
802
- width: 20px;
803
- height: 20px;
804
- }
805
-
806
- .udoc-settings-popover {
807
- position: absolute;
808
- bottom: calc(100% + 4px);
809
- left: 0;
810
- background: #fff;
811
- border-radius: 8px;
812
- box-shadow: 0 4px 16px rgba(0,0,0,0.15);
813
- padding: 12px;
814
- min-width: 180px;
815
- z-index: 200;
816
- display: none;
817
- }
818
-
819
- .udoc-settings-popover.open {
820
- display: block;
821
- }
822
-
823
- .udoc-settings-section {
824
- margin-bottom: 12px;
825
- }
826
-
827
- .udoc-settings-section:last-child {
828
- margin-bottom: 0;
829
- }
830
-
831
- .udoc-settings-label {
832
- font-size: 11px;
833
- font-weight: 600;
834
- color: #666;
835
- text-transform: uppercase;
836
- letter-spacing: 0.5px;
837
- margin-bottom: 6px;
838
- }
839
-
840
- .udoc-settings-options {
841
- display: flex;
842
- flex-wrap: wrap;
843
- gap: 4px;
844
- }
845
-
846
- .udoc-settings-option {
847
- display: flex;
848
- align-items: center;
849
- justify-content: center;
850
- padding: 6px;
851
- border: 1px solid #ddd;
852
- border-radius: 4px;
853
- cursor: pointer;
854
- color: #555;
855
- background: #fff;
856
- transition: all 0.15s;
857
- }
858
-
859
- .udoc-settings-option:hover {
860
- border-color: #bbb;
861
- background: #f5f5f5;
862
- }
863
-
864
- .udoc-settings-option.selected {
865
- background: #3498db;
866
- border-color: #3498db;
867
- color: #fff;
868
- }
869
-
870
- .udoc-settings-option svg {
871
- width: 20px;
872
- height: 20px;
873
- }
874
-
875
- .udoc-settings-option input {
876
- display: none;
877
- }
878
-
879
- .udoc-settings-row {
880
- display: flex;
881
- align-items: center;
882
- justify-content: space-between;
883
- gap: 8px;
884
- }
885
-
886
- .udoc-settings-row select {
887
- border: 1px solid #ddd;
888
- border-radius: 4px;
889
- padding: 4px 6px;
890
- font-size: 12px;
891
- background: #fff;
892
- cursor: pointer;
893
- flex: 1;
894
- }
895
-
896
- .udoc-settings-row select:focus {
897
- outline: none;
898
- border-color: #3498db;
899
- }
900
-
901
- .udoc-settings-checkbox {
902
- display: flex;
903
- align-items: center;
904
- gap: 6px;
905
- cursor: pointer;
906
- font-size: 12px;
907
- color: #333;
908
- }
909
-
910
- .udoc-settings-checkbox input[type="checkbox"] {
911
- width: 14px;
912
- height: 14px;
913
- cursor: pointer;
914
- }
915
-
916
- /* Empty state */
917
- .udoc-empty {
918
- display: flex;
919
- align-items: center;
920
- justify-content: center;
921
- height: 100%;
922
- color: #999;
923
- font-size: 14px;
924
- }
925
-
926
- /* Tool selector dropdown */
927
- .udoc-tool-dropdown {
928
- position: relative;
929
- display: flex;
930
- align-items: center;
931
- }
932
-
933
- .udoc-tool-dropdown-btn {
934
- display: flex;
935
- align-items: center;
936
- gap: 4px;
937
- padding: 4px 8px;
938
- border: 1px solid #ddd;
939
- border-radius: 4px;
940
- background: #fff;
941
- cursor: pointer;
942
- color: #555;
943
- font-size: 12px;
944
- }
945
-
946
- .udoc-tool-dropdown-btn:hover {
947
- background: #f5f5f5;
948
- }
949
-
950
- .udoc-tool-dropdown-btn svg {
951
- width: 18px;
952
- height: 18px;
953
- flex-shrink: 0;
954
- }
955
-
956
- .udoc-tool-dropdown-btn .udoc-tool-chevron {
957
- display: flex;
958
- align-items: center;
959
- }
960
-
961
- .udoc-tool-dropdown-btn .udoc-tool-chevron svg {
962
- width: 12px;
963
- height: 12px;
964
- }
965
-
966
- .udoc-tool-menu {
967
- position: absolute;
968
- bottom: calc(100% + 4px);
969
- left: 0;
970
- background: #fff;
971
- border-radius: 8px;
972
- box-shadow: 0 4px 16px rgba(0,0,0,0.15);
973
- padding: 4px 0;
974
- min-width: 150px;
975
- z-index: 200;
976
- display: none;
977
- }
978
-
979
- .udoc-tool-menu.open {
980
- display: block;
981
- }
982
-
983
- .udoc-tool-item {
984
- display: flex;
985
- align-items: center;
986
- gap: 8px;
987
- padding: 8px 12px;
988
- cursor: pointer;
989
- font-size: 13px;
990
- color: #333;
991
- }
992
-
993
- .udoc-tool-item:hover {
994
- background: #f5f5f5;
995
- }
996
-
997
- .udoc-tool-item.selected {
998
- color: #3498db;
999
- font-weight: 500;
1000
- }
1001
-
1002
- .udoc-tool-item svg {
1003
- width: 18px;
1004
- height: 18px;
1005
- }
1006
-
1007
- .udoc-tool-item .udoc-tool-shortcut {
1008
- margin-left: auto;
1009
- font-size: 11px;
1010
- color: #999;
1011
- }
1012
-
1013
- /* Cursor styles for tools */
1014
- .udoc-viewport.tool-hand {
1015
- cursor: grab;
1016
- }
1017
-
1018
- .udoc-viewport.tool-hand.panning {
1019
- cursor: grabbing;
1020
- }
1021
-
1022
- .udoc-viewport.tool-select {
1023
- cursor: default;
1024
- }
1025
-
1026
- /* ===== Responsive: Mobile (<=768px) ===== */
1027
- @media (max-width: 768px) {
1028
- /* Collapse panels by default on mobile */
1029
- .udoc-panel {
1030
- position: absolute;
1031
- top: 0;
1032
- bottom: 0;
1033
- width: 280px !important;
1034
- z-index: 150;
1035
- box-shadow: 4px 0 20px rgba(0,0,0,0.15);
1036
- }
1037
-
1038
- .udoc-panel.left {
1039
- left: 0;
1040
- transform: translateX(-100%);
1041
- transition: transform 0.3s ease;
1042
- }
1043
-
1044
- .udoc-panel.left:not(.collapsed) {
1045
- transform: translateX(0);
1046
- }
1047
-
1048
- .udoc-panel.right {
1049
- right: 0;
1050
- transform: translateX(100%);
1051
- transition: transform 0.3s ease;
1052
- flex-direction: row-reverse;
1053
- }
1054
-
1055
- .udoc-panel.right:not(.collapsed) {
1056
- transform: translateX(0);
1057
- }
1058
-
1059
- .udoc-panel.collapsed {
1060
- width: 280px !important;
1061
- }
1062
-
1063
- /* Mobile overlay when panel is open */
1064
- .udoc-panel-overlay {
1065
- display: none;
1066
- position: absolute;
1067
- top: 0;
1068
- left: 0;
1069
- right: 0;
1070
- bottom: 0;
1071
- background: rgba(0, 0, 0, 0.3);
1072
- z-index: 140;
1073
- }
1074
-
1075
- .udoc-viewer-root.panel-open .udoc-panel-overlay {
1076
- display: block;
1077
- }
1078
-
1079
- /* Reduce content padding */
1080
- .udoc-content {
1081
- padding: 8px;
1082
- padding-bottom: 48px; /* Space for bottom toolbar (40px + 8px) */
1083
- }
1084
-
1085
- /* Convert floating bar to full-width bottom toolbar - same height as header (40px) */
1086
- .udoc-floating-bar {
1087
- position: fixed;
1088
- bottom: 0;
1089
- left: 0;
1090
- right: 0;
1091
- transform: none;
1092
- border-radius: 0;
1093
- box-sizing: border-box;
1094
- height: 40px;
1095
- padding: 0 12px;
1096
- gap: 8px;
1097
- max-width: none;
1098
- justify-content: center;
1099
- box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
1100
- }
1101
-
1102
- /* Hide settings on mobile */
1103
- .udoc-floating-bar .udoc-settings-wrapper {
1104
- display: none;
1105
- }
1106
-
1107
- /* Hide fullscreen button on mobile */
1108
- .udoc-header-btn[title="Fullscreen"] {
1109
- display: none;
1110
- }
1111
-
1112
- /* Touch targets for mobile - sized to fit within 40px toolbar */
1113
- .udoc-floating-bar button {
1114
- padding: 6px;
1115
- min-width: 28px;
1116
- min-height: 28px;
1117
- }
1118
-
1119
- .udoc-floating-bar button svg {
1120
- width: 18px;
1121
- height: 18px;
1122
- }
1123
-
1124
- /* Larger panel tab buttons for touch */
1125
- .udoc-panel-tabs {
1126
- width: 44px;
1127
- padding: 8px 0;
1128
- }
1129
-
1130
- .udoc-panel-tab {
1131
- width: 36px;
1132
- height: 36px;
1133
- }
1134
-
1135
- .udoc-panel-tab svg {
1136
- width: 22px;
1137
- height: 22px;
1138
- }
1139
-
1140
- /* Header adjustments */
1141
- .udoc-header {
1142
- padding: 0 4px;
1143
- gap: 4px;
1144
- }
1145
-
1146
- .udoc-header-btn {
1147
- padding: 8px;
1148
- }
1149
-
1150
- /* Hide document title on small screens to save space */
1151
- .udoc-header-title {
1152
- display: none;
1153
- }
1154
-
1155
- /* Dropdown menus - position from bottom with more space */
1156
- .udoc-dropdown-menu,
1157
- .udoc-tool-menu,
1158
- .udoc-settings-popover {
1159
- bottom: calc(100% + 8px);
1160
- }
1161
-
1162
- /* Settings popover - pop to left on mobile */
1163
- .udoc-settings-popover {
1164
- left: auto;
1165
- right: 0;
1166
- }
1167
-
1168
- .udoc-dropdown-item,
1169
- .udoc-tool-item {
1170
- padding: 12px 16px;
1171
- }
1172
- }
1173
-
1174
- /* ===== Responsive: Small Mobile (<=480px) ===== */
1175
- @media (max-width: 480px) {
1176
- .udoc-content {
1177
- padding: 4px;
1178
- padding-bottom: 48px; /* Space for bottom toolbar (40px + 8px) */
1179
- }
1180
-
1181
- .udoc-floating-bar {
1182
- padding: 0 8px;
1183
- gap: 2px;
1184
- }
1185
-
1186
- /* Hide zoom buttons, keep only page nav on very small screens */
1187
- .udoc-floating-bar .udoc-zoom-controls {
1188
- display: none;
1189
- }
1190
-
1191
- /* Smaller page input */
1192
- .udoc-page-input {
1193
- width: 28px;
1194
- padding: 2px 4px;
1195
- font-size: 11px;
1196
- }
1197
-
1198
- .udoc-page-info {
1199
- font-size: 11px;
1200
- }
1201
-
1202
- .udoc-separator {
1203
- height: 16px;
1204
- margin: 0 2px;
1205
- }
1206
-
1207
- .udoc-header {
1208
- padding: 0 4px;
1209
- gap: 4px;
1210
- }
1211
-
1212
- .udoc-header-btn {
1213
- padding: 6px;
1214
- }
1215
-
1216
- .udoc-header-btn svg {
1217
- width: 18px;
1218
- height: 18px;
1219
- }
1220
- }`;
1221
- //# sourceMappingURL=index.js.map