+ {activeFrames.map((frame: Frame, i) => {
+ return (
+
+ );
+ })}
+
+ );
+ }
+}
diff --git a/packages/tandem-designer/src/components/root/workspace/editors/paperclip/stage/canvas/tools-layer/edit-text-controller.tsx b/packages/tandem-designer/src/components/root/workspace/editors/paperclip/stage/canvas/tools-layer/edit-text-controller.tsx
new file mode 100644
index 000000000..ada347576
--- /dev/null
+++ b/packages/tandem-designer/src/components/root/workspace/editors/paperclip/stage/canvas/tools-layer/edit-text-controller.tsx
@@ -0,0 +1,88 @@
+import * as React from "react";
+import { BaseEditTextProps } from "./edit-text.pc";
+import {
+ InspectorNode,
+ DependencyGraph,
+ getInspectorSourceNode,
+ PCSourceTagNames,
+ getInspectorSyntheticNode,
+ SyntheticDocument,
+ PCTextLikeNode,
+ isTextLikePCNode,
+ getSyntheticVisibleNodeRelativeBounds,
+ Frame,
+ SyntheticTextNode,
+} from "paperclip";
+import { Dispatch } from "redux";
+import { FocusComponent } from "../../../../../../../focus";
+import { canvasTextEditChangeComplete } from "../../../../../../../../actions";
+
+export type Props = {
+ rootInspectorNode: InspectorNode;
+ selectedInspectorNode: InspectorNode;
+ selectedSyntheticNode: SyntheticTextNode;
+ graph: DependencyGraph;
+ frames: Frame[];
+ documents: SyntheticDocument[];
+ dispatch: Dispatch