@projectcor/people-microfront 1.0.10-1 → 1.0.10

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 (193) hide show
  1. package/package.json +1 -1
  2. package/lib/App.js +0 -28
  3. package/lib/App.stories.js +0 -134
  4. package/lib/Providers.js +0 -30
  5. package/lib/components/Backdrop/Background.interface.js +0 -2
  6. package/lib/components/Backdrop/Background.js +0 -12
  7. package/lib/components/Backdrop/Background.style.js +0 -9
  8. package/lib/components/Backdrop/index.js +0 -2
  9. package/lib/components/DeleteTeamModal/DeleteTeamModal.js +0 -69
  10. package/lib/components/DeleteTeamModal/DeleteTeamModal.styles.js +0 -55
  11. package/lib/components/DeleteTeamModal/DeleteTeamModal.types.js +0 -2
  12. package/lib/components/DeleteTeamModal/index.js +0 -2
  13. package/lib/components/DeletedUserIcon/DeletedUserIcon.js +0 -22
  14. package/lib/components/DeletedUserIcon/DeletedUserIcon.styles.js +0 -7
  15. package/lib/components/DeletedUserIcon/index.js +0 -2
  16. package/lib/components/DisabledUserIcon/DisabledUserIcon.js +0 -25
  17. package/lib/components/DisabledUserIcon/DisabledUserIcon.styles.js +0 -7
  18. package/lib/components/DisabledUserIcon/index.js +0 -2
  19. package/lib/components/EmptyStateTeams/EmptyStateTeams.js +0 -195
  20. package/lib/components/EmptyStateTeams/EmptyStateTeams.styles.js +0 -7
  21. package/lib/components/EmptyStateTeams/index.js +0 -2
  22. package/lib/components/EmptyUser/EmptyUser.js +0 -20
  23. package/lib/components/EmptyUser/EmptyUser.styles.js +0 -18
  24. package/lib/components/EmptyUser/index.js +0 -3
  25. package/lib/components/ErrorComponent/ErrorComponent.js +0 -24
  26. package/lib/components/ErrorComponent/ErrorComponent.spec.js +0 -30
  27. package/lib/components/ErrorComponent/ErrorComponent.styles.js +0 -19
  28. package/lib/components/ErrorComponent/index.js +0 -2
  29. package/lib/components/ErrorTeams/ErrorTeams.js +0 -118
  30. package/lib/components/ErrorTeams/ErrorTeams.styles.js +0 -7
  31. package/lib/components/ErrorTeams/index.js +0 -2
  32. package/lib/components/Filters/FilterChip/FilterChip.js +0 -165
  33. package/lib/components/Filters/FilterChip/FilterChip.styles.js +0 -6
  34. package/lib/components/Filters/FilterChip/index.js +0 -2
  35. package/lib/components/Filters/LabelFilter/LabelFilter.js +0 -89
  36. package/lib/components/Filters/LabelFilter/LabelFilter.styles.js +0 -32
  37. package/lib/components/Filters/SearchComponent/SearchComponent.js +0 -28
  38. package/lib/components/Filters/SearchComponent/SearchComponent.styles.js +0 -22
  39. package/lib/components/Filters/SearchComponent/index.js +0 -2
  40. package/lib/components/Filters/index.js +0 -2
  41. package/lib/components/HeaderTeams/HeaderTeams.js +0 -37
  42. package/lib/components/HeaderTeams/HeaderTeams.style.js +0 -15
  43. package/lib/components/HeaderTeams/index.js +0 -2
  44. package/lib/components/Icons/UserBlockIcon.js +0 -25
  45. package/lib/components/Icons/UserIconLock.js +0 -43
  46. package/lib/components/Icons/UserIconWithCross.js +0 -21
  47. package/lib/components/Icons/index.js +0 -4
  48. package/lib/components/Illustration/EmptyFilter.js +0 -67
  49. package/lib/components/Illustration/EmptyUser.js +0 -141
  50. package/lib/components/Illustration/index.js +0 -2
  51. package/lib/components/Layout/Layout.js +0 -37
  52. package/lib/components/Layout/Layout.styles.js +0 -26
  53. package/lib/components/Layout/index.js +0 -2
  54. package/lib/components/Loader/Loader.js +0 -11
  55. package/lib/components/Loader/Loader.styles.js +0 -6
  56. package/lib/components/Loader/index.js +0 -2
  57. package/lib/components/Loading/LoadingComponent.js +0 -19
  58. package/lib/components/Loading/LoadingComponent.style.js +0 -15
  59. package/lib/components/Loading/index.js +0 -2
  60. package/lib/components/MenuOptions/MenuOptions.js +0 -220
  61. package/lib/components/MenuOptions/MenuOptions.styles.js +0 -18
  62. package/lib/components/MenuOptions/index.js +0 -2
  63. package/lib/components/Modal/ModalLayout.interface.js +0 -2
  64. package/lib/components/Modal/ModalLayout.js +0 -25
  65. package/lib/components/Modal/ModalLayout.style.js +0 -26
  66. package/lib/components/Modal/index.js +0 -2
  67. package/lib/components/ModalBlockedUser/ModalBlockedUser.js +0 -47
  68. package/lib/components/ModalBlockedUser/ModalBlockedUser.styles.js +0 -14
  69. package/lib/components/ModalBlockedUser/index.js +0 -2
  70. package/lib/components/ModalEditUserPosition/ModalEditUserPosition.js +0 -136
  71. package/lib/components/ModalEditUserPosition/ModalEditUserPosition.styles.js +0 -37
  72. package/lib/components/ModalEditUserPosition/UserEditPositionRow.js +0 -216
  73. package/lib/components/ModalEditUserPosition/UserEditPositionRow.styles.js +0 -61
  74. package/lib/components/ModalEditUserPosition/index.js +0 -2
  75. package/lib/components/ModalOptionsWithSearch/ConfirmButton.js +0 -19
  76. package/lib/components/ModalOptionsWithSearch/ModalOptionsWithSearch.js +0 -177
  77. package/lib/components/ModalOptionsWithSearch/ModalOptionsWithSearch.styles.js +0 -46
  78. package/lib/components/ModalOptionsWithSearch/SearchInput.js +0 -20
  79. package/lib/components/Pagination/Pagination.styles.js +0 -26
  80. package/lib/components/Pagination/PaginationView.js +0 -83
  81. package/lib/components/Pagination/index.js +0 -2
  82. package/lib/components/Search/InputSearch.js +0 -23
  83. package/lib/components/Search/Search.js +0 -41
  84. package/lib/components/Search/Search.styles.js +0 -15
  85. package/lib/components/Search/index.js +0 -2
  86. package/lib/components/Snackbar/Snackbar.interface.js +0 -2
  87. package/lib/components/Snackbar/Snackbar.js +0 -35
  88. package/lib/components/Snackbar/Snackbar.styles.js +0 -18
  89. package/lib/components/Snackbar/index.js +0 -2
  90. package/lib/components/Table/Header/HeaderTable.js +0 -208
  91. package/lib/components/Table/Header/HeaderTable.styles.js +0 -15
  92. package/lib/components/Table/Header/index.js +0 -2
  93. package/lib/components/Table/Row/Row.js +0 -112
  94. package/lib/components/Table/Row/Row.styles.js +0 -91
  95. package/lib/components/Table/Row/index.js +0 -2
  96. package/lib/components/Table/TeamRow/AddMemberModal/AddMemberModal.js +0 -68
  97. package/lib/components/Table/TeamRow/AddMemberModal/AddMemberModal.styles.js +0 -39
  98. package/lib/components/Table/TeamRow/AddMemberModal/index.js +0 -2
  99. package/lib/components/Table/TeamRow/AddUsers/AddUsers.js +0 -246
  100. package/lib/components/Table/TeamRow/AddUsers/AddUsers.styles.js +0 -32
  101. package/lib/components/Table/TeamRow/AddUsers/index.js +0 -2
  102. package/lib/components/Table/TeamRow/RemoveMemberModal/RemoveMemberModal.js +0 -68
  103. package/lib/components/Table/TeamRow/RemoveMemberModal/RemoveMemberModal.styles.js +0 -39
  104. package/lib/components/Table/TeamRow/RemoveMemberModal/index.js +0 -2
  105. package/lib/components/Table/TeamRow/TeamRow.js +0 -131
  106. package/lib/components/Table/TeamRow/TeamRow.styles.js +0 -7
  107. package/lib/components/Table/TeamRow/UsersRow/UsersRow.js +0 -195
  108. package/lib/components/Table/TeamRow/UsersRow/UsersRow.styles.js +0 -41
  109. package/lib/components/Table/TeamRow/UsersRow/index.js +0 -2
  110. package/lib/components/Table/TeamRow/index.js +0 -2
  111. package/lib/components/TeamDetailsModal/MembersSelect.js +0 -181
  112. package/lib/components/TeamDetailsModal/TeamDetailsModal.js +0 -276
  113. package/lib/components/TeamDetailsModal/TeamDetailsModal.styles.js +0 -130
  114. package/lib/components/TeamDetailsModal/TeamDetailsModal.types.js +0 -2
  115. package/lib/components/TeamDetailsModal/index.js +0 -2
  116. package/lib/components/UserRow/UserRow.js +0 -83
  117. package/lib/components/UserRow/UserRow.stories.js +0 -17
  118. package/lib/components/UserRow/UserRow.styles.js +0 -51
  119. package/lib/constants/gqlClient.js +0 -4
  120. package/lib/constants/peopleFilterEventTypes.js +0 -9
  121. package/lib/container/Body/BodyContainer.js +0 -130
  122. package/lib/container/Body/BodyContainerViewTeams.js +0 -216
  123. package/lib/container/Filters/FiltersContainer.js +0 -494
  124. package/lib/container/Filters/FiltersTeamsContainer.js +0 -159
  125. package/lib/container/MainView/MainTeamsView.js +0 -69
  126. package/lib/container/MainView/MainUsersView.js +0 -159
  127. package/lib/container/MainView/MainUsersView.styles.js +0 -32
  128. package/lib/container/MainView/MainView.js +0 -139
  129. package/lib/container/Pagination/PaginationContainer.js +0 -32
  130. package/lib/container/Pagination/PaginationTeamsContainer.js +0 -32
  131. package/lib/container/RouterComponent/RouterComponent.js +0 -110
  132. package/lib/container/RouterComponent/RouterComponent.stories.js +0 -12
  133. package/lib/container/RouterComponent/RouterComponent.styles.js +0 -26
  134. package/lib/container/RouterComponent/index.js +0 -2
  135. package/lib/container/TableContainer/TableContainer.js +0 -62
  136. package/lib/container/index.js +0 -2
  137. package/lib/context/TeamsContext.js +0 -49
  138. package/lib/context/UsersContext.js +0 -220
  139. package/lib/hooks/useAbortController.js +0 -21
  140. package/lib/hooks/useAssignUserToTeam.js +0 -77
  141. package/lib/hooks/useAssignedWorkspacesFromHost.js +0 -103
  142. package/lib/hooks/useCreateTeams.js +0 -67
  143. package/lib/hooks/useDebounce.js +0 -18
  144. package/lib/hooks/useDebouncedCallback.js +0 -27
  145. package/lib/hooks/useDeleteTeam.js +0 -69
  146. package/lib/hooks/useGetTeams.js +0 -73
  147. package/lib/hooks/useGetTotalPositions.js +0 -24
  148. package/lib/hooks/useGetTotalTeams.js +0 -24
  149. package/lib/hooks/useGetUserPositionFilter.js +0 -32
  150. package/lib/hooks/useGetUsers.js +0 -128
  151. package/lib/hooks/useGetUsersForFilter.js +0 -51
  152. package/lib/hooks/useGraphAdapter.js +0 -71
  153. package/lib/hooks/useLoadMoreGuard.js +0 -16
  154. package/lib/hooks/useResize.js +0 -34
  155. package/lib/hooks/useSearchEvent.js +0 -18
  156. package/lib/hooks/useUnassignUserFromTeam.js +0 -67
  157. package/lib/hooks/useUnblockUser.js +0 -47
  158. package/lib/hooks/useUpdateTeam.js +0 -67
  159. package/lib/hooks/useUpdateUserPositions.js +0 -58
  160. package/lib/hooks/useUserPositionCategories.js +0 -38
  161. package/lib/index.css +0 -28
  162. package/lib/index.js +0 -10
  163. package/lib/lang/i18next.js +0 -19
  164. package/lib/lang/i18nextForWeb.js +0 -25
  165. package/lib/lang/resource.js +0 -11
  166. package/lib/lang/translation/br.json +0 -179
  167. package/lib/lang/translation/en.json +0 -180
  168. package/lib/lang/translation/es.json +0 -180
  169. package/lib/lang/translation/fr.json +0 -180
  170. package/lib/mocks/mockedUser.js +0 -101
  171. package/lib/query/assignUserToTeam.js +0 -5
  172. package/lib/query/createTeam.js +0 -5
  173. package/lib/query/deleteTeam.js +0 -5
  174. package/lib/query/getTeams.js +0 -5
  175. package/lib/query/getTotalPositions.js +0 -5
  176. package/lib/query/getTotalTeams.js +0 -5
  177. package/lib/query/getUserPositionCategory.js +0 -5
  178. package/lib/query/getUserPositionFilter.js +0 -5
  179. package/lib/query/getUsers.js +0 -5
  180. package/lib/query/getWorkspaces.js +0 -5
  181. package/lib/query/unassignUserFromTeam.js +0 -5
  182. package/lib/query/updateTeam.js +0 -5
  183. package/lib/query/updateUserPosition.js +0 -5
  184. package/lib/query/userUnblock.js +0 -5
  185. package/lib/types/global.d.js +0 -2
  186. package/lib/types/userType.d.js +0 -2
  187. package/lib/utils/ApolloMicroServiceClient.js +0 -3
  188. package/lib/utils/formatNumber.js +0 -55
  189. package/lib/utils/isCorWorkspacesFeatureEnabled.js +0 -15
  190. package/lib/utils/peopleFiltersStorage.js +0 -128
  191. package/lib/utils/peopleFiltersUrl.js +0 -147
  192. package/lib/utils/sanitizeHtml.js +0 -11
  193. package/lib/utils/tabUrl.js +0 -16
