All Projects → sparkdesignsystem → spark-design-system

sparkdesignsystem / spark-design-system

Licence: MIT license
Spark Design System

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects
SCSS
7915 projects
swift
15916 projects
HTML
75241 projects

Projects that are alternatives of or similar to spark-design-system

Awesome Design Systems
A curated list of bookmarks, resources and articles about design systems focused on developers.
Stars: ✭ 222 (+119.8%)
Mutual labels:  design-patterns, design-system
Calcite Components
Web Components for the Calcite Design System. Built with Stencil JS. Currently in Beta!
Stars: ✭ 96 (-4.95%)
Mutual labels:  design-patterns, design-system
Daisyui
⭐️ ⭐️ ⭐️ ⭐️ ⭐️  Tailwind Components
Stars: ✭ 382 (+278.22%)
Mutual labels:  design-patterns, design-system
design-system
British Columbia Government Design System for Digital Services
Stars: ✭ 33 (-67.33%)
Mutual labels:  design-patterns, design-system
react-uswds
USWDS 3.0 components built in React
Stars: ✭ 108 (+6.93%)
Mutual labels:  design-patterns, design-system
System Design Primer
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
Stars: ✭ 154,659 (+153027.72%)
Mutual labels:  design-patterns, design-system
System Design And Architecture
Learn how to design large-scale systems. Prep for the system design interview.
Stars: ✭ 1,005 (+895.05%)
Mutual labels:  design-patterns, design-system
moon-design
Moon Design System for React
Stars: ✭ 209 (+106.93%)
Mutual labels:  design-patterns, design-system
jw-design-library
A library of product design patterns comprised of code, usage and guidelines.
Stars: ✭ 16 (-84.16%)
Mutual labels:  design-patterns, design-system
ui-ux
The learning guide contains the Basics, Intermediate and Advance resources for User Interface and User Experience Design
Stars: ✭ 187 (+85.15%)
Mutual labels:  design-patterns, 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 (-65.35%)
Mutual labels:  design-system
open design system
Open Source Design System using Sketch. It's early days of my project.
Stars: ✭ 22 (-78.22%)
Mutual labels:  design-system
chakra-next
Opinionated design system for React, based on Chakra UI + Next.js, written in TypeScript.
Stars: ✭ 181 (+79.21%)
Mutual labels:  design-system
UUI
React-based components and accelerators library built by EPAM Systems.
Stars: ✭ 90 (-10.89%)
Mutual labels:  design-system
design-patterns-swift
Design Pattern Examples in Swift
Stars: ✭ 95 (-5.94%)
Mutual labels:  design-patterns
design-system
The Equinor design system
Stars: ✭ 49 (-51.49%)
Mutual labels:  design-system
go-design-pattern
go的设计模式实例
Stars: ✭ 45 (-55.45%)
Mutual labels:  design-patterns
pebble
Pebble Design System
Stars: ✭ 14 (-86.14%)
Mutual labels:  design-system
LearningPoint
A repository for learning different technologies, frameworks, features......
Stars: ✭ 66 (-34.65%)
Mutual labels:  design-patterns
angular-atomic-app
Angular 5 app built on atomic web design principles
Stars: ✭ 12 (-88.12%)
Mutual labels:  design-patterns

Build Status

Spark Design System

Welcome to the Spark Design System, a product of Rocket Mortgage.

Spark Design System is where we collect our best solutions for how to design and build unified digital experiences for the Rocket brands.

  • Spark contains the basic patterns and components that make up the visual and interaction design of the Rocket Mortgage family of Fintech products. If your application is expected to look and behave like a Rocket Mortgage application, this package is the starting point. When the Spark Sass and JS setup files are imported into an application you will receive code for all of Spark.

Getting Started

Spark assumes your project is using Sass for styling and also that your project has a JavaScript build step that will transpile ES6+ and polyfill appropriately for browser support.

Spark

  • Install the npm package.

    npm install --save-dev @sparkdesignsystem/spark

  • Import the Sass setup file in your Sass build.

    @import "node_modules/@sparkdesignsystem/spark-styles/spark.scss";

    This will bring all Spark Sass patterns into your build. The Spark classes are namespaced so they don't affect any existing CSS.

  • Import the JS setup file in your JS build.

    import spark from "node_modules/@sparkdesignsystem/spark/spark";

    This will bring all Spark JS into your build.

Contribution Guide

Code Organization

Spark is managed as a monorepo. All of the Spark source code lives in a single repo, but is released as separate packages.

This repo consists of the design system packages, wrapped in an instance of Gatsby. Spark uses Gatsby for our main documentation site and Storybook for our component previews and developer documentation.

In the root there are three directories, react, angular and html. These house the files that are published to npm.

Dev Environment

If you want to run a copy of Gatsby locally:

  1. Navigate to the root directory of the project.
  2. Run npm install.
  3. Run npm start.
  4. Open your browser to http://localhost:8000/.

If you want to run a copy of Gatsby and Storybook locally:

  1. Navigate to the root directory of the project.
  2. Run npm run installall.
  3. Run npm start to start Gatsby then open your browser to http://localhost:8000/.
  4. Run (cd react/ ; npm run storybook) to start Storybook for React.
  5. Run (cd angular/ ; npm run storybook) to start Storybook for Angular.
  6. Run (cd html/ ; npm run storybook) to start Storybook for HTML.

Unit Tests

Spark uses the Jest test framework for unit tests. To run unit tests in Spark:

  1. Navigate to the framework directory of your choice from the root cd react, cd angular, or cd html.
  2. Run npm install if you have not already.
  3. Run npm test.
  4. See test output in terminal to determine number of passing or failed tests.

Code Style Standards

Spark follows specific coding styles for HTML, CSS and JavaScript to ensure maintainability and scalability.

HTML

  • Two spaces for indentation.
  • For better code readability the attributes of elements should each be on their own line when the number of attributes makes that element exceed a line length of 80 characters.

CSS

  • Two spaces for indentation.
  • CSS is written in Sass and preprocessed into CSS.
  • Class Naming Conventions can be found here.
  • Stylelint is used to lint Sass files and all of Spark Sass coding conventions can be found in the Stylelint configuration file .

JS

  • Two spaces for indentation.
  • Spark JS will use new features from ESNext and assumes applications using Spark have a JavaScript compiler setup.
  • Spark uses ESLint for JS linting.
  • ESLint is setup to use the Airbnb JavaScript Style Guide and Spark JS coding conventions come from there.
  • Data attributes on DOM elements is the chosen method for DOM selection.

React and Angular

  • For additionalClasses properties use the naming convention elementAdditionalClasses for other elements that we offer additional classes support on besides the main element.

Change Workflow

Coming Soon

Credit

Gatsby StorybookJS

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].