iptdevs-design-system 2.2.4 → 2.2.7

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 (82) hide show
  1. package/README.md +24 -24
  2. package/esm2020/iptdevs-design-system.mjs +5 -5
  3. package/esm2020/lib/components/atoms/aside-button/aside-button.component.mjs +50 -50
  4. package/esm2020/lib/components/atoms/button/button.component.mjs +66 -64
  5. package/esm2020/lib/components/atoms/checkbox/checkbox.component.mjs +47 -47
  6. package/esm2020/lib/components/atoms/datalist/datalist.component.mjs +88 -88
  7. package/esm2020/lib/components/atoms/input/input.component.mjs +109 -109
  8. package/esm2020/lib/components/atoms/level-button/level-button.component.mjs +64 -64
  9. package/esm2020/lib/components/atoms/level-text/level-text.component.mjs +19 -19
  10. package/esm2020/lib/components/atoms/radio/radio.component.mjs +47 -47
  11. package/esm2020/lib/components/atoms/select/select.component.mjs +87 -87
  12. package/esm2020/lib/components/atoms/text-link/text-link.component.mjs +39 -39
  13. package/esm2020/lib/components/components.module.mjs +96 -96
  14. package/esm2020/lib/components/forms/login-form/login-form.component.mjs +93 -93
  15. package/esm2020/lib/components/material.module.mjs +18 -18
  16. package/esm2020/lib/components/molecules/sidenav/sidenav.component.mjs +146 -146
  17. package/esm2020/lib/core/core.module.mjs +37 -46
  18. package/esm2020/lib/core/models/budget/budget.model.mjs +2 -2
  19. package/esm2020/lib/core/models/cod/cod-rq.model.mjs +2 -2
  20. package/esm2020/lib/core/models/course/course-rq.model.mjs +2 -2
  21. package/esm2020/lib/core/models/marketing/marketing.modal.mjs +2 -2
  22. package/esm2020/lib/core/models/session/session.model.mjs +3 -3
  23. package/esm2020/lib/core/models/table/table-rs.model.mjs +2 -2
  24. package/esm2020/lib/core/models/test/test.model.mjs +2 -2
  25. package/esm2020/lib/core/models/url/url.model.mjs +2 -2
  26. package/esm2020/lib/core/models/user/user-rq.model.mjs +2 -2
  27. package/esm2020/lib/core/models/user/user-rs.model.mjs +5 -5
  28. package/esm2020/lib/core/services/course-service/course-service.model.mjs +56 -56
  29. package/esm2020/lib/core/services/parameters-service/parameters.service.mjs +82 -110
  30. package/esm2020/lib/core/services/storage-service/storage-service.mjs +50 -50
  31. package/esm2020/lib/core/services/switch-service/switch.service.mjs +16 -16
  32. package/esm2020/lib/core/services/user-service/user-service.mjs +60 -74
  33. package/esm2020/lib/core/utils/base-service/base.service.mjs +153 -153
  34. package/esm2020/lib/core/utils/route-service/route.service.mjs +18 -18
  35. package/esm2020/lib/design-system.module.mjs +29 -29
  36. package/esm2020/public-api.mjs +40 -43
  37. package/fesm2015/iptdevs-design-system.mjs +1328 -1595
  38. package/fesm2015/iptdevs-design-system.mjs.map +1 -1
  39. package/fesm2020/iptdevs-design-system.mjs +1325 -1592
  40. package/fesm2020/iptdevs-design-system.mjs.map +1 -1
  41. package/iptdevs-design-system.d.ts +5 -5
  42. package/lib/components/atoms/aside-button/aside-button.component.d.ts +11 -11
  43. package/lib/components/atoms/button/button.component.d.ts +13 -13
  44. package/lib/components/atoms/checkbox/checkbox.component.d.ts +11 -11
  45. package/lib/components/atoms/datalist/datalist.component.d.ts +20 -20
  46. package/lib/components/atoms/input/input.component.d.ts +17 -17
  47. package/lib/components/atoms/level-button/level-button.component.d.ts +11 -11
  48. package/lib/components/atoms/level-text/level-text.component.d.ts +7 -7
  49. package/lib/components/atoms/radio/radio.component.d.ts +11 -11
  50. package/lib/components/atoms/select/select.component.d.ts +23 -23
  51. package/lib/components/atoms/text-link/text-link.component.d.ts +12 -12
  52. package/lib/components/components.module.d.ts +22 -22
  53. package/lib/components/forms/login-form/login-form.component.d.ts +13 -13
  54. package/lib/components/material.module.d.ts +10 -10
  55. package/lib/components/molecules/sidenav/sidenav.component.d.ts +22 -22
  56. package/lib/core/core.module.d.ts +6 -6
  57. package/lib/core/models/budget/budget.model.d.ts +69 -69
  58. package/lib/core/models/cod/cod-rq.model.d.ts +51 -51
  59. package/lib/core/models/course/course-rq.model.d.ts +77 -77
  60. package/lib/core/models/marketing/marketing.modal.d.ts +104 -104
  61. package/lib/core/models/session/session.model.d.ts +5 -5
  62. package/lib/core/models/table/table-rs.model.d.ts +7 -7
  63. package/lib/core/models/test/test.model.d.ts +213 -213
  64. package/lib/core/models/url/url.model.d.ts +8 -8
  65. package/lib/core/models/user/user-rq.model.d.ts +68 -68
  66. package/lib/core/models/user/user-rs.model.d.ts +35 -35
  67. package/lib/core/services/course-service/course-service.model.d.ts +19 -19
  68. package/lib/core/services/parameters-service/parameters.service.d.ts +26 -33
  69. package/lib/core/services/storage-service/storage-service.d.ts +18 -18
  70. package/lib/core/services/switch-service/switch.service.d.ts +8 -8
  71. package/lib/core/services/user-service/user-service.d.ts +20 -24
  72. package/lib/core/utils/base-service/base.service.d.ts +18 -18
  73. package/lib/core/utils/route-service/route.service.d.ts +9 -9
  74. package/lib/design-system.module.d.ts +8 -8
  75. package/package.json +1 -1
  76. package/public-api.d.ts +32 -35
  77. package/esm2020/lib/core/services/budget-service/budget-service.mjs +0 -41
  78. package/esm2020/lib/core/services/marketing-service/marketing-service.mjs +0 -57
  79. package/esm2020/lib/core/services/test-service/test.service.mjs +0 -135
  80. package/lib/core/services/budget-service/budget-service.d.ts +0 -16
  81. package/lib/core/services/marketing-service/marketing-service.d.ts +0 -20
  82. package/lib/core/services/test-service/test.service.d.ts +0 -35
@@ -17,1653 +17,1386 @@ import { MatListModule } from '@angular/material/list';
17
17
  import { MatIconModule } from '@angular/material/icon';
18
18
  import * as i1$3 from '@angular/router';
19
19
 