@@ -1,17 +0,0 @@
1
- import { UserRow } from './UserRow';
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
- export default {
4
- title: 'Components/UserRow',
5
- component: UserRow
6
- };
7
- export var Default = function Default() {
8
- return /*#__PURE__*/_jsx(UserRow, {
9
- firstName: "John",
10
- lastName: "Doe",
11
- picture: "https://via.placeholder.com/150",
12
- isDeleted: false,
13
- hidden: false,
14
- isBlocked: false
15
- });
16
- };
17
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJVc2VyUm93IiwianN4IiwiX2pzeCIsInRpdGxlIiwiY29tcG9uZW50IiwiRGVmYXVsdCIsImZpcnN0TmFtZSIsImxhc3ROYW1lIiwicGljdHVyZSIsImlzRGVsZXRlZCIsImhpZGRlbiIsImlzQmxvY2tlZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1VzZXJSb3cvVXNlclJvdy5zdG9yaWVzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRNZXRhIH0gZnJvbSAnQHN0b3J5Ym9vay9yZWFjdCdcbmltcG9ydCB7IFVzZXJSb3cgfSBmcm9tICcuL1VzZXJSb3cnXG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgdGl0bGU6ICdDb21wb25lbnRzL1VzZXJSb3cnLFxuICBjb21wb25lbnQ6IFVzZXJSb3csXG59IGFzIENvbXBvbmVudE1ldGE8dHlwZW9mIFVzZXJSb3c+XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0ID0gKCkgPT4gKFxuICA8VXNlclJvd1xuICAgIGZpcnN0TmFtZT1cIkpvaG5cIlxuICAgIGxhc3ROYW1lPVwiRG9lXCJcbiAgICBwaWN0dXJlPVwiaHR0cHM6Ly92aWEucGxhY2Vob2xkZXIuY29tLzE1MFwiXG4gICAgaXNEZWxldGVkPXtmYWxzZX1cbiAgICBoaWRkZW49e2ZhbHNlfVxuICAgIGlzQmxvY2tlZD17ZmFsc2V9XG4gIC8+XG4pXG4iXSwibWFwcGluZ3MiOiJBQUNBLFNBQVNBLE9BQU8sUUFBUSxXQUFXO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBO0FBRW5DLGVBQWU7RUFDYkMsS0FBSyxFQUFFLG9CQUFvQjtFQUMzQkMsU0FBUyxFQUFFSjtBQUNiLENBQUM7QUFFRCxPQUFPLElBQU1LLE9BQU8sR0FBRyxTQUFWQSxPQUFPQSxDQUFBO0VBQUEsb0JBQ2xCSCxJQUFBLENBQUNGLE9BQU87SUFDTk0sU0FBUyxFQUFDLE1BQU07SUFDaEJDLFFBQVEsRUFBQyxLQUFLO0lBQ2RDLE9BQU8sRUFBQyxpQ0FBaUM7SUFDekNDLFNBQVMsRUFBRSxLQUFNO0lBQ2pCQyxNQUFNLEVBQUUsS0FBTTtJQUNkQyxTQUFTLEVBQUU7RUFBTSxDQUNsQixDQUFDO0FBQUEsQ0FDSCIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,51 +0,0 @@
1
- import styled, { css } from 'styled-components';
2
- import pallete from '@projectcor/theme/lib/base/colors';
3
- export var SCUIWrapper = styled.a.withConfig({
4
- displayName: "UserRowstyles__SCUIWrapper",
5
- componentId: "sc-a3cw-0"
6
- })(["transition:all 0.3s ease-in-out;cursor:", " !important;text-decoration:none;color:inherit;display:block;", " & [class*='SCAvatarFallback']{cursor:default !important;}max-width:", ";width:100%;", " &:hover{background-color:rgba(242,242,242,1);border:1px solid rgba(191,191,191,1);box-shadow:0px 2px 8px 0px rgba(147,147,147,0.2);}"], function (_ref) {
7
- var href = _ref.href;
8
- return href ? 'pointer' : 'default';
9
- }, function (_ref2) {
10
- var isBlocked = _ref2.isBlocked;
11
- return isBlocked && css(["*{color:", " !important;}"], pallete.text.mediumGray);
12
- }, function (_ref3) {
13
- var withBorder = _ref3.withBorder;
14
- return withBorder ? '100%' : 'calc(100% - 40px)';
15
- }, function (_ref4) {
16
- var withBorder = _ref4.withBorder;
17
- return withBorder && css(["padding:8px 24px 8px 8px;border:1px solid ", ";border-radius:34px;"], pallete.colors.gray.light);
18
- });
19
- export var SCUIWrapperLabel = styled.div.withConfig({
20
- displayName: "UserRowstyles__SCUIWrapperLabel",
21
- componentId: "sc-a3cw-1"
22
- })(["display:flex;flex-direction:column;gap:4px;max-width:calc(100% - 32px);"]);
23
- export var SCUIUserInfoWrapper = styled.div.withConfig({
24
- displayName: "UserRowstyles__SCUIUserInfoWrapper",
25
- componentId: "sc-a3cw-2"
26
- })(["display:flex;gap:8px;"]);
27
- export var SCUIAvatarWrapper = styled.div.withConfig({
28
- displayName: "UserRowstyles__SCUIAvatarWrapper",
29
- componentId: "sc-a3cw-3"
30
- })(["border-radius:50%;background-color:lightblue;height:32px;width:32px;display:flex;justify-content:center;align-items:center;position:relative;"]);
31
- export var SCUILockBadgeWrapper = styled.div.withConfig({
32
- displayName: "UserRowstyles__SCUILockBadgeWrapper",
33
- componentId: "sc-a3cw-4"
34
- })(["position:absolute;left:-8px;background-color:white;border-radius:50%;padding:2px;display:flex;justify-content:center;align-items:center;"]);
35
- export var SCUINamePositionRow = styled.div.withConfig({
36
- displayName: "UserRowstyles__SCUINamePositionRow",
37
- componentId: "sc-a3cw-5"
38
- })(["display:flex;gap:8px;font-size:12px;"]);
39
- export var SCUIUserName = styled.span.withConfig({
40
- displayName: "UserRowstyles__SCUIUserName",
41
- componentId: "sc-a3cw-6"
42
- })(["border-right:1px solid ", ";padding-right:8px;color:", ";white-space:nowrap;text-transform:capitalize;text-overflow:ellipsis;max-width:fit-content;overflow:hidden;font-weight:500;"], pallete.colors.gray.light, pallete.colors.dark);
43
- export var SCUIPosition = styled.span.withConfig({
44
- displayName: "UserRowstyles__SCUIPosition",
45
- componentId: "sc-a3cw-7"
46
- })(["color:", ";white-space:nowrap;text-transform:capitalize;max-width:fit-content;overflow:hidden;text-overflow:ellipsis;font-weight:400;font-size:12px;"], pallete.secondary.main);
47
- export var SCUIEmail = styled.span.withConfig({
48
- displayName: "UserRowstyles__SCUIEmail",
49
- componentId: "sc-a3cw-8"
50
- })(["color:", ";font-size:10px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;"], pallete.text.mediumGray);
51
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJwYWxsZXRlIiwiU0NVSVdyYXBwZXIiLCJhIiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJfcmVmIiwiaHJlZiIsIl9yZWYyIiwiaXNCbG9ja2VkIiwidGV4dCIsIm1lZGl1bUdyYXkiLCJfcmVmMyIsIndpdGhCb3JkZXIiLCJfcmVmNCIsImNvbG9ycyIsImdyYXkiLCJsaWdodCIsIlNDVUlXcmFwcGVyTGFiZWwiLCJkaXYiLCJTQ1VJVXNlckluZm9XcmFwcGVyIiwiU0NVSUF2YXRhcldyYXBwZXIiLCJTQ1VJTG9ja0JhZGdlV3JhcHBlciIsIlNDVUlOYW1lUG9zaXRpb25Sb3ciLCJTQ1VJVXNlck5hbWUiLCJzcGFuIiwiZGFyayIsIlNDVUlQb3NpdGlvbiIsInNlY29uZGFyeSIsIm1haW4iLCJTQ1VJRW1haWwiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9Vc2VyUm93L1VzZXJSb3cuc3R5bGVzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkLCB7IGNzcyB9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJ1xuaW1wb3J0IHBhbGxldGUgZnJvbSAnQHByb2plY3Rjb3IvdGhlbWUvbGliL2Jhc2UvY29sb3JzJ1xuXG5leHBvcnQgY29uc3QgU0NVSVdyYXBwZXIgPSBzdHlsZWQuYTx7IHdpdGhCb3JkZXI/OiBib29sZWFuOyBpc0Jsb2NrZWQ/OiBib29sZWFuIH0+YFxuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgY3Vyc29yOiAkeyh7IGhyZWYgfSkgPT4gKGhyZWYgPyAncG9pbnRlcicgOiAnZGVmYXVsdCcpfSAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgJHsoeyBpc0Jsb2NrZWQgfSkgPT5cbiAgICBpc0Jsb2NrZWQgJiZcbiAgICBjc3NgXG4gICAgICAqIHtcbiAgICAgICAgY29sb3I6ICR7cGFsbGV0ZS50ZXh0Lm1lZGl1bUdyYXl9ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgYH1cbiAgJiBbY2xhc3MqPSdTQ0F2YXRhckZhbGxiYWNrJ10ge1xuICAgIGN1cnNvcjogZGVmYXVsdCAhaW1wb3J0YW50O1xuICB9XG4gIG1heC13aWR0aDogJHsoeyB3aXRoQm9yZGVyIH0pID0+ICh3aXRoQm9yZGVyID8gJzEwMCUnIDogJ2NhbGMoMTAwJSAtIDQwcHgpJyl9O1xuICB3aWR0aDogMTAwJTtcbiAgJHsoeyB3aXRoQm9yZGVyIH0pID0+XG4gICAgd2l0aEJvcmRlciAmJlxuICAgIGNzc2BcbiAgICAgIHBhZGRpbmc6IDhweCAyNHB4IDhweCA4cHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAke3BhbGxldGUuY29sb3JzLmdyYXkubGlnaHR9O1xuICAgICAgYm9yZGVyLXJhZGl1czogMzRweDtcbiAgICBgfVxuICAmIDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDIsIDI0MiwgMjQyLCAxKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE5MSwgMTkxLCAxOTEsIDEpO1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggOHB4IDBweCByZ2JhKDE0NywgMTQ3LCAxNDcsIDAuMik7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDVUlXcmFwcGVyTGFiZWwgPSBzdHlsZWQuZGl2PHsgaXNCbG9ja2VkPzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA0cHg7XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gMzJweCk7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1VJVXNlckluZm9XcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiA4cHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1VJQXZhdGFyV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRibHVlO1xuICBoZWlnaHQ6IDMycHg7XG4gIHdpZHRoOiAzMnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYFxuXG5leHBvcnQgY29uc3QgU0NVSUxvY2tCYWRnZVdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC04cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHBhZGRpbmc6IDJweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1VJTmFtZVBvc2l0aW9uUm93ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiA4cHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDVUlVc2VyTmFtZSA9IHN0eWxlZC5zcGFuYFxuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAke3BhbGxldGUuY29sb3JzLmdyYXkubGlnaHR9O1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gIGNvbG9yOiAke3BhbGxldGUuY29sb3JzLmRhcmt9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIG1heC13aWR0aDogZml0LWNvbnRlbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1VJUG9zaXRpb24gPSBzdHlsZWQuc3BhbmBcbiAgY29sb3I6ICR7cGFsbGV0ZS5zZWNvbmRhcnkubWFpbn07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICBtYXgtd2lkdGg6IGZpdC1jb250ZW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NVSUVtYWlsID0gc3R5bGVkLnNwYW5gXG4gIGNvbG9yOiAke3BhbGxldGUudGV4dC5tZWRpdW1HcmF5fTtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbmBcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxJQUFJQyxHQUFHLFFBQVEsbUJBQW1CO0FBQy9DLE9BQU9DLE9BQU8sTUFBTSxtQ0FBbUM7QUFFdkQsT0FBTyxJQUFNQyxXQUFXLEdBQUdILE1BQU0sQ0FBQ0ksQ0FBQyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGtWQUV2QixVQUFBQyxJQUFBO0VBQUEsSUFBR0MsSUFBSSxHQUFBRCxJQUFBLENBQUpDLElBQUk7RUFBQSxPQUFRQSxJQUFJLEdBQUcsU0FBUyxHQUFHLFNBQVM7QUFBQSxDQUFDLEVBSXBELFVBQUFDLEtBQUE7RUFBQSxJQUFHQyxTQUFTLEdBQUFELEtBQUEsQ0FBVEMsU0FBUztFQUFBLE9BQ1pBLFNBQVMsSUFDVFYsR0FBRyxnQ0FFVUMsT0FBTyxDQUFDVSxJQUFJLENBQUNDLFVBQVUsQ0FFbkM7QUFBQSxHQUlVLFVBQUFDLEtBQUE7RUFBQSxJQUFHQyxVQUFVLEdBQUFELEtBQUEsQ0FBVkMsVUFBVTtFQUFBLE9BQVFBLFVBQVUsR0FBRyxNQUFNLEdBQUcsbUJBQW1CO0FBQUEsQ0FBQyxFQUUxRSxVQUFBQyxLQUFBO0VBQUEsSUFBR0QsVUFBVSxHQUFBQyxLQUFBLENBQVZELFVBQVU7RUFBQSxPQUNiQSxVQUFVLElBQ1ZkLEdBQUcseUVBRW1CQyxPQUFPLENBQUNlLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDQyxLQUFLLENBRTlDO0FBQUEsRUFNSjtBQUVELE9BQU8sSUFBTUMsZ0JBQWdCLEdBQUdwQixNQUFNLENBQUNxQixHQUFHLENBQUFoQixVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLCtFQUt6QztBQUVELE9BQU8sSUFBTWUsbUJBQW1CLEdBQUd0QixNQUFNLENBQUNxQixHQUFHLENBQUFoQixVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDZCQUc1QztBQUVELE9BQU8sSUFBTWdCLGlCQUFpQixHQUFHdkIsTUFBTSxDQUFDcUIsR0FBRyxDQUFBaEIsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxxSkFTMUM7QUFFRCxPQUFPLElBQU1pQixvQkFBb0IsR0FBR3hCLE1BQU0sQ0FBQ3FCLEdBQUcsQ0FBQWhCLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsZ0pBUzdDO0FBRUQsT0FBTyxJQUFNa0IsbUJBQW1CLEdBQUd6QixNQUFNLENBQUNxQixHQUFHLENBQUFoQixVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDRDQUk1QztBQUVELE9BQU8sSUFBTW1CLFlBQVksR0FBRzFCLE1BQU0sQ0FBQzJCLElBQUksQ0FBQXRCLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsNExBQ1hMLE9BQU8sQ0FBQ2UsTUFBTSxDQUFDQyxJQUFJLENBQUNDLEtBQUssRUFFMUNqQixPQUFPLENBQUNlLE1BQU0sQ0FBQ1csSUFBSSxDQU83QjtBQUVELE9BQU8sSUFBTUMsWUFBWSxHQUFHN0IsTUFBTSxDQUFDMkIsSUFBSSxDQUFBdEIsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw2SkFDNUJMLE9BQU8sQ0FBQzRCLFNBQVMsQ0FBQ0MsSUFBSSxDQVFoQztBQUVELE9BQU8sSUFBTUMsU0FBUyxHQUFHaEMsTUFBTSxDQUFDMkIsSUFBSSxDQUFBdEIsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw2R0FDekJMLE9BQU8sQ0FBQ1UsSUFBSSxDQUFDQyxVQUFVLENBTWpDIiwiaWdub3JlTGlzdCI6W119
@@ -1,4 +0,0 @@
1
- import { getApolloClient } from '@projectcor/cor-apollo-provider';
2
- var MAIN_GQL = process.env.GRAPHQL_URL;
3
- export default getApolloClient(MAIN_GQL);
4
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRBcG9sbG9DbGllbnQiLCJNQUlOX0dRTCIsInByb2Nlc3MiLCJlbnYiLCJHUkFQSFFMX1VSTCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdGFudHMvZ3FsQ2xpZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldEFwb2xsb0NsaWVudCB9IGZyb20gJ0Bwcm9qZWN0Y29yL2Nvci1hcG9sbG8tcHJvdmlkZXInXG5cbmNvbnN0IE1BSU5fR1FMID0gcHJvY2Vzcy5lbnYuR1JBUEhRTF9VUkxcblxuZXhwb3J0IGRlZmF1bHQgZ2V0QXBvbGxvQ2xpZW50KE1BSU5fR1FMKVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxlQUFlLFFBQVEsaUNBQWlDO0FBRWpFLElBQU1DLFFBQVEsR0FBR0MsT0FBTyxDQUFDQyxHQUFHLENBQUNDLFdBQVc7QUFFeEMsZUFBZUosZUFBZSxDQUFDQyxRQUFRLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,9 +0,0 @@
1
- /** Tipos del `detail.type` en {@link SEARCH_EVENT} y `id` de {@link FilterChip}. */
2
- export var PEOPLE_FILTER_EVENT_TYPES = {
3
- SEARCH: 'nameFilter',
4
- TEAM: 'teamFilter',
5
- POSITION: 'positionFilter',
6
- WORKSPACE: 'workspaceFilter'
7
- };
8
- export var FILTER_CHIP_IDS_WITH_SELECTION_PAYLOAD = [PEOPLE_FILTER_EVENT_TYPES.TEAM, PEOPLE_FILTER_EVENT_TYPES.POSITION, PEOPLE_FILTER_EVENT_TYPES.WORKSPACE];
9
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJQRU9QTEVfRklMVEVSX0VWRU5UX1RZUEVTIiwiU0VBUkNIIiwiVEVBTSIsIlBPU0lUSU9OIiwiV09SS1NQQUNFIiwiRklMVEVSX0NISVBfSURTX1dJVEhfU0VMRUNUSU9OX1BBWUxPQUQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uc3RhbnRzL3Blb3BsZUZpbHRlckV2ZW50VHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFRpcG9zIGRlbCBgZGV0YWlsLnR5cGVgIGVuIHtAbGluayBTRUFSQ0hfRVZFTlR9IHkgYGlkYCBkZSB7QGxpbmsgRmlsdGVyQ2hpcH0uICovXG5leHBvcnQgY29uc3QgUEVPUExFX0ZJTFRFUl9FVkVOVF9UWVBFUyA9IHtcbiAgU0VBUkNIOiAnbmFtZUZpbHRlcicsXG4gIFRFQU06ICd0ZWFtRmlsdGVyJyxcbiAgUE9TSVRJT046ICdwb3NpdGlvbkZpbHRlcicsXG4gIFdPUktTUEFDRTogJ3dvcmtzcGFjZUZpbHRlcicsXG59IGFzIGNvbnN0XG5cbmV4cG9ydCB0eXBlIFBlb3BsZUZpbHRlckV2ZW50VHlwZSA9ICh0eXBlb2YgUEVPUExFX0ZJTFRFUl9FVkVOVF9UWVBFUylba2V5b2YgdHlwZW9mIFBFT1BMRV9GSUxURVJfRVZFTlRfVFlQRVNdXG5cbmV4cG9ydCBjb25zdCBGSUxURVJfQ0hJUF9JRFNfV0lUSF9TRUxFQ1RJT05fUEFZTE9BRDogcmVhZG9ubHkgUGVvcGxlRmlsdGVyRXZlbnRUeXBlW10gPSBbXG4gIFBFT1BMRV9GSUxURVJfRVZFTlRfVFlQRVMuVEVBTSxcbiAgUEVPUExFX0ZJTFRFUl9FVkVOVF9UWVBFUy5QT1NJVElPTixcbiAgUEVPUExFX0ZJTFRFUl9FVkVOVF9UWVBFUy5XT1JLU1BBQ0UsXG5dXG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0EsT0FBTyxJQUFNQSx5QkFBeUIsR0FBRztFQUN2Q0MsTUFBTSxFQUFFLFlBQVk7RUFDcEJDLElBQUksRUFBRSxZQUFZO0VBQ2xCQyxRQUFRLEVBQUUsZ0JBQWdCO0VBQzFCQyxTQUFTLEVBQUU7QUFDYixDQUFVO0FBSVYsT0FBTyxJQUFNQyxzQ0FBd0UsR0FBRyxDQUN0RkwseUJBQXlCLENBQUNFLElBQUksRUFDOUJGLHlCQUF5QixDQUFDRyxRQUFRLEVBQ2xDSCx5QkFBeUIsQ0FBQ0ksU0FBUyxDQUNwQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,130 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
- /* eslint-disable @typescript-eslint/no-unused-vars */
6
- /* eslint-disable no-unused-vars */
7
- /* eslint-disable @typescript-eslint/no-explicit-any */
8
- import { useCallback, memo, useState, lazy, Suspense } from 'react';
9
- import { RowComponent } from '../../components/Table/Row';
10
- import { useUsersEditPositions, useUsersQuery, useUsersView } from '../../context/UsersContext';
11
- import { useUnblockUser } from '../../hooks/useUnblockUser';
12
- import { LoaderComponent } from '../../components/Loading/LoadingComponent';
13
- import { LayoutBodyUser } from '../../components/Layout/Layout';
14
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
15
- var LazyEmptyUserComponent = /*#__PURE__*/lazy(function () {
16
- return import('../../components/EmptyUser/EmptyUser').then(function (module) {
17
- return {
18
- "default": module.EmptyUserComponent
19
- };
20
- });
21
- });
22
- var LazyModalBlockedUser = /*#__PURE__*/lazy(function () {
23
- return import('../../components/ModalBlockedUser').then(function (module) {
24
- return {
25
- "default": module.ModalBlockedUser
26
- };
27
- });
28
- });
29
- var LazyBodyContainerViewTeams = /*#__PURE__*/lazy(function () {
30
- return import('./BodyContainerViewTeams').then(function (module) {
31
- return {
32
- "default": module.BodyContainerViewTeams
33
- };
34
- });
35
- });
36
- var BodyContainerViewUsers = function BodyContainerViewUsers() {
37
- var _useUsersQuery = useUsersQuery(),
38
- users = _useUsersQuery.users,
39
- handleGetUsers = _useUsersQuery.handleGetUsers,
40
- currentPage = _useUsersQuery.currentPage;
41
- var _useUsersEditPosition = useUsersEditPositions(),
42
- hasEditPositions = _useUsersEditPosition.hasEditPositions,
43
- handleSetUsersToEditPositions = _useUsersEditPosition.handleSetUsersToEditPositions;
44
- var _useUnblockUser = useUnblockUser(),
45
- handleUnblockUser = _useUnblockUser.handleUnblockUser;
46
- var _useState = useState(false),
47
- _useState2 = _slicedToArray(_useState, 2),
48
- showModalBlockedUser = _useState2[0],
49
- setShowModalBlockedUser = _useState2[1];
50
- var _useState3 = useState(null),
51
- _useState4 = _slicedToArray(_useState3, 2),
52
- userBlocked = _useState4[0],
53
- setUserBlocked = _useState4[1];
54
- var handleSelectOption = useCallback(function (option, user, userIndexPositionToEdit) {
55
- if (option.id === 1) {
56
- setUserBlocked(_objectSpread(_objectSpread({}, user), {}, {
57
- userIndexPositionToEdit: userIndexPositionToEdit
58
- }));
59
- setShowModalBlockedUser(true);
60
- return;
61
- }
62
- if (option.id === 2) {
63
- window.location.href = "/users/".concat(user.id, "/edit");
64
- return;
65
- }
66
- if (option.id === 3) {
67
- window.location.href = "/users/".concat(user.id, "/delete");
68
- }
69
- }, []);
70
- var handleAction = function handleAction(action, userInfoToSend) {
71
- if (action === 'cancel') {
72
- setShowModalBlockedUser(false);
73
- setUserBlocked(null);
74
- return;
75
- }
76
- if (action === 'unlock') {
77
- handleUnblockUser(userInfoToSend, function () {
78
- handleGetUsers({
79
- page: currentPage
80
- });
81
- });
82
- }
83
- setShowModalBlockedUser(false);
84
- };
85
- return /*#__PURE__*/_jsxs(_Fragment, {
86
- children: [showModalBlockedUser && /*#__PURE__*/_jsx(Suspense, {
87
- fallback: /*#__PURE__*/_jsx(LoaderComponent, {}),
88
- children: /*#__PURE__*/_jsx(LazyModalBlockedUser, {
89
- user: userBlocked,
90
- handleAction: handleAction
91
- })
92
- }), /*#__PURE__*/_jsx(LayoutBodyUser, {
93
- children: users !== null && users !== void 0 && users.length ? users.map(function (user, index) {
94
- return /*#__PURE__*/_jsx(RowComponent, {
95
- id: user.id.toString(),
96
- handleSelectOption: handleSelectOption,
97
- user: user,
98
- hasEditPositions: hasEditPositions,
99
- handleSetUsersToEditPositions: handleSetUsersToEditPositions,
100
- userIndexPositionToEdit: index
101
- }, user.id);
102
- }) : /*#__PURE__*/_jsx(Suspense, {
103
- fallback: null,
104
- children: /*#__PURE__*/_jsx(LazyEmptyUserComponent, {})
105
- })
106
- })]
107
- });
108
- };
109
- var BodyContainerViewPositions = function BodyContainerViewPositions() {
110
- return null;
111
- };
112
- var BodyContainerViewLeaves = function BodyContainerViewLeaves() {
113
- return null;
114
- };
115
- var BodyContainerByView = {
116
- users: BodyContainerViewUsers,
117
- teams: LazyBodyContainerViewTeams,
118
- positions: BodyContainerViewPositions,
119
- leaves: BodyContainerViewLeaves
120
- };
121
- export var BodyContainer = /*#__PURE__*/memo(function () {
122
- var _useUsersView = useUsersView(),
123
- view = _useUsersView.view;
124
- var BodyContainerView = BodyContainerByView[view];
125
- return /*#__PURE__*/_jsx(Suspense, {
126
- fallback: /*#__PURE__*/_jsx(LoaderComponent, {}),
127
- children: /*#__PURE__*/_jsx(BodyContainerView, {})
128
- });
129
- });
130
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsIm1lbW8iLCJ1c2VTdGF0ZSIsImxhenkiLCJTdXNwZW5zZSIsIlJvd0NvbXBvbmVudCIsInVzZVVzZXJzRWRpdFBvc2l0aW9ucyIsInVzZVVzZXJzUXVlcnkiLCJ1c2VVc2Vyc1ZpZXciLCJ1c2VVbmJsb2NrVXNlciIsIkxvYWRlckNvbXBvbmVudCIsIkxheW91dEJvZHlVc2VyIiwianN4IiwiX2pzeCIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwianN4cyIsIl9qc3hzIiwiTGF6eUVtcHR5VXNlckNvbXBvbmVudCIsInRoZW4iLCJtb2R1bGUiLCJFbXB0eVVzZXJDb21wb25lbnQiLCJMYXp5TW9kYWxCbG9ja2VkVXNlciIsIk1vZGFsQmxvY2tlZFVzZXIiLCJMYXp5Qm9keUNvbnRhaW5lclZpZXdUZWFtcyIsIkJvZHlDb250YWluZXJWaWV3VGVhbXMiLCJCb2R5Q29udGFpbmVyVmlld1VzZXJzIiwiX3VzZVVzZXJzUXVlcnkiLCJ1c2VycyIsImhhbmRsZUdldFVzZXJzIiwiY3VycmVudFBhZ2UiLCJfdXNlVXNlcnNFZGl0UG9zaXRpb24iLCJoYXNFZGl0UG9zaXRpb25zIiwiaGFuZGxlU2V0VXNlcnNUb0VkaXRQb3NpdGlvbnMiLCJfdXNlVW5ibG9ja1VzZXIiLCJoYW5kbGVVbmJsb2NrVXNlciIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsInNob3dNb2RhbEJsb2NrZWRVc2VyIiwic2V0U2hvd01vZGFsQmxvY2tlZFVzZXIiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsInVzZXJCbG9ja2VkIiwic2V0VXNlckJsb2NrZWQiLCJoYW5kbGVTZWxlY3RPcHRpb24iLCJvcHRpb24iLCJ1c2VyIiwidXNlckluZGV4UG9zaXRpb25Ub0VkaXQiLCJpZCIsIl9vYmplY3RTcHJlYWQiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImhyZWYiLCJjb25jYXQiLCJoYW5kbGVBY3Rpb24iLCJhY3Rpb24iLCJ1c2VySW5mb1RvU2VuZCIsInBhZ2UiLCJjaGlsZHJlbiIsImZhbGxiYWNrIiwibGVuZ3RoIiwibWFwIiwiaW5kZXgiLCJ0b1N0cmluZyIsIkJvZHlDb250YWluZXJWaWV3UG9zaXRpb25zIiwiQm9keUNvbnRhaW5lclZpZXdMZWF2ZXMiLCJCb2R5Q29udGFpbmVyQnlWaWV3IiwidGVhbXMiLCJwb3NpdGlvbnMiLCJsZWF2ZXMiLCJCb2R5Q29udGFpbmVyIiwiX3VzZVVzZXJzVmlldyIsInZpZXciLCJCb2R5Q29udGFpbmVyVmlldyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250YWluZXIvQm9keS9Cb2R5Q29udGFpbmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgbWVtbywgdXNlU3RhdGUsIGxhenksIFN1c3BlbnNlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBSb3dDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL1RhYmxlL1JvdydcbmltcG9ydCB7IHVzZVVzZXJzLCB1c2VVc2Vyc0VkaXRQb3NpdGlvbnMsIHVzZVVzZXJzUXVlcnksIHVzZVVzZXJzVmlldyB9IGZyb20gJy4uLy4uL2NvbnRleHQvVXNlcnNDb250ZXh0J1xuaW1wb3J0IHsgdXNlVW5ibG9ja1VzZXIgfSBmcm9tICcuLi8uLi9ob29rcy91c2VVbmJsb2NrVXNlcidcbmltcG9ydCB7IExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvTG9hZGluZy9Mb2FkaW5nQ29tcG9uZW50J1xuaW1wb3J0IHsgTGF5b3V0Qm9keVVzZXIgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL0xheW91dC9MYXlvdXQnXG5cbmNvbnN0IExhenlFbXB0eVVzZXJDb21wb25lbnQgPSBsYXp5KCgpID0+XG4gIGltcG9ydCgnLi4vLi4vY29tcG9uZW50cy9FbXB0eVVzZXIvRW1wdHlVc2VyJykudGhlbihtb2R1bGUgPT4gKHsgZGVmYXVsdDogbW9kdWxlLkVtcHR5VXNlckNvbXBvbmVudCB9KSlcbilcblxuY29uc3QgTGF6eU1vZGFsQmxvY2tlZFVzZXIgPSBsYXp5KCgpID0+XG4gIGltcG9ydCgnLi4vLi4vY29tcG9uZW50cy9Nb2RhbEJsb2NrZWRVc2VyJykudGhlbihtb2R1bGUgPT4gKHsgZGVmYXVsdDogbW9kdWxlLk1vZGFsQmxvY2tlZFVzZXIgfSkpXG4pXG5cbmNvbnN0IExhenlCb2R5Q29udGFpbmVyVmlld1RlYW1zID0gbGF6eSgoKSA9PlxuICBpbXBvcnQoJy4vQm9keUNvbnRhaW5lclZpZXdUZWFtcycpLnRoZW4obW9kdWxlID0+ICh7IGRlZmF1bHQ6IG1vZHVsZS5Cb2R5Q29udGFpbmVyVmlld1RlYW1zIH0pKVxuKVxuXG5jb25zdCBCb2R5Q29udGFpbmVyVmlld1VzZXJzID0gKCkgPT4ge1xuICBjb25zdCB7IHVzZXJzLCBoYW5kbGVHZXRVc2VycywgY3VycmVudFBhZ2UgfSA9IHVzZVVzZXJzUXVlcnkoKVxuICBjb25zdCB7IGhhc0VkaXRQb3NpdGlvbnMsIGhhbmRsZVNldFVzZXJzVG9FZGl0UG9zaXRpb25zIH0gPSB1c2VVc2Vyc0VkaXRQb3NpdGlvbnMoKVxuICBjb25zdCB7IGhhbmRsZVVuYmxvY2tVc2VyIH0gPSB1c2VVbmJsb2NrVXNlcigpXG4gIGNvbnN0IFtzaG93TW9kYWxCbG9ja2VkVXNlciwgc2V0U2hvd01vZGFsQmxvY2tlZFVzZXJdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFt1c2VyQmxvY2tlZCwgc2V0VXNlckJsb2NrZWRdID0gdXNlU3RhdGU8YW55PihudWxsKVxuICBjb25zdCBoYW5kbGVTZWxlY3RPcHRpb24gPSB1c2VDYWxsYmFjayhcbiAgICAob3B0aW9uOiB7IGlkOiBudW1iZXI7IGxhYmVsOiBzdHJpbmcgfSwgdXNlcjogYW55LCB1c2VySW5kZXhQb3NpdGlvblRvRWRpdDogbnVtYmVyKSA9PiB7XG4gICAgICBpZiAob3B0aW9uLmlkID09PSAxKSB7XG4gICAgICAgIHNldFVzZXJCbG9ja2VkKHsgLi4udXNlciwgdXNlckluZGV4UG9zaXRpb25Ub0VkaXQgfSlcbiAgICAgICAgc2V0U2hvd01vZGFsQmxvY2tlZFVzZXIodHJ1ZSlcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgICBpZiAob3B0aW9uLmlkID09PSAyKSB7XG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYC91c2Vycy8ke3VzZXIuaWR9L2VkaXRgXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgaWYgKG9wdGlvbi5pZCA9PT0gMykge1xuICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGAvdXNlcnMvJHt1c2VyLmlkfS9kZWxldGVgXG4gICAgICB9XG4gICAgfSxcbiAgICBbXVxuICApXG5cbiAgY29uc3QgaGFuZGxlQWN0aW9uID0gKGFjdGlvbjogc3RyaW5nLCB1c2VySW5mb1RvU2VuZDogYW55KSA9PiB7XG4gICAgaWYgKGFjdGlvbiA9PT0gJ2NhbmNlbCcpIHtcbiAgICAgIHNldFNob3dNb2RhbEJsb2NrZWRVc2VyKGZhbHNlKVxuICAgICAgc2V0VXNlckJsb2NrZWQobnVsbClcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBpZiAoYWN0aW9uID09PSAndW5sb2NrJykge1xuICAgICAgaGFuZGxlVW5ibG9ja1VzZXIodXNlckluZm9Ub1NlbmQsICgpID0+IHtcbiAgICAgICAgaGFuZGxlR2V0VXNlcnMoeyBwYWdlOiBjdXJyZW50UGFnZSB9KVxuICAgICAgfSlcbiAgICB9XG4gICAgc2V0U2hvd01vZGFsQmxvY2tlZFVzZXIoZmFsc2UpXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7c2hvd01vZGFsQmxvY2tlZFVzZXIgJiYgKFxuICAgICAgICA8U3VzcGVuc2UgZmFsbGJhY2s9ezxMb2FkZXJDb21wb25lbnQgLz59PlxuICAgICAgICAgIDxMYXp5TW9kYWxCbG9ja2VkVXNlciB1c2VyPXt1c2VyQmxvY2tlZH0gaGFuZGxlQWN0aW9uPXtoYW5kbGVBY3Rpb259IC8+XG4gICAgICAgIDwvU3VzcGVuc2U+XG4gICAgICApfVxuICAgICAgPExheW91dEJvZHlVc2VyPlxuICAgICAgICB7dXNlcnM/Lmxlbmd0aCA/IChcbiAgICAgICAgICB1c2Vycy5tYXAoKHVzZXIsIGluZGV4OiBudW1iZXIpID0+IChcbiAgICAgICAgICAgIDxSb3dDb21wb25lbnRcbiAgICAgICAgICAgICAga2V5PXt1c2VyLmlkfVxuICAgICAgICAgICAgICBpZD17dXNlci5pZC50b1N0cmluZygpfVxuICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RPcHRpb249e2hhbmRsZVNlbGVjdE9wdGlvbn1cbiAgICAgICAgICAgICAgdXNlcj17dXNlcn1cbiAgICAgICAgICAgICAgaGFzRWRpdFBvc2l0aW9ucz17aGFzRWRpdFBvc2l0aW9uc31cbiAgICAgICAgICAgICAgaGFuZGxlU2V0VXNlcnNUb0VkaXRQb3NpdGlvbnM9e2hhbmRsZVNldFVzZXJzVG9FZGl0UG9zaXRpb25zfVxuICAgICAgICAgICAgICB1c2VySW5kZXhQb3NpdGlvblRvRWRpdD17aW5kZXh9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkpXG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFN1c3BlbnNlIGZhbGxiYWNrPXtudWxsfT5cbiAgICAgICAgICAgIDxMYXp5RW1wdHlVc2VyQ29tcG9uZW50IC8+XG4gICAgICAgICAgPC9TdXNwZW5zZT5cbiAgICAgICAgKX1cbiAgICAgIDwvTGF5b3V0Qm9keVVzZXI+XG4gICAgPC8+XG4gIClcbn1cblxuY29uc3QgQm9keUNvbnRhaW5lclZpZXdQb3NpdGlvbnMgPSAoKSA9PiB7XG4gIHJldHVybiBudWxsXG59XG5cbmNvbnN0IEJvZHlDb250YWluZXJWaWV3TGVhdmVzID0gKCkgPT4ge1xuICByZXR1cm4gbnVsbFxufVxuXG5jb25zdCBCb2R5Q29udGFpbmVyQnlWaWV3ID0ge1xuICB1c2VyczogQm9keUNvbnRhaW5lclZpZXdVc2VycyxcbiAgdGVhbXM6IExhenlCb2R5Q29udGFpbmVyVmlld1RlYW1zLFxuICBwb3NpdGlvbnM6IEJvZHlDb250YWluZXJWaWV3UG9zaXRpb25zLFxuICBsZWF2ZXM6IEJvZHlDb250YWluZXJWaWV3TGVhdmVzLFxufVxuXG5leHBvcnQgY29uc3QgQm9keUNvbnRhaW5lciA9IG1lbW8oKCkgPT4ge1xuICBjb25zdCB7IHZpZXcgfSA9IHVzZVVzZXJzVmlldygpXG4gIGNvbnN0IEJvZHlDb250YWluZXJWaWV3ID0gQm9keUNvbnRhaW5lckJ5Vmlld1t2aWV3XVxuICByZXR1cm4gKFxuICAgIDxTdXNwZW5zZSBmYWxsYmFjaz17PExvYWRlckNvbXBvbmVudCAvPn0+XG4gICAgICA8Qm9keUNvbnRhaW5lclZpZXcgLz5cbiAgICA8L1N1c3BlbnNlPlxuICApXG59KVxuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0EsU0FBU0EsV0FBVyxFQUFFQyxJQUFJLEVBQUVDLFFBQVEsRUFBRUMsSUFBSSxFQUFFQyxRQUFRLFFBQVEsT0FBTztBQUNuRSxTQUFTQyxZQUFZLFFBQVEsNEJBQTRCO0FBQ3pELFNBQW1CQyxxQkFBcUIsRUFBRUMsYUFBYSxFQUFFQyxZQUFZLFFBQVEsNEJBQTRCO0FBQ3pHLFNBQVNDLGNBQWMsUUFBUSw0QkFBNEI7QUFDM0QsU0FBU0MsZUFBZSxRQUFRLDJDQUEyQztBQUMzRSxTQUFTQyxjQUFjLFFBQVEsZ0NBQWdDO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLFFBQUEsSUFBQUMsU0FBQSxFQUFBQyxJQUFBLElBQUFDLEtBQUE7QUFFL0QsSUFBTUMsc0JBQXNCLGdCQUFHZixJQUFJLENBQUM7RUFBQSxPQUNsQyxNQUFNLENBQUMsc0NBQXNDLENBQUMsQ0FBQ2dCLElBQUksQ0FBQyxV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
@@ -1,216 +0,0 @@
1
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
- import { useState, useEffect, useCallback, lazy, Suspense } from 'react';
3
- import { useAssignedWorkspacesFromHost } from '../../hooks/useAssignedWorkspacesFromHost';
4
- import { TeamRow } from '../../components/Table/TeamRow/TeamRow';
5
- import { useTeams } from '../../context/TeamsContext';
6
- import { LoaderComponent } from '../../components/Loading/LoadingComponent';
7
- import { useCreateTeam } from '../../hooks/useCreateTeams';
8
- import { useUpdateTeam } from '../../hooks/useUpdateTeam';
9
- import { useAssignUserToTeam } from '../../hooks/useAssignUserToTeam';
10
- import { useUnassignUserFromTeam } from '../../hooks/useUnassignUserFromTeam';
11
- import { useDeleteTeam } from '../../hooks/useDeleteTeam';
12
- import { isCorWorkspacesFeatureEnabled } from '../../utils/isCorWorkspacesFeatureEnabled';
13
- import { EmptyStateTeams } from '../../components/EmptyStateTeams';
14
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
15
- var LazyTeamDetailsModal = /*#__PURE__*/lazy(function () {
16
- return import('../../components/TeamDetailsModal').then(function (module) {
17
- return {
18
- "default": module.TeamDetailsModal
19
- };
20
- });
21
- });
22
- var LazyDeleteTeamModal = /*#__PURE__*/lazy(function () {
23
- return import('../../components/DeleteTeamModal').then(function (module) {
24
- return {
25
- "default": module.DeleteTeamModal
26
- };
27
- });
28
- });
29
- var mockMembersList = [{
30
- id: 1,
31
- firstName: 'User 1',
32
- lastName: 'Apellido 1'
33
- }, {
34
- id: 2,
35
- firstName: 'User 2',
36
- lastName: 'Apellido 2'
37
- }, {
38
- id: 3,
39
- firstName: 'User 3',
40
- lastName: 'Apellido 3'
41
- }];
42
- export var BodyContainerViewTeams = function BodyContainerViewTeams() {
43
- var _useTeams = useTeams(),
44
- teams = _useTeams.teams;
45
- var _useCreateTeam = useCreateTeam(),
46
- fetchCreateTeam = _useCreateTeam.fetchCreateTeam;
47
- var _useUpdateTeam = useUpdateTeam(),
48
- updateTeam = _useUpdateTeam.updateTeam;
49
- var _useAssignUserToTeam = useAssignUserToTeam(),
50
- assignUserToTeam = _useAssignUserToTeam.assignUserToTeam;
51
- var _useUnassignUserFromT = useUnassignUserFromTeam(),
52
- unassignUserFromTeam = _useUnassignUserFromT.unassignUserFromTeam;
53
- var _useDeleteTeam = useDeleteTeam(),
54
- deleteTeam = _useDeleteTeam.deleteTeam;
55
- var _useState = useState(null),
56
- _useState2 = _slicedToArray(_useState, 2),
57
- selectedTeam = _useState2[0],
58
- setSelectedTeam = _useState2[1];
59
- var _useState3 = useState(false),
60
- _useState4 = _slicedToArray(_useState3, 2),
61
- isModalOpen = _useState4[0],
62
- setIsModalOpen = _useState4[1];
63
- var _useState5 = useState('view'),
64
- _useState6 = _slicedToArray(_useState5, 2),
65
- modalMode = _useState6[0],
66
- setModalMode = _useState6[1];
67
- var _useState7 = useState(null),
68
- _useState8 = _slicedToArray(_useState7, 2),
69
- teamToDelete = _useState8[0],
70
- setTeamToDelete = _useState8[1];
71
- var _useState9 = useState(false),
72
- _useState0 = _slicedToArray(_useState9, 2),
73
- isDeleteModalOpen = _useState0[0],
74
- setIsDeleteModalOpen = _useState0[1];
75
- var workspacesFeatureEnabled = isCorWorkspacesFeatureEnabled();
76
- var _useAssignedWorkspace = useAssignedWorkspacesFromHost(workspacesFeatureEnabled),
77
- workspacesList = _useAssignedWorkspace.workspacesList,
78
- handleGetWorkspaces = _useAssignedWorkspace.handleGetWorkspaces;
79
- useEffect(function () {
80
- if (isModalOpen && workspacesFeatureEnabled) {
81
- handleGetWorkspaces({
82
- page: 1
83
- });
84
- }
85
- }, [isModalOpen, workspacesFeatureEnabled, handleGetWorkspaces]);
86
- var handleShowTeamDetails = function handleShowTeamDetails(teamId) {
87
- var team = teams.find(function (t) {
88
- return t.id === teamId;
89
- });
90
- if (team) {
91
- setSelectedTeam(team);
92
- setModalMode('view');
93
- setIsModalOpen(true);
94
- }
95
- };
96
- var handleCreateTeam = useCallback(function () {
97
- setSelectedTeam(null);
98
- setModalMode('create');
99
- setIsModalOpen(true);
100
- }, []);
101
- useEffect(function () {
102
- var handleCreateTeamEvent = function handleCreateTeamEvent() {
103
- handleCreateTeam();
104
- };
105
- window.addEventListener('createTeam', handleCreateTeamEvent);
106
- return function () {
107
- window.removeEventListener('createTeam', handleCreateTeamEvent);
108
- };
109
- }, [handleCreateTeam]);
110
- var handleCloseModal = function handleCloseModal() {
111
- setIsModalOpen(false);
112
- setSelectedTeam(null);
113
- setModalMode('view');
114
- };
115
- var handleEditTeam = function handleEditTeam(formData) {
116
- if (!selectedTeam) return;
117
- var fields = {
118
- id: +selectedTeam.id,
119
- name: formData.name,
120
- description: formData.description
121
- };
122
- if (window.hasWorkspacesFeature && formData.workspace) {
123
- fields.workspaceId = formData.workspace.id;
124
- }
125
- updateTeam(fields);
126
- handleCloseModal();
127
- };
128
- var handleCreateTeamSubmit = function handleCreateTeamSubmit(formData) {
129
- var fields = {
130
- name: formData.name,
131
- // users: formData.members.map(member => member.id), TODO: Va en la segunda version
132
- description: formData.description
133
- };
134
- if (window.hasWorkspacesFeature && formData.workspace) {
135
- fields.workspaceId = formData.workspace.id;
136
- }
137
- fetchCreateTeam(fields);
138
- handleCloseModal();
139
- };
140
- var handleEditTeamFromMenu = function handleEditTeamFromMenu(teamId) {
141
- var team = teams.find(function (t) {
142
- return t.id === teamId;
143
- });
144
- if (team) {
145
- setSelectedTeam(team);
146
- setModalMode('edit');
147
- setIsModalOpen(true);
148
- }
149
- };
150
- var handleDeleteTeam = function handleDeleteTeam(teamId) {
151
- var team = teams.find(function (t) {
152
- return t.id === teamId;
153
- });
154
- if (team) {
155
- setTeamToDelete(team);
156
- setIsDeleteModalOpen(true);
157
- }
158
- };
159
- var handleCloseDeleteModal = function handleCloseDeleteModal() {
160
- setIsDeleteModalOpen(false);
161
- setTeamToDelete(null);
162
- };
163
- var handleConfirmDelete = function handleConfirmDelete(deleteFromProjects) {
164
- if (teamToDelete) {
165
- deleteTeam(teamToDelete.id, deleteFromProjects);
166
- }
167
- handleCloseDeleteModal();
168
- };
169
- var handleAddUser = function handleAddUser(teamId, userId, giveAccessToAllProjects) {
170
- assignUserToTeam({
171
- setUserTeamProject: giveAccessToAllProjects,
172
- userId: userId,
173
- teamId: teamId
174
- });
175
- };
176
- var handleRemoveUser = function handleRemoveUser(teamId, userId, deleteFromProjects) {
177
- unassignUserFromTeam({
178
- deleteFromProjects: deleteFromProjects,
179
- userId: userId,
180
- teamId: teamId
181
- });
182
- };
183
- return /*#__PURE__*/_jsxs(_Fragment, {
184
- children: [teams.length > 0 ? /*#__PURE__*/_jsx(TeamRow, {
185
- teams: teams,
186
- handleShowTeamDetails: handleShowTeamDetails,
187
- handleDeleteTeam: handleDeleteTeam,
188
- handleEditTeam: handleEditTeamFromMenu,
189
- handleRemoveUser: handleRemoveUser,
190
- handleAddUser: handleAddUser
191
- }) : /*#__PURE__*/_jsx(EmptyStateTeams, {
192
- clickCreateTeam: handleCreateTeam
193
- }), isModalOpen && /*#__PURE__*/_jsx(Suspense, {
194
- fallback: /*#__PURE__*/_jsx(LoaderComponent, {}),
195
- children: /*#__PURE__*/_jsx(LazyTeamDetailsModal, {
196
- team: selectedTeam,
197
- isOpen: isModalOpen,
198
- onClose: handleCloseModal,
199
- onEdit: handleEditTeam,
200
- onCreate: handleCreateTeamSubmit,
201
- mode: modalMode,
202
- workspacesList: workspacesList,
203
- membersList: mockMembersList
204
- })
205
- }), isDeleteModalOpen && /*#__PURE__*/_jsx(Suspense, {
206
- fallback: /*#__PURE__*/_jsx(LoaderComponent, {}),
207
- children: /*#__PURE__*/_jsx(LazyDeleteTeamModal, {
208
- team: teamToDelete,
209
- isOpen: isDeleteModalOpen,
210
- onClose: handleCloseDeleteModal,
211
- onConfirm: handleConfirmDelete
212
- })
213
- })]
214
- });
215
- };
216
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVzZUNhbGxiYWNrIiwibGF6eSIsIlN1c3BlbnNlIiwidXNlQXNzaWduZWRXb3Jrc3BhY2VzRnJvbUhvc3QiLCJUZWFtUm93IiwidXNlVGVhbXMiLCJMb2FkZXJDb21wb25lbnQiLCJ1c2VDcmVhdGVUZWFtIiwidXNlVXBkYXRlVGVhbSIsInVzZUFzc2lnblVzZXJUb1RlYW0iLCJ1c2VVbmFzc2lnblVzZXJGcm9tVGVhbSIsInVzZURlbGV0ZVRlYW0iLCJpc0NvcldvcmtzcGFjZXNGZWF0dXJlRW5hYmxlZCIsIkVtcHR5U3RhdGVUZWFtcyIsImpzeCIsIl9qc3giLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsImpzeHMiLCJfanN4cyIsIkxhenlUZWFtRGV0YWlsc01vZGFsIiwidGhlbiIsIm1vZHVsZSIsIlRlYW1EZXRhaWxzTW9kYWwiLCJMYXp5RGVsZXRlVGVhbU1vZGFsIiwiRGVsZXRlVGVhbU1vZGFsIiwibW9ja01lbWJlcnNMaXN0IiwiaWQiLCJmaXJzdE5hbWUiLCJsYXN0TmFtZSIsIkJvZHlDb250YWluZXJWaWV3VGVhbXMiLCJfdXNlVGVhbXMiLCJ0ZWFtcyIsIl91c2VDcmVhdGVUZWFtIiwiZmV0Y2hDcmVhdGVUZWFtIiwiX3VzZVVwZGF0ZVRlYW0iLCJ1cGRhdGVUZWFtIiwiX3VzZUFzc2lnblVzZXJUb1RlYW0iLCJhc3NpZ25Vc2VyVG9UZWFtIiwiX3VzZVVuYXNzaWduVXNlckZyb21UIiwidW5hc3NpZ25Vc2VyRnJvbVRlYW0iLCJfdXNlRGVsZXRlVGVhbSIsImRlbGV0ZVRlYW0iLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJzZWxlY3RlZFRlYW0iLCJzZXRTZWxlY3RlZFRlYW0iLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImlzTW9kYWxPcGVuIiwic2V0SXNNb2RhbE9wZW4iLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsIm1vZGFsTW9kZSIsInNldE1vZGFsTW9kZSIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwidGVhbVRvRGVsZXRlIiwic2V0VGVhbVRvRGVsZXRlIiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTAiLCJpc0RlbGV0ZU1vZGFsT3BlbiIsInNldElzRGVsZXRlTW9kYWxPcGVuIiwid29ya3NwYWNlc0ZlYXR1cmVFbmFibGVkIiwiX3VzZUFzc2lnbmVkV29ya3NwYWNlIiwid29ya3NwYWNlc0xpc3QiLCJoYW5kbGVHZXRXb3Jrc3BhY2VzIiwicGFnZSIsImhhbmRsZVNob3dUZWFtRGV0YWlscyIsInRlYW1JZCIsInRlYW0iLCJmaW5kIiwidCIsImhhbmRsZUNyZWF0ZVRlYW0iLCJoYW5kbGVDcmVhdGVUZWFtRXZlbnQiLCJ3aW5kb3ciLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImhhbmRsZUNsb3NlTW9kYWwiLCJoYW5kbGVFZGl0VGVhbSIsImZvcm1EYXRhIiwiZmllbGRzIiwibmFtZSIsImRlc2NyaXB0aW9uIiwiaGFzV29ya3NwYWNlc0ZlYXR1cmUiLCJ3b3Jrc3BhY2UiLCJ3b3Jrc3BhY2VJZCIsImhhbmRsZUNyZWF0ZVRlYW1TdWJtaXQiLCJoYW5kbGVFZGl0VGVhbUZyb21NZW51IiwiaGFuZGxlRGVsZXRlVGVhbSIsImhhbmRsZUNsb3NlRGVsZXRlTW9kYWwiLCJoYW5kbGVDb25maXJtRGVsZXRlIiwiZGVsZXRlRnJvbVByb2plY3RzIiwiaGFuZGxlQWRkVXNlciIsInVzZXJJZCIsImdpdmVBY2Nlc3NUb0FsbFByb2plY3RzIiwic2V0VXNlclRlYW1Qcm9qZWN0IiwiaGFuZGxlUmVtb3ZlVXNlciIsImNoaWxkcmVuIiwibGVuZ3RoIiwiY2xpY2tDcmVhdGVUZWFtIiwiZmFsbGJhY2siLCJpc09wZW4iLCJvbkNsb3NlIiwib25FZGl0Iiwib25DcmVhdGUiLCJtb2RlIiwibWVtYmVyc0xpc3QiLCJvbkNvbmZpcm0iXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGFpbmVyL0JvZHkvQm9keUNvbnRhaW5lclZpZXdUZWFtcy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUVmZmVjdCwgdXNlQ2FsbGJhY2ssIGxhenksIFN1c3BlbnNlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VBc3NpZ25lZFdvcmtzcGFjZXNGcm9tSG9zdCB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZUFzc2lnbmVkV29ya3NwYWNlc0Zyb21Ib3N0J1xuaW1wb3J0IHsgVGVhbVJvdyB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvVGFibGUvVGVhbVJvdy9UZWFtUm93J1xuaW1wb3J0IHR5cGUgeyBUZWFtLCBGb3JtRGF0YSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvVGVhbURldGFpbHNNb2RhbCdcbmltcG9ydCB7IHVzZVRlYW1zIH0gZnJvbSAnLi4vLi4vY29udGV4dC9UZWFtc0NvbnRleHQnXG5pbXBvcnQgeyBMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL0xvYWRpbmcvTG9hZGluZ0NvbXBvbmVudCdcbmltcG9ydCB7IHVzZUNyZWF0ZVRlYW0gfSBmcm9tICcuLi8uLi9ob29rcy91c2VDcmVhdGVUZWFtcydcbmltcG9ydCB7IHVzZVVwZGF0ZVRlYW0gfSBmcm9tICcuLi8uLi9ob29rcy91c2VVcGRhdGVUZWFtJ1xuaW1wb3J0IHsgdXNlQXNzaWduVXNlclRvVGVhbSB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZUFzc2lnblVzZXJUb1RlYW0nXG5pbXBvcnQgeyB1c2VVbmFzc2lnblVzZXJGcm9tVGVhbSB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZVVuYXNzaWduVXNlckZyb21UZWFtJ1xuaW1wb3J0IHsgdXNlRGVsZXRlVGVhbSB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZURlbGV0ZVRlYW0nXG5pbXBvcnQgeyBpc0NvcldvcmtzcGFjZXNGZWF0dXJlRW5hYmxlZCB9IGZyb20gJy4uLy4uL3V0aWxzL2lzQ29yV29ya3NwYWNlc0ZlYXR1cmVFbmFibGVkJ1xuaW1wb3J0IHsgRW1wdHlTdGF0ZVRlYW1zIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9FbXB0eVN0YXRlVGVhbXMnXG5cbmNvbnN0IExhenlUZWFtRGV0YWlsc01vZGFsID0gbGF6eSgoKSA9PlxuICBpbXBvcnQoJy4uLy4uL2NvbXBvbmVudHMvVGVhbURldGFpbHNNb2RhbCcpLnRoZW4obW9kdWxlID0+ICh7IGRlZmF1bHQ6IG1vZHVsZS5UZWFtRGV0YWlsc01vZGFsIH0pKVxuKVxuXG5jb25zdCBMYXp5RGVsZXRlVGVhbU1vZGFsID0gbGF6eSgoKSA9PlxuICBpbXBvcnQoJy4uLy4uL2NvbXBvbmVudHMvRGVsZXRlVGVhbU1vZGFsJykudGhlbihtb2R1bGUgPT4gKHsgZGVmYXVsdDogbW9kdWxlLkRlbGV0ZVRlYW1Nb2RhbCB9KSlcbilcblxuY29uc3QgbW9ja01lbWJlcnNMaXN0ID0gW1xuICB7IGlkOiAxLCBmaXJzdE5hbWU6ICdVc2VyIDEnLCBsYXN0TmFtZTogJ0FwZWxsaWRvIDEnIH0sXG4gIHsgaWQ6IDIsIGZpcnN0TmFtZTogJ1VzZXIgMicsIGxhc3ROYW1lOiAnQXBlbGxpZG8gMicgfSxcbiAgeyBpZDogMywgZmlyc3ROYW1lOiAnVXNlciAzJywgbGFzdE5hbWU6ICdBcGVsbGlkbyAzJyB9LFxuXVxuXG5leHBvcnQgY29uc3QgQm9keUNvbnRhaW5lclZpZXdUZWFtcyA9ICgpID0+IHtcbiAgY29uc3QgeyB0ZWFtcyB9ID0gdXNlVGVhbXMoKVxuICBjb25zdCB7IGZldGNoQ3JlYXRlVGVhbSB9ID0gdXNlQ3JlYXRlVGVhbSgpXG4gIGNvbnN0IHsgdXBkYXRlVGVhbSB9ID0gdXNlVXBkYXRlVGVhbSgpXG4gIGNvbnN0IHsgYXNzaWduVXNlclRvVGVhbSB9ID0gdXNlQXNzaWduVXNlclRvVGVhbSgpXG4gIGNvbnN0IHsgdW5hc3NpZ25Vc2VyRnJvbVRlYW0gfSA9IHVzZVVuYXNzaWduVXNlckZyb21UZWFtKClcbiAgY29uc3QgeyBkZWxldGVUZWFtIH0gPSB1c2VEZWxldGVUZWFtKClcbiAgY29uc3QgW3NlbGVjdGVkVGVhbSwgc2V0U2VsZWN0ZWRUZWFtXSA9IHVzZVN0YXRlPFRlYW0gfCBudWxsPihudWxsKVxuICBjb25zdCBbaXNNb2RhbE9wZW4sIHNldElzTW9kYWxPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbbW9kYWxNb2RlLCBzZXRNb2RhbE1vZGVdID0gdXNlU3RhdGU8J3ZpZXcnIHwgJ2VkaXQnIHwgJ2NyZWF0ZSc+KCd2aWV3JylcbiAgY29uc3QgW3RlYW1Ub0RlbGV0ZSwgc2V0VGVhbVRvRGVsZXRlXSA9IHVzZVN0YXRlPFRlYW0gfCBudWxsPihudWxsKVxuICBjb25zdCBbaXNEZWxldGVNb2RhbE9wZW4sIHNldElzRGVsZXRlTW9kYWxPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIGNvbnN0IHdvcmtzcGFjZXNGZWF0dXJlRW5hYmxlZCA9IGlzQ29yV29ya3NwYWNlc0ZlYXR1cmVFbmFibGVkKClcbiAgY29uc3QgeyB3b3Jrc3BhY2VzTGlzdCwgaGFuZGxlR2V0V29ya3NwYWNlcyB9ID0gdXNlQXNzaWduZWRXb3Jrc3BhY2VzRnJvbUhvc3Qod29ya3NwYWNlc0ZlYXR1cmVFbmFibGVkKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzTW9kYWxPcGVuICYmIHdvcmtzcGFjZXNGZWF0dXJlRW5hYmxlZCkge1xuICAgICAgaGFuZGxlR2V0V29ya3NwYWNlcyh7IHBhZ2U6IDEgfSlcbiAgICB9XG4gIH0sIFtpc01vZGFsT3Blbiwgd29ya3NwYWNlc0ZlYXR1cmVFbmFibGVkLCBoYW5kbGVHZXRXb3Jrc3BhY2VzXSlcblxuICBjb25zdCBoYW5kbGVTaG93VGVhbURldGFpbHMgPSAodGVhbUlkOiBudW1iZXIpID0+IHtcbiAgICBjb25zdCB0ZWFtID0gdGVhbXMuZmluZCh0ID0+IHQuaWQgPT09IHRlYW1JZClcbiAgICBpZiAodGVhbSkge1xuICAgICAgc2V0U2VsZWN0ZWRUZWFtKHRlYW0pXG4gICAgICBzZXRNb2RhbE1vZGUoJ3ZpZXcnKVxuICAgICAgc2V0SXNNb2RhbE9wZW4odHJ1ZSlcbiAgICB9XG4gIH1cblxuICBjb25zdCBoYW5kbGVDcmVhdGVUZWFtID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldFNlbGVjdGVkVGVhbShudWxsKVxuICAgIHNldE1vZGFsTW9kZSgnY3JlYXRlJylcbiAgICBzZXRJc01vZGFsT3Blbih0cnVlKVxuICB9LCBbXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZUNyZWF0ZVRlYW1FdmVudCA9ICgpID0+IHtcbiAgICAgIGhhbmRsZUNyZWF0ZVRlYW0oKVxuICAgIH1cblxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjcmVhdGVUZWFtJywgaGFuZGxlQ3JlYXRlVGVhbUV2ZW50KVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdjcmVhdGVUZWFtJywgaGFuZGxlQ3JlYXRlVGVhbUV2ZW50KVxuICAgIH1cbiAgfSwgW2hhbmRsZUNyZWF0ZVRlYW1dKVxuXG4gIGNvbnN0IGhhbmRsZUNsb3NlTW9kYWwgPSAoKSA9PiB7XG4gICAgc2V0SXNNb2RhbE9wZW4oZmFsc2UpXG4gICAgc2V0U2VsZWN0ZWRUZWFtKG51bGwpXG4gICAgc2V0TW9kYWxNb2RlKCd2aWV3JylcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUVkaXRUZWFtID0gKGZvcm1EYXRhOiBGb3JtRGF0YSkgPT4ge1xuICAgIGlmICghc2VsZWN0ZWRUZWFtKSByZXR1cm5cblxuICAgIGNvbnN0IGZpZWxkczoge1xuICAgICAgaWQ6IG51bWJlclxuICAgICAgbmFtZTogc3RyaW5nXG4gICAgICBkZXNjcmlwdGlvbjogc3RyaW5nXG4gICAgICB3b3Jrc3BhY2VJZD86IG51bWJlclxuICAgIH0gPSB7XG4gICAgICBpZDogK3NlbGVjdGVkVGVhbS5pZCxcbiAgICAgIG5hbWU6IGZvcm1EYXRhLm5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogZm9ybURhdGEuZGVzY3JpcHRpb24sXG4gICAgfVxuXG4gICAgaWYgKHdpbmRvdy5oYXNXb3Jrc3BhY2VzRmVhdHVyZSAmJiBmb3JtRGF0YS53b3Jrc3BhY2UpIHtcbiAgICAgIGZpZWxkcy53b3Jrc3BhY2VJZCA9IGZvcm1EYXRhLndvcmtzcGFjZS5pZFxuICAgIH1cblxuICAgIHVwZGF0ZVRlYW0oZmllbGRzKVxuICAgIGhhbmRsZUNsb3NlTW9kYWwoKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlQ3JlYXRlVGVhbVN1Ym1pdCA9IChmb3JtRGF0YTogRm9ybURhdGEpID0+IHtcbiAgICBjb25zdCBmaWVsZHM6IHtcbiAgICAgIG5hbWU6IHN0cmluZ1xuICAgICAgZGVzY3JpcHRpb246IHN0cmluZ1xuICAgICAgd29ya3NwYWNlSWQ/OiBudW1iZXJcbiAgICB9ID0ge1xuICAgICAgbmFtZTogZm9ybURhdGEubmFtZSxcbiAgICAgIC8vIHVzZXJzOiBmb3JtRGF0YS5tZW1iZXJzLm1hcChtZW1iZXIgPT4gbWVtYmVyLmlkKSwgVE9ETzogVmEgZW4gbGEgc2VndW5kYSB2ZXJzaW9uXG4gICAgICBkZXNjcmlwdGlvbjogZm9ybURhdGEuZGVzY3JpcHRpb24sXG4gICAgfVxuXG4gICAgaWYgKHdpbmRvdy5oYXNXb3Jrc3BhY2VzRmVhdHVyZSAmJiBmb3JtRGF0YS53b3Jrc3BhY2UpIHtcbiAgICAgIGZpZWxkcy53b3Jrc3BhY2VJZCA9IGZvcm1EYXRhLndvcmtzcGFjZS5pZFxuICAgIH1cbiAgICBmZXRjaENyZWF0ZVRlYW0oZmllbGRzKVxuICAgIGhhbmRsZUNsb3NlTW9kYWwoKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlRWRpdFRlYW1Gcm9tTWVudSA9ICh0ZWFtSWQ6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IHRlYW0gPSB0ZWFtcy5maW5kKHQgPT4gdC5pZCA9PT0gdGVhbUlkKVxuICAgIGlmICh0ZWFtKSB7XG4gICAgICBzZXRTZWxlY3RlZFRlYW0odGVhbSlcbiAgICAgIHNldE1vZGFsTW9kZSgnZWRpdCcpXG4gICAgICBzZXRJc01vZGFsT3Blbih0cnVlKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGhhbmRsZURlbGV0ZVRlYW0gPSAodGVhbUlkOiBudW1iZXIpID0+IHtcbiAgICBjb25zdCB0ZWFtID0gdGVhbXMuZmluZCh0ID0+IHQuaWQgPT09IHRlYW1JZClcbiAgICBpZiAodGVhbSkge1xuICAgICAgc2V0VGVhbVRvRGVsZXRlKHRlYW0pXG4gICAgICBzZXRJc0RlbGV0ZU1vZGFsT3Blbih0cnVlKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUNsb3NlRGVsZXRlTW9kYWwgPSAoKSA9PiB7XG4gICAgc2V0SXNEZWxldGVNb2RhbE9wZW4oZmFsc2UpXG4gICAgc2V0VGVhbVRvRGVsZXRlKG51bGwpXG4gIH1cblxuICBjb25zdCBoYW5kbGVDb25maXJtRGVsZXRlID0gKGRlbGV0ZUZyb21Qcm9qZWN0czogYm9vbGVhbikgPT4ge1xuICAgIGlmICh0ZWFtVG9EZWxldGUpIHtcbiAgICAgIGRlbGV0ZVRlYW0odGVhbVRvRGVsZXRlLmlkLCBkZWxldGVGcm9tUHJvamVjdHMpXG4gICAgfVxuICAgIGhhbmRsZUNsb3NlRGVsZXRlTW9kYWwoKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlQWRkVXNlciA9ICh0ZWFtSWQ6IG51bWJlciwgdXNlcklkOiBudW1iZXIsIGdpdmVBY2Nlc3NUb0FsbFByb2plY3RzOiBib29sZWFuKSA9PiB7XG4gICAgYXNzaWduVXNlclRvVGVhbSh7XG4gICAgICBzZXRVc2VyVGVhbVByb2plY3Q6IGdpdmVBY2Nlc3NUb0FsbFByb2plY3RzLFxuICAgICAgdXNlcklkLFxuICAgICAgdGVhbUlkLFxuICAgIH0pXG4gIH1cblxuICBjb25zdCBoYW5kbGVSZW1vdmVVc2VyID0gKHRlYW1JZDogbnVtYmVyLCB1c2VySWQ6IG51bWJlciwgZGVsZXRlRnJvbVByb2plY3RzOiBib29sZWFuKSA9PiB7XG4gICAgdW5hc3NpZ25Vc2VyRnJvbVRlYW0oe1xuICAgICAgZGVsZXRlRnJvbVByb2plY3RzLFxuICAgICAgdXNlcklkLFxuICAgICAgdGVhbUlkLFxuICAgIH0pXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7dGVhbXMubGVuZ3RoID4gMCA/IChcbiAgICAgICAgPFRlYW1Sb3dcbiAgICAgICAgICB0ZWFtcz17dGVhbXN9XG4gICAgICAgICAgaGFuZGxlU2hvd1RlYW1EZXRhaWxzPXtoYW5kbGVTaG93VGVhbURldGFpbHN9XG4gICAgICAgICAgaGFuZGxlRGVsZXRlVGVhbT17aGFuZGxlRGVsZXRlVGVhbX1cbiAgICAgICAgICBoYW5kbGVFZGl0VGVhbT17aGFuZGxlRWRpdFRlYW1Gcm9tTWVudX1cbiAgICAgICAgICBoYW5kbGVSZW1vdmVVc2VyPXtoYW5kbGVSZW1vdmVVc2VyfVxuICAgICAgICAgIGhhbmRsZUFkZFVzZXI9e2hhbmRsZUFkZFVzZXJ9XG4gICAgICAgIC8+XG4gICAgICApIDogKFxuICAgICAgICA8RW1wdHlTdGF0ZVRlYW1zIGNsaWNrQ3JlYXRlVGVhbT17aGFuZGxlQ3JlYXRlVGVhbX0gLz5cbiAgICAgICl9XG4gICAgICB7aXNNb2RhbE9wZW4gJiYgKFxuICAgICAgICA8U3VzcGVuc2UgZmFsbGJhY2s9ezxMb2FkZXJDb21wb25lbnQgLz59PlxuICAgICAgICAgIDxMYXp5VGVhbURldGFpbHNNb2RhbFxuICAgICAgICAgICAgdGVhbT17c2VsZWN0ZWRUZWFtfVxuICAgICAgICAgICAgaXNPcGVuPXtpc01vZGFsT3Blbn1cbiAgICAgICAgICAgIG9uQ2xvc2U9e2hhbmRsZUNsb3NlTW9kYWx9XG4gICAgICAgICAgICBvbkVkaXQ9e2hhbmRsZUVkaXRUZWFtfVxuICAgICAgICAgICAgb25DcmVhdGU9e2hhbmRsZUNyZWF0ZVRlYW1TdWJtaXR9XG4gICAgICAgICAgICBtb2RlPXttb2RhbE1vZGV9XG4gICAgICAgICAgICB3b3Jrc3BhY2VzTGlzdD17d29ya3NwYWNlc0xpc3R9XG4gICAgICAgICAgICBtZW1iZXJzTGlzdD17bW9ja01lbWJlcnNMaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvU3VzcGVuc2U+XG4gICAgICApfVxuICAgICAge2lzRGVsZXRlTW9kYWxPcGVuICYmIChcbiAgICAgICAgPFN1c3BlbnNlIGZhbGxiYWNrPXs8TG9hZGVyQ29tcG9uZW50IC8+fT5cbiAgICAgICAgICA8TGF6eURlbGV0ZVRlYW1Nb2RhbFxuICAgICAgICAgICAgdGVhbT17dGVhbVRvRGVsZXRlfVxuICAgICAgICAgICAgaXNPcGVuPXtpc0RlbGV0ZU1vZGFsT3Blbn1cbiAgICAgICAgICAgIG9uQ2xvc2U9e2hhbmRsZUNsb3NlRGVsZXRlTW9kYWx9XG4gICAgICAgICAgICBvbkNvbmZpcm09e2hhbmRsZUNvbmZpcm1EZWxldGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9TdXNwZW5zZT5cbiAgICAgICl9XG4gICAgPC8+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVNBLFFBQVEsRUFBRUMsU0FBUyxFQUFFQyxXQUFXLEVBQUVDLElBQUksRUFBRUMsUUFBUSxRQUFRLE9BQU87QUFDeEUsU0FBU0MsNkJBQTZCLFFBQVEsMkNBQTJDO0FBQ3pGLFNBQVNDLE9BQU8sUUFBUSx3Q0FBd0M7QUFFaEUsU0FBU0MsUUFBUSxRQUFRLDRCQUE0QjtBQUNyRCxTQUFTQyxlQUFlLFFBQVEsMkNBQTJDO0FBQzNFLFNBQVNDLGFBQWEsUUFBUSw0QkFBNEI7QUFDMUQsU0FBU0MsYUFBYSxRQUFRLDJCQUEyQjtBQUN6RCxTQUFTQyxtQkFBbUIsUUFBUSxpQ0FBaUM7QUFDckUsU0FBU0MsdUJBQXVCLFFBQVEscUNBQXFDO0FBQzdFLFNBQVNDLGFBQWEsUUFBUSwyQkFBMkI7QUFDekQsU0FBU0MsNkJBQTZCLFFBQVEsMkNBQTJDO0FBQ3pGLFNBQVNDLGVBQWUsUUFBUSxrQ0FBa0M7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsUUFBQSxJQUFBQyxTQUFBLEVBQUFDLElBQUEsSUFBQUMsS0FBQTtBQUVsRSxJQUFNQyxvQkFBb0IsZ0JBQUduQixJQUFJLENBQUM7RUFBQSxPQUNoQyxNQUFN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