Intentwise Primitives

Product Analytics

Specialized components for product-level analysis including anomaly detection, AI chat assistance, change driver analysis, and multi-line filter inputs.

AnomalyCard

Product Anomaly

Displays a product anomaly card with image, metrics, key drivers, and action buttons for sharing and PDP links.

Apple AirPods Pro (2nd Generation)
Apple AirPods Pro (2nd Generation)
Mix:
-15.2%

Revenue Anomaly Detected

Key Drivers

  • Buy Box Seller Changed
  • Price increased by 12%
  • Ad Spend reduced by 40%
Show code
<AnomalyCard
  data={{
    product: { id: '...', name: '...', title: '...', imageUrl: '...' },
    performance: { label: 'Mix', value: '-15.2%', isPositive: false },
    keyDrivers: ['Buy Box Seller Changed', 'Price increased by 12%']
  }}
  onShare={(id) => {}}
  onProductClick={(id) => {}}
/>

With Chip Drivers

Key drivers displayed as chips instead of a bulleted list using driverDisplayType='chips'.

Samsung Galaxy Buds2 Pro
Samsung Galaxy Buds2 Pro
Revenue:
$8,200

Sales Anomaly

Key Drivers

Buy Box Seller
Price Change
Ad Spend
Glance Views
Show code
<AnomalyCard data={data} driverDisplayType="chips" />

WiziChat

AI Chat Assistant

Full-featured Wizi AI chat with IndexedDB state persistence, 5 message colors, copy, feedback, quick links, and loading indicator.

Show code
<WiziChat
  userName="Sourav"
  storageKey="demo-wizi"
  onSendMessage={async (msg) => ({ content: '...', status: 'success' })}
/>

MultiLineInput

Multi-Line Text Input

Textarea input for entering values separated by new lines. Used in filter dialogs for Campaign, ASIN, Ad Group, and Keyword filters.

Enter the Campaigns name separated by new line
Show code
<MultiLineInput
  value={value}
  onChange={setValue}
  label="Enter the Campaigns name separated by new line"
  countLabel="Campaign(s)"
/>

ChangeDrivers

Change Drivers Accordion

Collapsible accordion list of change drivers, each containing a DataTable. Supports global expand/collapse.

Change Drivers
When analyzing specific parts of the account only the relevant cards in the change driver section will appear
3
Buy Box Seller Change
Revenue$15,200$12,900-15.2%
Units Sold1,4501,264-12.8%
Conversion8.2%6.9%-15.9%
Showing 1 to 3 of 3
1 / 1
2
Price Change
Show code
<ChangeDrivers items={[
  { id: '1', title: 'Buy Box', count: 3, data: { columns: [...], rows: [...] } },
]} />

FilterSelect

Immediate multi-select

A labeled filter dropdown with search and Select all / Clear. onChange fires on every toggle.

Show code
<FilterSelect
  data={{ label: 'Campaign Type', options, value, mode: 'multi' }}
  onChange={setValue}
/>

Staged Apply / Cancel

`confirm` stages toggles in a temp selection and commits only on Apply β€” with a title header, Select All / Deselect All, and a footer count.

Show code
<FilterSelect
  data={{ label: 'Campaign Type', options, value, mode: 'multi' }}
  title="Campaign Type"
  hideLabel
  confirm
  bulkActions="select-deselect"
  onChange={setValue}
/>

RankedMetricList

Chevron (Top 5 Path Performance)

Ranked rows with a leading chevron flow, a primary metric, and a secondary metric.

Top 5 Path Performance by Spend

#1
$12,480
Spend
4.62%Purchase Rate
#2
$9,214
Spend
3.91%Purchase Rate
Show code
<RankedMetricList
  title="Top 5 Path Performance by Spend"
  rankStyle="hash"
  rows={rows}
/>

Chevron + metric selector (top-right)

A SelectField in the header `selector` slot swaps the primary + secondary metric per row, mirroring the Path-to-Conversion card's dropdown.

Top 5 Path Performance by Spend

#1
$12,480
Spend
4.62%Purchase Rate
#2
$9,214
Spend
3.91%Purchase Rate
Show code
const [metric, setMetric] = useState('spend');
<RankedMetricList
  title={`Top 5 Path Performance by ${label}`}
  rankStyle="hash"
  rows={rows}
  selector={
    <SelectField value={metric} onChange={(v) => setMetric(v)}>
      {PATH_METRICS.map((m) => (
        <option key={m.value} value={m.value}>{m.label}</option>
      ))}
    </SelectField>
  }
/>

RankedCardGrid

Top 10 Regions (5 Γ— 2)

Responsive grid of ranked cards, each with a primary and secondary metric, plus an optional header selector.

Top 10 Regions by Total Sales

1California
Total Sales
$1.24M
ROAS
4.62
2Texas
Total Sales
$982.4K
ROAS
4.11
3New York
Total Sales
$871.2K
ROAS
3.98
4Florida
Total Sales
$744.4K
ROAS
3.72
5Illinois
Total Sales
$612.9K
ROAS
3.55
6Pennsylvania
Total Sales
$588.1K
ROAS
3.41
7Ohio
Total Sales
$501.3K
ROAS
3.28
8Georgia
Total Sales
$477.8K
ROAS
3.12
9North Carolina
Total Sales
$433.6K
ROAS
2.98
10Michigan
Total Sales
$402.5K
ROAS
2.87
Show code
<RankedCardGrid
  title="Top 10 Regions by Total Sales"
  columns={5}
  cards={topRegions}
  selector={<select>...</select>}
