@bigbinary/neeto-team-members-frontend 2.4.10 → 2.4.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -12,13 +12,13 @@ functioning of the package. Install all the peer dependencies using the below
12
12
  command:
13
13
 
14
14
  ```zsh
15
- yarn add @bigbinary/neeto-icons@1.8.40 @bigbinary/neetoui@4.1.2 axios@1.1.3 classnames@2.3.2 formik@2.2.9 ramda@0.28.0 react-router-dom@5.3.3 react-toastify@8.2.0 yup@0.32.11
15
+ yarn add @bigbinary/neeto-icons@1.8.40 @bigbinary/neetoui@4.1.11 axios@1.1.3 classnames@2.3.2 formik@2.2.9 ramda@0.28.0 react-router-dom@5.3.3 react-toastify@8.2.0 yup@0.32.11
16
16
  ```
17
17
 
18
18
  2. Now install the latest **neetoTeamMembers** package using the below command:
19
19
 
20
20
  ```zsh
21
- yarn add @bigbinary/neeto-team-members-frontend@2.4.10
21
+ yarn add @bigbinary/neeto-team-members-frontend@2.4.12
22
22
  ```
23
23
 
24
24
  ## Usage
package/dist/index.cjs.js CHANGED
@@ -4,6 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
6
  var ramda = require('ramda');
7
+ var neetoIcons = require('@bigbinary/neeto-icons');
7
8
  var ReactDOM = require('react-dom');
8
9
  var axios = require('axios');
9
10
  var neetoui = require('@bigbinary/neetoui');
@@ -12,7 +13,6 @@ var formik = require('formik');
12
13
  var formik$1 = require('@bigbinary/neetoui/formik');
13
14
  var yup = require('yup');
14
15
  var classnames = require('classnames');
15
- var neetoIcons = require('@bigbinary/neeto-icons');
16
16
 
17
17
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
18
18
 
@@ -4051,9 +4051,11 @@ var common$1 = {
4051
4051
  var helpers$1 = {
4052
4052
  configPermissions: "Configure permissions for the modules.",
4053
4053
  enterMultipleEmails: "Please press space, tab or enter key after entering an email address.",
4054
+ moreInfoAboutPermissions: "More information about permissions",
4054
4055
  noRolesFound: "No roles found.",
4055
4056
  searchRoles: "Search roles",
4056
- selectedMembersCount: "{{count}} {{metaName}} selected from {{totalCount}}"
4057
+ selectedMembersCount: "{{count}} {{metaName}} selected from {{totalCount}}",
4058
+ visitToKnowMoreAboutPermissions: "Visit to know more about permissions"
4057
4059
  };
4058
4060
  var metaNames$1 = {
4059
4061
  agent_one: "Agent",
@@ -4146,10 +4148,12 @@ var common = {
4146
4148
  var helpers = {
4147
4149
  configPermissions: "Configurez les autorisations pour les modules.",
4148
4150
  enterMultipleEmails: "Veuillez appuyer sur espace, tabulation ou entrée après avoir saisi une adresse e-mail.",
4151
+ moreInfoAboutPermissions: "Plus d'informations sur les autorisations",
4149
4152
  noRolesFound: "Aucun rôle trouvé.",
4150
4153
  searchRoles: "Rechercher des rôles",
4151
4154
  selectedMembersCount_one: "{{count}} {{metaName}} sélectionné parmi {{totalCount}}",
4152
- selectedMembersCount_other: "{{count}} {{metaName}} sélectionnés parmi {{totalCount}}"
4155
+ selectedMembersCount_other: "{{count}} {{metaName}} sélectionnés parmi {{totalCount}}",
4156
+ visitToKnowMoreAboutPermissions: "Visitez pour en savoir plus sur les autorisations"
4153
4157
  };
4154
4158
  var metaNames = {
4155
4159
  member_one: "Membre",
@@ -8957,9 +8961,9 @@ const renderSearchProps = (searchString, setSearchString) => ({
8957
8961
  }),
8958
8962
  value: searchString
8959
8963
  });
8960
- const renderBreadcrumbs = (breadcrumbs, membersPageUrl) => breadcrumbs !== null && breadcrumbs !== void 0 ? breadcrumbs : [{
8964
+ const renderBreadcrumbs = breadcrumbs => breadcrumbs !== null && breadcrumbs !== void 0 ? breadcrumbs : [{
8961
8965
  text: instance.t("metaNames.member", PLURAL),
8962
- link: membersPageUrl !== null && membersPageUrl !== void 0 ? membersPageUrl : "/members"
8966
+ link: "/members"
8963
8967
  }];
8964
8968
 
8965
8969
  const AddRoleButton = _ref => {
@@ -8991,8 +8995,18 @@ const Header$1 = _ref => {
8991
8995
  const _useTranslation = useTranslation(),
8992
8996
  t = _useTranslation.t;
8993
8997
  return /*#__PURE__*/React__default["default"].createElement(layouts.Header, {
8994
- title: t("common.role", PLURAL),
8995
- breadcrumbs: renderBreadcrumbs(config === null || config === void 0 ? void 0 : (_config$header = config.header) === null || _config$header === void 0 ? void 0 : _config$header.breadcrumbs, config === null || config === void 0 ? void 0 : config.membersPageUrl),
8998
+ title: /*#__PURE__*/React__default["default"].createElement("span", {
8999
+ className: "neeto-ui-flex neeto-ui-items-center neeto-ui-gap-6"
9000
+ }, t("common.role", PLURAL), (config === null || config === void 0 ? void 0 : config.helpUrl) && /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
9001
+ "data-cy": "ntm-roles-permission-more-info-button",
9002
+ className: "neeto-ui-mt-1",
9003
+ href: config === null || config === void 0 ? void 0 : config.helpUrl,
9004
+ icon: neetoIcons.ExternalLink,
9005
+ label: t("helpers.moreInfoAboutPermissions"),
9006
+ style: "link",
9007
+ target: "_blank"
9008
+ })),
9009
+ breadcrumbs: renderBreadcrumbs(config === null || config === void 0 ? void 0 : (_config$header = config.header) === null || _config$header === void 0 ? void 0 : _config$header.breadcrumbs),
8996
9010
  searchProps: renderSearchProps(searchString, setSearchString),
8997
9011
  actionBlock: /*#__PURE__*/React__default["default"].createElement(AddRoleButton, {
8998
9012
  onClick: () => setIsNewRolePaneOpen(true),
@@ -9165,7 +9179,6 @@ const New = _ref => {
9165
9179
  }, t("common.add_", {
9166
9180
  what: t("common.role", SINGULAR).toLocaleLowerCase()
9167
9181
  }))), /*#__PURE__*/React__default["default"].createElement(formik$1.Form, {
9168
- noValidate: true,
9169
9182
  formikProps: _objectSpread$6(_objectSpread$6({}, ROLE_FORMIK_PROPS), {}, {
9170
9183
  onSubmit: handleFormSubmit
9171
9184
  }),
@@ -9460,8 +9473,7 @@ const TableHeader = _ref => {
9460
9473
  isDelete: true,
9461
9474
  selectedRole: role
9462
9475
  }),
9463
- size: "small",
9464
- style: "danger"
9476
+ size: "small"
9465
9477
  }, t("common.delete"))))))));
