@itilite/iui-user-management 1.4.93 → 1.4.96

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.
package/dist/index.css CHANGED
@@ -188,6 +188,26 @@
188
188
  ._ajB82 {
189
189
  width: 100% !important;
190
190
  }
191
+
192
+ ._1lEyQ ul li:hover {
193
+ background-color: rgba(254, 210, 193, 0.4509803922) !important;
194
+ border-radius: 8px;
195
+ }
196
+
197
+ ._3ymE1.MuiButton-root {
198
+ background-color: #EC5D25;
199
+ color: #ffffff;
200
+ border: none;
201
+ border-radius: 8px !important;
202
+ padding: 8px 16px !important;
203
+ height: 40px;
204
+ }
205
+ ._3ymE1.MuiButton-root:hover {
206
+ background-color: #ec5d25 !important;
207
+ }
208
+ ._3ymE1 .MuiButton-endIcon svg {
209
+ fill: #ffffff !important;
210
+ }
191
211
  ._smjc4 {
192
212
  border-radius: 15px;
193
213
  background-color: #F4F4F4;
@@ -338,8 +358,28 @@
338
358
  margin: 0 !important;
339
359
  }
340
360
  ._3MVKj {
341
- opacity: 0.6;
342
- filter: grayscale(1);
361
+ opacity: 0.65;
362
+ }
363
+
364
+ ._2_sgJ {
365
+ color: #cf2231;
366
+ border-radius: 4px;
367
+ padding: 4px;
368
+ border: 0.5px solid var(--color-red-200, #ffaba9);
369
+ background: var(--surface-critical, #fff1f0);
370
+ font-size: 10px;
371
+ font-weight: 500;
372
+ line-height: 12px; /* 120% */
373
+ letter-spacing: 0.1px;
374
+ display: inline-block;
375
+ white-space: nowrap;
376
+ vertical-align: middle;
377
+ }
378
+
379
+ ._3G7La._2_sgJ {
380
+ color: #9A6700;
381
+ border: 0.5px solid #EAC54F;
382
+ background: #FFFBE0;
343
383
  }
344
384
 
345
385
  ._2d_OH {
@@ -456,6 +496,10 @@
456
496
  margin-bottom: 0;
457
497
  }
458
498
 
499
+ ._19m4v {
500
+ margin-right: 6px;
501
+ }
502
+
459
503
  ._3l4HZ {
460
504
  font-size: 11px;
461
505
  font-weight: 500;
package/dist/index.js CHANGED
@@ -185,7 +185,7 @@ function _finallyRethrows(body, finalizer) {
185
185
  return finalizer(false, result);
186
186
  }
187
187
 
188
- 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"};
188
+ 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","buttonRight":"_1lEyQ","containedDropdownBtn":"_3ymE1"};
189
189
 
190
190
  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}
191
191
 
@@ -414,7 +414,7 @@ var userAddEditUrl = {
414
414
  return env.getPaymentUrl() + "/api/v1/card/default";
415
415
  },
416
416
  disablePaymentCard: function disablePaymentCard() {
417
- return env.getPaymentUrl() + "/api/v1/payment/card-management/card/status";
417
+ return env.getPaymentUrl() + "/api/v1/card/status";
418
418
  },
419
419
  verifyUserInfo: function verifyUserInfo(userId) {
420
420
  return "api/v1/onboarding/user-sign-up-info/" + userId + "?company_id=" + IUILocalStorageService.getCompanyId();
@@ -832,7 +832,7 @@ var UserRole = function UserRole(_ref) {
832
832
 
833
833
  var styles$1 = {"defaultLabel":"_smjc4","card":"_3_S9J","cardNumber":"_36E9M","cardDigit":"_2pm-T","expiryDate":"_2tBnF","cardImage":"_3QvZh","visa":"_1IpBm","mastercard":"_2x6IX","amex":"_2a38S","discover":"_2vksl","diners":"_2kQRs","jcb":"_2bO1f","unionpay":"_2_jfu","is_nothing":"_1Lrzs","addCard":"_3711U","cardDeleteBtn":"_7Da2t","cardLabel":"_PQTex","defaultBtn":"_1_ArA","cursonPointer":"_1L115","sectionWrapper":"_VpUCK","margin":"_1Fs_D","minGridWidth":"_1hl-Z","firstRowMargin":"_1WZZj","firstChildMargin":"_IT_O_","paddingTop":"_Mhnl7","dividerColor":"_3ltFd"};
834
834
 
835
- var classes = {"disabledCard":"_3MVKj","sectionHeader":"_2d_OH","myCardsSection":"_3MNHj","companyCardsSection":"_34lN6","disabledNotice":"_1yV0j","cardsGrid":"_1oHGu","card":"_3ZTQc","moreIcon":"_3utA0","personal":"_duePd","corporate":"_3O33a","company":"_180_L","cardHeader":"_1eF61","cardTitleSection":"_2c40W","cardMaskedNumber":"_2Vlhq","cardName":"_bp-Mt","cardType":"_3l4HZ","menuButton":"_3TTEn","lockIcon":"_1S27X","cardDetails":"_IP2rg","cardNumber":"_7FOPe","cardExpiry":"_CI_p2","cardCvv":"_3Gzqu","cardUnhide":"_ivgBf","cardFooter":"_1WgPL","brandLogo":"_EV0l8","addCardButton":"_1oaCc","plusIcon":"_w9L5L"};
835
+ var classes = {"disabledCard":"_3MVKj","expiredLabel":"_2_sgJ","expiresoonLabel":"_3G7La","sectionHeader":"_2d_OH","myCardsSection":"_3MNHj","companyCardsSection":"_34lN6","disabledNotice":"_1yV0j","cardsGrid":"_1oHGu","card":"_3ZTQc","moreIcon":"_3utA0","personal":"_duePd","corporate":"_3O33a","company":"_180_L","cardHeader":"_1eF61","cardTitleSection":"_2c40W","cardMaskedNumber":"_2Vlhq","cardName":"_bp-Mt","cardAlias":"_19m4v","cardType":"_3l4HZ","menuButton":"_3TTEn","lockIcon":"_1S27X","cardDetails":"_IP2rg","cardNumber":"_7FOPe","cardExpiry":"_CI_p2","cardCvv":"_3Gzqu","cardUnhide":"_ivgBf","cardFooter":"_1WgPL","brandLogo":"_EV0l8","addCardButton":"_1oaCc","plusIcon":"_w9L5L"};
836
836
 
837
837
  var SHOW_LOADER = 'SHOW_LOADER';
838
838
  var STOP_LOADER = 'STOP_LOADER';
@@ -849,6 +849,27 @@ var SET_PAYMENT_DETAILS = 'SET_PAYMENT_DETAILS';
849
849
 
850
850
  var env$1 = utils.configs.env;
851
851
  var IUILocalStorageService$1 = utils.services.IUILocalStorageService;
852
+ var resolveMembershipName = function resolveMembershipName(membership) {
853
+ var _membership;
854
+ if (membership === void 0) {
855
+ membership = {};
856
+ }
857
+ if (((_membership = membership) === null || _membership === void 0 ? void 0 : _membership.membership_type) === 'rental_car') {
858
+ var _membership2, _membership3, _membership3$program_, _membership5, _membership6, _membership6$loyalty_;
859
+ if ((_membership2 = membership) !== null && _membership2 !== void 0 && _membership2.program_name && (_membership3 = membership) !== null && _membership3 !== void 0 && (_membership3$program_ = _membership3.program_name) !== null && _membership3$program_ !== void 0 && _membership3$program_.trim()) {
860
+ var _membership4, _membership4$program_;
861
+ return (_membership4 = membership) === null || _membership4 === void 0 ? void 0 : (_membership4$program_ = _membership4.program_name) === null || _membership4$program_ === void 0 ? void 0 : _membership4$program_.trim();
862
+ }
863
+ if ((_membership5 = membership) !== null && _membership5 !== void 0 && _membership5.loyalty_program_name && (_membership6 = membership) !== null && _membership6 !== void 0 && (_membership6$loyalty_ = _membership6.loyalty_program_name) !== null && _membership6$loyalty_ !== void 0 && _membership6$loyalty_.trim()) {
864
+ var _membership7, _membership7$loyalty_;
865
+ return (_membership7 = membership) === null || _membership7 === void 0 ? void 0 : (_membership7$loyalty_ = _membership7.loyalty_program_name) === null || _membership7$loyalty_ === void 0 ? void 0 : _membership7$loyalty_.trim();
866
+ } else {
867
+ return '';
868
+ }
869
+ } else {
870
+ return membership.name;
871
+ }
872
+ };
852
873
  var formatCreateUserPayload = function formatCreateUserPayload(payload) {
853
874
  var _payload$employeeInfo, _payload$employeeInfo2, _payload$employeeInfo3, _payload$employeeInfo4, _payload$employeeInfo5, _payload$employeeInfo6, _payload$employeeInfo7, _payload$employeeInfo8, _payload$employeeInfo9, _payload$employeeInfo10;
854
875
  var res = {
@@ -892,6 +913,9 @@ var formatCreateUserPayload = function formatCreateUserPayload(payload) {
892
913
  approvers: {},
893
914
  requested_user_is_admin: payload.isCardsAdmin
894
915
  };
916
+ if (payload.send_welcome_email !== undefined) {
917
+ res.should_send_welcome_email = payload.send_welcome_email;
918
+ }
895
919
  var userTags = [];
896
920
  for (var key in payload.userTagType) {
897
921
  if (Object.hasOwnProperty.call(payload.userTagType, key) && payload.userTagType[key]) {
@@ -940,7 +964,7 @@ var formatCreateUserPayload = function formatCreateUserPayload(payload) {
940
964
  loyalty_program_id = _ref$loyalty_program_ === void 0 ? null : _ref$loyalty_program_;
941
965
  var res = {
942
966
  membership_type: membership.membership_type,
943
- name: membership.name,
967
+ name: resolveMembershipName(membership),
944
968
  number: membership.number,
945
969
  iata_code: iata_code,
946
970
  loyalty_program_id: loyalty_program_id
@@ -1128,7 +1152,7 @@ var formatUpdateUserPayload = function formatUpdateUserPayload(payload, inputCha
1128
1152
  loyalty_program_id = _ref2$loyalty_program === void 0 ? null : _ref2$loyalty_program;
1129
1153
  var res = {
1130
1154
  membership_type: membership.membership_type,
1131
- name: membership.name,
1155
+ name: resolveMembershipName(membership),
1132
1156
  number: membership.number,
1133
1157
  id: membership.id,
1134
1158
  iata_code: iata_code,
@@ -1816,40 +1840,6 @@ var deletePaymentCard = function deletePaymentCard(payload) {
1816
1840
  });
1817
1841
  };
1818
1842
  };
1819
- var disablePaymentCard = function disablePaymentCard(payload) {
1820
- return function (dispatch, getState) {
1821
- return new Promise(function (resolve, reject) {
1822
- dispatch(showLoader());
1823
- axios.patch(userAddEditUrl.disablePaymentCard(), payload, {
1824
- headers: {
1825
- Authorization: 'Bearer ' + IUILocalStorageService$2.getAccessToken()
1826
- }
1827
- }).then(function (res) {
1828
- if (res.data) {
1829
- resolve(res.data);
1830
- var _paymentDetails = getState().userAddEdit.paymentDetails;
1831
- _paymentDetails.cards = _paymentDetails.cards.map(function (card) {
1832
- if (card.id === payload.method_id) {
1833
- card.metadata.is_enabled = payload.is_enabled ? '1' : '0';
1834
- }
1835
- return card;
1836
- });
1837
- dispatch(setPaymentDetails(_paymentDetails));
1838
- } else {
1839
- var _res$data3;
1840
- IUIToastMessageService$1.warningNotify((res === null || res === void 0 ? void 0 : (_res$data3 = res.data) === null || _res$data3 === void 0 ? void 0 : _res$data3.message) || 'Opps, Something went wrong.');
1841
- reject(res);
1842
- }
1843
- })["catch"](function (err) {
1844
- var _err$response15, _err$response15$data;
1845
- IUIToastMessageService$1.warningNotify((err === null || err === void 0 ? void 0 : (_err$response15 = err.response) === null || _err$response15 === void 0 ? void 0 : (_err$response15$data = _err$response15.data) === null || _err$response15$data === void 0 ? void 0 : _err$response15$data.message) || 'Opps, Something went wrong.');
1846
- reject(err);
1847
- })["finally"](function () {
1848
- dispatch(stopLoader());
1849
- });
1850
- });
1851
- };
1852
- };
1853
1843
  var setDefaultPaymentCard = function setDefaultPaymentCard(payload) {
1854
1844
  return function (dispatch, getState) {
1855
1845
  return new Promise(function (resolve, reject) {
@@ -2674,7 +2664,7 @@ var Visa = function Visa(props) {
2674
2664
  var IUILocalStorageService$4 = utils.services.IUILocalStorageService;
2675
2665
  var env$3 = utils.configs.env;
2676
2666
  var CardsManagement = function CardsManagement(_ref) {
2677
- var _pg$gateway, _selectedCard$metadat2;
2667
+ var _selectedCard$metadat, _pg$gateway;
2678
2668
  var _ref$paymentDetails = _ref.paymentDetails,
2679
2669
  paymentDetails = _ref$paymentDetails === void 0 ? {} : _ref$paymentDetails,
2680
2670
  _ref$paymentMethod = _ref.paymentMethod,
@@ -2720,32 +2710,13 @@ var CardsManagement = function CardsManagement(_ref) {
2720
2710
  }));
2721
2711
  handleMenuClose();
2722
2712
  };
2723
- var handleDisableCard = function handleDisableCard() {
2724
- var _selectedCard$card2, _selectedCard$metadat;
2725
- if (!pg || !selectedCard) return;
2726
- sendLog({
2727
- eventName: 'disable_card_clicked',
2728
- customProperties: {
2729
- card_last4: (selectedCard === null || selectedCard === void 0 ? void 0 : (_selectedCard$card2 = selectedCard.card) === null || _selectedCard$card2 === void 0 ? void 0 : _selectedCard$card2.last4) || ''
2730
- },
2731
- logImpression: true
2732
- });
2733
- dispatch(disablePaymentCard({
2734
- stripe_card_ref: selectedCard.id,
2735
- vendor_id: pg.vendor_id,
2736
- is_enabled: (selectedCard === null || selectedCard === void 0 ? void 0 : (_selectedCard$metadat = selectedCard.metadata) === null || _selectedCard$metadat === void 0 ? void 0 : _selectedCard$metadat.is_enabled) === '0',
2737
- card_payment_type: 1,
2738
- app_type: 1
2739
- }));
2740
- handleMenuClose();
2741
- };
2742
2713
  var handleDeleteCard = function handleDeleteCard() {
2743
- var _selectedCard$card3;
2714
+ var _selectedCard$card2;
2744
2715
  sendLog({
2745
2716
  eventName: 'edit_card_clicked',
2746
2717
  customProperties: {
2747
2718
  action_type: 'Delete',
2748
- card_last4: (selectedCard === null || selectedCard === void 0 ? void 0 : (_selectedCard$card3 = selectedCard.card) === null || _selectedCard$card3 === void 0 ? void 0 : _selectedCard$card3.last4) || ''
2719
+ card_last4: (selectedCard === null || selectedCard === void 0 ? void 0 : (_selectedCard$card2 = selectedCard.card) === null || _selectedCard$card2 === void 0 ? void 0 : _selectedCard$card2.last4) || ''
2749
2720
  },
2750
2721
  logImpression: true
2751
2722
  });
@@ -2831,13 +2802,29 @@ var CardsManagement = function CardsManagement(_ref) {
2831
2802
  fill: "#2EA363"
2832
2803
  }));
2833
2804
  };
2805
+ var personalCards = cards === null || cards === void 0 ? void 0 : cards.filter(function (card) {
2806
+ return (card === null || card === void 0 ? void 0 : card.category) === 'Personal';
2807
+ });
2808
+ var corporateCards = cards === null || cards === void 0 ? void 0 : cards.filter(function (card) {
2809
+ return (card === null || card === void 0 ? void 0 : card.category) === 'Corporate';
2810
+ });
2811
+ var companyCards = cards === null || cards === void 0 ? void 0 : cards.filter(function (card) {
2812
+ return (card === null || card === void 0 ? void 0 : card.category) === 'Company';
2813
+ });
2814
+ var cardsCount = (personalCards === null || personalCards === void 0 ? void 0 : personalCards.length) + (corporateCards === null || corporateCards === void 0 ? void 0 : corporateCards.length);
2834
2815
  var renderCard = function renderCard(card) {
2835
- var _card$metadata, _card$metadata2, _clsx, _card$card, _card$card2, _card$card3, _card$card4;
2836
- console.log('_paymentDetails2', card, cards);
2816
+ var _card$metadata, _clsx, _card$card, _card$card2, _card$card3, _card$card4;
2837
2817
  var isCompanyCard = (card === null || card === void 0 ? void 0 : card.category) === 'Company';
2838
2818
  var cardClass = getCardTypeClass(card === null || card === void 0 ? void 0 : card.category);
2839
2819
  var isDefaultCard = !!+(card === null || card === void 0 ? void 0 : (_card$metadata = card.metadata) === null || _card$metadata === void 0 ? void 0 : _card$metadata.default_card);
2840
- var isDisabled = (card === null || card === void 0 ? void 0 : (_card$metadata2 = card.metadata) === null || _card$metadata2 === void 0 ? void 0 : _card$metadata2.is_enabled) === '0';
2820
+ var isExpired = card.metadata.is_enabled === '2';
2821
+ var isDisabled = card.metadata.is_enabled === '0' || isExpired;
2822
+ var currentDate = new Date();
2823
+ var cardExpDate = new Date(parseInt(card.card.exp_year, 10), parseInt(card.card.exp_month, 10) - 1);
2824
+ var timeDiff = cardExpDate.getTime() - currentDate.getTime();
2825
+ var daysToExpire = Math.ceil(timeDiff / (1000 * 3600 * 24));
2826
+ var expiresSoon = daysToExpire <= 30 && !isExpired;
2827
+ var showMenuButton = !isExpired && (cardsCount === 1 || cardsCount > 1 && !isDefaultCard);
2841
2828
  return /*#__PURE__*/React__default.createElement("div", {
2842
2829
  key: card.id,
2843
2830
  className: clsx(classes.card, classes[cardClass], (_clsx = {}, _clsx[classes.disabledCard] = isDisabled, _clsx))
@@ -2847,11 +2834,17 @@ var CardsManagement = function CardsManagement(_ref) {
2847
2834
  className: classes.cardTitleSection
2848
2835
  }, /*#__PURE__*/React__default.createElement("h3", {
2849
2836
  className: classes.cardName
2850
- }, card === null || card === void 0 ? void 0 : card.alias), /*#__PURE__*/React__default.createElement("span", {
2837
+ }, /*#__PURE__*/React__default.createElement("span", {
2838
+ className: classes.cardAlias
2839
+ }, card === null || card === void 0 ? void 0 : card.alias), isExpired && /*#__PURE__*/React__default.createElement("span", {
2840
+ className: classes.expiredLabel
2841
+ }, "Expired"), expiresSoon && /*#__PURE__*/React__default.createElement("span", {
2842
+ className: clsx(classes.expiresoonLabel, classes.expiredLabel)
2843
+ }, "Expires Soon")), /*#__PURE__*/React__default.createElement("span", {
2851
2844
  className: classes.cardType
2852
2845
  }, getCardTypeLabel(card.category), isDefaultCard && /*#__PURE__*/React__default.createElement("span", null, ' (Default)'))), isCompanyCard ? /*#__PURE__*/React__default.createElement(LockIcon, {
2853
2846
  className: classes.lockIcon
2854
- }) : /*#__PURE__*/React__default.createElement(core.IconButton, {
2847
+ }) : showMenuButton ? /*#__PURE__*/React__default.createElement(core.IconButton, {
2855
2848
  size: "small",
2856
2849
  onClick: function onClick(e) {
2857
2850
  return handleMenuClick(e, card);
@@ -2860,7 +2853,7 @@ var CardsManagement = function CardsManagement(_ref) {
2860
2853
  }, /*#__PURE__*/React__default.createElement(MoreIcon, {
2861
2854
  className: clsx(classes.moreIcon, classes[cardClass]),
2862
2855
  color: isCompanyCard ? '#2EA363' : '#3D89FF'
2863
- }))), /*#__PURE__*/React__default.createElement("div", {
2856
+ })) : null), /*#__PURE__*/React__default.createElement("div", {
2864
2857
  className: classes.cardDetails
2865
2858
  }, /*#__PURE__*/React__default.createElement("div", {
2866
2859
  className: classes.cardNumber
@@ -2874,17 +2867,8 @@ var CardsManagement = function CardsManagement(_ref) {
2874
2867
  className: classes.cardFooter
2875
2868
  }, /*#__PURE__*/React__default.createElement("div", null), getBrandLogo(card === null || card === void 0 ? void 0 : (_card$card4 = card.card) === null || _card$card4 === void 0 ? void 0 : _card$card4.brand)));
2876
2869
  };
2877
- var personalCards = cards === null || cards === void 0 ? void 0 : cards.filter(function (card) {
2878
- return (card === null || card === void 0 ? void 0 : card.category) === 'Personal';
2879
- });
2880
- var corporateCards = cards === null || cards === void 0 ? void 0 : cards.filter(function (card) {
2881
- return (card === null || card === void 0 ? void 0 : card.category) === 'Corporate';
2882
- });
2883
- var companyCards = cards === null || cards === void 0 ? void 0 : cards.filter(function (card) {
2884
- return (card === null || card === void 0 ? void 0 : card.category) === 'Company';
2885
- });
2886
- var cardsCount = (personalCards === null || personalCards === void 0 ? void 0 : personalCards.length) + (corporateCards === null || corporateCards === void 0 ? void 0 : corporateCards.length);
2887
2870
  var _url = env$3.getPaymentUrl() + ("/api/v1/auth/" + IUILocalStorageService$4.getAccessToken() + "/1/" + pg.entity_id + "/0/" + pg.vendor_id + "/1");
2871
+ var showMenuButton = cardsCount === 1 || cardsCount > 1 && !+(selectedCard === null || selectedCard === void 0 ? void 0 : (_selectedCard$metadat = selectedCard.metadata) === null || _selectedCard$metadat === void 0 ? void 0 : _selectedCard$metadat.default_card);
2888
2872
  return /*#__PURE__*/React__default.createElement("div", {
2889
2873
  style: {
2890
2874
  marginBottom: -20
@@ -2954,7 +2938,7 @@ var CardsManagement = function CardsManagement(_ref) {
2954
2938
  className: classes.cardsGrid
2955
2939
  }, companyCards === null || companyCards === void 0 ? void 0 : companyCards.map(function (card) {
2956
2940
  return renderCard(card);
2957
- }))))))), /*#__PURE__*/React__default.createElement(core.Menu, {
2941
+ }))))))), showMenuButton && /*#__PURE__*/React__default.createElement(core.Menu, {
2958
2942
  anchorEl: anchorEl,
2959
2943
  open: Boolean(anchorEl),
2960
2944
  onClose: handleMenuClose,
@@ -2968,9 +2952,7 @@ var CardsManagement = function CardsManagement(_ref) {
2968
2952
  }
2969
2953
  }, selectedCard && !+selectedCard.metadata.default_card && /*#__PURE__*/React__default.createElement(core.MenuItem, {
2970
2954
  onClick: handleMarkAsDefault
2971
- }, "Mark as default"), selectedCard && !+selectedCard.category !== 'Company' && /*#__PURE__*/React__default.createElement(core.MenuItem, {
2972
- onClick: handleDisableCard
2973
- }, (selectedCard === null || selectedCard === void 0 ? void 0 : (_selectedCard$metadat2 = selectedCard.metadata) === null || _selectedCard$metadat2 === void 0 ? void 0 : _selectedCard$metadat2.is_enabled) === '0' ? 'Enable' : 'Disable'), /*#__PURE__*/React__default.createElement(core.MenuItem, {
2955
+ }, "Mark as default"), showMenuButton && /*#__PURE__*/React__default.createElement(core.MenuItem, {
2974
2956
  onClick: handleDeleteCard,
2975
2957
  style: {
2976
2958
  color: '#ff4444'
@@ -3666,7 +3648,7 @@ var personalInfo = [{
3666
3648
  maxLength: 100,
3667
3649
  minLength: 0
3668
3650
  },
3669
- disableText: 'Please get in touch with your administrator to change this value.'
3651
+ disableText: 'A user’s email is their primary identifier and cannot be changed for security reasons. To update it, please deactivate the existing user and create a new one with the correct email address.'
3670
3652
  }, {
3671
3653
  id: 4,
3672
3654
  label: 'Phone number',
@@ -5130,6 +5112,7 @@ function withStore(Component) {
5130
5112
  }
5131
5113
 
5132
5114
  var ExpandMoreIcon = function ExpandMoreIcon(props) {
5115
+ var fillColor = props.fillColor || '#6B7280';
5133
5116
  return /*#__PURE__*/React__default.createElement("svg", {
5134
5117
  xmlns: "http://www.w3.org/2000/svg",
5135
5118
  width: props.width,
@@ -5137,7 +5120,7 @@ var ExpandMoreIcon = function ExpandMoreIcon(props) {
5137
5120
  fill: "none",
5138
5121
  viewBox: "0 0 12 7"
5139
5122
  }, /*#__PURE__*/React__default.createElement("path", {
5140
- fill: "#6B7280",
5123
+ fill: fillColor,
5141
5124
  d: "M.293.294a1 1 0 011.414 0L6 4.587 10.293.294a1 1 0 111.414 1.414l-5 5a1 1 0 01-1.414 0l-5-5a1 1 0 010-1.414z"
5142
5125
  }));
5143
5126
  };
@@ -5719,14 +5702,37 @@ var AddMembershipButton = React.memo(function (_ref) {
5719
5702
  var IUIToastMessageService$5 = utils.services.IUIToastMessageService;
5720
5703
  var api$7 = utils.configs.api;
5721
5704
  var sixteenDigitNumber$1 = /^\d{16}$/;
5722
- var Membership = function Membership(_ref) {
5705
+ var resolveMembershipName$1 = function resolveMembershipName(membership, customName) {
5706
+ var _membership, _ref;
5707
+ if (membership === void 0) {
5708
+ membership = {};
5709
+ }
5710
+ if (customName === void 0) {
5711
+ customName = '';
5712
+ }
5713
+ if (((_membership = membership) === null || _membership === void 0 ? void 0 : _membership.membership_type) === 'rental_car') {
5714
+ var _membership2, _membership3, _membership3$program_, _membership5, _membership6, _membership6$loyalty_;
5715
+ if ((_membership2 = membership) !== null && _membership2 !== void 0 && _membership2.program_name && (_membership3 = membership) !== null && _membership3 !== void 0 && (_membership3$program_ = _membership3.program_name) !== null && _membership3$program_ !== void 0 && _membership3$program_.trim()) {
5716
+ var _membership4, _membership4$program_;
5717
+ return (_membership4 = membership) === null || _membership4 === void 0 ? void 0 : (_membership4$program_ = _membership4.program_name) === null || _membership4$program_ === void 0 ? void 0 : _membership4$program_.trim();
5718
+ }
5719
+ if ((_membership5 = membership) !== null && _membership5 !== void 0 && _membership5.loyalty_program_name && (_membership6 = membership) !== null && _membership6 !== void 0 && (_membership6$loyalty_ = _membership6.loyalty_program_name) !== null && _membership6$loyalty_ !== void 0 && _membership6$loyalty_.trim()) {
5720
+ var _membership7, _membership7$loyalty_;
5721
+ return (_membership7 = membership) === null || _membership7 === void 0 ? void 0 : (_membership7$loyalty_ = _membership7.loyalty_program_name) === null || _membership7$loyalty_ === void 0 ? void 0 : _membership7$loyalty_.trim();
5722
+ } else {
5723
+ return '';
5724
+ }
5725
+ }
5726
+ return (_ref = customName || '') === null || _ref === void 0 ? void 0 : _ref.trim();
5727
+ };
5728
+ var Membership = function Membership(_ref2) {
5723
5729
  var _clsx;
5724
- var _ref$membershipInfoIn = _ref.membershipInfoInput,
5725
- membershipInfoInput = _ref$membershipInfoIn === void 0 ? [] : _ref$membershipInfoIn,
5726
- _ref$setMembershipInf = _ref.setMembershipInfoInput,
5727
- setMembershipInfoInput = _ref$setMembershipInf === void 0 ? function () {} : _ref$setMembershipInf,
5728
- _ref$isProfile = _ref.isProfile,
5729
- isProfile = _ref$isProfile === void 0 ? false : _ref$isProfile;
5730
+ var _ref2$membershipInfoI = _ref2.membershipInfoInput,
5731
+ membershipInfoInput = _ref2$membershipInfoI === void 0 ? [] : _ref2$membershipInfoI,
5732
+ _ref2$setMembershipIn = _ref2.setMembershipInfoInput,
5733
+ setMembershipInfoInput = _ref2$setMembershipIn === void 0 ? function () {} : _ref2$setMembershipIn,
5734
+ _ref2$isProfile = _ref2.isProfile,
5735
+ isProfile = _ref2$isProfile === void 0 ? false : _ref2$isProfile;
5730
5736
  var _useParams = reactRouterDom.useParams(),
5731
5737
  editUserId = _useParams.userId;
5732
5738
  var _useSelector = reactRedux.useSelector(function (state) {
@@ -5929,22 +5935,24 @@ var Membership = function Membership(_ref) {
5929
5935
  };
5930
5936
  var handleSubmit = function handleSubmit() {
5931
5937
  try {
5932
- var _ref2, _ref3;
5933
5938
  if (isAAAloyaltySelected && !sixteenDigitNumber$1.test(membershipNumber)) {
5934
5939
  IUIToastMessageService$5.warningNotify('Enter 16-digit AAA membership ID');
5935
5940
  return Promise.resolve();
5936
5941
  }
5937
5942
  var url = "/api/v1/user-management/users/" + userID + "/membership";
5943
+ var resolvedMembershipName = resolveMembershipName$1(_extends({}, selectedMembershipChain, {
5944
+ membership_type: type
5945
+ }), membershipName);
5938
5946
  var payload = isEditing ? _extends({}, selectedMembershipChain, {
5939
5947
  number: membershipNumber === null || membershipNumber === void 0 ? void 0 : membershipNumber.trim(),
5940
- name: (_ref2 = membershipName || '') === null || _ref2 === void 0 ? void 0 : _ref2.trim()
5948
+ name: resolvedMembershipName
5941
5949
  }) : {
5942
5950
  membership_type: type,
5943
5951
  number: membershipNumber === null || membershipNumber === void 0 ? void 0 : membershipNumber.trim(),
5944
5952
  iata_code: null,
5945
5953
  user: userID,
5946
5954
  loyalty_program_id: selectedMembershipChain === null || selectedMembershipChain === void 0 ? void 0 : selectedMembershipChain.loyalty_program_id,
5947
- name: (_ref3 = membershipName || '') === null || _ref3 === void 0 ? void 0 : _ref3.trim()
5955
+ name: resolvedMembershipName
5948
5956
  };
5949
5957
  setIsUpdating(true);
5950
5958
  var _temp4 = _finallyRethrows(function () {
@@ -5995,7 +6003,7 @@ var Membership = function Membership(_ref) {
5995
6003
  var handleEdit = function handleEdit(mem, index, isOther) {
5996
6004
  setEditIndex(index);
5997
6005
  setSelectedMembershipChain(mem);
5998
- setMembershipName((mem === null || mem === void 0 ? void 0 : mem.name) || '');
6006
+ setMembershipName((mem === null || mem === void 0 ? void 0 : mem.name) || resolveMembershipName$1(mem, mem === null || mem === void 0 ? void 0 : mem.name));
5999
6007
  setMembershipNumber(mem === null || mem === void 0 ? void 0 : mem.number);
6000
6008
  setIsOtherMembership(isOther);
6001
6009
  var currentModalState = _extends({}, modalState);
@@ -7786,7 +7794,10 @@ var UserAddEdit = function UserAddEdit(props) {
7786
7794
  return Promise.reject(e);
7787
7795
  }
7788
7796
  };
7789
- var formSubmitHandler = function formSubmitHandler() {
7797
+ var formSubmitHandler = function formSubmitHandler(send_welcome_email) {
7798
+ if (send_welcome_email === void 0) {
7799
+ send_welcome_email = false;
7800
+ }
7790
7801
  try {
7791
7802
  var checkAnyError = doesFormHasError();
7792
7803
  if (checkAnyError) {
@@ -7824,6 +7835,9 @@ var UserAddEdit = function UserAddEdit(props) {
7824
7835
  cardsRole: cardsRole,
7825
7836
  isCardsAdmin: isCardsAdmin
7826
7837
  };
7838
+ if (!isEditMode && !isProfile) {
7839
+ payload.send_welcome_email = send_welcome_email;
7840
+ }
7827
7841
  if (verifyUserId) {
7828
7842
  payload.verifyUserId = verifyUserId;
7829
7843
  }
@@ -8212,12 +8226,34 @@ var UserAddEdit = function UserAddEdit(props) {
8212
8226
  onClick: handleCancelNavigation
8213
8227
  })), /*#__PURE__*/React__default.createElement(iuistyles.IUIBox, {
8214
8228
  component: "div",
8215
- className: "pageHeader--button-single button-right"
8216
- }, /*#__PURE__*/React__default.createElement(iuistyles.IUIButton, {
8229
+ className: clsx('pageHeader--button-single', styles.buttonRight)
8230
+ }, isEditMode || isProfile ? /*#__PURE__*/React__default.createElement(iuistyles.IUIButton, {
8217
8231
  buttonText: "Save",
8218
8232
  type: "contained",
8219
8233
  onClick: formSubmitHandler,
8220
8234
  disabled: isPageLoading || productAccess.travel === false && productAccess.expense === false || !!doesFormHasError()
8235
+ }) : /*#__PURE__*/React__default.createElement(iuistyles.IUIDropdownButton, {
8236
+ buttonText: "Create user",
8237
+ outlinedBtn: false,
8238
+ className: styles.containedDropdownBtn,
8239
+ placement: "bottom-end",
8240
+ endIcon: /*#__PURE__*/React__default.createElement(ExpandMoreIcon, {
8241
+ fillColor: "white",
8242
+ width: "10",
8243
+ height: "10",
8244
+ fill: true
8245
+ }),
8246
+ menuListInfo: [{
8247
+ label: 'Send email invite',
8248
+ handler: function handler() {
8249
+ return formSubmitHandler(true);
8250
+ }
8251
+ }, {
8252
+ label: 'Do not send email',
8253
+ handler: function handler() {
8254
+ return formSubmitHandler(false);
8255
+ }
8256
+ }]
8221
8257
  }))))), /*#__PURE__*/React__default.createElement(iuistyles.IUIBox, {
8222
8258
  component: "div",
8223
8259
  marginTop: "8rem",
@@ -8729,10 +8765,15 @@ var downloadUploadedRecords = function downloadUploadedRecords(type, jobId) {
8729
8765
  });
8730
8766
  };
8731
8767
  };
8732
- var importUploadedRecords = function importUploadedRecords(jobId, canUpdateExistingUsers) {
8768
+ var importUploadedRecords = function importUploadedRecords(jobId, canUpdateExistingUsers, sendInvite) {
8769
+ if (sendInvite === void 0) {
8770
+ sendInvite = false;
8771
+ }
8733
8772
  return function (dispatch) {
8734
8773
  return new Promise(function (resolve, reject) {
8735
- api$8.post(userBulkImport.importRecords() + "?job_id=" + jobId + "&update=" + canUpdateExistingUsers).then(function (res) {
8774
+ api$8.post(userBulkImport.importRecords() + "?job_id=" + jobId + "&update=" + canUpdateExistingUsers, {
8775
+ should_send_welcome_email: sendInvite
8776
+ }).then(function (res) {
8736
8777
  resolve(res);
8737
8778
  })["catch"](function (err) {
8738
8779
  reject(err);
@@ -8993,9 +9034,12 @@ var UserBulkUpload = function UserBulkUpload(_ref) {
8993
9034
  var _useState5 = React.useState(false),
8994
9035
  canUpdateExistingUsers = _useState5[0],
8995
9036
  setCanUpdateExistingUsers = _useState5[1];
8996
- var _useState6 = React.useState(false),
8997
- isFileDownloading = _useState6[0],
8998
- setDownlStatus = _useState6[1];
9037
+ var _useState6 = React.useState(true),
9038
+ sendInvite = _useState6[0],
9039
+ setSendInvite = _useState6[1];
9040
+ var _useState7 = React.useState(false),
9041
+ isFileDownloading = _useState7[0],
9042
+ setDownlStatus = _useState7[1];
8999
9043
  var _useSelector = reactRedux.useSelector(function (state) {
9000
9044
  return state.common;
9001
9045
  }),
@@ -9103,7 +9147,7 @@ var UserBulkUpload = function UserBulkUpload(_ref) {
9103
9147
  }
9104
9148
  }
9105
9149
  setImportStatus(1);
9106
- return Promise.resolve(dispatch(importUploadedRecords(jobId, canUpdateExistingUsers ? 1 : 0))).then(function (res) {
9150
+ return Promise.resolve(dispatch(importUploadedRecords(jobId, canUpdateExistingUsers ? 1 : 0, sendInvite))).then(function (res) {
9107
9151
  var _temp = function () {
9108
9152
  if (res.data.status) {
9109
9153
  return Promise.resolve(dispatch(_executionJob(jobId, 'is_job_completed')).then(function (resp) {
@@ -9134,6 +9178,9 @@ var UserBulkUpload = function UserBulkUpload(_ref) {
9134
9178
  var handleExistingUserUpdation = function handleExistingUserUpdation(event) {
9135
9179
  setCanUpdateExistingUsers(!canUpdateExistingUsers);
9136
9180
  };
9181
+ var handleSendInvite = function handleSendInvite() {
9182
+ setSendInvite(!sendInvite);
9183
+ };
9137
9184
  var CustomStepIcon = function CustomStepIcon(step) {
9138
9185
  if ((importStatus === 1 || importStatus === 2 || importStatus === 4) && step === Number(activeStep)) {
9139
9186
  return /*#__PURE__*/React__default.createElement(iuistyles.IUIPrimaryRadio, {
@@ -9443,6 +9490,18 @@ var UserBulkUpload = function UserBulkUpload(_ref) {
9443
9490
  label: "Update any existing users",
9444
9491
  className: clsx(styles$5.checkboxlabel, (_clsx5 = {}, _clsx5[styles$5.disabledText] = +userBulkImportInfo.exist_users === 0, _clsx5)),
9445
9492
  disabled: +userBulkImportInfo.exist_users === 0
9493
+ })), /*#__PURE__*/React__default.createElement(iuistyles.IUIBox, {
9494
+ display: "flex",
9495
+ style: {
9496
+ paddingLeft: '28px'
9497
+ }
9498
+ }, /*#__PURE__*/React__default.createElement(iuistyles.IUIFormControlLabel, {
9499
+ control: /*#__PURE__*/React__default.createElement(iuistyles.IUICheckBox, {
9500
+ handleCheckBoxHandler: handleSendInvite,
9501
+ checked: sendInvite
9502
+ }),
9503
+ label: "Send invitation emails to new users who have not logged into the platform.",
9504
+ className: clsx(styles$5.checkboxlabel)
9446
9505
  })), /*#__PURE__*/React__default.createElement(iuistyles.IUIBox, {
9447
9506
  display: "flex",
9448
9507
  style: {
@@ -10332,6 +10391,7 @@ var StickyHeadTable = function StickyHeadTable(props) {
10332
10391
  id: 'status',
10333
10392
  label: 'Status',
10334
10393
  minWidth: 160,
10394
+ sortable: true,
10335
10395
  cell: function cell(row) {
10336
10396
  return /*#__PURE__*/React__default.createElement(iuistyles.IUIFormGroup, null, /*#__PURE__*/React__default.createElement(iuistyles.IUITypography, {
10337
10397
  component: "div",
@@ -11171,7 +11231,7 @@ var UserList = function UserList(_ref2) {
11171
11231
  if (isTokenVerified === true) {
11172
11232
  var pageNum = page;
11173
11233
  var searchParam = searchValue.trim() !== '' ? '&search=' + searchValue : '';
11174
- var orderingParam = orderBy === '' ? '' : order === 'asc' ? '&ordering=' + orderBy : '&ordering=-' + orderBy;
11234
+ var orderingParam = orderBy === '' ? '' : orderBy === 'status' ? order === 'asc' ? '&ordering=is_active,-has_visited' : '&ordering=-is_active,-has_visited' : order === 'asc' ? '&ordering=' + orderBy : '&ordering=-' + orderBy;
11175
11235
  var url = userListUrl.getUser + '?length=' + rowsPerPage + '&page=' + pageNum + searchParam + orderingParam;
11176
11236
  if (isSearchingChange) {
11177
11237
  var delayDebounceFn = setTimeout(function () {