Founding price: $35, then $99 after 23:59 UTC on 4 November, then $99
Get ProAfter reading a CSV the rows that share a key (email) are grouped, each group shows the competing rows side by side and the person keeps the first, the last or none, with a choice applied to all groups. Use this when a file can contain the same person or product several times.
Derived from this item’s props table, because it declares no controls of its own. This item has no standalone playground, so changes update the code, the share link and the AI prompt.
Imported data has a natural key and the same key can appear in several rows with different details.
Do not use it when: For fuzzy matches (similar names) you need a matching algorithm first; this resolves exact keys.
This item is part of tealmac UI Pro
The source for this item installs with a Pro licence key. Log in with your key to see the install command, or read the Pro setup page.
| Prop | Type | Default | Description |
|---|---|---|---|
rows | Record<string, string>[] | sample | The parsed rows. |
keyField | string | email | Column that identifies a record. |
onImport | (rows) => void | - | The rows after the choices. |
findDuplicateGroups(rows, key) and resolveRows(rows, key, choices) are exported.
The pattern ships with a Testing Library test (csv-duplicate-rows-resolver.test.tsx) that covers: its main behaviour, the keyboard path and the error or empty states.