@mermanjs/web-render 0.9.2 → 0.10.0-alpha.1

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 (67) hide show
  1. package/README.md +18 -4
  2. package/THIRD_PARTY_LICENSES/roxmltree-dom/LICENSE-APACHE +201 -0
  3. package/THIRD_PARTY_LICENSES/roxmltree-dom/LICENSE-ISC +13 -0
  4. package/THIRD_PARTY_LICENSES/roxmltree-dom/LICENSE-MIT +21 -0
  5. package/THIRD_PARTY_LICENSES/rust-cargo-dependencies.json +133 -209
  6. package/THIRD_PARTY_NOTICES.md +23 -7
  7. package/artifacts/provenance.json +162 -92
  8. package/artifacts/wasm/merman_wasm.d.ts +69 -3
  9. package/artifacts/wasm/merman_wasm.js +536 -11
  10. package/artifacts/wasm/merman_wasm_bg.wasm +0 -0
  11. package/artifacts/wasm/merman_wasm_bg.wasm.d.ts +26 -1
  12. package/dist/generated/binding-contract.d.ts +384 -0
  13. package/dist/generated/binding-contract.d.ts.map +1 -0
  14. package/dist/generated/binding-contract.js +55 -17
  15. package/dist/generated/binding-contract.js.map +1 -1
  16. package/dist/generated/capability-surface.d.ts +56 -3
  17. package/dist/generated/capability-surface.d.ts.map +1 -1
  18. package/dist/generated/capability-surface.js +64 -1
  19. package/dist/generated/capability-surface.js.map +1 -1
  20. package/dist/generated/resource-contract.d.ts +3 -3
  21. package/dist/generated/resource-contract.d.ts.map +1 -1
  22. package/dist/generated/resource-contract.js +36 -10
  23. package/dist/generated/resource-contract.js.map +1 -1
  24. package/dist/generated/text-measurement-abi.d.ts +5 -0
  25. package/dist/generated/text-measurement-abi.d.ts.map +1 -1
  26. package/dist/generated/text-measurement-abi.js +1 -0
  27. package/dist/generated/text-measurement-abi.js.map +1 -1
  28. package/dist/index.d.ts +5 -3
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/json-input.js +13 -0
  31. package/dist/json-input.js.map +1 -0
  32. package/dist/package-entries/render.d.ts +17 -7
  33. package/dist/package-entries/render.d.ts.map +1 -1
  34. package/dist/package-entries/render.js +25 -7
  35. package/dist/package-entries/render.js.map +1 -1
  36. package/dist/public-catalog.d.ts +7 -7
  37. package/dist/public-catalog.d.ts.map +1 -1
  38. package/dist/public-catalog.js +6 -15
  39. package/dist/public-catalog.js.map +1 -1
  40. package/dist/public-types.d.ts +740 -54
  41. package/dist/public-types.d.ts.map +1 -1
  42. package/dist/runtime-analysis.d.ts.map +1 -1
  43. package/dist/runtime-core.d.ts +5 -3
  44. package/dist/runtime-core.d.ts.map +1 -1
  45. package/dist/runtime-core.js +222 -75
  46. package/dist/runtime-core.js.map +1 -1
  47. package/dist/runtime-mount.d.ts +4 -0
  48. package/dist/runtime-mount.d.ts.map +1 -0
  49. package/dist/runtime-mount.js +276 -0
  50. package/dist/runtime-mount.js.map +1 -0
  51. package/dist/runtime-render-session.d.ts +4 -0
  52. package/dist/runtime-render-session.d.ts.map +1 -0
  53. package/dist/runtime-render-session.js +73 -0
  54. package/dist/runtime-render-session.js.map +1 -0
  55. package/dist/runtime-render.d.ts +13 -5
  56. package/dist/runtime-render.d.ts.map +1 -1
  57. package/dist/runtime-render.js +202 -65
  58. package/dist/runtime-render.js.map +1 -1
  59. package/dist/runtime-state.d.ts +4 -3
  60. package/dist/runtime-state.d.ts.map +1 -1
  61. package/dist/runtime-state.js +3 -2
  62. package/dist/runtime-state.js.map +1 -1
  63. package/dist/surface-runtime.js +2 -2
  64. package/dist/surface-runtime.js.map +1 -1
  65. package/dist/svg-dom.js +24 -0
  66. package/dist/svg-dom.js.map +1 -0
  67. package/package.json +4 -3
@@ -0,0 +1,24 @@
1
+ import { assertNavigableSvgForDom, prepareNavigableSvgForDomMount, } from "./svg-safety.js";
2
+ /** Build and admit the replacement before it can enter the host's DOM. */
3
+ export function prepareSvgDomCandidate(ownerDocument, svgText) {
4
+ const Parser = ownerDocument.defaultView?.DOMParser ?? globalThis.DOMParser;
5
+ if (!Parser)
6
+ throw new Error("Rendering SVG to an element requires DOMParser support.");
7
+ const admission = assertNavigableSvgForDom(svgText);
8
+ const parsed = new Parser().parseFromString(svgText, "image/svg+xml");
9
+ const parseError = parsed.querySelector("parsererror");
10
+ if (parseError)
11
+ throw new Error(parseError.textContent || "Merman rendered invalid SVG.");
12
+ if (parsed.documentElement.localName !== "svg") {
13
+ throw new Error("Merman render output did not contain an SVG root element.");
14
+ }
15
+ const root = ownerDocument.importNode(parsed.documentElement, true);
16
+ prepareNavigableSvgForDomMount(admission, root, ownerDocument);
17
+ return { root, admission };
18
+ }
19
+ /** Recheck the actual target document immediately before atomic publication. */
20
+ export function publishSvgDomCandidate(target, candidate) {
21
+ prepareNavigableSvgForDomMount(candidate.admission, candidate.root, target.ownerDocument);
22
+ target.replaceChildren(candidate.root);
23
+ }
24
+ //# sourceMappingURL=svg-dom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svg-dom.js","sourceRoot":"","sources":["../src/svg-dom.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,8BAA8B,GAE/B,MAAM,iBAAiB,CAAC;AAOzB,0EAA0E;AAC1E,MAAM,UAAU,sBAAsB,CAAC,aAAuB,EAAE,OAAe;IAC7E,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,SAAS,IAAI,UAAU,CAAC,SAAS,CAAC;IAC5E,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IACxF,MAAM,SAAS,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;IACvD,IAAI,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,IAAI,8BAA8B,CAAC,CAAC;IAC1F,IAAI,MAAM,CAAC,eAAe,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,IAAI,GAAG,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAA6B,CAAC;IAChG,8BAA8B,CAAC,SAAS,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;IAC/D,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC7B,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,sBAAsB,CAAC,MAAe,EAAE,SAA0B;IAChF,8BAA8B,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IAC1F,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mermanjs/web-render",
3
- "version": "0.9.2",
4
- "description": "Complete browser SVG renderer with Cytoscape, ELK, and math.",
3
+ "version": "0.10.0-alpha.1",
4
+ "description": "Browser SVG renderer with Cytoscape and ELK layouts.",
5
5
  "type": "module",
6
6
  "main": "./dist/package-entries/render.js",
7
7
  "types": "./dist/package-entries/render.d.ts",
@@ -9,7 +9,8 @@
9
9
  ".": {
10
10
  "import": "./dist/package-entries/render.js",
11
11
  "types": "./dist/package-entries/render.d.ts"
12
- }
12
+ },
13
+ "./wasm": "./artifacts/wasm/merman_wasm_bg.wasm"
13
14
  },
14
15
  "repository": {
15
16
  "type": "git",