@projectcor/people-microfront 1.0.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 (116) hide show
  1. package/lib/App.js +64 -0
  2. package/lib/App.stories.js +104 -0
  3. package/lib/Providers.js +26 -0
  4. package/lib/components/Backdrop/Background.interface.js +2 -0
  5. package/lib/components/Backdrop/Background.js +12 -0
  6. package/lib/components/Backdrop/Background.style.js +9 -0
  7. package/lib/components/Backdrop/index.js +2 -0
  8. package/lib/components/DeletedUserIcon/DeletedUserIcon.js +20 -0
  9. package/lib/components/DeletedUserIcon/DeletedUserIcon.styles.js +7 -0
  10. package/lib/components/DeletedUserIcon/index.js +2 -0
  11. package/lib/components/DisabledUserIcon/DisabledUserIcon.js +24 -0
  12. package/lib/components/DisabledUserIcon/DisabledUserIcon.styles.js +7 -0
  13. package/lib/components/DisabledUserIcon/index.js +2 -0
  14. package/lib/components/EmptyUser/EmptyUser.js +59 -0
  15. package/lib/components/EmptyUser/index.js +3 -0
  16. package/lib/components/ErrorComponent/ErrorComponent.js +24 -0
  17. package/lib/components/ErrorComponent/ErrorComponent.spec.js +29 -0
  18. package/lib/components/ErrorComponent/ErrorComponent.styles.js +19 -0
  19. package/lib/components/ErrorComponent/index.js +2 -0
  20. package/lib/components/Filters/FilterChip/FilterChip.js +106 -0
  21. package/lib/components/Filters/FilterChip/index.js +2 -0
  22. package/lib/components/Filters/LabelFilter/LabelFilter.js +87 -0
  23. package/lib/components/Filters/LabelFilter/LabelFilter.styles.js +32 -0
  24. package/lib/components/Filters/SearchComponent/SearchComponent.js +26 -0
  25. package/lib/components/Filters/SearchComponent/SearchComponent.styles.js +16 -0
  26. package/lib/components/Filters/SearchComponent/index.js +2 -0
  27. package/lib/components/Filters/index.js +2 -0
  28. package/lib/components/Icons/UserBlockIcon.js +25 -0
  29. package/lib/components/Icons/UserIconLock.js +42 -0
  30. package/lib/components/Icons/UserIconWithCross.js +20 -0
  31. package/lib/components/Icons/index.js +4 -0
  32. package/lib/components/Illustration/EmptyUser.js +141 -0
  33. package/lib/components/Illustration/index.js +2 -0
  34. package/lib/components/Loading/LoadingComponent.js +11 -0
  35. package/lib/components/Loading/LoadingComponent.style.js +6 -0
  36. package/lib/components/Loading/index.js +2 -0
  37. package/lib/components/MenuOptions/MenuOptions.js +147 -0
  38. package/lib/components/MenuOptions/MenuOptions.styles.js +14 -0
  39. package/lib/components/MenuOptions/index.js +2 -0
  40. package/lib/components/Modal/ModalLayout.interface.js +2 -0
  41. package/lib/components/Modal/ModalLayout.js +25 -0
  42. package/lib/components/Modal/ModalLayout.style.js +26 -0
  43. package/lib/components/Modal/index.js +2 -0
  44. package/lib/components/ModalBloquedUser/ModalBloquedUser.js +67 -0
  45. package/lib/components/ModalBloquedUser/index.js +2 -0
  46. package/lib/components/ModalEditUserPosition/ModalEditUserPosition.js +171 -0
  47. package/lib/components/ModalEditUserPosition/UserEditPositionRow.js +327 -0
  48. package/lib/components/ModalEditUserPosition/UserEditPositionRow.styles.js +6 -0
  49. package/lib/components/ModalEditUserPosition/index.js +2 -0
  50. package/lib/components/ModalOptionsWithSearch/ConfirmButton.js +16 -0
  51. package/lib/components/ModalOptionsWithSearch/ModalOptionsWithSearch.js +76 -0
  52. package/lib/components/ModalOptionsWithSearch/ModalOptionsWithSearch.styles.js +21 -0
  53. package/lib/components/ModalOptionsWithSearch/SearchInput.js +14 -0
  54. package/lib/components/Search/InputSearch.js +22 -0
  55. package/lib/components/Search/Search.js +34 -0
  56. package/lib/components/Search/Search.styles.js +15 -0
  57. package/lib/components/Search/index.js +2 -0
  58. package/lib/components/Snackbar/Snackbar.interface.js +2 -0
  59. package/lib/components/Snackbar/Snackbar.js +35 -0
  60. package/lib/components/Snackbar/Snackbar.styles.js +18 -0
  61. package/lib/components/Snackbar/index.js +2 -0
  62. package/lib/components/Table/Content/ContentTable.js +7 -0
  63. package/lib/components/Table/Content/index.js +2 -0
  64. package/lib/components/Table/Header/HeaderTable.js +212 -0
  65. package/lib/components/Table/Header/index.js +2 -0
  66. package/lib/components/Table/Row/Row.js +66 -0
  67. package/lib/components/Table/Row/Row.styles.js +27 -0
  68. package/lib/components/Table/Row/index.js +2 -0
  69. package/lib/components/UserRow/UserRow.js +129 -0
  70. package/lib/components/UserRow/UserRow.stories.js +17 -0
  71. package/lib/components/UserRow/UserRow.styles.js +19 -0
  72. package/lib/constants/gqlClient.js +4 -0
  73. package/lib/container/Body/BodyContainer.js +109 -0
  74. package/lib/container/Filters/FiltersContainer.js +168 -0
  75. package/lib/container/MainView/MainUsersView.js +184 -0
  76. package/lib/container/MainView/MainView.js +117 -0
  77. package/lib/container/Pagination/PaginationContainer.js +145 -0
  78. package/lib/container/RouterComponent/RouterComponent.js +130 -0
  79. package/lib/container/RouterComponent/RouterComponent.stories.js +14 -0
  80. package/lib/container/RouterComponent/index.js +2 -0
  81. package/lib/container/TableContainer/TableContainer.js +41 -0
  82. package/lib/container/index.js +2 -0
  83. package/lib/context/UsersContext.js +145 -0
  84. package/lib/hooks/useAbortController.js +17 -0
  85. package/lib/hooks/useDebounce.js +18 -0
  86. package/lib/hooks/useGetTeams.js +30 -0
  87. package/lib/hooks/useGetUserPositionFilter.js +29 -0
  88. package/lib/hooks/useGetUsers.js +100 -0
  89. package/lib/hooks/useGetUsersForFilter.js +52 -0
  90. package/lib/hooks/useGraphAdapter.js +60 -0
  91. package/lib/hooks/useResize.js +29 -0
  92. package/lib/hooks/useSearchEvent.js +18 -0
  93. package/lib/hooks/useUnblockUser.js +131 -0
  94. package/lib/hooks/useUpdateUserPositions.js +58 -0
  95. package/lib/hooks/useUserPositionCategories.js +38 -0
  96. package/lib/index.css +28 -0
  97. package/lib/index.js +10 -0
  98. package/lib/lang/i18next.js +19 -0
  99. package/lib/lang/i18nextForWeb.js +22 -0
  100. package/lib/lang/resource.js +11 -0
  101. package/lib/lang/translation/br.json +69 -0
  102. package/lib/lang/translation/en.json +69 -0
  103. package/lib/lang/translation/es.json +69 -0
  104. package/lib/lang/translation/fr.json +69 -0
  105. package/lib/mocks/mockedUser.js +95 -0
  106. package/lib/query/getTeams.js +5 -0
  107. package/lib/query/getUserPositionCategory.js +5 -0
  108. package/lib/query/getUserPositionFilter.js +5 -0
  109. package/lib/query/getUsers.js +5 -0
  110. package/lib/query/updateUserPosition.js +5 -0
  111. package/lib/query/userUnblock.js +5 -0
  112. package/lib/types/global.d.js +2 -0
  113. package/lib/types/userType.d.js +2 -0
  114. package/lib/utils/ApolloMicroServiceClient.js +3 -0
  115. package/package.json +174 -0
  116. package/readme.md +87 -0
