@manifoldco/mercury
Advanced tools
Comparing version
163
index.js
@@ -1,1 +0,162 @@ | ||
const designTokens=JSON.parse('{"color":{"black":"#000000","blue":"#1e50da","borderGray":"#c4c7ca","gray":"#8f8f95","grayDark":"#575b5f","grayDarker":"#323940","grayLight":"#ddddde","grayLighter":"#ececed","grayLightest":"#f7f7f8","green":"#31baa2","mutedBlue":"#dde9fe","mutedGreen":"#a4eacf","mutedOrange":"#ffcaa5","mutedPurple":"#ddcff7","mutedRed":"#ffc4d2","mutedTeal":"#c0eef6","mutedYellow":"#fff2b9","orange":"#f58b23","purple":"#7748d2","red":"#d52049","teal":"#10b5d0","white":"#ffffff","yellow":"#ffde52"},"gradient":{"brand":"linear-gradient(45deg, #da566c 0%, #8c4794 100%)","brandMuted":"linear-gradient(45deg, #edc2ca 0%, #e3cfe6 100%)","green":"linear-gradient(237.2deg, #4cbc88 6.74%, #329dd1 111%)","greenMuted":"linear-gradient(237.2deg, #d2f5e4 6.74%, #d5f1ff 111%)","red":"linear-gradient(45deg, #af0d1e 0%, #ff3570 100%)","redMuted":"linear-gradient(225deg, #ffb3b3 0%, #fd83b2 100%)","yellow":"linear-gradient(43.45deg, #ffb83a -2.87%, #ffe268 100%)","yellowMuted":"linear-gradient(43.67deg, #ffd995 -2.85%, #fff7d3 108.09%)","orange":"linear-gradient(47.51deg, #ff0264 -34.31%, #fddf31 111.92%)","orangeMuted":"linear-gradient(45.05deg, #f5bca5 -11.1%, #fff1d7 111.79%)","purple":"linear-gradient(225deg, #a572ff 0%, #543edd 100%)","purpleMuted":"linear-gradient(225deg, #eadeff 0%, #cbc3ff 100%)","blue":"linear-gradient(225deg, #329dd1 0%, #4f50a4 100%)","blueMuted":"linear-gradient(225deg, #b1e5ff 0%, #c5c6ff 100%)","manifold":"linear-gradient(272.4deg, #fe1360 -13.37%, #814eae 26.05%, #2d98cc 77.38%, #fd8745 95.25%, #fdC935 135.64%)"},"shadow":{"far":"0 6px 10px rgba(0, 0, 0, 0.15000000596046448)","near":"0 2px 8px rgba(0, 0, 0, 0.07999999821186066)"},"typography":{"body":{"fontFamily":"-apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji","fontWeight":"400","fontSize":"16px"},"caption":{"fontFamily":"-apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji","fontWeight":"400","fontSize":"12px"},"heading":{"fontFamily":"-apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji","fontWeight":"400","fontSize":"20px","letterSpacing":"-0.01em","lineHeight":"1.11"},"headingExtraLarge":{"fontFamily":"-apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji","fontWeight":"500","fontSize":"32px","letterSpacing":"-0.0125em","lineHeight":"0.96"},"headingLarge":{"fontFamily":"-apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji","fontWeight":"400","fontSize":"25px","letterSpacing":"-0.0125em"},"label":{"fontFamily":"-apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji","fontWeight":"400","fontSize":"14px"},"monoBody":{"fontFamily":"\"IBM Plex Mono\", \"SFMono-Regular\", Consolas, \"Liberation Mono\", Menlo, monospace","fontWeight":"400","fontSize":"14px","letterSpacing":"-0.01em"},"monoCaption":{"fontFamily":"\"IBM Plex Mono\", \"SFMono-Regular\", Consolas, \"Liberation Mono\", Menlo, monospace","fontWeight":"400","fontSize":"10px","letterSpacing":"-0.01em"},"monoLabel":{"fontFamily":"\"IBM Plex Mono\", \"SFMono-Regular\", Consolas, \"Liberation Mono\", Menlo, monospace","fontWeight":"400","fontSize":"12px","letterSpacing":"-0.01em"},"sidebarBigTitle":{"fontFamily":"-apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji","fontWeight":"600","fontSize":"16px"},"sidebarSmallTitle":{"fontFamily":"-apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji","fontWeight":"700","fontSize":"14px"},"smallScreenBody":{"fontFamily":"-apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji","fontWeight":"400","fontSize":"16px"},"smallScreenCaption":{"fontFamily":"-apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji","fontWeight":"400","fontSize":"13px"},"smallScreenHeading":{"fontFamily":"-apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji","fontWeight":"400","fontSize":"18px","letterSpacing":"-0.01em"},"smallScreenHeadingExtraLarge":{"fontFamily":"-apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji","fontWeight":"500","fontSize":"26px","letterSpacing":"-0.0125em","lineHeight":"1.18"},"smallScreenHeadingLarge":{"fontFamily":"-apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji","fontWeight":"400","fontSize":"22px","letterSpacing":"-0.0125em"},"smallScreenLabel":{"fontFamily":"-apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji","fontWeight":"400","fontSize":"14px"},"subheading":{"fontFamily":"-apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji","fontWeight":"600","textTransform":"uppercase","fontSize":"13px","letterSpacing":"0.030000000000000002em"},"subheadingSmall":{"fontFamily":"-apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji","fontWeight":"500","textTransform":"uppercase","fontSize":"11px","letterSpacing":"0.04em"}}}');export default designTokens | ||
var designTokens = { | ||
color: { | ||
black: "#000000", | ||
blue: "#1e50da", | ||
borderGray: "#c4c7ca", | ||
gray: "#8f8f95", | ||
grayDark: "#575b5f", | ||
grayDarker: "#323940", | ||
grayLight: "#ddddde", | ||
grayLighter: "#ececed", | ||
grayLightest: "#f7f7f8", | ||
green: "#31baa2", | ||
mutedBlue: "#dde9fe", | ||
mutedGreen: "#a4eacf", | ||
mutedOrange: "#ffcaa5", | ||
mutedPurple: "#ddcff7", | ||
mutedRed: "#ffc4d2", | ||
mutedTeal: "#c0eef6", | ||
mutedYellow: "#fff2b9", | ||
orange: "#f58b23", | ||
purple: "#7748d2", | ||
red: "#d52049", | ||
teal: "#10b5d0", | ||
white: "#ffffff", | ||
yellow: "#ffde52" | ||
}, | ||
gradient: { | ||
brand: "linear-gradient(45deg, #da566c 0%, #8c4794 100%)", | ||
brandMuted: "linear-gradient(45deg, #edc2ca 0%, #e3cfe6 100%)", | ||
green: "linear-gradient(237.2deg, #4cbc88 6.74%, #329dd1 111%)", | ||
greenMuted: "linear-gradient(237.2deg, #d2f5e4 6.74%, #d5f1ff 111%)", | ||
red: "linear-gradient(45deg, #af0d1e 0%, #ff3570 100%)", | ||
redMuted: "linear-gradient(225deg, #ffb3b3 0%, #fd83b2 100%)", | ||
yellow: "linear-gradient(43.45deg, #ffb83a -2.87%, #ffe268 100%)", | ||
yellowMuted: "linear-gradient(43.67deg, #ffd995 -2.85%, #fff7d3 108.09%)", | ||
orange: "linear-gradient(47.51deg, #ff0264 -34.31%, #fddf31 111.92%)", | ||
orangeMuted: "linear-gradient(45.05deg, #f5bca5 -11.1%, #fff1d7 111.79%)", | ||
purple: "linear-gradient(225deg, #a572ff 0%, #543edd 100%)", | ||
purpleMuted: "linear-gradient(225deg, #eadeff 0%, #cbc3ff 100%)", | ||
blue: "linear-gradient(225deg, #329dd1 0%, #4f50a4 100%)", | ||
blueMuted: "linear-gradient(225deg, #b1e5ff 0%, #c5c6ff 100%)", | ||
manifold: "linear-gradient(272.4deg, #fe1360 -13.37%, #814eae 26.05%, #2d98cc 77.38%, #fd8745 95.25%, #fdC935 135.64%)" | ||
}, | ||
shadow: { | ||
far: "0 6px 10px rgba(0, 0, 0, 0.15000000596046448)", | ||
near: "0 2px 8px rgba(0, 0, 0, 0.07999999821186066)" | ||
}, | ||
typography: { | ||
body: { | ||
fontFamily: "-apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji", | ||
fontWeight: "400", | ||
fontSize: "16px" | ||
}, | ||
caption: { | ||
fontFamily: "-apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji", | ||
fontWeight: "400", | ||
fontSize: "12px" | ||
}, | ||
heading: { | ||
fontFamily: "-apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji", | ||
fontWeight: "400", | ||
fontSize: "20px", | ||
letterSpacing: "-0.01em", | ||
lineHeight: "1.11" | ||
}, | ||
headingExtraLarge: { | ||
fontFamily: "-apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji", | ||
fontWeight: "500", | ||
fontSize: "32px", | ||
letterSpacing: "-0.0125em", | ||
lineHeight: "0.96" | ||
}, | ||
headingLarge: { | ||
fontFamily: "-apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji", | ||
fontWeight: "400", | ||
fontSize: "25px", | ||
letterSpacing: "-0.0125em" | ||
}, | ||
label: { | ||
fontFamily: "-apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji", | ||
fontWeight: "400", | ||
fontSize: "14px" | ||
}, | ||
monoBody: { | ||
fontFamily: '"IBM Plex Mono", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace', | ||
fontWeight: "400", | ||
fontSize: "14px", | ||
letterSpacing: "-0.01em" | ||
}, | ||
monoCaption: { | ||
fontFamily: '"IBM Plex Mono", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace', | ||
fontWeight: "400", | ||
fontSize: "10px", | ||
letterSpacing: "-0.01em" | ||
}, | ||
monoLabel: { | ||
fontFamily: '"IBM Plex Mono", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace', | ||
fontWeight: "400", | ||
fontSize: "12px", | ||
letterSpacing: "-0.01em" | ||
}, | ||
sidebarBigTitle: { | ||
fontFamily: "-apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji", | ||
fontWeight: "600", | ||
fontSize: "16px" | ||
}, | ||
sidebarSmallTitle: { | ||
fontFamily: "-apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji", | ||
fontWeight: "700", | ||
fontSize: "14px" | ||
}, | ||
smallScreenBody: { | ||
fontFamily: "-apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji", | ||
fontWeight: "400", | ||
fontSize: "16px" | ||
}, | ||
smallScreenCaption: { | ||
fontFamily: "-apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji", | ||
fontWeight: "400", | ||
fontSize: "13px" | ||
}, | ||
smallScreenHeading: { | ||
fontFamily: "-apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji", | ||
fontWeight: "400", | ||
fontSize: "18px", | ||
letterSpacing: "-0.01em" | ||
}, | ||
smallScreenHeadingExtraLarge: { | ||
fontFamily: "-apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji", | ||
fontWeight: "500", | ||
fontSize: "26px", | ||
letterSpacing: "-0.0125em", | ||
lineHeight: "1.18" | ||
}, | ||
smallScreenHeadingLarge: { | ||
fontFamily: "-apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji", | ||
fontWeight: "400", | ||
fontSize: "22px", | ||
letterSpacing: "-0.0125em" | ||
}, | ||
smallScreenLabel: { | ||
fontFamily: "-apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji", | ||
fontWeight: "400", | ||
fontSize: "14px" | ||
}, | ||
subheading: { | ||
fontFamily: "-apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji", | ||
fontWeight: "600", | ||
textTransform: "uppercase", | ||
fontSize: "13px", | ||
letterSpacing: "0.030000000000000002em" | ||
}, | ||
subheadingSmall: { | ||
fontFamily: "-apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji", | ||
fontWeight: "500", | ||
textTransform: "uppercase", | ||
fontSize: "11px", | ||
letterSpacing: "0.04em" | ||
} | ||
} | ||
}; | ||
export default designTokens; |
@@ -13,3 +13,3 @@ { | ||
}, | ||
"version": "0.1.0-beta.0", | ||
"version": "0.1.0-beta.1", | ||
"main": "index.js", | ||
@@ -19,2 +19,3 @@ "module": "index.js", | ||
"sass": "index.scss", | ||
"types": "index.d.ts", | ||
"license": "BSD-3", | ||
@@ -29,6 +30,9 @@ "dependencies": {}, | ||
"@figma-export/transform-svg-with-svgo": "^1.1.1", | ||
"@storybook/html": "^5.3.17", | ||
"@types/jest": "^25.1.4", | ||
"@types/node": "^13.9.3", | ||
"@types/prettier": "^1.19.1", | ||
"@typescript-eslint/eslint-plugin": "^2.25.0", | ||
"@typescript-eslint/parser": "^2.25.0", | ||
"babel-loader": "^8.1.0", | ||
"cssnano": "^4.1.10", | ||
@@ -45,3 +49,3 @@ "deepmerge": "^4.2.2", | ||
"postcss-preset-env": "^6.7.0", | ||
"prettier": "^2.0.1", | ||
"prettier": "^2.0.2", | ||
"rgb2hex": "^0.1.10", | ||
@@ -48,0 +52,0 @@ "sass": "^1.26.3", |
133
README.md
@@ -1,7 +0,9 @@ | ||
# @manifoldco/mercury | ||
# ☤ Mercury | ||
Design tokens auto-generated from our Figma files. | ||
## 📚 Usage | ||
## 💽 Usage | ||
With [Node][node] installed, run the following in the project folder of your choice: | ||
```bash | ||
@@ -11,6 +13,6 @@ npm install @manifoldco/mercury | ||
### Sass Modules | ||
### 👓 Sass | ||
Mercury ships with some [Sass Modules][sass-modules] which can be imported and extended if you’re | ||
using Sass: | ||
using version `1.23.0` or greater: | ||
@@ -21,65 +23,58 @@ ```scss | ||
.Manifold__Button { | ||
@include mercury.button; /* extend button styles */ | ||
@include mercury.Manifold__Button; /* extend button styles */ | ||
@include mercury.Manifold__Typography__Body; | ||
background: mercury.$color-purple; /* provide overrides from common variables */ | ||
color: mercury.$color-white; | ||
font-family: mercury.$typography-bodyMonoFontFamily; | ||
} | ||
``` | ||
For reference, please see the [generated `.scss` files](./dist) which are tracked in version | ||
For reference, please see the [generated `.scss` files][local-scss] which are tracked in version | ||
control. | ||
## Variables | ||
### 🐢 JS | ||
| Group | Sass Name | | ||
| :------- | :---------------------- | | ||
| Color | `$color-black` | | ||
| Color | `$color-blue` | | ||
| Color | `$color-borderGray` | | ||
| Color | `$color-gray` | | ||
| Color | `$color-grayDark` | | ||
| Color | `$color-grayDarker` | | ||
| Color | `$color-grayLight` | | ||
| Color | `$color-grayLighter` | | ||
| Color | `$color-grayLightest` | | ||
| Color | `$color-green` | | ||
| Color | `$color-mutedBlue` | | ||
| Color | `$color-mutedGreen` | | ||
| Color | `$color-mutedOrange` | | ||
| Color | `$color-mutedPurple` | | ||
| Color | `$color-mutedRed` | | ||
| Color | `$color-mutedTeal` | | ||
| Color | `$color-mutedYellow` | | ||
| Color | `$color-orange` | | ||
| Color | `$color-purple` | | ||
| Color | `$color-red` | | ||
| Color | `$color-teal` | | ||
| Color | `$color-white` | | ||
| Color | `$color-yellow` | | ||
| Gradient | `$gradient-brand` | | ||
| Gradient | `$gradient-brandMuted` | | ||
| Gradient | `$gradient-green` | | ||
| Gradient | `$gradient-greenMuted` | | ||
| Gradient | `$gradient-red` | | ||
| Gradient | `$gradient-redMuted` | | ||
| Gradient | `$gradient-yellow` | | ||
| Gradient | `$gradient-yellowMuted` | | ||
| Gradient | `$gradient-orange` | | ||
| Gradient | `$gradient-orangeMuted` | | ||
| Gradient | `$gradient-purple` | | ||
| Gradient | `$gradient-purpleMuted` | | ||
| Gradient | `$gradient-blue` | | ||
| Gradient | `$gradient-blueMuted` | | ||
| Gradient | `$gradient-manifold` | | ||
| Shadow | `$shadow-far` | | ||
| Shadow | `$shadow-near` | | ||
```js | ||
import { css } from 'linaria'; | ||
import { color, typography } from '@manifoldco/mercury'; | ||
## Components | ||
const header = css` | ||
font-family: ${typography.body.fontFamily}; | ||
color: ${color.black}; | ||
`; | ||
``` | ||
| Component | Description | | ||
| :-------- | :--------------------------------------- | | ||
| `.button` | Those Manifold buttons you know and love | | ||
## 🌈 Tokens | ||
## ♻️ Updating from Figma | ||
| Group | Sass | JS | | ||
| :------------------------------------------------ | :-------------- | :------------- | | ||
| [Color](./src/design-tokens/color.scss) | `$color-*` | `color.*` | | ||
| [Gradient](./src/design-tokens/gradient.scss) | `$gradient-*` | `gradient.*` | | ||
| [Shadow](./src/design-tokens/shadow.scss) | `$shadow-*` | `shadow.*` | | ||
| [Typography](./src/design-tokens/typography.scss) | `$typography-*` | `typography.*` | | ||
### ⚛️ Components | ||
| Component | Description | | ||
| :---------------------- | :-------------------------------------------------------------- | | ||
| `.Manifold__Button` | Those Manifold buttons you know and love | | ||
| `.Manifold__Typography` | Global typography styles to really lighten that copy/paste load | | ||
### 🚺 Icons | ||
Icons are all included in the [`icons/`][local-icons] folder as `.svg` files. You should be able to | ||
import these however you normally import files from npm. If using webpack, you may need to enable | ||
[raw-loader][raw-loader] for SVG files. | ||
## Contributing | ||
### 📚 Running Storybook Locally | ||
``` | ||
npm run dev | ||
``` | ||
### ♻️ Updating from Figma | ||
In your `.zshrc` or `.bashrc`, add your [Figma access token][figma] (needed to access Manifold | ||
@@ -98,24 +93,13 @@ files): | ||
## 🚀 Deploying | ||
If something breaks, bug Drew. | ||
Currently, deploying happens manually. You’ll need to be signed into npm. | ||
### 🚀 Deploying to npm | ||
Bump the patch number (the last digit) in `package.json` manually: | ||
Simply draft a new [release][local-releases] and tag it: | ||
```diff | ||
- "version": "0.0.9", | ||
+ "version": "0.0.10", | ||
``` | ||
| Tag | Release | | ||
| :-------------- | :------------------------------------------------------------ | | ||
| `v#.#.#` | **Stable**: ⚠️ dependabot will update all our repos using it! | | ||
| `v#.#.#-beta.0` | **Unstable**: this is safe for testing | | ||
**Commit this change.** | ||
_Note: decause this is all managed by design, the version number doesn’t matter as much as | ||
traditional packages._ | ||
Then, run: | ||
``` | ||
npm run deploy | ||
``` | ||
⚠️ **Note**: deploying won’t update the tokens! You’ll need to run `npm run extract` to pull the | ||
@@ -125,2 +109,7 @@ latest values. | ||
[figma]: https://www.figma.com/developers/api#access-tokens | ||
[local-icons]: ./src/icons | ||
[local-releases]: ./releases | ||
[local-scss]: ./src | ||
[node]: https://nodejs.org | ||
[raw-loader]: https://github.com/webpack-contrib/raw-loader | ||
[sass-modules]: https://sass-lang.com/blog/the-module-system-is-launched |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
135387
10.06%295
0.68%751
206.53%29
11.54%112
-8.94%1
Infinity%