import { isDefined, selectDefined } from '@o/utils' import React, { createContext, useContext } from 'react' import { getSize } from './Sizes' import { Size } from './Space' export const ScaleContext = createContext(1) export type ScaleProps = { size?: Size children: any } // will nest scaling so you can propogate it export const Scale = (props: ScaleProps) => { const parentScale = useScale() if (!isDefined(props.size)) { return props.children } const size = getSize(props.size) return {props.children} } export const ScaleReset = ({ children }) => { return {children} } export const useScale = () => { return selectDefined(useContext(ScaleContext), 1) }