From 2ba248472ee72dbf51a008a593188fdddc609da0 Mon Sep 17 00:00:00 2001 From: Waleed Date: Wed, 5 Aug 2026 15:04:30 -0700 Subject: [PATCH] fix(editor): restore caret alignment and the intended type scale across the panel (#6297) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(editor): restore caret alignment and the intended type scale across the panel Four distinct defects, all surfaced while testing the workflow editor. **Caret drift in the Start block's Description field.** Its overlay mirror was built differently from every sibling field: `overflow-hidden` + `truncate` and no scroll synchronisation, where the working fields use `overflow-x-auto` + `whitespace-pre` + `syncOverlayScroll`. Once the value passed the visible width the input scrolled and carried the caret with it while the overlay stayed pinned at the first character, so the gap grew as you typed. It now has the same plumbing as its siblings, on its own ref maps so it cannot collide with the value overlay. **Overlay mirrors left at 500 over 400 inputs.** #6291 dropped emcn Input and Textarea to the inherited weight, but the canvas files that mirror them were reverted from that PR, so 11 overlays kept a hardcoded `font-medium`. A mirror that renders heavier than the input beneath it misaligns by the weight delta on every character. All 11 realigned. **Input text tracking differently from its label.** The UA stylesheet resets form controls to `letter-spacing: normal`, so inside `.workspace-root` (0.02em) an input diverged from surrounding text — and from its own overlay — by 0.28px per character. emcn Input and Textarea now carry `[letter-spacing:inherit]`, which fixes every mirrored input at the source rather than per call site. **Weights and type sizes that changed meaning under #6241.** That PR deleted the tailwind remap of `font-medium` (440 light / 480 dark) without migrating the ~505 call sites written against it, so untouched code jumped to a stock 500. The panel's editor, toolbar, chat and connections surfaces are swept back to the inherited weight. The Chat header was also visibly taller than Toolbar and Editor purely because it used `text-[14px]` — font-size with no paired line-height — against otherwise byte-identical containers; it and the panel's two other arbitrary sizes now use named tokens. Also fixes five JSX conditionals in the workflow MCP settings page that had lost their braces, so `canManage && ()` rendered as literal text under the server detail tab. Verified: typecheck 0, biome clean, 18644/18645 vitest passing (the one failure is a missing `rg` binary and predates this branch). * fix(emcn): give chip text fields the same tracking as their mirrors An audit of the previous commit found the letter-spacing fix was incomplete: it landed on `Input`/`Textarea` but not on the chip family, so `ChipInput` and `ChipTextarea` kept the UA `letter-spacing: normal` while any overlay mirroring them inherited the ambient tracking. The MCP server form modal is a live instance — its shared `FormattedInput` layers a transparent `ChipInput` under a visible div, across the server URL and both header fields, whose values are long by nature. The caret separated from the text by roughly 0.28px per character. Fixed on `chipFieldTextClass` rather than the call site, so every chip field matches its mirror the way `Input`/`Textarea` already do. * fix(editor): restore the strong-text variant a class sweep welded together The font-weight sweep in 94c9f1f68 used a blanket sed, which turned [&_strong]:font-medium [&_strong]:text-[var(--text-primary)] into [&_strong]:[&_strong]:text-[var(--text-primary)] — a chained variant matching a inside a , so ordinary strong text in trigger setup instructions lost its color. The removed weight was also load-bearing rather than decorative. Preflight sets b/strong to font-weight: bolder, so against a 400 body a bare lands near 700; the class was holding it down to 500. Deleting it made that text heavier, the inverse of the sweep's intent — the same UA-default trap as . Both variants are restored. Swept for the same damage: no chained [&…]:[&…] variants remain across apps/sim or packages, and this was the only variant-scoped weight the sed touched. Found independently by Greptile and Cursor Bugbot. --- .../workflow-mcp-servers.tsx | 446 +++++++++--------- .../deploy-modal/components/mcp/mcp.tsx | 2 +- .../components/field-item/field-item.tsx | 2 +- .../connection-blocks/connection-blocks.tsx | 2 +- .../checkbox-list/checkbox-list.tsx | 2 +- .../condition-input/condition-input.tsx | 4 +- .../credential-selector.tsx | 4 +- .../document-tag-entry/document-tag-entry.tsx | 10 +- .../components/eval-input/eval-input.tsx | 16 +- .../components/filter-rule-row.tsx | 6 +- .../grouped-checkbox-list.tsx | 18 +- .../input-mapping/input-mapping.tsx | 8 +- .../knowledge-base-selector.tsx | 2 +- .../knowledge-tag-filters.tsx | 8 +- .../components/long-input/long-input.tsx | 4 +- .../messages-input/messages-input.tsx | 6 +- .../components/short-input/short-input.tsx | 4 +- .../components/skill-input/skill-input.tsx | 2 +- .../slack-setup-wizard/slack-setup-wizard.tsx | 16 +- .../sort-builder/components/sort-rule-row.tsx | 2 +- .../components/starter/input-format.tsx | 49 +- .../sub-block/components/switch/switch.tsx | 2 +- .../sub-block/components/table/table.tsx | 6 +- .../components/tag-dropdown/tag-dropdown.tsx | 4 +- .../sub-block/components/text/text.tsx | 2 +- .../components/tools/credential-selector.tsx | 4 +- .../tool-input/components/tools/parameter.tsx | 2 +- .../components/tool-input/tool-input.tsx | 8 +- .../variables-input/variables-input.tsx | 10 +- .../subflow-editor/subflow-editor.tsx | 16 +- .../panel/components/editor/editor.tsx | 14 +- .../panel/components/toolbar/toolbar.tsx | 4 +- .../w/[workflowId]/components/panel/panel.tsx | 6 +- .../emcn/src/components/chip/chip-chrome.ts | 13 +- packages/emcn/src/components/input/input.tsx | 10 +- .../emcn/src/components/textarea/textarea.tsx | 3 +- 36 files changed, 376 insertions(+), 341 deletions(-) diff --git a/apps/sim/app/workspace/[workspaceId]/settings/components/workflow-mcp-servers/workflow-mcp-servers.tsx b/apps/sim/app/workspace/[workspaceId]/settings/components/workflow-mcp-servers/workflow-mcp-servers.tsx index 6364e07a6e..99b7b5af96 100644 --- a/apps/sim/app/workspace/[workspaceId]/settings/components/workflow-mcp-servers/workflow-mcp-servers.tsx +++ b/apps/sim/app/workspace/[workspaceId]/settings/components/workflow-mcp-servers/workflow-mcp-servers.tsx @@ -630,235 +630,239 @@ function ServerDetailView({ - canManage && ( - !open && setToolToDelete(null)} - srTitle='Remove Workflow' - title='Remove Workflow' - text={[ - 'Are you sure you want to remove ', - { text: toolToDelete?.toolName ?? 'this workflow', bold: true }, - ' from this server? The workflow will remain deployed and can be added back later.', - ]} - confirm={{ - label: 'Remove', - onClick: handleDeleteTool, - pending: deleteToolMutation.isPending, - pendingLabel: 'Removing...', - }} - /> - )canManage && ( - { - if (!open) { - setToolToView(null) - setEditingDescription('') - setEditingParameterDescriptions({}) - } - }} - srTitle={toolToView?.toolName ?? 'Edit Tool'} - > - setToolToView(null)}> - {toolToView?.toolName} - - - - - - {(() => { - const schema = toolToView?.parameterSchema as - | { properties?: Record } - | undefined - const properties = schema?.properties - const hasParams = properties && Object.keys(properties).length > 0 - return hasParams ? ( -
- {Object.entries(properties).map(([name, prop]) => ( -
-
-
- - {name} - - - {prop.type || 'any'} - -
-
-
-
- - - setEditingParameterDescriptions((prev) => ({ - ...prev, - [name]: e.target.value, - })) - } - placeholder={`Enter description for ${name}`} - /> -
-
-
- ))} -
- ) : ( -

- No inputs configured for this workflow. -

- ) - })()} -
-
- setToolToView(null)} - primaryAction={{ - label: updateToolMutation.isPending ? 'Saving...' : 'Save', - onClick: handleSaveToolEdit, - disabled: isSaveToolDisabled, + {canManage && ( + !open && setToolToDelete(null)} + srTitle='Remove Workflow' + title='Remove Workflow' + text={[ + 'Are you sure you want to remove ', + { text: toolToDelete?.toolName ?? 'this workflow', bold: true }, + ' from this server? The workflow will remain deployed and can be added back later.', + ]} + confirm={{ + label: 'Remove', + onClick: handleDeleteTool, + pending: deleteToolMutation.isPending, + pendingLabel: 'Removing...', }} /> -
- )canManage && ( - { - if (!open) { - setShowAddWorkflow(false) - setSelectedWorkflowId(null) - } - }} - srTitle='Add Workflow' - > - { - setShowAddWorkflow(false) - setSelectedWorkflowId(null) + )} + {canManage && ( + { + if (!open) { + setToolToView(null) + setEditingDescription('') + setEditingParameterDescriptions({}) + } }} + srTitle={toolToView?.toolName ?? 'Edit Tool'} > - Add Workflow - - -

- Select a deployed workflow to add to this MCP server. The workflow will be available as - a tool. -

- - setSelectedWorkflowId(value)} - placeholder='Select a workflow...' - searchable - searchPlaceholder='Search workflows...' - disabled={addToolMutation.isPending} - fullWidth - dropdownWidth='trigger' - align='start' - displayLabel={selectedWorkflow?.name} + setToolToView(null)}> + {toolToView?.toolName} + + + - - - {addToolMutation.isError - ? addToolMutation.error?.message || 'Failed to add workflow' - : null} - - - { - setShowAddWorkflow(false) - setSelectedWorkflowId(null) - }} - primaryAction={{ - label: addToolMutation.isPending ? 'Adding...' : 'Add Workflow', - onClick: handleAddWorkflow, - disabled: !selectedWorkflowId || addToolMutation.isPending, - }} - /> -
- )canManage && ( - { - if (!open) { - setShowEditServer(false) - } - }} - srTitle='Edit Server' - > - setShowEditServer(false)}>Edit Server - - + {(() => { + const schema = toolToView?.parameterSchema as + | { properties?: Record } + | undefined + const properties = schema?.properties + const hasParams = properties && Object.keys(properties).length > 0 + return hasParams ? ( +
+ {Object.entries(properties).map(([name, prop]) => ( +
+
+
+ + {name} + + + {prop.type || 'any'} + +
+
+
+
+ + + setEditingParameterDescriptions((prev) => ({ + ...prev, + [name]: e.target.value, + })) + } + placeholder={`Enter description for ${name}`} + /> +
+
+
+ ))} +
+ ) : ( +

+ No inputs configured for this workflow. +

+ ) + })()} +
+
+ setToolToView(null)} + primaryAction={{ + label: updateToolMutation.isPending ? 'Saving...' : 'Save', + onClick: handleSaveToolEdit, + disabled: isSaveToolDisabled, + }} /> - - -
- setEditServerIsPublic(value === 'public')} - > - API Key - Public - -

