@itilite/iui-user-management 0.4.67 → 0.4.69

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.
@@ -1,4 +1,4 @@
1
- import { IUIAsyncSelect, IUIBox, IUILabel, IUIFileUpload, IUICheckboxButton, IUIPhone, IUISelect, IUIDatePicker, IUIInput, IUIDivider, IUIGrid, IUITypography, IUIRadio, IUIButton, IUIModal, IUIAccordion, IUIAccordionSummary, IUIAccordionDetails, IUIIconButton, IUICard, IUIBackdrop, IUICircularProgress, IUIBreadCrumb, IUIAsyncMultiSelect, IUIDropzone, IUIStepper, IUIFormControlLabel, IUICheckBox, IUIPrimaryRadio, IUITable, IUISkeleton, IUIProfileBox, IUIFormGroup, IUISearch, IUIDropdownButton, IUITabs } from '@itilite/iuistyles';
1
+ import { IUIAsyncSelect, IUIBox, IUILabel, IUIFileUpload, IUICheckboxButton, IUIPhone, IUISelect, IUIDatePicker, IUIInput, IUIDivider, IUIGrid, IUITypography, IUIRadio, IUIButton, IUIModal, IUIAccordion, IUIAccordionSummary, IUIAccordionDetails, IUIIconButton, IUICard, IUIBackdrop, IUICircularProgress, IUIBreadCrumb, IUIDropzone, IUIStepper, IUIFormControlLabel, IUICheckBox, IUIPrimaryRadio, IUITable, IUISkeleton, IUIProfileBox, IUIFormGroup, IUISearch, IUIDropdownButton, IUITabs } from '@itilite/iuistyles';
2
2
  import React, { useState, useEffect, useRef, Fragment as Fragment$1 } from 'react';
3
3
  import { configs, services, utilUrls } from '@itilite/utils';
4
4
  import axios from 'axios';
@@ -32,125 +32,158 @@ function _extends() {
32
32
  };
33
33
  return _extends.apply(this, arguments);
34
34
  }
35
+ function _unsupportedIterableToArray(o, minLen) {
36
+ if (!o) return;
37
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
38
+ var n = Object.prototype.toString.call(o).slice(8, -1);
39
+ if (n === "Object" && o.constructor) n = o.constructor.name;
40
+ if (n === "Map" || n === "Set") return Array.from(o);
41
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
42
+ }
43
+ function _arrayLikeToArray(arr, len) {
44
+ if (len == null || len > arr.length) len = arr.length;
45
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
46
+ return arr2;
47
+ }
48
+ function _createForOfIteratorHelperLoose(o, allowArrayLike) {
49
+ var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
50
+ if (it) return (it = it.call(o)).next.bind(it);
51
+ if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
52
+ if (it) o = it;
53
+ var i = 0;
54
+ return function () {
55
+ if (i >= o.length) return {
56
+ done: true
57
+ };
58
+ return {
59
+ done: false,
60
+ value: o[i++]
61
+ };
62
+ };
63
+ }
64
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
65
+ }
35
66
 
36
- // A type of promise-like that resolves synchronously and supports only one observer
37
- const _Pact = /*#__PURE__*/(function() {
38
- function _Pact() {}
39
- _Pact.prototype.then = function(onFulfilled, onRejected) {
40
- const result = new _Pact();
41
- const state = this.s;
42
- if (state) {
43
- const callback = state & 1 ? onFulfilled : onRejected;
44
- if (callback) {
45
- try {
46
- _settle(result, 1, callback(this.v));
47
- } catch (e) {
48
- _settle(result, 2, e);
49
- }
50
- return result;
51
- } else {
52
- return this;
53
- }
54
- }
55
- this.o = function(_this) {
56
- try {
57
- const value = _this.v;
58
- if (_this.s & 1) {
59
- _settle(result, 1, onFulfilled ? onFulfilled(value) : value);
60
- } else if (onRejected) {
61
- _settle(result, 1, onRejected(value));
62
- } else {
63
- _settle(result, 2, value);
64
- }
65
- } catch (e) {
66
- _settle(result, 2, e);
67
- }
68
- };
69
- return result;
70
- };
71
- return _Pact;
72
- })();
73
-
74
- // Settles a pact synchronously
67
+ var _Pact = /*#__PURE__*/function () {
68
+ function _Pact() {}
69
+ _Pact.prototype.then = function (onFulfilled, onRejected) {
70
+ var result = new _Pact();
71
+ var state = this.s;
72
+ if (state) {
73
+ var callback = state & 1 ? onFulfilled : onRejected;
74
+ if (callback) {
75
+ try {
76
+ _settle(result, 1, callback(this.v));
77
+ } catch (e) {
78
+ _settle(result, 2, e);
79
+ }
80
+ return result;
81
+ } else {
82
+ return this;
83
+ }
84
+ }
85
+ this.o = function (_this) {
86
+ try {
87
+ var value = _this.v;
88
+ if (_this.s & 1) {
89
+ _settle(result, 1, onFulfilled ? onFulfilled(value) : value);
90
+ } else if (onRejected) {
91
+ _settle(result, 1, onRejected(value));
92
+ } else {
93
+ _settle(result, 2, value);
94
+ }
95
+ } catch (e) {
96
+ _settle(result, 2, e);
97
+ }
98
+ };
99
+ return result;
100
+ };
101
+ return _Pact;
102
+ }();
75
103
  function _settle(pact, state, value) {
76
- if (!pact.s) {
77
- if (value instanceof _Pact) {
78
- if (value.s) {
79
- if (state & 1) {
80
- state = value.s;
81
- }
82
- value = value.v;
83
- } else {
84
- value.o = _settle.bind(null, pact, state);
85
- return;
86
- }
87
- }
88
- if (value && value.then) {
89
- value.then(_settle.bind(null, pact, state), _settle.bind(null, pact, 2));
90
- return;
91
- }
92
- pact.s = state;
93
- pact.v = value;
94
- const observer = pact.o;
95
- if (observer) {
96
- observer(pact);
97
- }
98
- }
104
+ if (!pact.s) {
105
+ if (value instanceof _Pact) {
106
+ if (value.s) {
107
+ if (state & 1) {
108
+ state = value.s;
109
+ }
110
+ value = value.v;
111
+ } else {
112
+ value.o = _settle.bind(null, pact, state);
113
+ return;
114
+ }
115
+ }
116
+ if (value && value.then) {
117
+ value.then(_settle.bind(null, pact, state), _settle.bind(null, pact, 2));
118
+ return;
119
+ }
120
+ pact.s = state;
121
+ pact.v = value;
122
+ var observer = pact.o;
123
+ if (observer) {
124
+ observer(pact);
125
+ }
126
+ }
99
127
  }
100
-
101
128
  function _isSettledPact(thenable) {
102
- return thenable instanceof _Pact && thenable.s & 1;
129
+ return thenable instanceof _Pact && thenable.s & 1;
103
130
  }
104
-
105
- // Asynchronously iterate through an object that has a length property, passing the index as the first argument to the callback (even as the length property changes)
106
131
  function _forTo(array, body, check) {
107
- var i = -1, pact, reject;
108
- function _cycle(result) {
109
- try {
110
- while (++i < array.length && (!check || !check())) {
111
- result = body(i);
112
- if (result && result.then) {
113
- if (_isSettledPact(result)) {
114
- result = result.v;
115
- } else {
116
- result.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));
117
- return;
118
- }
119
- }
120
- }
121
- if (pact) {
122
- _settle(pact, 1, result);
123
- } else {
124
- pact = result;
125
- }
126
- } catch (e) {
127
- _settle(pact || (pact = new _Pact()), 2, e);
128
- }
129
- }
130
- _cycle();
131
- return pact;
132
+ var i = -1,
133
+ pact,
134
+ reject;
135
+ function _cycle(result) {
136
+ try {
137
+ while (++i < array.length && (!check || !check())) {
138
+ result = body(i);
139
+ if (result && result.then) {
140
+ if (_isSettledPact(result)) {
141
+ result = result.v;
142
+ } else {
143
+ result.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));
144
+ return;
145
+ }
146
+ }
147
+ }
148
+ if (pact) {
149
+ _settle(pact, 1, result);
150
+ } else {
151
+ pact = result;
152
+ }
153
+ } catch (e) {
154
+ _settle(pact || (pact = new _Pact()), 2, e);
155
+ }
156
+ }
157
+ _cycle();
158
+ return pact;
132
159
  }
133
-
134
- const _iteratorSymbol = /*#__PURE__*/ typeof Symbol !== "undefined" ? (Symbol.iterator || (Symbol.iterator = Symbol("Symbol.iterator"))) : "@@iterator";
135
-
136
- const _asyncIteratorSymbol = /*#__PURE__*/ typeof Symbol !== "undefined" ? (Symbol.asyncIterator || (Symbol.asyncIterator = Symbol("Symbol.asyncIterator"))) : "@@asyncIterator";
137
-
138
- // Asynchronously call a function and send errors to recovery continuation
160
+ var _iteratorSymbol = /*#__PURE__*/typeof Symbol !== "undefined" ? Symbol.iterator || (Symbol.iterator = Symbol("Symbol.iterator")) : "@@iterator";
161
+ var _asyncIteratorSymbol = /*#__PURE__*/typeof Symbol !== "undefined" ? Symbol.asyncIterator || (Symbol.asyncIterator = Symbol("Symbol.asyncIterator")) : "@@asyncIterator";
139
162
  function _catch(body, recover) {
140
- try {
141
- var result = body();
142
- } catch(e) {
143
- return recover(e);
144
- }
145
- if (result && result.then) {
146
- return result.then(void 0, recover);
147
- }
148
- return result;
163
+ try {
164
+ var result = body();
165
+ } catch (e) {
166
+ return recover(e);
167
+ }
168
+ if (result && result.then) {
169
+ return result.then(void 0, recover);
170
+ }
171
+ return result;
149
172
  }
