@rhc-office/sdk 6.6.398 → 6.6.399
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/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 C="RIGHT_CENTER",P="REGULAR_ESM",M="auto",k="__RHC_OFFICE_DIGITAL_SIGN_ENVIRONMENT__",w={defaults:{bjca:{pin:""},deviceType:"client",edgePosition:C,plugin:{pin:"",usbKeyType:14},rsaMode:M,signatureType:P},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}),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}}),m=t=>({defaults:I(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}),Re=(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),ke=(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:Re(t.defaults,n.defaults),signServer:ke(t.signServer,n.signServer)}),Te=(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}},ye=()=>globalThis,b=()=>{const t=ye();return t[k]||(t[k]={current:m(w),defaults:m(w),overrides:{}}),t[k]},ve=()=>b().current,Ee=()=>{const t=b();return{current:m(t.current),defaults:m(t.defaults),overrides:T(t.overrides)}},Ae=t=>{const n=b();return n.defaults=m(t),n.current=_(n.defaults,n.overrides),n.current},De=t=>{const n=b();return n.current=m(t),n.overrides=T(t),n.current},Ce=t=>{const n=b();return n.overrides=Te(n.overrides,T(t)),n.current=_(n.current,t),n.current},Pe=t=>{const n=b();return t&&(n.defaults=m(t)),n.overrides={},n.current=m(n.defaults),n.current},Me={EDGE_POSITION:C,RSA_MODE:M,SIGNATURE_TYPE:P},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(g=>typeof g=="function"),h=s.filter(g=>typeof g!="function");e.bridge.request(t,d,y(h)).then(g=>{const wt=a.mapCallbackResult?.(g)??[g];c?.(...wt)}).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)}}}),we=t=>typeof t=="object"&&t!==null&&!Array.isArray(t)&&"id"in t,L=t=>t.annotations?.filter(we).map(n=>({...n}))??[],Ie=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"}},Oe={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=>Ie(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"},openTextNoteCalloutDialog:{kind:"command",returnsResult:!0},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.openTextNoteCalloutDialog=e=>this.adapter.openTextNoteCalloutDialog(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",Oe,n)}}const _e={addAttachmentChangedCallback:{kind:"callbackRegister",callback:(t,n)=>{const e=n[0];typeof e=="function"&&t.attachmentChanged.push(e)}},addAttachment:{kind:"command",returnsResult:!0},clearAttachments:{kind:"command",returnsResult:!0},deleteAttachment:{kind:"command",returnsResult:!0},getAttachmentFile:{kind:"query"},getAttachments:{kind:"query"}},Le=async t=>{if(t instanceof Uint8Array)return t.slice();if(t instanceof ArrayBuffer)return new Uint8Array(t.slice(0));if(ArrayBuffer.isView(t)){const n=t;return new Uint8Array(n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength))}return new Uint8Array(await t.arrayBuffer())},Fe=(t,n)=>{const e={...n},i=typeof File<"u"&&t instanceof File,r=typeof Blob<"u"&&t instanceof Blob;if(i?(e.fileName=e.fileName||t.name,e.mimeType=e.mimeType||t.type):r&&(e.fileName=e.fileName||"attachment.bin",e.mimeType=e.mimeType||t.type),e.fileName=typeof e.fileName=="string"?e.fileName.trim():"",!e.fileName)throw new Error("Attachment fileName is required for binary attachment input.");return e.mimeType=typeof e.mimeType=="string"?e.mimeType.trim():"",e.mimeType=e.mimeType||void 0,e};class N{constructor(n){this.getAttachments=()=>this.adapter.getAttachments(),this.getAttachmentFile=e=>this.adapter.getAttachmentFile(e),this.addAttachment=async(e,i)=>{const r=await Le(e),a=Fe(e,i);if(r.byteLength===0)throw new Error("Attachment content cannot be empty.");if(typeof a.maxSizeBytes=="number"&&r.byteLength>a.maxSizeBytes)throw new Error("Attachment content exceeds maxSizeBytes.");return this.addAttachmentCommand({content:r,options:a})},this.deleteAttachment=(e,i)=>this.adapter.deleteAttachment(e,i),this.clearAttachments=e=>this.adapter.clearAttachments(e),this.addAttachmentChangedCallback=e=>this.adapter.addAttachmentChangedCallback(e),this.adapter=l("attachment",_e,n),this.addAttachmentCommand=this.adapter.addAttachment}}const Ne={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",Ne,n)}}const B=t=>t.digitalSignatures?[...t.digitalSignatures]:[],Ue={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=>B(t)},getDigitalSignaturesCount:{kind:"stateGetter",state:t=>B(t).length},enableDigitalSignatureInfoView:{kind:"command"},enableDigitalSignatureRevocation:{kind:"command"}};class V{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",Ue,n)}}const Be="rhc-office.editor-adapter",Ve=1,Ke="__RHC_OFFICE_EDITOR_ADAPTER__",K="rhcOfficeAdapterReady",q="rhcOfficeAdapterEvent",x="data-rhc-office-reader-id",qe={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]},getCurrentDocument:{kind:"query"},getOpenDocuments:{kind:"query"},activateDocument:{kind:"query"},closeDocumentBySessionId:{kind:"query"},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(`[${x}="${i}"]`);return typeof r?.saveAs=="function"?r.saveAs(e):this.adapter.saveAs(e)},this.getDocumentContent=e=>this.adapter.getDocumentContent(e),this.getCurrentDocument=()=>this.adapter.getCurrentDocument(),this.getOpenDocuments=()=>this.adapter.getOpenDocuments(),this.activateDocument=e=>this.adapter.activateDocument(e),this.closeDocumentBySessionId=(e,i)=>this.adapter.closeDocumentBySessionId(e,i),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",qe,n)}}const xe={clearFind:{kind:"command"},findNext:{kind:"command"},findPrevious:{kind:"command"}};class z{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",xe,n)}}const Ge={configFileUpload:{kind:"command"},setHttpHeaders:{kind:"command"},setHttpFormFields:{kind:"command"}};class H{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",Ge,n)}}const ze=()=>({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}}),He=t=>t instanceof Uint8Array?t:new Uint8Array(t);class Q{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(He(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",ze(),n)}}const Qe=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 j{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",Qe(n),n)}}const je={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 W{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",je,n)}}const We=/\s*,\s*/,$e=/\s*-\s*/,v=t=>{const n=Number.parseInt(t.trim(),10);return!Number.isFinite(n)||n<=0?null:n},Ye=t=>{const n=t.split($e);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)},Xe=t=>t?t.split(We).flatMap(e=>Ye(e)).filter((e,i,r)=>r.indexOf(e)===i):[];class ${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=()=>Xe(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 Je={getSecuritySettings:{kind:"query"},isSecuritySettingsLocalEditable:{kind:"query"},setSecuritySettingsLocalEditable:{kind:"query"},setSecuritySettings:{kind:"query"},openSecuritySettingsDialog:{kind:"command"}};class X{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",Je,n)}}const Ze={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 J{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",Ze,n)}}const et={createPDF417Barcode:{kind:"command"}};class Z{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",et,n)}}const tt={setup:{kind:"command"},create:{kind:"command"},getMarkups:{kind:"callbackQuery"},removeMarkup:{kind:"command"},removeAllMarkups:{kind:"command"},sign:{kind:"callbackQuery"}};class ee{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",tt,n)}}const te="[RHC Office SDK]",nt=(t,...n)=>{ie("warn",t,n)},ne=(t,...n)=>{ie("error",t,n)},ie=(t,n,e)=>{const i=t==="error"?console.error.bind(console):console.warn.bind(console);if(e.length>0){i(`${te} ${n}`,...e);return}i(`${te} ${n}`)},it=new Set([2,5]),rt=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:()=>it.has(t.state.snapshot().pageMode)},requestFullScreen:{kind:"command"},exitFullScreen:{kind:"command"},invalidateView:{kind:"command"}});class re{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",rt(n),n)}warnLegacyRibbonMethod(n,e){nt(`ui.${n} is deprecated. Use ui.${e} instead.`)}}const at=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},ae=t=>{const n=new URL(t,globalThis.location?.href??"http://localhost/");return n.hash="",n.pathname.endsWith("/")||(n.pathname=`${n.pathname}/`),n.toString()},st=t=>new URL("editors.bootstrap.js",t).toString(),ot=(t,n)=>{const e=ae(t);return{...n,appUrl:e,theme:at(n.theme)}},S="rhc-office-editor",E="__RHC_OFFICE_SDK_READER_LOADER__",se=()=>{const t=globalThis;return t[E]||(t[E]={activeAppUrl:null,loadPromises:new Map}),t[E]},dt=t=>Array.from(document.querySelectorAll("script")).find(n=>n.src===t)??null;class oe extends Error{constructor(n){super(`Failed to load reader bootstrap script: ${n}`),this.name="ReaderScriptLoadError"}}class ut 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 de=t=>{const n=se();if(n.activeAppUrl&&n.activeAppUrl!==t)throw new ut(n.activeAppUrl,t)},lt=t=>{const n=se();de(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=st(t),r=dt(i);n.activeAppUrl=t;const a=new Promise((s,d)=>{const u=g=>{g?.remove(),d(new oe(i))},c=()=>{globalThis.customElements.whenDefined(S).then(()=>{s()}).catch(d)};if(r){if(globalThis.customElements?.get(S)){s();return}r.addEventListener("error",()=>d(new oe(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},ct=5e3,ht=5e3,mt=()=>{const t=globalThis.crypto;return typeof t?.randomUUID=="function"?t.randomUUID():`adapter-${Date.now()}-${Math.random().toString(36).slice(2)}`},f=()=>globalThis[Ke];class gt extends Error{constructor(n,e,i){super(e),this.name="ReaderBridgeError",this.code=n,this.details=i}}class pt{constructor(n){this.readerId=null,this.readyTimeoutMs=n?.readyTimeoutMs??ht,this.requestTimeoutMs=n?.requestTimeoutMs??ct}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 gt(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:Be,version:Ve,requestId:mt(),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(K,d)},d=u=>{if((u instanceof CustomEvent?u.detail:void 0)?.readerId!==n)return;const h=f();s(),r(h??null)};globalThis.addEventListener(K,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 ue={annotationEnabled:!1,documentModified:!1,documentOpened:!1,pageCount:0,pageIndex:1,pageMode:0,zoomLevel:100};class bt{constructor(){this.state={...ue}}reset(){this.state={...ue}}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,le=t=>typeof t=="object"&&t!==null&&!Array.isArray(t),ce=t=>{if(!le(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},ft=t=>{if(!le(t))return{success:!0,status:"ok"};const n=ce(t.state),e=ce(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 Rt{constructor(){this.annotationEvents=[],this.annotationPersist=[],this.annotationRetrieve=[],this.attachmentChanged=[],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=ft(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"attachmentChanged":this.attachmentChanged.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__",A="__rhcOfficeReaderRuntimeConfig",kt=["documentLoaded","documentStateChange","documentError"],Tt="readerReady",yt="readerUnload",D="readerError",vt=()=>typeof globalThis.crypto?.randomUUID=="function"?globalThis.crypto.randomUUID():`rhc-reader-${Date.now()}-${Math.random().toString(36).slice(2)}`,he=(t,n)=>({appUrl:n?.appUrl??null,configuration:n,element:t}),me=(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}:{}}},Et=t=>{const n=t.trim().replace(/[-_\s]/g,"").toLowerCase();return n==="view"?"VIEW":n==="annotation"?"ANNOTATION":n==="digitalsign"?"DIGITAL_SIGN":null},ge=t=>{const n=[];return t.split(/[;,]/).forEach(e=>{const i=Et(e);i&&!n.includes(i)&&n.push(i)}),n.length>0?n.join(","):"VIEW"},At=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},Dt=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},Ct=()=>{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"},pe=(t,n)=>{const e=t;if(typeof e.addEventListener=="function"){e.addEventListener("change",n);return}typeof e.addListener=="function"&&e.addListener(n)},be=(t,n)=>{const e=t;if(typeof e.removeEventListener=="function"){e.removeEventListener("change",n);return}typeof e.removeListener=="function"&&e.removeListener(n)},Pt=t=>{t.style.display||(t.style.display="block"),t.style.width||(t.style.width="100%"),t.style.height||(t.style.height="100%")},Se=(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",Ct())};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 pe(r,s),pe(a,s),()=>{be(r,s),be(a,s)}};class fe{constructor(n){this.bridge=new pt,this.callbacks=new Rt,this.readerState=new bt,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 re(this.bridgeToolContext),this.pageTool=new j(this.bridgeToolContext),this.pageArrangeTool=new Q(this.bridgeToolContext),this.attachmentTool=new N(this.bridgeToolContext),this.findTool=new z(this.bridgeToolContext),this.signServerTool=new J(this.bridgeToolContext),this.digitalSignTool=new V(this.bridgeToolContext),this.symbologyTool=new Z(this.bridgeToolContext),this.annotationTool=new F(this.bridgeToolContext),this.templateSignTool=new ee(this.bridgeToolContext),this.pdfFormFiller=new W(this.bridgeToolContext),this.networkingTool=new H(this.bridgeToolContext),this.cryptoTool=new U(this.bridgeToolContext),this.securityTool=new X(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=Se(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=Dt(e),s=ae(i);de(s);const d=ot(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=he(null,null);this.emitReaderEvent(yt,i),this.unloadCallbacks.forEach(r=>r())},this.getDocumentTool=()=>this.documentTool,this.getUITool=()=>this.uiTool,this.getPageTool=()=>this.pageTool,this.getPageArrangeTool=()=>this.pageArrangeTool,this.getAttachmentTool=()=>this.attachmentTool,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 $(e,i,r),this.mountReader=async(e,i,r)=>{try{if(await lt(i.appUrl),this.mountToken!==r)return;const a=document.createElement(S),s=vt();a.setAttribute(x,s),this.readerId=s,this.bridge.setReaderId(s),Pt(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=Se(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=he(a,i);this.emitReaderEvent(Tt,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(q,i),this.nativeEventCleanupCallbacks.push(()=>{e.removeEventListener(q,i)}),kt.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&&ne("Reader mount failed",e),this.emitReaderEvent(D,e)},this.reportAdapterError=e=>{this.debugEnabled&&ne("Adapter command failed",e),this.emitReaderEvent(D,e)},this.bridge.configureTimeouts({readyTimeoutMs:n?.readyTimeoutMs,requestTimeoutMs:n?.requestTimeoutMs})}applyReaderRuntimeConfig(n,e){this.restoreReaderRuntimeConfig();const i=me(this.sessionUser,this.sessionUserId),r={feature:ge(e.viewMode),...i??{}},a=At(e),s={hostKind:"server",...a?{embedOptions:a}:{},server:{baseUrl:e.appUrl},identity:r,...this.sessionData!==void 0?{sessionData:this.sessionData}:{}},d=n;d[A]=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[A];if(!e)return;const i=me(this.sessionUser,this.sessionUserId),r={...e.identity??{}};delete r.sessionUser,delete r.sessionUserId;const a={...r,feature:ge(this.normalizedConfiguration.viewMode),...i??{}},s={...e,identity:a,...this.sessionData!==void 0?{sessionData:this.sessionData}:{}};n[A]=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 Mt=t=>new fe(t);o.AnnotationToolImpl=F,o.AttachmentToolImpl=N,o.CryptoToolImpl=U,o.DIGITAL_SIGN_DEFAULTS=Me,o.DigitalSignOptions=Y,o.DigitalSignToolImpl=V,o.DocumentSDK=fe,o.DocumentToolImpl=G,o.FindToolImpl=z,o.KVField=$,o.NetworkingToolImpl=H,o.PageArrangeToolImpl=Q,o.PageToolImpl=j,o.PdfFormFillerImpl=W,o.SecurityToolImpl=X,o.SignServerToolImpl=J,o.SymbologyToolImpl=Z,o.TemplateSignToolImpl=ee,o.UIToolImpl=re,o.WatermarkDisplay=p,o.createNewDocumentSdk=Mt,o.getDigitalSignEnvironment=ve,o.getDigitalSignEnvironmentSource=Ee,o.initializeDigitalSignEnvironment=Ae,o.patchDigitalSignEnvironment=Ce,o.resetDigitalSignEnvironment=Pe,o.setDigitalSignEnvironment=De,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",P="REGULAR_ESM",M="auto",k="__RHC_OFFICE_DIGITAL_SIGN_ENVIRONMENT__",w={defaults:{bjca:{pin:""},deviceType:"client",edgePosition:C,plugin:{pin:"",usbKeyType:14},rsaMode:M,signatureType:P},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}),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}}),m=t=>({defaults:I(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}),Re=(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),ke=(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:Re(t.defaults,n.defaults),signServer:ke(t.signServer,n.signServer)}),Te=(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}},ye=()=>globalThis,b=()=>{const t=ye();return t[k]||(t[k]={current:m(w),defaults:m(w),overrides:{}}),t[k]},ve=()=>b().current,Ee=()=>{const t=b();return{current:m(t.current),defaults:m(t.defaults),overrides:T(t.overrides)}},Ae=t=>{const n=b();return n.defaults=m(t),n.current=_(n.defaults,n.overrides),n.current},De=t=>{const n=b();return n.current=m(t),n.overrides=T(t),n.current},Ce=t=>{const n=b();return n.overrides=Te(n.overrides,T(t)),n.current=_(n.current,t),n.current},Pe=t=>{const n=b();return t&&(n.defaults=m(t)),n.overrides={},n.current=m(n.defaults),n.current},Me={EDGE_POSITION:C,RSA_MODE:M,SIGNATURE_TYPE:P},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(g=>typeof g=="function"),h=s.filter(g=>typeof g!="function");e.bridge.request(t,d,y(h)).then(g=>{const wt=a.mapCallbackResult?.(g)??[g];c?.(...wt)}).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)}}}),we=t=>typeof t=="object"&&t!==null&&!Array.isArray(t)&&"id"in t,L=t=>t.annotations?.filter(we).map(n=>({...n}))??[],Ie=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"}},Oe={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=>Ie(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"},openTextNoteCalloutDialog:{kind:"command",returnsResult:!0},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.openTextNoteCalloutDialog=e=>this.adapter.openTextNoteCalloutDialog(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",Oe,n)}}const _e={addAttachmentChangedCallback:{kind:"callbackRegister",callback:(t,n)=>{const e=n[0];typeof e=="function"&&t.attachmentChanged.push(e)}},addAttachment:{kind:"command",returnsResult:!0},clearAttachments:{kind:"command",returnsResult:!0},deleteAttachment:{kind:"command",returnsResult:!0},getAttachmentFile:{kind:"query"},getAttachments:{kind:"query"}},Le=async t=>{if(t instanceof Uint8Array)return t.slice();if(t instanceof ArrayBuffer)return new Uint8Array(t.slice(0));if(ArrayBuffer.isView(t)){const n=t;return new Uint8Array(n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength))}return new Uint8Array(await t.arrayBuffer())},Fe=(t,n)=>{const e={...n},i=typeof File<"u"&&t instanceof File,r=typeof Blob<"u"&&t instanceof Blob;if(i?(e.fileName=e.fileName||t.name,e.mimeType=e.mimeType||t.type):r&&(e.fileName=e.fileName||"attachment.bin",e.mimeType=e.mimeType||t.type),e.fileName=typeof e.fileName=="string"?e.fileName.trim():"",!e.fileName)throw new Error("Attachment fileName is required for binary attachment input.");return e.mimeType=typeof e.mimeType=="string"?e.mimeType.trim():"",e.mimeType=e.mimeType||void 0,e};class N{constructor(n){this.getAttachments=()=>this.adapter.getAttachments(),this.getAttachmentFile=e=>this.adapter.getAttachmentFile(e),this.addAttachment=async(e,i)=>{const r=await Le(e),a=Fe(e,i);if(r.byteLength===0)throw new Error("Attachment content cannot be empty.");if(typeof a.maxSizeBytes=="number"&&r.byteLength>a.maxSizeBytes)throw new Error("Attachment content exceeds maxSizeBytes.");return this.addAttachmentCommand({content:r,options:a})},this.deleteAttachment=(e,i)=>this.adapter.deleteAttachment(e,i),this.clearAttachments=e=>this.adapter.clearAttachments(e),this.addAttachmentChangedCallback=e=>this.adapter.addAttachmentChangedCallback(e),this.adapter=l("attachment",_e,n),this.addAttachmentCommand=this.adapter.addAttachment}}const Ne={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",Ne,n)}}const B=t=>t.digitalSignatures?[...t.digitalSignatures]:[],Ue={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=>B(t)},getDigitalSignaturesCount:{kind:"stateGetter",state:t=>B(t).length},enableDigitalSignatureInfoView:{kind:"command"},enableDigitalSignatureRevocation:{kind:"command"}};class V{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",Ue,n)}}const Be="rhc-office.editor-adapter",Ve=1,Ke="__RHC_OFFICE_EDITOR_ADAPTER__",K="rhcOfficeAdapterReady",q="rhcOfficeAdapterEvent",x="data-rhc-office-reader-id",qe={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]},getCurrentDocument:{kind:"query"},getOpenDocuments:{kind:"query"},activateDocument:{kind:"query"},closeDocumentBySessionId:{kind:"query"},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(`[${x}="${i}"]`);return typeof r?.saveAs=="function"?r.saveAs(e):this.adapter.saveAs(e)},this.getDocumentContent=e=>this.adapter.getDocumentContent(e),this.getCurrentDocument=()=>this.adapter.getCurrentDocument(),this.getOpenDocuments=()=>this.adapter.getOpenDocuments(),this.activateDocument=e=>this.adapter.activateDocument(e),this.closeDocumentBySessionId=(e,i)=>this.adapter.closeDocumentBySessionId(e,i),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",qe,n)}}const xe={clearFind:{kind:"command"},findNext:{kind:"command"},findPrevious:{kind:"command"}};class z{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",xe,n)}}const Ge={configFileUpload:{kind:"command"},setHttpHeaders:{kind:"command"},setHttpFormFields:{kind:"command"}};class H{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",Ge,n)}}const ze=()=>({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}}),He=t=>t instanceof Uint8Array?t:new Uint8Array(t);class Q{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(He(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",ze(),n)}}const Qe=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 j{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",Qe(n),n)}}const je={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 W{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",je,n)}}const We=/\s*,\s*/,$e=/\s*-\s*/,v=t=>{const n=Number.parseInt(t.trim(),10);return!Number.isFinite(n)||n<=0?null:n},Ye=t=>{const n=t.split($e);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)},Xe=t=>t?t.split(We).flatMap(e=>Ye(e)).filter((e,i,r)=>r.indexOf(e)===i):[];class ${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=()=>Xe(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 Je={getSecuritySettings:{kind:"query"},isSecuritySettingsLocalEditable:{kind:"query"},setSecuritySettingsLocalEditable:{kind:"query"},setSecuritySettings:{kind:"query"},openSecuritySettingsDialog:{kind:"command"}};class X{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",Je,n)}}const Ze={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 J{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",Ze,n)}}const et={createPDF417Barcode:{kind:"command"}};class Z{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",et,n)}}const tt={setup:{kind:"command"},create:{kind:"command"},getMarkups:{kind:"callbackQuery"},removeMarkup:{kind:"command"},removeAllMarkups:{kind:"command"},sign:{kind:"callbackQuery"}};class ee{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",tt,n)}}const te="[RHC Office SDK]",nt=(t,...n)=>{ie("warn",t,n)},ne=(t,...n)=>{ie("error",t,n)},ie=(t,n,e)=>{const i=t==="error"?console.error.bind(console):console.warn.bind(console);if(e.length>0){i(`${te} ${n}`,...e);return}i(`${te} ${n}`)},it=new Set([2,5]),rt=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:()=>it.has(t.state.snapshot().pageMode)},requestFullScreen:{kind:"command"},exitFullScreen:{kind:"command"},invalidateView:{kind:"command"}});class re{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",rt(n),n)}warnLegacyRibbonMethod(n,e){nt(`ui.${n} is deprecated. Use ui.${e} instead.`)}}const at=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},ae=t=>{const n=new URL(t,globalThis.location?.href??"http://localhost/");return n.hash="",n.pathname.endsWith("/")||(n.pathname=`${n.pathname}/`),n.toString()},st=t=>new URL("editors.bootstrap.js",t).toString(),ot=(t,n)=>{const e=ae(t);return{...n,appUrl:e,theme:at(n.theme)}},S="rhc-office-editor",E="__RHC_OFFICE_SDK_READER_LOADER__",se=()=>{const t=globalThis;return t[E]||(t[E]={activeAppUrl:null,loadPromises:new Map}),t[E]},dt=t=>Array.from(document.querySelectorAll("script")).find(n=>n.src===t)??null;class oe extends Error{constructor(n){super(`Failed to load reader bootstrap script: ${n}`),this.name="ReaderScriptLoadError"}}class ut 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 de=t=>{const n=se();if(n.activeAppUrl&&n.activeAppUrl!==t)throw new ut(n.activeAppUrl,t)},lt=t=>{const n=se();de(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=st(t),r=dt(i);n.activeAppUrl=t;const a=new Promise((s,d)=>{const u=g=>{g?.remove(),d(new oe(i))},c=()=>{globalThis.customElements.whenDefined(S).then(()=>{s()}).catch(d)};if(r){if(globalThis.customElements?.get(S)){s();return}r.addEventListener("error",()=>d(new oe(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},ct=5e3,ht=5e3,mt=()=>{const t=globalThis.crypto;return typeof t?.randomUUID=="function"?t.randomUUID():`adapter-${Date.now()}-${Math.random().toString(36).slice(2)}`},f=()=>globalThis[Ke];class gt extends Error{constructor(n,e,i){super(e),this.name="ReaderBridgeError",this.code=n,this.details=i}}class pt{constructor(n){this.readerId=null,this.readyTimeoutMs=n?.readyTimeoutMs??ht,this.requestTimeoutMs=n?.requestTimeoutMs??ct}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 gt(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:Be,version:Ve,requestId:mt(),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(K,d)},d=u=>{if((u instanceof CustomEvent?u.detail:void 0)?.readerId!==n)return;const h=f();s(),r(h??null)};globalThis.addEventListener(K,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 ue={annotationEnabled:!1,documentModified:!1,documentOpened:!1,pageCount:0,pageIndex:1,pageMode:0,zoomLevel:100};class bt{constructor(){this.state={...ue}}reset(){this.state={...ue}}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,le=t=>typeof t=="object"&&t!==null&&!Array.isArray(t),ce=t=>{if(!le(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},ft=t=>{if(!le(t))return{success:!0,status:"ok"};const n=ce(t.state),e=ce(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 Rt{constructor(){this.annotationEvents=[],this.annotationPersist=[],this.annotationRetrieve=[],this.attachmentChanged=[],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=ft(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"attachmentChanged":this.attachmentChanged.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__",A="__rhcOfficeReaderRuntimeConfig",kt=["documentLoaded","documentStateChange","documentError"],Tt="readerReady",yt="readerUnload",D="readerError",vt=()=>typeof globalThis.crypto?.randomUUID=="function"?globalThis.crypto.randomUUID():`rhc-reader-${Date.now()}-${Math.random().toString(36).slice(2)}`,he=(t,n)=>({appUrl:n?.appUrl??null,configuration:n,element:t}),me=(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}:{}}},Et=t=>{const n=t.trim().replace(/[-_\s]/g,"").toLowerCase();return n==="view"?"VIEW":n==="annotation"?"ANNOTATION":n==="digitalsign"?"DIGITAL_SIGN":null},ge=t=>{const n=["VIEW"];return t.split(/[;,]/).forEach(e=>{const i=Et(e);i&&!n.includes(i)&&n.push(i)}),n.join(",")},At=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},Dt=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},Ct=()=>{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"},pe=(t,n)=>{const e=t;if(typeof e.addEventListener=="function"){e.addEventListener("change",n);return}typeof e.addListener=="function"&&e.addListener(n)},be=(t,n)=>{const e=t;if(typeof e.removeEventListener=="function"){e.removeEventListener("change",n);return}typeof e.removeListener=="function"&&e.removeListener(n)},Pt=t=>{t.style.display||(t.style.display="block"),t.style.width||(t.style.width="100%"),t.style.height||(t.style.height="100%")},Se=(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",Ct())};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 pe(r,s),pe(a,s),()=>{be(r,s),be(a,s)}};class fe{constructor(n){this.bridge=new pt,this.callbacks=new Rt,this.readerState=new bt,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 re(this.bridgeToolContext),this.pageTool=new j(this.bridgeToolContext),this.pageArrangeTool=new Q(this.bridgeToolContext),this.attachmentTool=new N(this.bridgeToolContext),this.findTool=new z(this.bridgeToolContext),this.signServerTool=new J(this.bridgeToolContext),this.digitalSignTool=new V(this.bridgeToolContext),this.symbologyTool=new Z(this.bridgeToolContext),this.annotationTool=new F(this.bridgeToolContext),this.templateSignTool=new ee(this.bridgeToolContext),this.pdfFormFiller=new W(this.bridgeToolContext),this.networkingTool=new H(this.bridgeToolContext),this.cryptoTool=new U(this.bridgeToolContext),this.securityTool=new X(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=Se(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=Dt(e),s=ae(i);de(s);const d=ot(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=he(null,null);this.emitReaderEvent(yt,i),this.unloadCallbacks.forEach(r=>r())},this.getDocumentTool=()=>this.documentTool,this.getUITool=()=>this.uiTool,this.getPageTool=()=>this.pageTool,this.getPageArrangeTool=()=>this.pageArrangeTool,this.getAttachmentTool=()=>this.attachmentTool,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 $(e,i,r),this.mountReader=async(e,i,r)=>{try{if(await lt(i.appUrl),this.mountToken!==r)return;const a=document.createElement(S),s=vt();a.setAttribute(x,s),this.readerId=s,this.bridge.setReaderId(s),Pt(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=Se(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=he(a,i);this.emitReaderEvent(Tt,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(q,i),this.nativeEventCleanupCallbacks.push(()=>{e.removeEventListener(q,i)}),kt.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&&ne("Reader mount failed",e),this.emitReaderEvent(D,e)},this.reportAdapterError=e=>{this.debugEnabled&&ne("Adapter command failed",e),this.emitReaderEvent(D,e)},this.bridge.configureTimeouts({readyTimeoutMs:n?.readyTimeoutMs,requestTimeoutMs:n?.requestTimeoutMs})}applyReaderRuntimeConfig(n,e){this.restoreReaderRuntimeConfig();const i=me(this.sessionUser,this.sessionUserId),r={feature:ge(e.viewMode),...i??{}},a=At(e),s={hostKind:"server",...a?{embedOptions:a}:{},server:{baseUrl:e.appUrl},identity:r,...this.sessionData!==void 0?{sessionData:this.sessionData}:{}},d=n;d[A]=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[A];if(!e)return;const i=me(this.sessionUser,this.sessionUserId),r={...e.identity??{}};delete r.sessionUser,delete r.sessionUserId;const a={...r,feature:ge(this.normalizedConfiguration.viewMode),...i??{}},s={...e,identity:a,...this.sessionData!==void 0?{sessionData:this.sessionData}:{}};n[A]=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 Mt=t=>new fe(t);o.AnnotationToolImpl=F,o.AttachmentToolImpl=N,o.CryptoToolImpl=U,o.DIGITAL_SIGN_DEFAULTS=Me,o.DigitalSignOptions=Y,o.DigitalSignToolImpl=V,o.DocumentSDK=fe,o.DocumentToolImpl=G,o.FindToolImpl=z,o.KVField=$,o.NetworkingToolImpl=H,o.PageArrangeToolImpl=Q,o.PageToolImpl=j,o.PdfFormFillerImpl=W,o.SecurityToolImpl=X,o.SignServerToolImpl=J,o.SymbologyToolImpl=Z,o.TemplateSignToolImpl=ee,o.UIToolImpl=re,o.WatermarkDisplay=p,o.createNewDocumentSdk=Mt,o.getDigitalSignEnvironment=ve,o.getDigitalSignEnvironmentSource=Ee,o.initializeDigitalSignEnvironment=Ae,o.patchDigitalSignEnvironment=Ce,o.resetDigitalSignEnvironment=Pe,o.setDigitalSignEnvironment=De,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})});
|
|
2
2
|
//# sourceMappingURL=index.umd.cjs.map
|