shieldcn — Introducing shieldcn Plus
remocn-demo/shieldcn-plusFreeBlock
remocn demo composition "shieldcn — Introducing shieldcn Plus" — installs the full Remotion composition. Generated with AI from the prompt in demos/shieldcn-plus/prompt.md.
Install it
npx shadcn@latest add https://collections.remocn.dev/r/shieldcn-plus.jsonSource
1"use client";23import { loadFont as loadBodyFont } from "@remotion/google-fonts/Inter";4import {5 AbsoluteFill,6 interpolate,7 spring,8 useCurrentFrame,9 useVideoConfig,10} from "remotion";11import { Caret } from "@/components/remocn/caret";12import { useTypewriter } from "@/lib/remocn-ui";1314const { fontFamily: SANS_FAMILY } = loadBodyFont();1516export interface ClaudeChatProps {17 greeting?: string;18 placeholder?: string;19 prompt?: string;20 modelName?: string;21 modelTier?: string;22 accentColor?: string;23 speed?: number;24}2526interface Theme {27 page: string;28 cardBg: string;29 cardBorder: string;30 fg: string;31 fgMuted: string;32 placeholder: string;33 iconBtnBorder: string;34}3536export const THEMES: Record<"light" | "dark", Theme> = {37 light: {38 page: "#F5F4EF",39 cardBg: "#FFFFFF",40 cardBorder: "#E8E5DD",41 fg: "#1F1E1D",42 fgMuted: "#73726C",43 placeholder: "#A3A097",44 iconBtnBorder: "#E0DDD4",45 },46 dark: {47 page: "#262624",48 cardBg: "#1F1E1D",49 cardBorder: "#3A3936",50 fg: "#F0EEE6",51 fgMuted: "#9B9892",52 placeholder: "#73726C",53 iconBtnBorder: "#3A3936",54 },55};5657export const TYPING_START_FRAME = 42;5859export const TYPING_CPS = 22;6061export function morphProgressAt(62 frame: number,63 opts: { startFrame?: number; fps: number; speed: number },64): number {65 const startFrame = opts.startFrame ?? TYPING_START_FRAME;66 const value = spring({67 fps: opts.fps,68 frame: frame * opts.speed - startFrame,69 config: { damping: 14, stiffness: 200, mass: 0.6 },70 });71 return Math.max(0, Math.min(value, 1));72}7374export function introBounceIn(75 frame: number,76 fps: number,77): { translateY: number; scale: number } {78 const s = spring({79 fps,80 frame,81 config: { damping: 14, stiffness: 110, mass: 0.7 },82 });83 const translateY = interpolate(s, [0, 1], [28, 0]);84 const scale = interpolate(s, [0, 1], [0.97, 1]);85 return { translateY, scale };86}8788export function fadeUpAt(89 frame: number,90 range: [number, number],91): { opacity: number; translateY: number } {92 const opts = {93 extrapolateLeft: "clamp" as const,94 extrapolateRight: "clamp" as const,95 };96 return {97 opacity: interpolate(frame, range, [0, 1], opts),98 translateY: interpolate(frame, range, [12, 0], opts),99 };100}101102function ChevronDown({ size, color }: { size: number; color: string }) {103 return (104 <svg width={size} height={size} viewBox="0 0 24 24" fill="none">105 <title>Expand</title>106 <path107 d="M6 9l6 6 6-6"108// … truncated
What it pulls in
npm packages
Other registry items
Files it writes
More from remocn-demo
All 22 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Agent Skills — Claude Code makes the videoagent-skills | remocn-demo | Blocks | Free | 5 deps · 8 files | |
| Batchwork — Unified Batch APIbatchwork | remocn-demo | Blocks | Free | 4 deps · 4 files | |
| Changelog — Rolling Numberschangelog | remocn-demo | Blocks | Free | 4 deps · 5 files | |
| Changelog — New Chat Componentschat-changelog | remocn-demo | Blocks | Free | 5 deps · 4 files | |
| Fonttrio — Three fonts. One command.fonttrio | remocn-demo | Blocks | Free | 5 deps · 4 files | |
| remocn — Introducing remocn (shaders cut)introducing-remocn | remocn-demo | Blocks | Free | 4 deps · 3 files | |
| shadcn/ui — Introducing shadcn/ui (gift cut)introducing-shadcn | remocn-demo | Blocks | Free | 11 deps · 38 files | |
| Changelog — Eleven New Transitionsnew-transitions | remocn-demo | Blocks | Free | 4 deps · 3 files |
