Tinyrack

Tailwind reference

Set up Tailwind CSS with Tinyrack, choose the right utility, and search every source-derived theme mapping.

Setup

Install Tailwind CSS 4.3 or later, before Tailwind 5, and its Vite plugin in the application that consumes Tinyrack.

pnpm add -D tailwindcss@^4.3.0 @tailwindcss/vite@^4.3.0

Add the plugin to the application's Vite configuration.

import tailwindcss from '@tailwindcss/vite';
import react from '@vitejs/plugin-react';
import { defineConfig } from 'vite';

export default defineConfig({
  plugins: [react(), tailwindcss()],
});

Import Tailwind first, then Tinyrack core CSS. Import each component stylesheet separately when the component is used.

@import "tailwindcss";
@import "@tinyrack/ui/core.css";
@import "@tinyrack/ui/components/card.css";

Choose a value

  1. Choose a named tinyrack-* utility when the value represents a design-system decision such as color, type, spacing, radius, elevation, or motion.
  2. Choose a Tailwind default for incidental layout, such as grid or grid-cols-2. Use sm:, md:, and lg: for Tinyrack's viewport thresholds.
  3. Choose an arbitrary value only when a real component variable or one-off CSS value has no named utility. Do not create a second token vocabulary.

Practical example

This card uses named Tinyrack utilities for system decisions and Tailwind defaults for its layout. The example is ready to paste after the setup above.

export function ClusterHealth() {
  return (
    <section className="grid gap-tinyrack-lg rounded-tinyrack-lg border-tinyrack-default border-tinyrack-border bg-tinyrack-surface p-tinyrack-xl md:grid-cols-2">
      <h2 className="text-tinyrack-xl font-tinyrack-heading">Cluster health</h2>
      <p className="text-tinyrack-sm text-tinyrack-text-muted">
        All nodes are available.
      </p>
    </section>
  );
}

Arbitrary values

Use an arbitrary custom-property override when a public component variable has no named Tailwind utility. Keep the semantic token as the source of truth instead of copying its resolved value. For example, Card consumes --tr-card-background as an override hook.

import { TRCard } from '@tinyrack/ui/components/card';

<TRCard.Root className="[--tr-card-background:var(--tinyrack-surface-muted)]">
  ...
</TRCard.Root>

Reference

Search the mappings read from the @theme static block in Tinyrack's source core.css. Each group links to its conceptual Foundation guide. On narrow screens, each table scrolls horizontally without widening the page.

On narrow screens, scroll each table horizontally to compare every column.

Breakpoints

sm/md/lg:*

Read the foundation guide
Tailwind theme variableRuntime variable / breakpoint valueExample utility
--breakpoint-sm40remsm:grid-cols-2
--breakpoint-md48remmd:grid-cols-2
--breakpoint-lg64remlg:grid-cols-2
--breakpoint-xl80remxl:grid-cols-2

Colors

bg/text/border-tinyrack-*

