@rh-support/react-context 2.4.10-beta.6 → 2.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/README.md +0 -2
  2. package/lib/esm/GlobalContextWrapper.d.ts +2 -3
  3. package/lib/esm/GlobalContextWrapper.d.ts.map +1 -1
  4. package/lib/esm/GlobalContextWrapper.js +4 -1
  5. package/lib/esm/components/AccountSelector/AccountSelectorInternal.d.ts +2 -1
  6. package/lib/esm/components/AccountSelector/AccountSelectorInternal.d.ts.map +1 -1
  7. package/lib/esm/components/AccountSelector/AccountSelectorInternal.js +180 -95
  8. package/lib/esm/components/EmbeddedServiceChat/ChatSVGIcon.d.ts +2 -1
  9. package/lib/esm/components/EmbeddedServiceChat/ChatSVGIcon.d.ts.map +1 -1
  10. package/lib/esm/components/EmbeddedServiceChat/EmbeddedServiceChat.js +4 -4
  11. package/lib/esm/components/HostnameAwarenessModal/HostnameAwarenessModal.d.ts +2 -1
  12. package/lib/esm/components/HostnameAwarenessModal/HostnameAwarenessModal.d.ts.map +1 -1
  13. package/lib/esm/components/HostnameAwarenessModal/HostnameAwarenessModal.js +43 -48
  14. package/lib/esm/components/HostnameAwarenessModal/hostnameAwarenessModal.css +1 -1
  15. package/lib/esm/components/NewFeatureAnnouncement/NewFeatureLabel.d.ts +2 -1
  16. package/lib/esm/components/NewFeatureAnnouncement/NewFeatureLabel.d.ts.map +1 -1
  17. package/lib/esm/components/NewFeatureAnnouncement/NewFeatureLabel.js +1 -1
  18. package/lib/esm/components/NewFeatureAnnouncement/NewFeaturePopoverAnnouncement.d.ts +1 -1
  19. package/lib/esm/components/NewFeatureAnnouncement/NewFeaturePopoverAnnouncement.d.ts.map +1 -1
  20. package/lib/esm/components/SharedModals/CSSUserModal.d.ts +8 -0
  21. package/lib/esm/components/SharedModals/CSSUserModal.d.ts.map +1 -0
  22. package/lib/esm/components/SharedModals/CSSUserModal.js +34 -0
  23. package/lib/esm/components/SharedModals/CloseCaseModal.d.ts +2 -1
  24. package/lib/esm/components/SharedModals/CloseCaseModal.d.ts.map +1 -1
  25. package/lib/esm/components/SharedModals/CloseCaseModal.js +12 -6
  26. package/lib/esm/components/SharedModals/CloseCaseModal.scss +6 -6
  27. package/lib/esm/components/SharedModals/index.d.ts +1 -0
  28. package/lib/esm/components/SharedModals/index.d.ts.map +1 -1
  29. package/lib/esm/components/SharedModals/index.js +1 -0
  30. package/lib/esm/components/index.d.ts +0 -1
  31. package/lib/esm/components/index.d.ts.map +1 -1
  32. package/lib/esm/components/index.js +0 -1
  33. package/lib/esm/context/GlobalAlertMessageContext.d.ts +1 -1
  34. package/lib/esm/context/GlobalAlertMessageContext.d.ts.map +1 -1
  35. package/lib/esm/context/GlobalMetadataContext.d.ts +1 -1
  36. package/lib/esm/context/GlobalMetadataContext.d.ts.map +1 -1
  37. package/lib/esm/context/GlobalTranslationProvider.d.ts +1 -1
  38. package/lib/esm/context/GlobalTranslationProvider.d.ts.map +1 -1
  39. package/lib/esm/context/GlobalTranslationProvider.js +0 -1
  40. package/lib/esm/hooks/useChatConfig.js +9 -9
  41. package/lib/esm/hooks/useFeatureAnnouncement.d.ts.map +1 -1
  42. package/lib/esm/hooks/useFeatureAnnouncement.js +2 -2
  43. package/lib/esm/hooks/useUserPreferences.d.ts +19 -18
  44. package/lib/esm/hooks/useUserPreferences.d.ts.map +1 -1
  45. package/lib/esm/hooks/useUserPreferences.js +0 -1
  46. package/lib/esm/index.d.ts +1 -0
  47. package/lib/esm/index.d.ts.map +1 -1
  48. package/lib/esm/index.js +1 -0
  49. package/lib/esm/reducers/GlobalAlertMessageReducer.d.ts +2 -2
  50. package/lib/esm/reducers/GlobalAlertMessageReducer.d.ts.map +1 -1
  51. package/lib/esm/reducers/GlobalMetadataReducer.d.ts +15 -9
  52. package/lib/esm/reducers/GlobalMetadataReducer.d.ts.map +1 -1
  53. package/lib/esm/reducers/GlobalMetadataReducer.js +34 -12
  54. package/lib/esm/utils/index.d.ts +5 -0
  55. package/lib/esm/utils/index.d.ts.map +1 -0
  56. package/lib/esm/utils/index.js +21 -0
  57. package/package.json +36 -28
  58. package/lib/esm/components/bookmarks/BookmarkedAccountsDropdown.d.ts +0 -15
  59. package/lib/esm/components/bookmarks/BookmarkedAccountsDropdown.d.ts.map +0 -1
  60. package/lib/esm/components/bookmarks/BookmarkedAccountsDropdown.js +0 -35
  61. package/lib/esm/components/bookmarks/index.d.ts +0 -2
  62. package/lib/esm/components/bookmarks/index.d.ts.map +0 -1
  63. package/lib/esm/components/bookmarks/index.js +0 -1