9466
9478
  })));
9467
9479
  };
@@ -9543,7 +9555,6 @@ const Edit = _ref => {
9543
9555
  }, t("common.update_", {
9544
9556
  what: t("common.role", SINGULAR).toLocaleLowerCase()
9545
9557
  }))), /*#__PURE__*/React__default["default"].createElement(formik$1.Form, {
9546
- noValidate: true,
9547
9558
  formikProps: _objectSpread$5(_objectSpread$5({}, ROLE_FORMIK_PROPS), {}, {
9548
9559
  initialValues,
9549
9560
  onSubmit: handleFormSubmit
@@ -9635,6 +9646,9 @@ const Columns$1 = _ref => {
9635
9646
  }));
9636
9647
  };
9637
9648
 
9649
+ const ROLES_TABLE_CELL_HEIGHT_VARIABLE = "--ntm-roles-table-cell-height";
9650
+
9651
+ const getCurrentTableCellHeight = () => parseInt(getComputedStyle(document.documentElement).getPropertyValue(ROLES_TABLE_CELL_HEIGHT_VARIABLE), 10);
9638
9652
  const renderDescription = permissions => permissions === null || permissions === void 0 ? void 0 : permissions.map(_ref => {
9639
9653
  let id = _ref.id,
9640
9654
  description = _ref.description;
@@ -9654,6 +9668,15 @@ const getSearchWrapperStyle = () => {
9654
9668
  marginBottom: `${scrollBarWidth}px`
9655
9669
  };
9656
9670
  };
9671
+ const assignRolesTableCellHeight = () => {
9672
+ const sidebarItems = [...document.getElementsByClassName("ntm-roles-table-sidebar__list-item")];
9673
+ const clientHeights = ramda.pluck("clientHeight", sidebarItems);
9674
+ const maxClientHeight = Math.max(...clientHeights);
9675
+ const currentTableCellHeight = getCurrentTableCellHeight();
9676
+ if (maxClientHeight > currentTableCellHeight) {
9677
+ document.documentElement.style.setProperty(ROLES_TABLE_CELL_HEIGHT_VARIABLE, `${maxClientHeight}px`);
9678
+ }
9679
+ };
9657
9680
 
9658
9681
  const ToggleDropdown = _ref => {
9659
9682
  let isVisible = _ref.isVisible,
@@ -9683,6 +9706,9 @@ const Sidebar = _ref => {
9683
9706
  t = _useTranslation.t;
9684
9707
  const categories = Object.keys(filteredGroupPermissions);
9685
9708
  const searchWrapperStyle = isScrollPresent ? getSearchWrapperStyle() : {};
9709
+ React.useLayoutEffect(() => {
9710
+ assignRolesTableCellHeight();
9711
+ }, []);
9686
9712
  return /*#__PURE__*/React__default["default"].createElement("div", {
9687
9713
  className: "ntm-roles-table__sidebar"
9688
9714
  }, /*#__PURE__*/React__default["default"].createElement("div", {
@@ -9785,6 +9811,8 @@ const Table = _ref => {
9785
9811
  const Roles = _ref => {
9786
9812
  var _config$permissions$v, _config$permissions, _config$permissions$v2, _config$permissions2;
9787
9813
  let config = _ref.config;
9814
+ const _useTranslation = useTranslation(),
9815
+ t = _useTranslation.t;
9788
9816
  const _useState = React.useState(""),
9789
9817
  _useState2 = _slicedToArray(_useState, 2),
9790
9818
  searchString = _useState2[0],
@@ -9833,17 +9861,21 @@ const Roles = _ref => {
9833
9861
  permissionGroups: permissionGroups,
9834
9862
  roles: roles,
9835
9863
  setIsNewRolePaneOpen: setIsNewRolePaneOpen
9836
- }))), /*#__PURE__*/React__default["default"].createElement(New, {
9864
+ }), (config === null || config === void 0 ? void 0 : config.helpUrl) && /*#__PURE__*/React__default["default"].createElement("div", {
9865
+ className: "ntm-roles-help-url-wrapper"
9866
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
9867
+ "data-cy": "ntm-roles-permission-more-info-button",
9868
+ href: config.helpUrl,
9869
+ icon: neetoIcons.ExternalLink,
9870
+ label: t("helpers.visitToKnowMoreAboutPermissions"),
9871
+ style: "link",
9872
+ target: "_blank"
9873
+ })))), /*#__PURE__*/React__default["default"].createElement(New, {
9837
9874
  isOpen: isNewRolePaneOpen,
9838
9875
  onClose: () => setIsNewRolePaneOpen(false),
9839
9876
  permissions: permissions
9840
9877
  }));
9841
9878
  };
9842
- Roles.defaultProps = {
9843
- config: {
9844
- membersPageUrl: "/members"
9845
- }
9846
- };
9847
9879
  var index$1 = withReactQuery(Roles);
9848
9880
 
9849
9881
  const fetch = params => axios__default["default"].get(`${BASE_URL}/teams`, {
@@ -9910,6 +9942,9 @@ const useBulkUpdateMembers = _ref4 => {
9910
9942
  }
9911
9943
  }, options));
