@bigbinary/neeto-team-members-frontend 5.0.36 → 5.0.38
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/app/javascript/src/translations/en.json +19 -1
- package/dist/.ready +1 -1
- package/dist/{Permissions-DzZb1CP-.js → Permissions-C5poOq-v.js} +8 -4
- package/dist/Permissions-C5poOq-v.js.map +1 -0
- package/dist/{Permissions-rFYQmsMn.js → Permissions-DoGY84sh.js} +8 -4
- package/dist/Permissions-DoGY84sh.js.map +1 -0
- package/dist/{RolesRadioGroup-n1NclSyf.js → RolesRadioGroup-D4LlGV4N.js} +8 -6
- package/dist/RolesRadioGroup-D4LlGV4N.js.map +1 -0
- package/dist/{RolesRadioGroup-bXyHmk_Q.js → RolesRadioGroup-cjHORagK.js} +8 -6
- package/dist/RolesRadioGroup-cjHORagK.js.map +1 -0
- package/dist/cjs/v2/Groups.js +42 -22
- package/dist/cjs/v2/Groups.js.map +1 -1
- package/dist/cjs/v2/ManageMember.js +3 -2
- package/dist/cjs/v2/ManageMember.js.map +1 -1
- package/dist/cjs/v2/MembersDropdown.js +3 -3
- package/dist/cjs/v2/MembersDropdown.js.map +1 -1
- package/dist/cjs/v2/MembersInvite.js +6 -5
- package/dist/cjs/v2/MembersInvite.js.map +1 -1
- package/dist/cjs/v2/Permissions.js +1 -1
- package/dist/cjs/v2/Profile.js +4 -4
- package/dist/cjs/v2/Profile.js.map +1 -1
- package/dist/cjs/v2/Roles.js +64 -45
- package/dist/cjs/v2/Roles.js.map +1 -1
- package/dist/cjs/v2/RolesRadioGroup.js +1 -1
- package/dist/cjs/v2/TeamMembers.js +35 -21
- package/dist/cjs/v2/TeamMembers.js.map +1 -1
- package/dist/cjs/v2/TeamsAndMembersDropdown.js +1 -0
- package/dist/cjs/v2/TeamsAndMembersDropdown.js.map +1 -1
- package/dist/cjs/v2/TeamsDropdown.js +3 -3
- package/dist/cjs/v2/TeamsDropdown.js.map +1 -1
- package/dist/cjs/v2/index.js +5 -5
- package/dist/{index-BaW7CGuF.js → index-BVrpRWeD.js} +5 -3
- package/dist/index-BVrpRWeD.js.map +1 -0
- package/dist/{index-C8Aaixo-.js → index-CVZHlIdE.js} +5 -3
- package/dist/index-CVZHlIdE.js.map +1 -0
- package/dist/{index-DIkLao3b.js → index-CWqUrFAb.js} +94 -109
- package/dist/index-CWqUrFAb.js.map +1 -0
- package/dist/{index-tIO9arWz.js → index-ClM2W32S.js} +95 -109
- package/dist/index-ClM2W32S.js.map +1 -0
- package/dist/v2/Groups.js +43 -23
- package/dist/v2/Groups.js.map +1 -1
- package/dist/v2/ManageMember.js +3 -2
- package/dist/v2/ManageMember.js.map +1 -1
- package/dist/v2/MembersDropdown.js +3 -3
- package/dist/v2/MembersDropdown.js.map +1 -1
- package/dist/v2/MembersInvite.js +6 -5
- package/dist/v2/MembersInvite.js.map +1 -1
- package/dist/v2/Permissions.js +1 -1
- package/dist/v2/Profile.js +4 -4
- package/dist/v2/Profile.js.map +1 -1
- package/dist/v2/Roles.js +64 -45
- package/dist/v2/Roles.js.map +1 -1
- package/dist/v2/RolesRadioGroup.js +1 -1
- package/dist/v2/TeamMembers.js +36 -22
- package/dist/v2/TeamMembers.js.map +1 -1
- package/dist/v2/TeamsAndMembersDropdown.js +1 -0
- package/dist/v2/TeamsAndMembersDropdown.js.map +1 -1
- package/dist/v2/TeamsDropdown.js +3 -3
- package/dist/v2/TeamsDropdown.js.map +1 -1
- package/dist/v2/index.js +5 -5
- package/package.json +5 -5
- package/dist/Permissions-DzZb1CP-.js.map +0 -1
- package/dist/Permissions-rFYQmsMn.js.map +0 -1
- package/dist/RolesRadioGroup-bXyHmk_Q.js.map +0 -1
- package/dist/RolesRadioGroup-n1NclSyf.js.map +0 -1
- package/dist/index-BaW7CGuF.js.map +0 -1
- package/dist/index-C8Aaixo-.js.map +0 -1
- package/dist/index-DIkLao3b.js.map +0 -1
- package/dist/index-tIO9arWz.js.map +0 -1
|
@@ -5,7 +5,7 @@ import _regeneratorRuntime from '@babel/runtime/regenerator';
|
|
|
5
5
|
import { useState, useEffect, useRef, useCallback } from 'react';
|
|
6
6
|
import { Switch, Label, cn, Avatar, Typography, Checkbox, Button, Tooltip, Spinner, DropdownMenu, Alert } from '@bigbinary/neeto-atoms';
|
|
7
7
|
import classnames from 'classnames';
|
|
8
|
-
import {
|
|
8
|
+
import { Users, Mail, EllipsisVertical, Check, ArrowLeft, Info } from 'lucide-react';
|
|
9
9
|
import { taxonomies, globalProps } from '@bigbinary/neeto-commons-frontend/initializers';
|
|
10
10
|
import { getQueryParams, buildUrl, hyphenize, showThumbsUpToastr } from '@bigbinary/neeto-commons-frontend/utils';
|
|
11
11
|
import { useProfileImageUpload } from '@bigbinary/neeto-image-uploader-frontend/hooks';
|
|
@@ -21,10 +21,11 @@ import { u as useFetchRoles, a as useFetchGlobalRoles, S as ScrollToErrorField }
|
|
|
21
21
|
import { u as useCountries, P as ProfileImage } from './timezone-selector-BMtLnRmu.js';
|
|
22
22
|
import { u as useFetchMembers, f as useFetchMember, g as useCreateMember, h as useMembersCreationStatus, r as refetchMembers, e as useUpdateMember } from './useTeamsApi-CWp4G7JZ.js';
|
|
23
23
|
import { toLabelAndValue, isNotEmpty, filterBy, findBy } from '@bigbinary/neeto-cist';
|
|
24
|
-
import { N as NEETO_AUTH_MANAGE_PRODUCT_URL, g as getSingleInvitationTranslationProps, a as getInviteURL, r as remainingExpiryDays, F as FORM_PAGES, b as FILTER_INVALID_EMAILS, C as COUNTER_PROPS, E as EMAIL_REGEX, D as DEFAULT_COMPONENT_CONFIG, M as MEMBERS_FORM_COMPONENT_MAPPER, c as buildValidationSchema, d as renderInitialValues, e as renderPayload, R as RolesRadioGroup } from './RolesRadioGroup-
|
|
24
|
+
import { N as NEETO_AUTH_MANAGE_PRODUCT_URL, g as getSingleInvitationTranslationProps, a as getInviteURL, r as remainingExpiryDays, F as FORM_PAGES, b as FILTER_INVALID_EMAILS, C as COUNTER_PROPS, E as EMAIL_REGEX, D as DEFAULT_COMPONENT_CONFIG, M as MEMBERS_FORM_COMPONENT_MAPPER, c as buildValidationSchema, d as renderInitialValues, e as renderPayload, R as RolesRadioGroup } from './RolesRadioGroup-D4LlGV4N.js';
|
|
25
25
|
import { Card, CardContent } from '@bigbinary/neeto-atoms/primitives/Card';
|
|
26
26
|
import { DEFAULT_PAGE_SIZE, DEFAULT_PAGE_INDEX, SINGULAR, PLURAL, LANGUAGE_OPTIONS } from '@bigbinary/neeto-commons-frontend/constants';
|
|
27
27
|
import { useMutationWithInvalidation, withT } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
28
|
+
import CopyToClipboardButton from '@bigbinary/neeto-molecules/v2/CopyToClipboardButton';
|
|
28
29
|
import { useQuery } from '@tanstack/react-query';
|
|
29
30
|
import axios from 'axios';
|
|
30
31
|
import { B as BASE_URL, Q as QUERY_KEYS, T as TIME_FORMAT_OPTIONS, D as DATE_FORMAT_OPTIONS } from './constants-B1L6arSR.js';
|
|
@@ -35,9 +36,9 @@ import { DropdownMenuItem } from '@bigbinary/neeto-atoms/primitives';
|
|
|
35
36
|
import i18next from 'i18next';
|
|
36
37
|
import MoreDropdown from '@bigbinary/neeto-molecules/v2/MoreDropdown';
|
|
37
38
|
|
|
38
|
-
var _excluded
|
|
39
|
-
function ownKeys$
|
|
40
|
-
function _objectSpread$
|
|
39
|
+
var _excluded = ["name", "label", "className", "checked", "disabled", "onChange"];
|
|
40
|
+
function ownKeys$3(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
41
|
+
function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
41
42
|
var FormikSwitch = function FormikSwitch(_ref) {
|
|
42
43
|
var name = _ref.name,
|
|
43
44
|
label = _ref.label,
|
|
@@ -45,7 +46,7 @@ var FormikSwitch = function FormikSwitch(_ref) {
|
|
|
45
46
|
checkedProp = _ref.checked,
|
|
46
47
|
disabled = _ref.disabled,
|
|
47
48
|
onChangeProp = _ref.onChange,
|
|
48
|
-
rest = _objectWithoutProperties(_ref, _excluded
|
|
49
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
49
50
|
var _useField = useField(name),
|
|
50
51
|
_useField2 = _slicedToArray(_useField, 3),
|
|
51
52
|
field = _useField2[0],
|
|
@@ -53,7 +54,7 @@ var FormikSwitch = function FormikSwitch(_ref) {
|
|
|
53
54
|
var isChecked = checkedProp !== undefined ? checkedProp : field.value;
|
|
54
55
|
return /*#__PURE__*/jsxs("div", {
|
|
55
56
|
className: cn("flex items-center gap-2", className),
|
|
56
|
-
children: [/*#__PURE__*/jsx(Switch, _objectSpread$
|
|
57
|
+
children: [/*#__PURE__*/jsx(Switch, _objectSpread$3({
|
|
57
58
|
disabled: disabled,
|
|
58
59
|
checked: isChecked,
|
|
59
60
|
id: name,
|
|
@@ -84,8 +85,8 @@ var DEFAULT_IS_OPEN_VALUES = {
|
|
|
84
85
|
var DEFAULT_FILTER_VALUES = {
|
|
85
86
|
page: clamp(1, Infinity, parseInt(page)) || DEFAULT_PAGE_INDEX,
|
|
86
87
|
pageSize: clamp(10, 100, parseInt(pageSize)) || DEFAULT_PAGE_SIZE,
|
|
87
|
-
sortBy:
|
|
88
|
-
orderBy:
|
|
88
|
+
sortBy: undefined,
|
|
89
|
+
orderBy: undefined,
|
|
89
90
|
neetoFilters: []
|
|
90
91
|
};
|
|
91
92
|
var DEFAULT_SELECTED_ROWS = {
|
|
@@ -95,8 +96,8 @@ var DEFAULT_SELECTED_ROWS = {
|
|
|
95
96
|
displayNames: []
|
|
96
97
|
};
|
|
97
98
|
|
|
98
|
-
function ownKeys$
|
|
99
|
-
function _objectSpread$
|
|
99
|
+
function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
100
|
+
function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
100
101
|
var renderNameColumn = function renderNameColumn(_ref) {
|
|
101
102
|
var config = _ref.config,
|
|
102
103
|
handleUpdateRole = _ref.handleUpdateRole,
|
|
@@ -115,8 +116,9 @@ var renderNameColumn = function renderNameColumn(_ref) {
|
|
|
115
116
|
imageUrl: imageUrl
|
|
116
117
|
}
|
|
117
118
|
}), /*#__PURE__*/jsx(Typography, {
|
|
118
|
-
className: "whitespace-normal
|
|
119
|
+
className: "whitespace-normal",
|
|
119
120
|
"data-testid": "ntm-member-name-".concat(hyphenize(name)),
|
|
121
|
+
variant: "body3",
|
|
120
122
|
children: name
|
|
121
123
|
})]
|
|
122
124
|
}), renderDropdownButton({
|
|
@@ -142,7 +144,6 @@ var renderDropdownButton = function renderDropdownButton(_ref2) {
|
|
|
142
144
|
},
|
|
143
145
|
isDisabled: not(config.permissions.update),
|
|
144
146
|
dropdownButtonProps: {
|
|
145
|
-
className: "me-1 my-1",
|
|
146
147
|
"data-testid": "ntm-members-table-row-dropdown-button",
|
|
147
148
|
tooltipProps: {
|
|
148
149
|
content: i18next.t("neetoTeamMembers.tooltips.noPermissionToEditMembers"),
|
|
@@ -181,7 +182,7 @@ var getDefaultAlertMessage = function getDefaultAlertMessage(_ref4) {
|
|
|
181
182
|
var member = _ref4.member;
|
|
182
183
|
return /*#__PURE__*/jsx(Trans, {
|
|
183
184
|
i18nKey: "neetoTeamMembers.alerts.messages.removeMember",
|
|
184
|
-
values: _objectSpread$
|
|
185
|
+
values: _objectSpread$2(_objectSpread$2({}, SINGULAR), {}, {
|
|
185
186
|
person: member === null || member === void 0 ? void 0 : member.displayName
|
|
186
187
|
})
|
|
187
188
|
});
|
|
@@ -217,7 +218,6 @@ var getDefaultColumns = function getDefaultColumns(_ref5) {
|
|
|
217
218
|
header: i18next.t("neetoTeamMembers.common.email", SINGULAR)
|
|
218
219
|
}, {
|
|
219
220
|
accessorKey: "role",
|
|
220
|
-
id: "organization_role",
|
|
221
221
|
enableSorting: true,
|
|
222
222
|
size: 200,
|
|
223
223
|
header: i18next.t("neetoTeamMembers.common.role", SINGULAR)
|
|
@@ -341,8 +341,10 @@ var generateNoDataContent = function generateNoDataContent(_ref9) {
|
|
|
341
341
|
var buttonProps = _ref9.buttonProps;
|
|
342
342
|
var disabled = buttonProps.disabled,
|
|
343
343
|
onClick = buttonProps.onClick;
|
|
344
|
-
var
|
|
345
|
-
|
|
344
|
+
var noDataTitle = i18next.t("neetoTeamMembers.common.memberEmptyTitle", {
|
|
345
|
+
what: taxonomies.member.plural
|
|
346
|
+
});
|
|
347
|
+
var noDataDescription = i18next.t("neetoTeamMembers.common.memberEmptyDescription", {
|
|
346
348
|
what: taxonomies.member.plural
|
|
347
349
|
});
|
|
348
350
|
var noDataButtonProps = {
|
|
@@ -355,6 +357,8 @@ var generateNoDataContent = function generateNoDataContent(_ref9) {
|
|
|
355
357
|
};
|
|
356
358
|
return {
|
|
357
359
|
noDataTitle: noDataTitle,
|
|
360
|
+
noDataDescription: noDataDescription,
|
|
361
|
+
noDataIcon: Users,
|
|
358
362
|
noDataButtonProps: noDataButtonProps
|
|
359
363
|
};
|
|
360
364
|
};
|
|
@@ -414,7 +418,8 @@ var AppList = function AppList(_ref) {
|
|
|
414
418
|
className: "leading-relaxed",
|
|
415
419
|
htmlFor: "app-list-toggle",
|
|
416
420
|
children: /*#__PURE__*/jsx(Typography, {
|
|
417
|
-
className: "
|
|
421
|
+
className: "leading-relaxed",
|
|
422
|
+
variant: "body3",
|
|
418
423
|
children: /*#__PURE__*/jsx(Trans, {
|
|
419
424
|
i18nKey: "neetoTeamMembers.helpers.addMembersToNeetoProducts",
|
|
420
425
|
values: {
|
|
@@ -424,13 +429,12 @@ var AppList = function AppList(_ref) {
|
|
|
424
429
|
})
|
|
425
430
|
})]
|
|
426
431
|
}), isManageProductsLinkEnabled && /*#__PURE__*/jsx(Typography, {
|
|
427
|
-
|
|
432
|
+
variant: "body3",
|
|
428
433
|
children: /*#__PURE__*/jsx(Trans, {
|
|
429
434
|
i18nKey: "neetoTeamMembers.helpers.manageProducts",
|
|
430
435
|
components: {
|
|
431
436
|
button: /*#__PURE__*/jsx(Button, {
|
|
432
437
|
asChild: true,
|
|
433
|
-
className: "text-primary underline underline-offset-4",
|
|
434
438
|
variant: "link",
|
|
435
439
|
children: /*#__PURE__*/jsx("a", {
|
|
436
440
|
href: NEETO_AUTH_MANAGE_PRODUCT_URL,
|
|
@@ -576,76 +580,6 @@ var Confirmation = function Confirmation() {
|
|
|
576
580
|
});
|
|
577
581
|
};
|
|
578
582
|
|
|
579
|
-
var _excluded = ["value", "className", "size", "variant", "children"];
|
|
580
|
-
function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
581
|
-
function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
582
|
-
var CopyToClipboardButton = function CopyToClipboardButton(_ref) {
|
|
583
|
-
var value = _ref.value,
|
|
584
|
-
className = _ref.className,
|
|
585
|
-
_ref$size = _ref.size,
|
|
586
|
-
size = _ref$size === void 0 ? "sm" : _ref$size,
|
|
587
|
-
_ref$variant = _ref.variant,
|
|
588
|
-
variant = _ref$variant === void 0 ? "outline" : _ref$variant,
|
|
589
|
-
children = _ref.children,
|
|
590
|
-
rest = _objectWithoutProperties(_ref, _excluded);
|
|
591
|
-
var _useState = useState(false),
|
|
592
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
593
|
-
copied = _useState2[0],
|
|
594
|
-
setCopied = _useState2[1];
|
|
595
|
-
var handleCopy = /*#__PURE__*/function () {
|
|
596
|
-
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
597
|
-
var textArea;
|
|
598
|
-
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
599
|
-
while (1) switch (_context.prev = _context.next) {
|
|
600
|
-
case 0:
|
|
601
|
-
_context.prev = 0;
|
|
602
|
-
_context.next = 3;
|
|
603
|
-
return navigator.clipboard.writeText(value);
|
|
604
|
-
case 3:
|
|
605
|
-
setCopied(true);
|
|
606
|
-
setTimeout(function () {
|
|
607
|
-
return setCopied(false);
|
|
608
|
-
}, 2000);
|
|
609
|
-
_context.next = 17;
|
|
610
|
-
break;
|
|
611
|
-
case 7:
|
|
612
|
-
_context.prev = 7;
|
|
613
|
-
_context.t0 = _context["catch"](0);
|
|
614
|
-
// Fallback for older browsers
|
|
615
|
-
textArea = document.createElement("textarea");
|
|
616
|
-
textArea.value = value;
|
|
617
|
-
document.body.appendChild(textArea);
|
|
618
|
-
textArea.select();
|
|
619
|
-
document.execCommand("copy");
|
|
620
|
-
document.body.removeChild(textArea);
|
|
621
|
-
setCopied(true);
|
|
622
|
-
setTimeout(function () {
|
|
623
|
-
return setCopied(false);
|
|
624
|
-
}, 2000);
|
|
625
|
-
case 17:
|
|
626
|
-
case "end":
|
|
627
|
-
return _context.stop();
|
|
628
|
-
}
|
|
629
|
-
}, _callee, null, [[0, 7]]);
|
|
630
|
-
}));
|
|
631
|
-
return function handleCopy() {
|
|
632
|
-
return _ref2.apply(this, arguments);
|
|
633
|
-
};
|
|
634
|
-
}();
|
|
635
|
-
return /*#__PURE__*/jsxs(Button, _objectSpread$2(_objectSpread$2({
|
|
636
|
-
size: size,
|
|
637
|
-
variant: variant,
|
|
638
|
-
className: cn("gap-1", className),
|
|
639
|
-
onClick: handleCopy
|
|
640
|
-
}, rest), {}, {
|
|
641
|
-
children: [copied ? /*#__PURE__*/jsx(Check, {
|
|
642
|
-
className: "size-3.5"
|
|
643
|
-
}) : /*#__PURE__*/jsx(Copy, {
|
|
644
|
-
className: "size-3.5"
|
|
645
|
-
}), children]
|
|
646
|
-
}));
|
|
647
|
-
};
|
|
648
|
-
|
|
649
583
|
// eslint-disable-next-line @bigbinary/neeto/no-axios-import-outside-apis
|
|
650
584
|
var fetch = function fetch() {
|
|
651
585
|
return axios.get("".concat(BASE_URL, "/api/v1/invite_links"));
|
|
@@ -694,8 +628,9 @@ var useRegenerateInviteLink = function useRegenerateInviteLink() {
|
|
|
694
628
|
});
|
|
695
629
|
};
|
|
696
630
|
|
|
631
|
+
var FEEDBACK_DURATION_MS = 2500;
|
|
697
632
|
var InviteLink$1 = function InviteLink(_ref) {
|
|
698
|
-
var _inviteLinks$, _inviteLinks$2, _inviteLinks$3, _inviteLinks$4, _inviteLinks$5, _inviteLinks$6;
|
|
633
|
+
var _inviteLinks$, _inviteLinks$2, _inviteLinks$3, _inviteLinks$4, _inviteLinks$5, _inviteLinks$6, _inviteLinks$7;
|
|
699
634
|
var t = _ref.t,
|
|
700
635
|
roles = _ref.roles;
|
|
701
636
|
var _useCreateInviteLinks = useCreateInviteLinks(),
|
|
@@ -711,6 +646,23 @@ var InviteLink$1 = function InviteLink(_ref) {
|
|
|
711
646
|
isFetchLinkLoading = _useFetchInviteLinks.isLoading;
|
|
712
647
|
var _useFormikContext = useFormikContext(),
|
|
713
648
|
values = _useFormikContext.values;
|
|
649
|
+
var _useState = useState(""),
|
|
650
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
651
|
+
feedbackMessage = _useState2[0],
|
|
652
|
+
setFeedbackMessage = _useState2[1];
|
|
653
|
+
var feedbackTimerRef = useRef();
|
|
654
|
+
var showFeedback = function showFeedback(message) {
|
|
655
|
+
setFeedbackMessage(message);
|
|
656
|
+
clearTimeout(feedbackTimerRef.current);
|
|
657
|
+
feedbackTimerRef.current = setTimeout(function () {
|
|
658
|
+
return setFeedbackMessage("");
|
|
659
|
+
}, FEEDBACK_DURATION_MS);
|
|
660
|
+
};
|
|
661
|
+
useEffect(function () {
|
|
662
|
+
return function () {
|
|
663
|
+
return clearTimeout(feedbackTimerRef.current);
|
|
664
|
+
};
|
|
665
|
+
}, []);
|
|
714
666
|
var isInviteLinkEmpty = !isFetchLinkLoading && isEmpty(inviteLinks);
|
|
715
667
|
var handleRegenerate = function handleRegenerate() {
|
|
716
668
|
var _findBy = findBy({
|
|
@@ -720,6 +672,10 @@ var InviteLink$1 = function InviteLink(_ref) {
|
|
|
720
672
|
if (isEmpty(inviteLinks)) {
|
|
721
673
|
createInviteLink({
|
|
722
674
|
organizationRoleId: roleId
|
|
675
|
+
}, {
|
|
676
|
+
onSuccess: function onSuccess() {
|
|
677
|
+
return showFeedback(t("neetoTeamMembers.alerts.success.inviteLinkGenerated"));
|
|
678
|
+
}
|
|
723
679
|
});
|
|
724
680
|
return;
|
|
725
681
|
}
|
|
@@ -728,6 +684,10 @@ var InviteLink$1 = function InviteLink(_ref) {
|
|
|
728
684
|
payload: {
|
|
729
685
|
organizationRoleId: roleId
|
|
730
686
|
}
|
|
687
|
+
}, {
|
|
688
|
+
onSuccess: function onSuccess() {
|
|
689
|
+
return showFeedback(t("neetoTeamMembers.alerts.success.inviteLinkRegenerated"));
|
|
690
|
+
}
|
|
731
691
|
});
|
|
732
692
|
};
|
|
733
693
|
if (isFetchLinkLoading || isCreateLinkPending) {
|
|
@@ -742,22 +702,35 @@ var InviteLink$1 = function InviteLink(_ref) {
|
|
|
742
702
|
className: "flex items-center gap-2 pt-1",
|
|
743
703
|
children: [/*#__PURE__*/jsxs("div", {
|
|
744
704
|
className: "relative flex min-w-0 grow items-center truncate rounded-md border border-border bg-muted/50 leading-none",
|
|
745
|
-
children: [/*#__PURE__*/jsx("div", {
|
|
746
|
-
className: "relative min-w-0 grow truncate p-2 leading-none"
|
|
747
|
-
|
|
705
|
+
children: [isInviteLinkEmpty ? /*#__PURE__*/jsx("div", {
|
|
706
|
+
className: "relative min-w-0 grow truncate p-2 leading-none"
|
|
707
|
+
}) : /*#__PURE__*/jsx(Button, {
|
|
708
|
+
asChild: true,
|
|
709
|
+
className: "relative block h-auto min-w-0 shrink grow truncate p-2 font-normal leading-none no-underline hover:underline",
|
|
710
|
+
variant: "link",
|
|
711
|
+
children: /*#__PURE__*/jsx("a", {
|
|
712
|
+
href: getInviteURL(inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$ = inviteLinks[0]) === null || _inviteLinks$ === void 0 ? void 0 : _inviteLinks$.token),
|
|
713
|
+
rel: "noopener noreferrer",
|
|
714
|
+
target: "_blank",
|
|
715
|
+
children: getInviteURL(inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$2 = inviteLinks[0]) === null || _inviteLinks$2 === void 0 ? void 0 : _inviteLinks$2.token)
|
|
716
|
+
})
|
|
748
717
|
}), isInviteLinkEmpty ? /*#__PURE__*/jsx(Button, {
|
|
749
718
|
className: "rounded-s-none",
|
|
750
719
|
onClick: handleRegenerate,
|
|
751
720
|
children: t("neetoTeamMembers.buttons.generateLink")
|
|
752
721
|
}) : /*#__PURE__*/jsx(CopyToClipboardButton, {
|
|
753
|
-
className: "rounded-s-none",
|
|
754
|
-
value: getInviteURL(inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$
|
|
755
|
-
|
|
722
|
+
className: "rounded-s-none border-s",
|
|
723
|
+
value: getInviteURL(inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$3 = inviteLinks[0]) === null || _inviteLinks$3 === void 0 ? void 0 : _inviteLinks$3.token),
|
|
724
|
+
variant: "ghost"
|
|
756
725
|
})]
|
|
757
726
|
}), !isInviteLinkEmpty && /*#__PURE__*/jsx(DropdownMenu, {
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
727
|
+
customTarget: /*#__PURE__*/jsx(Button, {
|
|
728
|
+
"aria-label": t("neetoTeamMembers.buttons.regenerateLink"),
|
|
729
|
+
className: "shrink-0",
|
|
730
|
+
icon: EllipsisVertical,
|
|
731
|
+
size: "icon",
|
|
732
|
+
variant: "ghost"
|
|
733
|
+
}),
|
|
761
734
|
children: /*#__PURE__*/jsx(DropdownMenu.Menu, {
|
|
762
735
|
children: /*#__PURE__*/jsx(DropdownMenu.MenuItem, {
|
|
763
736
|
children: /*#__PURE__*/jsx(DropdownMenu.MenuItem.Button, {
|
|
@@ -767,20 +740,33 @@ var InviteLink$1 = function InviteLink(_ref) {
|
|
|
767
740
|
})
|
|
768
741
|
})
|
|
769
742
|
})]
|
|
743
|
+
}), feedbackMessage && /*#__PURE__*/jsxs("div", {
|
|
744
|
+
"aria-live": "polite",
|
|
745
|
+
className: "flex w-fit items-center gap-1.5 rounded-md bg-success-solid px-2 py-1 text-success-solid-foreground animate-in fade-in slide-in-from-top-1 duration-200",
|
|
746
|
+
children: [/*#__PURE__*/jsx(Check, {
|
|
747
|
+
className: "size-3.5 shrink-0"
|
|
748
|
+
}), /*#__PURE__*/jsx(Typography, {
|
|
749
|
+
color: "inherit",
|
|
750
|
+
variant: "caption",
|
|
751
|
+
weight: "medium",
|
|
752
|
+
children: feedbackMessage
|
|
753
|
+
})]
|
|
770
754
|
}), /*#__PURE__*/jsx("div", {
|
|
771
755
|
children: !isInviteLinkEmpty && /*#__PURE__*/jsx(Typography, {
|
|
772
|
-
className: "
|
|
756
|
+
className: "leading-relaxed",
|
|
757
|
+
color: "muted",
|
|
758
|
+
variant: "body3",
|
|
773
759
|
children: /*#__PURE__*/jsx(Trans, {
|
|
774
760
|
components: {
|
|
775
761
|
strong: /*#__PURE__*/jsx("strong", {})
|
|
776
762
|
},
|
|
777
763
|
i18nKey: "neetoTeamMembers.alerts.messages.inviteLink",
|
|
778
764
|
values: {
|
|
779
|
-
expiryDays: remainingExpiryDays(inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$
|
|
780
|
-
role: inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$
|
|
781
|
-
inviteLimit: inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$
|
|
765
|
+
expiryDays: remainingExpiryDays(inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$4 = inviteLinks[0]) === null || _inviteLinks$4 === void 0 ? void 0 : _inviteLinks$4.expiresAt),
|
|
766
|
+
role: inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$5 = inviteLinks[0]) === null || _inviteLinks$5 === void 0 || (_inviteLinks$5 = _inviteLinks$5.organizationRole) === null || _inviteLinks$5 === void 0 ? void 0 : _inviteLinks$5.name,
|
|
767
|
+
inviteLimit: inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$6 = inviteLinks[0]) === null || _inviteLinks$6 === void 0 ? void 0 : _inviteLinks$6.inviteLimit,
|
|
782
768
|
appName: globalProps.appName,
|
|
783
|
-
emailDomain: inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$
|
|
769
|
+
emailDomain: inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$7 = inviteLinks[0]) === null || _inviteLinks$7 === void 0 ? void 0 : _inviteLinks$7.domain
|
|
784
770
|
}
|
|
785
771
|
})
|
|
786
772
|
})
|
|
@@ -821,7 +807,7 @@ var MultipleEmailInput = function MultipleEmailInput(_ref) {
|
|
|
821
807
|
label: /*#__PURE__*/jsx("span", {
|
|
822
808
|
className: "flex w-full justify-between",
|
|
823
809
|
children: /*#__PURE__*/jsx(Typography, {
|
|
824
|
-
|
|
810
|
+
variant: "body3",
|
|
825
811
|
children: t("neetoTeamMembers.common.email", SINGULAR)
|
|
826
812
|
})
|
|
827
813
|
}),
|
|
@@ -835,7 +821,6 @@ var MultipleEmailInput = function MultipleEmailInput(_ref) {
|
|
|
835
821
|
children: " *"
|
|
836
822
|
})]
|
|
837
823
|
}), isInviteLinkFeatureEnabled && /*#__PURE__*/jsx(Button, {
|
|
838
|
-
className: "text-primary underline underline-offset-4",
|
|
839
824
|
variant: "link",
|
|
840
825
|
onClick: function onClick() {
|
|
841
826
|
return setCurrentPage(FORM_PAGES.INVITE_LINK);
|
|
@@ -1350,7 +1335,7 @@ var ManageMember = function ManageMember(_ref) {
|
|
|
1350
1335
|
children: [/*#__PURE__*/jsx(ScrollToErrorField, {
|
|
1351
1336
|
formRef: formReference
|
|
1352
1337
|
}), /*#__PURE__*/jsxs("div", _objectSpread(_objectSpread({}, isSheet ? manageMemberComponentConfig.bodyProps : {}), {}, {
|
|
1353
|
-
className: cn(isSheet ? "w-full flex-1 space-y-6 overflow-y-auto px-
|
|
1338
|
+
className: cn(isSheet ? "w-full flex-1 space-y-6 overflow-y-auto px-6 pb-4" : "w-full space-y-6 pb-4", isSheet && ((_manageMemberComponen2 = manageMemberComponentConfig.bodyProps) === null || _manageMemberComponen2 === void 0 ? void 0 : _manageMemberComponen2.className)),
|
|
1354
1339
|
children: [isSheet && isCreationStatusPollingEnabled && /*#__PURE__*/jsxs(Alert, {
|
|
1355
1340
|
children: [/*#__PURE__*/jsx(Info, {
|
|
1356
1341
|
className: "size-4"
|
|
@@ -1385,4 +1370,4 @@ var ManageMember = function ManageMember(_ref) {
|
|
|
1385
1370
|
};
|
|
1386
1371
|
|
|
1387
1372
|
export { DEFAULT_FILTER_VALUES as D, ManageMember as M, DEFAULT_IS_OPEN_VALUES as a, buildFilterColumns as b, DEFAULT_SELECTED_ROWS as c, defaultNeetoFiltersColumns as d, getColumnData as e, generateNoDataContent as f, getFilteredRoles as g, handlePageChange as h, DEFAULT_RADIX as i, renderUpdateAlert as r };
|
|
1388
|
-
//# sourceMappingURL=index-
|
|
1373
|
+
//# sourceMappingURL=index-CWqUrFAb.js.map
|