Read the foundation guide
Tailwind theme variableRuntime variable / breakpoint valueExample utility
--color-tinyrack-surface--tinyrack-surfacebg-tinyrack-surface
--color-tinyrack-surface-muted--tinyrack-surface-mutedbg-tinyrack-surface-muted
--color-tinyrack-surface-hover--tinyrack-surface-hoverbg-tinyrack-surface-hover
--color-tinyrack-surface-selected--tinyrack-surface-selectedbg-tinyrack-surface-selected
--color-tinyrack-surface-pressed--tinyrack-surface-pressedbg-tinyrack-surface-pressed
--color-tinyrack-text--tinyrack-textbg-tinyrack-text
--color-tinyrack-text-muted--tinyrack-text-mutedbg-tinyrack-text-muted
--color-tinyrack-text-placeholder--tinyrack-text-placeholderbg-tinyrack-text-placeholder
--color-tinyrack-border--tinyrack-borderbg-tinyrack-border
--color-tinyrack-border-strong--tinyrack-border-strongbg-tinyrack-border-strong
--color-tinyrack-control-border--tinyrack-control-borderbg-tinyrack-control-border
--color-tinyrack-control-track--tinyrack-control-trackbg-tinyrack-control-track
--color-tinyrack-focus--tinyrack-focusbg-tinyrack-focus
--color-tinyrack-surface-inverse--tinyrack-surface-inversebg-tinyrack-surface-inverse
--color-tinyrack-text-inverse--tinyrack-text-inversebg-tinyrack-text-inverse
--color-tinyrack-border-inverse--tinyrack-border-inversebg-tinyrack-border-inverse
--color-tinyrack-skeleton-fill--tinyrack-skeleton-fillbg-tinyrack-skeleton-fill
--color-tinyrack-skeleton-highlight--tinyrack-skeleton-highlightbg-tinyrack-skeleton-highlight
--color-tinyrack-primary--tinyrack-primarybg-tinyrack-primary
--color-tinyrack-primary-hover--tinyrack-primary-hoverbg-tinyrack-primary-hover
--color-tinyrack-primary-pressed--tinyrack-primary-pressedbg-tinyrack-primary-pressed
--color-tinyrack-on-primary--tinyrack-on-primarybg-tinyrack-on-primary
--color-tinyrack-info--tinyrack-infobg-tinyrack-info
--color-tinyrack-info-hover--tinyrack-info-hoverbg-tinyrack-info-hover
--color-tinyrack-info-pressed--tinyrack-info-pressedbg-tinyrack-info-pressed
--color-tinyrack-info-surface--tinyrack-info-surfacebg-tinyrack-info-surface
--color-tinyrack-info-surface-subtle--tinyrack-info-surface-subtlebg-tinyrack-info-surface-subtle
--color-tinyrack-info-surface-hover--tinyrack-info-surface-hoverbg-tinyrack-info-surface-hover
--color-tinyrack-info-surface-pressed--tinyrack-info-surface-pressedbg-tinyrack-info-surface-pressed
--color-tinyrack-info-border--tinyrack-info-borderbg-tinyrack-info-border
--color-tinyrack-on-info--tinyrack-on-infobg-tinyrack-on-info
--color-tinyrack-success--tinyrack-successbg-tinyrack-success
--color-tinyrack-success-hover--tinyrack-success-hoverbg-tinyrack-success-hover
--color-tinyrack-success-pressed--tinyrack-success-pressedbg-tinyrack-success-pressed
--color-tinyrack-success-surface--tinyrack-success-surfacebg-tinyrack-success-surface
--color-tinyrack-success-surface-subtle--tinyrack-success-surface-subtlebg-tinyrack-success-surface-subtle
--color-tinyrack-success-surface-hover--tinyrack-success-surface-hoverbg-tinyrack-success-surface-hover
--color-tinyrack-success-surface-pressed--tinyrack-success-surface-pressedbg-tinyrack-success-surface-pressed
--color-tinyrack-success-border--tinyrack-success-borderbg-tinyrack-success-border
--color-tinyrack-on-success--tinyrack-on-successbg-tinyrack-on-success
--color-tinyrack-warning--tinyrack-warningbg-tinyrack-warning
--color-tinyrack-warning-hover--tinyrack-warning-hoverbg-tinyrack-warning-hover
--color-tinyrack-warning-pressed--tinyrack-warning-pressedbg-tinyrack-warning-pressed
--color-tinyrack-warning-surface--tinyrack-warning-surfacebg-tinyrack-warning-surface
--color-tinyrack-warning-surface-subtle--tinyrack-warning-surface-subtlebg-tinyrack-warning-surface-subtle
--color-tinyrack-warning-surface-hover--tinyrack-warning-surface-hoverbg-tinyrack-warning-surface-hover
--color-tinyrack-warning-surface-pressed--tinyrack-warning-surface-pressedbg-tinyrack-warning-surface-pressed
--color-tinyrack-warning-border--tinyrack-warning-borderbg-tinyrack-warning-border
--color-tinyrack-on-warning--tinyrack-on-warningbg-tinyrack-on-warning
--color-tinyrack-danger--tinyrack-dangerbg-tinyrack-danger
--color-tinyrack-danger-hover--tinyrack-danger-hoverbg-tinyrack-danger-hover
--color-tinyrack-danger-pressed--tinyrack-danger-pressedbg-tinyrack-danger-pressed
--color-tinyrack-danger-surface--tinyrack-danger-surfacebg-tinyrack-danger-surface
--color-tinyrack-danger-surface-subtle--tinyrack-danger-surface-subtlebg-tinyrack-danger-surface-subtle
--color-tinyrack-danger-surface-hover--tinyrack-danger-surface-hoverbg-tinyrack-danger-surface-hover
--color-tinyrack-danger-surface-pressed--tinyrack-danger-surface-pressedbg-tinyrack-danger-surface-pressed
--color-tinyrack-danger-border--tinyrack-danger-borderbg-tinyrack-danger-border
--color-tinyrack-on-danger--tinyrack-on-dangerbg-tinyrack-on-danger
--color-tinyrack-scrim--tinyrack-scrimbg-tinyrack-scrim

