kandi background
Explore Kits

design-system | Salesforce Lightning Design System

 by   salesforce-ux JavaScript Version: v2.17.5 License: Non-SPDX

 by   salesforce-ux JavaScript Version: v2.17.5 License: Non-SPDX

Download this library from

kandi X-RAY | design-system Summary

design-system is a JavaScript library. design-system has no bugs, it has no vulnerabilities and it has medium support. However design-system has a Non-SPDX License. You can install using 'npm i design-system' or download it from GitHub, npm.
Welcome to the source code repository for Salesforce Lightning Design System, brought to you by Salesforce UX.
Support
Support
Quality
Quality
Security
Security
License
License
Reuse
Reuse

kandi-support Support

  • design-system has a medium active ecosystem.
  • It has 3219 star(s) with 742 fork(s). There are 180 watchers for this library.
  • There were 5 major release(s) in the last 12 months.
  • There are 6 open issues and 611 have been closed. On average issues are closed in 248 days. There are 5 open pull requests and 0 closed requests.
  • It has a neutral sentiment in the developer community.
  • The latest version of design-system is v2.17.5
design-system Support
Best in #JavaScript
Average in #JavaScript
design-system Support
Best in #JavaScript
Average in #JavaScript

quality kandi Quality

  • design-system has no bugs reported.
design-system Quality
Best in #JavaScript
Average in #JavaScript
design-system Quality
Best in #JavaScript
Average in #JavaScript

securitySecurity

  • design-system has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
design-system Security
Best in #JavaScript
Average in #JavaScript
design-system Security
Best in #JavaScript
Average in #JavaScript

license License

  • design-system has a Non-SPDX License.
  • Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.
design-system License
Best in #JavaScript
Average in #JavaScript
design-system License
Best in #JavaScript
Average in #JavaScript

buildReuse

  • design-system releases are available to install and integrate.
  • Deployable package is available in npm.
  • Installation instructions, examples and code snippets are available.
design-system Reuse
Best in #JavaScript
Average in #JavaScript
design-system Reuse
Best in #JavaScript
Average in #JavaScript
Top functions reviewed by kandi - BETA

