@itilite/iui-user-management 1.4.4999 → 1.4.7681

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.js CHANGED
@@ -5,8 +5,7 @@ var React = require('react');
5
5
  var React__default = _interopDefault(React);
6
6
  var utils = require('@itilite/utils');
7
7
  var axios = _interopDefault(require('axios'));
8
- var AddIcon$1 = _interopDefault(require('@material-ui/icons/Add'));
9
- var DeleteIcon = _interopDefault(require('@material-ui/icons/Delete'));
8
+ var core = require('@material-ui/core');
10
9
  var reactRedux = require('react-redux');
11
10
  var redux = require('redux');
12
11
  var thunk = _interopDefault(require('redux-thunk'));
@@ -18,7 +17,6 @@ var Tooltip = _interopDefault(require('@material-ui/core/Tooltip'));
18
17
  var Switch = _interopDefault(require('@material-ui/core/Switch'));
19
18
  var MoreHorizIcon = _interopDefault(require('@material-ui/icons/MoreHoriz'));
20
19
  var Button = _interopDefault(require('@material-ui/core/Button'));
21
- var core = require('@material-ui/core');
22
20
  var useScrollPosition = require('@n8tb1t/use-scroll-position');
23
21
 
24
22
  function _arrayLikeToArray(r, a) {
@@ -189,17 +187,7 @@ function _finallyRethrows(body, finalizer) {
189
187
 
190
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"};
191
189
 
192
- function r(e) {
193
- var t,
194
- f,
195
- n = "";
196
- 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);
197
- return n;
198
- }
199
- function clsx() {
200
- for (var e, t, f = 0, n = ""; f < arguments.length;) (e = arguments[f++]) && (t = r(e)) && (n && (n += " "), n += t);
201
- return n;
202
- }
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}
203
191
 
204
192
  var GetInputType = React__default.forwardRef(function (props, ref) {
205
193
  var _p = props._p,
@@ -839,7 +827,9 @@ var UserRole = function UserRole(_ref) {
839
827
  }));
840
828
  };
841
829
 
842
- var styles$1 = {"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","defaultLabel":"_smjc4","defaultBtn":"_1_ArA","cursonPointer":"_1L115","sectionWrapper":"_VpUCK","margin":"_1Fs_D","minGridWidth":"_1hl-Z","firstRowMargin":"_1WZZj","firstChildMargin":"_IT_O_","paddingTop":"_Mhnl7","dividerColor":"_3ltFd"};
830
+ 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"};
831
+
832
+ var classes = {"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"};
843
833
 
844
834
  var SHOW_LOADER = 'SHOW_LOADER';
845
835
  var STOP_LOADER = 'STOP_LOADER';
