All Projects → equinor → design-system

equinor / design-system

Licence: MIT license
The Equinor design system

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to design-system

neptune-web
Wise Web Design System
Stars: ✭ 55 (+12.24%)
Mutual labels:  design-system
ui-ux
The learning guide contains the Basics, Intermediate and Advance resources for User Interface and User Experience Design
Stars: ✭ 187 (+281.63%)
Mutual labels:  design-system
rex-design
A responsive and adaptive components library, with ability to config theme and color mode.
Stars: ✭ 107 (+118.37%)
Mutual labels:  design-system
helsinki-design-system
Components, principles, documentation and templates for the City of Helsinki design system.
Stars: ✭ 82 (+67.35%)
Mutual labels:  design-system
tds-community
TELUS Design System Community Components
Stars: ✭ 22 (-55.1%)
Mutual labels:  design-system
anv-ui-components
AnyVision React components library
Stars: ✭ 35 (-28.57%)
Mutual labels:  design-system
cbp-theme
UI Theme for U.S. Customs and Border Protection web applications
Stars: ✭ 28 (-42.86%)
Mutual labels:  design-system
vf-core
A (primarily CSS) framework that targets needs of life science websites and services
Stars: ✭ 16 (-67.35%)
Mutual labels:  design-system
carbon-components-svelte
Svelte implementation of the Carbon Design System
Stars: ✭ 1,615 (+3195.92%)
Mutual labels:  design-system
open design system
Open Source Design System using Sketch. It's early days of my project.
Stars: ✭ 22 (-55.1%)
Mutual labels:  design-system
paramount
React Component Library for React Native and React Web
Stars: ✭ 23 (-53.06%)
Mutual labels:  design-system
react-native-sketchbook
design system for react-native
Stars: ✭ 57 (+16.33%)
Mutual labels:  design-system
pebble
Pebble Design System
Stars: ✭ 14 (-71.43%)
Mutual labels:  design-system
oskrhq-design-system
A mostly reasonable although opinionated approach to building responsive Digital Interfaces sharing the same anatomy.
Stars: ✭ 60 (+22.45%)
Mutual labels:  design-system
vitamin-android
Decathlon Design System UI components for Android applications
Stars: ✭ 34 (-30.61%)
Mutual labels:  design-system
feather-design-system
Feather DS is a Vue 3 based design system built around simplicity, consistency, and accessibility
Stars: ✭ 17 (-65.31%)
Mutual labels:  design-system
visage
Visage design system
Stars: ✭ 12 (-75.51%)
Mutual labels:  design-system
solar-components
Web Components Implementation of Solar Design System
Stars: ✭ 16 (-67.35%)
Mutual labels:  design-system
wonder-blocks
React components for Wonder Blocks design system.
Stars: ✭ 110 (+124.49%)
Mutual labels:  design-system
gatsby-starter-specimens
Leverage the wide variety of powerful React components to build your design system. Display colors, typography or any other design tokens with ease. Works seamlessly with MDX.
Stars: ✭ 35 (-28.57%)
Mutual labels:  design-system

Equinor Design System

The EDS is the official design system of Equinor and is to be used when designing, prototyping and developing internal digital interfaces. The EDS provides structure, guidance and tools that enable designers and developers to efficiently build consistent, inclusive and flexible solutions.

While the design system itself lives in Figma, this repository contains implementations of the EDS in code.

Table of contents

Status

Package  Status Version
Core React Checks Version
Tokens Checks Version
Icons Checks Version

How to run

Would you like to contribute? Awesome! 👏

We use a fork and pull-request workflow, so start with forking the repository on Github, then either open it in Gitpod or clone your fork locally.
Checkout Github docs on how to work with forks

Use Gitpod and develop in the browser

Just prepend the url to your fork with https://gitpod.io/#, so for example https://gitpod.io/#https://github.com/yourusername/design-system. Dependencies will be installed automatically, then tests and linting will run, and finally the storybook will open in it’s own preview window ready to start coding.

Clone and develop locally

$ git clone [email protected]:your-github-username/design-system

