tailthemes
all-access

sent here for Quadrant

at a glance: Quadrant

dental website template nextjsReact and HTML source

local businessnew

Quadrantdental website template Next.js

Quadrant is a dental website template for Next.js and Tailwind, for the developer building a site for an independent general practice that publishes its fees and answers its own phone.

Live Preview
$29
both modes at 1280px
Quadrant home page, light mode
Quadrant home page, light mode
Quadrant home page, dark mode
lightdark
83 / 83
light / dark tokens
2
modes, both designed
1
DOM, rendered twice
dental website template nextjsdental clinic tailwind templatedentist website template reactdental practice website templatedental website template with tooth chart
$29one-time · unlimited projects
47components · every one pictured below
Live Preview
  • unlimited projects, client work included
  • 12 months of updates
  • 14 days, no questions
license terms

AGENTS.md and 4 skills ship in the zip, so your own agent keeps changing it after you buy.

docs: install, use, customize
0115

pages, composed from 26 sections

Every page is a real render from the publish gate, in the mode on show. Open any of them in the live preview.

Its index is the patient's own mouth: a two-arch FDI tooth chart with every cell sized to the tooth's real width, so a patient points to the tooth that hurts and the page says what a first look costs, what it might need next and who would see them. Fifteen routes ship in light and dark, in React and in plain HTML: the home chart, one treatments page with all 15 fees, eight treatment pages that re-price by tooth and canal count, a children's page on the 20-tooth chart, the team by chair and day, a booking request whose first field is the chart, a same-day emergency page and a styleguide of every part. Every figure is derived from one fixture that refuses a broken schedule at build, both modes pass WCAG AA, the zip runs as it is, and AGENTS.md gives your coding agent the rules.

0226 + 21

sections and primitives

You get the parts, not just the demo site. Every frame is a real capture from the theme's own styleguide page, and the source path under it is where the file lands in your project. 37 frames cover them, with 11 primitives sharing the ui/* frame.

hero

src/components/hero.tsx

The H1 "Point to the tooth.", the first look's fee in one sentence, "Book a first look" and the call link, beside the Chair 2 plate cropped at its fixture focal point; unphotographed, the H1 row runs the full measure and the chart rises into the first screen.

Quadrant dental website template Next.js — hero component at full size
1 / 37
0383

tokens, both modes

Change one variable and every part follows. Each badge is one token split down the middle: its light value on the left, its dark value on the right, with the theme's own paired ink on both halves.

roles9 of 83

hover or tab a badge for its name and both values, enter copies

supporting34
radius
0.375rem
0rem
0.5rem
9999px

The disclosed chart: a two-arch FDI tooth chart drawn facing the patient, every cell a tooth's real mesiodistal width at 8px per millimetre, the Zsigmondy cross ruled between the arches, and the teeth a question touches disclosed in the orchid of a plaque-disclosing tablet. Implemented in src/components/ui/tooth-chart.tsx (a recipe on ui/variant-selector: native radios, one tab stop, DOM order = arch order, posts ?tooth= without JavaScript; dentition adult or primary, composition arches or quadrants) and src/components/ui/chart-strip.tsx (the same geometry at 160px). chartFor(), firstLookFor() and feeFor() in src/fixtures/derive.ts throw at build on an unknown tooth, an unpriced line or a clinician who does not do the treatment. It recurs on /, /treatments (a strip per tooth-specific fee), /treatments/<slug> (re-pricing, a root canal by canal count), /children (the 20-cell primary chart) and /book (the first field).

every token

043

typefaces, self-hosted

Real woff2 files in src/fonts/, wired through next/font and licensed under OFL. Nothing is fetched from Google at build time, so the zip renders these letterforms offline. Scale ratio 1.333.

Quadrant

Quadrant is a dental website template for Next.js and Tailwind, for the developer building a site for an independent general practice that publishes its fees and answers its own phone.

const { open, close } = useLedger("2026-03") // 0123456789

icons · lucide-react · stroke 2
13px
14px
16px
display
Besley
text
Atkinson Hyperlegible Next
mono
Atkinson Hyperlegible Mono
scaleratio 1.333
  • captionAg
  • smallAg
  • bodyAg
  • leadAg
  • d1Ag
  • d2Ag
  • d3Ag
  • d4Ag
05375–1920

every width is a real render from the publish gate

Four viewports, each one a render the gate produced and checked. Switch between them: the frame narrows exactly as a window does, because that is what it is.

home page at 1280px, light mode
Quadrant dental website template Next.js — home page at 1280px
1280
061

every token and every part on one page

The styleguide route is not documentation about the theme. It is a page in the zip that renders the real components from the real tokens, so it stays true the day you change one.

07214

files in the zip

