{
  "$schema": "https://ui.shadcn.com/schema/registry.json",
  "name": "ephemera",
  "homepage": "https://ephemera.kerrshift.com",
  "items": [
    {
      "name": "paper-theme",
      "type": "registry:theme",
      "title": "Paper Theme",
      "description": "Six paper types as CSS variables (Cream, Kraft, Ledger, Blueprint, Newsprint, Carbon), merged into your global CSS, plus the five Ephemera fonts. Also re-skins existing shadcn/ui components.",
      "categories": [
        "theme"
      ],
      "registryDependencies": [
        "https://ephemera.kerrshift.com/r/font-fraunces.json",
        "https://ephemera.kerrshift.com/r/font-ibm-plex-mono.json",
        "https://ephemera.kerrshift.com/r/font-courier-prime.json",
        "https://ephemera.kerrshift.com/r/font-caveat.json",
        "https://ephemera.kerrshift.com/r/font-anton.json"
      ]
    },
    {
      "name": "font-fraunces",
      "type": "registry:font",
      "title": "Fraunces (font)",
      "description": "Display serif for titles, letters and cards.",
      "categories": [
        "font"
      ],
      "font": {
        "family": "'Fraunces', Georgia, serif",
        "provider": "google",
        "import": "Fraunces",
        "variable": "--font-display",
        "subsets": [
          "latin"
        ],
        "dependency": "@fontsource/fraunces"
      }
    },
    {
      "name": "font-ibm-plex-mono",
      "type": "registry:font",
      "title": "IBM Plex Mono (font)",
      "description": "Thermal-receipt monospace for receipts, toasts and code.",
      "categories": [
        "font"
      ],
      "font": {
        "family": "'IBM Plex Mono', ui-monospace, monospace",
        "provider": "google",
        "import": "IBM_Plex_Mono",
        "variable": "--font-receipt",
        "subsets": [
          "latin"
        ],
        "dependency": "@fontsource/ibm-plex-mono",
        "weight": [
          "400",
          "700"
        ]
      }
    },
    {
      "name": "font-courier-prime",
      "type": "registry:font",
      "title": "Courier Prime (font)",
      "description": "Typewriter face for labels, buttons and inputs.",
      "categories": [
        "font"
      ],
      "font": {
        "family": "'Courier Prime', 'Courier New', monospace",
        "provider": "google",
        "import": "Courier_Prime",
        "variable": "--font-type",
        "subsets": [
          "latin"
        ],
        "dependency": "@fontsource/courier-prime",
        "weight": [
          "400",
          "700"
        ]
      }
    },
    {
      "name": "font-caveat",
      "type": "registry:font",
      "title": "Caveat (font)",
      "description": "Handwriting for sticky notes, tooltips and captions.",
      "categories": [
        "font"
      ],
      "font": {
        "family": "'Caveat', 'Segoe Print', cursive",
        "provider": "google",
        "import": "Caveat",
        "variable": "--font-hand",
        "subsets": [
          "latin"
        ],
        "dependency": "@fontsource/caveat"
      }
    },
    {
      "name": "font-anton",
      "type": "registry:font",
      "title": "Anton (font)",
      "description": "Condensed capitals for rubber stamps.",
      "categories": [
        "font"
      ],
      "font": {
        "family": "'Anton', Impact, sans-serif",
        "provider": "google",
        "import": "Anton",
        "variable": "--font-stamp",
        "subsets": [
          "latin"
        ],
        "dependency": "@fontsource/anton",
        "weight": [
          "400"
        ]
      }
    },
    {
      "name": "button",
      "type": "registry:ui",
      "title": "Button",
      "description": "Typewriter keys that press down. Ink, paper, ghost and danger.",
      "categories": [
        "core"
      ],
      "files": [
        {
          "path": "src/registry/ephemera/button.tsx",
          "type": "registry:ui"
        }
      ],
      "dependencies": [
        "radix-ui"
      ]
    },
    {
      "name": "input",
      "type": "registry:ui",
      "title": "Input",
      "description": "Type on a ruled line. Includes a notebook Textarea and Label.",
      "categories": [
        "core"
      ],
      "files": [
        {
          "path": "src/registry/ephemera/input.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "checkbox",
      "type": "registry:ui",
      "title": "Checkbox",
      "description": "A box ticked in pen, with an animated stroke.",
      "categories": [
        "core"
      ],
      "files": [
        {
          "path": "src/registry/ephemera/checkbox.tsx",
          "type": "registry:ui"
        }
      ],
      "dependencies": [
        "radix-ui"
      ]
    },
    {
      "name": "radio-group",
      "type": "registry:ui",
      "title": "Radio Group",
      "description": "Pencil circles that fill with a blot of ink.",
      "categories": [
        "core"
      ],
      "files": [
        {
          "path": "src/registry/ephemera/radio-group.tsx",
          "type": "registry:ui"
        }
      ],
      "dependencies": [
        "radix-ui"
      ]
    },
    {
      "name": "switch",
      "type": "registry:ui",
      "title": "Switch",
      "description": "A typewriter lever that slides between OFF and ON.",
      "categories": [
        "core"
      ],
      "files": [
        {
          "path": "src/registry/ephemera/switch.tsx",
          "type": "registry:ui"
        }
      ],
      "dependencies": [
        "radix-ui"
      ]
    },
    {
      "name": "select",
      "type": "registry:ui",
      "title": "Select",
      "description": "A card-catalogue drawer of options.",
      "categories": [
        "core"
      ],
      "files": [
        {
          "path": "src/registry/ephemera/select.tsx",
          "type": "registry:ui"
        }
      ],
      "dependencies": [
        "radix-ui"
      ]
    },
    {
      "name": "slider",
      "type": "registry:ui",
      "title": "Slider",
      "description": "A ruler with a pen-nib marker.",
      "categories": [
        "core"
      ],
      "files": [
        {
          "path": "src/registry/ephemera/slider.tsx",
          "type": "registry:ui"
        }
      ],
      "dependencies": [
        "radix-ui"
      ]
    },
    {
      "name": "date-picker",
      "type": "registry:ui",
      "title": "Date Picker",
      "description": "A ruled field that opens a desk calendar.",
      "categories": [
        "core"
      ],
      "files": [
        {
          "path": "src/registry/ephemera/date-picker.tsx",
          "type": "registry:ui"
        },
        {
          "path": "src/registry/ephemera/calendar.tsx",
          "type": "registry:ui"
        }
      ],
      "dependencies": [
        "radix-ui"
      ]
    },
    {
      "name": "card",
      "type": "registry:ui",
      "title": "Card",
      "description": "An index card, optionally ruled with a red header line.",
      "categories": [
        "core"
      ],
      "files": [
        {
          "path": "src/registry/ephemera/card.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "tabs",
      "type": "registry:ui",
      "title": "Tabs",
      "description": "File-folder tabs on top of a sheet.",
      "categories": [
        "core"
      ],
      "files": [
        {
          "path": "src/registry/ephemera/tabs.tsx",
          "type": "registry:ui"
        }
      ],
      "dependencies": [
        "radix-ui"
      ]
    },
    {
      "name": "accordion",
      "type": "registry:ui",
      "title": "Accordion",
      "description": "Index-card dividers that open to reveal their notes.",
      "categories": [
        "core"
      ],
      "files": [
        {
          "path": "src/registry/ephemera/accordion.tsx",
          "type": "registry:ui"
        }
      ],
      "dependencies": [
        "radix-ui"
      ]
    },
    {
      "name": "separator",
      "type": "registry:ui",
      "title": "Separator",
      "description": "Rules, double rules and tear-here perforations.",
      "categories": [
        "core"
      ],
      "files": [
        {
          "path": "src/registry/ephemera/separator.tsx",
          "type": "registry:ui"
        }
      ],
      "dependencies": [
        "radix-ui"
      ]
    },
    {
      "name": "table",
      "type": "registry:ui",
      "title": "Table",
      "description": "Ledger paper with a red margin and double-ruled totals.",
      "categories": [
        "core"
      ],
      "files": [
        {
          "path": "src/registry/ephemera/table.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "dialog",
      "type": "registry:ui",
      "title": "Dialog",
      "description": "A letter that slides up out of its envelope.",
      "categories": [
        "core"
      ],
      "files": [
        {
          "path": "src/registry/ephemera/dialog.tsx",
          "type": "registry:ui"
        }
      ],
      "dependencies": [
        "radix-ui"
      ]
    },
    {
      "name": "sheet",
      "type": "registry:ui",
      "title": "Sheet",
      "description": "A folder that slides in from the edge, with a tab.",
      "categories": [
        "core"
      ],
      "files": [
        {
          "path": "src/registry/ephemera/sheet.tsx",
          "type": "registry:ui"
        }
      ],
      "dependencies": [
        "radix-ui"
      ]
    },
    {
      "name": "popover",
      "type": "registry:ui",
      "title": "Popover",
      "description": "A slip of paper with a folded corner.",
      "categories": [
        "core"
      ],
      "files": [
        {
          "path": "src/registry/ephemera/popover.tsx",
          "type": "registry:ui"
        }
      ],
      "dependencies": [
        "radix-ui"
      ]
    },
    {
      "name": "tooltip",
      "type": "registry:ui",
      "title": "Tooltip",
      "description": "A sticky note that appears on hover.",
      "categories": [
        "core"
      ],
      "files": [
        {
          "path": "src/registry/ephemera/tooltip.tsx",
          "type": "registry:ui"
        }
      ],
      "dependencies": [
        "radix-ui"
      ]
    },
    {
      "name": "dropdown-menu",
      "type": "registry:ui",
      "title": "Dropdown Menu",
      "description": "A typed menu on an index card.",
      "categories": [
        "core"
      ],
      "files": [
        {
          "path": "src/registry/ephemera/dropdown-menu.tsx",
          "type": "registry:ui"
        }
      ],
      "dependencies": [
        "radix-ui"
      ]
    },
    {
      "name": "toast",
      "type": "registry:ui",
      "title": "Toast",
      "description": "Notifications that print as receipt slips and tear away.",
      "categories": [
        "core"
      ],
      "files": [
        {
          "path": "src/registry/ephemera/toast.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "badge",
      "type": "registry:ui",
      "title": "Badge",
      "description": "Embossed label-maker tape.",
      "categories": [
        "core"
      ],
      "files": [
        {
          "path": "src/registry/ephemera/badge.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "avatar",
      "type": "registry:ui",
      "title": "Avatar",
      "description": "A postage-stamp or postmark avatar.",
      "categories": [
        "core"
      ],
      "files": [
        {
          "path": "src/registry/ephemera/avatar.tsx",
          "type": "registry:ui"
        }
      ],
      "dependencies": [
        "radix-ui"
      ]
    },
    {
      "name": "alert",
      "type": "registry:ui",
      "title": "Alert",
      "description": "A memo with a note in the margin.",
      "categories": [
        "core"
      ],
      "files": [
        {
          "path": "src/registry/ephemera/alert.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "progress",
      "type": "registry:ui",
      "title": "Progress",
      "description": "A punch card that fills hole by hole.",
      "categories": [
        "core"
      ],
      "files": [
        {
          "path": "src/registry/ephemera/progress.tsx",
          "type": "registry:ui"
        }
      ],
      "dependencies": [
        "radix-ui"
      ]
    },
    {
      "name": "skeleton",
      "type": "registry:ui",
      "title": "Skeleton",
      "description": "A light pencil sketch while content loads.",
      "categories": [
        "core"
      ],
      "files": [
        {
          "path": "src/registry/ephemera/skeleton.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "kbd",
      "type": "registry:ui",
      "title": "Kbd",
      "description": "Round typewriter keys for shortcuts.",
      "categories": [
        "core"
      ],
      "files": [
        {
          "path": "src/registry/ephemera/kbd.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "calendar",
      "type": "registry:ui",
      "title": "Calendar",
      "description": "A desk calendar page. The chosen day gets circled in pen.",
      "categories": [
        "core"
      ],
      "files": [
        {
          "path": "src/registry/ephemera/calendar.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "breadcrumb",
      "type": "registry:ui",
      "title": "Breadcrumb",
      "description": "A typed file path.",
      "categories": [
        "core"
      ],
      "files": [
        {
          "path": "src/registry/ephemera/breadcrumb.tsx",
          "type": "registry:ui"
        }
      ],
      "dependencies": [
        "radix-ui"
      ]
    },
    {
      "name": "pagination",
      "type": "registry:ui",
      "title": "Pagination",
      "description": "Notebook page numbers, the current one circled.",
      "categories": [
        "core"
      ],
      "files": [
        {
          "path": "src/registry/ephemera/pagination.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "receipt",
      "type": "registry:ui",
      "title": "Receipt",
      "description": "A thermal-paper receipt with torn edges that prints line by line.",
      "files": [
        {
          "path": "src/registry/ephemera/receipt.tsx",
          "type": "registry:ui"
        }
      ],
      "categories": [
        "extras"
      ]
    },
    {
      "name": "ticket",
      "type": "registry:ui",
      "title": "Ticket",
      "description": "An admission ticket with a perforated stub you can tear off.",
      "files": [
        {
          "path": "src/registry/ephemera/ticket.tsx",
          "type": "registry:ui"
        }
      ],
      "categories": [
        "extras"
      ]
    },
    {
      "name": "boarding-pass",
      "type": "registry:ui",
      "title": "Boarding Pass",
      "description": "A boarding pass for trips, itineraries and invitations.",
      "files": [
        {
          "path": "src/registry/ephemera/boarding-pass.tsx",
          "type": "registry:ui"
        }
      ],
      "categories": [
        "extras"
      ]
    },
    {
      "name": "polaroid",
      "type": "registry:ui",
      "title": "Polaroid",
      "description": "An instant photo that develops as it scrolls into view. Click to shake it.",
      "files": [
        {
          "path": "src/registry/ephemera/polaroid.tsx",
          "type": "registry:ui"
        }
      ],
      "categories": [
        "extras"
      ]
    },
    {
      "name": "postage-stamp",
      "type": "registry:ui",
      "title": "Postage Stamp",
      "description": "A perforated stamp with an optional inked postmark.",
      "files": [
        {
          "path": "src/registry/ephemera/postage-stamp.tsx",
          "type": "registry:ui"
        }
      ],
      "categories": [
        "extras"
      ]
    },
    {
      "name": "rubber-stamp",
      "type": "registry:ui",
      "title": "Rubber Stamp",
      "description": "A speckled ink stamp that thuds onto the page.",
      "files": [
        {
          "path": "src/registry/ephemera/rubber-stamp.tsx",
          "type": "registry:ui"
        }
      ],
      "categories": [
        "extras"
      ]
    },
    {
      "name": "envelope",
      "type": "registry:ui",
      "title": "Envelope",
      "description": "An envelope that opens to reveal a letter.",
      "files": [
        {
          "path": "src/registry/ephemera/envelope.tsx",
          "type": "registry:ui"
        }
      ],
      "categories": [
        "extras"
      ]
    },
    {
      "name": "wax-seal",
      "type": "registry:ui",
      "title": "Wax Seal",
      "description": "A hand-poured wax seal with your initials.",
      "files": [
        {
          "path": "src/registry/ephemera/wax-seal.tsx",
          "type": "registry:ui"
        }
      ],
      "categories": [
        "extras"
      ]
    },
    {
      "name": "sticky-note",
      "type": "registry:ui",
      "title": "Sticky Note",
      "description": "A sticky note with a curled corner, tape or a push pin.",
      "files": [
        {
          "path": "src/registry/ephemera/sticky-note.tsx",
          "type": "registry:ui"
        }
      ],
      "categories": [
        "extras"
      ]
    }
  ]
}