@extend-ai/react-docx 0.7.0-alpha.4 → 0.7.0-alpha.5
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/{chunk-XLGR633U.js → chunk-2SXGXGWO.js} +4 -64
- package/dist/chunk-2SXGXGWO.js.map +1 -0
- package/dist/chunk-P3B3Q7Y6.js +422 -0
- package/dist/chunk-P3B3Q7Y6.js.map +1 -0
- package/dist/chunk-QOXSE6WY.js +73 -0
- package/dist/chunk-QOXSE6WY.js.map +1 -0
- package/dist/docx-import-worker.cjs +710 -0
- package/dist/docx-import-worker.cjs.map +1 -0
- package/dist/docx-import-worker.d.cts +2 -0
- package/dist/docx-import-worker.d.ts +2 -0
- package/dist/docx-import-worker.js +61 -0
- package/dist/docx-import-worker.js.map +1 -0
- package/dist/docx_wasm_bg.wasm +0 -0
- package/dist/index.cjs +1196 -497
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +91 -2
- package/dist/index.d.ts +91 -2
- package/dist/index.js +886 -618
- package/dist/index.js.map +1 -1
- package/dist/src-NDPFDRVM.js +14 -0
- package/dist/{src-IT7QNDVM.js → src-PJYTN6DB.js} +3 -2
- package/dist/src-PJYTN6DB.js.map +1 -0
- package/package.json +1 -1
- package/dist/chunk-XLGR633U.js.map +0 -1
- /package/dist/{src-IT7QNDVM.js.map → src-NDPFDRVM.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/.pnpm/tsup@8.5.1_jiti@2.6.1_postcss@8.5.6_typescript@5.9.3/node_modules/tsup/assets/cjs_shims.js","../../wasm/src/generated/docx_wasm.js","../../wasm/src/index.ts","../../ooxml-core/src/index.ts","../src/docx-import-worker.ts","../../doc-model/src/index.ts","../../doc-model/src/normalize.ts","../../doc-model/src/types.ts","../../doc-model/src/clone.ts"],"sourcesContent":["// Shim globals in cjs bundle\n// There's a weird bug that esbuild will always inject importMetaUrl\n// if we export it as `const importMetaUrl = ... __filename ...`\n// But using a function will not cause this issue\n\nconst getImportMetaUrl = () => \n typeof document === \"undefined\" \n ? new URL(`file:${__filename}`).href \n : (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT') \n ? document.currentScript.src \n : new URL(\"main.js\", document.baseURI).href;\n\nexport const importMetaUrl = /* @__PURE__ */ getImportMetaUrl()\n","/* @ts-self-types=\"./docx_wasm.d.ts\" */\n\n/**\n * @param {Uint8Array} bytes\n * @returns {any}\n */\nexport function build_doc_model_from_bytes(bytes) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_export);\n const len0 = WASM_VECTOR_LEN;\n wasm.build_doc_model_from_bytes(retptr, ptr0, len0);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n if (r2) {\n throw takeObject(r1);\n }\n return takeObject(r0);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\n/**\n * @param {any} _package\n * @returns {string}\n */\nexport function build_doc_model_from_package(_package) {\n let deferred2_0;\n let deferred2_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n wasm.build_doc_model_from_package(retptr, addBorrowedObject(_package));\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n var ptr1 = r0;\n var len1 = r1;\n if (r3) {\n ptr1 = 0; len1 = 0;\n throw takeObject(r2);\n }\n deferred2_0 = ptr1;\n deferred2_1 = len1;\n return getStringFromWasm0(ptr1, len1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n heap[stack_pointer++] = undefined;\n wasm.__wbindgen_export4(deferred2_0, deferred2_1, 1);\n }\n}\n\n/**\n * @param {string} model_json\n * @param {any | null} [base_package]\n * @returns {string}\n */\nexport function model_to_document_xml_from_json_wasm(model_json, base_package) {\n let deferred3_0;\n let deferred3_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(model_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len0 = WASM_VECTOR_LEN;\n wasm.model_to_document_xml_from_json_wasm(retptr, ptr0, len0, isLikeNone(base_package) ? 0 : addHeapObject(base_package));\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n var ptr2 = r0;\n var len2 = r1;\n if (r3) {\n ptr2 = 0; len2 = 0;\n throw takeObject(r2);\n }\n deferred3_0 = ptr2;\n deferred3_1 = len2;\n return getStringFromWasm0(ptr2, len2);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export4(deferred3_0, deferred3_1, 1);\n }\n}\n\n/**\n * @param {any} model\n * @param {any | null} [base_package]\n * @returns {string}\n */\nexport function model_to_document_xml_wasm(model, base_package) {\n let deferred2_0;\n let deferred2_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n wasm.model_to_document_xml_wasm(retptr, addBorrowedObject(model), isLikeNone(base_package) ? 0 : addHeapObject(base_package));\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n var ptr1 = r0;\n var len1 = r1;\n if (r3) {\n ptr1 = 0; len1 = 0;\n throw takeObject(r2);\n }\n deferred2_0 = ptr1;\n deferred2_1 = len1;\n return getStringFromWasm0(ptr1, len1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n heap[stack_pointer++] = undefined;\n wasm.__wbindgen_export4(deferred2_0, deferred2_1, 1);\n }\n}\n\n/**\n * @param {any} _package\n * @returns {Uint8Array}\n */\nexport function package_to_array_buffer_wasm(_package) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n wasm.package_to_array_buffer_wasm(retptr, addBorrowedObject(_package));\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n if (r3) {\n throw takeObject(r2);\n }\n var v1 = getArrayU8FromWasm0(r0, r1).slice();\n wasm.__wbindgen_export4(r0, r1 * 1, 1);\n return v1;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n heap[stack_pointer++] = undefined;\n }\n}\n\n/**\n * @param {Uint8Array} bytes\n * @returns {any}\n */\nexport function parse_docx_wasm(bytes) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_export);\n const len0 = WASM_VECTOR_LEN;\n wasm.parse_docx_wasm(retptr, ptr0, len0);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n if (r2) {\n throw takeObject(r1);\n }\n return takeObject(r0);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\n/**\n * @param {string} model_json\n * @param {any | null} [base_package]\n * @returns {Uint8Array}\n */\nexport function serialize_docx_from_json_wasm(model_json, base_package) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(model_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len0 = WASM_VECTOR_LEN;\n wasm.serialize_docx_from_json_wasm(retptr, ptr0, len0, isLikeNone(base_package) ? 0 : addHeapObject(base_package));\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n if (r3) {\n throw takeObject(r2);\n }\n var v2 = getArrayU8FromWasm0(r0, r1).slice();\n wasm.__wbindgen_export4(r0, r1 * 1, 1);\n return v2;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\n/**\n * @param {any} model\n * @param {any | null} [base_package]\n * @returns {Uint8Array}\n */\nexport function serialize_docx_wasm(model, base_package) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n wasm.serialize_docx_wasm(retptr, addBorrowedObject(model), isLikeNone(base_package) ? 0 : addHeapObject(base_package));\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n if (r3) {\n throw takeObject(r2);\n }\n var v1 = getArrayU8FromWasm0(r0, r1).slice();\n wasm.__wbindgen_export4(r0, r1 * 1, 1);\n return v1;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n heap[stack_pointer++] = undefined;\n }\n}\nfunction __wbg_get_imports() {\n const import0 = {\n __proto__: null,\n __wbg___wbindgen_debug_string_56c147eb1a51f0c4: function(arg0, arg1) {\n const ret = debugString(getObject(arg1));\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg___wbindgen_is_null_ced4761460071341: function(arg0) {\n const ret = getObject(arg0) === null;\n return ret;\n },\n __wbg___wbindgen_is_object_3a2c414391dbf751: function(arg0) {\n const val = getObject(arg0);\n const ret = typeof(val) === 'object' && val !== null;\n return ret;\n },\n __wbg___wbindgen_is_undefined_4410e3c20a99fa97: function(arg0) {\n const ret = getObject(arg0) === undefined;\n return ret;\n },\n __wbg___wbindgen_string_get_fa2687d531ed17a5: function(arg0, arg1) {\n const obj = getObject(arg1);\n const ret = typeof(obj) === 'string' ? obj : undefined;\n var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n var len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg___wbindgen_throw_bbadd78c1bac3a77: function(arg0, arg1) {\n throw new Error(getStringFromWasm0(arg0, arg1));\n },\n __wbg_create_00e11a7cefe80760: function(arg0) {\n const ret = Object.create(getObject(arg0));\n return addHeapObject(ret);\n },\n __wbg_get_52a8a619f7b88df6: function() { return handleError(function (arg0, arg1) {\n const ret = Reflect.get(getObject(arg0), getObject(arg1));\n return addHeapObject(ret);\n }, arguments); },\n __wbg_get_unchecked_46e778e3cec74b5e: function(arg0, arg1) {\n const ret = getObject(arg0)[arg1 >>> 0];\n return addHeapObject(ret);\n },\n __wbg_instanceof_ArrayBuffer_a581da923203f29f: function(arg0) {\n let result;\n try {\n result = getObject(arg0) instanceof ArrayBuffer;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_instanceof_Uint8Array_b6fe1ac89eba107e: function(arg0) {\n let result;\n try {\n result = getObject(arg0) instanceof Uint8Array;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_isArray_139f48e3c057ede8: function(arg0) {\n const ret = Array.isArray(getObject(arg0));\n return ret;\n },\n __wbg_keys_bd51ff67a9b04698: function(arg0) {\n const ret = Object.keys(getObject(arg0));\n return addHeapObject(ret);\n },\n __wbg_length_68a9d5278d084f4f: function(arg0) {\n const ret = getObject(arg0).length;\n return ret;\n },\n __wbg_length_fb04d16d7bdf6d4c: function(arg0) {\n const ret = getObject(arg0).length;\n return ret;\n },\n __wbg_new_20b778a4c5c691c3: function() {\n const ret = new Object();\n return addHeapObject(ret);\n },\n __wbg_new_b06772b280cc6e52: function(arg0) {\n const ret = new Uint8Array(getObject(arg0));\n return addHeapObject(ret);\n },\n __wbg_new_from_slice_bb2d1778c0b87eb1: function(arg0, arg1) {\n const ret = new Uint8Array(getArrayU8FromWasm0(arg0, arg1));\n return addHeapObject(ret);\n },\n __wbg_parse_246201845d0eb98c: function() { return handleError(function (arg0, arg1) {\n const ret = JSON.parse(getStringFromWasm0(arg0, arg1));\n return addHeapObject(ret);\n }, arguments); },\n __wbg_prototypesetcall_956c7493c68e29b4: function(arg0, arg1, arg2) {\n Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), getObject(arg2));\n },\n __wbg_set_a6ba3ac0e634b822: function() { return handleError(function (arg0, arg1, arg2) {\n const ret = Reflect.set(getObject(arg0), getObject(arg1), getObject(arg2));\n return ret;\n }, arguments); },\n __wbg_stringify_a42c95ea9a7591c9: function() { return handleError(function (arg0) {\n const ret = JSON.stringify(getObject(arg0));\n return addHeapObject(ret);\n }, arguments); },\n __wbindgen_cast_0000000000000001: function(arg0, arg1) {\n // Cast intrinsic for `Ref(String) -> Externref`.\n const ret = getStringFromWasm0(arg0, arg1);\n return addHeapObject(ret);\n },\n __wbindgen_object_drop_ref: function(arg0) {\n takeObject(arg0);\n },\n };\n return {\n __proto__: null,\n \"./docx_wasm_bg.js\": import0,\n };\n}\n\nfunction addHeapObject(obj) {\n if (heap_next === heap.length) heap.push(heap.length + 1);\n const idx = heap_next;\n heap_next = heap[idx];\n\n heap[idx] = obj;\n return idx;\n}\n\nfunction addBorrowedObject(obj) {\n if (stack_pointer == 1) throw new Error('out of js stack');\n heap[--stack_pointer] = obj;\n return stack_pointer;\n}\n\nfunction debugString(val) {\n // primitive types\n const type = typeof val;\n if (type == 'number' || type == 'boolean' || val == null) {\n return `${val}`;\n }\n if (type == 'string') {\n return `\"${val}\"`;\n }\n if (type == 'symbol') {\n const description = val.description;\n if (description == null) {\n return 'Symbol';\n } else {\n return `Symbol(${description})`;\n }\n }\n if (type == 'function') {\n const name = val.name;\n if (typeof name == 'string' && name.length > 0) {\n return `Function(${name})`;\n } else {\n return 'Function';\n }\n }\n // objects\n if (Array.isArray(val)) {\n const length = val.length;\n let debug = '[';\n if (length > 0) {\n debug += debugString(val[0]);\n }\n for(let i = 1; i < length; i++) {\n debug += ', ' + debugString(val[i]);\n }\n debug += ']';\n return debug;\n }\n // Test for built-in\n const builtInMatches = /\\[object ([^\\]]+)\\]/.exec(toString.call(val));\n let className;\n if (builtInMatches && builtInMatches.length > 1) {\n className = builtInMatches[1];\n } else {\n // Failed to match the standard '[object ClassName]'\n return toString.call(val);\n }\n if (className == 'Object') {\n // we're a user defined class or Object\n // JSON.stringify avoids problems with cycles, and is generally much\n // easier than looping through ownProperties of `val`.\n try {\n return 'Object(' + JSON.stringify(val) + ')';\n } catch (_) {\n return 'Object';\n }\n }\n // errors\n if (val instanceof Error) {\n return `${val.name}: ${val.message}\\n${val.stack}`;\n }\n // TODO we could test for more things here, like `Set`s and `Map`s.\n return className;\n}\n\nfunction dropObject(idx) {\n if (idx < 1028) return;\n heap[idx] = heap_next;\n heap_next = idx;\n}\n\nfunction getArrayU8FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);\n}\n\nlet cachedDataViewMemory0 = null;\nfunction getDataViewMemory0() {\n if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {\n cachedDataViewMemory0 = new DataView(wasm.memory.buffer);\n }\n return cachedDataViewMemory0;\n}\n\nfunction getStringFromWasm0(ptr, len) {\n return decodeText(ptr >>> 0, len);\n}\n\nlet cachedUint8ArrayMemory0 = null;\nfunction getUint8ArrayMemory0() {\n if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {\n cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachedUint8ArrayMemory0;\n}\n\nfunction getObject(idx) { return heap[idx]; }\n\nfunction handleError(f, args) {\n try {\n return f.apply(this, args);\n } catch (e) {\n wasm.__wbindgen_export3(addHeapObject(e));\n }\n}\n\nlet heap = new Array(1024).fill(undefined);\nheap.push(undefined, null, true, false);\n\nlet heap_next = heap.length;\n\nfunction isLikeNone(x) {\n return x === undefined || x === null;\n}\n\nfunction passArray8ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 1, 1) >>> 0;\n getUint8ArrayMemory0().set(arg, ptr / 1);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nfunction passStringToWasm0(arg, malloc, realloc) {\n if (realloc === undefined) {\n const buf = cachedTextEncoder.encode(arg);\n const ptr = malloc(buf.length, 1) >>> 0;\n getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);\n WASM_VECTOR_LEN = buf.length;\n return ptr;\n }\n\n let len = arg.length;\n let ptr = malloc(len, 1) >>> 0;\n\n const mem = getUint8ArrayMemory0();\n\n let offset = 0;\n\n for (; offset < len; offset++) {\n const code = arg.charCodeAt(offset);\n if (code > 0x7F) break;\n mem[ptr + offset] = code;\n }\n if (offset !== len) {\n if (offset !== 0) {\n arg = arg.slice(offset);\n }\n ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;\n const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);\n const ret = cachedTextEncoder.encodeInto(arg, view);\n\n offset += ret.written;\n ptr = realloc(ptr, len, offset, 1) >>> 0;\n }\n\n WASM_VECTOR_LEN = offset;\n return ptr;\n}\n\nlet stack_pointer = 1024;\n\nfunction takeObject(idx) {\n const ret = getObject(idx);\n dropObject(idx);\n return ret;\n}\n\nlet cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\ncachedTextDecoder.decode();\nconst MAX_SAFARI_DECODE_BYTES = 2146435072;\nlet numBytesDecoded = 0;\nfunction decodeText(ptr, len) {\n numBytesDecoded += len;\n if (numBytesDecoded >= MAX_SAFARI_DECODE_BYTES) {\n cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\n cachedTextDecoder.decode();\n numBytesDecoded = len;\n }\n return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));\n}\n\nconst cachedTextEncoder = new TextEncoder();\n\nif (!('encodeInto' in cachedTextEncoder)) {\n cachedTextEncoder.encodeInto = function (arg, view) {\n const buf = cachedTextEncoder.encode(arg);\n view.set(buf);\n return {\n read: arg.length,\n written: buf.length\n };\n };\n}\n\nlet WASM_VECTOR_LEN = 0;\n\nlet wasmModule, wasmInstance, wasm;\nfunction __wbg_finalize_init(instance, module) {\n wasmInstance = instance;\n wasm = instance.exports;\n wasmModule = module;\n cachedDataViewMemory0 = null;\n cachedUint8ArrayMemory0 = null;\n return wasm;\n}\n\nasync function __wbg_load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n } catch (e) {\n const validResponse = module.ok && expectedResponseType(module.type);\n\n if (validResponse && module.headers.get('Content-Type') !== 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n\n } else { throw e; }\n }\n }\n\n const bytes = await module.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n } else {\n const instance = await WebAssembly.instantiate(module, imports);\n\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module };\n } else {\n return instance;\n }\n }\n\n function expectedResponseType(type) {\n switch (type) {\n case 'basic': case 'cors': case 'default': return true;\n }\n return false;\n }\n}\n\nfunction initSync(module) {\n if (wasm !== undefined) return wasm;\n\n\n if (module !== undefined) {\n if (Object.getPrototypeOf(module) === Object.prototype) {\n ({module} = module)\n } else {\n console.warn('using deprecated parameters for `initSync()`; pass a single object instead')\n }\n }\n\n const imports = __wbg_get_imports();\n if (!(module instanceof WebAssembly.Module)) {\n module = new WebAssembly.Module(module);\n }\n const instance = new WebAssembly.Instance(module, imports);\n return __wbg_finalize_init(instance, module);\n}\n\nasync function __wbg_init(module_or_path) {\n if (wasm !== undefined) return wasm;\n\n\n if (module_or_path !== undefined) {\n if (Object.getPrototypeOf(module_or_path) === Object.prototype) {\n ({module_or_path} = module_or_path)\n } else {\n console.warn('using deprecated parameters for the initialization function; pass a single object instead')\n }\n }\n\n if (module_or_path === undefined) {\n module_or_path = new URL('docx_wasm_bg.wasm', import.meta.url);\n }\n const imports = __wbg_get_imports();\n\n if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {\n module_or_path = fetch(module_or_path);\n }\n\n const { instance, module } = await __wbg_load(await module_or_path, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nexport { initSync, __wbg_init as default };\n","import type { InitInput, InitOutput } from \"./generated/docx_wasm.js\";\nimport wasmInit, {\n build_doc_model_from_bytes,\n build_doc_model_from_package,\n model_to_document_xml_from_json_wasm,\n package_to_array_buffer_wasm,\n parse_docx_wasm,\n serialize_docx_from_json_wasm,\n serialize_docx_wasm\n} from \"./generated/docx_wasm.js\";\n\nexport type WasmSource = InitInput;\n\nlet initPromise: Promise<InitOutput> | undefined;\nlet overrideSource: WasmSource | undefined;\n\n/**\n * Override where the `docx_wasm_bg.wasm` binary is loaded from (URL, Response,\n * bytes, or a compiled module). Must be called before the first operation that\n * touches WASM; by default the binary shipped alongside this package is used.\n */\nexport function setWasmSource(source: WasmSource): void {\n if (initPromise) {\n throw new Error(\n \"react-docx: setWasmSource must be called before the first parse/serialize call initializes WASM\"\n );\n }\n overrideSource = source;\n}\n\ninterface FsPromisesLike {\n readFile(path: URL): Promise<Uint8Array>;\n}\n\n// Resolve node:fs/promises without a static or dynamic `import(\"node:...\")`\n// in the module graph — browser bundlers must never see the specifier or\n// they fail the consumer's build.\nasync function nodeFsPromises(): Promise<FsPromisesLike> {\n const proc = (globalThis as { process?: { getBuiltinModule?: (id: string) => unknown } }).process;\n if (typeof proc?.getBuiltinModule === \"function\") {\n return proc.getBuiltinModule(\"node:fs/promises\") as FsPromisesLike;\n }\n // Node < 22.3 fallback; never executed in browsers.\n const dynamicImport = new Function(\"specifier\", \"return import(specifier)\") as (\n specifier: string\n ) => Promise<FsPromisesLike>;\n return dynamicImport(\"node:fs/promises\");\n}\n\nasync function defaultWasmSource(): Promise<WasmSource> {\n const wasmUrl = new URL(\"./docx_wasm_bg.wasm\", import.meta.url);\n if (wasmUrl.protocol === \"file:\") {\n const fs = await nodeFsPromises();\n return fs.readFile(wasmUrl);\n }\n return wasmUrl;\n}\n\nexport async function initWasm(source?: WasmSource): Promise<InitOutput> {\n if (!initPromise) {\n const chosen = source ?? overrideSource;\n initPromise = (chosen !== undefined ? Promise.resolve(chosen) : defaultWasmSource())\n .then((module_or_path) => wasmInit({ module_or_path }))\n .catch((error: unknown) => {\n if (error instanceof WebAssembly.CompileError) {\n throw new Error(\n \"react-docx: the bundled WebAssembly binary failed to compile. It requires \" +\n \"WebAssembly SIMD support (Chrome 91+, Firefox 89+, Safari 16.4+, Node 16.4+). \" +\n `Original error: ${error.message}`,\n { cause: error }\n );\n }\n throw error;\n });\n }\n return initPromise;\n}\n\nexport interface WasmOoxmlPart {\n name: string;\n content: string;\n}\n\nexport interface WasmOoxmlPackage {\n parts: Record<string, WasmOoxmlPart>;\n binaryAssets: Record<string, Uint8Array>;\n}\n\n/** Package shape produced by pre-Uint8Array versions of this library. */\nexport interface LegacyWasmOoxmlPackage {\n parts: Record<string, WasmOoxmlPart>;\n binaryAssets: Record<string, number[]>;\n}\n\nfunction toUint8Array(value: number[] | Uint8Array): Uint8Array {\n return value instanceof Uint8Array ? value : Uint8Array.from(value);\n}\n\nexport function docModelToWasmJson(model: unknown): string {\n return JSON.stringify(model, (_key, value) => {\n if (value instanceof Uint8Array) {\n return Array.from(value);\n }\n return value;\n });\n}\n\nexport function wasmPackageToMaps(raw: WasmOoxmlPackage | LegacyWasmOoxmlPackage): {\n parts: Map<string, WasmOoxmlPart>;\n binaryAssets: Map<string, Uint8Array>;\n} {\n const parts = new Map<string, WasmOoxmlPart>();\n for (const [name, part] of Object.entries(raw.parts ?? {})) {\n parts.set(name, {\n name: part.name ?? name,\n content: part.content\n });\n }\n\n const binaryAssets = new Map<string, Uint8Array>();\n for (const [name, asset] of Object.entries(raw.binaryAssets ?? {})) {\n binaryAssets.set(name, toUint8Array(asset));\n }\n\n return { parts, binaryAssets };\n}\n\nexport function mapsToWasmPackage(input: {\n parts: Map<string, WasmOoxmlPart>;\n binaryAssets: Map<string, Uint8Array>;\n}): WasmOoxmlPackage {\n const parts: Record<string, WasmOoxmlPart> = {};\n for (const [name, part] of input.parts.entries()) {\n parts[name] = {\n name: part.name,\n content: part.content\n };\n }\n\n // Buffers are shared, not copied; the wasm boundary copies on read and JS\n // callers already treat package asset buffers as immutable.\n const binaryAssets: Record<string, Uint8Array> = {};\n for (const [name, asset] of input.binaryAssets.entries()) {\n binaryAssets[name] = asset;\n }\n\n return { parts, binaryAssets };\n}\n\nexport async function wasmParseDocx(bytes: ArrayBuffer | Uint8Array): Promise<WasmOoxmlPackage> {\n await initWasm();\n const payload = bytes instanceof Uint8Array ? bytes : new Uint8Array(bytes);\n return parse_docx_wasm(payload) as WasmOoxmlPackage;\n}\n\nexport async function wasmBuildDocModelFromPackage(pkg: WasmOoxmlPackage): Promise<unknown> {\n await initWasm();\n const json = build_doc_model_from_package(pkg);\n return JSON.parse(json) as unknown;\n}\n\nexport async function wasmBuildDocModelFromBytes(bytes: ArrayBuffer | Uint8Array): Promise<{\n package: WasmOoxmlPackage;\n model: unknown;\n}> {\n await initWasm();\n const payload = bytes instanceof Uint8Array ? bytes : new Uint8Array(bytes);\n return build_doc_model_from_bytes(payload) as { package: WasmOoxmlPackage; model: unknown };\n}\n\nexport async function wasmSerializeDocx(\n model: unknown,\n basePackage?: WasmOoxmlPackage\n): Promise<ArrayBuffer> {\n await initWasm();\n const modelJson = docModelToWasmJson(model);\n const bytes = serialize_docx_from_json_wasm(modelJson, basePackage ?? null);\n return bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength) as ArrayBuffer;\n}\n\nexport async function wasmModelToDocumentXml(\n model: unknown,\n basePackage?: WasmOoxmlPackage\n): Promise<string> {\n await initWasm();\n return model_to_document_xml_from_json_wasm(docModelToWasmJson(model), basePackage ?? null);\n}\n\nexport async function wasmPackageToArrayBuffer(pkg: WasmOoxmlPackage): Promise<ArrayBuffer> {\n await initWasm();\n const bytes = package_to_array_buffer_wasm(pkg);\n return bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength) as ArrayBuffer;\n}\n\nexport {\n build_doc_model_from_bytes,\n build_doc_model_from_package,\n model_to_document_xml_from_json_wasm,\n package_to_array_buffer_wasm,\n parse_docx_wasm,\n serialize_docx_from_json_wasm,\n serialize_docx_wasm\n};\n","import {\n mapsToWasmPackage,\n wasmPackageToArrayBuffer,\n wasmPackageToMaps,\n wasmParseDocx,\n type LegacyWasmOoxmlPackage,\n type WasmOoxmlPackage\n} from \"@extend-ai/react-docx-wasm\";\n\nexport interface OoxmlPart {\n name: string;\n content: string;\n}\n\nexport interface OoxmlPackage {\n parts: Map<string, OoxmlPart>;\n binaryAssets: Map<string, Uint8Array>;\n}\n\nexport async function parseDocx(input: ArrayBuffer): Promise<OoxmlPackage> {\n const wasmPackage = await wasmParseDocx(input);\n const { parts, binaryAssets } = wasmPackageToMaps(wasmPackage);\n return { parts, binaryAssets };\n}\n\nexport async function packageToArrayBuffer(pkg: OoxmlPackage): Promise<ArrayBuffer> {\n return wasmPackageToArrayBuffer(mapsToWasmPackage(pkg));\n}\n\nexport function createMinimalDocxPackage(\n documentXml = DEFAULT_DOCUMENT_XML\n): OoxmlPackage {\n return {\n parts: new Map([\n [\"[Content_Types].xml\", { name: \"[Content_Types].xml\", content: DEFAULT_CONTENT_TYPES_XML }],\n [\"_rels/.rels\", { name: \"_rels/.rels\", content: DEFAULT_ROOT_RELS_XML }],\n [\"word/document.xml\", { name: \"word/document.xml\", content: documentXml }],\n [\n \"word/_rels/document.xml.rels\",\n { name: \"word/_rels/document.xml.rels\", content: DEFAULT_DOCUMENT_RELS_XML }\n ]\n ]),\n binaryAssets: new Map()\n };\n}\n\nexport function getPart(pkg: OoxmlPackage, partName: string): OoxmlPart | undefined {\n return pkg.parts.get(partName);\n}\n\nexport function withPart(pkg: OoxmlPackage, part: OoxmlPart): OoxmlPackage {\n const parts = new Map(pkg.parts);\n parts.set(part.name, part);\n return {\n parts,\n binaryAssets: new Map(pkg.binaryAssets)\n };\n}\n\nconst WORD_MAIN_NS = \"http://schemas.openxmlformats.org/wordprocessingml/2006/main\";\n\nconst DEFAULT_DOCUMENT_XML = `<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<w:document xmlns:w=\"${WORD_MAIN_NS}\">\n <w:body>\n <w:p><w:r><w:t/></w:r></w:p>\n <w:sectPr>\n <w:pgSz w:w=\"12240\" w:h=\"15840\"/>\n <w:pgMar w:top=\"1440\" w:right=\"1440\" w:bottom=\"1440\" w:left=\"1440\" w:header=\"708\" w:footer=\"708\" w:gutter=\"0\"/>\n </w:sectPr>\n </w:body>\n</w:document>`;\n\nconst DEFAULT_CONTENT_TYPES_XML = `<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<Types xmlns=\"http://schemas.openxmlformats.org/package/2006/content-types\">\n <Default Extension=\"rels\" ContentType=\"application/vnd.openxmlformats-package.relationships+xml\"/>\n <Default Extension=\"xml\" ContentType=\"application/xml\"/>\n <Override PartName=\"/word/document.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml\"/>\n</Types>`;\n\nconst DEFAULT_ROOT_RELS_XML = `<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<Relationships xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\">\n <Relationship Id=\"rId1\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument\" Target=\"word/document.xml\"/>\n</Relationships>`;\n\nconst DEFAULT_DOCUMENT_RELS_XML = `<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<Relationships xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\"/>`;\n\nexport type { LegacyWasmOoxmlPackage, WasmOoxmlPackage };\n","import { buildDocModel } from \"@extend-ai/react-docx-doc-model\";\nimport { parseDocx } from \"@extend-ai/react-docx-ooxml-core\";\n\nimport type {\n DocxImportWorkerRequest,\n DocxImportWorkerResponse,\n DocxImportWorkerTimings,\n} from \"./docx-import\";\n\nfunction performanceNow(): number {\n return typeof performance !== \"undefined\" &&\n typeof performance.now === \"function\"\n ? performance.now()\n : Date.now();\n}\n\nfunction serializeError(error: unknown): {\n name?: string;\n message: string;\n stack?: string;\n} {\n if (error instanceof Error) {\n return {\n name: error.name,\n message: error.message,\n stack: error.stack,\n };\n }\n\n return {\n message: String(error),\n };\n}\n\nself.addEventListener(\n \"message\",\n async (event: MessageEvent<DocxImportWorkerRequest>) => {\n const request = event.data;\n if (!request || request.type !== \"import-docx\") {\n return;\n }\n\n try {\n const startedAt = performanceNow();\n const pkg = await parseDocx(request.buffer);\n const parsedAt = performanceNow();\n const model = await buildDocModel(pkg);\n const finishedAt = performanceNow();\n const timings: DocxImportWorkerTimings = {\n totalMs: finishedAt - startedAt,\n parseMs: parsedAt - startedAt,\n buildModelMs: finishedAt - parsedAt,\n };\n const response: DocxImportWorkerResponse = {\n id: request.id,\n type: \"success\",\n package: pkg,\n model,\n timings,\n };\n self.postMessage(response);\n } catch (error) {\n const response: DocxImportWorkerResponse = {\n id: request.id,\n type: \"error\",\n error: serializeError(error),\n };\n self.postMessage(response);\n }\n }\n);\n\n","import type { OoxmlPackage } from \"@extend-ai/react-docx-ooxml-core\";\nimport {\n mapsToWasmPackage,\n wasmBuildDocModelFromPackage,\n wasmPackageToMaps\n} from \"@extend-ai/react-docx-wasm\";\n\nimport { normalizeDocModel } from \"./normalize\";\nimport type { DocModel } from \"./types\";\n\nexport * from \"./types\";\nexport { cloneDocModel } from \"./clone\";\nexport { normalizeDocModel } from \"./normalize\";\n\nexport async function buildDocModel(pkg: OoxmlPackage): Promise<DocModel> {\n const wasmPackage = mapsToWasmPackage({\n parts: pkg.parts,\n binaryAssets: pkg.binaryAssets\n });\n const model = (await wasmBuildDocModelFromPackage(wasmPackage)) as DocModel;\n return normalizeDocModel(model);\n}\n\nexport async function buildDocModelFromBytes(bytes: ArrayBuffer | Uint8Array): Promise<{\n package: OoxmlPackage;\n model: DocModel;\n}> {\n const { parseDocx } = await import(\"@extend-ai/react-docx-ooxml-core\");\n const payload = bytes instanceof Uint8Array ? bytes : new Uint8Array(bytes);\n const buffer =\n payload.buffer.slice(payload.byteOffset, payload.byteOffset + payload.byteLength) as ArrayBuffer;\n const pkg = await parseDocx(buffer);\n const model = await buildDocModel(pkg);\n return { package: pkg, model };\n}\n","import type {\n DocModel,\n DocNode,\n ImageRunNode,\n ParagraphChildNode,\n TableCellContentNode\n} from \"./types\";\n\nfunction normalizeUint8Array(value: unknown): Uint8Array | undefined {\n if (value instanceof Uint8Array) {\n return value;\n }\n if (Array.isArray(value)) {\n return Uint8Array.from(value as number[]);\n }\n return undefined;\n}\n\nfunction normalizeParagraphChild(child: ParagraphChildNode): ParagraphChildNode {\n if (child.type !== \"image\") {\n return child;\n }\n\n const image = child as ImageRunNode;\n const data = normalizeUint8Array(image.data);\n if (data === image.data) {\n return child;\n }\n\n return {\n ...image,\n data\n };\n}\n\nfunction normalizeTableCellContent(node: TableCellContentNode): TableCellContentNode {\n if (node.type === \"table\") {\n return normalizeDocNode(node) as TableCellContentNode;\n }\n\n return {\n ...node,\n children: node.children.map(normalizeParagraphChild)\n };\n}\n\nfunction normalizeDocNode(node: DocNode): DocNode {\n if (node.type === \"paragraph\") {\n return {\n ...node,\n children: node.children.map(normalizeParagraphChild)\n };\n }\n\n return {\n ...node,\n rows: node.rows.map((row) => ({\n ...row,\n cells: row.cells.map((cell) => ({\n ...cell,\n nodes: cell.nodes.map(normalizeTableCellContent)\n }))\n }))\n };\n}\n\nexport function normalizeDocModel(model: DocModel): DocModel {\n return {\n ...model,\n nodes: model.nodes.map(normalizeDocNode),\n metadata: {\n ...model.metadata,\n headerSections: model.metadata.headerSections.map((section) => ({\n ...section,\n nodes: section.nodes.map(normalizeDocNode)\n })),\n footerSections: model.metadata.footerSections.map((section) => ({\n ...section,\n nodes: section.nodes.map(normalizeDocNode)\n })),\n sections: model.metadata.sections?.map((section) => ({\n ...section,\n headerSections: section.headerSections.map((header) => ({\n ...header,\n nodes: header.nodes.map(normalizeDocNode)\n })),\n footerSections: section.footerSections.map((footer) => ({\n ...footer,\n nodes: footer.nodes.map(normalizeDocNode)\n }))\n })),\n footnotes: model.metadata.footnotes?.map((note) => ({\n ...note,\n nodes: note.nodes?.map(normalizeDocNode)\n })),\n endnotes: model.metadata.endnotes?.map((note) => ({\n ...note,\n nodes: note.nodes?.map(normalizeDocNode)\n }))\n }\n };\n}\n","export type ParagraphAlignment = \"left\" | \"center\" | \"right\" | \"justify\";\nexport type HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;\n\nexport interface TextRunBorderStyle {\n type: string;\n color?: string;\n sizeEighthPt?: number;\n spacePt?: number;\n frame?: boolean;\n shadow?: boolean;\n}\n\nexport interface TextStyle {\n bold?: boolean;\n italic?: boolean;\n underline?: boolean;\n strike?: boolean;\n color?: string;\n highlight?: string;\n backgroundColor?: string;\n fontSizePt?: number;\n fontFamily?: string;\n characterSpacingTwips?: number;\n verticalAlign?: \"superscript\" | \"subscript\";\n runBorder?: TextRunBorderStyle;\n}\n\nexport interface TextRunNode {\n type: \"text\";\n text: string;\n style?: TextStyle;\n link?: string;\n noteReference?: {\n kind: \"footnote\" | \"endnote\";\n id: number;\n };\n}\n\nexport interface ImageRunNode {\n type: \"image\";\n src?: string;\n alt?: string;\n widthPx?: number;\n heightPx?: number;\n partName?: string;\n contentType?: string;\n data?: Uint8Array;\n sourceXml?: string;\n crop?: {\n leftFraction?: number;\n topFraction?: number;\n rightFraction?: number;\n bottomFraction?: number;\n };\n cssFilter?: string;\n cssOpacity?: number;\n floating?: {\n xPx?: number;\n yPx?: number;\n horizontalAlign?: \"left\" | \"center\" | \"right\" | \"inside\" | \"outside\";\n verticalAlign?: \"top\" | \"center\" | \"bottom\" | \"inside\" | \"outside\";\n horizontalRelativeTo?: string;\n verticalRelativeTo?: string;\n distLPx?: number;\n distRPx?: number;\n distTPx?: number;\n distBPx?: number;\n wrapType?: \"none\" | \"square\" | \"tight\" | \"through\" | \"topAndBottom\";\n wrapText?: \"bothSides\" | \"left\" | \"right\" | \"largest\";\n behindDocument?: boolean;\n zIndex?: number;\n };\n syntheticTextBox?: boolean;\n textBoxText?: string;\n}\n\nexport type FormFieldType = \"checkbox\" | \"text\" | \"date\" | \"dropdown\";\n\nexport type FormFieldSourceKind = \"sdt\" | \"legacy\";\n\nexport interface FormFieldOption {\n displayText: string;\n value?: string;\n}\n\nexport interface FormFieldTextWidgetSettings {\n inputType?:\n | \"regular\"\n | \"number\"\n | \"date\"\n | \"currentDate\"\n | \"currentTime\"\n | \"calculated\"\n | (string & {});\n defaultText?: string;\n maxLength?: number;\n textFormat?: string;\n}\n\nexport interface FormFieldCheckboxWidgetSettings {\n defaultChecked?: boolean;\n sizeMode?: \"auto\" | \"exact\";\n sizePt?: number;\n}\n\nexport interface FormFieldDropdownWidgetSettings {\n defaultValue?: string;\n}\n\nexport interface FormFieldWidgetSettings {\n name?: string;\n enabled?: boolean;\n calcOnExit?: boolean;\n text?: FormFieldTextWidgetSettings;\n checkbox?: FormFieldCheckboxWidgetSettings;\n dropdown?: FormFieldDropdownWidgetSettings;\n}\n\nexport interface FormFieldRunNode {\n type: \"form-field\";\n fieldType: FormFieldType;\n sourceKind?: FormFieldSourceKind;\n id?: number;\n tag?: string;\n title?: string;\n placeholder?: string;\n checked?: boolean;\n value?: string;\n options?: FormFieldOption[];\n widget?: FormFieldWidgetSettings;\n checkedSymbol?: string;\n uncheckedSymbol?: string;\n style?: TextStyle;\n link?: string;\n sourceXml?: string;\n}\n\nexport type ParagraphChildNode = TextRunNode | ImageRunNode | FormFieldRunNode;\n\nexport interface ParagraphNumbering {\n numId: number;\n ilvl: number;\n}\n\nexport interface ParagraphSpacing {\n beforeTwips?: number;\n afterTwips?: number;\n lineTwips?: number;\n lineRule?: \"auto\" | \"exact\" | \"atLeast\";\n}\n\nexport interface ParagraphIndent {\n leftTwips?: number;\n rightTwips?: number;\n firstLineTwips?: number;\n hangingTwips?: number;\n}\n\nexport interface ParagraphBorderStyle {\n type: string;\n color?: string;\n sizeEighthPt?: number;\n spacePt?: number;\n frame?: boolean;\n shadow?: boolean;\n}\n\nexport interface ParagraphBorderSet {\n top?: ParagraphBorderStyle;\n right?: ParagraphBorderStyle;\n bottom?: ParagraphBorderStyle;\n left?: ParagraphBorderStyle;\n between?: ParagraphBorderStyle;\n bar?: ParagraphBorderStyle;\n}\n\nexport interface ParagraphTabStop {\n alignment?: \"left\" | \"center\" | \"right\" | \"decimal\" | \"bar\";\n leader?: \"none\" | \"dot\" | \"hyphen\" | \"underscore\" | \"middleDot\";\n positionTwips?: number;\n}\n\nexport interface ParagraphStyle {\n align?: ParagraphAlignment;\n headingLevel?: HeadingLevel;\n styleId?: string;\n styleName?: string;\n numbering?: ParagraphNumbering;\n spacing?: ParagraphSpacing;\n indent?: ParagraphIndent;\n backgroundColor?: string;\n borders?: ParagraphBorderSet;\n tabStops?: ParagraphTabStop[];\n contextualSpacing?: boolean;\n keepNext?: boolean;\n keepLines?: boolean;\n widowControl?: boolean;\n pageBreakBefore?: boolean;\n dropCap?: {\n type: \"drop\" | \"margin\";\n lines?: number;\n wrap?: string;\n horizontalAnchor?: string;\n verticalAnchor?: string;\n xTwips?: number;\n yTwips?: number;\n horizontalSpaceTwips?: number;\n verticalSpaceTwips?: number;\n };\n}\n\nexport interface ParagraphNode {\n type: \"paragraph\";\n children: ParagraphChildNode[];\n style?: ParagraphStyle;\n paragraphMarkDeleted?: boolean;\n sourceXml?: string;\n}\n\nexport interface TableBoxSpacing {\n topTwips?: number;\n rightTwips?: number;\n bottomTwips?: number;\n leftTwips?: number;\n}\n\nexport interface TableBorderStyle {\n type: string;\n color?: string;\n sizeEighthPt?: number;\n}\n\nexport interface TableBorderSet {\n top?: TableBorderStyle;\n right?: TableBorderStyle;\n bottom?: TableBorderStyle;\n left?: TableBorderStyle;\n insideH?: TableBorderStyle;\n insideV?: TableBorderStyle;\n tl2br?: TableBorderStyle;\n tr2bl?: TableBorderStyle;\n}\n\nexport interface TableCellStyle {\n backgroundColor?: string;\n gridSpan?: number;\n rowSpan?: number;\n vMergeContinuation?: boolean;\n widthTwips?: number;\n marginTwips?: TableBoxSpacing;\n verticalAlign?: \"top\" | \"center\" | \"bottom\";\n borders?: TableBorderSet;\n}\n\nexport type TableCellContentNode = ParagraphNode | TableNode;\n\nexport interface TableCellNode {\n type: \"table-cell\";\n nodes: TableCellContentNode[];\n style?: TableCellStyle;\n}\n\nexport interface TableRowStyle {\n backgroundColor?: string;\n heightTwips?: number;\n heightRule?: \"auto\" | \"atLeast\" | \"exact\";\n cantSplit?: boolean;\n isHeader?: boolean;\n}\n\nexport interface TableRowNode {\n type: \"table-row\";\n cells: TableCellNode[];\n style?: TableRowStyle;\n}\n\nexport interface TableStyle {\n widthTwips?: number;\n indentTwips?: number;\n layout?: \"fixed\" | \"autofit\";\n cellSpacingTwips?: number;\n cellMarginTwips?: TableBoxSpacing;\n columnWidthsTwips?: number[];\n borders?: TableBorderSet;\n floating?: {\n xTwips?: number;\n yTwips?: number;\n leftFromTextTwips?: number;\n rightFromTextTwips?: number;\n topFromTextTwips?: number;\n bottomFromTextTwips?: number;\n horizontalAnchor?: string;\n verticalAnchor?: string;\n horizontalAlign?: \"left\" | \"center\" | \"right\" | \"inside\" | \"outside\";\n verticalAlign?: \"top\" | \"center\" | \"bottom\" | \"inside\" | \"outside\";\n };\n}\n\nexport interface TableNode {\n type: \"table\";\n rows: TableRowNode[];\n style?: TableStyle;\n sourceXml?: string;\n}\n\nexport type DocNode = ParagraphNode | TableNode;\n\nexport interface HeaderSection {\n partName: string;\n referenceType?: string;\n nodes: DocNode[];\n}\n\nexport interface FooterSection {\n partName: string;\n referenceType?: string;\n nodes: DocNode[];\n}\n\nexport interface DocumentSection {\n startNodeIndex: number;\n sectionPropertiesXml?: string;\n headerSections: HeaderSection[];\n footerSections: FooterSection[];\n}\n\nexport interface ParagraphStyleDefinition {\n id: string;\n name: string;\n basedOnId?: string;\n nextStyleId?: string;\n align?: ParagraphAlignment;\n headingLevel?: HeadingLevel;\n numbering?: ParagraphNumbering;\n spacing?: ParagraphSpacing;\n indent?: ParagraphIndent;\n backgroundColor?: string;\n borders?: ParagraphBorderSet;\n tabStops?: ParagraphTabStop[];\n contextualSpacing?: boolean;\n keepNext?: boolean;\n keepLines?: boolean;\n widowControl?: boolean;\n pageBreakBefore?: boolean;\n runStyle?: TextStyle;\n uiPriority?: number;\n isDefault?: boolean;\n isPrimary?: boolean;\n}\n\nexport interface NumberingLevelDefinition {\n ilvl: number;\n start?: number;\n format?: string;\n text?: string;\n suffix?: \"tab\" | \"space\" | \"nothing\";\n indent?: ParagraphIndent;\n runStyle?: TextStyle;\n bulletFontFamily?: string;\n bulletColor?: string;\n pictureBulletId?: number;\n pictureBullet?: NumberingPictureBulletDefinition;\n}\n\nexport interface NumberingAbstractDefinition {\n abstractNumId: number;\n levels: NumberingLevelDefinition[];\n}\n\nexport interface NumberingInstanceDefinition {\n numId: number;\n abstractNumId: number;\n levelStartOverrides?: Record<string, number>;\n levelOverrides?: NumberingLevelDefinition[];\n}\n\nexport interface NumberingDefinitionSet {\n abstracts: NumberingAbstractDefinition[];\n instances: NumberingInstanceDefinition[];\n}\n\nexport interface NumberingPictureBulletDefinition {\n numPicBulletId: number;\n src?: string;\n widthPx?: number;\n heightPx?: number;\n partName?: string;\n contentType?: string;\n}\n\nexport interface DocumentNoteDefinition {\n id: number;\n text: string;\n nodes?: DocNode[];\n}\n\nexport interface DocumentCommentDefinition {\n id: number;\n author?: string;\n initials?: string;\n date?: string;\n text: string;\n /** Comment id this comment replies to (from commentsExtended threading). */\n parentId?: number;\n /** True when the comment thread is marked done in commentsExtended. */\n resolved?: boolean;\n}\n\nexport interface DocumentCompatibilitySettings {\n suppressSpacingBeforeAfterPageBreak?: boolean;\n usePrinterMetrics?: boolean;\n useFixedHtmlParagraphSpacing?: boolean;\n doNotBreakWrappedTables?: boolean;\n doNotBreakConstrainedForcedTable?: boolean;\n evenAndOddHeaders?: boolean;\n}\n\nexport interface DocModel {\n nodes: DocNode[];\n metadata: {\n sourceParts: number;\n warnings: string[];\n documentPageCount?: number;\n documentOpenTag?: string;\n documentBackgroundColor?: string;\n sectionPropertiesXml?: string;\n sections?: DocumentSection[];\n headerSections: HeaderSection[];\n footerSections: FooterSection[];\n paragraphStyles: ParagraphStyleDefinition[];\n defaultParagraphStyleId?: string;\n numberingDefinitions?: NumberingDefinitionSet;\n compatibility?: DocumentCompatibilitySettings;\n footnotes?: DocumentNoteDefinition[];\n endnotes?: DocumentNoteDefinition[];\n comments?: DocumentCommentDefinition[];\n };\n}\n","import type {\n DocModel,\n DocNode,\n FooterSection,\n HeaderSection,\n NumberingDefinitionSet,\n ParagraphBorderSet,\n ParagraphBorderStyle,\n ParagraphIndent,\n ParagraphNode,\n ParagraphNumbering,\n ParagraphSpacing,\n ParagraphStyle,\n ParagraphStyleDefinition,\n TableBorderSet,\n TableBorderStyle,\n TableBoxSpacing,\n TableCellContentNode,\n TableNode,\n TableStyle,\n} from \"./types\";\n\nfunction isParagraphCellContent(\n node: TableCellContentNode\n): node is ParagraphNode {\n return node.type === \"paragraph\";\n}\n\nfunction isTableCellContentTable(\n node: TableCellContentNode\n): node is TableNode {\n return node.type === \"table\";\n}\n\nfunction cloneTableCellContent(\n nodes: TableCellContentNode[]\n): TableCellContentNode[] {\n return nodes.map((node) => {\n if (isParagraphCellContent(node)) {\n return cloneParagraph(node);\n }\n\n if (isTableCellContentTable(node)) {\n return cloneTable(node);\n }\n\n return node;\n });\n}\n\nfunction cloneParagraphNumbering(\n numbering?: ParagraphNumbering\n): ParagraphNumbering | undefined {\n return numbering ? { ...numbering } : undefined;\n}\n\nfunction cloneParagraphSpacing(\n spacing?: ParagraphSpacing\n): ParagraphSpacing | undefined {\n return spacing ? { ...spacing } : undefined;\n}\n\nfunction cloneParagraphIndent(\n indent?: ParagraphIndent\n): ParagraphIndent | undefined {\n return indent ? { ...indent } : undefined;\n}\n\nfunction cloneParagraphBorderStyle(\n border?: ParagraphBorderStyle\n): ParagraphBorderStyle | undefined {\n return border ? { ...border } : undefined;\n}\n\nfunction cloneParagraphBorderSet(\n borders?: ParagraphBorderSet\n): ParagraphBorderSet | undefined {\n if (!borders) {\n return undefined;\n }\n\n return {\n top: cloneParagraphBorderStyle(borders.top),\n right: cloneParagraphBorderStyle(borders.right),\n bottom: cloneParagraphBorderStyle(borders.bottom),\n left: cloneParagraphBorderStyle(borders.left),\n between: cloneParagraphBorderStyle(borders.between),\n bar: cloneParagraphBorderStyle(borders.bar),\n };\n}\n\nfunction cloneParagraphStyle(\n style?: ParagraphStyle\n): ParagraphStyle | undefined {\n if (!style) {\n return undefined;\n }\n\n return {\n ...style,\n numbering: cloneParagraphNumbering(style.numbering),\n spacing: cloneParagraphSpacing(style.spacing),\n indent: cloneParagraphIndent(style.indent),\n borders: cloneParagraphBorderSet(style.borders),\n dropCap: style.dropCap\n ? {\n ...style.dropCap,\n }\n : undefined,\n };\n}\n\nfunction cloneParagraph(paragraph: ParagraphNode): ParagraphNode {\n return {\n type: \"paragraph\",\n style: cloneParagraphStyle(paragraph.style),\n paragraphMarkDeleted: paragraph.paragraphMarkDeleted,\n sourceXml: paragraph.sourceXml,\n children: paragraph.children.map((child) => {\n if (child.type === \"text\") {\n return {\n type: \"text\" as const,\n text: child.text,\n style: child.style ? { ...child.style } : undefined,\n link: child.link,\n };\n }\n\n if (child.type === \"form-field\") {\n return {\n type: \"form-field\" as const,\n fieldType: child.fieldType,\n sourceKind: child.sourceKind,\n id: child.id,\n tag: child.tag,\n title: child.title,\n placeholder: child.placeholder,\n checked: child.checked,\n value: child.value,\n options: child.options?.map((option) => ({\n displayText: option.displayText,\n value: option.value,\n })),\n widget: child.widget\n ? {\n name: child.widget.name,\n enabled: child.widget.enabled,\n calcOnExit: child.widget.calcOnExit,\n text: child.widget.text\n ? {\n inputType: child.widget.text.inputType,\n defaultText: child.widget.text.defaultText,\n maxLength: child.widget.text.maxLength,\n textFormat: child.widget.text.textFormat,\n }\n : undefined,\n checkbox: child.widget.checkbox\n ? {\n defaultChecked: child.widget.checkbox.defaultChecked,\n sizeMode: child.widget.checkbox.sizeMode,\n sizePt: child.widget.checkbox.sizePt,\n }\n : undefined,\n dropdown: child.widget.dropdown\n ? {\n defaultValue: child.widget.dropdown.defaultValue,\n }\n : undefined,\n }\n : undefined,\n checkedSymbol: child.checkedSymbol,\n uncheckedSymbol: child.uncheckedSymbol,\n style: child.style ? { ...child.style } : undefined,\n link: child.link,\n sourceXml: child.sourceXml,\n };\n }\n\n return {\n type: \"image\" as const,\n src: child.src,\n alt: child.alt,\n widthPx: child.widthPx,\n heightPx: child.heightPx,\n partName: child.partName,\n contentType: child.contentType,\n data: child.data ? new Uint8Array(child.data) : undefined,\n sourceXml: child.sourceXml,\n crop: child.crop ? { ...child.crop } : undefined,\n cssFilter: child.cssFilter,\n cssOpacity: child.cssOpacity,\n floating: child.floating ? { ...child.floating } : undefined,\n syntheticTextBox: child.syntheticTextBox,\n textBoxText: child.textBoxText,\n };\n }),\n };\n}\n\nfunction cloneTableBoxSpacing(\n spacing?: TableBoxSpacing\n): TableBoxSpacing | undefined {\n if (!spacing) {\n return undefined;\n }\n\n return {\n topTwips: spacing.topTwips,\n rightTwips: spacing.rightTwips,\n bottomTwips: spacing.bottomTwips,\n leftTwips: spacing.leftTwips,\n };\n}\n\nfunction cloneTableBorderStyle(\n border?: TableBorderStyle\n): TableBorderStyle | undefined {\n if (!border) {\n return undefined;\n }\n\n return {\n type: border.type,\n color: border.color,\n sizeEighthPt: border.sizeEighthPt,\n };\n}\n\nfunction cloneTableBorderSet(\n borders?: TableBorderSet\n): TableBorderSet | undefined {\n if (!borders) {\n return undefined;\n }\n\n return {\n top: cloneTableBorderStyle(borders.top),\n right: cloneTableBorderStyle(borders.right),\n bottom: cloneTableBorderStyle(borders.bottom),\n left: cloneTableBorderStyle(borders.left),\n insideH: cloneTableBorderStyle(borders.insideH),\n insideV: cloneTableBorderStyle(borders.insideV),\n tl2br: cloneTableBorderStyle(borders.tl2br),\n tr2bl: cloneTableBorderStyle(borders.tr2bl),\n };\n}\n\nfunction cloneTableFloatingStyle(\n floating?: NonNullable<TableStyle[\"floating\"]>\n): NonNullable<TableStyle[\"floating\"]> | undefined {\n if (!floating) {\n return undefined;\n }\n\n return {\n xTwips: floating.xTwips,\n yTwips: floating.yTwips,\n leftFromTextTwips: floating.leftFromTextTwips,\n rightFromTextTwips: floating.rightFromTextTwips,\n topFromTextTwips: floating.topFromTextTwips,\n bottomFromTextTwips: floating.bottomFromTextTwips,\n horizontalAnchor: floating.horizontalAnchor,\n verticalAnchor: floating.verticalAnchor,\n horizontalAlign: floating.horizontalAlign,\n verticalAlign: floating.verticalAlign,\n };\n}\n\nfunction cloneTable(table: TableNode): TableNode {\n return {\n type: \"table\",\n sourceXml: table.sourceXml,\n style: table.style\n ? {\n widthTwips: table.style.widthTwips,\n indentTwips: table.style.indentTwips,\n layout: table.style.layout,\n cellSpacingTwips: table.style.cellSpacingTwips,\n floating: cloneTableFloatingStyle(table.style.floating),\n cellMarginTwips: cloneTableBoxSpacing(table.style.cellMarginTwips),\n columnWidthsTwips: table.style.columnWidthsTwips\n ? [...table.style.columnWidthsTwips]\n : undefined,\n borders: cloneTableBorderSet(table.style.borders),\n }\n : undefined,\n rows: table.rows.map((row) => ({\n type: \"table-row\",\n style: row.style ? { ...row.style } : undefined,\n cells: row.cells.map((cell) => ({\n type: \"table-cell\",\n style: cell.style\n ? {\n ...cell.style,\n marginTwips: cloneTableBoxSpacing(cell.style.marginTwips),\n borders: cloneTableBorderSet(cell.style.borders),\n }\n : undefined,\n nodes: cloneTableCellContent(cell.nodes),\n })),\n })),\n };\n}\n\nfunction cloneDocNode(node: DocNode): DocNode {\n return node.type === \"paragraph\" ? cloneParagraph(node) : cloneTable(node);\n}\n\nfunction cloneNumberingDefinitions(\n numberingDefinitions?: NumberingDefinitionSet\n): NumberingDefinitionSet | undefined {\n if (!numberingDefinitions) {\n return undefined;\n }\n\n return {\n abstracts: numberingDefinitions.abstracts.map((abstractDefinition) => ({\n abstractNumId: abstractDefinition.abstractNumId,\n levels: abstractDefinition.levels.map((level) => ({\n ...level,\n runStyle: level.runStyle ? { ...level.runStyle } : undefined,\n pictureBullet: level.pictureBullet\n ? { ...level.pictureBullet }\n : undefined,\n })),\n })),\n instances: numberingDefinitions.instances.map((instanceDefinition) => ({\n numId: instanceDefinition.numId,\n abstractNumId: instanceDefinition.abstractNumId,\n levelStartOverrides: instanceDefinition.levelStartOverrides\n ? { ...instanceDefinition.levelStartOverrides }\n : undefined,\n levelOverrides: instanceDefinition.levelOverrides\n ? instanceDefinition.levelOverrides.map((level) => ({\n ...level,\n runStyle: level.runStyle ? { ...level.runStyle } : undefined,\n pictureBullet: level.pictureBullet\n ? { ...level.pictureBullet }\n : undefined,\n }))\n : undefined,\n })),\n };\n}\n\nexport function cloneDocModel(model: DocModel): DocModel {\n return {\n nodes: model.nodes.map(cloneDocNode),\n metadata: {\n sourceParts: model.metadata.sourceParts,\n warnings: [...model.metadata.warnings],\n documentPageCount: model.metadata.documentPageCount,\n documentOpenTag: model.metadata.documentOpenTag,\n documentBackgroundColor: model.metadata.documentBackgroundColor,\n sectionPropertiesXml: model.metadata.sectionPropertiesXml,\n sections: model.metadata.sections?.map((section) => ({\n startNodeIndex: section.startNodeIndex,\n sectionPropertiesXml: section.sectionPropertiesXml,\n headerSections: (section.headerSections ?? []).map((headerSection) => ({\n partName: headerSection.partName,\n referenceType: headerSection.referenceType,\n nodes: headerSection.nodes.map(cloneDocNode),\n })),\n footerSections: (section.footerSections ?? []).map((footerSection) => ({\n partName: footerSection.partName,\n referenceType: footerSection.referenceType,\n nodes: footerSection.nodes.map(cloneDocNode),\n })),\n })),\n headerSections: (model.metadata.headerSections ?? []).map((section) => ({\n partName: section.partName,\n referenceType: section.referenceType,\n nodes: section.nodes.map(cloneDocNode),\n })),\n footerSections: (model.metadata.footerSections ?? []).map((section) => ({\n partName: section.partName,\n referenceType: section.referenceType,\n nodes: section.nodes.map(cloneDocNode),\n })),\n paragraphStyles: (model.metadata.paragraphStyles ?? []).map((style) => ({\n ...style,\n runStyle: style.runStyle ? { ...style.runStyle } : undefined,\n numbering: cloneParagraphNumbering(style.numbering),\n spacing: cloneParagraphSpacing(style.spacing),\n indent: cloneParagraphIndent(style.indent),\n borders: cloneParagraphBorderSet(style.borders),\n })),\n defaultParagraphStyleId: model.metadata.defaultParagraphStyleId,\n numberingDefinitions: cloneNumberingDefinitions(\n model.metadata.numberingDefinitions\n ),\n compatibility: model.metadata.compatibility\n ? { ...model.metadata.compatibility }\n : undefined,\n footnotes: model.metadata.footnotes?.map((note) => ({\n ...note,\n nodes: note.nodes?.map(cloneDocNode),\n })),\n endnotes: model.metadata.endnotes?.map((note) => ({\n ...note,\n nodes: note.nodes?.map(cloneDocNode),\n })),\n comments: model.metadata.comments?.map((comment) => ({ ...comment })),\n },\n };\n}\n"],"mappings":"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","names":["ptr","module","init_src","init_src"]}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import {
|
|
2
|
+
parseDocx
|
|
3
|
+
} from "./chunk-QOXSE6WY.js";
|
|
4
|
+
import {
|
|
5
|
+
buildDocModel
|
|
6
|
+
} from "./chunk-P3B3Q7Y6.js";
|
|
7
|
+
import "./chunk-2SXGXGWO.js";
|
|
8
|
+
|
|
9
|
+
// src/docx-import-worker.ts
|
|
10
|
+
function performanceNow() {
|
|
11
|
+
return typeof performance !== "undefined" && typeof performance.now === "function" ? performance.now() : Date.now();
|
|
12
|
+
}
|
|
13
|
+
function serializeError(error) {
|
|
14
|
+
if (error instanceof Error) {
|
|
15
|
+
return {
|
|
16
|
+
name: error.name,
|
|
17
|
+
message: error.message,
|
|
18
|
+
stack: error.stack
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
return {
|
|
22
|
+
message: String(error)
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
self.addEventListener(
|
|
26
|
+
"message",
|
|
27
|
+
async (event) => {
|
|
28
|
+
const request = event.data;
|
|
29
|
+
if (!request || request.type !== "import-docx") {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
try {
|
|
33
|
+
const startedAt = performanceNow();
|
|
34
|
+
const pkg = await parseDocx(request.buffer);
|
|
35
|
+
const parsedAt = performanceNow();
|
|
36
|
+
const model = await buildDocModel(pkg);
|
|
37
|
+
const finishedAt = performanceNow();
|
|
38
|
+
const timings = {
|
|
39
|
+
totalMs: finishedAt - startedAt,
|
|
40
|
+
parseMs: parsedAt - startedAt,
|
|
41
|
+
buildModelMs: finishedAt - parsedAt
|
|
42
|
+
};
|
|
43
|
+
const response = {
|
|
44
|
+
id: request.id,
|
|
45
|
+
type: "success",
|
|
46
|
+
package: pkg,
|
|
47
|
+
model,
|
|
48
|
+
timings
|
|
49
|
+
};
|
|
50
|
+
self.postMessage(response);
|
|
51
|
+
} catch (error) {
|
|
52
|
+
const response = {
|
|
53
|
+
id: request.id,
|
|
54
|
+
type: "error",
|
|
55
|
+
error: serializeError(error)
|
|
56
|
+
};
|
|
57
|
+
self.postMessage(response);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
);
|
|
61
|
+
//# sourceMappingURL=docx-import-worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/docx-import-worker.ts"],"sourcesContent":["import { buildDocModel } from \"@extend-ai/react-docx-doc-model\";\nimport { parseDocx } from \"@extend-ai/react-docx-ooxml-core\";\n\nimport type {\n DocxImportWorkerRequest,\n DocxImportWorkerResponse,\n DocxImportWorkerTimings,\n} from \"./docx-import\";\n\nfunction performanceNow(): number {\n return typeof performance !== \"undefined\" &&\n typeof performance.now === \"function\"\n ? performance.now()\n : Date.now();\n}\n\nfunction serializeError(error: unknown): {\n name?: string;\n message: string;\n stack?: string;\n} {\n if (error instanceof Error) {\n return {\n name: error.name,\n message: error.message,\n stack: error.stack,\n };\n }\n\n return {\n message: String(error),\n };\n}\n\nself.addEventListener(\n \"message\",\n async (event: MessageEvent<DocxImportWorkerRequest>) => {\n const request = event.data;\n if (!request || request.type !== \"import-docx\") {\n return;\n }\n\n try {\n const startedAt = performanceNow();\n const pkg = await parseDocx(request.buffer);\n const parsedAt = performanceNow();\n const model = await buildDocModel(pkg);\n const finishedAt = performanceNow();\n const timings: DocxImportWorkerTimings = {\n totalMs: finishedAt - startedAt,\n parseMs: parsedAt - startedAt,\n buildModelMs: finishedAt - parsedAt,\n };\n const response: DocxImportWorkerResponse = {\n id: request.id,\n type: \"success\",\n package: pkg,\n model,\n timings,\n };\n self.postMessage(response);\n } catch (error) {\n const response: DocxImportWorkerResponse = {\n id: request.id,\n type: \"error\",\n error: serializeError(error),\n };\n self.postMessage(response);\n }\n }\n);\n\n"],"mappings":";;;;;;;;;AASA,SAAS,iBAAyB;AAChC,SAAO,OAAO,gBAAgB,eAC5B,OAAO,YAAY,QAAQ,aACzB,YAAY,IAAI,IAChB,KAAK,IAAI;AACf;AAEA,SAAS,eAAe,OAItB;AACA,MAAI,iBAAiB,OAAO;AAC1B,WAAO;AAAA,MACL,MAAM,MAAM;AAAA,MACZ,SAAS,MAAM;AAAA,MACf,OAAO,MAAM;AAAA,IACf;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS,OAAO,KAAK;AAAA,EACvB;AACF;AAEA,KAAK;AAAA,EACH;AAAA,EACA,OAAO,UAAiD;AACtD,UAAM,UAAU,MAAM;AACtB,QAAI,CAAC,WAAW,QAAQ,SAAS,eAAe;AAC9C;AAAA,IACF;AAEA,QAAI;AACF,YAAM,YAAY,eAAe;AACjC,YAAM,MAAM,MAAM,UAAU,QAAQ,MAAM;AAC1C,YAAM,WAAW,eAAe;AAChC,YAAM,QAAQ,MAAM,cAAc,GAAG;AACrC,YAAM,aAAa,eAAe;AAClC,YAAM,UAAmC;AAAA,QACvC,SAAS,aAAa;AAAA,QACtB,SAAS,WAAW;AAAA,QACpB,cAAc,aAAa;AAAA,MAC7B;AACA,YAAM,WAAqC;AAAA,QACzC,IAAI,QAAQ;AAAA,QACZ,MAAM;AAAA,QACN,SAAS;AAAA,QACT;AAAA,QACA;AAAA,MACF;AACA,WAAK,YAAY,QAAQ;AAAA,IAC3B,SAAS,OAAO;AACd,YAAM,WAAqC;AAAA,QACzC,IAAI,QAAQ;AAAA,QACZ,MAAM;AAAA,QACN,OAAO,eAAe,KAAK;AAAA,MAC7B;AACA,WAAK,YAAY,QAAQ;AAAA,IAC3B;AAAA,EACF;AACF;","names":[]}
|
package/dist/docx_wasm_bg.wasm
CHANGED
|
Binary file
|