Skip to content
Viewership Inquire
Astro UI

Records Table.

CRM-style AI spreadsheet with tags, sorting and configurable AI columns.

DataComponent2 dependencies Beautiful UI, MIT

.md
Cited sources
Table actions
Alder Camp Forum · Tallinn
ForumReviews No contact No communication –
TravelReviews 3 months ago Very weak alpine-stay.test (opens in a new tab)
PodcastCitedSeasonal 15 days ago Weak basecamp-pod.test (opens in a new tab)
RedditBlogSeasonal 7 days ago Very strong bluebird-trails.test (opens in a new tab)
ForumYouTube almost 2 years ago Very weak clay-ridge.test (opens in a new tab)
ShortsNewsletter 6 days ago Very strong cobalt-climbing.test (opens in a new tab)
ShortsSeasonal 8 months ago Weak dune-road.test (opens in a new tab)
EventsCitedReviews about 2 years ago No communication foundry-expo.test (opens in a new tab)
ForumReviews 2 months ago Weak gearlab-reviews.test (opens in a new tab)
RetailerGuides 15 days ago Weak greenhouse-goods.test (opens in a new tab)
ForumCited over 1 year ago Very weak hiketalk.test (opens in a new tab)
RedditReviewsSeasonal 11 days ago Very strong kiln-trails.test (opens in a new tab)
RedditEventsBlog 2 days ago Very strong loom-ledge.test (opens in a new tab)
ForumBlog 9 days ago Very strong low-tide.test (opens in a new tab)
NewsNewsletterCited about 1 month ago Very weak meridian-media.test (opens in a new tab)
RetailerBlogNewsletter 2 months ago Weak orchard-outfit.test (opens in a new tab)
NewsNewsletter over 1 year ago Very weak outdoor-wire.test (opens in a new tab)
Packlight Shorts · Lisbon
ShortsYouTube 5 months ago Very weak –
Parlour Nine Vlog · Montréal
RedditYouTube about 1 month ago Very weak –
RedditCited 9 days ago Very strong reddit.test (opens in a new tab)
RedditGuidesSeasonal No contact No communication reddit.test (opens in a new tab)
NewsYouTube about 1 month ago Weak saltgrass.test (opens in a new tab)
RedditRetailer over 2 years ago No communication sundial-maps.test (opens in a new tab)
RedditYouTubeCited 5 weeks ago Weak gear-pressroom.test (opens in a new tab)
Thistle Trail Guides · Dublin
RedditGuides No contact No communication –
RedditYouTubeBlog 3 weeks ago Very strong trailnotes.test (opens in a new tab)
TravelSeasonalReviews 18 days ago Weak verandah-travel.test (opens in a new tab)
RedditPodcast 4 days ago Very strong wren-wild.test (opens in a new tab)
28 count – 56% average 24 links

Install

  1. Import the foundation once

    foundation.css holds the tokens every component reads.

    Layout.astro
    ---
    // src/layouts/Layout.astro
    import "../styles/foundation.css";
    ---
  2. Copy RecordsTable.astro

    Paste into src/components/viewership/records-table/

  3. Copy its dependencies

    Each in its own folder, next to this one.

  4. Use it

    Page.astro
    ---
    import RecordsTable from "../components/viewership/records-table/RecordsTable.astro";
    ---
    
    <RecordsTable />

Props 12

PropTypeDefaultDescription
rows RecordRow[] · { id, name, tags, last, lastDays?, strength, website?, ai? }. Omit `lastDays` for no contact. `ai` is the AI column value.
caption string "Records" Hidden caption. Also names the scroll region and select-all.
columns { company?, categories?, last?, strength?, links? } · Header labels.
columnConfig Partial<Record<ColumnKey, Partial<ColumnConfig>>> · Popover overrides: type, tool, toolKind, inputs, prompt.
tagColors Record<string, string> · Tag → palette name (amber, lime, yellow, purple, orange, cyan, red, magenta, green, pink) or CSS color.
strengthLabels Partial<Record<Strength, string>> · Strength level labels.
models string[] ["Atlas 5", "Atlas 4.2", "Atlas Mini"] Tool picker models. First is the default.
aiColumn { label, type?, tool?, prompt? } | null { label: "Competitors" } AI property added by the + menu. Cells resolve to each row's `ai`.
sort { key: "name" | "last" | "strength"; dir?: 1 | -1 } { key: "name", dir: 1 } Initial sort.
fill boolean false Fill the parent card, no border or shadow.
maxHeight string "438px" Scroll viewport max height.
Events CustomEvent · vs-records-selection { ids }, vs-records-sort { key, dir }, vs-records-calculate { column, label }, vs-records-property { type }, vs-records-add-calculation.

Source 1 file

Ported from Beautiful UI, MIT. Notices.