Every Hequalizer instance accepts an optional configuration object as its second argument. All five options are optional — each one has a sensible default that works for the most common use cases. Options passed to the constructor are merged with the base defaults, and theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/soyleninjs/hequalizer/llms.txt
Use this file to discover all available pages before exploring further.
responsive map lets you override any subset of those options for specific viewport widths.
Defaults at a glance
| Option | Type | Default |
|---|---|---|
cssVariable | string | '--height' |
columns | "all" | number | 'all' |
observeResize | boolean | true |
debounce | number (ms) | 0 |
responsive | object | {} |
Options reference
The name of the CSS custom property that Hequalizer sets as an inline style on every element in the group. The value written to the property is the calculated maximum height in pixels (e.g.,
140px), or it is removed entirely when the height is zero or equalization is disabled.Choose a descriptive name when managing multiple independent groups so their variables don’t collide.Controls how elements are grouped before calculating maximum heights.
"all"— A single maximum height is calculated across every element in the group. All elements receive the same CSS variable value.- Number > 1 — Elements are split into consecutive row-groups of that size. Each group gets its own independent max-height value. The
valuesproperty becomes an array. - Number ≤ 1 — Equalization is disabled. Any previously set CSS variables and state classes are removed, and no new height or state class is applied. Useful for single-column layouts where natural height is preferred.
When
true, the window resize listener recalculates heights whenever the viewport width changes. When false, the resize listener is still registered internally (so the breakpoint logic still runs and actualOptions is updated), but the height recalculation and the hequalizer:{handle}:resize event are both suppressed for that breakpoint.This is useful when you want to keep equalization active at one breakpoint but explicitly opt out of resize-triggered recalculations at another.Number of milliseconds to wait after the last
resize event before running a recalculation. Set to 0 for immediate recalculation on every resize event. Set to a value like 100–200 to reduce recalculation frequency on rapid or continuous resize gestures.The debounce timer is reset on each new resize event, so only the final resize triggers the calculation.The
debounce option applies only to resize-triggered recalculations. Content-change recalculations (via MutationObserver) always use a fixed internal delay of 20 ms regardless of this setting.A map of breakpoint overrides. Keys are numeric viewport widths; values are partial option objects that are deeply merged with the base configuration when Breakpoint resolution order (smallest value checked first):
window.innerWidth <= breakpoint. The smallest matching breakpoint wins.Any of the other four options (cssVariable, columns, observeResize, debounce) can be overridden per breakpoint. The responsive key itself cannot be nested inside a breakpoint.| Viewport | Active breakpoint | Effective columns |
|---|---|---|
| ≤ 480 px | 480 | 1 |
| 481 – 768 px | 768 | 2 |
| 769 – 1024 px | 1024 | 3 |
| > 1024 px | default | 4 |
Full example
Full configuration example
Responsive CSS variable cleanup
WhencssVariable differs between breakpoints, Hequalizer automatically tracks all variable names ever configured and removes every one of them before each recalculation. This prevents a stale inline variable from a previous breakpoint from persisting after the viewport changes.