From 04c4d8e2f3bc26b09fb767784d84daae51f920ce Mon Sep 17 00:00:00 2001 From: Waleed Latif Date: Sat, 1 Aug 2026 11:43:44 -0700 Subject: [PATCH] fix(styles): restore transition timing Tailwind was silently dropping MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `tailwindcss-animate` adds a `duration-*` utility for `animation-duration`, which collides with core's `transition-duration`. For a named value Tailwind emits both rules, but for an arbitrary value it cannot pick one — so it drops the class entirely and warns. The result is 52 usages across 13 files that produced **no CSS at all**. Elements marked `transition-transform duration-[1700ms] ease-[cubic-bezier(0.22,1,0.36,1)]` had neither a duration nor an easing function: they snapped instead of animating. Most of it is the landing hero. Verified by compiling the stylesheet on both sides: transition-duration: 1700ms before=0 after=1 transition-duration: 420ms before=0 after=1 transition-duration: 175ms before=0 after=1 transition-timing-function: cubic-bezier(0.22,1,0.36,1) before=0 after=1 transition-timing-function: cubic-bezier(0.23,1,0.32,1) before=0 after=1 The stylesheet grows 1,425 bytes — exactly the rules that were missing — and the 16 ambiguity warnings on every dev start go to zero. Every usage is in a transition context (`transition-opacity`, `transition-transform`, `transition-[...]`); none sits alongside an `animate-*` utility, so `transition-duration`/`transition-timing-function` is the right half of the collision in all 52 cases. --- .../hero-platform-loop/hero-platform-loop.tsx | 2 +- .../hero-workflow-stage.tsx | 4 ++-- .../components/hero-visual/block-handles.tsx | 4 ++-- .../components/hero-visual/hero-visual.tsx | 16 ++++++++-------- .../components/hero-visual/stage-home.tsx | 19 ++++++++++--------- .../components/hero-visual/stage-workflow.tsx | 5 +++-- .../components/hero-visual/workflow-block.tsx | 2 +- .../landing-preview-chat.tsx | 4 ++-- .../navbar/components/logo-mark/logo-mark.tsx | 2 +- .../enterprise-platform-loop.tsx | 2 +- .../build-methods-graphic.tsx | 6 +++--- .../workspace-chrome/workspace-chrome.tsx | 2 +- .../mothership-view/mothership-view.tsx | 2 +- 13 files changed, 36 insertions(+), 34 deletions(-) diff --git a/apps/sim/app/(landing)/components/hero/components/hero-platform-loop/hero-platform-loop.tsx b/apps/sim/app/(landing)/components/hero/components/hero-platform-loop/hero-platform-loop.tsx index eb3d8b1c72a..9e8144d2c0d 100644 --- a/apps/sim/app/(landing)/components/hero/components/hero-platform-loop/hero-platform-loop.tsx +++ b/apps/sim/app/(landing)/components/hero/components/hero-platform-loop/hero-platform-loop.tsx @@ -163,7 +163,7 @@ export function HeroPlatformLoop() {
diff --git a/apps/sim/app/(landing)/components/hero/components/hero-platform-loop/hero-workflow-stage.tsx b/apps/sim/app/(landing)/components/hero/components/hero-platform-loop/hero-workflow-stage.tsx index 3164086c537..fc235d22e59 100644 --- a/apps/sim/app/(landing)/components/hero/components/hero-platform-loop/hero-workflow-stage.tsx +++ b/apps/sim/app/(landing)/components/hero/components/hero-platform-loop/hero-workflow-stage.tsx @@ -143,7 +143,7 @@ export function HeroWorkflowStage({ stroke='var(--workflow-edge)' strokeWidth={2} strokeLinecap='round' - className='transition-[stroke-dashoffset] duration-500 ease-[cubic-bezier(0.22,1,0.36,1)] [stroke-dasharray:1]' + className='transition-[stroke-dashoffset] duration-500 [stroke-dasharray:1] [transition-timing-function:cubic-bezier(0.22,1,0.36,1)]' style={{ strokeDashoffset: visible ? 0 : 1 } as CSSProperties} /> ) @@ -156,7 +156,7 @@ export function HeroWorkflowStage({
@@ -30,7 +30,7 @@ export function BlockHandles({ block, handlesVisible = true }: BlockHandlesProps diff --git a/apps/sim/app/(landing)/components/hero/components/hero-visual/hero-visual.tsx b/apps/sim/app/(landing)/components/hero/components/hero-visual/hero-visual.tsx index b163bf0672d..e3f46d6790a 100644 --- a/apps/sim/app/(landing)/components/hero/components/hero-visual/hero-visual.tsx +++ b/apps/sim/app/(landing)/components/hero/components/hero-visual/hero-visual.tsx @@ -962,7 +962,7 @@ export function HeroVisual() { GitHub block. FOCUS is the identity transform (block 1 centered); only the pull-out animates. */}
{showCard && (
@@ -1030,7 +1030,7 @@ export function HeroVisual() { {/* Edges (scene space, origin = panel center). Drawn as the camera follows the connection to each revealed block. */} shown ? 'translate-y-0 opacity-100 blur-0' : 'translate-y-1.5 opacity-0 blur-[3px]' @@ -220,7 +221,7 @@ export function StageHome({ morphs to a block. */}