9912
9944
  };
9945
+ const refetchMembers = () => {
9946
+ queryClient.invalidateQueries(QUERY_KEYS.TEAMS);
9947
+ };
9913
9948
 
9914
9949
  const useDebounce = function (value) {
9915
9950
  let delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 350;
@@ -10100,6 +10135,7 @@ const Menu$1 = neetoui.Dropdown.Menu,
10100
10135
  MenuItem = neetoui.Dropdown.MenuItem;
10101
10136
  const RolesDropdown = _ref => {
10102
10137
  let handleRoleChange = _ref.handleRoleChange,
10138
+ hasUpdatePermission = _ref.hasUpdatePermission,
10103
10139
  _ref$isSearchable = _ref.isSearchable,
10104
10140
  isSearchable = _ref$isSearchable === void 0 ? false : _ref$isSearchable,
10105
10141
  _ref$roles = _ref.roles,
@@ -10125,11 +10161,16 @@ const RolesDropdown = _ref => {
10125
10161
  setSearchTerm("");
10126
10162
  setIsDropdownOpen(false);
10127
10163
  };
10128
- return /*#__PURE__*/React__default["default"].createElement(neetoui.Dropdown, {
10164
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Tooltip, {
10165
+ content: instance.t("tooltips.noPermissionToEditMembers"),
10166
+ disabled: hasUpdatePermission,
10167
+ position: "top"
10168
+ }, /*#__PURE__*/React__default["default"].createElement("span", null, /*#__PURE__*/React__default["default"].createElement(neetoui.Dropdown, {
10129
10169
  buttonSize: "small",
10130
10170
  buttonStyle: "secondary",
10131
10171
  closeOnSelect: false,
10132
10172
  "data-cy": "ntm-members-roles-update-dropdown",
10173
+ disabled: !hasUpdatePermission,
10133
10174
  label: instance.t("buttons.changeRole"),
10134
10175
  isOpen: isDropdownOpen,
10135
10176
  onClick: () => setIsDropdownOpen(true),
@@ -10152,7 +10193,7 @@ const RolesDropdown = _ref => {
10152
10193
  }, name);
10153
10194
  }) : /*#__PURE__*/React__default["default"].createElement("span", {
10154
10195
  className: "neeto-ui-flex neeto-ui-flex-col neeto-ui-items-center neeto-ui-p-2"
10155
- }, instance.t("helpers.noRolesFound")))));
10196
+ }, instance.t("helpers.noRolesFound")))))));
10156
10197
  };
10157
10198
 
10158
10199
  var _URLSearchParams$get;
@@ -10228,13 +10269,16 @@ const Left = _ref => {
10228
10269
  }) : `${filteredCount} ${pluralizedByFilterCount}`);
10229
10270
  };
10230
10271
  const Right = _ref2 => {
10272
+ var _config$permissions$u, _config$permissions;
10231
10273
  let columns = _ref2.columns,
10274
+ config = _ref2.config,
10232
10275
  roles = _ref2.roles,
10233
10276
  rolesButtonProps = _ref2.rolesButtonProps,
10234
10277
  selectedRows = _ref2.selectedRows,
10235
10278
  setColumnData = _ref2.setColumnData,
10236
10279
  setSelectedRows = _ref2.setSelectedRows;
10237
10280
  const isRolesButtonVisible = !!rolesButtonProps;
10281
+ const hasUpdatePermission = (_config$permissions$u = config === null || config === void 0 ? void 0 : (_config$permissions = config.permissions) === null || _config$permissions === void 0 ? void 0 : _config$permissions.update) !== null && _config$permissions$u !== void 0 ? _config$permissions$u : DEFAULT_PERMISSION;
10238
10282
  const _useBulkUpdateMembers = useBulkUpdateMembers({
10239
10283
  onSuccess: () => setSelectedRows(DEFAULT_SELECTED_ROWS)
10240
10284
  }),
@@ -10260,20 +10304,31 @@ const Right = _ref2 => {
10260
10304
  }
10261
10305
  });
10262
10306
  };