@@ -940,10 +930,17 @@ var formatCreateUserPayload = function formatCreateUserPayload(payload) {
940
930
  res.membership_info = payload.membershipInfoInput.filter(function (membership) {
941
931
  return !membership.isDeleted;
942
932
  }).map(function (membership) {
933
+ var _ref = membership || {},
934
+ _ref$iata_code = _ref.iata_code,
935
+ iata_code = _ref$iata_code === void 0 ? null : _ref$iata_code,
936
+ _ref$loyalty_program_ = _ref.loyalty_program_id,
937
+ loyalty_program_id = _ref$loyalty_program_ === void 0 ? null : _ref$loyalty_program_;
943
938
  var res = {
944
939
  membership_type: membership.membership_type,
945
940
  name: membership.name,
946
- number: membership.number
941
+ number: membership.number,
942
+ iata_code: iata_code,
943
+ loyalty_program_id: loyalty_program_id
947
944
  };
948
945
  return res;
949
946
  });
@@ -1121,11 +1118,18 @@ var formatUpdateUserPayload = function formatUpdateUserPayload(payload, inputCha
1121
1118
  res.fields.membership_info = payload.membershipInfoInput.filter(function (membership) {
1122
1119
  return !!membership.isEditMode;
1123
1120
  }).map(function (membership) {
1121
+ var _ref2 = membership || {},
1122
+ _ref2$iata_code = _ref2.iata_code,
1123
+ iata_code = _ref2$iata_code === void 0 ? null : _ref2$iata_code,
1124
+ _ref2$loyalty_program = _ref2.loyalty_program_id,
1125
+ loyalty_program_id = _ref2$loyalty_program === void 0 ? null : _ref2$loyalty_program;
1124
1126
  var res = {
1125
1127
  membership_type: membership.membership_type,
1126
1128
  name: membership.name,
1127
1129
  number: membership.number,
1128
- id: membership.id
1130
+ id: membership.id,
1131
+ iata_code: iata_code,
1132
+ loyalty_program_id: loyalty_program_id
1129
1133
  };
1130
1134
  return res;
1131
1135
  }).concat(payload.membershipInfoInput.filter(function (membership) {
@@ -2233,84 +2237,195 @@ var editCustomFieldLabel = function editCustomFieldLabel(payload) {
2233
2237
 
2234
2238
  var IUILocalStorageService$4 = utils.services.IUILocalStorageService;
2235
2239
  var env$3 = utils.configs.env;
2236
- var CreditCard = function CreditCard(_ref) {
2237
- var cardId = _ref.cardId,
2238
- lastDigit = _ref.lastDigit,
2239
- expMonth = _ref.expMonth,
2240
- expYear = _ref.expYear,
2241
- cardBrand = _ref.cardBrand,
2242
- _ref$isDefaultCard = _ref.isDefaultCard,
2243
- isDefaultCard = _ref$isDefaultCard === void 0 ? false : _ref$isDefaultCard,
2244
- pg = _ref.pg;
2240
+ var CardsManagement = function CardsManagement(_ref) {
2241
+ var _pg$gateway;
2242
+ var _ref$paymentDetails = _ref.paymentDetails,
2243
+ paymentDetails = _ref$paymentDetails === void 0 ? {} : _ref$paymentDetails,
2244
+ _ref$paymentMethod = _ref.paymentMethod,
2245
+ paymentMethod = _ref$paymentMethod === void 0 ? null : _ref$paymentMethod;
2245
2246
  var dispatch = reactRedux.useDispatch();
2246
- var handleCardDelete = function handleCardDelete() {
2247
- dispatch(deletePaymentCard({
2248
- pmId: cardId,
2249
- vendorId: pg.vendor_id
2250
- }));
2251
- };
2252
- var setDefaultCard = function setDefaultCard() {
2247
+ var pg = paymentDetails.pg,
2248
+ _paymentDetails$cards = paymentDetails.cards,
2249
+ cards = _paymentDetails$cards === void 0 ? null : _paymentDetails$cards;
2250
+ var _useState = React.useState(null),
2251
+ anchorEl = _useState[0],
2252
+ setAnchorEl = _useState[1];
2253
+ var _useState2 = React.useState(null),
2254
+ selectedCard = _useState2[0],
2255
+ setSelectedCard = _useState2[1];
2256
+ var handleMenuClick = function handleMenuClick(event, card) {
2257
+ setAnchorEl(event.currentTarget);
2258
+ setSelectedCard(card);
2259
+ };
2260
+ var handleMenuClose = function handleMenuClose() {
2261
+ setAnchorEl(null);
2262
+ setSelectedCard(null);
2263
+ };
2264
+ var handleMarkAsDefault = function handleMarkAsDefault() {
2265
+ console.log('Mark as default:', selectedCard);
2266
+ if (!pg || !selectedCard) return;
2253
2267
  dispatch(setDefaultPaymentCard({
2254
2268
  user_id: +pg.user_id,
2255
- method_id: cardId,
2269
+ method_id: selectedCard.id,
2256
2270
  vendor_id: +pg.vendor_id,
2257
2271
  app_type: 1
2258
2272
  }));
2273
+ handleMenuClose();
2259
2274
  };
2260
- return /*#__PURE__*/React__default.createElement("div", {
2261
- className: styles$1.card
2262
- }, /*#__PURE__*/React__default.createElement("div", {
2263
- className: styles$1.cardLabel
2264
- }, isDefaultCard ? /*#__PURE__*/React__default.createElement("span", {
2265
- className: styles$1.defaultLabel
2266
- }, "Default Card") : /*#__PURE__*/React__default.createElement("button", {
2267
- type: "button",
2268
- onClick: setDefaultCard,
2269
- className: styles$1.defaultBtn
2270
- }, "Make This Default")), !isDefaultCard && /*#__PURE__*/React__default.createElement("div", {
2271
- className: styles$1.cardDeleteBtn
2272
- }, /*#__PURE__*/React__default.createElement("button", {
2273
- type: "button",
2274
- onClick: handleCardDelete
2275
- }, /*#__PURE__*/React__default.createElement(DeleteIcon, {
2276
- width: "10",
2277
- height: "10"
2278
- }))), /*#__PURE__*/React__default.createElement("div", {
2279
- className: styles$1.cardNumber
2280
- }, /*#__PURE__*/React__default.createElement("span", {
2281
- className: styles$1.cardDigit
2282
- }, "XXXX"), /*#__PURE__*/React__default.createElement("span", {
2283
- className: styles$1.cardDigit
2284
- }, "XXXX"), /*#__PURE__*/React__default.createElement("span", {
2285
- className: styles$1.cardDigit
2286
- }, "XXXX"), /*#__PURE__*/React__default.createElement("span", {
2287
- className: styles$1.cardDigit
2288
- }, lastDigit)), /*#__PURE__*/React__default.createElement("div", {
2289
- className: styles$1.expiryDate
2290
- }, expMonth, " / ", expYear), /*#__PURE__*/React__default.createElement("div", {
2291
- className: clsx(styles$1.cardImage, styles$1[cardBrand])
2292
- }));
2293
- };
2294
- var AddCard = function AddCard(_ref2) {
2295
- var pg = _ref2.pg;
2296
- var _url = env$3.getPaymentUrl() + ("/api/v1/auth/" + IUILocalStorageService$4.getAccessToken() + "/1/" + pg.entity_id + "/0/" + pg.vendor_id + "/1");
2297
- var handleAddCard = function handleAddCard() {
2298
- window.location.assign(_url);
2275
+ var handleDeleteCard = function handleDeleteCard() {
2276
+ dispatch(deletePaymentCard({
2277
+ pmId: selectedCard.id,
2278
+ vendorId: pg.vendor_id
2279
+ }));
2280
+ handleMenuClose();
2281
+ };
2282
+ var getBrandLogo = function getBrandLogo(brand) {
2283
+ var logos = {
2284
+ visa: 'https://upload.wikimedia.org/wikipedia/commons/0/04/Visa.svg',
2285
+ mastercard: 'https://upload.wikimedia.org/wikipedia/commons/2/2a/Mastercard-logo.svg',
2286
+ amex: 'https://upload.wikimedia.org/wikipedia/commons/3/30/American_Express_logo.svg'
2287
+ };
2288
+ return logos[brand.toLowerCase()] || '';
2299
2289
  };
2290
+ var getCardTypeClass = function getCardTypeClass(category) {
2291
+ return category === 'Corporate' ? 'corporate' : category === 'Company' ? 'company' : 'personal';
2292
+ };
2293
+ var getCardTypeLabel = function getCardTypeLabel(category) {
2294
+ return category === 'Corporate' ? 'CORPORATE' : category === 'Company' ? 'COMPANY' : 'PERSONAL';
2295
+ };
2296
+ var MoreIcon = function MoreIcon(_ref2) {
2297
+ var _ref2$color = _ref2.color,
2298
+ color = _ref2$color === void 0 ? '#3D89FF' : _ref2$color,
2299
+ className = _ref2.className;
2300
+ return /*#__PURE__*/React__default.createElement("svg", {
2301
+ width: "16",
2302
+ height: "16",
2303
+ viewBox: "0 0 16 16",
2304
+ fill: "none",
2305
+ className: className
2306
+ }, /*#__PURE__*/React__default.createElement("path", {
2307
+ d: "M0.8125 8.00439C0.8125 8.4188 0.97712 8.81622 1.27015 9.10925C1.56317 9.40227 1.9606 9.56689 2.375 9.56689C2.7894 9.56689 3.18683 9.40227 3.47985 9.10925C3.77288 8.81622 3.9375 8.4188 3.9375 8.00439C3.9375 7.58999 3.77288 7.19257 3.47985 6.89954C3.18683 6.60651 2.7894 6.44189 2.375 6.44189C1.9606 6.44189 1.56317 6.60651 1.27015 6.89954C0.97712 7.19257 0.8125 7.58999 0.8125 8.00439Z",
2308
+ stroke: color,
2309
+ strokeLinecap: "round",
2310
+ strokeLinejoin: "round"
2311
+ }), /*#__PURE__*/React__default.createElement("path", {
2312
+ d: "M6.4375 8.00439C6.4375 8.20958 6.47792 8.41277 6.55644 8.60234C6.63496 8.79191 6.75005 8.96416 6.89515 9.10925C7.04024 9.25434 7.21249 9.36943 7.40206 9.44796C7.59163 9.52648 7.79481 9.56689 8 9.56689C8.20519 9.56689 8.40837 9.52648 8.59794 9.44796C8.78751 9.36943 8.95976 9.25434 9.10485 9.10925C9.24995 8.96416 9.36504 8.79191 9.44356 8.60234C9.52208 8.41277 9.5625 8.20958 9.5625 8.00439C9.5625 7.7992 9.52208 7.59602 9.44356 7.40645C9.36504 7.21688 9.24995 7.04463 9.10485 6.89954C8.95976 6.75445 8.78751 6.63936 8.59794 6.56083C8.40837 6.48231 8.20519 6.44189 8 6.44189C7.79481 6.44189 7.59163 6.48231 7.40206 6.56083C7.21249 6.63936 7.04024 6.75445 6.89515 6.89954C6.75005 7.04463 6.63496 7.21688 6.55644 7.40645C6.47792 7.59602 6.4375 7.7992 6.4375 8.00439Z",
2313
+ stroke: color,
2314
+ strokeLinecap: "round",
2315
+ strokeLinejoin: "round"
2316
+ }), /*#__PURE__*/React__default.createElement("path", {
2317
+ d: "M12.0625 8.00439C12.0625 8.4188 12.2271 8.81622 12.5201 9.10925C12.8132 9.40227 13.2106 9.56689 13.625 9.56689C14.0394 9.56689 14.4368 9.40227 14.7299 9.10925C15.0229 8.81622 15.1875 8.4188 15.1875 8.00439C15.1875 7.58999 15.0229 7.19257 14.7299 6.89954C14.4368 6.60651 14.0394 6.44189 13.625 6.44189C13.2106 6.44189 12.8132 6.60651 12.5201 6.89954C12.2271 7.19257 12.0625 7.58999 12.0625 8.00439Z",
2318
+ stroke: color,
2319
+ strokeLinecap: "round",
2320
+ strokeLinejoin: "round"
2321
+ }));
2322
+ };
2323
+ var LockIcon = function LockIcon(_ref3) {
2324
+ return /*#__PURE__*/React__default.createElement("svg", {
2325
+ xmlns: "http://www.w3.org/2000/svg",
2326
+ width: "16",
2327
+ height: "16",
2328
+ viewBox: "0 0 16 16",
2329
+ fill: "none"
2330
+ }, /*#__PURE__*/React__default.createElement("path", {
2331
+ d: "M7.83562 1.50971L8 1.50439C9.32548 1.50439 10.41 2.53593 10.4947 3.84002L10.5 4.00439V5.00439H11.5C12.3284 5.00439 13 5.67597 13 6.50439V12.5044C13 13.3328 12.3284 14.0044 11.5 14.0044H4.5C3.67157 14.0044 3 13.3328 3 12.5044V6.50439C3 5.67597 3.67157 5.00439 4.5 5.00439H5.5V4.00439C5.5 2.67891 6.53154 1.59436 7.83562 1.50971ZM11.5 6.00439H4.5C4.22386 6.00439 4 6.22825 4 6.50439V12.5044C4 12.7805 4.22386 13.0044 4.5 13.0044H11.5C11.7761 13.0044 12 12.7805 12 12.5044V6.50439C12 6.22825 11.7761 6.00439 11.5 6.00439ZM8 8.50439C8.55228 8.50439 9 8.95211 9 9.50439C9 10.0567 8.55228 10.5044 8 10.5044C7.44772 10.5044 7 10.0567 7 9.50439C7 8.95211 7.44772 8.50439 8 8.50439ZM8.14446 2.51126L8 2.50439C7.2203 2.50439 6.57955 3.09928 6.50687 3.85993L6.5 4.00439V5.00439H9.5V4.00439C9.5 3.2247 8.90511 2.58395 8.14446 2.51126Z",
2332
+ fill: "#2EA363"
2333
+ }));
2334
+ };
2335
+ var renderCard = function renderCard(card) {
2336
+ var isCompanyCard = card.category === 'Company';
2337
+ var cardClass = getCardTypeClass(card.category);
2338
+ var isDefaultCard = !!+card.metadata.default_card;
2339
+ return /*#__PURE__*/React__default.createElement("div", {
2340
+ key: card.id,
2341
+ className: clsx(classes.card, classes[cardClass])
2342
+ }, /*#__PURE__*/React__default.createElement("div", {
2343
+ className: classes.cardHeader
2344
+ }, /*#__PURE__*/React__default.createElement("div", {
2345
+ className: classes.cardTitleSection
2346
+ }, /*#__PURE__*/React__default.createElement("h3", {
2347
+ className: classes.cardName
2348
+ }, card.alias), /*#__PURE__*/React__default.createElement("span", {
2349
+ className: classes.cardType
2350
+ }, getCardTypeLabel(card.category), isDefaultCard && /*#__PURE__*/React__default.createElement("span", null, ' (Default)'))), isCompanyCard ? /*#__PURE__*/React__default.createElement(LockIcon, {
2351
+ className: classes.lockIcon
2352
+ }) : /*#__PURE__*/React__default.createElement(core.IconButton, {
2353
+ size: "small",
2354
+ onClick: function onClick(e) {
2355
+ return handleMenuClick(e, card);
2356
+ },
2357
+ className: classes.menuButton
2358
+ }, /*#__PURE__*/React__default.createElement(MoreIcon, {
2359
+ className: clsx(classes.moreIcon, classes[cardClass]),
2360
+ color: isCompanyCard ? '#2EA363' : '#3D89FF'
2361
+ }))), /*#__PURE__*/React__default.createElement("div", {
2362
+ className: classes.cardDetails
2363
+ }, /*#__PURE__*/React__default.createElement("div", {
2364
+ className: classes.cardNumber
2365
+ }, /*#__PURE__*/React__default.createElement("span", {
2366
+ className: classes.cardMaskedNumber
2367
+ }, "\u2022\u2022\u2022\u2022 \u2022\u2022\u2022\u2022 \u2022\u2022\u2022\u2022"), ' ', card.card.last4), /*#__PURE__*/React__default.createElement("div", {
2368
+ className: classes.cardExpiry
2369
+ }, "Expiry date ", card.card.exp_month, "/", String(card.card.exp_year).slice(-2)), /*#__PURE__*/React__default.createElement("div", {
2370
+ className: classes.cardCvv
2371
+ }, "CVV \u2022\u2022\u2022")), /*#__PURE__*/React__default.createElement("div", {
2372
+ className: classes.cardFooter
2373
+ }, /*#__PURE__*/React__default.createElement("div", null), /*#__PURE__*/React__default.createElement("img", {
2374
+ src: getBrandLogo(card.card.brand),
2375
+ alt: card.card.brand,
2376
+ className: classes.brandLogo
2377
+ })));
2378
+ };
2379
+ var personalCards = cards.filter(function (card) {
2380
+ return card.category === 'Personal';
2381
+ });
2382
+ var corporateCards = cards.filter(function (card) {
2383
+ return card.category === 'Corporate';
2384
+ });
2385
+ var companyCards = cards.filter(function (card) {
2386
+ return card.category === 'Company';
2387
+ });
2388
+ var _url = env$3.getPaymentUrl() + ("/api/v1/auth/" + IUILocalStorageService$4.getAccessToken() + "/1/" + pg.entity_id + "/0/" + pg.vendor_id + "/1");
2300
2389
  return /*#__PURE__*/React__default.createElement("div", {
2301
- className: clsx(styles$1.card, styles$1.cursonPointer),
2302
- onClick: handleAddCard
2303
- }, /*#__PURE__*/React__default.createElement("div", {
2304
- className: styles$1.addCard
2305
- }, /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement(AddIcon$1, null)), /*#__PURE__*/React__default.createElement("div", null, "Add New Card")));
2306
- };
2307
- var PaymentCards = function PaymentCards(_ref3) {
2308
- var _paymentDetails$pg, _paymentDetails$pg2;
2309
- var paymentDetails = _ref3.paymentDetails;
2310
- if (!paymentDetails || Object.keys(paymentDetails).length === 0 || (!paymentDetails.cards || paymentDetails.cards.length === 0) && ((paymentDetails === null || paymentDetails === void 0 ? void 0 : (_paymentDetails$pg = paymentDetails.pg) === null || _paymentDetails$pg === void 0 ? void 0 : _paymentDetails$pg.gateway.toLowerCase()) !== 'stripe' || (paymentDetails === null || paymentDetails === void 0 ? void 0 : (_paymentDetails$pg2 = paymentDetails.pg) === null || _paymentDetails$pg2 === void 0 ? void 0 : _paymentDetails$pg2.save_card_enable) !== 1)) {
2311
- return /*#__PURE__*/React__default.createElement(React__default.Fragment, null);
2312
- }
2313
- return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(iuistyles.IUIDivider, {
2390
+ style: {
2391
+ marginBottom: -20
2392
+ }
2393
+ }, /*#__PURE__*/React__default.createElement(iuistyles.IUIGrid, {
2394
+ container: true,
2395
+ className: clsx(styles$1.sectionWrapper)
2396
+ }, /*#__PURE__*/React__default.createElement(iuistyles.IUIGrid, {
2397
+ item: true,
2398
+ sm: 12,
2399
+ md: 4
2400
+ }, /*#__PURE__*/React__default.createElement(iuistyles.IUILabel, {
2401
+ label: "My cards",
2402
+ headerType: true,
2403
+ description: "These are personal & company issued cards owned by you."
2404
+ })), /*#__PURE__*/React__default.createElement(iuistyles.IUIGrid, {
2405
+ item: true,
2406
+ sm: 12,
2407
+ md: 8,
2408
+ lg: 8,
2409
+ xl: 6
2410
+ }, /*#__PURE__*/React__default.createElement(iuistyles.IUIGrid, {
2411
+ container: true,
2412
+ className: styles$1.formFieldsWrapper
2413
+ }, /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", null, paymentMethod === 2 && /*#__PURE__*/React__default.createElement("div", {
2414
+ style: classes.disabledNotice
2415
+ }, "Company has disabled usage of your personal cards, please reach out to your admin"), /*#__PURE__*/React__default.createElement("div", {
2416
+ className: classes.cardsGrid
2417
+ }, personalCards.map(function (card) {
2418
+ return renderCard(card);
2419
+ }), corporateCards.map(function (card) {
2420
+ return renderCard(card);
2421
+ })), (!cards || (cards === null || cards === void 0 ? void 0 : cards.length) < 10) && (pg === null || pg === void 0 ? void 0 : (_pg$gateway = pg.gateway) === null || _pg$gateway === void 0 ? void 0 : _pg$gateway.toLowerCase()) === 'stripe' && (pg === null || pg === void 0 ? void 0 : pg.save_card_enable) === 1 && paymentMethod !== 2 && /*#__PURE__*/React__default.createElement("button", {
2422
+ className: classes.addCardButton,
2423
+ onClick: function onClick() {
2424
+ return window.location.assign(_url);
2425
+ }
2426
+ }, /*#__PURE__*/React__default.createElement("span", {
2427
+ className: classes.plusIcon
2428
+ }, "+"), " Add card")))))), (companyCards === null || companyCards === void 0 ? void 0 : companyCards.length) !== 0 && /*#__PURE__*/React__default.createElement(React.Fragment, null, /*#__PURE__*/React__default.createElement(iuistyles.IUIDivider, {
2314
2429
  className: styles$1.dividerColor
2315
2430
  }), /*#__PURE__*/React__default.createElement(iuistyles.IUIGrid, {
2316
2431
  container: true,
@@ -2320,9 +2435,9 @@ var PaymentCards = function PaymentCards(_ref3) {
2320
2435
  sm: 12,
2321
2436
  md: 4
2322
2437
  }, /*#__PURE__*/React__default.createElement(iuistyles.IUILabel, {
2323
- label: "Card Details",
2324
- headerType: true,
2325
- description: ""
2438
+ label: "Company cards",
2439
+ description: "These are the centralized cards owned by your company.",
2440
+ headerType: true
2326
2441
  })), /*#__PURE__*/React__default.createElement(iuistyles.IUIGrid, {
2327
2442
  item: true,
2328
2443
  sm: 12,
@@ -2332,20 +2447,43 @@ var PaymentCards = function PaymentCards(_ref3) {
2332
2447
  }, /*#__PURE__*/React__default.createElement(iuistyles.IUIGrid, {
2333
2448
  container: true,
2334
2449
  className: styles$1.formFieldsWrapper
2335
- }, /*#__PURE__*/React__default.createElement(React__default.Fragment, null, paymentDetails.cards && paymentDetails.cards.map(function (card) {
2336
- return /*#__PURE__*/React__default.createElement(CreditCard, {
2337
- key: card.id,
2338
- cardId: card.id,
2339
- lastDigit: card.card.last4,
2340
- expMonth: card.card.exp_month,
2341
- expYear: card.card.exp_year,
2342
- cardBrand: card.card.brand,
2343
- isDefaultCard: !!+card.metadata.default_card,
2344
- pg: paymentDetails.pg
2345
- });
2346
- }), (!paymentDetails.cards || paymentDetails.cards.length < 10) && paymentDetails.pg.gateway.toLowerCase() === 'stripe' && paymentDetails.pg.save_card_enable === 1 && /*#__PURE__*/React__default.createElement(AddCard, {
2347
- pg: paymentDetails.pg
2348
- }))))));
2450
+ }, /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
2451
+ className: classes.cardsGrid
2452
+ }, companyCards.map(function (card) {
2453
+ return renderCard(card);
2454
+ }))))))), /*#__PURE__*/React__default.createElement(core.Menu, {
2455
+ anchorEl: anchorEl,
2456
+ open: Boolean(anchorEl),
2457
+ onClose: handleMenuClose,
2458
+ anchorOrigin: {
2459
+ vertical: 'top',
2460
+ horizontal: 'right'
2461
+ },
2462
+ transformOrigin: {
2463
+ vertical: 'top',
2464
+ horizontal: 'right'
2465
+ }
2466
+ }, selectedCard && !+selectedCard.metadata.default_card && /*#__PURE__*/React__default.createElement(core.MenuItem, {
2467
+ onClick: handleMarkAsDefault
2468
+ }, "Mark as default"), /*#__PURE__*/React__default.createElement(core.MenuItem, {
2469
+ onClick: handleDeleteCard,
2470
+ style: {
2471
+ color: '#ff4444'
2472
+ }
2473
+ }, "Delete card")));
2474
+ };
2475
+
2476
+ var PaymentCards = function PaymentCards(_ref) {
2477
+ var _paymentDetails$pg, _paymentDetails$pg2;
2478
+ var paymentDetails = _ref.paymentDetails;
2479
+ if (!paymentDetails || Object.keys(paymentDetails).length === 0 || (!paymentDetails.cards || paymentDetails.cards.length === 0) && ((paymentDetails === null || paymentDetails === void 0 ? void 0 : (_paymentDetails$pg = paymentDetails.pg) === null || _paymentDetails$pg === void 0 ? void 0 : _paymentDetails$pg.gateway.toLowerCase()) !== 'stripe' || (paymentDetails === null || paymentDetails === void 0 ? void 0 : (_paymentDetails$pg2 = paymentDetails.pg) === null || _paymentDetails$pg2 === void 0 ? void 0 : _paymentDetails$pg2.save_card_enable) !== 1)) {
2480
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null);
2481
+ }
2482
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(iuistyles.IUIDivider, {
2483
+ className: styles$1.dividerColor
2484
+ }), /*#__PURE__*/React__default.createElement(CardsManagement, {
2485
+ paymentDetails: paymentDetails
2486
+ }));
2349
2487
  };
