Unified presentation component for rendering HubSpot ticket data as a card or inline row, with no internal navigation logic — link behavior is fully delegated to the caller via `anchorProps`. ## Key Components ### `HubspotTicketCard` Primary export. Renders a `HubspotTicketItem` in one of two layouts: - **`compact`** (default): Full card with title, priority/status badges, customer email, preview text, company, and date. Links via `anchorProps`, a derived `href`, or renders as a static `` if no URL is available. - **`row`**: Minimal inline layout — title, preview snippet, status badge, and date — suited for list or table rows. ### `HubspotTicketCardSkeleton` Loading placeholder matching the `compact` or `row` layout with animated pulse shimmer blocks. ### Helper functions | Function | Purpose | |---|---| | `formatToken` | Normalizes `SNAKE_CASE` enum strings to `Title case` for display | | `priorityScheme` | Maps `URGENT / HIGH / MEDIUM / …` to badge color variants | | `statusScheme` | Maps `CLOSED / OPEN / …` to badge color variants | ### Interfaces - **`HubspotTicketCardAnchorProps`** — `href`, optional `target`, `rel`, and `onClick` passed through to the rendered ``. - **`HubspotTicketCardProps`** — `item`, `variant`, `className`, `anchorProps`. ## Usage Example ```typescript // Compact card driven by caller-composed anchor props handleTicketClick(e, ticketItem.id), }} /> // Inline row variant (e.g. inside a search result list) // Skeleton while data loads ```