Component library

Showing 9 components · landscape · intent product-update.

  • <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>
  • <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"
    />