react-docxodus-viewer 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,125 @@
1
- import { jsxs as a, jsx as e, Fragment as ke } from "react/jsx-runtime";
2
- import { useMemo as ee, useState as d, useRef as Pe, useCallback as x, useEffect as O } from "react";
3
- import { useDocxodus as we, PaginatedDocument as xe } from "docxodus/react";
4
- import { PaginationMode as Me, AnnotationLabelMode as M, CommentRenderMode as S } from "docxodus";
5
- const Se = {
1
+ import { jsx as e, jsxs as n, Fragment as Be } from "react/jsx-runtime";
2
+ import { useState as d, useMemo as E, useRef as pe, useEffect as j, useCallback as k } from "react";
3
+ import { useDocxodus as Te, PaginatedDocument as Ee } from "docxodus/react";
4
+ import { isFormatChange as f, isMove as $, isDeletion as _, isInsertion as q, PaginationMode as $e, AnnotationLabelMode as O, CommentRenderMode as T } from "docxodus";
5
+ import { RevisionType as Zg, isDeletion as ug, isFormatChange as hg, isInsertion as Vg, isMove as vg } from "docxodus";
6
+ function H() {
7
+ return `${Date.now()}-${Math.random().toString(36).slice(2, 11)}`;
8
+ }
9
+ async function z(I) {
10
+ if (I instanceof Uint8Array)
11
+ return I;
12
+ const s = await I.arrayBuffer();
13
+ return new Uint8Array(s);
14
+ }
15
+ function _e() {
16
+ if (typeof document < "u") {
17
+ const I = document.querySelectorAll('script[src*="docxodus"]');
18
+ if (I.length > 0) {
19
+ const s = I[0].src;
20
+ return s.substring(0, s.lastIndexOf("/") + 1) + "wasm/";
21
+ }
22
+ }
23
+ return "/wasm/";
24
+ }
25
+ async function qe(I) {
26
+ const s = I?.wasmBasePath ?? _e(), p = new URL("data:text/javascript;base64,Ly8gc3JjL2RvY3hvZHVzLndvcmtlci50cwp2YXIgd2FzbUV4cG9ydHMgPSBudWxsOwp2YXIgaW5pdFByb21pc2UgPSBudWxsOwphc3luYyBmdW5jdGlvbiBpbml0aWFsaXplV2FzbShiYXNlUGF0aCkgewogIGlmICh3YXNtRXhwb3J0cykgewogICAgcmV0dXJuOwogIH0KICBpZiAoaW5pdFByb21pc2UpIHsKICAgIHJldHVybiBpbml0UHJvbWlzZTsKICB9CiAgaW5pdFByb21pc2UgPSAoYXN5bmMgKCkgPT4gewogICAgdHJ5IHsKICAgICAgY29uc3Qgbm9ybWFsaXplZFBhdGggPSBiYXNlUGF0aC5lbmRzV2l0aCgiLyIpID8gYmFzZVBhdGggOiBiYXNlUGF0aCArICIvIjsKICAgICAgY29uc3QgZG90bmV0TW9kdWxlID0gYXdhaXQgaW1wb3J0KAogICAgICAgIC8qIHdlYnBhY2tJZ25vcmU6IHRydWUgKi8KICAgICAgICBgJHtub3JtYWxpemVkUGF0aH1fZnJhbWV3b3JrL2RvdG5ldC5qc2AKICAgICAgKTsKICAgICAgY29uc3QgeyBnZXRBc3NlbWJseUV4cG9ydHMsIGdldENvbmZpZyB9ID0gYXdhaXQgZG90bmV0TW9kdWxlLmRvdG5ldC53aXRoRGlhZ25vc3RpY1RyYWNpbmcoZmFsc2UpLmNyZWF0ZSgpOwogICAgICBjb25zdCBjb25maWcgPSBnZXRDb25maWcoKTsKICAgICAgY29uc3QgZXhwb3J0cyA9IGF3YWl0IGdldEFzc2VtYmx5RXhwb3J0cyhjb25maWcubWFpbkFzc2VtYmx5TmFtZSk7CiAgICAgIHdhc21FeHBvcnRzID0gewogICAgICAgIERvY3VtZW50Q29udmVydGVyOiBleHBvcnRzLkRvY3hvZHVzV2FzbS5Eb2N1bWVudENvbnZlcnRlciwKICAgICAgICBEb2N1bWVudENvbXBhcmVyOiBleHBvcnRzLkRvY3hvZHVzV2FzbS5Eb2N1bWVudENvbXBhcmVyCiAgICAgIH07CiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICBpbml0UHJvbWlzZSA9IG51bGw7CiAgICAgIHRocm93IGVycm9yOwogICAgfQogIH0pKCk7CiAgcmV0dXJuIGluaXRQcm9taXNlOwp9CmZ1bmN0aW9uIGVuc3VyZUluaXRpYWxpemVkKCkgewogIGlmICghd2FzbUV4cG9ydHMpIHsKICAgIHRocm93IG5ldyBFcnJvcigiV29ya2VyIG5vdCBpbml0aWFsaXplZC4gQ2FsbCBpbml0IGZpcnN0LiIpOwogIH0KICByZXR1cm4gd2FzbUV4cG9ydHM7Cn0KZnVuY3Rpb24gaXNFcnJvclJlc3BvbnNlKHJlc3VsdCkgewogIHJldHVybiByZXN1bHQuc3RhcnRzV2l0aCgieyIpICYmIHJlc3VsdC5pbmNsdWRlcygnIkVycm9yIicpOwp9CmZ1bmN0aW9uIHBhcnNlRXJyb3IocmVzdWx0KSB7CiAgdHJ5IHsKICAgIGNvbnN0IHBhcnNlZCA9IEpTT04ucGFyc2UocmVzdWx0KTsKICAgIHJldHVybiB7IGVycm9yOiBwYXJzZWQuRXJyb3IgfHwgcGFyc2VkLmVycm9yIHx8ICJVbmtub3duIGVycm9yIiB9OwogIH0gY2F0Y2ggewogICAgcmV0dXJuIHsgZXJyb3I6IHJlc3VsdCB9OwogIH0KfQpmdW5jdGlvbiBoYW5kbGVDb252ZXJ0KHJlcXVlc3QpIHsKICBjb25zdCBleHBvcnRzID0gZW5zdXJlSW5pdGlhbGl6ZWQoKTsKICBjb25zdCBvcHRpb25zID0gcmVxdWVzdC5vcHRpb25zOwogIHRyeSB7CiAgICBsZXQgcmVzdWx0OwogICAgY29uc3QgbmVlZHNDb21wbGV0ZU1ldGhvZCA9IG9wdGlvbnM/LnJlbmRlckZvb3Rub3Rlc0FuZEVuZG5vdGVzICE9PSB2b2lkIDAgfHwgb3B0aW9ucz8ucmVuZGVySGVhZGVyc0FuZEZvb3RlcnMgIT09IHZvaWQgMCB8fCBvcHRpb25zPy5yZW5kZXJUcmFja2VkQ2hhbmdlcyAhPT0gdm9pZCAwIHx8IG9wdGlvbnM/LnNob3dEZWxldGVkQ29udGVudCAhPT0gdm9pZCAwIHx8IG9wdGlvbnM/LnJlbmRlck1vdmVPcGVyYXRpb25zICE9PSB2b2lkIDA7CiAgICBpZiAobmVlZHNDb21wbGV0ZU1ldGhvZCB8fCBvcHRpb25zPy5yZW5kZXJBbm5vdGF0aW9ucykgewogICAgICByZXN1bHQgPSBleHBvcnRzLkRvY3VtZW50Q29udmVydGVyLkNvbnZlcnREb2N4VG9IdG1sQ29tcGxldGUoCiAgICAgICAgcmVxdWVzdC5kb2N1bWVudEJ5dGVzLAogICAgICAgIG9wdGlvbnM/LnBhZ2VUaXRsZSA/PyAiRG9jdW1lbnQiLAogICAgICAgIG9wdGlvbnM/LmNzc1ByZWZpeCA/PyAiZG9jeC0iLAogICAgICAgIG9wdGlvbnM/LmZhYnJpY2F0ZUNsYXNzZXMgPz8gdHJ1ZSwKICAgICAgICBvcHRpb25zPy5hZGRpdGlvbmFsQ3NzID8/ICIiLAogICAgICAgIG9wdGlvbnM/LmNvbW1lbnRSZW5kZXJNb2RlID8/IC0xLAogICAgICAgIG9wdGlvbnM/LmNvbW1lbnRDc3NDbGFzc1ByZWZpeCA/PyAiY29tbWVudC0iLAogICAgICAgIG9wdGlvbnM/LnBhZ2luYXRpb25Nb2RlID8/IDAsCiAgICAgICAgb3B0aW9ucz8ucGFnaW5hdGlvblNjYWxlID8/IDEsCiAgICAgICAgb3B0aW9ucz8ucGFnaW5hdGlvbkNzc0NsYXNzUHJlZml4ID8/ICJwYWdlLSIsCiAgICAgICAgb3B0aW9ucz8ucmVuZGVyQW5ub3RhdGlvbnMgPz8gZmFsc2UsCiAgICAgICAgb3B0aW9ucz8uYW5ub3RhdGlvbkxhYmVsTW9kZSA/PyAwLAogICAgICAgIG9wdGlvbnM/LmFubm90YXRpb25Dc3NDbGFzc1ByZWZpeCA/PyAiYW5ub3QtIiwKICAgICAgICBvcHRpb25zPy5yZW5kZXJGb290bm90ZXNBbmRFbmRub3RlcyA/PyBmYWxzZSwKICAgICAgICBvcHRpb25zPy5yZW5kZXJIZWFkZXJzQW5kRm9vdGVycyA/PyBmYWxzZSwKICAgICAgICBvcHRpb25zPy5yZW5kZXJUcmFja2VkQ2hhbmdlcyA/PyBmYWxzZSwKICAgICAgICBvcHRpb25zPy5zaG93RGVsZXRlZENvbnRlbnQgPz8gdHJ1ZSwKICAgICAgICBvcHRpb25zPy5yZW5kZXJNb3ZlT3BlcmF0aW9ucyA/PyB0cnVlCiAgICAgICk7CiAgICB9IGVsc2UgaWYgKG9wdGlvbnM/LnBhZ2luYXRpb25Nb2RlICE9PSB2b2lkIDAgJiYgb3B0aW9ucy5wYWdpbmF0aW9uTW9kZSAhPT0gMCkgewogICAgICByZXN1bHQgPSBleHBvcnRzLkRvY3VtZW50Q29udmVydGVyLkNvbnZlcnREb2N4VG9IdG1sV2l0aFBhZ2luYXRpb24oCiAgICAgICAgcmVxdWVzdC5kb2N1bWVudEJ5dGVzLAogICAgICAgIG9wdGlvbnMucGFnZVRpdGxlID8/ICJEb2N1bWVudCIsCiAgICAgICAgb3B0aW9ucy5jc3NQcmVmaXggPz8gImRvY3gtIiwKICAgICAgICBvcHRpb25zLmZhYnJpY2F0ZUNsYXNzZXMgPz8gdHJ1ZSwKICAgICAgICBvcHRpb25zLmFkZGl0aW9uYWxDc3MgPz8gIiIsCiAgICAgICAgb3B0aW9ucy5jb21tZW50UmVuZGVyTW9kZSA/PyAtMSwKICAgICAgICBvcHRpb25zLmNvbW1lbnRDc3NDbGFzc1ByZWZpeCA/PyAiY29tbWVudC0iLAogICAgICAgIG9wdGlvbnMucGFnaW5hdGlvbk1vZGUsCiAgICAgICAgb3B0aW9ucy5wYWdpbmF0aW9uU2NhbGUgPz8gMSwKICAgICAgICBvcHRpb25zLnBhZ2luYXRpb25Dc3NDbGFzc1ByZWZpeCA/PyAicGFnZS0iCiAgICAgICk7CiAgICB9IGVsc2UgaWYgKG9wdGlvbnMpIHsKICAgICAgcmVzdWx0ID0gZXhwb3J0cy5Eb2N1bWVudENvbnZlcnRlci5Db252ZXJ0RG9jeFRvSHRtbFdpdGhPcHRpb25zKAogICAgICAgIHJlcXVlc3QuZG9jdW1lbnRCeXRlcywKICAgICAgICBvcHRpb25zLnBhZ2VUaXRsZSA/PyAiRG9jdW1lbnQiLAogICAgICAgIG9wdGlvbnMuY3NzUHJlZml4ID8/ICJkb2N4LSIsCiAgICAgICAgb3B0aW9ucy5mYWJyaWNhdGVDbGFzc2VzID8/IHRydWUsCiAgICAgICAgb3B0aW9ucy5hZGRpdGlvbmFsQ3NzID8/ICIiLAogICAgICAgIG9wdGlvbnMuY29tbWVudFJlbmRlck1vZGUgPz8gLTEsCiAgICAgICAgb3B0aW9ucy5jb21tZW50Q3NzQ2xhc3NQcmVmaXggPz8gImNvbW1lbnQtIgogICAgICApOwogICAgfSBlbHNlIHsKICAgICAgcmVzdWx0ID0gZXhwb3J0cy5Eb2N1bWVudENvbnZlcnRlci5Db252ZXJ0RG9jeFRvSHRtbCgKICAgICAgICByZXF1ZXN0LmRvY3VtZW50Qnl0ZXMKICAgICAgKTsKICAgIH0KICAgIGlmIChpc0Vycm9yUmVzcG9uc2UocmVzdWx0KSkgewogICAgICByZXR1cm4gcGFyc2VFcnJvcihyZXN1bHQpOwogICAgfQogICAgcmV0dXJuIHsgaHRtbDogcmVzdWx0IH07CiAgfSBjYXRjaCAoZXJyb3IpIHsKICAgIHJldHVybiB7IGVycm9yOiBTdHJpbmcoZXJyb3IpIH07CiAgfQp9CmZ1bmN0aW9uIGhhbmRsZUNvbXBhcmUocmVxdWVzdCkgewogIGNvbnN0IGV4cG9ydHMgPSBlbnN1cmVJbml0aWFsaXplZCgpOwogIGNvbnN0IG9wdGlvbnMgPSByZXF1ZXN0Lm9wdGlvbnM7CiAgdHJ5IHsKICAgIGxldCByZXN1bHQ7CiAgICBpZiAob3B0aW9ucz8uZGV0YWlsVGhyZXNob2xkICE9PSB2b2lkIDAgfHwgb3B0aW9ucz8uY2FzZUluc2Vuc2l0aXZlKSB7CiAgICAgIHJlc3VsdCA9IGV4cG9ydHMuRG9jdW1lbnRDb21wYXJlci5Db21wYXJlRG9jdW1lbnRzV2l0aE9wdGlvbnMoCiAgICAgICAgcmVxdWVzdC5vcmlnaW5hbEJ5dGVzLAogICAgICAgIHJlcXVlc3QubW9kaWZpZWRCeXRlcywKICAgICAgICBvcHRpb25zPy5hdXRob3JOYW1lID8/ICJEb2N4b2R1cyIsCiAgICAgICAgb3B0aW9ucz8uZGV0YWlsVGhyZXNob2xkID8/IDAuMTUsCiAgICAgICAgb3B0aW9ucz8uY2FzZUluc2Vuc2l0aXZlID8/IGZhbHNlCiAgICAgICk7CiAgICB9IGVsc2UgewogICAgICByZXN1bHQgPSBleHBvcnRzLkRvY3VtZW50Q29tcGFyZXIuQ29tcGFyZURvY3VtZW50cygKICAgICAgICByZXF1ZXN0Lm9yaWdpbmFsQnl0ZXMsCiAgICAgICAgcmVxdWVzdC5tb2RpZmllZEJ5dGVzLAogICAgICAgIG9wdGlvbnM/LmF1dGhvck5hbWUgPz8gIkRvY3hvZHVzIgogICAgICApOwogICAgfQogICAgaWYgKHJlc3VsdC5sZW5ndGggPT09IDApIHsKICAgICAgcmV0dXJuIHsgZXJyb3I6ICJDb21wYXJpc29uIHJldHVybmVkIGVtcHR5IHJlc3VsdCIgfTsKICAgIH0KICAgIHJldHVybiB7IGRvY3VtZW50Qnl0ZXM6IHJlc3VsdCB9OwogIH0gY2F0Y2ggKGVycm9yKSB7CiAgICByZXR1cm4geyBlcnJvcjogU3RyaW5nKGVycm9yKSB9OwogIH0KfQpmdW5jdGlvbiBoYW5kbGVDb21wYXJlVG9IdG1sKHJlcXVlc3QpIHsKICBjb25zdCBleHBvcnRzID0gZW5zdXJlSW5pdGlhbGl6ZWQoKTsKICBjb25zdCBvcHRpb25zID0gcmVxdWVzdC5vcHRpb25zOwogIHRyeSB7CiAgICBjb25zdCByZW5kZXJUcmFja2VkQ2hhbmdlcyA9IG9wdGlvbnM/LnJlbmRlclRyYWNrZWRDaGFuZ2VzID8/IHRydWU7CiAgICBjb25zdCByZXN1bHQgPSBleHBvcnRzLkRvY3VtZW50Q29tcGFyZXIuQ29tcGFyZURvY3VtZW50c1RvSHRtbFdpdGhPcHRpb25zKAogICAgICByZXF1ZXN0Lm9yaWdpbmFsQnl0ZXMsCiAgICAgIHJlcXVlc3QubW9kaWZpZWRCeXRlcywKICAgICAgb3B0aW9ucz8uYXV0aG9yTmFtZSA/PyAiRG9jeG9kdXMiLAogICAgICByZW5kZXJUcmFja2VkQ2hhbmdlcwogICAgKTsKICAgIGlmIChpc0Vycm9yUmVzcG9uc2UocmVzdWx0KSkgewogICAgICByZXR1cm4gcGFyc2VFcnJvcihyZXN1bHQpOwogICAgfQogICAgcmV0dXJuIHsgaHRtbDogcmVzdWx0IH07CiAgfSBjYXRjaCAoZXJyb3IpIHsKICAgIHJldHVybiB7IGVycm9yOiBTdHJpbmcoZXJyb3IpIH07CiAgfQp9CmZ1bmN0aW9uIGhhbmRsZUdldFJldmlzaW9ucyhyZXF1ZXN0KSB7CiAgY29uc3QgZXhwb3J0cyA9IGVuc3VyZUluaXRpYWxpemVkKCk7CiAgY29uc3Qgb3B0aW9ucyA9IHJlcXVlc3Qub3B0aW9uczsKICB0cnkgewogICAgY29uc3QgZGV0ZWN0TW92ZXMgPSBvcHRpb25zPy5kZXRlY3RNb3ZlcyA/PyB0cnVlOwogICAgY29uc3QgbW92ZVNpbWlsYXJpdHlUaHJlc2hvbGQgPSBvcHRpb25zPy5tb3ZlU2ltaWxhcml0eVRocmVzaG9sZCA/PyAwLjg7CiAgICBjb25zdCBtb3ZlTWluaW11bVdvcmRDb3VudCA9IG9wdGlvbnM/Lm1vdmVNaW5pbXVtV29yZENvdW50ID8/IDM7CiAgICBjb25zdCBjYXNlSW5zZW5zaXRpdmUgPSBvcHRpb25zPy5jYXNlSW5zZW5zaXRpdmUgPz8gZmFsc2U7CiAgICBjb25zdCByZXN1bHQgPSBleHBvcnRzLkRvY3VtZW50Q29tcGFyZXIuR2V0UmV2aXNpb25zSnNvbldpdGhPcHRpb25zKAogICAgICByZXF1ZXN0LmRvY3VtZW50Qnl0ZXMsCiAgICAgIGRldGVjdE1vdmVzLAogICAgICBtb3ZlU2ltaWxhcml0eVRocmVzaG9sZCwKICAgICAgbW92ZU1pbmltdW1Xb3JkQ291bnQsCiAgICAgIGNhc2VJbnNlbnNpdGl2ZQogICAgKTsKICAgIGlmIChpc0Vycm9yUmVzcG9uc2UocmVzdWx0KSkgewogICAgICByZXR1cm4gcGFyc2VFcnJvcihyZXN1bHQpOwogICAgfQogICAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZShyZXN1bHQpOwogICAgY29uc3QgcmV2aXNpb25zID0gKHBhcnNlZC5SZXZpc2lvbnMgfHwgcGFyc2VkLnJldmlzaW9ucyB8fCBbXSkubWFwKAogICAgICAocikgPT4gKHsKICAgICAgICBhdXRob3I6IHIuQXV0aG9yIHx8IHIuYXV0aG9yLAogICAgICAgIGRhdGU6IHIuRGF0ZSB8fCByLmRhdGUsCiAgICAgICAgcmV2aXNpb25UeXBlOiByLlJldmlzaW9uVHlwZSB8fCByLnJldmlzaW9uVHlwZSwKICAgICAgICB0ZXh0OiByLlRleHQgfHwgci50ZXh0LAogICAgICAgIG1vdmVHcm91cElkOiByLk1vdmVHcm91cElkID8/IHIubW92ZUdyb3VwSWQsCiAgICAgICAgaXNNb3ZlU291cmNlOiByLklzTW92ZVNvdXJjZSA/PyByLmlzTW92ZVNvdXJjZSwKICAgICAgICBmb3JtYXRDaGFuZ2U6IHIuRm9ybWF0Q2hhbmdlIHx8IHIuZm9ybWF0Q2hhbmdlID8gewogICAgICAgICAgb2xkUHJvcGVydGllczogci5Gb3JtYXRDaGFuZ2U/Lk9sZFByb3BlcnRpZXMgfHwgci5mb3JtYXRDaGFuZ2U/Lm9sZFByb3BlcnRpZXMsCiAgICAgICAgICBuZXdQcm9wZXJ0aWVzOiByLkZvcm1hdENoYW5nZT8uTmV3UHJvcGVydGllcyB8fCByLmZvcm1hdENoYW5nZT8ubmV3UHJvcGVydGllcywKICAgICAgICAgIGNoYW5nZWRQcm9wZXJ0eU5hbWVzOiByLkZvcm1hdENoYW5nZT8uQ2hhbmdlZFByb3BlcnR5TmFtZXMgfHwgci5mb3JtYXRDaGFuZ2U/LmNoYW5nZWRQcm9wZXJ0eU5hbWVzCiAgICAgICAgfSA6IHZvaWQgMAogICAgICB9KQogICAgKTsKICAgIHJldHVybiB7IHJldmlzaW9ucyB9OwogIH0gY2F0Y2ggKGVycm9yKSB7CiAgICByZXR1cm4geyBlcnJvcjogU3RyaW5nKGVycm9yKSB9OwogIH0KfQpmdW5jdGlvbiBoYW5kbGVHZXREb2N1bWVudE1ldGFkYXRhKHJlcXVlc3QpIHsKICBjb25zdCBleHBvcnRzID0gZW5zdXJlSW5pdGlhbGl6ZWQoKTsKICB0cnkgewogICAgY29uc3QgcmVzdWx0ID0gZXhwb3J0cy5Eb2N1bWVudENvbnZlcnRlci5HZXREb2N1bWVudE1ldGFkYXRhKAogICAgICByZXF1ZXN0LmRvY3VtZW50Qnl0ZXMKICAgICk7CiAgICBpZiAoaXNFcnJvclJlc3BvbnNlKHJlc3VsdCkpIHsKICAgICAgcmV0dXJuIHBhcnNlRXJyb3IocmVzdWx0KTsKICAgIH0KICAgIGNvbnN0IHBhcnNlZCA9IEpTT04ucGFyc2UocmVzdWx0KTsKICAgIGNvbnN0IGNvbnZlcnRTZWN0aW9uID0gKHMpID0+ICh7CiAgICAgIHNlY3Rpb25JbmRleDogcy5TZWN0aW9uSW5kZXggPz8gcy5zZWN0aW9uSW5kZXgsCiAgICAgIHBhZ2VXaWR0aFB0OiBzLlBhZ2VXaWR0aFB0ID8/IHMucGFnZVdpZHRoUHQsCiAgICAgIHBhZ2VIZWlnaHRQdDogcy5QYWdlSGVpZ2h0UHQgPz8gcy5wYWdlSGVpZ2h0UHQsCiAgICAgIG1hcmdpblRvcFB0OiBzLk1hcmdpblRvcFB0ID8/IHMubWFyZ2luVG9wUHQsCiAgICAgIG1hcmdpblJpZ2h0UHQ6IHMuTWFyZ2luUmlnaHRQdCA/PyBzLm1hcmdpblJpZ2h0UHQsCiAgICAgIG1hcmdpbkJvdHRvbVB0OiBzLk1hcmdpbkJvdHRvbVB0ID8/IHMubWFyZ2luQm90dG9tUHQsCiAgICAgIG1hcmdpbkxlZnRQdDogcy5NYXJnaW5MZWZ0UHQgPz8gcy5tYXJnaW5MZWZ0UHQsCiAgICAgIGNvbnRlbnRXaWR0aFB0OiBzLkNvbnRlbnRXaWR0aFB0ID8/IHMuY29udGVudFdpZHRoUHQsCiAgICAgIGNvbnRlbnRIZWlnaHRQdDogcy5Db250ZW50SGVpZ2h0UHQgPz8gcy5jb250ZW50SGVpZ2h0UHQsCiAgICAgIGhlYWRlclB0OiBzLkhlYWRlclB0ID8/IHMuaGVhZGVyUHQsCiAgICAgIGZvb3RlclB0OiBzLkZvb3RlclB0ID8/IHMuZm9vdGVyUHQsCiAgICAgIHBhcmFncmFwaENvdW50OiBzLlBhcmFncmFwaENvdW50ID8/IHMucGFyYWdyYXBoQ291bnQsCiAgICAgIHRhYmxlQ291bnQ6IHMuVGFibGVDb3VudCA/PyBzLnRhYmxlQ291bnQsCiAgICAgIGhhc0hlYWRlcjogcy5IYXNIZWFkZXIgPz8gcy5oYXNIZWFkZXIsCiAgICAgIGhhc0Zvb3Rlcjogcy5IYXNGb290ZXIgPz8gcy5oYXNGb290ZXIsCiAgICAgIGhhc0ZpcnN0UGFnZUhlYWRlcjogcy5IYXNGaXJzdFBhZ2VIZWFkZXIgPz8gcy5oYXNGaXJzdFBhZ2VIZWFkZXIsCiAgICAgIGhhc0ZpcnN0UGFnZUZvb3Rlcjogcy5IYXNGaXJzdFBhZ2VGb290ZXIgPz8gcy5oYXNGaXJzdFBhZ2VGb290ZXIsCiAgICAgIGhhc0V2ZW5QYWdlSGVhZGVyOiBzLkhhc0V2ZW5QYWdlSGVhZGVyID8/IHMuaGFzRXZlblBhZ2VIZWFkZXIsCiAgICAgIGhhc0V2ZW5QYWdlRm9vdGVyOiBzLkhhc0V2ZW5QYWdlRm9vdGVyID8/IHMuaGFzRXZlblBhZ2VGb290ZXIsCiAgICAgIHN0YXJ0UGFyYWdyYXBoSW5kZXg6IHMuU3RhcnRQYXJhZ3JhcGhJbmRleCA/PyBzLnN0YXJ0UGFyYWdyYXBoSW5kZXgsCiAgICAgIGVuZFBhcmFncmFwaEluZGV4OiBzLkVuZFBhcmFncmFwaEluZGV4ID8/IHMuZW5kUGFyYWdyYXBoSW5kZXgsCiAgICAgIHN0YXJ0VGFibGVJbmRleDogcy5TdGFydFRhYmxlSW5kZXggPz8gcy5zdGFydFRhYmxlSW5kZXgsCiAgICAgIGVuZFRhYmxlSW5kZXg6IHMuRW5kVGFibGVJbmRleCA/PyBzLmVuZFRhYmxlSW5kZXgKICAgIH0pOwogICAgY29uc3QgbWV0YWRhdGEgPSB7CiAgICAgIHNlY3Rpb25zOiAocGFyc2VkLlNlY3Rpb25zIHx8IHBhcnNlZC5zZWN0aW9ucyB8fCBbXSkubWFwKGNvbnZlcnRTZWN0aW9uKSwKICAgICAgdG90YWxQYXJhZ3JhcGhzOiBwYXJzZWQuVG90YWxQYXJhZ3JhcGhzID8/IHBhcnNlZC50b3RhbFBhcmFncmFwaHMsCiAgICAgIHRvdGFsVGFibGVzOiBwYXJzZWQuVG90YWxUYWJsZXMgPz8gcGFyc2VkLnRvdGFsVGFibGVzLAogICAgICBoYXNGb290bm90ZXM6IHBhcnNlZC5IYXNGb290bm90ZXMgPz8gcGFyc2VkLmhhc0Zvb3Rub3RlcywKICAgICAgaGFzRW5kbm90ZXM6IHBhcnNlZC5IYXNFbmRub3RlcyA/PyBwYXJzZWQuaGFzRW5kbm90ZXMsCiAgICAgIGhhc1RyYWNrZWRDaGFuZ2VzOiBwYXJzZWQuSGFzVHJhY2tlZENoYW5nZXMgPz8gcGFyc2VkLmhhc1RyYWNrZWRDaGFuZ2VzLAogICAgICBoYXNDb21tZW50czogcGFyc2VkLkhhc0NvbW1lbnRzID8/IHBhcnNlZC5oYXNDb21tZW50cywKICAgICAgZXN0aW1hdGVkUGFnZUNvdW50OiBwYXJzZWQuRXN0aW1hdGVkUGFnZUNvdW50ID8/IHBhcnNlZC5lc3RpbWF0ZWRQYWdlQ291bnQKICAgIH07CiAgICByZXR1cm4geyBtZXRhZGF0YSB9OwogIH0gY2F0Y2ggKGVycm9yKSB7CiAgICByZXR1cm4geyBlcnJvcjogU3RyaW5nKGVycm9yKSB9OwogIH0KfQpmdW5jdGlvbiBoYW5kbGVHZXRWZXJzaW9uKCkgewogIGNvbnN0IGV4cG9ydHMgPSBlbnN1cmVJbml0aWFsaXplZCgpOwogIHRyeSB7CiAgICBjb25zdCByZXN1bHQgPSBleHBvcnRzLkRvY3VtZW50Q29udmVydGVyLkdldFZlcnNpb24oKTsKICAgIGNvbnN0IHBhcnNlZCA9IEpTT04ucGFyc2UocmVzdWx0KTsKICAgIHJldHVybiB7CiAgICAgIHZlcnNpb246IHsKICAgICAgICBsaWJyYXJ5OiBwYXJzZWQuTGlicmFyeSB8fCBwYXJzZWQubGlicmFyeSwKICAgICAgICBkb3RuZXRWZXJzaW9uOiBwYXJzZWQuRG90bmV0VmVyc2lvbiB8fCBwYXJzZWQuZG90bmV0VmVyc2lvbiwKICAgICAgICBwbGF0Zm9ybTogcGFyc2VkLlBsYXRmb3JtIHx8IHBhcnNlZC5wbGF0Zm9ybQogICAgICB9CiAgICB9OwogIH0gY2F0Y2ggKGVycm9yKSB7CiAgICByZXR1cm4geyBlcnJvcjogU3RyaW5nKGVycm9yKSB9OwogIH0KfQpzZWxmLm9ubWVzc2FnZSA9IGFzeW5jIChldmVudCkgPT4gewogIGNvbnN0IHJlcXVlc3QgPSBldmVudC5kYXRhOwogIHRyeSB7CiAgICBsZXQgcmVzcG9uc2U7CiAgICBzd2l0Y2ggKHJlcXVlc3QudHlwZSkgewogICAgICBjYXNlICJpbml0IjogewogICAgICAgIGNvbnN0IGluaXRSZXF1ZXN0ID0gcmVxdWVzdDsKICAgICAgICB0cnkgewogICAgICAgICAgYXdhaXQgaW5pdGlhbGl6ZVdhc20oaW5pdFJlcXVlc3Qud2FzbUJhc2VQYXRoKTsKICAgICAgICAgIHJlc3BvbnNlID0gewogICAgICAgICAgICBpZDogcmVxdWVzdC5pZCwKICAgICAgICAgICAgdHlwZTogImluaXQiLAogICAgICAgICAgICBzdWNjZXNzOiB0cnVlCiAgICAgICAgICB9OwogICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7CiAgICAgICAgICByZXNwb25zZSA9IHsKICAgICAgICAgICAgaWQ6IHJlcXVlc3QuaWQsCiAgICAgICAgICAgIHR5cGU6ICJpbml0IiwKICAgICAgICAgICAgc3VjY2VzczogZmFsc2UsCiAgICAgICAgICAgIGVycm9yOiBTdHJpbmcoZXJyb3IpCiAgICAgICAgICB9OwogICAgICAgIH0KICAgICAgICBicmVhazsKICAgICAgfQogICAgICBjYXNlICJjb252ZXJ0RG9jeFRvSHRtbCI6IHsKICAgICAgICBjb25zdCBjb252ZXJ0UmVxdWVzdCA9IHJlcXVlc3Q7CiAgICAgICAgY29uc3QgcmVzdWx0ID0gaGFuZGxlQ29udmVydChjb252ZXJ0UmVxdWVzdCk7CiAgICAgICAgcmVzcG9uc2UgPSB7CiAgICAgICAgICBpZDogcmVxdWVzdC5pZCwKICAgICAgICAgIHR5cGU6ICJjb252ZXJ0RG9jeFRvSHRtbCIsCiAgICAgICAgICBzdWNjZXNzOiAhcmVzdWx0LmVycm9yLAogICAgICAgICAgaHRtbDogcmVzdWx0Lmh0bWwsCiAgICAgICAgICBlcnJvcjogcmVzdWx0LmVycm9yCiAgICAgICAgfTsKICAgICAgICBicmVhazsKICAgICAgfQogICAgICBjYXNlICJjb21wYXJlRG9jdW1lbnRzIjogewogICAgICAgIGNvbnN0IGNvbXBhcmVSZXF1ZXN0ID0gcmVxdWVzdDsKICAgICAgICBjb25zdCByZXN1bHQgPSBoYW5kbGVDb21wYXJlKGNvbXBhcmVSZXF1ZXN0KTsKICAgICAgICByZXNwb25zZSA9IHsKICAgICAgICAgIGlkOiByZXF1ZXN0LmlkLAogICAgICAgICAgdHlwZTogImNvbXBhcmVEb2N1bWVudHMiLAogICAgICAgICAgc3VjY2VzczogIXJlc3VsdC5lcnJvciwKICAgICAgICAgIGRvY3VtZW50Qnl0ZXM6IHJlc3VsdC5kb2N1bWVudEJ5dGVzLAogICAgICAgICAgZXJyb3I6IHJlc3VsdC5lcnJvcgogICAgICAgIH07CiAgICAgICAgaWYgKHJlc3VsdC5kb2N1bWVudEJ5dGVzKSB7CiAgICAgICAgICBzZWxmLnBvc3RNZXNzYWdlKHJlc3BvbnNlLCB7IHRyYW5zZmVyOiBbcmVzdWx0LmRvY3VtZW50Qnl0ZXMuYnVmZmVyXSB9KTsKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgICAgY2FzZSAiY29tcGFyZURvY3VtZW50c1RvSHRtbCI6IHsKICAgICAgICBjb25zdCBjb21wYXJlVG9IdG1sUmVxdWVzdCA9IHJlcXVlc3Q7CiAgICAgICAgY29uc3QgcmVzdWx0ID0gaGFuZGxlQ29tcGFyZVRvSHRtbChjb21wYXJlVG9IdG1sUmVxdWVzdCk7CiAgICAgICAgcmVzcG9uc2UgPSB7CiAgICAgICAgICBpZDogcmVxdWVzdC5pZCwKICAgICAgICAgIHR5cGU6ICJjb21wYXJlRG9jdW1lbnRzVG9IdG1sIiwKICAgICAgICAgIHN1Y2Nlc3M6ICFyZXN1bHQuZXJyb3IsCiAgICAgICAgICBodG1sOiByZXN1bHQuaHRtbCwKICAgICAgICAgIGVycm9yOiByZXN1bHQuZXJyb3IKICAgICAgICB9OwogICAgICAgIGJyZWFrOwogICAgICB9CiAgICAgIGNhc2UgImdldFJldmlzaW9ucyI6IHsKICAgICAgICBjb25zdCBnZXRSZXZpc2lvbnNSZXF1ZXN0ID0gcmVxdWVzdDsKICAgICAgICBjb25zdCByZXN1bHQgPSBoYW5kbGVHZXRSZXZpc2lvbnMoZ2V0UmV2aXNpb25zUmVxdWVzdCk7CiAgICAgICAgcmVzcG9uc2UgPSB7CiAgICAgICAgICBpZDogcmVxdWVzdC5pZCwKICAgICAgICAgIHR5cGU6ICJnZXRSZXZpc2lvbnMiLAogICAgICAgICAgc3VjY2VzczogIXJlc3VsdC5lcnJvciwKICAgICAgICAgIHJldmlzaW9uczogcmVzdWx0LnJldmlzaW9ucywKICAgICAgICAgIGVycm9yOiByZXN1bHQuZXJyb3IKICAgICAgICB9OwogICAgICAgIGJyZWFrOwogICAgICB9CiAgICAgIGNhc2UgImdldERvY3VtZW50TWV0YWRhdGEiOiB7CiAgICAgICAgY29uc3QgZ2V0TWV0YWRhdGFSZXF1ZXN0ID0gcmVxdWVzdDsKICAgICAgICBjb25zdCByZXN1bHQgPSBoYW5kbGVHZXREb2N1bWVudE1ldGFkYXRhKGdldE1ldGFkYXRhUmVxdWVzdCk7CiAgICAgICAgcmVzcG9uc2UgPSB7CiAgICAgICAgICBpZDogcmVxdWVzdC5pZCwKICAgICAgICAgIHR5cGU6ICJnZXREb2N1bWVudE1ldGFkYXRhIiwKICAgICAgICAgIHN1Y2Nlc3M6ICFyZXN1bHQuZXJyb3IsCiAgICAgICAgICBtZXRhZGF0YTogcmVzdWx0Lm1ldGFkYXRhLAogICAgICAgICAgZXJyb3I6IHJlc3VsdC5lcnJvcgogICAgICAgIH07CiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgICAgY2FzZSAiZ2V0VmVyc2lvbiI6IHsKICAgICAgICBjb25zdCByZXN1bHQgPSBoYW5kbGVHZXRWZXJzaW9uKCk7CiAgICAgICAgcmVzcG9uc2UgPSB7CiAgICAgICAgICBpZDogcmVxdWVzdC5pZCwKICAgICAgICAgIHR5cGU6ICJnZXRWZXJzaW9uIiwKICAgICAgICAgIHN1Y2Nlc3M6ICFyZXN1bHQuZXJyb3IsCiAgICAgICAgICB2ZXJzaW9uOiByZXN1bHQudmVyc2lvbiwKICAgICAgICAgIGVycm9yOiByZXN1bHQuZXJyb3IKICAgICAgICB9OwogICAgICAgIGJyZWFrOwogICAgICB9CiAgICAgIGRlZmF1bHQ6IHsKICAgICAgICBjb25zdCB1bmtub3duUmVxdWVzdCA9IHJlcXVlc3Q7CiAgICAgICAgc2VsZi5wb3N0TWVzc2FnZSh7CiAgICAgICAgICBpZDogdW5rbm93blJlcXVlc3QuaWQsCiAgICAgICAgICB0eXBlOiB1bmtub3duUmVxdWVzdC50eXBlLAogICAgICAgICAgc3VjY2VzczogZmFsc2UsCiAgICAgICAgICBlcnJvcjogYFVua25vd24gcmVxdWVzdCB0eXBlOiAke3Vua25vd25SZXF1ZXN0LnR5cGV9YAogICAgICAgIH0pOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgfQogICAgc2VsZi5wb3N0TWVzc2FnZShyZXNwb25zZSk7CiAgfSBjYXRjaCAoZXJyb3IpIHsKICAgIHNlbGYucG9zdE1lc3NhZ2UoewogICAgICBpZDogcmVxdWVzdC5pZCwKICAgICAgdHlwZTogcmVxdWVzdC50eXBlLAogICAgICBzdWNjZXNzOiBmYWxzZSwKICAgICAgZXJyb3I6IFN0cmluZyhlcnJvcikKICAgIH0pOwogIH0KfTsKc2VsZi5wb3N0TWVzc2FnZSh7IHR5cGU6ICJyZWFkeSIgfSk7Cg==", import.meta.url).href, b = new Worker(p, { type: "module" }), A = /* @__PURE__ */ new Map();
27
+ let h = !0;
28
+ b.onmessage = (c) => {
29
+ const i = c.data;
30
+ if (i.type === "ready")
31
+ return;
32
+ const l = A.get(i.id);
33
+ l && (A.delete(i.id), i.success ? l.resolve(i) : l.reject(new Error(i.error || "Unknown error")));
34
+ }, b.onerror = (c) => {
35
+ for (const i of A.values())
36
+ i.reject(new Error(`Worker error: ${c.message}`));
37
+ A.clear(), h = !1;
38
+ };
39
+ function a(c, i) {
40
+ return new Promise((l, o) => {
41
+ if (!h) {
42
+ o(new Error("Worker has been terminated"));
43
+ return;
44
+ }
45
+ A.set(c.id, { resolve: l, reject: o }), i && i.length > 0 ? b.postMessage(c, i) : b.postMessage(c);
46
+ });
47
+ }
48
+ const X = await a({
49
+ id: H(),
50
+ type: "init",
51
+ wasmBasePath: s
52
+ });
53
+ if (!X.success)
54
+ throw b.terminate(), new Error(`Failed to initialize worker: ${X.error}`);
55
+ return {
56
+ async convertDocxToHtml(c, i) {
57
+ const l = await z(c);
58
+ return (await a({
59
+ id: H(),
60
+ type: "convertDocxToHtml",
61
+ documentBytes: l,
62
+ options: i
63
+ }, [l.buffer])).html;
64
+ },
65
+ async compareDocuments(c, i, l) {
66
+ const o = await z(c), r = await z(i);
67
+ return (await a({
68
+ id: H(),
69
+ type: "compareDocuments",
70
+ originalBytes: o,
71
+ modifiedBytes: r,
72
+ options: l
73
+ }, [o.buffer, r.buffer])).documentBytes;
74
+ },
75
+ async compareDocumentsToHtml(c, i, l) {
76
+ const o = await z(c), r = await z(i);
77
+ return (await a({
78
+ id: H(),
79
+ type: "compareDocumentsToHtml",
80
+ originalBytes: o,
81
+ modifiedBytes: r,
82
+ options: l
83
+ }, [o.buffer, r.buffer])).html;
84
+ },
85
+ async getRevisions(c, i) {
86
+ const l = await z(c);
87
+ return (await a({
88
+ id: H(),
89
+ type: "getRevisions",
90
+ documentBytes: l,
91
+ options: i
92
+ }, [l.buffer])).revisions;
93
+ },
94
+ async getDocumentMetadata(c) {
95
+ const i = await z(c);
96
+ return (await a({
97
+ id: H(),
98
+ type: "getDocumentMetadata",
99
+ documentBytes: i
100
+ }, [i.buffer])).metadata;
101
+ },
102
+ async getVersion() {
103
+ return (await a({
104
+ id: H(),
105
+ type: "getVersion"
106
+ })).version;
107
+ },
108
+ terminate() {
109
+ h = !1, b.terminate();
110
+ for (const c of A.values())
111
+ c.reject(new Error("Worker terminated"));
112
+ A.clear();
113
+ },
114
+ isActive() {
115
+ return h;
116
+ }
117
+ };
118
+ }
119
+ function eg() {
120
+ return typeof Worker < "u";
121
+ }
122
+ const gg = {
6
123
  paginationScale: 0.8,
7
124
  showPageNumbers: !0,
8
125
  renderFootnotesAndEndnotes: !0,
@@ -18,240 +135,418 @@ const Se = {
18
135
  additionalCss: "",
19
136
  commentCssClassPrefix: "comment-",
20
137
  annotationCssClassPrefix: "annot-"
21
- }, ye = "/wasm/";
22
- function Ae(l) {
23
- switch (l) {
138
+ };
139
+ function ng(I) {
140
+ return q(I) ? "Inserted" : _(I) ? "Deleted" : $(I) ? I.isMoveSource ? "Moved from" : "Moved to" : f(I) ? "Formatted" : String(I.revisionType);
141
+ }
142
+ function cg(I) {
143
+ return q(I) ? "rdv-revision--insertion" : _(I) ? "rdv-revision--deletion" : $(I) ? "rdv-revision--move" : f(I) ? "rdv-revision--format" : "";
144
+ }
145
+ function Ig(I) {
146
+ try {
147
+ return new Date(I).toLocaleDateString(void 0, {
148
+ year: "numeric",
149
+ month: "short",
150
+ day: "numeric",
151
+ hour: "2-digit",
152
+ minute: "2-digit"
153
+ });
154
+ } catch {
155
+ return I;
156
+ }
157
+ }
158
+ function tg(I, s = 100) {
159
+ return I.length <= s ? I : I.substring(0, s) + "...";
160
+ }
161
+ function Cg({ revisions: I }) {
162
+ const [s, p] = d("all"), [b, A] = d(/* @__PURE__ */ new Set()), h = E(() => s === "all" ? I : I.filter((c) => {
163
+ switch (s) {
164
+ case "insertions":
165
+ return q(c);
166
+ case "deletions":
167
+ return _(c);
168
+ case "moves":
169
+ return $(c);
170
+ case "formatting":
171
+ return f(c);
172
+ default:
173
+ return !0;
174
+ }
175
+ }), [I, s]), a = E(() => ({
176
+ total: I.length,
177
+ insertions: I.filter(q).length,
178
+ deletions: I.filter(_).length,
179
+ moves: I.filter($).length,
180
+ formatting: I.filter(f).length
181
+ }), [I]), X = (c) => {
182
+ A((i) => {
183
+ const l = new Set(i);
184
+ return l.has(c) ? l.delete(c) : l.add(c), l;
185
+ });
186
+ };
187
+ return I.length === 0 ? /* @__PURE__ */ e("div", { className: "rdv-revision-panel", children: /* @__PURE__ */ n("div", { className: "rdv-revision-empty", children: [
188
+ /* @__PURE__ */ e("div", { className: "rdv-revision-empty__icon", children: "📝" }),
189
+ /* @__PURE__ */ e("p", { children: "No tracked changes found in this document." })
190
+ ] }) }) : /* @__PURE__ */ n("div", { className: "rdv-revision-panel", children: [
191
+ /* @__PURE__ */ n("div", { className: "rdv-revision-header", children: [
192
+ /* @__PURE__ */ n("div", { className: "rdv-revision-stats", children: [
193
+ /* @__PURE__ */ n("span", { className: "rdv-revision-stat rdv-revision-stat--total", children: [
194
+ a.total,
195
+ " changes"
196
+ ] }),
197
+ a.insertions > 0 && /* @__PURE__ */ n("span", { className: "rdv-revision-stat rdv-revision-stat--insertion", children: [
198
+ "+",
199
+ a.insertions
200
+ ] }),
201
+ a.deletions > 0 && /* @__PURE__ */ n("span", { className: "rdv-revision-stat rdv-revision-stat--deletion", children: [
202
+ "−",
203
+ a.deletions
204
+ ] }),
205
+ a.moves > 0 && /* @__PURE__ */ n("span", { className: "rdv-revision-stat rdv-revision-stat--move", children: [
206
+ "↔",
207
+ a.moves
208
+ ] }),
209
+ a.formatting > 0 && /* @__PURE__ */ n("span", { className: "rdv-revision-stat rdv-revision-stat--format", children: [
210
+ "✎",
211
+ a.formatting
212
+ ] })
213
+ ] }),
214
+ /* @__PURE__ */ n(
215
+ "select",
216
+ {
217
+ className: "rdv-revision-filter",
218
+ value: s,
219
+ onChange: (c) => p(c.target.value),
220
+ children: [
221
+ /* @__PURE__ */ e("option", { value: "all", children: "All Changes" }),
222
+ /* @__PURE__ */ n("option", { value: "insertions", children: [
223
+ "Insertions (",
224
+ a.insertions,
225
+ ")"
226
+ ] }),
227
+ /* @__PURE__ */ n("option", { value: "deletions", children: [
228
+ "Deletions (",
229
+ a.deletions,
230
+ ")"
231
+ ] }),
232
+ /* @__PURE__ */ n("option", { value: "moves", children: [
233
+ "Moves (",
234
+ a.moves,
235
+ ")"
236
+ ] }),
237
+ /* @__PURE__ */ n("option", { value: "formatting", children: [
238
+ "Formatting (",
239
+ a.formatting,
240
+ ")"
241
+ ] })
242
+ ]
243
+ }
244
+ )
245
+ ] }),
246
+ /* @__PURE__ */ e("div", { className: "rdv-revision-list", children: h.map((c, i) => {
247
+ const l = b.has(i), o = c.text.length > 100;
248
+ return /* @__PURE__ */ n(
249
+ "div",
250
+ {
251
+ className: `rdv-revision-item ${cg(c)}`,
252
+ children: [
253
+ /* @__PURE__ */ n("div", { className: "rdv-revision-item__header", children: [
254
+ /* @__PURE__ */ e("span", { className: "rdv-revision-type", children: ng(c) }),
255
+ /* @__PURE__ */ e("span", { className: "rdv-revision-author", children: c.author }),
256
+ /* @__PURE__ */ e("span", { className: "rdv-revision-date", children: Ig(c.date) })
257
+ ] }),
258
+ /* @__PURE__ */ n("div", { className: "rdv-revision-item__content", children: [
259
+ /* @__PURE__ */ e("span", { className: "rdv-revision-text", children: l ? c.text : tg(c.text) }),
260
+ o && /* @__PURE__ */ e(
261
+ "button",
262
+ {
263
+ className: "rdv-revision-expand",
264
+ onClick: () => X(i),
265
+ children: l ? "Show less" : "Show more"
266
+ }
267
+ )
268
+ ] }),
269
+ f(c) && c.formatChange && /* @__PURE__ */ n("div", { className: "rdv-revision-item__format-details", children: [
270
+ c.formatChange.oldProperties && Object.entries(c.formatChange.oldProperties).map(([r, v]) => /* @__PURE__ */ n("span", { children: [
271
+ r,
272
+ ": ",
273
+ v,
274
+ " → "
275
+ ] }, `old-${r}`)),
276
+ c.formatChange.newProperties && Object.entries(c.formatChange.newProperties).map(([r, v]) => /* @__PURE__ */ n("span", { children: [
277
+ r,
278
+ ": ",
279
+ v
280
+ ] }, `new-${r}`))
281
+ ] })
282
+ ]
283
+ },
284
+ i
285
+ );
286
+ }) })
287
+ ] });
288
+ }
289
+ function ig(I) {
290
+ switch (I) {
24
291
  case "endnote":
25
- return S.EndnoteStyle;
292
+ return T.EndnoteStyle;
26
293
  case "inline":
27
- return S.Inline;
294
+ return T.Inline;
28
295
  case "margin":
29
- return S.Margin;
296
+ return T.Margin;
30
297
  default:
31
- return S.Disabled;
298
+ return T.Disabled;
32
299
  }
33
300
  }
34
- function Te(l) {
35
- switch (l) {
301
+ function lg(I) {
302
+ switch (I) {
36
303
  case "above":
37
- return M.Above;
304
+ return O.Above;
38
305
  case "inline":
39
- return M.Inline;
306
+ return O.Inline;
40
307
  case "tooltip":
41
- return M.Tooltip;
308
+ return O.Tooltip;
42
309
  case "none":
43
- return M.None;
310
+ return O.None;
44
311
  default:
45
312
  return;
46
313
  }
47
314
  }
48
- function Le({
49
- file: l,
50
- html: o,
51
- onFileChange: L,
52
- onConversionStart: R,
53
- onConversionComplete: V,
54
- onError: Z,
55
- onPageChange: y,
56
- settings: u,
57
- defaultSettings: _,
58
- onSettingsChange: q,
59
- className: ne,
60
- style: te,
61
- toolbar: U = "top",
62
- showSettingsButton: ae = !0,
63
- placeholder: se = "Open a DOCX file to view",
64
- wasmBasePath: ie = ye
315
+ function Ag({
316
+ file: I,
317
+ html: s,
318
+ onFileChange: p,
319
+ onConversionStart: b,
320
+ onConversionComplete: A,
321
+ onError: h,
322
+ onPageChange: a,
323
+ onRevisionsExtracted: X,
324
+ settings: c,
325
+ defaultSettings: i,
326
+ onSettingsChange: l,
327
+ className: o,
328
+ style: r,
329
+ toolbar: v = "top",
330
+ showSettingsButton: Xe = !0,
331
+ showRevisionsTab: K = !0,
332
+ placeholder: Ne = "Open a DOCX file to view",
333
+ wasmBasePath: ee,
334
+ useWorker: Z = !1
65
335
  }) {
66
- const A = ee(
67
- () => ({ ...Se, ..._ }),
68
- [_]
69
- ), [oe, j] = d(null), [re, C] = d(null), [$, ce] = d(A), h = l !== void 0 ? l : oe, m = o !== void 0 ? o : re, t = ee(
70
- () => u ? { ...A, ...u } : $,
71
- [u, A, $]
72
- ), { isReady: p, isLoading: b, error: N, convertToHtml: z } = we(ie), [v, B] = d(!1), [G, k] = d(null), [W, H] = d(""), [c, T] = d(1), [r, E] = d(0), [de, P] = d(!1), F = Pe(null), X = x(() => ({
73
- commentRenderMode: Ae(t.commentMode),
74
- pageTitle: t.pageTitle,
75
- cssPrefix: t.cssPrefix,
76
- fabricateClasses: t.fabricateClasses,
77
- additionalCss: t.additionalCss || void 0,
78
- commentCssClassPrefix: t.commentCssClassPrefix,
79
- paginationMode: Me.Paginated,
80
- paginationScale: t.paginationScale,
81
- renderAnnotations: t.annotationMode !== "disabled",
82
- annotationLabelMode: Te(t.annotationMode),
83
- annotationCssClassPrefix: t.annotationCssClassPrefix,
84
- renderFootnotesAndEndnotes: t.renderFootnotesAndEndnotes,
85
- renderHeadersAndFooters: t.renderHeadersAndFooters,
86
- renderTrackedChanges: t.renderTrackedChanges,
87
- showDeletedContent: t.showDeletedContent,
88
- renderMoveOperations: t.renderMoveOperations
89
- }), [t]), f = x(async (n) => {
90
- if (p) {
91
- B(!0), k(null), R?.(), await new Promise((s) => requestAnimationFrame(() => requestAnimationFrame(s)));
336
+ const ge = E(
337
+ () => ({ ...gg, ...i }),
338
+ [i]
339
+ ), [Re, ae] = d(null), [He, Q] = d(null), [de, ze] = d(ge), y = I !== void 0 ? I : Re, W = s !== void 0 ? s : He, C = E(
340
+ () => c ? { ...ge, ...c } : de,
341
+ [c, ge, de]
342
+ ), N = Te(ee), [w, oe] = d(null), [we, re] = d(!1), [Fe, ne] = d(!1), [Ye, Ae] = d(null), S = pe(null);
343
+ j(() => {
344
+ if (!Z || !eg())
345
+ return;
346
+ let g = !1;
347
+ return ne(!0), Ae(null), qe({ wasmBasePath: ee }).then((t) => {
348
+ g ? t.terminate() : (S.current = t, oe(t), re(!0), ne(!1));
349
+ }).catch((t) => {
350
+ g || (Ae(t instanceof Error ? t : new Error(String(t))), ne(!1));
351
+ }), () => {
352
+ g = !0, S.current && (S.current.terminate(), S.current = null, oe(null), re(!1));
353
+ };
354
+ }, [Z, ee]);
355
+ const R = Z ? we : N.isReady, F = Z ? Fe : N.isLoading, D = Z ? Ye : N.error, [G, be] = d(!1), [me, U] = d(null), [Ze, ue] = d(""), [V, ce] = d(1), [u, Ie] = d(0), [Je, x] = d(!1), [Y, P] = d("document"), [te, L] = d([]), [ke, he] = d(!1), Ce = pe(null), ie = k(() => ({
356
+ commentRenderMode: ig(C.commentMode),
357
+ pageTitle: C.pageTitle,
358
+ cssPrefix: C.cssPrefix,
359
+ fabricateClasses: C.fabricateClasses,
360
+ additionalCss: C.additionalCss || void 0,
361
+ commentCssClassPrefix: C.commentCssClassPrefix,
362
+ paginationMode: $e.Paginated,
363
+ paginationScale: C.paginationScale,
364
+ renderAnnotations: C.annotationMode !== "disabled",
365
+ annotationLabelMode: lg(C.annotationMode),
366
+ annotationCssClassPrefix: C.annotationCssClassPrefix,
367
+ renderFootnotesAndEndnotes: C.renderFootnotesAndEndnotes,
368
+ renderHeadersAndFooters: C.renderHeadersAndFooters,
369
+ renderTrackedChanges: C.renderTrackedChanges,
370
+ showDeletedContent: C.showDeletedContent,
371
+ renderMoveOperations: C.renderMoveOperations
372
+ }), [C]), Ve = k(async (g) => {
373
+ if (!(!R || !K)) {
374
+ he(!0);
92
375
  try {
93
- const s = await z(n, X());
94
- o === void 0 && C(s), V?.(s);
95
- } catch (s) {
96
- const g = s instanceof Error ? s : new Error(String(s));
97
- k(g), Z?.(g);
376
+ const t = Z && w ? await w.getRevisions(g) : await N.getRevisions(g);
377
+ L(t), X?.(t);
378
+ } catch {
379
+ L([]);
98
380
  } finally {
99
- B(!1);
381
+ he(!1);
100
382
  }
101
383
  }
102
- }, [p, z, X, o, R, V, Z]);
103
- O(() => {
104
- p && h && !m && !v && o === void 0 && f(h);
105
- }, [p, h, m, v, f, o]);
106
- const le = async (n) => {
107
- const s = n.target.files?.[0];
108
- s && (H(s.name), k(null), T(1), E(0), l === void 0 && (j(s), C(null)), L?.(s), p && o === void 0 && await f(s));
109
- }, he = x(async () => {
110
- h && (o === void 0 && C(null), await f(h));
111
- }, [h, f, o]), ge = () => {
112
- l === void 0 && j(null), o === void 0 && C(null), k(null), H(""), T(1), E(0), L?.(null);
113
- const n = document.getElementById("rdv-file-input");
114
- n && (n.value = "");
115
- }, i = x((n) => {
116
- const s = { ...t, ...n };
117
- u === void 0 && ce(s), q?.(s);
118
- }, [t, u, q]), me = () => i({
119
- paginationScale: Math.min(t.paginationScale + 0.1, 2)
120
- }), ve = () => i({
121
- paginationScale: Math.max(t.paginationScale - 0.1, 0.3)
122
- }), ue = (n) => i({
123
- paginationScale: Math.max(0.3, Math.min(2, n))
124
- }), D = (n) => {
125
- const s = F.current;
126
- if (!s || n < 1 || n > r) return;
127
- const g = s.querySelector(`[data-page-number="${n}"]`);
128
- g && g.scrollIntoView({ behavior: "smooth", block: "start" });
129
- }, pe = () => c > 1 && D(c - 1), be = () => c < r && D(c + 1), fe = (n) => {
130
- T(n), y?.(n, r);
384
+ }, [R, Z, w, N, K, X]), J = k(async (g) => {
385
+ if (R) {
386
+ be(!0), U(null), L([]), P("document"), b?.(), Z || await new Promise((t) => requestAnimationFrame(() => requestAnimationFrame(t)));
387
+ try {
388
+ const t = Z && w ? await w.convertDocxToHtml(g, ie()) : await N.convertToHtml(g, ie());
389
+ s === void 0 && Q(t), A?.(t), Ve(g);
390
+ } catch (t) {
391
+ const B = t instanceof Error ? t : new Error(String(t));
392
+ U(B), h?.(B);
393
+ } finally {
394
+ be(!1);
395
+ }
396
+ }
397
+ }, [R, Z, w, N, ie, s, b, A, h, Ve]);
398
+ j(() => {
399
+ R && y && !W && !G && s === void 0 && J(y);
400
+ }, [R, y, W, G, J, s]);
401
+ const fe = async (g) => {
402
+ const t = g.target.files?.[0];
403
+ t && (ue(t.name), U(null), ce(1), Ie(0), I === void 0 && (ae(t), Q(null)), p?.(t), R && s === void 0 && await J(t));
404
+ }, Ke = k(async () => {
405
+ y && (s === void 0 && Q(null), await J(y));
406
+ }, [y, J, s]), Qe = () => {
407
+ I === void 0 && ae(null), s === void 0 && Q(null), U(null), ue(""), ce(1), Ie(0), L([]), P("document"), p?.(null);
408
+ const g = document.getElementById("rdv-file-input");
409
+ g && (g.value = "");
410
+ }, m = k((g) => {
411
+ const t = { ...C, ...g };
412
+ c === void 0 && ze(t), l?.(t);
413
+ }, [C, c, l]), Se = () => m({
414
+ paginationScale: Math.min(C.paginationScale + 0.1, 2)
415
+ }), De = () => m({
416
+ paginationScale: Math.max(C.paginationScale - 0.1, 0.3)
417
+ }), Ue = (g) => m({
418
+ paginationScale: Math.max(0.3, Math.min(2, g))
419
+ }), le = (g) => {
420
+ const t = Ce.current;
421
+ if (!t || g < 1 || g > u) return;
422
+ const B = t.querySelector(`[data-page-number="${g}"]`);
423
+ B && B.scrollIntoView({ behavior: "smooth", block: "start" });
424
+ }, xe = () => V > 1 && le(V - 1), Pe = () => V < u && le(V + 1), Le = (g) => {
425
+ ce(g), a?.(g, u);
131
426
  };
132
- O(() => {
133
- const n = F.current;
134
- if (!n) return;
135
- const s = (g) => {
136
- const Q = g.target.closest('a[href^="#"]');
137
- if (!Q) return;
138
- const I = Q.getAttribute("href");
139
- if (!I || !I.startsWith("#")) return;
140
- g.preventDefault();
141
- const Y = I.substring(1), w = n.querySelector(`[id="${Y}"], [name="${Y}"]`);
142
- w && (w.scrollIntoView({ behavior: "smooth", block: "center" }), w.classList.add("rdv-footnote-highlight"), setTimeout(() => w.classList.remove("rdv-footnote-highlight"), 2e3));
427
+ j(() => {
428
+ const g = Ce.current;
429
+ if (!g) return;
430
+ const t = (B) => {
431
+ const We = B.target.closest('a[href^="#"]');
432
+ if (!We) return;
433
+ const se = We.getAttribute("href");
434
+ if (!se || !se.startsWith("#")) return;
435
+ B.preventDefault();
436
+ const Ge = se.substring(1), M = g.querySelector(`[id="${Ge}"], [name="${Ge}"]`);
437
+ M && (M.scrollIntoView({ behavior: "smooth", block: "center" }), M.classList.add("rdv-footnote-highlight"), setTimeout(() => M.classList.remove("rdv-footnote-highlight"), 2e3));
143
438
  };
144
- return n.addEventListener("click", s), () => n.removeEventListener("click", s);
145
- }, [m]), O(() => {
146
- r > 0 && y?.(c, r);
147
- }, [r, c, y]);
148
- const J = v || b, Ce = () => /* @__PURE__ */ e("div", { className: "rdv-settings-overlay", onClick: () => P(!1), children: /* @__PURE__ */ a("div", { className: "rdv-settings-modal", onClick: (n) => n.stopPropagation(), children: [
149
- /* @__PURE__ */ a("div", { className: "rdv-settings-header", children: [
439
+ return g.addEventListener("click", t), () => g.removeEventListener("click", t);
440
+ }, [W]), j(() => {
441
+ u > 0 && a?.(V, u);
442
+ }, [u, V, a]);
443
+ const ve = G || F, Me = () => /* @__PURE__ */ e("div", { className: "rdv-settings-overlay", onClick: () => x(!1), children: /* @__PURE__ */ n("div", { className: "rdv-settings-modal", onClick: (g) => g.stopPropagation(), children: [
444
+ /* @__PURE__ */ n("div", { className: "rdv-settings-header", children: [
150
445
  /* @__PURE__ */ e("h3", { children: "Viewer Settings" }),
151
- /* @__PURE__ */ e("button", { className: "rdv-settings-close", onClick: () => P(!1), children: "×" })
446
+ /* @__PURE__ */ e("button", { className: "rdv-settings-close", onClick: () => x(!1), children: "×" })
152
447
  ] }),
153
- /* @__PURE__ */ a("div", { className: "rdv-settings-body", children: [
154
- /* @__PURE__ */ a("div", { className: "rdv-settings-section", children: [
448
+ /* @__PURE__ */ n("div", { className: "rdv-settings-body", children: [
449
+ /* @__PURE__ */ n("div", { className: "rdv-settings-section", children: [
155
450
  /* @__PURE__ */ e("h4", { children: "Display Options" }),
156
- /* @__PURE__ */ a("label", { className: "rdv-settings-checkbox", children: [
451
+ /* @__PURE__ */ n("label", { className: "rdv-settings-checkbox", children: [
157
452
  /* @__PURE__ */ e(
158
453
  "input",
159
454
  {
160
455
  type: "checkbox",
161
- checked: t.renderFootnotesAndEndnotes,
162
- onChange: (n) => i({ renderFootnotesAndEndnotes: n.target.checked })
456
+ checked: C.renderFootnotesAndEndnotes,
457
+ onChange: (g) => m({ renderFootnotesAndEndnotes: g.target.checked })
163
458
  }
164
459
  ),
165
460
  /* @__PURE__ */ e("span", { children: "Show footnotes and endnotes" })
166
461
  ] }),
167
- /* @__PURE__ */ a("label", { className: "rdv-settings-checkbox", children: [
462
+ /* @__PURE__ */ n("label", { className: "rdv-settings-checkbox", children: [
168
463
  /* @__PURE__ */ e(
169
464
  "input",
170
465
  {
171
466
  type: "checkbox",
172
- checked: t.renderHeadersAndFooters,
173
- onChange: (n) => i({ renderHeadersAndFooters: n.target.checked })
467
+ checked: C.renderHeadersAndFooters,
468
+ onChange: (g) => m({ renderHeadersAndFooters: g.target.checked })
174
469
  }
175
470
  ),
176
471
  /* @__PURE__ */ e("span", { children: "Show headers and footers" })
177
472
  ] }),
178
- /* @__PURE__ */ a("label", { className: "rdv-settings-checkbox", children: [
473
+ /* @__PURE__ */ n("label", { className: "rdv-settings-checkbox", children: [
179
474
  /* @__PURE__ */ e(
180
475
  "input",
181
476
  {
182
477
  type: "checkbox",
183
- checked: t.showPageNumbers,
184
- onChange: (n) => i({ showPageNumbers: n.target.checked })
478
+ checked: C.showPageNumbers,
479
+ onChange: (g) => m({ showPageNumbers: g.target.checked })
185
480
  }
186
481
  ),
187
482
  /* @__PURE__ */ e("span", { children: "Show page numbers" })
188
483
  ] })
189
484
  ] }),
190
- /* @__PURE__ */ a("div", { className: "rdv-settings-section", children: [
485
+ /* @__PURE__ */ n("div", { className: "rdv-settings-section", children: [
191
486
  /* @__PURE__ */ e("h4", { children: "Comment Rendering" }),
192
- /* @__PURE__ */ e("div", { className: "rdv-settings-radio-group", children: ["disabled", "endnote", "inline", "margin"].map((n) => /* @__PURE__ */ a("label", { className: "rdv-settings-radio", children: [
487
+ /* @__PURE__ */ e("div", { className: "rdv-settings-radio-group", children: ["disabled", "endnote", "inline", "margin"].map((g) => /* @__PURE__ */ n("label", { className: "rdv-settings-radio", children: [
193
488
  /* @__PURE__ */ e(
194
489
  "input",
195
490
  {
196
491
  type: "radio",
197
492
  name: "commentMode",
198
- checked: t.commentMode === n,
199
- onChange: () => i({ commentMode: n })
493
+ checked: C.commentMode === g,
494
+ onChange: () => m({ commentMode: g })
200
495
  }
201
496
  ),
202
- /* @__PURE__ */ a("span", { children: [
203
- n.charAt(0).toUpperCase() + n.slice(1),
204
- n === "endnote" ? "s" : ""
497
+ /* @__PURE__ */ n("span", { children: [
498
+ g.charAt(0).toUpperCase() + g.slice(1),
499
+ g === "endnote" ? "s" : ""
205
500
  ] })
206
- ] }, n)) })
501
+ ] }, g)) })
207
502
  ] }),
208
- /* @__PURE__ */ a("div", { className: "rdv-settings-section", children: [
503
+ /* @__PURE__ */ n("div", { className: "rdv-settings-section", children: [
209
504
  /* @__PURE__ */ e("h4", { children: "Annotation Rendering" }),
210
- /* @__PURE__ */ e("div", { className: "rdv-settings-radio-group", children: ["disabled", "above", "inline", "tooltip", "none"].map((n) => /* @__PURE__ */ a("label", { className: "rdv-settings-radio", children: [
505
+ /* @__PURE__ */ e("div", { className: "rdv-settings-radio-group", children: ["disabled", "above", "inline", "tooltip", "none"].map((g) => /* @__PURE__ */ n("label", { className: "rdv-settings-radio", children: [
211
506
  /* @__PURE__ */ e(
212
507
  "input",
213
508
  {
214
509
  type: "radio",
215
510
  name: "annotationMode",
216
- checked: t.annotationMode === n,
217
- onChange: () => i({ annotationMode: n })
511
+ checked: C.annotationMode === g,
512
+ onChange: () => m({ annotationMode: g })
218
513
  }
219
514
  ),
220
- /* @__PURE__ */ e("span", { children: n === "none" ? "Highlight Only" : n.charAt(0).toUpperCase() + n.slice(1) })
221
- ] }, n)) })
515
+ /* @__PURE__ */ e("span", { children: g === "none" ? "Highlight Only" : g.charAt(0).toUpperCase() + g.slice(1) })
516
+ ] }, g)) })
222
517
  ] }),
223
- /* @__PURE__ */ a("div", { className: "rdv-settings-section", children: [
518
+ /* @__PURE__ */ n("div", { className: "rdv-settings-section", children: [
224
519
  /* @__PURE__ */ e("h4", { children: "Tracked Changes" }),
225
- /* @__PURE__ */ a("label", { className: "rdv-settings-checkbox", children: [
520
+ /* @__PURE__ */ n("label", { className: "rdv-settings-checkbox", children: [
226
521
  /* @__PURE__ */ e(
227
522
  "input",
228
523
  {
229
524
  type: "checkbox",
230
- checked: t.renderTrackedChanges,
231
- onChange: (n) => i({ renderTrackedChanges: n.target.checked })
525
+ checked: C.renderTrackedChanges,
526
+ onChange: (g) => m({ renderTrackedChanges: g.target.checked })
232
527
  }
233
528
  ),
234
529
  /* @__PURE__ */ e("span", { children: "Show tracked changes" })
235
530
  ] }),
236
- t.renderTrackedChanges && /* @__PURE__ */ a("div", { className: "rdv-settings-subsection", children: [
237
- /* @__PURE__ */ a("label", { className: "rdv-settings-checkbox", children: [
531
+ C.renderTrackedChanges && /* @__PURE__ */ n("div", { className: "rdv-settings-subsection", children: [
532
+ /* @__PURE__ */ n("label", { className: "rdv-settings-checkbox", children: [
238
533
  /* @__PURE__ */ e(
239
534
  "input",
240
535
  {
241
536
  type: "checkbox",
242
- checked: t.showDeletedContent,
243
- onChange: (n) => i({ showDeletedContent: n.target.checked })
537
+ checked: C.showDeletedContent,
538
+ onChange: (g) => m({ showDeletedContent: g.target.checked })
244
539
  }
245
540
  ),
246
541
  /* @__PURE__ */ e("span", { children: "Show deleted content" })
247
542
  ] }),
248
- /* @__PURE__ */ a("label", { className: "rdv-settings-checkbox", children: [
543
+ /* @__PURE__ */ n("label", { className: "rdv-settings-checkbox", children: [
249
544
  /* @__PURE__ */ e(
250
545
  "input",
251
546
  {
252
547
  type: "checkbox",
253
- checked: t.renderMoveOperations,
254
- onChange: (n) => i({ renderMoveOperations: n.target.checked })
548
+ checked: C.renderMoveOperations,
549
+ onChange: (g) => m({ renderMoveOperations: g.target.checked })
255
550
  }
256
551
  ),
257
552
  /* @__PURE__ */ e("span", { children: "Distinguish move operations" })
@@ -260,61 +555,89 @@ function Le({
260
555
  ] })
261
556
  ] }),
262
557
  /* @__PURE__ */ e("div", { className: "rdv-settings-footer", children: /* @__PURE__ */ e("button", { className: "rdv-settings-apply", onClick: () => {
263
- he(), P(!1);
558
+ Ke(), x(!1);
264
559
  }, children: "Apply & Close" }) })
265
- ] }) }), K = () => /* @__PURE__ */ a("div", { className: "rdv-toolbar", children: [
266
- /* @__PURE__ */ a("div", { className: "rdv-toolbar-left", children: [
267
- /* @__PURE__ */ e("label", { htmlFor: "rdv-file-input", className: "rdv-toolbar-file-btn", children: W || "Open Document" }),
560
+ ] }) }), je = te.length > 0, ye = () => /* @__PURE__ */ n("div", { className: "rdv-toolbar", children: [
561
+ /* @__PURE__ */ n("div", { className: "rdv-toolbar-left", children: [
562
+ /* @__PURE__ */ e("label", { htmlFor: "rdv-file-input", className: "rdv-toolbar-file-btn", children: Ze || "Open Document" }),
268
563
  /* @__PURE__ */ e(
269
564
  "input",
270
565
  {
271
566
  id: "rdv-file-input",
272
567
  type: "file",
273
568
  accept: ".docx",
274
- onChange: le,
275
- disabled: J,
569
+ onChange: fe,
570
+ disabled: ve,
276
571
  className: "rdv-file-input"
277
572
  }
278
573
  ),
279
- W && /* @__PURE__ */ e("button", { className: "rdv-toolbar-btn rdv-toolbar-clear", onClick: ge, disabled: J, children: "×" })
574
+ Ze && /* @__PURE__ */ e("button", { className: "rdv-toolbar-btn rdv-toolbar-clear", onClick: Qe, disabled: ve, children: "×" }),
575
+ K && je && /* @__PURE__ */ n(Be, { children: [
576
+ /* @__PURE__ */ e("div", { className: "rdv-toolbar-separator" }),
577
+ /* @__PURE__ */ n("div", { className: "rdv-view-tabs", children: [
578
+ /* @__PURE__ */ e(
579
+ "button",
580
+ {
581
+ className: `rdv-view-tab ${Y === "document" ? "rdv-view-tab--active" : ""}`,
582
+ onClick: () => P("document"),
583
+ title: "View Document",
584
+ children: "Document"
585
+ }
586
+ ),
587
+ /* @__PURE__ */ n(
588
+ "button",
589
+ {
590
+ className: `rdv-view-tab ${Y === "revisions" ? "rdv-view-tab--active" : ""}`,
591
+ onClick: () => P("revisions"),
592
+ title: "View Tracked Changes",
593
+ children: [
594
+ "Changes (",
595
+ te.length,
596
+ ")"
597
+ ]
598
+ }
599
+ )
600
+ ] })
601
+ ] }),
602
+ K && ke && /* @__PURE__ */ e("span", { className: "rdv-extracting-indicator", title: "Extracting tracked changes...", children: "..." })
280
603
  ] }),
281
- /* @__PURE__ */ e("div", { className: "rdv-toolbar-center", children: m && r > 0 && /* @__PURE__ */ a(ke, { children: [
604
+ /* @__PURE__ */ e("div", { className: "rdv-toolbar-center", children: W && u > 0 && Y === "document" && /* @__PURE__ */ n(Be, { children: [
282
605
  /* @__PURE__ */ e(
283
606
  "button",
284
607
  {
285
608
  className: "rdv-toolbar-btn",
286
- onClick: pe,
287
- disabled: c <= 1,
609
+ onClick: xe,
610
+ disabled: V <= 1,
288
611
  title: "Previous Page",
289
612
  children: "◀"
290
613
  }
291
614
  ),
292
- /* @__PURE__ */ a("div", { className: "rdv-page-input-group", children: [
615
+ /* @__PURE__ */ n("div", { className: "rdv-page-input-group", children: [
293
616
  /* @__PURE__ */ e(
294
617
  "input",
295
618
  {
296
619
  type: "number",
297
620
  className: "rdv-page-input",
298
- value: c,
621
+ value: V,
299
622
  min: 1,
300
- max: r,
301
- onChange: (n) => {
302
- const s = parseInt(n.target.value);
303
- isNaN(s) || D(s);
623
+ max: u,
624
+ onChange: (g) => {
625
+ const t = parseInt(g.target.value);
626
+ isNaN(t) || le(t);
304
627
  }
305
628
  }
306
629
  ),
307
- /* @__PURE__ */ a("span", { className: "rdv-page-total", children: [
630
+ /* @__PURE__ */ n("span", { className: "rdv-page-total", children: [
308
631
  "/ ",
309
- r
632
+ u
310
633
  ] })
311
634
  ] }),
312
635
  /* @__PURE__ */ e(
313
636
  "button",
314
637
  {
315
638
  className: "rdv-toolbar-btn",
316
- onClick: be,
317
- disabled: c >= r,
639
+ onClick: Pe,
640
+ disabled: V >= u,
318
641
  title: "Next Page",
319
642
  children: "▶"
320
643
  }
@@ -324,18 +647,18 @@ function Le({
324
647
  "button",
325
648
  {
326
649
  className: "rdv-toolbar-btn",
327
- onClick: ve,
328
- disabled: t.paginationScale <= 0.3,
650
+ onClick: De,
651
+ disabled: C.paginationScale <= 0.3,
329
652
  title: "Zoom Out",
330
653
  children: "−"
331
654
  }
332
655
  ),
333
- /* @__PURE__ */ a(
656
+ /* @__PURE__ */ n(
334
657
  "select",
335
658
  {
336
659
  className: "rdv-zoom-select",
337
- value: t.paginationScale,
338
- onChange: (n) => ue(parseFloat(n.target.value)),
660
+ value: C.paginationScale,
661
+ onChange: (g) => Ue(parseFloat(g.target.value)),
339
662
  children: [
340
663
  /* @__PURE__ */ e("option", { value: "0.5", children: "50%" }),
341
664
  /* @__PURE__ */ e("option", { value: "0.75", children: "75%" }),
@@ -352,64 +675,71 @@ function Le({
352
675
  "button",
353
676
  {
354
677
  className: "rdv-toolbar-btn",
355
- onClick: me,
356
- disabled: t.paginationScale >= 2,
678
+ onClick: Se,
679
+ disabled: C.paginationScale >= 2,
357
680
  title: "Zoom In",
358
681
  children: "+"
359
682
  }
360
683
  )
361
684
  ] }) }),
362
- /* @__PURE__ */ e("div", { className: "rdv-toolbar-right", children: ae && /* @__PURE__ */ e(
685
+ /* @__PURE__ */ e("div", { className: "rdv-toolbar-right", children: Xe && /* @__PURE__ */ e(
363
686
  "button",
364
687
  {
365
688
  className: "rdv-toolbar-btn rdv-toolbar-settings",
366
- onClick: () => P(!0),
689
+ onClick: () => x(!0),
367
690
  title: "Settings",
368
691
  children: "⚙"
369
692
  }
370
693
  ) })
371
- ] }), Ne = ["rdv-viewer", ne].filter(Boolean).join(" ");
372
- return /* @__PURE__ */ a("div", { className: Ne, style: te, children: [
373
- U === "top" && /* @__PURE__ */ e(K, {}),
374
- /* @__PURE__ */ a("div", { className: "rdv-content", children: [
375
- N && /* @__PURE__ */ e("div", { className: "rdv-message rdv-message--error", children: /* @__PURE__ */ a("p", { children: [
694
+ ] }), Oe = ["rdv-viewer", o].filter(Boolean).join(" ");
695
+ return /* @__PURE__ */ n("div", { className: Oe, style: r, children: [
696
+ v === "top" && /* @__PURE__ */ e(ye, {}),
697
+ /* @__PURE__ */ n("div", { className: "rdv-content", children: [
698
+ D && /* @__PURE__ */ e("div", { className: "rdv-message rdv-message--error", children: /* @__PURE__ */ n("p", { children: [
376
699
  "Failed to initialize: ",
377
- N.message
700
+ D.message
378
701
  ] }) }),
379
- !N && (b || v) && /* @__PURE__ */ a("div", { className: "rdv-message", children: [
702
+ !D && (F || G) && /* @__PURE__ */ n("div", { className: "rdv-message", children: [
380
703
  /* @__PURE__ */ e("div", { className: "rdv-spinner" }),
381
- /* @__PURE__ */ e("p", { children: b && h ? "Loading engine & preparing document..." : b ? "Loading document engine..." : "Processing document..." })
704
+ /* @__PURE__ */ e("p", { children: F && y ? "Loading engine & preparing document..." : F ? "Loading document engine..." : "Processing document..." })
382
705
  ] }),
383
- !b && !N && !m && !v && !h && /* @__PURE__ */ a("div", { className: "rdv-message", children: [
706
+ !F && !D && !W && !G && !y && /* @__PURE__ */ n("div", { className: "rdv-message", children: [
384
707
  /* @__PURE__ */ e("div", { className: "rdv-message__icon", children: "📄" }),
385
- /* @__PURE__ */ e("p", { children: se })
708
+ /* @__PURE__ */ e("p", { children: Ne })
386
709
  ] }),
387
- G && !v && /* @__PURE__ */ e("div", { className: "rdv-message rdv-message--error", children: /* @__PURE__ */ a("p", { children: [
710
+ me && !G && /* @__PURE__ */ e("div", { className: "rdv-message rdv-message--error", children: /* @__PURE__ */ n("p", { children: [
388
711
  "Error: ",
389
- G.message
712
+ me.message
390
713
  ] }) }),
391
- m && !v && /* @__PURE__ */ e("div", { ref: F, className: "rdv-pages", children: /* @__PURE__ */ e(
392
- xe,
714
+ W && !G && Y === "document" && /* @__PURE__ */ e("div", { ref: Ce, className: "rdv-pages", children: /* @__PURE__ */ e(
715
+ Ee,
393
716
  {
394
- html: m,
395
- scale: t.paginationScale,
396
- showPageNumbers: t.showPageNumbers,
717
+ html: W,
718
+ scale: C.paginationScale,
719
+ showPageNumbers: C.showPageNumbers,
397
720
  pageGap: 20,
398
721
  backgroundColor: "#525659",
399
722
  className: "rdv-paginated-document",
400
- onPaginationComplete: (n) => {
401
- E(n.totalPages);
723
+ onPaginationComplete: (g) => {
724
+ Ie(g.totalPages);
402
725
  },
403
- onPageVisible: fe
726
+ onPageVisible: Le
404
727
  }
405
- ) })
728
+ ) }),
729
+ W && !G && Y === "revisions" && /* @__PURE__ */ e(Cg, { revisions: te })
406
730
  ] }),
407
- U === "bottom" && /* @__PURE__ */ e(K, {}),
408
- de && /* @__PURE__ */ e(Ce, {})
731
+ v === "bottom" && /* @__PURE__ */ e(ye, {}),
732
+ Je && /* @__PURE__ */ e(Me, {})
409
733
  ] });
410
734
  }
411
735
  export {
412
- Se as DEFAULT_SETTINGS,
413
- Le as DocumentViewer
736
+ gg as DEFAULT_SETTINGS,
737
+ Ag as DocumentViewer,
738
+ Zg as RevisionType,
739
+ ug as isDeletion,
740
+ hg as isFormatChange,
741
+ Vg as isInsertion,
742
+ vg as isMove,
743
+ eg as isWorkerSupported
414
744
  };
415
745
  //# sourceMappingURL=react-docxodus-viewer.es.js.map