@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.
Files changed (69) hide show
  1. package/app/javascript/src/translations/en.json +19 -1
  2. package/dist/.ready +1 -1
  3. package/dist/{Permissions-DzZb1CP-.js → Permissions-C5poOq-v.js} +8 -4
  4. package/dist/Permissions-C5poOq-v.js.map +1 -0
  5. package/dist/{Permissions-rFYQmsMn.js → Permissions-DoGY84sh.js} +8 -4
  6. package/dist/Permissions-DoGY84sh.js.map +1 -0
  7. package/dist/{RolesRadioGroup-n1NclSyf.js → RolesRadioGroup-D4LlGV4N.js} +8 -6
  8. package/dist/RolesRadioGroup-D4LlGV4N.js.map +1 -0
  9. package/dist/{RolesRadioGroup-bXyHmk_Q.js → RolesRadioGroup-cjHORagK.js} +8 -6
  10. package/dist/RolesRadioGroup-cjHORagK.js.map +1 -0
  11. package/dist/cjs/v2/Groups.js +42 -22
  12. package/dist/cjs/v2/Groups.js.map +1 -1
  13. package/dist/cjs/v2/ManageMember.js +3 -2
  14. package/dist/cjs/v2/ManageMember.js.map +1 -1
  15. package/dist/cjs/v2/MembersDropdown.js +3 -3
  16. package/dist/cjs/v2/MembersDropdown.js.map +1 -1
  17. package/dist/cjs/v2/MembersInvite.js +6 -5
  18. package/dist/cjs/v2/MembersInvite.js.map +1 -1
  19. package/dist/cjs/v2/Permissions.js +1 -1
  20. package/dist/cjs/v2/Profile.js +4 -4
  21. package/dist/cjs/v2/Profile.js.map +1 -1
  22. package/dist/cjs/v2/Roles.js +64 -45
  23. package/dist/cjs/v2/Roles.js.map +1 -1
  24. package/dist/cjs/v2/RolesRadioGroup.js +1 -1
  25. package/dist/cjs/v2/TeamMembers.js +35 -21
  26. package/dist/cjs/v2/TeamMembers.js.map +1 -1
  27. package/dist/cjs/v2/TeamsAndMembersDropdown.js +1 -0
  28. package/dist/cjs/v2/TeamsAndMembersDropdown.js.map +1 -1
  29. package/dist/cjs/v2/TeamsDropdown.js +3 -3
  30. package/dist/cjs/v2/TeamsDropdown.js.map +1 -1
  31. package/dist/cjs/v2/index.js +5 -5
  32. package/dist/{index-BaW7CGuF.js → index-BVrpRWeD.js} +5 -3
  33. package/dist/index-BVrpRWeD.js.map +1 -0
  34. package/dist/{index-C8Aaixo-.js → index-CVZHlIdE.js} +5 -3
  35. package/dist/index-CVZHlIdE.js.map +1 -0
  36. package/dist/{index-DIkLao3b.js → index-CWqUrFAb.js} +94 -109
  37. package/dist/index-CWqUrFAb.js.map +1 -0
  38. package/dist/{index-tIO9arWz.js → index-ClM2W32S.js} +95 -109
  39. package/dist/index-ClM2W32S.js.map +1 -0
  40. package/dist/v2/Groups.js +43 -23
  41. package/dist/v2/Groups.js.map +1 -1
  42. package/dist/v2/ManageMember.js +3 -2
  43. package/dist/v2/ManageMember.js.map +1 -1
  44. package/dist/v2/MembersDropdown.js +3 -3
  45. package/dist/v2/MembersDropdown.js.map +1 -1
  46. package/dist/v2/MembersInvite.js +6 -5
  47. package/dist/v2/MembersInvite.js.map +1 -1
  48. package/dist/v2/Permissions.js +1 -1
  49. package/dist/v2/Profile.js +4 -4
  50. package/dist/v2/Profile.js.map +1 -1
  51. package/dist/v2/Roles.js +64 -45
  52. package/dist/v2/Roles.js.map +1 -1
  53. package/dist/v2/RolesRadioGroup.js +1 -1
  54. package/dist/v2/TeamMembers.js +36 -22
  55. package/dist/v2/TeamMembers.js.map +1 -1
  56. package/dist/v2/TeamsAndMembersDropdown.js +1 -0
  57. package/dist/v2/TeamsAndMembersDropdown.js.map +1 -1
  58. package/dist/v2/TeamsDropdown.js +3 -3
  59. package/dist/v2/TeamsDropdown.js.map +1 -1
  60. package/dist/v2/index.js +5 -5
  61. package/package.json +5 -5
  62. package/dist/Permissions-DzZb1CP-.js.map +0 -1
  63. package/dist/Permissions-rFYQmsMn.js.map +0 -1
  64. package/dist/RolesRadioGroup-bXyHmk_Q.js.map +0 -1
  65. package/dist/RolesRadioGroup-n1NclSyf.js.map +0 -1
  66. package/dist/index-BaW7CGuF.js.map +0 -1
  67. package/dist/index-C8Aaixo-.js.map +0 -1
  68. package/dist/index-DIkLao3b.js.map +0 -1
  69. package/dist/index-tIO9arWz.js.map +0 -1
