Component-Specific

useAspectRatio

Calculate and maintain aspect ratios for responsive media containers.

import { useAspectRatio } from "saha-ui"

Uses

Calculate aspect ratio padding, provide a content ref and optional hover-zoom handlers for responsive media containers.

Props

NameTypeDescriptionDefault
ratiopreset key or 'custom'Common presets like "16/9", "4/3", "1/1"."16/9"
customRationumber | stringUse when `ratio` is "custom"; accepts numbers or strings like "16:9".-
zoomOnHoverbooleanEnable zoom-on-hover behavior.false
zoomScalenumberZoom scale between 1.0 and 2.0.1.1

Returns

NameDescription
ratioValueNumeric ratio used for calculations.
paddingBottomCSS padding-bottom percentage for aspect box.
safeZoomScaleClamped zoom factor.
contentRefRef for the content wrapper element.
handleMouseEnter/handleMouseLeaveHover handlers when zoom enabled.

Example

const { paddingBottom, contentRef, handleMouseEnter } = useAspectRatio({ ratio: '16/9', zoomOnHover: true, zoomScale: 1.2 });

Notes

Padding-bottom uses the reciprocal of the ratio. Supports preset and custom ratios parsed from strings like "16:9".
Saha UI - The Modern React Component Library