@bigbinary/neeto-team-members-frontend 5.0.37 → 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 +29 -17
  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-CWbZ7v35.js → index-CWqUrFAb.js} +92 -106
  37. package/dist/index-CWqUrFAb.js.map +1 -0
  38. package/dist/{index-C49Ms0Ph.js → index-ClM2W32S.js} +93 -106
  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 +30 -18
  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-C49Ms0Ph.js.map +0 -1
  68. package/dist/index-C8Aaixo-.js.map +0 -1
  69. package/dist/index-CWbZ7v35.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,
@@ -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
  });
@@ -354,8 +356,10 @@ var generateNoDataContent = function generateNoDataContent(_ref9) {
354
356
  var buttonProps = _ref9.buttonProps;
355
357
  var disabled = buttonProps.disabled,
356
358
  onClick = buttonProps.onClick;
357
- var noDataTitleTranslationKey = "notFound_";
358
- 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", {
359
363
  what: initializers.taxonomies.member.plural
360
364
  });
361
365
  var noDataButtonProps = {
@@ -368,6 +372,8 @@ var generateNoDataContent = function generateNoDataContent(_ref9) {
368
372
  };
369
373
  return {
370
374
  noDataTitle: noDataTitle,
375
+ noDataDescription: noDataDescription,
376
+ noDataIcon: lucideReact.Users,
371
377
  noDataButtonProps: noDataButtonProps
372
378
  };
373
379
  };
@@ -427,7 +433,8 @@ var AppList = function AppList(_ref) {
427
433
  className: "leading-relaxed",
428
434
  htmlFor: "app-list-toggle",
429
435
  children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
430
- className: "text-sm leading-relaxed",
436
+ className: "leading-relaxed",
437
+ variant: "body3",
431
438
  children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
432
439
  i18nKey: "neetoTeamMembers.helpers.addMembersToNeetoProducts",
433
440
  values: {
@@ -437,13 +444,12 @@ var AppList = function AppList(_ref) {
437
444
  })
438
445
  })]
439
446
  }), isManageProductsLinkEnabled && /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
440
- className: "text-sm",
447
+ variant: "body3",
441
448
  children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
442
449
  i18nKey: "neetoTeamMembers.helpers.manageProducts",
443
450
  components: {
444
451
  button: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
445
452
  asChild: true,
446
- className: "text-primary underline underline-offset-4",
447
453
  variant: "link",
448
454
  children: /*#__PURE__*/jsxRuntime.jsx("a", {
449
455
  href: v2_RolesRadioGroup.NEETO_AUTH_MANAGE_PRODUCT_URL,
@@ -589,76 +595,6 @@ var Confirmation = function Confirmation() {
589
595
  });
590
596
  };
591
597
 
592
- var _excluded = ["value", "className", "size", "variant", "children"];
593
- 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; }
594
- 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; }
595
- var CopyToClipboardButton = function CopyToClipboardButton(_ref) {
596
- var value = _ref.value,
597
- className = _ref.className,
598
- _ref$size = _ref.size,
599
- size = _ref$size === void 0 ? "sm" : _ref$size,
600
- _ref$variant = _ref.variant,
601
- variant = _ref$variant === void 0 ? "outline" : _ref$variant,
602
- children = _ref.children,
603
- rest = _objectWithoutProperties__default.default(_ref, _excluded);
604
- var _useState = React.useState(false),
605
- _useState2 = _slicedToArray__default.default(_useState, 2),
606
- copied = _useState2[0],
607
- setCopied = _useState2[1];
608
- var handleCopy = /*#__PURE__*/function () {
609
- var _ref2 = _asyncToGenerator__default.default(/*#__PURE__*/_regeneratorRuntime__default.default.mark(function _callee() {
610
- var textArea;
611
- return _regeneratorRuntime__default.default.wrap(function _callee$(_context) {
612
- while (1) switch (_context.prev = _context.next) {
613
- case 0:
614
- _context.prev = 0;
615
- _context.next = 3;
616
- return navigator.clipboard.writeText(value);
617
- case 3:
618
- setCopied(true);
619
- setTimeout(function () {
620
- return setCopied(false);
621
- }, 2000);
622
- _context.next = 17;
623
- break;
624
- case 7:
625
- _context.prev = 7;
626
- _context.t0 = _context["catch"](0);
627
- // Fallback for older browsers
628
- textArea = document.createElement("textarea");
629
- textArea.value = value;
630
- document.body.appendChild(textArea);
631
- textArea.select();
632
- document.execCommand("copy");
633
- document.body.removeChild(textArea);
634
- setCopied(true);
635
- setTimeout(function () {
636
- return setCopied(false);
637
- }, 2000);
638
- case 17:
639
- case "end":
640
- return _context.stop();
641
- }
642
- }, _callee, null, [[0, 7]]);
643
- }));
644
- return function handleCopy() {
645
- return _ref2.apply(this, arguments);
646
- };
647
- }();
648
- return /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Button, _objectSpread$2(_objectSpread$2({
649
- size: size,
650
- variant: variant,
651
- className: neetoAtoms.cn("gap-1", className),
652
- onClick: handleCopy
653
- }, rest), {}, {
654
- children: [copied ? /*#__PURE__*/jsxRuntime.jsx(lucideReact.Check, {
655
- className: "size-3.5"
656
- }) : /*#__PURE__*/jsxRuntime.jsx(lucideReact.Copy, {
657
- className: "size-3.5"
658
- }), children]
659
- }));
660
- };
661
-
662
598
  // eslint-disable-next-line @bigbinary/neeto/no-axios-import-outside-apis
