Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@reonomy/styles

Package Overview
Dependencies
Maintainers
8
Versions
35
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@reonomy/styles

Reonomy Design Styles Library

  • 2.13.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
8
Created
Source

Reonomy Design Styles Library

npm version

Install:

$ yarn add @reonomy/styles

Usage:

import ReonomyStyles from '@reonomy/styles';

function App() {
  return (
    <ReonomyStyles>
      <MyApp />
    </ReonomyStyles>
  );
}

What's included

The default export ReonomyStyles includes the "kitchen sink" of the Reonomy Web styles library:

  • Default Material UI CssBaseline

  • ReonomyTheme: A custom theme generated by Material UI's createMuiTheme()

  • Ionicon icon set, each exported as an MUI SvgIcon

  • Global CSS

    • Utilities
      • Helper classes like .capitalize, .uppercase, .lowercase etc, and .icon-spin for animated rotating icons.
    • Typography
      • Font references (see below).
    • Labels
      • Colors for Reonomy's user-generated labels .label-style-1, .label-style-2 etc
    • Leader lines
      • Styles for common dl/dt/dd data display
    • MTA Icons
      • Styles for MTA transit line icons for NYC properties

Running Storybook

To view components, icons and theme run the following command:

yarn storybook

Font assets

In order for font files to be bundled along with your application, you will need a bundler (like webpack) that recognizes font file imports in order to include them in the bundle. Create-react-app supports this by default. Custom webpack configurations will need the file-loader plugin or something similar in order to load font assets.

For example, as seen in /example/webpack.config.js:

{test: /\.(woff(2)?|ttf|eot|svg|otf)(\?v=\d+\.\d+\.\d+)?$/, loaders: ['file-loader']}

Icon assets

All SVG icons are wrapped in MUI's SvgIcon, inheriting all SvgIconProps, and formatted at viewBox="0 0 24 24".

All icons are available individually as direct imports, alongside the exported Theme, and CssBaseline:

import {
  ReonomyCssBaseline,
  ReonomyTheme,
  IconArrowDownOutline,
  IconArrowCircleDownFilled,
} from '@reonomy/styles`

They can be used and styled directly with inline styles or classes.

<IconPlusCircleFilled style={{ width: 40, height: 40, color: 'red' }} className="iconstyle">

They will inherit their parent color and fontSize by default.

Updating Icons

Currently all Icon SVGs are exported from our Figma design system.

All files inside /src/icons are auto-generated by the script /scripts/figma-icon-import.js. It fetches all icons in our Figma doc and writes them to individual React files in that directory. It also generates an index.tsx file for handling module exports, as well as a index.spec.tsx for adding to storybook.

To run, first export the necessary envs (Figma API token is stored in 1Password):

$ export FIGMA_PROJECT_ID=1sDRuHjkM96zSxlFTGtiEa
$ export FIGMA_API_TOKEN=<token>

Then run: (Note that it will remove and rewrite the /src/icons directory entirely)

$ yarn icons

After a successful run, any issues or anomolies in the file outputs should be captured by yarn lint and yarn compile (see below).

To see a real diff of the updated code changes you will likely need to run yarn pretty-quick to prettify first.

Update NPM

Update package version in package.json or bump npm version with <update_type> being patch, minor, or major

$ npm version <update_type>

To publish updates to the package:

$ yarn lint
$ yarn compile
$ npm pack

This will generate a .tgz file top level you can now update reference to in /example/package.json, eg:

"dependencies": {
    "@reonomy/styles": "../reonomy-styles-1.0.5.tgz",

Update /example/public/index.html as needed, and ensure visual styles are as expected.

To test in visage locally, simply reference this file from the visage directory in the visage package.json:

"@reonomy/styles": "../../../styles/reonomy-styles-1.0.5.tgz",

Delete any old .tgz files before generating packing new versions (as they will be included in the bundle).

You may periodically need to clear the yarn cache with:

$ yarn cache clean

After branch is updated/approved and merged, publish the package to npm:

$ npm publish

You may need to be added to the NPM Reonomy organization before publishing.

Reference

See Create/Publishing NPM Package for more info on updating NPM.

See Material UI for more info on getting setup with Material UI in React.

Author

Reonomy Team

License

MIT

Keywords

FAQs

Package last updated on 14 Oct 2021

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc