@arbidocs/react 0.5.103 → 0.5.104
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/annotations/freeze/index.cjs +14 -14
- package/dist/annotations/freeze/index.js +3 -3
- package/dist/artifacts/index.cjs +34 -34
- package/dist/artifacts/index.js +6 -6
- package/dist/bundle-DCWPYNGD.cjs +14 -0
- package/dist/{bundle-IC65W2AO.cjs.map → bundle-DCWPYNGD.cjs.map} +1 -1
- package/dist/bundle-JCKKGEJE.js +5 -0
- package/dist/{bundle-YNOX7VIL.js.map → bundle-JCKKGEJE.js.map} +1 -1
- package/dist/calls/livekit/index.cjs +44 -44
- package/dist/calls/livekit/index.js +5 -5
- package/dist/{chunk-TV4QQVZM.cjs → chunk-524AFWK7.cjs} +6 -6
- package/dist/{chunk-TV4QQVZM.cjs.map → chunk-524AFWK7.cjs.map} +1 -1
- package/dist/{chunk-XOS7ISIR.cjs → chunk-6TUNWGRJ.cjs} +5 -5
- package/dist/{chunk-XOS7ISIR.cjs.map → chunk-6TUNWGRJ.cjs.map} +1 -1
- package/dist/{chunk-NDIKMOBJ.cjs → chunk-7C77IBQZ.cjs} +3 -3
- package/dist/{chunk-NDIKMOBJ.cjs.map → chunk-7C77IBQZ.cjs.map} +1 -1
- package/dist/{chunk-OSFKAJT2.js → chunk-7KZS22EK.js} +5 -5
- package/dist/{chunk-OSFKAJT2.js.map → chunk-7KZS22EK.js.map} +1 -1
- package/dist/{chunk-NIKPG4PW.js → chunk-A2XSLTIP.js} +3 -3
- package/dist/{chunk-NIKPG4PW.js.map → chunk-A2XSLTIP.js.map} +1 -1
- package/dist/{chunk-PJMCBB6E.js → chunk-A6HUB6PX.js} +4 -4
- package/dist/{chunk-PJMCBB6E.js.map → chunk-A6HUB6PX.js.map} +1 -1
- package/dist/{chunk-PC4O3JDV.cjs → chunk-B6I2HRRF.cjs} +3 -3
- package/dist/{chunk-PC4O3JDV.cjs.map → chunk-B6I2HRRF.cjs.map} +1 -1
- package/dist/{chunk-UW2SGTI5.js → chunk-GR7CZEJJ.js} +3 -3
- package/dist/{chunk-UW2SGTI5.js.map → chunk-GR7CZEJJ.js.map} +1 -1
- package/dist/{chunk-FQVNZCTD.cjs → chunk-LBAG7KL7.cjs} +3 -3
- package/dist/{chunk-FQVNZCTD.cjs.map → chunk-LBAG7KL7.cjs.map} +1 -1
- package/dist/{chunk-NJEXFOA2.js → chunk-LD2SJBXC.js} +5 -5
- package/dist/{chunk-NJEXFOA2.js.map → chunk-LD2SJBXC.js.map} +1 -1
- package/dist/{chunk-DPR7LVZO.js → chunk-NNAJLY6B.js} +3 -3
- package/dist/{chunk-DPR7LVZO.js.map → chunk-NNAJLY6B.js.map} +1 -1
- package/dist/{chunk-AXKIOI2U.js → chunk-RC42YRVA.js} +3 -3
- package/dist/{chunk-AXKIOI2U.js.map → chunk-RC42YRVA.js.map} +1 -1
- package/dist/{chunk-C72FSQUE.cjs → chunk-TTHJNRLY.cjs} +6 -6
- package/dist/{chunk-C72FSQUE.cjs.map → chunk-TTHJNRLY.cjs.map} +1 -1
- package/dist/{chunk-4UUZ67JL.js → chunk-V73GLDHD.js} +3 -3
- package/dist/{chunk-4UUZ67JL.js.map → chunk-V73GLDHD.js.map} +1 -1
- package/dist/{chunk-KKRDM5RZ.cjs → chunk-YD25DEMR.cjs} +25 -25
- package/dist/{chunk-KKRDM5RZ.cjs.map → chunk-YD25DEMR.cjs.map} +1 -1
- package/dist/{chunk-XBYVYPU5.cjs → chunk-YNKV4MN6.cjs} +4 -4
- package/dist/{chunk-XBYVYPU5.cjs.map → chunk-YNKV4MN6.cjs.map} +1 -1
- package/dist/document-tools/core.cjs +100 -100
- package/dist/document-tools/core.js +6 -6
- package/dist/document-tools/index.cjs +103 -103
- package/dist/document-tools/index.js +8 -8
- package/dist/index.cjs +1575 -1575
- package/dist/index.js +20 -20
- package/dist/shell/index.cjs +40 -40
- package/dist/shell/index.js +5 -5
- package/dist/ui/index.cjs +154 -154
- package/dist/ui/index.js +2 -2
- package/package.json +3 -3
- package/dist/bundle-IC65W2AO.cjs +0 -14
- package/dist/bundle-YNOX7VIL.js +0 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/document-tools/environment.tsx","../src/document-tools/document-pdf.ts","../src/document-tools/markup-download.ts"],"names":["createContext","useDeploymentDomain","useRef","useCallback","useMemo","jsx","useContext","parseVersionRef"],"mappings":"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","file":"chunk-XBYVYPU5.cjs","sourcesContent":["/**\n * The host app's side of the document tools (markup, freeze, e-signing, versions): the one place\n * the tools reach the app. They never import a store, a router, a toast library or app API code;\n * the host passes what it has to `<DocumentToolsProvider>` and every optional field has a default.\n *\n * `client` is an openapi-fetch client for the ARBI API (`ArbiClient['fetch']` from\n * `@arbidocs/client`, or `arbi.getClient().fetch` from an `@arbidocs/sdk` `Arbi`), signed in with the\n * user's session; it carries the auth.\n */\n\nimport { createContext, useCallback, useContext, useMemo, useRef, type ReactNode } from 'react'\nimport type { ArbiClient, operations } from '@arbidocs/client'\nimport { useDeploymentDomain } from '../useArbi'\n\nexport type DocumentToolsClient = ArbiClient['fetch']\n\nexport type DocumentToolsNoticeKind = 'success' | 'error' | 'info' | 'warning'\n\nexport interface DocumentToolsNoticeOptions {\n /** A second line under the message. */\n description?: string\n /** One action button on the notice (\"Email it\"). */\n action?: { label: string; onClick: () => void }\n}\n\nexport type DocumentToolsNotify = (\n message: string,\n kind: DocumentToolsNoticeKind,\n options?: DocumentToolsNoticeOptions\n) => void\n\nexport interface DocumentToolsUser {\n /** The name marks are authored as and the signer's name is prefilled with. */\n name: string\n /** The sign-in email: signing re-derives the user's key from it and the password. */\n email?: string | null\n /** The user's id (usr-*): which fields of a signature request are theirs. */\n externalId?: string | null\n}\n\n/** What changed about a document, so the host can refresh its own lists and caches. */\nexport type DocumentChange =\n /** A version's markup got its first mark or lost its last one. */\n | 'markup'\n /** A signature was added: the document has a new current version. */\n | 'signed'\n /** A new document was made from it (a frozen copy). The ids are the NEW documents. */\n | 'copy'\n /** A new version was saved (the Word editor's Save version): the document's current version. */\n | 'version'\n\n/**\n * The `/v1/document/upload` query, typed from the API schema: `derived_from` is a list (a\n * production set is derived from every document in it), `shared` a boolean.\n */\nexport type DocumentUploadQuery = NonNullable<operations['upload_documents']['parameters']['query']>\n\nexport interface DocumentUploadRequest {\n file: File\n /** `/v1/document/upload` query: `derived_from`, `derived_role`, `shared`, `folder`. */\n query: DocumentUploadQuery\n}\n\n/**\n * The upload query as a URL query string, for a host that posts the upload itself (an XHR with\n * progress): a list repeats its key (`derived_from=a&derived_from=b`), empty values are left out.\n */\nexport function uploadQueryString(query: DocumentUploadQuery): string {\n const params = new URLSearchParams()\n for (const [key, value] of Object.entries(query)) {\n if (value === null || value === undefined) continue\n for (const item of Array.isArray(value) ? value : [value]) params.append(key, String(item))\n }\n return params.toString()\n}\n\nexport interface DocumentToolsEnvironment {\n client: DocumentToolsClient\n /**\n * The deployment domain the user's keys are derived for. Needed for signing. Default: the one\n * the host's `Arbi` computes (`arbi.getDeploymentDomain()`), if any.\n */\n deploymentDomain?: string\n /** The signed-in user; marks are authored as \"You\" without one, and signing is unavailable. */\n user?: DocumentToolsUser | null\n /** Surface a transient message. Default: none (errors still show inline where they can). */\n notify?: DocumentToolsNotify\n /** Open a document or a version reference (`doc-…@v2`): the copy just made, the signed copy. */\n openDocument?: (documentRef: string) => void\n /**\n * Documents changed on the server (see {@link DocumentChange}); refresh the host's lists. The\n * tools wait for it before opening the document, so a copy is listed when it opens.\n */\n onDocumentsChanged?: (documentIds: string[], change: DocumentChange) => void | Promise<void>\n /** Upload a derived copy. Default: `POST /v1/document/upload` through `client`. */\n uploadDocument?: (\n request: DocumentUploadRequest\n ) => Promise<{ doc_ext_ids?: string[] } | undefined>\n /** Save a file to the user's computer. Default: a temporary download link. */\n saveFile?: (blob: Blob, fileName: string) => void\n /** Email a document (offered once it is signed). Omitted: no \"Email it\". */\n emailDocument?: (documentRef: string) => void\n /**\n * The public page that checks a signature (the certificate) in this app. When given, \"View\n * certificate\" opens it in preference to the backend's `certificate_url` (which is on the\n * deployment domain, like the link embedded in the signed PDF). Without it: the backend's\n * `certificate_url`, else `/verify/{reference}` on this origin.\n */\n certificateUrl?: (reference: string) => string\n}\n\n/** The environment with every default filled in. */\nexport interface ResolvedDocumentToolsEnvironment extends DocumentToolsEnvironment {\n prepareFileShare: (documentId: string) => Promise<void>\n registerBeforeFileShare: (documentId: string, flush: () => Promise<void>) => () => void\n notify: DocumentToolsNotify\n saveFile: (blob: Blob, fileName: string) => void\n uploadDocument: (\n request: DocumentUploadRequest\n ) => Promise<{ doc_ext_ids?: string[] } | undefined>\n}\n\n/**\n * Save a blob through a temporary `<a download>`. The object URL is revoked a minute later, not at\n * once: revoking straight after `click()` can cancel the download (Safari, and large files\n * elsewhere) before the browser has read the blob.\n */\nexport function downloadBlob(blob: Blob, fileName: string): void {\n const url = URL.createObjectURL(blob)\n const a = document.createElement('a')\n a.href = url\n a.download = fileName\n document.body.appendChild(a)\n a.click()\n a.remove()\n setTimeout(() => URL.revokeObjectURL(url), 60_000)\n}\n\n/** The default upload: multipart `files` to `/v1/document/upload` through the API client. */\nexport function clientUpload(client: DocumentToolsClient) {\n return async ({ file, query }: DocumentUploadRequest) => {\n const formData = new FormData()\n formData.append('files', file)\n const { data, response } = await client.POST('/v1/document/upload', {\n params: { query },\n // The schema types the multipart body as `{ files: string[] }`; the FormData is sent as is.\n body: formData as unknown as { files: string[] },\n bodySerializer: () => formData,\n })\n if (!response.ok) throw new Error(`Upload failed with status ${response.status}`)\n return data\n }\n}\n\nexport function defaultCertificateUrl(reference: string): string {\n const origin = typeof location === 'undefined' ? '' : location.origin\n return `${origin}/verify/${encodeURIComponent(reference)}`\n}\n\n/**\n * Where \"View certificate\" goes for a signature: the host's `certificateUrl(reference)` when it\n * gives one, else the `certificate_url` the backend returned, else `/verify/{reference}` here.\n */\nexport function certificateLink(\n signature: { reference: string; certificate_url?: string | null },\n certificateUrl?: (reference: string) => string\n): string {\n if (certificateUrl) return certificateUrl(signature.reference)\n return signature.certificate_url || defaultCertificateUrl(signature.reference)\n}\n\nconst DocumentToolsContext = createContext<ResolvedDocumentToolsEnvironment | null>(null)\n\nexport interface DocumentToolsProviderProps extends DocumentToolsEnvironment {\n children: ReactNode\n}\n\nexport function DocumentToolsProvider({ children, ...env }: DocumentToolsProviderProps) {\n const arbiDeploymentDomain = useDeploymentDomain()\n const guards = useRef(new Map<string, () => Promise<void>>())\n const pendingFlushes = useRef(new Map<string, Promise<void>>())\n const registerBeforeFileShare = useCallback((id: string, flush: () => Promise<void>) => {\n guards.current.set(id, flush)\n return () => {\n if (guards.current.get(id) !== flush) return\n guards.current.delete(id)\n const pending = flush()\n pendingFlushes.current.set(id, pending)\n void pending.then(\n () => {\n if (pendingFlushes.current.get(id) === pending) pendingFlushes.current.delete(id)\n },\n () => {}\n )\n }\n }, [])\n const prepareFileShare = useCallback(async (id: string) => {\n const guard = guards.current.get(id)\n if (guard) {\n await guard()\n pendingFlushes.current.delete(id)\n } else await pendingFlushes.current.get(id)\n }, [])\n const {\n client,\n deploymentDomain,\n user,\n notify,\n openDocument,\n onDocumentsChanged,\n uploadDocument,\n saveFile,\n emailDocument,\n certificateUrl,\n } = env\n const value = useMemo<ResolvedDocumentToolsEnvironment>(\n () => ({\n client,\n prepareFileShare,\n registerBeforeFileShare,\n deploymentDomain: deploymentDomain ?? arbiDeploymentDomain,\n user,\n openDocument,\n onDocumentsChanged,\n emailDocument,\n notify: notify ?? (() => {}),\n saveFile: saveFile ?? downloadBlob,\n uploadDocument: uploadDocument ?? clientUpload(client),\n certificateUrl,\n }),\n [\n client,\n prepareFileShare,\n registerBeforeFileShare,\n deploymentDomain,\n arbiDeploymentDomain,\n user,\n notify,\n openDocument,\n onDocumentsChanged,\n uploadDocument,\n saveFile,\n emailDocument,\n certificateUrl,\n ]\n )\n return <DocumentToolsContext.Provider value={value}>{children}</DocumentToolsContext.Provider>\n}\n\n/** The host's environment, or `null` outside a `<DocumentToolsProvider>`. */\nexport function useOptionalDocumentTools(): ResolvedDocumentToolsEnvironment | null {\n return useContext(DocumentToolsContext)\n}\n\n/** The host's environment; throws outside a `<DocumentToolsProvider>`. */\nexport function useDocumentTools(): ResolvedDocumentToolsEnvironment {\n const env = useContext(DocumentToolsContext)\n if (!env) throw new Error('The document tools must be used within a <DocumentToolsProvider>')\n return env\n}\n","/**\n * A document's bytes, through the host's API client: the PDF the viewer and the tools draw on\n * (`/view`: the file itself for a PDF, its PDF rendering for a Word or text file) and the stored\n * file (`/download`). Either takes a document id or a version reference `doc-…@v{n}`.\n */\n\nimport { parseVersionRef } from '../artifacts/versions'\nimport type { DocumentToolsClient } from './environment'\n\nexport interface DocumentFetchOptions {\n /** The version to fetch. Default: the one `documentRef` names, else the current version. */\n version?: number | null\n signal?: AbortSignal\n}\n\n/** A document's bytes could not be fetched; `status` is the HTTP status. */\nexport class DocumentFetchError extends Error {\n readonly status: number\n constructor(message: string, status: number) {\n super(message)\n this.name = 'DocumentFetchError'\n this.status = status\n }\n}\n\nasync function fetchDocumentBytes(\n client: DocumentToolsClient,\n endpoint: '/v1/document/{document_ext_id}/view' | '/v1/document/{document_ext_id}/download',\n documentRef: string,\n options: DocumentFetchOptions,\n headers: Record<string, string>,\n what: string\n): Promise<{ blob: Blob; response: Response }> {\n const ref = parseVersionRef(documentRef)\n const version = options.version ?? ref.version\n const { data, response } = await client.GET(endpoint, {\n params: { path: { document_ext_id: ref.docId }, query: version ? { version } : {} },\n headers,\n parseAs: 'blob',\n signal: options.signal,\n })\n if (!response.ok || !(data instanceof Blob)) {\n throw new DocumentFetchError(\n `${what} could not be loaded (${response.status})`,\n response.status\n )\n }\n return { blob: data, response }\n}\n\n/**\n * The file name a `Content-Disposition` header gives, or `undefined`. Prefers the RFC 5987\n * `filename*=UTF-8''…` form (percent-encoded, any script) over the plain `filename=`.\n */\nexport function contentDispositionFileName(header: string | null | undefined): string | undefined {\n if (!header) return undefined\n const extended = /filename\\*\\s*=\\s*(?:[\\w-]+)?'[^']*'([^;]+)/i.exec(header)\n if (extended) {\n try {\n return decodeURIComponent(extended[1].trim().replace(/^\"|\"$/g, '')) || undefined\n } catch {\n // A malformed escape: fall back to the plain parameter.\n }\n }\n const plain = /filename\\s*=\\s*(\"((?:[^\"\\\\]|\\\\.)*)\"|[^;]+)/i.exec(header)\n if (!plain) return undefined\n const name = plain[2] !== undefined ? plain[2].replace(/\\\\(.)/g, '$1') : plain[1].trim()\n return name || undefined\n}\n\n/**\n * The PDF of a document version: `GET /v1/document/{id}/view?version=` with\n * `Accept: application/pdf`. Throws a {@link DocumentFetchError} when there is none (yet).\n */\nexport async function fetchDocumentPdf(\n client: DocumentToolsClient,\n documentRef: string,\n options: DocumentFetchOptions = {}\n): Promise<Blob> {\n const { blob } = await fetchDocumentBytes(\n client,\n '/v1/document/{document_ext_id}/view',\n documentRef,\n options,\n { Accept: 'application/pdf' },\n 'The PDF'\n )\n return blob\n}\n\n/**\n * The stored file of a document version, as uploaded: `GET /v1/document/{id}/download`. When the\n * server names the file (`Content-Disposition`), the result is a `File` carrying that name.\n */\nexport async function fetchDocumentFile(\n client: DocumentToolsClient,\n documentRef: string,\n options: DocumentFetchOptions = {}\n): Promise<Blob | File> {\n const { blob, response } = await fetchDocumentBytes(\n client,\n '/v1/document/{document_ext_id}/download',\n documentRef,\n options,\n {},\n 'The file'\n )\n const name = contentDispositionFileName(response.headers.get('Content-Disposition'))\n return name ? new File([blob], name, { type: blob.type }) : blob\n}\n","/**\n * \"Download with markup\": a document version's markup PDF, the PDF with its annotations as native\n * PDF annotations (comments, highlights, stamps, unapplied redactions), which Acrobat and Preview\n * show. The plain Download serves the original. Kept apart from the annotation layer code so a\n * documents list can offer it without loading the annotation tools.\n *\n * A SIGNED version is locked: nothing but a further signature changes it. Its markup stays in the\n * separate markup layer (a title beside the signature, say) and is never written into its PDF, so\n * it has no \"Download with markup\"; the plain Download is the signed file as it is.\n */\n\nimport type { DocumentToolsClient } from './environment'\n\ninterface DocumentVersions {\n current_version?: number | null\n versions?: Array<{ n: number; markup_count?: number | null; reason?: string | null }> | null\n}\n\n/** Why \"Download with markup\" is off for a signed version. */\nexport const SIGNED_LOCKED_REASON =\n \"Signed documents can't be changed — download the signed file instead\"\n\n/** Whether a version (default: the current one) is a signed copy, per its version entry. */\nexport function isSignedVersion(doc: DocumentVersions, version?: number): boolean {\n const n = version ?? doc.current_version ?? 1\n return (doc.versions ?? []).some((v) => v.n === n && v.reason === 'signed')\n}\n\nexport class MarkupDownloadError extends Error {\n constructor(\n message: string,\n readonly status?: number\n ) {\n super(message)\n this.name = 'MarkupDownloadError'\n }\n}\n\n/** Whether a document's current version has markup (per its version entries). */\nexport function currentHasMarkup(doc: DocumentVersions): boolean {\n const n = doc.current_version ?? 1\n return (doc.versions ?? []).some((v) => v.n === n && (v.markup_count ?? 0) > 0)\n}\n\n/** Fetch a version's markup PDF (default: the current version's). */\nexport async function fetchMarkupPdf(\n client: DocumentToolsClient,\n documentId: string,\n version?: number\n): Promise<{ blob: Blob; fileName: string }> {\n const { data, response } = await client.GET('/v1/document/{document_ext_id}/markup/pdf', {\n params: { path: { document_ext_id: documentId }, query: version ? { version } : {} },\n parseAs: 'blob',\n })\n if (!response.ok || !data) {\n throw new MarkupDownloadError(\n response.status === 404\n ? 'This document has no markup yet'\n : // The server refuses a signed version: its PDF takes no more changes.\n response.status === 409\n ? SIGNED_LOCKED_REASON\n : 'The markup could not be downloaded',\n response.status\n )\n }\n const disposition = response.headers.get('content-disposition') ?? ''\n const utf8 = /filename\\*=UTF-8''([^;]+)/i.exec(disposition)?.[1]\n const plain = /filename=\"([^\"]+)\"/i.exec(disposition)?.[1]\n const fileName = utf8 ? decodeURIComponent(utf8) : (plain ?? 'markup.pdf')\n return { blob: data as Blob, fileName }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/document-tools/environment.tsx","../src/document-tools/document-pdf.ts","../src/document-tools/markup-download.ts"],"names":["createContext","useDeploymentDomain","useRef","useCallback","useMemo","jsx","useContext","parseVersionRef"],"mappings":"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","file":"chunk-YNKV4MN6.cjs","sourcesContent":["/**\n * The host app's side of the document tools (markup, freeze, e-signing, versions): the one place\n * the tools reach the app. They never import a store, a router, a toast library or app API code;\n * the host passes what it has to `<DocumentToolsProvider>` and every optional field has a default.\n *\n * `client` is an openapi-fetch client for the ARBI API (`ArbiClient['fetch']` from\n * `@arbidocs/client`, or `arbi.getClient().fetch` from an `@arbidocs/sdk` `Arbi`), signed in with the\n * user's session; it carries the auth.\n */\n\nimport { createContext, useCallback, useContext, useMemo, useRef, type ReactNode } from 'react'\nimport type { ArbiClient, operations } from '@arbidocs/client'\nimport { useDeploymentDomain } from '../useArbi'\n\nexport type DocumentToolsClient = ArbiClient['fetch']\n\nexport type DocumentToolsNoticeKind = 'success' | 'error' | 'info' | 'warning'\n\nexport interface DocumentToolsNoticeOptions {\n /** A second line under the message. */\n description?: string\n /** One action button on the notice (\"Email it\"). */\n action?: { label: string; onClick: () => void }\n}\n\nexport type DocumentToolsNotify = (\n message: string,\n kind: DocumentToolsNoticeKind,\n options?: DocumentToolsNoticeOptions\n) => void\n\nexport interface DocumentToolsUser {\n /** The name marks are authored as and the signer's name is prefilled with. */\n name: string\n /** The sign-in email: signing re-derives the user's key from it and the password. */\n email?: string | null\n /** The user's id (usr-*): which fields of a signature request are theirs. */\n externalId?: string | null\n}\n\n/** What changed about a document, so the host can refresh its own lists and caches. */\nexport type DocumentChange =\n /** A version's markup got its first mark or lost its last one. */\n | 'markup'\n /** A signature was added: the document has a new current version. */\n | 'signed'\n /** A new document was made from it (a frozen copy). The ids are the NEW documents. */\n | 'copy'\n /** A new version was saved (the Word editor's Save version): the document's current version. */\n | 'version'\n\n/**\n * The `/v1/document/upload` query, typed from the API schema: `derived_from` is a list (a\n * production set is derived from every document in it), `shared` a boolean.\n */\nexport type DocumentUploadQuery = NonNullable<operations['upload_documents']['parameters']['query']>\n\nexport interface DocumentUploadRequest {\n file: File\n /** `/v1/document/upload` query: `derived_from`, `derived_role`, `shared`, `folder`. */\n query: DocumentUploadQuery\n}\n\n/**\n * The upload query as a URL query string, for a host that posts the upload itself (an XHR with\n * progress): a list repeats its key (`derived_from=a&derived_from=b`), empty values are left out.\n */\nexport function uploadQueryString(query: DocumentUploadQuery): string {\n const params = new URLSearchParams()\n for (const [key, value] of Object.entries(query)) {\n if (value === null || value === undefined) continue\n for (const item of Array.isArray(value) ? value : [value]) params.append(key, String(item))\n }\n return params.toString()\n}\n\nexport interface DocumentToolsEnvironment {\n client: DocumentToolsClient\n /**\n * The deployment domain the user's keys are derived for. Needed for signing. Default: the one\n * the host's `Arbi` computes (`arbi.getDeploymentDomain()`), if any.\n */\n deploymentDomain?: string\n /** The signed-in user; marks are authored as \"You\" without one, and signing is unavailable. */\n user?: DocumentToolsUser | null\n /** Surface a transient message. Default: none (errors still show inline where they can). */\n notify?: DocumentToolsNotify\n /** Open a document or a version reference (`doc-…@v2`): the copy just made, the signed copy. */\n openDocument?: (documentRef: string) => void\n /**\n * Documents changed on the server (see {@link DocumentChange}); refresh the host's lists. The\n * tools wait for it before opening the document, so a copy is listed when it opens.\n */\n onDocumentsChanged?: (documentIds: string[], change: DocumentChange) => void | Promise<void>\n /** Upload a derived copy. Default: `POST /v1/document/upload` through `client`. */\n uploadDocument?: (\n request: DocumentUploadRequest\n ) => Promise<{ doc_ext_ids?: string[] } | undefined>\n /** Save a file to the user's computer. Default: a temporary download link. */\n saveFile?: (blob: Blob, fileName: string) => void\n /** Email a document (offered once it is signed). Omitted: no \"Email it\". */\n emailDocument?: (documentRef: string) => void\n /**\n * The public page that checks a signature (the certificate) in this app. When given, \"View\n * certificate\" opens it in preference to the backend's `certificate_url` (which is on the\n * deployment domain, like the link embedded in the signed PDF). Without it: the backend's\n * `certificate_url`, else `/verify/{reference}` on this origin.\n */\n certificateUrl?: (reference: string) => string\n}\n\n/** The environment with every default filled in. */\nexport interface ResolvedDocumentToolsEnvironment extends DocumentToolsEnvironment {\n prepareFileShare: (documentId: string) => Promise<void>\n registerBeforeFileShare: (documentId: string, flush: () => Promise<void>) => () => void\n notify: DocumentToolsNotify\n saveFile: (blob: Blob, fileName: string) => void\n uploadDocument: (\n request: DocumentUploadRequest\n ) => Promise<{ doc_ext_ids?: string[] } | undefined>\n}\n\n/**\n * Save a blob through a temporary `<a download>`. The object URL is revoked a minute later, not at\n * once: revoking straight after `click()` can cancel the download (Safari, and large files\n * elsewhere) before the browser has read the blob.\n */\nexport function downloadBlob(blob: Blob, fileName: string): void {\n const url = URL.createObjectURL(blob)\n const a = document.createElement('a')\n a.href = url\n a.download = fileName\n document.body.appendChild(a)\n a.click()\n a.remove()\n setTimeout(() => URL.revokeObjectURL(url), 60_000)\n}\n\n/** The default upload: multipart `files` to `/v1/document/upload` through the API client. */\nexport function clientUpload(client: DocumentToolsClient) {\n return async ({ file, query }: DocumentUploadRequest) => {\n const formData = new FormData()\n formData.append('files', file)\n const { data, response } = await client.POST('/v1/document/upload', {\n params: { query },\n // The schema types the multipart body as `{ files: string[] }`; the FormData is sent as is.\n body: formData as unknown as { files: string[] },\n bodySerializer: () => formData,\n })\n if (!response.ok) throw new Error(`Upload failed with status ${response.status}`)\n return data\n }\n}\n\nexport function defaultCertificateUrl(reference: string): string {\n const origin = typeof location === 'undefined' ? '' : location.origin\n return `${origin}/verify/${encodeURIComponent(reference)}`\n}\n\n/**\n * Where \"View certificate\" goes for a signature: the host's `certificateUrl(reference)` when it\n * gives one, else the `certificate_url` the backend returned, else `/verify/{reference}` here.\n */\nexport function certificateLink(\n signature: { reference: string; certificate_url?: string | null },\n certificateUrl?: (reference: string) => string\n): string {\n if (certificateUrl) return certificateUrl(signature.reference)\n return signature.certificate_url || defaultCertificateUrl(signature.reference)\n}\n\nconst DocumentToolsContext = createContext<ResolvedDocumentToolsEnvironment | null>(null)\n\nexport interface DocumentToolsProviderProps extends DocumentToolsEnvironment {\n children: ReactNode\n}\n\nexport function DocumentToolsProvider({ children, ...env }: DocumentToolsProviderProps) {\n const arbiDeploymentDomain = useDeploymentDomain()\n const guards = useRef(new Map<string, () => Promise<void>>())\n const pendingFlushes = useRef(new Map<string, Promise<void>>())\n const registerBeforeFileShare = useCallback((id: string, flush: () => Promise<void>) => {\n guards.current.set(id, flush)\n return () => {\n if (guards.current.get(id) !== flush) return\n guards.current.delete(id)\n const pending = flush()\n pendingFlushes.current.set(id, pending)\n void pending.then(\n () => {\n if (pendingFlushes.current.get(id) === pending) pendingFlushes.current.delete(id)\n },\n () => {}\n )\n }\n }, [])\n const prepareFileShare = useCallback(async (id: string) => {\n const guard = guards.current.get(id)\n if (guard) {\n await guard()\n pendingFlushes.current.delete(id)\n } else await pendingFlushes.current.get(id)\n }, [])\n const {\n client,\n deploymentDomain,\n user,\n notify,\n openDocument,\n onDocumentsChanged,\n uploadDocument,\n saveFile,\n emailDocument,\n certificateUrl,\n } = env\n const value = useMemo<ResolvedDocumentToolsEnvironment>(\n () => ({\n client,\n prepareFileShare,\n registerBeforeFileShare,\n deploymentDomain: deploymentDomain ?? arbiDeploymentDomain,\n user,\n openDocument,\n onDocumentsChanged,\n emailDocument,\n notify: notify ?? (() => {}),\n saveFile: saveFile ?? downloadBlob,\n uploadDocument: uploadDocument ?? clientUpload(client),\n certificateUrl,\n }),\n [\n client,\n prepareFileShare,\n registerBeforeFileShare,\n deploymentDomain,\n arbiDeploymentDomain,\n user,\n notify,\n openDocument,\n onDocumentsChanged,\n uploadDocument,\n saveFile,\n emailDocument,\n certificateUrl,\n ]\n )\n return <DocumentToolsContext.Provider value={value}>{children}</DocumentToolsContext.Provider>\n}\n\n/** The host's environment, or `null` outside a `<DocumentToolsProvider>`. */\nexport function useOptionalDocumentTools(): ResolvedDocumentToolsEnvironment | null {\n return useContext(DocumentToolsContext)\n}\n\n/** The host's environment; throws outside a `<DocumentToolsProvider>`. */\nexport function useDocumentTools(): ResolvedDocumentToolsEnvironment {\n const env = useContext(DocumentToolsContext)\n if (!env) throw new Error('The document tools must be used within a <DocumentToolsProvider>')\n return env\n}\n","/**\n * A document's bytes, through the host's API client: the PDF the viewer and the tools draw on\n * (`/view`: the file itself for a PDF, its PDF rendering for a Word or text file) and the stored\n * file (`/download`). Either takes a document id or a version reference `doc-…@v{n}`.\n */\n\nimport { parseVersionRef } from '../artifacts/versions'\nimport type { DocumentToolsClient } from './environment'\n\nexport interface DocumentFetchOptions {\n /** The version to fetch. Default: the one `documentRef` names, else the current version. */\n version?: number | null\n signal?: AbortSignal\n}\n\n/** A document's bytes could not be fetched; `status` is the HTTP status. */\nexport class DocumentFetchError extends Error {\n readonly status: number\n constructor(message: string, status: number) {\n super(message)\n this.name = 'DocumentFetchError'\n this.status = status\n }\n}\n\nasync function fetchDocumentBytes(\n client: DocumentToolsClient,\n endpoint: '/v1/document/{document_ext_id}/view' | '/v1/document/{document_ext_id}/download',\n documentRef: string,\n options: DocumentFetchOptions,\n headers: Record<string, string>,\n what: string\n): Promise<{ blob: Blob; response: Response }> {\n const ref = parseVersionRef(documentRef)\n const version = options.version ?? ref.version\n const { data, response } = await client.GET(endpoint, {\n params: { path: { document_ext_id: ref.docId }, query: version ? { version } : {} },\n headers,\n parseAs: 'blob',\n signal: options.signal,\n })\n if (!response.ok || !(data instanceof Blob)) {\n throw new DocumentFetchError(\n `${what} could not be loaded (${response.status})`,\n response.status\n )\n }\n return { blob: data, response }\n}\n\n/**\n * The file name a `Content-Disposition` header gives, or `undefined`. Prefers the RFC 5987\n * `filename*=UTF-8''…` form (percent-encoded, any script) over the plain `filename=`.\n */\nexport function contentDispositionFileName(header: string | null | undefined): string | undefined {\n if (!header) return undefined\n const extended = /filename\\*\\s*=\\s*(?:[\\w-]+)?'[^']*'([^;]+)/i.exec(header)\n if (extended) {\n try {\n return decodeURIComponent(extended[1].trim().replace(/^\"|\"$/g, '')) || undefined\n } catch {\n // A malformed escape: fall back to the plain parameter.\n }\n }\n const plain = /filename\\s*=\\s*(\"((?:[^\"\\\\]|\\\\.)*)\"|[^;]+)/i.exec(header)\n if (!plain) return undefined\n const name = plain[2] !== undefined ? plain[2].replace(/\\\\(.)/g, '$1') : plain[1].trim()\n return name || undefined\n}\n\n/**\n * The PDF of a document version: `GET /v1/document/{id}/view?version=` with\n * `Accept: application/pdf`. Throws a {@link DocumentFetchError} when there is none (yet).\n */\nexport async function fetchDocumentPdf(\n client: DocumentToolsClient,\n documentRef: string,\n options: DocumentFetchOptions = {}\n): Promise<Blob> {\n const { blob } = await fetchDocumentBytes(\n client,\n '/v1/document/{document_ext_id}/view',\n documentRef,\n options,\n { Accept: 'application/pdf' },\n 'The PDF'\n )\n return blob\n}\n\n/**\n * The stored file of a document version, as uploaded: `GET /v1/document/{id}/download`. When the\n * server names the file (`Content-Disposition`), the result is a `File` carrying that name.\n */\nexport async function fetchDocumentFile(\n client: DocumentToolsClient,\n documentRef: string,\n options: DocumentFetchOptions = {}\n): Promise<Blob | File> {\n const { blob, response } = await fetchDocumentBytes(\n client,\n '/v1/document/{document_ext_id}/download',\n documentRef,\n options,\n {},\n 'The file'\n )\n const name = contentDispositionFileName(response.headers.get('Content-Disposition'))\n return name ? new File([blob], name, { type: blob.type }) : blob\n}\n","/**\n * \"Download with markup\": a document version's markup PDF, the PDF with its annotations as native\n * PDF annotations (comments, highlights, stamps, unapplied redactions), which Acrobat and Preview\n * show. The plain Download serves the original. Kept apart from the annotation layer code so a\n * documents list can offer it without loading the annotation tools.\n *\n * A SIGNED version is locked: nothing but a further signature changes it. Its markup stays in the\n * separate markup layer (a title beside the signature, say) and is never written into its PDF, so\n * it has no \"Download with markup\"; the plain Download is the signed file as it is.\n */\n\nimport type { DocumentToolsClient } from './environment'\n\ninterface DocumentVersions {\n current_version?: number | null\n versions?: Array<{ n: number; markup_count?: number | null; reason?: string | null }> | null\n}\n\n/** Why \"Download with markup\" is off for a signed version. */\nexport const SIGNED_LOCKED_REASON =\n \"Signed documents can't be changed — download the signed file instead\"\n\n/** Whether a version (default: the current one) is a signed copy, per its version entry. */\nexport function isSignedVersion(doc: DocumentVersions, version?: number): boolean {\n const n = version ?? doc.current_version ?? 1\n return (doc.versions ?? []).some((v) => v.n === n && v.reason === 'signed')\n}\n\nexport class MarkupDownloadError extends Error {\n constructor(\n message: string,\n readonly status?: number\n ) {\n super(message)\n this.name = 'MarkupDownloadError'\n }\n}\n\n/** Whether a document's current version has markup (per its version entries). */\nexport function currentHasMarkup(doc: DocumentVersions): boolean {\n const n = doc.current_version ?? 1\n return (doc.versions ?? []).some((v) => v.n === n && (v.markup_count ?? 0) > 0)\n}\n\n/** Fetch a version's markup PDF (default: the current version's). */\nexport async function fetchMarkupPdf(\n client: DocumentToolsClient,\n documentId: string,\n version?: number\n): Promise<{ blob: Blob; fileName: string }> {\n const { data, response } = await client.GET('/v1/document/{document_ext_id}/markup/pdf', {\n params: { path: { document_ext_id: documentId }, query: version ? { version } : {} },\n parseAs: 'blob',\n })\n if (!response.ok || !data) {\n throw new MarkupDownloadError(\n response.status === 404\n ? 'This document has no markup yet'\n : // The server refuses a signed version: its PDF takes no more changes.\n response.status === 409\n ? SIGNED_LOCKED_REASON\n : 'The markup could not be downloaded',\n response.status\n )\n }\n const disposition = response.headers.get('content-disposition') ?? ''\n const utf8 = /filename\\*=UTF-8''([^;]+)/i.exec(disposition)?.[1]\n const plain = /filename=\"([^\"]+)\"/i.exec(disposition)?.[1]\n const fileName = utf8 ? decodeURIComponent(utf8) : (plain ?? 'markup.pdf')\n return { blob: data as Blob, fileName }\n}\n"]}
|
|
@@ -1,394 +1,394 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var chunkQ2GNEVG2_cjs = require('../chunk-Q2GNEVG2.cjs');
|
|
3
|
+
var chunkYD25DEMR_cjs = require('../chunk-YD25DEMR.cjs');
|
|
4
|
+
var chunkYNKV4MN6_cjs = require('../chunk-YNKV4MN6.cjs');
|
|
6
5
|
require('../chunk-SUZORMAB.cjs');
|
|
7
6
|
require('../chunk-2IJP73ZG.cjs');
|
|
8
|
-
require('../chunk-NDIKMOBJ.cjs');
|
|
9
|
-
require('../chunk-VOFNX4P6.cjs');
|
|
10
7
|
require('../chunk-WYZJLZ67.cjs');
|
|
11
|
-
require('../chunk-
|
|
8
|
+
var chunkQ2GNEVG2_cjs = require('../chunk-Q2GNEVG2.cjs');
|
|
12
9
|
require('../chunk-HJDR5HEO.cjs');
|
|
10
|
+
require('../chunk-7C77IBQZ.cjs');
|
|
11
|
+
require('../chunk-5NOZDH3F.cjs');
|
|
13
12
|
require('../chunk-S6A6FSG7.cjs');
|
|
13
|
+
require('../chunk-VOFNX4P6.cjs');
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
Object.defineProperty(exports, "DEFAULT_FIELD_SIZE", {
|
|
18
18
|
enumerable: true,
|
|
19
|
-
get: function () { return
|
|
19
|
+
get: function () { return chunkYD25DEMR_cjs.DEFAULT_FIELD_SIZE; }
|
|
20
20
|
});
|
|
21
21
|
Object.defineProperty(exports, "FIELD_TYPE_LABELS", {
|
|
22
22
|
enumerable: true,
|
|
23
|
-
get: function () { return
|
|
23
|
+
get: function () { return chunkYD25DEMR_cjs.FIELD_TYPE_LABELS; }
|
|
24
24
|
});
|
|
25
25
|
Object.defineProperty(exports, "INFORMAL_SIGNATURE_NOTE", {
|
|
26
26
|
enumerable: true,
|
|
27
|
-
get: function () { return
|
|
27
|
+
get: function () { return chunkYD25DEMR_cjs.INFORMAL_SIGNATURE_NOTE; }
|
|
28
28
|
});
|
|
29
29
|
Object.defineProperty(exports, "LEGACY_LAYER_PREFIX", {
|
|
30
30
|
enumerable: true,
|
|
31
|
-
get: function () { return
|
|
31
|
+
get: function () { return chunkYD25DEMR_cjs.LEGACY_LAYER_PREFIX; }
|
|
32
32
|
});
|
|
33
33
|
Object.defineProperty(exports, "MARK_FIELD_TYPES", {
|
|
34
34
|
enumerable: true,
|
|
35
|
-
get: function () { return
|
|
35
|
+
get: function () { return chunkYD25DEMR_cjs.MARK_FIELD_TYPES; }
|
|
36
36
|
});
|
|
37
37
|
Object.defineProperty(exports, "MAX_MERGE_ATTEMPTS", {
|
|
38
38
|
enumerable: true,
|
|
39
|
-
get: function () { return
|
|
39
|
+
get: function () { return chunkYD25DEMR_cjs.MAX_MERGE_ATTEMPTS; }
|
|
40
40
|
});
|
|
41
41
|
Object.defineProperty(exports, "MarkupStoreError", {
|
|
42
42
|
enumerable: true,
|
|
43
|
-
get: function () { return
|
|
43
|
+
get: function () { return chunkYD25DEMR_cjs.MarkupStoreError; }
|
|
44
44
|
});
|
|
45
45
|
Object.defineProperty(exports, "SIGNATURE_FIELD_TYPES", {
|
|
46
46
|
enumerable: true,
|
|
47
|
-
get: function () { return
|
|
47
|
+
get: function () { return chunkYD25DEMR_cjs.SIGNATURE_FIELD_TYPES; }
|
|
48
48
|
});
|
|
49
49
|
Object.defineProperty(exports, "SIGNED_UNCHANGED", {
|
|
50
50
|
enumerable: true,
|
|
51
|
-
get: function () { return
|
|
51
|
+
get: function () { return chunkYD25DEMR_cjs.SIGNED_UNCHANGED; }
|
|
52
52
|
});
|
|
53
53
|
Object.defineProperty(exports, "SIGNER_PROGRESS_LABELS", {
|
|
54
54
|
enumerable: true,
|
|
55
|
-
get: function () { return
|
|
55
|
+
get: function () { return chunkYD25DEMR_cjs.SIGNER_PROGRESS_LABELS; }
|
|
56
56
|
});
|
|
57
57
|
Object.defineProperty(exports, "SignatureVerificationError", {
|
|
58
58
|
enumerable: true,
|
|
59
|
-
get: function () { return
|
|
59
|
+
get: function () { return chunkYD25DEMR_cjs.SignatureVerificationError; }
|
|
60
60
|
});
|
|
61
61
|
Object.defineProperty(exports, "SigningError", {
|
|
62
62
|
enumerable: true,
|
|
63
|
-
get: function () { return
|
|
63
|
+
get: function () { return chunkYD25DEMR_cjs.SigningError; }
|
|
64
64
|
});
|
|
65
65
|
Object.defineProperty(exports, "VERIFY_PATH", {
|
|
66
66
|
enumerable: true,
|
|
67
|
-
get: function () { return
|
|
67
|
+
get: function () { return chunkYD25DEMR_cjs.VERIFY_PATH; }
|
|
68
68
|
});
|
|
69
69
|
Object.defineProperty(exports, "addToMarkup", {
|
|
70
70
|
enumerable: true,
|
|
71
|
-
get: function () { return
|
|
71
|
+
get: function () { return chunkYD25DEMR_cjs.addToMarkup; }
|
|
72
72
|
});
|
|
73
73
|
Object.defineProperty(exports, "canAnnotate", {
|
|
74
74
|
enumerable: true,
|
|
75
|
-
get: function () { return
|
|
75
|
+
get: function () { return chunkYD25DEMR_cjs.canAnnotate; }
|
|
76
76
|
});
|
|
77
77
|
Object.defineProperty(exports, "copyOpenThreads", {
|
|
78
78
|
enumerable: true,
|
|
79
|
-
get: function () { return
|
|
79
|
+
get: function () { return chunkYD25DEMR_cjs.copyOpenThreads; }
|
|
80
80
|
});
|
|
81
81
|
Object.defineProperty(exports, "createFileShare", {
|
|
82
82
|
enumerable: true,
|
|
83
|
-
get: function () { return
|
|
83
|
+
get: function () { return chunkYD25DEMR_cjs.createFileShare; }
|
|
84
84
|
});
|
|
85
85
|
Object.defineProperty(exports, "createMarkupStore", {
|
|
86
86
|
enumerable: true,
|
|
87
|
-
get: function () { return
|
|
87
|
+
get: function () { return chunkYD25DEMR_cjs.createMarkupStore; }
|
|
88
88
|
});
|
|
89
89
|
Object.defineProperty(exports, "deleteSavedSignature", {
|
|
90
90
|
enumerable: true,
|
|
91
|
-
get: function () { return
|
|
91
|
+
get: function () { return chunkYD25DEMR_cjs.deleteSavedSignature; }
|
|
92
92
|
});
|
|
93
93
|
Object.defineProperty(exports, "fetchDocumentSignatureRequests", {
|
|
94
94
|
enumerable: true,
|
|
95
|
-
get: function () { return
|
|
95
|
+
get: function () { return chunkYD25DEMR_cjs.fetchDocumentSignatureRequests; }
|
|
96
96
|
});
|
|
97
97
|
Object.defineProperty(exports, "fetchDocumentSignatures", {
|
|
98
98
|
enumerable: true,
|
|
99
|
-
get: function () { return
|
|
99
|
+
get: function () { return chunkYD25DEMR_cjs.fetchDocumentSignatures; }
|
|
100
100
|
});
|
|
101
101
|
Object.defineProperty(exports, "fetchSavedSignature", {
|
|
102
102
|
enumerable: true,
|
|
103
|
-
get: function () { return
|
|
103
|
+
get: function () { return chunkYD25DEMR_cjs.fetchSavedSignature; }
|
|
104
104
|
});
|
|
105
105
|
Object.defineProperty(exports, "fetchSignatureVerification", {
|
|
106
106
|
enumerable: true,
|
|
107
|
-
get: function () { return
|
|
107
|
+
get: function () { return chunkYD25DEMR_cjs.fetchSignatureVerification; }
|
|
108
108
|
});
|
|
109
109
|
Object.defineProperty(exports, "fieldsFromSuggestions", {
|
|
110
110
|
enumerable: true,
|
|
111
|
-
get: function () { return
|
|
111
|
+
get: function () { return chunkYD25DEMR_cjs.fieldsFromSuggestions; }
|
|
112
112
|
});
|
|
113
113
|
Object.defineProperty(exports, "fieldsInSigningOrder", {
|
|
114
114
|
enumerable: true,
|
|
115
|
-
get: function () { return
|
|
115
|
+
get: function () { return chunkYD25DEMR_cjs.fieldsInSigningOrder; }
|
|
116
116
|
});
|
|
117
117
|
Object.defineProperty(exports, "fileShareBytes", {
|
|
118
118
|
enumerable: true,
|
|
119
|
-
get: function () { return
|
|
119
|
+
get: function () { return chunkYD25DEMR_cjs.fileShareBytes; }
|
|
120
120
|
});
|
|
121
121
|
Object.defineProperty(exports, "fileShareSigningRequest", {
|
|
122
122
|
enumerable: true,
|
|
123
|
-
get: function () { return
|
|
123
|
+
get: function () { return chunkYD25DEMR_cjs.fileShareSigningRequest; }
|
|
124
124
|
});
|
|
125
125
|
Object.defineProperty(exports, "forgetLegacyLayer", {
|
|
126
126
|
enumerable: true,
|
|
127
|
-
get: function () { return
|
|
127
|
+
get: function () { return chunkYD25DEMR_cjs.forgetLegacyLayer; }
|
|
128
128
|
});
|
|
129
129
|
Object.defineProperty(exports, "frozenCopyName", {
|
|
130
130
|
enumerable: true,
|
|
131
|
-
get: function () { return
|
|
131
|
+
get: function () { return chunkYD25DEMR_cjs.frozenCopyName; }
|
|
132
132
|
});
|
|
133
133
|
Object.defineProperty(exports, "getFileShare", {
|
|
134
134
|
enumerable: true,
|
|
135
|
-
get: function () { return
|
|
135
|
+
get: function () { return chunkYD25DEMR_cjs.getFileShare; }
|
|
136
136
|
});
|
|
137
137
|
Object.defineProperty(exports, "initialsOf", {
|
|
138
138
|
enumerable: true,
|
|
139
|
-
get: function () { return
|
|
139
|
+
get: function () { return chunkYD25DEMR_cjs.initialsOf; }
|
|
140
140
|
});
|
|
141
141
|
Object.defineProperty(exports, "intentText", {
|
|
142
142
|
enumerable: true,
|
|
143
|
-
get: function () { return
|
|
143
|
+
get: function () { return chunkYD25DEMR_cjs.intentText; }
|
|
144
144
|
});
|
|
145
145
|
Object.defineProperty(exports, "inviteSigners", {
|
|
146
146
|
enumerable: true,
|
|
147
|
-
get: function () { return
|
|
147
|
+
get: function () { return chunkYD25DEMR_cjs.inviteSigners; }
|
|
148
148
|
});
|
|
149
149
|
Object.defineProperty(exports, "isEmailSigner", {
|
|
150
150
|
enumerable: true,
|
|
151
|
-
get: function () { return
|
|
151
|
+
get: function () { return chunkYD25DEMR_cjs.isEmailSigner; }
|
|
152
152
|
});
|
|
153
153
|
Object.defineProperty(exports, "isLegibleSignatureBox", {
|
|
154
154
|
enumerable: true,
|
|
155
|
-
get: function () { return
|
|
155
|
+
get: function () { return chunkYD25DEMR_cjs.isLegibleSignatureBox; }
|
|
156
156
|
});
|
|
157
157
|
Object.defineProperty(exports, "isSignatureReference", {
|
|
158
158
|
enumerable: true,
|
|
159
|
-
get: function () { return
|
|
159
|
+
get: function () { return chunkYD25DEMR_cjs.isSignatureReference; }
|
|
160
160
|
});
|
|
161
161
|
Object.defineProperty(exports, "marksByVersion", {
|
|
162
162
|
enumerable: true,
|
|
163
|
-
get: function () { return
|
|
163
|
+
get: function () { return chunkYD25DEMR_cjs.marksByVersion; }
|
|
164
164
|
});
|
|
165
165
|
Object.defineProperty(exports, "matchSignedCopy", {
|
|
166
166
|
enumerable: true,
|
|
167
|
-
get: function () { return
|
|
167
|
+
get: function () { return chunkYD25DEMR_cjs.matchSignedCopy; }
|
|
168
168
|
});
|
|
169
169
|
Object.defineProperty(exports, "migrateLegacyLayer", {
|
|
170
170
|
enumerable: true,
|
|
171
|
-
get: function () { return
|
|
171
|
+
get: function () { return chunkYD25DEMR_cjs.migrateLegacyLayer; }
|
|
172
172
|
});
|
|
173
173
|
Object.defineProperty(exports, "newFieldId", {
|
|
174
174
|
enumerable: true,
|
|
175
|
-
get: function () { return
|
|
175
|
+
get: function () { return chunkYD25DEMR_cjs.newFieldId; }
|
|
176
176
|
});
|
|
177
177
|
Object.defineProperty(exports, "openThreadsOf", {
|
|
178
178
|
enumerable: true,
|
|
179
|
-
get: function () { return
|
|
179
|
+
get: function () { return chunkYD25DEMR_cjs.openThreadsOf; }
|
|
180
180
|
});
|
|
181
181
|
Object.defineProperty(exports, "pngBytes", {
|
|
182
182
|
enumerable: true,
|
|
183
|
-
get: function () { return
|
|
183
|
+
get: function () { return chunkYD25DEMR_cjs.pngBytes; }
|
|
184
184
|
});
|
|
185
185
|
Object.defineProperty(exports, "pngSize", {
|
|
186
186
|
enumerable: true,
|
|
187
|
-
get: function () { return
|
|
187
|
+
get: function () { return chunkYD25DEMR_cjs.pngSize; }
|
|
188
188
|
});
|
|
189
189
|
Object.defineProperty(exports, "readLegacyLayer", {
|
|
190
190
|
enumerable: true,
|
|
191
|
-
get: function () { return
|
|
191
|
+
get: function () { return chunkYD25DEMR_cjs.readLegacyLayer; }
|
|
192
192
|
});
|
|
193
193
|
Object.defineProperty(exports, "redactionLogName", {
|
|
194
194
|
enumerable: true,
|
|
195
|
-
get: function () { return
|
|
195
|
+
get: function () { return chunkYD25DEMR_cjs.redactionLogName; }
|
|
196
196
|
});
|
|
197
197
|
Object.defineProperty(exports, "saveSignatureRequest", {
|
|
198
198
|
enumerable: true,
|
|
199
|
-
get: function () { return
|
|
199
|
+
get: function () { return chunkYD25DEMR_cjs.saveSignatureRequest; }
|
|
200
200
|
});
|
|
201
201
|
Object.defineProperty(exports, "sendBlocker", {
|
|
202
202
|
enumerable: true,
|
|
203
|
-
get: function () { return
|
|
203
|
+
get: function () { return chunkYD25DEMR_cjs.sendBlocker; }
|
|
204
204
|
});
|
|
205
205
|
Object.defineProperty(exports, "sha256Hex", {
|
|
206
206
|
enumerable: true,
|
|
207
|
-
get: function () { return
|
|
207
|
+
get: function () { return chunkYD25DEMR_cjs.sha256Hex; }
|
|
208
208
|
});
|
|
209
209
|
Object.defineProperty(exports, "signDocument", {
|
|
210
210
|
enumerable: true,
|
|
211
|
-
get: function () { return
|
|
211
|
+
get: function () { return chunkYD25DEMR_cjs.signDocument; }
|
|
212
212
|
});
|
|
213
213
|
Object.defineProperty(exports, "signFileShare", {
|
|
214
214
|
enumerable: true,
|
|
215
|
-
get: function () { return
|
|
215
|
+
get: function () { return chunkYD25DEMR_cjs.signFileShare; }
|
|
216
216
|
});
|
|
217
217
|
Object.defineProperty(exports, "signSignatureRequest", {
|
|
218
218
|
enumerable: true,
|
|
219
|
-
get: function () { return
|
|
219
|
+
get: function () { return chunkYD25DEMR_cjs.signSignatureRequest; }
|
|
220
220
|
});
|
|
221
221
|
Object.defineProperty(exports, "signatureFieldSuggestions", {
|
|
222
222
|
enumerable: true,
|
|
223
|
-
get: function () { return
|
|
223
|
+
get: function () { return chunkYD25DEMR_cjs.signatureFieldSuggestions; }
|
|
224
224
|
});
|
|
225
225
|
Object.defineProperty(exports, "splitSuggestions", {
|
|
226
226
|
enumerable: true,
|
|
227
|
-
get: function () { return
|
|
227
|
+
get: function () { return chunkYD25DEMR_cjs.splitSuggestions; }
|
|
228
228
|
});
|
|
229
229
|
Object.defineProperty(exports, "storeSavedSignature", {
|
|
230
230
|
enumerable: true,
|
|
231
|
-
get: function () { return
|
|
231
|
+
get: function () { return chunkYD25DEMR_cjs.storeSavedSignature; }
|
|
232
232
|
});
|
|
233
233
|
Object.defineProperty(exports, "suggestSignatureFields", {
|
|
234
234
|
enumerable: true,
|
|
235
|
-
get: function () { return
|
|
235
|
+
get: function () { return chunkYD25DEMR_cjs.suggestSignatureFields; }
|
|
236
236
|
});
|
|
237
237
|
Object.defineProperty(exports, "toAppearance", {
|
|
238
238
|
enumerable: true,
|
|
239
|
-
get: function () { return
|
|
239
|
+
get: function () { return chunkYD25DEMR_cjs.toAppearance; }
|
|
240
240
|
});
|
|
241
241
|
Object.defineProperty(exports, "uploadFrozenCopy", {
|
|
242
242
|
enumerable: true,
|
|
243
|
-
get: function () { return
|
|
243
|
+
get: function () { return chunkYD25DEMR_cjs.uploadFrozenCopy; }
|
|
244
244
|
});
|
|
245
245
|
Object.defineProperty(exports, "useDeclineSignatureRequest", {
|
|
246
246
|
enumerable: true,
|
|
247
|
-
get: function () { return
|
|
247
|
+
get: function () { return chunkYD25DEMR_cjs.useDeclineSignatureRequest; }
|
|
248
248
|
});
|
|
249
249
|
Object.defineProperty(exports, "useDeleteSavedSignature", {
|
|
250
250
|
enumerable: true,
|
|
251
|
-
get: function () { return
|
|
251
|
+
get: function () { return chunkYD25DEMR_cjs.useDeleteSavedSignature; }
|
|
252
252
|
});
|
|
253
253
|
Object.defineProperty(exports, "useDocumentBytes", {
|
|
254
254
|
enumerable: true,
|
|
255
|
-
get: function () { return
|
|
255
|
+
get: function () { return chunkYD25DEMR_cjs.useDocumentBytes; }
|
|
256
256
|
});
|
|
257
257
|
Object.defineProperty(exports, "useDocumentMarkup", {
|
|
258
258
|
enumerable: true,
|
|
259
|
-
get: function () { return
|
|
259
|
+
get: function () { return chunkYD25DEMR_cjs.useDocumentMarkup; }
|
|
260
260
|
});
|
|
261
261
|
Object.defineProperty(exports, "useDocumentSignatureRequests", {
|
|
262
262
|
enumerable: true,
|
|
263
|
-
get: function () { return
|
|
263
|
+
get: function () { return chunkYD25DEMR_cjs.useDocumentSignatureRequests; }
|
|
264
264
|
});
|
|
265
265
|
Object.defineProperty(exports, "useDocumentSignatures", {
|
|
266
266
|
enumerable: true,
|
|
267
|
-
get: function () { return
|
|
267
|
+
get: function () { return chunkYD25DEMR_cjs.useDocumentSignatures; }
|
|
268
268
|
});
|
|
269
269
|
Object.defineProperty(exports, "useFileShare", {
|
|
270
270
|
enumerable: true,
|
|
271
|
-
get: function () { return
|
|
271
|
+
get: function () { return chunkYD25DEMR_cjs.useFileShare; }
|
|
272
272
|
});
|
|
273
273
|
Object.defineProperty(exports, "useFileSharePdf", {
|
|
274
274
|
enumerable: true,
|
|
275
|
-
get: function () { return
|
|
275
|
+
get: function () { return chunkYD25DEMR_cjs.useFileSharePdf; }
|
|
276
276
|
});
|
|
277
277
|
Object.defineProperty(exports, "useFileShares", {
|
|
278
278
|
enumerable: true,
|
|
279
|
-
get: function () { return
|
|
279
|
+
get: function () { return chunkYD25DEMR_cjs.useFileShares; }
|
|
280
280
|
});
|
|
281
281
|
Object.defineProperty(exports, "useInviteSigners", {
|
|
282
282
|
enumerable: true,
|
|
283
|
-
get: function () { return
|
|
283
|
+
get: function () { return chunkYD25DEMR_cjs.useInviteSigners; }
|
|
284
284
|
});
|
|
285
285
|
Object.defineProperty(exports, "useIsOnline", {
|
|
286
286
|
enumerable: true,
|
|
287
|
-
get: function () { return
|
|
287
|
+
get: function () { return chunkYD25DEMR_cjs.useIsOnline; }
|
|
288
288
|
});
|
|
289
289
|
Object.defineProperty(exports, "useSaveSignatureRequest", {
|
|
290
290
|
enumerable: true,
|
|
291
|
-
get: function () { return
|
|
291
|
+
get: function () { return chunkYD25DEMR_cjs.useSaveSignatureRequest; }
|
|
292
292
|
});
|
|
293
293
|
Object.defineProperty(exports, "useSavedSignature", {
|
|
294
294
|
enumerable: true,
|
|
295
|
-
get: function () { return
|
|
295
|
+
get: function () { return chunkYD25DEMR_cjs.useSavedSignature; }
|
|
296
296
|
});
|
|
297
297
|
Object.defineProperty(exports, "useSignDocument", {
|
|
298
298
|
enumerable: true,
|
|
299
|
-
get: function () { return
|
|
299
|
+
get: function () { return chunkYD25DEMR_cjs.useSignDocument; }
|
|
300
300
|
});
|
|
301
301
|
Object.defineProperty(exports, "useSignSignatureRequest", {
|
|
302
302
|
enumerable: true,
|
|
303
|
-
get: function () { return
|
|
303
|
+
get: function () { return chunkYD25DEMR_cjs.useSignSignatureRequest; }
|
|
304
304
|
});
|
|
305
305
|
Object.defineProperty(exports, "useSignatureVerification", {
|
|
306
306
|
enumerable: true,
|
|
307
|
-
get: function () { return
|
|
307
|
+
get: function () { return chunkYD25DEMR_cjs.useSignatureVerification; }
|
|
308
308
|
});
|
|
309
309
|
Object.defineProperty(exports, "useSignerCandidates", {
|
|
310
310
|
enumerable: true,
|
|
311
|
-
get: function () { return
|
|
311
|
+
get: function () { return chunkYD25DEMR_cjs.useSignerCandidates; }
|
|
312
312
|
});
|
|
313
313
|
Object.defineProperty(exports, "useStoreSavedSignature", {
|
|
314
314
|
enumerable: true,
|
|
315
|
-
get: function () { return
|
|
315
|
+
get: function () { return chunkYD25DEMR_cjs.useStoreSavedSignature; }
|
|
316
316
|
});
|
|
317
317
|
Object.defineProperty(exports, "useVoidSignatureRequest", {
|
|
318
318
|
enumerable: true,
|
|
319
|
-
get: function () { return
|
|
319
|
+
get: function () { return chunkYD25DEMR_cjs.useVoidSignatureRequest; }
|
|
320
320
|
});
|
|
321
321
|
Object.defineProperty(exports, "versionsWithMarkup", {
|
|
322
322
|
enumerable: true,
|
|
323
|
-
get: function () { return
|
|
323
|
+
get: function () { return chunkYD25DEMR_cjs.versionsWithMarkup; }
|
|
324
324
|
});
|
|
325
325
|
Object.defineProperty(exports, "DocumentFetchError", {
|
|
326
326
|
enumerable: true,
|
|
327
|
-
get: function () { return
|
|
327
|
+
get: function () { return chunkYNKV4MN6_cjs.DocumentFetchError; }
|
|
328
328
|
});
|
|
329
329
|
Object.defineProperty(exports, "DocumentToolsProvider", {
|
|
330
330
|
enumerable: true,
|
|
331
|
-
get: function () { return
|
|
331
|
+
get: function () { return chunkYNKV4MN6_cjs.DocumentToolsProvider; }
|
|
332
332
|
});
|
|
333
333
|
Object.defineProperty(exports, "MarkupDownloadError", {
|
|
334
334
|
enumerable: true,
|
|
335
|
-
get: function () { return
|
|
335
|
+
get: function () { return chunkYNKV4MN6_cjs.MarkupDownloadError; }
|
|
336
336
|
});
|
|
337
337
|
Object.defineProperty(exports, "SIGNED_LOCKED_REASON", {
|
|
338
338
|
enumerable: true,
|
|
339
|
-
get: function () { return
|
|
339
|
+
get: function () { return chunkYNKV4MN6_cjs.SIGNED_LOCKED_REASON; }
|
|
340
340
|
});
|
|
341
341
|
Object.defineProperty(exports, "certificateLink", {
|
|
342
342
|
enumerable: true,
|
|
343
|
-
get: function () { return
|
|
343
|
+
get: function () { return chunkYNKV4MN6_cjs.certificateLink; }
|
|
344
344
|
});
|
|
345
345
|
Object.defineProperty(exports, "clientUpload", {
|
|
346
346
|
enumerable: true,
|
|
347
|
-
get: function () { return
|
|
347
|
+
get: function () { return chunkYNKV4MN6_cjs.clientUpload; }
|
|
348
348
|
});
|
|
349
349
|
Object.defineProperty(exports, "contentDispositionFileName", {
|
|
350
350
|
enumerable: true,
|
|
351
|
-
get: function () { return
|
|
351
|
+
get: function () { return chunkYNKV4MN6_cjs.contentDispositionFileName; }
|
|
352
352
|
});
|
|
353
353
|
Object.defineProperty(exports, "currentHasMarkup", {
|
|
354
354
|
enumerable: true,
|
|
355
|
-
get: function () { return
|
|
355
|
+
get: function () { return chunkYNKV4MN6_cjs.currentHasMarkup; }
|
|
356
356
|
});
|
|
357
357
|
Object.defineProperty(exports, "defaultCertificateUrl", {
|
|
358
358
|
enumerable: true,
|
|
359
|
-
get: function () { return
|
|
359
|
+
get: function () { return chunkYNKV4MN6_cjs.defaultCertificateUrl; }
|
|
360
360
|
});
|
|
361
361
|
Object.defineProperty(exports, "downloadBlob", {
|
|
362
362
|
enumerable: true,
|
|
363
|
-
get: function () { return
|
|
363
|
+
get: function () { return chunkYNKV4MN6_cjs.downloadBlob; }
|
|
364
364
|
});
|
|
365
365
|
Object.defineProperty(exports, "fetchDocumentFile", {
|
|
366
366
|
enumerable: true,
|
|
367
|
-
get: function () { return
|
|
367
|
+
get: function () { return chunkYNKV4MN6_cjs.fetchDocumentFile; }
|
|
368
368
|
});
|
|
369
369
|
Object.defineProperty(exports, "fetchDocumentPdf", {
|
|
370
370
|
enumerable: true,
|
|
371
|
-
get: function () { return
|
|
371
|
+
get: function () { return chunkYNKV4MN6_cjs.fetchDocumentPdf; }
|
|
372
372
|
});
|
|
373
373
|
Object.defineProperty(exports, "fetchMarkupPdf", {
|
|
374
374
|
enumerable: true,
|
|
375
|
-
get: function () { return
|
|
375
|
+
get: function () { return chunkYNKV4MN6_cjs.fetchMarkupPdf; }
|
|
376
376
|
});
|
|
377
377
|
Object.defineProperty(exports, "isSignedVersion", {
|
|
378
378
|
enumerable: true,
|
|
379
|
-
get: function () { return
|
|
379
|
+
get: function () { return chunkYNKV4MN6_cjs.isSignedVersion; }
|
|
380
380
|
});
|
|
381
381
|
Object.defineProperty(exports, "uploadQueryString", {
|
|
382
382
|
enumerable: true,
|
|
383
|
-
get: function () { return
|
|
383
|
+
get: function () { return chunkYNKV4MN6_cjs.uploadQueryString; }
|
|
384
384
|
});
|
|
385
385
|
Object.defineProperty(exports, "useDocumentTools", {
|
|
386
386
|
enumerable: true,
|
|
387
|
-
get: function () { return
|
|
387
|
+
get: function () { return chunkYNKV4MN6_cjs.useDocumentTools; }
|
|
388
388
|
});
|
|
389
389
|
Object.defineProperty(exports, "useOptionalDocumentTools", {
|
|
390
390
|
enumerable: true,
|
|
391
|
-
get: function () { return
|
|
391
|
+
get: function () { return chunkYNKV4MN6_cjs.useOptionalDocumentTools; }
|
|
392
392
|
});
|
|
393
393
|
Object.defineProperty(exports, "documentBytesKey", {
|
|
394
394
|
enumerable: true,
|