@factor_ec/ui 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -0
- package/esm2020/factor_ec-ui.mjs +5 -0
- package/esm2020/lib/avatar/avatar.component.mjs +74 -0
- package/esm2020/lib/icon/icon.component.mjs +97 -0
- package/esm2020/lib/image/image.component.mjs +80 -0
- package/esm2020/lib/models/ui-configuration.mjs +2 -0
- package/esm2020/lib/progress/progress.component.mjs +42 -0
- package/esm2020/lib/ui.module.mjs +39 -0
- package/esm2020/public-api.mjs +9 -0
- package/fesm2015/factor_ec-ui.mjs +329 -0
- package/fesm2015/factor_ec-ui.mjs.map +1 -0
- package/fesm2020/factor_ec-ui.mjs +327 -0
- package/fesm2020/factor_ec-ui.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/avatar/avatar.component.d.ts +22 -0
- package/lib/icon/icon.component.d.ts +24 -0
- package/lib/image/image.component.d.ts +15 -0
- package/lib/models/ui-configuration.d.ts +7 -0
- package/lib/progress/progress.component.d.ts +15 -0
- package/lib/ui.module.d.ts +11 -0
- package/package.json +35 -0
- package/public-api.d.ts +5 -0
package/README.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Ui
|
|
2
|
+
|
|
3
|
+
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 14.0.0.
|
|
4
|
+
|
|
5
|
+
## Code scaffolding
|
|
6
|
+
|
|
7
|
+
Run `ng generate component component-name --project ui` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project ui`.
|
|
8
|
+
> Note: Don't forget to add `--project ui` or else it will be added to the default project in your `angular.json` file.
|
|
9
|
+
|
|
10
|
+
## Build
|
|
11
|
+
|
|
12
|
+
Run `ng build ui` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
|
+
|
|
14
|
+
## Publishing
|
|
15
|
+
|
|
16
|
+
After building your library with `ng build ui`, go to the dist folder `cd dist/ui` and run `npm publish`.
|
|
17
|
+
|
|
18
|
+
## Running unit tests
|
|
19
|
+
|
|
20
|
+
Run `ng test ui` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
+
|
|
22
|
+
## Further help
|
|
23
|
+
|
|
24
|
+
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yX2VjLXVpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2ZhY3Rvcl9lYy11aS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { Component, HostBinding, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@factor_ec/utils";
|
|
4
|
+
import * as i2 from "@angular/common";
|
|
5
|
+
export class AvatarComponent {
|
|
6
|
+
constructor(colorService) {
|
|
7
|
+
this.colorService = colorService;
|
|
8
|
+
this.class = '';
|
|
9
|
+
}
|
|
10
|
+
set src(value) {
|
|
11
|
+
if (value && value.trim() != '') {
|
|
12
|
+
this._src = value;
|
|
13
|
+
let image = new Image();
|
|
14
|
+
image.src = value;
|
|
15
|
+
image.onload = () => {
|
|
16
|
+
if ("decode" in image) {
|
|
17
|
+
image.decode().then(() => {
|
|
18
|
+
this.loaded = true;
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
console.error('Image.decode not available.');
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
set label(value) {
|
|
28
|
+
this._label = value;
|
|
29
|
+
this.initials = this.getInitials(value);
|
|
30
|
+
}
|
|
31
|
+
get backgroundColor() {
|
|
32
|
+
return this.color || this.colorService.hex(this._label);
|
|
33
|
+
}
|
|
34
|
+
get backgroundImage() {
|
|
35
|
+
return this._src ? `url(${this._src})` : '';
|
|
36
|
+
}
|
|
37
|
+
get hostClasses() {
|
|
38
|
+
return [
|
|
39
|
+
'ft-avatar',
|
|
40
|
+
this.class
|
|
41
|
+
].join(' ');
|
|
42
|
+
}
|
|
43
|
+
ngOnInit() {
|
|
44
|
+
}
|
|
45
|
+
getInitials(value) {
|
|
46
|
+
let allInitials = value.match(/\b\w/g) || [];
|
|
47
|
+
let initials = ((allInitials.shift() || '') + (allInitials.pop() || '')).toUpperCase();
|
|
48
|
+
return initials;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
AvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: AvatarComponent, deps: [{ token: i1.ColorService }], target: i0.ɵɵFactoryTarget.Component });
|
|
52
|
+
AvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: AvatarComponent, selector: "ft-avatar", inputs: { color: "color", class: "class", src: "src", label: "label" }, host: { properties: { "style.background-color": "this.backgroundColor", "style.background-image": "this.backgroundImage", "class": "this.hostClasses" } }, ngImport: i0, template: "<div *ngIf=\"!loaded\">{{ initials }}</div>\n", styles: [":host{--default-size: var(--size, 3rem);display:inline-flex;align-items:center;justify-content:center;color:#fff;background-size:cover;background-repeat:no-repeat;border-radius:calc(var(--default-size) / 2);font-size:calc(var(--default-size) - var(--default-size) * .6);min-width:var(--default-size);min-height:var(--default-size);cursor:default;-webkit-user-select:none;user-select:none}div{font-size:1em;line-height:1em}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: AvatarComponent, decorators: [{
|
|
54
|
+
type: Component,
|
|
55
|
+
args: [{ selector: 'ft-avatar', template: "<div *ngIf=\"!loaded\">{{ initials }}</div>\n", styles: [":host{--default-size: var(--size, 3rem);display:inline-flex;align-items:center;justify-content:center;color:#fff;background-size:cover;background-repeat:no-repeat;border-radius:calc(var(--default-size) / 2);font-size:calc(var(--default-size) - var(--default-size) * .6);min-width:var(--default-size);min-height:var(--default-size);cursor:default;-webkit-user-select:none;user-select:none}div{font-size:1em;line-height:1em}\n"] }]
|
|
56
|
+
}], ctorParameters: function () { return [{ type: i1.ColorService }]; }, propDecorators: { color: [{
|
|
57
|
+
type: Input
|
|
58
|
+
}], class: [{
|
|
59
|
+
type: Input
|
|
60
|
+
}], src: [{
|
|
61
|
+
type: Input
|
|
62
|
+
}], label: [{
|
|
63
|
+
type: Input
|
|
64
|
+
}], backgroundColor: [{
|
|
65
|
+
type: HostBinding,
|
|
66
|
+
args: ['style.background-color']
|
|
67
|
+
}], backgroundImage: [{
|
|
68
|
+
type: HostBinding,
|
|
69
|
+
args: ['style.background-image']
|
|
70
|
+
}], hostClasses: [{
|
|
71
|
+
type: HostBinding,
|
|
72
|
+
args: ['class']
|
|
73
|
+
}] } });
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvYXZhdGFyL2F2YXRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2F2YXRhci9hdmF0YXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7O0FBUXRFLE1BQU0sT0FBTyxlQUFlO0lBK0MxQixZQUNVLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBeENwQyxVQUFLLEdBQVcsRUFBRSxDQUFDO0lBeUNmLENBQUM7SUF4Q0wsSUFDSSxHQUFHLENBQUMsS0FBYTtRQUNuQixJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUUsRUFBRSxFQUFFO1lBQzdCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1lBQ2xCLElBQUksS0FBSyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7WUFDeEIsS0FBSyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7WUFDbEIsS0FBSyxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUU7Z0JBQ2xCLElBQUksUUFBUSxJQUFJLEtBQUssRUFBRTtvQkFDckIsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7d0JBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO29CQUNyQixDQUFDLENBQUMsQ0FBQztpQkFDSjtxQkFBTTtvQkFDTCxPQUFPLENBQUMsS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7aUJBQzlDO1lBQ0gsQ0FBQyxDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBQ0QsSUFDSSxLQUFLLENBQUMsS0FBYTtRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUNELElBQ0ksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFDRCxJQUNJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFDRCxJQUNJLFdBQVc7UUFDYixPQUFPO1lBQ0wsV0FBVztZQUNYLElBQUksQ0FBQyxLQUFLO1NBQ1gsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDZCxDQUFDO0lBTUQsUUFBUTtJQUVSLENBQUM7SUFDRCxXQUFXLENBQUMsS0FBYTtRQUN2QixJQUFJLFdBQVcsR0FBYSxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2RCxJQUFJLFFBQVEsR0FBVyxDQUFDLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDL0YsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzs7NEdBMURVLGVBQWU7Z0dBQWYsZUFBZSxvUkNSNUIsK0NBQ0E7MkZET2EsZUFBZTtrQkFMM0IsU0FBUzsrQkFDRSxXQUFXO21HQVFyQixLQUFLO3NCQURKLEtBQUs7Z0JBS04sS0FBSztzQkFESixLQUFLO2dCQUdGLEdBQUc7c0JBRE4sS0FBSztnQkFrQkYsS0FBSztzQkFEUixLQUFLO2dCQU1GLGVBQWU7c0JBRGxCLFdBQVc7dUJBQUMsd0JBQXdCO2dCQUtqQyxlQUFlO3NCQURsQixXQUFXO3VCQUFDLHdCQUF3QjtnQkFLakMsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb2xvclNlcnZpY2UgfSBmcm9tICdAZmFjdG9yX2VjL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnQtYXZhdGFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2F2YXRhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2F2YXRhci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEF2YXRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIF9sYWJlbCE6IHN0cmluZztcbiAgX3NyYyE6IHN0cmluZztcbiAgQElucHV0KClcbiAgY29sb3IhOiBzdHJpbmc7XG4gIGluaXRpYWxzITogc3RyaW5nO1xuICBsb2FkZWQhOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBjbGFzczogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpXG4gIHNldCBzcmModmFsdWU6IHN0cmluZykge1xuICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS50cmltKCkhPScnKSB7XG4gICAgICB0aGlzLl9zcmMgPSB2YWx1ZTtcbiAgICAgIGxldCBpbWFnZSA9IG5ldyBJbWFnZSgpO1xuICAgICAgaW1hZ2Uuc3JjID0gdmFsdWU7XG4gICAgICBpbWFnZS5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgIGlmIChcImRlY29kZVwiIGluIGltYWdlKSB7XG4gICAgICAgICAgaW1hZ2UuZGVjb2RlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvYWRlZCA9IHRydWU7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignSW1hZ2UuZGVjb2RlIG5vdCBhdmFpbGFibGUuJyk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuICB9XG4gIEBJbnB1dCgpXG4gIHNldCBsYWJlbCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fbGFiZWwgPSB2YWx1ZTtcbiAgICB0aGlzLmluaXRpYWxzID0gdGhpcy5nZXRJbml0aWFscyh2YWx1ZSk7XG4gIH1cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yJylcbiAgZ2V0IGJhY2tncm91bmRDb2xvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNvbG9yIHx8IHRoaXMuY29sb3JTZXJ2aWNlLmhleCh0aGlzLl9sYWJlbCk7XG4gIH1cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5iYWNrZ3JvdW5kLWltYWdlJylcbiAgZ2V0IGJhY2tncm91bmRJbWFnZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9zcmMgPyBgdXJsKCR7dGhpcy5fc3JjfSlgIDogJyc7XG4gIH1cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBob3N0Q2xhc3NlcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBbXG4gICAgICAnZnQtYXZhdGFyJyxcbiAgICAgIHRoaXMuY2xhc3NcbiAgICBdLmpvaW4oJyAnKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29sb3JTZXJ2aWNlOiBDb2xvclNlcnZpY2VcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcblxuICB9XG4gIGdldEluaXRpYWxzKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGxldCBhbGxJbml0aWFsczogc3RyaW5nW10gPSB2YWx1ZS5tYXRjaCgvXFxiXFx3L2cpIHx8IFtdO1xuICAgIGxldCBpbml0aWFsczogc3RyaW5nID0gKChhbGxJbml0aWFscy5zaGlmdCgpIHx8ICcnKSArIChhbGxJbml0aWFscy5wb3AoKSB8fCAnJykpLnRvVXBwZXJDYXNlKCk7XG4gICAgcmV0dXJuIGluaXRpYWxzO1xuICB9XG5cbn1cbiIsIjxkaXYgKm5nSWY9XCIhbG9hZGVkXCI+e3sgaW5pdGlhbHMgfX08L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { Component, Input, Inject, HostBinding } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
export class IconComponent {
|
|
5
|
+
constructor(configuration) {
|
|
6
|
+
this.configuration = configuration;
|
|
7
|
+
this.class = '';
|
|
8
|
+
}
|
|
9
|
+
set collection(collection) {
|
|
10
|
+
this._collection = collection;
|
|
11
|
+
this.update();
|
|
12
|
+
}
|
|
13
|
+
set mode(mode) {
|
|
14
|
+
this._mode = mode;
|
|
15
|
+
this.update();
|
|
16
|
+
}
|
|
17
|
+
set name(name) {
|
|
18
|
+
this._name = name;
|
|
19
|
+
this.update();
|
|
20
|
+
}
|
|
21
|
+
set path(path) {
|
|
22
|
+
this._path = path;
|
|
23
|
+
this.update();
|
|
24
|
+
}
|
|
25
|
+
get hostClasses() {
|
|
26
|
+
return [
|
|
27
|
+
'ft-icon',
|
|
28
|
+
this.class
|
|
29
|
+
].join(' ');
|
|
30
|
+
}
|
|
31
|
+
ngOnInit() {
|
|
32
|
+
this.update();
|
|
33
|
+
}
|
|
34
|
+
update() {
|
|
35
|
+
// Set the default collection if the mode is external
|
|
36
|
+
if (!this._collection) {
|
|
37
|
+
if (this.configuration.icon && this.configuration.icon.collection) {
|
|
38
|
+
this._collection = this.configuration.icon.collection;
|
|
39
|
+
}
|
|
40
|
+
else if (this._mode === 'external') {
|
|
41
|
+
this._collection = 'icons';
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
if (!this._mode) {
|
|
45
|
+
if (this.configuration.icon && this.configuration.icon.mode) {
|
|
46
|
+
this._mode = this.configuration.icon.mode;
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
this._mode = 'external';
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
if (this._mode === 'external') {
|
|
53
|
+
// If the icon mode is external
|
|
54
|
+
if (!this._path) {
|
|
55
|
+
if (this.configuration.icon && this.configuration.icon.path) {
|
|
56
|
+
this._path = this.configuration.icon.path;
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
this._path = 'assets';
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
this.url = `${this._path}/${this._collection}.svg#${this._name}`;
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
// If the icon mode is inline
|
|
66
|
+
const name = this._collection && this._collection !== 'unset' ? `${this._collection}--${this._name}` : this._name;
|
|
67
|
+
this.url = `#${name}`;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
IconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: IconComponent, deps: [{ token: 'FactorUiConfiguration' }], target: i0.ɵɵFactoryTarget.Component });
|
|
72
|
+
IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: IconComponent, selector: "ft-icon", inputs: { class: "class", collection: "collection", mode: "mode", name: "name", path: "path", size: "size", src: "src" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: "<svg *ngIf=\"!src; else imageTemplate\"><use attr.xlink:href=\"{{ url }}\" attr.href=\"{{ url }}\" /></svg>\n<ng-template #imageTemplate>\n <img [src]=\"src\" />\n</ng-template>", styles: [":host{line-height:0;display:inline-block}:host[size=\"1\"],:host.ft-icon--1{font-size:1rem}:host[size=\"2\"],:host.ft-icon--2{font-size:1.5rem}:host[size=\"3\"],:host.ft-icon--3{font-size:2rem}:host[size=\"4\"],:host.ft-icon--4{font-size:3rem}:host[size=\"5\"],:host.ft-icon--5{font-size:4.5rem}:host[size=\"6\"],:host.ft-icon--6{font-size:8rem}:host[size=\"7\"],:host.ft-icon--7{font-size:16rem}:host[size=\"8\"],:host.ft-icon--8{font-size:32rem}svg{width:1em;height:1em;vertical-align:middle;fill:currentColor}img{height:1em;vertical-align:middle}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: IconComponent, decorators: [{
|
|
74
|
+
type: Component,
|
|
75
|
+
args: [{ selector: 'ft-icon', template: "<svg *ngIf=\"!src; else imageTemplate\"><use attr.xlink:href=\"{{ url }}\" attr.href=\"{{ url }}\" /></svg>\n<ng-template #imageTemplate>\n <img [src]=\"src\" />\n</ng-template>", styles: [":host{line-height:0;display:inline-block}:host[size=\"1\"],:host.ft-icon--1{font-size:1rem}:host[size=\"2\"],:host.ft-icon--2{font-size:1.5rem}:host[size=\"3\"],:host.ft-icon--3{font-size:2rem}:host[size=\"4\"],:host.ft-icon--4{font-size:3rem}:host[size=\"5\"],:host.ft-icon--5{font-size:4.5rem}:host[size=\"6\"],:host.ft-icon--6{font-size:8rem}:host[size=\"7\"],:host.ft-icon--7{font-size:16rem}:host[size=\"8\"],:host.ft-icon--8{font-size:32rem}svg{width:1em;height:1em;vertical-align:middle;fill:currentColor}img{height:1em;vertical-align:middle}\n"] }]
|
|
76
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
77
|
+
type: Inject,
|
|
78
|
+
args: ['FactorUiConfiguration']
|
|
79
|
+
}] }]; }, propDecorators: { class: [{
|
|
80
|
+
type: Input
|
|
81
|
+
}], collection: [{
|
|
82
|
+
type: Input
|
|
83
|
+
}], mode: [{
|
|
84
|
+
type: Input
|
|
85
|
+
}], name: [{
|
|
86
|
+
type: Input
|
|
87
|
+
}], path: [{
|
|
88
|
+
type: Input
|
|
89
|
+
}], size: [{
|
|
90
|
+
type: Input
|
|
91
|
+
}], src: [{
|
|
92
|
+
type: Input
|
|
93
|
+
}], hostClasses: [{
|
|
94
|
+
type: HostBinding,
|
|
95
|
+
args: ['class']
|
|
96
|
+
}] } });
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2ljb24vaWNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2ljb24vaWNvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFROUUsTUFBTSxPQUFPLGFBQWE7SUF3Q3hCLFlBQzJDLGFBQThCO1FBQTlCLGtCQUFhLEdBQWIsYUFBYSxDQUFpQjtRQW5DekUsVUFBSyxHQUFXLEVBQUUsQ0FBQztJQW9DZixDQUFDO0lBbkNMLElBQ0ksVUFBVSxDQUFDLFVBQWtCO1FBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO1FBQzlCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBQ0QsSUFDSSxJQUFJLENBQUMsSUFBMkI7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxJQUNJLElBQUksQ0FBQyxJQUFZO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBQ0QsSUFDSSxJQUFJLENBQUMsSUFBWTtRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQU1ELElBQ0ksV0FBVztRQUNiLE9BQU87WUFDTCxTQUFTO1lBQ1QsSUFBSSxDQUFDLEtBQUs7U0FDWCxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNkLENBQUM7SUFNRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFDTyxNQUFNO1FBQ1oscURBQXFEO1FBQ3JELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3JCLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNqRSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQzthQUN2RDtpQkFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssVUFBVSxFQUFFO2dCQUNwQyxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQzthQUM1QjtTQUNGO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDM0QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7YUFDM0M7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUM7YUFDekI7U0FDRjtRQUNELElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxVQUFVLEVBQUU7WUFDN0IsK0JBQStCO1lBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNmLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO29CQUMzRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztpQkFDM0M7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUM7aUJBQ3ZCO2FBQ0Y7WUFDRCxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUksSUFBSSxDQUFDLEtBQU0sSUFBSyxJQUFJLENBQUMsV0FBWSxRQUFRLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUN0RTthQUFNO1lBQ0wsNkJBQTZCO1lBQzdCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDbEgsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1NBQ3ZCO0lBQ0gsQ0FBQzs7MEdBOUVVLGFBQWEsa0JBeUNkLHVCQUF1Qjs4RkF6Q3RCLGFBQWEsZ09DUjFCLG9MQUdjOzJGREtELGFBQWE7a0JBTHpCLFNBQVM7K0JBQ0UsU0FBUzs7MEJBNkNoQixNQUFNOzJCQUFDLHVCQUF1Qjs0Q0FuQ2pDLEtBQUs7c0JBREosS0FBSztnQkFHRixVQUFVO3NCQURiLEtBQUs7Z0JBTUYsSUFBSTtzQkFEUCxLQUFLO2dCQU1GLElBQUk7c0JBRFAsS0FBSztnQkFNRixJQUFJO3NCQURQLEtBQUs7Z0JBTU4sSUFBSTtzQkFESCxLQUFLO2dCQUdOLEdBQUc7c0JBREYsS0FBSztnQkFJRixXQUFXO3NCQURkLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgSW5qZWN0LCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVWlDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL3VpLWNvbmZpZ3VyYXRpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmdC1pY29uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ljb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pY29uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSWNvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIF9jb2xsZWN0aW9uITogc3RyaW5nO1xuICBfbmFtZSE6IHN0cmluZztcbiAgX21vZGUhOiAnaW5saW5lJyB8ICdleHRlcm5hbCc7XG4gIF9wYXRoITogc3RyaW5nO1xuICBASW5wdXQoKVxuICBjbGFzczogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpXG4gIHNldCBjb2xsZWN0aW9uKGNvbGxlY3Rpb246IHN0cmluZykge1xuICAgIHRoaXMuX2NvbGxlY3Rpb24gPSBjb2xsZWN0aW9uO1xuICAgIHRoaXMudXBkYXRlKCk7XG4gIH1cbiAgQElucHV0KClcbiAgc2V0IG1vZGUobW9kZTogJ2lubGluZScgfCAnZXh0ZXJuYWwnKSB7XG4gICAgdGhpcy5fbW9kZSA9IG1vZGU7XG4gICAgdGhpcy51cGRhdGUoKTtcbiAgfVxuICBASW5wdXQoKVxuICBzZXQgbmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9uYW1lID0gbmFtZTtcbiAgICB0aGlzLnVwZGF0ZSgpO1xuICB9IFxuICBASW5wdXQoKVxuICBzZXQgcGF0aChwYXRoOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9wYXRoID0gcGF0aDtcbiAgICB0aGlzLnVwZGF0ZSgpO1xuICB9XG4gIEBJbnB1dCgpXG4gIHNpemUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHNyYyE6IHN0cmluZztcbiAgdXJsITogc3RyaW5nO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IGhvc3RDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFtcbiAgICAgICdmdC1pY29uJyxcbiAgICAgIHRoaXMuY2xhc3NcbiAgICBdLmpvaW4oJyAnKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoJ0ZhY3RvclVpQ29uZmlndXJhdGlvbicpIHByaXZhdGUgY29uZmlndXJhdGlvbjogVWlDb25maWd1cmF0aW9uXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy51cGRhdGUoKTtcbiAgfVxuICBwcml2YXRlIHVwZGF0ZSgpIHtcbiAgICAvLyBTZXQgdGhlIGRlZmF1bHQgY29sbGVjdGlvbiBpZiB0aGUgbW9kZSBpcyBleHRlcm5hbFxuICAgIGlmICghdGhpcy5fY29sbGVjdGlvbikge1xuICAgICAgaWYgKHRoaXMuY29uZmlndXJhdGlvbi5pY29uICYmIHRoaXMuY29uZmlndXJhdGlvbi5pY29uLmNvbGxlY3Rpb24pIHtcbiAgICAgICAgdGhpcy5fY29sbGVjdGlvbiA9IHRoaXMuY29uZmlndXJhdGlvbi5pY29uLmNvbGxlY3Rpb247XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuX21vZGUgPT09ICdleHRlcm5hbCcpIHtcbiAgICAgICAgdGhpcy5fY29sbGVjdGlvbiA9ICdpY29ucyc7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICghdGhpcy5fbW9kZSkge1xuICAgICAgaWYgKHRoaXMuY29uZmlndXJhdGlvbi5pY29uICYmIHRoaXMuY29uZmlndXJhdGlvbi5pY29uLm1vZGUpIHtcbiAgICAgICAgdGhpcy5fbW9kZSA9IHRoaXMuY29uZmlndXJhdGlvbi5pY29uLm1vZGU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9tb2RlID0gJ2V4dGVybmFsJztcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMuX21vZGUgPT09ICdleHRlcm5hbCcpIHtcbiAgICAgIC8vIElmIHRoZSBpY29uIG1vZGUgaXMgZXh0ZXJuYWxcbiAgICAgIGlmICghdGhpcy5fcGF0aCkge1xuICAgICAgICBpZiAodGhpcy5jb25maWd1cmF0aW9uLmljb24gJiYgdGhpcy5jb25maWd1cmF0aW9uLmljb24ucGF0aCkge1xuICAgICAgICAgIHRoaXMuX3BhdGggPSB0aGlzLmNvbmZpZ3VyYXRpb24uaWNvbi5wYXRoO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuX3BhdGggPSAnYXNzZXRzJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy51cmwgPSBgJHsgdGhpcy5fcGF0aCB9LyR7IHRoaXMuX2NvbGxlY3Rpb24gfS5zdmcjJHt0aGlzLl9uYW1lfWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIElmIHRoZSBpY29uIG1vZGUgaXMgaW5saW5lXG4gICAgICBjb25zdCBuYW1lID0gdGhpcy5fY29sbGVjdGlvbiAmJiB0aGlzLl9jb2xsZWN0aW9uICE9PSAndW5zZXQnID8gYCR7dGhpcy5fY29sbGVjdGlvbn0tLSR7dGhpcy5fbmFtZX1gIDogdGhpcy5fbmFtZTtcbiAgICAgIHRoaXMudXJsID0gYCMke25hbWV9YDtcbiAgICB9XG4gIH1cbn1cbiIsIjxzdmcgKm5nSWY9XCIhc3JjOyBlbHNlIGltYWdlVGVtcGxhdGVcIj48dXNlIGF0dHIueGxpbms6aHJlZj1cInt7IHVybCB9fVwiIGF0dHIuaHJlZj1cInt7IHVybCB9fVwiIC8+PC9zdmc+XG48bmctdGVtcGxhdGUgI2ltYWdlVGVtcGxhdGU+XG4gIDxpbWcgW3NyY109XCJzcmNcIiAvPlxuPC9uZy10ZW1wbGF0ZT4iXX0=
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { Component, Input, HostBinding } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "../icon/icon.component";
|
|
5
|
+
export class ImageComponent {
|
|
6
|
+
constructor(element) {
|
|
7
|
+
this.element = element;
|
|
8
|
+
this.class = '';
|
|
9
|
+
this.loading = false;
|
|
10
|
+
this.shown = false;
|
|
11
|
+
}
|
|
12
|
+
ngOnInit() {
|
|
13
|
+
if ("IntersectionObserver" in window) {
|
|
14
|
+
let elementObserver = new IntersectionObserver((entries, observer) => {
|
|
15
|
+
entries.forEach((entry) => {
|
|
16
|
+
if (entry.isIntersecting) {
|
|
17
|
+
let image = new Image();
|
|
18
|
+
image.src = this.src;
|
|
19
|
+
setTimeout(() => {
|
|
20
|
+
if (!this.shown && !this.error) {
|
|
21
|
+
this.loading = true;
|
|
22
|
+
}
|
|
23
|
+
}, 100);
|
|
24
|
+
image.onerror = () => {
|
|
25
|
+
this.error = true;
|
|
26
|
+
this.loading = false;
|
|
27
|
+
};
|
|
28
|
+
image.onload = () => {
|
|
29
|
+
if ("decode" in image) {
|
|
30
|
+
image.decode().then(() => {
|
|
31
|
+
this.loading = false;
|
|
32
|
+
this.shown = true;
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
this.loading = false;
|
|
37
|
+
this.shown = true;
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
elementObserver.unobserve(this.element.nativeElement);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}, {
|
|
44
|
+
rootMargin: "0px 0px 200px 0px"
|
|
45
|
+
});
|
|
46
|
+
elementObserver.observe(this.element.nativeElement);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
console.error('IntersectionObserver not available.');
|
|
50
|
+
this.loading = false;
|
|
51
|
+
this.shown = true;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
get hostClasses() {
|
|
55
|
+
return [
|
|
56
|
+
'ft-image',
|
|
57
|
+
this.class
|
|
58
|
+
].join(' ');
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
ImageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ImageComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
62
|
+
ImageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: ImageComponent, selector: "ft-image", inputs: { class: "class", src: "src" }, host: { properties: { "class.ft-image--error": "this.error", "class.ft-image--loading": "this.loading", "class": "this.hostClasses" } }, ngImport: i0, template: "<img *ngIf=\"shown\" [src]=\"src\" />\n<ft-icon name=\"warning\" size=\"2\" *ngIf=\"error\"></ft-icon>\n", styles: [":host{display:inline-block;overflow:hidden;display:flex;align-items:center;justify-content:center}:host.ft-image--loading{background-color:#00000008;position:relative;overflow:hidden}:host.ft-image--loading:after{content:\"\";display:block;background-color:#00000005;position:absolute;top:0;bottom:0;width:100%;height:100%;transform:translate(0);animation:1.5s placeholder-loading ease-in-out infinite}:host.ft-image--error{background-color:#ff000008}:host.ft-image--error ft-icon{color:var(--danger)}img{position:relative;z-index:1;max-width:100%;max-height:100%;animation:fade-in .3s}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes placeholder-loading{0%{transform:translate(-100%)}to{transform:translate(100%)}}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IconComponent, selector: "ft-icon", inputs: ["class", "collection", "mode", "name", "path", "size", "src"] }] });
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ImageComponent, decorators: [{
|
|
64
|
+
type: Component,
|
|
65
|
+
args: [{ selector: 'ft-image', template: "<img *ngIf=\"shown\" [src]=\"src\" />\n<ft-icon name=\"warning\" size=\"2\" *ngIf=\"error\"></ft-icon>\n", styles: [":host{display:inline-block;overflow:hidden;display:flex;align-items:center;justify-content:center}:host.ft-image--loading{background-color:#00000008;position:relative;overflow:hidden}:host.ft-image--loading:after{content:\"\";display:block;background-color:#00000005;position:absolute;top:0;bottom:0;width:100%;height:100%;transform:translate(0);animation:1.5s placeholder-loading ease-in-out infinite}:host.ft-image--error{background-color:#ff000008}:host.ft-image--error ft-icon{color:var(--danger)}img{position:relative;z-index:1;max-width:100%;max-height:100%;animation:fade-in .3s}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes placeholder-loading{0%{transform:translate(-100%)}to{transform:translate(100%)}}\n"] }]
|
|
66
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { class: [{
|
|
67
|
+
type: Input
|
|
68
|
+
}], error: [{
|
|
69
|
+
type: HostBinding,
|
|
70
|
+
args: ['class.ft-image--error']
|
|
71
|
+
}], loading: [{
|
|
72
|
+
type: HostBinding,
|
|
73
|
+
args: ['class.ft-image--loading']
|
|
74
|
+
}], src: [{
|
|
75
|
+
type: Input
|
|
76
|
+
}], hostClasses: [{
|
|
77
|
+
type: HostBinding,
|
|
78
|
+
args: ['class']
|
|
79
|
+
}] } });
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9pbWFnZS9pbWFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2ltYWdlL2ltYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLFdBQVcsRUFBYyxNQUFNLGVBQWUsQ0FBQzs7OztBQU9sRixNQUFNLE9BQU8sY0FBYztJQVd6QixZQUNVLE9BQW1CO1FBQW5CLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFWN0IsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUluQixZQUFPLEdBQVksS0FBSyxDQUFDO1FBR3pCLFVBQUssR0FBWSxLQUFLLENBQUM7SUFJbkIsQ0FBQztJQUVMLFFBQVE7UUFDTixJQUFJLHNCQUFzQixJQUFJLE1BQU0sRUFBRTtZQUNwQyxJQUFJLGVBQWUsR0FBRyxJQUFJLG9CQUFvQixDQUFDLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFO2dCQUNuRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7b0JBQ3hCLElBQUksS0FBSyxDQUFDLGNBQWMsRUFBRTt3QkFDeEIsSUFBSSxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQzt3QkFDeEIsS0FBSyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO3dCQUNyQixVQUFVLENBQUMsR0FBRyxFQUFFOzRCQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtnQ0FDOUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7NkJBQ3JCO3dCQUNILENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQzt3QkFDUixLQUFLLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRTs0QkFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7NEJBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO3dCQUN2QixDQUFDLENBQUM7d0JBQ0YsS0FBSyxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUU7NEJBQ2xCLElBQUksUUFBUSxJQUFJLEtBQUssRUFBRTtnQ0FDckIsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7b0NBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO29DQUNyQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztnQ0FDcEIsQ0FBQyxDQUFDLENBQUM7NkJBQ0o7aUNBQU07Z0NBQ0wsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0NBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDOzZCQUNuQjt3QkFDSCxDQUFDLENBQUM7d0JBQ0YsZUFBZSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO3FCQUN2RDtnQkFDSCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsRUFBRTtnQkFDRCxVQUFVLEVBQUUsbUJBQW1CO2FBQ2hDLENBQUMsQ0FBQztZQUNILGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUNyRDthQUFNO1lBQ0wsT0FBTyxDQUFDLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO1lBQ3JELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUNELElBQ0ksV0FBVztRQUNiLE9BQU87WUFDTCxVQUFVO1lBQ1YsSUFBSSxDQUFDLEtBQUs7U0FDWCxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNkLENBQUM7OzJHQTdEVSxjQUFjOytGQUFkLGNBQWMsaU9DUDNCLDBHQUVBOzJGREthLGNBQWM7a0JBTDFCLFNBQVM7K0JBQ0UsVUFBVTtpR0FNcEIsS0FBSztzQkFESixLQUFLO2dCQUdOLEtBQUs7c0JBREosV0FBVzt1QkFBQyx1QkFBdUI7Z0JBR3BDLE9BQU87c0JBRE4sV0FBVzt1QkFBQyx5QkFBeUI7Z0JBR3RDLEdBQUc7c0JBREYsS0FBSztnQkFpREYsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIEhvc3RCaW5kaW5nLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Z0LWltYWdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ltYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW1hZ2UuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBJbWFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIGNsYXNzOiBzdHJpbmcgPSAnJztcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mdC1pbWFnZS0tZXJyb3InKVxuICBlcnJvciE6IGJvb2xlYW47XG4gIEBIb3N0QmluZGluZygnY2xhc3MuZnQtaW1hZ2UtLWxvYWRpbmcnKVxuICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIHNyYyE6IHN0cmluZztcbiAgc2hvd246IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWZcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoXCJJbnRlcnNlY3Rpb25PYnNlcnZlclwiIGluIHdpbmRvdykge1xuICAgICAgbGV0IGVsZW1lbnRPYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoZW50cmllcywgb2JzZXJ2ZXIpID0+IHtcbiAgICAgICAgZW50cmllcy5mb3JFYWNoKChlbnRyeSkgPT4ge1xuICAgICAgICAgIGlmIChlbnRyeS5pc0ludGVyc2VjdGluZykge1xuICAgICAgICAgICAgbGV0IGltYWdlID0gbmV3IEltYWdlKCk7XG4gICAgICAgICAgICBpbWFnZS5zcmMgPSB0aGlzLnNyYztcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoIXRoaXMuc2hvd24gJiYgIXRoaXMuZXJyb3IpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAxMDApO1xuICAgICAgICAgICAgaW1hZ2Uub25lcnJvciA9ICgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5lcnJvciA9IHRydWU7XG4gICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGltYWdlLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKFwiZGVjb2RlXCIgaW4gaW1hZ2UpIHtcbiAgICAgICAgICAgICAgICBpbWFnZS5kZWNvZGUoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgdGhpcy5zaG93biA9IHRydWU7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5zaG93biA9IHRydWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBlbGVtZW50T2JzZXJ2ZXIudW5vYnNlcnZlKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSwge1xuICAgICAgICByb290TWFyZ2luOiBcIjBweCAwcHggMjAwcHggMHB4XCJcbiAgICAgIH0pO1xuICAgICAgZWxlbWVudE9ic2VydmVyLm9ic2VydmUodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdJbnRlcnNlY3Rpb25PYnNlcnZlciBub3QgYXZhaWxhYmxlLicpO1xuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICB0aGlzLnNob3duID0gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBob3N0Q2xhc3NlcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBbXG4gICAgICAnZnQtaW1hZ2UnLFxuICAgICAgdGhpcy5jbGFzc1xuICAgIF0uam9pbignICcpO1xuICB9XG5cbn1cbiIsIjxpbWcgKm5nSWY9XCJzaG93blwiIFtzcmNdPVwic3JjXCIgLz5cbjxmdC1pY29uIG5hbWU9XCJ3YXJuaW5nXCIgc2l6ZT1cIjJcIiAqbmdJZj1cImVycm9yXCI+PC9mdC1pY29uPlxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvbW9kZWxzL3VpLWNvbmZpZ3VyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVWlDb25maWd1cmF0aW9uIHtcbiAgICBpY29uOiB7XG4gICAgICAgIG1vZGU6ICdleHRlcm5hbCcgfCBudWxsLFxuICAgICAgICBjb2xsZWN0aW9uOiBzdHJpbmcsXG4gICAgICAgIHBhdGg6IHN0cmluZ1xuICAgIH1cbn0iXX0=
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Component, Input, HostBinding } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
export class ProgressComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.class = '';
|
|
7
|
+
this.mode = 'indeterminate';
|
|
8
|
+
this.overlay = false;
|
|
9
|
+
}
|
|
10
|
+
ngOnInit() {
|
|
11
|
+
this.value = 0;
|
|
12
|
+
}
|
|
13
|
+
get hostClasses() {
|
|
14
|
+
return [
|
|
15
|
+
'ft-progress',
|
|
16
|
+
this.overlay ? 'ft-progress--overlay' : '',
|
|
17
|
+
this.class
|
|
18
|
+
].join(' ');
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
ProgressComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ProgressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
22
|
+
ProgressComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: ProgressComponent, selector: "ft-progress", inputs: { class: "class", color: "color", mode: "mode", overlay: "overlay", size: "size", value: "value" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: "<svg [ngStyle]=\"{'--bar-color': color}\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\" preserveAspectRatio=\"xMidYMid\">\n <circle class=\"track\" cx=\"50\" cy=\"50\" r=\"40\" />\n <circle class=\"bar\" [ngClass]=\"mode\" cx=\"50\" cy=\"50\" r=\"40\"\n [ngStyle]=\"{'stroke-dashoffset': mode=='determinate'? 'calc((3.14159265 * 40 * 2 * (100 - '+value+')) / 100)' : null}\">\n </circle>\n</svg>", styles: [":host{--track-color: rgba(0, 0, 0, .08);--bar-color: var(--primary);line-height:0;display:inline-block}:host[size=\"1\"],:host.ft-progress--1{font-size:1rem}:host[size=\"2\"],:host.ft-progress--2{font-size:1.5rem}:host[size=\"3\"],:host.ft-progress--3{font-size:2rem}:host[size=\"4\"],:host.ft-progress--4{font-size:3rem}:host[size=\"5\"],:host.ft-progress--5{font-size:4.5rem}:host[size=\"6\"],:host.ft-progress--6{font-size:8rem}:host[size=\"7\"],:host.ft-progress--7{font-size:16rem}:host[size=\"8\"],:host.ft-progress--8{font-size:32rem}:host.ft-progress--overlay{position:fixed;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:var(--z-index-modal, 1000);top:0;left:0;right:0;bottom:0;font-size:42px}:host.ft-progress--overlay svg{background:rgba(255,255,255,.6);-webkit-backdrop-filter:saturate(50%) blur(3px);backdrop-filter:saturate(50%) blur(3px);box-shadow:0 3px 3px -2px #0003,0 3px 4px #00000024,0 1px 8px #0000001f;border-radius:100vh;padding:.3125rem;animation:progress-reveal .2s;animation-fill-mode:forwards}:host.ft-progress--overlay svg .track{display:none}svg{width:1em;height:1em;vertical-align:middle}svg .track{fill:none;stroke-width:10;stroke:var(--track-color)}svg .bar{fill:none;stroke-opacity:.9;stroke-width:6;stroke:var(--bar-color)}svg .bar.indeterminate{animation:progress-rotation 2s infinite linear}svg .bar.determinate{stroke-dasharray:251.327412288}@keyframes progress-reveal{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes progress-rotation{0%{stroke-dashoffset:0;stroke-dasharray:150.6 100.4}50%{stroke-dasharray:1 250}to{stroke-dashoffset:502;stroke-dasharray:150.6 100.4}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ProgressComponent, decorators: [{
|
|
24
|
+
type: Component,
|
|
25
|
+
args: [{ selector: 'ft-progress', template: "<svg [ngStyle]=\"{'--bar-color': color}\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\" preserveAspectRatio=\"xMidYMid\">\n <circle class=\"track\" cx=\"50\" cy=\"50\" r=\"40\" />\n <circle class=\"bar\" [ngClass]=\"mode\" cx=\"50\" cy=\"50\" r=\"40\"\n [ngStyle]=\"{'stroke-dashoffset': mode=='determinate'? 'calc((3.14159265 * 40 * 2 * (100 - '+value+')) / 100)' : null}\">\n </circle>\n</svg>", styles: [":host{--track-color: rgba(0, 0, 0, .08);--bar-color: var(--primary);line-height:0;display:inline-block}:host[size=\"1\"],:host.ft-progress--1{font-size:1rem}:host[size=\"2\"],:host.ft-progress--2{font-size:1.5rem}:host[size=\"3\"],:host.ft-progress--3{font-size:2rem}:host[size=\"4\"],:host.ft-progress--4{font-size:3rem}:host[size=\"5\"],:host.ft-progress--5{font-size:4.5rem}:host[size=\"6\"],:host.ft-progress--6{font-size:8rem}:host[size=\"7\"],:host.ft-progress--7{font-size:16rem}:host[size=\"8\"],:host.ft-progress--8{font-size:32rem}:host.ft-progress--overlay{position:fixed;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:var(--z-index-modal, 1000);top:0;left:0;right:0;bottom:0;font-size:42px}:host.ft-progress--overlay svg{background:rgba(255,255,255,.6);-webkit-backdrop-filter:saturate(50%) blur(3px);backdrop-filter:saturate(50%) blur(3px);box-shadow:0 3px 3px -2px #0003,0 3px 4px #00000024,0 1px 8px #0000001f;border-radius:100vh;padding:.3125rem;animation:progress-reveal .2s;animation-fill-mode:forwards}:host.ft-progress--overlay svg .track{display:none}svg{width:1em;height:1em;vertical-align:middle}svg .track{fill:none;stroke-width:10;stroke:var(--track-color)}svg .bar{fill:none;stroke-opacity:.9;stroke-width:6;stroke:var(--bar-color)}svg .bar.indeterminate{animation:progress-rotation 2s infinite linear}svg .bar.determinate{stroke-dasharray:251.327412288}@keyframes progress-reveal{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes progress-rotation{0%{stroke-dashoffset:0;stroke-dasharray:150.6 100.4}50%{stroke-dasharray:1 250}to{stroke-dashoffset:502;stroke-dasharray:150.6 100.4}}\n"] }]
|
|
26
|
+
}], ctorParameters: function () { return []; }, propDecorators: { class: [{
|
|
27
|
+
type: Input
|
|
28
|
+
}], color: [{
|
|
29
|
+
type: Input
|
|
30
|
+
}], mode: [{
|
|
31
|
+
type: Input
|
|
32
|
+
}], overlay: [{
|
|
33
|
+
type: Input
|
|
34
|
+
}], size: [{
|
|
35
|
+
type: Input
|
|
36
|
+
}], value: [{
|
|
37
|
+
type: Input
|
|
38
|
+
}], hostClasses: [{
|
|
39
|
+
type: HostBinding,
|
|
40
|
+
args: ['class']
|
|
41
|
+
}] } });
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9wcm9ncmVzcy9wcm9ncmVzcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3Byb2dyZXNzL3Byb2dyZXNzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBT3RFLE1BQU0sT0FBTyxpQkFBaUI7SUFjNUI7UUFaQSxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBSW5CLFNBQUksR0FBb0MsZUFBZSxDQUFDO1FBRXhELFlBQU8sR0FBWSxLQUFLLENBQUM7SUFNVCxDQUFDO0lBRWpCLFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBQ0QsSUFDSSxXQUFXO1FBQ2IsT0FBTztZQUNMLGFBQWE7WUFDYixJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUMxQyxJQUFJLENBQUMsS0FBSztTQUNYLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsQ0FBQzs7OEdBMUJVLGlCQUFpQjtrR0FBakIsaUJBQWlCLHNOQ1A5Qiw0YUFLTTsyRkRFTyxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0UsYUFBYTswRUFNdkIsS0FBSztzQkFESixLQUFLO2dCQUdOLEtBQUs7c0JBREosS0FBSztnQkFHTixJQUFJO3NCQURILEtBQUs7Z0JBR04sT0FBTztzQkFETixLQUFLO2dCQUdOLElBQUk7c0JBREgsS0FBSztnQkFHTixLQUFLO3NCQURKLEtBQUs7Z0JBU0YsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Z0LXByb2dyZXNzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2dyZXNzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvZ3Jlc3MuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQcm9ncmVzc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIGNsYXNzOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KClcbiAgY29sb3IhOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIG1vZGU6ICdkZXRlcm1pbmF0ZScgfCAnaW5kZXRlcm1pbmF0ZScgPSAnaW5kZXRlcm1pbmF0ZSc7XG4gIEBJbnB1dCgpXG4gIG92ZXJsYXk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KClcbiAgc2l6ZSE6IG51bWJlcjtcbiAgQElucHV0KClcbiAgdmFsdWUhOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnZhbHVlID0gMDtcbiAgfVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IGhvc3RDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFtcbiAgICAgICdmdC1wcm9ncmVzcycsXG4gICAgICB0aGlzLm92ZXJsYXkgPyAnZnQtcHJvZ3Jlc3MtLW92ZXJsYXknIDogJycsXG4gICAgICB0aGlzLmNsYXNzXG4gICAgXS5qb2luKCcgJyk7XG4gIH1cblxufVxuIiwiPHN2ZyBbbmdTdHlsZV09XCJ7Jy0tYmFyLWNvbG9yJzogY29sb3J9XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTAwIDEwMFwiIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWlkWU1pZFwiPlxuICAgIDxjaXJjbGUgY2xhc3M9XCJ0cmFja1wiIGN4PVwiNTBcIiBjeT1cIjUwXCIgcj1cIjQwXCIgLz5cbiAgICA8Y2lyY2xlIGNsYXNzPVwiYmFyXCIgW25nQ2xhc3NdPVwibW9kZVwiIGN4PVwiNTBcIiBjeT1cIjUwXCIgcj1cIjQwXCJcbiAgICAgICAgW25nU3R5bGVdPVwieydzdHJva2UtZGFzaG9mZnNldCc6IG1vZGU9PSdkZXRlcm1pbmF0ZSc/ICdjYWxjKCgzLjE0MTU5MjY1ICogNDAgKiAyICogKDEwMCAtICcrdmFsdWUrJykpIC8gMTAwKScgOiBudWxsfVwiPlxuICAgIDwvY2lyY2xlPlxuPC9zdmc+Il19
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { AvatarComponent } from './avatar/avatar.component';
|
|
4
|
+
import { IconComponent } from './icon/icon.component';
|
|
5
|
+
import { ImageComponent } from './image/image.component';
|
|
6
|
+
import { ProgressComponent } from './progress/progress.component';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class UiModule {
|
|
9
|
+
}
|
|
10
|
+
UiModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: UiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
11
|
+
UiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.0", ngImport: i0, type: UiModule, declarations: [AvatarComponent,
|
|
12
|
+
IconComponent,
|
|
13
|
+
ImageComponent,
|
|
14
|
+
ProgressComponent], imports: [CommonModule], exports: [AvatarComponent,
|
|
15
|
+
IconComponent,
|
|
16
|
+
ImageComponent,
|
|
17
|
+
ProgressComponent] });
|
|
18
|
+
UiModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: UiModule, imports: [CommonModule] });
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: UiModule, decorators: [{
|
|
20
|
+
type: NgModule,
|
|
21
|
+
args: [{
|
|
22
|
+
declarations: [
|
|
23
|
+
AvatarComponent,
|
|
24
|
+
IconComponent,
|
|
25
|
+
ImageComponent,
|
|
26
|
+
ProgressComponent
|
|
27
|
+
],
|
|
28
|
+
imports: [
|
|
29
|
+
CommonModule
|
|
30
|
+
],
|
|
31
|
+
exports: [
|
|
32
|
+
AvatarComponent,
|
|
33
|
+
IconComponent,
|
|
34
|
+
ImageComponent,
|
|
35
|
+
ProgressComponent
|
|
36
|
+
]
|
|
37
|
+
}]
|
|
38
|
+
}] });
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi91aS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBcUJsRSxNQUFNLE9BQU8sUUFBUTs7cUdBQVIsUUFBUTtzR0FBUixRQUFRLGlCQWZqQixlQUFlO1FBQ2YsYUFBYTtRQUNiLGNBQWM7UUFDZCxpQkFBaUIsYUFHakIsWUFBWSxhQUdaLGVBQWU7UUFDZixhQUFhO1FBQ2IsY0FBYztRQUNkLGlCQUFpQjtzR0FHUixRQUFRLFlBVGpCLFlBQVk7MkZBU0gsUUFBUTtrQkFqQnBCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGlCQUFpQjtxQkFDbEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGlCQUFpQjtxQkFDbEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF2YXRhckNvbXBvbmVudCB9IGZyb20gJy4vYXZhdGFyL2F2YXRhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4vaWNvbi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbWFnZUNvbXBvbmVudCB9IGZyb20gJy4vaW1hZ2UvaW1hZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2dyZXNzQ29tcG9uZW50IH0gZnJvbSAnLi9wcm9ncmVzcy9wcm9ncmVzcy5jb21wb25lbnQnO1xuXG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQXZhdGFyQ29tcG9uZW50LFxuICAgIEljb25Db21wb25lbnQsXG4gICAgSW1hZ2VDb21wb25lbnQsXG4gICAgUHJvZ3Jlc3NDb21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQXZhdGFyQ29tcG9uZW50LFxuICAgIEljb25Db21wb25lbnQsXG4gICAgSW1hZ2VDb21wb25lbnQsXG4gICAgUHJvZ3Jlc3NDb21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBVaU1vZHVsZSB7IH1cbiJdfQ==
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of ui
|
|
3
|
+
*/
|
|
4
|
+
export * from './lib/avatar/avatar.component';
|
|
5
|
+
export * from './lib/icon/icon.component';
|
|
6
|
+
export * from './lib/image/image.component';
|
|
7
|
+
export * from './lib/progress/progress.component';
|
|
8
|
+
export * from './lib/ui.module';
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB1aVxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2F2YXRhci9hdmF0YXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ljb24vaWNvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW1hZ2UvaW1hZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Byb2dyZXNzL3Byb2dyZXNzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS5tb2R1bGUnO1xuIl19
|