20
- class AsideButtonComponent {
21
- constructor() {
22
- this.isClicked = new EventEmitter();
23
- }
24
- clickAction() {
25
- this.isClicked.emit(true);
26
- }
27
- }
28
- AsideButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: AsideButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
29
- AsideButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: AsideButtonComponent, selector: "ipt-aside-button", inputs: { icon: "icon", text: "text", buttonActive: "buttonActive" }, outputs: { isClicked: "isClicked" }, ngImport: i0, template: `
30
- <div [ngSwitch]="buttonActive">
31
- <a *ngSwitchCase="0" class="flex-item-menu__link" (click)="clickAction()">
32
- <img src="{{ icon }}" alt="icon_url" />
33
- <p>{{ text }}</p>
34
- </a>
35
-
36
- <a *ngSwitchCase="1" class="flex-item-menu__link flex-item-active" (click)="clickAction()">
37
- <img src="{{ icon }}" alt="icon_url" />
38
- <p>{{ text }}</p>
39
- </a>
40
- </div>
41
- `, isInline: true, styles: ["*{font-family:Poppins,sans-serif}@media (min-width: 320px){.flex-item-menu__link{cursor:pointer;width:-webkit-fill-available;width:-moz-available;text-decoration:none;display:flex;justify-items:center;padding:.4rem 1rem;transition:all .3s ease 0s;border-radius:30px;margin:15px}.flex-item-menu__link img{cursor:pointer;width:1.4rem;height:1.4rem}.flex-item-menu__link p{cursor:pointer;display:inline;font-weight:500;font-family:Poppins,sans-serif;font-size:.8rem;padding:0 .8rem;margin:auto 0;color:#fff}a:hover,a:focus,.flex-item-menu__link:hover,.flex-item-menu__link p:focus{color:#fff;background-color:#ffffff4f;-webkit-backdrop-filter:blur(100px);backdrop-filter:blur(100px);box-shadow:#0006 0 30px 90px;border-radius:50px}.flex-item-img{width:2.5rem;height:2.5rem;padding:.4rem}.flex-item-active{box-shadow:#0006 0 30px 90px;background:transparent;border:1px solid white}}@media (min-width: 1024px){.flex-item-menu__link{padding:.4rem 1rem}.flex-item-menu__link:focus{border:1px solid white}.flex-item-menu__link img{cursor:pointer;width:1.6rem;height:1.6rem}.flex-item-menu__link p{font-size:1rem;color:#fff}a:hover,a:focus,.flex-item-menu__link:hover,.flex-item-menu__link p:focus{color:#fff;background-color:#ffffff4f;-webkit-backdrop-filter:blur(100px);backdrop-filter:blur(100px);box-shadow:#0006 0 30px 90px}.flex-item-img{width:2.5rem;height:2.5rem;padding:.4rem}}\n"], directives: [{ type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: AsideButtonComponent, decorators: [{
43
- type: Component,
44
- args: [{ selector: 'ipt-aside-button', template: `
45
- <div [ngSwitch]="buttonActive">
46
- <a *ngSwitchCase="0" class="flex-item-menu__link" (click)="clickAction()">
47
- <img src="{{ icon }}" alt="icon_url" />
48
- <p>{{ text }}</p>
49
- </a>
50
-
51
- <a *ngSwitchCase="1" class="flex-item-menu__link flex-item-active" (click)="clickAction()">
52
- <img src="{{ icon }}" alt="icon_url" />
53
- <p>{{ text }}</p>
54
- </a>
55
- </div>
56
- `, styles: ["*{font-family:Poppins,sans-serif}@media (min-width: 320px){.flex-item-menu__link{cursor:pointer;width:-webkit-fill-available;width:-moz-available;text-decoration:none;display:flex;justify-items:center;padding:.4rem 1rem;transition:all .3s ease 0s;border-radius:30px;margin:15px}.flex-item-menu__link img{cursor:pointer;width:1.4rem;height:1.4rem}.flex-item-menu__link p{cursor:pointer;display:inline;font-weight:500;font-family:Poppins,sans-serif;font-size:.8rem;padding:0 .8rem;margin:auto 0;color:#fff}a:hover,a:focus,.flex-item-menu__link:hover,.flex-item-menu__link p:focus{color:#fff;background-color:#ffffff4f;-webkit-backdrop-filter:blur(100px);backdrop-filter:blur(100px);box-shadow:#0006 0 30px 90px;border-radius:50px}.flex-item-img{width:2.5rem;height:2.5rem;padding:.4rem}.flex-item-active{box-shadow:#0006 0 30px 90px;background:transparent;border:1px solid white}}@media (min-width: 1024px){.flex-item-menu__link{padding:.4rem 1rem}.flex-item-menu__link:focus{border:1px solid white}.flex-item-menu__link img{cursor:pointer;width:1.6rem;height:1.6rem}.flex-item-menu__link p{font-size:1rem;color:#fff}a:hover,a:focus,.flex-item-menu__link:hover,.flex-item-menu__link p:focus{color:#fff;background-color:#ffffff4f;-webkit-backdrop-filter:blur(100px);backdrop-filter:blur(100px);box-shadow:#0006 0 30px 90px}.flex-item-img{width:2.5rem;height:2.5rem;padding:.4rem}}\n"] }]
57
- }], propDecorators: { icon: [{
58
- type: Input
59
- }], text: [{
60
- type: Input
61
- }], buttonActive: [{
62
- type: Input
63
- }], isClicked: [{
64
- type: Output
20
+ class AsideButtonComponent {
21
+ constructor() {
22
+ this.isClicked = new EventEmitter();
23
+ }
24
+ clickAction() {
25
+ this.isClicked.emit(true);
26
+ }
27
+ }
28
+ AsideButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: AsideButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
29
+ AsideButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: AsideButtonComponent, selector: "ipt-aside-button", inputs: { icon: "icon", text: "text", buttonActive: "buttonActive" }, outputs: { isClicked: "isClicked" }, ngImport: i0, template: `
30
+ <div [ngSwitch]="buttonActive">
31
+ <a *ngSwitchCase="0" class="flex-item-menu__link" (click)="clickAction()">
32
+ <img src="{{ icon }}" alt="icon_url" />
33
+ <p>{{ text }}</p>
34
+ </a>
35
+
36
+ <a *ngSwitchCase="1" class="flex-item-menu__link flex-item-active" (click)="clickAction()">
37
+ <img src="{{ icon }}" alt="icon_url" />
38
+ <p>{{ text }}</p>
39
+ </a>
40
+ </div>
41
+ `, isInline: true, styles: ["*{font-family:Poppins,sans-serif}@media (min-width: 320px){.flex-item-menu__link{cursor:pointer;width:-webkit-fill-available;width:-moz-available;text-decoration:none;display:flex;justify-items:center;padding:.4rem 1rem;transition:all .3s ease 0s;border-radius:30px;margin:15px}.flex-item-menu__link img{cursor:pointer;width:1.4rem;height:1.4rem}.flex-item-menu__link p{cursor:pointer;display:inline;font-weight:500;font-family:Poppins,sans-serif;font-size:.8rem;padding:0 .8rem;margin:auto 0;color:#fff}a:hover,a:focus,.flex-item-menu__link:hover,.flex-item-menu__link p:focus{color:#fff;background-color:#ffffff4f;-webkit-backdrop-filter:blur(100px);backdrop-filter:blur(100px);box-shadow:#0006 0 30px 90px;border-radius:50px}.flex-item-img{width:2.5rem;height:2.5rem;padding:.4rem}.flex-item-active{box-shadow:#0006 0 30px 90px;background:transparent;border:1px solid white}}@media (min-width: 1024px){.flex-item-menu__link{padding:.4rem 1rem}.flex-item-menu__link:focus{border:1px solid white}.flex-item-menu__link img{cursor:pointer;width:1.6rem;height:1.6rem}.flex-item-menu__link p{font-size:1rem;color:#fff}a:hover,a:focus,.flex-item-menu__link:hover,.flex-item-menu__link p:focus{color:#fff;background-color:#ffffff4f;-webkit-backdrop-filter:blur(100px);backdrop-filter:blur(100px);box-shadow:#0006 0 30px 90px}.flex-item-img{width:2.5rem;height:2.5rem;padding:.4rem}}\n"], directives: [{ type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: AsideButtonComponent, decorators: [{
43
+ type: Component,
44
+ args: [{ selector: 'ipt-aside-button', template: `
45
+ <div [ngSwitch]="buttonActive">
46
+ <a *ngSwitchCase="0" class="flex-item-menu__link" (click)="clickAction()">
47
+ <img src="{{ icon }}" alt="icon_url" />
48
+ <p>{{ text }}</p>
49
+ </a>
50
+
51
+ <a *ngSwitchCase="1" class="flex-item-menu__link flex-item-active" (click)="clickAction()">
52
+ <img src="{{ icon }}" alt="icon_url" />
53
+ <p>{{ text }}</p>
54
+ </a>
55
+ </div>
56
+ `, styles: ["*{font-family:Poppins,sans-serif}@media (min-width: 320px){.flex-item-menu__link{cursor:pointer;width:-webkit-fill-available;width:-moz-available;text-decoration:none;display:flex;justify-items:center;padding:.4rem 1rem;transition:all .3s ease 0s;border-radius:30px;margin:15px}.flex-item-menu__link img{cursor:pointer;width:1.4rem;height:1.4rem}.flex-item-menu__link p{cursor:pointer;display:inline;font-weight:500;font-family:Poppins,sans-serif;font-size:.8rem;padding:0 .8rem;margin:auto 0;color:#fff}a:hover,a:focus,.flex-item-menu__link:hover,.flex-item-menu__link p:focus{color:#fff;background-color:#ffffff4f;-webkit-backdrop-filter:blur(100px);backdrop-filter:blur(100px);box-shadow:#0006 0 30px 90px;border-radius:50px}.flex-item-img{width:2.5rem;height:2.5rem;padding:.4rem}.flex-item-active{box-shadow:#0006 0 30px 90px;background:transparent;border:1px solid white}}@media (min-width: 1024px){.flex-item-menu__link{padding:.4rem 1rem}.flex-item-menu__link:focus{border:1px solid white}.flex-item-menu__link img{cursor:pointer;width:1.6rem;height:1.6rem}.flex-item-menu__link p{font-size:1rem;color:#fff}a:hover,a:focus,.flex-item-menu__link:hover,.flex-item-menu__link p:focus{color:#fff;background-color:#ffffff4f;-webkit-backdrop-filter:blur(100px);backdrop-filter:blur(100px);box-shadow:#0006 0 30px 90px}.flex-item-img{width:2.5rem;height:2.5rem;padding:.4rem}}\n"] }]
57
+ }], propDecorators: { icon: [{
58
+ type: Input
59
+ }], text: [{
60
+ type: Input
61
+ }], buttonActive: [{
62
+ type: Input
63
+ }], isClicked: [{
64
+ type: Output
65
65
  }] } });
66
66
 
67
- class ButtonComponent {
68
- constructor() {
69
- this.primary = false;
70
- this.size = 'medium';
71
- this.label = 'Button';
72
- this.isEnabled = true;
73
- this.onClick = new EventEmitter();
74
- }
75
- get classes() {
76
- const mode = this.primary && this.isEnabled === true
77
- ? 'ipt-button--primary'
78
- : this.isEnabled === false ? 'ipt-button--primary-disabled'
79
- : 'ipt-button--secondary';
80
- return ['ipt-button', `ipt-button--${this.size}`, mode];
81
- }
82
- }
83
- ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
84
- ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: ButtonComponent, selector: "ipt-button", inputs: { primary: "primary", size: "size", label: "label", buttonType: "buttonType", isEnabled: "isEnabled" }, outputs: { onClick: "onClick" }, ngImport: i0, template: `<button *ngIf="isEnabled"
85
- type="{{ buttonType }}"
86
- (click)="onClick.emit($event)"
87
- [ngClass]="classes"
88
- >
89
- {{ label }}
90
- </button>
91
-
92
- <button *ngIf="!isEnabled"
93
- type="{{ buttonType }}"
94
- [ngClass]="classes"
95
- >
96
- {{ label }}
97
- </button>`, isInline: true, styles: [".ipt-button{font-family:Poppins,sans-serif;font-weight:700;border:0;border-radius:12px;cursor:pointer;display:inline-block;line-height:1;transition:.4s;width:100%;box-shadow:#06182c66 0 0 0 2px,#06182ca6 0 4px 6px -1px,#ffffff14 0 1px inset}.ipt-button:hover{box-shadow:0 10px 20px #1b1b1b80;transform:translateY(-3px)}.ipt-button:active{transform:scale(.99)}.ipt-button--primary{color:#fff;background-color:#1c77f7}.ipt-button--primary-disabled{color:gray;background-color:#fff;border:1px solid gray;box-shadow:none;cursor:not-allowed}.ipt-button--primary-disabled:hover{box-shadow:none;transform:translateY(0)}.ipt-button--secondary{color:#1c77f7;background-color:#fff;box-shadow:#06182c66 0 0 0 2px,#06182ca6 0 4px 6px -1px,#ffffff14 0 1px inset}.ipt-button--small{font-size:12px;padding:10px 16px}.ipt-button--medium{font-size:14px;padding:11px 20px}.ipt-button--large{font-size:16px;padding:12px 24px}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
98
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ButtonComponent, decorators: [{
99
- type: Component,
100
- args: [{ selector: 'ipt-button', template: `<button *ngIf="isEnabled"
101
- type="{{ buttonType }}"
102
- (click)="onClick.emit($event)"
103
- [ngClass]="classes"
104
- >
105
- {{ label }}
106
- </button>
107
-
108
- <button *ngIf="!isEnabled"
109
- type="{{ buttonType }}"
110
- [ngClass]="classes"
111
- >
112
- {{ label }}
113
- </button>`, styles: [".ipt-button{font-family:Poppins,sans-serif;font-weight:700;border:0;border-radius:12px;cursor:pointer;display:inline-block;line-height:1;transition:.4s;width:100%;box-shadow:#06182c66 0 0 0 2px,#06182ca6 0 4px 6px -1px,#ffffff14 0 1px inset}.ipt-button:hover{box-shadow:0 10px 20px #1b1b1b80;transform:translateY(-3px)}.ipt-button:active{transform:scale(.99)}.ipt-button--primary{color:#fff;background-color:#1c77f7}.ipt-button--primary-disabled{color:gray;background-color:#fff;border:1px solid gray;box-shadow:none;cursor:not-allowed}.ipt-button--primary-disabled:hover{box-shadow:none;transform:translateY(0)}.ipt-button--secondary{color:#1c77f7;background-color:#fff;box-shadow:#06182c66 0 0 0 2px,#06182ca6 0 4px 6px -1px,#ffffff14 0 1px inset}.ipt-button--small{font-size:12px;padding:10px 16px}.ipt-button--medium{font-size:14px;padding:11px 20px}.ipt-button--large{font-size:16px;padding:12px 24px}\n"] }]
114
- }], propDecorators: { primary: [{
115
- type: Input
116
- }], size: [{
117
- type: Input
118
- }], label: [{
119
- type: Input
120
- }], buttonType: [{
121
- type: Input
122
- }], isEnabled: [{
123
- type: Input
124
- }], onClick: [{
125
- type: Output
67
+ class ButtonComponent {
68
+ constructor() {
69
+ this.primary = false;
70
+ this.size = 'medium';
71
+ this.label = 'Button';
72
+ this.isEnabled = true;
73
+ this.onClick = new EventEmitter();
74
+ }
75
+ get classes() {
76
+ const mode = this.primary && this.isEnabled === true
77
+ ? 'ipt-button--primary'
78
+ : this.isEnabled === false ? 'ipt-button--primary-disabled'
79
+ : 'ipt-button--secondary';
80
+ return ['ipt-button', `ipt-button--${this.size}`, mode];
81
+ }
82
+ }
83
+ ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
84
+ ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: ButtonComponent, selector: "ipt-button", inputs: { primary: "primary", size: "size", label: "label", buttonType: "buttonType", isEnabled: "isEnabled" }, outputs: { onClick: "onClick" }, ngImport: i0, template: `<button *ngIf="isEnabled"
85
+ type="{{ buttonType }}"
86
+ (click)="onClick.emit($event)"
87
+ [ngClass]="classes"
88
+ >
89
+ {{ label }}
90
+ </button>
91
+
92
+ <button *ngIf="!isEnabled"
93
+ type="{{ buttonType }}"
94
+ (click)="onClick.emit($event)"
95
+ [ngClass]="classes"
96
+ >
97
+ {{ label }}
98
+ </button>`, isInline: true, styles: [".ipt-button{font-family:Poppins,sans-serif;font-weight:700;border:0;border-radius:12px;cursor:pointer;display:inline-block;line-height:1;transition:.4s;width:100%;box-shadow:#06182c66 0 0 0 2px,#06182ca6 0 4px 6px -1px,#ffffff14 0 1px inset}.ipt-button:hover{box-shadow:0 10px 20px #1b1b1b80;transform:translateY(-3px)}.ipt-button:active{transform:scale(.99)}.ipt-button--primary{color:#fff;background-color:#1c77f7}.ipt-button--primary-disabled{color:gray;background-color:#fff;border:1px solid gray;box-shadow:none;cursor:not-allowed}.ipt-button--primary-disabled:hover{box-shadow:none;transform:translateY(0)}.ipt-button--secondary{color:#1c77f7;background-color:#fff;box-shadow:#06182c66 0 0 0 2px,#06182ca6 0 4px 6px -1px,#ffffff14 0 1px inset}.ipt-button--small{font-size:12px;padding:10px 16px}.ipt-button--medium{font-size:14px;padding:11px 20px}.ipt-button--large{font-size:16px;padding:12px 24px}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
99
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ButtonComponent, decorators: [{
100
+ type: Component,
101
+ args: [{ selector: 'ipt-button', template: `<button *ngIf="isEnabled"
102
+ type="{{ buttonType }}"
103
+ (click)="onClick.emit($event)"
104
+ [ngClass]="classes"
105
+ >
106
+ {{ label }}
107
+ </button>
108
+
109
+ <button *ngIf="!isEnabled"
110
+ type="{{ buttonType }}"
111
+ (click)="onClick.emit($event)"
112
+ [ngClass]="classes"
113
+ >
114
+ {{ label }}
115
+ </button>`, styles: [".ipt-button{font-family:Poppins,sans-serif;font-weight:700;border:0;border-radius:12px;cursor:pointer;display:inline-block;line-height:1;transition:.4s;width:100%;box-shadow:#06182c66 0 0 0 2px,#06182ca6 0 4px 6px -1px,#ffffff14 0 1px inset}.ipt-button:hover{box-shadow:0 10px 20px #1b1b1b80;transform:translateY(-3px)}.ipt-button:active{transform:scale(.99)}.ipt-button--primary{color:#fff;background-color:#1c77f7}.ipt-button--primary-disabled{color:gray;background-color:#fff;border:1px solid gray;box-shadow:none;cursor:not-allowed}.ipt-button--primary-disabled:hover{box-shadow:none;transform:translateY(0)}.ipt-button--secondary{color:#1c77f7;background-color:#fff;box-shadow:#06182c66 0 0 0 2px,#06182ca6 0 4px 6px -1px,#ffffff14 0 1px inset}.ipt-button--small{font-size:12px;padding:10px 16px}.ipt-button--medium{font-size:14px;padding:11px 20px}.ipt-button--large{font-size:16px;padding:12px 24px}\n"] }]
116
+ }], propDecorators: { primary: [{
117
+ type: Input
118
+ }], size: [{
119
+ type: Input
120
+ }], label: [{
121
+ type: Input
122
+ }], buttonType: [{
123
+ type: Input
124
+ }], isEnabled: [{
125
+ type: Input
126
+ }], onClick: [{
127
+ type: Output
126
128
  }] } });
127
129
 
128
- class CheckboxComponent {
129
- constructor() {
130
- this.checkboxOption = false;
131
- this.onChecked = new EventEmitter();
132
- }
133
- set control(value) {
134
- if (this.formControl !== value) {
135
- this.formControl = value;
136
- }
137
- }
138
- }
139
- CheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
140
- CheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CheckboxComponent, selector: "ipt-checkbox", inputs: { checkboxOption: "checkboxOption", control: "control" }, outputs: { onChecked: "onChecked" }, ngImport: i0, template: `
141
- <label class="cont">
142
- <input
143
- class="checkbox"
144
- [formControl]="formControl"
145
- [checked]="checkboxOption"
146
- (click)="onChecked.emit($event)"
147
- type="checkbox">
148
- <span></span>
149
- </label>
150
- `, isInline: true, styles: [".cont{display:flex;align-items:center;transform:scale(1)}@media screen and (min-width: 320px){input[type=checkbox]{height:1rem;width:1.1rem;margin:5px;display:inline-block;-webkit-appearance:none;appearance:none;position:relative;background-color:#1c77f733;border-radius:15%;cursor:pointer;overflow:hidden}input[type=checkbox]:after{content:\"\";display:block;height:.4rem;width:.2rem;border-bottom:.21rem solid white;border-right:.21rem solid white;opacity:0;transform:rotate(45deg) translate(-50%,-50%);position:absolute;top:50%;left:20%;transition:.25s ease}input[type=checkbox]:before{content:\"\";display:block;height:0;width:0;background-color:#1c77f7;border-radius:50%;opacity:.5;transform:translate(-50%,-50%);position:absolute;top:50%;left:50%;transition:.3s ease}input[type=checkbox]:checked:before{height:130%;width:130%;opacity:100%}input[type=checkbox]:checked:after{opacity:100%}span{font-size:1rem}}@media screen and (min-width: 375px){input[type=checkbox]{height:1.2rem;width:1.3rem}input[type=checkbox]:after{height:.5rem;width:.2rem;border-bottom:.21rem solid white;border-right:.21rem solid white}}@media screen and (min-width: 1024px){input[type=checkbox]{height:1.3rem;width:1.4rem}input[type=checkbox]:after{height:.6rem;width:.3rem;border-bottom:.21rem solid white;border-right:.21rem solid white}}\n"], directives: [{ type: i1$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
151
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CheckboxComponent, decorators: [{
152
- type: Component,
153
- args: [{ selector: 'ipt-checkbox', template: `
154
- <label class="cont">
155
- <input
156
- class="checkbox"
157
- [formControl]="formControl"
158
- [checked]="checkboxOption"
159
- (click)="onChecked.emit($event)"
160
- type="checkbox">
161
- <span></span>
162
- </label>
163
- `, styles: [".cont{display:flex;align-items:center;transform:scale(1)}@media screen and (min-width: 320px){input[type=checkbox]{height:1rem;width:1.1rem;margin:5px;display:inline-block;-webkit-appearance:none;appearance:none;position:relative;background-color:#1c77f733;border-radius:15%;cursor:pointer;overflow:hidden}input[type=checkbox]:after{content:\"\";display:block;height:.4rem;width:.2rem;border-bottom:.21rem solid white;border-right:.21rem solid white;opacity:0;transform:rotate(45deg) translate(-50%,-50%);position:absolute;top:50%;left:20%;transition:.25s ease}input[type=checkbox]:before{content:\"\";display:block;height:0;width:0;background-color:#1c77f7;border-radius:50%;opacity:.5;transform:translate(-50%,-50%);position:absolute;top:50%;left:50%;transition:.3s ease}input[type=checkbox]:checked:before{height:130%;width:130%;opacity:100%}input[type=checkbox]:checked:after{opacity:100%}span{font-size:1rem}}@media screen and (min-width: 375px){input[type=checkbox]{height:1.2rem;width:1.3rem}input[type=checkbox]:after{height:.5rem;width:.2rem;border-bottom:.21rem solid white;border-right:.21rem solid white}}@media screen and (min-width: 1024px){input[type=checkbox]{height:1.3rem;width:1.4rem}input[type=checkbox]:after{height:.6rem;width:.3rem;border-bottom:.21rem solid white;border-right:.21rem solid white}}\n"] }]
164
- }], propDecorators: { checkboxOption: [{
165
- type: Input
166
- }], control: [{
167
- type: Input
168
- }], onChecked: [{
169
- type: Output
130
+ class CheckboxComponent {
131
+ constructor() {
132
+ this.checkboxOption = false;
133
+ this.onChecked = new EventEmitter();
134
+ }
135
+ set control(value) {
136
+ if (this.formControl !== value) {
137
+ this.formControl = value;
138
+ }
139
+ }
140
+ }
141
+ CheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
142
+ CheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CheckboxComponent, selector: "ipt-checkbox", inputs: { checkboxOption: "checkboxOption", control: "control" }, outputs: { onChecked: "onChecked" }, ngImport: i0, template: `
143
+ <label class="cont">
144
+ <input
145
+ class="checkbox"
146
+ [formControl]="formControl"
147
+ [checked]="checkboxOption"
148
+ (click)="onChecked.emit($event)"
149
+ type="checkbox">
150
+ <span></span>
151
+ </label>
152
+ `, isInline: true, styles: [".cont{display:flex;align-items:center;transform:scale(1)}@media screen and (min-width: 320px){input[type=checkbox]{height:1rem;width:1.1rem;margin:5px;display:inline-block;-webkit-appearance:none;appearance:none;position:relative;background-color:#1c77f733;border-radius:15%;cursor:pointer;overflow:hidden}input[type=checkbox]:after{content:\"\";display:block;height:.4rem;width:.2rem;border-bottom:.21rem solid white;border-right:.21rem solid white;opacity:0;transform:rotate(45deg) translate(-50%,-50%);position:absolute;top:50%;left:20%;transition:.25s ease}input[type=checkbox]:before{content:\"\";display:block;height:0;width:0;background-color:#1c77f7;border-radius:50%;opacity:.5;transform:translate(-50%,-50%);position:absolute;top:50%;left:50%;transition:.3s ease}input[type=checkbox]:checked:before{height:130%;width:130%;opacity:100%}input[type=checkbox]:checked:after{opacity:100%}span{font-size:1rem}}@media screen and (min-width: 375px){input[type=checkbox]{height:1.2rem;width:1.3rem}input[type=checkbox]:after{height:.5rem;width:.2rem;border-bottom:.21rem solid white;border-right:.21rem solid white}}@media screen and (min-width: 1024px){input[type=checkbox]{height:1.3rem;width:1.4rem}input[type=checkbox]:after{height:.6rem;width:.3rem;border-bottom:.21rem solid white;border-right:.21rem solid white}}\n"], directives: [{ type: i1$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
153
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CheckboxComponent, decorators: [{
154
+ type: Component,
155
+ args: [{ selector: 'ipt-checkbox', template: `
156
+ <label class="cont">
157
+ <input
158
+ class="checkbox"
159
+ [formControl]="formControl"
160
+ [checked]="checkboxOption"
161
+ (click)="onChecked.emit($event)"
162
+ type="checkbox">
163
+ <span></span>
164
+ </label>
165
+ `, styles: [".cont{display:flex;align-items:center;transform:scale(1)}@media screen and (min-width: 320px){input[type=checkbox]{height:1rem;width:1.1rem;margin:5px;display:inline-block;-webkit-appearance:none;appearance:none;position:relative;background-color:#1c77f733;border-radius:15%;cursor:pointer;overflow:hidden}input[type=checkbox]:after{content:\"\";display:block;height:.4rem;width:.2rem;border-bottom:.21rem solid white;border-right:.21rem solid white;opacity:0;transform:rotate(45deg) translate(-50%,-50%);position:absolute;top:50%;left:20%;transition:.25s ease}input[type=checkbox]:before{content:\"\";display:block;height:0;width:0;background-color:#1c77f7;border-radius:50%;opacity:.5;transform:translate(-50%,-50%);position:absolute;top:50%;left:50%;transition:.3s ease}input[type=checkbox]:checked:before{height:130%;width:130%;opacity:100%}input[type=checkbox]:checked:after{opacity:100%}span{font-size:1rem}}@media screen and (min-width: 375px){input[type=checkbox]{height:1.2rem;width:1.3rem}input[type=checkbox]:after{height:.5rem;width:.2rem;border-bottom:.21rem solid white;border-right:.21rem solid white}}@media screen and (min-width: 1024px){input[type=checkbox]{height:1.3rem;width:1.4rem}input[type=checkbox]:after{height:.6rem;width:.3rem;border-bottom:.21rem solid white;border-right:.21rem solid white}}\n"] }]
166
+ }], propDecorators: { checkboxOption: [{
167
+ type: Input
168
+ }], control: [{
169
+ type: Input
170
+ }], onChecked: [{
171
+ type: Output
170
172
  }] } });
171
173
 
172
- class DatalistComponent {
173
- constructor(fb) {
174
- this.isChanged = new EventEmitter();
175
- this.clicked = false;
176
- this.formControl = fb.group({
177
- dataListControl: ['', [Validators.required]],
178
- });
179
- }
180
- ngOnInit() {
181
- if (this.initalData != null) {
182
- this.formControl.controls['dataListControl'].setValue(this.initalData);
183
- }
184
- }
185
- optionChanged(event) {
186
- let selectOption = this.datalistData.find(element => element.name == event.target.value);
187
- if (typeof (selectOption) != 'undefined') {
188
- this.isChanged.emit(selectOption.code);
189
- }
190
- else {
191
- this.isChanged.emit('-1');
192
- this.formControl.controls['dataListControl'].setValue(null);
193
- }
194
- }
195
- click(value) {
196
- this.clicked = value.isTrusted;
197
- }
198
- get labelClass() {
199
- return this.clicked === false ? 'label' : 'labelUp';
200
- }
201
- }
202
- DatalistComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DatalistComponent, deps: [{ token: i1$1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
203
- DatalistComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: DatalistComponent, selector: "ipt-datalist", inputs: { datalistId: "datalistId", datalistData: "datalistData", placeHolder: "placeHolder", validateText: "validateText", initalData: "initalData" }, outputs: { isChanged: "isChanged" }, ngImport: i0, template: `
204
- <div class="input-container">
205
- <label [ngClass]="labelClass">{{ placeHolder }}</label>
206
- <input
207
- type="text"
208
- class="input"
209
- (click)="click($event)"
210
- [attr.list]="datalistId"
211
- (change)="optionChanged($event)"
212
- />
213
-
214
- <datalist id="{{ datalistId }}">
215
- <option *ngFor="let item of datalistData; index as i" [value]="item.name">
216
- {{item.name}} {{item.last_name}}
217
- </option>
218
- </datalist>
219
- </div>
220
- `, isInline: true, styles: ["*{font-family:Poppins,sans-serif}.input-container{position:relative;margin-top:30px}.input{box-shadow:#64646f33 0 7px 29px;border-radius:10px;border:none;outline:none;display:block;transition:.2s;font-weight:300;width:-webkit-fill-available;width:-moz-available;height:28px;padding-left:10px;background-color:#fff}.input:hover{box-shadow:#00000029 0 3px 6px,#0000003b 0 3px 6px}.input:focus{box-shadow:#00000029 0 3px 6px,#0000003b 0 3px 6px;transition:0s;border:1.5px solid #1c77f7}.label{color:#999;font-size:15px;font-weight:400;position:absolute;pointer-events:none;left:20px;top:7px;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.labelUp{color:#1c77f7;font-size:15px;font-weight:400;position:absolute;pointer-events:none;left:20px;top:-20px;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}\n"], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i1$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }] });
221
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DatalistComponent, decorators: [{
222
- type: Component,
223
- args: [{ selector: 'ipt-datalist', template: `
224
- <div class="input-container">
225
- <label [ngClass]="labelClass">{{ placeHolder }}</label>
226
- <input
227
- type="text"
228
- class="input"
229
- (click)="click($event)"
230
- [attr.list]="datalistId"
231
- (change)="optionChanged($event)"
232
- />
233
-
234
- <datalist id="{{ datalistId }}">
235
- <option *ngFor="let item of datalistData; index as i" [value]="item.name">
236
- {{item.name}} {{item.last_name}}
237
- </option>
238
- </datalist>
239
- </div>
240
- `, styles: ["*{font-family:Poppins,sans-serif}.input-container{position:relative;margin-top:30px}.input{box-shadow:#64646f33 0 7px 29px;border-radius:10px;border:none;outline:none;display:block;transition:.2s;font-weight:300;width:-webkit-fill-available;width:-moz-available;height:28px;padding-left:10px;background-color:#fff}.input:hover{box-shadow:#00000029 0 3px 6px,#0000003b 0 3px 6px}.input:focus{box-shadow:#00000029 0 3px 6px,#0000003b 0 3px 6px;transition:0s;border:1.5px solid #1c77f7}.label{color:#999;font-size:15px;font-weight:400;position:absolute;pointer-events:none;left:20px;top:7px;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.labelUp{color:#1c77f7;font-size:15px;font-weight:400;position:absolute;pointer-events:none;left:20px;top:-20px;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}\n"] }]
241
- }], ctorParameters: function () { return [{ type: i1$1.FormBuilder }]; }, propDecorators: { datalistId: [{
242
- type: Input
243
- }], datalistData: [{
244
- type: Input
245
- }], placeHolder: [{
246
- type: Input
247
- }], validateText: [{
248
- type: Input
249
- }], initalData: [{
250
- type: Input
251
- }], isChanged: [{
252
- type: Output
174
+ class DatalistComponent {
175
+ constructor(fb) {
176
+ this.isChanged = new EventEmitter();
177
+ this.clicked = false;
178
+ this.formControl = fb.group({
179
+ dataListControl: ['', [Validators.required]],
180
+ });
181
+ }
182
+ ngOnInit() {
183
+ if (this.initalData != null) {
184
+ this.formControl.controls['dataListControl'].setValue(this.initalData);
185
+ }
186
+ }
187
+ optionChanged(event) {
188
+ let selectOption = this.datalistData.find(element => element.name == event.target.value);
189
+ if (typeof (selectOption) != 'undefined') {
190
+ this.isChanged.emit(selectOption.code);
191
+ }
192
+ else {
193
+ this.isChanged.emit('-1');
194
+ this.formControl.controls['dataListControl'].setValue(null);
195
+ }
196
+ }
197
+ click(value) {
198
+ this.clicked = value.isTrusted;
199
+ }
200
+ get labelClass() {
201
+ return this.clicked === false ? 'label' : 'labelUp';
202
+ }
203
+ }
204
+ DatalistComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DatalistComponent, deps: [{ token: i1$1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
205
+ DatalistComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: DatalistComponent, selector: "ipt-datalist", inputs: { datalistId: "datalistId", datalistData: "datalistData", placeHolder: "placeHolder", validateText: "validateText", initalData: "initalData" }, outputs: { isChanged: "isChanged" }, ngImport: i0, template: `
206
+ <div class="input-container">
207
+ <label [ngClass]="labelClass">{{ placeHolder }}</label>
208
+ <input
209
+ type="text"
210
+ class="input"
211
+ (click)="click($event)"
212
+ [attr.list]="datalistId"
213
+ (change)="optionChanged($event)"
214
+ />
215
+
216
+ <datalist id="{{ datalistId }}">
217
+ <option *ngFor="let item of datalistData; index as i" [value]="item.name">
218
+ {{item.name}} {{item.last_name}}
219
+ </option>
220
+ </datalist>
221
+ </div>
222
+ `, isInline: true, styles: ["*{font-family:Poppins,sans-serif}.input-container{position:relative;margin-top:30px}.input{box-shadow:#64646f33 0 7px 29px;border-radius:10px;border:none;outline:none;display:block;transition:.2s;font-weight:300;margin:10px 10px -30px;width:-webkit-fill-available;width:-moz-available;height:28px;padding-left:10px;background-color:#fff}.input:hover{box-shadow:#00000029 0 3px 6px,#0000003b 0 3px 6px}.input:focus{box-shadow:#00000029 0 3px 6px,#0000003b 0 3px 6px;transition:0s;border:1.5px solid #1c77f7}.label{color:#999;font-size:15px;font-weight:400;position:absolute;pointer-events:none;left:20px;top:7px;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.labelUp{color:#1c77f7;font-size:15px;font-weight:400;position:absolute;pointer-events:none;left:20px;top:-20px;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}\n"], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i1$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }] });
223
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DatalistComponent, decorators: [{
224
+ type: Component,
225
+ args: [{ selector: 'ipt-datalist', template: `
226
+ <div class="input-container">
227
+ <label [ngClass]="labelClass">{{ placeHolder }}</label>
228
+ <input
229
+ type="text"
230
+ class="input"
231
+ (click)="click($event)"
232
+ [attr.list]="datalistId"
233
+ (change)="optionChanged($event)"
234
+ />
235
+
236
+ <datalist id="{{ datalistId }}">
237
+ <option *ngFor="let item of datalistData; index as i" [value]="item.name">
238
+ {{item.name}} {{item.last_name}}
239
+ </option>
240
+ </datalist>
241
+ </div>
242
+ `, styles: ["*{font-family:Poppins,sans-serif}.input-container{position:relative;margin-top:30px}.input{box-shadow:#64646f33 0 7px 29px;border-radius:10px;border:none;outline:none;display:block;transition:.2s;font-weight:300;margin:10px 10px -30px;width:-webkit-fill-available;width:-moz-available;height:28px;padding-left:10px;background-color:#fff}.input:hover{box-shadow:#00000029 0 3px 6px,#0000003b 0 3px 6px}.input:focus{box-shadow:#00000029 0 3px 6px,#0000003b 0 3px 6px;transition:0s;border:1.5px solid #1c77f7}.label{color:#999;font-size:15px;font-weight:400;position:absolute;pointer-events:none;left:20px;top:7px;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.labelUp{color:#1c77f7;font-size:15px;font-weight:400;position:absolute;pointer-events:none;left:20px;top:-20px;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}\n"] }]
243
+ }], ctorParameters: function () { return [{ type: i1$1.FormBuilder }]; }, propDecorators: { datalistId: [{
244
+ type: Input
245
+ }], datalistData: [{
246
+ type: Input
247
+ }], placeHolder: [{
248
+ type: Input
249
+ }], validateText: [{
250
+ type: Input
251
+ }], initalData: [{
252
+ type: Input
253
+ }], isChanged: [{
254
+ type: Output
253
255
  }] } });
254
256
 
255
- class InputComponent {
256
- constructor() {
257
- this.data = [];
258
- this.clicked = false;
259
- }
260
- set control(value) {
261
- if (this.formControl !== value) {
262
- this.formControl = value;
263
- }
264
- }
265
- click(value) {
266
- this.clicked = value.isTrusted;
267
- }
268
- }
269
- InputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: InputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
270
- InputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: InputComponent, selector: "ipt-input", inputs: { inputType: "inputType", placeHolder: "placeHolder", validateText: "validateText", list: "list", iconUrl: "iconUrl", control: "control" }, ngImport: i0, template: `
271
- <div class="input-container">
272
- <input *ngIf="inputType === 'date'"
273
- class="input"
274
- type="{{ inputType ? 'text' : 'date' }}"
275
- [formControl]="formControl"
276
- onfocus="this.type='date';"
277
- onblur="javascript: if( !this.value ) this.type='text';"
278
- uib-datepicker-popup="dd/MM/yyyy"
279
- ng-model="inputType"/>
280
-
281
- <input *ngIf="inputType !== 'date' && inputType !== 'time'"
282
- class="input"
283
- class="input"
284
- type="{{ inputType }}"
285
- [formControl]="formControl"
286
- [attr.list]="list"/>
287
-
288
- <input *ngIf="inputType === 'time'"
289
- class="input"
290
- type="time"
291
- [formControl]="formControl"
292
- [min]="'06:00:00'"
293
- max="22:00:00"
294
- step="900"
295
- autocomplete="on"
296
- value="08:00:00"
297
- (click)="click($event)"
298
- />
299
-
300
- <label [ngClass]="{'labelUp': formControl.value !== ''}">{{ placeHolder }}</label>
301
-
302
- <p *ngIf="!formControl.valid && formControl.value !== '' && formControl.touched">
303
- {{ validateText }}
304
- </p>
305
- </div>
306
- `, isInline: true, styles: ["*{font-family:Poppins,sans-serif}@media screen and (min-width: 320px){p{color:#c73a3a;font-size:12px;padding-left:15px;margin-top:35px}}@media screen and (min-width: 768px){p{color:#c73a3a;font-size:14px;padding-left:15px}}@media screen and (min-width: 1024px){p{color:#c73a3a;font-size:16px;padding-left:15px}}.input-container{position:relative;margin-top:30px}input{box-shadow:#64646f33 0 7px 29px;border-radius:10px;border:none;outline:none;display:block;transition:.2s;font-weight:300;width:-webkit-fill-available;width:-moz-available;height:28px;padding-left:10px;background-color:#fff;-webkit-appearance:none}input:hover{box-shadow:#00000029 0 3px 6px,#0000003b 0 3px 6px}input:focus{box-shadow:#00000029 0 3px 6px,#0000003b 0 3px 6px;transition:0s;border:1.5px solid #1c77f7}label{color:#999;font-size:15px;font-weight:400;position:absolute;pointer-events:none;left:20px;top:7px;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.input:focus~label,.input:invalid~label{top:-20px;font-size:15px;color:#1c77f7}.labelUp{color:#999;font-size:15px;font-weight:400;position:absolute;pointer-events:none;left:20px;top:-20px;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
307
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: InputComponent, decorators: [{
308
- type: Component,
309
- args: [{ selector: 'ipt-input', template: `
310
- <div class="input-container">
311
- <input *ngIf="inputType === 'date'"
312
- class="input"
313
- type="{{ inputType ? 'text' : 'date' }}"
314
- [formControl]="formControl"
315
- onfocus="this.type='date';"
316
- onblur="javascript: if( !this.value ) this.type='text';"
317
- uib-datepicker-popup="dd/MM/yyyy"
318
- ng-model="inputType"/>
319
-
320
- <input *ngIf="inputType !== 'date' && inputType !== 'time'"
321
- class="input"
322
- class="input"
323
- type="{{ inputType }}"
324
- [formControl]="formControl"
325
- [attr.list]="list"/>
326
-
327
- <input *ngIf="inputType === 'time'"
328
- class="input"
329
- type="time"
330
- [formControl]="formControl"
331
- [min]="'06:00:00'"
332
- max="22:00:00"
333
- step="900"
334
- autocomplete="on"
335
- value="08:00:00"
336
- (click)="click($event)"
337
- />
338
-
339
- <label [ngClass]="{'labelUp': formControl.value !== ''}">{{ placeHolder }}</label>
340
-
341
- <p *ngIf="!formControl.valid && formControl.value !== '' && formControl.touched">
342
- {{ validateText }}
343
- </p>
344
- </div>
345
- `, styles: ["*{font-family:Poppins,sans-serif}@media screen and (min-width: 320px){p{color:#c73a3a;font-size:12px;padding-left:15px;margin-top:35px}}@media screen and (min-width: 768px){p{color:#c73a3a;font-size:14px;padding-left:15px}}@media screen and (min-width: 1024px){p{color:#c73a3a;font-size:16px;padding-left:15px}}.input-container{position:relative;margin-top:30px}input{box-shadow:#64646f33 0 7px 29px;border-radius:10px;border:none;outline:none;display:block;transition:.2s;font-weight:300;width:-webkit-fill-available;width:-moz-available;height:28px;padding-left:10px;background-color:#fff;-webkit-appearance:none}input:hover{box-shadow:#00000029 0 3px 6px,#0000003b 0 3px 6px}input:focus{box-shadow:#00000029 0 3px 6px,#0000003b 0 3px 6px;transition:0s;border:1.5px solid #1c77f7}label{color:#999;font-size:15px;font-weight:400;position:absolute;pointer-events:none;left:20px;top:7px;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.input:focus~label,.input:invalid~label{top:-20px;font-size:15px;color:#1c77f7}.labelUp{color:#999;font-size:15px;font-weight:400;position:absolute;pointer-events:none;left:20px;top:-20px;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}\n"] }]
346
- }], propDecorators: { inputType: [{
347
- type: Input
348
- }], placeHolder: [{
349
- type: Input
350
- }], validateText: [{
351
- type: Input
352
- }], list: [{
353
- type: Input
354
- }], iconUrl: [{
355
- type: Input
356
- }], control: [{
357
- type: Input
257
+ class InputComponent {
258
+ constructor() {
259
+ this.data = [];
260
+ this.clicked = false;
261
+ }
262
+ set control(value) {
263
+ if (this.formControl !== value) {
264
+ this.formControl = value;
265
+ }
266
+ }
267
+ click(value) {
268
+ this.clicked = value.isTrusted;
269
+ }
270
+ }
271
+ InputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: InputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
272
+ InputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: InputComponent, selector: "ipt-input", inputs: { inputType: "inputType", placeHolder: "placeHolder", validateText: "validateText", list: "list", iconUrl: "iconUrl", control: "control" }, ngImport: i0, template: `
273
+ <div class="input-container">
274
+ <input *ngIf="inputType === 'date'"
275
+ class="input"
276
+ type="{{ inputType ? 'text' : 'date' }}"
277
+ [formControl]="formControl"
278
+ onfocus="this.type='date';"
279
+ onblur="javascript: if( !this.value ) this.type='text';"
280
+ uib-datepicker-popup="dd/MM/yyyy"
281
+ ng-model="inputType"/>
282
+
283
+ <input *ngIf="inputType !== 'date' && inputType !== 'time'"
284
+ class="input"
285
+ class="input"
286
+ type="{{ inputType }}"
287
+ [formControl]="formControl"
288
+ [attr.list]="list"/>
289
+
290
+ <input *ngIf="inputType === 'time'"
291
+ class="input"
292
+ type="time"
293
+ [formControl]="formControl"
294
+ [min]="'06:00:00'"
295
+ max="22:00:00"
296
+ step="900"
297
+ autocomplete="on"
298
+ value="08:00:00"
299
+ (click)="click($event)"
300
+ />
301
+
302
+ <label [ngClass]="{'labelUp': formControl.value !== ''}">{{ placeHolder }}</label>
303
+
304
+ <p *ngIf="!formControl.valid && formControl.value !== '' && formControl.touched">
305
+ {{ validateText }}
306
+ </p>
307
+ </div>
308
+ `, isInline: true, styles: ["*{font-family:Poppins,sans-serif}@media screen and (min-width: 320px){p{color:#c73a3a;font-size:12px;padding-left:15px;margin-top:35px}}@media screen and (min-width: 768px){p{color:#c73a3a;font-size:14px;padding-left:15px}}@media screen and (min-width: 1024px){p{color:#c73a3a;font-size:16px;padding-left:15px}}.input-container{position:relative;margin-top:30px}input{box-shadow:#64646f33 0 7px 29px;border-radius:10px;border:none;outline:none;display:block;transition:.2s;font-weight:300;width:-webkit-fill-available;width:-moz-available;height:28px;padding-left:10px;background-color:#fff;-webkit-appearance:none}input:hover{box-shadow:#00000029 0 3px 6px,#0000003b 0 3px 6px}input:focus{box-shadow:#00000029 0 3px 6px,#0000003b 0 3px 6px;transition:0s;border:1.5px solid #1c77f7}label{color:#999;font-size:15px;font-weight:400;position:absolute;pointer-events:none;left:20px;top:7px;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.input:focus~label,.input:invalid~label{top:-20px;font-size:15px;color:#1c77f7}.labelUp{color:#999;font-size:15px;font-weight:400;position:absolute;pointer-events:none;left:20px;top:-20px;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
309
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: InputComponent, decorators: [{
310
+ type: Component,
311
+ args: [{ selector: 'ipt-input', template: `
312
+ <div class="input-container">
313
+ <input *ngIf="inputType === 'date'"
314
+ class="input"
315
+ type="{{ inputType ? 'text' : 'date' }}"
316
+ [formControl]="formControl"
317
+ onfocus="this.type='date';"
318
+ onblur="javascript: if( !this.value ) this.type='text';"
319
+ uib-datepicker-popup="dd/MM/yyyy"
320
+ ng-model="inputType"/>
321
+
322
+ <input *ngIf="inputType !== 'date' && inputType !== 'time'"
323
+ class="input"
324
+ class="input"
325
+ type="{{ inputType }}"
326
+ [formControl]="formControl"
327
+ [attr.list]="list"/>
328
+
329
+ <input *ngIf="inputType === 'time'"
330
+ class="input"
331
+ type="time"
332
+ [formControl]="formControl"
333
+ [min]="'06:00:00'"
334
+ max="22:00:00"
335
+ step="900"
336
+ autocomplete="on"
337
+ value="08:00:00"
338
+ (click)="click($event)"
339
+ />
340
+
341
+ <label [ngClass]="{'labelUp': formControl.value !== ''}">{{ placeHolder }}</label>
342
+
343
+ <p *ngIf="!formControl.valid && formControl.value !== '' && formControl.touched">
344
+ {{ validateText }}
345
+ </p>
346
+ </div>
347
+ `, styles: ["*{font-family:Poppins,sans-serif}@media screen and (min-width: 320px){p{color:#c73a3a;font-size:12px;padding-left:15px;margin-top:35px}}@media screen and (min-width: 768px){p{color:#c73a3a;font-size:14px;padding-left:15px}}@media screen and (min-width: 1024px){p{color:#c73a3a;font-size:16px;padding-left:15px}}.input-container{position:relative;margin-top:30px}input{box-shadow:#64646f33 0 7px 29px;border-radius:10px;border:none;outline:none;display:block;transition:.2s;font-weight:300;width:-webkit-fill-available;width:-moz-available;height:28px;padding-left:10px;background-color:#fff;-webkit-appearance:none}input:hover{box-shadow:#00000029 0 3px 6px,#0000003b 0 3px 6px}input:focus{box-shadow:#00000029 0 3px 6px,#0000003b 0 3px 6px;transition:0s;border:1.5px solid #1c77f7}label{color:#999;font-size:15px;font-weight:400;position:absolute;pointer-events:none;left:20px;top:7px;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.input:focus~label,.input:invalid~label{top:-20px;font-size:15px;color:#1c77f7}.labelUp{color:#999;font-size:15px;font-weight:400;position:absolute;pointer-events:none;left:20px;top:-20px;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}\n"] }]
348
+ }], propDecorators: { inputType: [{
349
+ type: Input
350
+ }], placeHolder: [{
351
+ type: Input
352
+ }], validateText: [{
353
+ type: Input
354
+ }], list: [{
355
+ type: Input
356
+ }], iconUrl: [{
357
+ type: Input
358
+ }], control: [{
359
+ type: Input
358
360
  }] } });
359
361
 
360
- class LevelButtonComponent {
361
- constructor() {
362
- this.isClicked = new EventEmitter();
363
- }
364
- clickAction() {
365
- this.isClicked.emit(true);
366
- }
367
- }
368
- LevelButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: LevelButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
369
- LevelButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: LevelButtonComponent, selector: "ipt-level-button", inputs: { level: "level", buttonActive: "buttonActive", idColor: "idColor" }, outputs: { isClicked: "isClicked" }, ngImport: i0, template: `
370
- <div [ngSwitch]="buttonActive">
371
- <button
372
- *ngSwitchCase="0"
373
- (click)="clickAction()"
374
- id="level"
375
- class="courses"
376
- >
377
- <p class="p-level">{{ level }}</p>
378
- </button>
379
-
380
- <button
381
- *ngSwitchCase="1"
382
- (click)="clickAction()"
383
- id="{{ idColor }}"
384
- class="courses">
385
- <p class="p-level p-level-active">{{ level }}</p>
386
- </button>
387
- </div>
388
- `, isInline: true, styles: ["*{font-family:Poppins,sans-serif}@media (min-width: 320px){.courses{cursor:pointer;text-decoration:none;display:flex;border-radius:10px;width:100%;height:30px;box-shadow:#06182c66 0 0 0 2px,#06182ca6 0 4px 6px -1px,#ffffff14 0 1px inset;border:none;outline:none;align-items:center;background-color:transparent;color:#1c77f7}.p-level{display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px}#level-1{background-color:#02eed8}#level-2{background-color:#61acff}#level-3{background-color:#f168f4}#level-4{background-color:#ff3737}#level-5{background-color:#004dfa}#level-6{background-color:#14c25a}#level-7{background-color:#a052da}#level-8{background-color:#f2583d}#level-9{background-color:#291d26}#level-10{background-color:#1c77f7}.p-level-active{color:#fff}}@media (min-width: 375px){.courses{height:40px}.p-level{font-size:18px}}@media (min-width: 425px){.courses{height:30px}}@media (min-width: 768px){.courses{height:40px}}@media (min-width: 1024px){.courses{transition:.6s}.courses:active{transform:scale(1.05);box-shadow:#06182c66 0 0 0 2px,#06182ca6 0 4px 6px -1px,#ffffff14 0 1px inset}.p-level{font-weight:700}}@media (min-width: 1440px){.p-level{font-weight:600}}\n"], directives: [{ type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
389
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: LevelButtonComponent, decorators: [{
390
- type: Component,
391
- args: [{ selector: 'ipt-level-button', template: `
392
- <div [ngSwitch]="buttonActive">
393
- <button
394
- *ngSwitchCase="0"
395
- (click)="clickAction()"
396
- id="level"
397
- class="courses"
398
- >
399
- <p class="p-level">{{ level }}</p>
400
- </button>
401
-
402
- <button
403
- *ngSwitchCase="1"
404
- (click)="clickAction()"
405
- id="{{ idColor }}"
406
- class="courses">
407
- <p class="p-level p-level-active">{{ level }}</p>
408
- </button>
409
- </div>
410
- `, styles: ["*{font-family:Poppins,sans-serif}@media (min-width: 320px){.courses{cursor:pointer;text-decoration:none;display:flex;border-radius:10px;width:100%;height:30px;box-shadow:#06182c66 0 0 0 2px,#06182ca6 0 4px 6px -1px,#ffffff14 0 1px inset;border:none;outline:none;align-items:center;background-color:transparent;color:#1c77f7}.p-level{display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px}#level-1{background-color:#02eed8}#level-2{background-color:#61acff}#level-3{background-color:#f168f4}#level-4{background-color:#ff3737}#level-5{background-color:#004dfa}#level-6{background-color:#14c25a}#level-7{background-color:#a052da}#level-8{background-color:#f2583d}#level-9{background-color:#291d26}#level-10{background-color:#1c77f7}.p-level-active{color:#fff}}@media (min-width: 375px){.courses{height:40px}.p-level{font-size:18px}}@media (min-width: 425px){.courses{height:30px}}@media (min-width: 768px){.courses{height:40px}}@media (min-width: 1024px){.courses{transition:.6s}.courses:active{transform:scale(1.05);box-shadow:#06182c66 0 0 0 2px,#06182ca6 0 4px 6px -1px,#ffffff14 0 1px inset}.p-level{font-weight:700}}@media (min-width: 1440px){.p-level{font-weight:600}}\n"] }]
411
- }], propDecorators: { level: [{
412
- type: Input
413
- }], buttonActive: [{
414
- type: Input
415
- }], idColor: [{
416
- type: Input
417
- }], isClicked: [{
418
- type: Output
362
+ class LevelButtonComponent {
363
+ constructor() {
364
+ this.isClicked = new EventEmitter();
365
+ }
366
+ clickAction() {
367
+ this.isClicked.emit(true);
368
+ }
369
+ }
370
+ LevelButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: LevelButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
371
+ LevelButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: LevelButtonComponent, selector: "ipt-level-button", inputs: { level: "level", buttonActive: "buttonActive", idColor: "idColor" }, outputs: { isClicked: "isClicked" }, ngImport: i0, template: `
372
+ <div [ngSwitch]="buttonActive">
373
+ <button
374
+ *ngSwitchCase="0"
375
+ (click)="clickAction()"
376
+ id="level"
377
+ class="courses"
378
+ >
379
+ <p class="p-level">{{ level }}</p>
380
+ </button>
381
+
382
+ <button
383
+ *ngSwitchCase="1"
384
+ (click)="clickAction()"
385
+ id="{{ idColor }}"
386
+ class="courses">
387
+ <p class="p-level p-level-active">{{ level }}</p>
388
+ </button>
389
+ </div>
390
+ `, isInline: true, styles: ["*{font-family:Poppins,sans-serif}@media (min-width: 320px){.courses{cursor:pointer;text-decoration:none;display:flex;border-radius:10px;width:100%;height:30px;box-shadow:#06182c66 0 0 0 2px,#06182ca6 0 4px 6px -1px,#ffffff14 0 1px inset;border:none;outline:none;align-items:center;background-color:transparent;color:#1c77f7}.p-level{display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px}#level-1{background-color:#02eed8}#level-2{background-color:#61acff}#level-3{background-color:#f168f4}#level-4{background-color:#ff3737}#level-5{background-color:#004dfa}#level-6{background-color:#14c25a}#level-7{background-color:#a052da}#level-8{background-color:#f2583d}#level-9{background-color:#291d26}#level-10{background-color:#1c77f7}.p-level-active{color:#fff}}@media (min-width: 375px){.courses{height:40px}.p-level{font-size:18px}}@media (min-width: 425px){.courses{height:30px}}@media (min-width: 768px){.courses{height:40px}}@media (min-width: 1024px){.courses{transition:.6s}.courses:active{transform:scale(1.05);box-shadow:#06182c66 0 0 0 2px,#06182ca6 0 4px 6px -1px,#ffffff14 0 1px inset}.p-level{font-weight:700}}@media (min-width: 1440px){.p-level{font-weight:600}}\n"], directives: [{ type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
391
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: LevelButtonComponent, decorators: [{
392
+ type: Component,
393
+ args: [{ selector: 'ipt-level-button', template: `
394
+ <div [ngSwitch]="buttonActive">
395
+ <button
396
+ *ngSwitchCase="0"
397
+ (click)="clickAction()"
398
+ id="level"
399
+ class="courses"
400
+ >
401
+ <p class="p-level">{{ level }}</p>
402
+ </button>
403
+
404
+ <button
405
+ *ngSwitchCase="1"
406
+ (click)="clickAction()"
407
+ id="{{ idColor }}"
408
+ class="courses">
409
+ <p class="p-level p-level-active">{{ level }}</p>
410
+ </button>
411
+ </div>
412
+ `, styles: ["*{font-family:Poppins,sans-serif}@media (min-width: 320px){.courses{cursor:pointer;text-decoration:none;display:flex;border-radius:10px;width:100%;height:30px;box-shadow:#06182c66 0 0 0 2px,#06182ca6 0 4px 6px -1px,#ffffff14 0 1px inset;border:none;outline:none;align-items:center;background-color:transparent;color:#1c77f7}.p-level{display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px}#level-1{background-color:#02eed8}#level-2{background-color:#61acff}#level-3{background-color:#f168f4}#level-4{background-color:#ff3737}#level-5{background-color:#004dfa}#level-6{background-color:#14c25a}#level-7{background-color:#a052da}#level-8{background-color:#f2583d}#level-9{background-color:#291d26}#level-10{background-color:#1c77f7}.p-level-active{color:#fff}}@media (min-width: 375px){.courses{height:40px}.p-level{font-size:18px}}@media (min-width: 425px){.courses{height:30px}}@media (min-width: 768px){.courses{height:40px}}@media (min-width: 1024px){.courses{transition:.6s}.courses:active{transform:scale(1.05);box-shadow:#06182c66 0 0 0 2px,#06182ca6 0 4px 6px -1px,#ffffff14 0 1px inset}.p-level{font-weight:700}}@media (min-width: 1440px){.p-level{font-weight:600}}\n"] }]
413
+ }], propDecorators: { level: [{
414
+ type: Input
415
+ }], buttonActive: [{
416
+ type: Input
417
+ }], idColor: [{
418
+ type: Input
419
+ }], isClicked: [{
420
+ type: Output
419
421
  }] } });
420
422
 
421
- class LevelTextComponent {
422
- }
423
- LevelTextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: LevelTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
424
- LevelTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: LevelTextComponent, selector: "ipt-level-button", inputs: { level: "level", total: "total" }, ngImport: i0, template: `
425
- <p class="p-table-course">{{ level }}: {{ total }}</p>
426
- `, isInline: true, styles: ["@media (min-width: 320px){.p-table-course{background-color:#4b4a4a;color:#fff;font-size:14px;font-weight:700;padding:5px;width:100%;text-align:center}}@media (min-width: 375px){.p-table-course{background-color:#4b4a4a;color:#fff;font-size:14px;font-weight:700;padding:5px;width:100%;text-align:center}}@media (min-width: 425px){.p-table-course{font-size:18px}}@media (min-width: 1024px){.p-table-course{font-size:20px}}\n"] });
427
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: LevelTextComponent, decorators: [{
428
- type: Component,
429
- args: [{ selector: 'ipt-level-button', template: `
430
- <p class="p-table-course">{{ level }}: {{ total }}</p>
431
- `, styles: ["@media (min-width: 320px){.p-table-course{background-color:#4b4a4a;color:#fff;font-size:14px;font-weight:700;padding:5px;width:100%;text-align:center}}@media (min-width: 375px){.p-table-course{background-color:#4b4a4a;color:#fff;font-size:14px;font-weight:700;padding:5px;width:100%;text-align:center}}@media (min-width: 425px){.p-table-course{font-size:18px}}@media (min-width: 1024px){.p-table-course{font-size:20px}}\n"] }]
432
- }], propDecorators: { level: [{
433
- type: Input
434
- }], total: [{
435
- type: Input
423
+ class LevelTextComponent {
424
+ }
425
+ LevelTextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: LevelTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
426
+ LevelTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: LevelTextComponent, selector: "ipt-level-button", inputs: { level: "level", total: "total" }, ngImport: i0, template: `
427
+ <p class="p-table-course">{{ level }}: {{ total }}</p>
428
+ `, isInline: true, styles: ["@media (min-width: 320px){.p-table-course{background-color:#4b4a4a;color:#fff;font-size:14px;font-weight:700;padding:5px;width:100%;text-align:center}}@media (min-width: 375px){.p-table-course{background-color:#4b4a4a;color:#fff;font-size:14px;font-weight:700;padding:5px;width:100%;text-align:center}}@media (min-width: 425px){.p-table-course{font-size:18px}}@media (min-width: 1024px){.p-table-course{font-size:20px}}\n"] });
429
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: LevelTextComponent, decorators: [{
430
+ type: Component,
431
+ args: [{ selector: 'ipt-level-button', template: `
432
+ <p class="p-table-course">{{ level }}: {{ total }}</p>
433
+ `, styles: ["@media (min-width: 320px){.p-table-course{background-color:#4b4a4a;color:#fff;font-size:14px;font-weight:700;padding:5px;width:100%;text-align:center}}@media (min-width: 375px){.p-table-course{background-color:#4b4a4a;color:#fff;font-size:14px;font-weight:700;padding:5px;width:100%;text-align:center}}@media (min-width: 425px){.p-table-course{font-size:18px}}@media (min-width: 1024px){.p-table-course{font-size:20px}}\n"] }]
434
+ }], propDecorators: { level: [{
435
+ type: Input
436
+ }], total: [{
437
+ type: Input
436
438
  }] } });
437
439
 
438
- class RadioComponent {
439
- constructor() {
440
- this.radioOption = false;
441
- this.onSelected = new EventEmitter();
442
- }
443
- set control(value) {
444
- if (this.formControl !== value) {
445
- this.formControl = value;
446
- }
447
- }
448
- }
449
- RadioComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: RadioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
450
- RadioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: RadioComponent, selector: "ipt-radio", inputs: { radioOption: "radioOption", control: "control" }, outputs: { onSelected: "onSelected" }, ngImport: i0, template: `
451
- <label class="cont">
452
- <input
453
- class="radio"
454
- [formControl]="formControl"
455
- [checked]="radioOption"
456
- (click)="onSelected.emit($event)"
457
- type="radio">
458
- <span></span>
459
- </label>
460
- `, isInline: true, styles: [""], directives: [{ type: i1$1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
461
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: RadioComponent, decorators: [{
462
- type: Component,
463
- args: [{ selector: 'ipt-radio', template: `
464
- <label class="cont">
465
- <input
466
- class="radio"
467
- [formControl]="formControl"
468
- [checked]="radioOption"
469
- (click)="onSelected.emit($event)"
470
- type="radio">
471
- <span></span>
472
- </label>
473
- `, styles: [""] }]
474
- }], propDecorators: { radioOption: [{
475
- type: Input
476
- }], control: [{
477
- type: Input
478
- }], onSelected: [{
479
- type: Output
440
+ class RadioComponent {
441
+ constructor() {
442
+ this.radioOption = false;
443
+ this.onSelected = new EventEmitter();
444
+ }
445
+ set control(value) {
446
+ if (this.formControl !== value) {
447
+ this.formControl = value;
448
+ }
449
+ }
450
+ }
451
+ RadioComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: RadioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
452
+ RadioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: RadioComponent, selector: "ipt-radio", inputs: { radioOption: "radioOption", control: "control" }, outputs: { onSelected: "onSelected" }, ngImport: i0, template: `
453
+ <label class="cont">
454
+ <input
455
+ class="radio"
456
+ [formControl]="formControl"
457
+ [checked]="radioOption"
458
+ (click)="onSelected.emit($event)"
459
+ type="radio">
460
+ <span></span>
461
+ </label>
462
+ `, isInline: true, styles: [""], directives: [{ type: i1$1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
463
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: RadioComponent, decorators: [{
464
+ type: Component,
465
+ args: [{ selector: 'ipt-radio', template: `
466
+ <label class="cont">
467
+ <input
468
+ class="radio"
469
+ [formControl]="formControl"
470
+ [checked]="radioOption"
471
+ (click)="onSelected.emit($event)"
472
+ type="radio">
473
+ <span></span>
474
+ </label>
475
+ `, styles: [""] }]
476
+ }], propDecorators: { radioOption: [{
477
+ type: Input
478
+ }], control: [{
479
+ type: Input
480
+ }], onSelected: [{
481
+ type: Output
480
482
  }] } });
481
483
 
482
- class SelectComponent {
483
- constructor() {
484
- this.boxShadow = 0;
485
- this.clicked = false;
486
- this.eventSelect = new EventEmitter();
487
- }
488
- // type viene de otro componente -> indica de que tipo es el arreglo si pregrade, posgrade o modo
489
- set control(value) {
490
- if (this.formControl !== value) {
491
- this.formControl = value;
492
- }
493
- }
494
- ngOnChanges(changes) {
495
- if (changes['data']) {
496
- this.binding = this.defaultText;
497
- }
498
- }
499
- seleccionar(evt) {
500
- if (this.eventSelect.emit(evt) !== this.defaultText) {
501
- this.boxShadow = 1;
502
- }
503
- else {
504
- this.boxShadow = 2;
505
- }
506
- }
507
- click(value) {
508
- this.clicked = value.isTrusted;
509
- }
510
- ngOnInit() {
511
- this.binding = this.defaultText;
512
- }
513
- get textClass() {
514
- return this.defaultText === '' ? 'selected' : 'select';
515
- }
516
- get labelClass() {
517
- return this.clicked === false ? 'label' : 'labelUp';
518
- }
519
- }
520
- SelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
521
- SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: SelectComponent, selector: "ipt-select", inputs: { isRequired: "isRequired", data: "data", defaultText: "defaultText", selectCode: "selectCode", control: "control" }, outputs: { eventSelect: "eventSelect" }, usesOnChanges: true, ngImport: i0, template: `
522
- <div class="select-container">
523
- <label [ngClass]="labelClass">{{ defaultText }}</label>
524
- <select
525
- [(ngModel)]="binding"
526
- (ngModelChange)="seleccionar($event)"
527
- (click)="click($event)"
528
- [ngClass]="textClass">
529
- <option *ngFor="let item of data; index as i" [value]="item.code">
530
- {{ item.name }} {{ item.prefix }}
531
- </option>
532
- </select>
533
- </div>
534
- `, isInline: true, styles: ["*{font-family:Poppins,sans-serif}.select-container{position:relative;margin-top:30px}.select{box-shadow:#64646f33 0 7px 29px;border-radius:10px;border:none;outline:none;display:block;transition:.2s;font-weight:300;width:-webkit-fill-available;width:-moz-available;height:28px;padding-left:10px;background-color:#fff;-webkit-appearance:none}.selected{box-shadow:#64646f33 0 7px 29px;border-radius:10px;border:none;outline:none;transition:.5s;font-weight:300;width:-webkit-fill-available;width:-moz-available;height:28px;background-color:#fff;padding-left:10px}select:hover{box-shadow:#00000029 0 3px 6px,#0000003b 0 3px 6px}.select:focus{box-shadow:#00000029 0 3px 6px,#0000003b 0 3px 6px;transition:0s;border:1.5px solid #1c77f7}.label{color:#999;font-size:15px;font-weight:400;position:absolute;pointer-events:none;left:20px;top:7px;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.labelUp{color:#1c77f7;font-size:15px;font-weight:400;position:absolute;pointer-events:none;left:20px;top:-20px;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}\n"], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i1$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }] });
535
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SelectComponent, decorators: [{
536
- type: Component,
537
- args: [{ selector: 'ipt-select', template: `
538
- <div class="select-container">
539
- <label [ngClass]="labelClass">{{ defaultText }}</label>
540
- <select
541
- [(ngModel)]="binding"
542
- (ngModelChange)="seleccionar($event)"
543
- (click)="click($event)"
544
- [ngClass]="textClass">
545
- <option *ngFor="let item of data; index as i" [value]="item.code">
546
- {{ item.name }} {{ item.prefix }}
547
- </option>
548
- </select>
549
- </div>
550
- `, styles: ["*{font-family:Poppins,sans-serif}.select-container{position:relative;margin-top:30px}.select{box-shadow:#64646f33 0 7px 29px;border-radius:10px;border:none;outline:none;display:block;transition:.2s;font-weight:300;width:-webkit-fill-available;width:-moz-available;height:28px;padding-left:10px;background-color:#fff;-webkit-appearance:none}.selected{box-shadow:#64646f33 0 7px 29px;border-radius:10px;border:none;outline:none;transition:.5s;font-weight:300;width:-webkit-fill-available;width:-moz-available;height:28px;background-color:#fff;padding-left:10px}select:hover{box-shadow:#00000029 0 3px 6px,#0000003b 0 3px 6px}.select:focus{box-shadow:#00000029 0 3px 6px,#0000003b 0 3px 6px;transition:0s;border:1.5px solid #1c77f7}.label{color:#999;font-size:15px;font-weight:400;position:absolute;pointer-events:none;left:20px;top:7px;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.labelUp{color:#1c77f7;font-size:15px;font-weight:400;position:absolute;pointer-events:none;left:20px;top:-20px;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}\n"] }]
551
- }], propDecorators: { isRequired: [{
552
- type: Input
553
- }], data: [{
554
- type: Input
555
- }], defaultText: [{
556
- type: Input
557
- }], selectCode: [{
558
- type: Input
559
- }], eventSelect: [{
560
- type: Output
561
- }], control: [{
562
- type: Input
484
+ class SelectComponent {
485
+ constructor() {
486
+ this.boxShadow = 0;
487
+ this.clicked = false;
488
+ this.eventSelect = new EventEmitter();
489
+ }
490
+ // type viene de otro componente -> indica de que tipo es el arreglo si pregrade, posgrade o modo
491
+ set control(value) {
492
+ if (this.formControl !== value) {
493
+ this.formControl = value;
494
+ }
495
+ }
496
+ ngOnChanges(changes) {
497
+ if (changes['data']) {
498
+ this.binding = this.defaultText;
499
+ }
500
+ }
501
+ seleccionar(evt) {
502
+ if (this.eventSelect.emit(evt) !== this.defaultText) {
503
+ this.boxShadow = 1;
504
+ }
505
+ else {
506
+ this.boxShadow = 2;
507
+ }
508
+ }
509
+ click(value) {
510
+ this.clicked = value.isTrusted;
511
+ }
512
+ ngOnInit() {
513
+ this.binding = this.defaultText;
514
+ }
515
+ get textClass() {
516
+ return this.defaultText === '' ? 'selected' : 'select';
517
+ }
518
+ get labelClass() {
519
+ return this.clicked === false ? 'label' : 'labelUp';
520
+ }
521
+ }
522
+ SelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
523
+ SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: SelectComponent, selector: "ipt-select", inputs: { isRequired: "isRequired", data: "data", defaultText: "defaultText", selectCode: "selectCode", control: "control" }, outputs: { eventSelect: "eventSelect" }, usesOnChanges: true, ngImport: i0, template: `
524
+ <div class="select-container">
525
+ <label [ngClass]="labelClass">{{ defaultText }}</label>
526
+ <select
527
+ [(ngModel)]="binding"
528
+ (ngModelChange)="seleccionar($event)"
529
+ (click)="click($event)"
530
+ [ngClass]="textClass">
531
+ <option *ngFor="let item of data; index as i" [value]="item.code">
532
+ {{ item.name }} {{ item.prefix }}
533
+ </option>
534
+ </select>
535
+ </div>
536
+ `, isInline: true, styles: ["*{font-family:Poppins,sans-serif}.select-container{position:relative;margin-top:30px}.select{box-shadow:#64646f33 0 7px 29px;border-radius:10px;border:none;outline:none;display:block;transition:.2s;font-weight:300;width:-webkit-fill-available;width:-moz-available;height:28px;padding-left:10px;background-color:#fff;-webkit-appearance:none}.selected{box-shadow:#64646f33 0 7px 29px;border-radius:10px;border:none;outline:none;transition:.5s;font-weight:300;width:-webkit-fill-available;width:-moz-available;height:28px;background-color:#fff;padding-left:10px}select:hover{box-shadow:#00000029 0 3px 6px,#0000003b 0 3px 6px}.select:focus{box-shadow:#00000029 0 3px 6px,#0000003b 0 3px 6px;transition:0s;border:1.5px solid #1c77f7}.label{color:#999;font-size:15px;font-weight:400;position:absolute;pointer-events:none;left:20px;top:7px;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.labelUp{color:#1c77f7;font-size:15px;font-weight:400;position:absolute;pointer-events:none;left:20px;top:-20px;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}\n"], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i1$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }] });
537
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SelectComponent, decorators: [{
538
+ type: Component,
539
+ args: [{ selector: 'ipt-select', template: `
540
+ <div class="select-container">
541
+ <label [ngClass]="labelClass">{{ defaultText }}</label>
542
+ <select
543
+ [(ngModel)]="binding"
544
+ (ngModelChange)="seleccionar($event)"
545
+ (click)="click($event)"
546
+ [ngClass]="textClass">
547
+ <option *ngFor="let item of data; index as i" [value]="item.code">
548
+ {{ item.name }} {{ item.prefix }}
549
+ </option>
550
+ </select>
551
+ </div>
552
+ `, styles: ["*{font-family:Poppins,sans-serif}.select-container{position:relative;margin-top:30px}.select{box-shadow:#64646f33 0 7px 29px;border-radius:10px;border:none;outline:none;display:block;transition:.2s;font-weight:300;width:-webkit-fill-available;width:-moz-available;height:28px;padding-left:10px;background-color:#fff;-webkit-appearance:none}.selected{box-shadow:#64646f33 0 7px 29px;border-radius:10px;border:none;outline:none;transition:.5s;font-weight:300;width:-webkit-fill-available;width:-moz-available;height:28px;background-color:#fff;padding-left:10px}select:hover{box-shadow:#00000029 0 3px 6px,#0000003b 0 3px 6px}.select:focus{box-shadow:#00000029 0 3px 6px,#0000003b 0 3px 6px;transition:0s;border:1.5px solid #1c77f7}.label{color:#999;font-size:15px;font-weight:400;position:absolute;pointer-events:none;left:20px;top:7px;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.labelUp{color:#1c77f7;font-size:15px;font-weight:400;position:absolute;pointer-events:none;left:20px;top:-20px;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}\n"] }]
553
+ }], propDecorators: { isRequired: [{
554
+ type: Input
555
+ }], data: [{
556
+ type: Input
557
+ }], defaultText: [{
558
+ type: Input
559
+ }], selectCode: [{
560
+ type: Input
561
+ }], eventSelect: [{
562
+ type: Output
563
+ }], control: [{
564
+ type: Input
563
565
  }] } });
564
566
 
565
- class TextLinkComponent {
566
- constructor() {
567
- this.isClicked = new EventEmitter();
568
- }
569
- isLinkClicked() {
570
- this.isClicked.emit(true);
571
- }
572
- }
573
- TextLinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TextLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
574
- TextLinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: TextLinkComponent, selector: "ipt-text-link", inputs: { text: "text", blank: "blank", icon: "icon" }, outputs: { isClicked: "isClicked" }, ngImport: i0, template: `
575
- <a class="text-link" (click)='isLinkClicked()'>
576
- <p class="text-link__paragraph">
577
- <i class="{{icon}}" aria-hidden="true"></i>
578
- {{text}}
579
- </p>
580
- </a>
581
- `, isInline: true, styles: [".text-link{font-family:Poppins,sans-serif;font-size:1.1rem;color:gray;display:flex;flex-direction:row}.text-link__image{height:1rem;background-position:center;fill:#0ff;-webkit-print-color-adjust:aqua;color-adjust:aqua}.text-link__paragraph{margin:0;text-align:end}a:hover,a:focus,.text-link:hover,.text-link:focus{color:#1c77f7;cursor:pointer}@media (max-width: 1200px){.text-link{font-size:.9rem;width:160px}}@media (max-width: 450px){.text-link{font-size:.9rem;width:150px}}\n"] });
582
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TextLinkComponent, decorators: [{
583
- type: Component,
584
- args: [{ selector: 'ipt-text-link', template: `
585
- <a class="text-link" (click)='isLinkClicked()'>
586
- <p class="text-link__paragraph">
587
- <i class="{{icon}}" aria-hidden="true"></i>
588
- {{text}}
589
- </p>
590
- </a>
591
- `, styles: [".text-link{font-family:Poppins,sans-serif;font-size:1.1rem;color:gray;display:flex;flex-direction:row}.text-link__image{height:1rem;background-position:center;fill:#0ff;-webkit-print-color-adjust:aqua;color-adjust:aqua}.text-link__paragraph{margin:0;text-align:end}a:hover,a:focus,.text-link:hover,.text-link:focus{color:#1c77f7;cursor:pointer}@media (max-width: 1200px){.text-link{font-size:.9rem;width:160px}}@media (max-width: 450px){.text-link{font-size:.9rem;width:150px}}\n"] }]
592
- }], ctorParameters: function () { return []; }, propDecorators: { text: [{
593
- type: Input
594
- }], blank: [{
595
- type: Input
596
- }], icon: [{
597
- type: Input
598
- }], isClicked: [{
599
- type: Output
567
+ class TextLinkComponent {
568
+ constructor() {
569
+ this.isClicked = new EventEmitter();
570
+ }
571
+ isLinkClicked() {
572
+ this.isClicked.emit(true);
573
+ }
574
+ }
575
+ TextLinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TextLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
576
+ TextLinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: TextLinkComponent, selector: "ipt-text-link", inputs: { text: "text", blank: "blank", icon: "icon" }, outputs: { isClicked: "isClicked" }, ngImport: i0, template: `
577
+ <a class="text-link" (click)='isLinkClicked()'>
578
+ <p class="text-link__paragraph">
579
+ <i class="{{icon}}" aria-hidden="true"></i>
580
+ {{text}}
581
+ </p>
582
+ </a>
583
+ `, isInline: true, styles: [".text-link{font-family:Poppins,sans-serif;font-size:1.1rem;color:gray;display:flex;flex-direction:row}.text-link__image{height:1rem;background-position:center;fill:#0ff;-webkit-print-color-adjust:aqua;color-adjust:aqua}.text-link__paragraph{margin:0;text-align:end}a:hover,a:focus,.text-link:hover,.text-link:focus{color:#1c77f7;cursor:pointer}@media (max-width: 1200px){.text-link{font-size:.9rem;width:160px}}@media (max-width: 450px){.text-link{font-size:.9rem;width:150px}}\n"] });
584
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TextLinkComponent, decorators: [{
585
+ type: Component,
586
+ args: [{ selector: 'ipt-text-link', template: `
587
+ <a class="text-link" (click)='isLinkClicked()'>
588
+ <p class="text-link__paragraph">
589
+ <i class="{{icon}}" aria-hidden="true"></i>
590
+ {{text}}
591
+ </p>
592
+ </a>
593
+ `, styles: [".text-link{font-family:Poppins,sans-serif;font-size:1.1rem;color:gray;display:flex;flex-direction:row}.text-link__image{height:1rem;background-position:center;fill:#0ff;-webkit-print-color-adjust:aqua;color-adjust:aqua}.text-link__paragraph{margin:0;text-align:end}a:hover,a:focus,.text-link:hover,.text-link:focus{color:#1c77f7;cursor:pointer}@media (max-width: 1200px){.text-link{font-size:.9rem;width:160px}}@media (max-width: 450px){.text-link{font-size:.9rem;width:150px}}\n"] }]
594
+ }], ctorParameters: function () { return []; }, propDecorators: { text: [{
595
+ type: Input
596
+ }], blank: [{
597
+ type: Input
598
+ }], icon: [{
599
+ type: Input
600
+ }], isClicked: [{
601
+ type: Output
600
602
  }] } });
601
603
 
602
- class UserService {
603
- constructor(http) {
604
- this.http = http;
605
- this.SERVICE_URL = 'https://iptdev.com.co/lab/users/api/';
606
- }
607
- login(userLogin) {
608
- let serviceUrl = this.SERVICE_URL + 'post/login';
609
- this.generateRequestParams(userLogin);
610
- return this.http.post(serviceUrl, this.httpOptions);
611
- }
612
- resetPassword(resetPassword) {
613
- let serviceUrl = this.SERVICE_URL + 'reset/password';
614
- this.generateRequestParams(resetPassword);
615
- return this.http.post(serviceUrl, this.httpOptions);
616
- }
617
- register(user) {
618
- let serviceUrl = this.SERVICE_URL + 'post/create/web';
619
- this.generateRequestParams(user);
620
- return this.http.post(serviceUrl, this.httpOptions);
621
- }
622
- registerIndex(register) {
623
- let serviceUrl = this.SERVICE_URL + 'post/create/marketing';
624
- this.generateRequestParams(register);
625
- return this.http.post(serviceUrl, this.httpOptions);
626
- }
627
- registerDashboard(user) {
628
- let serviceUrl = this.SERVICE_URL + 'post/create/dashboard';
629
- this.generateRequestParams(user);
630
- return this.http.post(serviceUrl, this.httpOptions);
631
- }
632
- getAvailableTeachers(token) {
633
- let serviceUrl = this.SERVICE_URL + 'post/obtain/teachers';
634
- this.generateRequestParams(token);
635
- return this.http.post(serviceUrl, this.httpOptions);
636
- }
637
- getRoutesForRole(token) {
638
- let serviceUrl = this.SERVICE_URL + 'post/routes/role';
639
- this.generateRequestParams(token);
640
- return this.http.post(serviceUrl, this.httpOptions);
641
- }
642
- getAllAdvisor(userToken) {
643
- let serviceUrl = this.SERVICE_URL + 'post/obtain/all/usercommercial';
644
- this.generateRequestParams(userToken);
645
- return this.http.post(serviceUrl, this.httpOptions);
646
- }
647
- getByRoleAdvisor(codeRole) {
648
- let serviceUrl = this.SERVICE_URL + 'get/obtain/by/role/usercommercial/' + codeRole;
649
- return this.http.get(serviceUrl);
650
- }
651
- getUserStatistics(userToken) {
652
- let serviceUrl = this.SERVICE_URL + 'get/contact/strategy/statistics';
653
- this.generateRequestParams(userToken);
654
- return this.http.post(serviceUrl, this.httpOptions);
655
- }
656
- generateRequestParams(param) {
657
- this.httpOptions = {
658
- header: new HttpHeaders(),
659
- params: param,
660
- };
661
- }
662
- }
663
- UserService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: UserService, deps: [{ token: i1$2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
664
- UserService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: UserService, providedIn: 'root' });
665
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: UserService, decorators: [{
666
- type: Injectable,
667
- args: [{
668
- providedIn: 'root',
669
- }]
604
+ class UserService {
605
+ constructor(http) {
606
+ this.http = http;
607
+ this.SERVICE_URL = 'https://iptdev.com.co/lab/users/api/';
608
+ }
609
+ login(userLogin) {
610
+ let serviceUrl = this.SERVICE_URL + 'post/login';
611
+ this.generateRequestParams(userLogin);
612
+ return this.http.post(serviceUrl, this.httpOptions);
613
+ }
614
+ resetPassword(resetPassword) {
615
+ let serviceUrl = this.SERVICE_URL + 'reset/password';
616
+ this.generateRequestParams(resetPassword);
617
+ return this.http.post(serviceUrl, this.httpOptions);
618
+ }
619
+ register(user) {
620
+ let serviceUrl = this.SERVICE_URL + 'post/create/web';
621
+ this.generateRequestParams(user);
622
+ return this.http.post(serviceUrl, this.httpOptions);
623
+ }
624
+ registerIndex(register) {
625
+ let serviceUrl = this.SERVICE_URL + 'post/create/marketing';
626
+ this.generateRequestParams(register);
627
+ return this.http.post(serviceUrl, this.httpOptions);
628
+ }
629
+ registerDashboard(user) {
630
+ let serviceUrl = this.SERVICE_URL + 'post/create/dashboard';
631
+ this.generateRequestParams(user);
632
+ return this.http.post(serviceUrl, this.httpOptions);
633
+ }
634
+ getAvailableTeachers(token) {
635
+ let serviceUrl = this.SERVICE_URL + 'post/obtain/teachers';
636
+ this.generateRequestParams(token);
637
+ return this.http.post(serviceUrl, this.httpOptions);
638
+ }
639
+ getRoutesForRole(token) {
640
+ let serviceUrl = this.SERVICE_URL + 'post/routes/role';
641
+ this.generateRequestParams(token);
642
+ return this.http.post(serviceUrl, this.httpOptions);
643
+ }
644
+ generateRequestParams(param) {
645
+ this.httpOptions = {
646
+ header: new HttpHeaders(),
647
+ params: param,
648
+ };
649
+ }
650
+ }
651
+ UserService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: UserService, deps: [{ token: i1$2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
652
+ UserService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: UserService, providedIn: 'root' });
653
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: UserService, decorators: [{
654
+ type: Injectable,
655
+ args: [{
656
+ providedIn: 'root',
657
+ }]
670
658
  }], ctorParameters: function () { return [{ type: i1$2.HttpClient }]; } });
671
659
 
672
- class StorageService {
673
- constructor() {
674
- this.currentSession = null;
675
- this.localStorageService = localStorage;
676
- this.currentSession = this.loadSessionData();
677
- }
678
- setCurrentSession(session) {
679
- this.currentSession = session;
680
- this.localStorageService.setItem('606a7d4e73650b75ebb06972e77d6cc4', JSON.stringify(session));
681
- }
682
- loadSessionData() {
683
- var sessionStr = this.localStorageService.getItem('606a7d4e73650b75ebb06972e77d6cc4');
684
- return (sessionStr) ? JSON.parse(sessionStr) : null;
685
- }
686
- getCurrentSession() {
687
- return this.currentSession;
688
- }
689
- removeCurrentSession() {
690
- this.localStorageService.removeItem('606a7d4e73650b75ebb06972e77d6cc4');
691
- this.currentSession = null;
692
- }
693
- getCurrentUser() {
694
- var session = this.getCurrentSession();
695
- return (session && session.user) ? session.user : null;
696
- }
697
- ;
698
- isAuthenticated() {
699
- return (this.getCurrentToken() != null) ? true : false;
700
- }
701
- ;
702
- getCurrentToken() {
703
- var session = this.getCurrentSession();
704
- return (session && session.token) ? session.token : null;
705
- }
706
- ;
707
- logout() {
708
- this.removeCurrentSession();
709
- }
710
- }
711
- StorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: StorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
712
- StorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: StorageService, providedIn: 'root' });
713
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: StorageService, decorators: [{
714
- type: Injectable,
715
- args: [{
716
- providedIn: 'root',
717
- }]
660
+ class StorageService {
661
+ constructor() {
662
+ this.currentSession = null;
663
+ this.localStorageService = localStorage;
664
+ this.currentSession = this.loadSessionData();
665
+ }
666
+ setCurrentSession(session) {
667
+ this.currentSession = session;
668
+ this.localStorageService.setItem('606a7d4e73650b75ebb06972e77d6cc4', JSON.stringify(session));
669
+ }
670
+ loadSessionData() {
671
+ var sessionStr = this.localStorageService.getItem('606a7d4e73650b75ebb06972e77d6cc4');
672
+ return (sessionStr) ? JSON.parse(sessionStr) : null;
673
+ }
674
+ getCurrentSession() {
675
+ return this.currentSession;
676
+ }
677
+ removeCurrentSession() {
678
+ this.localStorageService.removeItem('606a7d4e73650b75ebb06972e77d6cc4');
679
+ this.currentSession = null;
680
+ }
681
+ getCurrentUser() {
682
+ var session = this.getCurrentSession();
683
+ return (session && session.user) ? session.user : null;
684
+ }
685
+ ;
686
+ isAuthenticated() {
687
+ return (this.getCurrentToken() != null) ? true : false;
688
+ }
689
+ ;
690
+ getCurrentToken() {
691
+ var session = this.getCurrentSession();
692
+ return (session && session.token) ? session.token : null;
693
+ }
694
+ ;
695
+ logout() {
696
+ this.removeCurrentSession();
697
+ }
698
+ }
699
+ StorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: StorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
700
+ StorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: StorageService, providedIn: 'root' });
701
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: StorageService, decorators: [{
702
+ type: Injectable,
703
+ args: [{
704
+ providedIn: 'root',
705
+ }]
718
706
  }], ctorParameters: function () { return []; } });
719
707
 
720
- class BaseService {
721
- constructor(userService, storageService) {
722
- this.userService = userService;
723
- this.storageService = storageService;
724
- }
725
- webLogin(user, password) {
726
- let request = {
727
- user: user,
728
- password: password
729
- };
730
- let service = this.userService;
731
- let storage = this.storageService;
732
- return new Promise(function (resolve, reject) {
733
- service.login(request).subscribe(response => {
734
- switch (response.message.code) {
735
- case 1:
736
- Swal.fire({
737
- 'title': '<p style="font-family: Poppins"">Perfect!</p>',
738
- 'html': '<p style="font-family: Poppins"">Succesfull login</p>',
739
- 'icon': 'success',
740
- });
741
- const loginRegisterUser = {
742
- token: response.data.token,
743
- user: response.data,
744
- };
745
- storage.setCurrentSession(loginRegisterUser);
746
- resolve(true);
747
- break;
748
- case 2:
749
- Swal.fire({
750
- 'title': '<p style="font-family: Poppins"">Warning!</p>',
751
- 'html': '<p style="font-family: Poppins"">The data does not correspond to a user registered in our system, please review them.</p>',
752
- 'icon': 'warning',
753
- });
754
- resolve(false);
755
- break;
756
- case 3:
757
- Swal.fire({
758
- 'title': '<p style="font-family: Poppins"">Error!</p>',
759
- 'html': '<p style="font-family: Poppins"">The input data does not meet the established parameters.</p>',
760
- 'icon': 'error',
761
- });
762
- resolve(false);
763
- break;
764
- default:
765
- Swal.fire({
766
- 'title': '<p style="font-family: Poppins"">Error!</p>',
767
- 'html': '<p style="font-family: Poppins"">An unexpected error has occurred</p>',
768
- 'icon': 'error',
769
- });
770
- resolve(false);
771
- break;
772
- }
773
- reject('Unhandled exception');
774
- });
775
- });
776
- }
777
- getUserRole() {
778
- var _a;
779
- let user = (_a = this.storageService.getCurrentUser()) === null || _a === void 0 ? void 0 : _a.role;
780
- return user === undefined ? -1 : user;
781
- }
782
- getUserToken() {
783
- var _a;
784
- let token = (_a = this.storageService.getCurrentUser()) === null || _a === void 0 ? void 0 : _a.token;
785
- return token === undefined ? '-1' : token;
786
- }
787
- getUserName() {
788
- let user = this.storageService.getCurrentUser();
789
- let response = user === null ? '' : user.name;
790
- return response;
791
- }
792
- registerUserFromDashboard(registerDashboardRq) {
793
- let request = registerDashboardRq;
794
- let service = this.userService;
795
- return new Promise(function (resolve, reject) {
796
- service.registerDashboard(request).subscribe((response) => {
797
- switch (response.message.code) {
798
- case 1:
799
- Swal.fire({
800
- 'title': '<p style="font-family: Poppins"">Perfect!</p>',
801
- 'html': '<p style="font-family: Poppins"">Sucesfull register!</p>',
802
- 'icon': 'success',
803
- });
804
- resolve(true);
805
- break;
806
- case 3:
807
- Swal.fire({
808
- 'title': '<p style="font-family: Poppins"">Error!</p>',
809
- 'html': '<p style="font-family: Poppins"">The input data does not meet the established parameters.</p>',
810
- 'icon': 'error',
811
- });
812
- resolve(false);
813
- break;
814
- case 4:
815
- Swal.fire({
816
- 'title': '<p style="font-family: Poppins">Ups!</p>',
817
- 'html': '<p style="font-family: Poppins">The input data has a high relation with a user that already exists!</p>',
818
- 'icon': 'warning',
819
- });
820
- resolve(false);
821
- break;
822
- default:
823
- Swal.fire({
824
- 'title': '<p style="font-family: Poppins"">Error!</p>',
825
- 'html': '<p style="font-family: Poppins"">An unexpected error has occurred</p>',
826
- 'icon': 'error',
827
- });
828
- resolve(false);
829
- break;
830
- }
831
- reject('Unhandled exception');
832
- });
833
- });
834
- }
835
- jsonToArray(data) {
836
- var response = [];
837
- data.forEach((element) => {
838
- var object = [];
839
- for (var clave in element) {
840
- if (element.hasOwnProperty(clave)) {
841
- if (typeof element[clave] == 'object') {
842
- element[clave] = this.subJsonToArray(element[clave]);
843
- }
844
- object.push(element[clave]);
845
- }
846
- }
847
- response.push(object);
848
- });
849
- return response;
850
- }
851
- subJsonToArray(data) {
852
- var object = '';
853
- for (var clave in data) {
854
- if (clave != 'code') {
855
- object += '\n' + data[clave];
856
- }
857
- }
858
- return object;
859
- }
860
- }
861
- BaseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BaseService, deps: [{ token: UserService }, { token: StorageService }], target: i0.ɵɵFactoryTarget.Injectable });
862
- BaseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BaseService, providedIn: 'root' });
863
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BaseService, decorators: [{
864
- type: Injectable,
865
- args: [{
866
- providedIn: 'root',
867
- }]
708
+ class BaseService {
709
+ constructor(userService, storageService) {
710
+ this.userService = userService;
711
+ this.storageService = storageService;
712
+ }
713
+ webLogin(user, password) {
714
+ let request = {
715
+ user: user,
716
+ password: password
717
+ };
718
+ let service = this.userService;
719
+ let storage = this.storageService;
720
+ return new Promise(function (resolve, reject) {
721
+ service.login(request).subscribe(response => {
722
+ switch (response.message.code) {
723
+ case 1:
724
+ Swal.fire({
725
+ 'title': '<p style="font-family: Poppins"">Perfect!</p>',
726
+ 'html': '<p style="font-family: Poppins"">Succesfull login</p>',
727
+ 'icon': 'success',
728
+ });
729
+ const loginRegisterUser = {
730
+ token: response.data.token,
731
+ user: response.data,
732
+ };
733
+ storage.setCurrentSession(loginRegisterUser);
734
+ resolve(true);
735
+ break;
736
+ case 2:
737
+ Swal.fire({
738
+ 'title': '<p style="font-family: Poppins"">Warning!</p>',
739
+ 'html': '<p style="font-family: Poppins"">The data does not correspond to a user registered in our system, please review them.</p>',
740
+ 'icon': 'warning',
741
+ });
742
+ resolve(false);
743
+ break;
744
+ case 3:
745
+ Swal.fire({
746
+ 'title': '<p style="font-family: Poppins"">Error!</p>',
747
+ 'html': '<p style="font-family: Poppins"">The input data does not meet the established parameters.</p>',
748
+ 'icon': 'error',
749
+ });
750
+ resolve(false);
751
+ break;
752
+ default:
753
+ Swal.fire({
754
+ 'title': '<p style="font-family: Poppins"">Error!</p>',
755
+ 'html': '<p style="font-family: Poppins"">An unexpected error has occurred</p>',
756
+ 'icon': 'error',
757
+ });
758
+ resolve(false);
759
+ break;
760
+ }
761
+ reject('Unhandled exception');
762
+ });
763
+ });
764
+ }
765
+ getUserRole() {
766
+ var _a;
767
+ let user = (_a = this.storageService.getCurrentUser()) === null || _a === void 0 ? void 0 : _a.role;
768
+ return user === undefined ? -1 : user;
769
+ }
770
+ getUserToken() {
771
+ var _a;
772
+ let token = (_a = this.storageService.getCurrentUser()) === null || _a === void 0 ? void 0 : _a.token;
773
+ return token === undefined ? '-1' : token;
774
+ }
775
+ getUserName() {
776
+ let user = this.storageService.getCurrentUser();
777
+ let response = user === null ? '' : user.name;
778
+ return response;
779
+ }
780
+ registerUserFromDashboard(registerDashboardRq) {
781
+ let request = registerDashboardRq;
782
+ let service = this.userService;
783
+ return new Promise(function (resolve, reject) {
784
+ service.registerDashboard(request).subscribe((response) => {
785
+ switch (response.message.code) {
786
+ case 1:
787
+ Swal.fire({
788
+ 'title': '<p style="font-family: Poppins"">Perfect!</p>',
789
+ 'html': '<p style="font-family: Poppins"">Sucesfull register!</p>',
790
+ 'icon': 'success',
791
+ });
792
+ resolve(true);
793
+ break;
794
+ case 3:
795
+ Swal.fire({
796
+ 'title': '<p style="font-family: Poppins"">Error!</p>',
797
+ 'html': '<p style="font-family: Poppins"">The input data does not meet the established parameters.</p>',
798
+ 'icon': 'error',
799
+ });
800
+ resolve(false);
801
+ break;
802
+ case 4:
803
+ Swal.fire({
804
+ 'title': '<p style="font-family: Poppins">Ups!</p>',
805
+ 'html': '<p style="font-family: Poppins">The input data has a high relation with a user that already exists!</p>',
806
+ 'icon': 'warning',
807
+ });
808
+ resolve(false);
809
+ break;
810
+ default:
811
+ Swal.fire({
812
+ 'title': '<p style="font-family: Poppins"">Error!</p>',
813
+ 'html': '<p style="font-family: Poppins"">An unexpected error has occurred</p>',
814
+ 'icon': 'error',
815
+ });
816
+ resolve(false);
817
+ break;
818
+ }
819
+ reject('Unhandled exception');
820
+ });
821
+ });
822
+ }
823
+ jsonToArray(data) {
824
+ var response = [];
825
+ data.forEach((element) => {
826
+ var object = [];
827
+ for (var clave in element) {
828
+ if (element.hasOwnProperty(clave)) {
829
+ if (typeof element[clave] == 'object') {
830
+ element[clave] = this.subJsonToArray(element[clave]);
831
+ }
832
+ object.push(element[clave]);
833
+ }
834
+ }
835
+ response.push(object);
836
+ });
837
+ return response;
838
+ }
839
+ subJsonToArray(data) {
840
+ var object = '';
841
+ for (var clave in data) {
842
+ if (clave != 'code') {
843
+ object += '\n' + data[clave];
844
+ }
845
+ }
846
+ return object;
847
+ }
848
+ }
849
+ BaseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BaseService, deps: [{ token: UserService }, { token: StorageService }], target: i0.ɵɵFactoryTarget.Injectable });
850
+ BaseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BaseService, providedIn: 'root' });
851
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BaseService, decorators: [{
852
+ type: Injectable,
853
+ args: [{
854
+ providedIn: 'root',
855
+ }]
868
856
  }], ctorParameters: function () { return [{ type: UserService }, { type: StorageService }]; } });
