
Security News
TC39 Advances 11 Proposals for Math Precision, Binary APIs, and More
TC39 advances 11 JavaScript proposals, with two moving to Stage 4, bringing better math, binary APIs, and more features one step closer to the ECMAScript spec.
Atomic, functional and modular styling for React Native. Inspired by Basscss and Tachyons.
Atomic, functional and modular styling for React Native. Inspired by Basscss and Tachyons.
npm i Draper -S
Build draper styles in a styles.js
module:
import draper from 'Draper';
export default draper();
Then to use them:
import s from './styles';
<View style={[ s.bgWhite, s.p2, s.mt2, s.rounded ]}>
{ ... }
</View>
The base config contains defaults for rem
, borderWidth
, typeScale
, (whitespace)scale
, lineHeightScale
and clrs
. You can modify these by passing in options
to the build function. For example:
import draper from 'Draper';
export default draper({
clrs: { mauve: '#E0B0FF' },
scale: [1, 2, 3, 4],
typeScale: {
f2: 1.5,
f3: 1.25,
},
});
import draper from 'Draper';
import { StyleSheet } from 'react-native';
export default {
...draper(),
...StyleSheet.create({
myCustomClass: { color: 'magenta' },
o0: { opacity: 0 },
o10: { opacity: 0.1 },
o20: { opacity: 0.2 },
o30: { opacity: 0.3 },
o40: { opacity: 0.4 },
o50: { opacity: 0.5 },
o60: { opacity: 0.6 },
o70: { opacity: 0.7 },
o80: { opacity: 0.8 },
o90: { opacity: 0.9 },
o100: { opacity: 1 },
}),
};
Absolute positioning and zIndex
utilities. It also aliases StyleSheet.absoluteFill
.
Border radius and sizing utilities. Border radius scale: 1rem, 2rem, 3rem, 4rem, 8rem, 16rem
. Border sizing supports three options:
0
StyleSheet.hairlineWidth
config.borderWidth
#### Colors
Text, border and background colour utilities. The colour values used in this module are from mrmrs/colors. For example:
{ black: { color: '#515163' } }
{ bgBlack: { backgroundColor: '#515163' } }
{ borderBlack: { borderColor: '#515163' } }
Width and height utilities using this scale: 1rem, 2rem, 3rem, 4rem, 8rem, 16rem
.
These entire flexbox module as utilities.
Font style, weight and size utilities. Font weight: normal, bold, 100 - 900
. Font sizes are generated using a type scale.
const typeScale = {
f1: 2, // * rem
f2: 1.5, // * rem
f3: 1.25, // * rem
f4: 1, // * rem
f5: 0.875, // * rem
f6: 0.75, // * rem
};
In React Native lineHeight
is not a multiplier. This makes it hard to create line height utilities. Instead you can create text components which have all the fontSize
and lineHeight
stylings. See text.js for an example.
Margin and padding utilities.
Padding
base: p
modifiers: h, v, t, r, b, l
scale: 0, 1, 2, 3, 4, 5, 6
Margin
base: m
modifiers: h, v, t, r, b, l
scale: 0, 1, 2, 3, 4, 5, 6
Example:
mb1 = marginBottom: 0.5 * rem
ph1 = paddingHorizontal: 4 * rem
To run the example:
npm install
npm run dev:ios
for iOS and npm run dev:android
for Android.FAQs
Atomic, functional and modular styling for React Native. Inspired by Basscss and Tachyons.
The npm package Draper receives a total of 0 weekly downloads. As such, Draper popularity was classified as not popular.
We found that Draper demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
TC39 advances 11 JavaScript proposals, with two moving to Stage 4, bringing better math, binary APIs, and more features one step closer to the ECMAScript spec.
Research
/Security News
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).
Product
Customize license detection with Socket’s new license overlays: gain control, reduce noise, and handle edge cases with precision.