@bigbinary/neeto-molecules 4.0.132 → 4.0.134

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 (40) hide show
  1. package/dist/FloatingActionMenu.js +187 -144
  2. package/dist/FloatingActionMenu.js.map +1 -1
  3. package/dist/cjs/FloatingActionMenu.js +186 -143
  4. package/dist/cjs/FloatingActionMenu.js.map +1 -1
  5. package/package.json +3 -3
  6. package/src/translations/ar.json +8 -3
  7. package/src/translations/bg.json +8 -3
  8. package/src/translations/ca.json +9 -4
  9. package/src/translations/cs.json +8 -3
  10. package/src/translations/da.json +8 -3
  11. package/src/translations/de.json +8 -3
  12. package/src/translations/en.json +8 -3
  13. package/src/translations/es-MX.json +9 -4
  14. package/src/translations/es.json +8 -3
  15. package/src/translations/et.json +8 -3
  16. package/src/translations/fi.json +9 -4
  17. package/src/translations/fil.json +9 -4
  18. package/src/translations/fr.json +8 -3
  19. package/src/translations/he.json +7 -2
  20. package/src/translations/hi.json +7 -2
  21. package/src/translations/hr.json +9 -4
  22. package/src/translations/id.json +9 -4
  23. package/src/translations/it.json +9 -4
  24. package/src/translations/ja.json +9 -4
  25. package/src/translations/ko.json +8 -3
  26. package/src/translations/nl.json +9 -4
  27. package/src/translations/pl.json +9 -4
  28. package/src/translations/pt-BR.json +9 -4
  29. package/src/translations/pt.json +9 -4
  30. package/src/translations/ro.json +9 -4
  31. package/src/translations/ru.json +9 -4
  32. package/src/translations/sk.json +8 -3
  33. package/src/translations/sl.json +8 -3
  34. package/src/translations/sv.json +9 -4
  35. package/src/translations/th.json +9 -4
  36. package/src/translations/tr.json +9 -4
  37. package/src/translations/uk.json +9 -4
  38. package/src/translations/vi.json +6 -1
  39. package/src/translations/zh-CN.json +8 -3
  40. package/src/translations/zh-TW.json +8 -3
@@ -17,7 +17,7 @@ import classnames from 'classnames';
17
17
  import Search from '@bigbinary/neeto-icons/Search';
18
18
  import Input from '@bigbinary/neetoui/Input';
19
19
  import Typography from '@bigbinary/neetoui/Typography';
20
- import { useTranslation, Trans } from 'react-i18next';
20
+ import { useTranslation } from 'react-i18next';
21
21
  import Spinner from '@bigbinary/neetoui/Spinner';
22
22
  import Neeto from '@bigbinary/neeto-icons/typeface-logos/Neeto';
23
23
  import * as AppIcons from '@bigbinary/neeto-icons/typeface-logos';
@@ -27,18 +27,18 @@ import { useQuery } from '@tanstack/react-query';
27
27
  import axios from 'axios';
28
28
  import { t } from 'i18next';
29
29
  import Book from '@bigbinary/neeto-icons/Book';
30
- import Community from '@bigbinary/neeto-icons/Community';
31
30
  import useBreakpoints from '@bigbinary/neeto-commons-frontend/react-utils/useBreakpoints';
32
31
  import ExternalLink from '@bigbinary/neeto-icons/ExternalLink';
33
32
  import { withT } from '@bigbinary/neeto-commons-frontend/react-utils';
34
33
  import Right from '@bigbinary/neeto-icons/Right';
35
34
  import _objectDestructuringEmpty from '@babel/runtime/helpers/objectDestructuringEmpty';
36
- import ProductSwitcher$1 from '@bigbinary/neeto-icons/ProductSwitcher';
37
35
  import useLocalStorage from '@bigbinary/neeto-commons-frontend/react-utils/useLocalStorage';
38
- import Check from '@bigbinary/neeto-icons/Check';
36
+ import Moon from '@bigbinary/neeto-icons/Moon';
37
+ import Sun from '@bigbinary/neeto-icons/Sun';
39
38
  import { getFromLocalStorage } from '@bigbinary/neeto-commons-frontend/utils';
40
39
  import { resetAuthTokens } from '@bigbinary/neeto-commons-frontend/utils/axios';
41
40
  import { removeFromLocalStorage } from '@bigbinary/neeto-commons-frontend/utils/general';
41
+ import Logout from '@bigbinary/neeto-icons/Logout';
42
42
  import './useKeyboardShortcutsPaneState-C_eLceJQ.js';
43
43
  import 'zustand/shallow';
44
44
  import '@bigbinary/neeto-commons-frontend/react-utils/withImmutableActions';