869
857
 
870
- class LoginFormComponent {
871
- constructor(fb, baseService) {
872
- this.baseService = baseService;
873
- this.isLogged = new EventEmitter();
874
- this.loginForm = fb.group({
875
- email: ['', [Validators.required]],
876
- password: ['', [Validators.required, Validators.minLength(3), Validators.maxLength(15)]],
877
- });
878
- }
879
- login(data) {
880
- this.baseService.webLogin(data.controls['email'].value, data.controls['password'].value).then((isLogged) => {
881
- this.isLogged.emit(isLogged);
882
- });
883
- }
884
- }
885
- LoginFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: LoginFormComponent, deps: [{ token: i1$1.FormBuilder }, { token: BaseService }], target: i0.ɵɵFactoryTarget.Component });
886
- LoginFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: LoginFormComponent, selector: "ipt-login-form", outputs: { isLogged: "isLogged" }, ngImport: i0, template: `
887
- <div class="form-container">
888
-
889
- <h2 style="text-align: center;">IPT PLATFORM</h2>
890
- <hr>
891
-
892
- <form (ngSubmit)="login(loginForm)" [formGroup]="loginForm">
893
- <ipt-input
894
- [inputType]="'text'"
895
- [placeHolder]="'Email'"
896
- [validateText]="'Debe ser @inglesparatodos.edu.co'"
897
- [control]="loginForm.controls['email']"
898
- ></ipt-input>
899
-
900
- <ipt-input
901
- [inputType]="'password'"
902
- [placeHolder]="'Password'"
903
- [control]="loginForm.controls['password']"
904
- ></ipt-input>
905
- </form>
906
-
907
- <div class="button-container">
908
- <ipt-button
909
- [label]="'Login'"
910
- [primary]="true"
911
- [isEnabled]="loginForm.valid"
912
- (onClick)="login(loginForm)"
913
- ></ipt-button>
914
- </div>
915
-
916
- </div>
917
- `, isInline: true, styles: [".form-container{display:grid;grid-template-columns:1fr;justify-items:center;width:350px}.with-background{background-color:#fff;border-radius:25px;box-shadow:#32325d40 0 50px 100px -20px,#0000004d 0 30px 60px -30px}h2{color:#1c77f7}hr{width:80%}form{margin-bottom:60px;display:grid;grid-template-columns:1fr;grid-gap:30px;gap:30px;width:100%}.button-container{margin-bottom:70px;align-items:center;display:flex;gap:50px}footer{background-color:#1c77f7;border-top-left-radius:25px;border-top-right-radius:25px;width:100%;height:100px;display:flex;align-items:center;justify-content:center}\n"], components: [{ type: InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "list", "iconUrl", "control"] }, { type: ButtonComponent, selector: "ipt-button", inputs: ["primary", "size", "label", "buttonType", "isEnabled"], outputs: ["onClick"] }], directives: [{ type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
918
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: LoginFormComponent, decorators: [{
919
- type: Component,
920
- args: [{ selector: 'ipt-login-form', template: `
921
- <div class="form-container">
922
-
923
- <h2 style="text-align: center;">IPT PLATFORM</h2>
924
- <hr>
925
-
926
- <form (ngSubmit)="login(loginForm)" [formGroup]="loginForm">
927
- <ipt-input
928
- [inputType]="'text'"
929
- [placeHolder]="'Email'"
930
- [validateText]="'Debe ser @inglesparatodos.edu.co'"
931
- [control]="loginForm.controls['email']"
932
- ></ipt-input>
933
-
934
- <ipt-input
935
- [inputType]="'password'"
936
- [placeHolder]="'Password'"
937
- [control]="loginForm.controls['password']"
938
- ></ipt-input>
939
- </form>
940
-
941
- <div class="button-container">
942
- <ipt-button
943
- [label]="'Login'"
944
- [primary]="true"
945
- [isEnabled]="loginForm.valid"
946
- (onClick)="login(loginForm)"
947
- ></ipt-button>
948
- </div>
949
-
950
- </div>
951
- `, styles: [".form-container{display:grid;grid-template-columns:1fr;justify-items:center;width:350px}.with-background{background-color:#fff;border-radius:25px;box-shadow:#32325d40 0 50px 100px -20px,#0000004d 0 30px 60px -30px}h2{color:#1c77f7}hr{width:80%}form{margin-bottom:60px;display:grid;grid-template-columns:1fr;grid-gap:30px;gap:30px;width:100%}.button-container{margin-bottom:70px;align-items:center;display:flex;gap:50px}footer{background-color:#1c77f7;border-top-left-radius:25px;border-top-right-radius:25px;width:100%;height:100px;display:flex;align-items:center;justify-content:center}\n"] }]
952
- }], ctorParameters: function () { return [{ type: i1$1.FormBuilder }, { type: BaseService }]; }, propDecorators: { isLogged: [{
953
- type: Output
858
+ class LoginFormComponent {
859
+ constructor(fb, baseService) {
860
+ this.baseService = baseService;
861
+ this.isLogged = new EventEmitter();
862
+ this.loginForm = fb.group({
863
+ email: ['', [Validators.required]],
864
+ password: ['', [Validators.required, Validators.minLength(3), Validators.maxLength(15)]],
865
+ });
866
+ }
867
+ login(data) {
868
+ this.baseService.webLogin(data.controls['email'].value, data.controls['password'].value).then((isLogged) => {
869
+ this.isLogged.emit(isLogged);
870
+ });
871
+ }
872
+ }
873
+ LoginFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: LoginFormComponent, deps: [{ token: i1$1.FormBuilder }, { token: BaseService }], target: i0.ɵɵFactoryTarget.Component });
874
+ LoginFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: LoginFormComponent, selector: "ipt-login-form", outputs: { isLogged: "isLogged" }, ngImport: i0, template: `
875
+ <div class="form-container">
876
+
877
+ <h2 style="text-align: center;">IPT PLATFORM</h2>
878
+ <hr>
879
+
880
+ <form (ngSubmit)="login(loginForm)" [formGroup]="loginForm">
881
+ <ipt-input
882
+ [inputType]="'text'"
883
+ [placeHolder]="'Email'"
884
+ [validateText]="'Debe ser @inglesparatodos.edu.co'"
885
+ [control]="loginForm.controls['email']"
886
+ ></ipt-input>
887
+
888
+ <ipt-input
889
+ [inputType]="'password'"
890
+ [placeHolder]="'Password'"
891
+ [control]="loginForm.controls['password']"
892
+ ></ipt-input>
893
+ </form>
894
+
895
+ <div class="button-container">
896
+ <ipt-button
897
+ [label]="'Login'"
898
+ [primary]="true"
899
+ [isEnabled]="loginForm.valid"
900
+ (onClick)="login(loginForm)"
901
+ ></ipt-button>
902
+ </div>
903
+
904
+ </div>
905
+ `, isInline: true, styles: [".form-container{display:grid;grid-template-columns:1fr;justify-items:center;width:350px}.with-background{background-color:#fff;border-radius:25px;box-shadow:#32325d40 0 50px 100px -20px,#0000004d 0 30px 60px -30px}h2{color:#1c77f7}hr{width:80%}form{margin-bottom:60px;display:grid;grid-template-columns:1fr;grid-gap:30px;gap:30px;width:100%}.button-container{margin-bottom:70px;align-items:center;display:flex;gap:50px}footer{background-color:#1c77f7;border-top-left-radius:25px;border-top-right-radius:25px;width:100%;height:100px;display:flex;align-items:center;justify-content:center}\n"], components: [{ type: InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "list", "iconUrl", "control"] }, { type: ButtonComponent, selector: "ipt-button", inputs: ["primary", "size", "label", "buttonType", "isEnabled"], outputs: ["onClick"] }], directives: [{ type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
906
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: LoginFormComponent, decorators: [{
907
+ type: Component,
908
+ args: [{ selector: 'ipt-login-form', template: `
909
+ <div class="form-container">
910
+
911
+ <h2 style="text-align: center;">IPT PLATFORM</h2>
912
+ <hr>
913
+
914
+ <form (ngSubmit)="login(loginForm)" [formGroup]="loginForm">
915
+ <ipt-input
916
+ [inputType]="'text'"
917
+ [placeHolder]="'Email'"
918
+ [validateText]="'Debe ser @inglesparatodos.edu.co'"
919
+ [control]="loginForm.controls['email']"
920
+ ></ipt-input>
921
+
922
+ <ipt-input
923
+ [inputType]="'password'"
924
+ [placeHolder]="'Password'"
925
+ [control]="loginForm.controls['password']"
926
+ ></ipt-input>
927
+ </form>
928
+
929
+ <div class="button-container">
930
+ <ipt-button
931
+ [label]="'Login'"
932
+ [primary]="true"
933
+ [isEnabled]="loginForm.valid"
934
+ (onClick)="login(loginForm)"
935
+ ></ipt-button>
936
+ </div>
937
+
938
+ </div>
939
+ `, styles: [".form-container{display:grid;grid-template-columns:1fr;justify-items:center;width:350px}.with-background{background-color:#fff;border-radius:25px;box-shadow:#32325d40 0 50px 100px -20px,#0000004d 0 30px 60px -30px}h2{color:#1c77f7}hr{width:80%}form{margin-bottom:60px;display:grid;grid-template-columns:1fr;grid-gap:30px;gap:30px;width:100%}.button-container{margin-bottom:70px;align-items:center;display:flex;gap:50px}footer{background-color:#1c77f7;border-top-left-radius:25px;border-top-right-radius:25px;width:100%;height:100px;display:flex;align-items:center;justify-content:center}\n"] }]
940
+ }], ctorParameters: function () { return [{ type: i1$1.FormBuilder }, { type: BaseService }]; }, propDecorators: { isLogged: [{
941
+ type: Output
954
942
  }] } });
955
943
 
956
- class SidenavComponent {
957
- constructor(userService, storageService) {
958
- this.userService = userService;
959
- this.storageService = storageService;
960
- this.pageChangeEvent = new EventEmitter();
961
- this.routes = [];
962
- this.options = { weekday: 'long', month: 'long', day: 'numeric' };
963
- this.currentDay = new Date().toLocaleDateString('en-EN', this.options);
964
- this.hour = new Date().getHours();
965
- }
966
- ngOnInit() {
967
- var _a;
968
- let user = (_a = this.storageService.getCurrentUser()) === null || _a === void 0 ? void 0 : _a.token;
969
- let token = user === undefined ? '' : user;
970
- let request = {
971
- token: token,
972
- };
973
- this.userService.getRoutesForRole(request).subscribe((response) => {
974
- this.routes = response.data;
975
- });
976
- }
977
- clickPage(event) {
978
- this.pageChangeEvent.emit(event);
979
- }
980
- logout() {
981
- this.storageService.logout();
982
- this.pageChangeEvent.emit('logout');
983
- }
984
- }
985
- SidenavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SidenavComponent, deps: [{ token: UserService }, { token: StorageService }], target: i0.ɵɵFactoryTarget.Component });
986
- SidenavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: SidenavComponent, selector: "ipt-sidenav", inputs: { department: "department", setPage: "setPage", userName: "userName" }, outputs: { pageChangeEvent: "pageChangeEvent" }, ngImport: i0, template: `
987
- <mat-sidenav #sidenav mode="push" >
988
- <mat-toolbar color="primary" (click)="sidenav.toggle()">
989
- <span style="font-size: 15px;">{{department}}</span>
990
- <span class="menu-icon-close"></span>
991
- </mat-toolbar>
992
-
993
- <mat-nav-list *ngFor="let route of routes">
994
- <nav class="flex-container-menu">
995
- <ipt-aside-button
996
- [buttonActive]="this.setPage === route.page"
997
- [icon]="route.icon"
998
- [text]="route.text"
999
- (isClicked)="clickPage(route.page)"
1000
- (click)="sidenav.toggle()"
1001
- >
1002
- </ipt-aside-button>
1003
- </nav>
1004
- </mat-nav-list>
1005
- </mat-sidenav>
1006
-
1007
- <mat-toolbar class="header">
1008
- <div class="menu-container" (click)="sidenav.toggle()">
1009
- <p>Menu</p>
1010
- <div class="menu-icon"></div>
1011
- </div>
1012
-
1013
- <img class="img-logo" src="./assets/logos/IPT-logo.png" alt="" />
1014
-
1015
- <div class="text-container">
1016
- <span class="p1">{{ currentDay }}</span>
1017
- <span *ngIf="hour >= 0 && hour < 12" class="p2">
1018
- Hey {{ userName }}, Good moorning!
1019
- </span>
1020
- <p *ngIf="hour >= 12 && hour < 18" class="p2">
1021
- Hey {{ userName }}, Good afternoon!
1022
- </p>
1023
- <p *ngIf="hour >= 18 && hour < 24" class="p2">
1024
- Hey {{ userName }}, Good evening!
1025
- </p>
1026
- </div>
1027
-
1028
- <div class="logout-container" (click)="logout()">
1029
- <p class="logout-button">Cerrar sesión</p>
1030
- <div class="photo-logout"></div>
1031
- </div>
1032
- </mat-toolbar>
1033
- `, isInline: true, styles: ["*{font-family:Poppins,sans-serif}@media screen and (min-width: 320px){.header{background-color:#fff;display:flex;justify-content:space-between;filter:drop-shadow(0px -1px 7px #000)}mat-sidenav{width:-moz-fit-content!important;width:fit-content!important;background-color:#1c77f7!important}.img-logo,.text-container{display:none}.mat-toolbar.mat-primary{background-color:#fff!important;color:#003d99!important;filter:drop-shadow(0px -1px 7px #000)}.logout-container{box-shadow:#11111a1a 0 8px 24px,#11111a1a 0 16px 56px,#11111a1a 0 24px 80px;height:35px;width:auto;border-radius:30px;display:flex;margin-left:10px}.logout-button{display:flex;align-items:center;color:#1c77f7;font-weight:500;font-size:16px;margin-left:20px;text-align:center;width:150px}.photo-logout{background:url(data:image/png;base64,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);background-size:25px 25px;background-position:center;background-repeat:no-repeat}.menu-icon{background:url(data:image/png;base64,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PB5Vyd4HoMZ2FwO2QfCNpVXV8yDmd4XKFTvvC/gVgDrbXYiI3sOqUNY9u+2myg7bRd5P4AcAAJi8bFm45MDRlwnkOgDDbffxheBJ18Flj1bWBPqACZLYnNSp6uJmAIfb7kJEBGAzBDfIyL4fxJuC/8RWTgwAu9QlEgcL0tcDcr7tLh5aI9BrcvJ1vgFQ85XVQzKZwV+F4hoAxbb7EFFhUuDhUEgubf9J2cu2u/RXTg0Au9QlWk8Q4DsAjrHdZR+8LYIF2T698dHa4N0ckmvGN7xQ40r2OihmIEePayLKQSp/EeDa+MKyZbarDFROf1BOj686VkSuUsgptrsMwBtQvSVTmp73+LhJ79guk28is7vHO45+TRVnAwjb7kNEeeuv4uD6+Lzyh2wX2Vs5PQDsMj3Z+gkAc3Z++yux3WcP4qLyP0OHb/z54sOP4bbHPqu6oqfCcbNXisqZCoyw3YeI8sI2CP4o4t4Yn1f5rO0y+yovBoBdTuhZMaJoe9FndMc9AsfD/r/vbSh+A7h3LY1NeMpyl4JUNitVUhLGNHVxPoDTABTZ7kREuUWAla7qXdkivafrxso3bffxiu0TpG/q29rGuWGcJqpTARwHYKiBWAXQJpBlrrpLt7/+9uPLp0zJGMilftjx+GDmNECOF2CyAgfY7kREgbRRgT85gmWZTPZBm6/s9VPeDgDvNnnZsnDxQft/3FGdKtCjAKdSoWOwz78Ry5tQt1PFaYViuVOcXtZcfuQbnpQmn6mMb+itzkp2qiiOBVAJoBzB/QmJiPyRAdALRQcEf3cFyw4a+co/ljfl/5e3ghgA3svMeLx4i+uOy4ZQBdExcHW4AEMVMgyCkQCGQrAFLjYJsEmBTSJY7ypeFwcdaRR1cae+PDNTQ9WHpT6SVadSXbfCAYbDcYYq3JGqzjBRHQrIINs1iWgAxO2DyCZA10NlIwSbBNjgQl4IZ7IdxX0be1beNiltuyYRERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERER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gNFwD/hlCJY1J2vvc11IlE1d0feG8gH9hkCvcF0L0REoFPdKPrc0czcbeoqWyDcAAABVmdfRtkhF7oDiTa7LKQSBPohBXL+uru5Z17UUi/SS3gtV9OsAkq5rIXoNRbf6ekPHyooNrkshOpziaAAO+Ncnnpg0MMb7HFRuAOC7rick3QZy4/pUzcOuCylGZ123pfSVMRMXi8h/Ahjnuh4iAK9AcIdMyt2WqU/nXBdD9HqKqgEYMr+zfYYac6tCFqBI/x8A/FEFX3lhb+6erTNmDLoupthV3tg5xff9zwC4GkCp63poVNovwPd8g9vamhJcyaPIK9aLJwBgfkdbjVG9GZArUTwrAjsU2rB/7MR7Hp0yZcB1MXGTXtr3FoV+UqAfVWCs63poVNgLyHdLjN7BCz8Vk6JuAIYsaG9PBiW6VBWXCTDJdT2HoQB+I4p79u3825pHL7ww77qguDuwi+ASARYpd5ekQhA8DcX9OYO7epsSz7suh+hoxaIBGDKvp6cc+VdmK2QRFO8HUOa2In1aIT+G+t9pSad73dYyStWrl961/VyVYBFUrgAwwXVJVNR2i+AXRvT7HSsTjwCjZ2tuip9YNQAHm9fz+IkmV/I+EcwEMBPAKRZi9wP4nQg2GmOaW9LTuaNhhKQXZ8Zradk8QGYBOhMAt5ym4ehQxUZAHtnjlzc/u3LyPtcFEYUhtg3AoWZ3tVV5gc5UeOcIUKXQimO8XZAHsB0qXeKh3ahumjih/7drJ5/LL4ciUfvxntMGPZkJ6HkCVAKoAuL5mikNl/xFoV0C6YTobxSDGzsaUn9xXRVRIYyaBuBwZrW3n1RWolXGYKpAJijMeIhM9KBvUMh4KF4B0K9Av4j2i8jLUOxUTzue7x/czqf346fm+qePD8r2V6hKhedhIhTjDXA8FOPh6XhROc51jXQsZC+g/QD6BXjJAHtE8LKo173fmC7uz09EREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREFBf/B8Kmi42RK6xDAAAAAElFTkSuQmCC);background-size:25px 25px;background-position:center;background-repeat:no-repeat}.menu-icon-close{background:url(data:image/png;base64,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);background-size:25px 25px;background-position:center;background-repeat:no-repeat;width:35px;height:35px}.menu-container{box-shadow:#11111a1a 0 8px 24px,#11111a1a 0 16px 56px,#11111a1a 0 24px 80px;height:35px;width:52.5px;width:auto;border-radius:30px;display:flex}.menu-container p{width:85px;display:flex;align-items:center;color:#1c77f7;font-weight:500;font-size:16px;margin:0 0 0 15px;text-align:center}}@media screen and (min-width: 768px){.img-logo{display:flex;width:120px;height:60px}.text-container{border-radius:40px;height:45px;width:100%;display:flex;gap:-100px;justify-content:center;flex-direction:column;align-items:flex-start}}.p1{color:gray;margin-left:30px;font-size:13px;height:20px}.p2{margin-left:30px;font-size:14px;font-weight:600;color:#1c77f7}.flex-container-menu{font-size:18px;color:#fff!important}.mat-nav-list{padding:0}\n"], components: [{ type: i3.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { type: i4.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i5.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { type: AsideButtonComponent, selector: "ipt-aside-button", inputs: ["icon", "text", "buttonActive"], outputs: ["isClicked"] }], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1034
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SidenavComponent, decorators: [{
1035
- type: Component,
1036
- args: [{ selector: 'ipt-sidenav', template: `
1037
- <mat-sidenav #sidenav mode="push" >
1038
- <mat-toolbar color="primary" (click)="sidenav.toggle()">
1039
- <span style="font-size: 15px;">{{department}}</span>
1040
- <span class="menu-icon-close"></span>
1041
- </mat-toolbar>
1042
-
1043
- <mat-nav-list *ngFor="let route of routes">
1044
- <nav class="flex-container-menu">
1045
- <ipt-aside-button
1046
- [buttonActive]="this.setPage === route.page"
1047
- [icon]="route.icon"
1048
- [text]="route.text"
1049
- (isClicked)="clickPage(route.page)"
1050
- (click)="sidenav.toggle()"
1051
- >
1052
- </ipt-aside-button>
1053
- </nav>
1054
- </mat-nav-list>
1055
- </mat-sidenav>
1056
-
1057
- <mat-toolbar class="header">
1058
- <div class="menu-container" (click)="sidenav.toggle()">
1059
- <p>Menu</p>
1060
- <div class="menu-icon"></div>
1061
- </div>
1062
-
1063
- <img class="img-logo" src="./assets/logos/IPT-logo.png" alt="" />
1064
-
1065
- <div class="text-container">
1066
- <span class="p1">{{ currentDay }}</span>
1067
- <span *ngIf="hour >= 0 && hour < 12" class="p2">
1068
- Hey {{ userName }}, Good moorning!
1069
- </span>
1070
- <p *ngIf="hour >= 12 && hour < 18" class="p2">
1071
- Hey {{ userName }}, Good afternoon!
1072
- </p>
1073
- <p *ngIf="hour >= 18 && hour < 24" class="p2">
1074
- Hey {{ userName }}, Good evening!
1075
- </p>
1076
- </div>
1077
-
1078
- <div class="logout-container" (click)="logout()">
1079
- <p class="logout-button">Cerrar sesión</p>
1080
- <div class="photo-logout"></div>
1081
- </div>
1082
- </mat-toolbar>
1083
- `, styles: ["*{font-family:Poppins,sans-serif}@media screen and (min-width: 320px){.header{background-color:#fff;display:flex;justify-content:space-between;filter:drop-shadow(0px -1px 7px #000)}mat-sidenav{width:-moz-fit-content!important;width:fit-content!important;background-color:#1c77f7!important}.img-logo,.text-container{display:none}.mat-toolbar.mat-primary{background-color:#fff!important;color:#003d99!important;filter:drop-shadow(0px -1px 7px #000)}.logout-container{box-shadow:#11111a1a 0 8px 24px,#11111a1a 0 16px 56px,#11111a1a 0 24px 80px;height:35px;width:auto;border-radius:30px;display:flex;margin-left:10px}.logout-button{display:flex;align-items:center;color:#1c77f7;font-weight:500;font-size:16px;margin-left:20px;text-align:center;width:150px}.photo-logout{background:url(data:image/png;base64,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);background-size:25px 25px;background-position:center;background-repeat:no-repeat}.menu-icon{background:url(data:image/png;base64,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PB5Vyd4HoMZ2FwO2QfCNpVXV8yDmd4XKFTvvC/gVgDrbXYiI3sOqUNY9u+2myg7bRd5P4AcAAJi8bFm45MDRlwnkOgDDbffxheBJ18Flj1bWBPqACZLYnNSp6uJmAIfb7kJEBGAzBDfIyL4fxJuC/8RWTgwAu9QlEgcL0tcDcr7tLh5aI9BrcvJ1vgFQ85XVQzKZwV+F4hoAxbb7EFFhUuDhUEgubf9J2cu2u/RXTg0Au9QlWk8Q4DsAjrHdZR+8LYIF2T698dHa4N0ckmvGN7xQ40r2OihmIEePayLKQSp/EeDa+MKyZbarDFROf1BOj686VkSuUsgptrsMwBtQvSVTmp73+LhJ79guk28is7vHO45+TRVnAwjb7kNEeeuv4uD6+Lzyh2wX2Vs5PQDsMj3Z+gkAc3Z++yux3WcP4qLyP0OHb/z54sOP4bbHPqu6oqfCcbNXisqZCoyw3YeI8sI2CP4o4t4Yn1f5rO0y+yovBoBdTuhZMaJoe9FndMc9AsfD/r/vbSh+A7h3LY1NeMpyl4JUNitVUhLGNHVxPoDTABTZ7kREuUWAla7qXdkivafrxso3bffxiu0TpG/q29rGuWGcJqpTARwHYKiBWAXQJpBlrrpLt7/+9uPLp0zJGMilftjx+GDmNECOF2CyAgfY7kREgbRRgT85gmWZTPZBm6/s9VPeDgDvNnnZsnDxQft/3FGdKtCjAKdSoWOwz78Ry5tQt1PFaYViuVOcXtZcfuQbnpQmn6mMb+itzkp2qiiOBVAJoBzB/QmJiPyRAdALRQcEf3cFyw4a+co/ljfl/5e3ghgA3svMeLx4i+uOy4ZQBdExcHW4AEMVMgyCkQCGQrAFLjYJsEmBTSJY7ypeFwcdaRR1cae+PDNTQ9WHpT6SVadSXbfCAYbDcYYq3JGqzjBRHQrIINs1iWgAxO2DyCZA10NlIwSbBNjgQl4IZ7IdxX0be1beNiltuyYRERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERUksV3AlvrUcwdIOhzJQiscccao6ggAQyEYAsVIAEOhuhVwNkGwGaob4OgGKF6HotNxtOO1zZnelZMmpW3/W8gbY6/qGTGoL1PpZp1KOFIuihFQHQrBMBWMEMUQAUpt96S9p8A2AJsAbBBgg0I2A7oegi5HnM5tGbere1H5Bts9iUwoiAHgtOefH7mt2DlOxJmq0KMAVAIY5cHSaQAvQNCqij85GlrWHIslPFiXfHbYnJcHDc/2HQNxpypwjAARAAfa7kWBsAZAB4CnHMGybVk83b2ofLvtUkRey9sBoD6x+mhAPquCKVAcCSBkKHqtKJZBtKXIKXnwj1VVGw3l0geovryzynVkpisyVYBPACix3YmCT4CtCv0bRJ4QkcXxeWXdtjsReSGvBoD61asPQ5Gcq8DnAVTY7gNgGwQPCfSura++3bx8ypSM7UKFpvrLL41yi9IzVfQCAMcgz455Mk+Ala7qXdkivafrxso3bfch2lu5/2GoKvUdraeoizkQ+TQAx3alPVijip9nnKKFT0Qib9kuk++iDV1HKZyvCfQUAMW2+1Be2ibAH1zB3OT88udslyEaqJwdAJpUnWc6Wk9WlW8DmGS7zwBshugvwo7Ofbhywr9sl8k3sYaeY124Vwlwiu0uVFD+KiLfjs8ve9J2EaL+yr0BQFWmd7SeBVe+DUGV7Tr7YJsofo7izHXN5Ue+YbtMrhvfmJrsKr4H4JO2u1BBW+YKvtExv/xp20WIPkhODQAnJp4vDyF0E4Bptrt4RYH1gDYNj3TetFjOyNruk2til/YehOLMXFWchxw7nilvqQju3p7Fld2LyjncU2DlxAfmqStWDE4PKvoaRK5G/t65/ZyjeumSWO0ztovkhCZ1Iut6zhPoTwDsZ7sO0XtYp6rfSa4tvwmLhcM9BU7gB4BpybZjHNV7ABxhu4sBWQVu2P7aW9/kEwN7Nn5Wapzr6H2AfMx2F6IPpk8JQufGF4z7p+0mRO8W3AFAVeqSrbMFMheFdhe34B+u6JmPVtX22q4SNJHZ3Z8V0V/Am42ciIwQ4B1AL44vqPit7S5EuwRyADg+mdyvSNO/AnCy7S4WvaOiF7dEavmBAaBsVqqk2JG5gM623YVoLykgi2TU9q/Gm2J9tssQBW4AmJZYPd6BLAFwuO0uAaAQ+c7SSPV3bBexaXzDCwdmkX1YcutxT6I90KfESX8mPi/2tu0mVNgCNQCcFF99lCvOw4Dub7tLkIjgjq2vvvWlQrwvoKoxeYTjhlsggdjZkcgrCSck09t/Uvay7SJUuAIzAExLtp3iqN4PYLDtLgH1h2HDNp29+PBjttouYkpkdvd4R3SpAofa7kLkgzWu40zvmDeuzXYRKkyBGADqEm3nC/R2AGHbXQJNddk2hGcsj8U22a7it1hDz7GA+7ACI2x3IfLRW47jTG+fN26F7SJUeKwPANPjq2dA5Lfgyb9/BE9KeNBJzeX5+3rSqjk91Y7r/gm8058Kw1uO6Kfa51ckbRehwmL1xTn1ydZPQ+R+8OTff4qpmt72yybVoL70aJ9Uz+ka67juo+DJnwrHfq7Ko7GGng/bLkKFxdpJ5KRka7UqHgRQaqtD7tKz/p5sX2S7hdfKZqUOyGalGcBBtrsQGXaYwm2OzYmPtl2ECoeVAeDEjucOcRUt4Le8faCXTk+0zrHdwitHXNhbWuKgmXf7UwGLarbk9xO/tKLIdhEqDMYHgCZVJ+SG7wRwsOnsPDS3vqM9L95+N3hEdr4CE233ILJK9FPbBo/8nu0aVBiMDwBPJ9uvA3C86dw8FVbXve/4ZDKnX4YTnZ06A9BLbPcgCgJV/Wp0duoztntQ/jM6ANR1tE8R6NUmMwvA4UWa/hVUrT/RsTdic7rLIPiZ7R5EASIQ3BG57IWP2C5C+c3YAHBq54r9Hde9D0DIVGYBObk+0X657RIDNblpWVhdvR/AcNtdiAJmlISzdwK5OdhTbjA2APRli69X4EBTeYVGRb9/SueqnNox7431h80GcKTtHkQBdVykofvztktQ/jIyANTFV31cgAtNZBWwYems3Gi7RH/FLu09CIpv2+5BFGQCzK24spPvRiFf+D4AzNQHQhD5HxNZhU4gZ9bHW+tt9+iXosx8bvNL9IFGh7PyfdslKD/5flLelKycJZAJfufQDiqYPzMeL7bd4/1E5nSdoMCZtnsQ5QSVL0RmpY62XYPyj69b8E5bvXqIQr7uZ4YHMgBWQNGqjnTBxcsqWAfBZlEdDMUQB7IfRCtVUAWVYwL+uuKKTU72QgC32S6yJ5KV79t/C8X7UgBxFV0pkE6BvgjXWaeh7GY3G9piuxztPRF3iIgzROCOdOGMdaCVqpgIIGq72/twxNHvATjBdhHKL75+DO/cqe4nfmbspS0QPOhCfl0qRX/6Y1XVxn7/l6oyvbO9Gq7OAHA+EMCd6xQvbHv9rcrlU6ZkbFfZ3fhZqWmugxbbPd5DRiAtEPee7Vl5vHtR+Ru2C5E5sUt7D3KLstMgeq6jOF4D+LSSuvhEclH53233oPzh2wBQn0qVaHrrCwAO8StjL6yF4AYJD/p5c3n5Bi8WrE+2flpduQaidV6s5xWFXNASrb7Ldo/dRRtSfwJwnO0e77IBwC2SDi+I3zLmVdtlyL6aWanD0g6uEOBLAIbY7rOLAg8nF5SfarsH5Q/fBoC6eNt/i+itfq0/QJsF/7+9O4+Sq6rzAP79vddLQhYDI4JAxIRUd1dVLxEiKCJCcswqOIwS1ohyRjwEzKJAPM5R2mVQREx3GlHcAKNijCbS8dIAABQRSURBVHpGh0O6Q0gYF+JoAnR3qnoPAXEhIIGkQzrV9e5v/iDtxBBMp/Pq3levv5//ud8f6Vv1fnXfe/fiCygd21CoY3TndrS9E4q7EJHX2hToeGeyprpexLiuZUh6ad95CvNr13UAgACBit7t7y+/tf0bp+9yXQ9Fz7SP95xYLrhNBdciGg8xqxjztkxTZavrQigeCjKp61U9gd5ciLFHYENe/dS6VO3thbr4A0BzsnbzhGTn2QJdDqBgOcMlQHJztj1SvxYMzArXNRyQUYO3ZxsqlvDiT6+ntynxfGZV4qNGcB6AXtf1ABD1vFtcF0HxUZAG4Hed286HYGohxj4KgQKffUeyZs6GdPoZG4FrZWGwLlXXoNBzAfTZyPynJDp7L6QXP3WyAHNd1wHg3rH7xp2dbUo84boQKg6dDYnNOYOzIPiJ61oEuGTqij6+PkuhKEgDINAPFWLco5BTlStbUrVfcLEE3pKqe1zVPxvAY7azDybA/Iu6tkTijQUtDa5Cgd86OWINwO3ZxsS1W791Cp/kp6PS25TYnW2YdjkEn3NZhwJjywfMB13WQPERegNw0ZYtx6niA2GPexQGFFjQkq5x2q23pNMvDqg/B8D/OCyjLBeUReR9e73aZThUr+9oTPAgKjoGotmGRL1CnS7De4JFLvMpPkJvAPJjyy6Bu8NdAhW9uiVVu8FR/j94NJ3ul9KxFwN43FUNAri88AIAkkt6qwE42wxKgE9nV1V801U+xUtHY8UdAL7sKl8V51fe2DnFVT7FR+gNgAouDXvM4RLoTS3Jup+5yj+cdYnEbkXJ+wR4zlEJ75ifzTo9VtSDudxVtgDfzTQmnH1ZUzxlG6d9GsBaR/HieyUuV1kpJkJtAC7Vn/gKvCfMMYdLoA+uS9Y2usg+kpZU6i/G864AELjIDzQ/00XuEBWZ5Sh625h945Y4yqZYE5XB3LUC6XIU7/QzTfEQagOwJ5M6U4BJYY45TM/npOzDEFEH2cPSUlW9SYEmF9kicPZlUXlL5wQAMxxE5z34V/GBPyqUzN3pflFcC8DFXhvnp+ujfeYHRV+oDYB4xsmFRhUrHkkm/+Yi+2iUe2WfBfAnB9GufoHDy3nnw83T/43bGqe2OcilUWTbqmmPCXCvg+hx2DXmbAe5FCOhNgCqcmGY4w0rE/pkS6rmPtu5I/HqmQNyq4PoN8/uaqtykAtxMCcA7MoZfN5BLo1Cfql8GoCDlSY3P7goPsJrAFQFoueGNt6wc70vRXnp/1AT1FstgJWNiQ4mgZ5nO/OAd9kOVJG7epvCOeuB6Ejavjptp4h823auEfufLYqX0BqAeW1tpwKYENZ4w7RjYqojUk/9H8nadDpnRFbZzvUUTlYAAOu5ucAPrP/70iin8jVYfhZAFEmbeRQ/oTUAplSsX2BU8f21stDJk/XHQnNmNQCrR/UqPOvHFqcXP3UyLD8UqpAHu++sfMFmJlGm8YxnADxqOfa09OLMeMuZFCNhPgNQGeJYw+J75oe2M8Owvq5uJ1QesZkpYn8FIPDz9ueEFOecoBhQ/YHlRFG/LGE5k2IktAZAxHYDoE8/lJzebTczRJ6utxmn0CmXZuy+NuSLWJ0TAgQlKN1oM5NoSGBMi+1M9cT6yh7FR2gNgCqmhTXWcIhIUX/Ra+BZXQEAULLXG3yr1USxOydUsfXJhikv2cwkGtJ1V9Wf7W8MZLgCQCMW3goAcHxYYw2Hqm6xmRe2iensNgADNjMDY3mTJlWrc0IEW23mER1KoVbnoKhY/YxRvIT5DIDdNwAUbrbgDMmBhxe328wUiN2/kdidE0a1qOcEFT+B3e8ltfwZo3gJsQFQq0+jGt/uxbMgBL128zzLpzSK1Tnh+VL8c4KKmgr6bOZ5UDYANGIhNgBi9eJSmpPiv9er+rLVOMDqBVnV7rHQClP8c4KKmmf5Mw14bABoxMK8BTAuxLGO6Djf32szrzDE8m51ancFQOyuCiHv9VvNIzpEAFj9TNtusileQj0LgI6OQqz++3tQ26eWWd2iWX2IzTyiQ/li9zOtokW3ERpFR5iTdU+IYx3Ri17xL32JWP5FrnZXHETszgkN+EAUuWX7oTxRu58xipcwGwCrF5cSY4r/9Re1++qkAawukauxOyfE5ytR5JYxlueg5Sab4iXMBsDy/de81U1mCkEgdjfx8D279ydFrM4JMXY3HiI6lAdY3phH2ADQiBXtLQDPwd72Ybo0kylT6BSbmT7U6t9IxNjNg1o/e4DoYCpqd2tey58xipfwGgCVv4U21nDiIGfbzAtbv+TPBFBiMzMPY/VvBGN3TkBwjtU8oteyOgfF8vcuxUuIWwEbqwfzCDATqsX81Pcsy3n731DZ9YzNQPHU6pxQoLr2pt432cwkGpJe3jsNitNtZhq1ffYAxUl4KwCe3YmowEnzsq3TbWaGSeHNtZknQM+B7YetCawfjAIZzOkcy5lErzKw+pkGAPHtNtkUL+GtADjYm1/hXW07Mwzzs9nTAX2X1VAHvxR8ydn/deKhKOcEFT9VXWQzT4Agl7e8nTjFSmgNwP7A/gVGBFfN6+kpt517rIwOfgSwvGmNZ79By6xMvyjA8zYzPcWs9NK+t9jMJKpe1p2EwOpzSQrs6G1K7LeZSfESWgPwSE3NcwAsPwiIk5Dfd43NzGM1u7V1HMS7wXqw0az1TAAQWM1VwFcJbrKZSRQAK6yHqt3PFsVP2NtW/irk8Y5IDVactWVLqe3ckfJLvOsBfaPt3MCI9b8NABjYzxWVf08vfupk27k0OtUs754qKlfaT3bzmab4CLUBEJVNYY43vFBMfeNxZcut547ArPb2k4zof9jOFUjP+pqaP9rOBQDPwPqcUGAsSvO3286l0SkwshKA9R8h6ulG25kUL6E2AAaBkwkpwGdffbAu2kpL9E4BJtnOVXH3RbF3t79ZgH22cxVYVL2s5wLbuTS6pJf2XAzgYgfRL3ZMmvakg1yKkVAbgJZUXRbAX8Mcc5jGBcivifKtgHnZ9suguMpFthpx1gDsuG/KgAKbHUSLUayu+GSX9dstNDpUL91+kgL3OIrfhHqxfbonxUy4zwCIqChcrQKcc+K40ttcZB/Jgvb2pEK/4yg+8MoG7d+aOZhgg6Pk00rz/n24VH1H+RRTZ123pVQlWAPAybMmKnjERS7FS/hnV3v649DHHC6Vm+ZlW5c5yz+M93Y+fkrg60MAxjspQGXDusSZVl/FO5RB/gEA6iJboQtSp/R93UU2xZXKvrGTvqWK9zgqIO+r/3NH2RQjoTcAO/cONkOwM+xxh0shd87Ltn7IVf7B5mcyJ5eYkhYAb3VYxg8cZgMAOhuSOwD82l0F+rHU0p4vAUW9dTRFQb16ySW9TYB+2FkNinXbGqc+5yyfYiP0BmDrjBmDovJA2OMeBU8h983Jtt3isAYs6G6bqmJ+pUC1wzL2DsD7L4f5fycQ143Ip5LLeu69oH6T1QOYKD7S9Zmy1K7e1SKwv4/HwQSrneZTbIR/CwBAIOp6gooAt8/Ntn5/dmvrONvh8zpaLwry+INCLZ8N/ho/fTSd7ndcAwBgv9E1Lt4GOJioXPPcrtMerryx8xSXdVDxqf5E72TdVbYRgIP3/f+fAC/v9sY86LIGio+CNADrk7VbFRqBV1RkkVcq/zs/02rliM6LOzsnzO1obVSVXwA4wUbmP+MB33Ndw5DepsRuBX7mug4BLvB9f2tqSc/7XddCxSG9rPsKE+gTAOye33F4P3x25WSnjTTFR8Huic7JtC8U0TWFGv8oGSi+48G/9aF0OvTXFOtVvc2d7ZeL4isATg17/BF6rDlVG4UvrL9LLumtFtE22D4H4XUo8KBBcFNXYxWPVKXXqF66vdYgWAlgputaDhgMgqCy666qp1wXQvFQsC/ielXvdx3tWQCVhcoYgQEA3w0QND6celvPsQ526R8fG7unf/xlMFgBQVUI9YVGFPPXpWvXua7jUOml3T9XyCWu6ziIgeCnIubOzMrK37suhlxTSS/rO1ehN0NxMSLSrAKAit7f0VDxYdd1UHwUdHLP7Wi9Bir3FTLjGGxW6BqobmhJT88M9z9a0NZ2vCnBe1Txfgj+DcDEAtY4IgJsXZeqneG6jsOpXt43wxjzB9d1vI4Ohf7I83R95tmKrVgrgeuCqPAuqN9U8sKLk882onPw6j3+aa5rOpQAQR5BmqtVFKaCNgBnbdlSeuJxZV0AphQy51gJ8ByANgW6FXjGE7yk0D1ivLFGzASBvBGCSiiqAKQARHtjGZEPNCdrIvuecGppzzoAc13XcQS7RfCEUXQLsAOqL8KTPVDkXBdGx6RcBRMAOcFTnaLQSkCmw9U+HcMkwJpMY+Jy13VQvBR8eWtuR+sVUPlRoXNoiPz+Hcnqd9ZLdLcJrVreV+MZ8zgAvpJHdGS5AEEtf/1T2AryFsDBmpN1DwDcttKSwFPvY1G++ANA58oz2gG523UdREXiy7z4UyEUvAEAgADB9QD228gazRRoeiidjsDrl0eWM/oZAH92XQdRpAmeHrtvHI+2poKw0gA8nHpbD1S/ZiNrFPtrUJ6rd13EcPU2JXZD4HS3RqKo81Rv3PqtU15xXQfFk5UGAABK9w1+EUC3rbxRR+SGDWfMeNl1GUcj25D4IYBm13UQRZEAa7Y1VnDXPyoYaw3Af8+Y8Yon+CAcbwcbU1+P8lP//0zO4EMC/Ml1HUQR07dvjPcx10VQvFlrAADgoWRtu6p8wmbmKNA2YUL/za6LGKnepsTzBnolgLzrWogiYr9RuWz77WcU1YoeFR+rDQAAtKRrvokIHFEbE/3wdOHayecW9apKR2PFrxT6Odd1EEWBQG7qXDVtq+s6KP6sNwAAUOaVLRZgm4vsGDEQuaa5qi4Wrwd1HJ+4TQHe76RRTSEPZBqn3eW6DhodnDQAv6yq2pP38nMA7HCRHwcK/USx3vc/rHoxe7wxCwH9jetSiBzZNGj0I66LoNHDSQMAAA9XnflnVf+9B7bhpaOgis+3pOoaXdcRtmdXTt43MMZ/HwStrmshskmhbQNjvEt6mxLcL4WscX7S1dxt294Oz2xExPfijgoFvt2Sqr3OdR2FVLG869QS9X4LxemuayGyoM+D/65tjVP5Y4iscrYCMKS5uvoPELkIwG7XtUSdCO6dmOy83nUdhda9svJPxvNmA7LDdS1EBaXo1rw/ixd/csH5CsCQ2dnWag/SDOBU17VEkuiq5qraZRBR16XYklyWfbNo6UMApruuhShsCmwpLZUFbV+dttN1LTQ6RaYBAIDZna1TfOO1KDThupYIUUBXNKfq7nBdiAvTlz01KWeCX0L03a5rIQrRxpzBJb1NCa58kjPObwEcbH1V3VO5AO8G5Peua4mIfYBeOVov/gDwZMOUl3b75XMA/Mx1LURhUNH75fjcPF78ybVIrQAMuWDTppLyk/7liwLcgojWaEEXPFnYXFXT5rqQqEgv6b1ORVcBKHddC9EIDKjqpzpWVcTuDR4qTpG+uM7NtF4MkXsBnOC6Frt09YCWLH40ne53XUnUJJf1nCmKnwA4w3UtRMMlkC6Bt3Bb41Q29BQZkW4AAGB+Nnu6QX41gNFwD/hlCJY1J2vvc11IlE1d0feG8gH9hkCvcF0L0REoFPdKPrc0czcbeoqWyDcAAABVmdfRtkhF7oDiTa7LKQSBPohBXL+uru5Z17UUi/SS3gtV9OsAkq5rIXoNRbf6ekPHyooNrkshOpziaAAO+Ncnnpg0MMb7HFRuAOC7rick3QZy4/pUzcOuCylGZ123pfSVMRMXi8h/Ahjnuh4iAK9AcIdMyt2WqU/nXBdD9HqKqgEYMr+zfYYac6tCFqBI/x8A/FEFX3lhb+6erTNmDLoupthV3tg5xff9zwC4GkCp63poVNovwPd8g9vamhJcyaPIK9aLJwBgfkdbjVG9GZArUTwrAjsU2rB/7MR7Hp0yZcB1MXGTXtr3FoV+UqAfVWCs63poVNgLyHdLjN7BCz8Vk6JuAIYsaG9PBiW6VBWXCTDJdT2HoQB+I4p79u3825pHL7ww77qguDuwi+ASARYpd5ekQhA8DcX9OYO7epsSz7suh+hoxaIBGDKvp6cc+VdmK2QRFO8HUOa2In1aIT+G+t9pSad73dYyStWrl961/VyVYBFUrgAwwXVJVNR2i+AXRvT7HSsTjwCjZ2tuip9YNQAHm9fz+IkmV/I+EcwEMBPAKRZi9wP4nQg2GmOaW9LTuaNhhKQXZ8Zradk8QGYBOhMAt5ym4ehQxUZAHtnjlzc/u3LyPtcFEYUhtg3AoWZ3tVV5gc5UeOcIUKXQimO8XZAHsB0qXeKh3ahumjih/7drJ5/LL4ciUfvxntMGPZkJ6HkCVAKoAuL5mikNl/xFoV0C6YTobxSDGzsaUn9xXRVRIYyaBuBwZrW3n1RWolXGYKpAJijMeIhM9KBvUMh4KF4B0K9Av4j2i8jLUOxUTzue7x/czqf346fm+qePD8r2V6hKhedhIhTjDXA8FOPh6XhROc51jXQsZC+g/QD6BXjJAHtE8LKo173fmC7uz09EREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREFBf/B8Kmi42RK6xDAAAAAElFTkSuQmCC);background-size:25px 25px;background-position:center;background-repeat:no-repeat}.menu-icon-close{background:url(data:image/png;base64,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);background-size:25px 25px;background-position:center;background-repeat:no-repeat;width:35px;height:35px}.menu-container{box-shadow:#11111a1a 0 8px 24px,#11111a1a 0 16px 56px,#11111a1a 0 24px 80px;height:35px;width:52.5px;width:auto;border-radius:30px;display:flex}.menu-container p{width:85px;display:flex;align-items:center;color:#1c77f7;font-weight:500;font-size:16px;margin:0 0 0 15px;text-align:center}}@media screen and (min-width: 768px){.img-logo{display:flex;width:120px;height:60px}.text-container{border-radius:40px;height:45px;width:100%;display:flex;gap:-100px;justify-content:center;flex-direction:column;align-items:flex-start}}.p1{color:gray;margin-left:30px;font-size:13px;height:20px}.p2{margin-left:30px;font-size:14px;font-weight:600;color:#1c77f7}.flex-container-menu{font-size:18px;color:#fff!important}.mat-nav-list{padding:0}\n"] }]
1084
- }], ctorParameters: function () { return [{ type: UserService }, { type: StorageService }]; }, propDecorators: { department: [{
1085
- type: Input
1086
- }], setPage: [{
1087
- type: Input
1088
- }], userName: [{
1089
- type: Input
1090
- }], pageChangeEvent: [{
1091
- type: Output
944
+ class SidenavComponent {
945
+ constructor(userService, storageService) {
946
+ this.userService = userService;
947
+ this.storageService = storageService;
948
+ this.pageChangeEvent = new EventEmitter();
949
+ this.routes = [];
950
+ this.options = { weekday: 'long', month: 'long', day: 'numeric' };
951
+ this.currentDay = new Date().toLocaleDateString('en-EN', this.options);
952
+ this.hour = new Date().getHours();
953
+ }
954
+ ngOnInit() {
955
+ var _a;
956
+ let user = (_a = this.storageService.getCurrentUser()) === null || _a === void 0 ? void 0 : _a.token;
957
+ let token = user === undefined ? '' : user;
958
+ let request = {
959
+ token: token,
960
+ };
961
+ this.userService.getRoutesForRole(request).subscribe((response) => {
962
+ this.routes = response.data;
963
+ });
964
+ }
965
+ clickPage(event) {
966
+ this.pageChangeEvent.emit(event);
967
+ }
968
+ logout() {
969
+ this.storageService.logout();
970
+ this.pageChangeEvent.emit('logout');
971
+ }
972
+ }
973
+ SidenavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SidenavComponent, deps: [{ token: UserService }, { token: StorageService }], target: i0.ɵɵFactoryTarget.Component });
974
+ SidenavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: SidenavComponent, selector: "ipt-sidenav", inputs: { department: "department", setPage: "setPage", userName: "userName" }, outputs: { pageChangeEvent: "pageChangeEvent" }, ngImport: i0, template: `
975
+ <mat-sidenav #sidenav mode="push" >
976
+ <mat-toolbar color="primary" (click)="sidenav.toggle()">
977
+ <span style="font-size: 15px;">{{department}}</span>
978
+ <span class="menu-icon-close"></span>
979
+ </mat-toolbar>
980
+
981
+ <mat-nav-list *ngFor="let route of routes">
982
+ <nav class="flex-container-menu">
983
+ <ipt-aside-button
984
+ [buttonActive]="this.setPage === route.page"
985
+ [icon]="route.icon"
986
+ [text]="route.text"
987
+ (isClicked)="clickPage(route.page)"
988
+ (click)="sidenav.toggle()"
989
+ >
990
+ </ipt-aside-button>
991
+ </nav>
992
+ </mat-nav-list>
993
+ </mat-sidenav>
994
+
995
+ <mat-toolbar class="header">
996
+ <div class="menu-container" (click)="sidenav.toggle()">
997
+ <p>Menu</p>
998
+ <div class="menu-icon"></div>
999
+ </div>
1000
+
1001
+ <img class="img-logo" src="https://qa.iptdev.com.co/assets/logos/IPT-logo.png" alt="" />
1002
+
1003
+ <div class="text-container">
1004
+ <span class="p1">{{ currentDay }}</span>
1005
+ <span *ngIf="hour >= 0 && hour < 12" class="p2">
1006
+ Hey {{ userName }}, Good moorning!
1007
+ </span>
1008
+ <p *ngIf="hour >= 12 && hour < 18" class="p2">
1009
+ Hey {{ userName }}, Good afternoon!
1010
+ </p>
1011
+ <p *ngIf="hour >= 18 && hour < 24" class="p2">
1012
+ Hey {{ userName }}, Good evening!
1013
+ </p>
1014
+ </div>
1015
+
1016
+ <div class="logout-container" (click)="logout()">
1017
+ <p class="logout-button">Cerrar sesión</p>
1018
+ <div class="photo-logout"></div>
1019
+ </div>
1020
+ </mat-toolbar>
1021
+ `, isInline: true, styles: ["*{font-family:Poppins,sans-serif}@media screen and (min-width: 320px){.header{background-color:#fff;display:flex;justify-content:space-between;filter:drop-shadow(0px -1px 7px #000)}mat-sidenav{width:-moz-fit-content!important;width:fit-content!important;background-color:#1c77f7!important}.img-logo,.text-container{display:none}.mat-toolbar.mat-primary{background-color:#fff!important;color:#003d99!important;filter:drop-shadow(0px -1px 7px #000)}.logout-container{box-shadow:#11111a1a 0 8px 24px,#11111a1a 0 16px 56px,#11111a1a 0 24px 80px;height:35px;width:auto;border-radius:30px;display:flex;margin-left:10px}.logout-button{display:flex;align-items:center;color:#1c77f7;font-weight:500;font-size:16px;margin-left:20px;text-align:center;width:150px}.photo-logout{background:url(https://qa.iptdev.com.co/icons/exit.png);background-size:25px 25px;background-position:center;background-repeat:no-repeat}.menu-icon{background:url(https://qa.iptdev.com.co/icons/icon-menu.png);background-size:25px 25px;background-position:center;background-repeat:no-repeat}.menu-icon-close{background:url(https://qa.iptdev.com.co/icons/cruz.png);background-size:25px 25px;background-position:center;background-repeat:no-repeat;width:35px;height:35px}.menu-container{box-shadow:#11111a1a 0 8px 24px,#11111a1a 0 16px 56px,#11111a1a 0 24px 80px;height:35px;width:52.5px;width:auto;border-radius:30px;display:flex}.menu-container p{width:85px;display:flex;align-items:center;color:#1c77f7;font-weight:500;font-size:16px;margin:0 0 0 15px;text-align:center}}@media screen and (min-width: 768px){.img-logo{display:flex;width:120px;height:60px}.text-container{border-radius:40px;height:45px;width:100%;display:flex;gap:-100px;justify-content:center;flex-direction:column;align-items:flex-start}}.p1{color:gray;margin-left:30px;font-size:13px;height:20px}.p2{margin-left:30px;font-size:14px;font-weight:600;color:#1c77f7}.flex-container-menu{font-size:18px;color:#fff!important}.mat-nav-list{padding:0}\n"], components: [{ type: i3.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { type: i4.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i5.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { type: AsideButtonComponent, selector: "ipt-aside-button", inputs: ["icon", "text", "buttonActive"], outputs: ["isClicked"] }], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1022
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SidenavComponent, decorators: [{
1023
+ type: Component,
1024
+ args: [{ selector: 'ipt-sidenav', template: `
1025
+ <mat-sidenav #sidenav mode="push" >
1026
+ <mat-toolbar color="primary" (click)="sidenav.toggle()">
1027
+ <span style="font-size: 15px;">{{department}}</span>
1028
+ <span class="menu-icon-close"></span>
1029
+ </mat-toolbar>
1030
+
1031
+ <mat-nav-list *ngFor="let route of routes">
1032
+ <nav class="flex-container-menu">
1033
+ <ipt-aside-button
1034
+ [buttonActive]="this.setPage === route.page"
1035
+ [icon]="route.icon"
1036
+ [text]="route.text"
1037
+ (isClicked)="clickPage(route.page)"
1038
+ (click)="sidenav.toggle()"
1039
+ >
1040
+ </ipt-aside-button>
1041
+ </nav>
1042
+ </mat-nav-list>
1043
+ </mat-sidenav>
1044
+
1045
+ <mat-toolbar class="header">
1046
+ <div class="menu-container" (click)="sidenav.toggle()">
1047
+ <p>Menu</p>
1048
+ <div class="menu-icon"></div>
1049
+ </div>
1050
+
1051
+ <img class="img-logo" src="https://qa.iptdev.com.co/assets/logos/IPT-logo.png" alt="" />
1052
+
1053
+ <div class="text-container">
1054
+ <span class="p1">{{ currentDay }}</span>
1055
+ <span *ngIf="hour >= 0 && hour < 12" class="p2">
1056
+ Hey {{ userName }}, Good moorning!
1057
+ </span>
1058
+ <p *ngIf="hour >= 12 && hour < 18" class="p2">
1059
+ Hey {{ userName }}, Good afternoon!
1060
+ </p>
1061
+ <p *ngIf="hour >= 18 && hour < 24" class="p2">
1062
+ Hey {{ userName }}, Good evening!
1063
+ </p>
1064
+ </div>
1065
+
1066
+ <div class="logout-container" (click)="logout()">
1067
+ <p class="logout-button">Cerrar sesión</p>
1068
+ <div class="photo-logout"></div>
1069
+ </div>
1070
+ </mat-toolbar>
1071
+ `, styles: ["*{font-family:Poppins,sans-serif}@media screen and (min-width: 320px){.header{background-color:#fff;display:flex;justify-content:space-between;filter:drop-shadow(0px -1px 7px #000)}mat-sidenav{width:-moz-fit-content!important;width:fit-content!important;background-color:#1c77f7!important}.img-logo,.text-container{display:none}.mat-toolbar.mat-primary{background-color:#fff!important;color:#003d99!important;filter:drop-shadow(0px -1px 7px #000)}.logout-container{box-shadow:#11111a1a 0 8px 24px,#11111a1a 0 16px 56px,#11111a1a 0 24px 80px;height:35px;width:auto;border-radius:30px;display:flex;margin-left:10px}.logout-button{display:flex;align-items:center;color:#1c77f7;font-weight:500;font-size:16px;margin-left:20px;text-align:center;width:150px}.photo-logout{background:url(https://qa.iptdev.com.co/icons/exit.png);background-size:25px 25px;background-position:center;background-repeat:no-repeat}.menu-icon{background:url(https://qa.iptdev.com.co/icons/icon-menu.png);background-size:25px 25px;background-position:center;background-repeat:no-repeat}.menu-icon-close{background:url(https://qa.iptdev.com.co/icons/cruz.png);background-size:25px 25px;background-position:center;background-repeat:no-repeat;width:35px;height:35px}.menu-container{box-shadow:#11111a1a 0 8px 24px,#11111a1a 0 16px 56px,#11111a1a 0 24px 80px;height:35px;width:52.5px;width:auto;border-radius:30px;display:flex}.menu-container p{width:85px;display:flex;align-items:center;color:#1c77f7;font-weight:500;font-size:16px;margin:0 0 0 15px;text-align:center}}@media screen and (min-width: 768px){.img-logo{display:flex;width:120px;height:60px}.text-container{border-radius:40px;height:45px;width:100%;display:flex;gap:-100px;justify-content:center;flex-direction:column;align-items:flex-start}}.p1{color:gray;margin-left:30px;font-size:13px;height:20px}.p2{margin-left:30px;font-size:14px;font-weight:600;color:#1c77f7}.flex-container-menu{font-size:18px;color:#fff!important}.mat-nav-list{padding:0}\n"] }]
1072
+ }], ctorParameters: function () { return [{ type: UserService }, { type: StorageService }]; }, propDecorators: { department: [{
1073
+ type: Input
1074
+ }], setPage: [{
1075
+ type: Input
1076
+ }], userName: [{
1077
+ type: Input
1078
+ }], pageChangeEvent: [{
1079
+ type: Output
1092
1080
  }] } });
1093
1081
 
1094
- class MaterialModule {
1095
- }
1096
- MaterialModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MaterialModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1097
- MaterialModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MaterialModule, exports: [MatSidenavModule, MatToolbarModule, MatIconModule, MatListModule] });
1098
- MaterialModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MaterialModule, imports: [MatSidenavModule, MatToolbarModule, MatIconModule, MatListModule] });
1099
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MaterialModule, decorators: [{
1100
- type: NgModule,
1101
- args: [{
1102
- exports: [MatSidenavModule, MatToolbarModule, MatIconModule, MatListModule],
1103
- }]
1082
+ class MaterialModule {
1083
+ }
1084
+ MaterialModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MaterialModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1085
+ MaterialModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MaterialModule, exports: [MatSidenavModule, MatToolbarModule, MatIconModule, MatListModule] });
1086
+ MaterialModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MaterialModule, imports: [MatSidenavModule, MatToolbarModule, MatIconModule, MatListModule] });
1087
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MaterialModule, decorators: [{
1088
+ type: NgModule,
1089
+ args: [{
1090
+ exports: [MatSidenavModule, MatToolbarModule, MatIconModule, MatListModule],
1091
+ }]
1104
1092
  }] });