/>

Entity Cards

ProductStatCard β€” product + 2 metrics + bar

A ranked product card with image, title link, two stats, and a proportion bar.

1
B0CV5ZDC9X

Black Girl Vitamins | Collagen Peptides Powder - Collagen for Skin, Hair & Nails

NTB Purchased Users163.31K
NTB Purchased Users %68.13%
Show code
<ProductStatCard
  data={{
    rank: 1,
    code: 'B0CV5ZDC9X',
    title: '...',
    href: 'https://www.amazon.com/dp/B0CV5ZDC9X',
    stats: [
      { label: 'NTB Purchased Users', value: '163.31K' },
      { label: 'NTB Purchased Users %', value: '68.13%' },
    ],
    progress: 68,
  }}
/>

EntityComboCard β€” 2 products + 2 metrics

A pairing card for ASIN combinations with high overlap purchasers: a lead entity, an overlap entity, and shared metrics.

1
Lead ASIN
B0D2P5NFYTBlack Girl Vitamins Once a Day - Womens Multivitamin Gummies
Overlap ASIN
B0CV5ZDC9XBlack Girl Vitamins | Collagen Peptides Powder - Collagen for Skin, Hair & Nails
Overlap Metrics
4,291Purchases
6.1%Ratio
Show code
<EntityComboCard
  data={{
    rank: 1,
    leadLabel: 'Lead ASIN',
    lead: { code: 'B0D2P5NFYT', title: '...', href: '...' },
    overlapLabel: 'Overlap ASIN',
    overlap: { code: 'B0CV5ZDC9X', title: '...', href: '...' },
    metricsTitle: 'Overlap Metrics',
    metrics: [
      { label: 'Purchases', value: '4,291' },
      { label: 'Ratio', value: '6.1%' },
    ],
  }}
/>

AsinDetail

ASIN reference (image + code + title)

A compact ASIN reference block: thumbnail, code with an external link, and a title clamped to 1–2 lines (full title on hover).

B0CV5ZDC9XBlack Girl Vitamins | Collagen Peptides Powder - Collagen for Skin, Hair & Nails
Show code
<AsinDetail
  variant="compact"
  data={{ code: 'B0CV5ZDC9X', title: '...', href: '...' }}
  titleLines={2}
/>

Single line (truncated)

`titleLines={1}` clamps the title to one line with an ellipsis; the full title shows on hover.

B0F1BRZ5634E's Novelty DIY Pinwheels Craft for Kids (Pack) Colorful Wind Spinners
Show code
<AsinDetail variant="compact" data={{ code: 'B0F1BRZ563', title: '...' }} titleLines={1} />

Full title (expandTitle)

`expandTitle` renders the full title with no clamp β€” the block grows to fit.

B0D2P5NFYTBlack Girl Vitamins Once a Day - Womens Multivitamin Gummies for Energy, Immune Support & Overall Wellness
Show code
<AsinDetail variant="compact" data={{ code: 'B0D2P5NFYT', title: '...' }} expandTitle />

PathToConversionCard

Block with 4 metrics

First-touch / last-touch path analysis card: a ranked block with the path stages, four metrics, and a footer proportion bar.

1
SPDSP
Total Sales$15,292,729
Total Spend$7,519,376
Total Users283,390
Purchase Rate0.03%
% of total sales10.23%
Show code
<PathToConversionCard
  data={{
    rank: 1,
    stages: ['SP', 'DSP'],
    metrics: [
      { label: 'Total Sales', value: '$15,292,729' },
      { label: 'Total Spend', value: '$7,519,376' },
      { label: 'Total Users', value: '283,390' },
      { label: 'Purchase Rate', value: '0.03%' },
    ],
    footerLabel: '% of total sales',
    footerValue: '10.23%',
    progress: 10.23,
  }}
/>

MetricBarCell

Primary + bar + secondary

A table cell renderer with a primary metric, an inline proportion bar, and a secondary metric (the metric-with-inline-bar cells on the IGPPC product table).

$62.64KTotal Ad Sales
68.30%
Show code
<MetricBarCell
  primary={{ label: 'Total Ad Sales', value: '$62.64K' }}
  progress={68}
  secondary={{ value: '68.30%' }}
/>

Variants β€” inline / dual / stat / compact

`variant` switches the layout: inline (value Β· bar Β· %-pill), dual (two label/value rows + bar), stat (label header + bar), and compact (value + bar).

352,716
66.50%
NTB Purchased Users163.31K
NTB Purchased Users %68.13%
% of total sales7.33%
5.72
Show code
<MetricBarCell variant="dual" primary={{ label: 'NTB Purchased Users', value: '163.31K' }} secondary={{ label: 'NTB Purchased Users %', value: '68.13%' }} progress={68} />

StarRating

Rating + value

Star rating indicator for Content Analytics ratings, with optional numeric value and size variants.

Show code
<StarRating data={{ value: 4.5, showValue: true }} />