Summit Design System The Summit Design System is our design process. It is composed of a shared design library for designers built in Figma, tokens driven from that Figma library, and a reusable JavaScript component library built with web components using StencilJS. This should work within any development framework (Vue, Angular, etc). Implementation HTML To build a simple static HTML page, like a prototype, add these two lines to an HTML page running within a server (see "Server" if you don't have a server running locally) <script src="https://unpkg.com/scu-components-beta/dist/scu/scu.esm.js" type="module"></script>
<link href="https://unpkg.com/scu-components-beta/dist/scu/scu.css" rel="stylesheet">
Within the HTML page you can just start dropping components: <scu-button label='Submit' outline></scu-button> Server When you run a local file in a browser, most won't let you load in any external files. Even simple scripts like the CSS and JS files from the Design System won't load. An easy (and really useful) solution is to install http-server which allows you to run an ad hoc server from any folder on your computer with one command line. Open your terminal (assuming you are using a Mac) and do the following: http-server installs via npm which runs node.js, so we need to install these two dependancies:
( full instructions )
brew install node Install http-server globally npm install --global http-server Go to the folder you want to serve, type the below, then copy/paste the url it prints back. Usually this looks like http://localhost:8080 This will start a process within that terminal that runs the server, so don't close the terminal window unless you are done. Otherwise hit CTRL-C to end. http-server Vue Stencil Vue Documentation With Vue you need to first add the SCU Design System to your project then add the custom element definitions and tell Vue to ignore all components with the "scu-" prefix. This is an example of the main.js file of a simple Vue app. npm install --save scu-components-beta import Vue from 'vue' import App from './App.vue' import { applyPolyfills, defineCustomElements } from 'scu-components-beta/loader'; Vue.config.productionTip = false // Tell Vue to ignore all components prefixed 'scu-' Vue.config.ignoredElements = [/scu-\w*/]; // Bind the custom elements to the window object applyPolyfills().then(() => { defineCustomElements(); }); new Vue({ render: h => h(App), }).$mount('#app') Angular Stencil Angular Documentation Other Stencil Documentation