![]() Server : Apache/2 System : Linux server-15-235-50-60 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64 User : gositeme ( 1004) PHP Version : 8.2.29 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname Directory : /home/gositeme/domains/lavocat.quebec/private_html/node_modules/react-calendar/src/ |
import { Children, cloneElement } from 'react';
type FlexProps = React.HTMLAttributes<HTMLDivElement> & {
// biome-ignore lint/suspicious/noExplicitAny: Too complex to type
children: React.ReactElement<any>[];
className?: string;
count: number;
direction?: 'row' | 'column';
offset?: number;
style?: React.CSSProperties;
wrap?: boolean;
};
function toPercent(num: number): string {
return `${num}%`;
}
export default function Flex({
children,
className,
count,
direction,
offset,
style,
wrap,
...otherProps
}: FlexProps): React.ReactElement {
return (
<div
className={className}
style={{
display: 'flex',
flexDirection: direction,
flexWrap: wrap ? 'wrap' : 'nowrap',
...style,
}}
{...otherProps}
>
{Children.map(children, (child, index) => {
const marginInlineStart = offset && index === 0 ? toPercent((100 * offset) / count) : null;
return cloneElement(child, {
...child.props,
style: {
flexBasis: toPercent(100 / count),
flexShrink: 0,
flexGrow: 0,
overflow: 'hidden',
marginLeft: marginInlineStart,
marginInlineStart: marginInlineStart,
marginInlineEnd: 0,
},
});
})}
</div>
);
}