@bigbinary/neeto-molecules 1.16.2 → 1.16.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{Chevron-8e923abc.js → Chevron-c64ff676.js} +9 -7
- package/dist/Chevron-c64ff676.js.map +1 -0
- package/dist/ConfigurePageSidebar.js +1 -1
- package/dist/Settings.js +5 -2
- package/dist/Settings.js.map +1 -1
- package/dist/Sidebar.js +2 -3
- package/dist/Sidebar.js.map +1 -1
- package/dist/cjs/{Chevron-265965c2.js → Chevron-8a4ed9cd.js} +9 -7
- package/dist/cjs/Chevron-8a4ed9cd.js.map +1 -0
- package/dist/cjs/ConfigurePageSidebar.js +1 -1
- package/dist/cjs/Settings.js +5 -2
- package/dist/cjs/Settings.js.map +1 -1
- package/dist/cjs/Sidebar.js +2 -3
- package/dist/cjs/Sidebar.js.map +1 -1
- package/package.json +1 -1
- package/types/Settings.d.ts +1 -0
- package/dist/Chevron-8e923abc.js.map +0 -1
- package/dist/ShareRecording.js +0 -218
- package/dist/ShareRecording.js.map +0 -1
- package/dist/cjs/Chevron-265965c2.js.map +0 -1
- package/dist/cjs/ShareRecording.js +0 -224
- package/dist/cjs/ShareRecording.js.map +0 -1
- package/types/ShareRecording.d.ts +0 -35
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Chevron-265965c2.js","sources":["../../src/components/Sidebar/Components/Links/CheckPointNavLink.jsx","../../src/components/Sidebar/constants.js","../../src/components/Sidebar/utils.js","../../src/components/Sidebar/Components/Links/SubLink.jsx","../../src/components/Sidebar/Components/Links/Items.jsx","../../src/components/Sidebar/Components/Links/SelectedLink.jsx","../../src/components/Sidebar/Components/Chevron.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { useNavigationCheckpoints } from \"neetocommons/react-utils/useRegisterNavigationCheckpoint\";\nimport { NavLink } from \"react-router-dom\";\n\nconst CheckPointNavLinks = ({ checkpointKey, to, children, ...others }) => {\n const { [checkpointKey]: checkpoint } =\n useNavigationCheckpoints(checkpointKey);\n\n return (\n <NavLink to={checkpoint || to} {...others} key={to}>\n {children}\n </NavLink>\n );\n};\n\nexport default CheckPointNavLinks;\n","export const SUB_LINK_TYPES = {\n SYSTEM_VIEW: \"system_view\",\n SEGMENTS: \"segments\",\n};\n\nexport const SELECTED_NAV_LINK_ROUTE_STORAGE_KEY = \"selectedNavLinkRoute\";\n","import { isNotEmpty } from \"neetocist\";\nimport { __, all, curry, equals, includes, is } from \"ramda\";\n\nexport const isSubRouteActive = (subRoute, location) => {\n const currentBrowserUrl = new URL(\n location.pathname + location.search + location.hash,\n window.location.origin\n );\n const targetUrl = new URL(subRoute, window.location.origin);\n\n const targetSearchParams = targetUrl.searchParams;\n const targetSearchKeys = Array.from(targetSearchParams.keys());\n\n return (\n all(\n key =>\n currentBrowserUrl.searchParams.get(key) === targetSearchParams.get(key),\n targetSearchKeys\n ) && equals(currentBrowserUrl.pathname, targetUrl.pathname)\n );\n};\n\nexport const getSidebarStateLocalStorageKey = () => {\n const user = globalProps.user?.email || globalProps.user?.phoneNumber;\n\n return `sidebarState-${user}`;\n};\n\nexport const filterByPermissions = curry(({ permissions }) => {\n if (permissions && isNotEmpty(permissions)) {\n return is(Array, permissions)\n ? permissions.some(includes(__, globalProps.permissions))\n : globalProps.permissions.includes(permissions);\n }\n\n return true;\n});\n","import React from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport { Segments } from \"neetofilters\";\nimport { Typography } from \"neetoui\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\n\nimport { SUB_LINK_TYPES } from \"../../constants\";\nimport { isSubRouteActive } from \"../../utils\";\n\nconst SubLink = ({\n to,\n label,\n type = SUB_LINK_TYPES.SYSTEM_VIEW,\n count,\n isSectionHeader,\n isCountsLoading,\n \"data-cy\": dataCy,\n entity = \"\",\n columns = [],\n}) => {\n if (type === SUB_LINK_TYPES.SEGMENTS) {\n return <Segments {...{ columns, entity }} isIndependent={false} />;\n }\n\n const dataCyPrefix = dataCy || hyphenate(label);\n\n const renderCount = count => (count > 999 ? \"999+\" : count);\n\n return (\n <CheckPointNavLinks\n {...{ to }}\n activeClassName=\"active\"\n className=\"neeto-molecules-sidebar__sublink neeto-ui-flex neeto-ui-items-center neeto-ui-select-none\"\n data-cy={`${dataCyPrefix}-sub-link`}\n isActive={() => !isSectionHeader && isSubRouteActive(to, location)}\n >\n <Typography\n className=\"neeto-molecules-sidebar__link-sub-label neeto-ui-flex-grow\"\n component=\"span\"\n data-cy={`${dataCyPrefix}-sub-link-label`}\n style=\"body2\"\n >\n {label}\n </Typography>\n <Typography\n className=\"neeto-molecules-sidebar__link-sub-count neeto-ui-flex-shrink-0\"\n component=\"span\"\n data-cy={`${dataCyPrefix}-sub-link-count`}\n style=\"body2\"\n >\n {isCountsLoading ? (\n <div className=\"neeto-ui-rounded neeto-ui-bg-gray-200 h-4 w-4 animate-pulse\" />\n ) : (\n renderCount(count)\n )}\n </Typography>\n </CheckPointNavLinks>\n );\n};\n\nexport default SubLink;\n","import React from \"react\";\n\nimport { isPresent } from \"neetocist\";\n\nimport SubLink from \"./SubLink\";\n\nimport { filterByPermissions } from \"../../utils\";\n\nconst Items = ({ items, isSettingsItems = false, isCountsLoading }) => (\n <div\n className=\"neeto-molecules-sidebar__sublink-wrapper\"\n data-cy=\"sidebar-sub-link-wrapper\"\n >\n {items.filter(filterByPermissions).map((subItem, subIndex) => (\n <React.Fragment key={subIndex}>\n <SubLink\n {...{ ...subItem, isCountsLoading }}\n isSectionHeader={isPresent(subItem.item)}\n to={subItem.to ?? subItem.path}\n />\n {isSettingsItems && isPresent(subItem.items) && (\n <Items {...{ isSettingsItems }} items={subItem.items} />\n )}\n </React.Fragment>\n ))}\n </div>\n);\n\nexport default Items;\n","import React from \"react\";\n\nimport classNames from \"classnames\";\nimport { hyphenize } from \"neetocommons/utils/general\";\nimport { Left } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\nimport { omit } from \"ramda\";\n\nimport Items from \"./Items\";\n\nconst SelectedLink = ({\n navLink = { label: \"\", items: [], isConfigureNavLink: false },\n handleGoBack,\n isConfigureSidebar,\n}) => {\n const { label, items, isConfigureNavLink, ...otherProps } = navLink;\n\n return (\n <div\n className=\"neeto-molecules-sidebar__links neeto-molecules-sidebar__links--focus-mode neeto-molecules-sidebar__no-shrinkable\"\n data-cy=\"configure-nav-container\"\n >\n <div\n className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-bg-white neeto-ui-no-underline neeto-molecules-sidebar__link\"\n onClick={handleGoBack}\n {...{ ...omit([\"icon\"], otherProps) }}\n >\n {isConfigureNavLink && (\n <span\n className=\"neeto-molecules-sidebar__link-icon\"\n data-cy={`${hyphenize(label)}-go-back-button`}\n data-testid={`${label}-go-back-button`}\n >\n <Left />\n </span>\n )}\n <Typography\n component=\"span\"\n style=\"body2\"\n weight=\"normal\"\n className={classNames(\"neeto-molecules-sidebar__link-label\", {\n \"neeto-molecules-sidebar__configure-page-header\":\n isConfigureNavLink,\n [\"pl-6\"]: isConfigureSidebar,\n })}\n >\n {label}\n </Typography>\n </div>\n {items && <Items {...{ items }} isSettingsItems />}\n </div>\n );\n};\n\nexport default SelectedLink;\n","import React from \"react\";\n\nconst Chevron = ({ style }) => (\n <svg {...{ style }} height=\"16\" viewBox=\"0 0 16 16\" width=\"16\">\n <path\n d=\"M7.07031 13.8887C7.2207 14.0391 7.40527 14.1211 7.62402 14.1211C8.06836 14.1211 8.41699 13.7725 8.41699 13.3281C8.41699 13.1094 8.32812 12.9043 8.17773 12.7539L3.37207 8.05762L8.17773 3.375C8.32812 3.21777 8.41699 3.0127 8.41699 2.80078C8.41699 2.35645 8.06836 2.00781 7.62402 2.00781C7.40527 2.00781 7.2207 2.08984 7.07031 2.24023L1.73828 7.44922C1.56055 7.62012 1.46484 7.8252 1.46484 8.06445C1.46484 8.29688 1.55371 8.49512 1.73828 8.67969L7.07031 13.8887ZM13.1748 13.8887C13.3252 14.0391 13.5098 14.1211 13.7354 14.1211C14.1797 14.1211 14.5283 13.7725 14.5283 13.3281C14.5283 13.1094 14.4395 12.9043 14.2891 12.7539L9.4834 8.05762L14.2891 3.375C14.4395 3.21777 14.5283 3.0127 14.5283 2.80078C14.5283 2.35645 14.1797 2.00781 13.7354 2.00781C13.5098 2.00781 13.3252 2.08984 13.1748 2.24023L7.84961 7.44922C7.66504 7.62012 7.57617 7.8252 7.56934 8.06445C7.56934 8.29688 7.66504 8.49512 7.84961 8.67969L13.1748 13.8887Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default Chevron;\n"],"names":["CheckPointNavLinks","_ref","checkpointKey","to","children","others","_objectWithoutProperties","_excluded","_useNavigationCheckpo","useNavigationCheckpoints","checkpoint","React","createElement","NavLink","_extends","key","SUB_LINK_TYPES","SYSTEM_VIEW","SEGMENTS","SELECTED_NAV_LINK_ROUTE_STORAGE_KEY","isSubRouteActive","subRoute","location","currentBrowserUrl","URL","pathname","search","hash","window","origin","targetUrl","targetSearchParams","searchParams","targetSearchKeys","Array","from","keys","all","get","equals","getSidebarStateLocalStorageKey","_globalProps$user","_globalProps$user2","user","globalProps","email","phoneNumber","concat","filterByPermissions","curry","permissions","isNotEmpty","is","some","includes","__","SubLink","label","_ref$type","type","count","isSectionHeader","isCountsLoading","dataCy","_ref$entity","entity","_ref$columns","columns","Segments","isIndependent","dataCyPrefix","hyphenate","renderCount","activeClassName","className","isActive","Typography","component","style","Items","items","_ref$isSettingsItems","isSettingsItems","filter","map","subItem","subIndex","_subItem$to","Fragment","_objectSpread","isPresent","item","path","SelectedLink","_ref$navLink","navLink","isConfigureNavLink","handleGoBack","isConfigureSidebar","otherProps","onClick","omit","hyphenize","Left","weight","classNames","_defineProperty","Chevron","height","viewBox","width","d","fill"],"mappings":"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"}
|
|
@@ -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;
|