@bigbinary/neeto-molecules 4.1.39 → 4.1.41

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.
@@ -14,6 +14,7 @@ var Avatar = require('@bigbinary/neetoui/Avatar');
14
14
  var Dropdown$1 = require('@bigbinary/neetoui/Dropdown');
15
15
  var ramda = require('ramda');
16
16
  var KeyboardShortcuts = require('./KeyboardShortcuts.js');
17
+ var SubscriptionUpgradeRequestModal = require('./SubscriptionUpgradeRequestModal.js');
17
18
  var Modal$1 = require('@bigbinary/neetoui/Modal');
18
19
  var classnames = require('classnames');
19
20
  var Search = require('@bigbinary/neeto-icons/Search');
@@ -91,8 +92,8 @@ var css$1 = ".neeto-molecules-product-switcher__wrapper{align-items:flex-start;b
91
92
  injectCss.n(css$1,{});
92
93
 
93
94
  var _excluded$4 = ["name", "description", "url", "isHighlighted"];
94
- function ownKeys$8(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; }
95
- function _objectSpread$8(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$8(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$8(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
95
+ function ownKeys$9(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; }
96
+ function _objectSpread$9(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$9(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$9(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
96
97
  var ProductLink$1 = function ProductLink(_ref) {
97
98
  var name = _ref.name,
98
99
  description = _ref.description,
@@ -104,7 +105,7 @@ var ProductLink$1 = function ProductLink(_ref) {
104
105
  var specialCase = SPECIAL_APP_NAMES[normalizedName];
105
106
  var appName = "Neeto".concat(name.charAt(0)).concat(name.slice(1).toLowerCase());
106
107
  var AppIcon = specialCase ? AppIcons__namespace["Neeto".concat(specialCase)] : AppIcons__namespace[appName];
107
- return /*#__PURE__*/jsxRuntime.jsxs("a", _objectSpread$8(_objectSpread$8({
108
+ return /*#__PURE__*/jsxRuntime.jsxs("a", _objectSpread$9(_objectSpread$9({
108
109
  "data-testid": "".concat(normalizedName, "-app-link"),
109
110
  href: url,
110
111
  rel: "noreferrer",
@@ -133,8 +134,8 @@ var ProductLink$1 = function ProductLink(_ref) {
133
134
  };
134
135
  var ProductLink = /*#__PURE__*/React.memo(ProductLink$1);
135
136
 
136
- function ownKeys$7(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; }
137
- function _objectSpread$7(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$7(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$7(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
137
+ function ownKeys$8(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; }
138
+ function _objectSpread$8(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$8(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$8(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
138
139
  var Content = function Content(_ref) {
139
140
  var highlightedIndex = _ref.highlightedIndex,
140
141
  filteredApps = _ref.filteredApps,
@@ -150,7 +151,7 @@ var Content = function Content(_ref) {
150
151
  return (filteredApps === null || filteredApps === void 0 ? void 0 : filteredApps.length) > 0 ? /*#__PURE__*/jsxRuntime.jsx("div", {
151
152
  className: "neeto-molecules-product-switcher__grid",
152
153
  children: filteredApps.map(function (app, index) {
153
- return /*#__PURE__*/jsxRuntime.jsx(ProductLink, _objectSpread$7(_objectSpread$7({}, app), {}, {
154
+ return /*#__PURE__*/jsxRuntime.jsx(ProductLink, _objectSpread$8(_objectSpread$8({}, app), {}, {
154
155
  "data-highlighted-index": index,
155
156
  isHighlighted: index === highlightedIndex
156
157
  }), app.name);
@@ -170,10 +171,10 @@ var neetoAppsApi = {
170
171
  fetch: fetch$1
171
172
  };
172
173
 
173
- function ownKeys$6(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; }
174
- function _objectSpread$6(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$6(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$6(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
174
+ function ownKeys$7(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; }
175
+ function _objectSpread$7(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$7(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$7(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
175
176
  var useFetchNeetoApps = function useFetchNeetoApps(options) {
176
- return reactQuery.useQuery(_objectSpread$6({
177
+ return reactQuery.useQuery(_objectSpread$7({
177
178
  queryKey: [QUERY_KEYS$1.NEETO_APPS_LIST],
178
179
  queryFn: neetoAppsApi.fetch
179
180
  }, options));
@@ -361,14 +362,14 @@ var Modal = function Modal(_ref) {
361
362
  };
362
363
 
363
364
  var _excluded$3 = ["t", "tReady"];
364
- function ownKeys$5(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; }
365
- function _objectSpread$5(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$5(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$5(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
365
+ function ownKeys$6(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; }
366
+ function _objectSpread$6(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$6(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$6(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
366
367
  var MenuItem$9 = Dropdown$1.MenuItem;
367
368
  var MenuButton$4 = reactUtils.withT(function (_ref) {
368
369
  var t = _ref.t;
369
370
  _ref.tReady;
370
371
  var otherProps = _objectWithoutProperties(_ref, _excluded$3);
371
- return /*#__PURE__*/jsxRuntime.jsx(MenuItem$9.Button, _objectSpread$5(_objectSpread$5({
372
+ return /*#__PURE__*/jsxRuntime.jsx(MenuItem$9.Button, _objectSpread$6(_objectSpread$6({
372
373
  className: "neeto-molecules-menu-sublist__item-btn",
373
374
  "data-testid": "help-menu-button",
374
375
  prefix: /*#__PURE__*/jsxRuntime.jsx(Help, {
@@ -449,8 +450,8 @@ var HelpMenu = function HelpMenu() {
449
450
  };
450
451
 
451
452
  var _excluded$2 = ["label", "icon", "changesCount"];
452
- 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; }
453
- 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; }
453
+ function ownKeys$5(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; }
454
+ function _objectSpread$5(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$5(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$5(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
454
455
  var LinkSection = function LinkSection(_ref) {
455
456
  var links = _ref.links;
456
457
  var MenuItem = Dropdown$1.MenuItem;
@@ -461,7 +462,7 @@ var LinkSection = function LinkSection(_ref) {
461
462
  Icon = _ref2.icon,
462
463
  changesCount = _ref2.changesCount,
463
464
  otherProps = _objectWithoutProperties(_ref2, _excluded$2);
464
- return /*#__PURE__*/jsxRuntime.jsxs(MenuItem.Button, _objectSpread$4(_objectSpread$4({
465
+ return /*#__PURE__*/jsxRuntime.jsxs(MenuItem.Button, _objectSpread$5(_objectSpread$5({
465
466
  className: "neeto-molecules-menu-sublist__item-btn",
466
467
  "data-testid": "floating-action-menu-link-section",
467
468
  prefix: Icon && /*#__PURE__*/jsxRuntime.jsx(Icon, {
@@ -579,14 +580,14 @@ var OrganizationSwitcher = function OrganizationSwitcher() {
579
580
  });
580
581
  };
581
582
 
582
- 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; }
583
- 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; }
583
+ 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; }
584
+ 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; }
584
585
  var MenuButton$2 = function MenuButton(_ref) {
585
586
  var otherProps = Object.assign({}, (_objectDestructuringEmpty(_ref), _ref));
586
587
  var _useTranslation = reactI18next.useTranslation(),
587
588
  t = _useTranslation.t;
588
589
  var MenuItem = Dropdown$1.MenuItem;
589
- return /*#__PURE__*/jsxRuntime.jsx(MenuItem.Button, _objectSpread$3(_objectSpread$3({
590
+ return /*#__PURE__*/jsxRuntime.jsx(MenuItem.Button, _objectSpread$4(_objectSpread$4({
590
591
  className: "neeto-molecules-menu-sublist__item-btn",
591
592
  "data-testid": "product-switcher-button",
592
593
  label: t("neetoMolecules.sidebar.productSwitcher"),
@@ -671,13 +672,13 @@ var ProfileHeader = function ProfileHeader(_ref) {
671
672
  };
672
673
 
673
674
  var _excluded$1 = ["profileInfo"];
674
- 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; }
675
- 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; }
675
+ 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; }
676
+ 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; }
676
677
  var MenuItem$4 = Dropdown$1.MenuItem;
677
678
  var MenuButton$1 = function MenuButton(_ref) {
678
679
  var profileInfo = _ref.profileInfo,
679
680
  otherProps = _objectWithoutProperties(_ref, _excluded$1);
680
- return /*#__PURE__*/jsxRuntime.jsx(MenuItem$4.Button, _objectSpread$2(_objectSpread$2({
681
+ return /*#__PURE__*/jsxRuntime.jsx(MenuItem$4.Button, _objectSpread$3(_objectSpread$3({
681
682
  className: "neeto-molecules-profile-popup",
682
683
  "data-testid": "profile-expand-menu-button",
683
684
  suffix: /*#__PURE__*/jsxRuntime.jsx(Right, {
@@ -960,6 +961,8 @@ var WorkspaceMenu = function WorkspaceMenu() {
960
961
  });
961
962
  };
962
963
 
964
+ 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; }
965
+ 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; }
963
966
  var ProfileMenu = function ProfileMenu(_ref) {
964
967
  var _globalProps$user, _globalProps$user2, _globalProps$user3, _globalProps$user4;
965
968
  var profileInfo = _ref.profileInfo,
@@ -971,7 +974,9 @@ var ProfileMenu = function ProfileMenu(_ref) {
971
974
  toggleModal = _ref.toggleModal,
972
975
  isThemeSwitcherEnabled = _ref.isThemeSwitcherEnabled,
973
976
  isOrganizationSwitcherEnabled = _ref.isOrganizationSwitcherEnabled,
974
- isConsumer = _ref.isConsumer;
977
+ isConsumer = _ref.isConsumer,
978
+ enableSubscriptionUpgradeRequest = _ref.enableSubscriptionUpgradeRequest,
979
+ openUpgradeModal = _ref.openUpgradeModal;
975
980
  var Menu = Dropdown$1.Menu,
976
981
  MenuItem = Dropdown$1.MenuItem,
977
982
  Divider = Dropdown$1.Divider;
@@ -979,6 +984,28 @@ var ProfileMenu = function ProfileMenu(_ref) {
979
984
  var _useTranslation = reactI18next.useTranslation(),
980
985
  t = _useTranslation.t;
981
986
  var normalizedPlan = (((_globalProps$user = globalProps.user) === null || _globalProps$user === void 0 ? void 0 : _globalProps$user.subscriptionPlan) || "").toLowerCase();
987
+ var isFreePlan = normalizedPlan === "free";
988
+ var showUpgradeAction = isFreePlan && enableSubscriptionUpgradeRequest;
989
+ var subscriptionPlanLink = _objectSpread$2({
990
+ label: /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
991
+ children: [globalProps.appName, " ", /*#__PURE__*/jsxRuntime.jsx("span", {
992
+ className: classnames("neeto-molecules-subscription-plan-badge flex items-center gap-1", {
993
+ "neeto-molecules-subscription-plan-badge--pro": normalizedPlan === "pro",
994
+ "neeto-molecules-subscription-plan-badge--free": isFreePlan
995
+ }),
996
+ children: normalizedPlan === "pro" ? neetoCist.humanize((_globalProps$user2 = globalProps.user) === null || _globalProps$user2 === void 0 ? void 0 : _globalProps$user2.subscriptionPlan) : /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
997
+ children: [/*#__PURE__*/jsxRuntime.jsx(Crown, {
998
+ size: 12
999
+ }), t("neetoMolecules.sidebar.upgradePlan")]
1000
+ })
1001
+ })]
1002
+ }),
1003
+ "data-testid": "subscription-plan"
1004
+ }, showUpgradeAction ? {
1005
+ onClick: openUpgradeModal
1006
+ } : {
1007
+ href: NEETO_AUTH_BILLING_INFO_URL
1008
+ });
982
1009
  return /*#__PURE__*/jsxRuntime.jsxs(Menu, {
983
1010
  className: "pb-1",
984
1011
  children: [!isConsumer && /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
@@ -993,24 +1020,8 @@ var ProfileMenu = function ProfileMenu(_ref) {
993
1020
  className: "neeto-molecules-floating-action-button__profile-wrapper-custom-content",
994
1021
  children: customContent
995
1022
  })]
996
- }), /*#__PURE__*/jsxRuntime.jsx(Divider, {}), ((_globalProps$user2 = globalProps.user) === null || _globalProps$user2 === void 0 ? void 0 : _globalProps$user2.isOwner) && /*#__PURE__*/jsxRuntime.jsx(WorkspaceMenu, {}), isOrganizationSwitcherEnabled && /*#__PURE__*/jsxRuntime.jsx(OrganizationSwitcher, {}), /*#__PURE__*/jsxRuntime.jsx(Divider, {}), neetoCist.isPresent((_globalProps$user3 = globalProps.user) === null || _globalProps$user3 === void 0 ? void 0 : _globalProps$user3.subscriptionPlan) && /*#__PURE__*/jsxRuntime.jsx(LinkSection, {
997
- links: [{
998
- label: /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
999
- children: [globalProps.appName, " ", /*#__PURE__*/jsxRuntime.jsx("span", {
1000
- className: classnames("neeto-molecules-subscription-plan-badge flex items-center gap-1", {
1001
- "neeto-molecules-subscription-plan-badge--pro": normalizedPlan === "pro",
1002
- "neeto-molecules-subscription-plan-badge--free": normalizedPlan === "free"
1003
- }),
1004
- children: normalizedPlan === "pro" ? neetoCist.humanize((_globalProps$user4 = globalProps.user) === null || _globalProps$user4 === void 0 ? void 0 : _globalProps$user4.subscriptionPlan) : /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
1005
- children: [/*#__PURE__*/jsxRuntime.jsx(Crown, {
1006
- size: 12
1007
- }), t("neetoMolecules.sidebar.upgradePlan")]
1008
- })
1009
- })]
1010
- }),
1011
- href: NEETO_AUTH_BILLING_INFO_URL,
1012
- "data-testid": "subscription-plan"
1013
- }]
1023
+ }), /*#__PURE__*/jsxRuntime.jsx(Divider, {}), ((_globalProps$user3 = globalProps.user) === null || _globalProps$user3 === void 0 ? void 0 : _globalProps$user3.isOwner) && /*#__PURE__*/jsxRuntime.jsx(WorkspaceMenu, {}), isOrganizationSwitcherEnabled && /*#__PURE__*/jsxRuntime.jsx(OrganizationSwitcher, {}), /*#__PURE__*/jsxRuntime.jsx(Divider, {}), neetoCist.isPresent((_globalProps$user4 = globalProps.user) === null || _globalProps$user4 === void 0 ? void 0 : _globalProps$user4.subscriptionPlan) && /*#__PURE__*/jsxRuntime.jsx(LinkSection, {
1024
+ links: [subscriptionPlanLink]
1014
1025
  }), showProductSwitcher && /*#__PURE__*/jsxRuntime.jsx(ProductSwitcher, {
1015
1026
  toggleModal: toggleModal
1016
1027
  }), /*#__PURE__*/jsxRuntime.jsx(HelpMenu, {}), /*#__PURE__*/jsxRuntime.jsx(Divider, {})]
@@ -1035,19 +1046,24 @@ var ProfileButton = function ProfileButton(_ref) {
1035
1046
  isThemeSwitcherEnabled = _ref.isThemeSwitcherEnabled,
1036
1047
  isOrganizationSwitcherEnabled = _ref.isOrganizationSwitcherEnabled,
1037
1048
  profilePopoverProps = _ref.profilePopoverProps,
1038
- isConsumer = _ref.isConsumer;
1049
+ isConsumer = _ref.isConsumer,
1050
+ enableSubscriptionUpgradeRequest = _ref.enableSubscriptionUpgradeRequest;
1039
1051
  var _useState = React.useState(false),
1040
1052
  _useState2 = _slicedToArray(_useState, 2),
1041
1053
  isModalOpen = _useState2[0],
1042
1054
  setIsModalOpen = _useState2[1];
1043
1055
  var _useState3 = React.useState(false),
1044
1056
  _useState4 = _slicedToArray(_useState3, 2),
1045
- isBackdropVisible = _useState4[0],
1046
- setIsBackdropVisible = _useState4[1];
1047
- var _useState5 = React.useState(null),
1057
+ isUpgradeModalOpen = _useState4[0],
1058
+ setIsUpgradeModalOpen = _useState4[1];
1059
+ var _useState5 = React.useState(false),
1048
1060
  _useState6 = _slicedToArray(_useState5, 2),
1049
- changesCount = _useState6[0],
1050
- setChangesCount = _useState6[1];
1061
+ isBackdropVisible = _useState6[0],
1062
+ setIsBackdropVisible = _useState6[1];
1063
+ var _useState7 = React.useState(null),
1064
+ _useState8 = _slicedToArray(_useState7, 2),
1065
+ changesCount = _useState8[0],
1066
+ setChangesCount = _useState8[1];
1051
1067
  var _KeyboardShortcuts$us = KeyboardShortcuts.usePaneState(),
1052
1068
  _KeyboardShortcuts$us2 = _slicedToArray(_KeyboardShortcuts$us, 2),
1053
1069
  setIsOpen = _KeyboardShortcuts$us2[1];
@@ -1130,6 +1146,7 @@ var ProfileButton = function ProfileButton(_ref) {
1130
1146
  children: /*#__PURE__*/jsxRuntime.jsx(ProfileMenu, {
1131
1147
  customContent: customContent,
1132
1148
  defaultLinks: defaultLinks,
1149
+ enableSubscriptionUpgradeRequest: enableSubscriptionUpgradeRequest,
1133
1150
  isConsumer: isConsumer,
1134
1151
  isOrganizationSwitcherEnabled: isOrganizationSwitcherEnabled,
1135
1152
  isThemeSwitcherEnabled: isThemeSwitcherEnabled,
@@ -1137,6 +1154,9 @@ var ProfileButton = function ProfileButton(_ref) {
1137
1154
  showProductSwitcher: showProductSwitcher,
1138
1155
  topLinks: topLinks,
1139
1156
  bottomLinks: newBottomLinks,
1157
+ openUpgradeModal: function openUpgradeModal() {
1158
+ return setIsUpgradeModalOpen(true);
1159
+ },
1140
1160
  toggleModal: setIsModalOpen
1141
1161
  })
1142
1162
  }), neetoCist.isPresent(changesCount) && /*#__PURE__*/jsxRuntime.jsx("span", {
@@ -1148,6 +1168,11 @@ var ProfileButton = function ProfileButton(_ref) {
1148
1168
  onClose: function onClose() {
1149
1169
  return setIsModalOpen(false);
1150
1170
  }
1171
+ }), enableSubscriptionUpgradeRequest && /*#__PURE__*/jsxRuntime.jsx(SubscriptionUpgradeRequestModal, {
1172
+ isOpen: isUpgradeModalOpen,
1173
+ onClose: function onClose() {
1174
+ return setIsUpgradeModalOpen(false);
1175
+ }
1151
1176
  })]
1152
1177
  });
1153
1178
  };
@@ -1155,7 +1180,7 @@ var ProfileButton = function ProfileButton(_ref) {
1155
1180
  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)}@media (prefers-reduced-motion:reduce){.neeto-molecules-profile-popup__top-section{transition:none}}.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)}@media (prefers-reduced-motion:reduce){.tippy-box[data-theme~=neeto-molecules-floating-action-outer-dropdown-wrapper]{transition:none}}.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)}@media (prefers-reduced-motion:reduce){.tippy-box[data-theme~=neeto-molecules-floating-action-outer-dropdown-wrapper] .neeto-ui-dropdown__popup{transition:none}}.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)}@media (prefers-reduced-motion:reduce){.tippy-box[data-theme~=neeto-molecules-floating-action-outer-dropdown-wrapper] .neeto-ui-dropdown__popup .neeto-ui-dropdown__popup-divider{transition:none}}.neeto-molecules-subscription-plan-badge{border-radius:9999px;display:inline-block;font-size:.625rem;font-weight:600;line-height:1.1;padding:.25rem .625rem}.neeto-molecules-subscription-plan-badge--pro{background-color:#ffe44a;color:#000}.neeto-molecules-subscription-plan-badge--free{background-color:rgb(var(--neeto-ui-primary-500));color:rgb(var(--neeto-ui-white))}.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}@media (prefers-reduced-motion:reduce){.neeto-molecules-theme-switcher__option{transition:none}}.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}";
1156
1181
  injectCss.n(css,{});
1157
1182
 
1158
- var _excluded = ["profileInfoOverrides", "topLinks", "bottomLinks", "showProductSwitcher", "isThemeSwitcherEnabled", "isOrganizationSwitcherEnabled", "customContent", "profilePopoverProps", "isConsumer"];
1183
+ var _excluded = ["profileInfoOverrides", "topLinks", "bottomLinks", "showProductSwitcher", "isThemeSwitcherEnabled", "isOrganizationSwitcherEnabled", "customContent", "profilePopoverProps", "isConsumer", "enableSubscriptionUpgradeRequest"];
1159
1184
  function ownKeys(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; }
1160
1185
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1161
1186
  var FloatingActionMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
@@ -1177,6 +1202,8 @@ var FloatingActionMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
1177
1202
  profilePopoverProps = _ref$profilePopoverPr === void 0 ? {} : _ref$profilePopoverPr,
1178
1203
  _ref$isConsumer = _ref.isConsumer,
1179
1204
  isConsumer = _ref$isConsumer === void 0 ? false : _ref$isConsumer,
1205
+ _ref$enableSubscripti = _ref.enableSubscriptionUpgradeRequest,
1206
+ enableSubscriptionUpgradeRequest = _ref$enableSubscripti === void 0 ? true : _ref$enableSubscripti,
1180
1207
  otherProps = _objectWithoutProperties(_ref, _excluded);
1181
1208
  React.useEffect(function () {
1182
1209
  isThemeSwitcherEnabled && setAppTheme();
@@ -1190,6 +1217,7 @@ var FloatingActionMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
1190
1217
  children: /*#__PURE__*/jsxRuntime.jsx(ProfileButton, _defineProperty({
1191
1218
  bottomLinks: bottomLinks,
1192
1219
  customContent: customContent,
1220
+ enableSubscriptionUpgradeRequest: enableSubscriptionUpgradeRequest,
1193
1221
  isConsumer: isConsumer,
1194
1222
  isOrganizationSwitcherEnabled: isOrganizationSwitcherEnabled,
1195
1223
  isThemeSwitcherEnabled: isThemeSwitcherEnabled,