@bigbinary/neeto-team-members-frontend 2.4.4 → 2.4.6

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.cjs.js CHANGED
@@ -3,10 +3,10 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
+ var ramda = require('ramda');
6
7
  var ReactDOM = require('react-dom');
7
8
  var axios = require('axios');
8
9
  var neetoui = require('@bigbinary/neetoui');
9
- var ramda = require('ramda');
10
10
  var layouts = require('@bigbinary/neetoui/layouts');
11
11
  var formik = require('formik');
12
12
  var formik$1 = require('@bigbinary/neetoui/formik');
@@ -169,9 +169,9 @@ function _toArray(arr) {
169
169
  return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest();
170
170
  }
171
171
 
172
- function ownKeys$9(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
172
+ function ownKeys$b(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
173
173
 
174
- function _objectSpread$9(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$9(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$9(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
174
+ function _objectSpread$b(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$b(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$b(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
175
175
 
176
176
  var consoleLogger = {
177
177
  type: 'logger',
@@ -258,7 +258,7 @@ var Logger = function () {
258
258
  }, {
259
259
  key: "create",
260
260
  value: function create(moduleName) {
261
- return new Logger(this.logger, _objectSpread$9(_objectSpread$9({}, {
261
+ return new Logger(this.logger, _objectSpread$b(_objectSpread$b({}, {
262
262
  prefix: "".concat(this.prefix, ":").concat(moduleName, ":")
263
263
  }), this.options));
264
264
  }
@@ -1174,7 +1174,7 @@ var Translator = function (_EventEmitter) {
1174
1174
  return Translator;
1175
1175
  }(EventEmitter);
1176
1176
 
1177
- function capitalize(string) {
1177
+ function capitalize$1(string) {
1178
1178
  return string.charAt(0).toUpperCase() + string.slice(1);
1179
1179
  }
1180
1180
 
@@ -1218,13 +1218,13 @@ var LanguageUtil = function () {
1218
1218
  } else if (p.length === 2) {
1219
1219
  p[0] = p[0].toLowerCase();
1220
1220
  p[1] = p[1].toUpperCase();
1221
- if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());
1221
+ if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize$1(p[1].toLowerCase());
1222
1222
  } else if (p.length === 3) {
1223
1223
  p[0] = p[0].toLowerCase();
1224
1224
  if (p[1].length === 2) p[1] = p[1].toUpperCase();
1225
1225
  if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();
1226
- if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());
1227
- if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());
1226
+ if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize$1(p[1].toLowerCase());
1227
+ if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize$1(p[2].toLowerCase());
1228
1228
  }
1229
1229
 
1230
1230
  return p.join('-');
@@ -3030,103 +3030,80 @@ function defaults(obj) {
3030
3030
 
3031
3031
  // eslint-disable-next-line no-control-regex
3032
3032
  var fieldContentRegExp = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;
3033
-
3034
3033
  var serializeCookie = function serializeCookie(name, val, options) {
3035
3034
  var opt = options || {};
3036
3035
  opt.path = opt.path || '/';
3037
3036
  var value = encodeURIComponent(val);
3038
3037
  var str = "".concat(name, "=").concat(value);
3039
-
3040
3038
  if (opt.maxAge > 0) {
3041
3039
  var maxAge = opt.maxAge - 0;
3042
3040
  if (Number.isNaN(maxAge)) throw new Error('maxAge should be a Number');
3043
3041
  str += "; Max-Age=".concat(Math.floor(maxAge));
3044
3042
  }
3045
-
3046
3043
  if (opt.domain) {
3047
3044
  if (!fieldContentRegExp.test(opt.domain)) {
3048
3045
  throw new TypeError('option domain is invalid');
3049
3046
  }
3050
-
3051
3047
  str += "; Domain=".concat(opt.domain);
3052
3048
  }
3053
-
3054
3049
  if (opt.path) {
3055
3050
  if (!fieldContentRegExp.test(opt.path)) {
3056
3051
  throw new TypeError('option path is invalid');
3057
3052
  }
3058
-
3059
3053
  str += "; Path=".concat(opt.path);
3060
3054
  }
3061
-
3062
3055
  if (opt.expires) {
3063
3056
  if (typeof opt.expires.toUTCString !== 'function') {
3064
3057
  throw new TypeError('option expires is invalid');
3065
3058
  }
3066
-
3067
3059
  str += "; Expires=".concat(opt.expires.toUTCString());
3068
3060
  }
3069
-
3070
3061
  if (opt.httpOnly) str += '; HttpOnly';
3071
3062
  if (opt.secure) str += '; Secure';
3072
-
3073
3063
  if (opt.sameSite) {
3074
3064
  var sameSite = typeof opt.sameSite === 'string' ? opt.sameSite.toLowerCase() : opt.sameSite;
3075
-
3076
3065
  switch (sameSite) {
3077
3066
  case true:
3078
3067
  str += '; SameSite=Strict';
3079
3068
  break;
3080
-
3081
3069
  case 'lax':
3082
3070
  str += '; SameSite=Lax';
3083
3071
  break;
3084
-
3085
3072
  case 'strict':
3086
3073
  str += '; SameSite=Strict';
3087
3074
  break;
3088
-
3089
3075
  case 'none':
3090
3076
  str += '; SameSite=None';
3091
3077
  break;
3092
-
3093
3078
  default:
3094
3079
  throw new TypeError('option sameSite is invalid');
3095
3080
  }
3096
3081
  }
3097
-
3098
3082
  return str;
3099
3083
  };
3100
-
3101
3084
  var cookie = {
3102
3085
  create: function create(name, value, minutes, domain) {
3103
3086
  var cookieOptions = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {
3104
3087
  path: '/',
3105
3088
  sameSite: 'strict'
3106
3089
  };
3107
-
3108
3090
  if (minutes) {
3109
3091
  cookieOptions.expires = new Date();
3110
3092
  cookieOptions.expires.setTime(cookieOptions.expires.getTime() + minutes * 60 * 1000);
3111
3093
  }
3112
-
3113
3094
  if (domain) cookieOptions.domain = domain;
3114
3095
  document.cookie = serializeCookie(name, encodeURIComponent(value), cookieOptions);
3115
3096
  },
3116
3097
  read: function read(name) {
3117
3098
  var nameEQ = "".concat(name, "=");
3118
3099
  var ca = document.cookie.split(';');
3119
-
3120
3100
  for (var i = 0; i < ca.length; i++) {
3121
3101
  var c = ca[i];
3122
-
3123
3102
  while (c.charAt(0) === ' ') {
3124
3103
  c = c.substring(1, c.length);
3125
3104
  }
3126
-
3127
3105
  if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);
3128
3106
  }
3129
-
3130
3107
  return null;
3131
3108
  },
3132
3109
  remove: function remove(name) {
@@ -3137,12 +3114,10 @@ var cookie$1 = {
3137
3114
  name: 'cookie',
3138
3115
  lookup: function lookup(options) {
3139
3116
  var found;
3140
-
3141
3117
  if (options.lookupCookie && typeof document !== 'undefined') {
3142
3118
  var c = cookie.read(options.lookupCookie);
3143
3119
  if (c) found = c;
3144
3120
  }
3145
-
3146
3121
  return found;
3147
3122
  },
3148
3123
  cacheUserLanguage: function cacheUserLanguage(lng, options) {
@@ -3156,39 +3131,30 @@ var querystring = {
3156
3131
  name: 'querystring',
3157
3132
  lookup: function lookup(options) {
3158
3133
  var found;
3159
-
3160
3134
  if (typeof window !== 'undefined') {
3161
3135
  var search = window.location.search;
3162
-
3163
3136
  if (!window.location.search && window.location.hash && window.location.hash.indexOf('?') > -1) {
3164
3137
  search = window.location.hash.substring(window.location.hash.indexOf('?'));
3165
3138
  }
3166
-
3167
3139
  var query = search.substring(1);
3168
3140
  var params = query.split('&');
3169
-
3170
3141
  for (var i = 0; i < params.length; i++) {
3171
3142
  var pos = params[i].indexOf('=');
3172
-
3173
3143
  if (pos > 0) {
3174
3144
  var key = params[i].substring(0, pos);
3175
-
3176
3145
  if (key === options.lookupQuerystring) {
3177
3146
  found = params[i].substring(pos + 1);
3178
3147
  }
3179
3148
  }
3180
3149
  }
3181
3150
  }
3182
-
3183
3151
  return found;
3184
3152
  }
3185
3153
  };
3186
3154
 
3187
3155
  var hasLocalStorageSupport = null;
3188
-
3189
3156
  var localStorageAvailable = function localStorageAvailable() {
3190
3157
  if (hasLocalStorageSupport !== null) return hasLocalStorageSupport;
3191
-
3192
3158
  try {
3193
3159
  hasLocalStorageSupport = window !== 'undefined' && window.localStorage !== null;
3194
3160
  var testKey = 'i18next.translate.boo';
@@ -3197,20 +3163,16 @@ var localStorageAvailable = function localStorageAvailable() {
3197
3163
  } catch (e) {
3198
3164
  hasLocalStorageSupport = false;
3199
3165
  }
3200
-
3201
3166
  return hasLocalStorageSupport;
3202
3167
  };
3203
-
3204
3168
  var localStorage$1 = {
3205
3169
  name: 'localStorage',
3206
3170
  lookup: function lookup(options) {
3207
3171
  var found;
3208
-
3209
3172
  if (options.lookupLocalStorage && localStorageAvailable()) {
3210
3173
  var lng = window.localStorage.getItem(options.lookupLocalStorage);
3211
3174
  if (lng) found = lng;
3212
3175
  }
3213
-
3214
3176
  return found;
3215
3177
  },
3216
3178
  cacheUserLanguage: function cacheUserLanguage(lng, options) {
@@ -3221,10 +3183,8 @@ var localStorage$1 = {
3221
3183
  };
3222
3184
 
3223
3185
  var hasSessionStorageSupport = null;
3224
-
3225
3186
  var sessionStorageAvailable = function sessionStorageAvailable() {
3226
3187
  if (hasSessionStorageSupport !== null) return hasSessionStorageSupport;
3227
-
3228
3188
  try {
3229
3189
  hasSessionStorageSupport = window !== 'undefined' && window.sessionStorage !== null;
3230
3190
  var testKey = 'i18next.translate.boo';
@@ -3233,20 +3193,16 @@ var sessionStorageAvailable = function sessionStorageAvailable() {
3233
3193
  } catch (e) {
3234
3194
  hasSessionStorageSupport = false;
3235
3195
  }
3236
-
3237
3196
  return hasSessionStorageSupport;
3238
3197
  };
3239
-
3240
3198
  var sessionStorage = {
3241
3199
  name: 'sessionStorage',
3242
3200
  lookup: function lookup(options) {
3243
3201
  var found;
3244
-
3245
3202
  if (options.lookupSessionStorage && sessionStorageAvailable()) {
3246
3203
  var lng = window.sessionStorage.getItem(options.lookupSessionStorage);
3247
3204
  if (lng) found = lng;
3248
3205
  }
3249
-
3250
3206
  return found;
3251
3207
  },
3252
3208
  cacheUserLanguage: function cacheUserLanguage(lng, options) {
@@ -3260,7 +3216,6 @@ var navigator$1 = {
3260
3216
  name: 'navigator',
3261
3217
  lookup: function lookup(options) {
3262
3218
  var found = [];
3263
-
3264
3219
  if (typeof navigator !== 'undefined') {
3265
3220
  if (navigator.languages) {
3266
3221
  // chrome only; not an array, so can't use .push.apply instead of iterating
@@ -3268,16 +3223,13 @@ var navigator$1 = {
3268
3223
  found.push(navigator.languages[i]);
3269
3224
  }
3270
3225
  }
3271
-
3272
3226
  if (navigator.userLanguage) {
3273
3227
  found.push(navigator.userLanguage);
3274
3228
  }
3275
-
3276
3229
  if (navigator.language) {
3277
3230
  found.push(navigator.language);
3278
3231
  }
3279
3232
  }
3280
-
3281
3233
  return found.length > 0 ? found : undefined;
3282
3234
  }
3283
3235
  };
@@ -3287,11 +3239,9 @@ var htmlTag = {
3287
3239
  lookup: function lookup(options) {
3288
3240
  var found;
3289
3241
  var htmlTag = options.htmlTag || (typeof document !== 'undefined' ? document.documentElement : null);
3290
-
3291
3242
  if (htmlTag && typeof htmlTag.getAttribute === 'function') {
3292
3243
  found = htmlTag.getAttribute('lang');
3293
3244
  }
3294
-
3295
3245
  return found;
3296
3246
  }
3297
3247
  };
@@ -3300,23 +3250,19 @@ var path = {
3300
3250
  name: 'path',
3301
3251
  lookup: function lookup(options) {
3302
3252
  var found;
3303
-
3304
3253
  if (typeof window !== 'undefined') {
3305
3254
  var language = window.location.pathname.match(/\/([a-zA-Z-]*)/g);
3306
-
3307
3255
  if (language instanceof Array) {
3308
3256
  if (typeof options.lookupFromPathIndex === 'number') {
3309
3257
  if (typeof language[options.lookupFromPathIndex] !== 'string') {
3310
3258
  return undefined;
3311
3259
  }
3312
-
3313
3260
  found = language[options.lookupFromPathIndex].replace('/', '');
3314
3261
  } else {
3315
3262
  found = language[0].replace('/', '');
3316
3263
  }
3317
3264
  }
3318
3265
  }
3319
-
3320
3266
  return found;
3321
3267
  }
3322
3268
  };
@@ -3325,14 +3271,15 @@ var subdomain = {
3325
3271
  name: 'subdomain',
3326
3272
  lookup: function lookup(options) {
3327
3273
  // If given get the subdomain index else 1
3328
- var lookupFromSubdomainIndex = typeof options.lookupFromSubdomainIndex === 'number' ? options.lookupFromSubdomainIndex + 1 : 1; // get all matches if window.location. is existing
3274
+ var lookupFromSubdomainIndex = typeof options.lookupFromSubdomainIndex === 'number' ? options.lookupFromSubdomainIndex + 1 : 1;
3275
+ // get all matches if window.location. is existing
3329
3276
  // first item of match is the match itself and the second is the first group macht which sould be the first subdomain match
3330
3277
  // is the hostname no public domain get the or option of localhost
3278
+ var language = typeof window !== 'undefined' && window.location && window.location.hostname && window.location.hostname.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);
3331
3279
 
3332
- var language = typeof window !== 'undefined' && window.location && window.location.hostname && window.location.hostname.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i); // if there is no match (null) return undefined
3333
-
3334
- if (!language) return undefined; // return the given group match
3335
-
3280
+ // if there is no match (null) return undefined
3281
+ if (!language) return undefined;
3282
+ // return the given group match
3336
3283
  return language[lookupFromSubdomainIndex];
3337
3284
  }
3338
3285
  };
@@ -3346,31 +3293,28 @@ function getDefaults$1() {
3346
3293
  lookupSessionStorage: 'i18nextLng',
3347
3294
  // cache user language
3348
3295
  caches: ['localStorage'],
3349
- excludeCacheFor: ['cimode'] // cookieMinutes: 10,
3296
+ excludeCacheFor: ['cimode']
3297
+ // cookieMinutes: 10,
3350
3298
  // cookieDomain: 'myDomain'
3351
-
3352
3299
  };
3353
3300
  }
3354
-
3355
3301
  var Browser = /*#__PURE__*/function () {
3356
3302
  function Browser(services) {
3357
3303
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
3358
-
3359
3304
  _classCallCheck(this, Browser);
3360
-
3361
3305
  this.type = 'languageDetector';
3362
3306
  this.detectors = {};
3363
3307
  this.init(services, options);
3364
3308
  }
3365
-
3366
3309
  _createClass(Browser, [{
3367
3310
  key: "init",
3368
3311
  value: function init(services) {
3369
3312
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
3370
3313
  var i18nOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
3371
3314
  this.services = services;
3372
- this.options = defaults(options, this.options || {}, getDefaults$1()); // backwards compatibility
3315
+ this.options = defaults(options, this.options || {}, getDefaults$1());
3373
3316
 
3317
+ // backwards compatibility
3374
3318
  if (this.options.lookupFromUrlIndex) this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex;
3375
3319
  this.i18nOptions = i18nOptions;
3376
3320
  this.addDetector(cookie$1);
@@ -3391,26 +3335,22 @@ var Browser = /*#__PURE__*/function () {
3391
3335
  key: "detect",
3392
3336
  value: function detect(detectionOrder) {
3393
3337
  var _this = this;
3394
-
3395
3338
  if (!detectionOrder) detectionOrder = this.options.order;
3396
3339
  var detected = [];
3397
3340
  detectionOrder.forEach(function (detectorName) {
3398
3341
  if (_this.detectors[detectorName]) {
3399
3342
  var lookup = _this.detectors[detectorName].lookup(_this.options);
3400
-
3401
3343
  if (lookup && typeof lookup === 'string') lookup = [lookup];
3402
3344
  if (lookup) detected = detected.concat(lookup);
3403
3345
  }
3404
3346
  });
3405
3347
  if (this.services.languageUtils.getBestMatchFromCodes) return detected; // new i18next v19.5.0
3406
-
3407
3348
  return detected.length > 0 ? detected[0] : null; // a little backward compatibility
3408
3349
  }
3409
3350
  }, {
3410
3351
  key: "cacheUserLanguage",
3411
3352
  value: function cacheUserLanguage(lng, caches) {
3412
3353
  var _this2 = this;
3413
-
3414
3354
  if (!caches) caches = this.options.caches;
3415
3355
  if (!caches) return;
3416
3356
  if (this.options.excludeCacheFor && this.options.excludeCacheFor.indexOf(lng) > -1) return;
@@ -3419,10 +3359,8 @@ var Browser = /*#__PURE__*/function () {
3419
3359
  });
3420
3360
  }
3421
3361
  }]);
3422
-
3423
3362
  return Browser;
3424
3363
  }();
3425
-
3426
3364
  Browser.type = 'languageDetector';
3427
3365
 
3428
3366
  function _objectWithoutPropertiesLoose(source, excluded) {
@@ -3456,6 +3394,30 @@ function _objectWithoutProperties(source, excluded) {
3456
3394
 
3457
3395
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
3458
3396
 
3397
+ /**
3398
+ * This file automatically generated from `pre-publish.js`.
3399
+ * Do not manually edit.
3400
+ */
3401
+
3402
+ var voidElements = {
3403
+ "area": true,
3404
+ "base": true,
3405
+ "br": true,
3406
+ "col": true,
3407
+ "embed": true,
3408
+ "hr": true,
3409
+ "img": true,
3410
+ "input": true,
3411
+ "link": true,
3412
+ "meta": true,
3413
+ "param": true,
3414
+ "source": true,
3415
+ "track": true,
3416
+ "wbr": true
3417
+ };
3418
+
3419
+ var t$1=/\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?(".*?"|'.*?')/g;function n$1(n){var r={type:"tag",name:"",voidElement:!1,attrs:{},children:[]},i=n.match(/<\/?([^\s]+?)[/\s>]/);if(i&&(r.name=i[1],(voidElements[i[1]]||"/"===n.charAt(n.length-2))&&(r.voidElement=!0),r.name.startsWith("!--"))){var s=n.indexOf("--\x3e");return {type:"comment",comment:-1!==s?n.slice(4,s):""}}for(var a=new RegExp(t$1),c=null;null!==(c=a.exec(n));)if(c[0].trim())if(c[1]){var o=c[1].trim(),l=[o,""];o.indexOf("=")>-1&&(l=o.split("=")),r.attrs[l[0]]=l[1],a.lastIndex--;}else c[2]&&(r.attrs[c[2]]=c[3].trim().substring(1,c[3].length-1));return r}var r=/<[a-zA-Z0-9\-\!\/](?:"[^"]*"|'[^']*'|[^'">])*>/g,i=/^\s*$/,s=Object.create(null);function a(e,t){switch(t.type){case"text":return e+t.content;case"tag":return e+="<"+t.name+(t.attrs?function(e){var t=[];for(var n in e)t.push(n+'="'+e[n]+'"');return t.length?" "+t.join(" "):""}(t.attrs):"")+(t.voidElement?"/>":">"),t.voidElement?e:e+t.children.reduce(a,"")+"</"+t.name+">";case"comment":return e+"\x3c!--"+t.comment+"--\x3e"}}var c={parse:function(e,t){t||(t={}),t.components||(t.components=s);var a,c=[],o=[],l=-1,m=!1;if(0!==e.indexOf("<")){var u=e.indexOf("<");c.push({type:"text",content:-1===u?e:e.substring(0,u)});}return e.replace(r,function(r,s){if(m){if(r!=="</"+a.name+">")return;m=!1;}var u,f="/"!==r.charAt(1),h=r.startsWith("\x3c!--"),p=s+r.length,d=e.charAt(p);if(h){var v=n$1(r);return l<0?(c.push(v),c):((u=o[l]).children.push(v),c)}if(f&&(l++,"tag"===(a=n$1(r)).type&&t.components[a.name]&&(a.type="component",m=!0),a.voidElement||m||!d||"<"===d||a.children.push({type:"text",content:e.slice(p,e.indexOf("<",p))}),0===l&&c.push(a),(u=o[l-1])&&u.children.push(a),o[l]=a),(!f||a.voidElement)&&(l>-1&&(a.voidElement||a.name===r.slice(2,-1))&&(l--,a=-1===l?c:o[l]),!m&&"<"!==d&&d)){u=-1===l?c:o[l].children;var x=e.indexOf("<",p),g=e.slice(p,-1===x?void 0:x);i.test(g)&&(g=" "),(x>-1&&l+u.length>=0||" "!==g)&&u.push({type:"text",content:g});}}),c},stringify:function(e){return e.reduce(function(e,t){return e+a("",t)},"")}};
3420
+
3459
3421
  var matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;
3460
3422
  var htmlEntities = {
3461
3423
  '&amp;': '&',
@@ -3488,9 +3450,9 @@ var unescape = function unescape(text) {
3488
3450
  return text.replace(matchHtmlEntity, unescapeHtmlEntity);
3489
3451
  };
3490
3452
 
3491
- function ownKeys$8(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
3453
+ function ownKeys$a(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
3492
3454
 
3493
- function _objectSpread$8(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$8(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$8(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
3455
+ function _objectSpread$a(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$a(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$a(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
3494
3456
  var defaultOptions = {
3495
3457
  bindI18n: 'languageChanged',
3496
3458
  bindI18nStore: '',
@@ -3505,7 +3467,7 @@ var i18nInstance;
3505
3467
  var I18nContext = React.createContext();
3506
3468
  function setDefaults() {
3507
3469
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3508
- defaultOptions = _objectSpread$8(_objectSpread$8({}, defaultOptions), options);
3470
+ defaultOptions = _objectSpread$a(_objectSpread$a({}, defaultOptions), options);
3509
3471
  }
3510
3472
  function getDefaults() {
3511
3473
  return defaultOptions;
@@ -3629,6 +3591,274 @@ function hasLoadedNamespace(ns, i18n) {
3629
3591
  });
3630
3592
  }
3631
3593
 
3594
+ var _excluded$2 = ["format"],
3595
+ _excluded2$2 = ["children", "count", "parent", "i18nKey", "context", "tOptions", "values", "defaults", "components", "ns", "i18n", "t", "shouldUnescape"];
3596
+
3597
+ function ownKeys$9(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
3598
+
3599
+ function _objectSpread$9(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$9(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$9(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
3600
+
3601
+ function hasChildren(node, checkLength) {
3602
+ if (!node) return false;
3603
+ var base = node.props ? node.props.children : node.children;
3604
+ if (checkLength) return base.length > 0;
3605
+ return !!base;
3606
+ }
3607
+
3608
+ function getChildren(node) {
3609
+ if (!node) return [];
3610
+ return node.props ? node.props.children : node.children;
3611
+ }
3612
+
3613
+ function hasValidReactChildren(children) {
3614
+ if (Object.prototype.toString.call(children) !== '[object Array]') return false;
3615
+ return children.every(function (child) {
3616
+ return React.isValidElement(child);
3617
+ });
3618
+ }
3619
+
3620
+ function getAsArray(data) {
3621
+ return Array.isArray(data) ? data : [data];
3622
+ }
3623
+
3624
+ function mergeProps(source, target) {
3625
+ var newTarget = _objectSpread$9({}, target);
3626
+
3627
+ newTarget.props = Object.assign(source.props, target.props);
3628
+ return newTarget;
3629
+ }
3630
+
3631
+ function nodesToString(children, i18nOptions) {
3632
+ if (!children) return '';
3633
+ var stringNode = '';
3634
+ var childrenArray = getAsArray(children);
3635
+ var keepArray = i18nOptions.transSupportBasicHtmlNodes && i18nOptions.transKeepBasicHtmlNodesFor ? i18nOptions.transKeepBasicHtmlNodesFor : [];
3636
+ childrenArray.forEach(function (child, childIndex) {
3637
+ if (typeof child === 'string') {
3638
+ stringNode += "".concat(child);
3639
+ } else if (React.isValidElement(child)) {
3640
+ var childPropsCount = Object.keys(child.props).length;
3641
+ var shouldKeepChild = keepArray.indexOf(child.type) > -1;
3642
+ var childChildren = child.props.children;
3643
+
3644
+ if (!childChildren && shouldKeepChild && childPropsCount === 0) {
3645
+ stringNode += "<".concat(child.type, "/>");
3646
+ } else if (!childChildren && (!shouldKeepChild || childPropsCount !== 0)) {
3647
+ stringNode += "<".concat(childIndex, "></").concat(childIndex, ">");
3648
+ } else if (child.props.i18nIsDynamicList) {
3649
+ stringNode += "<".concat(childIndex, "></").concat(childIndex, ">");
3650
+ } else if (shouldKeepChild && childPropsCount === 1 && typeof childChildren === 'string') {
3651
+ stringNode += "<".concat(child.type, ">").concat(childChildren, "</").concat(child.type, ">");
3652
+ } else {
3653
+ var content = nodesToString(childChildren, i18nOptions);
3654
+ stringNode += "<".concat(childIndex, ">").concat(content, "</").concat(childIndex, ">");
3655
+ }
3656
+ } else if (child === null) {
3657
+ warn("Trans: the passed in value is invalid - seems you passed in a null child.");
3658
+ } else if (_typeof(child) === 'object') {
3659
+ var format = child.format,
3660
+ clone = _objectWithoutProperties(child, _excluded$2);
3661
+
3662
+ var keys = Object.keys(clone);
3663
+
3664
+ if (keys.length === 1) {
3665
+ var value = format ? "".concat(keys[0], ", ").concat(format) : keys[0];
3666
+ stringNode += "{{".concat(value, "}}");
3667
+ } else {
3668
+ warn("react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.", child);
3669
+ }
3670
+ } else {
3671
+ warn("Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.", child);
3672
+ }
3673
+ });
3674
+ return stringNode;
3675
+ }
3676
+
3677
+ function renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, shouldUnescape) {
3678
+ if (targetString === '') return [];
3679
+ var keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];
3680
+ var emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.join('|')).test(targetString);
3681
+ if (!children && !emptyChildrenButNeedsHandling) return [targetString];
3682
+ var data = {};
3683
+
3684
+ function getData(childs) {
3685
+ var childrenArray = getAsArray(childs);
3686
+ childrenArray.forEach(function (child) {
3687
+ if (typeof child === 'string') return;
3688
+ if (hasChildren(child)) getData(getChildren(child));else if (_typeof(child) === 'object' && !React.isValidElement(child)) Object.assign(data, child);
3689
+ });
3690
+ }
3691
+
3692
+ getData(children);
3693
+ var ast = c.parse("<0>".concat(targetString, "</0>"));
3694
+
3695
+ var opts = _objectSpread$9(_objectSpread$9({}, data), combinedTOpts);
3696
+
3697
+ function renderInner(child, node, rootReactNode) {
3698
+ var childs = getChildren(child);
3699
+ var mappedChildren = mapAST(childs, node.children, rootReactNode);
3700
+ return hasValidReactChildren(childs) && mappedChildren.length === 0 ? childs : mappedChildren;
3701
+ }
3702
+
3703
+ function pushTranslatedJSX(child, inner, mem, i, isVoid) {
3704
+ if (child.dummy) child.children = inner;
3705
+ mem.push(React.cloneElement(child, _objectSpread$9(_objectSpread$9({}, child.props), {}, {
3706
+ key: i
3707
+ }), isVoid ? undefined : inner));
3708
+ }
3709
+
3710
+ function mapAST(reactNode, astNode, rootReactNode) {
3711
+ var reactNodes = getAsArray(reactNode);
3712
+ var astNodes = getAsArray(astNode);
3713
+ return astNodes.reduce(function (mem, node, i) {
3714
+ var translationContent = node.children && node.children[0] && node.children[0].content && i18n.services.interpolator.interpolate(node.children[0].content, opts, i18n.language);
3715
+
3716
+ if (node.type === 'tag') {
3717
+ var tmp = reactNodes[parseInt(node.name, 10)];
3718
+ if (!tmp && rootReactNode.length === 1 && rootReactNode[0][node.name]) tmp = rootReactNode[0][node.name];
3719
+ if (!tmp) tmp = {};
3720
+ var child = Object.keys(node.attrs).length !== 0 ? mergeProps({
3721
+ props: node.attrs
3722
+ }, tmp) : tmp;
3723
+ var isElement = React.isValidElement(child);
3724
+ var isValidTranslationWithChildren = isElement && hasChildren(node, true) && !node.voidElement;
3725
+ var isEmptyTransWithHTML = emptyChildrenButNeedsHandling && _typeof(child) === 'object' && child.dummy && !isElement;
3726
+ var isKnownComponent = _typeof(children) === 'object' && children !== null && Object.hasOwnProperty.call(children, node.name);
3727
+
3728
+ if (typeof child === 'string') {
3729
+ var value = i18n.services.interpolator.interpolate(child, opts, i18n.language);
3730
+ mem.push(value);
3731
+ } else if (hasChildren(child) || isValidTranslationWithChildren) {
3732
+ var inner = renderInner(child, node, rootReactNode);
3733
+ pushTranslatedJSX(child, inner, mem, i);
3734
+ } else if (isEmptyTransWithHTML) {
3735
+ var _inner = mapAST(reactNodes, node.children, rootReactNode);
3736
+
3737
+ mem.push(React.cloneElement(child, _objectSpread$9(_objectSpread$9({}, child.props), {}, {
3738
+ key: i
3739
+ }), _inner));
3740
+ } else if (Number.isNaN(parseFloat(node.name))) {
3741
+ if (isKnownComponent) {
3742
+ var _inner2 = renderInner(child, node, rootReactNode);
3743
+
3744
+ pushTranslatedJSX(child, _inner2, mem, i, node.voidElement);
3745
+ } else if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) {
3746
+ if (node.voidElement) {
3747
+ mem.push(React.createElement(node.name, {
3748
+ key: "".concat(node.name, "-").concat(i)
3749
+ }));
3750
+ } else {
3751
+ var _inner3 = mapAST(reactNodes, node.children, rootReactNode);
3752
+
3753
+ mem.push(React.createElement(node.name, {
3754
+ key: "".concat(node.name, "-").concat(i)
3755
+ }, _inner3));
3756
+ }
3757
+ } else if (node.voidElement) {
3758
+ mem.push("<".concat(node.name, " />"));
3759
+ } else {
3760
+ var _inner4 = mapAST(reactNodes, node.children, rootReactNode);
3761
+
3762
+ mem.push("<".concat(node.name, ">").concat(_inner4, "</").concat(node.name, ">"));
3763
+ }
3764
+ } else if (_typeof(child) === 'object' && !isElement) {
3765
+ var content = node.children[0] ? translationContent : null;
3766
+ if (content) mem.push(content);
3767
+ } else if (node.children.length === 1 && translationContent) {
3768
+ mem.push(React.cloneElement(child, _objectSpread$9(_objectSpread$9({}, child.props), {}, {
3769
+ key: i
3770
+ }), translationContent));
3771
+ } else {
3772
+ mem.push(React.cloneElement(child, _objectSpread$9(_objectSpread$9({}, child.props), {}, {
3773
+ key: i
3774
+ })));
3775
+ }
3776
+ } else if (node.type === 'text') {
3777
+ var wrapTextNodes = i18nOptions.transWrapTextNodes;
3778
+
3779
+ var _content = shouldUnescape ? i18nOptions.unescape(i18n.services.interpolator.interpolate(node.content, opts, i18n.language)) : i18n.services.interpolator.interpolate(node.content, opts, i18n.language);
3780
+
3781
+ if (wrapTextNodes) {
3782
+ mem.push(React.createElement(wrapTextNodes, {
3783
+ key: "".concat(node.name, "-").concat(i)
3784
+ }, _content));
3785
+ } else {
3786
+ mem.push(_content);
3787
+ }
3788
+ }
3789
+
3790
+ return mem;
3791
+ }, []);
3792
+ }
3793
+
3794
+ var result = mapAST([{
3795
+ dummy: true,
3796
+ children: children || []
3797
+ }], ast, getAsArray(children || []));
3798
+ return getChildren(result[0]);
3799
+ }
3800
+
3801
+ function Trans(_ref) {
3802
+ var children = _ref.children,
3803
+ count = _ref.count,
3804
+ parent = _ref.parent,
3805
+ i18nKey = _ref.i18nKey,
3806
+ context = _ref.context,
3807
+ _ref$tOptions = _ref.tOptions,
3808
+ tOptions = _ref$tOptions === void 0 ? {} : _ref$tOptions,
3809
+ values = _ref.values,
3810
+ defaults = _ref.defaults,
3811
+ components = _ref.components,
3812
+ ns = _ref.ns,
3813
+ i18nFromProps = _ref.i18n,
3814
+ tFromProps = _ref.t,
3815
+ shouldUnescape = _ref.shouldUnescape,
3816
+ additionalProps = _objectWithoutProperties(_ref, _excluded2$2);
3817
+
3818
+ var _ref2 = React.useContext(I18nContext) || {},
3819
+ i18nFromContext = _ref2.i18n,
3820
+ defaultNSFromContext = _ref2.defaultNS;
3821
+
3822
+ var i18n = i18nFromProps || i18nFromContext || getI18n();
3823
+
3824
+ if (!i18n) {
3825
+ warnOnce('You will need to pass in an i18next instance by using i18nextReactModule');
3826
+ return children;
3827
+ }
3828
+
3829
+ var t = tFromProps || i18n.t.bind(i18n) || function (k) {
3830
+ return k;
3831
+ };
3832
+
3833
+ if (context) tOptions.context = context;
3834
+
3835
+ var reactI18nextOptions = _objectSpread$9(_objectSpread$9({}, getDefaults()), i18n.options && i18n.options.react);
3836
+
3837
+ var namespaces = ns || t.ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;
3838
+ namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];
3839
+ var defaultValue = defaults || nodesToString(children, reactI18nextOptions) || reactI18nextOptions.transEmptyNodeValue || i18nKey;
3840
+ var hashTransKey = reactI18nextOptions.hashTransKey;
3841
+ var key = i18nKey || (hashTransKey ? hashTransKey(defaultValue) : defaultValue);
3842
+ var interpolationOverride = values ? tOptions.interpolation : {
3843
+ interpolation: _objectSpread$9(_objectSpread$9({}, tOptions.interpolation), {}, {
3844
+ prefix: '#$?',
3845
+ suffix: '?$#'
3846
+ })
3847
+ };
3848
+
3849
+ var combinedTOpts = _objectSpread$9(_objectSpread$9(_objectSpread$9(_objectSpread$9({}, tOptions), {}, {
3850
+ count: count
3851
+ }, values), interpolationOverride), {}, {
3852
+ defaultValue: defaultValue,
3853
+ ns: namespaces
3854
+ });
3855
+
3856
+ var translation = key ? t(key, combinedTOpts) : defaultValue;
3857
+ var content = renderNodes(components || children, translation, i18n, reactI18nextOptions, combinedTOpts, shouldUnescape);
3858
+ var useAsParent = parent !== undefined ? parent : reactI18nextOptions.defaultTransParent;
3859
+ return useAsParent ? React.createElement(useAsParent, additionalProps, content) : content;
3860
+ }
3861
+
3632
3862
  function _iterableToArrayLimit(arr, i) {
3633
3863
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
3634
3864
  if (_i == null) return;
@@ -3658,9 +3888,9 @@ function _slicedToArray(arr, i) {
3658
3888
  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
3659
3889
  }
3660
3890
 
3661
- function ownKeys$7(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
3891
+ function ownKeys$8(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
3662
3892
 
3663
- function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$7(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$7(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
3893
+ function _objectSpread$8(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$8(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$8(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
3664
3894
 
3665
3895
  var usePrevious = function usePrevious(value, ignore) {
3666
3896
  var ref = React.useRef();
@@ -3697,7 +3927,7 @@ function useTranslation(ns) {
3697
3927
 
3698
3928
  if (i18n.options.react && i18n.options.react.wait !== undefined) warnOnce('It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');
3699
3929
 
3700
- var i18nOptions = _objectSpread$7(_objectSpread$7(_objectSpread$7({}, getDefaults()), i18n.options.react), props);
3930
+ var i18nOptions = _objectSpread$8(_objectSpread$8(_objectSpread$8({}, getDefaults()), i18n.options.react), props);
3701
3931
 
3702
3932
  var useSuspense = i18nOptions.useSuspense,
3703
3933
  keyPrefix = i18nOptions.keyPrefix;
@@ -3779,6 +4009,7 @@ var alerts$1 = {
3779
4009
  };
3780
4010
  var buttons$1 = {
3781
4011
  cancel: "Cancel",
4012
+ changeRole: "Change role",
3782
4013
  proceed: "Proceed",
3783
4014
  saveChanges: "Save changes"
3784
4015
  };
@@ -3819,7 +4050,10 @@ var common$1 = {
3819
4050
  };
3820
4051
  var helpers$1 = {
3821
4052
  configPermissions: "Configure permissions for the modules.",
3822
- enterMultipleEmails: "Please press space, tab or enter key after entering an email address."
4053
+ enterMultipleEmails: "Please press space, tab or enter key after entering an email address.",
4054
+ noRolesFound: "No roles found.",
4055
+ searchRoles: "Search roles",
4056
+ selectedMembersCount: "{{count}} {{metaName}} selected from {{totalCount}}"
3823
4057
  };
3824
4058
  var metaNames$1 = {
3825
4059
  agent_one: "Agent",
@@ -3870,6 +4104,7 @@ var alerts = {
3870
4104
  };
3871
4105
  var buttons = {
3872
4106
  cancel: "Annuler",
4107
+ changeRole: "Changer de rôle",
3873
4108
  proceed: "Procéder",
3874
4109
  saveChanges: "Sauvegarder les modifications"
3875
4110
  };
@@ -3910,7 +4145,11 @@ var common = {
3910
4145
  };
3911
4146
  var helpers = {
3912
4147
  configPermissions: "Configurez les autorisations pour les modules.",
3913
- enterMultipleEmails: "Veuillez appuyer sur espace, tabulation ou entrée après avoir saisi une adresse e-mail."
4148
+ enterMultipleEmails: "Veuillez appuyer sur espace, tabulation ou entrée après avoir saisi une adresse e-mail.",
4149
+ noRolesFound: "Aucun rôle trouvé.",
4150
+ searchRoles: "Rechercher des rôles",
4151
+ selectedMembersCount_one: "{{count}} {{metaName}} sélectionné parmi {{totalCount}}",
4152
+ selectedMembersCount_other: "{{count}} {{metaName}} sélectionnés parmi {{totalCount}}"
3914
4153
  };
3915
4154
  var metaNames = {
3916
4155
  member_one: "Membre",
@@ -4008,6 +4247,9 @@ const slugify = string => string.toString().toLowerCase().replace(/\s+/g, "-") /
4008
4247
  .replace(/^-+/, "") // Trim - from start of text
4009
4248
  .replace(/-+$/, ""); // Trim - from end of text
4010
4249
 
4250
+ const capitalize = string => string.charAt(0).toUpperCase() + string.slice(1);
4251
+ const isNotEmpty$1 = ramda.complement(ramda.isEmpty);
4252
+
4011
4253
  const SINGULAR = {
4012
4254
  count: 1
4013
4255
  };
@@ -7235,11 +7477,11 @@ const QUERY_KEYS = {
7235
7477
  PERMISSIONS: "neeto-team-members-permissions"
7236
7478
  };
7237
7479
 
7238
- function ownKeys$6(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; }
7239
- function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
7480
+ 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; }
7481
+ 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; }
7240
7482
  const useFetchPermissions = function () {
7241
7483
  let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7242
- return useQuery(QUERY_KEYS.PERMISSIONS, permissionsApi.fetch, _objectSpread$6({
7484
+ return useQuery(QUERY_KEYS.PERMISSIONS, permissionsApi.fetch, _objectSpread$7({
7243
7485
  staleTime: DEFAULT_STALE_TIME,
7244
7486
  select: response => response.permissions || response.data.permissions
7245
7487
  }, options));
@@ -7260,12 +7502,12 @@ const organizationRolesApi = {
7260
7502
 
7261
7503
  const _excluded$1 = ["onSuccess"],
7262
7504
  _excluded2$1 = ["onSuccess"],
7263
- _excluded3 = ["onSuccess"];
7264
- function ownKeys$5(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; }
7265
- function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
7505
+ _excluded3$1 = ["onSuccess"];
7506
+ function ownKeys$6(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; }
7507
+ function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
7266
7508
  const useFetchRoles = function () {
7267
7509
  let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7268
- return useQuery(QUERY_KEYS.ROLES, organizationRolesApi.fetch, _objectSpread$5({
7510
+ return useQuery(QUERY_KEYS.ROLES, organizationRolesApi.fetch, _objectSpread$6({
7269
7511
  staleTime: DEFAULT_STALE_TIME,
7270
7512
  select: response => response.organizationRoles || response.data.organizationRoles
7271
7513
  }, options));
@@ -7273,7 +7515,7 @@ const useFetchRoles = function () {
7273
7515
  const useCreateRole = _ref => {
7274
7516
  let onSuccess = _ref.onSuccess,
7275
7517
  options = _objectWithoutProperties(_ref, _excluded$1);
7276
- return useMutation(organizationRolesApi.create, _objectSpread$5({
7518
+ return useMutation(organizationRolesApi.create, _objectSpread$6({
7277
7519
  onSuccess: response => {
7278
7520
  queryClient.setQueriesData(QUERY_KEYS.ROLES, cachedData => {
7279
7521
  if (!!cachedData.data && !!cachedData.data.organizationRoles) {
@@ -7293,7 +7535,7 @@ const useUpdateRole = _ref2 => {
7293
7535
  let id = _ref3.id,
7294
7536
  payload = _ref3.payload;
7295
7537
  return organizationRolesApi.update(id, payload);
7296
- }, _objectSpread$5({
7538
+ }, _objectSpread$6({
7297
7539
  onSuccess: response => {
7298
7540
  queryClient.invalidateQueries(QUERY_KEYS.TEAMS);
7299
7541
  queryClient.setQueriesData(QUERY_KEYS.ROLES, cachedData => {
@@ -7310,12 +7552,12 @@ const useUpdateRole = _ref2 => {
7310
7552
  const useDestroyRole = _ref4 => {
7311
7553
  let _ref4$onSuccess = _ref4.onSuccess,
7312
7554
  onSuccess = _ref4$onSuccess === void 0 ? noop$1 : _ref4$onSuccess,
7313
- options = _objectWithoutProperties(_ref4, _excluded3);
7555
+ options = _objectWithoutProperties(_ref4, _excluded3$1);
7314
7556
  return useMutation(_ref5 => {
7315
7557
  let id = _ref5.id,
7316
7558
  payload = _ref5.payload;
7317
7559
  return organizationRolesApi.destroy(id, payload);
7318
- }, _objectSpread$5({
7560
+ }, _objectSpread$6({
7319
7561
  onSuccess: response => {
7320
7562
  queryClient.setQueriesData(QUERY_KEYS.ROLES, cachedData => {
7321
7563
  if (!!cachedData.data && !!cachedData.data.organizationRoles) {
@@ -8885,8 +9127,8 @@ const Permissions = _ref => {
8885
9127
  }))));
8886
9128
  };
8887
9129
 
8888
- function ownKeys$4(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; }
8889
- function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
9130
+ function ownKeys$5(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; }
9131
+ function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
8890
9132
  const New = _ref => {
8891
9133
  let isOpen = _ref.isOpen,
8892
9134
  onClose = _ref.onClose,
@@ -8900,7 +9142,7 @@ const New = _ref => {
8900
9142
  createRole = _useCreateRole.mutate,
8901
9143
  isSubmitting = _useCreateRole.isLoading;
8902
9144
  const handleFormSubmit = formValues => {
8903
- const modifiedFormValues = _objectSpread$4(_objectSpread$4({}, formValues), {}, {
9145
+ const modifiedFormValues = _objectSpread$5(_objectSpread$5({}, formValues), {}, {
8904
9146
  description: formValues.description.trim()
8905
9147
  });
8906
9148
  createRole({
@@ -9259,8 +9501,8 @@ const Delete = _ref => {
9259
9501
  });
9260
9502
  };
9261
9503
 
9262
- 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; }
9263
- 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; }
9504
+ function ownKeys$4(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; }
9505
+ function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
9264
9506
  const Edit = _ref => {
9265
9507
  let isOpen = _ref.isOpen,
9266
9508
  onClose = _ref.onClose,
@@ -9279,7 +9521,7 @@ const Edit = _ref => {
9279
9521
  };
9280
9522
  const handleFormSubmit = formValues => {
9281
9523
  const payload = {
9282
- organizationRole: _objectSpread$3(_objectSpread$3(_objectSpread$3({}, selectedRole), formValues), {}, {
9524
+ organizationRole: _objectSpread$4(_objectSpread$4(_objectSpread$4({}, selectedRole), formValues), {}, {
9283
9525
  description: formValues.description.trim()
9284
9526
  })
9285
9527
  };
@@ -9607,20 +9849,23 @@ const fetch = params => axios__default["default"].get(`${BASE_URL}/teams`, {
9607
9849
  });
9608
9850
  const create = payload => axios__default["default"].post(`${BASE_URL}/teams`, payload);
9609
9851
  const update = (id, payload) => axios__default["default"].put(`${BASE_URL}/teams/${id}`, payload);
9852
+ const bulkUpdate = payload => axios__default["default"].patch(`${BASE_URL}/teams/bulk_update`, payload);
9610
9853
  const teamsApi = {
9611
- fetch,
9854
+ bulkUpdate,
9612
9855
  create,
9856
+ fetch,
9613
9857
  update
9614
9858
  };
9615
9859
 
9616
9860
  const _excluded = ["onSuccess"],
9617
- _excluded2 = ["onSuccess"];
9618
- function ownKeys$2(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; }
9619
- function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
9861
+ _excluded2 = ["onSuccess"],
9862
+ _excluded3 = ["onSuccess"];
9863
+ 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; }
9864
+ 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; }
9620
9865
  const useFetchMembers = function () {
9621
9866
  let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
9622
9867
  let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
9623
- return useQuery([QUERY_KEYS.TEAMS, params], () => teamsApi.fetch(params), _objectSpread$2({
9868
+ return useQuery([QUERY_KEYS.TEAMS, params], () => teamsApi.fetch(params), _objectSpread$3({
9624
9869
  staleTime: DEFAULT_STALE_TIME,
9625
9870
  select: response => response.data || response,
9626
9871
  keepPreviousData: true
@@ -9629,7 +9874,7 @@ const useFetchMembers = function () {
9629
9874
  const useCreateMember = _ref => {
9630
9875
  let onSuccess = _ref.onSuccess,
9631
9876
  options = _objectWithoutProperties(_ref, _excluded);
9632
- return useMutation(teamsApi.create, _objectSpread$2({
9877
+ return useMutation(teamsApi.create, _objectSpread$3({
9633
9878
  onSuccess: response => {
9634
9879
  queryClient.invalidateQueries(QUERY_KEYS.TEAMS);
9635
9880
  neetoui.Toastr.success(response.ntmNotice || response.data.ntmNotice);
@@ -9644,7 +9889,18 @@ const useUpdateMember = _ref2 => {
9644
9889
  let id = _ref3.id,
9645
9890
  payload = _ref3.payload;
9646
9891
  return teamsApi.update(id, payload);
9647
- }, _objectSpread$2({
9892
+ }, _objectSpread$3({
9893
+ onSuccess: response => {
9894
+ queryClient.invalidateQueries(QUERY_KEYS.TEAMS);
9895
+ neetoui.Toastr.success(response.ntmNotice || response.data.ntmNotice);
9896
+ onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess();
9897
+ }
9898
+ }, options));
9899
+ };
9900
+ const useBulkUpdateMembers = _ref4 => {
9901
+ let onSuccess = _ref4.onSuccess,
9902
+ options = _objectWithoutProperties(_ref4, _excluded3);
9903
+ return useMutation(teamsApi.bulkUpdate, _objectSpread$3({
9648
9904
  onSuccess: response => {
9649
9905
  queryClient.invalidateQueries(QUERY_KEYS.TEAMS);
9650
9906
  neetoui.Toastr.success(response.ntmNotice || response.data.ntmNotice);
@@ -9668,8 +9924,7 @@ const useDebounce = function (value) {
9668
9924
 
9669
9925
  const Header = _ref => {
9670
9926
  var _permissions$create, _permissions$create2;
9671
- let _ref$metaName = _ref.metaName,
9672
- metaName = _ref$metaName === void 0 ? "" : _ref$metaName,
9927
+ let metaName = _ref.metaName,
9673
9928
  _ref$onClick = _ref.onClick,
9674
9929
  onClick = _ref$onClick === void 0 ? noop$1 : _ref$onClick,
9675
9930
  permissions = _ref.permissions;
@@ -9681,7 +9936,7 @@ const Header = _ref => {
9681
9936
  "data-cy": "ntm-add-member-button",
9682
9937
  disabled: !((_permissions$create2 = permissions === null || permissions === void 0 ? void 0 : permissions.create) !== null && _permissions$create2 !== void 0 ? _permissions$create2 : hasPermission(MANAGE_MEMBER_PERMISSIONS)),
9683
9938
  label: instance.t("common.add_", {
9684
- what: instance.t(metaName, SINGULAR).toLocaleLowerCase()
9939
+ what: metaName(SINGULAR).toLocaleLowerCase()
9685
9940
  }),
9686
9941
  onClick: onClick
9687
9942
  })));
@@ -9726,7 +9981,7 @@ const removeBy = ramda.curry((pattern, array) => array.filter(ramda.complement(m
9726
9981
  const removeFixedColumns = (fixedColumns, columnData) => removeBy({
9727
9982
  dataIndex: ramda.includes(ramda.__, fixedColumns)
9728
9983
  }, columnData);
9729
- const filterBySearchTerm = (searchTerm, columns) => ramda.filter(_ref3 => {
9984
+ const filterBySearchTerm$1 = (searchTerm, columns) => ramda.filter(_ref3 => {
9730
9985
  let title = _ref3.title;
9731
9986
  return ramda.includes(ramda.trim(ramda.toLower(searchTerm)), ramda.trim(ramda.toLower(title)));
9732
9987
  }, columns);
@@ -9764,7 +10019,7 @@ const Columns = _ref => {
9764
10019
  searchTerm = _useState2[0],
9765
10020
  setSearchTerm = _useState2[1];
9766
10021
  const columns = removeFixedColumns(fixedColumns, columnData);
9767
- const filteredColumns = filterBySearchTerm(searchTerm, columns);
10022
+ const filteredColumns = filterBySearchTerm$1(searchTerm, columns);
9768
10023
  const handleChange = _ref2 => {
9769
10024
  let _ref2$target = _ref2.target,
9770
10025
  dataIndex = _ref2$target.name,
@@ -9832,44 +10087,70 @@ const MANAGE_ROLES_BUTTON_LABEL = instance.t("common.manage_", {
9832
10087
  what: instance.t("common.role", PLURAL).toLocaleLowerCase()
9833
10088
  });
9834
10089
 
9835
- const Left = _ref => {
9836
- let metaName = _ref.metaName,
9837
- count = _ref.count;
9838
- return /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
9839
- "data-cy": "ntm-filtered-members-count",
9840
- component: "h4",
9841
- style: "h4"
9842
- }, count, " ", instance.t(metaName, {
9843
- count
9844
- }).toLocaleLowerCase());
9845
- };
9846
- Left.defaultProps = {
9847
- metaName: "metaNames.member",
9848
- count: 0
9849
- };
9850
- const Right = _ref2 => {
9851
- let columns = _ref2.columns,
9852
- rolesButtonProps = _ref2.rolesButtonProps,
9853
- setColumnData = _ref2.setColumnData;
9854
- const isRolesButtonVisible = !!rolesButtonProps;
9855
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(Columns, {
9856
- columnData: columns,
9857
- dropdownProps: COLUMNS_DROPDOWN_PROPS,
9858
- fixedColumns: FIXED_COLUMNS,
9859
- localStorageKey: "NTM_MEMBERS_TABLE_HIDDEN_COLUMNS",
9860
- noColumnMessage: instance.t("columns.noColumnsFound"),
9861
- onChange: setColumnData,
9862
- searchProps: COLUMNS_SEARCH_PROPS
9863
- }), isRolesButtonVisible ? /*#__PURE__*/React__default["default"].createElement(neetoui.Button, _extends({
9864
- "data-cy": "ntm-manage-roles-button",
9865
- label: MANAGE_ROLES_BUTTON_LABEL,
9866
- size: "small",
9867
- style: "secondary"
9868
- }, rolesButtonProps)) : null);
9869
- };
9870
- const SubHeader = {
9871
- Left,
9872
- Right
10090
+ const filterBySearchTerm = (searchTerm, roles) => ramda.filter(_ref => {
10091
+ let name = _ref.name;
10092
+ return ramda.includes(ramda.trim(ramda.toLower(searchTerm)), ramda.trim(ramda.toLower(name)));
10093
+ }, roles);
10094
+ const getActivateButtonVisible = selectedRows => selectedRows.active.some(active => active === false);
10095
+ const getDeactivatedButtonVisible = selectedRows => selectedRows.active.some(active => active === true);
10096
+
10097
+ const Menu$1 = neetoui.Dropdown.Menu,
10098
+ MenuItem = neetoui.Dropdown.MenuItem;
10099
+ const RolesDropdown = _ref => {
10100
+ let handleRoleChange = _ref.handleRoleChange,
10101
+ _ref$isSearchable = _ref.isSearchable,
10102
+ isSearchable = _ref$isSearchable === void 0 ? false : _ref$isSearchable,
10103
+ _ref$roles = _ref.roles,
10104
+ roles = _ref$roles === void 0 ? [] : _ref$roles;
10105
+ const _useState = React.useState(false),
10106
+ _useState2 = _slicedToArray(_useState, 2),
10107
+ isDropdownOpen = _useState2[0],
10108
+ setIsDropdownOpen = _useState2[1];
10109
+ const _useState3 = React.useState(""),
10110
+ _useState4 = _slicedToArray(_useState3, 2),
10111
+ searchTerm = _useState4[0],
10112
+ setSearchTerm = _useState4[1];
10113
+ const filteredRoles = filterBySearchTerm(searchTerm, roles);
10114
+ const handleSearch = _ref2 => {
10115
+ let value = _ref2.target.value;
10116
+ return setSearchTerm(value);
10117
+ };
10118
+ const handleSelectRole = role => {
10119
+ handleRoleChange(role);
10120
+ setIsDropdownOpen(false);
10121
+ };
10122
+ const handleOnClose = () => {
10123
+ setSearchTerm("");
10124
+ setIsDropdownOpen(false);
10125
+ };
10126
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Dropdown, {
10127
+ buttonSize: "small",
10128
+ buttonStyle: "secondary",
10129
+ closeOnSelect: false,
10130
+ "data-cy": "ntm-members-roles-update-dropdown",
10131
+ label: instance.t("buttons.changeRole"),
10132
+ isOpen: isDropdownOpen,
10133
+ onClick: () => setIsDropdownOpen(true),
10134
+ onClose: () => handleOnClose(),
10135
+ position: "bottom-end"
10136
+ }, /*#__PURE__*/React__default["default"].createElement(Menu$1, null, /*#__PURE__*/React__default["default"].createElement("div", null, isSearchable && /*#__PURE__*/React__default["default"].createElement(neetoui.Input, {
10137
+ className: "neeto-ui-px-3 neeto-ui-py-2",
10138
+ "data-cy": "ntm-members-roles-search-input",
10139
+ onChange: handleSearch,
10140
+ placeholder: instance.t("helpers.searchRoles"),
10141
+ prefix: /*#__PURE__*/React__default["default"].createElement(neetoIcons.Search, null),
10142
+ type: "search",
10143
+ value: searchTerm
10144
+ }), isNotEmpty$1(filteredRoles) ? filteredRoles.map(_ref3 => {
10145
+ let id = _ref3.id,
10146
+ name = _ref3.name;
10147
+ return /*#__PURE__*/React__default["default"].createElement(MenuItem.Button, {
10148
+ key: id,
10149
+ onClick: () => handleSelectRole(name)
10150
+ }, name);
10151
+ }) : /*#__PURE__*/React__default["default"].createElement("span", {
10152
+ className: "neeto-ui-flex neeto-ui-flex-col neeto-ui-items-center neeto-ui-p-2"
10153
+ }, instance.t("helpers.noRolesFound")))));
9873
10154
  };
9874
10155
 
9875
10156
  var _URLSearchParams$get;
@@ -9912,9 +10193,617 @@ const DEFAULT_FILTER_VALUES = {
9912
10193
  sort_by: "",
9913
10194
  sort_direction: ""
9914
10195
  };
10196
+ const DEFAULT_SELECTED_ROWS = {
10197
+ active: [],
10198
+ emails: [],
10199
+ keys: []
10200
+ };
9915
10201
 
9916
- function ownKeys$1(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; }
9917
- function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
10202
+ const Left = _ref => {
10203
+ var _selectedRows$keys, _selectedRows$keys2;
10204
+ let filteredCount = _ref.filteredCount,
10205
+ metaName = _ref.metaName,
10206
+ selectedRows = _ref.selectedRows,
10207
+ totalCount = _ref.totalCount;
10208
+ const hasSelectedRows = isNotEmpty$1(selectedRows === null || selectedRows === void 0 ? void 0 : selectedRows.keys);
10209
+ const pluralizedByFilterCount = metaName({
10210
+ count: filteredCount
10211
+ }).toLocaleLowerCase();
10212
+ const selectedMembersCountValues = {
10213
+ count: selectedRows === null || selectedRows === void 0 ? void 0 : (_selectedRows$keys = selectedRows.keys) === null || _selectedRows$keys === void 0 ? void 0 : _selectedRows$keys.length,
10214
+ metaName: metaName({
10215
+ count: selectedRows === null || selectedRows === void 0 ? void 0 : (_selectedRows$keys2 = selectedRows.keys) === null || _selectedRows$keys2 === void 0 ? void 0 : _selectedRows$keys2.length
10216
+ }).toLocaleLowerCase(),
10217
+ totalCount
10218
+ };
10219
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
10220
+ "data-cy": "ntm-filtered-members-count",
10221
+ component: "h4",
10222
+ style: "h4"
10223
+ }, hasSelectedRows ? /*#__PURE__*/React__default["default"].createElement(Trans, {
10224
+ i18nKey: "helpers.selectedMembersCount",
10225
+ values: selectedMembersCountValues
10226
+ }) : `${filteredCount} ${pluralizedByFilterCount}`);
10227
+ };
10228
+ const Right = _ref2 => {
10229
+ let columns = _ref2.columns,
10230
+ roles = _ref2.roles,
10231
+ rolesButtonProps = _ref2.rolesButtonProps,
10232
+ selectedRows = _ref2.selectedRows,
10233
+ setColumnData = _ref2.setColumnData,
10234
+ setSelectedRows = _ref2.setSelectedRows;
10235
+ const isRolesButtonVisible = !!rolesButtonProps;
10236
+ const _useBulkUpdateMembers = useBulkUpdateMembers({
10237
+ onSuccess: () => setSelectedRows(DEFAULT_SELECTED_ROWS)
10238
+ }),
10239
+ bulkUpdateMember = _useBulkUpdateMembers.mutate;
10240
+ const handleDeactivateMembers = () => bulkUpdateMember({
10241
+ users: {
10242
+ active: false,
10243
+ emails: selectedRows === null || selectedRows === void 0 ? void 0 : selectedRows.emails
10244
+ }
10245
+ });
10246
+ const handleActivateMembers = () => bulkUpdateMember({
10247
+ users: {
10248
+ active: true,
10249
+ emails: selectedRows === null || selectedRows === void 0 ? void 0 : selectedRows.emails
10250
+ }
10251
+ });
10252
+ const handleRoleChange = role => {
10253
+ bulkUpdateMember({
10254
+ users: {
10255
+ active: true,
10256
+ emails: selectedRows === null || selectedRows === void 0 ? void 0 : selectedRows.emails,
10257
+ organization_role: role
10258
+ }
10259
+ });
10260
+ };
10261
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, getDeactivatedButtonVisible(selectedRows) && /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
10262
+ "data-cy": "ntm-deactivate-members-button",
10263
+ label: instance.t("common.deactivate"),
10264
+ size: "small",
10265
+ style: "secondary",
10266
+ onClick: () => handleDeactivateMembers()
10267
+ }), getActivateButtonVisible(selectedRows) && /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
10268
+ "data-cy": "ntm-activate-members-button",
10269
+ label: instance.t("common.activate"),
10270
+ size: "small",
10271
+ style: "secondary",
10272
+ onClick: () => handleActivateMembers()
10273
+ }), isNotEmpty$1(selectedRows.keys) && /*#__PURE__*/React__default["default"].createElement(RolesDropdown, {
10274
+ handleRoleChange: handleRoleChange,
10275
+ roles: roles
10276
+ }), /*#__PURE__*/React__default["default"].createElement(Columns, {
10277
+ columnData: columns,
10278
+ dropdownProps: COLUMNS_DROPDOWN_PROPS,
10279
+ fixedColumns: FIXED_COLUMNS,
10280
+ localStorageKey: "NTM_MEMBERS_TABLE_HIDDEN_COLUMNS",
10281
+ noColumnMessage: instance.t("columns.noColumnsFound"),
10282
+ onChange: setColumnData,
10283
+ searchProps: COLUMNS_SEARCH_PROPS
10284
+ }), isRolesButtonVisible ? /*#__PURE__*/React__default["default"].createElement(neetoui.Button, _extends({
10285
+ "data-cy": "ntm-manage-roles-button",
10286
+ label: MANAGE_ROLES_BUTTON_LABEL,
10287
+ size: "small",
10288
+ style: "secondary"
10289
+ }, rolesButtonProps)) : null);
10290
+ };
10291
+ const SubHeader = {
10292
+ Left,
10293
+ Right
10294
+ };
10295
+
10296
+ function commonjsRequire(path) {
10297
+ throw new Error('Could not dynamically require "' + path + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
10298
+ }
10299
+
10300
+ var pluralize$1 = {exports: {}};
10301
+
10302
+ /* global define */
10303
+
10304
+ (function (module, exports) {
10305
+ (function (root, pluralize) {
10306
+ /* istanbul ignore else */
10307
+ if (typeof commonjsRequire === 'function' && 'object' === 'object' && 'object' === 'object') {
10308
+ // Node.
10309
+ module.exports = pluralize();
10310
+ } else {
10311
+ // Browser global.
10312
+ root.pluralize = pluralize();
10313
+ }
10314
+ })(commonjsGlobal, function () {
10315
+ // Rule storage - pluralize and singularize need to be run sequentially,
10316
+ // while other rules can be optimized using an object for instant lookups.
10317
+ var pluralRules = [];
10318
+ var singularRules = [];
10319
+ var uncountables = {};
10320
+ var irregularPlurals = {};
10321
+ var irregularSingles = {};
10322
+
10323
+ /**
10324
+ * Sanitize a pluralization rule to a usable regular expression.
10325
+ *
10326
+ * @param {(RegExp|string)} rule
10327
+ * @return {RegExp}
10328
+ */
10329
+ function sanitizeRule (rule) {
10330
+ if (typeof rule === 'string') {
10331
+ return new RegExp('^' + rule + '$', 'i');
10332
+ }
10333
+
10334
+ return rule;
10335
+ }
10336
+
10337
+ /**
10338
+ * Pass in a word token to produce a function that can replicate the case on
10339
+ * another word.
10340
+ *
10341
+ * @param {string} word
10342
+ * @param {string} token
10343
+ * @return {Function}
10344
+ */
10345
+ function restoreCase (word, token) {
10346
+ // Tokens are an exact match.
10347
+ if (word === token) return token;
10348
+
10349
+ // Lower cased words. E.g. "hello".
10350
+ if (word === word.toLowerCase()) return token.toLowerCase();
10351
+
10352
+ // Upper cased words. E.g. "WHISKY".
10353
+ if (word === word.toUpperCase()) return token.toUpperCase();
10354
+
10355
+ // Title cased words. E.g. "Title".
10356
+ if (word[0] === word[0].toUpperCase()) {
10357
+ return token.charAt(0).toUpperCase() + token.substr(1).toLowerCase();
10358
+ }
10359
+
10360
+ // Lower cased words. E.g. "test".
10361
+ return token.toLowerCase();
10362
+ }
10363
+
10364
+ /**
10365
+ * Interpolate a regexp string.
10366
+ *
10367
+ * @param {string} str
10368
+ * @param {Array} args
10369
+ * @return {string}
10370
+ */
10371
+ function interpolate (str, args) {
10372
+ return str.replace(/\$(\d{1,2})/g, function (match, index) {
10373
+ return args[index] || '';
10374
+ });
10375
+ }
10376
+
10377
+ /**
10378
+ * Replace a word using a rule.
10379
+ *
10380
+ * @param {string} word
10381
+ * @param {Array} rule
10382
+ * @return {string}
10383
+ */
10384
+ function replace (word, rule) {
10385
+ return word.replace(rule[0], function (match, index) {
10386
+ var result = interpolate(rule[1], arguments);
10387
+
10388
+ if (match === '') {
10389
+ return restoreCase(word[index - 1], result);
10390
+ }
10391
+
10392
+ return restoreCase(match, result);
10393
+ });
10394
+ }
10395
+
10396
+ /**
10397
+ * Sanitize a word by passing in the word and sanitization rules.
10398
+ *
10399
+ * @param {string} token
10400
+ * @param {string} word
10401
+ * @param {Array} rules
10402
+ * @return {string}
10403
+ */
10404
+ function sanitizeWord (token, word, rules) {
10405
+ // Empty string or doesn't need fixing.
10406
+ if (!token.length || uncountables.hasOwnProperty(token)) {
10407
+ return word;
10408
+ }
10409
+
10410
+ var len = rules.length;
10411
+
10412
+ // Iterate over the sanitization rules and use the first one to match.
10413
+ while (len--) {
10414
+ var rule = rules[len];
10415
+
10416
+ if (rule[0].test(word)) return replace(word, rule);
10417
+ }
10418
+
10419
+ return word;
10420
+ }
10421
+
10422
+ /**
10423
+ * Replace a word with the updated word.
10424
+ *
10425
+ * @param {Object} replaceMap
10426
+ * @param {Object} keepMap
10427
+ * @param {Array} rules
10428
+ * @return {Function}
10429
+ */
10430
+ function replaceWord (replaceMap, keepMap, rules) {
10431
+ return function (word) {
10432
+ // Get the correct token and case restoration functions.
10433
+ var token = word.toLowerCase();
10434
+
10435
+ // Check against the keep object map.
10436
+ if (keepMap.hasOwnProperty(token)) {
10437
+ return restoreCase(word, token);
10438
+ }
10439
+
10440
+ // Check against the replacement map for a direct word replacement.
10441
+ if (replaceMap.hasOwnProperty(token)) {
10442
+ return restoreCase(word, replaceMap[token]);
10443
+ }
10444
+
10445
+ // Run all the rules against the word.
10446
+ return sanitizeWord(token, word, rules);
10447
+ };
10448
+ }
10449
+
10450
+ /**
10451
+ * Check if a word is part of the map.
10452
+ */
10453
+ function checkWord (replaceMap, keepMap, rules, bool) {
10454
+ return function (word) {
10455
+ var token = word.toLowerCase();
10456
+
10457
+ if (keepMap.hasOwnProperty(token)) return true;
10458
+ if (replaceMap.hasOwnProperty(token)) return false;
10459
+
10460
+ return sanitizeWord(token, token, rules) === token;
10461
+ };
10462
+ }
10463
+
10464
+ /**
10465
+ * Pluralize or singularize a word based on the passed in count.
10466
+ *
10467
+ * @param {string} word The word to pluralize
10468
+ * @param {number} count How many of the word exist
10469
+ * @param {boolean} inclusive Whether to prefix with the number (e.g. 3 ducks)
10470
+ * @return {string}
10471
+ */
10472
+ function pluralize (word, count, inclusive) {
10473
+ var pluralized = count === 1
10474
+ ? pluralize.singular(word) : pluralize.plural(word);
10475
+
10476
+ return (inclusive ? count + ' ' : '') + pluralized;
10477
+ }
10478
+
10479
+ /**
10480
+ * Pluralize a word.
10481
+ *
10482
+ * @type {Function}
10483
+ */
10484
+ pluralize.plural = replaceWord(
10485
+ irregularSingles, irregularPlurals, pluralRules
10486
+ );
10487
+
10488
+ /**
10489
+ * Check if a word is plural.
10490
+ *
10491
+ * @type {Function}
10492
+ */
10493
+ pluralize.isPlural = checkWord(
10494
+ irregularSingles, irregularPlurals, pluralRules
10495
+ );
10496
+
10497
+ /**
10498
+ * Singularize a word.
10499
+ *
10500
+ * @type {Function}
10501
+ */
10502
+ pluralize.singular = replaceWord(
10503
+ irregularPlurals, irregularSingles, singularRules
10504
+ );
10505
+
10506
+ /**
10507
+ * Check if a word is singular.
10508
+ *
10509
+ * @type {Function}
10510
+ */
10511
+ pluralize.isSingular = checkWord(
10512
+ irregularPlurals, irregularSingles, singularRules
10513
+ );
10514
+
10515
+ /**
10516
+ * Add a pluralization rule to the collection.
10517
+ *
10518
+ * @param {(string|RegExp)} rule
10519
+ * @param {string} replacement
10520
+ */
10521
+ pluralize.addPluralRule = function (rule, replacement) {
10522
+ pluralRules.push([sanitizeRule(rule), replacement]);
10523
+ };
10524
+
10525
+ /**
10526
+ * Add a singularization rule to the collection.
10527
+ *
10528
+ * @param {(string|RegExp)} rule
10529
+ * @param {string} replacement
10530
+ */
10531
+ pluralize.addSingularRule = function (rule, replacement) {
10532
+ singularRules.push([sanitizeRule(rule), replacement]);
10533
+ };
10534
+
10535
+ /**
10536
+ * Add an uncountable word rule.
10537
+ *
10538
+ * @param {(string|RegExp)} word
10539
+ */
10540
+ pluralize.addUncountableRule = function (word) {
10541
+ if (typeof word === 'string') {
10542
+ uncountables[word.toLowerCase()] = true;
10543
+ return;
10544
+ }
10545
+
10546
+ // Set singular and plural references for the word.
10547
+ pluralize.addPluralRule(word, '$0');
10548
+ pluralize.addSingularRule(word, '$0');
10549
+ };
10550
+
10551
+ /**
10552
+ * Add an irregular word definition.
10553
+ *
10554
+ * @param {string} single
10555
+ * @param {string} plural
10556
+ */
10557
+ pluralize.addIrregularRule = function (single, plural) {
10558
+ plural = plural.toLowerCase();
10559
+ single = single.toLowerCase();
10560
+
10561
+ irregularSingles[single] = plural;
10562
+ irregularPlurals[plural] = single;
10563
+ };
10564
+
10565
+ /**
10566
+ * Irregular rules.
10567
+ */
10568
+ [
10569
+ // Pronouns.
10570
+ ['I', 'we'],
10571
+ ['me', 'us'],
10572
+ ['he', 'they'],
10573
+ ['she', 'they'],
10574
+ ['them', 'them'],
10575
+ ['myself', 'ourselves'],
10576
+ ['yourself', 'yourselves'],
10577
+ ['itself', 'themselves'],
10578
+ ['herself', 'themselves'],
10579
+ ['himself', 'themselves'],
10580
+ ['themself', 'themselves'],
10581
+ ['is', 'are'],
10582
+ ['was', 'were'],
10583
+ ['has', 'have'],
10584
+ ['this', 'these'],
10585
+ ['that', 'those'],
10586
+ // Words ending in with a consonant and `o`.
10587
+ ['echo', 'echoes'],
10588
+ ['dingo', 'dingoes'],
10589
+ ['volcano', 'volcanoes'],
10590
+ ['tornado', 'tornadoes'],
10591
+ ['torpedo', 'torpedoes'],
10592
+ // Ends with `us`.
10593
+ ['genus', 'genera'],
10594
+ ['viscus', 'viscera'],
10595
+ // Ends with `ma`.
10596
+ ['stigma', 'stigmata'],
10597
+ ['stoma', 'stomata'],
10598
+ ['dogma', 'dogmata'],
10599
+ ['lemma', 'lemmata'],
10600
+ ['schema', 'schemata'],
10601
+ ['anathema', 'anathemata'],
10602
+ // Other irregular rules.
10603
+ ['ox', 'oxen'],
10604
+ ['axe', 'axes'],
10605
+ ['die', 'dice'],
10606
+ ['yes', 'yeses'],
10607
+ ['foot', 'feet'],
10608
+ ['eave', 'eaves'],
10609
+ ['goose', 'geese'],
10610
+ ['tooth', 'teeth'],
10611
+ ['quiz', 'quizzes'],
10612
+ ['human', 'humans'],
10613
+ ['proof', 'proofs'],
10614
+ ['carve', 'carves'],
10615
+ ['valve', 'valves'],
10616
+ ['looey', 'looies'],
10617
+ ['thief', 'thieves'],
10618
+ ['groove', 'grooves'],
10619
+ ['pickaxe', 'pickaxes'],
10620
+ ['passerby', 'passersby']
10621
+ ].forEach(function (rule) {
10622
+ return pluralize.addIrregularRule(rule[0], rule[1]);
10623
+ });
10624
+
10625
+ /**
10626
+ * Pluralization rules.
10627
+ */
10628
+ [
10629
+ [/s?$/i, 's'],
10630
+ [/[^\u0000-\u007F]$/i, '$0'],
10631
+ [/([^aeiou]ese)$/i, '$1'],
10632
+ [/(ax|test)is$/i, '$1es'],
10633
+ [/(alias|[^aou]us|t[lm]as|gas|ris)$/i, '$1es'],
10634
+ [/(e[mn]u)s?$/i, '$1s'],
10635
+ [/([^l]ias|[aeiou]las|[ejzr]as|[iu]am)$/i, '$1'],
10636
+ [/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, '$1i'],
10637
+ [/(alumn|alg|vertebr)(?:a|ae)$/i, '$1ae'],
10638
+ [/(seraph|cherub)(?:im)?$/i, '$1im'],
10639
+ [/(her|at|gr)o$/i, '$1oes'],
10640
+ [/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|automat|quor)(?:a|um)$/i, '$1a'],
10641
+ [/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)(?:a|on)$/i, '$1a'],
10642
+ [/sis$/i, 'ses'],
10643
+ [/(?:(kni|wi|li)fe|(ar|l|ea|eo|oa|hoo)f)$/i, '$1$2ves'],
10644
+ [/([^aeiouy]|qu)y$/i, '$1ies'],
10645
+ [/([^ch][ieo][ln])ey$/i, '$1ies'],
10646
+ [/(x|ch|ss|sh|zz)$/i, '$1es'],
10647
+ [/(matr|cod|mur|sil|vert|ind|append)(?:ix|ex)$/i, '$1ices'],
10648
+ [/\b((?:tit)?m|l)(?:ice|ouse)$/i, '$1ice'],
10649
+ [/(pe)(?:rson|ople)$/i, '$1ople'],
10650
+ [/(child)(?:ren)?$/i, '$1ren'],
10651
+ [/eaux$/i, '$0'],
10652
+ [/m[ae]n$/i, 'men'],
10653
+ ['thou', 'you']
10654
+ ].forEach(function (rule) {
10655
+ return pluralize.addPluralRule(rule[0], rule[1]);
10656
+ });
10657
+
10658
+ /**
10659
+ * Singularization rules.
10660
+ */
10661
+ [
10662
+ [/s$/i, ''],
10663
+ [/(ss)$/i, '$1'],
10664
+ [/(wi|kni|(?:after|half|high|low|mid|non|night|[^\w]|^)li)ves$/i, '$1fe'],
10665
+ [/(ar|(?:wo|[ae])l|[eo][ao])ves$/i, '$1f'],
10666
+ [/ies$/i, 'y'],
10667
+ [/\b([pl]|zomb|(?:neck|cross)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut)ies$/i, '$1ie'],
10668
+ [/\b(mon|smil)ies$/i, '$1ey'],
10669
+ [/\b((?:tit)?m|l)ice$/i, '$1ouse'],
10670
+ [/(seraph|cherub)im$/i, '$1'],
10671
+ [/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|t[lm]as|gas|(?:her|at|gr)o|[aeiou]ris)(?:es)?$/i, '$1'],
10672
+ [/(analy|diagno|parenthe|progno|synop|the|empha|cri|ne)(?:sis|ses)$/i, '$1sis'],
10673
+ [/(movie|twelve|abuse|e[mn]u)s$/i, '$1'],
10674
+ [/(test)(?:is|es)$/i, '$1is'],
10675
+ [/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, '$1us'],
10676
+ [/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|quor)a$/i, '$1um'],
10677
+ [/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)a$/i, '$1on'],
10678
+ [/(alumn|alg|vertebr)ae$/i, '$1a'],
10679
+ [/(cod|mur|sil|vert|ind)ices$/i, '$1ex'],
10680
+ [/(matr|append)ices$/i, '$1ix'],
10681
+ [/(pe)(rson|ople)$/i, '$1rson'],
10682
+ [/(child)ren$/i, '$1'],
10683
+ [/(eau)x?$/i, '$1'],
10684
+ [/men$/i, 'man']
10685
+ ].forEach(function (rule) {
10686
+ return pluralize.addSingularRule(rule[0], rule[1]);
10687
+ });
10688
+
10689
+ /**
10690
+ * Uncountable rules.
10691
+ */
10692
+ [
10693
+ // Singular words with no plurals.
10694
+ 'adulthood',
10695
+ 'advice',
10696
+ 'agenda',
10697
+ 'aid',
10698
+ 'aircraft',
10699
+ 'alcohol',
10700
+ 'ammo',
10701
+ 'analytics',
10702
+ 'anime',
10703
+ 'athletics',
10704
+ 'audio',
10705
+ 'bison',
10706
+ 'blood',
10707
+ 'bream',
10708
+ 'buffalo',
10709
+ 'butter',
10710
+ 'carp',
10711
+ 'cash',
10712
+ 'chassis',
10713
+ 'chess',
10714
+ 'clothing',
10715
+ 'cod',
10716
+ 'commerce',
10717
+ 'cooperation',
10718
+ 'corps',
10719
+ 'debris',
10720
+ 'diabetes',
10721
+ 'digestion',
10722
+ 'elk',
10723
+ 'energy',
10724
+ 'equipment',
10725
+ 'excretion',
10726
+ 'expertise',
10727
+ 'firmware',
10728
+ 'flounder',
10729
+ 'fun',
10730
+ 'gallows',
10731
+ 'garbage',
10732
+ 'graffiti',
10733
+ 'hardware',
10734
+ 'headquarters',
10735
+ 'health',
10736
+ 'herpes',
10737
+ 'highjinks',
10738
+ 'homework',
10739
+ 'housework',
10740
+ 'information',
10741
+ 'jeans',
10742
+ 'justice',
10743
+ 'kudos',
10744
+ 'labour',
10745
+ 'literature',
10746
+ 'machinery',
10747
+ 'mackerel',
10748
+ 'mail',
10749
+ 'media',
10750
+ 'mews',
10751
+ 'moose',
10752
+ 'music',
10753
+ 'mud',
10754
+ 'manga',
10755
+ 'news',
10756
+ 'only',
10757
+ 'personnel',
10758
+ 'pike',
10759
+ 'plankton',
10760
+ 'pliers',
10761
+ 'police',
10762
+ 'pollution',
10763
+ 'premises',
10764
+ 'rain',
10765
+ 'research',
10766
+ 'rice',
10767
+ 'salmon',
10768
+ 'scissors',
10769
+ 'series',
10770
+ 'sewage',
10771
+ 'shambles',
10772
+ 'shrimp',
10773
+ 'software',
10774
+ 'species',
10775
+ 'staff',
10776
+ 'swine',
10777
+ 'tennis',
10778
+ 'traffic',
10779
+ 'transportation',
10780
+ 'trout',
10781
+ 'tuna',
10782
+ 'wealth',
10783
+ 'welfare',
10784
+ 'whiting',
10785
+ 'wildebeest',
10786
+ 'wildlife',
10787
+ 'you',
10788
+ /pok[eé]mon$/i,
10789
+ // Regexes.
10790
+ /[^aeiou]ese$/i, // "chinese", "japanese"
10791
+ /deer$/i, // "deer", "reindeer"
10792
+ /fish$/i, // "fish", "blowfish", "angelfish"
10793
+ /measles$/i,
10794
+ /o[iu]s$/i, // "carnivorous"
10795
+ /pox$/i, // "chickpox", "smallpox"
10796
+ /sheep$/i
10797
+ ].forEach(pluralize.addUncountableRule);
10798
+
10799
+ return pluralize;
10800
+ });
10801
+ } (pluralize$1));
10802
+
10803
+ var pluralize = pluralize$1.exports;
10804
+
10805
+ function ownKeys$2(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; }
10806
+ function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
9918
10807
  const renderNameColumn = (_ref, diplayStatusTag) => {
9919
10808
  let displayName = _ref.displayName,
9920
10809
  imageUrl = _ref.profileImageUrl,
@@ -9987,19 +10876,19 @@ const getDefaultAlertTitle = _ref3 => {
9987
10876
  let member = _ref3.member,
9988
10877
  metaName = _ref3.metaName;
9989
10878
  return member !== null && member !== void 0 && member.active ? instance.t("common.deactivate_", {
9990
- what: instance.t(metaName, SINGULAR).toLocaleLowerCase()
10879
+ what: metaName(SINGULAR).toLocaleLowerCase()
9991
10880
  }) : instance.t("common.activate_", {
9992
- what: instance.t(metaName, SINGULAR).toLocaleLowerCase()
10881
+ what: metaName(SINGULAR).toLocaleLowerCase()
9993
10882
  });
9994
10883
  };
9995
10884
  const getDefaultAlertMessage = _ref4 => {
9996
10885
  let member = _ref4.member,
9997
10886
  metaName = _ref4.metaName;
9998
10887
  return member !== null && member !== void 0 && member.active ? instance.t("alerts.deactivating_", {
9999
- what: instance.t(metaName, SINGULAR).toLocaleLowerCase(),
10888
+ what: metaName(SINGULAR).toLocaleLowerCase(),
10000
10889
  person: member === null || member === void 0 ? void 0 : member.name
10001
10890
  }) : instance.t("alerts.activating_", {
10002
- what: instance.t(metaName, SINGULAR).toLocaleLowerCase(),
10891
+ what: metaName(SINGULAR).toLocaleLowerCase(),
10003
10892
  person: member === null || member === void 0 ? void 0 : member.name
10004
10893
  });
10005
10894
  };
@@ -10036,7 +10925,7 @@ const getColumnData = _ref5 => {
10036
10925
  }];
10037
10926
  };
10038
10927
  const renderHeaderTitle = (filterStatus, metaName) => instance.t(`common.${ramda.toLower(filterStatus)}_`, {
10039
- what: instance.t(metaName, PLURAL).toLocaleLowerCase()
10928
+ what: metaName(PLURAL).toLocaleLowerCase()
10040
10929
  });
10041
10930
  const renderUpdateAlert = (field, props) => {
10042
10931
  var _config$alert;
@@ -10052,7 +10941,7 @@ const renderUpdateAlert = (field, props) => {
10052
10941
  }
10053
10942
  return field === "title" ? getDefaultAlertTitle(props) : getDefaultAlertMessage(props);
10054
10943
  };
10055
- const getSearchParams = (page, filter) => new URLSearchParams(_objectSpread$1(_objectSpread$1({}, page), {}, {
10944
+ const getSearchParams = (page, filter) => new URLSearchParams(_objectSpread$2(_objectSpread$2({}, page), {}, {
10056
10945
  filter: filter.toLowerCase()
10057
10946
  })).toString();
10058
10947
  const handlePageChange = (setFilters, filter) => (page, results) => {
@@ -10067,11 +10956,21 @@ const renderPaginationProps = size => ({
10067
10956
  pageSize: parseInt(size, DEFAULT_RADIX)
10068
10957
  });
10069
10958
  const getPerCategoryCount = (perCategoryCount, category) => ramda.isNil(perCategoryCount) ? MEMBER_FILTER[category].defaultCount : perCategoryCount[category === null || category === void 0 ? void 0 : category.toLowerCase()];
10959
+ const getMetaName = ramda.curry((metaName, count) => {
10960
+ const singularizedMetaName = pluralize(metaName.toLowerCase(), 1);
10961
+ const translationWord = `metaNames.${singularizedMetaName}`;
10962
+ return instance.exists(translationWord, count) ? instance.t(translationWord, count) : pluralize(capitalize(singularizedMetaName), count.count);
10963
+ });
10070
10964
 
10071
- const VALIDATION_SCHEMA = yup__namespace.object().shape({
10072
- emails: yup__namespace.array().min(1, instance.t("validations.minOneEmail")).test("are-all-emails-valid", instance.t("validations.validEmail"), emails => emails.every(ramda.prop("valid"))).nullable(),
10965
+ function ownKeys$1(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; }
10966
+ function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
10967
+ const MULTIPLE_EMAIL_INPUT_VALIDATION_SCHEMA = {
10968
+ emails: yup__namespace.array().min(1, instance.t("validations.minOneEmail")).test("are-all-emails-valid", instance.t("validations.validEmail"), emails => emails.every(ramda.prop("valid"))).nullable()
10969
+ };
10970
+ const ROLES_RADIO_GROUP_VALIDATION_SCHEMA = {
10073
10971
  role: yup__namespace.string().required(instance.t("validations.roleRequired"))
10074
- });
10972
+ };
10973
+ const VALIDATION_SCHEMA$1 = yup__namespace.object().shape(_objectSpread$1(_objectSpread$1({}, MULTIPLE_EMAIL_INPUT_VALIDATION_SCHEMA), ROLES_RADIO_GROUP_VALIDATION_SCHEMA));
10075
10974
  const FILTER_INVALID_EMAILS = {
10076
10975
  label: instance.t("validations.filterInvalidEmails")
10077
10976
  };
@@ -10106,6 +11005,70 @@ const renderPayload = function (_ref) {
10106
11005
  };
10107
11006
  };
10108
11007
 
11008
+ const MultipleEmailInput = _ref => {
11009
+ var _head;
11010
+ let emails = _ref.emails,
11011
+ selectedMember = _ref.selectedMember;
11012
+ return selectedMember ? /*#__PURE__*/React__default["default"].createElement(formik$1.Input, {
11013
+ disabled: true,
11014
+ "data-cy": "ntm-manage-member-email-input",
11015
+ label: instance.t("common.email", SINGULAR),
11016
+ name: "emails",
11017
+ size: "medium",
11018
+ value: (_head = ramda.head(emails)) === null || _head === void 0 ? void 0 : _head.value
11019
+ }) : /*#__PURE__*/React__default["default"].createElement(formik$1.EmailInput, {
11020
+ counter: COUNTER_PROPS,
11021
+ "data-cy": "ntm-manage-member-email-input",
11022
+ filterInvalidEmails: FILTER_INVALID_EMAILS,
11023
+ helpText: instance.t("helpers.enterMultipleEmails"),
11024
+ label: `${instance.t("common.email", PLURAL)}*`,
11025
+ name: "emails",
11026
+ placeholder: instance.t("placeholders.email")
11027
+ });
11028
+ };
11029
+ MultipleEmailInput.defaultProps = {
11030
+ emails: [],
11031
+ selectedMember: null
11032
+ };
11033
+
11034
+ const RolesRadioGroup = _ref => {
11035
+ let role = _ref.role,
11036
+ roles = _ref.roles;
11037
+ return /*#__PURE__*/React__default["default"].createElement(formik$1.Radio, {
11038
+ stacked: true,
11039
+ className: "ntm-members-radio-group",
11040
+ "data-cy": "ntm-manage-member-roles-group",
11041
+ label: `${instance.t("common.role", SINGULAR)}*`,
11042
+ name: "role"
11043
+ }, roles.map(_ref2 => {
11044
+ let description = _ref2.description,
11045
+ id = _ref2.id,
11046
+ name = _ref2.name;
11047
+ return /*#__PURE__*/React__default["default"].createElement("label", {
11048
+ className: "ntm-members-pane-radio-item__wrapper",
11049
+ htmlFor: slugify(name),
11050
+ key: id
11051
+ }, /*#__PURE__*/React__default["default"].createElement(formik$1.Radio.Item, {
11052
+ className: "ntm-members-pane-radio-item__label",
11053
+ "data-cy": "ntm-manage-member-roles-button",
11054
+ defaultChecked: ramda.identical(name, role),
11055
+ id: slugify(name),
11056
+ label: name,
11057
+ name: "role",
11058
+ value: name
11059
+ }), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
11060
+ className: "neeto-ui-input__help-text",
11061
+ "data-cy": "ntm-manage-member-roles-description",
11062
+ style: "body3",
11063
+ weight: "normal"
11064
+ }, description));
11065
+ }));
11066
+ };
11067
+ RolesRadioGroup.defaultProps = {
11068
+ role: "",
11069
+ roles: []
11070
+ };
11071
+
10109
11072
  const ManageMember = _ref => {
10110
11073
  var _config$manageMember;
10111
11074
  let config = _ref.config,
@@ -10162,16 +11125,16 @@ const ManageMember = _ref => {
10162
11125
  style: "h2",
10163
11126
  weight: "semibold"
10164
11127
  }, selectedMember ? instance.t("common.edit_", {
10165
- what: instance.t(metaName, SINGULAR).toLocaleLowerCase()
11128
+ what: metaName(SINGULAR).toLocaleLowerCase()
10166
11129
  }) : instance.t("common.add_", {
10167
- what: instance.t(metaName, SINGULAR).toLocaleLowerCase()
11130
+ what: metaName(SINGULAR).toLocaleLowerCase()
10168
11131
  }))), config !== null && config !== void 0 && (_config$manageMember = config.manageMember) !== null && _config$manageMember !== void 0 && _config$manageMember.component ? config.manageMember.component(manageMemberProps) : /*#__PURE__*/React__default["default"].createElement(formik.Formik, {
10169
11132
  enableReinitialize: true,
10170
11133
  initialValues: renderInitialValues(selectedMember, roles),
10171
11134
  onSubmit: handleAddMember,
10172
11135
  validateOnBlur: hasSubmitted,
10173
11136
  validateOnChange: hasSubmitted,
10174
- validationSchema: VALIDATION_SCHEMA
11137
+ validationSchema: VALIDATION_SCHEMA$1
10175
11138
  }, _ref2 => {
10176
11139
  let values = _ref2.values,
10177
11140
  dirty = _ref2.dirty;
@@ -10183,51 +11146,13 @@ const ManageMember = _ref => {
10183
11146
  formRef: formReference
10184
11147
  }), /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Body, null, /*#__PURE__*/React__default["default"].createElement("div", {
10185
11148
  className: "ntm-members-pane__body"
10186
- }, selectedMember ? /*#__PURE__*/React__default["default"].createElement(formik$1.Input, {
10187
- "data-cy": "ntm-manage-member-email-input",
10188
- disabled: selectedMember,
10189
- label: instance.t("common.email", SINGULAR),
10190
- name: "emails",
10191
- size: "medium",
10192
- value: ramda.head(emails).value
10193
- }) : /*#__PURE__*/React__default["default"].createElement(formik$1.EmailInput, {
10194
- counter: COUNTER_PROPS,
10195
- "data-cy": "ntm-manage-member-email-input",
10196
- disabled: selectedMember,
10197
- filterInvalidEmails: FILTER_INVALID_EMAILS,
10198
- helpText: instance.t("helpers.enterMultipleEmails"),
10199
- label: `${instance.t("common.email", PLURAL)}*`,
10200
- name: "emails",
10201
- placeholder: instance.t("placeholders.email")
10202
- }), /*#__PURE__*/React__default["default"].createElement(formik$1.Radio, {
10203
- stacked: true,
10204
- className: "ntm-members-radio-group",
10205
- "data-cy": "ntm-manage-member-roles-group",
10206
- label: `${instance.t("common.role", SINGULAR)}*`,
10207
- name: "role"
10208
- }, roles.map(_ref3 => {
10209
- let description = _ref3.description,
10210
- id = _ref3.id,
10211
- name = _ref3.name;
10212
- return /*#__PURE__*/React__default["default"].createElement("label", {
10213
- className: "ntm-members-pane-radio-item__wrapper",
10214
- htmlFor: slugify(name),
10215
- key: id
10216
- }, /*#__PURE__*/React__default["default"].createElement(formik$1.Radio.Item, {
10217
- className: "ntm-members-pane-radio-item__label",
10218
- "data-cy": "ntm-manage-member-roles-button",
10219
- defaultChecked: ramda.identical(name, role),
10220
- id: slugify(name),
10221
- label: name,
10222
- name: "role",
10223
- value: name
10224
- }), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
10225
- className: "neeto-ui-input__help-text",
10226
- "data-cy": "ntm-manage-member-roles-description",
10227
- style: "body3",
10228
- weight: "normal"
10229
- }, description));
10230
- })))), /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Footer, {
11149
+ }, /*#__PURE__*/React__default["default"].createElement(MultipleEmailInput, {
11150
+ emails: emails,
11151
+ selectedMember: selectedMember
11152
+ }), /*#__PURE__*/React__default["default"].createElement(RolesRadioGroup, {
11153
+ role: role,
11154
+ roles: roles
11155
+ }))), /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Footer, {
10231
11156
  className: "ntm-members-pane__footer"
10232
11157
  }, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
10233
11158
  "data-cy": "ntm-manage-member-submit-button",
@@ -10256,7 +11181,7 @@ const Menu = _ref => {
10256
11181
  return /*#__PURE__*/React__default["default"].createElement(layouts.MenuBar, {
10257
11182
  "data-cy": "ntm-members-menubar-heading",
10258
11183
  showMenu: isMenuOpen,
10259
- title: instance.t(metaName, PLURAL)
11184
+ title: metaName(PLURAL)
10260
11185
  }, memberFilterKeys.map(filter => /*#__PURE__*/React__default["default"].createElement(layouts.MenuBar.Block, {
10261
11186
  active: memberFilterKeys.includes(memberFilter) && ramda.identical(filter, memberFilter),
10262
11187
  count: getPerCategoryCount(filterCounts, filter),
@@ -10270,9 +11195,9 @@ const Menu = _ref => {
10270
11195
  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; }
10271
11196
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
10272
11197
  const TeamMembers = _ref => {
10273
- var _config$permissions$v, _config$permissions, _config$permissions$v2, _config$permissions2;
10274
- let metaName = _ref.metaName,
10275
- config = _ref.config;
11198
+ var _config$permissions$v, _config$permissions, _config$permissions$v2, _config$permissions2, _filters$category;
11199
+ let config = _ref.config;
11200
+ const metaName = getMetaName((config === null || config === void 0 ? void 0 : config.metaName) || "member");
10276
11201
  const _useState = React.useState(DEFAULT_IS_OPEN_VALUES),
10277
11202
  _useState2 = _slicedToArray(_useState, 2),
10278
11203
  isOpen = _useState2[0],
@@ -10290,6 +11215,10 @@ const TeamMembers = _ref => {
10290
11215
  _useState8 = _slicedToArray(_useState7, 2),
10291
11216
  columnData = _useState8[0],
10292
11217
  setColumnData = _useState8[1];
11218
+ const _useState9 = React.useState(DEFAULT_SELECTED_ROWS),
11219
+ _useState10 = _slicedToArray(_useState9, 2),
11220
+ selectedRows = _useState10[0],
11221
+ setSelectedRows = _useState10[1];
10293
11222
  const _useFetchMembers = useFetchMembers(_objectSpread(_objectSpread({}, filters), {}, {
10294
11223
  search: debouncedSearch.trim(),
10295
11224
  category: filters.category.toLowerCase()
@@ -10313,6 +11242,7 @@ const TeamMembers = _ref => {
10313
11242
  }),
10314
11243
  updateMember = _useUpdateMember.mutate,
10315
11244
  isUpdatingMember = _useUpdateMember.isLoading;
11245
+ const currentCategoryCount = team === null || team === void 0 ? void 0 : team.perCategoryCount[filters === null || filters === void 0 ? void 0 : (_filters$category = filters.category) === null || _filters$category === void 0 ? void 0 : _filters$category.toLowerCase()];
10316
11246
  const searchProps = {
10317
11247
  "data-cy": "ntm-search-members-input",
10318
11248
  onChange: _ref3 => {
@@ -10323,7 +11253,7 @@ const TeamMembers = _ref => {
10323
11253
  }));
10324
11254
  },
10325
11255
  placeholder: instance.t("common.search_", {
10326
- what: instance.t(metaName, PLURAL).toLocaleLowerCase()
11256
+ what: metaName(PLURAL).toLocaleLowerCase()
10327
11257
  }),
10328
11258
  value: filters.search
10329
11259
  };
@@ -10377,6 +11307,13 @@ const TeamMembers = _ref => {
10377
11307
  sort_direction: sorter.order
10378
11308
  }));
10379
11309
  };
11310
+ const handleRowSelect = (keys, rowData) => {
11311
+ setSelectedRows({
11312
+ active: ramda.pluck("active", rowData),
11313
+ emails: ramda.pluck("email", rowData),
11314
+ keys
11315
+ });
11316
+ };
10380
11317
  if (isRolesLoading || isMembersLoading) {
10381
11318
  return /*#__PURE__*/React__default["default"].createElement("div", {
10382
11319
  className: "ntm-members-page-loader"
@@ -10405,18 +11342,24 @@ const TeamMembers = _ref => {
10405
11342
  })
10406
11343
  }), /*#__PURE__*/React__default["default"].createElement(layouts.SubHeader, {
10407
11344
  leftActionBlock: /*#__PURE__*/React__default["default"].createElement(SubHeader.Left, {
11345
+ filteredCount: team === null || team === void 0 ? void 0 : team.membersCount,
10408
11346
  metaName: metaName,
10409
- count: team === null || team === void 0 ? void 0 : team.membersCount
11347
+ selectedRows: selectedRows,
11348
+ totalCount: currentCategoryCount
10410
11349
  }),
10411
11350
  rightActionBlock: /*#__PURE__*/React__default["default"].createElement(SubHeader.Right, {
10412
11351
  columns: columns,
11352
+ roles: roles,
10413
11353
  rolesButtonProps: config.rolesButtonProps,
10414
- setColumnData: setColumnData
11354
+ selectedRows: selectedRows,
11355
+ setColumnData: setColumnData,
11356
+ setSelectedRows: setSelectedRows
10415
11357
  })
10416
11358
  }), (team === null || team === void 0 ? void 0 : team.membersCount) !== 0 ? /*#__PURE__*/React__default["default"].createElement("div", {
10417
11359
  className: "ntm-members__table-wrapper"
10418
11360
  }, /*#__PURE__*/React__default["default"].createElement(neetoui.Table, {
10419
11361
  fixedHeight: true,
11362
+ rowSelection: true,
10420
11363
  allowRowClick: false,
10421
11364
  columnData: columnData,
10422
11365
  currentPageNumber: parseInt(filters.page, DEFAULT_RADIX),
@@ -10424,14 +11367,15 @@ const TeamMembers = _ref => {
10424
11367
  defaultPageSize: parseInt(filters.results, DEFAULT_RADIX),
10425
11368
  handlePageChange: handlePageChange(setFilters, filters.category),
10426
11369
  loading: isMembersFetching,
10427
- onChange: (_, __, sorter) => handleTableChange(_, __, sorter),
11370
+ onChange: handleTableChange,
11371
+ onRowSelect: handleRowSelect,
10428
11372
  paginationProps: renderPaginationProps(filters.results),
10429
11373
  rowData: team === null || team === void 0 ? void 0 : team.members,
10430
- rowSelection: false,
11374
+ selectedRowKeys: selectedRows.keys,
10431
11375
  totalCount: team === null || team === void 0 ? void 0 : team.membersCount
10432
11376
  })) : /*#__PURE__*/React__default["default"].createElement(EmptyState, {
10433
11377
  title: instance.t("common.notFound_", {
10434
- what: instance.t(metaName, PLURAL).toLocaleLowerCase()
11378
+ what: metaName(PLURAL).toLocaleLowerCase()
10435
11379
  }),
10436
11380
  actionBlock: /*#__PURE__*/React__default["default"].createElement(Header, {
10437
11381
  metaName: metaName,
@@ -10456,8 +11400,8 @@ const TeamMembers = _ref => {
10456
11400
  })));
10457
11401
  };
10458
11402
  TeamMembers.defaultProps = {
10459
- metaName: "metaNames.member",
10460
11403
  config: {
11404
+ metaName: "member",
10461
11405
  permissions: {
10462
11406
  create: true,
10463
11407
  update: true,
@@ -10467,12 +11411,20 @@ TeamMembers.defaultProps = {
10467
11411
  };
10468
11412
  var index = withReactQuery(TeamMembers);
10469
11413
 
11414
+ const VALIDATION_SCHEMA = {
11415
+ MULTIPLE_EMAIL_INPUT: MULTIPLE_EMAIL_INPUT_VALIDATION_SCHEMA,
11416
+ ROLES_RADIO_GROUP: ROLES_RADIO_GROUP_VALIDATION_SCHEMA
11417
+ };
11418
+
10470
11419
  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}}
10471
11420
 
10472
11421
  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\n.ntm-members-pane-radio-item__wrapper {\n width: 100%;\n cursor: pointer;\n padding: 16px 0px !important;\n border-bottom: 1px solid rgb(var(--neeto-ui-gray-200));\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}";
10473
11422
  n(css,{});
10474
11423
 
11424
+ exports.MultipleEmailInput = MultipleEmailInput;
10475
11425
  exports.Roles = index$1;
11426
+ exports.RolesRadioGroup = RolesRadioGroup;
10476
11427
  exports.TeamMembers = index;
11428
+ exports.VALIDATION_SCHEMA = VALIDATION_SCHEMA;
10477
11429
  exports.hasPermission = hasPermission;
10478
11430
  //# sourceMappingURL=index.cjs.js.map