2350
2488
 
2351
2489
  function AddIcon(props) {
@@ -2418,7 +2556,9 @@ var TravelExpenseFields = function TravelExpenseFields(props) {
2418
2556
  _props$editUserId = props.editUserId,
2419
2557
  editUserId = _props$editUserId === void 0 ? null : _props$editUserId,
2420
2558
  _props$roles = props.roles,
2421
- roles = _props$roles === void 0 ? [] : _props$roles;
2559
+ roles = _props$roles === void 0 ? [] : _props$roles,
2560
+ _props$paymentMethod = props.paymentMethod,
2561
+ paymentMethod = _props$paymentMethod === void 0 ? null : _props$paymentMethod;
2422
2562
  var _useState = React.useState({
2423
2563
  product: '',
2424
2564
  approvers: []
@@ -2714,8 +2854,9 @@ var TravelExpenseFields = function TravelExpenseFields(props) {
2714
2854
  isError: !!errMsg[i],
2715
2855
  placeholder: "Example label - \u201CManager\u201D"
2716
2856
  }));
2717
- })))), type === 'travel' && isProfile && paymentDetails && /*#__PURE__*/React__default.createElement(PaymentCards, {
2718
- paymentDetails: paymentDetails
2857
+ })))), type === 'travel' && paymentDetails && /*#__PURE__*/React__default.createElement(PaymentCards, {
2858
+ paymentDetails: paymentDetails,
2859
+ paymentMethod: paymentMethod
2719
2860
  }));
