@1771technologies/lytenyte-pro
Version:
Blazingly fast headless React data grid with 100s of features.
23 lines (22 loc) • 952 B
JavaScript
import { jsx as _jsx } from "react/jsx-runtime";
import { forwardRef, useMemo, useState } from "react";
import { PillRowProvider } from "./pill-row.context.js";
import { usePillRoot } from "./root.context.js";
function PillRowBase({ row, children, ...props }, forwarded) {
const [expanded, setExpanded] = useState(false);
const { orientation } = usePillRoot();
const value = useMemo(() => {
return {
expanded,
expandToggle: (s) => {
if (s != null)
setExpanded(s);
else
setExpanded((prev) => !prev);
},
row,
};
}, [expanded, row]);
return (_jsx(PillRowProvider, { value: value, children: _jsx("div", { ...props, ref: forwarded, "data-ln-pill-row": true, "data-ln-expanded": expanded, "data-ln-orientation": orientation, children: children }) }));
}
export const PillRow = forwardRef(PillRowBase);