size, objectFit="contain", and withBoundingBox so it occupies the same dimensions and inner spacing as an Icon.withBoundingBox) — adds padding proportional to the image's size so the image aligns with adjacent same-size Icons. Without it the image fills the full size and reads visually larger than a same-sized Icon.objectFit) — controls how the image resizes when the container's aspect ratio differs from the image's:
"contain" — scales to fit entirely, preserving aspect ratio. Use for logos and icons that must never be cropped."cover" — scales and crops to fill the container. Use for hero images and thumbnails."fill" — stretches to the container's exact dimensions, ignoring aspect ratio."scale-down" — like contain, but never scales the image larger than its intrinsic size.size) — preset sizes follow the Icon scale so Images and Icons are interchangeable: "icon-v2-sm", "icon-v2-md", "icon-v2-lg", "icon-v2-xl". Use them when an Image sits alongside Icons at the same visual weight.size, the image renders at its natural dimensions or at explicit width and height values.src as an array of ImageSource entries, each tagged with a colorScheme of "light" or "dark", so the asset swaps when the theme toggles. Use for graphics and logos that have light and dark variations.isInline) — renders the image inline with surrounding text and shifts it vertically to sit alongside the letters, matching inline Icon behavior.alt attribute.alt=""."Customer.io homepage"."Bar chart showing delivery rate over time".w, h, p, …) alongside its own props.as and defaults to img.alt="" by default and consumer-supplied alt overrides it. In Ember, alt is a plain HTML attribute, not an @arg.src accepts a string or a readonly array of ImageSource. A string renders a single <img>; an array renders a <picture> with one <source> per entry plus a fallback <img>. An array whose entries are all filtered out renders a bare <img> with no <picture> wrapper.ImageSource fields: src, colorScheme, media, srcSet, sizes, height, width. colorScheme is translated into a prefers-color-scheme media query; when the entry also sets media, the two are combined with and."auto" every entry is rendered and the browser picks; under an explicit "light" or "dark" only entries matching that scheme — or entries with no colorScheme — are rendered.<img> src is the first entry with neither colorScheme nor media, otherwise the first entry in the array.objectFit also accepts "none", and legacy v1 sizes "icon-xxs", "icon-xs", "icon-sm", "icon-md", "icon-lg", and "icon-xl" are still available. Prefer the v2 sizes.inlineAlignment accepts "uppercase" (applied by default when isInline is set) or "lowercase". It only applies when isInline is set.imageFit is not "cover". With imageFit="cover", the size and bounding-box defaults are dropped and the image stretches to fill the coin shape. Explicitly set props always win over the Coin defaults.iconSizeToImageSize(iconSize, sizeVersion?) converts an Icon size to the matching Image size. It auto-detects v1 for "xxs" and "xs" and v2 otherwise.<PlumaImage @src={{...}} @size="icon-v2-lg" @objectFit="contain" @withBoundingBox={{true}} alt="…" /> — component props use @argName syntax.