@@ -23,10 +23,11 @@ var index = require('./index-BkEJugj1.js');
23
23
  var timezoneSelector = require('./timezone-selector-B331adFN.js');
24
24
  var useTeamsApi = require('./useTeamsApi-Ch5sHR2_.js');
25
25
  var neetoCist = require('@bigbinary/neeto-cist');
26
- var v2_RolesRadioGroup = require('./RolesRadioGroup-bXyHmk_Q.js');
26
+ var v2_RolesRadioGroup = require('./RolesRadioGroup-cjHORagK.js');
27
27
  var Card = require('@bigbinary/neeto-atoms/primitives/Card');
28
28
  var constants = require('@bigbinary/neeto-commons-frontend/constants');
29
29
  var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
30
+ var CopyToClipboardButton = require('@bigbinary/neeto-molecules/v2/CopyToClipboardButton');
30
31
  var reactQuery = require('@tanstack/react-query');
31
32
  var axios = require('axios');
32
33
  var constants$1 = require('./constants-CMNbKvoF.js');
@@ -45,13 +46,14 @@ var _slicedToArray__default = /*#__PURE__*/_interopDefault(_slicedToArray);
45
46
  var _regeneratorRuntime__default = /*#__PURE__*/_interopDefault(_regeneratorRuntime);
46
47
  var classnames__default = /*#__PURE__*/_interopDefault(classnames);
47
48
  var _objectWithoutProperties__default = /*#__PURE__*/_interopDefault(_objectWithoutProperties);
49
+ var CopyToClipboardButton__default = /*#__PURE__*/_interopDefault(CopyToClipboardButton);
48
50
  var axios__default = /*#__PURE__*/_interopDefault(axios);
49
51
  var i18next__default = /*#__PURE__*/_interopDefault(i18next);
50
52
  var MoreDropdown__default = /*#__PURE__*/_interopDefault(MoreDropdown);
51
53
 