We use pnpm as the package manager, because it’s fast, space efficient, and has some very useful commands when working with a monorepo – so you should start off by installing it globally.

$ npm install -g pnpm

Install dependencies using the shorthand version of pnpm multi install

$ cd design-system
$ pnpm m i

Work with the React components

We use storybook as a development environment.

Start storybook on localhost:9000 by running the following command from root:

$ pnpm run storybook

Run tests once or by watching

$ pnpm run test:core-react 
$ pnpm run test:watch:core-react 

Figma

The EDS in Figma is the single source of truth. You can apply for access to Figma in AccessIT. The EDS Core team has workshops and demos on using Figma from time to time, these are announced in Slack and Teams (see «Get in touch»)

Storefront

The storefront is the official documentation for the EDS.

React

This is the main implementation of the EDS, and will eventually contain accessible React components of each and every EDS component in Figma.

Installation

npm install @equinor/eds-core-react styled-components

If you use Typescript, make sure you have typescript >= 3.8 as a devDependency:

npm install typescript --save-dev

Safari

From version 0.16.0 we added native support for focus-visible (enable focus-ring on elements when using TAB key) and removed the polyfill. If your project requires support for keyboard navigation with Safari, you now need to include the polyfill yourself:

npm install --save-dev focus-visible
 // import focus-visible polyfill only once
    import 'focus-visible';

Usage

import { Button } from '@equinor/eds-core-react'

<Button variant="outlined" color="secondary">
  Click me!
</Button>

See our storybook for more examples.

Icons

Built on a copy of the Outlined Material Design icons, the icons have been customised and renamed for Equinor’s use and supplemented with our own icons for Equinor specific domains.

All the icons are available in our Storybook, and can also be installed from NPM.

The following example uses the <Icon> component from @equinor/eds-core-react – but the icons package can also be used without React.

Installation

npm install @equinor/eds-icons @equinor/eds-core-react

If you use Typescript, make sure you have typescript >= 3.8 as a devDependency:

npm install typescript --save-dev

Usage

import { Icon } from '@equinor/eds-core-react'
import { info_circle } from '@equinor/eds-icons'

<Icon data={info_circle} size={24} />

Tokens

Design tokens are design decisions from Figma extracted into code, and form the basis for the EDS Core React library. For projects that don’t use React, the tokens are available as an independent NPM package that can be used to build your own implementation of the EDS in your technology of choice. The following example uses vanilla javascript.

Installation

npm install @equinor/eds-tokens

If you use Typescript, make sure you have typescript >= 3.8 as a devDependency:

npm install typescript --save-dev

Usage

import { tokens } from '@equinor/eds-tokens'

const {
  typography: {
    heading: { h1 },
  },
} = tokens

const header = document.createElement('h1')

Object.keys(h1).forEach((token) => {
  header.style[token] = h1[token]
})

header.textContent = 'Some header'

document.body.appendChild(header)

Fonts

The Equinor typeface is available from the EDS CDN.

Usage

All the fonts

<link rel="stylesheet" href="https://eds-static.equinor.com/font/equinor-font.css" />

Individual fonts

<link rel="stylesheet" href="https://eds-static.equinor.com/font/equinor-regular.css" />

We currently don’t support the font-display property, so if that’s something you need then please let us know.

Logo

When it comes to the Equinor logo, we have two versions – primary and horizontal – and you pick the colour with a fragment identifier in the url. The following example uses the primary logo in red, other colour options are white and black – with black being the default if you omit the fragment identifier.

Usage

<img src="https://eds-static.equinor.com/logo/equinor-logo-primary.svg#red" alt="Equinor" />

Browser support

We support the most up to date version of evergreen browsers (browsers that auto-update), which means Chrome, Safari, Firefox and (Chromium) Edge.

Contributions

Contributions are welcome and encouraged! File bug reports and feature requests in Github issues, and get in touch with us if you want to help us out with implementing the components or have ideas for components we should include in the EDS.

Get in touch

We use #eds-design-system on Slack as our main communication channel – but we have an internal team on Teams as well that you can join if you want to get in touch with us. If you’re outside Equinor and want to get in touch with the team, then please create an issue.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].