@rhc-office/sdk 6.6.385 → 6.6.387
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/annotation-tool.d.ts +1 -0
- package/dist/api/annotation-tool.d.ts.map +1 -1
- package/dist/browser/document-viewer.js +1 -1
- package/dist/browser/document-viewer.js.map +1 -1
- package/dist/index.js +269 -234
- package/dist/index.js.map +1 -1
- package/dist/index.umd.cjs +1 -1
- package/dist/index.umd.cjs.map +1 -1
- package/dist/viewer/DocumentSDK.d.ts +1 -0
- package/dist/viewer/DocumentSDK.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/api/annotation-tool.ts +1 -0
- package/src/viewer/DocumentSDK.ts +102 -3
package/dist/index.umd.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(function(o,p){typeof exports=="object"&&typeof module<"u"?p(exports):typeof define=="function"&&define.amd?define(["exports"],p):(o=typeof globalThis<"u"?globalThis:o||self,p(o.RHCOfficeSDK={}))})(this,function(o){"use strict";var p=(t=>(t.DEFAULT="default",t.COMPACT="compact",t.HIDE="none",t))(p||{});const D="RIGHT_CENTER",C="REGULAR_ESM",A="auto",k="__RHC_OFFICE_DIGITAL_SIGN_ENVIRONMENT__",M={defaults:{bjca:{pin:""},deviceType:"client",edgePosition:D,plugin:{pin:"",usbKeyType:14},rsaMode:A,signatureType:C},signServer:{authSource:"Password",defaultLogin:"",defaultPassword:"",defaultServer:"",macAddress:"",token:"",usbKey:{checkCertificateBinding:!1,usbKeyType:14}}},I=t=>({bjca:{pin:t.bjca.pin},deviceType:t.deviceType,edgePosition:t.edgePosition,plugin:{pin:t.plugin.pin,usbKeyType:t.plugin.usbKeyType},rsaMode:t.rsaMode,signatureType:t.signatureType}),w=t=>({authSource:t.authSource,defaultLogin:t.defaultLogin,defaultPassword:t.defaultPassword,defaultServer:t.defaultServer,macAddress:t.macAddress,token:t.token,usbKey:{checkCertificateBinding:t.usbKey.checkCertificateBinding,usbKeyType:t.usbKey.usbKeyType}}),g=t=>({defaults:I(t.defaults),signServer:w(t.signServer)}),T=t=>({defaults:t.defaults?{...t.defaults,bjca:t.defaults.bjca?{...t.defaults.bjca}:void 0,plugin:t.defaults.plugin?{...t.defaults.plugin}:void 0}:void 0,signServer:t.signServer?{...t.signServer,usbKey:t.signServer.usbKey?{...t.signServer.usbKey}:void 0}:void 0}),he=(t,n)=>n?{bjca:{pin:n.bjca?.pin??t.bjca.pin},deviceType:n.deviceType??t.deviceType,edgePosition:n.edgePosition??t.edgePosition,plugin:{pin:n.plugin?.pin??t.plugin.pin,usbKeyType:n.plugin?.usbKeyType??t.plugin.usbKeyType},rsaMode:n.rsaMode??t.rsaMode,signatureType:n.signatureType??t.signatureType}:I(t),ge=(t,n)=>n?{authSource:n.authSource??t.authSource,defaultLogin:n.defaultLogin??t.defaultLogin,defaultPassword:n.defaultPassword??t.defaultPassword,defaultServer:n.defaultServer??t.defaultServer,macAddress:n.macAddress??t.macAddress,token:n.token??t.token,usbKey:{checkCertificateBinding:n.usbKey?.checkCertificateBinding??t.usbKey.checkCertificateBinding,usbKeyType:n.usbKey?.usbKeyType??t.usbKey.usbKeyType}}:w(t),O=(t,n)=>({defaults:he(t.defaults,n.defaults),signServer:ge(t.signServer,n.signServer)}),me=(t,n)=>{const e=t.defaults?.bjca||n.defaults?.bjca?{...t.defaults?.bjca,...n.defaults?.bjca}:void 0,i=t.defaults?.plugin||n.defaults?.plugin?{...t.defaults?.plugin,...n.defaults?.plugin}:void 0,r=t.signServer?.usbKey||n.signServer?.usbKey?{...t.signServer?.usbKey,...n.signServer?.usbKey}:void 0;return{defaults:t.defaults||n.defaults?{...t.defaults,...n.defaults,...e?{bjca:e}:{},...i?{plugin:i}:{}}:void 0,signServer:t.signServer||n.signServer?{...t.signServer,...n.signServer,...r?{usbKey:r}:{}}:void 0}},pe=()=>globalThis,b=()=>{const t=pe();return t[k]||(t[k]={current:g(M),defaults:g(M),overrides:{}}),t[k]},be=()=>b().current,Se=()=>{const t=b();return{current:g(t.current),defaults:g(t.defaults),overrides:T(t.overrides)}},fe=t=>{const n=b();return n.defaults=g(t),n.current=O(n.defaults,n.overrides),n.current},Re=t=>{const n=b();return n.current=g(t),n.overrides=T(t),n.current},ke=t=>{const n=b();return n.overrides=me(n.overrides,T(t)),n.current=O(n.current,t),n.current},Te=t=>{const n=b();return t&&(n.defaults=g(t)),n.overrides={},n.current=g(n.defaults),n.current},ye={EDGE_POSITION:D,RSA_MODE:A,SIGNATURE_TYPE:C},y=t=>{if(t.length!==0)return t.length===1?t[0]:t},u=(t,n,e)=>new Proxy({},{get:(i,r)=>{if(r==="then")return;if(typeof r=="symbol")return r===Symbol.toStringTag?t:void 0;const a=n[r];return a?(...s)=>{if(a.kind==="callbackRegister"){a.callback?.(e.callbacks,s);return}if(a.kind==="stateGetter")return a.state?.(e.state.snapshot(),s);const d=a.adapterMethod??r;if(a.kind==="query")return e.bridge.request(t,d,y(s));if(a.kind==="callbackQuery"){const h=s.find(m=>typeof m=="function"),c=s.filter(m=>typeof m!="function");e.bridge.request(t,d,y(c)).then(m=>{const Rt=a.mapCallbackResult?.(m)??[m];h?.(...Rt)}).catch(e.onAsyncError);return}const l=e.bridge.request(t,d,y(s)).catch(h=>{e.onAsyncError(h)});if(a.returnsResult)return l}:(...s)=>{const d=new Error(`${t}.${r} is not implemented by the SDK adapter.`);e.onAsyncError(d)}}}),ve=t=>typeof t=="object"&&t!==null&&!Array.isArray(t)&&"id"in t,_=t=>t.annotations?.filter(ve).map(n=>({...n}))??[],Ee=t=>{switch(t){case"select":case"pen":case"eraser":case"line":case"arrow":case"rectangle":case"circle":case"text-highlight":case"text-underline":case"text-strikethrough":case"text-squiggly":case"text-note":case"stamp":return t;case"none":default:return"none"}},Pe={addAnnotationEventCallback:{kind:"callbackRegister",callback:(t,n)=>{const e=n[0];typeof e=="function"&&t.annotationEvents.push(e)}},isInAnnotationMode:{kind:"stateGetter",state:t=>t.annotationEnabled},getAnnotationMode:{kind:"stateGetter",state:t=>Ee(t.annotationMode)},getAnnotations:{kind:"stateGetter",state:t=>_(t)},getAnnotationsCount:{kind:"stateGetter",state:t=>_(t).length},openAnnotationView:{kind:"command"},closeAnnotationView:{kind:"command"},saveAnnotations:{kind:"callbackQuery"},clearAnnotations:{kind:"command",returnsResult:!0},undoAnnotation:{kind:"command",returnsResult:!0},redoAnnotation:{kind:"command",returnsResult:!0},canUndoAnnotation:{kind:"query"},canRedoAnnotation:{kind:"query"},selectAnnotationTool:{kind:"command"},selectAnnotationStamp:{kind:"command"},getCustomStamps:{kind:"query"},addCustomTextStamp:{kind:"query"},addCustomImageStamp:{kind:"query"},setAnnotationPenColor:{kind:"command"},setAnnotationPenWidth:{kind:"command"},setAnnotationPenStyle:{kind:"command"}};class L{constructor(n){this.openAnnotationView=e=>this.adapter.openAnnotationView(e),this.closeAnnotationView=()=>this.adapter.closeAnnotationView(),this.saveAnnotations=e=>this.adapter.saveAnnotations(e),this.clearAnnotations=()=>this.adapter.clearAnnotations(),this.undoAnnotation=()=>this.adapter.undoAnnotation(),this.redoAnnotation=()=>this.adapter.redoAnnotation(),this.canUndoAnnotation=()=>this.adapter.canUndoAnnotation(),this.canRedoAnnotation=()=>this.adapter.canRedoAnnotation(),this.selectAnnotationTool=(e,i)=>this.adapter.selectAnnotationTool(e,i),this.selectAnnotationStamp=e=>this.adapter.selectAnnotationStamp(e),this.getCustomStamps=()=>this.adapter.getCustomStamps(),this.addCustomTextStamp=e=>this.adapter.addCustomTextStamp(e),this.addCustomImageStamp=e=>this.adapter.addCustomImageStamp(e),this.setAnnotationPenColor=e=>this.adapter.setAnnotationPenColor(e),this.setAnnotationPenWidth=e=>this.adapter.setAnnotationPenWidth(e),this.setAnnotationPenStyle=e=>this.adapter.setAnnotationPenStyle(e),this.isInAnnotationMode=()=>this.adapter.isInAnnotationMode(),this.getAnnotationMode=()=>this.adapter.getAnnotationMode(),this.getAnnotations=()=>this.adapter.getAnnotations(),this.getAnnotationsCount=()=>this.adapter.getAnnotationsCount(),this.addAnnotationEventCallback=e=>this.adapter.addAnnotationEventCallback(e),this.adapter=u("annotation",Pe,n)}}const De={configSecurityProvider:{kind:"command"},getSecurityProviders:{kind:"query"}};class F{constructor(n){this.configSecurityProvider=e=>this.adapter.configSecurityProvider(e),this.getSecurityProviders=()=>this.adapter.getSecurityProviders(),this.adapter=u("crypto",De,n)}}const U=t=>t.digitalSignatures?[...t.digitalSignatures]:[],Ce={addDigitalSignatureRetrieveCallback:{kind:"callbackRegister",callback:(t,n)=>{const e=n[0];typeof e=="function"&&t.digitalSignatureRetrieve.push(e)}},addDigitalSignatureParseCallback:{kind:"callbackRegister",callback:(t,n)=>{const e=n[0];typeof e=="function"&&t.digitalSignatureParse.push(e)}},addDigitalSignCallback:{kind:"callbackRegister",callback:(t,n)=>{const e=n[0];typeof e=="function"&&t.digitalSign.push(e)}},setCryptoProvider:{kind:"command"},setSealSource:{kind:"command"},setDefaultStampPassword:{kind:"command"},setDefaultSealPassword:{kind:"command"},setDefaultKeystorePassword:{kind:"command"},setDefaultUSBKeyPassword:{kind:"command"},setupExternalSealServer:{kind:"command"},setDigitalSignOptions:{kind:"command"},setExternalDigitalSignOptions:{kind:"command"},setPDFDigitalSignCaptionOptions:{kind:"command"},addDigitalSignature:{kind:"callbackQuery"},addDigitalSignatureBySelectedSearchHighlight:{kind:"command"},listDigitalSignatures:{kind:"callbackQuery"},getDigitalSignatures:{kind:"stateGetter",state:t=>U(t)},getDigitalSignaturesCount:{kind:"stateGetter",state:t=>U(t).length},enableDigitalSignatureInfoView:{kind:"command"},enableDigitalSignatureRevocation:{kind:"command"}};class N{constructor(n){this.addDigitalSignatureRetrieveCallback=e=>this.adapter.addDigitalSignatureRetrieveCallback(e),this.addDigitalSignatureParseCallback=e=>this.adapter.addDigitalSignatureParseCallback(e),this.setCryptoProvider=(e,i,r)=>this.adapter.setCryptoProvider(e,i,r),this.setSealSource=e=>this.adapter.setSealSource(e),this.setDefaultStampPassword=e=>this.adapter.setDefaultStampPassword(e),this.setDefaultSealPassword=e=>this.adapter.setDefaultSealPassword(e),this.setDefaultKeystorePassword=e=>this.adapter.setDefaultKeystorePassword(e),this.setDefaultUSBKeyPassword=e=>this.adapter.setDefaultUSBKeyPassword(e),this.addDigitalSignCallback=e=>this.adapter.addDigitalSignCallback(e),this.setupExternalSealServer=e=>this.adapter.setupExternalSealServer(e),this.setDigitalSignOptions=e=>this.adapter.setDigitalSignOptions(e),this.setExternalDigitalSignOptions=e=>this.adapter.setExternalDigitalSignOptions(e),this.setPDFDigitalSignCaptionOptions=e=>this.adapter.setPDFDigitalSignCaptionOptions(e),this.addDigitalSignature=(e,i)=>this.adapter.addDigitalSignature(e,i),this.addDigitalSignatureBySelectedSearchHighlight=e=>this.adapter.addDigitalSignatureBySelectedSearchHighlight(e),this.listDigitalSignatures=e=>this.adapter.listDigitalSignatures(e),this.getDigitalSignatures=()=>this.adapter.getDigitalSignatures(),this.getDigitalSignaturesCount=()=>this.adapter.getDigitalSignaturesCount(),this.enableDigitalSignatureInfoView=e=>this.adapter.enableDigitalSignatureInfoView(e),this.enableDigitalSignatureRevocation=e=>this.adapter.enableDigitalSignatureRevocation(e),this.adapter=u("digitalSign",Ce,n)}}const Ae="rhc-office.editor-adapter",Me=1,Ie="__RHC_OFFICE_EDITOR_ADAPTER__",B="rhcOfficeAdapterReady",K="rhcOfficeAdapterEvent",V="data-rhc-office-reader-id",we={addDocumentOpenedCallback:{kind:"callbackRegister",callback:(t,n)=>{const e=n[0];typeof e=="function"&&t.documentOpened.push(e)}},addDocumentSavedCallback:{kind:"callbackRegister",callback:(t,n)=>{const e=n[0];typeof e=="function"&&t.documentSaved.push(e)}},addDocumentClosedCallback:{kind:"callbackRegister",callback:(t,n)=>{const e=n[0];typeof e=="function"&&t.documentClosed.push(e)}},openPDFDocument:{kind:"callbackQuery",adapterMethod:"open"},openPdfDocument:{kind:"callbackQuery",adapterMethod:"open"},openOFDDocument:{kind:"callbackQuery",adapterMethod:"open"},openOfdDocument:{kind:"callbackQuery",adapterMethod:"open"},openOfficeDocument:{kind:"callbackQuery",adapterMethod:"open"},openImageDocument:{kind:"callbackQuery",adapterMethod:"open"},openTextDocument:{kind:"callbackQuery",adapterMethod:"open"},openFromLocalStorage:{kind:"command"},setUploadUrl:{kind:"command"},save:{kind:"callbackQuery"},saveAs:{kind:"query"},getDocumentContent:{kind:"callbackQuery",mapCallbackResult:t=>[t]},closeDocument:{kind:"callbackQuery"},isDocumentOpened:{kind:"stateGetter",state:t=>t.documentOpened},isDocumentModified:{kind:"stateGetter",state:t=>t.documentModified},print:{kind:"command"},createPreview:{kind:"command"}};class G{constructor(n){this.context=n,this.addDocumentOpenedCallback=e=>this.adapter.addDocumentOpenedCallback(e),this.addDocumentSavedCallback=e=>this.adapter.addDocumentSavedCallback(e),this.addDocumentClosedCallback=e=>this.adapter.addDocumentClosedCallback(e),this.openPDFDocument=(e,i)=>this.adapter.openPDFDocument(e,i),this.openPdfDocument=(e,i)=>this.adapter.openPdfDocument(e,i),this.openOFDDocument=(e,i)=>this.adapter.openOFDDocument(e,i),this.openOfdDocument=(e,i)=>this.adapter.openOfdDocument(e,i),this.openOfficeDocument=(e,i)=>this.adapter.openOfficeDocument(e,i),this.openImageDocument=(e,i)=>this.adapter.openImageDocument(e,i),this.openTextDocument=(e,i)=>this.adapter.openTextDocument(e,i),this.openFromLocalStorage=()=>this.adapter.openFromLocalStorage(),this.setUploadUrl=(e,i)=>this.adapter.setUploadUrl(e,i),this.save=(e,i,r)=>this.adapter.save(e,i,r),this.saveAs=e=>{const i=this.context.bridge.getReaderId();if(!i)return Promise.resolve({success:!1,action:"save-as",filename:e?.filename,error:"Reader is not mounted or does not expose saveAs."});const r=document.querySelector(`[${V}="${i}"]`);return typeof r?.saveAs=="function"?r.saveAs(e):this.adapter.saveAs(e)},this.getDocumentContent=e=>this.adapter.getDocumentContent(e),this.closeDocument=(e,i,r)=>this.adapter.closeDocument(e,i,r),this.isDocumentOpened=()=>this.adapter.isDocumentOpened(),this.isDocumentModified=()=>this.adapter.isDocumentModified(),this.print=()=>this.adapter.print(),this.createPreview=(e,i)=>this.adapter.createPreview(e,i),this.adapter=u("document",we,n)}}const Oe={clearFind:{kind:"command"},findNext:{kind:"command"},findPrevious:{kind:"command"}};class q{constructor(n){this.clearFind=()=>this.adapter.clearFind(),this.findNext=e=>this.adapter.findNext(e),this.findPrevious=e=>this.adapter.findPrevious(e),this.adapter=u("find",Oe,n)}}const _e={configFileUpload:{kind:"command"},setHttpHeaders:{kind:"command"},setHttpFormFields:{kind:"command"}};class x{constructor(n){this.configFileUpload=e=>this.adapter.configFileUpload(e),this.setHttpHeaders=e=>this.adapter.setHttpHeaders(e),this.setHttpFormFields=e=>this.adapter.setHttpFormFields(e),this.adapter=u("networking",_e,n)}}const Le=()=>({clearContent:{kind:"command",returnsResult:!0},commit:{kind:"command",returnsResult:!0},deletePages:{kind:"command",returnsResult:!0},duplicatePages:{kind:"command",returnsResult:!0},execute:{kind:"command",returnsResult:!0},extractPages:{kind:"command",returnsResult:!0},getSnapshot:{kind:"query"},importDocument:{kind:"command",returnsResult:!0},moveAfter:{kind:"command",returnsResult:!0},moveBefore:{kind:"command",returnsResult:!0},newPage:{kind:"command",returnsResult:!0},rotateLeft:{kind:"command",returnsResult:!0},rotateRight:{kind:"command",returnsResult:!0},undo:{kind:"command",returnsResult:!0}}),Fe=t=>t instanceof Uint8Array?t:new Uint8Array(t);class H{constructor(n){this.getSnapshot=()=>this.adapter.getSnapshot(),this.execute=e=>this.adapter.execute(e),this.newPage=(e,i)=>this.adapter.newPage(e,i),this.deletePages=e=>this.adapter.deletePages(e),this.duplicatePages=(e,i)=>this.adapter.duplicatePages(e,i),this.rotateLeft=e=>this.adapter.rotateLeft(e),this.rotateRight=e=>this.adapter.rotateRight(e),this.clearContent=e=>this.adapter.clearContent(e),this.moveBefore=(e,i)=>this.adapter.moveBefore(e,i),this.moveAfter=(e,i)=>this.adapter.moveAfter(e,i),this.importDocument=(e,i)=>this.adapter.importDocument(Fe(e),i),this.extractPages=(e,i)=>this.adapter.extractPages(e,i),this.undo=()=>this.adapter.undo(),this.commit=()=>this.adapter.commit(),this.adapter=u("pageArrange",Le(),n)}}const Ue=t=>({addPageChangeCallback:{kind:"callbackRegister",callback:(n,e)=>{const i=e[0];typeof i=="function"&&n.pageChange.push(i)}},addPageModeChangeCallback:{kind:"callbackRegister",callback:(n,e)=>{const i=e[0];typeof i=="function"&&n.pageModeChange.push(i)}},getPageCount:{kind:"callbackRegister",callback:(n,e)=>{const i=e[0];typeof i=="function"&&i(t.state.snapshot().pageCount)}},getPageIndex:{kind:"callbackRegister",callback:(n,e)=>{const i=e[0];typeof i=="function"&&i(t.state.snapshot().pageIndex)}},setSinglePageViewMode:{kind:"command"},setTwoPagesViewMode:{kind:"command"},setPageScrollVertical:{kind:"command"},setPageScrollHorizontal:{kind:"command"},setPageCursorPanDrag:{kind:"command"},setPageCursorTextSelect:{kind:"command"},rotateCW:{kind:"command"},rotateCCW:{kind:"command"},autoFitPage:{kind:"command"},fitPageSize:{kind:"command"},fitPageWidth:{kind:"command"},fitPageHeight:{kind:"command"},increasePageScale:{kind:"command"},decreasePageScale:{kind:"command"},setPageScale:{kind:"command"},setPageBlendColor:{kind:"command"},gotoPage:{kind:"command"},gotoNextPage:{kind:"command"},gotoPreviousPage:{kind:"command"},rotatePage:{kind:"command"}});class z{constructor(n){this.addPageChangeCallback=e=>this.adapter.addPageChangeCallback(e),this.addPageModeChangeCallback=e=>this.adapter.addPageModeChangeCallback(e),this.getPageCount=e=>this.adapter.getPageCount(e),this.getPageIndex=e=>this.adapter.getPageIndex(e),this.setSinglePageViewMode=()=>this.adapter.setSinglePageViewMode(),this.setTwoPagesViewMode=()=>this.adapter.setTwoPagesViewMode(),this.setPageScrollVertical=()=>this.adapter.setPageScrollVertical(),this.setPageScrollHorizontal=()=>this.adapter.setPageScrollHorizontal(),this.setPageCursorPanDrag=()=>this.adapter.setPageCursorPanDrag(),this.setPageCursorTextSelect=()=>this.adapter.setPageCursorTextSelect(),this.rotateCW=()=>this.adapter.rotateCW(),this.rotateCCW=()=>this.adapter.rotateCCW(),this.autoFitPage=()=>this.adapter.autoFitPage(),this.fitPageSize=()=>this.adapter.fitPageSize(),this.fitPageWidth=()=>this.adapter.fitPageWidth(),this.fitPageHeight=()=>this.adapter.fitPageHeight(),this.increasePageScale=()=>this.adapter.increasePageScale(),this.decreasePageScale=()=>this.adapter.decreasePageScale(),this.setPageScale=e=>this.adapter.setPageScale(e),this.setPageBlendColor=(e,i,r,a)=>this.adapter.setPageBlendColor(e,i,r,a),this.gotoPage=(e,i,r)=>this.adapter.gotoPage(e,i,r),this.gotoNextPage=()=>this.adapter.gotoNextPage(),this.gotoPreviousPage=()=>this.adapter.gotoPreviousPage(),this.rotatePage=e=>this.adapter.rotatePage(e),this.adapter=u("page",Ue(n),n)}}const Ne={open:{kind:"command"},setFormFieldValue:{kind:"command"},setFormFieldReadonly:{kind:"command"},commit:{kind:"callbackQuery",mapCallbackResult:()=>[]},clear:{kind:"callbackQuery",mapCallbackResult:()=>[]},toKeyValue:{kind:"callbackQuery",mapCallbackResult:t=>[Array.isArray(t)?t:[]]}};class Q{constructor(n){this.open=()=>this.adapter.open(),this.setFormFieldValue=(e,i)=>this.adapter.setFormFieldValue(e,i),this.setFormFieldReadonly=(e,i)=>this.adapter.setFormFieldReadonly(e,i),this.commit=e=>this.adapter.commit(e),this.clear=e=>this.adapter.clear(e),this.toKeyValue=e=>this.adapter.toKeyValue(e),this.adapter=u("pdfFormFiller",Ne,n)}}const Be=/\s*,\s*/,Ke=/\s*-\s*/,v=t=>{const n=Number.parseInt(t.trim(),10);return!Number.isFinite(n)||n<=0?null:n},Ve=t=>{const n=t.split(Ke);if(n.length===1){const r=v(n[0]??"");return r?[r]:[]}const e=v(n[0]??""),i=v(n[1]??"");return!e||!i||i<e?[]:Array.from({length:i-e+1},(r,a)=>e+a)},Ge=t=>t?t.split(Be).flatMap(e=>Ve(e)).filter((e,i,r)=>r.indexOf(e)===i):[];class j{constructor(n,e,i){this.setFieldName=r=>{this.key=r},this.setFieldValue=r=>{this.value=r},this.setDescription=r=>{this.description=r},this.key=n,this.value=e,this.description=i}}class W{constructor(){this.fields=[],this.keywordTextFixedPositions=void 0,this.keywordOffsetX=0,this.keywordOffsetY=0,this.bookmarkOffsetX=0,this.bookmarkOffsetY=0,this.printMargin=0,this.grayscaleSealImage=!1,this.signType=0,this.sealPosition=0,this.getSignType=()=>this.signType,this.setSignType=n=>{this.signType=n},this.isCrossPageSideSign=()=>this.signType===2||this.signType===3,this.getSealPosition=()=>this.sealPosition,this.setSignOnPageSides=n=>{n>=0&&n<=3&&(this.signType=n)},this.setSignPositionOnPageSides=n=>{this.sealPosition=n},this.setPageRange=n=>{this.pageRange=n},this.getPageRange=()=>this.pageRange,this.getPageRanges=()=>Ge(this.pageRange),this.setSignUserData=n=>{this.signUserData=n},this.setPrintMargin=n=>{this.printMargin=n},this.getPrintMargin=()=>this.printMargin??0,this.setSignReason=n=>{this.signReason=n},this.getSignReason=()=>this.signReason,this.setSignLocation=n=>{this.signLocation=n},this.getSignLocation=()=>this.signLocation,this.setDefaultStampPassword=n=>{this.defaultStampPassword=n}}}const qe={getSecuritySettings:{kind:"query"},isSecuritySettingsLocalEditable:{kind:"query"},setSecuritySettingsLocalEditable:{kind:"query"},setSecuritySettings:{kind:"query"},openSecuritySettingsDialog:{kind:"command"}};class Y{constructor(n){this.getSecuritySettings=()=>this.adapter.getSecuritySettings(),this.setSecuritySettings=e=>this.adapter.setSecuritySettings(e),this.isSecuritySettingsLocalEditable=()=>this.adapter.isSecuritySettingsLocalEditable(),this.setSecuritySettingsLocalEditable=e=>this.adapter.setSecuritySettingsLocalEditable(e),this.openSecuritySettingsDialog=()=>this.adapter.openSecuritySettingsDialog(),this.adapter=u("security",qe,n)}}const xe={setSignServer:{kind:"command"},addSignServerAuthCallback:{kind:"callbackRegister",callback:(t,n)=>{const e=n[0];typeof e=="function"&&t.signServerAuth.push(e)}},setSignServerDefaultLogin:{kind:"command"},setDefaultSignServerLogin:{kind:"command"},setSignServerDefaultPassword:{kind:"command"},setDefaultSignServerPassword:{kind:"command"},loginNTKOSignServer:{kind:"command"},loginSignServer:{kind:"callbackQuery"},signOutSignServer:{kind:"command"},isAuthenticatedOnSignServer:{kind:"stateGetter",state:()=>!1},setSignServerLoginFromUSBKey:{kind:"command"},setUserAuthSource:{kind:"command"}};class ${constructor(n){this.setSignServer=e=>this.adapter.setSignServer(e),this.addSignServerAuthCallback=e=>this.adapter.addSignServerAuthCallback(e),this.setSignServerDefaultLogin=e=>this.adapter.setSignServerDefaultLogin(e),this.setDefaultSignServerLogin=e=>this.adapter.setDefaultSignServerLogin(e),this.setSignServerDefaultPassword=e=>this.adapter.setSignServerDefaultPassword(e),this.setDefaultSignServerPassword=e=>this.adapter.setDefaultSignServerPassword(e),this.loginNTKOSignServer=(e,i,r)=>this.adapter.loginNTKOSignServer(e,i,r),this.loginSignServer=(e,i,r,a)=>this.adapter.loginSignServer(e,i,r,a),this.signOutSignServer=()=>this.adapter.signOutSignServer(),this.isAuthenticatedOnSignServer=()=>this.adapter.isAuthenticatedOnSignServer(),this.setSignServerLoginFromUSBKey=(e,i)=>this.adapter.setSignServerLoginFromUSBKey(e,i),this.setUserAuthSource=e=>this.adapter.setUserAuthSource(e),this.adapter=u("signServer",xe,n)}}const He={createPDF417Barcode:{kind:"command"}};class X{constructor(n){this.createPDF417Barcode=(e,i,r,a,s,d,l)=>this.adapter.createPDF417Barcode(e,i,r,a,s,d,l),this.adapter=u("symbology",He,n)}}const ze={setup:{kind:"command"},create:{kind:"command"},getMarkups:{kind:"callbackQuery"},removeMarkup:{kind:"command"},removeAllMarkups:{kind:"command"},sign:{kind:"callbackQuery"}};class J{constructor(n){this.setup=e=>this.adapter.setup(e),this.create=e=>this.adapter.create(e),this.getMarkups=e=>this.adapter.getMarkups(e),this.removeMarkup=(e,i)=>this.adapter.removeMarkup(e,i),this.removeAllMarkups=e=>this.adapter.removeAllMarkups(e),this.sign=e=>this.adapter.sign(e),this.adapter=u("templateSign",ze,n)}}const Qe=new Set([2,5]),je=t=>({showToolbarMenu:{kind:"command"},hideToolbarMenu:{kind:"command"},setupToolbarMenu:{kind:"command"},showToolbarMenuItem:{kind:"command"},hideToolbarMenuItem:{kind:"command"},setupRibbonMenu:{kind:"command"},setupRibbonMenuItem:{kind:"command"},setupRibbonTitleBar:{kind:"command"},showRibbonMenu:{kind:"command"},hideRibbonMenu:{kind:"command"},showRibbonMenuItem:{kind:"command"},hideRibbonMenuItem:{kind:"command"},showRibbonTitleBar:{kind:"command"},hideRibbonTitleBar:{kind:"command"},showRibbonTabs:{kind:"command"},hideRibbonTabs:{kind:"command"},selectRibbonMenu:{kind:"command"},setupRibbonMenuTab:{kind:"command"},showRibbonMenuTab:{kind:"command"},hideRibbonMenuTab:{kind:"command"},enableRibbonMenuTab:{kind:"command"},disableRibbonMenuTab:{kind:"command"},setupRibbonMenuItemState:{kind:"command"},enableRibbonMenuItem:{kind:"command"},disableRibbonMenuItem:{kind:"command"},setRibbonMenuButtonStyle:{kind:"command"},setWatermark:{kind:"command"},setCompactMode:{kind:"command"},setRulerVisible:{kind:"command"},setStatusBarVisible:{kind:"command"},toggleSidebar:{kind:"command"},enterBookViewMode:{kind:"callbackQuery",mapCallbackResult:()=>[]},exitBookViewMode:{kind:"command"},isBookViewActivated:{kind:"stateGetter",state:()=>Qe.has(t.state.snapshot().pageMode)},requestFullScreen:{kind:"command"},exitFullScreen:{kind:"command"},invalidateView:{kind:"command"}});class Z{constructor(n){this.showToolbarMenu=()=>(this.warnLegacyRibbonMethod("showToolbarMenu","showRibbonMenu"),this.showRibbonMenu()),this.hideToolbarMenu=()=>(this.warnLegacyRibbonMethod("hideToolbarMenu","hideRibbonMenu"),this.hideRibbonMenu()),this.setupToolbarMenu=e=>(this.warnLegacyRibbonMethod("setupToolbarMenu","showRibbonMenu/hideRibbonMenu/setupRibbonMenuTab"),this.setupRibbonMenu(e)),this.showToolbarMenuItem=e=>(this.warnLegacyRibbonMethod("showToolbarMenuItem","showRibbonMenuItem"),this.showRibbonMenuItem(e)),this.hideToolbarMenuItem=e=>(this.warnLegacyRibbonMethod("hideToolbarMenuItem","hideRibbonMenuItem"),this.hideRibbonMenuItem(e)),this.setupRibbonMenu=e=>(this.warnLegacyRibbonMethod("setupRibbonMenu","showRibbonMenu/hideRibbonMenu/setupRibbonMenuTab"),typeof e=="boolean"?e?this.showRibbonMenu():this.hideRibbonMenu():this.setupRibbonMenuTab(e.menu,{visible:e.visible})),this.setupRibbonMenuItem=(e,i,r)=>(this.warnLegacyRibbonMethod("setupRibbonMenuItem","setupRibbonMenuItemState"),this.setupRibbonMenuItemState(e,{visible:i,config:r})),this.setupRibbonTitleBar=e=>(this.warnLegacyRibbonMethod("setupRibbonTitleBar","showRibbonTabs/hideRibbonTabs"),e?this.showRibbonTabs():this.hideRibbonTabs()),this.showRibbonMenu=()=>this.adapter.showRibbonMenu(),this.hideRibbonMenu=()=>this.adapter.hideRibbonMenu(),this.showRibbonMenuItem=(e,i)=>(this.warnLegacyRibbonMethod("showRibbonMenuItem","setupRibbonMenuItemState"),this.setupRibbonMenuItemState(e,{visible:!0,config:i})),this.hideRibbonMenuItem=(e,i)=>(this.warnLegacyRibbonMethod("hideRibbonMenuItem","setupRibbonMenuItemState"),this.setupRibbonMenuItemState(e,{visible:!1,config:i})),this.showRibbonTitleBar=()=>(this.warnLegacyRibbonMethod("showRibbonTitleBar","showRibbonTabs"),this.showRibbonTabs()),this.hideRibbonTitleBar=()=>(this.warnLegacyRibbonMethod("hideRibbonTitleBar","hideRibbonTabs"),this.hideRibbonTabs()),this.showRibbonTabs=()=>this.adapter.showRibbonTabs(),this.hideRibbonTabs=()=>this.adapter.hideRibbonTabs(),this.selectRibbonMenu=e=>this.adapter.selectRibbonMenu(e),this.setupRibbonMenuTab=(e,i)=>this.adapter.setupRibbonMenuTab(e,i),this.showRibbonMenuTab=e=>this.adapter.showRibbonMenuTab(e),this.hideRibbonMenuTab=e=>this.adapter.hideRibbonMenuTab(e),this.enableRibbonMenuTab=e=>this.adapter.enableRibbonMenuTab(e),this.disableRibbonMenuTab=e=>this.adapter.disableRibbonMenuTab(e),this.setupRibbonMenuItemState=(e,i)=>this.adapter.setupRibbonMenuItemState(e,i),this.enableRibbonMenuItem=(e,i)=>this.setupRibbonMenuItemState(e,{disabled:!1,config:i}),this.disableRibbonMenuItem=(e,i)=>this.setupRibbonMenuItemState(e,{disabled:!0,config:i}),this.setRibbonMenuButtonStyle=(e,i)=>this.adapter.setRibbonMenuButtonStyle(e,i),this.setWatermark=e=>this.adapter.setWatermark(e),this.setCompactMode=e=>this.adapter.setCompactMode(e),this.setRulerVisible=e=>this.adapter.setRulerVisible(e),this.setStatusBarVisible=e=>this.adapter.setStatusBarVisible(e),this.toggleSidebar=()=>this.adapter.toggleSidebar(),this.enterBookViewMode=e=>this.adapter.enterBookViewMode(e),this.exitBookViewMode=()=>this.adapter.exitBookViewMode(),this.isBookViewActivated=()=>this.adapter.isBookViewActivated(),this.requestFullScreen=()=>this.adapter.requestFullScreen(),this.exitFullScreen=()=>this.adapter.exitFullScreen(),this.invalidateView=()=>this.adapter.invalidateView(),this.adapter=u("ui",je(n),n)}warnLegacyRibbonMethod(n,e){console.warn(`[RHC Office SDK] ui.${n} is deprecated. Use ui.${e} instead.`)}}const We=t=>{if(!t)return;const n=t.trim().toLowerCase();if(n==="application")return"auto";if(n==="light"||n==="dark"||n==="high-contrast"||n==="auto")return n},ee=t=>{const n=new URL(t,globalThis.location?.href??"http://localhost/");return n.hash="",n.pathname.endsWith("/")||(n.pathname=`${n.pathname}/`),n.toString()},Ye=t=>new URL("editors.bootstrap.js",t).toString(),$e=(t,n)=>{const e=ee(t);return{...n,appUrl:e,theme:We(n.theme)}},S="rhc-office-editor",E="__RHC_OFFICE_SDK_READER_LOADER__",te=()=>{const t=globalThis;return t[E]||(t[E]={activeAppUrl:null,loadPromises:new Map}),t[E]},Xe=t=>Array.from(document.querySelectorAll("script")).find(n=>n.src===t)??null;class ne extends Error{constructor(n){super(`Failed to load reader bootstrap script: ${n}`),this.name="ReaderScriptLoadError"}}class Je extends Error{constructor(n,e){super(`Reader Web Component "${S}" is already bound to ${n} and cannot be reloaded from ${e}.`),this.name="ReaderSourceConflictError"}}const ie=t=>{const n=te();if(n.activeAppUrl&&n.activeAppUrl!==t)throw new Je(n.activeAppUrl,t)},Ze=t=>{const n=te();ie(t);const e=n.loadPromises.get(t);if(e)return e;if(globalThis.customElements?.get(S)){n.activeAppUrl=t;const s=Promise.resolve();return n.loadPromises.set(t,s),s}const i=Ye(t),r=Xe(i);n.activeAppUrl=t;const a=new Promise((s,d)=>{const l=m=>{m?.remove(),d(new ne(i))},h=()=>{globalThis.customElements.whenDefined(S).then(()=>{s()}).catch(d)};if(r){if(globalThis.customElements?.get(S)){s();return}r.addEventListener("error",()=>d(new ne(i)),{once:!0}),h();return}const c=document.createElement("script");c.src=i,c.async=!0,c.dataset.rhcOfficeSdkReader=t,c.addEventListener("load",h,{once:!0}),c.addEventListener("error",()=>l(c),{once:!0}),document.head.appendChild(c)}).catch(s=>{throw n.loadPromises.delete(t),!globalThis.customElements?.get(S)&&n.activeAppUrl===t&&(n.activeAppUrl=null),s});return n.loadPromises.set(t,a),a},et=5e3,tt=5e3,nt=()=>{const t=globalThis.crypto;return typeof t?.randomUUID=="function"?t.randomUUID():`adapter-${Date.now()}-${Math.random().toString(36).slice(2)}`},f=()=>globalThis[Ie];class it extends Error{constructor(n,e,i){super(e),this.name="ReaderBridgeError",this.code=n,this.details=i}}class rt{constructor(n){this.readerId=null,this.readyTimeoutMs=n?.readyTimeoutMs??tt,this.requestTimeoutMs=n?.requestTimeoutMs??et}configureTimeouts(n){this.readyTimeoutMs=n?.readyTimeoutMs??this.readyTimeoutMs,this.requestTimeoutMs=n?.requestTimeoutMs??this.requestTimeoutMs}setReaderId(n){this.readerId=n}getReaderId(){return this.readerId}async request(n,e,i,r){const a=await this.requestRaw(n,e,i,r);if(a.ok)return a.result;throw new it(a.error.code,a.error.message,a.error.details)}async requestRaw(n,e,i,r){if(!this.readerId)return{ok:!1,requestId:"",error:{code:"READER_NOT_READY",message:"Reader is not mounted."}};const a=await this.waitForAdapter(this.readerId,r?.timeoutMs);if(!a)return{ok:!1,requestId:"",error:{code:"ADAPTER_UNAVAILABLE",message:"Editor adapter is not available."}};const s={protocol:Ae,version:Me,requestId:nt(),readerId:this.readerId,tool:n,method:e,params:i};return this.withTimeout(a.request(s),s.requestId,r?.timeoutMs??this.requestTimeoutMs)}getCapabilities(){return this.readerId?f()?.getCapabilities(this.readerId)??null:null}async waitForReady(n){return this.readerId?!!await this.waitForAdapter(this.readerId,n?.timeoutMs):!1}async waitForAdapter(n,e=this.readyTimeoutMs){const i=f();return i?.getCapabilities(n)?i:new Promise(r=>{let a;const s=()=>{a&&clearTimeout(a),globalThis.removeEventListener(B,d)},d=l=>{if((l instanceof CustomEvent?l.detail:void 0)?.readerId!==n)return;const c=f();s(),r(c??null)};globalThis.addEventListener(B,d),a=setTimeout(()=>{s(),r(f()?.getCapabilities(n)?f():null)},e)})}async withTimeout(n,e,i){return new Promise(r=>{const a=setTimeout(()=>{r({ok:!1,requestId:e,error:{code:"TIMEOUT",message:`Editor adapter request timed out after ${i}ms.`}})},i);n.then(s=>r(s)).catch(s=>{r({ok:!1,requestId:e,error:{code:"EXECUTION_FAILED",message:s instanceof Error?s.message:String(s)}})}).finally(()=>{clearTimeout(a)})})}}const re={annotationEnabled:!1,documentModified:!1,documentOpened:!1,pageCount:0,pageIndex:1,pageMode:0,zoomLevel:100};class at{constructor(){this.state={...re}}reset(){this.state={...re}}update(n){n&&(this.state={...this.state,...n,annotations:n.annotations?[...n.annotations]:this.state.annotations,digitalSignatures:n.digitalSignatures?[...n.digitalSignatures]:this.state.digitalSignatures})}setDocumentOpened(n){this.state={...this.state,documentOpened:n}}snapshot(){return{...this.state,annotations:this.state.annotations?[...this.state.annotations]:void 0,digitalSignatures:this.state.digitalSignatures?[...this.state.digitalSignatures]:void 0}}}const st=t=>typeof t=="object"&&t!==null&&!Array.isArray(t)?t:void 0,ae=t=>typeof t=="object"&&t!==null&&!Array.isArray(t),se=t=>{if(!ae(t))return;const n={};return typeof t.currentPage=="number"&&(n.currentPage=t.currentPage),typeof t.documentType=="string"&&(n.documentType=t.documentType),typeof t.totalPages=="number"?n.totalPages=t.totalPages:typeof t.pageCount=="number"&&(n.totalPages=t.pageCount),typeof t.zoomLevel=="number"&&(n.zoomLevel=t.zoomLevel),Object.keys(n).length>0?n:void 0},ot=t=>{if(!ae(t))return{success:!0,status:"ok"};const n=se(t.state),e=se(t),i=typeof t.error=="string"?t.error:void 0,r=typeof t.success=="boolean"?t.success:!i,a=typeof t.status=="string"?t.status:r?"ok":"error";return{success:r,status:a,error:i,state:n??e}};class dt{constructor(){this.annotationEvents=[],this.annotationPersist=[],this.annotationRetrieve=[],this.digitalAnnotationRetrieve=[],this.digitalSign=[],this.digitalSignatureParse=[],this.digitalSignatureRetrieve=[],this.documentClosed=[],this.documentOpened=[],this.documentSaved=[],this.pageChange=[],this.pageModeChange=[],this.signServerAuth=[]}emit(n,e){switch(n){case"documentOpened":case"documentLoaded":{const i=ot(e);this.documentOpened.forEach(r=>r(i.status??"ok",i.error??"",i));return}case"documentSaved":this.documentSaved.forEach(i=>i(e));return;case"documentClosed":this.documentClosed.forEach(i=>i(e));return;case"pageChange":{const i=e;this.pageChange.forEach(r=>r(i.pageIndex??1,i.pageCount??0));return}case"pageModeChange":{const i=e;this.pageModeChange.forEach(r=>r(i.pageMode??0));return}case"annotationEvent":{const i=e;this.annotationEvents.forEach(r=>r(i.event??"annotationEvent",st(i.payload)));return}case"annotationPersist":this.annotationPersist.forEach(i=>i(e));return;case"annotationRetrieve":this.annotationRetrieve.forEach(i=>i(e));return;case"digitalAnnotationRetrieve":this.digitalAnnotationRetrieve.forEach(i=>i(Array.isArray(e)?e:[]));return;case"digitalSign":this.digitalSign.forEach(i=>i(e));return;case"digitalSignatureRetrieve":this.digitalSignatureRetrieve.forEach(i=>i(Array.isArray(e)?e:[]));return;case"digitalSignatureParse":this.digitalSignatureParse.forEach(i=>i(Array.isArray(e)?e:[]));return;case"signServerAuth":this.signServerAuth.forEach(i=>i(e));return;default:return}}}const R="__RHC_OFFICE_READER_RUNTIME__",ut="__rhcOfficeReaderRuntimeConfig",lt=["documentLoaded","documentStateChange","documentError"],ct="readerReady",ht="readerUnload",P="readerError",gt=()=>typeof globalThis.crypto?.randomUUID=="function"?globalThis.crypto.randomUUID():`rhc-reader-${Date.now()}-${Math.random().toString(36).slice(2)}`,oe=(t,n)=>({appUrl:n?.appUrl??null,configuration:n,element:t}),mt=(t,n)=>{if(!t)return;const e=typeof t=="string"?t.trim():t.userName.trim();if(!e)return;const i=n==null?"":String(n).trim(),r=typeof t=="string"||t.userId===void 0||t.userId===null?"":String(t.userId).trim(),a=i||r;return{sessionUser:e,...a?{sessionUserId:a}:{}}},pt=t=>{if(typeof t=="string"){const n=document.getElementById(t);if(!n)throw new Error(`Reader container "${t}" was not found.`);if(!(n instanceof HTMLDivElement))throw new Error(`Reader container "${t}" must be a div element.`);return n}if(!(t instanceof HTMLDivElement))throw new Error("Reader container must be a div element.");return t},bt=()=>{const t=typeof globalThis.matchMedia=="function";return(t?globalThis.matchMedia("(prefers-contrast: more)").matches:!1)?"high-contrast":(t?globalThis.matchMedia("(prefers-color-scheme: dark)").matches:!1)?"dark":"light"},de=(t,n)=>{const e=t;if(typeof e.addEventListener=="function"){e.addEventListener("change",n);return}typeof e.addListener=="function"&&e.addListener(n)},ue=(t,n)=>{const e=t;if(typeof e.removeEventListener=="function"){e.removeEventListener("change",n);return}typeof e.removeListener=="function"&&e.removeListener(n)},St=t=>{t.style.display||(t.style.display="block"),t.style.width||(t.style.width="100%"),t.style.height||(t.style.height="100%")},le=(t,n)=>{const e=n;if(!e)return t.removeAttribute("theme"),null;if(e!=="auto")return t.setAttribute("theme",e),null;const i=()=>{t.setAttribute("theme",bt())};if(i(),typeof globalThis.matchMedia!="function")return null;const r=globalThis.matchMedia("(prefers-color-scheme: dark)"),a=globalThis.matchMedia("(prefers-contrast: more)"),s=()=>{i()};return de(r,s),de(a,s),()=>{ue(r,s),ue(a,s)}};class ce{constructor(n){this.bridge=new rt,this.callbacks=new dt,this.readerState=new at,this.bridgeToolContext={bridge:this.bridge,callbacks:this.callbacks,debug:()=>this.debugEnabled,onAsyncError:e=>this.reportAdapterError(e),state:this.readerState},this.documentTool=new G(this.bridgeToolContext),this.uiTool=new Z(this.bridgeToolContext),this.pageTool=new z(this.bridgeToolContext),this.pageArrangeTool=new H(this.bridgeToolContext),this.findTool=new q(this.bridgeToolContext),this.signServerTool=new $(this.bridgeToolContext),this.digitalSignTool=new N(this.bridgeToolContext),this.symbologyTool=new X(this.bridgeToolContext),this.annotationTool=new L(this.bridgeToolContext),this.templateSignTool=new J(this.bridgeToolContext),this.pdfFormFiller=new Q(this.bridgeToolContext),this.networkingTool=new x(this.bridgeToolContext),this.cryptoTool=new F(this.bridgeToolContext),this.securityTool=new Y(this.bridgeToolContext),this.readyCallbacks=[],this.unloadCallbacks=[],this.debugEnabled=!1,this.isReady=!1,this.removed=!1,this.mountToken=0,this.hostContainer=null,this.readerElement=null,this.readerId=null,this.normalizedConfiguration=null,this.runtimeRestoreState=null,this.nativeEventCleanupCallbacks=[],this.themeCleanup=null,this.enableDebug=e=>{this.debugEnabled=e},this.changeLanguage=e=>{this.readerElement&&this.readerElement.setAttribute("language",e)},this.setThemeMode=e=>{this.themeCleanup?.(),this.themeCleanup=null,this.normalizedConfiguration=this.normalizedConfiguration?{...this.normalizedConfiguration,theme:e}:null,this.readerElement&&(this.themeCleanup=le(this.readerElement,e))},this.setSessionUser=e=>{this.sessionUser=e},this.setSessionUserId=e=>{this.sessionUserId=e},this.setSessionData=e=>{this.sessionData=e},this.isReaderReady=()=>this.isReady,this.isReaderDestroyed=()=>this.removed&&!this.isReady,this.addReaderReadyCallback=e=>{this.readyCallbacks.push(e)},this.addReaderUnloadCallback=e=>{this.unloadCallbacks.push(e)},this.setReaderEventListener=e=>{this.readerEventListener=e},this.embedReader=(e,i,r)=>{const a=pt(e),s=ee(i);ie(s);const d=$e(s,r),l=this.mountToken+1;this.removeReader(),this.mountToken=l,this.removed=!1,this.hostContainer=a,this.normalizedConfiguration=d,this.mountReader(a,d,l)},this.removeReader=()=>{const e=!!(this.readerElement||this.hostContainer);if(this.mountToken+=1,this.cleanupNativeEventForwarders(),this.cleanupThemeBinding(),this.restoreReaderRuntimeConfig(),this.readerElement?.parentNode&&this.readerElement.parentNode.removeChild(this.readerElement),this.readerElement=null,this.readerId=null,this.bridge.setReaderId(null),this.readerState.reset(),this.hostContainer=null,this.normalizedConfiguration=null,this.isReady=!1,this.removed=!0,!e)return;const i=oe(null,null);this.emitReaderEvent(ht,i),this.unloadCallbacks.forEach(r=>r())},this.getDocumentTool=()=>this.documentTool,this.getUITool=()=>this.uiTool,this.getPageTool=()=>this.pageTool,this.getPageArrangeTool=()=>this.pageArrangeTool,this.getFindTool=()=>this.findTool,this.getSignServerTool=()=>this.signServerTool,this.getDigitalSignTool=()=>this.digitalSignTool,this.getSymbologyTool=()=>this.symbologyTool,this.getAnnotationTool=()=>this.annotationTool,this.getTemplateSignTool=()=>this.templateSignTool,this.getPdfFormFiller=()=>this.pdfFormFiller,this.getNetworkingTool=()=>this.networkingTool,this.getCryptoTool=()=>this.cryptoTool,this.getSecurityTool=()=>this.securityTool,this.createDigitalSignOptions=()=>new W,this.createKVField=(e,i,r)=>new j(e,i,r),this.mountReader=async(e,i,r)=>{try{if(await Ze(i.appUrl),this.mountToken!==r)return;const a=document.createElement(S),s=gt();a.setAttribute(V,s),this.readerId=s,this.bridge.setReaderId(s),St(a),this.applyReaderRuntimeConfig(a,i);const d=i.compactViewer===!0&&i.keepPCMenu!==!0;if(a.toggleAttribute("data-sdk-compact-mode",d),a.toggleAttribute("data-sdk-ribbon-hidden",i.ribbonMenu===!1),a.toggleAttribute("data-sdk-ribbon-title-hidden",i.ribbonTitle===!1),a.setAttribute("language",i.language??"zh_CN"),this.themeCleanup=le(a,i.theme),this.bindNativeReaderEvents(a),e.replaceChildren(a),this.readerElement=a,await Promise.resolve(),this.mountToken!==r)return;const l=await this.bridge.waitForReady();if(this.mountToken!==r)return;if(!l)throw new Error("Editor adapter is not available.");this.isReady=!0;const h=oe(a,i);this.emitReaderEvent(ct,h),this.readyCallbacks.forEach(c=>c())}catch(a){if(this.mountToken!==r)return;this.reportReaderError(a)}},this.bindNativeReaderEvents=e=>{this.cleanupNativeEventForwarders();const i=r=>{const a=r instanceof CustomEvent?r.detail:null;!a||a.readerId!==this.readerId||(this.readerState.update(a.statePatch),this.callbacks.emit(a.event,a.payload),this.emitReaderEvent(a.event,a.payload))};e.addEventListener(K,i),this.nativeEventCleanupCallbacks.push(()=>{e.removeEventListener(K,i)}),lt.forEach(r=>{const a=s=>{const d=s instanceof CustomEvent?s.detail:s;r==="documentLoaded"&&this.readerState.setDocumentOpened(!0),this.emitReaderEvent(r,d),r==="documentError"&&this.emitReaderEvent(P,d)};e.addEventListener(r,a),this.nativeEventCleanupCallbacks.push(()=>{e.removeEventListener(r,a)})})},this.cleanupNativeEventForwarders=()=>{this.nativeEventCleanupCallbacks.splice(0).forEach(e=>e())},this.cleanupThemeBinding=()=>{this.themeCleanup?.(),this.themeCleanup=null},this.emitReaderEvent=(e,i)=>{this.readerEventListener?.(e,i)},this.reportReaderError=e=>{this.isReady=!1,this.debugEnabled&&console.error("[RHC Office SDK] Reader mount failed",e),this.emitReaderEvent(P,e)},this.reportAdapterError=e=>{this.debugEnabled&&console.error("[RHC Office SDK] Adapter command failed",e),this.emitReaderEvent(P,e)},this.bridge.configureTimeouts({readyTimeoutMs:n?.readyTimeoutMs,requestTimeoutMs:n?.requestTimeoutMs})}applyReaderRuntimeConfig(n,e){this.restoreReaderRuntimeConfig();const i=mt(this.sessionUser,this.sessionUserId),r={hostKind:"server",server:{baseUrl:e.appUrl},...i?{identity:i}:{}},a=n;a[ut]=r;const s=globalThis,d=s[R];this.runtimeRestoreState={hadPreviousRuntime:d!==void 0,...d!==void 0?{previousRuntime:d}:{}},s[R]=r}restoreReaderRuntimeConfig(){if(!this.runtimeRestoreState)return;const n=globalThis;this.runtimeRestoreState.hadPreviousRuntime?n[R]=this.runtimeRestoreState.previousRuntime:Reflect.deleteProperty(n,R),this.runtimeRestoreState=null}}const ft=t=>new ce(t);o.AnnotationToolImpl=L,o.CryptoToolImpl=F,o.DIGITAL_SIGN_DEFAULTS=ye,o.DigitalSignOptions=W,o.DigitalSignToolImpl=N,o.DocumentSDK=ce,o.DocumentToolImpl=G,o.FindToolImpl=q,o.KVField=j,o.NetworkingToolImpl=x,o.PageArrangeToolImpl=H,o.PageToolImpl=z,o.PdfFormFillerImpl=Q,o.SecurityToolImpl=Y,o.SignServerToolImpl=$,o.SymbologyToolImpl=X,o.TemplateSignToolImpl=J,o.UIToolImpl=Z,o.WatermarkDisplay=p,o.createNewDocumentSdk=ft,o.getDigitalSignEnvironment=be,o.getDigitalSignEnvironmentSource=Se,o.initializeDigitalSignEnvironment=fe,o.patchDigitalSignEnvironment=ke,o.resetDigitalSignEnvironment=Te,o.setDigitalSignEnvironment=Re,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(o,p){typeof exports=="object"&&typeof module<"u"?p(exports):typeof define=="function"&&define.amd?define(["exports"],p):(o=typeof globalThis<"u"?globalThis:o||self,p(o.RHCOfficeSDK={}))})(this,function(o){"use strict";var p=(t=>(t.DEFAULT="default",t.COMPACT="compact",t.HIDE="none",t))(p||{});const C="RIGHT_CENTER",A="REGULAR_ESM",M="auto",k="__RHC_OFFICE_DIGITAL_SIGN_ENVIRONMENT__",I={defaults:{bjca:{pin:""},deviceType:"client",edgePosition:C,plugin:{pin:"",usbKeyType:14},rsaMode:M,signatureType:A},signServer:{authSource:"Password",defaultLogin:"",defaultPassword:"",defaultServer:"",macAddress:"",token:"",usbKey:{checkCertificateBinding:!1,usbKeyType:14}}},w=t=>({bjca:{pin:t.bjca.pin},deviceType:t.deviceType,edgePosition:t.edgePosition,plugin:{pin:t.plugin.pin,usbKeyType:t.plugin.usbKeyType},rsaMode:t.rsaMode,signatureType:t.signatureType}),O=t=>({authSource:t.authSource,defaultLogin:t.defaultLogin,defaultPassword:t.defaultPassword,defaultServer:t.defaultServer,macAddress:t.macAddress,token:t.token,usbKey:{checkCertificateBinding:t.usbKey.checkCertificateBinding,usbKeyType:t.usbKey.usbKeyType}}),g=t=>({defaults:w(t.defaults),signServer:O(t.signServer)}),T=t=>({defaults:t.defaults?{...t.defaults,bjca:t.defaults.bjca?{...t.defaults.bjca}:void 0,plugin:t.defaults.plugin?{...t.defaults.plugin}:void 0}:void 0,signServer:t.signServer?{...t.signServer,usbKey:t.signServer.usbKey?{...t.signServer.usbKey}:void 0}:void 0}),pe=(t,n)=>n?{bjca:{pin:n.bjca?.pin??t.bjca.pin},deviceType:n.deviceType??t.deviceType,edgePosition:n.edgePosition??t.edgePosition,plugin:{pin:n.plugin?.pin??t.plugin.pin,usbKeyType:n.plugin?.usbKeyType??t.plugin.usbKeyType},rsaMode:n.rsaMode??t.rsaMode,signatureType:n.signatureType??t.signatureType}:w(t),be=(t,n)=>n?{authSource:n.authSource??t.authSource,defaultLogin:n.defaultLogin??t.defaultLogin,defaultPassword:n.defaultPassword??t.defaultPassword,defaultServer:n.defaultServer??t.defaultServer,macAddress:n.macAddress??t.macAddress,token:n.token??t.token,usbKey:{checkCertificateBinding:n.usbKey?.checkCertificateBinding??t.usbKey.checkCertificateBinding,usbKeyType:n.usbKey?.usbKeyType??t.usbKey.usbKeyType}}:O(t),_=(t,n)=>({defaults:pe(t.defaults,n.defaults),signServer:be(t.signServer,n.signServer)}),Se=(t,n)=>{const e=t.defaults?.bjca||n.defaults?.bjca?{...t.defaults?.bjca,...n.defaults?.bjca}:void 0,i=t.defaults?.plugin||n.defaults?.plugin?{...t.defaults?.plugin,...n.defaults?.plugin}:void 0,r=t.signServer?.usbKey||n.signServer?.usbKey?{...t.signServer?.usbKey,...n.signServer?.usbKey}:void 0;return{defaults:t.defaults||n.defaults?{...t.defaults,...n.defaults,...e?{bjca:e}:{},...i?{plugin:i}:{}}:void 0,signServer:t.signServer||n.signServer?{...t.signServer,...n.signServer,...r?{usbKey:r}:{}}:void 0}},fe=()=>globalThis,b=()=>{const t=fe();return t[k]||(t[k]={current:g(I),defaults:g(I),overrides:{}}),t[k]},Re=()=>b().current,ke=()=>{const t=b();return{current:g(t.current),defaults:g(t.defaults),overrides:T(t.overrides)}},Te=t=>{const n=b();return n.defaults=g(t),n.current=_(n.defaults,n.overrides),n.current},ye=t=>{const n=b();return n.current=g(t),n.overrides=T(t),n.current},ve=t=>{const n=b();return n.overrides=Se(n.overrides,T(t)),n.current=_(n.current,t),n.current},Ee=t=>{const n=b();return t&&(n.defaults=g(t)),n.overrides={},n.current=g(n.defaults),n.current},Pe={EDGE_POSITION:C,RSA_MODE:M,SIGNATURE_TYPE:A},y=t=>{if(t.length!==0)return t.length===1?t[0]:t},l=(t,n,e)=>new Proxy({},{get:(i,r)=>{if(r==="then")return;if(typeof r=="symbol")return r===Symbol.toStringTag?t:void 0;const a=n[r];return a?(...s)=>{if(a.kind==="callbackRegister"){a.callback?.(e.callbacks,s);return}if(a.kind==="stateGetter")return a.state?.(e.state.snapshot(),s);const d=a.adapterMethod??r;if(a.kind==="query")return e.bridge.request(t,d,y(s));if(a.kind==="callbackQuery"){const c=s.find(m=>typeof m=="function"),h=s.filter(m=>typeof m!="function");e.bridge.request(t,d,y(h)).then(m=>{const Tt=a.mapCallbackResult?.(m)??[m];c?.(...Tt)}).catch(e.onAsyncError);return}const u=e.bridge.request(t,d,y(s)).catch(c=>{e.onAsyncError(c)});if(a.returnsResult)return u}:(...s)=>{const d=new Error(`${t}.${r} is not implemented by the SDK adapter.`);e.onAsyncError(d)}}}),De=t=>typeof t=="object"&&t!==null&&!Array.isArray(t)&&"id"in t,L=t=>t.annotations?.filter(De).map(n=>({...n}))??[],Ce=t=>{switch(t){case"select":case"pen":case"eraser":case"line":case"arrow":case"rectangle":case"circle":case"text-highlight":case"text-underline":case"text-strikethrough":case"text-squiggly":case"text-note":case"stamp":return t;case"none":default:return"none"}},Ae={addAnnotationEventCallback:{kind:"callbackRegister",callback:(t,n)=>{const e=n[0];typeof e=="function"&&t.annotationEvents.push(e)}},isInAnnotationMode:{kind:"stateGetter",state:t=>t.annotationEnabled},getAnnotationMode:{kind:"stateGetter",state:t=>Ce(t.annotationMode)},getAnnotations:{kind:"stateGetter",state:t=>L(t)},getAnnotationsCount:{kind:"stateGetter",state:t=>L(t).length},openAnnotationView:{kind:"command"},closeAnnotationView:{kind:"command"},saveAnnotations:{kind:"callbackQuery"},clearAnnotations:{kind:"command",returnsResult:!0},undoAnnotation:{kind:"command",returnsResult:!0},redoAnnotation:{kind:"command",returnsResult:!0},canUndoAnnotation:{kind:"query"},canRedoAnnotation:{kind:"query"},selectAnnotationTool:{kind:"command"},selectAnnotationStamp:{kind:"command"},getCustomStamps:{kind:"query"},addCustomTextStamp:{kind:"query"},addCustomImageStamp:{kind:"query"},setAnnotationPenColor:{kind:"command"},setAnnotationPenWidth:{kind:"command"},setAnnotationPenStyle:{kind:"command"}};class F{constructor(n){this.openAnnotationView=e=>this.adapter.openAnnotationView(e),this.closeAnnotationView=()=>this.adapter.closeAnnotationView(),this.saveAnnotations=e=>this.adapter.saveAnnotations(e),this.clearAnnotations=()=>this.adapter.clearAnnotations(),this.undoAnnotation=()=>this.adapter.undoAnnotation(),this.redoAnnotation=()=>this.adapter.redoAnnotation(),this.canUndoAnnotation=()=>this.adapter.canUndoAnnotation(),this.canRedoAnnotation=()=>this.adapter.canRedoAnnotation(),this.selectAnnotationTool=(e,i)=>this.adapter.selectAnnotationTool(e,i),this.selectAnnotationStamp=e=>this.adapter.selectAnnotationStamp(e),this.getCustomStamps=()=>this.adapter.getCustomStamps(),this.addCustomTextStamp=e=>this.adapter.addCustomTextStamp(e),this.addCustomImageStamp=e=>this.adapter.addCustomImageStamp(e),this.setAnnotationPenColor=e=>this.adapter.setAnnotationPenColor(e),this.setAnnotationPenWidth=e=>this.adapter.setAnnotationPenWidth(e),this.setAnnotationPenStyle=e=>this.adapter.setAnnotationPenStyle(e),this.isInAnnotationMode=()=>this.adapter.isInAnnotationMode(),this.getAnnotationMode=()=>this.adapter.getAnnotationMode(),this.getAnnotations=()=>this.adapter.getAnnotations(),this.getAnnotationsCount=()=>this.adapter.getAnnotationsCount(),this.addAnnotationEventCallback=e=>this.adapter.addAnnotationEventCallback(e),this.adapter=l("annotation",Ae,n)}}const Me={configSecurityProvider:{kind:"command"},getSecurityProviders:{kind:"query"}};class U{constructor(n){this.configSecurityProvider=e=>this.adapter.configSecurityProvider(e),this.getSecurityProviders=()=>this.adapter.getSecurityProviders(),this.adapter=l("crypto",Me,n)}}const N=t=>t.digitalSignatures?[...t.digitalSignatures]:[],Ie={addDigitalSignatureRetrieveCallback:{kind:"callbackRegister",callback:(t,n)=>{const e=n[0];typeof e=="function"&&t.digitalSignatureRetrieve.push(e)}},addDigitalSignatureParseCallback:{kind:"callbackRegister",callback:(t,n)=>{const e=n[0];typeof e=="function"&&t.digitalSignatureParse.push(e)}},addDigitalSignCallback:{kind:"callbackRegister",callback:(t,n)=>{const e=n[0];typeof e=="function"&&t.digitalSign.push(e)}},setCryptoProvider:{kind:"command"},setSealSource:{kind:"command"},setDefaultStampPassword:{kind:"command"},setDefaultSealPassword:{kind:"command"},setDefaultKeystorePassword:{kind:"command"},setDefaultUSBKeyPassword:{kind:"command"},setupExternalSealServer:{kind:"command"},setDigitalSignOptions:{kind:"command"},setExternalDigitalSignOptions:{kind:"command"},setPDFDigitalSignCaptionOptions:{kind:"command"},addDigitalSignature:{kind:"callbackQuery"},addDigitalSignatureBySelectedSearchHighlight:{kind:"command"},listDigitalSignatures:{kind:"callbackQuery"},getDigitalSignatures:{kind:"stateGetter",state:t=>N(t)},getDigitalSignaturesCount:{kind:"stateGetter",state:t=>N(t).length},enableDigitalSignatureInfoView:{kind:"command"},enableDigitalSignatureRevocation:{kind:"command"}};class B{constructor(n){this.addDigitalSignatureRetrieveCallback=e=>this.adapter.addDigitalSignatureRetrieveCallback(e),this.addDigitalSignatureParseCallback=e=>this.adapter.addDigitalSignatureParseCallback(e),this.setCryptoProvider=(e,i,r)=>this.adapter.setCryptoProvider(e,i,r),this.setSealSource=e=>this.adapter.setSealSource(e),this.setDefaultStampPassword=e=>this.adapter.setDefaultStampPassword(e),this.setDefaultSealPassword=e=>this.adapter.setDefaultSealPassword(e),this.setDefaultKeystorePassword=e=>this.adapter.setDefaultKeystorePassword(e),this.setDefaultUSBKeyPassword=e=>this.adapter.setDefaultUSBKeyPassword(e),this.addDigitalSignCallback=e=>this.adapter.addDigitalSignCallback(e),this.setupExternalSealServer=e=>this.adapter.setupExternalSealServer(e),this.setDigitalSignOptions=e=>this.adapter.setDigitalSignOptions(e),this.setExternalDigitalSignOptions=e=>this.adapter.setExternalDigitalSignOptions(e),this.setPDFDigitalSignCaptionOptions=e=>this.adapter.setPDFDigitalSignCaptionOptions(e),this.addDigitalSignature=(e,i)=>this.adapter.addDigitalSignature(e,i),this.addDigitalSignatureBySelectedSearchHighlight=e=>this.adapter.addDigitalSignatureBySelectedSearchHighlight(e),this.listDigitalSignatures=e=>this.adapter.listDigitalSignatures(e),this.getDigitalSignatures=()=>this.adapter.getDigitalSignatures(),this.getDigitalSignaturesCount=()=>this.adapter.getDigitalSignaturesCount(),this.enableDigitalSignatureInfoView=e=>this.adapter.enableDigitalSignatureInfoView(e),this.enableDigitalSignatureRevocation=e=>this.adapter.enableDigitalSignatureRevocation(e),this.adapter=l("digitalSign",Ie,n)}}const we="rhc-office.editor-adapter",Oe=1,_e="__RHC_OFFICE_EDITOR_ADAPTER__",V="rhcOfficeAdapterReady",K="rhcOfficeAdapterEvent",G="data-rhc-office-reader-id",Le={addDocumentOpenedCallback:{kind:"callbackRegister",callback:(t,n)=>{const e=n[0];typeof e=="function"&&t.documentOpened.push(e)}},addDocumentSavedCallback:{kind:"callbackRegister",callback:(t,n)=>{const e=n[0];typeof e=="function"&&t.documentSaved.push(e)}},addDocumentClosedCallback:{kind:"callbackRegister",callback:(t,n)=>{const e=n[0];typeof e=="function"&&t.documentClosed.push(e)}},openPDFDocument:{kind:"callbackQuery",adapterMethod:"open"},openPdfDocument:{kind:"callbackQuery",adapterMethod:"open"},openOFDDocument:{kind:"callbackQuery",adapterMethod:"open"},openOfdDocument:{kind:"callbackQuery",adapterMethod:"open"},openOfficeDocument:{kind:"callbackQuery",adapterMethod:"open"},openImageDocument:{kind:"callbackQuery",adapterMethod:"open"},openTextDocument:{kind:"callbackQuery",adapterMethod:"open"},openFromLocalStorage:{kind:"command"},setUploadUrl:{kind:"command"},save:{kind:"callbackQuery"},saveAs:{kind:"query"},getDocumentContent:{kind:"callbackQuery",mapCallbackResult:t=>[t]},closeDocument:{kind:"callbackQuery"},isDocumentOpened:{kind:"stateGetter",state:t=>t.documentOpened},isDocumentModified:{kind:"stateGetter",state:t=>t.documentModified},print:{kind:"command"},createPreview:{kind:"command"}};class q{constructor(n){this.context=n,this.addDocumentOpenedCallback=e=>this.adapter.addDocumentOpenedCallback(e),this.addDocumentSavedCallback=e=>this.adapter.addDocumentSavedCallback(e),this.addDocumentClosedCallback=e=>this.adapter.addDocumentClosedCallback(e),this.openPDFDocument=(e,i)=>this.adapter.openPDFDocument(e,i),this.openPdfDocument=(e,i)=>this.adapter.openPdfDocument(e,i),this.openOFDDocument=(e,i)=>this.adapter.openOFDDocument(e,i),this.openOfdDocument=(e,i)=>this.adapter.openOfdDocument(e,i),this.openOfficeDocument=(e,i)=>this.adapter.openOfficeDocument(e,i),this.openImageDocument=(e,i)=>this.adapter.openImageDocument(e,i),this.openTextDocument=(e,i)=>this.adapter.openTextDocument(e,i),this.openFromLocalStorage=()=>this.adapter.openFromLocalStorage(),this.setUploadUrl=(e,i)=>this.adapter.setUploadUrl(e,i),this.save=(e,i,r)=>this.adapter.save(e,i,r),this.saveAs=e=>{const i=this.context.bridge.getReaderId();if(!i)return Promise.resolve({success:!1,action:"save-as",filename:e?.filename,error:"Reader is not mounted or does not expose saveAs."});const r=document.querySelector(`[${G}="${i}"]`);return typeof r?.saveAs=="function"?r.saveAs(e):this.adapter.saveAs(e)},this.getDocumentContent=e=>this.adapter.getDocumentContent(e),this.closeDocument=(e,i,r)=>this.adapter.closeDocument(e,i,r),this.isDocumentOpened=()=>this.adapter.isDocumentOpened(),this.isDocumentModified=()=>this.adapter.isDocumentModified(),this.print=()=>this.adapter.print(),this.createPreview=(e,i)=>this.adapter.createPreview(e,i),this.adapter=l("document",Le,n)}}const Fe={clearFind:{kind:"command"},findNext:{kind:"command"},findPrevious:{kind:"command"}};class x{constructor(n){this.clearFind=()=>this.adapter.clearFind(),this.findNext=e=>this.adapter.findNext(e),this.findPrevious=e=>this.adapter.findPrevious(e),this.adapter=l("find",Fe,n)}}const Ue={configFileUpload:{kind:"command"},setHttpHeaders:{kind:"command"},setHttpFormFields:{kind:"command"}};class z{constructor(n){this.configFileUpload=e=>this.adapter.configFileUpload(e),this.setHttpHeaders=e=>this.adapter.setHttpHeaders(e),this.setHttpFormFields=e=>this.adapter.setHttpFormFields(e),this.adapter=l("networking",Ue,n)}}const Ne=()=>({clearContent:{kind:"command",returnsResult:!0},commit:{kind:"command",returnsResult:!0},deletePages:{kind:"command",returnsResult:!0},duplicatePages:{kind:"command",returnsResult:!0},execute:{kind:"command",returnsResult:!0},extractPages:{kind:"command",returnsResult:!0},getSnapshot:{kind:"query"},importDocument:{kind:"command",returnsResult:!0},moveAfter:{kind:"command",returnsResult:!0},moveBefore:{kind:"command",returnsResult:!0},newPage:{kind:"command",returnsResult:!0},rotateLeft:{kind:"command",returnsResult:!0},rotateRight:{kind:"command",returnsResult:!0},undo:{kind:"command",returnsResult:!0}}),Be=t=>t instanceof Uint8Array?t:new Uint8Array(t);class H{constructor(n){this.getSnapshot=()=>this.adapter.getSnapshot(),this.execute=e=>this.adapter.execute(e),this.newPage=(e,i)=>this.adapter.newPage(e,i),this.deletePages=e=>this.adapter.deletePages(e),this.duplicatePages=(e,i)=>this.adapter.duplicatePages(e,i),this.rotateLeft=e=>this.adapter.rotateLeft(e),this.rotateRight=e=>this.adapter.rotateRight(e),this.clearContent=e=>this.adapter.clearContent(e),this.moveBefore=(e,i)=>this.adapter.moveBefore(e,i),this.moveAfter=(e,i)=>this.adapter.moveAfter(e,i),this.importDocument=(e,i)=>this.adapter.importDocument(Be(e),i),this.extractPages=(e,i)=>this.adapter.extractPages(e,i),this.undo=()=>this.adapter.undo(),this.commit=()=>this.adapter.commit(),this.adapter=l("pageArrange",Ne(),n)}}const Ve=t=>({addPageChangeCallback:{kind:"callbackRegister",callback:(n,e)=>{const i=e[0];typeof i=="function"&&n.pageChange.push(i)}},addPageModeChangeCallback:{kind:"callbackRegister",callback:(n,e)=>{const i=e[0];typeof i=="function"&&n.pageModeChange.push(i)}},getPageCount:{kind:"callbackRegister",callback:(n,e)=>{const i=e[0];typeof i=="function"&&i(t.state.snapshot().pageCount)}},getPageIndex:{kind:"callbackRegister",callback:(n,e)=>{const i=e[0];typeof i=="function"&&i(t.state.snapshot().pageIndex)}},setSinglePageViewMode:{kind:"command"},setTwoPagesViewMode:{kind:"command"},setPageScrollVertical:{kind:"command"},setPageScrollHorizontal:{kind:"command"},setPageCursorPanDrag:{kind:"command"},setPageCursorTextSelect:{kind:"command"},rotateCW:{kind:"command"},rotateCCW:{kind:"command"},autoFitPage:{kind:"command"},fitPageSize:{kind:"command"},fitPageWidth:{kind:"command"},fitPageHeight:{kind:"command"},increasePageScale:{kind:"command"},decreasePageScale:{kind:"command"},setPageScale:{kind:"command"},setPageBlendColor:{kind:"command"},gotoPage:{kind:"command"},gotoNextPage:{kind:"command"},gotoPreviousPage:{kind:"command"},rotatePage:{kind:"command"}});class Q{constructor(n){this.addPageChangeCallback=e=>this.adapter.addPageChangeCallback(e),this.addPageModeChangeCallback=e=>this.adapter.addPageModeChangeCallback(e),this.getPageCount=e=>this.adapter.getPageCount(e),this.getPageIndex=e=>this.adapter.getPageIndex(e),this.setSinglePageViewMode=()=>this.adapter.setSinglePageViewMode(),this.setTwoPagesViewMode=()=>this.adapter.setTwoPagesViewMode(),this.setPageScrollVertical=()=>this.adapter.setPageScrollVertical(),this.setPageScrollHorizontal=()=>this.adapter.setPageScrollHorizontal(),this.setPageCursorPanDrag=()=>this.adapter.setPageCursorPanDrag(),this.setPageCursorTextSelect=()=>this.adapter.setPageCursorTextSelect(),this.rotateCW=()=>this.adapter.rotateCW(),this.rotateCCW=()=>this.adapter.rotateCCW(),this.autoFitPage=()=>this.adapter.autoFitPage(),this.fitPageSize=()=>this.adapter.fitPageSize(),this.fitPageWidth=()=>this.adapter.fitPageWidth(),this.fitPageHeight=()=>this.adapter.fitPageHeight(),this.increasePageScale=()=>this.adapter.increasePageScale(),this.decreasePageScale=()=>this.adapter.decreasePageScale(),this.setPageScale=e=>this.adapter.setPageScale(e),this.setPageBlendColor=(e,i,r,a)=>this.adapter.setPageBlendColor(e,i,r,a),this.gotoPage=(e,i,r)=>this.adapter.gotoPage(e,i,r),this.gotoNextPage=()=>this.adapter.gotoNextPage(),this.gotoPreviousPage=()=>this.adapter.gotoPreviousPage(),this.rotatePage=e=>this.adapter.rotatePage(e),this.adapter=l("page",Ve(n),n)}}const Ke={open:{kind:"command"},setFormFieldValue:{kind:"command"},setFormFieldReadonly:{kind:"command"},commit:{kind:"callbackQuery",mapCallbackResult:()=>[]},clear:{kind:"callbackQuery",mapCallbackResult:()=>[]},toKeyValue:{kind:"callbackQuery",mapCallbackResult:t=>[Array.isArray(t)?t:[]]}};class j{constructor(n){this.open=()=>this.adapter.open(),this.setFormFieldValue=(e,i)=>this.adapter.setFormFieldValue(e,i),this.setFormFieldReadonly=(e,i)=>this.adapter.setFormFieldReadonly(e,i),this.commit=e=>this.adapter.commit(e),this.clear=e=>this.adapter.clear(e),this.toKeyValue=e=>this.adapter.toKeyValue(e),this.adapter=l("pdfFormFiller",Ke,n)}}const Ge=/\s*,\s*/,qe=/\s*-\s*/,v=t=>{const n=Number.parseInt(t.trim(),10);return!Number.isFinite(n)||n<=0?null:n},xe=t=>{const n=t.split(qe);if(n.length===1){const r=v(n[0]??"");return r?[r]:[]}const e=v(n[0]??""),i=v(n[1]??"");return!e||!i||i<e?[]:Array.from({length:i-e+1},(r,a)=>e+a)},ze=t=>t?t.split(Ge).flatMap(e=>xe(e)).filter((e,i,r)=>r.indexOf(e)===i):[];class W{constructor(n,e,i){this.setFieldName=r=>{this.key=r},this.setFieldValue=r=>{this.value=r},this.setDescription=r=>{this.description=r},this.key=n,this.value=e,this.description=i}}class Y{constructor(){this.fields=[],this.keywordTextFixedPositions=void 0,this.keywordOffsetX=0,this.keywordOffsetY=0,this.bookmarkOffsetX=0,this.bookmarkOffsetY=0,this.printMargin=0,this.grayscaleSealImage=!1,this.signType=0,this.sealPosition=0,this.getSignType=()=>this.signType,this.setSignType=n=>{this.signType=n},this.isCrossPageSideSign=()=>this.signType===2||this.signType===3,this.getSealPosition=()=>this.sealPosition,this.setSignOnPageSides=n=>{n>=0&&n<=3&&(this.signType=n)},this.setSignPositionOnPageSides=n=>{this.sealPosition=n},this.setPageRange=n=>{this.pageRange=n},this.getPageRange=()=>this.pageRange,this.getPageRanges=()=>ze(this.pageRange),this.setSignUserData=n=>{this.signUserData=n},this.setPrintMargin=n=>{this.printMargin=n},this.getPrintMargin=()=>this.printMargin??0,this.setSignReason=n=>{this.signReason=n},this.getSignReason=()=>this.signReason,this.setSignLocation=n=>{this.signLocation=n},this.getSignLocation=()=>this.signLocation,this.setDefaultStampPassword=n=>{this.defaultStampPassword=n}}}const He={getSecuritySettings:{kind:"query"},isSecuritySettingsLocalEditable:{kind:"query"},setSecuritySettingsLocalEditable:{kind:"query"},setSecuritySettings:{kind:"query"},openSecuritySettingsDialog:{kind:"command"}};class ${constructor(n){this.getSecuritySettings=()=>this.adapter.getSecuritySettings(),this.setSecuritySettings=e=>this.adapter.setSecuritySettings(e),this.isSecuritySettingsLocalEditable=()=>this.adapter.isSecuritySettingsLocalEditable(),this.setSecuritySettingsLocalEditable=e=>this.adapter.setSecuritySettingsLocalEditable(e),this.openSecuritySettingsDialog=()=>this.adapter.openSecuritySettingsDialog(),this.adapter=l("security",He,n)}}const Qe={setSignServer:{kind:"command"},addSignServerAuthCallback:{kind:"callbackRegister",callback:(t,n)=>{const e=n[0];typeof e=="function"&&t.signServerAuth.push(e)}},setSignServerDefaultLogin:{kind:"command"},setDefaultSignServerLogin:{kind:"command"},setSignServerDefaultPassword:{kind:"command"},setDefaultSignServerPassword:{kind:"command"},loginNTKOSignServer:{kind:"command"},loginSignServer:{kind:"callbackQuery"},signOutSignServer:{kind:"command"},isAuthenticatedOnSignServer:{kind:"stateGetter",state:()=>!1},setSignServerLoginFromUSBKey:{kind:"command"},setUserAuthSource:{kind:"command"}};class X{constructor(n){this.setSignServer=e=>this.adapter.setSignServer(e),this.addSignServerAuthCallback=e=>this.adapter.addSignServerAuthCallback(e),this.setSignServerDefaultLogin=e=>this.adapter.setSignServerDefaultLogin(e),this.setDefaultSignServerLogin=e=>this.adapter.setDefaultSignServerLogin(e),this.setSignServerDefaultPassword=e=>this.adapter.setSignServerDefaultPassword(e),this.setDefaultSignServerPassword=e=>this.adapter.setDefaultSignServerPassword(e),this.loginNTKOSignServer=(e,i,r)=>this.adapter.loginNTKOSignServer(e,i,r),this.loginSignServer=(e,i,r,a)=>this.adapter.loginSignServer(e,i,r,a),this.signOutSignServer=()=>this.adapter.signOutSignServer(),this.isAuthenticatedOnSignServer=()=>this.adapter.isAuthenticatedOnSignServer(),this.setSignServerLoginFromUSBKey=(e,i)=>this.adapter.setSignServerLoginFromUSBKey(e,i),this.setUserAuthSource=e=>this.adapter.setUserAuthSource(e),this.adapter=l("signServer",Qe,n)}}const je={createPDF417Barcode:{kind:"command"}};class J{constructor(n){this.createPDF417Barcode=(e,i,r,a,s,d,u)=>this.adapter.createPDF417Barcode(e,i,r,a,s,d,u),this.adapter=l("symbology",je,n)}}const We={setup:{kind:"command"},create:{kind:"command"},getMarkups:{kind:"callbackQuery"},removeMarkup:{kind:"command"},removeAllMarkups:{kind:"command"},sign:{kind:"callbackQuery"}};class Z{constructor(n){this.setup=e=>this.adapter.setup(e),this.create=e=>this.adapter.create(e),this.getMarkups=e=>this.adapter.getMarkups(e),this.removeMarkup=(e,i)=>this.adapter.removeMarkup(e,i),this.removeAllMarkups=e=>this.adapter.removeAllMarkups(e),this.sign=e=>this.adapter.sign(e),this.adapter=l("templateSign",We,n)}}const Ye=new Set([2,5]),$e=t=>({showToolbarMenu:{kind:"command"},hideToolbarMenu:{kind:"command"},setupToolbarMenu:{kind:"command"},showToolbarMenuItem:{kind:"command"},hideToolbarMenuItem:{kind:"command"},setupRibbonMenu:{kind:"command"},setupRibbonMenuItem:{kind:"command"},setupRibbonTitleBar:{kind:"command"},showRibbonMenu:{kind:"command"},hideRibbonMenu:{kind:"command"},showRibbonMenuItem:{kind:"command"},hideRibbonMenuItem:{kind:"command"},showRibbonTitleBar:{kind:"command"},hideRibbonTitleBar:{kind:"command"},showRibbonTabs:{kind:"command"},hideRibbonTabs:{kind:"command"},selectRibbonMenu:{kind:"command"},setupRibbonMenuTab:{kind:"command"},showRibbonMenuTab:{kind:"command"},hideRibbonMenuTab:{kind:"command"},enableRibbonMenuTab:{kind:"command"},disableRibbonMenuTab:{kind:"command"},setupRibbonMenuItemState:{kind:"command"},enableRibbonMenuItem:{kind:"command"},disableRibbonMenuItem:{kind:"command"},setRibbonMenuButtonStyle:{kind:"command"},setWatermark:{kind:"command"},setCompactMode:{kind:"command"},setRulerVisible:{kind:"command"},setStatusBarVisible:{kind:"command"},toggleSidebar:{kind:"command"},enterBookViewMode:{kind:"callbackQuery",mapCallbackResult:()=>[]},exitBookViewMode:{kind:"command"},isBookViewActivated:{kind:"stateGetter",state:()=>Ye.has(t.state.snapshot().pageMode)},requestFullScreen:{kind:"command"},exitFullScreen:{kind:"command"},invalidateView:{kind:"command"}});class ee{constructor(n){this.showToolbarMenu=()=>(this.warnLegacyRibbonMethod("showToolbarMenu","showRibbonMenu"),this.showRibbonMenu()),this.hideToolbarMenu=()=>(this.warnLegacyRibbonMethod("hideToolbarMenu","hideRibbonMenu"),this.hideRibbonMenu()),this.setupToolbarMenu=e=>(this.warnLegacyRibbonMethod("setupToolbarMenu","showRibbonMenu/hideRibbonMenu/setupRibbonMenuTab"),this.setupRibbonMenu(e)),this.showToolbarMenuItem=e=>(this.warnLegacyRibbonMethod("showToolbarMenuItem","showRibbonMenuItem"),this.showRibbonMenuItem(e)),this.hideToolbarMenuItem=e=>(this.warnLegacyRibbonMethod("hideToolbarMenuItem","hideRibbonMenuItem"),this.hideRibbonMenuItem(e)),this.setupRibbonMenu=e=>(this.warnLegacyRibbonMethod("setupRibbonMenu","showRibbonMenu/hideRibbonMenu/setupRibbonMenuTab"),typeof e=="boolean"?e?this.showRibbonMenu():this.hideRibbonMenu():this.setupRibbonMenuTab(e.menu,{visible:e.visible})),this.setupRibbonMenuItem=(e,i,r)=>(this.warnLegacyRibbonMethod("setupRibbonMenuItem","setupRibbonMenuItemState"),this.setupRibbonMenuItemState(e,{visible:i,config:r})),this.setupRibbonTitleBar=e=>(this.warnLegacyRibbonMethod("setupRibbonTitleBar","showRibbonTabs/hideRibbonTabs"),e?this.showRibbonTabs():this.hideRibbonTabs()),this.showRibbonMenu=()=>this.adapter.showRibbonMenu(),this.hideRibbonMenu=()=>this.adapter.hideRibbonMenu(),this.showRibbonMenuItem=(e,i)=>(this.warnLegacyRibbonMethod("showRibbonMenuItem","setupRibbonMenuItemState"),this.setupRibbonMenuItemState(e,{visible:!0,config:i})),this.hideRibbonMenuItem=(e,i)=>(this.warnLegacyRibbonMethod("hideRibbonMenuItem","setupRibbonMenuItemState"),this.setupRibbonMenuItemState(e,{visible:!1,config:i})),this.showRibbonTitleBar=()=>(this.warnLegacyRibbonMethod("showRibbonTitleBar","showRibbonTabs"),this.showRibbonTabs()),this.hideRibbonTitleBar=()=>(this.warnLegacyRibbonMethod("hideRibbonTitleBar","hideRibbonTabs"),this.hideRibbonTabs()),this.showRibbonTabs=()=>this.adapter.showRibbonTabs(),this.hideRibbonTabs=()=>this.adapter.hideRibbonTabs(),this.selectRibbonMenu=e=>this.adapter.selectRibbonMenu(e),this.setupRibbonMenuTab=(e,i)=>this.adapter.setupRibbonMenuTab(e,i),this.showRibbonMenuTab=e=>this.adapter.showRibbonMenuTab(e),this.hideRibbonMenuTab=e=>this.adapter.hideRibbonMenuTab(e),this.enableRibbonMenuTab=e=>this.adapter.enableRibbonMenuTab(e),this.disableRibbonMenuTab=e=>this.adapter.disableRibbonMenuTab(e),this.setupRibbonMenuItemState=(e,i)=>this.adapter.setupRibbonMenuItemState(e,i),this.enableRibbonMenuItem=(e,i)=>this.setupRibbonMenuItemState(e,{disabled:!1,config:i}),this.disableRibbonMenuItem=(e,i)=>this.setupRibbonMenuItemState(e,{disabled:!0,config:i}),this.setRibbonMenuButtonStyle=(e,i)=>this.adapter.setRibbonMenuButtonStyle(e,i),this.setWatermark=e=>this.adapter.setWatermark(e),this.setCompactMode=e=>this.adapter.setCompactMode(e),this.setRulerVisible=e=>this.adapter.setRulerVisible(e),this.setStatusBarVisible=e=>this.adapter.setStatusBarVisible(e),this.toggleSidebar=()=>this.adapter.toggleSidebar(),this.enterBookViewMode=e=>this.adapter.enterBookViewMode(e),this.exitBookViewMode=()=>this.adapter.exitBookViewMode(),this.isBookViewActivated=()=>this.adapter.isBookViewActivated(),this.requestFullScreen=()=>this.adapter.requestFullScreen(),this.exitFullScreen=()=>this.adapter.exitFullScreen(),this.invalidateView=()=>this.adapter.invalidateView(),this.adapter=l("ui",$e(n),n)}warnLegacyRibbonMethod(n,e){console.warn(`[RHC Office SDK] ui.${n} is deprecated. Use ui.${e} instead.`)}}const Xe=t=>{if(!t)return;const n=t.trim().toLowerCase();if(n==="application")return"auto";if(n==="light"||n==="dark"||n==="high-contrast"||n==="auto")return n},te=t=>{const n=new URL(t,globalThis.location?.href??"http://localhost/");return n.hash="",n.pathname.endsWith("/")||(n.pathname=`${n.pathname}/`),n.toString()},Je=t=>new URL("editors.bootstrap.js",t).toString(),Ze=(t,n)=>{const e=te(t);return{...n,appUrl:e,theme:Xe(n.theme)}},S="rhc-office-editor",E="__RHC_OFFICE_SDK_READER_LOADER__",ne=()=>{const t=globalThis;return t[E]||(t[E]={activeAppUrl:null,loadPromises:new Map}),t[E]},et=t=>Array.from(document.querySelectorAll("script")).find(n=>n.src===t)??null;class ie extends Error{constructor(n){super(`Failed to load reader bootstrap script: ${n}`),this.name="ReaderScriptLoadError"}}class tt extends Error{constructor(n,e){super(`Reader Web Component "${S}" is already bound to ${n} and cannot be reloaded from ${e}.`),this.name="ReaderSourceConflictError"}}const re=t=>{const n=ne();if(n.activeAppUrl&&n.activeAppUrl!==t)throw new tt(n.activeAppUrl,t)},nt=t=>{const n=ne();re(t);const e=n.loadPromises.get(t);if(e)return e;if(globalThis.customElements?.get(S)){n.activeAppUrl=t;const s=Promise.resolve();return n.loadPromises.set(t,s),s}const i=Je(t),r=et(i);n.activeAppUrl=t;const a=new Promise((s,d)=>{const u=m=>{m?.remove(),d(new ie(i))},c=()=>{globalThis.customElements.whenDefined(S).then(()=>{s()}).catch(d)};if(r){if(globalThis.customElements?.get(S)){s();return}r.addEventListener("error",()=>d(new ie(i)),{once:!0}),c();return}const h=document.createElement("script");h.src=i,h.async=!0,h.dataset.rhcOfficeSdkReader=t,h.addEventListener("load",c,{once:!0}),h.addEventListener("error",()=>u(h),{once:!0}),document.head.appendChild(h)}).catch(s=>{throw n.loadPromises.delete(t),!globalThis.customElements?.get(S)&&n.activeAppUrl===t&&(n.activeAppUrl=null),s});return n.loadPromises.set(t,a),a},it=5e3,rt=5e3,at=()=>{const t=globalThis.crypto;return typeof t?.randomUUID=="function"?t.randomUUID():`adapter-${Date.now()}-${Math.random().toString(36).slice(2)}`},f=()=>globalThis[_e];class st extends Error{constructor(n,e,i){super(e),this.name="ReaderBridgeError",this.code=n,this.details=i}}class ot{constructor(n){this.readerId=null,this.readyTimeoutMs=n?.readyTimeoutMs??rt,this.requestTimeoutMs=n?.requestTimeoutMs??it}configureTimeouts(n){this.readyTimeoutMs=n?.readyTimeoutMs??this.readyTimeoutMs,this.requestTimeoutMs=n?.requestTimeoutMs??this.requestTimeoutMs}setReaderId(n){this.readerId=n}getReaderId(){return this.readerId}async request(n,e,i,r){const a=await this.requestRaw(n,e,i,r);if(a.ok)return a.result;throw new st(a.error.code,a.error.message,a.error.details)}async requestRaw(n,e,i,r){if(!this.readerId)return{ok:!1,requestId:"",error:{code:"READER_NOT_READY",message:"Reader is not mounted."}};const a=await this.waitForAdapter(this.readerId,r?.timeoutMs);if(!a)return{ok:!1,requestId:"",error:{code:"ADAPTER_UNAVAILABLE",message:"Editor adapter is not available."}};const s={protocol:we,version:Oe,requestId:at(),readerId:this.readerId,tool:n,method:e,params:i};return this.withTimeout(a.request(s),s.requestId,r?.timeoutMs??this.requestTimeoutMs)}getCapabilities(){return this.readerId?f()?.getCapabilities(this.readerId)??null:null}async waitForReady(n){return this.readerId?!!await this.waitForAdapter(this.readerId,n?.timeoutMs):!1}async waitForAdapter(n,e=this.readyTimeoutMs){const i=f();return i?.getCapabilities(n)?i:new Promise(r=>{let a;const s=()=>{a&&clearTimeout(a),globalThis.removeEventListener(V,d)},d=u=>{if((u instanceof CustomEvent?u.detail:void 0)?.readerId!==n)return;const h=f();s(),r(h??null)};globalThis.addEventListener(V,d),a=setTimeout(()=>{s(),r(f()?.getCapabilities(n)?f():null)},e)})}async withTimeout(n,e,i){return new Promise(r=>{const a=setTimeout(()=>{r({ok:!1,requestId:e,error:{code:"TIMEOUT",message:`Editor adapter request timed out after ${i}ms.`}})},i);n.then(s=>r(s)).catch(s=>{r({ok:!1,requestId:e,error:{code:"EXECUTION_FAILED",message:s instanceof Error?s.message:String(s)}})}).finally(()=>{clearTimeout(a)})})}}const ae={annotationEnabled:!1,documentModified:!1,documentOpened:!1,pageCount:0,pageIndex:1,pageMode:0,zoomLevel:100};class dt{constructor(){this.state={...ae}}reset(){this.state={...ae}}update(n){n&&(this.state={...this.state,...n,annotations:n.annotations?[...n.annotations]:this.state.annotations,digitalSignatures:n.digitalSignatures?[...n.digitalSignatures]:this.state.digitalSignatures})}setDocumentOpened(n){this.state={...this.state,documentOpened:n}}snapshot(){return{...this.state,annotations:this.state.annotations?[...this.state.annotations]:void 0,digitalSignatures:this.state.digitalSignatures?[...this.state.digitalSignatures]:void 0}}}const ut=t=>typeof t=="object"&&t!==null&&!Array.isArray(t)?t:void 0,se=t=>typeof t=="object"&&t!==null&&!Array.isArray(t),oe=t=>{if(!se(t))return;const n={};return typeof t.currentPage=="number"&&(n.currentPage=t.currentPage),typeof t.documentType=="string"&&(n.documentType=t.documentType),typeof t.totalPages=="number"?n.totalPages=t.totalPages:typeof t.pageCount=="number"&&(n.totalPages=t.pageCount),typeof t.zoomLevel=="number"&&(n.zoomLevel=t.zoomLevel),Object.keys(n).length>0?n:void 0},lt=t=>{if(!se(t))return{success:!0,status:"ok"};const n=oe(t.state),e=oe(t),i=typeof t.error=="string"?t.error:void 0,r=typeof t.success=="boolean"?t.success:!i,a=typeof t.status=="string"?t.status:r?"ok":"error";return{success:r,status:a,error:i,state:n??e}};class ct{constructor(){this.annotationEvents=[],this.annotationPersist=[],this.annotationRetrieve=[],this.digitalAnnotationRetrieve=[],this.digitalSign=[],this.digitalSignatureParse=[],this.digitalSignatureRetrieve=[],this.documentClosed=[],this.documentOpened=[],this.documentSaved=[],this.pageChange=[],this.pageModeChange=[],this.signServerAuth=[]}emit(n,e){switch(n){case"documentOpened":case"documentLoaded":{const i=lt(e);this.documentOpened.forEach(r=>r(i.status??"ok",i.error??"",i));return}case"documentSaved":this.documentSaved.forEach(i=>i(e));return;case"documentClosed":this.documentClosed.forEach(i=>i(e));return;case"pageChange":{const i=e;this.pageChange.forEach(r=>r(i.pageIndex??1,i.pageCount??0));return}case"pageModeChange":{const i=e;this.pageModeChange.forEach(r=>r(i.pageMode??0));return}case"annotationEvent":{const i=e;this.annotationEvents.forEach(r=>r(i.event??"annotationEvent",ut(i.payload)));return}case"annotationPersist":this.annotationPersist.forEach(i=>i(e));return;case"annotationRetrieve":this.annotationRetrieve.forEach(i=>i(e));return;case"digitalAnnotationRetrieve":this.digitalAnnotationRetrieve.forEach(i=>i(Array.isArray(e)?e:[]));return;case"digitalSign":this.digitalSign.forEach(i=>i(e));return;case"digitalSignatureRetrieve":this.digitalSignatureRetrieve.forEach(i=>i(Array.isArray(e)?e:[]));return;case"digitalSignatureParse":this.digitalSignatureParse.forEach(i=>i(Array.isArray(e)?e:[]));return;case"signServerAuth":this.signServerAuth.forEach(i=>i(e));return;default:return}}}const R="__RHC_OFFICE_READER_RUNTIME__",P="__rhcOfficeReaderRuntimeConfig",ht=["documentLoaded","documentStateChange","documentError"],gt="readerReady",mt="readerUnload",D="readerError",pt=()=>typeof globalThis.crypto?.randomUUID=="function"?globalThis.crypto.randomUUID():`rhc-reader-${Date.now()}-${Math.random().toString(36).slice(2)}`,de=(t,n)=>({appUrl:n?.appUrl??null,configuration:n,element:t}),ue=(t,n)=>{if(!t)return;const e=typeof t=="string"?t.trim():t.userName.trim();if(!e)return;const i=n==null?"":String(n).trim(),r=typeof t=="string"||t.userId===void 0||t.userId===null?"":String(t.userId).trim(),a=i||r;return{sessionUser:e,...a?{sessionUserId:a}:{}}},le=t=>{const n=t.trim().replace(/[-_\s]/g,"").toLowerCase();return n==="annotation"?"ANNOTATION":n==="digitalsign"?"DIGITAL_SIGN":"VIEW"},bt=t=>{const n={};return t.canOpenNewFile!==void 0&&(n.canOpenNewFile=t.canOpenNewFile),t.canPrint!==void 0&&(n.canPrint=t.canPrint),t.canDownload!==void 0&&(n.canDownload=t.canDownload),Object.keys(n).length>0?n:void 0},St=t=>{if(typeof t=="string"){const n=document.getElementById(t);if(!n)throw new Error(`Reader container "${t}" was not found.`);if(!(n instanceof HTMLDivElement))throw new Error(`Reader container "${t}" must be a div element.`);return n}if(!(t instanceof HTMLDivElement))throw new Error("Reader container must be a div element.");return t},ft=()=>{const t=typeof globalThis.matchMedia=="function";return(t?globalThis.matchMedia("(prefers-contrast: more)").matches:!1)?"high-contrast":(t?globalThis.matchMedia("(prefers-color-scheme: dark)").matches:!1)?"dark":"light"},ce=(t,n)=>{const e=t;if(typeof e.addEventListener=="function"){e.addEventListener("change",n);return}typeof e.addListener=="function"&&e.addListener(n)},he=(t,n)=>{const e=t;if(typeof e.removeEventListener=="function"){e.removeEventListener("change",n);return}typeof e.removeListener=="function"&&e.removeListener(n)},Rt=t=>{t.style.display||(t.style.display="block"),t.style.width||(t.style.width="100%"),t.style.height||(t.style.height="100%")},ge=(t,n)=>{const e=n;if(!e)return t.removeAttribute("theme"),null;if(e!=="auto")return t.setAttribute("theme",e),null;const i=()=>{t.setAttribute("theme",ft())};if(i(),typeof globalThis.matchMedia!="function")return null;const r=globalThis.matchMedia("(prefers-color-scheme: dark)"),a=globalThis.matchMedia("(prefers-contrast: more)"),s=()=>{i()};return ce(r,s),ce(a,s),()=>{he(r,s),he(a,s)}};class me{constructor(n){this.bridge=new ot,this.callbacks=new ct,this.readerState=new dt,this.bridgeToolContext={bridge:this.bridge,callbacks:this.callbacks,debug:()=>this.debugEnabled,onAsyncError:e=>this.reportAdapterError(e),state:this.readerState},this.documentTool=new q(this.bridgeToolContext),this.uiTool=new ee(this.bridgeToolContext),this.pageTool=new Q(this.bridgeToolContext),this.pageArrangeTool=new H(this.bridgeToolContext),this.findTool=new x(this.bridgeToolContext),this.signServerTool=new X(this.bridgeToolContext),this.digitalSignTool=new B(this.bridgeToolContext),this.symbologyTool=new J(this.bridgeToolContext),this.annotationTool=new F(this.bridgeToolContext),this.templateSignTool=new Z(this.bridgeToolContext),this.pdfFormFiller=new j(this.bridgeToolContext),this.networkingTool=new z(this.bridgeToolContext),this.cryptoTool=new U(this.bridgeToolContext),this.securityTool=new $(this.bridgeToolContext),this.readyCallbacks=[],this.unloadCallbacks=[],this.debugEnabled=!1,this.isReady=!1,this.removed=!1,this.mountToken=0,this.hostContainer=null,this.readerElement=null,this.readerId=null,this.normalizedConfiguration=null,this.runtimeRestoreState=null,this.nativeEventCleanupCallbacks=[],this.themeCleanup=null,this.enableDebug=e=>{this.debugEnabled=e},this.changeLanguage=e=>{this.readerElement&&this.readerElement.setAttribute("language",e)},this.setThemeMode=e=>{this.themeCleanup?.(),this.themeCleanup=null,this.normalizedConfiguration=this.normalizedConfiguration?{...this.normalizedConfiguration,theme:e}:null,this.readerElement&&(this.themeCleanup=ge(this.readerElement,e))},this.setSessionUser=e=>{this.sessionUser=e,this.syncReaderRuntimeConfig()},this.setSessionUserId=e=>{this.sessionUserId=e,this.syncReaderRuntimeConfig()},this.setSessionData=e=>{this.sessionData=e,this.syncReaderRuntimeConfig()},this.isReaderReady=()=>this.isReady,this.isReaderDestroyed=()=>this.removed&&!this.isReady,this.addReaderReadyCallback=e=>{this.readyCallbacks.push(e)},this.addReaderUnloadCallback=e=>{this.unloadCallbacks.push(e)},this.setReaderEventListener=e=>{this.readerEventListener=e},this.embedReader=(e,i,r)=>{const a=St(e),s=te(i);re(s);const d=Ze(s,r),u=this.mountToken+1;this.removeReader(),this.mountToken=u,this.removed=!1,this.hostContainer=a,this.normalizedConfiguration=d,this.mountReader(a,d,u)},this.removeReader=()=>{const e=!!(this.readerElement||this.hostContainer);if(this.mountToken+=1,this.cleanupNativeEventForwarders(),this.cleanupThemeBinding(),this.restoreReaderRuntimeConfig(),this.readerElement?.parentNode&&this.readerElement.parentNode.removeChild(this.readerElement),this.readerElement=null,this.readerId=null,this.bridge.setReaderId(null),this.readerState.reset(),this.hostContainer=null,this.normalizedConfiguration=null,this.isReady=!1,this.removed=!0,!e)return;const i=de(null,null);this.emitReaderEvent(mt,i),this.unloadCallbacks.forEach(r=>r())},this.getDocumentTool=()=>this.documentTool,this.getUITool=()=>this.uiTool,this.getPageTool=()=>this.pageTool,this.getPageArrangeTool=()=>this.pageArrangeTool,this.getFindTool=()=>this.findTool,this.getSignServerTool=()=>this.signServerTool,this.getDigitalSignTool=()=>this.digitalSignTool,this.getSymbologyTool=()=>this.symbologyTool,this.getAnnotationTool=()=>this.annotationTool,this.getTemplateSignTool=()=>this.templateSignTool,this.getPdfFormFiller=()=>this.pdfFormFiller,this.getNetworkingTool=()=>this.networkingTool,this.getCryptoTool=()=>this.cryptoTool,this.getSecurityTool=()=>this.securityTool,this.createDigitalSignOptions=()=>new Y,this.createKVField=(e,i,r)=>new W(e,i,r),this.mountReader=async(e,i,r)=>{try{if(await nt(i.appUrl),this.mountToken!==r)return;const a=document.createElement(S),s=pt();a.setAttribute(G,s),this.readerId=s,this.bridge.setReaderId(s),Rt(a),this.applyReaderRuntimeConfig(a,i);const d=i.compactViewer===!0&&i.keepPCMenu!==!0;if(a.toggleAttribute("data-sdk-compact-mode",d),a.toggleAttribute("data-sdk-ribbon-hidden",i.ribbonMenu===!1),a.toggleAttribute("data-sdk-ribbon-title-hidden",i.ribbonTitle===!1),a.setAttribute("language",i.language??"zh_CN"),this.themeCleanup=ge(a,i.theme),this.bindNativeReaderEvents(a),e.replaceChildren(a),this.readerElement=a,await Promise.resolve(),this.mountToken!==r)return;const u=await this.bridge.waitForReady();if(this.mountToken!==r)return;if(!u)throw new Error("Editor adapter is not available.");this.isReady=!0;const c=de(a,i);this.emitReaderEvent(gt,c),this.readyCallbacks.forEach(h=>h())}catch(a){if(this.mountToken!==r)return;this.reportReaderError(a)}},this.bindNativeReaderEvents=e=>{this.cleanupNativeEventForwarders();const i=r=>{const a=r instanceof CustomEvent?r.detail:null;!a||a.readerId!==this.readerId||(this.readerState.update(a.statePatch),this.callbacks.emit(a.event,a.payload),this.emitReaderEvent(a.event,a.payload))};e.addEventListener(K,i),this.nativeEventCleanupCallbacks.push(()=>{e.removeEventListener(K,i)}),ht.forEach(r=>{const a=s=>{const d=s instanceof CustomEvent?s.detail:s;r==="documentLoaded"&&this.readerState.setDocumentOpened(!0),this.emitReaderEvent(r,d),r==="documentError"&&this.emitReaderEvent(D,d)};e.addEventListener(r,a),this.nativeEventCleanupCallbacks.push(()=>{e.removeEventListener(r,a)})})},this.cleanupNativeEventForwarders=()=>{this.nativeEventCleanupCallbacks.splice(0).forEach(e=>e())},this.cleanupThemeBinding=()=>{this.themeCleanup?.(),this.themeCleanup=null},this.emitReaderEvent=(e,i)=>{this.readerEventListener?.(e,i)},this.reportReaderError=e=>{this.isReady=!1,this.debugEnabled&&console.error("[RHC Office SDK] Reader mount failed",e),this.emitReaderEvent(D,e)},this.reportAdapterError=e=>{this.debugEnabled&&console.error("[RHC Office SDK] Adapter command failed",e),this.emitReaderEvent(D,e)},this.bridge.configureTimeouts({readyTimeoutMs:n?.readyTimeoutMs,requestTimeoutMs:n?.requestTimeoutMs})}applyReaderRuntimeConfig(n,e){this.restoreReaderRuntimeConfig();const i=ue(this.sessionUser,this.sessionUserId),r={feature:le(e.viewMode),...i??{}},a=bt(e),s={hostKind:"server",...a?{embedOptions:a}:{},server:{baseUrl:e.appUrl},identity:r,...this.sessionData!==void 0?{sessionData:this.sessionData}:{}},d=n;d[P]=s;const u=globalThis,c=u[R];this.runtimeRestoreState={hadPreviousRuntime:c!==void 0,...c!==void 0?{previousRuntime:c}:{}},u[R]=s}syncReaderRuntimeConfig(){if(!this.readerElement||!this.normalizedConfiguration)return;const n=this.readerElement,e=n[P];if(!e)return;const i=ue(this.sessionUser,this.sessionUserId),r={...e.identity??{}};delete r.sessionUser,delete r.sessionUserId;const a={...r,feature:le(this.normalizedConfiguration.viewMode),...i??{}},s={...e,identity:a,...this.sessionData!==void 0?{sessionData:this.sessionData}:{}};n[P]=s,globalThis[R]=s,this.isReady&&this.bridge.request("extension","updateReaderRuntimeConfig",{identity:a,...this.sessionData!==void 0?{sessionData:this.sessionData}:{}}).catch(d=>{this.reportAdapterError(d)})}restoreReaderRuntimeConfig(){if(!this.runtimeRestoreState)return;const n=globalThis;this.runtimeRestoreState.hadPreviousRuntime?n[R]=this.runtimeRestoreState.previousRuntime:Reflect.deleteProperty(n,R),this.runtimeRestoreState=null}}const kt=t=>new me(t);o.AnnotationToolImpl=F,o.CryptoToolImpl=U,o.DIGITAL_SIGN_DEFAULTS=Pe,o.DigitalSignOptions=Y,o.DigitalSignToolImpl=B,o.DocumentSDK=me,o.DocumentToolImpl=q,o.FindToolImpl=x,o.KVField=W,o.NetworkingToolImpl=z,o.PageArrangeToolImpl=H,o.PageToolImpl=Q,o.PdfFormFillerImpl=j,o.SecurityToolImpl=$,o.SignServerToolImpl=X,o.SymbologyToolImpl=J,o.TemplateSignToolImpl=Z,o.UIToolImpl=ee,o.WatermarkDisplay=p,o.createNewDocumentSdk=kt,o.getDigitalSignEnvironment=Re,o.getDigitalSignEnvironmentSource=ke,o.initializeDigitalSignEnvironment=Te,o.patchDigitalSignEnvironment=ve,o.resetDigitalSignEnvironment=Ee,o.setDigitalSignEnvironment=ye,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})});
|
|
2
2
|
//# sourceMappingURL=index.umd.cjs.map
|