@bigbinary/neeto-team-members-frontend 5.0.28 → 5.0.30

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 (194) hide show
  1. package/app/javascript/src/translations/ar.json +6 -4
  2. package/app/javascript/src/translations/bg.json +6 -4
  3. package/app/javascript/src/translations/ca.json +8 -6
  4. package/app/javascript/src/translations/cs.json +4 -2
  5. package/app/javascript/src/translations/da.json +4 -2
  6. package/app/javascript/src/translations/de.json +4 -2
  7. package/app/javascript/src/translations/en.json +8 -6
  8. package/app/javascript/src/translations/es-MX.json +8 -6
  9. package/app/javascript/src/translations/es.json +8 -6
  10. package/app/javascript/src/translations/et.json +6 -4
  11. package/app/javascript/src/translations/fi.json +4 -2
  12. package/app/javascript/src/translations/fil.json +9 -7
  13. package/app/javascript/src/translations/fr.json +5 -3
  14. package/app/javascript/src/translations/he.json +5 -3
  15. package/app/javascript/src/translations/hi.json +7 -5
  16. package/app/javascript/src/translations/hr.json +4 -2
  17. package/app/javascript/src/translations/hu.json +4 -2
  18. package/app/javascript/src/translations/id.json +10 -8
  19. package/app/javascript/src/translations/it.json +8 -6
  20. package/app/javascript/src/translations/ja.json +6 -4
  21. package/app/javascript/src/translations/ko.json +4 -2
  22. package/app/javascript/src/translations/nl.json +7 -5
  23. package/app/javascript/src/translations/pl.json +5 -3
  24. package/app/javascript/src/translations/pt-BR.json +10 -8
  25. package/app/javascript/src/translations/pt.json +10 -8
  26. package/app/javascript/src/translations/ro.json +9 -7
  27. package/app/javascript/src/translations/ru.json +5 -3
  28. package/app/javascript/src/translations/sk.json +6 -4
  29. package/app/javascript/src/translations/sl.json +7 -5
  30. package/app/javascript/src/translations/sv.json +4 -2
  31. package/app/javascript/src/translations/th.json +5 -3
  32. package/app/javascript/src/translations/tr.json +10 -8
  33. package/app/javascript/src/translations/uk.json +7 -5
  34. package/app/javascript/src/translations/vi.json +7 -5
  35. package/app/javascript/src/translations/zh-CN.json +6 -4
  36. package/app/javascript/src/translations/zh-TW.json +5 -3
  37. package/dist/.ready +1 -1
  38. package/dist/ActionBlock-C9Iy0jGZ.js +53 -0
  39. package/dist/ActionBlock-C9Iy0jGZ.js.map +1 -0
  40. package/dist/ActionBlock-jgw1N-As.js +46 -0
  41. package/dist/ActionBlock-jgw1N-As.js.map +1 -0
  42. package/dist/Groups.js +1 -0
  43. package/dist/Groups.js.map +1 -1
  44. package/dist/InviteLinkError-AphtWLhe.js +63 -0
  45. package/dist/InviteLinkError-AphtWLhe.js.map +1 -0
  46. package/dist/InviteLinkError-C6OLGrD0.js +41 -0
  47. package/dist/InviteLinkError-C6OLGrD0.js.map +1 -0
  48. package/dist/ManageMember.js +3 -2
  49. package/dist/ManageMember.js.map +1 -1
  50. package/dist/MembersInvite.js +1 -38
  51. package/dist/MembersInvite.js.map +1 -1
  52. package/dist/Permissions-Bd6kLoPt.js +233 -0
  53. package/dist/Permissions-Bd6kLoPt.js.map +1 -0
  54. package/dist/Permissions-Bn862irP.js +244 -0
  55. package/dist/Permissions-Bn862irP.js.map +1 -0
  56. package/dist/Profile.js +125 -106
  57. package/dist/Profile.js.map +1 -1
  58. package/dist/{ProfileImage-Cpprgo-V.js → ProfileImage-QeSzsfzl.js} +1 -7
  59. package/dist/{ProfileImage-B_gfcE6b.js.map → ProfileImage-QeSzsfzl.js.map} +1 -1
  60. package/dist/{ProfileImage-B_gfcE6b.js → ProfileImage-Ypf3HreX.js} +2 -7
  61. package/dist/{ProfileImage-Cpprgo-V.js.map → ProfileImage-Ypf3HreX.js.map} +1 -1
  62. package/dist/Roles.js +3 -1398
  63. package/dist/Roles.js.map +1 -1
  64. package/dist/RolesRadioGroup-fBmS68cW.js +393 -0
  65. package/dist/RolesRadioGroup-fBmS68cW.js.map +1 -0
  66. package/dist/RolesRadioGroup-tSNC-Wtu.js +352 -0
  67. package/dist/RolesRadioGroup-tSNC-Wtu.js.map +1 -0
  68. package/dist/Select-CshPoN2b.js +119 -0
  69. package/dist/Select-CshPoN2b.js.map +1 -0
  70. package/dist/Select-DZ56UG-l.js +109 -0
  71. package/dist/Select-DZ56UG-l.js.map +1 -0
  72. package/dist/TeamMembers.js +3 -2
  73. package/dist/TeamMembers.js.map +1 -1
  74. package/dist/cjs/Groups.js +1 -0
  75. package/dist/cjs/Groups.js.map +1 -1
  76. package/dist/cjs/ManageMember.js +3 -2
  77. package/dist/cjs/ManageMember.js.map +1 -1
  78. package/dist/cjs/MembersInvite.js +2 -39
  79. package/dist/cjs/MembersInvite.js.map +1 -1
  80. package/dist/cjs/Profile.js +125 -104
  81. package/dist/cjs/Profile.js.map +1 -1
  82. package/dist/cjs/Roles.js +6 -1402
  83. package/dist/cjs/Roles.js.map +1 -1
  84. package/dist/cjs/TeamMembers.js +3 -2
  85. package/dist/cjs/TeamMembers.js.map +1 -1
  86. package/dist/cjs/index.js +6 -2
  87. package/dist/cjs/index.js.map +1 -1
  88. package/dist/cjs/utils.js +3 -512
  89. package/dist/cjs/utils.js.map +1 -1
  90. package/dist/cjs/v2/Groups.js +781 -0
  91. package/dist/cjs/v2/Groups.js.map +1 -0
  92. package/dist/cjs/v2/ManageMember.js +49 -0
  93. package/dist/cjs/v2/ManageMember.js.map +1 -0
  94. package/dist/cjs/v2/MembersDropdown.js +200 -0
  95. package/dist/cjs/v2/MembersDropdown.js.map +1 -0
  96. package/dist/cjs/v2/MembersInvite.js +270 -0
  97. package/dist/cjs/v2/MembersInvite.js.map +1 -0
  98. package/dist/cjs/v2/Permissions.js +19 -0
  99. package/dist/cjs/v2/Permissions.js.map +1 -0
  100. package/dist/cjs/v2/Profile.js +686 -0
  101. package/dist/cjs/v2/Profile.js.map +1 -0
  102. package/dist/cjs/v2/Roles.js +1258 -0
  103. package/dist/cjs/v2/Roles.js.map +1 -0
  104. package/dist/cjs/v2/RolesRadioGroup.js +26 -0
  105. package/dist/cjs/v2/RolesRadioGroup.js.map +1 -0
  106. package/dist/cjs/v2/TeamMembers.js +949 -0
  107. package/dist/cjs/v2/TeamMembers.js.map +1 -0
  108. package/dist/cjs/v2/TeamsAndMembersDropdown.js +438 -0
  109. package/dist/cjs/v2/TeamsAndMembersDropdown.js.map +1 -0
  110. package/dist/cjs/v2/TeamsDropdown.js +112 -0
  111. package/dist/cjs/v2/TeamsDropdown.js.map +1 -0
  112. package/dist/cjs/v2/constants.js +28 -0
  113. package/dist/cjs/v2/constants.js.map +1 -0
  114. package/dist/cjs/v2/hooks.js +33 -0
  115. package/dist/cjs/v2/hooks.js.map +1 -0
  116. package/dist/cjs/v2/utils.js +34 -0
  117. package/dist/cjs/v2/utils.js.map +1 -0
  118. package/dist/constants-B1L6arSR.js +49 -0
  119. package/dist/constants-B1L6arSR.js.map +1 -0
  120. package/dist/constants-CMNbKvoF.js +61 -0
  121. package/dist/constants-CMNbKvoF.js.map +1 -0
  122. package/dist/index-BkEJugj1.js +184 -0
  123. package/dist/index-BkEJugj1.js.map +1 -0
  124. package/dist/index-C6ph58Vg.js +169 -0
  125. package/dist/index-C6ph58Vg.js.map +1 -0
  126. package/dist/{index-C26Vdbk5.js → index-DFFRcH_S.js} +2 -2
  127. package/dist/{index-C26Vdbk5.js.map → index-DFFRcH_S.js.map} +1 -1
  128. package/dist/{index-CeAVMlhg.js → index-DTONHIze.js} +2 -2
  129. package/dist/{index-CeAVMlhg.js.map → index-DTONHIze.js.map} +1 -1
  130. package/dist/index-DeYRFiJy.js +119 -0
  131. package/dist/index-DeYRFiJy.js.map +1 -0
  132. package/dist/index-DgxgaCRt.js +1317 -0
  133. package/dist/index-DgxgaCRt.js.map +1 -0
  134. package/dist/index-DqqXniGT.js +126 -0
  135. package/dist/index-DqqXniGT.js.map +1 -0
  136. package/dist/index-Dus0cbgo.js +1407 -0
  137. package/dist/index-Dus0cbgo.js.map +1 -0
  138. package/dist/index-aJIUa1Bd.js +1342 -0
  139. package/dist/index-aJIUa1Bd.js.map +1 -0
  140. package/dist/index-ureO6U2w.js +1401 -0
  141. package/dist/index-ureO6U2w.js.map +1 -0
  142. package/dist/index.js +6 -2
  143. package/dist/index.js.map +1 -1
  144. package/dist/pluralize-BoSEafiC.js +514 -0
  145. package/dist/pluralize-BoSEafiC.js.map +1 -0
  146. package/dist/pluralize-CFlSRsRn.js +516 -0
  147. package/dist/pluralize-CFlSRsRn.js.map +1 -0
  148. package/dist/queryClient-B-JFya8X.js +16 -0
  149. package/dist/queryClient-B-JFya8X.js.map +1 -0
  150. package/dist/queryClient-BncpekSV.js +14 -0
  151. package/dist/queryClient-BncpekSV.js.map +1 -0
  152. package/dist/useCountries-CQdvJz0R.js +249 -0
  153. package/dist/useCountries-CQdvJz0R.js.map +1 -0
  154. package/dist/useCountries-DePOPtue.js +235 -0
  155. package/dist/useCountries-DePOPtue.js.map +1 -0
  156. package/dist/useTeamsApi-CWp4G7JZ.js +179 -0
  157. package/dist/useTeamsApi-CWp4G7JZ.js.map +1 -0
  158. package/dist/useTeamsApi-Ch5sHR2_.js +197 -0
  159. package/dist/useTeamsApi-Ch5sHR2_.js.map +1 -0
  160. package/dist/utils.js +2 -511
  161. package/dist/utils.js.map +1 -1
  162. package/dist/v2/Groups.js +749 -0
  163. package/dist/v2/Groups.js.map +1 -0
  164. package/dist/v2/ManageMember.js +43 -0
  165. package/dist/v2/ManageMember.js.map +1 -0
  166. package/dist/v2/MembersDropdown.js +193 -0
  167. package/dist/v2/MembersDropdown.js.map +1 -0
  168. package/dist/v2/MembersInvite.js +242 -0
  169. package/dist/v2/MembersInvite.js.map +1 -0
  170. package/dist/v2/Permissions.js +13 -0
  171. package/dist/v2/Permissions.js.map +1 -0
  172. package/dist/v2/Profile.js +656 -0
  173. package/dist/v2/Profile.js.map +1 -0
  174. package/dist/v2/Roles.js +1242 -0
  175. package/dist/v2/Roles.js.map +1 -0
  176. package/dist/v2/RolesRadioGroup.js +20 -0
  177. package/dist/v2/RolesRadioGroup.js.map +1 -0
  178. package/dist/v2/TeamMembers.js +937 -0
  179. package/dist/v2/TeamMembers.js.map +1 -0
  180. package/dist/v2/TeamsAndMembersDropdown.js +430 -0
  181. package/dist/v2/TeamsAndMembersDropdown.js.map +1 -0
  182. package/dist/v2/TeamsDropdown.js +106 -0
  183. package/dist/v2/TeamsDropdown.js.map +1 -0
  184. package/dist/v2/constants.js +21 -0
  185. package/dist/v2/constants.js.map +1 -0
  186. package/dist/v2/hooks.js +29 -0
  187. package/dist/v2/hooks.js.map +1 -0
  188. package/dist/v2/utils.js +30 -0
  189. package/dist/v2/utils.js.map +1 -0
  190. package/dist/withReactQuery-CSuiy5RK.js +20 -0
  191. package/dist/withReactQuery-CSuiy5RK.js.map +1 -0
  192. package/dist/withReactQuery-DvSkXhEx.js +26 -0
  193. package/dist/withReactQuery-DvSkXhEx.js.map +1 -0
  194. package/package.json +31 -17
