@ieeesa-npm/groups 0.15.16 → 0.15.18

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 (31) hide show
  1. package/esm2022/lib/assets/constants.json +27 -1
  2. package/esm2022/lib/components/add-user-roster/add-user-roster.component.mjs +8 -10
  3. package/esm2022/lib/components/create-group/create-group.component.mjs +2 -2
  4. package/esm2022/lib/components/edit-user-roles/edit-user-roles.component.mjs +7 -55
  5. package/esm2022/lib/components/interest-form/interest-form.component.mjs +4 -4
  6. package/esm2022/lib/components/interest-form-management/interest-form-management.component.mjs +3 -3
  7. package/esm2022/lib/components/interest-responses/interest-responses.component.mjs +119 -0
  8. package/esm2022/lib/components/interested-rosters/interested-rosters.component.mjs +370 -15
  9. package/esm2022/lib/components/roster-import-history/roster-import-history.component.mjs +106 -8
  10. package/esm2022/lib/components/view-roster/view-roster.component.mjs +2 -2
  11. package/esm2022/lib/groups.component.mjs +58 -9
  12. package/esm2022/lib/models/interest-response.model.mjs +18 -0
  13. package/esm2022/lib/models/roster-import.model.mjs +1 -1
  14. package/esm2022/lib/services/groups.service.mjs +91 -7
  15. package/esm2022/lib/services/interest-form.service.mjs +8 -7
  16. package/esm2022/public-api.mjs +3 -1
  17. package/fesm2022/ieeesa-npm-groups.mjs +829 -219
  18. package/fesm2022/ieeesa-npm-groups.mjs.map +1 -1
  19. package/lib/components/edit-user-roles/edit-user-roles.component.d.ts +0 -10
  20. package/lib/components/interest-responses/interest-responses.component.d.ts +80 -0
  21. package/lib/components/interested-rosters/interested-rosters.component.d.ts +143 -9
  22. package/lib/components/roster-import-history/roster-import-history.component.d.ts +42 -4
  23. package/lib/groups.component.d.ts +9 -4
  24. package/lib/models/interest-response.model.d.ts +209 -0
  25. package/lib/models/roster-import.model.d.ts +12 -0
  26. package/lib/services/groups.service.d.ts +66 -10
  27. package/lib/services/interest-form.service.d.ts +6 -5
  28. package/package.json +1 -1
  29. package/public-api.d.ts +2 -0
  30. package/esm2022/lib/assets/country-calling-codes.mjs +0 -83
  31. package/lib/assets/country-calling-codes.d.ts +0 -14
@@ -25,6 +25,7 @@ import { PermissionType } from '../models/permission-type.model';
25
25
  import { UserPermissionsService } from './user-permissions.service';
26
26
  import { GroupPermissionsMapService } from './group-permissions-map-service';
27
27
  import { ParentGroupsInfo } from '../models/parent-groups-info.model';
28
+ import { InterestedRostersRequestPayload, InterestedRostersResponse, InterestFormResponse, UpdateMemberLevelPayload } from '../models/interest-response.model';
28
29
  import * as i0 from "@angular/core";
29
30
  /**
30
31
  * Groups service is an abstract layer and responsible for managing groups REST API calls.
@@ -75,6 +76,12 @@ export declare class GroupsService {
75
76
  "1034": string;
76
77
  "1035": string;
77
78
  "1036": string;
79
+ /**
80
+ * Returns formatted group types.
81
+ * @param {GroupTypeConfiguration[]} groupTypeResponse
82
+ * @return {GroupTypeConfigValue}
83
+ * @memberof GroupsService
84
+ */
78
85
  "1037": string;
79
86
  "1038": string;
80
87
  "1039": string;