@@ -0,0 +1,184 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import { memo, useState, useRef, useEffect, useCallback, useMemo } from 'react';
3
+ import { useTranslation } from 'react-i18next';
4
+ import { GroupByButton } from '@projectcor/group-by-button/lib/components/GroupByButton';
5
+ import { CUButton } from '@projectcor/button/lib/components/CUButton';
6
+ import { Tooltip } from '@projectcor/tooltipv2/lib/components/Tooltip';
7
+ import { FileUpload } from '@projectcor/icons/lib/components/FileUpload';
8
+ import { FiltersContainer } from '../Filters/FiltersContainer';
9
+ import { useGetUserPositionFilter } from '../../hooks/useGetUserPositionFilter';
10
+ import { useUsersQuery, useUsersEditPositions } from '../../context/UsersContext';
11
+ import { TableContainer } from '../TableContainer/TableContainer';
12
+ import { ModalEditUserPosition } from '../../components/ModalEditUserPosition';
13
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
14
+ export var MainUsersView = /*#__PURE__*/memo(function MainUsersView() {
15
+ var _useTranslation = useTranslation('people'),
16
+ t = _useTranslation.t;
17
+ var _useUsersQuery = useUsersQuery(),
18
+ handleGetUsers = _useUsersQuery.handleGetUsers,
19
+ loading = _useUsersQuery.loading,
20
+ error = _useUsersQuery.error,
21
+ users = _useUsersQuery.users,
22
+ handleSetPositions = _useUsersQuery.handleSetPositions,
23
+ positions = _useUsersQuery.positions;
24
+ var _useUsersEditPosition = useUsersEditPositions(),
25
+ handleSetHasEditPositions = _useUsersEditPosition.handleSetHasEditPositions,
26
+ hasEditPositions = _useUsersEditPosition.hasEditPositions,
27
+ usersToEditPositions = _useUsersEditPosition.usersToEditPositions;
28
+ var _useState = useState(false),
29
+ _useState2 = _slicedToArray(_useState, 2),
30
+ showModalEditUserPosition = _useState2[0],
31
+ setShowModalEditUserPosition = _useState2[1];
32
+ var _useGetUserPositionFi = useGetUserPositionFilter(),
33
+ handleGetUserPositionFilter = _useGetUserPositionFi.handleGetUserPositionFilter,
34
+ positionLoading = _useGetUserPositionFi.loading,
35
+ positionError = _useGetUserPositionFi.error,
36
+ positionData = _useGetUserPositionFi.data;
37
+ var hasFetchedPositions = useRef(false);
38
+ useEffect(function () {
39
+ if (!hasFetchedPositions.current && !(positions !== null && positions !== void 0 && positions.length)) {
40
+ hasFetchedPositions.current = true;
41
+ handleGetUserPositionFilter('');
42
+ }
43
+ }, [handleGetUserPositionFilter, positions]);
44
+ useEffect(function () {
45
+ if (positionData !== null && positionData !== void 0 && positionData.userPositionsFilter && !positionLoading && !positionError) {
46
+ var mappedPositions = positionData.userPositionsFilter.data.map(function (position) {
47
+ return {
48
+ id: position.id,
49
+ label: position.name,
50
+ categoryName: position.categoryName
51
+ };
52
+ });
53
+ handleSetPositions(mappedPositions);
54
+ }
55
+ }, [positionData, positionLoading, positionError, handleSetPositions]);
56
+ var handleChangePage = useCallback(function (page) {
57
+ handleGetUsers({
58
+ page: page
59
+ });
60
+ }, [handleGetUsers]);
61
+ var groupBySections = useMemo(function () {
62
+ return [{
63
+ id: 1,
64
+ title: t('users.view')
65
+ }, {
66
+ id: 2,
67
+ title: t('users.editPositionTitle')
68
+ }];
69
+ }, [t]);
70
+ var handleChangeSection = useCallback(function (prop) {
71
+ handleSetHasEditPositions(prop.id === 2);
72
+ }, [handleSetHasEditPositions]);
73
+ var handleShowModalEditUserPosition = useCallback(function () {
74
+ setShowModalEditUserPosition(true);
75
+ }, []);
76
+ var handleCloseModalEditUserPosition = useCallback(function () {
77
+ setShowModalEditUserPosition(false);
78
+ }, []);
79
+ var handleEditPositionsSuccess = useCallback(function () {
80
+ setShowModalEditUserPosition(false);
81
+ handleSetHasEditPositions(false);
82
+ }, [handleSetHasEditPositions]);
83
+ var handleGoToImport = useCallback(function () {
84
+ window.location.href = '/users/import';
85
+ }, []);
86
+ var handleGoToCreate = useCallback(function () {
87
+ window.location.href = '/users/create';
88
+ }, []);
89
+ return /*#__PURE__*/_jsxs(_Fragment, {
90
+ children: [/*#__PURE__*/_jsxs("div", {
91
+ style: {
92
+ display: 'flex',
93
+ flexDirection: 'column',
94
+ gap: '10px',
95
+ width: '100%',
96
+ height: '100%',
97
+ paddingTop: '20px'
98
+ },
99
+ children: [/*#__PURE__*/_jsxs("div", {
100
+ style: {
101
+ display: users !== null && users !== void 0 && users.length ? 'flex' : 'none',
102
+ alignItems: 'center',
103
+ justifyContent: 'space-between',
104
+ position: 'sticky',
105
+ top: 0,
106
+ backgroundColor: 'white',
107
+ zIndex: 2,
108
+ padding: '10px'
109
+ },
110
+ children: [/*#__PURE__*/_jsx(GroupByButton, {
111
+ sections: groupBySections,
112
+ sectionSelectedId: hasEditPositions ? 2 : 1,
113
+ handleChangeSection: handleChangeSection,
114
+ groupByTitle: "Vista",
115
+ withTitle: true,
116
+ withMinHeight: true
117
+ }), hasEditPositions && (usersToEditPositions === null || usersToEditPositions === void 0 ? void 0 : usersToEditPositions.length) > 0 && /*#__PURE__*/_jsxs(CUButton, {
118
+ variant: "outlined",
119
+ size: "small",
120
+ onClick: handleShowModalEditUserPosition,
121
+ children: [t('users.editPositionTitle'), " (", usersToEditPositions.length, ")"]
122
+ })]
123
+ }), /*#__PURE__*/_jsxs("div", {
124
+ style: {
125
+ display: 'flex',
126
+ alignItems: 'center',
127
+ justifyContent: 'space-between',
128
+ position: 'sticky',
129
+ top: 40,
130
+ backgroundColor: 'white',
131
+ zIndex: 2,
132
+ padding: '10px'
133
+ },
134
+ children: [/*#__PURE__*/_jsx(FiltersContainer, {
135
+ handleGetUserPositionFilter: handleGetUserPositionFilter
136
+ }), /*#__PURE__*/_jsxs("div", {
137
+ style: {
138
+ display: 'flex',
139
+ alignItems: 'center',
140
+ gap: '10px',
141
+ justifyContent: 'center'
142
+ },
143
+ children: [/*#__PURE__*/_jsx(Tooltip, {
144
+ title: t('users.exportUsers'),
145
+ placement: "top",
146
+ zIndex: "2002",
147
+ children: /*#__PURE__*/_jsx("div", {
148
+ style: {
149
+ display: 'flex',
150
+ alignItems: 'center',
151
+ justifyContent: 'center'
152
+ },
153
+ children: /*#__PURE__*/_jsx(CUButton, {
154
+ variant: "text",
155
+ iconOnly: true,
156
+ size: "small",
157
+ onClick: handleGoToImport,
158
+ children: /*#__PURE__*/_jsx(FileUpload, {
159
+ width: 20,
160
+ height: 20,
161
+ color: "inherit"
162
+ })
163
+ })
164
+ })
165
+ }), /*#__PURE__*/_jsx(CUButton, {
166
+ variant: "contained",
167
+ size: "small",
168
+ onClick: handleGoToCreate,
169
+ children: t('users.createUser')
170
+ })]
171
+ })]
172
+ }), /*#__PURE__*/_jsx(TableContainer, {
173
+ handleChangePage: handleChangePage,
174
+ loading: loading,
175
+ error: error,
176
+ hasUsers: !!(users !== null && users !== void 0 && users.length)
177
+ })]
178
+ }), showModalEditUserPosition && /*#__PURE__*/_jsx(ModalEditUserPosition, {
179
+ handleCloseModal: handleCloseModalEditUserPosition,
180
+ onEditSuccess: handleEditPositionsSuccess
181
+ })]
182
+ });
183
+ });
184
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtZW1vIiwidXNlU3RhdGUiLCJ1c2VSZWYiLCJ1c2VFZmZlY3QiLCJ1c2VDYWxsYmFjayIsInVzZU1lbW8iLCJ1c2VUcmFuc2xhdGlvbiIsIkdyb3VwQnlCdXR0b24iLCJDVUJ1dHRvbiIsIlRvb2x0aXAiLCJGaWxlVXBsb2FkIiwiRmlsdGVyc0NvbnRhaW5lciIsInVzZUdldFVzZXJQb3NpdGlvbkZpbHRlciIsInVzZVVzZXJzUXVlcnkiLCJ1c2VVc2Vyc0VkaXRQb3NpdGlvbnMiLCJUYWJsZUNvbnRhaW5lciIsIk1vZGFsRWRpdFVzZXJQb3NpdGlvbiIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsIk1haW5Vc2Vyc1ZpZXciLCJfdXNlVHJhbnNsYXRpb24iLCJ0IiwiX3VzZVVzZXJzUXVlcnkiLCJoYW5kbGVHZXRVc2VycyIsImxvYWRpbmciLCJlcnJvciIsInVzZXJzIiwiaGFuZGxlU2V0UG9zaXRpb25zIiwicG9zaXRpb25zIiwiX3VzZVVzZXJzRWRpdFBvc2l0aW9uIiwiaGFuZGxlU2V0SGFzRWRpdFBvc2l0aW9ucyIsImhhc0VkaXRQb3NpdGlvbnMiLCJ1c2Vyc1RvRWRpdFBvc2l0aW9ucyIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsInNob3dNb2RhbEVkaXRVc2VyUG9zaXRpb24iLCJzZXRTaG93TW9kYWxFZGl0VXNlclBvc2l0aW9uIiwiX3VzZUdldFVzZXJQb3NpdGlvbkZpIiwiaGFuZGxlR2V0VXNlclBvc2l0aW9uRmlsdGVyIiwicG9zaXRpb25Mb2FkaW5nIiwicG9zaXRpb25FcnJvciIsInBvc2l0aW9uRGF0YSIsImRhdGEiLCJoYXNGZXRjaGVkUG9zaXRpb25zIiwiY3VycmVudCIsImxlbmd0aCIsInVzZXJQb3NpdGlvbnNGaWx0ZXIiLCJtYXBwZWRQb3NpdGlvbnMiLCJtYXAiLCJwb3NpdGlvbiIsImlkIiwibGFiZWwiLCJuYW1lIiwiY2F0ZWdvcnlOYW1lIiwiaGFuZGxlQ2hhbmdlUGFnZSIsInBhZ2UiLCJncm91cEJ5U2VjdGlvbnMiLCJ0aXRsZSIsImhhbmRsZUNoYW5nZVNlY3Rpb24iLCJwcm9wIiwiaGFuZGxlU2hvd01vZGFsRWRpdFVzZXJQb3NpdGlvbiIsImhhbmRsZUNsb3NlTW9kYWxFZGl0VXNlclBvc2l0aW9uIiwiaGFuZGxlRWRpdFBvc2l0aW9uc1N1Y2Nlc3MiLCJoYW5kbGVHb1RvSW1wb3J0Iiwid2luZG93IiwibG9jYXRpb24iLCJocmVmIiwiaGFuZGxlR29Ub0NyZWF0ZSIsImNoaWxkcmVuIiwic3R5bGUiLCJkaXNwbGF5IiwiZmxleERpcmVjdGlvbiIsImdhcCIsIndpZHRoIiwiaGVpZ2h0IiwicGFkZGluZ1RvcCIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsInRvcCIsImJhY2tncm91bmRDb2xvciIsInpJbmRleCIsInBhZGRpbmciLCJzZWN0aW9ucyIsInNlY3Rpb25TZWxlY3RlZElkIiwiZ3JvdXBCeVRpdGxlIiwid2l0aFRpdGxlIiwid2l0aE1pbkhlaWdodCIsInZhcmlhbnQiLCJzaXplIiwib25DbGljayIsInBsYWNlbWVudCIsImljb25Pbmx5IiwiY29sb3IiLCJoYXNVc2VycyIsImhhbmRsZUNsb3NlTW9kYWwiLCJvbkVkaXRTdWNjZXNzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRhaW5lci9NYWluVmlldy9NYWluVXNlcnNWaWV3LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtZW1vLCB1c2VTdGF0ZSwgdXNlUmVmLCB1c2VFZmZlY3QsIHVzZUNhbGxiYWNrLCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBHcm91cEJ5QnV0dG9uIH0gZnJvbSAnQHByb2plY3Rjb3IvZ3JvdXAtYnktYnV0dG9uL2xpYi9jb21wb25lbnRzL0dyb3VwQnlCdXR0b24nXG5pbXBvcnQgeyBDVUJ1dHRvbiB9IGZyb20gJ0Bwcm9qZWN0Y29yL2J1dHRvbi9saWIvY29tcG9uZW50cy9DVUJ1dHRvbidcbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tICdAcHJvamVjdGNvci90b29sdGlwdjIvbGliL2NvbXBvbmVudHMvVG9vbHRpcCdcbmltcG9ydCB7IEZpbGVVcGxvYWQgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9GaWxlVXBsb2FkJ1xuaW1wb3J0IHsgRmlsdGVyc0NvbnRhaW5lciB9IGZyb20gJy4uL0ZpbHRlcnMvRmlsdGVyc0NvbnRhaW5lcidcbmltcG9ydCB7IHVzZUdldFVzZXJQb3NpdGlvbkZpbHRlciB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZUdldFVzZXJQb3NpdGlvbkZpbHRlcidcbmltcG9ydCB7IHVzZVVzZXJzUXVlcnksIHVzZVVzZXJzRWRpdFBvc2l0aW9ucyB9IGZyb20gJy4uLy4uL2NvbnRleHQvVXNlcnNDb250ZXh0J1xuaW1wb3J0IHsgVGFibGVDb250YWluZXIgfSBmcm9tICcuLi9UYWJsZUNvbnRhaW5lci9UYWJsZUNvbnRhaW5lcidcbmltcG9ydCB7IE1vZGFsRWRpdFVzZXJQb3NpdGlvbiB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvTW9kYWxFZGl0VXNlclBvc2l0aW9uJ1xuXG5leHBvcnQgY29uc3QgTWFpblVzZXJzVmlldyA9IG1lbW8oZnVuY3Rpb24gTWFpblVzZXJzVmlldygpIHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigncGVvcGxlJylcbiAgY29uc3QgeyBoYW5kbGVHZXRVc2VycywgbG9hZGluZywgZXJyb3IsIHVzZXJzLCBoYW5kbGVTZXRQb3NpdGlvbnMsIHBvc2l0aW9ucyB9ID0gdXNlVXNlcnNRdWVyeSgpXG4gIGNvbnN0IHsgaGFuZGxlU2V0SGFzRWRpdFBvc2l0aW9ucywgaGFzRWRpdFBvc2l0aW9ucywgdXNlcnNUb0VkaXRQb3NpdGlvbnMgfSA9IHVzZVVzZXJzRWRpdFBvc2l0aW9ucygpXG4gIGNvbnN0IFtzaG93TW9kYWxFZGl0VXNlclBvc2l0aW9uLCBzZXRTaG93TW9kYWxFZGl0VXNlclBvc2l0aW9uXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCB7XG4gICAgaGFuZGxlR2V0VXNlclBvc2l0aW9uRmlsdGVyLFxuICAgIGxvYWRpbmc6IHBvc2l0aW9uTG9hZGluZyxcbiAgICBlcnJvcjogcG9zaXRpb25FcnJvcixcbiAgICBkYXRhOiBwb3NpdGlvbkRhdGEsXG4gIH0gPSB1c2VHZXRVc2VyUG9zaXRpb25GaWx0ZXIoKVxuICBjb25zdCBoYXNGZXRjaGVkUG9zaXRpb25zID0gdXNlUmVmKGZhbHNlKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFoYXNGZXRjaGVkUG9zaXRpb25zLmN1cnJlbnQgJiYgIXBvc2l0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICBoYXNGZXRjaGVkUG9zaXRpb25zLmN1cnJlbnQgPSB0cnVlXG4gICAgICBoYW5kbGVHZXRVc2VyUG9zaXRpb25GaWx0ZXIoJycpXG4gICAgfVxuICB9LCBbaGFuZGxlR2V0VXNlclBvc2l0aW9uRmlsdGVyLCBwb3NpdGlvbnNdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHBvc2l0aW9uRGF0YT8udXNlclBvc2l0aW9uc0ZpbHRlciAmJiAhcG9zaXRpb25Mb2FkaW5nICYmICFwb3NpdGlvbkVycm9yKSB7XG4gICAgICBjb25zdCBtYXBwZWRQb3NpdGlvbnMgPSBwb3NpdGlvbkRhdGEudXNlclBvc2l0aW9uc0ZpbHRlci5kYXRhLm1hcChwb3NpdGlvbiA9PiAoe1xuICAgICAgICBpZDogcG9zaXRpb24uaWQsXG4gICAgICAgIGxhYmVsOiBwb3NpdGlvbi5uYW1lLFxuICAgICAgICBjYXRlZ29yeU5hbWU6IHBvc2l0aW9uLmNhdGVnb3J5TmFtZSxcbiAgICAgIH0pKVxuICAgICAgaGFuZGxlU2V0UG9zaXRpb25zKG1hcHBlZFBvc2l0aW9ucylcbiAgICB9XG4gIH0sIFtwb3NpdGlvbkRhdGEsIHBvc2l0aW9uTG9hZGluZywgcG9zaXRpb25FcnJvciwgaGFuZGxlU2V0UG9zaXRpb25zXSlcblxuICBjb25zdCBoYW5kbGVDaGFuZ2VQYWdlID0gdXNlQ2FsbGJhY2soXG4gICAgKHBhZ2U6IG51bWJlcikgPT4ge1xuICAgICAgaGFuZGxlR2V0VXNlcnMoeyBwYWdlIH0pXG4gICAgfSxcbiAgICBbaGFuZGxlR2V0VXNlcnNdXG4gIClcblxuICBjb25zdCBncm91cEJ5U2VjdGlvbnMgPSB1c2VNZW1vKFxuICAgICgpID0+IFtcbiAgICAgIHsgaWQ6IDEsIHRpdGxlOiB0KCd1c2Vycy52aWV3JykgfSxcbiAgICAgIHsgaWQ6IDIsIHRpdGxlOiB0KCd1c2Vycy5lZGl0UG9zaXRpb25UaXRsZScpIH0sXG4gICAgXSxcbiAgICBbdF1cbiAgKVxuXG4gIGNvbnN0IGhhbmRsZUNoYW5nZVNlY3Rpb24gPSB1c2VDYWxsYmFjayhcbiAgICAocHJvcDogYW55KSA9PiB7XG4gICAgICBoYW5kbGVTZXRIYXNFZGl0UG9zaXRpb25zKHByb3AuaWQgPT09IDIpXG4gICAgfSxcbiAgICBbaGFuZGxlU2V0SGFzRWRpdFBvc2l0aW9uc11cbiAgKVxuXG4gIGNvbnN0IGhhbmRsZVNob3dNb2RhbEVkaXRVc2VyUG9zaXRpb24gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0U2hvd01vZGFsRWRpdFVzZXJQb3NpdGlvbih0cnVlKVxuICB9LCBbXSlcblxuICBjb25zdCBoYW5kbGVDbG9zZU1vZGFsRWRpdFVzZXJQb3NpdGlvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRTaG93TW9kYWxFZGl0VXNlclBvc2l0aW9uKGZhbHNlKVxuICB9LCBbXSlcblxuICBjb25zdCBoYW5kbGVFZGl0UG9zaXRpb25zU3VjY2VzcyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRTaG93TW9kYWxFZGl0VXNlclBvc2l0aW9uKGZhbHNlKVxuICAgIGhhbmRsZVNldEhhc0VkaXRQb3NpdGlvbnMoZmFsc2UpXG4gIH0sIFtoYW5kbGVTZXRIYXNFZGl0UG9zaXRpb25zXSlcblxuICBjb25zdCBoYW5kbGVHb1RvSW1wb3J0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gJy91c2Vycy9pbXBvcnQnXG4gIH0sIFtdKVxuXG4gIGNvbnN0IGhhbmRsZUdvVG9DcmVhdGUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL3VzZXJzL2NyZWF0ZSdcbiAgfSwgW10pXG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPGRpdlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgICBnYXA6ICcxMHB4JyxcbiAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgICAgIHBhZGRpbmdUb3A6ICcyMHB4JyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBkaXNwbGF5OiB1c2Vycz8ubGVuZ3RoID8gJ2ZsZXgnIDogJ25vbmUnLFxuICAgICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ3NwYWNlLWJldHdlZW4nLFxuICAgICAgICAgICAgcG9zaXRpb246ICdzdGlja3knLFxuICAgICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnd2hpdGUnLFxuICAgICAgICAgICAgekluZGV4OiAyLFxuICAgICAgICAgICAgcGFkZGluZzogJzEwcHgnLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICA8R3JvdXBCeUJ1dHRvblxuICAgICAgICAgICAgc2VjdGlvbnM9e2dyb3VwQnlTZWN0aW9uc31cbiAgICAgICAgICAgIHNlY3Rpb25TZWxlY3RlZElkPXtoYXNFZGl0UG9zaXRpb25zID8gMiA6IDF9XG4gICAgICAgICAgICBoYW5kbGVDaGFuZ2VTZWN0aW9uPXtoYW5kbGVDaGFuZ2VTZWN0aW9ufVxuICAgICAgICAgICAgZ3JvdXBCeVRpdGxlPVwiVmlzdGFcIlxuICAgICAgICAgICAgd2l0aFRpdGxlXG4gICAgICAgICAgICB3aXRoTWluSGVpZ2h0XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7aGFzRWRpdFBvc2l0aW9ucyAmJiB1c2Vyc1RvRWRpdFBvc2l0aW9ucz8ubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgICAgICA8Q1VCdXR0b24gdmFyaWFudD1cIm91dGxpbmVkXCIgc2l6ZT1cInNtYWxsXCIgb25DbGljaz17aGFuZGxlU2hvd01vZGFsRWRpdFVzZXJQb3NpdGlvbn0+XG4gICAgICAgICAgICAgIHt0KCd1c2Vycy5lZGl0UG9zaXRpb25UaXRsZScpfSAoe3VzZXJzVG9FZGl0UG9zaXRpb25zLmxlbmd0aH0pXG4gICAgICAgICAgICA8L0NVQnV0dG9uPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJyxcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnc3RpY2t5JyxcbiAgICAgICAgICAgIHRvcDogNDAsXG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICd3aGl0ZScsXG4gICAgICAgICAgICB6SW5kZXg6IDIsXG4gICAgICAgICAgICBwYWRkaW5nOiAnMTBweCcsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxGaWx0ZXJzQ29udGFpbmVyIGhhbmRsZUdldFVzZXJQb3NpdGlvbkZpbHRlcj17aGFuZGxlR2V0VXNlclBvc2l0aW9uRmlsdGVyfSAvPlxuICAgICAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAnMTBweCcsIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyB9fT5cbiAgICAgICAgICAgIDxUb29sdGlwIHRpdGxlPXt0KCd1c2Vycy5leHBvcnRVc2VycycpfSBwbGFjZW1lbnQ9XCJ0b3BcIiB6SW5kZXg9XCIyMDAyXCI+XG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInIH19PlxuICAgICAgICAgICAgICAgIDxDVUJ1dHRvbiB2YXJpYW50PVwidGV4dFwiIGljb25Pbmx5IHNpemU9XCJzbWFsbFwiIG9uQ2xpY2s9e2hhbmRsZUdvVG9JbXBvcnR9PlxuICAgICAgICAgICAgICAgICAgPEZpbGVVcGxvYWQgd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSBjb2xvcj1cImluaGVyaXRcIiAvPlxuICAgICAgICAgICAgICAgIDwvQ1VCdXR0b24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgPENVQnV0dG9uIHZhcmlhbnQ9XCJjb250YWluZWRcIiBzaXplPVwic21hbGxcIiBvbkNsaWNrPXtoYW5kbGVHb1RvQ3JlYXRlfT5cbiAgICAgICAgICAgICAge3QoJ3VzZXJzLmNyZWF0ZVVzZXInKX1cbiAgICAgICAgICAgIDwvQ1VCdXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8VGFibGVDb250YWluZXJcbiAgICAgICAgICBoYW5kbGVDaGFuZ2VQYWdlPXtoYW5kbGVDaGFuZ2VQYWdlfVxuICAgICAgICAgIGxvYWRpbmc9e2xvYWRpbmd9XG4gICAgICAgICAgZXJyb3I9e2Vycm9yfVxuICAgICAgICAgIGhhc1VzZXJzPXshIXVzZXJzPy5sZW5ndGh9XG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIHtzaG93TW9kYWxFZGl0VXNlclBvc2l0aW9uICYmIChcbiAgICAgICAgPE1vZGFsRWRpdFVzZXJQb3NpdGlvblxuICAgICAgICAgIGhhbmRsZUNsb3NlTW9kYWw9e2hhbmRsZUNsb3NlTW9kYWxFZGl0VXNlclBvc2l0aW9ufVxuICAgICAgICAgIG9uRWRpdFN1Y2Nlc3M9e2hhbmRsZUVkaXRQb3NpdGlvbnNTdWNjZXNzfVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICA8Lz5cbiAgKVxufSlcbiJdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVNBLElBQUksRUFBRUMsUUFBUSxFQUFFQyxNQUFNLEVBQUVDLFNBQVMsRUFBRUMsV0FBVyxFQUFFQyxPQUFPLFFBQVEsT0FBTztBQUMvRSxTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQUM5QyxTQUFTQyxhQUFhLFFBQVEsMERBQTBEO0FBQ3hGLFNBQVNDLFFBQVEsUUFBUSw0Q0FBNEM7QUFDckUsU0FBU0MsT0FBTyxRQUFRLDhDQUE4QztBQUN0RSxTQUFTQyxVQUFVLFFBQVEsNkNBQTZDO0FBQ3hFLFNBQVNDLGdCQUFnQixRQUFRLDZCQUE2QjtBQUM5RCxTQUFTQyx3QkFBd0IsUUFBUSxzQ0FBc0M7QUFDL0UsU0FBU0MsYUFBYSxFQUFFQyxxQkFBcUIsUUFBUSw0QkFBNEI7QUFDakYsU0FBU0MsY0FBYyxRQUFRLGtDQUFrQztBQUNqRSxTQUFTQyxxQkFBcUIsUUFBUSx3Q0FBd0M7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBLEVBQUFDLFFBQUEsSUFBQUMsU0FBQTtBQUU5RSxPQUFPLElBQU1DLGFBQWEsZ0JBQUd2QixJQUFJLENBQUMsU0FBU3VCLGFBQWFBLENBQUEsRUFBRztFQUN6RCxJQUFBQyxlQUFBLEdBQWNsQixjQUFjLENBQUMsUUFBUSxDQUFDO0lBQTlCbUIsQ0FBQyxHQUFBRCxlQUFBLENBQURDLENBQUM7RUFDVCxJQUFBQyxjQUFBLEdBQWlGYixhQUFhLENBQUMsQ0FBQztJQUF4RmMsY0FBYyxHQUFB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
@@ -0,0 +1,117 @@
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 react/require-default-props */
6
+ import { useEffect, memo, useState, Suspense, lazy, useCallback, useRef } from 'react';
7
+ import { useTranslation } from 'react-i18next';
8
+ import { LoaderComponent } from '../../components/Loading/LoadingComponent';
9
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
+ var LazySnackbarComponent = /*#__PURE__*/lazy(function () {
11
+ return import('../../components/Snackbar/Snackbar').then(function (module) {
12
+ return {
13
+ "default": module.SnackbarComponent
14
+ };
15
+ });
16
+ });
17
+ var LazyMainUsersView = /*#__PURE__*/lazy(function () {
18
+ return import('./MainUsersView').then(function (module) {
19
+ return {
20
+ "default": module.MainUsersView
21
+ };
22
+ });
23
+ });
24
+ var MainTeamsView = /*#__PURE__*/memo(function () {
25
+ return /*#__PURE__*/_jsx("div", {
26
+ children: "MainTeamsView"
27
+ });
28
+ });
29
+ export var MainPositionsView = /*#__PURE__*/memo(function () {
30
+ return /*#__PURE__*/_jsx("div", {
31
+ children: "MainPositionsView"
32
+ });
33
+ });
34
+ export var MainLeavesView = /*#__PURE__*/memo(function () {
35
+ return /*#__PURE__*/_jsx("div", {
36
+ children: "MainLeavesView"
37
+ });
38
+ });
39
+
40
+ // TODO: Convertir los componentes de las vistas (MainUsersView, MainTeamsView, MainPositionsView, MainLeavesView) a cargas lazy utilizando React.lazy y Suspense para mejorar el performance
41
+ var ViewByType = {
42
+ users: LazyMainUsersView,
43
+ teams: MainTeamsView,
44
+ positions: MainPositionsView,
45
+ leaves: MainLeavesView
46
+ };
47
+ export var MainView = /*#__PURE__*/memo(function (_ref) {
48
+ var _ref$view = _ref.view,
49
+ view = _ref$view === void 0 ? 'users' : _ref$view;
50
+ var _useTranslation = useTranslation('people'),
51
+ t = _useTranslation.t;
52
+ var View = ViewByType[view];
53
+ var _useState = useState({
54
+ severity: 'error',
55
+ show: false,
56
+ autoHideDuration: 3000,
57
+ message: '',
58
+ hideBackdrop: false
59
+ }),
60
+ _useState2 = _slicedToArray(_useState, 2),
61
+ snackbarProps = _useState2[0],
62
+ setSnabarProps = _useState2[1];
63
+ var messageByTypeRef = useRef({
64
+ updateUserPositions: '',
65
+ unblockUser: '',
66
+ deleteUser: '',
67
+ errorUpdateUserPositions: '',
68
+ errorUnblockUser: '',
69
+ errorDeleteUser: ''
70
+ });
71
+ messageByTypeRef.current = {
72
+ updateUserPositions: t('snackbar.updateUserPositions'),
73
+ unblockUser: t('snackbar.unblockUser'),
74
+ deleteUser: t('snackbar.deleteUser'),
75
+ errorUpdateUserPositions: t('snackbar.errorUpdateUserPositions'),
76
+ errorUnblockUser: t('snackbar.errorUnblockUser'),
77
+ errorDeleteUser: t('snackbar.errorDeleteUser')
78
+ };
79
+ var handleSetSnackbarProps = useCallback(function (event) {
80
+ var _messageByTypeRef$cur;
81
+ var _event$detail = event.detail,
82
+ typeMessage = _event$detail.typeMessage,
83
+ severity = _event$detail.severity,
84
+ show = _event$detail.show;
85
+ var message = (_messageByTypeRef$cur = messageByTypeRef.current[typeMessage]) !== null && _messageByTypeRef$cur !== void 0 ? _messageByTypeRef$cur : '';
86
+ setSnabarProps(function (prev) {
87
+ return _objectSpread(_objectSpread({}, prev), {}, {
88
+ message: message,
89
+ severity: severity,
90
+ show: show
91
+ });
92
+ });
93
+ }, []);
94
+ var handleCloseSnackbar = useCallback(function () {
95
+ setSnabarProps(function (prev) {
96
+ return _objectSpread(_objectSpread({}, prev), {}, {
97
+ show: false
98
+ });
99
+ });
100
+ }, []);
101
+ useEffect(function () {
102
+ var listener = function listener(e) {
103
+ return handleSetSnackbarProps(e);
104
+ };
105
+ window.addEventListener('snackbar', listener);
106
+ return function () {
107
+ return window.removeEventListener('snackbar', listener);
108
+ };
109
+ }, [handleSetSnackbarProps]);
110
+ return /*#__PURE__*/_jsxs(Suspense, {
111
+ fallback: /*#__PURE__*/_jsx(LoaderComponent, {}),
112
+ children: [/*#__PURE__*/_jsx(View, {}), snackbarProps.show && /*#__PURE__*/_jsx(LazySnackbarComponent, _objectSpread(_objectSpread({}, snackbarProps), {}, {
113
+ onClose: handleCloseSnackbar
114
+ }))]
115
+ });
116
+ });
117
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJtZW1vIiwidXNlU3RhdGUiLCJTdXNwZW5zZSIsImxhenkiLCJ1c2VDYWxsYmFjayIsInVzZVJlZiIsInVzZVRyYW5zbGF0aW9uIiwiTG9hZGVyQ29tcG9uZW50IiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkxhenlTbmFja2JhckNvbXBvbmVudCIsInRoZW4iLCJtb2R1bGUiLCJTbmFja2JhckNvbXBvbmVudCIsIkxhenlNYWluVXNlcnNWaWV3IiwiTWFpblVzZXJzVmlldyIsIk1haW5UZWFtc1ZpZXciLCJjaGlsZHJlbiIsIk1haW5Qb3NpdGlvbnNWaWV3IiwiTWFpbkxlYXZlc1ZpZXciLCJWaWV3QnlUeXBlIiwidXNlcnMiLCJ0ZWFtcyIsInBvc2l0aW9ucyIsImxlYXZlcyIsIk1haW5WaWV3IiwiX3JlZiIsIl9yZWYkdmlldyIsInZpZXciLCJfdXNlVHJhbnNsYXRpb24iLCJ0IiwiVmlldyIsIl91c2VTdGF0ZSIsInNldmVyaXR5Iiwic2hvdyIsImF1dG9IaWRlRHVyYXRpb24iLCJtZXNzYWdlIiwiaGlkZUJhY2tkcm9wIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5Iiwic25hY2tiYXJQcm9wcyIsInNldFNuYWJhclByb3BzIiwibWVzc2FnZUJ5VHlwZVJlZiIsInVwZGF0ZVVzZXJQb3NpdGlvbnMiLCJ1bmJsb2NrVXNlciIsImRlbGV0ZVVzZXIiLCJlcnJvclVwZGF0ZVVzZXJQb3NpdGlvbnMiLCJlcnJvclVuYmxvY2tVc2VyIiwiZXJyb3JEZWxldGVVc2VyIiwiY3VycmVudCIsImhhbmRsZVNldFNuYWNrYmFyUHJvcHMiLCJldmVudCIsIl9tZXNzYWdlQnlUeXBlUmVmJGN1ciIsIl9ldmVudCRkZXRhaWwiLCJkZXRhaWwiLCJ0eXBlTWVzc2FnZSIsInByZXYiLCJfb2JqZWN0U3ByZWFkIiwiaGFuZGxlQ2xvc2VTbmFja2JhciIsImxpc3RlbmVyIiwiZSIsIndpbmRvdyIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiZmFsbGJhY2siLCJvbkNsb3NlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRhaW5lci9NYWluVmlldy9NYWluVmlldy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvcmVxdWlyZS1kZWZhdWx0LXByb3BzICovXG5pbXBvcnQgeyB1c2VFZmZlY3QsIG1lbW8sIHVzZVN0YXRlLCBTdXNwZW5zZSwgbGF6eSwgdXNlQ2FsbGJhY2ssIHVzZVJlZiB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgVmlld1R5cGUgfSBmcm9tICcuLi8uLi90eXBlcy91c2VyVHlwZSdcbmltcG9ydCB7IExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvTG9hZGluZy9Mb2FkaW5nQ29tcG9uZW50J1xuXG5jb25zdCBMYXp5U25hY2tiYXJDb21wb25lbnQgPSBsYXp5KCgpID0+XG4gIGltcG9ydCgnLi4vLi4vY29tcG9uZW50cy9TbmFja2Jhci9TbmFja2JhcicpLnRoZW4obW9kdWxlID0+ICh7IGRlZmF1bHQ6IG1vZHVsZS5TbmFja2JhckNvbXBvbmVudCB9KSlcbilcblxuY29uc3QgTGF6eU1haW5Vc2Vyc1ZpZXcgPSBsYXp5KCgpID0+IGltcG9ydCgnLi9NYWluVXNlcnNWaWV3JykudGhlbihtb2R1bGUgPT4gKHsgZGVmYXVsdDogbW9kdWxlLk1haW5Vc2Vyc1ZpZXcgfSkpKVxuXG5jb25zdCBNYWluVGVhbXNWaWV3ID0gbWVtbygoKSA9PiB7XG4gIHJldHVybiA8ZGl2Pk1haW5UZWFtc1ZpZXc8L2Rpdj5cbn0pXG5cbmV4cG9ydCBjb25zdCBNYWluUG9zaXRpb25zVmlldyA9IG1lbW8oKCkgPT4ge1xuICByZXR1cm4gPGRpdj5NYWluUG9zaXRpb25zVmlldzwvZGl2PlxufSlcblxuZXhwb3J0IGNvbnN0IE1haW5MZWF2ZXNWaWV3ID0gbWVtbygoKSA9PiB7XG4gIHJldHVybiA8ZGl2Pk1haW5MZWF2ZXNWaWV3PC9kaXY+XG59KVxuXG4vLyBUT0RPOiBDb252ZXJ0aXIgbG9zIGNvbXBvbmVudGVzIGRlIGxhcyB2aXN0YXMgKE1haW5Vc2Vyc1ZpZXcsIE1haW5UZWFtc1ZpZXcsIE1haW5Qb3NpdGlvbnNWaWV3LCBNYWluTGVhdmVzVmlldykgYSBjYXJnYXMgbGF6eSB1dGlsaXphbmRvIFJlYWN0LmxhenkgeSBTdXNwZW5zZSBwYXJhIG1lam9yYXIgZWwgcGVyZm9ybWFuY2VcbmNvbnN0IFZpZXdCeVR5cGUgPSB7XG4gIHVzZXJzOiBMYXp5TWFpblVzZXJzVmlldyxcbiAgdGVhbXM6IE1haW5UZWFtc1ZpZXcsXG4gIHBvc2l0aW9uczogTWFpblBvc2l0aW9uc1ZpZXcsXG4gIGxlYXZlczogTWFpbkxlYXZlc1ZpZXcsXG59XG5cbmV4cG9ydCBjb25zdCBNYWluVmlldyA9IG1lbW8oKHsgdmlldyA9ICd1c2VycycgfTogeyB2aWV3PzogVmlld1R5cGUgfSkgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCdwZW9wbGUnKVxuICBjb25zdCBWaWV3ID0gVmlld0J5VHlwZVt2aWV3IGFzIFZpZXdUeXBlXVxuICBjb25zdCBbc25hY2tiYXJQcm9wcywgc2V0U25hYmFyUHJvcHNdID0gdXNlU3RhdGUoe1xuICAgIHNldmVyaXR5OiAnZXJyb3InLFxuICAgIHNob3c6IGZhbHNlLFxuICAgIGF1dG9IaWRlRHVyYXRpb246IDMwMDAsXG4gICAgbWVzc2FnZTogJycsXG4gICAgaGlkZUJhY2tkcm9wOiBmYWxzZSxcbiAgfSlcblxuICBjb25zdCBtZXNzYWdlQnlUeXBlUmVmID0gdXNlUmVmKHtcbiAgICB1cGRhdGVVc2VyUG9zaXRpb25zOiAnJyxcbiAgICB1bmJsb2NrVXNlcjogJycsXG4gICAgZGVsZXRlVXNlcjogJycsXG4gICAgZXJyb3JVcGRhdGVVc2VyUG9zaXRpb25zOiAnJyxcbiAgICBlcnJvclVuYmxvY2tVc2VyOiAnJyxcbiAgICBlcnJvckRlbGV0ZVVzZXI6ICcnLFxuICB9IGFzIFJlY29yZDxzdHJpbmcsIHN0cmluZz4pXG4gIG1lc3NhZ2VCeVR5cGVSZWYuY3VycmVudCA9IHtcbiAgICB1cGRhdGVVc2VyUG9zaXRpb25zOiB0KCdzbmFja2Jhci51cGRhdGVVc2VyUG9zaXRpb25zJyksXG4gICAgdW5ibG9ja1VzZXI6IHQoJ3NuYWNrYmFyLnVuYmxvY2tVc2VyJyksXG4gICAgZGVsZXRlVXNlcjogdCgnc25hY2tiYXIuZGVsZXRlVXNlcicpLFxuICAgIGVycm9yVXBkYXRlVXNlclBvc2l0aW9uczogdCgnc25hY2tiYXIuZXJyb3JVcGRhdGVVc2VyUG9zaXRpb25zJyksXG4gICAgZXJyb3JVbmJsb2NrVXNlcjogdCgnc25hY2tiYXIuZXJyb3JVbmJsb2NrVXNlcicpLFxuICAgIGVycm9yRGVsZXRlVXNlcjogdCgnc25hY2tiYXIuZXJyb3JEZWxldGVVc2VyJyksXG4gIH1cblxuICBjb25zdCBoYW5kbGVTZXRTbmFja2JhclByb3BzID0gdXNlQ2FsbGJhY2soXG4gICAgKGV2ZW50OiBDdXN0b21FdmVudDx7IHR5cGVNZXNzYWdlOiBzdHJpbmc7IHNldmVyaXR5OiBzdHJpbmc7IHNob3c6IGJvb2xlYW4gfT4pID0+IHtcbiAgICAgIGNvbnN0IHsgdHlwZU1lc3NhZ2UsIHNldmVyaXR5LCBzaG93IH0gPSBldmVudC5kZXRhaWxcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBtZXNzYWdlQnlUeXBlUmVmLmN1cnJlbnRbdHlwZU1lc3NhZ2VdID8/ICcnXG4gICAgICBzZXRTbmFiYXJQcm9wcyhwcmV2ID0+ICh7XG4gICAgICAgIC4uLnByZXYsXG4gICAgICAgIG1lc3NhZ2UsXG4gICAgICAgIHNldmVyaXR5LFxuICAgICAgICBzaG93LFxuICAgICAgfSkpXG4gICAgfSxcbiAgICBbXVxuICApXG5cbiAgY29uc3QgaGFuZGxlQ2xvc2VTbmFja2JhciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRTbmFiYXJQcm9wcyhwcmV2ID0+ICh7IC4uLnByZXYsIHNob3c6IGZhbHNlIH0pKVxuICB9LCBbXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGxpc3RlbmVyID0gKGU6IEV2ZW50KSA9PlxuICAgICAgaGFuZGxlU2V0U25hY2tiYXJQcm9wcyhlIGFzIEN1c3RvbUV2ZW50PHsgdHlwZU1lc3NhZ2U6IHN0cmluZzsgc2V2ZXJpdHk6IHN0cmluZzsgc2hvdzogYm9vbGVhbiB9PilcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc25hY2tiYXInLCBsaXN0ZW5lcilcbiAgICByZXR1cm4gKCkgPT4gd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3NuYWNrYmFyJywgbGlzdGVuZXIpXG4gIH0sIFtoYW5kbGVTZXRTbmFja2JhclByb3BzXSlcblxuICByZXR1cm4gKFxuICAgIDxTdXNwZW5zZSBmYWxsYmFjaz17PExvYWRlckNvbXBvbmVudCAvPn0+XG4gICAgICA8VmlldyAvPlxuICAgICAge3NuYWNrYmFyUHJvcHMuc2hvdyAmJiA8TGF6eVNuYWNrYmFyQ29tcG9uZW50IHsuLi5zbmFja2JhclByb3BzfSBvbkNsb3NlPXtoYW5kbGVDbG9zZVNuYWNrYmFyfSAvPn1cbiAgICA8L1N1c3BlbnNlPlxuICApXG59KVxuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQSxTQUFTQSxTQUFTLEVBQUVDLElBQUksRUFBRUMsUUFBUSxFQUFFQyxRQUFRLEVBQUVDLElBQUksRUFBRUMsV0FBVyxFQUFFQyxNQUFNLFFBQVEsT0FBTztBQUN0RixTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQUU5QyxTQUFTQyxlQUFlLFFBQVEsMkNBQTJDO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLElBQUEsSUFBQUMsS0FBQTtBQUUzRSxJQUFNQyxxQkFBcUIsZ0JBQUdULElBQUksQ0FBQztFQUFBLE9BQ2pDLE1BQU0sQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDVSxJQUFJLENBQUMsVUFBQUMsTUFBTTtJQUFBLE9BQUs7TUFBRSxX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QUFBb0IsYUFBQSxDQUFScEIsUUFBUTtNQUFFQyxJQUFJLEdBQUFtQixhQUFBLENBQUpuQixJQUFJO0lBQ25DLElBQU1FLE9BQU8sSUFBQWdCLHFCQUFBLEdBQUdWLGdCQUFnQixDQUFDTyxPQUFPLENBQUNNLFdBQVcsQ0FBQyxjQUFBSCxxQkFBQSxjQUFBQSxxQkFBQSxHQUFJLEVBQUU7SUFDM0RYLGNBQWMsQ0FBQyxVQUFBZSxJQUFJO01BQUEsT0FBQUMsYUFBQSxDQUFBQSxhQUFBLEtBQ2RELElBQUk7UUFDUHBCLE9BQU8sRUFBUEEsT0FBTztRQUNQSCxRQUFRLEVBQVJBLFFBQVE7UUFDUkMsSUFBSSxFQUFKQTtNQUFJO0lBQUEsQ0FDSixDQUFDO0VBQ0wsQ0FBQyxFQUNELEVBQ0YsQ0FBQztFQUVELElBQU13QixtQkFBbUIsR0FBR3hELFdBQVcsQ0FBQyxZQUFNO0lBQzVDdUMsY0FBYyxDQUFDLFVBQUFlLElBQUk7TUFBQSxPQUFBQyxhQUFBLENBQUFBLGFBQUEsS0FBVUQsSUFBSTtRQUFFdEIsSUFBSSxFQUFFO01BQUs7SUFBQSxDQUFHLENBQUM7RUFDcEQsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUVOckMsU0FBUyxDQUFDLFlBQU07SUFDZCxJQUFNOEQsUUFBUSxHQUFHLFNBQVhBLFFBQVFBLENBQUlDLENBQVE7TUFBQSxPQUN4QlYsc0JBQXNCLENBQUNVLENBQTBFLENBQUM7SUFBQTtJQUNwR0MsTUFBTSxDQUFDQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUVILFFBQVEsQ0FBQztJQUM3QyxPQUFPO01BQUEsT0FBTUUsTUFBTSxDQUFDRSxtQkFBbUIsQ0FBQyxVQUFVLEVBQUVKLFFBQVEsQ0FBQztJQUFBO0VBQy9ELENBQUMsRUFBRSxDQUFDVCxzQkFBc0IsQ0FBQyxDQUFDO0VBRTVCLG9CQUNFekMsS0FBQSxDQUFDVCxRQUFRO0lBQUNnRSxRQUFRLGVBQUV6RCxJQUFBLENBQUNGLGVBQWUsSUFBRSxDQUFFO0lBQUFZLFFBQUEsZ0JBQ3RDVixJQUFBLENBQUN3QixJQUFJLElBQUUsQ0FBQyxFQUNQUyxhQUFhLENBQUNOLElBQUksaUJBQUkzQixJQUFBLENBQUNHLHFCQUFxQixFQUFBK0MsYUFBQSxDQUFBQSxhQUFBLEtBQUtqQixhQUFhO01BQUV5QixPQUFPLEVBQUVQO0lBQW9CLEVBQUUsQ0FBQztFQUFBLENBQ3pGLENBQUM7QUFFZixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,145 @@
1
+ import { CUButton } from '@projectcor/button/lib/components/CUButton';
2
+ import { ChevronLeft } from '@projectcor/icons/lib/components/ChevronLeft';
3
+ import { ChevronDoubleLeft } from '@projectcor/icons/lib/components/ChevronDoubleLeft';
4
+ import { ChevronRight } from '@projectcor/icons/lib/components/ChevronRight';
5
+ import { useUsersQuery } from '../../context/UsersContext';
6
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+ export var PaginationContainer = function PaginationContainer(_ref) {
8
+ var handleChangePage = _ref.handleChangePage;
9
+ var _useUsersQuery = useUsersQuery(),
10
+ currentPage = _useUsersQuery.currentPage,
11
+ totalPages = _useUsersQuery.totalPages;
12
+ var handleClickPrevious = function handleClickPrevious() {
13
+ if (totalPages === 1 || currentPage === 1) return;
14
+ handleChangePage(currentPage - 1);
15
+ };
16
+ var handleClickNext = function handleClickNext() {
17
+ if (currentPage >= totalPages) return;
18
+ handleChangePage(currentPage + 1);
19
+ };
20
+ var handleLastPage = function handleLastPage() {
21
+ handleChangePage(totalPages);
22
+ };
23
+ var handleFirstPage = function handleFirstPage() {
24
+ handleChangePage(1);
25
+ };
26
+ return /*#__PURE__*/_jsx("div", {
27
+ style: {
28
+ display: 'flex',
29
+ justifyContent: 'center',
30
+ alignItems: 'center',
31
+ padding: '10px'
32
+ },
33
+ children: /*#__PURE__*/_jsxs("div", {
34
+ style: {
35
+ display: 'flex',
36
+ alignItems: 'center',
37
+ justifyContent: 'center',
38
+ gap: '10px'
39
+ },
40
+ children: [/*#__PURE__*/_jsxs("div", {
41
+ style: {
42
+ display: 'flex',
43
+ alignItems: 'center',
44
+ justifyContent: 'center'
45
+ },
46
+ children: [/*#__PURE__*/_jsx("div", {
47
+ style: {
48
+ display: 'flex',
49
+ alignItems: 'center',
50
+ justifyContent: 'center'
51
+ },
52
+ children: /*#__PURE__*/_jsx(CUButton, {
53
+ variant: "text",
54
+ iconOnly: true,
55
+ size: "small",
56
+ onClick: handleFirstPage,
57
+ disabled: currentPage === 1,
58
+ children: /*#__PURE__*/_jsx(ChevronDoubleLeft, {
59
+ width: 20,
60
+ height: 20,
61
+ color: "inherit"
62
+ })
63
+ })
64
+ }), /*#__PURE__*/_jsx("div", {
65
+ style: {
66
+ display: 'flex',
67
+ alignItems: 'center',
68
+ justifyContent: 'center'
69
+ },
70
+ children: /*#__PURE__*/_jsx(CUButton, {
71
+ variant: "text",
72
+ iconOnly: true,
73
+ size: "small",
74
+ onClick: handleClickPrevious,
75
+ disabled: currentPage === 1,
76
+ children: /*#__PURE__*/_jsx(ChevronLeft, {
77
+ width: 20,
78
+ height: 20,
79
+ color: "inherit"
80
+ })
81
+ })
82
+ })]
83
+ }), /*#__PURE__*/_jsxs("div", {
84
+ style: {
85
+ display: 'flex',
86
+ alignItems: 'center',
87
+ justifyContent: 'center'
88
+ },
89
+ children: [currentPage, " de ", totalPages || currentPage]
90
+ }), /*#__PURE__*/_jsxs("div", {
91
+ style: {
92
+ display: 'flex',
93
+ alignItems: 'center',
94
+ justifyContent: 'center'
95
+ },
96
+ children: [/*#__PURE__*/_jsx("div", {
97
+ style: {
98
+ display: 'flex',
99
+ alignItems: 'center',
100
+ justifyContent: 'center'
101
+ },
102
+ children: /*#__PURE__*/_jsx(CUButton, {
103
+ variant: "text",
104
+ iconOnly: true,
105
+ size: "small",
106
+ onClick: handleClickNext,
107
+ disabled: currentPage >= totalPages,
108
+ children: /*#__PURE__*/_jsx(ChevronRight, {
109
+ width: 20,
110
+ height: 20,
111
+ color: "inherit"
112
+ })
113
+ })
114
+ }), /*#__PURE__*/_jsx("div", {
115
+ style: {
116
+ display: 'flex',
117
+ alignItems: 'center',
118
+ justifyContent: 'center'
119
+ },
120
+ children: /*#__PURE__*/_jsx(CUButton, {
121
+ variant: "text",
122
+ iconOnly: true,
123
+ size: "small",
124
+ onClick: handleLastPage,
125
+ disabled: currentPage >= totalPages,
126
+ children: /*#__PURE__*/_jsx("div", {
127
+ style: {
128
+ display: 'flex',
129
+ alignItems: 'center',
130
+ justifyContent: 'center',
131
+ rotate: '180deg'
132
+ },
133
+ children: /*#__PURE__*/_jsx(ChevronDoubleLeft, {
134
+ width: 20,
135
+ height: 20,
136
+ color: "inherit"
137
+ })
138
+ })
139
+ })
140
+ })]
141
+ })]
142
+ })
143
+ });
144
+ };
145
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDVUJ1dHRvbiIsIkNoZXZyb25MZWZ0IiwiQ2hldnJvbkRvdWJsZUxlZnQiLCJDaGV2cm9uUmlnaHQiLCJ1c2VVc2Vyc1F1ZXJ5IiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIlBhZ2luYXRpb25Db250YWluZXIiLCJfcmVmIiwiaGFuZGxlQ2hhbmdlUGFnZSIsIl91c2VVc2Vyc1F1ZXJ5IiwiY3VycmVudFBhZ2UiLCJ0b3RhbFBhZ2VzIiwiaGFuZGxlQ2xpY2tQcmV2aW91cyIsImhhbmRsZUNsaWNrTmV4dCIsImhhbmRsZUxhc3RQYWdlIiwiaGFuZGxlRmlyc3RQYWdlIiwic3R5bGUiLCJkaXNwbGF5IiwianVzdGlmeUNvbnRlbnQiLCJhbGlnbkl0ZW1zIiwicGFkZGluZyIsImNoaWxkcmVuIiwiZ2FwIiwidmFyaWFudCIsImljb25Pbmx5Iiwic2l6ZSIsIm9uQ2xpY2siLCJkaXNhYmxlZCIsIndpZHRoIiwiaGVpZ2h0IiwiY29sb3IiLCJyb3RhdGUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGFpbmVyL1BhZ2luYXRpb24vUGFnaW5hdGlvbkNvbnRhaW5lci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ1VCdXR0b24gfSBmcm9tICdAcHJvamVjdGNvci9idXR0b24vbGliL2NvbXBvbmVudHMvQ1VCdXR0b24nXG5pbXBvcnQgeyBDaGV2cm9uTGVmdCB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0NoZXZyb25MZWZ0J1xuaW1wb3J0IHsgQ2hldnJvbkRvdWJsZUxlZnQgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9DaGV2cm9uRG91YmxlTGVmdCdcbmltcG9ydCB7IENoZXZyb25SaWdodCB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0NoZXZyb25SaWdodCdcbmltcG9ydCB7IHVzZVVzZXJzUXVlcnkgfSBmcm9tICcuLi8uLi9jb250ZXh0L1VzZXJzQ29udGV4dCdcblxuZXhwb3J0IGNvbnN0IFBhZ2luYXRpb25Db250YWluZXIgPSAoeyBoYW5kbGVDaGFuZ2VQYWdlIH06IHsgaGFuZGxlQ2hhbmdlUGFnZTogKHBhZ2U6IG51bWJlcikgPT4gdm9pZCB9KSA9PiB7XG4gIGNvbnN0IHsgY3VycmVudFBhZ2UsIHRvdGFsUGFnZXMgfSA9IHVzZVVzZXJzUXVlcnkoKVxuXG4gIGNvbnN0IGhhbmRsZUNsaWNrUHJldmlvdXMgPSAoKSA9PiB7XG4gICAgaWYgKHRvdGFsUGFnZXMgPT09IDEgfHwgY3VycmVudFBhZ2UgPT09IDEpIHJldHVyblxuICAgIGhhbmRsZUNoYW5nZVBhZ2UoY3VycmVudFBhZ2UgLSAxKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlQ2xpY2tOZXh0ID0gKCkgPT4ge1xuICAgIGlmIChjdXJyZW50UGFnZSA+PSB0b3RhbFBhZ2VzKSByZXR1cm5cbiAgICBoYW5kbGVDaGFuZ2VQYWdlKGN1cnJlbnRQYWdlICsgMSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUxhc3RQYWdlID0gKCkgPT4ge1xuICAgIGhhbmRsZUNoYW5nZVBhZ2UodG90YWxQYWdlcylcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUZpcnN0UGFnZSA9ICgpID0+IHtcbiAgICBoYW5kbGVDaGFuZ2VQYWdlKDEpXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBwYWRkaW5nOiAnMTBweCcgfX0+XG4gICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJywgZ2FwOiAnMTBweCcgfX0+XG4gICAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInIH19PlxuICAgICAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInIH19PlxuICAgICAgICAgICAgPENVQnV0dG9uIHZhcmlhbnQ9XCJ0ZXh0XCIgaWNvbk9ubHkgc2l6ZT1cInNtYWxsXCIgb25DbGljaz17aGFuZGxlRmlyc3RQYWdlfSBkaXNhYmxlZD17Y3VycmVudFBhZ2UgPT09IDF9PlxuICAgICAgICAgICAgICA8Q2hldnJvbkRvdWJsZUxlZnQgd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSBjb2xvcj1cImluaGVyaXRcIiAvPlxuICAgICAgICAgICAgPC9DVUJ1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyB9fT5cbiAgICAgICAgICAgIDxDVUJ1dHRvbiB2YXJpYW50PVwidGV4dFwiIGljb25Pbmx5IHNpemU9XCJzbWFsbFwiIG9uQ2xpY2s9e2hhbmRsZUNsaWNrUHJldmlvdXN9IGRpc2FibGVkPXtjdXJyZW50UGFnZSA9PT0gMX0+XG4gICAgICAgICAgICAgIDxDaGV2cm9uTGVmdCB3aWR0aD17MjB9IGhlaWdodD17MjB9IGNvbG9yPVwiaW5oZXJpdFwiIC8+XG4gICAgICAgICAgICA8L0NVQnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicgfX0+XG4gICAgICAgICAge2N1cnJlbnRQYWdlfSBkZSB7dG90YWxQYWdlcyB8fCBjdXJyZW50UGFnZX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInIH19PlxuICAgICAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInIH19PlxuICAgICAgICAgICAgPENVQnV0dG9uXG4gICAgICAgICAgICAgIHZhcmlhbnQ9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgaWNvbk9ubHlcbiAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlQ2xpY2tOZXh0fVxuICAgICAgICAgICAgICBkaXNhYmxlZD17Y3VycmVudFBhZ2UgPj0gdG90YWxQYWdlc31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPENoZXZyb25SaWdodCB3aWR0aD17MjB9IGhlaWdodD17MjB9IGNvbG9yPVwiaW5oZXJpdFwiIC8+XG4gICAgICAgICAgICA8L0NVQnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInIH19PlxuICAgICAgICAgICAgPENVQnV0dG9uXG4gICAgICAgICAgICAgIHZhcmlhbnQ9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgaWNvbk9ubHlcbiAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlTGFzdFBhZ2V9XG4gICAgICAgICAgICAgIGRpc2FibGVkPXtjdXJyZW50UGFnZSA+PSB0b3RhbFBhZ2VzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJywgcm90YXRlOiAnMTgwZGVnJyB9fT5cbiAgICAgICAgICAgICAgICA8Q2hldnJvbkRvdWJsZUxlZnQgd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSBjb2xvcj1cImluaGVyaXRcIiAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvQ1VCdXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsUUFBUSxRQUFRLDRDQUE0QztBQUNyRSxTQUFTQyxXQUFXLFFBQVEsOENBQThDO0FBQzFFLFNBQVNDLGlCQUFpQixRQUFRLG9EQUFvRDtBQUN0RixTQUFTQyxZQUFZLFFBQVEsK0NBQStDO0FBQzVFLFNBQVNDLGFBQWEsUUFBUSw0QkFBNEI7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBO0FBRTFELE9BQU8sSUFBTUMsbUJBQW1CLEdBQUcsU0FBdEJBLG1CQUFtQkEsQ0FBQUMsSUFBQSxFQUEyRTtFQUFBLElBQXJFQyxnQkFBZ0IsR0FBQUQsSUFBQSxDQUFoQkMsZ0JBQWdCO0VBQ3BELElBQUFDLGNBQUEsR0FBb0NSLGFBQWEsQ0FBQyxDQUFDO0lBQTNDUyxXQUFXLEdBQUFELGNBQUEsQ0FBWEMsV0FBVztJQUFFQyxVQUFVLEdBQUFGLGNBQUEsQ0FBVkUsVUFBVTtFQUUvQixJQUFNQyxtQkFBbUIsR0FBRyxTQUF0QkEsbUJBQW1CQSxDQUFBLEVBQVM7SUFDaEMsSUFBSUQsVUFBVSxLQUFLLENBQUMsSUFBSUQsV0FBVyxLQUFLLENBQUMsRUFBRTtJQUMzQ0YsZ0JBQWdCLENBQUNFLFdBQVcsR0FBRyxDQUFDLENBQUM7RUFDbkMsQ0FBQztFQUVELElBQU1HLGVBQWUsR0FBRyxTQUFsQkEsZUFBZUEsQ0FBQSxFQUFTO0lBQzVCLElBQUlILFdBQVcsSUFBSUMsVUFBVSxFQUFFO0lBQy9CSCxnQkFBZ0IsQ0FBQ0UsV0FBVyxHQUFHLENBQUMsQ0FBQztFQUNuQyxDQUFDO0VBRUQsSUFBTUksY0FBYyxH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