vc-layout 0.0.1

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 (116) hide show
  1. package/README.md +24 -0
  2. package/esm2022/lib/components/global-alert/global-alert/global-alert.component.mjs +13 -0
  3. package/esm2022/lib/components/global-alert/global-alert.module.mjs +18 -0
  4. package/esm2022/lib/components/header/business-cycle/business-cycle.component.mjs +279 -0
  5. package/esm2022/lib/components/header/create-workflow/create-workflow.component.mjs +18 -0
  6. package/esm2022/lib/components/header/header-container/header-container.component.mjs +36 -0
  7. package/esm2022/lib/components/header/header.module.mjs +64 -0
  8. package/esm2022/lib/components/header/queue/queue.component.mjs +59 -0
  9. package/esm2022/lib/components/header/search/search.component.mjs +14 -0
  10. package/esm2022/lib/components/header/support/support.component.mjs +31 -0
  11. package/esm2022/lib/components/header/user-details/user-details.component.mjs +34 -0
  12. package/esm2022/lib/components/product-list/module-list/module-list.component.mjs +130 -0
  13. package/esm2022/lib/components/product-list/preference-list/preference-list.component.mjs +83 -0
  14. package/esm2022/lib/components/product-list/product-list-container/product-list-container.component.mjs +33 -0
  15. package/esm2022/lib/components/product-list/product-list.module.mjs +27 -0
  16. package/esm2022/lib/components/sub-menu/sub-menu-container/sub-menu-container.component.mjs +117 -0
  17. package/esm2022/lib/components/sub-menu/sub-menu.module.mjs +19 -0
  18. package/esm2022/lib/configurations.mjs +6 -0
  19. package/esm2022/lib/constants/api.constant.mjs +7 -0
  20. package/esm2022/lib/constants/app-url.constant.mjs +18 -0
  21. package/esm2022/lib/constants/assets.constants.mjs +32 -0
  22. package/esm2022/lib/constants/product-list.constant.mjs +92 -0
  23. package/esm2022/lib/shared/pipe/check-create-permission.pipe.mjs +17 -0
  24. package/esm2022/lib/shared/pipe/date-format.pipe.mjs +35 -0
  25. package/esm2022/lib/shared/pipe/get-file-url.pipe.mjs +22 -0
  26. package/esm2022/lib/shared/pipe/pipes.module.mjs +20 -0
  27. package/esm2022/lib/shared/services/api.service.mjs +96 -0
  28. package/esm2022/lib/shared/services/business-cycle.service.mjs +125 -0
  29. package/esm2022/lib/shared/services/layout.service.mjs +40 -0
  30. package/esm2022/lib/shared/services/product-list.service.mjs +82 -0
  31. package/esm2022/lib/shared/services/rbac.service.mjs +58 -0
  32. package/esm2022/lib/shared/ui-kit/avatar/avatar/avatar.component.mjs +43 -0
  33. package/esm2022/lib/shared/ui-kit/avatar/avatar.module.mjs +19 -0
  34. package/esm2022/lib/shared/ui-kit/formgroup/checkbox/checkbox.component.mjs +39 -0
  35. package/esm2022/lib/shared/ui-kit/formgroup/click-outside.directive.mjs +29 -0
  36. package/esm2022/lib/shared/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.mjs +28 -0
  37. package/esm2022/lib/shared/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.mjs +32 -0
  38. package/esm2022/lib/shared/ui-kit/formgroup/cs-radio/cs-radio.component.mjs +30 -0
  39. package/esm2022/lib/shared/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.mjs +14 -0
  40. package/esm2022/lib/shared/ui-kit/formgroup/cs-select/cs-select.component.mjs +102 -0
  41. package/esm2022/lib/shared/ui-kit/formgroup/cs-switch/cs-switch.component.mjs +35 -0
  42. package/esm2022/lib/shared/ui-kit/formgroup/formgroup.module.mjs +65 -0
  43. package/esm2022/lib/shared/ui-kit/formgroup/pipes/pascal.pipe.mjs +19 -0
  44. package/esm2022/lib/shared/ui-kit/formgroup/pipes/searchMultiSelect.pipe.mjs +24 -0
  45. package/esm2022/lib/shared/ui-kit/popover/popover-event.directive.mjs +28 -0
  46. package/esm2022/lib/shared/ui-kit/popover/popover-longpress.directive.mjs +48 -0
  47. package/esm2022/lib/shared/ui-kit/popover/popover.component.mjs +141 -0
  48. package/esm2022/lib/shared/ui-kit/popover/popover.directive.mjs +82 -0
  49. package/esm2022/lib/shared/ui-kit/popover/popover.module.mjs +23 -0
  50. package/esm2022/lib/shared/ui-kit/popover/popover.service.mjs +15 -0
  51. package/esm2022/lib/shared/ui-kit/tooltip/tooltip.directive.mjs +156 -0
  52. package/esm2022/lib/shared/ui-kit/tooltip/tooltip.module.mjs +18 -0
  53. package/esm2022/lib/vc-layout.component.mjs +19 -0
  54. package/esm2022/lib/vc-layout.module.mjs +24 -0
  55. package/esm2022/lib/vc-layout.service.mjs +14 -0
  56. package/esm2022/public-api.mjs +14 -0
  57. package/esm2022/vc-layout.mjs +5 -0
  58. package/fesm2022/vc-layout.mjs +2457 -0
  59. package/fesm2022/vc-layout.mjs.map +1 -0
  60. package/index.d.ts +5 -0
  61. package/lib/components/global-alert/global-alert/global-alert.component.d.ts +8 -0
  62. package/lib/components/global-alert/global-alert.module.d.ts +8 -0
  63. package/lib/components/header/business-cycle/business-cycle.component.d.ts +87 -0
  64. package/lib/components/header/create-workflow/create-workflow.component.d.ts +9 -0
  65. package/lib/components/header/header-container/header-container.component.d.ts +15 -0
  66. package/lib/components/header/header.module.d.ts +20 -0
  67. package/lib/components/header/queue/queue.component.d.ts +12 -0
  68. package/lib/components/header/search/search.component.d.ts +8 -0
  69. package/lib/components/header/support/support.component.d.ts +10 -0
  70. package/lib/components/header/user-details/user-details.component.d.ts +14 -0
  71. package/lib/components/product-list/module-list/module-list.component.d.ts +42 -0
  72. package/lib/components/product-list/preference-list/preference-list.component.d.ts +9 -0
  73. package/lib/components/product-list/product-list-container/product-list-container.component.d.ts +10 -0
  74. package/lib/components/product-list/product-list.module.d.ts +11 -0
  75. package/lib/components/sub-menu/sub-menu-container/sub-menu-container.component.d.ts +11 -0
  76. package/lib/components/sub-menu/sub-menu.module.d.ts +9 -0
  77. package/lib/configurations.d.ts +4 -0
  78. package/lib/constants/api.constant.d.ts +6 -0
  79. package/lib/constants/app-url.constant.d.ts +1 -0
  80. package/lib/constants/assets.constants.d.ts +30 -0
  81. package/lib/constants/product-list.constant.d.ts +1 -0
  82. package/lib/shared/pipe/check-create-permission.pipe.d.ts +7 -0
  83. package/lib/shared/pipe/date-format.pipe.d.ts +7 -0
  84. package/lib/shared/pipe/get-file-url.pipe.d.ts +10 -0
  85. package/lib/shared/pipe/pipes.module.d.ts +10 -0
  86. package/lib/shared/services/api.service.d.ts +37 -0
  87. package/lib/shared/services/business-cycle.service.d.ts +51 -0
  88. package/lib/shared/services/layout.service.d.ts +9 -0
  89. package/lib/shared/services/product-list.service.d.ts +31 -0
  90. package/lib/shared/services/rbac.service.d.ts +25 -0
  91. package/lib/shared/ui-kit/avatar/avatar/avatar.component.d.ts +12 -0
  92. package/lib/shared/ui-kit/avatar/avatar.module.d.ts +9 -0
  93. package/lib/shared/ui-kit/formgroup/checkbox/checkbox.component.d.ts +16 -0
  94. package/lib/shared/ui-kit/formgroup/click-outside.directive.d.ts +10 -0
  95. package/lib/shared/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.d.ts +13 -0
  96. package/lib/shared/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.d.ts +13 -0
  97. package/lib/shared/ui-kit/formgroup/cs-radio/cs-radio.component.d.ts +15 -0
  98. package/lib/shared/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.d.ts +8 -0
  99. package/lib/shared/ui-kit/formgroup/cs-select/cs-select.component.d.ts +36 -0
  100. package/lib/shared/ui-kit/formgroup/cs-switch/cs-switch.component.d.ts +15 -0
  101. package/lib/shared/ui-kit/formgroup/formgroup.module.d.ts +19 -0
  102. package/lib/shared/ui-kit/formgroup/pipes/pascal.pipe.d.ts +7 -0
  103. package/lib/shared/ui-kit/formgroup/pipes/searchMultiSelect.pipe.d.ts +7 -0
  104. package/lib/shared/ui-kit/popover/popover-event.directive.d.ts +10 -0
  105. package/lib/shared/ui-kit/popover/popover-longpress.directive.d.ts +16 -0
  106. package/lib/shared/ui-kit/popover/popover.component.d.ts +28 -0
  107. package/lib/shared/ui-kit/popover/popover.directive.d.ts +17 -0
  108. package/lib/shared/ui-kit/popover/popover.module.d.ts +11 -0
  109. package/lib/shared/ui-kit/popover/popover.service.d.ts +12 -0
  110. package/lib/shared/ui-kit/tooltip/tooltip.directive.d.ts +27 -0
  111. package/lib/shared/ui-kit/tooltip/tooltip.module.d.ts +8 -0
  112. package/lib/vc-layout.component.d.ts +10 -0
  113. package/lib/vc-layout.module.d.ts +10 -0
  114. package/lib/vc-layout.service.d.ts +6 -0
  115. package/package.json +25 -0
  116. package/public-api.d.ts +10 -0
