@bigbinary/neeto-molecules 1.13.8 → 1.13.9

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.
@@ -12,32 +12,22 @@ var ramda = require('ramda');
12
12
  var reactI18next = require('react-i18next');
13
13
  var reactRouterDom = require('react-router-dom');
14
14
  var useFetchNeetoApps = require('@bigbinary/neeto-commons-frontend/react-utils/useFetchNeetoApps');
15
- var neetoIcons = require('@bigbinary/neeto-icons');
16
- var sidebar = require('./sidebar-906ff9d3.js');
17
- var injectCss = require('./inject-css-80a5faa3.js');
15
+ var ProductTypefaceLogos = require('@bigbinary/neeto-icons/typeface-logos');
18
16
  var _extends = require('./extends-1b35a664.js');
19
- var AppIcons = require('@bigbinary/neeto-icons/app-icons');
20
- var i18next = require('i18next');
21
- var axios = require('@bigbinary/neeto-commons-frontend/utils/axios');
22
- var general = require('@bigbinary/neeto-commons-frontend/utils/general');
23
- var toConsumableArray = require('./toConsumableArray-9abb3858.js');
24
17
  var defineProperty = require('./defineProperty-886ed289.js');
25
18
  var objectWithoutProperties = require('./objectWithoutProperties-2fed2d7d.js');
26
- var KeyboardShortcuts = require('./KeyboardShortcuts.js');
27
- var ProductTypefaceLogos = require('@bigbinary/neeto-icons/typeface-logos');
19
+ var neetoIcons = require('@bigbinary/neeto-icons');
20
+ var sidebar = require('./sidebar-c0a787d8.js');
21
+ require('@bigbinary/neeto-commons-frontend/utils/general');
28
22
  require('@bigbinary/neeto-commons-frontend/constants');
29
23
  require('@bigbinary/neeto-commons-frontend/react-utils/useRegisterNavigationCheckpoint');
30
24
  require('@bigbinary/neeto-filters-frontend');
31
25
  require('react-router-dom/cjs/react-router-dom.min');
32
26
  require('./MoreDropdown.js');
33
27
  require('@bigbinary/neetoui/formik');
28
+ require('i18next');
34
29
  require('yup');
35
- require('@bigbinary/neeto-commons-frontend/react-utils/withImmutableActions');
36
- require('zustand');
37
- require('zustand/shallow');
38
- require('@bigbinary/neetoui/managers');
39
- require('@bigbinary/neeto-hotkeys');
40
- require('platform');
30
+ require('./inject-css-80a5faa3.js');
41
31
 
42
32
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
43
33
 
@@ -63,7 +53,6 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
63
53
  var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
64
54
  var useLocalStorage__default = /*#__PURE__*/_interopDefaultLegacy(useLocalStorage);
65
55
  var useFetchNeetoApps__default = /*#__PURE__*/_interopDefaultLegacy(useFetchNeetoApps);
66
- var AppIcons__namespace = /*#__PURE__*/_interopNamespace(AppIcons);
67
56
  var ProductTypefaceLogos__namespace = /*#__PURE__*/_interopNamespace(ProductTypefaceLogos);
68
57
 
69
58
  var Chevron = function Chevron(_ref) {
@@ -79,440 +68,6 @@ var Chevron = function Chevron(_ref) {
79
68
  }));
80
69
  };
81
70
 