- {editServerIsPublic - ? 'Anyone with the URL can call this server without authentication' - : 'Requests must include your Sim API key in the X-API-Key header'} -

-
-
- - setShowEditServer(false)} - primaryAction={{ - label: updateServerMutation.isPending ? 'Saving...' : 'Save', - onClick: handleSaveServerEdit, - disabled: - !editServerName.trim() || - updateServerMutation.isPending || - (editServerName === server.name && - editServerDescription === (server.description || '') && - editServerIsPublic === server.isPublic), +
+ )} + {canManage && ( + { + if (!open) { + setShowAddWorkflow(false) + setSelectedWorkflowId(null) + } }} + srTitle='Add Workflow' + > + { + setShowAddWorkflow(false) + setSelectedWorkflowId(null) + }} + > + Add Workflow + + +

+ Select a deployed workflow to add to this MCP server. The workflow will be available + as a tool. +

+ + setSelectedWorkflowId(value)} + placeholder='Select a workflow...' + searchable + searchPlaceholder='Search workflows...' + disabled={addToolMutation.isPending} + fullWidth + dropdownWidth='trigger' + align='start' + displayLabel={selectedWorkflow?.name} + /> + + + {addToolMutation.isError + ? addToolMutation.error?.message || 'Failed to add workflow' + : null} + +
+ { + setShowAddWorkflow(false) + setSelectedWorkflowId(null) + }} + primaryAction={{ + label: addToolMutation.isPending ? 'Adding...' : 'Add Workflow', + onClick: handleAddWorkflow, + disabled: !selectedWorkflowId || addToolMutation.isPending, + }} + /> +
+ )} + {canManage && ( + { + if (!open) { + setShowEditServer(false) + } + }} + srTitle='Edit Server' + > + setShowEditServer(false)}>Edit Server + + + + +
+ setEditServerIsPublic(value === 'public')} + > + API Key + Public + +