663
599
  var fetch = function fetch() {
664
600
  return axios__default.default.get("".concat(constants$1.BASE_URL, "/api/v1/invite_links"));
@@ -707,8 +643,9 @@ var useRegenerateInviteLink = function useRegenerateInviteLink() {
707
643
  });
708
644
  };
709
645
 
646
+ var FEEDBACK_DURATION_MS = 2500;
710
647
  var InviteLink = function InviteLink(_ref) {
711
- 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;
712
649
  var t = _ref.t,
713
650
  roles = _ref.roles;
714
651
  var _useCreateInviteLinks = useCreateInviteLinks(),
@@ -724,6 +661,23 @@ var InviteLink = function InviteLink(_ref) {
724
661
  isFetchLinkLoading = _useFetchInviteLinks.isLoading;
725
662
  var _useFormikContext = formik.useFormikContext(),
726
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
+ }, []);
727
681
  var isInviteLinkEmpty = !isFetchLinkLoading && ramda.isEmpty(inviteLinks);
728
682
  var handleRegenerate = function handleRegenerate() {
729
683
  var _findBy = neetoCist.findBy({
@@ -733,6 +687,10 @@ var InviteLink = function InviteLink(_ref) {
733
687
  if (ramda.isEmpty(inviteLinks)) {
734
688
  createInviteLink({
735
689
  organizationRoleId: roleId
690
+ }, {
691
+ onSuccess: function onSuccess() {
692
+ return showFeedback(t("neetoTeamMembers.alerts.success.inviteLinkGenerated"));
693
+ }
736
694
  });
737
695
  return;
738
696
  }
@@ -741,6 +699,10 @@ var InviteLink = function InviteLink(_ref) {
741
699
  payload: {
742
700
  organizationRoleId: roleId
743
701
  }
702
+ }, {
703
+ onSuccess: function onSuccess() {
704
+ return showFeedback(t("neetoTeamMembers.alerts.success.inviteLinkRegenerated"));
705
+ }
744
706
  });
745
707
  };
746
708
  if (isFetchLinkLoading || isCreateLinkPending) {
@@ -755,22 +717,35 @@ var InviteLink = function InviteLink(_ref) {
755
717
  className: "flex items-center gap-2 pt-1",
756
718
  children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
757
719
  className: "relative flex min-w-0 grow items-center truncate rounded-md border border-border bg-muted/50 leading-none",
758
- children: [/*#__PURE__*/jsxRuntime.jsx("div", {
759
- className: "relative min-w-0 grow truncate p-2 leading-none",
760
- 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
+ })
761
732
  }), isInviteLinkEmpty ? /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
762
733
  className: "rounded-s-none",
763
734
  onClick: handleRegenerate,
764
735
  children: t("neetoTeamMembers.buttons.generateLink")
765
- }) : /*#__PURE__*/jsxRuntime.jsx(CopyToClipboardButton, {
766
- className: "rounded-s-none",
767
- value: v2_RolesRadioGroup.getInviteURL(inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$2 = inviteLinks[0]) === null || _inviteLinks$2 === void 0 ? void 0 : _inviteLinks$2.token),
768
- 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"
769
740
  })]
