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 componentsApp shells & pages

Import Page

A CSV import wizard with upload, column mapping with auto-matched fields and type warnings, a preview highlighting row errors, then import progress and a summary.

Preview

Import contacts

contacts-q3.csv· 8 rows
  1. Upload, completed
  2. 2Map columns, current
  3. 3Preview, not started
  4. 4Import, not started

We matched 5 of 6 columns. Check the rest, or skip the ones you don’t need.

Column in fileSampleMaps toCheck
Full nameMira Kovač, Theo Osei
Auto
1 value off
E-mailmira@pebble.example, theo@pebble.example
Auto
1 value off
OrganisationPebble, Pebble
Auto
text
Signup date2026-03-04, 2026-04-18
Auto
1 value off
Seats12, 4
Auto
1 value off
NotesChampion
Skipped

Import contacts

contacts-q3.csv· 8 rows
  1. Upload, completed
  2. Map columns, completed
  3. 3Preview, current
  4. 4Import, not started

4 ready · 4 with errors

RowNameEmailCompanyJoinedSeats
2Mira Kovačmira@pebble.examplePebble2026-03-0412
3Theo Oseitheo@pebble.examplePebble2026-04-184
4Ana Sousaana.sousa@pebble, error: Not an emailPebble2026-05-028
5Jun Parkjun@pebble.examplePebble Pressnext week, error: Not a date3
6Leo Vargaleo@pebble.examplePebble2026-06-111
7Ruth Amselruth@pebble.examplePebble2026-07-09ten, error: Not a number
8empty, error: Requiredkenji@pebble.examplePebble2026-08-212
9Sara Okaforsara@pebble.examplePebble2026-09-306

Install

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

Props

PropTypeDefaultDescription
fieldsImportField[]—Fields columns map onto: { key, label, type?, required?, aliases? }.
nounstring"rows"What is imported, plural, e.g. contacts.
sampleCsvstring—CSV used by Try the sample file.
defaultCsvstring—Start with a file loaded (e.g. for previews).
defaultFileNamestring"import.csv"Name shown for defaultCsv.
defaultStep"upload" | "map" | "preview" | "import"upload / mapStep shown first.
onImport(rows) => void | Promise<void>—Receives the rows to store, keyed by field.
titleReactNode"Import"Page heading.
heightnumber600Frame height in px.

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 ↗