Component library

Showing 14 components on linkedin.

  • <PostFrame>

    linkedinsquareportraitlandscapecarouselreleaseproduct-updateblogcase-studyeventthought-leadershiphiringmilestonePosts

    Platform chrome wrapper with aspect ratio from dimension.

    When to use: Root wrapper for every post preview. Set platform and dimension to match the target feed.

    Preview

    LinkedInlandscape

    Product release

    Workflow versioning is live

    Pin production definitions. Promote through dev → staging → prod.
    PropTypeNotes
    platform"linkedin" | "instagram"Required. Target social platform.Values: linkedin, instagram
    dimension"square" | "portrait" | "landscape" | "carousel"Required. Layout aspect ratio.Values: square, portrait, landscape, carousel
    childrenReactNodeRequired. Post body.

    Examples

    <PostFrame platform="linkedin" dimension="landscape">
      <PostEyebrow>Product release</PostEyebrow>
      <PostHeadline>Workflow versioning is live</PostHeadline>
      <PostBody>Pin production definitions. Promote through dev → staging → prod.</PostBody>
    </PostFrame>
  • <PostEyebrow>

    linkedinsquareportraitlandscapecarouselreleaseproduct-updateblogcase-studyeventthought-leadershiphiringmilestonePosts

    Small uppercase label above the headline (intent or category).

    When to use: Surface what the post is for inside the preview card.

    Preview

    Product release

    PropTypeNotes
    childrenReactNodeRequired. Eyebrow label text.

    Examples

    <PostEyebrow>Product release</PostEyebrow>
  • <PostHeadline>

    linkedinsquareportraitlandscapecarouselreleaseproduct-updateblogcase-studyeventthought-leadershiphiringmilestonePosts

    Primary post headline.

    When to use: Hook line visible in the feed preview.

    Preview

    Your first AI agent, live in 2 weeks

    PropTypeNotes
    childrenReactNodeRequired. Headline text.

    Examples

    <PostHeadline>Your first AI agent, live in 2 weeks</PostHeadline>
  • <PostBody>

    linkedinsquareportraitlandscapecarouselreleaseproduct-updateblogcase-studyeventthought-leadershiphiringmilestonePosts

    Post copy body.

    When to use: Main prose after the headline.

    Preview

    Flat licence. Unlimited usage. Self-hosted from day one.
    PropTypeNotes
    childrenReactNodeRequired. Body copy.

    Examples

    <PostBody>Flat licence. Unlimited usage. Self-hosted from day one.</PostBody>
  • <PostCta>

    linkedinlandscapecarouselblogcase-studyeventreleaseproduct-updatePosts

    Text link CTA with arrow.

    When to use: Blog promos, changelog links, event registration.

    PropTypeNotes
    labelstringRequired. Link label.Example: Read the article
    hrefstringRequired. Destination URL.Example: https://lunnoa.com/blog/example

    Examples

    <PostCta label="Read the changelog" href="https://lunnoa.com/changelog" />
  • <PostMedia>

    linkedinsquareportraitlandscapecarouselreleaseproduct-updateblogcase-studyeventmilestonePosts

    Image block with optional caption; shows placeholder when src omitted.

    When to use: Hero image or carousel slide visual.

    Preview

    Product screenshot
    PropTypeNotes
    srcstringOptional. Image URL.
    altstringOptional. Alt text.
    captionstringOptional. Caption under the image.

    Examples

    <PostMedia src="/assets/example.png" alt="Product screenshot" />
  • <LinkedInTextPost>

    linkedinlandscapereleaseproduct-updateblogthought-leadershipmilestonePosts

    Convenience layout: LinkedIn landscape text post with optional media and CTA.

    When to use: Release notes, product updates, thought leadership on LinkedIn.

    Preview

    LinkedInlandscape

    Product update

    Environment promotion is live

    Move workflow definitions from dev to staging to production with audit trail.
    Read the docs
    PropTypeNotes
    headlinestringRequired. Post headline.
    bodyReactNodeRequired. Post body copy.
    eyebrowstringOptional. Optional category label.
    ctaLabelstringOptional. CTA link label.
    ctaHrefstringOptional. CTA destination URL.
    mediaSrcstringOptional. Optional hero image URL.
    mediaAltstringOptional. Hero image alt text.

    Examples

    <LinkedInTextPost
      eyebrow="Product update"
      headline="Environment promotion is live"
      body="Move workflow definitions from dev to staging to production with audit trail."
      ctaLabel="Read the docs"
      ctaHref="https://lunnoa.com/docs"
    />
  • <PostCanvas>

    linkedinsquareportraitlandscapecarouselreleaseproduct-updateblogcase-studyeventthought-leadershiphiringmilestonePosts

    Fixed-pixel artboard at platform export dimensions (1080×1080, 1080×1350, 1200×627).

    When to use: Build custom finished graphics when no intent template fits. Prefer ReleasePost, BlogPromoPost, etc. for standard jobs.

    Preview

    Custom

    Headline on a finished artboard

    PropTypeNotes
    dimension"square" | "portrait" | "landscape" | "carousel"Required. Export aspect ratio.Values: square, portrait, landscape, carousel
    background"light" | "white" | "dark" | "brand" | "vivid"Optional. Canvas background token.
    childrenReactNodeRequired. Post body.

    Examples

    <PostCanvas dimension="landscape" background="vivid">
      <PostEyebrow>Custom</PostEyebrow>
      <PostHeadline>Headline on a finished artboard</PostHeadline>
    </PostCanvas>
  • <ReleasePost>

    linkedinlandscapereleasePosts

    Finished release announcement graphic (1200×627).

    When to use: Product releases and version launches on LinkedIn.

    Preview

    Product release

    v2.4

    Workflow versioning is live

    Pin production definitions. Promote through dev, staging, and production.

    Read the changelog

    PropTypeNotes
    headlinestringRequired. Release headline.
    bodyReactNodeRequired. Release summary.
    versionstringOptional. Version badge, e.g. 2.4.
    eyebrowstringOptional. Default: Product release. Category label.
    ctaLabelstringOptional. Optional CTA line (no link).
    background"light" | "white" | "dark" | "brand" | "vivid"Optional. Default: vivid. Canvas background token.

    Examples

    <ReleasePost
      version="2.4"
      headline="Workflow versioning is live"
      body={<>Pin production definitions. Promote through dev, staging, and production.</>}
      ctaLabel="Read the changelog"
    />
  • <ProductUpdatePost>

    linkedinlandscapeproduct-updatePosts

    Finished product update graphic (1200×627) with feature highlight panel.

    When to use: Feature launches and capability announcements.

    Preview

    Product update

    Promote workflows across environments

    Git-backed promotion paths mean IT governs what ships.

    Now live

    Dev → staging → prod

    PropTypeNotes
    headlinestringRequired. Update headline.
    bodyReactNodeRequired. Update summary.
    featurestringOptional. Short feature callout in side panel.
    eyebrowstringOptional. Default: Product update. Category label.
    background"light" | "white" | "dark" | "brand" | "vivid"Optional. Default: brand. Canvas background token.

    Examples

    <ProductUpdatePost
      headline="Promote workflows across environments"
      body={<>Git-backed promotion paths mean IT governs what ships.</>}
      feature="Dev → staging → prod"
    />
  • <HiringPost>

    linkedinportraithiringPosts

    Finished hiring graphic (1080×1350 portrait).

    When to use: Open role announcements.

    Preview

    We're hiring

    Engineering

    Senior platform engineer

    Build the self-hosted agent runtime our enterprise customers run on their own infrastructure.
    Apply now
    PropTypeNotes
    rolestringRequired. Job title.
    teamstringOptional. Team or department.
    bodyReactNodeRequired. Role summary.
    applyLabelstringOptional. Default: Apply now. CTA button label.
    background"light" | "white" | "dark" | "brand" | "vivid"Optional. Default: vivid. Canvas background token.

    Examples

    <HiringPost
      role="Senior platform engineer"
      team="Engineering"
      body={<>Build the self-hosted agent runtime our enterprise customers run on their own infrastructure.</>}
    />
  • <MilestonePost>

    linkedinsquaremilestonereleasePosts

    Finished milestone metric graphic (1080×1080).

    When to use: Customer counts, uptime, or launch milestones.

    Preview

    50

    Workflows in production

    Across finance, operations, and HR teams.
    PropTypeNotes
    valuestringRequired. Headline metric.Example: 100
    labelstringRequired. Metric label.Example: Enterprise deployments
    bodyReactNodeOptional. Supporting line.
    background"light" | "white" | "dark" | "brand" | "vivid"Optional. Default: brand. Canvas background token.

    Examples

    <MilestonePost value="50" label="Workflows in production" body={<>Across finance, operations, and HR teams.</>} />
  • <ThoughtLeadershipPost>

    linkedinlandscapethought-leadershipPosts

    Finished thought-leadership graphic (1200×627).

    When to use: Opinion pieces and executive takes on LinkedIn.

    Preview

    Business users build. IT governs.

    The split that keeps AI automation out of shadow IT.
    Lunnoa team
    PropTypeNotes
    headlinestringRequired. Core thesis.
    bodyReactNodeRequired. Supporting argument.
    authorstringOptional. Attribution line.
    background"light" | "white" | "dark" | "brand" | "vivid"Optional. Default: dark. Canvas background token.

    Examples

    <ThoughtLeadershipPost
      headline="Business users build. IT governs."
      body={<>The split that keeps AI automation out of shadow IT.</>}
      author="Lunnoa team"
    />
  • <EventPost>

    linkedinportraiteventPosts

    Finished event promo graphic (1080×1350 portrait).

    When to use: Webinars, conferences, and launch events.

    Preview

    Event

    15 July 2026 · 14:00 BST

    Self-hosted AI agents workshop

    Virtual

    Live build session: your first agent in two weeks.
    PropTypeNotes
    titlestringRequired. Event name.
    whenstringRequired. Date or time window.
    bodyReactNodeRequired. Event description.
    locationstringOptional. Venue or virtual.
    background"light" | "white" | "dark" | "brand" | "vivid"Optional. Default: brand. Canvas background token.

    Examples

    <EventPost
      title="Self-hosted AI agents workshop"
      when="15 July 2026 · 14:00 BST"
      location="Virtual"
      body={<>Live build session: your first agent in two weeks.</>}
    />