@matterfact/embed 0.8.0 → 0.9.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 (40) hide show
  1. package/README.md +72 -0
  2. package/dist/{chunk-PNSYFXXU.js → chunk-6EM7T2JV.js} +27 -2
  3. package/dist/chunk-6EM7T2JV.js.map +1 -0
  4. package/dist/{chunk-UD7CAQXV.js → chunk-BKKXHSYU.js} +2 -2
  5. package/dist/chunk-FEXG4LQJ.js +3 -0
  6. package/dist/chunk-FEXG4LQJ.js.map +7 -0
  7. package/dist/chunk-NWNMS34P.js +2 -0
  8. package/dist/{chunk-R2ZEJARX.js → chunk-URGQBG4I.js} +28 -4
  9. package/dist/chunk-URGQBG4I.js.map +1 -0
  10. package/dist/context-ACFBWIFH.js +3 -0
  11. package/dist/{context-ARBB2XD6.js.map → context-ACFBWIFH.js.map} +1 -1
  12. package/dist/{context-MVGSYIMB.js → context-U2HJJN2S.js} +4 -2
  13. package/dist/embed.js +1 -1
  14. package/dist/embed.js.map +2 -2
  15. package/dist/index.cjs +29 -1
  16. package/dist/index.cjs.map +1 -1
  17. package/dist/index.d.cts +60 -2
  18. package/dist/index.d.ts +60 -2
  19. package/dist/index.js +5 -2
  20. package/dist/index.js.map +1 -1
  21. package/dist/react.cjs +40 -2
  22. package/dist/react.cjs.map +1 -1
  23. package/dist/react.d.cts +49 -1
  24. package/dist/react.d.ts +49 -1
  25. package/dist/react.js +16 -3
  26. package/dist/react.js.map +1 -1
  27. package/dist/{snapshot-UGTXZVB6.js → snapshot-4GXT6PKZ.js} +2 -2
  28. package/dist/{snapshot-GL4YBMXD.js → snapshot-Y75SCGCM.js} +3 -3
  29. package/dist/{snapshot-GL4YBMXD.js.map → snapshot-Y75SCGCM.js.map} +1 -1
  30. package/package.json +1 -1
  31. package/dist/chunk-PNSYFXXU.js.map +0 -1
  32. package/dist/chunk-R2ZEJARX.js.map +0 -1
  33. package/dist/chunk-UQCETVRF.js +0 -2
  34. package/dist/chunk-W52Q7G4J.js +0 -3
  35. package/dist/chunk-W52Q7G4J.js.map +0 -7
  36. package/dist/context-ARBB2XD6.js +0 -3
  37. /package/dist/{chunk-UD7CAQXV.js.map → chunk-BKKXHSYU.js.map} +0 -0
  38. /package/dist/{chunk-UQCETVRF.js.map → chunk-NWNMS34P.js.map} +0 -0
  39. /package/dist/{context-MVGSYIMB.js.map → context-U2HJJN2S.js.map} +0 -0
  40. /package/dist/{snapshot-UGTXZVB6.js.map → snapshot-4GXT6PKZ.js.map} +0 -0
package/dist/index.cjs CHANGED
@@ -878,6 +878,7 @@ __export(context_exports, {
878
878
  callTool: () => callTool,
879
879
  grantsFromIframeSrcs: () => grantsFromIframeSrcs,
880
880
  isPrivate: () => isPrivate,
881
+ navigateHost: () => navigateHost,
881
882
  provideContext: () => provideContext,
882
883
  readPageContext: () => readPageContext,
883
884
  redact: () => redact,
@@ -978,6 +979,7 @@ async function publishContext() {
978
979
  }
979
980
  function provideContext() {
980
981
  void publishContext();
982
+ publishSitemap();
981
983
  }
982
984
  function grantsFromIframeSrcs(srcs, origin) {
983
985
  const out = [];
@@ -1009,6 +1011,27 @@ function readArtifactGrants() {
1009
1011
  function publishArtifactGrants() {
1010
1012
  send?.({ type: "host.artifactGrants", grants: readArtifactGrants() });
1011
1013
  }
1014
+ function readSitemap2() {
1015
+ const s = window.matterfact?.sitemap;
1016
+ return Array.isArray(s) ? s : [];
1017
+ }
1018
+ function publishSitemap() {
1019
+ if (!pageContextOn) return;
1020
+ const sitemap = readSitemap2();
1021
+ if (sitemap.length) send?.({ type: "host.sitemap", sitemap });
1022
+ }
1023
+ function navigateHost(href) {
1024
+ if (typeof href !== "string" || !href) return;
1025
+ let target;
1026
+ try {
1027
+ target = new URL(href, location.href);
1028
+ } catch {
1029
+ return;
1030
+ }
1031
+ if (target.protocol !== "http:" && target.protocol !== "https:") return;
1032
+ if (target.origin !== location.origin) return;
1033
+ location.assign(target.href);
1034
+ }
1012
1035
  function pushActivity(e) {
1013
1036
  activity.push({ ...e, seq: ++activitySeq, ts: Date.now() });
1014
1037
  if (activity.length > MAX_ACTIVITY) activity.shift();
@@ -1071,6 +1094,7 @@ function watchNavigation() {
1071
1094
  pushActivity({ type: "nav", summary: `navigated to ${url}` });
1072
1095
  void publishContext();
1073
1096
  publishArtifactGrants();
1097
+ publishSitemap();
1074
1098
  send?.({
1075
1099
  type: "host.tools",
1076
1100
  tools: advertiseTools(typeof window !== "undefined" ? window : void 0)
@@ -1230,6 +1254,7 @@ function start(emit, origin, pageContext = true, provider) {
1230
1254
  if (pageContextOn) {
1231
1255
  void publishContext();
1232
1256
  publishArtifactGrants();
1257
+ publishSitemap();
1233
1258
  watchNavigation();
1234
1259
  document.addEventListener("click", onClick, {
1235
1260
  capture: true,
@@ -1291,7 +1316,7 @@ var init_context = __esm({
1291
1316
  });
1292
1317
 
1293
1318
  // src/protocol.ts
1294
- var PROTOCOL_VERSION = 2;
1319
+ var PROTOCOL_VERSION = 3;
1295
1320
  var CHANNEL = "mf-embed";
1296
1321
  function envelope(payload, id) {
1297
1322
  return {
@@ -1891,6 +1916,9 @@ var EmbedHost = class {
1891
1916
  case "widget.needsAuth":
1892
1917
  void this.provideAuth();
1893
1918
  break;
1919
+ case "widget.navigate":
1920
+ void this.loadContext().then((m) => m.navigateHost(msg.href));
1921
+ break;
1894
1922
  }
1895
1923
  }
1896
1924
  /**