150
173
 
151
- var styles = {"UUIUserManagementAddEdit":"_3n-WG","pageHeader":"_3qWcA","buttonWrapper":"_1IP9P","scrolled":"_m8f96","headingButtonWrapper":"_w9z7b","headingButtonWrapperProfile":"_12Wd9","hintText":"_ySdbZ","heading":"_2Y1Aw","headingLarge":"_2K1NF","headingMedium":"_RUuAz","headingSmall":"_23Dye","additionalInfoContainer":"_1Suhw","additionalInfoTitle":"_56iJF","titleContainer":"_H5nfl","expandIconAlign":"_3F4i0","detailsContainer":"_2G0LW","formWrapper":"_2fPRc","sectionWrapper":"_37Gqp","margin":"_2Sdl7","minGridWidth":"_2D7iu","firstRowMargin":"_1BozG","firstChildMargin":"_2C3Mb","paddingTop":"_DBPjV","backGrdColorOnHover":"_5oE6H","fieldMargin":"_RCWjq","productContainerGap":"_tuCbi","accessDelegationContainer":"_2x-2f","containerWidth":"_1oWos","productItemBroder":"_T0Hcd","headingPadding":"_2MFfQ","emptyFieldContainer":"_3VWtw","emptyFieldDescription":"_2jC5u","rowGap":"_1NJFY","formTitle":"_GAKk2","formDescription":"_3TZ6Z","themeLink":"_eJ_1B","dashedLine":"_3ZOs1","dividerColor":"_2pxEJ","errorTextCls":"_27eth","backdrop":"_Pm0Au","inputWidth":"_ajB82"};
174
+ var styles = {"UUIUserManagementAddEdit":"_3n-WG","pageHeader":"_3qWcA","buttonWrapper":"_1IP9P","scrolled":"_m8f96","headingButtonWrapper":"_w9z7b","headingButtonWrapperProfile":"_12Wd9","hintText":"_ySdbZ","heading":"_2Y1Aw","headingLarge":"_2K1NF","headingMedium":"_RUuAz","headingSmall":"_23Dye","additionalInfoContainer":"_1Suhw","additionalInfoTitle":"_56iJF","titleContainer":"_H5nfl","expandIconAlign":"_3F4i0","detailsContainer":"_2G0LW","formWrapper":"_2fPRc","sectionWrapper":"_37Gqp","margin":"_2Sdl7","minGridWidth":"_2D7iu","firstRowMargin":"_1BozG","firstChildMargin":"_2C3Mb","paddingTop":"_DBPjV","backGrdColorOnHover":"_5oE6H","fieldMargin":"_RCWjq","productContainerGap":"_tuCbi","containerWidth":"_1oWos","productItemBroder":"_T0Hcd","headingPadding":"_2MFfQ","emptyFieldContainer":"_3VWtw","emptyFieldDescription":"_2jC5u","rowGap":"_1NJFY","formTitle":"_GAKk2","formDescription":"_3TZ6Z","themeLink":"_eJ_1B","dashedLine":"_3ZOs1","dividerColor":"_2pxEJ","errorTextCls":"_27eth","backdrop":"_Pm0Au","inputWidth":"_ajB82"};
152
175
 
153
- function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f);else for(t in e)e[t]&&(n&&(n+=" "),n+=t);return n}function clsx(){for(var e,t,f=0,n="";f<arguments.length;)(e=arguments[f++])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}
176
+ function r(e) {
177
+ var t,
178
+ f,
179
+ n = "";
180
+ if ("string" == typeof e || "number" == typeof e) n += e;else if ("object" == typeof e) if (Array.isArray(e)) for (t = 0; t < e.length; t++) e[t] && (f = r(e[t])) && (n && (n += " "), n += f);else for (t in e) e[t] && (n && (n += " "), n += t);
181
+ return n;
182
+ }
183
+ function clsx() {
184
+ for (var e, t, f = 0, n = ""; f < arguments.length;) (e = arguments[f++]) && (t = r(e)) && (n && (n += " "), n += t);
185
+ return n;
186
+ }
154
187
 
