Skip to content
PluginStats

@jordandavila/fluid-canvas weekly downloads statistics

By jordandavila · npm · Tailwind plugins

Proportional canvas design system for Tailwind CSS — poster scaling from your Figma frame, with rem floors and a user text-size multiplier. Ships a v3 plugin and a v4 CSS-first build from one source of truth.

View on npm Fresh · Oct 17, 2026

@jordandavila/fluid-canvas has 3 recorded weekly downloads on npm, a decrease of 57.1% over the past 30 days.

It ranks #2120 of 2,251 tracked npm listings by weekly downloads.

PluginStats has 121 daily observations since Jun 19, 2026; the latest is from Oct 17, 2026.

Weekly downloads
3
Official API · Oct 17, 2026
7-day growth
-40.0%
-2 weekly downloads
30-day growth
-57.1%
-4 weekly downloads
90-day growth
—
Insufficient history
Rank
#2120
Among tracked npm listings

About @jordandavila/fluid-canvas

@jordandavila/fluid-canvas

Proportional canvas design system for Tailwind CSS. Author every measurement in design px straight from the Figma frame; the composition scales like a poster. One package, two builds — a Tailwind v3 plugin and a **Tailwind v4 CSS-first** build — kept identical by a parity check that runs on every release.

p-u-24 is exactly 24px at the 1920 frame and proportional everywhere else. No clamp ramps, no per-breakpoint overrides.

Type roles split into a fixed rem part and a scaling part, which is what keeps browser zoom working (measured 1.75× growth on body at 200%, where a purely viewport-derived size grows not at all) and collapses the breakpoint seam to +0.2% on h1. The width canvas reads cqi, so a component inside a container-type: inline-size ancestor scales to that ancestor, not the window.

Install

tailwindcss is a peer dependency: ^3.4.0 || ^4.0.0.

Tailwind v4 — CSS only

Tailwind v3 — plugin

Either way you get the same class names:

Entry points

| Import | Build | Notes |

