diff --git a/frontend/apps/editor3d/app/src/components/reusable/InputVector/InputVector.mdx b/frontend/apps/editor3d/app/src/components/reusable/InputVector/InputVector.mdx
deleted file mode 100644
index 3e8238bd45..0000000000
--- a/frontend/apps/editor3d/app/src/components/reusable/InputVector/InputVector.mdx
+++ /dev/null
@@ -1,10 +0,0 @@
-import { Canvas, Meta } from '@storybook/blocks';
-
-import * as InputVectorStories from './InputVector.stories';
-
-
-
-# 3 Input controls: one for x, y, and z
-It allows entry os plus or minus numbers with decimals. It can also be adjusted via dragging the mouse left or right.
-
-
diff --git a/frontend/apps/editor3d/app/src/components/reusable/InputVector/InputVector.stories.tsx b/frontend/apps/editor3d/app/src/components/reusable/InputVector/InputVector.stories.tsx
deleted file mode 100644
index d925a23f87..0000000000
--- a/frontend/apps/editor3d/app/src/components/reusable/InputVector/InputVector.stories.tsx
+++ /dev/null
@@ -1,44 +0,0 @@
-import { useState } from "react";
-import type { Meta, StoryObj } from "@storybook/react";
-import { InputVector } from "./InputVector";
-import { withActions } from "@storybook/addon-actions/decorator";
-
-const meta: Meta = {
- component: InputVector,
- parameters: {
- actions: {
- handles: ["change", "blur", "focus"],
- },
- },
- decorators: [withActions],
-};
-
-type Story = StoryObj;
-
-const InputVectorRender = () => {
- // Sets the hooks for both the label and primary props
- const [xyz, setXyz] = useState>({
- x: "0",
- y: "0",
- z: "0",
- });
-
- return (
- setXyz(value)}
- />
- );
-};
-
-export const Default: Story = {
- render: () => (
-
-
-
- ),
-};
-
-export default meta;
diff --git a/frontend/apps/editor3d/app/src/components/reusable/InputVector/index.ts b/frontend/apps/editor3d/app/src/components/reusable/InputVector/index.ts
deleted file mode 100644
index 2c73552779..0000000000
--- a/frontend/apps/editor3d/app/src/components/reusable/InputVector/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from "./InputVector";
diff --git a/frontend/apps/editor3d/app/src/components/reusable/index.ts b/frontend/apps/editor3d/app/src/components/reusable/index.ts
index 80badcdedb..00d53cb65a 100644
--- a/frontend/apps/editor3d/app/src/components/reusable/index.ts
+++ b/frontend/apps/editor3d/app/src/components/reusable/index.ts
@@ -1,4 +1,3 @@
-export * from "./InputVector";
export * from "./NumberInput";
export * from "./Pagination";
export * from "./SearchFilter";
diff --git a/frontend/apps/editor3d/app/src/pages/PageEnigma/comps/ControlPanelSceneObject/ControlPanelSceneObject.tsx b/frontend/apps/editor3d/app/src/pages/PageEnigma/comps/ControlPanelSceneObject/ControlPanelSceneObject.tsx
index 3c4ccee23b..4a63306235 100644
--- a/frontend/apps/editor3d/app/src/pages/PageEnigma/comps/ControlPanelSceneObject/ControlPanelSceneObject.tsx
+++ b/frontend/apps/editor3d/app/src/pages/PageEnigma/comps/ControlPanelSceneObject/ControlPanelSceneObject.tsx
@@ -10,11 +10,13 @@ import {
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import {
+ disableHotkeyInput,
+ enableHotkeyInput,
objectPanel as objectPanelSignals,
timelineHeight,
} from "../../signals";
import { EngineContext } from "~/pages/PageEnigma/contexts/EngineContext";
-import { InputVector } from "~/components";
+import { InputVector } from "@storyteller/ui-input";
import { Button } from "@storyteller/ui-button";
import { editorState } from "~/pages/PageEnigma/signals/engine";
import { twMerge } from "tailwind-merge";
@@ -252,6 +254,8 @@ export const ControlPanelSceneObject = () => {
z={localPosition.z.toString()}
onChange={handlePositionChange}
disabled={locked}
+ enableHotkeyInput={enableHotkeyInput}
+ disableHotkeyInput={disableHotkeyInput}
/>
@@ -264,6 +268,8 @@ export const ControlPanelSceneObject = () => {
onChange={handleRotationChange}
increment={1}
disabled={locked}
+ enableHotkeyInput={enableHotkeyInput}
+ disableHotkeyInput={disableHotkeyInput}
/>
@@ -277,6 +283,8 @@ export const ControlPanelSceneObject = () => {
z={localScale.z.toString()}
onChange={handleScaleChange}
disabled={locked}
+ enableHotkeyInput={enableHotkeyInput}
+ disableHotkeyInput={disableHotkeyInput}
/>
diff --git a/frontend/libs/components/input/src/index.ts b/frontend/libs/components/input/src/index.ts
index eb38295c5a..df0a4f4aab 100644
--- a/frontend/libs/components/input/src/index.ts
+++ b/frontend/libs/components/input/src/index.ts
@@ -1,2 +1,2 @@
-
export * from './lib/input';
+export * from './lib/InputVector';
diff --git a/frontend/apps/editor3d/app/src/components/reusable/InputVector/InputVector.tsx b/frontend/libs/components/input/src/lib/InputVector.tsx
similarity index 97%
rename from frontend/apps/editor3d/app/src/components/reusable/InputVector/InputVector.tsx
rename to frontend/libs/components/input/src/lib/InputVector.tsx
index 8758030a63..c313b31b28 100644
--- a/frontend/apps/editor3d/app/src/components/reusable/InputVector/InputVector.tsx
+++ b/frontend/libs/components/input/src/lib/InputVector.tsx
@@ -1,10 +1,6 @@
import React, { ChangeEvent, RefObject, useRef } from "react";
import { twMerge } from "tailwind-merge";
-import {
- disableHotkeyInput,
- DomLevels,
- enableHotkeyInput,
-} from "~/pages/PageEnigma/signals";
+import { DomLevels } from "@storyteller/common";
interface InputVectorProps {
x: string;
@@ -13,6 +9,8 @@ interface InputVectorProps {
onChange: (v: Record) => void;
increment?: number;
disabled?: boolean;
+ disableHotkeyInput: (level: DomLevels) => void;
+ enableHotkeyInput: (level: DomLevels) => void;
}
export const InputVector = ({
@@ -22,6 +20,8 @@ export const InputVector = ({
onChange,
increment = 0.1,
disabled,
+ disableHotkeyInput,
+ enableHotkeyInput,
}: InputVectorProps) => {
const xRef = useRef(null);
const yRef = useRef(null);