summaryrefslogtreecommitdiff
path: root/apps/web/src/components/editor/properties-panel/property-item.tsx
diff options
context:
space:
mode:
authorMaze Winther <mazewinther@gmail.com>2025-07-10 21:48:26 +0200
committerMaze Winther <mazewinther@gmail.com>2025-07-10 21:48:26 +0200
commitfe6492f359b245a22882adf49990052d3ca6830d (patch)
tree45b3e60a77b457e31af02de786343a5687eb4afc /apps/web/src/components/editor/properties-panel/property-item.tsx
parented4e9dad192cef58c7b15dea06dd9c41feb2a510 (diff)
downloadopencut-fe6492f359b245a22882adf49990052d3ca6830d.tar.gz
refactor: separate property item component
Diffstat (limited to 'apps/web/src/components/editor/properties-panel/property-item.tsx')
-rw-r--r--apps/web/src/components/editor/properties-panel/property-item.tsx47
1 files changed, 47 insertions, 0 deletions
diff --git a/apps/web/src/components/editor/properties-panel/property-item.tsx b/apps/web/src/components/editor/properties-panel/property-item.tsx
new file mode 100644
index 00000000..beb8c799
--- /dev/null
+++ b/apps/web/src/components/editor/properties-panel/property-item.tsx
@@ -0,0 +1,47 @@
+import { cn } from "@/lib/utils";
+
+interface PropertyItemProps {
+ direction?: "row" | "column";
+ children: React.ReactNode;
+ className?: string;
+}
+
+export function PropertyItem({
+ direction = "row",
+ children,
+ className,
+}: PropertyItemProps) {
+ return (
+ <div
+ className={cn(
+ "flex gap-2",
+ direction === "row"
+ ? "items-center justify-between gap-6"
+ : "flex-col gap-1",
+ className
+ )}
+ >
+ {children}
+ </div>
+ );
+}
+
+export function PropertyItemLabel({
+ children,
+ className,
+}: {
+ children: React.ReactNode;
+ className?: string;
+}) {
+ return <label className={cn("text-xs", className)}>{children}</label>;
+}
+
+export function PropertyItemValue({
+ children,
+ className,
+}: {
+ children: React.ReactNode;
+ className?: string;
+}) {
+ return <div className={cn("flex-1", className)}>{children}</div>;
+}