@doenet/doenetml-iframe 0.7.0-beta6 → 0.7.0-beta8

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/index.d.ts CHANGED
@@ -87,7 +87,7 @@ export declare type DoenetViewerIframeProps = DoenetViewerProps & {
87
87
  autodetectVersion?: boolean;
88
88
  };
89
89
 
90
- declare type DoenetViewerProps = Omit<React.ComponentProps<typeof DoenetViewer_2>, "doenetML" | "scrollableContainer" | "externalVirtualKeyboardProvided">;
90
+ declare type DoenetViewerProps = Omit<React.ComponentProps<typeof DoenetViewer_2>, "doenetML" | "externalVirtualKeyboardProvided">;
91
91
 
92
92
  export { ErrorRecord }
93
93
 
package/index.js CHANGED
@@ -23608,7 +23608,8 @@ const mathjaxConfig = {
23608
23608
  amp: "&",
23609
23609
  var: ["\\mathrm{#1}", 1],
23610
23610
  csch: "\\operatorname{csch}",
23611
- sech: "\\operatorname{sech}"
23611
+ sech: "\\operatorname{sech}",
23612
+ erf: "\\operatorname{erf}"
23612
23613
  },
23613
23614
  displayMath: [["\\[", "\\]"]]
23614
23615
  },
@@ -23708,7 +23709,7 @@ function requireCssesc() {
23708
23709
  return cssesc_1;
23709
23710
  }
23710
23711
  requireCssesc();
