Repository navigation
Prepare @syncedco/flow 0.5.0: fix invisible borders, dead space/divide, screen heights; add common utilities - #2
Merged
Conversation
Fix border width utilities drawing nothing by also setting a line style, and fix space-* and divide-* doing nothing outside include-core output by generating child rules per class. Make `screen` sizes follow their axis so height utilities use the viewport height, and add dvh/dvw/lvh/lvw keywords. Add common utilities AI tools and developers reach for: border and divide styles, divide colours, order, grid line placement, justify-items/self, background size/position/repeat, object position, transform origin, font-serif, text-ellipsis, blur, and more transition and animation classes. Make lint hints safer: prefer Flow's own sf- class, suggest the same utility with a valid value, and only suggest near typos. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Release 0.5.0. Fixes three bugs that affect every Flow project, adds common utilities that AI tools and developers expect, and makes lint hints safer.
Fixes
border,border-t,border-2,border-xand the other width utilities only set a width, and there is noborder-styleanywhere in Flow, so browsers drew no line. They now also setborder-style: solid.space-*anddivide-*did nothing in the default (non include-core) setup used by the Next, Vite and Astro presets. They only set a variable that no rule used. They now generate their own> * + *child rules, for any value (space-y-7works too). The old fixed-list static rules are removed.h-screen/min-h-screen/max-h-screenused the viewport width (100svw). Height-axis utilities (h,min-h,max-h,top,bottom,translate-y) now use100svh;size-screensets100svw×100svh.Added
dvh,dvw,lvh,lvwsizing keywords (min-h-dvh).border-dashed|dotted|double|hidden|none,divide-<colour>,divide-<style>,divide-x-2.order-*,col-start-*,col-end-*,row-start-*,row-end-*,justify-items-*,justify-self-*,flex-initial,max-w-none,max-h-none.bg-cover|contain|auto,bg-<position>,bg-no-repeatand other repeat values,bg-fixed|local|scroll,bg-linear-to-*,bg-none,object-<position>,origin-*.font-serif,text-ellipsis,text-clip,blur,transition-opacity|shadow|none,animate-ping|bounce|none.A 327-class sample of common utility classes went from 29 unsupported to 4; the remaining 4 (
container,prose,text-balance,text-pretty) are intentional and now hint to theirsf-equivalents.Lint hints
prose→sf-prose).h-scren→h-screen, previouslyhidden).max-w-none→max-w-min,border-dashed→border-card).Upgrade note
Sites that used
border*orspace-*/divide-*classes will start showing those lines and gaps after upgrading. That is the intended behaviour, but it is visible, hence the minor version bump.Test plan
pnpm build:types && pnpm check:generated && pnpm check && pnpm test(57/57 unit tests, 4 new)pnpm test:browser(15/15 Chromium)npm pack --dry-run(0.5.0, 93 files)border border-dashedrenders a 1px dashed border;space-y-4 divide-ychildren get a 16px gap and a 1px solid divider🤖 Generated with Claude Code