JSPM

@spencerwmiles/tailwind-font-variations

0.0.3
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 2
  • Score
    100M100P100Q42647F
  • License MIT

Tailwind CSS v4 utilities for variable fonts with variation-setting-* namespace. Compatible with tailwind-merge.

Package Exports

  • @spencerwmiles/tailwind-font-variations
  • @spencerwmiles/tailwind-font-variations/src/font-variations.css

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@spencerwmiles/tailwind-font-variations) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Tailwind Font Variations

Tailwind CSS v4 utilities for variable fonts with variation-setting-* namespace. Compatible with tailwind-merge.

Installation

npm install @spencerwmiles/tailwind-font-variations

Setup

Import the CSS in your main stylesheet:

@import '@spencerwmiles/tailwind-font-variations';

Usage

Weight Axis (wght)

<!-- Theme values -->
<p class="variation-setting-wght-300">Light text</p>
<p class="variation-setting-wght-400">Normal text</p>
<p class="variation-setting-wght-700">Bold text</p>

<!-- Arbitrary values -->
<p class="variation-setting-wght-[450]">Custom weight</p>

Width Axis (wdth)

<!-- Theme values -->
<p class="variation-setting-wdth-75">Condensed (75%)</p>
<p class="variation-setting-wdth-100">Normal width (100%)</p>
<p class="variation-setting-wdth-125">Expanded (125%)</p>

<!-- Arbitrary values -->
<p class="variation-setting-wdth-[110%]">Custom width</p>

Slant Axis (slnt)

<!-- Theme values -->
<p class="variation-setting-slnt-0">No slant</p>
<p class="variation-setting-slnt-6">6° slant</p>
<p class="variation-setting-slnt-15">15° slant</p>

<!-- Negative slant -->
<p class="-variation-setting-slnt-6">-6° slant</p>

<!-- Arbitrary values -->
<p class="variation-setting-slnt-[8]">8° slant</p>
<p class="-variation-setting-slnt-[10]">-10° slant</p>

Italic Axis (ital)

<p class="variation-setting-ital">Italic on</p>
<p class="variation-setting-no-ital">Italic off</p>

Optical Size Axis (opsz)

<!-- Theme values -->
<p class="variation-setting-opsz-12">Small optical size</p>
<p class="variation-setting-opsz-24">Medium optical size</p>
<p class="variation-setting-opsz-48">Large optical size</p>

<!-- Arbitrary values -->
<p class="variation-setting-opsz-[18]">Custom optical size</p>

Grade Axis (GRAD)

<!-- Theme values -->
<p class="variation-setting-GRAD--25">Low emphasis</p>
<p class="variation-setting-GRAD-0">Normal</p>
<p class="variation-setting-GRAD-200">High emphasis</p>

<!-- Negative grades -->
<p class="-variation-setting-GRAD-50">-50 grade</p>

<!-- Arbitrary values -->
<p class="variation-setting-GRAD-[75]">Custom grade</p>

Custom Axes

For any variable font axis not covered by specific utilities:

<!-- Custom axis with arbitrary name and value -->
<p class="variation-setting-SOFT-[0.7]">Softness axis</p>
<p class="variation-setting-WONK-[1]">Wonky axis</p>
<p class="variation-setting-TEMP-[500]">Temperature axis</p>

Combining Multiple Axes

Multiple font variation utilities stack naturally:

<!-- Simple combinations -->
<p class="variation-setting-wght-700 variation-setting-wdth-75">
  Bold + Condensed
</p>

<!-- Complex combinations -->
<h1 class="variation-setting-wght-800 variation-setting-wdth-125 variation-setting-GRAD-100 variation-setting-opsz-48">
  Heavy + Expanded + High Grade + Large Optical Size
</h1>

<!-- With slant and arbitrary values -->
<p class="variation-setting-wght-600 variation-setting-slnt-6 variation-setting-GRAD-[75]">
  Semibold + 6° Slant + Custom Grade
</p>

Transitions

Smooth animations between font variation states using Tailwind's transition system:

<!-- Basic font variation transitions -->
<p class="transition-font-variations duration-300 ease-in-out hover:variation-setting-wght-700">
  Smooth weight transition on hover
</p>

<p class="transition-font-variations duration-500 ease-out hover:variation-setting-wdth-125">
  Slow width transition on hover
</p>

<!-- Combine with other transition properties -->
<p class="transition-all transition-font-variations hover:variation-setting-wght-700 hover:scale-110">
  Transition font variations and transform together
</p>

<!-- Complex hover effects -->
<p class="transition-font-variations duration-200 hover:variation-setting-wght-700 hover:variation-setting-GRAD-100">
  Weight and grade change on hover
</p>

Reset Utility

Reset all font variations to default:

<p class="variation-setting-wght-700 variation-setting-wdth-75 variation-setting-reset">
  All variations reset to normal
</p>

Responsive Design

Use with Tailwind's responsive prefixes:

<p class="variation-setting-wght-400 md:variation-setting-wght-700 lg:variation-setting-wght-900">
  Responsive weight changes
</p>

<p class="variation-setting-wdth-75 sm:variation-setting-wdth-100 lg:variation-setting-wdth-125">
  Responsive width changes
</p>

Supported Axes

  • wght (Weight): 100-900, controls font weight
  • wdth (Width): 50%-200%, controls font width/stretch
  • slnt (Slant): -15° to 15°, controls font slant
  • ital (Italic): 0-1, controls italic on/off
  • opsz (Optical Size): 8-144pt, optimizes for display size
  • GRAD (Grade): -200 to 300, controls emphasis/thickness
  • CASL (Casual): 0-1, casual style axis
  • CRSV (Cursive): 0-1, cursive style axis
  • MONO (Monospace): 0-1, monospace axis
  • Plus support for any custom axes

License

MIT License - see LICENSE file for details.