braid-design-system
Version:
Themeable design system for the SEEK Group
44 lines (43 loc) • 1.11 kB
JavaScript
const jsxRuntime = require("react/jsx-runtime");
const react = require("react");
const DefaultTextPropsContext = react.createContext({
tone: void 0,
weight: void 0,
size: void 0,
maxLines: void 0
});
const DefaultTextPropsProvider = ({
size,
weight,
tone,
maxLines,
children
}) => {
const defaultTextProps = react.useMemo(
() => ({
size,
weight,
tone,
maxLines
}),
[size, weight, tone, maxLines]
);
return /* @__PURE__ */ jsxRuntime.jsx(DefaultTextPropsContext.Provider, { value: defaultTextProps, children });
};
const useDefaultTextProps = ({
size: sizeProp,
weight: weightProp,
tone: toneProp,
maxLines: maxLinesProp
}) => {
const { size, weight, tone, maxLines } = react.useContext(DefaultTextPropsContext);
return {
size: sizeProp ?? size ?? "standard",
weight: weightProp ?? weight ?? "regular",
tone: toneProp ?? tone ?? "neutral",
maxLines: maxLinesProp ?? maxLines ?? void 0
};
};
exports.DefaultTextPropsProvider = DefaultTextPropsProvider;
exports.useDefaultTextProps = useDefaultTextProps;
;