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
Media intents
Example
<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.enlargedthis pageA 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.
- Built from
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.coverWide 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.enlargedA 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]
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]
'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',
},
],
},