2720
2861
  };
2721
2862
 
@@ -3470,6 +3611,17 @@ var cardsConstants = {
3470
3611
  fullWidth: false,
3471
3612
  visibility: true,
3472
3613
  disableText: 'Please get in touch with your administrator to change this value.'
3614
+ }, {
3615
+ id: 3,
3616
+ label: 'Bookkeeper',
3617
+ description: 'This role is capable of reading all the action for own and other card employees',
3618
+ value: '',
3619
+ name: '',
3620
+ type: 'radio',
3621
+ isAssigned: false,
3622
+ fullWidth: false,
3623
+ visibility: true,
3624
+ disableText: 'Please get in touch with your administrator to change this value.'
3473
3625
  }]
3474
3626
  };
3475
3627
  var passportInfo = [{
@@ -3877,6 +4029,7 @@ var reducer = function reducer(state, action) {
3877
4029
  {
3878
4030
  var _action$payload8, _action$payload8$role, _action$payload9;
3879
4031
  var cardsDetails = _extends({}, state.cardsDetails);
4032
+ console.log(action === null || action === void 0 ? void 0 : action.payload, 'cardsDetails22');
3880
4033
  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) {
3881
4034
  cardsDetails.cardsRoles = action.payload.roles.map(function (role) {
3882
4035
  return {
@@ -3893,6 +4046,7 @@ var reducer = function reducer(state, action) {
3893
4046
  };
3894
4047
  });
3895
4048
  }
4049
+ console.log(cardsDetails, 'cardsDetails2');
3896
4050
  return _extends({}, state, {
3897
4051
  cardsDetails: cardsDetails,
3898
4052
  isCardsDetailsRendered: true,
@@ -4507,6 +4661,7 @@ var ChevronNext = function ChevronNext(_ref) {
4507
4661
  }));
4508
4662
  };
4509
4663
 
4664
+ var sixteenDigitNumber = /^\d{16}$/;
4510
4665
  var MembershipForm = function MembershipForm(_ref) {
4511
4666
  var selectedMembershipChain = _ref.selectedMembershipChain,
4512
4667
  isOtherMembership = _ref.isOtherMembership,
@@ -4515,7 +4670,9 @@ var MembershipForm = function MembershipForm(_ref) {
4515
4670
  setMembershipName = _ref.setMembershipName,
4516
4671
  setMembershipNumber = _ref.setMembershipNumber,
4517
4672
  type = _ref.type,
4518
- isEdit = _ref.isEdit;
4673
+ isEdit = _ref.isEdit,
4674
+ _ref$isAAAloyaltySele = _ref.isAAAloyaltySelected,
4675
+ isAAAloyaltySelected = _ref$isAAAloyaltySele === void 0 ? false : _ref$isAAAloyaltySele;
4519
4676
  var FallbackIcon = function FallbackIcon() {
4520
4677
  var url = '';
4521
4678
  if (type === 'flight') {
@@ -4558,7 +4715,7 @@ var MembershipForm = function MembershipForm(_ref) {
4558
4715
  },
4559
4716
  iconComponent: null,
4560
4717
  style: {
4561
- width: '50%',
4718
+ width: '100%',
4562
4719
  paddingLeft: 0,
4563
4720
  borderRadius: 6
4564
4721
  }
@@ -4580,7 +4737,7 @@ var MembershipForm = function MembershipForm(_ref) {
4580
4737
  label: "Membership number",
4581
4738
  required: true
4582
4739
  }), /*#__PURE__*/React__default.createElement(iuistyles.IUISearch, {
4583
- placeholder: "e.g. ABCD1234",
4740
+ placeholder: isAAAloyaltySelected ? 'Enter 16-digit AAA membership ID' : 'e.g. ABCD1234',
4584
4741
  value: membershipNumber,
4585
4742
  onChangeHandler: function onChangeHandler(e) {
4586
4743
  var inputValue = e.target.value;
@@ -4590,11 +4747,16 @@ var MembershipForm = function MembershipForm(_ref) {
4590
4747
  },
4591
4748
  iconComponent: null,
4592
4749
  style: {
4593
- width: '50%',
4750
+ width: '100%',
4594
4751
  paddingLeft: 0,
4595
4752
  borderRadius: 6
4596
4753
  }
4597
- }));
4754
+ }), isAAAloyaltySelected && membershipNumber && !sixteenDigitNumber.test(membershipNumber) && /*#__PURE__*/React__default.createElement("div", {
4755
+ style: {
4756
+ color: '#cf2231',
4757
+ marginTop: 5
4758
+ }
4759
+ }, "Enter a valid 16-digit AAA membership ID"));
4598
4760
  };
4599
4761
 
4600
4762
  var TravelModeIcon = function TravelModeIcon(_ref) {
@@ -4760,6 +4922,43 @@ var LoyaltyPrograms = function LoyaltyPrograms(_ref) {
4760
4922
  }, /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement(Loader, null))));