Typography

font/text/leading/tracking-tinyrack-*

Read the foundation guide
Tailwind theme variableRuntime variable / breakpoint valueExample utility
--font-tinyrack-body--tinyrack-font-bodyfont-tinyrack-body
--font-tinyrack-heading--tinyrack-font-headingfont-tinyrack-heading
--font-tinyrack-mono--tinyrack-font-monofont-tinyrack-mono
--text-tinyrack-2xs--tinyrack-text-2xstext-tinyrack-2xs
--text-tinyrack-2xs--line-height--tinyrack-leading-smtext-tinyrack-2xs
--text-tinyrack-xs--tinyrack-text-xstext-tinyrack-xs
--text-tinyrack-xs--line-height--tinyrack-leading-smtext-tinyrack-xs
--text-tinyrack-sm--tinyrack-text-smtext-tinyrack-sm
--text-tinyrack-sm--line-height--tinyrack-leading-mdtext-tinyrack-sm
--text-tinyrack-md--tinyrack-text-mdtext-tinyrack-md
--text-tinyrack-md--line-height--tinyrack-leading-mdtext-tinyrack-md
--text-tinyrack-lg--tinyrack-text-lgtext-tinyrack-lg
--text-tinyrack-lg--line-height--tinyrack-leading-mdtext-tinyrack-lg
--text-tinyrack-xl--tinyrack-text-xltext-tinyrack-xl
--text-tinyrack-xl--line-height--tinyrack-leading-smtext-tinyrack-xl
--text-tinyrack-2xl--tinyrack-text-2xltext-tinyrack-2xl
--text-tinyrack-2xl--line-height--tinyrack-leading-smtext-tinyrack-2xl
--text-tinyrack-3xl--tinyrack-text-3xltext-tinyrack-3xl
--text-tinyrack-3xl--line-height--tinyrack-leading-smtext-tinyrack-3xl
--text-tinyrack-4xl--tinyrack-text-4xltext-tinyrack-4xl
--text-tinyrack-4xl--line-height--tinyrack-leading-smtext-tinyrack-4xl
--text-tinyrack-5xl--tinyrack-text-5xltext-tinyrack-5xl
--text-tinyrack-5xl--line-height--tinyrack-leading-smtext-tinyrack-5xl
--text-tinyrack-6xl--tinyrack-text-6xltext-tinyrack-6xl
--text-tinyrack-6xl--line-height--tinyrack-leading-xstext-tinyrack-6xl
--leading-tinyrack-xs--tinyrack-leading-xsleading-tinyrack-xs
--leading-tinyrack-sm--tinyrack-leading-smleading-tinyrack-sm
--leading-tinyrack-md--tinyrack-leading-mdleading-tinyrack-md
--leading-tinyrack-lg--tinyrack-leading-lgleading-tinyrack-lg
--text-tinyrack-control-sm--tinyrack-control-font-size-smtext-tinyrack-control-sm
--text-tinyrack-control-sm--line-height--tinyrack-control-line-height-smtext-tinyrack-control-sm
--leading-tinyrack-control-sm--tinyrack-control-line-height-smleading-tinyrack-control-sm
--text-tinyrack-control-md--tinyrack-control-font-size-mdtext-tinyrack-control-md
--text-tinyrack-control-md--line-height--tinyrack-control-line-height-mdtext-tinyrack-control-md
--leading-tinyrack-control-md--tinyrack-control-line-height-mdleading-tinyrack-control-md
--text-tinyrack-control-lg--tinyrack-control-font-size-lgtext-tinyrack-control-lg
--text-tinyrack-control-lg--line-height--tinyrack-control-line-height-lgtext-tinyrack-control-lg
--leading-tinyrack-control-lg--tinyrack-control-line-height-lgleading-tinyrack-control-lg
--tracking-tinyrack-none--tinyrack-tracking-nonetracking-tinyrack-none
--tracking-tinyrack-md--tinyrack-tracking-mdtracking-tinyrack-md
--tracking-tinyrack-lg--tinyrack-tracking-lgtracking-tinyrack-lg
--font-weight-tinyrack-regular--tinyrack-weight-regularfont-weight-tinyrack-regular
--font-weight-tinyrack-medium--tinyrack-weight-mediumfont-weight-tinyrack-medium
--font-weight-tinyrack-heading--tinyrack-weight-headingfont-weight-tinyrack-heading
--font-weight-tinyrack-bold--tinyrack-weight-boldfont-weight-tinyrack-bold
--font-weight-tinyrack-strong--tinyrack-weight-strongfont-weight-tinyrack-strong

