{
  "$schema": "https://uipkge.dev/schema/registry-item.json",
  "name": "influencer-campaign-card",
  "title": "Influencer Campaign Card",
  "type": "registry:block",
  "files": [
    {
      "path": "packages/registry-angular/blocks/influencer-campaign-card/influencer-campaign-card.component.ts",
      "content": "// Creator partnership management card with verified creator hero profile, multi-channel\n// reach demographics, 4-column campaign telemetry HUD, contract deliverables checklist with\n// live asset telemetry, and affiliate promo code ROI tracker. Port of the React block 1:1.\nimport { ChangeDetectionStrategy, Component, DestroyRef, Input, inject, signal } from '@angular/core'\nimport {\n  BadgeCheck,\n  Check,\n  Clock,\n  Copy,\n  DollarSign,\n  ExternalLink,\n  Eye,\n  FileText,\n  LucideAngularModule,\n  Mail,\n  MessageSquare,\n  Play,\n  Share2,\n  Target,\n  TrendingUp,\n  Users,\n  Video,\n} from 'lucide-angular'\nimport { cn } from '@/lib/utils'\nimport { UiAvatarComponent, UiAvatarFallbackComponent, UiAvatarImageComponent } from '@/ui/avatar/avatar.component'\nimport { UiBadgeComponent } from '@/ui/badge/badge.component'\nimport { UiButtonComponent } from '@/ui/button/button.component'\nimport {\n  UiCardComponent,\n  UiCardContentComponent,\n  UiCardDescriptionComponent,\n  UiCardHeaderComponent,\n  UiCardTitleComponent,\n} from '@/ui/card/card.component'\nimport { UiProgressComponent } from '@/ui/progress/progress.component'\nimport { UiSeparatorComponent } from '@/ui/separator/separator.component'\nimport {\n  UiTableBodyComponent,\n  UiTableCellComponent,\n  UiTableComponent,\n  UiTableHeadComponent,\n  UiTableHeaderComponent,\n  UiTableRowComponent,\n} from '@/ui/table/table.component'\n\n@Component({\n  changeDetection: ChangeDetectionStrategy.Eager,\n  selector: 'ui-influencer-campaign-card, [ui-influencer-campaign-card]',\n  standalone: true,\n  // React renders the root <div> itself: the host stays out of layout and `class` goes to the root.\n  host: { '[attr.class]': '\"contents\"' },\n  imports: [\n    LucideAngularModule,\n    UiAvatarComponent,\n    UiAvatarFallbackComponent,\n    UiAvatarImageComponent,\n    UiBadgeComponent,\n    UiButtonComponent,\n    UiCardComponent,\n    UiCardContentComponent,\n    UiCardDescriptionComponent,\n    UiCardHeaderComponent,\n    UiCardTitleComponent,\n    UiProgressComponent,\n    UiSeparatorComponent,\n    UiTableBodyComponent,\n    UiTableCellComponent,\n    UiTableComponent,\n    UiTableHeadComponent,\n    UiTableHeaderComponent,\n    UiTableRowComponent,\n  ],\n  template: `\n    <div data-slot=\"influencer-campaign-card\" [class]=\"rootClass\">\n      <!-- 1. Creator Hero Header Card -->\n      <div ui-card class=\"border-border overflow-hidden shadow-xs\">\n        <div\n          class=\"from-primary/20 via-primary/10 border-border/50 h-28 w-full border-b bg-gradient-to-r to-transparent\"\n          aria-hidden=\"true\"\n        ></div>\n        <div ui-card-content class=\"px-6 pt-0 pb-6\">\n          <div class=\"flex flex-col gap-6 sm:flex-row sm:items-start sm:justify-between\">\n            <div class=\"flex flex-col gap-4 sm:flex-row sm:items-start\">\n              <div class=\"relative -mt-12 size-20 shrink-0\">\n                <ui-avatar size=\"2xl\" class=\"border-background size-20 border-4 shadow-xs\">\n                  <ui-avatar-image\n                    src=\"https://images.unsplash.com/photo-1534528741775-53994a69daeb?q=80&w=320&auto=format&fit=crop\"\n                    alt=\"Alex Rivera\"\n                  />\n                  <ui-avatar-fallback class=\"bg-primary/10 text-primary text-lg font-semibold\"> AR </ui-avatar-fallback>\n                </ui-avatar>\n                <span\n                  class=\"bg-primary text-primary-foreground ring-background absolute -right-1 -bottom-1 flex size-6 items-center justify-center rounded-full shadow-xs ring-2\"\n                  title=\"Verified Creator\"\n                >\n                  <lucide-icon [img]=\"BadgeCheck\" class=\"size-3.5\" />\n                </span>\n              </div>\n\n              <div class=\"space-y-2\">\n                <div class=\"flex flex-wrap items-center gap-2.5\">\n                  <h1 class=\"text-foreground text-xl font-bold tracking-tight\">\n                    Alex Rivera <span class=\"text-muted-foreground font-normal\">· Tech & Design Creator</span>\n                  </h1>\n                  <span ui-badge variant=\"success\" class=\"gap-1.5 font-medium\">\n                    <span class=\"bg-success size-1.5 animate-pulse rounded-full\"></span>\n                    Active Campaign · Q3 Launch\n                  </span>\n                </div>\n\n                <!-- Channel Handles -->\n                <div class=\"text-muted-foreground flex flex-wrap items-center gap-3 text-xs\">\n                  <div class=\"text-foreground flex items-center gap-1.5 font-medium\">\n                    <lucide-icon [img]=\"Play\" class=\"text-destructive size-3.5\" />\n                    <span>&#64;alextech</span>\n                    <span class=\"text-muted-foreground font-normal tabular-nums\">(450k)</span>\n                  </div>\n                  <div class=\"text-foreground flex items-center gap-1.5 font-medium\">\n                    <lucide-icon [img]=\"Share2\" class=\"text-info size-3.5\" />\n                    <span>&#64;alextech</span>\n                    <span class=\"text-muted-foreground font-normal tabular-nums\">(120k)</span>\n                  </div>\n                  <div class=\"text-foreground flex items-center gap-1.5 font-medium\">\n                    <lucide-icon [img]=\"Video\" class=\"text-chart-1 size-3.5\" />\n                    <span>&#64;alextech</span>\n                    <span class=\"text-muted-foreground font-normal tabular-nums\">(280k)</span>\n                  </div>\n                </div>\n\n                <!-- Niche Tags -->\n                <div class=\"flex flex-wrap items-center gap-1.5 pt-1\">\n                  <span ui-badge variant=\"secondary\" class=\"text-xs font-normal\">Developer Tools</span>\n                  <span ui-badge variant=\"secondary\" class=\"text-xs font-normal\">Hardware</span>\n                  <span ui-badge variant=\"secondary\" class=\"text-xs font-normal\">Productivity</span>\n                </div>\n              </div>\n            </div>\n\n            <!-- Actions -->\n            <div class=\"flex flex-wrap items-center gap-2 pt-2 sm:pt-0\">\n              <button ui-button size=\"sm\" class=\"gap-1.5\">\n                <lucide-icon [img]=\"MessageSquare\" class=\"size-4\" />\n                Message Creator\n              </button>\n              <button ui-button variant=\"outline\" size=\"sm\" class=\"gap-1.5\">\n                <lucide-icon [img]=\"FileText\" class=\"size-4\" />\n                View Contract PDF\n              </button>\n              <button ui-button variant=\"outline\" size=\"sm\" class=\"gap-1.5\">\n                <lucide-icon [img]=\"Eye\" class=\"size-4\" />\n                Review Draft Asset\n              </button>\n            </div>\n          </div>\n        </div>\n      </div>\n\n      <!-- 2. 4 Campaign Telemetry Cards -->\n      <div class=\"grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4\">\n        <!-- Reach -->\n        <div ui-card class=\"border-border shadow-xs\">\n          <div ui-card-content class=\"space-y-3 p-5\">\n            <div class=\"flex items-center justify-between\">\n              <span class=\"text-muted-foreground text-xs font-medium tracking-wider uppercase\">Total Reach</span>\n              <div class=\"bg-primary/10 text-primary flex size-8 items-center justify-center rounded-lg\">\n                <lucide-icon [img]=\"Users\" class=\"size-4\" />\n              </div>\n            </div>\n            <div class=\"space-y-1\">\n              <div class=\"text-foreground text-2xl font-bold tracking-tight tabular-nums\">850,000</div>\n              <p class=\"text-muted-foreground text-xs\">850,000 cross-platform reach</p>\n            </div>\n            <div class=\"flex items-center gap-1.5 pt-1\">\n              <span ui-badge variant=\"secondary\" class=\"text-xs font-medium\">3 Channels</span>\n              <span class=\"text-muted-foreground text-xs tabular-nums\">+18.4% YoY</span>\n            </div>\n          </div>\n        </div>\n\n        <!-- Avg Engagement Rate -->\n        <div ui-card class=\"border-border shadow-xs\">\n          <div ui-card-content class=\"space-y-3 p-5\">\n            <div class=\"flex items-center justify-between\">\n              <span class=\"text-muted-foreground text-xs font-medium tracking-wider uppercase\">Avg Engagement</span>\n              <div class=\"bg-success/10 text-success flex size-8 items-center justify-center rounded-lg\">\n                <lucide-icon [img]=\"TrendingUp\" class=\"size-4\" />\n              </div>\n            </div>\n            <div class=\"space-y-1\">\n              <div class=\"text-foreground text-2xl font-bold tracking-tight tabular-nums\">5.8%</div>\n              <p class=\"text-muted-foreground text-xs\">Across YouTube & Twitter</p>\n            </div>\n            <div class=\"flex items-center gap-1.5 pt-1\">\n              <span ui-badge variant=\"success\" class=\"text-xs font-medium\">vs 2.4% industry benchmark</span>\n            </div>\n          </div>\n        </div>\n\n        <!-- Contract Value & Fee -->\n        <div ui-card class=\"border-border shadow-xs\">\n          <div ui-card-content class=\"space-y-3 p-5\">\n            <div class=\"flex items-center justify-between\">\n              <span class=\"text-muted-foreground text-xs font-medium tracking-wider uppercase\">Contract Value</span>\n              <div class=\"bg-info/10 text-info flex size-8 items-center justify-center rounded-lg\">\n                <lucide-icon [img]=\"DollarSign\" class=\"size-4\" />\n              </div>\n            </div>\n            <div class=\"space-y-1\">\n              <div class=\"text-foreground text-2xl font-bold tracking-tight tabular-nums\">$6,500.00</div>\n              <p class=\"text-muted-foreground text-xs\">$6,500.00 Fixed + 10% Affiliate</p>\n            </div>\n            <div class=\"flex items-center gap-1.5 pt-1\">\n              <span ui-badge variant=\"outline\" class=\"text-xs font-medium\">Escrow Funded</span>\n              <span class=\"text-muted-foreground text-xs\">50% Disbursed</span>\n            </div>\n          </div>\n        </div>\n\n        <!-- Campaign ROI / Conversions -->\n        <div ui-card class=\"border-border shadow-xs\">\n          <div ui-card-content class=\"space-y-3 p-5\">\n            <div class=\"flex items-center justify-between\">\n              <span class=\"text-muted-foreground text-xs font-medium tracking-wider uppercase\">Campaign ROI</span>\n              <div class=\"bg-warning/10 text-warning flex size-8 items-center justify-center rounded-lg\">\n                <lucide-icon [img]=\"Target\" class=\"size-4\" />\n              </div>\n            </div>\n            <div class=\"space-y-1\">\n              <div class=\"text-foreground text-2xl font-bold tracking-tight tabular-nums\">2.8x ROAS</div>\n              <p class=\"text-muted-foreground text-xs\">428 signups · $18,400 ARR generated</p>\n            </div>\n            <div class=\"flex items-center gap-1.5 pt-1\">\n              <span ui-badge variant=\"success\" class=\"text-xs font-medium\">14.2% CVR</span>\n              <span class=\"text-muted-foreground text-xs tabular-nums\">$43.00 CPA</span>\n            </div>\n          </div>\n        </div>\n      </div>\n\n      <!-- 3. Contract Deliverables Checklist -->\n      <div ui-card class=\"border-border shadow-xs\">\n        <div ui-card-header class=\"flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between\">\n          <div class=\"space-y-1\">\n            <h3 ui-card-title class=\"text-base font-semibold\">Contract Deliverables</h3>\n            <p ui-card-description class=\"text-xs\">\n              Deliverables status, review workflows, and live audience performance.\n            </p>\n          </div>\n          <div class=\"flex flex-col gap-1.5 sm:items-end\">\n            <div class=\"text-muted-foreground flex items-center gap-2 text-xs font-medium\">\n              <span> Progress: <strong class=\"text-foreground\">2 of 4 Completed</strong> </span>\n              <span class=\"text-muted-foreground tabular-nums\">(50%)</span>\n            </div>\n            <ui-progress [value]=\"50\" class=\"h-2 w-48 sm:w-56\" />\n          </div>\n        </div>\n        <div ui-card-content class=\"p-0\">\n          <div class=\"overflow-x-auto\">\n            <table ui-table>\n              <thead ui-table-header>\n                <tr ui-table-row>\n                  <th ui-table-head class=\"min-w-[220px]\">Deliverable & Scope</th>\n                  <th ui-table-head class=\"w-[160px]\">Status</th>\n                  <th ui-table-head class=\"min-w-[200px]\">Live Performance</th>\n                  <th ui-table-head class=\"w-[140px]\">Timeline</th>\n                  <th ui-table-head class=\"w-[120px] text-right\">Action</th>\n                </tr>\n              </thead>\n              <tbody ui-table-body>\n                <!-- Deliverable 1 -->\n                <tr ui-table-row>\n                  <td ui-table-cell>\n                    <div class=\"flex items-start gap-3\">\n                      <div\n                        class=\"bg-destructive/10 text-destructive mt-0.5 flex size-8 shrink-0 items-center justify-center rounded-md\"\n                      >\n                        <lucide-icon [img]=\"Play\" class=\"size-4\" />\n                      </div>\n                      <div class=\"space-y-0.5\">\n                        <p class=\"text-foreground text-sm font-medium\">Dedicated YouTube Review Video</p>\n                        <p class=\"text-muted-foreground text-xs\">10-12 min dedicated review + bio affiliate link</p>\n                      </div>\n                    </div>\n                  </td>\n                  <td ui-table-cell>\n                    <span ui-badge variant=\"success\" class=\"gap-1\">\n                      <lucide-icon [img]=\"Check\" class=\"size-3\" />\n                      Completed\n                    </span>\n                  </td>\n                  <td ui-table-cell>\n                    <div class=\"space-y-0.5\">\n                      <p class=\"text-foreground text-xs font-medium tabular-nums\">48k views · 4.2k likes</p>\n                      <p class=\"text-muted-foreground text-xs tabular-nums\">312 comments · 8.4% CTR</p>\n                    </div>\n                  </td>\n                  <td ui-table-cell>\n                    <span class=\"text-muted-foreground text-xs tabular-nums\">Live Aug 15, 2026</span>\n                  </td>\n                  <td ui-table-cell class=\"text-right\">\n                    <button ui-button variant=\"ghost\" size=\"xs\" class=\"text-primary hover:text-primary gap-1\">\n                      Watch\n                      <lucide-icon [img]=\"ExternalLink\" class=\"size-3\" />\n                    </button>\n                  </td>\n                </tr>\n\n                <!-- Deliverable 2 -->\n                <tr ui-table-row>\n                  <td ui-table-cell>\n                    <div class=\"flex items-start gap-3\">\n                      <div\n                        class=\"bg-info/10 text-info mt-0.5 flex size-8 shrink-0 items-center justify-center rounded-md\"\n                      >\n                        <lucide-icon [img]=\"Share2\" class=\"size-4\" />\n                      </div>\n                      <div class=\"space-y-0.5\">\n                        <p class=\"text-foreground text-sm font-medium\">Twitter / X Launch Thread</p>\n                        <p class=\"text-muted-foreground text-xs\">8-part technical breakdown with demo clips</p>\n                      </div>\n                    </div>\n                  </td>\n                  <td ui-table-cell>\n                    <span ui-badge variant=\"success\" class=\"gap-1\">\n                      <lucide-icon [img]=\"Check\" class=\"size-3\" />\n                      Completed\n                    </span>\n                  </td>\n                  <td ui-table-cell>\n                    <div class=\"space-y-0.5\">\n                      <p class=\"text-foreground text-xs font-medium tabular-nums\">180 retweets · 1.2k bookmarks</p>\n                      <p class=\"text-muted-foreground text-xs tabular-nums\">22.4k impressions</p>\n                    </div>\n                  </td>\n                  <td ui-table-cell>\n                    <span class=\"text-muted-foreground text-xs tabular-nums\">Live Aug 18, 2026</span>\n                  </td>\n                  <td ui-table-cell class=\"text-right\">\n                    <button ui-button variant=\"ghost\" size=\"xs\" class=\"text-primary hover:text-primary gap-1\">\n                      View\n                      <lucide-icon [img]=\"ExternalLink\" class=\"size-3\" />\n                    </button>\n                  </td>\n                </tr>\n\n                <!-- Deliverable 3 -->\n                <tr ui-table-row>\n                  <td ui-table-cell>\n                    <div class=\"flex items-start gap-3\">\n                      <div\n                        class=\"bg-chart-1/10 text-chart-1 mt-0.5 flex size-8 shrink-0 items-center justify-center rounded-md\"\n                      >\n                        <lucide-icon [img]=\"Video\" class=\"size-4\" />\n                      </div>\n                      <div class=\"space-y-0.5\">\n                        <p class=\"text-foreground text-sm font-medium\">TikTok Short & Instagram Reel</p>\n                        <p class=\"text-muted-foreground text-xs\">60s vertical workflow demo highlighting UI speed</p>\n                      </div>\n                    </div>\n                  </td>\n                  <td ui-table-cell>\n                    <span ui-badge variant=\"warning\" class=\"gap-1\">\n                      <lucide-icon [img]=\"Clock\" class=\"size-3\" />\n                      Draft Pending Approval\n                    </span>\n                  </td>\n                  <td ui-table-cell>\n                    <div class=\"space-y-0.5\">\n                      <p class=\"text-muted-foreground text-xs\">v2 cut ready for approval</p>\n                      <p class=\"text-muted-foreground text-xs tabular-nums\">1080x1920 60fps · 58s</p>\n                    </div>\n                  </td>\n                  <td ui-table-cell>\n                    <span class=\"text-warning dark:text-warning text-xs font-medium tabular-nums\">\n                      Due Aug 28, 2026\n                    </span>\n                  </td>\n                  <td ui-table-cell class=\"text-right\">\n                    <button ui-button variant=\"outline\" size=\"xs\" class=\"gap-1\">\n                      Review\n                      <lucide-icon [img]=\"Eye\" class=\"size-3\" />\n                    </button>\n                  </td>\n                </tr>\n\n                <!-- Deliverable 4 -->\n                <tr ui-table-row>\n                  <td ui-table-cell>\n                    <div class=\"flex items-start gap-3\">\n                      <div\n                        class=\"bg-warning/10 text-warning mt-0.5 flex size-8 shrink-0 items-center justify-center rounded-md\"\n                      >\n                        <lucide-icon [img]=\"Mail\" class=\"size-4\" />\n                      </div>\n                      <div class=\"space-y-0.5\">\n                        <p class=\"text-foreground text-sm font-medium\">Newsletter Feature Sponsorship</p>\n                        <p class=\"text-muted-foreground text-xs\">Sponsored lead editorial placement + logo banner</p>\n                      </div>\n                    </div>\n                  </td>\n                  <td ui-table-cell>\n                    <span ui-badge variant=\"secondary\" class=\"gap-1\">\n                      <lucide-icon [img]=\"Clock\" class=\"size-3\" />\n                      Scheduled\n                    </span>\n                  </td>\n                  <td ui-table-cell>\n                    <div class=\"space-y-0.5\">\n                      <p class=\"text-muted-foreground text-xs tabular-nums\">Estimated 65,000 readers</p>\n                      <p class=\"text-muted-foreground text-xs tabular-nums\">48% historical open rate</p>\n                    </div>\n                  </td>\n                  <td ui-table-cell>\n                    <span class=\"text-muted-foreground text-xs tabular-nums\">Sep 02, 2026</span>\n                  </td>\n                  <td ui-table-cell class=\"text-right\">\n                    <button ui-button variant=\"ghost\" size=\"xs\" disabled class=\"opacity-50\">Queued</button>\n                  </td>\n                </tr>\n              </tbody>\n            </table>\n          </div>\n        </div>\n      </div>\n\n      <!-- 4. Affiliate Link & Promo Code Performance Card -->\n      <div ui-card class=\"border-border shadow-xs\">\n        <div ui-card-header>\n          <h3 ui-card-title class=\"text-base font-semibold\">Affiliate Link & Promo Code Performance</h3>\n          <p ui-card-description class=\"text-xs\">\n            Real-time redemption tracking, attribution metrics, and affiliate commission balance.\n          </p>\n        </div>\n        <div ui-card-content class=\"space-y-6\">\n          <div class=\"grid grid-cols-1 gap-6 lg:grid-cols-12\">\n            <!-- Left: Code & Link Controls -->\n            <div class=\"space-y-4 lg:col-span-5\">\n              <div class=\"bg-muted/40 border-border space-y-4 rounded-lg border p-4\">\n                <!-- Promo Code -->\n                <div class=\"space-y-1.5\">\n                  <div class=\"flex items-center justify-between text-xs\">\n                    <span class=\"text-muted-foreground font-medium\">Promo Code (20% Discount)</span>\n                    <span class=\"text-success font-medium\">Active</span>\n                  </div>\n                  <div class=\"flex items-center gap-2\">\n                    <div\n                      class=\"bg-background border-border text-primary flex flex-1 items-center justify-between rounded-md border px-3 py-1.5 font-mono text-sm font-semibold tracking-wider\"\n                    >\n                      <span>ALEX20</span>\n                      <span class=\"text-muted-foreground font-sans text-xs font-normal\">20% off</span>\n                    </div>\n                    <button ui-button variant=\"outline\" size=\"sm\" class=\"shrink-0 gap-1.5 text-xs\" (click)=\"copyCode()\">\n                      @if (copiedCode()) {\n                        <lucide-icon [img]=\"Check\" class=\"text-success size-3.5\" />\n                      } @else {\n                        <lucide-icon [img]=\"Copy\" class=\"text-muted-foreground size-3.5\" />\n                      }\n                      {{ copiedCode() ? 'Copied' : 'Copy' }}\n                    </button>\n                  </div>\n                </div>\n\n                <ui-separator />\n\n                <!-- Referral Link -->\n                <div class=\"space-y-1.5\">\n                  <div class=\"flex items-center justify-between text-xs\">\n                    <span class=\"text-muted-foreground font-medium\">Referral Campaign URL</span>\n                    <span class=\"text-muted-foreground tabular-nums\">14.2% CVR</span>\n                  </div>\n                  <div class=\"flex items-center gap-2\">\n                    <div\n                      class=\"bg-background border-border text-muted-foreground flex-1 truncate rounded-md border px-3 py-1.5 font-mono text-xs\"\n                    >\n                      https://uipkge.dev/c/alex20\n                    </div>\n                    <button ui-button variant=\"outline\" size=\"sm\" class=\"shrink-0 gap-1.5 text-xs\" (click)=\"copyLink()\">\n                      @if (copiedLink()) {\n                        <lucide-icon [img]=\"Check\" class=\"text-success size-3.5\" />\n                      } @else {\n                        <lucide-icon [img]=\"Copy\" class=\"text-muted-foreground size-3.5\" />\n                      }\n                      {{ copiedLink() ? 'Copied' : 'Copy' }}\n                    </button>\n                  </div>\n                </div>\n              </div>\n            </div>\n\n            <!-- Right: Telemetry & Commission Stats -->\n            <div class=\"space-y-4 lg:col-span-7\">\n              <div class=\"grid grid-cols-1 gap-3 sm:grid-cols-3\">\n                <div class=\"bg-muted/30 border-border space-y-1 rounded-lg border p-3\">\n                  <span class=\"text-muted-foreground text-xs\">Redemptions</span>\n                  <p class=\"text-foreground text-xl font-bold tabular-nums\">428</p>\n                  <p class=\"text-success text-success text-xs tabular-nums\">+32 this week</p>\n                </div>\n                <div class=\"bg-muted/30 border-border space-y-1 rounded-lg border p-3\">\n                  <span class=\"text-muted-foreground text-xs\">Commission Earned</span>\n                  <p class=\"text-foreground text-xl font-bold tabular-nums\">$2,140.00</p>\n                  <p class=\"text-muted-foreground text-xs tabular-nums\">10% standard fee</p>\n                </div>\n                <div class=\"bg-muted/30 border-border space-y-1 rounded-lg border p-3\">\n                  <span class=\"text-muted-foreground text-xs\">Gross Revenue</span>\n                  <p class=\"text-foreground text-xl font-bold tabular-nums\">$21,400.00</p>\n                  <p class=\"text-muted-foreground text-xs tabular-nums\">$50.00 AOV</p>\n                </div>\n              </div>\n\n              <!-- Milestone Progress Bar -->\n              <div class=\"bg-muted/20 border-border space-y-2 rounded-lg border p-3.5\">\n                <div class=\"flex items-center justify-between text-xs\">\n                  <span class=\"text-muted-foreground\">\n                    Commission Milestone:\n                    <strong class=\"text-foreground font-medium\">428 / 500 redemptions</strong>\n                  </span>\n                  <span class=\"text-primary font-medium tabular-nums\">85.6% to 15% rate boost</span>\n                </div>\n                <ui-progress [value]=\"85.6\" class=\"h-2\" />\n              </div>\n\n              <!-- Payout Schedule notice -->\n              <div\n                class=\"border-border/70 bg-card text-muted-foreground flex items-center justify-between rounded-lg border px-3.5 py-2.5 text-xs\"\n              >\n                <div class=\"flex items-center gap-2\">\n                  <lucide-icon [img]=\"BadgeCheck\" class=\"text-success size-4\" />\n                  <span>\n                    Next payout: <strong class=\"text-foreground font-semibold tabular-nums\">$2,140.00</strong> via\n                    Stripe Connect\n                  </span>\n                </div>\n                <span class=\"text-foreground font-medium tabular-nums\">Sep 15, 2026</span>\n              </div>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  `,\n})\nexport class UiInfluencerCampaignCardComponent {\n  protected readonly BadgeCheck = BadgeCheck\n  protected readonly Check = Check\n  protected readonly Clock = Clock\n  protected readonly Copy = Copy\n  protected readonly DollarSign = DollarSign\n  protected readonly ExternalLink = ExternalLink\n  protected readonly Eye = Eye\n  protected readonly FileText = FileText\n  protected readonly Mail = Mail\n  protected readonly MessageSquare = MessageSquare\n  protected readonly Play = Play\n  protected readonly Share2 = Share2\n  protected readonly Target = Target\n  protected readonly TrendingUp = TrendingUp\n  protected readonly Users = Users\n  protected readonly Video = Video\n\n  @Input('class') className?: string\n\n  readonly copiedCode = signal(false)\n  readonly copiedLink = signal(false)\n  private codeTimer: ReturnType<typeof setTimeout> | undefined\n  private linkTimer: ReturnType<typeof setTimeout> | undefined\n\n  constructor() {\n    inject(DestroyRef).onDestroy(() => {\n      clearTimeout(this.codeTimer)\n      clearTimeout(this.linkTimer)\n    })\n  }\n\n  get rootClass(): string {\n    return cn('mx-auto w-full max-w-5xl space-y-6', this.className)\n  }\n\n  copyCode(): void {\n    void navigator.clipboard?.writeText('ALEX20')\n    this.copiedCode.set(true)\n    clearTimeout(this.codeTimer)\n    this.codeTimer = setTimeout(() => this.copiedCode.set(false), 2000)\n  }\n\n  copyLink(): void {\n    void navigator.clipboard?.writeText('https://uipkge.dev/c/alex20')\n    this.copiedLink.set(true)\n    clearTimeout(this.linkTimer)\n    this.linkTimer = setTimeout(() => this.copiedLink.set(false), 2000)\n  }\n}\n",
      "type": "registry:block",
      "target": "~/src/app/components/blocks/influencer-campaign-card/influencer-campaign-card.component.ts"
    },
    {
      "path": "packages/registry-angular/blocks/influencer-campaign-card/index.ts",
      "content": "export { UiInfluencerCampaignCardComponent } from './influencer-campaign-card.component'\n",
      "type": "registry:block",
      "target": "~/src/app/components/blocks/influencer-campaign-card/index.ts"
    }
  ],
  "dependencies": [
    "lucide-angular"
  ],
  "devDependencies": [],
  "registryDependencies": [
    "https://uipkge.dev/r/angular/avatar.json",
    "https://uipkge.dev/r/angular/badge.json",
    "https://uipkge.dev/r/angular/button.json",
    "https://uipkge.dev/r/angular/card.json",
    "https://uipkge.dev/r/angular/progress.json",
    "https://uipkge.dev/r/angular/separator.json",
    "https://uipkge.dev/r/angular/table.json"
  ],
  "description": "Creator partnership management card with verified creator hero profile, multi-channel reach demographics, 4-column campaign telemetry HUD, contract deliverables checklist with live asset telemetry, and affiliate promo code ROI tracker.",
  "categories": [
    "marketing",
    "dashboard",
    "app"
  ]
}