@blaze/atoms
Version:
Open Source UI Toolkit - Atoms
96 lines (95 loc) • 2.39 kB
JavaScript
import { h, Component, Element, Event, Listen, Prop } from '@stencil/core';
export class Progress {
onChangeBar(ev) {
const progress = this.element.children[0];
const value = ev.detail;
const bar = ev.target;
const idx = [].indexOf.call(progress.children, bar);
this.onChanged.emit(Object.assign({ idx }, value));
}
render() {
const sizeClass = this.size ? `u-${this.size}` : '';
const roundedClass = this.rounded ? `c-progress--rounded` : '';
const timerClass = this.timer ? `c-progress--timer` : '';
return (h("div", { class: `c-progress ${roundedClass} ${timerClass} ${sizeClass}` },
h("slot", null)));
}
static get is() { return "blaze-progress"; }
static get properties() { return {
"rounded": {
"type": "boolean",
"mutable": false,
"complexType": {
"original": "boolean",
"resolved": "boolean",
"references": {}
},
"required": false,
"optional": false,
"docs": {
"tags": [],
"text": ""
},
"attribute": "rounded",
"reflect": false
},
"timer": {
"type": "boolean",
"mutable": false,
"complexType": {
"original": "boolean",
"resolved": "boolean",
"references": {}
},
"required": false,
"optional": false,
"docs": {
"tags": [],
"text": ""
},
"attribute": "timer",
"reflect": false
},
"size": {
"type": "string",
"mutable": false,
"complexType": {
"original": "string",
"resolved": "string",
"references": {}
},
"required": false,
"optional": false,
"docs": {
"tags": [],
"text": ""
},
"attribute": "size",
"reflect": false
}
}; }
static get events() { return [{
"method": "onChanged",
"name": "changed",
"bubbles": true,
"cancelable": true,
"composed": true,
"docs": {
"tags": [],
"text": ""
},
"complexType": {
"original": "any",
"resolved": "any",
"references": {}
}
}]; }
static get elementRef() { return "element"; }
static get listeners() { return [{
"name": "progressbar",
"method": "onChangeBar",
"target": undefined,
"capture": false,
"passive": false
}]; }
}