10263
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, getDeactivatedButtonVisible(selectedRows) && /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
10307
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, getDeactivatedButtonVisible(selectedRows) && /*#__PURE__*/React__default["default"].createElement(neetoui.Tooltip, {
10308
+ content: instance.t("tooltips.noPermissionToEditMembers"),
10309
+ disabled: hasUpdatePermission,
10310
+ position: "top"
10311
+ }, /*#__PURE__*/React__default["default"].createElement("span", null, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
10264
10312
  "data-cy": "ntm-deactivate-members-button",
10313
+ disabled: !hasUpdatePermission,
10265
10314
  label: instance.t("common.deactivate"),
10266
10315
  size: "small",
10267
10316
  style: "secondary",
10268
10317
  onClick: () => handleDeactivateMembers()
10269
- }), getActivateButtonVisible(selectedRows) && /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
10318
+ }))), getActivateButtonVisible(selectedRows) && /*#__PURE__*/React__default["default"].createElement(neetoui.Tooltip, {
10319
+ content: instance.t("tooltips.noPermissionToEditMembers"),
10320
+ disabled: hasUpdatePermission,
10321
+ position: "top"
10322
+ }, /*#__PURE__*/React__default["default"].createElement("span", null, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
10270
10323
  "data-cy": "ntm-activate-members-button",
10324
+ disabled: !hasUpdatePermission,
10271
10325
  label: instance.t("common.activate"),
10272
10326
  size: "small",
10273
10327
  style: "secondary",
10274
10328
  onClick: () => handleActivateMembers()
10275
- }), isNotEmpty$1(selectedRows.keys) && /*#__PURE__*/React__default["default"].createElement(RolesDropdown, {
10329
+ }))), isNotEmpty$1(selectedRows.keys) && /*#__PURE__*/React__default["default"].createElement(RolesDropdown, {
10276
10330
  handleRoleChange: handleRoleChange,
10331
+ hasUpdatePermission: hasUpdatePermission,
10277
10332
  roles: roles
10278
10333
  }), /*#__PURE__*/React__default["default"].createElement(Columns, {
10279
10334
  columnData: columns,
@@ -10807,18 +10862,18 @@ var pluralize = pluralize$1.exports;
10807
10862
  function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
10808
10863
  function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
10809
10864
  const renderNameColumn = (_ref, diplayStatusTag) => {
10810
- let displayName = _ref.displayName,
10865
+ let name = _ref.displayName,
10811
10866
  imageUrl = _ref.profileImageUrl,
10812
10867
  active = _ref.active;
10813
10868
  return /*#__PURE__*/React__default["default"].createElement("div", {
10814
10869
  className: "ntm-members-table__column"
10815
10870
  }, /*#__PURE__*/React__default["default"].createElement(neetoui.Avatar, {
10816
10871
  user: {
10817
- name: displayName,
10872
+ name,
10818
10873
  imageUrl
10819
10874
  },
10820
10875
  size: "medium"
10821
- }), displayName, diplayStatusTag && /*#__PURE__*/React__default["default"].createElement(neetoui.Tag, {
10876
+ }), name, diplayStatusTag && /*#__PURE__*/React__default["default"].createElement(neetoui.Tag, {
10822
10877
  "data-cy": "ntm-member-status-tag",
10823
10878
  label: active ? MEMBER_FILTER.ACTIVE.label : MEMBER_FILTER.DEACTIVATED.label,
10824
10879
  style: active ? "primary" : "secondary",
@@ -10829,7 +10884,7 @@ const isDropDownButtonDisabled = permissions => {
10829
10884
  var _permissions$update;
10830
10885
  return !((_permissions$update = permissions === null || permissions === void 0 ? void 0 : permissions.update) !== null && _permissions$update !== void 0 ? _permissions$update : hasPermission(MANAGE_MEMBER_PERMISSIONS));
10831
10886
  };
10832
- const renderDropdownButton = (_ref2, handleUpdateStatus, handleUpdateRole, permissions) => {
10887
+ const renderDropdownButton = (_ref2, handleUpdateRole, handleUpdateStatus, permissions) => {
10833
10888
  let displayName = _ref2.displayName,
10834
10889
  id = _ref2.id,
10835
10890
  active = _ref2.active,
@@ -10870,8 +10925,7 @@ const renderDropdownButton = (_ref2, handleUpdateStatus, handleUpdateRole, permi
10870
10925
  name: displayName,
10871
10926
  active
10872
10927
  }),
10873
- size: "small",
10874
- style: active && "danger"
10928
+ size: "small"
10875
10929
  }, active ? instance.t("common.deactivate") : instance.t("common.activate"))))));
10876
10930
  };
10877
10931
  const getDefaultAlertTitle = _ref3 => {
@@ -10894,37 +10948,60 @@ const getDefaultAlertMessage = _ref4 => {
10894
10948
  person: member === null || member === void 0 ? void 0 : member.name
10895
10949
  });
10896
10950
  };
10951
+ const getDefaultColumns = displayStatusTag => [{
10952
+ dataIndex: "name",
10953
+ key: "name",
10954
+ render: (_, tableData) => renderNameColumn(tableData, displayStatusTag),
10955
+ sorter: true,
10956
+ title: instance.t("common.name")
10957
+ }, {
10958
+ dataIndex: "email",
10959
+ key: "email",
10960
+ sorter: true,
10961
+ title: instance.t("common.email", SINGULAR)
10962
+ }, {
10963
+ dataIndex: "role",
10964
+ key: "organization_role",
10965
+ sorter: true,
10966
+ title: instance.t("common.role", SINGULAR)
10967
+ }];
10968
+ const getActionColumn = (handleUpdateRole, handleUpdateStatus, permissions) => ({
10969
+ dataIndex: "actions",
10970
+ key: "icon_button",
10971
+ render: (_, props) => renderDropdownButton(props, handleUpdateRole, handleUpdateStatus, permissions),
10972
+ width: 75
10973
+ });
10897
10974
  const getColumnData = _ref5 => {
10898
- let memberFilter = _ref5.memberFilter,
10899
- handleUpdateStatus = _ref5.handleUpdateStatus,
10975
+ var _config$otherColumns;
10976
+ let config = _ref5.config,
10900
10977
  handleUpdateRole = _ref5.handleUpdateRole,
10901
- permissions = _ref5.permissions;
10902
- const diplayStatusTag = ramda.identical(memberFilter, MEMBER_FILTER.ALL.value);
10903
- return [{
10904
- title: instance.t("common.name"),
10905
- key: "name",
10906
- dataIndex: "name",
10907
- render: (_, tableData) => renderNameColumn(tableData, diplayStatusTag),
10908
- width: "30%",
10909
- sorter: true
10910
- }, {
10911
- title: instance.t("common.email", SINGULAR),
10912
- dataIndex: "email",
10913
- key: "email",
10914
- width: "35%",
10915
- sorter: true
10916
- }, {
10917
- title: instance.t("common.role", SINGULAR),
10918
- dataIndex: "role",
10919
- key: "organization_role",
10920
- width: "25%",
10921
- sorter: true
10922
- }, {
10923
- dataIndex: "actions",
10924
- key: "icon_button",
10925
- render: (_, props) => renderDropdownButton(props, handleUpdateStatus, handleUpdateRole, permissions),
10926
- width: "10%"
10927
- }];
10978
+ handleUpdateStatus = _ref5.handleUpdateStatus,
10979
+ memberFilter = _ref5.memberFilter;
10980
+ const displayStatusTag = ramda.identical(memberFilter, MEMBER_FILTER.ALL.value);
10981
+ const defaultColumns = getDefaultColumns(displayStatusTag);
10982
+ const actionColumn = getActionColumn(handleUpdateRole, handleUpdateStatus, config === null || config === void 0 ? void 0 : config.permissions);
10983
+ const otherColumns = (_config$otherColumns = config === null || config === void 0 ? void 0 : config.otherColumns) !== null && _config$otherColumns !== void 0 ? _config$otherColumns : [];
10984
+ const columns = defaultColumns.map(column => {
10985
+ const otherColumn = otherColumns.find(_ref6 => {
10986
+ let dataIndex = _ref6.dataIndex;
10987
+ return ramda.identical(dataIndex, column.dataIndex);
10988
+ });
10989
+ return otherColumn || column;
10990
+ });
10991
+ otherColumns.forEach(otherColumn => {
10992
+ const column = columns.find(_ref7 => {
10993
+ let dataIndex = _ref7.dataIndex;
10994
+ return ramda.identical(dataIndex, otherColumn.dataIndex);
10995
+ });
10996
+ if (!column) columns.push(otherColumn);
10997
+ });
10998
+ if (!columns.some(_ref8 => {
10999
+ let dataIndex = _ref8.dataIndex;
11000
+ return ramda.identical(dataIndex, "actions");
11001
+ })) {
11002
+ columns.push(actionColumn);
11003
+ }
11004
+ return columns;
10928
11005
  };