Two independently authored editions: React for applications, plus ready HTML, CSS and vanilla JavaScript for static hosts.

what unzipsquadrant-1.0.0.zip
  • AGENTS.mdthe theme's own rules, written for an agent
  • .claude/skills/4 skills, each one job
    • add-page/SKILL.mdAdd a route to Quadrant end to end
    • add-section/SKILL.mdGraft a new section into Quadrant the way its own sections are built
    • check-quality/SKILL.mdRun Quadrant's own quality checks on your copy of the theme
    • rebrand/SKILL.mdPut a real dental practice into Quadrant
  • src/
    • theme.css83 tokens, light and dark
    • fonts.tsthe faces, wired to the type tokens
    • app/8 files
    • components/26 files
      • ui/22 files
    • assets/1 markdown file, 1 file
    • fonts/4 font files, 3 licenses
  • app/15 routes, plus layout.tsx and globals.css
  • theme.jsonthe manifest: tokens, components, pages
  • html/the framework-free edition
    • dist/15 compiled routes, deploy-ready — no build step
    • src/the Nunjucks source the routes compile from
  • scripts/build-html.ts · serve-html.ts — `bun run build:html` / `preview:html`
  • README.mdquickstart
  • 6 project filespackage.json · tsconfig.json · next.config.ts · postcss.config.mjs · env.d.ts · .gitignore
your agent reads these first
what it runs on
next >=15 <17react >=19 <20tailwind >=4 <5HTMLlucide-reactstandard license
install into a project you already have
$ bunx shadcn add @tailthemes/quadrant

Your key goes in TAILTHEMES_LICENSE_KEY, and the registry entry goes in components.json. The snippet is on the docs page.

or run it standalone
$ unzip quadrant.zip && bun install && bun dev
Read this theme's AGENTS.md
084

skills your agent can run

Your agent reads AGENTS.md before it edits, then runs the skill that fits the change. The skills are the theme's own, and the publish gate makes an agent complete every one of them in a scratch copy before the theme goes live.

the source

47 components, 15 pages and 83 tokens, as a Next.js project.

the kit

AGENTS.md carries the design spec. Each skill is one job written against it.

add-pageadd-sectioncheck-qualityrebrand
your agent

Claude Code, Codex, or any agent that reads AGENTS.md. It runs on your machine, on your own account.

the new page

Built from the theme's own sections, on the same tokens and the same rhythm.

the spec travels with the code

The source is yours to run, edit and deploy.

The spec ships inside the folder, so the page your agent adds next month is built by the same rules as the ten it came with. Nothing calls back here.

What the standard license covers
before you decide
What do I actually get?
A runnable Next.js >=15 <17 project — not a screenshot and not a component dump. 15 pages, 26 sections and 21 primitives, 83 light tokens with 83 dark overrides, self-hosted fonts, and every image generated for this theme. AGENTS.md and 4 skills ship inside the zip, so your own agent can keep changing it after you buy. The same pages also ship as a framework-free HTML edition, with local fonts and vanilla JavaScript.
Does it include the pages I'd otherwise have to build?
Quadrant ships point to the tooth., treatments and every fee, fissure sealant, white filling, front tooth, white filling, back tooth, ceramic crown, root canal, removing a tooth, wisdom tooth removal, whitening, point to the wobbly one., who would see you, ask for a time, in pain today and quadrant's parts. Every one of them is a real route in the project with real content — you can open all of them in the live preview before you pay, and what you see there is what unzips.
Will it work with my stack?
Built for Tailwind >=4 <5, Next.js >=15 <17 and React >=19 <20. Runtime dependencies are lucide-react — nothing else is required. The styling is tokens and Tailwind utilities, so it drops into an existing app rather than asking you to adopt a framework.
How long before it stops looking like a template?
The palette, type and spacing are 83 named tokens in one file, with 83 overrides for dark mode — change those and every screen moves together, which is the whole reason the theme is built as a system rather than as pages. Nothing here claims a number of hours: how long it takes depends on how far you move it.
Can I use it for client work?
Yes. One payment, unlimited projects, client work included, and 12 months of updates. Fourteen days to change your mind, no questions asked. The full terms are published, and this page and that page are the same source.
activity
47
components
sections + primitives
15
pages
all in the preview
last updated
v1.0.0
roadmap
  • v1.0.0: First release: a dental practice site whose index is the patient's own mouth, in React and plain HTML
  • v1.0.0: A dental practice site whose index is the patient's own mouth: point to a tooth and the page prices a first look, in React and plain HTML
for agents

This listing is also a markdown document and a JSON endpoint. The theme's own agent kit is on the kit and agents plates above.

/api/themes/quadrant
mcpsearch_themesget_themeget_componentdownload_theme