Files
ant-design/components/grid/hooks/useGutter.ts
Guo Yunhe f44ec04609 feat(Grid): add xxxl (1920px) breakpoint for FHD screen (#56825)
* feat(Grid): add xxxl (1840px) breakpoint for FHD screen

* feat: update xxxl breakpoint from 1840px to 1920px for layout and list components

* feat(Grid): update xxxl breakpoint from 2000px to 1920px for responsive layout

* fix(Grid): 修正栅格间隔描述中的拼写错误

* feat(Grid): reverse

* test(Form): update grid

* size limit

---------

Co-authored-by: thinkasany <480968828@qq.com>
2026-02-04 00:01:55 +08:00

40 lines
1.1 KiB
TypeScript

import type { Breakpoint, ScreenMap } from '../../_util/responsiveObserver';
import { responsiveArray } from '../../_util/responsiveObserver';
import type { RowProps } from '../row';
export type Gap = number | string | undefined;
export default function useGutter(
gutter: RowProps['gutter'],
screens: ScreenMap | null,
): [Gap, Gap] {
const results: [Gap, Gap] = [undefined, undefined];
const normalizedGutter = Array.isArray(gutter) ? gutter : [gutter, undefined];
// By default use as `xs`
const mergedScreens = screens || {
xs: true,
sm: true,
md: true,
lg: true,
xl: true,
xxl: true,
xxxl: true,
};
normalizedGutter.forEach((g, index) => {
if (typeof g === 'object' && g !== null) {
for (let i = 0; i < responsiveArray.length; i++) {
const breakpoint: Breakpoint = responsiveArray[i];
if (mergedScreens[breakpoint] && g[breakpoint] !== undefined) {
results[index] = g[breakpoint] as number | string;
break;
}
}
} else {
results[index] = g;
}
});
return results;
}