@@ -95,12 +102,6 @@ export declare class GroupsService {
95
102
  "2017": string;
96
103
  "2018": string;
97
104
  "2019": string;
98
- /**
99
- * Returns group user details if email is found, else throws error.
100
- * @param {string} email
101
- * @return {Observable<SearchUserByEmailResponse>}
102
- * @memberof GroupsService
103
- */
104
105
  "2020": string;
105
106
  "2021": string;
106
107
  "2022": string;
@@ -480,13 +481,68 @@ export declare class GroupsService {
480
481
  * @memberof GroupsService
481
482
  */
482
483
  getMemberTypes(): Role[];
484
+ /** Returns the unique calling codes derived from phone country metadata. */
485
+ getCountryCallingCodes(): SelectOption[];
483
486
  /**
484
- * Returns the frontend-only static list of country calling codes for the
485
- * Phone Number field's country-code dropdown.
486
- * @return {SelectOption[]}
487
+ * Returns the stored interest-form responses for an interest record, for the
488
+ * Roster Management admin "View Responses" view (SP3M-428, R8.7).
489
+ *
490
+ * GET {apiBaseUrl}/groups/interest/{interestId}/responses
491
+ *
492
+ * The endpoint is keyed by the interest record id ({@code GINT_SAAPPS_...}),
493
+ * NOT the group id, and is guarded server-side by roster-view permissions
494
+ * (VIEW_GROUP_MEMBERS on the group or the tenant-wide VIEW_ALL_ROSTERS). The
495
+ * base URL already carries the version segment (e.g. `.../v1`), matching every
496
+ * other GroupsService call built as `${apiBaseUrl}/groups/...`, so the version
497
+ * is not repeated. The response envelope's body is the list of responses
498
+ * (never null — an empty list means no answers were submitted).
499
+ * @param {string} interestId - The interest record whose responses are read.
500
+ * @return {Observable<InterestFormResponse[]>}
501
+ * @memberof GroupsService
502
+ */
503
+ getInterestResponses(interestId: string): Observable<InterestFormResponse[]>;
504
+ /**
505
+ * Returns the interested-users roster for a group — one row per interest
506
+ * carrying the user's name/email, organization affiliations, submitted
507
+ * timestamp, the group's default membership level, and the group type id — so
508
+ * the Roster Management admin "Interested Rosters" tab renders the whole group
509
+ * in a single call (SP3M-428, R8.7).
510
+ *
511
+ * POST {apiBaseUrl}/groups/interest/group/{groupId}/responses
512
+ *
513
+ * The search term, pagination and sort options are sent in the request body
514
+ * ({@link InterestedRostersRequestPayload}) so the backend can filter, page
515
+ * and sort the roster server-side. Guarded server-side by roster-view
516
+ * permissions (VIEW_GROUP_MEMBERS on the group or the tenant-wide
517
+ * VIEW_ALL_ROSTERS). The base URL already carries the version segment,
518
+ * matching every other GroupsService call built as `${apiBaseUrl}/groups/...`,
519
+ * so the version is not repeated. The response envelope's body is an
520
+ * {@link InterestedRostersResponse}: the roster rows live under `data` (never
521
+ * null — an empty list means the group has no interests) alongside the paging
522
+ * metadata (`totalRecords`, `offset`, `pageSize`).
523
+ * @param {string} groupId - The group whose interested-users roster is read.
524
+ * @param {InterestedRostersRequestPayload} payload - Search/pagination/sort options.
525
+ * @return {Observable<InterestedRostersResponse>}
526
+ * @memberof GroupsService
527
+ */
528
+ getInterestResponsesByGroup(groupId: string, payload: InterestedRostersRequestPayload): Observable<InterestedRostersResponse>;
529
+ /**
530
+ * Sets/overrides the membership level for an interested user from the Roster
531
+ * Management admin "Interested Rosters" tab (SP3M-428). Called when the admin
532
+ * picks a value in a row's Member Level dropdown.
533
+ *
534
+ * PUT {apiBaseUrl}/groups/interest/member-level
535
+ *
536
+ * The group, user and selected role id are sent in the request body
537
+ * ({@link UpdateMemberLevelPayload}). Guarded server-side by roster-management
538
+ * permissions. The base URL already carries the version segment, matching
539
+ * every other GroupsService call built as `${apiBaseUrl}/groups/...`, so the
540
+ * version is not repeated. The response envelope's body is returned as-is.
541
+ * @param {UpdateMemberLevelPayload} payload - Group + user + selected role id.
542
+ * @return {Observable<unknown>}
487
543
  * @memberof GroupsService
488
544
  */
489
- getCountryCallingCodes(): SelectOption[];
545
+ updateInterestMemberLevel(payload: UpdateMemberLevelPayload): Observable<unknown>;
490
546
  /** Path prefix (relative to apiBaseUrl) for the reciprocal-credit endpoints. */
491
547
  private readonly RECIPROCAL_BASE_PATH;
492
548
  /**
@@ -52,14 +52,15 @@ export declare class InterestFormService {
52
52
  */
53
53
  getInterestConfig(groupId: string): Observable<InterestApiResponse<GroupInterestConfig>>;
54
54
  /**
55
- * Loads the tenant's roles. Member levels (used to populate the default
56
- * membership level options) are the subset where roleTypeName is
57
- * "Member Level"; filtering is done by the caller.
58
- * @param {string} appId
55
+ * Loads the roles configured for a group type via
56
+ * GET /groups/config/rolesByGroupType/{groupTypeId}. Member levels (used to
57
+ * populate the default membership level options) are the subset where
58
+ * roleTypeName is "Member Level"; filtering is done by the caller.
59
+ * @param {string} groupTypeId
59
60
  * @return {Observable<InterestApiResponse<GroupRole[]>>}
60
61
  * @memberof InterestFormService
61
62
  */
62
- getRoles(appId: string): Observable<InterestApiResponse<GroupRole[]>>;
63
+ getRoles(groupTypeId: string): Observable<InterestApiResponse<GroupRole[]>>;
63
64
  /**
64
65
  * Saves a group's interest configuration.
65
66
  * @param {GroupInterestConfig} config
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ieeesa-npm/groups",
3
- "version": "0.15.16",
3
+ "version": "0.15.18",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^16.1.0",
6
6
  "@angular/core": "^16.1.0"
package/public-api.d.ts CHANGED
@@ -7,6 +7,7 @@ export * from './lib/components/roster-import/roster-import.component';
7
7
  export * from './lib/components/roster-import-history/roster-import-history.component';
8
8
  export * from './lib/components/interest-form-management/interest-form-management.component';
9
9
  export * from './lib/components/interested-rosters/interested-rosters.component';
10
+ export * from './lib/components/interest-responses/interest-responses.component';
10
11
  export * from './lib/components/interest-form/interest-form.component';
11
12
  export * from './lib/components/custom-question-editor/custom-question-editor.component';
12
13
  export * from './lib/components/interest-form-preview/interest-form-preview.component';
@@ -37,5 +38,6 @@ export * from './lib/services/groups.service';
37
38
  export * from './lib/services/roster-export.service';
38
39
  export * from './lib/services/roster-import-api.service';
39
40
  export * from './lib/models/roster-import.model';
41
+ export * from './lib/models/interest-response.model';
40
42
  export * from './lib/assets/form-validations';
41
43
  export * from './lib/groups.module';
@@ -1,83 +0,0 @@
1
- /**
2
- * Frontend-only static list of country calling (dialing) codes used by the
3
- * Phone Number field's country-code dropdown in the add-user-roster form.
4
- *
5
- * This is static reference data (it does not change per request), so it is kept
6
- * on the frontend rather than fetched from an API — no extra dependency needed.
7
- * Both `id` and `name` are the raw calling code (e.g. `+1`) so the dropdown
8
- * shows only the code and that same code is what gets persisted/sent to the
9
- * backend. Countries that share a calling code are represented once.
10
- */
11
- export const COUNTRY_CALLING_CODES = [
12
- { id: '+1', name: '+1' },
13
- { id: '+7', name: '+7' },
14
- { id: '+20', name: '+20' },
15
- { id: '+27', name: '+27' },
16
- { id: '+30', name: '+30' },
17
- { id: '+31', name: '+31' },
18
- { id: '+32', name: '+32' },
19
- { id: '+33', name: '+33' },
20
- { id: '+34', name: '+34' },
21
- { id: '+36', name: '+36' },
22
- { id: '+39', name: '+39' },
23
- { id: '+40', name: '+40' },
24
- { id: '+41', name: '+41' },
25
- { id: '+43', name: '+43' },
26
- { id: '+44', name: '+44' },
27
- { id: '+45', name: '+45' },
28
- { id: '+46', name: '+46' },
29
- { id: '+47', name: '+47' },
30
- { id: '+48', name: '+48' },
31
- { id: '+49', name: '+49' },
32
- { id: '+51', name: '+51' },
33
- { id: '+52', name: '+52' },
34
- { id: '+53', name: '+53' },
35
- { id: '+54', name: '+54' },
36
- { id: '+55', name: '+55' },
37
- { id: '+56', name: '+56' },
38
- { id: '+57', name: '+57' },
39
- { id: '+58', name: '+58' },
40
- { id: '+60', name: '+60' },
41
- { id: '+61', name: '+61' },
42
- { id: '+62', name: '+62' },
43
- { id: '+63', name: '+63' },
44
- { id: '+64', name: '+64' },
45
- { id: '+65', name: '+65' },
46
- { id: '+66', name: '+66' },
47
- { id: '+81', name: '+81' },
48
- { id: '+82', name: '+82' },
49
- { id: '+84', name: '+84' },
50
- { id: '+86', name: '+86' },
51
- { id: '+90', name: '+90' },
52
- { id: '+91', name: '+91' },
53
- { id: '+92', name: '+92' },
54
- { id: '+93', name: '+93' },
55
- { id: '+94', name: '+94' },
56
- { id: '+95', name: '+95' },
57
- { id: '+98', name: '+98' },
58
- { id: '+212', name: '+212' },
59
- { id: '+213', name: '+213' },
60
- { id: '+234', name: '+234' },
61
- { id: '+254', name: '+254' },
62
- { id: '+255', name: '+255' },
63
- { id: '+256', name: '+256' },
64
- { id: '+351', name: '+351' },
65
- { id: '+352', name: '+352' },
66
- { id: '+353', name: '+353' },
67
- { id: '+354', name: '+354' },
68
- { id: '+358', name: '+358' },
69
- { id: '+380', name: '+380' },
70
- { id: '+420', name: '+420' },
71
- { id: '+421', name: '+421' },
72
- { id: '+852', name: '+852' },
73
- { id: '+880', name: '+880' },
74
- { id: '+886', name: '+886' },
75
- { id: '+966', name: '+966' },
76
- { id: '+971', name: '+971' },
77
- { id: '+972', name: '+972' },
78
- { id: '+974', name: '+974' },
79
- { id: '+977', name: '+977' },
80
- ];
81
- /** Default country calling code option id (US/Canada), used when none is set. */
82
- export const DEFAULT_COUNTRY_CALLING_CODE = '+1';
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS1jYWxsaW5nLWNvZGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3JvdXBzL3NyYy9saWIvYXNzZXRzL2NvdW50cnktY2FsbGluZy1jb2Rlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBbUI7SUFDbkQsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUU7SUFDeEIsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUU7SUFDeEIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7SUFDMUIsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7SUFDNUIsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7SUFDNUIsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7SUFDNUIsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7SUFDNUIsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7SUFDNUIsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7SUFDNUIsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7SUFDNUIsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7SUFDNUIsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7SUFDNUIsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7SUFDNUIsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7SUFDNUIsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7SUFDNUIsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7SUFDNUIsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7SUFDNUIsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7SUFDNUIsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7SUFDNUIsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7SUFDNUIsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7SUFDNUIsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7SUFDNUIsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7SUFDNUIsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7SUFDNUIsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7Q0FDN0IsQ0FBQztBQUVGLGlGQUFpRjtBQUNqRixNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxJQUFJLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3RPcHRpb24gfSBmcm9tICdAaWVlZXNhLW5wbS9tb2RlbHMnO1xyXG5cclxuLyoqXHJcbiAqIEZyb250ZW5kLW9ubHkgc3RhdGljIGxpc3Qgb2YgY291bnRyeSBjYWxsaW5nIChkaWFsaW5nKSBjb2RlcyB1c2VkIGJ5IHRoZVxyXG4gKiBQaG9uZSBOdW1iZXIgZmllbGQncyBjb3VudHJ5LWNvZGUgZHJvcGRvd24gaW4gdGhlIGFkZC11c2VyLXJvc3RlciBmb3JtLlxyXG4gKlxyXG4gKiBUaGlzIGlzIHN0YXRpYyByZWZlcmVuY2UgZGF0YSAoaXQgZG9lcyBub3QgY2hhbmdlIHBlciByZXF1ZXN0KSwgc28gaXQgaXMga2VwdFxyXG4gKiBvbiB0aGUgZnJvbnRlbmQgcmF0aGVyIHRoYW4gZmV0Y2hlZCBmcm9tIGFuIEFQSSDigJQgbm8gZXh0cmEgZGVwZW5kZW5jeSBuZWVkZWQuXHJcbiAqIEJvdGggYGlkYCBhbmQgYG5hbWVgIGFyZSB0aGUgcmF3IGNhbGxpbmcgY29kZSAoZS5nLiBgKzFgKSBzbyB0aGUgZHJvcGRvd25cclxuICogc2hvd3Mgb25seSB0aGUgY29kZSBhbmQgdGhhdCBzYW1lIGNvZGUgaXMgd2hhdCBnZXRzIHBlcnNpc3RlZC9zZW50IHRvIHRoZVxyXG4gKiBiYWNrZW5kLiBDb3VudHJpZXMgdGhhdCBzaGFyZSBhIGNhbGxpbmcgY29kZSBhcmUgcmVwcmVzZW50ZWQgb25jZS5cclxuICovXHJcbmV4cG9ydCBjb25zdCBDT1VOVFJZX0NBTExJTkdfQ09ERVM6IFNlbGVjdE9wdGlvbltdID0gW1xyXG4gIHsgaWQ6ICcrMScsIG5hbWU6ICcrMScgfSxcclxuICB7IGlkOiAnKzcnLCBuYW1lOiAnKzcnIH0sXHJcbiAgeyBpZDogJysyMCcsIG5hbWU6ICcrMjAnIH0sXHJcbiAgeyBpZDogJysyNycsIG5hbWU6ICcrMjcnIH0sXHJcbiAgeyBpZDogJyszMCcsIG5hbWU6ICcrMzAnIH0sXHJcbiAgeyBpZDogJyszMScsIG5hbWU6ICcrMzEnIH0sXHJcbiAgeyBpZDogJyszMicsIG5hbWU6ICcrMzInIH0sXHJcbiAgeyBpZDogJyszMycsIG5hbWU6ICcrMzMnIH0sXHJcbiAgeyBpZDogJyszNCcsIG5hbWU6ICcrMzQnIH0sXHJcbiAgeyBpZDogJyszNicsIG5hbWU6ICcrMzYnIH0sXHJcbiAgeyBpZDogJyszOScsIG5hbWU6ICcrMzknIH0sXHJcbiAgeyBpZDogJys0MCcsIG5hbWU6ICcrNDAnIH0sXHJcbiAgeyBpZDogJys0MScsIG5hbWU6ICcrNDEnIH0sXHJcbiAgeyBpZDogJys0MycsIG5hbWU6ICcrNDMnIH0sXHJcbiAgeyBpZDogJys0NCcsIG5hbWU6ICcrNDQnIH0sXHJcbiAgeyBpZDogJys0NScsIG5hbWU6ICcrNDUnIH0sXHJcbiAgeyBpZDogJys0NicsIG5hbWU6ICcrNDYnIH0sXHJcbiAgeyBpZDogJys0NycsIG5hbWU6ICcrNDcnIH0sXHJcbiAgeyBpZDogJys0OCcsIG5hbWU6ICcrNDgnIH0sXHJcbiAgeyBpZDogJys0OScsIG5hbWU6ICcrNDknIH0sXHJcbiAgeyBpZDogJys1MScsIG5hbWU6ICcrNTEnIH0sXHJcbiAgeyBpZDogJys1MicsIG5hbWU6ICcrNTInIH0sXHJcbiAgeyBpZDogJys1MycsIG5hbWU6ICcrNTMnIH0sXHJcbiAgeyBpZDogJys1NCcsIG5hbWU6ICcrNTQnIH0sXHJcbiAgeyBpZDogJys1NScsIG5hbWU6ICcrNTUnIH0sXHJcbiAgeyBpZDogJys1NicsIG5hbWU6ICcrNTYnIH0sXHJcbiAgeyBpZDogJys1NycsIG5hbWU6ICcrNTcnIH0sXHJcbiAgeyBpZDogJys1OCcsIG5hbWU6ICcrNTgnIH0sXHJcbiAgeyBpZDogJys2MCcsIG5hbWU6ICcrNjAnIH0sXHJcbiAgeyBpZDogJys2MScsIG5hbWU6ICcrNjEnIH0sXHJcbiAgeyBpZDogJys2MicsIG5hbWU6ICcrNjInIH0sXHJcbiAgeyBpZDogJys2MycsIG5hbWU6ICcrNjMnIH0sXHJcbiAgeyBpZDogJys2NCcsIG5hbWU6ICcrNjQnIH0sXHJcbiAgeyBpZDogJys2NScsIG5hbWU6ICcrNjUnIH0sXHJcbiAgeyBpZDogJys2NicsIG5hbWU6ICcrNjYnIH0sXHJcbiAgeyBpZDogJys4MScsIG5hbWU6ICcrODEnIH0sXHJcbiAgeyBpZDogJys4MicsIG5hbWU6ICcrODInIH0sXHJcbiAgeyBpZDogJys4NCcsIG5hbWU6ICcrODQnIH0sXHJcbiAgeyBpZDogJys4NicsIG5hbWU6ICcrODYnIH0sXHJcbiAgeyBpZDogJys5MCcsIG5hbWU6ICcrOTAnIH0sXHJcbiAgeyBpZDogJys5MScsIG5hbWU6ICcrOTEnIH0sXHJcbiAgeyBpZDogJys5MicsIG5hbWU6ICcrOTInIH0sXHJcbiAgeyBpZDogJys5MycsIG5hbWU6ICcrOTMnIH0sXHJcbiAgeyBpZDogJys5NCcsIG5hbWU6ICcrOTQnIH0sXHJcbiAgeyBpZDogJys5NScsIG5hbWU6ICcrOTUnIH0sXHJcbiAgeyBpZDogJys5OCcsIG5hbWU6ICcrOTgnIH0sXHJcbiAgeyBpZDogJysyMTInLCBuYW1lOiAnKzIxMicgfSxcclxuICB7IGlkOiAnKzIxMycsIG5hbWU6ICcrMjEzJyB9LFxyXG4gIHsgaWQ6ICcrMjM0JywgbmFtZTogJysyMzQnIH0sXHJcbiAgeyBpZDogJysyNTQnLCBuYW1lOiAnKzI1NCcgfSxcclxuICB7IGlkOiAnKzI1NScsIG5hbWU6ICcrMjU1JyB9LFxyXG4gIHsgaWQ6ICcrMjU2JywgbmFtZTogJysyNTYnIH0sXHJcbiAgeyBpZDogJyszNTEnLCBuYW1lOiAnKzM1MScgfSxcclxuICB7IGlkOiAnKzM1MicsIG5hbWU6ICcrMzUyJyB9LFxyXG4gIHsgaWQ6ICcrMzUzJywgbmFtZTogJyszNTMnIH0sXHJcbiAgeyBpZDogJyszNTQnLCBuYW1lOiAnKzM1NCcgfSxcclxuICB7IGlkOiAnKzM1OCcsIG5hbWU6ICcrMzU4JyB9LFxyXG4gIHsgaWQ6ICcrMzgwJywgbmFtZTogJyszODAnIH0sXHJcbiAgeyBpZDogJys0MjAnLCBuYW1lOiAnKzQyMCcgfSxcclxuICB7IGlkOiAnKzQyMScsIG5hbWU6ICcrNDIxJyB9LFxyXG4gIHsgaWQ6ICcrODUyJywgbmFtZTogJys4NTInIH0sXHJcbiAgeyBpZDogJys4ODAnLCBuYW1lOiAnKzg4MCcgfSxcclxuICB7IGlkOiAnKzg4NicsIG5hbWU6ICcrODg2JyB9LFxyXG4gIHsgaWQ6ICcrOTY2JywgbmFtZTogJys5NjYnIH0sXHJcbiAgeyBpZDogJys5NzEnLCBuYW1lOiAnKzk3MScgfSxcclxuICB7IGlkOiAnKzk3MicsIG5hbWU6ICcrOTcyJyB9LFxyXG4gIHsgaWQ6ICcrOTc0JywgbmFtZTogJys5NzQnIH0sXHJcbiAgeyBpZDogJys5NzcnLCBuYW1lOiAnKzk3NycgfSxcclxuXTtcclxuXHJcbi8qKiBEZWZhdWx0IGNvdW50cnkgY2FsbGluZyBjb2RlIG9wdGlvbiBpZCAoVVMvQ2FuYWRhKSwgdXNlZCB3aGVuIG5vbmUgaXMgc2V0LiAqL1xyXG5leHBvcnQgY29uc3QgREVGQVVMVF9DT1VOVFJZX0NBTExJTkdfQ09ERSA9ICcrMSc7XHJcbiJdfQ==
@@ -1,14 +0,0 @@
1
- import { SelectOption } from '@ieeesa-npm/models';
2
- /**
3
- * Frontend-only static list of country calling (dialing) codes used by the
4
- * Phone Number field's country-code dropdown in the add-user-roster form.
5
- *
6
- * This is static reference data (it does not change per request), so it is kept
7
- * on the frontend rather than fetched from an API — no extra dependency needed.
8
- * Both `id` and `name` are the raw calling code (e.g. `+1`) so the dropdown
9
- * shows only the code and that same code is what gets persisted/sent to the
10
- * backend. Countries that share a calling code are represented once.
11
- */
12
- export declare const COUNTRY_CALLING_CODES: SelectOption[];
13
- /** Default country calling code option id (US/Canada), used when none is set. */
14
- export declare const DEFAULT_COUNTRY_CALLING_CODE = "+1";