10929
11006
  const renderHeaderTitle = (filterStatus, metaName) => instance.t(`common.${ramda.toLower(filterStatus)}_`, {
10930
11007
  what: metaName(PLURAL).toLocaleLowerCase()
@@ -11181,11 +11258,12 @@ const ManageMember = _ref => {
11181
11258
  };
11182
11259
 
11183
11260
  const Menu = _ref => {
11184
- let isMenuOpen = _ref.isMenuOpen,
11185
- metaName = _ref.metaName,
11261
+ let config = _ref.config,
11186
11262
  filterCounts = _ref.filterCounts,
11263
+ handleMemberFilterChange = _ref.handleMemberFilterChange,
11264
+ isMenuOpen = _ref.isMenuOpen,
11187
11265
  memberFilter = _ref.memberFilter,
11188
- handleMemberFilterChange = _ref.handleMemberFilterChange;
11266
+ metaName = _ref.metaName;
11189
11267
  const memberFilterKeys = ramda.keys(MEMBER_FILTER);
11190
11268
  return /*#__PURE__*/React__default["default"].createElement(layouts.MenuBar, {
11191
11269
  "data-cy": "ntm-members-menubar-heading",
@@ -11198,7 +11276,7 @@ const Menu = _ref => {
11198
11276
  key: filter,
11199
11277
  label: MEMBER_FILTER[filter].label,
11200
11278
  onClick: () => handleMemberFilterChange(filter)
11201
- })));
11279
+ })), (config === null || config === void 0 ? void 0 : config.otherMenuElements) && config.otherMenuElements());
11202
11280
  };
11203
11281
 
11204
11282
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
@@ -11231,7 +11309,7 @@ const TeamMembers = _ref => {
11231
11309
  const _useFetchMembers = useFetchMembers(_objectSpread(_objectSpread({}, filters), {}, {
11232
11310
  search: debouncedSearch.trim(),
11233
11311
  category: filters.category.toLowerCase()
11234
- }), {
11312
+ }, config === null || config === void 0 ? void 0 : config.otherFilterProps), {
11235
11313
  enabled: (_config$permissions$v = config === null || config === void 0 ? void 0 : (_config$permissions = config.permissions) === null || _config$permissions === void 0 ? void 0 : _config$permissions.view) !== null && _config$permissions$v !== void 0 ? _config$permissions$v : DEFAULT_PERMISSION
11236
11314
  }),
11237
11315
  team = _useFetchMembers.data,
@@ -11291,11 +11369,11 @@ const TeamMembers = _ref => {
11291
11369
  setIsOpen(ramda.assoc("manageMember", true));
11292
11370
  };
11293
11371
  const columns = React.useMemo(() => getColumnData({
11294
- memberFilter: filters.category,
11295
- handleUpdateStatus,
11372
+ config,
11296
11373
  handleUpdateRole,
11297
- permissions: config === null || config === void 0 ? void 0 : config.permissions
11298
- }), [] // eslint-disable-line react-hooks/exhaustive-deps
11374
+ handleUpdateStatus,
11375
+ memberFilter: filters.category
11376
+ }), [filters.category] // eslint-disable-line react-hooks/exhaustive-deps
11299
11377
  );
11300
11378
 
