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,125 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import * as dayjs from 'dayjs';
4
+ import * as customParseFormat from 'dayjs/plugin/customParseFormat';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@vcomply/authorizer";
7
+ dayjs.extend(customParseFormat);
8
+ export class BusinessCycleService {
9
+ constructor(authorizer) {
10
+ this.authorizer = authorizer;
11
+ this.businessCycleList$ = new BehaviorSubject({});
12
+ this.orgDetails$ = new BehaviorSubject({});
13
+ this.selectedBusinessCycle$ = new BehaviorSubject({});
14
+ this.changeBusinessCycle$ = new BehaviorSubject(false);
15
+ this.isBusinessCycleAvailable();
16
+ }
17
+ /**
18
+ * #### Description
19
+ * it will check the business cycle stored in local is same business cycle as the user login
20
+ * Determines whether correct business cycle is
21
+ * @returns true if correct business cycle
22
+ */
23
+ isCorrectBusinessCycle(cycle) {
24
+ const localStorageData = localStorage.getItem('businessCycle') ?? '';
25
+ if (!localStorageData) {
26
+ return false;
27
+ }
28
+ if (JSON.parse(localStorageData).userId === this.authorizer.getUserId()) {
29
+ for (let i = 0; i < cycle.length; i++) {
30
+ if (cycle[i].start_date ==
31
+ JSON.parse(localStorageData)?.selectedCycle?.start_date) {
32
+ return true;
33
+ }
34
+ }
35
+ return false;
36
+ }
37
+ else {
38
+ return false;
39
+ }
40
+ }
41
+ /**
42
+ * #### Description
43
+ * set business cycle in local storage if local storage don't have business cycle.
44
+ * Sets business cycle
45
+ * @param businessCycleList list of all the cycle of the organization
46
+ */
47
+ setBusinessCycle(businessCycleList) {
48
+ let cycle = {};
49
+ businessCycleList?.forEach((el) => {
50
+ if (el.selected) {
51
+ cycle = el;
52
+ }
53
+ });
54
+ cycle['selected_cycle_arr'] = this.setSelectedCycleArray(cycle);
55
+ let businessCycleObject = {
56
+ userId: this.authorizer.getUserId(),
57
+ selectedCycle: {
58
+ start_date: cycle?.start_date,
59
+ end_date: cycle.end_date,
60
+ selected: true,
61
+ business_cycle: cycle?.business_cycle,
62
+ selected_cycle: cycle?.start_date + '-' + cycle?.end_date,
63
+ selected_cycle_arr: cycle?.selected_cycle_arr,
64
+ },
65
+ };
66
+ localStorage.setItem('businessCycle', JSON.stringify(businessCycleObject));
67
+ this.isBusinessCycleAvailable();
68
+ }
69
+ setSelectedCycleArray(cycle) {
70
+ let cycleArray = cycle.start_date + '-' + cycle.end_date;
71
+ return [cycleArray];
72
+ }
73
+ /**
74
+ * #### Description
75
+ * if business cycle is found in local the it will set in this selectedBusinessCycle$ variable.
76
+ * it is subject variable so we can use it in different component
77
+ */
78
+ isBusinessCycleAvailable() {
79
+ const localStorageData = localStorage.getItem('businessCycle') ?? '';
80
+ const businessCycleYear = JSON.parse(localStorageData)?.selectedCycle;
81
+ if (businessCycleYear?.selected_cycle_arr?.length === 1) {
82
+ this.selectedBusinessCycle$.next(businessCycleYear);
83
+ }
84
+ else if (businessCycleYear &&
85
+ businessCycleYear?.selected_cycle_arr?.length > 1) {
86
+ businessCycleYear['business_cycle'] = [];
87
+ businessCycleYear?.selected_cycle_arr.forEach((date) => {
88
+ businessCycleYear['business_cycle'].push(this.convertNumericAlpha(date));
89
+ });
90
+ this.selectedBusinessCycle$.next(businessCycleYear);
91
+ }
92
+ }
93
+ /**
94
+ * #### Description
95
+ *
96
+ * it will convert date from dd-mm-yyyy to dd mmm yyyy formate
97
+ * Converts date
98
+ * @param date
99
+ * @returns date in this formate DD MMM YYYY
100
+ */
101
+ convertDate(date) {
102
+ return dayjs(date, 'DD-MM-YYYY').format('DD MMM YYYY');
103
+ }
104
+ /**
105
+ * #### Description
106
+ *
107
+ * Converts numeric alpha
108
+ * @param str = "01-05-2021-30-04-2022"
109
+ * @returns = "01 May 2021 - 30 Apr 2022"
110
+ */
111
+ convertNumericAlpha(str) {
112
+ return (this.convertDate(str.substring(0, 10)) +
113
+ ' - ' +
114
+ this.convertDate(str.substring(str.length - 10, str.lenth)));
115
+ }
116
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BusinessCycleService, deps: [{ token: i1.AuthorizerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
117
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BusinessCycleService, providedIn: 'root' }); }
118
+ }
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BusinessCycleService, decorators: [{
120
+ type: Injectable,
121
+ args: [{
122
+ providedIn: 'root',
123
+ }]
124
+ }], ctorParameters: function () { return [{ type: i1.AuthorizerService }]; } });
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzaW5lc3MtY3ljbGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWxheW91dC9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy9idXNpbmVzcy1jeWNsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDL0IsT0FBTyxLQUFLLGlCQUFpQixNQUFNLGdDQUFnQyxDQUFDOzs7QUFDcEUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBS2hDLE1BQU0sT0FBTyxvQkFBb0I7SUFNL0IsWUFBb0IsVUFBNkI7UUFBN0IsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFMMUMsdUJBQWtCLEdBQUcsSUFBSSxlQUFlLENBQU0sRUFBRSxDQUFDLENBQUM7UUFDbEQsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBTSxFQUFFLENBQUMsQ0FBQztRQUMzQywyQkFBc0IsR0FBRyxJQUFJLGVBQWUsQ0FBTSxFQUFFLENBQUMsQ0FBQztRQUN0RCx5QkFBb0IsR0FDekIsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFcEMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsc0JBQXNCLENBQUMsS0FBVTtRQUMvQixNQUFNLGdCQUFnQixHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUNyQixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDdkUsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3JDLElBQ0UsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVU7b0JBQ25CLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUN2RDtvQkFDQSxPQUFPLElBQUksQ0FBQztpQkFDYjthQUNGO1lBQ0QsT0FBTyxLQUFLLENBQUM7U0FDZDthQUFNO1lBQ0wsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGdCQUFnQixDQUFDLGlCQUFzQjtRQUNyQyxJQUFJLEtBQUssR0FBUSxFQUFFLENBQUM7UUFDcEIsaUJBQWlCLEVBQUUsT0FBTyxDQUFDLENBQUMsRUFBTyxFQUFFLEVBQUU7WUFDckMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO2dCQUNmLEtBQUssR0FBRyxFQUFFLENBQUM7YUFDWjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsS0FBSyxDQUFDLG9CQUFvQixDQUFDLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hFLElBQUksbUJBQW1CLEdBQUc7WUFDeEIsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFO1lBQ25DLGFBQWEsRUFBRTtnQkFDYixVQUFVLEVBQUUsS0FBSyxFQUFFLFVBQVU7Z0JBQzdCLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtnQkFDeEIsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsY0FBYyxFQUFFLEtBQUssRUFBRSxjQUFjO2dCQUNyQyxjQUFjLEVBQUUsS0FBSyxFQUFFLFVBQVUsR0FBRyxHQUFHLEdBQUcsS0FBSyxFQUFFLFFBQVE7Z0JBQ3pELGtCQUFrQixFQUFFLEtBQUssRUFBRSxrQkFBa0I7YUFDOUM7U0FDRixDQUFDO1FBQ0YsWUFBWSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELHFCQUFxQixDQUFDLEtBQVU7UUFDOUIsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsR0FBRyxHQUFHLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUN6RCxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCx3QkFBd0I7UUFDdEIsTUFBTSxnQkFBZ0IsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyRSxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxhQUFhLENBQUM7UUFDdEUsSUFBSSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3ZELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztTQUNyRDthQUFNLElBQ0wsaUJBQWlCO1lBQ2pCLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQ2pEO1lBQ0EsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDekMsaUJBQWlCLEVBQUUsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7Z0JBQzFELGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLENBQUMsSUFBSSxDQUN0QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQy9CLENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztTQUNyRDtJQUNILENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsV0FBVyxDQUFDLElBQVk7UUFDdEIsT0FBTyxLQUFLLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsbUJBQW1CLENBQUMsR0FBUTtRQUMxQixPQUFPLENBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN0QyxLQUFLO1lBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsRUFBRSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUM1RCxDQUFDO0lBQ0osQ0FBQzsrR0F2SFUsb0JBQW9CO21IQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7NEZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEF1dGhvcml6ZXJTZXJ2aWNlIH0gZnJvbSAnQHZjb21wbHkvYXV0aG9yaXplcic7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgKiBhcyBkYXlqcyBmcm9tICdkYXlqcyc7XHJcbmltcG9ydCAqIGFzIGN1c3RvbVBhcnNlRm9ybWF0IGZyb20gJ2RheWpzL3BsdWdpbi9jdXN0b21QYXJzZUZvcm1hdCc7XHJcbmRheWpzLmV4dGVuZChjdXN0b21QYXJzZUZvcm1hdCk7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQnVzaW5lc3NDeWNsZVNlcnZpY2Uge1xyXG4gIHB1YmxpYyBidXNpbmVzc0N5Y2xlTGlzdCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4oe30pO1xyXG4gIHB1YmxpYyBvcmdEZXRhaWxzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55Pih7fSk7XHJcbiAgcHVibGljIHNlbGVjdGVkQnVzaW5lc3NDeWNsZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4oe30pO1xyXG4gIHB1YmxpYyBjaGFuZ2VCdXNpbmVzc0N5Y2xlJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID1cclxuICAgIG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXV0aG9yaXplcjogQXV0aG9yaXplclNlcnZpY2UpIHtcclxuICAgIHRoaXMuaXNCdXNpbmVzc0N5Y2xlQXZhaWxhYmxlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiAjIyMjIERlc2NyaXB0aW9uXHJcbiAgICogaXQgd2lsbCBjaGVjayB0aGUgYnVzaW5lc3MgY3ljbGUgc3RvcmVkIGluIGxvY2FsIGlzIHNhbWUgYnVzaW5lc3MgY3ljbGUgYXMgdGhlIHVzZXIgbG9naW5cclxuICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgY29ycmVjdCBidXNpbmVzcyBjeWNsZSBpc1xyXG4gICAqIEByZXR1cm5zIHRydWUgaWYgY29ycmVjdCBidXNpbmVzcyBjeWNsZVxyXG4gICAqL1xyXG4gIGlzQ29ycmVjdEJ1c2luZXNzQ3ljbGUoY3ljbGU6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgbG9jYWxTdG9yYWdlRGF0YSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdidXNpbmVzc0N5Y2xlJykgPz8gJyc7XHJcbiAgICBpZiAoIWxvY2FsU3RvcmFnZURhdGEpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgaWYgKEpTT04ucGFyc2UobG9jYWxTdG9yYWdlRGF0YSkudXNlcklkID09PSB0aGlzLmF1dGhvcml6ZXIuZ2V0VXNlcklkKCkpIHtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjeWNsZS5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIGN5Y2xlW2ldLnN0YXJ0X2RhdGUgPT1cclxuICAgICAgICAgIEpTT04ucGFyc2UobG9jYWxTdG9yYWdlRGF0YSk/LnNlbGVjdGVkQ3ljbGU/LnN0YXJ0X2RhdGVcclxuICAgICAgICApIHtcclxuICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiAjIyMjIERlc2NyaXB0aW9uXHJcbiAgICogc2V0IGJ1c2luZXNzIGN5Y2xlIGluIGxvY2FsIHN0b3JhZ2UgaWYgbG9jYWwgc3RvcmFnZSBkb24ndCBoYXZlIGJ1c2luZXNzIGN5Y2xlLlxyXG4gICAqIFNldHMgYnVzaW5lc3MgY3ljbGVcclxuICAgKiBAcGFyYW0gYnVzaW5lc3NDeWNsZUxpc3QgIGxpc3Qgb2YgYWxsIHRoZSBjeWNsZSBvZiB0aGUgb3JnYW5pemF0aW9uXHJcbiAgICovXHJcbiAgc2V0QnVzaW5lc3NDeWNsZShidXNpbmVzc0N5Y2xlTGlzdDogYW55KSB7XHJcbiAgICBsZXQgY3ljbGU6IGFueSA9IHt9O1xyXG4gICAgYnVzaW5lc3NDeWNsZUxpc3Q/LmZvckVhY2goKGVsOiBhbnkpID0+IHtcclxuICAgICAgaWYgKGVsLnNlbGVjdGVkKSB7XHJcbiAgICAgICAgY3ljbGUgPSBlbDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBjeWNsZVsnc2VsZWN0ZWRfY3ljbGVfYXJyJ10gPSB0aGlzLnNldFNlbGVjdGVkQ3ljbGVBcnJheShjeWNsZSk7XHJcbiAgICBsZXQgYnVzaW5lc3NDeWNsZU9iamVjdCA9IHtcclxuICAgICAgdXNlcklkOiB0aGlzLmF1dGhvcml6ZXIuZ2V0VXNlcklkKCksXHJcbiAgICAgIHNlbGVjdGVkQ3ljbGU6IHtcclxuICAgICAgICBzdGFydF9kYXRlOiBjeWNsZT8uc3RhcnRfZGF0ZSxcclxuICAgICAgICBlbmRfZGF0ZTogY3ljbGUuZW5kX2RhdGUsXHJcbiAgICAgICAgc2VsZWN0ZWQ6IHRydWUsXHJcbiAgICAgICAgYnVzaW5lc3NfY3ljbGU6IGN5Y2xlPy5idXNpbmVzc19jeWNsZSxcclxuICAgICAgICBzZWxlY3RlZF9jeWNsZTogY3ljbGU/LnN0YXJ0X2RhdGUgKyAnLScgKyBjeWNsZT8uZW5kX2RhdGUsXHJcbiAgICAgICAgc2VsZWN0ZWRfY3ljbGVfYXJyOiBjeWNsZT8uc2VsZWN0ZWRfY3ljbGVfYXJyLFxyXG4gICAgICB9LFxyXG4gICAgfTtcclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdidXNpbmVzc0N5Y2xlJywgSlNPTi5zdHJpbmdpZnkoYnVzaW5lc3NDeWNsZU9iamVjdCkpO1xyXG4gICAgdGhpcy5pc0J1c2luZXNzQ3ljbGVBdmFpbGFibGUoKTtcclxuICB9XHJcblxyXG4gIHNldFNlbGVjdGVkQ3ljbGVBcnJheShjeWNsZTogYW55KSB7XHJcbiAgICBsZXQgY3ljbGVBcnJheSA9IGN5Y2xlLnN0YXJ0X2RhdGUgKyAnLScgKyBjeWNsZS5lbmRfZGF0ZTtcclxuICAgIHJldHVybiBbY3ljbGVBcnJheV07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiAjIyMjIERlc2NyaXB0aW9uXHJcbiAgICogaWYgYnVzaW5lc3MgY3ljbGUgaXMgZm91bmQgaW4gbG9jYWwgdGhlIGl0IHdpbGwgc2V0IGluIHRoaXMgc2VsZWN0ZWRCdXNpbmVzc0N5Y2xlJCB2YXJpYWJsZS5cclxuICAgKiBpdCBpcyBzdWJqZWN0IHZhcmlhYmxlIHNvIHdlIGNhbiB1c2UgaXQgaW4gZGlmZmVyZW50IGNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGlzQnVzaW5lc3NDeWNsZUF2YWlsYWJsZSgpIHtcclxuICAgIGNvbnN0IGxvY2FsU3RvcmFnZURhdGEgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnYnVzaW5lc3NDeWNsZScpID8/ICcnO1xyXG4gICAgY29uc3QgYnVzaW5lc3NDeWNsZVllYXIgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZURhdGEpPy5zZWxlY3RlZEN5Y2xlO1xyXG4gICAgaWYgKGJ1c2luZXNzQ3ljbGVZZWFyPy5zZWxlY3RlZF9jeWNsZV9hcnI/Lmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkQnVzaW5lc3NDeWNsZSQubmV4dChidXNpbmVzc0N5Y2xlWWVhcik7XHJcbiAgICB9IGVsc2UgaWYgKFxyXG4gICAgICBidXNpbmVzc0N5Y2xlWWVhciAmJlxyXG4gICAgICBidXNpbmVzc0N5Y2xlWWVhcj8uc2VsZWN0ZWRfY3ljbGVfYXJyPy5sZW5ndGggPiAxXHJcbiAgICApIHtcclxuICAgICAgYnVzaW5lc3NDeWNsZVllYXJbJ2J1c2luZXNzX2N5Y2xlJ10gPSBbXTtcclxuICAgICAgYnVzaW5lc3NDeWNsZVllYXI/LnNlbGVjdGVkX2N5Y2xlX2Fyci5mb3JFYWNoKChkYXRlOiBhbnkpID0+IHtcclxuICAgICAgICBidXNpbmVzc0N5Y2xlWWVhclsnYnVzaW5lc3NfY3ljbGUnXS5wdXNoKFxyXG4gICAgICAgICAgdGhpcy5jb252ZXJ0TnVtZXJpY0FscGhhKGRhdGUpXHJcbiAgICAgICAgKTtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRCdXNpbmVzc0N5Y2xlJC5uZXh0KGJ1c2luZXNzQ3ljbGVZZWFyKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqICMjIyMgRGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIGl0IHdpbGwgY29udmVydCBkYXRlIGZyb20gZGQtbW0teXl5eSB0byBkZCBtbW0geXl5eSBmb3JtYXRlXHJcbiAgICogQ29udmVydHMgZGF0ZVxyXG4gICAqIEBwYXJhbSBkYXRlXHJcbiAgICogQHJldHVybnMgIGRhdGUgaW4gdGhpcyBmb3JtYXRlIEREIE1NTSBZWVlZXHJcbiAgICovXHJcbiAgY29udmVydERhdGUoZGF0ZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gZGF5anMoZGF0ZSwgJ0RELU1NLVlZWVknKS5mb3JtYXQoJ0REIE1NTSBZWVlZJyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiAjIyMjIERlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiBDb252ZXJ0cyBudW1lcmljIGFscGhhXHJcbiAgICogQHBhcmFtIHN0ciA9IFwiMDEtMDUtMjAyMS0zMC0wNC0yMDIyXCJcclxuICAgKiBAcmV0dXJucyAgPSAgXCIwMSBNYXkgMjAyMSAtIDMwIEFwciAyMDIyXCJcclxuICAgKi9cclxuICBjb252ZXJ0TnVtZXJpY0FscGhhKHN0cjogYW55KSB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLmNvbnZlcnREYXRlKHN0ci5zdWJzdHJpbmcoMCwgMTApKSArXHJcbiAgICAgICcgLSAnICtcclxuICAgICAgdGhpcy5jb252ZXJ0RGF0ZShzdHIuc3Vic3RyaW5nKHN0ci5sZW5ndGggLSAxMCwgc3RyLmxlbnRoKSlcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,40 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class LayoutService {
4
+ constructor() {
5
+ this.baseUrl = '';
6
+ this.setBaseUrl();
7
+ }
8
+ setBaseUrl() {
9
+ this.baseUrl = window.location.origin;
10
+ }
11
+ ConvertUtcToLocalDateTime(timestamp, TimeZone) {
12
+ if (typeof timestamp !== 'number' || timestamp <= 0) {
13
+ return 0;
14
+ }
15
+ if (!TimeZone) {
16
+ return 0;
17
+ }
18
+ const date = new Date(timestamp * 1000);
19
+ const options = {
20
+ timeZone: TimeZone,
21
+ weekday: 'long',
22
+ year: 'numeric',
23
+ month: 'short',
24
+ day: '2-digit',
25
+ hour: 'numeric',
26
+ minute: 'numeric',
27
+ };
28
+ const formattedDate = new Intl.DateTimeFormat('en', options).format(date);
29
+ return formattedDate;
30
+ }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LayoutService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
32
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LayoutService, providedIn: 'root' }); }
33
+ }
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LayoutService, decorators: [{
35
+ type: Injectable,
36
+ args: [{
37
+ providedIn: 'root',
38
+ }]
39
+ }], ctorParameters: function () { return []; } });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1sYXlvdXQvc3JjL2xpYi9zaGFyZWQvc2VydmljZXMvbGF5b3V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLGFBQWE7SUFFeEI7UUFETyxZQUFPLEdBQVcsRUFBRSxDQUFDO1FBRTFCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBQ08sVUFBVTtRQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO0lBQ3hDLENBQUM7SUFFTSx5QkFBeUIsQ0FBQyxTQUFpQixFQUFFLFFBQWdCO1FBQ2xFLElBQUksT0FBTyxTQUFTLEtBQUssUUFBUSxJQUFJLFNBQVMsSUFBSSxDQUFDLEVBQUU7WUFDbkQsT0FBTyxDQUFDLENBQUM7U0FDVjtRQUVELElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDYixPQUFPLENBQUMsQ0FBQztTQUNWO1FBRUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sT0FBTyxHQUErQjtZQUMxQyxRQUFRLEVBQUUsUUFBUTtZQUNsQixPQUFPLEVBQUUsTUFBTTtZQUNmLElBQUksRUFBRSxTQUFTO1lBQ2YsS0FBSyxFQUFFLE9BQU87WUFDZCxHQUFHLEVBQUUsU0FBUztZQUNkLElBQUksRUFBRSxTQUFTO1lBQ2YsTUFBTSxFQUFFLFNBQVM7U0FDbEIsQ0FBQztRQUVGLE1BQU0sYUFBYSxHQUFHLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFFLE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUM7K0dBL0JVLGFBQWE7bUhBQWIsYUFBYSxjQUZaLE1BQU07OzRGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIExheW91dFNlcnZpY2Uge1xyXG4gIHB1YmxpYyBiYXNlVXJsOiBzdHJpbmcgPSAnJztcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMuc2V0QmFzZVVybCgpO1xyXG4gIH1cclxuICBwcml2YXRlIHNldEJhc2VVcmwoKSB7XHJcbiAgICB0aGlzLmJhc2VVcmwgPSB3aW5kb3cubG9jYXRpb24ub3JpZ2luO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIENvbnZlcnRVdGNUb0xvY2FsRGF0ZVRpbWUodGltZXN0YW1wOiBudW1iZXIsIFRpbWVab25lOiBzdHJpbmcpIHtcclxuICAgIGlmICh0eXBlb2YgdGltZXN0YW1wICE9PSAnbnVtYmVyJyB8fCB0aW1lc3RhbXAgPD0gMCkge1xyXG4gICAgICByZXR1cm4gMDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIVRpbWVab25lKSB7XHJcbiAgICAgIHJldHVybiAwO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh0aW1lc3RhbXAgKiAxMDAwKTtcclxuICAgIGNvbnN0IG9wdGlvbnM6IEludGwuRGF0ZVRpbWVGb3JtYXRPcHRpb25zID0ge1xyXG4gICAgICB0aW1lWm9uZTogVGltZVpvbmUsXHJcbiAgICAgIHdlZWtkYXk6ICdsb25nJyxcclxuICAgICAgeWVhcjogJ251bWVyaWMnLFxyXG4gICAgICBtb250aDogJ3Nob3J0JyxcclxuICAgICAgZGF5OiAnMi1kaWdpdCcsXHJcbiAgICAgIGhvdXI6ICdudW1lcmljJyxcclxuICAgICAgbWludXRlOiAnbnVtZXJpYycsXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IGZvcm1hdHRlZERhdGUgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgnZW4nLCBvcHRpb25zKS5mb3JtYXQoZGF0ZSk7XHJcbiAgICByZXR1cm4gZm9ybWF0dGVkRGF0ZTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,82 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { IN_APP_URL } from '../../constants/app-url.constant';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./rbac.service";
5
+ export class ProductListService {
6
+ constructor(rbacService) {
7
+ this.rbacService = rbacService;
8
+ }
9
+ /**
10
+ * Filters the subscribed products based on the subscription flags.
11
+ *
12
+ * @param productList - The list of products.
13
+ * @param subscriptionList - The subscription flags.
14
+ * @returns The filtered list of subscribed products.
15
+ */
16
+ subscribedProduct(productList, subscriptionList) {
17
+ const flags = {
18
+ RISK: subscriptionList.risk_flag,
19
+ ASSURANCE: subscriptionList.assurance_flag,
20
+ ISSUE: subscriptionList.issue_flag,
21
+ AUDIT: subscriptionList.audit_flag,
22
+ POLICY: subscriptionList.policy_flag,
23
+ ASSESSMENT: subscriptionList.assessment_flag,
24
+ };
25
+ const code = Object.keys(flags).filter((key) => flags[key] === 0);
26
+ return productList.filter((product) => !code.includes(product.code));
27
+ }
28
+ /**
29
+ * Sets the product click callback based on the product details and feature flag.
30
+ *
31
+ * @param productDetails - The details of the product.
32
+ * @param featureFlag - The feature flag.
33
+ * @returns The URL for the product click callback.
34
+ */
35
+ setProductClickCallback(productDetails, featureFlag) {
36
+ let url = '';
37
+ switch (productDetails.code) {
38
+ case 'COMPLIANCE_OPS':
39
+ return this.setComplianceURL(featureFlag);
40
+ case 'ORGANIZATION':
41
+ case 'DASHBOARD':
42
+ case 'ASSESSMENTS':
43
+ case 'RISK_OPS':
44
+ case 'ASSURANCE':
45
+ case 'AUDIT_OPS':
46
+ case 'ISSUE_OPS':
47
+ case 'POLICY_OPS':
48
+ return IN_APP_URL[productDetails.code];
49
+ default:
50
+ return 'javascript:void(0);';
51
+ }
52
+ }
53
+ /**
54
+ * Sets the compliance URL based on the feature flag and RBAC permissions.
55
+ *
56
+ * @param featureFlag - The feature flag.
57
+ * @returns The URL for the compliance page.
58
+ */
59
+ setComplianceURL(featureFlag) {
60
+ const permissions = this.rbacService.getRBACPermissions('compliance');
61
+ const isManageResDefault = featureFlag?.isFeatureEnabled('ff_compliance_redirection');
62
+ if (isManageResDefault) {
63
+ return permissions.includes('CRMR')
64
+ ? IN_APP_URL.MANAGE_RESPONSIBILITY
65
+ : IN_APP_URL.MY_RESPONSIBILITY;
66
+ }
67
+ else {
68
+ return permissions.includes('CPMP')
69
+ ? IN_APP_URL.PROGRAM
70
+ : IN_APP_URL.MY_RESPONSIBILITY;
71
+ }
72
+ }
73
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ProductListService, deps: [{ token: i1.RbacService }], target: i0.ɵɵFactoryTarget.Injectable }); }
74
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ProductListService, providedIn: 'root' }); }
75
+ }
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ProductListService, decorators: [{
77
+ type: Injectable,
78
+ args: [{
79
+ providedIn: 'root',
80
+ }]
81
+ }], ctorParameters: function () { return [{ type: i1.RbacService }]; } });
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1saXN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1sYXlvdXQvc3JjL2xpYi9zaGFyZWQvc2VydmljZXMvcHJvZHVjdC1saXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7OztBQU05RCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQW9CLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBQUcsQ0FBQztJQUVoRDs7Ozs7O09BTUc7SUFDSSxpQkFBaUIsQ0FBQyxXQUFpQixFQUFFLGdCQUFzQjtRQUNoRSxNQUFNLEtBQUssR0FBMkI7WUFDcEMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLFNBQVM7WUFDaEMsU0FBUyxFQUFFLGdCQUFnQixDQUFDLGNBQWM7WUFDMUMsS0FBSyxFQUFFLGdCQUFnQixDQUFDLFVBQVU7WUFDbEMsS0FBSyxFQUFFLGdCQUFnQixDQUFDLFVBQVU7WUFDbEMsTUFBTSxFQUFFLGdCQUFnQixDQUFDLFdBQVc7WUFDcEMsVUFBVSxFQUFFLGdCQUFnQixDQUFDLGVBQWU7U0FDN0MsQ0FBQztRQUNGLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFbEUsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHVCQUF1QixDQUFDLGNBQW1CLEVBQUUsV0FBZ0I7UUFDbEUsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ2IsUUFBUSxjQUFjLENBQUMsSUFBSSxFQUFFO1lBQzNCLEtBQUssZ0JBQWdCO2dCQUNuQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUM1QyxLQUFLLGNBQWMsQ0FBQztZQUNwQixLQUFLLFdBQVcsQ0FBQztZQUNqQixLQUFLLGFBQWEsQ0FBQztZQUNuQixLQUFLLFVBQVUsQ0FBQztZQUNoQixLQUFLLFdBQVcsQ0FBQztZQUNqQixLQUFLLFdBQVcsQ0FBQztZQUNqQixLQUFLLFdBQVcsQ0FBQztZQUNqQixLQUFLLFlBQVk7Z0JBQ2YsT0FBTyxVQUFVLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3pDO2dCQUNFLE9BQU8scUJBQXFCLENBQUM7U0FDaEM7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxnQkFBZ0IsQ0FBQyxXQUFnQjtRQUN2QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sa0JBQWtCLEdBQUcsV0FBVyxFQUFFLGdCQUFnQixDQUN0RCwyQkFBMkIsQ0FDNUIsQ0FBQztRQUVGLElBQUksa0JBQWtCLEVBQUU7WUFDdEIsT0FBTyxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztnQkFDakMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxxQkFBcUI7Z0JBQ2xDLENBQUMsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUM7U0FDbEM7YUFBTTtZQUNMLE9BQU8sV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7Z0JBQ2pDLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTztnQkFDcEIsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQztTQUNsQztJQUNILENBQUM7K0dBdkVVLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07OzRGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElOX0FQUF9VUkwgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvYXBwLXVybC5jb25zdGFudCc7XHJcbmltcG9ydCB7IFJiYWNTZXJ2aWNlIH0gZnJvbSAnLi9yYmFjLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFByb2R1Y3RMaXN0U2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByYmFjU2VydmljZTogUmJhY1NlcnZpY2UpIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZpbHRlcnMgdGhlIHN1YnNjcmliZWQgcHJvZHVjdHMgYmFzZWQgb24gdGhlIHN1YnNjcmlwdGlvbiBmbGFncy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBwcm9kdWN0TGlzdCAtIFRoZSBsaXN0IG9mIHByb2R1Y3RzLlxyXG4gICAqIEBwYXJhbSBzdWJzY3JpcHRpb25MaXN0IC0gVGhlIHN1YnNjcmlwdGlvbiBmbGFncy5cclxuICAgKiBAcmV0dXJucyBUaGUgZmlsdGVyZWQgbGlzdCBvZiBzdWJzY3JpYmVkIHByb2R1Y3RzLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBzdWJzY3JpYmVkUHJvZHVjdChwcm9kdWN0TGlzdD86IGFueSwgc3Vic2NyaXB0aW9uTGlzdD86IGFueSkge1xyXG4gICAgY29uc3QgZmxhZ3M6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7XHJcbiAgICAgIFJJU0s6IHN1YnNjcmlwdGlvbkxpc3Qucmlza19mbGFnLFxyXG4gICAgICBBU1NVUkFOQ0U6IHN1YnNjcmlwdGlvbkxpc3QuYXNzdXJhbmNlX2ZsYWcsXHJcbiAgICAgIElTU1VFOiBzdWJzY3JpcHRpb25MaXN0Lmlzc3VlX2ZsYWcsXHJcbiAgICAgIEFVRElUOiBzdWJzY3JpcHRpb25MaXN0LmF1ZGl0X2ZsYWcsXHJcbiAgICAgIFBPTElDWTogc3Vic2NyaXB0aW9uTGlzdC5wb2xpY3lfZmxhZyxcclxuICAgICAgQVNTRVNTTUVOVDogc3Vic2NyaXB0aW9uTGlzdC5hc3Nlc3NtZW50X2ZsYWcsXHJcbiAgICB9O1xyXG4gICAgY29uc3QgY29kZSA9IE9iamVjdC5rZXlzKGZsYWdzKS5maWx0ZXIoKGtleSkgPT4gZmxhZ3Nba2V5XSA9PT0gMCk7XHJcblxyXG4gICAgcmV0dXJuIHByb2R1Y3RMaXN0LmZpbHRlcigocHJvZHVjdDogYW55KSA9PiAhY29kZS5pbmNsdWRlcyhwcm9kdWN0LmNvZGUpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHMgdGhlIHByb2R1Y3QgY2xpY2sgY2FsbGJhY2sgYmFzZWQgb24gdGhlIHByb2R1Y3QgZGV0YWlscyBhbmQgZmVhdHVyZSBmbGFnLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHByb2R1Y3REZXRhaWxzIC0gVGhlIGRldGFpbHMgb2YgdGhlIHByb2R1Y3QuXHJcbiAgICogQHBhcmFtIGZlYXR1cmVGbGFnIC0gVGhlIGZlYXR1cmUgZmxhZy5cclxuICAgKiBAcmV0dXJucyBUaGUgVVJMIGZvciB0aGUgcHJvZHVjdCBjbGljayBjYWxsYmFjay5cclxuICAgKi9cclxuICBwdWJsaWMgc2V0UHJvZHVjdENsaWNrQ2FsbGJhY2socHJvZHVjdERldGFpbHM6IGFueSwgZmVhdHVyZUZsYWc6IGFueSkge1xyXG4gICAgbGV0IHVybCA9ICcnO1xyXG4gICAgc3dpdGNoIChwcm9kdWN0RGV0YWlscy5jb2RlKSB7XHJcbiAgICAgIGNhc2UgJ0NPTVBMSUFOQ0VfT1BTJzpcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXRDb21wbGlhbmNlVVJMKGZlYXR1cmVGbGFnKTtcclxuICAgICAgY2FzZSAnT1JHQU5JWkFUSU9OJzpcclxuICAgICAgY2FzZSAnREFTSEJPQVJEJzpcclxuICAgICAgY2FzZSAnQVNTRVNTTUVOVFMnOlxyXG4gICAgICBjYXNlICdSSVNLX09QUyc6XHJcbiAgICAgIGNhc2UgJ0FTU1VSQU5DRSc6XHJcbiAgICAgIGNhc2UgJ0FVRElUX09QUyc6XHJcbiAgICAgIGNhc2UgJ0lTU1VFX09QUyc6XHJcbiAgICAgIGNhc2UgJ1BPTElDWV9PUFMnOlxyXG4gICAgICAgIHJldHVybiBJTl9BUFBfVVJMW3Byb2R1Y3REZXRhaWxzLmNvZGVdO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiAnamF2YXNjcmlwdDp2b2lkKDApOyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBjb21wbGlhbmNlIFVSTCBiYXNlZCBvbiB0aGUgZmVhdHVyZSBmbGFnIGFuZCBSQkFDIHBlcm1pc3Npb25zLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGZlYXR1cmVGbGFnIC0gVGhlIGZlYXR1cmUgZmxhZy5cclxuICAgKiBAcmV0dXJucyBUaGUgVVJMIGZvciB0aGUgY29tcGxpYW5jZSBwYWdlLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgc2V0Q29tcGxpYW5jZVVSTChmZWF0dXJlRmxhZzogYW55KSB7XHJcbiAgICBjb25zdCBwZXJtaXNzaW9ucyA9IHRoaXMucmJhY1NlcnZpY2UuZ2V0UkJBQ1Blcm1pc3Npb25zKCdjb21wbGlhbmNlJyk7XHJcbiAgICBjb25zdCBpc01hbmFnZVJlc0RlZmF1bHQgPSBmZWF0dXJlRmxhZz8uaXNGZWF0dXJlRW5hYmxlZChcclxuICAgICAgJ2ZmX2NvbXBsaWFuY2VfcmVkaXJlY3Rpb24nXHJcbiAgICApO1xyXG5cclxuICAgIGlmIChpc01hbmFnZVJlc0RlZmF1bHQpIHtcclxuICAgICAgcmV0dXJuIHBlcm1pc3Npb25zLmluY2x1ZGVzKCdDUk1SJylcclxuICAgICAgICA/IElOX0FQUF9VUkwuTUFOQUdFX1JFU1BPTlNJQklMSVRZXHJcbiAgICAgICAgOiBJTl9BUFBfVVJMLk1ZX1JFU1BPTlNJQklMSVRZO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHBlcm1pc3Npb25zLmluY2x1ZGVzKCdDUE1QJylcclxuICAgICAgICA/IElOX0FQUF9VUkwuUFJPR1JBTVxyXG4gICAgICAgIDogSU5fQVBQX1VSTC5NWV9SRVNQT05TSUJJTElUWTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,58 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "./api.service";
4
+ export class RbacService {
5
+ constructor(apiService) {
6
+ this.apiService = apiService;
7
+ this.permissions = {};
8
+ }
9
+ /**
10
+ * Retrieves the RBAC (Role-Based Access Control) permissions for a given module.
11
+ *
12
+ * @param MODULE - The module for which to retrieve the permissions. Must be one of the following values:
13
+ * - 'assessment'
14
+ * - 'audit'
15
+ * - 'issue'
16
+ * - 'policy'
17
+ * - 'risk'
18
+ * - 'assurance'
19
+ * - 'compliance'
20
+ * - 'organization'
21
+ *
22
+ * @returns An array of strings representing the permissions for the specified module.
23
+ */
24
+ getRBACPermissions(MODULE) {
25
+ const data = this.apiService.loggedUserDetail$.value?.roleActions ?? [];
26
+ console.log(data);
27
+ if (this.permissions[MODULE]) {
28
+ return this.permissions[MODULE];
29
+ }
30
+ const modulePermissions = data.find((item) => item.moduleName === MODULE);
31
+ const PERMISSION_ARRAY = [];
32
+ // checked if module is active
33
+ if (modulePermissions?.isActive) {
34
+ // find all active submodules
35
+ modulePermissions.subModule
36
+ ?.filter((subModule) => subModule.isActive)
37
+ .forEach((subModule) => {
38
+ // find all active permissions
39
+ subModule.permissions
40
+ ?.filter((permission) => permission.enable)
41
+ .forEach((permission) => {
42
+ PERMISSION_ARRAY.push(permission.code);
43
+ });
44
+ });
45
+ }
46
+ this.permissions[MODULE] = PERMISSION_ARRAY;
47
+ return PERMISSION_ARRAY;
48
+ }
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RbacService, deps: [{ token: i1.ApiService }], target: i0.ɵɵFactoryTarget.Injectable }); }
50
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RbacService, providedIn: 'root' }); }
51
+ }
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RbacService, decorators: [{
53
+ type: Injectable,
54
+ args: [{
55
+ providedIn: 'root',
56
+ }]
57
+ }], ctorParameters: function () { return [{ type: i1.ApiService }]; } });
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmJhYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtbGF5b3V0L3NyYy9saWIvc2hhcmVkL3NlcnZpY2VzL3JiYWMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0MsTUFBTSxPQUFPLFdBQVc7SUFFdEIsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUQxQyxnQkFBVyxHQUFRLEVBQUUsQ0FBQztJQUN1QixDQUFDO0lBRTlDOzs7Ozs7Ozs7Ozs7OztPQWNHO0lBQ0ksa0JBQWtCLENBQ3ZCLE1BUWtCO1FBRWxCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLFdBQVcsSUFBSSxFQUFFLENBQUM7UUFDeEUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDNUIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ2pDO1FBRUQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUNqQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsS0FBSyxNQUFNLENBQzFDLENBQUM7UUFDRixNQUFNLGdCQUFnQixHQUFhLEVBQUUsQ0FBQztRQUV0Qyw4QkFBOEI7UUFDOUIsSUFBSSxpQkFBaUIsRUFBRSxRQUFRLEVBQUU7WUFDL0IsNkJBQTZCO1lBQzdCLGlCQUFpQixDQUFDLFNBQVM7Z0JBQ3pCLEVBQUUsTUFBTSxDQUFDLENBQUMsU0FBYyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO2lCQUMvQyxPQUFPLENBQUMsQ0FBQyxTQUFjLEVBQUUsRUFBRTtnQkFDMUIsOEJBQThCO2dCQUM5QixTQUFTLENBQUMsV0FBVztvQkFDbkIsRUFBRSxNQUFNLENBQUMsQ0FBQyxVQUFlLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7cUJBQy9DLE9BQU8sQ0FBQyxDQUFDLFVBQWUsRUFBRSxFQUFFO29CQUMzQixnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN6QyxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUMsQ0FBQyxDQUFDO1NBQ047UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLGdCQUFnQixDQUFDO1FBQzVDLE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQzsrR0ExRFUsV0FBVzttSEFBWCxXQUFXLGNBRlYsTUFBTTs7NEZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFwaVNlcnZpY2UgfSBmcm9tICcuL2FwaS5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSYmFjU2VydmljZSB7XHJcbiAgcGVybWlzc2lvbnM6IGFueSA9IHt9O1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBpU2VydmljZTogQXBpU2VydmljZSkge31cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHRoZSBSQkFDIChSb2xlLUJhc2VkIEFjY2VzcyBDb250cm9sKSBwZXJtaXNzaW9ucyBmb3IgYSBnaXZlbiBtb2R1bGUuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gTU9EVUxFIC0gVGhlIG1vZHVsZSBmb3Igd2hpY2ggdG8gcmV0cmlldmUgdGhlIHBlcm1pc3Npb25zLiBNdXN0IGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczpcclxuICAgKiAgIC0gJ2Fzc2Vzc21lbnQnXHJcbiAgICogICAtICdhdWRpdCdcclxuICAgKiAgIC0gJ2lzc3VlJ1xyXG4gICAqICAgLSAncG9saWN5J1xyXG4gICAqICAgLSAncmlzaydcclxuICAgKiAgIC0gJ2Fzc3VyYW5jZSdcclxuICAgKiAgIC0gJ2NvbXBsaWFuY2UnXHJcbiAgICogICAtICdvcmdhbml6YXRpb24nXHJcbiAgICpcclxuICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBzdHJpbmdzIHJlcHJlc2VudGluZyB0aGUgcGVybWlzc2lvbnMgZm9yIHRoZSBzcGVjaWZpZWQgbW9kdWxlLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXRSQkFDUGVybWlzc2lvbnMoXHJcbiAgICBNT0RVTEU6XHJcbiAgICAgIHwgJ2Fzc2Vzc21lbnQnXHJcbiAgICAgIHwgJ2F1ZGl0J1xyXG4gICAgICB8ICdpc3N1ZSdcclxuICAgICAgfCAncG9saWN5J1xyXG4gICAgICB8ICdyaXNrJ1xyXG4gICAgICB8ICdhc3N1cmFuY2UnXHJcbiAgICAgIHwgJ2NvbXBsaWFuY2UnXHJcbiAgICAgIHwgJ29yZ2FuaXphdGlvbidcclxuICApIHtcclxuICAgIGNvbnN0IGRhdGEgPSB0aGlzLmFwaVNlcnZpY2UubG9nZ2VkVXNlckRldGFpbCQudmFsdWU/LnJvbGVBY3Rpb25zID8/IFtdO1xyXG4gICAgY29uc29sZS5sb2coZGF0YSk7XHJcbiAgICBpZiAodGhpcy5wZXJtaXNzaW9uc1tNT0RVTEVdKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnBlcm1pc3Npb25zW01PRFVMRV07XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbW9kdWxlUGVybWlzc2lvbnMgPSBkYXRhLmZpbmQoXHJcbiAgICAgIChpdGVtOiBhbnkpID0+IGl0ZW0ubW9kdWxlTmFtZSA9PT0gTU9EVUxFXHJcbiAgICApO1xyXG4gICAgY29uc3QgUEVSTUlTU0lPTl9BUlJBWTogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgICAvLyBjaGVja2VkIGlmIG1vZHVsZSBpcyBhY3RpdmVcclxuICAgIGlmIChtb2R1bGVQZXJtaXNzaW9ucz8uaXNBY3RpdmUpIHtcclxuICAgICAgLy8gZmluZCBhbGwgYWN0aXZlIHN1Ym1vZHVsZXNcclxuICAgICAgbW9kdWxlUGVybWlzc2lvbnMuc3ViTW9kdWxlXHJcbiAgICAgICAgPy5maWx0ZXIoKHN1Yk1vZHVsZTogYW55KSA9PiBzdWJNb2R1bGUuaXNBY3RpdmUpXHJcbiAgICAgICAgLmZvckVhY2goKHN1Yk1vZHVsZTogYW55KSA9PiB7XHJcbiAgICAgICAgICAvLyBmaW5kIGFsbCBhY3RpdmUgcGVybWlzc2lvbnNcclxuICAgICAgICAgIHN1Yk1vZHVsZS5wZXJtaXNzaW9uc1xyXG4gICAgICAgICAgICA/LmZpbHRlcigocGVybWlzc2lvbjogYW55KSA9PiBwZXJtaXNzaW9uLmVuYWJsZSlcclxuICAgICAgICAgICAgLmZvckVhY2goKHBlcm1pc3Npb246IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgIFBFUk1JU1NJT05fQVJSQVkucHVzaChwZXJtaXNzaW9uLmNvZGUpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnBlcm1pc3Npb25zW01PRFVMRV0gPSBQRVJNSVNTSU9OX0FSUkFZO1xyXG4gICAgcmV0dXJuIFBFUk1JU1NJT05fQVJSQVk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,43 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@vcomply/authorizer";
4
+ import * as i2 from "@angular/common";
5
+ import * as i3 from "../../../pipe/get-file-url.pipe";
6
+ export class AvatarComponent {
7
+ constructor(authService) {
8
+ this.authService = authService;
9
+ this.baseUrl = '';
10
+ this.shortName = '';
11
+ this.type = 'md';
12
+ this.shortName = this.authService.getUser()?.short_name ?? '';
13
+ }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AvatarComponent, deps: [{ token: i1.AuthorizerService }], target: i0.ɵɵFactoryTarget.Component }); }
15
+ 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: `
16
+ <div class="vx-avatar " [ngClass]="type">
17
+ <span *ngIf="!userInfo?.profile_pic" class="blue">{{ shortName }}</span>
18
+ <img
19
+ *ngIf="userInfo?.profile_pic"
20
+ [src]="userInfo?.profile_pic | getFileUrl"
21
+ alt=""
22
+ />
23
+ </div>
24
+ `, isInline: true, styles: ["@import\"https://cdn.v-comply.com/design-system/css/avatars/avatars.css\";\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.GetFileUrlPipe, name: "getFileUrl" }] }); }
25
+ }
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AvatarComponent, decorators: [{
27
+ type: Component,
28
+ args: [{ selector: 'vc-avatar', template: `
29
+ <div class="vx-avatar " [ngClass]="type">
30
+ <span *ngIf="!userInfo?.profile_pic" class="blue">{{ shortName }}</span>
31
+ <img
32
+ *ngIf="userInfo?.profile_pic"
33
+ [src]="userInfo?.profile_pic | getFileUrl"
34
+ alt=""
35
+ />
36
+ </div>
37
+ `, styles: ["@import\"https://cdn.v-comply.com/design-system/css/avatars/avatars.css\";\n"] }]
38
+ }], ctorParameters: function () { return [{ type: i1.AuthorizerService }]; }, propDecorators: { userInfo: [{
39
+ type: Input
40
+ }], type: [{
41
+ type: Input
42
+ }] } });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWxheW91dC9zcmMvbGliL3NoYXJlZC91aS1raXQvYXZhdGFyL2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQWlCakQsTUFBTSxPQUFPLGVBQWU7SUFPMUIsWUFBb0IsV0FBOEI7UUFBOUIsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBTjNDLFlBQU8sR0FBVyxFQUFFLENBQUM7UUFDckIsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQUdkLFNBQUksR0FBZ0MsSUFBSSxDQUFDO1FBR3ZELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsRUFBRSxVQUFVLElBQUksRUFBRSxDQUFDO0lBQ2hFLENBQUM7K0dBVFUsZUFBZTttR0FBZixlQUFlLGlHQVpoQjs7Ozs7Ozs7O0dBU1Q7OzRGQUdVLGVBQWU7a0JBZDNCLFNBQVM7K0JBQ0UsV0FBVyxZQUNYOzs7Ozs7Ozs7R0FTVDt3R0FPZSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEF1dGhvcml6ZXJTZXJ2aWNlIH0gZnJvbSAnQHZjb21wbHkvYXV0aG9yaXplcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3ZjLWF2YXRhcicsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJ2eC1hdmF0YXIgXCIgW25nQ2xhc3NdPVwidHlwZVwiPlxyXG4gICAgICA8c3BhbiAqbmdJZj1cIiF1c2VySW5mbz8ucHJvZmlsZV9waWNcIiBjbGFzcz1cImJsdWVcIj57eyBzaG9ydE5hbWUgfX08L3NwYW4+XHJcbiAgICAgIDxpbWdcclxuICAgICAgICAqbmdJZj1cInVzZXJJbmZvPy5wcm9maWxlX3BpY1wiXHJcbiAgICAgICAgW3NyY109XCJ1c2VySW5mbz8ucHJvZmlsZV9waWMgfCBnZXRGaWxlVXJsXCJcclxuICAgICAgICBhbHQ9XCJcIlxyXG4gICAgICAvPlxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBzdHlsZVVybHM6IFsnLi9hdmF0YXIuY29tcG9uZW50Lmxlc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEF2YXRhckNvbXBvbmVudCB7XHJcbiAgcHVibGljIGJhc2VVcmw6IHN0cmluZyA9ICcnO1xyXG4gIHB1YmxpYyBzaG9ydE5hbWU6IHN0cmluZyA9ICcnO1xyXG5cclxuICBASW5wdXQoKSBwdWJsaWMgdXNlckluZm86IGFueTtcclxuICBASW5wdXQoKSBwdWJsaWMgdHlwZTogJ21kJyB8ICdzbScgfCAneHMnIHwgJ3gtbGcnID0gJ21kJztcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aG9yaXplclNlcnZpY2UpIHtcclxuICAgIHRoaXMuc2hvcnROYW1lID0gdGhpcy5hdXRoU2VydmljZS5nZXRVc2VyKCk/LnNob3J0X25hbWUgPz8gJyc7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,19 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { AvatarComponent } from './avatar/avatar.component';
4
+ import { PipesModule } from '../../pipe/pipes.module';
5
+ import * as i0 from "@angular/core";
6
+ export class AvatarModule {
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AvatarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: AvatarModule, declarations: [AvatarComponent], imports: [CommonModule, PipesModule], exports: [AvatarComponent] }); }
9
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AvatarModule, imports: [CommonModule, PipesModule] }); }
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AvatarModule, decorators: [{
12
+ type: NgModule,
13
+ args: [{
14
+ declarations: [AvatarComponent],
15
+ imports: [CommonModule, PipesModule],
16
+ exports: [AvatarComponent],
17
+ }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWxheW91dC9zcmMvbGliL3NoYXJlZC91aS1raXQvYXZhdGFyL2F2YXRhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFPdEQsTUFBTSxPQUFPLFlBQVk7K0dBQVosWUFBWTtnSEFBWixZQUFZLGlCQUpSLGVBQWUsYUFDcEIsWUFBWSxFQUFFLFdBQVcsYUFDekIsZUFBZTtnSEFFZCxZQUFZLFlBSGIsWUFBWSxFQUFFLFdBQVc7OzRGQUd4QixZQUFZO2tCQUx4QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGVBQWUsQ0FBQztvQkFDL0IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQztvQkFDcEMsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDO2lCQUMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEF2YXRhckNvbXBvbmVudCB9IGZyb20gJy4vYXZhdGFyL2F2YXRhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQaXBlc01vZHVsZSB9IGZyb20gJy4uLy4uL3BpcGUvcGlwZXMubW9kdWxlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbQXZhdGFyQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBQaXBlc01vZHVsZV0sXHJcbiAgZXhwb3J0czogW0F2YXRhckNvbXBvbmVudF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdmF0YXJNb2R1bGUge31cclxuIl19
@@ -0,0 +1,39 @@
1
+ import { Component, forwardRef } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ const CHECKBOX_VALUE_ACCESSOR = {
6
+ provide: NG_VALUE_ACCESSOR,
7
+ useExisting: forwardRef(() => CheckboxComponent),
8
+ multi: true,
9
+ };
10
+ export class CheckboxComponent {
11
+ constructor() {
12
+ this.onChanged = (value) => { };
13
+ this.onTouched = () => { };
14
+ }
15
+ writeValue(value) {
16
+ this.checked = value ?? false;
17
+ }
18
+ registerOnChange(fn) {
19
+ this.onChanged = fn;
20
+ }
21
+ registerOnTouched(fn) {
22
+ this.onTouched = fn;
23
+ }
24
+ setDisabledState(isDisabled) {
25
+ this.disabled = isDisabled;
26
+ }
27
+ valueChanged() {
28
+ this.checked = !this.checked;
29
+ this.onChanged(this.checked);
30
+ this.onTouched();
31
+ }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
+ 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.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
34
+ }
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CheckboxComponent, decorators: [{
36
+ type: Component,
37
+ 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"] }]
38
+ }] });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtbGF5b3V0L3NyYy9saWIvc2hhcmVkL3VpLWtpdC9mb3JtZ3JvdXAvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtbGF5b3V0L3NyYy9saWIvc2hhcmVkL3VpLWtpdC9mb3JtZ3JvdXAvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFFekUsTUFBTSx1QkFBdUIsR0FBYTtJQUN4QyxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7SUFDaEQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBVUYsTUFBTSxPQUFPLGlCQUFpQjtJQVI5QjtRQVlFLGNBQVMsR0FBRyxDQUFDLEtBQVMsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQzlCLGNBQVMsR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7S0FvQnRCO0lBbEJDLFVBQVUsQ0FBQyxLQUFjO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxJQUFJLEtBQUssQ0FBQTtJQUMvQixDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBQ0QsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsVUFBbUI7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDN0IsQ0FBQztJQUNELFlBQVk7UUFFVixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQzsrR0F4QlUsaUJBQWlCO21HQUFqQixpQkFBaUIsMklBSmpCLENBQUMsdUJBQXVCLENBQUMsMEJDZnRDLDZtQ0FzQkU7OzRGREhXLGlCQUFpQjtrQkFSN0IsU0FBUzsrQkFDRSxjQUFjLGFBR2IsQ0FBQyx1QkFBdUIsQ0FBQyxVQUM3QixDQUFDLFVBQVUsRUFBQyxTQUFTLEVBQUMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuXHJcbmltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuY29uc3QgQ0hFQ0tCT1hfVkFMVUVfQUNDRVNTT1I6IFByb3ZpZGVyID0ge1xyXG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENoZWNrYm94Q29tcG9uZW50KSxcclxuICBtdWx0aTogdHJ1ZSxcclxufTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndnVpLWNoZWNrYm94JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NoZWNrYm94LmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgcHJvdmlkZXJzOiBbQ0hFQ0tCT1hfVkFMVUVfQUNDRVNTT1JdLFxyXG4gIGlucHV0czpbJ2Rpc2FibGVkJywnY2hlY2tlZCcsJ2luZGV0ZXJtaW5hdGVFbmFibGVkJ10sXHJcblxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvcntcclxuICBkaXNhYmxlZCAhOmJvb2xlYW4gfCBhbnk7XHJcbiAgY2hlY2tlZCAhOmJvb2xlYW4gfCBhbnk7XHJcbiAgaW5kZXRlcm1pbmF0ZUVuYWJsZWQgITpib29sZWFuIHwgYW55O1xyXG4gIG9uQ2hhbmdlZCA9ICh2YWx1ZTphbnkpID0+IHt9O1xyXG4gIG9uVG91Y2hlZCA9ICgpID0+IHt9O1xyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmNoZWNrZWQgPSB2YWx1ZSA/PyBmYWxzZVxyXG4gIH1cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2VkID0gZm47XHJcbiAgfVxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgfVxyXG4gIHZhbHVlQ2hhbmdlZCgpe1xyXG4gXHJcbiAgICB0aGlzLmNoZWNrZWQgPSAhdGhpcy5jaGVja2VkO1xyXG4gICAgdGhpcy5vbkNoYW5nZWQodGhpcy5jaGVja2VkKTtcclxuICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxsYWJlbCBjbGFzcz1cImNoZWNrYm94LWl0ZW1cIiBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cclxuICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbY2hlY2tlZF09XCJjaGVja2VkXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgKGNoYW5nZSk9XCJ2YWx1ZUNoYW5nZWQoKVwiLz5cclxuICAgIDxzcGFuIGNsYXNzPVwiY2hlY2tib3hcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJpbm5lclwiPjwvc3Bhbj5cclxuICAgIDwvc3Bhbj5cclxuICAgIDwhLS0gc3ZnIGZvciBjaGVja21hcmsgLS0+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWluZGV0ZXJtaW5hdGVFbmFibGVkXCI+XHJcbiAgICAgICAgPHN2ZyAgY2xhc3M9XCJjaGVja21hcmtcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1MiA1MlwiPlxyXG4gICAgICAgICAgICA8Y2lyY2xlIGNsYXNzPVwiY2hlY2ttYXJrX19jaXJjbGVcIiBjeD1cIjI2XCIgY3k9XCIyNlwiIHI9XCIyNVwiIGZpbGw9XCJub25lXCIgLz5cclxuICAgICAgICAgICAgPHBhdGggY2xhc3M9XCJjaGVja21hcmtfX2NoZWNrXCIgZmlsbD1cIm5vbmVcIiBkPVwiTTE0LjEgMjcuMmw3LjEgNy4yIDE2LjctMTYuOFwiIC8+XHJcbiAgICAgICAgICA8L3N2Zz5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICBcclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbmRldGVybWluYXRlRW5hYmxlZFwiPlxyXG4gICAgICAgIDxzdmcgY2xhc3M9XCJjaGVja21hcmtcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1MiA1MlwiPlxyXG4gICAgICAgICAgICA8Y2lyY2xlIGNsYXNzPVwiY2hlY2ttYXJrX19jaXJjbGVcIiBjeD1cIjI2XCIgY3k9XCIyNlwiIHI9XCIyNVwiIGZpbGw9XCJub25lXCIgLz5cclxuICAgICAgICAgICAgPHBhdGggZmlsbD1cIm5vbmVcIiBkPVwiTTM3LjksMjdIMTR2LTJoMjMuOVYyN3pcIi8+XHJcbiAgICAgICAgICA8L3N2Zz5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gXHJcbiAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pjwvc3Bhbj5cclxuICA8L2xhYmVsPlxyXG4gICJdfQ==
@@ -0,0 +1,29 @@
1
+ import { Directive, EventEmitter, HostListener, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ClickOutsideDirective {
4
+ constructor(elementRef) {
5
+ this.elementRef = elementRef;
6
+ this.clickOutside = new EventEmitter();
7
+ }
8
+ onMouseEnter(targetElement) {
9
+ const clickedInside = this.elementRef.nativeElement.contains(targetElement);
10
+ if (!clickedInside) {
11
+ this.clickOutside.emit(null);
12
+ }
13
+ }
14
+ 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 }); }
15
+ 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 }); }
16
+ }
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClickOutsideDirective, decorators: [{
18
+ type: Directive,
19
+ args: [{
20
+ selector: '[clickOutside]',
21
+ }]
22
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { clickOutside: [{
23
+ type: Output,
24
+ args: ['clickOutside']
25
+ }], onMouseEnter: [{
26
+ type: HostListener,
27
+ args: ['document:click', ['$event.target']]
28
+ }] } });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpY2stb3V0c2lkZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1sYXlvdXQvc3JjL2xpYi9zaGFyZWQvdWkta2l0L2Zvcm1ncm91cC9jbGljay1vdXRzaWRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUsxRixNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFlBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDbEIsaUJBQVksR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQURoQyxDQUFDO0lBR0ssWUFBWSxDQUFDLGFBQWtCO1FBQ2hGLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlCO0lBQ0gsQ0FBQzsrR0FUVSxxQkFBcUI7bUdBQXJCLHFCQUFxQjs7NEZBQXJCLHFCQUFxQjtrQkFIakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO2lCQUMzQjtpR0FHeUIsWUFBWTtzQkFBbkMsTUFBTTt1QkFBQyxjQUFjO2dCQUU2QixZQUFZO3NCQUE5RCxZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tjbGlja091dHNpZGVdJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIENsaWNrT3V0c2lkZURpcmVjdGl2ZSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxyXG4gIEBPdXRwdXQoJ2NsaWNrT3V0c2lkZScpIGNsaWNrT3V0c2lkZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQudGFyZ2V0J10pIG9uTW91c2VFbnRlcih0YXJnZXRFbGVtZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IGNsaWNrZWRJbnNpZGUgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXRFbGVtZW50KTtcclxuICAgIGlmICghY2xpY2tlZEluc2lkZSkge1xyXG4gICAgICB0aGlzLmNsaWNrT3V0c2lkZS5lbWl0KG51bGwpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,28 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/forms";
4
+ export class CsCheckboxComponent {
5
+ constructor() {
6
+ this.disabled = false;
7
+ this.ngValueChange = new EventEmitter();
8
+ }
9
+ ngOnInit() { }
10
+ valueChanged() {
11
+ this.ngValueChange.emit(this.ngValue);
12
+ }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CsCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
+ 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.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
15
+ }
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CsCheckboxComponent, decorators: [{
17
+ type: Component,
18
+ 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"] }]
19
+ }], ctorParameters: function () { return []; }, propDecorators: { disabled: [{
20
+ type: Input
21
+ }], ngValue: [{
22
+ type: Input
23
+ }], value: [{
24
+ type: Input
25
+ }], ngValueChange: [{
26
+ type: Output
27
+ }] } });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3MtY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtbGF5b3V0L3NyYy9saWIvc2hhcmVkL3VpLWtpdC9mb3JtZ3JvdXAvY3MtY2hlY2tib3gvY3MtY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtbGF5b3V0L3NyYy9saWIvc2hhcmVkL3VpLWtpdC9mb3JtZ3JvdXAvY3MtY2hlY2tib3gvY3MtY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU8xRixNQUFNLE9BQU8sbUJBQW1CO0lBSzlCO1FBSlMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUdoQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDbkMsQ0FBQztJQUVoQixRQUFRLEtBQVUsQ0FBQztJQUNuQixZQUFZO1FBQ1YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hDLENBQUM7K0dBVlUsbUJBQW1CO21HQUFuQixtQkFBbUIsMEtDUGhDLDRuQkFXQTs7NEZESmEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGlCQUFpQjswRUFLbEIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWNzLWNoZWNrYm94JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY3MtY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NzLWNoZWNrYm94LmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDc0NoZWNrYm94Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIG5nVmFsdWUhOiBhbnk7XHJcbiAgQElucHV0KCkgdmFsdWU6IGFueTtcclxuICBAT3V0cHV0KCkgbmdWYWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7fVxyXG4gIHZhbHVlQ2hhbmdlZCgpIHtcclxuICAgIHRoaXMubmdWYWx1ZUNoYW5nZS5lbWl0KHRoaXMubmdWYWx1ZSk7XHJcbiAgfVxyXG59XHJcbiIsIjxsYWJlbCBjbGFzcz1cImNoZWNrYm94LWl0ZW1cIiBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cclxuICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgW25hbWVdPVwidmFsdWVcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbKG5nTW9kZWwpXT1cIm5nVmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJ2YWx1ZUNoYW5nZWQoKVwiIC8+XHJcbiAgPHNwYW4gY2xhc3M9XCJjaGVja2JveFwiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJpbm5lclwiPjwvc3Bhbj5cclxuICA8L3NwYW4+XHJcbiAgPHN2ZyBjbGFzcz1cImNoZWNrbWFya1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDUyIDUyXCI+XHJcbiAgICA8Y2lyY2xlIGNsYXNzPVwiY2hlY2ttYXJrX19jaXJjbGVcIiBjeD1cIjI2XCIgY3k9XCIyNlwiIHI9XCIyNVwiIGZpbGw9XCJub25lXCIgLz5cclxuICAgIDxwYXRoIGNsYXNzPVwiY2hlY2ttYXJrX19jaGVja1wiIGZpbGw9XCJub25lXCIgZD1cIk0xNC4xIDI3LjJsNy4xIDcuMiAxNi43LTE2LjhcIiAvPlxyXG4gIDwvc3ZnPlxyXG4gIDxzcGFuIGNsYXNzPVwidmFsdWVcIj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9zcGFuPlxyXG48L2xhYmVsPlxyXG4iXX0=
@@ -0,0 +1,32 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/forms";
4
+ export class CsCheckboxIndeterminateComponent {
5
+ constructor() {
6
+ this.ngValueChange = new EventEmitter();
7
+ }
8
+ ngOnInit() {
9
+ }
10
+ valueChanged() {
11
+ const emitValue = {
12
+ value: this.value,
13
+ checked: this.ngValue
14
+ };
15
+ this.ngValueChange.emit(emitValue);
16
+ }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CsCheckboxIndeterminateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
+ 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.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
19
+ }
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CsCheckboxIndeterminateComponent, decorators: [{
21
+ type: Component,
22
+ 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"] }]
23
+ }], ctorParameters: function () { return []; }, propDecorators: { disabled: [{
24
+ type: Input
25
+ }], ngValue: [{
26
+ type: Input
27
+ }], value: [{
28
+ type: Input
29
+ }], ngValueChange: [{
30
+ type: Output
31
+ }] } });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3MtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1sYXlvdXQvc3JjL2xpYi9zaGFyZWQvdWkta2l0L2Zvcm1ncm91cC9jcy1jaGVja2JveC1pbmRldGVybWluYXRlL2NzLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtbGF5b3V0L3NyYy9saWIvc2hhcmVkL3VpLWtpdC9mb3JtZ3JvdXAvY3MtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS9jcy1jaGVja2JveC1pbmRldGVybWluYXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU8vRSxNQUFNLE9BQU8sZ0NBQWdDO0lBTTNDO1FBRlUsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBRWxDLENBQUM7SUFFakIsUUFBUTtJQUNSLENBQUM7SUFDRCxZQUFZO1FBQ1YsTUFBTSxTQUFTLEdBQUc7WUFDaEIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztTQUN0QixDQUFBO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDckMsQ0FBQzsrR0FoQlUsZ0NBQWdDO21HQUFoQyxnQ0FBZ0Msd0xDUDdDLGluQkFXRTs7NEZESlcsZ0NBQWdDO2tCQUw1QyxTQUFTOytCQUNFLCtCQUErQjswRUFLaEMsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1jcy1jaGVja2JveC1pbmRldGVybWluYXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY3MtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY3MtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS5jb21wb25lbnQubGVzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDc0NoZWNrYm94SW5kZXRlcm1pbmF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgZGlzYWJsZWQhOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIG5nVmFsdWU6IGFueTtcclxuICBASW5wdXQoKSB2YWx1ZTogYW55O1xyXG4gIEBPdXRwdXQoKSBuZ1ZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuICB2YWx1ZUNoYW5nZWQoKSB7XHJcbiAgICBjb25zdCBlbWl0VmFsdWUgPSB7XHJcbiAgICAgIHZhbHVlOiB0aGlzLnZhbHVlLFxyXG4gICAgICBjaGVja2VkOiB0aGlzLm5nVmFsdWVcclxuICAgIH1cclxuICAgIHRoaXMubmdWYWx1ZUNoYW5nZS5lbWl0KGVtaXRWYWx1ZSk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8bGFiZWwgY2xhc3M9XCJjaGVja2JveC1pdGVtXCIgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCI+XHJcbiAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgW25hbWVdPVwidmFsdWVcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbKG5nTW9kZWwpXT1cIm5nVmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJ2YWx1ZUNoYW5nZWQoKVwiIC8+XHJcbiAgICA8c3BhbiBjbGFzcz1cImNoZWNrYm94XCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiaW5uZXJcIj48L3NwYW4+XHJcbiAgICA8L3NwYW4+XHJcbiAgICA8c3ZnIGNsYXNzPVwiY2hlY2ttYXJrXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNTIgNTJcIj5cclxuICAgICAgPGNpcmNsZSBjbGFzcz1cImNoZWNrbWFya19fY2lyY2xlXCIgY3g9XCIyNlwiIGN5PVwiMjZcIiByPVwiMjVcIiBmaWxsPVwibm9uZVwiIC8+XHJcbiAgICAgIDxwYXRoIGZpbGw9XCJub25lXCIgZD1cIk0zNy45LDI3SDE0di0yaDIzLjlWMjd6XCIvPlxyXG4gICAgPC9zdmc+XHJcbiAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pjwvc3Bhbj5cclxuICA8L2xhYmVsPlxyXG4gICJdfQ==