@bigbinary/neeto-team-members-frontend 2.5.3 → 2.5.4

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/dist/index.esm.js CHANGED
@@ -2,9 +2,9 @@ import e$1, { createElement, isValidElement, cloneElement, createContext, useCon
2
2
  import { QueryClient, QueryCache, QueryClientProvider, useQuery, useMutation } from 'react-query';
3
3
  import { ReactQueryDevtools } from 'react-query/devtools';
4
4
  import axios from 'axios';
5
- import { noop as noop$1, keysToSnakeCase, removeBy, humanize, findBy, toLabelAndValue, replaceBy, isNotEmpty, capitalize as capitalize$1, notEquals, slugify } from '@bigbinary/neeto-commons-frontend/pure';
5
+ import { noop as noop$1, replaceById, findById, isPresent, keysToSnakeCase, removeBy, humanize, findBy, toLabelAndValue, replaceBy, isNotEmpty, capitalize as capitalize$1, notEquals, slugify } from '@bigbinary/neeto-commons-frontend/pure';
6
6
  import { Toastr, Tooltip, Button, Typography, Checkbox, Pane, Dropdown, Alert, Input as Input$1, NoData, PageLoader, DatePicker, TimePicker, Radio, Select, Label, Avatar, Tag, Modal, Table as Table$1 } from '@bigbinary/neetoui';
7
- import { modifyPath, prepend, assocPath, findIndex, propEq, dissocPath, groupBy, is, prop, keys, map, identical, modify, includes, pluck, fromPairs, toPairs, filter, isEmpty, curry, isNil, complement, either, mergeDeepLeft, assoc, mergeLeft, identity, omit, mergeRight, last, concat, append, equals, dissoc, pick, __, trim, toLower, without, clamp, head, reverse } from 'ramda';
7
+ import { modifyPath, prepend, assocPath, findIndex, propEq, dissocPath, is, groupBy, prop, keys, map, identical, modify, includes, pluck, fromPairs, toPairs, filter, isEmpty, equals, curry, isNil, complement, either, mergeDeepLeft, assoc, mergeLeft, identity, omit, mergeRight, last, concat, append, dissoc, pick, __, trim, toLower, without, clamp, head, reverse } from 'ramda';
8
8
  import { withTitle } from '@bigbinary/neeto-commons-frontend/react-utils';
9
9
  import { ExternalLink, MenuHorizontal, Up, Down, Search, Close, Right as Right$1, Info } from '@bigbinary/neeto-icons';
10
10
  import { Header as Header$2, Container, MenuBar, SubHeader as SubHeader$1 } from '@bigbinary/neetoui/layouts';
@@ -3685,6 +3685,7 @@ var buttons$1 = {
3685
3685
  cancel: "Cancel",
3686
3686
  changeRole: "Change role",
3687
3687
  proceed: "Proceed",
3688
+ reset: "Reset",
3688
3689
  saveChanges: "Save changes"
3689
3690
  };
3690
3691
  var columns$1 = {
@@ -3783,6 +3784,7 @@ var buttons = {
3783
3784
  cancel: "Annuler",
3784
3785
  changeRole: "Changer de rôle",
3785
3786
  proceed: "Procéder",
3787
+ reset: "Réinitialiser",
3786
3788
  saveChanges: "Sauvegarder les modifications"
3787
3789
  };
3788
3790
  var columns = {
@@ -3976,16 +3978,19 @@ const update$1 = (id, payload) => axios.patch(`${BASE_URL}/organization_roles/${
3976
3978
  const destroy = (id, payload) => axios.delete(`${BASE_URL}/organization_roles/${id}`, {
3977
3979
  data: payload
3978
3980
  });
3981
+ const bulkUpdate$1 = payload => axios.patch(`${BASE_URL}/organization_roles/bulk_update`, payload);
3979
3982
  const organizationRolesApi = {
3980
- fetch: fetch$1,
3983
+ bulkUpdate: bulkUpdate$1,
3981
3984
  create: create$1,
3982
- update: update$1,
3983
- destroy
3985
+ destroy,
3986
+ fetch: fetch$1,
3987
+ update: update$1
3984
3988
  };
3985
3989
 
3986
3990
  const _excluded$2 = ["onSuccess"],
3987
3991
  _excluded2$2 = ["onSuccess"],
3988
- _excluded3$1 = ["onSuccess"];
3992
+ _excluded3$1 = ["onSuccess"],
3993
+ _excluded4 = ["onSuccess"];
3989
3994
  function ownKeys$7(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; }
3990
3995
  function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$7(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$7(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
3991
3996
  const useFetchRoles = function () {
@@ -4057,6 +4062,19 @@ const useDestroyRole = _ref4 => {
4057
4062
  }
4058
4063
  }, options));
4059
4064
  };
4065
+ const useBulkUpdateRoles = _ref6 => {
4066
+ let onSuccess = _ref6.onSuccess,
4067
+ options = _objectWithoutProperties(_ref6, _excluded4);
4068
+ return useMutation(organizationRolesApi.bulkUpdate, _objectSpread$7({
4069
+ onSuccess: response => {
4070
+ queryClient.invalidateQueries(QUERY_KEYS.TEAMS);
4071
+ queryClient.invalidateQueries(QUERY_KEYS.TEAMS_DEPENDENCIES);
4072
+ queryClient.invalidateQueries(QUERY_KEYS.ROLES);
4073
+ Toastr.success(response.ntmNotice || response.data.ntmNotice);
4074
+ onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess();
4075
+ }
4076
+ }, options));
4077
+ };
4060
4078
 
4061
4079
  var distExports = {};
4062
4080
  var dist = {
@@ -5436,22 +5454,6 @@ var dist = {
5436
5454
 
5437
5455
  } (dist));
5438
5456
 
5439
- const renderSearchProps = (searchString, setSearchString) => ({
5440
- "data-cy": "ntm-search-roles-input",
5441
- onChange: _ref => {
5442
- let value = _ref.target.value;
5443
- return setSearchString(value);
5444
- },
5445
- placeholder: instance.t("common.search_", {
5446
- what: instance.t("common.role", PLURAL).toLocaleLowerCase()
5447
- }),
5448
- value: searchString
5449
- });
5450
- const renderBreadcrumbs = breadcrumbs => breadcrumbs !== null && breadcrumbs !== void 0 ? breadcrumbs : [{
5451
- text: instance.t("metaNames.member", PLURAL),
5452
- link: "/members"
5453
- }];
5454
-
5455
5457
  const AddRoleButton = _ref => {
5456
5458
  var _permissions$create, _permissions$create2;
5457
5459
  let onClick = _ref.onClick,
@@ -5472,9 +5474,28 @@ const AddRoleButton = _ref => {
5472
5474
  })));
5473
5475
  };
5474
5476
 
5477
+ const renderSearchProps = (searchString, setSearchString) => ({
5478
+ "data-cy": "ntm-search-roles-input",
5479
+ onChange: _ref => {
5480
+ let value = _ref.target.value;
5481
+ return setSearchString(value);
5482
+ },
5483
+ placeholder: instance.t("common.search_", {
5484
+ what: instance.t("common.role", PLURAL).toLocaleLowerCase()
5485
+ }),
5486
+ value: searchString
5487
+ });
5488
+ const renderBreadcrumbs = breadcrumbs => breadcrumbs !== null && breadcrumbs !== void 0 ? breadcrumbs : [{
5489
+ text: instance.t("metaNames.member", PLURAL),
5490
+ link: "/members"
5491
+ }];
5492
+
5475
5493
  const Header$1 = _ref => {
5476
5494
  var _config$header;
5477
5495
  let config = _ref.config,
5496
+ handleReset = _ref.handleReset,
5497
+ handleSubmit = _ref.handleSubmit,
5498
+ isDirty = _ref.isDirty,
5478
5499
  searchString = _ref.searchString,
5479
5500
  setSearchString = _ref.setSearchString,
5480
5501
  setIsNewRolePaneOpen = _ref.setIsNewRolePaneOpen;
@@ -5494,7 +5515,18 @@ const Header$1 = _ref => {
5494
5515
  })),
5495
5516
  breadcrumbs: renderBreadcrumbs(config === null || config === void 0 ? void 0 : (_config$header = config.header) === null || _config$header === void 0 ? void 0 : _config$header.breadcrumbs),
5496
5517
  searchProps: renderSearchProps(searchString, setSearchString),
5497
- actionBlock: /*#__PURE__*/e$1.createElement(AddRoleButton, {
5518
+ actionBlock: isDirty ? /*#__PURE__*/e$1.createElement(e$1.Fragment, null, /*#__PURE__*/e$1.createElement(Button, {
5519
+ "data-cy": "ntm-role-submission-button",
5520
+ onClick: handleSubmit,
5521
+ label: t("buttons.saveChanges"),
5522
+ type: "submit"
5523
+ }), /*#__PURE__*/e$1.createElement(Button, {
5524
+ "data-cy": "ntm-role-reset-button",
5525
+ label: t("buttons.reset"),
5526
+ onClick: handleReset,
5527
+ style: "text",
5528
+ type: "reset"
5529
+ })) : /*#__PURE__*/e$1.createElement(AddRoleButton, {
5498
5530
  onClick: () => setIsNewRolePaneOpen(true),
5499
5531
  permissions: config === null || config === void 0 ? void 0 : config.permissions
5500
5532
  }),
@@ -5502,17 +5534,6 @@ const Header$1 = _ref => {
5502
5534
  });
5503
5535
  };
5504
5536
 
5505
- const getPermissionGroups = function () {
5506
- let permissions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
5507
- const groupedPermissions = groupBy(permission => permission === null || permission === void 0 ? void 0 : permission.category, permissions);
5508
- const categories = Object.keys(groupedPermissions);
5509
- categories.forEach(category => {
5510
- groupedPermissions[category].permissions = groupedPermissions[category];
5511
- groupedPermissions[category].isPermissionsVisible = true;
5512
- });
5513
- return groupedPermissions;
5514
- };
5515
-
5516
5537
  const transformObjectToDotNotation = function (object) {
5517
5538
  let prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
5518
5539
  let result = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
@@ -5728,19 +5749,13 @@ const Row = _ref => {
5728
5749
  config = _ref.config,
5729
5750
  _ref$permission = _ref.permission,
5730
5751
  permission = _ref$permission === void 0 ? null : _ref$permission,
5731
- roles = _ref.roles;
5732
- const _useUpdateRole = useUpdateRole({}),
5733
- updateRole = _useUpdateRole.mutate;
5752
+ roles = _ref.roles,
5753
+ setModifiedRoles = _ref.setModifiedRoles;
5734
5754
  const allPermissionIdsOfCategory = map(prop("id"), (allPermissionsOfCategory === null || allPermissionsOfCategory === void 0 ? void 0 : allPermissionsOfCategory.permissions) || []);
5735
5755
  const handleSubmit = (role, checked) => {
5736
5756
  const permissionIds = allPermissionIdsOfCategory.length > 0 ? allPermissionIdsOfCategory : [permission.id];
5737
5757
  const modifiedRole = modify("permissionIds", () => checked ? removeDuplicates([...role.permissionIds, ...permissionIds]) : role.permissionIds.filter(id => !permissionIds.includes(id)), role);
5738
- updateRole({
5739
- id: role.id,
5740
- payload: {
5741
- organizationRole: modifiedRole
5742
- }
5743
- });
5758
+ setModifiedRoles(replaceById(role.id, modifiedRole));
5744
5759
  };
5745
5760
  const isCheckboxChecked = role => !allPermissionsOfCategory ? includes(permission.id, role.permissionIds) : allPermissionIdsOfCategory.every(id => includes(id, role.permissionIds));
5746
5761
  return /*#__PURE__*/e$1.createElement("div", {
@@ -5974,6 +5989,7 @@ const Columns$1 = _ref => {
5974
5989
  filteredGroupPermissions = _ref.filteredGroupPermissions,
5975
5990
  filteredRoles = _ref.filteredRoles,
5976
5991
  roles = _ref.roles,
5992
+ setModifiedRoles = _ref.setModifiedRoles,
5977
5993
  setIsScrollPresent = _ref.setIsScrollPresent;
5978
5994
  const _useState = useState(DEFAULT_MANAGE_ROLE_VALUES),
5979
5995
  _useState2 = _slicedToArray(_useState, 2),
@@ -6000,11 +6016,13 @@ const Columns$1 = _ref => {
6000
6016
  }, /*#__PURE__*/e$1.createElement(Row, {
6001
6017
  allPermissionsOfCategory: groupedPermissions,
6002
6018
  config: config,
6019
+ setModifiedRoles: setModifiedRoles,
6003
6020
  roles: filteredRoles
6004
6021
  }), isPermissionsVisible && groupedPermissions.permissions.map((permission, permissionIndex) => /*#__PURE__*/e$1.createElement(Row, {
6005
6022
  config: config,
6006
6023
  key: permissionIndex,
6007
6024
  permission: permission,
6025
+ setModifiedRoles: setModifiedRoles,
6008
6026
  roles: filteredRoles
6009
6027
  })));
6010
6028
  }))), /*#__PURE__*/e$1.createElement(Edit, {
@@ -6128,6 +6146,7 @@ const Table = _ref => {
6128
6146
  filteredRoles = _ref.filteredRoles,
6129
6147
  permissionGroups = _ref.permissionGroups,
6130
6148
  roles = _ref.roles,
6149
+ setModifiedRoles = _ref.setModifiedRoles,
6131
6150
  setIsNewRolePaneOpen = _ref.setIsNewRolePaneOpen;
6132
6151
  const _useTranslation = useTranslation(),
6133
6152
  t = _useTranslation.t;
@@ -6185,12 +6204,36 @@ const Table = _ref => {
6185
6204
  filteredGroupPermissions: filteredGroupPermissions,
6186
6205
  filteredRoles: filteredRoles,
6187
6206
  roles: roles,
6207
+ setModifiedRoles: setModifiedRoles,
6188
6208
  setIsScrollPresent: setIsScrollPresent
6189
6209
  }));
6190
6210
  };
6191
6211
 
6212
+ const getPermissionGroups = function () {
6213
+ let permissions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
6214
+ const groupedPermissions = groupBy(permission => permission === null || permission === void 0 ? void 0 : permission.category, permissions);
6215
+ const categories = Object.keys(groupedPermissions);
6216
+ categories.forEach(category => {
6217
+ groupedPermissions[category].permissions = groupedPermissions[category];
6218
+ groupedPermissions[category].isPermissionsVisible = true;
6219
+ });
6220
+ return groupedPermissions;
6221
+ };
6222
+ const getModifiedPermissions = function () {
6223
+ let roles = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
6224
+ let modifiedRoles = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
6225
+ return modifiedRoles.map(role => {
6226
+ const oldPermissions = findById(role.id, roles).permissionIds;
6227
+ if (equals(oldPermissions, role.permissionIds)) return false;
6228
+ return {
6229
+ id: role.id,
6230
+ permissionIds: role.permissionIds
6231
+ };
6232
+ }).filter(Boolean);
6233
+ };
6234
+
6192
6235
  const Roles = _ref => {
6193
- var _config$permissions$v, _config$permissions, _config$permissions$v2, _config$permissions2;
6236
+ var _config$permissions$v, _config$permissions, _config$permissions$v2, _config$permissions2, _config$permissions$u, _config$permissions3;
6194
6237
  let config = _ref.config;
6195
6238
  const _useTranslation = useTranslation(),
6196
6239
  t = _useTranslation.t;
@@ -6207,7 +6250,7 @@ const Roles = _ref => {
6207
6250
  isNewRolePaneOpen = _useState6[0],
6208
6251
  setIsNewRolePaneOpen = _useState6[1];
6209
6252
  const _useFetchRoles = useFetchRoles({
6210
- onSuccess: roles => setFilteredRoles(roles),
6253
+ onSuccess: roles => setModifiedRoles(roles),
6211
6254
  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
6212
6255
  }),
6213
6256
  roles = _useFetchRoles.data,
@@ -6217,13 +6260,31 @@ const Roles = _ref => {
6217
6260
  }),
6218
6261
  permissions = _useFetchPermissions.data,
6219
6262
  isPermissionsLoading = _useFetchPermissions.isLoading;
6263
+ const _useBulkUpdateRoles = useBulkUpdateRoles({
6264
+ enabled: (_config$permissions$u = config === null || config === void 0 ? void 0 : (_config$permissions3 = config.permissions) === null || _config$permissions3 === void 0 ? void 0 : _config$permissions3.update) !== null && _config$permissions$u !== void 0 ? _config$permissions$u : DEFAULT_PERMISSION
6265
+ }),
6266
+ bulkUpdate = _useBulkUpdateRoles.mutate;
6267
+ const _useState7 = useState(roles),
6268
+ _useState8 = _slicedToArray(_useState7, 2),
6269
+ modifiedRoles = _useState8[0],
6270
+ setModifiedRoles = _useState8[1];
6271
+ const isDirty = isPresent(getModifiedPermissions(roles, modifiedRoles));
6220
6272
  const permissionGroups = getPermissionGroups(permissions);
6221
6273
  useEffect(() => {
6222
6274
  setFilteredRoles(filter(_ref2 => {
6223
6275
  let name = _ref2.name;
6224
6276
  return includes(searchString.toLowerCase().trim(), name.toLowerCase().trim());
6225
- }, roles || []));
6226
- }, [roles, searchString]);
6277
+ }, modifiedRoles || []));
6278
+ }, [modifiedRoles, searchString]);
6279
+ const handleSubmit = () => {
6280
+ const updatedRoles = getModifiedPermissions(roles, modifiedRoles);
6281
+ bulkUpdate({
6282
+ organizationRoles: {
6283
+ updatedRoles
6284
+ }
6285
+ });
6286
+ };
6287
+ const handleReset = () => setModifiedRoles(roles);
6227
6288
  if (isRolesLoading || isPermissionsLoading) {
6228
6289
  return /*#__PURE__*/e$1.createElement("div", {
6229
6290
  className: "ntm-members-page-loader"
@@ -6233,6 +6294,9 @@ const Roles = _ref => {
6233
6294
  isHeaderFixed: true
6234
6295
  }, /*#__PURE__*/e$1.createElement(Header$1, {
6235
6296
  config: config,
6297
+ handleReset: handleReset,
6298
+ handleSubmit: handleSubmit,
6299
+ isDirty: isDirty,
6236
6300
  searchString: searchString,
6237
6301
  setSearchString: setSearchString,
6238
6302
  setIsNewRolePaneOpen: setIsNewRolePaneOpen
@@ -6241,6 +6305,7 @@ const Roles = _ref => {
6241
6305
  filteredRoles: filteredRoles,
6242
6306
  permissionGroups: permissionGroups,
6243
6307
  roles: roles,
6308
+ setModifiedRoles: setModifiedRoles,
6244
6309
  setIsNewRolePaneOpen: setIsNewRolePaneOpen
6245
6310
  }), (config === null || config === void 0 ? void 0 : config.helpUrl) && /*#__PURE__*/e$1.createElement("div", {
6246
6311
  className: "ntm-roles-help-url-wrapper"
@@ -6994,16 +7059,20 @@ var objectInspect = function inspect_(obj, options, depth, seen) {
6994
7059
  }
6995
7060
  if (isMap(obj)) {
6996
7061
  var mapParts = [];
6997
- mapForEach.call(obj, function (value, key) {
6998
- mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));
6999
- });
7062
+ if (mapForEach) {
7063
+ mapForEach.call(obj, function (value, key) {
7064
+ mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));
7065
+ });
7066
+ }
7000
7067
  return collectionOf('Map', mapSize.call(obj), mapParts, indent);
7001
7068
  }
7002
7069
  if (isSet(obj)) {
7003
7070
  var setParts = [];
7004
- setForEach.call(obj, function (value) {
7005
- setParts.push(inspect(value, obj));
7006
- });
7071
+ if (setForEach) {
7072
+ setForEach.call(obj, function (value) {
7073
+ setParts.push(inspect(value, obj));
7074
+ });
7075
+ }
7007
7076
  return collectionOf('Set', setSize.call(obj), setParts, indent);
7008
7077
  }
7009
7078
  if (isWeakMap(obj)) {
@@ -9986,7 +10055,11 @@ const TeamMembers = _ref => {
9986
10055
  roles = _useFetchRoles.data,
9987
10056
  isRolesLoading = _useFetchRoles.isLoading;
9988
10057
  const _useUpdateMember = useUpdateMember({
9989
- onSuccess: () => handleAlertClose()
10058
+ onSuccess: () => {
10059
+ var _config$updateMember, _config$updateMember$;
10060
+ handleAlertClose();
10061
+ config === null || config === void 0 ? void 0 : (_config$updateMember = config.updateMember) === null || _config$updateMember === void 0 ? void 0 : (_config$updateMember$ = _config$updateMember.onSuccess) === null || _config$updateMember$ === void 0 ? void 0 : _config$updateMember$.callback();
10062
+ }
9990
10063
  }),
9991
10064
  updateMember = _useUpdateMember.mutate,
9992
10065
  isUpdatingMember = _useUpdateMember.isLoading;
@@ -10195,7 +10268,7 @@ const VALIDATION_SCHEMA = {
10195
10268
 
10196
10269
  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}}
10197
10270
 
10198
- 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-form__header {\n margin-bottom: 0.5rem;\n}\n.ntm-members-form__body {\n width: 100%;\n padding-bottom: 1rem;\n}\n.ntm-members-form__body > * + * {\n margin-top: 1rem;\n}\n.ntm-members-form__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-form-radio-item__wrapper {\n width: 100%;\n cursor: pointer;\n padding: 8px 0px !important;\n}\n.ntm-members-form-radio-item__wrapper:first-child {\n padding-top: 0px !important;\n}\n.ntm-members-form-radio-item__label {\n margin-bottom: 0 !important;\n}\n.ntm-members-form-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\n.neeto-ui-subheader .neeto-ui-subheader__left-wrapper .neeto-ui-subheader__left {\n max-width: none;\n}\n\ntd.ant-table-column-sort {\n background: transparent;\n}";
10271
+ 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-form__header {\n margin-bottom: 0.5rem;\n}\n.ntm-members-form__body {\n width: 100%;\n padding-bottom: 1rem;\n}\n.ntm-members-form__body > * + * {\n margin-top: 1rem;\n}\n.ntm-members-form__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-form-radio-item__wrapper {\n width: 100%;\n cursor: pointer;\n padding: 8px 0px !important;\n}\n.ntm-members-form-radio-item__wrapper:first-child {\n padding-top: 0px !important;\n}\n.ntm-members-form-radio-item__label {\n margin-bottom: 0 !important;\n}\n.ntm-members-form-radio-item__description {\n color: rgb(var(--neeto-ui-gray-700));\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 padding: 0 1.5rem;\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 border-left: thin solid rgb(var(--neeto-ui-gray-300));\n border-top: 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: 20px 24px;\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}\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 24px;\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 24px;\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 border-top: thin solid rgb(var(--neeto-ui-gray-300));\n border-bottom: thin solid rgb(var(--neeto-ui-gray-300));\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 0;\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\n.neeto-ui-subheader .neeto-ui-subheader__left-wrapper .neeto-ui-subheader__left {\n max-width: none;\n}\n\ntd.ant-table-column-sort {\n background: transparent;\n}";
10199
10272
  n(css,{});
10200
10273
 
10201
10274
  export { ManageMember, MultipleEmailInput, index$1 as Roles, RolesRadioGroup, index as TeamMembers, VALIDATION_SCHEMA, hasPermission, refetchMembers };