1105
1093
 
1106
- class ComponentsModule {
1107
- }
1108
- ComponentsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1109
- ComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ComponentsModule, declarations: [AsideButtonComponent,
1110
- ButtonComponent,
1111
- CheckboxComponent,
1112
- DatalistComponent,
1113
- InputComponent,
1114
- LevelButtonComponent,
1115
- LevelTextComponent,
1116
- RadioComponent,
1117
- SelectComponent,
1118
- TextLinkComponent,
1119
- LoginFormComponent,
1120
- SidenavComponent], imports: [CommonModule,
1121
- BrowserModule,
1122
- FormsModule,
1123
- ReactiveFormsModule,
1124
- MaterialModule], exports: [AsideButtonComponent,
1125
- ButtonComponent,
1126
- CheckboxComponent,
1127
- DatalistComponent,
1128
- InputComponent,
1129
- LevelButtonComponent,
1130
- LevelTextComponent,
1131
- RadioComponent,
1132
- SelectComponent,
1133
- TextLinkComponent,
1134
- LoginFormComponent,
1135
- SidenavComponent] });
1136
- ComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ComponentsModule, imports: [[
1137
- CommonModule,
1138
- BrowserModule,
1139
- FormsModule,
1140
- ReactiveFormsModule,
1141
- MaterialModule
1142
- ]] });
1143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ComponentsModule, decorators: [{
1144
- type: NgModule,
1145
- args: [{
1146
- declarations: [
1147
- AsideButtonComponent,
1148
- ButtonComponent,
1149
- CheckboxComponent,
1150
- DatalistComponent,
1151
- InputComponent,
1152
- LevelButtonComponent,
1153
- LevelTextComponent,
1154
- RadioComponent,
1155
- SelectComponent,
1156
- TextLinkComponent,
1157
- LoginFormComponent,
1158
- SidenavComponent,
1159
- ],
1160
- imports: [
1161
- CommonModule,
1162
- BrowserModule,
1163
- FormsModule,
1164
- ReactiveFormsModule,
1165
- MaterialModule
1166
- ],
1167
- exports: [
1168
- AsideButtonComponent,
1169
- ButtonComponent,
1170
- CheckboxComponent,
1171
- DatalistComponent,
1172
- InputComponent,
1173
- LevelButtonComponent,
1174
- LevelTextComponent,
1175
- RadioComponent,
1176
- SelectComponent,
1177
- TextLinkComponent,
1178
- LoginFormComponent,
1179
- SidenavComponent,
1180
- ]
1181
- }]
1094
+ class ComponentsModule {
1095
+ }
1096
+ ComponentsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1097
+ ComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ComponentsModule, declarations: [AsideButtonComponent,
1098
+ ButtonComponent,
1099
+ CheckboxComponent,
1100
+ DatalistComponent,
1101
+ InputComponent,
1102
+ LevelButtonComponent,
1103
+ LevelTextComponent,
1104
+ RadioComponent,
1105
+ SelectComponent,
1106
+ TextLinkComponent,
1107
+ LoginFormComponent,
1108
+ SidenavComponent], imports: [CommonModule,
1109
+ BrowserModule,
1110
+ FormsModule,
1111
+ ReactiveFormsModule,
1112
+ MaterialModule], exports: [AsideButtonComponent,
1113
+ ButtonComponent,
1114
+ CheckboxComponent,
1115
+ DatalistComponent,
1116
+ InputComponent,
1117
+ LevelButtonComponent,
1118
+ LevelTextComponent,
1119
+ RadioComponent,
1120
+ SelectComponent,
1121
+ TextLinkComponent,
1122
+ LoginFormComponent,
1123
+ SidenavComponent] });
1124
+ ComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ComponentsModule, imports: [[
1125
+ CommonModule,
1126
+ BrowserModule,
1127
+ FormsModule,
1128
+ ReactiveFormsModule,
1129
+ MaterialModule
1130
+ ]] });
1131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ComponentsModule, decorators: [{
1132
+ type: NgModule,
1133
+ args: [{
1134
+ declarations: [
1135
+ AsideButtonComponent,
1136
+ ButtonComponent,
1137
+ CheckboxComponent,
1138
+ DatalistComponent,
1139
+ InputComponent,
1140
+ LevelButtonComponent,
1141
+ LevelTextComponent,
1142
+ RadioComponent,
1143
+ SelectComponent,
1144
+ TextLinkComponent,
1145
+ LoginFormComponent,
1146
+ SidenavComponent,
1147
+ ],
1148
+ imports: [
1149
+ CommonModule,
1150
+ BrowserModule,
1151
+ FormsModule,
1152
+ ReactiveFormsModule,
1153
+ MaterialModule
1154
+ ],
1155
+ exports: [
1156
+ AsideButtonComponent,
1157
+ ButtonComponent,
1158
+ CheckboxComponent,
1159
+ DatalistComponent,
1160
+ InputComponent,
1161
+ LevelButtonComponent,
1162
+ LevelTextComponent,
1163
+ RadioComponent,
1164
+ SelectComponent,
1165
+ TextLinkComponent,
1166
+ LoginFormComponent,
1167
+ SidenavComponent,
1168
+ ]
1169
+ }]
1182
1170
  }] });
