Lightning Design System

Salesforce Lightning Design System

README

Salesforce Lightning Design System

Build Status Dependabot Status

Welcome to the source code repository for Salesforce Lightning Design System, brought to you by Salesforce UX.

SLDS is...

- Tailored for building Salesforce apps: Using the Lightning Design System markup and CSS framework results in UIs that reflect the Salesforce Lightning look and feel.
- Continuously updated: As long as you’re using the latest version of the Lightning Design System, your pages are always up to date with Salesforce UI changes.

Getting Started


This project utilizes Storybook for component development. If you would like to know more about Storybook or how it works, check out their website.

Project Installation & Setup:


1. Clone the repository down locally.
2. cd into the project and run npm install to install all project dependencies.

Running the Development Environment:


The Storybook development environment can be started by running npm start

Whenever you add, remove, or alter a component's css annotation metadata, you'll need to restart Storybook to see those changes.

Configuring Node and NVM


Node v12 is recommended for use with the Design System repository, and NVM is the recommended choice for managing multiple versions of Node on your computer.

A .nvmrc file is included in this project to aid in local development. To utilize it for setting your project's node version, run nvm use in the root of the directory.
Additionally, you can set up a deeper shell integration for automatically invoking the nvmrc file when you change into the project directory by

Developing in Storybook


Once the development server is started with npm start, you can load it at http://localhost:9002.

Annotations



Tasks


npm start


Starts the Storybook server for local development.

npm run gulp -- lint


Lint the code base for syntax and stylistic errors.

  1. ```
  2. # Lint indentation, Sass, JavaScript files
  3. npm run gulp -- lint

  4. # Lint languages independently
  5. npm run gulp -- lint:sass
  6. npm run gulp -- lint:javascript
  7. npm run gulp -- lint:javascript:test
  8. npm run gulp -- lint:spaces
  9. npm run gulp -- lint:html

  10. # HTML5 validation
  11. npm run gulp -- lint:vnu
  12. # HTML5 validation on comma separated blueprint names
  13. npm run gulp -- lint:vnu --components button,path,trees

  14. # a11y validation
  15. npm run gulp -- lint:a11y
  16. # a11y validation on comma separated blueprint names
  17. npm run gulp -- lint:a11y --components button,path,trees

  18. # Lint examples using vnu, aXe, slds validation, and HTML5 validation
  19. npm run gulp -- lint:examples
  20. ```

Pull Request Checks


To run all the checks a pull request will run in Travis use the following command.

  1. ```
  2. # To run every check against all blueprints
  3. npm run pr-checks

  4. # To run every check but target certain blueprints for slow checks like aXe and vnu
  5. npm run pr-checks -- --components button,path,trees
  6. ```

Compilation


npm run build-dist

Generate the Lightning Design System into the .dist directory.

npm run gulp -- styles

Compile Sass to CSS into .assets/styles.

npm run gulp -- clean

Delete temporary build and local files.

Stats


npm run gulp -- styles:stats: Useful stats about the project's deliverables.

Tests


npm test: run all tests

Troubleshooting



Contributing Back to SLDS



Licenses


- Source code is licensed under BSD 3-Clause
- All icons and images are licensed under Creative Commons Attribution-NoDerivatives 4.0

Got Feedback?


Please open a new GitHub Issue.