Spacing and controls

gap/p/m/w/h-tinyrack-*

Read the foundation guide
Tailwind theme variableRuntime variable / breakpoint valueExample utility
--spacing-tinyrack-3xs--tinyrack-space-3xsp-tinyrack-3xs
--spacing-tinyrack-xs--tinyrack-space-xsp-tinyrack-xs
--spacing-tinyrack-sm--tinyrack-space-smp-tinyrack-sm
--spacing-tinyrack-md--tinyrack-space-mdp-tinyrack-md
--spacing-tinyrack-lg--tinyrack-space-lgp-tinyrack-lg
--spacing-tinyrack-xl--tinyrack-space-xlp-tinyrack-xl
--spacing-tinyrack-2xl--tinyrack-space-2xlp-tinyrack-2xl
--spacing-tinyrack-3xl--tinyrack-space-3xlp-tinyrack-3xl
--spacing-tinyrack-control-height-sm--tinyrack-control-height-smp-tinyrack-control-height-sm
--spacing-tinyrack-control-padding-inline-sm--tinyrack-control-padding-inline-smp-tinyrack-control-padding-inline-sm
--spacing-tinyrack-control-gap-sm--tinyrack-control-gap-smp-tinyrack-control-gap-sm
--spacing-tinyrack-control-height-md--tinyrack-control-height-mdp-tinyrack-control-height-md
--spacing-tinyrack-control-padding-inline-md--tinyrack-control-padding-inline-mdp-tinyrack-control-padding-inline-md
--spacing-tinyrack-control-gap-md--tinyrack-control-gap-mdp-tinyrack-control-gap-md
--spacing-tinyrack-control-height-lg--tinyrack-control-height-lgp-tinyrack-control-height-lg
--spacing-tinyrack-control-padding-inline-lg--tinyrack-control-padding-inline-lgp-tinyrack-control-padding-inline-lg
--spacing-tinyrack-control-gap-lg--tinyrack-control-gap-lgp-tinyrack-control-gap-lg
--spacing-tinyrack-measure-xs--tinyrack-measure-xsp-tinyrack-measure-xs
--spacing-tinyrack-measure-sm--tinyrack-measure-smp-tinyrack-measure-sm
--spacing-tinyrack-measure-md--tinyrack-measure-mdp-tinyrack-measure-md
--spacing-tinyrack-measure-lg--tinyrack-measure-lgp-tinyrack-measure-lg
--spacing-tinyrack-measure-xl--tinyrack-measure-xlp-tinyrack-measure-xl
--spacing-tinyrack-control-press-distance--tinyrack-control-press-distancep-tinyrack-control-press-distance
--spacing-tinyrack-overlay-width-sm--tinyrack-overlay-width-smp-tinyrack-overlay-width-sm
--spacing-tinyrack-overlay-width-md--tinyrack-overlay-width-mdp-tinyrack-overlay-width-md
--spacing-tinyrack-overlay-inline-inset--tinyrack-overlay-inline-insetp-tinyrack-overlay-inline-inset
--spacing-tinyrack-mdx-page-width--tinyrack-mdx-page-widthp-tinyrack-mdx-page-width
--spacing-tinyrack-mdx-content-width--tinyrack-mdx-content-widthp-tinyrack-mdx-content-width
--spacing-tinyrack-mdx-page-padding-bottom--tinyrack-mdx-page-padding-bottomp-tinyrack-mdx-page-padding-bottom
--spacing-tinyrack-mdx-block-gap--tinyrack-mdx-block-gapp-tinyrack-mdx-block-gap
--spacing-tinyrack-mdx-page-padding-inline-wide--tinyrack-mdx-page-padding-inline-widep-tinyrack-mdx-page-padding-inline-wide
--spacing-tinyrack-mdx-page-padding-bottom-wide--tinyrack-mdx-page-padding-bottom-widep-tinyrack-mdx-page-padding-bottom-wide
--spacing-tinyrack-spinner-size-sm--tinyrack-spinner-size-smp-tinyrack-spinner-size-sm
--spacing-tinyrack-spinner-size-md--tinyrack-spinner-size-mdp-tinyrack-spinner-size-md
--spacing-tinyrack-spinner-size-lg--tinyrack-spinner-size-lgp-tinyrack-spinner-size-lg
--spacing-tinyrack-spinner-stroke-width--tinyrack-spinner-stroke-widthp-tinyrack-spinner-stroke-width