23711
- const viewerIframeJsSource = '(function() {\n "use strict";\n document.addEventListener("DOMContentLoaded", async () => {\n let pause100 = function() {\n return new Promise((resolve, _reject) => {\n setTimeout(resolve, 100);\n });\n };\n for (let i = 0; i < 10; i++) {\n if (typeof window.renderDoenetViewerToContainer === "function") {\n break;\n }\n await pause100();\n }\n if (typeof window.renderDoenetViewerToContainer !== "function") {\n return messageParentFromViewer({\n error: "Invalid DoenetML version or DoenetML package not found"\n });\n }\n const wrappedDoenetViewerProps = ComlinkViewer.wrap(\n ComlinkViewer.windowEndpoint(globalThis.parent)\n );\n const augmentedDoenetViewerProps = { ...doenetViewerProps };\n augmentedDoenetViewerProps.externalVirtualKeyboardProvided = true;\n for (const propName of doenetViewerPropsSpecified) {\n if (!(propName in doenetViewerProps)) {\n augmentedDoenetViewerProps[propName] = wrappedDoenetViewerProps[propName];\n }\n }\n window.renderDoenetViewerToContainer(\n document.getElementById("root"),\n void 0,\n augmentedDoenetViewerProps\n );\n });\n window.addEventListener("message", (e) => {\n if (e.origin !== window.parent.location.origin) {\n return;\n }\n if (e.data.subject?.startsWith("SPLICE") && (!e.data.subject?.endsWith("response") || e.data.subject.endsWith("submitAllAnswers.response")) && !e.data.subject.endsWith("submitAllAnswers")) {\n window.parent.postMessage(e.data);\n } else if (e.data.subject === "requestAnswerResponses") {\n window.parent.postMessage(e.data);\n }\n });\n function messageParentFromViewer(data) {\n window.parent.postMessage(\n {\n origin: viewerId,\n data\n },\n window.parent.origin\n );\n }\n})();\n';
23712
+ const viewerIframeJsSource = '(function() {\n "use strict";\n document.addEventListener("DOMContentLoaded", async () => {\n let pause100 = function() {\n return new Promise((resolve, _reject) => {\n setTimeout(resolve, 100);\n });\n };\n for (let i = 0; i < 10; i++) {\n if (typeof window.renderDoenetViewerToContainer === "function") {\n break;\n }\n await pause100();\n }\n if (typeof window.renderDoenetViewerToContainer !== "function") {\n return messageParentFromViewer({\n error: "Invalid DoenetML version or DoenetML package not found"\n });\n }\n const wrappedDoenetViewerProps = ComlinkViewer.wrap(\n ComlinkViewer.windowEndpoint(globalThis.parent)\n );\n const augmentedDoenetViewerProps = { ...doenetViewerProps };\n augmentedDoenetViewerProps.externalVirtualKeyboardProvided = true;\n for (const propName of doenetViewerPropsSpecified) {\n if (!(propName in doenetViewerProps)) {\n augmentedDoenetViewerProps[propName] = wrappedDoenetViewerProps[propName];\n }\n }\n if (!doenetViewerPropsSpecified.includes("requestScrollTo")) {\n augmentedDoenetViewerProps.requestScrollTo = (offset) => {\n messageParentFromViewer({ type: "scrollTo", offset });\n };\n }\n window.renderDoenetViewerToContainer(\n document.getElementById("root"),\n void 0,\n augmentedDoenetViewerProps\n );\n });\n window.addEventListener("message", (e) => {\n if (e.origin !== window.parent.location.origin) {\n return;\n }\n if (e.data.subject?.startsWith("SPLICE") && (!e.data.subject?.endsWith("response") || e.data.subject.endsWith("submitAllAnswers.response")) && !e.data.subject.endsWith("submitAllAnswers")) {\n window.parent.postMessage(e.data);\n } else if (e.data.subject === "requestAnswerResponses") {\n window.parent.postMessage(e.data);\n }\n });\n function messageParentFromViewer(data) {\n window.parent.postMessage(\n {\n origin: viewerId,\n data\n },\n window.parent.origin\n );\n }\n})();\n';
23712
23713
  const editorIframeJsSource = '(function() {\n "use strict";\n document.addEventListener("DOMContentLoaded", async () => {\n let pause100 = function() {\n return new Promise((resolve, _reject) => {\n setTimeout(resolve, 100);\n });\n };\n for (let i = 0; i < 10; i++) {\n if (typeof window.renderDoenetViewerToContainer === "function") {\n break;\n }\n await pause100();\n }\n if (typeof window.renderDoenetEditorToContainer !== "function") {\n return messageParentFromEditor({\n error: "Invalid DoenetML version or DoenetML package not found"\n });\n }\n const wrappedDoenetEditorProps = ComlinkEditor.wrap(\n ComlinkEditor.windowEndpoint(globalThis.parent)\n );\n const augmentedDoenetEditorProps = { ...doenetEditorProps };\n augmentedDoenetEditorProps.externalVirtualKeyboardProvided = true;\n for (const propName of doenetEditorPropsSpecified) {\n if (!(propName in doenetEditorProps)) {\n augmentedDoenetEditorProps[propName] = wrappedDoenetEditorProps[propName];\n }\n }\n window.renderDoenetEditorToContainer(\n document.getElementById("root"),\n void 0,\n augmentedDoenetEditorProps\n );\n });\n function messageParentFromEditor(data) {\n window.parent.postMessage(\n {\n origin: editorId,\n data\n },\n window.parent.origin\n );\n }\n})();\n';
23713
23714
  function createHtmlForDoenetViewer(id2, doenetML, doenetViewerProps, standaloneUrl, cssUrl) {
23714
23715
  const doenetViewerPropsSpecified = Object.keys(doenetViewerProps);
@@ -46763,7 +46764,7 @@ function ExternalVirtualKeyboard() {
46763
46764
  }
46764
46765
  );
46765
46766
  }
46766
- const version = "0.7.0-beta6";
46767
+ const version = "0.7.0-beta8";
46767
46768
  const latestDoenetmlVersion = version;
46768
46769
  function DoenetViewer({
46769
46770
  doenetML,
@@ -46813,6 +46814,14 @@ function DoenetViewer({
46813
46814
  return;
46814
46815
  }
46815
46816
  const data = event.data.data;
46817
+ if (ref.current && data.type === "scrollTo" && typeof data.offset === "number") {
46818
+ const iframeTop = ref.current.getBoundingClientRect().top + window.scrollY;
46819
+ const targetAbsoluteTop = iframeTop + data.offset;
46820
+ window.scrollTo({
46821
+ top: targetAbsoluteTop - 20,
46822
+ behavior: "smooth"
46823
+ });
46824
+ }
46816
46825
  if (data.error) {
46817
46826
  return setInErrorState(data.error);
46818
46827
  }