@bigbinary/neeto-team-members-frontend 5.0.32 → 5.0.34

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 (104) hide show
  1. package/app/javascript/src/translations/ar.json +2 -1
  2. package/app/javascript/src/translations/bg.json +2 -1
  3. package/app/javascript/src/translations/ca.json +2 -1
  4. package/app/javascript/src/translations/cs.json +2 -1
  5. package/app/javascript/src/translations/da.json +2 -1
  6. package/app/javascript/src/translations/de.json +2 -1
  7. package/app/javascript/src/translations/en.json +1 -0
  8. package/app/javascript/src/translations/es-MX.json +2 -1
  9. package/app/javascript/src/translations/es.json +2 -1
  10. package/app/javascript/src/translations/et.json +2 -1
  11. package/app/javascript/src/translations/fi.json +2 -1
  12. package/app/javascript/src/translations/fil.json +2 -1
  13. package/app/javascript/src/translations/fr.json +2 -1
  14. package/app/javascript/src/translations/he.json +2 -1
  15. package/app/javascript/src/translations/hi.json +2 -1
  16. package/app/javascript/src/translations/hr.json +2 -1
  17. package/app/javascript/src/translations/hu.json +2 -1
  18. package/app/javascript/src/translations/id.json +2 -1
  19. package/app/javascript/src/translations/it.json +2 -1
  20. package/app/javascript/src/translations/ja.json +2 -1
  21. package/app/javascript/src/translations/ko.json +2 -1
  22. package/app/javascript/src/translations/nl.json +2 -1
  23. package/app/javascript/src/translations/pl.json +2 -1
  24. package/app/javascript/src/translations/pt-BR.json +2 -1
  25. package/app/javascript/src/translations/pt.json +2 -1
  26. package/app/javascript/src/translations/ro.json +2 -1
  27. package/app/javascript/src/translations/ru.json +2 -1
  28. package/app/javascript/src/translations/sk.json +2 -1
  29. package/app/javascript/src/translations/sl.json +2 -1
  30. package/app/javascript/src/translations/sv.json +2 -1
  31. package/app/javascript/src/translations/th.json +2 -1
  32. package/app/javascript/src/translations/tr.json +2 -1
  33. package/app/javascript/src/translations/uk.json +2 -1
  34. package/app/javascript/src/translations/vi.json +2 -1
  35. package/app/javascript/src/translations/zh-CN.json +2 -1
  36. package/app/javascript/src/translations/zh-TW.json +2 -1
  37. package/dist/.ready +1 -1
  38. package/dist/{Permissions-3L2jJkiY.js → Permissions-Ds61VDtG.js} +4 -4
  39. package/dist/Permissions-Ds61VDtG.js.map +1 -0
  40. package/dist/{Permissions-CpmpfRk1.js → Permissions-rFYQmsMn.js} +4 -4
  41. package/dist/Permissions-rFYQmsMn.js.map +1 -0
  42. package/dist/{RolesRadioGroup-fBmS68cW.js → RolesRadioGroup-bXyHmk_Q.js} +35 -38
  43. package/dist/RolesRadioGroup-bXyHmk_Q.js.map +1 -0
  44. package/dist/{RolesRadioGroup-tSNC-Wtu.js → RolesRadioGroup-n1NclSyf.js} +35 -38
  45. package/dist/RolesRadioGroup-n1NclSyf.js.map +1 -0
  46. package/dist/cjs/v2/Groups.js +1 -1
  47. package/dist/cjs/v2/Groups.js.map +1 -1
  48. package/dist/cjs/v2/ManageMember.js +5 -3
  49. package/dist/cjs/v2/ManageMember.js.map +1 -1
  50. package/dist/cjs/v2/MembersDropdown.js +1 -1
  51. package/dist/cjs/v2/MembersInvite.js +1 -1
  52. package/dist/cjs/v2/MembersInvite.js.map +1 -1
  53. package/dist/cjs/v2/Permissions.js +1 -1
  54. package/dist/cjs/v2/Profile.js +189 -202
  55. package/dist/cjs/v2/Profile.js.map +1 -1
  56. package/dist/cjs/v2/Roles.js +2 -2
  57. package/dist/cjs/v2/RolesRadioGroup.js +1 -1
  58. package/dist/cjs/v2/TeamMembers.js +5 -3
  59. package/dist/cjs/v2/TeamMembers.js.map +1 -1
  60. package/dist/cjs/v2/TeamsAndMembersDropdown.js +12 -18
  61. package/dist/cjs/v2/TeamsAndMembersDropdown.js.map +1 -1
  62. package/dist/cjs/v2/TeamsDropdown.js +1 -1
  63. package/dist/{index-SkKQWXyo.js → index-B2PgGcMs.js} +183 -104
  64. package/dist/index-B2PgGcMs.js.map +1 -0
  65. package/dist/{index-DCtowiCJ.js → index-BBIYGX2C.js} +183 -104
  66. package/dist/index-BBIYGX2C.js.map +1 -0
  67. package/dist/{index-DqqXniGT.js → index-BaW7CGuF.js} +3 -3
  68. package/dist/index-BaW7CGuF.js.map +1 -0
  69. package/dist/{index-DeYRFiJy.js → index-C8Aaixo-.js} +3 -3
  70. package/dist/index-C8Aaixo-.js.map +1 -0
  71. package/dist/timezone-selector-BGpvIcKU.js +175 -0
  72. package/dist/timezone-selector-BGpvIcKU.js.map +1 -0
  73. package/dist/timezone-selector-ojZT6BkF.js +165 -0
  74. package/dist/timezone-selector-ojZT6BkF.js.map +1 -0
  75. package/dist/v2/Groups.js +1 -1
  76. package/dist/v2/Groups.js.map +1 -1
  77. package/dist/v2/ManageMember.js +5 -3
  78. package/dist/v2/ManageMember.js.map +1 -1
  79. package/dist/v2/MembersDropdown.js +1 -1
  80. package/dist/v2/MembersInvite.js +1 -1
  81. package/dist/v2/MembersInvite.js.map +1 -1
  82. package/dist/v2/Permissions.js +1 -1
  83. package/dist/v2/Profile.js +184 -199
  84. package/dist/v2/Profile.js.map +1 -1
  85. package/dist/v2/Roles.js +2 -2
  86. package/dist/v2/RolesRadioGroup.js +1 -1
  87. package/dist/v2/TeamMembers.js +5 -3
  88. package/dist/v2/TeamMembers.js.map +1 -1
  89. package/dist/v2/TeamsAndMembersDropdown.js +12 -18
  90. package/dist/v2/TeamsAndMembersDropdown.js.map +1 -1
  91. package/dist/v2/TeamsDropdown.js +1 -1
  92. package/package.json +1 -1
  93. package/dist/Permissions-3L2jJkiY.js.map +0 -1
  94. package/dist/Permissions-CpmpfRk1.js.map +0 -1
  95. package/dist/RolesRadioGroup-fBmS68cW.js.map +0 -1
  96. package/dist/RolesRadioGroup-tSNC-Wtu.js.map +0 -1
  97. package/dist/index-DCtowiCJ.js.map +0 -1
  98. package/dist/index-DeYRFiJy.js.map +0 -1
  99. package/dist/index-DqqXniGT.js.map +0 -1
  100. package/dist/index-SkKQWXyo.js.map +0 -1
  101. package/dist/useCountries-CQdvJz0R.js +0 -249
  102. package/dist/useCountries-CQdvJz0R.js.map +0 -1
  103. package/dist/useCountries-DePOPtue.js +0 -235
  104. package/dist/useCountries-DePOPtue.js.map +0 -1
