@rhc-office/sdk 6.6.367 → 6.6.381
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/browser/document-viewer.js +1 -1
- package/dist/browser/document-viewer.js.map +1 -1
- package/dist/index.js +58 -53
- 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/viewer/DocumentSDK.ts +43 -12
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",R="__RHC_OFFICE_DIGITAL_SIGN_ENVIRONMENT__",M={defaults:{bjca:{pin:""},deviceType:"client",edgePosition:D,kol:{appId:"",appName:"",pin:"",serviceUrl:"",token:""},plugin:{pin:"",usbKeyType:14},rsaMode:A,signatureType:C},signServer:{authSource:"Password",defaultLogin:"",defaultPassword:"",defaultServer:"",kol:{appId:"",appName:"",serviceUrl:"",token:""},macAddress:"",token:"",usbKey:{checkCertificateBinding:!1,usbKeyType:14}}},I=t=>({bjca:{pin:t.bjca.pin},deviceType:t.deviceType,edgePosition:t.edgePosition,kol:{appId:t.kol.appId,appName:t.kol.appName,pin:t.kol.pin,serviceUrl:t.kol.serviceUrl,token:t.kol.token},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,kol:{appId:t.kol.appId,appName:t.kol.appName,serviceUrl:t.kol.serviceUrl,token:t.kol.token},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,kol:t.defaults.kol?{...t.defaults.kol}:void 0,plugin:t.defaults.plugin?{...t.defaults.plugin}:void 0}:void 0,signServer:t.signServer?{...t.signServer,kol:t.signServer.kol?{...t.signServer.kol}:void 0,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,kol:{appId:n.kol?.appId??t.kol.appId,appName:n.kol?.appName??t.kol.appName,pin:n.kol?.pin??t.kol.pin,serviceUrl:n.kol?.serviceUrl??t.kol.serviceUrl,token:n.kol?.token??t.kol.token},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,kol:{appId:n.kol?.appId??t.kol.appId,appName:n.kol?.appName??t.kol.appName,serviceUrl:n.kol?.serviceUrl??t.kol.serviceUrl,token:n.kol?.token??t.kol.token},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?.kol||n.defaults?.kol?{...t.defaults?.kol,...n.defaults?.kol}:void 0,r=t.defaults?.plugin||n.defaults?.plugin?{...t.defaults?.plugin,...n.defaults?.plugin}:void 0,a=t.signServer?.kol||n.signServer?.kol?{...t.signServer?.kol,...n.signServer?.kol}:void 0,s=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?{kol:i}:{},...r?{plugin:r}:{}}:void 0,signServer:t.signServer||n.signServer?{...t.signServer,...n.signServer,...a?{kol:a}:{},...s?{usbKey:s}:{}}:void 0}},pe=()=>globalThis,b=()=>{const t=pe();return t[R]||(t[R]={current:g(M),defaults:g(M),overrides:{}}),t[R]},be=()=>b().current,Se=()=>{const t=b();return{current:g(t.current),defaults:g(t.defaults),overrides:T(t.overrides)}},ke=t=>{const n=b();return n.defaults=g(t),n.current=O(n.defaults,n.overrides),n.current},fe=t=>{const n=b();return n.current=g(t),n.overrides=T(t),n.current},Re=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},ve={EDGE_POSITION:D,RSA_MODE:A,SIGNATURE_TYPE:C},v=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,v(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,v(c)).then(m=>{const kt=a.mapCallbackResult?.(m)??[m];h?.(...kt)}).catch(e.onAsyncError);return}const l=e.bridge.request(t,d,v(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)}}}),ye=t=>typeof t=="object"&&t!==null&&!Array.isArray(t)&&"id"in t,_=t=>t.annotations?.filter(ye).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=>this.adapter.setUploadUrl(e),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*/,y=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=y(n[0]??"");return r?[r]:[]}const e=y(n[0]??""),i=y(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"},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.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)}`},k=()=>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?k()?.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=k();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=k();s(),r(c??null)};globalThis.addEventListener(B,d),a=setTimeout(()=>{s(),r(k()?.getCapabilities(n)?k():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 f="__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=>{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},pt=()=>{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)},bt=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",pt())};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=>{if(typeof this.sessionUser=="string"||!this.sessionUser){this.sessionUser={userName:typeof this.sessionUser=="string"?this.sessionUser:"",userId:e};return}this.sessionUser={...this.sessionUser,userId: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=mt(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),bt(a),this.applyReaderRuntimeConfig(a,i);const d=i.compactViewer===!0&&i.keepPCMenu!==!0;if(a.toggleAttribute("data-sdk-compact-mode",d),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={hostKind:"server",server:{baseUrl:e.appUrl}},r=n;r[ut]=i;const a=globalThis,s=a[f];this.runtimeRestoreState={hadPreviousRuntime:s!==void 0,...s!==void 0?{previousRuntime:s}:{}},a[f]=i}restoreReaderRuntimeConfig(){if(!this.runtimeRestoreState)return;const n=globalThis;this.runtimeRestoreState.hadPreviousRuntime?n[f]=this.runtimeRestoreState.previousRuntime:Reflect.deleteProperty(n,f),this.runtimeRestoreState=null}}const St=t=>new ce(t);o.AnnotationToolImpl=L,o.CryptoToolImpl=F,o.DIGITAL_SIGN_DEFAULTS=ve,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=St,o.getDigitalSignEnvironment=be,o.getDigitalSignEnvironmentSource=Se,o.initializeDigitalSignEnvironment=ke,o.patchDigitalSignEnvironment=Re,o.resetDigitalSignEnvironment=Te,o.setDigitalSignEnvironment=fe,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 D="RIGHT_CENTER",C="REGULAR_ESM",A="auto",R="__RHC_OFFICE_DIGITAL_SIGN_ENVIRONMENT__",M={defaults:{bjca:{pin:""},deviceType:"client",edgePosition:D,kol:{appId:"",appName:"",pin:"",serviceUrl:"",token:""},plugin:{pin:"",usbKeyType:14},rsaMode:A,signatureType:C},signServer:{authSource:"Password",defaultLogin:"",defaultPassword:"",defaultServer:"",kol:{appId:"",appName:"",serviceUrl:"",token:""},macAddress:"",token:"",usbKey:{checkCertificateBinding:!1,usbKeyType:14}}},I=t=>({bjca:{pin:t.bjca.pin},deviceType:t.deviceType,edgePosition:t.edgePosition,kol:{appId:t.kol.appId,appName:t.kol.appName,pin:t.kol.pin,serviceUrl:t.kol.serviceUrl,token:t.kol.token},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,kol:{appId:t.kol.appId,appName:t.kol.appName,serviceUrl:t.kol.serviceUrl,token:t.kol.token},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,kol:t.defaults.kol?{...t.defaults.kol}:void 0,plugin:t.defaults.plugin?{...t.defaults.plugin}:void 0}:void 0,signServer:t.signServer?{...t.signServer,kol:t.signServer.kol?{...t.signServer.kol}:void 0,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,kol:{appId:n.kol?.appId??t.kol.appId,appName:n.kol?.appName??t.kol.appName,pin:n.kol?.pin??t.kol.pin,serviceUrl:n.kol?.serviceUrl??t.kol.serviceUrl,token:n.kol?.token??t.kol.token},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,kol:{appId:n.kol?.appId??t.kol.appId,appName:n.kol?.appName??t.kol.appName,serviceUrl:n.kol?.serviceUrl??t.kol.serviceUrl,token:n.kol?.token??t.kol.token},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?.kol||n.defaults?.kol?{...t.defaults?.kol,...n.defaults?.kol}:void 0,r=t.defaults?.plugin||n.defaults?.plugin?{...t.defaults?.plugin,...n.defaults?.plugin}:void 0,a=t.signServer?.kol||n.signServer?.kol?{...t.signServer?.kol,...n.signServer?.kol}:void 0,s=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?{kol:i}:{},...r?{plugin:r}:{}}:void 0,signServer:t.signServer||n.signServer?{...t.signServer,...n.signServer,...a?{kol:a}:{},...s?{usbKey:s}:{}}:void 0}},pe=()=>globalThis,b=()=>{const t=pe();return t[R]||(t[R]={current:g(M),defaults:g(M),overrides:{}}),t[R]},be=()=>b().current,Se=()=>{const t=b();return{current:g(t.current),defaults:g(t.defaults),overrides:T(t.overrides)}},ke=t=>{const n=b();return n.defaults=g(t),n.current=O(n.defaults,n.overrides),n.current},fe=t=>{const n=b();return n.current=g(t),n.overrides=T(t),n.current},Re=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},ve={EDGE_POSITION:D,RSA_MODE:A,SIGNATURE_TYPE:C},v=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,v(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,v(c)).then(m=>{const ft=a.mapCallbackResult?.(m)??[m];h?.(...ft)}).catch(e.onAsyncError);return}const l=e.bridge.request(t,d,v(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)}}}),ye=t=>typeof t=="object"&&t!==null&&!Array.isArray(t)&&"id"in t,_=t=>t.annotations?.filter(ye).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=>this.adapter.setUploadUrl(e),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*/,y=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=y(n[0]??"");return r?[r]:[]}const e=y(n[0]??""),i=y(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"},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.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)}`},k=()=>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?k()?.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=k();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=k();s(),r(c??null)};globalThis.addEventListener(B,d),a=setTimeout(()=>{s(),r(k()?.getCapabilities(n)?k():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 f="__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[f];this.runtimeRestoreState={hadPreviousRuntime:d!==void 0,...d!==void 0?{previousRuntime:d}:{}},s[f]=r}restoreReaderRuntimeConfig(){if(!this.runtimeRestoreState)return;const n=globalThis;this.runtimeRestoreState.hadPreviousRuntime?n[f]=this.runtimeRestoreState.previousRuntime:Reflect.deleteProperty(n,f),this.runtimeRestoreState=null}}const kt=t=>new ce(t);o.AnnotationToolImpl=L,o.CryptoToolImpl=F,o.DIGITAL_SIGN_DEFAULTS=ve,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=kt,o.getDigitalSignEnvironment=be,o.getDigitalSignEnvironmentSource=Se,o.initializeDigitalSignEnvironment=ke,o.patchDigitalSignEnvironment=Re,o.resetDigitalSignEnvironment=Te,o.setDigitalSignEnvironment=fe,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})});
|
|
2
2
|
//# sourceMappingURL=index.umd.cjs.map
|