@@ -35,6 +35,8 @@ export var UserPreferencesKeys;
35
35
  UserPreferencesKeys["showNewPreferenceTooltip"] = "PCM-prefToolTipVisibility";
36
36
  UserPreferencesKeys["caseViewInternal"] = "PCM-caseViewInternal";
37
37
  UserPreferencesKeys["partnershipLastestAcceptedLink"] = "PCM-PartnershipLastestAcceptedLink";
38
+ UserPreferencesKeys["partnershipLastestRejectedLink"] = "PCM-PartnershipLastestRejectedLink";
39
+ UserPreferencesKeys["userLastSavedABTest"] = "PCM-UserLastSavedABTest";
38
40
  })(UserPreferencesKeys || (UserPreferencesKeys = {}));
39
41
  export const BOOKMARK_APPLICATION_NAME = 'pcm';
40
42
  export const BOOKMARK_NAME_SPACE = 'customer-portal';
@@ -78,6 +80,7 @@ export var GlobalMetadataReducerConstants;
78
80
  GlobalMetadataReducerConstants["setReferrerUrl"] = "setReferrerUrl";
79
81
  GlobalMetadataReducerConstants["getNoclusteridreasons"] = "getNoclusteridreasons";
80
82
  GlobalMetadataReducerConstants["setIsSharingHostnameswithRHt"] = "setIsSharingHostnameswithRHt";
83
+ GlobalMetadataReducerConstants["setCaseListTraditionalSupportAgreed"] = "setCaseListTraditionalSupportAgreed";
81
84
  })(GlobalMetadataReducerConstants || (GlobalMetadataReducerConstants = {}));
82
85
  const initialProductResponse = {
83
86
  topProducts: [],
@@ -116,9 +119,11 @@ export const initialGlobalMetadataState = {
116
119
  },
117
120
  referrerUrl: null,
118
121
  caseNoClusterIdReasons: getApiResourceObject([]),
122
+ caseListTraditionalSupportAgreed: false,
119
123
  };
120
124
  // Resucers
121
125
  export const globalMetadataReducer = (pState, action) => {
126
+ var _a;
122
127
  switch (action.type) {
123
128
  case GlobalMetadataReducerConstants.setCaseTypes: {
124
129
  return Object.assign(Object.assign({}, pState), { allCaseTypes: action.payload.allCaseTypes });
@@ -211,6 +216,9 @@ export const globalMetadataReducer = (pState, action) => {
211
216
  case GlobalMetadataReducerConstants.getNoclusteridreasons: {
212
217
  return Object.assign(Object.assign({}, pState), { caseNoClusterIdReasons: action.payload.caseNoClusterIdReasons });
213
218
  }
219
+ case GlobalMetadataReducerConstants.setCaseListTraditionalSupportAgreed: {
220
+ return Object.assign(Object.assign({}, pState), { caseListTraditionalSupportAgreed: (_a = action.payload) === null || _a === void 0 ? void 0 : _a.caseListTraditionalSupportAgreed });
221
+ }
214
222
  default: {
215
223
  return pState;
216
224
  }
@@ -329,7 +337,7 @@ export const fetchAllStatuses = (dispatch, isSecureSupport) => __awaiter(void 0,
329
337
  });
330
338
  }
331
339
  });
