@factor_ec/ui 1.0.13 → 1.0.15
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/esm2020/factor_ec-ui.mjs +5 -0
- package/esm2020/lib/display/avatar/avatar.component.mjs +74 -0
- package/esm2020/lib/display/content/content.component.mjs +19 -0
- package/esm2020/lib/display/display.module.mjs +66 -0
- package/esm2020/lib/display/icon/icon.component.mjs +97 -0
- package/esm2020/lib/display/image/image.component.mjs +80 -0
- package/esm2020/lib/display/message/message.component.mjs +30 -0
- package/esm2020/lib/display/message.service.mjs +58 -0
- package/esm2020/lib/display/observe-intersecting.directive.mjs +43 -0
- package/esm2020/lib/display/progress/progress.component.mjs +42 -0
- package/esm2020/lib/display/progress.service.mjs +50 -0
- package/esm2020/lib/inputs/inputs.module.mjs +24 -0
- package/esm2020/lib/inputs/rating/rating.component.mjs +73 -0
- package/esm2020/lib/models/action.mjs +2 -0
- package/esm2020/lib/models/content.mjs +2 -0
- package/esm2020/lib/models/icon.mjs +2 -0
- package/esm2020/lib/models/message-options.mjs +2 -0
- package/esm2020/lib/models/module-configuration.mjs +2 -0
- package/esm2020/lib/models/ui-configuration.mjs +2 -0
- package/esm2020/lib/navigation/list/list.component.mjs +70 -0
- package/esm2020/lib/navigation/navbar/navbar.component.mjs +74 -0
- package/esm2020/lib/navigation/navigation.module.mjs +55 -0
- package/esm2020/lib/navigation/searchbox/searchbox.component.mjs +109 -0
- package/esm2020/lib/navigation/toolbar/toolbar.component.mjs +53 -0
- package/esm2020/lib/ui.module.mjs +47 -0
- package/esm2020/public-api.mjs +22 -0
- package/fesm2015/factor_ec-ui.mjs +1002 -0
- package/fesm2015/factor_ec-ui.mjs.map +1 -0
- package/fesm2020/factor_ec-ui.mjs +993 -0
- package/fesm2020/factor_ec-ui.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/display/avatar/avatar.component.d.ts +22 -0
- package/lib/display/content/content.component.d.ts +7 -0
- package/lib/display/display.module.d.ts +17 -0
- package/lib/display/icon/icon.component.d.ts +24 -0
- package/lib/display/image/image.component.d.ts +15 -0
- package/lib/display/message/message.component.d.ts +11 -0
- package/lib/display/message.service.d.ts +15 -0
- package/lib/display/observe-intersecting.directive.d.ts +16 -0
- package/lib/display/progress/progress.component.d.ts +15 -0
- package/lib/display/progress.service.d.ts +15 -0
- package/lib/inputs/inputs.module.d.ts +8 -0
- package/lib/inputs/rating/rating.component.d.ts +23 -0
- package/{src/lib/models/action.ts → lib/models/action.d.ts} +1 -1
- package/{src/lib/models/content.ts → lib/models/content.d.ts} +1 -1
- package/{src/lib/models/icon.ts → lib/models/icon.d.ts} +1 -1
- package/{src/lib/models/message-options.ts → lib/models/message-options.d.ts} +1 -2
- package/lib/models/module-configuration.d.ts +6 -0
- package/lib/models/ui-configuration.d.ts +7 -0
- package/lib/navigation/list/list.component.d.ts +21 -0
- package/lib/navigation/navbar/navbar.component.d.ts +23 -0
- package/lib/navigation/navigation.module.d.ts +15 -0
- package/lib/navigation/searchbox/searchbox.component.d.ts +34 -0
- package/lib/navigation/toolbar/toolbar.component.d.ts +18 -0
- package/lib/ui.module.d.ts +13 -0
- package/package.json +23 -3
- package/{src/public-api.ts → public-api.d.ts} +0 -4
- package/.browserslistrc +0 -16
- package/karma.conf.js +0 -44
- package/ng-package.json +0 -7
- package/src/lib/display/avatar/avatar.component.html +0 -1
- package/src/lib/display/avatar/avatar.component.scss +0 -20
- package/src/lib/display/avatar/avatar.component.spec.ts +0 -23
- package/src/lib/display/avatar/avatar.component.ts +0 -69
- package/src/lib/display/content/content.component.html +0 -4
- package/src/lib/display/content/content.component.scss +0 -0
- package/src/lib/display/content/content.component.spec.ts +0 -23
- package/src/lib/display/content/content.component.ts +0 -15
- package/src/lib/display/display.module.ts +0 -41
- package/src/lib/display/icon/icon.component.html +0 -4
- package/src/lib/display/icon/icon.component.scss +0 -47
- package/src/lib/display/icon/icon.component.spec.ts +0 -23
- package/src/lib/display/icon/icon.component.ts +0 -88
- package/src/lib/display/image/image.component.html +0 -2
- package/src/lib/display/image/image.component.scss +0 -53
- package/src/lib/display/image/image.component.spec.ts +0 -23
- package/src/lib/display/image/image.component.ts +0 -71
- package/src/lib/display/message/message.component.html +0 -33
- package/src/lib/display/message/message.component.scss +0 -25
- package/src/lib/display/message/message.component.spec.ts +0 -23
- package/src/lib/display/message/message.component.ts +0 -24
- package/src/lib/display/message.service.spec.ts +0 -16
- package/src/lib/display/message.service.ts +0 -58
- package/src/lib/display/observe-intersecting.directive.spec.ts +0 -8
- package/src/lib/display/observe-intersecting.directive.ts +0 -34
- package/src/lib/display/progress/progress.component.html +0 -6
- package/src/lib/display/progress/progress.component.scss +0 -121
- package/src/lib/display/progress/progress.component.spec.ts +0 -23
- package/src/lib/display/progress/progress.component.ts +0 -36
- package/src/lib/display/progress.service.spec.ts +0 -16
- package/src/lib/display/progress.service.ts +0 -51
- package/src/lib/inputs/inputs.module.ts +0 -17
- package/src/lib/inputs/rating/rating.component.html +0 -13
- package/src/lib/inputs/rating/rating.component.scss +0 -61
- package/src/lib/inputs/rating/rating.component.spec.ts +0 -25
- package/src/lib/inputs/rating/rating.component.ts +0 -66
- package/src/lib/models/action-group.ts +0 -9
- package/src/lib/models/module-configuration.ts +0 -6
- package/src/lib/models/ui-configuration.ts +0 -7
- package/src/lib/navigation/list/list.component.html +0 -52
- package/src/lib/navigation/list/list.component.scss +0 -93
- package/src/lib/navigation/list/list.component.spec.ts +0 -23
- package/src/lib/navigation/list/list.component.ts +0 -56
- package/src/lib/navigation/navbar/navbar.component.html +0 -23
- package/src/lib/navigation/navbar/navbar.component.scss +0 -202
- package/src/lib/navigation/navbar/navbar.component.spec.ts +0 -23
- package/src/lib/navigation/navbar/navbar.component.ts +0 -57
- package/src/lib/navigation/navigation.module.ts +0 -34
- package/src/lib/navigation/searchbox/searchbox.component.html +0 -34
- package/src/lib/navigation/searchbox/searchbox.component.scss +0 -37
- package/src/lib/navigation/searchbox/searchbox.component.spec.ts +0 -23
- package/src/lib/navigation/searchbox/searchbox.component.ts +0 -94
- package/src/lib/navigation/toolbar/toolbar.component.html +0 -43
- package/src/lib/navigation/toolbar/toolbar.component.scss +0 -29
- package/src/lib/navigation/toolbar/toolbar.component.spec.ts +0 -23
- package/src/lib/navigation/toolbar/toolbar.component.ts +0 -43
- package/src/lib/scss/breakpoints.scss +0 -123
- package/src/lib/scss/variables.scss +0 -8
- package/src/lib/ui.module.ts +0 -34
- package/src/test.ts +0 -27
- package/tsconfig.lib.json +0 -15
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -17
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvZGlzcGxheS9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvZGlzcGxheS9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7OztBQVF0RSxNQUFNLE9BQU8sZUFBZTtJQStDMUIsWUFDVSxZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQXhDcEMsVUFBSyxHQUFXLEVBQUUsQ0FBQztJQXlDZixDQUFDO0lBeENMLElBQ0ksR0FBRyxDQUFDLEtBQXlCO1FBQy9CLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBRSxFQUFFLEVBQUU7WUFDN0IsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7WUFDbEIsSUFBSSxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUN4QixLQUFLLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQztZQUNsQixLQUFLLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRTtnQkFDbEIsSUFBSSxRQUFRLElBQUksS0FBSyxFQUFFO29CQUNyQixLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTt3QkFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7b0JBQ3JCLENBQUMsQ0FBQyxDQUFDO2lCQUNKO3FCQUFNO29CQUNMLE9BQU8sQ0FBQyxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztpQkFDOUM7WUFDSCxDQUFDLENBQUM7U0FDSDtJQUNILENBQUM7SUFDRCxJQUNJLEtBQUssQ0FBQyxLQUFhO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQ0QsSUFDSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNELElBQ0ksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUNELElBQ0ksV0FBVztRQUNiLE9BQU87WUFDTCxXQUFXO1lBQ1gsSUFBSSxDQUFDLEtBQUs7U0FDWCxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNkLENBQUM7SUFNRCxRQUFRO0lBRVIsQ0FBQztJQUNELFdBQVcsQ0FBQyxLQUFhO1FBQ3ZCLElBQUksV0FBVyxHQUFhLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZELElBQUksUUFBUSxHQUFXLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMvRixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDOzs0R0ExRFUsZUFBZTtnR0FBZixlQUFlLG9SQ1I1QiwrQ0FDQTsyRkRPYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLFdBQVc7bUdBUXJCLEtBQUs7c0JBREosS0FBSztnQkFLTixLQUFLO3NCQURKLEtBQUs7Z0JBR0YsR0FBRztzQkFETixLQUFLO2dCQWtCRixLQUFLO3NCQURSLEtBQUs7Z0JBTUYsZUFBZTtzQkFEbEIsV0FBVzt1QkFBQyx3QkFBd0I7Z0JBS2pDLGVBQWU7c0JBRGxCLFdBQVc7dUJBQUMsd0JBQXdCO2dCQUtqQyxXQUFXO3NCQURkLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbG9yU2VydmljZSB9IGZyb20gJ0BmYWN0b3JfZWMvdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmdC1hdmF0YXInLFxuICB0ZW1wbGF0ZVVybDogJy4vYXZhdGFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXZhdGFyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQXZhdGFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgX2xhYmVsITogc3RyaW5nO1xuICBfc3JjITogc3RyaW5nO1xuICBASW5wdXQoKVxuICBjb2xvciE6IHN0cmluZztcbiAgaW5pdGlhbHMhOiBzdHJpbmc7XG4gIGxvYWRlZCE6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIGNsYXNzOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KClcbiAgc2V0IHNyYyh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHZhbHVlICYmIHZhbHVlLnRyaW0oKSE9JycpIHtcbiAgICAgIHRoaXMuX3NyYyA9IHZhbHVlO1xuICAgICAgbGV0IGltYWdlID0gbmV3IEltYWdlKCk7XG4gICAgICBpbWFnZS5zcmMgPSB2YWx1ZTtcbiAgICAgIGltYWdlLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgaWYgKFwiZGVjb2RlXCIgaW4gaW1hZ2UpIHtcbiAgICAgICAgICBpbWFnZS5kZWNvZGUoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdJbWFnZS5kZWNvZGUgbm90IGF2YWlsYWJsZS4nKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG4gIH1cbiAgQElucHV0KClcbiAgc2V0IGxhYmVsKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9sYWJlbCA9IHZhbHVlO1xuICAgIHRoaXMuaW5pdGlhbHMgPSB0aGlzLmdldEluaXRpYWxzKHZhbHVlKTtcbiAgfVxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmJhY2tncm91bmQtY29sb3InKVxuICBnZXQgYmFja2dyb3VuZENvbG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY29sb3IgfHwgdGhpcy5jb2xvclNlcnZpY2UuaGV4KHRoaXMuX2xhYmVsKTtcbiAgfVxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmJhY2tncm91bmQtaW1hZ2UnKVxuICBnZXQgYmFja2dyb3VuZEltYWdlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3NyYyA/IGB1cmwoJHt0aGlzLl9zcmN9KWAgOiAnJztcbiAgfVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IGhvc3RDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFtcbiAgICAgICdmdC1hdmF0YXInLFxuICAgICAgdGhpcy5jbGFzc1xuICAgIF0uam9pbignICcpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb2xvclNlcnZpY2U6IENvbG9yU2VydmljZVxuICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuXG4gIH1cbiAgZ2V0SW5pdGlhbHModmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgbGV0IGFsbEluaXRpYWxzOiBzdHJpbmdbXSA9IHZhbHVlLm1hdGNoKC9cXGJcXHcvZykgfHwgW107XG4gICAgbGV0IGluaXRpYWxzOiBzdHJpbmcgPSAoKGFsbEluaXRpYWxzLnNoaWZ0KCkgfHwgJycpICsgKGFsbEluaXRpYWxzLnBvcCgpIHx8ICcnKSkudG9VcHBlckNhc2UoKTtcbiAgICByZXR1cm4gaW5pdGlhbHM7XG4gIH1cblxufVxuIiwiPGRpdiAqbmdJZj1cIiFsb2FkZWRcIj57eyBpbml0aWFscyB9fTwvZGl2PlxuIl19
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Component, Inject } from '@angular/core';
|
|
2
|
+
import { MAT_SNACK_BAR_DATA } from '@angular/material/snack-bar';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
export class ContentComponent {
|
|
6
|
+
constructor(data) {
|
|
7
|
+
this.data = data;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
ContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ContentComponent, deps: [{ token: MAT_SNACK_BAR_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
11
|
+
ContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: ContentComponent, selector: "lib-content", ngImport: i0, template: "<ng-container [ngSwitch]=\"data.message?.type\">\n <div *ngSwitchCase=\"'html'\" [innerHTML]=\"data.message?.content\"></div>\n <ng-container *ngSwitchDefault>{{ data.message?.content }}</ng-container>\n</ng-container>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }] });
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ContentComponent, decorators: [{
|
|
13
|
+
type: Component,
|
|
14
|
+
args: [{ selector: 'lib-content', template: "<ng-container [ngSwitch]=\"data.message?.type\">\n <div *ngSwitchCase=\"'html'\" [innerHTML]=\"data.message?.content\"></div>\n <ng-container *ngSwitchDefault>{{ data.message?.content }}</ng-container>\n</ng-container>" }]
|
|
15
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
16
|
+
type: Inject,
|
|
17
|
+
args: [MAT_SNACK_BAR_DATA]
|
|
18
|
+
}] }]; } });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2Rpc3BsYXkvY29udGVudC9jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvZGlzcGxheS9jb250ZW50L2NvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7OztBQU9qRSxNQUFNLE9BQU8sZ0JBQWdCO0lBRTNCLFlBQ3FDLElBQVM7UUFBVCxTQUFJLEdBQUosSUFBSSxDQUFLO0lBQzFDLENBQUM7OzZHQUpNLGdCQUFnQixrQkFHakIsa0JBQWtCO2lHQUhqQixnQkFBZ0IsbURDUjdCLGtPQUdlOzJGREtGLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxhQUFhOzswQkFPcEIsTUFBTTsyQkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTUFUX1NOQUNLX0JBUl9EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWNvbnRlbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29udGVudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbnRlbnQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50Q29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KE1BVF9TTkFDS19CQVJfREFUQSkgcHVibGljIGRhdGE6IGFueVxuICApIHsgfVxuXG59XG4iLCI8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJkYXRhLm1lc3NhZ2U/LnR5cGVcIj5cbiAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCInaHRtbCdcIiBbaW5uZXJIVE1MXT1cImRhdGEubWVzc2FnZT8uY29udGVudFwiPjwvZGl2PlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD57eyBkYXRhLm1lc3NhZ2U/LmNvbnRlbnQgfX08L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPiJdfQ==
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
4
|
+
import { MatDialogModule } from '@angular/material/dialog';
|
|
5
|
+
import { MatSnackBarModule } from '@angular/material/snack-bar';
|
|
6
|
+
import { AvatarComponent } from './avatar/avatar.component';
|
|
7
|
+
import { IconComponent } from './icon/icon.component';
|
|
8
|
+
import { ImageComponent } from './image/image.component';
|
|
9
|
+
import { ProgressComponent } from './progress/progress.component';
|
|
10
|
+
import { ObserveIntersectingDirective } from './observe-intersecting.directive';
|
|
11
|
+
import { MessageComponent } from './message/message.component';
|
|
12
|
+
import { ContentComponent } from './content/content.component';
|
|
13
|
+
import * as i0 from "@angular/core";
|
|
14
|
+
export class DisplayModule {
|
|
15
|
+
}
|
|
16
|
+
DisplayModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: DisplayModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
17
|
+
DisplayModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.0", ngImport: i0, type: DisplayModule, declarations: [AvatarComponent,
|
|
18
|
+
IconComponent,
|
|
19
|
+
ImageComponent,
|
|
20
|
+
ProgressComponent,
|
|
21
|
+
ObserveIntersectingDirective,
|
|
22
|
+
MessageComponent,
|
|
23
|
+
ContentComponent], imports: [CommonModule,
|
|
24
|
+
MatButtonModule,
|
|
25
|
+
MatDialogModule,
|
|
26
|
+
MatSnackBarModule], exports: [AvatarComponent,
|
|
27
|
+
IconComponent,
|
|
28
|
+
ImageComponent,
|
|
29
|
+
ProgressComponent,
|
|
30
|
+
ObserveIntersectingDirective,
|
|
31
|
+
MessageComponent,
|
|
32
|
+
ContentComponent] });
|
|
33
|
+
DisplayModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: DisplayModule, imports: [CommonModule,
|
|
34
|
+
MatButtonModule,
|
|
35
|
+
MatDialogModule,
|
|
36
|
+
MatSnackBarModule] });
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: DisplayModule, decorators: [{
|
|
38
|
+
type: NgModule,
|
|
39
|
+
args: [{
|
|
40
|
+
declarations: [
|
|
41
|
+
AvatarComponent,
|
|
42
|
+
IconComponent,
|
|
43
|
+
ImageComponent,
|
|
44
|
+
ProgressComponent,
|
|
45
|
+
ObserveIntersectingDirective,
|
|
46
|
+
MessageComponent,
|
|
47
|
+
ContentComponent
|
|
48
|
+
],
|
|
49
|
+
exports: [
|
|
50
|
+
AvatarComponent,
|
|
51
|
+
IconComponent,
|
|
52
|
+
ImageComponent,
|
|
53
|
+
ProgressComponent,
|
|
54
|
+
ObserveIntersectingDirective,
|
|
55
|
+
MessageComponent,
|
|
56
|
+
ContentComponent
|
|
57
|
+
],
|
|
58
|
+
imports: [
|
|
59
|
+
CommonModule,
|
|
60
|
+
MatButtonModule,
|
|
61
|
+
MatDialogModule,
|
|
62
|
+
MatSnackBarModule
|
|
63
|
+
]
|
|
64
|
+
}]
|
|
65
|
+
}] });
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGxheS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2Rpc3BsYXkvZGlzcGxheS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUE0Qi9ELE1BQU0sT0FBTyxhQUFhOzswR0FBYixhQUFhOzJHQUFiLGFBQWEsaUJBeEJ0QixlQUFlO1FBQ2YsYUFBYTtRQUNiLGNBQWM7UUFDZCxpQkFBaUI7UUFDakIsNEJBQTRCO1FBQzVCLGdCQUFnQjtRQUNoQixnQkFBZ0IsYUFZaEIsWUFBWTtRQUNaLGVBQWU7UUFDZixlQUFlO1FBQ2YsaUJBQWlCLGFBWmpCLGVBQWU7UUFDZixhQUFhO1FBQ2IsY0FBYztRQUNkLGlCQUFpQjtRQUNqQiw0QkFBNEI7UUFDNUIsZ0JBQWdCO1FBQ2hCLGdCQUFnQjsyR0FTUCxhQUFhLFlBTnRCLFlBQVk7UUFDWixlQUFlO1FBQ2YsZUFBZTtRQUNmLGlCQUFpQjsyRkFHUixhQUFhO2tCQTFCekIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osZUFBZTt3QkFDZixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQiw0QkFBNEI7d0JBQzVCLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQiw0QkFBNEI7d0JBQzVCLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsaUJBQWlCO3FCQUNsQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRTbmFja0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5cbmltcG9ydCB7IEF2YXRhckNvbXBvbmVudCB9IGZyb20gJy4vYXZhdGFyL2F2YXRhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4vaWNvbi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbWFnZUNvbXBvbmVudCB9IGZyb20gJy4vaW1hZ2UvaW1hZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2dyZXNzQ29tcG9uZW50IH0gZnJvbSAnLi9wcm9ncmVzcy9wcm9ncmVzcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgT2JzZXJ2ZUludGVyc2VjdGluZ0RpcmVjdGl2ZSB9IGZyb20gJy4vb2JzZXJ2ZS1pbnRlcnNlY3RpbmcuZGlyZWN0aXZlJztcbmltcG9ydCB7IE1lc3NhZ2VDb21wb25lbnQgfSBmcm9tICcuL21lc3NhZ2UvbWVzc2FnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vY29udGVudC9jb250ZW50LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEF2YXRhckNvbXBvbmVudCxcbiAgICBJY29uQ29tcG9uZW50LFxuICAgIEltYWdlQ29tcG9uZW50LFxuICAgIFByb2dyZXNzQ29tcG9uZW50LFxuICAgIE9ic2VydmVJbnRlcnNlY3RpbmdEaXJlY3RpdmUsXG4gICAgTWVzc2FnZUNvbXBvbmVudCxcbiAgICBDb250ZW50Q29tcG9uZW50XG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBBdmF0YXJDb21wb25lbnQsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgICBJbWFnZUNvbXBvbmVudCxcbiAgICBQcm9ncmVzc0NvbXBvbmVudCxcbiAgICBPYnNlcnZlSW50ZXJzZWN0aW5nRGlyZWN0aXZlLFxuICAgIE1lc3NhZ2VDb21wb25lbnQsXG4gICAgQ29udGVudENvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgTWF0U25hY2tCYXJNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEaXNwbGF5TW9kdWxlIHsgfVxuIl19
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2Rpc3BsYXkvaWNvbi9pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvZGlzcGxheS9pY29uL2ljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBUTlFLE1BQU0sT0FBTyxhQUFhO0lBd0N4QixZQUMyQyxhQUE4QjtRQUE5QixrQkFBYSxHQUFiLGFBQWEsQ0FBaUI7UUFuQ3pFLFVBQUssR0FBVyxFQUFFLENBQUM7SUFvQ2YsQ0FBQztJQW5DTCxJQUNJLFVBQVUsQ0FBQyxVQUFrQjtRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztRQUM5QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUNELElBQ0ksSUFBSSxDQUFDLElBQTJCO1FBQ2xDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBQ0QsSUFDSSxJQUFJLENBQUMsSUFBWTtRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUNELElBQ0ksSUFBSSxDQUFDLElBQVk7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFNRCxJQUNJLFdBQVc7UUFDYixPQUFPO1lBQ0wsU0FBUztZQUNULElBQUksQ0FBQyxLQUFLO1NBQ1gsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDZCxDQUFDO0lBTUQsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBQ08sTUFBTTtRQUNaLHFEQUFxRDtRQUNyRCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNyQixJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDakUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7YUFDdkQ7aUJBQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFVBQVUsRUFBRTtnQkFDcEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUM7YUFDNUI7U0FDRjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQzNELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2FBQzNDO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDO2FBQ3pCO1NBQ0Y7UUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssVUFBVSxFQUFFO1lBQzdCLCtCQUErQjtZQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDZixJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtvQkFDM0QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7aUJBQzNDO3FCQUFNO29CQUNMLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO2lCQUN2QjthQUNGO1lBQ0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFJLElBQUksQ0FBQyxLQUFNLElBQUssSUFBSSxDQUFDLFdBQVksUUFBUSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDdEU7YUFBTTtZQUNMLDZCQUE2QjtZQUM3QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ2xILElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztTQUN2QjtJQUNILENBQUM7OzBHQTlFVSxhQUFhLGtCQXlDZCx1QkFBdUI7OEZBekN0QixhQUFhLGdPQ1IxQixvTEFHYzsyRkRLRCxhQUFhO2tCQUx6QixTQUFTOytCQUNFLFNBQVM7OzBCQTZDaEIsTUFBTTsyQkFBQyx1QkFBdUI7NENBbkNqQyxLQUFLO3NCQURKLEtBQUs7Z0JBR0YsVUFBVTtzQkFEYixLQUFLO2dCQU1GLElBQUk7c0JBRFAsS0FBSztnQkFNRixJQUFJO3NCQURQLEtBQUs7Z0JBTUYsSUFBSTtzQkFEUCxLQUFLO2dCQU1OLElBQUk7c0JBREgsS0FBSztnQkFHTixHQUFHO3NCQURGLEtBQUs7Z0JBSUYsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIEluamVjdCwgSG9zdEJpbmRpbmcgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVpQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy91aS1jb25maWd1cmF0aW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnQtaWNvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9pY29uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaWNvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEljb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBfY29sbGVjdGlvbiE6IHN0cmluZztcbiAgX25hbWUhOiBzdHJpbmc7XG4gIF9tb2RlITogJ2lubGluZScgfCAnZXh0ZXJuYWwnO1xuICBfcGF0aCE6IHN0cmluZztcbiAgQElucHV0KClcbiAgY2xhc3M6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKVxuICBzZXQgY29sbGVjdGlvbihjb2xsZWN0aW9uOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9jb2xsZWN0aW9uID0gY29sbGVjdGlvbjtcbiAgICB0aGlzLnVwZGF0ZSgpO1xuICB9XG4gIEBJbnB1dCgpXG4gIHNldCBtb2RlKG1vZGU6ICdpbmxpbmUnIHwgJ2V4dGVybmFsJykge1xuICAgIHRoaXMuX21vZGUgPSBtb2RlO1xuICAgIHRoaXMudXBkYXRlKCk7XG4gIH1cbiAgQElucHV0KClcbiAgc2V0IG5hbWUobmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fbmFtZSA9IG5hbWU7XG4gICAgdGhpcy51cGRhdGUoKTtcbiAgfSBcbiAgQElucHV0KClcbiAgc2V0IHBhdGgocGF0aDogc3RyaW5nKSB7XG4gICAgdGhpcy5fcGF0aCA9IHBhdGg7XG4gICAgdGhpcy51cGRhdGUoKTtcbiAgfVxuICBASW5wdXQoKVxuICBzaXplITogc3RyaW5nO1xuICBASW5wdXQoKVxuICBzcmMhOiBzdHJpbmc7XG4gIHVybCE6IHN0cmluZztcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBob3N0Q2xhc3NlcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBbXG4gICAgICAnZnQtaWNvbicsXG4gICAgICB0aGlzLmNsYXNzXG4gICAgXS5qb2luKCcgJyk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KCdGYWN0b3JVaUNvbmZpZ3VyYXRpb24nKSBwcml2YXRlIGNvbmZpZ3VyYXRpb246IFVpQ29uZmlndXJhdGlvblxuICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMudXBkYXRlKCk7XG4gIH1cbiAgcHJpdmF0ZSB1cGRhdGUoKSB7XG4gICAgLy8gU2V0IHRoZSBkZWZhdWx0IGNvbGxlY3Rpb24gaWYgdGhlIG1vZGUgaXMgZXh0ZXJuYWxcbiAgICBpZiAoIXRoaXMuX2NvbGxlY3Rpb24pIHtcbiAgICAgIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24uaWNvbiAmJiB0aGlzLmNvbmZpZ3VyYXRpb24uaWNvbi5jb2xsZWN0aW9uKSB7XG4gICAgICAgIHRoaXMuX2NvbGxlY3Rpb24gPSB0aGlzLmNvbmZpZ3VyYXRpb24uaWNvbi5jb2xsZWN0aW9uO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLl9tb2RlID09PSAnZXh0ZXJuYWwnKSB7XG4gICAgICAgIHRoaXMuX2NvbGxlY3Rpb24gPSAnaWNvbnMnO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoIXRoaXMuX21vZGUpIHtcbiAgICAgIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24uaWNvbiAmJiB0aGlzLmNvbmZpZ3VyYXRpb24uaWNvbi5tb2RlKSB7XG4gICAgICAgIHRoaXMuX21vZGUgPSB0aGlzLmNvbmZpZ3VyYXRpb24uaWNvbi5tb2RlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fbW9kZSA9ICdleHRlcm5hbCc7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0aGlzLl9tb2RlID09PSAnZXh0ZXJuYWwnKSB7XG4gICAgICAvLyBJZiB0aGUgaWNvbiBtb2RlIGlzIGV4dGVybmFsXG4gICAgICBpZiAoIXRoaXMuX3BhdGgpIHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlndXJhdGlvbi5pY29uICYmIHRoaXMuY29uZmlndXJhdGlvbi5pY29uLnBhdGgpIHtcbiAgICAgICAgICB0aGlzLl9wYXRoID0gdGhpcy5jb25maWd1cmF0aW9uLmljb24ucGF0aDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl9wYXRoID0gJ2Fzc2V0cyc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMudXJsID0gYCR7IHRoaXMuX3BhdGggfS8keyB0aGlzLl9jb2xsZWN0aW9uIH0uc3ZnIyR7dGhpcy5fbmFtZX1gO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBJZiB0aGUgaWNvbiBtb2RlIGlzIGlubGluZVxuICAgICAgY29uc3QgbmFtZSA9IHRoaXMuX2NvbGxlY3Rpb24gJiYgdGhpcy5fY29sbGVjdGlvbiAhPT0gJ3Vuc2V0JyA/IGAke3RoaXMuX2NvbGxlY3Rpb259LS0ke3RoaXMuX25hbWV9YCA6IHRoaXMuX25hbWU7XG4gICAgICB0aGlzLnVybCA9IGAjJHtuYW1lfWA7XG4gICAgfVxuICB9XG59XG4iLCI8c3ZnICpuZ0lmPVwiIXNyYzsgZWxzZSBpbWFnZVRlbXBsYXRlXCI+PHVzZSBhdHRyLnhsaW5rOmhyZWY9XCJ7eyB1cmwgfX1cIiBhdHRyLmhyZWY9XCJ7eyB1cmwgfX1cIiAvPjwvc3ZnPlxuPG5nLXRlbXBsYXRlICNpbWFnZVRlbXBsYXRlPlxuICA8aW1nIFtzcmNdPVwic3JjXCIgLz5cbjwvbmctdGVtcGxhdGU+Il19
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9kaXNwbGF5L2ltYWdlL2ltYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvZGlzcGxheS9pbWFnZS9pbWFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxXQUFXLEVBQWMsTUFBTSxlQUFlLENBQUM7Ozs7QUFPbEYsTUFBTSxPQUFPLGNBQWM7SUFXekIsWUFDVSxPQUFtQjtRQUFuQixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBVjdCLFVBQUssR0FBVyxFQUFFLENBQUM7UUFJbkIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUd6QixVQUFLLEdBQVksS0FBSyxDQUFDO0lBSW5CLENBQUM7SUFFTCxRQUFRO1FBQ04sSUFBSSxzQkFBc0IsSUFBSSxNQUFNLEVBQUU7WUFDcEMsSUFBSSxlQUFlLEdBQUcsSUFBSSxvQkFBb0IsQ0FBQyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRTtnQkFDbkUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO29CQUN4QixJQUFJLEtBQUssQ0FBQyxjQUFjLEVBQUU7d0JBQ3hCLElBQUksS0FBSyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7d0JBQ3hCLEtBQUssQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQzt3QkFDckIsVUFBVSxDQUFDLEdBQUcsRUFBRTs0QkFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0NBQzlCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDOzZCQUNyQjt3QkFDSCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7d0JBQ1IsS0FBSyxDQUFDLE9BQU8sR0FBRyxHQUFHLEVBQUU7NEJBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDOzRCQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQzt3QkFDdkIsQ0FBQyxDQUFDO3dCQUNGLEtBQUssQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFOzRCQUNsQixJQUFJLFFBQVEsSUFBSSxLQUFLLEVBQUU7Z0NBQ3JCLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO29DQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztvQ0FDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7Z0NBQ3BCLENBQUMsQ0FBQyxDQUFDOzZCQUNKO2lDQUFNO2dDQUNMLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dDQUNyQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQzs2QkFDbkI7d0JBQ0gsQ0FBQyxDQUFDO3dCQUNGLGVBQWUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztxQkFDdkQ7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLEVBQUU7Z0JBQ0QsVUFBVSxFQUFFLG1CQUFtQjthQUNoQyxDQUFDLENBQUM7WUFDSCxlQUFlLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDckQ7YUFBTTtZQUNMLE9BQU8sQ0FBQyxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztTQUNuQjtJQUNILENBQUM7SUFDRCxJQUNJLFdBQVc7UUFDYixPQUFPO1lBQ0wsVUFBVTtZQUNWLElBQUksQ0FBQyxLQUFLO1NBQ1gsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDZCxDQUFDOzsyR0E3RFUsY0FBYzsrRkFBZCxjQUFjLGlPQ1AzQiwwR0FFQTsyRkRLYSxjQUFjO2tCQUwxQixTQUFTOytCQUNFLFVBQVU7aUdBTXBCLEtBQUs7c0JBREosS0FBSztnQkFHTixLQUFLO3NCQURKLFdBQVc7dUJBQUMsdUJBQXVCO2dCQUdwQyxPQUFPO3NCQUROLFdBQVc7dUJBQUMseUJBQXlCO2dCQUd0QyxHQUFHO3NCQURGLEtBQUs7Z0JBaURGLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBIb3N0QmluZGluZywgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmdC1pbWFnZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbWFnZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ltYWdlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSW1hZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKVxuICBjbGFzczogc3RyaW5nID0gJyc7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuZnQtaW1hZ2UtLWVycm9yJylcbiAgZXJyb3IhOiBib29sZWFuO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZ0LWltYWdlLS1sb2FkaW5nJylcbiAgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBzcmMhOiBzdHJpbmc7XG4gIHNob3duOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKFwiSW50ZXJzZWN0aW9uT2JzZXJ2ZXJcIiBpbiB3aW5kb3cpIHtcbiAgICAgIGxldCBlbGVtZW50T2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7XG4gICAgICAgIGVudHJpZXMuZm9yRWFjaCgoZW50cnkpID0+IHtcbiAgICAgICAgICBpZiAoZW50cnkuaXNJbnRlcnNlY3RpbmcpIHtcbiAgICAgICAgICAgIGxldCBpbWFnZSA9IG5ldyBJbWFnZSgpO1xuICAgICAgICAgICAgaW1hZ2Uuc3JjID0gdGhpcy5zcmM7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKCF0aGlzLnNob3duICYmICF0aGlzLmVycm9yKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgMTAwKTtcbiAgICAgICAgICAgIGltYWdlLm9uZXJyb3IgPSAoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuZXJyb3IgPSB0cnVlO1xuICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBpbWFnZS5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgICAgICAgIGlmIChcImRlY29kZVwiIGluIGltYWdlKSB7XG4gICAgICAgICAgICAgICAgaW1hZ2UuZGVjb2RlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd24gPSB0cnVlO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuc2hvd24gPSB0cnVlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgZWxlbWVudE9ic2VydmVyLnVub2JzZXJ2ZSh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0sIHtcbiAgICAgICAgcm9vdE1hcmdpbjogXCIwcHggMHB4IDIwMHB4IDBweFwiXG4gICAgICB9KTtcbiAgICAgIGVsZW1lbnRPYnNlcnZlci5vYnNlcnZlKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcignSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgbm90IGF2YWlsYWJsZS4nKTtcbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgdGhpcy5zaG93biA9IHRydWU7XG4gICAgfVxuICB9XG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgaG9zdENsYXNzZXMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gW1xuICAgICAgJ2Z0LWltYWdlJyxcbiAgICAgIHRoaXMuY2xhc3NcbiAgICBdLmpvaW4oJyAnKTtcbiAgfVxuXG59XG4iLCI8aW1nICpuZ0lmPVwic2hvd25cIiBbc3JjXT1cInNyY1wiIC8+XG48ZnQtaWNvbiBuYW1lPVwid2FybmluZ1wiIHNpemU9XCIyXCIgKm5nSWY9XCJlcnJvclwiPjwvZnQtaWNvbj5cbiJdfQ==
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Component, EventEmitter, Inject, Output } from '@angular/core';
|
|
2
|
+
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "@angular/material/button";
|
|
6
|
+
import * as i3 from "@angular/material/dialog";
|
|
7
|
+
import * as i4 from "../icon/icon.component";
|
|
8
|
+
export class MessageComponent {
|
|
9
|
+
constructor(data) {
|
|
10
|
+
this.data = data;
|
|
11
|
+
this.beforeSelect = new EventEmitter();
|
|
12
|
+
}
|
|
13
|
+
ngOnInit() {
|
|
14
|
+
}
|
|
15
|
+
select(value) {
|
|
16
|
+
this.beforeSelect.emit(value);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
MessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: MessageComponent, deps: [{ token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
+
MessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: MessageComponent, selector: "ft-message", outputs: { beforeSelect: "beforeSelect" }, ngImport: i0, template: "<h1 mat-dialog-title class=\"ft-message__title\" *ngIf=\"data.options?.title\">\n <ft-icon *ngIf=\"data.options?.titleIcon\" [name]=\"data.options?.titleIcon?.name\"\n [collection]=\"data.options?.titleIcon?.collection\" [ngClass]=\"data.options?.titleIcon?.class\"\n [size]=\"data.options?.titleIcon?.size || 2\"></ft-icon>\n <div>{{ data.options?.title }}</div>\n </h1>\n <div mat-dialog-content class=\"ft-message__content\" [ngClass]=\"data.options?.class\">\n <ft-icon *ngIf=\"data.options?.icon\" [name]=\"data.options?.icon?.name\" [collection]=\"data.options?.icon?.collection\"\n [ngClass]=\"data.options?.icon?.class\" [size]=\"data.options?.icon?.size || 2\"></ft-icon>\n <ng-container [ngSwitch]=\"data.message?.type\">\n <div *ngSwitchCase=\"'html'\" [innerHTML]=\"data.message?.content\"></div>\n <ng-container *ngSwitchDefault>{{ data.message?.content }}</ng-container>\n </ng-container>\n </div>\n <div mat-dialog-actions class=\"ft-message__actions\" *ngIf=\"data.options.actionsVisible\">\n <ng-container *ngIf=\"data.options?.actions?.length > 0; else acceptTemplate\">\n <ng-container *ngFor=\"let action of data.options?.actions; let i = index\">\n <ng-container [ngSwitch]=\"action.type\">\n <button type=\"button\" *ngSwitchCase=\"'raised'\" mat-raised-button [color]=\"action.metadata?.color\"\n (click)=\"select(action.value)\" autofocus>{{ action.label }}</button>\n <button type=\"button\" *ngSwitchCase=\"'flat'\" mat-flat-button [color]=\"action.metadata?.color\"\n (click)=\"select(action.value)\" autofocus>{{ action.label }}</button>\n <button type=\"button\" *ngSwitchCase=\"'stroked'\" mat-stroked-button [color]=\"action.metadata?.color\"\n (click)=\"select(action.value)\" autofocus>{{ action.label }}</button>\n <button type=\"button\" *ngSwitchDefault mat-button [color]=\"action.metadata?.color\"\n (click)=\"select(action.value)\">{{ action.label }}</button>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n <ng-template #acceptTemplate>\n <button type=\"button\" mat-stroked-button color=\"primary\" autofocus (click)=\"select('-1')\" i18n>Accept</button>\n </ng-template>", styles: [".mat-dialog-title{display:flex;align-items:center}.mat-dialog-title ft-icon{margin-right:.5rem}.mat-dialog-content{display:flex;align-items:center;margin-bottom:.5rem}.mat-dialog-content ft-icon{margin-right:.5rem}.mat-dialog-actions{display:flex;align-items:center;justify-content:flex-end;padding-bottom:1.5rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i4.IconComponent, selector: "ft-icon", inputs: ["class", "collection", "mode", "name", "path", "size", "src"] }] });
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: MessageComponent, decorators: [{
|
|
22
|
+
type: Component,
|
|
23
|
+
args: [{ selector: 'ft-message', template: "<h1 mat-dialog-title class=\"ft-message__title\" *ngIf=\"data.options?.title\">\n <ft-icon *ngIf=\"data.options?.titleIcon\" [name]=\"data.options?.titleIcon?.name\"\n [collection]=\"data.options?.titleIcon?.collection\" [ngClass]=\"data.options?.titleIcon?.class\"\n [size]=\"data.options?.titleIcon?.size || 2\"></ft-icon>\n <div>{{ data.options?.title }}</div>\n </h1>\n <div mat-dialog-content class=\"ft-message__content\" [ngClass]=\"data.options?.class\">\n <ft-icon *ngIf=\"data.options?.icon\" [name]=\"data.options?.icon?.name\" [collection]=\"data.options?.icon?.collection\"\n [ngClass]=\"data.options?.icon?.class\" [size]=\"data.options?.icon?.size || 2\"></ft-icon>\n <ng-container [ngSwitch]=\"data.message?.type\">\n <div *ngSwitchCase=\"'html'\" [innerHTML]=\"data.message?.content\"></div>\n <ng-container *ngSwitchDefault>{{ data.message?.content }}</ng-container>\n </ng-container>\n </div>\n <div mat-dialog-actions class=\"ft-message__actions\" *ngIf=\"data.options.actionsVisible\">\n <ng-container *ngIf=\"data.options?.actions?.length > 0; else acceptTemplate\">\n <ng-container *ngFor=\"let action of data.options?.actions; let i = index\">\n <ng-container [ngSwitch]=\"action.type\">\n <button type=\"button\" *ngSwitchCase=\"'raised'\" mat-raised-button [color]=\"action.metadata?.color\"\n (click)=\"select(action.value)\" autofocus>{{ action.label }}</button>\n <button type=\"button\" *ngSwitchCase=\"'flat'\" mat-flat-button [color]=\"action.metadata?.color\"\n (click)=\"select(action.value)\" autofocus>{{ action.label }}</button>\n <button type=\"button\" *ngSwitchCase=\"'stroked'\" mat-stroked-button [color]=\"action.metadata?.color\"\n (click)=\"select(action.value)\" autofocus>{{ action.label }}</button>\n <button type=\"button\" *ngSwitchDefault mat-button [color]=\"action.metadata?.color\"\n (click)=\"select(action.value)\">{{ action.label }}</button>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n <ng-template #acceptTemplate>\n <button type=\"button\" mat-stroked-button color=\"primary\" autofocus (click)=\"select('-1')\" i18n>Accept</button>\n </ng-template>", styles: [".mat-dialog-title{display:flex;align-items:center}.mat-dialog-title ft-icon{margin-right:.5rem}.mat-dialog-content{display:flex;align-items:center;margin-bottom:.5rem}.mat-dialog-content ft-icon{margin-right:.5rem}.mat-dialog-actions{display:flex;align-items:center;justify-content:flex-end;padding-bottom:1.5rem}\n"] }]
|
|
24
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
25
|
+
type: Inject,
|
|
26
|
+
args: [MAT_DIALOG_DATA]
|
|
27
|
+
}] }]; }, propDecorators: { beforeSelect: [{
|
|
28
|
+
type: Output
|
|
29
|
+
}] } });
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2Rpc3BsYXkvbWVzc2FnZS9tZXNzYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvZGlzcGxheS9tZXNzYWdlL21lc3NhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7OztBQU8zRCxNQUFNLE9BQU8sZ0JBQWdCO0lBSTNCLFlBQ2tDLElBQVM7UUFBVCxTQUFJLEdBQUosSUFBSSxDQUFLO1FBSDNDLGlCQUFZLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFJakQsQ0FBQztJQUVMLFFBQVE7SUFDUixDQUFDO0lBQ0QsTUFBTSxDQUFDLEtBQWE7UUFDbEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQzs7NkdBWlUsZ0JBQWdCLGtCQUtqQixlQUFlO2lHQUxkLGdCQUFnQiw2RkNSN0IsbXZFQWdDZ0I7MkZEeEJILGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxZQUFZOzswQkFTbkIsTUFBTTsyQkFBQyxlQUFlOzRDQUh6QixZQUFZO3NCQURYLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnQtbWVzc2FnZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZXNzYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVzc2FnZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAT3V0cHV0KClcbiAgYmVmb3JlU2VsZWN0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IGFueVxuICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICB9XG4gIHNlbGVjdCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5iZWZvcmVTZWxlY3QuZW1pdCh2YWx1ZSk7XG4gIH1cblxuXG59XG4iLCI8aDEgbWF0LWRpYWxvZy10aXRsZSBjbGFzcz1cImZ0LW1lc3NhZ2VfX3RpdGxlXCIgKm5nSWY9XCJkYXRhLm9wdGlvbnM/LnRpdGxlXCI+XG4gICAgPGZ0LWljb24gKm5nSWY9XCJkYXRhLm9wdGlvbnM/LnRpdGxlSWNvblwiIFtuYW1lXT1cImRhdGEub3B0aW9ucz8udGl0bGVJY29uPy5uYW1lXCJcbiAgICAgIFtjb2xsZWN0aW9uXT1cImRhdGEub3B0aW9ucz8udGl0bGVJY29uPy5jb2xsZWN0aW9uXCIgW25nQ2xhc3NdPVwiZGF0YS5vcHRpb25zPy50aXRsZUljb24/LmNsYXNzXCJcbiAgICAgIFtzaXplXT1cImRhdGEub3B0aW9ucz8udGl0bGVJY29uPy5zaXplIHx8IDJcIj48L2Z0LWljb24+XG4gICAgPGRpdj57eyBkYXRhLm9wdGlvbnM/LnRpdGxlIH19PC9kaXY+XG4gIDwvaDE+XG4gIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50IGNsYXNzPVwiZnQtbWVzc2FnZV9fY29udGVudFwiIFtuZ0NsYXNzXT1cImRhdGEub3B0aW9ucz8uY2xhc3NcIj5cbiAgICA8ZnQtaWNvbiAqbmdJZj1cImRhdGEub3B0aW9ucz8uaWNvblwiIFtuYW1lXT1cImRhdGEub3B0aW9ucz8uaWNvbj8ubmFtZVwiIFtjb2xsZWN0aW9uXT1cImRhdGEub3B0aW9ucz8uaWNvbj8uY29sbGVjdGlvblwiXG4gICAgICBbbmdDbGFzc109XCJkYXRhLm9wdGlvbnM/Lmljb24/LmNsYXNzXCIgW3NpemVdPVwiZGF0YS5vcHRpb25zPy5pY29uPy5zaXplIHx8IDJcIj48L2Z0LWljb24+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiZGF0YS5tZXNzYWdlPy50eXBlXCI+XG4gICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCInaHRtbCdcIiBbaW5uZXJIVE1MXT1cImRhdGEubWVzc2FnZT8uY29udGVudFwiPjwvZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0Pnt7IGRhdGEubWVzc2FnZT8uY29udGVudCB9fTwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgY2xhc3M9XCJmdC1tZXNzYWdlX19hY3Rpb25zXCIgKm5nSWY9XCJkYXRhLm9wdGlvbnMuYWN0aW9uc1Zpc2libGVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YS5vcHRpb25zPy5hY3Rpb25zPy5sZW5ndGggPiAwOyBlbHNlIGFjY2VwdFRlbXBsYXRlXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgZGF0YS5vcHRpb25zPy5hY3Rpb25zOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImFjdGlvbi50eXBlXCI+XG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKm5nU3dpdGNoQ2FzZT1cIidyYWlzZWQnXCIgbWF0LXJhaXNlZC1idXR0b24gW2NvbG9yXT1cImFjdGlvbi5tZXRhZGF0YT8uY29sb3JcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdChhY3Rpb24udmFsdWUpXCIgYXV0b2ZvY3VzPnt7IGFjdGlvbi5sYWJlbCB9fTwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICpuZ1N3aXRjaENhc2U9XCInZmxhdCdcIiBtYXQtZmxhdC1idXR0b24gW2NvbG9yXT1cImFjdGlvbi5tZXRhZGF0YT8uY29sb3JcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdChhY3Rpb24udmFsdWUpXCIgYXV0b2ZvY3VzPnt7IGFjdGlvbi5sYWJlbCB9fTwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICpuZ1N3aXRjaENhc2U9XCInc3Ryb2tlZCdcIiBtYXQtc3Ryb2tlZC1idXR0b24gW2NvbG9yXT1cImFjdGlvbi5tZXRhZGF0YT8uY29sb3JcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdChhY3Rpb24udmFsdWUpXCIgYXV0b2ZvY3VzPnt7IGFjdGlvbi5sYWJlbCB9fTwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICpuZ1N3aXRjaERlZmF1bHQgbWF0LWJ1dHRvbiBbY29sb3JdPVwiYWN0aW9uLm1ldGFkYXRhPy5jb2xvclwiXG4gICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0KGFjdGlvbi52YWx1ZSlcIj57eyBhY3Rpb24ubGFiZWwgfX08L2J1dHRvbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSAjYWNjZXB0VGVtcGxhdGU+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIGF1dG9mb2N1cyAoY2xpY2spPVwic2VsZWN0KCctMScpXCIgaTE4bj5BY2NlcHQ8L2J1dHRvbj5cbiAgPC9uZy10ZW1wbGF0ZT4iXX0=
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { ReplaySubject } from "rxjs";
|
|
3
|
+
import { MessageComponent } from './message/message.component';
|
|
4
|
+
import { ContentComponent } from './content/content.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/material/snack-bar";
|
|
7
|
+
import * as i2 from "@angular/material/dialog";
|
|
8
|
+
export class MessageService {
|
|
9
|
+
constructor(snackBar, dialog) {
|
|
10
|
+
this.snackBar = snackBar;
|
|
11
|
+
this.dialog = dialog;
|
|
12
|
+
}
|
|
13
|
+
show(message, options) {
|
|
14
|
+
let selectionSource = new ReplaySubject(undefined);
|
|
15
|
+
let selection = selectionSource.asObservable();
|
|
16
|
+
const defaults = {
|
|
17
|
+
type: 'notification',
|
|
18
|
+
duration: 2000,
|
|
19
|
+
actionsVisible: true
|
|
20
|
+
};
|
|
21
|
+
options = Object.assign(defaults, options);
|
|
22
|
+
const data = { message: typeof message === 'string' ? { content: message, type: 'text' } : message, options };
|
|
23
|
+
switch (options.type) {
|
|
24
|
+
default:
|
|
25
|
+
case 'notification':
|
|
26
|
+
this.snackBar.openFromComponent(ContentComponent, {
|
|
27
|
+
data,
|
|
28
|
+
panelClass: ['ft-message', 'ft-message--notification'],
|
|
29
|
+
duration: options.duration || 2000,
|
|
30
|
+
});
|
|
31
|
+
break;
|
|
32
|
+
case 'modal':
|
|
33
|
+
const dialogRef = this.dialog.open(MessageComponent, {
|
|
34
|
+
width: options.width || '350px',
|
|
35
|
+
data,
|
|
36
|
+
panelClass: ['ft-message', 'ft-message--modal'],
|
|
37
|
+
autoFocus: false,
|
|
38
|
+
disableClose: true
|
|
39
|
+
});
|
|
40
|
+
dialogRef.componentInstance.beforeSelect.subscribe(response => {
|
|
41
|
+
selectionSource.next(response);
|
|
42
|
+
dialogRef.close();
|
|
43
|
+
});
|
|
44
|
+
this.snackBar.dismiss();
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
return selection;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: MessageService, deps: [{ token: i1.MatSnackBar }, { token: i2.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
51
|
+
MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: MessageService, providedIn: 'root' });
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: MessageService, decorators: [{
|
|
53
|
+
type: Injectable,
|
|
54
|
+
args: [{
|
|
55
|
+
providedIn: 'root'
|
|
56
|
+
}]
|
|
57
|
+
}], ctorParameters: function () { return [{ type: i1.MatSnackBar }, { type: i2.MatDialog }]; } });
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9kaXNwbGF5L21lc3NhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFJakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7QUFNL0QsTUFBTSxPQUFPLGNBQWM7SUFHekIsWUFDVSxRQUFxQixFQUNyQixNQUFpQjtRQURqQixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQVc7SUFDdkIsQ0FBQztJQUVMLElBQUksQ0FBQyxPQUF5QixFQUFFLE9BQXdCO1FBQ3RELElBQUksZUFBZSxHQUEwQixJQUFJLGFBQWEsQ0FBUyxTQUFTLENBQUMsQ0FBQztRQUNsRixJQUFJLFNBQVMsR0FBdUIsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ25FLE1BQU0sUUFBUSxHQUFtQjtZQUMvQixJQUFJLEVBQUUsY0FBYztZQUNwQixRQUFRLEVBQUUsSUFBSTtZQUNkLGNBQWMsRUFBRSxJQUFJO1NBQ3JCLENBQUM7UUFDRixPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDM0MsTUFBTSxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsT0FBTyxPQUFPLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDOUcsUUFBUSxPQUFPLENBQUMsSUFBSSxFQUFFO1lBQ3BCLFFBQVE7WUFDUixLQUFLLGNBQWM7Z0JBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLEVBQUU7b0JBQ2hELElBQUk7b0JBQ0osVUFBVSxFQUFFLENBQUMsWUFBWSxFQUFFLDBCQUEwQixDQUFDO29CQUN0RCxRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVEsSUFBSSxJQUFJO2lCQUNuQyxDQUFDLENBQUM7Z0JBQ0gsTUFBTTtZQUNSLEtBQUssT0FBTztnQkFDVixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtvQkFDbkQsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLLElBQUksT0FBTztvQkFDL0IsSUFBSTtvQkFDSixVQUFVLEVBQUUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLENBQUM7b0JBQy9DLFNBQVMsRUFBRSxLQUFLO29CQUNoQixZQUFZLEVBQUUsSUFBSTtpQkFDbkIsQ0FBQyxDQUFDO2dCQUNILFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUM1RCxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUMvQixTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3BCLENBQUMsQ0FBQyxDQUFDO2dCQUNILElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ3hCLE1BQU07U0FDVDtRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7OzJHQTNDVSxjQUFjOytHQUFkLGNBQWMsY0FGYixNQUFNOzJGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5pbXBvcnQgeyBNZXNzYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9tZXNzYWdlL21lc3NhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IENvbnRlbnQgfSBmcm9tICcuLi9tb2RlbHMvY29udGVudCc7XG5pbXBvcnQgeyBDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb250ZW50L2NvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IE1lc3NhZ2VPcHRpb25zIH0gZnJvbSAnLi4vbW9kZWxzL21lc3NhZ2Utb3B0aW9ucyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VTZXJ2aWNlIHtcbiAgZWxlbWVudDogYW55O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc25hY2tCYXI6IE1hdFNuYWNrQmFyLFxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2dcbiAgKSB7IH1cblxuICBzaG93KG1lc3NhZ2U6IHN0cmluZyB8IENvbnRlbnQsIG9wdGlvbnM/OiBNZXNzYWdlT3B0aW9ucyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlbGVjdGlvblNvdXJjZTogUmVwbGF5U3ViamVjdDxzdHJpbmc+ID0gbmV3IFJlcGxheVN1YmplY3Q8c3RyaW5nPih1bmRlZmluZWQpO1xuICAgIGxldCBzZWxlY3Rpb246IE9ic2VydmFibGU8c3RyaW5nPiA9IHNlbGVjdGlvblNvdXJjZS5hc09ic2VydmFibGUoKTtcbiAgICBjb25zdCBkZWZhdWx0czogTWVzc2FnZU9wdGlvbnMgPSB7XG4gICAgICB0eXBlOiAnbm90aWZpY2F0aW9uJyxcbiAgICAgIGR1cmF0aW9uOiAyMDAwLFxuICAgICAgYWN0aW9uc1Zpc2libGU6IHRydWVcbiAgICB9O1xuICAgIG9wdGlvbnMgPSBPYmplY3QuYXNzaWduKGRlZmF1bHRzLCBvcHRpb25zKTtcbiAgICBjb25zdCBkYXRhID0geyBtZXNzYWdlOiB0eXBlb2YgbWVzc2FnZSA9PT0gJ3N0cmluZycgPyB7IGNvbnRlbnQ6IG1lc3NhZ2UsIHR5cGU6ICd0ZXh0JyB9IDogbWVzc2FnZSwgb3B0aW9ucyB9O1xuICAgIHN3aXRjaCAob3B0aW9ucy50eXBlKSB7XG4gICAgICBkZWZhdWx0OlxuICAgICAgY2FzZSAnbm90aWZpY2F0aW9uJzpcbiAgICAgICAgdGhpcy5zbmFja0Jhci5vcGVuRnJvbUNvbXBvbmVudChDb250ZW50Q29tcG9uZW50LCB7XG4gICAgICAgICAgZGF0YSxcbiAgICAgICAgICBwYW5lbENsYXNzOiBbJ2Z0LW1lc3NhZ2UnLCAnZnQtbWVzc2FnZS0tbm90aWZpY2F0aW9uJ10sXG4gICAgICAgICAgZHVyYXRpb246IG9wdGlvbnMuZHVyYXRpb24gfHwgMjAwMCxcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbW9kYWwnOlxuICAgICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKE1lc3NhZ2VDb21wb25lbnQsIHtcbiAgICAgICAgICB3aWR0aDogb3B0aW9ucy53aWR0aCB8fCAnMzUwcHgnLFxuICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgcGFuZWxDbGFzczogWydmdC1tZXNzYWdlJywgJ2Z0LW1lc3NhZ2UtLW1vZGFsJ10sXG4gICAgICAgICAgYXV0b0ZvY3VzOiBmYWxzZSxcbiAgICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWVcbiAgICAgICAgfSk7XG4gICAgICAgIGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZS5iZWZvcmVTZWxlY3Quc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICBzZWxlY3Rpb25Tb3VyY2UubmV4dChyZXNwb25zZSk7XG4gICAgICAgICAgZGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnNuYWNrQmFyLmRpc21pc3MoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiBzZWxlY3Rpb247XG4gIH1cbn0iXX0=
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Directive, EventEmitter, Output, Input, Inject, PLATFORM_ID } from '@angular/core';
|
|
2
|
+
import { isPlatformBrowser } from '@angular/common';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class ObserveIntersectingDirective {
|
|
5
|
+
constructor(element, platformId) {
|
|
6
|
+
this.element = element;
|
|
7
|
+
this.platformId = platformId;
|
|
8
|
+
this.event = new EventEmitter();
|
|
9
|
+
}
|
|
10
|
+
ngOnInit() {
|
|
11
|
+
if (isPlatformBrowser(this.platformId)) {
|
|
12
|
+
if ("IntersectionObserver" in window) {
|
|
13
|
+
const elementObserver = new IntersectionObserver((entries, observer) => {
|
|
14
|
+
entries.forEach((entry) => {
|
|
15
|
+
this.event.emit(entry.isIntersecting);
|
|
16
|
+
});
|
|
17
|
+
}, this.options);
|
|
18
|
+
elementObserver.observe(this.element.nativeElement);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
console.error('ftObserveIntersecting not available in this browser.');
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
ObserveIntersectingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ObserveIntersectingDirective, deps: [{ token: i0.ElementRef }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Directive });
|
|
27
|
+
ObserveIntersectingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.0", type: ObserveIntersectingDirective, selector: "[ftObserveIntersecting]", inputs: { options: ["ftObserveIntersectingOptions", "options"] }, outputs: { event: "ftObserveIntersecting" }, ngImport: i0 });
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ObserveIntersectingDirective, decorators: [{
|
|
29
|
+
type: Directive,
|
|
30
|
+
args: [{
|
|
31
|
+
selector: '[ftObserveIntersecting]'
|
|
32
|
+
}]
|
|
33
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: Object, decorators: [{
|
|
34
|
+
type: Inject,
|
|
35
|
+
args: [PLATFORM_ID]
|
|
36
|
+
}] }]; }, propDecorators: { options: [{
|
|
37
|
+
type: Input,
|
|
38
|
+
args: ['ftObserveIntersectingOptions']
|
|
39
|
+
}], event: [{
|
|
40
|
+
type: Output,
|
|
41
|
+
args: ['ftObserveIntersecting']
|
|
42
|
+
}] } });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2ZS1pbnRlcnNlY3RpbmcuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9kaXNwbGF5L29ic2VydmUtaW50ZXJzZWN0aW5nLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxNQUFNLEVBQUUsS0FBSyxFQUFjLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBTXBELE1BQU0sT0FBTyw0QkFBNEI7SUFNdkMsWUFDVSxPQUFtQixFQUNFLFVBQWtCO1FBRHZDLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDRSxlQUFVLEdBQVYsVUFBVSxDQUFRO1FBSmpELFVBQUssR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUs5QyxDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3RDLElBQUksc0JBQXNCLElBQUksTUFBTSxFQUFFO2dCQUNwQyxNQUFNLGVBQWUsR0FBRyxJQUFJLG9CQUFvQixDQUFDLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFO29CQUNyRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7d0JBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztvQkFDeEMsQ0FBQyxDQUFDLENBQUM7Z0JBQ0wsQ0FBQyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDakIsZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQ3JEO2lCQUFNO2dCQUNMLE9BQU8sQ0FBQyxLQUFLLENBQUMsc0RBQXNELENBQUMsQ0FBQzthQUN2RTtTQUNGO0lBQ0gsQ0FBQzs7eUhBeEJVLDRCQUE0Qiw0Q0FRN0IsV0FBVzs2R0FSViw0QkFBNEI7MkZBQTVCLDRCQUE0QjtrQkFIeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUseUJBQXlCO2lCQUNwQzttRkFTNEMsTUFBTTswQkFBOUMsTUFBTTsyQkFBQyxXQUFXOzRDQU5yQixPQUFPO3NCQUROLEtBQUs7dUJBQUMsOEJBQThCO2dCQUdyQyxLQUFLO3NCQURKLE1BQU07dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgT3V0cHV0LCBJbnB1dCwgRWxlbWVudFJlZiwgSW5qZWN0LCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5kZWNsYXJlIHZhciB3aW5kb3c6IGFueTtcbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tmdE9ic2VydmVJbnRlcnNlY3RpbmddJ1xufSlcbmV4cG9ydCBjbGFzcyBPYnNlcnZlSW50ZXJzZWN0aW5nRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCdmdE9ic2VydmVJbnRlcnNlY3RpbmdPcHRpb25zJylcbiAgb3B0aW9ucyE6IHsgcm9vdDogYW55LCByb290TWFyZ2luOiBhbnksIHRocmVzaG9sZDogYW55IH07XG4gIEBPdXRwdXQoJ2Z0T2JzZXJ2ZUludGVyc2VjdGluZycpXG4gIGV2ZW50OiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmLFxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogT2JqZWN0XG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgIGlmIChcIkludGVyc2VjdGlvbk9ic2VydmVyXCIgaW4gd2luZG93KSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRPYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoZW50cmllcywgb2JzZXJ2ZXIpID0+IHtcbiAgICAgICAgICBlbnRyaWVzLmZvckVhY2goKGVudHJ5KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmV2ZW50LmVtaXQoZW50cnkuaXNJbnRlcnNlY3RpbmcpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9LCB0aGlzLm9wdGlvbnMpO1xuICAgICAgICBlbGVtZW50T2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdmdE9ic2VydmVJbnRlcnNlY3Rpbmcgbm90IGF2YWlsYWJsZSBpbiB0aGlzIGJyb3dzZXIuJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
|