@bigbinary/neeto-molecules 1.15.36 → 1.15.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Chevron-37c7ce08.js +187 -0
- package/dist/Chevron-37c7ce08.js.map +1 -0
- package/dist/ConfigurePageSidebar.js +71 -10
- package/dist/ConfigurePageSidebar.js.map +1 -1
- package/dist/ShareRecording.js +70 -52
- package/dist/ShareRecording.js.map +1 -1
- package/dist/Sidebar.js +1 -14
- package/dist/Sidebar.js.map +1 -1
- package/dist/cjs/Chevron-3258aee1.js +199 -0
- package/dist/cjs/Chevron-3258aee1.js.map +1 -0
- package/dist/cjs/ConfigurePageSidebar.js +72 -10
- package/dist/cjs/ConfigurePageSidebar.js.map +1 -1
- package/dist/cjs/ShareRecording.js +70 -52
- package/dist/cjs/ShareRecording.js.map +1 -1
- package/dist/cjs/Sidebar.js +7 -20
- package/dist/cjs/Sidebar.js.map +1 -1
- package/package.json +1 -1
- package/types/ConfigurePageSidebar.d.ts +6 -1
- package/types/ShareRecording.d.ts +2 -2
- package/dist/cjs/sidebar-195d99bd.js +0 -185
- package/dist/cjs/sidebar-195d99bd.js.map +0 -1
- package/dist/sidebar-18c59fcb.js +0 -174
- package/dist/sidebar-18c59fcb.js.map +0 -1
|
@@ -1,41 +1,103 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var slicedToArray = require('./slicedToArray-f320d9e7.js');
|
|
3
4
|
var React = require('react');
|
|
4
|
-
var
|
|
5
|
+
var classnames = require('classnames');
|
|
6
|
+
var neetoui = require('@bigbinary/neetoui');
|
|
7
|
+
var ramda = require('ramda');
|
|
8
|
+
var reactI18next = require('react-i18next');
|
|
9
|
+
var reactRouterDom = require('react-router-dom');
|
|
10
|
+
var Chevron = require('./Chevron-3258aee1.js');
|
|
5
11
|
require('./extends-1b35a664.js');
|
|
6
12
|
require('./defineProperty-886ed289.js');
|
|
7
13
|
require('./objectWithoutProperties-2fed2d7d.js');
|
|
8
|
-
require('classnames');
|
|
9
14
|
require('@bigbinary/neeto-commons-frontend/utils/general');
|
|
10
15
|
require('@bigbinary/neeto-icons');
|
|
11
|
-
require('@bigbinary/neetoui');
|
|
12
|
-
require('ramda');
|
|
13
16
|
require('@bigbinary/neeto-cist');
|
|
14
17
|
require('@bigbinary/neeto-filters-frontend');
|
|
15
18
|
require('@bigbinary/neeto-commons-frontend/react-utils/useRegisterNavigationCheckpoint');
|
|
16
|
-
require('react-router-dom');
|
|
17
19
|
require('./inject-css-80a5faa3.js');
|
|
18
20
|
|
|
19
21
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
20
22
|
|
|
21
23
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
24
|
+
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
22
25
|
|
|
23
26
|
var ConfigurePageSidebar = function ConfigurePageSidebar(_ref) {
|
|
24
27
|
var label = _ref.label,
|
|
25
|
-
items = _ref.navLinks
|
|
28
|
+
items = _ref.navLinks,
|
|
29
|
+
configurePageRoute = _ref.configurePageRoute;
|
|
30
|
+
var history = reactRouterDom.useHistory();
|
|
31
|
+
var productName = globalProps.appName.substr(5).toLowerCase();
|
|
32
|
+
var _useState = React.useState(false),
|
|
33
|
+
_useState2 = slicedToArray._slicedToArray(_useState, 2),
|
|
34
|
+
isSidebarPaneOpen = _useState2[0],
|
|
35
|
+
setIsSidebarPaneOpen = _useState2[1];
|
|
36
|
+
var _useState3 = React.useState(false),
|
|
37
|
+
_useState4 = slicedToArray._slicedToArray(_useState3, 2),
|
|
38
|
+
isSidebarCollapsed = _useState4[0],
|
|
39
|
+
setIsSidebarCollapsed = _useState4[1];
|
|
40
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
41
|
+
t = _useTranslation.t;
|
|
42
|
+
var isLargerScreen = function isLargerScreen() {
|
|
43
|
+
return window.innerWidth > 768;
|
|
44
|
+
};
|
|
45
|
+
var isSidebarClosed = isLargerScreen() ? isSidebarCollapsed : ramda.not(isSidebarPaneOpen);
|
|
46
|
+
React.useEffect(function () {
|
|
47
|
+
var handleResize = function handleResize() {
|
|
48
|
+
if (isLargerScreen()) return;
|
|
49
|
+
setIsSidebarPaneOpen(false);
|
|
50
|
+
setIsSidebarCollapsed(true);
|
|
51
|
+
};
|
|
52
|
+
window.addEventListener("resize", handleResize);
|
|
53
|
+
return function () {
|
|
54
|
+
return window.removeEventListener("resize", handleResize);
|
|
55
|
+
};
|
|
56
|
+
}, []);
|
|
57
|
+
var handleConfigureLinkClick = function handleConfigureLinkClick() {
|
|
58
|
+
history.push(configurePageRoute);
|
|
59
|
+
};
|
|
26
60
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
27
|
-
|
|
28
|
-
|
|
61
|
+
"data-testid": "configure-page-sidebar-container",
|
|
62
|
+
className: classnames__default["default"]("neeto-molecules-sidebar__wrapper neeto-molecules-sidebar__wrapper__configure-page", {
|
|
63
|
+
"neeto-molecules-sidebar__wrapper--collapsed": isLargerScreen() ? isSidebarCollapsed : ramda.not(isSidebarPaneOpen)
|
|
64
|
+
})
|
|
29
65
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
66
|
+
className: "neeto-molecules-sidebar__backdrop",
|
|
67
|
+
onClick: function onClick() {
|
|
68
|
+
setIsSidebarPaneOpen(false);
|
|
69
|
+
}
|
|
70
|
+
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
30
71
|
className: "neeto-molecules-sidebar neeto-molecules-sidebar__configure-page neeto-ui-flex neeto-ui-flex-col neeto-ui-flex-shrink-0 neeto-ui-overflow-y-auto neeto-ui-overflow-x-hidden neeto-molecules-sidebar--focus-mode",
|
|
31
72
|
"data-testid": "configure-page-sidebar"
|
|
32
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
|
73
|
+
}, /*#__PURE__*/React__default["default"].createElement(Chevron.SelectedLink, {
|
|
33
74
|
isConfigureSidebar: true,
|
|
75
|
+
handleGoBack: handleConfigureLinkClick,
|
|
34
76
|
navLink: {
|
|
35
77
|
label: label,
|
|
36
78
|
items: items
|
|
37
79
|
}
|
|
38
|
-
}))
|
|
80
|
+
})), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
81
|
+
className: "neeto-molecules-sidebar__toggler",
|
|
82
|
+
"data-cy": "configure-page-neeto-molecules-sidebar-toggler",
|
|
83
|
+
"data-testid": "configure-page-sidebar-toggleButton",
|
|
84
|
+
style: isLargerScreen() ? "text" : "secondary",
|
|
85
|
+
icon: function icon() {
|
|
86
|
+
return /*#__PURE__*/React__default["default"].createElement(Chevron.Chevron, {
|
|
87
|
+
style: {
|
|
88
|
+
color: "rgb(var(--neeto-".concat(productName, "-primary))")
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
},
|
|
92
|
+
tooltipProps: {
|
|
93
|
+
content: isSidebarClosed ? t("neetoMolecules.sidebar.showMenu") : t("neetoMolecules.sidebar.hideMenu"),
|
|
94
|
+
position: "bottom"
|
|
95
|
+
},
|
|
96
|
+
onClick: function onClick() {
|
|
97
|
+
setIsSidebarCollapsed(!isSidebarCollapsed);
|
|
98
|
+
setIsSidebarPaneOpen(ramda.not);
|
|
99
|
+
}
|
|
100
|
+
}));
|
|
39
101
|
};
|
|
40
102
|
|
|
41
103
|
module.exports = ConfigurePageSidebar;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigurePageSidebar.js","sources":["../../src/components/ConfigurePageSidebar.jsx"],"sourcesContent":["import React from \"react\";\n\nimport PropTypes from \"prop-types\";\n\nimport SelectedLink from \"components/Sidebar/Components/Links/SelectedLink\";\nimport \"components/Sidebar/sidebar.scss\";\n\nconst ConfigurePageSidebar = ({
|
|
1
|
+
{"version":3,"file":"ConfigurePageSidebar.js","sources":["../../src/components/ConfigurePageSidebar.jsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport SelectedLink from \"components/Sidebar/Components/Links/SelectedLink\";\nimport \"components/Sidebar/sidebar.scss\";\n\nimport Chevron from \"./Sidebar/Components/Chevron\";\n\nconst ConfigurePageSidebar = ({\n label,\n navLinks: items,\n configurePageRoute,\n}) => {\n const history = useHistory();\n const productName = globalProps.appName.substr(5).toLowerCase();\n const [isSidebarPaneOpen, setIsSidebarPaneOpen] = useState(false);\n const [isSidebarCollapsed, setIsSidebarCollapsed] = useState(false);\n\n const { t } = useTranslation();\n\n const isLargerScreen = () => window.innerWidth > 768;\n const isSidebarClosed = isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen);\n\n useEffect(() => {\n const handleResize = () => {\n if (isLargerScreen()) return;\n setIsSidebarPaneOpen(false);\n setIsSidebarCollapsed(true);\n };\n window.addEventListener(\"resize\", handleResize);\n\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n const handleConfigureLinkClick = () => {\n history.push(configurePageRoute);\n };\n\n return (\n <div\n data-testid=\"configure-page-sidebar-container\"\n className={classnames(\n \"neeto-molecules-sidebar__wrapper neeto-molecules-sidebar__wrapper__configure-page\",\n {\n \"neeto-molecules-sidebar__wrapper--collapsed\": isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen),\n }\n )}\n >\n <div\n className=\"neeto-molecules-sidebar__backdrop\"\n onClick={() => {\n setIsSidebarPaneOpen(false);\n }}\n />\n <div\n className=\"neeto-molecules-sidebar neeto-molecules-sidebar__configure-page neeto-ui-flex neeto-ui-flex-col neeto-ui-flex-shrink-0 neeto-ui-overflow-y-auto neeto-ui-overflow-x-hidden neeto-molecules-sidebar--focus-mode\"\n data-testid=\"configure-page-sidebar\"\n >\n <SelectedLink\n isConfigureSidebar\n handleGoBack={handleConfigureLinkClick}\n navLink={{ label, items }}\n />\n </div>\n <Button\n className=\"neeto-molecules-sidebar__toggler\"\n data-cy=\"configure-page-neeto-molecules-sidebar-toggler\"\n data-testid=\"configure-page-sidebar-toggleButton\"\n style={isLargerScreen() ? \"text\" : \"secondary\"}\n icon={() => (\n <Chevron\n style={{ color: `rgb(var(--neeto-${productName}-primary))` }}\n />\n )}\n tooltipProps={{\n content: isSidebarClosed\n ? t(\"neetoMolecules.sidebar.showMenu\")\n : t(\"neetoMolecules.sidebar.hideMenu\"),\n position: \"bottom\",\n }}\n onClick={() => {\n setIsSidebarCollapsed(!isSidebarCollapsed);\n setIsSidebarPaneOpen(not);\n }}\n />\n </div>\n );\n};\n\nConfigurePageSidebar.propTypes = {\n /**\n * The route to the landing page of the configure screen.\n * When the user clicks on the 'configure' text, they will be taken to the specified route.\n */\n configurePageRoute: PropTypes.string,\n /**\n * To specify the label to be shown on top of the sidebar.\n */\n label: PropTypes.string,\n /**\n * To specify the configure nav links to be shown in the sidebar.\n */\n navLinks: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n to: PropTypes.string,\n items: PropTypes.arrayOf(\n PropTypes.shape({ label: PropTypes.string, to: PropTypes.string })\n ),\n })\n ),\n};\n\nexport default ConfigurePageSidebar;\n"],"names":["ConfigurePageSidebar","_ref","label","items","navLinks","configurePageRoute","history","useHistory","productName","globalProps","appName","substr","toLowerCase","_useState","useState","_useState2","_slicedToArray","isSidebarPaneOpen","setIsSidebarPaneOpen","_useState3","_useState4","isSidebarCollapsed","setIsSidebarCollapsed","_useTranslation","useTranslation","t","isLargerScreen","window","innerWidth","isSidebarClosed","not","useEffect","handleResize","addEventListener","removeEventListener","handleConfigureLinkClick","push","React","createElement","className","classnames","onClick","SelectedLink","isConfigureSidebar","handleGoBack","navLink","Button","style","icon","Chevron","color","concat","tooltipProps","content","position"],"mappings":"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"}
|
|
@@ -5,12 +5,12 @@ var defineProperty = require('./defineProperty-886ed289.js');
|
|
|
5
5
|
var slicedToArray = require('./slicedToArray-f320d9e7.js');
|
|
6
6
|
var objectWithoutProperties = require('./objectWithoutProperties-2fed2d7d.js');
|
|
7
7
|
var React = require('react');
|
|
8
|
-
var utils = require('@bigbinary/neeto-commons-frontend/utils');
|
|
9
8
|
var neetoui = require('@bigbinary/neetoui');
|
|
10
|
-
var ramda = require('ramda');
|
|
11
9
|
var reactI18next = require('react-i18next');
|
|
12
|
-
var CopyToClipboardButton = require('./CopyToClipboardButton.js');
|
|
13
10
|
var injectCss = require('./inject-css-80a5faa3.js');
|
|
11
|
+
var utils = require('@bigbinary/neeto-commons-frontend/utils');
|
|
12
|
+
var ramda = require('ramda');
|
|
13
|
+
var CopyToClipboardButton = require('./CopyToClipboardButton.js');
|
|
14
14
|
require('classnames');
|
|
15
15
|
require('@bigbinary/neeto-commons-frontend/utils/general');
|
|
16
16
|
require('@bigbinary/neeto-icons');
|
|
@@ -19,13 +19,13 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
19
19
|
|
|
20
20
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
21
21
|
|
|
22
|
+
var css = ".neeto-molecules-share-timestamp-input .neeto-ui-input__wrapper{position:relative}.neeto-molecules-share-timestamp-input .neeto-ui-input__wrapper:not(:last-child):after{content:\":\";font-weight:bolder;position:absolute;right:-8px;top:4px}";
|
|
23
|
+
injectCss.n(css,{});
|
|
24
|
+
|
|
22
25
|
var ONE_SECOND = 1;
|
|
23
26
|
var ONE_MINUTE = 60 * ONE_SECOND;
|
|
24
27
|
var ONE_HOUR = 60 * ONE_MINUTE;
|
|
25
28
|
|
|
26
|
-
var css = ".neeto-molecules-share-timestamp-input .neeto-ui-input__wrapper{position:relative}.neeto-molecules-share-timestamp-input .neeto-ui-input__wrapper:not(:last-child):after{content:\":\";font-weight:bolder;position:absolute;right:-8px;top:4px}";
|
|
27
|
-
injectCss.n(css,{});
|
|
28
|
-
|
|
29
29
|
var getTimeValues = function getTimeValues(playbackTimeInSec) {
|
|
30
30
|
var hour = Math.floor(playbackTimeInSec / ONE_HOUR);
|
|
31
31
|
playbackTimeInSec = playbackTimeInSec % ONE_HOUR;
|
|
@@ -54,36 +54,28 @@ var shouldRenderHoursInput = function shouldRenderHoursInput(duration) {
|
|
|
54
54
|
return hours > 0;
|
|
55
55
|
};
|
|
56
56
|
|
|
57
|
-
var
|
|
58
|
-
function
|
|
59
|
-
|
|
60
|
-
var ShareRecording = function ShareRecording(_ref) {
|
|
57
|
+
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; }
|
|
58
|
+
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; }
|
|
59
|
+
var ShareModalBody = function ShareModalBody(_ref) {
|
|
61
60
|
var recordingUrl = _ref.recordingUrl,
|
|
62
61
|
totalDuration = _ref.totalDuration,
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
buttonProps = _ref$buttonProps === void 0 ? {} : _ref$buttonProps,
|
|
66
|
-
_ref$isLoading = _ref.isLoading,
|
|
67
|
-
isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
|
|
68
|
-
otherProps = objectWithoutProperties._objectWithoutProperties(_ref, _excluded);
|
|
62
|
+
getCurrentTimestamp = _ref.getCurrentTimestamp,
|
|
63
|
+
isOpen = _ref.isOpen;
|
|
69
64
|
var _useTranslation = reactI18next.useTranslation(),
|
|
70
65
|
t = _useTranslation.t;
|
|
71
|
-
var
|
|
66
|
+
var currentTimestamp = getCurrentTimestamp();
|
|
67
|
+
var _useState = React.useState(""),
|
|
72
68
|
_useState2 = slicedToArray._slicedToArray(_useState, 2),
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
var _useState3 = React.useState(
|
|
69
|
+
shareLink = _useState2[0],
|
|
70
|
+
setShareLink = _useState2[1];
|
|
71
|
+
var _useState3 = React.useState(currentTimestamp),
|
|
76
72
|
_useState4 = slicedToArray._slicedToArray(_useState3, 2),
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
var _useState5 = React.useState(0),
|
|
73
|
+
currentPlaybackTime = _useState4[0],
|
|
74
|
+
setCurrentPlaybackTime = _useState4[1];
|
|
75
|
+
var _useState5 = React.useState(currentTimestamp > 0),
|
|
80
76
|
_useState6 = slicedToArray._slicedToArray(_useState5, 2),
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
var _useState7 = React.useState(currentTimestamp > 0),
|
|
84
|
-
_useState8 = slicedToArray._slicedToArray(_useState7, 2),
|
|
85
|
-
isPlaybackTimeCheckboxChecked = _useState8[0],
|
|
86
|
-
setIsPlaybackTimeCheckboxChecked = _useState8[1];
|
|
77
|
+
isPlaybackTimeCheckboxChecked = _useState6[0],
|
|
78
|
+
setIsPlaybackTimeCheckboxChecked = _useState6[1];
|
|
87
79
|
var _getTimeValues = getTimeValues(currentPlaybackTime),
|
|
88
80
|
hour = _getTimeValues.hour,
|
|
89
81
|
minute = _getTimeValues.minute,
|
|
@@ -94,11 +86,6 @@ var ShareRecording = function ShareRecording(_ref) {
|
|
|
94
86
|
var intendedTimeInSec = currentPlaybackTime + valueInSec - offset;
|
|
95
87
|
setCurrentPlaybackTime(Math.min(intendedTimeInSec, totalDuration));
|
|
96
88
|
};
|
|
97
|
-
var handleClick = function handleClick() {
|
|
98
|
-
var _buttonProps$onClick;
|
|
99
|
-
setIsOpen(true);
|
|
100
|
-
buttonProps === null || buttonProps === void 0 ? void 0 : (_buttonProps$onClick = buttonProps.onClick) === null || _buttonProps$onClick === void 0 ? void 0 : _buttonProps$onClick.call(buttonProps);
|
|
101
|
-
};
|
|
102
89
|
var renderTimeInput = function renderTimeInput(_ref3) {
|
|
103
90
|
var value = _ref3.value,
|
|
104
91
|
onChange = _ref3.onChange,
|
|
@@ -120,26 +107,12 @@ var ShareRecording = function ShareRecording(_ref) {
|
|
|
120
107
|
setCurrentPlaybackTime(currentTimestamp > 0 ? currentTimestamp : 0);
|
|
121
108
|
}, [isOpen]);
|
|
122
109
|
React.useEffect(function () {
|
|
123
|
-
var playbackUrl = utils.buildUrl(recordingUrl, _objectSpread({}, isPlaybackTimeCheckboxChecked && currentPlaybackTime > 0 && {
|
|
124
|
-
|
|
110
|
+
var playbackUrl = utils.buildUrl(recordingUrl, _objectSpread$1({}, isPlaybackTimeCheckboxChecked && currentPlaybackTime > 0 && {
|
|
111
|
+
time: currentPlaybackTime
|
|
125
112
|
}));
|
|
126
113
|
setShareLink(playbackUrl);
|
|
127
114
|
}, [recordingUrl, isPlaybackTimeCheckboxChecked, currentPlaybackTime]);
|
|
128
|
-
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(
|
|
129
|
-
isOpen: isOpen
|
|
130
|
-
}, otherProps), {
|
|
131
|
-
"data-cy": "share-modal",
|
|
132
|
-
size: "large",
|
|
133
|
-
onClose: function onClose() {
|
|
134
|
-
return setIsOpen(false);
|
|
135
|
-
}
|
|
136
|
-
}), /*#__PURE__*/React__default["default"].createElement(neetoui.Modal.Header, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
137
|
-
style: "h2"
|
|
138
|
-
}, t("neetoMolecules.shareRecording.title"))), /*#__PURE__*/React__default["default"].createElement(neetoui.Modal.Body, {
|
|
139
|
-
className: "flex flex-col space-y-2"
|
|
140
|
-
}, isLoading ? /*#__PURE__*/React__default["default"].createElement(neetoui.Spinner, {
|
|
141
|
-
className: "mx-auto"
|
|
142
|
-
}) : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
115
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
143
116
|
className: "neeto-ui-bg-gray-100 neeto-ui-rounded-lg mb-3 flex items-center justify-between p-2"
|
|
144
117
|
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Tooltip, {
|
|
145
118
|
content: shareLink
|
|
@@ -191,7 +164,52 @@ var ShareRecording = function ShareRecording(_ref) {
|
|
|
191
164
|
offset: second * ONE_SECOND
|
|
192
165
|
});
|
|
193
166
|
}
|
|
194
|
-
}))))
|
|
167
|
+
}))));
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
var _excluded = ["recordingUrl", "totalDuration", "getCurrentTimestamp", "buttonProps", "isLoading"];
|
|
171
|
+
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; }
|
|
172
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { defineProperty._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; }
|
|
173
|
+
var ShareRecording = function ShareRecording(_ref) {
|
|
174
|
+
var recordingUrl = _ref.recordingUrl,
|
|
175
|
+
totalDuration = _ref.totalDuration,
|
|
176
|
+
getCurrentTimestamp = _ref.getCurrentTimestamp,
|
|
177
|
+
_ref$buttonProps = _ref.buttonProps,
|
|
178
|
+
buttonProps = _ref$buttonProps === void 0 ? {} : _ref$buttonProps,
|
|
179
|
+
_ref$isLoading = _ref.isLoading,
|
|
180
|
+
isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
|
|
181
|
+
otherProps = objectWithoutProperties._objectWithoutProperties(_ref, _excluded);
|
|
182
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
183
|
+
t = _useTranslation.t;
|
|
184
|
+
var _useState = React.useState(false),
|
|
185
|
+
_useState2 = slicedToArray._slicedToArray(_useState, 2),
|
|
186
|
+
isOpen = _useState2[0],
|
|
187
|
+
setIsOpen = _useState2[1];
|
|
188
|
+
var handleClick = function handleClick() {
|
|
189
|
+
var _buttonProps$onClick;
|
|
190
|
+
setIsOpen(true);
|
|
191
|
+
buttonProps === null || buttonProps === void 0 ? void 0 : (_buttonProps$onClick = buttonProps.onClick) === null || _buttonProps$onClick === void 0 ? void 0 : _buttonProps$onClick.call(buttonProps);
|
|
192
|
+
};
|
|
193
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Modal, _extends._extends({}, _objectSpread({
|
|
194
|
+
isOpen: isOpen
|
|
195
|
+
}, otherProps), {
|
|
196
|
+
"data-cy": "share-modal",
|
|
197
|
+
size: "large",
|
|
198
|
+
onClose: function onClose() {
|
|
199
|
+
return setIsOpen(false);
|
|
200
|
+
}
|
|
201
|
+
}), /*#__PURE__*/React__default["default"].createElement(neetoui.Modal.Header, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
202
|
+
style: "h2"
|
|
203
|
+
}, t("neetoMolecules.shareRecording.title"))), /*#__PURE__*/React__default["default"].createElement(neetoui.Modal.Body, {
|
|
204
|
+
className: "flex flex-col space-y-2"
|
|
205
|
+
}, isLoading ? /*#__PURE__*/React__default["default"].createElement(neetoui.Spinner, {
|
|
206
|
+
className: "mx-auto"
|
|
207
|
+
}) : /*#__PURE__*/React__default["default"].createElement(ShareModalBody, {
|
|
208
|
+
getCurrentTimestamp: getCurrentTimestamp,
|
|
209
|
+
isOpen: isOpen,
|
|
210
|
+
recordingUrl: recordingUrl,
|
|
211
|
+
totalDuration: totalDuration
|
|
212
|
+
}))), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, _extends._extends({
|
|
195
213
|
"data-cy": "share-button",
|
|
196
214
|
label: t("neetoMolecules.common.actions.share"),
|
|
197
215
|
style: "secondary"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShareRecording.js","sources":["../../src/components/ShareRecording/constants.js","../../src/components/ShareRecording/utils.js","../../src/components/ShareRecording/index.jsx"],"sourcesContent":["export const ONE_SECOND = 1;\nexport const ONE_MINUTE = 60 * ONE_SECOND;\nexport const ONE_HOUR = 60 * ONE_MINUTE;\n","import { ONE_HOUR, ONE_MINUTE, ONE_SECOND } from \"./constants\";\n\nexport const getTimeValues = playbackTimeInSec => {\n const hour = Math.floor(playbackTimeInSec / ONE_HOUR);\n playbackTimeInSec = playbackTimeInSec % ONE_HOUR;\n const minute = Math.floor(playbackTimeInSec / ONE_MINUTE);\n playbackTimeInSec = playbackTimeInSec % ONE_MINUTE;\n const second = Math.floor(playbackTimeInSec / ONE_SECOND);\n\n return { hour, minute, second };\n};\n\nexport const padZero = (number, length = 2) => {\n let string = String(number);\n const threshold = Math.pow(10, length - 1);\n\n if (number < threshold) {\n while (String(threshold).length > string.length) {\n string = `0${number}`;\n }\n }\n\n return string;\n};\n\nexport const shouldRenderHoursInput = duration => {\n const hours = Math.floor(duration / ONE_HOUR);\n\n return hours > 0;\n};\n","import React, { useState, useEffect } from \"react\";\n\nimport { buildUrl } from \"neetocommons/utils\";\nimport {\n Modal,\n Typography,\n Input,\n Checkbox,\n Tooltip,\n Spinner,\n Button,\n} from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\n\nimport { ONE_HOUR, ONE_MINUTE, ONE_SECOND } from \"./constants\";\nimport \"./share-modal.scss\";\nimport { getTimeValues, padZero, shouldRenderHoursInput } from \"./utils\";\n\nconst ShareRecording = ({\n recordingUrl,\n totalDuration,\n currentTimestamp,\n buttonProps = {},\n isLoading = false,\n ...otherProps\n}) => {\n const { t } = useTranslation();\n\n const [isOpen, setIsOpen] = useState(false);\n const [shareLink, setShareLink] = useState(\"\");\n const [currentPlaybackTime, setCurrentPlaybackTime] = useState(0);\n const [isPlaybackTimeCheckboxChecked, setIsPlaybackTimeCheckboxChecked] =\n useState(currentTimestamp > 0);\n\n const { hour, minute, second } = getTimeValues(currentPlaybackTime);\n\n const handlePlaybackTimestampChange = ({ valueInSec, offset }) => {\n const intendedTimeInSec = currentPlaybackTime + valueInSec - offset;\n\n setCurrentPlaybackTime(Math.min(intendedTimeInSec, totalDuration));\n };\n\n const handleClick = () => {\n setIsOpen(true);\n buttonProps?.onClick?.();\n };\n\n const renderTimeInput = ({ value, onChange, max }) => (\n <Input\n {...{ max, onChange, value }}\n className=\"w-14\"\n disabled={not(isPlaybackTimeCheckboxChecked)}\n min={0}\n type=\"number\"\n unlimitedChars={false}\n />\n );\n\n useEffect(() => {\n if (not(isOpen)) return;\n\n setIsPlaybackTimeCheckboxChecked(currentTimestamp > 0);\n setCurrentPlaybackTime(currentTimestamp > 0 ? currentTimestamp : 0);\n }, [isOpen]);\n\n useEffect(() => {\n const playbackUrl = buildUrl(recordingUrl, {\n ...(isPlaybackTimeCheckboxChecked &&\n currentPlaybackTime > 0 && { t: currentPlaybackTime }),\n });\n\n setShareLink(playbackUrl);\n }, [recordingUrl, isPlaybackTimeCheckboxChecked, currentPlaybackTime]);\n\n return (\n <>\n <Modal\n {...{ isOpen, ...otherProps }}\n data-cy=\"share-modal\"\n size=\"large\"\n onClose={() => setIsOpen(false)}\n >\n <Modal.Header>\n <Typography style=\"h2\">\n {t(\"neetoMolecules.shareRecording.title\")}\n </Typography>\n </Modal.Header>\n <Modal.Body className=\"flex flex-col space-y-2\">\n {isLoading ? (\n <Spinner className=\"mx-auto\" />\n ) : (\n <>\n <div className=\"neeto-ui-bg-gray-100 neeto-ui-rounded-lg mb-3 flex items-center justify-between p-2\">\n <Tooltip content={shareLink}>\n <Typography className=\"truncate\" style=\"body2\">\n {shareLink}\n </Typography>\n </Tooltip>\n <CopyToClipboardButton\n className=\"flex-shrink-0\"\n style=\"secondary\"\n value={shareLink}\n />\n </div>\n <div className=\"flex items-center gap-x-2\">\n <Checkbox\n checked={isPlaybackTimeCheckboxChecked}\n className=\"grow-0\"\n data-cy=\"time-checkbox\"\n label={t(\"neetoMolecules.shareRecording.checkboxLabel\")}\n onChange={({ target: { checked } }) =>\n setIsPlaybackTimeCheckboxChecked(checked)\n }\n />\n <div\n className=\"neeto-molecules-share-timestamp-input flex items-center gap-x-3\"\n data-cy=\"time-inputs\"\n >\n {shouldRenderHoursInput(totalDuration) &&\n renderTimeInput({\n max: 99,\n value: padZero(hour),\n onChange: e =>\n handlePlaybackTimestampChange({\n valueInSec: e.target.value * ONE_HOUR,\n offset: hour * ONE_HOUR,\n }),\n })}\n {renderTimeInput({\n max: 59,\n value: padZero(minute),\n onChange: e =>\n handlePlaybackTimestampChange({\n valueInSec: e.target.value * ONE_MINUTE,\n offset: minute * ONE_MINUTE,\n }),\n })}\n {renderTimeInput({\n max: 59,\n value: padZero(second),\n onChange: e =>\n handlePlaybackTimestampChange({\n valueInSec: e.target.value * ONE_SECOND,\n offset: second * ONE_SECOND,\n }),\n })}\n </div>\n </div>\n </>\n )}\n </Modal.Body>\n </Modal>\n <Button\n data-cy=\"share-button\"\n label={t(\"neetoMolecules.common.actions.share\")}\n style=\"secondary\"\n {...buttonProps}\n onClick={handleClick}\n />\n </>\n );\n};\n\nShareRecording.propTypes = {\n /**\n * Recording URL used for building the share link.\n */\n recordingUrl: PropTypes.string.isRequired,\n /**\n * Total duration of the content being shared.\n */\n totalDuration: PropTypes.number.isRequired,\n /**\n * Current playback time of the recorded content in seconds.\n */\n currentTimestamp: PropTypes.number.isRequired,\n /**\n * Additional props for the button component.\n */\n buttonProps: PropTypes.object,\n /**\n * Boolean indicating whether content is loading or not.\n */\n isLoading: PropTypes.bool,\n};\n\nexport default ShareRecording;\n"],"names":["ONE_SECOND","ONE_MINUTE","ONE_HOUR","getTimeValues","playbackTimeInSec","hour","Math","floor","minute","second","padZero","number","length","arguments","undefined","string","String","threshold","pow","concat","shouldRenderHoursInput","duration","hours","ShareRecording","_ref","recordingUrl","totalDuration","currentTimestamp","_ref$buttonProps","buttonProps","_ref$isLoading","isLoading","otherProps","_objectWithoutProperties","_excluded","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isOpen","setIsOpen","_useState3","_useState4","shareLink","setShareLink","_useState5","_useState6","currentPlaybackTime","setCurrentPlaybackTime","_useState7","_useState8","isPlaybackTimeCheckboxChecked","setIsPlaybackTimeCheckboxChecked","_getTimeValues","handlePlaybackTimestampChange","_ref2","valueInSec","offset","intendedTimeInSec","min","handleClick","_buttonProps$onClick","onClick","call","renderTimeInput","_ref3","value","onChange","max","React","createElement","Input","className","disabled","not","type","unlimitedChars","useEffect","playbackUrl","buildUrl","_objectSpread","Fragment","Modal","_extends","size","onClose","Header","Typography","style","Body","Spinner","Tooltip","content","CopyToClipboardButton","Checkbox","checked","label","_ref4","target","e","Button"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ShareRecording.js","sources":["../../src/components/ShareRecording/constants.js","../../src/components/ShareRecording/utils.js","../../src/components/ShareRecording/ShareModalBody.jsx","../../src/components/ShareRecording/index.jsx"],"sourcesContent":["export const ONE_SECOND = 1;\nexport const ONE_MINUTE = 60 * ONE_SECOND;\nexport const ONE_HOUR = 60 * ONE_MINUTE;\n","import { ONE_HOUR, ONE_MINUTE, ONE_SECOND } from \"./constants\";\n\nexport const getTimeValues = playbackTimeInSec => {\n const hour = Math.floor(playbackTimeInSec / ONE_HOUR);\n playbackTimeInSec = playbackTimeInSec % ONE_HOUR;\n const minute = Math.floor(playbackTimeInSec / ONE_MINUTE);\n playbackTimeInSec = playbackTimeInSec % ONE_MINUTE;\n const second = Math.floor(playbackTimeInSec / ONE_SECOND);\n\n return { hour, minute, second };\n};\n\nexport const padZero = (number, length = 2) => {\n let string = String(number);\n const threshold = Math.pow(10, length - 1);\n\n if (number < threshold) {\n while (String(threshold).length > string.length) {\n string = `0${number}`;\n }\n }\n\n return string;\n};\n\nexport const shouldRenderHoursInput = duration => {\n const hours = Math.floor(duration / ONE_HOUR);\n\n return hours > 0;\n};\n","import React, { useState, useEffect } from \"react\";\n\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Typography, Input, Checkbox, Tooltip } from \"neetoui\";\nimport { not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\n\nimport { ONE_HOUR, ONE_MINUTE, ONE_SECOND } from \"./constants\";\nimport \"./share-modal.scss\";\nimport { getTimeValues, padZero, shouldRenderHoursInput } from \"./utils\";\n\nconst ShareModalBody = ({\n recordingUrl,\n totalDuration,\n getCurrentTimestamp,\n isOpen,\n}) => {\n const { t } = useTranslation();\n const currentTimestamp = getCurrentTimestamp();\n\n const [shareLink, setShareLink] = useState(\"\");\n const [currentPlaybackTime, setCurrentPlaybackTime] =\n useState(currentTimestamp);\n\n const [isPlaybackTimeCheckboxChecked, setIsPlaybackTimeCheckboxChecked] =\n useState(currentTimestamp > 0);\n\n const { hour, minute, second } = getTimeValues(currentPlaybackTime);\n\n const handlePlaybackTimestampChange = ({ valueInSec, offset }) => {\n const intendedTimeInSec = currentPlaybackTime + valueInSec - offset;\n\n setCurrentPlaybackTime(Math.min(intendedTimeInSec, totalDuration));\n };\n\n const renderTimeInput = ({ value, onChange, max }) => (\n <Input\n {...{ max, onChange, value }}\n className=\"w-14\"\n disabled={not(isPlaybackTimeCheckboxChecked)}\n min={0}\n type=\"number\"\n unlimitedChars={false}\n />\n );\n\n useEffect(() => {\n if (not(isOpen)) return;\n\n setIsPlaybackTimeCheckboxChecked(currentTimestamp > 0);\n setCurrentPlaybackTime(currentTimestamp > 0 ? currentTimestamp : 0);\n }, [isOpen]);\n\n useEffect(() => {\n const playbackUrl = buildUrl(recordingUrl, {\n ...(isPlaybackTimeCheckboxChecked &&\n currentPlaybackTime > 0 && { time: currentPlaybackTime }),\n });\n\n setShareLink(playbackUrl);\n }, [recordingUrl, isPlaybackTimeCheckboxChecked, currentPlaybackTime]);\n\n return (\n <>\n <div className=\"neeto-ui-bg-gray-100 neeto-ui-rounded-lg mb-3 flex items-center justify-between p-2\">\n <Tooltip content={shareLink}>\n <Typography className=\"truncate\" style=\"body2\">\n {shareLink}\n </Typography>\n </Tooltip>\n <CopyToClipboardButton\n className=\"flex-shrink-0\"\n style=\"secondary\"\n value={shareLink}\n />\n </div>\n <div className=\"flex items-center gap-x-2\">\n <Checkbox\n checked={isPlaybackTimeCheckboxChecked}\n className=\"grow-0\"\n data-cy=\"time-checkbox\"\n label={t(\"neetoMolecules.shareRecording.checkboxLabel\")}\n onChange={({ target: { checked } }) =>\n setIsPlaybackTimeCheckboxChecked(checked)\n }\n />\n <div\n className=\"neeto-molecules-share-timestamp-input flex items-center gap-x-3\"\n data-cy=\"time-inputs\"\n >\n {shouldRenderHoursInput(totalDuration) &&\n renderTimeInput({\n max: 99,\n value: padZero(hour),\n onChange: e =>\n handlePlaybackTimestampChange({\n valueInSec: e.target.value * ONE_HOUR,\n offset: hour * ONE_HOUR,\n }),\n })}\n {renderTimeInput({\n max: 59,\n value: padZero(minute),\n onChange: e =>\n handlePlaybackTimestampChange({\n valueInSec: e.target.value * ONE_MINUTE,\n offset: minute * ONE_MINUTE,\n }),\n })}\n {renderTimeInput({\n max: 59,\n value: padZero(second),\n onChange: e =>\n handlePlaybackTimestampChange({\n valueInSec: e.target.value * ONE_SECOND,\n offset: second * ONE_SECOND,\n }),\n })}\n </div>\n </div>\n </>\n );\n};\n\nexport default ShareModalBody;\n","import React, { useState } from \"react\";\n\nimport { Modal, Typography, Spinner, Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport \"./share-modal.scss\";\nimport ShareModalBody from \"./ShareModalBody\";\n\nconst ShareRecording = ({\n recordingUrl,\n totalDuration,\n getCurrentTimestamp,\n buttonProps = {},\n isLoading = false,\n ...otherProps\n}) => {\n const { t } = useTranslation();\n\n const [isOpen, setIsOpen] = useState(false);\n\n const handleClick = () => {\n setIsOpen(true);\n buttonProps?.onClick?.();\n };\n\n return (\n <>\n <Modal\n {...{ isOpen, ...otherProps }}\n data-cy=\"share-modal\"\n size=\"large\"\n onClose={() => setIsOpen(false)}\n >\n <Modal.Header>\n <Typography style=\"h2\">\n {t(\"neetoMolecules.shareRecording.title\")}\n </Typography>\n </Modal.Header>\n <Modal.Body className=\"flex flex-col space-y-2\">\n {isLoading ? (\n <Spinner className=\"mx-auto\" />\n ) : (\n <ShareModalBody\n {...{ getCurrentTimestamp, isOpen, recordingUrl, totalDuration }}\n />\n )}\n </Modal.Body>\n </Modal>\n <Button\n data-cy=\"share-button\"\n label={t(\"neetoMolecules.common.actions.share\")}\n style=\"secondary\"\n {...buttonProps}\n onClick={handleClick}\n />\n </>\n );\n};\n\nShareRecording.propTypes = {\n /**\n * Recording URL used for building the share link.\n */\n recordingUrl: PropTypes.string.isRequired,\n /**\n * Total duration of the content being shared.\n */\n totalDuration: PropTypes.number.isRequired,\n /**\n * A function that returns current playback time of the recorded content in seconds.\n */\n getCurrentTimestamp: PropTypes.func.isRequired,\n /**\n * Additional props for the button component.\n */\n buttonProps: PropTypes.object,\n /**\n * Boolean indicating whether content is loading or not.\n */\n isLoading: PropTypes.bool,\n};\n\nexport default ShareRecording;\n"],"names":["ONE_SECOND","ONE_MINUTE","ONE_HOUR","getTimeValues","playbackTimeInSec","hour","Math","floor","minute","second","padZero","number","length","arguments","undefined","string","String","threshold","pow","concat","shouldRenderHoursInput","duration","hours","ShareModalBody","_ref","recordingUrl","totalDuration","getCurrentTimestamp","isOpen","_useTranslation","useTranslation","t","currentTimestamp","_useState","useState","_useState2","_slicedToArray","shareLink","setShareLink","_useState3","_useState4","currentPlaybackTime","setCurrentPlaybackTime","_useState5","_useState6","isPlaybackTimeCheckboxChecked","setIsPlaybackTimeCheckboxChecked","_getTimeValues","handlePlaybackTimestampChange","_ref2","valueInSec","offset","intendedTimeInSec","min","renderTimeInput","_ref3","value","onChange","max","React","createElement","Input","className","disabled","not","type","unlimitedChars","useEffect","playbackUrl","buildUrl","_objectSpread","time","Fragment","Tooltip","content","Typography","style","CopyToClipboardButton","Checkbox","checked","label","_ref4","target","e","ShareRecording","_ref$buttonProps","buttonProps","_ref$isLoading","isLoading","otherProps","_objectWithoutProperties","_excluded","setIsOpen","handleClick","_buttonProps$onClick","onClick","call","Modal","_extends","size","onClose","Header","Body","Spinner","Button"],"mappings":"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"}
|
package/dist/cjs/Sidebar.js
CHANGED
|
@@ -11,13 +11,13 @@ var neetoui = require('@bigbinary/neetoui');
|
|
|
11
11
|
var ramda = require('ramda');
|
|
12
12
|
var reactI18next = require('react-i18next');
|
|
13
13
|
var reactRouterDom = require('react-router-dom');
|
|
14
|
+
var Chevron = require('./Chevron-3258aee1.js');
|
|
14
15
|
var useFetchNeetoApps = require('@bigbinary/neeto-commons-frontend/react-utils/useFetchNeetoApps');
|
|
15
16
|
var ProductTypefaceLogos = require('@bigbinary/neeto-icons/typeface-logos');
|
|
16
17
|
var _extends = require('./extends-1b35a664.js');
|
|
17
18
|
var defineProperty = require('./defineProperty-886ed289.js');
|
|
18
19
|
var objectWithoutProperties = require('./objectWithoutProperties-2fed2d7d.js');
|
|
19
20
|
var neetoIcons = require('@bigbinary/neeto-icons');
|
|
20
|
-
var sidebar = require('./sidebar-195d99bd.js');
|
|
21
21
|
require('@bigbinary/neeto-commons-frontend/utils/general');
|
|
22
22
|
require('@bigbinary/neeto-filters-frontend');
|
|
23
23
|
require('@bigbinary/neeto-commons-frontend/react-utils/useRegisterNavigationCheckpoint');
|
|
@@ -49,19 +49,6 @@ var useLocalStorage__default = /*#__PURE__*/_interopDefaultLegacy(useLocalStorag
|
|
|
49
49
|
var useFetchNeetoApps__default = /*#__PURE__*/_interopDefaultLegacy(useFetchNeetoApps);
|
|
50
50
|
var ProductTypefaceLogos__namespace = /*#__PURE__*/_interopNamespace(ProductTypefaceLogos);
|
|
51
51
|
|
|
52
|
-
var Chevron = function Chevron(_ref) {
|
|
53
|
-
var style = _ref.style;
|
|
54
|
-
return /*#__PURE__*/React__default["default"].createElement("svg", {
|
|
55
|
-
style: style,
|
|
56
|
-
height: "16",
|
|
57
|
-
viewBox: "0 0 16 16",
|
|
58
|
-
width: "16"
|
|
59
|
-
}, /*#__PURE__*/React__default["default"].createElement("path", {
|
|
60
|
-
d: "M7.07031 13.8887C7.2207 14.0391 7.40527 14.1211 7.62402 14.1211C8.06836 14.1211 8.41699 13.7725 8.41699 13.3281C8.41699 13.1094 8.32812 12.9043 8.17773 12.7539L3.37207 8.05762L8.17773 3.375C8.32812 3.21777 8.41699 3.0127 8.41699 2.80078C8.41699 2.35645 8.06836 2.00781 7.62402 2.00781C7.40527 2.00781 7.2207 2.08984 7.07031 2.24023L1.73828 7.44922C1.56055 7.62012 1.46484 7.8252 1.46484 8.06445C1.46484 8.29688 1.55371 8.49512 1.73828 8.67969L7.07031 13.8887ZM13.1748 13.8887C13.3252 14.0391 13.5098 14.1211 13.7354 14.1211C14.1797 14.1211 14.5283 13.7725 14.5283 13.3281C14.5283 13.1094 14.4395 12.9043 14.2891 12.7539L9.4834 8.05762L14.2891 3.375C14.4395 3.21777 14.5283 3.0127 14.5283 2.80078C14.5283 2.35645 14.1797 2.00781 13.7354 2.00781C13.5098 2.00781 13.3252 2.08984 13.1748 2.24023L7.84961 7.44922C7.66504 7.62012 7.57617 7.8252 7.56934 8.06445C7.56934 8.29688 7.66504 8.49512 7.84961 8.67969L13.1748 13.8887Z",
|
|
61
|
-
fill: "currentColor"
|
|
62
|
-
}));
|
|
63
|
-
};
|
|
64
|
-
|
|
65
52
|
var Header = function Header(_ref) {
|
|
66
53
|
var _ProductTypefaceLogos;
|
|
67
54
|
var customLogo = _ref.customLogo,
|
|
@@ -122,7 +109,7 @@ var Links = function Links(_ref) {
|
|
|
122
109
|
};
|
|
123
110
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
124
111
|
className: "neeto-molecules-sidebar__links neeto-molecules-sidebar__no-shrinkable"
|
|
125
|
-
}, navLinks.filter(
|
|
112
|
+
}, navLinks.filter(Chevron.filterByPermissions).map(function (navLink, index) {
|
|
126
113
|
var label = navLink.label,
|
|
127
114
|
to = navLink.to,
|
|
128
115
|
icon = navLink.icon,
|
|
@@ -139,7 +126,7 @@ var Links = function Links(_ref) {
|
|
|
139
126
|
var isMenuExpanded = isActive() && isActiveLinkExpanded && !isCountsLoadingDeprecated;
|
|
140
127
|
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, {
|
|
141
128
|
key: index
|
|
142
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
|
129
|
+
}, /*#__PURE__*/React__default["default"].createElement(Chevron.CheckPointNavLinks, _extends._extends({
|
|
143
130
|
activeClassName: "active",
|
|
144
131
|
className: "neeto-ui-flex neeto-ui-items-center neeto-ui-no-underline neeto-ui-select-none neeto-molecules-sidebar__link",
|
|
145
132
|
"data-testid": "navlink-".concat(neetoCist.hyphenate(label)),
|
|
@@ -168,7 +155,7 @@ var Links = function Links(_ref) {
|
|
|
168
155
|
})
|
|
169
156
|
}, /*#__PURE__*/React__default["default"].createElement(neetoIcons.Down, {
|
|
170
157
|
size: 16
|
|
171
|
-
}))), items && !isConfigureNavLink && isMenuExpanded && /*#__PURE__*/React__default["default"].createElement(
|
|
158
|
+
}))), items && !isConfigureNavLink && isMenuExpanded && /*#__PURE__*/React__default["default"].createElement(Chevron.Items, _objectSpread({
|
|
172
159
|
isCountsLoading: isCountsLoading,
|
|
173
160
|
items: items
|
|
174
161
|
}, otherProps)));
|
|
@@ -189,7 +176,7 @@ var Sidebar = function Sidebar(_ref) {
|
|
|
189
176
|
_useState4 = slicedToArray._slicedToArray(_useState3, 2),
|
|
190
177
|
selectedNavLinkRoute = _useState4[0],
|
|
191
178
|
setSelectedNavLinkRoute = _useState4[1];
|
|
192
|
-
var _useLocalStorage = useLocalStorage__default["default"](
|
|
179
|
+
var _useLocalStorage = useLocalStorage__default["default"](Chevron.getSidebarStateLocalStorageKey(), false),
|
|
193
180
|
_useLocalStorage2 = slicedToArray._slicedToArray(_useLocalStorage, 2),
|
|
194
181
|
isSidebarCollapsed = _useLocalStorage2[0],
|
|
195
182
|
setIsSidebarCollapsed = _useLocalStorage2[1];
|
|
@@ -256,7 +243,7 @@ var Sidebar = function Sidebar(_ref) {
|
|
|
256
243
|
clearSettingsNav: function clearSettingsNav() {
|
|
257
244
|
return setSelectedNavLinkRoute(null);
|
|
258
245
|
}
|
|
259
|
-
}), neetoCist.isPresent(selectedNavLinkRoute) ? /*#__PURE__*/React__default["default"].createElement(
|
|
246
|
+
}), neetoCist.isPresent(selectedNavLinkRoute) ? /*#__PURE__*/React__default["default"].createElement(Chevron.SelectedLink, {
|
|
260
247
|
handleGoBack: handleGoBack,
|
|
261
248
|
navLink: neetoCist.findLastBy({
|
|
262
249
|
to: selectedNavLinkRoute
|
|
@@ -271,7 +258,7 @@ var Sidebar = function Sidebar(_ref) {
|
|
|
271
258
|
"data-testid": "sidebar-toggleButton",
|
|
272
259
|
style: isLargerScreen() ? "text" : "secondary",
|
|
273
260
|
icon: function icon() {
|
|
274
|
-
return /*#__PURE__*/React__default["default"].createElement(Chevron, {
|
|
261
|
+
return /*#__PURE__*/React__default["default"].createElement(Chevron.Chevron, {
|
|
275
262
|
style: {
|
|
276
263
|
color: "rgb(var(--neeto-".concat(productName, "-primary))")
|
|
277
264
|
}
|
package/dist/cjs/Sidebar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sidebar.js","sources":["../../src/components/Sidebar/Components/Chevron.jsx","../../src/components/Sidebar/Components/Header.jsx","../../src/components/Sidebar/Components/Links/index.jsx","../../src/components/Sidebar/index.jsx"],"sourcesContent":["import React from \"react\";\n\nconst Chevron = ({ style }) => (\n <svg {...{ style }} height=\"16\" viewBox=\"0 0 16 16\" width=\"16\">\n <path\n d=\"M7.07031 13.8887C7.2207 14.0391 7.40527 14.1211 7.62402 14.1211C8.06836 14.1211 8.41699 13.7725 8.41699 13.3281C8.41699 13.1094 8.32812 12.9043 8.17773 12.7539L3.37207 8.05762L8.17773 3.375C8.32812 3.21777 8.41699 3.0127 8.41699 2.80078C8.41699 2.35645 8.06836 2.00781 7.62402 2.00781C7.40527 2.00781 7.2207 2.08984 7.07031 2.24023L1.73828 7.44922C1.56055 7.62012 1.46484 7.8252 1.46484 8.06445C1.46484 8.29688 1.55371 8.49512 1.73828 8.67969L7.07031 13.8887ZM13.1748 13.8887C13.3252 14.0391 13.5098 14.1211 13.7354 14.1211C14.1797 14.1211 14.5283 13.7725 14.5283 13.3281C14.5283 13.1094 14.4395 12.9043 14.2891 12.7539L9.4834 8.05762L14.2891 3.375C14.4395 3.21777 14.5283 3.0127 14.5283 2.80078C14.5283 2.35645 14.1797 2.00781 13.7354 2.00781C13.5098 2.00781 13.3252 2.08984 13.1748 2.24023L7.84961 7.44922C7.66504 7.62012 7.57617 7.8252 7.56934 8.06445C7.56934 8.29688 7.66504 8.49512 7.84961 8.67969L13.1748 13.8887Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default Chevron;\n","import React from \"react\";\n\nimport { capitalize, findBy } from \"neetocist\";\nimport useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport { Neeto } from \"neetoicons/typeface-logos\";\nimport * as ProductTypefaceLogos from \"neetoicons/typeface-logos\";\nimport { Link } from \"react-router-dom\";\n\nconst Header = ({ customLogo, clearSettingsNav }) => {\n const productName = globalProps.appName.substr(5);\n const logoName = `Neeto${capitalize(productName.toLowerCase())}`;\n const ProductTypefaceLogo = ProductTypefaceLogos[logoName] ?? Neeto;\n const LogoComponent = customLogo ?? ProductTypefaceLogo;\n\n const { data } = useFetchNeetoApps();\n\n let homePath = \"/\";\n if (data?.neetoApps) {\n const thisApp = findBy({ name: productName }, data.neetoApps);\n if (thisApp?.url) {\n homePath = new URL(thisApp?.url).pathname;\n }\n }\n\n return (\n <div\n className=\"neeto-molecules-sidebar__header neeto-molecules-sidebar__no-shrinkable\"\n data-cy=\"sidebar-info\"\n >\n <Link\n className=\"neeto-molecules-sidebar__logo neeto-ui-w-full\"\n to={homePath}\n onClick={clearSettingsNav}\n >\n <LogoComponent />\n </Link>\n </div>\n );\n};\n\nexport default React.memo(Header);\n","import React, { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { hyphenate, isNotEmpty, isNotPresent } from \"neetocist\";\nimport { Down } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\nimport { is, not } from \"ramda\";\nimport { useLocation } from \"react-router-dom\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\nimport Items from \"./Items\";\n\nimport { filterByPermissions } from \"../../utils\";\n\nconst Links = ({\n navLinks,\n isCountsLoading: isCountsLoadingDeprecated,\n setSelectedNavLinkRoute,\n}) => {\n const location = useLocation();\n const [isActiveLinkExpanded, setIsActiveLinkExpanded] = useState(true);\n\n const handleNavLinkClick = ({ event, isActive, items, navLink }) => {\n if (isNotPresent(items)) return;\n\n if (navLink.isConfigureNavLink && isNotEmpty(navLink.items)) {\n setSelectedNavLinkRoute(navLink.to);\n }\n\n if (isActive()) {\n setIsActiveLinkExpanded(not);\n event.preventDefault();\n\n return;\n }\n\n setIsActiveLinkExpanded(true);\n };\n\n return (\n <div className=\"neeto-molecules-sidebar__links neeto-molecules-sidebar__no-shrinkable\">\n {navLinks.filter(filterByPermissions).map((navLink, index) => {\n const {\n label,\n to,\n icon,\n items,\n isConfigureNavLink,\n isCountsLoading = false,\n ...otherProps\n } = navLink;\n const IconSVG = icon;\n const url = new URL(to, window.location.href);\n const isActive = () =>\n is(Function, otherProps.isActive)\n ? otherProps.isActive()\n : location.pathname.startsWith(url.pathname);\n\n const isMenuExpanded =\n isActive() && isActiveLinkExpanded && !isCountsLoadingDeprecated;\n\n return (\n <React.Fragment key={index}>\n <CheckPointNavLinks\n activeClassName=\"active\"\n className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-no-underline neeto-ui-select-none neeto-molecules-sidebar__link\"\n data-testid={`navlink-${hyphenate(label)}`}\n onClick={event =>\n handleNavLinkClick({ event, isActive, items, navLink })\n }\n {...{ isActive, to, ...otherProps }}\n >\n {icon && (\n <span\n className=\"neeto-molecules-sidebar__link-icon\"\n data-testid={label}\n >\n <IconSVG />\n </span>\n )}\n <Typography\n className=\"neeto-molecules-sidebar__link-label\"\n component=\"span\"\n style=\"body2\"\n weight=\"normal\"\n >\n {label}\n </Typography>\n {items && !isConfigureNavLink && (\n <span\n className={classnames(\n \"neeto-molecules-sidebar__link-icon neeto-molecules-sidebar__link-icon--caret\",\n {\n \"neeto-molecules-sidebar__link-icon--rotate\":\n isMenuExpanded,\n }\n )}\n >\n <Down size={16} />\n </span>\n )}\n </CheckPointNavLinks>\n {items && !isConfigureNavLink && isMenuExpanded && (\n <Items {...{ isCountsLoading, items, ...otherProps }} />\n )}\n </React.Fragment>\n );\n })}\n </div>\n );\n};\n\nexport default Links;\n","import React, { useEffect, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent, findLastBy } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { findLast, is, not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation, useHistory } from \"react-router-dom\";\n\nimport Chevron from \"./Components/Chevron\";\nimport Header from \"./Components/Header\";\nimport Links from \"./Components/Links\";\nimport SelectedLink from \"./Components/Links/SelectedLink\";\nimport \"./sidebar.scss\";\nimport { getSidebarStateLocalStorageKey } from \"./utils\";\n\nconst Sidebar = ({ navLinks, customLogo, isCountsLoading = false }) => {\n const productName = globalProps.appName.substr(5).toLowerCase();\n const [isSidebarPaneOpen, setIsSidebarPaneOpen] = useState(false);\n const [selectedNavLinkRoute, setSelectedNavLinkRoute] = useState(null);\n const [isSidebarCollapsed, setIsSidebarCollapsed] = useLocalStorage(\n getSidebarStateLocalStorageKey(),\n false\n );\n\n const location = useLocation();\n const history = useHistory();\n const { t } = useTranslation();\n\n const isLargerScreen = () => window.innerWidth > 768;\n const isSidebarClosed = isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen);\n\n useEffect(() => {\n if (!isPresent(navLinks)) return;\n const currentLink = findLast(({ to, isActive }) => {\n const url = new URL(to, window.location.href);\n\n return is(Function, isActive)\n ? isActive()\n : location.pathname.includes(url.pathname);\n })(navLinks);\n\n if (isPresent(currentLink)) {\n setSelectedNavLinkRoute(\n currentLink.isConfigureNavLink ? currentLink.to : null\n );\n }\n }, []);\n\n useEffect(() => {\n const handleResize = () => {\n if (isLargerScreen()) return;\n setIsSidebarPaneOpen(false);\n setIsSidebarCollapsed(true);\n };\n window.addEventListener(\"resize\", handleResize);\n\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n const handleGoBack = event => {\n event.preventDefault();\n setSelectedNavLinkRoute(null);\n const settingsNavLink = navLinks.find(\n link => isPresent(link.isConfigureNavLink) && link.isConfigureNavLink\n );\n if (settingsNavLink.to) {\n history.push(buildUrl(settingsNavLink.to));\n }\n };\n\n return (\n <div\n data-testid=\"sidebar-container\"\n className={classnames(\"neeto-molecules-sidebar__wrapper\", {\n \"neeto-molecules-sidebar__wrapper--collapsed\": isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen),\n })}\n >\n <div\n className=\"neeto-molecules-sidebar__backdrop\"\n onClick={() => {\n setIsSidebarPaneOpen(false);\n setSelectedNavLinkRoute(null);\n }}\n />\n <div\n data-cy=\"sidebar-wrapper\"\n data-testid=\"sidebar\"\n className={classnames(\n \"neeto-molecules-sidebar neeto-ui-flex neeto-ui-flex-col neeto-ui-flex-shrink-0 neeto-ui-overflow-y-auto neeto-ui-overflow-x-hidden\",\n {\n \"neeto-molecules-sidebar--focus-mode\":\n isPresent(selectedNavLinkRoute),\n }\n )}\n >\n <Header\n {...{ customLogo }}\n clearSettingsNav={() => setSelectedNavLinkRoute(null)}\n />\n {isPresent(selectedNavLinkRoute) ? (\n <SelectedLink\n {...{ handleGoBack }}\n navLink={findLastBy({ to: selectedNavLinkRoute }, navLinks)}\n />\n ) : (\n <Links {...{ isCountsLoading, navLinks, setSelectedNavLinkRoute }} />\n )}\n </div>\n <Button\n className=\"neeto-molecules-sidebar__toggler\"\n data-cy=\"neeto-molecules-sidebar-toggler\"\n data-testid=\"sidebar-toggleButton\"\n style={isLargerScreen() ? \"text\" : \"secondary\"}\n icon={() => (\n <Chevron\n style={{ color: `rgb(var(--neeto-${productName}-primary))` }}\n />\n )}\n tooltipProps={{\n content: isSidebarClosed\n ? t(\"neetoMolecules.sidebar.showMenu\")\n : t(\"neetoMolecules.sidebar.hideMenu\"),\n position: \"bottom\",\n }}\n onClick={() => {\n setIsSidebarCollapsed(!isSidebarCollapsed);\n setIsSidebarPaneOpen(not);\n }}\n />\n </div>\n );\n};\n\nSidebar.propTypes = {\n /**\n * To specify the navlinks to be shown in sidebar.\n */\n navLinks: PropTypes.arrayOf(\n PropTypes.shape({\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n label: PropTypes.string,\n to: PropTypes.string,\n isActive: PropTypes.func,\n checkpointKey: PropTypes.string,\n isCountsLoading: PropTypes.bool,\n items: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n to: PropTypes.string,\n count: PropTypes.number,\n isActive: PropTypes.func,\n type: PropTypes.string,\n filters: PropTypes.array,\n checkpointKey: PropTypes.string,\n })\n ),\n })\n ),\n /**\n * To override the logo displayed on the sidebar.\n */\n customLogo: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n /**\n * Boolean to notate whether the counts are being fetched.\n */\n isCountsLoading: PropTypes.bool,\n};\n\nexport default Sidebar;\n"],"names":["Chevron","_ref","style","React","createElement","height","viewBox","width","d","fill","Header","_ProductTypefaceLogos","customLogo","clearSettingsNav","productName","globalProps","appName","substr","logoName","concat","capitalize","toLowerCase","ProductTypefaceLogo","ProductTypefaceLogos","Neeto","LogoComponent","_useFetchNeetoApps","useFetchNeetoApps","data","homePath","neetoApps","thisApp","findBy","name","url","URL","pathname","className","Link","to","onClick","memo","Links","navLinks","isCountsLoadingDeprecated","isCountsLoading","setSelectedNavLinkRoute","location","useLocation","_useState","useState","_useState2","_slicedToArray","isActiveLinkExpanded","setIsActiveLinkExpanded","handleNavLinkClick","_ref2","event","isActive","items","navLink","isNotPresent","isConfigureNavLink","isNotEmpty","not","preventDefault","filter","filterByPermissions","map","index","label","icon","_navLink$isCountsLoad","otherProps","_objectWithoutProperties","_excluded","IconSVG","window","href","is","Function","startsWith","isMenuExpanded","Fragment","key","CheckPointNavLinks","_extends","activeClassName","hyphenate","_objectSpread","Typography","component","weight","classnames","Down","size","Items","Sidebar","_ref$isCountsLoading","isSidebarPaneOpen","setIsSidebarPaneOpen","_useState3","_useState4","selectedNavLinkRoute","_useLocalStorage","useLocalStorage","getSidebarStateLocalStorageKey","_useLocalStorage2","isSidebarCollapsed","setIsSidebarCollapsed","history","useHistory","_useTranslation","useTranslation","t","isLargerScreen","innerWidth","isSidebarClosed","useEffect","isPresent","currentLink","findLast","includes","handleResize","addEventListener","removeEventListener","handleGoBack","settingsNavLink","find","link","push","buildUrl","SelectedLink","findLastBy","Button","color","tooltipProps","content","position"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Sidebar.js","sources":["../../src/components/Sidebar/Components/Header.jsx","../../src/components/Sidebar/Components/Links/index.jsx","../../src/components/Sidebar/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { capitalize, findBy } from \"neetocist\";\nimport useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport { Neeto } from \"neetoicons/typeface-logos\";\nimport * as ProductTypefaceLogos from \"neetoicons/typeface-logos\";\nimport { Link } from \"react-router-dom\";\n\nconst Header = ({ customLogo, clearSettingsNav }) => {\n const productName = globalProps.appName.substr(5);\n const logoName = `Neeto${capitalize(productName.toLowerCase())}`;\n const ProductTypefaceLogo = ProductTypefaceLogos[logoName] ?? Neeto;\n const LogoComponent = customLogo ?? ProductTypefaceLogo;\n\n const { data } = useFetchNeetoApps();\n\n let homePath = \"/\";\n if (data?.neetoApps) {\n const thisApp = findBy({ name: productName }, data.neetoApps);\n if (thisApp?.url) {\n homePath = new URL(thisApp?.url).pathname;\n }\n }\n\n return (\n <div\n className=\"neeto-molecules-sidebar__header neeto-molecules-sidebar__no-shrinkable\"\n data-cy=\"sidebar-info\"\n >\n <Link\n className=\"neeto-molecules-sidebar__logo neeto-ui-w-full\"\n to={homePath}\n onClick={clearSettingsNav}\n >\n <LogoComponent />\n </Link>\n </div>\n );\n};\n\nexport default React.memo(Header);\n","import React, { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { hyphenate, isNotEmpty, isNotPresent } from \"neetocist\";\nimport { Down } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\nimport { is, not } from \"ramda\";\nimport { useLocation } from \"react-router-dom\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\nimport Items from \"./Items\";\n\nimport { filterByPermissions } from \"../../utils\";\n\nconst Links = ({\n navLinks,\n isCountsLoading: isCountsLoadingDeprecated,\n setSelectedNavLinkRoute,\n}) => {\n const location = useLocation();\n const [isActiveLinkExpanded, setIsActiveLinkExpanded] = useState(true);\n\n const handleNavLinkClick = ({ event, isActive, items, navLink }) => {\n if (isNotPresent(items)) return;\n\n if (navLink.isConfigureNavLink && isNotEmpty(navLink.items)) {\n setSelectedNavLinkRoute(navLink.to);\n }\n\n if (isActive()) {\n setIsActiveLinkExpanded(not);\n event.preventDefault();\n\n return;\n }\n\n setIsActiveLinkExpanded(true);\n };\n\n return (\n <div className=\"neeto-molecules-sidebar__links neeto-molecules-sidebar__no-shrinkable\">\n {navLinks.filter(filterByPermissions).map((navLink, index) => {\n const {\n label,\n to,\n icon,\n items,\n isConfigureNavLink,\n isCountsLoading = false,\n ...otherProps\n } = navLink;\n const IconSVG = icon;\n const url = new URL(to, window.location.href);\n const isActive = () =>\n is(Function, otherProps.isActive)\n ? otherProps.isActive()\n : location.pathname.startsWith(url.pathname);\n\n const isMenuExpanded =\n isActive() && isActiveLinkExpanded && !isCountsLoadingDeprecated;\n\n return (\n <React.Fragment key={index}>\n <CheckPointNavLinks\n activeClassName=\"active\"\n className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-no-underline neeto-ui-select-none neeto-molecules-sidebar__link\"\n data-testid={`navlink-${hyphenate(label)}`}\n onClick={event =>\n handleNavLinkClick({ event, isActive, items, navLink })\n }\n {...{ isActive, to, ...otherProps }}\n >\n {icon && (\n <span\n className=\"neeto-molecules-sidebar__link-icon\"\n data-testid={label}\n >\n <IconSVG />\n </span>\n )}\n <Typography\n className=\"neeto-molecules-sidebar__link-label\"\n component=\"span\"\n style=\"body2\"\n weight=\"normal\"\n >\n {label}\n </Typography>\n {items && !isConfigureNavLink && (\n <span\n className={classnames(\n \"neeto-molecules-sidebar__link-icon neeto-molecules-sidebar__link-icon--caret\",\n {\n \"neeto-molecules-sidebar__link-icon--rotate\":\n isMenuExpanded,\n }\n )}\n >\n <Down size={16} />\n </span>\n )}\n </CheckPointNavLinks>\n {items && !isConfigureNavLink && isMenuExpanded && (\n <Items {...{ isCountsLoading, items, ...otherProps }} />\n )}\n </React.Fragment>\n );\n })}\n </div>\n );\n};\n\nexport default Links;\n","import React, { useEffect, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent, findLastBy } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { findLast, is, not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation, useHistory } from \"react-router-dom\";\n\nimport Chevron from \"./Components/Chevron\";\nimport Header from \"./Components/Header\";\nimport Links from \"./Components/Links\";\nimport SelectedLink from \"./Components/Links/SelectedLink\";\nimport \"./sidebar.scss\";\nimport { getSidebarStateLocalStorageKey } from \"./utils\";\n\nconst Sidebar = ({ navLinks, customLogo, isCountsLoading = false }) => {\n const productName = globalProps.appName.substr(5).toLowerCase();\n const [isSidebarPaneOpen, setIsSidebarPaneOpen] = useState(false);\n const [selectedNavLinkRoute, setSelectedNavLinkRoute] = useState(null);\n const [isSidebarCollapsed, setIsSidebarCollapsed] = useLocalStorage(\n getSidebarStateLocalStorageKey(),\n false\n );\n\n const location = useLocation();\n const history = useHistory();\n const { t } = useTranslation();\n\n const isLargerScreen = () => window.innerWidth > 768;\n const isSidebarClosed = isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen);\n\n useEffect(() => {\n if (!isPresent(navLinks)) return;\n const currentLink = findLast(({ to, isActive }) => {\n const url = new URL(to, window.location.href);\n\n return is(Function, isActive)\n ? isActive()\n : location.pathname.includes(url.pathname);\n })(navLinks);\n\n if (isPresent(currentLink)) {\n setSelectedNavLinkRoute(\n currentLink.isConfigureNavLink ? currentLink.to : null\n );\n }\n }, []);\n\n useEffect(() => {\n const handleResize = () => {\n if (isLargerScreen()) return;\n setIsSidebarPaneOpen(false);\n setIsSidebarCollapsed(true);\n };\n window.addEventListener(\"resize\", handleResize);\n\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n const handleGoBack = event => {\n event.preventDefault();\n setSelectedNavLinkRoute(null);\n const settingsNavLink = navLinks.find(\n link => isPresent(link.isConfigureNavLink) && link.isConfigureNavLink\n );\n if (settingsNavLink.to) {\n history.push(buildUrl(settingsNavLink.to));\n }\n };\n\n return (\n <div\n data-testid=\"sidebar-container\"\n className={classnames(\"neeto-molecules-sidebar__wrapper\", {\n \"neeto-molecules-sidebar__wrapper--collapsed\": isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen),\n })}\n >\n <div\n className=\"neeto-molecules-sidebar__backdrop\"\n onClick={() => {\n setIsSidebarPaneOpen(false);\n setSelectedNavLinkRoute(null);\n }}\n />\n <div\n data-cy=\"sidebar-wrapper\"\n data-testid=\"sidebar\"\n className={classnames(\n \"neeto-molecules-sidebar neeto-ui-flex neeto-ui-flex-col neeto-ui-flex-shrink-0 neeto-ui-overflow-y-auto neeto-ui-overflow-x-hidden\",\n {\n \"neeto-molecules-sidebar--focus-mode\":\n isPresent(selectedNavLinkRoute),\n }\n )}\n >\n <Header\n {...{ customLogo }}\n clearSettingsNav={() => setSelectedNavLinkRoute(null)}\n />\n {isPresent(selectedNavLinkRoute) ? (\n <SelectedLink\n {...{ handleGoBack }}\n navLink={findLastBy({ to: selectedNavLinkRoute }, navLinks)}\n />\n ) : (\n <Links {...{ isCountsLoading, navLinks, setSelectedNavLinkRoute }} />\n )}\n </div>\n <Button\n className=\"neeto-molecules-sidebar__toggler\"\n data-cy=\"neeto-molecules-sidebar-toggler\"\n data-testid=\"sidebar-toggleButton\"\n style={isLargerScreen() ? \"text\" : \"secondary\"}\n icon={() => (\n <Chevron\n style={{ color: `rgb(var(--neeto-${productName}-primary))` }}\n />\n )}\n tooltipProps={{\n content: isSidebarClosed\n ? t(\"neetoMolecules.sidebar.showMenu\")\n : t(\"neetoMolecules.sidebar.hideMenu\"),\n position: \"bottom\",\n }}\n onClick={() => {\n setIsSidebarCollapsed(!isSidebarCollapsed);\n setIsSidebarPaneOpen(not);\n }}\n />\n </div>\n );\n};\n\nSidebar.propTypes = {\n /**\n * To specify the navlinks to be shown in sidebar.\n */\n navLinks: PropTypes.arrayOf(\n PropTypes.shape({\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n label: PropTypes.string,\n to: PropTypes.string,\n isActive: PropTypes.func,\n checkpointKey: PropTypes.string,\n isCountsLoading: PropTypes.bool,\n items: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n to: PropTypes.string,\n count: PropTypes.number,\n isActive: PropTypes.func,\n type: PropTypes.string,\n filters: PropTypes.array,\n checkpointKey: PropTypes.string,\n })\n ),\n })\n ),\n /**\n * To override the logo displayed on the sidebar.\n */\n customLogo: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n /**\n * Boolean to notate whether the counts are being fetched.\n */\n isCountsLoading: PropTypes.bool,\n};\n\nexport default Sidebar;\n"],"names":["Header","_ref","_ProductTypefaceLogos","customLogo","clearSettingsNav","productName","globalProps","appName","substr","logoName","concat","capitalize","toLowerCase","ProductTypefaceLogo","ProductTypefaceLogos","Neeto","LogoComponent","_useFetchNeetoApps","useFetchNeetoApps","data","homePath","neetoApps","thisApp","findBy","name","url","URL","pathname","React","createElement","className","Link","to","onClick","memo","Links","navLinks","isCountsLoadingDeprecated","isCountsLoading","setSelectedNavLinkRoute","location","useLocation","_useState","useState","_useState2","_slicedToArray","isActiveLinkExpanded","setIsActiveLinkExpanded","handleNavLinkClick","_ref2","event","isActive","items","navLink","isNotPresent","isConfigureNavLink","isNotEmpty","not","preventDefault","filter","filterByPermissions","map","index","label","icon","_navLink$isCountsLoad","otherProps","_objectWithoutProperties","_excluded","IconSVG","window","href","is","Function","startsWith","isMenuExpanded","Fragment","key","CheckPointNavLinks","_extends","activeClassName","hyphenate","_objectSpread","Typography","component","style","weight","classnames","Down","size","Items","Sidebar","_ref$isCountsLoading","isSidebarPaneOpen","setIsSidebarPaneOpen","_useState3","_useState4","selectedNavLinkRoute","_useLocalStorage","useLocalStorage","getSidebarStateLocalStorageKey","_useLocalStorage2","isSidebarCollapsed","setIsSidebarCollapsed","history","useHistory","_useTranslation","useTranslation","t","isLargerScreen","innerWidth","isSidebarClosed","useEffect","isPresent","currentLink","findLast","includes","handleResize","addEventListener","removeEventListener","handleGoBack","settingsNavLink","find","link","push","buildUrl","SelectedLink","findLastBy","Button","Chevron","color","tooltipProps","content","position"],"mappings":"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"}
|