| @jordandavila/fluid-canvas | v4 CSS | the default — v4 is CSS-first, so this is a stylesheet | | @jordandavila/fluid-canvas/v4 | v4 CSS | explicit alias of the above | | @jordandavila/fluid-canvas/v4/canvas.css | v4 CSS | engine only, bring your own tokens | | @jordandavila/fluid-canvas/v4/tokens.css | v4 CSS | tokens only | | @jordandavila/fluid-canvas/v4/utilities/*.css | v4 CSS | individual utility groups | | @jordandavila/fluid-canvas/v3 | JS plugin | dual ESM + CJS, typed | | @jordandavila/fluid-canvas/runtime/text-scale | JS | --ui-text-scale control, shared by both |

The root export is a stylesheet, not JavaScript. `import x from '@jordandavila/fluid-canvas'` in a Node script will not do what you want — v3 users always go through /v3.

Demos

Two runnable demos rendering identical markup, one per Tailwind major — a live instrument panel, a type specimen that lights up each rem floor as it engages, and the text-size control wired to the shipped runtime.

See demos/README.md.

Documentation

• v3 guide — plugin options, presets, the bare-value map • v4 guide — file map, @theme tokens, composing partials

Both cover the type-scale modes, the floor table, the full utility surface, and the accessibility story. Start with whichever Tailwind you are on.

Why one package for two Tailwind majors

The alternative is two packages (-v3 / -v4 suffixes) or two release lines on different majors. Both were rejected:

• A suffix reads like the package's own version. fluid-canvas-v3@2.1.0 is a genuinely confusing string. • Two release lines mean backporting every fix, and nothing mechanically guarantees the two stay in sync.

Shipping both from one tree makes the parity guarantee real: prepublishOnly compiles the same fixture through Tailwind v3 and Tailwind v4 and refuses to publish unless every class rule and every token variable resolves identically. The cost is a few unused KB in node_modules for whichever build you skip.

Versioning

The package version tracks this system, not Tailwind. 1.x supports Tailwind 3.4+ and 4.x simultaneously. Dropping a Tailwind major is a breaking change and would be a major bump here — it will not be signalled by the package name.

Relationship to @jordandavila/tailwind-fluid

Separate package, separate system. That one scales against a per-breakpoint Figma frame and uses *-fluid-* class names; this one is a poster model with *-u-* / *-uh-* names. Neither replaces the other and no migration is implied.

Development

The v4 fixture lives in test/v4 with its own node_modules. That is deliberate: Tailwind 3 and Tailwind 4 both provide a tailwindcss binary, so they cannot share one install without a bin collision. The root install pins Tailwind 3 (it is also the type source for the plugin) and test/v4 nests Tailwind 4.

Publishing

The package is scoped, so publishConfig.access is set to public — without it npm would attempt a restricted (paid) publish.

License

ISC © Jordan Davila

Description from the npm listing.

  • tailwindcss
  • tailwindcss-plugin
  • tailwind-v4
  • design-system
  • design-tokens
  • fluid-typography
  • responsive
  • figma
  • accessibility
  • wcag

Where @jordandavila/fluid-canvas sits in the listing

Each band is one page of 20. Weekly downloads on a log scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.

All npm2,248 listings · 113 pages · page 107, #1 (overall #2121)
All npm: every listing in weekly downloads order
PNG SVG
Tailwind plugins251 listings · 13 pages · page 11, #19 (overall #219)
Tailwind plugins: every listing in weekly downloads order
PNG SVG

Charts

Images: 30d · 1y · all time · 1600×900 dark

Adoption over time

@jordandavila/fluid-canvas weekly downloads on npm, last 90 days: 3 weekly downloads as of Oct 17, 2026.@jordandavila/fluid-canvasWeekly downloads on npm · Last 90 days3downloads / week020406080100120140160Jul 19Aug 3Aug 18Sep 2Sep 17Oct 2Oct 17downloads / weekobservedarchived (Internet Archive)no observationsJul 20, 2026 – Oct 17, 2026 · 90 observations · Updated Oc…pluginstats.com
@jordandavila/fluid-canvas weekly downloads on npm, last 90 days: 3 weekly downloads as of Oct 17, 2026.
PNG SVG

7/30/90-day growth

@jordandavila/fluid-canvas weekly downloads growth on npm: -40.0% over 7 days, -57.1% over 30 days, 90-day growth unavailable.@jordandavila/fluid-canvasWeekly downloads growth on npm3downloads / week now7-day growth-2 weekly downloads-40.0%30-day growth-4 weekly downloads-57.1%90-day growth+3 weekly downloadsInsufficient historyGrowth vs. nearest observation to each baseline date · Updated Oct 17, 2026pluginstats.com
@jordandavila/fluid-canvas weekly downloads growth on npm: -40.0% over 7 days, -57.1% over 30 days, 90-day growth unavailable.
PNG SVG

Ranking history

@jordandavila/fluid-canvas npm ranking history: currently #2120 (by weekly downloads).@jordandavila/fluid-canvasnpm ranking · by weekly downloads · Last 90 days#2120current rank#2118#2119#2120#2121#2122Jul 20Aug 4Aug 19Sep 3Sep 18Oct 3Oct 18rankOct 18, 2026 – Oct 18, 2026 · 1 observations · Updated Oct 17, 2026pluginstats.com
@jordandavila/fluid-canvas npm ranking history: currently #2120 (by weekly downloads).
PNG SVG

Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.

Recent observations

Full history (121)
Recent weekly downloads observations for @jordandavila/fluid-canvas
Date (UTC)Weekly downloadsChange vs. previous
3-1
4-1
5-1
6-1
70
7+1
6+1
5+1
40
40
4+1
30
3+1
2—

Similar npm Tailwind plugins plugins

Data source

Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.

Listing: https://www.npmjs.com/package/@jordandavila/fluid-canvas. First seen Oct 16, 2026; last successful collection Oct 18, 2026. See the methodology.