Skip to content

Commit 9523215

Browse files
CopilotCopilot
andcommitted
fix(plugin-workflow): resolve TypeScript type errors
- Move @object-ui/components, @object-ui/core, @object-ui/react, @object-ui/types from peerDependencies to dependencies (TS2307), following the pattern used by plugin-grid - Add explicit type annotations for event handler parameters (TS7006): React.ChangeEvent<HTMLInputElement> for onChange callbacks and string for onValueChange callbacks from Select components Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent d465439 commit 9523215

File tree

4 files changed

+25
-25
lines changed

4 files changed

+25
-25
lines changed

packages/plugin-workflow/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,14 @@
2222
"lint": "eslint ."
2323
},
2424
"peerDependencies": {
25-
"@object-ui/components": "workspace:*",
26-
"@object-ui/core": "workspace:*",
27-
"@object-ui/react": "workspace:*",
28-
"@object-ui/types": "workspace:*",
2925
"react": "^18.0.0 || ^19.0.0",
3026
"react-dom": "^18.0.0 || ^19.0.0"
3127
},
3228
"dependencies": {
29+
"@object-ui/components": "workspace:*",
30+
"@object-ui/core": "workspace:*",
31+
"@object-ui/react": "workspace:*",
32+
"@object-ui/types": "workspace:*",
3333
"clsx": "^2.1.1",
3434
"lucide-react": "^0.575.0",
3535
"tailwind-merge": "^3.5.0"

packages/plugin-workflow/src/ApprovalProcess.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ export const ApprovalProcess: React.FC<ApprovalProcessProps> = ({ schema }) => {
110110
</Label>
111111
<Input
112112
value={comment}
113-
onChange={(e) => setComment(e.target.value)}
113+
onChange={(e: React.ChangeEvent<HTMLInputElement>) => setComment(e.target.value)}}
114114
placeholder="Add a comment (optional)"
115115
/>
116116
</div>

packages/plugin-workflow/src/AutomationBuilder.tsx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ export const AutomationBuilder: React.FC<AutomationBuilderProps> = ({
154154
<CardContent className="space-y-4">
155155
<div className="space-y-1">
156156
<Label className="text-xs">Trigger Type</Label>
157-
<Select value={automation.trigger.type} onValueChange={(v) => updateTrigger({ type: v as TriggerConfig['type'] })}>
157+
<Select value={automation.trigger.type} onValueChange={(v: string) => updateTrigger({ type: v as TriggerConfig['type'] })}>
158158
<SelectTrigger><SelectValue placeholder="Select trigger type" /></SelectTrigger>
159159
<SelectContent>
160160
{(Object.keys(TRIGGER_LABELS) as TriggerConfig['type'][]).map(t => (
@@ -167,7 +167,7 @@ export const AutomationBuilder: React.FC<AutomationBuilderProps> = ({
167167
<div className="space-y-1">
168168
<Label className="text-xs">Object</Label>
169169
{objects.length > 0 ? (
170-
<Select value={automation.trigger.objectName ?? ''} onValueChange={(v) => updateTrigger({ objectName: v })}>
170+
<Select value={automation.trigger.objectName ?? ''} onValueChange={(v: string) => updateTrigger({ objectName: v })}>
171171
<SelectTrigger><SelectValue placeholder="Select object" /></SelectTrigger>
172172
<SelectContent>
173173
{objects.map(o => <SelectItem key={o.name} value={o.name}>{o.label}</SelectItem>)}
@@ -182,7 +182,7 @@ export const AutomationBuilder: React.FC<AutomationBuilderProps> = ({
182182
<div className="space-y-1">
183183
<Label className="text-xs">Field</Label>
184184
{selectedObjectFields ? (
185-
<Select value={automation.trigger.fieldName ?? ''} onValueChange={(v) => updateTrigger({ fieldName: v })}>
185+
<Select value={automation.trigger.fieldName ?? ''} onValueChange={(v: string) => updateTrigger({ fieldName: v })}>
186186
<SelectTrigger><SelectValue placeholder="Select field" /></SelectTrigger>
187187
<SelectContent>
188188
{Object.keys(selectedObjectFields).map(f => <SelectItem key={f} value={f}>{f}</SelectItem>)}
@@ -211,7 +211,7 @@ export const AutomationBuilder: React.FC<AutomationBuilderProps> = ({
211211
<div className="space-y-1">
212212
<Label className="text-xs">Field</Label>
213213
{selectedObjectFields ? (
214-
<Select value={automation.trigger.conditionField ?? ''} onValueChange={(v) => updateTrigger({ conditionField: v })}>
214+
<Select value={automation.trigger.conditionField ?? ''} onValueChange={(v: string) => updateTrigger({ conditionField: v })}>
215215
<SelectTrigger><SelectValue placeholder="Field" /></SelectTrigger>
216216
<SelectContent>
217217
{Object.keys(selectedObjectFields).map(f => <SelectItem key={f} value={f}>{f}</SelectItem>)}
@@ -223,7 +223,7 @@ export const AutomationBuilder: React.FC<AutomationBuilderProps> = ({
223223
</div>
224224
<div className="space-y-1">
225225
<Label className="text-xs">Operator</Label>
226-
<Select value={automation.trigger.conditionOperator ?? 'equals'} onValueChange={(v) => updateTrigger({ conditionOperator: v as TriggerConfig['conditionOperator'] })}>
226+
<Select value={automation.trigger.conditionOperator ?? 'equals'} onValueChange={(v: string) => updateTrigger({ conditionOperator: v as TriggerConfig['conditionOperator'] })}>
227227
<SelectTrigger><SelectValue placeholder="Operator" /></SelectTrigger>
228228
<SelectContent>
229229
{(Object.keys(CONDITION_OPERATORS) as NonNullable<TriggerConfig['conditionOperator']>[]).map(op => (
@@ -253,7 +253,7 @@ export const AutomationBuilder: React.FC<AutomationBuilderProps> = ({
253253
{automation.actions.length > 1 && (
254254
<div className="flex items-center gap-2 text-xs text-muted-foreground">
255255
<Label className="text-xs">Execution</Label>
256-
<Select value={automation.executionMode ?? 'sequential'} onValueChange={(v) => setAutomation(prev => ({ ...prev, executionMode: v as 'sequential' | 'parallel' }))}>
256+
<Select value={automation.executionMode ?? 'sequential'} onValueChange={(v: string) => setAutomation(prev => ({ ...prev, executionMode: v as 'sequential' | 'parallel' }))}>
257257
<SelectTrigger className="h-7 w-36"><SelectValue /></SelectTrigger>
258258
<SelectContent>
259259
<SelectItem value="sequential">Sequential</SelectItem>
@@ -280,7 +280,7 @@ export const AutomationBuilder: React.FC<AutomationBuilderProps> = ({
280280
</div>
281281
<div className="space-y-1">
282282
<Label className="text-xs">Action Type</Label>
283-
<Select value={action.type} onValueChange={(v) => updateAction(idx, { type: v as ActionConfig['type'], params: {} })}>
283+
<Select value={action.type} onValueChange={(v: string) => updateAction(idx, { type: v as ActionConfig['type'], params: {} })}>
284284
<SelectTrigger><SelectValue /></SelectTrigger>
285285
<SelectContent>
286286
{(Object.keys(ACTION_LABELS) as ActionConfig['type'][]).map(t => (

packages/plugin-workflow/src/FlowDesigner.tsx

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -367,7 +367,7 @@ const PropertyPanel: React.FC<PropertyPanelProps> = ({
367367
<Label className="text-xs">Label</Label>
368368
<Input
369369
value={node.label}
370-
onChange={(e) => onNodeChange({ ...node, label: e.target.value })}
370+
onChange={(e: React.ChangeEvent<HTMLInputElement>) => onNodeChange({ ...node, label: e.target.value })}
371371
disabled={readOnly}
372372
className="h-7 text-xs"
373373
/>
@@ -377,7 +377,7 @@ const PropertyPanel: React.FC<PropertyPanelProps> = ({
377377
<Label className="text-xs">Type</Label>
378378
<Select
379379
value={node.type}
380-
onValueChange={(v) => onNodeChange({ ...node, type: v as FlowNodeType })}
380+
onValueChange={(v: string) => onNodeChange({ ...node, type: v as FlowNodeType })}
381381
disabled={readOnly}
382382
>
383383
<SelectTrigger className="h-7 text-xs">
@@ -397,7 +397,7 @@ const PropertyPanel: React.FC<PropertyPanelProps> = ({
397397
<Label className="text-xs">Description</Label>
398398
<Input
399399
value={node.description ?? ''}
400-
onChange={(e) => onNodeChange({ ...node, description: e.target.value })}
400+
onChange={(e: React.ChangeEvent<HTMLInputElement>) => onNodeChange({ ...node, description: e.target.value })}
401401
disabled={readOnly}
402402
className="h-7 text-xs"
403403
placeholder="Optional description"
@@ -414,7 +414,7 @@ const PropertyPanel: React.FC<PropertyPanelProps> = ({
414414
<Label className="text-xs">Executor Type</Label>
415415
<Input
416416
value={node.executor?.type ?? ''}
417-
onChange={(e) => onNodeChange({
417+
onChange={(e: React.ChangeEvent<HTMLInputElement>) => onNodeChange({
418418
...node,
419419
executor: { ...node.executor, type: e.target.value },
420420
})}
@@ -429,7 +429,7 @@ const PropertyPanel: React.FC<PropertyPanelProps> = ({
429429
<Label className="text-xs">Wait Event Type</Label>
430430
<Select
431431
value={node.executor?.waitEventConfig?.eventType ?? 'timer'}
432-
onValueChange={(v) => onNodeChange({
432+
onValueChange={(v: string) => onNodeChange({
433433
...node,
434434
executor: {
435435
...node.executor,
@@ -461,7 +461,7 @@ const PropertyPanel: React.FC<PropertyPanelProps> = ({
461461
<Input
462462
type="number"
463463
value={node.executor?.timeoutMs ?? ''}
464-
onChange={(e) => onNodeChange({
464+
onChange={(e: React.ChangeEvent<HTMLInputElement>) => onNodeChange({
465465
...node,
466466
executor: {
467467
...node.executor,
@@ -487,7 +487,7 @@ const PropertyPanel: React.FC<PropertyPanelProps> = ({
487487
<Label className="text-xs">Attached To Node ID</Label>
488488
<Input
489489
value={node.boundaryConfig?.attachedToNodeId ?? ''}
490-
onChange={(e) => onNodeChange({
490+
onChange={(e: React.ChangeEvent<HTMLInputElement>) => onNodeChange({
491491
...node,
492492
boundaryConfig: {
493493
...node.boundaryConfig,
@@ -505,7 +505,7 @@ const PropertyPanel: React.FC<PropertyPanelProps> = ({
505505
<Label className="text-xs">Event Type</Label>
506506
<Select
507507
value={node.boundaryConfig?.eventType ?? 'error'}
508-
onValueChange={(v) => onNodeChange({
508+
onValueChange={(v: string) => onNodeChange({
509509
...node,
510510
boundaryConfig: {
511511
...node.boundaryConfig,
@@ -540,7 +540,7 @@ const PropertyPanel: React.FC<PropertyPanelProps> = ({
540540
<Label className="text-xs">Label</Label>
541541
<Input
542542
value={edge.label ?? ''}
543-
onChange={(e) => onEdgeChange({ ...edge, label: e.target.value })}
543+
onChange={(e: React.ChangeEvent<HTMLInputElement>) => onEdgeChange({ ...edge, label: e.target.value })}
544544
disabled={readOnly}
545545
className="h-7 text-xs"
546546
/>
@@ -550,7 +550,7 @@ const PropertyPanel: React.FC<PropertyPanelProps> = ({
550550
<Label className="text-xs">Type</Label>
551551
<Select
552552
value={edge.type ?? 'default'}
553-
onValueChange={(v) => onEdgeChange({ ...edge, type: v as FlowEdgeType })}
553+
onValueChange={(v: string) => onEdgeChange({ ...edge, type: v as FlowEdgeType })}
554554
disabled={readOnly}
555555
>
556556
<SelectTrigger className="h-7 text-xs">
@@ -569,7 +569,7 @@ const PropertyPanel: React.FC<PropertyPanelProps> = ({
569569
<Label className="text-xs">Condition Expression</Label>
570570
<Input
571571
value={edge.condition ?? ''}
572-
onChange={(e) => onEdgeChange({ ...edge, condition: e.target.value })}
572+
onChange={(e: React.ChangeEvent<HTMLInputElement>) => onEdgeChange({ ...edge, condition: e.target.value })}
573573
disabled={readOnly}
574574
className="h-7 text-xs font-mono"
575575
placeholder="e.g. status === 'approved'"
@@ -582,7 +582,7 @@ const PropertyPanel: React.FC<PropertyPanelProps> = ({
582582
type="checkbox"
583583
id="edge-isDefault"
584584
checked={edge.isDefault ?? false}
585-
onChange={(e) => onEdgeChange({ ...edge, isDefault: e.target.checked })}
585+
onChange={(e: React.ChangeEvent<HTMLInputElement>) => onEdgeChange({ ...edge, isDefault: e.target.checked })}
586586
disabled={readOnly}
587587
className="h-3.5 w-3.5"
588588
/>
@@ -865,7 +865,7 @@ export const FlowDesigner: React.FC<FlowDesignerProps> = ({ schema, onSave }) =>
865865
) : (
866866
<Input
867867
value={title}
868-
onChange={(e) => setTitle(e.target.value)}
868+
onChange={(e: React.ChangeEvent<HTMLInputElement>) => setTitle(e.target.value)}
869869
className="h-6 text-sm font-semibold border-0 p-0 focus-visible:ring-0 bg-transparent"
870870
aria-label="Flow title"
871871
/>

0 commit comments

Comments
 (0)