kandi has reviewed design-system and discovered the below as its top functions. This is intended to give you an instant insight into design-system implemented functionality, and help decide if they suit your requirements.

  • Removes surrounding parentheses around a value .
    • Creates and compiles the release notes
      • Find the fallback value of a variable
        • Highlight lines of a given block .
          • Parse markdown - line notes
            • Apply a hash to the current location .
              • Splits an object into a notes array
                • Adds a list of hook to the list
                  • Ask user for the command
                    • Get the release date

                      Get all kandi verified functions for this library.

                      Get all kandi verified functions for this library.

                      design-system Key Features

                      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.

                      design-system Examples and Code Snippets

                      See all related Code Snippets

                      Tasks

                      copy iconCopydownload iconDownload
                      # Lint indentation, Sass, JavaScript files
                      npm run gulp -- lint
                      
                      # Lint languages independently
                      npm run gulp -- lint:sass
                      npm run gulp -- lint:javascript
                      npm run gulp -- lint:javascript:test
                      npm run gulp -- lint:spaces
                      npm run gulp -- lint:html
                      
                      # HTML5 validation
                      npm run gulp -- lint:vnu
                      # HTML5 validation on comma separated blueprint names
                      npm run gulp -- lint:vnu --components button,path,trees
                      
                      # a11y validation
                      npm run gulp -- lint:a11y
                      # a11y validation on comma separated blueprint names
                      npm run gulp -- lint:a11y --components button,path,trees
                      
                      # Lint examples using vnu, aXe, slds validation, and HTML5 validation
                      npm run gulp -- lint:examples
                      

                      Pull Request Checks

                      copy iconCopydownload iconDownload
                      # To run every check against all blueprints
                      npm run pr-checks
                      
                      # To run every check but target certain blueprints for slow checks like aXe and vnu
                      npm run pr-checks -- --components button,path,trees
                      

                      Gatsby component shadowing

                      copy iconCopydownload iconDownload
                      const Switcher = () => {
                        return <></>
                      };
                      

                      How to show boolean-based values, in datatable cell content, using lightning design-system-react?

                      copy iconCopydownload iconDownload
                      const [stringVal, setStringVal] = useState("Inactive");
                      useEffect(() => {
                        setStringVal("your result here");
                      }, [children]);
                      

                      Published styled-components react library does not have access to user app ThemeProvider

                      copy iconCopydownload iconDownload
                      import { ThemeProvider } from 'styled-components'
                      import { theme as defaultTheme } from '../src/styles/theme'
                      
                      const CustomThemeProvider = ({ theme = defaultTheme, children }) => (
                        <ThemeProvider theme={theme}>
                          {children}
                        </ThemeProvider>
                      )
                      
                      export { CustomThemeProvider }
                      
                      /// pages/_app.js
                      import { CustomThemeProvider, theme } from 'design-system'
                      
                      function MyApp({ Component, pageProps }) {
                        console.log(theme)
                        return (
                          <CustomThemeProvider theme={theme}>
                            <Component {...pageProps} />
                          </CustomThemeProvider>
                        )
                      }
                      
                      import { ThemeProvider } from 'styled-components'
                      import { theme as defaultTheme } from '../src/styles/theme'
                      
                      const CustomThemeProvider = ({ theme = defaultTheme, children }) => (
                        <ThemeProvider theme={theme}>
                          {children}
                        </ThemeProvider>
                      )
                      
                      export { CustomThemeProvider }
                      
                      /// pages/_app.js
                      import { CustomThemeProvider, theme } from 'design-system'
                      
                      function MyApp({ Component, pageProps }) {
                        console.log(theme)
                        return (
                          <CustomThemeProvider theme={theme}>
                            <Component {...pageProps} />
                          </CustomThemeProvider>
                        )
                      }
                      

                      Items not loading in useEffect in react

                      copy iconCopydownload iconDownload
                        data.imageNameArray && data.imageNameArray.map(name=>{<h3>Hello</h3>})}
                      

                      How does React provide independent contexts for subtrees?

                      copy iconCopydownload iconDownload
                      function createElement(type, props, ...children) {
                        props = { children, ...props };
                      
                        if (typeof type === 'function') {
                          return type(props);
                        } else {
                          return { type, props };
                        }
                      }
                      
                      const div = createElement('div', {}, createElement(Card, {}));
                      // identical to
                      const card = createElement(Card, {}); // inner, and then…
                      const div = createElement('div', {}, card); // outer
                      
                      function createElement(type, props, ...children) {
                        props = { children, ...props };
                      
                        if (typeof type === 'function') {
                          return type(props);
                        } else {
                          return { type, props };
                        }
                      }
                      
                      const div = createElement('div', {}, createElement(Card, {}));
                      // identical to
                      const card = createElement(Card, {}); // inner, and then…
                      const div = createElement('div', {}, card); // outer
                      

                      Styled components + typescript: &quot;as&quot; is not assignable to type IntrinsicAttributes

                      copy iconCopydownload iconDownload
                      interface HeadingProps extends HTMLAttributes<HTMLHeadingElement> {
                          // ...
                          as?: keyof JSX.IntrinsicElements // Note the keyof!
                      }
                      
                      (JSX attribute) HeadingProps.as?: "symbol" | "object" | "a" | "abbr" | "address" | "area" | "article" | "aside" | "audio" | "b" | "base" | "bdi" | "bdo" | "big" | "blockquote" | "body" | "br" | "button" | "canvas" | ... 156 more ... | undefined
                      
                      <Heading as="h2" level="2"> // No TS errors! ✅
                          Header 2
                      </Heading>
                      
                      interface HeadingProps extends HTMLAttributes<HTMLHeadingElement> {
                          // ...
                          as?: keyof JSX.IntrinsicElements // Note the keyof!
                      }
                      
                      (JSX attribute) HeadingProps.as?: "symbol" | "object" | "a" | "abbr" | "address" | "area" | "article" | "aside" | "audio" | "b" | "base" | "bdi" | "bdo" | "big" | "blockquote" | "body" | "br" | "button" | "canvas" | ... 156 more ... | undefined
                      
                      <Heading as="h2" level="2"> // No TS errors! ✅
                          Header 2
                      </Heading>
                      
                      interface HeadingProps extends HTMLAttributes<HTMLHeadingElement> {
                          // ...
                          as?: keyof JSX.IntrinsicElements // Note the keyof!
                      }
                      
                      (JSX attribute) HeadingProps.as?: "symbol" | "object" | "a" | "abbr" | "address" | "area" | "article" | "aside" | "audio" | "b" | "base" | "bdi" | "bdo" | "big" | "blockquote" | "body" | "br" | "button" | "canvas" | ... 156 more ... | undefined
                      
                      <Heading as="h2" level="2"> // No TS errors! ✅
                          Header 2
                      </Heading>
                      

                      Get the original / raw template value of ng-content

                      copy iconCopydownload iconDownload
                      declare module "*.html" {
                        const content: string;
                        export default content;
                      }
                      
                      export abstract class Example {
                        templateText: string; //the raw html to display 
                      }
                      
                      import { Component, ContentChildren, Input, QueryList } from "@angular/core";
                      import { Example } from "../example";
                      
                      @Component({
                        selector: "app-example",
                        template: `
                          <div class="wrapper">
                              <h1>{{label}}</h1>
                              <ng-content></ng-content>
                          
                              <br />
                              <button (click)="copyTagToClipboard()">Copy Content</button>
                          
                              <div>
                                  <pre>{{ example.templateText }}</pre>
                              </div>
                          </div>
                        `
                      })
                      export class ExampleComponent{
                        @Input() label: string; 
                        
                        @ContentChildren(Example) items: QueryList<Example>;
                        example: Example;
                      
                        ngAfterContentInit(): void {
                          //grab the first thing that implements the "Example" interface
                          //hypothetically this component could be re-worked to display multiple examples!
                          this.example = this.items.toArray()[0];    
                        }
                      
                        copyTagToClipboard() {
                          alert(this.example.templateText);
                        }
                      }
                      
                      import { Component, TemplateRef, ViewChild } from "@angular/core";
                      import { Example } from "../example";
                      
                      // See typings.d.ts, which sets up the module that allows us to do this
                      import * as template from "./my-component-example.component.html";
                      // or const template = `<app-my-component [label]="myLabelValue"></app-my-component>`;
                      
                      @Component({
                        selector: "app-my-component-example",
                        template,
                        styleUrls: ["./my-component-example.component.css"],
                      
                        //this is so the QueryList works in the example wrapper
                        providers: [{ provide: Example, useExisting: MyComponentExampleComponent }]
                      })
                      export class MyComponentExampleComponent implements Example {
                        myLabelValue = "Test Label!!";
                        templateText = template.default;
                      }
                      
                      <app-example label="Basic Example">
                        <app-my-component-example></app-my-component-example>
                      </app-example>
                      
                      declare module "*.html" {
                        const content: string;
                        export default content;
                      }
                      
                      export abstract class Example {
                        templateText: string; //the raw html to display 
                      }
                      
                      import { Component, ContentChildren, Input, QueryList } from "@angular/core";
                      import { Example } from "../example";
                      
                      @Component({
                        selector: "app-example",
                        template: `
                          <div class="wrapper">
                              <h1>{{label}}</h1>
                              <ng-content></ng-content>
                          
                              <br />
                              <button (click)="copyTagToClipboard()">Copy Content</button>
                          
                              <div>
                                  <pre>{{ example.templateText }}</pre>
                              </div>
                          </div>
                        `
                      })
                      export class ExampleComponent{
                        @Input() label: string; 
                        
                        @ContentChildren(Example) items: QueryList<Example>;
                        example: Example;
                      
                        ngAfterContentInit(): void {
                          //grab the first thing that implements the "Example" interface
                          //hypothetically this component could be re-worked to display multiple examples!
                          this.example = this.items.toArray()[0];    
                        }
                      
                        copyTagToClipboard() {
                          alert(this.example.templateText);
                        }
                      }
                      
                      import { Component, TemplateRef, ViewChild } from "@angular/core";
                      import { Example } from "../example";
                      
                      // See typings.d.ts, which sets up the module that allows us to do this
                      import * as template from "./my-component-example.component.html";
                      // or const template = `<app-my-component [label]="myLabelValue"></app-my-component>`;
                      
                      @Component({
                        selector: "app-my-component-example",
                        template,
                        styleUrls: ["./my-component-example.component.css"],
                      
                        //this is so the QueryList works in the example wrapper
                        providers: [{ provide: Example, useExisting: MyComponentExampleComponent }]
                      })
                      export class MyComponentExampleComponent implements Example {
                        myLabelValue = "Test Label!!";
                        templateText = template.default;
                      }
                      
                      <app-example label="Basic Example">
                        <app-my-component-example></app-my-component-example>
                      </app-example>
                      
                      declare module "*.html" {
                        const content: string;
                        export default content;
                      }
                      
                      export abstract class Example {
                        templateText: string; //the raw html to display 
                      }
                      
                      import { Component, ContentChildren, Input, QueryList } from "@angular/core";
                      import { Example } from "../example";
                      
                      @Component({
                        selector: "app-example",
                        template: `
                          <div class="wrapper">
                              <h1>{{label}}</h1>
                              <ng-content></ng-content>
                          
                              <br />
                              <button (click)="copyTagToClipboard()">Copy Content</button>
                          
                              <div>
                                  <pre>{{ example.templateText }}</pre>
                              </div>
                          </div>
                        `
                      })
                      export class ExampleComponent{
                        @Input() label: string; 
                        
                        @ContentChildren(Example) items: QueryList<Example>;
                        example: Example;
                      
                        ngAfterContentInit(): void {
                          //grab the first thing that implements the "Example" interface
                          //hypothetically this component could be re-worked to display multiple examples!
                          this.example = this.items.toArray()[0];    
                        }
                      
                        copyTagToClipboard() {
                          alert(this.example.templateText);
                        }
                      }
                      
                      import { Component, TemplateRef, ViewChild } from "@angular/core";
                      import { Example } from "../example";
                      
                      // See typings.d.ts, which sets up the module that allows us to do this
                      import * as template from "./my-component-example.component.html";
                      // or const template = `<app-my-component [label]="myLabelValue"></app-my-component>`;
                      
                      @Component({
                        selector: "app-my-component-example",
                        template,
                        styleUrls: ["./my-component-example.component.css"],
                      
                        //this is so the QueryList works in the example wrapper
                        providers: [{ provide: Example, useExisting: MyComponentExampleComponent }]
                      })
                      export class MyComponentExampleComponent implements Example {
                        myLabelValue = "Test Label!!";
                        templateText = template.default;
                      }
                      
                      <app-example label="Basic Example">
                        <app-my-component-example></app-my-component-example>
                      </app-example>
                      
                      declare module "*.html" {
                        const content: string;
                        export default content;
                      }
                      
                      export abstract class Example {
                        templateText: string; //the raw html to display 
                      }
                      
                      import { Component, ContentChildren, Input, QueryList } from "@angular/core";
                      import { Example } from "../example";
                      
                      @Component({
                        selector: "app-example",
                        template: `
                          <div class="wrapper">
                              <h1>{{label}}</h1>
                              <ng-content></ng-content>
                          
                              <br />
                              <button (click)="copyTagToClipboard()">Copy Content</button>
                          
                              <div>
                                  <pre>{{ example.templateText }}</pre>
                              </div>
                          </div>
                        `
                      })
                      export class ExampleComponent{
                        @Input() label: string; 
                        
                        @ContentChildren(Example) items: QueryList<Example>;
                        example: Example;
                      
                        ngAfterContentInit(): void {
                          //grab the first thing that implements the "Example" interface
                          //hypothetically this component could be re-worked to display multiple examples!
                          this.example = this.items.toArray()[0];    
                        }
                      
                        copyTagToClipboard() {
                          alert(this.example.templateText);
                        }
                      }
                      
                      import { Component, TemplateRef, ViewChild } from "@angular/core";
                      import { Example } from "../example";
                      
                      // See typings.d.ts, which sets up the module that allows us to do this
                      import * as template from "./my-component-example.component.html";
                      // or const template = `<app-my-component [label]="myLabelValue"></app-my-component>`;
                      
                      @Component({
                        selector: "app-my-component-example",
                        template,
                        styleUrls: ["./my-component-example.component.css"],
                      
                        //this is so the QueryList works in the example wrapper
                        providers: [{ provide: Example, useExisting: MyComponentExampleComponent }]
                      })
                      export class MyComponentExampleComponent implements Example {
                        myLabelValue = "Test Label!!";
                        templateText = template.default;
                      }
                      
                      <app-example label="Basic Example">
                        <app-my-component-example></app-my-component-example>
                      </app-example>
                      
                      declare module "*.html" {
                        const content: string;
                        export default content;
                      }
                      
                      export abstract class Example {
                        templateText: string; //the raw html to display 
                      }
                      
                      import { Component, ContentChildren, Input, QueryList } from "@angular/core";
                      import { Example } from "../example";
                      
                      @Component({
                        selector: "app-example",
                        template: `
                          <div class="wrapper">
                              <h1>{{label}}</h1>
                              <ng-content></ng-content>
                          
                              <br />
                              <button (click)="copyTagToClipboard()">Copy Content</button>
                          
                              <div>
                                  <pre>{{ example.templateText }}</pre>
                              </div>
                          </div>
                        `
                      })
                      export class ExampleComponent{
                        @Input() label: string; 
                        
                        @ContentChildren(Example) items: QueryList<Example>;
                        example: Example;
                      
                        ngAfterContentInit(): void {
                          //grab the first thing that implements the "Example" interface
                          //hypothetically this component could be re-worked to display multiple examples!
                          this.example = this.items.toArray()[0];    
                        }
                      
                        copyTagToClipboard() {
                          alert(this.example.templateText);
                        }
                      }
                      
                      import { Component, TemplateRef, ViewChild } from "@angular/core";
                      import { Example } from "../example";
                      
                      // See typings.d.ts, which sets up the module that allows us to do this
                      import * as template from "./my-component-example.component.html";
                      // or const template = `<app-my-component [label]="myLabelValue"></app-my-component>`;
                      
                      @Component({
                        selector: "app-my-component-example",
                        template,
                        styleUrls: ["./my-component-example.component.css"],
                      
                        //this is so the QueryList works in the example wrapper
                        providers: [{ provide: Example, useExisting: MyComponentExampleComponent }]
                      })
                      export class MyComponentExampleComponent implements Example {
                        myLabelValue = "Test Label!!";
                        templateText = template.default;
                      }
                      
                      <app-example label="Basic Example">
                        <app-my-component-example></app-my-component-example>
                      </app-example>
                      

                      How to set colors in react carbon design chart

                      copy iconCopydownload iconDownload
                      const demoDonutOptions = {
                        color: {
                          scale: {
                            java: "#FF0000",
                            javascript: "#00FF00",
                            "c++": "#0000FF"
                          }
                        },
                        height: "300px"
                      };
                      
                      import React from "react";
                      import ReactDOM from "react-dom";
                      import { DonutChart } from "@carbon/charts-react";
                      import "@carbon/charts/styles.css";
                      
                      const colors = {
                        java: "#FF0000",
                        javascript: "#00FF00",
                        "c++": "#0000FF"
                      };
                      
                      const chartData = [
                        {
                          group: "java",
                          value: 300
                        },
                        {
                          group: "javascript",
                          value: 600
                        },
                        {
                          group: "c++",
                          value: 200
                        }
                      ];
                      
                      const demoDonutOptions = {
                        color: {
                          scale: colors
                        },
                        height: "300px"
                      };
                      
                      function App() {
                        return (
                          <div className="App">
                            <h3>React Donut chart with label</h3>
                            <div>
                              <DonutChart data={chartData} options={demoDonutOptions} />
                            </div>
                          </div>
                        );
                      }
                      
                      const rootElement = document.getElementById("root");
                      ReactDOM.render(<App />, rootElement);
                      
                      const demoDonutOptions = {
                        color: {
                          scale: {
                            java: "#FF0000",
                            javascript: "#00FF00",
                            "c++": "#0000FF"
                          }
                        },
                        height: "300px"
                      };
                      
                      import React from "react";
                      import ReactDOM from "react-dom";
                      import { DonutChart } from "@carbon/charts-react";
                      import "@carbon/charts/styles.css";
                      
                      const colors = {
                        java: "#FF0000",
                        javascript: "#00FF00",
                        "c++": "#0000FF"
                      };
                      
                      const chartData = [
                        {
                          group: "java",
                          value: 300
                        },
                        {
                          group: "javascript",
                          value: 600
                        },
                        {
                          group: "c++",
                          value: 200
                        }
                      ];
                      
                      const demoDonutOptions = {
                        color: {
                          scale: colors
                        },
                        height: "300px"
                      };
                      
                      function App() {
                        return (
                          <div className="App">
                            <h3>React Donut chart with label</h3>
                            <div>
                              <DonutChart data={chartData} options={demoDonutOptions} />
                            </div>
                          </div>
                        );
                      }
                      
                      const rootElement = document.getElementById("root");
                      ReactDOM.render(<App />, rootElement);
                      

                      How to add BLK theme to an angular CLI project

                      copy iconCopydownload iconDownload
                         "node_modules/blk-design-system-angular/src/assets/css/nucleo-icons.css",
                         "node_modules/ngx-bootstrap/datepicker/bs-datepicker.css",
                         "node_modules/blk-design-system-angular/src/assets/scss/blk-design-system.scss",
                         "node_modules/blk-design-system-angular/src/assets/demo/demo.css"
                      

                      How to show/hide component on button click/hover in angular?

                      copy iconCopydownload iconDownload
                      <div *ngFor="let route of toolbarRoutes">
                        <button mat-stroked-button
                          class="toolbar-nav-button"
                          (click)="routeTo(route.path)"
                          (mouseenter)="route.showHoverable=true"
                          (mouseleave)="route.showHoverable=false">
                      
                              {{route.displayName}}
                        </button>
                      
                        <app-hoverable *ngIf="route.showHoverable" [component]="route.component"></app-hoverable>
                      
                      </div>
                      

                      See all related Code Snippets

                      Community Discussions

                      Trending Discussions on design-system
                      • Gatsby component shadowing
                      • How to show boolean-based values, in datatable cell content, using lightning design-system-react?
                      • Published styled-components react library does not have access to user app ThemeProvider
                      • How to implement Fluent Design (acrylic glass and reveal highlight) in a WPF application
                      • Template parse errors: binding property's (Angular, Carbon)
                      • Items not loading in useEffect in react
                      • How does React provide independent contexts for subtrees?
                      • Styled components + typescript: &quot;as&quot; is not assignable to type IntrinsicAttributes
                      • Get the original / raw template value of ng-content
                      • How to set colors in react carbon design chart
                      Trending Discussions on design-system

                      QUESTION

                      Gatsby component shadowing

                      Asked 2021-Jun-05 at 09:50

                      I am using a gatsby starter gatsby-theme-carbon. It has a switcher component whose code is available here. It looks like this Switcher screenshot.

                      How do I disable the Switcher completely using component shadowing ? ( i.e. I don't want the Switcher at all in my website).

                      Thanks in advance for the help.

                      ANSWER

                      Answered 2021-Jun-05 at 09:50

                      As you can see in Shadowing in Gatsby themes docs:

                      This feature allows users to replace a file in the src directory that is included in the webpack bundle with their own implementation. This works for React components, pages in src/pages, JSON files, TypeScript files, as well as any other imported file (such as .css) in your site.

                      The shadowing API uses a deterministic file structure approach to know which component should or shouldn't be rendered. In your case, you just can override the CSS props to display it as none, or you just shadow and return an empty component, since shadowing is used to extend Gatsby themes. Create a src/gatsby-theme-blog/components/Switcher/Switcher.js in your project and do something like:

                      const Switcher = () => {
                        return <></>
                      };
                      

                      Source https://stackoverflow.com/questions/67846234

                      Community Discussions, Code Snippets contain sources that include Stack Exchange Network

                      Vulnerabilities

                      No vulnerabilities reported

                      Install design-system

                      This project utilizes Storybook for component development. If you would like to know more about Storybook or how it works, check out their website.
                      Clone the repository down locally.
                      cd into the project and run npm install to install all project dependencies.

                      Support

                      See the troubleshooting guide.

                      DOWNLOAD this Library from

                      Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from
                      over 430 million Knowledge Items
                      Find more libraries
                      Reuse Solution Kits and Libraries Curated by Popular Use Cases
                      Explore Kits

                      Save this library and start creating your kit

                      Share this Page

                      share link
                      Reuse Pre-built Kits with design-system
                      Consider Popular JavaScript Libraries
                      Try Top Libraries by salesforce-ux
                      Compare JavaScript Libraries with Highest Support
                      Compare JavaScript Libraries with Highest Quality
                      Compare JavaScript Libraries with Highest Security
                      Compare JavaScript Libraries with Permissive License
                      Compare JavaScript Libraries with Highest Reuse
                      Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from
                      over 430 million Knowledge Items
                      Find more libraries
                      Reuse Solution Kits and Libraries Curated by Popular Use Cases
                      Explore Kits

                      Save this library and start creating your kit

                      • © 2022 Open Weaver Inc.