{ "$schema": "https://ui.shadcn.com/schema/registry.json", "name": "pxl-ui", "homepage": "https://github.com/pxl-ui/registry", "include": [ "registry/pxl-colors/catppuccin-frappe/registry.json", "registry/pxl-colors/catppuccin-latte/registry.json", "registry/pxl-colors/catppuccin-macchiato/registry.json", "registry/pxl-colors/catppuccin-mocha/registry.json", "registry/pxl-colors/flexoki/registry.json", "registry/pxl-colors/pico-8/registry.json", "registry/pxl-fonts/able-5/registry.json", "registry/pxl-fonts/monogram/registry.json", "registry/pxl-fonts/pixel-digivolve/registry.json", "registry/pxl-icons/cursors/pixelarticons/registry.json" ], "items": [ { "name": "base", "type": "registry:base", "title": "PXL-UI", "description": "PXL-UI Shadcn base", "extends": "none", "config": { "style": "radix-lyra", "iconLibrary": "lucide", "rtl": false, "menuColor": "default", "menuAccent": "subtle", "tailwind": { "baseColor": "neutral" } }, "registryDependencies": [ "pxl-ui/registry/styles" ] }, { "name": "utilities-cursor", "type": "registry:style", "title": "Mouse Cursor", "description": "TailwindCSS cursor utilities", "files": [ { "type": "registry:file", "path": "registry/pxl-ui/utilities/cursor.css", "target": "src/styles/utilities/cursor.css" } ], "css": { "@import \"@/styles/utilities/cursor.css\"": {} } }, { "name": "styles", "type": "registry:style", "title": "Styles", "description": "TailwindCSS core styles for pxl-ui", "registryDependencies": [ "pxl-ui/registry/fonts-pixel-digivolve", "pxl-ui/registry/fonts-able-5", "pxl-ui/registry/fonts-monogram", "pxl-ui/registry/cursors-pixelarticons", "pxl-ui/registry/utilities-cursor" ], "cssVars": { "theme": { "font-heading": "'Pixel Digivolve', 'Inter Variable', sans-serif", "font-sans": "'Able 5', 'Inter Variable', sans-serif", "font-mono": "'Monogram Extended', monospace", "radius-sm": "calc(var(--radius) * 0.6)", "radius-md": "calc(var(--radius) * 0.8)", "radius-lg": "var(--radius)", "radius-xl": "calc(var(--radius) * 1.4)", "radius-2xl": "calc(var(--radius) * 1.8)", "radius-3xl": "calc(var(--radius) * 2.2)", "radius-4xl": "calc(var(--radius) * 2.6)", "text-2xs": "0.625rem" }, "light": { "radius": "0.65rem", "background": "oklch(1 0 0)", "foreground": "oklch(0.1929 0.0336 42.11)", "card": "oklch(1 0 0)", "card-foreground": "oklch(0.1929 0.0336 42.11)", "popover": "oklch(1 0 0)", "popover-foreground": "oklch(0.1929 0.0336 42.11)", "primary": "oklch(0.1929 0.0336 42.11)", "primary-foreground": "oklch(0.985 0 0)", "secondary": "oklch(0.97 0 0)", "secondary-foreground": "oklch(0.1929 0.0336 42.11)", "muted": "oklch(0.97 0 0)", "muted-foreground": "oklch(0.4619 0.0164 67.4)", "accent": "oklch(0.97 0 0)", "accent-foreground": "oklch(0.1929 0.0336 42.11)", "destructive": "oklch(0.634 0.2539 17.63)", "border": "oklch(0.922 0 0)", "input": "oklch(0.922 0 0)", "ring": "oklch(0.708 0 0)", "chart-1": "oklch(0.7421 0.1721 359.48)", "chart-2": "oklch(0.548585 0.130659 156.9834)", "chart-3": "oklch(0.7178 0.1604 242.66)", "chart-4": "oklch(0.929656 0.188853 103.2821)", "chart-5": "oklch(0.7892 0.1713 69.64)", "sidebar": "oklch(0.985 0 0)", "sidebar-foreground": "oklch(0.1929 0.0336 42.11)", "sidebar-primary": "oklch(0.1929 0.0336 42.11)", "sidebar-primary-foreground": "oklch(0.985 0 0)", "sidebar-accent": "oklch(0.97 0 0)", "sidebar-accent-foreground": "oklch(0.1929 0.0336 42.11)", "sidebar-border": "oklch(0.922 0 0)", "sidebar-ring": "oklch(0.8176 0.0057 274.95)" } } }, { "name": "gradiant-label", "type": "registry:component", "title": "Gradiant Label", "description": "A label with gradiant colors to recreate retro style game indicators", "files": [ { "type": "registry:component", "path": "registry/pxl-ui/gradiant-label/gradiant-label.tsx" }, { "type": "registry:file", "path": "registry/pxl-ui/utilities/text.css", "target": "src/styles/utilities/text.css" } ], "css": { "@import \"@/styles/utilities/text.css\"": {} }, "cssVars": { "theme": { "pixel-size-xs": "0.5px", "pixel-size-sm": "1px", "pixel-size-md": "2px", "pixel-size-lg": "4px" } } }, { "name": "sprite-canvas", "type": "registry:component", "title": "Sprite Canvas", "description": "A canvas renderer for single sprites", "files": [ { "type": "registry:component", "path": "registry/pxl-ui/sprite-canvas/utils/index.ts" }, { "type": "registry:component", "path": "registry/pxl-ui/sprite-canvas/hooks/use-sprite.ts" }, { "type": "registry:component", "path": "registry/pxl-ui/sprite-canvas/sprite-canvas.tsx" } ] }, { "name": "sprite-canvas-choice", "type": "registry:component", "title": "Sprite Canvas - Choice Animation", "description": "A custom choice animation for sprite canvas", "files": [ { "type": "registry:component", "path": "registry/pxl-ui/sprite-canvas/animations/choice.ts" } ], "meta": { "extends": ["sprite-canvas"] } }, { "name": "sprite-canvas-transition", "type": "registry:component", "title": "Sprite Canvas - Transition Animation", "description": "A custom transition animation for sprite canvas", "files": [ { "type": "registry:component", "path": "registry/pxl-ui/sprite-canvas/animations/transition.ts" } ], "meta": { "extends": ["sprite-canvas"] } }, { "name": "sprite-canvas-evolution", "type": "registry:component", "title": "Sprite Canvas - Evolution Animation", "description": "A custom evolution animation for sprite canvas", "files": [ { "type": "registry:component", "path": "registry/pxl-ui/sprite-canvas/animations/evolution.ts" } ], "meta": { "extends": ["sprite-canvas"] } }, { "name": "sprite-image", "type": "registry:component", "title": "Sprite Image", "description": "A pixelated sprite image", "files": [ { "type": "registry:component", "path": "registry/pxl-ui/sprite-image/sprite-image.tsx" }, { "type": "registry:file", "path": "registry/pxl-ui/utilities/sprite.css", "target": "src/styles/utilities/sprite.css" } ], "css": { "@import \"@/styles/utilities/sprite.css\"": {} }, "cssVars": { "theme": { "animate-sprite-idle": "spriteIdle var(--tw-duration, 2.8s) steps(1) infinite", "animate-sprite-idleBlink": "spriteIdleBlink var(--tw-duration, 2.8s) steps(1) infinite" } }, "meta": { "hidden": true } }, { "name": "marquee-text", "type": "registry:component", "title": "Marquee Text", "description": "Marquee animated text for long texts on tiny screens", "files": [ { "type": "registry:component", "path": "registry/pxl-ui/marquee-text/marquee-text.tsx" }, { "type": "registry:file", "path": "registry/pxl-ui/utilities/marquee.css", "target": "src/styles/utilities/marquee.css" } ], "css": { "@import \"@/styles/utilities/marquee.css\"": {} }, "cssVars": { "theme": { "animate-marquee": "marquee var(--tw-duration, 6s) ease-in-out infinite alternate" } } }, { "name": "animated-icon", "type": "registry:component", "title": "Animated Icon", "description": "Animate your svg icons using motion", "dependencies": [ "motion" ], "files": [ { "type": "registry:component", "path": "registry/pxl-ui/animated-icon/animated-icon.tsx" } ] } ] }