@usejunior/odf-core 0.9.1 → 0.11.0

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.
Files changed (56) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +2 -0
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/compare/emit.d.ts +8 -3
  5. package/dist/compare/emit.d.ts.map +1 -1
  6. package/dist/compare/emit.js +39 -7
  7. package/dist/compare/emit.js.map +1 -1
  8. package/dist/compare/inline_diff.d.ts +5 -0
  9. package/dist/compare/inline_diff.d.ts.map +1 -1
  10. package/dist/compare/inline_diff.js +71 -1
  11. package/dist/compare/inline_diff.js.map +1 -1
  12. package/dist/convert/docx_to_odt.d.ts +20 -0
  13. package/dist/convert/docx_to_odt.d.ts.map +1 -0
  14. package/dist/convert/docx_to_odt.js +199 -0
  15. package/dist/convert/docx_to_odt.js.map +1 -0
  16. package/dist/convert/index.d.ts +3 -0
  17. package/dist/convert/index.d.ts.map +1 -0
  18. package/dist/convert/index.js +2 -0
  19. package/dist/convert/index.js.map +1 -0
  20. package/dist/convert/inline.d.ts +55 -0
  21. package/dist/convert/inline.d.ts.map +1 -0
  22. package/dist/convert/inline.js +274 -0
  23. package/dist/convert/inline.js.map +1 -0
  24. package/dist/convert/lists.d.ts +41 -0
  25. package/dist/convert/lists.d.ts.map +1 -0
  26. package/dist/convert/lists.js +137 -0
  27. package/dist/convert/lists.js.map +1 -0
  28. package/dist/convert/package.d.ts +54 -0
  29. package/dist/convert/package.d.ts.map +1 -0
  30. package/dist/convert/package.js +232 -0
  31. package/dist/convert/package.js.map +1 -0
  32. package/dist/convert/paragraph_styles.d.ts +25 -0
  33. package/dist/convert/paragraph_styles.d.ts.map +1 -0
  34. package/dist/convert/paragraph_styles.js +63 -0
  35. package/dist/convert/paragraph_styles.js.map +1 -0
  36. package/dist/convert/tables.d.ts +44 -0
  37. package/dist/convert/tables.d.ts.map +1 -0
  38. package/dist/convert/tables.js +226 -0
  39. package/dist/convert/tables.js.map +1 -0
  40. package/dist/convert/types.d.ts +27 -0
  41. package/dist/convert/types.d.ts.map +1 -0
  42. package/dist/convert/types.js +25 -0
  43. package/dist/convert/types.js.map +1 -0
  44. package/dist/index.d.ts +1 -0
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +1 -0
  47. package/dist/index.js.map +1 -1
  48. package/dist/shared/odf/OdfArchive.d.ts +16 -0
  49. package/dist/shared/odf/OdfArchive.d.ts.map +1 -1
  50. package/dist/shared/odf/OdfArchive.js +48 -1
  51. package/dist/shared/odf/OdfArchive.js.map +1 -1
  52. package/dist/shared/odf/namespaces.d.ts +4 -0
  53. package/dist/shared/odf/namespaces.d.ts.map +1 -1
  54. package/dist/shared/odf/namespaces.js +8 -0
  55. package/dist/shared/odf/namespaces.js.map +1 -1
  56. package/package.json +5 -4
