Bin
2025-12-17 21f0498f62ada55651f4d232327e15fc47f498b1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import React from "react";
import { cn } from "../../utils/bem";
import "./Columns.scss";
 
export const Columns = ({ children, count, size, gap }) => {
  /**@type {import('react').RefObject<HTMLElement>} */
  const ref = React.useRef();
 
  /**@type {import('react').CSSProperties} */
  const style = {
    "--columns": Math.max(1, count ?? 1),
    "--column-width": size,
    "--column-gap": gap,
  };
 
  return <div ref={ref} className={cn("columns")} style={style} children={children} />;
};
 
Columns.Column = ({ title, children }) => {
  return (
    <div className={cn("columns").elem("item")}>
      <div className={cn("columns").elem("title")}>{title}</div>
      {children}
    </div>
  );
};