@vertesia/ui 0.73.0 → 0.74.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/esm/features/magic-pdf/DownloadPopover.js +17 -2
- package/lib/esm/features/magic-pdf/DownloadPopover.js.map +1 -1
- package/lib/esm/features/magic-pdf/MagicPdfView.js +26 -3
- package/lib/esm/features/magic-pdf/MagicPdfView.js.map +1 -1
- package/lib/esm/features/magic-pdf/PageSlider.js +21 -8
- package/lib/esm/features/magic-pdf/PageSlider.js.map +1 -1
- package/lib/esm/features/magic-pdf/PdfPageProvider.js +55 -0
- package/lib/esm/features/magic-pdf/PdfPageProvider.js.map +1 -1
- package/lib/esm/features/magic-pdf/TextPageView.js +21 -1
- package/lib/esm/features/magic-pdf/TextPageView.js.map +1 -1
- package/lib/esm/features/store/objects/layout/documentLayout.js +1 -1
- package/lib/esm/features/store/objects/layout/documentLayout.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/types/features/magic-pdf/DownloadPopover.d.ts.map +1 -1
- package/lib/types/features/magic-pdf/PageSlider.d.ts +2 -1
- package/lib/types/features/magic-pdf/PageSlider.d.ts.map +1 -1
- package/lib/types/features/magic-pdf/PdfPageProvider.d.ts +10 -0
- package/lib/types/features/magic-pdf/PdfPageProvider.d.ts.map +1 -1
- package/lib/types/features/magic-pdf/TextPageView.d.ts.map +1 -1
- package/lib/types/features/magic-pdf/types.d.ts +1 -1
- package/lib/types/features/magic-pdf/types.d.ts.map +1 -1
- package/lib/vertesia-ui-features.js +1 -1
- package/lib/vertesia-ui-features.js.map +1 -1
- package/package.json +4 -4
- package/src/features/magic-pdf/DownloadPopover.tsx +38 -5
- package/src/features/magic-pdf/MagicPdfView.tsx +31 -5
- package/src/features/magic-pdf/PageSlider.tsx +44 -14
- package/src/features/magic-pdf/PdfPageProvider.tsx +81 -0
- package/src/features/magic-pdf/TextPageView.tsx +29 -1
- package/src/features/magic-pdf/types.ts +1 -1
- package/src/features/store/objects/layout/documentLayout.tsx +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useUserSession } from "@vertesia/ui/session";
|
|
3
3
|
import { Popover } from "@vertesia/ui/widgets";
|
|
4
4
|
import { CloudDownload } from "lucide-react";
|
|
@@ -8,6 +8,21 @@ export function DownloadPopover({ object }) {
|
|
|
8
8
|
const onDownload = (name) => {
|
|
9
9
|
getResourceUrl(client, object.id, name).then(url => window.open(url, '_blank'));
|
|
10
10
|
};
|
|
11
|
-
|
|
11
|
+
const getProcessorType = () => {
|
|
12
|
+
if (object.metadata?.type === "document") {
|
|
13
|
+
const docMetadata = object.metadata;
|
|
14
|
+
return docMetadata.content_processor?.type || "xml";
|
|
15
|
+
}
|
|
16
|
+
return "xml"; // default
|
|
17
|
+
};
|
|
18
|
+
const processorType = getProcessorType();
|
|
19
|
+
const renderDownloadOptions = () => {
|
|
20
|
+
if (processorType === "markdown") {
|
|
21
|
+
return (_jsx("button", { className: "p-2 cursor-pointer hover:bg-slate-50 dark:hover:bg-slate-100", onClick: () => onDownload("document.md"), children: "document.md" }));
|
|
22
|
+
}
|
|
23
|
+
// Default XML processor options
|
|
24
|
+
return (_jsxs(_Fragment, { children: [_jsx("button", { className: "p-2 cursor-pointer hover:bg-slate-50 dark:hover:bg-slate-100", onClick: () => onDownload("annotated.pdf"), children: "annotated.pdf" }), _jsx("button", { className: "p-2 cursor-pointer hover:bg-slate-50 dark:hover:bg-slate-100", onClick: () => onDownload("document.xml"), children: "document.xml" }), _jsx("button", { className: "p-2 cursor-pointer hover:bg-slate-50 dark:hover:bg-slate-100", onClick: () => onDownload("analyzed-pages.json"), children: "analyzed-pages.json" })] }));
|
|
25
|
+
};
|
|
26
|
+
return (_jsx("div", { className: "absolute bottom-[58px] right-[20px] w-[36px] h-[36px] cursor-pointer text-indigo-400 border-indigo-400 hover:border-indigo-500 hover:text-indigo-500 border-2 rounded-full shadow-xs flex items-center justify-center", children: _jsxs(Popover, { strategy: 'absolute', placement: 'top-end', zIndex: 100, offset: 20, children: [_jsx(Popover.Trigger, { click: true, children: _jsx(CloudDownload, { className: 'size-6' }) }), _jsx(Popover.Content, { children: _jsx("div", { className: "rounded-md shadow-md border border-gray-100 bg-white dark:bg-slate-50 dark:border-slate-100 min-w-[200px] flex flex-col divide-y", children: renderDownloadOptions() }) })] }) }));
|
|
12
27
|
}
|
|
13
28
|
//# sourceMappingURL=DownloadPopover.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DownloadPopover.js","sourceRoot":"","sources":["../../../../src/features/magic-pdf/DownloadPopover.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAKnD,MAAM,UAAU,eAAe,CAAC,EAAE,MAAM,EAAwB;IAC5D,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE,CAAA;IACnC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE;QAChC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;IACpF,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"DownloadPopover.js","sourceRoot":"","sources":["../../../../src/features/magic-pdf/DownloadPopover.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAKnD,MAAM,UAAU,eAAe,CAAC,EAAE,MAAM,EAAwB;IAC5D,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE,CAAA;IACnC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE;QAChC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;IACpF,CAAC,CAAA;IAED,MAAM,gBAAgB,GAAG,GAAW,EAAE;QAClC,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;YACvC,MAAM,WAAW,GAAG,MAAM,CAAC,QAA4B,CAAC;YACxD,OAAO,WAAW,CAAC,iBAAiB,EAAE,IAAI,IAAI,KAAK,CAAC;QACxD,CAAC;QACD,OAAO,KAAK,CAAC,CAAC,UAAU;IAC5B,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IAEzC,MAAM,qBAAqB,GAAG,GAAG,EAAE;QAC/B,IAAI,aAAa,KAAK,UAAU,EAAE,CAAC;YAC/B,OAAO,CACH,iBAAQ,SAAS,EAAC,8DAA8D,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,4BAEhH,CACZ,CAAC;QACN,CAAC;QAED,gCAAgC;QAChC,OAAO,CACH,8BACI,iBAAQ,SAAS,EAAC,8DAA8D,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,8BAElH,EACT,iBAAQ,SAAS,EAAC,8DAA8D,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,6BAEjH,EACT,iBAAQ,SAAS,EAAC,8DAA8D,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,oCAExH,IACV,CACN,CAAC;IACN,CAAC,CAAC;IAEF,OAAO,CACH,cAAK,SAAS,EAAC,uNAAuN,YAClO,MAAC,OAAO,IAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,aACpE,KAAC,OAAO,CAAC,OAAO,IAAC,KAAK,kBAClB,KAAC,aAAa,IAAC,SAAS,EAAC,QAAQ,GAAG,GACtB,EAClB,KAAC,OAAO,CAAC,OAAO,cACZ,cAAK,SAAS,EAAC,kIAAkI,YAC5I,qBAAqB,EAAE,GACtB,GACQ,IACZ,GACR,CACT,CAAA;AACL,CAAC"}
|
|
@@ -17,15 +17,34 @@ export function MagicPdfView({ objectId, onClose }) {
|
|
|
17
17
|
return object ? (_jsx("div", { className: 'fixed inset-0 bg-white dark:bg-slate-700 z-50 flex items-center justify-center', children: _jsx(PdfPageProvider, { object: object, children: _jsx(MagicPdfViewImpl, { object: object, onClose: onClose }) }) })) : "Loading...";
|
|
18
18
|
}
|
|
19
19
|
function MagicPdfViewImpl({ object, onClose }) {
|
|
20
|
-
const
|
|
20
|
+
const getInitialViewType = () => {
|
|
21
|
+
if (object.metadata?.type === "document") {
|
|
22
|
+
const docMetadata = object.metadata;
|
|
23
|
+
const processorType = docMetadata.content_processor?.type;
|
|
24
|
+
if (processorType === "markdown")
|
|
25
|
+
return "markdown";
|
|
26
|
+
if (processorType === "xml")
|
|
27
|
+
return "xml";
|
|
28
|
+
}
|
|
29
|
+
return "xml"; // default
|
|
30
|
+
};
|
|
31
|
+
const getProcessorType = () => {
|
|
32
|
+
if (object.metadata?.type === "document") {
|
|
33
|
+
const docMetadata = object.metadata;
|
|
34
|
+
return docMetadata.content_processor?.type || "xml";
|
|
35
|
+
}
|
|
36
|
+
return "xml"; // default
|
|
37
|
+
};
|
|
38
|
+
const [viewType, setViewType] = useState(getInitialViewType());
|
|
21
39
|
const [pageNumber, setPageNumber] = useState(1);
|
|
40
|
+
const processorType = getProcessorType();
|
|
22
41
|
const handler = useRef(null);
|
|
23
42
|
const left = useRef(null);
|
|
24
43
|
const right = useRef(null);
|
|
25
44
|
useResizeEW({
|
|
26
45
|
handler, left, right
|
|
27
46
|
});
|
|
28
|
-
return (_jsxs(_Fragment, { children: [_jsxs("div", { ref: left, className: `absolute top-0 left-0 bottom-0 w-[50%] bg-gray-100 dark:bg-slate-800 flex items-stretch justify-stretch py-2`, children: [_jsx(PageSlider, { className: "flex-1", currentPage: pageNumber, onChange: setPageNumber }), _jsx("div", { ref: handler, className: 'w-[2px] p-[2px] m-0 bg-slate-300 cursor-ew-resize' })] }), _jsx("div", { ref: right, className: `absolute top-0 left-[50%] right-0 bottom-0 flex items-stretch justify-stretch overflow-auto p-2`, children: _jsx(TextPageView, { pageNumber: pageNumber, viewType: viewType }) }), _jsx(DownloadPopover, { object: object }), _jsx(ContentSwitcher, { type: viewType, onSwitch: setViewType }), !!onClose &&
|
|
47
|
+
return (_jsxs(_Fragment, { children: [_jsxs("div", { ref: left, className: `absolute top-0 left-0 bottom-0 w-[50%] bg-gray-100 dark:bg-slate-800 flex items-stretch justify-stretch py-2`, children: [_jsx(PageSlider, { className: "flex-1", currentPage: pageNumber, onChange: setPageNumber, object: object }), _jsx("div", { ref: handler, className: 'w-[2px] p-[2px] m-0 bg-slate-300 cursor-ew-resize' })] }), _jsx("div", { ref: right, className: `absolute top-0 left-[50%] right-0 bottom-0 flex items-stretch justify-stretch overflow-auto p-2`, children: _jsx(TextPageView, { pageNumber: pageNumber, viewType: viewType }) }), _jsx(DownloadPopover, { object: object }), processorType === "xml" && _jsx(ContentSwitcher, { type: viewType, onSwitch: setViewType }), !!onClose &&
|
|
29
48
|
_jsx("div", { className: "absolute top-6 right-7 w-9 h-9 cursor-pointer text-red-400 border-red-400 hover:border-red-500 hover:text-red-500 border-2 rounded-full shadow-xs flex items-center justify-center", onClick: onClose, children: _jsx(X, { className: 'size-6' }) })] }));
|
|
30
49
|
}
|
|
31
50
|
function ContentSwitcher({ type = "xml", onSwitch }) {
|
|
@@ -34,11 +53,15 @@ function ContentSwitcher({ type = "xml", onSwitch }) {
|
|
|
34
53
|
onSwitch("json");
|
|
35
54
|
}
|
|
36
55
|
else if (type === "json") {
|
|
56
|
+
onSwitch("markdown");
|
|
57
|
+
}
|
|
58
|
+
else if (type === "markdown") {
|
|
37
59
|
onSwitch("xml");
|
|
38
60
|
}
|
|
39
61
|
};
|
|
40
|
-
return (_jsxs("div", { className: "absolute bottom-[16px] right-[20px] w-[36px] h-[36px] cursor-pointer text-indigo-400 border-indigo-400 hover:border-indigo-500 hover:text-indigo-500 border-2 rounded-full shadow-xs flex items-center justify-center", onClick: _onSwitch, children: [type === "xml" && JSON, type === "json" && XML] }));
|
|
62
|
+
return (_jsxs("div", { className: "absolute bottom-[16px] right-[20px] w-[36px] h-[36px] cursor-pointer text-indigo-400 border-indigo-400 hover:border-indigo-500 hover:text-indigo-500 border-2 rounded-full shadow-xs flex items-center justify-center", onClick: _onSwitch, children: [type === "xml" && JSON, type === "json" && MARKDOWN, type === "markdown" && XML] }));
|
|
41
63
|
}
|
|
42
64
|
const JSON = _jsx("svg", { width: "16px", height: "16px", viewBox: "0 0 16 16", xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", children: _jsx("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M6 2.984V2h-.09c-.313 0-.616.062-.909.185a2.33 2.33 0 0 0-.775.53 2.23 2.23 0 0 0-.493.753v.001a3.542 3.542 0 0 0-.198.83v.002a6.08 6.08 0 0 0-.024.863c.012.29.018.58.018.869 0 .203-.04.393-.117.572v.001a1.504 1.504 0 0 1-.765.787 1.376 1.376 0 0 1-.558.115H2v.984h.09c.195 0 .38.04.556.121l.001.001c.178.078.329.184.455.318l.002.002c.13.13.233.285.307.465l.001.002c.078.18.117.368.117.566 0 .29-.006.58-.018.869-.012.296-.004.585.024.87v.001c.033.283.099.558.197.824v.001c.106.273.271.524.494.753.223.23.482.407.775.53.293.123.596.185.91.185H6v-.984h-.09c-.2 0-.387-.038-.563-.115a1.613 1.613 0 0 1-.457-.32 1.659 1.659 0 0 1-.309-.467c-.074-.18-.11-.37-.11-.573 0-.228.003-.453.011-.672.008-.228.008-.45 0-.665a4.639 4.639 0 0 0-.055-.64 2.682 2.682 0 0 0-.168-.609A2.284 2.284 0 0 0 3.522 8a2.284 2.284 0 0 0 .738-.955c.08-.192.135-.393.168-.602.033-.21.051-.423.055-.64.008-.22.008-.442 0-.666-.008-.224-.012-.45-.012-.678a1.47 1.47 0 0 1 .877-1.354 1.33 1.33 0 0 1 .563-.121H6zm4 10.032V14h.09c.313 0 .616-.062.909-.185.293-.123.552-.3.775-.53.223-.23.388-.48.493-.753v-.001c.1-.266.165-.543.198-.83v-.002c.028-.28.036-.567.024-.863-.012-.29-.018-.58-.018-.869 0-.203.04-.393.117-.572v-.001a1.502 1.502 0 0 1 .765-.787 1.38 1.38 0 0 1 .558-.115H14v-.984h-.09c-.196 0-.381-.04-.557-.121l-.001-.001a1.376 1.376 0 0 1-.455-.318l-.002-.002a1.415 1.415 0 0 1-.307-.465v-.002a1.405 1.405 0 0 1-.118-.566c0-.29.006-.58.018-.869a6.174 6.174 0 0 0-.024-.87v-.001a3.537 3.537 0 0 0-.197-.824v-.001a2.23 2.23 0 0 0-.494-.753 2.331 2.331 0 0 0-.775-.53 2.325 2.325 0 0 0-.91-.185H10v.984h.09c.2 0 .387.038.562.115.174.082.326.188.457.32.127.134.23.29.309.467.074.18.11.37.11.573 0 .228-.003.452-.011.672-.008.228-.008.45 0 .665.004.222.022.435.055.64.033.214.089.416.168.609a2.285 2.285 0 0 0 .738.955 2.285 2.285 0 0 0-.738.955 2.689 2.689 0 0 0-.168.602c-.033.21-.051.423-.055.64a9.15 9.15 0 0 0 0 .666c.008.224.012.45.012.678a1.471 1.471 0 0 1-.877 1.354 1.33 1.33 0 0 1-.563.121H10z" }) });
|
|
43
65
|
const XML = _jsx("svg", { width: "16px", height: "16px", viewBox: "0 0 16 16", xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", children: _jsx("path", { d: "M4.708 5.578L2.061 8.224l2.647 2.646-.708.708-3-3V7.87l3-3 .708.708zm7-.708L11 5.578l2.647 2.646L11 10.87l.708.708 3-3V7.87l-3-3zM4.908 13l.894.448 5-10L9.908 3l-5 10z" }) });
|
|
66
|
+
const MARKDOWN = _jsx("svg", { width: "16px", height: "16px", viewBox: "0 0 16 16", xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", children: _jsx("path", { d: "M14.85 3H1.15C.52 3 0 3.52 0 4.15v7.69C0 12.48.52 13 1.15 13h13.69c.64 0 1.15-.52 1.15-1.15v-7.7C16 3.52 15.48 3 14.85 3zM9 11H7.5L5.5 9l-1 1.5H3V5h1.5l1 2 2-2H9v6zm2.99.5L9.5 8H11V5h1v3h1.5l-2.51 3.5z" }) });
|
|
44
67
|
//# sourceMappingURL=MagicPdfView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MagicPdfView.js","sourceRoot":"","sources":["../../../../src/features/magic-pdf/MagicPdfView.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAOhD,MAAM,UAAU,YAAY,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAqB;IACjE,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE,CAAC;IAEpC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE7G,IAAI,KAAK,EAAE,CAAC;QACR,OAAO,KAAC,QAAQ,IAAC,KAAK,EAAC,0BAA0B,YAAE,KAAK,CAAC,OAAO,GAAY,CAAA;IAChF,CAAC;IAED,OAAO,MAAM,CAAC,CAAC,CAAC,CACZ,cAAK,SAAS,EAAC,gFAAgF,YAC3F,KAAC,eAAe,IAAC,MAAM,EAAE,MAAM,YAC3B,KAAC,gBAAgB,IAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAI,GACvC,GACjB,CACT,CAAC,CAAC,CAAC,YAAY,CAAA;AAEpB,CAAC;AAMD,SAAS,gBAAgB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAsB;IAC7D,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,
|
|
1
|
+
{"version":3,"file":"MagicPdfView.js","sourceRoot":"","sources":["../../../../src/features/magic-pdf/MagicPdfView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Center } from "@vertesia/ui/core";
|
|
3
3
|
import clsx from "clsx";
|
|
4
4
|
import { AtSignIcon, ChevronsDown, ChevronsUp, ImageIcon, InfoIcon } from "lucide-react";
|
|
@@ -7,13 +7,25 @@ import { usePdfPagesInfo } from "./PdfPageProvider";
|
|
|
7
7
|
var ImageType;
|
|
8
8
|
(function (ImageType) {
|
|
9
9
|
ImageType[ImageType["default"] = 0] = "default";
|
|
10
|
-
ImageType[ImageType["
|
|
11
|
-
ImageType[ImageType["
|
|
10
|
+
ImageType[ImageType["original"] = 1] = "original";
|
|
11
|
+
ImageType[ImageType["instrumented"] = 2] = "instrumented";
|
|
12
|
+
ImageType[ImageType["annotated"] = 3] = "annotated";
|
|
12
13
|
})(ImageType || (ImageType = {}));
|
|
13
|
-
export function PageSlider({ className, currentPage, onChange }) {
|
|
14
|
-
const
|
|
14
|
+
export function PageSlider({ className, currentPage, onChange, object }) {
|
|
15
|
+
const getProcessorType = () => {
|
|
16
|
+
if (object.metadata?.type === "document") {
|
|
17
|
+
const docMetadata = object.metadata;
|
|
18
|
+
return docMetadata.content_processor?.type || "xml";
|
|
19
|
+
}
|
|
20
|
+
return "xml"; // default
|
|
21
|
+
};
|
|
22
|
+
const getDefaultImageType = () => {
|
|
23
|
+
const processorType = getProcessorType();
|
|
24
|
+
return processorType === "markdown" ? ImageType.original : ImageType.default;
|
|
25
|
+
};
|
|
26
|
+
const [imageType, setImageType] = useState(getDefaultImageType());
|
|
15
27
|
const ref = useRef(null);
|
|
16
|
-
const { urls, annotatedUrls, instrumentedUrls } = usePdfPagesInfo();
|
|
28
|
+
const { urls, originalUrls, annotatedUrls, instrumentedUrls } = usePdfPagesInfo();
|
|
17
29
|
const goPrev = () => {
|
|
18
30
|
if (currentPage > 1) {
|
|
19
31
|
onChange(currentPage - 1);
|
|
@@ -39,8 +51,9 @@ export function PageSlider({ className, currentPage, onChange }) {
|
|
|
39
51
|
}
|
|
40
52
|
};
|
|
41
53
|
const actualUrls = imageType === ImageType.instrumented ? instrumentedUrls :
|
|
42
|
-
(imageType === ImageType.annotated ? annotatedUrls :
|
|
43
|
-
|
|
54
|
+
(imageType === ImageType.annotated ? annotatedUrls :
|
|
55
|
+
(imageType === ImageType.original ? originalUrls : urls));
|
|
56
|
+
return (_jsxs("div", { ref: ref, className: clsx('flex flex-col items-stretch gap-y-2', className), children: [_jsxs("div", { className: "flex h-5 items-center justify-center relative", children: [_jsx("button", { className: BTN_CLASS, onClick: goPrev, children: _jsx(ChevronsUp, { className: 'w-5 h-5' }) }), _jsx("div", { className: "absolute right-3 flex gap-x-1", children: getProcessorType() === "markdown" ? (_jsxs(_Fragment, { children: [_jsx("button", { className: getRadioButtonClass(ImageType.original, imageType), onClick: () => setImageType(ImageType.original), children: _jsx(ImageIcon, { className: "w-5 h-5 mt-1" }) }), _jsx("button", { className: getRadioButtonClass(ImageType.instrumented, imageType), onClick: () => setImageType(ImageType.instrumented), children: _jsx(InfoIcon, { className: "w-5 h-5 mt-1" }) })] })) : (_jsxs(_Fragment, { children: [_jsx("button", { className: getRadioButtonClass(ImageType.default, imageType), onClick: () => setImageType(ImageType.default), children: _jsx(ImageIcon, { className: "w-5 h-5 mt-1" }) }), _jsx("button", { className: getRadioButtonClass(ImageType.instrumented, imageType), onClick: () => setImageType(ImageType.instrumented), children: _jsx(InfoIcon, { className: "w-5 h-5 mt-1" }) }), _jsx("button", { className: getRadioButtonClass(ImageType.annotated, imageType), onClick: () => setImageType(ImageType.annotated), children: _jsx(AtSignIcon, { className: "w-5 h-5 mt-1" }) })] })) })] }), _jsx("div", { className: 'flex flex-col items-center gap-2 flex-1 overflow-y-auto px-2', children: actualUrls.map((url, index) => _jsx(PageThumbnail, { url: url, currentPage: currentPage, pageNumber: index + 1, onSelect: () => onChange(index + 1) }, index)) }), _jsx("div", { className: "flex h-5 items-center justify-center relative", children: _jsx("button", { className: BTN_CLASS, onClick: goNext, children: _jsx(ChevronsDown, { className: 'size-5' }) }) })] }));
|
|
44
57
|
}
|
|
45
58
|
function PageThumbnail({ url, pageNumber, currentPage, onSelect }) {
|
|
46
59
|
return (_jsxs("div", { className: "p-2 hover:bg-gray-200 dark:hover:bg-slate-600 rounded-md", "data-index": pageNumber - 1, children: [_jsx("div", { className: clsx('relative border-[2px] cursor-pointer', pageNumber === currentPage ? "border-blue-500 dark:border-pink-400" : "border-gray-300"), onClick: onSelect, children: _jsx("img", { src: url, alt: `Page ${pageNumber}` }) }), _jsx(Center, { className: "text-sm text-gray-500 dark:text-gray-400 pt-1 font-semibold align", children: pageNumber })] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageSlider.js","sourceRoot":"","sources":["../../../../src/features/magic-pdf/PageSlider.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"PageSlider.js","sourceRoot":"","sources":["../../../../src/features/magic-pdf/PageSlider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,40 @@ class PageLayoutProvider {
|
|
|
37
37
|
return content;
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
|
+
class PageMarkdownProvider {
|
|
41
|
+
totalPages;
|
|
42
|
+
markdownUrls = [];
|
|
43
|
+
cache;
|
|
44
|
+
constructor(totalPages) {
|
|
45
|
+
this.totalPages = totalPages;
|
|
46
|
+
this.cache = new Array(totalPages);
|
|
47
|
+
}
|
|
48
|
+
async loadUrls(vertesia, objectId) {
|
|
49
|
+
const markdownPromises = [];
|
|
50
|
+
for (let i = 0; i < this.totalPages; i++) {
|
|
51
|
+
markdownPromises.push(getMarkdownUrlForPage(vertesia, objectId, i + 1));
|
|
52
|
+
}
|
|
53
|
+
const markdownUrls = await Promise.all(markdownPromises);
|
|
54
|
+
this.markdownUrls = markdownUrls.map((r) => r.url);
|
|
55
|
+
}
|
|
56
|
+
async getPageMarkdown(page) {
|
|
57
|
+
const index = page - 1;
|
|
58
|
+
let content = this.cache[index];
|
|
59
|
+
if (content === undefined) {
|
|
60
|
+
const url = this.markdownUrls[index];
|
|
61
|
+
content = await fetch(url, { method: "GET" }).then((r) => {
|
|
62
|
+
if (r.ok) {
|
|
63
|
+
return r.text();
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
throw new Error("Failed to fetch markdown: " + r.statusText);
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
this.cache[index] = content;
|
|
70
|
+
}
|
|
71
|
+
return content;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
40
74
|
const PdfPageContext = createContext(undefined);
|
|
41
75
|
export function PdfPageProvider({ children, object }) {
|
|
42
76
|
const { client } = useUserSession();
|
|
@@ -60,9 +94,15 @@ function getPageAnnotatedImagePath(objectId, pageNumber, ext = ".jpg") {
|
|
|
60
94
|
function getPageInstrumentedImagePath(objectId, pageNumber, ext = ".jpg") {
|
|
61
95
|
return `${getBasePath(objectId)}/pages/page-${pageNumber}.instrumented${ext}`;
|
|
62
96
|
}
|
|
97
|
+
function getPageOriginalImagePath(objectId, pageNumber, ext = ".jpg") {
|
|
98
|
+
return `${getBasePath(objectId)}/pages/page-${pageNumber}.original${ext}`;
|
|
99
|
+
}
|
|
63
100
|
function getLayoutJsonPath(objectId, pageNumber) {
|
|
64
101
|
return `${getBasePath(objectId)}/pages/page-${pageNumber}.layout.json`;
|
|
65
102
|
}
|
|
103
|
+
function getMarkdownPath(objectId, pageNumber) {
|
|
104
|
+
return `${getBasePath(objectId)}/pages/page-${pageNumber}.md`;
|
|
105
|
+
}
|
|
66
106
|
export function getResourceUrl(vertesia, objectId, name) {
|
|
67
107
|
return vertesia.files
|
|
68
108
|
.getDownloadUrl(`${getBasePath(objectId)}/${name}`)
|
|
@@ -77,9 +117,15 @@ function getAnnotatedImageUrlForPage(vertesia, objectId, pageNumber) {
|
|
|
77
117
|
function getInstrumentedImageUrlForPage(vertesia, objectId, pageNumber) {
|
|
78
118
|
return vertesia.files.getDownloadUrl(getPageInstrumentedImagePath(objectId, pageNumber));
|
|
79
119
|
}
|
|
120
|
+
function getOriginalImageUrlForPage(vertesia, objectId, pageNumber) {
|
|
121
|
+
return vertesia.files.getDownloadUrl(getPageOriginalImagePath(objectId, pageNumber));
|
|
122
|
+
}
|
|
80
123
|
function getLayoutUrlForPage(vertesia, objectId, pageNumber) {
|
|
81
124
|
return vertesia.files.getDownloadUrl(getLayoutJsonPath(objectId, pageNumber));
|
|
82
125
|
}
|
|
126
|
+
function getMarkdownUrlForPage(vertesia, objectId, pageNumber) {
|
|
127
|
+
return vertesia.files.getDownloadUrl(getMarkdownPath(objectId, pageNumber));
|
|
128
|
+
}
|
|
83
129
|
async function getPdfPagesInfo(vertesia, object, page_count) {
|
|
84
130
|
const imageUrlPromises = [];
|
|
85
131
|
for (let i = 0; i < page_count; i++) {
|
|
@@ -96,15 +142,24 @@ async function getPdfPagesInfo(vertesia, object, page_count) {
|
|
|
96
142
|
instrumentedImageUrlPromises.push(getInstrumentedImageUrlForPage(vertesia, object.id, i + 1));
|
|
97
143
|
}
|
|
98
144
|
const instrumentedImageUrls = await Promise.all(instrumentedImageUrlPromises);
|
|
145
|
+
const originalImageUrlPromises = [];
|
|
146
|
+
for (let i = 0; i < page_count; i++) {
|
|
147
|
+
originalImageUrlPromises.push(getOriginalImageUrlForPage(vertesia, object.id, i + 1));
|
|
148
|
+
}
|
|
149
|
+
const originalImageUrls = await Promise.all(originalImageUrlPromises);
|
|
99
150
|
const layoutProvider = new PageLayoutProvider(page_count);
|
|
100
151
|
await layoutProvider.loadUrls(vertesia, object.id);
|
|
152
|
+
const markdownProvider = new PageMarkdownProvider(page_count);
|
|
153
|
+
await markdownProvider.loadUrls(vertesia, object.id);
|
|
101
154
|
const xml = object.text ? cleanXml(object.text) : "";
|
|
102
155
|
return {
|
|
103
156
|
count: page_count,
|
|
104
157
|
urls: imageUrls.map((r) => r.url),
|
|
158
|
+
originalUrls: originalImageUrls.map((r) => r.url),
|
|
105
159
|
annotatedUrls: annotatedImageUrls.map((r) => r.url),
|
|
106
160
|
instrumentedUrls: instrumentedImageUrls.map((r) => r.url),
|
|
107
161
|
layoutProvider,
|
|
162
|
+
markdownProvider,
|
|
108
163
|
xml,
|
|
109
164
|
xmlPages: object.text ? extractXmlPages(xml) : [],
|
|
110
165
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PdfPageProvider.js","sourceRoot":"","sources":["../../../../src/features/magic-pdf/PdfPageProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAOtD,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAElE,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,MAAM,0BAA0B,GAAG,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"PdfPageProvider.js","sourceRoot":"","sources":["../../../../src/features/magic-pdf/PdfPageProvider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { JSONCode, XMLViewer } from '@vertesia/ui/widgets';
|
|
3
3
|
import { useEffect, useLayoutEffect, useState } from "react";
|
|
4
|
+
import Markdown from "react-markdown";
|
|
5
|
+
import remarkGfm from "remark-gfm";
|
|
4
6
|
import { usePdfPagesInfo } from "./PdfPageProvider";
|
|
5
7
|
const darkTheme = {
|
|
6
8
|
attributeKeyColor: '#FFD700',
|
|
@@ -12,7 +14,14 @@ const darkTheme = {
|
|
|
12
14
|
cdataColor: "#33CC66",
|
|
13
15
|
};
|
|
14
16
|
export function TextPageView({ viewType, pageNumber }) {
|
|
15
|
-
|
|
17
|
+
switch (viewType) {
|
|
18
|
+
case "json":
|
|
19
|
+
return _jsx(JsonPageLayoutView, { pageNumber: pageNumber });
|
|
20
|
+
case "markdown":
|
|
21
|
+
return _jsx(MarkdownPageView, { pageNumber: pageNumber });
|
|
22
|
+
default:
|
|
23
|
+
return _jsx(XmlPageView, { pageNumber: pageNumber });
|
|
24
|
+
}
|
|
16
25
|
}
|
|
17
26
|
function XmlPageView({ pageNumber }) {
|
|
18
27
|
const [theme, setTheme] = useState();
|
|
@@ -41,4 +50,15 @@ function JsonPageLayoutView({ pageNumber }) {
|
|
|
41
50
|
}, [pageNumber]);
|
|
42
51
|
return (content && _jsx(JSONCode, { className: "w-full", data: content }));
|
|
43
52
|
}
|
|
53
|
+
function MarkdownPageView({ pageNumber }) {
|
|
54
|
+
const [content, setContent] = useState();
|
|
55
|
+
const { markdownProvider } = usePdfPagesInfo();
|
|
56
|
+
useEffect(() => {
|
|
57
|
+
markdownProvider.getPageMarkdown(pageNumber).then(setContent).catch((err) => {
|
|
58
|
+
console.error(err);
|
|
59
|
+
setContent(undefined);
|
|
60
|
+
});
|
|
61
|
+
}, [pageNumber]);
|
|
62
|
+
return (_jsx("div", { className: "px-4 py-2 prose prose-sm max-w-none dark:prose-invert", children: content ? _jsx(Markdown, { remarkPlugins: [remarkGfm], children: content }) : _jsx("div", { children: "No markdown content available" }) }));
|
|
63
|
+
}
|
|
44
64
|
//# sourceMappingURL=TextPageView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextPageView.js","sourceRoot":"","sources":["../../../../src/features/magic-pdf/TextPageView.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAS,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIpD,MAAM,SAAS,GAAU;IACrB,iBAAiB,EAAE,SAAS;IAC5B,mBAAmB,EAAE,SAAS;IAC9B,QAAQ,EAAE,SAAS;IACnB,SAAS,EAAE,SAAS;IACpB,cAAc,EAAE,SAAS;IACzB,YAAY,EAAE,SAAS;IACvB,UAAU,EAAE,SAAS;CACxB,CAAA;AAMD,MAAM,UAAU,YAAY,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAqB;IACpE,
|
|
1
|
+
{"version":3,"file":"TextPageView.js","sourceRoot":"","sources":["../../../../src/features/magic-pdf/TextPageView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { Table, TBody, Spinner } from "@vertesia/ui/core";
|
|
|
3
3
|
import clsx from "clsx";
|
|
4
4
|
import { DocumentIcon } from "../components/DocumentIcon";
|
|
5
5
|
export function DocumentTableView({ objects, selection, isLoading, onRowClick, columns, toggleAll, onSelectionChange }) {
|
|
6
|
-
return (_jsxs(Table, { className: "w-full border-t", children: [_jsx("thead", { children: _jsxs("tr", { children: [selection && _jsx("th", { children: _jsx("input", { type: "checkbox", onChange: toggleAll }) }), columns.map((col) => (_jsx("th", { children: col.name }, col.name)))] }) }), _jsxs(TBody, { isLoading: isLoading, columns: columns.length, children: [objects?.map((obj) => {
|
|
6
|
+
return (_jsxs(Table, { className: "w-full border-t", children: [_jsx("thead", { children: _jsxs("tr", { children: [selection && _jsx("th", { children: _jsx("input", { type: "checkbox", onChange: toggleAll }) }), columns.map((col) => (_jsx("th", { children: col.name }, col.name)))] }) }), _jsxs(TBody, { isLoading: isLoading, columns: columns.length + 1, children: [objects?.map((obj) => {
|
|
7
7
|
return (_jsxs("tr", { className: 'cursor-pointer hover:bg-muted', onClick: () => {
|
|
8
8
|
onRowClick && onRowClick(obj);
|
|
9
9
|
}, children: [selection &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documentLayout.js","sourceRoot":"","sources":["../../../../../../src/features/store/objects/layout/documentLayout.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAe1D,MAAM,UAAU,iBAAiB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAa;IAC7H,OAAO,CACH,MAAC,KAAK,IAAC,SAAS,EAAC,iBAAiB,aAC9B,0BACI,yBACK,SAAS,IAAI,uBAAI,gBAAO,IAAI,EAAC,UAAU,EAAC,QAAQ,EAAE,SAAS,GAAI,GAAK,EACpE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAClB,uBAAoB,GAAG,CAAC,IAAI,IAAnB,GAAG,CAAC,IAAI,CAAiB,CACrC,CAAC,IACD,GACD,EACR,MAAC,KAAK,IAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"documentLayout.js","sourceRoot":"","sources":["../../../../../../src/features/store/objects/layout/documentLayout.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAe1D,MAAM,UAAU,iBAAiB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAa;IAC7H,OAAO,CACH,MAAC,KAAK,IAAC,SAAS,EAAC,iBAAiB,aAC9B,0BACI,yBACK,SAAS,IAAI,uBAAI,gBAAO,IAAI,EAAC,UAAU,EAAC,QAAQ,EAAE,SAAS,GAAI,GAAK,EACpE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAClB,uBAAoB,GAAG,CAAC,IAAI,IAAnB,GAAG,CAAC,IAAI,CAAiB,CACrC,CAAC,IACD,GACD,EACR,MAAC,KAAK,IAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,aAEhD,OAAO,EAAE,GAAG,CAAC,CAAC,GAAsB,EAAE,EAAE;wBACpC,OAAO,CACH,cAAiB,SAAS,EAAC,+BAA+B,EAAC,OAAO,EAAE,GAAG,EAAE;gCACrE,UAAU,IAAI,UAAU,CAAC,GAAG,CAAC,CAAA;4BACjC,CAAC,aACI,SAAS;oCACN,aAAI,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,YACnC,gBAAO,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,EAAC,UAAU,EACzD,QAAQ,EAAE,CAAC,EAAiC,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAI,GAClF,EAER,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,KAT/C,GAAG,CAAC,EAAE,CAUV,CACR,CAAA;oBACL,CAAC,CAAC,EAEL,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,uBAAI,aAAI,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAC,aAAa,mGAAwF,GAAK,IAChM,IACJ,CACX,CAAA;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,iBAAiB,EAAE,UAAU,EAAa;IAExG,OAAO,CACH,8BACI,cAAK,SAAS,EAAE,IAAI,CAAC,4EAA4E,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,YAC9H,KAAC,OAAO,IAAC,IAAI,EAAC,IAAI,GAAG,GACnB,EACN,cAAK,SAAS,EAAC,kCAAkC,YAC5C,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACvB,KAAC,YAAY,IAAmB,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,IAAnH,QAAQ,CAAC,EAAE,CAA4G,CAC7I,CAAC,GACA,IACP,CACN,CAAA;AACL,CAAC"}
|