@factor_ec/ui 1.0.17 → 2.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.
Files changed (65) hide show
  1. package/README.md +1 -1
  2. package/esm2020/lib/io/avatar/avatar.component.mjs +74 -0
  3. package/esm2020/lib/io/icon/icon.component.mjs +97 -0
  4. package/esm2020/lib/io/image/image.component.mjs +80 -0
  5. package/esm2020/lib/io/io.module.mjs +81 -0
  6. package/esm2020/lib/io/listview/listview.component.mjs +11 -0
  7. package/esm2020/lib/io/message/message.component.mjs +30 -0
  8. package/esm2020/lib/io/message-content/message-content.component.mjs +19 -0
  9. package/esm2020/lib/io/message.service.mjs +58 -0
  10. package/esm2020/lib/io/observe-intersecting.directive.mjs +43 -0
  11. package/esm2020/lib/io/progress/progress.component.mjs +42 -0
  12. package/esm2020/lib/io/progress.service.mjs +48 -0
  13. package/esm2020/lib/io/rating/rating.component.mjs +60 -0
  14. package/esm2020/lib/io/timeline/timeline.component.mjs +101 -0
  15. package/esm2020/lib/models/task.mjs +2 -0
  16. package/esm2020/lib/navigation/list/list.component.mjs +7 -7
  17. package/esm2020/lib/navigation/navbar/navbar.component.mjs +11 -13
  18. package/esm2020/lib/navigation/navigation.module.mjs +18 -18
  19. package/esm2020/lib/navigation/searchbox/searchbox.component.mjs +7 -20
  20. package/esm2020/lib/navigation/toolbar/toolbar.component.mjs +10 -10
  21. package/esm2020/lib/ui.module.mjs +12 -27
  22. package/esm2020/public-api.mjs +15 -13
  23. package/fesm2015/factor_ec-ui.mjs +248 -192
  24. package/fesm2015/factor_ec-ui.mjs.map +1 -1
  25. package/fesm2020/factor_ec-ui.mjs +248 -192
  26. package/fesm2020/factor_ec-ui.mjs.map +1 -1
  27. package/lib/{display → io}/avatar/avatar.component.d.ts +2 -3
  28. package/lib/{display → io}/icon/icon.component.d.ts +2 -3
  29. package/lib/{display → io}/image/image.component.d.ts +3 -3
  30. package/lib/io/io.module.d.ts +20 -0
  31. package/lib/io/listview/listview.component.d.ts +5 -0
  32. package/lib/{display → io}/message/message.component.d.ts +3 -3
  33. package/lib/io/message-content/message-content.component.d.ts +7 -0
  34. package/lib/{display → io}/message.service.d.ts +1 -1
  35. package/lib/{display → io}/observe-intersecting.directive.d.ts +3 -3
  36. package/lib/{display → io}/progress/progress.component.d.ts +2 -3
  37. package/lib/{display → io}/progress.service.d.ts +3 -3
  38. package/lib/{inputs → io}/rating/rating.component.d.ts +2 -4
  39. package/lib/io/timeline/timeline.component.d.ts +18 -0
  40. package/lib/models/task.d.ts +10 -0
  41. package/lib/navigation/list/list.component.d.ts +1 -1
  42. package/lib/navigation/navbar/navbar.component.d.ts +3 -7
  43. package/lib/navigation/navigation.module.d.ts +4 -4
  44. package/lib/navigation/searchbox/searchbox.component.d.ts +5 -5
  45. package/lib/navigation/toolbar/toolbar.component.d.ts +2 -3
  46. package/lib/ui.module.d.ts +3 -7
  47. package/package.json +5 -5
  48. package/public-api.d.ts +14 -12
  49. package/esm2020/lib/display/avatar/avatar.component.mjs +0 -74
  50. package/esm2020/lib/display/content/content.component.mjs +0 -19
  51. package/esm2020/lib/display/display.module.mjs +0 -66
  52. package/esm2020/lib/display/icon/icon.component.mjs +0 -97
  53. package/esm2020/lib/display/image/image.component.mjs +0 -80
  54. package/esm2020/lib/display/message/message.component.mjs +0 -30
  55. package/esm2020/lib/display/message.service.mjs +0 -58
  56. package/esm2020/lib/display/observe-intersecting.directive.mjs +0 -43
  57. package/esm2020/lib/display/progress/progress.component.mjs +0 -42
  58. package/esm2020/lib/display/progress.service.mjs +0 -50
  59. package/esm2020/lib/inputs/inputs.module.mjs +0 -24
  60. package/esm2020/lib/inputs/rating/rating.component.mjs +0 -73
  61. package/esm2020/lib/models/module-configuration.mjs +0 -2
  62. package/lib/display/content/content.component.d.ts +0 -7
  63. package/lib/display/display.module.d.ts +0 -17
  64. package/lib/inputs/inputs.module.d.ts +0 -8
  65. package/lib/models/module-configuration.d.ts +0 -6
