Part of #734. A developer must never be pushed off the component because it swallowed an attribute.
<JImage> hand-lists what it omits from ImgHTMLAttributes and drops height for good. Jahia/jahia.com's card icons take their box from the width/height HTML attributes and have no CSS rule at all, so they could not use the component and fell back to getImageProps plus a manual re-apply.
Part of #734. A developer must never be pushed off the component because it swallowed an attribute.
<JImage>hand-lists what it omits fromImgHTMLAttributesand dropsheightfor good. Jahia/jahia.com's card icons take their box from thewidth/heightHTML attributes and have no CSS rule at all, so they could not use the component and fell back togetImagePropsplus a manual re-apply.Omit<ImgHTMLAttributes<HTMLImageElement>, keyof JImageProps>) instead of a hand-written list, so a prop added later cannot silently eat an attribute. Next.js composes both its components this way.heightrather than removing it —next/imageomitswidth/heightand then adds them back with its own type.slotWidth), or addintrinsic={false}.attributesmap, spread onto the<img>, accepting either a record or a function of the resolved image (({ src, width, height }) => Record<string, string>). Static values are already expressible; the function form is what an analytics attribute derived from the finalsrcneeds.priorityvspreloadbefore release. Next.js 16 renamedprioritytopreloadand deprecated the old name.