@itilite/iui-user-management 1.4.0 → 1.4.2

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.
@@ -32,6 +32,37 @@ 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
67
  var _Pact = /*#__PURE__*/function () {
37
68
  function _Pact() {}
@@ -389,6 +420,12 @@ var userAddEditUrl = {
389
420
  },
390
421
  undoRejectUserVerification: function undoRejectUserVerification(userId) {
391
422
  return "api/v1/onboarding/user-signup-reject/" + userId + "?action=undo";
423
+ },
424
+ cardsEditUserDetails: function cardsEditUserDetails(userId) {
425
+ return env.getCardsapiURL() + "/authorization/user/" + userId;
426
+ },
427
+ cardsAddUsersDetails: function cardsAddUsersDetails() {
428
+ return env.getCardsapiURL() + "/authorization/company/" + IUILocalStorageService.getCompanyId() + "/roles";
392
429
  }
393
430
  };
394
431
  var userListUrl = {
@@ -791,6 +828,7 @@ var styles$1 = {"card":"_3_S9J","cardNumber":"_36E9M","cardDigit":"_2pm-T","expi
791
828
  var SHOW_LOADER = 'SHOW_LOADER';
792
829
  var STOP_LOADER = 'STOP_LOADER';
793
830
  var SET_RENDER_FIELDS = 'SET_RENDER_FIELDS';
831
+ var SET_CARDS_DETAILS = 'SET_CARDS_DETAILS';
794
832
  var SET_CUSTOM_FIELD = 'SET_CUSTOM_FIELD';
795
833
  var SET_TRAVEL_APPROVER_FIELD = 'SET_TRAVEL_APPROVER_FIELD';
796
834
  var SET_EXPENSE_APPROVER_FIELD = 'SET_EXPENSE_APPROVER_FIELD';
@@ -835,9 +873,15 @@ var formatCreateUserPayload = function formatCreateUserPayload(payload) {
835
873
  if (payload.productAccess.expense) {
836
874
  product.expense = payload.expenseRole || null;
837
875
  }
876
+ if (payload.productAccess.card) {
877
+ var splitRole = payload.cardsRole.split(":");
878
+ var cardsUsmRole = splitRole[2];
879
+ product.card = cardsUsmRole || null;
880
+ }
838
881
  return product;
839
882
  }(),
840
- approvers: {}
883
+ approvers: {},
884
+ requested_user_is_admin: payload.isCardsAdmin
841
885
  };
842
886
  var userTags = [];
843
887
  for (var key in payload.userTagType) {
@@ -929,13 +973,20 @@ var formatUpdateUserPayload = function formatUpdateUserPayload(payload, inputCha
929
973
  var res = {
930
974
  fields: {
931
975
  user_personal_info: {},
932
- employee_info: {}
976
+ employee_info: {},
977
+ requested_user_is_admin: payload.isCardsAdmin
933
978
  }
934
979
  };
935
980
  if (!env$1.isProfilePage()) {
936
981
  res.fields.product = function () {
937
- 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) {
938
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';
939
990
  } else if (payload.productAccess.travel) {
940
991
  return 'travel';
941
992
  } else {
@@ -950,6 +1001,11 @@ var formatUpdateUserPayload = function formatUpdateUserPayload(payload, inputCha
950
1001
  if (payload.productAccess.expense) {
951
1002
  roles.expense = payload.expenseRole;
952
1003
  }
1004
+ if (payload.productAccess.card) {
1005
+ var splitRole = payload.cardsRole.split(":");
1006
+ var cardsUsmRole = splitRole[2];
1007
+ roles.card = cardsUsmRole;
1008
+ }
953
1009
  return roles;
954
1010
  }();
955
1011
  res.fields.custom_attributes = payload.customFieldsInput;
@@ -1288,6 +1344,12 @@ var setRenderFields = function setRenderFields(payload) {
1288
1344
  payload: payload
1289
1345
  };
1290
1346
  };
1347
+ var setCardsDetails = function setCardsDetails(payload) {
1348
+ return {
1349
+ type: SET_CARDS_DETAILS,
1350
+ payload: payload
1351
+ };
1352
+ };
1291
1353
  var setCustomField = function setCustomField(payload) {
1292
1354
  return {
1293
1355
  type: SET_CUSTOM_FIELD,
@@ -3190,6 +3252,12 @@ var products = [{
3190
3252
  name: 'expense',
3191
3253
  type: 'checkbox',
3192
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.'
3193
3261
  }];
3194
3262
  var dropdownList = {
3195
3263
  gender: [{
@@ -3360,6 +3428,34 @@ var expenseConstants = {
3360
3428
  disableText: 'Please get in touch with your administrator to change this value.'
3361
3429
  }]
3362
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
+ };
3363
3459
  var passportInfo = [{
3364
3460
  id: 1,
3365
3461
  label: 'Passport issuing country',
@@ -3589,6 +3685,12 @@ var initialState = {
3589
3685
  travelConstants: travelConstants,
3590
3686
  expenseConstants: expenseConstants
3591
3687
  },
3688
+ isCardsDetailsRendered: false,
3689
+ isCardsAdmin: false,
3690
+ cardsDetails: {
3691
+ cardsRoles: cardsConstants.roles,
3692
+ cardsConstants: cardsConstants
3693
+ },
3592
3694
  dropdownList: dropdownList,
3593
3695
  maxTravelApprovers: 10,
3594
3696
  maxExpenseApprovers: 10,
@@ -3755,11 +3857,37 @@ var reducer = function reducer(state, action) {
3755
3857
  isRendered: true
3756
3858
  });
3757
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
+ }
3758
3886
  case SET_STATIC_FIELDS_VISIBILITY:
3759
3887
  {
3760
3888
  var _personalInfo = state.renderFields.personalInfo.map(function (input) {
3761
- var _action$payload8;
3762
- 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]) {
3763
3891
  if (Object.hasOwnProperty.call(action.payload[input.name], 'readOnly')) {
3764
3892
  input.readOnly = action.payload[input.name].readOnly;
3765
3893
  }
@@ -4812,7 +4940,9 @@ var ErrorMessages = {
4812
4940
  passport_expiry_date: 'Please enter passport expiry date.',
4813
4941
  passport_photo: 'Please attach passport photo.',
4814
4942
  travel_docs: 'Please attach travel docs.',
4815
- 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.'
4816
4946
  };
4817
4947
 
4818
4948
  function AddPanelDialog(_ref) {
@@ -4862,7 +4992,73 @@ function AddPanelDialog(_ref) {
4862
4992
  })));
4863
4993
  }
4864
4994
 
4865
- 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;
4866
5062
  var env$4 = configs.env;
4867
5063
  var UserAddEdit = function UserAddEdit(props) {
4868
5064
  var isEditMode = props.isEditMode,
@@ -4889,7 +5085,10 @@ var UserAddEdit = function UserAddEdit(props) {
4889
5085
  isRendered = _useSelector.isRendered,
4890
5086
  maxTravelApprovers = _useSelector.maxTravelApprovers,
4891
5087
  maxExpenseApprovers = _useSelector.maxExpenseApprovers,
4892
- maxMembershipInput = _useSelector.maxMembershipInput;
5088
+ maxMembershipInput = _useSelector.maxMembershipInput,
5089
+ isCardsDetailsRendered = _useSelector.isCardsDetailsRendered,
5090
+ isCardsAdmin = _useSelector.isCardsAdmin,
5091
+ cardsDetails = _useSelector.cardsDetails;
4893
5092
  var _useSelector2 = useSelector(function (state) {
4894
5093
  return state.common;
4895
5094
  }),
@@ -4902,7 +5101,8 @@ var UserAddEdit = function UserAddEdit(props) {
4902
5101
  var location = useLocation();
4903
5102
  var _useState = useState({
4904
5103
  travel: false,
4905
- expense: false
5104
+ expense: false,
5105
+ card: false
4906
5106
  }),
4907
5107
  productAccess = _useState[0],
4908
5108
  setProductAccess = _useState[1];
@@ -4913,13 +5113,13 @@ var UserAddEdit = function UserAddEdit(props) {
4913
5113
  errorMsgs.products = '';
4914
5114
  var _productAccess = _extends({}, productAccess);
4915
5115
  _productAccess[value] = !_productAccess[value];
4916
- if (_productAccess.travel === false && _productAccess.expense === false) {
5116
+ if (_productAccess.travel === false && _productAccess.expense === false && _productAccess.card === true) {
4917
5117
  var _errorArray = [].concat(errorArray);
4918
5118
  var _errorMsgs = _extends({}, errorMsgs);
4919
5119
  if (_errorArray.indexOf('products') === -1) {
4920
5120
  _errorArray.push('products');
4921
5121
  }
4922
- _errorMsgs.products = ErrorMessages.products;
5122
+ _errorMsgs.products = ErrorMessages.only_cards_products;
4923
5123
  setErrorArray(_errorArray);
4924
5124
  setErrorMsgs(_errorMsgs);
4925
5125
  var el = document.getElementById('products');
@@ -4929,6 +5129,22 @@ var UserAddEdit = function UserAddEdit(props) {
4929
5129
  block: 'center'
4930
5130
  });
4931
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
+ }
4932
5148
  } else {
4933
5149
  setErrorArray(errorArray);
4934
5150
  setErrorMsgs(errorMsgs);
@@ -4944,6 +5160,155 @@ var UserAddEdit = function UserAddEdit(props) {
4944
5160
  var _useState4 = useState([]),
4945
5161
  countryContactCode = _useState4[0],
4946
5162
  setCountryContactCode = _useState4[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
+ };
4947
5312
  useEffect(function () {
4948
5313
  var countryObject = countryContactCode.find(function (t) {
4949
5314
  return t.dial_code === countryDialCode;
@@ -5095,16 +5460,53 @@ var UserAddEdit = function UserAddEdit(props) {
5095
5460
  }),
5096
5461
  expenseFYI = _useState24[0],
5097
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]);
5098
5500
  var asyncSelectRefs = useRef({
5099
5501
  emp_level: useRef(null),
5100
5502
  entity: useRef(null),
5101
5503
  business_unit: useRef(null),
5102
5504
  department: useRef(null)
5103
5505
  });
5104
- var _useState25 = useState([]),
5105
- errorArray = _useState25[0],
5106
- setErrorArray = _useState25[1];
5107
- var _useState26 = useState({
5506
+ var _useState26 = useState([]),
5507
+ errorArray = _useState26[0],
5508
+ setErrorArray = _useState26[1];
5509
+ var _useState27 = useState({
5108
5510
  first_name: '',
5109
5511
  last_name: '',
5110
5512
  email: '',
@@ -5134,9 +5536,9 @@ var UserAddEdit = function UserAddEdit(props) {
5134
5536
  userTagType: '',
5135
5537
  profile_pic: ''
5136
5538
  }),
5137
- errorMsgs = _useState26[0],
5138
- setErrorMsgs = _useState26[1];
5139
- var _useState27 = useState({
5539
+ errorMsgs = _useState27[0],
5540
+ setErrorMsgs = _useState27[1];
5541
+ var _useState28 = useState({
5140
5542
  first_name: false,
5141
5543
  last_name: false,
5142
5544
  email: false,
@@ -5163,14 +5565,14 @@ var UserAddEdit = function UserAddEdit(props) {
5163
5565
  userTagType: false,
5164
5566
  profile_pic: false
5165
5567
  }),
5166
- inputChangeLog = _useState27[0],
5167
- updateInputChangeLog = _useState27[1];
5168
- var _useState28 = useState([]),
5169
- uploadedFiles = _useState28[0],
5170
- setUploadedFiles = _useState28[1];
5171
- var _useState29 = useState(70),
5172
- maxLengthForModal = _useState29[0],
5173
- setMaxLengthForModal = _useState29[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];
5174
5576
  var defaultAddModalData = {
5175
5577
  isOpen: false,
5176
5578
  isError: false,
@@ -5186,9 +5588,9 @@ var UserAddEdit = function UserAddEdit(props) {
5186
5588
  maxLength: maxLengthForModal,
5187
5589
  minLength: 0
5188
5590
  };
5189
- var _useState30 = useState(defaultAddModalData),
5190
- addModalData = _useState30[0],
5191
- setAddModalData = _useState30[1];
5591
+ var _useState31 = useState(defaultAddModalData),
5592
+ addModalData = _useState31[0],
5593
+ setAddModalData = _useState31[1];
5192
5594
  var onAddModalClose = function onAddModalClose() {
5193
5595
  setAddModalData(_extends({}, defaultAddModalData));
5194
5596
  };
@@ -5599,6 +6001,11 @@ var UserAddEdit = function UserAddEdit(props) {
5599
6001
  }, [isTokenVerified]);
5600
6002
  useEffect(function () {
5601
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
+ });
5602
6009
  setPersonalInfoInput(_extends({}, personalInfoInput, {
5603
6010
  country_code: countryCode
5604
6011
  }));
@@ -5720,7 +6127,8 @@ var UserAddEdit = function UserAddEdit(props) {
5720
6127
  var products = res.user_product.split('+');
5721
6128
  setProductAccess({
5722
6129
  travel: products.includes('travel'),
5723
- expense: products.includes('expense')
6130
+ expense: products.includes('expense'),
6131
+ card: products.includes('card')
5724
6132
  });
5725
6133
  if (products.includes('travel')) {
5726
6134
  var _res$travel_info, _res$travel_info2, _res$travel_info3, _res$travel_info4, _res$travel_info5, _res$travel_info6;
@@ -5937,6 +6345,9 @@ var UserAddEdit = function UserAddEdit(props) {
5937
6345
  if (employeeInfoInput.skip_manager_id.value !== '') {
5938
6346
  employeeInfoInput.skip_manager_id = employeeInfoInput.skip_manager.value;
5939
6347
  }
6348
+ var cardsPayload = {
6349
+ "roles": [cardsRole]
6350
+ };
5940
6351
  var payload = {
5941
6352
  personalInfoInput: personalInfoInput,
5942
6353
  employeeInfoInput: employeeInfoInput,
@@ -5955,7 +6366,9 @@ var UserAddEdit = function UserAddEdit(props) {
5955
6366
  uploadedFiles: uploadedFiles,
5956
6367
  filesForDelete: filesForDelete,
5957
6368
  profilePicDelete: profilePicDelete,
5958
- userTagType: userTagType
6369
+ userTagType: userTagType,
6370
+ cardsRole: cardsRole,
6371
+ isCardsAdmin: isCardsAdmin
5959
6372
  };
5960
6373
  if (verifyUserId) {
5961
6374
  payload.verifyUserId = verifyUserId;
@@ -6081,7 +6494,7 @@ var UserAddEdit = function UserAddEdit(props) {
6081
6494
  if (_isError) {
6082
6495
  setErrorArray(_errorArray);
6083
6496
  setErrorMsgs(_errorMsgs);
6084
- var _loop = function _loop() {
6497
+ var _loop3 = function _loop3() {
6085
6498
  if (Object.hasOwnProperty.call(_errorMsgs, _key3)) {
6086
6499
  if (_errorMsgs[_key3]) {
6087
6500
  if (_key3 in passportInfoInput || _key3 in travelPreferenceInfo || _key3 in secureTravelInputInfo) {
@@ -6101,115 +6514,109 @@ var UserAddEdit = function UserAddEdit(props) {
6101
6514
  }
6102
6515
  };
6103
6516
  for (var _key3 in _errorMsgs) {
6104
- if (_loop()) break;
6517
+ if (_loop3()) break;
6105
6518
  }
6106
6519
  }
6520
+ var cardApiflag = false;
6521
+ if (productAccess.card === false || isCardsAdmin === false) {
6522
+ cardApiflag = false;
6523
+ } else {
6524
+ cardApiflag = true;
6525
+ }
6107
6526
  if (!_isError) {
6108
6527
  if (isEditMode && editUserId || isProfile) {
6109
6528
  dispatch(showLoader());
6110
- dispatch(updateUser(payload, isProfile ? id : editUserId, inputChangeLog)).then(function (res) {
6111
- if (isProfile) {
6112
- var _config$routes, _config$routes$profil, _config$routes$profil2;
6113
- (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);
6114
- } else {
6115
- var _config$routes2, _config$routes2$users, _config$routes2$users2;
6116
- (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);
6117
- }
6118
- setFilesForDelete([]);
6119
- setProfilePicDelete([]);
6120
- })["catch"](function (err) {
6121
- if (typeof err === 'object') {
6122
- if (err.country_code) {
6123
- err.contact_number = err.country_code;
6124
- }
6125
- if (err.contact_country_code) {
6126
- 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()
6127
6536
  }
6128
- if (err.passport) {
6129
- err.passport_photo = _extends({}, err.passport);
6130
- delete err.passport;
6131
- }
6132
- setErrorArray(Object.keys(err));
6133
- setErrorMsgs(err);
6134
- var _loop2 = function _loop2() {
6135
- if (Object.hasOwnProperty.call(err, _key4)) {
6136
- if (err[_key4]) {
6137
- if (_key4 in passportInfoInput || _key4 in travelPreferenceInfo || _key4 in secureTravelInputInfo) {
6138
- setAdditionalInfoFlag('open');
6139
- }
6140
- var el = document.getElementById(_key4 === 'country_code' || _key4 === 'contact_country_code' ? 'contact_number' : _key4);
6141
- if (el) {
6142
- setTimeout(function () {
6143
- el.scrollIntoView({
6144
- behavior: 'smooth',
6145
- block: 'center'
6146
- });
6147
- }, 500);
6148
- return 1;
6149
- }
6150
- }
6151
- }
6152
- };
6153
- for (var _key4 in err) {
6154
- 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.');
6155
6542
  }
6156
- } else if (typeof err === 'string') {
6157
- IUIToastMessageService$4.warningNotify(err);
6158
- } else {
6159
- IUIToastMessageService$4.warningNotify('Opps, Something went wrong.');
6160
- }
6161
- })["finally"](function () {
6162
- dispatch(stopLoader());
6163
- });
6543
+ })["catch"](function (error) {
6544
+ console.log("errorrr", error);
6545
+ })["finally"](function () {
6546
+ dispatch(stopLoader());
6547
+ });
6548
+ } else {
6549
+ updateUserApiCall(payload, inputChangeLog);
6550
+ }
6164
6551
  } else {
6165
6552
  dispatch(showLoader());
6166
- dispatch(createUser(payload)).then(function (res) {
6167
- var _config$routes3, _config$routes3$users, _config$routes3$users2;
6168
- (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);
6169
- })["catch"](function (err) {
6170
- if (typeof err === 'object') {
6171
- if (err.country_code) {
6172
- err.contact_number = err.country_code;
6173
- }
6174
- if (err.contact_country_code) {
6175
- err.contact_number = err.contact_country_code;
6176
- }
6177
- if (err.passport) {
6178
- err.passport_photo = _extends({}, err.passport);
6179
- 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
+ });
6180
6571
  }
6181
- setErrorArray(Object.keys(err));
6182
- setErrorMsgs(err);
6183
- var _loop3 = function _loop3() {
6184
- if (Object.hasOwnProperty.call(err, _key5)) {
6185
- if (err[_key5]) {
6186
- if (_key5 in passportInfoInput || _key5 in travelPreferenceInfo || _key5 in secureTravelInputInfo) {
6187
- setAdditionalInfoFlag('open');
6188
- }
6189
- var el = document.getElementById(_key5 === 'country_code' || _key5 === 'contact_country_code' ? 'contact_number' : _key5);
6190
- if (el) {
6191
- setTimeout(function () {
6192
- el.scrollIntoView({
6193
- behavior: 'smooth',
6194
- block: 'center'
6195
- });
6196
- }, 500);
6197
- 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
+ }
6198
6603
  }
6199
6604
  }
6605
+ };
6606
+ for (var _key4 in err) {
6607
+ if (_loop4()) break;
6200
6608
  }
6201
- };
6202
- for (var _key5 in err) {
6203
- if (_loop3()) break;
6609
+ } else if (typeof err === 'string') {
6610
+ IUIToastMessageService$4.warningNotify(err);
6611
+ } else {
6612
+ IUIToastMessageService$4.warningNotify('Opps, Something went wrong.');
6204
6613
  }
6205
- } else if (typeof err === 'string') {
6206
- IUIToastMessageService$4.warningNotify(err);
6207
- } else {
6208
- IUIToastMessageService$4.warningNotify('Opps, Something went wrong.');
6209
- }
6210
- })["finally"](function () {
6211
- dispatch(stopLoader());
6212
- });
6614
+ })["finally"](function () {
6615
+ dispatch(stopLoader());
6616
+ });
6617
+ } else {
6618
+ createUserApiCall(payload);
6619
+ }
6213
6620
  }
6214
6621
  }
6215
6622
  return Promise.resolve();
@@ -6227,8 +6634,8 @@ var UserAddEdit = function UserAddEdit(props) {
6227
6634
  }
6228
6635
  }
6229
6636
  } else {
6230
- var _config$routes4, _config$routes4$users, _config$routes4$users2;
6231
- (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);
6232
6639
  }
6233
6640
  };
6234
6641
  var handleCustomFieldsNavigation = function handleCustomFieldsNavigation() {
@@ -6541,6 +6948,13 @@ var UserAddEdit = function UserAddEdit(props) {
6541
6948
  className: styles.productContainerGap
6542
6949
  }, renderFields.products.map(function (p, i) {
6543
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
+ } else if (p.id === 3 && editUserId === (id === null || id === void 0 ? void 0 : id.toString())) {
6955
+ p.readOnly = true;
6956
+ p.disableText = "You cannot update your own Card product";
6957
+ }
6544
6958
  return /*#__PURE__*/React.createElement(IUIGrid, {
6545
6959
  item: true,
6546
6960
  sm: 12,
@@ -6633,6 +7047,21 @@ var UserAddEdit = function UserAddEdit(props) {
6633
7047
  isProfile: isProfile,
6634
7048
  editUserId: editUserId,
6635
7049
  roles: renderFields.expenseRoles
7050
+ }), /*#__PURE__*/React.createElement(IUIDivider, {
7051
+ className: styles.dividerColor
7052
+ }), isCardsDetailsRendered && productAccess && productAccess.card && /*#__PURE__*/React.createElement(CardsField, {
7053
+ cardsConstants: cardsDetails.cardsConstants,
7054
+ type: "card",
7055
+ isProfile: isProfile,
7056
+ onRoleChange: function onRoleChange(_ref7) {
7057
+ var _value = _ref7._value;
7058
+ return setCardsRole(_value);
7059
+ },
7060
+ roleValue: cardsRole,
7061
+ roles: cardsDetails.cardsRoles,
7062
+ cardsAdmin: isCardsAdmin,
7063
+ editUserId: editUserId,
7064
+ loggedInUserId: id === null || id === void 0 ? void 0 : id.toString()
6636
7065
  }))) : /*#__PURE__*/React.createElement(VerificationError, {
6637
7066
  config: config,
6638
7067
  errMsg: hasVerificationError
@@ -8441,7 +8870,7 @@ var StickyHeadTable = function StickyHeadTable(props) {
8441
8870
  cell: function cell(row) {
8442
8871
  return /*#__PURE__*/React.createElement(IUIBox, {
8443
8872
  component: "div"
8444
- }, row.products.length > 0 ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(IUIBox, {
8873
+ }, row.products.length > 0 ? /*#__PURE__*/React.createElement(React.Fragment, null, !row.products[0].role.toLowerCase().includes("holder") ? /*#__PURE__*/React.createElement(IUIBox, {
8445
8874
  component: "div",
8446
8875
  display: "flex"
8447
8876
  }, /*#__PURE__*/React.createElement(IUITypography, {
@@ -8454,7 +8883,7 @@ var StickyHeadTable = function StickyHeadTable(props) {
8454
8883
  style: {
8455
8884
  whiteSpace: 'nowrap'
8456
8885
  }
8457
- }, "\xA0" + row.products[0].role)), row.products[1] && /*#__PURE__*/React.createElement(IUIBox, {
8886
+ }, "\xA0" + row.products[0].role)) : "", row.products[1] && !row.products[1].role.toLowerCase().includes("holder") && /*#__PURE__*/React.createElement(IUIBox, {
8458
8887
  component: "div",
8459
8888
  display: "flex"
8460
8889
  }, /*#__PURE__*/React.createElement(IUITypography, {
@@ -8467,7 +8896,20 @@ var StickyHeadTable = function StickyHeadTable(props) {
8467
8896
  style: {
8468
8897
  whiteSpace: 'nowrap'
8469
8898
  }
8470
- }, "\xA0" + row.products[1].role))) : '');
8899
+ }, "\xA0" + row.products[1].role)), row.products[2] && !row.products[2].role.toLowerCase().includes("holder") && /*#__PURE__*/React.createElement(IUIBox, {
8900
+ component: "div",
8901
+ display: "flex"
8902
+ }, /*#__PURE__*/React.createElement(IUITypography, {
8903
+ className: clsx(styles$5.rowText, styles$5.textTransform, styles$5.lightColor),
8904
+ style: {
8905
+ whiteSpace: 'nowrap'
8906
+ }
8907
+ }, row.products[2].name + ' / '), /*#__PURE__*/React.createElement(IUITypography, {
8908
+ className: clsx(styles$5.rowText, styles$5.textTransform),
8909
+ style: {
8910
+ whiteSpace: 'nowrap'
8911
+ }
8912
+ }, "\xA0" + row.products[2].role))) : '');
8471
8913
  }
8472
8914
  }, {
8473
8915
  id: 'status',