Chat Messenger
vanillasky/chatMessengerFreeBlock
Short synthetic Messenger-style conversation when a back-and-forth helps explain a use case, objection, or punchline. Use sparingly because it is long.
See it running
Open the demo on vanillasky
vanillasky.ai/docs/components/chatMessengerInstall it
npx shadcn@latest add https://vanillasky.ai/r/chatMessenger.jsonSource
1/**2 * chatMessenger + chatWhatsapp — themed conversation scenes.3 *4 * ConversationThread owns bubble chrome, typing, receipts, chips, timing,5 * orientation, and export-safe emoji rendering. This template translates the6 * editable msg1..msg5 fields into the primitive's message collection.7 */89import * as React from "react";10import type { VariableField } from "../video-config";11import type { SceneTemplateProps } from "./types";12import { normalizeTextVar } from "./normalize-var";13import { ConversationThread } from "../primitives/social/ConversationThread";1415export const socialConversationSchema: Record<string, VariableField> = {16 msg1: {17 type: "string",18 label: "Message 1 (received)",19 default: "Have you tried it yet?",20 required: true,21 description: "First message — left/received by default. Append |in or |out to override side. Aim for 3-4 messages total; use 5 with date chips only for a real time gap in a 10s+ scene.",22 },23 msg2: {24 type: "string",25 label: "Message 2 (received or sent)",26 default: "It saves me hours every week",27 required: true,28 description: "Second message — left/received by default. Override with |out for ping-pong.",29 },30 msg3: {31 type: "string",32 label: "Message 3 (received)",33 default: "And the team loves it",34 required: true,35 description: "Third message — left/received by default. Leave blank for a two-message exchange.",36 },37 msg4: {38 type: "string",39 label: "Message 4 (sent)",40 default: "Sounds great — sharing access now",41 description: "Fourth message — right/sent by default. Optional; most chats end here.",42 },43 dateChip1: {44 type: "string",45 label: "Date chip 1",46 default: "",47 description: "Optional date label before message 4. Use only for a real time gap.",48 },49 dateChip2: {50 type: "string",51 label: "Date chip 2",52 default: "",53 description: "Optional date label before message 5. Use only for a real time gap.",54 },55 msg5: {56 type: "string",57 label: "Message 5 (sent)",58 default: "",59 description: "Optional fifth message — right/sent by default.",60 },61};6263const sharedMessages = {64 msg1: "Have you tried it yet?",65 msg2: "It saves me hours every week",66 msg3: "And the team loves it",67 msg4: "Sounds great — sharing access now",68 msg5: "",69 dateChip1: "",70 dateChip2: "",71};7273export const socialMessengerDefaults: Record<string, unknown> = {74 theme: "messenger",75 ...sharedMessages,76};7778// … truncated
What it pulls in
npm packages
Other registry items
Files it writes
More from vanillasky
All 33 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Bar ChartbarChart | vanillasky | Blocks | Free | 1 dep · 8 files | |
| Before AfterbeforeAfter | vanillasky | Blocks | Free | 1 dep · 7 files | |
| Big NumberbigNumber | vanillasky | Blocks | Free | 1 dep · 8 files | |
| Brand MessagebrandMessage | vanillasky | Blocks | Free | 1 dep · 6 files | |
| Card ListcardList | vanillasky | Blocks | Free | 1 dep · 8 files | |
| Chat WhatsappchatWhatsapp | vanillasky | Blocks | Free | 1 dep · 6 files | |
| Code EditorcodeEditor | vanillasky | Blocks | Free | 1 dep · 7 files | |
| Confetticonfetti | vanillasky | Blocks | Free | 1 dep · 6 files |
