@docmentis/udoc-viewer 0.2.12 → 0.2.13
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.
- package/dist/package.json +1 -1
- package/dist/src/UDocViewer.d.ts.map +1 -1
- package/dist/src/UDocViewer.js +14 -1
- package/dist/src/UDocViewer.js.map +1 -1
- package/dist/src/ui/viewer/components/LoadingOverlay.d.ts.map +1 -1
- package/dist/src/ui/viewer/components/LoadingOverlay.js +9 -2
- package/dist/src/ui/viewer/components/LoadingOverlay.js.map +1 -1
- package/dist/src/ui/viewer/styles-inline.d.ts +1 -1
- package/dist/src/ui/viewer/styles-inline.d.ts.map +1 -1
- package/dist/src/ui/viewer/styles-inline.js +0 -4
- package/dist/src/ui/viewer/styles-inline.js.map +1 -1
- package/dist/src/ui/viewer/text/render.d.ts.map +1 -1
- package/dist/src/ui/viewer/text/render.js +81 -10
- package/dist/src/ui/viewer/text/render.js.map +1 -1
- package/dist/src/wasm/udoc_bg.wasm +0 -0
- package/package.json +1 -1
package/dist/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UDocViewer.d.ts","sourceRoot":"","sources":["../../src/UDocViewer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"UDocViewer.d.ts","sourceRoot":"","sources":["../../src/UDocViewer.ts"],"names":[],"mappings":"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"}
|
package/dist/src/UDocViewer.js
CHANGED
|
@@ -543,6 +543,15 @@ export class UDocViewer {
|
|
|
543
543
|
return new Uint8Array(buffer);
|
|
544
544
|
}
|
|
545
545
|
// URL string - use streaming to report progress
|
|
546
|
+
// Show progress bar immediately before sending the request
|
|
547
|
+
if (this.uiShell) {
|
|
548
|
+
this.uiShell.dispatch({
|
|
549
|
+
type: "SET_DOWNLOAD_PROGRESS",
|
|
550
|
+
loaded: 0,
|
|
551
|
+
total: 0,
|
|
552
|
+
});
|
|
553
|
+
}
|
|
554
|
+
this.emit("download:progress", { loaded: 0, total: 0, percent: null });
|
|
546
555
|
const response = await fetch(source);
|
|
547
556
|
if (!response.ok) {
|
|
548
557
|
throw new Error(`Failed to fetch document: ${response.statusText}`);
|
|
@@ -552,6 +561,10 @@ export class UDocViewer {
|
|
|
552
561
|
// If no body or no streaming support, fall back to simple approach
|
|
553
562
|
if (!response.body) {
|
|
554
563
|
const buffer = await response.arrayBuffer();
|
|
564
|
+
// Clear download progress from UI
|
|
565
|
+
if (this.uiShell) {
|
|
566
|
+
this.uiShell.dispatch({ type: "CLEAR_DOWNLOAD_PROGRESS" });
|
|
567
|
+
}
|
|
555
568
|
return new Uint8Array(buffer);
|
|
556
569
|
}
|
|
557
570
|
const reader = response.body.getReader();
|
|
@@ -574,7 +587,7 @@ export class UDocViewer {
|
|
|
574
587
|
});
|
|
575
588
|
}
|
|
576
589
|
};
|
|
577
|
-
// Report initial progress
|
|
590
|
+
// Report initial progress with known total (transitions from indeterminate to 0%)
|
|
578
591
|
reportProgress(0);
|
|
579
592
|
while (true) {
|
|
580
593
|
const { done, value } = await reader.read();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UDocViewer.js","sourceRoot":"","sources":["../../src/UDocViewer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,gBAAgB,EAAgD,MAAM,sBAAsB,CAAC;AAKtG,OAAO,EACL,kBAAkB,EAClB,sBAAsB,GAEvB,MAAM,wBAAwB,CAAC;AAyGhC;;;;;GAKG;AACH,MAAM,OAAO,UAAU;IACb,YAAY,CAAe;IAC3B,SAAS,GAAuB,IAAI,CAAC;IACrC,OAAO,GAAuB,IAAI,CAAC;IACnC,UAAU,GAAkB,IAAI,CAAC;IACjC,UAAU,GAAG,CAAC,CAAC;IACf,SAAS,GAAe,EAAE,CAAC;IAC3B,SAAS,GAAG,KAAK,CAAC;IAClB,aAAa,GAAG,IAAI,GAAG,EAAiE,CAAC;IACzF,mBAAmB,CAAsB;IAEjD;;;OAGG;IACH,YAAY,YAA0B,EAAE,UAAyB,EAAE;QACjE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEjC,iCAAiC;QACjC,IAAI,OAAO,CAAC,wBAAwB,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,IAAI,kBAAkB,EAAE,CAAC;YACzC,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC;YACnC,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAC7B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,mBAAmB,GAAG,IAAI,sBAAsB,EAAE,CAAC;QAC1D,CAAC;QAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YACpD,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,mBAAmB,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;YAE1G,2BAA2B;YAC3B,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;gBACxB,gBAAgB,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC;aAC5E,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAEO,mBAAmB,CAAC,OAAsB;QAChD,MAAM,SAAS,GAA0B,EAAE,CAAC;QAE5C,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;YAAE,SAAS,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAChF,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;YAAE,SAAS,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAChF,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;YAAE,SAAS,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC1E,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;YAAE,SAAS,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC9D,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;YAAE,SAAS,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAC7E,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS;YAAE,SAAS,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QAC3D,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;YAAE,SAAS,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACnF,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS;YAAE,SAAS,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QACzF,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;YAAE,SAAS,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAEnF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,8EAA8E;IAC9E,mBAAmB;IACnB,8EAA8E;IAE9E;;;;OAIG;IACH,KAAK,CAAC,IAAI,CAAC,MAAkC;QAC3C,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,6CAA6C;QAC7C,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,CAAC;QAE5C,8BAA8B;QAC9B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,uBAAuB;YACvB,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YAClE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC/C,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAE7C,sBAAsB;YACtB,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAChE,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACzD,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAE5C,mEAAmE;YACnE,iFAAiF;YACjF,IAAI,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC;gBACrC,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACrF,CAAC;YAED,mCAAmC;YACnC,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAEhF,IAAI,gBAAgB,EAAE,CAAC;gBACrB,oEAAoE;gBACpE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;wBACpB,IAAI,EAAE,SAAS;wBACf,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE;wBAC5B,SAAS,EAAE,CAAC;wBACZ,SAAS,EAAE,EAAE;qBACd,CAAC,CAAC;oBACH,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7E,CAAC;gBACD,oEAAoE;gBACpE,OAAO;YACT,CAAC;YAED,8CAA8C;YAC9C,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAExC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;gBACnE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;oBACpB,IAAI,EAAE,SAAS;oBACf,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE;oBAC5B,SAAS,EAAE,IAAI,CAAC,UAAU;oBAC1B,SAAS,EAAE,IAAI,CAAC,SAAS;iBAC1B,CAAC,CAAC;gBACH,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC7C,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,KAAK,YAAY,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;YAC7D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAc,EAAE,KAAK,EAAE,CAAC,CAAC;YACrD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK;QACH,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;YAE9B,+CAA+C;YAC/C,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;YAElD,4DAA4D;YAC5D,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAE/C,0BAA0B;YAC1B,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBAC5C,6BAA6B;YAC/B,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;YAC/C,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC;IAClC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa;QACjB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,UAAW,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,YAAY,CAAC,QAAgB;QACjC,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,uCAAuC;QACvC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,UAAW,EAAE,QAAQ,CAAC,CAAC;YAEjF,IAAI,OAAO,EAAE,CAAC;gBACZ,8EAA8E;gBAC9E,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,UAAW,CAAC,CAAC;gBAClD,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAW,CAAC,CAAC;gBAE1D,mDAAmD;gBACnD,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,UAAW,CAAC,CAAC;gBAC1E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;gBAExC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC,CAAC;oBACxD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;wBACpB,IAAI,EAAE,SAAS;wBACf,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,UAAW,EAAE;wBAC7B,SAAS,EAAE,IAAI,CAAC,UAAU;wBAC1B,SAAS,EAAE,IAAI,CAAC,SAAS;qBAC1B,CAAC,CAAC;gBACL,CAAC;gBAED,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACN,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;gBACvF,CAAC;YACH,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;oBACpB,IAAI,EAAE,sBAAsB;oBAC5B,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB;iBACxE,CAAC,CAAC;YACL,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,oBAAoB,CAAC,QAAgB;QACjD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC;QAAC,MAAM,CAAC;YACP,sDAAsD;QACxD,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,uBAAuB;IACvB,8EAA8E;IAE9E;;;OAGG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,IAAI,QAAQ;QACV,+CAA+C;QAC/C,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAClC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,UAAW,CAAC,CAAC;QACjE,OAAO,GAAoB,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,IAAY;QAC5B,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,qBAAqB,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC;QACjF,CAAC;QACD,kCAAkC;QAClC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,sCAAsC;QACtC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,UAAW,EAAE,IAAI,CAAC,CAAC;QACzE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CAAC,IAAY;QACnC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAW,EAAE,IAAI,CAAC,CAAC;QAC/E,OAAO,GAAmB,CAAC;IAC7B,CAAC;IAED,8EAA8E;IAC9E,aAAa;IACb,8EAA8E;IAE9E;;OAEG;IACH,IAAI,WAAW;QACb,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC;QACtC,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,IAAY;QACnB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,WAAwB;QACtC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,WAAW,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,8EAA8E;IAC9E,iBAAiB;IACjB,8EAA8E;IAE9E;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CAAC,IAAY,EAAE,UAAyB,EAAE;QACxD,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,eAAe,CAAC,IAAY,EAAE,UAAyB,EAAE;QAC7D,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CAC1B,IAAY,EACZ,IAAgB,EAChB,UAAyB,EAAE;QAE3B,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,YAAY,CAAC;QAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;QACrC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;QAErC,MAAM,aAAa,GAAG;YACpB,KAAK,EAAE,IAAI,CAAC,UAAW;YACvB,IAAI,EAAE,IAAI,GAAG,CAAC,EAAE,4BAA4B;YAC5C,IAAI;YACJ,KAAK;SACN,CAAC;QAEF,IAAI,MAAM,CAAC;QACX,IAAI,KAAK,EAAE,CAAC;YACV,+CAA+C;YAC/C,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACN,2DAA2D;YAC3D,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;oBACpB,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,IAAI,CAAC,UAAW,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;gBACxE,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,YAAY,CAAC,4BAA4B,CAAC,IAAI,CAAC,UAAW,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;gBAC7E,CAAC;YACH,CAAC;YAED,sCAAsC;YACtC,6DAA6D;YAC7D,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAChE,CAAC;QAED,8CAA8C;QAC9C,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,qBAAqB,CACjC,MAAmB,EACnB,MAA2D,EAC3D,OAAsB;QAEtB,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC5B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC9B,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAE,CAAC;QACrC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAE5B,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YAC5B,OAAO,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,WAAW,CAAC;QACnD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;QAExC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC3C,MAAM,CAAC,MAAM,CACX,CAAC,IAAiB,EAAE,EAAE;oBACpB,IAAI,IAAI;wBAAE,OAAO,CAAC,IAAI,CAAC,CAAC;;wBACnB,MAAM,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;gBAClD,CAAC,EACD,SAAS,EACT,OAAO,CACR,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAED,WAAW;QACX,OAAO,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,8EAA8E;IAC9E,SAAS;IACT,8EAA8E;IAE9E;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAW,CAAC,CAAC;IACtD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ,CAAC,QAAiB;QAC9B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,MAAqB,CAAC,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAClF,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAEtC,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC;QACb,CAAC,CAAC,QAAQ,GAAG,QAAQ,IAAI,cAAc,CAAC;QACxC,CAAC,CAAC,KAAK,EAAE,CAAC;QAEV,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,8EAA8E;IAC9E,SAAS;IACT,8EAA8E;IAE9E;;;OAGG;IACH,EAAE,CAAiC,KAAQ,EAAE,OAAwB;QACnE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,GAAG,CAAC,OAA6C,CAAC,CAAC;QAElF,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,GAAG,CAAiC,KAAQ,EAAE,OAAwB;QACpE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,OAA6C,CAAC,CAAC;IACvF,CAAC;IAED,8EAA8E;IAC9E,YAAY;IACZ,8EAA8E;IAE9E;;OAEG;IACH,OAAO;QACL,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAE3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED,8EAA8E;IAC9E,mBAAmB;IACnB,8EAA8E;IAE9E;;;OAGG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,mBAAmB,CAAC,KAAa;QACrC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAExB,8CAA8C;QAC9C,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAExC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACpB,IAAI,EAAE,SAAS;gBACf,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE;gBAClB,SAAS,EAAE,IAAI,CAAC,UAAU;gBAC1B,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAC7D,CAAC;IAEO,gBAAgB,CAAC,SAA+B;QACtD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YAClD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,wBAAwB,SAAS,EAAE,CAAC,CAAC;YACvD,CAAC;YACD,OAAO,OAAsB,CAAC;QAChC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,MAAkC;QAC5D,IAAI,MAAM,YAAY,UAAU,EAAE,CAAC;YACjC,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,MAAM,YAAY,IAAI,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;YAC1C,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;QAED,gDAAgD;QAChD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE9D,mEAAmE;QACnE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC5C,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACzC,MAAM,MAAM,GAAiB,EAAE,CAAC;QAChC,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,iEAAiE;QACjE,MAAM,cAAc,GAAG,CAAC,aAAqB,EAAE,EAAE;YAC/C,MAAM,QAAQ,GAAG;gBACf,MAAM,EAAE,aAAa;gBACrB,KAAK;gBACL,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,aAAa,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;aACtE,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;YACzC,+CAA+C;YAC/C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;oBACpB,IAAI,EAAE,uBAAuB;oBAC7B,MAAM,EAAE,aAAa;oBACrB,KAAK;iBACN,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;QAEF,0BAA0B;QAC1B,cAAc,CAAC,CAAC,CAAC,CAAC;QAElB,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI;gBAAE,MAAM;YAEhB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC;YACvB,cAAc,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;QAED,kCAAkC;QAClC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,mCAAmC;QACnC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC;QACzB,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,IAAI,CAAiC,KAAQ,EAAE,OAA0B;QAC/E,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,IAAI,CAAC;oBACH,OAAO,CAAC,OAAO,CAAC,CAAC;gBACnB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,KAAK,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,mBAAmB;QACzB,OAAO;YACL,WAAW,EAAE,KAAK,EAAE,IAAoB,EAAE,IAAY,EAAqB,EAAE;gBAC3E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;gBACxC,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YAC9D,CAAC;YACD,UAAU,EAAE,KAAK,EAAE,GAAmB,EAA0B,EAAE;gBAChE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACvD,OAAO,GAAoB,CAAC;YAC9B,CAAC;YACD,kBAAkB,EAAE,KAAK,EAAE,GAAmB,EAAE,SAAiB,EAAyB,EAAE;gBAC1F,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;gBAC1E,OAAO,GAAmB,CAAC;YAC7B,CAAC;YACD,WAAW,EAAE,KAAK,EAAE,GAAmB,EAAE,SAAiB,EAAsB,EAAE;gBAChF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;gBACnE,OAAO,GAAgB,CAAC;YAC1B,CAAC;SACF,CAAC;IACJ,CAAC;IAEO,kBAAkB;QACxB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"UDocViewer.js","sourceRoot":"","sources":["../../src/UDocViewer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoadingOverlay.d.ts","sourceRoot":"","sources":["../../../../../src/ui/viewer/components/LoadingOverlay.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,wBAAgB,oBAAoB;;uBA8CN,WAAW,SAAS,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,KAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"LoadingOverlay.d.ts","sourceRoot":"","sources":["../../../../../src/ui/viewer/components/LoadingOverlay.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,wBAAgB,oBAAoB;;uBA8CN,WAAW,SAAS,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,KAAG,IAAI;mBA4C3D,IAAI;EAS3B"}
|
|
@@ -49,8 +49,14 @@ export function createLoadingOverlay() {
|
|
|
49
49
|
// Update progress
|
|
50
50
|
if (next.isDownloading) {
|
|
51
51
|
const { downloadLoaded, downloadTotal } = next;
|
|
52
|
-
if (downloadTotal
|
|
52
|
+
if (downloadLoaded === 0 && downloadTotal === 0) {
|
|
53
|
+
// Connecting state - show only spinner, hide progress bar
|
|
54
|
+
progressContainer.style.display = "none";
|
|
55
|
+
progressText.textContent = "Connecting...";
|
|
56
|
+
}
|
|
57
|
+
else if (downloadTotal > 0) {
|
|
53
58
|
// Known total - show determinate progress
|
|
59
|
+
progressContainer.style.display = "";
|
|
54
60
|
const percent = Math.round((downloadLoaded / downloadTotal) * 100);
|
|
55
61
|
progressFill.style.width = `${percent}%`;
|
|
56
62
|
progressFill.classList.remove("udoc-loading-progress-fill--indeterminate");
|
|
@@ -60,7 +66,8 @@ export function createLoadingOverlay() {
|
|
|
60
66
|
progressText.textContent = `${loadedMB} / ${totalMB} MB (${percent}%)`;
|
|
61
67
|
}
|
|
62
68
|
else {
|
|
63
|
-
// Unknown total - show indeterminate progress
|
|
69
|
+
// Unknown total but data is flowing - show indeterminate progress
|
|
70
|
+
progressContainer.style.display = "";
|
|
64
71
|
progressFill.style.width = "30%";
|
|
65
72
|
progressFill.classList.add("udoc-loading-progress-fill--indeterminate");
|
|
66
73
|
const loadedMB = (downloadLoaded / (1024 * 1024)).toFixed(1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoadingOverlay.js","sourceRoot":"","sources":["../../../../../src/ui/viewer/components/LoadingOverlay.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,UAAU,oBAAoB;IAChC,2BAA2B;IAC3B,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,CAAC,SAAS,GAAG,sBAAsB,CAAC;IAC3C,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAE/B,2BAA2B;IAC3B,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,CAAC,SAAS,GAAG,sBAAsB,CAAC;IAE3C,iBAAiB;IACjB,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,CAAC,SAAS,GAAG,sBAAsB,CAAC;IAC3C,OAAO,CAAC,SAAS,GAAG;;;;;;KAMnB,CAAC;IAEF,4BAA4B;IAC5B,MAAM,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACxD,iBAAiB,CAAC,SAAS,GAAG,iCAAiC,CAAC;IAEhE,4BAA4B;IAC5B,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpD,aAAa,CAAC,SAAS,GAAG,6BAA6B,CAAC;IAExD,2BAA2B;IAC3B,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACnD,YAAY,CAAC,SAAS,GAAG,4BAA4B,CAAC;IAEtD,aAAa,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACxC,iBAAiB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAE7C,uBAAuB;IACvB,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACnD,YAAY,CAAC,SAAS,GAAG,4BAA4B,CAAC;IACtD,YAAY,CAAC,WAAW,GAAG,YAAY,CAAC;IAExC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC;IACzD,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAE7B,IAAI,WAAW,GAAwB,IAAI,CAAC;IAE5C,SAAS,KAAK,CAAC,SAAsB,EAAE,KAAiC;QACpE,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAE/B,WAAW,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;YAC/C,oBAAoB;YACpB,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC;YACtC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC;YAErC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC3B,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YACxD,CAAC;YAED,kBAAkB;YAClB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;gBAE/C,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"LoadingOverlay.js","sourceRoot":"","sources":["../../../../../src/ui/viewer/components/LoadingOverlay.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const inlineStyles = ".udoc-viewer-root {\n display: flex;\n flex-direction: column;\n height: 100%;\n container-type: inline-size;\n container-name: udoc-viewer;\n}\n\n.udoc-viewer-root .udoc-toolbar-slot {\n flex: 0 0 auto;\n}\n\n.udoc-viewer-root .udoc-body-slot {\n flex: 1 1 auto;\n display: flex;\n overflow: hidden;\n}\n\n.udoc-viewer-root .udoc-left-panel-slot {\n flex: 0 0 auto;\n}\n\n.udoc-viewer-root .udoc-right-panel-slot {\n flex: 0 0 auto;\n}\n\n.udoc-viewer-root .udoc-viewport-slot {\n position: relative;\n flex: 1 1 auto;\n overflow: hidden;\n}\n\n.udoc-viewer-root .udoc-viewport {\n position: relative;\n width: 100%;\n height: 100%;\n background: #e0e0e0;\n}\n\n.udoc-viewer-root .udoc-viewport__scroll {\n width: 100%;\n height: 100%;\n overflow: auto;\n scrollbar-gutter: stable;\n}\n\n.udoc-viewer-root .udoc-viewport__container {\n position: relative;\n min-height: 100%;\n box-sizing: border-box;\n /* height set dynamically for virtual scrolling */\n}\n\n.udoc-viewer-root .udoc-viewport__watermark {\n position: absolute;\n right: 18px;\n bottom: 4px;\n padding: 2px 6px;\n font-size: 12px;\n font-weight: 500;\n color: rgba(0, 0, 0, 0.3);\n text-decoration: none;\n text-shadow: 0 1px 2px rgba(255, 255, 255, 0.5);\n z-index: 10;\n transition: color 0.15s ease;\n}\n\n.udoc-viewer-root .udoc-viewport__watermark:hover {\n color: rgba(0, 0, 0, 0.6);\n}\n\n/* Spread */\n.udoc-viewer-root .udoc-spread {\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n flex-shrink: 0;\n}\n\n.udoc-viewer-root .udoc-spread--hidden {\n display: none;\n}\n\n/* Page slot within spread */\n.udoc-viewer-root .udoc-spread__slot {\n display: flex;\n align-items: center;\n justify-content: center;\n background: white;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n}\n\n.udoc-viewer-root .udoc-viewport--seamless .udoc-spread__slot {\n box-shadow: none;\n}\n\n.udoc-viewer-root .udoc-spread__slot--empty {\n background: transparent;\n box-shadow: none;\n}\n\n.udoc-viewer-root .udoc-spread__canvas {\n display: block;\n}\n\n/* Floating Toolbar */\n.udoc-viewer-root .udoc-floating-toolbar {\n position: absolute;\n bottom: 24px;\n left: 50%;\n transform: translateX(-50%);\n display: flex;\n align-items: center;\n gap: 4px;\n padding: 6px 10px;\n background: #fff;\n border-radius: 8px;\n box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);\n z-index: 100;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__section {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__divider {\n width: 1px;\n height: 20px;\n background: rgba(0, 0, 0, 0.15);\n margin: 0 4px;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n padding: 0;\n border: none;\n border-radius: 4px;\n background: transparent;\n color: rgba(0, 0, 0, 0.7);\n cursor: pointer;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__btn:hover {\n background: rgba(0, 0, 0, 0.08);\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__btn:active {\n background: rgba(0, 0, 0, 0.15);\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__btn:disabled {\n color: rgba(0, 0, 0, 0.25);\n cursor: default;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__btn:disabled:hover {\n background: transparent;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__btn svg {\n width: 18px;\n height: 18px;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__page-info {\n display: flex;\n align-items: center;\n color: rgba(0, 0, 0, 0.8);\n font-size: 13px;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__page-input {\n width: 36px;\n padding: 2px 4px;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n background: transparent;\n color: rgba(0, 0, 0, 0.8);\n font-size: 13px;\n text-align: center;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__page-input:focus {\n outline: none;\n border-color: rgba(0, 0, 0, 0.3);\n background: white;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__page-total {\n white-space: nowrap;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__zoom-level {\n min-width: 44px;\n color: rgba(0, 0, 0, 0.8);\n font-size: 13px;\n text-align: center;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__btn--active {\n background: rgba(0, 0, 0, 0.12);\n}\n\n/* Zoom Dropdown */\n.udoc-viewer-root .udoc-zoom-dropdown {\n position: relative;\n height: 28px;\n display: flex;\n align-items: center;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__toggle {\n display: flex;\n align-items: center;\n gap: 0;\n height: 100%;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n background: transparent;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__toggle:focus-within {\n border-color: rgba(0, 0, 0, 0.3);\n background: white;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__input {\n width: 44px;\n padding: 2px 4px;\n border: none;\n border-radius: 4px 0 0 4px;\n background: transparent;\n color: rgba(0, 0, 0, 0.8);\n font-size: 13px;\n text-align: center;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__input:focus {\n outline: none;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__chevron {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 2px 2px;\n border: none;\n border-left: 1px solid rgba(0, 0, 0, 0.1);\n border-radius: 0 4px 4px 0;\n background: transparent;\n color: rgba(0, 0, 0, 0.5);\n cursor: pointer;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__chevron:hover {\n background: rgba(0, 0, 0, 0.08);\n color: rgba(0, 0, 0, 0.7);\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__chevron--active {\n background: rgba(0, 0, 0, 0.12);\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__chevron svg {\n width: 14px;\n height: 14px;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__menu {\n position: absolute;\n bottom: calc(100% + 8px);\n left: 50%;\n transform: translateX(-50%);\n padding: 6px;\n background: #fff;\n border-radius: 8px;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);\n min-width: 100px;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__section {\n display: flex;\n flex-direction: column;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__divider {\n height: 1px;\n background: rgba(0, 0, 0, 0.1);\n margin: 6px 0;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__item {\n display: block;\n width: 100%;\n padding: 6px 10px;\n border: none;\n border-radius: 4px;\n background: transparent;\n color: rgba(0, 0, 0, 0.8);\n font-size: 13px;\n text-align: left;\n cursor: pointer;\n white-space: nowrap;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__item:hover {\n background: rgba(0, 0, 0, 0.08);\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__item--active {\n background: rgba(0, 102, 204, 0.15);\n color: #0066cc;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__item--active:hover {\n background: rgba(0, 102, 204, 0.2);\n}\n\n/* View Mode Menu */\n.udoc-viewer-root .udoc-view-mode-menu {\n position: relative;\n height: 28px;\n display: flex;\n align-items: center;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__dropdown {\n position: absolute;\n bottom: calc(100% + 8px);\n left: 0;\n padding: 8px;\n background: #fff;\n border-radius: 8px;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);\n min-width: 160px;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__section {\n margin-bottom: 8px;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__section:last-child {\n margin-bottom: 0;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__title {\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n color: rgba(0, 0, 0, 0.5);\n margin-bottom: 4px;\n padding: 0 4px;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__options {\n display: flex;\n gap: 2px;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__option {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n padding: 0;\n border: none;\n border-radius: 4px;\n background: transparent;\n color: rgba(0, 0, 0, 0.6);\n cursor: pointer;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__option:hover {\n background: rgba(0, 0, 0, 0.08);\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__option--active {\n background: rgba(0, 102, 204, 0.15);\n color: #0066cc;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__option--active:hover {\n background: rgba(0, 102, 204, 0.2);\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__option--disabled {\n color: rgba(0, 0, 0, 0.25);\n cursor: default;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__option--disabled:hover {\n background: transparent;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__option-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__option-icon svg {\n width: 20px;\n height: 20px;\n}\n\n/* Left Panel */\n.udoc-viewer-root .udoc-left-panel {\n position: relative;\n display: flex;\n width: 240px;\n height: 100%;\n background: #f5f5f5;\n border-right: 1px solid #ddd;\n transition: width 0.2s ease, opacity 0.2s ease;\n}\n\n.udoc-viewer-root .udoc-left-panel--closed {\n width: 0;\n overflow: hidden;\n border-right: none;\n}\n\n.udoc-viewer-root .udoc-left-panel__tabs {\n display: flex;\n flex-direction: column;\n width: 40px;\n background: #e8e8e8;\n border-right: 1px solid #ddd;\n}\n\n.udoc-viewer-root .udoc-left-panel__tab {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n padding: 0;\n border: none;\n background: transparent;\n color: #666;\n cursor: pointer;\n}\n\n.udoc-viewer-root .udoc-left-panel__tab:hover {\n background: rgba(0, 0, 0, 0.08);\n}\n\n.udoc-viewer-root .udoc-left-panel__tab--active {\n background: #f5f5f5;\n color: #333;\n border-right: 2px solid #0066cc;\n}\n\n.udoc-viewer-root .udoc-left-panel__tab svg {\n width: 20px;\n height: 20px;\n}\n\n.udoc-viewer-root .udoc-left-panel__content {\n flex: 1;\n overflow: hidden;\n}\n\n.udoc-viewer-root .udoc-left-panel__resize-handle {\n position: absolute;\n right: 0;\n top: 0;\n width: 4px;\n height: 100%;\n cursor: col-resize;\n background: transparent;\n z-index: 10;\n}\n\n.udoc-viewer-root .udoc-left-panel__resize-handle:hover,\n.udoc-viewer-root .udoc-left-panel--resizing .udoc-left-panel__resize-handle {\n background: rgba(0, 102, 204, 0.3);\n}\n\n.udoc-viewer-root .udoc-left-panel--resizing {\n transition: none;\n}\n\n/* Thumbnail Panel */\n.udoc-viewer-root .udoc-thumbnail-panel {\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding: 12px;\n height: 100%;\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n.udoc-viewer-root .udoc-thumbnail-item {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n padding: 8px;\n border-radius: 4px;\n cursor: pointer;\n transition: background 0.15s ease;\n flex-shrink: 0;\n width: 100%;\n box-sizing: border-box;\n}\n\n.udoc-viewer-root .udoc-thumbnail-item:hover {\n background: rgba(0, 0, 0, 0.05);\n}\n\n.udoc-viewer-root .udoc-thumbnail-item--active {\n background: rgba(0, 102, 204, 0.1);\n outline: 2px solid #0066cc;\n outline-offset: -2px;\n}\n\n.udoc-viewer-root .udoc-thumbnail-item__canvas {\n display: block;\n max-width: calc(100% - 16px);\n background: white;\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);\n}\n\n.udoc-viewer-root .udoc-thumbnail-item__label {\n font-size: 11px;\n color: #666;\n text-align: center;\n}\n\n.udoc-viewer-root .udoc-thumbnail-item--active .udoc-thumbnail-item__label {\n color: #0066cc;\n font-weight: 500;\n}\n\n/* Outline Panel */\n.udoc-viewer-root .udoc-outline-panel {\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow-y: auto;\n overflow-x: hidden;\n padding: 8px 0;\n}\n\n.udoc-viewer-root .udoc-outline-panel__loading,\n.udoc-viewer-root .udoc-outline-panel__empty {\n padding: 16px;\n color: #888;\n font-size: 13px;\n text-align: center;\n}\n\n.udoc-viewer-root .udoc-outline-item {\n display: flex;\n flex-direction: column;\n}\n\n.udoc-viewer-root .udoc-outline-item__header {\n display: flex;\n align-items: center;\n padding: 6px 12px 6px 8px;\n gap: 4px;\n min-height: 28px;\n}\n\n.udoc-viewer-root .udoc-outline-item__header--clickable {\n cursor: pointer;\n}\n\n.udoc-viewer-root .udoc-outline-item__header--clickable:hover {\n background: rgba(0, 0, 0, 0.05);\n}\n\n.udoc-viewer-root .udoc-outline-item__header--active {\n background: rgba(0, 102, 204, 0.1);\n}\n\n.udoc-viewer-root .udoc-outline-item__header--active .udoc-outline-item__title {\n color: #0066cc;\n font-weight: 500;\n}\n\n.udoc-viewer-root .udoc-outline-item__toggle {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n padding: 0;\n border: none;\n background: transparent;\n color: #666;\n cursor: pointer;\n flex-shrink: 0;\n transition: transform 0.15s ease;\n}\n\n.udoc-viewer-root .udoc-outline-item__toggle:hover {\n color: #333;\n}\n\n.udoc-viewer-root .udoc-outline-item__toggle--expanded {\n transform: rotate(90deg);\n}\n\n.udoc-viewer-root .udoc-outline-item__spacer {\n width: 16px;\n flex-shrink: 0;\n}\n\n.udoc-viewer-root .udoc-outline-item__title {\n font-size: 13px;\n color: #333;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n flex: 1;\n}\n\n/* .udoc-outline-item__children: Indentation is handled via padding-left on header */\n\n.udoc-viewer-root .udoc-toolbar {\n display: flex;\n align-items: center;\n height: 40px;\n padding: 0 8px;\n background: #f5f5f5;\n border-bottom: 1px solid #ddd;\n}\n\n.udoc-viewer-root .udoc-toolbar__left,\n.udoc-viewer-root .udoc-toolbar__right {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.udoc-viewer-root .udoc-toolbar__spacer {\n flex: 1;\n}\n\n.udoc-viewer-root .udoc-toolbar__btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n padding: 0;\n border: none;\n border-radius: 4px;\n background: transparent;\n color: #555;\n cursor: pointer;\n}\n\n.udoc-viewer-root .udoc-toolbar__btn:hover {\n background: rgba(0, 0, 0, 0.08);\n}\n\n.udoc-viewer-root .udoc-toolbar__btn:active {\n background: rgba(0, 0, 0, 0.12);\n}\n\n.udoc-viewer-root .udoc-toolbar__btn svg {\n width: 20px;\n height: 20px;\n}\n\n/* Right Panel */\n.udoc-viewer-root .udoc-right-panel {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 300px;\n height: 100%;\n background: #f5f5f5;\n border-left: 1px solid #ddd;\n transition: width 0.2s ease, opacity 0.2s ease;\n}\n\n.udoc-viewer-root .udoc-right-panel--closed {\n width: 0;\n overflow: hidden;\n border-left: none;\n}\n\n.udoc-viewer-root .udoc-right-panel__resize-handle {\n position: absolute;\n left: 0;\n top: 0;\n width: 4px;\n height: 100%;\n cursor: col-resize;\n background: transparent;\n z-index: 10;\n}\n\n.udoc-viewer-root .udoc-right-panel__resize-handle:hover,\n.udoc-viewer-root .udoc-right-panel--resizing .udoc-right-panel__resize-handle {\n background: rgba(0, 102, 204, 0.3);\n}\n\n.udoc-viewer-root .udoc-right-panel--resizing {\n transition: none;\n}\n\n.udoc-viewer-root .udoc-right-panel__content {\n flex: 1;\n overflow: auto;\n}\n\n/* Text Layer (for text selection) */\n.udoc-viewer-root .udoc-spread__text-layer {\n position: absolute;\n overflow: hidden;\n /* user-select: none prevents selection from starting/extending in gaps */\n user-select: none;\n pointer-events: auto;\n z-index: 1;\n}\n\n.udoc-viewer-root .udoc-text-span {\n position: absolute;\n color: transparent;\n white-space: pre;\n line-height: 1;\n font-family: sans-serif;\n /* Allow selection on actual text spans */\n user-select: text;\n}\n\n.udoc-viewer-root .udoc-text-span::selection {\n background: rgba(0, 120, 215, 0.3);\n}\n\n/* Annotation Layer */\n.udoc-viewer-root .udoc-spread__annotation-layer {\n position: absolute;\n pointer-events: none;\n z-index: 2;\n}\n\n/* Base annotation */\n.udoc-viewer-root .udoc-annotation {\n position: absolute;\n box-sizing: border-box;\n}\n\n/* Link annotation */\n.udoc-viewer-root .udoc-annotation--link {\n pointer-events: auto;\n cursor: pointer;\n transition: background-color 0.15s ease;\n}\n\n.udoc-viewer-root .udoc-annotation--link:hover {\n background-color: rgba(0, 102, 204, 0.15);\n}\n\n/* Highlight annotation */\n.udoc-viewer-root .udoc-annotation--highlight {\n pointer-events: none;\n}\n\n.udoc-viewer-root .udoc-annotation__quad {\n mix-blend-mode: multiply;\n}\n\n/* Underline annotation */\n.udoc-viewer-root .udoc-annotation--underline {\n pointer-events: none;\n}\n\n/* StrikeOut annotation */\n.udoc-viewer-root .udoc-annotation--strikeout {\n pointer-events: none;\n}\n\n/* Squiggly annotation */\n.udoc-viewer-root .udoc-annotation--squiggly {\n pointer-events: none;\n}\n\n/* Text (sticky note) annotation */\n.udoc-viewer-root .udoc-annotation--text {\n pointer-events: auto;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: filter 0.15s ease;\n}\n\n.udoc-viewer-root .udoc-annotation--text:hover {\n filter: brightness(1.1) drop-shadow(0 1px 2px rgba(0, 0, 0, 0.3));\n}\n\n.udoc-viewer-root .udoc-annotation--text svg {\n width: 100%;\n height: 100%;\n}\n\n/* Annotation popup */\n.udoc-viewer-root .udoc-annotation-popup {\n position: absolute;\n z-index: 100;\n min-width: 200px;\n max-width: 300px;\n background: #ffffc0;\n border: 1px solid #d4d4a0;\n border-radius: 4px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);\n font-size: 12px;\n color: #333;\n pointer-events: auto;\n}\n\n.udoc-viewer-root .udoc-annotation-popup__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 6px 8px;\n background: #f0f0c0;\n border-bottom: 1px solid #d4d4a0;\n border-radius: 4px 4px 0 0;\n}\n\n.udoc-viewer-root .udoc-annotation-popup__author {\n font-weight: 600;\n color: #555;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.udoc-viewer-root .udoc-annotation-popup__close {\n width: 16px;\n height: 16px;\n border: none;\n background: transparent;\n cursor: pointer;\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n opacity: 0.6;\n flex-shrink: 0;\n margin-left: 8px;\n}\n\n.udoc-viewer-root .udoc-annotation-popup__close:hover {\n opacity: 1;\n}\n\n.udoc-viewer-root .udoc-annotation-popup__close svg {\n width: 12px;\n height: 12px;\n}\n\n.udoc-viewer-root .udoc-annotation-popup__content {\n padding: 8px;\n white-space: pre-wrap;\n word-wrap: break-word;\n max-height: 200px;\n overflow-y: auto;\n}\n\n/* FreeText annotation */\n.udoc-viewer-root .udoc-annotation--freetext {\n pointer-events: auto;\n overflow: hidden;\n font-size: 12px;\n padding: 2px;\n}\n\n/* Stamp annotation */\n.udoc-viewer-root .udoc-annotation--stamp {\n pointer-events: none;\n}\n\n/* Caret annotation - rendered via SVG, minimal styling needed */\n.udoc-viewer-root .udoc-annotation--caret {\n pointer-events: none;\n}\n\n/* Shape annotations - rendered via SVG overlay */\n.udoc-viewer-root .udoc-annotation--line,\n.udoc-viewer-root .udoc-annotation--square,\n.udoc-viewer-root .udoc-annotation--circle,\n.udoc-viewer-root .udoc-annotation--polygon,\n.udoc-viewer-root .udoc-annotation--polyLine,\n.udoc-viewer-root .udoc-annotation--ink {\n pointer-events: none;\n}\n\n/* Redact annotation */\n.udoc-viewer-root .udoc-annotation--redact {\n pointer-events: none;\n}\n\n/* Annotation Panel */\n.udoc-viewer-root .udoc-annotation-panel {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n.udoc-viewer-root .udoc-annotation-panel__placeholder {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n padding: 32px 16px;\n text-align: center;\n color: #888;\n}\n\n.udoc-viewer-root .udoc-annotation-panel__placeholder-icon {\n color: #ccc;\n margin-bottom: 12px;\n}\n\n.udoc-viewer-root .udoc-annotation-panel__placeholder-icon svg {\n width: 48px;\n height: 48px;\n}\n\n.udoc-viewer-root .udoc-annotation-panel__placeholder-title {\n font-size: 14px;\n font-weight: 500;\n color: #666;\n margin-bottom: 4px;\n}\n\n.udoc-viewer-root .udoc-annotation-panel__placeholder-message {\n font-size: 12px;\n color: #999;\n}\n\n.udoc-viewer-root .udoc-annotation-panel__loading {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n color: #888;\n font-size: 13px;\n}\n\n/* Comments List */\n.udoc-viewer-root .udoc-comments-list {\n display: flex;\n flex-direction: column;\n}\n\n/* Page Group */\n.udoc-viewer-root .udoc-comments-page-group {\n border-bottom: 1px solid #e0e0e0;\n}\n\n.udoc-viewer-root .udoc-comments-page-group:last-child {\n border-bottom: none;\n}\n\n.udoc-viewer-root .udoc-comments-page-header {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 10px 12px;\n cursor: pointer;\n user-select: none;\n background: #f0f0f0;\n transition: background 0.15s;\n}\n\n.udoc-viewer-root .udoc-comments-page-header:hover {\n background: #e8e8e8;\n}\n\n.udoc-viewer-root .udoc-comments-page-header svg {\n width: 16px;\n height: 16px;\n color: #666;\n flex-shrink: 0;\n transition: transform 0.2s ease;\n}\n\n.udoc-viewer-root .udoc-comments-page-header span {\n font-size: 13px;\n font-weight: 500;\n color: #333;\n}\n\n.udoc-viewer-root .udoc-comments-page-count {\n margin-left: auto;\n padding: 2px 6px;\n background: #ddd;\n border-radius: 10px;\n font-size: 11px;\n font-weight: 500;\n color: #666;\n}\n\n/* Collapsed state */\n.udoc-viewer-root .udoc-comments-page-group--collapsed .udoc-comments-page-header svg {\n transform: rotate(-90deg);\n}\n\n.udoc-viewer-root .udoc-comments-page-group--collapsed .udoc-comments-page-content {\n display: none;\n}\n\n/* Page Content */\n.udoc-viewer-root .udoc-comments-page-content {\n display: flex;\n flex-direction: column;\n}\n\n/* Comment Item */\n.udoc-viewer-root .udoc-comment-item {\n display: flex;\n gap: 8px;\n padding: 10px 12px;\n cursor: pointer;\n transition: background 0.15s;\n border-bottom: 1px solid #eee;\n}\n\n.udoc-viewer-root .udoc-comment-item:last-child {\n border-bottom: none;\n}\n\n.udoc-viewer-root .udoc-comment-item:hover {\n background: rgba(0, 102, 204, 0.05);\n}\n\n/* Reply indentation */\n.udoc-viewer-root .udoc-comment-reply {\n background: #fafafa;\n}\n\n.udoc-viewer-root .udoc-comment-depth-1 {\n padding-left: 28px;\n}\n\n.udoc-viewer-root .udoc-comment-depth-2 {\n padding-left: 44px;\n}\n\n.udoc-viewer-root .udoc-comment-depth-3 {\n padding-left: 60px;\n}\n\n/* Comment Icon */\n.udoc-viewer-root .udoc-comment-icon {\n flex-shrink: 0;\n width: 20px;\n height: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #888;\n}\n\n.udoc-viewer-root .udoc-comment-icon svg {\n width: 16px;\n height: 16px;\n}\n\n/* Comment Body */\n.udoc-viewer-root .udoc-comment-body {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n/* Comment Header */\n.udoc-viewer-root .udoc-comment-header {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-wrap: wrap;\n}\n\n.udoc-viewer-root .udoc-comment-author {\n font-size: 12px;\n font-weight: 600;\n color: #333;\n}\n\n/* Status Badge */\n.udoc-viewer-root .udoc-comment-status {\n padding: 1px 6px;\n border-radius: 8px;\n font-size: 10px;\n font-weight: 500;\n text-transform: capitalize;\n}\n\n.udoc-viewer-root .udoc-comment-status--accepted {\n background: #d4edda;\n color: #155724;\n}\n\n.udoc-viewer-root .udoc-comment-status--rejected {\n background: #f8d7da;\n color: #721c24;\n}\n\n.udoc-viewer-root .udoc-comment-status--completed {\n background: #cce5ff;\n color: #004085;\n}\n\n.udoc-viewer-root .udoc-comment-status--cancelled {\n background: #e2e3e5;\n color: #383d41;\n}\n\n.udoc-viewer-root .udoc-comment-status--marked {\n background: #fff3cd;\n color: #856404;\n}\n\n.udoc-viewer-root .udoc-comment-status--unmarked {\n background: #e2e3e5;\n color: #383d41;\n}\n\n/* Comment Contents */\n.udoc-viewer-root .udoc-comment-contents {\n font-size: 12px;\n color: #555;\n line-height: 1.4;\n white-space: pre-wrap;\n word-wrap: break-word;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n line-clamp: 3;\n -webkit-box-orient: vertical;\n}\n\n/* Reply Toggle */\n.udoc-viewer-root .udoc-comment-toggle {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 4px 8px;\n margin-top: 4px;\n border: none;\n border-radius: 4px;\n background: transparent;\n color: #0066cc;\n font-size: 11px;\n cursor: pointer;\n transition: background 0.15s;\n}\n\n.udoc-viewer-root .udoc-comment-toggle:hover {\n background: rgba(0, 102, 204, 0.1);\n}\n\n.udoc-viewer-root .udoc-comment-toggle svg {\n width: 12px;\n height: 12px;\n transition: transform 0.2s ease;\n}\n\n.udoc-viewer-root .udoc-comment-toggle--expanded svg {\n transform: rotate(90deg);\n}\n\n/* Replies Container */\n.udoc-viewer-root .udoc-comment-replies {\n display: flex;\n flex-direction: column;\n}\n\n.udoc-viewer-root .udoc-comment-replies--collapsed {\n display: none;\n}\n\n/* Annotation Highlight Animation */\n@keyframes udoc-annotation-pulse {\n 0% {\n box-shadow: 0 0 0 0 rgba(0, 102, 204, 0.7);\n }\n 50% {\n box-shadow: 0 0 0 8px rgba(0, 102, 204, 0.3);\n }\n 100% {\n box-shadow: 0 0 0 12px rgba(0, 102, 204, 0);\n }\n}\n\n.udoc-viewer-root .udoc-annotation--highlighted {\n animation: udoc-annotation-pulse 1.5s ease-out;\n outline: 2px solid #0066cc;\n outline-offset: 2px;\n border-radius: 2px;\n z-index: 10;\n}\n\n/* Highlight indicator for full-layer markup annotations */\n.udoc-viewer-root .udoc-annotation-highlight-indicator {\n position: absolute;\n box-sizing: border-box;\n pointer-events: none;\n animation: udoc-annotation-pulse 1.5s ease-out;\n outline: 2px solid #0066cc;\n outline-offset: 2px;\n border-radius: 2px;\n z-index: 10;\n}\n\n/* Mobile Panel Overlay */\n.udoc-viewer-root .udoc-panel-overlay {\n display: none;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.3);\n z-index: 140;\n}\n\n/* ===== Responsive: Small Mobile (\u2264480px) ===== */\n@container udoc-viewer (max-width: 480px) {\n /* Make body-slot a positioning context */\n .udoc-viewer-root .udoc-body-slot {\n position: relative;\n }\n\n /* Collapse panels to slide-out drawers */\n .udoc-viewer-root .udoc-left-panel {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 280px !important;\n z-index: 150;\n box-shadow: 4px 0 20px rgba(0, 0, 0, 0.15);\n transform: translateX(-100%);\n transition: transform 0.3s ease;\n }\n\n .udoc-viewer-root .udoc-left-panel:not(.udoc-left-panel--closed) {\n transform: translateX(0);\n }\n\n .udoc-viewer-root .udoc-left-panel--closed {\n width: 280px !important;\n transform: translateX(-100%);\n }\n\n .udoc-viewer-root .udoc-right-panel {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 280px !important;\n z-index: 150;\n box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);\n transform: translateX(100%);\n transition: transform 0.3s ease;\n }\n\n .udoc-viewer-root .udoc-right-panel:not(.udoc-right-panel--closed) {\n transform: translateX(0);\n }\n\n .udoc-viewer-root .udoc-right-panel--closed {\n width: 280px !important;\n transform: translateX(100%);\n }\n\n /* Show overlay when panel is open */\n .udoc-viewer-root.udoc-panel-open .udoc-panel-overlay {\n display: block;\n }\n\n /* Convert floating bar to full-width bottom toolbar */\n .udoc-viewer-root .udoc-floating-toolbar {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n transform: none;\n border-radius: 0;\n box-sizing: border-box;\n height: 40px;\n padding: 0 12px;\n gap: 8px;\n max-width: none;\n justify-content: center;\n box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);\n }\n\n /* Viewport scroll area needs padding for bottom toolbar */\n .udoc-viewer-root .udoc-viewport__scroll {\n padding-bottom: 40px;\n }\n\n /* Move watermark above bottom toolbar on mobile */\n .udoc-viewer-root .udoc-viewport__watermark {\n bottom: 48px;\n right: 10px;\n font-size: 11px;\n }\n\n /* Hide fullscreen button on mobile */\n .udoc-viewer-root .udoc-toolbar__btn--fullscreen {\n display: none;\n }\n\n /* Touch targets for mobile */\n .udoc-viewer-root .udoc-floating-toolbar__btn {\n padding: 6px;\n min-width: 28px;\n min-height: 28px;\n }\n\n .udoc-viewer-root .udoc-floating-toolbar__btn svg {\n width: 18px;\n height: 18px;\n }\n\n /* Larger panel tab buttons for touch */\n .udoc-viewer-root .udoc-left-panel__tabs {\n width: 44px;\n padding: 8px 0;\n }\n\n .udoc-viewer-root .udoc-left-panel__tab {\n width: 44px;\n height: 44px;\n }\n\n .udoc-viewer-root .udoc-left-panel__tab svg {\n width: 22px;\n height: 22px;\n }\n\n /* Toolbar adjustments */\n .udoc-viewer-root .udoc-toolbar {\n padding: 0 4px;\n gap: 4px;\n }\n\n .udoc-viewer-root .udoc-toolbar__btn {\n padding: 8px;\n }\n\n /* View mode menu - right align */\n .udoc-viewer-root .udoc-view-mode-menu__dropdown {\n left: auto;\n right: 0;\n }\n\n .udoc-viewer-root .udoc-zoom-dropdown__item {\n padding: 12px 16px;\n }\n\n .udoc-viewer-root .udoc-view-mode-menu__option {\n width: 36px;\n height: 36px;\n }\n}\n\n/* ===== Password Dialog ===== */\n.udoc-viewer-root .udoc-password-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.5);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 200;\n}\n\n.udoc-viewer-root .udoc-password-dialog {\n background: #fff;\n border-radius: 12px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);\n padding: 24px;\n max-width: 360px;\n width: 90%;\n}\n\n.udoc-viewer-root .udoc-password-header {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 12px;\n}\n\n.udoc-viewer-root .udoc-password-icon {\n width: 32px;\n height: 32px;\n color: #666;\n flex-shrink: 0;\n}\n\n.udoc-viewer-root .udoc-password-title {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: #333;\n}\n\n.udoc-viewer-root .udoc-password-message {\n margin: 0 0 20px 0;\n font-size: 14px;\n color: #666;\n line-height: 1.5;\n}\n\n.udoc-viewer-root .udoc-password-form {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.udoc-viewer-root .udoc-password-input-wrapper {\n display: flex;\n align-items: center;\n border: 1px solid #ddd;\n border-radius: 8px;\n background: #fff;\n transition: border-color 0.15s, box-shadow 0.15s;\n}\n\n.udoc-viewer-root .udoc-password-input-wrapper:focus-within {\n border-color: #0066cc;\n box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.15);\n}\n\n.udoc-viewer-root .udoc-password-input {\n flex: 1;\n padding: 12px 14px;\n border: none;\n border-radius: 8px 0 0 8px;\n background: transparent;\n font-size: 15px;\n color: #333;\n outline: none;\n}\n\n.udoc-viewer-root .udoc-password-input::placeholder {\n color: #999;\n}\n\n.udoc-viewer-root .udoc-password-input:disabled {\n background: #f5f5f5;\n color: #999;\n}\n\n.udoc-viewer-root .udoc-password-toggle {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 44px;\n height: 44px;\n border: none;\n background: transparent;\n color: #888;\n cursor: pointer;\n transition: color 0.15s;\n}\n\n.udoc-viewer-root .udoc-password-toggle:hover {\n color: #333;\n}\n\n.udoc-viewer-root .udoc-password-toggle svg {\n width: 20px;\n height: 20px;\n}\n\n.udoc-viewer-root .udoc-password-error {\n margin: 0;\n padding: 8px 12px;\n background: #fef2f2;\n border: 1px solid #fecaca;\n border-radius: 6px;\n font-size: 13px;\n color: #dc2626;\n}\n\n.udoc-viewer-root .udoc-password-submit {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n padding: 12px 20px;\n border: none;\n border-radius: 8px;\n background: #0066cc;\n color: #fff;\n font-size: 15px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.15s;\n}\n\n.udoc-viewer-root .udoc-password-submit:hover:not(:disabled) {\n background: #0052a3;\n}\n\n.udoc-viewer-root .udoc-password-submit:disabled {\n background: #94a3b8;\n cursor: not-allowed;\n}\n\n.udoc-viewer-root .udoc-password-submit-spinner svg {\n width: 20px;\n height: 20px;\n}\n\n/* ===== Loading Overlay ===== */\n.udoc-viewer-root .udoc-loading-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(255, 255, 255, 0.95);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 180;\n backdrop-filter: blur(2px);\n}\n\n.udoc-viewer-root .udoc-loading-content {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 16px;\n padding: 24px;\n}\n\n.udoc-viewer-root .udoc-loading-spinner {\n width: 40px;\n height: 40px;\n color: #0066cc;\n}\n\n.udoc-viewer-root .udoc-loading-spinner svg {\n width: 100%;\n height: 100%;\n}\n\n.udoc-viewer-root .udoc-loading-progress-container {\n width: 240px;\n}\n\n.udoc-viewer-root .udoc-loading-progress-track {\n width: 100%;\n height: 6px;\n background: #e5e7eb;\n border-radius: 3px;\n overflow: hidden;\n}\n\n.udoc-viewer-root .udoc-loading-progress-fill {\n height: 100%;\n background: #0066cc;\n border-radius: 3px;\n width: 0%;\n transition: width 0.2s ease-out;\n}\n\n.udoc-viewer-root .udoc-loading-progress-fill--indeterminate {\n animation: udoc-loading-indeterminate 1.5s ease-in-out infinite;\n}\n\n@keyframes udoc-loading-indeterminate {\n 0% {\n transform: translateX(-100%);\n }\n 50% {\n transform: translateX(233%);\n }\n 100% {\n transform: translateX(-100%);\n }\n}\n\n.udoc-viewer-root .udoc-loading-progress-text {\n font-size: 13px;\n color: #666;\n text-align: center;\n}\n";
|
|
1
|
+
export declare const inlineStyles = ".udoc-viewer-root {\n display: flex;\n flex-direction: column;\n height: 100%;\n container-type: inline-size;\n container-name: udoc-viewer;\n}\n\n.udoc-viewer-root .udoc-toolbar-slot {\n flex: 0 0 auto;\n}\n\n.udoc-viewer-root .udoc-body-slot {\n flex: 1 1 auto;\n display: flex;\n overflow: hidden;\n}\n\n.udoc-viewer-root .udoc-left-panel-slot {\n flex: 0 0 auto;\n}\n\n.udoc-viewer-root .udoc-right-panel-slot {\n flex: 0 0 auto;\n}\n\n.udoc-viewer-root .udoc-viewport-slot {\n position: relative;\n flex: 1 1 auto;\n overflow: hidden;\n}\n\n.udoc-viewer-root .udoc-viewport {\n position: relative;\n width: 100%;\n height: 100%;\n background: #e0e0e0;\n}\n\n.udoc-viewer-root .udoc-viewport__scroll {\n width: 100%;\n height: 100%;\n overflow: auto;\n scrollbar-gutter: stable;\n}\n\n.udoc-viewer-root .udoc-viewport__container {\n position: relative;\n min-height: 100%;\n box-sizing: border-box;\n /* height set dynamically for virtual scrolling */\n}\n\n.udoc-viewer-root .udoc-viewport__watermark {\n position: absolute;\n right: 18px;\n bottom: 4px;\n padding: 2px 6px;\n font-size: 12px;\n font-weight: 500;\n color: rgba(0, 0, 0, 0.3);\n text-decoration: none;\n text-shadow: 0 1px 2px rgba(255, 255, 255, 0.5);\n z-index: 10;\n transition: color 0.15s ease;\n}\n\n.udoc-viewer-root .udoc-viewport__watermark:hover {\n color: rgba(0, 0, 0, 0.6);\n}\n\n/* Spread */\n.udoc-viewer-root .udoc-spread {\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n flex-shrink: 0;\n}\n\n.udoc-viewer-root .udoc-spread--hidden {\n display: none;\n}\n\n/* Page slot within spread */\n.udoc-viewer-root .udoc-spread__slot {\n display: flex;\n align-items: center;\n justify-content: center;\n background: white;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n}\n\n.udoc-viewer-root .udoc-viewport--seamless .udoc-spread__slot {\n box-shadow: none;\n}\n\n.udoc-viewer-root .udoc-spread__slot--empty {\n background: transparent;\n box-shadow: none;\n}\n\n.udoc-viewer-root .udoc-spread__canvas {\n display: block;\n}\n\n/* Floating Toolbar */\n.udoc-viewer-root .udoc-floating-toolbar {\n position: absolute;\n bottom: 24px;\n left: 50%;\n transform: translateX(-50%);\n display: flex;\n align-items: center;\n gap: 4px;\n padding: 6px 10px;\n background: #fff;\n border-radius: 8px;\n box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);\n z-index: 100;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__section {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__divider {\n width: 1px;\n height: 20px;\n background: rgba(0, 0, 0, 0.15);\n margin: 0 4px;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n padding: 0;\n border: none;\n border-radius: 4px;\n background: transparent;\n color: rgba(0, 0, 0, 0.7);\n cursor: pointer;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__btn:hover {\n background: rgba(0, 0, 0, 0.08);\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__btn:active {\n background: rgba(0, 0, 0, 0.15);\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__btn:disabled {\n color: rgba(0, 0, 0, 0.25);\n cursor: default;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__btn:disabled:hover {\n background: transparent;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__btn svg {\n width: 18px;\n height: 18px;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__page-info {\n display: flex;\n align-items: center;\n color: rgba(0, 0, 0, 0.8);\n font-size: 13px;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__page-input {\n width: 36px;\n padding: 2px 4px;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n background: transparent;\n color: rgba(0, 0, 0, 0.8);\n font-size: 13px;\n text-align: center;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__page-input:focus {\n outline: none;\n border-color: rgba(0, 0, 0, 0.3);\n background: white;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__page-total {\n white-space: nowrap;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__zoom-level {\n min-width: 44px;\n color: rgba(0, 0, 0, 0.8);\n font-size: 13px;\n text-align: center;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__btn--active {\n background: rgba(0, 0, 0, 0.12);\n}\n\n/* Zoom Dropdown */\n.udoc-viewer-root .udoc-zoom-dropdown {\n position: relative;\n height: 28px;\n display: flex;\n align-items: center;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__toggle {\n display: flex;\n align-items: center;\n gap: 0;\n height: 100%;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n background: transparent;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__toggle:focus-within {\n border-color: rgba(0, 0, 0, 0.3);\n background: white;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__input {\n width: 44px;\n padding: 2px 4px;\n border: none;\n border-radius: 4px 0 0 4px;\n background: transparent;\n color: rgba(0, 0, 0, 0.8);\n font-size: 13px;\n text-align: center;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__input:focus {\n outline: none;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__chevron {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 2px 2px;\n border: none;\n border-left: 1px solid rgba(0, 0, 0, 0.1);\n border-radius: 0 4px 4px 0;\n background: transparent;\n color: rgba(0, 0, 0, 0.5);\n cursor: pointer;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__chevron:hover {\n background: rgba(0, 0, 0, 0.08);\n color: rgba(0, 0, 0, 0.7);\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__chevron--active {\n background: rgba(0, 0, 0, 0.12);\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__chevron svg {\n width: 14px;\n height: 14px;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__menu {\n position: absolute;\n bottom: calc(100% + 8px);\n left: 50%;\n transform: translateX(-50%);\n padding: 6px;\n background: #fff;\n border-radius: 8px;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);\n min-width: 100px;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__section {\n display: flex;\n flex-direction: column;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__divider {\n height: 1px;\n background: rgba(0, 0, 0, 0.1);\n margin: 6px 0;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__item {\n display: block;\n width: 100%;\n padding: 6px 10px;\n border: none;\n border-radius: 4px;\n background: transparent;\n color: rgba(0, 0, 0, 0.8);\n font-size: 13px;\n text-align: left;\n cursor: pointer;\n white-space: nowrap;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__item:hover {\n background: rgba(0, 0, 0, 0.08);\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__item--active {\n background: rgba(0, 102, 204, 0.15);\n color: #0066cc;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__item--active:hover {\n background: rgba(0, 102, 204, 0.2);\n}\n\n/* View Mode Menu */\n.udoc-viewer-root .udoc-view-mode-menu {\n position: relative;\n height: 28px;\n display: flex;\n align-items: center;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__dropdown {\n position: absolute;\n bottom: calc(100% + 8px);\n left: 0;\n padding: 8px;\n background: #fff;\n border-radius: 8px;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);\n min-width: 160px;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__section {\n margin-bottom: 8px;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__section:last-child {\n margin-bottom: 0;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__title {\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n color: rgba(0, 0, 0, 0.5);\n margin-bottom: 4px;\n padding: 0 4px;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__options {\n display: flex;\n gap: 2px;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__option {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n padding: 0;\n border: none;\n border-radius: 4px;\n background: transparent;\n color: rgba(0, 0, 0, 0.6);\n cursor: pointer;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__option:hover {\n background: rgba(0, 0, 0, 0.08);\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__option--active {\n background: rgba(0, 102, 204, 0.15);\n color: #0066cc;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__option--active:hover {\n background: rgba(0, 102, 204, 0.2);\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__option--disabled {\n color: rgba(0, 0, 0, 0.25);\n cursor: default;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__option--disabled:hover {\n background: transparent;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__option-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__option-icon svg {\n width: 20px;\n height: 20px;\n}\n\n/* Left Panel */\n.udoc-viewer-root .udoc-left-panel {\n position: relative;\n display: flex;\n width: 240px;\n height: 100%;\n background: #f5f5f5;\n border-right: 1px solid #ddd;\n}\n\n.udoc-viewer-root .udoc-left-panel--closed {\n width: 0;\n overflow: hidden;\n border-right: none;\n}\n\n.udoc-viewer-root .udoc-left-panel__tabs {\n display: flex;\n flex-direction: column;\n width: 40px;\n background: #e8e8e8;\n border-right: 1px solid #ddd;\n}\n\n.udoc-viewer-root .udoc-left-panel__tab {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n padding: 0;\n border: none;\n background: transparent;\n color: #666;\n cursor: pointer;\n}\n\n.udoc-viewer-root .udoc-left-panel__tab:hover {\n background: rgba(0, 0, 0, 0.08);\n}\n\n.udoc-viewer-root .udoc-left-panel__tab--active {\n background: #f5f5f5;\n color: #333;\n border-right: 2px solid #0066cc;\n}\n\n.udoc-viewer-root .udoc-left-panel__tab svg {\n width: 20px;\n height: 20px;\n}\n\n.udoc-viewer-root .udoc-left-panel__content {\n flex: 1;\n overflow: hidden;\n}\n\n.udoc-viewer-root .udoc-left-panel__resize-handle {\n position: absolute;\n right: 0;\n top: 0;\n width: 4px;\n height: 100%;\n cursor: col-resize;\n background: transparent;\n z-index: 10;\n}\n\n.udoc-viewer-root .udoc-left-panel__resize-handle:hover,\n.udoc-viewer-root .udoc-left-panel--resizing .udoc-left-panel__resize-handle {\n background: rgba(0, 102, 204, 0.3);\n}\n\n.udoc-viewer-root .udoc-left-panel--resizing {\n transition: none;\n}\n\n/* Thumbnail Panel */\n.udoc-viewer-root .udoc-thumbnail-panel {\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding: 12px;\n height: 100%;\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n.udoc-viewer-root .udoc-thumbnail-item {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n padding: 8px;\n border-radius: 4px;\n cursor: pointer;\n transition: background 0.15s ease;\n flex-shrink: 0;\n width: 100%;\n box-sizing: border-box;\n}\n\n.udoc-viewer-root .udoc-thumbnail-item:hover {\n background: rgba(0, 0, 0, 0.05);\n}\n\n.udoc-viewer-root .udoc-thumbnail-item--active {\n background: rgba(0, 102, 204, 0.1);\n outline: 2px solid #0066cc;\n outline-offset: -2px;\n}\n\n.udoc-viewer-root .udoc-thumbnail-item__canvas {\n display: block;\n max-width: calc(100% - 16px);\n background: white;\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);\n}\n\n.udoc-viewer-root .udoc-thumbnail-item__label {\n font-size: 11px;\n color: #666;\n text-align: center;\n}\n\n.udoc-viewer-root .udoc-thumbnail-item--active .udoc-thumbnail-item__label {\n color: #0066cc;\n font-weight: 500;\n}\n\n/* Outline Panel */\n.udoc-viewer-root .udoc-outline-panel {\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow-y: auto;\n overflow-x: hidden;\n padding: 8px 0;\n}\n\n.udoc-viewer-root .udoc-outline-panel__loading,\n.udoc-viewer-root .udoc-outline-panel__empty {\n padding: 16px;\n color: #888;\n font-size: 13px;\n text-align: center;\n}\n\n.udoc-viewer-root .udoc-outline-item {\n display: flex;\n flex-direction: column;\n}\n\n.udoc-viewer-root .udoc-outline-item__header {\n display: flex;\n align-items: center;\n padding: 6px 12px 6px 8px;\n gap: 4px;\n min-height: 28px;\n}\n\n.udoc-viewer-root .udoc-outline-item__header--clickable {\n cursor: pointer;\n}\n\n.udoc-viewer-root .udoc-outline-item__header--clickable:hover {\n background: rgba(0, 0, 0, 0.05);\n}\n\n.udoc-viewer-root .udoc-outline-item__header--active {\n background: rgba(0, 102, 204, 0.1);\n}\n\n.udoc-viewer-root .udoc-outline-item__header--active .udoc-outline-item__title {\n color: #0066cc;\n font-weight: 500;\n}\n\n.udoc-viewer-root .udoc-outline-item__toggle {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n padding: 0;\n border: none;\n background: transparent;\n color: #666;\n cursor: pointer;\n flex-shrink: 0;\n transition: transform 0.15s ease;\n}\n\n.udoc-viewer-root .udoc-outline-item__toggle:hover {\n color: #333;\n}\n\n.udoc-viewer-root .udoc-outline-item__toggle--expanded {\n transform: rotate(90deg);\n}\n\n.udoc-viewer-root .udoc-outline-item__spacer {\n width: 16px;\n flex-shrink: 0;\n}\n\n.udoc-viewer-root .udoc-outline-item__title {\n font-size: 13px;\n color: #333;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n flex: 1;\n}\n\n/* .udoc-outline-item__children: Indentation is handled via padding-left on header */\n\n.udoc-viewer-root .udoc-toolbar {\n display: flex;\n align-items: center;\n height: 40px;\n padding: 0 8px;\n background: #f5f5f5;\n border-bottom: 1px solid #ddd;\n}\n\n.udoc-viewer-root .udoc-toolbar__left,\n.udoc-viewer-root .udoc-toolbar__right {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.udoc-viewer-root .udoc-toolbar__spacer {\n flex: 1;\n}\n\n.udoc-viewer-root .udoc-toolbar__btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n padding: 0;\n border: none;\n border-radius: 4px;\n background: transparent;\n color: #555;\n cursor: pointer;\n}\n\n.udoc-viewer-root .udoc-toolbar__btn:hover {\n background: rgba(0, 0, 0, 0.08);\n}\n\n.udoc-viewer-root .udoc-toolbar__btn:active {\n background: rgba(0, 0, 0, 0.12);\n}\n\n.udoc-viewer-root .udoc-toolbar__btn svg {\n width: 20px;\n height: 20px;\n}\n\n/* Right Panel */\n.udoc-viewer-root .udoc-right-panel {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 300px;\n height: 100%;\n background: #f5f5f5;\n border-left: 1px solid #ddd;\n}\n\n.udoc-viewer-root .udoc-right-panel--closed {\n width: 0;\n overflow: hidden;\n border-left: none;\n}\n\n.udoc-viewer-root .udoc-right-panel__resize-handle {\n position: absolute;\n left: 0;\n top: 0;\n width: 4px;\n height: 100%;\n cursor: col-resize;\n background: transparent;\n z-index: 10;\n}\n\n.udoc-viewer-root .udoc-right-panel__resize-handle:hover,\n.udoc-viewer-root .udoc-right-panel--resizing .udoc-right-panel__resize-handle {\n background: rgba(0, 102, 204, 0.3);\n}\n\n.udoc-viewer-root .udoc-right-panel--resizing {\n transition: none;\n}\n\n.udoc-viewer-root .udoc-right-panel__content {\n flex: 1;\n overflow: auto;\n}\n\n/* Text Layer (for text selection) */\n.udoc-viewer-root .udoc-spread__text-layer {\n position: absolute;\n overflow: hidden;\n /* user-select: none prevents selection from starting/extending in gaps */\n user-select: none;\n pointer-events: auto;\n z-index: 1;\n}\n\n.udoc-viewer-root .udoc-text-span {\n position: absolute;\n color: transparent;\n white-space: pre;\n line-height: 1;\n font-family: sans-serif;\n /* Allow selection on actual text spans */\n user-select: text;\n}\n\n.udoc-viewer-root .udoc-text-span::selection {\n background: rgba(0, 120, 215, 0.3);\n}\n\n/* Annotation Layer */\n.udoc-viewer-root .udoc-spread__annotation-layer {\n position: absolute;\n pointer-events: none;\n z-index: 2;\n}\n\n/* Base annotation */\n.udoc-viewer-root .udoc-annotation {\n position: absolute;\n box-sizing: border-box;\n}\n\n/* Link annotation */\n.udoc-viewer-root .udoc-annotation--link {\n pointer-events: auto;\n cursor: pointer;\n transition: background-color 0.15s ease;\n}\n\n.udoc-viewer-root .udoc-annotation--link:hover {\n background-color: rgba(0, 102, 204, 0.15);\n}\n\n/* Highlight annotation */\n.udoc-viewer-root .udoc-annotation--highlight {\n pointer-events: none;\n}\n\n.udoc-viewer-root .udoc-annotation__quad {\n mix-blend-mode: multiply;\n}\n\n/* Underline annotation */\n.udoc-viewer-root .udoc-annotation--underline {\n pointer-events: none;\n}\n\n/* StrikeOut annotation */\n.udoc-viewer-root .udoc-annotation--strikeout {\n pointer-events: none;\n}\n\n/* Squiggly annotation */\n.udoc-viewer-root .udoc-annotation--squiggly {\n pointer-events: none;\n}\n\n/* Text (sticky note) annotation */\n.udoc-viewer-root .udoc-annotation--text {\n pointer-events: auto;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: filter 0.15s ease;\n}\n\n.udoc-viewer-root .udoc-annotation--text:hover {\n filter: brightness(1.1) drop-shadow(0 1px 2px rgba(0, 0, 0, 0.3));\n}\n\n.udoc-viewer-root .udoc-annotation--text svg {\n width: 100%;\n height: 100%;\n}\n\n/* Annotation popup */\n.udoc-viewer-root .udoc-annotation-popup {\n position: absolute;\n z-index: 100;\n min-width: 200px;\n max-width: 300px;\n background: #ffffc0;\n border: 1px solid #d4d4a0;\n border-radius: 4px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);\n font-size: 12px;\n color: #333;\n pointer-events: auto;\n}\n\n.udoc-viewer-root .udoc-annotation-popup__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 6px 8px;\n background: #f0f0c0;\n border-bottom: 1px solid #d4d4a0;\n border-radius: 4px 4px 0 0;\n}\n\n.udoc-viewer-root .udoc-annotation-popup__author {\n font-weight: 600;\n color: #555;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.udoc-viewer-root .udoc-annotation-popup__close {\n width: 16px;\n height: 16px;\n border: none;\n background: transparent;\n cursor: pointer;\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n opacity: 0.6;\n flex-shrink: 0;\n margin-left: 8px;\n}\n\n.udoc-viewer-root .udoc-annotation-popup__close:hover {\n opacity: 1;\n}\n\n.udoc-viewer-root .udoc-annotation-popup__close svg {\n width: 12px;\n height: 12px;\n}\n\n.udoc-viewer-root .udoc-annotation-popup__content {\n padding: 8px;\n white-space: pre-wrap;\n word-wrap: break-word;\n max-height: 200px;\n overflow-y: auto;\n}\n\n/* FreeText annotation */\n.udoc-viewer-root .udoc-annotation--freetext {\n pointer-events: auto;\n overflow: hidden;\n font-size: 12px;\n padding: 2px;\n}\n\n/* Stamp annotation */\n.udoc-viewer-root .udoc-annotation--stamp {\n pointer-events: none;\n}\n\n/* Caret annotation - rendered via SVG, minimal styling needed */\n.udoc-viewer-root .udoc-annotation--caret {\n pointer-events: none;\n}\n\n/* Shape annotations - rendered via SVG overlay */\n.udoc-viewer-root .udoc-annotation--line,\n.udoc-viewer-root .udoc-annotation--square,\n.udoc-viewer-root .udoc-annotation--circle,\n.udoc-viewer-root .udoc-annotation--polygon,\n.udoc-viewer-root .udoc-annotation--polyLine,\n.udoc-viewer-root .udoc-annotation--ink {\n pointer-events: none;\n}\n\n/* Redact annotation */\n.udoc-viewer-root .udoc-annotation--redact {\n pointer-events: none;\n}\n\n/* Annotation Panel */\n.udoc-viewer-root .udoc-annotation-panel {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n.udoc-viewer-root .udoc-annotation-panel__placeholder {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n padding: 32px 16px;\n text-align: center;\n color: #888;\n}\n\n.udoc-viewer-root .udoc-annotation-panel__placeholder-icon {\n color: #ccc;\n margin-bottom: 12px;\n}\n\n.udoc-viewer-root .udoc-annotation-panel__placeholder-icon svg {\n width: 48px;\n height: 48px;\n}\n\n.udoc-viewer-root .udoc-annotation-panel__placeholder-title {\n font-size: 14px;\n font-weight: 500;\n color: #666;\n margin-bottom: 4px;\n}\n\n.udoc-viewer-root .udoc-annotation-panel__placeholder-message {\n font-size: 12px;\n color: #999;\n}\n\n.udoc-viewer-root .udoc-annotation-panel__loading {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n color: #888;\n font-size: 13px;\n}\n\n/* Comments List */\n.udoc-viewer-root .udoc-comments-list {\n display: flex;\n flex-direction: column;\n}\n\n/* Page Group */\n.udoc-viewer-root .udoc-comments-page-group {\n border-bottom: 1px solid #e0e0e0;\n}\n\n.udoc-viewer-root .udoc-comments-page-group:last-child {\n border-bottom: none;\n}\n\n.udoc-viewer-root .udoc-comments-page-header {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 10px 12px;\n cursor: pointer;\n user-select: none;\n background: #f0f0f0;\n transition: background 0.15s;\n}\n\n.udoc-viewer-root .udoc-comments-page-header:hover {\n background: #e8e8e8;\n}\n\n.udoc-viewer-root .udoc-comments-page-header svg {\n width: 16px;\n height: 16px;\n color: #666;\n flex-shrink: 0;\n transition: transform 0.2s ease;\n}\n\n.udoc-viewer-root .udoc-comments-page-header span {\n font-size: 13px;\n font-weight: 500;\n color: #333;\n}\n\n.udoc-viewer-root .udoc-comments-page-count {\n margin-left: auto;\n padding: 2px 6px;\n background: #ddd;\n border-radius: 10px;\n font-size: 11px;\n font-weight: 500;\n color: #666;\n}\n\n/* Collapsed state */\n.udoc-viewer-root .udoc-comments-page-group--collapsed .udoc-comments-page-header svg {\n transform: rotate(-90deg);\n}\n\n.udoc-viewer-root .udoc-comments-page-group--collapsed .udoc-comments-page-content {\n display: none;\n}\n\n/* Page Content */\n.udoc-viewer-root .udoc-comments-page-content {\n display: flex;\n flex-direction: column;\n}\n\n/* Comment Item */\n.udoc-viewer-root .udoc-comment-item {\n display: flex;\n gap: 8px;\n padding: 10px 12px;\n cursor: pointer;\n transition: background 0.15s;\n border-bottom: 1px solid #eee;\n}\n\n.udoc-viewer-root .udoc-comment-item:last-child {\n border-bottom: none;\n}\n\n.udoc-viewer-root .udoc-comment-item:hover {\n background: rgba(0, 102, 204, 0.05);\n}\n\n/* Reply indentation */\n.udoc-viewer-root .udoc-comment-reply {\n background: #fafafa;\n}\n\n.udoc-viewer-root .udoc-comment-depth-1 {\n padding-left: 28px;\n}\n\n.udoc-viewer-root .udoc-comment-depth-2 {\n padding-left: 44px;\n}\n\n.udoc-viewer-root .udoc-comment-depth-3 {\n padding-left: 60px;\n}\n\n/* Comment Icon */\n.udoc-viewer-root .udoc-comment-icon {\n flex-shrink: 0;\n width: 20px;\n height: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #888;\n}\n\n.udoc-viewer-root .udoc-comment-icon svg {\n width: 16px;\n height: 16px;\n}\n\n/* Comment Body */\n.udoc-viewer-root .udoc-comment-body {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n/* Comment Header */\n.udoc-viewer-root .udoc-comment-header {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-wrap: wrap;\n}\n\n.udoc-viewer-root .udoc-comment-author {\n font-size: 12px;\n font-weight: 600;\n color: #333;\n}\n\n/* Status Badge */\n.udoc-viewer-root .udoc-comment-status {\n padding: 1px 6px;\n border-radius: 8px;\n font-size: 10px;\n font-weight: 500;\n text-transform: capitalize;\n}\n\n.udoc-viewer-root .udoc-comment-status--accepted {\n background: #d4edda;\n color: #155724;\n}\n\n.udoc-viewer-root .udoc-comment-status--rejected {\n background: #f8d7da;\n color: #721c24;\n}\n\n.udoc-viewer-root .udoc-comment-status--completed {\n background: #cce5ff;\n color: #004085;\n}\n\n.udoc-viewer-root .udoc-comment-status--cancelled {\n background: #e2e3e5;\n color: #383d41;\n}\n\n.udoc-viewer-root .udoc-comment-status--marked {\n background: #fff3cd;\n color: #856404;\n}\n\n.udoc-viewer-root .udoc-comment-status--unmarked {\n background: #e2e3e5;\n color: #383d41;\n}\n\n/* Comment Contents */\n.udoc-viewer-root .udoc-comment-contents {\n font-size: 12px;\n color: #555;\n line-height: 1.4;\n white-space: pre-wrap;\n word-wrap: break-word;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n line-clamp: 3;\n -webkit-box-orient: vertical;\n}\n\n/* Reply Toggle */\n.udoc-viewer-root .udoc-comment-toggle {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 4px 8px;\n margin-top: 4px;\n border: none;\n border-radius: 4px;\n background: transparent;\n color: #0066cc;\n font-size: 11px;\n cursor: pointer;\n transition: background 0.15s;\n}\n\n.udoc-viewer-root .udoc-comment-toggle:hover {\n background: rgba(0, 102, 204, 0.1);\n}\n\n.udoc-viewer-root .udoc-comment-toggle svg {\n width: 12px;\n height: 12px;\n transition: transform 0.2s ease;\n}\n\n.udoc-viewer-root .udoc-comment-toggle--expanded svg {\n transform: rotate(90deg);\n}\n\n/* Replies Container */\n.udoc-viewer-root .udoc-comment-replies {\n display: flex;\n flex-direction: column;\n}\n\n.udoc-viewer-root .udoc-comment-replies--collapsed {\n display: none;\n}\n\n/* Annotation Highlight Animation */\n@keyframes udoc-annotation-pulse {\n 0% {\n box-shadow: 0 0 0 0 rgba(0, 102, 204, 0.7);\n }\n 50% {\n box-shadow: 0 0 0 8px rgba(0, 102, 204, 0.3);\n }\n 100% {\n box-shadow: 0 0 0 12px rgba(0, 102, 204, 0);\n }\n}\n\n.udoc-viewer-root .udoc-annotation--highlighted {\n animation: udoc-annotation-pulse 1.5s ease-out;\n outline: 2px solid #0066cc;\n outline-offset: 2px;\n border-radius: 2px;\n z-index: 10;\n}\n\n/* Highlight indicator for full-layer markup annotations */\n.udoc-viewer-root .udoc-annotation-highlight-indicator {\n position: absolute;\n box-sizing: border-box;\n pointer-events: none;\n animation: udoc-annotation-pulse 1.5s ease-out;\n outline: 2px solid #0066cc;\n outline-offset: 2px;\n border-radius: 2px;\n z-index: 10;\n}\n\n/* Mobile Panel Overlay */\n.udoc-viewer-root .udoc-panel-overlay {\n display: none;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.3);\n z-index: 140;\n}\n\n/* ===== Responsive: Small Mobile (\u2264480px) ===== */\n@container udoc-viewer (max-width: 480px) {\n /* Make body-slot a positioning context */\n .udoc-viewer-root .udoc-body-slot {\n position: relative;\n }\n\n /* Collapse panels to slide-out drawers */\n .udoc-viewer-root .udoc-left-panel {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 280px !important;\n z-index: 150;\n box-shadow: 4px 0 20px rgba(0, 0, 0, 0.15);\n transform: translateX(-100%);\n }\n\n .udoc-viewer-root .udoc-left-panel:not(.udoc-left-panel--closed) {\n transform: translateX(0);\n }\n\n .udoc-viewer-root .udoc-left-panel--closed {\n width: 280px !important;\n transform: translateX(-100%);\n }\n\n .udoc-viewer-root .udoc-right-panel {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 280px !important;\n z-index: 150;\n box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);\n transform: translateX(100%);\n }\n\n .udoc-viewer-root .udoc-right-panel:not(.udoc-right-panel--closed) {\n transform: translateX(0);\n }\n\n .udoc-viewer-root .udoc-right-panel--closed {\n width: 280px !important;\n transform: translateX(100%);\n }\n\n /* Show overlay when panel is open */\n .udoc-viewer-root.udoc-panel-open .udoc-panel-overlay {\n display: block;\n }\n\n /* Convert floating bar to full-width bottom toolbar */\n .udoc-viewer-root .udoc-floating-toolbar {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n transform: none;\n border-radius: 0;\n box-sizing: border-box;\n height: 40px;\n padding: 0 12px;\n gap: 8px;\n max-width: none;\n justify-content: center;\n box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);\n }\n\n /* Viewport scroll area needs padding for bottom toolbar */\n .udoc-viewer-root .udoc-viewport__scroll {\n padding-bottom: 40px;\n }\n\n /* Move watermark above bottom toolbar on mobile */\n .udoc-viewer-root .udoc-viewport__watermark {\n bottom: 48px;\n right: 10px;\n font-size: 11px;\n }\n\n /* Hide fullscreen button on mobile */\n .udoc-viewer-root .udoc-toolbar__btn--fullscreen {\n display: none;\n }\n\n /* Touch targets for mobile */\n .udoc-viewer-root .udoc-floating-toolbar__btn {\n padding: 6px;\n min-width: 28px;\n min-height: 28px;\n }\n\n .udoc-viewer-root .udoc-floating-toolbar__btn svg {\n width: 18px;\n height: 18px;\n }\n\n /* Larger panel tab buttons for touch */\n .udoc-viewer-root .udoc-left-panel__tabs {\n width: 44px;\n padding: 8px 0;\n }\n\n .udoc-viewer-root .udoc-left-panel__tab {\n width: 44px;\n height: 44px;\n }\n\n .udoc-viewer-root .udoc-left-panel__tab svg {\n width: 22px;\n height: 22px;\n }\n\n /* Toolbar adjustments */\n .udoc-viewer-root .udoc-toolbar {\n padding: 0 4px;\n gap: 4px;\n }\n\n .udoc-viewer-root .udoc-toolbar__btn {\n padding: 8px;\n }\n\n /* View mode menu - right align */\n .udoc-viewer-root .udoc-view-mode-menu__dropdown {\n left: auto;\n right: 0;\n }\n\n .udoc-viewer-root .udoc-zoom-dropdown__item {\n padding: 12px 16px;\n }\n\n .udoc-viewer-root .udoc-view-mode-menu__option {\n width: 36px;\n height: 36px;\n }\n}\n\n/* ===== Password Dialog ===== */\n.udoc-viewer-root .udoc-password-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.5);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 200;\n}\n\n.udoc-viewer-root .udoc-password-dialog {\n background: #fff;\n border-radius: 12px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);\n padding: 24px;\n max-width: 360px;\n width: 90%;\n}\n\n.udoc-viewer-root .udoc-password-header {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 12px;\n}\n\n.udoc-viewer-root .udoc-password-icon {\n width: 32px;\n height: 32px;\n color: #666;\n flex-shrink: 0;\n}\n\n.udoc-viewer-root .udoc-password-title {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: #333;\n}\n\n.udoc-viewer-root .udoc-password-message {\n margin: 0 0 20px 0;\n font-size: 14px;\n color: #666;\n line-height: 1.5;\n}\n\n.udoc-viewer-root .udoc-password-form {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.udoc-viewer-root .udoc-password-input-wrapper {\n display: flex;\n align-items: center;\n border: 1px solid #ddd;\n border-radius: 8px;\n background: #fff;\n transition: border-color 0.15s, box-shadow 0.15s;\n}\n\n.udoc-viewer-root .udoc-password-input-wrapper:focus-within {\n border-color: #0066cc;\n box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.15);\n}\n\n.udoc-viewer-root .udoc-password-input {\n flex: 1;\n padding: 12px 14px;\n border: none;\n border-radius: 8px 0 0 8px;\n background: transparent;\n font-size: 15px;\n color: #333;\n outline: none;\n}\n\n.udoc-viewer-root .udoc-password-input::placeholder {\n color: #999;\n}\n\n.udoc-viewer-root .udoc-password-input:disabled {\n background: #f5f5f5;\n color: #999;\n}\n\n.udoc-viewer-root .udoc-password-toggle {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 44px;\n height: 44px;\n border: none;\n background: transparent;\n color: #888;\n cursor: pointer;\n transition: color 0.15s;\n}\n\n.udoc-viewer-root .udoc-password-toggle:hover {\n color: #333;\n}\n\n.udoc-viewer-root .udoc-password-toggle svg {\n width: 20px;\n height: 20px;\n}\n\n.udoc-viewer-root .udoc-password-error {\n margin: 0;\n padding: 8px 12px;\n background: #fef2f2;\n border: 1px solid #fecaca;\n border-radius: 6px;\n font-size: 13px;\n color: #dc2626;\n}\n\n.udoc-viewer-root .udoc-password-submit {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n padding: 12px 20px;\n border: none;\n border-radius: 8px;\n background: #0066cc;\n color: #fff;\n font-size: 15px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.15s;\n}\n\n.udoc-viewer-root .udoc-password-submit:hover:not(:disabled) {\n background: #0052a3;\n}\n\n.udoc-viewer-root .udoc-password-submit:disabled {\n background: #94a3b8;\n cursor: not-allowed;\n}\n\n.udoc-viewer-root .udoc-password-submit-spinner svg {\n width: 20px;\n height: 20px;\n}\n\n/* ===== Loading Overlay ===== */\n.udoc-viewer-root .udoc-loading-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(255, 255, 255, 0.95);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 180;\n backdrop-filter: blur(2px);\n}\n\n.udoc-viewer-root .udoc-loading-content {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 16px;\n padding: 24px;\n}\n\n.udoc-viewer-root .udoc-loading-spinner {\n width: 40px;\n height: 40px;\n color: #0066cc;\n}\n\n.udoc-viewer-root .udoc-loading-spinner svg {\n width: 100%;\n height: 100%;\n}\n\n.udoc-viewer-root .udoc-loading-progress-container {\n width: 240px;\n}\n\n.udoc-viewer-root .udoc-loading-progress-track {\n width: 100%;\n height: 6px;\n background: #e5e7eb;\n border-radius: 3px;\n overflow: hidden;\n}\n\n.udoc-viewer-root .udoc-loading-progress-fill {\n height: 100%;\n background: #0066cc;\n border-radius: 3px;\n width: 0%;\n transition: width 0.2s ease-out;\n}\n\n.udoc-viewer-root .udoc-loading-progress-fill--indeterminate {\n animation: udoc-loading-indeterminate 1.5s ease-in-out infinite;\n}\n\n@keyframes udoc-loading-indeterminate {\n 0% {\n transform: translateX(-100%);\n }\n 50% {\n transform: translateX(233%);\n }\n 100% {\n transform: translateX(-100%);\n }\n}\n\n.udoc-viewer-root .udoc-loading-progress-text {\n font-size: 13px;\n color: #666;\n text-align: center;\n}\n";
|
|
2
2
|
//# sourceMappingURL=styles-inline.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles-inline.d.ts","sourceRoot":"","sources":["../../../../src/ui/viewer/styles-inline.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"styles-inline.d.ts","sourceRoot":"","sources":["../../../../src/ui/viewer/styles-inline.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,YAAY,2rmCAskDxB,CAAC"}
|
|
@@ -419,7 +419,6 @@ export const inlineStyles = `.udoc-viewer-root {
|
|
|
419
419
|
height: 100%;
|
|
420
420
|
background: #f5f5f5;
|
|
421
421
|
border-right: 1px solid #ddd;
|
|
422
|
-
transition: width 0.2s ease, opacity 0.2s ease;
|
|
423
422
|
}
|
|
424
423
|
|
|
425
424
|
.udoc-viewer-root .udoc-left-panel--closed {
|
|
@@ -685,7 +684,6 @@ export const inlineStyles = `.udoc-viewer-root {
|
|
|
685
684
|
height: 100%;
|
|
686
685
|
background: #f5f5f5;
|
|
687
686
|
border-left: 1px solid #ddd;
|
|
688
|
-
transition: width 0.2s ease, opacity 0.2s ease;
|
|
689
687
|
}
|
|
690
688
|
|
|
691
689
|
.udoc-viewer-root .udoc-right-panel--closed {
|
|
@@ -1255,7 +1253,6 @@ export const inlineStyles = `.udoc-viewer-root {
|
|
|
1255
1253
|
z-index: 150;
|
|
1256
1254
|
box-shadow: 4px 0 20px rgba(0, 0, 0, 0.15);
|
|
1257
1255
|
transform: translateX(-100%);
|
|
1258
|
-
transition: transform 0.3s ease;
|
|
1259
1256
|
}
|
|
1260
1257
|
|
|
1261
1258
|
.udoc-viewer-root .udoc-left-panel:not(.udoc-left-panel--closed) {
|
|
@@ -1276,7 +1273,6 @@ export const inlineStyles = `.udoc-viewer-root {
|
|
|
1276
1273
|
z-index: 150;
|
|
1277
1274
|
box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);
|
|
1278
1275
|
transform: translateX(100%);
|
|
1279
|
-
transition: transform 0.3s ease;
|
|
1280
1276
|
}
|
|
1281
1277
|
|
|
1282
1278
|
.udoc-viewer-root .udoc-right-panel:not(.udoc-right-panel--closed) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles-inline.js","sourceRoot":"","sources":["../../../../src/ui/viewer/styles-inline.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,MAAM,CAAC,MAAM,YAAY,GAAG
|
|
1
|
+
{"version":3,"file":"styles-inline.js","sourceRoot":"","sources":["../../../../src/ui/viewer/styles-inline.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAskD3B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../../../src/ui/viewer/text/render.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../../../src/ui/viewer/text/render.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAuHvC;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,GAClB,IAAI,CAiJN"}
|
|
@@ -1,3 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Detect columns in text layout and sort runs in reading order.
|
|
3
|
+
*
|
|
4
|
+
* Algorithm:
|
|
5
|
+
* 1. Find horizontal gaps that indicate column boundaries
|
|
6
|
+
* 2. Group runs into columns based on X position ranges
|
|
7
|
+
* 3. Sort within each column by Y (top to bottom), then X (left to right)
|
|
8
|
+
* 4. Concatenate columns in left-to-right order
|
|
9
|
+
*
|
|
10
|
+
* @param runs - Processed runs with calculated positions
|
|
11
|
+
* @returns Runs sorted in reading order (column by column)
|
|
12
|
+
*/
|
|
13
|
+
function sortByReadingOrder(runs) {
|
|
14
|
+
if (runs.length <= 1)
|
|
15
|
+
return runs;
|
|
16
|
+
// Calculate average font size for threshold calculations
|
|
17
|
+
const avgFontSize = runs.reduce((sum, r) => sum + r.scaledFontSize, 0) / runs.length;
|
|
18
|
+
const runBounds = runs.map((run) => {
|
|
19
|
+
const { glyphs } = run.run;
|
|
20
|
+
const lastGlyph = glyphs[glyphs.length - 1];
|
|
21
|
+
const textWidth = (lastGlyph.x + lastGlyph.advance) * run.effectiveScaleX;
|
|
22
|
+
return {
|
|
23
|
+
run,
|
|
24
|
+
left: run.x,
|
|
25
|
+
right: run.x + textWidth * (run.run.transform.scaleX > 0 ? 1 : -1),
|
|
26
|
+
};
|
|
27
|
+
});
|
|
28
|
+
// Find column boundaries by detecting large horizontal gaps
|
|
29
|
+
// Sort all runs by left edge to analyze gaps
|
|
30
|
+
const sortedByLeft = [...runBounds].sort((a, b) => a.left - b.left);
|
|
31
|
+
// Build column ranges by finding significant gaps
|
|
32
|
+
// A gap wider than 2x average font size suggests a column boundary
|
|
33
|
+
const columnGapThreshold = avgFontSize * 2;
|
|
34
|
+
const columns = [];
|
|
35
|
+
for (const rb of sortedByLeft) {
|
|
36
|
+
// Find if this run belongs to an existing column
|
|
37
|
+
let foundColumn = false;
|
|
38
|
+
for (const col of columns) {
|
|
39
|
+
// Check if run overlaps or is close to this column's range
|
|
40
|
+
const overlaps = rb.left <= col.right + columnGapThreshold &&
|
|
41
|
+
rb.right >= col.left - columnGapThreshold;
|
|
42
|
+
if (overlaps) {
|
|
43
|
+
// Extend column range and add run
|
|
44
|
+
col.left = Math.min(col.left, rb.left);
|
|
45
|
+
col.right = Math.max(col.right, rb.right);
|
|
46
|
+
col.runs.push(rb.run);
|
|
47
|
+
foundColumn = true;
|
|
48
|
+
break;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
if (!foundColumn) {
|
|
52
|
+
// Create new column
|
|
53
|
+
columns.push({
|
|
54
|
+
left: rb.left,
|
|
55
|
+
right: rb.right,
|
|
56
|
+
runs: [rb.run],
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
// Sort columns left to right
|
|
61
|
+
columns.sort((a, b) => a.left - b.left);
|
|
62
|
+
// Sort runs within each column by Y (top to bottom), then X (left to right)
|
|
63
|
+
for (const col of columns) {
|
|
64
|
+
col.runs.sort((a, b) => {
|
|
65
|
+
const yDiff = a.y - b.y;
|
|
66
|
+
const lineThreshold = Math.min(a.scaledFontSize, b.scaledFontSize) * 0.5;
|
|
67
|
+
if (Math.abs(yDiff) < lineThreshold) {
|
|
68
|
+
return a.x - b.x;
|
|
69
|
+
}
|
|
70
|
+
return yDiff;
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
// Concatenate all columns in order
|
|
74
|
+
return columns.flatMap((col) => col.runs);
|
|
75
|
+
}
|
|
1
76
|
/**
|
|
2
77
|
* Render text runs to a text layer element.
|
|
3
78
|
*
|
|
@@ -37,16 +112,12 @@ export function renderTextToLayer(layer, textRuns, scale, _pageHeight) {
|
|
|
37
112
|
}
|
|
38
113
|
if (processedRuns.length === 0)
|
|
39
114
|
return;
|
|
40
|
-
//
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
return a.x - b.x;
|
|
47
|
-
}
|
|
48
|
-
return yDiff;
|
|
49
|
-
});
|
|
115
|
+
// Detect columns and sort text in reading order
|
|
116
|
+
// This prevents selection from jumping between columns
|
|
117
|
+
const sortedRuns = sortByReadingOrder(processedRuns);
|
|
118
|
+
// Replace processedRuns with sorted order
|
|
119
|
+
processedRuns.length = 0;
|
|
120
|
+
processedRuns.push(...sortedRuns);
|
|
50
121
|
// Mark end-of-line runs and calculate span heights to fill gaps
|
|
51
122
|
for (let i = 0; i < processedRuns.length - 1; i++) {
|
|
52
123
|
const current = processedRuns[i];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../../../../src/ui/viewer/text/render.ts"],"names":[],"mappings":"AAyBA;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAqB,EACrB,QAAmB,EACnB,KAAa,EACb,WAAmB;IAEnB,yBAAyB;IACzB,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;IAErB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAElC,6DAA6D;IAC7D,MAAM,aAAa,GAAmB,EAAE,CAAC;IAEzC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAEnD,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC;QAEpC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAC/B,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CACxE,CAAC;QACF,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAC/B,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CACxE,CAAC;QAEF,MAAM,cAAc,GAAG,QAAQ,GAAG,eAAe,GAAG,KAAK,CAAC;QAC1D,MAAM,CAAC,GAAG,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC;QACvC,MAAM,CAAC,GAAG,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC;QAEvC,aAAa,CAAC,IAAI,CAAC;YACjB,GAAG;YACH,CAAC;YACD,CAAC;YACD,cAAc;YACd,eAAe;YACf,eAAe;YACf,WAAW,EAAE,KAAK,EAAE,+BAA+B;YACnD,UAAU,EAAE,cAAc,EAAE,oCAAoC;SACjE,CAAC,CAAC;IACL,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEvC,
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../../../../src/ui/viewer/text/render.ts"],"names":[],"mappings":"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"}
|
|
Binary file
|