From d45eaf6717237f3444e2d607076b74799949c109 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 15 Jan 2026 09:13:55 +0000 Subject: [PATCH 1/7] Initial plan From eddcee4491f18a0ff8dd244f84315ff46d7be632 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 15 Jan 2026 09:20:09 +0000 Subject: [PATCH 2/7] Fix TypeScript error in CanvasDesigner ResizeHandles usage Co-authored-by: huangyiirene <7665279+huangyiirene@users.noreply.github.com> --- .../src/components/CanvasDesigner.tsx | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/packages/designer/src/components/CanvasDesigner.tsx b/packages/designer/src/components/CanvasDesigner.tsx index b1796e037..ba22a6a86 100644 --- a/packages/designer/src/components/CanvasDesigner.tsx +++ b/packages/designer/src/components/CanvasDesigner.tsx @@ -18,7 +18,7 @@ import { useKeyboardShortcuts } from '../hooks/useKeyboardShortcuts'; import type { SchemaNode } from '@object-ui/core'; import type { CanvasDesignerConfig } from '../types/designer-modes'; import { SchemaRenderer } from '@object-ui/react'; -import { ResizeHandles } from './ResizeHandle'; +import { ResizeHandles, type ResizeDirection } from './ResizeHandle'; import { ComponentRegistry } from '@object-ui/core'; import { cn } from '@object-ui/components'; @@ -158,7 +158,22 @@ const FreeFormCanvas: React.FC<{ showGrid?: boolean; gridSize?: number }> = ({ return nodes.map((node) => { const isSelected = node.id === selectedNodeId; - const isResizable = ComponentRegistry.getConfig(node.type)?.resizable || false; + const config = ComponentRegistry.getConfig(node.type); + const isResizable = config?.resizable || false; + + // Determine which directions to show based on constraints + const constraints = config?.resizeConstraints || {}; + const directions: ResizeDirection[] = []; + + if (constraints.width !== false) { + directions.push('e', 'w'); + } + if (constraints.height !== false) { + directions.push('n', 's'); + } + if (constraints.width !== false && constraints.height !== false) { + directions.push('ne', 'nw', 'se', 'sw'); + } return (
= ({ {/* Resize handles for selected node */} {isSelected && isResizable && ( { + directions={directions} + onResizeStart={(direction, e) => { const element = document.querySelector(`[data-obj-id="${node.id}"]`) as HTMLElement; if (element) { setResizingNode({ From 4194da2b739e60a2a0e55e1d90ddf921ca564ffc Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 15 Jan 2026 09:26:06 +0000 Subject: [PATCH 3/7] Initial plan From 5e17dfbd8e293d75cf02b439eee2dfe8af8b9de1 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 15 Jan 2026 09:31:37 +0000 Subject: [PATCH 4/7] Fix TypeScript errors in designer-modes example - Remove unnecessary React import from App.tsx (jsx: react-jsx handles JSX automatically) - Update main.tsx to use named imports instead of namespace import - Add vite/client types to tsconfig for CSS import support Fixes TS6133 and TS2307 errors that were causing CI build failures Co-authored-by: huangyiirene <7665279+huangyiirene@users.noreply.github.com> --- examples/designer-modes/src/App.tsx | 2 +- examples/designer-modes/src/main.tsx | 10 +++++----- examples/designer-modes/tsconfig.json | 1 + 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/examples/designer-modes/src/App.tsx b/examples/designer-modes/src/App.tsx index e1dae7e80..9f40800d6 100644 --- a/examples/designer-modes/src/App.tsx +++ b/examples/designer-modes/src/App.tsx @@ -1,4 +1,4 @@ -import React, { useState } from 'react'; +import { useState } from 'react'; import { Designer, type DesignerMode } from '@object-ui/designer'; import type { SchemaNode } from '@object-ui/core'; diff --git a/examples/designer-modes/src/main.tsx b/examples/designer-modes/src/main.tsx index 9aa52ffd1..dfacde090 100644 --- a/examples/designer-modes/src/main.tsx +++ b/examples/designer-modes/src/main.tsx @@ -1,10 +1,10 @@ -import React from 'react'; -import ReactDOM from 'react-dom/client'; +import { StrictMode } from 'react'; +import { createRoot } from 'react-dom/client'; import App from './App'; import './index.css'; -ReactDOM.createRoot(document.getElementById('root')!).render( - +createRoot(document.getElementById('root')!).render( + - , + , ); diff --git a/examples/designer-modes/tsconfig.json b/examples/designer-modes/tsconfig.json index df2545fa1..4723c2da6 100644 --- a/examples/designer-modes/tsconfig.json +++ b/examples/designer-modes/tsconfig.json @@ -4,6 +4,7 @@ "useDefineForClassFields": true, "lib": ["ES2020", "DOM", "DOM.Iterable"], "module": "ESNext", + "types": ["vite/client"], "skipLibCheck": true, /* Bundler mode */ From 8fde9fea3392f92e421b6cd5c2d01b43cd225b4f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 15 Jan 2026 09:41:13 +0000 Subject: [PATCH 5/7] Initial plan From 1265ae78f93a5665c52cf77d3d3a9ac60a363332 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 15 Jan 2026 09:55:24 +0000 Subject: [PATCH 6/7] Changes before error encountered Co-authored-by: huangyiirene <7665279+huangyiirene@users.noreply.github.com> --- packages/components/package.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/components/package.json b/packages/components/package.json index 64319ac1d..621ff237d 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -3,14 +3,14 @@ "version": "0.2.0", "type": "module", "license": "MIT", - "main": "dist/index.umd.js", - "module": "dist/index.mjs", + "main": "dist/index.umd.cjs", + "module": "dist/index.js", "types": "dist/index.d.ts", "exports": { ".": { "types": "./dist/index.d.ts", - "import": "./dist/index.mjs", - "require": "./dist/index.umd.js" + "import": "./dist/index.js", + "require": "./dist/index.umd.cjs" }, "./dist/style.css": "./dist/style.css" }, From 2ee2655f0460af343753b58924adcd72377ee0df Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 15 Jan 2026 10:04:14 +0000 Subject: [PATCH 7/7] Changes before error encountered Co-authored-by: huangyiirene <7665279+huangyiirene@users.noreply.github.com> --- package.json | 2 +- packages/components/package.json | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 55d368102..fcc106faf 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "scripts": { "dev": "pnpm --filter prototype dev", "start": "pnpm --filter prototype dev", - "build": "pnpm -r build", + "build": "pnpm --filter './packages/*' -r build && pnpm --filter './examples/*' -r build", "pretest": "pnpm --filter @object-ui/types build && pnpm --filter @object-ui/core build && pnpm --filter @object-ui/react build && pnpm --filter @object-ui/components build", "test": "vitest run", "docs:dev": "pnpm --filter object-ui-docs dev", diff --git a/packages/components/package.json b/packages/components/package.json index 64319ac1d..621ff237d 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -3,14 +3,14 @@ "version": "0.2.0", "type": "module", "license": "MIT", - "main": "dist/index.umd.js", - "module": "dist/index.mjs", + "main": "dist/index.umd.cjs", + "module": "dist/index.js", "types": "dist/index.d.ts", "exports": { ".": { "types": "./dist/index.d.ts", - "import": "./dist/index.mjs", - "require": "./dist/index.umd.js" + "import": "./dist/index.js", + "require": "./dist/index.umd.cjs" }, "./dist/style.css": "./dist/style.css" },