1183
1171
 
1184
- class CourseService {
1185
- constructor(http) {
1186
- this.http = http;
1187
- this.SERVICE_URL = 'https://iptdev.com.co/lab/academic/api/';
1188
- }
1189
- createCourse(course) {
1190
- let serviceUrl = this.SERVICE_URL + 'post/course';
1191
- this.generateRequestParams(course);
1192
- return this.http.post(serviceUrl, this.httpOptions);
1193
- }
1194
- editCourse(course) {
1195
- let serviceUrl = this.SERVICE_URL + 'put/course';
1196
- this.generateRequestParams(course);
1197
- return this.http.put(serviceUrl, this.httpOptions);
1198
- }
1199
- getAllCourses(params) {
1200
- let serviceUrl = this.SERVICE_URL + 'post/all/courses';
1201
- this.generateRequestParams(params);
1202
- return this.http.post(serviceUrl, this.httpOptions);
1203
- }
1204
- getCoursesByLevel(params) {
1205
- let serviceUrl = this.SERVICE_URL + 'post/course/by/level';
1206
- this.generateRequestParams(params);
1207
- return this.http.post(serviceUrl, this.httpOptions);
1208
- }
1209
- getAvailibleCourses(availibleCourses) {
1210
- let serviceUrl = this.SERVICE_URL + 'post/course/for/cod';
1211
- this.generateRequestParams(availibleCourses);
1212
- return this.http.post(serviceUrl, this.httpOptions);
1213
- }
1214
- getCourseByCode(params) {
1215
- let serviceUrl = this.SERVICE_URL + 'post/course/by/code';
1216
- this.generateRequestParams(params);
1217
- return this.http.post(serviceUrl, this.httpOptions);
1218
- }
1219
- // construye los headers y params
1220
- generateRequestParams(param) {
1221
- this.httpOptions = {
1222
- header: new HttpHeaders(),
1223
- params: param,
1224
- };
1225
- }
1226
- }
1227
- CourseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CourseService, deps: [{ token: i1$2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
1228
- CourseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CourseService, providedIn: 'root' });
1229
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CourseService, decorators: [{
1230
- type: Injectable,
1231
- args: [{
1232
- providedIn: 'root',
1233
- }]
1172
+ class CourseService {
1173
+ constructor(http) {
1174
+ this.http = http;
1175
+ this.SERVICE_URL = 'https://iptdev.com.co/lab/academic/api/';
1176
+ }
1177
+ createCourse(course) {
1178
+ let serviceUrl = this.SERVICE_URL + 'post/course';
1179
+ this.generateRequestParams(course);
1180
+ return this.http.post(serviceUrl, this.httpOptions);
1181
+ }
1182
+ editCourse(course) {
1183
+ let serviceUrl = this.SERVICE_URL + 'put/course';
1184
+ this.generateRequestParams(course);
1185
+ return this.http.put(serviceUrl, this.httpOptions);
1186
+ }
1187
+ getAllCourses(params) {
1188
+ let serviceUrl = this.SERVICE_URL + 'post/all/courses';
1189
+ this.generateRequestParams(params);
1190
+ return this.http.post(serviceUrl, this.httpOptions);
1191
+ }
1192
+ getCoursesByLevel(params) {
1193
+ let serviceUrl = this.SERVICE_URL + 'post/course/by/level';
1194
+ this.generateRequestParams(params);
1195
+ return this.http.post(serviceUrl, this.httpOptions);
1196
+ }
1197
+ getAvailibleCourses(availibleCourses) {
1198
+ let serviceUrl = this.SERVICE_URL + 'post/course/for/cod';
1199
+ this.generateRequestParams(availibleCourses);
1200
+ return this.http.post(serviceUrl, this.httpOptions);
1201
+ }
1202
+ getCourseByCode(params) {
1203
+ let serviceUrl = this.SERVICE_URL + 'post/course/by/code';
1204
+ this.generateRequestParams(params);
1205
+ return this.http.post(serviceUrl, this.httpOptions);
1206
+ }
1207
+ // construye los headers y params
1208
+ generateRequestParams(param) {
1209
+ this.httpOptions = {
1210
+ header: new HttpHeaders(),
1211
+ params: param,
1212
+ };
1213
+ }
1214
+ }
1215
+ CourseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CourseService, deps: [{ token: i1$2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
1216
+ CourseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CourseService, providedIn: 'root' });
1217
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CourseService, decorators: [{
1218
+ type: Injectable,
1219
+ args: [{
1220
+ providedIn: 'root',
1221
+ }]
1234
1222
  }], ctorParameters: function () { return [{ type: i1$2.HttpClient }]; } });
