@tuki-io/tuki-widgets 0.0.164 → 0.0.166

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 (99) hide show
  1. package/esm2020/contact-center/cc-readiness/cc-readiness.module.mjs +1 -1
  2. package/esm2020/contact-center/cc-readiness/cc-readiness.service.mjs +1 -1
  3. package/esm2020/contact-center/cc-readiness/widgets/licences-requirement/licences-requirement.component.mjs +3 -3
  4. package/esm2020/di2mt/shared/services/api.service.mjs +2 -2
  5. package/esm2020/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.mjs +3 -3
  6. package/esm2020/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.mjs +2 -2
  7. package/esm2020/di2mt/widgets/upgrade-overview/cards/pending-activation-users/pending-activation-users.component.mjs +17 -17
  8. package/esm2020/user-device-manage/src/app.constants.mjs +1 -1
  9. package/esm2020/user-device-manage/src/classes/deviceProfile.mjs +1 -1
  10. package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.mjs +3 -3
  11. package/esm2020/user-device-manage/src/device-info/device-info.component.mjs +3 -3
  12. package/esm2020/user-device-manage/src/device-manage-widget.component.mjs +2 -2
  13. package/esm2020/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +3 -3
  14. package/esm2020/user-device-manage/src/pipes/mac-address.pipe.mjs +1 -1
  15. package/esm2020/user-device-manage/src/services/api.service.mjs +1 -1
  16. package/esm2020/user-device-manage/src/services/dns.service.mjs +1 -1
  17. package/esm2020/user-device-manage/src/services/line.service.mjs +2 -2
  18. package/esm2020/user-device-manage/src/services/user.service.mjs +1 -1
  19. package/esm2020/user-device-manage/src/shared/tk-page-section/page-section.component.mjs +1 -1
  20. package/esm2020/user-device-manage/src/utils/app-loader/app-loader.mjs +3 -3
  21. package/esm2020/user-manage/src/app.constants.mjs +1 -1
  22. package/esm2020/user-manage/src/classes/line-association-interface.mjs +1 -1
  23. package/esm2020/user-manage/src/classes/line-directory.mjs +1 -1
  24. package/esm2020/user-manage/src/classes/line.mjs +1 -1
  25. package/esm2020/user-manage/src/classes/pagination.mjs +1 -1
  26. package/esm2020/user-manage/src/classes/simplified-user.mjs +1 -1
  27. package/esm2020/user-manage/src/device-list/device-list.component.mjs +3 -3
  28. package/esm2020/user-manage/src/device-list/device-row/device-row.component.mjs +3 -3
  29. package/esm2020/user-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +3 -3
  30. package/esm2020/user-manage/src/services/api.service.mjs +1 -1
  31. package/esm2020/user-manage/src/services/user.service.mjs +1 -1
  32. package/esm2020/user-manage/src/user-info/user-info.component.mjs +3 -3
  33. package/esm2020/user-manage/src/user-manage.module.mjs +1 -1
  34. package/esm2020/user-manage/src/utils/app-loader/app-loader.mjs +3 -3
  35. package/esm2020/users-list/src/app.constants.mjs +1 -1
  36. package/esm2020/users-list/src/classes/move-user.mjs +1 -1
  37. package/esm2020/users-list/src/components/table-toolbar/table-toolbar.component.mjs +3 -9
  38. package/esm2020/users-list/src/services/dns.service.mjs +1 -1
  39. package/esm2020/users-list/src/services/user.service.mjs +1 -1
  40. package/esm2020/users-list/src/users-list.component.mjs +3 -9
  41. package/esm2020/users-list/src/utils/app-loader/app-loader.mjs +3 -3
  42. package/fesm2015/tuki-io-tuki-widgets-contact-center.mjs +2 -2
  43. package/fesm2015/tuki-io-tuki-widgets-contact-center.mjs.map +1 -1
  44. package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs +21 -21
  45. package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs.map +1 -1
  46. package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs +10 -10
  47. package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
  48. package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs +10 -10
  49. package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
  50. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs +6 -18
  51. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
  52. package/fesm2020/tuki-io-tuki-widgets-contact-center.mjs +2 -2
  53. package/fesm2020/tuki-io-tuki-widgets-contact-center.mjs.map +1 -1
  54. package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs +21 -21
  55. package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs.map +1 -1
  56. package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs +10 -10
  57. package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
  58. package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs +10 -10
  59. package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
  60. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs +6 -18
  61. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
  62. package/package.json +1 -9
  63. package/user-device-manage/src/services/line.service.d.ts +1 -1
  64. package/users-list/src/components/table-toolbar/table-toolbar.component.d.ts +1 -3
  65. package/users-list/src/users-list.component.d.ts +1 -3
  66. package/esm2020/user-creation/public-api.mjs +0 -13
  67. package/esm2020/user-creation/src/app.constants.mjs +0 -14
  68. package/esm2020/user-creation/src/classes/site.mjs +0 -53
  69. package/esm2020/user-creation/src/shared/api/api.service.mjs +0 -86
  70. package/esm2020/user-creation/src/shared/material.module.mjs +0 -76
  71. package/esm2020/user-creation/src/shared/services/user-creation-api.service.mjs +0 -101
  72. package/esm2020/user-creation/src/shared/services/utils.mjs +0 -19
  73. package/esm2020/user-creation/src/shared/shared.module.mjs +0 -33
  74. package/esm2020/user-creation/src/user-creation.module.mjs +0 -69
  75. package/esm2020/user-creation/src/widgets/user-creation-wizard/components/user-details-step/user-details-step.component.mjs +0 -23
  76. package/esm2020/user-creation/src/widgets/user-creation-wizard/components/user-overview-step/user-overview-step.component.mjs +0 -19
  77. package/esm2020/user-creation/src/widgets/user-creation-wizard/components/user-template-step/user-template-step.component.mjs +0 -68
  78. package/esm2020/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.component.mjs +0 -55
  79. package/esm2020/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.service.mjs +0 -192
  80. package/esm2020/user-creation/tuki-io-tuki-widgets-user-creation.mjs +0 -5
  81. package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs +0 -763
  82. package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs.map +0 -1
  83. package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs +0 -772
  84. package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs.map +0 -1
  85. package/user-creation/index.d.ts +0 -5
  86. package/user-creation/public-api.d.ts +0 -2
  87. package/user-creation/src/app.constants.d.ts +0 -13
  88. package/user-creation/src/classes/site.d.ts +0 -188
  89. package/user-creation/src/shared/api/api.service.d.ts +0 -20
  90. package/user-creation/src/shared/material.module.d.ts +0 -15
  91. package/user-creation/src/shared/services/user-creation-api.service.d.ts +0 -20
  92. package/user-creation/src/shared/services/utils.d.ts +0 -1
  93. package/user-creation/src/shared/shared.module.d.ts +0 -10
  94. package/user-creation/src/user-creation.module.d.ts +0 -17
  95. package/user-creation/src/widgets/user-creation-wizard/components/user-details-step/user-details-step.component.d.ts +0 -8
  96. package/user-creation/src/widgets/user-creation-wizard/components/user-overview-step/user-overview-step.component.d.ts +0 -11
  97. package/user-creation/src/widgets/user-creation-wizard/components/user-template-step/user-template-step.component.d.ts +0 -27
  98. package/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.component.d.ts +0 -16
  99. package/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.service.d.ts +0 -81
