UNPKG

@neo4j-ndl/react

Version:

React implementation of Neo4j Design System

42 lines 1.71 kB
/** * * Copyright (c) "Neo4j" * Neo4j Sweden AB [http://neo4j.com] * * This file is part of Neo4j. * * Neo4j is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ import { useMemo } from 'react'; import { useDataGridContext } from '../data-grid-context'; import { computeDataGridRowStyles } from './evaluate'; /** * Returns computed inline style for a specific cell based on style rules in context. * Use this in custom BodyCell overrides to apply rule-based styling. */ export function useDataGridCellStyle(cell) { const { styleRules, styleRuleValueConverters } = useDataGridContext(); return useMemo(() => { if (!styleRules || styleRules.length === 0) { return undefined; } const original = cell.row.original; const rowData = typeof original === 'object' && original !== null ? original : {}; const { cellStyles } = computeDataGridRowStyles(styleRules, rowData, styleRuleValueConverters); return cellStyles[cell.column.id]; }, [styleRules, styleRuleValueConverters, cell]); } //# sourceMappingURL=hooks.js.map