Containers

max-w-tinyrack-*

Read the foundation guide
Tailwind theme variableRuntime variable / breakpoint valueExample utility
--container-tinyrack-measure-xs--tinyrack-measure-xsmax-w-tinyrack-measure-xs
--container-tinyrack-measure-sm--tinyrack-measure-smmax-w-tinyrack-measure-sm
--container-tinyrack-measure-md--tinyrack-measure-mdmax-w-tinyrack-measure-md
--container-tinyrack-measure-lg--tinyrack-measure-lgmax-w-tinyrack-measure-lg
--container-tinyrack-measure-xl--tinyrack-measure-xlmax-w-tinyrack-measure-xl
--container-tinyrack-overlay-sm--tinyrack-overlay-width-smmax-w-tinyrack-overlay-sm
--container-tinyrack-overlay-md--tinyrack-overlay-width-mdmax-w-tinyrack-overlay-md

Borders and focus

border/outline/outline-offset-tinyrack-*

Read the foundation guide
Tailwind theme variableRuntime variable / breakpoint valueExample utility
--border-width-tinyrack-default--tinyrack-border-width-defaultborder-tinyrack-default
--border-width-tinyrack-strong--tinyrack-border-width-strongborder-tinyrack-strong
--border-width-tinyrack-accent--tinyrack-border-width-accentborder-tinyrack-accent
--outline-width-tinyrack-focus--tinyrack-focus-widthoutline-tinyrack-focus
--outline-offset-tinyrack-focus--tinyrack-focus-offsetoutline-offset-tinyrack-focus

Radius

rounded-tinyrack-*