155
188
  var GetInputType = React.forwardRef(function (props, ref) {
156
189
  var _p = props._p,
@@ -387,6 +420,12 @@ var userAddEditUrl = {
387
420
  },
388
421
  undoRejectUserVerification: function undoRejectUserVerification(userId) {
389
422
  return "api/v1/onboarding/user-signup-reject/" + userId + "?action=undo";
423
+ },
424
+ cardsEditUserDetails: function cardsEditUserDetails(userId) {
425
+ return env.getCardsapiURL() + "/card/authorization/user/" + userId;
426
+ },
427
+ cardsAddUsersDetails: function cardsAddUsersDetails() {
428
+ return env.getCardsapiURL() + "/card/authorization/company/" + IUILocalStorageService.getCompanyId() + "/roles";
390
429
  }
391
430
  };
392
431
  var userListUrl = {
@@ -645,7 +684,8 @@ var transferRoleOptions = function transferRoleOptions(search, loadedOptions, _r
645
684
  var approversOptions = function approversOptions(search, loadedOptions, _ref5) {
646
685
  var page = _ref5.page,
647
686
  product = _ref5.product,
648
- userId = _ref5.userId;
687
+ userId = _ref5.userId,
688
+ placeholder = _ref5.placeholder;
649
689
  try {
650
690
  return Promise.resolve(_catch(function () {
651
691
  return Promise.resolve(api.get(userAddEditUrl.approversSearch() + "?page=" + page + "&product=" + product + "&search=" + search + "&user_id=" + userId).then(function (res) {
@@ -659,7 +699,13 @@ var approversOptions = function approversOptions(search, loadedOptions, _ref5) {
659
699
  data: item.approver
660
700
  };
661
701
  });
662
- console.log("AAA", mappedValue);
702
+ if (page === 1) {
703
+ var placeholderLbl = {
704
+ value: '',
705
+ label: placeholder
706
+ };
707
+ mappedValue.unshift(placeholderLbl);
708
+ }
663
709
  return {
664
710
  options: mappedValue,
665
711
  hasMore: !!response.next,
@@ -782,6 +828,7 @@ var styles$1 = {"card":"_3_S9J","cardNumber":"_36E9M","cardDigit":"_2pm-T","expi
782
828
  var SHOW_LOADER = 'SHOW_LOADER';
783
829
  var STOP_LOADER = 'STOP_LOADER';
784
830
  var SET_RENDER_FIELDS = 'SET_RENDER_FIELDS';
831
+ var SET_CARDS_DETAILS = 'SET_CARDS_DETAILS';
785
832
  var SET_CUSTOM_FIELD = 'SET_CUSTOM_FIELD';
786
833
  var SET_TRAVEL_APPROVER_FIELD = 'SET_TRAVEL_APPROVER_FIELD';
787
834
  var SET_EXPENSE_APPROVER_FIELD = 'SET_EXPENSE_APPROVER_FIELD';
@@ -826,9 +873,15 @@ var formatCreateUserPayload = function formatCreateUserPayload(payload) {
826
873
  if (payload.productAccess.expense) {
827
874
  product.expense = payload.expenseRole || null;
828
875
  }
876
+ if (payload.productAccess.card) {
877
+ var splitRole = payload.cardsRole.split(":");
878
+ var cardsUsmRole = splitRole[2];
879
+ product.card = cardsUsmRole || null;
880
+ }
829
881
  return product;
830
882
  }(),
831
- approvers: {}
883
+ approvers: {},
884
+ requested_user_is_admin: payload.isCardsAdmin
832
885
  };
833
886
  var userTags = [];
834
887
  for (var key in payload.userTagType) {
@@ -920,13 +973,20 @@ var formatUpdateUserPayload = function formatUpdateUserPayload(payload, inputCha
920
973
  var res = {
921
974
  fields: {
922
975
  user_personal_info: {},
923
- employee_info: {}
976
+ employee_info: {},
977
+ requested_user_is_admin: payload.isCardsAdmin
924
978
  }
925
979
  };
926
980
  if (!env$1.isProfilePage()) {
927
981
  res.fields.product = function () {
928
- if (payload.productAccess.travel && payload.productAccess.expense) {
982
+ if (payload.productAccess.travel && payload.productAccess.expense && payload.productAccess.card) {
983
+ return 'expense+travel+card';
984
+ } else if (payload.productAccess.travel && payload.productAccess.expense) {
929
985
  return 'expense+travel';
986
+ } else if (payload.productAccess.expense && payload.productAccess.card) {
987
+ return 'expense+card';
988
+ } else if (payload.productAccess.travel && payload.productAccess.card) {
989
+ return 'travel+card';
930
990
  } else if (payload.productAccess.travel) {
931
991
  return 'travel';
932
992
  } else {
@@ -941,6 +1001,11 @@ var formatUpdateUserPayload = function formatUpdateUserPayload(payload, inputCha
941
1001
  if (payload.productAccess.expense) {
942
1002
  roles.expense = payload.expenseRole;
943
1003
  }
1004
+ if (payload.productAccess.card) {
1005
+ var splitRole = payload.cardsRole.split(":");
1006
+ var cardsUsmRole = splitRole[2];
1007
+ roles.card = cardsUsmRole;
1008
+ }
944
1009
  return roles;
945
1010
  }();
946
1011
  res.fields.custom_attributes = payload.customFieldsInput;
@@ -1279,6 +1344,12 @@ var setRenderFields = function setRenderFields(payload) {
1279
1344
  payload: payload
1280
1345
  };
1281
1346
  };
1347
+ var setCardsDetails = function setCardsDetails(payload) {
1348
+ return {
1349
+ type: SET_CARDS_DETAILS,
1350
+ payload: payload
1351
+ };
1352
+ };
1282
1353
  var setCustomField = function setCustomField(payload) {
1283
1354
  return {
1284
1355
  type: SET_CUSTOM_FIELD,
@@ -3181,6 +3252,12 @@ var products = [{
3181
3252
  name: 'expense',
3182
3253
  type: 'checkbox',
3183
3254
  disableText: 'Please get in touch with your administrator to change this value.'
3255
+ }, {
3256
+ id: 3,
3257
+ label: 'Card',
3258
+ name: 'card',
3259
+ type: 'checkbox',
3260
+ disableText: 'Please get in touch with your administrator to change this value.'
3184
3261
  }];
3185
3262
  var dropdownList = {
3186
3263
  gender: [{
@@ -3351,6 +3428,34 @@ var expenseConstants = {
3351
3428
  disableText: 'Please get in touch with your administrator to change this value.'
3352
3429
  }]
3353
3430
  };
3431
+ var cardsConstants = {
3432
+ heading: 'Card specific information',
3433
+ roleHeading: 'Card role',
3434
+ roleDescription: 'Roles allow users to only access relevant features and functionalities',
3435
+ roles: [{
3436
+ id: 1,
3437
+ label: 'Card holder',
3438
+ description: 'Can view own cards and transactions.',
3439
+ value: '',
3440
+ name: '',
3441
+ type: 'radio',
3442
+ isAssigned: false,
3443
+ fullWidth: false,
3444
+ visibility: true,
3445
+ disableText: 'Please get in touch with your administrator to change this value.'
3446
+ }, {
3447
+ id: 2,
3448
+ label: 'Card admin',
3449
+ description: 'Has full administrative access to the card program. Can issue cards, set card limits, add users, has visibility into all transactions, statements and balances.',
3450
+ value: '',
3451
+ name: '',
3452
+ type: 'radio',
3453
+ isAssigned: false,
3454
+ fullWidth: false,
3455
+ visibility: true,
3456
+ disableText: 'Please get in touch with your administrator to change this value.'
3457
+ }]
3458
+ };
3354
3459
  var passportInfo = [{
3355
3460
  id: 1,
3356
3461
  label: 'Passport issuing country',
@@ -3580,6 +3685,12 @@ var initialState = {
3580
3685
  travelConstants: travelConstants,
3581
3686
  expenseConstants: expenseConstants
3582
3687
  },
3688
+ isCardsDetailsRendered: false,
3689
+ isCardsAdmin: false,
3690
+ cardsDetails: {
3691
+ cardsRoles: cardsConstants.roles,
3692
+ cardsConstants: cardsConstants
3693
+ },
3583
3694
  dropdownList: dropdownList,
3584
3695
  maxTravelApprovers: 10,
3585
3696
  maxExpenseApprovers: 10,
@@ -3746,11 +3857,37 @@ var reducer = function reducer(state, action) {
3746
3857
  isRendered: true
3747
3858
  });
3748
3859
  }
3860
+ case SET_CARDS_DETAILS:
3861
+ {
3862
+ var _action$payload8, _action$payload8$role, _action$payload9;
3863
+ var cardsDetails = _extends({}, state.cardsDetails);
3864
+ if (action !== null && action !== void 0 && (_action$payload8 = action.payload) !== null && _action$payload8 !== void 0 && (_action$payload8$role = _action$payload8.roles) !== null && _action$payload8$role !== void 0 && _action$payload8$role.length) {
3865
+ cardsDetails.cardsRoles = action.payload.roles.map(function (role) {
3866
+ return {
3867
+ id: role.id,
3868
+ label: role.name,
3869
+ description: role.description,
3870
+ value: role.value,
3871
+ isAssigned: role.is_assigned,
3872
+ name: role.value,
3873
+ type: 'radio',
3874
+ fullWidth: false,
3875
+ visibility: true,
3876
+ disableText: 'Please get in touch with your administrator to change this value.'
3877
+ };
3878
+ });
3879
+ }
3880
+ return _extends({}, state, {
3881
+ cardsDetails: cardsDetails,
3882
+ isCardsDetailsRendered: true,
3883
+ isCardsAdmin: action === null || action === void 0 ? void 0 : (_action$payload9 = action.payload) === null || _action$payload9 === void 0 ? void 0 : _action$payload9.requested_user_is_admin
3884
+ });
3885
+ }
3749
3886
  case SET_STATIC_FIELDS_VISIBILITY:
3750
3887
  {
3751
3888
  var _personalInfo = state.renderFields.personalInfo.map(function (input) {
3752
- var _action$payload8;
3753
- if (action !== null && action !== void 0 && action.payload && Object.hasOwnProperty.call(action.payload, input.name) && action !== null && action !== void 0 && (_action$payload8 = action.payload) !== null && _action$payload8 !== void 0 && _action$payload8[input.name]) {
3889
+ var _action$payload10;
3890
+ if (action !== null && action !== void 0 && action.payload && Object.hasOwnProperty.call(action.payload, input.name) && action !== null && action !== void 0 && (_action$payload10 = action.payload) !== null && _action$payload10 !== void 0 && _action$payload10[input.name]) {
3754
3891
  if (Object.hasOwnProperty.call(action.payload[input.name], 'readOnly')) {
3755
3892
  input.readOnly = action.payload[input.name].readOnly;
3756
3893
  }
@@ -4803,7 +4940,9 @@ var ErrorMessages = {
4803
4940
  passport_expiry_date: 'Please enter passport expiry date.',
4804
4941
  passport_photo: 'Please attach passport photo.',
4805
4942
  travel_docs: 'Please attach travel docs.',
4806
- products: 'Please select atleast one product access.'
4943
+ products: 'Please select atleast one product access.',
4944
+ only_cards_products: 'Currently, Card cannot be selected as a standalone option. Please add at least one more product.',
4945
+ none_products: 'Select at least one product. If opting for card, please choose at least one additional product.'
4807
4946
  };
4808
4947
 
4809
4948
  function AddPanelDialog(_ref) {
@@ -4853,7 +4992,73 @@ function AddPanelDialog(_ref) {
4853
4992
  })));
4854
4993
  }
4855
4994
 
4856
- var IUIToastMessageService$4 = services.IUIToastMessageService;
4995
+ var CardsField = function CardsField(props) {
4996
+ var cardsConstants = props.cardsConstants,
4997
+ _props$onRoleChange = props.onRoleChange,
4998
+ onRoleChange = _props$onRoleChange === void 0 ? function () {} : _props$onRoleChange,
4999
+ _props$roleValue = props.roleValue,
5000
+ roleValue = _props$roleValue === void 0 ? '' : _props$roleValue,
5001
+ _props$isProfile = props.isProfile,
5002
+ isProfile = _props$isProfile === void 0 ? false : _props$isProfile,
5003
+ _props$roles = props.roles,
5004
+ roles = _props$roles === void 0 ? [] : _props$roles,
5005
+ _props$cardsAdmin = props.cardsAdmin,
5006
+ cardsAdmin = _props$cardsAdmin === void 0 ? false : _props$cardsAdmin,
5007
+ editUserId = props.editUserId,
5008
+ loggedInUserId = props.loggedInUserId;
5009
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(IUIGrid, {
5010
+ container: true,
5011
+ className: (styles.headingPadding)
5012
+ }, /*#__PURE__*/React.createElement(IUITypography, {
5013
+ variant: "h3",
5014
+ className: clsx(styles.heading, styles.headingMedium)
5015
+ }, cardsConstants.heading)), /*#__PURE__*/React.createElement(IUIDivider, {
5016
+ className: styles.dividerColor
5017
+ }), /*#__PURE__*/React.createElement(IUIGrid, {
5018
+ container: true,
5019
+ className: clsx(styles.product_info, styles.sectionWrapper)
5020
+ }, /*#__PURE__*/React.createElement(IUIGrid, {
5021
+ item: true,
5022
+ sm: 12,
5023
+ md: 4
5024
+ }, /*#__PURE__*/React.createElement(IUILabel, {
5025
+ label: cardsConstants.roleHeading,
5026
+ headerType: true,
5027
+ description: cardsConstants.roleDescription
5028
+ })), /*#__PURE__*/React.createElement(IUIGrid, {
5029
+ item: true,
5030
+ sm: 12,
5031
+ md: 8,
5032
+ lg: 8,
5033
+ xl: 6
5034
+ }, /*#__PURE__*/React.createElement(IUIGrid, {
5035
+ container: true,
5036
+ className: styles.formFieldsWrapper
5037
+ }, isProfile || loggedInUserId === editUserId ? /*#__PURE__*/React.createElement(UserRole, {
5038
+ list: roles,
5039
+ value: roleValue
5040
+ }) : /*#__PURE__*/React.createElement(IUIRadio, {
5041
+ list: roles,
5042
+ value: roleValue,
5043
+ onValueChange: onRoleChange,
5044
+ disabled: cardsAdmin ? false : true
5045
+ })), !cardsAdmin && !isProfile && /*#__PURE__*/React.createElement(IUIGrid, {
5046
+ item: true,
5047
+ sm: 12,
5048
+ md: 12,
5049
+ lg: 12,
5050
+ style: {
5051
+ marginTop: "24px"
5052
+ }
5053
+ }, /*#__PURE__*/React.createElement(IUITypography, {
5054
+ variant: "body2",
5055
+ component: "span",
5056
+ className: styles.errorTextCls
5057
+ }, editUserId ? "Only Card admin can change the Card role." : "Only Card admin can change card roles. By default this user will have Card Holder role.")))));
5058
+ };
5059
+
5060
+ var IUIToastMessageService$4 = services.IUIToastMessageService,
5061
+ IUILocalStorageService$5 = services.IUILocalStorageService;
4857
5062
  var env$4 = configs.env;
4858
5063
  var UserAddEdit = function UserAddEdit(props) {
4859
5064
  var isEditMode = props.isEditMode,
@@ -4880,7 +5085,10 @@ var UserAddEdit = function UserAddEdit(props) {
4880
5085
  isRendered = _useSelector.isRendered,
4881
5086
  maxTravelApprovers = _useSelector.maxTravelApprovers,
4882
5087
  maxExpenseApprovers = _useSelector.maxExpenseApprovers,
4883
- maxMembershipInput = _useSelector.maxMembershipInput;
5088
+ maxMembershipInput = _useSelector.maxMembershipInput,
5089
+ isCardsDetailsRendered = _useSelector.isCardsDetailsRendered,
5090
+ isCardsAdmin = _useSelector.isCardsAdmin,
5091
+ cardsDetails = _useSelector.cardsDetails;
4884
5092
  var _useSelector2 = useSelector(function (state) {
4885
5093
  return state.common;
4886
5094
  }),
@@ -4893,7 +5101,8 @@ var UserAddEdit = function UserAddEdit(props) {
4893
5101
  var location = useLocation();
4894
5102
  var _useState = useState({
4895
5103
  travel: false,
4896
- expense: false
5104
+ expense: false,
5105
+ card: false
4897
5106
  }),
4898
5107
  productAccess = _useState[0],
4899
5108
  setProductAccess = _useState[1];
@@ -4904,13 +5113,13 @@ var UserAddEdit = function UserAddEdit(props) {
4904
5113
  errorMsgs.products = '';
4905
5114
  var _productAccess = _extends({}, productAccess);
4906
5115
  _productAccess[value] = !_productAccess[value];
4907
- if (_productAccess.travel === false && _productAccess.expense === false) {
5116
+ if (_productAccess.travel === false && _productAccess.expense === false && _productAccess.card === true) {
4908
5117
  var _errorArray = [].concat(errorArray);
4909
5118
  var _errorMsgs = _extends({}, errorMsgs);
4910
5119
  if (_errorArray.indexOf('products') === -1) {
4911
5120
  _errorArray.push('products');
4912
5121
  }
4913
- _errorMsgs.products = ErrorMessages.products;
5122
+ _errorMsgs.products = ErrorMessages.only_cards_products;
4914
5123
  setErrorArray(_errorArray);
4915
5124
  setErrorMsgs(_errorMsgs);
4916
5125
  var el = document.getElementById('products');
@@ -4920,6 +5129,22 @@ var UserAddEdit = function UserAddEdit(props) {
4920
5129
  block: 'center'
4921
5130
  });
4922
5131
  }
5132
+ } else if (_productAccess.travel === false && _productAccess.expense === false && _productAccess.card === false) {
5133
+ var _errorArray2 = [].concat(errorArray);
5134
+ var _errorMsgs2 = _extends({}, errorMsgs);
5135
+ if (_errorArray2.indexOf('products') === -1) {
5136
+ _errorArray2.push('products');
5137
+ }
5138
+ _errorMsgs2.products = ErrorMessages.products;
5139
+ setErrorArray(_errorArray2);
5140
+ setErrorMsgs(_errorMsgs2);
5141
+ var _el = document.getElementById('products');
5142
+ if (_el) {
5143
+ _el.scrollIntoView({
5144
+ behavior: 'smooth',
5145
+ block: 'center'
5146
+ });
5147
+ }
4923
5148
  } else {
4924
5149
  setErrorArray(errorArray);
4925
5150
  setErrorMsgs(errorMsgs);
@@ -4935,18 +5160,155 @@ var UserAddEdit = function UserAddEdit(props) {
4935
5160
  var _useState4 = useState([]),
4936
5161
  countryContactCode = _useState4[0],
4937
5162
  setCountryContactCode = _useState4[1];
4938
- var _useState5 = useState({
4939
- errorMsg: '',
4940
- errorIds: [],
4941
- countryIds: {},
4942
- cityIds: {},
4943
- regionIds: {},
4944
- searchText: ''
4945
- }),
4946
- validation = _useState5[0];
4947
- var _useState6 = useState(false),
4948
- isDelegatesPresent = _useState6[0],
4949
- setIsDelegatesPresent = _useState6[1];
5163
+ var updateUserApiCall = function updateUserApiCall(payload, inputChangeLog) {
5164
+ dispatch(updateUser(payload, isProfile ? id : editUserId, inputChangeLog)).then(function (res) {
5165
+ if (isProfile) {
5166
+ var _config$routes, _config$routes$profil, _config$routes$profil2;
5167
+ (config === null || config === void 0 ? void 0 : (_config$routes = config.routes) === null || _config$routes === void 0 ? void 0 : (_config$routes$profil = _config$routes.profile) === null || _config$routes$profil === void 0 ? void 0 : (_config$routes$profil2 = _config$routes$profil.redirectUrl) === null || _config$routes$profil2 === void 0 ? void 0 : _config$routes$profil2.submit) && history.push(config.routes.profile.redirectUrl.submit);
5168
+ } else {
5169
+ var _config$routes2, _config$routes2$users, _config$routes2$users2;
5170
+ (config === null || config === void 0 ? void 0 : (_config$routes2 = config.routes) === null || _config$routes2 === void 0 ? void 0 : (_config$routes2$users = _config$routes2.users) === null || _config$routes2$users === void 0 ? void 0 : (_config$routes2$users2 = _config$routes2$users.list) === null || _config$routes2$users2 === void 0 ? void 0 : _config$routes2$users2.path) && history.push(config.routes.users.list.path);
5171
+ }
5172
+ setFilesForDelete([]);
5173
+ setProfilePicDelete([]);
5174
+ })["catch"](function (err) {
5175
+ if (typeof err === 'object') {
5176
+ if (err.country_code) {
5177
+ err.contact_number = err.country_code;
5178
+ }
5179
+ if (err.contact_country_code) {
5180
+ err.contact_number = err.contact_country_code;
5181
+ }
5182
+ if (err.passport) {
5183
+ err.passport_photo = _extends({}, err.passport);
5184
+ delete err.passport;
5185
+ }
5186
+ setErrorArray(Object.keys(err));
5187
+ setErrorMsgs(err);
5188
+ var _loop = function _loop() {
5189
+ if (Object.hasOwnProperty.call(err, key)) {
5190
+ if (err[key]) {
5191
+ if (key in passportInfoInput || key in travelPreferenceInfo || key in secureTravelInputInfo) {
5192
+ setAdditionalInfoFlag('open');
5193
+ }
5194
+ var el = document.getElementById(key === 'country_code' || key === 'contact_country_code' ? 'contact_number' : key);
5195
+ if (el) {
5196
+ setTimeout(function () {
5197
+ el.scrollIntoView({
5198
+ behavior: 'smooth',
5199
+ block: 'center'
5200
+ });
5201
+ }, 500);
5202
+ return 1;
5203
+ }
5204
+ }
5205
+ }
5206
+ };
5207
+ for (var key in err) {
5208
+ if (_loop()) break;
5209
+ }
5210
+ } else if (typeof err === 'string') {
5211
+ IUIToastMessageService$4.warningNotify(err);
5212
+ } else {
5213
+ IUIToastMessageService$4.warningNotify('Opps, Something went wrong.');
5214
+ }
5215
+ })["finally"](function () {
5216
+ dispatch(stopLoader());
5217
+ });
5218
+ };
5219
+ var createUserApiCall = function createUserApiCall(payload) {
5220
+ dispatch(createUser(payload)).then(function (res) {
5221
+ var _config$routes3, _config$routes3$users, _config$routes3$users2;
5222
+ if (config !== null && config !== void 0 && (_config$routes3 = config.routes) !== null && _config$routes3 !== void 0 && (_config$routes3$users = _config$routes3.users) !== null && _config$routes3$users !== void 0 && (_config$routes3$users2 = _config$routes3$users.list) !== null && _config$routes3$users2 !== void 0 && _config$routes3$users2.path) {
5223
+ history.push({
5224
+ pathname: config.routes.users.list.path
5225
+ });
5226
+ }
5227
+ })["catch"](function (err) {
5228
+ if (typeof err === 'object') {
5229
+ if (err.country_code) {
5230
+ err.contact_number = err.country_code;
5231
+ }
5232
+ if (err.contact_country_code) {
5233
+ err.contact_number = err.contact_country_code;
5234
+ }
5235
+ if (err.passport) {
5236
+ err.passport_photo = _extends({}, err.passport);
5237
+ delete err.passport;
5238
+ }
5239
+ setErrorArray(Object.keys(err));
5240
+ setErrorMsgs(err);
5241
+ var _loop2 = function _loop2() {
5242
+ if (Object.hasOwnProperty.call(err, key)) {
5243
+ if (err[key]) {
5244
+ if (key in passportInfoInput || key in travelPreferenceInfo || key in secureTravelInputInfo) {
5245
+ setAdditionalInfoFlag('open');
5246
+ }
5247
+ var el = document.getElementById(key === 'country_code' || key === 'contact_country_code' ? 'contact_number' : key);
5248
+ if (el) {
5249
+ setTimeout(function () {
5250
+ el.scrollIntoView({
5251
+ behavior: 'smooth',
5252
+ block: 'center'
5253
+ });
5254
+ }, 500);
5255
+ return 1;
5256
+ }
5257
+ }
5258
+ }
5259
+ };
5260
+ for (var key in err) {
5261
+ if (_loop2()) break;
5262
+ }
5263
+ } else if (typeof err === 'string') {
5264
+ IUIToastMessageService$4.warningNotify(err);
5265
+ } else {
5266
+ IUIToastMessageService$4.warningNotify('Opps, Something went wrong.');
5267
+ }
5268
+ })["finally"](function () {
5269
+ dispatch(stopLoader());
5270
+ });
5271
+ };
5272
+ var fetchEditUserCardsDetails = function fetchEditUserCardsDetails(editUserId) {
5273
+ fetch(userAddEditUrl.cardsEditUserDetails(editUserId), {
5274
+ method: 'GET',
5275
+ headers: {
5276
+ 'Content-Type': 'application/json',
5277
+ 'authorization': "Bearer " + IUILocalStorageService$5.getAccessToken()
5278
+ }
5279
+ }).then(function (response) {
5280
+ return response.json();
5281
+ }).then(function (res) {
5282
+ var _res$roles;
5283
+ if (res !== null && res !== void 0 && (_res$roles = res.roles) !== null && _res$roles !== void 0 && _res$roles.length) {
5284
+ dispatch(setCardsDetails(res));
5285
+ } else {
5286
+ IUIToastMessageService$4.warningNotify('Opps, Something went wrong.');
5287
+ }
5288
+ })["catch"](function (error) {
5289
+ console.log("errorrr", error);
5290
+ });
5291
+ };
5292
+ var fetchLoggedUserCardsDetails = function fetchLoggedUserCardsDetails() {
5293
+ fetch(userAddEditUrl.cardsAddUsersDetails(), {
5294
+ method: 'GET',
5295
+ headers: {
5296
+ 'Content-Type': 'application/json',
5297
+ 'authorization': "Bearer " + IUILocalStorageService$5.getAccessToken()
5298
+ }
5299
+ }).then(function (response) {
5300
+ return response.json();
5301
+ }).then(function (res) {
5302
+ var _res$roles2;
5303
+ if (res !== null && res !== void 0 && (_res$roles2 = res.roles) !== null && _res$roles2 !== void 0 && _res$roles2.length) {
5304
+ dispatch(setCardsDetails(res));
5305
+ } else {
5306
+ IUIToastMessageService$4.warningNotify('Opps, Something went wrong.');
5307
+ }
5308
+ })["catch"](function (error) {
5309
+ console.log("errorrr", error);
5310
+ });
5311
+ };
4950
5312
  useEffect(function () {
4951
5313
  var countryObject = countryContactCode.find(function (t) {
4952
5314
  return t.dial_code === countryDialCode;
@@ -4962,7 +5324,7 @@ var UserAddEdit = function UserAddEdit(props) {
4962
5324
  var convertedNumber = parseInt(extractedNumber);
4963
5325
  setCountryDialCode(convertedNumber);
4964
5326
  }, [newCountryCode]);
4965
- var _useState7 = useState({
5327
+ var _useState5 = useState({
4966
5328
  first_name: '',
4967
5329
  last_name: '',
4968
5330
  email: '',
@@ -4973,9 +5335,9 @@ var UserAddEdit = function UserAddEdit(props) {
4973
5335
  contact_country_code: '',
4974
5336
  profile_pic: []
4975
5337
  }),
4976
- personalInfoInput = _useState7[0],
4977
- setPersonalInfoInput = _useState7[1];
4978
- var _useState8 = useState({
5338
+ personalInfoInput = _useState5[0],
5339
+ setPersonalInfoInput = _useState5[1];
5340
+ var _useState6 = useState({
4979
5341
  emp_level: {
4980
5342
  value: '',
4981
5343
  label: 'Select employee level'
@@ -5008,9 +5370,9 @@ var UserAddEdit = function UserAddEdit(props) {
5008
5370
  label: defaultCurrency
5009
5371
  }
5010
5372
  }),
5011
- employeeInfoInput = _useState8[0],
5012
- setEmployeeInfoInput = _useState8[1];
5013
- var _useState9 = useState({
5373
+ employeeInfoInput = _useState6[0],
5374
+ setEmployeeInfoInput = _useState6[1];
5375
+ var _useState7 = useState({
5014
5376
  emp_level: 0,
5015
5377
  entity: 0,
5016
5378
  business_unit: 0,
@@ -5019,48 +5381,48 @@ var UserAddEdit = function UserAddEdit(props) {
5019
5381
  manager_id: 0,
5020
5382
  skip_manager_id: 0
5021
5383
  }),
5022
- cacheForAsyncDropdown = _useState9[0],
5023
- clearCacheForAsyncDropdown = _useState9[1];
5384
+ cacheForAsyncDropdown = _useState7[0],
5385
+ clearCacheForAsyncDropdown = _useState7[1];
5386
+ var _useState8 = useState({}),
5387
+ userTagType = _useState8[0],
5388
+ setUserTagType = _useState8[1];
5389
+ var _useState9 = useState(false),
5390
+ scroll = _useState9[0],
5391
+ setScroll = _useState9[1];
5024
5392
  var _useState10 = useState({}),
5025
- userTagType = _useState10[0],
5026
- setUserTagType = _useState10[1];
5027
- var _useState11 = useState(false),
5028
- scroll = _useState11[0],
5029
- setScroll = _useState11[1];
5393
+ customFieldsInput = _useState10[0],
5394
+ setCustomFieldsInput = _useState10[1];
5395
+ var _useState11 = useState('traveler'),
5396
+ travelRole = _useState11[0],
5397
+ setTravelRole = _useState11[1];
5030
5398
  var _useState12 = useState({}),
5031
- customFieldsInput = _useState12[0],
5032
- setCustomFieldsInput = _useState12[1];
5033
- var _useState13 = useState('traveler'),
5034
- travelRole = _useState13[0],
5035
- setTravelRole = _useState13[1];
5036
- var _useState14 = useState({}),
5037
- travelApproversInput = _useState14[0],
5038
- setTravelApproversInput = _useState14[1];
5039
- var _useState15 = useState({
5399
+ travelApproversInput = _useState12[0],
5400
+ setTravelApproversInput = _useState12[1];
5401
+ var _useState13 = useState({
5040
5402
  value: '',
5041
5403
  label: 'Select approver'
5042
5404
  }),
5043
- travelFYI = _useState15[0],
5044
- setTravelFYI = _useState15[1];
5045
- var _useState16 = useState([]),
5046
- membershipInfoInput = _useState16[0],
5047
- setMembershipInfoInput = _useState16[1];
5048
- var _useState17 = useState([]),
5049
- removedMembershipInfoInput = _useState17[0],
5050
- setRemovedMembershipInfoInput = _useState17[1];
5051
- var _useState18 = useState({
5405
+ travelFYI = _useState13[0],
5406
+ setTravelFYI = _useState13[1];
5407
+ var _useState14 = useState([]),
5408
+ membershipInfoInput = _useState14[0],
5409
+ setMembershipInfoInput = _useState14[1];
5410
+ var _useState15 = useState([]),
5411
+ removedMembershipInfoInput = _useState15[0],
5412
+ setRemovedMembershipInfoInput = _useState15[1];
5413
+ var _useState16 = useState({
5052
5414
  flight_seat_preference: '',
5053
5415
  meal_preference: ''
5054
5416
  }),
5055
- travelPreferenceInfo = _useState18[0],
5056
- settravelPreferenceInfo = _useState18[1];
5057
- var _useState19 = useState({
5417
+ travelPreferenceInfo = _useState16[0],
5418
+ settravelPreferenceInfo = _useState16[1];
5419
+ var _useState17 = useState({
5058
5420
  trusted_traveller: '',
5059
5421
  redress_number: ''
5060
5422
  }),
5061
- secureTravelInputInfo = _useState19[0],
5062
- setSecureTravelInputInfo = _useState19[1];
5063
- var _useState20 = useState({
5423
+ secureTravelInputInfo = _useState17[0],
5424
+ setSecureTravelInputInfo = _useState17[1];
5425
+ var _useState18 = useState({
5064
5426
  passport_issue_country: {
5065
5427
  value: '',
5066
5428
  label: 'Select country'
@@ -5075,39 +5437,76 @@ var UserAddEdit = function UserAddEdit(props) {
5075
5437
  passport_photo: [],
5076
5438
  travel_docs: []
5077
5439
  }),
5078
- passportInfoInput = _useState20[0],
5079
- setPassportInfoInput = _useState20[1];
5080
- var _useState21 = useState([]),
5081
- filesForDelete = _useState21[0],
5082
- setFilesForDelete = _useState21[1];
5083
- var _useState22 = useState([]),
5084
- profilePicDelete = _useState22[0],
5085
- setProfilePicDelete = _useState22[1];
5086
- var _useState23 = useState(config.env.isTravelProduct && isProfile ? 'open' : ''),
5087
- isAdditionalInfoExpanded = _useState23[0],
5088
- setAdditionalInfoFlag = _useState23[1];
5089
- var _useState24 = useState('submitter'),
5090
- expenseRole = _useState24[0],
5091
- setExpenseRole = _useState24[1];
5092
- var _useState25 = useState({}),
5093
- expenseApproversInput = _useState25[0],
5094
- setExpenseApproversInput = _useState25[1];
5095
- var _useState26 = useState({
5440
+ passportInfoInput = _useState18[0],
5441
+ setPassportInfoInput = _useState18[1];
5442
+ var _useState19 = useState([]),
5443
+ filesForDelete = _useState19[0],
5444
+ setFilesForDelete = _useState19[1];
5445
+ var _useState20 = useState([]),
5446
+ profilePicDelete = _useState20[0],
5447
+ setProfilePicDelete = _useState20[1];
5448
+ var _useState21 = useState(config.env.isTravelProduct && isProfile ? 'open' : ''),
5449
+ isAdditionalInfoExpanded = _useState21[0],
5450
+ setAdditionalInfoFlag = _useState21[1];
5451
+ var _useState22 = useState('submitter'),
5452
+ expenseRole = _useState22[0],
5453
+ setExpenseRole = _useState22[1];
5454
+ var _useState23 = useState({}),
5455
+ expenseApproversInput = _useState23[0],
5456
+ setExpenseApproversInput = _useState23[1];
5457
+ var _useState24 = useState({
5096
5458
  value: '',
5097
5459
  label: 'Select approver'
5098
5460
  }),
5099
- expenseFYI = _useState26[0],
5100
- setExpenseFYI = _useState26[1];
5461
+ expenseFYI = _useState24[0],
5462
+ setExpenseFYI = _useState24[1];
5463
+ var _useState25 = useState(''),
5464
+ cardsRole = _useState25[0],
5465
+ setCardsRole = _useState25[1];
5466
+ useEffect(function () {
5467
+ if (productAccess.card === false) {
5468
+ setCardsRole('');
5469
+ }
5470
+ }, [productAccess.card]);
5471
+ useEffect(function () {
5472
+ if (isCardsDetailsRendered && !isProfile && productAccess.card) {
5473
+ var selectedRole = cardsDetails.cardsRoles.find(function (role) {
5474
+ return role.isAssigned;
5475
+ });
5476
+ if (selectedRole) {
5477
+ setCardsRole(selectedRole.value);
5478
+ } else {
5479
+ var defaultRole = cardsDetails.cardsRoles.find(function (role) {
5480
+ var splitRoleVal = role.value.split(':');
5481
+ return splitRoleVal[2] === 'card-holder';
5482
+ });
5483
+ if (defaultRole) {
5484
+ setCardsRole(defaultRole.value);
5485
+ }
5486
+ }
5487
+ } else if (isCardsDetailsRendered && isProfile && productAccess.card) {
5488
+ var targetRole = isCardsAdmin ? 'card-admin' : 'card-holder';
5489
+ for (var _iterator = _createForOfIteratorHelperLoose(cardsDetails.cardsRoles), _step; !(_step = _iterator()).done;) {
5490
+ var role = _step.value;
5491
+ var splitRoleVal = role.value.split(':');
5492
+ var profileRole = splitRoleVal[2];
5493
+ if (profileRole === targetRole) {
5494
+ setCardsRole(role.value);
5495
+ break;
5496
+ }
5497
+ }
5498
+ }
5499
+ }, [isCardsDetailsRendered, cardsDetails, isProfile, productAccess.card, isCardsAdmin]);
5101
5500
  var asyncSelectRefs = useRef({
5102
5501
  emp_level: useRef(null),
5103
5502
  entity: useRef(null),
5104
5503
  business_unit: useRef(null),
5105
5504
  department: useRef(null)
5106
5505
  });
5107
- var _useState27 = useState([]),
5108
- errorArray = _useState27[0],
5109
- setErrorArray = _useState27[1];
5110
- var _useState28 = useState({
5506
+ var _useState26 = useState([]),
5507
+ errorArray = _useState26[0],
5508
+ setErrorArray = _useState26[1];
5509
+ var _useState27 = useState({
5111
5510
  first_name: '',
5112
5511
  last_name: '',
5113
5512
  email: '',
@@ -5137,9 +5536,9 @@ var UserAddEdit = function UserAddEdit(props) {
5137
5536
  userTagType: '',
5138
5537
  profile_pic: ''
5139
5538
  }),
5140
- errorMsgs = _useState28[0],
5141
- setErrorMsgs = _useState28[1];
5142
- var _useState29 = useState({
5539
+ errorMsgs = _useState27[0],
5540
+ setErrorMsgs = _useState27[1];
5541
+ var _useState28 = useState({
5143
5542
  first_name: false,
5144
5543
  last_name: false,
5145
5544
  email: false,
@@ -5166,14 +5565,14 @@ var UserAddEdit = function UserAddEdit(props) {
5166
5565
  userTagType: false,
5167
5566
  profile_pic: false
5168
5567
  }),
5169
- inputChangeLog = _useState29[0],
5170
- updateInputChangeLog = _useState29[1];
5171
- var _useState30 = useState([]),
5172
- uploadedFiles = _useState30[0],
5173
- setUploadedFiles = _useState30[1];
5174
- var _useState31 = useState(70),
5175
- maxLengthForModal = _useState31[0],
5176
- setMaxLengthForModal = _useState31[1];
5568
+ inputChangeLog = _useState28[0],
5569
+ updateInputChangeLog = _useState28[1];
5570
+ var _useState29 = useState([]),
5571
+ uploadedFiles = _useState29[0],
5572
+ setUploadedFiles = _useState29[1];
5573
+ var _useState30 = useState(70),
5574
+ maxLengthForModal = _useState30[0],
5575
+ setMaxLengthForModal = _useState30[1];
5177
5576
  var defaultAddModalData = {
5178
5577
  isOpen: false,
5179
5578
  isError: false,
@@ -5189,9 +5588,9 @@ var UserAddEdit = function UserAddEdit(props) {
5189
5588
  maxLength: maxLengthForModal,
5190
5589
  minLength: 0
5191
5590
  };
5192
- var _useState32 = useState(defaultAddModalData),
5193
- addModalData = _useState32[0],
5194
- setAddModalData = _useState32[1];
5591
+ var _useState31 = useState(defaultAddModalData),
5592
+ addModalData = _useState31[0],
5593
+ setAddModalData = _useState31[1];
5195
5594
  var onAddModalClose = function onAddModalClose() {
5196
5595
  setAddModalData(_extends({}, defaultAddModalData));
5197
5596
  };
@@ -5602,6 +6001,11 @@ var UserAddEdit = function UserAddEdit(props) {
5602
6001
  }, [isTokenVerified]);
5603
6002
  useEffect(function () {
5604
6003
  if (isRendered === true) {
6004
+ renderFields === null || renderFields === void 0 ? void 0 : renderFields.products.forEach(function (prod) {
6005
+ if ((prod === null || prod === void 0 ? void 0 : prod.name) === 'card') {
6006
+ editUserId ? fetchEditUserCardsDetails(editUserId) : fetchLoggedUserCardsDetails();
6007
+ }
6008
+ });
5605
6009
  setPersonalInfoInput(_extends({}, personalInfoInput, {
5606
6010
  country_code: countryCode
5607
6011
  }));
@@ -5723,7 +6127,8 @@ var UserAddEdit = function UserAddEdit(props) {
5723
6127
  var products = res.user_product.split('+');
5724
6128
  setProductAccess({
5725
6129
  travel: products.includes('travel'),
5726
- expense: products.includes('expense')
6130
+ expense: products.includes('expense'),
6131
+ card: products.includes('card')
5727
6132
  });
5728
6133
  if (products.includes('travel')) {
5729
6134
  var _res$travel_info, _res$travel_info2, _res$travel_info3, _res$travel_info4, _res$travel_info5, _res$travel_info6;
@@ -5940,6 +6345,9 @@ var UserAddEdit = function UserAddEdit(props) {
5940
6345
  if (employeeInfoInput.skip_manager_id.value !== '') {
5941
6346
  employeeInfoInput.skip_manager_id = employeeInfoInput.skip_manager.value;
5942
6347
  }
6348
+ var cardsPayload = {
6349
+ "roles": [cardsRole]
6350
+ };
5943
6351
  var payload = {
5944
6352
  personalInfoInput: personalInfoInput,
5945
6353
  employeeInfoInput: employeeInfoInput,
@@ -5958,7 +6366,9 @@ var UserAddEdit = function UserAddEdit(props) {
5958
6366
  uploadedFiles: uploadedFiles,
5959
6367
  filesForDelete: filesForDelete,
5960
6368
  profilePicDelete: profilePicDelete,
5961
- userTagType: userTagType
6369
+ userTagType: userTagType,
6370
+ cardsRole: cardsRole,
6371
+ isCardsAdmin: isCardsAdmin
5962
6372
  };
5963
6373
  if (verifyUserId) {
5964
6374
  payload.verifyUserId = verifyUserId;
@@ -6084,7 +6494,7 @@ var UserAddEdit = function UserAddEdit(props) {
6084
6494
  if (_isError) {
6085
6495
  setErrorArray(_errorArray);
6086
6496
  setErrorMsgs(_errorMsgs);
6087
- var _loop = function _loop() {
6497
+ var _loop3 = function _loop3() {
6088
6498
  if (Object.hasOwnProperty.call(_errorMsgs, _key3)) {
6089
6499
  if (_errorMsgs[_key3]) {
6090
6500
  if (_key3 in passportInfoInput || _key3 in travelPreferenceInfo || _key3 in secureTravelInputInfo) {
@@ -6104,115 +6514,109 @@ var UserAddEdit = function UserAddEdit(props) {
6104
6514
  }
6105
6515
  };
6106
6516
  for (var _key3 in _errorMsgs) {
6107
- if (_loop()) break;
6517
+ if (_loop3()) break;
6108
6518
  }
6109
6519
  }
6520
+ var cardApiflag = false;
6521
+ if (productAccess.card === false || isCardsAdmin === false) {
6522
+ cardApiflag = false;
6523
+ } else {
6524
+ cardApiflag = true;
6525
+ }
6110
6526
  if (!_isError) {
6111
6527
  if (isEditMode && editUserId || isProfile) {
6112
6528
  dispatch(showLoader());
6113
- dispatch(updateUser(payload, isProfile ? id : editUserId, inputChangeLog)).then(function (res) {
6114
- if (isProfile) {
6115
- var _config$routes, _config$routes$profil, _config$routes$profil2;
6116
- (config === null || config === void 0 ? void 0 : (_config$routes = config.routes) === null || _config$routes === void 0 ? void 0 : (_config$routes$profil = _config$routes.profile) === null || _config$routes$profil === void 0 ? void 0 : (_config$routes$profil2 = _config$routes$profil.redirectUrl) === null || _config$routes$profil2 === void 0 ? void 0 : _config$routes$profil2.submit) && history.push(config.routes.profile.redirectUrl.submit);
6117
- } else {
6118
- var _config$routes2, _config$routes2$users, _config$routes2$users2;
6119
- (config === null || config === void 0 ? void 0 : (_config$routes2 = config.routes) === null || _config$routes2 === void 0 ? void 0 : (_config$routes2$users = _config$routes2.users) === null || _config$routes2$users === void 0 ? void 0 : (_config$routes2$users2 = _config$routes2$users.list) === null || _config$routes2$users2 === void 0 ? void 0 : _config$routes2$users2.path) && history.push(config.routes.users.list.path);
6120
- }
6121
- setFilesForDelete([]);
6122
- setProfilePicDelete([]);
6123
- })["catch"](function (err) {
6124
- if (typeof err === 'object') {
6125
- if (err.country_code) {
6126
- err.contact_number = err.country_code;
6127
- }
6128
- if (err.contact_country_code) {
6129
- err.contact_number = err.contact_country_code;
6529
+ if (cardApiflag && !isProfile && editUserId !== (id === null || id === void 0 ? void 0 : id.toString())) {
6530
+ fetch(userAddEditUrl.cardsEditUserDetails(editUserId), {
6531
+ method: 'POST',
6532
+ body: JSON.stringify(cardsPayload),
6533
+ headers: {
6534
+ 'Content-Type': 'application/json',
6535
+ 'authorization': "Bearer " + IUILocalStorageService$5.getAccessToken()
6130
6536
  }
6131
- if (err.passport) {
6132
- err.passport_photo = _extends({}, err.passport);
6133
- delete err.passport;
6134
- }
6135
- setErrorArray(Object.keys(err));
6136
- setErrorMsgs(err);
6137
- var _loop2 = function _loop2() {
6138
- if (Object.hasOwnProperty.call(err, _key4)) {
6139
- if (err[_key4]) {
6140
- if (_key4 in passportInfoInput || _key4 in travelPreferenceInfo || _key4 in secureTravelInputInfo) {
6141
- setAdditionalInfoFlag('open');
6142
- }
6143
- var el = document.getElementById(_key4 === 'country_code' || _key4 === 'contact_country_code' ? 'contact_number' : _key4);
6144
- if (el) {
6145
- setTimeout(function () {
6146
- el.scrollIntoView({
6147
- behavior: 'smooth',
6148
- block: 'center'
6149
- });
6150
- }, 500);
6151
- return 1;
6152
- }
6153
- }
6154
- }
6155
- };
6156
- for (var _key4 in err) {
6157
- if (_loop2()) break;
6537
+ }).then(function (response) {
6538
+ if (response.status === 200) {
6539
+ updateUserApiCall(payload, inputChangeLog);
6540
+ } else {
6541
+ IUIToastMessageService$4.warningNotify('Opps, Something went wrong.');
6158
6542
  }
6159
- } else if (typeof err === 'string') {
6160
- IUIToastMessageService$4.warningNotify(err);
6161
- } else {
6162
- IUIToastMessageService$4.warningNotify('Opps, Something went wrong.');
6163
- }
6164
- })["finally"](function () {
6165
- dispatch(stopLoader());
6166
- });
6543
+ })["catch"](function (error) {
6544
+ console.log("errorrr", error);
6545
+ })["finally"](function () {
6546
+ dispatch(stopLoader());
6547
+ });
6548
+ } else {
6549
+ updateUserApiCall(payload, inputChangeLog);
6550
+ }
6167
6551
  } else {
6168
6552
  dispatch(showLoader());
6169
- dispatch(createUser(payload)).then(function (res) {
6170
- var _config$routes3, _config$routes3$users, _config$routes3$users2;
6171
- (config === null || config === void 0 ? void 0 : (_config$routes3 = config.routes) === null || _config$routes3 === void 0 ? void 0 : (_config$routes3$users = _config$routes3.users) === null || _config$routes3$users === void 0 ? void 0 : (_config$routes3$users2 = _config$routes3$users.list) === null || _config$routes3$users2 === void 0 ? void 0 : _config$routes3$users2.path) && history.push(config.routes.users.list.path);
6172
- })["catch"](function (err) {
6173
- if (typeof err === 'object') {
6174
- if (err.country_code) {
6175
- err.contact_number = err.country_code;
6176
- }
6177
- if (err.contact_country_code) {
6178
- err.contact_number = err.contact_country_code;
6179
- }
6180
- if (err.passport) {
6181
- err.passport_photo = _extends({}, err.passport);
6182
- delete err.passport;
6553
+ if (cardApiflag === true) {
6554
+ dispatch(createUser(payload)).then(function (res) {
6555
+ var _config$routes4, _config$routes4$users, _config$routes4$users2;
6556
+ if (res !== null && res !== void 0 && res.user_id) {
6557
+ fetch(userAddEditUrl.cardsEditUserDetails(res === null || res === void 0 ? void 0 : res.user_id), {
6558
+ method: 'POST',
6559
+ body: JSON.stringify(cardsPayload),
6560
+ headers: {
6561
+ 'Content-Type': 'application/json',
6562
+ 'authorization': "Bearer " + IUILocalStorageService$5.getAccessToken()
6563
+ }
6564
+ }).then(function (response) {
6565
+ if (response.status !== 200) {
6566
+ IUIToastMessageService$4.warningNotify('Opps, Something went wrong.');
6567
+ }
6568
+ })["catch"](function (error) {
6569
+ console.log("errorrr", error);
6570
+ });
6183
6571
  }
6184
- setErrorArray(Object.keys(err));
6185
- setErrorMsgs(err);
6186
- var _loop3 = function _loop3() {
6187
- if (Object.hasOwnProperty.call(err, _key5)) {
6188
- if (err[_key5]) {
6189
- if (_key5 in passportInfoInput || _key5 in travelPreferenceInfo || _key5 in secureTravelInputInfo) {
6190
- setAdditionalInfoFlag('open');
6191
- }
6192
- var el = document.getElementById(_key5 === 'country_code' || _key5 === 'contact_country_code' ? 'contact_number' : _key5);
6193
- if (el) {
6194
- setTimeout(function () {
6195
- el.scrollIntoView({
6196
- behavior: 'smooth',
6197
- block: 'center'
6198
- });
6199
- }, 500);
6200
- return 1;
6572
+ (config === null || config === void 0 ? void 0 : (_config$routes4 = config.routes) === null || _config$routes4 === void 0 ? void 0 : (_config$routes4$users = _config$routes4.users) === null || _config$routes4$users === void 0 ? void 0 : (_config$routes4$users2 = _config$routes4$users.list) === null || _config$routes4$users2 === void 0 ? void 0 : _config$routes4$users2.path) && history.push(config.routes.users.list.path);
6573
+ })["catch"](function (err) {
6574
+ if (typeof err === 'object') {
6575
+ if (err.country_code) {
6576
+ err.contact_number = err.country_code;
6577
+ }
6578
+ if (err.contact_country_code) {
6579
+ err.contact_number = err.contact_country_code;
6580
+ }
6581
+ if (err.passport) {
6582
+ err.passport_photo = _extends({}, err.passport);
6583
+ delete err.passport;
6584
+ }
6585
+ setErrorArray(Object.keys(err));
6586
+ setErrorMsgs(err);
6587
+ var _loop4 = function _loop4() {
6588
+ if (Object.hasOwnProperty.call(err, _key4)) {
6589
+ if (err[_key4]) {
6590
+ if (_key4 in passportInfoInput || _key4 in travelPreferenceInfo || _key4 in secureTravelInputInfo) {
6591
+ setAdditionalInfoFlag('open');
6592
+ }
6593
+ var el = document.getElementById(_key4 === 'country_code' || _key4 === 'contact_country_code' ? 'contact_number' : _key4);
6594
+ if (el) {
6595
+ setTimeout(function () {
6596
+ el.scrollIntoView({
6597
+ behavior: 'smooth',
6598
+ block: 'center'
6599
+ });
6600
+ }, 500);
6601
+ return 1;
6602
+ }
6201
6603
  }
6202
6604
  }
6605
+ };
6606
+ for (var _key4 in err) {
6607
+ if (_loop4()) break;
6203
6608
  }
6204
- };
6205
- for (var _key5 in err) {
6206
- if (_loop3()) break;
6609
+ } else if (typeof err === 'string') {
6610
+ IUIToastMessageService$4.warningNotify(err);
6611
+ } else {
6612
+ IUIToastMessageService$4.warningNotify('Opps, Something went wrong.');
6207
6613
  }
6208
- } else if (typeof err === 'string') {
6209
- IUIToastMessageService$4.warningNotify(err);
6210
- } else {
6211
- IUIToastMessageService$4.warningNotify('Opps, Something went wrong.');
6212
- }
6213
- })["finally"](function () {
6214
- dispatch(stopLoader());
6215
- });
6614
+ })["finally"](function () {
6615
+ dispatch(stopLoader());
6616
+ });
6617
+ } else {
6618
+ createUserApiCall(payload);
6619
+ }
6216
6620
  }
6217
6621
  }
6218
6622
  return Promise.resolve();
@@ -6230,8 +6634,8 @@ var UserAddEdit = function UserAddEdit(props) {
6230
6634
  }
6231
6635
  }
6232
6636
  } else {
6233
- var _config$routes4, _config$routes4$users, _config$routes4$users2;
6234
- (config === null || config === void 0 ? void 0 : (_config$routes4 = config.routes) === null || _config$routes4 === void 0 ? void 0 : (_config$routes4$users = _config$routes4.users) === null || _config$routes4$users === void 0 ? void 0 : (_config$routes4$users2 = _config$routes4$users.list) === null || _config$routes4$users2 === void 0 ? void 0 : _config$routes4$users2.path) && history.push(config.routes.users.list.path);
6637
+ var _config$routes5, _config$routes5$users, _config$routes5$users2;
6638
+ (config === null || config === void 0 ? void 0 : (_config$routes5 = config.routes) === null || _config$routes5 === void 0 ? void 0 : (_config$routes5$users = _config$routes5.users) === null || _config$routes5$users === void 0 ? void 0 : (_config$routes5$users2 = _config$routes5$users.list) === null || _config$routes5$users2 === void 0 ? void 0 : _config$routes5$users2.path) && history.push(config.routes.users.list.path);
6235
6639
  }
6236
6640
  };
6237
6641
  var handleCustomFieldsNavigation = function handleCustomFieldsNavigation() {
@@ -6528,74 +6932,6 @@ var UserAddEdit = function UserAddEdit(props) {
6528
6932
  item: true,
6529
6933
  sm: 12,
6530
6934
  md: 4
6531
- }, /*#__PURE__*/React.createElement(IUILabel, {
6532
- label: "Delegation access",
6533
- description: isProfile ? '' : 'Authorise another user to access your account. The delegated user will have full access to your account. Read more.',
6534
- headerType: true,
6535
- hasInfoIcon: true,
6536
- tooltipText: "test tooltip"
6537
- })), /*#__PURE__*/React.createElement(IUIGrid, {
6538
- item: true,
6539
- sm: 12,
6540
- md: 8,
6541
- lg: 8,
6542
- xl: 6
6543
- }, isDelegatesPresent ? /*#__PURE__*/React.createElement(IUIGrid, {
6544
- className: styles.accessDelegationContainer
6545
- }, /*#__PURE__*/React.createElement(IUIAsyncMultiSelect, {
6546
- id: 'asyncSelect',
6547
- additional: {
6548
- page: 1,
6549
- product: 'travel',
6550
- userId: editUserId,
6551
- placeholder: 'Select approver'
6552
- },
6553
- placeHolderCheck: travelFYI !== undefined && travelFYI.value === '',
6554
- value: travelFYI.label === 'Select approver' ? '' : travelFYI,
6555
- customSelectHandler: function customSelectHandler(selectedOption) {
6556
- setTravelFYI(selectedOption);
6557
- },
6558
- loadOption: approversOptions,
6559
- readOnly: isProfile,
6560
- isMulti: true,
6561
- label: 'Users',
6562
- name: '',
6563
- inputType: true,
6564
- disableText: 'disabled',
6565
- validation: validation,
6566
- isAccessDelegation: true
6567
- })) : /*#__PURE__*/React.createElement(IUIGrid, {
6568
- container: true,
6569
- className: styles.accessDelegationContainer
6570
- }, /*#__PURE__*/React.createElement(IUIBox, {
6571
- className: styles.emptyFieldContainer
6572
- }, /*#__PURE__*/React.createElement(IUITypography, {
6573
- className: styles.emptyFieldDescription
6574
- }, "No Delegates added."), !isProfile && /*#__PURE__*/React.createElement(IUIBox, {
6575
- className: styles.emptyFieldBtnContainer
6576
- }, /*#__PURE__*/React.createElement(IUIButton, {
6577
- buttonText: "Add delegate",
6578
- type: "text",
6579
- startIcon: /*#__PURE__*/React.createElement(AddIcon, {
6580
- width: "10",
6581
- height: "10",
6582
- color: "#EC5D25"
6583
- }),
6584
- className: styles.paddingTop,
6585
- onClick: function onClick() {
6586
- return setIsDelegatesPresent(function (prev) {
6587
- return !prev;
6588
- });
6589
- }
6590
- })))))), /*#__PURE__*/React.createElement(IUIDivider, {
6591
- className: styles.dividerColor
6592
- }), /*#__PURE__*/React.createElement(IUIGrid, {
6593
- container: true,
6594
- className: clsx(styles.product_info, styles.sectionWrapper)
6595
- }, /*#__PURE__*/React.createElement(IUIGrid, {
6596
- item: true,
6597
- sm: 12,
6598
- md: 4
6599
6935
  }, /*#__PURE__*/React.createElement(IUILabel, {
6600
6936
  label: "Product access",
6601
6937
  description: isProfile ? '' : 'Select at least one product',
@@ -6612,6 +6948,10 @@ var UserAddEdit = function UserAddEdit(props) {
6612
6948
  className: styles.productContainerGap
6613
6949
  }, renderFields.products.map(function (p, i) {
6614
6950
  p.readOnly = isProfile;
6951
+ if (p.id === 3 && !isCardsAdmin && !isProfile) {
6952
+ p.readOnly = true;
6953
+ p.disableText = "Only card admin can change this access.";
6954
+ }
6615
6955
  return /*#__PURE__*/React.createElement(IUIGrid, {
6616
6956
  item: true,
6617
6957
  sm: 12,
@@ -6704,6 +7044,21 @@ var UserAddEdit = function UserAddEdit(props) {
6704
7044
  isProfile: isProfile,
6705
7045
  editUserId: editUserId,
6706
7046
  roles: renderFields.expenseRoles
7047
+ }), /*#__PURE__*/React.createElement(IUIDivider, {
7048
+ className: styles.dividerColor
7049
+ }), isCardsDetailsRendered && productAccess && productAccess.card && /*#__PURE__*/React.createElement(CardsField, {
7050
+ cardsConstants: cardsDetails.cardsConstants,
7051
+ type: "card",
7052
+ isProfile: isProfile,
7053
+ onRoleChange: function onRoleChange(_ref7) {
7054
+ var _value = _ref7._value;
7055
+ return setCardsRole(_value);
7056
+ },
7057
+ roleValue: cardsRole,
7058
+ roles: cardsDetails.cardsRoles,
7059
+ cardsAdmin: isCardsAdmin,
7060
+ editUserId: editUserId,
7061
+ loggedInUserId: id === null || id === void 0 ? void 0 : id.toString()
6707
7062
  }))) : /*#__PURE__*/React.createElement(VerificationError, {
6708
7063
  config: config,
6709
7064
  errMsg: hasVerificationError
@@ -8512,7 +8867,7 @@ var StickyHeadTable = function StickyHeadTable(props) {
8512
8867
  cell: function cell(row) {
8513
8868
  return /*#__PURE__*/React.createElement(IUIBox, {
8514
8869
  component: "div"
8515
- }, row.products.length > 0 ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(IUIBox, {
8870
+ }, row.products.length > 0 ? /*#__PURE__*/React.createElement(React.Fragment, null, !row.products[0].role.toLowerCase().includes("holder") ? /*#__PURE__*/React.createElement(IUIBox, {
8516
8871
  component: "div",
8517
8872
  display: "flex"
8518
8873
  }, /*#__PURE__*/React.createElement(IUITypography, {
@@ -8525,7 +8880,7 @@ var StickyHeadTable = function StickyHeadTable(props) {
8525
8880
  style: {
8526
8881
  whiteSpace: 'nowrap'
8527
8882
  }
8528
- }, "\xA0" + row.products[0].role)), row.products[1] && /*#__PURE__*/React.createElement(IUIBox, {
8883
+ }, "\xA0" + row.products[0].role)) : "", row.products[1] && !row.products[1].role.toLowerCase().includes("holder") && /*#__PURE__*/React.createElement(IUIBox, {
8529
8884
  component: "div",
8530
8885
  display: "flex"
8531
8886
  }, /*#__PURE__*/React.createElement(IUITypography, {
@@ -8538,7 +8893,20 @@ var StickyHeadTable = function StickyHeadTable(props) {
8538
8893
  style: {
8539
8894
  whiteSpace: 'nowrap'
8540
8895
  }
8541
- }, "\xA0" + row.products[1].role))) : '');
8896
+ }, "\xA0" + row.products[1].role)), row.products[2] && !row.products[2].role.toLowerCase().includes("holder") && /*#__PURE__*/React.createElement(IUIBox, {
8897
+ component: "div",
8898
+ display: "flex"
8899
+ }, /*#__PURE__*/React.createElement(IUITypography, {
8900
+ className: clsx(styles$5.rowText, styles$5.textTransform, styles$5.lightColor),
8901
+ style: {
8902
+ whiteSpace: 'nowrap'
8903
+ }
8904
+ }, row.products[2].name + ' / '), /*#__PURE__*/React.createElement(IUITypography, {
8905
+ className: clsx(styles$5.rowText, styles$5.textTransform),
8906
+ style: {
8907
+ whiteSpace: 'nowrap'
8908
+ }
8909
+ }, "\xA0" + row.products[2].role))) : '');
8542
8910
  }
8543
8911
  }, {
8544
8912
  id: 'status',