@@ -0,0 +1,2457 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Injectable, Optional, Component, NgModule, Directive, Input, HostListener, EventEmitter, Output, ViewChild, Pipe, forwardRef } from '@angular/core';
3
+ import { BehaviorSubject } from 'rxjs';
4
+ import * as i1 from '@angular/common/http';
5
+ import * as i1$1 from '@vcomply/authorizer';
6
+ import * as i1$2 from '@angular/common';
7
+ import { CommonModule } from '@angular/common';
8
+ import * as dayjs from 'dayjs';
9
+ import * as customParseFormat from 'dayjs/plugin/customParseFormat';
10
+ import * as i1$3 from '@angular/forms';
11
+ import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
12
+
13
+ const API = {
14
+ subscriptionList: `subscriptionList`,
15
+ organizationDetails: `orgDetails&id=`,
16
+ userDetails: `users&id=`,
17
+ queueCount: `complianceReport/TotalResponsibilityQueue`,
18
+ };
19
+
20
+ class LayoutService {
21
+ constructor() {
22
+ this.baseUrl = '';
23
+ this.setBaseUrl();
24
+ }
25
+ setBaseUrl() {
26
+ this.baseUrl = window.location.origin;
27
+ }
28
+ ConvertUtcToLocalDateTime(timestamp, TimeZone) {
29
+ if (typeof timestamp !== 'number' || timestamp <= 0) {
30
+ return 0;
31
+ }
32
+ if (!TimeZone) {
33
+ return 0;
34
+ }
35
+ const date = new Date(timestamp * 1000);
36
+ const options = {
37
+ timeZone: TimeZone,
38
+ weekday: 'long',
39
+ year: 'numeric',
40
+ month: 'short',
41
+ day: '2-digit',
42
+ hour: 'numeric',
43
+ minute: 'numeric',
44
+ };
45
+ const formattedDate = new Intl.DateTimeFormat('en', options).format(date);
46
+ return formattedDate;
47
+ }
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LayoutService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
49
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LayoutService, providedIn: 'root' }); }
50
+ }
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LayoutService, decorators: [{
52
+ type: Injectable,
53
+ args: [{
54
+ providedIn: 'root',
55
+ }]
56
+ }], ctorParameters: function () { return []; } });
57
+
58
+ class Configurations {
59
+ constructor() {
60
+ this.envConfig = {};
61
+ }
62
+ }
63
+
64
+ class ApiService {
65
+ constructor(http, authService, layoutService, config) {
66
+ this.http = http;
67
+ this.authService = authService;
68
+ this.layoutService = layoutService;
69
+ this.userId = '';
70
+ this.subscriptionDetail$ = new BehaviorSubject(null);
71
+ this.organizationDetail$ = new BehaviorSubject(null);
72
+ this.loggedUserDetail$ = new BehaviorSubject(null);
73
+ this.queueCount$ = new BehaviorSubject(null);
74
+ this.env = config?.envConfig;
75
+ this.userDetails = authService.getUser();
76
+ this.getOrgDetails(this.userDetails?.organisation_id ?? 0);
77
+ this.getUserDetails(this.authService?.getMemberId() ?? '');
78
+ this.getQueueCount();
79
+ }
80
+ /**
81
+ *
82
+ * API definitions
83
+ */
84
+ // Subscription List
85
+ subscriptionList() {
86
+ return this.http.get(this.env.organizationGet + API.subscriptionList);
87
+ }
88
+ // Organization List
89
+ organizationDetails(id) {
90
+ return this.http.get(this.env.organizationGet + API.organizationDetails + id);
91
+ }
92
+ // Logged in User Details
93
+ loggedInUserDetails(id) {
94
+ return this.http.get(this.env.organizationGet + API.userDetails + id);
95
+ }
96
+ // Logged in Queue Count
97
+ queueCount() {
98
+ return this.http.get(this.env.complianceGet + API.queueCount);
99
+ }
100
+ /**
101
+ * ALL API CALLS
102
+ *
103
+ */
104
+ //fetch subscription list
105
+ getSubscriptionList() {
106
+ this.subscriptionList().subscribe((data) => {
107
+ if (data.length) {
108
+ let response = data[0];
109
+ response['expiredDetails'] =
110
+ this.layoutService.ConvertUtcToLocalDateTime(response.expiry_date, this.userDetails.timezone);
111
+ this.subscriptionDetail$.next(data[0]);
112
+ }
113
+ });
114
+ }
115
+ //fetch organization details
116
+ getOrgDetails(id) {
117
+ this.organizationDetails(id).subscribe((data) => {
118
+ if (data) {
119
+ this.organizationDetail$.next(data);
120
+ }
121
+ });
122
+ }
123
+ //fetch logged in user details
124
+ getUserDetails(_id) {
125
+ this.loggedInUserDetails(_id).subscribe((data) => {
126
+ if (data) {
127
+ this.loggedUserDetail$.next(data);
128
+ console.log('this.loggedUserDetail$ ==>', this.loggedUserDetail$.value);
129
+ }
130
+ });
131
+ }
132
+ //fetch Queue Count
133
+ getQueueCount() {
134
+ this.queueCount().subscribe((data) => {
135
+ if (data) {
136
+ this.queueCount$.next(data);
137
+ }
138
+ });
139
+ }
140
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ApiService, deps: [{ token: i1.HttpClient }, { token: i1$1.AuthorizerService }, { token: LayoutService }, { token: Configurations, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
141
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ApiService, providedIn: 'root' }); }
142
+ }
143
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ApiService, decorators: [{
144
+ type: Injectable,
145
+ args: [{
146
+ providedIn: 'root',
147
+ }]
148
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i1$1.AuthorizerService }, { type: LayoutService }, { type: Configurations, decorators: [{
149
+ type: Optional
150
+ }] }]; } });
151
+
152
+ class RbacService {
153
+ constructor(apiService) {
154
+ this.apiService = apiService;
155
+ this.permissions = {};
156
+ }
157
+ /**
158
+ * Retrieves the RBAC (Role-Based Access Control) permissions for a given module.
159
+ *
160
+ * @param MODULE - The module for which to retrieve the permissions. Must be one of the following values:
161
+ * - 'assessment'
162
+ * - 'audit'
163
+ * - 'issue'
164
+ * - 'policy'
165
+ * - 'risk'
166
+ * - 'assurance'
167
+ * - 'compliance'
168
+ * - 'organization'
169
+ *
170
+ * @returns An array of strings representing the permissions for the specified module.
171
+ */
172
+ getRBACPermissions(MODULE) {
173
+ const data = this.apiService.loggedUserDetail$.value?.roleActions ?? [];
174
+ console.log(data);
175
+ if (this.permissions[MODULE]) {
176
+ return this.permissions[MODULE];
177
+ }
178
+ const modulePermissions = data.find((item) => item.moduleName === MODULE);
179
+ const PERMISSION_ARRAY = [];
180
+ // checked if module is active
181
+ if (modulePermissions?.isActive) {
182
+ // find all active submodules
183
+ modulePermissions.subModule
184
+ ?.filter((subModule) => subModule.isActive)
185
+ .forEach((subModule) => {
186
+ // find all active permissions
187
+ subModule.permissions
188
+ ?.filter((permission) => permission.enable)
189
+ .forEach((permission) => {
190
+ PERMISSION_ARRAY.push(permission.code);
191
+ });
192
+ });
193
+ }
194
+ this.permissions[MODULE] = PERMISSION_ARRAY;
195
+ return PERMISSION_ARRAY;
196
+ }
197
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RbacService, deps: [{ token: ApiService }], target: i0.ɵɵFactoryTarget.Injectable }); }
198
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RbacService, providedIn: 'root' }); }
199
+ }
200
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RbacService, decorators: [{
201
+ type: Injectable,
202
+ args: [{
203
+ providedIn: 'root',
204
+ }]
205
+ }], ctorParameters: function () { return [{ type: ApiService }]; } });
206
+
207
+ class VcLayoutService {
208
+ constructor() { }
209
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VcLayoutService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
210
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VcLayoutService, providedIn: 'root' }); }
211
+ }
212
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VcLayoutService, decorators: [{
213
+ type: Injectable,
214
+ args: [{
215
+ providedIn: 'root'
216
+ }]
217
+ }], ctorParameters: function () { return []; } });
218
+
219
+ class VcLayoutComponent {
220
+ constructor() {
221
+ this.baseUrl = '';
222
+ this.setBaseUrl();
223
+ }
224
+ ngOnInit() { }
225
+ setBaseUrl() {
226
+ this.baseUrl = window.location.origin;
227
+ }
228
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VcLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
229
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: VcLayoutComponent, selector: "vc-layout", ngImport: i0, template: ` <p>vc-layout works!</p> `, isInline: true }); }
230
+ }
231
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VcLayoutComponent, decorators: [{
232
+ type: Component,
233
+ args: [{ selector: 'vc-layout', template: ` <p>vc-layout works!</p> ` }]
234
+ }], ctorParameters: function () { return []; } });
235
+
236
+ class VcLayoutModule {
237
+ static forRoot(environmentConfig) {
238
+ return {
239
+ ngModule: VcLayoutModule,
240
+ providers: [{ provide: Configurations, useValue: environmentConfig }],
241
+ };
242
+ }
243
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VcLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
244
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: VcLayoutModule, declarations: [VcLayoutComponent], exports: [VcLayoutComponent] }); }
245
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VcLayoutModule }); }
246
+ }
247
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VcLayoutModule, decorators: [{
248
+ type: NgModule,
249
+ args: [{
250
+ declarations: [VcLayoutComponent],
251
+ imports: [],
252
+ exports: [VcLayoutComponent],
253
+ }]
254
+ }] });
255
+
256
+ const BASE_URL = 'https://cdn.v-comply.com';
257
+ const ASSETS = {
258
+ unauthorized: `${BASE_URL}/application/images/unauthorized-image.svg`,
259
+ v_icon: `${BASE_URL}/logo/prod/v-logo.svg`,
260
+ hamburger_icon: `${BASE_URL}/logo/prod/hamburger-icon.svg`,
261
+ dashboard_icon: `${BASE_URL}/logo/prod/dashboard-icon.svg`,
262
+ toDoResponsibility_icon: `${BASE_URL}/logo/prod/toDo-responsibility-icon.svg`,
263
+ organization_icon: `${BASE_URL}/logo/prod/organization-icon.svg`,
264
+ compliance_icon: `${BASE_URL}/logo/prod/compliance-icon.svg`,
265
+ assessment_icon: `${BASE_URL}/logo/prod/assessment-icon.svg`,
266
+ risk_icon: `${BASE_URL}/logo/prod/risk-icon.svg`,
267
+ assurance_icon: `${BASE_URL}/logo/prod/assurance-icon.svg`,
268
+ audit_icon: `${BASE_URL}/logo/prod/audit-icon.svg`,
269
+ issue_icon: `${BASE_URL}/logo/prod/issue-icon.svg`,
270
+ policy_icon: `${BASE_URL}/logo/prod/policy-icon.svg`,
271
+ downloadCenter_icon: `${BASE_URL}/logo/prod/download-center-icon.svg`,
272
+ settings_icon: `${BASE_URL}/logo/prod/settings-icon.svg`,
273
+ selected_dashboard_icon: `${BASE_URL}/logo/prod/selected-dashboard-icon.svg`,
274
+ selected_to_do_responsibility_icon: `${BASE_URL}/logo/prod/selected-toDo-responsibility-icon.svg`,
275
+ selected_organization_icon: `${BASE_URL}/logo/prod/selected-organization-icon.svg`,
276
+ selected_compliance_icon: `${BASE_URL}/logo/prod/selected-compliance-icon.svg`,
277
+ selected_assessment_icon: `${BASE_URL}/logo/prod/selected-assessment-icon.svg`,
278
+ selected_risk_icon: `${BASE_URL}/logo/prod/selected-risk-icon.svg`,
279
+ selected_assurance_icon: `${BASE_URL}/logo/prod/selected-assurance-icon.svg`,
280
+ selected_audit_icon: `${BASE_URL}/logo/prod/selected-audit-icon.svg`,
281
+ selected_issue_icon: `${BASE_URL}/logo/prod/selected-issue-icon.svg`,
282
+ selected_policy_icon: `${BASE_URL}/logo/prod/selected-policy-icon.svg`,
283
+ selected_download_center_icon: `${BASE_URL}/logo/prod/selected-download-center-icon.svg`,
284
+ selected_settings_icon: `${BASE_URL}/logo/prod/selected-settings-icon.svg`,
285
+ support_icon: `${BASE_URL}/libraries/support/support-icon.svg`,
286
+ };
287
+
288
+ const PRODUCT_LIST = [
289
+ {
290
+ name: 'Toggle Submenu',
291
+ icon: ASSETS.hamburger_icon,
292
+ code: 'TOGGLE',
293
+ class: '',
294
+ isActive: false,
295
+ linkClass: 'vc-hamburger',
296
+ },
297
+ {
298
+ name: 'Dashboard',
299
+ icon: ASSETS.dashboard_icon,
300
+ code: 'DASHBOARD',
301
+ class: 'dashboard-list',
302
+ isActive: true,
303
+ linkClass: '',
304
+ },
305
+ {
306
+ name: 'To-Do Responsibilities',
307
+ icon: ASSETS.toDoResponsibility_icon,
308
+ code: 'TO_DO_RESPONSIBILITIES',
309
+ class: 'toDoResponsibility-list',
310
+ isActive: false,
311
+ linkClass: '',
312
+ },
313
+ {
314
+ name: 'Organization',
315
+ icon: ASSETS.organization_icon,
316
+ code: 'ORGANIZATION',
317
+ class: '',
318
+ isActive: false,
319
+ linkClass: '',
320
+ },
321
+ {
322
+ name: 'ComplianceOps',
323
+ icon: ASSETS.compliance_icon,
324
+ code: 'COMPLIANCE_OPS',
325
+ class: '',
326
+ isActive: false,
327
+ linkClass: '',
328
+ },
329
+ {
330
+ name: 'Assessments',
331
+ icon: ASSETS.assessment_icon,
332
+ code: 'ASSESSMENTS',
333
+ class: '',
334
+ isActive: false,
335
+ linkClass: '',
336
+ },
337
+ {
338
+ name: 'RiskOps',
339
+ icon: ASSETS.risk_icon,
340
+ code: 'RISK_OPS',
341
+ class: '',
342
+ isActive: false,
343
+ linkClass: '',
344
+ },
345
+ {
346
+ name: 'Assurance',
347
+ icon: ASSETS.assurance_icon,
348
+ code: 'ASSURANCE',
349
+ class: '',
350
+ isActive: false,
351
+ linkClass: '',
352
+ },
353
+ {
354
+ name: 'AuditOps',
355
+ icon: ASSETS.audit_icon,
356
+ code: 'AUDIT_OPS',
357
+ class: '',
358
+ isActive: false,
359
+ linkClass: '',
360
+ },
361
+ {
362
+ name: 'IssueOps',
363
+ icon: ASSETS.issue_icon,
364
+ code: 'ISSUE_OPS',
365
+ class: '',
366
+ isActive: false,
367
+ linkClass: '',
368
+ },
369
+ {
370
+ name: 'PolicyOps',
371
+ icon: ASSETS.policy_icon,
372
+ code: 'POLICY_OPS',
373
+ class: '',
374
+ isActive: false,
375
+ linkClass: '',
376
+ },
377
+ ];
378
+
379
+ const IN_APP_URL = {
380
+ MANAGE_RESPONSIBILITY: '/compliance/#/compliance/manage-responsibility?q={"byResponsibilities":{"type":["manage_responsibilities"],"subType":["CC"]},"byStatus":{"type":["active"],"subType":[]},"filterObject":{"responsibilityCenter":[],"entrustedBy":[],"entrustedTo":[],"riskIds":[],"responsibilityCategory":[]},"timePeriodDetails":{"type":"","selectedPeriod":"","selectedYear":""},"status":""}',
381
+ MY_RESPONSIBILITY: '/compliance/#/compliance/manage-responsibility?q={"byResponsibilities":{"type":["my_responsibilities"],"subType":["CC"]},"byStatus":{"type":["active"],"subType":[]},"filterObject":{"responsibilityCenter":[],"entrustedBy":[],"entrustedTo":[],"riskIds":[],"responsibilityCategory":[]},"timePeriodDetails":{"type":"","selectedPeriod":"","selectedYear":""},"status":""}',
382
+ QUEUE: '/compliance/#/compliance/manage-responsibility?q={"byResponsibilities":{"type":["responsibilities_in_queue"],"subType":["CC"]},"byStatus":{"type":["responsibilities_in_queue"],"subType":[]},"filterObject":{"responsibilityCenter":[],"entrustedBy":[],"entrustedTo":[],"riskIds":[],"responsibilityCategory":[]},"timePeriodDetails":{"type":"","selectedPeriod":"","selectedYear":""},"status":""}',
383
+ PROGRAM: '/program/manage-program-categories/programs-overview',
384
+ DASHBOARD: '/global-dashboard/',
385
+ TO_DO_RESPONSIBILITIES: 'to-do-responsibilities',
386
+ ORGANIZATION: '/organization/',
387
+ SETTINGS: '/settings',
388
+ ASSESSMENTS: '/assessment/',
389
+ RISK_OPS: '/global-dashboard/risk_dashboard?module=risk',
390
+ ASSURANCE: '/assurance/test_dashboard',
391
+ AUDIT_OPS: '/global-dashboard/audit_dashboard?module=audit',
392
+ ISSUE_OPS: '/global-dashboard/issue_dashboard?module=issue',
393
+ POLICY_OPS: '/all/policy/manage-policies',
394
+ EDIT_PROFILE: 'settings/settings/profile?edit_profile=true',
395
+ };
396
+
397
+ class ProductListService {
398
+ constructor(rbacService) {
399
+ this.rbacService = rbacService;
400
+ }
401
+ /**
402
+ * Filters the subscribed products based on the subscription flags.
403
+ *
404
+ * @param productList - The list of products.
405
+ * @param subscriptionList - The subscription flags.
406
+ * @returns The filtered list of subscribed products.
407
+ */
408
+ subscribedProduct(productList, subscriptionList) {
409
+ const flags = {
410
+ RISK: subscriptionList.risk_flag,
411
+ ASSURANCE: subscriptionList.assurance_flag,
412
+ ISSUE: subscriptionList.issue_flag,
413
+ AUDIT: subscriptionList.audit_flag,
414
+ POLICY: subscriptionList.policy_flag,
415
+ ASSESSMENT: subscriptionList.assessment_flag,
416
+ };
417
+ const code = Object.keys(flags).filter((key) => flags[key] === 0);
418
+ return productList.filter((product) => !code.includes(product.code));
419
+ }
420
+ /**
421
+ * Sets the product click callback based on the product details and feature flag.
422
+ *
423
+ * @param productDetails - The details of the product.
424
+ * @param featureFlag - The feature flag.
425
+ * @returns The URL for the product click callback.
426
+ */
427
+ setProductClickCallback(productDetails, featureFlag) {
428
+ let url = '';
429
+ switch (productDetails.code) {
430
+ case 'COMPLIANCE_OPS':
431
+ return this.setComplianceURL(featureFlag);
432
+ case 'ORGANIZATION':
433
+ case 'DASHBOARD':
434
+ case 'ASSESSMENTS':
435
+ case 'RISK_OPS':
436
+ case 'ASSURANCE':
437
+ case 'AUDIT_OPS':
438
+ case 'ISSUE_OPS':
439
+ case 'POLICY_OPS':
440
+ return IN_APP_URL[productDetails.code];
441
+ default:
442
+ return 'javascript:void(0);';
443
+ }
444
+ }
445
+ /**
446
+ * Sets the compliance URL based on the feature flag and RBAC permissions.
447
+ *
448
+ * @param featureFlag - The feature flag.
449
+ * @returns The URL for the compliance page.
450
+ */
451
+ setComplianceURL(featureFlag) {
452
+ const permissions = this.rbacService.getRBACPermissions('compliance');
453
+ const isManageResDefault = featureFlag?.isFeatureEnabled('ff_compliance_redirection');
454
+ if (isManageResDefault) {
455
+ return permissions.includes('CRMR')
456
+ ? IN_APP_URL.MANAGE_RESPONSIBILITY
457
+ : IN_APP_URL.MY_RESPONSIBILITY;
458
+ }
459
+ else {
460
+ return permissions.includes('CPMP')
461
+ ? IN_APP_URL.PROGRAM
462
+ : IN_APP_URL.MY_RESPONSIBILITY;
463
+ }
464
+ }
465
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ProductListService, deps: [{ token: RbacService }], target: i0.ɵɵFactoryTarget.Injectable }); }
466
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ProductListService, providedIn: 'root' }); }
467
+ }
468
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ProductListService, decorators: [{
469
+ type: Injectable,
470
+ args: [{
471
+ providedIn: 'root',
472
+ }]
473
+ }], ctorParameters: function () { return [{ type: RbacService }]; } });
474
+
475
+ class ToolTipDirective {
476
+ constructor(el, renderer) {
477
+ this.el = el;
478
+ this.renderer = renderer;
479
+ this.showTooltip = true;
480
+ this.offset = 8;
481
+ }
482
+ ngOnInit() { }
483
+ onMouseEnter() {
484
+ this.hide();
485
+ this.show();
486
+ }
487
+ onMouseOver() {
488
+ this.hide();
489
+ this.show();
490
+ }
491
+ onMouseLeave() {
492
+ this.hide();
493
+ }
494
+ onMouseOut() {
495
+ this.hide();
496
+ }
497
+ onClick() {
498
+ this.hide();
499
+ }
500
+ show() {
501
+ if (!this.showTooltip) {
502
+ return;
503
+ }
504
+ this.create();
505
+ const element = this.el.nativeElement;
506
+ if (this.tooltipMandatory === true) {
507
+ this.setPosition();
508
+ this.renderer.addClass(this.tooltip, 'fl-tooltip-show');
509
+ }
510
+ else {
511
+ if (element.scrollWidth * element.scrollHeight >
512
+ element.offsetWidth * element.offsetHeight) {
513
+ this.setPosition();
514
+ this.renderer.addClass(this.tooltip, 'fl-tooltip-show');
515
+ }
516
+ }
517
+ }
518
+ hide() {
519
+ if (document.body.contains(this.tooltip)) {
520
+ if (this.renderer) {
521
+ this.renderer.removeChild(document.body, document.getElementById('tooltip'));
522
+ }
523
+ }
524
+ }
525
+ create() {
526
+ this.tooltip = this.renderer.createElement('span');
527
+ this.tooltip.setAttribute('id', 'tooltip');
528
+ this.tooltip.innerHTML = this.tooltipTitle;
529
+ this.renderer.appendChild(document.body, this.tooltip);
530
+ this.renderer.addClass(this.tooltip, 'fl-tooltip');
531
+ this.renderer.addClass(this.tooltip, `fl-tooltip-${this.placement}`);
532
+ this.renderer.addClass(this.tooltip, `${this.type}`);
533
+ if (this.animate) {
534
+ this.renderer.addClass(this.tooltip, `animate-${this.placement}`);
535
+ }
536
+ }
537
+ setPosition() {
538
+ const hostPos = this.el.nativeElement.getBoundingClientRect();
539
+ const tooltipPos = this.tooltip.getBoundingClientRect();
540
+ const scrollPos = window.pageYOffset ||
541
+ document.documentElement.scrollTop ||
542
+ document.body.scrollTop ||
543
+ 0;
544
+ const w = window.innerWidth;
545
+ const h = window.innerHeight;
546
+ let top;
547
+ let left;
548
+ if (this.placement === 'top') {
549
+ top = hostPos.top - tooltipPos.height - this.offset;
550
+ left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;
551
+ }
552
+ if (this.placement === 'bottom') {
553
+ if (hostPos.top + tooltipPos.height > h) {
554
+ top = hostPos.top - tooltipPos.height;
555
+ left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;
556
+ this.renderer.removeClass(this.tooltip, `fl-tooltip-bottom`);
557
+ this.renderer.addClass(this.tooltip, `fl-tooltip-top`);
558
+ }
559
+ else {
560
+ top = hostPos.bottom + this.offset;
561
+ left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;
562
+ }
563
+ }
564
+ if (this.placement === 'left') {
565
+ top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;
566
+ left = hostPos.left - tooltipPos.width - this.offset;
567
+ }
568
+ if (this.placement === 'right') {
569
+ top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;
570
+ left = hostPos.right + this.offset;
571
+ }
572
+ if (this.placement === 'bottom-right') {
573
+ top = hostPos.bottom + this.offset;
574
+ left = hostPos.left - (tooltipPos.width - 28);
575
+ }
576
+ if (this.placement === 'bottom-left') {
577
+ if (hostPos.top + tooltipPos.height > h - 30) {
578
+ top = hostPos.top - tooltipPos.height;
579
+ left = hostPos.left;
580
+ this.renderer.removeClass(this.tooltip, `fl-tooltip-bottom-left`);
581
+ this.renderer.addClass(this.tooltip, `fl-tooltip-top-left`);
582
+ }
583
+ else {
584
+ top = hostPos.bottom + this.offset;
585
+ left = hostPos.left;
586
+ }
587
+ }
588
+ this.renderer.setStyle(this.tooltip, 'top', `${top + scrollPos}px`);
589
+ this.renderer.setStyle(this.tooltip, 'left', `${left}px`);
590
+ }
591
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolTipDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
592
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ToolTipDirective, selector: "[arTooltip]", inputs: { tooltipTitle: ["arTooltip", "tooltipTitle"], placement: "placement", type: "type", tooltipMandatory: "tooltipMandatory", showTooltip: "showTooltip", animate: "animate" }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseover": "onMouseOver()", "mouseleave": "onMouseLeave()", "mouseout": "onMouseOut()", "click": "onClick()" } }, ngImport: i0 }); }
593
+ }
594
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolTipDirective, decorators: [{
595
+ type: Directive,
596
+ args: [{
597
+ selector: '[arTooltip]',
598
+ }]
599
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { tooltipTitle: [{
600
+ type: Input,
601
+ args: ['arTooltip']
602
+ }], placement: [{
603
+ type: Input
604
+ }], type: [{
605
+ type: Input
606
+ }], tooltipMandatory: [{
607
+ type: Input
608
+ }], showTooltip: [{
609
+ type: Input
610
+ }], animate: [{
611
+ type: Input
612
+ }], onMouseEnter: [{
613
+ type: HostListener,
614
+ args: ['mouseenter']
615
+ }], onMouseOver: [{
616
+ type: HostListener,
617
+ args: ['mouseover']
618
+ }], onMouseLeave: [{
619
+ type: HostListener,
620
+ args: ['mouseleave']
621
+ }], onMouseOut: [{
622
+ type: HostListener,
623
+ args: ['mouseout']
624
+ }], onClick: [{
625
+ type: HostListener,
626
+ args: ['click']
627
+ }] } });
628
+
629
+ class ModuleListComponent {
630
+ constructor(layoutService, productListService, apiService) {
631
+ this.layoutService = layoutService;
632
+ this.productListService = productListService;
633
+ this.apiService = apiService;
634
+ this.onToggleSubmenu = new EventEmitter();
635
+ this.ASSETS = ASSETS;
636
+ this.PRODUCT_LIST = PRODUCT_LIST;
637
+ this.checkModuleSubscription();
638
+ this.apiService.getSubscriptionList();
639
+ this.getUserDetails();
640
+ }
641
+ ngOnInit() { }
642
+ /**
643
+ * Handles the toggle event of the submenu for each product.
644
+ *
645
+ * @param eachProduct - The product object for which the submenu is being toggled.
646
+ * @returns Returns false to prevent the default behavior.
647
+ */
648
+ onSubMenuToggle(eachProduct) {
649
+ if (eachProduct?.code === 'TOGGLE') {
650
+ this.onToggleSubmenu.emit();
651
+ }
652
+ return false;
653
+ }
654
+ /**
655
+ * Checks the module subscription and updates the product list accordingly.
656
+ * Subscribes to the `subscriptionDetail$` observable from the `apiService` and updates the `PRODUCT_LIST` property of the component based on the received data.
657
+ *
658
+ * @remarks
659
+ * This method is typically called when the component is initialized or when the subscription details change.
660
+ */
661
+ checkModuleSubscription() {
662
+ this.apiService.subscriptionDetail$.subscribe((data) => {
663
+ if (data) {
664
+ this.PRODUCT_LIST = this.productListService.subscribedProduct(PRODUCT_LIST, data);
665
+ }
666
+ });
667
+ }
668
+ /**
669
+ * Sets the product list by mapping each product in the PRODUCT_LIST array.
670
+ * Each product's callback is set to the onSubMenuToggle method bound to the current instance.
671
+ * The product's URL is set using the setProductClickCallback method of the productListService,
672
+ * passing the product and the featureFlag as arguments. If the returned URL is null or undefined,
673
+ * an empty string is assigned to the product's URL property.
674
+ */
675
+ setProductList() {
676
+ this.PRODUCT_LIST = PRODUCT_LIST.map((product) => {
677
+ product.callback = this.onSubMenuToggle.bind(this);
678
+ product.url =
679
+ this.productListService.setProductClickCallback(product, this.featureFlag) ?? '';
680
+ return product;
681
+ });
682
+ }
683
+ getUserDetails() {
684
+ this.apiService.loggedUserDetail$.subscribe((data) => {
685
+ if (data) {
686
+ this.setProductList();
687
+ }
688
+ });
689
+ }
690
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModuleListComponent, deps: [{ token: LayoutService }, { token: ProductListService }, { token: ApiService }], target: i0.ɵɵFactoryTarget.Component }); }
691
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ModuleListComponent, selector: "vc-module-list", inputs: { featureFlag: "featureFlag" }, outputs: { onToggleSubmenu: "onToggleSubmenu" }, ngImport: i0, template: `
692
+ <div class="module-list">
693
+ <ul class="vx-p-0 vx-m-0">
694
+ <li
695
+ *ngFor="let eachProduct of PRODUCT_LIST"
696
+ [ngClass]="eachProduct.class"
697
+ [class.active]="eachProduct.isActive"
698
+ >
699
+ <a
700
+ [href]="eachProduct.url"
701
+ class="vx-d-flex vx-align-center vx-justify-center"
702
+ [ngClass]="eachProduct?.linkClass"
703
+ [arTooltip]="eachProduct.name"
704
+ placement="right"
705
+ type="black"
706
+ delay="0"
707
+ [tooltipMandatory]="true"
708
+ [animate]="true"
709
+ (click)="eachProduct?.callback(eachProduct)"
710
+ ><img [src]="eachProduct.icon" alt="" width="16" height="16"
711
+ /></a>
712
+ </li>
713
+ </ul>
714
+ </div>
715
+ `, isInline: true, styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";.module-list ul li{position:relative;z-index:1}.module-list ul li.active:before{background:#4681ef;border-radius:.25rem;content:\"\";position:absolute;top:.5rem;left:.5rem;width:2rem;height:2rem;z-index:-1}.module-list ul li.dashboard-list:after{background:#343952;border-radius:.25rem .25rem 0 0;content:\"\";position:absolute;top:.375rem;left:.375rem;width:2.25rem;height:2.625rem;z-index:-2}.module-list ul li.toDoResponsibility-list:after{background:#343952;border-radius:0 0 .25rem .25rem;content:\"\";position:absolute;bottom:.375rem;left:.375rem;width:2.25rem;height:2.625rem;z-index:-2}.module-list ul li a{height:3rem}.module-list ul li a.vc-hamburger{height:2rem}.module-list ul li a img{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: ToolTipDirective, selector: "[arTooltip]", inputs: ["arTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }] }); }
716
+ }
717
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModuleListComponent, decorators: [{
718
+ type: Component,
719
+ args: [{ selector: 'vc-module-list', template: `
720
+ <div class="module-list">
721
+ <ul class="vx-p-0 vx-m-0">
722
+ <li
723
+ *ngFor="let eachProduct of PRODUCT_LIST"
724
+ [ngClass]="eachProduct.class"
725
+ [class.active]="eachProduct.isActive"
726
+ >
727
+ <a
728
+ [href]="eachProduct.url"
729
+ class="vx-d-flex vx-align-center vx-justify-center"
730
+ [ngClass]="eachProduct?.linkClass"
731
+ [arTooltip]="eachProduct.name"
732
+ placement="right"
733
+ type="black"
734
+ delay="0"
735
+ [tooltipMandatory]="true"
736
+ [animate]="true"
737
+ (click)="eachProduct?.callback(eachProduct)"
738
+ ><img [src]="eachProduct.icon" alt="" width="16" height="16"
739
+ /></a>
740
+ </li>
741
+ </ul>
742
+ </div>
743
+ `, styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";.module-list ul li{position:relative;z-index:1}.module-list ul li.active:before{background:#4681ef;border-radius:.25rem;content:\"\";position:absolute;top:.5rem;left:.5rem;width:2rem;height:2rem;z-index:-1}.module-list ul li.dashboard-list:after{background:#343952;border-radius:.25rem .25rem 0 0;content:\"\";position:absolute;top:.375rem;left:.375rem;width:2.25rem;height:2.625rem;z-index:-2}.module-list ul li.toDoResponsibility-list:after{background:#343952;border-radius:0 0 .25rem .25rem;content:\"\";position:absolute;bottom:.375rem;left:.375rem;width:2.25rem;height:2.625rem;z-index:-2}.module-list ul li a{height:3rem}.module-list ul li a.vc-hamburger{height:2rem}.module-list ul li a img{pointer-events:none}\n"] }]
744
+ }], ctorParameters: function () { return [{ type: LayoutService }, { type: ProductListService }, { type: ApiService }]; }, propDecorators: { featureFlag: [{
745
+ type: Input
746
+ }], onToggleSubmenu: [{
747
+ type: Output
748
+ }] } });
749
+
750
+ class PreferenceListComponent {
751
+ constructor() {
752
+ this.ASSETS = ASSETS;
753
+ }
754
+ ngOnInit() { }
755
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PreferenceListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
756
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PreferenceListComponent, selector: "vc-preference-list", ngImport: i0, template: `
757
+ <div class="preference-list">
758
+ <ul class="vx-p-0 vx-m-0">
759
+ <li>
760
+ <a
761
+ class="vx-d-flex vx-align-center vx-justify-center"
762
+ [arTooltip]="'Download Center'"
763
+ placement="right"
764
+ type="black"
765
+ delay="0"
766
+ [tooltipMandatory]="true"
767
+ [animate]="true"
768
+ ><img
769
+ [src]="ASSETS.downloadCenterIcon"
770
+ alt=""
771
+ width="16"
772
+ height="16"
773
+ /></a>
774
+ </li>
775
+ <li>
776
+ <a
777
+ class="vx-d-flex vx-align-center vx-justify-center"
778
+ [arTooltip]="'Settings'"
779
+ placement="right"
780
+ type="black"
781
+ delay="0"
782
+ [tooltipMandatory]="true"
783
+ [animate]="true"
784
+ ><img [src]="ASSETS.settingsIcon" alt="" width="16" height="16"
785
+ /></a>
786
+ </li>
787
+ </ul>
788
+ </div>
789
+ `, isInline: true, styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";.preference-list{width:3rem;position:absolute;bottom:0;left:0}.preference-list ul li{position:relative;z-index:1}.preference-list ul li.active:before{background:#4681ef;border-radius:.25rem;content:\"\";position:absolute;top:.5rem;left:.5rem;width:2rem;height:2rem;z-index:-1}.preference-list ul li a{height:3rem}.preference-list ul li a img{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: ToolTipDirective, selector: "[arTooltip]", inputs: ["arTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }] }); }
790
+ }
791
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PreferenceListComponent, decorators: [{
792
+ type: Component,
793
+ args: [{ selector: 'vc-preference-list', template: `
794
+ <div class="preference-list">
795
+ <ul class="vx-p-0 vx-m-0">
796
+ <li>
797
+ <a
798
+ class="vx-d-flex vx-align-center vx-justify-center"
799
+ [arTooltip]="'Download Center'"
800
+ placement="right"
801
+ type="black"
802
+ delay="0"
803
+ [tooltipMandatory]="true"
804
+ [animate]="true"
805
+ ><img
806
+ [src]="ASSETS.downloadCenterIcon"
807
+ alt=""
808
+ width="16"
809
+ height="16"
810
+ /></a>
811
+ </li>
812
+ <li>
813
+ <a
814
+ class="vx-d-flex vx-align-center vx-justify-center"
815
+ [arTooltip]="'Settings'"
816
+ placement="right"
817
+ type="black"
818
+ delay="0"
819
+ [tooltipMandatory]="true"
820
+ [animate]="true"
821
+ ><img [src]="ASSETS.settingsIcon" alt="" width="16" height="16"
822
+ /></a>
823
+ </li>
824
+ </ul>
825
+ </div>
826
+ `, styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";.preference-list{width:3rem;position:absolute;bottom:0;left:0}.preference-list ul li{position:relative;z-index:1}.preference-list ul li.active:before{background:#4681ef;border-radius:.25rem;content:\"\";position:absolute;top:.5rem;left:.5rem;width:2rem;height:2rem;z-index:-1}.preference-list ul li a{height:3rem}.preference-list ul li a img{pointer-events:none}\n"] }]
827
+ }], ctorParameters: function () { return []; } });
828
+
829
+ class ProductListContainerComponent {
830
+ constructor() {
831
+ this.onToggleSubmenu = new EventEmitter();
832
+ }
833
+ ngOnInit() { }
834
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ProductListContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
835
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ProductListContainerComponent, selector: "vc-product-list-container", inputs: { featureFlag: "featureFlag" }, outputs: { onToggleSubmenu: "onToggleSubmenu" }, ngImport: i0, template: `<div class="product-list-container">
836
+ <vc-module-list
837
+ [featureFlag]="featureFlag"
838
+ (onToggleSubmenu)="onToggleSubmenu.emit()"
839
+ ></vc-module-list>
840
+ <vc-preference-list></vc-preference-list>
841
+ </div> `, isInline: true, styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";.product-list-container{background:#161b2f;width:3rem;height:100%;position:relative;z-index:1}\n"], dependencies: [{ kind: "component", type: ModuleListComponent, selector: "vc-module-list", inputs: ["featureFlag"], outputs: ["onToggleSubmenu"] }, { kind: "component", type: PreferenceListComponent, selector: "vc-preference-list" }] }); }
842
+ }
843
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ProductListContainerComponent, decorators: [{
844
+ type: Component,
845
+ args: [{ selector: 'vc-product-list-container', template: `<div class="product-list-container">
846
+ <vc-module-list
847
+ [featureFlag]="featureFlag"
848
+ (onToggleSubmenu)="onToggleSubmenu.emit()"
849
+ ></vc-module-list>
850
+ <vc-preference-list></vc-preference-list>
851
+ </div> `, styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";.product-list-container{background:#161b2f;width:3rem;height:100%;position:relative;z-index:1}\n"] }]
852
+ }], ctorParameters: function () { return []; }, propDecorators: { featureFlag: [{
853
+ type: Input
854
+ }], onToggleSubmenu: [{
855
+ type: Output
856
+ }] } });
857
+
858
+ class GlobalAlertComponent {
859
+ constructor() { }
860
+ ngOnInit() { }
861
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GlobalAlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
862
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GlobalAlertComponent, selector: "vc-global-alert", ngImport: i0, template: "<div\r\n class=\"global-alert vx-d-flex vx-align-center vx-justify-center\"\r\n [class.expired]=\"true\"\r\n>\r\n <i class=\"icons vx-fs-12 vx-mr-2\">&#xe930;</i>\r\n <!-- <span class=\"vx-fs-13\"\r\n >Email notifications have been paused by the Key Admin. You will not be able\r\n to edit your email notifications until the Key Admin turns it back on.</span\r\n > -->\r\n <span class=\"vx-fs-13\"\r\n >SUBSCRIPTION EXPIRED: YOU WILL NOT BE ABLE TO LOGIN TO YOUR ACCOUNT AFTER\r\n 30 DAYS.\r\n <a href=\"https://www.v-comply.com/contact-us\" target=\"_blank\"\r\n >CONTACT US</a\r\n ></span\r\n >\r\n <div class=\"global-alert-action vx-d-flex vx-align-center vx-lh-6\">\r\n <button\r\n class=\"vx-fs-12 vx-p-0 vx-m-0 vx-mr-4 vx-d-flex vx-align-center disabled\"\r\n >\r\n <i class=\"icons\">&#xe96b;</i>\r\n </button>\r\n <span class=\"vx-fs-13 vx-txt-white\">1</span>\r\n <span class=\"divider vx-fs-11 vx-txt-white\">/</span>\r\n <span class=\"vx-fs-13 vx-fw-600 vx-txt-white\">2</span>\r\n <button class=\"vx-fs-12 vx-p-0 vx-m-0 vx-ml-4 vx-d-flex vx-align-center\">\r\n <i class=\"icons\">&#xe970;</i>\r\n </button>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";.global-alert{background:#343952;height:2.25rem;color:#f7d873}.global-alert.expired{color:#e38b7a}.global-alert.expired a{color:#fac3b7;margin-left:.5rem}.global-alert a{color:#f7d873}.global-alert-action{position:absolute;right:.75rem;top:.375rem}.global-alert-action span{letter-spacing:2px}.global-alert-action button{background:transparent;border-radius:0;border:none;color:#fff}.global-alert-action button.disabled{pointer-events:none;opacity:.5;color:#fff}\n"] }); }
863
+ }
864
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GlobalAlertComponent, decorators: [{
865
+ type: Component,
866
+ args: [{ selector: 'vc-global-alert', template: "<div\r\n class=\"global-alert vx-d-flex vx-align-center vx-justify-center\"\r\n [class.expired]=\"true\"\r\n>\r\n <i class=\"icons vx-fs-12 vx-mr-2\">&#xe930;</i>\r\n <!-- <span class=\"vx-fs-13\"\r\n >Email notifications have been paused by the Key Admin. You will not be able\r\n to edit your email notifications until the Key Admin turns it back on.</span\r\n > -->\r\n <span class=\"vx-fs-13\"\r\n >SUBSCRIPTION EXPIRED: YOU WILL NOT BE ABLE TO LOGIN TO YOUR ACCOUNT AFTER\r\n 30 DAYS.\r\n <a href=\"https://www.v-comply.com/contact-us\" target=\"_blank\"\r\n >CONTACT US</a\r\n ></span\r\n >\r\n <div class=\"global-alert-action vx-d-flex vx-align-center vx-lh-6\">\r\n <button\r\n class=\"vx-fs-12 vx-p-0 vx-m-0 vx-mr-4 vx-d-flex vx-align-center disabled\"\r\n >\r\n <i class=\"icons\">&#xe96b;</i>\r\n </button>\r\n <span class=\"vx-fs-13 vx-txt-white\">1</span>\r\n <span class=\"divider vx-fs-11 vx-txt-white\">/</span>\r\n <span class=\"vx-fs-13 vx-fw-600 vx-txt-white\">2</span>\r\n <button class=\"vx-fs-12 vx-p-0 vx-m-0 vx-ml-4 vx-d-flex vx-align-center\">\r\n <i class=\"icons\">&#xe970;</i>\r\n </button>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";.global-alert{background:#343952;height:2.25rem;color:#f7d873}.global-alert.expired{color:#e38b7a}.global-alert.expired a{color:#fac3b7;margin-left:.5rem}.global-alert a{color:#f7d873}.global-alert-action{position:absolute;right:.75rem;top:.375rem}.global-alert-action span{letter-spacing:2px}.global-alert-action button{background:transparent;border-radius:0;border:none;color:#fff}.global-alert-action button.disabled{pointer-events:none;opacity:.5;color:#fff}\n"] }]
867
+ }], ctorParameters: function () { return []; } });
868
+
869
+ dayjs.extend(customParseFormat);
870
+ class BusinessCycleService {
871
+ constructor(authorizer) {
872
+ this.authorizer = authorizer;
873
+ this.businessCycleList$ = new BehaviorSubject({});
874
+ this.orgDetails$ = new BehaviorSubject({});
875
+ this.selectedBusinessCycle$ = new BehaviorSubject({});
876
+ this.changeBusinessCycle$ = new BehaviorSubject(false);
877
+ this.isBusinessCycleAvailable();
878
+ }
879
+ /**
880
+ * #### Description
881
+ * it will check the business cycle stored in local is same business cycle as the user login
882
+ * Determines whether correct business cycle is
883
+ * @returns true if correct business cycle
884
+ */
885
+ isCorrectBusinessCycle(cycle) {
886
+ const localStorageData = localStorage.getItem('businessCycle') ?? '';
887
+ if (!localStorageData) {
888
+ return false;
889
+ }
890
+ if (JSON.parse(localStorageData).userId === this.authorizer.getUserId()) {
891
+ for (let i = 0; i < cycle.length; i++) {
892
+ if (cycle[i].start_date ==
893
+ JSON.parse(localStorageData)?.selectedCycle?.start_date) {
894
+ return true;
895
+ }
896
+ }
897
+ return false;
898
+ }
899
+ else {
900
+ return false;
901
+ }
902
+ }
903
+ /**
904
+ * #### Description
905
+ * set business cycle in local storage if local storage don't have business cycle.
906
+ * Sets business cycle
907
+ * @param businessCycleList list of all the cycle of the organization
908
+ */
909
+ setBusinessCycle(businessCycleList) {
910
+ let cycle = {};
911
+ businessCycleList?.forEach((el) => {
912
+ if (el.selected) {
913
+ cycle = el;
914
+ }
915
+ });
916
+ cycle['selected_cycle_arr'] = this.setSelectedCycleArray(cycle);
917
+ let businessCycleObject = {
918
+ userId: this.authorizer.getUserId(),
919
+ selectedCycle: {
920
+ start_date: cycle?.start_date,
921
+ end_date: cycle.end_date,
922
+ selected: true,
923
+ business_cycle: cycle?.business_cycle,
924
+ selected_cycle: cycle?.start_date + '-' + cycle?.end_date,
925
+ selected_cycle_arr: cycle?.selected_cycle_arr,
926
+ },
927
+ };
928
+ localStorage.setItem('businessCycle', JSON.stringify(businessCycleObject));
929
+ this.isBusinessCycleAvailable();
930
+ }
931
+ setSelectedCycleArray(cycle) {
932
+ let cycleArray = cycle.start_date + '-' + cycle.end_date;
933
+ return [cycleArray];
934
+ }
935
+ /**
936
+ * #### Description
937
+ * if business cycle is found in local the it will set in this selectedBusinessCycle$ variable.
938
+ * it is subject variable so we can use it in different component
939
+ */
940
+ isBusinessCycleAvailable() {
941
+ const localStorageData = localStorage.getItem('businessCycle') ?? '';
942
+ const businessCycleYear = JSON.parse(localStorageData)?.selectedCycle;
943
+ if (businessCycleYear?.selected_cycle_arr?.length === 1) {
944
+ this.selectedBusinessCycle$.next(businessCycleYear);
945
+ }
946
+ else if (businessCycleYear &&
947
+ businessCycleYear?.selected_cycle_arr?.length > 1) {
948
+ businessCycleYear['business_cycle'] = [];
949
+ businessCycleYear?.selected_cycle_arr.forEach((date) => {
950
+ businessCycleYear['business_cycle'].push(this.convertNumericAlpha(date));
951
+ });
952
+ this.selectedBusinessCycle$.next(businessCycleYear);
953
+ }
954
+ }
955
+ /**
956
+ * #### Description
957
+ *
958
+ * it will convert date from dd-mm-yyyy to dd mmm yyyy formate
959
+ * Converts date
960
+ * @param date
961
+ * @returns date in this formate DD MMM YYYY
962
+ */
963
+ convertDate(date) {
964
+ return dayjs(date, 'DD-MM-YYYY').format('DD MMM YYYY');
965
+ }
966
+ /**
967
+ * #### Description
968
+ *
969
+ * Converts numeric alpha
970
+ * @param str = "01-05-2021-30-04-2022"
971
+ * @returns = "01 May 2021 - 30 Apr 2022"
972
+ */
973
+ convertNumericAlpha(str) {
974
+ return (this.convertDate(str.substring(0, 10)) +
975
+ ' - ' +
976
+ this.convertDate(str.substring(str.length - 10, str.lenth)));
977
+ }
978
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BusinessCycleService, deps: [{ token: i1$1.AuthorizerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
979
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BusinessCycleService, providedIn: 'root' }); }
980
+ }
981
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BusinessCycleService, decorators: [{
982
+ type: Injectable,
983
+ args: [{
984
+ providedIn: 'root',
985
+ }]
986
+ }], ctorParameters: function () { return [{ type: i1$1.AuthorizerService }]; } });
987
+
988
+ class PopoverService {
989
+ constructor() {
990
+ }
991
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
992
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverService, providedIn: 'root' }); }
993
+ }
994
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverService, decorators: [{
995
+ type: Injectable,
996
+ args: [{
997
+ providedIn: 'root',
998
+ }]
999
+ }], ctorParameters: function () { return []; } });
1000
+
1001
+ class PopoverComponent {
1002
+ constructor(popoverService) {
1003
+ this.popoverService = popoverService;
1004
+ this.popoverContainer = false;
1005
+ this.closedOnOverlay = new EventEmitter();
1006
+ this.showPopover = false;
1007
+ }
1008
+ ngOnInit() { }
1009
+ popover() {
1010
+ this.popoverContainer = false;
1011
+ this.popoverContainer = true;
1012
+ setTimeout(() => {
1013
+ this.getPosition();
1014
+ this.showPopover = true;
1015
+ }, 10);
1016
+ return false;
1017
+ }
1018
+ popoverEvent() {
1019
+ this.popoverContainer = false;
1020
+ this.popoverContainer = true;
1021
+ setTimeout(() => {
1022
+ // this.getPosition();
1023
+ this.positionX = this.popoverService.positionX;
1024
+ this.positionY = this.popoverService.positionY;
1025
+ this.showPopover = true;
1026
+ }, 10);
1027
+ return false;
1028
+ }
1029
+ closePopover(top) {
1030
+ if (!this.dontCloseonClick || top === 'top') {
1031
+ this.popoverContainer = false;
1032
+ this.showPopover = false;
1033
+ }
1034
+ }
1035
+ close() {
1036
+ this.popoverContainer = false;
1037
+ this.showPopover = false;
1038
+ }
1039
+ clickedPopover() {
1040
+ this.getPosition();
1041
+ }
1042
+ getPosition() {
1043
+ // setTimeout(() => {
1044
+ const elementPositionn = this.popoverService.elementPosition;
1045
+ this.popoverHeight = this.popoverRatio.nativeElement.offsetHeight;
1046
+ this.popoverWidth = this.popoverRatio.nativeElement.offsetWidth;
1047
+ if (this.popoverService.elementDirection === 'left') {
1048
+ this.leftValue = elementPositionn.left;
1049
+ if (elementPositionn.top + elementPositionn.height + this.popoverHeight >
1050
+ window.outerHeight - 200) {
1051
+ this.topValue = elementPositionn.top - this.popoverHeight;
1052
+ }
1053
+ else {
1054
+ this.topValue = elementPositionn.top + elementPositionn.height;
1055
+ }
1056
+ }
1057
+ if (this.popoverService.elementDirection === 'right') {
1058
+ this.leftValue =
1059
+ elementPositionn.left + elementPositionn.width - this.popoverWidth;
1060
+ if (elementPositionn.top + elementPositionn.height + this.popoverHeight >
1061
+ window.outerHeight - 200) {
1062
+ this.topValue = elementPositionn.top - this.popoverHeight;
1063
+ }
1064
+ else {
1065
+ this.topValue = elementPositionn.top + elementPositionn.height;
1066
+ }
1067
+ }
1068
+ if (this.popoverService.elementDirection === 'top') {
1069
+ this.leftValue = elementPositionn.left + elementPositionn.width;
1070
+ if (elementPositionn.top + elementPositionn.height + this.popoverHeight >
1071
+ window.outerHeight - 200) {
1072
+ this.topValue = elementPositionn.top - this.popoverHeight;
1073
+ }
1074
+ else {
1075
+ this.topValue = elementPositionn.top - this.popoverHeight;
1076
+ }
1077
+ }
1078
+ if (this.popoverService.elementDirection === 'bottom') {
1079
+ this.leftValue = elementPositionn.left + elementPositionn.width;
1080
+ if (elementPositionn.top + elementPositionn.height + this.popoverHeight >
1081
+ window.outerHeight - 200) {
1082
+ this.topValue = elementPositionn.top - this.popoverHeight;
1083
+ }
1084
+ else {
1085
+ this.topValue = elementPositionn.top + elementPositionn.height;
1086
+ }
1087
+ }
1088
+ if (this.popoverService.elementDirection === 'self-position') {
1089
+ this.leftValue =
1090
+ elementPositionn.left +
1091
+ elementPositionn.width / 2 -
1092
+ this.popoverWidth / 2;
1093
+ this.topValue = elementPositionn.top - 15;
1094
+ }
1095
+ if (this.popoverService.elementDirection === 'top-center') {
1096
+ this.leftValue =
1097
+ elementPositionn.left +
1098
+ elementPositionn.width / 2 -
1099
+ this.popoverWidth / 2;
1100
+ // this.topValue = elementPositionn.top - this.popoverHeight;
1101
+ if (elementPositionn.top + elementPositionn.height + this.popoverHeight >
1102
+ window.outerHeight) {
1103
+ this.topValue = elementPositionn.top + elementPositionn.height;
1104
+ }
1105
+ else {
1106
+ this.topValue = elementPositionn.top - this.popoverHeight;
1107
+ }
1108
+ }
1109
+ if (this.popoverService.elementDirection === 'center') {
1110
+ this.leftValue =
1111
+ elementPositionn.left +
1112
+ elementPositionn.width / 2 -
1113
+ this.popoverWidth / 2;
1114
+ this.topValue = elementPositionn.top + elementPositionn.height;
1115
+ }
1116
+ this.positionX = this.leftValue;
1117
+ this.positionY = this.topValue;
1118
+ // }, 10);
1119
+ }
1120
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverComponent, deps: [{ token: PopoverService }], target: i0.ɵɵFactoryTarget.Component }); }
1121
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PopoverComponent, selector: "vui-popover", inputs: { dontCloseonClick: "dontCloseonClick" }, outputs: { closedOnOverlay: "closedOnOverlay" }, viewQueries: [{ propertyName: "popoverRatio", first: true, predicate: ["popoverRatio"], descendants: true }, { propertyName: "popoverContent", first: true, predicate: ["popoverContent"], descendants: true }], ngImport: i0, template: "<div\r\n class=\"vc-overlay\"\r\n *ngIf=\"popoverContainer\"\r\n (click)=\"closePopover('top'); this.closedOnOverlay.emit()\"\r\n></div>\r\n<div\r\n class=\"action\"\r\n [class.active]=\"showPopover\"\r\n *ngIf=\"popoverContainer\"\r\n [style.top.px]=\"positionY\"\r\n [style.left.px]=\"positionX\"\r\n #popoverRatio\r\n id=\"popoverRatio\"\r\n>\r\n <div (click)=\"closePopover(); clickedPopover()\" #popoverContent>\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n", styles: [".action{position:fixed;z-index:13;display:inline-block;opacity:0}.action.active{opacity:1}.vc-overlay{z-index:12;cursor:initial}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
1122
+ }
1123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverComponent, decorators: [{
1124
+ type: Component,
1125
+ args: [{ selector: 'vui-popover', template: "<div\r\n class=\"vc-overlay\"\r\n *ngIf=\"popoverContainer\"\r\n (click)=\"closePopover('top'); this.closedOnOverlay.emit()\"\r\n></div>\r\n<div\r\n class=\"action\"\r\n [class.active]=\"showPopover\"\r\n *ngIf=\"popoverContainer\"\r\n [style.top.px]=\"positionY\"\r\n [style.left.px]=\"positionX\"\r\n #popoverRatio\r\n id=\"popoverRatio\"\r\n>\r\n <div (click)=\"closePopover(); clickedPopover()\" #popoverContent>\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n", styles: [".action{position:fixed;z-index:13;display:inline-block;opacity:0}.action.active{opacity:1}.vc-overlay{z-index:12;cursor:initial}\n"] }]
1126
+ }], ctorParameters: function () { return [{ type: PopoverService }]; }, propDecorators: { dontCloseonClick: [{
1127
+ type: Input
1128
+ }], popoverRatio: [{
1129
+ type: ViewChild,
1130
+ args: ['popoverRatio']
1131
+ }], popoverContent: [{
1132
+ type: ViewChild,
1133
+ args: ['popoverContent']
1134
+ }], closedOnOverlay: [{
1135
+ type: Output
1136
+ }] } });
1137
+
1138
+ class PopoverDirective {
1139
+ constructor(elRef, popoverService) {
1140
+ this.elRef = elRef;
1141
+ this.popoverService = popoverService;
1142
+ }
1143
+ click() {
1144
+ this.popoverService.elementPosition = this.elRef.nativeElement.getBoundingClientRect();
1145
+ this.popoverService.elementDirection = this.position;
1146
+ // this.getPosition();
1147
+ }
1148
+ getPosition() {
1149
+ setTimeout(() => {
1150
+ // this.popoverService.elementPosition = this.elRef.nativeElement.getBoundingClientRect();
1151
+ const elementPositionn = this.elRef.nativeElement.getBoundingClientRect();
1152
+ if (this.position === 'left') {
1153
+ this.leftValue = elementPositionn.left;
1154
+ if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {
1155
+ this.topValue = elementPositionn.top - this.popoverService.popoverHeight;
1156
+ }
1157
+ else {
1158
+ this.topValue = elementPositionn.top + elementPositionn.height;
1159
+ }
1160
+ }
1161
+ if (this.position === 'right') {
1162
+ this.leftValue = elementPositionn.left + elementPositionn.width - this.popoverService.popoverWidth;
1163
+ if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {
1164
+ this.topValue = elementPositionn.top - this.popoverService.popoverHeight;
1165
+ }
1166
+ else {
1167
+ this.topValue = elementPositionn.top + elementPositionn.height;
1168
+ }
1169
+ }
1170
+ if (this.position === 'top') {
1171
+ this.leftValue = elementPositionn.left + elementPositionn.width;
1172
+ if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {
1173
+ this.topValue = elementPositionn.top - this.popoverService.popoverHeight;
1174
+ }
1175
+ else {
1176
+ this.topValue = elementPositionn.top - this.popoverService.popoverHeight;
1177
+ }
1178
+ }
1179
+ if (this.position === 'bottom') {
1180
+ this.leftValue = elementPositionn.left + elementPositionn.width;
1181
+ if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {
1182
+ this.topValue = elementPositionn.top - this.popoverService.popoverHeight;
1183
+ }
1184
+ else {
1185
+ this.topValue = elementPositionn.top + elementPositionn.height;
1186
+ }
1187
+ }
1188
+ if (this.position === 'self-position') {
1189
+ this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverService.popoverWidth / 2;
1190
+ this.topValue = elementPositionn.top - 15;
1191
+ }
1192
+ if (this.position === 'top-center') {
1193
+ this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverService.popoverWidth / 2;
1194
+ this.topValue = elementPositionn.top - this.popoverService.popoverHeight;
1195
+ }
1196
+ this.popoverService.positionX = this.leftValue;
1197
+ this.popoverService.positionY = this.topValue;
1198
+ }, 10);
1199
+ }
1200
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverDirective, deps: [{ token: i0.ElementRef }, { token: PopoverService }], target: i0.ɵɵFactoryTarget.Directive }); }
1201
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: PopoverDirective, selector: "[appPopover]", inputs: { refrence: "refrence", position: "position" }, host: { listeners: { "click": "click()" } }, ngImport: i0 }); }
1202
+ }
1203
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverDirective, decorators: [{
1204
+ type: Directive,
1205
+ args: [{
1206
+ selector: '[appPopover]',
1207
+ }]
1208
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: PopoverService }]; }, propDecorators: { refrence: [{
1209
+ type: Input
1210
+ }], position: [{
1211
+ type: Input
1212
+ }], click: [{
1213
+ type: HostListener,
1214
+ args: ['click']
1215
+ }] } });
1216
+
1217
+ class CsCheckboxComponent {
1218
+ constructor() {
1219
+ this.disabled = false;
1220
+ this.ngValueChange = new EventEmitter();
1221
+ }
1222
+ ngOnInit() { }
1223
+ valueChanged() {
1224
+ this.ngValueChange.emit(this.ngValue);
1225
+ }
1226
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CsCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1227
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CsCheckboxComponent, selector: "app-cs-checkbox", inputs: { disabled: "disabled", ngValue: "ngValue", value: "value" }, outputs: { ngValueChange: "ngValueChange" }, ngImport: i0, template: "<label class=\"checkbox-item\" [class.disabled]=\"disabled\">\r\n <input type=\"checkbox\" [name]=\"value\" [disabled]=\"disabled\" [(ngModel)]=\"ngValue\" (ngModelChange)=\"valueChanged()\" />\r\n <span class=\"checkbox\">\r\n <span class=\"inner\"></span>\r\n </span>\r\n <svg class=\"checkmark\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkmark__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkmark__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n <span class=\"value\"><ng-content></ng-content></span>\r\n</label>\r\n", styles: ["label.checkbox-item{display:inline-flex;align-items:center;cursor:pointer;margin:0;padding:0;max-width:100%}label.checkbox-item span{display:inline-flex;align-items:center;justify-content:center}label.checkbox-item span.checkbox{height:16px;width:16px;border-radius:2px;border:1px solid #dbdbdb;position:relative;padding:2px;margin-top:0}label.checkbox-item span.value{color:#4e4e4e;font-size:14px;line-height:16px;font-weight:400;margin-left:10px;max-width:calc(100% - 26px)}label.checkbox-item span.value:empty{display:none}label.checkbox-item svg{display:none;margin-top:0}label.checkbox-item input[type=checkbox]{display:none}label.checkbox-item input[type=checkbox]:checked~svg{display:block}label.checkbox-item input[type=checkbox]:checked+.checkbox{display:none}label.checkbox-item input[type=checkbox]:disabled~*{opacity:.7}.disabled{opacity:.4!important}.checkmark{width:16px;height:16px;border-radius:2px;stroke-width:4;stroke:#fff;stroke-miterlimit:10;box-shadow:inset 0 0 #34aa44;animation:fill .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both}.checkmark__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#34aa44;fill:none;animation:stroke .6s cubic-bezier(.65,0,.45,1) forwards}.checkmark__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:stroke .3s cubic-bezier(.65,0,.45,1) .8s forwards}@keyframes stroke{to{stroke-dashoffset:0}}@keyframes scale{0%,to{transform:none}50%{transform:scale3d(1.1,1.1,1)}}@keyframes fill{to{box-shadow:inset 0 0 0 30px #34aa44}}\n"], dependencies: [{ kind: "directive", type: i1$3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
1228
+ }
1229
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CsCheckboxComponent, decorators: [{
1230
+ type: Component,
1231
+ args: [{ selector: 'app-cs-checkbox', template: "<label class=\"checkbox-item\" [class.disabled]=\"disabled\">\r\n <input type=\"checkbox\" [name]=\"value\" [disabled]=\"disabled\" [(ngModel)]=\"ngValue\" (ngModelChange)=\"valueChanged()\" />\r\n <span class=\"checkbox\">\r\n <span class=\"inner\"></span>\r\n </span>\r\n <svg class=\"checkmark\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkmark__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkmark__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n <span class=\"value\"><ng-content></ng-content></span>\r\n</label>\r\n", styles: ["label.checkbox-item{display:inline-flex;align-items:center;cursor:pointer;margin:0;padding:0;max-width:100%}label.checkbox-item span{display:inline-flex;align-items:center;justify-content:center}label.checkbox-item span.checkbox{height:16px;width:16px;border-radius:2px;border:1px solid #dbdbdb;position:relative;padding:2px;margin-top:0}label.checkbox-item span.value{color:#4e4e4e;font-size:14px;line-height:16px;font-weight:400;margin-left:10px;max-width:calc(100% - 26px)}label.checkbox-item span.value:empty{display:none}label.checkbox-item svg{display:none;margin-top:0}label.checkbox-item input[type=checkbox]{display:none}label.checkbox-item input[type=checkbox]:checked~svg{display:block}label.checkbox-item input[type=checkbox]:checked+.checkbox{display:none}label.checkbox-item input[type=checkbox]:disabled~*{opacity:.7}.disabled{opacity:.4!important}.checkmark{width:16px;height:16px;border-radius:2px;stroke-width:4;stroke:#fff;stroke-miterlimit:10;box-shadow:inset 0 0 #34aa44;animation:fill .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both}.checkmark__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#34aa44;fill:none;animation:stroke .6s cubic-bezier(.65,0,.45,1) forwards}.checkmark__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:stroke .3s cubic-bezier(.65,0,.45,1) .8s forwards}@keyframes stroke{to{stroke-dashoffset:0}}@keyframes scale{0%,to{transform:none}50%{transform:scale3d(1.1,1.1,1)}}@keyframes fill{to{box-shadow:inset 0 0 0 30px #34aa44}}\n"] }]
1232
+ }], ctorParameters: function () { return []; }, propDecorators: { disabled: [{
1233
+ type: Input
1234
+ }], ngValue: [{
1235
+ type: Input
1236
+ }], value: [{
1237
+ type: Input
1238
+ }], ngValueChange: [{
1239
+ type: Output
1240
+ }] } });
1241
+
1242
+ class DateFormatPipe {
1243
+ transform(value) {
1244
+ // Split the input date string
1245
+ const [day, month, year] = value.split('-');
1246
+ // Convert month number to month name
1247
+ const monthNames = [
1248
+ 'Jan',
1249
+ 'Feb',
1250
+ 'Mar',
1251
+ 'Apr',
1252
+ 'May',
1253
+ 'Jun',
1254
+ 'Jul',
1255
+ 'Aug',
1256
+ 'Sep',
1257
+ 'Oct',
1258
+ 'Nov',
1259
+ 'Dec',
1260
+ ];
1261
+ const monthName = monthNames[parseInt(month, 10) - 1];
1262
+ // Return the formatted date
1263
+ return `${day} ${monthName} ${year}`;
1264
+ }
1265
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
1266
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DateFormatPipe, name: "dateFormat" }); }
1267
+ }
1268
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateFormatPipe, decorators: [{
1269
+ type: Pipe,
1270
+ args: [{
1271
+ name: 'dateFormat',
1272
+ }]
1273
+ }] });
1274
+
1275
+ class BusinessCycleComponent {
1276
+ constructor(authService, businessCycleService, apiService) {
1277
+ this.authService = authService;
1278
+ this.businessCycleService = businessCycleService;
1279
+ this.apiService = apiService;
1280
+ this.cycleToShow = 'Business Cycle';
1281
+ this.businessCycleArr = [];
1282
+ this.hiddenCycle = [];
1283
+ this.tempBusinessCycleArr = [];
1284
+ this.tempHiddenCycle = [0];
1285
+ this.businessCyclesList = [];
1286
+ this.tempSelectedCycle = [];
1287
+ this.userId = '';
1288
+ this.businessCycleChange = new EventEmitter();
1289
+ this.userId = this.authService.getMemberId() ?? '';
1290
+ this.businessCycleService.isBusinessCycleAvailable();
1291
+ this.setSelectedBusinessCycle();
1292
+ this.getOrgDetails();
1293
+ }
1294
+ ngOnInit() { }
1295
+ getOrgDetails() {
1296
+ this.apiService.organizationDetail$.subscribe((res) => {
1297
+ console.log('org Details', res);
1298
+ if (res) {
1299
+ this.setBusinessCycleKey(res.business_cycles_arr);
1300
+ this.setBusinessCycle();
1301
+ }
1302
+ });
1303
+ }
1304
+ setSelectedBusinessCycle() {
1305
+ this.businessCycleService.selectedBusinessCycle$.subscribe((res) => {
1306
+ if (res) {
1307
+ console.log('res ==>', res);
1308
+ this.selectedBusinessCycle = res;
1309
+ this.setTempSelectedCycle(res);
1310
+ }
1311
+ });
1312
+ }
1313
+ /**
1314
+ * #### Description
1315
+ * it will set a new key in every cycle
1316
+ * key will use for disabled or enable the cycle from business cycle list.
1317
+ * @param businessCycle this the business cycle list
1318
+ */
1319
+ setBusinessCycleKey(businessCycle) {
1320
+ this.businessCycleList = businessCycle;
1321
+ if (this.businessCycleList.length)
1322
+ this.businessCycleList.map((cycle) => {
1323
+ cycle['isDisabled'] = false;
1324
+ });
1325
+ }
1326
+ /**
1327
+ * #### Description
1328
+ * it will check the cycle if it is not checked.
1329
+ * if it has checked then it will uncheck that cycle.
1330
+ * @param cycle checked or unchecked cycle from business cycle list.
1331
+ * @param index it give the index value of business cycle list which is selected.
1332
+ */
1333
+ selectCycle(cycle, index) {
1334
+ const isExist = this.tempSelectedCycle.findIndex((el) => el.start_date == cycle.start_date);
1335
+ if (isExist >= 0) {
1336
+ this.tempSelectedCycle.splice(isExist, 1);
1337
+ }
1338
+ else if (this.tempSelectedCycle?.length === 0) {
1339
+ this.tempSelectedCycle.push(cycle);
1340
+ }
1341
+ else {
1342
+ const selectedIndex = this.businessCycleList.findIndex((el) => el.start_date == this.tempSelectedCycle[0]?.start_date);
1343
+ if (selectedIndex < index) {
1344
+ this.tempSelectedCycle.unshift(cycle);
1345
+ }
1346
+ else {
1347
+ this.tempSelectedCycle.push(cycle);
1348
+ }
1349
+ }
1350
+ this.setCycleEnableDisable();
1351
+ }
1352
+ /**
1353
+ * #### Description
1354
+ *
1355
+ * need to check cycle includes in selected cycle array
1356
+ * Determines whether selected cycle is
1357
+ * @param selectedCycle selected Cycle which user checked or auto selected cycle.
1358
+ * @param cycle all indivisible cycle of business cycle of the organization.
1359
+ * @returns boolean value is cycle exist in selected cycle or not.
1360
+ */
1361
+ isSelectedCycle(selectedCycle, cycle) {
1362
+ let isSelected = false;
1363
+ selectedCycle.forEach((el) => {
1364
+ if (el.start_date == cycle.start_date) {
1365
+ isSelected = true;
1366
+ }
1367
+ });
1368
+ return isSelected;
1369
+ }
1370
+ /**
1371
+ * #### Description
1372
+ *
1373
+ * set selected businessCycle to temp business cycle indivisible if there is two selected cycle
1374
+ * Sets temp selected cycle
1375
+ * @param cycle selected business cycle from local storage
1376
+ */
1377
+ setTempSelectedCycle(cycle) {
1378
+ this.tempSelectedCycle = [];
1379
+ if (cycle?.selected_cycle_arr?.length === 1) {
1380
+ this.tempSelectedCycle.push(cycle);
1381
+ this.setCycleToShow(cycle);
1382
+ // this.cycleToShow = cycle.business_cycle;
1383
+ }
1384
+ else {
1385
+ cycle?.selected_cycle_arr?.forEach((el, i) => {
1386
+ let payload = {
1387
+ start_date: el.substring(0, 10),
1388
+ end_date: el.substring(el?.length - 10, el?.lenth),
1389
+ selected: true,
1390
+ business_cycle: cycle?.business_cycle[i],
1391
+ selected_cycle: cycle?.selected_cycle[i],
1392
+ selected_cycle_arr: [el],
1393
+ };
1394
+ this.tempSelectedCycle.push(payload);
1395
+ });
1396
+ this.setCycleToShow(cycle);
1397
+ // this.cycleToShow = cycle?.business_cycle[0]?.substring(0,11) + " - " + cycle?.business_cycle[1].substring(cycle?.business_cycle[1]?.length-11, cycle?.business_cycle[1]?.lenth);
1398
+ }
1399
+ // this.setCycleToShow(cycle);
1400
+ this.setCycleEnableDisable();
1401
+ }
1402
+ /**
1403
+ * #### Description
1404
+ * when user select one cycle then their besides cycles are enable and other are disabled.
1405
+ * if user select two cycles then all the cycles get disabled except selected cycles.
1406
+ *
1407
+ * In businessCycleList array we set a isDisabled key, we are set it true when need to disabled the cycle.
1408
+ */
1409
+ setCycleEnableDisable() {
1410
+ if (!this.tempSelectedCycle?.length) {
1411
+ if (this.businessCycleList?.length)
1412
+ this.businessCycleList.map((cycle) => {
1413
+ cycle['isDisabled'] = false;
1414
+ });
1415
+ }
1416
+ else if (this.tempSelectedCycle?.length === 1) {
1417
+ const index = this.businessCycleList?.findIndex((el) => el.start_date == this.tempSelectedCycle[0].start_date);
1418
+ this.businessCycleList?.forEach((cycle, i) => {
1419
+ if (index - 1 === i || index === i || index + 1 === i) {
1420
+ cycle.isDisabled = false;
1421
+ }
1422
+ else {
1423
+ cycle.isDisabled = true;
1424
+ }
1425
+ });
1426
+ }
1427
+ else {
1428
+ this.businessCycleList.forEach((cycle) => {
1429
+ let isDisabled = true;
1430
+ this.tempSelectedCycle.forEach((el) => {
1431
+ if (cycle.start_date == el.start_date) {
1432
+ isDisabled = false;
1433
+ }
1434
+ });
1435
+ cycle.isDisabled = isDisabled;
1436
+ });
1437
+ }
1438
+ }
1439
+ /**
1440
+ * #### Description
1441
+ * When user click apply then selected cycle is set in local storage.
1442
+ *
1443
+ */
1444
+ setBusinessCycle() {
1445
+ let businessCycleObject = {};
1446
+ if (this.tempSelectedCycle?.length === 1) {
1447
+ businessCycleObject = {
1448
+ userId: this.userId,
1449
+ selectedCycle: {
1450
+ start_date: this.tempSelectedCycle[0]?.start_date,
1451
+ end_date: this.tempSelectedCycle[0]?.end_date,
1452
+ selected: true,
1453
+ business_cycle: this.tempSelectedCycle[0]?.business_cycle,
1454
+ selected_cycle: this.tempSelectedCycle[0]?.start_date +
1455
+ '-' +
1456
+ this.tempSelectedCycle[0]?.end_date,
1457
+ selected_cycle_arr: [
1458
+ this.tempSelectedCycle[0]?.start_date +
1459
+ '-' +
1460
+ this.tempSelectedCycle[0]?.end_date,
1461
+ ],
1462
+ },
1463
+ };
1464
+ this.setCycleToShow(businessCycleObject?.selectedCycle);
1465
+ // this.cycleToShow = this.tempSelectedCycle[0]?.business_cycle;
1466
+ }
1467
+ else {
1468
+ let business_cycle = [];
1469
+ let selected_cycle_arr = [];
1470
+ this.tempSelectedCycle?.forEach((el) => {
1471
+ business_cycle.push(el?.business_cycle);
1472
+ selected_cycle_arr.push(el?.start_date + '-' + el?.end_date);
1473
+ });
1474
+ businessCycleObject = {
1475
+ userId: this.userId,
1476
+ selectedCycle: {
1477
+ start_date: this.tempSelectedCycle[0]?.start_date,
1478
+ end_date: this.tempSelectedCycle[1]?.end_date,
1479
+ selected: true,
1480
+ business_cycle: business_cycle,
1481
+ selected_cycle: this.tempSelectedCycle[0]?.start_date +
1482
+ '-' +
1483
+ this.tempSelectedCycle[1]?.end_date,
1484
+ selected_cycle_arr: selected_cycle_arr,
1485
+ },
1486
+ };
1487
+ this.setCycleToShow(businessCycleObject?.selectedCycle);
1488
+ // this.cycleToShow = business_cycle[0].substring(0,11) + " - " + business_cycle[1].substring(business_cycle[1]?.length-11, business_cycle[1]?.lenth);
1489
+ }
1490
+ // this.setCycleToShow(businessCycleObject?.selectedCycle);
1491
+ localStorage.setItem('businessCycle', JSON.stringify(businessCycleObject));
1492
+ this.selectedBusinessCycle = businessCycleObject?.selectedCycle;
1493
+ this.businessCycleChange.emit(this.selectedBusinessCycle);
1494
+ this.businessCycleService.changeBusinessCycle$.next(true);
1495
+ }
1496
+ /**
1497
+ * #### Description
1498
+ * when user click cancel then it will close the popover.
1499
+ * remove temp value from term selected array and set the previous selected cycle in it.
1500
+ */
1501
+ cancelBusinessCycle() {
1502
+ this.setTempSelectedCycle(this.selectedBusinessCycle);
1503
+ }
1504
+ /**
1505
+ * #### Description
1506
+ * this will set the string of business cycle which will display in the header.
1507
+ * @param cycle object which is selected and apply. the same object will store in local storage.
1508
+ */
1509
+ setCycleToShow(cycle) {
1510
+ if (cycle?.selected_cycle_arr?.length === 1) {
1511
+ if (cycle?.business_cycle?.toLowerCase() == 'show future due dates') {
1512
+ this.cycleToShow = 'Future Due Dates';
1513
+ }
1514
+ else {
1515
+ this.cycleToShow = cycle.business_cycle;
1516
+ }
1517
+ }
1518
+ else {
1519
+ if (cycle?.business_cycle?.length > 0 &&
1520
+ cycle?.business_cycle[1]?.toLowerCase() == 'show future due dates') {
1521
+ this.cycleToShow = cycle?.business_cycle[0]?.substring(0, 11);
1522
+ }
1523
+ else if (cycle?.business_cycle?.length) {
1524
+ this.cycleToShow =
1525
+ cycle?.business_cycle[0]?.substring(0, 11) +
1526
+ ' - ' +
1527
+ cycle?.business_cycle[1].substring(cycle?.business_cycle[1]?.length - 11, cycle?.business_cycle[1]?.lenth);
1528
+ }
1529
+ }
1530
+ }
1531
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BusinessCycleComponent, deps: [{ token: i1$1.AuthorizerService }, { token: BusinessCycleService }, { token: ApiService }], target: i0.ɵɵFactoryTarget.Component }); }
1532
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BusinessCycleComponent, selector: "vc-business-cycle", inputs: { orgDetails: "orgDetails" }, outputs: { businessCycleChange: "businessCycleChange" }, ngImport: i0, template: "<div\r\n class=\"vc-business-cycle vx-pt-2 vx-pb-2\"\r\n appPopover\r\n (click)=\"businessCyclePop.popover()\"\r\n position=\"left\"\r\n>\r\n <div class=\"heading vx-fs-9 vx-tt-uppercase vx-mb-1 vx-lh-3\">\r\n SHOWING DATA {{ cycleToShow === \"Show Future Due Dates\" ? \"For\" : \"From\" }}\r\n </div>\r\n <div class=\"vx-d-flex vx-align-center vx-justify-between vx-lh-4\">\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <i class=\"icons calendar vx-fs-12 vx-mr-2\">&#xe996;</i>\r\n <span class=\"vx-fs-11 vx-txt-white vx-d-inline-block\">{{\r\n cycleToShow === \"Show Future Due Dates\"\r\n ? \"Future Due Dates\"\r\n : cycleToShow\r\n }}</span>\r\n </div>\r\n <i class=\"icons arrow vx-fs-10 vx-mr-2\">&#xe9e8;</i>\r\n </div>\r\n</div>\r\n\r\n<vui-popover #businessCyclePop [dontCloseonClick]=\"true\">\r\n <div class=\"vc-business-cycle-popover-container\">\r\n <div\r\n class=\"vc-business-cycle-popover-container-top vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3\"\r\n >\r\n <p class=\"vx-fs-11 vx-fw-400 vx-label-txt vx-p-0 vx-m-0\">\r\n You can select upto a max of two consecutive years\r\n </p>\r\n </div>\r\n <div class=\"vc-business-cycle-popover-container-body\">\r\n <ul class=\"vx-p-0 vx-m-0\">\r\n <ng-container\r\n *ngFor=\"let eachCycle of businessCycleList; let i = index\"\r\n >\r\n <li\r\n *ngIf=\"\r\n eachCycle?.business_cycle?.toLowerCase() ===\r\n 'show future due dates'\r\n \"\r\n class=\"vx-d-flex vx-align-center vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3\"\r\n [class.future-cycle]=\"true\"\r\n >\r\n <app-cs-checkbox\r\n [ngValue]=\"businessCycleArr.includes(eachCycle?.business_cycle)\"\r\n (ngValueChange)=\"selectCycle(eachCycle, i)\"\r\n [disabled]=\"eachCycle?.isDisabled\"\r\n >Show Future Due Dates</app-cs-checkbox\r\n >\r\n <i\r\n class=\"icons info-icon vx-fs-12\"\r\n [arTooltip]=\"\r\n 'This option lets you view data that lies outside the current business cycle and are due in the future.'\r\n \"\r\n placement=\"bottom\"\r\n type=\"black\"\r\n delay=\"0\"\r\n [tooltipMandatory]=\"true\"\r\n >&#xe91f;</i\r\n >\r\n </li>\r\n <li\r\n *ngIf=\"\r\n eachCycle?.business_cycle?.toLowerCase() !==\r\n 'show future due dates'\r\n \"\r\n class=\"vx-d-flex vx-align-center vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3\"\r\n >\r\n <app-cs-checkbox\r\n [ngValue]=\"businessCycleArr.includes(eachCycle?.business_cycle)\"\r\n (ngValueChange)=\"selectCycle(eachCycle, i)\"\r\n [disabled]=\"eachCycle?.isDisabled\"\r\n >{{ eachCycle?.start_date | dateFormat }} -\r\n <ng-container>\r\n {{ eachCycle?.end_date | dateFormat }}</ng-container\r\n >\r\n </app-cs-checkbox>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n <div\r\n class=\"vc-business-cycle-popover-container-footer vx-d-flex vx-justify-between vx-p-3\"\r\n >\r\n <button\r\n (click)=\"businessCyclePop.closePopover('top')\"\r\n class=\"white vx-fs-11 vx-fw-500 vx-d-flex vx-align-center vx-justify-center vx-tt-uppercase vx-p-0 vx-m-0 vx-txt-blue\"\r\n >\r\n CANCEL\r\n </button>\r\n <button\r\n (click)=\"setBusinessCycle(); businessCyclePop.closePopover('top')\"\r\n [class.disabled]=\"false\"\r\n class=\"blue vx-fs-11 vx-fw-500 vx-d-flex vx-align-center vx-justify-center vx-tt-uppercase vx-p-0 vx-m-0 vx-txt-white\"\r\n >\r\n APPLY\r\n </button>\r\n </div>\r\n </div>\r\n</vui-popover>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";::ng-deep .vc-business-cycle{position:relative;width:12.5rem;height:3rem;cursor:pointer;z-index:1}::ng-deep .vc-business-cycle .heading{color:#e3e3e9}::ng-deep .vc-business-cycle i.calendar{color:#e3e3e9}::ng-deep .vc-business-cycle i.arrow{color:#f1f1f1}::ng-deep .vc-business-cycle-popover-container{width:15.625rem;background:#fff;box-shadow:0 4px 8px #1e5dd326;border:1px solid #e3e3e9;border-radius:.25rem;z-index:4}::ng-deep .vc-business-cycle-popover-container-top{background:#f8f8f8}::ng-deep .vc-business-cycle-popover-container-top p{line-height:.875rem}::ng-deep .vc-business-cycle-popover-container-body{background:#fff}::ng-deep .vc-business-cycle-popover-container-body ul li{list-style:none;margin:0;position:relative}::ng-deep .vc-business-cycle-popover-container-body ul li:before{background:#f1f1f1;content:\"\";position:absolute;left:.75rem;right:.75rem;bottom:0;height:.0625rem;width:calc(100% - 1.5rem)}::ng-deep .vc-business-cycle-popover-container-body ul li:last-of-type:before{display:none}::ng-deep .vc-business-cycle-popover-container-body ul li.future-cycle{background:#fadd8a}::ng-deep .vc-business-cycle-popover-container-body ul li.future-cycle:before{display:none}::ng-deep .vc-business-cycle-popover-container-body ul li.future-cycle app-cs-checkbox label.checkbox-item span.checkbox{background:#fff}::ng-deep .vc-business-cycle-popover-container-body ul li.future-cycle app-cs-checkbox label.checkbox-item span.value i{margin-left:.375rem}::ng-deep .vc-business-cycle-popover-container-body ul li.future-cycle .info-icon{margin-left:.375rem;cursor:context-menu}::ng-deep .vc-business-cycle-popover-container-body ul li app-cs-checkbox{display:flex}::ng-deep .vc-business-cycle-popover-container-body ul li app-cs-checkbox label.checkbox-item span.value{font-size:12px!important;color:#161b2f!important;max-width:100%!important}::ng-deep .vc-business-cycle-popover-container-footer{background:#f8f8f8;border-radius:0 0 .25rem .25rem}::ng-deep .vc-business-cycle-popover-container-footer button{width:calc(50% - .125rem);height:1.5rem;border:1px solid transparent;text-transform:uppercase;border-radius:.125rem;line-height:1.375rem}::ng-deep .vc-business-cycle-popover-container-footer button.white{background:#fff;border-color:#dbdbdb}::ng-deep .vc-business-cycle-popover-container-footer button.blue{background:#1e5dd3;border-color:#1e5dd3}::ng-deep .vc-business-cycle-popover-container-footer button.disabled{background:#dbdbdb;color:#747576;border:none;pointer-events:none!important}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: ToolTipDirective, selector: "[arTooltip]", inputs: ["arTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: PopoverComponent, selector: "vui-popover", inputs: ["dontCloseonClick"], outputs: ["closedOnOverlay"] }, { kind: "directive", type: PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "position"] }, { kind: "component", type: CsCheckboxComponent, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "pipe", type: DateFormatPipe, name: "dateFormat" }] }); }
1533
+ }
1534
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BusinessCycleComponent, decorators: [{
1535
+ type: Component,
1536
+ args: [{ selector: 'vc-business-cycle', template: "<div\r\n class=\"vc-business-cycle vx-pt-2 vx-pb-2\"\r\n appPopover\r\n (click)=\"businessCyclePop.popover()\"\r\n position=\"left\"\r\n>\r\n <div class=\"heading vx-fs-9 vx-tt-uppercase vx-mb-1 vx-lh-3\">\r\n SHOWING DATA {{ cycleToShow === \"Show Future Due Dates\" ? \"For\" : \"From\" }}\r\n </div>\r\n <div class=\"vx-d-flex vx-align-center vx-justify-between vx-lh-4\">\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <i class=\"icons calendar vx-fs-12 vx-mr-2\">&#xe996;</i>\r\n <span class=\"vx-fs-11 vx-txt-white vx-d-inline-block\">{{\r\n cycleToShow === \"Show Future Due Dates\"\r\n ? \"Future Due Dates\"\r\n : cycleToShow\r\n }}</span>\r\n </div>\r\n <i class=\"icons arrow vx-fs-10 vx-mr-2\">&#xe9e8;</i>\r\n </div>\r\n</div>\r\n\r\n<vui-popover #businessCyclePop [dontCloseonClick]=\"true\">\r\n <div class=\"vc-business-cycle-popover-container\">\r\n <div\r\n class=\"vc-business-cycle-popover-container-top vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3\"\r\n >\r\n <p class=\"vx-fs-11 vx-fw-400 vx-label-txt vx-p-0 vx-m-0\">\r\n You can select upto a max of two consecutive years\r\n </p>\r\n </div>\r\n <div class=\"vc-business-cycle-popover-container-body\">\r\n <ul class=\"vx-p-0 vx-m-0\">\r\n <ng-container\r\n *ngFor=\"let eachCycle of businessCycleList; let i = index\"\r\n >\r\n <li\r\n *ngIf=\"\r\n eachCycle?.business_cycle?.toLowerCase() ===\r\n 'show future due dates'\r\n \"\r\n class=\"vx-d-flex vx-align-center vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3\"\r\n [class.future-cycle]=\"true\"\r\n >\r\n <app-cs-checkbox\r\n [ngValue]=\"businessCycleArr.includes(eachCycle?.business_cycle)\"\r\n (ngValueChange)=\"selectCycle(eachCycle, i)\"\r\n [disabled]=\"eachCycle?.isDisabled\"\r\n >Show Future Due Dates</app-cs-checkbox\r\n >\r\n <i\r\n class=\"icons info-icon vx-fs-12\"\r\n [arTooltip]=\"\r\n 'This option lets you view data that lies outside the current business cycle and are due in the future.'\r\n \"\r\n placement=\"bottom\"\r\n type=\"black\"\r\n delay=\"0\"\r\n [tooltipMandatory]=\"true\"\r\n >&#xe91f;</i\r\n >\r\n </li>\r\n <li\r\n *ngIf=\"\r\n eachCycle?.business_cycle?.toLowerCase() !==\r\n 'show future due dates'\r\n \"\r\n class=\"vx-d-flex vx-align-center vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3\"\r\n >\r\n <app-cs-checkbox\r\n [ngValue]=\"businessCycleArr.includes(eachCycle?.business_cycle)\"\r\n (ngValueChange)=\"selectCycle(eachCycle, i)\"\r\n [disabled]=\"eachCycle?.isDisabled\"\r\n >{{ eachCycle?.start_date | dateFormat }} -\r\n <ng-container>\r\n {{ eachCycle?.end_date | dateFormat }}</ng-container\r\n >\r\n </app-cs-checkbox>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n <div\r\n class=\"vc-business-cycle-popover-container-footer vx-d-flex vx-justify-between vx-p-3\"\r\n >\r\n <button\r\n (click)=\"businessCyclePop.closePopover('top')\"\r\n class=\"white vx-fs-11 vx-fw-500 vx-d-flex vx-align-center vx-justify-center vx-tt-uppercase vx-p-0 vx-m-0 vx-txt-blue\"\r\n >\r\n CANCEL\r\n </button>\r\n <button\r\n (click)=\"setBusinessCycle(); businessCyclePop.closePopover('top')\"\r\n [class.disabled]=\"false\"\r\n class=\"blue vx-fs-11 vx-fw-500 vx-d-flex vx-align-center vx-justify-center vx-tt-uppercase vx-p-0 vx-m-0 vx-txt-white\"\r\n >\r\n APPLY\r\n </button>\r\n </div>\r\n </div>\r\n</vui-popover>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";::ng-deep .vc-business-cycle{position:relative;width:12.5rem;height:3rem;cursor:pointer;z-index:1}::ng-deep .vc-business-cycle .heading{color:#e3e3e9}::ng-deep .vc-business-cycle i.calendar{color:#e3e3e9}::ng-deep .vc-business-cycle i.arrow{color:#f1f1f1}::ng-deep .vc-business-cycle-popover-container{width:15.625rem;background:#fff;box-shadow:0 4px 8px #1e5dd326;border:1px solid #e3e3e9;border-radius:.25rem;z-index:4}::ng-deep .vc-business-cycle-popover-container-top{background:#f8f8f8}::ng-deep .vc-business-cycle-popover-container-top p{line-height:.875rem}::ng-deep .vc-business-cycle-popover-container-body{background:#fff}::ng-deep .vc-business-cycle-popover-container-body ul li{list-style:none;margin:0;position:relative}::ng-deep .vc-business-cycle-popover-container-body ul li:before{background:#f1f1f1;content:\"\";position:absolute;left:.75rem;right:.75rem;bottom:0;height:.0625rem;width:calc(100% - 1.5rem)}::ng-deep .vc-business-cycle-popover-container-body ul li:last-of-type:before{display:none}::ng-deep .vc-business-cycle-popover-container-body ul li.future-cycle{background:#fadd8a}::ng-deep .vc-business-cycle-popover-container-body ul li.future-cycle:before{display:none}::ng-deep .vc-business-cycle-popover-container-body ul li.future-cycle app-cs-checkbox label.checkbox-item span.checkbox{background:#fff}::ng-deep .vc-business-cycle-popover-container-body ul li.future-cycle app-cs-checkbox label.checkbox-item span.value i{margin-left:.375rem}::ng-deep .vc-business-cycle-popover-container-body ul li.future-cycle .info-icon{margin-left:.375rem;cursor:context-menu}::ng-deep .vc-business-cycle-popover-container-body ul li app-cs-checkbox{display:flex}::ng-deep .vc-business-cycle-popover-container-body ul li app-cs-checkbox label.checkbox-item span.value{font-size:12px!important;color:#161b2f!important;max-width:100%!important}::ng-deep .vc-business-cycle-popover-container-footer{background:#f8f8f8;border-radius:0 0 .25rem .25rem}::ng-deep .vc-business-cycle-popover-container-footer button{width:calc(50% - .125rem);height:1.5rem;border:1px solid transparent;text-transform:uppercase;border-radius:.125rem;line-height:1.375rem}::ng-deep .vc-business-cycle-popover-container-footer button.white{background:#fff;border-color:#dbdbdb}::ng-deep .vc-business-cycle-popover-container-footer button.blue{background:#1e5dd3;border-color:#1e5dd3}::ng-deep .vc-business-cycle-popover-container-footer button.disabled{background:#dbdbdb;color:#747576;border:none;pointer-events:none!important}\n"] }]
1537
+ }], ctorParameters: function () { return [{ type: i1$1.AuthorizerService }, { type: BusinessCycleService }, { type: ApiService }]; }, propDecorators: { businessCycleChange: [{
1538
+ type: Output
1539
+ }], orgDetails: [{
1540
+ type: Input
1541
+ }] } });
1542
+
1543
+ class SearchComponent {
1544
+ constructor() { }
1545
+ ngOnInit() { }
1546
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1547
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SearchComponent, selector: "vc-search", ngImport: i0, template: "<div class=\"vc-search\">\r\n <input type=\"text\" placeholder=\"Search\" />\r\n <i class=\"icons serachIcon vx-fs-10 vx-txt-white\">&#xe90b;</i>\r\n <i class=\"icons crossIcon vx-fs-10 vx-txt-white\">&#xe9ae;</i>\r\n <div\r\n class=\"vc-advance-search-btn vx-d-flex vx-align-center vx-justify-center\"\r\n [arTooltip]=\"'Advance Search'\"\r\n placement=\"bottom\"\r\n type=\"black\"\r\n delay=\"0\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n <i class=\"icons vx-fs-12\">&#xea91;</i>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";.vc-search{position:relative}.vc-search input{background:#282e48;border-radius:24px;border:1px solid #565a6f;color:#fff;font-size:11px;font-weight:300;padding:0 2rem 0 1.5rem;height:1.75rem;width:18rem;transition:all .3s ease-out}.vc-search input:hover{border-color:#787a8c}.vc-search input::placeholder{color:#fff}.vc-search input:focus{background:#fff;color:#565a6f;outline:none;width:30rem;height:1.875rem}.vc-search input:focus::placeholder{color:#a9aab6}.vc-search input:focus~.serachIcon{color:#565a6f}.vc-search input:focus~.vc-advance-search-btn{background:#e3e3e9;border-radius:50px;top:3px}.vc-search input:focus~.vc-advance-search-btn i{color:#565a6f}.vc-search input:focus~.crossIcon{color:#565a6f;display:block}.vc-search i{position:absolute;cursor:pointer;left:10px;top:10px;z-index:1}.vc-search i.crossIcon{left:unset;right:2.5rem;display:none}.vc-search .vc-advance-search-btn{width:1.5rem;height:1.5rem;position:absolute;right:.25rem;top:.125rem;cursor:pointer}.vc-search .vc-advance-search-btn i{color:#cdced6;position:static}\n"], dependencies: [{ kind: "directive", type: ToolTipDirective, selector: "[arTooltip]", inputs: ["arTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }] }); }
1548
+ }
1549
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SearchComponent, decorators: [{
1550
+ type: Component,
1551
+ args: [{ selector: 'vc-search', template: "<div class=\"vc-search\">\r\n <input type=\"text\" placeholder=\"Search\" />\r\n <i class=\"icons serachIcon vx-fs-10 vx-txt-white\">&#xe90b;</i>\r\n <i class=\"icons crossIcon vx-fs-10 vx-txt-white\">&#xe9ae;</i>\r\n <div\r\n class=\"vc-advance-search-btn vx-d-flex vx-align-center vx-justify-center\"\r\n [arTooltip]=\"'Advance Search'\"\r\n placement=\"bottom\"\r\n type=\"black\"\r\n delay=\"0\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n <i class=\"icons vx-fs-12\">&#xea91;</i>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";.vc-search{position:relative}.vc-search input{background:#282e48;border-radius:24px;border:1px solid #565a6f;color:#fff;font-size:11px;font-weight:300;padding:0 2rem 0 1.5rem;height:1.75rem;width:18rem;transition:all .3s ease-out}.vc-search input:hover{border-color:#787a8c}.vc-search input::placeholder{color:#fff}.vc-search input:focus{background:#fff;color:#565a6f;outline:none;width:30rem;height:1.875rem}.vc-search input:focus::placeholder{color:#a9aab6}.vc-search input:focus~.serachIcon{color:#565a6f}.vc-search input:focus~.vc-advance-search-btn{background:#e3e3e9;border-radius:50px;top:3px}.vc-search input:focus~.vc-advance-search-btn i{color:#565a6f}.vc-search input:focus~.crossIcon{color:#565a6f;display:block}.vc-search i{position:absolute;cursor:pointer;left:10px;top:10px;z-index:1}.vc-search i.crossIcon{left:unset;right:2.5rem;display:none}.vc-search .vc-advance-search-btn{width:1.5rem;height:1.5rem;position:absolute;right:.25rem;top:.125rem;cursor:pointer}.vc-search .vc-advance-search-btn i{color:#cdced6;position:static}\n"] }]
1552
+ }], ctorParameters: function () { return []; } });
1553
+
1554
+ class CreateWorkflowComponent {
1555
+ constructor() {
1556
+ this.openWorkflow = new EventEmitter();
1557
+ }
1558
+ ngOnInit() { }
1559
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateWorkflowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1560
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CreateWorkflowComponent, selector: "vc-create-workflow", outputs: { openWorkflow: "openWorkflow" }, ngImport: i0, template: "<div\r\n (click)=\"openWorkflow.emit()\"\r\n class=\"header-create-workflow vx-fs-16 vx-txt-white vx-d-flex vx-align-center vx-justify-center\"\r\n [arTooltip]=\"'Create'\"\r\n placement=\"bottom\"\r\n type=\"black\"\r\n delay=\"0\"\r\n [tooltipMandatory]=\"true\"\r\n>\r\n +\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";.header-create-workflow{background:#1e5dd3;border-radius:3rem;cursor:pointer;width:1.5rem;height:1.5rem;margin-left:1.75rem}\n"], dependencies: [{ kind: "directive", type: ToolTipDirective, selector: "[arTooltip]", inputs: ["arTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }] }); }
1561
+ }
1562
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateWorkflowComponent, decorators: [{
1563
+ type: Component,
1564
+ args: [{ selector: 'vc-create-workflow', template: "<div\r\n (click)=\"openWorkflow.emit()\"\r\n class=\"header-create-workflow vx-fs-16 vx-txt-white vx-d-flex vx-align-center vx-justify-center\"\r\n [arTooltip]=\"'Create'\"\r\n placement=\"bottom\"\r\n type=\"black\"\r\n delay=\"0\"\r\n [tooltipMandatory]=\"true\"\r\n>\r\n +\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";.header-create-workflow{background:#1e5dd3;border-radius:3rem;cursor:pointer;width:1.5rem;height:1.5rem;margin-left:1.75rem}\n"] }]
1565
+ }], ctorParameters: function () { return []; }, propDecorators: { openWorkflow: [{
1566
+ type: Output
1567
+ }] } });
1568
+
1569
+ class QueueComponent {
1570
+ constructor(apiService, layoutService) {
1571
+ this.apiService = apiService;
1572
+ this.layoutService = layoutService;
1573
+ this.queueURL = '';
1574
+ this.setQueueURl();
1575
+ }
1576
+ setQueueURl() {
1577
+ this.queueURL = this.layoutService.baseUrl + IN_APP_URL.QUEUE;
1578
+ }
1579
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: QueueComponent, deps: [{ token: ApiService }, { token: LayoutService }], target: i0.ɵɵFactoryTarget.Component }); }
1580
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: QueueComponent, selector: "vc-queue", ngImport: i0, template: `
1581
+ <a
1582
+ *ngIf="apiService?.queueCount$ | async"
1583
+ class="header-queue vx-d-flex vx-align-center vx-justify-center"
1584
+ [arTooltip]="'View Responsibilities in Queue'"
1585
+ placement="bottom-right"
1586
+ type="black"
1587
+ delay="0"
1588
+ [href]="queueURL"
1589
+ [tooltipMandatory]="true"
1590
+ >
1591
+ <i class="icons vx-fs-12 vx-txt-white">&#xea27;</i>
1592
+ <span
1593
+ class="queue-value vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-pl-1 vx-pr-1"
1594
+ >{{ apiService?.queueCount$ | async }}</span
1595
+ >
1596
+ </a>
1597
+ `, isInline: true, styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";.header-queue{background:#e87315;border-radius:3rem;width:1.5rem;height:1.5rem;margin-left:1.75rem;position:relative}.header-queue .queue-value{background:#c7381b;border-radius:1.25rem;border:.125rem solid #161b2f;height:1rem;min-width:1.125rem;position:absolute;top:-.375rem;right:-.625rem}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: ToolTipDirective, selector: "[arTooltip]", inputs: ["arTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }] }); }
1598
+ }
1599
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: QueueComponent, decorators: [{
1600
+ type: Component,
1601
+ args: [{ selector: 'vc-queue', template: `
1602
+ <a
1603
+ *ngIf="apiService?.queueCount$ | async"
1604
+ class="header-queue vx-d-flex vx-align-center vx-justify-center"
1605
+ [arTooltip]="'View Responsibilities in Queue'"
1606
+ placement="bottom-right"
1607
+ type="black"
1608
+ delay="0"
1609
+ [href]="queueURL"
1610
+ [tooltipMandatory]="true"
1611
+ >
1612
+ <i class="icons vx-fs-12 vx-txt-white">&#xea27;</i>
1613
+ <span
1614
+ class="queue-value vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-pl-1 vx-pr-1"
1615
+ >{{ apiService?.queueCount$ | async }}</span
1616
+ >
1617
+ </a>
1618
+ `, styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";.header-queue{background:#e87315;border-radius:3rem;width:1.5rem;height:1.5rem;margin-left:1.75rem;position:relative}.header-queue .queue-value{background:#c7381b;border-radius:1.25rem;border:.125rem solid #161b2f;height:1rem;min-width:1.125rem;position:absolute;top:-.375rem;right:-.625rem}\n"] }]
1619
+ }], ctorParameters: function () { return [{ type: ApiService }, { type: LayoutService }]; } });
1620
+
1621
+ class GetFileUrlPipe {
1622
+ constructor(config) {
1623
+ this.environmentValue = config?.envConfig;
1624
+ }
1625
+ transform(value, ...args) {
1626
+ return `${this.environmentValue.s3Url}${this.environmentValue.s3Bucket}/profile_pic/thumb/${value}`;
1627
+ }
1628
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GetFileUrlPipe, deps: [{ token: Configurations, optional: true }], target: i0.ɵɵFactoryTarget.Pipe }); }
1629
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: GetFileUrlPipe, name: "getFileUrl" }); }
1630
+ }
1631
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GetFileUrlPipe, decorators: [{
1632
+ type: Pipe,
1633
+ args: [{
1634
+ name: 'getFileUrl',
1635
+ }]
1636
+ }], ctorParameters: function () { return [{ type: Configurations, decorators: [{
1637
+ type: Optional
1638
+ }] }]; } });
1639
+
1640
+ class AvatarComponent {
1641
+ constructor(authService) {
1642
+ this.authService = authService;
1643
+ this.baseUrl = '';
1644
+ this.shortName = '';
1645
+ this.type = 'md';
1646
+ this.shortName = this.authService.getUser()?.short_name ?? '';
1647
+ }
1648
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AvatarComponent, deps: [{ token: i1$1.AuthorizerService }], target: i0.ɵɵFactoryTarget.Component }); }
1649
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AvatarComponent, selector: "vc-avatar", inputs: { userInfo: "userInfo", type: "type" }, ngImport: i0, template: `
1650
+ <div class="vx-avatar " [ngClass]="type">
1651
+ <span *ngIf="!userInfo?.profile_pic" class="blue">{{ shortName }}</span>
1652
+ <img
1653
+ *ngIf="userInfo?.profile_pic"
1654
+ [src]="userInfo?.profile_pic | getFileUrl"
1655
+ alt=""
1656
+ />
1657
+ </div>
1658
+ `, isInline: true, styles: ["@import\"https://cdn.v-comply.com/design-system/css/avatars/avatars.css\";\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: GetFileUrlPipe, name: "getFileUrl" }] }); }
1659
+ }
1660
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AvatarComponent, decorators: [{
1661
+ type: Component,
1662
+ args: [{ selector: 'vc-avatar', template: `
1663
+ <div class="vx-avatar " [ngClass]="type">
1664
+ <span *ngIf="!userInfo?.profile_pic" class="blue">{{ shortName }}</span>
1665
+ <img
1666
+ *ngIf="userInfo?.profile_pic"
1667
+ [src]="userInfo?.profile_pic | getFileUrl"
1668
+ alt=""
1669
+ />
1670
+ </div>
1671
+ `, styles: ["@import\"https://cdn.v-comply.com/design-system/css/avatars/avatars.css\";\n"] }]
1672
+ }], ctorParameters: function () { return [{ type: i1$1.AuthorizerService }]; }, propDecorators: { userInfo: [{
1673
+ type: Input
1674
+ }], type: [{
1675
+ type: Input
1676
+ }] } });
1677
+
1678
+ class UserDetailsComponent {
1679
+ constructor(layoutService, authService) {
1680
+ this.layoutService = layoutService;
1681
+ this.authService = authService;
1682
+ }
1683
+ editProfile() {
1684
+ const URL = this.layoutService.baseUrl + IN_APP_URL.editProfile;
1685
+ window.open(URL);
1686
+ }
1687
+ logout() {
1688
+ this.authService.logout();
1689
+ }
1690
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserDetailsComponent, deps: [{ token: LayoutService }, { token: i1$1.AuthorizerService }], target: i0.ɵɵFactoryTarget.Component }); }
1691
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: UserDetailsComponent, selector: "vc-user-details", inputs: { userDetails: "userDetails", subscriptionDetails: "subscriptionDetails" }, ngImport: i0, template: "<div\r\n class=\"header-user-details\"\r\n [arTooltip]=\"'View Your Profile'\"\r\n placement=\"bottom-right\"\r\n type=\"black\"\r\n delay=\"0\"\r\n [tooltipMandatory]=\"true\"\r\n appPopover\r\n (click)=\"userInfo.popover()\"\r\n position=\"right\"\r\n>\r\n <vc-avatar [userInfo]=\"userDetails\"></vc-avatar>\r\n</div>\r\n\r\n<vui-popover #userInfo>\r\n <div class=\"header-user-details-box vx-mt-3 vx-pl-2 vx-pr-2\">\r\n <div\r\n class=\"header-user-details-box-top vx-d-flex vx-align-center vx-pt-2 vx-pb-2\"\r\n >\r\n <vc-avatar [userInfo]=\"userDetails\" [type]=\"'x-lg'\"></vc-avatar>\r\n <div class=\"header-user-details-box-top-right vx-ml-2\">\r\n <div\r\n class=\"userName vx-fs-13 vx-fw-500 vx-label-txt vx-tt-capitalize\"\r\n [arTooltip]=\"userDetails?.member_name\"\r\n placement=\"bottom-left\"\r\n type=\"black\"\r\n delay=\"0\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ userDetails?.member_name }}\r\n </div>\r\n <div\r\n class=\"userEmail vx-fs-11 vx-paragraph-txt\"\r\n [arTooltip]=\"userDetails?.member_email\"\r\n placement=\"bottom-left\"\r\n type=\"black\"\r\n delay=\"0\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ userDetails?.member_email }}\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"header-user-details-box-mid\">\r\n <ul class=\"vx-p-0 vx-m-0\">\r\n <li\r\n class=\"vx-fs-12 vx-d-flex vx-align-center vx-justify-between vx-pt-2 vx-pb-2 vx-lh-4\"\r\n >\r\n <span class=\"vx-label-txt vx-fw-500 vx-tt-uppercase vx-pl-3\"\r\n >SUBSCRIPTION :</span\r\n >\r\n <span\r\n [class.expired]=\"subscriptionDetails?.after_expired_days_allow\"\r\n >{{\r\n subscriptionDetails?.after_expired_days_allow\r\n ? \"Expired\"\r\n : \"Active\"\r\n }}</span\r\n >\r\n </li>\r\n <li\r\n class=\"vx-fs-12 vx-d-flex vx-align-center vx-justify-between vx-pt-2 vx-pb-2 vx-lh-4\"\r\n >\r\n <span class=\"vx-label-txt vx-fw-500 vx-tt-uppercase vx-pl-3\"\r\n >EXPIRING ON :</span\r\n >\r\n <span class=\"vx-paragraph-txt\">{{\r\n subscriptionDetails?.expiredDetails | date : \"dd MMM yyyy\"\r\n }}</span>\r\n </li>\r\n <li\r\n class=\"vx-fs-12 vx-d-flex vx-align-center vx-justify-between vx-pt-2 vx-pb-2 vx-lh-4\"\r\n >\r\n <span class=\"vx-label-txt vx-fw-500 vx-tt-uppercase vx-pl-3\"\r\n >Support Pin :</span\r\n >\r\n <span class=\"vx-paragraph-txt\">{{ userDetails?.calling_pin }}</span>\r\n </li>\r\n </ul>\r\n </div>\r\n <div\r\n class=\"header-user-details-box-bottom vx-d-flex vx-align-center vx-justify-center vx-pt-3 vx-pb-3\"\r\n >\r\n <button\r\n (click)=\"editProfile()\"\r\n class=\"editProfile-btn vx-fs-11 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-pl-2 vx-pr-2 vx-m-0\"\r\n >\r\n Edit Profile\r\n </button>\r\n <button\r\n (click)=\"logout()\"\r\n class=\"logout-btn vx-fs-11 vx-fw-500 vx-txt-white vx-tt-uppercase vx-pl-2 vx-pr-2 vx-m-0\"\r\n >\r\n Logout\r\n </button>\r\n </div>\r\n </div>\r\n</vui-popover>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";::ng-deep .header-user-details{cursor:pointer;margin-left:1.75rem}::ng-deep .header-user-details vc-avatar .vx-avatar{border:none;width:1.5rem;height:1.5rem}::ng-deep .header-user-details vc-avatar .vx-avatar span{font-size:10px;font-weight:400}::ng-deep .header-user-details-box{background:#fff;border:1px solid #e3e3e9;border-radius:.25rem;box-shadow:0 4px 8px #1e5dd326;width:19rem}::ng-deep .header-user-details-box-top vc-avatar .vx-avatar{border:none;width:5rem;height:5rem}::ng-deep .header-user-details-box-top vc-avatar .vx-avatar span{font-size:18px;font-weight:600}::ng-deep .header-user-details-box-top-right{width:calc(100% - 5.5rem)}::ng-deep .header-user-details-box-top-right .userName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .header-user-details-box-top-right .userEmail{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .header-user-details-box-mid ul li{border-bottom:1px solid #f1f1f1}::ng-deep .header-user-details-box-mid ul li span{width:50%;position:relative}::ng-deep .header-user-details-box-mid ul li span:first-of-type:before{background:#1e5dd3;color:#34aa44;content:\"\";position:absolute;left:.125rem;top:.125rem;width:1px;height:.75rem}::ng-deep .header-user-details-box-mid ul li span.expired{color:#d93b41}::ng-deep .header-user-details-box-bottom button{border-radius:.125rem;height:1.5rem;margin:0 .125rem!important}::ng-deep .header-user-details-box-bottom button.editProfile-btn{background:#fff;border:1px solid #1e5dd3}::ng-deep .header-user-details-box-bottom button.logout-btn{background:#1e5dd3;border:1px solid #1e5dd3}\n"], dependencies: [{ kind: "directive", type: ToolTipDirective, selector: "[arTooltip]", inputs: ["arTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: AvatarComponent, selector: "vc-avatar", inputs: ["userInfo", "type"] }, { kind: "component", type: PopoverComponent, selector: "vui-popover", inputs: ["dontCloseonClick"], outputs: ["closedOnOverlay"] }, { kind: "directive", type: PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "position"] }, { kind: "pipe", type: i1$2.DatePipe, name: "date" }] }); }
1692
+ }
1693
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserDetailsComponent, decorators: [{
1694
+ type: Component,
1695
+ args: [{ selector: 'vc-user-details', template: "<div\r\n class=\"header-user-details\"\r\n [arTooltip]=\"'View Your Profile'\"\r\n placement=\"bottom-right\"\r\n type=\"black\"\r\n delay=\"0\"\r\n [tooltipMandatory]=\"true\"\r\n appPopover\r\n (click)=\"userInfo.popover()\"\r\n position=\"right\"\r\n>\r\n <vc-avatar [userInfo]=\"userDetails\"></vc-avatar>\r\n</div>\r\n\r\n<vui-popover #userInfo>\r\n <div class=\"header-user-details-box vx-mt-3 vx-pl-2 vx-pr-2\">\r\n <div\r\n class=\"header-user-details-box-top vx-d-flex vx-align-center vx-pt-2 vx-pb-2\"\r\n >\r\n <vc-avatar [userInfo]=\"userDetails\" [type]=\"'x-lg'\"></vc-avatar>\r\n <div class=\"header-user-details-box-top-right vx-ml-2\">\r\n <div\r\n class=\"userName vx-fs-13 vx-fw-500 vx-label-txt vx-tt-capitalize\"\r\n [arTooltip]=\"userDetails?.member_name\"\r\n placement=\"bottom-left\"\r\n type=\"black\"\r\n delay=\"0\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ userDetails?.member_name }}\r\n </div>\r\n <div\r\n class=\"userEmail vx-fs-11 vx-paragraph-txt\"\r\n [arTooltip]=\"userDetails?.member_email\"\r\n placement=\"bottom-left\"\r\n type=\"black\"\r\n delay=\"0\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ userDetails?.member_email }}\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"header-user-details-box-mid\">\r\n <ul class=\"vx-p-0 vx-m-0\">\r\n <li\r\n class=\"vx-fs-12 vx-d-flex vx-align-center vx-justify-between vx-pt-2 vx-pb-2 vx-lh-4\"\r\n >\r\n <span class=\"vx-label-txt vx-fw-500 vx-tt-uppercase vx-pl-3\"\r\n >SUBSCRIPTION :</span\r\n >\r\n <span\r\n [class.expired]=\"subscriptionDetails?.after_expired_days_allow\"\r\n >{{\r\n subscriptionDetails?.after_expired_days_allow\r\n ? \"Expired\"\r\n : \"Active\"\r\n }}</span\r\n >\r\n </li>\r\n <li\r\n class=\"vx-fs-12 vx-d-flex vx-align-center vx-justify-between vx-pt-2 vx-pb-2 vx-lh-4\"\r\n >\r\n <span class=\"vx-label-txt vx-fw-500 vx-tt-uppercase vx-pl-3\"\r\n >EXPIRING ON :</span\r\n >\r\n <span class=\"vx-paragraph-txt\">{{\r\n subscriptionDetails?.expiredDetails | date : \"dd MMM yyyy\"\r\n }}</span>\r\n </li>\r\n <li\r\n class=\"vx-fs-12 vx-d-flex vx-align-center vx-justify-between vx-pt-2 vx-pb-2 vx-lh-4\"\r\n >\r\n <span class=\"vx-label-txt vx-fw-500 vx-tt-uppercase vx-pl-3\"\r\n >Support Pin :</span\r\n >\r\n <span class=\"vx-paragraph-txt\">{{ userDetails?.calling_pin }}</span>\r\n </li>\r\n </ul>\r\n </div>\r\n <div\r\n class=\"header-user-details-box-bottom vx-d-flex vx-align-center vx-justify-center vx-pt-3 vx-pb-3\"\r\n >\r\n <button\r\n (click)=\"editProfile()\"\r\n class=\"editProfile-btn vx-fs-11 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-pl-2 vx-pr-2 vx-m-0\"\r\n >\r\n Edit Profile\r\n </button>\r\n <button\r\n (click)=\"logout()\"\r\n class=\"logout-btn vx-fs-11 vx-fw-500 vx-txt-white vx-tt-uppercase vx-pl-2 vx-pr-2 vx-m-0\"\r\n >\r\n Logout\r\n </button>\r\n </div>\r\n </div>\r\n</vui-popover>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";::ng-deep .header-user-details{cursor:pointer;margin-left:1.75rem}::ng-deep .header-user-details vc-avatar .vx-avatar{border:none;width:1.5rem;height:1.5rem}::ng-deep .header-user-details vc-avatar .vx-avatar span{font-size:10px;font-weight:400}::ng-deep .header-user-details-box{background:#fff;border:1px solid #e3e3e9;border-radius:.25rem;box-shadow:0 4px 8px #1e5dd326;width:19rem}::ng-deep .header-user-details-box-top vc-avatar .vx-avatar{border:none;width:5rem;height:5rem}::ng-deep .header-user-details-box-top vc-avatar .vx-avatar span{font-size:18px;font-weight:600}::ng-deep .header-user-details-box-top-right{width:calc(100% - 5.5rem)}::ng-deep .header-user-details-box-top-right .userName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .header-user-details-box-top-right .userEmail{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .header-user-details-box-mid ul li{border-bottom:1px solid #f1f1f1}::ng-deep .header-user-details-box-mid ul li span{width:50%;position:relative}::ng-deep .header-user-details-box-mid ul li span:first-of-type:before{background:#1e5dd3;color:#34aa44;content:\"\";position:absolute;left:.125rem;top:.125rem;width:1px;height:.75rem}::ng-deep .header-user-details-box-mid ul li span.expired{color:#d93b41}::ng-deep .header-user-details-box-bottom button{border-radius:.125rem;height:1.5rem;margin:0 .125rem!important}::ng-deep .header-user-details-box-bottom button.editProfile-btn{background:#fff;border:1px solid #1e5dd3}::ng-deep .header-user-details-box-bottom button.logout-btn{background:#1e5dd3;border:1px solid #1e5dd3}\n"] }]
1696
+ }], ctorParameters: function () { return [{ type: LayoutService }, { type: i1$1.AuthorizerService }]; }, propDecorators: { userDetails: [{
1697
+ type: Input
1698
+ }], subscriptionDetails: [{
1699
+ type: Input
1700
+ }] } });
1701
+
1702
+ class SupportComponent {
1703
+ constructor() {
1704
+ this.ASSETS = ASSETS;
1705
+ this.openSupport = new EventEmitter();
1706
+ }
1707
+ ngOnInit() { }
1708
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SupportComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1709
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SupportComponent, selector: "vc-support", outputs: { openSupport: "openSupport" }, ngImport: i0, template: `<div
1710
+ (click)="openSupport.emit()"
1711
+ class="header-support vx-fs-11 vx-txt-white vx-tt-uppercase vx-p-1 vx-pl-3 vx-pr-2 vx-mr-2 vx-d-flex vx-align-center"
1712
+ >
1713
+ <img [src]="ASSETS.support_icon" alt="Support" width="18" height="14" />
1714
+ SUPPORT
1715
+ </div>`, isInline: true, styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";.header-support{border-radius:.125rem;cursor:pointer;height:1.5rem;position:relative}.header-support:before{background:#74757690;content:\"\";position:absolute;top:0;right:-.5rem;width:1px;height:1.5rem}.header-support:hover{background:#343952}.header-support img{margin-right:.375rem}\n"] }); }
1716
+ }
1717
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SupportComponent, decorators: [{
1718
+ type: Component,
1719
+ args: [{ selector: 'vc-support', template: `<div
1720
+ (click)="openSupport.emit()"
1721
+ class="header-support vx-fs-11 vx-txt-white vx-tt-uppercase vx-p-1 vx-pl-3 vx-pr-2 vx-mr-2 vx-d-flex vx-align-center"
1722
+ >
1723
+ <img [src]="ASSETS.support_icon" alt="Support" width="18" height="14" />
1724
+ SUPPORT
1725
+ </div>`, styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";.header-support{border-radius:.125rem;cursor:pointer;height:1.5rem;position:relative}.header-support:before{background:#74757690;content:\"\";position:absolute;top:0;right:-.5rem;width:1px;height:1.5rem}.header-support:hover{background:#343952}.header-support img{margin-right:.375rem}\n"] }]
1726
+ }], ctorParameters: function () { return []; }, propDecorators: { openSupport: [{
1727
+ type: Output
1728
+ }] } });
1729
+
1730
+ class CreatePermissionPipe {
1731
+ //TODO in case of light user when policy is stand alone module
1732
+ transform(value, args) {
1733
+ return value;
1734
+ }
1735
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreatePermissionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
1736
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: CreatePermissionPipe, name: "checkPermission" }); }
1737
+ }
1738
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreatePermissionPipe, decorators: [{
1739
+ type: Pipe,
1740
+ args: [{
1741
+ name: 'checkPermission',
1742
+ }]
1743
+ }] });
1744
+
1745
+ class HeaderContainerComponent {
1746
+ constructor(apiService) {
1747
+ this.apiService = apiService;
1748
+ this.ASSETS = ASSETS;
1749
+ this.showBusinessCycle = ['/'];
1750
+ this.currentUrl = '';
1751
+ this.businessCycleChange = new EventEmitter();
1752
+ this.openDialog = new EventEmitter();
1753
+ this.currentUrl = window.location.pathname;
1754
+ console.log('currentUrl', this.currentUrl);
1755
+ }
1756
+ ngOnInit() { }
1757
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderContainerComponent, deps: [{ token: ApiService }], target: i0.ɵɵFactoryTarget.Component }); }
1758
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: HeaderContainerComponent, selector: "vc-header-container", outputs: { openDialog: "openDialog" }, ngImport: i0, template: "<vc-global-alert *ngIf=\"false\"></vc-global-alert>\r\n<div\r\n class=\"header-container vx-d-flex vx-align-center vx-justify-between vx-pr-3\"\r\n>\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <a\r\n class=\"product-logo vx-d-flex vx-align-center vx-justify-center vx-mr-3\"\r\n [arTooltip]=\"'Go to Dashboard'\"\r\n placement=\"right\"\r\n type=\"white\"\r\n delay=\"0\"\r\n [tooltipMandatory]=\"true\"\r\n [animate]=\"true\"\r\n ><img [src]=\"ASSETS.v_icon\" alt=\"VComply\" width=\"24\" height=\"24\"\r\n /></a>\r\n <vc-business-cycle\r\n *ngIf=\"showBusinessCycle.includes(currentUrl)\"\r\n (businessCycleChange)=\"businessCycleChange.emit($event)\"\r\n ></vc-business-cycle>\r\n </div>\r\n <div class=\"search-area\">\r\n <vc-search *ngIf=\"false\"></vc-search>\r\n </div>\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <vc-support (openSupport)=\"openDialog.emit('SUPPORT')\"></vc-support>\r\n <vc-create-workflow\r\n *ngIf=\"apiService.loggedUserDetail$ | async | checkPermission\"\r\n (openWorkflow)=\"openDialog.emit('WORKFLOW')\"\r\n ></vc-create-workflow>\r\n <vc-queue></vc-queue>\r\n <vc-user-details\r\n [userDetails]=\"apiService.loggedUserDetail$ | async\"\r\n [subscriptionDetails]=\"apiService.subscriptionDetail$ | async\"\r\n ></vc-user-details>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";.header-container{background:#161b2f;height:3rem}.header-container .product-logo{width:3rem;height:3rem}.header-container .product-logo img{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: ToolTipDirective, selector: "[arTooltip]", inputs: ["arTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: GlobalAlertComponent, selector: "vc-global-alert" }, { kind: "component", type: BusinessCycleComponent, selector: "vc-business-cycle", inputs: ["orgDetails"], outputs: ["businessCycleChange"] }, { kind: "component", type: SearchComponent, selector: "vc-search" }, { kind: "component", type: CreateWorkflowComponent, selector: "vc-create-workflow", outputs: ["openWorkflow"] }, { kind: "component", type: QueueComponent, selector: "vc-queue" }, { kind: "component", type: UserDetailsComponent, selector: "vc-user-details", inputs: ["userDetails", "subscriptionDetails"] }, { kind: "component", type: SupportComponent, selector: "vc-support", outputs: ["openSupport"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: CreatePermissionPipe, name: "checkPermission" }] }); }
1759
+ }
1760
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderContainerComponent, decorators: [{
1761
+ type: Component,
1762
+ args: [{ selector: 'vc-header-container', template: "<vc-global-alert *ngIf=\"false\"></vc-global-alert>\r\n<div\r\n class=\"header-container vx-d-flex vx-align-center vx-justify-between vx-pr-3\"\r\n>\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <a\r\n class=\"product-logo vx-d-flex vx-align-center vx-justify-center vx-mr-3\"\r\n [arTooltip]=\"'Go to Dashboard'\"\r\n placement=\"right\"\r\n type=\"white\"\r\n delay=\"0\"\r\n [tooltipMandatory]=\"true\"\r\n [animate]=\"true\"\r\n ><img [src]=\"ASSETS.v_icon\" alt=\"VComply\" width=\"24\" height=\"24\"\r\n /></a>\r\n <vc-business-cycle\r\n *ngIf=\"showBusinessCycle.includes(currentUrl)\"\r\n (businessCycleChange)=\"businessCycleChange.emit($event)\"\r\n ></vc-business-cycle>\r\n </div>\r\n <div class=\"search-area\">\r\n <vc-search *ngIf=\"false\"></vc-search>\r\n </div>\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <vc-support (openSupport)=\"openDialog.emit('SUPPORT')\"></vc-support>\r\n <vc-create-workflow\r\n *ngIf=\"apiService.loggedUserDetail$ | async | checkPermission\"\r\n (openWorkflow)=\"openDialog.emit('WORKFLOW')\"\r\n ></vc-create-workflow>\r\n <vc-queue></vc-queue>\r\n <vc-user-details\r\n [userDetails]=\"apiService.loggedUserDetail$ | async\"\r\n [subscriptionDetails]=\"apiService.subscriptionDetail$ | async\"\r\n ></vc-user-details>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";.header-container{background:#161b2f;height:3rem}.header-container .product-logo{width:3rem;height:3rem}.header-container .product-logo img{pointer-events:none}\n"] }]
1763
+ }], ctorParameters: function () { return [{ type: ApiService }]; }, propDecorators: { openDialog: [{
1764
+ type: Output
1765
+ }] } });
1766
+
1767
+ class SubMenuContainerComponent {
1768
+ constructor() {
1769
+ this.subMenuData = [
1770
+ {
1771
+ name: 'Policy',
1772
+ code: 'POLICY',
1773
+ callback: () => { },
1774
+ href: '#',
1775
+ class: 'active',
1776
+ },
1777
+ {
1778
+ name: 'Issue',
1779
+ code: 'ISSUE',
1780
+ callback: () => { },
1781
+ href: '#',
1782
+ class: '',
1783
+ },
1784
+ {
1785
+ name: 'Risk',
1786
+ code: 'RISK',
1787
+ callback: () => { },
1788
+ href: '#',
1789
+ class: '',
1790
+ },
1791
+ ];
1792
+ this.onCloseSubMenu = new EventEmitter();
1793
+ }
1794
+ ngOnInit() { }
1795
+ onSubMenuClose() {
1796
+ this.onCloseSubMenu.emit();
1797
+ }
1798
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SubMenuContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1799
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SubMenuContainerComponent, selector: "vc-sub-menu-container", inputs: { subMenuData: "subMenuData" }, outputs: { onCloseSubMenu: "onCloseSubMenu" }, ngImport: i0, template: `
1800
+ <div
1801
+ class="sub-menu-container vx-pl-2 vx-pr-2 vx-pb-5"
1802
+ [class.hide]="false"
1803
+ >
1804
+ <div
1805
+ class="top-close-area vx-d-flex vx-align-center vx-justify-end vx-mb-2"
1806
+ >
1807
+ <button
1808
+ (click)="onSubMenuClose()"
1809
+ class="vx-fs-8 vx-d-flex vx-align-center vx-justify-center vx-p-0 vx-m-0"
1810
+ [arTooltip]="'Close'"
1811
+ placement="left"
1812
+ type="black"
1813
+ delay="0"
1814
+ [tooltipMandatory]="true"
1815
+ >
1816
+ <i class="icons">&#xe96b;</i>
1817
+ </button>
1818
+ </div>
1819
+ <ul *ngIf="subMenuData?.length" class="vx-m-0 vx-p-0">
1820
+ <li
1821
+ class="vx-mb-2"
1822
+ *ngFor="let eachMenu of subMenuData"
1823
+ [ngClass]="eachMenu?.class"
1824
+ >
1825
+ <a
1826
+ class="vx-fs-13 vx-fw-400 vx-txt-white vx-p-2 vx-d-block"
1827
+ [href]="eachMenu?.href"
1828
+ >{{ eachMenu?.name }}</a
1829
+ >
1830
+ </li>
1831
+ </ul>
1832
+ <ng-content></ng-content>
1833
+ </div>
1834
+ `, isInline: true, styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";::ng-deep .sub-menu-container{background:#282e48;border-radius:.75rem 0 0 .75rem;height:calc(100% - .5rem);width:13rem;position:relative;transition:all .1s ease-out}::ng-deep .sub-menu-container.hide{margin-left:-13rem}::ng-deep .sub-menu-container.hide:before{display:none}::ng-deep .sub-menu-container:before{background:#282e48;content:\"\";position:absolute;top:0;right:-2rem;width:2rem;height:100%}::ng-deep .sub-menu-container .top-close-area{position:relative;padding:10px 0}::ng-deep .sub-menu-container .top-close-area:before{background:#565a6f;content:\"\";position:absolute;bottom:0;left:0;width:100%;height:1px}::ng-deep .sub-menu-container .top-close-area button{background:#e3e3e9;border-radius:.125rem;border:none;width:1rem;height:1rem}::ng-deep .sub-menu-container ul{list-style-type:none}::ng-deep .sub-menu-container ul li a{border-radius:.25rem;width:100%;height:2rem;text-decoration:none}::ng-deep .sub-menu-container ul li a:hover{background:#565a6f}::ng-deep .sub-menu-container ul li.active a{background:#565a6f}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: ToolTipDirective, selector: "[arTooltip]", inputs: ["arTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }] }); }
1835
+ }
1836
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SubMenuContainerComponent, decorators: [{
1837
+ type: Component,
1838
+ args: [{ selector: 'vc-sub-menu-container', template: `
1839
+ <div
1840
+ class="sub-menu-container vx-pl-2 vx-pr-2 vx-pb-5"
1841
+ [class.hide]="false"
1842
+ >
1843
+ <div
1844
+ class="top-close-area vx-d-flex vx-align-center vx-justify-end vx-mb-2"
1845
+ >
1846
+ <button
1847
+ (click)="onSubMenuClose()"
1848
+ class="vx-fs-8 vx-d-flex vx-align-center vx-justify-center vx-p-0 vx-m-0"
1849
+ [arTooltip]="'Close'"
1850
+ placement="left"
1851
+ type="black"
1852
+ delay="0"
1853
+ [tooltipMandatory]="true"
1854
+ >
1855
+ <i class="icons">&#xe96b;</i>
1856
+ </button>
1857
+ </div>
1858
+ <ul *ngIf="subMenuData?.length" class="vx-m-0 vx-p-0">
1859
+ <li
1860
+ class="vx-mb-2"
1861
+ *ngFor="let eachMenu of subMenuData"
1862
+ [ngClass]="eachMenu?.class"
1863
+ >
1864
+ <a
1865
+ class="vx-fs-13 vx-fw-400 vx-txt-white vx-p-2 vx-d-block"
1866
+ [href]="eachMenu?.href"
1867
+ >{{ eachMenu?.name }}</a
1868
+ >
1869
+ </li>
1870
+ </ul>
1871
+ <ng-content></ng-content>
1872
+ </div>
1873
+ `, styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";::ng-deep .sub-menu-container{background:#282e48;border-radius:.75rem 0 0 .75rem;height:calc(100% - .5rem);width:13rem;position:relative;transition:all .1s ease-out}::ng-deep .sub-menu-container.hide{margin-left:-13rem}::ng-deep .sub-menu-container.hide:before{display:none}::ng-deep .sub-menu-container:before{background:#282e48;content:\"\";position:absolute;top:0;right:-2rem;width:2rem;height:100%}::ng-deep .sub-menu-container .top-close-area{position:relative;padding:10px 0}::ng-deep .sub-menu-container .top-close-area:before{background:#565a6f;content:\"\";position:absolute;bottom:0;left:0;width:100%;height:1px}::ng-deep .sub-menu-container .top-close-area button{background:#e3e3e9;border-radius:.125rem;border:none;width:1rem;height:1rem}::ng-deep .sub-menu-container ul{list-style-type:none}::ng-deep .sub-menu-container ul li a{border-radius:.25rem;width:100%;height:2rem;text-decoration:none}::ng-deep .sub-menu-container ul li a:hover{background:#565a6f}::ng-deep .sub-menu-container ul li.active a{background:#565a6f}\n"] }]
1874
+ }], ctorParameters: function () { return []; }, propDecorators: { subMenuData: [{
1875
+ type: Input
1876
+ }], onCloseSubMenu: [{
1877
+ type: Output
1878
+ }] } });
1879
+
1880
+ class TooltipModule {
1881
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1882
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TooltipModule, declarations: [ToolTipDirective], imports: [CommonModule], exports: [ToolTipDirective] }); }
1883
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TooltipModule, imports: [CommonModule] }); }
1884
+ }
1885
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TooltipModule, decorators: [{
1886
+ type: NgModule,
1887
+ args: [{
1888
+ declarations: [ToolTipDirective],
1889
+ imports: [CommonModule],
1890
+ exports: [ToolTipDirective],
1891
+ }]
1892
+ }] });
1893
+
1894
+ class ProductListModule {
1895
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ProductListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1896
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ProductListModule, declarations: [ProductListContainerComponent,
1897
+ ModuleListComponent,
1898
+ PreferenceListComponent], imports: [CommonModule, TooltipModule], exports: [ProductListContainerComponent] }); }
1899
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ProductListModule, imports: [CommonModule, TooltipModule] }); }
1900
+ }
1901
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ProductListModule, decorators: [{
1902
+ type: NgModule,
1903
+ args: [{
1904
+ declarations: [
1905
+ ProductListContainerComponent,
1906
+ ModuleListComponent,
1907
+ PreferenceListComponent,
1908
+ ],
1909
+ imports: [CommonModule, TooltipModule],
1910
+ exports: [ProductListContainerComponent],
1911
+ }]
1912
+ }] });
1913
+
1914
+ class PipesModule {
1915
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1916
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PipesModule, declarations: [GetFileUrlPipe, CreatePermissionPipe, DateFormatPipe], imports: [CommonModule], exports: [GetFileUrlPipe, CreatePermissionPipe, DateFormatPipe] }); }
1917
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipesModule, imports: [CommonModule] }); }
1918
+ }
1919
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipesModule, decorators: [{
1920
+ type: NgModule,
1921
+ args: [{
1922
+ declarations: [GetFileUrlPipe, CreatePermissionPipe, DateFormatPipe],
1923
+ imports: [CommonModule],
1924
+ exports: [GetFileUrlPipe, CreatePermissionPipe, DateFormatPipe],
1925
+ }]
1926
+ }] });
1927
+
1928
+ class AvatarModule {
1929
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AvatarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1930
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: AvatarModule, declarations: [AvatarComponent], imports: [CommonModule, PipesModule], exports: [AvatarComponent] }); }
1931
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AvatarModule, imports: [CommonModule, PipesModule] }); }
1932
+ }
1933
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AvatarModule, decorators: [{
1934
+ type: NgModule,
1935
+ args: [{
1936
+ declarations: [AvatarComponent],
1937
+ imports: [CommonModule, PipesModule],
1938
+ exports: [AvatarComponent],
1939
+ }]
1940
+ }] });
1941
+
1942
+ class PopoverEventDirective {
1943
+ constructor(popoverService) {
1944
+ this.popoverService = popoverService;
1945
+ }
1946
+ contextmenu(event) {
1947
+ this.getEventPosition(event);
1948
+ }
1949
+ getEventPosition(event) {
1950
+ // const container = event.currentTarget;
1951
+ this.popoverService.positionX = event.clientX;
1952
+ this.popoverService.positionY = event.clientY;
1953
+ }
1954
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverEventDirective, deps: [{ token: PopoverService }], target: i0.ɵɵFactoryTarget.Directive }); }
1955
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: PopoverEventDirective, selector: "[appPopoverEvent]", host: { listeners: { "contextmenu": "contextmenu($event)" } }, ngImport: i0 }); }
1956
+ }
1957
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverEventDirective, decorators: [{
1958
+ type: Directive,
1959
+ args: [{
1960
+ selector: '[appPopoverEvent]',
1961
+ }]
1962
+ }], ctorParameters: function () { return [{ type: PopoverService }]; }, propDecorators: { contextmenu: [{
1963
+ type: HostListener,
1964
+ args: ['contextmenu', ['$event']]
1965
+ }] } });
1966
+
1967
+ class PopoverLongpressDirective {
1968
+ constructor(popoverService) {
1969
+ this.popoverService = popoverService;
1970
+ this.longPressPopover = new EventEmitter();
1971
+ }
1972
+ mousedown(event) {
1973
+ alert('Tong');
1974
+ this.currentTime = Date.now();
1975
+ //
1976
+ this.timer = setInterval(() => {
1977
+ if (Date.now() - this.currentTime > 1000) {
1978
+ this.longPressPopover.emit();
1979
+ clearInterval(this.timer);
1980
+ this.getEventPosition(event);
1981
+ alert('Ting tong');
1982
+ }
1983
+ }, 10);
1984
+ }
1985
+ mouseup() {
1986
+ clearInterval(this.timer);
1987
+ this.currentTime = undefined;
1988
+ //
1989
+ }
1990
+ getEventPosition(event) {
1991
+ this.popoverService.positionX = event.clientX;
1992
+ this.popoverService.positionY = event.clientY;
1993
+ }
1994
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverLongpressDirective, deps: [{ token: PopoverService }], target: i0.ɵɵFactoryTarget.Directive }); }
1995
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: PopoverLongpressDirective, selector: "[appPopoverLongpress]", outputs: { longPressPopover: "longPressPopover" }, host: { listeners: { "mousedown": "mousedown($event)", "mouseup": "mouseup()" } }, ngImport: i0 }); }
1996
+ }
1997
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverLongpressDirective, decorators: [{
1998
+ type: Directive,
1999
+ args: [{
2000
+ selector: '[appPopoverLongpress]',
2001
+ }]
2002
+ }], ctorParameters: function () { return [{ type: PopoverService }]; }, propDecorators: { longPressPopover: [{
2003
+ type: Output
2004
+ }], mousedown: [{
2005
+ type: HostListener,
2006
+ args: ['mousedown', ['$event']]
2007
+ }], mouseup: [{
2008
+ type: HostListener,
2009
+ args: ['mouseup']
2010
+ }] } });
2011
+
2012
+ class PopoverModule {
2013
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2014
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PopoverModule, declarations: [PopoverComponent, PopoverDirective, PopoverEventDirective, PopoverLongpressDirective], imports: [CommonModule], exports: [PopoverComponent, PopoverDirective, PopoverEventDirective, PopoverLongpressDirective] }); }
2015
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverModule, providers: [PopoverService], imports: [CommonModule] }); }
2016
+ }
2017
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverModule, decorators: [{
2018
+ type: NgModule,
2019
+ args: [{
2020
+ declarations: [PopoverComponent, PopoverDirective, PopoverEventDirective, PopoverLongpressDirective],
2021
+ imports: [CommonModule],
2022
+ exports: [PopoverComponent, PopoverDirective, PopoverEventDirective, PopoverLongpressDirective],
2023
+ providers: [PopoverService],
2024
+ }]
2025
+ }] });
2026
+
2027
+ class CsRadioComponent {
2028
+ constructor() {
2029
+ this.checkedEvent = new EventEmitter();
2030
+ }
2031
+ ngOnInit() { }
2032
+ changeState(evt) {
2033
+ this.checkedEvent.emit(evt);
2034
+ }
2035
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CsRadioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2036
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CsRadioComponent, selector: "app-cs-radio", inputs: { disabled: "disabled", readonly: "readonly", name: "name", checked: "checked", value: "value" }, outputs: { checkedEvent: "checkedEvent" }, ngImport: i0, template: "<label class=\"radio-item\" [class.readonly]=\"readonly\">\r\n <input type=\"radio\" [disabled]=\"disabled\" [name]=\"name\" [value]=\"value\" [checked]=\"checked\" (change)=\"changeState($event)\" />\r\n <span class=\"radio\">\r\n <span class=\"inner\"></span>\r\n </span>\r\n <svg class=\"radiomark\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"radiomark__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <circle class=\"radiomark__check\" cx=\"26\" cy=\"26\" r=\"5\" fill=\"none\" />\r\n </svg>\r\n <span class=\"value\"><ng-content></ng-content></span>\r\n</label>\r\n", styles: ["label{max-width:600px}label.radio-item{display:inline-flex;align-items:center;cursor:pointer;margin:0;padding:0;max-width:100%}label.radio-item.readonly{pointer-events:none}label.radio-item span{display:inline-flex;align-items:center}label.radio-item span.radio{background:#fff;height:16px;width:16px;border-radius:50%;border:1px solid #dbdbdb;position:relative;padding:5px;margin-top:0}label.radio-item span.radio .inner{height:10px;width:10px;border-radius:50%;background:#fff;display:none}label.radio-item span.value{color:#4e4e4e;font-size:14px;line-height:16px;font-weight:400;margin-left:10px;max-width:calc(100% - 26px)}label.radio-item span.value:empty{display:none}label.radio-item svg{display:none;margin-top:0}label.radio-item input[type=radio]{display:none}label.radio-item input[type=radio]:checked+span.radio{display:none}label.radio-item input[type=radio]:checked~svg{display:block}label.radio-item input[type=radio]:disabled~*{opacity:.7}.radiomark{width:16px;height:16px;border-radius:50%;stroke-width:4;stroke:#fff;stroke-miterlimit:10;box-shadow:inset 0 0 #34aa44;animation:fill .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both}.radiomark__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#34aa44;fill:none;animation:stroke .6s cubic-bezier(.65,0,.45,1) forwards}.radiomark__check{stroke-dasharray:100;stroke-dashoffset:100;stroke-width:10;animation:stroke .3s cubic-bezier(.65,0,.45,1) .8s forwards}@keyframes stroke{to{stroke-dashoffset:0}}@keyframes scale{0%,to{transform:none}50%{transform:scale3d(1.1,1.1,1)}}@keyframes fill{to{box-shadow:inset 0 0 0 30px #34aa44}}\n"] }); }
2037
+ }
2038
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CsRadioComponent, decorators: [{
2039
+ type: Component,
2040
+ args: [{ selector: 'app-cs-radio', template: "<label class=\"radio-item\" [class.readonly]=\"readonly\">\r\n <input type=\"radio\" [disabled]=\"disabled\" [name]=\"name\" [value]=\"value\" [checked]=\"checked\" (change)=\"changeState($event)\" />\r\n <span class=\"radio\">\r\n <span class=\"inner\"></span>\r\n </span>\r\n <svg class=\"radiomark\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"radiomark__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <circle class=\"radiomark__check\" cx=\"26\" cy=\"26\" r=\"5\" fill=\"none\" />\r\n </svg>\r\n <span class=\"value\"><ng-content></ng-content></span>\r\n</label>\r\n", styles: ["label{max-width:600px}label.radio-item{display:inline-flex;align-items:center;cursor:pointer;margin:0;padding:0;max-width:100%}label.radio-item.readonly{pointer-events:none}label.radio-item span{display:inline-flex;align-items:center}label.radio-item span.radio{background:#fff;height:16px;width:16px;border-radius:50%;border:1px solid #dbdbdb;position:relative;padding:5px;margin-top:0}label.radio-item span.radio .inner{height:10px;width:10px;border-radius:50%;background:#fff;display:none}label.radio-item span.value{color:#4e4e4e;font-size:14px;line-height:16px;font-weight:400;margin-left:10px;max-width:calc(100% - 26px)}label.radio-item span.value:empty{display:none}label.radio-item svg{display:none;margin-top:0}label.radio-item input[type=radio]{display:none}label.radio-item input[type=radio]:checked+span.radio{display:none}label.radio-item input[type=radio]:checked~svg{display:block}label.radio-item input[type=radio]:disabled~*{opacity:.7}.radiomark{width:16px;height:16px;border-radius:50%;stroke-width:4;stroke:#fff;stroke-miterlimit:10;box-shadow:inset 0 0 #34aa44;animation:fill .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both}.radiomark__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#34aa44;fill:none;animation:stroke .6s cubic-bezier(.65,0,.45,1) forwards}.radiomark__check{stroke-dasharray:100;stroke-dashoffset:100;stroke-width:10;animation:stroke .3s cubic-bezier(.65,0,.45,1) .8s forwards}@keyframes stroke{to{stroke-dashoffset:0}}@keyframes scale{0%,to{transform:none}50%{transform:scale3d(1.1,1.1,1)}}@keyframes fill{to{box-shadow:inset 0 0 0 30px #34aa44}}\n"] }]
2041
+ }], ctorParameters: function () { return []; }, propDecorators: { disabled: [{
2042
+ type: Input
2043
+ }], readonly: [{
2044
+ type: Input
2045
+ }], name: [{
2046
+ type: Input
2047
+ }], checked: [{
2048
+ type: Input
2049
+ }], value: [{
2050
+ type: Input
2051
+ }], checkedEvent: [{
2052
+ type: Output
2053
+ }] } });
2054
+
2055
+ class CsSwitchComponent {
2056
+ constructor() {
2057
+ this.ngValueChange = new EventEmitter();
2058
+ }
2059
+ ngOnInit() {
2060
+ //
2061
+ }
2062
+ valueChanged() {
2063
+ this.ngValueChange.emit(this.ngValue);
2064
+ }
2065
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CsSwitchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2066
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CsSwitchComponent, selector: "app-cs-switch", inputs: { disabled: "disabled", ngValue: "ngValue", value: "value", tooltipMessage: "tooltipMessage", position: "position" }, outputs: { ngValueChange: "ngValueChange" }, ngImport: i0, template: "<label class=\"cs-switch\" [class.top]=\"position == 'top'\">\r\n <!-- [class.large]=\"large\" -->\r\n <span class=\"value\">\r\n <span [innerHTML]=\"value\" *ngIf=\"value != undefined\"></span>\r\n <!-- <span class=\"notification\" *ngIf=\"!tooltipMessage\" [appTooltip]=\"tooltipMessage\" placement=\"bottom-right\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\r\n <i class=\"vc-icons\">&#xe9f3;</i>\r\n </span> -->\r\n </span>\r\n <!-- [class.last]=\"last\" -->\r\n <span\r\n class=\"switch\"\r\n *ngIf=\"tooltipMessage === '' || tooltipMessage === undefined\"\r\n >\r\n <input\r\n type=\"checkbox\"\r\n [(ngModel)]=\"ngValue\"\r\n (ngModelChange)=\"valueChanged()\"\r\n [disabled]=\"disabled\"\r\n />\r\n <span class=\"switch-box\">\r\n <span class=\"switch-ball\"></span>\r\n </span>\r\n </span>\r\n <span\r\n class=\"switch\"\r\n *ngIf=\"tooltipMessage !== '' && tooltipMessage !== undefined\"\r\n [arTooltip]=\"tooltipMessage\"\r\n placement=\"bottom-right\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n <input\r\n type=\"checkbox\"\r\n [(ngModel)]=\"ngValue\"\r\n (ngModelChange)=\"valueChanged()\"\r\n [disabled]=\"disabled\"\r\n />\r\n <span class=\"switch-box\">\r\n <span class=\"switch-ball\"></span>\r\n </span>\r\n </span>\r\n</label>\r\n", styles: ["label.cs-switch{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;margin:0;padding:0}label.cs-switch.top{align-items:flex-start}label.cs-switch span.value{font-size:12px;color:#161b2f;font-weight:400;display:flex;justify-content:space-between;width:calc(100% - 35px);align-items:flex-start}label.cs-switch span.switch{position:relative;display:block;width:25px;height:14px}label.cs-switch span.switch input{position:absolute;opacity:0;margin:0;width:100%;height:100%;z-index:1;cursor:pointer}label.cs-switch span.switch input:checked+span.switch-box{background:#34aa44;border:1px solid #34aa44}label.cs-switch span.switch input:checked+span.switch-box .switch-ball{left:13px}label.cs-switch span.switch input:disabled{pointer-events:none}label.cs-switch span.switch input:disabled+.switch-box{opacity:.5}label.cs-switch span.switch-box{height:100%;width:100%;border-radius:11px;background:#bcbcbc;border:1px solid #bcbcbc;display:block;transition:all .2s ease-in-out}label.cs-switch span.switch-ball{height:10px;width:10px;background:#fff;border-radius:50%;border:1px solid #ffffff;display:block;position:absolute;left:2px;top:2px;bottom:1px;transition:all .2s ease-in-out}label.cs-switch span.notification{display:inline-flex;font-size:12px;cursor:pointer;color:#4681ef;align-items:center;line-height:20px;margin:0 10px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ToolTipDirective, selector: "[arTooltip]", inputs: ["arTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }] }); }
2067
+ }
2068
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CsSwitchComponent, decorators: [{
2069
+ type: Component,
2070
+ args: [{ selector: 'app-cs-switch', template: "<label class=\"cs-switch\" [class.top]=\"position == 'top'\">\r\n <!-- [class.large]=\"large\" -->\r\n <span class=\"value\">\r\n <span [innerHTML]=\"value\" *ngIf=\"value != undefined\"></span>\r\n <!-- <span class=\"notification\" *ngIf=\"!tooltipMessage\" [appTooltip]=\"tooltipMessage\" placement=\"bottom-right\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\r\n <i class=\"vc-icons\">&#xe9f3;</i>\r\n </span> -->\r\n </span>\r\n <!-- [class.last]=\"last\" -->\r\n <span\r\n class=\"switch\"\r\n *ngIf=\"tooltipMessage === '' || tooltipMessage === undefined\"\r\n >\r\n <input\r\n type=\"checkbox\"\r\n [(ngModel)]=\"ngValue\"\r\n (ngModelChange)=\"valueChanged()\"\r\n [disabled]=\"disabled\"\r\n />\r\n <span class=\"switch-box\">\r\n <span class=\"switch-ball\"></span>\r\n </span>\r\n </span>\r\n <span\r\n class=\"switch\"\r\n *ngIf=\"tooltipMessage !== '' && tooltipMessage !== undefined\"\r\n [arTooltip]=\"tooltipMessage\"\r\n placement=\"bottom-right\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n <input\r\n type=\"checkbox\"\r\n [(ngModel)]=\"ngValue\"\r\n (ngModelChange)=\"valueChanged()\"\r\n [disabled]=\"disabled\"\r\n />\r\n <span class=\"switch-box\">\r\n <span class=\"switch-ball\"></span>\r\n </span>\r\n </span>\r\n</label>\r\n", styles: ["label.cs-switch{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;margin:0;padding:0}label.cs-switch.top{align-items:flex-start}label.cs-switch span.value{font-size:12px;color:#161b2f;font-weight:400;display:flex;justify-content:space-between;width:calc(100% - 35px);align-items:flex-start}label.cs-switch span.switch{position:relative;display:block;width:25px;height:14px}label.cs-switch span.switch input{position:absolute;opacity:0;margin:0;width:100%;height:100%;z-index:1;cursor:pointer}label.cs-switch span.switch input:checked+span.switch-box{background:#34aa44;border:1px solid #34aa44}label.cs-switch span.switch input:checked+span.switch-box .switch-ball{left:13px}label.cs-switch span.switch input:disabled{pointer-events:none}label.cs-switch span.switch input:disabled+.switch-box{opacity:.5}label.cs-switch span.switch-box{height:100%;width:100%;border-radius:11px;background:#bcbcbc;border:1px solid #bcbcbc;display:block;transition:all .2s ease-in-out}label.cs-switch span.switch-ball{height:10px;width:10px;background:#fff;border-radius:50%;border:1px solid #ffffff;display:block;position:absolute;left:2px;top:2px;bottom:1px;transition:all .2s ease-in-out}label.cs-switch span.notification{display:inline-flex;font-size:12px;cursor:pointer;color:#4681ef;align-items:center;line-height:20px;margin:0 10px}\n"] }]
2071
+ }], ctorParameters: function () { return []; }, propDecorators: { disabled: [{
2072
+ type: Input
2073
+ }], ngValue: [{
2074
+ type: Input
2075
+ }], value: [{
2076
+ type: Input
2077
+ }], ngValueChange: [{
2078
+ type: Output
2079
+ }], tooltipMessage: [{
2080
+ type: Input
2081
+ }], position: [{
2082
+ type: Input
2083
+ }] } });
2084
+
2085
+ class CsRadioGroupComponent {
2086
+ constructor() { }
2087
+ ngOnInit() { }
2088
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CsRadioGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2089
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CsRadioGroupComponent, selector: "app-cs-radio-group", ngImport: i0, template: "<app-cs-radio>fefre</app-cs-radio>\r\n<app-cs-radio>fefre</app-cs-radio>\r\n<app-cs-radio>fefre</app-cs-radio>\r\n<app-cs-radio>fefre</app-cs-radio>\r\n", styles: [""], dependencies: [{ kind: "component", type: CsRadioComponent, selector: "app-cs-radio", inputs: ["disabled", "readonly", "name", "checked", "value"], outputs: ["checkedEvent"] }] }); }
2090
+ }
2091
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CsRadioGroupComponent, decorators: [{
2092
+ type: Component,
2093
+ args: [{ selector: 'app-cs-radio-group', template: "<app-cs-radio>fefre</app-cs-radio>\r\n<app-cs-radio>fefre</app-cs-radio>\r\n<app-cs-radio>fefre</app-cs-radio>\r\n<app-cs-radio>fefre</app-cs-radio>\r\n" }]
2094
+ }], ctorParameters: function () { return []; } });
2095
+
2096
+ class ClickOutsideDirective {
2097
+ constructor(elementRef) {
2098
+ this.elementRef = elementRef;
2099
+ this.clickOutside = new EventEmitter();
2100
+ }
2101
+ onMouseEnter(targetElement) {
2102
+ const clickedInside = this.elementRef.nativeElement.contains(targetElement);
2103
+ if (!clickedInside) {
2104
+ this.clickOutside.emit(null);
2105
+ }
2106
+ }
2107
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClickOutsideDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
2108
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ClickOutsideDirective, selector: "[clickOutside]", outputs: { clickOutside: "clickOutside" }, host: { listeners: { "document:click": "onMouseEnter($event.target)" } }, ngImport: i0 }); }
2109
+ }
2110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClickOutsideDirective, decorators: [{
2111
+ type: Directive,
2112
+ args: [{
2113
+ selector: '[clickOutside]',
2114
+ }]
2115
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { clickOutside: [{
2116
+ type: Output,
2117
+ args: ['clickOutside']
2118
+ }], onMouseEnter: [{
2119
+ type: HostListener,
2120
+ args: ['document:click', ['$event.target']]
2121
+ }] } });
2122
+
2123
+ class PascalPipe {
2124
+ transform(value, ...args) {
2125
+ if (typeof value !== 'string') {
2126
+ return value;
2127
+ }
2128
+ return value.charAt(0).toUpperCase() + value.slice(1);
2129
+ }
2130
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PascalPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2131
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PascalPipe, name: "pascal" }); }
2132
+ }
2133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PascalPipe, decorators: [{
2134
+ type: Pipe,
2135
+ args: [{
2136
+ name: 'pascal',
2137
+ }]
2138
+ }] });
2139
+
2140
+ class CsSelectComponent {
2141
+ constructor() {
2142
+ this.selectedData = new EventEmitter();
2143
+ this.selectedValueChange = new EventEmitter();
2144
+ this.dropdownOption = false;
2145
+ this.activeDoropdown = false;
2146
+ }
2147
+ set content(content) {
2148
+ if (content) {
2149
+ // initially setter gets called with undefined
2150
+ this.optionList = content;
2151
+ }
2152
+ }
2153
+ ngOnChanges(changes) {
2154
+ if (changes['selectedValue']) {
2155
+ this.selectedValue = this.selectedValue || '--';
2156
+ }
2157
+ }
2158
+ openDropdown(event) {
2159
+ this.dropdownOption = true;
2160
+ setTimeout(() => {
2161
+ const dropdown = event.target.getBoundingClientRect();
2162
+ const selectOption = this.optionList.nativeElement.offsetHeight;
2163
+ if (dropdown.top + selectOption * 2 > window.innerHeight) {
2164
+ this.getTop = dropdown.top - selectOption;
2165
+ }
2166
+ else {
2167
+ this.getTop = dropdown.top + dropdown.height;
2168
+ }
2169
+ this.getLeft = dropdown.left;
2170
+ this.getWidth = dropdown.width;
2171
+ this.maxWidth = dropdown.width * 1.25;
2172
+ }, 10);
2173
+ setTimeout(() => {
2174
+ this.activeDoropdown = true;
2175
+ }, 100);
2176
+ }
2177
+ selectOption(selectedData) {
2178
+ if (typeof selectedData === 'object') {
2179
+ this.selectedValue = selectedData[this.displayProperty];
2180
+ this.colorSelected = selectedData[this.colorProperty];
2181
+ }
2182
+ else {
2183
+ this.selectedValue = selectedData;
2184
+ }
2185
+ this.selectedData.emit(selectedData);
2186
+ this.selectedValueChange.emit(selectedData);
2187
+ this.dropdownOption = false;
2188
+ }
2189
+ closeDropdown() {
2190
+ this.dropdownOption = false;
2191
+ }
2192
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CsSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2193
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CsSelectComponent, selector: "app-cs-select", inputs: { dataList: "dataList", dropdownLabel: "dropdownLabel", displayProperty: "displayProperty", selectedValue: "selectedValue", isRequired: "isRequired", dropdownSubLabel: "dropdownSubLabel", disabled: "disabled", placeholder: "placeholder", stylex: "stylex", valueKey: "valueKey", multipleSelect: "multipleSelect", colorProperty: "colorProperty", colorSelected: "colorSelected" }, outputs: { selectedData: "selectedData", selectedValueChange: "selectedValueChange" }, viewQueries: [{ propertyName: "option", first: true, predicate: ["option"], descendants: true }, { propertyName: "content", first: true, predicate: ["optionList"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"input-group\" (clickOutside)=\"dropdownOption = false\">\r\n <label *ngIf=\"dropdownLabel != undefined\">\r\n {{ dropdownLabel }} <span class=\"sub-label\">{{ dropdownSubLabel }}</span>\r\n <span class=\"required\" *ngIf=\"isRequired\">*</span></label\r\n >\r\n <div class=\"custom-select-box\" [class.disabled]=\"disabled\">\r\n <input\r\n type=\"text\"\r\n [class.line]=\"stylex\"\r\n [placeholder]=\"placeholder\"\r\n [value]=\"selectedValue | pascal\"\r\n readonly\r\n (click)=\"openDropdown($event)\"\r\n (keyup.enter)=\"openDropdown($event)\"\r\n (keyup.arrowup)=\"openDropdown($event)\"\r\n (keyup.arrowdown)=\"openDropdown($event)\"\r\n *ngIf=\"!colorProperty\"\r\n />\r\n <span\r\n class=\"show-label\"\r\n *ngIf=\"colorProperty\"\r\n (click)=\"openDropdown($event)\"\r\n >\r\n <span\r\n class=\"label\"\r\n [innerHTML]=\"selectedValue\"\r\n [style.backgroundColor]=\"colorSelected + '1A'\"\r\n [style.color]=\"colorSelected\"\r\n ></span>\r\n </span>\r\n <!-- <span class=\"arrow\" [class.line]=\"stylex\">\r\n <i class=\"icons\">&#xe919;</i>\r\n </span> -->\r\n <div\r\n class=\"overlay active\"\r\n *ngIf=\"dropdownOption === true\"\r\n (click)=\"closeDropdown()\"\r\n ></div>\r\n <ul\r\n class=\"list-of-option\"\r\n *ngIf=\"dropdownOption === true && !colorProperty\"\r\n #optionList\r\n (keyup.Escape)=\"closeDropdown()\"\r\n [style.top.px]=\"getTop\"\r\n [style.left.px]=\"getLeft\"\r\n [style.min-width.px]=\"getWidth\"\r\n [style.max-width.px]=\"maxWidth\"\r\n [class.active]=\"activeDoropdown\"\r\n >\r\n <li *ngFor=\"let data of dataList\">\r\n <label>\r\n <input\r\n type=\"radio\"\r\n [value]=\"data[valueKey]\"\r\n name=\"sliceLabel\"\r\n (change)=\"selectOption(data)\"\r\n #option\r\n (keyup.enter)=\"closeDropdown()\"\r\n class=\"pointer-none\"\r\n />\r\n <span\r\n (click)=\"closeDropdown(); selectOption(data)\"\r\n *ngIf=\"displayProperty && displayProperty !== ''\"\r\n class=\"value\"\r\n [arTooltip]=\"data[displayProperty]\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"true\"\r\n >{{ data[displayProperty] }}</span\r\n >\r\n <span\r\n (click)=\"closeDropdown(); selectOption(data)\"\r\n *ngIf=\"!displayProperty || displayProperty === ''\"\r\n class=\"value\"\r\n [arTooltip]=\"data\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"true\"\r\n >{{ data }}</span\r\n >\r\n </label>\r\n </li>\r\n </ul>\r\n <ul\r\n class=\"list-of-option\"\r\n *ngIf=\"dropdownOption === true && colorProperty\"\r\n #optionList\r\n (keyup.Escape)=\"closeDropdown()\"\r\n [style.top.px]=\"getTop\"\r\n [style.left.px]=\"getLeft\"\r\n [style.min-width.px]=\"getWidth\"\r\n [style.max-width.px]=\"maxWidth\"\r\n [class.active]=\"activeDoropdown\"\r\n >\r\n <li *ngFor=\"let data of dataList\">\r\n <label class=\"colors\">\r\n <input\r\n type=\"radio\"\r\n [value]=\"data[valueKey]\"\r\n name=\"sliceLabel\"\r\n (click)=\"selectOption(data)\"\r\n #option\r\n (keyup.enter)=\"closeDropdown()\"\r\n class=\"pointer-none\"\r\n />\r\n <span\r\n (click)=\"selectOption(data)\"\r\n *ngIf=\"displayProperty && displayProperty !== ''\"\r\n class=\"value\"\r\n [arTooltip]=\"data[displayProperty]\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"true\"\r\n [ngStyle]=\"{ color: data.segment_color }\"\r\n [style.backgroundColor]=\"data.segment_color + '1A'\"\r\n >{{ data[displayProperty] }}</span\r\n >\r\n <span\r\n (click)=\"selectOption(data)\"\r\n *ngIf=\"!displayProperty || displayProperty === ''\"\r\n class=\"value\"\r\n [arTooltip]=\"data\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"true\"\r\n [ngStyle]=\"{ color: data.segment_color }\"\r\n [style.backgroundColor]=\"data.segment_color + '1A'\"\r\n >{{ data }}</span\r\n >\r\n </label>\r\n </li>\r\n </ul>\r\n </div>\r\n</div>\r\n", styles: [".input-group{position:relative;margin-bottom:0}.input-group label{font-size:11px;color:#161b2f;font-weight:500;line-height:16px;margin-bottom:5px;text-transform:uppercase;display:block}.input-group label span.required{color:#eb2424;font-size:14px}.input-group label span.sub-label{color:#747576;font-size:11px;font-weight:400;margin-left:3px}.input-group input[type=text],.input-group .show-label{height:36px;line-height:16px;font-size:13px;color:#747576;font-weight:400;background:#fff;border:1px solid #dbdbdb;border-radius:4px;width:100%;padding:10px 13px;display:block;outline:none;overflow:hidden;text-overflow:ellipsis}.input-group input[type=text].line,.input-group .show-label.line{border:none;border-bottom:1px solid #dbdbdb;border-radius:0;padding-left:0}.input-group .show-label{display:flex;padding:6px;padding-right:25px!important;cursor:pointer}.input-group .show-label .label{white-space:nowrap;padding:2px 5px;height:100%;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;text-transform:uppercase;font-size:11px;font-weight:600;line-height:15px;pointer-events:none}.input-group:focus-within input[type=text]{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd333}.input-group:focus-within input[type=text].line{box-shadow:none}.input-group .custom-select-box{background:#fff;position:relative}.input-group .custom-select-box:after{border-bottom-style:solid;border-bottom-width:1px;border-right-style:solid;border-right-width:1px;border-color:#707070;content:\"\";display:inline-block;right:15px;position:absolute;top:calc(50% - 4px);width:5px;height:5px;transform:rotate(45deg)}.input-group .custom-select-box input[type=text],.input-group .custom-select-box .input{cursor:pointer;padding-right:30px;background:transparent}.input-group .custom-select-box input[type=text].line,.input-group .custom-select-box .input.line{padding-right:20px}.input-group .custom-select-box.disabled{filter:grayscale(1);pointer-events:none}.input-group .arrow{position:absolute;right:17px;color:#747576;bottom:8px;font-size:10px;pointer-events:none}.input-group .arrow.line{right:5px}ul.list-of-option{position:fixed;overflow:auto;max-height:200px;padding:0;margin:0;display:block;border:1px solid #dbdbdb;box-shadow:0 3px 6px #1e5dd333;z-index:2147483002;background:#fff;border-radius:2px;opacity:0}ul.list-of-option.reset{top:inherit;bottom:100%;box-shadow:0 -3px 6px #1e5dd333}ul.list-of-option.active{opacity:1}ul.list-of-option li{width:100%;display:block;margin-bottom:0;padding:0;height:auto}ul.list-of-option li label{line-height:23px;font-size:13px;font-weight:400;border-radius:4px;display:flex;position:relative;margin:0;align-items:center}ul.list-of-option li label input[type=radio]{position:absolute;margin:0;height:100%;width:100%;opacity:0;left:0;cursor:pointer}ul.list-of-option li label input[type=radio]:checked+span,ul.list-of-option li label input[type=radio]:hover+span{background:#dcdcdc}ul.list-of-option li label span.value{color:#747576;font-size:14px;line-height:21px;font-weight:400;max-width:100%;white-space:nowrap;overflow:hidden;display:block;text-overflow:ellipsis;padding:5px 15px;width:100%;text-transform:none;cursor:pointer;text-align:left}ul.list-of-option li label.multiselect{padding:0 15px}ul.list-of-option li label.multiselect span.checkbox{display:inline-block;border:1px solid #dbdbdb;border-radius:2px;height:16px;width:16px;position:relative;padding:2px}ul.list-of-option li label input[type=checkbox]{position:absolute;margin:0;height:100%;width:100%;opacity:0;cursor:pointer}ul.list-of-option li label input[type=checkbox]:checked+span{background:#dcdcdc}ul.list-of-option li label input[type=checkbox]:checked+span.checkbox{border-color:#34aa44;background:#34aa44}ul.list-of-option li label input[type=checkbox]:checked+span.checkbox:after{width:8px;height:3px;border-bottom:2px solid #ffffff;border-left:2px solid #ffffff;transform:rotate(-45deg);content:\"\";position:absolute;top:3px;left:2px}ul.list-of-option li label.colors{padding:3px 5px}ul.list-of-option li label.colors span.value{padding:3px 6px;line-height:16px;font-size:11px;font-weight:600}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: ToolTipDirective, selector: "[arTooltip]", inputs: ["arTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "directive", type: ClickOutsideDirective, selector: "[clickOutside]", outputs: ["clickOutside"] }, { kind: "pipe", type: PascalPipe, name: "pascal" }] }); }
2194
+ }
2195
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CsSelectComponent, decorators: [{
2196
+ type: Component,
2197
+ args: [{ selector: 'app-cs-select', template: "<div class=\"input-group\" (clickOutside)=\"dropdownOption = false\">\r\n <label *ngIf=\"dropdownLabel != undefined\">\r\n {{ dropdownLabel }} <span class=\"sub-label\">{{ dropdownSubLabel }}</span>\r\n <span class=\"required\" *ngIf=\"isRequired\">*</span></label\r\n >\r\n <div class=\"custom-select-box\" [class.disabled]=\"disabled\">\r\n <input\r\n type=\"text\"\r\n [class.line]=\"stylex\"\r\n [placeholder]=\"placeholder\"\r\n [value]=\"selectedValue | pascal\"\r\n readonly\r\n (click)=\"openDropdown($event)\"\r\n (keyup.enter)=\"openDropdown($event)\"\r\n (keyup.arrowup)=\"openDropdown($event)\"\r\n (keyup.arrowdown)=\"openDropdown($event)\"\r\n *ngIf=\"!colorProperty\"\r\n />\r\n <span\r\n class=\"show-label\"\r\n *ngIf=\"colorProperty\"\r\n (click)=\"openDropdown($event)\"\r\n >\r\n <span\r\n class=\"label\"\r\n [innerHTML]=\"selectedValue\"\r\n [style.backgroundColor]=\"colorSelected + '1A'\"\r\n [style.color]=\"colorSelected\"\r\n ></span>\r\n </span>\r\n <!-- <span class=\"arrow\" [class.line]=\"stylex\">\r\n <i class=\"icons\">&#xe919;</i>\r\n </span> -->\r\n <div\r\n class=\"overlay active\"\r\n *ngIf=\"dropdownOption === true\"\r\n (click)=\"closeDropdown()\"\r\n ></div>\r\n <ul\r\n class=\"list-of-option\"\r\n *ngIf=\"dropdownOption === true && !colorProperty\"\r\n #optionList\r\n (keyup.Escape)=\"closeDropdown()\"\r\n [style.top.px]=\"getTop\"\r\n [style.left.px]=\"getLeft\"\r\n [style.min-width.px]=\"getWidth\"\r\n [style.max-width.px]=\"maxWidth\"\r\n [class.active]=\"activeDoropdown\"\r\n >\r\n <li *ngFor=\"let data of dataList\">\r\n <label>\r\n <input\r\n type=\"radio\"\r\n [value]=\"data[valueKey]\"\r\n name=\"sliceLabel\"\r\n (change)=\"selectOption(data)\"\r\n #option\r\n (keyup.enter)=\"closeDropdown()\"\r\n class=\"pointer-none\"\r\n />\r\n <span\r\n (click)=\"closeDropdown(); selectOption(data)\"\r\n *ngIf=\"displayProperty && displayProperty !== ''\"\r\n class=\"value\"\r\n [arTooltip]=\"data[displayProperty]\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"true\"\r\n >{{ data[displayProperty] }}</span\r\n >\r\n <span\r\n (click)=\"closeDropdown(); selectOption(data)\"\r\n *ngIf=\"!displayProperty || displayProperty === ''\"\r\n class=\"value\"\r\n [arTooltip]=\"data\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"true\"\r\n >{{ data }}</span\r\n >\r\n </label>\r\n </li>\r\n </ul>\r\n <ul\r\n class=\"list-of-option\"\r\n *ngIf=\"dropdownOption === true && colorProperty\"\r\n #optionList\r\n (keyup.Escape)=\"closeDropdown()\"\r\n [style.top.px]=\"getTop\"\r\n [style.left.px]=\"getLeft\"\r\n [style.min-width.px]=\"getWidth\"\r\n [style.max-width.px]=\"maxWidth\"\r\n [class.active]=\"activeDoropdown\"\r\n >\r\n <li *ngFor=\"let data of dataList\">\r\n <label class=\"colors\">\r\n <input\r\n type=\"radio\"\r\n [value]=\"data[valueKey]\"\r\n name=\"sliceLabel\"\r\n (click)=\"selectOption(data)\"\r\n #option\r\n (keyup.enter)=\"closeDropdown()\"\r\n class=\"pointer-none\"\r\n />\r\n <span\r\n (click)=\"selectOption(data)\"\r\n *ngIf=\"displayProperty && displayProperty !== ''\"\r\n class=\"value\"\r\n [arTooltip]=\"data[displayProperty]\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"true\"\r\n [ngStyle]=\"{ color: data.segment_color }\"\r\n [style.backgroundColor]=\"data.segment_color + '1A'\"\r\n >{{ data[displayProperty] }}</span\r\n >\r\n <span\r\n (click)=\"selectOption(data)\"\r\n *ngIf=\"!displayProperty || displayProperty === ''\"\r\n class=\"value\"\r\n [arTooltip]=\"data\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"true\"\r\n [ngStyle]=\"{ color: data.segment_color }\"\r\n [style.backgroundColor]=\"data.segment_color + '1A'\"\r\n >{{ data }}</span\r\n >\r\n </label>\r\n </li>\r\n </ul>\r\n </div>\r\n</div>\r\n", styles: [".input-group{position:relative;margin-bottom:0}.input-group label{font-size:11px;color:#161b2f;font-weight:500;line-height:16px;margin-bottom:5px;text-transform:uppercase;display:block}.input-group label span.required{color:#eb2424;font-size:14px}.input-group label span.sub-label{color:#747576;font-size:11px;font-weight:400;margin-left:3px}.input-group input[type=text],.input-group .show-label{height:36px;line-height:16px;font-size:13px;color:#747576;font-weight:400;background:#fff;border:1px solid #dbdbdb;border-radius:4px;width:100%;padding:10px 13px;display:block;outline:none;overflow:hidden;text-overflow:ellipsis}.input-group input[type=text].line,.input-group .show-label.line{border:none;border-bottom:1px solid #dbdbdb;border-radius:0;padding-left:0}.input-group .show-label{display:flex;padding:6px;padding-right:25px!important;cursor:pointer}.input-group .show-label .label{white-space:nowrap;padding:2px 5px;height:100%;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;text-transform:uppercase;font-size:11px;font-weight:600;line-height:15px;pointer-events:none}.input-group:focus-within input[type=text]{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd333}.input-group:focus-within input[type=text].line{box-shadow:none}.input-group .custom-select-box{background:#fff;position:relative}.input-group .custom-select-box:after{border-bottom-style:solid;border-bottom-width:1px;border-right-style:solid;border-right-width:1px;border-color:#707070;content:\"\";display:inline-block;right:15px;position:absolute;top:calc(50% - 4px);width:5px;height:5px;transform:rotate(45deg)}.input-group .custom-select-box input[type=text],.input-group .custom-select-box .input{cursor:pointer;padding-right:30px;background:transparent}.input-group .custom-select-box input[type=text].line,.input-group .custom-select-box .input.line{padding-right:20px}.input-group .custom-select-box.disabled{filter:grayscale(1);pointer-events:none}.input-group .arrow{position:absolute;right:17px;color:#747576;bottom:8px;font-size:10px;pointer-events:none}.input-group .arrow.line{right:5px}ul.list-of-option{position:fixed;overflow:auto;max-height:200px;padding:0;margin:0;display:block;border:1px solid #dbdbdb;box-shadow:0 3px 6px #1e5dd333;z-index:2147483002;background:#fff;border-radius:2px;opacity:0}ul.list-of-option.reset{top:inherit;bottom:100%;box-shadow:0 -3px 6px #1e5dd333}ul.list-of-option.active{opacity:1}ul.list-of-option li{width:100%;display:block;margin-bottom:0;padding:0;height:auto}ul.list-of-option li label{line-height:23px;font-size:13px;font-weight:400;border-radius:4px;display:flex;position:relative;margin:0;align-items:center}ul.list-of-option li label input[type=radio]{position:absolute;margin:0;height:100%;width:100%;opacity:0;left:0;cursor:pointer}ul.list-of-option li label input[type=radio]:checked+span,ul.list-of-option li label input[type=radio]:hover+span{background:#dcdcdc}ul.list-of-option li label span.value{color:#747576;font-size:14px;line-height:21px;font-weight:400;max-width:100%;white-space:nowrap;overflow:hidden;display:block;text-overflow:ellipsis;padding:5px 15px;width:100%;text-transform:none;cursor:pointer;text-align:left}ul.list-of-option li label.multiselect{padding:0 15px}ul.list-of-option li label.multiselect span.checkbox{display:inline-block;border:1px solid #dbdbdb;border-radius:2px;height:16px;width:16px;position:relative;padding:2px}ul.list-of-option li label input[type=checkbox]{position:absolute;margin:0;height:100%;width:100%;opacity:0;cursor:pointer}ul.list-of-option li label input[type=checkbox]:checked+span{background:#dcdcdc}ul.list-of-option li label input[type=checkbox]:checked+span.checkbox{border-color:#34aa44;background:#34aa44}ul.list-of-option li label input[type=checkbox]:checked+span.checkbox:after{width:8px;height:3px;border-bottom:2px solid #ffffff;border-left:2px solid #ffffff;transform:rotate(-45deg);content:\"\";position:absolute;top:3px;left:2px}ul.list-of-option li label.colors{padding:3px 5px}ul.list-of-option li label.colors span.value{padding:3px 6px;line-height:16px;font-size:11px;font-weight:600}\n"] }]
2198
+ }], propDecorators: { dataList: [{
2199
+ type: Input
2200
+ }], dropdownLabel: [{
2201
+ type: Input
2202
+ }], displayProperty: [{
2203
+ type: Input
2204
+ }], selectedValue: [{
2205
+ type: Input
2206
+ }], isRequired: [{
2207
+ type: Input
2208
+ }], dropdownSubLabel: [{
2209
+ type: Input
2210
+ }], disabled: [{
2211
+ type: Input
2212
+ }], option: [{
2213
+ type: ViewChild,
2214
+ args: ['option']
2215
+ }], selectedData: [{
2216
+ type: Output
2217
+ }], selectedValueChange: [{
2218
+ type: Output
2219
+ }], placeholder: [{
2220
+ type: Input
2221
+ }], stylex: [{
2222
+ type: Input
2223
+ }], valueKey: [{
2224
+ type: Input
2225
+ }], multipleSelect: [{
2226
+ type: Input
2227
+ }], colorProperty: [{
2228
+ type: Input
2229
+ }], colorSelected: [{
2230
+ type: Input
2231
+ }], content: [{
2232
+ type: ViewChild,
2233
+ args: ['optionList']
2234
+ }] } });
2235
+
2236
+ class SearchMultiSelectPipe {
2237
+ transform(value, key, searchKey) {
2238
+ if (searchKey && searchKey.length > 0) {
2239
+ searchKey = searchKey.toLowerCase();
2240
+ return value.filter((item) => {
2241
+ if (item[key].toLowerCase().includes(searchKey)) {
2242
+ return item;
2243
+ }
2244
+ });
2245
+ }
2246
+ return value;
2247
+ }
2248
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SearchMultiSelectPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2249
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SearchMultiSelectPipe, name: "searchMultiSelect" }); }
2250
+ }
2251
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SearchMultiSelectPipe, decorators: [{
2252
+ type: Pipe,
2253
+ args: [{
2254
+ name: 'searchMultiSelect',
2255
+ }]
2256
+ }] });
2257
+
2258
+ class CsCheckboxIndeterminateComponent {
2259
+ constructor() {
2260
+ this.ngValueChange = new EventEmitter();
2261
+ }
2262
+ ngOnInit() {
2263
+ }
2264
+ valueChanged() {
2265
+ const emitValue = {
2266
+ value: this.value,
2267
+ checked: this.ngValue
2268
+ };
2269
+ this.ngValueChange.emit(emitValue);
2270
+ }
2271
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CsCheckboxIndeterminateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2272
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CsCheckboxIndeterminateComponent, selector: "app-cs-checkbox-indeterminate", inputs: { disabled: "disabled", ngValue: "ngValue", value: "value" }, outputs: { ngValueChange: "ngValueChange" }, ngImport: i0, template: "<label class=\"checkbox-item\" [class.disabled]=\"disabled\">\r\n <input type=\"checkbox\" [name]=\"value\" [disabled]=\"disabled\" [(ngModel)]=\"ngValue\" (ngModelChange)=\"valueChanged()\" />\r\n <span class=\"checkbox\">\r\n <span class=\"inner\"></span>\r\n </span>\r\n <svg class=\"checkmark\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkmark__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path fill=\"none\" d=\"M37.9,27H14v-2h23.9V27z\"/>\r\n </svg>\r\n <span class=\"value\"><ng-content></ng-content></span>\r\n </label>\r\n ", styles: ["label.checkbox-item{display:inline-flex;align-items:center;cursor:pointer;margin:0;max-width:100%;position:relative;padding:0 0 0 28px}label.checkbox-item span{display:inline-flex;align-items:center;justify-content:center}label.checkbox-item span.checkbox{height:16px;width:16px;border-radius:2px;border:1px solid #dbdbdb;position:absolute;left:0;top:0;padding:2px;margin-top:0}label.checkbox-item span.value{display:block;color:#747576;font-size:14px;line-height:16px;font-weight:400;max-width:calc(100% - 26px)}label.checkbox-item span.value:empty{display:none}label.checkbox-item svg{display:none;margin-top:0}label.checkbox-item input[type=checkbox]{display:none}label.checkbox-item input[type=checkbox]:checked~svg{display:block}label.checkbox-item input[type=checkbox]:checked+.checkbox{display:none}label.checkbox-item input[type=checkbox]:disabled~*{opacity:.7}.disabled{opacity:.4!important}.checkmark{position:absolute;left:0;top:0;width:16px;height:16px;border-radius:2px;stroke-width:4;stroke:#fff;stroke-miterlimit:10;box-shadow:inset 0 0 #34aa44;animation:fill .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both}.checkmark__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#34aa44;fill:none;animation:stroke .6s cubic-bezier(.65,0,.45,1) forwards}.checkmark__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:stroke .3s cubic-bezier(.65,0,.45,1) .8s forwards}@keyframes stroke{to{stroke-dashoffset:0}}@keyframes scale{0%,to{transform:none}50%{transform:scale3d(1.1,1.1,1)}}@keyframes fill{to{box-shadow:inset 0 0 0 30px #34aa44}}\n"], dependencies: [{ kind: "directive", type: i1$3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
2273
+ }
2274
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CsCheckboxIndeterminateComponent, decorators: [{
2275
+ type: Component,
2276
+ args: [{ selector: 'app-cs-checkbox-indeterminate', template: "<label class=\"checkbox-item\" [class.disabled]=\"disabled\">\r\n <input type=\"checkbox\" [name]=\"value\" [disabled]=\"disabled\" [(ngModel)]=\"ngValue\" (ngModelChange)=\"valueChanged()\" />\r\n <span class=\"checkbox\">\r\n <span class=\"inner\"></span>\r\n </span>\r\n <svg class=\"checkmark\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkmark__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path fill=\"none\" d=\"M37.9,27H14v-2h23.9V27z\"/>\r\n </svg>\r\n <span class=\"value\"><ng-content></ng-content></span>\r\n </label>\r\n ", styles: ["label.checkbox-item{display:inline-flex;align-items:center;cursor:pointer;margin:0;max-width:100%;position:relative;padding:0 0 0 28px}label.checkbox-item span{display:inline-flex;align-items:center;justify-content:center}label.checkbox-item span.checkbox{height:16px;width:16px;border-radius:2px;border:1px solid #dbdbdb;position:absolute;left:0;top:0;padding:2px;margin-top:0}label.checkbox-item span.value{display:block;color:#747576;font-size:14px;line-height:16px;font-weight:400;max-width:calc(100% - 26px)}label.checkbox-item span.value:empty{display:none}label.checkbox-item svg{display:none;margin-top:0}label.checkbox-item input[type=checkbox]{display:none}label.checkbox-item input[type=checkbox]:checked~svg{display:block}label.checkbox-item input[type=checkbox]:checked+.checkbox{display:none}label.checkbox-item input[type=checkbox]:disabled~*{opacity:.7}.disabled{opacity:.4!important}.checkmark{position:absolute;left:0;top:0;width:16px;height:16px;border-radius:2px;stroke-width:4;stroke:#fff;stroke-miterlimit:10;box-shadow:inset 0 0 #34aa44;animation:fill .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both}.checkmark__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#34aa44;fill:none;animation:stroke .6s cubic-bezier(.65,0,.45,1) forwards}.checkmark__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:stroke .3s cubic-bezier(.65,0,.45,1) .8s forwards}@keyframes stroke{to{stroke-dashoffset:0}}@keyframes scale{0%,to{transform:none}50%{transform:scale3d(1.1,1.1,1)}}@keyframes fill{to{box-shadow:inset 0 0 0 30px #34aa44}}\n"] }]
2277
+ }], ctorParameters: function () { return []; }, propDecorators: { disabled: [{
2278
+ type: Input
2279
+ }], ngValue: [{
2280
+ type: Input
2281
+ }], value: [{
2282
+ type: Input
2283
+ }], ngValueChange: [{
2284
+ type: Output
2285
+ }] } });
2286
+
2287
+ const CHECKBOX_VALUE_ACCESSOR = {
2288
+ provide: NG_VALUE_ACCESSOR,
2289
+ useExisting: forwardRef(() => CheckboxComponent),
2290
+ multi: true,
2291
+ };
2292
+ class CheckboxComponent {
2293
+ constructor() {
2294
+ this.onChanged = (value) => { };
2295
+ this.onTouched = () => { };
2296
+ }
2297
+ writeValue(value) {
2298
+ this.checked = value ?? false;
2299
+ }
2300
+ registerOnChange(fn) {
2301
+ this.onChanged = fn;
2302
+ }
2303
+ registerOnTouched(fn) {
2304
+ this.onTouched = fn;
2305
+ }
2306
+ setDisabledState(isDisabled) {
2307
+ this.disabled = isDisabled;
2308
+ }
2309
+ valueChanged() {
2310
+ this.checked = !this.checked;
2311
+ this.onChanged(this.checked);
2312
+ this.onTouched();
2313
+ }
2314
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2315
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CheckboxComponent, selector: "vui-checkbox", inputs: { disabled: "disabled", checked: "checked", indeterminateEnabled: "indeterminateEnabled" }, providers: [CHECKBOX_VALUE_ACCESSOR], ngImport: i0, template: "<label class=\"checkbox-item\" [class.disabled]=\"disabled\">\r\n <input type=\"checkbox\" [checked]=\"checked\" [disabled]=\"disabled\" (change)=\"valueChanged()\"/>\r\n <span class=\"checkbox\">\r\n <span class=\"inner\"></span>\r\n </span>\r\n <!-- svg for checkmark -->\r\n <ng-container *ngIf=\"!indeterminateEnabled\">\r\n <svg class=\"checkmark\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkmark__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkmark__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </ng-container>\r\n \r\n <ng-container *ngIf=\"indeterminateEnabled\">\r\n <svg class=\"checkmark\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkmark__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path fill=\"none\" d=\"M37.9,27H14v-2h23.9V27z\"/>\r\n </svg>\r\n </ng-container>\r\n \r\n <span class=\"value\"><ng-content></ng-content></span>\r\n </label>\r\n ", styles: ["label.checkbox-item{display:inline-flex;align-items:center;cursor:pointer;margin:0;width:100%;position:relative;padding:0 0 0 16px}label.checkbox-item span{display:inline-flex;align-items:center;justify-content:center}label.checkbox-item span.checkbox{height:16px;width:16px;border-radius:2px;border:1px solid #dbdbdb;position:absolute;top:0;left:0;padding:2px;margin-top:0}label.checkbox-item span.value{color:#4e4e4e;font-size:14px;line-height:16px;font-weight:400;margin-left:10px;max-width:calc(100% - 26px);-webkit-user-select:none;user-select:none}label.checkbox-item span.value:empty{display:none}label.checkbox-item svg{display:none;margin-top:0}label.checkbox-item input[type=checkbox]{display:none}label.checkbox-item input[type=checkbox]:checked~svg{display:block}label.checkbox-item input[type=checkbox]:checked+.checkbox{display:none}label.checkbox-item input[type=checkbox]:disabled~*{opacity:.7;pointer-events:none}.disabled{opacity:.4!important;pointer-events:none}.checkmark{width:16px;height:16px;border-radius:2px;position:absolute;top:0;left:0;stroke-width:4;stroke:#fff;stroke-miterlimit:10;box-shadow:inset 0 0 #34aa44;animation:fill .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both}.checkmark__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#34aa44;fill:none;animation:stroke .6s cubic-bezier(.65,0,.45,1) forwards}.checkmark__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:stroke .3s cubic-bezier(.65,0,.45,1) .8s forwards}@keyframes stroke{to{stroke-dashoffset:0}}@keyframes scale{0%,to{transform:none}50%{transform:scale3d(1.1,1.1,1)}}@keyframes fill{to{box-shadow:inset 0 0 0 30px #34aa44}}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
2316
+ }
2317
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CheckboxComponent, decorators: [{
2318
+ type: Component,
2319
+ args: [{ selector: 'vui-checkbox', providers: [CHECKBOX_VALUE_ACCESSOR], inputs: ['disabled', 'checked', 'indeterminateEnabled'], template: "<label class=\"checkbox-item\" [class.disabled]=\"disabled\">\r\n <input type=\"checkbox\" [checked]=\"checked\" [disabled]=\"disabled\" (change)=\"valueChanged()\"/>\r\n <span class=\"checkbox\">\r\n <span class=\"inner\"></span>\r\n </span>\r\n <!-- svg for checkmark -->\r\n <ng-container *ngIf=\"!indeterminateEnabled\">\r\n <svg class=\"checkmark\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkmark__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkmark__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </ng-container>\r\n \r\n <ng-container *ngIf=\"indeterminateEnabled\">\r\n <svg class=\"checkmark\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkmark__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path fill=\"none\" d=\"M37.9,27H14v-2h23.9V27z\"/>\r\n </svg>\r\n </ng-container>\r\n \r\n <span class=\"value\"><ng-content></ng-content></span>\r\n </label>\r\n ", styles: ["label.checkbox-item{display:inline-flex;align-items:center;cursor:pointer;margin:0;width:100%;position:relative;padding:0 0 0 16px}label.checkbox-item span{display:inline-flex;align-items:center;justify-content:center}label.checkbox-item span.checkbox{height:16px;width:16px;border-radius:2px;border:1px solid #dbdbdb;position:absolute;top:0;left:0;padding:2px;margin-top:0}label.checkbox-item span.value{color:#4e4e4e;font-size:14px;line-height:16px;font-weight:400;margin-left:10px;max-width:calc(100% - 26px);-webkit-user-select:none;user-select:none}label.checkbox-item span.value:empty{display:none}label.checkbox-item svg{display:none;margin-top:0}label.checkbox-item input[type=checkbox]{display:none}label.checkbox-item input[type=checkbox]:checked~svg{display:block}label.checkbox-item input[type=checkbox]:checked+.checkbox{display:none}label.checkbox-item input[type=checkbox]:disabled~*{opacity:.7;pointer-events:none}.disabled{opacity:.4!important;pointer-events:none}.checkmark{width:16px;height:16px;border-radius:2px;position:absolute;top:0;left:0;stroke-width:4;stroke:#fff;stroke-miterlimit:10;box-shadow:inset 0 0 #34aa44;animation:fill .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both}.checkmark__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#34aa44;fill:none;animation:stroke .6s cubic-bezier(.65,0,.45,1) forwards}.checkmark__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:stroke .3s cubic-bezier(.65,0,.45,1) .8s forwards}@keyframes stroke{to{stroke-dashoffset:0}}@keyframes scale{0%,to{transform:none}50%{transform:scale3d(1.1,1.1,1)}}@keyframes fill{to{box-shadow:inset 0 0 0 30px #34aa44}}\n"] }]
2320
+ }] });
2321
+
2322
+ class FormgroupModule {
2323
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormgroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2324
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: FormgroupModule, declarations: [CsCheckboxComponent,
2325
+ CsRadioComponent,
2326
+ CsSwitchComponent,
2327
+ CsRadioGroupComponent,
2328
+ CsSelectComponent,
2329
+ PascalPipe,
2330
+ SearchMultiSelectPipe,
2331
+ ClickOutsideDirective,
2332
+ CsCheckboxIndeterminateComponent,
2333
+ CheckboxComponent], imports: [CommonModule, FormsModule, TooltipModule], exports: [CsCheckboxComponent,
2334
+ CsRadioComponent,
2335
+ CsSwitchComponent,
2336
+ CsRadioGroupComponent,
2337
+ CsSelectComponent,
2338
+ SearchMultiSelectPipe,
2339
+ CsCheckboxIndeterminateComponent,
2340
+ CheckboxComponent] }); }
2341
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormgroupModule, imports: [CommonModule, FormsModule, TooltipModule] }); }
2342
+ }
2343
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormgroupModule, decorators: [{
2344
+ type: NgModule,
2345
+ args: [{
2346
+ declarations: [
2347
+ CsCheckboxComponent,
2348
+ CsRadioComponent,
2349
+ CsSwitchComponent,
2350
+ CsRadioGroupComponent,
2351
+ CsSelectComponent,
2352
+ PascalPipe,
2353
+ SearchMultiSelectPipe,
2354
+ ClickOutsideDirective,
2355
+ CsCheckboxIndeterminateComponent,
2356
+ CheckboxComponent
2357
+ ],
2358
+ imports: [CommonModule, FormsModule, TooltipModule],
2359
+ exports: [
2360
+ CsCheckboxComponent,
2361
+ CsRadioComponent,
2362
+ CsSwitchComponent,
2363
+ CsRadioGroupComponent,
2364
+ CsSelectComponent,
2365
+ SearchMultiSelectPipe,
2366
+ CsCheckboxIndeterminateComponent,
2367
+ CheckboxComponent
2368
+ ],
2369
+ }]
2370
+ }] });
2371
+
2372
+ class GlobalAlertModule {
2373
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GlobalAlertModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2374
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: GlobalAlertModule, declarations: [GlobalAlertComponent], imports: [CommonModule], exports: [GlobalAlertComponent] }); }
2375
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GlobalAlertModule, imports: [CommonModule] }); }
2376
+ }
2377
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GlobalAlertModule, decorators: [{
2378
+ type: NgModule,
2379
+ args: [{
2380
+ declarations: [GlobalAlertComponent],
2381
+ imports: [CommonModule],
2382
+ exports: [GlobalAlertComponent],
2383
+ }]
2384
+ }] });
2385
+
2386
+ class HeaderModule {
2387
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2388
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: HeaderModule, declarations: [HeaderContainerComponent,
2389
+ BusinessCycleComponent,
2390
+ SearchComponent,
2391
+ CreateWorkflowComponent,
2392
+ QueueComponent,
2393
+ UserDetailsComponent,
2394
+ SupportComponent], imports: [CommonModule,
2395
+ TooltipModule,
2396
+ AvatarModule,
2397
+ PopoverModule,
2398
+ FormgroupModule,
2399
+ GlobalAlertModule,
2400
+ PipesModule], exports: [HeaderContainerComponent] }); }
2401
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderModule, imports: [CommonModule,
2402
+ TooltipModule,
2403
+ AvatarModule,
2404
+ PopoverModule,
2405
+ FormgroupModule,
2406
+ GlobalAlertModule,
2407
+ PipesModule] }); }
2408
+ }
2409
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderModule, decorators: [{
2410
+ type: NgModule,
2411
+ args: [{
2412
+ declarations: [
2413
+ HeaderContainerComponent,
2414
+ BusinessCycleComponent,
2415
+ SearchComponent,
2416
+ CreateWorkflowComponent,
2417
+ QueueComponent,
2418
+ UserDetailsComponent,
2419
+ SupportComponent,
2420
+ ],
2421
+ imports: [
2422
+ CommonModule,
2423
+ TooltipModule,
2424
+ AvatarModule,
2425
+ PopoverModule,
2426
+ FormgroupModule,
2427
+ GlobalAlertModule,
2428
+ PipesModule,
2429
+ ],
2430
+ exports: [HeaderContainerComponent],
2431
+ }]
2432
+ }] });
2433
+
2434
+ class SubMenuModule {
2435
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SubMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2436
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SubMenuModule, declarations: [SubMenuContainerComponent], imports: [CommonModule, TooltipModule], exports: [SubMenuContainerComponent] }); }
2437
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SubMenuModule, imports: [CommonModule, TooltipModule] }); }
2438
+ }
2439
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SubMenuModule, decorators: [{
2440
+ type: NgModule,
2441
+ args: [{
2442
+ declarations: [SubMenuContainerComponent],
2443
+ imports: [CommonModule, TooltipModule],
2444
+ exports: [SubMenuContainerComponent],
2445
+ }]
2446
+ }] });
2447
+
2448
+ /*
2449
+ * Public API Surface of vc-layout
2450
+ */
2451
+
2452
+ /**
2453
+ * Generated bundle index. Do not edit.
2454
+ */
2455
+
2456
+ export { HeaderContainerComponent, HeaderModule, ProductListContainerComponent, ProductListModule, RbacService, SubMenuContainerComponent, SubMenuModule, VcLayoutComponent, VcLayoutModule, VcLayoutService };
2457
+ //# sourceMappingURL=vc-layout.mjs.map