granite-lit-spectre
granite-lit-spectre is a wrapping of Spectre CSS CSS as LitElement lit-html CSS TemplateResult to be used in LitElement web components.
granite-lit-spectre
Using To use granite-lit-spectre in an element:
granite-lit-spectre
1. Install Install the component using npm:
$ npm i @granite-elements/granite-lit-spectre --save
2. Import granite-lit-spectre in the element where you want to use it
Once installed, import it in your application. Usually you will simply want to import granite-lit-spectre.js
(wrap around spectre.css
) or granite-lit-spectre-min.js
(wrap around spectre.min.css
).
Supossing you want to import granite-lit-spectre.js
:
import {spectreStyles} from '@granite-elements/granite-lit-spectre/granite-lit-spectre.js';
styles
property
3. Inside your component, use granite-lit-spectre in the static
class GraniteSpectreExample extends LitElement {
static get styles() {
return [spectreStyles];
}
render() {
return html`
<div class="label label-rounded label-primary">Styled text</div>
`;
}
A complete example
import { html, LitElement } from 'lit-element';
import {spectreStyles} from '../granite-lit-spectre.js';
class GraniteSpectreExample extends LitElement {
static get styles() {
return [spectreStyles];
}
render() {
return html`
<table class="table table-hover">
<tr><th>Surname</th><th>Name</th></tr>
${this.people.map( (person) => {
return html`
<tr>
<td>${person.lastname}</td>
<td>${person.firstname}</td>
</tr>
`;
})}
</table>
`;
}
static get properties() {
return {
people: { type: Array },
};
}
constructor() {
super();
this.people = [
{ firstname: 'Jack', lastname: 'Aubrey' },
{ firstname: 'Anne', lastname: 'Elliot' },
{ firstname: 'Stephen', lastname: 'Maturin' },
{ firstname: 'Emma', lastname: 'Woodhouse' },
];
}
}
customElements.define('granite-spectre-example', GraniteSpectreExample);
Contributing
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -m 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D
Install dependencies and run the demo
-
Run npm install from the repo directory:
npm install
-
Run the es-dev-server development server from the root project directory:
npm run serve
Note on semver versioning
I'm aligning the versions of this element with Bootstrap version, in order to make easier to choose the right version