52
- var _excluded$1 = ["name", "label", "className", "checked", "disabled", "onChange"];
53
- function ownKeys$4(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; }
54
- function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), true).forEach(function (r) { _defineProperty__default.default(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
54
+ var _excluded = ["name", "label", "className", "checked", "disabled", "onChange"];
55
+ 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; }
56
+ 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__default.default(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; }
55
57
  var FormikSwitch = function FormikSwitch(_ref) {
56
58
  var name = _ref.name,
57
59
  label = _ref.label,
@@ -59,7 +61,7 @@ var FormikSwitch = function FormikSwitch(_ref) {
59
61
  checkedProp = _ref.checked,
60
62
  disabled = _ref.disabled,
61
63
  onChangeProp = _ref.onChange,
62
- rest = _objectWithoutProperties__default.default(_ref, _excluded$1);
64
+ rest = _objectWithoutProperties__default.default(_ref, _excluded);
63
65
  var _useField = formik.useField(name),
64
66
  _useField2 = _slicedToArray__default.default(_useField, 3),
65
67
  field = _useField2[0],
@@ -67,7 +69,7 @@ var FormikSwitch = function FormikSwitch(_ref) {
67
69
  var isChecked = checkedProp !== undefined ? checkedProp : field.value;
68
70
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
69
71
  className: neetoAtoms.cn("flex items-center gap-2", className),
70
- children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Switch, _objectSpread$4({
72
+ children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Switch, _objectSpread$3({
71
73
  disabled: disabled,
72
74
  checked: isChecked,
73
75
  id: name,
@@ -98,8 +100,8 @@ var DEFAULT_IS_OPEN_VALUES = {
98
100
  var DEFAULT_FILTER_VALUES = {
99
101
  page: ramda.clamp(1, Infinity, parseInt(page)) || constants.DEFAULT_PAGE_INDEX,
100
102
  pageSize: ramda.clamp(10, 100, parseInt(pageSize)) || constants.DEFAULT_PAGE_SIZE,
101
- sortBy: "",
102
- orderBy: "",
103
+ sortBy: undefined,
104
+ orderBy: undefined,
103
105
  neetoFilters: []
104
106
  };
105
107
  var DEFAULT_SELECTED_ROWS = {
@@ -109,8 +111,8 @@ var DEFAULT_SELECTED_ROWS = {
109
111
  displayNames: []
110
112
  };
111
113
 
112
- 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; }
113
- 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__default.default(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; }
114
+ 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; }
115
+ 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__default.default(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; }
114
116
  var renderNameColumn = function renderNameColumn(_ref) {
115
117
  var config = _ref.config,
116
118
  handleUpdateRole = _ref.handleUpdateRole,
@@ -129,8 +131,9 @@ var renderNameColumn = function renderNameColumn(_ref) {
129
131
  imageUrl: imageUrl
130
132
  }
131
133
  }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
132
- className: "whitespace-normal text-sm",
134
+ className: "whitespace-normal",
133
135
  "data-testid": "ntm-member-name-".concat(utils.hyphenize(name)),
136
+ variant: "body3",
134
137
  children: name
135
138
  })]
136
139
  }), renderDropdownButton({
@@ -156,7 +159,6 @@ var renderDropdownButton = function renderDropdownButton(_ref2) {
156
159
  },
157
160
  isDisabled: ramda.not(config.permissions.update),
158
161
  dropdownButtonProps: {
159
- className: "me-1 my-1",
160
162
  "data-testid": "ntm-members-table-row-dropdown-button",
161
163
  tooltipProps: {
162
164
  content: i18next__default.default.t("neetoTeamMembers.tooltips.noPermissionToEditMembers"),
@@ -195,7 +197,7 @@ var getDefaultAlertMessage = function getDefaultAlertMessage(_ref4) {
195
197
  var member = _ref4.member;
196
198
  return /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
197
199
  i18nKey: "neetoTeamMembers.alerts.messages.removeMember",
198
- values: _objectSpread$3(_objectSpread$3({}, constants.SINGULAR), {}, {
200
+ values: _objectSpread$2(_objectSpread$2({}, constants.SINGULAR), {}, {
199
201
  person: member === null || member === void 0 ? void 0 : member.displayName
200
202
  })
201
203
  });
@@ -231,7 +233,6 @@ var getDefaultColumns = function getDefaultColumns(_ref5) {
231
233
  header: i18next__default.default.t("neetoTeamMembers.common.email", constants.SINGULAR)
232
234
  }, {
233
235
  accessorKey: "role",
234
- id: "organization_role",
235
236
  enableSorting: true,
236
237
  size: 200,
237
238
  header: i18next__default.default.t("neetoTeamMembers.common.role", constants.SINGULAR)
@@ -355,8 +356,10 @@ var generateNoDataContent = function generateNoDataContent(_ref9) {
355
356
  var buttonProps = _ref9.buttonProps;
356
357
  var disabled = buttonProps.disabled,
357
358
  onClick = buttonProps.onClick;
358
- var noDataTitleTranslationKey = "notFound_";
359
- var noDataTitle = i18next__default.default.t("neetoTeamMembers.common.".concat(noDataTitleTranslationKey), {
359
+ var noDataTitle = i18next__default.default.t("neetoTeamMembers.common.memberEmptyTitle", {
360
+ what: initializers.taxonomies.member.plural
361
+ });
362
+ var noDataDescription = i18next__default.default.t("neetoTeamMembers.common.memberEmptyDescription", {
360
363
  what: initializers.taxonomies.member.plural
361
364
  });
362
365
  var noDataButtonProps = {
@@ -369,6 +372,8 @@ var generateNoDataContent = function generateNoDataContent(_ref9) {
369
372
  };
370
373
  return {
371
374
  noDataTitle: noDataTitle,
375
+ noDataDescription: noDataDescription,
376
+ noDataIcon: lucideReact.Users,
372
377
  noDataButtonProps: noDataButtonProps
373
378
  };
374
379
  };
@@ -428,7 +433,8 @@ var AppList = function AppList(_ref) {
428
433
  className: "leading-relaxed",
429
434
  htmlFor: "app-list-toggle",
430
435
  children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
431
- className: "text-sm leading-relaxed",
436
+ className: "leading-relaxed",
437
+ variant: "body3",
432
438
  children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
433
439
  i18nKey: "neetoTeamMembers.helpers.addMembersToNeetoProducts",
434
440
  values: {
@@ -438,13 +444,12 @@ var AppList = function AppList(_ref) {
438
444
  })
439
445
  })]
440
446
  }), isManageProductsLinkEnabled && /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
441
- className: "text-sm",
447
+ variant: "body3",
442
448
  children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
443
449
  i18nKey: "neetoTeamMembers.helpers.manageProducts",
444
450
  components: {
445
451
  button: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
446
452
  asChild: true,
447
- className: "text-primary underline underline-offset-4",
448
453
  variant: "link",
449
454
  children: /*#__PURE__*/jsxRuntime.jsx("a", {
450
455
  href: v2_RolesRadioGroup.NEETO_AUTH_MANAGE_PRODUCT_URL,
@@ -590,76 +595,6 @@ var Confirmation = function Confirmation() {
590
595
  });
591
596
  };
592
597
 
593
- var _excluded = ["value", "className", "size", "variant", "children"];
594
- 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; }
595
- 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__default.default(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; }
596
- var CopyToClipboardButton = function CopyToClipboardButton(_ref) {
597
- var value = _ref.value,
598
- className = _ref.className,
599
- _ref$size = _ref.size,
600
- size = _ref$size === void 0 ? "sm" : _ref$size,
601
- _ref$variant = _ref.variant,
602
- variant = _ref$variant === void 0 ? "outline" : _ref$variant,
603
- children = _ref.children,
604
- rest = _objectWithoutProperties__default.default(_ref, _excluded);
605
- var _useState = React.useState(false),
606
- _useState2 = _slicedToArray__default.default(_useState, 2),
607
- copied = _useState2[0],
608
- setCopied = _useState2[1];
609
- var handleCopy = /*#__PURE__*/function () {
610
- var _ref2 = _asyncToGenerator__default.default(/*#__PURE__*/_regeneratorRuntime__default.default.mark(function _callee() {
611
- var textArea;
612
- return _regeneratorRuntime__default.default.wrap(function _callee$(_context) {
613
- while (1) switch (_context.prev = _context.next) {
614
- case 0:
615
- _context.prev = 0;
616
- _context.next = 3;
617
- return navigator.clipboard.writeText(value);
618
- case 3:
619
- setCopied(true);
620
- setTimeout(function () {
621
- return setCopied(false);
622
- }, 2000);
623
- _context.next = 17;
624
- break;
625
- case 7:
626
- _context.prev = 7;
627
- _context.t0 = _context["catch"](0);
628
- // Fallback for older browsers
629
- textArea = document.createElement("textarea");
630
- textArea.value = value;
631
- document.body.appendChild(textArea);
632
- textArea.select();
633
- document.execCommand("copy");
634
- document.body.removeChild(textArea);
635
- setCopied(true);
636
- setTimeout(function () {
637
- return setCopied(false);
638
- }, 2000);
639
- case 17:
640
- case "end":
641
- return _context.stop();
642
- }
643
- }, _callee, null, [[0, 7]]);
644
- }));
645
- return function handleCopy() {
646
- return _ref2.apply(this, arguments);
647
- };
648
- }();
649
- return /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Button, _objectSpread$2(_objectSpread$2({
650
- size: size,
651
- variant: variant,
652
- className: neetoAtoms.cn("gap-1", className),
653
- onClick: handleCopy
654
- }, rest), {}, {
655
- children: [copied ? /*#__PURE__*/jsxRuntime.jsx(lucideReact.Check, {
656
- className: "size-3.5"
657
- }) : /*#__PURE__*/jsxRuntime.jsx(lucideReact.Copy, {
658
- className: "size-3.5"
659
- }), children]
660
- }));
661
- };
662
-
663
598
  // eslint-disable-next-line @bigbinary/neeto/no-axios-import-outside-apis
664
599
  var fetch = function fetch() {
665
600
  return axios__default.default.get("".concat(constants$1.BASE_URL, "/api/v1/invite_links"));
@@ -708,8 +643,9 @@ var useRegenerateInviteLink = function useRegenerateInviteLink() {
708
643
  });
709
644
  };
710
645
 
646
+ var FEEDBACK_DURATION_MS = 2500;
711
647
  var InviteLink = function InviteLink(_ref) {
712
- var _inviteLinks$, _inviteLinks$2, _inviteLinks$3, _inviteLinks$4, _inviteLinks$5, _inviteLinks$6;
648
+ var _inviteLinks$, _inviteLinks$2, _inviteLinks$3, _inviteLinks$4, _inviteLinks$5, _inviteLinks$6, _inviteLinks$7;
713
649
  var t = _ref.t,
714
650
  roles = _ref.roles;
715
651
  var _useCreateInviteLinks = useCreateInviteLinks(),
@@ -725,6 +661,23 @@ var InviteLink = function InviteLink(_ref) {
725
661
  isFetchLinkLoading = _useFetchInviteLinks.isLoading;
726
662
  var _useFormikContext = formik.useFormikContext(),
727
663
  values = _useFormikContext.values;
664
+ var _useState = React.useState(""),
665
+ _useState2 = _slicedToArray__default.default(_useState, 2),
666
+ feedbackMessage = _useState2[0],
667
+ setFeedbackMessage = _useState2[1];
668
+ var feedbackTimerRef = React.useRef();
669
+ var showFeedback = function showFeedback(message) {
670
+ setFeedbackMessage(message);
671
+ clearTimeout(feedbackTimerRef.current);
672
+ feedbackTimerRef.current = setTimeout(function () {
673
+ return setFeedbackMessage("");
674
+ }, FEEDBACK_DURATION_MS);
675
+ };
676
+ React.useEffect(function () {
677
+ return function () {
678
+ return clearTimeout(feedbackTimerRef.current);
679
+ };
680
+ }, []);
728
681
  var isInviteLinkEmpty = !isFetchLinkLoading && ramda.isEmpty(inviteLinks);
729
682
  var handleRegenerate = function handleRegenerate() {
730
683
  var _findBy = neetoCist.findBy({
@@ -734,6 +687,10 @@ var InviteLink = function InviteLink(_ref) {
734
687
  if (ramda.isEmpty(inviteLinks)) {
735
688
  createInviteLink({
736
689
  organizationRoleId: roleId
690
+ }, {
691
+ onSuccess: function onSuccess() {
692
+ return showFeedback(t("neetoTeamMembers.alerts.success.inviteLinkGenerated"));
693
+ }
737
694
  });
738
695
  return;
739
696
  }
@@ -742,6 +699,10 @@ var InviteLink = function InviteLink(_ref) {
742
699
  payload: {
743
700
  organizationRoleId: roleId
744
701
  }
702
+ }, {
703
+ onSuccess: function onSuccess() {
704
+ return showFeedback(t("neetoTeamMembers.alerts.success.inviteLinkRegenerated"));
705
+ }
745
706
  });
746
707
  };
747
708
  if (isFetchLinkLoading || isCreateLinkPending) {
@@ -756,22 +717,35 @@ var InviteLink = function InviteLink(_ref) {
756
717
  className: "flex items-center gap-2 pt-1",
757
718
  children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
758
719
  className: "relative flex min-w-0 grow items-center truncate rounded-md border border-border bg-muted/50 leading-none",
759
- children: [/*#__PURE__*/jsxRuntime.jsx("div", {
760
- className: "relative min-w-0 grow truncate p-2 leading-none",
761
- children: !isInviteLinkEmpty && v2_RolesRadioGroup.getInviteURL(inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$ = inviteLinks[0]) === null || _inviteLinks$ === void 0 ? void 0 : _inviteLinks$.token)
720
+ children: [isInviteLinkEmpty ? /*#__PURE__*/jsxRuntime.jsx("div", {
721
+ className: "relative min-w-0 grow truncate p-2 leading-none"
722
+ }) : /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
723
+ asChild: true,
724
+ className: "relative block h-auto min-w-0 shrink grow truncate p-2 font-normal leading-none no-underline hover:underline",
725
+ variant: "link",
726
+ children: /*#__PURE__*/jsxRuntime.jsx("a", {
727
+ href: v2_RolesRadioGroup.getInviteURL(inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$ = inviteLinks[0]) === null || _inviteLinks$ === void 0 ? void 0 : _inviteLinks$.token),
728
+ rel: "noopener noreferrer",
729
+ target: "_blank",
730
+ children: v2_RolesRadioGroup.getInviteURL(inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$2 = inviteLinks[0]) === null || _inviteLinks$2 === void 0 ? void 0 : _inviteLinks$2.token)
731
+ })
762
732
  }), isInviteLinkEmpty ? /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
763
733
  className: "rounded-s-none",
764
734
  onClick: handleRegenerate,
765
735
  children: t("neetoTeamMembers.buttons.generateLink")
766
- }) : /*#__PURE__*/jsxRuntime.jsx(CopyToClipboardButton, {
767
- className: "rounded-s-none",
768
- value: v2_RolesRadioGroup.getInviteURL(inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$2 = inviteLinks[0]) === null || _inviteLinks$2 === void 0 ? void 0 : _inviteLinks$2.token),
769
- children: t("neetoTeamMembers.buttons.copyLink")
736
+ }) : /*#__PURE__*/jsxRuntime.jsx(CopyToClipboardButton__default.default, {
737
+ className: "rounded-s-none border-s",
738
+ value: v2_RolesRadioGroup.getInviteURL(inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$3 = inviteLinks[0]) === null || _inviteLinks$3 === void 0 ? void 0 : _inviteLinks$3.token),
739
+ variant: "ghost"
770
740
  })]
771
741
  }), !isInviteLinkEmpty && /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.DropdownMenu, {
772
- buttonStyle: "text",
773
- className: "shrink-0",
774
- icon: lucideReact.EllipsisVertical,
742
+ customTarget: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
743
+ "aria-label": t("neetoTeamMembers.buttons.regenerateLink"),
744
+ className: "shrink-0",
745
+ icon: lucideReact.EllipsisVertical,
746
+ size: "icon",
747
+ variant: "ghost"
748
+ }),
775
749
  children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.DropdownMenu.Menu, {
776
750
  children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.DropdownMenu.MenuItem, {
777
751
  children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.DropdownMenu.MenuItem.Button, {
@@ -781,20 +755,33 @@ var InviteLink = function InviteLink(_ref) {
781
755
  })
782
756
  })
783
757
  })]
758
+ }), feedbackMessage && /*#__PURE__*/jsxRuntime.jsxs("div", {
759
+ "aria-live": "polite",
760
+ 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",
761
+ children: [/*#__PURE__*/jsxRuntime.jsx(lucideReact.Check, {
762
+ className: "size-3.5 shrink-0"
763
+ }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
764
+ color: "inherit",
765
+ variant: "caption",
766
+ weight: "medium",
767
+ children: feedbackMessage
768
+ })]
784
769
  }), /*#__PURE__*/jsxRuntime.jsx("div", {
785
770
  children: !isInviteLinkEmpty && /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
786
- className: "text-xs leading-relaxed text-muted-foreground",
771
+ className: "leading-relaxed",
772
+ color: "muted",
773
+ variant: "body3",
787
774
  children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
788
775
  components: {
789
776
  strong: /*#__PURE__*/jsxRuntime.jsx("strong", {})
790
777
  },
791
778
  i18nKey: "neetoTeamMembers.alerts.messages.inviteLink",
792
779
  values: {
793
- expiryDays: v2_RolesRadioGroup.remainingExpiryDays(inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$3 = inviteLinks[0]) === null || _inviteLinks$3 === void 0 ? void 0 : _inviteLinks$3.expiresAt),
794
- role: inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$4 = inviteLinks[0]) === null || _inviteLinks$4 === void 0 || (_inviteLinks$4 = _inviteLinks$4.organizationRole) === null || _inviteLinks$4 === void 0 ? void 0 : _inviteLinks$4.name,
795
- inviteLimit: inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$5 = inviteLinks[0]) === null || _inviteLinks$5 === void 0 ? void 0 : _inviteLinks$5.inviteLimit,
780
+ expiryDays: v2_RolesRadioGroup.remainingExpiryDays(inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$4 = inviteLinks[0]) === null || _inviteLinks$4 === void 0 ? void 0 : _inviteLinks$4.expiresAt),
781
+ 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,
782
+ inviteLimit: inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$6 = inviteLinks[0]) === null || _inviteLinks$6 === void 0 ? void 0 : _inviteLinks$6.inviteLimit,
796
783
  appName: initializers.globalProps.appName,
