media.enlarged

A photo shown as large as fits, in a frame of one fixed size so flipping between photos never moves anything: the photo in a dialog.media, edge to edge on its side. On small screens it is a square across the full width

Component

Renders

<img>

Profile

Example

Preview
Ada LovelaceAL
<Media intent="media.enlarged" src={post.coverUrl} alt="What the image shows" />

Choosing between neighbours

Find the row that describes your element, and use the intent on the right.

  • If it is

    Use

  • A photo shown as large as fits, in a frame of one fixed size so flipping between photos never moves anything: the photo in a dialog.media, edge to edge on its side. On small screens it is a square across the full width

    media.enlarged this page
  • A photo in a list or grid, cropped to fit

    media.image

Connections

Declared in the registry, both directions. Where an intent is used in your own code is something check and the gallery see; this site has no app code.

For registry authors

Starter intents. These are the intents prongs add puts in your registry, shown in this site’s theme. Yours are your own registry.ts: rename, restyle and add to them, and see them with prongs add gallery.

What this intent is built from and its entry in components/prongs/registry.ts. You only need this to change how it looks or to add an intent like it.

How media.enlarged resolves, and its definition

Each layer adds to the one before it; a later class wins over an earlier one that sets the same thing.

  • frame.cover

    Wide rounded rectangle; centres the fallback text when there is no image

    flex aspect-video w-full items-center justify-center
    overflow-hidden rounded-lg bg-muted object-cover text-sm
    text-muted-foreground
  • media.enlarged

    A photo shown as large as fits, in a frame of one fixed size so flipping between photos never moves anything: the photo in a dialog.media, edge to edge on its side. On small screens it is a square across the full width

    aspect-square h-auto w-full max-w-none rounded-none object-cover
    md:aspect-[3/4] md:h-[min(85vh,44rem)] md:w-auto md:max-w-[60vw]
Final classes
flex items-center justify-center overflow-hidden bg-muted
text-sm text-muted-foreground aspect-square h-auto w-full
max-w-none rounded-none object-cover md:aspect-[3/4]
md:h-[min(85vh,44rem)] md:w-auto md:max-w-[60vw]
Definition
TS
'media.enlarged': {
kind: 'semantic',
description: 'A photo shown as large as fits, in a frame of one fixed size so flipping between photos never moves anything: the photo in a dialog.media, edge to edge on its side. On small screens it is a square across the full width',
refs: ['frame.cover'],
binding: {
classes: 'aspect-square h-auto w-full max-w-none rounded-none object-cover md:aspect-[3/4] md:h-[min(85vh,44rem)] md:w-auto md:max-w-[60vw]',
},
notFor: [
{
context: 'a photo in a list or grid, cropped to fit',
instead: 'media.image',
},
],
},