4761
4923
  };
4762
4924
 
4925
+ var EditIcon = function EditIcon() {
4926
+ return /*#__PURE__*/React__default.createElement("svg", {
4927
+ width: "16",
4928
+ height: "16",
4929
+ viewBox: "0 0 16 16",
4930
+ fill: "none",
4931
+ xmlns: "http://www.w3.org/2000/svg"
4932
+ }, /*#__PURE__*/React__default.createElement("g", {
4933
+ clipPath: "url(#clip0_13010_74651)"
4934
+ }, /*#__PURE__*/React__default.createElement("path", {
4935
+ d: "M10.7197 1.72376C11.7029 0.740515 13.2971 0.740516 14.2803 1.72377C15.2636 2.70701 15.2636 4.30118 14.2803 5.28443L5.14645 14.4183C4.77137 14.7934 4.26267 15.0041 3.73223 15.0041H2C1.44772 15.0041 1 14.5564 1 14.0041V12.2719C1 11.7414 1.21071 11.2327 1.58579 10.8576L10.7197 1.72376ZM13.2197 2.78443C12.8222 2.38696 12.1778 2.38696 11.7803 2.78443L11.0607 3.5041L12.5 4.94344L13.2197 4.22376C13.6171 3.8263 13.6171 3.18189 13.2197 2.78443ZM11.4393 6.0041L10 4.56476L2.64645 11.9183C2.55268 12.0121 2.5 12.1393 2.5 12.2719V13.5041H3.73223C3.86484 13.5041 3.99202 13.4514 4.08579 13.3576L11.4393 6.0041Z",
4936
+ fill: "#EC5D25"
4937
+ })), /*#__PURE__*/React__default.createElement("defs", null, /*#__PURE__*/React__default.createElement("clipPath", {
4938
+ id: "clip0_13010_74651"
4939
+ }, /*#__PURE__*/React__default.createElement("rect", {
4940
+ width: "16",
4941
+ height: "16",
4942
+ fill: "white",
4943
+ transform: "translate(0 0.00390625)"
4944
+ }))));
4945
+ };
4946
+
4947
+ var DeleteIcon = function DeleteIcon() {
4948
+ return /*#__PURE__*/React__default.createElement("svg", {
4949
+ width: "16",
4950
+ height: "16",
4951
+ viewBox: "0 0 16 16",
4952
+ fill: "none",
4953
+ xmlns: "http://www.w3.org/2000/svg"
4954
+ }, /*#__PURE__*/React__default.createElement("path", {
4955
+ fillRule: "evenodd",
4956
+ clipRule: "evenodd",
4957
+ d: "M7.33333 2.33716C7.14924 2.33716 7 2.4864 7 2.67049V3.33716H9V2.67049C9 2.4864 8.85076 2.33716 8.66667 2.33716H7.33333ZM10 3.33716V2.67049C10 1.93411 9.40305 1.33716 8.66667 1.33716H7.33333C6.59695 1.33716 6 1.93411 6 2.67049V3.33716H2.5C2.22386 3.33716 2 3.56102 2 3.83716C2 4.1133 2.22386 4.33716 2.5 4.33716H3.03122L3.57716 12.7993C3.64506 13.8516 4.51843 14.6705 5.57301 14.6705H10.427C11.4816 14.6705 12.3549 13.8516 12.4228 12.7993L12.9688 4.33716H13.5C13.7761 4.33716 14 4.1133 14 3.83716C14 3.56102 13.7761 3.33716 13.5 3.33716H10ZM11.9667 4.33716H4.0333L4.57509 12.7349C4.60903 13.2611 5.04572 13.6705 5.57301 13.6705H10.427C10.9543 13.6705 11.391 13.2611 11.4249 12.7349L11.9667 4.33716ZM6.5 6.00383C6.77614 6.00383 7 6.22768 7 6.50383V11.5038C7 11.78 6.77614 12.0038 6.5 12.0038C6.22386 12.0038 6 11.78 6 11.5038V6.50383C6 6.22768 6.22386 6.00383 6.5 6.00383ZM9.5 6.00383C9.77614 6.00383 10 6.22768 10 6.50383V11.5038C10 11.78 9.77614 12.0038 9.5 12.0038C9.22386 12.0038 9 11.78 9 11.5038V6.50383C9 6.22768 9.22386 6.00383 9.5 6.00383Z",
4958
+ fill: "#CF2231"
4959
+ }));
4960
+ };
4961
+
4763
4962
  var _excluded = ["ind"];
4764
4963
  var IUIToastMessageService$4 = utils.services.IUIToastMessageService;
4765
4964
  var api$6 = utils.configs.api;