@@ -337,21 +337,10 @@ var shouldShowWhatsNew = function shouldShowWhatsNew() {
337
337
  var MY_ORGANIZATION_URL = "/auth/organization/edit";
338
338
  var ENGAGE_WIDGET_TRIGGER_ID = "neetoengage-trigger";
339
339
  var DEFAULT_HELP_LINK_PROPS = {
340
- communityProps: {
341
- label: t("neetoMolecules.sidebar.helpLinks.community", {
342
- app: globalProps.appName
343
- }),
344
- icon: Community,
345
- "data-testid": "help-link-community-button",
346
- "data-btn-weight": "bold",
347
- href: "https://www.launchpass.com/neetohq",
348
- target: "_blank"
349
- },
350
340
  helpCenterProps: {
351
341
  label: t("neetoMolecules.sidebar.helpLinks.helpCenter"),
352
342
  icon: Book,
353
343
  "data-testid": "help-link-help-center-button",
354
- "data-btn-weight": "bold",
355
344
  href: "https://help.".concat(toLower(globalProps.appName), ".com/"),
356
345
  target: "_blank"
357
346
  },
@@ -359,7 +348,6 @@ var DEFAULT_HELP_LINK_PROPS = {
359
348
  label: t("neetoMolecules.sidebar.helpLinks.liveChat"),
360
349
  icon: Help,
361
350
  "data-testid": "help-link-live-chat-button",
362
- "data-btn-weight": "bold",
363
351
  onClick: function onClick() {
364
352
  var _window$NeetoChat, _window$NeetoChat2;
365
353
  (_window$NeetoChat = window.NeetoChat) === null || _window$NeetoChat === void 0 || (_window$NeetoChat = _window$NeetoChat.contextualHelp) === null || _window$NeetoChat === void 0 || _window$NeetoChat.maximizeWidget();
@@ -385,6 +373,14 @@ var DEFAULT_MENU_LINK_PROPS = {
385
373
  "data-testid": "help-link-status-button",
386
374
  href: "https://neetostatus.com/",
387
375
  target: "_blank"
376
+ },
377
+ communityProps: {
378
+ label: t("neetoMolecules.sidebar.helpLinks.community", {
379
+ app: globalProps.appName
380
+ }),
381
+ "data-testid": "help-link-community-button",
382
+ href: "https://www.launchpass.com/neetohq",
383
+ target: "_blank"
388
384
  }
389
385
  };
390
386
  var NON_BUTTON_PROPS = ["isVisible"];
@@ -453,10 +449,10 @@ var useFetchLoggedInOrganizations = function useFetchLoggedInOrganizations(email
453
449
  });
454
450
  };
455
451
 
456
- var MenuItem$4 = Dropdown$1.MenuItem;
452
+ var MenuItem$5 = Dropdown$1.MenuItem;
457
453
  var MenuButton$2 = withT(function (_ref) {
458
454
  var t = _ref.t;
459
- return /*#__PURE__*/jsx(MenuItem$4.Button, {
455
+ return /*#__PURE__*/jsx(MenuItem$5.Button, {
460
456
  className: "neeto-molecules-menu-sublist__item-btn",
461
457
  "data-testid": "organization-switcher-button",
462
458
  style: "text",
@@ -469,7 +465,7 @@ var MenuButton$2 = withT(function (_ref) {
469
465
  });
470
466
 
471
467
  var Menu$2 = Dropdown$1.Menu,
472
- MenuItem$3 = Dropdown$1.MenuItem;
468
+ MenuItem$4 = Dropdown$1.MenuItem;
473
469
  var OrganizationSwitcher = function OrganizationSwitcher() {
474
470
  var _globalProps$user;
475
471
  var _useTranslation = useTranslation(),
@@ -488,7 +484,7 @@ var OrganizationSwitcher = function OrganizationSwitcher() {
488
484
  return currentSubdomain === linkSubdomain;
489
485
  };
490
486
  return /*#__PURE__*/jsx(Dropdown$1, {
491
- className: "neeto-molecules-theme-switcher-menu-popup-wrapper",
487
+ className: "neeto-molecules-organization-switcher-menu-popup-wrapper",
492
488
  closeOnSelect: false,
493
489
  customTarget: /*#__PURE__*/jsx(MenuButton$2, {}),
494
490
  interactiveDebounce: 30,
@@ -498,7 +494,7 @@ var OrganizationSwitcher = function OrganizationSwitcher() {
498
494
  zIndex: 99999,
499
495
  children: /*#__PURE__*/jsxs(Menu$2, {
500
496
  children: [organizations === null || organizations === void 0 ? void 0 : organizations.map(function (organization) {
501
- return /*#__PURE__*/jsxs(MenuItem$3.Button, {
497
+ return /*#__PURE__*/jsxs(MenuItem$4.Button, {
502
498
  href: organization.organizationUrl,
503
499
  rel: "noreferrer",
504
500
  style: "text",
@@ -516,7 +512,7 @@ var OrganizationSwitcher = function OrganizationSwitcher() {
516
512
  }
517
513
  }), organization.orgName]
518
514
  }, organization.userId);
519
- }), /*#__PURE__*/jsx(MenuItem$3.Button, {
515
+ }), /*#__PURE__*/jsx(MenuItem$4.Button, {
520
516
  href: authAppUrl,
521
517
  rel: "noreferrer",
522
518
  target: "_blank",
@@ -533,7 +529,7 @@ var MenuButton$1 = function MenuButton(_ref) {
533
529
  var _useTranslation = useTranslation(),
534
530
  t = _useTranslation.t;
535
531
  var MenuItem = Dropdown$1.MenuItem;
536
- return /*#__PURE__*/jsxs(MenuItem.Button, _objectSpread$2(_objectSpread$2({
532
+ return /*#__PURE__*/jsx(MenuItem.Button, _objectSpread$2(_objectSpread$2({
537
533
  className: "neeto-molecules-menu-sublist__item-btn",
538
534
  "data-testid": "product-switcher-button",
539
535
  label: t("neetoMolecules.sidebar.productSwitcher"),
@@ -543,14 +539,12 @@ var MenuButton$1 = function MenuButton(_ref) {
543
539
  size: 18
544
540
  })
545
541
  }, otherProps), {}, {
546
- children: [/*#__PURE__*/jsx(ProductSwitcher$1, {
547
- size: 20
548
- }), t("neetoMolecules.sidebar.productSwitcher")]
542
+ children: t("neetoMolecules.sidebar.productSwitcher")
549
543
  }));
550
544
  };
551
545
 
552
546
  var Menu$1 = Dropdown$1.Menu,
553
- MenuItem$2 = Dropdown$1.MenuItem;
547
+ MenuItem$3 = Dropdown$1.MenuItem;
554
548
  var Dropdown = function Dropdown() {
555
549
  return /*#__PURE__*/jsx(Dropdown$1, {
556
550
  appendTo: "parent",
@@ -566,7 +560,7 @@ var Dropdown = function Dropdown() {
566
560
  classNames: "neeto-molecules-product-switcher-menu-popup__dropdown"
567
561
  },
568
562
  children: /*#__PURE__*/jsx(Menu$1, {
569
- children: /*#__PURE__*/jsx(MenuItem$2, {
563
+ children: /*#__PURE__*/jsx(MenuItem$3, {
570
564
  children: /*#__PURE__*/jsx(Menu$3, {})
571
565
  })
572
566
  })
@@ -589,21 +583,18 @@ var ProfileHeader = function ProfileHeader(_ref) {
589
583
  var profileInfo = _ref.profileInfo;
590
584
  var name = profileInfo.name,
591
585
  email = profileInfo.email;
592
- return /*#__PURE__*/jsxs("div", {
593
- className: "neeto-ui-relative neeto-ui-flex neeto-ui-items-center neeto-ui-p-3 neeto-ui-bg-primary-50 neeto-molecules-profile-popup__top-section",
586
+ return /*#__PURE__*/jsxs("span", {
587
+ className: "flex w-full items-center gap-2 text-start",
594
588
  "data-testid": "floating-action-menu-profile-header",
595
- children: [/*#__PURE__*/jsx("div", {
596
- className: "start-0 top-0",
597
- children: /*#__PURE__*/jsx(Avatar, {
598
- "data-testid": "floating-action-menu-header-profile-icon",
599
- size: "large",
600
- user: profileInfo
601
- })
602
- }), /*#__PURE__*/jsxs("div", {
603
- className: "neeto-ui-flex neeto-ui-flex-col neeto-ui-flex-grow neeto-ui-min-w-0 neeto-ui-ps-3",
589
+ children: [/*#__PURE__*/jsx(Avatar, {
590
+ "data-testid": "floating-action-menu-header-profile-icon",
591
+ size: "medium",
592
+ user: profileInfo
593
+ }), /*#__PURE__*/jsxs("span", {
594
+ className: "neeto-ui-flex neeto-ui-flex-col neeto-ui-flex-grow neeto-ui-min-w-0 gap-1",
604
595
  children: [/*#__PURE__*/jsx(Typography, {
605
596
  className: "neeto-ui-m-0",
606
- component: "h2",
597
+ component: "span",
607
598
  "data-testid": "floating-action-menu-header-user-name",
608
599
  lineHeight: "tight",
609
600
  style: "h5",
@@ -611,7 +602,8 @@ var ProfileHeader = function ProfileHeader(_ref) {
611
602
  weight: "semibold",
612
603
  children: truncate(name, 18)
613
604
  }), email && /*#__PURE__*/jsx(Typography, {
614
- className: "neeto-ui-w-full neeto-ui-truncate neeto-ui-text-gray-700",
605
+ className: "neeto-ui-w-full neeto-ui-truncate neeto-ui-text-gray-500",
606
+ component: "span",
615
607
  "data-testid": "floating-action-menu-header-user-email",
616
608
  lineHeight: "tight",
617
609
  style: "body3",
@@ -644,29 +636,10 @@ var getConsumerProfileInfo = function getConsumerProfileInfo() {
644
636
  isAuthenticated: globalProps.isConsumer
645
637
  };
646
638
  };
647
- var getDefaultTopLinks = function getDefaultTopLinks(isOwner, setIsProfilePaneOpen, isAuthenticated) {
648
- if (!isAuthenticated) return [];
649
- var topLinks = [{
650
- label: t("neetoMolecules.sidebar.myProfile"),
651
- onClick: function onClick() {
652
- return setIsProfilePaneOpen(true);
653
- },
654
- "data-testid": "my-profile-button"
655
- }];
656
- if (isOwner) {
657
- topLinks.push({
658
- label: t("neetoMolecules.sidebar.myWorkspace"),
659
- onClick: function onClick() {
660
- return window.open(MY_ORGANIZATION_URL, "_self");
661
- },
662
- "data-testid": "profile-organization-settings-button"
663
- });
664
- }
665
- return topLinks;
666
- };
667
639
  var getDefaultBottomLinks = function getDefaultBottomLinks(isAuthenticated, isConsumer) {
668
640
  return [isAuthenticated ? {
669
641
  label: t("neetoMolecules.sidebar.logout"),
642
+ icon: Logout,
670
643
  onClick: function onClick() {
671
644
  resetAuthTokens();
672
645
  removeFromLocalStorage(getSidebarStateLocalStorageKey());
@@ -701,49 +674,99 @@ var setAppTheme = function setAppTheme() {
701
674
  isDarkTheme ? setDarkTheme() : setLightTheme();
702
675
  };
703
676
 
677
+ var MenuItem$2 = Dropdown$1.MenuItem;
678
+ var ThemeSwitcher = function ThemeSwitcher() {
679
+ var _useTranslation = useTranslation(),
680
+ t = _useTranslation.t;
681
+ var _useLocalStorage = useLocalStorage(APP_THEME_LOCALSTORAGE_KEY, THEMES.LIGHT),
682
+ _useLocalStorage2 = _slicedToArray(_useLocalStorage, 2),
683
+ appTheme = _useLocalStorage2[0],
684
+ setAppTheme = _useLocalStorage2[1];
685
+ var isDarkThemeSelected = appTheme === THEMES.DARK;
686
+ var switchTheme = function switchTheme(theme) {
687
+ theme === THEMES.LIGHT ? setLightTheme() : setDarkTheme();
688
+ setAppTheme(theme);
689
+ };
690
+ return /*#__PURE__*/jsxs(MenuItem$2, {
691
+ className: "neeto-molecules-theme-switcher flex items-center justify-between gap-2 px-5 py-3",
692
+ children: [/*#__PURE__*/jsx("div", {
693
+ className: "neeto-molecules-theme-switcher__label",
694
+ children: t("neetoMolecules.sidebar.themeSwitcher.label")
695
+ }), /*#__PURE__*/jsxs("div", {
696
+ className: "neeto-molecules-theme-switcher__segmented-control",
697
+ "data-testid": "theme-switcher-button",
698
+ children: [/*#__PURE__*/jsxs("button", {
699
+ "data-testid": "theme-switcher-light-button",
700
+ type: "button",
701
+ className: classnames("neeto-molecules-theme-switcher__option", {
702
+ "neeto-molecules-theme-switcher__option--active": !isDarkThemeSelected
703
+ }),
704
+ onClick: function onClick() {
705
+ return switchTheme(THEMES.LIGHT);
706
+ },
707
+ children: [/*#__PURE__*/jsx(Sun, {
708
+ size: 18
709
+ }), t("neetoMolecules.sidebar.themeSwitcher.light")]
710
+ }), /*#__PURE__*/jsxs("button", {
711
+ "data-testid": "theme-switcher-dark-button",
712
+ type: "button",
713
+ className: classnames("neeto-molecules-theme-switcher__option", {
714
+ "neeto-molecules-theme-switcher__option--active": isDarkThemeSelected
715
+ }),
716
+ onClick: function onClick() {
717
+ return switchTheme(THEMES.DARK);
718
+ },
719
+ children: [/*#__PURE__*/jsx(Moon, {
720
+ size: 18
721
+ }), t("neetoMolecules.sidebar.themeSwitcher.dark")]
722
+ })]
723
+ })]
724
+ });
725
+ };
726
+
704
727
  var MenuItem$1 = Dropdown$1.MenuItem;
705
728
  var MenuButton = withT(function (_ref) {
706
- var t = _ref.t,
707
- selectedThemeName = _ref.selectedThemeName;
729
+ var _globalProps$organiza;
730
+ var t = _ref.t;
708
731
  return /*#__PURE__*/jsx(MenuItem$1.Button, {
709
- className: "neeto-molecules-menu-sublist__item-btn",
710
- "data-testid": "theme-switcher-button",
732
+ className: "neeto-molecules-workspace-display",
733
+ "data-testid": "workspace-display",
711
734
  style: "text",
712
735
  suffix: /*#__PURE__*/jsx(Right, {
713
736
  className: "rtl:scale-x-[-1]",
714
737
  size: 18
715
738
  }),
716
- children: t("neetoMolecules.sidebar.themeSwitcher.label", {
717
- selectedTheme: selectedThemeName
739
+ children: /*#__PURE__*/jsxs("span", {
740
+ className: "neeto-molecules-workspace-display__content flex flex-col gap-1.5 text-start",
741
+ children: [/*#__PURE__*/jsx(Typography, {
742
+ className: "neeto-molecules-workspace-display__label",
743
+ component: "span",
744
+ style: "body2",
745
+ weight: "medium",
746
+ children: t("neetoMolecules.sidebar.workspace")
747
+ }), ((_globalProps$organiza = globalProps$1.organization) === null || _globalProps$organiza === void 0 ? void 0 : _globalProps$organiza.name) && /*#__PURE__*/jsx(Typography, {
748
+ className: "neeto-molecules-workspace-display__name neeto-ui-text-gray-500",
749
+ component: "span",
750
+ style: "body3",
751
+ children: globalProps$1.organization.name
752
+ })]
718
753
  })
719
754
  });
720
755
  });
721
756
 
722
757
  var Menu = Dropdown$1.Menu,
723
758
  MenuItem = Dropdown$1.MenuItem;
724
- var ThemeSwitcher = function ThemeSwitcher() {
759
+ var WorkspaceMenu = function WorkspaceMenu() {
760
+ var _globalProps$organiza;
725
761
  var _useTranslation = useTranslation(),
726
762
  t = _useTranslation.t;
727
763
  var _useBreakpoints = useBreakpoints(),
728
764
  isSize = _useBreakpoints.isSize;
729
- var _useLocalStorage = useLocalStorage(APP_THEME_LOCALSTORAGE_KEY, THEMES.LIGHT),
730
- _useLocalStorage2 = _slicedToArray(_useLocalStorage, 2),
731
- appTheme = _useLocalStorage2[0],
732
- setAppTheme = _useLocalStorage2[1];
733
- var isDarkThemeSelected = appTheme === THEMES.DARK;
734
- var selectedThemeName = isDarkThemeSelected ? t("neetoMolecules.sidebar.themeSwitcher.dark") : t("neetoMolecules.sidebar.themeSwitcher.light");
735
765
  var isMobile = isSize("mobile");
736
- var switchTheme = function switchTheme(theme) {
737
- theme === THEMES.LIGHT ? setLightTheme() : setDarkTheme();
738
- setAppTheme(theme);
739
- };
740
766
  return /*#__PURE__*/jsx(Dropdown$1, {
741
- appendTo: "parent",
742
- className: "neeto-molecules-theme-switcher-menu-popup-wrapper",
767
+ className: "neeto-molecules-organization-menu-popup-wrapper",
743
768
  closeOnSelect: false,
744
- customTarget: /*#__PURE__*/jsx(MenuButton, {
745
- selectedThemeName: selectedThemeName
746
- }),
769
+ customTarget: /*#__PURE__*/jsx(MenuButton, {}),
747
770
  interactiveDebounce: 30,
748
771
  offset: [0, 5],
749
772
  position: isMobile ? "bottom" : "right",
@@ -751,36 +774,37 @@ var ThemeSwitcher = function ThemeSwitcher() {
751
774
  zIndex: 99999,
752
775
  children: /*#__PURE__*/jsxs(Menu, {
753
776
  children: [/*#__PURE__*/jsx(MenuItem.Button, {
754
- "data-testid": "theme-switcher-light-button",
755
- suffix: !isDarkThemeSelected && /*#__PURE__*/jsx(Check, {
756
- size: 18
757
- }),
758
- className: classnames({
759
- "neeto-molecules-theme-switcher-active-button": !isDarkThemeSelected
760
- }),
761
- onClick: function onClick() {
762
- return switchTheme(THEMES.LIGHT);
763
- },
764
- children: t("neetoMolecules.sidebar.themeSwitcher.light")
765
- }), /*#__PURE__*/jsx(MenuItem.Button, {
766
- "data-testid": "theme-switcher-dark-button",
767
- suffix: isDarkThemeSelected && /*#__PURE__*/jsx(Check, {
768
- size: 18
769
- }),
770
- className: classnames({
771
- "neeto-molecules-theme-switcher-active-button": isDarkThemeSelected
772
- }),
773
- onClick: function onClick() {
774
- return switchTheme(THEMES.DARK);
775
- },
776
- children: t("neetoMolecules.sidebar.themeSwitcher.dark")
777
+ "data-testid": "profile-organization-settings-button",
778
+ href: MY_ORGANIZATION_URL,
779
+ rel: "noreferrer",
780
+ target: "_blank",
781
+ children: t("neetoMolecules.sidebar.workspaceMenu.settings")
782
+ }), ((_globalProps$organiza = globalProps$1.organization) === null || _globalProps$organiza === void 0 ? void 0 : _globalProps$organiza.subdomain) && /*#__PURE__*/jsx(MenuItem.Button, {
783
+ href: MY_ORGANIZATION_URL,
784
+ rel: "noreferrer",
785
+ target: "_blank",
786
+ children: /*#__PURE__*/jsxs("span", {
787
+ className: "neeto-molecules-workspace-display__content flex flex-col gap-1.5 text-start",
788
+ children: [/*#__PURE__*/jsx(Typography, {
789
+ className: "neeto-molecules-workspace-display__label",
790
+ component: "span",
791
+ style: "body2",
792
+ weight: "medium",
793
+ children: t("neetoMolecules.sidebar.workspaceMenu.subdomain")
794
+ }), /*#__PURE__*/jsx(Typography, {
795
+ className: "neeto-molecules-workspace-display__name neeto-ui-text-gray-500",
796
+ component: "span",
797
+ style: "body3",
798
+ children: globalProps$1.organization.subdomain
799
+ })]
800
+ })
777
801
  })]
778
802
  })
779
803
  });
780
804
  };
781
805
 
782
806
  var ProfileMenu = function ProfileMenu(_ref) {
783
- var _globalProps$user, _globalProps$user2;
807
+ var _globalProps$user, _globalProps$user2, _globalProps$user3, _globalProps$user4;
784
808
  var profileInfo = _ref.profileInfo,
785
809
  showProductSwitcher = _ref.showProductSwitcher,
786
810
  helpLinks = _ref.helpLinks,
@@ -796,29 +820,16 @@ var ProfileMenu = function ProfileMenu(_ref) {
796
820
  MenuItem = Dropdown$1.MenuItem,
797
821
  Divider = Dropdown$1.Divider;
798
822
  var isAuthenticated = profileInfo.isAuthenticated;
823
+ var _Profile$usePaneState = Profile.usePaneState(),
824
+ _Profile$usePaneState2 = _slicedToArray(_Profile$usePaneState, 2),
825
+ setIsProfilePaneOpen = _Profile$usePaneState2[1];
826
+ var normalizedPlan = (((_globalProps$user = globalProps.user) === null || _globalProps$user === void 0 ? void 0 : _globalProps$user.subscriptionPlan) || "").toLowerCase();
799
827
  return /*#__PURE__*/jsxs(Menu, {
800
828
  className: "pb-1",
801
- children: [/*#__PURE__*/jsx(MenuItem, {
802
- className: "neeto-molecules-profile-popup",
803
- "data-testid": "profile-popup",
804
- children: isAuthenticated && /*#__PURE__*/jsx(ProfileHeader, {
805
- profileInfo: profileInfo
806
- })
807
- }), !isConsumer && /*#__PURE__*/jsxs(Fragment, {
808
- children: [isPresent((_globalProps$user = globalProps.user) === null || _globalProps$user === void 0 ? void 0 : _globalProps$user.subscriptionPlan) && /*#__PURE__*/jsx(LinkSection, {
809
- links: [{
810
- label: /*#__PURE__*/jsx(Trans, {
811
- i18nKey: "neetoMolecules.sidebar.currentPlan",
812
- values: {
813
- subscriptionPlan: humanize((_globalProps$user2 = globalProps.user) === null || _globalProps$user2 === void 0 ? void 0 : _globalProps$user2.subscriptionPlan)
814
- }
815
- }),
816
- href: NEETO_AUTH_BILLING_INFO_URL,
817
- "data-testid": "subscription-plan"
818
- }]
819
- }), showProductSwitcher && /*#__PURE__*/jsx(ProductSwitcher, {
820
- toggleModal: toggleModal
821
- }), isOrganizationSwitcherEnabled && /*#__PURE__*/jsx(OrganizationSwitcher, {}), isThemeSwitcherEnabled && /*#__PURE__*/jsx(ThemeSwitcher, {}), isNotEmpty(topLinks) && /*#__PURE__*/jsxs(Fragment, {
829
+ children: [!isConsumer && /*#__PURE__*/jsxs(Fragment, {
830
+ children: [/*#__PURE__*/jsx(LinkSection, {
831
+ links: defaultLinks
832
+ }), isNotEmpty(topLinks) && /*#__PURE__*/jsxs(Fragment, {
822
833
  children: [/*#__PURE__*/jsx(Divider, {}), /*#__PURE__*/jsx(LinkSection, {
823
834
  links: topLinks
824
835
  })]
@@ -827,13 +838,38 @@ var ProfileMenu = function ProfileMenu(_ref) {
827
838
  className: "neeto-molecules-floating-action-button__profile-wrapper-custom-content",
828
839
  children: customContent
829
840
  })]
830
- }), /*#__PURE__*/jsx(Divider, {}), /*#__PURE__*/jsx(LinkSection, {
831
- links: defaultLinks
832
- }), /*#__PURE__*/jsx(Divider, {}), /*#__PURE__*/jsx(LinkSection, {
841
+ }), /*#__PURE__*/jsx(Divider, {}), ((_globalProps$user2 = globalProps.user) === null || _globalProps$user2 === void 0 ? void 0 : _globalProps$user2.isOwner) && /*#__PURE__*/jsx(WorkspaceMenu, {}), isOrganizationSwitcherEnabled && /*#__PURE__*/jsx(OrganizationSwitcher, {}), /*#__PURE__*/jsx(Divider, {}), isPresent((_globalProps$user3 = globalProps.user) === null || _globalProps$user3 === void 0 ? void 0 : _globalProps$user3.subscriptionPlan) && /*#__PURE__*/jsx(LinkSection, {
842
+ links: [{
843
+ label: /*#__PURE__*/jsxs(Fragment, {
844
+ children: [globalProps.appName, " ", /*#__PURE__*/jsx("span", {
845
+ className: classnames("neeto-molecules-subscription-plan-badge", {
846
+ "neeto-molecules-subscription-plan-badge--pro": normalizedPlan === "pro",
847
+ "neeto-molecules-subscription-plan-badge--free": normalizedPlan === "free"
848
+ }),
849
+ children: humanize((_globalProps$user4 = globalProps.user) === null || _globalProps$user4 === void 0 ? void 0 : _globalProps$user4.subscriptionPlan)
850
+ })]
851
+ }),
852
+ href: NEETO_AUTH_BILLING_INFO_URL,
853
+ "data-testid": "subscription-plan"
854
+ }]
855
+ }), showProductSwitcher && /*#__PURE__*/jsx(ProductSwitcher, {
856
+ toggleModal: toggleModal
857
+ }), /*#__PURE__*/jsx(LinkSection, {
833
858
  links: helpLinks
834
859
  }), /*#__PURE__*/jsx(Divider, {})]
860
+ }), isAuthenticated && /*#__PURE__*/jsx(MenuItem.Button, {
861
+ className: "neeto-molecules-profile-popup",
862
+ "data-testid": "my-profile-button",
863
+ onClick: function onClick() {
864
+ return setIsProfilePaneOpen(true);
865
+ },
866
+ children: /*#__PURE__*/jsx(ProfileHeader, {
867
+ profileInfo: profileInfo
868
+ })
835
869
  }), /*#__PURE__*/jsx(LinkSection, {
836
870
  links: bottomLinks
871
+ }), isThemeSwitcherEnabled && /*#__PURE__*/jsxs(Fragment, {
872
+ children: [/*#__PURE__*/jsx(Divider, {}), /*#__PURE__*/jsx(ThemeSwitcher, {})]
837
873
  })]
838
874
  });
839
875
  };
@@ -841,7 +877,6 @@ var ProfileMenu = function ProfileMenu(_ref) {
841
877
  function ownKeys$1(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; }
842
878
  function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
843
879
  var ProfileButton = function ProfileButton(_ref) {
844
- var _globalProps$user;
845
880
  var profileInfoOverrides = _ref.profileInfoOverrides,
846
881
  showProductSwitcher = _ref.showProductSwitcher,
847
882
  bottomLinks = _ref.bottomLinks,
@@ -855,16 +890,17 @@ var ProfileButton = function ProfileButton(_ref) {
855
890
  _useState2 = _slicedToArray(_useState, 2),
856
891
  isModalOpen = _useState2[0],
857
892
  setIsModalOpen = _useState2[1];
858
- var _useState3 = useState(null),
893
+ var _useState3 = useState(false),
859
894
  _useState4 = _slicedToArray(_useState3, 2),
860
- changesCount = _useState4[0],
861
- setChangesCount = _useState4[1];
895
+ isBackdropVisible = _useState4[0],
896
+ setIsBackdropVisible = _useState4[1];
897
+ var _useState5 = useState(null),
898
+ _useState6 = _slicedToArray(_useState5, 2),
899
+ changesCount = _useState6[0],
900
+ setChangesCount = _useState6[1];
862
901
  var _KeyboardShortcuts$us = KeyboardShortcuts.usePaneState(),
863
902
  _KeyboardShortcuts$us2 = _slicedToArray(_KeyboardShortcuts$us, 2),
864
903
  setIsOpen = _KeyboardShortcuts$us2[1];
865
- var _Profile$usePaneState = Profile.usePaneState(),
866
- _Profile$usePaneState2 = _slicedToArray(_Profile$usePaneState, 2),
867
- setIsProfilePaneOpen = _Profile$usePaneState2[1];
868
904
  useHotkeys(["ctrl+e", "command+e"], function () {
869
905
  return setIsModalOpen(not);
870
906
  }, {
@@ -883,7 +919,6 @@ var ProfileButton = function ProfileButton(_ref) {
883
919
  };
884
920
  window.Nv = window.Nv ? Object.assign(window.Nv, Nv) : Nv;
885
921
  }, []);
886
- var newTopLinks = globalProps.appName.toLowerCase() !== "neetoauth" ? [].concat(_toConsumableArray(getDefaultTopLinks((_globalProps$user = globalProps.user) === null || _globalProps$user === void 0 ? void 0 : _globalProps$user.isOwner, setIsProfilePaneOpen, profileInfo.isAuthenticated)), _toConsumableArray(topLinks)) : topLinks;
887
922
  var newBottomLinks = [].concat(_toConsumableArray(getDefaultBottomLinks(profileInfo.isAuthenticated, isConsumer)), _toConsumableArray(bottomLinks));
888
923
  var helpLinks = Object.keys(DEFAULT_HELP_LINK_PROPS).map(function (key) {
889
924
  return _objectSpread$1({}, DEFAULT_HELP_LINK_PROPS[key]);
@@ -911,6 +946,8 @@ var ProfileButton = function ProfileButton(_ref) {
911
946
  return /*#__PURE__*/jsxs(Fragment, {
912
947
  children: [/*#__PURE__*/jsx(Profile.Pane, {
913
948
  popoverProps: profilePopoverProps
949
+ }), isBackdropVisible && /*#__PURE__*/jsx("div", {
950
+ className: "neeto-molecules-floating-action-button__backdrop"
914
951
  }), /*#__PURE__*/jsx(Dropdown$1, {
915
952
  appendTo: function appendTo() {
916
953
  return document.body;
@@ -919,10 +956,10 @@ var ProfileButton = function ProfileButton(_ref) {
919
956
  closeOnSelect: false,
920
957
  icon: noop,
921
958
  interactiveDebounce: 30,
922
- offset: [15, 10],
959
+ offset: [4, 4],
923
960
  position: "right-end",
924
961
  strategy: "fixed",
925
- theme: "light",
962
+ theme: "light neeto-molecules-floating-action-outer-dropdown-wrapper",
926
963
  trigger: "all",
927
964
  zIndex: 99999,
928
965
  customTarget: /*#__PURE__*/jsxs("button", {
@@ -943,6 +980,12 @@ var ProfileButton = function ProfileButton(_ref) {
943
980
  dropdownProps: {
944
981
  classNames: "neeto-molecules-floating-action-button__dropdown"
945
982
  },
983
+ onHide: function onHide() {
984
+ return setIsBackdropVisible(false);
985
+ },
986
+ onShow: function onShow() {
987
+ return setIsBackdropVisible(true);
988
+ },
946
989
  children: /*#__PURE__*/jsx(ProfileMenu, {
947
990
  customContent: customContent,
948
991
  defaultLinks: defaultLinks,
@@ -952,9 +995,9 @@ var ProfileButton = function ProfileButton(_ref) {
952
995
  isThemeSwitcherEnabled: isThemeSwitcherEnabled,
953
996
  profileInfo: profileInfo,
954
997
  showProductSwitcher: showProductSwitcher,
998
+ topLinks: topLinks,
955
999
  bottomLinks: newBottomLinks,
956
- toggleModal: setIsModalOpen,
957
- topLinks: newTopLinks
1000
+ toggleModal: setIsModalOpen
958
1001
  })
959
1002
  }), isPresent(changesCount) && /*#__PURE__*/jsx("span", {
960
1003
  className: "neeto-molecules-menu__notif-count",
@@ -969,7 +1012,7 @@ var ProfileButton = function ProfileButton(_ref) {
969
1012
  });
970
1013
  };
971
1014
 
972
- var css = ":root{--neeto-molecules-floating-menu-z-index:99999}.neeto-molecules-floating-action-menu__container{background-color:rgb(var(--neeto-ui-white));border:1px solid rgb(var(--neeto-ui-white));border-end-end-radius:1.0625rem;border-inline-start:none;border-start-end-radius:1.0625rem;bottom:16px;inset-inline-start:0;position:fixed;z-index:99999;z-index:var(--neeto-molecules-floating-menu-z-index)}.neeto-molecules-floating-action-button{align-items:center;background-color:rgb(var(--neeto-ui-primary-500));border-color:rgb(var(--neeto-ui-primary-500));border-end-end-radius:1rem;border-start-end-radius:1rem;display:flex;flex-direction:column;gap:.375rem;justify-content:center;padding:.25rem}.neeto-molecules-floating-action-button__help-icon{align-items:center;background-color:#fff;border-radius:6.25rem;display:flex;height:1.625rem;justify-content:center;width:1.625rem}.neeto-molecules-floating-action-button__profile-avatar{--neeto-ui-avatar-container-width:1.625rem;--neeto-ui-avatar-container-height:1.625rem;border:2px solid #fff;border-radius:6.25rem}.neeto-molecules-floating-action-button__profile-avatar>div{height:100%;width:100%}.neeto-molecules-floating-action-button__profile-avatar .neeto-ui-avatar{height:100%!important;width:100%!important}.neeto-molecules-floating-action-button__dropdown{flex-shrink:0;max-height:95vh!important;max-width:none;width:16rem;z-index:99999;z-index:var(--neeto-molecules-floating-menu-z-index)}.neeto-molecules-floating-action-button__dropdown ul{padding-top:0!important}.neeto-molecules-product-switcher-menu-popup__dropdown{max-height:none!important;max-width:none}.neeto-molecules-menu__notif-count{border:1px solid #fff;height:.9375rem;inset-inline-end:0;min-width:.9375rem;pointer-events:none;position:absolute;top:0;z-index:3}.neeto-molecules-menu-list__item-btn-count,.neeto-molecules-menu__notif-count{align-items:center;background-color:rgb(var(--neeto-ui-accent-500));border-radius:var(--neeto-ui-rounded-full);color:rgb(var(--neeto-ui-white));display:flex;flex-shrink:0;font-size:var(--neeto-ui-text-xxs);justify-content:center;padding-inline-end:.25rem;padding-inline-start:.25rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.neeto-molecules-menu-list__item-btn-count{height:1.125rem;min-width:1.125rem}.neeto-ui-dropdown__popup .neeto-molecules-product-switcher-menu-popup-wrapper{border:1px solid rgb(var(--neeto-ui-gray-400));border-radius:var(--neeto-ui-rounded)!important;min-width:15rem}.neeto-ui-dropdown__popup .neeto-molecules-product-switcher-menu-popup-wrapper .tippy-content{padding:0}.neeto-ui-dropdown__popup .neeto-molecules-product-switcher-menu-popup-wrapper .tippy-svg-arrow{display:none!important}.neeto-molecules-profile-popup__top-section{border-start-end-radius:var(--neeto-ui-rounded);border-start-start-radius:var(--neeto-ui-rounded)}.neeto-molecules-menu-sublist__item-btn{font-weight:500!important;height:2.5rem}.neeto-molecules-menu-sublist__item-btn[data-btn-weight=bold]{font-weight:700!important}.neeto-molecules-menu-sublist__item-btn.active{background-color:rgb(var(--neeto-ui-gray-800));color:rgb(var(--neeto-ui-white))}.neeto-molecules-menu-sublist__item-btn-icon svg path{vector-effect:non-scaling-stroke}.neeto-molecules-menu-sublist__item-btn span{align-items:center;display:flex;gap:.5rem}.neeto-molecules-product-switcher-menu-popup-wrapper{height:95vh;overflow-y:auto;width:calc(100vw - 25rem)}.neeto-molecules-floating-action-button__profile-wrapper-custom-content:hover{background-color:rgb(var(--neeto-ui-white))!important}.neeto-molecules-theme-switcher-menu-popup-wrapper .neeto-ui-dropdown__popup-menu{padding-top:.25rem!important}.neeto-molecules-organization-switcher-active-button,.neeto-molecules-theme-switcher-active-button{color:rgb(var(--neeto-ui-success-600))!important}";
1015
+ var css = ":root{--neeto-molecules-floating-menu-z-index:99999}.neeto-molecules-floating-action-menu__container{background-color:rgb(var(--neeto-ui-white));border:1px solid rgb(var(--neeto-ui-white));border-end-end-radius:1.0625rem;border-inline-start:none;border-start-end-radius:1.0625rem;bottom:16px;inset-inline-start:0;position:fixed;z-index:99999;z-index:var(--neeto-molecules-floating-menu-z-index)}.neeto-molecules-floating-action-button{align-items:center;background-color:rgb(var(--neeto-ui-primary-500));border-color:rgb(var(--neeto-ui-primary-500));border-end-end-radius:1rem;border-start-end-radius:1rem;display:flex;flex-direction:column;gap:.375rem;justify-content:center;padding:.25rem}.neeto-molecules-floating-action-button__help-icon{align-items:center;background-color:#fff;border-radius:6.25rem;display:flex;height:1.625rem;justify-content:center;width:1.625rem}.neeto-molecules-floating-action-button__profile-avatar{--neeto-ui-avatar-container-width:1.625rem;--neeto-ui-avatar-container-height:1.625rem;border:2px solid #fff;border-radius:6.25rem}.neeto-molecules-floating-action-button__profile-avatar>div{height:100%;width:100%}.neeto-molecules-floating-action-button__profile-avatar .neeto-ui-avatar{height:100%!important;width:100%!important}.neeto-molecules-floating-action-button__dropdown{--neeto-ui-dropdown-divider-margin:0.5rem;--neeto-ui-dropdown-item-border-radius:0.25rem;flex-shrink:0;max-height:95vh!important;max-width:none;width:16rem;z-index:99999;z-index:var(--neeto-molecules-floating-menu-z-index)}.neeto-molecules-floating-action-button__dropdown .neeto-ui-dropdown__popup-menu{padding-bottom:.75rem!important;padding-top:.75rem!important}.neeto-molecules-floating-action-button__dropdown.neeto-ui-dropdown__popup .neeto-ui-dropdown__popup-menu-item{background-color:transparent!important;padding-left:.75rem;padding-right:.75rem}.neeto-molecules-floating-action-button__backdrop{background-color:rgba(var(--neeto-ui-black),.27);height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:99998;z-index:calc(var(--neeto-molecules-floating-menu-z-index) - 1)}.neeto-molecules-product-switcher-menu-popup__dropdown{max-height:none!important;max-width:none}.neeto-molecules-menu__notif-count{border:1px solid #fff;height:.9375rem;inset-inline-end:0;min-width:.9375rem;pointer-events:none;position:absolute;top:0;z-index:3}.neeto-molecules-menu-list__item-btn-count,.neeto-molecules-menu__notif-count{align-items:center;background-color:rgb(var(--neeto-ui-accent-500));border-radius:var(--neeto-ui-rounded-full);color:rgb(var(--neeto-ui-white));display:flex;flex-shrink:0;font-size:var(--neeto-ui-text-xxs);justify-content:center;padding-inline-end:.25rem;padding-inline-start:.25rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.neeto-molecules-menu-list__item-btn-count{height:1.125rem;min-width:1.125rem}.neeto-ui-dropdown__popup .neeto-molecules-product-switcher-menu-popup-wrapper{border:1px solid rgb(var(--neeto-ui-gray-400));border-radius:.75rem!important;min-width:15rem}.neeto-ui-dropdown__popup .neeto-molecules-product-switcher-menu-popup-wrapper .tippy-content{padding:0}.neeto-ui-dropdown__popup .neeto-molecules-product-switcher-menu-popup-wrapper .tippy-svg-arrow{display:none!important}.neeto-molecules-profile-popup__top-section{border-radius:.25rem;transition:var(--neeto-ui-transition)}.neeto-molecules-profile-popup__top-section:hover{background-color:rgb(var(--neeto-ui-gray-200))}.neeto-molecules-menu-sublist__item-btn{font-weight:500!important;height:2.5rem}.neeto-molecules-menu-sublist__item-btn[data-btn-weight=bold]{font-weight:700!important}.neeto-molecules-menu-sublist__item-btn.active{background-color:rgb(var(--neeto-ui-gray-800));color:rgb(var(--neeto-ui-white))}.neeto-molecules-menu-sublist__item-btn-icon svg path{vector-effect:non-scaling-stroke}.neeto-molecules-menu-sublist__item-btn span{align-items:center;display:flex;gap:.5rem}.neeto-molecules-product-switcher-menu-popup-wrapper{height:95vh;overflow-y:auto;width:calc(100vw - 25rem)}.neeto-molecules-floating-action-button__profile-wrapper-custom-content:hover{background-color:rgb(var(--neeto-ui-white))!important}.neeto-molecules-organization-switcher-active-button,.neeto-molecules-theme-switcher-active-button{color:rgb(var(--neeto-ui-success-600))!important}.tippy-box[data-theme~=neeto-molecules-floating-action-outer-dropdown-wrapper]{--neeto-ui-dropdown-box-shadow:0 0 0 0;--neeto-ui-dropdown-border-radius:0.75rem;--neeto-ui-dropdown-popup-border-radius:0.75rem;--neeto-ui-dropdown-margin-y:0;--neeto-ui-dropdown-margin-x:0;transition:var(--neeto-ui-transition)}.tippy-box[data-theme~=neeto-molecules-floating-action-outer-dropdown-wrapper] .neeto-ui-dropdown__popup{--neeto-ui-dropdown-border-radius:0.75rem;transition:var(--neeto-ui-transition)}.tippy-box[data-theme~=neeto-molecules-floating-action-outer-dropdown-wrapper] .neeto-ui-dropdown__popup .neeto-ui-dropdown__popup-divider{transition:var(--neeto-ui-transition)}.neeto-molecules-subscription-plan-badge{border-radius:9999px;display:inline-block;font-size:.625rem;font-weight:600;line-height:1.1;padding:.25rem .625rem;text-transform:uppercase}.neeto-molecules-subscription-plan-badge--pro{background-color:#ffe44a;color:#000}.neeto-molecules-subscription-plan-badge--free{background-color:rgb(var(--neeto-ui-gray-300));color:rgb(var(--neeto-ui-black))}.neeto-molecules-theme-switcher{border-bottom-left-radius:.75rem;border-bottom-right-radius:.75rem}.neeto-molecules-theme-switcher__label{color:rgb(var(--neeto-ui-gray-800));font-size:.875rem;font-weight:500}.neeto-molecules-theme-switcher__segmented-control{background-color:rgb(var(--neeto-ui-gray-200));border-radius:9999px;display:flex;gap:.25rem;padding:.0625rem}.neeto-molecules-theme-switcher__option{align-items:center;background-color:transparent;border:1px solid transparent;border-radius:9999px;color:rgb(var(--neeto-ui-gray-700));cursor:pointer;display:flex;flex:1;font-size:.75rem;font-weight:500;gap:.125rem;padding:.25rem .375rem;transition:all .2s ease;white-space:nowrap}.neeto-molecules-theme-switcher__option:hover{background-color:rgb(var(--neeto-ui-gray-100))}.neeto-molecules-theme-switcher__option--active{background-color:rgb(var(--neeto-ui-white));border-color:rgb(var(--neeto-ui-gray-300));box-shadow:0 1px 2px rgba(0,0,0,.05);color:rgb(var(--neeto-ui-gray-800))}.neeto-molecules-theme-switcher__option svg{flex-shrink:0}";
973
1016
  n(css,{});
974
1017
 
975
1018
  var _excluded = ["profileInfoOverrides", "topLinks", "bottomLinks", "showProductSwitcher", "isThemeSwitcherEnabled", "isOrganizationSwitcherEnabled", "customContent", "profilePopoverProps", "isConsumer"];