797
- emailDomain: inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$6 = inviteLinks[0]) === null || _inviteLinks$6 === void 0 ? void 0 : _inviteLinks$6.domain
784
+ emailDomain: inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$7 = inviteLinks[0]) === null || _inviteLinks$7 === void 0 ? void 0 : _inviteLinks$7.domain
798
785
  }
799
786
  })
800
787
  })
@@ -835,7 +822,7 @@ var MultipleEmailInput = function MultipleEmailInput(_ref) {
835
822
  label: /*#__PURE__*/jsxRuntime.jsx("span", {
836
823
  className: "flex w-full justify-between",
837
824
  children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
838
- className: "text-sm",
825
+ variant: "body3",
839
826
  children: t("neetoTeamMembers.common.email", constants.SINGULAR)
840
827
  })
841
828
  }),
@@ -849,7 +836,6 @@ var MultipleEmailInput = function MultipleEmailInput(_ref) {
849
836
  children: " *"
850
837
  })]
851
838
  }), isInviteLinkFeatureEnabled && /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
852
- className: "text-primary underline underline-offset-4",
853
839
  variant: "link",
854
840
  onClick: function onClick() {
855
841
  return setCurrentPage(v2_RolesRadioGroup.FORM_PAGES.INVITE_LINK);
@@ -1364,7 +1350,7 @@ var ManageMember = function ManageMember(_ref) {
1364
1350
  children: [/*#__PURE__*/jsxRuntime.jsx(index.ScrollToErrorField, {
1365
1351
  formRef: formReference
1366
1352
  }), /*#__PURE__*/jsxRuntime.jsxs("div", _objectSpread(_objectSpread({}, isSheet ? manageMemberComponentConfig.bodyProps : {}), {}, {
1367
- className: neetoAtoms.cn(isSheet ? "w-full flex-1 space-y-6 overflow-y-auto px-4 pb-4" : "w-full space-y-6 pb-4", isSheet && ((_manageMemberComponen2 = manageMemberComponentConfig.bodyProps) === null || _manageMemberComponen2 === void 0 ? void 0 : _manageMemberComponen2.className)),
1353
+ className: neetoAtoms.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)),
1368
1354
  children: [isSheet && isCreationStatusPollingEnabled && /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Alert, {
1369
1355
  children: [/*#__PURE__*/jsxRuntime.jsx(lucideReact.Info, {
1370
1356
  className: "size-4"
@@ -1410,4 +1396,4 @@ exports.getColumnData = getColumnData;
1410
1396
  exports.getFilteredRoles = getFilteredRoles;
1411
1397
  exports.handlePageChange = handlePageChange;
1412
1398
  exports.renderUpdateAlert = renderUpdateAlert;
1413
- //# sourceMappingURL=index-tIO9arWz.js.map
1399
+ //# sourceMappingURL=index-ClM2W32S.js.map