@@ -4770,7 +4969,9 @@ var SavedMemberships = function SavedMemberships(_ref) {
4770
4969
  _ref$updateList = _ref.updateList,
4771
4970
  updateList = _ref$updateList === void 0 ? function () {} : _ref$updateList,
4772
4971
  _ref$handleEdit = _ref.handleEdit,
4773
- handleEdit = _ref$handleEdit === void 0 ? function () {} : _ref$handleEdit;
4972
+ handleEdit = _ref$handleEdit === void 0 ? function () {} : _ref$handleEdit,
4973
+ _ref$isProfile = _ref.isProfile,
4974
+ isProfile = _ref$isProfile === void 0 ? false : _ref$isProfile;
4774
4975
  var _useState = React.useState(false),
4775
4976
  open = _useState[0],
4776
4977
  setOpen = _useState[1];
@@ -4783,42 +4984,10 @@ var SavedMemberships = function SavedMemberships(_ref) {
4783
4984
  var _useSelector = reactRedux.useSelector(function (state) {
4784
4985
  return state.common;
4785
4986
  }),
4786
- userID = _useSelector.id;
4787
- var DeleteIcon = function DeleteIcon() {
4788
- return /*#__PURE__*/React__default.createElement("svg", {
4789
- width: "16",
4790
- height: "16",
4791
- viewBox: "0 0 16 16",
4792
- fill: "none",
4793
- xmlns: "http://www.w3.org/2000/svg"
4794
- }, /*#__PURE__*/React__default.createElement("path", {
4795
- fillRule: "evenodd",
4796
- clipRule: "evenodd",
4797
- d: "M7.33333 2.33716C7.14924 2.33716 7 2.4864 7 2.67049V3.33716H9V2.67049C9 2.4864 8.85076 2.33716 8.66667 2.33716H7.33333ZM10 3.33716V2.67049C10 1.93411 9.40305 1.33716 8.66667 1.33716H7.33333C6.59695 1.33716 6 1.93411 6 2.67049V3.33716H2.5C2.22386 3.33716 2 3.56102 2 3.83716C2 4.1133 2.22386 4.33716 2.5 4.33716H3.03122L3.57716 12.7993C3.64506 13.8516 4.51843 14.6705 5.57301 14.6705H10.427C11.4816 14.6705 12.3549 13.8516 12.4228 12.7993L12.9688 4.33716H13.5C13.7761 4.33716 14 4.1133 14 3.83716C14 3.56102 13.7761 3.33716 13.5 3.33716H10ZM11.9667 4.33716H4.0333L4.57509 12.7349C4.60903 13.2611 5.04572 13.6705 5.57301 13.6705H10.427C10.9543 13.6705 11.391 13.2611 11.4249 12.7349L11.9667 4.33716ZM6.5 6.00383C6.77614 6.00383 7 6.22768 7 6.50383V11.5038C7 11.78 6.77614 12.0038 6.5 12.0038C6.22386 12.0038 6 11.78 6 11.5038V6.50383C6 6.22768 6.22386 6.00383 6.5 6.00383ZM9.5 6.00383C9.77614 6.00383 10 6.22768 10 6.50383V11.5038C10 11.78 9.77614 12.0038 9.5 12.0038C9.22386 12.0038 9 11.78 9 11.5038V6.50383C9 6.22768 9.22386 6.00383 9.5 6.00383Z",
4798
- fill: "#CF2231"
4799
- }));
4800
- };
4801
- var EditIcon = function EditIcon() {
4802
- return /*#__PURE__*/React__default.createElement("svg", {
4803
- width: "16",
4804
- height: "16",
4805
- viewBox: "0 0 16 16",
4806
- fill: "none",
4807
- xmlns: "http://www.w3.org/2000/svg"
4808
- }, /*#__PURE__*/React__default.createElement("g", {
4809
- clipPath: "url(#clip0_13010_74651)"
4810
- }, /*#__PURE__*/React__default.createElement("path", {
4811
- d: "M10.7197 1.72376C11.7029 0.740515 13.2971 0.740516 14.2803 1.72377C15.2636 2.70701 15.2636 4.30118 14.2803 5.28443L5.14645 14.4183C4.77137 14.7934 4.26267 15.0041 3.73223 15.0041H2C1.44772 15.0041 1 14.5564 1 14.0041V12.2719C1 11.7414 1.21071 11.2327 1.58579 10.8576L10.7197 1.72376ZM13.2197 2.78443C12.8222 2.38696 12.1778 2.38696 11.7803 2.78443L11.0607 3.5041L12.5 4.94344L13.2197 4.22376C13.6171 3.8263 13.6171 3.18189 13.2197 2.78443ZM11.4393 6.0041L10 4.56476L2.64645 11.9183C2.55268 12.0121 2.5 12.1393 2.5 12.2719V13.5041H3.73223C3.86484 13.5041 3.99202 13.4514 4.08579 13.3576L11.4393 6.0041Z",
4812
- fill: "#EC5D25"
4813
- })), /*#__PURE__*/React__default.createElement("defs", null, /*#__PURE__*/React__default.createElement("clipPath", {
4814
- id: "clip0_13010_74651"
4815
- }, /*#__PURE__*/React__default.createElement("rect", {
4816
- width: "16",
4817
- height: "16",
4818
- fill: "white",
4819
- transform: "translate(0 0.00390625)"
4820
- }))));
4821
- };
4987
+ id = _useSelector.id;
4988
+ var _useParams = reactRouterDom.useParams(),
4989
+ editUserId = _useParams.userId;
4990
+ var userID = isProfile ? id : editUserId;
4822
4991
  var handleClose = function handleClose() {
4823
4992
  setOpen(false);
4824
4993
  setDeleteItemData(null);
@@ -4983,7 +5152,9 @@ var AddMembershipButton = React.memo(function (_ref) {
4983
5152
  _ref$updateList = _ref.updateList,
4984
5153
  updateList = _ref$updateList === void 0 ? function () {} : _ref$updateList,
4985
5154
  _ref$handleEdit = _ref.handleEdit,
4986
- handleEdit = _ref$handleEdit === void 0 ? function () {} : _ref$handleEdit;
5155
+ handleEdit = _ref$handleEdit === void 0 ? function () {} : _ref$handleEdit,
5156
+ _ref$isProfile = _ref.isProfile,
5157
+ isProfile = _ref$isProfile === void 0 ? false : _ref$isProfile;
4987
5158
  var handleAddMembership = function handleAddMembership(type) {
4988
5159
  var currentModalState = _extends({}, modalState);
4989
5160
  currentModalState.open = true;
@@ -5016,7 +5187,8 @@ var AddMembershipButton = React.memo(function (_ref) {
5016
5187
  list: list,
5017
5188
  type: type,
5018
5189
  updateList: updateList,
5019
- handleEdit: handleEdit
5190
+ handleEdit: handleEdit,
5191
+ isProfile: isProfile
5020
5192
  }), /*#__PURE__*/React__default.createElement(iuistyles.IUIButton, {
5021
5193
  buttonText: "Add membership",
5022
5194
  type: "text",
@@ -5033,6 +5205,7 @@ var AddMembershipButton = React.memo(function (_ref) {
5033
5205
 
5034
5206
  var IUIToastMessageService$5 = utils.services.IUIToastMessageService;
5035
5207
  var api$7 = utils.configs.api;
5208
+ var sixteenDigitNumber$1 = /^\d{16}$/;
5036
5209
  var Membership = function Membership(_ref) {
5037
5210
  var _clsx;
5038
5211
  var _ref$membershipInfoIn = _ref.membershipInfoInput,
@@ -5052,8 +5225,9 @@ var Membership = function Membership(_ref) {
5052
5225
  savedMemberships = _useState[0],
5053
5226
  setSavedMemberships = _useState[1];
5054
5227
  var groupedMembershipData = savedMemberships.reduce(function (acc, item) {
5055
- acc[item.membership_type] = acc[item.membership_type] || [];
5056
- acc[item.membership_type].push(item);
5228
+ var _acc$item$membership_;
5229
+ acc[item === null || item === void 0 ? void 0 : item.membership_type] = (acc === null || acc === void 0 ? void 0 : acc[item === null || item === void 0 ? void 0 : item.membership_type]) || [];
5230
+ acc === null || acc === void 0 ? void 0 : (_acc$item$membership_ = acc[item === null || item === void 0 ? void 0 : item.membership_type]) === null || _acc$item$membership_ === void 0 ? void 0 : _acc$item$membership_.push(item);
5057
5231
  return acc;
5058
5232
  }, {
5059
5233
  flight: [],
@@ -5112,6 +5286,8 @@ var Membership = function Membership(_ref) {
5112
5286
  setMembershipNumber = _useState14[1];
5113
5287
  var wrapperRef = React.useRef(null);
5114
5288
  var nextRef = React.useRef(null);
5289
+ var isEditing = editIndex !== null;
5290
+ var isAAAloyaltySelected = (selectedMembershipChain === null || selectedMembershipChain === void 0 ? void 0 : selectedMembershipChain.program_name) === 'AAA' || (selectedMembershipChain === null || selectedMembershipChain === void 0 ? void 0 : selectedMembershipChain.loyalty_program_name) === 'AAA';
5115
5291
  var fetchItems = function fetchItems(query, reset) {
5116
5292
  if (query === void 0) {
5117
5293
  query = '';
@@ -5217,7 +5393,7 @@ var Membership = function Membership(_ref) {
5217
5393
  return;
5218
5394
  }
5219
5395
  if (item) {
5220
- if (index) {
5396
+ if (isEditing) {
5221
5397
  groupedMembershipData[type][index] = _extends({}, groupedMembershipData[type][index], {
5222
5398
  number: item.number,
5223
5399
  name: item.name
@@ -5225,11 +5401,12 @@ var Membership = function Membership(_ref) {
5225
5401
  } else groupedMembershipData[type] = [].concat(groupedMembershipData[type], [item]);
5226
5402
  }
5227
5403
  if (index !== null && !item) {
5228
- if (index < 0 || index >= groupedMembershipData[type].length) {
5404
+ var _groupedMembershipDat, _groupedMembershipDat2;
5405
+ if (index < 0 || index >= (groupedMembershipData === null || groupedMembershipData === void 0 ? void 0 : (_groupedMembershipDat = groupedMembershipData[type]) === null || _groupedMembershipDat === void 0 ? void 0 : _groupedMembershipDat.length)) {
5229
5406
  console.error("Invalid index: " + index);
5230
5407
  return;
5231
5408
  }
5232
- groupedMembershipData[type] = [].concat(groupedMembershipData[type].slice(0, index), groupedMembershipData[type].slice(index + 1));
5409
+ groupedMembershipData[type] = [].concat(groupedMembershipData === null || groupedMembershipData === void 0 ? void 0 : (_groupedMembershipDat2 = groupedMembershipData[type]) === null || _groupedMembershipDat2 === void 0 ? void 0 : _groupedMembershipDat2.slice(0, index), groupedMembershipData[type].slice(index + 1));
5233
5410
  }
5234
5411
  var flight = groupedMembershipData.flight,
5235
5412
  hotel = groupedMembershipData.hotel,
@@ -5239,34 +5416,55 @@ var Membership = function Membership(_ref) {
5239
5416
  };
5240
5417
  var handleSubmit = function handleSubmit() {
5241
5418
  try {
5419
+ var _ref2, _ref3;
5420
+ if (isAAAloyaltySelected && !sixteenDigitNumber$1.test(membershipNumber)) {
5421
+ IUIToastMessageService$5.warningNotify('Enter 16-digit AAA membership ID');
5422
+ return Promise.resolve();
5423
+ }
5242
5424
  var url = "/api/v1/user-management/users/" + userID + "/membership";
5243
- var payload = editIndex ? _extends({}, selectedMembershipChain, {
5244
- number: membershipNumber,
5245
- name: membershipName || ''
5425
+ var payload = isEditing ? _extends({}, selectedMembershipChain, {
5426
+ number: membershipNumber === null || membershipNumber === void 0 ? void 0 : membershipNumber.trim(),
5427
+ name: (_ref2 = membershipName || '') === null || _ref2 === void 0 ? void 0 : _ref2.trim()
5246
5428
  }) : {
5247
5429
  membership_type: type,
5248
- number: membershipNumber,
5430
+ number: membershipNumber === null || membershipNumber === void 0 ? void 0 : membershipNumber.trim(),
5249
5431
  iata_code: null,
5250
5432
  user: userID,
5251
5433
  loyalty_program_id: selectedMembershipChain === null || selectedMembershipChain === void 0 ? void 0 : selectedMembershipChain.loyalty_program_id,
5252
- name: membershipName || ''
5434
+ name: (_ref3 = membershipName || '') === null || _ref3 === void 0 ? void 0 : _ref3.trim()
5253
5435
  };
5254
5436
  setIsUpdating(true);
5255
- var _temp2 = _finallyRethrows(function () {
5437
+ var _temp4 = _finallyRethrows(function () {
5256
5438
  return _catch(function () {
5257
- return Promise.resolve(editIndex ? api$7.put(url, payload) : api$7.post(url, payload)).then(function (response) {
5258
- if ((response === null || response === void 0 ? void 0 : response.status) === 201 || (response === null || response === void 0 ? void 0 : response.status) === 200) {
5259
- var _response$data3;
5260
- var updatedResponse = response === null || response === void 0 ? void 0 : response.data;
5439
+ function _temp3() {
5440
+ var _response, _response2;
5441
+ if (((_response = response) === null || _response === void 0 ? void 0 : _response.status) === 201 || ((_response2 = response) === null || _response2 === void 0 ? void 0 : _response2.status) === 200) {
5442
+ var _response3;
5443
+ var updatedResponse = (_response3 = response) === null || _response3 === void 0 ? void 0 : _response3.data;
5261
5444
  updatedResponse.program_name = selectedMembershipChain === null || selectedMembershipChain === void 0 ? void 0 : selectedMembershipChain.program_name;
5262
5445
  updatedResponse.loyalty_program_image_url = selectedMembershipChain === null || selectedMembershipChain === void 0 ? void 0 : selectedMembershipChain.loyalty_program_image_url;
5263
5446
  if (isOtherMembership) updatedResponse.loyalty_program_name = 'Other';
5264
- updateList(response === null || response === void 0 ? void 0 : (_response$data3 = response.data) === null || _response$data3 === void 0 ? void 0 : _response$data3.membership_type, editIndex, updatedResponse);
5265
- IUIToastMessageService$5.sNotify(editIndex ? "Membership updated." : "New membership added.");
5447
+ updateList(type, editIndex, updatedResponse);
5448
+ if (userID) IUIToastMessageService$5.sNotify(isEditing ? "Membership updated." : "New membership added.");
5266
5449
  } else {
5267
5450
  IUIToastMessageService$5.warningNotify('Failed to save membership');
5268
5451
  }
5269
- });
5452
+ }
5453
+ var response = {};
5454
+ var _temp2 = function () {
5455
+ if (userID) {
5456
+ return Promise.resolve(isEditing ? api$7.put(url, payload) : api$7.post(url, payload)).then(function (_api$put) {
5457
+ response = _api$put;
5458
+ });
5459
+ } else {
5460
+ delete payload.user;
5461
+ response = {
5462
+ data: payload,
5463
+ status: 200
5464
+ };
5465
+ }
5466
+ }();
5467
+ return _temp2 && _temp2.then ? _temp2.then(_temp3) : _temp3(_temp2);
5270
5468
  }, function (error) {
5271
5469
  console.error(error);
5272
5470
  IUIToastMessageService$5.warningNotify('Something went wrong!');
@@ -5276,7 +5474,7 @@ var Membership = function Membership(_ref) {
5276
5474
  if (_wasThrown) throw _result;
5277
5475
  return _result;
5278
5476
  });
5279
- return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
5477
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
5280
5478
  } catch (e) {
5281
5479
  return Promise.reject(e);
5282
5480
  }
@@ -5301,10 +5499,10 @@ var Membership = function Membership(_ref) {
5301
5499
  closeHandler: handleClose,
5302
5500
  modalClass: clsx(styles$3.loyaltymodal, (_clsx = {}, _clsx[styles$3.loyaltyList] = !selectedMembershipChain, _clsx)),
5303
5501
  cancelLabel: selectedMembershipChain ? 'Cancel' : '',
5304
- submitLabel: selectedMembershipChain ? isUpdating ? 'Saving...' : editIndex ? 'Save' : 'Add' : '',
5502
+ submitLabel: selectedMembershipChain ? isUpdating ? 'Saving...' : isEditing ? 'Save' : 'Add' : '',
5305
5503
  submitHandler: handleSubmit,
5306
- isDisabledSubmitBtn: isUpdating || !membershipNumber || isOtherMembership && !membershipName,
5307
- width: "640px",
5504
+ isDisabledSubmitBtn: isUpdating || !membershipNumber || isOtherMembership && !membershipName || isAAAloyaltySelected && !sixteenDigitNumber$1.test(membershipNumber),
5505
+ width: selectedMembershipChain ? '480px' : '640px',
5308
5506
  headerText: selectedMembershipChain ? '' : title,
5309
5507
  subHanderText: selectedMembershipChain ? '' : subtitle,
5310
5508
  modalBodyStyle: {
@@ -5321,7 +5519,8 @@ var Membership = function Membership(_ref) {
5321
5519
  setMembershipName: setMembershipName,
5322
5520
  setMembershipNumber: setMembershipNumber,
5323
5521
  type: type,
5324
- isEdit: !!editIndex
5522
+ isEdit: isEditing,
5523
+ isAAAloyaltySelected: isAAAloyaltySelected
5325
5524
  }) : /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement("span", {
5326
5525
  style: {
5327
5526
  color: '#374151',
@@ -5382,7 +5581,8 @@ var Membership = function Membership(_ref) {
5382
5581
  modalState: modalState,
5383
5582
  list: groupedMembershipData[memType],
5384
5583
  updateList: updateList,
5385
- handleEdit: handleEdit
5584
+ handleEdit: handleEdit,
5585
+ isProfile: isProfile
5386
5586
  }), ind < 2 && /*#__PURE__*/React__default.createElement(iuistyles.IUIDivider, {
5387
5587
  className: styles$3.divider
5388
5588
  }));
@@ -5790,7 +5990,9 @@ var UserAddEdit = function UserAddEdit(props) {
5790
5990
  editUserId = props.editUserId,
5791
5991
  config = props.config,
5792
5992
  _props$isProfile = props.isProfile,
5793
- isProfile = _props$isProfile === void 0 ? false : _props$isProfile;
5993
+ isProfile = _props$isProfile === void 0 ? false : _props$isProfile,
5994
+ _props$paymentMethod = props.paymentMethod,
5995
+ paymentMethod = _props$paymentMethod === void 0 ? null : _props$paymentMethod;
5794
5996
  env$4.init(config, isProfile);
5795
5997
  var queryParams = new URLSearchParams(window.location.search);
5796
5998
  var verifyUserId = Number(queryParams.get(config.routes.users.add.queryParamKeys.verifyUserId));
@@ -6006,26 +6208,7 @@ var UserAddEdit = function UserAddEdit(props) {
6006
6208
  }).then(function (res) {
6007
6209
  var _res$roles;
6008
6210
  if (res !== null && res !== void 0 && (_res$roles = res.roles) !== null && _res$roles !== void 0 && _res$roles.length) {
6009
- dispatch(setCardsDetails(res));
6010
- } else {
6011
- IUIToastMessageService$6.warningNotify('Opps, Something went wrong.');
6012
- }
6013
- })["catch"](function (error) {
6014
- console.log("errorrr", error);
6015
- });
6016
- };
6017
- var fetchLoggedUserCardsDetails = function fetchLoggedUserCardsDetails() {
6018
- fetch(userAddEditUrl.cardsAddUsersDetails(), {
6019
- method: 'GET',
6020
- headers: {
6021
- 'Content-Type': 'application/json',
6022
- 'authorization': "Bearer " + IUILocalStorageService$5.getAccessToken()
6023
- }
6024
- }).then(function (response) {
6025
- return response.json();
6026
- }).then(function (res) {
6027
- var _res$roles2;
6028
- if (res !== null && res !== void 0 && (_res$roles2 = res.roles) !== null && _res$roles2 !== void 0 && _res$roles2.length) {
6211
+ console.log(res, 'cardsDetails222');
6029
6212
  dispatch(setCardsDetails(res));
6030
6213
  } else {
6031
6214
  IUIToastMessageService$6.warningNotify('Opps, Something went wrong.');
@@ -6725,10 +6908,11 @@ var UserAddEdit = function UserAddEdit(props) {
6725
6908
  }
6726
6909
  }, [isTokenVerified]);
6727
6910
  React.useEffect(function () {
6911
+ console.log(isProfile, 'isProfile', id, 'id', editUserId, 'editUserId');
6728
6912
  if (isRendered === true) {
6729
6913
  renderFields === null || renderFields === void 0 ? void 0 : renderFields.products.forEach(function (prod) {
6730
6914
  if ((prod === null || prod === void 0 ? void 0 : prod.name) === 'card') {
6731
- editUserId ? fetchEditUserCardsDetails(editUserId) : fetchLoggedUserCardsDetails();
6915
+ fetchEditUserCardsDetails(isProfile ? id : editUserId);
6732
6916
  }
6733
6917
  });
6734
6918
  setPersonalInfoInput(_extends({}, personalInfoInput, {
@@ -7431,32 +7615,6 @@ var UserAddEdit = function UserAddEdit(props) {
7431
7615
  }()
7432
7616
  });
7433
7617
  });
7434
- if (res.client_admin) {
7435
- setTravelApproversInput(function (prevState) {
7436
- var nextState = _extends({}, prevState);
7437
- for (var key in nextState) {
7438
- if (Object.hasOwnProperty.call(nextState, key)) {
7439
- nextState[key] = {
7440
- value: res.client_admin,
7441
- label: res.client_admin
7442
- };
7443
- }
7444
- }
7445
- return nextState;
7446
- });
7447
- setExpenseApproversInput(function (prevState) {
7448
- var nextState = _extends({}, prevState);
7449
- for (var key in nextState) {
7450
- if (Object.hasOwnProperty.call(nextState, key)) {
7451
- nextState[key] = {
7452
- value: res.client_admin,
7453
- label: res.client_admin
7454
- };
7455
- }
7456
- }
7457
- return nextState;
7458
- });
7459
- }
7460
7618
  })["catch"](function (err) {
7461
7619
  console.log(err);
7462
7620
  })["finally"](function () {
@@ -7727,9 +7885,8 @@ var UserAddEdit = function UserAddEdit(props) {
7727
7885
  maxApprovers: maxTravelApprovers,
7728
7886
  isProfile: isProfile,
7729
7887
  editUserId: editUserId,
7730
- roles: renderFields.travelRoles
7731
- }), /*#__PURE__*/React__default.createElement(iuistyles.IUIDivider, {
7732
- className: styles.dividerColor
7888
+ roles: renderFields.travelRoles,
7889
+ paymentMethod: paymentMethod
7733
7890
  }), /*#__PURE__*/React__default.createElement(AdditionalInfo, {
7734
7891
  membershipInfoInput: membershipInfoInput,
7735
7892
  onMemInfoInputChange: onMemInfoInputChange,
@@ -9321,7 +9478,7 @@ var BulkDownloadIcon = function BulkDownloadIcon(props) {
9321
9478
  }));
9322
9479
  };
9323
9480
 
9324
- var classes = {"containedBtn":"_2A4_u","customMiniBox":"_QGIKG","muiBtn":"_3iFbO","outlinedBtn":"_3lQYD","menuList":"_1C8bJ","menuListContainer":"_1N83W","menuItemContainer":"_3VtcE","menuItemtext":"_2xqnU","subTxt":"_3CVzX"};
9481
+ var classes$1 = {"containedBtn":"_2A4_u","customMiniBox":"_QGIKG","muiBtn":"_3iFbO","outlinedBtn":"_3lQYD","menuList":"_1C8bJ","menuListContainer":"_1N83W","menuItemContainer":"_3VtcE","menuItemtext":"_2xqnU","subTxt":"_3CVzX"};
9325
9482
 
9326
9483
  var DropdownBtn = function DropdownBtn(props) {
9327
9484
  var _clsx;
@@ -9380,7 +9537,7 @@ var DropdownBtn = function DropdownBtn(props) {
9380
9537
  }, [open]);
9381
9538
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Button, {
9382
9539
  endIcon: endIcon,
9383
- className: clsx(classes.muiBtn, className, (_clsx = {}, _clsx[classes.outlinedBtn] = outlinedBtn, _clsx)),
9540
+ className: clsx(classes$1.muiBtn, className, (_clsx = {}, _clsx[classes$1.outlinedBtn] = outlinedBtn, _clsx)),
9384
9541
  disableRipple: disableRipple,
9385
9542
  variant: "outlined",
9386
9543
  ref: anchorRef,
@@ -9406,13 +9563,13 @@ var DropdownBtn = function DropdownBtn(props) {
9406
9563
  transformOrigin: placement === 'bottom' ? 'center top' : 'center bottom'
9407
9564
  }
9408
9565
  }), /*#__PURE__*/React__default.createElement(core.Paper, {
9409
- className: classes.menuListContainer,
9566
+ className: classes$1.menuListContainer,
9410
9567
  elevation: 0
9411
9568
  }, /*#__PURE__*/React__default.createElement(core.ClickAwayListener, {
9412
9569
  onClickAway: handleClose
9413
9570
  }, /*#__PURE__*/React__default.createElement(core.MenuList, {
9414
9571
  autoFocusItem: open,
9415
- className: clsx(classes.menuList, (_clsx2 = {}, _clsx2[classes.outlinedBtn] = outlinedBtn, _clsx2), menuListClass),
9572
+ className: clsx(classes$1.menuList, (_clsx2 = {}, _clsx2[classes$1.outlinedBtn] = outlinedBtn, _clsx2), menuListClass),
9416
9573
  id: "menu-list-grow",
9417
9574
  onKeyDown: function onKeyDown(e) {
9418
9575
  return handleListKeyDown(e);
@@ -9423,13 +9580,13 @@ var DropdownBtn = function DropdownBtn(props) {
9423
9580
  return handleMenuClick(val);
9424
9581
  },
9425
9582
  key: _i,
9426
- className: clsx(classes.menuItemContainer, val.disable && 'iui__cursor-not-allowed'),
9583
+ className: clsx(classes$1.menuItemContainer, val.disable && 'iui__cursor-not-allowed'),
9427
9584
  disableRipple: true
9428
9585
  }, /*#__PURE__*/React__default.createElement(core.Typography, {
9429
- className: clsx(classes.menuItemtext, val && val.disable && 'iui__opacity--60')
9586
+ className: clsx(classes$1.menuItemtext, val && val.disable && 'iui__opacity--60')
9430
9587
  }, val.label), val.subText && /*#__PURE__*/React__default.createElement(iuistyles.IUITypography, {
9431
9588
  variant: "subtitle2",
9432
- className: clsx(classes.menuItemtext, classes.subTxt)
9589
+ className: clsx(classes$1.menuItemtext, classes$1.subTxt)
9433
9590
  }, val.subText));
9434
9591
  })))));
9435
9592
  }));