1235
1223
 
1236
- class ParameterService {
1237
- constructor(http) {
1238
- this.http = http;
1239
- this.SERVICE_URL = 'https://iptdev.com.co/lab/parameters/api/';
1240
- }
1241
- getIndicatives() {
1242
- let serviceUrl = this.SERVICE_URL + 'get/indicatives';
1243
- return this.http.get(serviceUrl);
1244
- }
1245
- getCardTypes(country) {
1246
- let serviceUrl = this.SERVICE_URL + 'get/id/card/type/country/' + country;
1247
- return this.http.get(serviceUrl);
1248
- }
1249
- getCountries() {
1250
- let serviceUrl = this.SERVICE_URL + 'get/countries';
1251
- return this.http.get(serviceUrl);
1252
- }
1253
- getStatesByCountry(country) {
1254
- let serviceUrl = this.SERVICE_URL + 'get/state/country/iso/' + country;
1255
- return this.http.get(serviceUrl);
1256
- }
1257
- getCitiesByState(state) {
1258
- let serviceUrl = this.SERVICE_URL + 'get/cities/state/' + state;
1259
- return this.http.get(serviceUrl);
1260
- }
1261
- getAllPlans() {
1262
- let serviceUrl = this.SERVICE_URL + 'get/all/plans';
1263
- return this.http.get(serviceUrl);
1264
- }
1265
- getLevels() {
1266
- let serviceUrl = this.SERVICE_URL + 'get/english/levels';
1267
- return this.http.get(serviceUrl);
1268
- }
1269
- getAgreements() {
1270
- let serviceUrl = this.SERVICE_URL + 'get/all/agreement';
1271
- return this.http.get(serviceUrl);
1272
- }
1273
- getAgreementByCategory(typeCategory) {
1274
- let serviceUrl = this.SERVICE_URL + 'get/agreement/by/category/' + typeCategory;
1275
- return this.http.get(serviceUrl);
1276
- }
1277
- getAllClassrooms() {
1278
- let serviceUrl = this.SERVICE_URL + 'get/all/classroom';
1279
- return this.http.get(serviceUrl);
1280
- }
1281
- getCoursesTypes() {
1282
- let serviceUrl = this.SERVICE_URL + 'get/all/course/type';
1283
- return this.http.get(serviceUrl);
1284
- }
1285
- getCoursesTypesByPlan(typePlan) {
1286
- let serviceUrl = this.SERVICE_URL + 'get/course/by/plan/' + typePlan;
1287
- return this.http.get(serviceUrl);
1288
- }
1289
- getDegrees() {
1290
- let serviceUrl = this.SERVICE_URL + 'get/all/degrees';
1291
- return this.http.get(serviceUrl);
1292
- }
1293
- getProgramsByDegree(typeDegree) {
1294
- let serviceUrl = this.SERVICE_URL + 'get/programs/by/degree/' + typeDegree;
1295
- return this.http.get(serviceUrl);
1296
- }
1297
- getMarketingReasons() {
1298
- let serviceUrl = this.SERVICE_URL + 'get/all/mkt/reasons';
1299
- return this.http.get(serviceUrl);
1300
- }
1301
- getStudyReasons() {
1302
- let serviceUrl = this.SERVICE_URL + 'get/all/study/reasons';
1303
- return this.http.get(serviceUrl);
1304
- }
1305
- getAcademicUnits() {
1306
- let serviceUrl = this.SERVICE_URL + 'get/academic/units';
1307
- return this.http.get(serviceUrl);
1308
- }
1309
- getStatusContact() {
1310
- let serviceUrl = this.SERVICE_URL + 'get/contact/status/all';
1311
- return this.http.get(serviceUrl);
1312
- }
1313
- getTypePlan() {
1314
- let serviceUrl = this.SERVICE_URL + 'get/all/plans';
1315
- return this.http.get(serviceUrl);
1316
- }
1317
- getTypePlanDiscount() {
1318
- let serviceUrl = this.SERVICE_URL + 'get/discount/all/plans';
1319
- return this.http.get(serviceUrl);
1320
- }
1321
- getContactedType() {
1322
- let serviceUrl = this.SERVICE_URL + 'get/contact/contacted/all';
1323
- return this.http.get(serviceUrl);
1324
- }
1325
- getStatusByCode(codeStatus) {
1326
- let serviceUrl = this.SERVICE_URL + 'get/contact/status/bycode/' + codeStatus;
1327
- return this.http.get(serviceUrl);
1328
- }
1329
- getAllTypeDiscount() {
1330
- let serviceUrl = this.SERVICE_URL + 'get/commercial/typediscounts/all';
1331
- return this.http.get(serviceUrl);
1332
- }
1333
- }
1334
- ParameterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ParameterService, deps: [{ token: i1$2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
1335
- ParameterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ParameterService, providedIn: 'root' });
1336
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ParameterService, decorators: [{
1337
- type: Injectable,
1338
- args: [{
1339
- providedIn: 'root',
1340
- }]
1224
+ class ParameterService {
1225
+ constructor(http) {
1226
+ this.http = http;
1227
+ this.SERVICE_URL = 'https://iptdev.com.co/lab/parameters/api/';
1228
+ }
1229
+ getIndicatives() {
1230
+ let serviceUrl = this.SERVICE_URL + 'get/indicatives';
1231
+ return this.http.get(serviceUrl);
1232
+ }
1233
+ getCardTypes(country) {
1234
+ let serviceUrl = this.SERVICE_URL + 'get/id/card/type/country/' + country;
1235
+ return this.http.get(serviceUrl);
1236
+ }
1237
+ getCountries() {
1238
+ let serviceUrl = this.SERVICE_URL + 'get/countries';
1239
+ return this.http.get(serviceUrl);
1240
+ }
1241
+ getStatesByCountry(country) {
1242
+ let serviceUrl = this.SERVICE_URL + 'get/state/country/iso/' + country;
1243
+ return this.http.get(serviceUrl);
1244
+ }
1245
+ getCitiesByState(state) {
1246
+ let serviceUrl = this.SERVICE_URL + 'get/cities/state/' + state;
1247
+ return this.http.get(serviceUrl);
1248
+ }
1249
+ getAllPlans() {
1250
+ let serviceUrl = this.SERVICE_URL + 'get/all/plans';
1251
+ return this.http.get(serviceUrl);
1252
+ }
1253
+ getLevels() {
1254
+ let serviceUrl = this.SERVICE_URL + 'get/english/levels';
1255
+ return this.http.get(serviceUrl);
1256
+ }
1257
+ getAgreements() {
1258
+ let serviceUrl = this.SERVICE_URL + 'get/all/agreement';
1259
+ return this.http.get(serviceUrl);
1260
+ }
1261
+ getAgreementByCategory(typeCategory) {
1262
+ let serviceUrl = this.SERVICE_URL + 'get/agreement/by/category/' + typeCategory;
1263
+ return this.http.get(serviceUrl);
1264
+ }
1265
+ getAllClassrooms() {
1266
+ let serviceUrl = this.SERVICE_URL + 'get/all/classroom';
1267
+ return this.http.get(serviceUrl);
1268
+ }
1269
+ getCoursesTypes() {
1270
+ let serviceUrl = this.SERVICE_URL + 'get/all/course/type';
1271
+ return this.http.get(serviceUrl);
1272
+ }
1273
+ getCoursesTypesByPlan(typePlan) {
1274
+ let serviceUrl = this.SERVICE_URL + 'get/course/by/plan/' + typePlan;
1275
+ return this.http.get(serviceUrl);
1276
+ }
1277
+ getDegrees() {
1278
+ let serviceUrl = this.SERVICE_URL + 'get/all/degrees';
1279
+ return this.http.get(serviceUrl);
1280
+ }
1281
+ getProgramsByDegree(typeDegree) {
1282
+ let serviceUrl = this.SERVICE_URL + 'get/programs/by/degree/' + typeDegree;
1283
+ return this.http.get(serviceUrl);
1284
+ }
1285
+ getMarketingReasons() {
1286
+ let serviceUrl = this.SERVICE_URL + 'get/all/mkt/reasons';
1287
+ return this.http.get(serviceUrl);
1288
+ }
1289
+ getStudyReasons() {
1290
+ let serviceUrl = this.SERVICE_URL + 'get/all/study/reasons';
1291
+ return this.http.get(serviceUrl);
1292
+ }
1293
+ }
1294
+ ParameterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ParameterService, deps: [{ token: i1$2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
1295
+ ParameterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ParameterService, providedIn: 'root' });
1296
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ParameterService, decorators: [{
1297
+ type: Injectable,
1298
+ args: [{
1299
+ providedIn: 'root',
1300
+ }]
1341
1301
  }], ctorParameters: function () { return [{ type: i1$2.HttpClient }]; } });
