@bigbinary/neeto-molecules 3.16.55 → 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.
@@ -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 { not } from 'ramda';
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
- rawInput = _useState6[0],
91
- setRawInput = _useState6[1];
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 (!(e.key === "Enter")) return;
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":"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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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"}
@@ -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
- rawInput = _useState6[0],
93
- setRawInput = _useState6[1];
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 (!(e.key === "Enter")) return;
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":";;;;;;;;;;;;;;;;;;;;;;;;;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,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AAET,EAAA,IAAMC,gBAAgB,GAAGP,mBAAmB,EAAE,CAAA;AAE9C,EAAA,IAAAQ,SAAA,GAAoCC,cAAQ,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,cAAQ,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,cAAQ,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,eAAS,CAAC,YAAM;AACd,IAAA,IAAIC,SAAG,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,eAAS,CAAC,YAAM;AACd,IAAA,IAAME,YAAY,GAAGjC,aAAa,CAACd,GAAG,CAAC,UAAAgD,YAAY,EAAA;MAAA,OACjDC,cAAQ,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,eAAA,CAAAC,mBAAA,EAAA;IAAAC,QAAA,EAAA,CACGzB,UAAU,CAAC5B,GAAG,CAAC,UAACsD,SAAS,EAAEC,KAAK,EAAA;AAAA,MAAA,oBAC/BJ,eAAA,CAAA,KAAA,EAAA;AACEK,QAAAA,SAAS,EAAC,kGAAkG;QAAAH,QAAA,EAAA,cAG5GI,cAAA,CAACC,OAAO,EAAA;AAACC,UAAAA,OAAO,EAAEL,SAAU;UAAAD,QAAA,eAC1BI,cAAA,CAACG,UAAU,EAAA;AAACJ,YAAAA,SAAS,EAAC,UAAU;AAACK,YAAAA,KAAK,EAAC,OAAO;AAAAR,YAAAA,QAAA,EAC3CC,SAAAA;WACS,CAAA;AAAC,SACN,CAAC,eACVG,cAAA,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,eAAA,CAAA,KAAA,EAAA;AAAKK,MAAAA,SAAS,EAAC,2BAA2B;MAAAH,QAAA,EAAA,cACxCI,cAAA,CAACM,KAAK,EAAA;QAAAV,QAAA,EAAE/B,CAAC,CAAC,6CAA6C,CAAA;AAAC,OAAQ,CAAC,eACjEmC,cAAA,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,eAAA,CAAA,KAAA,EAAA;AAAKK,MAAAA,SAAS,EAAC,4BAA4B;MAAAH,QAAA,EAAA,cACzCI,cAAA,CAACM,KAAK,EAAA;QAAAV,QAAA,EAAE/B,CAAC,CAAC,uCAAuC,CAAA;AAAC,OAAQ,CAAC,eAC3DmC,cAAA,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,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;EAET,IAAMwD,oBAAoB,GAAGC,oBAAU,CAACjE,aAAa,CAAC,GAClDA,aAAa,GACb,CAACkC,YAAY,CAAC,CAAA;EAElB,oBACEG,eAAA,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,cAAA,CAACuB,IAAI,CAACG,MAAM,EAAA;MAAA9B,QAAA,eACVI,cAAA,CAACG,UAAU,EAAA;AAACC,QAAAA,KAAK,EAAC,IAAI;QAAAR,QAAA,EACnB/B,CAAC,CAAC,qCAAqC,CAAA;OAC9B,CAAA;AAAC,KACF,CAAC,eACdmC,cAAA,CAACuB,IAAI,CAACI,IAAI,EAAA;AAAC5B,MAAAA,SAAS,EAAC,yBAAyB;AAAAH,MAAAA,QAAA,EAC3CqB,SAAS,gBACRjB,cAAA,CAAC4B,OAAO,EAAA;AAAC7B,QAAAA,SAAS,EAAC,SAAA;AAAS,OAAE,CAAC,gBAE/BC,cAAA,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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-molecules",
3
- "version": "3.16.55",
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>",
@@ -73,9 +73,9 @@
73
73
  "hideAll": "Hide all",
74
74
  "showAll": "Show all"
75
75
  },
76
-
77
- "engagements": { "namesReacted": "{{ names, anyCase }} reacted" },
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": {
@@ -86,6 +86,7 @@ declare const ShareRecordingPane: React.FC<{
86
86
  onClose: Function;
87
87
  isLoading?: boolean;
88
88
  preview?: React.ElementType;
89
+ enableAutoplayAndMuteFlags?: boolean;
89
90
  }>;
90
91
 
91
92
  export { ShareRecordingPane as default };