diff --git a/packages/editor/src/components/EditElementModal.tsx b/packages/editor/src/components/EditElementModal.tsx new file mode 100644 index 00000000..7c797b97 --- /dev/null +++ b/packages/editor/src/components/EditElementModal.tsx @@ -0,0 +1,177 @@ +/** + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + */ + +export interface EditElementModalProps { + isOpen: boolean; + onClose: () => void; + onSave: (content: string) => void; + initialContent: string; + elementLabel: string; +} + +export function EditElementModal({ isOpen, onClose, onSave, initialContent, elementLabel }: EditElementModalProps) { + const [content, setContent] = React.useState(initialContent); + + React.useEffect(() => { + setContent(initialContent); + }, [initialContent, isOpen]); + + if (!isOpen) return null; + + const handleSave = () => { + onSave(content); + onClose(); + }; + + const handleCancel = () => { + setContent(initialContent); + onClose(); + }; + + return ( +
+
e.stopPropagation()} + > + {/* Modal Header */} +
+

+ ✏️ Edit Element: {elementLabel} +

+ +
+ + {/* Modal Body */} +
+