reflexy
Version:
Flexbox layout react components
13 lines (12 loc) • 657 B
JavaScript
'use client';
import { jsx as _jsx } from "react/jsx-runtime";
import { createContext, useMemo } from 'react';
import '@js-toolkit/utils/types';
import sharedDefaults, {} from './sharedDefaults';
export const FlexContext = createContext(sharedDefaults);
export default function FlexProvider({ defaultUnit = sharedDefaults.defaultUnit, defaultSize = sharedDefaults.defaultSize, defaultSizes = sharedDefaults.defaultSizes, ...rest }) {
const defaults = useMemo(() => {
return Object.freeze({ defaultUnit, defaultSize, defaultSizes });
}, [defaultSize, defaultSizes, defaultUnit]);
return _jsx(FlexContext, { value: defaults, ...rest });
}