@bigbinary/neeto-molecules 1.16.0 → 1.16.2
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/Header.js +16 -19
- package/dist/Header.js.map +1 -1
- package/dist/Security.js +2 -1
- package/dist/Security.js.map +1 -1
- package/dist/Settings.js +1 -0
- package/dist/Settings.js.map +1 -1
- package/dist/ShareRecordingPane.js +189 -0
- package/dist/ShareRecordingPane.js.map +1 -0
- package/dist/Taxonomy.js +1 -1
- package/dist/cjs/Header.js +15 -18
- package/dist/cjs/Header.js.map +1 -1
- package/dist/cjs/Security.js +2 -1
- package/dist/cjs/Security.js.map +1 -1
- package/dist/cjs/Settings.js +1 -0
- package/dist/cjs/Settings.js.map +1 -1
- package/dist/cjs/ShareRecordingPane.js +195 -0
- package/dist/cjs/ShareRecordingPane.js.map +1 -0
- package/dist/cjs/Taxonomy.js +1 -1
- package/package.json +1 -1
- package/src/translations/en.json +1 -1
- package/types/Header.d.ts +2 -1
- package/types/ShareRecordingPane.d.ts +50 -0
|
@@ -0,0 +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 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 {\n formatTime,\n parseTime,\n shouldRenderHoursInput,\n validateInput,\n} from \"./utils\";\n\nconst SharePaneBody = ({\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 const [rawInput, setRawInput] = useState(\"\");\n\n const [isPlaybackTimeCheckboxChecked, setIsPlaybackTimeCheckboxChecked] =\n useState(currentTimestamp > 0);\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 setIsPlaybackTimeCheckboxChecked(currentTimestamp > 0);\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 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 w-full items-center justify-between p-2\">\n <Tooltip content={shareLink}>\n <Typography className=\"truncate\" style=\"body2\">\n {shareLink}\n </Typography>\n </Tooltip>\n <CopyToClipboardButton\n className=\"flex-shrink-0\"\n style=\"secondary\"\n value={shareLink}\n />\n </div>\n <div className=\"flex items-center gap-x-2\">\n <Checkbox\n checked={isPlaybackTimeCheckboxChecked}\n className=\"grow-0\"\n data-cy=\"time-checkbox\"\n label={t(\"neetoMolecules.shareRecording.checkboxLabel\")}\n onChange={({ target: { checked } }) =>\n setIsPlaybackTimeCheckboxChecked(checked)\n }\n />\n <Input\n className=\"w-40\"\n data-cy=\"time-input\"\n disabled={not(isPlaybackTimeCheckboxChecked)}\n placeholder={showHours ? \"HH:MM:SS\" : \"MM:SS\"}\n value={rawInput}\n onBlur={formatAndSetTime}\n onChange={handlePlaybackTimestampChange}\n onKeyDown={handleKeyDown}\n />\n </div>\n </>\n );\n};\n\nexport default SharePaneBody;\n","/* eslint-disable @bigbinary/neeto/no-dumb-components-with-use-translation */\nimport React from \"react\";\n\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,\n totalDuration,\n getCurrentTimestamp,\n isOpen,\n onClose,\n isLoading = false,\n ...otherProps\n}) => {\n const { t } = useTranslation();\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, recordingUrl, totalDuration }}\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.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 * 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\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","recordingUrl","totalDuration","getCurrentTimestamp","isOpen","_useTranslation","useTranslation","t","currentTimestamp","_useState","useState","_useState2","_slicedToArray","shareLink","setShareLink","_useState3","_useState4","currentPlaybackTime","setCurrentPlaybackTime","_useState5","_useState6","rawInput","setRawInput","_useState7","_useState8","isPlaybackTimeCheckboxChecked","setIsPlaybackTimeCheckboxChecked","handlePlaybackTimestampChange","e","target","value","formatAndSetTime","handleKeyDown","key","useEffect","not","playbackUrl","buildUrl","_objectSpread","time","React","createElement","Fragment","className","Tooltip","content","Typography","style","CopyToClipboardButton","Checkbox","checked","label","onChange","_ref2","Input","disabled","placeholder","onBlur","onKeyDown","ShareRecordingPane","onClose","_ref$isLoading","isLoading","otherProps","_objectWithoutProperties","_excluded","Pane","_extends","size","Header","Body","Spinner"],"mappings":"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"}
|
package/dist/cjs/Taxonomy.js
CHANGED
|
@@ -25,11 +25,11 @@ require('./index-248c4f4c.js');
|
|
|
25
25
|
require('./inject-css-80a5faa3.js');
|
|
26
26
|
require('./extends-1b35a664.js');
|
|
27
27
|
require('./defineProperty-886ed289.js');
|
|
28
|
+
require('./objectWithoutProperties-2fed2d7d.js');
|
|
28
29
|
require('./Breadcrumbs.js');
|
|
29
30
|
require('@bigbinary/neeto-commons-frontend/utils/general');
|
|
30
31
|
require('react-router-dom');
|
|
31
32
|
require('./Search.js');
|
|
32
|
-
require('./objectWithoutProperties-2fed2d7d.js');
|
|
33
33
|
require('@bigbinary/neeto-commons-frontend/react-utils/useFuncDebounce');
|
|
34
34
|
require('@bigbinary/neeto-commons-frontend/react-utils/useQueryParams');
|
|
35
35
|
require('@bigbinary/neeto-commons-frontend/react-utils/useUpdateEffect');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-molecules",
|
|
3
|
-
"version": "1.16.
|
|
3
|
+
"version": "1.16.2",
|
|
4
4
|
"description": "A package of reusable molecular components for neeto products.",
|
|
5
5
|
"repository": "git@github.com:bigbinary/neeto-molecules.git",
|
|
6
6
|
"author": "Amaljith K <amaljith.k@bigbinary.com>",
|
package/src/translations/en.json
CHANGED
package/types/Header.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { SIZES } from "components/Header/constants";
|
|
3
3
|
import { DropdownProps } from "neetoui";
|
|
4
|
+
import MoreDropdown from "./MoreDropdown";
|
|
4
5
|
/**
|
|
5
6
|
*
|
|
6
7
|
* The Header component can be used to display the page title and an action block
|
|
@@ -26,6 +27,6 @@ const Header: React.FC<{
|
|
|
26
27
|
link?: string;
|
|
27
28
|
}[];
|
|
28
29
|
size?: keyof typeof SIZES;
|
|
29
|
-
renderDropdown?: (Dropdown:
|
|
30
|
+
renderDropdown?: (Dropdown: MoreDropdown) => JSX.Element;
|
|
30
31
|
}>;
|
|
31
32
|
export default Header;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* The ShareRecordingPane component provides a pane interface for sharing
|
|
5
|
+
*
|
|
6
|
+
* recordings. It includes options for specifying playback timestamps and generates
|
|
7
|
+
*
|
|
8
|
+
* shareable links accordingly. The pane allows users to copy the shareable link
|
|
9
|
+
*
|
|
10
|
+
* and adjust playback timestamps.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
*
|
|
14
|
+
* import React, { useState } from "react";
|
|
15
|
+
* import { Button } from "neetoui";
|
|
16
|
+
* import ShareRecordingPane from "components/ShareRecordingPane";
|
|
17
|
+
*
|
|
18
|
+
* const ShareRecordingPaneExample = () => {
|
|
19
|
+
* const [isOpen, setIsOpen] = useState(false);
|
|
20
|
+
*
|
|
21
|
+
* return (
|
|
22
|
+
* <>
|
|
23
|
+
* <Button
|
|
24
|
+
* label="Open Share Recording Pane"
|
|
25
|
+
* onClick={() => setIsOpen(true)}
|
|
26
|
+
* />
|
|
27
|
+
* <ShareRecordingPane
|
|
28
|
+
* recordingUrl="https://example.com/recording"
|
|
29
|
+
* totalDuration={3600} // Total duration in seconds (e.g., 1 hour)
|
|
30
|
+
* getCurrentTimestamp={() => 300} // Current playback time in seconds
|
|
31
|
+
* isOpen={isOpen} // Boolean indicating if the pane is open
|
|
32
|
+
* onClose={() => setIsOpen(false)} // Function to close the pane
|
|
33
|
+
* isLoading={false}
|
|
34
|
+
* />
|
|
35
|
+
* </>
|
|
36
|
+
* );
|
|
37
|
+
* };
|
|
38
|
+
*
|
|
39
|
+
* export default ShareRecordingPaneExample;
|
|
40
|
+
* @endexample
|
|
41
|
+
*/
|
|
42
|
+
declare const ShareRecordingPane: React.FC<{
|
|
43
|
+
recordingUrl: string;
|
|
44
|
+
totalDuration: number;
|
|
45
|
+
getCurrentTimestamp: () => number;
|
|
46
|
+
isOpen: boolean;
|
|
47
|
+
onClose: Function;
|
|
48
|
+
isLoading?: boolean;
|
|
49
|
+
}>;
|
|
50
|
+
export default ShareRecordingPane;
|