Security News
Bun 1.2 Released with 90% Node.js Compatibility and Built-in S3 Object Support
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.
@otovo/rainbow
Advanced tools
Otovo's Design System
yarn add @otovo/rainbow @emotion/react @emotion/styled styled-system @styled-system/theme-get
app.js
import { ThemeProvider } from '@emotion/react';
import { theme } from '@otovo/rainbow';
/** Optionally add custom theme overrides */
const customTheme = {
...theme,
colors: {
...theme.colors,
blue_60: 'pink',
},
};
class App extends Component {
render() {
return (
<ThemeProvider theme={customTheme}>
<Page />
</ThemeProvider>
);
}
}
import { H2, BodyM } from '@otovo/rainbow';
import styled from '@emotion/styled';
import { compose, color, space, border } from 'styled-system';
const CustomCard = styled.div`
${compose(color, space, border)}
`;
export default () => (
<CustomCard bg="green.10" p="4" mb="3" borderRadius="2">
<H2 color="green.4">Welcome...</H2>
<BodyM color="green.2">to Zombo.com</BodyM>
</CustomCard>
);
If your project already has babel set up, I highly recommend adding @emotion/babel-plugin
to your project. It provides several benefits, such as added functionality, minification, dead code elimination, source maps. You can read more about it here.
yarn add --dev @emotion/babel-plugin
.babelrc
{
"plugins": ["@emotion"]
}
To learn more about Rainbow, take a look at https://rainbow.otovo.com.
It might also be worth reading up on its dependencies, Emotion and Styled System.
Updates to Rainbow should be reflected in the rainbow-documentation repo.
Before you start making changes to rainbow
, you should set up a link to rainbow-documentation. This will make it a lot easier to test your changes. Linking the repo can be done as follows (assuming you have placed the repos in ~/projects
):
cd ~/projects/rainbow
yarn link
cd ~/projects/rainbow-documentation
yarn link @otovo/rainbow
Alternatively, if you're having trouble with yarn link
(for instance when linking between a yarn@1.x
repo with a yarn@2.x
repo), you can check out yalc
.
cd ~/projects/rainbow
yalc publish
cd ~/projects/rainbow-documentation
yalc add @otovo/rainbow
Great! You're almost set. To rebuild the distribution whenever you change something, run...
yarn dev
Psst! Remember to update the rainbow-documentation
whenever you make changes to rainbow
🤓
To release a new version to NPM, run...
yarn run release
The script will hold your hand through the rest of the process. Remember to use semantic versioning.
Version 4 upgrades to emotion@11.x
. This introduces some breaking changes. For instance @emotion/core
is renamed to @emotion/react
. Make sure to run:
yarn remove @emotion/core
yarn add @emotion/react
Then update all import statements in your project from @emotion/core
to @emotion/react
.
Also, get()
is deprecated. Replace occurrences with alternative syntax:
/** Replace: */
css`
border-top: 1px solid ${get('colors.grey_1')};
`;
/** With: */
css`
border-top: 1px solid ${(props) => props.theme.colors.grey_1};
`;
FAQs
Design system for Otovo
The npm package @otovo/rainbow receives a total of 322 weekly downloads. As such, @otovo/rainbow popularity was classified as not popular.
We found that @otovo/rainbow demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 10 open source maintainers 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
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.
Security News
Biden's executive order pushes for AI-driven cybersecurity, software supply chain transparency, and stronger protections for federal and open source systems.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.