@@ -0,0 +1,749 @@
1
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
2
+ import { useState, createElement, useMemo, useEffect } from 'react';
3
+ import { Spinner, Avatar, Typography, Alert, Button, Sheet, Tooltip, DataTable, Empty } from '@bigbinary/neeto-atoms';
4
+ import { noop, isPresent, findById, isNotEmpty } from '@bigbinary/neeto-cist';
5
+ import { taxonomies } from '@bigbinary/neeto-commons-frontend/initializers';
6
+ import { useMutationWithInvalidation, withT, useQueryParams } from '@bigbinary/neeto-commons-frontend/react-utils';
7
+ import Container from '@bigbinary/neeto-molecules/v2/Container';
8
+ import NeetoHeader from '@bigbinary/neeto-molecules/v2/Header';
9
+ import { useTranslation, Trans } from 'react-i18next';
10
+ import { B as BASE_URL, Q as QUERY_KEYS, d as DEFAULT_PAGE_PROPERTIES } from '../constants-B1L6arSR.js';
11
+ import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
12
+ import { useQuery } from '@tanstack/react-query';
13
+ import { prop, mergeLeft, isEmpty } from 'ramda';
14
+ import axios from 'axios';
15
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
16
+ import { Input, Textarea } from '@bigbinary/neeto-atoms/formik';
17
+ import { captureAnalyticsEvent } from '@bigbinary/neeto-commons-frontend/utils';
18
+ import { F as FormikActionBlock } from '../ActionBlock-jgw1N-As.js';
19
+ import { b as FormikSelect, a as FormikForm } from '../Select-DZ56UG-l.js';
20
+ import '@babel/runtime/helpers/objectWithoutProperties';
21
+ import { useFormikContext } from 'formik';
22
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
23
+ import { t } from 'i18next';
24
+ import * as yup from 'yup';
25
+ import MoreDropdown from '@bigbinary/neeto-molecules/v2/MoreDropdown';
26
+ import SubHeader from '@bigbinary/neeto-molecules/v2/SubHeader';
27
+ import { pluralizeLabelUsingTaxonomy } from './utils.js';
28
+ import '@bigbinary/neeto-commons-frontend/constants';
29
+ import '../pluralize-BoSEafiC.js';
30
+ import '../_commonjsHelpers-BFTU3MAI.js';
31
+ import '../useTeamsApi-CWp4G7JZ.js';
32
+ import 'qs';
33
+ import '../queryClient-BncpekSV.js';
34
+
35
+ // eslint-disable-next-line @bigbinary/neeto/no-axios-import-outside-apis
36
+ var list$1 = function list(params) {
37
+ return axios.get("".concat(BASE_URL, "/api/v1/groups"), {
38
+ params: params
39
+ });
40
+ };
41
+ var show = function show(id) {
42
+ return axios.get("".concat(BASE_URL, "/api/v1/groups/").concat(id));
43
+ };
44
+ var create = function create(payload) {
45
+ return axios.post("".concat(BASE_URL, "/api/v1/groups"), payload);
46
+ };
47
+ var update = function update(id, payload) {
48
+ return axios.patch("".concat(BASE_URL, "/api/v1/groups/").concat(id), payload);
49
+ };
50
+ var destroy = function destroy(id) {
51
+ return axios["delete"]("".concat(BASE_URL, "/api/v1/groups/").concat(id));
52
+ };
53
+ var groupsApi = {
54
+ create: create,
55
+ list: list$1,
56
+ update: update,
57
+ show: show,
58
+ destroy: destroy
59
+ };
60
+
61
+ var useFetchGroups = function useFetchGroups(_ref) {
62
+ var page = _ref.page,
63
+ pageSize = _ref.pageSize,
64
+ _ref$searchTerm = _ref.searchTerm,
65
+ searchTerm = _ref$searchTerm === void 0 ? "" : _ref$searchTerm;
66
+ return useQuery({
67
+ queryKey: [QUERY_KEYS.GROUPS, searchTerm, page, pageSize],
68
+ queryFn: function queryFn() {
69
+ return groupsApi.list({
70
+ searchTerm: searchTerm,
71
+ page: page,
72
+ pageSize: pageSize,
73
+ loadDetails: true
74
+ });
75
+ }
76
+ });
77
+ };
78
+ var useCreateGroup = function useCreateGroup() {
79
+ var _config$form$otherKey, _config$form;
80
+ var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
81
+ return useMutationWithInvalidation(function (payload) {
82
+ return groupsApi.create(payload);
83
+ }, {
84
+ keysToInvalidate: [[QUERY_KEYS.GROUPS]].concat(_toConsumableArray((_config$form$otherKey = config === null || config === void 0 || (_config$form = config.form) === null || _config$form === void 0 ? void 0 : _config$form.otherKeysToInvalidate) !== null && _config$form$otherKey !== void 0 ? _config$form$otherKey : []))
85
+ });
86
+ };
87
+ var useDeleteGroup = function useDeleteGroup() {
88
+ var _config$form$otherKey2, _config$form2;
89
+ var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
90
+ return useMutationWithInvalidation(function (id) {
91
+ return groupsApi.destroy(id);
92
+ }, {
93
+ keysToInvalidate: [[QUERY_KEYS.GROUPS]].concat(_toConsumableArray((_config$form$otherKey2 = config === null || config === void 0 || (_config$form2 = config.form) === null || _config$form2 === void 0 ? void 0 : _config$form2.otherKeysToInvalidate) !== null && _config$form$otherKey2 !== void 0 ? _config$form$otherKey2 : []))
94
+ });
95
+ };
96
+ var useFetchGroup = function useFetchGroup(id) {
97
+ return useQuery({
98
+ queryKey: [QUERY_KEYS.GROUPS, id],
99
+ queryFn: function queryFn() {
100
+ return groupsApi.show(id);
101
+ },
102
+ select: prop("group"),
103
+ enabled: !!id
104
+ });
105
+ };
106
+ var useUpdateGroup = function useUpdateGroup() {
107
+ var _config$form$otherKey3, _config$form3;
108
+ var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
109
+ return useMutationWithInvalidation(function (_ref2) {
110
+ var id = _ref2.id,
111
+ payload = _ref2.payload;
112
+ return groupsApi.update(id, payload);
113
+ }, {
114
+ keysToInvalidate: [[QUERY_KEYS.GROUPS]].concat(_toConsumableArray((_config$form$otherKey3 = config === null || config === void 0 || (_config$form3 = config.form) === null || _config$form3 === void 0 ? void 0 : _config$form3.otherKeysToInvalidate) !== null && _config$form$otherKey3 !== void 0 ? _config$form$otherKey3 : []))
115
+ });
116
+ };
117
+
118
+ var PaneSpinner = function PaneSpinner() {
119
+ return /*#__PURE__*/jsx("div", {
120
+ className: "flex h-full w-full items-center justify-center",
121
+ children: /*#__PURE__*/jsx(Spinner, {})
122
+ });
123
+ };
124
+
125
+ // eslint-disable-next-line @bigbinary/neeto/no-axios-import-outside-apis
126
+ var list = function list() {
127
+ return axios.get("".concat(BASE_URL, "/api/v1/users"));
128
+ };
129
+ var usersApi = {
130
+ list: list
131
+ };
132
+
133
+ var useFetchUsers = function useFetchUsers() {
134
+ return useQuery({
135
+ queryKey: [QUERY_KEYS.USERS],
136
+ queryFn: usersApi.list
137
+ });
138
+ };
139
+
140
+ var MAXIMUM_NAME_LENGTH = 25;
141
+ var GROUP_FORM_VALIDATION_SCHEMA = yup.object({
142
+ name: yup.string().required(t("neetoTeamMembers.validations.required", {
143
+ what: t("neetoTeamMembers.common.name")
144
+ })).trim(t("neetoTeamMembers.validations.noWhiteSpaces", {
145
+ what: t("neetoTeamMembers.common.name")
146
+ })).max(MAXIMUM_NAME_LENGTH, t("neetoTeamMembers.validations.max", {
147
+ size: MAXIMUM_NAME_LENGTH
148
+ }))
149
+ });
150
+ var GROUP_FORM_INITIAL_VALUES = {
151
+ name: "",
152
+ description: "",
153
+ members: []
154
+ };
155
+ var DEFAULT_DELETE_GROUP_DATA = {
156
+ isDeleting: false,
157
+ group: {}
158
+ };
159
+ var DEFAULT_EDIT_GROUP = {
160
+ isVisible: false,
161
+ groupId: ""
162
+ };
163
+ var EVENTS = {
164
+ GROUP_CREATED: "group_created"
165
+ };
166
+
167
+ var Member = function Member(_ref) {
168
+ var member = _ref.member;
169
+ var _useState = useState(false),
170
+ _useState2 = _slicedToArray(_useState, 2),
171
+ isDeleteAlertOpen = _useState2[0],
172
+ setIsDeleteAlertOpen = _useState2[1];
173
+ var _useTranslation = useTranslation(),
174
+ t = _useTranslation.t;
175
+ var _useFormikContext = useFormikContext(),
176
+ setFieldValue = _useFormikContext.setFieldValue,
177
+ values = _useFormikContext.values;
178
+ var handleRemoveMember = function handleRemoveMember(memberToRemove) {
179
+ setFieldValue("members", values.members.filter(function (id) {
180
+ return id !== memberToRemove.value;
181
+ }));
182
+ setIsDeleteAlertOpen(false);
183
+ };
184
+ return /*#__PURE__*/jsxs(Fragment, {
185
+ children: [/*#__PURE__*/jsxs("div", {
186
+ className: "flex items-center justify-between neeto-ui-rounded-lg border p-2",
187
+ children: [/*#__PURE__*/jsxs("div", {
188
+ className: "flex items-center space-x-2",
189
+ children: [/*#__PURE__*/jsx(Avatar, {
190
+ className: "size-8 shrink-0",
191
+ user: {
192
+ name: member === null || member === void 0 ? void 0 : member.label
193
+ }
194
+ }), /*#__PURE__*/jsxs("div", {
195
+ className: "ms-2 w-auto",
196
+ children: [/*#__PURE__*/jsx(Typography, {
197
+ className: "mb-1 text-sm font-medium capitalize",
198
+ children: member === null || member === void 0 ? void 0 : member.label
199
+ }), /*#__PURE__*/jsx(Typography, {
200
+ className: "text-xs text-muted-foreground",
201
+ children: taxonomies.groupMember.singular
202
+ })]
203
+ })]
204
+ }), /*#__PURE__*/jsx(MoreDropdown, {
205
+ dropdownProps: {
206
+ strategy: "fixed",
207
+ position: "bottom-end"
208
+ },
209
+ menuItems: [{
210
+ key: "delete-menu",
211
+ "data-testid": "member-remove-button",
212
+ label: t("neetoTeamMembers.common.remove"),
213
+ onClick: function onClick() {
214
+ return setIsDeleteAlertOpen(true);
215
+ }
216
+ }]
217
+ })]
218
+ }), /*#__PURE__*/jsx(Alert, {
219
+ cancelButtonLabel: t("neetoTeamMembers.buttons.cancel"),
220
+ isOpen: isDeleteAlertOpen,
221
+ submitButtonLabel: t("neetoTeamMembers.common.remove"),
222
+ message: /*#__PURE__*/jsx(Trans, {
223
+ i18nKey: "neetoTeamMembers.alerts.messages.removeMember",
224
+ values: {
225
+ member: member === null || member === void 0 ? void 0 : member.label
226
+ }
227
+ }),
228
+ title: t("neetoTeamMembers.labels.removeMember", {
229
+ member: member === null || member === void 0 ? void 0 : member.label
230
+ }),
231
+ onClose: function onClose() {
232
+ return setIsDeleteAlertOpen(false);
233
+ },
234
+ onSubmit: function onSubmit() {
235
+ return handleRemoveMember(member);
236
+ }
237
+ })]
238
+ });
239
+ };
240
+
241
+ var Members = function Members(_ref) {
242
+ var _selectedMembers$leng;
243
+ var members = _ref.members,
244
+ membersSelectbox = _ref.membersSelectbox;
245
+ var _useState = useState(false),
246
+ _useState2 = _slicedToArray(_useState, 2),
247
+ isAddNewMemberDropdownVisible = _useState2[0],
248
+ setIsAddNewMemberDropdownVisible = _useState2[1];
249
+ var _useFormikContext = useFormikContext(),
250
+ values = _useFormikContext.values;
251
+ var selectedMembers = members === null || members === void 0 ? void 0 : members.filter(function (member) {
252
+ var _values$members;
253
+ return values === null || values === void 0 || (_values$members = values.members) === null || _values$members === void 0 ? void 0 : _values$members.includes(member.value);
254
+ });
255
+ var _useTranslation = useTranslation(),
256
+ t = _useTranslation.t;
257
+ return /*#__PURE__*/jsxs("div", {
258
+ className: "w-full space-y-4",
259
+ children: [/*#__PURE__*/jsxs(Typography, {
260
+ className: "text-base font-semibold",
261
+ children: [taxonomies.groupMember.plural, " (", (_selectedMembers$leng = selectedMembers === null || selectedMembers === void 0 ? void 0 : selectedMembers.length) !== null && _selectedMembers$leng !== void 0 ? _selectedMembers$leng : 0, ")"]
262
+ }), isAddNewMemberDropdownVisible ? membersSelectbox : /*#__PURE__*/jsx(Button, {
263
+ "data-testid": "new-member-button",
264
+ variant: "outline",
265
+ onClick: function onClick() {
266
+ return setIsAddNewMemberDropdownVisible(true);
267
+ },
268
+ children: t("neetoTeamMembers.common.addNew_", {
269
+ what: taxonomies.groupMember.singular
270
+ })
271
+ }), /*#__PURE__*/jsx("div", {
272
+ className: "w-full space-y-1",
273
+ children: selectedMembers === null || selectedMembers === void 0 ? void 0 : selectedMembers.map(function (member) {
274
+ return /*#__PURE__*/createElement(Member, {
275
+ member: member,
276
+ key: member.value
277
+ });
278
+ })
279
+ })]
280
+ });
281
+ };
282
+
283
+ 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; }
284
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).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; }
285
+ var Form = function Form(_ref) {
286
+ var _group$members$map, _group$members, _config$form$initialV, _config$form, _config$form2, _config$pane;
287
+ var _ref$group = _ref.group,
288
+ group = _ref$group === void 0 ? {} : _ref$group,
289
+ _ref$config = _ref.config,
290
+ config = _ref$config === void 0 ? {} : _ref$config,
291
+ _ref$isEdit = _ref.isEdit,
292
+ isEdit = _ref$isEdit === void 0 ? false : _ref$isEdit,
293
+ _ref$onClose = _ref.onClose,
294
+ onClose = _ref$onClose === void 0 ? noop : _ref$onClose;
295
+ var _useTranslation = useTranslation(),
296
+ t = _useTranslation.t;
297
+ var _useFetchUsers = useFetchUsers(),
298
+ _useFetchUsers$data = _useFetchUsers.data,
299
+ _useFetchUsers$data2 = _useFetchUsers$data === void 0 ? {} : _useFetchUsers$data,
300
+ users = _useFetchUsers$data2.users,
301
+ isLoading = _useFetchUsers.isLoading;
302
+ var _useCreateGroup = useCreateGroup(config),
303
+ create = _useCreateGroup.mutate,
304
+ isCreating = _useCreateGroup.isPending;
305
+ var _useUpdateGroup = useUpdateGroup(config),
306
+ update = _useUpdateGroup.mutate,
307
+ isUpdating = _useUpdateGroup.isPending;
308
+ var initialValues = isEdit ? _objectSpread(_objectSpread({}, group), {}, {
309
+ members: (_group$members$map = (_group$members = group.members) === null || _group$members === void 0 ? void 0 : _group$members.map(function (m) {
310
+ return String(m.id);
311
+ })) !== null && _group$members$map !== void 0 ? _group$members$map : []
312
+ }) : mergeLeft(GROUP_FORM_INITIAL_VALUES, (_config$form$initialV = config === null || config === void 0 || (_config$form = config.form) === null || _config$form === void 0 ? void 0 : _config$form.initialValues) !== null && _config$form$initialV !== void 0 ? _config$form$initialV : {});
313
+ var validationSchema = GROUP_FORM_VALIDATION_SCHEMA.concat(config === null || config === void 0 || (_config$form2 = config.form) === null || _config$form2 === void 0 ? void 0 : _config$form2.validationSchema);
314
+ var memberOptions = useMemo(function () {
315
+ var _users$map;
316
+ return (_users$map = users === null || users === void 0 ? void 0 : users.map(function (u) {
317
+ return {
318
+ label: u.name,
319
+ value: String(u.id)
320
+ };
321
+ })) !== null && _users$map !== void 0 ? _users$map : [];
322
+ }, [users]);
323
+ var handleSubmit = function handleSubmit(values) {
324
+ var _values$members, _config$form3, _config$form3$otherPa;
325
+ var payload = {
326
+ group: mergeLeft({
327
+ name: values.name,
328
+ description: values.description,
329
+ userIds: (_values$members = values.members) !== null && _values$members !== void 0 ? _values$members : []
330
+ }, config === null || config === void 0 || (_config$form3 = config.form) === null || _config$form3 === void 0 || (_config$form3$otherPa = _config$form3.otherPayloadData) === null || _config$form3$otherPa === void 0 ? void 0 : _config$form3$otherPa.call(_config$form3, values))
331
+ };
332
+ if (isEdit) {
333
+ update({
334
+ id: group.id,
335
+ payload: payload
336
+ }, {
337
+ onSuccess: function onSuccess() {
338
+ return onClose();
339
+ }
340
+ });
341
+ } else {
342
+ create(payload, {
343
+ onSuccess: function onSuccess() {
344
+ captureAnalyticsEvent(EVENTS.GROUP_CREATED);
345
+ onClose();
346
+ }
347
+ });
348
+ }
349
+ };
350
+ if (isLoading || config !== null && config !== void 0 && (_config$pane = config.pane) !== null && _config$pane !== void 0 && _config$pane.isLoading) return /*#__PURE__*/jsx(PaneSpinner, {});
351
+ var membersSelect = /*#__PURE__*/jsx(FormikSelect, {
352
+ isMulti: true,
353
+ closeMenuOnSelect: false,
354
+ id: "members-autocomplete",
355
+ label: taxonomies.groupMember.plural,
356
+ name: "members",
357
+ options: memberOptions,
358
+ placeholder: taxonomies.groupMember.plural
359
+ });
360
+ return /*#__PURE__*/jsx(FormikForm, {
361
+ formProps: {
362
+ noValidate: true,
363
+ className: "flex w-full flex-col gap-y-4 pb-6"
364
+ },
365
+ formikProps: {
366
+ enableReinitialize: true,
367
+ initialValues: initialValues,
368
+ validationSchema: validationSchema,
369
+ onSubmit: handleSubmit
370
+ },
371
+ children: function children(_ref2) {
372
+ var _config$form4, _config$form4$otherEl, _config$form5, _config$form5$otherEl;
373
+ var values = _ref2.values;
374
+ return /*#__PURE__*/jsxs(Fragment, {
375
+ children: [/*#__PURE__*/jsx(Input, {
376
+ required: true,
377
+ "data-testid": "group-name-text-field",
378
+ label: t("neetoTeamMembers.common.name"),
379
+ name: "name"
380
+ }), /*#__PURE__*/jsx(Textarea, {
381
+ "data-testid": "group-description-text-area",
382
+ label: t("neetoTeamMembers.common.description"),
383
+ name: "description",
384
+ rows: 4
385
+ }), config === null || config === void 0 || (_config$form4 = config.form) === null || _config$form4 === void 0 || (_config$form4$otherEl = _config$form4.otherElements) === null || _config$form4$otherEl === void 0 ? void 0 : _config$form4$otherEl.call(_config$form4, values), isEdit ? /*#__PURE__*/jsx(Members, {
386
+ members: memberOptions,
387
+ membersSelectbox: membersSelect
388
+ }) : membersSelect, config === null || config === void 0 || (_config$form5 = config.form) === null || _config$form5 === void 0 || (_config$form5$otherEl = _config$form5.otherElementsAtLast) === null || _config$form5$otherEl === void 0 ? void 0 : _config$form5$otherEl.call(_config$form5, values), /*#__PURE__*/jsx(Sheet.Footer, {
389
+ className: "absolute bottom-0 start-0 gap-x-2",
390
+ children: /*#__PURE__*/jsx(FormikActionBlock, {
391
+ cancelButtonProps: {
392
+ onClick: onClose
393
+ },
394
+ isSubmitting: isCreating || isUpdating
395
+ })
396
+ })]
397
+ });
398
+ }
399
+ });
400
+ };
401
+
402
+ var Create = withT(function (_ref) {
403
+ var t = _ref.t,
404
+ config = _ref.config,
405
+ isOpen = _ref.isOpen,
406
+ onClose = _ref.onClose;
407
+ return /*#__PURE__*/jsxs(Sheet, {
408
+ isOpen: isOpen,
409
+ onClose: onClose,
410
+ modal: false,
411
+ children: [/*#__PURE__*/jsx(Sheet.Header, {
412
+ children: /*#__PURE__*/jsx(Sheet.Title, {
413
+ children: t("neetoTeamMembers.common.addNew_", {
414
+ what: taxonomies.group.singular
415
+ })
416
+ })
417
+ }), /*#__PURE__*/jsx(Sheet.Body, {
418
+ hasFooter: false,
419
+ children: /*#__PURE__*/jsx(Form, {
420
+ config: config,
421
+ onClose: onClose
422
+ })
423
+ })]
424
+ });
425
+ });
426
+
427
+ var Edit = function Edit(_ref) {
428
+ var config = _ref.config,
429
+ groupId = _ref.groupId,
430
+ isOpen = _ref.isOpen,
431
+ onClose = _ref.onClose;
432
+ var _useTranslation = useTranslation(),
433
+ t = _useTranslation.t;
434
+ var _useFetchGroup = useFetchGroup(groupId),
435
+ group = _useFetchGroup.data,
436
+ isLoading = _useFetchGroup.isLoading;
437
+ return /*#__PURE__*/jsxs(Sheet, {
438
+ isOpen: isOpen,
439
+ onClose: onClose,
440
+ modal: false,
441
+ children: [/*#__PURE__*/jsx(Sheet.Header, {
442
+ children: /*#__PURE__*/jsx(Sheet.Title, {
443
+ children: t("neetoTeamMembers.common.edit_", {
444
+ what: taxonomies.group.singular
445
+ })
446
+ })
447
+ }), /*#__PURE__*/jsx(Sheet.Body, {
448
+ hasFooter: false,
449
+ children: isLoading ? /*#__PURE__*/jsx("div", {
450
+ className: "flex h-full w-full items-center justify-center",
451
+ children: /*#__PURE__*/jsx(Spinner, {})
452
+ }) : /*#__PURE__*/jsx(Form, {
453
+ config: config,
454
+ group: group,
455
+ onClose: onClose,
456
+ isEdit: true
457
+ })
458
+ })]
459
+ });
460
+ };
461
+
462
+ var renderName = function renderName(_ref) {
463
+ var name = _ref.name,
464
+ group = _ref.group,
465
+ config = _ref.config,
466
+ setEditGroupDetail = _ref.setEditGroupDetail,
467
+ setDeleteGroup = _ref.setDeleteGroup,
468
+ getGroupDetail = _ref.getGroupDetail;
469
+ return /*#__PURE__*/jsxs("div", {
470
+ className: "flex items-center justify-between gap-x-3",
471
+ children: [/*#__PURE__*/jsx(Tooltip, {
472
+ content: name,
473
+ position: "bottom",
474
+ children: /*#__PURE__*/jsx(Typography, {
475
+ className: "truncate text-sm",
476
+ children: name
477
+ })
478
+ }), /*#__PURE__*/jsx(MoreDropdown, {
479
+ dropdownButtonProps: {
480
+ className: "me-1 my-1"
481
+ },
482
+ dropdownProps: {
483
+ strategy: "fixed",
484
+ position: "bottom-end",
485
+ appendTo: function appendTo() {
486
+ return document.body;
487
+ }
488
+ },
489
+ menuItems: [{
490
+ key: "edit-menu",
491
+ label: t("neetoTeamMembers.common.edit"),
492
+ onClick: function onClick() {
493
+ return setEditGroupDetail({
494
+ isVisible: true,
495
+ groupId: group.id
496
+ });
497
+ }
498
+ }, {
499
+ key: "delete-menu",
500
+ label: t("neetoTeamMembers.common.delete"),
501
+ onClick: function onClick() {
502
+ var _config$groupDependen, _config$table, _config$table$onBefor;
503
+ config !== null && config !== void 0 && (_config$groupDependen = config.groupDependency) !== null && _config$groupDependen !== void 0 && _config$groupDependen.isCheckEnabled ? config === null || config === void 0 || (_config$table = config.table) === null || _config$table === void 0 || (_config$table$onBefor = _config$table.onBeforeDelete) === null || _config$table$onBefor === void 0 ? void 0 : _config$table$onBefor.call(_config$table, group) : setDeleteGroup({
504
+ isDeleting: true,
505
+ group: getGroupDetail(group.id)
506
+ });
507
+ }
508
+ }]
509
+ })]
510
+ });
511
+ };
512
+ var getColumnData = function getColumnData(_ref2) {
513
+ var _config$table$columns, _config$table2, _config$table2$column;
514
+ var _ref2$config = _ref2.config,
515
+ config = _ref2$config === void 0 ? {} : _ref2$config,
516
+ setEditGroupDetail = _ref2.setEditGroupDetail,
517
+ setDeleteGroup = _ref2.setDeleteGroup,
518
+ getGroupDetail = _ref2.getGroupDetail;
519
+ return [{
520
+ accessorKey: "name",
521
+ id: "name",
522
+ header: t("neetoTeamMembers.common.name"),
523
+ size: 250,
524
+ cell: function cell(_ref3) {
525
+ var row = _ref3.row;
526
+ return renderName({
527
+ name: row.original.name,
528
+ group: row.original,
529
+ config: config,
530
+ setEditGroupDetail: setEditGroupDetail,
531
+ setDeleteGroup: setDeleteGroup,
532
+ getGroupDetail: getGroupDetail
533
+ });
534
+ }
535
+ }, {
536
+ accessorKey: "description",
537
+ id: "description",
538
+ header: t("neetoTeamMembers.common.description"),
539
+ cell: function cell(_ref4) {
540
+ var getValue = _ref4.getValue;
541
+ return getValue() || "-";
542
+ },
543
+ size: 300
544
+ }].concat(_toConsumableArray((_config$table$columns = config === null || config === void 0 || (_config$table2 = config.table) === null || _config$table2 === void 0 || (_config$table2$column = _config$table2.columnsData) === null || _config$table2$column === void 0 ? void 0 : _config$table2$column.call(_config$table2)) !== null && _config$table$columns !== void 0 ? _config$table$columns : []));
545
+ };
546
+
547
+ var List = function List(_ref) {
548
+ var _config$table$deleteA, _config$table, _config$table$deleteA2;
549
+ var config = _ref.config,
550
+ groups = _ref.groups,
551
+ isLoading = _ref.isLoading,
552
+ searchTerm = _ref.searchTerm,
553
+ pageProperties = _ref.pageProperties,
554
+ setPageProperties = _ref.setPageProperties,
555
+ emptyStateAction = _ref.emptyStateAction;
556
+ var _useState = useState(DEFAULT_EDIT_GROUP),
557
+ _useState2 = _slicedToArray(_useState, 2),
558
+ editGroupDetail = _useState2[0],
559
+ setEditGroupDetail = _useState2[1];
560
+ var _useState3 = useState(DEFAULT_DELETE_GROUP_DATA),
561
+ _useState4 = _slicedToArray(_useState3, 2),
562
+ deleteGroup = _useState4[0],
563
+ setDeleteGroup = _useState4[1];
564
+ var _useTranslation = useTranslation(),
565
+ t = _useTranslation.t;
566
+ var totalCount = groups === null || groups === void 0 ? void 0 : groups.length;
567
+ var _useDeleteGroup = useDeleteGroup(config),
568
+ groupDelete = _useDeleteGroup.mutate,
569
+ isDeleting = _useDeleteGroup.isPending;
570
+ var getGroupDetail = function getGroupDetail(id) {
571
+ return findById(id, groups);
572
+ };
573
+ var handleGroupDelete = function handleGroupDelete(group) {
574
+ groupDelete(group.id, {
575
+ onSuccess: function onSuccess() {
576
+ setDeleteGroup(DEFAULT_DELETE_GROUP_DATA);
577
+ }
578
+ });
579
+ };
580
+ var columnData = getColumnData({
581
+ config: config,
582
+ setEditGroupDetail: setEditGroupDetail,
583
+ setDeleteGroup: setDeleteGroup,
584
+ getGroupDetail: getGroupDetail
585
+ });
586
+ useEffect(function () {
587
+ var _config$groupDependen, _config$groupDependen2, _config$groupDependen3, _config$groupDependen4;
588
+ if (config !== null && config !== void 0 && (_config$groupDependen = config.groupDependency) !== null && _config$groupDependen !== void 0 && _config$groupDependen.isCheckEnabled && ((_config$groupDependen2 = config.groupDependency) === null || _config$groupDependen2 === void 0 ? void 0 : _config$groupDependen2.verificationStatus) === "successful" && !(config !== null && config !== void 0 && (_config$groupDependen3 = config.groupDependency) !== null && _config$groupDependen3 !== void 0 && _config$groupDependen3.isDependent) && isPresent(config === null || config === void 0 || (_config$groupDependen4 = config.groupDependency) === null || _config$groupDependen4 === void 0 ? void 0 : _config$groupDependen4.selectedGroup)) {
589
+ var _config$groupDependen5;
590
+ setDeleteGroup({
591
+ isDeleting: true,
592
+ group: config === null || config === void 0 || (_config$groupDependen5 = config.groupDependency) === null || _config$groupDependen5 === void 0 ? void 0 : _config$groupDependen5.selectedGroup
593
+ });
594
+ }
595
+ }, [config === null || config === void 0 ? void 0 : config.groupDependency]);
596
+ if (isLoading || isDeleting) {
597
+ return /*#__PURE__*/jsx("div", {
598
+ className: "flex h-full w-full items-center justify-center",
599
+ children: /*#__PURE__*/jsx(Spinner, {})
600
+ });
601
+ }
602
+ return /*#__PURE__*/jsxs(Fragment, {
603
+ children: [!isEmpty(groups) ? /*#__PURE__*/jsxs(Fragment, {
604
+ children: [/*#__PURE__*/jsx(SubHeader, {
605
+ className: "mb-4",
606
+ leftActionBlock: totalCount > 0 && /*#__PURE__*/jsx(Typography, {
607
+ className: "me-4 text-base font-semibold",
608
+ "data-testid": "item-count",
609
+ children: pluralizeLabelUsingTaxonomy(taxonomies.group.singular, totalCount)
610
+ })
611
+ }), /*#__PURE__*/jsx("div", {
612
+ children: /*#__PURE__*/jsx(DataTable, {
613
+ totalCount: totalCount,
614
+ fixedHeight: true,
615
+ allowRowClick: false,
616
+ columns: columnData,
617
+ currentPage: pageProperties.index,
618
+ data: groups || [],
619
+ loading: isLoading,
620
+ pageSize: pageProperties.size,
621
+ onPageChange: function onPageChange(index, size) {
622
+ return setPageProperties({
623
+ index: index,
624
+ size: size
625
+ });
626
+ }
627
+ })
628
+ })]
629
+ }) : /*#__PURE__*/jsx("div", {
630
+ className: "flex h-full w-full grow items-center justify-center",
631
+ children: /*#__PURE__*/jsxs(Empty, {
632
+ title: t("neetoTeamMembers.helpers.emptyTable", {
633
+ entity: taxonomies.group.plural
634
+ }),
635
+ children: [!searchTerm && /*#__PURE__*/jsx(Button, {
636
+ onClick: emptyStateAction,
637
+ children: t("neetoTeamMembers.common.addNew_", {
638
+ what: taxonomies.group.singular
639
+ })
640
+ }), (config === null || config === void 0 ? void 0 : config.noDataProps) && null]
641
+ })
642
+ }), /*#__PURE__*/jsx(Edit, {
643
+ config: config,
644
+ groupId: editGroupDetail.groupId,
645
+ isOpen: editGroupDetail.isVisible,
646
+ onClose: function onClose() {
647
+ return setEditGroupDetail(DEFAULT_EDIT_GROUP);
648
+ }
649
+ }), /*#__PURE__*/jsx(Alert, {
650
+ cancelButtonLabel: t("neetoTeamMembers.buttons.cancel"),
651
+ isOpen: deleteGroup.isDeleting,
652
+ submitButtonLabel: t("neetoTeamMembers.common.delete"),
653
+ message: (_config$table$deleteA = config === null || config === void 0 || (_config$table = config.table) === null || _config$table === void 0 || (_config$table$deleteA2 = _config$table.deleteAlertMessage) === null || _config$table$deleteA2 === void 0 ? void 0 : _config$table$deleteA2.call(_config$table, deleteGroup.group)) !== null && _config$table$deleteA !== void 0 ? _config$table$deleteA : /*#__PURE__*/jsx(Trans, {
654
+ i18nKey: "neetoTeamMembers.alerts.messages.delete",
655
+ values: {
656
+ resource: taxonomies.group.singular,
657
+ name: deleteGroup.group.name
658
+ }
659
+ }),
660
+ title: t("neetoTeamMembers.labels.deleteTitle", {
661
+ resource: taxonomies.group.singular
662
+ }),
663
+ onClose: function onClose() {
664
+ return setDeleteGroup(DEFAULT_DELETE_GROUP_DATA);
665
+ },
666
+ onSubmit: function onSubmit() {
667
+ return handleGroupDelete(deleteGroup.group);
668
+ }
669
+ })]
670
+ });
671
+ };
672
+
673
+ var Groups = function Groups(_ref) {
674
+ var _config$header$breadc, _config$header, _config$header$titleH, _config$header2;
675
+ var _ref$config = _ref.config,
676
+ config = _ref$config === void 0 ? {} : _ref$config;
677
+ var _useQueryParams = useQueryParams(),
678
+ _useQueryParams$searc = _useQueryParams.searchTerm,
679
+ searchTerm = _useQueryParams$searc === void 0 ? "" : _useQueryParams$searc;
680
+ var _useState = useState(false),
681
+ _useState2 = _slicedToArray(_useState, 2),
682
+ isPaneOpen = _useState2[0],
683
+ setIsPaneOpen = _useState2[1];
684
+ var _useState3 = useState(DEFAULT_PAGE_PROPERTIES),
685
+ _useState4 = _slicedToArray(_useState3, 2),
686
+ pageProperties = _useState4[0],
687
+ setPageProperties = _useState4[1];
688
+ var _useTranslation = useTranslation(),
689
+ t = _useTranslation.t;
690
+ var _useFetchGroups = useFetchGroups({
691
+ page: pageProperties.index,
692
+ pageSize: pageProperties.size,
693
+ searchTerm: searchTerm
694
+ }),
695
+ _useFetchGroups$data = _useFetchGroups.data,
696
+ _useFetchGroups$data2 = _useFetchGroups$data === void 0 ? {} : _useFetchGroups$data,
697
+ groups = _useFetchGroups$data2.groups,
698
+ isLoading = _useFetchGroups.isLoading;
699
+ var isFiltersVisible = isNotEmpty(groups) || isPresent(searchTerm);
700
+ useEffect(function () {
701
+ setPageProperties(DEFAULT_PAGE_PROPERTIES);
702
+ }, [searchTerm]);
703
+ return /*#__PURE__*/jsxs(Container, {
704
+ children: [/*#__PURE__*/jsx(NeetoHeader, {
705
+ breadcrumbs: (_config$header$breadc = config === null || config === void 0 || (_config$header = config.header) === null || _config$header === void 0 ? void 0 : _config$header.breadcrumbs) !== null && _config$header$breadc !== void 0 ? _config$header$breadc : [],
706
+ title: taxonomies.group.plural,
707
+ titleHelpPopoverProps: (_config$header$titleH = config === null || config === void 0 || (_config$header2 = config.header) === null || _config$header2 === void 0 ? void 0 : _config$header2.titleHelpPopoverProps) !== null && _config$header$titleH !== void 0 ? _config$header$titleH : {},
708
+ actionBlock: /*#__PURE__*/jsx("div", {
709
+ className: "flex flex-row items-center justify-end",
710
+ children: /*#__PURE__*/jsx(Button, {
711
+ "data-testid": "add-new-group-button",
712
+ onClick: function onClick() {
713
+ return setIsPaneOpen(true);
714
+ },
715
+ children: t("neetoTeamMembers.common.addNew_", {
716
+ what: taxonomies.group.singular
717
+ })
718
+ })
719
+ }),
720
+ searchProps: isFiltersVisible && {
721
+ placeholder: t("neetoTeamMembers.placeholders.searchEntity", {
722
+ entity: taxonomies.group.plural
723
+ })
724
+ }
725
+ }), /*#__PURE__*/jsx(List, {
726
+ config: config,
727
+ groups: groups,
728
+ isLoading: isLoading,
729
+ pageProperties: pageProperties,
730
+ searchTerm: searchTerm,
731
+ setPageProperties: setPageProperties,
732
+ emptyStateAction: function emptyStateAction() {
733
+ return setIsPaneOpen(true);
734
+ },
735
+ onClose: function onClose() {
736
+ return setIsPaneOpen(false);
737
+ }
738
+ }), /*#__PURE__*/jsx(Create, {
739
+ config: config,
740
+ isOpen: isPaneOpen,
741
+ onClose: function onClose() {
742
+ return setIsPaneOpen(false);
743
+ }
744
+ })]
745
+ });
746
+ };
747
+
748
+ export { Groups as default };
749
+ //# sourceMappingURL=Groups.js.map