@openlearning/widget-framework 1.0.0 → 1.0.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"DevApp.d.ts","sourceRoot":"","sources":["../src/DevApp.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EAAyB,MAAM,SAAS,CAAC;AAEzG,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,gBAAgB,GAAG,gBAAgB;IACxE,oBAAoB,EAAE,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,kBAAkB,EAAE,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,aAAa,EAAE,CAAC,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,gBAAgB,GAAG,gBAAgB,EAAE,EACpE,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,GACd,EAAE,WAAW,CAAC,CAAC,CAAC,2CAiDhB"}
1
+ {"version":3,"file":"DevApp.d.ts","sourceRoot":"","sources":["../src/DevApp.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EAAyB,MAAM,SAAS,CAAC;AAEzG,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,gBAAgB,GAAG,gBAAgB;IACxE,oBAAoB,EAAE,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,kBAAkB,EAAE,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,aAAa,EAAE,CAAC,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,gBAAgB,GAAG,gBAAgB,EAAE,EACpE,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,GACd,EAAE,WAAW,CAAC,CAAC,CAAC,2CAuDhB"}
package/dist/DevApp.js CHANGED
@@ -1,11 +1,14 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import React from "react";
2
3
  /**
3
4
  * Generic development app for testing LearnerView and SetupView components locally
4
5
  * Use ?mode=setup to test setup view, defaults to learner view
5
6
  */
6
7
  export function DevApp({ LearnerViewComponent, SetupViewComponent, defaultConfig, }) {
8
+ const [config, setConfig] = React.useState(defaultConfig);
7
9
  const handleConfigSave = (newConfig) => {
8
10
  console.log("[Mock PostMessage Out] SAVE_CONFIG:", newConfig);
11
+ setConfig(newConfig);
9
12
  };
10
13
  const complete = () => {
11
14
  console.log("[Mock PostMessage Out] COMPLETE");
@@ -21,9 +24,11 @@ export function DevApp({ LearnerViewComponent, SetupViewComponent, defaultConfig
21
24
  };
22
25
  const reinit = () => {
23
26
  console.log("[Mock PostMessage Out] REINIT");
27
+ // Simulate re-initialization by re-setting config
28
+ setConfig(JSON.parse(JSON.stringify(config)));
24
29
  };
25
30
  const urlParams = new URLSearchParams(window.location.search);
26
31
  const currentMode = urlParams.get("mode") || "learner";
27
- return (_jsx(_Fragment, { children: currentMode === "setup" ? (_jsx(SetupViewComponent, { config: defaultConfig, onChange: handleConfigSave, onResize: resize, onReinit: reinit })) : (_jsx(LearnerViewComponent, { config: defaultConfig, onComplete: complete, onShare: share, onResize: resize, onSave: saveLearnerData, onReinit: reinit })) }));
32
+ return (_jsx(_Fragment, { children: currentMode === "setup" ? (_jsx(SetupViewComponent, { config: config, onChange: handleConfigSave, onResize: resize, onReinit: reinit })) : (_jsx(LearnerViewComponent, { config: config, onComplete: complete, onShare: share, onResize: resize, onSave: saveLearnerData, onReinit: reinit })) }));
28
33
  }
29
34
  //# sourceMappingURL=DevApp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DevApp.js","sourceRoot":"","sources":["../src/DevApp.tsx"],"names":[],"mappings":";AASA;;;GAGG;AACH,MAAM,UAAU,MAAM,CAAgD,EACpE,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,GACE;IACf,MAAM,gBAAgB,GAAG,CAAC,SAAY,EAAE,EAAE;QACxC,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,SAAS,CAAC,CAAC;IAChE,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IACjD,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,CAAC,WAAyB,EAAE,SAAiB,EAAE,EAAE;QAC7D,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;IAC3E,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,EAAE;QAChC,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,KAAgB,EAAE,EAAE;QACzD,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACpE,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC/C,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9D,MAAM,WAAW,GAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAyB,IAAI,SAAS,CAAC;IAEhF,OAAO,CACL,4BACG,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,CACzB,KAAC,kBAAkB,IACjB,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GAChB,CACH,CAAC,CAAC,CAAC,CACF,KAAC,oBAAoB,IACnB,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,QAAQ,EACpB,OAAO,EAAE,KAAK,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,MAAM,GAChB,CACH,GACA,CACJ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"DevApp.js","sourceRoot":"","sources":["../src/DevApp.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B;;;GAGG;AACH,MAAM,UAAU,MAAM,CAAgD,EACpE,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,GACE;IACf,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAI,aAAa,CAAC,CAAC;IAE7D,MAAM,gBAAgB,GAAG,CAAC,SAAY,EAAE,EAAE;QACxC,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,SAAS,CAAC,CAAC;QAC9D,SAAS,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IACjD,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,CAAC,WAAyB,EAAE,SAAiB,EAAE,EAAE;QAC7D,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;IAC3E,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,EAAE;QAChC,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,KAAgB,EAAE,EAAE;QACzD,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACpE,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAE7C,kDAAkD;QAClD,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9D,MAAM,WAAW,GAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAyB,IAAI,SAAS,CAAC;IAEhF,OAAO,CACL,4BACG,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,CACzB,KAAC,kBAAkB,IACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GAChB,CACH,CAAC,CAAC,CAAC,CACF,KAAC,oBAAoB,IACnB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,QAAQ,EACpB,OAAO,EAAE,KAAK,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,MAAM,GAChB,CACH,GACA,CACJ,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createSetupEntry.d.ts","sourceRoot":"","sources":["../src/createSetupEntry.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,gBAAgB,EAAa,cAAc,EAAE,MAAM,SAAS,CAAC;AAI3E,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,gBAAgB,GAAG,gBAAgB;IAC5E,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC;IACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC7B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAID;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,gBAAgB,GAAG,gBAAgB,EAC5E,kBAAkB,EAAE,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAC1D,aAAa,EAAE,CAAC,QAoDjB"}
1
+ {"version":3,"file":"createSetupEntry.d.ts","sourceRoot":"","sources":["../src/createSetupEntry.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,gBAAgB,EAAa,cAAc,EAAE,MAAM,SAAS,CAAC;AAI3E,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,gBAAgB,GAAG,gBAAgB;IAC5E,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC;IACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC7B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAID;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,gBAAgB,GAAG,gBAAgB,EAC5E,kBAAkB,EAAE,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAC1D,aAAa,EAAE,CAAC,QAiEjB"}
@@ -11,8 +11,19 @@ const DEFAULT_HEIGHT = 700;
11
11
  export function createSetupEntry(SetupViewComponent, defaultConfig) {
12
12
  const InitSetupView = () => {
13
13
  const { globalConfig, subscribe, sendMessage } = useParentMessaging();
14
- const config = useWidgetConfig(globalConfig || defaultConfig, subscribe);
14
+ const parentConfig = useWidgetConfig(globalConfig || defaultConfig, subscribe);
15
+ // Manage config state internally
16
+ const [config, setConfig] = React.useState(parentConfig);
17
+ // Update local config when parent config changes (e.g., on re-init)
18
+ React.useEffect(() => {
19
+ if (parentConfig) {
20
+ setConfig(parentConfig);
21
+ }
22
+ }, [parentConfig]);
15
23
  const handleConfigChange = React.useCallback((value) => {
24
+ // Update local state immediately
25
+ setConfig(value);
26
+ // Notify parent
16
27
  sendMessage("set", { name: "config", value });
17
28
  }, [sendMessage]);
18
29
  const resize = React.useCallback((height) => {
@@ -1 +1 @@
1
- {"version":3,"file":"createSetupEntry.js","sourceRoot":"","sources":["../src/createSetupEntry.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AAExC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AASpD,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,kBAA0D,EAC1D,aAAgB;IAEhB,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,kBAAkB,EAAK,CAAC;QACzE,MAAM,MAAM,GAAG,eAAe,CAC5B,YAAY,IAAI,aAAa,EAC7B,SAAS,CACV,CAAC;QAEF,MAAM,kBAAkB,GAAG,KAAK,CAAC,WAAW,CAC1C,CAAC,KAAQ,EAAE,EAAE;YACX,WAAW,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAChD,CAAC,EACD,CAAC,WAAW,CAAC,CACd,CAAC;QAEF,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAC9B,CAAC,MAAc,EAAE,EAAE;YACjB,WAAW,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACpC,CAAC,EACD,CAAC,WAAW,CAAC,CACd,CAAC;QAEF,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;YACpC,WAAW,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QAElB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;YACnB,gDAAgD;YAChD,WAAW,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;QACpD,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QAElB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,cAAK,SAAS,EAAC,KAAK,2BAAiB,CAAC;QAC/C,CAAC;QAED,OAAO,CACL,KAAC,kBAAkB,IACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GAChB,CACH,CAAC;IACJ,CAAC,CAAC;IAEF,uBAAuB;IACvB,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAE,CAAC,CAAC,MAAM,CAC1D,KAAC,KAAK,CAAC,UAAU,cACf,KAAC,aAAa,KAAG,GACA,CACpB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"createSetupEntry.js","sourceRoot":"","sources":["../src/createSetupEntry.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AAExC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AASpD,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,kBAA0D,EAC1D,aAAgB;IAEhB,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,kBAAkB,EAAK,CAAC;QACzE,MAAM,YAAY,GAAG,eAAe,CAClC,YAAY,IAAI,aAAa,EAC7B,SAAS,CACV,CAAC;QAEF,iCAAiC;QACjC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAW,YAAY,CAAC,CAAC;QAEnE,oEAAoE;QACpE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;YACnB,IAAI,YAAY,EAAE,CAAC;gBACjB,SAAS,CAAC,YAAY,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;QAEnB,MAAM,kBAAkB,GAAG,KAAK,CAAC,WAAW,CAC1C,CAAC,KAAQ,EAAE,EAAE;YACX,iCAAiC;YACjC,SAAS,CAAC,KAAK,CAAC,CAAC;YACjB,gBAAgB;YAChB,WAAW,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAChD,CAAC,EACD,CAAC,WAAW,CAAC,CACd,CAAC;QAEF,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAC9B,CAAC,MAAc,EAAE,EAAE;YACjB,WAAW,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACpC,CAAC,EACD,CAAC,WAAW,CAAC,CACd,CAAC;QAEF,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;YACpC,WAAW,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QAElB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;YACnB,gDAAgD;YAChD,WAAW,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;QACpD,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QAElB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,cAAK,SAAS,EAAC,KAAK,2BAAiB,CAAC;QAC/C,CAAC;QAED,OAAO,CACL,KAAC,kBAAkB,IACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GAChB,CACH,CAAC;IACJ,CAAC,CAAC;IAEF,uBAAuB;IACvB,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAE,CAAC,CAAC,MAAM,CAC1D,KAAC,KAAK,CAAC,UAAU,cACf,KAAC,aAAa,KAAG,GACA,CACpB,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openlearning/widget-framework",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "Framework for building OpenLearning widgets with parent-window messaging and configuration management",
5
5
  "type": "module",
6
6
  "license": "MIT",