From adf203c76563a7b95e60a8230c82e36e583fdcfd Mon Sep 17 00:00:00 2001 From: Anna Mistele Date: Mon, 12 Aug 2024 23:50:19 -0700 Subject: [PATCH 01/15] Resolve test errors --- packages/perseus/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/perseus/package.json b/packages/perseus/package.json index 508a950a4d..3fc664809c 100644 --- a/packages/perseus/package.json +++ b/packages/perseus/package.json @@ -48,6 +48,7 @@ "@khanacademy/perseus-linter": "^1.1.0", "@khanacademy/pure-markdown": "^0.3.7", "@khanacademy/simple-markdown": "^0.13.0", + "@khanacademy/wonder-blocks-icon-button": "^5.3.3", "@use-gesture/react": "^10.2.27", "mafs": "0.19.0", "uuid": "^10.0.0" From b8d21630d01e1d2ca9edcd803477f60976e38818 Mon Sep 17 00:00:00 2001 From: Anna Mistele Date: Tue, 13 Aug 2024 20:00:18 -0700 Subject: [PATCH 02/15] Editor first draft --- .../src/widgets/phet-sim-editor.tsx | 62 +++++++++++++++---- 1 file changed, 49 insertions(+), 13 deletions(-) diff --git a/packages/perseus-editor/src/widgets/phet-sim-editor.tsx b/packages/perseus-editor/src/widgets/phet-sim-editor.tsx index 95fb4b0295..3553ce7327 100644 --- a/packages/perseus-editor/src/widgets/phet-sim-editor.tsx +++ b/packages/perseus-editor/src/widgets/phet-sim-editor.tsx @@ -1,39 +1,75 @@ /* eslint-disable @khanacademy/ts-no-error-suppressions */ /* eslint-disable react/sort-comp */ import {Changeable, EditorJsonify} from "@khanacademy/perseus"; +import {View} from "@khanacademy/wonder-blocks-core"; +import {LabeledTextField} from "@khanacademy/wonder-blocks-form"; +import {LabelMedium} from "@khanacademy/wonder-blocks-typography"; +import PropTypes from "prop-types"; import * as React from "react"; -import BlurInput from "../components/blur-input"; - type PhetSimEditorProps = any; class PhetSimEditor extends React.Component { static propTypes = { ...Changeable.propTypes, + url: PropTypes.string, + description: PropTypes.string, }; - static widgetName = "phet-sim" as const; - static defaultProps: PhetSimEditorProps = { url: "", description: "", }; - change: (arg1: any, arg2: any) => any = (...args) => { + static widgetName = "phet-sim" as const; + + change: (arg1: any) => any = (...args) => { return Changeable.change.apply(this, args); }; render(): React.ReactNode { + const sandboxProperties = "allow-same-origin allow-scripts"; + return (
- + +
+ { + this.props.onChange({description: value}); + }} + /> +
+ + Preview + +