@@ -1,192 +0,0 @@
1
- import { inject, Injectable } from "@angular/core";
2
- import { UserCreationApiService } from "../../shared/services/user-creation-api.service";
3
- import * as i0 from "@angular/core";
4
- export class UserCreationWizardService {
5
- constructor() {
6
- this.api = inject(UserCreationApiService);
7
- this.ldapTableColumns = ['userId', 'firstName', 'lastName', 'email', 'add'];
8
- this.userCreationTypes = ['CUCM', 'MT'];
9
- this.siteOptions = [];
10
- this.templateOptions = [];
11
- this.lineOptions = [];
12
- this.routePartitionOptions = [];
13
- this.deviceRows = [];
14
- this.ldapUsers = [];
15
- this.overviewUsers = [];
16
- this.overviewLines = [];
17
- this.overviewDevices = [];
18
- this.userDetailsForm = {
19
- userId: '',
20
- firstName: '',
21
- lastName: '',
22
- email: ''
23
- };
24
- this.lineSelections = [];
25
- this.deviceEntries = [];
26
- this.selectedSite = null;
27
- this.selectedTemplate = null;
28
- this.selectedUserCreationType = 'CUCM';
29
- this.loadPlaceholderData();
30
- }
31
- setSelectedSite(site) {
32
- this.selectedSite = site;
33
- }
34
- setSelectedTemplate(template) {
35
- this.selectedTemplate = template;
36
- this.rebuildOverviewUsers();
37
- }
38
- setSelectedUserCreationType(type) {
39
- this.selectedUserCreationType = type;
40
- }
41
- setUserDetailsField(field, value) {
42
- this.userDetailsForm = {
43
- ...this.userDetailsForm,
44
- [field]: value
45
- };
46
- this.rebuildOverviewUsers();
47
- }
48
- setLineSelection(index, lineNumber) {
49
- if (!this.lineSelections[index]) {
50
- return;
51
- }
52
- this.lineSelections[index] = {
53
- ...this.lineSelections[index],
54
- lineNumber
55
- };
56
- this.rebuildOverviewLines();
57
- this.rebuildOverviewDevices();
58
- }
59
- setRoutePartitionSelection(index, routePartitionName) {
60
- if (!this.lineSelections[index]) {
61
- return;
62
- }
63
- this.lineSelections[index] = {
64
- ...this.lineSelections[index],
65
- routePartitionName
66
- };
67
- this.rebuildOverviewLines();
68
- }
69
- setDeviceName(index, name) {
70
- if (!this.deviceEntries[index]) {
71
- return;
72
- }
73
- this.deviceEntries[index] = {
74
- ...this.deviceEntries[index],
75
- name
76
- };
77
- this.rebuildOverviewDevices();
78
- }
79
- // Placeholder bootstrap until backend APIs are connected.
80
- loadPlaceholderData() {
81
- this.siteOptions = ['Site 1', 'Site 2', 'Site 3'];
82
- this.templateOptions = ['Template A', 'Template B', 'Template C'];
83
- this.lineOptions = [
84
- {
85
- number: '1001',
86
- did: '+1 555 0101',
87
- css: 'Internal-CSS',
88
- description: 'Primary line'
89
- },
90
- {
91
- number: '1002',
92
- did: '+1 555 0102',
93
- css: 'Support-CSS',
94
- description: 'Backup line'
95
- },
96
- {
97
- number: '1003',
98
- did: '+1 555 0103',
99
- css: 'Lobby-CSS',
100
- description: 'Lobby phone line'
101
- }
102
- ];
103
- this.routePartitionOptions = ['Partition A', 'Partition B', 'Partition C'];
104
- this.deviceRows = [1, 2];
105
- this.ldapUsers = [
106
- { userId: 'user_01', firstName: 'John', lastName: 'Doe', email: 'john.doe@example.com' },
107
- { userId: 'user_02', firstName: 'Jane', lastName: 'Smith', email: 'jane.smith@example.com' }
108
- ];
109
- this.lineSelections = [
110
- {
111
- lineNumber: this.lineOptions[0]?.number || null,
112
- routePartitionName: this.routePartitionOptions[0] || null
113
- },
114
- {
115
- lineNumber: this.lineOptions[1]?.number || null,
116
- routePartitionName: this.routePartitionOptions[1] || null
117
- }
118
- ];
119
- this.deviceEntries = [
120
- {
121
- deviceType: 'Cisco 8845',
122
- protocol: 'SIP',
123
- buttonTemplate: 'Standard 8845',
124
- name: 'SEP001122334455'
125
- },
126
- {
127
- deviceType: 'Cisco Jabber',
128
- protocol: 'SIP',
129
- buttonTemplate: 'Standard Jabber',
130
- name: 'CSFJDOE'
131
- }
132
- ];
133
- this.selectedTemplate = this.selectedTemplate ?? null;
134
- this.rebuildOverviewUsers();
135
- this.rebuildOverviewLines();
136
- this.rebuildOverviewDevices();
137
- }
138
- rebuildOverviewUsers() {
139
- const userTemplate = this.selectedTemplate || '';
140
- const hasUserData = Object.values(this.userDetailsForm).some(value => value.trim().length > 0);
141
- this.overviewUsers = hasUserData
142
- ? [{
143
- userId: this.userDetailsForm.userId,
144
- firstName: this.userDetailsForm.firstName,
145
- lastName: this.userDetailsForm.lastName,
146
- email: this.userDetailsForm.email,
147
- userTemplate
148
- }]
149
- : [];
150
- }
151
- rebuildOverviewLines() {
152
- this.overviewLines = this.lineSelections
153
- .map(selection => {
154
- if (!selection?.lineNumber) {
155
- return null;
156
- }
157
- const selectedLine = this.lineOptions.find(line => line.number === selection.lineNumber);
158
- if (!selectedLine) {
159
- return null;
160
- }
161
- return {
162
- number: selectedLine.number,
163
- did: selectedLine.did,
164
- routePartitionName: selection.routePartitionName || this.routePartitionOptions[0] || '',
165
- css: selectedLine.css,
166
- description: selectedLine.description
167
- };
168
- })
169
- .filter((line) => !!line);
170
- }
171
- rebuildOverviewDevices() {
172
- const selectedLineNumbers = this.overviewLines.map(line => line.number).join(', ');
173
- this.overviewDevices = this.deviceEntries
174
- .filter(device => device.name.trim().length > 0 || device.deviceType.trim().length > 0)
175
- .map(device => ({
176
- name: device.name,
177
- deviceType: device.deviceType,
178
- lines: selectedLineNumbers,
179
- description: `${device.protocol} / ${device.buttonTemplate}`
180
- }));
181
- }
182
- // TODO: replace placeholders with real API integration.
183
- loadDataFromApi() {
184
- // this.api.getWizardBootstrapData().subscribe(...)
185
- }
186
- }
187
- UserCreationWizardService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserCreationWizardService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
188
- UserCreationWizardService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserCreationWizardService });
189
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserCreationWizardService, decorators: [{
190
- type: Injectable
191
- }], ctorParameters: function () { return []; } });
192
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1jcmVhdGlvbi13aXphcmQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWNyZWF0aW9uL3NyYy93aWRnZXRzL3VzZXItY3JlYXRpb24td2l6YXJkL3VzZXItY3JlYXRpb24td2l6YXJkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saURBQWlELENBQUM7O0FBeUR6RixNQUFNLE9BQU8seUJBQXlCO0lBNEJsQztRQTNCaUIsUUFBRyxHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBRTdDLHFCQUFnQixHQUFhLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2pGLHNCQUFpQixHQUF1QixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVoRSxnQkFBVyxHQUFhLEVBQUUsQ0FBQztRQUMzQixvQkFBZSxHQUFhLEVBQUUsQ0FBQztRQUMvQixnQkFBVyxHQUFpQixFQUFFLENBQUM7UUFDL0IsMEJBQXFCLEdBQWEsRUFBRSxDQUFDO1FBQ3JDLGVBQVUsR0FBYSxFQUFFLENBQUM7UUFDMUIsY0FBUyxHQUFrQixFQUFFLENBQUM7UUFDOUIsa0JBQWEsR0FBc0IsRUFBRSxDQUFDO1FBQ3RDLGtCQUFhLEdBQXNCLEVBQUUsQ0FBQztRQUN0QyxvQkFBZSxHQUF3QixFQUFFLENBQUM7UUFDMUMsb0JBQWUsR0FBb0I7WUFDL0IsTUFBTSxFQUFFLEVBQUU7WUFDVixTQUFTLEVBQUUsRUFBRTtZQUNiLFFBQVEsRUFBRSxFQUFFO1lBQ1osS0FBSyxFQUFFLEVBQUU7U0FDWixDQUFDO1FBQ0YsbUJBQWMsR0FB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QyxRQUFRLE1BQU0sTUFBTSxDQUFDLGNBQWMsRUFBRTtTQUMvRCxDQUFDLENBQUMsQ0FBQztJQUNaLENBQUM7SUFFRCx3REFBd0Q7SUFDeEQsZUFBZTtRQUNYLG1EQUFtRDtJQUN2RCxDQUFDOzt1SEFyTVEseUJBQXlCOzJIQUF6Qix5QkFBeUI7NEZBQXpCLHlCQUF5QjtrQkFEckMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFVzZXJDcmVhdGlvbkFwaVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3NlcnZpY2VzL3VzZXItY3JlYXRpb24tYXBpLnNlcnZpY2VcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTGRhcFVzZXJSb3cge1xyXG4gICAgdXNlcklkOiBzdHJpbmc7XHJcbiAgICBmaXJzdE5hbWU6IHN0cmluZztcclxuICAgIGxhc3ROYW1lOiBzdHJpbmc7XHJcbiAgICBlbWFpbDogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE92ZXJ2aWV3VXNlclJvdyBleHRlbmRzIExkYXBVc2VyUm93IHtcclxuICAgIHVzZXJUZW1wbGF0ZTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE92ZXJ2aWV3TGluZVJvdyB7XHJcbiAgICBudW1iZXI6IHN0cmluZztcclxuICAgIGRpZDogc3RyaW5nO1xyXG4gICAgcm91dGVQYXJ0aXRpb25OYW1lOiBzdHJpbmc7XHJcbiAgICBjc3M6IHN0cmluZztcclxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgT3ZlcnZpZXdEZXZpY2VSb3cge1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAgZGV2aWNlVHlwZTogc3RyaW5nO1xyXG4gICAgbGluZXM6IHN0cmluZztcclxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFVzZXJDcmVhdGlvblR5cGUgPSAnQ1VDTScgfCAnTVQnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBVc2VyRGV0YWlsc0Zvcm0ge1xyXG4gICAgdXNlcklkOiBzdHJpbmc7XHJcbiAgICBmaXJzdE5hbWU6IHN0cmluZztcclxuICAgIGxhc3ROYW1lOiBzdHJpbmc7XHJcbiAgICBlbWFpbDogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIExpbmVPcHRpb24ge1xyXG4gICAgbnVtYmVyOiBzdHJpbmc7XHJcbiAgICBkaWQ6IHN0cmluZztcclxuICAgIGNzczogc3RyaW5nO1xyXG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZWxlY3RlZExpbmVSb3cge1xyXG4gICAgbGluZU51bWJlcjogc3RyaW5nIHwgbnVsbDtcclxuICAgIHJvdXRlUGFydGl0aW9uTmFtZTogc3RyaW5nIHwgbnVsbDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEZXZpY2VFbnRyeSB7XHJcbiAgICBkZXZpY2VUeXBlOiBzdHJpbmc7XHJcbiAgICBwcm90b2NvbDogc3RyaW5nO1xyXG4gICAgYnV0dG9uVGVtcGxhdGU6IHN0cmluZztcclxuICAgIG5hbWU6IHN0cmluZztcclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgVXNlckNyZWF0aW9uV2l6YXJkU2VydmljZSB7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwaSA9IGluamVjdChVc2VyQ3JlYXRpb25BcGlTZXJ2aWNlKTtcclxuXHJcbiAgICByZWFkb25seSBsZGFwVGFibGVDb2x1bW5zOiBzdHJpbmdbXSA9IFsndXNlcklkJywgJ2ZpcnN0TmFtZScsICdsYXN0TmFtZScsICdlbWFpbCcsICdhZGQnXTtcclxuICAgIHJlYWRvbmx5IHVzZXJDcmVhdGlvblR5cGVzOiBVc2VyQ3JlYXRpb25UeXBlW10gPSBbJ0NVQ00nLCAnTVQnXTtcclxuXHJcbiAgICBzaXRlT3B0aW9uczogc3RyaW5nW10gPSBbXTtcclxuICAgIHRlbXBsYXRlT3B0aW9uczogc3RyaW5nW10gPSBbXTtcclxuICAgIGxpbmVPcHRpb25zOiBMaW5lT3B0aW9uW10gPSBbXTtcclxuICAgIHJvdXRlUGFydGl0aW9uT3B0aW9uczogc3RyaW5nW10gPSBbXTtcclxuICAgIGRldmljZVJvd3M6IG51bWJlcltdID0gW107XHJcbiAgICBsZGFwVXNlcnM6IExkYXBVc2VyUm93W10gPSBbXTtcclxuICAgIG92ZXJ2aWV3VXNlcnM6IE92ZXJ2aWV3VXNlclJvd1tdID0gW107XHJcbiAgICBvdmVydmlld0xpbmVzOiBPdmVydmlld0xpbmVSb3dbXSA9IFtdO1xyXG4gICAgb3ZlcnZpZXdEZXZpY2VzOiBPdmVydmlld0RldmljZVJvd1tdID0gW107XHJcbiAgICB1c2VyRGV0YWlsc0Zvcm06IFVzZXJEZXRhaWxzRm9ybSA9IHtcclxuICAgICAgICB1c2VySWQ6ICcnLFxyXG4gICAgICAgIGZpcnN0TmFtZTogJycsXHJcbiAgICAgICAgbGFzdE5hbWU6ICcnLFxyXG4gICAgICAgIGVtYWlsOiAnJ1xyXG4gICAgfTtcclxuICAgIGxpbmVTZWxlY3Rpb25zOiBTZWxlY3RlZExpbmVSb3dbXSA9IFtdO1xyXG4gICAgZGV2aWNlRW50cmllczogRGV2aWNlRW50cnlbXSA9IFtdO1xyXG5cclxuICAgIHNlbGVjdGVkU2l0ZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgICBzZWxlY3RlZFRlbXBsYXRlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICAgIHNlbGVjdGVkVXNlckNyZWF0aW9uVHlwZTogVXNlckNyZWF0aW9uVHlwZSA9ICdDVUNNJztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICB0aGlzLmxvYWRQbGFjZWhvbGRlckRhdGEoKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRTZWxlY3RlZFNpdGUoc2l0ZTogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRTaXRlID0gc2l0ZTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRTZWxlY3RlZFRlbXBsYXRlKHRlbXBsYXRlOiBzdHJpbmcgfCBudWxsKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFRlbXBsYXRlID0gdGVtcGxhdGU7XHJcbiAgICAgICAgdGhpcy5yZWJ1aWxkT3ZlcnZpZXdVc2VycygpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFNlbGVjdGVkVXNlckNyZWF0aW9uVHlwZSh0eXBlOiBVc2VyQ3JlYXRpb25UeXBlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFVzZXJDcmVhdGlvblR5cGUgPSB0eXBlO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFVzZXJEZXRhaWxzRmllbGQoZmllbGQ6IGtleW9mIFVzZXJEZXRhaWxzRm9ybSwgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudXNlckRldGFpbHNGb3JtID0ge1xyXG4gICAgICAgICAgICAuLi50aGlzLnVzZXJEZXRhaWxzRm9ybSxcclxuICAgICAgICAgICAgW2ZpZWxkXTogdmFsdWVcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMucmVidWlsZE92ZXJ2aWV3VXNlcnMoKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRMaW5lU2VsZWN0aW9uKGluZGV4OiBudW1iZXIsIGxpbmVOdW1iZXI6IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMubGluZVNlbGVjdGlvbnNbaW5kZXhdKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5saW5lU2VsZWN0aW9uc1tpbmRleF0gPSB7XHJcbiAgICAgICAgICAgIC4uLnRoaXMubGluZVNlbGVjdGlvbnNbaW5kZXhdLFxyXG4gICAgICAgICAgICBsaW5lTnVtYmVyXHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLnJlYnVpbGRPdmVydmlld0xpbmVzKCk7XHJcbiAgICAgICAgdGhpcy5yZWJ1aWxkT3ZlcnZpZXdEZXZpY2VzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0Um91dGVQYXJ0aXRpb25TZWxlY3Rpb24oaW5kZXg6IG51bWJlciwgcm91dGVQYXJ0aXRpb25OYW1lOiBzdHJpbmcgfCBudWxsKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmxpbmVTZWxlY3Rpb25zW2luZGV4XSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubGluZVNlbGVjdGlvbnNbaW5kZXhdID0ge1xyXG4gICAgICAgICAgICAuLi50aGlzLmxpbmVTZWxlY3Rpb25zW2luZGV4XSxcclxuICAgICAgICAgICAgcm91dGVQYXJ0aXRpb25OYW1lXHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLnJlYnVpbGRPdmVydmlld0xpbmVzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0RGV2aWNlTmFtZShpbmRleDogbnVtYmVyLCBuYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuZGV2aWNlRW50cmllc1tpbmRleF0pIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmRldmljZUVudHJpZXNbaW5kZXhdID0ge1xyXG4gICAgICAgICAgICAuLi50aGlzLmRldmljZUVudHJpZXNbaW5kZXhdLFxyXG4gICAgICAgICAgICBuYW1lXHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLnJlYnVpbGRPdmVydmlld0RldmljZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBQbGFjZWhvbGRlciBib290c3RyYXAgdW50aWwgYmFja2VuZCBBUElzIGFyZSBjb25uZWN0ZWQuXHJcbiAgICBsb2FkUGxhY2Vob2xkZXJEYXRhKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2l0ZU9wdGlvbnMgPSBbJ1NpdGUgMScsICdTaXRlIDInLCAnU2l0ZSAzJ107XHJcbiAgICAgICAgdGhpcy50ZW1wbGF0ZU9wdGlvbnMgPSBbJ1RlbXBsYXRlIEEnLCAnVGVtcGxhdGUgQicsICdUZW1wbGF0ZSBDJ107XHJcbiAgICAgICAgdGhpcy5saW5lT3B0aW9ucyA9IFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiAnMTAwMScsXHJcbiAgICAgICAgICAgICAgICBkaWQ6ICcrMSA1NTUgMDEwMScsXHJcbiAgICAgICAgICAgICAgICBjc3M6ICdJbnRlcm5hbC1DU1MnLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdQcmltYXJ5IGxpbmUnXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIG51bWJlcjogJzEwMDInLFxyXG4gICAgICAgICAgICAgICAgZGlkOiAnKzEgNTU1IDAxMDInLFxyXG4gICAgICAgICAgICAgICAgY3NzOiAnU3VwcG9ydC1DU1MnLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdCYWNrdXAgbGluZSdcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiAnMTAwMycsXHJcbiAgICAgICAgICAgICAgICBkaWQ6ICcrMSA1NTUgMDEwMycsXHJcbiAgICAgICAgICAgICAgICBjc3M6ICdMb2JieS1DU1MnLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdMb2JieSBwaG9uZSBsaW5lJ1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgXTtcclxuICAgICAgICB0aGlzLnJvdXRlUGFydGl0aW9uT3B0aW9ucyA9IFsnUGFydGl0aW9uIEEnLCAnUGFydGl0aW9uIEInLCAnUGFydGl0aW9uIEMnXTtcclxuICAgICAgICB0aGlzLmRldmljZVJvd3MgPSBbMSwgMl07XHJcbiAgICAgICAgdGhpcy5sZGFwVXNlcnMgPSBbXHJcbiAgICAgICAgICAgIHsgdXNlcklkOiAndXNlcl8wMScsIGZpcnN0TmFtZTogJ0pvaG4nLCBsYXN0TmFtZTogJ0RvZScsIGVtYWlsOiAnam9obi5kb2VAZXhhbXBsZS5jb20nIH0sXHJcbiAgICAgICAgICAgIHsgdXNlcklkOiAndXNlcl8wMicsIGZpcnN0TmFtZTogJ0phbmUnLCBsYXN0TmFtZTogJ1NtaXRoJywgZW1haWw6ICdqYW5lLnNtaXRoQGV4YW1wbGUuY29tJyB9XHJcbiAgICAgICAgXTtcclxuICAgICAgICB0aGlzLmxpbmVTZWxlY3Rpb25zID0gW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBsaW5lTnVtYmVyOiB0aGlzLmxpbmVPcHRpb25zWzBdPy5udW1iZXIgfHwgbnVsbCxcclxuICAgICAgICAgICAgICAgIHJvdXRlUGFydGl0aW9uTmFtZTogdGhpcy5yb3V0ZVBhcnRpdGlvbk9wdGlvbnNbMF0gfHwgbnVsbFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBsaW5lTnVtYmVyOiB0aGlzLmxpbmVPcHRpb25zWzFdPy5udW1iZXIgfHwgbnVsbCxcclxuICAgICAgICAgICAgICAgIHJvdXRlUGFydGl0aW9uTmFtZTogdGhpcy5yb3V0ZVBhcnRpdGlvbk9wdGlvbnNbMV0gfHwgbnVsbFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgXTtcclxuICAgICAgICB0aGlzLmRldmljZUVudHJpZXMgPSBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGRldmljZVR5cGU6ICdDaXNjbyA4ODQ1JyxcclxuICAgICAgICAgICAgICAgIHByb3RvY29sOiAnU0lQJyxcclxuICAgICAgICAgICAgICAgIGJ1dHRvblRlbXBsYXRlOiAnU3RhbmRhcmQgODg0NScsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnU0VQMDAxMTIyMzM0NDU1J1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBkZXZpY2VUeXBlOiAnQ2lzY28gSmFiYmVyJyxcclxuICAgICAgICAgICAgICAgIHByb3RvY29sOiAnU0lQJyxcclxuICAgICAgICAgICAgICAgIGJ1dHRvblRlbXBsYXRlOiAnU3RhbmRhcmQgSmFiYmVyJyxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdDU0ZKRE9FJ1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgXTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVGVtcGxhdGUgPSB0aGlzLnNlbGVjdGVkVGVtcGxhdGUgPz8gbnVsbDtcclxuICAgICAgICB0aGlzLnJlYnVpbGRPdmVydmlld1VzZXJzKCk7XHJcbiAgICAgICAgdGhpcy5yZWJ1aWxkT3ZlcnZpZXdMaW5lcygpO1xyXG4gICAgICAgIHRoaXMucmVidWlsZE92ZXJ2aWV3RGV2aWNlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcmVidWlsZE92ZXJ2aWV3VXNlcnMoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgdXNlclRlbXBsYXRlID0gdGhpcy5zZWxlY3RlZFRlbXBsYXRlIHx8ICcnO1xyXG4gICAgICAgIGNvbnN0IGhhc1VzZXJEYXRhID0gT2JqZWN0LnZhbHVlcyh0aGlzLnVzZXJEZXRhaWxzRm9ybSkuc29tZSh2YWx1ZSA9PiB2YWx1ZS50cmltKCkubGVuZ3RoID4gMCk7XHJcbiAgICAgICAgdGhpcy5vdmVydmlld1VzZXJzID0gaGFzVXNlckRhdGFcclxuICAgICAgICAgICAgPyBbe1xyXG4gICAgICAgICAgICAgICAgdXNlcklkOiB0aGlzLnVzZXJEZXRhaWxzRm9ybS51c2VySWQsXHJcbiAgICAgICAgICAgICAgICBmaXJzdE5hbWU6IHRoaXMudXNlckRldGFpbHNGb3JtLmZpcnN0TmFtZSxcclxuICAgICAgICAgICAgICAgIGxhc3ROYW1lOiB0aGlzLnVzZXJEZXRhaWxzRm9ybS5sYXN0TmFtZSxcclxuICAgICAgICAgICAgICAgIGVtYWlsOiB0aGlzLnVzZXJEZXRhaWxzRm9ybS5lbWFpbCxcclxuICAgICAgICAgICAgICAgIHVzZXJUZW1wbGF0ZVxyXG4gICAgICAgICAgICB9XVxyXG4gICAgICAgICAgICA6IFtdO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcmVidWlsZE92ZXJ2aWV3TGluZXMoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vdmVydmlld0xpbmVzID0gdGhpcy5saW5lU2VsZWN0aW9uc1xyXG4gICAgICAgICAgICAubWFwKHNlbGVjdGlvbiA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoIXNlbGVjdGlvbj8ubGluZU51bWJlcikge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRMaW5lID0gdGhpcy5saW5lT3B0aW9ucy5maW5kKGxpbmUgPT4gbGluZS5udW1iZXIgPT09IHNlbGVjdGlvbi5saW5lTnVtYmVyKTtcclxuICAgICAgICAgICAgICAgIGlmICghc2VsZWN0ZWRMaW5lKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgIG51bWJlcjogc2VsZWN0ZWRMaW5lLm51bWJlcixcclxuICAgICAgICAgICAgICAgICAgICBkaWQ6IHNlbGVjdGVkTGluZS5kaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgcm91dGVQYXJ0aXRpb25OYW1lOiBzZWxlY3Rpb24ucm91dGVQYXJ0aXRpb25OYW1lIHx8IHRoaXMucm91dGVQYXJ0aXRpb25PcHRpb25zWzBdIHx8ICcnLFxyXG4gICAgICAgICAgICAgICAgICAgIGNzczogc2VsZWN0ZWRMaW5lLmNzcyxcclxuICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogc2VsZWN0ZWRMaW5lLmRlc2NyaXB0aW9uXHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuZmlsdGVyKChsaW5lKTogbGluZSBpcyBPdmVydmlld0xpbmVSb3cgPT4gISFsaW5lKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHJlYnVpbGRPdmVydmlld0RldmljZXMoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRMaW5lTnVtYmVycyA9IHRoaXMub3ZlcnZpZXdMaW5lcy5tYXAobGluZSA9PiBsaW5lLm51bWJlcikuam9pbignLCAnKTtcclxuICAgICAgICB0aGlzLm92ZXJ2aWV3RGV2aWNlcyA9IHRoaXMuZGV2aWNlRW50cmllc1xyXG4gICAgICAgICAgICAuZmlsdGVyKGRldmljZSA9PiBkZXZpY2UubmFtZS50cmltKCkubGVuZ3RoID4gMCB8fCBkZXZpY2UuZGV2aWNlVHlwZS50cmltKCkubGVuZ3RoID4gMClcclxuICAgICAgICAgICAgLm1hcChkZXZpY2UgPT4gKHtcclxuICAgICAgICAgICAgICAgIG5hbWU6IGRldmljZS5uYW1lLFxyXG4gICAgICAgICAgICAgICAgZGV2aWNlVHlwZTogZGV2aWNlLmRldmljZVR5cGUsXHJcbiAgICAgICAgICAgICAgICBsaW5lczogc2VsZWN0ZWRMaW5lTnVtYmVycyxcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBgJHtkZXZpY2UucHJvdG9jb2x9IC8gJHtkZXZpY2UuYnV0dG9uVGVtcGxhdGV9YFxyXG4gICAgICAgICAgICB9KSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVE9ETzogcmVwbGFjZSBwbGFjZWhvbGRlcnMgd2l0aCByZWFsIEFQSSBpbnRlZ3JhdGlvbi5cclxuICAgIGxvYWREYXRhRnJvbUFwaSgpOiB2b2lkIHtcclxuICAgICAgICAvLyB0aGlzLmFwaS5nZXRXaXphcmRCb290c3RyYXBEYXRhKCkuc3Vic2NyaWJlKC4uLilcclxuICAgIH1cclxufSJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHVraS1pby10dWtpLXdpZGdldHMtdXNlci1jcmVhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWNyZWF0aW9uL3R1a2ktaW8tdHVraS13aWRnZXRzLXVzZXItY3JlYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==