Read the foundation guide
Tailwind theme variableRuntime variable / breakpoint valueExample utility
--radius-tinyrack-xs--tinyrack-radius-xsrounded-tinyrack-xs
--radius-tinyrack-sm--tinyrack-radius-smrounded-tinyrack-sm
--radius-tinyrack-md--tinyrack-radius-mdrounded-tinyrack-md
--radius-tinyrack-lg--tinyrack-radius-lgrounded-tinyrack-lg
--radius-tinyrack-xl--tinyrack-radius-xlrounded-tinyrack-xl
--radius-tinyrack-full--tinyrack-radius-fullrounded-tinyrack-full

Shadows

shadow-tinyrack-*

Read the foundation guide
Tailwind theme variableRuntime variable / breakpoint valueExample utility
--shadow-tinyrack-raised--tinyrack-shadow-raisedshadow-tinyrack-raised
--shadow-tinyrack-overlay--tinyrack-shadow-overlayshadow-tinyrack-overlay

Motion

duration/ease-tinyrack-*

Read the foundation guide
Tailwind theme variableRuntime variable / breakpoint valueExample utility
--transition-duration-tinyrack-fast--tinyrack-duration-fastduration-tinyrack-fast
--transition-duration-tinyrack-normal--tinyrack-duration-normalduration-tinyrack-normal
--transition-duration-tinyrack-slow--tinyrack-duration-slowduration-tinyrack-slow
--transition-duration-tinyrack-number--tinyrack-duration-numberduration-tinyrack-number
--transition-duration-tinyrack-loading--tinyrack-duration-loadingduration-tinyrack-loading
--ease-tinyrack-standard--tinyrack-ease-standardease-tinyrack-standard
--ease-tinyrack-ease-out--tinyrack-ease-outease-tinyrack-ease-out
--ease-tinyrack-linear--tinyrack-ease-linearease-tinyrack-linear

Opacity

opacity-tinyrack-*

Read the foundation guide
Tailwind theme variableRuntime variable / breakpoint valueExample utility
--opacity-tinyrack-disabled--tinyrack-opacity-disabledopacity-tinyrack-disabled
--opacity-tinyrack-hover--tinyrack-opacity-hoveropacity-tinyrack-hover
--opacity-tinyrack-backdrop--tinyrack-opacity-backdropopacity-tinyrack-backdrop
--opacity-tinyrack-spinner-track--tinyrack-spinner-track-opacityopacity-tinyrack-spinner-track

Layers

z-tinyrack-*

Read the foundation guide
Tailwind theme variableRuntime variable / breakpoint valueExample utility
--z-index-tinyrack-base--tinyrack-layer-basez-tinyrack-base
--z-index-tinyrack-component-raised--tinyrack-layer-component-raisedz-tinyrack-component-raised
--z-index-tinyrack-component-overlay--tinyrack-layer-component-overlayz-tinyrack-component-overlay
--z-index-tinyrack-chrome--tinyrack-layer-chromez-tinyrack-chrome
--z-index-tinyrack-dropdown--tinyrack-layer-dropdownz-tinyrack-dropdown
--z-index-tinyrack-popover--tinyrack-layer-popoverz-tinyrack-popover
--z-index-tinyrack-backdrop--tinyrack-layer-backdropz-tinyrack-backdrop
--z-index-tinyrack-dialog--tinyrack-layer-dialogz-tinyrack-dialog
--z-index-tinyrack-toast--tinyrack-layer-toastz-tinyrack-toast
--z-index-tinyrack-tooltip--tinyrack-layer-tooltipz-tinyrack-tooltip

Scale

scale-tinyrack-*

Read the foundation guide
Tailwind theme variableRuntime variable / breakpoint valueExample utility
--scale-tinyrack-overlay-closed--tinyrack-overlay-closed-scalescale-tinyrack-overlay-closed

Text decoration

decoration/underline-offset-tinyrack

Read the foundation guide
Tailwind theme variableRuntime variable / breakpoint valueExample utility
--text-decoration-thickness-tinyrack--tinyrack-text-decoration-thicknessdecoration-tinyrack
--text-underline-offset-tinyrack--tinyrack-text-underline-offsetunderline-offset-tinyrack