@bigbinary/neeto-molecules 1.16.3 → 1.17.0

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.
@@ -1,224 +0,0 @@
1
- 'use strict';
2
-
3
- var _extends = require('./extends-1b35a664.js');
4
- var defineProperty = require('./defineProperty-886ed289.js');
5
- var slicedToArray = require('./slicedToArray-f320d9e7.js');
6
- var objectWithoutProperties = require('./objectWithoutProperties-2fed2d7d.js');
7
- var React = require('react');
8
- var neetoui = require('@bigbinary/neetoui');
9
- var reactI18next = require('react-i18next');
10
- var injectCss = require('./inject-css-80a5faa3.js');
11
- var utils = require('@bigbinary/neeto-commons-frontend/utils');
12
- var ramda = require('ramda');
13
- var CopyToClipboardButton = require('./CopyToClipboardButton.js');
14
- require('classnames');
15
- require('@bigbinary/neeto-commons-frontend/utils/general');
16
- require('@bigbinary/neeto-icons');
17
-
18
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
19
-
20
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
21
-
22
- var css = ".neeto-molecules-share-timestamp-input .neeto-ui-input__wrapper{position:relative}.neeto-molecules-share-timestamp-input .neeto-ui-input__wrapper:not(:last-child):after{content:\":\";font-weight:bolder;position:absolute;right:-8px;top:4px}";
23
- injectCss.n(css,{});
24
-
25
- var ONE_SECOND = 1;
26
- var ONE_MINUTE = 60 * ONE_SECOND;
27
- var ONE_HOUR = 60 * ONE_MINUTE;
28
-
29
- var getTimeValues = function getTimeValues(playbackTimeInSec) {
30
- var hour = Math.floor(playbackTimeInSec / ONE_HOUR);
31
- playbackTimeInSec = playbackTimeInSec % ONE_HOUR;
32
- var minute = Math.floor(playbackTimeInSec / ONE_MINUTE);
33
- playbackTimeInSec = playbackTimeInSec % ONE_MINUTE;
34
- var second = Math.floor(playbackTimeInSec / ONE_SECOND);
35
- return {
36
- hour: hour,
37
- minute: minute,
38
- second: second
39
- };
40
- };
41
- var padZero = function padZero(number) {
42
- var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;
43
- var string = String(number);
44
- var threshold = Math.pow(10, length - 1);
45
- if (number < threshold) {
46
- while (String(threshold).length > string.length) {
47
- string = "0".concat(number);
48
- }
49
- }
50
- return string;
51
- };
52
- var shouldRenderHoursInput = function shouldRenderHoursInput(duration) {
53
- var hours = Math.floor(duration / ONE_HOUR);
54
- return hours > 0;
55
- };
56
-
57
- function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
58
- function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { defineProperty._defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
59
- var ShareModalBody = function ShareModalBody(_ref) {
60
- var recordingUrl = _ref.recordingUrl,
61
- totalDuration = _ref.totalDuration,
62
- getCurrentTimestamp = _ref.getCurrentTimestamp,
63
- isOpen = _ref.isOpen;
64
- var _useTranslation = reactI18next.useTranslation(),
65
- t = _useTranslation.t;
66
- var currentTimestamp = getCurrentTimestamp();
67
- var _useState = React.useState(""),
68
- _useState2 = slicedToArray._slicedToArray(_useState, 2),
69
- shareLink = _useState2[0],
70
- setShareLink = _useState2[1];
71
- var _useState3 = React.useState(currentTimestamp),
72
- _useState4 = slicedToArray._slicedToArray(_useState3, 2),
73
- currentPlaybackTime = _useState4[0],
74
- setCurrentPlaybackTime = _useState4[1];
75
- var _useState5 = React.useState(currentTimestamp > 0),
76
- _useState6 = slicedToArray._slicedToArray(_useState5, 2),
77
- isPlaybackTimeCheckboxChecked = _useState6[0],
78
- setIsPlaybackTimeCheckboxChecked = _useState6[1];
79
- var _getTimeValues = getTimeValues(currentPlaybackTime),
80
- hour = _getTimeValues.hour,
81
- minute = _getTimeValues.minute,
82
- second = _getTimeValues.second;
83
- var handlePlaybackTimestampChange = function handlePlaybackTimestampChange(_ref2) {
84
- var valueInSec = _ref2.valueInSec,
85
- offset = _ref2.offset;
86
- var intendedTimeInSec = currentPlaybackTime + valueInSec - offset;
87
- setCurrentPlaybackTime(Math.min(intendedTimeInSec, totalDuration));
88
- };
89
- var renderTimeInput = function renderTimeInput(_ref3) {
90
- var value = _ref3.value,
91
- onChange = _ref3.onChange,
92
- max = _ref3.max;
93
- return /*#__PURE__*/React__default["default"].createElement(neetoui.Input, {
94
- max: max,
95
- onChange: onChange,
96
- value: value,
97
- className: "w-14",
98
- disabled: ramda.not(isPlaybackTimeCheckboxChecked),
99
- min: 0,
100
- type: "number",
101
- unlimitedChars: false
102
- });
103
- };
104
- React.useEffect(function () {
105
- if (ramda.not(isOpen)) return;
106
- setIsPlaybackTimeCheckboxChecked(currentTimestamp > 0);
107
- setCurrentPlaybackTime(currentTimestamp > 0 ? currentTimestamp : 0);
108
- }, [isOpen]);
109
- React.useEffect(function () {
110
- var playbackUrl = utils.buildUrl(recordingUrl, _objectSpread$1({}, isPlaybackTimeCheckboxChecked && currentPlaybackTime > 0 && {
111
- time: currentPlaybackTime
112
- }));
113
- setShareLink(playbackUrl);
114
- }, [recordingUrl, isPlaybackTimeCheckboxChecked, currentPlaybackTime]);
115
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
116
- className: "neeto-ui-bg-gray-100 neeto-ui-rounded-lg mb-3 flex items-center justify-between p-2"
117
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Tooltip, {
118
- content: shareLink
119
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
120
- className: "truncate",
121
- style: "body2"
122
- }, shareLink)), /*#__PURE__*/React__default["default"].createElement(CopyToClipboardButton, {
123
- className: "flex-shrink-0",
124
- style: "secondary",
125
- tooltipContent: t("neetoMolecules.shareRecording.tooltipContent"),
126
- value: shareLink,
127
- successTooltipContent: t("neetoMolecules.shareRecording.successTooltipContent")
128
- })), /*#__PURE__*/React__default["default"].createElement("div", {
129
- className: "flex items-center gap-x-2"
130
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Checkbox, {
131
- checked: isPlaybackTimeCheckboxChecked,
132
- className: "grow-0",
133
- "data-cy": "time-checkbox",
134
- label: t("neetoMolecules.shareRecording.checkboxLabel"),
135
- onChange: function onChange(_ref4) {
136
- var checked = _ref4.target.checked;
137
- return setIsPlaybackTimeCheckboxChecked(checked);
138
- }
139
- }), /*#__PURE__*/React__default["default"].createElement("div", {
140
- className: "neeto-molecules-share-timestamp-input flex items-center gap-x-3",
141
- "data-cy": "time-inputs"
142
- }, shouldRenderHoursInput(totalDuration) && renderTimeInput({
143
- max: 99,
144
- value: padZero(hour),
145
- onChange: function onChange(e) {
146
- return handlePlaybackTimestampChange({
147
- valueInSec: e.target.value * ONE_HOUR,
148
- offset: hour * ONE_HOUR
149
- });
150
- }
151
- }), renderTimeInput({
152
- max: 59,
153
- value: padZero(minute),
154
- onChange: function onChange(e) {
155
- return handlePlaybackTimestampChange({
156
- valueInSec: e.target.value * ONE_MINUTE,
157
- offset: minute * ONE_MINUTE
158
- });
159
- }
160
- }), renderTimeInput({
161
- max: 59,
162
- value: padZero(second),
163
- onChange: function onChange(e) {
164
- return handlePlaybackTimestampChange({
165
- valueInSec: e.target.value * ONE_SECOND,
166
- offset: second * ONE_SECOND
167
- });
168
- }
169
- }))));
170
- };
171
-
172
- var _excluded = ["recordingUrl", "totalDuration", "getCurrentTimestamp", "buttonProps", "isLoading"];
173
- 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; }
174
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { defineProperty._defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
175
- var ShareRecording = function ShareRecording(_ref) {
176
- var recordingUrl = _ref.recordingUrl,
177
- totalDuration = _ref.totalDuration,
178
- getCurrentTimestamp = _ref.getCurrentTimestamp,
179
- _ref$buttonProps = _ref.buttonProps,
180
- buttonProps = _ref$buttonProps === void 0 ? {} : _ref$buttonProps,
181
- _ref$isLoading = _ref.isLoading,
182
- isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
183
- otherProps = objectWithoutProperties._objectWithoutProperties(_ref, _excluded);
184
- var _useTranslation = reactI18next.useTranslation(),
185
- t = _useTranslation.t;
186
- var _useState = React.useState(false),
187
- _useState2 = slicedToArray._slicedToArray(_useState, 2),
188
- isOpen = _useState2[0],
189
- setIsOpen = _useState2[1];
190
- var handleClick = function handleClick() {
191
- var _buttonProps$onClick;
192
- setIsOpen(true);
193
- buttonProps === null || buttonProps === void 0 ? void 0 : (_buttonProps$onClick = buttonProps.onClick) === null || _buttonProps$onClick === void 0 ? void 0 : _buttonProps$onClick.call(buttonProps);
194
- };
195
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Modal, _extends._extends({}, _objectSpread({
196
- isOpen: isOpen
197
- }, otherProps), {
198
- "data-cy": "share-modal",
199
- size: "large",
200
- onClose: function onClose() {
201
- return setIsOpen(false);
202
- }
203
- }), /*#__PURE__*/React__default["default"].createElement(neetoui.Modal.Header, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
204
- style: "h2"
205
- }, t("neetoMolecules.shareRecording.title"))), /*#__PURE__*/React__default["default"].createElement(neetoui.Modal.Body, {
206
- className: "flex flex-col space-y-2"
207
- }, isLoading ? /*#__PURE__*/React__default["default"].createElement(neetoui.Spinner, {
208
- className: "mx-auto"
209
- }) : /*#__PURE__*/React__default["default"].createElement(ShareModalBody, {
210
- getCurrentTimestamp: getCurrentTimestamp,
211
- isOpen: isOpen,
212
- recordingUrl: recordingUrl,
213
- totalDuration: totalDuration
214
- }))), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, _extends._extends({
215
- "data-cy": "share-button",
216
- label: t("neetoMolecules.common.actions.share"),
217
- style: "secondary"
218
- }, buttonProps, {
219
- onClick: handleClick
220
- })));
221
- };
222
-
223
- module.exports = ShareRecording;
224
- //# sourceMappingURL=ShareRecording.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ShareRecording.js","sources":["../../src/components/ShareRecording/constants.js","../../src/components/ShareRecording/utils.js","../../src/components/ShareRecording/ShareModalBody.jsx","../../src/components/ShareRecording/index.jsx"],"sourcesContent":["export const ONE_SECOND = 1;\nexport const ONE_MINUTE = 60 * ONE_SECOND;\nexport const ONE_HOUR = 60 * ONE_MINUTE;\n","import { ONE_HOUR, ONE_MINUTE, ONE_SECOND } from \"./constants\";\n\nexport const getTimeValues = playbackTimeInSec => {\n const hour = Math.floor(playbackTimeInSec / ONE_HOUR);\n playbackTimeInSec = playbackTimeInSec % ONE_HOUR;\n const minute = Math.floor(playbackTimeInSec / ONE_MINUTE);\n playbackTimeInSec = playbackTimeInSec % ONE_MINUTE;\n const second = Math.floor(playbackTimeInSec / ONE_SECOND);\n\n return { hour, minute, second };\n};\n\nexport const padZero = (number, length = 2) => {\n let string = String(number);\n const threshold = Math.pow(10, length - 1);\n\n if (number < threshold) {\n while (String(threshold).length > string.length) {\n string = `0${number}`;\n }\n }\n\n return string;\n};\n\nexport const shouldRenderHoursInput = duration => {\n const hours = Math.floor(duration / ONE_HOUR);\n\n return hours > 0;\n};\n","import React, { useState, useEffect } from \"react\";\n\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Typography, Input, Checkbox, Tooltip } from \"neetoui\";\nimport { not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\n\nimport { ONE_HOUR, ONE_MINUTE, ONE_SECOND } from \"./constants\";\nimport \"./share-modal.scss\";\nimport { getTimeValues, padZero, shouldRenderHoursInput } from \"./utils\";\n\nconst ShareModalBody = ({\n recordingUrl,\n totalDuration,\n getCurrentTimestamp,\n isOpen,\n}) => {\n const { t } = useTranslation();\n const currentTimestamp = getCurrentTimestamp();\n\n const [shareLink, setShareLink] = useState(\"\");\n const [currentPlaybackTime, setCurrentPlaybackTime] =\n useState(currentTimestamp);\n\n const [isPlaybackTimeCheckboxChecked, setIsPlaybackTimeCheckboxChecked] =\n useState(currentTimestamp > 0);\n\n const { hour, minute, second } = getTimeValues(currentPlaybackTime);\n\n const handlePlaybackTimestampChange = ({ valueInSec, offset }) => {\n const intendedTimeInSec = currentPlaybackTime + valueInSec - offset;\n\n setCurrentPlaybackTime(Math.min(intendedTimeInSec, totalDuration));\n };\n\n const renderTimeInput = ({ value, onChange, max }) => (\n <Input\n {...{ max, onChange, value }}\n className=\"w-14\"\n disabled={not(isPlaybackTimeCheckboxChecked)}\n min={0}\n type=\"number\"\n unlimitedChars={false}\n />\n );\n\n useEffect(() => {\n if (not(isOpen)) return;\n\n setIsPlaybackTimeCheckboxChecked(currentTimestamp > 0);\n setCurrentPlaybackTime(currentTimestamp > 0 ? currentTimestamp : 0);\n }, [isOpen]);\n\n useEffect(() => {\n const playbackUrl = buildUrl(recordingUrl, {\n ...(isPlaybackTimeCheckboxChecked &&\n currentPlaybackTime > 0 && { time: currentPlaybackTime }),\n });\n\n setShareLink(playbackUrl);\n }, [recordingUrl, isPlaybackTimeCheckboxChecked, currentPlaybackTime]);\n\n return (\n <>\n <div className=\"neeto-ui-bg-gray-100 neeto-ui-rounded-lg mb-3 flex items-center justify-between p-2\">\n <Tooltip content={shareLink}>\n <Typography className=\"truncate\" style=\"body2\">\n {shareLink}\n </Typography>\n </Tooltip>\n <CopyToClipboardButton\n className=\"flex-shrink-0\"\n style=\"secondary\"\n tooltipContent={t(\"neetoMolecules.shareRecording.tooltipContent\")}\n value={shareLink}\n successTooltipContent={t(\n \"neetoMolecules.shareRecording.successTooltipContent\"\n )}\n />\n </div>\n <div className=\"flex items-center gap-x-2\">\n <Checkbox\n checked={isPlaybackTimeCheckboxChecked}\n className=\"grow-0\"\n data-cy=\"time-checkbox\"\n label={t(\"neetoMolecules.shareRecording.checkboxLabel\")}\n onChange={({ target: { checked } }) =>\n setIsPlaybackTimeCheckboxChecked(checked)\n }\n />\n <div\n className=\"neeto-molecules-share-timestamp-input flex items-center gap-x-3\"\n data-cy=\"time-inputs\"\n >\n {shouldRenderHoursInput(totalDuration) &&\n renderTimeInput({\n max: 99,\n value: padZero(hour),\n onChange: e =>\n handlePlaybackTimestampChange({\n valueInSec: e.target.value * ONE_HOUR,\n offset: hour * ONE_HOUR,\n }),\n })}\n {renderTimeInput({\n max: 59,\n value: padZero(minute),\n onChange: e =>\n handlePlaybackTimestampChange({\n valueInSec: e.target.value * ONE_MINUTE,\n offset: minute * ONE_MINUTE,\n }),\n })}\n {renderTimeInput({\n max: 59,\n value: padZero(second),\n onChange: e =>\n handlePlaybackTimestampChange({\n valueInSec: e.target.value * ONE_SECOND,\n offset: second * ONE_SECOND,\n }),\n })}\n </div>\n </div>\n </>\n );\n};\n\nexport default ShareModalBody;\n","import React, { useState } from \"react\";\n\nimport { Modal, Typography, Spinner, Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport \"./share-modal.scss\";\nimport ShareModalBody from \"./ShareModalBody\";\n\nconst ShareRecording = ({\n recordingUrl,\n totalDuration,\n getCurrentTimestamp,\n buttonProps = {},\n isLoading = false,\n ...otherProps\n}) => {\n const { t } = useTranslation();\n\n const [isOpen, setIsOpen] = useState(false);\n\n const handleClick = () => {\n setIsOpen(true);\n buttonProps?.onClick?.();\n };\n\n return (\n <>\n <Modal\n {...{ isOpen, ...otherProps }}\n data-cy=\"share-modal\"\n size=\"large\"\n onClose={() => setIsOpen(false)}\n >\n <Modal.Header>\n <Typography style=\"h2\">\n {t(\"neetoMolecules.shareRecording.title\")}\n </Typography>\n </Modal.Header>\n <Modal.Body className=\"flex flex-col space-y-2\">\n {isLoading ? (\n <Spinner className=\"mx-auto\" />\n ) : (\n <ShareModalBody\n {...{ getCurrentTimestamp, isOpen, recordingUrl, totalDuration }}\n />\n )}\n </Modal.Body>\n </Modal>\n <Button\n data-cy=\"share-button\"\n label={t(\"neetoMolecules.common.actions.share\")}\n style=\"secondary\"\n {...buttonProps}\n onClick={handleClick}\n />\n </>\n );\n};\n\nShareRecording.propTypes = {\n /**\n * Recording URL used for building the share link.\n */\n recordingUrl: PropTypes.string.isRequired,\n /**\n * Total duration of the content being shared.\n */\n totalDuration: PropTypes.number.isRequired,\n /**\n * A function that returns current playback time of the recorded content in seconds.\n */\n getCurrentTimestamp: PropTypes.func.isRequired,\n /**\n * Additional props for the button component.\n */\n buttonProps: PropTypes.object,\n /**\n * Boolean indicating whether content is loading or not.\n */\n isLoading: PropTypes.bool,\n};\n\nexport default ShareRecording;\n"],"names":["ONE_SECOND","ONE_MINUTE","ONE_HOUR","getTimeValues","playbackTimeInSec","hour","Math","floor","minute","second","padZero","number","length","arguments","undefined","string","String","threshold","pow","concat","shouldRenderHoursInput","duration","hours","ShareModalBody","_ref","recordingUrl","totalDuration","getCurrentTimestamp","isOpen","_useTranslation","useTranslation","t","currentTimestamp","_useState","useState","_useState2","_slicedToArray","shareLink","setShareLink","_useState3","_useState4","currentPlaybackTime","setCurrentPlaybackTime","_useState5","_useState6","isPlaybackTimeCheckboxChecked","setIsPlaybackTimeCheckboxChecked","_getTimeValues","handlePlaybackTimestampChange","_ref2","valueInSec","offset","intendedTimeInSec","min","renderTimeInput","_ref3","value","onChange","max","React","createElement","Input","className","disabled","not","type","unlimitedChars","useEffect","playbackUrl","buildUrl","_objectSpread","time","Fragment","Tooltip","content","Typography","style","CopyToClipboardButton","tooltipContent","successTooltipContent","Checkbox","checked","label","_ref4","target","e","ShareRecording","_ref$buttonProps","buttonProps","_ref$isLoading","isLoading","otherProps","_objectWithoutProperties","_excluded","setIsOpen","handleClick","_buttonProps$onClick","onClick","call","Modal","_extends","size","onClose","Header","Body","Spinner","Button"],"mappings":"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"}
@@ -1,35 +0,0 @@
1
- import { ButtonProps } from "@bigbinary/neetoui";
2
- import React from "react";
3
- /**
4
- *
5
- * The ShareRecording component provides a modal interface for sharing recordings.
6
- *
7
- * It includes options for specifying playback timestamps and generates shareable
8
- *
9
- * links accordingly. The modal interface allows users to copy the shareable link
10
- *
11
- * and adjust playback timestamps.
12
- *
13
- * @example
14
- *
15
- * <ShareRecording
16
- * recordingUrl="https://example.com/recording"
17
- * totalDuration={3600} // Total duration in seconds (e.g., 1 hour)
18
- * getCurrentTimestamp={() => 300} // Current playback time in seconds
19
- * buttonProps={{
20
- * onClick: () => {
21
- * console.log("Share button has been clicked");
22
- * },
23
- * }}
24
- * isLoading={false}
25
- * />
26
- * @endexample
27
- */
28
- declare const ShareRecording: React.FC<{
29
- recordingUrl: string;
30
- totalDuration: number;
31
- getCurrentTimestamp: () => number;
32
- buttonProps?: ButtonProps;
33
- isLoading?: boolean;
34
- }>;
35
- export default ShareRecording;