Skip to content
Pebble Pro is here at $49 one timeSee what’s included ↗
Pebble
ComponentsDocsMCPPricing
⌕ Find a component↗Log in
All components 673

Categories

Core inputs & forms46Buttons & actions33Navigation36Overlays & feedback49Data display33Charts & data viz40Cards & layout43Marketing blocks38App shells & pages37AI interfaces40Text & typography effects33Backgrounds & visual effects38Motion & transitions32Numbers & counters32Media34E-commerce333D & interactive36Themed sets40
Start with the essentials.Installation guide ↗Connect your agent ↗
← All componentsAI interfaces

Chat Attachments

Attachment previews for chat messages (image grid, document card, code snippet, audio pill) and an upload-in-progress chip for the composer.

Preview

PDFOffice lease, final.pdf12 pages · 2.4 MB

Plans and the lease for the new place. Anything odd in clause 9?

Clause 9 makes you pay for structural repairs, which is unusual. Here is the retention script you asked for:

retention.tsts14 lines
1export function retentionByWeek(events: Event[]) {2  const cohorts = groupBy(events, (e) => startOfWeek(e.signupAt));3  return Object.entries(cohorts).map(([week, rows]) => ({4    week,5    users: new Set(rows.map((r) => r.userId)).size,6    retained: rows.filter((r) => r.weeksActive >= 4).length,
0:42

In the composer

site-photos.zipUploading · 64%
budget-q4.xlsxReady
scan-0042.heicType not supported

Install

Pro source requires Pebble Pro. Try the full preview above.

Props

PropTypeDefaultDescription
images / onOpen / maxAttachmentImage[] / (index) => void / number— / — / 4AttachmentImageGrid: { id, alt, src?, content? }; extra images fold into +N.
name / type / pages / sizestring / string / number / string— / "PDF"AttachmentDocument: page stack, type badge, page count and size; onOpen adds Open.
filename / language / code / previewstring / string / string / number— / — / — / 6AttachmentCode: numbered snippet that expands past `preview` lines.
label / duration / src / seedstring / number / string / number— / — / — / 7AttachmentAudio: play pill with a seeded waveform; simulated without src.
name / progress / status / onCancelstring / number / "uploading" | "processing" | "done" | "error" / () => void— / 0 / "uploading"AttachmentUpload: composer chip with a progress ring and cancel or remove.

Pro component

Try the full preview above. Editable source and build guides require Pebble Pro.

Buy Pebble Pro — $49How source access works ↗
Pebble

Small details.
Better interfaces.

React components to explore, make your own, and build on.

Library

  • Components
  • Installation
  • Pricing

Resources

  • For agents
  • About
  • Support

Legal

  • License
  • Terms
  • Privacy
  • Final sale

Built by Pebble

A product of Praxys Solutions LLC ↗

Pebble Pro is live

$49 one time, lifetime updates ↗