770
741
  }), !isInviteLinkEmpty && /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.DropdownMenu, {
771
- buttonStyle: "text",
772
- className: "shrink-0",
773
- 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
+ }),
774
749
  children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.DropdownMenu.Menu, {
775
750
  children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.DropdownMenu.MenuItem, {
776
751
  children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.DropdownMenu.MenuItem.Button, {
@@ -780,20 +755,33 @@ var InviteLink = function InviteLink(_ref) {
780
755
  })
781
756
  })
782
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
+ })]
783
769
  }), /*#__PURE__*/jsxRuntime.jsx("div", {
784
770
  children: !isInviteLinkEmpty && /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
785
- className: "text-xs leading-relaxed text-muted-foreground",
771
+ className: "leading-relaxed",
772
+ color: "muted",
773
+ variant: "body3",
786
774
  children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
787
775
  components: {
788
776
  strong: /*#__PURE__*/jsxRuntime.jsx("strong", {})
789
777
  },
790
778
  i18nKey: "neetoTeamMembers.alerts.messages.inviteLink",
791
779
  values: {
792
- expiryDays: v2_RolesRadioGroup.remainingExpiryDays(inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$3 = inviteLinks[0]) === null || _inviteLinks$3 === void 0 ? void 0 : _inviteLinks$3.expiresAt),
793
- 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,
794
- 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,
795
783
  appName: initializers.globalProps.appName,
796
- 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
797
785
  }
798
786
  })
799
787
  })
@@ -834,7 +822,7 @@ var MultipleEmailInput = function MultipleEmailInput(_ref) {
834
822
  label: /*#__PURE__*/jsxRuntime.jsx("span", {
835
823
  className: "flex w-full justify-between",
836
824
  children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
837
- className: "text-sm",
825
+ variant: "body3",
838
826
  children: t("neetoTeamMembers.common.email", constants.SINGULAR)
839
827
  })
840
828
  }),
@@ -848,7 +836,6 @@ var MultipleEmailInput = function MultipleEmailInput(_ref) {
848
836
  children: " *"
849
837
  })]
850
838
  }), isInviteLinkFeatureEnabled && /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
851
- className: "text-primary underline underline-offset-4",
852
839
  variant: "link",
853
840
  onClick: function onClick() {
854
841
  return setCurrentPage(v2_RolesRadioGroup.FORM_PAGES.INVITE_LINK);
@@ -1363,7 +1350,7 @@ var ManageMember = function ManageMember(_ref) {
1363
1350
  children: [/*#__PURE__*/jsxRuntime.jsx(index.ScrollToErrorField, {
1364
1351
  formRef: formReference
1365
1352
  }), /*#__PURE__*/jsxRuntime.jsxs("div", _objectSpread(_objectSpread({}, isSheet ? manageMemberComponentConfig.bodyProps : {}), {}, {
1366
- 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)),
1367
1354
  children: [isSheet && isCreationStatusPollingEnabled && /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Alert, {
1368
1355
  children: [/*#__PURE__*/jsxRuntime.jsx(lucideReact.Info, {
1369
1356
  className: "size-4"
@@ -1409,4 +1396,4 @@ exports.getColumnData = getColumnData;
1409
1396
  exports.getFilteredRoles = getFilteredRoles;
1410
1397
  exports.handlePageChange = handlePageChange;
1411
1398
  exports.renderUpdateAlert = renderUpdateAlert;
1412
- //# sourceMappingURL=index-C49Ms0Ph.js.map
1399
+ //# sourceMappingURL=index-ClM2W32S.js.map