@@ -1 +1 @@
1
- {"version":3,"file":"emit.js","sourceRoot":"","sources":["../../src/compare/emit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emit.js","sourceRoot":"","sources":["../../src/compare/emit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAe,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAiBlF,MAAM,OAAO,YAAa,SAAQ,KAAK;CAAG;AAqC1C,kEAAkE;AAClE,MAAM,UAAU,kBAAkB,CAAC,MAAkB;IACnD,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAChF,MAAM,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC;IAE/B,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrE,IAAI,CAAC,UAAU;QAAE,MAAM,IAAI,YAAY,CAAC,gDAAgD,CAAC,CAAC;IAE1F,0FAA0F;IAC1F,mFAAmF;IACnF,0FAA0F;IAC1F,4FAA4F;IAC5F,yFAAyF;IACzF,8CAA8C;IAC9C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC9C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC;QACnB,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ;YAAE,SAAS;QACnC,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,cAAc,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;YACvD,MAAM,YAAY,GAAG,aAAa,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;YACpD,2FAA2F;YAC3F,2EAA2E;YAC3E,IAAI,CAAC,aAAa,IAAI,CAAC,YAAY;gBAAE,MAAM,IAAI,YAAY,CAAC,0CAA0C,CAAC,EAAE,CAAC,CAAC;YAC3G,MAAM,WAAW,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC;YACzD,MAAM,UAAU,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC;YACvD,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YAClD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;oBAAE,SAAS;gBACpC,OAAO,EAAE,CAAC;gBACV,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC3B,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;gBACtG,CAAC;YACH,CAAC;YACD,0FAA0F;YAC1F,IAAI,OAAO,GAAG,CAAC;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,WAAW,EAAE,CAAC;gBAC/B,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;IACH,CAAC;IAED,8FAA8F;IAC9F,6FAA6F;IAC7F,6FAA6F;IAC7F,4FAA4F;IAC5F,6CAA6C;IAC7C,MAAM,KAAK,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC;QACnB,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACxB,aAAa,GAAG,EAAE,CAAC,YAAY,GAAG,CAAC,CAAC;YACpC,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3D,CAAC,EAAE,CAAC;gBACJ,CAAC,GAAI,GAAG,CAAC,CAAC,CAA8B,CAAC,YAAY,CAAC;YACxD,CAAC;YACD,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACvC,aAAa,GAAG,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,eAAe,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3D,CAAC,EAAE,CAAC;gBACJ,eAAe,CAAC,IAAI,CAAE,GAAG,CAAC,CAAC,CAA+B,CAAC,aAAa,CAAC,CAAC;YAC5E,CAAC;YACD,yFAAyF;YACzF,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACZ,MAAM,IAAI,YAAY,CACpB,oGAAoG,CACrG,CAAC;YACJ,CAAC;YACD,UAAU,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACjE,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAChC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACZ,MAAM,IAAI,YAAY,CACpB,oGAAoG,CACrG,CAAC;gBACJ,CAAC;gBACD,UAAU,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;gBACrF,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YAC3E,CAAC;iBAAM,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzB,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAE,EAAE,KAAK,CAAC,CAAC,CAAC;YACjG,CAAC;YACD,qDAAqD;YACrD,aAAa,GAAG,EAAE,CAAC,YAAY,GAAG,CAAC,CAAC;YACpC,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,YAAY,CAAC,iCAAiC,CAAC,GAAG,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAe;QACzB,aAAa,EAAE,WAAW,CAAC,MAAM;QACjC,qBAAqB,EAAE,QAAQ,CAAC,IAAI;QACpC,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1G,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;KAC1G,CAAC;IAEF,0DAA0D;IAC1D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAElG,+EAA+E;IAC/E,MAAM,OAAO,GAAG,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAgD;QAC9D,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAChH,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACzB,EAAE,EAAE,EAAE,CAAC,EAAE;YACT,KAAK,EAAE,GAAG,EAAE;gBACV,MAAM,OAAO,GAAG,CAAC,eAAe,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;gBACpD,MAAM,SAAS,GAAG,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAE,EAAE,IAAI,CAAY,CAAC,CAAC;gBAC5G,MAAM,QAAQ,GAAG,kBAAkB,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAE,CAAE,CAAC,CAAC;gBACzF,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC,CAAC;gBAC7E,OAAO,kBAAkB,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACrE,CAAC;SACF,CAAC,CAAC;QACH,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC5B,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,KAAK,EAAE,GAAG,EAAE,CACV,MAAM,CAAC,IAAI,KAAK,QAAQ;gBACtB,CAAC,CAAC,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC;gBAC1D,CAAC,CAAC,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;oBACtD,eAAe,CAAC,UAAU,EAAE,cAAc,CAAC,IAAI,CAAC,aAAa,CAAE,EAAE,MAAM,CAAC,OAAO,CAAC;iBACjF,CAAC;SACT,CAAC,CAAC,CACJ;KACF,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,KAAK,MAAM,KAAK,IAAI,UAAU;QAAE,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IAEnE,gGAAgG;IAChG,iGAAiG;IACjG,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,kBAAkB,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,YAAY,CAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACrF,CAAC;IACD,4FAA4F;IAC5F,4DAA4D;IAC5D,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,qBAAqB,CAAC,UAAU,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IACD,oDAAoD;IACpD,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC;YACzC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAE,EAAE,MAAM,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,2BAA2B,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,GAAG,CAAC,CAAE,EAAE,MAAM,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CACzB,aAAqB,EACrB,YAAoB,EACpB,KAAkB,EAClB,KAAmB;IAEnB,MAAM,UAAU,GAAsB,EAAE,CAAC;IACzC,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;YAAE,SAAS;QACpC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;YACrC,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC;YACrE,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC;YAC5E,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAChC,MAAM,MAAM,GAAG,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC5E,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IACD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AAC9D,CAAC;AAED,8FAA8F;AAC9F,MAAM,WAAW,GAA4C,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC;AAE/G;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,GAAa,EAAE,KAAc,EAAE,UAA6B;IACtF,MAAM,MAAM,GAAG,IAAI,GAAG,EAA6B,CAAC;IACpD,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACd,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACzD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5F,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,eAAe,CAAC,GAAc,EAAE,UAAuB,EAAE,CAAS;IACzE,IAAI,GAAG,CAAC,aAAa,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,IAAI,GAAG,CAAC,aAAa,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AAClF,CAAC;AAED;;;;GAIG;AACH,SAAS,2BAA2B,CAAC,MAAe,EAAE,MAAe;IACnE,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC;IAC9B,MAAM,GAAG,GACP,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAK,IAAgB,CAAC,YAAY,KAAK,MAAM,CAAC,IAAI,IAAK,IAAgB,CAAC,SAAS,KAAK,cAAc;QAC7H,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,IAAI,CAAC;IACX,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAa,EAAE,aAAwB,EAAE,GAAc,EAAE,CAAS;IAC/F,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACtD,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,YAAY,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,YAAY,EAAE,CAAC;QACjB,yEAAyE;QACzE,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAE,EAAE,KAAK,CAAC,CAAC;QACtC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAE,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC;SAAM,IAAI,YAAY,EAAE,CAAC;QACxB,qEAAqE;QACrE,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC7C,aAAa,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,mGAAmG;QACnG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAE,EAAE,KAAK,CAAC,CAAC;QACtC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAED,kGAAkG;AAElG,SAAS,cAAc,CAAC,GAAa,EAAE,EAAU,EAAE,KAAa;IAC9D,MAAM,GAAG,GAAG,GAAG,CAAC,sBAAsB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAClD,OAAQ,GAAG,CAAC,IAAI,CAAC,CAAC,CAAoB,IAAI,IAAI,CAAC;AACjD,CAAC;AAED,SAAS,OAAO,CAAC,KAAc,EAAE,IAAU;IACzC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;AAC7C,CAAC;AAED,yFAAyF;AACzF,SAAS,oBAAoB,CAAC,GAAa,EAAE,UAAmB;IAC9D,KAAK,IAAI,KAAK,GAAG,UAAU,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACzE,IACE,KAAK,CAAC,QAAQ,KAAK,CAAC;YACnB,KAAiB,CAAC,YAAY,KAAK,MAAM,CAAC,IAAI;YAC9C,KAAiB,CAAC,SAAS,KAAK,iBAAiB,EAClD,CAAC;YACD,OAAO,KAAgB,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;IACzE,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IACxD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,cAAc,CAAC,GAAa,EAAE,MAAc,EAAE,IAAY;IACjE,MAAM,IAAI,GAAG,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;IAC7D,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC1B,MAAM,CAAC,GAAG,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IACpD,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACpB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAa,EAAE,EAAU;IAClD,MAAM,MAAM,GAAG,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;IACvE,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;IAChD,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IAClD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAa,EAAE,EAAU,EAAE,MAAc,EAAE,IAAY;IAClF,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACrE,SAAS,CAAC,WAAW,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACzD,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC9B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAa,EAAE,EAAU,EAAE,MAAc,EAAE,IAAY,EAAE,MAAiB;IACpG,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACnE,QAAQ,CAAC,WAAW,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACxD,KAAK,MAAM,CAAC,IAAI,MAAM;QAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,+FAA+F;AAC/F,SAAS,kBAAkB,CAAC,GAAa,EAAE,UAAmB;IAC5D,MAAM,CAAC,GAAG,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,UAAU,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;IACjH,IAAI,KAAK;QAAE,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAAC;IACnE,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,GAAa,EAAE,SAAkB,EAAE,OAAe;IACzE,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IAChE,MAAM,KAAK,GAAG,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,SAAS,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;IAC/G,IAAI,KAAK;QAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAAC;IACvE,MAAM,OAAO,GACX,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,SAAS,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;IACzG,IAAI,OAAO;QAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,oBAAoB,EAAE,OAAO,CAAC,CAAC;IAC9E,KAAK,MAAM,CAAC,IAAI,OAAO;QAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC9C,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,GAAa,EAAE,KAA+C,EAAE,EAAU;IAC5F,MAAM,EAAE,GAAG,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,KAAK,EAAE,CAAC,CAAC;IAC7D,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;IACrD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,QAAQ,GAAG,WAAW,CAAC;AAC7B,SAAS,KAAK,CAAC,EAAU;IACvB,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe,CAAC,GAAa;IACpC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,OAAO,GAAG,GAAG,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC1E,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAY,CAAC;QACrC,KAAK,MAAM,EAAE,IAAI;YACf,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC;YAC9D,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC;SACjE,EAAE,CAAC;YACF,IAAI,CAAC,EAAE;gBAAE,SAAS;YAClB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACb,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7B,IAAI,EAAE;gBAAE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IACD,IAAI,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;IACnB,OAAO,GAAG,EAAE;QACV,IAAI,EAAE,GAAG,KAAK,IAAI,EAAE,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,EAAE,GAAG,KAAK,IAAI,EAAE,EAAE,CAAC;QACxC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;AACJ,CAAC"}
@@ -11,6 +11,11 @@
11
11
  * Order convention mirrors `diffParagraphs`: at a mismatch the deletion branch wins, so a
12
12
  * replaced word surfaces as a `delete` immediately followed by an `insert` sharing `revStart`.
13
13
  * The emitter relies on that ordering when both anchor at the same offset.
14
+ *
15
+ * A grouping post-pass keeps multi-word replacements readable (issue #378): the LCS matches the
16
+ * space between two replaced words as `equal`, which would otherwise split one logical
17
+ * replacement into per-word delete/insert pairs. Change windows bridged by whitespace-only
18
+ * equal spans collapse into a single delete+insert pair whenever both kinds are present.
14
19
  */
15
20
  /**
16
21
  * One span of the intra-paragraph edit script, as half-open char offsets into the two visible
@@ -1 +1 @@
1
- {"version":3,"file":"inline_diff.d.ts","sourceRoot":"","sources":["../../src/compare/inline_diff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;;GAIG;AACH,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAOF;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAgFtE"}
1
+ {"version":3,"file":"inline_diff.d.ts","sourceRoot":"","sources":["../../src/compare/inline_diff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;GAIG;AACH,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAOF;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAgFtE"}
@@ -11,6 +11,11 @@
11
11
  * Order convention mirrors `diffParagraphs`: at a mismatch the deletion branch wins, so a
12
12
  * replaced word surfaces as a `delete` immediately followed by an `insert` sharing `revStart`.
13
13
  * The emitter relies on that ordering when both anchor at the same offset.
14
+ *
15
+ * A grouping post-pass keeps multi-word replacements readable (issue #378): the LCS matches the
16
+ * space between two replaced words as `equal`, which would otherwise split one logical
17
+ * replacement into per-word delete/insert pairs. Change windows bridged by whitespace-only
18
+ * equal spans collapse into a single delete+insert pair whenever both kinds are present.
14
19
  */
15
20
  /** Split into maximal whitespace / non-whitespace runs (a partition: tokens concat to the input). */
16
21
  function tokenizeRuns(text) {
@@ -97,6 +102,71 @@ export function diffInline(original, revised) {
97
102
  for (let k = suffix; k > 0; k--) {
98
103
  push('equal', origTokens[origTokens.length - k].length, revTokens[revTokens.length - k].length);
99
104
  }
100
- return ops;
105
+ return groupBridgedReplacements(ops, original);
106
+ }
107
+ /**
108
+ * Collapse change windows bridged by whitespace-only `equal` spans into one delete+insert pair.
109
+ *
110
+ * Replacing two adjacent words ("Zephyr BioSystems" → "Acme Manufacturing") leaves the space
111
+ * between them `equal`, splitting the replacement into interleaved per-word pairs — a redline
112
+ * that reads `Acme ~~Zephyr~~ Manufacturing ~~BioSystems~~`. A window of change spans may absorb
113
+ * an equal span only when it is whitespace-only AND has change spans on BOTH sides (kept words
114
+ * never join a window). A window containing at least one delete and one insert is rewritten as a
115
+ * single pair: the delete covers every original char in the window (bridge whitespace included),
116
+ * the insert every revised char, preserving the delete-before-insert / shared-`revStart`
117
+ * convention and the lockstep-offset invariant. Delete-only and insert-only windows are left
118
+ * alone — striking a kept space just to reinsert it would be noise, not grouping.
119
+ */
120
+ function groupBridgedReplacements(ops, original) {
121
+ const out = [];
122
+ let i = 0;
123
+ while (i < ops.length) {
124
+ if (ops[i].kind === 'equal') {
125
+ out.push(ops[i]);
126
+ i++;
127
+ continue;
128
+ }
129
+ let end = i + 1;
130
+ while (end < ops.length) {
131
+ const op = ops[end];
132
+ if (op.kind !== 'equal') {
133
+ end++;
134
+ continue;
135
+ }
136
+ const next = ops[end + 1];
137
+ const bridge = original.slice(op.origStart, op.origEnd);
138
+ if (/^\s+$/.test(bridge) && next && next.kind !== 'equal') {
139
+ end += 2;
140
+ continue;
141
+ }
142
+ break;
143
+ }
144
+ const window = ops.slice(i, end);
145
+ const hasDelete = window.some((o) => o.kind === 'delete');
146
+ const hasInsert = window.some((o) => o.kind === 'insert');
147
+ if (hasDelete && hasInsert) {
148
+ const first = window[0];
149
+ const last = window[window.length - 1];
150
+ out.push({
151
+ kind: 'delete',
152
+ origStart: first.origStart,
153
+ origEnd: last.origEnd,
154
+ revStart: first.revStart,
155
+ revEnd: first.revStart,
156
+ });
157
+ out.push({
158
+ kind: 'insert',
159
+ origStart: last.origEnd,
160
+ origEnd: last.origEnd,
161
+ revStart: first.revStart,
162
+ revEnd: last.revEnd,
163
+ });
164
+ }
165
+ else {
166
+ out.push(...window);
167
+ }
168
+ i = end;
169
+ }
170
+ return out;
101
171
  }
102
172
  //# sourceMappingURL=inline_diff.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inline_diff.js","sourceRoot":"","sources":["../../src/compare/inline_diff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inline_diff.js","sourceRoot":"","sources":["../../src/compare/inline_diff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAeH,qGAAqG;AACrG,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,QAAgB,EAAE,OAAe;IAC1D,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAExC,qFAAqF;IACrF,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAChE,OAAO,MAAM,GAAG,SAAS,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC,MAAM,CAAC;QAAE,MAAM,EAAE,CAAC;IAChF,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IACzE,OACE,MAAM,GAAG,SAAS;QAClB,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,EACvF,CAAC;QACD,MAAM,EAAE,CAAC;IACX,CAAC;IAED,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAElE,wFAAwF;IACxF,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IACzB,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACxB,MAAM,EAAE,GAAe,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,KAAK,CAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7F,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,EAAE,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;gBACP,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC,GAAG,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC,CAAE,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC;QACjG,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,MAAM,IAAI,GAAG,CAAC,IAAoB,EAAE,OAAe,EAAE,MAAc,EAAQ,EAAE;QAC3E,IAAI,OAAO,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC;YAAE,OAAO;QAC1C,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjC,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC;YACxB,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI;gBACJ,SAAS,EAAE,OAAO;gBAClB,OAAO,EAAE,OAAO,GAAG,OAAO;gBAC1B,QAAQ,EAAE,MAAM;gBAChB,MAAM,EAAE,MAAM,GAAG,MAAM;aACxB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,OAAO,CAAC;QACnB,MAAM,IAAI,MAAM,CAAC;IACnB,CAAC,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE;QAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC;IAE5F,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC;YACrD,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC,CAAE,IAAI,EAAE,CAAC,CAAC,CAAE,CAAC,CAAC,GAAG,CAAC,CAAE,EAAE,CAAC;YAC5C,8EAA8E;YAC9E,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACtC,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC,EAAE,CAAC;QACN,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,CAAC;QAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,EAAE,CAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC;QAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAE,CAAC,MAAM,CAAC,CAAC;IAErD,KAAK,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC;IACpG,CAAC;IAED,OAAO,wBAAwB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,wBAAwB,CAAC,GAAa,EAAE,QAAgB;IAC/D,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QACtB,IAAI,GAAG,CAAC,CAAC,CAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7B,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,CAAC;YAClB,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,OAAO,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAE,CAAC;YACrB,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACxB,GAAG,EAAE,CAAC;gBACN,SAAS;YACX,CAAC;YACD,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YAC1B,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;YACxD,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC1D,GAAG,IAAI,CAAC,CAAC;gBACT,SAAS;YACX,CAAC;YACD,MAAM;QACR,CAAC;QACD,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACjC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAC1D,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;YACzB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;YACxC,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,MAAM,EAAE,KAAK,CAAC,QAAQ;aACvB,CAAC,CAAC;YACH,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,IAAI,CAAC,OAAO;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;QACtB,CAAC;QACD,CAAC,GAAG,GAAG,CAAC;IACV,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Native DOCX → ODT conversion (issues #331, #406).
3
+ *
4
+ * Traverses docx-core's structured document view — the same intentionally-lossy semantic
5
+ * model the markdown/HTML serializers consume — and emits a fresh ODT package. No external
6
+ * binary is involved at runtime; LibreOffice exists only as a differential test oracle.
7
+ *
8
+ * `formattingMode: 'full'` is required (not the `'compact'` default): compact mode encodes
9
+ * the document's dominant formatting as a modal baseline rather than per-run tags, which
10
+ * would silently drop bold/italic/underline on mostly-bold documents.
11
+ *
12
+ * Two narrow raw-DOM supplements cover what the view cannot carry: table borders/grid widths
13
+ * (read from the source `w:tbl` by the view's `table_index`) and text-empty body paragraphs
14
+ * (vertical spacing the view never surfaces, preserved as empty `text:p` by bookmark
15
+ * correlation).
16
+ */
17
+ import { type ConvertDocxToOdtOptions, type ConvertDocxToOdtResult } from './types.js';
18
+ /** Convert a `.docx` buffer to a fresh `.odt` package plus a lossiness report. */
19
+ export declare function convertDocxToOdt(docx: Buffer, options?: ConvertDocxToOdtOptions): Promise<ConvertDocxToOdtResult>;
20
+ //# sourceMappingURL=docx_to_odt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docx_to_odt.d.ts","sourceRoot":"","sources":["../../src/convert/docx_to_odt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAwBH,OAAO,EAAsB,KAAK,uBAAuB,EAAE,KAAK,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAqE3G,kFAAkF;AAClF,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,sBAAsB,CAAC,CAiIjC"}
@@ -0,0 +1,199 @@
1
+ /**
2
+ * Native DOCX → ODT conversion (issues #331, #406).
3
+ *
4
+ * Traverses docx-core's structured document view — the same intentionally-lossy semantic
5
+ * model the markdown/HTML serializers consume — and emits a fresh ODT package. No external
6
+ * binary is involved at runtime; LibreOffice exists only as a differential test oracle.
7
+ *
8
+ * `formattingMode: 'full'` is required (not the `'compact'` default): compact mode encodes
9
+ * the document's dominant formatting as a modal baseline rather than per-run tags, which
10
+ * would silently drop bold/italic/underline on mostly-bold documents.
11
+ *
12
+ * Two narrow raw-DOM supplements cover what the view cannot carry: table borders/grid widths
13
+ * (read from the source `w:tbl` by the view's `table_index`) and text-empty body paragraphs
14
+ * (vertical spacing the view never surfaces, preserved as empty `text:p` by bookmark
15
+ * correlation).
16
+ */
17
+ import { DocxDocument, getParagraphBookmarkId, getParagraphText, serializeXml, W_NS, } from '@usejunior/docx-core';
18
+ import { OdfArchive } from '../shared/odf/OdfArchive.js';
19
+ import { ODF_NS } from '../shared/odf/namespaces.js';
20
+ import { appendInlineContent, FontFaceRegistry, TextStyleRegistry } from './inline.js';
21
+ import { ListDomBuilder, ListStyleRegistry } from './lists.js';
22
+ import { appendTable, TableStyleRegistry } from './tables.js';
23
+ import { ParagraphStyleRegistry } from './paragraph_styles.js';
24
+ import { appendTextWithWhitespace, buildMetaXml, buildStylesXml, createContentScaffold, deriveSourceNamedStyles, } from './package.js';
25
+ import { LossinessCollector } from './types.js';
26
+ /** A heading is structural only when Word's style said so — heuristic headings stay paragraphs. */
27
+ function isStructuralHeading(node) {
28
+ return node.heading?.source === 'word_style' && typeof node.heading.level === 'number';
29
+ }
30
+ /** True when the paragraph element sits inside a table cell (any depth up to the body). */
31
+ function isInsideTableCell(p) {
32
+ let current = p.parentNode;
33
+ while (current && current.nodeType === 1) {
34
+ const el = current;
35
+ if (el.namespaceURI === W_NS && el.localName === 'body')
36
+ return false;
37
+ if (el.namespaceURI === W_NS && el.localName === 'tc')
38
+ return true;
39
+ current = el.parentNode;
40
+ }
41
+ return false;
42
+ }
43
+ /**
44
+ * Text-empty body-level paragraphs are never surfaced by the document view (it only yields
45
+ * bookmarked paragraphs with content) but they are vertical spacing in the source. Correlate
46
+ * `getParagraphs()` order with surfaced node ids via the bookmarks `normalize()` installed:
47
+ * each unsurfaced empty body paragraph is preserved before its nearest following surfaced
48
+ * node (`emptyBefore`) or at the end (`trailingEmpty`); in-table ones stay reported.
49
+ */
50
+ function planUnsurfacedParagraphs(source, nodes, lossiness) {
51
+ const surfacedIds = new Set(nodes.map((n) => n.id));
52
+ const emptyBefore = new Map();
53
+ let pending = 0;
54
+ for (const p of source.getParagraphs()) {
55
+ const id = getParagraphBookmarkId(p);
56
+ if (id && surfacedIds.has(id)) {
57
+ if (pending > 0)
58
+ emptyBefore.set(id, pending);
59
+ pending = 0;
60
+ continue;
61
+ }
62
+ if (getParagraphText(p).trim() !== '') {
63
+ // Unsurfaced despite content (e.g. exotic containers) — same drop as before, reported.
64
+ lossiness.add('unsurfaced-paragraphs-dropped', 'non-empty paragraph not surfaced by the document view');
65
+ }
66
+ else if (isInsideTableCell(p)) {
67
+ // Cell-internal spacing needs cell-level positioning the grid emitter does not model.
68
+ lossiness.add('unsurfaced-table-paragraphs-dropped', 'text-empty paragraph inside a table cell');
69
+ }
70
+ else {
71
+ pending += 1;
72
+ }
73
+ }
74
+ return { emptyBefore, trailingEmpty: pending };
75
+ }
76
+ /** The direct `w:tbl` children of `w:body`, in order — the view's `table_index` space. */
77
+ function bodyLevelTables(source) {
78
+ const docXml = source.getDocumentXmlClone();
79
+ const body = docXml.getElementsByTagNameNS(W_NS, 'body').item(0);
80
+ if (!body)
81
+ return [];
82
+ const tables = [];
83
+ for (let i = 0; i < body.childNodes.length; i++) {
84
+ const child = body.childNodes[i];
85
+ if (child.nodeType === 1 && child.localName === 'tbl' && child.namespaceURI === W_NS) {
86
+ tables.push(child);
87
+ }
88
+ }
89
+ return tables;
90
+ }
91
+ /** Convert a `.docx` buffer to a fresh `.odt` package plus a lossiness report. */
92
+ export async function convertDocxToOdt(docx, options) {
93
+ const source = await DocxDocument.load(docx);
94
+ // The document view only yields nodes for `_bk_`-bookmarked paragraphs, and bookmarks are
95
+ // normally injected per MCP session — a raw `.docx` has none. Prime the loaded copy the
96
+ // same way the session manager does (the input buffer is never written back).
97
+ source.normalize();
98
+ source.insertParagraphBookmarks('_convert');
99
+ const { nodes } = source.buildDocumentView({ showFormatting: true, formattingMode: 'full' });
100
+ const numbering = source.getNumberingModel();
101
+ const lossiness = new LossinessCollector();
102
+ const { emptyBefore, trailingEmpty } = planUnsurfacedParagraphs(source, nodes, lossiness);
103
+ const sourceTables = bodyLevelTables(source);
104
+ const { doc, fontFaceDecls, automaticStyles, body } = createContentScaffold();
105
+ const fontFaces = new FontFaceRegistry(doc, fontFaceDecls);
106
+ const textStyles = new TextStyleRegistry(doc, automaticStyles, fontFaces);
107
+ const paragraphStyles = new ParagraphStyleRegistry(doc, automaticStyles);
108
+ const listStyles = new ListStyleRegistry(doc, automaticStyles, numbering);
109
+ const tableStyles = new TableStyleRegistry(doc, automaticStyles);
110
+ const fillParagraph = (p, node) => {
111
+ appendInlineContent(doc, p, node.tagged_text, textStyles, lossiness);
112
+ };
113
+ const newParagraph = (styleName) => {
114
+ const p = doc.createElementNS(ODF_NS.TEXT, 'text:p');
115
+ p.setAttributeNS(ODF_NS.TEXT, 'text:style-name', styleName);
116
+ body.appendChild(p);
117
+ return p;
118
+ };
119
+ const appendEmptyParagraphs = (count) => {
120
+ for (let n = 0; n < count; n++)
121
+ newParagraph('Standard');
122
+ };
123
+ let listBuilder = null;
124
+ let tableCount = 0;
125
+ for (let i = 0; i < nodes.length; i++) {
126
+ const node = nodes[i];
127
+ // ── Preserved vertical spacing: unsurfaced empty body paragraphs before this node ──
128
+ const emptyCount = emptyBefore.get(node.id) ?? 0;
129
+ if (emptyCount > 0) {
130
+ listBuilder = null;
131
+ appendEmptyParagraphs(emptyCount);
132
+ }
133
+ // ── Tables: consume the whole run of same-table_id nodes at once ──
134
+ if (node.table_context) {
135
+ listBuilder = null;
136
+ const tableId = node.table_context.table_id;
137
+ const sourceTbl = sourceTables[node.table_context.table_index] ?? null;
138
+ const group = [];
139
+ while (i < nodes.length && nodes[i].table_context?.table_id === tableId) {
140
+ group.push(nodes[i]);
141
+ i++;
142
+ }
143
+ i--; // for-loop re-increments
144
+ tableCount += 1;
145
+ appendTable(doc, body, group, tableCount, sourceTbl, tableStyles, fillParagraph, (n) => paragraphStyles.styleFor('Standard', n), lossiness);
146
+ continue;
147
+ }
148
+ // ── Word-styled headings ──
149
+ if (isStructuralHeading(node)) {
150
+ listBuilder = null;
151
+ const level = Math.min(6, Math.max(1, node.heading.level));
152
+ const h = doc.createElementNS(ODF_NS.TEXT, 'text:h');
153
+ h.setAttributeNS(ODF_NS.TEXT, 'text:outline-level', String(level));
154
+ h.setAttributeNS(ODF_NS.TEXT, 'text:style-name', paragraphStyles.styleFor(`Heading_20_${level}`, node));
155
+ body.appendChild(h);
156
+ fillParagraph(h, node);
157
+ continue;
158
+ }
159
+ if (node.list_metadata.list_level >= 0) {
160
+ // ── Auto-numbered / bullet items (any numPr): nested text:list ──
161
+ if (node.list_metadata.is_auto_numbered) {
162
+ const numId = node.numbering.num_id;
163
+ // Bullet vs number comes from the numbering model's numFmt — `LabelType` has no
164
+ // bullet member, so the label classification can't signal it.
165
+ const bulletHint = listStyles.isBulletLevel(numId, node.numbering.ilvl);
166
+ const styleName = listStyles.styleFor(numId, bulletHint);
167
+ if (!listBuilder)
168
+ listBuilder = new ListDomBuilder(doc, body);
169
+ // Alignment only: the nested text:list supplies indentation, and re-applying the
170
+ // source margins would double-indent the item.
171
+ const p = listBuilder.item(node.list_metadata.list_level, styleName, paragraphStyles.styleFor('Standard', node, { indents: false }));
172
+ fillParagraph(p, node);
173
+ continue;
174
+ }
175
+ // ── Manual/legal labels (`Section 2.1`, `(a)`): literal paragraph text, NO text:list.
176
+ // Deliberate divergence from the HTML serializer's <ul><li> wrapping — an ODF list
177
+ // renderer would print its own number next to the legal label. ──
178
+ listBuilder = null;
179
+ const p = newParagraph(paragraphStyles.styleFor('Standard', node));
180
+ const label = node.list_metadata.label_string.trim();
181
+ if (label)
182
+ appendTextWithWhitespace(doc, p, `${label} `);
183
+ fillParagraph(p, node);
184
+ continue;
185
+ }
186
+ // ── Normal paragraphs (heuristic headings land here; empty paragraphs are kept) ──
187
+ listBuilder = null;
188
+ fillParagraph(newParagraph(paragraphStyles.styleFor('Standard', node)), node);
189
+ }
190
+ appendEmptyParagraphs(trailingEmpty);
191
+ const archive = OdfArchive.create({
192
+ contentXml: serializeXml(doc),
193
+ stylesXml: buildStylesXml(deriveSourceNamedStyles(source.getStylesModel())),
194
+ metaXml: buildMetaXml(options?.metadata),
195
+ });
196
+ const odt = await archive.save();
197
+ return { odt, lossiness: lossiness.toArray() };
198
+ }
199
+ //# sourceMappingURL=docx_to_odt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docx_to_odt.js","sourceRoot":"","sources":["../../src/convert/docx_to_odt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { convertDocxToOdt } from './docx_to_odt.js';
2
+ export type { ConvertDocxToOdtOptions, ConvertDocxToOdtResult, LossinessEntry } from './types.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/convert/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { convertDocxToOdt } from './docx_to_odt.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/convert/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Inline content emission for the DOCX → ODT converter: `tagged_text` TOON tokens →
3
+ * `text:span` / `text:a` DOM, backed by a deduped automatic text-style registry.
4
+ *
5
+ * The token grammar is owned by docx-core (`tokenizeToonInline`, the same primitive the
6
+ * markdown/HTML serializers consume) so this module never re-derives it. Supported wraps are
7
+ * bold / italic / underline / highlight (with its full-mode source color) and the full-mode
8
+ * `<font color size face>` tag, mapped to `fo:color` / `fo:font-size` / `style:font-name`
9
+ * automatic styles (#406 phase 3). Unsafe hyperlink schemes degrade to plain text via the
10
+ * shared `isSafeHref`.
11
+ */
12
+ import type { LossinessCollector } from './types.js';
13
+ interface InlineFormats {
14
+ bold: boolean;
15
+ italic: boolean;
16
+ underline: boolean;
17
+ /** ODF `fo:background-color` hex (e.g. `#00ff00`), or null when unhighlighted. */
18
+ highlight: string | null;
19
+ /** ODF `fo:color` hex (e.g. `#ff0000`), or null for the default color. */
20
+ fontColor: string | null;
21
+ /** Font size in points as carried by the TOON tag (may be fractional), or null. */
22
+ fontSizePt: number | null;
23
+ /** Font face name, or null for the default face. */
24
+ fontFace: string | null;
25
+ }
26
+ /**
27
+ * Deduped `office:font-face-decls` registry: one `style:font-face` per distinct face name
28
+ * used anywhere in the document (ODF resolves `style:font-name` against declared faces).
29
+ */
30
+ export declare class FontFaceRegistry {
31
+ private readonly doc;
32
+ private readonly container;
33
+ private declared;
34
+ constructor(doc: Document, container: Element);
35
+ ensure(face: string): void;
36
+ }
37
+ /**
38
+ * Deduped `office:automatic-styles` registry for run formatting: one `T<n>` text style per
39
+ * distinct format combination, shared across the whole document.
40
+ */
41
+ export declare class TextStyleRegistry {
42
+ private readonly doc;
43
+ private readonly container;
44
+ private readonly fontFaces;
45
+ private byKey;
46
+ constructor(doc: Document, container: Element, fontFaces: FontFaceRegistry);
47
+ styleFor(formats: InlineFormats): string;
48
+ }
49
+ /**
50
+ * Append one `tagged_text` string's content to `parent` (a `text:p`/`text:h` or table-cell
51
+ * paragraph), wrapping formatted runs in `text:span` and hyperlinks in `text:a`.
52
+ */
53
+ export declare function appendInlineContent(doc: Document, parent: Element, taggedText: string, styles: TextStyleRegistry, lossiness: LossinessCollector): void;
54
+ export {};
55
+ //# sourceMappingURL=inline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inline.d.ts","sourceRoot":"","sources":["../../src/convert/inline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AA4BrD,UAAU,aAAa;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,kFAAkF;IAClF,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,0EAA0E;IAC1E,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,mFAAmF;IACnF,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,oDAAoD;IACpD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED;;;GAGG;AACH,qBAAa,gBAAgB;IAIzB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAJ5B,OAAO,CAAC,QAAQ,CAAqB;gBAGlB,GAAG,EAAE,QAAQ,EACb,SAAS,EAAE,OAAO;IAGrC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAQ3B;AAED;;;GAGG;AACH,qBAAa,iBAAiB;IAI1B,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAL5B,OAAO,CAAC,KAAK,CAA6B;gBAGvB,GAAG,EAAE,QAAQ,EACb,SAAS,EAAE,OAAO,EAClB,SAAS,EAAE,gBAAgB;IAG9C,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM;CAqCzC;AA2BD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,OAAO,EACf,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,iBAAiB,EACzB,SAAS,EAAE,kBAAkB,GAC5B,IAAI,CAwGN"}