1342
1302
 
1343
- class RedirectGuard {
1344
- constructor(router) {
1345
- this.router = router;
1346
- }
1347
- canActivate(route, state) {
1348
- window.location.href = route.data['externalUrl'];
1349
- return true;
1350
- }
1351
- }
1352
- RedirectGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: RedirectGuard, deps: [{ token: i1$3.Router }], target: i0.ɵɵFactoryTarget.Injectable });
1353
- RedirectGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: RedirectGuard });
1354
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: RedirectGuard, decorators: [{
1355
- type: Injectable
1303
+ class RedirectGuard {
1304
+ constructor(router) {
1305
+ this.router = router;
1306
+ }
1307
+ canActivate(route, state) {
1308
+ window.location.href = route.data['externalUrl'];
1309
+ return true;
1310
+ }
1311
+ }
1312
+ RedirectGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: RedirectGuard, deps: [{ token: i1$3.Router }], target: i0.ɵɵFactoryTarget.Injectable });
1313
+ RedirectGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: RedirectGuard });
1314
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: RedirectGuard, decorators: [{
1315
+ type: Injectable
1356
1316
  }], ctorParameters: function () { return [{ type: i1$3.Router }]; } });
1357
1317
 
1358
- class SwitchService {
1359
- constructor() {
1360
- this.$modal = new EventEmitter();
1361
- }
1362
- }
1363
- SwitchService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SwitchService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1364
- SwitchService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SwitchService, providedIn: 'root' });
1365
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SwitchService, decorators: [{
1366
- type: Injectable,
1367
- args: [{
1368
- providedIn: 'root'
1369
- }]
1318
+ class SwitchService {
1319
+ constructor() {
1320
+ this.$modal = new EventEmitter();
1321
+ }
1322
+ }
1323
+ SwitchService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SwitchService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1324
+ SwitchService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SwitchService, providedIn: 'root' });
1325
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SwitchService, decorators: [{
1326
+ type: Injectable,
1327
+ args: [{
1328
+ providedIn: 'root'
1329
+ }]
1370
1330
  }], ctorParameters: function () { return []; } });