332
- export const fetchProducts = (dispatch, ownerSSOUsername, params = {}) => __awaiter(void 0, void 0, void 0, function* () {
340
+ export const fetchProducts = (dispatch_1, ownerSSOUsername_1, ...args_1) => __awaiter(void 0, [dispatch_1, ownerSSOUsername_1, ...args_1], void 0, function* (dispatch, ownerSSOUsername, params = {}) {
333
341
  try {
334
342
  dispatch({
335
343
  type: GlobalMetadataReducerConstants.setAllProducts,
@@ -366,7 +374,7 @@ export const setAllProducts = (dispatch, allProducts) => {
366
374
  payload: { allProducts: getApiResourceObject(allProducts) },
367
375
  });
368
376
  };
369
- export const fetchLoggedInUsersAccount = (dispatch, token, silent = false) => __awaiter(void 0, void 0, void 0, function* () {
377
+ export const fetchLoggedInUsersAccount = (dispatch_1, token_1, ...args_1) => __awaiter(void 0, [dispatch_1, token_1, ...args_1], void 0, function* (dispatch, token, silent = false) {
370
378
  var _a;
371
379
  let accountNumber = token.account_number;
372
380
  if (silent) {
@@ -411,7 +419,7 @@ export const fetchLoggedInUsersAccount = (dispatch, token, silent = false) => __
411
419
  }
412
420
  });
413
421
  export const fetchLoggedInUser = (dispatch, token, pcmConfig) => __awaiter(void 0, void 0, void 0, function* () {
414
- var _b;
422
+ var _a;
415
423
  try {
416
424
  dispatch({
417
425
  type: GlobalMetadataReducerConstants.setLoggedInUser,
@@ -432,7 +440,7 @@ export const fetchLoggedInUser = (dispatch, token, pcmConfig) => __awaiter(void
432
440
  }
433
441
  }
434
442
  catch (e) {
435
- (_b = window.sessionjs) === null || _b === void 0 ? void 0 : _b.reportProblem(e, {
443
+ (_a = window.sessionjs) === null || _a === void 0 ? void 0 : _a.reportProblem(e, {
436
444
  tags: {
437
445
  portal_app: window.app || 'Portal Case Management',
438
446
  error_effect: 'PCM - App wide error',
@@ -590,7 +598,7 @@ export const fetchManagedAccounts = (dispatch, token) => __awaiter(void 0, void
590
598
  dispatch({
591
599
  type: GlobalMetadataReducerConstants.setManagedAccounts,
592
600
  payload: {
593
- managedAccounts: getApiResourceObject(managedAccounts ? sortBy(managedAccounts.accounts, 'name') : []),
601
+ managedAccounts: getApiResourceObject(!isEmpty(managedAccounts) ? sortBy(managedAccounts.accounts, 'name') : []),
594
602
  },
595
603
  });
596
604
  }
@@ -607,10 +615,12 @@ export const fetchAccountManagers = (dispatch, token) => __awaiter(void 0, void
607
615
  type: GlobalMetadataReducerConstants.setAccountManagers,
608
616
  payload: { accountManagers: getApiResourceObject([], true) },
609
617
  });
610
- const accountManagers = yield accounts.getPartnerAccountsForACustomer(token.account_number);
618
+ const accountManagers = yield accounts.getPartnerAccountsForACustomer(token.account_number, null, true);
611
619
  dispatch({
612
620
  type: GlobalMetadataReducerConstants.setAccountManagers,
613
- payload: { accountManagers: getApiResourceObject(accountManagers ? accountManagers.accounts : []) },
621
+ payload: {
622
+ accountManagers: getApiResourceObject(!isEmpty(accountManagers) ? accountManagers.accounts : []),
623
+ },
614
624
  });
615
625
  }
616
626
  catch (e) {
@@ -621,7 +631,7 @@ export const fetchAccountManagers = (dispatch, token) => __awaiter(void 0, void
621
631
  }
622
632
  });
623
633
  export const fetchBookmarkedGroupAccounts = (dispatch, username) => __awaiter(void 0, void 0, void 0, function* () {
624
- var _c, _d, _e;
634
+ var _a, _b, _c;
625
635
  try {
626
636
  dispatch({
627
637
  type: GlobalMetadataReducerConstants.getBookmarkedGroupAccounts,
@@ -636,9 +646,9 @@ export const fetchBookmarkedGroupAccounts = (dispatch, username) => __awaiter(vo
636
646
  publicApi.utilsBookmark.getAppData(),
637
647
  ]);
638
648
  const bookmarkedGroupIds = {
639
- appId: (_c = bookmarkAppData['apps'].find((item) => item.name === BOOKMARK_APPLICATION_NAME)) === null || _c === void 0 ? void 0 : _c.id,
640
- namespaceId: (_d = bookmarkAppData['namespaces'].find((item) => item.name === BOOKMARK_NAME_SPACE)) === null || _d === void 0 ? void 0 : _d.id,
641
- valueTypeId: (_e = bookmarkAppData['valueTypes'].find((item) => item.name === BOOKMARK_TYPE)) === null || _e === void 0 ? void 0 : _e.id,
649
+ appId: (_a = bookmarkAppData['apps'].find((item) => item.name === BOOKMARK_APPLICATION_NAME)) === null || _a === void 0 ? void 0 : _a.id,
650
+ namespaceId: (_b = bookmarkAppData['namespaces'].find((item) => item.name === BOOKMARK_NAME_SPACE)) === null || _b === void 0 ? void 0 : _b.id,
651
+ valueTypeId: (_c = bookmarkAppData['valueTypes'].find((item) => item.name === BOOKMARK_TYPE)) === null || _c === void 0 ? void 0 : _c.id,
642
652
  };
643
653
  const getAllAccountNumbers = reduce(bookmarkedAccounts, (acc, item) => {
644
654
  const idsInOneBookmakedObj = item.values.map((v) => v.value);
@@ -765,7 +775,7 @@ export const fetchUserPreferences = (dispatch, token) => __awaiter(void 0, void
765
775
  });
766
776
  }
767
777
  });
768
- export const updateUserPreferences = (dispatch, ssoUserName, preferences, operation = 'add', silent = false, throwAdditionalError) => __awaiter(void 0, void 0, void 0, function* () {
778
+ export const updateUserPreferences = (dispatch_1, ssoUserName_1, preferences_1, ...args_1) => __awaiter(void 0, [dispatch_1, ssoUserName_1, preferences_1, ...args_1], void 0, function* (dispatch, ssoUserName, preferences, operation = 'add', silent = false, throwAdditionalError) {
769
779
  try {
770
780
  !silent &&
771
781
  dispatch({
@@ -848,3 +858,15 @@ export const fetchNoClusterIdReasonsMetadata = (dispatch) => __awaiter(void 0, v
848
858
  });
849
859
  }
850
860
  });
861
+ export const updateCaseListTraditionalSupportAgreed = (dispatch, value) => {
862
+ dispatch({
863
+ type: GlobalMetadataReducerConstants.setCaseListTraditionalSupportAgreed,
864
+ payload: { caseListTraditionalSupportAgreed: value },
865
+ });
866
+ };
867
+ export const updateShareHostnameWithRHTState = (dispatch, loggedInUsersAccount, shareHostnameWithRHT) => {
868
+ dispatch({
869
+ type: GlobalMetadataReducerConstants.setLoggedInUsersAccount,
870
+ payload: { loggedInUsersAccount: getApiResourceObject(Object.assign(Object.assign({}, loggedInUsersAccount), { shareHostnameWithRHT })) },
871
+ });
872
+ };
@@ -0,0 +1,5 @@
1
+ /**
2
+ * The below function sorts the account search results based on the provided query string (account name or number).
3
+ */
4
+ export declare function sortAccountsByQuery(accounts: any, queryStr: any, queryKey: any): any;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,KAAA,EAAE,QAAQ,KAAA,EAAE,QAAQ,KAAA,OAgB/D"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * The below function sorts the account search results based on the provided query string (account name or number).
3
+ */
4
+ export function sortAccountsByQuery(accounts, queryStr, queryKey) {
5
+ function getSimilarityScore(value) {
6
+ const lowerCaseValue = value.toLowerCase();
7
+ const lowerCaseQueryStr = queryStr.toLowerCase();
8
+ if (lowerCaseValue.startsWith(lowerCaseQueryStr)) {
9
+ return 1000 + lowerCaseQueryStr.length;
10
+ }
11
+ else if (lowerCaseValue.includes(lowerCaseQueryStr)) {
12
+ return 500 + lowerCaseQueryStr.length;
13
+ }
14
+ else {
15
+ return 0;
16
+ }
17
+ }
18
+ return accounts.sort((a, b) => {
19
+ return getSimilarityScore(b[queryKey]) - getSimilarityScore(a[queryKey]);
20
+ });
21
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rh-support/react-context",
3
- "version": "2.4.10-beta.6",
3
+ "version": "2.5.1",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org"
@@ -26,44 +26,52 @@
26
26
  "lib/**/*"
27
27
  ],
28
28
  "peerDependencies": {
29
- "@cee-eng/hydrajs": "4.16.43",
30
- "@patternfly/react-core": "4.264.0",
31
- "@patternfly/react-icons": "4.92.10",
32
- "i18next": "^19.0.1",
29
+ "@cee-eng/hydrajs": "4.17.36",
30
+ "@patternfly/react-core": "5.4.0",
31
+ "@patternfly/react-icons": "5.4.0",
32
+ "i18next": "^23.15.0",
33
33
  "lodash": "^4.17.21",
34
- "react": "17.0.2",
35
- "react-dom": "17.0.2",
36
- "react-i18next": "^11.2.5",
37
- "react-test-renderer": "17.0.1"
34
+ "react": "18.2.0",
35
+ "react-dom": "18.2.0",
36
+ "react-i18next": "^15.0.1",
37
+ "react-test-renderer": "18.2.0"
38
38
  },
39
39
  "dependencies": {
40
- "@cee-eng/hydrajs": "4.16.43",
41
- "@patternfly/react-core": "4.264.0",
42
- "@patternfly/react-icons": "4.92.10",
43
- "@rh-support/components": "2.4.10-beta.6",
44
- "@rh-support/types": "2.0.2",
45
- "@rh-support/user-permissions": "2.4.10-beta.6",
46
- "@rh-support/utils": "2.4.10-beta.6",
47
- "i18next": "^19.0.1",
40
+ "@cee-eng/hydrajs": "4.17.36",
41
+ "@patternfly/react-core": "5.4.0",
42
+ "@patternfly/react-icons": "5.4.0",
43
+ "@rh-support/components": "2.5.1",
44
+ "@rh-support/types": "2.0.5",
45
+ "@rh-support/user-permissions": "2.5.0",
46
+ "@rh-support/utils": "2.5.0",
47
+ "i18next": "^23.15.0",
48
48
  "localforage": "^1.10.0",
49
49
  "lodash": "^4.17.21",
50
- "react": "17.0.2",
51
- "react-dom": "17.0.2",
52
- "react-i18next": "^11.2.5",
50
+ "react": "18.2.0",
51
+ "react-dom": "18.2.0",
52
+ "react-i18next": "^15.0.1",
53
53
  "react-router-dom": "^5.1.2",
54
- "react-test-renderer": "^16.9.0"
54
+ "react-test-renderer": "18.2.0"
55
55
  },
56
56
  "devDependencies": {
57
- "@testing-library/jest-dom": "^5.16.5",
58
- "@testing-library/react": "^12.0.0",
57
+ "@testing-library/jest-dom": "^6.2.0",
58
+ "@testing-library/react": "^14.1.2",
59
59
  "@testing-library/react-hooks": "^5.1.2",
60
- "@testing-library/user-event": "^13.1.9",
60
+ "@testing-library/user-event": "^14.5.1",
61
61
  "@types/i18next": "^12.1.0",
62
+ "@types/jest": "^29.5.11",
62
63
  "@types/lodash": "^4.14.136",
63
- "@types/react": "^17.0.14",
64
- "@types/react-i18next": "^8.1.0",
64
+ "@types/node": "^20.11.5",
65
+ "@types/react": "^18.2.20",
66
+ "@types/react-dom": "^18.2.18",
65
67
  "@types/react-router-dom": "^5.1.2",
66
- "history": "4.10.1"
68
+ "history": "4.10.1",
69
+ "jest": "^29.7.0",
70
+ "jest-environment-jsdom": "^29.7.0"
71
+ },
72
+ "overrides": {
73
+ "@types/react": "^18.2.20",
74
+ "@types/react-dom": "^18.2.18"
67
75
  },
68
76
  "scripts": {
69
77
  "build:watch": "../../node_modules/.bin/tsc -w -p config/tsconfig.json & npm run watch:css",
@@ -85,5 +93,5 @@
85
93
  "defaults and supports es6-module",
86
94
  "maintained node versions"
87
95
  ],
88
- "gitHead": "f4caba45a2ffbc0cb441fdd30630769b447931d1"
96
+ "gitHead": "78f51b2cfd60107a49503d13542ba46d29df4d04"
89
97
  }
@@ -1,15 +0,0 @@
1
- import { IAccount } from '@cee-eng/hydrajs/@types/models/account';
2
- import { IDClassNameProps, IOption } from '@rh-support/types/shared';
3
- interface IProps extends IDClassNameProps {
4
- selectedAccountNumber: string;
5
- placeholder: string;
6
- title: string;
7
- onBookmarkedAccountChange: (selection: IOption<IAccount>) => void;
8
- disabled?: boolean;
9
- }
10
- declare function BookmarkedAccountsDropdown(props: IProps): JSX.Element;
11
- declare namespace BookmarkedAccountsDropdown {
12
- var defaultProps: Partial<IProps>;
13
- }
14
- export { BookmarkedAccountsDropdown };
15
- //# sourceMappingURL=BookmarkedAccountsDropdown.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BookmarkedAccountsDropdown.d.ts","sourceRoot":"","sources":["../../../../src/components/bookmarks/BookmarkedAccountsDropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAOrE,UAAU,MAAO,SAAQ,gBAAgB;IACrC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,yBAAyB,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;IAClE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAQD,iBAAS,0BAA0B,CAAC,KAAK,EAAE,MAAM,eAyChD;kBAzCQ,0BAA0B;;;AA4CnC,OAAO,EAAE,0BAA0B,EAAE,CAAC"}
@@ -1,35 +0,0 @@
1
- import { Dropdown } from '@rh-support/components';
2
- import { toOption, toOptions } from '@rh-support/utils';
3
- import find from 'lodash/find';
4
- import React, { useContext, useEffect, useState } from 'react';
5
- import { GlobalMetadataStateContext } from '../../context/GlobalMetadataContext';
6
- const defaultProps = {
7
- className: '',
8
- id: '',
9
- placeholder: 'Select a bookmarked account',
10
- title: 'Bookmarked accounts',
11
- disabled: false,
12
- };
13
- function BookmarkedAccountsDropdown(props) {
14
- const { globalMetadataState: { bookmarkedAccounts }, } = useContext(GlobalMetadataStateContext);
15
- const getLabelForAccountOption = (account) => {
16
- return account.accountNumber
17
- ? account.name
18
- ? `${account.name} (${account.accountNumber})`
19
- : account.accountNumber
20
- : '';
21
- };
22
- const [selectedItem, setSelectedItem] = useState(toOption({ accountNumber: '' }, { labelKey: getLabelForAccountOption }));
23
- useEffect(() => {
24
- const item = find(bookmarkedAccounts.data, (account) => account.accountNumber === props.selectedAccountNumber) || {
25
- accountNumber: '',
26
- };
27
- setSelectedItem(toOption(item, { labelKey: getLabelForAccountOption }));
28
- }, [bookmarkedAccounts.data, props.selectedAccountNumber]);
29
- const bookmarkedAccountsOptions = bookmarkedAccounts.data
30
- ? toOptions(bookmarkedAccounts.data, { labelKey: getLabelForAccountOption })
31
- : [];
32
- return (React.createElement(Dropdown, { id: props.id, className: `bookmarked-account-dropdown ${props.className}`, placeholder: props.placeholder, list: bookmarkedAccountsOptions, selectedItem: selectedItem, title: props.title, onChange: props.onBookmarkedAccountChange, disabled: props.disabled }));
33
- }
34
- BookmarkedAccountsDropdown.defaultProps = defaultProps;
35
- export { BookmarkedAccountsDropdown };
@@ -1,2 +0,0 @@
1
- export * from './BookmarkedAccountsDropdown';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/bookmarks/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC"}
@@ -1 +0,0 @@
1
- export * from './BookmarkedAccountsDropdown';