11301
11379
  const handleAlertClose = () => {
@@ -11334,11 +11412,12 @@ const TeamMembers = _ref => {
11334
11412
  }, /*#__PURE__*/React__default["default"].createElement("div", {
11335
11413
  className: "ntm-members-wrapper"
11336
11414
  }, /*#__PURE__*/React__default["default"].createElement(Menu, {
11337
- isMenuOpen: isOpen.menuBar,
11338
- metaName: metaName,
11415
+ config: config,
11339
11416
  filterCounts: team === null || team === void 0 ? void 0 : team.perCategoryCount,
11417
+ handleMemberFilterChange: handleMemberFilterChange,
11418
+ isMenuOpen: isOpen.menuBar,
11340
11419
  memberFilter: filters.category,
11341
- handleMemberFilterChange: handleMemberFilterChange
11420
+ metaName: metaName
11342
11421
  }), /*#__PURE__*/React__default["default"].createElement(layouts.Container, null, /*#__PURE__*/React__default["default"].createElement(layouts.Header, {
11343
11422
  title: renderHeaderTitle(MEMBER_FILTER[filters.category].value, metaName),
11344
11423
  menuBarToggle: () => setIsOpen(state => _objectSpread(_objectSpread({}, state), {}, {
@@ -11359,6 +11438,7 @@ const TeamMembers = _ref => {
11359
11438
  }),
11360
11439
  rightActionBlock: /*#__PURE__*/React__default["default"].createElement(SubHeader.Right, {
11361
11440
  columns: columns,
11441
+ config: config,
11362
11442
  roles: roles,
11363
11443
  rolesButtonProps: config.rolesButtonProps,
11364
11444
  selectedRows: selectedRows,
@@ -11389,7 +11469,8 @@ const TeamMembers = _ref => {
11389
11469
  }),
11390
11470
  actionBlock: /*#__PURE__*/React__default["default"].createElement(Header, {
11391
11471
  metaName: metaName,
11392
- onClick: () => setIsOpen(ramda.assoc("manageMember", true))
11472
+ onClick: () => setIsOpen(ramda.assoc("manageMember", true)),
11473
+ permissions: config === null || config === void 0 ? void 0 : config.permissions
11393
11474
  })
11394
11475
  })), /*#__PURE__*/React__default["default"].createElement(ManageMember, {
11395
11476
  config: config,
@@ -11428,7 +11509,7 @@ const VALIDATION_SCHEMA = {
11428
11509
 
11429
11510
  var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
11430
11511
 
11431
- var css = ":root {\n --ntm-roles-table-default-scroll: 15px;\n}\n\n.ntm-dropdown__button {\n border-radius: 0 !important;\n font-weight: var(--neeto-ui-font-normal);\n min-height: 34px;\n min-width: 150px;\n text-align: left;\n width: 100%;\n}\n\n.ntm-scrollbar__inner {\n width: 100%;\n height: 200px;\n}\n.ntm-scrollbar__outer {\n position: \"absolute\";\n top: 0px;\n left: 0px;\n width: 200px;\n height: 150px;\n overflow: \"hidden\";\n visibility: \"hidden\";\n}\n\n.ntm-empty-state {\n align-items: center;\n display: flex;\n height: 100%;\n justify-content: center;\n width: 100%;\n}\n.ntm-empty-state__image {\n display: flex;\n justify-content: center;\n align-items: center;\n margin-bottom: 2rem;\n}\n.ntm-empty-state__title--with-action-block {\n margin-bottom: 1rem;\n}\n.ntm-empty-state__action-block {\n display: flex;\n justify-content: center;\n}\n\n.ntm-members {\n overflow: auto;\n width: 100%;\n}\n.ntm-members-wrapper {\n display: flex;\n}\n.ntm-members-page-loader {\n width: 100%;\n height: 100vh;\n}\n.ntm-members__table-wrapper {\n height: calc(100vh - 205px);\n width: 100%;\n}\n.ntm-members-table__column {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n.ntm-members-pane__header {\n margin-bottom: 0.5rem;\n}\n.ntm-members-pane__body {\n width: 100%;\n padding-bottom: 1rem;\n}\n.ntm-members-pane__body > * + * {\n margin-top: 1rem;\n}\n.ntm-members-pane__footer {\n display: flex;\n gap: 0.5rem;\n}\n\n.ntm-members-radio-group {\n width: 100%;\n}\n.ntm-members-radio-group .neeto-ui-radio__container--stacked {\n width: 100%;\n}\n.ntm-members-radio-group__label {\n padding-right: 4px;\n}\n.ntm-members-radio-group__icon {\n cursor: pointer;\n}\n\n.ntm-members-pane-radio-item__wrapper {\n width: 100%;\n cursor: pointer;\n padding: 8px 0px !important;\n}\n.ntm-members-pane-radio-item__wrapper:first-child {\n padding-top: 0px !important;\n}\n.ntm-members-pane-radio-item__label {\n margin-bottom: 0 !important;\n}\n.ntm-members-pane-radio-item__description {\n color: rgb(var(--neeto-ui-gray-700));\n}\n\n.ntm-roles-header {\n border-bottom: 1px solid rgb(var(--neeto-ui-gray-300));\n}\n\n.ntm-roles-table__wrapper {\n width: 100%;\n height: calc(100vh - var(--neeto-ui-main-header-height));\n display: flex;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__sidebar {\n width: 396px;\n min-width: 396px;\n border-right: thin solid rgb(var(--neeto-ui-gray-300));\n}\n.ntm-roles-table__wrapper .ntm-roles-table__sidebar .ntm-roles-table-sidebar__search {\n padding: 24px 24px 16px;\n height: 72px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__sidebar .ntm-roles-table-sidebar__list {\n height: calc(\n 100vh - var(--neeto-ui-main-header-height) - 72px -\n var(--ntm-roles-table-default-scroll)\n );\n overflow-y: auto;\n padding-left: 24px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__sidebar .ntm-roles-table-sidebar__list .ntm-roles-table-sidebar__list-item {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 8px;\n min-height: 48px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__sidebar .ntm-roles-table-sidebar__list .ntm-roles-table-sidebar__list-item.ntm-roles-table-sidebar__list-item--highlighted {\n background-color: rgb(var(--neeto-ui-primary-100));\n padding: 12px 8px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__sidebar .ntm-roles-table-sidebar__list .ntm-roles-table-sidebar__list-item:not(.ntm-roles-table-sidebar__list-item--highlighted) {\n border-bottom: thin solid rgb(var(--neeto-ui-gray-300));\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns {\n width: calc(\n 100vw - var(--neeto-ui-sidebar-width) - 396px - 24px\n );\n overflow: hidden;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__cell {\n width: 100%;\n min-width: 200px;\n min-height: 48px;\n padding: 12px 8px;\n display: flex;\n justify-content: center;\n align-items: center;\n border-right: thin solid rgb(var(--neeto-ui-gray-300));\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table-cell__checkbox-wrapper {\n position: absolute;\n height: 1rem;\n width: 1rem;\n margin: auto;\n z-index: 10;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table-cell__checkbox {\n z-index: 10;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__header {\n display: flex;\n align-items: center;\n overflow-x: auto;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__header .ntm-roles-table__cell {\n height: 72px;\n padding-left: 24px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__header .ntm-roles-table-header-cell__container {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n gap: 1rem;\n overflow: hidden;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__header .ntm-roles-table-header__dropdown {\n margin: 3px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__header .ntm-roles-table-header__role-name {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows {\n width: 100%;\n height: calc(\n 100vh - var(--neeto-ui-main-header-height) - 72px -\n var(--ntm-roles-table-default-scroll)\n );\n overflow-y: auto;\n scrollbar-width: none;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows::-webkit-scrollbar {\n width: 0px;\n height: 0px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows::-webkit-scrollbar-thumb {\n background: rgb(var(--neeto-ui-gray-300));\n border-radius: 50px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows::-webkit-scrollbar-thumb:hover {\n border-radius: 50px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows::-webkit-scrollbar-track {\n background: rgb(var(--neeto-ui-gray-300));\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows .ntm-roles-table__row {\n display: flex;\n align-items: center;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows .ntm-roles-table__row .ntm-roles-table__cell {\n overflow: hidden;\n position: relative;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows .ntm-roles-table__row .ntm-roles-table__cell p {\n opacity: 0;\n width: 340px;\n min-width: 340px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows .ntm-roles-table__row.ntm-roles-table__row--highlighted .ntm-roles-table__cell {\n background-color: rgb(var(--neeto-ui-primary-100));\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows .ntm-roles-table__row:not(.ntm-roles-table__row--highlighted) .ntm-roles-table__cell {\n border-bottom: thin solid rgb(var(--neeto-ui-gray-300));\n}\n\n.ntm-roles-table-sidebar__drop-down-button {\n color: rgb(var(--neeto-ui-gray-600));\n cursor: pointer;\n}\n\n.ntm-roles-modal__body > * + * {\n margin-top: 1rem;\n}\n.ntm-roles-modal__footer {\n display: flex;\n gap: 0.5rem;\n}\n\n.ntm-roles-pane__body {\n width: 100%;\n margin-bottom: 1.5rem;\n}\n.ntm-roles-pane__body-wrapper > * + * {\n margin-top: 1rem;\n}\n.ntm-roles-pane__body > * + * {\n margin-top: 1.5rem;\n}\n.ntm-roles-pane__footer {\n display: flex;\n gap: 0.5rem;\n}\n\n.ntm-roles-permission > * + * {\n margin: 0.5rem;\n}\n.ntm-roles-permission__heading {\n color: rgb(var(--neeto-ui-gray-500));\n text-transform: uppercase;\n}\n.ntm-roles-permission__card {\n background-color: rgb(var(--neeto-ui-white));\n align-items: center;\n border-radius: var(--neeto-ui-rounded);\n border-width: 1px;\n border-color: rgb(var(--neeto-ui-gray-300));\n cursor: pointer;\n display: flex;\n gap: 0.75rem;\n padding: 1rem 0.75rem;\n}\n.ntm-roles-permission__card--description {\n flex-grow: 1;\n}\n.ntm-roles-permission__card--checkbox {\n padding: 0 0.5rem;\n}\n\ntd.ant-table-column-sort {\n background: transparent;\n}";
11512
+ var css = ":root {\n --ntm-roles-table-default-scroll: 15px;\n --ntm-roles-table-cell-height: 68px;\n}\n\n.ntm-dropdown__button {\n border-radius: 0 !important;\n font-weight: var(--neeto-ui-font-normal);\n min-height: 34px;\n min-width: 150px;\n text-align: left;\n width: 100%;\n}\n\n.ntm-scrollbar__inner {\n width: 100%;\n height: 200px;\n}\n.ntm-scrollbar__outer {\n position: \"absolute\";\n top: 0px;\n left: 0px;\n width: 200px;\n height: 150px;\n overflow: \"hidden\";\n visibility: \"hidden\";\n}\n\n.ntm-empty-state {\n align-items: center;\n display: flex;\n height: 100%;\n justify-content: center;\n width: 100%;\n}\n.ntm-empty-state__image {\n display: flex;\n justify-content: center;\n align-items: center;\n margin-bottom: 2rem;\n}\n.ntm-empty-state__title--with-action-block {\n margin-bottom: 1rem;\n}\n.ntm-empty-state__action-block {\n display: flex;\n justify-content: center;\n}\n\n.ntm-members {\n overflow: auto;\n width: 100%;\n}\n.ntm-members-wrapper {\n display: flex;\n}\n.ntm-members-page-loader {\n width: 100%;\n height: 100vh;\n}\n.ntm-members__table-wrapper {\n height: calc(100vh - 205px);\n width: 100%;\n}\n.ntm-members-table__column {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n.ntm-members-pane__header {\n margin-bottom: 0.5rem;\n}\n.ntm-members-pane__body {\n width: 100%;\n padding-bottom: 1rem;\n}\n.ntm-members-pane__body > * + * {\n margin-top: 1rem;\n}\n.ntm-members-pane__footer {\n display: flex;\n gap: 0.5rem;\n}\n\n.ntm-members-radio-group {\n width: 100%;\n}\n.ntm-members-radio-group .neeto-ui-radio__container--stacked {\n width: 100%;\n}\n.ntm-members-radio-group__label {\n padding-right: 4px;\n}\n.ntm-members-radio-group__icon {\n cursor: pointer;\n}\n\n.ntm-members-pane-radio-item__wrapper {\n width: 100%;\n cursor: pointer;\n padding: 8px 0px !important;\n}\n.ntm-members-pane-radio-item__wrapper:first-child {\n padding-top: 0px !important;\n}\n.ntm-members-pane-radio-item__label {\n margin-bottom: 0 !important;\n}\n.ntm-members-pane-radio-item__description {\n color: rgb(var(--neeto-ui-gray-700));\n}\n\n.ntm-roles-header {\n border-bottom: 1px solid rgb(var(--neeto-ui-gray-300));\n}\n\n.ntm-roles-table__wrapper {\n width: 100%;\n height: calc(100vh - var(--neeto-ui-main-header-with-breadcrumbs-height));\n display: flex;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__sidebar {\n width: 396px;\n min-width: 396px;\n border-right: thin solid rgb(var(--neeto-ui-gray-300));\n}\n.ntm-roles-table__wrapper .ntm-roles-table__sidebar .ntm-roles-table-sidebar__search {\n padding: 24px 24px 16px;\n height: 72px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__sidebar .ntm-roles-table-sidebar__list {\n height: calc(\n 100vh - var(--neeto-ui-main-header-with-breadcrumbs-height) - 72px -\n var(--ntm-roles-table-default-scroll)\n );\n overflow-y: auto;\n padding-left: 24px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__sidebar .ntm-roles-table-sidebar__list .ntm-roles-table-sidebar__list-item {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 8px;\n min-height: var(--ntm-roles-table-cell-height);\n}\n.ntm-roles-table__wrapper .ntm-roles-table__sidebar .ntm-roles-table-sidebar__list .ntm-roles-table-sidebar__list-item.ntm-roles-table-sidebar__list-item--highlighted {\n background-color: rgb(var(--neeto-ui-primary-100));\n padding: 12px 8px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__sidebar .ntm-roles-table-sidebar__list .ntm-roles-table-sidebar__list-item:not(.ntm-roles-table-sidebar__list-item--highlighted) {\n border-bottom: thin solid rgb(var(--neeto-ui-gray-300));\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns {\n width: calc(\n 100vw - var(--neeto-ui-sidebar-width) - 396px - 24px\n );\n overflow: hidden;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__cell {\n width: 100%;\n min-width: 200px;\n height: var(--ntm-roles-table-cell-height);\n padding: 12px 8px;\n display: flex;\n justify-content: center;\n align-items: center;\n border-right: thin solid rgb(var(--neeto-ui-gray-300));\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table-cell__checkbox-wrapper {\n position: absolute;\n height: 1rem;\n width: 1rem;\n margin: auto;\n z-index: 10;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table-cell__checkbox {\n z-index: 10;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__header {\n display: flex;\n align-items: center;\n overflow-x: auto;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__header .ntm-roles-table__cell {\n height: 72px;\n padding-left: 24px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__header .ntm-roles-table-header-cell__container {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n gap: 1rem;\n overflow: hidden;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__header .ntm-roles-table-header__dropdown {\n margin: 3px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__header .ntm-roles-table-header__role-name {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows {\n width: 100%;\n height: calc(\n 100vh - var(--neeto-ui-main-header-with-breadcrumbs-height) - 72px -\n var(--ntm-roles-table-default-scroll)\n );\n overflow-y: auto;\n scrollbar-width: none;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows::-webkit-scrollbar {\n width: 0px;\n height: 0px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows::-webkit-scrollbar-thumb {\n background: rgb(var(--neeto-ui-gray-300));\n border-radius: 50px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows::-webkit-scrollbar-thumb:hover {\n border-radius: 50px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows::-webkit-scrollbar-track {\n background: rgb(var(--neeto-ui-gray-300));\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows .ntm-roles-table__row {\n display: flex;\n align-items: center;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows .ntm-roles-table__row .ntm-roles-table__cell {\n overflow: hidden;\n position: relative;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows .ntm-roles-table__row .ntm-roles-table__cell p {\n opacity: 0;\n width: 340px;\n min-width: 340px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows .ntm-roles-table__row.ntm-roles-table__row--highlighted .ntm-roles-table__cell {\n background-color: rgb(var(--neeto-ui-primary-100));\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows .ntm-roles-table__row:not(.ntm-roles-table__row--highlighted) .ntm-roles-table__cell {\n border-bottom: thin solid rgb(var(--neeto-ui-gray-300));\n}\n\n.ntm-roles-table-sidebar__drop-down-button {\n color: rgb(var(--neeto-ui-gray-600));\n cursor: pointer;\n}\n\n.ntm-roles-modal__body > * + * {\n margin-top: 1rem;\n}\n.ntm-roles-modal__footer {\n display: flex;\n gap: 0.5rem;\n}\n\n.ntm-roles-pane__body {\n width: 100%;\n margin-bottom: 1.5rem;\n}\n.ntm-roles-pane__body-wrapper > * + * {\n margin-top: 1rem;\n}\n.ntm-roles-pane__body > * + * {\n margin-top: 1.5rem;\n}\n.ntm-roles-pane__footer {\n display: flex;\n gap: 0.5rem;\n}\n\n.ntm-roles-permission > * + * {\n margin: 0.5rem;\n}\n.ntm-roles-permission__heading {\n color: rgb(var(--neeto-ui-gray-500));\n text-transform: uppercase;\n}\n.ntm-roles-permission__card {\n background-color: rgb(var(--neeto-ui-white));\n align-items: center;\n border-radius: var(--neeto-ui-rounded);\n border-width: 1px;\n border-color: rgb(var(--neeto-ui-gray-300));\n cursor: pointer;\n display: flex;\n gap: 0.75rem;\n padding: 1rem 0.75rem;\n}\n.ntm-roles-permission__card--description {\n flex-grow: 1;\n}\n.ntm-roles-permission__card--checkbox {\n padding: 0 0.5rem;\n}\n\n.ntm-roles-help-url-wrapper {\n display: flex;\n width: 100%;\n align-items: center;\n justify-content: center;\n padding: 1rem 0;\n}\n\ntd.ant-table-column-sort {\n background: transparent;\n}";
11432
11513
  n(css,{});
11433
11514
 
11434
11515
  exports.MultipleEmailInput = MultipleEmailInput;
@@ -11437,4 +11518,5 @@ exports.RolesRadioGroup = RolesRadioGroup;
11437
11518
  exports.TeamMembers = index;
11438
11519
  exports.VALIDATION_SCHEMA = VALIDATION_SCHEMA;
11439
11520
  exports.hasPermission = hasPermission;
11521
+ exports.refetchMembers = refetchMembers;
11440
11522
  //# sourceMappingURL=index.cjs.js.map