UNPKG

reflexy

Version:

Flexbox layout react components

18 lines (17 loc) 650 B
/* eslint-disable react-hooks/refs */ import { useRef } from 'react'; import { spaceToCssValue } from '../utils'; import { useFlexDefaults } from './useFlexDefaults'; export function useFlexUtils() { const defaults = useFlexDefaults(); const defaultsRef = useRef(defaults); defaultsRef.current = defaults; const resultRef = useRef(undefined); if (!resultRef.current) { resultRef.current = { spaceToCss: (space) => spaceToCssValue(space, defaultsRef.current), spaceToNumber: (space) => Number.parseFloat(spaceToCssValue(space, defaultsRef.current)), }; } return resultRef.current; }