@@ -0,0 +1,18 @@
1
+ import { Task } from '../../models/task';
2
+ import * as i0 from "@angular/core";
3
+ export declare class TimelineComponent {
4
+ startDate: Date | string;
5
+ data: Task[];
6
+ currentDate: number;
7
+ dataParsed: any;
8
+ class: string;
9
+ get hostClasses(): string;
10
+ constructor();
11
+ ngOnInit(): void;
12
+ addMonth(date: Date): void;
13
+ calcStartDate(): Date;
14
+ getMonth(month: number, year: number): any;
15
+ parseTasks(): void;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<TimelineComponent, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<TimelineComponent, "ft-timeline", never, { "data": "data"; "class": "class"; }, {}, never, never, false, never>;
18
+ }
@@ -0,0 +1,10 @@
1
+ export interface Task {
2
+ id: string;
3
+ label: string;
4
+ type: 'task' | 'milestone';
5
+ startAt?: Date | string;
6
+ endAt?: Date | string;
7
+ class?: string;
8
+ color?: string;
9
+ children?: Task[];
10
+ }
@@ -17,5 +17,5 @@ export declare class ListComponent {
17
17
  setItem(item: Action): void;
18
18
  toggleCollapsible(action: Action): void;
19
19
  static ɵfac: i0.ɵɵFactoryDeclaration<ListComponent, never>;
20
- static ɵcmp: i0.ɵɵComponentDeclaration<ListComponent, "ft-list", never, { "iconCollection": "iconCollection"; "iconNameField": "iconNameField"; "iconPath": "iconPath"; "labelField": "labelField"; "items": "items"; "class": "class"; }, { "change": "change"; }, never, never, false>;
20
+ static ɵcmp: i0.ɵɵComponentDeclaration<ListComponent, "ft-list", never, { "iconCollection": "iconCollection"; "iconNameField": "iconNameField"; "iconPath": "iconPath"; "labelField": "labelField"; "items": "items"; "class": "class"; }, { "change": "change"; }, never, never, false, never>;
21
21
  }
@@ -1,9 +1,6 @@
1
- import { OnInit } from '@angular/core';
2
- import { Router } from '@angular/router';
3
1
  import { Action } from '../../models/action';
4
2
  import * as i0 from "@angular/core";