@@ -2,14 +2,14 @@ import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
2
2
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
3
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
4
4
  import _regeneratorRuntime from '@babel/runtime/regenerator';
5
- import { useState, useEffect, useRef } from 'react';
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 { EllipsisVertical, ArrowLeft, Info } from 'lucide-react';
8
+ import { Mail, Check, Copy, EllipsisVertical, 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';
12
- import { clamp, curry, filter, identical, mergeLeft, assoc, not, pluck, isEmpty, head, reverse, groupBy, prop } from 'ramda';
12
+ import { clamp, curry, filter, identical, mergeLeft, assoc, not, pluck, isEmpty, head, isNotNil, reverse, groupBy, prop } from 'ramda';
13
13
  import { Trans, useTranslation } from 'react-i18next';
14
14
  import { toast } from 'sonner';
15
15
  import { F as FormikActionBlock } from './ActionBlock-jgw1N-As.js';
@@ -18,10 +18,11 @@ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProper
18
18
  import { useField, useFormikContext } from 'formik';
19
19
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
20
20
  import { u as useFetchRoles, a as useFetchGlobalRoles, S as ScrollToErrorField } from './index-C6ph58Vg.js';
21
- import { C as CopyToClipboardButton, u as useCountries, P as ProfileImage } from './useCountries-DePOPtue.js';
21
+ import { u as useCountries, P as ProfileImage } from './timezone-selector-ojZT6BkF.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-tSNC-Wtu.js';
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-n1NclSyf.js';
25
+ import { Card, CardContent } from '@bigbinary/neeto-atoms/primitives/Card';
25
26
  import { DEFAULT_PAGE_SIZE, DEFAULT_PAGE_INDEX, SINGULAR, PLURAL, LANGUAGE_OPTIONS } from '@bigbinary/neeto-commons-frontend/constants';
26
27
  import { useMutationWithInvalidation, withT } from '@bigbinary/neeto-commons-frontend/react-utils';
27
28
  import { useQuery } from '@tanstack/react-query';
@@ -34,9 +35,9 @@ import { DropdownMenuItem } from '@bigbinary/neeto-atoms/primitives';
34
35
  import i18next from 'i18next';
35
36
  import MoreDropdown from '@bigbinary/neeto-molecules/v2/MoreDropdown';
36
37
 
37
- var _excluded = ["name", "label", "className", "checked", "disabled", "onChange"];
38
- 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; }
39
- 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; }
38
+ var _excluded$1 = ["name", "label", "className", "checked", "disabled", "onChange"];
39
+ 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; }
40
+ 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(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; }
40
41
  var FormikSwitch = function FormikSwitch(_ref) {
41
42
  var name = _ref.name,
42
43
  label = _ref.label,
@@ -44,7 +45,7 @@ var FormikSwitch = function FormikSwitch(_ref) {
44
45
  checkedProp = _ref.checked,
45
46
  disabled = _ref.disabled,
46
47
  onChangeProp = _ref.onChange,
47
- rest = _objectWithoutProperties(_ref, _excluded);
48
+ rest = _objectWithoutProperties(_ref, _excluded$1);
48
49
  var _useField = useField(name),
49
50
  _useField2 = _slicedToArray(_useField, 3),
50
51
  field = _useField2[0],
@@ -52,7 +53,7 @@ var FormikSwitch = function FormikSwitch(_ref) {
52
53
  var isChecked = checkedProp !== undefined ? checkedProp : field.value;
53
54
  return /*#__PURE__*/jsxs("div", {
54
55
  className: cn("flex items-center gap-2", className),
55
- children: [/*#__PURE__*/jsx(Switch, _objectSpread$3({
56
+ children: [/*#__PURE__*/jsx(Switch, _objectSpread$4({
56
57
  disabled: disabled,
57
58
  checked: isChecked,
58
59
  id: name,
@@ -94,8 +95,8 @@ var DEFAULT_SELECTED_ROWS = {
94
95
  displayNames: []
95
96
  };
96
97
 
97
- 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; }
98
- 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; }
98
+ 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; }
99
+ 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; }
99
100
  var renderNameColumn = function renderNameColumn(_ref) {
100
101
  var config = _ref.config,
101
102
  handleUpdateRole = _ref.handleUpdateRole,
@@ -180,7 +181,7 @@ var getDefaultAlertMessage = function getDefaultAlertMessage(_ref4) {
180
181
  var member = _ref4.member;
181
182
  return /*#__PURE__*/jsx(Trans, {
182
183
  i18nKey: "neetoTeamMembers.alerts.messages.removeMember",
183
- values: _objectSpread$2(_objectSpread$2({}, SINGULAR), {}, {
184
+ values: _objectSpread$3(_objectSpread$3({}, SINGULAR), {}, {
184
185
  person: member === null || member === void 0 ? void 0 : member.displayName
185
186
  })
186
187
  });
@@ -429,6 +430,7 @@ var AppList = function AppList(_ref) {
429
430
  components: {
430
431
  button: /*#__PURE__*/jsx(Button, {
431
432
  asChild: true,
433
+ className: "text-primary underline underline-offset-4",
432
434
  variant: "link",
433
435
  children: /*#__PURE__*/jsx("a", {
434
436
  href: NEETO_AUTH_MANAGE_PRODUCT_URL,
@@ -471,11 +473,7 @@ var AppList = function AppList(_ref) {
471
473
  children: /*#__PURE__*/jsx(FormikSelect, {
472
474
  isDisabled: isCurrentApp || !isEnabled,
473
475
  name: "appRoles[".concat(index, "].activeRole"),
474
- options: buildRoleOptions(globalRoles[appName]),
475
- onChange: function onChange(_ref4) {
476
- var value = _ref4.value;
477
- setFieldValue("appRoles[".concat(index, "].activeRole"), value);
478
- }
476
+ options: buildRoleOptions(globalRoles[appName])
479
477
  })
480
478
  })
481
479
  })]
@@ -498,70 +496,156 @@ var Confirmation = function Confirmation() {
498
496
  var activeAppRoles = filterBy({
499
497
  isEnabled: true
500
498
  }, appRoles);
501
- return activeAppRoles.length > 1 ? /*#__PURE__*/jsxs("div", {
502
- className: "flex flex-col gap-6",
503
- children: [/*#__PURE__*/jsx("div", {
504
- className: "w-full",
505
- children: /*#__PURE__*/jsx(Typography, {
506
- className: "text-sm leading-relaxed",
507
- children: /*#__PURE__*/jsx(Trans, {
508
- i18nKey: "neetoTeamMembers.helpers.multipleProductInvitation",
509
- values: {
510
- count: selectedEmail.length,
511
- emails: selectedEmail,
512
- orgName: (_globalProps$organiza = globalProps.organization) === null || _globalProps$organiza === void 0 ? void 0 : _globalProps$organiza.name
513
- }
514
- })
499
+ var isMultipleProduct = activeAppRoles.length > 1;
500
+ return /*#__PURE__*/jsxs(Fragment, {
501
+ children: [/*#__PURE__*/jsx(Card, {
502
+ className: "w-full shrink-0 bg-muted/40 ring-0",
503
+ size: "sm",
504
+ children: /*#__PURE__*/jsxs(CardContent, {
505
+ className: "flex items-start gap-3",
506
+ children: [/*#__PURE__*/jsx("div", {
507
+ className: "bg-primary/10 mt-0.5 flex size-9 shrink-0 items-center justify-center rounded-full",
508
+ children: /*#__PURE__*/jsx(Mail, {
509
+ className: "size-4 text-primary"
510
+ })
511
+ }), /*#__PURE__*/jsx(Typography, {
512
+ className: "min-w-0 flex-1 leading-relaxed",
513
+ variant: "body3",
514
+ children: isMultipleProduct ? /*#__PURE__*/jsx(Trans, {
515
+ i18nKey: "neetoTeamMembers.helpers.multipleProductInvitation",
516
+ values: {
517
+ count: selectedEmail.length,
518
+ emails: selectedEmail,
519
+ orgName: (_globalProps$organiza = globalProps.organization) === null || _globalProps$organiza === void 0 ? void 0 : _globalProps$organiza.name
520
+ }
521
+ }) : /*#__PURE__*/jsx(Trans, {
522
+ i18nKey: "neetoTeamMembers.helpers.singleProductInvitation",
523
+ values: getSingleInvitationTranslationProps({
524
+ activeAppRoles: activeAppRoles,
525
+ role: role,
526
+ selectedEmail: selectedEmail
527
+ })
528
+ })
529
+ })]
515
530
  })
516
- }), /*#__PURE__*/jsxs("table", {
517
- className: "w-full border-collapse",
518
- children: [/*#__PURE__*/jsx("thead", {
519
- children: /*#__PURE__*/jsxs("tr", {
520
- children: [/*#__PURE__*/jsx("th", {
521
- className: "border border-border p-2 text-start text-xs font-bold uppercase text-muted-foreground",
522
- children: t("neetoTeamMembers.common.productName")
523
- }), /*#__PURE__*/jsx("th", {
524
- className: "border border-border p-2 text-start text-xs font-bold uppercase text-muted-foreground",
525
- children: t("neetoTeamMembers.common.role", SINGULAR)
531
+ }), isMultipleProduct && /*#__PURE__*/jsx(Card, {
532
+ className: "w-full shrink-0 ring-0",
533
+ size: "sm",
534
+ children: /*#__PURE__*/jsx(CardContent, {
535
+ className: "overflow-hidden rounded-md border border-border p-0",
536
+ children: /*#__PURE__*/jsxs("table", {
537
+ className: "w-full border-collapse",
538
+ children: [/*#__PURE__*/jsx("thead", {
539
+ className: "bg-muted/40",
540
+ children: /*#__PURE__*/jsxs("tr", {
541
+ children: [/*#__PURE__*/jsx("th", {
542
+ className: "px-3 py-2 text-start text-xs font-medium uppercase tracking-wide text-muted-foreground",
543
+ children: t("neetoTeamMembers.common.productName")
544
+ }), /*#__PURE__*/jsx("th", {
545
+ className: "px-3 py-2 text-start text-xs font-medium uppercase tracking-wide text-muted-foreground",
546
+ children: t("neetoTeamMembers.common.role", SINGULAR)
547
+ })]
548
+ })
549
+ }), /*#__PURE__*/jsx("tbody", {
550
+ className: "divide-y divide-border",
551
+ children: activeAppRoles.map(function (_ref) {
552
+ var appName = _ref.appName,
553
+ activeRole = _ref.activeRole;
554
+ return /*#__PURE__*/jsxs("tr", {
555
+ children: [/*#__PURE__*/jsx("td", {
556
+ className: "px-3 py-2",
557
+ children: /*#__PURE__*/jsx(Typography, {
558
+ variant: "body3",
559
+ children: t("neetoTeamMembers.labels.neeto_", {
560
+ product: appName
561
+ })
562
+ })
563
+ }), /*#__PURE__*/jsx("td", {
564
+ className: "px-3 py-2",
565
+ children: /*#__PURE__*/jsx(Typography, {
566
+ variant: "body3",
567
+ children: activeRole
568
+ })
569
+ })]
570
+ }, appName);
571
+ })
526
572
  })]
527
573
  })
528
- }), /*#__PURE__*/jsx("tbody", {
529
- children: activeAppRoles.map(function (_ref) {
530
- var appName = _ref.appName,
531
- activeRole = _ref.activeRole;
532
- return /*#__PURE__*/jsxs("tr", {
533
- children: [/*#__PURE__*/jsx("td", {
534
- className: "border border-border p-2",
535
- children: /*#__PURE__*/jsx(Typography, {
536
- className: "text-sm leading-relaxed",
537
- children: t("neetoTeamMembers.labels.neeto_", {
538
- product: appName
539
- })
540
- })
541
- }), /*#__PURE__*/jsx("td", {
542
- className: "border border-border p-2",
543
- children: /*#__PURE__*/jsx(Typography, {
544
- className: "text-sm leading-relaxed",
545
- children: activeRole
546
- })
547
- })]
548
- }, appName);
549
- })
550
- })]
551
- })]
552
- }) : /*#__PURE__*/jsx(Typography, {
553
- className: "text-sm leading-relaxed",
554
- children: /*#__PURE__*/jsx(Trans, {
555
- i18nKey: "neetoTeamMembers.helpers.singleProductInvitation",
556
- values: getSingleInvitationTranslationProps({
557
- activeAppRoles: activeAppRoles,
558
- role: role,
559
- selectedEmail: selectedEmail
560
574
  })
561
- })
575
+ })]
562
576
  });
563
577
  };
564
578
 
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
+
565
649
  // eslint-disable-next-line @bigbinary/neeto/no-axios-import-outside-apis
566
650
  var fetch = function fetch() {
567
651
  return axios.get("".concat(BASE_URL, "/api/v1/invite_links"));
@@ -657,7 +741,7 @@ var InviteLink$1 = function InviteLink(_ref) {
657
741
  children: [/*#__PURE__*/jsxs("div", {
658
742
  className: "flex items-center gap-2 pt-1",
659
743
  children: [/*#__PURE__*/jsxs("div", {
660
- className: "relative flex min-w-0 grow items-center truncate neeto-ui-rounded-md border border-border bg-muted/50 leading-none",
744
+ className: "relative flex min-w-0 grow items-center truncate rounded-md border border-border bg-muted/50 leading-none",
661
745
  children: [/*#__PURE__*/jsx("div", {
662
746
  className: "relative min-w-0 grow truncate p-2 leading-none",
663
747
  children: !isInviteLinkEmpty && getInviteURL(inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$ = inviteLinks[0]) === null || _inviteLinks$ === void 0 ? void 0 : _inviteLinks$.token)
@@ -751,6 +835,7 @@ var MultipleEmailInput = function MultipleEmailInput(_ref) {
751
835
  children: " *"
752
836
  })]
753
837
  }), isInviteLinkFeatureEnabled && /*#__PURE__*/jsx(Button, {
838
+ className: "text-primary underline underline-offset-4",
754
839
  variant: "link",
755
840
  onClick: function onClick() {
756
841
  return setCurrentPage(FORM_PAGES.INVITE_LINK);
@@ -804,24 +889,20 @@ var ProfileSettings = function ProfileSettings(_ref) {
804
889
  countryDropdownOptions = _useCountries.countryDropdownOptions,
805
890
  isFetchingCountriesList = _useCountries.isFetchingCountriesList,
806
891
  handleCountryChange = _useCountries.handleCountryChange;
807
- var timezoneContainerRef = useRef(null);
808
- useEffect(function () {
809
- var node = timezoneContainerRef.current;
810
- if (!node) return undefined;
811
- new NeetoTimezoneSelector(node, {
812
- isTimeFormat24H: member.timeFormat === "24h",
813
- className: "w-full z-10",
814
- position: "bottom",
815
- initialValue: member.timeZone,
816
- onChange: function onChange(_ref2) {
817
- var main = _ref2.main;
818
- return setFieldValueRef.current("timeZone", main);
819
- },
820
- disabled: isTimezoneFieldDisabled
821
- });
822
- return function () {
823
- node.innerHTML = "";
824
- };
892
+ var timezoneContainerRef = useCallback(function (node) {
893
+ if (isNotNil(node)) {
894
+ new NeetoTimezoneSelector(node, {
895
+ isTimeFormat24H: member.timeFormat === "24h",
896
+ className: "w-full z-10",
897
+ position: "bottom",
898
+ initialValue: member.timeZone,
899
+ onChange: function onChange(_ref2) {
900
+ var main = _ref2.main;
901
+ return setFieldValueRef.current("timeZone", main);
902
+ },
903
+ disabled: isTimezoneFieldDisabled
904
+ });
905
+ }
825
906
  }, [member.timeZone, member.timeFormat, isTimezoneFieldDisabled]);
826
907
  useEffect(function () {
827
908
  var country = findBy({
@@ -830,7 +911,7 @@ var ProfileSettings = function ProfileSettings(_ref) {
830
911
  if (country) handleCountryChange(country);
831
912
  }, [member.countryIdentifier, countryDropdownOptions, handleCountryChange]);
832
913
  return /*#__PURE__*/jsxs("div", {
833
- className: "w-full space-y-4",
914
+ className: "w-full space-y-6",
834
915
  "data-cy": "ntm-profile-settings",
835
916
  children: [/*#__PURE__*/jsx(FormikSelect, {
836
917
  "data-cy": "ntm-edit-member-country-select",
@@ -1216,22 +1297,20 @@ var ManageMember = function ManageMember(_ref) {
1216
1297
  };
1217
1298
  var isSheet = manageMemberComponentConfig.type !== "modal";
1218
1299
  return /*#__PURE__*/jsxs(Component, {
1219
- className: manageMemberComponentConfig.className,
1220
1300
  "data-testid": "ntm-manage-members-pane-wrapper",
1221
1301
  isOpen: manageMemberComponentConfig.isOpen,
1302
+ className: classnames("ntm-timezone-shadcn-overrides", manageMemberComponentConfig.className),
1222
1303
  onClose: function onClose() {
1223
1304
  return handleClose(false);
1224
1305
  },
1225
1306
  children: [/*#__PURE__*/jsxs(Component.Header, _objectSpread(_objectSpread({}, isSheet ? manageMemberComponentConfig.headerProps : {}), {}, {
1226
- className: cn(isSheet && currentPage !== FORM_PAGES.MAIN && "flex flex-row items-start gap-2", isSheet && ((_manageMemberComponen = manageMemberComponentConfig.headerProps) === null || _manageMemberComponen === void 0 ? void 0 : _manageMemberComponen.className)),
1307
+ className: cn(isSheet && currentPage !== FORM_PAGES.MAIN && "flex flex-row items-center gap-2", isSheet && ((_manageMemberComponen = manageMemberComponentConfig.headerProps) === null || _manageMemberComponen === void 0 ? void 0 : _manageMemberComponen.className)),
1227
1308
  children: [isSheet && currentPage !== FORM_PAGES.MAIN && /*#__PURE__*/jsx(Button, {
1228
- "aria-label": "Back",
1309
+ "aria-label": t("neetoTeamMembers.buttons.back"),
1310
+ icon: ArrowLeft,
1229
1311
  size: "icon-sm",
1230
1312
  variant: "ghost",
1231
- onClick: handleBackButton,
1232
- children: /*#__PURE__*/jsx(ArrowLeft, {
1233
- className: "size-4"
1234
- })
1313
+ onClick: handleBackButton
1235
1314
  }), /*#__PURE__*/jsxs("div", {
1236
1315
  children: [/*#__PURE__*/jsx(Component.Title, {
1237
1316
  "data-testid": "ntm-manage-members-pane-header",
@@ -1271,7 +1350,7 @@ var ManageMember = function ManageMember(_ref) {
1271
1350
  children: [/*#__PURE__*/jsx(ScrollToErrorField, {
1272
1351
  formRef: formReference
1273
1352
  }), /*#__PURE__*/jsxs("div", _objectSpread(_objectSpread({}, isSheet ? manageMemberComponentConfig.bodyProps : {}), {}, {
1274
- className: cn(isSheet ? "w-full flex-1 space-y-4 overflow-y-auto px-4 pb-4" : "w-full space-y-4 pb-4", isSheet && ((_manageMemberComponen2 = manageMemberComponentConfig.bodyProps) === null || _manageMemberComponen2 === void 0 ? void 0 : _manageMemberComponen2.className)),
1353
+ className: 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)),
1275
1354
  children: [isSheet && isCreationStatusPollingEnabled && /*#__PURE__*/jsxs(Alert, {
1276
1355
  children: [/*#__PURE__*/jsx(Info, {
1277
1356
  className: "size-4"
@@ -1306,4 +1385,4 @@ var ManageMember = function ManageMember(_ref) {
1306
1385
  };
1307
1386
 
1308
1387
  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 };
1309
- //# sourceMappingURL=index-SkKQWXyo.js.map
1388
+ //# sourceMappingURL=index-B2PgGcMs.js.map