1371
1331
 
1372
- class TestService {
1373
- constructor(http) {
1374
- this.http = http;
1375
- this.SERVICE_URL = 'https://iptdev.com.co/lab/test/api/';
1376
- }
1377
- // ---------------------- EXÁMENES ---------------------- //
1378
- createExam(exam) {
1379
- let serviceUrl = this.SERVICE_URL + 'post/exam';
1380
- this.generateRequestParams(exam);
1381
- return this.http.post(serviceUrl, this.httpOptions);
1382
- }
1383
- getAllExams(params) {
1384
- let serviceUrl = this.SERVICE_URL + 'post/all/exam';
1385
- this.generateRequestParams(params);
1386
- return this.http.post(serviceUrl, this.httpOptions);
1387
- }
1388
- updateExam(params) {
1389
- let serviceUrl = this.SERVICE_URL + 'update/exam';
1390
- this.generateRequestParams(params);
1391
- return this.http.put(serviceUrl, this.httpOptions);
1392
- }
1393
- updateExamStatus(params) {
1394
- let serviceUrl = this.SERVICE_URL + 'update/exam/status';
1395
- this.generateRequestParams(params);
1396
- return this.http.put(serviceUrl, this.httpOptions);
1397
- }
1398
- copyExam(params) {
1399
- let serviceUrl = this.SERVICE_URL + 'copy/exam';
1400
- this.generateRequestParams(params);
1401
- return this.http.put(serviceUrl, this.httpOptions);
1402
- }
1403
- getExamByCode(code) {
1404
- let serviceUrl = this.SERVICE_URL + 'get/exam/by/code/' + code;
1405
- return this.http.get(serviceUrl);
1406
- }
1407
- getExamByAuthor(code) {
1408
- let serviceUrl = this.SERVICE_URL + 'get/exams/by/author/' + code;
1409
- return this.http.get(serviceUrl);
1410
- }
1411
- // ---------------------- SECCIONES ---------------------- //
1412
- createSectionWithAll(params) {
1413
- let serviceUrl = this.SERVICE_URL + 'post/section/with/all';
1414
- this.generateRequestParams(params);
1415
- return this.http.post(serviceUrl, this.httpOptions);
1416
- }
1417
- createSection(params) {
1418
- let serviceUrl = this.SERVICE_URL + 'post/section';
1419
- this.generateRequestParams(params);
1420
- return this.http.post(serviceUrl, this.httpOptions);
1421
- }
1422
- getAllSections(params) {
1423
- let serviceUrl = this.SERVICE_URL + 'post/all/sections';
1424
- this.generateRequestParams(params);
1425
- return this.http.post(serviceUrl, this.httpOptions);
1426
- }
1427
- updateSection(params) {
1428
- let serviceUrl = this.SERVICE_URL + 'update/section';
1429
- this.generateRequestParams(params);
1430
- return this.http.put(serviceUrl, this.httpOptions);
1431
- }
1432
- updateSectionMedia(params) {
1433
- let serviceUrl = this.SERVICE_URL + 'post/section/media';
1434
- this.generateRequestParams(params);
1435
- return this.http.post(serviceUrl, this.httpOptions);
1436
- }
1437
- updateSectionState(params) {
1438
- let serviceUrl = this.SERVICE_URL + 'update/section/state';
1439
- this.generateRequestParams(params);
1440
- return this.http.put(serviceUrl, this.httpOptions);
1441
- }
1442
- getSectionsByExam(code) {
1443
- let serviceUrl = this.SERVICE_URL + 'get/sections/by/exam/' + code;
1444
- return this.http.get(serviceUrl);
1445
- }
1446
- // ---------------------- PREGUNTAS ---------------------- //
1447
- createQuestion(params) {
1448
- let serviceUrl = this.SERVICE_URL + 'post/question';
1449
- this.generateRequestParams(params);
1450
- return this.http.post(serviceUrl, this.httpOptions);
1451
- }
1452
- updateQuestion(params) {
1453
- let serviceUrl = this.SERVICE_URL + 'update/question';
1454
- this.generateRequestParams(params);
1455
- return this.http.put(serviceUrl, this.httpOptions);
1456
- }
1457
- getQuestionsBySections(params) {
1458
- let serviceUrl = this.SERVICE_URL + 'get/questions/by/sections';
1459
- this.generateRequestParams(params);
1460
- return this.http.post(serviceUrl, this.httpOptions);
1461
- }
1462
- getQuestionsBySection(code) {
1463
- let serviceUrl = this.SERVICE_URL + 'get/questions/by/section/' + code;
1464
- return this.http.get(serviceUrl, this.httpOptions);
1465
- }
1466
- // ---------------------- RESPUESTAS ---------------------- //
1467
- createAnswer(params) {
1468
- let serviceUrl = this.SERVICE_URL + 'post/answer';
1469
- this.generateRequestParams(params);
1470
- return this.http.post(serviceUrl, this.httpOptions);
1471
- }
1472
- updateAnswer(params) {
1473
- let serviceUrl = this.SERVICE_URL + 'update/answer';
1474
- this.generateRequestParams(params);
1475
- return this.http.put(serviceUrl, this.httpOptions);
1476
- }
1477
- getAnswersByQuestion(code) {
1478
- let serviceUrl = this.SERVICE_URL + 'get/answers/by/question/' + code;
1479
- return this.http.get(serviceUrl, this.httpOptions);
1480
- }
1481
- updateQuestionState(params) {
1482
- let serviceUrl = this.SERVICE_URL + 'update/question/state';
1483
- this.generateRequestParams(params);
1484
- return this.http.put(serviceUrl, this.httpOptions);
1485
- }
1486
- // construye los headers y params
1487
- generateRequestParams(param) {
1488
- this.httpOptions = {
1489
- header: new HttpHeaders(),
1490
- params: param,
1491
- };
1492
- }
1493
- }
1494
- TestService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TestService, deps: [{ token: i1$2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
1495
- TestService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TestService, providedIn: 'root' });
1496
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TestService, decorators: [{
1497
- type: Injectable,
1498
- args: [{
1499
- providedIn: 'root',
1500
- }]
1501
- }], ctorParameters: function () { return [{ type: i1$2.HttpClient }]; } });
1502
-
1503
- class MarketingService {
1504
- constructor(http) {
1505
- this.http = http;
1506
- this.SERVICE_URL = 'https://iptdev.com.co/lab/commercial/api/';
1507
- }
1508
- getStrategyByUserCommercial(user) {
1509
- let serviceUrl = this.SERVICE_URL + 'post/contact/strategy/byaviser';
1510
- this.generateRequestParams(user);
1511
- return this.http.post(serviceUrl, this.httpOptions);
1512
- }
1513
- getObservationsContact(codeContact) {
1514
- let serviceUrl = this.SERVICE_URL + 'get/contact/observation/strategy/bycode/' + codeContact;
1515
- return this.http.get(serviceUrl);
1516
- }
1517
- createObservations(params) {
1518
- let serviceUrl = this.SERVICE_URL + 'post/contact/observation/create';
1519
- this.generateRequestParams(params);
1520
- return this.http.post(serviceUrl, this.httpOptions);
1521
- }
1522
- getUserStatistics(userToken) {
1523
- let serviceUrl = this.SERVICE_URL + 'get/contact/strategy/statistics';
1524
- this.generateRequestParams(userToken);
1525
- return this.http.post(serviceUrl, this.httpOptions);
1526
- }
1527
- getTopAdviser() {
1528
- let serviceUrl = this.SERVICE_URL + 'get/contact/strategy/topadviser';
1529
- return this.http.get(serviceUrl, this.httpOptions);
1530
- }
1531
- getMovementStatus() {
1532
- let serviceUrl = this.SERVICE_URL + 'get/contact/strategy/movements/status';
1533
- return this.http.get(serviceUrl, this.httpOptions);
1534
- }
1535
- getgroupSignupStatus() {
1536
- let serviceUrl = this.SERVICE_URL + 'get/contact/strategy/group/signup';
1537
- return this.http.get(serviceUrl, this.httpOptions);
1538
- }
1539
- //Construye los headers y paramns
1540
- generateRequestParams(param) {
1541
- this.httpOptions = {
1542
- header: new HttpHeaders(),
1543
- params: param,
1544
- };
1545
- }
1546
- }
1547
- MarketingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MarketingService, deps: [{ token: i1$2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
1548
- MarketingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MarketingService, providedIn: 'root' });
1549
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MarketingService, decorators: [{
1550
- type: Injectable,
1551
- args: [{
1552
- providedIn: 'root'
1553
- }]
1554
- }], ctorParameters: function () { return [{ type: i1$2.HttpClient }]; } });
1555
-
1556
- class BudgetService {
1557
- constructor(http) {
1558
- this.http = http;
1559
- this.SERVICE_URL = 'https://iptdev.com.co/lab/commercial/api/';
1560
- }
1561
- getAllDiscount(user) {
1562
- let serviceUrl = this.SERVICE_URL + 'post/discounts/coupon/all';
1563
- this.generateRequestParams(user);
1564
- return this.http.post(serviceUrl, this.httpOptions);
1565
- }
1566
- createDiscount(params) {
1567
- let serviceUrl = this.SERVICE_URL + 'post/discount/coupon/create';
1568
- this.generateRequestParams(params);
1569
- return this.http.post(serviceUrl, this.httpOptions);
1570
- }
1571
- updateDiscount(params) {
1572
- let serviceUrl = this.SERVICE_URL + 'post/discount/coupon/update';
1573
- this.generateRequestParams(params);
1574
- return this.http.post(serviceUrl, this.httpOptions);
1575
- }
1576
- //Construye los headers y paramns
1577
- generateRequestParams(param) {
1578
- this.httpOptions = {
1579
- header: new HttpHeaders(),
1580
- params: param,
1581
- };
1582
- }
1583
- }
1584
- BudgetService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BudgetService, deps: [{ token: i1$2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
1585
- BudgetService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BudgetService, providedIn: 'root' });
1586
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BudgetService, decorators: [{
1587
- type: Injectable,
1588
- args: [{
1589
- providedIn: 'root'
1590
- }]
1591
- }], ctorParameters: function () { return [{ type: i1$2.HttpClient }]; } });
1592
-
1593
- class CoreModule {
1594
- }
1595
- CoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1596
- CoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CoreModule });
1597
- CoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CoreModule, providers: [
1598
- ParameterService,
1599
- CourseService,
1600
- StorageService,
1601
- UserService,
1602
- SwitchService,
1603
- RedirectGuard,
1604
- BaseService,
1605
- TestService,
1606
- MarketingService,
1607
- BudgetService
1608
- ] });
1609
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CoreModule, decorators: [{
1610
- type: NgModule,
1611
- args: [{
1612
- providers: [
1613
- ParameterService,
1614
- CourseService,
1615
- StorageService,
1616
- UserService,
1617
- SwitchService,
1618
- RedirectGuard,
1619
- BaseService,
1620
- TestService,
1621
- MarketingService,
1622
- BudgetService
1623
- ]
1624
- }]
1332
+ class CoreModule {
1333
+ }
1334
+ CoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1335
+ CoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CoreModule });
1336
+ CoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CoreModule, providers: [
1337
+ ParameterService,
1338
+ CourseService,
1339
+ StorageService,
1340
+ UserService,
1341
+ SwitchService,
1342
+ RedirectGuard,
1343
+ BaseService
1344
+ ] });
1345
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CoreModule, decorators: [{
1346
+ type: NgModule,
1347
+ args: [{
1348
+ providers: [
1349
+ ParameterService,
1350
+ CourseService,
1351
+ StorageService,
1352
+ UserService,
1353
+ SwitchService,
1354
+ RedirectGuard,
1355
+ BaseService
1356
+ ]
1357
+ }]
1625
1358
  }] });
1626
1359
 
1627
- class DesignSystemModule {
1628
- }
1629
- DesignSystemModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DesignSystemModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1630
- DesignSystemModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DesignSystemModule, imports: [ComponentsModule,
1631
- CoreModule], exports: [ComponentsModule,
1632
- CoreModule] });
1633
- DesignSystemModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DesignSystemModule, imports: [[
1634
- ComponentsModule,
1635
- CoreModule,
1636
- ], ComponentsModule,
1637
- CoreModule] });
1638
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DesignSystemModule, decorators: [{
1639
- type: NgModule,
1640
- args: [{
1641
- imports: [
1642
- ComponentsModule,
1643
- CoreModule,
1644
- ],
1645
- exports: [
1646
- ComponentsModule,
1647
- CoreModule
1648
- ]
1649
- }]
1360
+ class DesignSystemModule {
1361
+ }
1362
+ DesignSystemModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DesignSystemModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1363
+ DesignSystemModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DesignSystemModule, imports: [ComponentsModule,
1364
+ CoreModule], exports: [ComponentsModule,
1365
+ CoreModule] });
1366
+ DesignSystemModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DesignSystemModule, imports: [[
1367
+ ComponentsModule,
1368
+ CoreModule,
1369
+ ], ComponentsModule,
1370
+ CoreModule] });
1371
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DesignSystemModule, decorators: [{
1372
+ type: NgModule,
1373
+ args: [{
1374
+ imports: [
1375
+ ComponentsModule,
1376
+ CoreModule,
1377
+ ],
1378
+ exports: [
1379
+ ComponentsModule,
1380
+ CoreModule
1381
+ ]
1382
+ }]
1650
1383
  }] });
1651
1384
 
1652
- class Session {
1385
+ class Session {
1653
1386
  }
1654
1387
 
1655
- class UserRs {
1656
- }
1657
- class UserLoginRs {
1388
+ class UserRs {
1389
+ }
1390
+ class UserLoginRs {
1658
1391
  }
1659
1392
 
1660
- /*
1661
- * Public API Surface of design-system
1393
+ /*
1394
+ * Public API Surface of design-system
1662
1395
  */
1663
1396
 
1664
- /**
1665
- * Generated bundle index. Do not edit.
1397
+ /**
1398
+ * Generated bundle index. Do not edit.
1666
1399
  */
1667
1400
 
1668
- export { AsideButtonComponent, BaseService, BudgetService, ButtonComponent, CheckboxComponent, ComponentsModule, CoreModule, CourseService, DatalistComponent, DesignSystemModule, InputComponent, LevelButtonComponent, LevelTextComponent, LoginFormComponent, MarketingService, ParameterService, RadioComponent, RedirectGuard, SelectComponent, Session, SidenavComponent, StorageService, SwitchService, TestService, TextLinkComponent, UserLoginRs, UserRs, UserService };
1401
+ export { AsideButtonComponent, BaseService, ButtonComponent, CheckboxComponent, ComponentsModule, CoreModule, CourseService, DatalistComponent, DesignSystemModule, InputComponent, LevelButtonComponent, LevelTextComponent, LoginFormComponent, ParameterService, RadioComponent, RedirectGuard, SelectComponent, Session, SidenavComponent, StorageService, SwitchService, TextLinkComponent, UserLoginRs, UserRs, UserService };
1669
1402
  //# sourceMappingURL=iptdevs-design-system.mjs.map