5
- export declare class NavbarComponent implements OnInit {
6
- private router;
3
+ export declare class NavbarComponent {
7
4
  iconCollection: string;
8
5
  iconNameField: string;
9
6
  labelField: string;
@@ -12,12 +9,11 @@ export declare class NavbarComponent implements OnInit {
12
9
  position: 'top' | 'right' | 'bottom' | 'left' | 'auto';
13
10
  class: string;
14
11
  get hostClasses(): string;
15
- constructor(router: Router);
16
- ngOnInit(): void;
12
+ constructor();
17
13
  getComponentType(item: Action): string;
18
14
  setItem(item: Action): void;
19
15
  toggleCollapsible(action: Action): void;
20
16
  trackByItem(index: number, item: Action): string;
21
17
  static ɵfac: i0.ɵɵFactoryDeclaration<NavbarComponent, never>;
22
- static ɵcmp: i0.ɵɵComponentDeclaration<NavbarComponent, "ft-navbar", never, { "iconCollection": "iconCollection"; "iconNameField": "iconNameField"; "labelField": "labelField"; "labelPlacement": "labelPlacement"; "items": "items"; "position": "position"; "class": "class"; }, {}, never, ["[ftStart]", "[ftEnd]"], false>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<NavbarComponent, "ft-navbar", never, { "iconCollection": "iconCollection"; "iconNameField": "iconNameField"; "labelField": "labelField"; "labelPlacement": "labelPlacement"; "items": "items"; "position": "position"; "class": "class"; }, {}, never, ["[ftStart]", "[ftEnd]"], false, never>;
23
19
  }
@@ -4,12 +4,12 @@ import * as i2 from "./navbar/navbar.component";
4
4
  import * as i3 from "./toolbar/toolbar.component";
5
5
  import * as i4 from "./searchbox/searchbox.component";
6
6
  import * as i5 from "@angular/common";
7
- import * as i6 from "../display/display.module";
7
+ import * as i6 from "../io/io.module";
8
8
  import * as i7 from "@angular/router";
9
- import * as i8 from "@angular/material/menu";
10
- import * as i9 from "@angular/material/button";
9
+ import * as i8 from "@angular/material/button";
10
+ import * as i9 from "@angular/material/menu";
11
11
  export declare class NavigationModule {
12
12
  static ɵfac: i0.ɵɵFactoryDeclaration<NavigationModule, never>;
13
- static ɵmod: i0.ɵɵNgModuleDeclaration<NavigationModule, [typeof i1.ListComponent, typeof i2.NavbarComponent, typeof i3.ToolbarComponent, typeof i4.SearchboxComponent], [typeof i5.CommonModule, typeof i6.DisplayModule, typeof i7.RouterModule, typeof i8.MatMenuModule, typeof i9.MatButtonModule], [typeof i1.ListComponent, typeof i2.NavbarComponent, typeof i3.ToolbarComponent, typeof i4.SearchboxComponent]>;
13
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NavigationModule, [typeof i1.ListComponent, typeof i2.NavbarComponent, typeof i3.ToolbarComponent, typeof i4.SearchboxComponent], [typeof i5.CommonModule, typeof i6.IoModule, typeof i7.RouterModule, typeof i8.MatButtonModule, typeof i9.MatMenuModule], [typeof i1.ListComponent, typeof i2.NavbarComponent, typeof i3.ToolbarComponent, typeof i4.SearchboxComponent]>;
14
14
  static ɵinj: i0.ɵɵInjectorDeclaration<NavigationModule>;
15
15
  }
@@ -1,9 +1,9 @@
1
- import { OnInit, ElementRef, EventEmitter } from '@angular/core';
1
+ import { ElementRef, EventEmitter } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- export declare class SearchboxComponent implements OnInit {
3
+ export declare class SearchboxComponent {
4
4
  /**
5
- * Clase o clases asignadas al componente
6
- */
5
+ * Clase o clases asignadas al componente
6
+ */
7
7
  input: ElementRef<any>;
8
8
  inputPlaceholder: ElementRef<any>;
9
9
  disabled: boolean;
@@ -30,5 +30,5 @@ export declare class SearchboxComponent implements OnInit {
30
30
  updateValue(event: any): void;
31
31
  writeValue(value: string): void;
32
32
  static ɵfac: i0.ɵɵFactoryDeclaration<SearchboxComponent, never>;
33
- static ɵcmp: i0.ɵɵComponentDeclaration<SearchboxComponent, "ft-searchbox", never, { "placeholder": "placeholder"; "class": "class"; "show": "show"; "value": "value"; }, { "execute": "execute"; "showChange": "showChange"; }, never, never, false>;
33
+ static ɵcmp: i0.ɵɵComponentDeclaration<SearchboxComponent, "ft-searchbox", never, { "placeholder": "placeholder"; "class": "class"; "show": "show"; "value": "value"; }, { "execute": "execute"; "showChange": "showChange"; }, never, never, false, never>;
34
34
  }
@@ -1,7 +1,6 @@
1
- import { OnInit } from '@angular/core';
2
1
  import { Action } from '../../models/action';
3
2
  import * as i0 from "@angular/core";
4
- export declare class ToolbarComponent implements OnInit {
3
+ export declare class ToolbarComponent {
5
4
  actionOptions: Action[];
6
5
  currentTitleOption: Action;
7
6
  title: string;
@@ -14,5 +13,5 @@ export declare class ToolbarComponent implements OnInit {
14
13
  ngOnInit(): void;
15
14
  setOverlapped(overlapped: boolean): void;
16
15
  static ɵfac: i0.ɵɵFactoryDeclaration<ToolbarComponent, never>;
17
- static ɵcmp: i0.ɵɵComponentDeclaration<ToolbarComponent, "ft-toolbar", never, { "actionOptions": "actionOptions"; "currentTitleOption": "currentTitleOption"; "title": "title"; "titleOptions": "titleOptions"; "class": "class"; }, {}, never, never, false>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<ToolbarComponent, "ft-toolbar", never, { "actionOptions": "actionOptions"; "currentTitleOption": "currentTitleOption"; "title": "title"; "titleOptions": "titleOptions"; "class": "class"; }, {}, never, never, false, never>;
18
17
  }
@@ -1,13 +1,9 @@
1
- import { ModuleWithProviders } from '@angular/core';
2
- import { ModuleConfiguration } from './models/module-configuration';
3
1
  import * as i0 from "@angular/core";
4
2
  import * as i1 from "@angular/common";
5
- import * as i2 from "./display/display.module";
6
- import * as i3 from "./inputs/inputs.module";
7
- import * as i4 from "./navigation/navigation.module";
3
+ import * as i2 from "./io/io.module";
4
+ import * as i3 from "./navigation/navigation.module";
8
5
  export declare class UiModule {
9
- static forRoot(configuration?: ModuleConfiguration): ModuleWithProviders<UiModule>;
10
6
  static ɵfac: i0.ɵɵFactoryDeclaration<UiModule, never>;
11
- static ɵmod: i0.ɵɵNgModuleDeclaration<UiModule, never, [typeof i1.CommonModule, typeof i2.DisplayModule, typeof i3.InputsModule, typeof i4.NavigationModule], [typeof i2.DisplayModule, typeof i3.InputsModule, typeof i4.NavigationModule]>;
7
+ static ɵmod: i0.ɵɵNgModuleDeclaration<UiModule, never, [typeof i1.CommonModule, typeof i2.IoModule, typeof i3.NavigationModule], [typeof i2.IoModule, typeof i3.NavigationModule]>;
12
8
  static ɵinj: i0.ɵɵInjectorDeclaration<UiModule>;
13
9
  }
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@factor_ec/ui",
3
- "version": "1.0.17",
3
+ "version": "2.0.0",
4
4
  "license": "CC-BY-NC-ND-4.0",
5
5
  "author": "Factor",
6
6
  "private": false,
7
7
  "peerDependencies": {
8
- "@angular/common": "^14.0.0",
9
- "@angular/core": "^14.0.0",
10
- "@angular/material": "^14.0.1",
11
- "@factor_ec/utils": "^1.0.1"
8
+ "@angular/common": "^15.0.0",
9
+ "@angular/core": "^15.0.0",
10
+ "@angular/material": "^15.0.1",
11
+ "@factor_ec/utils": "^2.0.0"
12
12
  },
13
13
  "dependencies": {
14
14
  "tslib": "^2.3.0"
package/public-api.d.ts CHANGED
@@ -1,15 +1,17 @@
1
- export * from './lib/display/avatar/avatar.component';
2
- export * from './lib/display/icon/icon.component';
3
- export * from './lib/display/image/image.component';
4
- export * from './lib/display/content/content.component';
5
- export * from './lib/display/message/message.component';
6
- export * from './lib/display/message.service';
7
- export * from './lib/display/progress/progress.component';
8
- export * from './lib/display/progress.service';
9
- export * from './lib/display/observe-intersecting.directive';
10
- export * from './lib/display/display.module';
11
- export * from './lib/inputs/rating/rating.component';
12
- export * from './lib/inputs/inputs.module';
1
+ export * from './lib/io/avatar/avatar.component';
2
+ export * from './lib/io/icon/icon.component';
3
+ export * from './lib/io/image/image.component';
4
+ export * from './lib/io/message-content/message-content.component';
5
+ export * from './lib/io/message/message.component';
6
+ export * from './lib/io/message.service';
7
+ export * from './lib/io/progress/progress.component';
8
+ export * from './lib/io/progress.service';
9
+ export * from './lib/io/observe-intersecting.directive';
10
+ export * from './lib/io/io.module';
11
+ export * from './lib/io/rating/rating.component';
12
+ export * from './lib/io/timeline/timeline.component';
13
+ export * from './lib/io/listview/listview.component';
14
+ export * from './lib/io/io.module';
13
15
  export * from './lib/navigation/list/list.component';
14
16
  export * from './lib/navigation/navbar/navbar.component';
15
17
  export * from './lib/navigation/searchbox/searchbox.component';
@@ -1,74 +0,0 @@
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
@@ -1,19 +0,0 @@
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==
@@ -1,66 +0,0 @@
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
@@ -1,97 +0,0 @@
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
@@ -1,80 +0,0 @@
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==