plugin-file-preview-auth 1.3.3 → 1.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/client-v2.d.ts +2 -0
  2. package/client-v2.js +1 -0
  3. package/dist/client/713.79a55458f5b67f39.js +30 -0
  4. package/dist/client/823.8b0ab22c181d4523.js +10 -0
  5. package/dist/client/828.ae8e47a2e7a3bc9e.js +49 -0
  6. package/dist/client/892.a568eb42fd6f0047.js +10 -0
  7. package/dist/client/index.js +1 -1
  8. package/dist/client-v2/index.js +10 -0
  9. package/dist/externalVersion.js +8 -7
  10. package/dist/node_modules/@aws-sdk/client-s3/dist-cjs/index.js +3086 -3725
  11. package/dist/node_modules/@aws-sdk/client-s3/node_modules/.bin/fxparser +16 -0
  12. package/dist/node_modules/@aws-sdk/client-s3/node_modules/.bin/fxparser.cmd +17 -0
  13. package/dist/node_modules/@aws-sdk/client-s3/node_modules/.bin/fxparser.ps1 +28 -0
  14. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/signature-v4-multi-region/dist-cjs/index.js +110 -0
  15. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/signature-v4-multi-region/dist-es/SignatureV4MultiRegion.js +66 -0
  16. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/signature-v4-multi-region/dist-es/index.js +2 -0
  17. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/signature-v4-multi-region/dist-es/signature-v4-crt-container.js +3 -0
  18. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/signature-v4-multi-region/dist-types/SignatureV4MultiRegion.d.ts +30 -0
  19. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/signature-v4-multi-region/dist-types/index.d.ts +5 -0
  20. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/signature-v4-multi-region/dist-types/signature-v4-crt-container.d.ts +28 -0
  21. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/signature-v4-multi-region/dist-types/ts3.4/SignatureV4MultiRegion.d.ts +40 -0
  22. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/signature-v4-multi-region/dist-types/ts3.4/index.d.ts +2 -0
  23. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/signature-v4-multi-region/dist-types/ts3.4/signature-v4-crt-container.d.ts +20 -0
  24. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/signature-v4-multi-region/package.json +57 -0
  25. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-cjs/AdaptiveRetryStrategy.js +1 -0
  26. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-cjs/ConfiguredRetryStrategy.js +1 -0
  27. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-cjs/DefaultRateLimiter.js +1 -0
  28. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-cjs/StandardRetryStrategy.js +1 -0
  29. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-cjs/config.js +1 -0
  30. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-cjs/constants.js +1 -0
  31. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-cjs/defaultRetryBackoffStrategy.js +1 -0
  32. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-cjs/defaultRetryToken.js +1 -0
  33. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-cjs/index.js +358 -0
  34. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-cjs/types.js +1 -0
  35. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-es/AdaptiveRetryStrategy.js +24 -0
  36. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-es/ConfiguredRetryStrategy.js +18 -0
  37. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-es/DefaultRateLimiter.js +100 -0
  38. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-es/StandardRetryStrategy.js +65 -0
  39. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-es/config.js +7 -0
  40. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-es/constants.js +9 -0
  41. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-es/defaultRetryBackoffStrategy.js +14 -0
  42. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-es/defaultRetryToken.js +11 -0
  43. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-es/index.js +7 -0
  44. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-es/types.js +1 -0
  45. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-types/AdaptiveRetryStrategy.d.ts +33 -0
  46. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-types/ConfiguredRetryStrategy.d.ts +32 -0
  47. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-types/DefaultRateLimiter.d.ts +49 -0
  48. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-types/StandardRetryStrategy.d.ts +26 -0
  49. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-types/config.d.ts +20 -0
  50. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-types/constants.d.ts +59 -0
  51. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-types/defaultRetryBackoffStrategy.d.ts +5 -0
  52. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-types/defaultRetryToken.d.ts +9 -0
  53. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-types/index.d.ts +7 -0
  54. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-types/ts3.4/AdaptiveRetryStrategy.d.ts +33 -0
  55. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-types/ts3.4/ConfiguredRetryStrategy.d.ts +32 -0
  56. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-types/ts3.4/DefaultRateLimiter.d.ts +49 -0
  57. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-types/ts3.4/StandardRetryStrategy.d.ts +26 -0
  58. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-types/ts3.4/config.d.ts +20 -0
  59. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-types/ts3.4/constants.d.ts +59 -0
  60. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-types/ts3.4/defaultRetryBackoffStrategy.d.ts +5 -0
  61. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-types/ts3.4/defaultRetryToken.d.ts +9 -0
  62. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-types/ts3.4/index.d.ts +7 -0
  63. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-types/ts3.4/types.d.ts +19 -0
  64. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/dist-types/types.d.ts +19 -0
  65. package/dist/node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-retry/package.json +68 -0
  66. package/dist/node_modules/@aws-sdk/client-s3/package.json +1 -1
  67. package/dist/node_modules/xlsx/package.json +1 -1
  68. package/dist/server/ocr/tesseract-runner.js +3 -1
  69. package/dist/server/plugin.js +22 -4
  70. package/package.json +57 -45
  71. package/src/client/AIFilePreviewAction.tsx +282 -0
  72. package/src/client/__tests__/ocr-utils.test.ts +85 -0
  73. package/src/client/client.d.ts +258 -0
  74. package/src/client/index.tsx +1807 -0
  75. package/src/client/locale.ts +21 -0
  76. package/src/client-v2/index.tsx +1 -0
  77. package/src/client-v2/plugin.tsx +7 -0
  78. package/{dist/index.d.ts → src/index.ts} +11 -10
  79. package/src/locale/en-US.json +14 -0
  80. package/src/locale/vi-VN.json +14 -0
  81. package/src/locale/zh-CN.json +14 -0
  82. package/src/server/__tests__/smoke.test.ts +17 -0
  83. package/src/server/collections/attachment-ocr-results.ts +40 -0
  84. package/{dist/server/collections/file-preview-auth.d.ts → src/server/collections/file-preview-auth.ts} +15 -14
  85. package/src/server/excel-parser-handler.ts +128 -0
  86. package/{dist/server/index.d.ts → src/server/index.ts} +10 -9
  87. package/src/server/migrations/20260528000000-move-ocr-fields-out-of-attachments.ts +39 -0
  88. package/src/server/ocr/tesseract-runner.ts +389 -0
  89. package/src/server/ocr/tesseract-worker.ts +235 -0
  90. package/src/server/plugin.ts +1470 -0
  91. package/dist/client/166.17caa11c2ba40313.js +0 -10
  92. package/dist/client/351.0f0ce45c92425c8f.js +0 -10
  93. package/dist/client/374.96762d13b15e7467.js +0 -30
  94. package/dist/client/514.2a8b6aa0d2fcd4b2.js +0 -49
  95. package/dist/client/AIFilePreviewAction.d.ts +0 -42
  96. package/dist/client/index.d.ts +0 -14
  97. package/dist/client/locale.d.ts +0 -10
  98. package/dist/node_modules/xlsx/node_modules/.bin/crc32 +0 -15
  99. package/dist/node_modules/xlsx/node_modules/.bin/crc32.cmd +0 -7
  100. package/dist/server/collections/attachment-ocr-results.d.ts +0 -2
  101. package/dist/server/excel-parser-handler.d.ts +0 -60
  102. package/dist/server/migrations/20260528000000-move-ocr-fields-out-of-attachments.d.ts +0 -5
  103. package/dist/server/ocr/tesseract-runner.d.ts +0 -34
  104. package/dist/server/ocr/tesseract-worker.d.ts +0 -27
  105. package/dist/server/plugin.d.ts +0 -54
@@ -7,4 +7,4 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
 
