UNPKG

@1771technologies/lytenyte-pro

Version:

Blazingly fast headless React data grid with 100s of features.

23 lines (22 loc) 952 B
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);