@bigbinary/neeto-molecules 3.16.54 → 3.16.56
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/ShareRecordingPane.js +54 -9
- package/dist/ShareRecordingPane.js.map +1 -1
- package/dist/Sidebar.js +6 -2
- package/dist/Sidebar.js.map +1 -1
- package/dist/cjs/ShareRecordingPane.js +53 -8
- package/dist/cjs/ShareRecordingPane.js.map +1 -1
- package/dist/cjs/Sidebar.js +6 -2
- package/dist/cjs/Sidebar.js.map +1 -1
- package/package.json +1 -1
- package/src/translations/en.json +6 -4
- package/types/ShareRecordingPane.d.ts +1 -0
|
@@ -11,7 +11,8 @@ import { buildUrl } from '@bigbinary/neeto-commons-frontend/utils';
|
|
|
11
11
|
import Label from '@bigbinary/neetoui/Label';
|
|
12
12
|
import Input from '@bigbinary/neetoui/Input';
|
|
13
13
|
import Tooltip from '@bigbinary/neetoui/Tooltip';
|
|
14
|
-
import
|
|
14
|
+
import Switch from '@bigbinary/neetoui/Switch';
|
|
15
|
+
import { not, assoc } from 'ramda';
|
|
15
16
|
import CopyToClipboardButton from './CopyToClipboardButton.js';
|
|
16
17
|
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
17
18
|
import 'classnames';
|
|
@@ -73,7 +74,8 @@ var SharePaneBody = function SharePaneBody(_ref) {
|
|
|
73
74
|
totalDuration = _ref.totalDuration,
|
|
74
75
|
getCurrentTimestamp = _ref.getCurrentTimestamp,
|
|
75
76
|
isOpen = _ref.isOpen,
|
|
76
|
-
Preview = _ref.preview
|
|
77
|
+
Preview = _ref.preview,
|
|
78
|
+
enableAutoplayAndMuteFlags = _ref.enableAutoplayAndMuteFlags;
|
|
77
79
|
var _useTranslation = useTranslation(),
|
|
78
80
|
t = _useTranslation.t;
|
|
79
81
|
var currentTimestamp = getCurrentTimestamp();
|
|
@@ -85,10 +87,19 @@ var SharePaneBody = function SharePaneBody(_ref) {
|
|
|
85
87
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
86
88
|
currentPlaybackTime = _useState4[0],
|
|
87
89
|
setCurrentPlaybackTime = _useState4[1];
|
|
88
|
-
var _useState5 = useState(
|
|
90
|
+
var _useState5 = useState({
|
|
91
|
+
muted: false,
|
|
92
|
+
autoplay: false
|
|
93
|
+
}),
|
|
89
94
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
90
|
-
|
|
91
|
-
|
|
95
|
+
params = _useState6[0],
|
|
96
|
+
setParams = _useState6[1];
|
|
97
|
+
var muted = params.muted,
|
|
98
|
+
autoplay = params.autoplay;
|
|
99
|
+
var _useState7 = useState(""),
|
|
100
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
101
|
+
rawInput = _useState8[0],
|
|
102
|
+
setRawInput = _useState8[1];
|
|
92
103
|
var showHours = shouldRenderHoursInput(totalDuration);
|
|
93
104
|
var handlePlaybackTimestampChange = function handlePlaybackTimestampChange(e) {
|
|
94
105
|
var input = e.target.value;
|
|
@@ -96,6 +107,9 @@ var SharePaneBody = function SharePaneBody(_ref) {
|
|
|
96
107
|
setRawInput(input);
|
|
97
108
|
}
|
|
98
109
|
};
|
|
110
|
+
var handleFlagsChange = function handleFlagsChange(key, value) {
|
|
111
|
+
return setParams(assoc(key, value));
|
|
112
|
+
};
|
|
99
113
|
var formatAndSetTime = function formatAndSetTime() {
|
|
100
114
|
var timeInSeconds = parseTime(rawInput);
|
|
101
115
|
if (timeInSeconds > totalDuration) {
|
|
@@ -105,7 +119,7 @@ var SharePaneBody = function SharePaneBody(_ref) {
|
|
|
105
119
|
setRawInput(formatTime(timeInSeconds, showHours));
|
|
106
120
|
};
|
|
107
121
|
var handleKeyDown = function handleKeyDown(e) {
|
|
108
|
-
if (
|
|
122
|
+
if (e.key !== "Enter") return;
|
|
109
123
|
formatAndSetTime();
|
|
110
124
|
};
|
|
111
125
|
useEffect(function () {
|
|
@@ -116,11 +130,13 @@ var SharePaneBody = function SharePaneBody(_ref) {
|
|
|
116
130
|
useEffect(function () {
|
|
117
131
|
var playbackUrls = recordingUrls.map(function (recordingUrl) {
|
|
118
132
|
return buildUrl(recordingUrl, {
|
|
119
|
-
time: currentPlaybackTime
|
|
133
|
+
time: currentPlaybackTime,
|
|
134
|
+
muted: muted ? 1 : undefined,
|
|
135
|
+
autoplay: autoplay ? 1 : undefined
|
|
120
136
|
});
|
|
121
137
|
});
|
|
122
138
|
setShareLinks(playbackUrls);
|
|
123
|
-
}, [recordingUrls, currentPlaybackTime]);
|
|
139
|
+
}, [recordingUrls, currentPlaybackTime, muted, autoplay]);
|
|
124
140
|
return /*#__PURE__*/jsxs(Fragment, {
|
|
125
141
|
children: [shareLinks.map(function (shareLink, index) {
|
|
126
142
|
return /*#__PURE__*/jsxs("div", {
|
|
@@ -151,6 +167,32 @@ var SharePaneBody = function SharePaneBody(_ref) {
|
|
|
151
167
|
onChange: handlePlaybackTimestampChange,
|
|
152
168
|
onKeyDown: handleKeyDown
|
|
153
169
|
})]
|
|
170
|
+
}), enableAutoplayAndMuteFlags && /*#__PURE__*/jsxs(Fragment, {
|
|
171
|
+
children: [/*#__PURE__*/jsx("div", {
|
|
172
|
+
className: "flex items-center gap-x-2",
|
|
173
|
+
children: /*#__PURE__*/jsx(Switch, {
|
|
174
|
+
checked: muted,
|
|
175
|
+
"data-cy": "muted-checkbox",
|
|
176
|
+
id: "muted",
|
|
177
|
+
label: t("neetoMolecules.shareRecording.muted"),
|
|
178
|
+
name: "muted",
|
|
179
|
+
onChange: function onChange(e) {
|
|
180
|
+
return handleFlagsChange("muted", e.target.checked);
|
|
181
|
+
}
|
|
182
|
+
})
|
|
183
|
+
}), /*#__PURE__*/jsx("div", {
|
|
184
|
+
className: "flex items-center gap-x-2",
|
|
185
|
+
children: /*#__PURE__*/jsx(Switch, {
|
|
186
|
+
checked: autoplay,
|
|
187
|
+
"data-cy": "autoplay-checkbox",
|
|
188
|
+
id: "autoplay",
|
|
189
|
+
label: t("neetoMolecules.shareRecording.autoplay"),
|
|
190
|
+
name: "autoplay",
|
|
191
|
+
onChange: function onChange(e) {
|
|
192
|
+
return handleFlagsChange("autoplay", e.target.checked);
|
|
193
|
+
}
|
|
194
|
+
})
|
|
195
|
+
})]
|
|
154
196
|
}), Preview && /*#__PURE__*/jsxs("div", {
|
|
155
197
|
className: "flex flex-col gap-y-2 pt-2",
|
|
156
198
|
children: [/*#__PURE__*/jsx(Label, {
|
|
@@ -162,7 +204,7 @@ var SharePaneBody = function SharePaneBody(_ref) {
|
|
|
162
204
|
});
|
|
163
205
|
};
|
|
164
206
|
|
|
165
|
-
var _excluded = ["recordingUrl", "recordingUrls", "totalDuration", "getCurrentTimestamp", "isOpen", "onClose", "isLoading", "preview"];
|
|
207
|
+
var _excluded = ["recordingUrl", "recordingUrls", "totalDuration", "getCurrentTimestamp", "isOpen", "onClose", "isLoading", "preview", "enableAutoplayAndMuteFlags"];
|
|
166
208
|
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; }
|
|
167
209
|
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(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; }
|
|
168
210
|
var ShareRecordingPane = function ShareRecordingPane(_ref) {
|
|
@@ -177,6 +219,8 @@ var ShareRecordingPane = function ShareRecordingPane(_ref) {
|
|
|
177
219
|
_ref$isLoading = _ref.isLoading,
|
|
178
220
|
isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
|
|
179
221
|
preview = _ref.preview,
|
|
222
|
+
_ref$enableAutoplayAn = _ref.enableAutoplayAndMuteFlags,
|
|
223
|
+
enableAutoplayAndMuteFlags = _ref$enableAutoplayAn === void 0 ? false : _ref$enableAutoplayAn,
|
|
180
224
|
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
181
225
|
var _useTranslation = useTranslation(),
|
|
182
226
|
t = _useTranslation.t;
|
|
@@ -197,6 +241,7 @@ var ShareRecordingPane = function ShareRecordingPane(_ref) {
|
|
|
197
241
|
children: isLoading ? /*#__PURE__*/jsx(Spinner, {
|
|
198
242
|
className: "mx-auto"
|
|
199
243
|
}) : /*#__PURE__*/jsx(SharePaneBody, {
|
|
244
|
+
enableAutoplayAndMuteFlags: enableAutoplayAndMuteFlags,
|
|
200
245
|
getCurrentTimestamp: getCurrentTimestamp,
|
|
201
246
|
isOpen: isOpen,
|
|
202
247
|
preview: preview,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShareRecordingPane.js","sources":["../src/components/ShareRecordingPane/constants.js","../src/components/ShareRecordingPane/utils.js","../src/components/ShareRecordingPane/SharePaneBody.jsx","../src/components/ShareRecordingPane/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 } from \"./constants\";\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\nexport const formatTime = (timeInSeconds, showHours) => {\n const hours = Math.floor(timeInSeconds / ONE_HOUR);\n const minutes = Math.floor((timeInSeconds % ONE_HOUR) / ONE_MINUTE);\n const seconds = timeInSeconds % ONE_MINUTE;\n\n return showHours\n ? `${padZero(hours)}:${padZero(minutes)}:${padZero(seconds)}`\n : `${padZero(minutes)}:${padZero(seconds)}`;\n};\n\nexport const parseTime = timeString => {\n const parts = timeString\n .split(\":\")\n .map(part => (part === \"\" ? NaN : parseInt(part, 10)));\n if (parts.some(isNaN) || parts.length > 3) {\n return 0;\n }\n\n if (parts.length === 1) {\n return parts[0];\n } else if (parts.length === 2) {\n return parts[0] * ONE_MINUTE + parts[1];\n } else if (parts.length === 3) {\n return parts[0] * ONE_HOUR + parts[1] * ONE_MINUTE + parts[2];\n }\n\n return 0;\n};\n\nexport const validateInput = input => {\n const regex = /^[0-9:]{0,8}$/;\n const colons = (input.match(/:/g) || []).length;\n\n return regex.test(input) && colons <= 2;\n};\n","import { useState, useEffect } from \"react\";\n\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Label, Typography, Input, Tooltip } from \"neetoui\";\nimport { not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\n\nimport {\n formatTime,\n parseTime,\n shouldRenderHoursInput,\n validateInput,\n} from \"./utils\";\n\nconst SharePaneBody = ({\n recordingUrls,\n totalDuration,\n getCurrentTimestamp,\n isOpen,\n preview: Preview,\n}) => {\n const { t } = useTranslation();\n\n const currentTimestamp = getCurrentTimestamp();\n\n const [shareLinks, setShareLinks] = useState([]);\n const [currentPlaybackTime, setCurrentPlaybackTime] =\n useState(currentTimestamp);\n const [rawInput, setRawInput] = useState(\"\");\n\n const showHours = shouldRenderHoursInput(totalDuration);\n\n const handlePlaybackTimestampChange = e => {\n const input = e.target.value;\n if (validateInput(input)) {\n setRawInput(input);\n }\n };\n\n const formatAndSetTime = () => {\n let timeInSeconds = parseTime(rawInput);\n if (timeInSeconds > totalDuration) {\n timeInSeconds = totalDuration;\n }\n setCurrentPlaybackTime(timeInSeconds);\n setRawInput(formatTime(timeInSeconds, showHours));\n };\n\n const handleKeyDown = e => {\n if (!(e.key === \"Enter\")) return;\n formatAndSetTime();\n };\n\n useEffect(() => {\n if (not(isOpen)) return;\n\n setCurrentPlaybackTime(currentTimestamp > 0 ? currentTimestamp : 0);\n setRawInput(\n formatTime(currentTimestamp > 0 ? currentTimestamp : 0, showHours)\n );\n }, [isOpen, showHours, currentTimestamp]);\n\n useEffect(() => {\n const playbackUrls = recordingUrls.map(recordingUrl =>\n buildUrl(recordingUrl, { time: currentPlaybackTime })\n );\n\n setShareLinks(playbackUrls);\n }, [recordingUrls, currentPlaybackTime]);\n\n return (\n <>\n {shareLinks.map((shareLink, index) => (\n <div\n className=\"neeto-ui-bg-gray-100 neeto-ui-rounded-lg mb-2 flex w-full items-center justify-between gap-1 p-2\"\n key={index}\n >\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 ))}\n <div className=\"flex items-center gap-x-2\">\n <Label>{t(\"neetoMolecules.shareRecording.checkboxLabel\")}</Label>\n <Input\n className=\"w-40\"\n data-cy=\"time-input\"\n placeholder={showHours ? \"HH:MM:SS\" : \"MM:SS\"}\n value={rawInput}\n onBlur={formatAndSetTime}\n onChange={handlePlaybackTimestampChange}\n onKeyDown={handleKeyDown}\n />\n </div>\n {Preview && (\n <div className=\"flex flex-col gap-y-2 pt-2\">\n <Label>{t(\"neetoMolecules.shareRecording.preview\")}</Label>\n <Preview {...{ currentPlaybackTime }} />\n </div>\n )}\n </>\n );\n};\n\nexport default SharePaneBody;\n","/* eslint-disable @bigbinary/neeto/no-dumb-components-with-use-translation */\nimport { isNotEmpty } from \"neetocist\";\nimport { Pane, Typography, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SharePaneBody from \"./SharePaneBody\";\n\nconst ShareRecordingPane = ({\n recordingUrl = null,\n recordingUrls = [],\n totalDuration,\n getCurrentTimestamp,\n isOpen,\n onClose,\n isLoading = false,\n preview,\n ...otherProps\n}) => {\n const { t } = useTranslation();\n\n const recordingUrlsToShare = isNotEmpty(recordingUrls)\n ? recordingUrls\n : [recordingUrl];\n\n return (\n <Pane\n {...{ isOpen, onClose, ...otherProps }}\n data-cy=\"share-pane\"\n size=\"large\"\n >\n <Pane.Header>\n <Typography style=\"h2\">\n {t(\"neetoMolecules.shareRecording.title\")}\n </Typography>\n </Pane.Header>\n <Pane.Body className=\"flex flex-col space-y-2\">\n {isLoading ? (\n <Spinner className=\"mx-auto\" />\n ) : (\n <SharePaneBody\n {...{ getCurrentTimestamp, isOpen, preview, totalDuration }}\n recordingUrls={recordingUrlsToShare}\n />\n )}\n </Pane.Body>\n </Pane>\n );\n};\n\nShareRecordingPane.propTypes = {\n /**\n * Recording URL used for building the share link.\n */\n recordingUrl: PropTypes.string,\n /**\n * Recording URLs used for building the share link.\n */\n recordingUrls: PropTypes.array,\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 * Boolean indicating whether the pane is open or not.\n */\n isOpen: PropTypes.bool.isRequired,\n /**\n * Function to close the pane.\n */\n onClose: PropTypes.func.isRequired,\n /**\n * Boolean indicating whether content is loading or not.\n */\n isLoading: PropTypes.bool,\n /**\n * Component to render as a preview of the recording.\n */\n preview: PropTypes.elementType,\n};\n\nexport default ShareRecordingPane;\n"],"names":["ONE_SECOND","ONE_MINUTE","ONE_HOUR","padZero","number","length","arguments","undefined","string","String","threshold","Math","pow","concat","shouldRenderHoursInput","duration","hours","floor","formatTime","timeInSeconds","showHours","minutes","seconds","parseTime","timeString","parts","split","map","part","NaN","parseInt","some","isNaN","validateInput","input","regex","colons","match","test","SharePaneBody","_ref","recordingUrls","totalDuration","getCurrentTimestamp","isOpen","Preview","preview","_useTranslation","useTranslation","t","currentTimestamp","_useState","useState","_useState2","_slicedToArray","shareLinks","setShareLinks","_useState3","_useState4","currentPlaybackTime","setCurrentPlaybackTime","_useState5","_useState6","rawInput","setRawInput","handlePlaybackTimestampChange","e","target","value","formatAndSetTime","handleKeyDown","key","useEffect","not","playbackUrls","recordingUrl","buildUrl","time","_jsxs","_Fragment","children","shareLink","index","className","_jsx","Tooltip","content","Typography","style","CopyToClipboardButton","Label","Input","placeholder","onBlur","onChange","onKeyDown","ShareRecordingPane","_ref$recordingUrl","_ref$recordingUrls","onClose","_ref$isLoading","isLoading","otherProps","_objectWithoutProperties","_excluded","recordingUrlsToShare","isNotEmpty","Pane","_objectSpread","size","Header","Body","Spinner"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAO,IAAMA,UAAU,GAAG,CAAC,CAAA;AACpB,IAAMC,UAAU,GAAG,EAAE,GAAGD,UAAU,CAAA;AAClC,IAAME,QAAQ,GAAG,EAAE,GAAGD,UAAU;;ACAhC,IAAME,OAAO,GAAG,SAAVA,OAAOA,CAAIC,MAAM,EAAiB;AAAA,EAAA,IAAfC,MAAM,GAAAC,SAAA,CAAAD,MAAA,GAAA,CAAA,IAAAC,SAAA,CAAA,CAAA,CAAA,KAAAC,SAAA,GAAAD,SAAA,CAAA,CAAA,CAAA,GAAG,CAAC,CAAA;AACxC,EAAA,IAAIE,MAAM,GAAGC,MAAM,CAACL,MAAM,CAAC,CAAA;EAC3B,IAAMM,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,EAAE,EAAEP,MAAM,GAAG,CAAC,CAAC,CAAA;EAE1C,IAAID,MAAM,GAAGM,SAAS,EAAE;IACtB,OAAOD,MAAM,CAACC,SAAS,CAAC,CAACL,MAAM,GAAGG,MAAM,CAACH,MAAM,EAAE;AAC/CG,MAAAA,MAAM,GAAAK,GAAAA,CAAAA,MAAA,CAAOT,MAAM,CAAE,CAAA;AACvB,KAAA;AACF,GAAA;AAEA,EAAA,OAAOI,MAAM,CAAA;AACf,CAAC,CAAA;AAEM,IAAMM,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAGC,QAAQ,EAAI;EAChD,IAAMC,KAAK,GAAGL,IAAI,CAACM,KAAK,CAACF,QAAQ,GAAGb,QAAQ,CAAC,CAAA;EAE7C,OAAOc,KAAK,GAAG,CAAC,CAAA;AAClB,CAAC,CAAA;AAEM,IAAME,UAAU,GAAG,SAAbA,UAAUA,CAAIC,aAAa,EAAEC,SAAS,EAAK;EACtD,IAAMJ,KAAK,GAAGL,IAAI,CAACM,KAAK,CAACE,aAAa,GAAGjB,QAAQ,CAAC,CAAA;EAClD,IAAMmB,OAAO,GAAGV,IAAI,CAACM,KAAK,CAAEE,aAAa,GAAGjB,QAAQ,GAAID,UAAU,CAAC,CAAA;AACnE,EAAA,IAAMqB,OAAO,GAAGH,aAAa,GAAGlB,UAAU,CAAA;AAE1C,EAAA,OAAOmB,SAAS,GAAAP,EAAAA,CAAAA,MAAA,CACTV,OAAO,CAACa,KAAK,CAAC,EAAAH,GAAAA,CAAAA,CAAAA,MAAA,CAAIV,OAAO,CAACkB,OAAO,CAAC,OAAAR,MAAA,CAAIV,OAAO,CAACmB,OAAO,CAAC,CAAA,GAAA,EAAA,CAAAT,MAAA,CACtDV,OAAO,CAACkB,OAAO,CAAC,EAAA,GAAA,CAAA,CAAAR,MAAA,CAAIV,OAAO,CAACmB,OAAO,CAAC,CAAE,CAAA;AAC/C,CAAC,CAAA;AAEM,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAGC,UAAU,EAAI;AACrC,EAAA,IAAMC,KAAK,GAAGD,UAAU,CACrBE,KAAK,CAAC,GAAG,CAAC,CACVC,GAAG,CAAC,UAAAC,IAAI,EAAA;IAAA,OAAKA,IAAI,KAAK,EAAE,GAAGC,GAAG,GAAGC,QAAQ,CAACF,IAAI,EAAE,EAAE,CAAC,CAAA;AAAA,GAAC,CAAC,CAAA;AACxD,EAAA,IAAIH,KAAK,CAACM,IAAI,CAACC,KAAK,CAAC,IAAIP,KAAK,CAACpB,MAAM,GAAG,CAAC,EAAE;AACzC,IAAA,OAAO,CAAC,CAAA;AACV,GAAA;AAEA,EAAA,IAAIoB,KAAK,CAACpB,MAAM,KAAK,CAAC,EAAE;IACtB,OAAOoB,KAAK,CAAC,CAAC,CAAC,CAAA;AACjB,GAAC,MAAM,IAAIA,KAAK,CAACpB,MAAM,KAAK,CAAC,EAAE;IAC7B,OAAOoB,KAAK,CAAC,CAAC,CAAC,GAAGxB,UAAU,GAAGwB,KAAK,CAAC,CAAC,CAAC,CAAA;AACzC,GAAC,MAAM,IAAIA,KAAK,CAACpB,MAAM,KAAK,CAAC,EAAE;AAC7B,IAAA,OAAOoB,KAAK,CAAC,CAAC,CAAC,GAAGvB,QAAQ,GAAGuB,KAAK,CAAC,CAAC,CAAC,GAAGxB,UAAU,GAAGwB,KAAK,CAAC,CAAC,CAAC,CAAA;AAC/D,GAAA;AAEA,EAAA,OAAO,CAAC,CAAA;AACV,CAAC,CAAA;AAEM,IAAMQ,aAAa,GAAG,SAAhBA,aAAaA,CAAGC,KAAK,EAAI;EACpC,IAAMC,KAAK,GAAG,eAAe,CAAA;AAC7B,EAAA,IAAMC,MAAM,GAAG,CAACF,KAAK,CAACG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAAEhC,MAAM,CAAA;EAE/C,OAAO8B,KAAK,CAACG,IAAI,CAACJ,KAAK,CAAC,IAAIE,MAAM,IAAI,CAAC,CAAA;AACzC,CAAC;;ACvCD,IAAMG,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,IAAA,EAMb;AAAA,EAAA,IALJC,aAAa,GAAAD,IAAA,CAAbC,aAAa;IACbC,aAAa,GAAAF,IAAA,CAAbE,aAAa;IACbC,mBAAmB,GAAAH,IAAA,CAAnBG,mBAAmB;IACnBC,MAAM,GAAAJ,IAAA,CAANI,MAAM;IACGC,OAAO,GAAAL,IAAA,CAAhBM,OAAO,CAAA;AAEP,EAAA,IAAAC,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AAET,EAAA,IAAMC,gBAAgB,GAAGP,mBAAmB,EAAE,CAAA;AAE9C,EAAA,IAAAQ,SAAA,GAAoCC,QAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAzCI,IAAAA,UAAU,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,aAAa,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAChC,EAAA,IAAAI,UAAA,GACEL,QAAQ,CAACF,gBAAgB,CAAC;IAAAQ,UAAA,GAAAJ,cAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AADrBE,IAAAA,mBAAmB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,sBAAsB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAElD,EAAA,IAAAG,UAAA,GAAgCT,QAAQ,CAAC,EAAE,CAAC;IAAAU,UAAA,GAAAR,cAAA,CAAAO,UAAA,EAAA,CAAA,CAAA;AAArCE,IAAAA,QAAQ,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,WAAW,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAE5B,EAAA,IAAM1C,SAAS,GAAGN,sBAAsB,CAAC4B,aAAa,CAAC,CAAA;AAEvD,EAAA,IAAMuB,6BAA6B,GAAG,SAAhCA,6BAA6BA,CAAGC,CAAC,EAAI;AACzC,IAAA,IAAMhC,KAAK,GAAGgC,CAAC,CAACC,MAAM,CAACC,KAAK,CAAA;AAC5B,IAAA,IAAInC,aAAa,CAACC,KAAK,CAAC,EAAE;MACxB8B,WAAW,CAAC9B,KAAK,CAAC,CAAA;AACpB,KAAA;GACD,CAAA;AAED,EAAA,IAAMmC,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAS;AAC7B,IAAA,IAAIlD,aAAa,GAAGI,SAAS,CAACwC,QAAQ,CAAC,CAAA;IACvC,IAAI5C,aAAa,GAAGuB,aAAa,EAAE;AACjCvB,MAAAA,aAAa,GAAGuB,aAAa,CAAA;AAC/B,KAAA;IACAkB,sBAAsB,CAACzC,aAAa,CAAC,CAAA;AACrC6C,IAAAA,WAAW,CAAC9C,UAAU,CAACC,aAAa,EAAEC,SAAS,CAAC,CAAC,CAAA;GAClD,CAAA;AAED,EAAA,IAAMkD,aAAa,GAAG,SAAhBA,aAAaA,CAAGJ,CAAC,EAAI;AACzB,IAAA,IAAI,EAAEA,CAAC,CAACK,GAAG,KAAK,OAAO,CAAC,EAAE,OAAA;AAC1BF,IAAAA,gBAAgB,EAAE,CAAA;GACnB,CAAA;AAEDG,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAIC,GAAG,CAAC7B,MAAM,CAAC,EAAE,OAAA;IAEjBgB,sBAAsB,CAACV,gBAAgB,GAAG,CAAC,GAAGA,gBAAgB,GAAG,CAAC,CAAC,CAAA;AACnEc,IAAAA,WAAW,CACT9C,UAAU,CAACgC,gBAAgB,GAAG,CAAC,GAAGA,gBAAgB,GAAG,CAAC,EAAE9B,SAAS,CACnE,CAAC,CAAA;GACF,EAAE,CAACwB,MAAM,EAAExB,SAAS,EAAE8B,gBAAgB,CAAC,CAAC,CAAA;AAEzCsB,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAME,YAAY,GAAGjC,aAAa,CAACd,GAAG,CAAC,UAAAgD,YAAY,EAAA;MAAA,OACjDC,QAAQ,CAACD,YAAY,EAAE;AAAEE,QAAAA,IAAI,EAAElB,mBAAAA;AAAoB,OAAC,CAAC,CAAA;AAAA,KACvD,CAAC,CAAA;IAEDH,aAAa,CAACkB,YAAY,CAAC,CAAA;AAC7B,GAAC,EAAE,CAACjC,aAAa,EAAEkB,mBAAmB,CAAC,CAAC,CAAA;EAExC,oBACEmB,IAAA,CAAAC,QAAA,EAAA;IAAAC,QAAA,EAAA,CACGzB,UAAU,CAAC5B,GAAG,CAAC,UAACsD,SAAS,EAAEC,KAAK,EAAA;AAAA,MAAA,oBAC/BJ,IAAA,CAAA,KAAA,EAAA;AACEK,QAAAA,SAAS,EAAC,kGAAkG;QAAAH,QAAA,EAAA,cAG5GI,GAAA,CAACC,OAAO,EAAA;AAACC,UAAAA,OAAO,EAAEL,SAAU;UAAAD,QAAA,eAC1BI,GAAA,CAACG,UAAU,EAAA;AAACJ,YAAAA,SAAS,EAAC,UAAU;AAACK,YAAAA,KAAK,EAAC,OAAO;AAAAR,YAAAA,QAAA,EAC3CC,SAAAA;WACS,CAAA;AAAC,SACN,CAAC,eACVG,GAAA,CAACK,qBAAqB,EAAA;AACpBN,UAAAA,SAAS,EAAC,eAAe;AACzBK,UAAAA,KAAK,EAAC,WAAW;AACjBpB,UAAAA,KAAK,EAAEa,SAAAA;AAAU,SAClB,CAAC,CAAA;AAAA,OAAA,EAXGC,KAYF,CAAC,CAAA;KACP,CAAC,eACFJ,IAAA,CAAA,KAAA,EAAA;AAAKK,MAAAA,SAAS,EAAC,2BAA2B;MAAAH,QAAA,EAAA,cACxCI,GAAA,CAACM,KAAK,EAAA;QAAAV,QAAA,EAAE/B,CAAC,CAAC,6CAA6C,CAAA;AAAC,OAAQ,CAAC,eACjEmC,GAAA,CAACO,KAAK,EAAA;AACJR,QAAAA,SAAS,EAAC,MAAM;AAChB,QAAA,SAAA,EAAQ,YAAY;AACpBS,QAAAA,WAAW,EAAExE,SAAS,GAAG,UAAU,GAAG,OAAQ;AAC9CgD,QAAAA,KAAK,EAAEL,QAAS;AAChB8B,QAAAA,MAAM,EAAExB,gBAAiB;AACzByB,QAAAA,QAAQ,EAAE7B,6BAA8B;AACxC8B,QAAAA,SAAS,EAAEzB,aAAAA;AAAc,OAC1B,CAAC,CAAA;AAAA,KACC,CAAC,EACLzB,OAAO,iBACNiC,IAAA,CAAA,KAAA,EAAA;AAAKK,MAAAA,SAAS,EAAC,4BAA4B;MAAAH,QAAA,EAAA,cACzCI,GAAA,CAACM,KAAK,EAAA;QAAAV,QAAA,EAAE/B,CAAC,CAAC,uCAAuC,CAAA;AAAC,OAAQ,CAAC,eAC3DmC,GAAA,CAACvC,OAAO,EAAA;AAAOc,QAAAA,mBAAmB,EAAnBA,mBAAAA;AAAmB,OAAK,CAAC,CAAA;AAAA,KACrC,CACN,CAAA;AAAA,GACD,CAAC,CAAA;AAEP,CAAC;;;;;ACvGD,IAAMqC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAxD,IAAA,EAUlB;AAAA,EAAA,IAAAyD,iBAAA,GAAAzD,IAAA,CATJmC,YAAY;AAAZA,IAAAA,YAAY,GAAAsB,iBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,iBAAA;IAAAC,kBAAA,GAAA1D,IAAA,CACnBC,aAAa;AAAbA,IAAAA,aAAa,GAAAyD,kBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,kBAAA;IAClBxD,aAAa,GAAAF,IAAA,CAAbE,aAAa;IACbC,mBAAmB,GAAAH,IAAA,CAAnBG,mBAAmB;IACnBC,MAAM,GAAAJ,IAAA,CAANI,MAAM;IACNuD,OAAO,GAAA3D,IAAA,CAAP2D,OAAO;IAAAC,cAAA,GAAA5D,IAAA,CACP6D,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA;IACjBtD,OAAO,GAAAN,IAAA,CAAPM,OAAO;AACJwD,IAAAA,UAAU,GAAAC,wBAAA,CAAA/D,IAAA,EAAAgE,SAAA,CAAA,CAAA;AAEb,EAAA,IAAAzD,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;EAET,IAAMwD,oBAAoB,GAAGC,UAAU,CAACjE,aAAa,CAAC,GAClDA,aAAa,GACb,CAACkC,YAAY,CAAC,CAAA;EAElB,oBACEG,IAAA,CAAC6B,IAAI,EAAAC,aAAA,CAAAA,aAAA,KAAAA,aAAA,CAAA;AACGhE,IAAAA,MAAM,EAANA,MAAM;AAAEuD,IAAAA,OAAO,EAAPA,OAAAA;AAAO,GAAA,EAAKG,UAAU,CAAA,CAAA,EAAA,EAAA,EAAA;AACpC,IAAA,SAAA,EAAQ,YAAY;AACpBO,IAAAA,IAAI,EAAC,OAAO;AAAA7B,IAAAA,QAAA,EAEZI,cAAAA,GAAA,CAACuB,IAAI,CAACG,MAAM,EAAA;MAAA9B,QAAA,eACVI,GAAA,CAACG,UAAU,EAAA;AAACC,QAAAA,KAAK,EAAC,IAAI;QAAAR,QAAA,EACnB/B,CAAC,CAAC,qCAAqC,CAAA;OAC9B,CAAA;AAAC,KACF,CAAC,eACdmC,GAAA,CAACuB,IAAI,CAACI,IAAI,EAAA;AAAC5B,MAAAA,SAAS,EAAC,yBAAyB;AAAAH,MAAAA,QAAA,EAC3CqB,SAAS,gBACRjB,GAAA,CAAC4B,OAAO,EAAA;AAAC7B,QAAAA,SAAS,EAAC,SAAA;AAAS,OAAE,CAAC,gBAE/BC,GAAA,CAAC7C,aAAa,EAAA;AACNI,QAAAA,mBAAmB,EAAnBA,mBAAmB;AAAEC,QAAAA,MAAM,EAANA,MAAM;AAAEE,QAAAA,OAAO,EAAPA,OAAO;AAAEJ,QAAAA,aAAa,EAAbA,aAAa;AACzDD,QAAAA,aAAa,EAAEgE,oBAAAA;OAChB,CAAA;AACF,KACQ,CAAC,CAAA;AAAA,GAAA,CACR,CAAC,CAAA;AAEX;;;;"}
|
|
1
|
+
{"version":3,"file":"ShareRecordingPane.js","sources":["../src/components/ShareRecordingPane/constants.js","../src/components/ShareRecordingPane/utils.js","../src/components/ShareRecordingPane/SharePaneBody.jsx","../src/components/ShareRecordingPane/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 } from \"./constants\";\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\nexport const formatTime = (timeInSeconds, showHours) => {\n const hours = Math.floor(timeInSeconds / ONE_HOUR);\n const minutes = Math.floor((timeInSeconds % ONE_HOUR) / ONE_MINUTE);\n const seconds = timeInSeconds % ONE_MINUTE;\n\n return showHours\n ? `${padZero(hours)}:${padZero(minutes)}:${padZero(seconds)}`\n : `${padZero(minutes)}:${padZero(seconds)}`;\n};\n\nexport const parseTime = timeString => {\n const parts = timeString\n .split(\":\")\n .map(part => (part === \"\" ? NaN : parseInt(part, 10)));\n if (parts.some(isNaN) || parts.length > 3) {\n return 0;\n }\n\n if (parts.length === 1) {\n return parts[0];\n } else if (parts.length === 2) {\n return parts[0] * ONE_MINUTE + parts[1];\n } else if (parts.length === 3) {\n return parts[0] * ONE_HOUR + parts[1] * ONE_MINUTE + parts[2];\n }\n\n return 0;\n};\n\nexport const validateInput = input => {\n const regex = /^[0-9:]{0,8}$/;\n const colons = (input.match(/:/g) || []).length;\n\n return regex.test(input) && colons <= 2;\n};\n","import { useState, useEffect } from \"react\";\n\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Label, Typography, Input, Tooltip, Switch } from \"neetoui\";\nimport { assoc, not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\n\nimport {\n formatTime,\n parseTime,\n shouldRenderHoursInput,\n validateInput,\n} from \"./utils\";\n\nconst SharePaneBody = ({\n recordingUrls,\n totalDuration,\n getCurrentTimestamp,\n isOpen,\n preview: Preview,\n enableAutoplayAndMuteFlags,\n}) => {\n const { t } = useTranslation();\n\n const currentTimestamp = getCurrentTimestamp();\n\n const [shareLinks, setShareLinks] = useState([]);\n const [currentPlaybackTime, setCurrentPlaybackTime] =\n useState(currentTimestamp);\n\n const [params, setParams] = useState({\n muted: false,\n autoplay: false,\n });\n\n const { muted, autoplay } = params;\n\n const [rawInput, setRawInput] = useState(\"\");\n\n const showHours = shouldRenderHoursInput(totalDuration);\n\n const handlePlaybackTimestampChange = e => {\n const input = e.target.value;\n if (validateInput(input)) {\n setRawInput(input);\n }\n };\n\n const handleFlagsChange = (key, value) => setParams(assoc(key, value));\n\n const formatAndSetTime = () => {\n let timeInSeconds = parseTime(rawInput);\n if (timeInSeconds > totalDuration) {\n timeInSeconds = totalDuration;\n }\n setCurrentPlaybackTime(timeInSeconds);\n setRawInput(formatTime(timeInSeconds, showHours));\n };\n\n const handleKeyDown = e => {\n if (e.key !== \"Enter\") return;\n formatAndSetTime();\n };\n\n useEffect(() => {\n if (not(isOpen)) return;\n\n setCurrentPlaybackTime(currentTimestamp > 0 ? currentTimestamp : 0);\n setRawInput(\n formatTime(currentTimestamp > 0 ? currentTimestamp : 0, showHours)\n );\n }, [isOpen, showHours, currentTimestamp]);\n\n useEffect(() => {\n const playbackUrls = recordingUrls.map(recordingUrl =>\n buildUrl(recordingUrl, {\n time: currentPlaybackTime,\n muted: muted ? 1 : undefined,\n autoplay: autoplay ? 1 : undefined,\n })\n );\n\n setShareLinks(playbackUrls);\n }, [recordingUrls, currentPlaybackTime, muted, autoplay]);\n\n return (\n <>\n {shareLinks.map((shareLink, index) => (\n <div\n className=\"neeto-ui-bg-gray-100 neeto-ui-rounded-lg mb-2 flex w-full items-center justify-between gap-1 p-2\"\n key={index}\n >\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 ))}\n <div className=\"flex items-center gap-x-2\">\n <Label>{t(\"neetoMolecules.shareRecording.checkboxLabel\")}</Label>\n <Input\n className=\"w-40\"\n data-cy=\"time-input\"\n placeholder={showHours ? \"HH:MM:SS\" : \"MM:SS\"}\n value={rawInput}\n onBlur={formatAndSetTime}\n onChange={handlePlaybackTimestampChange}\n onKeyDown={handleKeyDown}\n />\n </div>\n {enableAutoplayAndMuteFlags && (\n <>\n <div className=\"flex items-center gap-x-2\">\n <Switch\n checked={muted}\n data-cy=\"muted-checkbox\"\n id=\"muted\"\n label={t(\"neetoMolecules.shareRecording.muted\")}\n name=\"muted\"\n onChange={e => handleFlagsChange(\"muted\", e.target.checked)}\n />\n </div>\n <div className=\"flex items-center gap-x-2\">\n <Switch\n checked={autoplay}\n data-cy=\"autoplay-checkbox\"\n id=\"autoplay\"\n label={t(\"neetoMolecules.shareRecording.autoplay\")}\n name=\"autoplay\"\n onChange={e => handleFlagsChange(\"autoplay\", e.target.checked)}\n />\n </div>\n </>\n )}\n {Preview && (\n <div className=\"flex flex-col gap-y-2 pt-2\">\n <Label>{t(\"neetoMolecules.shareRecording.preview\")}</Label>\n <Preview {...{ currentPlaybackTime }} />\n </div>\n )}\n </>\n );\n};\n\nexport default SharePaneBody;\n","/* eslint-disable @bigbinary/neeto/no-dumb-components-with-use-translation */\nimport { isNotEmpty } from \"neetocist\";\nimport { Pane, Typography, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SharePaneBody from \"./SharePaneBody\";\n\nconst ShareRecordingPane = ({\n recordingUrl = null,\n recordingUrls = [],\n totalDuration,\n getCurrentTimestamp,\n isOpen,\n onClose,\n isLoading = false,\n preview,\n enableAutoplayAndMuteFlags = false,\n ...otherProps\n}) => {\n const { t } = useTranslation();\n\n const recordingUrlsToShare = isNotEmpty(recordingUrls)\n ? recordingUrls\n : [recordingUrl];\n\n return (\n <Pane\n {...{ isOpen, onClose, ...otherProps }}\n data-cy=\"share-pane\"\n size=\"large\"\n >\n <Pane.Header>\n <Typography style=\"h2\">\n {t(\"neetoMolecules.shareRecording.title\")}\n </Typography>\n </Pane.Header>\n <Pane.Body className=\"flex flex-col space-y-2\">\n {isLoading ? (\n <Spinner className=\"mx-auto\" />\n ) : (\n <SharePaneBody\n {...{\n enableAutoplayAndMuteFlags,\n getCurrentTimestamp,\n isOpen,\n preview,\n totalDuration,\n }}\n recordingUrls={recordingUrlsToShare}\n />\n )}\n </Pane.Body>\n </Pane>\n );\n};\n\nShareRecordingPane.propTypes = {\n /**\n * Recording URL used for building the share link.\n */\n recordingUrl: PropTypes.string,\n /**\n * Recording URLs used for building the share link.\n */\n recordingUrls: PropTypes.array,\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 * Boolean indicating whether the pane is open or not.\n */\n isOpen: PropTypes.bool.isRequired,\n /**\n * Function to close the pane.\n */\n onClose: PropTypes.func.isRequired,\n /**\n * Boolean indicating whether content is loading or not.\n */\n isLoading: PropTypes.bool,\n /**\n * Component to render as a preview of the recording.\n */\n preview: PropTypes.elementType,\n};\n\nexport default ShareRecordingPane;\n"],"names":["ONE_SECOND","ONE_MINUTE","ONE_HOUR","padZero","number","length","arguments","undefined","string","String","threshold","Math","pow","concat","shouldRenderHoursInput","duration","hours","floor","formatTime","timeInSeconds","showHours","minutes","seconds","parseTime","timeString","parts","split","map","part","NaN","parseInt","some","isNaN","validateInput","input","regex","colons","match","test","SharePaneBody","_ref","recordingUrls","totalDuration","getCurrentTimestamp","isOpen","Preview","preview","enableAutoplayAndMuteFlags","_useTranslation","useTranslation","t","currentTimestamp","_useState","useState","_useState2","_slicedToArray","shareLinks","setShareLinks","_useState3","_useState4","currentPlaybackTime","setCurrentPlaybackTime","_useState5","muted","autoplay","_useState6","params","setParams","_useState7","_useState8","rawInput","setRawInput","handlePlaybackTimestampChange","e","target","value","handleFlagsChange","key","assoc","formatAndSetTime","handleKeyDown","useEffect","not","playbackUrls","recordingUrl","buildUrl","time","_jsxs","_Fragment","children","shareLink","index","className","_jsx","Tooltip","content","Typography","style","CopyToClipboardButton","Label","Input","placeholder","onBlur","onChange","onKeyDown","Switch","checked","id","label","name","ShareRecordingPane","_ref$recordingUrl","_ref$recordingUrls","onClose","_ref$isLoading","isLoading","_ref$enableAutoplayAn","otherProps","_objectWithoutProperties","_excluded","recordingUrlsToShare","isNotEmpty","Pane","_objectSpread","size","Header","Body","Spinner"],"mappings":"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"}
|
package/dist/Sidebar.js
CHANGED
|
@@ -11,6 +11,7 @@ import { not, is, findLast } from 'ramda';
|
|
|
11
11
|
import { useTranslation } from 'react-i18next';
|
|
12
12
|
import { Link, useLocation, useHistory } from 'react-router-dom';
|
|
13
13
|
import { f as filterByPermissions, a as CheckPointNavLinks, _ as _Items, b as SELECTED_NAV_LINK_ROUTE_STORAGE_KEY, g as getSidebarStateLocalStorageKey, c as SIDEBAR_WIDTH_KEY, D as DEFAULT_SIDEBAR_WIDTH, d as DEFAULT_HOME_PATH, S as SelectedLink, C as Chevron, e as enableDraggingStyles, h as disableDraggingStyles, i as getActiveConfigurePageLink, M as MIN_SIDEBAR_WIDTH, j as MAX_SIDEBAR_WIDTH } from './Chevron-DPCAbFvk.js';
|
|
14
|
+
import { globalProps as globalProps$1 } from '@bigbinary/neeto-commons-frontend/initializers';
|
|
14
15
|
import Neeto from '@bigbinary/neeto-icons/typeface-logos/Neeto';
|
|
15
16
|
import * as AppIcons from '@bigbinary/neeto-icons/typeface-logos';
|
|
16
17
|
import { jsx, jsxs, Fragment as Fragment$1 } from 'react/jsx-runtime';
|
|
@@ -33,16 +34,19 @@ var Header = function Header(_ref) {
|
|
|
33
34
|
var customLogo = _ref.customLogo,
|
|
34
35
|
clearSettingsNav = _ref.clearSettingsNav,
|
|
35
36
|
homePath = _ref.homePath;
|
|
36
|
-
var productName = globalProps.appName.substr(5);
|
|
37
|
+
var productName = globalProps$1.appName.substr(5);
|
|
37
38
|
var logoName = "Neeto".concat(capitalize(productName.toLowerCase()));
|
|
38
39
|
var ProductTypefaceLogo = (_ProductTypefaceLogos = AppIcons[logoName]) !== null && _ProductTypefaceLogos !== void 0 ? _ProductTypefaceLogos : Neeto;
|
|
39
40
|
var LogoComponent = customLogo !== null && customLogo !== void 0 ? customLogo : ProductTypefaceLogo;
|
|
41
|
+
var isOnboarded = globalProps$1.user.isOnboarded !== false;
|
|
40
42
|
return /*#__PURE__*/jsx("div", {
|
|
41
43
|
className: "neeto-molecules-sidebar__header neeto-molecules-sidebar__no-shrinkable",
|
|
42
44
|
"data-cy": "sidebar-info",
|
|
43
45
|
children: /*#__PURE__*/jsx(Link, {
|
|
44
|
-
className: "neeto-molecules-sidebar__logo neeto-ui-w-full",
|
|
45
46
|
to: homePath,
|
|
47
|
+
className: classnames("neeto-molecules-sidebar__logo neeto-ui-w-full", {
|
|
48
|
+
"pointer-events-none": isOnboarded
|
|
49
|
+
}),
|
|
46
50
|
onClick: clearSettingsNav,
|
|
47
51
|
children: /*#__PURE__*/jsx(LogoComponent, {
|
|
48
52
|
className: classnames({
|
package/dist/Sidebar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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 { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { capitalize } from \"neetocist\";\nimport { Neeto } from \"neetoicons/typeface-logos\";\nimport * as ProductTypefaceLogos from \"neetoicons/typeface-logos\";\nimport { Link } from \"react-router-dom\";\n\nconst Header = ({ customLogo, clearSettingsNav, homePath }) => {\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 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 className={classnames({\n \"neeto-molecules-sidebar__logo\": !customLogo,\n })}\n />\n </Link>\n </div>\n );\n};\n\nexport default memo(Header);\n","import { Fragment, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { hyphenate, isNotEmpty, isPresent } from \"neetocist\";\nimport { Right } 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 renderCount = count => (count > 999 ? \"999+\" : count);\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, navLink }) => {\n const isExpandable =\n isPresent(navLink.items) || isPresent(navLink.component);\n if (!isExpandable) return;\n\n if (navLink.isConfigureNavLink && isNotEmpty(navLink.items)) {\n setSelectedNavLinkRoute(navLink.to);\n }\n\n if (isActive()) {\n setIsActiveLinkExpanded(not);\n navLink.resetPath !== true && 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 count = null,\n component: Component,\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 isExpandable = items || Component;\n const isMenuExpanded =\n isActive() && isActiveLinkExpanded && !isCountsLoadingDeprecated;\n\n return (\n <Fragment key={navLink.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, 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 {isPresent(count) && !isCountsLoading && (\n <span className=\"neeto-molecules-sidebar__link-unread-count\">\n {renderCount(count)}\n </span>\n )}\n </span>\n )}\n <Typography\n className=\"neeto-molecules-sidebar__link-label neeto-ui-flex-grow flex items-center gap-1\"\n component=\"span\"\n style=\"body2\"\n >\n {label}\n </Typography>\n {isExpandable && !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 <Right size={16} />\n </span>\n )}\n </CheckPointNavLinks>\n {isExpandable && !isConfigureNavLink && isMenuExpanded && (\n <>\n {items && (\n <Items {...{ isCountsLoading, items, ...otherProps }} />\n )}\n {Component && <Component {...{ navLink }} />}\n </>\n )}\n </Fragment>\n );\n })}\n </div>\n );\n};\n\nexport default Links;\n","import { useEffect, useMemo, useState, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent, isNotEmpty, findBy } from \"neetocist\";\nimport useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Button, Typography } 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 {\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n DEFAULT_HOME_PATH,\n SIDEBAR_WIDTH_KEY,\n MIN_SIDEBAR_WIDTH,\n MAX_SIDEBAR_WIDTH,\n DEFAULT_SIDEBAR_WIDTH,\n} from \"./constants\";\nimport \"./sidebar.scss\";\nimport {\n getActiveConfigurePageLink,\n getSidebarStateLocalStorageKey,\n enableDraggingStyles,\n disableDraggingStyles,\n} from \"./utils\";\n\nimport useKeyboardShortcutsPaneState from \"../KeyboardShortcuts/hooks/useKeyboardShortcutsPaneState\";\n\nconst Sidebar = ({\n navLinks,\n customLogo,\n isCountsLoading = false,\n showWorkspaceName = false,\n isExpandable = true,\n}) => {\n const [isKeyboardShortcutsPaneOpen] = useKeyboardShortcutsPaneState();\n\n const [isSidebarPaneOpen, setIsSidebarPaneOpen] = useState(false);\n const [selectedNavLinkRoute, setSelectedNavLinkRoute] = useLocalStorage(\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n null\n );\n\n const [isSidebarCollapsed, setIsSidebarCollapsed] = useLocalStorage(\n getSidebarStateLocalStorageKey(),\n false\n );\n\n const [sidebarWidth, setSidebarWidth] = useLocalStorage(\n SIDEBAR_WIDTH_KEY,\n `${DEFAULT_SIDEBAR_WIDTH}px`\n );\n\n const sidebarRef = useRef(null);\n const isMouseDownRef = useRef(false);\n const startXRef = useRef(null);\n const startWidthRef = useRef(null);\n\n const location = useLocation();\n const history = useHistory();\n const { t } = useTranslation();\n\n const { data } = useFetchNeetoApps();\n\n const isLargerScreen = () => window.innerWidth > 768;\n const isSidebarClosed = isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen);\n\n useEffect(() => {\n if (isKeyboardShortcutsPaneOpen) {\n setIsSidebarPaneOpen(false);\n setIsSidebarCollapsed(true);\n } else if (!isKeyboardShortcutsPaneOpen && isLargerScreen()) {\n setIsSidebarPaneOpen(true);\n setIsSidebarCollapsed(false);\n }\n }, [isKeyboardShortcutsPaneOpen]);\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 useEffect(() => {\n if (!isExpandable) return undefined;\n\n const handle = document.querySelector(\n \".neeto-molecules-sidebar__resize-handle\"\n );\n\n if (!handle) return undefined;\n\n const onMouseDown = e => {\n isMouseDownRef.current = true;\n startXRef.current = e.clientX;\n startWidthRef.current =\n sidebarRef.current?.getBoundingClientRect().width ||\n DEFAULT_SIDEBAR_WIDTH;\n\n enableDraggingStyles();\n };\n\n const onMouseMove = e => {\n if (!isMouseDownRef.current) return;\n\n const dx = e.clientX - startXRef.current;\n let newWidth = startWidthRef.current + dx;\n\n newWidth = Math.max(\n MIN_SIDEBAR_WIDTH,\n Math.min(newWidth, MAX_SIDEBAR_WIDTH)\n );\n\n setSidebarWidth(`${newWidth}px`);\n };\n\n const onMouseUp = () => {\n if (!isMouseDownRef.current) return;\n\n isMouseDownRef.current = false;\n disableDraggingStyles();\n };\n\n handle.addEventListener(\"mousedown\", onMouseDown);\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseUp);\n\n return () => {\n handle.removeEventListener(\"mousedown\", onMouseDown);\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseUp);\n };\n }, [isExpandable]);\n\n useEffect(() => {\n document.documentElement.style.setProperty(\n \"--neeto-molecules-sidebar-width\",\n `${parseInt(sidebarWidth) / 16}rem`\n );\n }, [sidebarWidth]);\n\n const handleGoBack = event => {\n event.preventDefault();\n setSelectedNavLinkRoute(null);\n const configureNavLink = getActiveConfigurePageLink({ navLinks, location });\n if (configureNavLink?.to) {\n history.push(buildUrl(configureNavLink.to));\n }\n };\n\n const homePath = useMemo(() => {\n if (!data?.neetoApps) return DEFAULT_HOME_PATH;\n\n const productName = globalProps.appName.substr(5);\n const thisApp = findBy({ name: productName }, data.neetoApps);\n\n return thisApp?.url ? new URL(thisApp.url).pathname : DEFAULT_HOME_PATH;\n }, [data]);\n\n const activeLink = useMemo(\n () =>\n navLinks.find(link => {\n if (is(Function, link.isActive)) return link.isActive();\n const url = new URL(link.to, window.location.href);\n\n return location.pathname.startsWith(url.pathname);\n }),\n [location.pathname, navLinks]\n );\n\n const isSelectedNavLinkVisible =\n selectedNavLinkRoute &&\n activeLink?.to === selectedNavLinkRoute &&\n isNotEmpty(navLinks);\n\n return (\n <>\n <div\n data-testid=\"sidebar-container\"\n ref={sidebarRef}\n style={{ width: isSidebarCollapsed ? \"0\" : sidebarWidth }}\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, homePath }}\n clearSettingsNav={() => setSelectedNavLinkRoute(null)}\n />\n {showWorkspaceName && (\n <div className=\"neeto-ui-bg-gray-100 neeto-molecules-sidebar__workspace-info\">\n <Typography\n className=\"neeto-ui-mb-1\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.sidebar.myWorkspace\")}\n </Typography>\n <Typography className=\"neeto-ui-truncate\" style=\"body2\">\n {globalProps.organization.name}\n </Typography>\n </div>\n )}\n {isSelectedNavLinkVisible ? (\n <SelectedLink\n {...{ handleGoBack, homePath }}\n navLink={activeLink}\n />\n ) : (\n <Links\n {...{ isCountsLoading, navLinks, setSelectedNavLinkRoute }}\n />\n )}\n </div>\n <Button\n className=\"neeto-molecules-sidebar__toggler\"\n data-cy=\"neeto-molecules-sidebar-toggler\"\n data-testid=\"sidebar-toggleButton\"\n icon={() => <Chevron />}\n style={isLargerScreen() ? \"text\" : \"secondary\"}\n tooltipProps={{\n content: isSidebarClosed\n ? t(\"neetoMolecules.sidebar.showMenu\")\n : t(\"neetoMolecules.sidebar.hideMenu\"),\n position: \"bottom\",\n touch: [\"hold\", 500],\n }}\n onClick={() => {\n setIsSidebarCollapsed(!isSidebarCollapsed);\n setIsSidebarPaneOpen(not);\n }}\n />\n </div>\n {isExpandable && (\n <div className=\"neeto-molecules-sidebar__resize-handle\" />\n )}\n </>\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 count: PropTypes.number,\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 href: 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 * Boolean to determine whether the workspace name should be shown.\n */\n showWorkspaceName: PropTypes.bool,\n /**\n * Boolean to determine whether the sidebar should be expandable.\n */\n isExpandable: PropTypes.bool,\n};\n\nexport default Sidebar;\n"],"names":["Header","_ref","_ProductTypefaceLogos","customLogo","clearSettingsNav","homePath","productName","globalProps","appName","substr","logoName","concat","capitalize","toLowerCase","ProductTypefaceLogo","ProductTypefaceLogos","Neeto","LogoComponent","_jsx","className","children","Link","to","onClick","classnames","memo","renderCount","count","Links","navLinks","isCountsLoadingDeprecated","isCountsLoading","setSelectedNavLinkRoute","location","useLocation","_useState","useState","_useState2","_slicedToArray","isActiveLinkExpanded","setIsActiveLinkExpanded","handleNavLinkClick","_ref2","event","isActive","navLink","isExpandable","isPresent","items","component","isConfigureNavLink","isNotEmpty","not","resetPath","preventDefault","filter","filterByPermissions","map","index","label","icon","_navLink$isCountsLoad","_navLink$count","Component","otherProps","_objectWithoutProperties","_excluded","IconSVG","url","URL","window","href","is","Function","pathname","startsWith","isMenuExpanded","_jsxs","Fragment","CheckPointNavLinks","_objectSpread","activeClassName","hyphenate","Typography","style","Right","size","_Fragment","Items","key","Sidebar","_ref$isCountsLoading","_ref$showWorkspaceNam","showWorkspaceName","_ref$isExpandable","_useKeyboardShortcuts","useKeyboardShortcutsPaneState","_useKeyboardShortcuts2","isKeyboardShortcutsPaneOpen","isSidebarPaneOpen","setIsSidebarPaneOpen","_useLocalStorage","useLocalStorage","SELECTED_NAV_LINK_ROUTE_STORAGE_KEY","_useLocalStorage2","selectedNavLinkRoute","_useLocalStorage3","getSidebarStateLocalStorageKey","_useLocalStorage4","isSidebarCollapsed","setIsSidebarCollapsed","_useLocalStorage5","SIDEBAR_WIDTH_KEY","DEFAULT_SIDEBAR_WIDTH","_useLocalStorage6","sidebarWidth","setSidebarWidth","sidebarRef","useRef","isMouseDownRef","startXRef","startWidthRef","history","useHistory","_useTranslation","useTranslation","t","_useFetchNeetoApps","useFetchNeetoApps","data","isLargerScreen","innerWidth","isSidebarClosed","useEffect","currentLink","findLast","includes","handleResize","addEventListener","removeEventListener","undefined","handle","document","querySelector","onMouseDown","e","_sidebarRef$current","current","clientX","getBoundingClientRect","width","enableDraggingStyles","onMouseMove","dx","newWidth","Math","max","MIN_SIDEBAR_WIDTH","min","MAX_SIDEBAR_WIDTH","onMouseUp","disableDraggingStyles","documentElement","setProperty","parseInt","handleGoBack","configureNavLink","getActiveConfigurePageLink","push","buildUrl","useMemo","neetoApps","DEFAULT_HOME_PATH","thisApp","findBy","name","activeLink","find","link","isSelectedNavLinkVisible","ref","weight","organization","SelectedLink","Button","Chevron","tooltipProps","content","position","touch"],"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 { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { capitalize } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Neeto } from \"neetoicons/typeface-logos\";\nimport * as ProductTypefaceLogos from \"neetoicons/typeface-logos\";\nimport { Link } from \"react-router-dom\";\n\nconst Header = ({ customLogo, clearSettingsNav, homePath }) => {\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 const isOnboarded = globalProps.user.isOnboarded !== false;\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 to={homePath}\n className={classnames(\"neeto-molecules-sidebar__logo neeto-ui-w-full\", {\n \"pointer-events-none\": isOnboarded,\n })}\n onClick={clearSettingsNav}\n >\n <LogoComponent\n className={classnames({\n \"neeto-molecules-sidebar__logo\": !customLogo,\n })}\n />\n </Link>\n </div>\n );\n};\n\nexport default memo(Header);\n","import { Fragment, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { hyphenate, isNotEmpty, isPresent } from \"neetocist\";\nimport { Right } 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 renderCount = count => (count > 999 ? \"999+\" : count);\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, navLink }) => {\n const isExpandable =\n isPresent(navLink.items) || isPresent(navLink.component);\n if (!isExpandable) return;\n\n if (navLink.isConfigureNavLink && isNotEmpty(navLink.items)) {\n setSelectedNavLinkRoute(navLink.to);\n }\n\n if (isActive()) {\n setIsActiveLinkExpanded(not);\n navLink.resetPath !== true && 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 count = null,\n component: Component,\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 isExpandable = items || Component;\n const isMenuExpanded =\n isActive() && isActiveLinkExpanded && !isCountsLoadingDeprecated;\n\n return (\n <Fragment key={navLink.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, 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 {isPresent(count) && !isCountsLoading && (\n <span className=\"neeto-molecules-sidebar__link-unread-count\">\n {renderCount(count)}\n </span>\n )}\n </span>\n )}\n <Typography\n className=\"neeto-molecules-sidebar__link-label neeto-ui-flex-grow flex items-center gap-1\"\n component=\"span\"\n style=\"body2\"\n >\n {label}\n </Typography>\n {isExpandable && !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 <Right size={16} />\n </span>\n )}\n </CheckPointNavLinks>\n {isExpandable && !isConfigureNavLink && isMenuExpanded && (\n <>\n {items && (\n <Items {...{ isCountsLoading, items, ...otherProps }} />\n )}\n {Component && <Component {...{ navLink }} />}\n </>\n )}\n </Fragment>\n );\n })}\n </div>\n );\n};\n\nexport default Links;\n","import { useEffect, useMemo, useState, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent, isNotEmpty, findBy } from \"neetocist\";\nimport useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Button, Typography } 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 {\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n DEFAULT_HOME_PATH,\n SIDEBAR_WIDTH_KEY,\n MIN_SIDEBAR_WIDTH,\n MAX_SIDEBAR_WIDTH,\n DEFAULT_SIDEBAR_WIDTH,\n} from \"./constants\";\nimport \"./sidebar.scss\";\nimport {\n getActiveConfigurePageLink,\n getSidebarStateLocalStorageKey,\n enableDraggingStyles,\n disableDraggingStyles,\n} from \"./utils\";\n\nimport useKeyboardShortcutsPaneState from \"../KeyboardShortcuts/hooks/useKeyboardShortcutsPaneState\";\n\nconst Sidebar = ({\n navLinks,\n customLogo,\n isCountsLoading = false,\n showWorkspaceName = false,\n isExpandable = true,\n}) => {\n const [isKeyboardShortcutsPaneOpen] = useKeyboardShortcutsPaneState();\n\n const [isSidebarPaneOpen, setIsSidebarPaneOpen] = useState(false);\n const [selectedNavLinkRoute, setSelectedNavLinkRoute] = useLocalStorage(\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n null\n );\n\n const [isSidebarCollapsed, setIsSidebarCollapsed] = useLocalStorage(\n getSidebarStateLocalStorageKey(),\n false\n );\n\n const [sidebarWidth, setSidebarWidth] = useLocalStorage(\n SIDEBAR_WIDTH_KEY,\n `${DEFAULT_SIDEBAR_WIDTH}px`\n );\n\n const sidebarRef = useRef(null);\n const isMouseDownRef = useRef(false);\n const startXRef = useRef(null);\n const startWidthRef = useRef(null);\n\n const location = useLocation();\n const history = useHistory();\n const { t } = useTranslation();\n\n const { data } = useFetchNeetoApps();\n\n const isLargerScreen = () => window.innerWidth > 768;\n const isSidebarClosed = isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen);\n\n useEffect(() => {\n if (isKeyboardShortcutsPaneOpen) {\n setIsSidebarPaneOpen(false);\n setIsSidebarCollapsed(true);\n } else if (!isKeyboardShortcutsPaneOpen && isLargerScreen()) {\n setIsSidebarPaneOpen(true);\n setIsSidebarCollapsed(false);\n }\n }, [isKeyboardShortcutsPaneOpen]);\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 useEffect(() => {\n if (!isExpandable) return undefined;\n\n const handle = document.querySelector(\n \".neeto-molecules-sidebar__resize-handle\"\n );\n\n if (!handle) return undefined;\n\n const onMouseDown = e => {\n isMouseDownRef.current = true;\n startXRef.current = e.clientX;\n startWidthRef.current =\n sidebarRef.current?.getBoundingClientRect().width ||\n DEFAULT_SIDEBAR_WIDTH;\n\n enableDraggingStyles();\n };\n\n const onMouseMove = e => {\n if (!isMouseDownRef.current) return;\n\n const dx = e.clientX - startXRef.current;\n let newWidth = startWidthRef.current + dx;\n\n newWidth = Math.max(\n MIN_SIDEBAR_WIDTH,\n Math.min(newWidth, MAX_SIDEBAR_WIDTH)\n );\n\n setSidebarWidth(`${newWidth}px`);\n };\n\n const onMouseUp = () => {\n if (!isMouseDownRef.current) return;\n\n isMouseDownRef.current = false;\n disableDraggingStyles();\n };\n\n handle.addEventListener(\"mousedown\", onMouseDown);\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseUp);\n\n return () => {\n handle.removeEventListener(\"mousedown\", onMouseDown);\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseUp);\n };\n }, [isExpandable]);\n\n useEffect(() => {\n document.documentElement.style.setProperty(\n \"--neeto-molecules-sidebar-width\",\n `${parseInt(sidebarWidth) / 16}rem`\n );\n }, [sidebarWidth]);\n\n const handleGoBack = event => {\n event.preventDefault();\n setSelectedNavLinkRoute(null);\n const configureNavLink = getActiveConfigurePageLink({ navLinks, location });\n if (configureNavLink?.to) {\n history.push(buildUrl(configureNavLink.to));\n }\n };\n\n const homePath = useMemo(() => {\n if (!data?.neetoApps) return DEFAULT_HOME_PATH;\n\n const productName = globalProps.appName.substr(5);\n const thisApp = findBy({ name: productName }, data.neetoApps);\n\n return thisApp?.url ? new URL(thisApp.url).pathname : DEFAULT_HOME_PATH;\n }, [data]);\n\n const activeLink = useMemo(\n () =>\n navLinks.find(link => {\n if (is(Function, link.isActive)) return link.isActive();\n const url = new URL(link.to, window.location.href);\n\n return location.pathname.startsWith(url.pathname);\n }),\n [location.pathname, navLinks]\n );\n\n const isSelectedNavLinkVisible =\n selectedNavLinkRoute &&\n activeLink?.to === selectedNavLinkRoute &&\n isNotEmpty(navLinks);\n\n return (\n <>\n <div\n data-testid=\"sidebar-container\"\n ref={sidebarRef}\n style={{ width: isSidebarCollapsed ? \"0\" : sidebarWidth }}\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, homePath }}\n clearSettingsNav={() => setSelectedNavLinkRoute(null)}\n />\n {showWorkspaceName && (\n <div className=\"neeto-ui-bg-gray-100 neeto-molecules-sidebar__workspace-info\">\n <Typography\n className=\"neeto-ui-mb-1\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.sidebar.myWorkspace\")}\n </Typography>\n <Typography className=\"neeto-ui-truncate\" style=\"body2\">\n {globalProps.organization.name}\n </Typography>\n </div>\n )}\n {isSelectedNavLinkVisible ? (\n <SelectedLink\n {...{ handleGoBack, homePath }}\n navLink={activeLink}\n />\n ) : (\n <Links\n {...{ isCountsLoading, navLinks, setSelectedNavLinkRoute }}\n />\n )}\n </div>\n <Button\n className=\"neeto-molecules-sidebar__toggler\"\n data-cy=\"neeto-molecules-sidebar-toggler\"\n data-testid=\"sidebar-toggleButton\"\n icon={() => <Chevron />}\n style={isLargerScreen() ? \"text\" : \"secondary\"}\n tooltipProps={{\n content: isSidebarClosed\n ? t(\"neetoMolecules.sidebar.showMenu\")\n : t(\"neetoMolecules.sidebar.hideMenu\"),\n position: \"bottom\",\n touch: [\"hold\", 500],\n }}\n onClick={() => {\n setIsSidebarCollapsed(!isSidebarCollapsed);\n setIsSidebarPaneOpen(not);\n }}\n />\n </div>\n {isExpandable && (\n <div className=\"neeto-molecules-sidebar__resize-handle\" />\n )}\n </>\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 count: PropTypes.number,\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 href: 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 * Boolean to determine whether the workspace name should be shown.\n */\n showWorkspaceName: PropTypes.bool,\n /**\n * Boolean to determine whether the sidebar should be expandable.\n */\n isExpandable: PropTypes.bool,\n};\n\nexport default Sidebar;\n"],"names":["Header","_ref","_ProductTypefaceLogos","customLogo","clearSettingsNav","homePath","productName","globalProps","appName","substr","logoName","concat","capitalize","toLowerCase","ProductTypefaceLogo","ProductTypefaceLogos","Neeto","LogoComponent","isOnboarded","user","_jsx","className","children","Link","to","classnames","onClick","memo","renderCount","count","Links","navLinks","isCountsLoadingDeprecated","isCountsLoading","setSelectedNavLinkRoute","location","useLocation","_useState","useState","_useState2","_slicedToArray","isActiveLinkExpanded","setIsActiveLinkExpanded","handleNavLinkClick","_ref2","event","isActive","navLink","isExpandable","isPresent","items","component","isConfigureNavLink","isNotEmpty","not","resetPath","preventDefault","filter","filterByPermissions","map","index","label","icon","_navLink$isCountsLoad","_navLink$count","Component","otherProps","_objectWithoutProperties","_excluded","IconSVG","url","URL","window","href","is","Function","pathname","startsWith","isMenuExpanded","_jsxs","Fragment","CheckPointNavLinks","_objectSpread","activeClassName","hyphenate","Typography","style","Right","size","_Fragment","Items","key","Sidebar","_ref$isCountsLoading","_ref$showWorkspaceNam","showWorkspaceName","_ref$isExpandable","_useKeyboardShortcuts","useKeyboardShortcutsPaneState","_useKeyboardShortcuts2","isKeyboardShortcutsPaneOpen","isSidebarPaneOpen","setIsSidebarPaneOpen","_useLocalStorage","useLocalStorage","SELECTED_NAV_LINK_ROUTE_STORAGE_KEY","_useLocalStorage2","selectedNavLinkRoute","_useLocalStorage3","getSidebarStateLocalStorageKey","_useLocalStorage4","isSidebarCollapsed","setIsSidebarCollapsed","_useLocalStorage5","SIDEBAR_WIDTH_KEY","DEFAULT_SIDEBAR_WIDTH","_useLocalStorage6","sidebarWidth","setSidebarWidth","sidebarRef","useRef","isMouseDownRef","startXRef","startWidthRef","history","useHistory","_useTranslation","useTranslation","t","_useFetchNeetoApps","useFetchNeetoApps","data","isLargerScreen","innerWidth","isSidebarClosed","useEffect","currentLink","findLast","includes","handleResize","addEventListener","removeEventListener","undefined","handle","document","querySelector","onMouseDown","e","_sidebarRef$current","current","clientX","getBoundingClientRect","width","enableDraggingStyles","onMouseMove","dx","newWidth","Math","max","MIN_SIDEBAR_WIDTH","min","MAX_SIDEBAR_WIDTH","onMouseUp","disableDraggingStyles","documentElement","setProperty","parseInt","handleGoBack","configureNavLink","getActiveConfigurePageLink","push","buildUrl","useMemo","neetoApps","DEFAULT_HOME_PATH","thisApp","findBy","name","activeLink","find","link","isSelectedNavLinkVisible","ref","weight","organization","SelectedLink","Button","Chevron","tooltipProps","content","position","touch"],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ var utils = require('@bigbinary/neeto-commons-frontend/utils');
|
|
|
13
13
|
var Label = require('@bigbinary/neetoui/Label');
|
|
14
14
|
var Input = require('@bigbinary/neetoui/Input');
|
|
15
15
|
var Tooltip = require('@bigbinary/neetoui/Tooltip');
|
|
16
|
+
var Switch = require('@bigbinary/neetoui/Switch');
|
|
16
17
|
var ramda = require('ramda');
|
|
17
18
|
var CopyToClipboardButton = require('./CopyToClipboardButton.js');
|
|
18
19
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -75,7 +76,8 @@ var SharePaneBody = function SharePaneBody(_ref) {
|
|
|
75
76
|
totalDuration = _ref.totalDuration,
|
|
76
77
|
getCurrentTimestamp = _ref.getCurrentTimestamp,
|
|
77
78
|
isOpen = _ref.isOpen,
|
|
78
|
-
Preview = _ref.preview
|
|
79
|
+
Preview = _ref.preview,
|
|
80
|
+
enableAutoplayAndMuteFlags = _ref.enableAutoplayAndMuteFlags;
|
|
79
81
|
var _useTranslation = reactI18next.useTranslation(),
|
|
80
82
|
t = _useTranslation.t;
|
|
81
83
|
var currentTimestamp = getCurrentTimestamp();
|
|
@@ -87,10 +89,19 @@ var SharePaneBody = function SharePaneBody(_ref) {
|
|
|
87
89
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
88
90
|
currentPlaybackTime = _useState4[0],
|
|
89
91
|
setCurrentPlaybackTime = _useState4[1];
|
|
90
|
-
var _useState5 = React.useState(
|
|
92
|
+
var _useState5 = React.useState({
|
|
93
|
+
muted: false,
|
|
94
|
+
autoplay: false
|
|
95
|
+
}),
|
|
91
96
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
92
|
-
|
|
93
|
-
|
|
97
|
+
params = _useState6[0],
|
|
98
|
+
setParams = _useState6[1];
|
|
99
|
+
var muted = params.muted,
|
|
100
|
+
autoplay = params.autoplay;
|
|
101
|
+
var _useState7 = React.useState(""),
|
|
102
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
103
|
+
rawInput = _useState8[0],
|
|
104
|
+
setRawInput = _useState8[1];
|
|
94
105
|
var showHours = shouldRenderHoursInput(totalDuration);
|
|
95
106
|
var handlePlaybackTimestampChange = function handlePlaybackTimestampChange(e) {
|
|
96
107
|
var input = e.target.value;
|
|
@@ -98,6 +109,9 @@ var SharePaneBody = function SharePaneBody(_ref) {
|
|
|
98
109
|
setRawInput(input);
|
|
99
110
|
}
|
|
100
111
|
};
|
|
112
|
+
var handleFlagsChange = function handleFlagsChange(key, value) {
|
|
113
|
+
return setParams(ramda.assoc(key, value));
|
|
114
|
+
};
|
|
101
115
|
var formatAndSetTime = function formatAndSetTime() {
|
|
102
116
|
var timeInSeconds = parseTime(rawInput);
|
|
103
117
|
if (timeInSeconds > totalDuration) {
|
|
@@ -107,7 +121,7 @@ var SharePaneBody = function SharePaneBody(_ref) {
|
|
|
107
121
|
setRawInput(formatTime(timeInSeconds, showHours));
|
|
108
122
|
};
|
|
109
123
|
var handleKeyDown = function handleKeyDown(e) {
|
|
110
|
-
if (
|
|
124
|
+
if (e.key !== "Enter") return;
|
|
111
125
|
formatAndSetTime();
|
|
112
126
|
};
|
|
113
127
|
React.useEffect(function () {
|
|
@@ -118,11 +132,13 @@ var SharePaneBody = function SharePaneBody(_ref) {
|
|
|
118
132
|
React.useEffect(function () {
|
|
119
133
|
var playbackUrls = recordingUrls.map(function (recordingUrl) {
|
|
120
134
|
return utils.buildUrl(recordingUrl, {
|
|
121
|
-
time: currentPlaybackTime
|
|
135
|
+
time: currentPlaybackTime,
|
|
136
|
+
muted: muted ? 1 : undefined,
|
|
137
|
+
autoplay: autoplay ? 1 : undefined
|
|
122
138
|
});
|
|
123
139
|
});
|
|
124
140
|
setShareLinks(playbackUrls);
|
|
125
|
-
}, [recordingUrls, currentPlaybackTime]);
|
|
141
|
+
}, [recordingUrls, currentPlaybackTime, muted, autoplay]);
|
|
126
142
|
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
127
143
|
children: [shareLinks.map(function (shareLink, index) {
|
|
128
144
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
@@ -153,6 +169,32 @@ var SharePaneBody = function SharePaneBody(_ref) {
|
|
|
153
169
|
onChange: handlePlaybackTimestampChange,
|
|
154
170
|
onKeyDown: handleKeyDown
|
|
155
171
|
})]
|
|
172
|
+
}), enableAutoplayAndMuteFlags && /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
173
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
174
|
+
className: "flex items-center gap-x-2",
|
|
175
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Switch, {
|
|
176
|
+
checked: muted,
|
|
177
|
+
"data-cy": "muted-checkbox",
|
|
178
|
+
id: "muted",
|
|
179
|
+
label: t("neetoMolecules.shareRecording.muted"),
|
|
180
|
+
name: "muted",
|
|
181
|
+
onChange: function onChange(e) {
|
|
182
|
+
return handleFlagsChange("muted", e.target.checked);
|
|
183
|
+
}
|
|
184
|
+
})
|
|
185
|
+
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
186
|
+
className: "flex items-center gap-x-2",
|
|
187
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Switch, {
|
|
188
|
+
checked: autoplay,
|
|
189
|
+
"data-cy": "autoplay-checkbox",
|
|
190
|
+
id: "autoplay",
|
|
191
|
+
label: t("neetoMolecules.shareRecording.autoplay"),
|
|
192
|
+
name: "autoplay",
|
|
193
|
+
onChange: function onChange(e) {
|
|
194
|
+
return handleFlagsChange("autoplay", e.target.checked);
|
|
195
|
+
}
|
|
196
|
+
})
|
|
197
|
+
})]
|
|
156
198
|
}), Preview && /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
157
199
|
className: "flex flex-col gap-y-2 pt-2",
|
|
158
200
|
children: [/*#__PURE__*/jsxRuntime.jsx(Label, {
|
|
@@ -164,7 +206,7 @@ var SharePaneBody = function SharePaneBody(_ref) {
|
|
|
164
206
|
});
|
|
165
207
|
};
|
|
166
208
|
|
|
167
|
-
var _excluded = ["recordingUrl", "recordingUrls", "totalDuration", "getCurrentTimestamp", "isOpen", "onClose", "isLoading", "preview"];
|
|
209
|
+
var _excluded = ["recordingUrl", "recordingUrls", "totalDuration", "getCurrentTimestamp", "isOpen", "onClose", "isLoading", "preview", "enableAutoplayAndMuteFlags"];
|
|
168
210
|
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; }
|
|
169
211
|
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(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; }
|
|
170
212
|
var ShareRecordingPane = function ShareRecordingPane(_ref) {
|
|
@@ -179,6 +221,8 @@ var ShareRecordingPane = function ShareRecordingPane(_ref) {
|
|
|
179
221
|
_ref$isLoading = _ref.isLoading,
|
|
180
222
|
isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
|
|
181
223
|
preview = _ref.preview,
|
|
224
|
+
_ref$enableAutoplayAn = _ref.enableAutoplayAndMuteFlags,
|
|
225
|
+
enableAutoplayAndMuteFlags = _ref$enableAutoplayAn === void 0 ? false : _ref$enableAutoplayAn,
|
|
182
226
|
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
183
227
|
var _useTranslation = reactI18next.useTranslation(),
|
|
184
228
|
t = _useTranslation.t;
|
|
@@ -199,6 +243,7 @@ var ShareRecordingPane = function ShareRecordingPane(_ref) {
|
|
|
199
243
|
children: isLoading ? /*#__PURE__*/jsxRuntime.jsx(Spinner, {
|
|
200
244
|
className: "mx-auto"
|
|
201
245
|
}) : /*#__PURE__*/jsxRuntime.jsx(SharePaneBody, {
|
|
246
|
+
enableAutoplayAndMuteFlags: enableAutoplayAndMuteFlags,
|
|
202
247
|
getCurrentTimestamp: getCurrentTimestamp,
|
|
203
248
|
isOpen: isOpen,
|
|
204
249
|
preview: preview,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShareRecordingPane.js","sources":["../../src/components/ShareRecordingPane/constants.js","../../src/components/ShareRecordingPane/utils.js","../../src/components/ShareRecordingPane/SharePaneBody.jsx","../../src/components/ShareRecordingPane/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 } from \"./constants\";\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\nexport const formatTime = (timeInSeconds, showHours) => {\n const hours = Math.floor(timeInSeconds / ONE_HOUR);\n const minutes = Math.floor((timeInSeconds % ONE_HOUR) / ONE_MINUTE);\n const seconds = timeInSeconds % ONE_MINUTE;\n\n return showHours\n ? `${padZero(hours)}:${padZero(minutes)}:${padZero(seconds)}`\n : `${padZero(minutes)}:${padZero(seconds)}`;\n};\n\nexport const parseTime = timeString => {\n const parts = timeString\n .split(\":\")\n .map(part => (part === \"\" ? NaN : parseInt(part, 10)));\n if (parts.some(isNaN) || parts.length > 3) {\n return 0;\n }\n\n if (parts.length === 1) {\n return parts[0];\n } else if (parts.length === 2) {\n return parts[0] * ONE_MINUTE + parts[1];\n } else if (parts.length === 3) {\n return parts[0] * ONE_HOUR + parts[1] * ONE_MINUTE + parts[2];\n }\n\n return 0;\n};\n\nexport const validateInput = input => {\n const regex = /^[0-9:]{0,8}$/;\n const colons = (input.match(/:/g) || []).length;\n\n return regex.test(input) && colons <= 2;\n};\n","import { useState, useEffect } from \"react\";\n\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Label, Typography, Input, Tooltip } from \"neetoui\";\nimport { not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\n\nimport {\n formatTime,\n parseTime,\n shouldRenderHoursInput,\n validateInput,\n} from \"./utils\";\n\nconst SharePaneBody = ({\n recordingUrls,\n totalDuration,\n getCurrentTimestamp,\n isOpen,\n preview: Preview,\n}) => {\n const { t } = useTranslation();\n\n const currentTimestamp = getCurrentTimestamp();\n\n const [shareLinks, setShareLinks] = useState([]);\n const [currentPlaybackTime, setCurrentPlaybackTime] =\n useState(currentTimestamp);\n const [rawInput, setRawInput] = useState(\"\");\n\n const showHours = shouldRenderHoursInput(totalDuration);\n\n const handlePlaybackTimestampChange = e => {\n const input = e.target.value;\n if (validateInput(input)) {\n setRawInput(input);\n }\n };\n\n const formatAndSetTime = () => {\n let timeInSeconds = parseTime(rawInput);\n if (timeInSeconds > totalDuration) {\n timeInSeconds = totalDuration;\n }\n setCurrentPlaybackTime(timeInSeconds);\n setRawInput(formatTime(timeInSeconds, showHours));\n };\n\n const handleKeyDown = e => {\n if (!(e.key === \"Enter\")) return;\n formatAndSetTime();\n };\n\n useEffect(() => {\n if (not(isOpen)) return;\n\n setCurrentPlaybackTime(currentTimestamp > 0 ? currentTimestamp : 0);\n setRawInput(\n formatTime(currentTimestamp > 0 ? currentTimestamp : 0, showHours)\n );\n }, [isOpen, showHours, currentTimestamp]);\n\n useEffect(() => {\n const playbackUrls = recordingUrls.map(recordingUrl =>\n buildUrl(recordingUrl, { time: currentPlaybackTime })\n );\n\n setShareLinks(playbackUrls);\n }, [recordingUrls, currentPlaybackTime]);\n\n return (\n <>\n {shareLinks.map((shareLink, index) => (\n <div\n className=\"neeto-ui-bg-gray-100 neeto-ui-rounded-lg mb-2 flex w-full items-center justify-between gap-1 p-2\"\n key={index}\n >\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 ))}\n <div className=\"flex items-center gap-x-2\">\n <Label>{t(\"neetoMolecules.shareRecording.checkboxLabel\")}</Label>\n <Input\n className=\"w-40\"\n data-cy=\"time-input\"\n placeholder={showHours ? \"HH:MM:SS\" : \"MM:SS\"}\n value={rawInput}\n onBlur={formatAndSetTime}\n onChange={handlePlaybackTimestampChange}\n onKeyDown={handleKeyDown}\n />\n </div>\n {Preview && (\n <div className=\"flex flex-col gap-y-2 pt-2\">\n <Label>{t(\"neetoMolecules.shareRecording.preview\")}</Label>\n <Preview {...{ currentPlaybackTime }} />\n </div>\n )}\n </>\n );\n};\n\nexport default SharePaneBody;\n","/* eslint-disable @bigbinary/neeto/no-dumb-components-with-use-translation */\nimport { isNotEmpty } from \"neetocist\";\nimport { Pane, Typography, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SharePaneBody from \"./SharePaneBody\";\n\nconst ShareRecordingPane = ({\n recordingUrl = null,\n recordingUrls = [],\n totalDuration,\n getCurrentTimestamp,\n isOpen,\n onClose,\n isLoading = false,\n preview,\n ...otherProps\n}) => {\n const { t } = useTranslation();\n\n const recordingUrlsToShare = isNotEmpty(recordingUrls)\n ? recordingUrls\n : [recordingUrl];\n\n return (\n <Pane\n {...{ isOpen, onClose, ...otherProps }}\n data-cy=\"share-pane\"\n size=\"large\"\n >\n <Pane.Header>\n <Typography style=\"h2\">\n {t(\"neetoMolecules.shareRecording.title\")}\n </Typography>\n </Pane.Header>\n <Pane.Body className=\"flex flex-col space-y-2\">\n {isLoading ? (\n <Spinner className=\"mx-auto\" />\n ) : (\n <SharePaneBody\n {...{ getCurrentTimestamp, isOpen, preview, totalDuration }}\n recordingUrls={recordingUrlsToShare}\n />\n )}\n </Pane.Body>\n </Pane>\n );\n};\n\nShareRecordingPane.propTypes = {\n /**\n * Recording URL used for building the share link.\n */\n recordingUrl: PropTypes.string,\n /**\n * Recording URLs used for building the share link.\n */\n recordingUrls: PropTypes.array,\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 * Boolean indicating whether the pane is open or not.\n */\n isOpen: PropTypes.bool.isRequired,\n /**\n * Function to close the pane.\n */\n onClose: PropTypes.func.isRequired,\n /**\n * Boolean indicating whether content is loading or not.\n */\n isLoading: PropTypes.bool,\n /**\n * Component to render as a preview of the recording.\n */\n preview: PropTypes.elementType,\n};\n\nexport default ShareRecordingPane;\n"],"names":["ONE_SECOND","ONE_MINUTE","ONE_HOUR","padZero","number","length","arguments","undefined","string","String","threshold","Math","pow","concat","shouldRenderHoursInput","duration","hours","floor","formatTime","timeInSeconds","showHours","minutes","seconds","parseTime","timeString","parts","split","map","part","NaN","parseInt","some","isNaN","validateInput","input","regex","colons","match","test","SharePaneBody","_ref","recordingUrls","totalDuration","getCurrentTimestamp","isOpen","Preview","preview","_useTranslation","useTranslation","t","currentTimestamp","_useState","useState","_useState2","_slicedToArray","shareLinks","setShareLinks","_useState3","_useState4","currentPlaybackTime","setCurrentPlaybackTime","_useState5","_useState6","rawInput","setRawInput","handlePlaybackTimestampChange","e","target","value","formatAndSetTime","handleKeyDown","key","useEffect","not","playbackUrls","recordingUrl","buildUrl","time","_jsxs","_Fragment","children","shareLink","index","className","_jsx","Tooltip","content","Typography","style","CopyToClipboardButton","Label","Input","placeholder","onBlur","onChange","onKeyDown","ShareRecordingPane","_ref$recordingUrl","_ref$recordingUrls","onClose","_ref$isLoading","isLoading","otherProps","_objectWithoutProperties","_excluded","recordingUrlsToShare","isNotEmpty","Pane","_objectSpread","size","Header","Body","Spinner"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ShareRecordingPane.js","sources":["../../src/components/ShareRecordingPane/constants.js","../../src/components/ShareRecordingPane/utils.js","../../src/components/ShareRecordingPane/SharePaneBody.jsx","../../src/components/ShareRecordingPane/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 } from \"./constants\";\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\nexport const formatTime = (timeInSeconds, showHours) => {\n const hours = Math.floor(timeInSeconds / ONE_HOUR);\n const minutes = Math.floor((timeInSeconds % ONE_HOUR) / ONE_MINUTE);\n const seconds = timeInSeconds % ONE_MINUTE;\n\n return showHours\n ? `${padZero(hours)}:${padZero(minutes)}:${padZero(seconds)}`\n : `${padZero(minutes)}:${padZero(seconds)}`;\n};\n\nexport const parseTime = timeString => {\n const parts = timeString\n .split(\":\")\n .map(part => (part === \"\" ? NaN : parseInt(part, 10)));\n if (parts.some(isNaN) || parts.length > 3) {\n return 0;\n }\n\n if (parts.length === 1) {\n return parts[0];\n } else if (parts.length === 2) {\n return parts[0] * ONE_MINUTE + parts[1];\n } else if (parts.length === 3) {\n return parts[0] * ONE_HOUR + parts[1] * ONE_MINUTE + parts[2];\n }\n\n return 0;\n};\n\nexport const validateInput = input => {\n const regex = /^[0-9:]{0,8}$/;\n const colons = (input.match(/:/g) || []).length;\n\n return regex.test(input) && colons <= 2;\n};\n","import { useState, useEffect } from \"react\";\n\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Label, Typography, Input, Tooltip, Switch } from \"neetoui\";\nimport { assoc, not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\n\nimport {\n formatTime,\n parseTime,\n shouldRenderHoursInput,\n validateInput,\n} from \"./utils\";\n\nconst SharePaneBody = ({\n recordingUrls,\n totalDuration,\n getCurrentTimestamp,\n isOpen,\n preview: Preview,\n enableAutoplayAndMuteFlags,\n}) => {\n const { t } = useTranslation();\n\n const currentTimestamp = getCurrentTimestamp();\n\n const [shareLinks, setShareLinks] = useState([]);\n const [currentPlaybackTime, setCurrentPlaybackTime] =\n useState(currentTimestamp);\n\n const [params, setParams] = useState({\n muted: false,\n autoplay: false,\n });\n\n const { muted, autoplay } = params;\n\n const [rawInput, setRawInput] = useState(\"\");\n\n const showHours = shouldRenderHoursInput(totalDuration);\n\n const handlePlaybackTimestampChange = e => {\n const input = e.target.value;\n if (validateInput(input)) {\n setRawInput(input);\n }\n };\n\n const handleFlagsChange = (key, value) => setParams(assoc(key, value));\n\n const formatAndSetTime = () => {\n let timeInSeconds = parseTime(rawInput);\n if (timeInSeconds > totalDuration) {\n timeInSeconds = totalDuration;\n }\n setCurrentPlaybackTime(timeInSeconds);\n setRawInput(formatTime(timeInSeconds, showHours));\n };\n\n const handleKeyDown = e => {\n if (e.key !== \"Enter\") return;\n formatAndSetTime();\n };\n\n useEffect(() => {\n if (not(isOpen)) return;\n\n setCurrentPlaybackTime(currentTimestamp > 0 ? currentTimestamp : 0);\n setRawInput(\n formatTime(currentTimestamp > 0 ? currentTimestamp : 0, showHours)\n );\n }, [isOpen, showHours, currentTimestamp]);\n\n useEffect(() => {\n const playbackUrls = recordingUrls.map(recordingUrl =>\n buildUrl(recordingUrl, {\n time: currentPlaybackTime,\n muted: muted ? 1 : undefined,\n autoplay: autoplay ? 1 : undefined,\n })\n );\n\n setShareLinks(playbackUrls);\n }, [recordingUrls, currentPlaybackTime, muted, autoplay]);\n\n return (\n <>\n {shareLinks.map((shareLink, index) => (\n <div\n className=\"neeto-ui-bg-gray-100 neeto-ui-rounded-lg mb-2 flex w-full items-center justify-between gap-1 p-2\"\n key={index}\n >\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 ))}\n <div className=\"flex items-center gap-x-2\">\n <Label>{t(\"neetoMolecules.shareRecording.checkboxLabel\")}</Label>\n <Input\n className=\"w-40\"\n data-cy=\"time-input\"\n placeholder={showHours ? \"HH:MM:SS\" : \"MM:SS\"}\n value={rawInput}\n onBlur={formatAndSetTime}\n onChange={handlePlaybackTimestampChange}\n onKeyDown={handleKeyDown}\n />\n </div>\n {enableAutoplayAndMuteFlags && (\n <>\n <div className=\"flex items-center gap-x-2\">\n <Switch\n checked={muted}\n data-cy=\"muted-checkbox\"\n id=\"muted\"\n label={t(\"neetoMolecules.shareRecording.muted\")}\n name=\"muted\"\n onChange={e => handleFlagsChange(\"muted\", e.target.checked)}\n />\n </div>\n <div className=\"flex items-center gap-x-2\">\n <Switch\n checked={autoplay}\n data-cy=\"autoplay-checkbox\"\n id=\"autoplay\"\n label={t(\"neetoMolecules.shareRecording.autoplay\")}\n name=\"autoplay\"\n onChange={e => handleFlagsChange(\"autoplay\", e.target.checked)}\n />\n </div>\n </>\n )}\n {Preview && (\n <div className=\"flex flex-col gap-y-2 pt-2\">\n <Label>{t(\"neetoMolecules.shareRecording.preview\")}</Label>\n <Preview {...{ currentPlaybackTime }} />\n </div>\n )}\n </>\n );\n};\n\nexport default SharePaneBody;\n","/* eslint-disable @bigbinary/neeto/no-dumb-components-with-use-translation */\nimport { isNotEmpty } from \"neetocist\";\nimport { Pane, Typography, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SharePaneBody from \"./SharePaneBody\";\n\nconst ShareRecordingPane = ({\n recordingUrl = null,\n recordingUrls = [],\n totalDuration,\n getCurrentTimestamp,\n isOpen,\n onClose,\n isLoading = false,\n preview,\n enableAutoplayAndMuteFlags = false,\n ...otherProps\n}) => {\n const { t } = useTranslation();\n\n const recordingUrlsToShare = isNotEmpty(recordingUrls)\n ? recordingUrls\n : [recordingUrl];\n\n return (\n <Pane\n {...{ isOpen, onClose, ...otherProps }}\n data-cy=\"share-pane\"\n size=\"large\"\n >\n <Pane.Header>\n <Typography style=\"h2\">\n {t(\"neetoMolecules.shareRecording.title\")}\n </Typography>\n </Pane.Header>\n <Pane.Body className=\"flex flex-col space-y-2\">\n {isLoading ? (\n <Spinner className=\"mx-auto\" />\n ) : (\n <SharePaneBody\n {...{\n enableAutoplayAndMuteFlags,\n getCurrentTimestamp,\n isOpen,\n preview,\n totalDuration,\n }}\n recordingUrls={recordingUrlsToShare}\n />\n )}\n </Pane.Body>\n </Pane>\n );\n};\n\nShareRecordingPane.propTypes = {\n /**\n * Recording URL used for building the share link.\n */\n recordingUrl: PropTypes.string,\n /**\n * Recording URLs used for building the share link.\n */\n recordingUrls: PropTypes.array,\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 * Boolean indicating whether the pane is open or not.\n */\n isOpen: PropTypes.bool.isRequired,\n /**\n * Function to close the pane.\n */\n onClose: PropTypes.func.isRequired,\n /**\n * Boolean indicating whether content is loading or not.\n */\n isLoading: PropTypes.bool,\n /**\n * Component to render as a preview of the recording.\n */\n preview: PropTypes.elementType,\n};\n\nexport default ShareRecordingPane;\n"],"names":["ONE_SECOND","ONE_MINUTE","ONE_HOUR","padZero","number","length","arguments","undefined","string","String","threshold","Math","pow","concat","shouldRenderHoursInput","duration","hours","floor","formatTime","timeInSeconds","showHours","minutes","seconds","parseTime","timeString","parts","split","map","part","NaN","parseInt","some","isNaN","validateInput","input","regex","colons","match","test","SharePaneBody","_ref","recordingUrls","totalDuration","getCurrentTimestamp","isOpen","Preview","preview","enableAutoplayAndMuteFlags","_useTranslation","useTranslation","t","currentTimestamp","_useState","useState","_useState2","_slicedToArray","shareLinks","setShareLinks","_useState3","_useState4","currentPlaybackTime","setCurrentPlaybackTime","_useState5","muted","autoplay","_useState6","params","setParams","_useState7","_useState8","rawInput","setRawInput","handlePlaybackTimestampChange","e","target","value","handleFlagsChange","key","assoc","formatAndSetTime","handleKeyDown","useEffect","not","playbackUrls","recordingUrl","buildUrl","time","_jsxs","_Fragment","children","shareLink","index","className","_jsx","Tooltip","content","Typography","style","CopyToClipboardButton","Label","Input","placeholder","onBlur","onChange","onKeyDown","Switch","checked","id","label","name","ShareRecordingPane","_ref$recordingUrl","_ref$recordingUrls","onClose","_ref$isLoading","isLoading","_ref$enableAutoplayAn","otherProps","_objectWithoutProperties","_excluded","recordingUrlsToShare","isNotEmpty","Pane","_objectSpread","size","Header","Body","Spinner"],"mappings":"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"}
|
package/dist/cjs/Sidebar.js
CHANGED
|
@@ -13,6 +13,7 @@ var ramda = require('ramda');
|
|
|
13
13
|
var reactI18next = require('react-i18next');
|
|
14
14
|
var reactRouterDom = require('react-router-dom');
|
|
15
15
|
var Chevron = require('./Chevron-BKclhyNs.js');
|
|
16
|
+
var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
|
|
16
17
|
var Neeto = require('@bigbinary/neeto-icons/typeface-logos/Neeto');
|
|
17
18
|
var AppIcons = require('@bigbinary/neeto-icons/typeface-logos');
|
|
18
19
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -54,16 +55,19 @@ var Header = function Header(_ref) {
|
|
|
54
55
|
var customLogo = _ref.customLogo,
|
|
55
56
|
clearSettingsNav = _ref.clearSettingsNav,
|
|
56
57
|
homePath = _ref.homePath;
|
|
57
|
-
var productName = globalProps.appName.substr(5);
|
|
58
|
+
var productName = initializers.globalProps.appName.substr(5);
|
|
58
59
|
var logoName = "Neeto".concat(neetoCist.capitalize(productName.toLowerCase()));
|
|
59
60
|
var ProductTypefaceLogo = (_ProductTypefaceLogos = AppIcons__namespace[logoName]) !== null && _ProductTypefaceLogos !== void 0 ? _ProductTypefaceLogos : Neeto;
|
|
60
61
|
var LogoComponent = customLogo !== null && customLogo !== void 0 ? customLogo : ProductTypefaceLogo;
|
|
62
|
+
var isOnboarded = initializers.globalProps.user.isOnboarded !== false;
|
|
61
63
|
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
62
64
|
className: "neeto-molecules-sidebar__header neeto-molecules-sidebar__no-shrinkable",
|
|
63
65
|
"data-cy": "sidebar-info",
|
|
64
66
|
children: /*#__PURE__*/jsxRuntime.jsx(reactRouterDom.Link, {
|
|
65
|
-
className: "neeto-molecules-sidebar__logo neeto-ui-w-full",
|
|
66
67
|
to: homePath,
|
|
68
|
+
className: classnames("neeto-molecules-sidebar__logo neeto-ui-w-full", {
|
|
69
|
+
"pointer-events-none": isOnboarded
|
|
70
|
+
}),
|
|
67
71
|
onClick: clearSettingsNav,
|
|
68
72
|
children: /*#__PURE__*/jsxRuntime.jsx(LogoComponent, {
|
|
69
73
|
className: classnames({
|
package/dist/cjs/Sidebar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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 { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { capitalize } from \"neetocist\";\nimport { Neeto } from \"neetoicons/typeface-logos\";\nimport * as ProductTypefaceLogos from \"neetoicons/typeface-logos\";\nimport { Link } from \"react-router-dom\";\n\nconst Header = ({ customLogo, clearSettingsNav, homePath }) => {\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 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 className={classnames({\n \"neeto-molecules-sidebar__logo\": !customLogo,\n })}\n />\n </Link>\n </div>\n );\n};\n\nexport default memo(Header);\n","import { Fragment, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { hyphenate, isNotEmpty, isPresent } from \"neetocist\";\nimport { Right } 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 renderCount = count => (count > 999 ? \"999+\" : count);\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, navLink }) => {\n const isExpandable =\n isPresent(navLink.items) || isPresent(navLink.component);\n if (!isExpandable) return;\n\n if (navLink.isConfigureNavLink && isNotEmpty(navLink.items)) {\n setSelectedNavLinkRoute(navLink.to);\n }\n\n if (isActive()) {\n setIsActiveLinkExpanded(not);\n navLink.resetPath !== true && 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 count = null,\n component: Component,\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 isExpandable = items || Component;\n const isMenuExpanded =\n isActive() && isActiveLinkExpanded && !isCountsLoadingDeprecated;\n\n return (\n <Fragment key={navLink.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, 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 {isPresent(count) && !isCountsLoading && (\n <span className=\"neeto-molecules-sidebar__link-unread-count\">\n {renderCount(count)}\n </span>\n )}\n </span>\n )}\n <Typography\n className=\"neeto-molecules-sidebar__link-label neeto-ui-flex-grow flex items-center gap-1\"\n component=\"span\"\n style=\"body2\"\n >\n {label}\n </Typography>\n {isExpandable && !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 <Right size={16} />\n </span>\n )}\n </CheckPointNavLinks>\n {isExpandable && !isConfigureNavLink && isMenuExpanded && (\n <>\n {items && (\n <Items {...{ isCountsLoading, items, ...otherProps }} />\n )}\n {Component && <Component {...{ navLink }} />}\n </>\n )}\n </Fragment>\n );\n })}\n </div>\n );\n};\n\nexport default Links;\n","import { useEffect, useMemo, useState, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent, isNotEmpty, findBy } from \"neetocist\";\nimport useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Button, Typography } 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 {\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n DEFAULT_HOME_PATH,\n SIDEBAR_WIDTH_KEY,\n MIN_SIDEBAR_WIDTH,\n MAX_SIDEBAR_WIDTH,\n DEFAULT_SIDEBAR_WIDTH,\n} from \"./constants\";\nimport \"./sidebar.scss\";\nimport {\n getActiveConfigurePageLink,\n getSidebarStateLocalStorageKey,\n enableDraggingStyles,\n disableDraggingStyles,\n} from \"./utils\";\n\nimport useKeyboardShortcutsPaneState from \"../KeyboardShortcuts/hooks/useKeyboardShortcutsPaneState\";\n\nconst Sidebar = ({\n navLinks,\n customLogo,\n isCountsLoading = false,\n showWorkspaceName = false,\n isExpandable = true,\n}) => {\n const [isKeyboardShortcutsPaneOpen] = useKeyboardShortcutsPaneState();\n\n const [isSidebarPaneOpen, setIsSidebarPaneOpen] = useState(false);\n const [selectedNavLinkRoute, setSelectedNavLinkRoute] = useLocalStorage(\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n null\n );\n\n const [isSidebarCollapsed, setIsSidebarCollapsed] = useLocalStorage(\n getSidebarStateLocalStorageKey(),\n false\n );\n\n const [sidebarWidth, setSidebarWidth] = useLocalStorage(\n SIDEBAR_WIDTH_KEY,\n `${DEFAULT_SIDEBAR_WIDTH}px`\n );\n\n const sidebarRef = useRef(null);\n const isMouseDownRef = useRef(false);\n const startXRef = useRef(null);\n const startWidthRef = useRef(null);\n\n const location = useLocation();\n const history = useHistory();\n const { t } = useTranslation();\n\n const { data } = useFetchNeetoApps();\n\n const isLargerScreen = () => window.innerWidth > 768;\n const isSidebarClosed = isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen);\n\n useEffect(() => {\n if (isKeyboardShortcutsPaneOpen) {\n setIsSidebarPaneOpen(false);\n setIsSidebarCollapsed(true);\n } else if (!isKeyboardShortcutsPaneOpen && isLargerScreen()) {\n setIsSidebarPaneOpen(true);\n setIsSidebarCollapsed(false);\n }\n }, [isKeyboardShortcutsPaneOpen]);\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 useEffect(() => {\n if (!isExpandable) return undefined;\n\n const handle = document.querySelector(\n \".neeto-molecules-sidebar__resize-handle\"\n );\n\n if (!handle) return undefined;\n\n const onMouseDown = e => {\n isMouseDownRef.current = true;\n startXRef.current = e.clientX;\n startWidthRef.current =\n sidebarRef.current?.getBoundingClientRect().width ||\n DEFAULT_SIDEBAR_WIDTH;\n\n enableDraggingStyles();\n };\n\n const onMouseMove = e => {\n if (!isMouseDownRef.current) return;\n\n const dx = e.clientX - startXRef.current;\n let newWidth = startWidthRef.current + dx;\n\n newWidth = Math.max(\n MIN_SIDEBAR_WIDTH,\n Math.min(newWidth, MAX_SIDEBAR_WIDTH)\n );\n\n setSidebarWidth(`${newWidth}px`);\n };\n\n const onMouseUp = () => {\n if (!isMouseDownRef.current) return;\n\n isMouseDownRef.current = false;\n disableDraggingStyles();\n };\n\n handle.addEventListener(\"mousedown\", onMouseDown);\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseUp);\n\n return () => {\n handle.removeEventListener(\"mousedown\", onMouseDown);\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseUp);\n };\n }, [isExpandable]);\n\n useEffect(() => {\n document.documentElement.style.setProperty(\n \"--neeto-molecules-sidebar-width\",\n `${parseInt(sidebarWidth) / 16}rem`\n );\n }, [sidebarWidth]);\n\n const handleGoBack = event => {\n event.preventDefault();\n setSelectedNavLinkRoute(null);\n const configureNavLink = getActiveConfigurePageLink({ navLinks, location });\n if (configureNavLink?.to) {\n history.push(buildUrl(configureNavLink.to));\n }\n };\n\n const homePath = useMemo(() => {\n if (!data?.neetoApps) return DEFAULT_HOME_PATH;\n\n const productName = globalProps.appName.substr(5);\n const thisApp = findBy({ name: productName }, data.neetoApps);\n\n return thisApp?.url ? new URL(thisApp.url).pathname : DEFAULT_HOME_PATH;\n }, [data]);\n\n const activeLink = useMemo(\n () =>\n navLinks.find(link => {\n if (is(Function, link.isActive)) return link.isActive();\n const url = new URL(link.to, window.location.href);\n\n return location.pathname.startsWith(url.pathname);\n }),\n [location.pathname, navLinks]\n );\n\n const isSelectedNavLinkVisible =\n selectedNavLinkRoute &&\n activeLink?.to === selectedNavLinkRoute &&\n isNotEmpty(navLinks);\n\n return (\n <>\n <div\n data-testid=\"sidebar-container\"\n ref={sidebarRef}\n style={{ width: isSidebarCollapsed ? \"0\" : sidebarWidth }}\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, homePath }}\n clearSettingsNav={() => setSelectedNavLinkRoute(null)}\n />\n {showWorkspaceName && (\n <div className=\"neeto-ui-bg-gray-100 neeto-molecules-sidebar__workspace-info\">\n <Typography\n className=\"neeto-ui-mb-1\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.sidebar.myWorkspace\")}\n </Typography>\n <Typography className=\"neeto-ui-truncate\" style=\"body2\">\n {globalProps.organization.name}\n </Typography>\n </div>\n )}\n {isSelectedNavLinkVisible ? (\n <SelectedLink\n {...{ handleGoBack, homePath }}\n navLink={activeLink}\n />\n ) : (\n <Links\n {...{ isCountsLoading, navLinks, setSelectedNavLinkRoute }}\n />\n )}\n </div>\n <Button\n className=\"neeto-molecules-sidebar__toggler\"\n data-cy=\"neeto-molecules-sidebar-toggler\"\n data-testid=\"sidebar-toggleButton\"\n icon={() => <Chevron />}\n style={isLargerScreen() ? \"text\" : \"secondary\"}\n tooltipProps={{\n content: isSidebarClosed\n ? t(\"neetoMolecules.sidebar.showMenu\")\n : t(\"neetoMolecules.sidebar.hideMenu\"),\n position: \"bottom\",\n touch: [\"hold\", 500],\n }}\n onClick={() => {\n setIsSidebarCollapsed(!isSidebarCollapsed);\n setIsSidebarPaneOpen(not);\n }}\n />\n </div>\n {isExpandable && (\n <div className=\"neeto-molecules-sidebar__resize-handle\" />\n )}\n </>\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 count: PropTypes.number,\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 href: 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 * Boolean to determine whether the workspace name should be shown.\n */\n showWorkspaceName: PropTypes.bool,\n /**\n * Boolean to determine whether the sidebar should be expandable.\n */\n isExpandable: PropTypes.bool,\n};\n\nexport default Sidebar;\n"],"names":["Header","_ref","_ProductTypefaceLogos","customLogo","clearSettingsNav","homePath","productName","globalProps","appName","substr","logoName","concat","capitalize","toLowerCase","ProductTypefaceLogo","ProductTypefaceLogos","Neeto","LogoComponent","_jsx","className","children","Link","to","onClick","classnames","memo","renderCount","count","Links","navLinks","isCountsLoadingDeprecated","isCountsLoading","setSelectedNavLinkRoute","location","useLocation","_useState","useState","_useState2","_slicedToArray","isActiveLinkExpanded","setIsActiveLinkExpanded","handleNavLinkClick","_ref2","event","isActive","navLink","isExpandable","isPresent","items","component","isConfigureNavLink","isNotEmpty","not","resetPath","preventDefault","filter","filterByPermissions","map","index","label","icon","_navLink$isCountsLoad","_navLink$count","Component","otherProps","_objectWithoutProperties","_excluded","IconSVG","url","URL","window","href","is","Function","pathname","startsWith","isMenuExpanded","_jsxs","Fragment","CheckPointNavLinks","_objectSpread","activeClassName","hyphenate","Typography","style","Right","size","_Fragment","Items","key","Sidebar","_ref$isCountsLoading","_ref$showWorkspaceNam","showWorkspaceName","_ref$isExpandable","_useKeyboardShortcuts","useKeyboardShortcutsPaneState","_useKeyboardShortcuts2","isKeyboardShortcutsPaneOpen","isSidebarPaneOpen","setIsSidebarPaneOpen","_useLocalStorage","useLocalStorage","SELECTED_NAV_LINK_ROUTE_STORAGE_KEY","_useLocalStorage2","selectedNavLinkRoute","_useLocalStorage3","getSidebarStateLocalStorageKey","_useLocalStorage4","isSidebarCollapsed","setIsSidebarCollapsed","_useLocalStorage5","SIDEBAR_WIDTH_KEY","DEFAULT_SIDEBAR_WIDTH","_useLocalStorage6","sidebarWidth","setSidebarWidth","sidebarRef","useRef","isMouseDownRef","startXRef","startWidthRef","history","useHistory","_useTranslation","useTranslation","t","_useFetchNeetoApps","useFetchNeetoApps","data","isLargerScreen","innerWidth","isSidebarClosed","useEffect","currentLink","findLast","includes","handleResize","addEventListener","removeEventListener","undefined","handle","document","querySelector","onMouseDown","e","_sidebarRef$current","current","clientX","getBoundingClientRect","width","enableDraggingStyles","onMouseMove","dx","newWidth","Math","max","MIN_SIDEBAR_WIDTH","min","MAX_SIDEBAR_WIDTH","onMouseUp","disableDraggingStyles","documentElement","setProperty","parseInt","handleGoBack","configureNavLink","getActiveConfigurePageLink","push","buildUrl","useMemo","neetoApps","DEFAULT_HOME_PATH","thisApp","findBy","name","activeLink","find","link","isSelectedNavLinkVisible","ref","weight","organization","SelectedLink","Button","Chevron","tooltipProps","content","position","touch"],"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 { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { capitalize } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Neeto } from \"neetoicons/typeface-logos\";\nimport * as ProductTypefaceLogos from \"neetoicons/typeface-logos\";\nimport { Link } from \"react-router-dom\";\n\nconst Header = ({ customLogo, clearSettingsNav, homePath }) => {\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 const isOnboarded = globalProps.user.isOnboarded !== false;\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 to={homePath}\n className={classnames(\"neeto-molecules-sidebar__logo neeto-ui-w-full\", {\n \"pointer-events-none\": isOnboarded,\n })}\n onClick={clearSettingsNav}\n >\n <LogoComponent\n className={classnames({\n \"neeto-molecules-sidebar__logo\": !customLogo,\n })}\n />\n </Link>\n </div>\n );\n};\n\nexport default memo(Header);\n","import { Fragment, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { hyphenate, isNotEmpty, isPresent } from \"neetocist\";\nimport { Right } 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 renderCount = count => (count > 999 ? \"999+\" : count);\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, navLink }) => {\n const isExpandable =\n isPresent(navLink.items) || isPresent(navLink.component);\n if (!isExpandable) return;\n\n if (navLink.isConfigureNavLink && isNotEmpty(navLink.items)) {\n setSelectedNavLinkRoute(navLink.to);\n }\n\n if (isActive()) {\n setIsActiveLinkExpanded(not);\n navLink.resetPath !== true && 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 count = null,\n component: Component,\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 isExpandable = items || Component;\n const isMenuExpanded =\n isActive() && isActiveLinkExpanded && !isCountsLoadingDeprecated;\n\n return (\n <Fragment key={navLink.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, 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 {isPresent(count) && !isCountsLoading && (\n <span className=\"neeto-molecules-sidebar__link-unread-count\">\n {renderCount(count)}\n </span>\n )}\n </span>\n )}\n <Typography\n className=\"neeto-molecules-sidebar__link-label neeto-ui-flex-grow flex items-center gap-1\"\n component=\"span\"\n style=\"body2\"\n >\n {label}\n </Typography>\n {isExpandable && !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 <Right size={16} />\n </span>\n )}\n </CheckPointNavLinks>\n {isExpandable && !isConfigureNavLink && isMenuExpanded && (\n <>\n {items && (\n <Items {...{ isCountsLoading, items, ...otherProps }} />\n )}\n {Component && <Component {...{ navLink }} />}\n </>\n )}\n </Fragment>\n );\n })}\n </div>\n );\n};\n\nexport default Links;\n","import { useEffect, useMemo, useState, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent, isNotEmpty, findBy } from \"neetocist\";\nimport useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Button, Typography } 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 {\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n DEFAULT_HOME_PATH,\n SIDEBAR_WIDTH_KEY,\n MIN_SIDEBAR_WIDTH,\n MAX_SIDEBAR_WIDTH,\n DEFAULT_SIDEBAR_WIDTH,\n} from \"./constants\";\nimport \"./sidebar.scss\";\nimport {\n getActiveConfigurePageLink,\n getSidebarStateLocalStorageKey,\n enableDraggingStyles,\n disableDraggingStyles,\n} from \"./utils\";\n\nimport useKeyboardShortcutsPaneState from \"../KeyboardShortcuts/hooks/useKeyboardShortcutsPaneState\";\n\nconst Sidebar = ({\n navLinks,\n customLogo,\n isCountsLoading = false,\n showWorkspaceName = false,\n isExpandable = true,\n}) => {\n const [isKeyboardShortcutsPaneOpen] = useKeyboardShortcutsPaneState();\n\n const [isSidebarPaneOpen, setIsSidebarPaneOpen] = useState(false);\n const [selectedNavLinkRoute, setSelectedNavLinkRoute] = useLocalStorage(\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n null\n );\n\n const [isSidebarCollapsed, setIsSidebarCollapsed] = useLocalStorage(\n getSidebarStateLocalStorageKey(),\n false\n );\n\n const [sidebarWidth, setSidebarWidth] = useLocalStorage(\n SIDEBAR_WIDTH_KEY,\n `${DEFAULT_SIDEBAR_WIDTH}px`\n );\n\n const sidebarRef = useRef(null);\n const isMouseDownRef = useRef(false);\n const startXRef = useRef(null);\n const startWidthRef = useRef(null);\n\n const location = useLocation();\n const history = useHistory();\n const { t } = useTranslation();\n\n const { data } = useFetchNeetoApps();\n\n const isLargerScreen = () => window.innerWidth > 768;\n const isSidebarClosed = isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen);\n\n useEffect(() => {\n if (isKeyboardShortcutsPaneOpen) {\n setIsSidebarPaneOpen(false);\n setIsSidebarCollapsed(true);\n } else if (!isKeyboardShortcutsPaneOpen && isLargerScreen()) {\n setIsSidebarPaneOpen(true);\n setIsSidebarCollapsed(false);\n }\n }, [isKeyboardShortcutsPaneOpen]);\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 useEffect(() => {\n if (!isExpandable) return undefined;\n\n const handle = document.querySelector(\n \".neeto-molecules-sidebar__resize-handle\"\n );\n\n if (!handle) return undefined;\n\n const onMouseDown = e => {\n isMouseDownRef.current = true;\n startXRef.current = e.clientX;\n startWidthRef.current =\n sidebarRef.current?.getBoundingClientRect().width ||\n DEFAULT_SIDEBAR_WIDTH;\n\n enableDraggingStyles();\n };\n\n const onMouseMove = e => {\n if (!isMouseDownRef.current) return;\n\n const dx = e.clientX - startXRef.current;\n let newWidth = startWidthRef.current + dx;\n\n newWidth = Math.max(\n MIN_SIDEBAR_WIDTH,\n Math.min(newWidth, MAX_SIDEBAR_WIDTH)\n );\n\n setSidebarWidth(`${newWidth}px`);\n };\n\n const onMouseUp = () => {\n if (!isMouseDownRef.current) return;\n\n isMouseDownRef.current = false;\n disableDraggingStyles();\n };\n\n handle.addEventListener(\"mousedown\", onMouseDown);\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseUp);\n\n return () => {\n handle.removeEventListener(\"mousedown\", onMouseDown);\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseUp);\n };\n }, [isExpandable]);\n\n useEffect(() => {\n document.documentElement.style.setProperty(\n \"--neeto-molecules-sidebar-width\",\n `${parseInt(sidebarWidth) / 16}rem`\n );\n }, [sidebarWidth]);\n\n const handleGoBack = event => {\n event.preventDefault();\n setSelectedNavLinkRoute(null);\n const configureNavLink = getActiveConfigurePageLink({ navLinks, location });\n if (configureNavLink?.to) {\n history.push(buildUrl(configureNavLink.to));\n }\n };\n\n const homePath = useMemo(() => {\n if (!data?.neetoApps) return DEFAULT_HOME_PATH;\n\n const productName = globalProps.appName.substr(5);\n const thisApp = findBy({ name: productName }, data.neetoApps);\n\n return thisApp?.url ? new URL(thisApp.url).pathname : DEFAULT_HOME_PATH;\n }, [data]);\n\n const activeLink = useMemo(\n () =>\n navLinks.find(link => {\n if (is(Function, link.isActive)) return link.isActive();\n const url = new URL(link.to, window.location.href);\n\n return location.pathname.startsWith(url.pathname);\n }),\n [location.pathname, navLinks]\n );\n\n const isSelectedNavLinkVisible =\n selectedNavLinkRoute &&\n activeLink?.to === selectedNavLinkRoute &&\n isNotEmpty(navLinks);\n\n return (\n <>\n <div\n data-testid=\"sidebar-container\"\n ref={sidebarRef}\n style={{ width: isSidebarCollapsed ? \"0\" : sidebarWidth }}\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, homePath }}\n clearSettingsNav={() => setSelectedNavLinkRoute(null)}\n />\n {showWorkspaceName && (\n <div className=\"neeto-ui-bg-gray-100 neeto-molecules-sidebar__workspace-info\">\n <Typography\n className=\"neeto-ui-mb-1\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.sidebar.myWorkspace\")}\n </Typography>\n <Typography className=\"neeto-ui-truncate\" style=\"body2\">\n {globalProps.organization.name}\n </Typography>\n </div>\n )}\n {isSelectedNavLinkVisible ? (\n <SelectedLink\n {...{ handleGoBack, homePath }}\n navLink={activeLink}\n />\n ) : (\n <Links\n {...{ isCountsLoading, navLinks, setSelectedNavLinkRoute }}\n />\n )}\n </div>\n <Button\n className=\"neeto-molecules-sidebar__toggler\"\n data-cy=\"neeto-molecules-sidebar-toggler\"\n data-testid=\"sidebar-toggleButton\"\n icon={() => <Chevron />}\n style={isLargerScreen() ? \"text\" : \"secondary\"}\n tooltipProps={{\n content: isSidebarClosed\n ? t(\"neetoMolecules.sidebar.showMenu\")\n : t(\"neetoMolecules.sidebar.hideMenu\"),\n position: \"bottom\",\n touch: [\"hold\", 500],\n }}\n onClick={() => {\n setIsSidebarCollapsed(!isSidebarCollapsed);\n setIsSidebarPaneOpen(not);\n }}\n />\n </div>\n {isExpandable && (\n <div className=\"neeto-molecules-sidebar__resize-handle\" />\n )}\n </>\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 count: PropTypes.number,\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 href: 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 * Boolean to determine whether the workspace name should be shown.\n */\n showWorkspaceName: PropTypes.bool,\n /**\n * Boolean to determine whether the sidebar should be expandable.\n */\n isExpandable: PropTypes.bool,\n};\n\nexport default Sidebar;\n"],"names":["Header","_ref","_ProductTypefaceLogos","customLogo","clearSettingsNav","homePath","productName","globalProps","appName","substr","logoName","concat","capitalize","toLowerCase","ProductTypefaceLogo","ProductTypefaceLogos","Neeto","LogoComponent","isOnboarded","user","_jsx","className","children","Link","to","classnames","onClick","memo","renderCount","count","Links","navLinks","isCountsLoadingDeprecated","isCountsLoading","setSelectedNavLinkRoute","location","useLocation","_useState","useState","_useState2","_slicedToArray","isActiveLinkExpanded","setIsActiveLinkExpanded","handleNavLinkClick","_ref2","event","isActive","navLink","isExpandable","isPresent","items","component","isConfigureNavLink","isNotEmpty","not","resetPath","preventDefault","filter","filterByPermissions","map","index","label","icon","_navLink$isCountsLoad","_navLink$count","Component","otherProps","_objectWithoutProperties","_excluded","IconSVG","url","URL","window","href","is","Function","pathname","startsWith","isMenuExpanded","_jsxs","Fragment","CheckPointNavLinks","_objectSpread","activeClassName","hyphenate","Typography","style","Right","size","_Fragment","Items","key","Sidebar","_ref$isCountsLoading","_ref$showWorkspaceNam","showWorkspaceName","_ref$isExpandable","_useKeyboardShortcuts","useKeyboardShortcutsPaneState","_useKeyboardShortcuts2","isKeyboardShortcutsPaneOpen","isSidebarPaneOpen","setIsSidebarPaneOpen","_useLocalStorage","useLocalStorage","SELECTED_NAV_LINK_ROUTE_STORAGE_KEY","_useLocalStorage2","selectedNavLinkRoute","_useLocalStorage3","getSidebarStateLocalStorageKey","_useLocalStorage4","isSidebarCollapsed","setIsSidebarCollapsed","_useLocalStorage5","SIDEBAR_WIDTH_KEY","DEFAULT_SIDEBAR_WIDTH","_useLocalStorage6","sidebarWidth","setSidebarWidth","sidebarRef","useRef","isMouseDownRef","startXRef","startWidthRef","history","useHistory","_useTranslation","useTranslation","t","_useFetchNeetoApps","useFetchNeetoApps","data","isLargerScreen","innerWidth","isSidebarClosed","useEffect","currentLink","findLast","includes","handleResize","addEventListener","removeEventListener","undefined","handle","document","querySelector","onMouseDown","e","_sidebarRef$current","current","clientX","getBoundingClientRect","width","enableDraggingStyles","onMouseMove","dx","newWidth","Math","max","MIN_SIDEBAR_WIDTH","min","MAX_SIDEBAR_WIDTH","onMouseUp","disableDraggingStyles","documentElement","setProperty","parseInt","handleGoBack","configureNavLink","getActiveConfigurePageLink","push","buildUrl","useMemo","neetoApps","DEFAULT_HOME_PATH","thisApp","findBy","name","activeLink","find","link","isSelectedNavLinkVisible","ref","weight","organization","SelectedLink","Button","Chevron","tooltipProps","content","position","touch"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-molecules",
|
|
3
|
-
"version": "3.16.
|
|
3
|
+
"version": "3.16.56",
|
|
4
4
|
"description": "A package of reusable molecular components for neeto products.",
|
|
5
5
|
"repository": "git@github.com:bigbinary/neeto-molecules.git",
|
|
6
6
|
"author": "Amaljith K <amaljith.k@bigbinary.com>",
|
package/src/translations/en.json
CHANGED
|
@@ -73,9 +73,9 @@
|
|
|
73
73
|
"hideAll": "Hide all",
|
|
74
74
|
"showAll": "Show all"
|
|
75
75
|
},
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
76
|
+
"engagements": {
|
|
77
|
+
"namesReacted": "{{ names, anyCase }} reacted"
|
|
78
|
+
},
|
|
79
79
|
"login": {
|
|
80
80
|
"loginAsOliver": "Login as Oliver",
|
|
81
81
|
"login": "Login",
|
|
@@ -768,7 +768,9 @@
|
|
|
768
768
|
"preview": "Preview",
|
|
769
769
|
"checkboxLabel": "Start at",
|
|
770
770
|
"tooltipContent": "Copy link",
|
|
771
|
-
"successTooltipContent": "Link copied"
|
|
771
|
+
"successTooltipContent": "Link copied",
|
|
772
|
+
"muted": "Share the video muted",
|
|
773
|
+
"autoplay": "Autoplay"
|
|
772
774
|
},
|
|
773
775
|
"fileUpload": {
|
|
774
776
|
"filesDropzone": {
|