From 8973348791f819030e8f24e4afc3fb27bf64b56a Mon Sep 17 00:00:00 2001 From: Waleed Latif Date: Tue, 4 Aug 2026 12:23:24 -0700 Subject: [PATCH 1/2] improvement(emcn): normalize the chevron geometry and consolidate consumers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The sidebar folder arrow read as much larger than the icons beside it. It was measurably so: `ChevronRight` was a triple outlier in the icon set. | | ChevronRight | house standard | |---|---|---| | viewBox | `0 0 6 10` | 24-based — 149 of 173 icons | | glyph fill | 80% of the box | 54% median | | strokeWidth | 1.2 | 1.55 — 153 of 173 | | cap/join | square/miter | round/round — 175/177 | Because the box was tight-cropped, a square `size-[16px]` scaled the glyph to 12.8px tall where a standard icon shows ~8.6px — about 50% larger, with a relatively ~85% heavier stroke. The lucide icon it replaced was a 24-box at 50% fill, which is why this only appeared after the migration. `chevron-down`, `chevron-right` and `chevron-left` are rebuilt as the exact mirror and transpose of `chevron-up`, which already sets the house standard, so their optical weight is identical to that sibling by construction rather than by eye. Changing the viewBox is not safe on its own: 36 call sites sized these to the old tight aspect (`h-[7px] w-[9px]`, `h-[6px] w-[10px]`, ...), which would letterbox against a square box. All of them move to `size-[14px]`, the documented default and the app's dominant size (212 uses). Every one of the 94 chevron call sites is now square-sized. Two of those were only reachable through indirection and would have regressed silently: `STYLES.chevron` in the terminal's structured output, and the sidebar-section chevron inside a multi-line `cn()`. The dropdown submenu chevron carried no size at all and was relying on the icon's intrinsic 6x10 — it would have jumped to 24x24. Also unifies `folder-input`, which carried both 1.55 and 2 within one icon. Docs consolidation, same theme — it was forking shared components: - `SidebarChevron` was a private inline copy of the old 6x10 chevron; it now wraps the shared `ChevronRight`. - `ThemeToggle` inlined lucide's sun and moon at strokeWidth 1.5; both now come from `@sim/emcn/icons` at the house 1.55. Docs inline `` files drop from 9 to 7; the remainder are the brand icon set, the logo, OG-image generation and bespoke hand-positioned shapes. Left alone: 16 icons whose stroke or box still differs. They are fill-based glyphs and brand marks (`sim`, `wordmark`, `folder`, `more-horizontal`, ...) where changing the stroke means redrawing the icon — that wants visual review, not a sweep. Verified: 23/23 type-check (--force), biome, api-validation, 18361 tests, and production builds of both apps. --- .../docs-layout/sidebar-components.tsx | 19 ++----- apps/docs/components/ui/theme-toggle.tsx | 52 ++----------------- .../workflow-preview/output-bundle.tsx | 2 +- .../landing-preview-chat/chat-title-bar.tsx | 2 +- .../landing-preview-home.tsx | 6 +-- .../landing-preview-sidebar.tsx | 2 +- .../landing-preview-tables.tsx | 4 +- .../enterprise-home-stage.tsx | 2 +- .../enterprise-sidebar.tsx | 2 +- .../tables/components/tables-hero-loop.tsx | 4 +- .../components/agent-group/agent-group.tsx | 2 +- .../components/question/question.tsx | 4 +- .../components/special-tags/special-tags.tsx | 2 +- .../suggested-actions/suggested-actions.tsx | 2 +- .../integrations/integrations.tsx | 2 +- .../components/field-item/field-item.tsx | 2 +- .../components/structured-output.tsx | 3 +- .../toggle-button/toggle-button.tsx | 2 +- .../components/terminal/terminal.tsx | 6 +-- .../workflow-controls/workflow-controls.tsx | 2 +- .../preview-editor/preview-editor.tsx | 4 +- .../sidebar-section/sidebar-section.tsx | 2 +- .../fork-excluded-workflows.tsx | 2 +- .../fork-file-tree/fork-file-tree.tsx | 2 +- .../fork-resource-picker.tsx | 4 +- .../components/fork-sync/fork-sync-view.tsx | 2 +- .../chip-date-picker/chip-date-picker.tsx | 2 +- .../chip-dropdown/chip-dropdown.tsx | 4 +- .../components/chip-select/chip-select.tsx | 2 +- .../emcn/src/components/chip/chip-chevron.tsx | 2 +- .../dropdown-menu/dropdown-menu.tsx | 2 +- .../components/time-picker/time-picker.tsx | 2 +- packages/emcn/src/icons/chevron-down.tsx | 21 ++++---- packages/emcn/src/icons/chevron-left.tsx | 21 ++++---- packages/emcn/src/icons/chevron-right.tsx | 21 ++++---- packages/emcn/src/icons/folder-input.tsx | 4 +- 36 files changed, 76 insertions(+), 143 deletions(-) diff --git a/apps/docs/components/docs-layout/sidebar-components.tsx b/apps/docs/components/docs-layout/sidebar-components.tsx index cb7cb3e8dda..54d0af214f3 100644 --- a/apps/docs/components/docs-layout/sidebar-components.tsx +++ b/apps/docs/components/docs-layout/sidebar-components.tsx @@ -1,6 +1,7 @@ 'use client' import { type ReactNode, useState } from 'react' +import { ChevronRight } from '@sim/emcn/icons' import type { Folder, Item, Separator } from 'fumadocs-core/page-tree' import { useSidebar } from 'fumadocs-ui/components/sidebar/base' import Link from 'next/link' @@ -10,25 +11,13 @@ import { cn } from '@/lib/utils' function SidebarChevron({ open, className }: { open: boolean; className?: string }) { return ( - - - + /> ) } diff --git a/apps/docs/components/ui/theme-toggle.tsx b/apps/docs/components/ui/theme-toggle.tsx index c9943732c44..1e209b7d15d 100644 --- a/apps/docs/components/ui/theme-toggle.tsx +++ b/apps/docs/components/ui/theme-toggle.tsx @@ -1,54 +1,8 @@ 'use client' -import type { SVGProps } from 'react' +import { Moon, Sun } from '@sim/emcn/icons' import { useTheme } from 'next-themes' -function SunIcon(props: SVGProps) { - return ( - - - - - - - - - - - - ) -} - -function MoonIcon(props: SVGProps) { - return ( - - - - ) -} - export function ThemeToggle() { const { resolvedTheme, setTheme } = useTheme() @@ -59,8 +13,8 @@ export function ThemeToggle() { className='flex size-[30px] cursor-pointer items-center justify-center rounded-lg text-[var(--text-icon)] transition-colors hover:bg-[var(--surface-active)]' aria-label='Toggle theme' > - - + + ) } diff --git a/apps/docs/components/workflow-preview/output-bundle.tsx b/apps/docs/components/workflow-preview/output-bundle.tsx index 5224a35f348..dc956e1a84d 100644 --- a/apps/docs/components/workflow-preview/output-bundle.tsx +++ b/apps/docs/components/workflow-preview/output-bundle.tsx @@ -71,7 +71,7 @@ function TreeNode({ node, depth = 0 }: { node: OutputNode; depth?: number }) { diff --git a/apps/sim/app/(landing)/components/landing-preview/components/landing-preview-chat/chat-title-bar.tsx b/apps/sim/app/(landing)/components/landing-preview/components/landing-preview-chat/chat-title-bar.tsx index 24f3390d52a..17dd60f43f6 100644 --- a/apps/sim/app/(landing)/components/landing-preview/components/landing-preview-chat/chat-title-bar.tsx +++ b/apps/sim/app/(landing)/components/landing-preview/components/landing-preview-chat/chat-title-bar.tsx @@ -31,7 +31,7 @@ export function LandingPreviewChatTitleBar({ {showClose && ( diff --git a/apps/sim/app/(landing)/components/landing-preview/components/landing-preview-home/landing-preview-home.tsx b/apps/sim/app/(landing)/components/landing-preview/components/landing-preview-home/landing-preview-home.tsx index d2eabfdd3b7..973c0bc26b4 100644 --- a/apps/sim/app/(landing)/components/landing-preview/components/landing-preview-home/landing-preview-home.tsx +++ b/apps/sim/app/(landing)/components/landing-preview/components/landing-preview-home/landing-preview-home.tsx @@ -200,7 +200,7 @@ export const LandingPreviewHome = memo(function LandingPreviewHome({ Sim
Suggested actions - +
Shuffle @@ -411,7 +411,7 @@ function MiniTablePanel() { {col.label} - +
) diff --git a/apps/sim/app/(landing)/components/landing-preview/components/landing-preview-sidebar/landing-preview-sidebar.tsx b/apps/sim/app/(landing)/components/landing-preview/components/landing-preview-sidebar/landing-preview-sidebar.tsx index e46c51a749e..8bc0be0f553 100644 --- a/apps/sim/app/(landing)/components/landing-preview/components/landing-preview-sidebar/landing-preview-sidebar.tsx +++ b/apps/sim/app/(landing)/components/landing-preview/components/landing-preview-sidebar/landing-preview-sidebar.tsx @@ -97,7 +97,7 @@ export function LandingPreviewSidebar({ Superark - + diff --git a/apps/sim/app/(landing)/components/landing-preview/components/landing-preview-tables/landing-preview-tables.tsx b/apps/sim/app/(landing)/components/landing-preview/components/landing-preview-tables/landing-preview-tables.tsx index 783cded98fc..c9986d6c587 100644 --- a/apps/sim/app/(landing)/components/landing-preview/components/landing-preview-tables/landing-preview-tables.tsx +++ b/apps/sim/app/(landing)/components/landing-preview/components/landing-preview-tables/landing-preview-tables.tsx @@ -444,7 +444,7 @@ function SpreadsheetView({ tableId, tableName, onBack }: SpreadsheetViewProps) { / {tableName} - + @@ -470,7 +470,7 @@ function SpreadsheetView({ tableId, tableName, onBack }: SpreadsheetViewProps) { {col.label} - + ) diff --git a/apps/sim/app/(landing)/enterprise/components/enterprise-platform-loop/enterprise-home-stage.tsx b/apps/sim/app/(landing)/enterprise/components/enterprise-platform-loop/enterprise-home-stage.tsx index 1c42915fe59..c736b61c95c 100644 --- a/apps/sim/app/(landing)/enterprise/components/enterprise-platform-loop/enterprise-home-stage.tsx +++ b/apps/sim/app/(landing)/enterprise/components/enterprise-platform-loop/enterprise-home-stage.tsx @@ -217,7 +217,7 @@ export function EnterpriseHomeStage({
Suggested actions - + Shuffle diff --git a/apps/sim/app/(landing)/enterprise/components/enterprise-platform-loop/enterprise-sidebar.tsx b/apps/sim/app/(landing)/enterprise/components/enterprise-platform-loop/enterprise-sidebar.tsx index 24eddcfc205..f09beaea39f 100644 --- a/apps/sim/app/(landing)/enterprise/components/enterprise-platform-loop/enterprise-sidebar.tsx +++ b/apps/sim/app/(landing)/enterprise/components/enterprise-platform-loop/enterprise-sidebar.tsx @@ -126,7 +126,7 @@ export const EnterpriseSidebar = memo(function EnterpriseSidebar({ className='size-[16px] flex-shrink-0 rounded-sm' /> {workspaceName} - +
diff --git a/apps/sim/app/(landing)/tables/components/tables-hero-loop.tsx b/apps/sim/app/(landing)/tables/components/tables-hero-loop.tsx index 081ef8aec8d..68ab98a639d 100644 --- a/apps/sim/app/(landing)/tables/components/tables-hero-loop.tsx +++ b/apps/sim/app/(landing)/tables/components/tables-hero-loop.tsx @@ -294,7 +294,7 @@ function TablesGridPane({ rowCount, filledCount }: TablesGridPaneProps) { / Leads - + @@ -319,7 +319,7 @@ function TablesGridPane({ rowCount, filledCount }: TablesGridPaneProps) { {column.label} - + ) diff --git a/apps/sim/app/workspace/[workspaceId]/home/components/message-content/components/agent-group/agent-group.tsx b/apps/sim/app/workspace/[workspaceId]/home/components/message-content/components/agent-group/agent-group.tsx index 66774054cc6..012158e64f5 100644 --- a/apps/sim/app/workspace/[workspaceId]/home/components/message-content/components/agent-group/agent-group.tsx +++ b/apps/sim/app/workspace/[workspaceId]/home/components/message-content/components/agent-group/agent-group.tsx @@ -112,7 +112,7 @@ export function AgentGroup({ )} diff --git a/apps/sim/app/workspace/[workspaceId]/home/components/message-content/components/question/question.tsx b/apps/sim/app/workspace/[workspaceId]/home/components/message-content/components/question/question.tsx index 44b27dba5ff..5756f57c72f 100644 --- a/apps/sim/app/workspace/[workspaceId]/home/components/message-content/components/question/question.tsx +++ b/apps/sim/app/workspace/[workspaceId]/home/components/message-content/components/question/question.tsx @@ -268,7 +268,7 @@ export function QuestionDisplay({ 'before:absolute before:inset-[-8px] before:content-[""] disabled:opacity-50' )} > - + Previous question @@ -286,7 +286,7 @@ export function QuestionDisplay({ 'before:absolute before:inset-[-8px] before:content-[""] disabled:opacity-50' )} > - + Next question diff --git a/apps/sim/app/workspace/[workspaceId]/home/components/message-content/components/special-tags/special-tags.tsx b/apps/sim/app/workspace/[workspaceId]/home/components/message-content/components/special-tags/special-tags.tsx index 6372643c46f..67708c96aee 100644 --- a/apps/sim/app/workspace/[workspaceId]/home/components/message-content/components/special-tags/special-tags.tsx +++ b/apps/sim/app/workspace/[workspaceId]/home/components/message-content/components/special-tags/special-tags.tsx @@ -1383,7 +1383,7 @@ function OptionsDisplay({ data, onSelect }: OptionsDisplayProps) { Suggested follow-ups diff --git a/apps/sim/app/workspace/[workspaceId]/home/components/suggested-actions/suggested-actions.tsx b/apps/sim/app/workspace/[workspaceId]/home/components/suggested-actions/suggested-actions.tsx index 8a78cf03537..8641b9b5eab 100644 --- a/apps/sim/app/workspace/[workspaceId]/home/components/suggested-actions/suggested-actions.tsx +++ b/apps/sim/app/workspace/[workspaceId]/home/components/suggested-actions/suggested-actions.tsx @@ -362,7 +362,7 @@ export function SuggestedActions({ onSelectPrompt }: SuggestedActionsProps) { */} - + diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/connection-blocks/components/field-item/field-item.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/connection-blocks/components/field-item/field-item.tsx index a88b1726e19..bc82dbf7f57 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/connection-blocks/components/field-item/field-item.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/connection-blocks/components/field-item/field-item.tsx @@ -104,7 +104,7 @@ export function FieldItem({ {hasChildren && ( = { */ const STYLES = { row: 'group flex min-h-[30px] cursor-pointer items-center gap-2 rounded-lg px-2 -mx-2 hover-hover:bg-[var(--surface-active)]', - chevron: - 'h-[7px] w-[9px] flex-shrink-0 text-[var(--text-muted)] transition-transform duration-100', + chevron: 'size-[14px] flex-shrink-0 text-[var(--text-muted)] transition-transform duration-100', keyName: 'text-sm text-[var(--text-primary)]', badge: 'rounded-sm px-1 py-[0px] text-xs', summary: 'text-sm text-[var(--text-secondary)]', diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/terminal/components/toggle-button/toggle-button.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/terminal/components/toggle-button/toggle-button.tsx index c23902878da..b33dbab6314 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/terminal/components/toggle-button/toggle-button.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/terminal/components/toggle-button/toggle-button.tsx @@ -24,7 +24,7 @@ export const ToggleButton = memo(function ToggleButton({ isExpanded, onClick }: > diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/terminal/terminal.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/terminal/terminal.tsx index bdba4bacde1..5a4e1c9a7b4 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/terminal/terminal.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/terminal/terminal.tsx @@ -216,7 +216,7 @@ const IterationNodeRow = memo(function IterationNodeRow({ {hasChildren && ( @@ -326,7 +326,7 @@ const SubflowNodeRow = memo(function SubflowNodeRow({ {hasChildren && ( @@ -453,7 +453,7 @@ const WorkflowNodeRow = memo(function WorkflowNodeRow({ {hasChildren && ( diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/workflow-controls/workflow-controls.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/workflow-controls/workflow-controls.tsx index 0b41a7caf2b..c57b08ea2ff 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/workflow-controls/workflow-controls.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/workflow-controls/workflow-controls.tsx @@ -113,7 +113,7 @@ export const WorkflowControls = memo(function WorkflowControls() { diff --git a/apps/sim/app/workspace/[workspaceId]/w/components/preview/components/preview-editor/preview-editor.tsx b/apps/sim/app/workspace/[workspaceId]/w/components/preview/components/preview-editor/preview-editor.tsx index 130096badc6..610365f9bac 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/components/preview/components/preview-editor/preview-editor.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/components/preview/components/preview-editor/preview-editor.tsx @@ -468,7 +468,7 @@ function ConnectionsSection({ diff --git a/apps/sim/ee/workspace-forking/components/fork-file-tree/fork-file-tree.tsx b/apps/sim/ee/workspace-forking/components/fork-file-tree/fork-file-tree.tsx index 76fa5a5e2b1..695edefa6c9 100644 --- a/apps/sim/ee/workspace-forking/components/fork-file-tree/fork-file-tree.tsx +++ b/apps/sim/ee/workspace-forking/components/fork-file-tree/fork-file-tree.tsx @@ -142,7 +142,7 @@ function ForkFileFolderRow({ diff --git a/apps/sim/ee/workspace-forking/components/fork-resource-picker/fork-resource-picker.tsx b/apps/sim/ee/workspace-forking/components/fork-resource-picker/fork-resource-picker.tsx index 9762d82e74d..3a6ddd0f7cc 100644 --- a/apps/sim/ee/workspace-forking/components/fork-resource-picker/fork-resource-picker.tsx +++ b/apps/sim/ee/workspace-forking/components/fork-resource-picker/fork-resource-picker.tsx @@ -74,7 +74,7 @@ export function ResourceKindRow({ @@ -169,7 +169,7 @@ export function FileKindRow({ diff --git a/apps/sim/ee/workspace-forking/components/fork-sync/fork-sync-view.tsx b/apps/sim/ee/workspace-forking/components/fork-sync/fork-sync-view.tsx index 02e22593e73..0423b05b3f8 100644 --- a/apps/sim/ee/workspace-forking/components/fork-sync/fork-sync-view.tsx +++ b/apps/sim/ee/workspace-forking/components/fork-sync/fork-sync-view.tsx @@ -473,7 +473,7 @@ function MappingKindRow({ controller, group, summary }: MappingKindRowProps) { diff --git a/packages/emcn/src/components/chip-date-picker/chip-date-picker.tsx b/packages/emcn/src/components/chip-date-picker/chip-date-picker.tsx index b131ccee387..11f8de5a6ce 100644 --- a/packages/emcn/src/components/chip-date-picker/chip-date-picker.tsx +++ b/packages/emcn/src/components/chip-date-picker/chip-date-picker.tsx @@ -124,7 +124,7 @@ const ChipDatePicker = forwardRef( aria-hidden className='inline-flex size-[16px] flex-shrink-0 items-center justify-center text-[var(--text-icon)]' > - + )} diff --git a/packages/emcn/src/components/chip-dropdown/chip-dropdown.tsx b/packages/emcn/src/components/chip-dropdown/chip-dropdown.tsx index 6173e1ed96d..e9360eecf26 100644 --- a/packages/emcn/src/components/chip-dropdown/chip-dropdown.tsx +++ b/packages/emcn/src/components/chip-dropdown/chip-dropdown.tsx @@ -139,7 +139,7 @@ type ChipDropdownProps = ChipDropdownSingleProps | ChipDropdownMultiProps * * The trigger reuses `chipVariants` for visual parity with `Chip`. The label * is `flex-1`, so the trailing chevron is pushed flush right. The chevron is - * owned by the component and rendered at `h-[6px] w-[10px]` (matching the + * owned by the component and rendered at `size-[14px]` (matching the * workspace-header chevron) — there is intentionally no `rightIcon` prop. The * trigger and menu shell are identical across modes; only the selection * semantics (label, item handlers, open state, search) branch on `multiple`. @@ -318,7 +318,7 @@ const ChipDropdown = forwardRef( {displayLabel} - + diff --git a/packages/emcn/src/components/chip-select/chip-select.tsx b/packages/emcn/src/components/chip-select/chip-select.tsx index fd528fe6913..2602d07f678 100644 --- a/packages/emcn/src/components/chip-select/chip-select.tsx +++ b/packages/emcn/src/components/chip-select/chip-select.tsx @@ -240,7 +240,7 @@ export function ChipSelect({ aria-hidden className='inline-flex size-[16px] flex-shrink-0 items-center justify-center text-[var(--text-icon)]' > - + diff --git a/packages/emcn/src/components/chip/chip-chevron.tsx b/packages/emcn/src/components/chip/chip-chevron.tsx index aaafd4b0587..5fd6640b44a 100644 --- a/packages/emcn/src/components/chip/chip-chevron.tsx +++ b/packages/emcn/src/components/chip/chip-chevron.tsx @@ -28,7 +28,7 @@ export function ChipChevronDown({ className }: ChipChevronDownProps) { className )} > - + ) } diff --git a/packages/emcn/src/components/dropdown-menu/dropdown-menu.tsx b/packages/emcn/src/components/dropdown-menu/dropdown-menu.tsx index 39bffd11bd8..220c61fb684 100644 --- a/packages/emcn/src/components/dropdown-menu/dropdown-menu.tsx +++ b/packages/emcn/src/components/dropdown-menu/dropdown-menu.tsx @@ -117,7 +117,7 @@ const DropdownMenuSubTrigger = React.forwardRef< {...props} > {children} - + ) }) diff --git a/packages/emcn/src/components/time-picker/time-picker.tsx b/packages/emcn/src/components/time-picker/time-picker.tsx index 8b6ccb0bfaa..7efcea48a3c 100644 --- a/packages/emcn/src/components/time-picker/time-picker.tsx +++ b/packages/emcn/src/components/time-picker/time-picker.tsx @@ -240,7 +240,7 @@ const TimePicker = React.forwardRef( diff --git a/packages/emcn/src/icons/chevron-down.tsx b/packages/emcn/src/icons/chevron-down.tsx index 7a85e52f3bd..ab99f55ed71 100644 --- a/packages/emcn/src/icons/chevron-down.tsx +++ b/packages/emcn/src/icons/chevron-down.tsx @@ -1,28 +1,25 @@ import type { SVGProps } from 'react' /** - * ChevronDown icon component + * ChevronDown icon component - single chevron pointing down * @param props - SVG properties including className, fill, etc. */ export function ChevronDown(props: SVGProps) { return ( ) } diff --git a/packages/emcn/src/icons/chevron-left.tsx b/packages/emcn/src/icons/chevron-left.tsx index f79b8280e7f..907b924f056 100644 --- a/packages/emcn/src/icons/chevron-left.tsx +++ b/packages/emcn/src/icons/chevron-left.tsx @@ -1,28 +1,25 @@ import type { SVGProps } from 'react' /** - * ChevronLeft icon component + * ChevronLeft icon component - single chevron pointing left * @param props - SVG properties including className, fill, etc. */ export function ChevronLeft(props: SVGProps) { return ( ) } diff --git a/packages/emcn/src/icons/chevron-right.tsx b/packages/emcn/src/icons/chevron-right.tsx index 2f2a591ae87..4197e20aaad 100644 --- a/packages/emcn/src/icons/chevron-right.tsx +++ b/packages/emcn/src/icons/chevron-right.tsx @@ -1,28 +1,25 @@ import type { SVGProps } from 'react' /** - * ChevronRight icon component + * ChevronRight icon component - single chevron pointing right * @param props - SVG properties including className, fill, etc. */ export function ChevronRight(props: SVGProps) { return ( ) } diff --git a/packages/emcn/src/icons/folder-input.tsx b/packages/emcn/src/icons/folder-input.tsx index 022eecc6cf7..1b15bd3371e 100644 --- a/packages/emcn/src/icons/folder-input.tsx +++ b/packages/emcn/src/icons/folder-input.tsx @@ -21,14 +21,14 @@ export function FolderInput(props: SVGProps) { From daf1b80779cb9697b4225a71c102671a197d769e Mon Sep 17 00:00:00 2001 From: Waleed Latif Date: Tue, 4 Aug 2026 12:32:23 -0700 Subject: [PATCH 2/2] docs(emcn): correct the chevron geometry left in two comments ChipChevronDown's TSDoc still described centring a 10x6 glyph, and the enterprise sidebar's chip-parity comment still cited a 6x10 chevron. Both now read 14px, matching what the components actually render. --- .../components/enterprise-platform-loop/enterprise-sidebar.tsx | 2 +- packages/emcn/src/components/chip/chip-chevron.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/sim/app/(landing)/enterprise/components/enterprise-platform-loop/enterprise-sidebar.tsx b/apps/sim/app/(landing)/enterprise/components/enterprise-platform-loop/enterprise-sidebar.tsx index f09beaea39f..1587e6a16e2 100644 --- a/apps/sim/app/(landing)/enterprise/components/enterprise-platform-loop/enterprise-sidebar.tsx +++ b/apps/sim/app/(landing)/enterprise/components/enterprise-platform-loop/enterprise-sidebar.tsx @@ -110,7 +110,7 @@ export const EnterpriseSidebar = memo(function EnterpriseSidebar({
{/* Workspace header, matching the real product's WorkspaceHeader chip (borderless `chipVariants()` geometry: h-[30px] rounded-lg px-2 with - mx-0.5, 16px logo, text-sm name, 6x10 chevron) and therefore the + mx-0.5, 16px logo, text-sm name, 14px chevron) and therefore the homepage's baked sidebar pixels - logo + name + chevron as a bare row, panel toggle right-aligned outside it. */}
diff --git a/packages/emcn/src/components/chip/chip-chevron.tsx b/packages/emcn/src/components/chip/chip-chevron.tsx index 5fd6640b44a..82c1fbd338b 100644 --- a/packages/emcn/src/components/chip/chip-chevron.tsx +++ b/packages/emcn/src/components/chip/chip-chevron.tsx @@ -8,7 +8,7 @@ interface ChipChevronDownProps { /** * Canonical trailing chevron adornment for chip-style dropdown triggers — a - * 16px hidden-from-AT slot centering the 10×6 {@link ChevronDown} glyph in + * 16px hidden-from-AT slot centering the 14px {@link ChevronDown} glyph in * `--text-icon`, matching the chevron `ChipDropdown` owns internally. Use it * inside hand-built `chipVariants` triggers (breadcrumb dropdowns, header * "New column"-style buttons) instead of re-deriving the span + icon markup.