import type { Metadata } from "next";
export const metadata: Metadata = {
title: "All effects",
description: "Every neat-annotations effect on one compact page.",
};
const directions = [
["nw", "↖"], ["n", "↑"], ["ne", "↗"], ["w", "←"],
["e", "→"], ["sw", "↙"], ["s", "↓"], ["se", "↘"],
] as const;
const colors = [
["default", ""], ["amber", "ann-amber"], ["blue", "ann-blue"],
["green", "ann-green"], ["red", "ann-red"],
["purple", "ann-purple"], ["rainbow", "ann-rainbow"],
] as const;
export default function Home() {
return (
THE COMPLETE SPECIMEN
Every effect.
Nothing hidden.
Hand-drawn arrows and notes for inline content. Pick a direction, add a colour, ship it.
<span class="ann ann-n ann-blue" data-note="your note">target</span>
{directions.map(([direction, arrow]) => (
{arrow}{direction.toUpperCase()}
))}
8ways to point
{colors.map(([name, className]) => (
important
{name}
))}
Make the important part visible.
Status: stable
This feels very custom.
one target
Built for real sentences.
Nudge the small details.
Make it feel more alive.
One class gets all the colours.
);
}
function PanelTitle({ number, title, code }: { number: string; title: string; code: string }) {
return
{number}
{title}
{code};
}
function Demo({ label, code, children }: { label: string; code: string; children: React.ReactNode }) {
return (
);
}