+ {editServerIsPublic + ? 'Anyone with the URL can call this server without authentication' + : 'Requests must include your Sim API key in the X-API-Key header'} +

+
+
+
+ setShowEditServer(false)} + primaryAction={{ + label: updateServerMutation.isPending ? 'Saving...' : 'Save', + onClick: handleSaveServerEdit, + disabled: + !editServerName.trim() || + updateServerMutation.isPending || + (editServerName === server.name && + editServerDescription === (server.description || '') && + editServerIsPublic === server.isPublic), + }} + /> +
+ )} + {canManage && ( + - - )canManage && ( - - ) + )} ) } diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/deploy/components/deploy-modal/components/mcp/mcp.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/deploy/components/deploy-modal/components/mcp/mcp.tsx index 618870fb2c..84b272b3f8 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/deploy/components/deploy-modal/components/mcp/mcp.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/deploy/components/deploy-modal/components/mcp/mcp.tsx @@ -503,7 +503,7 @@ export function McpDeploy({ return ( <>
-

+

Create an MCP Server to expose your workflows as tools.

diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/checkbox-list/checkbox-list.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/checkbox-list/checkbox-list.tsx index 403827b666..57cb912e66 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/checkbox-list/checkbox-list.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/checkbox-list/checkbox-list.tsx @@ -78,7 +78,7 @@ function CheckboxItem({ /> diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/condition-input/condition-input.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/condition-input/condition-input.tsx index c0bcab52da..f29ef3eae1 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/condition-input/condition-input.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/condition-input/condition-input.tsx @@ -955,7 +955,7 @@ export function ConditionInput({ : 'rounded-t-[4px] border-[var(--border-1)] border-b' )} > - + {isRouterMode ? `Route ${index + 1}` : block.title}
@@ -1105,7 +1105,7 @@ export function ConditionInput({ }} placeholder='Describe when this route should be taken...' disabled={disabled || isPreview} - className='min-h-[100px] resize-none rounded-none border-0 px-3 py-2 text-sm text-transparent caret-foreground placeholder:text-muted-foreground/50 focus-visible:ring-0 focus-visible:ring-offset-0' + className='min-h-[100px] resize-none rounded-none border-0 px-3 py-2 text-sm text-transparent caret-foreground [letter-spacing:inherit] placeholder:text-muted-foreground/50 focus-visible:ring-0 focus-visible:ring-offset-0' rows={4} style={{ height: `${getRouterHeight(block.id)}px` }} /> diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/credential-selector/credential-selector.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/credential-selector/credential-selector.tsx index ab96212d98..43c818d3b8 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/credential-selector/credential-selector.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/credential-selector/credential-selector.tsx @@ -453,7 +453,7 @@ export function CredentialSelector({ {needsUpdate && (
-
+
Additional permissions required
@@ -471,7 +471,7 @@ export function CredentialSelector({ }) setShowOAuthModal(true) }} - className='w-full px-2 py-1 font-medium text-caption' + className='w-full px-2 py-1 text-caption' > Update access diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/document-tag-entry/document-tag-entry.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/document-tag-entry/document-tag-entry.tsx index 524e7461d4..bf2b4bdb42 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/document-tag-entry/document-tag-entry.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/document-tag-entry/document-tag-entry.tsx @@ -211,7 +211,7 @@ export function DocumentTagEntry({ const tagCount = tags.filter((t) => t.tagName?.trim()).length return (
- +
{tagCount > 0 ? `${tagCount} tag(s) configured` : 'No tags'}
@@ -223,7 +223,7 @@ export function DocumentTagEntry({ return (
-

+

No tags defined for this knowledge base

@@ -250,7 +250,7 @@ export function DocumentTagEntry({ }} >

- + {tag.collapsed ? tag.tagName || `Tag ${index + 1}` : `Tag ${index + 1}`} {tag.collapsed && tag.tagName && ( @@ -334,14 +334,14 @@ export function DocumentTagEntry({ disabled={isReadOnly} autoComplete='off' placeholder={placeholder} - className='allow-scroll w-full overflow-auto text-transparent caret-foreground' + className='allow-scroll w-full overflow-auto text-transparent caret-foreground [letter-spacing:inherit]' />
{ if (el) overlayRefs.current[cellKey] = el }} className={cn( - 'absolute inset-0 flex items-center overflow-x-auto bg-transparent px-2 py-1.5 font-medium font-sans text-sm', + 'absolute inset-0 flex items-center overflow-x-auto bg-transparent px-2 py-1.5 font-sans text-sm', !isReadOnly && 'pointer-events-none' )} > diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/eval-input/eval-input.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/eval-input/eval-input.tsx index fe7ee8c53a..6c659aff3d 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/eval-input/eval-input.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/eval-input/eval-input.tsx @@ -139,7 +139,7 @@ export function EvalInput({ const renderMetricHeader = (metric: EvalMetric, index: number) => (
- Metric {index + 1} + Metric {index + 1}
@@ -194,7 +194,7 @@ export function EvalInput({ onChange={(e) => updateMetric(metric.id, 'name', e.target.value)} placeholder='Accuracy' disabled={isPreview || disabled} - className='text-transparent caret-foreground placeholder:text-muted-foreground/50' + className='text-transparent caret-foreground [letter-spacing:inherit] placeholder:text-muted-foreground/50' />
@@ -253,7 +253,7 @@ export function EvalInput({ if (el) descriptionOverlayRefs.current[metric.id] = el }} className={cn( - 'absolute inset-0 overflow-auto bg-transparent px-2 py-2 font-medium font-sans text-[var(--code-foreground)] text-sm', + 'absolute inset-0 overflow-auto bg-transparent px-2 py-2 font-sans text-[var(--code-foreground)] text-sm', !(isPreview || disabled) && 'pointer-events-none' )} > @@ -300,9 +300,9 @@ export function EvalInput({ autoComplete='off' data-form-type='other' name='eval-range-min' - className='text-transparent caret-foreground' + className='text-transparent caret-foreground [letter-spacing:inherit]' /> -
+
{formatDisplayText(String(metric.range.min ?? ''), { workflowSearchHighlight: getMetricSearchHighlight(index, ['range', 'min']), })} @@ -321,9 +321,9 @@ export function EvalInput({ autoComplete='off' data-form-type='other' name='eval-range-max' - className='text-transparent caret-foreground' + className='text-transparent caret-foreground [letter-spacing:inherit]' /> -
+
{formatDisplayText(String(metric.range.max ?? ''), { workflowSearchHighlight: getMetricSearchHighlight(index, ['range', 'max']), })} diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/filter-builder/components/filter-rule-row.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/filter-builder/components/filter-rule-row.tsx index b0f33f1dde..7a4545c042 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/filter-builder/components/filter-rule-row.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/filter-builder/components/filter-rule-row.tsx @@ -114,7 +114,7 @@ export function FilterRuleRow({ }} >
- + {rule.collapsed && rule.column ? formatDisplayText(getColumnLabel(rule.column), { workflowSearchHighlight: getLabelHighlight('column', getColumnLabel(rule.column)), @@ -175,12 +175,12 @@ export function FilterRuleRow({ disabled={isReadOnly} autoComplete='off' placeholder='Enter value' - className='allow-scroll w-full overflow-auto text-transparent caret-foreground' + className='allow-scroll w-full overflow-auto text-transparent caret-foreground [letter-spacing:inherit]' />
diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/grouped-checkbox-list/grouped-checkbox-list.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/grouped-checkbox-list/grouped-checkbox-list.tsx index 5d4b10ea03..3c3e995838 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/grouped-checkbox-list/grouped-checkbox-list.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/grouped-checkbox-list/grouped-checkbox-list.tsx @@ -24,20 +24,12 @@ interface SelectedCountDisplayProps { function SelectedCountDisplay({ noneSelected, allSelected, count }: SelectedCountDisplayProps) { if (noneSelected) { - return ( - None selected - ) + return None selected } if (allSelected) { - return ( - All selected - ) + return All selected } - return ( - - {count} selected - - ) + return {count} selected } interface GroupedCheckboxListProps { @@ -130,7 +122,7 @@ export function GroupedCheckboxList({ disabled={disabled} onClick={() => setOpen(true)} className={cn( - 'flex w-full cursor-pointer items-center justify-between rounded-sm border border-[var(--border-1)] bg-[var(--surface-5)] px-2 py-1.5 font-medium font-sans text-[var(--text-primary)] text-sm outline-none focus:outline-none focus-visible:outline-none focus-visible:ring-0 focus-visible:ring-offset-0 dark:bg-[var(--surface-5)]', + 'flex w-full cursor-pointer items-center justify-between rounded-sm border border-[var(--border-1)] bg-[var(--surface-5)] px-2 py-1.5 font-sans text-[var(--text-primary)] text-sm outline-none focus:outline-none focus-visible:outline-none focus-visible:ring-0 focus-visible:ring-offset-0 dark:bg-[var(--surface-5)]', 'hover-hover:bg-[var(--surface-active)]' )} > @@ -168,7 +160,7 @@ export function GroupedCheckboxList({ /> diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/input-mapping/input-mapping.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/input-mapping/input-mapping.tsx index 721e657cef..b0b8583cce 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/input-mapping/input-mapping.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/input-mapping/input-mapping.tsx @@ -132,7 +132,7 @@ export function InputMapping({ return (
-

No workflow selected

+

No workflow selected

Select a workflow above to configure inputs

@@ -274,7 +274,9 @@ function InputMappingField({ placeholder='Enter value or reference' disabled={disabled} autoComplete='off' - className={cn('allow-scroll w-full overflow-auto text-transparent caret-foreground')} + className={cn( + 'allow-scroll w-full overflow-auto text-transparent caret-foreground [letter-spacing:inherit]' + )} style={{ overflowX: 'auto' }} />
- + {formatDisplayText(labelOf(kb), { workflowSearchHighlight })} {!disabled && !isPreview && ( diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/knowledge-tag-filters/knowledge-tag-filters.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/knowledge-tag-filters/knowledge-tag-filters.tsx index cb65b0094d..1ab2223be9 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/knowledge-tag-filters/knowledge-tag-filters.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/knowledge-tag-filters/knowledge-tag-filters.tsx @@ -219,7 +219,7 @@ export function KnowledgeTagFilters({ return (
- +
{appliedFilters > 0 ? `${appliedFilters} filter(s) applied` : 'No filters'}
@@ -243,7 +243,7 @@ export function KnowledgeTagFilters({ }} >
- + {filter.collapsed ? filter.tagName || `Filter ${index + 1}` : `Filter ${index + 1}`} {filter.collapsed && filter.tagName && ( @@ -329,14 +329,14 @@ export function KnowledgeTagFilters({ disabled={isReadOnly} autoComplete='off' placeholder={placeholder} - className='allow-scroll w-full overflow-auto text-transparent caret-foreground' + className='allow-scroll w-full overflow-auto text-transparent caret-foreground [letter-spacing:inherit]' />
{ if (el) overlayRefs.current[cellKey] = el }} className={cn( - 'absolute inset-0 flex items-center overflow-x-auto bg-transparent px-2 py-1.5 font-medium font-sans text-sm', + 'absolute inset-0 flex items-center overflow-x-auto bg-transparent px-2 py-1.5 font-sans text-sm', !isReadOnly && 'pointer-events-none' )} > diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/long-input/long-input.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/long-input/long-input.tsx index 8317359e3a..3c594cc178 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/long-input/long-input.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/long-input/long-input.tsx @@ -333,7 +333,7 @@ export function LongInput({