UNPKG

braid-design-system

Version:
45 lines (44 loc) 1.03 kB
import { jsx } from "react/jsx-runtime"; import { useMemo, createContext, useContext } from "react"; const DefaultTextPropsContext = createContext({ tone: void 0, weight: void 0, size: void 0, maxLines: void 0 }); const DefaultTextPropsProvider = ({ size, weight, tone, maxLines, children }) => { const defaultTextProps = useMemo( () => ({ size, weight, tone, maxLines }), [size, weight, tone, maxLines] ); return /* @__PURE__ */ jsx(DefaultTextPropsContext.Provider, { value: defaultTextProps, children }); }; const useDefaultTextProps = ({ size: sizeProp, weight: weightProp, tone: toneProp, maxLines: maxLinesProp }) => { const { size, weight, tone, maxLines } = useContext(DefaultTextPropsContext); return { size: sizeProp ?? size ?? "standard", weight: weightProp ?? weight ?? "regular", tone: toneProp ?? tone ?? "neutral", maxLines: maxLinesProp ?? maxLines ?? void 0 }; }; export { DefaultTextPropsProvider, useDefaultTextProps };