82
- var css = ".neeto-molecules-app-switcher__wrapper{align-items:flex-start;background-color:rgb(var(--neeto-ui-white));display:flex;flex-direction:column;justify-content:flex-start;max-width:100%;overflow-y:auto;padding:40px;position:relative;transition:all .3s;width:100%}@media only screen and (max-width:992px){.neeto-molecules-app-switcher__wrapper{padding:32px}}@media screen and (max-width:768px){.neeto-molecules-app-switcher__wrapper{padding:0}}.neeto-molecules-app-switcher__grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(288px,1fr))}@media only screen and (max-width:992px){.neeto-molecules-app-switcher__grid{grid-template-columns:repeat(auto-fill,minmax(248px,1fr))}}@media only screen and (max-width:640px){.neeto-molecules-app-switcher__grid{grid-template-columns:repeat(auto-fill,minmax(100%,1fr))}}.neeto-molecules-app-switcher__header{align-items:center;display:flex;gap:32px;justify-content:space-between;margin-bottom:32px;position:relative;width:100%}@media only screen and (max-width:768px){.neeto-molecules-app-switcher__header{align-items:flex-start;flex-direction:column-reverse;gap:24px}}@media only screen and (max-width:640px){.neeto-molecules-app-switcher__header h1{font-size:24px}}.neeto-molecules-app-switcher__close-btn{position:absolute;right:12px;top:12px}.neeto-molecules-app-switcher__search-wrapper{flex-grow:1}@media only screen and (min-width:992px){.neeto-molecules-app-switcher__search-wrapper{flex-grow:0;width:296px}}.neeto-molecules-app-switcher__body{display:flex;flex-direction:column;font-size:var(--neeto-ui-text-sm);gap:12px;margin-bottom:24px;width:100%}.neeto-molecules-app-switcher-link{align-items:center;background-color:rgb(var(--neeto-ui-gray-100));border-color:rgb(var(--neeto-ui-gray-100));border-radius:var(--neeto-ui-rounded-lg);border-style:solid;border-width:2px;cursor:pointer;display:flex;gap:12px;max-width:100%;padding:12px 16px;text-decoration:none;transition:background-color .3s ease-in-out;width:100%}.neeto-molecules-app-switcher-link:focus,.neeto-molecules-app-switcher-link:focus-visible{outline:none}.neeto-molecules-app-switcher-link:focus-visible{background-color:rgb(var(--neeto-ui-gray-200))}.neeto-molecules-app-switcher-link:not(.neeto-molecules-app-switcher-link--active):hover{background-color:rgb(var(--neeto-ui-gray-200))}.neeto-molecules-app-switcher-link--active{background:rgb(var(--neeto-ui-primary-100));border-color:rgb(var(--neeto-ui-primary-600))}.neeto-molecules-app-switcher-link__icon-holder{align-items:center;border-radius:var(--neeto-ui-rounded-lg);display:flex;flex-shrink:0;height:42px;justify-content:center;width:42px}.neeto-molecules-app-switcher-link__content{flex-grow:1}.neeto-molecules-app-switcher-link__content span{display:block}";
83
- injectCss.n(css,{});
84
-
85
- var AppLink = function AppLink(_ref) {
86
- var name = _ref.name,
87
- description = _ref.description,
88
- url = _ref.url;
89
- var appName = "Neeto".concat(name.charAt(0)).concat(name.slice(1).toLowerCase());
90
- var AppIcon = AppIcons__namespace[appName];
91
- return /*#__PURE__*/React__default["default"].createElement("a", {
92
- "data-cy": "".concat(name, "-app-link"),
93
- "data-test-id": "neetoapp-link-".concat(name),
94
- href: url,
95
- rel: "noreferrer",
96
- target: "_blank",
97
- className: classnames__default["default"]("neeto-molecules-app-switcher-link", {
98
- "neeto-molecules-app-switcher-link--active": neetoCist.capitalize(globalProps.appName) === appName
99
- })
100
- }, /*#__PURE__*/React__default["default"].createElement("div", {
101
- className: classnames__default["default"]("neeto-molecules-app-switcher-link__icon-holder", {
102
- "neeto-ui-bg-primary-500": !AppIcon
103
- })
104
- }, AppIcon ? /*#__PURE__*/React__default["default"].createElement(AppIcon, {
105
- size: 42
106
- }) : /*#__PURE__*/React__default["default"].createElement(neetoIcons.NeetoIcon, {
107
- color: "white",
108
- size: 42
109
- })), /*#__PURE__*/React__default["default"].createElement("div", {
110
- className: "neeto-molecules-app-switcher-link__content"
111
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
112
- component: "span",
113
- lineHeight: "relaxed",
114
- style: "h4",
115
- weight: "medium"
116
- }, name), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
117
- component: "span",
118
- style: "body3",
119
- weight: "normal"
120
- }, description)));
121
- };
122
- var AppLink$1 = /*#__PURE__*/React__default["default"].memo(AppLink);
123
-
124
- var Body = function Body() {
125
- var _useTranslation = reactI18next.useTranslation(),
126
- t = _useTranslation.t;
127
- var _useState = React.useState(""),
128
- _useState2 = slicedToArray._slicedToArray(_useState, 2),
129
- searchTerm = _useState2[0],
130
- setSearchTerm = _useState2[1];
131
- var _useFetchNeetoApps = useFetchNeetoApps__default["default"](),
132
- data = _useFetchNeetoApps.data;
133
- var substring = searchTerm.replace(/ /g, "").toLowerCase();
134
- var filteredApps = data === null || data === void 0 ? void 0 : data.neetoApps.filter(function (_ref) {
135
- var name = _ref.name;
136
- return name.toLowerCase().includes(substring);
137
- });
138
- var handleSearch = function handleSearch(e) {
139
- return setSearchTerm(e.target.value);
140
- };
141
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
142
- className: "neeto-molecules-app-switcher__header",
143
- "data-cy": "app-switcher-body-wrapper"
144
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
145
- style: "h1"
146
- }, t("neetoMolecules.appSwitcher.chooseNeetoProduct")), /*#__PURE__*/React__default["default"].createElement("div", {
147
- className: "neeto-molecules-app-switcher__search-wrapper"
148
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Input, {
149
- autoFocus: true,
150
- "data-cy": "app-switcher-search-input",
151
- placeholder: t("neetoMolecules.appSwitcher.searchProducts"),
152
- prefix: /*#__PURE__*/React__default["default"].createElement(neetoIcons.Search, null),
153
- type: "search",
154
- value: searchTerm,
155
- onChange: handleSearch
156
- }))), /*#__PURE__*/React__default["default"].createElement("div", {
157
- className: "neeto-molecules-app-switcher__body"
158
- }, (filteredApps === null || filteredApps === void 0 ? void 0 : filteredApps.length) > 0 ? /*#__PURE__*/React__default["default"].createElement("div", {
159
- className: "neeto-molecules-app-switcher__grid"
160
- }, filteredApps.map(function (app) {
161
- return /*#__PURE__*/React__default["default"].createElement(AppLink$1, _extends._extends({
162
- key: app.name
163
- }, app));
164
- })) : /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
165
- className: "neeto-ui-text-center",
166
- style: "body1"
167
- }, t("neetoMolecules.appSwitcher.noApps"))));
168
- };
169
-
170
- var AppSwitcher = function AppSwitcher() {
171
- return /*#__PURE__*/React__default["default"].createElement("div", {
172
- className: "neeto-molecules-app-switcher__wrapper",
173
- "data-cy": "switcher-wrapper",
174
- "data-testid": "switcher-wrapper",
175
- key: "switcher-wrapper"
176
- }, /*#__PURE__*/React__default["default"].createElement(Body, null));
177
- };
178
-
179
- var AppSwitcherButton = function AppSwitcherButton() {
180
- var _useTranslation = reactI18next.useTranslation(),
181
- t = _useTranslation.t;
182
- var _useState = React.useState(false),
183
- _useState2 = slicedToArray._slicedToArray(_useState, 2),
184
- hasHovered = _useState2[0],
185
- setHasHovered = _useState2[1];
186
- var _useFetchNeetoApps = useFetchNeetoApps__default["default"](),
187
- data = _useFetchNeetoApps.data,
188
- refetchNeetoApps = _useFetchNeetoApps.refetch,
189
- isStale = _useFetchNeetoApps.isStale;
190
- return /*#__PURE__*/React__default["default"].createElement(neetoui.Tooltip, {
191
- interactive: true,
192
- appendTo: function appendTo() {
193
- return document.body;
194
- },
195
- className: "neeto-molecules-app-switcher-popup-wrapper",
196
- content: /*#__PURE__*/React__default["default"].createElement(AppSwitcher, null),
197
- delay: [300, null],
198
- disabled: !data,
199
- hideOnClick: false,
200
- offset: [0, -70],
201
- position: "right",
202
- strategy: "fixed",
203
- theme: "light"
204
- }, /*#__PURE__*/React__default["default"].createElement("button", {
205
- className: "neeto-molecules-sidebar__link neeto-molecules-sidebar__link--app-switcher neeto-molecules-sidebar__link--button neeto-ui-flex neeto-ui-w-full neeto-ui-select-none neeto-ui-items-center neeto-ui-justify-start neeto-ui-shadow-none",
206
- "data-cy": "app-switcher-button",
207
- "data-testid": "app-switcher-button",
208
- onMouseEnter: function onMouseEnter() {
209
- if (hasHovered || !isStale) return;
210
- refetchNeetoApps();
211
- setHasHovered(true);
212
- }
213
- }, /*#__PURE__*/React__default["default"].createElement("span", {
214
- className: "neeto-molecules-sidebar__link-icon neeto-ui-flex neeto-ui-items-center neeto-ui-justify-center h-6 w-6"
215
- }, !data && hasHovered ? /*#__PURE__*/React__default["default"].createElement("span", {
216
- "data-testid": "app-switcher-button-loader"
217
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Spinner, null)) : /*#__PURE__*/React__default["default"].createElement(neetoIcons.AppSwitcher, {
218
- size: 24
219
- })), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
220
- className: "neeto-molecules-sidebar__link-label",
221
- component: "span",
222
- style: "body2",
223
- weight: "normal"
224
- }, t("neetoMolecules.sidebar.productSwitcher"))));
225
- };
226
-
227
- var getProfileInfo = function getProfileInfo(isOwner, profileInfoOverrides) {
228
- var _globalProps$user, _globalProps$user2, _globalProps$user3, _globalProps$user4, _globalProps$user5;
229
- return ramda.mergeDeepLeft(profileInfoOverrides, {
230
- name: "".concat((_globalProps$user = globalProps.user) === null || _globalProps$user === void 0 ? void 0 : _globalProps$user.firstName, " ").concat((_globalProps$user2 = globalProps.user) === null || _globalProps$user2 === void 0 ? void 0 : _globalProps$user2.lastName),
231
- imageUrl: (_globalProps$user3 = globalProps.user) === null || _globalProps$user3 === void 0 ? void 0 : _globalProps$user3.profileImageUrl,
232
- email: ((_globalProps$user4 = globalProps.user) === null || _globalProps$user4 === void 0 ? void 0 : _globalProps$user4.email) || ((_globalProps$user5 = globalProps.user) === null || _globalProps$user5 === void 0 ? void 0 : _globalProps$user5.phoneNumber),
233
- topLinks: [{
234
- label: i18next.t("neetoMolecules.sidebar.myProfile"),
235
- icon: neetoIcons.User,
236
- onClick: function onClick() {
237
- return window.open(sidebar.MY_PROFILE_URL, "_blank");
238
- },
239
- "data-cy": "my-profile-button"
240
- }, isOwner && {
241
- label: i18next.t("neetoMolecules.sidebar.myOrganization"),
242
- icon: neetoIcons.Settings,
243
- onClick: function onClick() {
244
- return window.open(sidebar.MY_ORGANIZATION_URL, "_blank");
245
- },
246
- "data-cy": "profile-organization-settings-button"
247
- }].filter(Boolean),
248
- bottomLinks: [{
249
- icon: neetoIcons.LeftArrow,
250
- label: i18next.t("neetoMolecules.sidebar.logout"),
251
- onClick: function onClick() {
252
- axios.resetAuthTokens();
253
- general.removeFromLocalStorage(sidebar.getSidebarStateLocalStorageKey());
254
- // Directly attaching static "/logout" string should be safe as there are no dynamic values involved.
255
- // eslint-disable-next-line xss/no-location-href-assign
256
- window.location.href = "/logout";
257
- },
258
- "data-cy": "profile-logout-button"
259
- }]
260
- });
261
- };
262
-
263
- var ProfileSection = function ProfileSection(_ref, ref) {
264
- var profileInfo = _ref.profileInfo;
265
- var _useState = React.useState(false),
266
- _useState2 = slicedToArray._slicedToArray(_useState, 2),
267
- hasHovered = _useState2[0],
268
- setHasHovered = _useState2[1];
269
- var _useFetchNeetoApps = useFetchNeetoApps__default["default"](),
270
- data = _useFetchNeetoApps.data,
271
- refetchNeetoApps = _useFetchNeetoApps.refetch,
272
- isStale = _useFetchNeetoApps.isStale;
273
- return /*#__PURE__*/React__default["default"].createElement("button", {
274
- ref: ref,
275
- className: "neeto-molecules-sidebar__link neeto-molecules-sidebar__link--button neeto-ui-shadow-none neeto-ui-flex neeto-ui-items-center neeto-ui-no-underline neeto-ui-select-none",
276
- "data-cy": "profile-section",
277
- "data-testid": "profile-section",
278
- onMouseEnter: function onMouseEnter() {
279
- if (!(!hasHovered && isStale)) return;
280
- refetchNeetoApps();
281
- setHasHovered(true);
282
- }
283
- }, !data && hasHovered ? /*#__PURE__*/React__default["default"].createElement("span", {
284
- "data-testid": "profile-avatar-loader"
285
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Spinner, null)) : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Avatar, {
286
- className: "neeto-ui-flex-shrink-0 neeto-molecules-sidebar__profile-avatar",
287
- "data-testid": "profile-avatar",
288
- size: "small",
289
- user: profileInfo
290
- }), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
291
- className: "neeto-molecules-sidebar__link-label",
292
- component: "span",
293
- style: "body2",
294
- weight: "normal"
295
- }, neetoCist.truncate(profileInfo.name, 18))));
296
- };
297
- var ProfileSection$1 = /*#__PURE__*/React.forwardRef(ProfileSection);
298
-
299
- var _excluded$2 = ["onClick", "label", "icon"];
300
- 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; }
301
- 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), !0).forEach(function (r) { defineProperty._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; }
302
- var LinkSection = function LinkSection(_ref) {
303
- var links = _ref.links;
304
- return /*#__PURE__*/React__default["default"].createElement("ul", {
305
- className: "neeto-molecules-profile-sublist"
306
- }, links.map(function (_ref2, idx) {
307
- var onClick = _ref2.onClick,
308
- label = _ref2.label,
309
- _ref2$icon = _ref2.icon,
310
- icon = _ref2$icon === void 0 ? null : _ref2$icon,
311
- otherProps = objectWithoutProperties._objectWithoutProperties(_ref2, _excluded$2);
312
- return /*#__PURE__*/React__default["default"].createElement("li", {
313
- className: "neeto-molecules-profile-sublist__item",
314
- key: idx
315
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, _extends._extends({
316
- fullWidth: true,
317
- className: "neeto-molecules-profile-sublist__item-btn",
318
- iconPosition: "left",
319
- iconSize: 18,
320
- style: "text"
321
- }, _objectSpread$2({
322
- icon: icon,
323
- label: label,
324
- onClick: onClick
325
- }, otherProps))));
326
- }));
327
- };
328
-
329
- var ProfileMenu = function ProfileMenu(_ref) {
330
- var profileInfo = _ref.profileInfo,
331
- extraTopLinks = _ref.extraTopLinks;
332
- var name = profileInfo.name,
333
- email = profileInfo.email,
334
- topLinks = profileInfo.topLinks,
335
- bottomLinks = profileInfo.bottomLinks,
336
- customContent = profileInfo.customContent;
337
- return /*#__PURE__*/React__default["default"].createElement("div", {
338
- className: "neeto-ui-flex neeto-ui-flex-col neeto-molecules-profile-popup",
339
- "data-cy": "profile-popup",
340
- "data-testid": "profile-popup"
341
- }, /*#__PURE__*/React__default["default"].createElement("div", {
342
- className: classnames__default["default"]("neeto-ui-relative neeto-ui-flex neeto-ui-items-center neeto-ui-p-3 neeto-ui-bg-primary-100 neeto-molecules-profile-popup__top-section")
343
- }, /*#__PURE__*/React__default["default"].createElement("div", {
344
- className: "left-0 top-0"
345
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Avatar, {
346
- size: "large",
347
- user: profileInfo
348
- })), /*#__PURE__*/React__default["default"].createElement("div", {
349
- className: "neeto-ui-flex neeto-ui-flex-col neeto-ui-flex-grow neeto-ui-min-w-0 neeto-ui-pl-3"
350
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
351
- className: "neeto-ui-m-0",
352
- component: "h2",
353
- lineHeight: "tight",
354
- style: "h5",
355
- title: name,
356
- weight: "semibold"
357
- }, neetoCist.truncate(name, 18)), email && /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
358
- className: "neeto-ui-w-full neeto-ui-truncate neeto-ui-text-gray-700",
359
- lineHeight: "tight",
360
- style: "body3"
361
- }, email))), /*#__PURE__*/React__default["default"].createElement("div", {
362
- className: "neeto-molecules-sidebar__profile-wrapper-custom-content"
363
- }, customContent), topLinks && /*#__PURE__*/React__default["default"].createElement(LinkSection, {
364
- links: [].concat(toConsumableArray._toConsumableArray(extraTopLinks), toConsumableArray._toConsumableArray(topLinks))
365
- }), bottomLinks && /*#__PURE__*/React__default["default"].createElement(LinkSection, {
366
- links: bottomLinks
367
- }));
368
- };
369
-
370
- var ProfileButton = function ProfileButton(_ref) {
371
- var extraTopLinks = _ref.extraTopLinks,
372
- profileInfoOverrides = _ref.profileInfoOverrides;
373
- var _useFetchNeetoApps = useFetchNeetoApps__default["default"](),
374
- data = _useFetchNeetoApps.data;
375
- var profileInfo = getProfileInfo(data === null || data === void 0 ? void 0 : data.isOwner, profileInfoOverrides);
376
- return /*#__PURE__*/React__default["default"].createElement(neetoui.Tooltip, {
377
- interactive: true,
378
- appendTo: function appendTo() {
379
- return document.body;
380
- },
381
- className: "neeto-molecules-profile-popup-wrapper",
382
- content: /*#__PURE__*/React__default["default"].createElement(ProfileMenu, {
383
- extraTopLinks: extraTopLinks,
384
- profileInfo: profileInfo
385
- }),
386
- disabled: !data,
387
- hideOnClick: false,
388
- interactiveDebounce: 20,
389
- offset: [0, -70],
390
- position: "right",
391
- strategy: "fixed",
392
- theme: "light"
393
- }, /*#__PURE__*/React__default["default"].createElement(ProfileSection$1, {
394
- profileInfo: profileInfo
395
- }));
396
- };
397
-
398
- // Rule can be enabled once the ticket - https://github.com/bigbinary/neeto-commons-frontend/issues/905 is closed.
399
- // eslint-disable-next-line @bigbinary/neeto/no-dumb-components-with-use-translation
400
- var HelpSection = function HelpSection(_ref, ref) {
401
- var changesCount = _ref.changesCount;
402
- var _useTranslation = reactI18next.useTranslation(),
403
- t = _useTranslation.t;
404
- return /*#__PURE__*/React__default["default"].createElement("button", {
405
- ref: ref,
406
- className: "neeto-molecules-sidebar__link neeto-molecules-sidebar__link--button neeto-ui-shadow-none neeto-ui-flex neeto-ui-items-center neeto-ui-no-underline neeto-ui-select-none",
407
- "data-cy": "help-button"
408
- }, /*#__PURE__*/React__default["default"].createElement("span", {
409
- className: "neeto-molecules-sidebar__link-icon neeto-ui-flex neeto-ui-items-center neeto-ui-justify-center"
410
- }, /*#__PURE__*/React__default["default"].createElement(neetoIcons.Help, {
411
- size: 24
412
- }), neetoCist.isPresent(changesCount) && /*#__PURE__*/React__default["default"].createElement("span", {
413
- className: "neeto-molecules-sidebar__notif-count",
414
- "data-testid": "help-icon-changes-count"
415
- }, changesCount)), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
416
- className: "neeto-molecules-sidebar__link-label",
417
- component: "span",
418
- style: "body2",
419
- weight: "normal"
420
- }, t("neetoMolecules.sidebar.helpLinks.helpCenter")));
421
- };
422
- var HelpSection$1 = /*#__PURE__*/React.forwardRef(HelpSection);
423
-
424
- var _excluded$1 = ["label"];
425
- 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; }
426
- 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), !0).forEach(function (r) { defineProperty._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; }
427
- var HelpSectionMenu = function HelpSectionMenu(_ref) {
428
- var helpLinkOverrides = _ref.helpLinkOverrides,
429
- changesCount = _ref.changesCount;
430
- var _KeyboardShortcuts$us = KeyboardShortcuts.usePaneState(),
431
- _KeyboardShortcuts$us2 = slicedToArray._slicedToArray(_KeyboardShortcuts$us, 2),
432
- setIsOpen = _KeyboardShortcuts$us2[1];
433
- var helpLinks = Object.keys(sidebar.DEFAULT_HELP_LINK_PROPS).filter(function (key) {
434
- var _DEFAULT_HELP_LINK_PR, _DEFAULT_HELP_LINK_PR2, _DEFAULT_HELP_LINK_PR3;
435
- return (_DEFAULT_HELP_LINK_PR = (_DEFAULT_HELP_LINK_PR2 = (_DEFAULT_HELP_LINK_PR3 = sidebar.DEFAULT_HELP_LINK_PROPS[key]).isVisible) === null || _DEFAULT_HELP_LINK_PR2 === void 0 ? void 0 : _DEFAULT_HELP_LINK_PR2.call(_DEFAULT_HELP_LINK_PR3)) !== null && _DEFAULT_HELP_LINK_PR !== void 0 ? _DEFAULT_HELP_LINK_PR : true;
436
- }).map(function (key) {
437
- return _objectSpread$1(_objectSpread$1(_objectSpread$1(_objectSpread$1({}, sidebar.DEFAULT_HELP_LINK_PROPS[key]), helpLinkOverrides[key]), key === "keyboardShortcutProps" && {
438
- onClick: function onClick() {
439
- return setIsOpen(true);
440
- }
441
- }), key === "changelogProps" && changesCount && {
442
- changesCount: changesCount
443
- });
444
- }).filter(function (_ref2) {
445
- var hide = _ref2.hide;
446
- return !hide;
447
- });
448
- return /*#__PURE__*/React__default["default"].createElement("ul", {
449
- className: "neeto-molecules-help-sublist"
450
- }, helpLinks.map(function (_ref3, idx) {
451
- var label = _ref3.label,
452
- buttonProps = objectWithoutProperties._objectWithoutProperties(_ref3, _excluded$1);
453
- return /*#__PURE__*/React__default["default"].createElement("li", {
454
- className: "neeto-molecules-help-sublist__item",
455
- key: idx
456
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, _extends._extends({
457
- fullWidth: true,
458
- className: "neeto-molecules-help-sublist__item-btn",
459
- iconPosition: "left",
460
- iconSize: 18,
461
- style: "text"
462
- }, buttonProps), label, neetoCist.isPresent(buttonProps.changesCount) && /*#__PURE__*/React__default["default"].createElement("span", {
463
- className: "neeto-molecules-help-sublist__item-btn-count",
464
- "data-testid": "help-section-menu-changes-count"
465
- }, buttonProps.changesCount)));
466
- }));
467
- };
468
-
469
- var Footer = function Footer(_ref) {
470
- var extraTopLinks = _ref.extraTopLinks,
471
- helpLinkOverrides = _ref.helpLinkOverrides,
472
- profileInfoOverrides = _ref.profileInfoOverrides,
473
- _ref$showAppSwitcher = _ref.showAppSwitcher,
474
- showAppSwitcher = _ref$showAppSwitcher === void 0 ? false : _ref$showAppSwitcher;
475
- var _useState = React.useState(null),
476
- _useState2 = slicedToArray._slicedToArray(_useState, 2),
477
- changesCount = _useState2[0],
478
- setChangesCount = _useState2[1];
479
- React.useEffect(function () {
480
- var Nv = {
481
- onReceiveData: function onReceiveData(data) {
482
- if (!data.unreadCount) return;
483
- setChangesCount(data.unreadCount);
484
- },
485
- onShow: function onShow() {
486
- setChangesCount(null);
487
- }
488
- };
489
- window.Nv = window.Nv ? Object.assign(window.Nv, Nv) : Nv;
490
- }, []);
491
- return /*#__PURE__*/React__default["default"].createElement("div", {
492
- className: "neeto-molecules-sidebar__footer neeto-molecules-sidebar__no-shrinkable"
493
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Tooltip, {
494
- interactive: true,
495
- appendTo: function appendTo() {
496
- return document.body;
497
- },
498
- className: "neeto-molecules-help-popup-wrapper",
499
- content: /*#__PURE__*/React__default["default"].createElement(HelpSectionMenu, {
500
- changesCount: changesCount,
501
- helpLinkOverrides: helpLinkOverrides
502
- }),
503
- hideOnClick: false,
504
- interactiveDebounce: 20,
505
- offset: [0, -70],
506
- position: "right",
507
- theme: "light"
508
- }, /*#__PURE__*/React__default["default"].createElement(HelpSection$1, {
509
- changesCount: changesCount
510
- })), showAppSwitcher && /*#__PURE__*/React__default["default"].createElement(AppSwitcherButton, null), /*#__PURE__*/React__default["default"].createElement(ProfileButton, {
511
- extraTopLinks: extraTopLinks,
512
- profileInfoOverrides: profileInfoOverrides
513
- }));
514
- };
515
-
516
71
  var Header = function Header(_ref) {
517
72
  var _ProductTypefaceLogos;
518
73
  var customLogo = _ref.customLogo,
@@ -630,17 +185,7 @@ var Sidebar = function Sidebar(_ref) {
630
185
  var navLinks = _ref.navLinks,
631
186
  customLogo = _ref.customLogo,
632
187
  _ref$isCountsLoading = _ref.isCountsLoading,
633
- isCountsLoading = _ref$isCountsLoading === void 0 ? false : _ref$isCountsLoading,
634
- _ref$profileInfoOverr = _ref.profileInfoOverrides,
635
- profileInfoOverrides = _ref$profileInfoOverr === void 0 ? {} : _ref$profileInfoOverr,
636
- _ref$helpLinkOverride = _ref.helpLinkOverrides,
637
- helpLinkOverrides = _ref$helpLinkOverride === void 0 ? {} : _ref$helpLinkOverride,
638
- _ref$extraTopLinks = _ref.extraTopLinks,
639
- extraTopLinks = _ref$extraTopLinks === void 0 ? [] : _ref$extraTopLinks,
640
- _ref$showAppSwitcher = _ref.showAppSwitcher,
641
- showAppSwitcher = _ref$showAppSwitcher === void 0 ? true : _ref$showAppSwitcher,
642
- _ref$showFooter = _ref.showFooter,
643
- showFooter = _ref$showFooter === void 0 ? true : _ref$showFooter;
188
+ isCountsLoading = _ref$isCountsLoading === void 0 ? false : _ref$isCountsLoading;
644
189
  var productName = initializers.globalProps.appName.substr(5).toLowerCase();
645
190
  var _useState = React.useState(false),
646
191
  _useState2 = slicedToArray._slicedToArray(_useState, 2),
@@ -732,11 +277,6 @@ var Sidebar = function Sidebar(_ref) {
732
277
  isCountsLoading: isCountsLoading,
733
278
  navLinks: navLinks,
734
279
  setSelectedNavLink: setSelectedNavLink
735
- }), showFooter && /*#__PURE__*/React__default["default"].createElement(Footer, {
736
- extraTopLinks: extraTopLinks,
737
- helpLinkOverrides: helpLinkOverrides,
738
- profileInfoOverrides: profileInfoOverrides,
739
- showAppSwitcher: showAppSwitcher
740
280
  })), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
741
281
  className: "neeto-molecules-sidebar__toggler",
742
282
  "data-cy": "neeto-molecules-sidebar-toggler",