UNPKG

@crossed/styled

Version:

A universal & performant styling library for React Native, Next.js & React

27 lines (26 loc) 782 B
import { createMethods } from "./createMethods"; import { merge } from "ts-deepmerge"; const composeStyles = (...styles) => { let stylesNative = {}; const stylesVerified = styles.flat(Infinity).reduce((acc, e) => { if (!e) return acc; if ("original" in e && e.original) { acc.push(e.original); } if ("stylesParent" in e && e.stylesParent) { stylesNative = { ...stylesNative, ...e.stylesParent }; return acc; } if (typeof e !== "function" && typeof e === "object" && !e.style) { stylesNative = { ...stylesNative, ...e }; } return acc; }, []); const styleMerged = merge(...stylesVerified); return createMethods(styleMerged, stylesNative); }; export { composeStyles }; //# sourceMappingURL=composeStyles.js.map