@crossed/ui
Version:
A universal & performant styling library for React Native, Next.js & React
93 lines (84 loc) • 2.35 kB
text/typescript
/**
* Copyright (c) Paymium.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root of this projects source tree.
*/
import { composeStyles, createStyles } from '@crossed/styled';
import { SpaceName } from '@crossed/theme';
export const paddingVerticalStyles = createStyles(({ space }) =>
(Object.keys(space) as SpaceName[]).reduce(
(acc, spaceName) => {
acc[spaceName] = {
base: {
'paddingTop': space[spaceName],
'paddingBottom': space[spaceName],
},
};
return acc;
},
{} as Record<SpaceName, any>
)
);
export const paddingHorizontalStyles = createStyles(({ space }) =>
(Object.keys(space) as SpaceName[]).reduce(
(acc, spaceName) => {
acc[spaceName] = {
base: {
'paddingLeft': space[spaceName],
'paddingRight': space[spaceName],
},
};
return acc;
},
{} as Record<SpaceName, any>
)
);
export const paddingLeftStyles = createStyles(({ space }) =>
(Object.keys(space) as SpaceName[]).reduce(
(acc, spaceName) => {
acc[spaceName] = { base: { 'paddingLeft': space[spaceName] } };
return acc;
},
{} as Record<SpaceName, any>
)
);
export const paddingRightStyles = createStyles(({ space }) =>
(Object.keys(space) as SpaceName[]).reduce(
(acc, spaceName) => {
acc[spaceName] = { base: { 'paddingRight': space[spaceName] } };
return acc;
},
{} as Record<SpaceName, any>
)
);
export const paddingBottomStyles = createStyles(({ space }) =>
(Object.keys(space) as SpaceName[]).reduce(
(acc, spaceName) => {
acc[spaceName] = { base: { 'paddingBottom': space[spaceName] } };
return acc;
},
{} as Record<SpaceName, any>
)
);
export const paddingTopStyles = createStyles(({ space }) =>
(Object.keys(space) as SpaceName[]).reduce(
(acc, spaceName) => {
acc[spaceName] = { base: { 'paddingTop': space[spaceName] } };
return acc;
},
{} as Record<SpaceName, any>
)
);
export const paddingStyles = (
Object.keys(paddingVerticalStyles) as SpaceName[]
).reduce(
(acc, spaceName) => {
acc[spaceName] = composeStyles(
paddingVerticalStyles[spaceName],
paddingHorizontalStyles[spaceName]
);
return acc;
},
{} as Record<SpaceName, any>
);