10
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@nocobase/plugin-ai/client"),require("@nocobase/plugin-file-manager/client"),require("@nocobase/client"),require("react"),require("@ant-design/icons"),require("antd")):"function"==typeof define&&define.amd?define("plugin-file-preview-auth",["@nocobase/plugin-ai/client","@nocobase/plugin-file-manager/client","@nocobase/client","react","@ant-design/icons","antd"],t):"object"==typeof exports?exports["plugin-file-preview-auth"]=t(require("@nocobase/plugin-ai/client"),require("@nocobase/plugin-file-manager/client"),require("@nocobase/client"),require("react"),require("@ant-design/icons"),require("antd")):e["plugin-file-preview-auth"]=t(e["@nocobase/plugin-ai/client"],e["@nocobase/plugin-file-manager/client"],e["@nocobase/client"],e.react,e["@ant-design/icons"],e.antd)}(self,function(e,t,n,r,i,l){return function(){var o,a,u,c,s,d,f={41:function(e){e.exports=function(e,t){return"undefined"!=typeof __deoptimization_sideEffect__&&__deoptimization_sideEffect__(e,t),t}},482:function(e){"use strict";e.exports=i},772:function(e){"use strict";e.exports=n},645:function(t){"use strict";t.exports=e},183:function(e){"use strict";e.exports=t},721:function(e){"use strict";e.exports=l},156:function(e){"use strict";e.exports=r}},p={};function m(e){var t=p[e];if(void 0!==t)return t.exports;var n=p[e]={exports:{}};return f[e](n,n.exports,m),n.exports}m.m=f,m.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return m.d(t,{a:t}),t},m.d=function(e,t){for(var n in t)m.o(t,n)&&!m.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},m.f={},m.e=function(e){return Promise.all(Object.keys(m.f).reduce(function(t,n){return m.f[n](e,t),t},[]))},m.u=function(e){return""+e+"."+({166:"17caa11c2ba40313",351:"0f0ce45c92425c8f",374:"96762d13b15e7467",514:"2a8b6aa0d2fcd4b2"})[e]+".js"},m.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),m.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o={},a="plugin-file-preview-auth:",m.l=function(e,t,n,r){if(o[e])return void o[e].push(t);if(void 0!==n)for(var i,l,u=document.getElementsByTagName("script"),c=0;c<u.length;c++){var s=u[c];if(s.getAttribute("src")==e||s.getAttribute("data-webpack")==a+n){i=s;break}}i||(l=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,m.nc&&i.setAttribute("nonce",m.nc),i.setAttribute("data-webpack",a+n),i.src=e),o[e]=[t];var d=function(t,n){i.onerror=i.onload=null,clearTimeout(f);var r=o[e];if(delete o[e],i.parentNode&&i.parentNode.removeChild(i),r&&r.forEach(function(e){return e(n)}),t)return t(n)},f=setTimeout(d.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),l&&document.head.appendChild(i)},m.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(u=window.__webpack_public_path__||"/").endsWith("/")||(u+="/"),m.p=u+"static/plugins/plugin-file-preview-auth/dist/client/",c={909:0},m.f.j=function(e,t){var n=m.o(c,e)?c[e]:void 0;if(0!==n)if(n)t.push(n[2]);else{var r=new Promise(function(t,r){n=c[e]=[t,r]});t.push(n[2]=r);var i=m.p+m.u(e),l=Error();m.l(i,function(t){if(m.o(c,e)&&(0!==(n=c[e])&&(c[e]=void 0),n)){var r=t&&("load"===t.type?"missing":t.type),i=t&&t.target&&t.target.src;l.message="Loading chunk "+e+" failed.\n("+r+": "+i+")",l.name="ChunkLoadError",l.type=r,l.request=i,n[1](l)}},"chunk-"+e,e)}},s=function(e,t){var n,r,i=t[0],l=t[1],o=t[2],a=0;if(i.some(function(e){return 0!==c[e]})){for(n in l)m.o(l,n)&&(m.m[n]=l[n]);o&&o(m)}for(e&&e(t);a<i.length;a++)r=i[a],m.o(c,r)&&c[r]&&c[r][0](),c[r]=0},(d=self.webpackChunkplugin_file_preview_auth=self.webpackChunkplugin_file_preview_auth||[]).forEach(s.bind(null,0)),d.push=s.bind(null,d.push.bind(d));var v={};return!function(){"use strict";m.r(v),m.d(v,{default:function(){return eF},PluginFilePreviewAuthClient:function(){return eI}});var e=m(156),t=m.n(e),n=m(482),r=m(721),i=m(772),l=m(183),o=JSON.parse('{"u2":"plugin-file-preview-auth"}');function a(){var e=(0,i.useApp)();return function(t){return e.i18n.t(t,{ns:[o.u2,"client"]})}}var u=m(645);function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function s(e,t,n,r,i,l,o){try{var a=e[l](o),u=a.value}catch(e){n(e);return}a.done?t(u):Promise.resolve(u).then(r,i)}function d(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function f(e){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function p(e,t){return(p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function g(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,i=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=i){var l=[],o=!0,a=!1;try{for(i=i.call(e);!(o=(n=i.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){a=!0,r=e}finally{try{o||null==i.return||i.return()}finally{if(a)throw r}}return l}}(e,t)||y(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function h(e){return function(e){if(Array.isArray(e))return c(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||y(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function y(e,t){if(e){if("string"==typeof e)return c(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return c(e,t)}}function b(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(b=function(){return!!e})()}var w="file-preview",x="plugin-file-preview-auth.aiEmployee";function E(e){return e?e.title&&e.extname?"".concat(e.title).concat(e.extname):e.filename||e.name||e.title||"file":"file"}var k=function(e){var t,n;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function r(e){var t,n,i;if(!(this instanceof r))throw TypeError("Cannot call a class as a function");return n=r,i=[e],n=f(n),(t=function(e,t){var n;if(t&&("object"==((n=t)&&"undefined"!=typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,b()?Reflect.construct(n,i||[],f(this).constructor):n.apply(this,i))).state={hasError:!1},t}return r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&p(r,e),n=[{key:"getDerivedStateFromError",value:function(){return{hasError:!0}}}],t=[{key:"render",value:function(){return this.state.hasError?null:this.props.children}}],d(r.prototype,t),n&&d(r,n),r}(t().Component),S=function(i){var l,o,c=i.file,d=a(),f=(0,u.useAIConfigRepository)(),p=(0,u.useChatBoxActions)().triggerTask,m=g((0,e.useState)([]),2),v=m[0],y=m[1],b=g((0,e.useState)(!1),2),k=b[0],S=b[1],C=g((0,e.useState)(!1),2),O=C[0],P=C[1];(0,e.useEffect)(function(){var e=!1;if(null==f?void 0:f.getAIEmployees){var t=f.aiEmployees||[];return t.length?void y(h(t)):(S(!0),f.getAIEmployees().then(function(t){e||(y(h(t||[])),S(!1))}).catch(function(){e||(y([]),S(!1))}),function(){e=!0})}},[f]);var j=(0,e.useMemo)(function(){var e=function(){try{return window.localStorage.getItem(x)||""}catch(e){return""}}();return e?h(v).sort(function(t,n){return t.username===e?-1:+(n.username===e)}):v},[v]),_=(0,e.useCallback)((l=function(e){return function(e,t){var n,r,i,l,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return l={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function a(l){return function(a){var u=[l,a];if(n)throw TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&u[0]?r.return:u[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,u[1])).done)return i;switch(r=0,i&&(u=[2&u[0],i.value]),u[0]){case 0:case 1:i=u;break;case 4:return o.label++,{value:u[1],done:!1};case 5:o.label++,r=u[1],u=[0];continue;case 7:u=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===u[0]||2===u[0])){o=0;continue}if(3===u[0]&&(!i||u[1]>i[0]&&u[1]<i[3])){o.label=u[1];break}if(6===u[0]&&o.label<i[1]){o.label=i[1],i=u;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(u);break}i[2]&&o.ops.pop(),o.trys.pop();continue}u=t.call(e,o)}catch(e){u=[6,e],r=0}finally{n=i=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}(this,function(t){switch(t.label){case 0:if(!e||!c)return[2];P(!0),t.label=1;case 1:t.trys.push([1,3,4,5]);var n,i,l,o,a,u,s,f,m,v,g=e.username;try{window.localStorage.setItem(x,g)}catch(e){}return[4,p({aiEmployee:e,tasks:[{title:E(c),message:{user:d("Please help me analyze the file currently open in preview."),workContext:[{type:w,uid:(a=null!=(o=null!=(l=null!=(i=null!=(n=null==c?void 0:c.id)?n:null==c?void 0:c.uid)?i:null==c?void 0:c.url)?l:null==c?void 0:c.path)?o:E(c),"file-preview:".concat(String(a))),title:E(c),content:{source:"plugin-file-preview-auth",file:{id:null==c?void 0:c.id,uid:null==c?void 0:c.uid,url:null==c?void 0:c.url,preview:null==c?void 0:c.preview,filename:(null==c?void 0:c.filename)||(null==c?void 0:c.name),name:(null==c?void 0:c.name)||(null==c?void 0:c.filename),title:null==c?void 0:c.title,extname:null==c?void 0:c.extname,mimetype:null==c?void 0:c.mimetype,size:null==c?void 0:c.size,path:null==c?void 0:c.path,storageId:null!=(v=null!=(m=null==c?void 0:c.storageId)?m:null==c?void 0:c.storage_id)?v:null==c||null==(u=c.storage)?void 0:u.id,storage_id:null==c?void 0:c.storage_id,storageType:(null==c?void 0:c.storageType)||(null==c||null==(s=c.storage)?void 0:s.type),storageName:(null==c?void 0:c.storageName)||(null==c||null==(f=c.storage)?void 0:f.name),storage:null==c?void 0:c.storage,collectionName:null==c?void 0:c.collectionName}}}]},autoSend:!1}]})];case 2:return t.sent(),[3,5];case 3:return t.sent(),r.message.error(d("Failed to open AI chat")),[3,5];case 4:return P(!1),[7];case 5:return[2]}})},o=function(){var e=this,t=arguments;return new Promise(function(n,r){var i=l.apply(e,t);function o(e){s(i,n,r,o,a,"next",e)}function a(e){s(i,n,r,o,a,"throw",e)}o(void 0)})},function(e){return o.apply(this,arguments)}),[c,d,p]),T=j.map(function(e){return{key:e.username,label:(null==e?void 0:e.nickname)||(null==e?void 0:e.username)||"",onClick:function(){return _(e)}}});return k||j.length?1===j.length?t().createElement(r.Tooltip,{title:d("Ask AI")},t().createElement(r.Button,{type:"text",size:"small",icon:t().createElement(n.RobotOutlined,null),loading:O||k,onClick:function(e){e.stopPropagation(),_(j[0])}},d("Ask AI"))):t().createElement(r.Tooltip,{title:d("Ask AI")},t().createElement(r.Dropdown,{menu:{items:T},trigger:["click"],placement:"bottomRight",disabled:O||k},t().createElement(r.Button,{type:"text",size:"small",icon:t().createElement(n.RobotOutlined,null),loading:O||k,onClick:function(e){return e.stopPropagation()}},d("Ask AI")))):null},C=function(e){var n=e.file;return t().createElement(k,null,t().createElement(S,{file:n}))},O=m(41);function P(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function j(e,t,n,r,i,l,o){try{var a=e[l](o),u=a.value}catch(e){n(e);return}a.done?t(u):Promise.resolve(u).then(r,i)}function _(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var l=e.apply(t,n);function o(e){j(l,r,i,o,a,"next",e)}function a(e){j(l,r,i,o,a,"throw",e)}o(void 0)})}}function T(e,t,n){return(T=z()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var i=new(Function.bind.apply(e,r));return n&&F(i,n.prototype),i}).apply(null,arguments)}function R(e){return(R=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function A(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function I(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function F(e,t){return(F=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function L(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,i=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=i){var l=[],o=!0,a=!1;try{for(i=i.call(e);!(o=(n=i.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){a=!0,r=e}finally{try{o||null==i.return||i.return()}finally{if(a)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return P(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return P(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function N(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function B(e){var t="function"==typeof Map?new Map:void 0;return(B=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return T(e,arguments,R(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),F(n,e)})(e)}function z(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(z=function(){return!!e})()}function U(e,t){var n,r,i,l,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return l={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function a(l){return function(a){var u=[l,a];if(n)throw TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&u[0]?r.return:u[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,u[1])).done)return i;switch(r=0,i&&(u=[2&u[0],i.value]),u[0]){case 0:case 1:i=u;break;case 4:return o.label++,{value:u[1],done:!1};case 5:o.label++,r=u[1],u=[0];continue;case 7:u=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===u[0]||2===u[0])){o=0;continue}if(3===u[0]&&(!i||u[1]>i[0]&&u[1]<i[3])){o.label=u[1];break}if(6===u[0]&&o.label<i[1]){o.label=i[1],i=u;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(u);break}i[2]&&o.ops.pop(),o.trys.pop();continue}u=t.call(e,o)}catch(e){u=[6,e],r=0}finally{n=i=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}var D=["application/pdf"],M=["image/png","image/jpeg","image/gif","image/webp","image/svg+xml","image/bmp"],W=["text/plain","text/csv","text/html","text/css","text/javascript","application/json","application/xml","text/xml","text/yaml","application/x-yaml"],q=["application/vnd.openxmlformats-officedocument.wordprocessingml.document"],V=["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.ms-excel"],H=["pdf"],X=["png","jpg","jpeg","gif","webp","svg","bmp"],G=["txt","csv","html","css","js","json","xml","log","md","yaml","yml","xaml"],$=["docx"],J=["xlsx","xls"],Y=["application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.ms-powerpoint"],K=["pptx","ppt"],Q={png:"png-200-200.png",jpg:"jpeg-200-200.png",jpeg:"jpeg-200-200.png",gif:"gif-200-200.png",webp:"png-200-200.png",bmp:"png-200-200.png",svg:"svg-200-200.png"},Z={"image/png":Q.png,"image/jpeg":Q.jpeg,"image/jpg":Q.jpeg,"image/gif":Q.gif,"image/webp":Q.webp,"image/bmp":Q.bmp,"image/svg+xml":Q.svg};function ee(e){if(!e||"string"==typeof e)return e;var t,n,r,i,l,o,a,u,c,s,d,f,p,m,v,g,h,y,b,w,x,E,k,S,C=e.response;return C&&(void 0===C?"undefined":N(C))==="object"?I(A({},C,e),{id:null!=(l=e.id)?l:C.id,uid:null!=(o=e.uid)?o:C.uid,url:null!=(a=e.url)?a:C.url,preview:e.preview||C.preview,filename:null!=(u=e.filename)?u:C.filename,name:null!=(c=e.name)?c:C.name,title:null!=(s=e.title)?s:C.title,extname:null!=(d=e.extname)?d:C.extname,mimetype:null!=(f=e.mimetype)?f:C.mimetype,size:null!=(p=e.size)?p:C.size,path:null!=(m=e.path)?m:C.path,storageId:null!=(v=e.storageId)?v:C.storageId,storageType:null!=(y=null!=(h=null!=(g=e.storageType)?g:C.storageType)?h:null==(t=e.storage)?void 0:t.type)?y:null==(n=C.storage)?void 0:n.type,storageName:null!=(x=null!=(w=null!=(b=e.storageName)?b:C.storageName)?w:null==(r=e.storage)?void 0:r.name)?x:null==(i=C.storage)?void 0:i.name,storage:null!=(E=e.storage)?E:C.storage,collectionName:null!=(k=e.collectionName)?k:C.collectionName,lastModified:null!=(S=e.lastModified)?S:C.lastModified}):e}var et=function(e){var t=ee(e),n=("string"==typeof t?t:(null==t?void 0:t.extname)||(null==t?void 0:t.name)||(null==t?void 0:t.filename)||(null==t?void 0:t.url)||"").split("?")[0].split("#")[0],r=n.lastIndexOf(".");return -1!==r?n.slice(r+1).toLowerCase().replace(/^\./,""):""},en=function(e){var t=ee(e),n="string"==typeof t?t:(null==t?void 0:t.url)||(null==t?void 0:t.preview)||(null==t?void 0:t.path);return n?n.startsWith("https://")||n.startsWith("http://")?n:"".concat(location.origin,"/").concat(n.replace(/^\//,"")):""},er=function(e){if("string"==typeof e)return e;var t=ee(e);return t?[t.id,t.uid,t.url,t.preview,t.path,t.storageId,t.storageType,t.storageName,t.collectionName,t.lastModified,t.size].filter(function(e){return null!=e&&""!==e}).join(":"):""},ei=function(e){var t=ee(e);if((null==t?void 0:t.mimetype)&&D.includes(t.mimetype))return!0;var n=et(e);return!!n&&H.includes(n)},el=function(e){var t=ee(e);if((null==t?void 0:t.mimetype)&&M.includes(t.mimetype)||(null==t?void 0:t.mimetype)&&(0,i.matchMimetype)(t,"image/*"))return!0;var n=et(e);return!!n&&X.includes(n)},eo=function(e){var t=ee(e);if((null==t?void 0:t.mimetype)&&W.includes(t.mimetype))return!0;var n=et(e);return!!n&&G.includes(n)},ea=function(e){var t=ee(e);if((null==t?void 0:t.mimetype)&&q.includes(t.mimetype))return!0;var n=et(e);return!!n&&$.includes(n)},eu=function(e){var t=ee(e);if((null==t?void 0:t.mimetype)&&V.includes(t.mimetype))return!0;var n=et(e);return!!n&&J.includes(n)},ec=function(e){var t=ee(e);if((null==t?void 0:t.mimetype)&&Y.includes(t.mimetype))return!0;var n=et(e);return!!n&&K.includes(n)},es=function(e){var t=ee(e);return t?t.title&&t.extname?"".concat(t.title).concat(t.extname):t.filename||t.name||t.title||"download":"download"},ed=new Map;function ef(e){var t,n,r,i,l,o=ee(e);return{id:null==o?void 0:o.id,uid:null==o?void 0:o.uid,url:null==o?void 0:o.url,preview:null==o?void 0:o.preview,filename:(null==o?void 0:o.filename)||(null==o?void 0:o.name),name:(null==o?void 0:o.name)||(null==o?void 0:o.filename),title:null==o?void 0:o.title,extname:null==o?void 0:o.extname,mimetype:null==o?void 0:o.mimetype,size:null==o?void 0:o.size,path:null==o?void 0:o.path,storageId:null!=(l=null!=(i=null==o?void 0:o.storageId)?i:null==o?void 0:o.storage_id)?l:null==o||null==(t=o.storage)?void 0:t.id,storage_id:null==o?void 0:o.storage_id,storageType:(null==o?void 0:o.storageType)||(null==o||null==(n=o.storage)?void 0:n.type),storageName:(null==o?void 0:o.storageName)||(null==o||null==(r=o.storage)?void 0:r.name),storage:null==o?void 0:o.storage,collectionName:null==o?void 0:o.collectionName,lastModified:null==o?void 0:o.lastModified}}function ep(e){if(!e)return!1;try{var t=new URL(e,location.origin);if(t.origin!==location.origin)return!1;return["/api/filePreviewAuth:download","/api/extStorage:download","/api/skillHub:download","/api/worker-monitor","/api/carboneTemplates:download","/api/attachments:stream","/api/attachments:sftpStream"].some(function(e){return t.pathname===e||t.pathname.startsWith("".concat(e,"/"))||t.pathname.startsWith("".concat(e,":"))})}catch(e){return!1}}function em(){return(em=_(function(e,t){var n,r;return U(this,function(i){switch(i.label){case 0:return n={},t&&(n.Authorization="Bearer ".concat(t)),[4,fetch(e,{method:"GET",headers:n,credentials:"include"})];case 1:if(!(r=i.sent()).ok)throw Error("Failed to fetch file: ".concat(r.status," ").concat(r.statusText));return[2,r.blob()]}})})).apply(this,arguments)}function ev(e,t){return eg.apply(this,arguments)}function eg(){return(eg=_(function(e,t){var n,r,i,l=arguments;return U(this,function(o){if(!(n=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"inline",n=ef("string"==typeof e?{url:e}:e||{}),r=en(e);if(r&&ep(r))return r;if(function(e,t){var n,r,i,l=ef("string"==typeof e?{url:e}:e||{}),o=l.collectionName||"attachments";return null!=(l.id||l.uid)&&("s3-private"===(i=(r=ef("string"==typeof e?{url:e}:e||{})).storageType||(null==(n=r.storage)?void 0:n.type))||"aws-s3-private"===i||"attachments"===o&&!t)}(e,r)){var i=ef("string"==typeof e?{url:e}:e||{}),l=i.id||i.uid;if(null==l)return"";var o=new URLSearchParams({filterByTk:String(l),mode:t,collection:i.collectionName||"attachments"});return"/api/attachments:stream?".concat(o.toString())}var a=n.id||n.uid;if(null!=a){var u,c=n.collectionName||"attachments",s=new URLSearchParams;s.set("id",String(a)),s.set("collection",c),r&&s.set("url",r);var d=n.storageId||n.storage_id||(null==(u=n.storage)?void 0:u.id);return null!=d&&""!==d&&s.set("storageId",String(d)),(n.filename||n.name)&&s.set("filename",n.filename||n.name),n.mimetype&&s.set("mimetype",n.mimetype),"/api/filePreviewAuth:download?".concat(s.toString())}return r||""}(e,l.length>2&&void 0!==l[2]?l[2]:"inline"))||n.endsWith("?"))throw Error("No file URL");return r="".concat(t?"auth":"anon",":").concat(t||"",":").concat(er(e)||n),(i=ed.get(r))||(i=(function(e,t){return em.apply(this,arguments)})(n,t).catch(function(e){throw ed.delete(r),e}),ed.set(r,i)),[2,i]})})).apply(this,arguments)}function eh(e,t){return ey.apply(this,arguments)}function ey(){return(ey=_(function(e,t){var n,r,i,l;return U(this,function(o){switch(o.label){case 0:return[4,ev(e,t,"attachment")];case 1:return n=o.sent(),r=es(e),(i=document.createElement("a")).href=l=URL.createObjectURL(n),i.download=r,document.body.appendChild(i),i.click(),document.body.removeChild(i),setTimeout(function(){return URL.revokeObjectURL(l)},1e3),[2]}})})).apply(this,arguments)}function eb(t,n){var r=L((0,e.useState)(null),2),i=r[0],l=r[1],o=L((0,e.useState)(!0),2),a=o[0],u=o[1],c=L((0,e.useState)(null),2),s=c[0],d=c[1],f=(0,e.useRef)(null),p=(0,e.useRef)(t);p.current=t;var m=er(t);return(0,e.useEffect)(function(){var e=!1,t=p.current;if(!(en(t)||"string"!=typeof t&&((null==t?void 0:t.id)||(null==t?void 0:t.uid)))){u(!1),d("No file URL");return}return u(!0),d(null),ev(t,n).then(function(t){if(!e){var n=URL.createObjectURL(t);f.current=n,l(n),u(!1)}}).catch(function(t){e||(d(t.message||"Failed to load"),u(!1))}),function(){e=!0,f.current&&(URL.revokeObjectURL(f.current),f.current=null)}},[m,n]),{blobUrl:i,loading:a,error:s}}function ew(e){var n=e.message;return t().createElement("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100%",width:"100%"}},t().createElement(r.Spin,{tip:n}))}function ex(e){var n=e.message;return t().createElement("div",{style:{padding:20,textAlign:"center",color:"#ff4d4f"}},n)}function eE(e){var i=e.file,l=e.title,o=e.ocrStatus,u=e.isOcrSupported,c=a();return t().createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,paddingRight:40}},t().createElement(r.Space,{size:8,style:{minWidth:0,overflow:"hidden"}},t().createElement("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontWeight:600},title:l},l),function(){if(!u||!o)return null;switch(o){case"pending-ocr":return t().createElement(r.Tag,{color:"processing",icon:t().createElement(n.SyncOutlined,{spin:!0})},c("OCR Pending"));case"waiting-verify":return t().createElement(r.Tag,{color:"warning",icon:t().createElement(n.ClockCircleOutlined,null)},c("Waiting Verify"));case"verified":case"accepted":return t().createElement(r.Tag,{color:"success",icon:t().createElement(n.CheckCircleOutlined,null)},c("OCR Verified"));case"rejected":return t().createElement(r.Tag,{color:"error"},c("OCR Rejected"));case"failed":return t().createElement(r.Tag,{color:"error"},c("OCR Failed"));default:return t().createElement(r.Tag,{color:"default"},c("No OCR"))}}()),t().createElement(C,{file:i}))}function ek(e){var n,r=e.file,l=(0,i.useAPIClient)(),o=a(),u=eb(r,(null==(n=l.auth)?void 0:n.token)||""),c=u.blobUrl,s=u.loading,d=u.error;return s?t().createElement(ew,{message:o("Loading preview...")}):d||!c?t().createElement(ex,{message:o("Failed to load file preview")}):t().createElement("iframe",{src:c,width:"100%",height:"100%",style:{border:"none"}})}function eS(e){var n,r=e.file,l=(0,i.useAPIClient)(),o=a(),u=eb(r,(null==(n=l.auth)?void 0:n.token)||""),c=u.blobUrl,s=u.loading,d=u.error;return s?t().createElement(ew,{message:o("Loading preview...")}):d||!c?t().createElement(ex,{message:o("Failed to load file preview")}):t().createElement("img",{src:c,style:{maxWidth:"100%",maxHeight:"100%",objectFit:"contain"},alt:(null==r?void 0:r.title)||(null==r?void 0:r.filename)||""})}function eC(n){var r,l,o,u,c,s,d,f,p,m,v,g,h=n.file,y=(0,i.useAPIClient)(),b=a(),w=(null==(g=y.auth)?void 0:g.token)||"",x=(l=(r=L((0,e.useState)(null),2))[0],o=r[1],c=(u=L((0,e.useState)(!0),2))[0],s=u[1],f=(d=L((0,e.useState)(null),2))[0],p=d[1],(m=(0,e.useRef)(h)).current=h,v=er(h),(0,e.useEffect)(function(){var e=!1,t=m.current;if(!(en(t)||"string"!=typeof t&&((null==t?void 0:t.id)||(null==t?void 0:t.uid)))){s(!1),p("No file URL");return}return s(!0),p(null),ev(t,w).then(function(e){return e.text()}).then(function(t){e||(o(t),s(!1))}).catch(function(t){e||(p(t.message||"Failed to load"),s(!1))}),function(){e=!0}},[v,w]),{text:l,loading:c,error:f}),E=x.text,k=x.loading,S=x.error;return k?t().createElement(ew,{message:b("Loading preview...")}):S||null===E?t().createElement(ex,{message:b("Failed to load file preview")}):t().createElement("pre",{style:{width:"100%",height:"100%",overflow:"auto",padding:16,margin:0,fontSize:13,lineHeight:1.6,whiteSpace:"pre-wrap",wordWrap:"break-word",background:"#f5f5f5",border:"none"}},E)}function eO(n){var r,l=n.file,o=(0,i.useAPIClient)(),u=a(),c=(null==(r=o.auth)?void 0:r.token)||"",s=(0,e.useRef)(null),d=(0,e.useRef)(l);d.current=l;var f=er(l),p=L((0,e.useState)(!0),2),v=p[0],g=p[1],h=L((0,e.useState)(null),2),y=h[0],b=h[1];return(0,e.useEffect)(function(){var e=!1,t=d.current;if(!(en(t)||"string"!=typeof t&&((null==t?void 0:t.id)||(null==t?void 0:t.uid)))||!s.current){g(!1),b("No file URL");return}return g(!0),b(null),_(function(){var n,r,i;return U(this,function(l){switch(l.label){case 0:return l.trys.push([0,4,,5]),[4,ev(t,c)];case 1:if(n=l.sent(),e)return[2];return[4,O("imported_-1dm6lbf_component",m.e("374").then(m.bind(m,335)))];case 2:if(r=l.sent(),e||!s.current)return[2];return s.current.innerHTML="",[4,r.renderAsync(n,s.current,void 0,{className:"docx-preview-wrapper",inWrapper:!0,ignoreWidth:!1,ignoreHeight:!1,ignoreFonts:!1,breakPages:!0,ignoreLastRenderedPageBreak:!0,experimental:!1,trimXmlDeclaration:!0,useBase64URL:!0,renderHeaders:!0,renderFooters:!0,renderFootnotes:!0,renderEndnotes:!0})];case 3:return l.sent(),g(!1),[3,5];case 4:if(i=l.sent(),e)return[2];return b(i.message||"Failed to render DOCX"),g(!1),[3,5];case 5:return[2]}})})(),function(){e=!0}},[f,c]),t().createElement("div",{style:{width:"100%",height:"100%",position:"relative"}},v&&t().createElement(ew,{message:u("Loading preview...")}),y&&t().createElement(ex,{message:u("Failed to load file preview")}),t().createElement("div",{ref:s,style:{width:"100%",height:"100%",overflow:"auto",display:v||y?"none":"block"}}))}function eP(n){var r,l=n.file,o=(0,i.useAPIClient)(),u=a(),c=(null==(r=o.auth)?void 0:r.token)||"",s=(0,e.useRef)(null),d=(0,e.useRef)(l);d.current=l;var f=er(l),p=L((0,e.useState)(!0),2),v=p[0],g=p[1],h=L((0,e.useState)(null),2),y=h[0],b=h[1],w=L((0,e.useState)([]),2),x=w[0],E=w[1],k=L((0,e.useState)(""),2),S=k[0],C=k[1],P=L((0,e.useState)({}),2),j=P[0],T=P[1];return(0,e.useEffect)(function(){var e=!1,t=d.current;if(!(en(t)||"string"!=typeof t&&((null==t?void 0:t.id)||(null==t?void 0:t.uid)))){g(!1),b("No file URL");return}return g(!0),b(null),_(function(){var n,r,i,l,o,a,u,s,d,f,p,v,h,y;return U(this,function(w){switch(w.label){case 0:return w.trys.push([0,4,,5]),[4,ev(t,c)];case 1:if(n=w.sent(),e)return[2];return[4,O("imported_-1lj2ifg_component",m.e("166").then(m.bind(m,907)))];case 2:if(r=w.sent(),e)return[2];return[4,n.arrayBuffer()];case 3:if(i=w.sent(),e)return[2];o=(l=r.read(i,{type:"array"})).SheetNames,a={},u=!0,s=!1,d=void 0;try{for(f=o[Symbol.iterator]();!(u=(p=f.next()).done);u=!0)v=p.value,h=l.Sheets[v],a[v]=r.utils.sheet_to_html(h,{id:"xlsx-preview-table"})}catch(e){s=!0,d=e}finally{try{u||null==f.return||f.return()}finally{if(s)throw d}}if(e)return[2];return E(o),C(o[0]||""),T(a),g(!1),[3,5];case 4:if(y=w.sent(),e)return[2];return b(y.message||"Failed to render XLSX"),g(!1),[3,5];case 5:return[2]}})})(),function(){e=!0}},[f,c]),t().createElement("div",{style:{width:"100%",height:"100%",display:"flex",flexDirection:"column"}},v&&t().createElement(ew,{message:u("Loading preview...")}),y&&t().createElement(ex,{message:u("Failed to load file preview")}),!v&&!y&&t().createElement(t().Fragment,null,x.length>1&&t().createElement("div",{style:{display:"flex",gap:0,borderBottom:"1px solid #e8e8e8",background:"#fafafa",padding:"0 8px",flexShrink:0,overflowX:"auto"}},x.map(function(e){return t().createElement("button",{key:e,onClick:function(){return C(e)},style:{padding:"8px 16px",border:"none",borderBottom:S===e?"2px solid #1890ff":"2px solid transparent",background:S===e?"#fff":"transparent",color:S===e?"#1890ff":"#666",fontWeight:S===e?600:400,cursor:"pointer",fontSize:13,whiteSpace:"nowrap",transition:"all 0.2s"}},e)})),t().createElement("div",{ref:s,style:{flex:1,overflow:"auto",padding:0},dangerouslySetInnerHTML:{__html:j[S]||""}}),t().createElement("style",null,"\n #xlsx-preview-table {\n border-collapse: collapse;\n width: 100%;\n font-size: 13px;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n }\n #xlsx-preview-table td,\n #xlsx-preview-table th {\n border: 1px solid #e8e8e8;\n padding: 6px 10px;\n text-align: left;\n max-width: 33vw;\n white-space: normal;\n word-break: break-word;\n }\n #xlsx-preview-table tr:first-child td,\n #xlsx-preview-table tr:first-child th {\n background: #fafafa;\n font-weight: 600;\n position: sticky;\n top: 0;\n z-index: 1;\n }\n #xlsx-preview-table tr:nth-child(even) {\n background: #fafafa;\n }\n #xlsx-preview-table tr:hover {\n background: #f0f7ff;\n }\n ")))}function ej(n){var r,l=n.file,o=(0,i.useAPIClient)(),u=a(),c=(null==(r=o.auth)?void 0:r.token)||"",s=L((0,e.useState)(!0),2),d=s[0],f=s[1],p=L((0,e.useState)(null),2),v=p[0],g=p[1],h=L((0,e.useState)(null),2),y=h[0],b=h[1],w=L((0,e.useState)(null),2),x=w[0],E=w[1],k=(0,e.useRef)(l);k.current=l;var S=er(l);return(0,e.useEffect)(function(){var e=!1,t=k.current;if(!(en(t)||"string"!=typeof t&&((null==t?void 0:t.id)||(null==t?void 0:t.uid)))){f(!1),g("No file URL");return}return f(!0),g(null),_(function(){var n,r,i,l;return U(this,function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),[4,Promise.all([ev(t,c),O("imported_tpp3om_component",m.e("514").then(m.bind(m,581)))])];case 1:if(r=(n=L.apply(void 0,[o.sent(),2]))[0],i=n[1],e)return[2];return b(r),E(function(){return i.PptxPreview}),f(!1),[3,3];case 2:if(l=o.sent(),e)return[2];return g(l.message||"Failed to render PPTX"),f(!1),[3,3];case 3:return[2]}})})(),function(){e=!0}},[S,c]),t().createElement("div",{style:{width:"100%",height:"100%",position:"relative"}},d&&t().createElement(ew,{message:u("Loading preview...")}),v&&t().createElement(ex,{message:u("Failed to load file preview")}),!d&&!v&&x&&t().createElement("div",{style:{width:"100%",height:"100%",overflow:"auto"}},t().createElement(x,{file:y})))}var e_=function(l){return function(o){var u,c=o.open,s=o.onOpenChange,d=o.onClose,f=o.file,p=o.index,m=o.list,v=o.onSwitchIndex;o.onDownload;var g=(0,i.useAPIClient)(),h=a(),y=L((0,e.useState)("visual"),2),b=y[0],w=y[1],x=(0,e.useCallback)((u=_(function(e){var t,n,i;return U(this,function(l){switch(l.label){case 0:if(!(n=e||f))return[2];i=(null==(t=g.auth)?void 0:t.token)||"",l.label=1;case 1:return l.trys.push([1,3,,4]),[4,eh(n,i)];case 2:return l.sent(),[3,4];case 3:return l.sent(),r.message.error(h("Failed to download file")),[3,4];case 4:return[2]}})}),function(e){return u.apply(this,arguments)}),[f,g,h]);if("boolean"!=typeof c)return t().createElement(l,I(A({},o),{onDownload:x}));var E=es(f),k="number"==typeof p&&!!v&&p>0,S="number"==typeof p&&!!v&&p<m.length-1;return t().createElement(r.Modal,{open:c,title:t().createElement(eE,{file:f,title:E}),onCancel:function(){null==s||s(!1),null==d||d(),w("visual")},footer:t().createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",width:"100%"}},t().createElement("div",{key:"left-actions"},t().createElement(r.Button,{onClick:function(){return w(function(e){return"visual"===e?"raw":"visual"})}},"visual"===b?h("View Raw Parsed Text"):h("View Visual Preview"))),t().createElement(r.Space,{size:14,style:{fontSize:"20px"}},t().createElement(n.LeftOutlined,{style:{cursor:k?"pointer":"not-allowed"},onClick:function(){return k&&(null==v?void 0:v(p-1))}}),t().createElement(n.RightOutlined,{style:{cursor:S?"pointer":"not-allowed"},onClick:function(){return S&&(null==v?void 0:v(p+1))}}),t().createElement(n.DownloadOutlined,{onClick:function(){return x(f)}}))),width:"90%",centered:!0},t().createElement("div",{style:{maxWidth:"100%",maxHeight:"calc(100vh - 256px)",height:"80vh",width:"100%",background:"white",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",overflowY:"auto"}},"raw"===b?t().createElement(eT,{file:f}):t().createElement(l,I(A({},o),{onDownload:x}))))}};function eT(l){var o=l.file,u=(0,i.useAPIClient)(),c=a(),s=L((0,e.useState)(""),2),d=s[0],f=s[1],p=L((0,e.useState)(!0),2),m=p[0],v=p[1],g=L((0,e.useState)(null),2),h=g[0],y=g[1],b=(0,i.useComponent)("MarkdownVditor"),w=(0,i.useComponent)("Markdown.Void");return((0,e.useEffect)(function(){var e=!1;return _(function(){var t,n,r,i,l,a,c,s,d,p;return U(this,function(m){switch(m.label){case 0:v(!0),y(null),m.label=1;case 1:return m.trys.push([1,4,,5]),[4,ev(o,(null==(t=u.auth)?void 0:t.token)||"")];case 2:if(i=m.sent(),e)return[2];return(l=new FormData).append("file",i,es(o)),l.append("attachment",JSON.stringify(ef(o))),[4,u.request({url:"filePreviewAuth:getContent",method:"post",data:l,headers:{"Content-Type":"multipart/form-data"}})];case 3:if(a=m.sent(),e)return[2];return s=c=(null==a||null==(r=a.data)||null==(n=r.data)?void 0:n.content)||"",(d=c.match(/<file_preview[^>]*>([\s\S]*?)<\/file_preview>/i))&&(s=d[1].trim()),f(s),v(!1),[3,5];case 4:if(p=m.sent(),e)return[2];return y(p.message||"Failed to fetch raw text"),v(!1),[3,5];case 5:return[2]}})})(),function(){e=!0}},[o,u]),m)?t().createElement(r.Spin,{size:"large",tip:c("Extracting raw text..."),style:{marginTop:"40px"}}):h?t().createElement(r.Alert,{type:"error",message:h,style:{width:"100%",margin:"20px"}}):d?t().createElement("div",{style:{width:"100%",height:"100%",display:"flex",flexDirection:"column",position:"relative"}},t().createElement("span",{onClick:function(){if(navigator.clipboard&&navigator.clipboard.writeText)navigator.clipboard.writeText(d).then(function(){r.message.success(c("Copied to clipboard"))}).catch(function(e){r.message.error(c("Failed to copy")),console.error("Copy error",e)});else{var e=document.createElement("textarea");e.value=d,document.body.appendChild(e),e.select();try{document.execCommand("copy"),r.message.success(c("Copied to clipboard"))}catch(e){r.message.error(c("Failed to copy"))}document.body.removeChild(e)}},style:{position:"absolute",top:"20px",right:"25px",zIndex:10,cursor:"pointer",padding:"4px 10px",background:"rgba(255, 255, 255, 0.85)",border:"1px solid #e8e8e8",borderRadius:"4px",color:"#1890ff",display:"flex",alignItems:"center",gap:"6px",boxShadow:"0 2px 4px rgba(0,0,0,0.05)",fontSize:"13px"},title:c("Copy")},t().createElement(n.CopyOutlined,null),c("Copy")),t().createElement("div",{style:{flex:1,overflow:"auto",padding:"20px",textAlign:"left"}},t().createElement("style",null,"\n .hide-vditor-toolbar .vditor-toolbar {\n display: none !important;\n }\n .hide-vditor-toolbar .vditor {\n border: none !important;\n }\n "),t().createElement("div",{className:"hide-vditor-toolbar",style:{height:"100%"}},b?t().createElement(b,{value:d,disabled:!1}):w?t().createElement(w,{content:d}):t().createElement("pre",{style:{whiteSpace:"pre-wrap",wordBreak:"break-word",fontFamily:"monospace",fontSize:"13px"}},d)))):t().createElement(r.Alert,{type:"info",style:{width:"100%",margin:"20px"},description:c("No text content could be extracted from this file."),showIcon:!0})}function eR(l){var o,u,c=l.index,s=l.list,d=l.onSwitchIndex,f=a(),p=(0,i.useAPIClient)(),m=s[c],v=L((0,e.useState)(!1),2),g=v[0],h=v[1],y=L((0,e.useState)("visual"),2),b=y[0],w=y[1],x=L((0,e.useState)("preview"),2),E=x[0],k=x[1],S=L((0,e.useState)("no-ocr"),2),C=S[0],O=S[1],P=L((0,e.useState)(null),2),j=P[0],T=P[1],R=L((0,e.useState)(null),2),A=R[0],I=R[1],F=(0,e.useMemo)(function(){return!!m&&(ei(m)||el(m))},[m]),N=(0,i.useComponent)("OcrVerifyBlock"),B=(0,e.useCallback)(_(function(){var e,t,n;return U(this,function(r){switch(r.label){case 0:if(!(null==m?void 0:m.id))return[2,null];return[4,p.request({url:"filePreviewAuth:getOcrStatus",method:"post",data:{attachmentId:m.id}})];case 1:return(n=null==(t=r.sent())||null==(e=t.data)?void 0:e.data)&&(T(n.id||null),O(n.status||"no-ocr"),I(n.error||null)),[2,n]}})}),[p,null==m?void 0:m.id]);(0,e.useEffect)(function(){if(null==m?void 0:m.id){var e=!1;return T(null),O("no-ocr"),I(null),B().then(function(){if(e)return}).catch(console.error),function(){e=!0}}},[null==m?void 0:m.id,B]),(0,e.useEffect)(function(){if("pending-ocr"===C&&(null==m?void 0:m.id)){var e,t=null,n=!1,i=(e=_(function(){var e;return U(this,function(l){switch(l.label){case 0:return l.trys.push([0,2,,3]),[4,B()];case 1:if(e=l.sent(),n)return[2];return e&&("pending-ocr"!==e.status?"failed"===e.status?r.message.error(e.error||f("OCR processing failed")):r.message.success(f("OCR processing completed!")):t=setTimeout(i,3e3)),[3,3];case 2:return console.error("Polling error",l.sent()),t=setTimeout(i,3e3),[3,3];case 3:return[2]}})}),function(){return e.apply(this,arguments)});return t=setTimeout(i,3e3),function(){n=!0,t&&clearTimeout(t)}}},[C,null==m?void 0:m.id,B,f]);var z=(o=_(function(){var e,t,n,i;return U(this,function(l){switch(l.label){case 0:if(!(null==m?void 0:m.id))return[2];l.label=1;case 1:return l.trys.push([1,3,,4]),O("pending-ocr"),[4,p.request({url:"filePreviewAuth:runOcr",method:"post",data:{attachmentId:m.id}})];case 2:return(n=null==(t=l.sent())||null==(e=t.data)?void 0:e.data)&&(T(n.id||null),O(n.status||"pending-ocr"),I(n.error||null)),r.message.info(f("OCR process started in the background.")),[3,4];case 3:return i=l.sent(),r.message.error((null==i?void 0:i.message)||f("Failed to start OCR process.")),O("no-ocr"),[3,4];case 4:return[2]}})}),function(){return o.apply(this,arguments)}),D=(0,e.useCallback)((u=_(function(e){var t,n,i,l;return U(this,function(o){switch(o.label){case 0:null==e||null==(t=e.preventDefault)||t.call(e),null==e||null==(n=e.stopPropagation)||n.call(e),l=(null==(i=p.auth)?void 0:i.token)||"",h(!0),o.label=1;case 1:return o.trys.push([1,3,4,5]),[4,eh(m,l)];case 2:return o.sent(),[3,5];case 3:return o.sent(),r.message.error(f("Failed to download file")),[3,5];case 4:return h(!1),[7];case 5:return[2]}})}),function(e){return u.apply(this,arguments)}),[m,p,f]),M=(0,e.useCallback)(function(){d(null),w("visual"),k("preview")},[d]),W=(0,e.useMemo)(function(){return ei(m)?ek:el(m)?eS:eo(m)?eC:ea(m)?eO:eu(m)?eP:ec(m)?ej:null},[m]),q=null!=W||"raw"===b,V=[{key:"preview",label:t().createElement("span",null,t().createElement(n.EyeOutlined,null)," ",f("Visual Preview")),children:t().createElement("div",{style:{height:"70vh",width:"100%",overflow:"auto",background:"#f5f5f5",display:"flex",justifyContent:"center",alignItems:"center"}},W?t().createElement(W,{file:m}):null)},{key:"ocr",label:t().createElement("span",null,t().createElement(n.ScanOutlined,null)," ",f("OCR & Verify")),children:t().createElement("div",{style:{height:"70vh",width:"100%",display:"flex",flexDirection:"column"}},"no-ocr"===C&&t().createElement("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",height:"100%",padding:"40px",background:"#fafafa",borderRadius:"8px"}},t().createElement(n.ScanOutlined,{style:{fontSize:"64px",color:"#1890ff",marginBottom:"20px"}}),t().createElement("h3",{style:{fontSize:"18px",fontWeight:600,marginBottom:"10px"}},f("Word-level Song ngữ (English & Vietnamese) OCR")),t().createElement("p",{style:{color:"#8c8c8c",maxWidth:"480px",textAlign:"center",marginBottom:"24px"}},f("Chưa c\xf3 dữ liệu OCR cấp độ Từ (Word-level) cho tệp n\xe0y. H\xe3y chạy nhận dạng Tesseract-OCR để bắt đầu đối so\xe1t v\xe0 verify toạ độ.")),t().createElement(r.Button,{type:"primary",size:"large",icon:t().createElement(n.ThunderboltOutlined,null),onClick:z},f("Run Tesseract OCR"))),"pending-ocr"===C&&t().createElement("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",height:"100%",padding:"40px"}},t().createElement(r.Spin,{size:"large",tip:f("Analyzing layout structure and running song ngữ OCR...")}),t().createElement("p",{style:{color:"#8c8c8c",marginTop:"20px",fontSize:"13px",textAlign:"center"}},f("Extracting word-level coordinates via Tesseract-OCR. This will automatically refresh when complete."))),"failed"===C&&t().createElement("div",{style:{padding:"40px"}},t().createElement(r.Alert,{type:"error",showIcon:!0,message:f("OCR processing failed"),description:A||f("Please try running OCR again."),style:{marginBottom:24}}),t().createElement(r.Button,{type:"primary",icon:t().createElement(n.ThunderboltOutlined,null),onClick:z},f("Run Tesseract OCR"))),["waiting-verify","verified","accepted","rejected"].includes(C)&&t().createElement("div",{style:{flex:1,height:"100%",overflow:"hidden"}},N&&j?t().createElement(N,{collection:"attachmentOcrResults",recordId:j,pdfField:"attachment",jsonField:"data",statusField:"status"}):N?t().createElement("div",{style:{padding:"20px"}},t().createElement(r.Alert,{type:"error",message:f("OCR result record not found"),description:f("Please try running OCR again."),showIcon:!0})):t().createElement("div",{style:{padding:"20px"}},t().createElement(r.Alert,{type:"error",message:f("Plugin OCR Verify Block is not enabled"),description:f("Please enable the plugin-ocr-verify-block plugin to display the verify splitter layout."),showIcon:!0}))))}];return t().createElement(r.Modal,{open:null!=c,title:t().createElement(eE,{file:m,title:(null==m?void 0:m.title)||(null==m?void 0:m.filename)||(null==m?void 0:m.name)||"File",ocrStatus:C,isOcrSupported:F}),onCancel:M,footer:t().createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",width:"100%"}},t().createElement("div",{key:"left-actions"},!F&&t().createElement(r.Button,{onClick:function(){return w(function(e){return"visual"===e?"raw":"visual"})}},"visual"===b?f("View Raw Parsed Text"):f("View Visual Preview"))),t().createElement(r.Space,null,t().createElement(r.Button,{key:"download",onClick:D,loading:g},f("Download")),t().createElement(r.Button,{key:"close",onClick:M},f("Close")))),width:q?"90%":520,centered:!0},F?t().createElement(r.Tabs,{activeKey:E,onChange:function(e){return k(e)},items:V,style:{width:"100%",height:"100%"}}):t().createElement("div",{style:{maxWidth:"100%",maxHeight:q?"calc(100vh - 256px)":"auto",height:q?"70vh":"auto",width:"100%",background:"white",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",overflowY:"auto"}},"raw"===b?t().createElement(eT,{file:m}):W?t().createElement(W,{file:m}):t().createElement(r.Alert,{type:"info",style:{width:"100%"},description:f("This file type cannot be previewed. Click Download to save the file."),showIcon:!0})))}function eA(n){var l=n.file,o=(0,i.useAPIClient)(),u=a(),c=(0,e.useCallback)(_(function(){var e,t;return U(this,function(n){switch(n.label){case 0:t=(null==(e=o.auth)?void 0:e.token)||"",n.label=1;case 1:return n.trys.push([1,3,,4]),[4,eh(l,t)];case 2:return n.sent(),[3,4];case 3:return n.sent(),r.message.error(u("Failed to download file")),[3,4];case 4:return[2]}})}),[l,o,u]);return t().createElement(r.Alert,{type:"info",style:{width:"100%"},description:t().createElement("span",null,u("This file type cannot be previewed. ")," ",t().createElement("a",{onClick:c,style:{textDecoration:"underline",cursor:"pointer"}},u("Download"))),showIcon:!0})}var eI=function(e){var o;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function a(){var e,t;if(!(this instanceof a))throw TypeError("Cannot call a class as a function");return e=a,t=arguments,e=R(e),function(e,t){if(t&&("object"===N(t)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,z()?Reflect.construct(e,t||[],R(this).constructor):e.apply(this,t))}return a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,writable:!0,configurable:!0}}),e&&F(a,e),o=[{key:"load",value:function(){var e=this;return _(function(){return U(this,function(o){return e.patchUploadPreviewBase64Fallback(),!function(e){try{i=e.pm.get("ai")}catch(e){return}var i,l,o=null==i?void 0:i.aiManager;if(null==o?void 0:o.registerWorkContext)try{(null==(l=o.getWorkContext)?void 0:l.call(o,w))||o.registerWorkContext(w,{name:w,tag:{Component:function(e){var i=e.item;return t().createElement(r.Space,null,t().createElement(n.FileTextOutlined,null),t().createElement("span",null,(null==i?void 0:i.title)||""))}},chatbox:{Component:function(e){var i=e.item;return t().createElement(r.Space,null,t().createElement(n.FileTextOutlined,null),t().createElement("span",null,(null==i?void 0:i.title)||""))}}})}catch(e){}}(e.app),i.attachmentFileTypes.add({match:function(){return!0},Previewer:eR}),l.filePreviewTypes.add({match:function(){return!0},Previewer:e_(eA)}),l.filePreviewTypes.add({match:ei,Previewer:e_(ek)}),l.filePreviewTypes.add({match:el,getThumbnailURL:function(e){var t,n,r,i,l,o,a,u;return(u=[null==(a=ee(e))?void 0:a.preview,null==a?void 0:a.url].find(function(e){return"string"==typeof e&&e}))&&!ep(u)?u:(n=et(t=ee(a)),r="string"==typeof(null==t?void 0:t.mimetype)?t.mimetype.toLowerCase():"",i=Q[n]||Z[r]||"unknown-200-200.png",l="file-placeholder/".concat(i),o="undefined"==typeof window?"/":window.__nocobase_dev_public_path__||window.__nocobase_public_path__||"/","".concat(o.replace(/\/?$/,"/")).concat(l.replace(/^\//,"")))},Previewer:e_(eS)}),l.filePreviewTypes.add({match:eo,Previewer:e_(eC)}),l.filePreviewTypes.add({match:ea,Previewer:e_(eO)}),l.filePreviewTypes.add({match:eu,Previewer:e_(eP)}),l.filePreviewTypes.add({match:ec,Previewer:e_(ej)}),[2]})})()}},{key:"patchUploadPreviewBase64Fallback",value:function(){if("undefined"!=typeof window){var e,t=null==(e=window.FileReader)?void 0:e.prototype;if(t&&!t.__filePreviewAuthBase64FallbackPatched){var n=t.readAsDataURL;"function"==typeof n&&(Object.defineProperty(t,"__filePreviewAuthBase64FallbackPatched",{value:!0,configurable:!0}),t.readAsDataURL=function(e){var t=this;if(null!=e)return n.call(this,e);setTimeout(function(){var e,n;try{Object.defineProperty(t,"result",{value:"",configurable:!0})}catch(e){}null==(e=t.onload)||e.call(t,new ProgressEvent("load")),null==(n=t.onloadend)||n.call(t,new ProgressEvent("loadend"))},0)})}}}}],function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(a.prototype,o),a}(B(i.Plugin)),eF=eI}(),v}()});
10
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("antd"),require("@nocobase/client"),require("@ant-design/icons"),require("@nocobase/plugin-file-manager/client"),require("@nocobase/plugin-ai/client")):"function"==typeof define&&define.amd?define("plugin-file-preview-auth",["react","antd","@nocobase/client","@ant-design/icons","@nocobase/plugin-file-manager/client","@nocobase/plugin-ai/client"],t):"object"==typeof exports?exports["plugin-file-preview-auth"]=t(require("react"),require("antd"),require("@nocobase/client"),require("@ant-design/icons"),require("@nocobase/plugin-file-manager/client"),require("@nocobase/plugin-ai/client")):e["plugin-file-preview-auth"]=t(e.react,e.antd,e["@nocobase/client"],e["@ant-design/icons"],e["@nocobase/plugin-file-manager/client"],e["@nocobase/plugin-ai/client"])}(self,function(e,t,n,r,i,l){return function(){"use strict";var o,a,u,c={375:function(e){e.exports=r},342:function(e){e.exports=n},75:function(e){e.exports=l},609:function(e){e.exports=i},59:function(e){e.exports=t},155:function(t){t.exports=e}},s={};function f(e){var t=s[e];if(void 0!==t)return t.exports;var n=s[e]={exports:{}};return c[e](n,n.exports,f),n.exports}f.m=c,f.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(t,{a:t}),t},f.d=function(e,t){for(var n in t)f.o(t,n)&&!f.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},f.f={},f.e=function(e){return Promise.all(Object.keys(f.f).reduce(function(t,n){return f.f[n](e,t),t},[]))},f.u=function(e){return""+e+"."+({713:"79a55458f5b67f39",823:"8b0ab22c181d4523",828:"ae8e47a2e7a3bc9e",892:"a568eb42fd6f0047"})[e]+".js"},f.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),f.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},d={},f.l=function(e,t,n,r){if(d[e])return void d[e].push(t);if(void 0!==n)for(var i,l,o=document.getElementsByTagName("script"),a=0;a<o.length;a++){var u=o[a];if(u.getAttribute("src")==e||u.getAttribute("data-rspack")=="plugin-file-preview-auth:"+n){i=u;break}}i||(l=!0,(i=document.createElement("script")).timeout=120,f.nc&&i.setAttribute("nonce",f.nc),i.setAttribute("data-rspack","plugin-file-preview-auth:"+n),i.src=e),d[e]=[t];var c=function(t,n){i.onerror=i.onload=null,clearTimeout(s);var r=d[e];if(delete d[e],i.parentNode&&i.parentNode.removeChild(i),r&&r.forEach(function(e){return e(n)}),t)return t(n)},s=setTimeout(c.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=c.bind(null,i.onerror),i.onload=c.bind(null,i.onload),l&&document.head.appendChild(i)},f.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.g.importScripts&&(p=f.g.location+"");var d,p,m=f.g.document;if(!p&&m&&(m.currentScript&&"SCRIPT"===m.currentScript.tagName.toUpperCase()&&(p=m.currentScript.src),!p)){var v=m.getElementsByTagName("script");if(v.length)for(var g=v.length-1;g>-1&&(!p||!/^http(s?):/.test(p));)p=v[g--].src}if(!p)throw Error("Automatic publicPath is not supported in this browser");f.p=p.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),o={889:0},f.f.j=function(e,t){var n=f.o(o,e)?o[e]:void 0;if(0!==n)if(n)t.push(n[2]);else{var r=new Promise(function(t,r){n=o[e]=[t,r]});t.push(n[2]=r);var i=f.p+f.u(e),l=Error();f.l(i,function(t){if(f.o(o,e)&&(0!==(n=o[e])&&(o[e]=void 0),n)){var r=t&&("load"===t.type?"missing":t.type),i=t&&t.target&&t.target.src;l.message="Loading chunk "+e+" failed.\n("+r+": "+i+")",l.name="ChunkLoadError",l.type=r,l.request=i,n[1](l)}},"chunk-"+e,e)}},a=function(e,t){var n,r,i=t[0],l=t[1],a=t[2],u=0;if(i.some(function(e){return 0!==o[e]})){for(n in l)f.o(l,n)&&(f.m[n]=l[n]);a&&a(f)}for(e&&e(t);u<i.length;u++)r=i[u],f.o(o,r)&&o[r]&&o[r][0](),o[r]=0},(u=self.webpackChunkplugin_file_preview_auth=self.webpackChunkplugin_file_preview_auth||[]).forEach(a.bind(null,0)),u.push=a.bind(null,u.push.bind(u));var h={};return!function(){var e="",t="u">typeof document?document.currentScript:null;if(t&&t.src&&(e=t.src.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")),!e){var n=window.__webpack_public_path__||"";n&&("/"!==n.charAt(n.length-1)&&(n+="/"),e=n+"static/plugins/plugin-file-preview-auth/dist/client/")}if(!e){var r=window.__nocobase_modern_client_prefix__||"v",i="/"+(r=String(r).replace(/^\/+|\/+$/g,"")||"v")+"/";if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var l=window.location.pathname||"/",o=l.indexOf(i);e=o>=0?l.slice(0,o+1):"/"}e&&(e=e.replace(RegExp("/"+r+"/?$"),"/")),e||(e="/"),"/"!==e.charAt(e.length-1)&&(e+="/"),e+="static/plugins/plugin-file-preview-auth/dist/client/"}f.p=e}(),!function(){f.r(h),f.d(h,{normalizeOcrAttachmentId:function(){return et},default:function(){return eN},PluginFilePreviewAuthClient:function(){return eF},extractOcrStatusRecord:function(){return ep},getOcrAttachmentId:function(){return en},isOcrCompleteStatus:function(){return ed}});var e=f(155),t=f.n(e),n=f(375),r=f(59),i=f(342),l=f(609),o=JSON.parse('{"UU":"plugin-file-preview-auth"}');function a(){var e=(0,i.useApp)();return function(t){return e.i18n.t(t,{ns:[o.UU,"client"]})}}var u=f(75);function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function s(e,t,n,r,i,l,o){try{var a=e[l](o),u=a.value}catch(e){n(e);return}a.done?t(u):Promise.resolve(u).then(r,i)}function d(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function p(e){return(p=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function m(e,t){return(m=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function v(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,i=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=i){var l=[],o=!0,a=!1;try{for(i=i.call(e);!(o=(n=i.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){a=!0,r=e}finally{try{o||null==i.return||i.return()}finally{if(a)throw r}}return l}}(e,t)||y(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function g(e){return function(e){if(Array.isArray(e))return c(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||y(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function y(e,t){if(e){if("string"==typeof e)return c(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return c(e,t)}}function b(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(b=function(){return!!e})()}var w="file-preview",x="plugin-file-preview-auth.aiEmployee";function E(e){return e?e.title&&e.extname?"".concat(e.title).concat(e.extname):e.filename||e.name||e.title||"file":"file"}var S=function(e){var t,n;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function r(e){var t,n,i;if(!(this instanceof r))throw TypeError("Cannot call a class as a function");return n=r,i=[e],n=p(n),(t=function(e,t){var n;if(t&&("object"==((n=t)&&"u">typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,b()?Reflect.construct(n,i||[],p(this).constructor):n.apply(this,i))).state={hasError:!1},t}return r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&m(r,e),n=[{key:"getDerivedStateFromError",value:function(){return{hasError:!0}}}],t=[{key:"render",value:function(){return this.state.hasError?null:this.props.children}}],d(r.prototype,t),n&&d(r,n),r}(t().Component),k=function(i){var l=i.file,o=a(),c=(0,u.useAIConfigRepository)(),f=(0,u.useChatBoxActions)().triggerTask,d=v((0,e.useState)([]),2),p=d[0],m=d[1],h=v((0,e.useState)(!1),2),y=h[0],b=h[1],S=v((0,e.useState)(!1),2),k=S[0],O=S[1];(0,e.useEffect)(function(){var e=!1;if(null==c?void 0:c.getAIEmployees){var t=c.aiEmployees||[];return t.length?void m(g(t)):(b(!0),c.getAIEmployees().then(function(t){e||(m(g(t||[])),b(!1))}).catch(function(){e||(m([]),b(!1))}),function(){e=!0})}},[c]);var C=(0,e.useMemo)(function(){var e=function(){try{return window.localStorage.getItem(x)||""}catch(e){return""}}();return e?g(p).sort(function(t,n){return t.username===e?-1:+(n.username===e)}):p},[p]),P=(0,e.useCallback)(function(e){var t;return(t=function(){return function(e,t){var n,r,i,l={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),a=Object.defineProperty;return a(o,"next",{value:u(0)}),a(o,"throw",{value:u(1)}),a(o,"return",{value:u(2)}),"function"==typeof Symbol&&a(o,Symbol.iterator,{value:function(){return this}}),o;function u(a){return function(u){var c=[a,u];if(n)throw TypeError("Generator is already executing.");for(;o&&(o=0,c[0]&&(l=0)),l;)try{if(n=1,r&&(i=2&c[0]?r.return:c[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,c[1])).done)return i;switch(r=0,i&&(c=[2&c[0],i.value]),c[0]){case 0:case 1:i=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,r=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(i=(i=l.trys).length>0&&i[i.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!i||c[1]>i[0]&&c[1]<i[3])){l.label=c[1];break}if(6===c[0]&&l.label<i[1]){l.label=i[1],i=c;break}if(i&&l.label<i[2]){l.label=i[2],l.ops.push(c);break}i[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],r=0}finally{n=i=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(t){switch(t.label){case 0:if(!e||!l)return[2];O(!0),t.label=1;case 1:t.trys.push([1,3,4,5]);var n,i,a,u,c,s,d,p,m,v,g=e.username;try{window.localStorage.setItem(x,g)}catch(e){}return[4,f({aiEmployee:e,tasks:[{title:E(l),message:{user:o("Please help me analyze the file currently open in preview."),workContext:[{type:w,uid:(c=null!=(n=null!=(i=null!=(a=null!=(u=null==l?void 0:l.id)?u:null==l?void 0:l.uid)?a:null==l?void 0:l.url)?i:null==l?void 0:l.path)?n:E(l),"file-preview:".concat(String(c))),title:E(l),content:{source:"plugin-file-preview-auth",file:{id:null==l?void 0:l.id,uid:null==l?void 0:l.uid,url:null==l?void 0:l.url,preview:null==l?void 0:l.preview,filename:(null==l?void 0:l.filename)||(null==l?void 0:l.name),name:(null==l?void 0:l.name)||(null==l?void 0:l.filename),title:null==l?void 0:l.title,extname:null==l?void 0:l.extname,mimetype:null==l?void 0:l.mimetype,size:null==l?void 0:l.size,path:null==l?void 0:l.path,storageId:null!=(s=null!=(d=null==l?void 0:l.storageId)?d:null==l?void 0:l.storage_id)?s:null==l||null==(p=l.storage)?void 0:p.id,storage_id:null==l?void 0:l.storage_id,storageType:(null==l?void 0:l.storageType)||(null==l||null==(m=l.storage)?void 0:m.type),storageName:(null==l?void 0:l.storageName)||(null==l||null==(v=l.storage)?void 0:v.name),storage:null==l?void 0:l.storage,collectionName:null==l?void 0:l.collectionName}}}]},autoSend:!1}]})];case 2:return t.sent(),[3,5];case 3:return t.sent(),r.message.error(o("Failed to open AI chat")),[3,5];case 4:return O(!1),[7];case 5:return[2]}})},function(){var e=this,n=arguments;return new Promise(function(r,i){var l=t.apply(e,n);function o(e){s(l,r,i,o,a,"next",e)}function a(e){s(l,r,i,o,a,"throw",e)}o(void 0)})})()},[l,o,f]),j=C.map(function(e){return{key:e.username,label:(null==e?void 0:e.nickname)||(null==e?void 0:e.username)||"",onClick:function(){return P(e)}}});return y||C.length?1===C.length?t().createElement(r.Tooltip,{title:o("Ask AI")},t().createElement(r.Button,{type:"text",size:"small",icon:t().createElement(n.RobotOutlined,null),loading:k||y,onClick:function(e){e.stopPropagation(),P(C[0])}},o("Ask AI"))):t().createElement(r.Tooltip,{title:o("Ask AI")},t().createElement(r.Dropdown,{menu:{items:j},trigger:["click"],placement:"bottomRight",disabled:k||y},t().createElement(r.Button,{type:"text",size:"small",icon:t().createElement(n.RobotOutlined,null),loading:k||y,onClick:function(e){return e.stopPropagation()}},o("Ask AI")))):null},O=function(e){var n=e.file;return t().createElement(S,null,t().createElement(k,{file:n}))};function C(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function P(e,t,n,r,i,l,o){try{var a=e[l](o),u=a.value}catch(e){n(e);return}a.done?t(u):Promise.resolve(u).then(r,i)}function j(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var l=e.apply(t,n);function o(e){P(l,r,i,o,a,"next",e)}function a(e){P(l,r,i,o,a,"throw",e)}o(void 0)})}}function T(e,t,n){return(T=B()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var i=new(Function.bind.apply(e,r));return n&&A(i,n.prototype),i}).apply(null,arguments)}function R(e){return(R=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function _(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function I(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function A(e,t){return(A=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function F(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,i=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=i){var l=[],o=!0,a=!1;try{for(i=i.call(e);!(o=(n=i.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){a=!0,r=e}finally{try{o||null==i.return||i.return()}finally{if(a)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return C(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return C(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function N(e){return e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function L(e){var t="function"==typeof Map?new Map:void 0;return(L=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return T(e,arguments,R(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),A(n,e)})(e)}function B(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(B=function(){return!!e})()}function U(e,t){var n,r,i,l={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),a=Object.defineProperty;return a(o,"next",{value:u(0)}),a(o,"throw",{value:u(1)}),a(o,"return",{value:u(2)}),"function"==typeof Symbol&&a(o,Symbol.iterator,{value:function(){return this}}),o;function u(a){return function(u){var c=[a,u];if(n)throw TypeError("Generator is already executing.");for(;o&&(o=0,c[0]&&(l=0)),l;)try{if(n=1,r&&(i=2&c[0]?r.return:c[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,c[1])).done)return i;switch(r=0,i&&(c=[2&c[0],i.value]),c[0]){case 0:case 1:i=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,r=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(i=(i=l.trys).length>0&&i[i.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!i||c[1]>i[0]&&c[1]<i[3])){l.label=c[1];break}if(6===c[0]&&l.label<i[1]){l.label=i[1],i=c;break}if(i&&l.label<i[2]){l.label=i[2],l.ops.push(c);break}i[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],r=0}finally{n=i=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var z=["application/pdf"],D=["image/png","image/jpeg","image/gif","image/webp","image/svg+xml","image/bmp"],M=["text/plain","text/csv","text/html","text/css","text/javascript","application/json","application/xml","text/xml","text/yaml","application/x-yaml"],W=["application/vnd.openxmlformats-officedocument.wordprocessingml.document"],q=["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.ms-excel"],V=["pdf"],$=["png","jpg","jpeg","gif","webp","svg","bmp"],H=["txt","csv","html","css","js","json","xml","log","md","yaml","yml","xaml"],X=["docx"],G=["xlsx","xls"],J=["application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.ms-powerpoint"],Y=["pptx","ppt"],K={png:"png-200-200.png",jpg:"jpeg-200-200.png",jpeg:"jpeg-200-200.png",gif:"gif-200-200.png",webp:"png-200-200.png",bmp:"png-200-200.png",svg:"svg-200-200.png"},Q={"image/png":K.png,"image/jpeg":K.jpeg,"image/jpg":K.jpeg,"image/gif":K.gif,"image/webp":K.webp,"image/bmp":K.bmp,"image/svg+xml":K.svg};function Z(e){if(!e||"string"==typeof e)return e;var t,n,r,i,l,o,a,u,c,s,f,d,p,m,v,g,h,y,b,w,x,E,S,k,O=e.response;return O&&(void 0===O?"undefined":N(O))==="object"?I(_({},O,e),{id:null!=(t=e.id)?t:O.id,uid:null!=(n=e.uid)?n:O.uid,url:null!=(r=e.url)?r:O.url,preview:e.preview||O.preview,filename:null!=(i=e.filename)?i:O.filename,name:null!=(l=e.name)?l:O.name,title:null!=(o=e.title)?o:O.title,extname:null!=(a=e.extname)?a:O.extname,mimetype:null!=(u=e.mimetype)?u:O.mimetype,size:null!=(c=e.size)?c:O.size,path:null!=(s=e.path)?s:O.path,storageId:null!=(f=e.storageId)?f:O.storageId,storageType:null!=(d=null!=(p=null!=(m=e.storageType)?m:O.storageType)?p:null==(x=e.storage)?void 0:x.type)?d:null==(E=O.storage)?void 0:E.type,storageName:null!=(v=null!=(g=null!=(h=e.storageName)?h:O.storageName)?g:null==(S=e.storage)?void 0:S.name)?v:null==(k=O.storage)?void 0:k.name,storage:null!=(y=e.storage)?y:O.storage,collectionName:null!=(b=e.collectionName)?b:O.collectionName,lastModified:null!=(w=e.lastModified)?w:O.lastModified}):e}function ee(e){return null!==e&&(void 0===e?"undefined":N(e))==="object"}function et(e){if("number"==typeof e)return Number.isInteger(e)&&e>0?e:null;if("string"==typeof e){var t=e.trim();return/^\d+$/.test(t)?t:null}return null}function en(e){var t=ee(e)?e:{},n=ee(t.response)?t.response:{},r=Z(e),i=ee(r)?r:{},l=[i.attachmentId,i.id,n.attachmentId,n.id,t.attachmentId,t.id,i.uid,n.uid,t.uid],o=!0,a=!1,u=void 0;try{for(var c,s=l[Symbol.iterator]();!(o=(c=s.next()).done);o=!0){var f=c.value,d=et(f);if(null!=d)return d}}catch(e){a=!0,u=e}finally{try{o||null==s.return||s.return()}finally{if(a)throw u}}return null}var er=function(e){var t=Z(e),n=("string"==typeof t?t:(null==t?void 0:t.extname)||(null==t?void 0:t.name)||(null==t?void 0:t.filename)||(null==t?void 0:t.url)||"").split("?")[0].split("#")[0],r=n.lastIndexOf(".");return -1!==r?n.slice(r+1).toLowerCase().replace(/^\./,""):""},ei=function(e){var t=Z(e),n="string"==typeof t?t:(null==t?void 0:t.url)||(null==t?void 0:t.preview)||(null==t?void 0:t.path);return n?n.startsWith("https://")||n.startsWith("http://")?n:"".concat(location.origin,"/").concat(n.replace(/^\//,"")):""},el=function(e){if("string"==typeof e)return e;var t=Z(e);return t?[t.id,t.uid,t.url,t.preview,t.path,t.storageId,t.storageType,t.storageName,t.collectionName,t.lastModified,t.size].filter(function(e){return null!=e&&""!==e}).join(":"):""},eo=function(e){var t=Z(e);if((null==t?void 0:t.mimetype)&&z.includes(t.mimetype))return!0;var n=er(e);return!!n&&V.includes(n)},ea=function(e){var t=Z(e);if((null==t?void 0:t.mimetype)&&D.includes(t.mimetype)||(null==t?void 0:t.mimetype)&&(0,i.matchMimetype)(t,"image/*"))return!0;var n=er(e);return!!n&&$.includes(n)},eu=function(e){var t=Z(e);if((null==t?void 0:t.mimetype)&&M.includes(t.mimetype))return!0;var n=er(e);return!!n&&H.includes(n)},ec=function(e){var t=Z(e);if((null==t?void 0:t.mimetype)&&W.includes(t.mimetype))return!0;var n=er(e);return!!n&&X.includes(n)},es=function(e){var t=Z(e);if((null==t?void 0:t.mimetype)&&q.includes(t.mimetype))return!0;var n=er(e);return!!n&&G.includes(n)},ef=function(e){var t=Z(e);if((null==t?void 0:t.mimetype)&&J.includes(t.mimetype))return!0;var n=er(e);return!!n&&Y.includes(n)};function ed(e){return["waiting-verify","success","verified","accepted","rejected"].includes(e||"")}function ep(e){for(var t,n=e,r=0;r<5;r+=1){if(ee(t=n)&&("string"==typeof t.status||null!=et(t.attachmentId)||null!=et(t.id)))return n;if(!ee(n))break;n=n.data}return null}var em=function(e){var t=Z(e);return t?t.title&&t.extname?"".concat(t.title).concat(t.extname):t.filename||t.name||t.title||"download":"download"},ev=new Map;function eg(e){var t,n,r,i,l,o=Z(e);return{id:null==o?void 0:o.id,uid:null==o?void 0:o.uid,url:null==o?void 0:o.url,preview:null==o?void 0:o.preview,filename:(null==o?void 0:o.filename)||(null==o?void 0:o.name),name:(null==o?void 0:o.name)||(null==o?void 0:o.filename),title:null==o?void 0:o.title,extname:null==o?void 0:o.extname,mimetype:null==o?void 0:o.mimetype,size:null==o?void 0:o.size,path:null==o?void 0:o.path,storageId:null!=(t=null!=(n=null==o?void 0:o.storageId)?n:null==o?void 0:o.storage_id)?t:null==o||null==(r=o.storage)?void 0:r.id,storage_id:null==o?void 0:o.storage_id,storageType:(null==o?void 0:o.storageType)||(null==o||null==(i=o.storage)?void 0:i.type),storageName:(null==o?void 0:o.storageName)||(null==o||null==(l=o.storage)?void 0:l.name),storage:null==o?void 0:o.storage,collectionName:null==o?void 0:o.collectionName,lastModified:null==o?void 0:o.lastModified}}function eh(e){if(!e)return!1;try{var t=new URL(e,location.origin);if(t.origin!==location.origin)return!1;return["/api/filePreviewAuth:download","/api/extStorage:download","/api/skillHub:download","/api/worker-monitor","/api/carboneTemplates:download","/api/attachments:stream","/api/attachments:sftpStream"].some(function(e){return t.pathname===e||t.pathname.startsWith("".concat(e,"/"))||t.pathname.startsWith("".concat(e,":"))})}catch(e){return!1}}function ey(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"inline";return j(function(){var r,i,l;return U(this,function(o){if(!(r=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"inline",n=eg("string"==typeof e?{url:e}:e||{}),r=ei(e);if(r&&eh(r))return r;if(function(e,t){var n,r,i,l=eg("string"==typeof e?{url:e}:e||{}),o=l.collectionName||"attachments";return null!=(l.id||l.uid)&&("s3-private"===(i=(r=eg("string"==typeof e?{url:e}:e||{})).storageType||(null==(n=r.storage)?void 0:n.type))||"aws-s3-private"===i||"attachments"===o&&!t)}(e,r)){var i=eg("string"==typeof e?{url:e}:e||{}),l=i.id||i.uid;if(null==l)return"";var o=new URLSearchParams({filterByTk:String(l),mode:t,collection:i.collectionName||"attachments"});return"/api/attachments:stream?".concat(o.toString())}var a=n.id||n.uid;if(null!=a){var u,c=n.collectionName||"attachments",s=new URLSearchParams;s.set("id",String(a)),s.set("collection",c),r&&s.set("url",r);var f=n.storageId||n.storage_id||(null==(u=n.storage)?void 0:u.id);return null!=f&&""!==f&&s.set("storageId",String(f)),(n.filename||n.name)&&s.set("filename",n.filename||n.name),n.mimetype&&s.set("mimetype",n.mimetype),"/api/filePreviewAuth:download?".concat(s.toString())}return r||""}(e,n))||r.endsWith("?"))throw Error("No file URL");return i="".concat(t?"auth":"anon",":").concat(t||"",":").concat(el(e)||r),(l=ev.get(i))||(l=j(function(){var e,n;return U(this,function(i){switch(i.label){case 0:return e={},t&&(e.Authorization="Bearer ".concat(t)),[4,fetch(r,{method:"GET",headers:e,credentials:"include"})];case 1:if(!(n=i.sent()).ok)throw Error("Failed to fetch file: ".concat(n.status," ").concat(n.statusText));return[2,n.blob()]}})})().catch(function(e){throw ev.delete(i),e}),ev.set(i,l)),[2,l]})})()}function eb(e,t){return j(function(){var n,r,i,l;return U(this,function(o){switch(o.label){case 0:return[4,ey(e,t,"attachment")];case 1:return n=o.sent(),r=em(e),(i=document.createElement("a")).href=l=URL.createObjectURL(n),i.download=r,document.body.appendChild(i),i.click(),document.body.removeChild(i),setTimeout(function(){return URL.revokeObjectURL(l)},1e3),[2]}})})()}function ew(t,n){var r=F((0,e.useState)(null),2),i=r[0],l=r[1],o=F((0,e.useState)(!0),2),a=o[0],u=o[1],c=F((0,e.useState)(null),2),s=c[0],f=c[1],d=(0,e.useRef)(null),p=(0,e.useRef)(t);p.current=t;var m=el(t);return(0,e.useEffect)(function(){var e=!1,t=p.current;if(!(ei(t)||"string"!=typeof t&&((null==t?void 0:t.id)||(null==t?void 0:t.uid)))){u(!1),f("No file URL");return}return u(!0),f(null),ey(t,n).then(function(t){if(!e){var n=URL.createObjectURL(t);d.current=n,l(n),u(!1)}}).catch(function(t){e||(f(t.message||"Failed to load"),u(!1))}),function(){e=!0,d.current&&(URL.revokeObjectURL(d.current),d.current=null)}},[m,n]),{blobUrl:i,loading:a,error:s}}function ex(e){var n=e.message;return t().createElement("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100%",width:"100%"}},t().createElement(r.Spin,{tip:n}))}function eE(e){var n=e.message;return t().createElement("div",{style:{padding:20,textAlign:"center",color:"#ff4d4f"}},n)}function eS(e){var i=e.file,l=e.title,o=e.ocrStatus,u=e.isOcrSupported,c=a();return t().createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,paddingRight:40}},t().createElement(r.Space,{size:8,style:{minWidth:0,overflow:"hidden"}},t().createElement("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontWeight:600},title:l},l),function(){if(!u||!o)return null;switch(o){case"pending-ocr":return t().createElement(r.Tag,{color:"processing",icon:t().createElement(n.SyncOutlined,{spin:!0})},c("OCR Pending"));case"waiting-verify":case"success":return t().createElement(r.Tag,{color:"warning",icon:t().createElement(n.ClockCircleOutlined,null)},c("Waiting Verify"));case"verified":case"accepted":return t().createElement(r.Tag,{color:"success",icon:t().createElement(n.CheckCircleOutlined,null)},c("OCR Verified"));case"rejected":return t().createElement(r.Tag,{color:"error"},c("OCR Rejected"));case"failed":return t().createElement(r.Tag,{color:"error"},c("OCR Failed"));default:return t().createElement(r.Tag,{color:"default"},c("No OCR"))}}()),t().createElement(O,{file:i}))}function ek(e){var n,r=e.file,l=(0,i.useAPIClient)(),o=a(),u=ew(r,(null==(n=l.auth)?void 0:n.token)||""),c=u.blobUrl,s=u.loading,f=u.error;return s?t().createElement(ex,{message:o("Loading preview...")}):f||!c?t().createElement(eE,{message:o("Failed to load file preview")}):t().createElement("iframe",{src:c,width:"100%",height:"100%",style:{border:"none"}})}function eO(e){var n,r=e.file,l=(0,i.useAPIClient)(),o=a(),u=ew(r,(null==(n=l.auth)?void 0:n.token)||""),c=u.blobUrl,s=u.loading,f=u.error;return s?t().createElement(ex,{message:o("Loading preview...")}):f||!c?t().createElement(eE,{message:o("Failed to load file preview")}):t().createElement("img",{src:c,style:{maxWidth:"100%",maxHeight:"100%",objectFit:"contain"},alt:(null==r?void 0:r.title)||(null==r?void 0:r.filename)||""})}function eC(n){var r,l,o,u,c,s,f,d,p,m,v,g,h=n.file,y=(0,i.useAPIClient)(),b=a(),w=(null==(g=y.auth)?void 0:g.token)||"",x=(l=(r=F((0,e.useState)(null),2))[0],o=r[1],c=(u=F((0,e.useState)(!0),2))[0],s=u[1],d=(f=F((0,e.useState)(null),2))[0],p=f[1],(m=(0,e.useRef)(h)).current=h,v=el(h),(0,e.useEffect)(function(){var e=!1,t=m.current;if(!(ei(t)||"string"!=typeof t&&((null==t?void 0:t.id)||(null==t?void 0:t.uid)))){s(!1),p("No file URL");return}return s(!0),p(null),ey(t,w).then(function(e){return e.text()}).then(function(t){e||(o(t),s(!1))}).catch(function(t){e||(p(t.message||"Failed to load"),s(!1))}),function(){e=!0}},[v,w]),{text:l,loading:c,error:d}),E=x.text,S=x.loading,k=x.error;return S?t().createElement(ex,{message:b("Loading preview...")}):k||null===E?t().createElement(eE,{message:b("Failed to load file preview")}):t().createElement("pre",{style:{width:"100%",height:"100%",overflow:"auto",padding:16,margin:0,fontSize:13,lineHeight:1.6,whiteSpace:"pre-wrap",wordWrap:"break-word",background:"#f5f5f5",border:"none"}},E)}function eP(n){var r,l=n.file,o=(0,i.useAPIClient)(),u=a(),c=(null==(r=o.auth)?void 0:r.token)||"",s=(0,e.useRef)(null),d=(0,e.useRef)(l);d.current=l;var p=el(l),m=F((0,e.useState)(!0),2),v=m[0],g=m[1],h=F((0,e.useState)(null),2),y=h[0],b=h[1];return(0,e.useEffect)(function(){var e=!1,t=d.current;if(!(ei(t)||"string"!=typeof t&&((null==t?void 0:t.id)||(null==t?void 0:t.uid)))||!s.current){g(!1),b("No file URL");return}return g(!0),b(null),j(function(){var n,r,i;return U(this,function(l){switch(l.label){case 0:return l.trys.push([0,4,,5]),[4,ey(t,c)];case 1:if(n=l.sent(),e)return[2];return[4,f.e("713").then(f.bind(f,440))];case 2:if(r=l.sent(),e||!s.current)return[2];return s.current.innerHTML="",[4,r.renderAsync(n,s.current,void 0,{className:"docx-preview-wrapper",inWrapper:!0,ignoreWidth:!1,ignoreHeight:!1,ignoreFonts:!1,breakPages:!0,ignoreLastRenderedPageBreak:!0,experimental:!1,trimXmlDeclaration:!0,useBase64URL:!0,renderHeaders:!0,renderFooters:!0,renderFootnotes:!0,renderEndnotes:!0})];case 3:return l.sent(),g(!1),[3,5];case 4:if(i=l.sent(),e)return[2];return b(i.message||"Failed to render DOCX"),g(!1),[3,5];case 5:return[2]}})})(),function(){e=!0}},[p,c]),t().createElement("div",{style:{width:"100%",height:"100%",position:"relative"}},v&&t().createElement(ex,{message:u("Loading preview...")}),y&&t().createElement(eE,{message:u("Failed to load file preview")}),t().createElement("div",{ref:s,style:{width:"100%",height:"100%",overflow:"auto",display:v||y?"none":"block"}}))}function ej(n){var r,l=n.file,o=(0,i.useAPIClient)(),u=a(),c=(null==(r=o.auth)?void 0:r.token)||"",s=(0,e.useRef)(null),d=(0,e.useRef)(l);d.current=l;var p=el(l),m=F((0,e.useState)(!0),2),v=m[0],g=m[1],h=F((0,e.useState)(null),2),y=h[0],b=h[1],w=F((0,e.useState)([]),2),x=w[0],E=w[1],S=F((0,e.useState)(""),2),k=S[0],O=S[1],C=F((0,e.useState)({}),2),P=C[0],T=C[1];return(0,e.useEffect)(function(){var e=!1,t=d.current;if(!(ei(t)||"string"!=typeof t&&((null==t?void 0:t.id)||(null==t?void 0:t.uid)))){g(!1),b("No file URL");return}return g(!0),b(null),j(function(){var n,r,i,l,o,a,u,s,d,p,m,v,h,y;return U(this,function(w){switch(w.label){case 0:return w.trys.push([0,4,,5]),[4,ey(t,c)];case 1:if(n=w.sent(),e)return[2];return[4,f.e("892").then(f.bind(f,959))];case 2:if(r=w.sent(),e)return[2];return[4,n.arrayBuffer()];case 3:if(i=w.sent(),e)return[2];o=(l=r.read(i,{type:"array"})).SheetNames,a={},u=!0,s=!1,d=void 0;try{for(p=o[Symbol.iterator]();!(u=(m=p.next()).done);u=!0)v=m.value,h=l.Sheets[v],a[v]=r.utils.sheet_to_html(h,{id:"xlsx-preview-table"})}catch(e){s=!0,d=e}finally{try{u||null==p.return||p.return()}finally{if(s)throw d}}if(e)return[2];return E(o),O(o[0]||""),T(a),g(!1),[3,5];case 4:if(y=w.sent(),e)return[2];return b(y.message||"Failed to render XLSX"),g(!1),[3,5];case 5:return[2]}})})(),function(){e=!0}},[p,c]),t().createElement("div",{style:{width:"100%",height:"100%",display:"flex",flexDirection:"column"}},v&&t().createElement(ex,{message:u("Loading preview...")}),y&&t().createElement(eE,{message:u("Failed to load file preview")}),!v&&!y&&t().createElement(t().Fragment,null,x.length>1&&t().createElement("div",{style:{display:"flex",gap:0,borderBottom:"1px solid #e8e8e8",background:"#fafafa",padding:"0 8px",flexShrink:0,overflowX:"auto"}},x.map(function(e){return t().createElement("button",{key:e,onClick:function(){return O(e)},style:{padding:"8px 16px",border:"none",borderBottom:k===e?"2px solid #1890ff":"2px solid transparent",background:k===e?"#fff":"transparent",color:k===e?"#1890ff":"#666",fontWeight:k===e?600:400,cursor:"pointer",fontSize:13,whiteSpace:"nowrap",transition:"all 0.2s"}},e)})),t().createElement("div",{ref:s,style:{flex:1,overflow:"auto",padding:0},dangerouslySetInnerHTML:{__html:P[k]||""}}),t().createElement("style",null,"\n #xlsx-preview-table {\n border-collapse: collapse;\n width: 100%;\n font-size: 13px;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n }\n #xlsx-preview-table td,\n #xlsx-preview-table th {\n border: 1px solid #e8e8e8;\n padding: 6px 10px;\n text-align: left;\n max-width: 33vw;\n white-space: normal;\n word-break: break-word;\n }\n #xlsx-preview-table tr:first-child td,\n #xlsx-preview-table tr:first-child th {\n background: #fafafa;\n font-weight: 600;\n position: sticky;\n top: 0;\n z-index: 1;\n }\n #xlsx-preview-table tr:nth-child(even) {\n background: #fafafa;\n }\n #xlsx-preview-table tr:hover {\n background: #f0f7ff;\n }\n ")))}function eT(n){var r,l=n.file,o=(0,i.useAPIClient)(),u=a(),c=(null==(r=o.auth)?void 0:r.token)||"",s=F((0,e.useState)(!0),2),d=s[0],p=s[1],m=F((0,e.useState)(null),2),v=m[0],g=m[1],h=F((0,e.useState)(null),2),y=h[0],b=h[1],w=F((0,e.useState)(null),2),x=w[0],E=w[1],S=(0,e.useRef)(l);S.current=l;var k=el(l);return(0,e.useEffect)(function(){var e=!1,t=S.current;if(!(ei(t)||"string"!=typeof t&&((null==t?void 0:t.id)||(null==t?void 0:t.uid)))){p(!1),g("No file URL");return}return p(!0),g(null),j(function(){var n,r,i,l;return U(this,function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),[4,Promise.all([ey(t,c),f.e("828").then(f.bind(f,559))])];case 1:if(r=(n=F.apply(void 0,[o.sent(),2]))[0],i=n[1],e)return[2];return b(r),E(function(){return i.PptxPreview}),p(!1),[3,3];case 2:if(l=o.sent(),e)return[2];return g(l.message||"Failed to render PPTX"),p(!1),[3,3];case 3:return[2]}})})(),function(){e=!0}},[k,c]),t().createElement("div",{style:{width:"100%",height:"100%",position:"relative"}},d&&t().createElement(ex,{message:u("Loading preview...")}),v&&t().createElement(eE,{message:u("Failed to load file preview")}),!d&&!v&&x&&t().createElement("div",{style:{width:"100%",height:"100%",overflow:"auto"}},t().createElement(x,{file:y})))}var eR=function(l){return function(o){var u=o.open,c=o.onOpenChange,s=o.onClose,f=o.file,d=o.index,p=o.list,m=o.onSwitchIndex;o.onDownload;var v=(0,i.useAPIClient)(),g=a(),h=F((0,e.useState)("visual"),2),y=h[0],b=h[1],w=(0,e.useCallback)(function(e){return j(function(){var t,n,i;return U(this,function(l){switch(l.label){case 0:if(!(n=e||f))return[2];i=(null==(t=v.auth)?void 0:t.token)||"",l.label=1;case 1:return l.trys.push([1,3,,4]),[4,eb(n,i)];case 2:return l.sent(),[3,4];case 3:return l.sent(),r.message.error(g("Failed to download file")),[3,4];case 4:return[2]}})})()},[f,v,g]);if("boolean"!=typeof u)return t().createElement(l,I(_({},o),{onDownload:w}));var x=em(f),E="number"==typeof d&&!!m&&d>0,S="number"==typeof d&&!!m&&d<p.length-1;return t().createElement(r.Modal,{open:u,title:t().createElement(eS,{file:f,title:x}),onCancel:function(){null==c||c(!1),null==s||s(),b("visual")},footer:t().createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",width:"100%"}},t().createElement("div",{key:"left-actions"},t().createElement(r.Button,{onClick:function(){return b(function(e){return"visual"===e?"raw":"visual"})}},"visual"===y?g("View Raw Parsed Text"):g("View Visual Preview"))),t().createElement(r.Space,{size:14,style:{fontSize:"20px"}},t().createElement(n.LeftOutlined,{style:{cursor:E?"pointer":"not-allowed"},onClick:function(){return E&&(null==m?void 0:m(d-1))}}),t().createElement(n.RightOutlined,{style:{cursor:S?"pointer":"not-allowed"},onClick:function(){return S&&(null==m?void 0:m(d+1))}}),t().createElement(n.DownloadOutlined,{onClick:function(){return w(f)}}))),width:"90%",centered:!0},t().createElement("div",{style:{maxWidth:"100%",maxHeight:"calc(100vh - 256px)",height:"80vh",width:"100%",background:"white",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",overflowY:"auto"}},"raw"===y?t().createElement(e_,{file:f}):t().createElement(l,I(_({},o),{onDownload:w}))))}};function e_(l){var o=l.file,u=(0,i.useAPIClient)(),c=a(),s=F((0,e.useState)(""),2),f=s[0],d=s[1],p=F((0,e.useState)(!0),2),m=p[0],v=p[1],g=F((0,e.useState)(null),2),h=g[0],y=g[1],b=(0,i.useComponent)("MarkdownVditor"),w=(0,i.useComponent)("Markdown.Void");return((0,e.useEffect)(function(){var e=!1;return j(function(){var t,n,r,i,l,a,c,s,f,p;return U(this,function(m){switch(m.label){case 0:v(!0),y(null),m.label=1;case 1:return m.trys.push([1,4,,5]),[4,ey(o,(null==(t=u.auth)?void 0:t.token)||"")];case 2:if(i=m.sent(),e)return[2];return(l=new FormData).append("file",i,em(o)),l.append("attachment",JSON.stringify(eg(o))),[4,u.request({url:"filePreviewAuth:getContent",method:"post",data:l,headers:{"Content-Type":"multipart/form-data"}})];case 3:if(a=m.sent(),e)return[2];return s=c=(null==a||null==(r=a.data)||null==(n=r.data)?void 0:n.content)||"",(f=c.match(/<file_preview[^>]*>([\s\S]*?)<\/file_preview>/i))&&(s=f[1].trim()),d(s),v(!1),[3,5];case 4:if(p=m.sent(),e)return[2];return y(p.message||"Failed to fetch raw text"),v(!1),[3,5];case 5:return[2]}})})(),function(){e=!0}},[o,u]),m)?t().createElement(r.Spin,{size:"large",tip:c("Extracting raw text..."),style:{marginTop:"40px"}}):h?t().createElement(r.Alert,{type:"error",message:h,style:{width:"100%",margin:"20px"}}):f?t().createElement("div",{style:{width:"100%",height:"100%",display:"flex",flexDirection:"column",position:"relative"}},t().createElement("span",{onClick:function(){if(navigator.clipboard&&navigator.clipboard.writeText)navigator.clipboard.writeText(f).then(function(){r.message.success(c("Copied to clipboard"))}).catch(function(e){r.message.error(c("Failed to copy")),console.error("Copy error",e)});else{var e=document.createElement("textarea");e.value=f,document.body.appendChild(e),e.select();try{document.execCommand("copy"),r.message.success(c("Copied to clipboard"))}catch(e){r.message.error(c("Failed to copy"))}document.body.removeChild(e)}},style:{position:"absolute",top:"20px",right:"25px",zIndex:10,cursor:"pointer",padding:"4px 10px",background:"rgba(255, 255, 255, 0.85)",border:"1px solid #e8e8e8",borderRadius:"4px",color:"#1890ff",display:"flex",alignItems:"center",gap:"6px",boxShadow:"0 2px 4px rgba(0,0,0,0.05)",fontSize:"13px"},title:c("Copy")},t().createElement(n.CopyOutlined,null),c("Copy")),t().createElement("div",{style:{flex:1,overflow:"auto",padding:"20px",textAlign:"left"}},t().createElement("style",null,"\n .hide-vditor-toolbar .vditor-toolbar {\n display: none !important;\n }\n .hide-vditor-toolbar .vditor {\n border: none !important;\n }\n "),t().createElement("div",{className:"hide-vditor-toolbar",style:{height:"100%"}},b?t().createElement(b,{value:f,disabled:!1}):w?t().createElement(w,{content:f}):t().createElement("pre",{style:{whiteSpace:"pre-wrap",wordBreak:"break-word",fontFamily:"monospace",fontSize:"13px"}},f)))):t().createElement(r.Alert,{type:"info",style:{width:"100%",margin:"20px"},description:c("No text content could be extracted from this file."),showIcon:!0})}function eI(l){var o=l.index,u=l.list,c=l.onSwitchIndex,s=a(),f=(0,i.useAPIClient)(),d=u[o],p=F((0,e.useState)(!1),2),m=p[0],v=p[1],g=F((0,e.useState)("visual"),2),h=g[0],y=g[1],b=F((0,e.useState)("preview"),2),w=b[0],x=b[1],E=F((0,e.useState)("no-ocr"),2),S=E[0],k=E[1],O=F((0,e.useState)(null),2),C=O[0],P=O[1],T=F((0,e.useState)(null),2),R=T[0],A=T[1],N=(0,e.useMemo)(function(){return en(d)},[d]),L=(0,e.useMemo)(function(){return!!d&&!!N&&(eo(d)||ea(d))},[d,N]),B=(0,i.useComponent)("OcrVerifyBlock"),z=(0,e.useCallback)(function(e){e&&(P(e.id||null),k(e.status||"no-ocr"),A(e.error||null))},[]),D=(0,e.useCallback)(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.updateState,n=void 0===t||t;return j(function(){var e;return U(this,function(t){switch(t.label){case 0:if(!N)return[2,null];return[4,f.request({url:"filePreviewAuth:getOcrStatus",method:"post",data:{attachmentId:N}})];case 1:return(e=ep(t.sent()))&&n&&z(e),[2,e]}})})()},[f,z,N]);(0,e.useEffect)(function(){if(N){var e=!1;return P(null),k("no-ocr"),A(null),D().then(function(){if(e)return}).catch(console.error),function(){e=!0}}},[N,D]),(0,e.useEffect)(function(){if("pending-ocr"===S&&N){var e=null,t=!1,n=0,i=function(){return j(function(){var l,o;return U(this,function(a){switch(a.label){case 0:return a.trys.push([0,2,,3]),[4,D({updateState:!1})];case 1:if(l=a.sent(),t)return[2];if(l){if("pending-ocr"===(o=l.status||"no-ocr"))return z(l),e=setTimeout(i,3e3),[2];if(ed(o))return z(l),x("ocr"),r.message.success(s("OCR processing completed!")),[2];if("failed"===o)return z(l),r.message.error(l.error||s("OCR processing failed")),[2];if("no-ocr"===o&&n<3)return n+=1,e=setTimeout(i,3e3),[2];z(l)}else n<3?(n+=1,e=setTimeout(i,3e3)):(P(null),k("no-ocr"),A(null));return[3,3];case 2:return console.error("Polling error",a.sent()),e=setTimeout(i,3e3),[3,3];case 3:return[2]}})})()};return e=setTimeout(i,3e3),function(){t=!0,e&&clearTimeout(e)}}},[z,S,N,D,s]);var M=function(){return j(function(){var e,t;return U(this,function(n){switch(n.label){case 0:if(!N)return[2];n.label=1;case 1:return n.trys.push([1,3,,4]),k("pending-ocr"),[4,f.request({url:"filePreviewAuth:runOcr",method:"post",data:{attachmentId:N}})];case 2:return(e=ep(n.sent()))&&z(I(_({},e),{status:e.status||"pending-ocr"})),r.message.info(s("OCR process started in the background.")),[3,4];case 3:return t=n.sent(),r.message.error((null==t?void 0:t.message)||s("Failed to start OCR process.")),k("no-ocr"),[3,4];case 4:return[2]}})})()},W=(0,e.useCallback)(function(e){return j(function(){var t,n,i,l;return U(this,function(o){switch(o.label){case 0:null==e||null==(t=e.preventDefault)||t.call(e),null==e||null==(n=e.stopPropagation)||n.call(e),l=(null==(i=f.auth)?void 0:i.token)||"",v(!0),o.label=1;case 1:return o.trys.push([1,3,4,5]),[4,eb(d,l)];case 2:return o.sent(),[3,5];case 3:return o.sent(),r.message.error(s("Failed to download file")),[3,5];case 4:return v(!1),[7];case 5:return[2]}})})()},[d,f,s]),q=(0,e.useCallback)(function(){c(null),y("visual"),x("preview")},[c]),V=(0,e.useMemo)(function(){return eo(d)?ek:ea(d)?eO:eu(d)?eC:ec(d)?eP:es(d)?ej:ef(d)?eT:null},[d]),$=null!=V||"raw"===h,H=[{key:"preview",label:t().createElement("span",null,t().createElement(n.EyeOutlined,null)," ",s("Visual Preview")),children:t().createElement("div",{style:{height:"70vh",width:"100%",overflow:"auto",background:"#f5f5f5",display:"flex",justifyContent:"center",alignItems:"center"}},V?t().createElement(V,{file:d}):null)},{key:"ocr",label:t().createElement("span",null,t().createElement(n.ScanOutlined,null)," ",s("OCR & Verify")),children:t().createElement("div",{style:{height:"70vh",width:"100%",display:"flex",flexDirection:"column"}},"no-ocr"===S&&t().createElement("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",height:"100%",padding:"40px",background:"#fafafa",borderRadius:"8px"}},t().createElement(n.ScanOutlined,{style:{fontSize:"64px",color:"#1890ff",marginBottom:"20px"}}),t().createElement("h3",{style:{fontSize:"18px",fontWeight:600,marginBottom:"10px"}},s("Word-level Song ngữ (English & Vietnamese) OCR")),t().createElement("p",{style:{color:"#8c8c8c",maxWidth:"480px",textAlign:"center",marginBottom:"24px"}},s("Chưa c\xf3 dữ liệu OCR cấp độ Từ (Word-level) cho tệp n\xe0y. H\xe3y chạy nhận dạng Tesseract-OCR để bắt đầu đối so\xe1t v\xe0 verify toạ độ.")),t().createElement(r.Button,{type:"primary",size:"large",icon:t().createElement(n.ThunderboltOutlined,null),onClick:M},s("Run Tesseract OCR"))),"pending-ocr"===S&&t().createElement("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",height:"100%",padding:"40px"}},t().createElement(r.Spin,{size:"large",tip:s("Analyzing layout structure and running song ngữ OCR...")}),t().createElement("p",{style:{color:"#8c8c8c",marginTop:"20px",fontSize:"13px",textAlign:"center"}},s("Extracting word-level coordinates via Tesseract-OCR. This will automatically refresh when complete."))),"failed"===S&&t().createElement("div",{style:{padding:"40px"}},t().createElement(r.Alert,{type:"error",showIcon:!0,message:s("OCR processing failed"),description:R||s("Please try running OCR again."),style:{marginBottom:24}}),t().createElement(r.Button,{type:"primary",icon:t().createElement(n.ThunderboltOutlined,null),onClick:M},s("Run Tesseract OCR"))),ed(S)&&t().createElement("div",{style:{flex:1,height:"100%",overflow:"hidden"}},B&&C?t().createElement(B,{collection:"attachmentOcrResults",recordId:C,pdfField:"attachment",jsonField:"data",statusField:"status"}):B?t().createElement("div",{style:{padding:"20px"}},t().createElement(r.Alert,{type:"error",message:s("OCR result record not found"),description:s("Please try running OCR again."),showIcon:!0})):t().createElement("div",{style:{padding:"20px"}},t().createElement(r.Alert,{type:"error",message:s("Plugin OCR Verify Block is not enabled"),description:s("Please enable the plugin-ocr-verify-block plugin to display the verify splitter layout."),showIcon:!0}))))}];return t().createElement(r.Modal,{open:null!=o,title:t().createElement(eS,{file:d,title:(null==d?void 0:d.title)||(null==d?void 0:d.filename)||(null==d?void 0:d.name)||"File",ocrStatus:S,isOcrSupported:L}),onCancel:q,footer:t().createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",width:"100%"}},t().createElement("div",{key:"left-actions"},!L&&t().createElement(r.Button,{onClick:function(){return y(function(e){return"visual"===e?"raw":"visual"})}},"visual"===h?s("View Raw Parsed Text"):s("View Visual Preview"))),t().createElement(r.Space,null,t().createElement(r.Button,{key:"download",onClick:W,loading:m},s("Download")),t().createElement(r.Button,{key:"close",onClick:q},s("Close")))),width:$?"90%":520,centered:!0},L?t().createElement(r.Tabs,{activeKey:w,onChange:function(e){return x(e)},items:H,style:{width:"100%",height:"100%"}}):t().createElement("div",{style:{maxWidth:"100%",maxHeight:$?"calc(100vh - 256px)":"auto",height:$?"70vh":"auto",width:"100%",background:"white",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",overflowY:"auto"}},"raw"===h?t().createElement(e_,{file:d}):V?t().createElement(V,{file:d}):t().createElement(r.Alert,{type:"info",style:{width:"100%"},description:s("This file type cannot be previewed. Click Download to save the file."),showIcon:!0})))}function eA(n){var l=n.file,o=(0,i.useAPIClient)(),u=a(),c=(0,e.useCallback)(function(){return j(function(){var e,t;return U(this,function(n){switch(n.label){case 0:t=(null==(e=o.auth)?void 0:e.token)||"",n.label=1;case 1:return n.trys.push([1,3,,4]),[4,eb(l,t)];case 2:return n.sent(),[3,4];case 3:return n.sent(),r.message.error(u("Failed to download file")),[3,4];case 4:return[2]}})})()},[l,o,u]);return t().createElement(r.Alert,{type:"info",style:{width:"100%"},description:t().createElement("span",null,u("This file type cannot be previewed. ")," ",t().createElement("a",{onClick:c,style:{textDecoration:"underline",cursor:"pointer"}},u("Download"))),showIcon:!0})}var eF=function(e){var o;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function a(){var e,t;if(!(this instanceof a))throw TypeError("Cannot call a class as a function");return e=a,t=arguments,e=R(e),function(e,t){if(t&&("object"===N(t)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,B()?Reflect.construct(e,t||[],R(this).constructor):e.apply(this,t))}return a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,writable:!0,configurable:!0}}),e&&A(a,e),o=[{key:"load",value:function(){return j(function(){return U(this,function(e){return this.patchUploadPreviewBase64Fallback(),!function(e){try{i=e.pm.get("ai")}catch(e){return}var i,l,o=null==i?void 0:i.aiManager;if(null==o?void 0:o.registerWorkContext)try{(null==(l=o.getWorkContext)?void 0:l.call(o,w))||o.registerWorkContext(w,{name:w,tag:{Component:function(e){var i=e.item;return t().createElement(r.Space,null,t().createElement(n.FileTextOutlined,null),t().createElement("span",null,(null==i?void 0:i.title)||""))}},chatbox:{Component:function(e){var i=e.item;return t().createElement(r.Space,null,t().createElement(n.FileTextOutlined,null),t().createElement("span",null,(null==i?void 0:i.title)||""))}}})}catch(e){}}(this.app),i.attachmentFileTypes.add({match:function(){return!0},Previewer:eI}),l.filePreviewTypes.add({match:function(){return!0},Previewer:eR(eA)}),l.filePreviewTypes.add({match:eo,Previewer:eR(ek)}),l.filePreviewTypes.add({match:ea,getThumbnailURL:function(e){var t,n,r,i,l,o,a,u;return(u=[null==(a=Z(e))?void 0:a.preview,null==a?void 0:a.url].find(function(e){return"string"==typeof e&&e}))&&!eh(u)?u:(n=er(t=Z(a)),r="string"==typeof(null==t?void 0:t.mimetype)?t.mimetype.toLowerCase():"",i=K[n]||Q[r]||"unknown-200-200.png",l="file-placeholder/".concat(i),o="u"<typeof window?"/":window.__nocobase_dev_public_path__||window.__nocobase_public_path__||"/","".concat(o.replace(/\/?$/,"/")).concat(l.replace(/^\//,"")))},Previewer:eR(eO)}),l.filePreviewTypes.add({match:eu,Previewer:eR(eC)}),l.filePreviewTypes.add({match:ec,Previewer:eR(eP)}),l.filePreviewTypes.add({match:es,Previewer:eR(ej)}),l.filePreviewTypes.add({match:ef,Previewer:eR(eT)}),[2]})}).call(this)}},{key:"patchUploadPreviewBase64Fallback",value:function(){if(!("u"<typeof window)){var e,t=null==(e=window.FileReader)?void 0:e.prototype;if(t&&!t.__filePreviewAuthBase64FallbackPatched){var n=t.readAsDataURL;"function"==typeof n&&(Object.defineProperty(t,"__filePreviewAuthBase64FallbackPatched",{value:!0,configurable:!0}),t.readAsDataURL=function(e){var t=this;if(null!=e)return n.call(this,e);setTimeout(function(){var e,n;try{Object.defineProperty(t,"result",{value:"",configurable:!0})}catch(e){}null==(e=t.onload)||e.call(t,new ProgressEvent("load")),null==(n=t.onloadend)||n.call(t,new ProgressEvent("loadend"))},0)})}}}}],function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(a.prototype,o),a}(L(i.Plugin)),eN=eF}(),h}()});
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@nocobase/client-v2")):"function"==typeof define&&define.amd?define("plugin-file-preview-auth/client-v2",["@nocobase/client-v2"],t):"object"==typeof exports?exports["plugin-file-preview-auth/client-v2"]=t(require("@nocobase/client-v2")):e["plugin-file-preview-auth/client-v2"]=t(e["@nocobase/client-v2"])}(self,function(e){return function(){"use strict";var t={485:function(t){t.exports=e}},r={};function n(e){var o=r[e];if(void 0!==o)return o.exports;var i=r[e]={exports:{}};return t[e](i,i.exports,n),i.exports}n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.g.importScripts&&(o=n.g.location+"");var o,i=n.g.document;if(!o&&i&&(i.currentScript&&"SCRIPT"===i.currentScript.tagName.toUpperCase()&&(o=i.currentScript.src),!o)){var c=i.getElementsByTagName("script");if(c.length)for(var u=c.length-1;u>-1&&(!o||!/^http(s?):/.test(o));)o=c[u--].src}if(!o)throw Error("Automatic publicPath is not supported in this browser");n.p=o.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/");var a={};return!function(){var e="",t="u">typeof document?document.currentScript:null;if(t&&t.src&&(e=t.src.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")),!e){var r=window.__webpack_public_path__||"";r&&("/"!==r.charAt(r.length-1)&&(r+="/"),e=r+"static/plugins/plugin-file-preview-auth/dist/client-v2/")}if(!e){var o=window.__nocobase_modern_client_prefix__||"v",i="/"+(o=String(o).replace(/^\/+|\/+$/g,"")||"v")+"/";if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var c=window.location.pathname||"/",u=c.indexOf(i);e=u>=0?c.slice(0,u+1):"/"}e&&(e=e.replace(RegExp("/"+o+"/?$"),"/")),e||(e="/"),"/"!==e.charAt(e.length-1)&&(e+="/"),e+="static/plugins/plugin-file-preview-auth/dist/client-v2/"}n.p=e}(),!function(){n.r(a),n.d(a,{default:function(){return l}});var e=n(485);function t(e,t,r,n,o,i,c){try{var u=e[i](c),a=u.value}catch(e){r(e);return}u.done?t(a):Promise.resolve(a).then(n,o)}function r(e,t,n){return(r=u()?Reflect.construct:function(e,t,r){var n=[null];n.push.apply(n,t);var o=new(Function.bind.apply(e,n));return r&&i(o,r.prototype),o}).apply(null,arguments)}function o(e){return(o=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function i(e,t){return(i=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function c(e){var t="function"==typeof Map?new Map:void 0;return(c=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return r(e,arguments,o(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),i(n,e)})(e)}function u(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(u=function(){return!!e})()}var l=function(e){var r;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function n(){var e,t;if(!(this instanceof n))throw TypeError("Cannot call a class as a function");return e=n,t=arguments,e=o(e),function(e,t){var r;if(t&&("object"==((r=t)&&"u">typeof Symbol&&r.constructor===Symbol?"symbol":typeof r)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,u()?Reflect.construct(e,t||[],o(this).constructor):e.apply(this,t))}return n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),e&&i(n,e),r=[{key:"load",value:function(){var e;return(e=function(){return function(e,t){var r,n,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},c=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(c,"next",{value:a(0)}),u(c,"throw",{value:a(1)}),u(c,"return",{value:a(2)}),"function"==typeof Symbol&&u(c,Symbol.iterator,{value:function(){return this}}),c;function a(u){return function(a){var l=[u,a];if(r)throw TypeError("Generator is already executing.");for(;c&&(c=0,l[0]&&(i=0)),i;)try{if(r=1,n&&(o=2&l[0]?n.return:l[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,l[1])).done)return o;switch(n=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return i.label++,{value:l[1],done:!1};case 5:i.label++,n=l[1],l=[0];continue;case 7:l=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===l[0]||2===l[0])){i=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){i.label=l[1];break}if(6===l[0]&&i.label<o[1]){i.label=o[1],o=l;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(l);break}o[2]&&i.ops.pop(),i.trys.pop();continue}l=t.call(e,i)}catch(e){l=[6,e],n=0}finally{r=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}(this,function(e){return[2]})},function(){var r=this,n=arguments;return new Promise(function(o,i){var c=e.apply(r,n);function u(e){t(c,o,i,u,a,"next",e)}function a(e){t(c,o,i,u,a,"throw",e)}u(void 0)})})()}}],function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(n.prototype,r),n}(c(e.Plugin))}(),a}()});
@@ -11,12 +11,13 @@ module.exports = {
11
11
  "react": "18.2.0",
12
12
  "@ant-design/icons": "5.6.1",
13
13
  "antd": "5.24.2",
14
- "@nocobase/client": "2.0.57",
15
- "@nocobase/plugin-ai": "2.0.57",
16
- "@nocobase/plugin-file-manager": "2.0.57",
17
- "@nocobase/actions": "2.0.57",
18
- "@nocobase/server": "2.0.57",
19
- "@nocobase/utils": "2.0.57",
14
+ "@nocobase/client": "2.1.6",
15
+ "@nocobase/plugin-ai": "2.1.6",
16
+ "@nocobase/plugin-file-manager": "2.1.6",
17
+ "@nocobase/client-v2": "2.1.6",
18
+ "@nocobase/actions": "2.1.6",
19
+ "@nocobase/server": "2.1.6",
20
+ "@nocobase/utils": "2.1.6",
20
21
  "sequelize": "6.35.2",
21
- "@nocobase/database": "2.0.57"
22
+ "@nocobase/database": "2.1.6"
22
23
  };