@bigbinary/neeto-molecules 1.15.64 → 1.15.66

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.
@@ -3,7 +3,7 @@ import React__default, { useState } from 'react';
3
3
  import { isNotEmpty } from '@bigbinary/neeto-cist';
4
4
  import useDebounce from '@bigbinary/neeto-commons-frontend/react-utils/useDebounce';
5
5
  import { Button, Typography, Table, NoData } from '@bigbinary/neetoui';
6
- import { useTranslation } from 'react-i18next';
6
+ import { useTranslation, Trans } from 'react-i18next';
7
7
  import Container from './Container.js';
8
8
  import PageLoader from './PageLoader.js';
9
9
  import SubHeader from './SubHeader.js';
@@ -150,6 +150,16 @@ var CustomDomainDashboard = function CustomDomainDashboard(_ref) {
150
150
  className: "flex h-full w-full flex-grow items-center justify-center"
151
151
  }, /*#__PURE__*/React__default.createElement(NoData, {
152
152
  title: t("neetoMolecules.customDomain.notFound"),
153
+ helpText: /*#__PURE__*/React__default.createElement(Trans, {
154
+ i18nKey: "neetoMolecules.customDomain.learnMoreMessage",
155
+ components: {
156
+ button: /*#__PURE__*/React__default.createElement(Button, {
157
+ href: "https://help.neetosite.com/p/a-95ad5b03",
158
+ style: "link",
159
+ target: "_blank"
160
+ })
161
+ }
162
+ }),
153
163
  primaryButtonProps: {
154
164
  label: t("neetoMolecules.customDomain.addNew"),
155
165
  onClick: function onClick() {
@@ -1 +1 @@
1
- {"version":3,"file":"CustomDomainDashboard.js","sources":["../src/components/CustomDomainDashboard/Header.jsx","../src/components/CustomDomainDashboard/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { PLURAL } from \"neetocommons/constants\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { withEventTargetValue } from \"neetocommons/utils/general\";\nimport { Button } from \"neetoui\";\n\nimport NeetoHeader from \"components/Header\";\n\nconst Header = withT(\n ({ t, setIsPaneOpen, searchTerm, setSearchTerm, headerProps }) => (\n <NeetoHeader\n data-testid=\"custom-domain-header\"\n title={t(\"neetoMolecules.customDomain.customDomain\", PLURAL)}\n actionBlock={\n <Button\n data-cy=\"add-new-custom-domain-button\"\n label={t(\"neetoMolecules.customDomain.addNew\")}\n onClick={() => setIsPaneOpen(true)}\n />\n }\n searchProps={{\n value: searchTerm,\n onChange: withEventTargetValue(setSearchTerm),\n placeholder: t(\"neetoMolecules.customDomain.search\"),\n \"data-cy\": \"custom-domain-search-field\",\n className: \"w-56\",\n }}\n {...headerProps}\n />\n )\n);\n\nexport default React.memo(Header);\n","import React, { useState } from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport useDebounce from \"neetocommons/react-utils/useDebounce\";\nimport { Table, Typography, NoData } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Container from \"components/Container\";\nimport PageLoader from \"components/PageLoader\";\nimport SubHeader from \"components/SubHeader\";\n\nimport DeleteAlert from \"./DeleteAlert\";\nimport Header from \"./Header\";\nimport ManageDomain from \"./Manage\";\nimport {\n useFetchCustomDomains,\n useDeleteCustomDomain,\n} from \"./useCustomDomainApi\";\nimport { renderColumnData } from \"./utils\";\n\nconst CustomDomainDashboard = ({ headerProps, url, onCreate }) => {\n const [searchTerm, setSearchTerm] = useState(\"\");\n const [isPaneOpen, setIsPaneOpen] = useState(false);\n const [customDomain, setCustomDomain] = useState({});\n const [isAlertOpen, setIsAlertOpen] = useState(false);\n const { t } = useTranslation();\n const debouncedSearchTerm = useDebounce(searchTerm, 500);\n\n const { data: data, isLoading } = useFetchCustomDomains({\n url,\n params: { searchTerm: debouncedSearchTerm },\n });\n\n const { mutate: deleteCustomDomain, isLoading: isDeleting } =\n useDeleteCustomDomain(url, {\n onSettled: () => {\n setIsAlertOpen(false);\n setCustomDomain({});\n },\n });\n\n const enableManagePane = customDomain => {\n setCustomDomain(customDomain);\n setIsPaneOpen(true);\n };\n\n const enableDeleteAlert = customDomain => {\n setCustomDomain(customDomain);\n setIsAlertOpen(true);\n };\n\n const disableManagePane = () => {\n setIsPaneOpen(false);\n setCustomDomain({});\n };\n\n const disableDeleteAlert = () => {\n setIsAlertOpen(false);\n setCustomDomain({});\n };\n\n return (\n <>\n <Container>\n <Header\n {...{ headerProps, searchTerm, setIsPaneOpen, setSearchTerm }}\n />\n {isLoading && (\n <div className=\"h-screen w-full\">\n <PageLoader />\n </div>\n )}\n {!isLoading &&\n (isNotEmpty(data?.customDomains) ? (\n <div className=\"w-full flex-grow\">\n <SubHeader\n leftActionBlock={\n <Typography\n className=\"neeto-ui-gray-800 font-semibold\"\n component=\"h4\"\n >\n {t(\"neetoMolecules.customDomain.customDomainWithCount\", {\n count: data?.customDomains?.length,\n })}\n </Typography>\n }\n />\n <div>\n <Table\n allowRowClick={false}\n rowData={data?.customDomains}\n rowSelection={false}\n columnData={renderColumnData(\n enableManagePane,\n enableDeleteAlert\n )}\n />\n </div>\n </div>\n ) : (\n <div className=\"flex h-full w-full flex-grow items-center justify-center\">\n <NoData\n title={t(\"neetoMolecules.customDomain.notFound\")}\n primaryButtonProps={{\n label: t(\"neetoMolecules.customDomain.addNew\"),\n onClick: () => setIsPaneOpen(true),\n }}\n />\n </div>\n ))}\n </Container>\n <ManageDomain\n {...{ customDomain, onCreate, setCustomDomain, url }}\n hasOne={false}\n isOpen={isPaneOpen}\n onClose={disableManagePane}\n />\n <DeleteAlert\n hostname={customDomain?.hostname}\n isOpen={isAlertOpen}\n isSubmitting={isDeleting}\n onClose={disableDeleteAlert}\n onSubmit={() => deleteCustomDomain(customDomain?.id)}\n />\n </>\n );\n};\n\nCustomDomainDashboard.propTypes = {\n /**\n * The props to be passed to the `CustomDomain` page header. Accepts all props that can be passed to the `Header` component.\n */\n headerProps: PropTypes.object,\n /**\n * API path to manage custom domain records.\n */\n url: PropTypes.string,\n /**\n * Callback function will be invoked with new domain values after successfully creating the domain.\n */\n onCreate: PropTypes.func,\n};\n\nexport default CustomDomainDashboard;\n"],"names":["Header","withT","_ref","t","setIsPaneOpen","searchTerm","setSearchTerm","headerProps","React","createElement","NeetoHeader","_extends","title","PLURAL","actionBlock","Button","label","onClick","searchProps","value","onChange","withEventTargetValue","placeholder","className","memo","CustomDomainDashboard","_data$customDomains","url","onCreate","_useState","useState","_useState2","_slicedToArray","_useState3","_useState4","isPaneOpen","_useState5","_useState6","customDomain","setCustomDomain","_useState7","_useState8","isAlertOpen","setIsAlertOpen","_useTranslation","useTranslation","debouncedSearchTerm","useDebounce","_useFetchCustomDomain","useFetchCustomDomains","params","data","isLoading","_useDeleteCustomDomai","useDeleteCustomDomain","onSettled","deleteCustomDomain","mutate","isDeleting","enableManagePane","enableDeleteAlert","disableManagePane","disableDeleteAlert","Fragment","Container","PageLoader","isNotEmpty","customDomains","SubHeader","leftActionBlock","Typography","component","count","length","Table","allowRowClick","rowData","rowSelection","columnData","renderColumnData","NoData","primaryButtonProps","ManageDomain","hasOne","isOpen","onClose","DeleteAlert","hostname","isSubmitting","onSubmit","id"],"mappings":"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"}
1
+ {"version":3,"file":"CustomDomainDashboard.js","sources":["../src/components/CustomDomainDashboard/Header.jsx","../src/components/CustomDomainDashboard/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { PLURAL } from \"neetocommons/constants\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { withEventTargetValue } from \"neetocommons/utils/general\";\nimport { Button } from \"neetoui\";\n\nimport NeetoHeader from \"components/Header\";\n\nconst Header = withT(\n ({ t, setIsPaneOpen, searchTerm, setSearchTerm, headerProps }) => (\n <NeetoHeader\n data-testid=\"custom-domain-header\"\n title={t(\"neetoMolecules.customDomain.customDomain\", PLURAL)}\n actionBlock={\n <Button\n data-cy=\"add-new-custom-domain-button\"\n label={t(\"neetoMolecules.customDomain.addNew\")}\n onClick={() => setIsPaneOpen(true)}\n />\n }\n searchProps={{\n value: searchTerm,\n onChange: withEventTargetValue(setSearchTerm),\n placeholder: t(\"neetoMolecules.customDomain.search\"),\n \"data-cy\": \"custom-domain-search-field\",\n className: \"w-56\",\n }}\n {...headerProps}\n />\n )\n);\n\nexport default React.memo(Header);\n","import React, { useState } from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport useDebounce from \"neetocommons/react-utils/useDebounce\";\nimport { Table, Typography, NoData, Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation, Trans } from \"react-i18next\";\n\nimport Container from \"components/Container\";\nimport PageLoader from \"components/PageLoader\";\nimport SubHeader from \"components/SubHeader\";\n\nimport DeleteAlert from \"./DeleteAlert\";\nimport Header from \"./Header\";\nimport ManageDomain from \"./Manage\";\nimport {\n useFetchCustomDomains,\n useDeleteCustomDomain,\n} from \"./useCustomDomainApi\";\nimport { renderColumnData } from \"./utils\";\n\nconst CustomDomainDashboard = ({ headerProps, url, onCreate }) => {\n const [searchTerm, setSearchTerm] = useState(\"\");\n const [isPaneOpen, setIsPaneOpen] = useState(false);\n const [customDomain, setCustomDomain] = useState({});\n const [isAlertOpen, setIsAlertOpen] = useState(false);\n const { t } = useTranslation();\n const debouncedSearchTerm = useDebounce(searchTerm, 500);\n\n const { data: data, isLoading } = useFetchCustomDomains({\n url,\n params: { searchTerm: debouncedSearchTerm },\n });\n\n const { mutate: deleteCustomDomain, isLoading: isDeleting } =\n useDeleteCustomDomain(url, {\n onSettled: () => {\n setIsAlertOpen(false);\n setCustomDomain({});\n },\n });\n\n const enableManagePane = customDomain => {\n setCustomDomain(customDomain);\n setIsPaneOpen(true);\n };\n\n const enableDeleteAlert = customDomain => {\n setCustomDomain(customDomain);\n setIsAlertOpen(true);\n };\n\n const disableManagePane = () => {\n setIsPaneOpen(false);\n setCustomDomain({});\n };\n\n const disableDeleteAlert = () => {\n setIsAlertOpen(false);\n setCustomDomain({});\n };\n\n return (\n <>\n <Container>\n <Header\n {...{ headerProps, searchTerm, setIsPaneOpen, setSearchTerm }}\n />\n {isLoading && (\n <div className=\"h-screen w-full\">\n <PageLoader />\n </div>\n )}\n {!isLoading &&\n (isNotEmpty(data?.customDomains) ? (\n <div className=\"w-full flex-grow\">\n <SubHeader\n leftActionBlock={\n <Typography\n className=\"neeto-ui-gray-800 font-semibold\"\n component=\"h4\"\n >\n {t(\"neetoMolecules.customDomain.customDomainWithCount\", {\n count: data?.customDomains?.length,\n })}\n </Typography>\n }\n />\n <div>\n <Table\n allowRowClick={false}\n rowData={data?.customDomains}\n rowSelection={false}\n columnData={renderColumnData(\n enableManagePane,\n enableDeleteAlert\n )}\n />\n </div>\n </div>\n ) : (\n <div className=\"flex h-full w-full flex-grow items-center justify-center\">\n <NoData\n title={t(\"neetoMolecules.customDomain.notFound\")}\n helpText={\n <Trans\n i18nKey=\"neetoMolecules.customDomain.learnMoreMessage\"\n components={{\n button: (\n <Button\n href=\"https://help.neetosite.com/p/a-95ad5b03\"\n style=\"link\"\n target=\"_blank\"\n />\n ),\n }}\n />\n }\n primaryButtonProps={{\n label: t(\"neetoMolecules.customDomain.addNew\"),\n onClick: () => setIsPaneOpen(true),\n }}\n />\n </div>\n ))}\n </Container>\n <ManageDomain\n {...{ customDomain, onCreate, setCustomDomain, url }}\n hasOne={false}\n isOpen={isPaneOpen}\n onClose={disableManagePane}\n />\n <DeleteAlert\n hostname={customDomain?.hostname}\n isOpen={isAlertOpen}\n isSubmitting={isDeleting}\n onClose={disableDeleteAlert}\n onSubmit={() => deleteCustomDomain(customDomain?.id)}\n />\n </>\n );\n};\n\nCustomDomainDashboard.propTypes = {\n /**\n * The props to be passed to the `CustomDomain` page header. Accepts all props that can be passed to the `Header` component.\n */\n headerProps: PropTypes.object,\n /**\n * API path to manage custom domain records.\n */\n url: PropTypes.string,\n /**\n * Callback function will be invoked with new domain values after successfully creating the domain.\n */\n onCreate: PropTypes.func,\n};\n\nexport default CustomDomainDashboard;\n"],"names":["Header","withT","_ref","t","setIsPaneOpen","searchTerm","setSearchTerm","headerProps","React","createElement","NeetoHeader","_extends","title","PLURAL","actionBlock","Button","label","onClick","searchProps","value","onChange","withEventTargetValue","placeholder","className","memo","CustomDomainDashboard","_data$customDomains","url","onCreate","_useState","useState","_useState2","_slicedToArray","_useState3","_useState4","isPaneOpen","_useState5","_useState6","customDomain","setCustomDomain","_useState7","_useState8","isAlertOpen","setIsAlertOpen","_useTranslation","useTranslation","debouncedSearchTerm","useDebounce","_useFetchCustomDomain","useFetchCustomDomains","params","data","isLoading","_useDeleteCustomDomai","useDeleteCustomDomain","onSettled","deleteCustomDomain","mutate","isDeleting","enableManagePane","enableDeleteAlert","disableManagePane","disableDeleteAlert","Fragment","Container","PageLoader","isNotEmpty","customDomains","SubHeader","leftActionBlock","Typography","component","count","length","Table","allowRowClick","rowData","rowSelection","columnData","renderColumnData","NoData","helpText","Trans","i18nKey","components","button","href","style","target","primaryButtonProps","ManageDomain","hasOne","isOpen","onClose","DeleteAlert","hostname","isSubmitting","onSubmit","id"],"mappings":"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"}
@@ -116,7 +116,9 @@ var ShareModalBody = function ShareModalBody(_ref) {
116
116
  }, shareLink)), /*#__PURE__*/React__default.createElement(CopyToClipboardButton, {
117
117
  className: "flex-shrink-0",
118
118
  style: "secondary",
119
- value: shareLink
119
+ tooltipContent: t("neetoMolecules.shareRecording.tooltipContent"),
120
+ value: shareLink,
121
+ successTooltipContent: t("neetoMolecules.shareRecording.successTooltipContent")
120
122
  })), /*#__PURE__*/React__default.createElement("div", {
121
123
  className: "flex items-center gap-x-2"
122
124
  }, /*#__PURE__*/React__default.createElement(Checkbox, {
@@ -1 +1 @@
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 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 <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","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
+ {"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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"}
package/dist/Sidebar.js CHANGED
@@ -25,20 +25,21 @@ import './inject-css-c86de496.js';
25
25
  var Header = function Header(_ref) {
26
26
  var _ProductTypefaceLogos;
27
27
  var customLogo = _ref.customLogo,
28
- clearSettingsNav = _ref.clearSettingsNav;
28
+ clearSettingsNav = _ref.clearSettingsNav,
29
+ homePath = _ref.homePath;
29
30
  var productName = globalProps.appName.substr(5);
30
31
  var logoName = "Neeto".concat(capitalize(productName.toLowerCase()));
31
32
  var ProductTypefaceLogo = (_ProductTypefaceLogos = ProductTypefaceLogos[logoName]) !== null && _ProductTypefaceLogos !== void 0 ? _ProductTypefaceLogos : Neeto;
32
33
  var LogoComponent = customLogo !== null && customLogo !== void 0 ? customLogo : ProductTypefaceLogo;
33
34
  var _useFetchNeetoApps = useFetchNeetoApps(),
34
35
  data = _useFetchNeetoApps.data;
35
- var homePath = "/";
36
+ var appHomePath = homePath;
36
37
  if (data !== null && data !== void 0 && data.neetoApps) {
37
38
  var thisApp = findBy({
38
39
  name: productName
39
40
  }, data.neetoApps);
40
41
  if (thisApp !== null && thisApp !== void 0 && thisApp.url) {
41
- homePath = new URL(thisApp === null || thisApp === void 0 ? void 0 : thisApp.url).pathname;
42
+ appHomePath = new URL(thisApp === null || thisApp === void 0 ? void 0 : thisApp.url).pathname;
42
43
  }
43
44
  }
44
45
  return /*#__PURE__*/React__default.createElement("div", {
@@ -46,7 +47,7 @@ var Header = function Header(_ref) {
46
47
  "data-cy": "sidebar-info"
47
48
  }, /*#__PURE__*/React__default.createElement(Link, {
48
49
  className: "neeto-molecules-sidebar__logo neeto-ui-w-full",
49
- to: homePath,
50
+ to: appHomePath,
50
51
  onClick: clearSettingsNav
51
52
  }, /*#__PURE__*/React__default.createElement(LogoComponent, null)));
52
53
  };
@@ -139,7 +140,9 @@ var Sidebar = function Sidebar(_ref) {
139
140
  var navLinks = _ref.navLinks,
140
141
  customLogo = _ref.customLogo,
141
142
  _ref$isCountsLoading = _ref.isCountsLoading,
142
- isCountsLoading = _ref$isCountsLoading === void 0 ? false : _ref$isCountsLoading;
143
+ isCountsLoading = _ref$isCountsLoading === void 0 ? false : _ref$isCountsLoading,
144
+ _ref$homePath = _ref.homePath,
145
+ homePath = _ref$homePath === void 0 ? "/" : _ref$homePath;
143
146
  var productName = globalProps$1.appName.substr(5).toLowerCase();
144
147
  var _useState = useState(false),
145
148
  _useState2 = _slicedToArray(_useState, 2),
@@ -221,6 +224,7 @@ var Sidebar = function Sidebar(_ref) {
221
224
  })
222
225
  }, /*#__PURE__*/React__default.createElement(Header$1, {
223
226
  customLogo: customLogo,
227
+ homePath: homePath,
224
228
  clearSettingsNav: function clearSettingsNav() {
225
229
  return setSelectedNavLinkRoute(null);
226
230
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.js","sources":["../src/components/Sidebar/Components/Header.jsx","../src/components/Sidebar/Components/Links/index.jsx","../src/components/Sidebar/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { capitalize, findBy } from \"neetocist\";\nimport useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport { Neeto } from \"neetoicons/typeface-logos\";\nimport * as ProductTypefaceLogos from \"neetoicons/typeface-logos\";\nimport { Link } from \"react-router-dom\";\n\nconst Header = ({ customLogo, clearSettingsNav }) => {\n const productName = globalProps.appName.substr(5);\n const logoName = `Neeto${capitalize(productName.toLowerCase())}`;\n const ProductTypefaceLogo = ProductTypefaceLogos[logoName] ?? Neeto;\n const LogoComponent = customLogo ?? ProductTypefaceLogo;\n\n const { data } = useFetchNeetoApps();\n\n let homePath = \"/\";\n if (data?.neetoApps) {\n const thisApp = findBy({ name: productName }, data.neetoApps);\n if (thisApp?.url) {\n homePath = new URL(thisApp?.url).pathname;\n }\n }\n\n return (\n <div\n className=\"neeto-molecules-sidebar__header neeto-molecules-sidebar__no-shrinkable\"\n data-cy=\"sidebar-info\"\n >\n <Link\n className=\"neeto-molecules-sidebar__logo neeto-ui-w-full\"\n to={homePath}\n onClick={clearSettingsNav}\n >\n <LogoComponent />\n </Link>\n </div>\n );\n};\n\nexport default React.memo(Header);\n","import React, { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { hyphenate, isNotEmpty, isNotPresent } from \"neetocist\";\nimport { Down } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\nimport { is, not } from \"ramda\";\nimport { useLocation } from \"react-router-dom\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\nimport Items from \"./Items\";\n\nimport { filterByPermissions } from \"../../utils\";\n\nconst Links = ({\n navLinks,\n isCountsLoading: isCountsLoadingDeprecated,\n setSelectedNavLinkRoute,\n}) => {\n const location = useLocation();\n const [isActiveLinkExpanded, setIsActiveLinkExpanded] = useState(true);\n\n const handleNavLinkClick = ({ event, isActive, items, navLink }) => {\n if (isNotPresent(items)) return;\n\n if (navLink.isConfigureNavLink && isNotEmpty(navLink.items)) {\n setSelectedNavLinkRoute(navLink.to);\n }\n\n if (isActive()) {\n setIsActiveLinkExpanded(not);\n event.preventDefault();\n\n return;\n }\n\n setIsActiveLinkExpanded(true);\n };\n\n return (\n <div className=\"neeto-molecules-sidebar__links neeto-molecules-sidebar__no-shrinkable\">\n {navLinks.filter(filterByPermissions).map((navLink, index) => {\n const {\n label,\n to,\n icon,\n items,\n isConfigureNavLink,\n isCountsLoading = false,\n ...otherProps\n } = navLink;\n const IconSVG = icon;\n const url = new URL(to, window.location.href);\n const isActive = () =>\n is(Function, otherProps.isActive)\n ? otherProps.isActive()\n : location.pathname.startsWith(url.pathname);\n\n const isMenuExpanded =\n isActive() && isActiveLinkExpanded && !isCountsLoadingDeprecated;\n\n return (\n <React.Fragment key={index}>\n <CheckPointNavLinks\n activeClassName=\"active\"\n className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-no-underline neeto-ui-select-none neeto-molecules-sidebar__link\"\n data-testid={`navlink-${hyphenate(label)}`}\n onClick={event =>\n handleNavLinkClick({ event, isActive, items, navLink })\n }\n {...{ isActive, to, ...otherProps }}\n >\n {icon && (\n <span\n className=\"neeto-molecules-sidebar__link-icon\"\n data-testid={label}\n >\n <IconSVG />\n </span>\n )}\n <Typography\n className=\"neeto-molecules-sidebar__link-label\"\n component=\"span\"\n style=\"body2\"\n weight=\"normal\"\n >\n {label}\n </Typography>\n {items && !isConfigureNavLink && (\n <span\n className={classnames(\n \"neeto-molecules-sidebar__link-icon neeto-molecules-sidebar__link-icon--caret\",\n {\n \"neeto-molecules-sidebar__link-icon--rotate\":\n isMenuExpanded,\n }\n )}\n >\n <Down size={16} />\n </span>\n )}\n </CheckPointNavLinks>\n {items && !isConfigureNavLink && isMenuExpanded && (\n <Items {...{ isCountsLoading, items, ...otherProps }} />\n )}\n </React.Fragment>\n );\n })}\n </div>\n );\n};\n\nexport default Links;\n","import React, { useEffect, useMemo, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent, isNotEmpty } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { findLast, is, not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation, useHistory } from \"react-router-dom\";\n\nimport Chevron from \"./Components/Chevron\";\nimport Header from \"./Components/Header\";\nimport Links from \"./Components/Links\";\nimport SelectedLink from \"./Components/Links/SelectedLink\";\nimport { SELECTED_NAV_LINK_ROUTE_STORAGE_KEY } from \"./constants\";\nimport \"./sidebar.scss\";\nimport { getSidebarStateLocalStorageKey } from \"./utils\";\n\nconst Sidebar = ({ navLinks, customLogo, isCountsLoading = false }) => {\n const productName = globalProps.appName.substr(5).toLowerCase();\n const [isSidebarPaneOpen, setIsSidebarPaneOpen] = useState(false);\n const [selectedNavLinkRoute, setSelectedNavLinkRoute] = useLocalStorage(\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n null\n );\n\n const [isSidebarCollapsed, setIsSidebarCollapsed] = useLocalStorage(\n getSidebarStateLocalStorageKey(),\n false\n );\n\n const location = useLocation();\n const history = useHistory();\n const { t } = useTranslation();\n\n const isLargerScreen = () => window.innerWidth > 768;\n const isSidebarClosed = isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen);\n\n useEffect(() => {\n if (!isPresent(navLinks)) return;\n const currentLink = findLast(({ to, isActive }) => {\n const url = new URL(to, window.location.href);\n\n return is(Function, isActive)\n ? isActive()\n : location.pathname.includes(url.pathname);\n })(navLinks);\n\n if (isPresent(currentLink)) {\n setSelectedNavLinkRoute(\n currentLink.isConfigureNavLink ? currentLink.to : null\n );\n }\n }, []);\n\n useEffect(() => {\n const handleResize = () => {\n if (isLargerScreen()) return;\n setIsSidebarPaneOpen(false);\n setIsSidebarCollapsed(true);\n };\n window.addEventListener(\"resize\", handleResize);\n\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n const handleGoBack = event => {\n event.preventDefault();\n setSelectedNavLinkRoute(null);\n const settingsNavLink = navLinks.find(\n link => isPresent(link.isConfigureNavLink) && link.isConfigureNavLink\n );\n if (settingsNavLink.to) {\n history.push(buildUrl(settingsNavLink.to));\n }\n };\n\n const activeLink = useMemo(\n () =>\n navLinks.find(link => {\n if (is(Function, link.isActive)) return link.isActive();\n const url = new URL(link.to, window.location.href);\n\n return location.pathname.startsWith(url.pathname);\n }),\n [location.pathname, navLinks]\n );\n\n const isSelectedNavLinkVisible =\n selectedNavLinkRoute &&\n activeLink?.to === selectedNavLinkRoute &&\n isNotEmpty(navLinks);\n\n return (\n <div\n data-testid=\"sidebar-container\"\n className={classnames(\"neeto-molecules-sidebar__wrapper\", {\n \"neeto-molecules-sidebar__wrapper--collapsed\": isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen),\n })}\n >\n <div\n className=\"neeto-molecules-sidebar__backdrop\"\n onClick={() => {\n setIsSidebarPaneOpen(false);\n setSelectedNavLinkRoute(null);\n }}\n />\n <div\n data-cy=\"sidebar-wrapper\"\n data-testid=\"sidebar\"\n className={classnames(\n \"neeto-molecules-sidebar neeto-ui-flex neeto-ui-flex-col neeto-ui-flex-shrink-0 neeto-ui-overflow-y-auto neeto-ui-overflow-x-hidden\",\n {\n \"neeto-molecules-sidebar--focus-mode\":\n isPresent(selectedNavLinkRoute),\n }\n )}\n >\n <Header\n {...{ customLogo }}\n clearSettingsNav={() => setSelectedNavLinkRoute(null)}\n />\n {isSelectedNavLinkVisible ? (\n <SelectedLink {...{ handleGoBack }} navLink={activeLink} />\n ) : (\n <Links {...{ isCountsLoading, navLinks, setSelectedNavLinkRoute }} />\n )}\n </div>\n <Button\n className=\"neeto-molecules-sidebar__toggler\"\n data-cy=\"neeto-molecules-sidebar-toggler\"\n data-testid=\"sidebar-toggleButton\"\n style={isLargerScreen() ? \"text\" : \"secondary\"}\n icon={() => (\n <Chevron\n style={{ color: `rgb(var(--neeto-${productName}-primary))` }}\n />\n )}\n tooltipProps={{\n content: isSidebarClosed\n ? t(\"neetoMolecules.sidebar.showMenu\")\n : t(\"neetoMolecules.sidebar.hideMenu\"),\n position: \"bottom\",\n }}\n onClick={() => {\n setIsSidebarCollapsed(!isSidebarCollapsed);\n setIsSidebarPaneOpen(not);\n }}\n />\n </div>\n );\n};\n\nSidebar.propTypes = {\n /**\n * To specify the navlinks to be shown in sidebar.\n */\n navLinks: PropTypes.arrayOf(\n PropTypes.shape({\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n label: PropTypes.string,\n to: PropTypes.string,\n isActive: PropTypes.func,\n checkpointKey: PropTypes.string,\n isCountsLoading: PropTypes.bool,\n items: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n to: PropTypes.string,\n count: PropTypes.number,\n isActive: PropTypes.func,\n type: PropTypes.string,\n filters: PropTypes.array,\n checkpointKey: PropTypes.string,\n })\n ),\n })\n ),\n /**\n * To override the logo displayed on the sidebar.\n */\n customLogo: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n /**\n * Boolean to notate whether the counts are being fetched.\n */\n isCountsLoading: PropTypes.bool,\n};\n\nexport default Sidebar;\n"],"names":["Header","_ref","_ProductTypefaceLogos","customLogo","clearSettingsNav","productName","globalProps","appName","substr","logoName","concat","capitalize","toLowerCase","ProductTypefaceLogo","ProductTypefaceLogos","Neeto","LogoComponent","_useFetchNeetoApps","useFetchNeetoApps","data","homePath","neetoApps","thisApp","findBy","name","url","URL","pathname","React","createElement","className","Link","to","onClick","memo","Links","navLinks","isCountsLoadingDeprecated","isCountsLoading","setSelectedNavLinkRoute","location","useLocation","_useState","useState","_useState2","_slicedToArray","isActiveLinkExpanded","setIsActiveLinkExpanded","handleNavLinkClick","_ref2","event","isActive","items","navLink","isNotPresent","isConfigureNavLink","isNotEmpty","not","preventDefault","filter","filterByPermissions","map","index","label","icon","_navLink$isCountsLoad","otherProps","_objectWithoutProperties","_excluded","IconSVG","window","href","is","Function","startsWith","isMenuExpanded","Fragment","key","CheckPointNavLinks","_extends","activeClassName","hyphenate","_objectSpread","Typography","component","style","weight","classnames","Down","size","Items","Sidebar","_ref$isCountsLoading","isSidebarPaneOpen","setIsSidebarPaneOpen","_useLocalStorage","useLocalStorage","SELECTED_NAV_LINK_ROUTE_STORAGE_KEY","_useLocalStorage2","selectedNavLinkRoute","_useLocalStorage3","getSidebarStateLocalStorageKey","_useLocalStorage4","isSidebarCollapsed","setIsSidebarCollapsed","history","useHistory","_useTranslation","useTranslation","t","isLargerScreen","innerWidth","isSidebarClosed","useEffect","isPresent","currentLink","findLast","includes","handleResize","addEventListener","removeEventListener","handleGoBack","settingsNavLink","find","link","push","buildUrl","activeLink","useMemo","isSelectedNavLinkVisible","SelectedLink","Button","Chevron","color","tooltipProps","content","position"],"mappings":"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"}
1
+ {"version":3,"file":"Sidebar.js","sources":["../src/components/Sidebar/Components/Header.jsx","../src/components/Sidebar/Components/Links/index.jsx","../src/components/Sidebar/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { capitalize, findBy } from \"neetocist\";\nimport useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport { Neeto } from \"neetoicons/typeface-logos\";\nimport * as ProductTypefaceLogos from \"neetoicons/typeface-logos\";\nimport { Link } from \"react-router-dom\";\n\nconst Header = ({ customLogo, clearSettingsNav, homePath }) => {\n const productName = globalProps.appName.substr(5);\n const logoName = `Neeto${capitalize(productName.toLowerCase())}`;\n const ProductTypefaceLogo = ProductTypefaceLogos[logoName] ?? Neeto;\n const LogoComponent = customLogo ?? ProductTypefaceLogo;\n\n const { data } = useFetchNeetoApps();\n\n let appHomePath = homePath;\n if (data?.neetoApps) {\n const thisApp = findBy({ name: productName }, data.neetoApps);\n if (thisApp?.url) {\n appHomePath = new URL(thisApp?.url).pathname;\n }\n }\n\n return (\n <div\n className=\"neeto-molecules-sidebar__header neeto-molecules-sidebar__no-shrinkable\"\n data-cy=\"sidebar-info\"\n >\n <Link\n className=\"neeto-molecules-sidebar__logo neeto-ui-w-full\"\n to={appHomePath}\n onClick={clearSettingsNav}\n >\n <LogoComponent />\n </Link>\n </div>\n );\n};\n\nexport default React.memo(Header);\n","import React, { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { hyphenate, isNotEmpty, isNotPresent } from \"neetocist\";\nimport { Down } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\nimport { is, not } from \"ramda\";\nimport { useLocation } from \"react-router-dom\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\nimport Items from \"./Items\";\n\nimport { filterByPermissions } from \"../../utils\";\n\nconst Links = ({\n navLinks,\n isCountsLoading: isCountsLoadingDeprecated,\n setSelectedNavLinkRoute,\n}) => {\n const location = useLocation();\n const [isActiveLinkExpanded, setIsActiveLinkExpanded] = useState(true);\n\n const handleNavLinkClick = ({ event, isActive, items, navLink }) => {\n if (isNotPresent(items)) return;\n\n if (navLink.isConfigureNavLink && isNotEmpty(navLink.items)) {\n setSelectedNavLinkRoute(navLink.to);\n }\n\n if (isActive()) {\n setIsActiveLinkExpanded(not);\n event.preventDefault();\n\n return;\n }\n\n setIsActiveLinkExpanded(true);\n };\n\n return (\n <div className=\"neeto-molecules-sidebar__links neeto-molecules-sidebar__no-shrinkable\">\n {navLinks.filter(filterByPermissions).map((navLink, index) => {\n const {\n label,\n to,\n icon,\n items,\n isConfigureNavLink,\n isCountsLoading = false,\n ...otherProps\n } = navLink;\n const IconSVG = icon;\n const url = new URL(to, window.location.href);\n const isActive = () =>\n is(Function, otherProps.isActive)\n ? otherProps.isActive()\n : location.pathname.startsWith(url.pathname);\n\n const isMenuExpanded =\n isActive() && isActiveLinkExpanded && !isCountsLoadingDeprecated;\n\n return (\n <React.Fragment key={index}>\n <CheckPointNavLinks\n activeClassName=\"active\"\n className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-no-underline neeto-ui-select-none neeto-molecules-sidebar__link\"\n data-testid={`navlink-${hyphenate(label)}`}\n onClick={event =>\n handleNavLinkClick({ event, isActive, items, navLink })\n }\n {...{ isActive, to, ...otherProps }}\n >\n {icon && (\n <span\n className=\"neeto-molecules-sidebar__link-icon\"\n data-testid={label}\n >\n <IconSVG />\n </span>\n )}\n <Typography\n className=\"neeto-molecules-sidebar__link-label\"\n component=\"span\"\n style=\"body2\"\n weight=\"normal\"\n >\n {label}\n </Typography>\n {items && !isConfigureNavLink && (\n <span\n className={classnames(\n \"neeto-molecules-sidebar__link-icon neeto-molecules-sidebar__link-icon--caret\",\n {\n \"neeto-molecules-sidebar__link-icon--rotate\":\n isMenuExpanded,\n }\n )}\n >\n <Down size={16} />\n </span>\n )}\n </CheckPointNavLinks>\n {items && !isConfigureNavLink && isMenuExpanded && (\n <Items {...{ isCountsLoading, items, ...otherProps }} />\n )}\n </React.Fragment>\n );\n })}\n </div>\n );\n};\n\nexport default Links;\n","import React, { useEffect, useMemo, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent, isNotEmpty } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { findLast, is, not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation, useHistory } from \"react-router-dom\";\n\nimport Chevron from \"./Components/Chevron\";\nimport Header from \"./Components/Header\";\nimport Links from \"./Components/Links\";\nimport SelectedLink from \"./Components/Links/SelectedLink\";\nimport { SELECTED_NAV_LINK_ROUTE_STORAGE_KEY } from \"./constants\";\nimport \"./sidebar.scss\";\nimport { getSidebarStateLocalStorageKey } from \"./utils\";\n\nconst Sidebar = ({\n navLinks,\n customLogo,\n isCountsLoading = false,\n homePath = \"/\",\n}) => {\n const productName = globalProps.appName.substr(5).toLowerCase();\n const [isSidebarPaneOpen, setIsSidebarPaneOpen] = useState(false);\n const [selectedNavLinkRoute, setSelectedNavLinkRoute] = useLocalStorage(\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n null\n );\n\n const [isSidebarCollapsed, setIsSidebarCollapsed] = useLocalStorage(\n getSidebarStateLocalStorageKey(),\n false\n );\n\n const location = useLocation();\n const history = useHistory();\n const { t } = useTranslation();\n\n const isLargerScreen = () => window.innerWidth > 768;\n const isSidebarClosed = isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen);\n\n useEffect(() => {\n if (!isPresent(navLinks)) return;\n const currentLink = findLast(({ to, isActive }) => {\n const url = new URL(to, window.location.href);\n\n return is(Function, isActive)\n ? isActive()\n : location.pathname.includes(url.pathname);\n })(navLinks);\n\n if (isPresent(currentLink)) {\n setSelectedNavLinkRoute(\n currentLink.isConfigureNavLink ? currentLink.to : null\n );\n }\n }, []);\n\n useEffect(() => {\n const handleResize = () => {\n if (isLargerScreen()) return;\n setIsSidebarPaneOpen(false);\n setIsSidebarCollapsed(true);\n };\n window.addEventListener(\"resize\", handleResize);\n\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n const handleGoBack = event => {\n event.preventDefault();\n setSelectedNavLinkRoute(null);\n const settingsNavLink = navLinks.find(\n link => isPresent(link.isConfigureNavLink) && link.isConfigureNavLink\n );\n if (settingsNavLink.to) {\n history.push(buildUrl(settingsNavLink.to));\n }\n };\n\n const activeLink = useMemo(\n () =>\n navLinks.find(link => {\n if (is(Function, link.isActive)) return link.isActive();\n const url = new URL(link.to, window.location.href);\n\n return location.pathname.startsWith(url.pathname);\n }),\n [location.pathname, navLinks]\n );\n\n const isSelectedNavLinkVisible =\n selectedNavLinkRoute &&\n activeLink?.to === selectedNavLinkRoute &&\n isNotEmpty(navLinks);\n\n return (\n <div\n data-testid=\"sidebar-container\"\n className={classnames(\"neeto-molecules-sidebar__wrapper\", {\n \"neeto-molecules-sidebar__wrapper--collapsed\": isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen),\n })}\n >\n <div\n className=\"neeto-molecules-sidebar__backdrop\"\n onClick={() => {\n setIsSidebarPaneOpen(false);\n setSelectedNavLinkRoute(null);\n }}\n />\n <div\n data-cy=\"sidebar-wrapper\"\n data-testid=\"sidebar\"\n className={classnames(\n \"neeto-molecules-sidebar neeto-ui-flex neeto-ui-flex-col neeto-ui-flex-shrink-0 neeto-ui-overflow-y-auto neeto-ui-overflow-x-hidden\",\n {\n \"neeto-molecules-sidebar--focus-mode\":\n isPresent(selectedNavLinkRoute),\n }\n )}\n >\n <Header\n {...{ customLogo, homePath }}\n clearSettingsNav={() => setSelectedNavLinkRoute(null)}\n />\n {isSelectedNavLinkVisible ? (\n <SelectedLink {...{ handleGoBack }} navLink={activeLink} />\n ) : (\n <Links {...{ isCountsLoading, navLinks, setSelectedNavLinkRoute }} />\n )}\n </div>\n <Button\n className=\"neeto-molecules-sidebar__toggler\"\n data-cy=\"neeto-molecules-sidebar-toggler\"\n data-testid=\"sidebar-toggleButton\"\n style={isLargerScreen() ? \"text\" : \"secondary\"}\n icon={() => (\n <Chevron\n style={{ color: `rgb(var(--neeto-${productName}-primary))` }}\n />\n )}\n tooltipProps={{\n content: isSidebarClosed\n ? t(\"neetoMolecules.sidebar.showMenu\")\n : t(\"neetoMolecules.sidebar.hideMenu\"),\n position: \"bottom\",\n }}\n onClick={() => {\n setIsSidebarCollapsed(!isSidebarCollapsed);\n setIsSidebarPaneOpen(not);\n }}\n />\n </div>\n );\n};\n\nSidebar.propTypes = {\n /**\n * To specify the navlinks to be shown in sidebar.\n */\n navLinks: PropTypes.arrayOf(\n PropTypes.shape({\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n label: PropTypes.string,\n to: PropTypes.string,\n isActive: PropTypes.func,\n checkpointKey: PropTypes.string,\n isCountsLoading: PropTypes.bool,\n items: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n to: PropTypes.string,\n count: PropTypes.number,\n isActive: PropTypes.func,\n type: PropTypes.string,\n filters: PropTypes.array,\n checkpointKey: PropTypes.string,\n })\n ),\n })\n ),\n /**\n * To override the logo displayed on the sidebar.\n */\n customLogo: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n /**\n * Boolean to notate whether the counts are being fetched.\n */\n isCountsLoading: PropTypes.bool,\n};\n\nexport default Sidebar;\n"],"names":["Header","_ref","_ProductTypefaceLogos","customLogo","clearSettingsNav","homePath","productName","globalProps","appName","substr","logoName","concat","capitalize","toLowerCase","ProductTypefaceLogo","ProductTypefaceLogos","Neeto","LogoComponent","_useFetchNeetoApps","useFetchNeetoApps","data","appHomePath","neetoApps","thisApp","findBy","name","url","URL","pathname","React","createElement","className","Link","to","onClick","memo","Links","navLinks","isCountsLoadingDeprecated","isCountsLoading","setSelectedNavLinkRoute","location","useLocation","_useState","useState","_useState2","_slicedToArray","isActiveLinkExpanded","setIsActiveLinkExpanded","handleNavLinkClick","_ref2","event","isActive","items","navLink","isNotPresent","isConfigureNavLink","isNotEmpty","not","preventDefault","filter","filterByPermissions","map","index","label","icon","_navLink$isCountsLoad","otherProps","_objectWithoutProperties","_excluded","IconSVG","window","href","is","Function","startsWith","isMenuExpanded","Fragment","key","CheckPointNavLinks","_extends","activeClassName","hyphenate","_objectSpread","Typography","component","style","weight","classnames","Down","size","Items","Sidebar","_ref$isCountsLoading","_ref$homePath","isSidebarPaneOpen","setIsSidebarPaneOpen","_useLocalStorage","useLocalStorage","SELECTED_NAV_LINK_ROUTE_STORAGE_KEY","_useLocalStorage2","selectedNavLinkRoute","_useLocalStorage3","getSidebarStateLocalStorageKey","_useLocalStorage4","isSidebarCollapsed","setIsSidebarCollapsed","history","useHistory","_useTranslation","useTranslation","t","isLargerScreen","innerWidth","isSidebarClosed","useEffect","isPresent","currentLink","findLast","includes","handleResize","addEventListener","removeEventListener","handleGoBack","settingsNavLink","find","link","push","buildUrl","activeLink","useMemo","isSelectedNavLinkVisible","SelectedLink","Button","Chevron","color","tooltipProps","content","position"],"mappings":"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"}
@@ -158,6 +158,16 @@ var CustomDomainDashboard = function CustomDomainDashboard(_ref) {
158
158
  className: "flex h-full w-full flex-grow items-center justify-center"
159
159
  }, /*#__PURE__*/React__default["default"].createElement(neetoui.NoData, {
160
160
  title: t("neetoMolecules.customDomain.notFound"),
161
+ helpText: /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
162
+ i18nKey: "neetoMolecules.customDomain.learnMoreMessage",
163
+ components: {
164
+ button: /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
165
+ href: "https://help.neetosite.com/p/a-95ad5b03",
166
+ style: "link",
167
+ target: "_blank"
168
+ })
169
+ }
170
+ }),
161
171
  primaryButtonProps: {
162
172
  label: t("neetoMolecules.customDomain.addNew"),
163
173
  onClick: function onClick() {
@@ -1 +1 @@
1
- {"version":3,"file":"CustomDomainDashboard.js","sources":["../../src/components/CustomDomainDashboard/Header.jsx","../../src/components/CustomDomainDashboard/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { PLURAL } from \"neetocommons/constants\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { withEventTargetValue } from \"neetocommons/utils/general\";\nimport { Button } from \"neetoui\";\n\nimport NeetoHeader from \"components/Header\";\n\nconst Header = withT(\n ({ t, setIsPaneOpen, searchTerm, setSearchTerm, headerProps }) => (\n <NeetoHeader\n data-testid=\"custom-domain-header\"\n title={t(\"neetoMolecules.customDomain.customDomain\", PLURAL)}\n actionBlock={\n <Button\n data-cy=\"add-new-custom-domain-button\"\n label={t(\"neetoMolecules.customDomain.addNew\")}\n onClick={() => setIsPaneOpen(true)}\n />\n }\n searchProps={{\n value: searchTerm,\n onChange: withEventTargetValue(setSearchTerm),\n placeholder: t(\"neetoMolecules.customDomain.search\"),\n \"data-cy\": \"custom-domain-search-field\",\n className: \"w-56\",\n }}\n {...headerProps}\n />\n )\n);\n\nexport default React.memo(Header);\n","import React, { useState } from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport useDebounce from \"neetocommons/react-utils/useDebounce\";\nimport { Table, Typography, NoData } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Container from \"components/Container\";\nimport PageLoader from \"components/PageLoader\";\nimport SubHeader from \"components/SubHeader\";\n\nimport DeleteAlert from \"./DeleteAlert\";\nimport Header from \"./Header\";\nimport ManageDomain from \"./Manage\";\nimport {\n useFetchCustomDomains,\n useDeleteCustomDomain,\n} from \"./useCustomDomainApi\";\nimport { renderColumnData } from \"./utils\";\n\nconst CustomDomainDashboard = ({ headerProps, url, onCreate }) => {\n const [searchTerm, setSearchTerm] = useState(\"\");\n const [isPaneOpen, setIsPaneOpen] = useState(false);\n const [customDomain, setCustomDomain] = useState({});\n const [isAlertOpen, setIsAlertOpen] = useState(false);\n const { t } = useTranslation();\n const debouncedSearchTerm = useDebounce(searchTerm, 500);\n\n const { data: data, isLoading } = useFetchCustomDomains({\n url,\n params: { searchTerm: debouncedSearchTerm },\n });\n\n const { mutate: deleteCustomDomain, isLoading: isDeleting } =\n useDeleteCustomDomain(url, {\n onSettled: () => {\n setIsAlertOpen(false);\n setCustomDomain({});\n },\n });\n\n const enableManagePane = customDomain => {\n setCustomDomain(customDomain);\n setIsPaneOpen(true);\n };\n\n const enableDeleteAlert = customDomain => {\n setCustomDomain(customDomain);\n setIsAlertOpen(true);\n };\n\n const disableManagePane = () => {\n setIsPaneOpen(false);\n setCustomDomain({});\n };\n\n const disableDeleteAlert = () => {\n setIsAlertOpen(false);\n setCustomDomain({});\n };\n\n return (\n <>\n <Container>\n <Header\n {...{ headerProps, searchTerm, setIsPaneOpen, setSearchTerm }}\n />\n {isLoading && (\n <div className=\"h-screen w-full\">\n <PageLoader />\n </div>\n )}\n {!isLoading &&\n (isNotEmpty(data?.customDomains) ? (\n <div className=\"w-full flex-grow\">\n <SubHeader\n leftActionBlock={\n <Typography\n className=\"neeto-ui-gray-800 font-semibold\"\n component=\"h4\"\n >\n {t(\"neetoMolecules.customDomain.customDomainWithCount\", {\n count: data?.customDomains?.length,\n })}\n </Typography>\n }\n />\n <div>\n <Table\n allowRowClick={false}\n rowData={data?.customDomains}\n rowSelection={false}\n columnData={renderColumnData(\n enableManagePane,\n enableDeleteAlert\n )}\n />\n </div>\n </div>\n ) : (\n <div className=\"flex h-full w-full flex-grow items-center justify-center\">\n <NoData\n title={t(\"neetoMolecules.customDomain.notFound\")}\n primaryButtonProps={{\n label: t(\"neetoMolecules.customDomain.addNew\"),\n onClick: () => setIsPaneOpen(true),\n }}\n />\n </div>\n ))}\n </Container>\n <ManageDomain\n {...{ customDomain, onCreate, setCustomDomain, url }}\n hasOne={false}\n isOpen={isPaneOpen}\n onClose={disableManagePane}\n />\n <DeleteAlert\n hostname={customDomain?.hostname}\n isOpen={isAlertOpen}\n isSubmitting={isDeleting}\n onClose={disableDeleteAlert}\n onSubmit={() => deleteCustomDomain(customDomain?.id)}\n />\n </>\n );\n};\n\nCustomDomainDashboard.propTypes = {\n /**\n * The props to be passed to the `CustomDomain` page header. Accepts all props that can be passed to the `Header` component.\n */\n headerProps: PropTypes.object,\n /**\n * API path to manage custom domain records.\n */\n url: PropTypes.string,\n /**\n * Callback function will be invoked with new domain values after successfully creating the domain.\n */\n onCreate: PropTypes.func,\n};\n\nexport default CustomDomainDashboard;\n"],"names":["Header","withT","_ref","t","setIsPaneOpen","searchTerm","setSearchTerm","headerProps","React","createElement","NeetoHeader","_extends","title","PLURAL","actionBlock","Button","label","onClick","searchProps","value","onChange","withEventTargetValue","placeholder","className","memo","CustomDomainDashboard","_data$customDomains","url","onCreate","_useState","useState","_useState2","_slicedToArray","_useState3","_useState4","isPaneOpen","_useState5","_useState6","customDomain","setCustomDomain","_useState7","_useState8","isAlertOpen","setIsAlertOpen","_useTranslation","useTranslation","debouncedSearchTerm","useDebounce","_useFetchCustomDomain","useFetchCustomDomains","params","data","isLoading","_useDeleteCustomDomai","useDeleteCustomDomain","onSettled","deleteCustomDomain","mutate","isDeleting","enableManagePane","enableDeleteAlert","disableManagePane","disableDeleteAlert","Fragment","Container","PageLoader","isNotEmpty","customDomains","SubHeader","leftActionBlock","Typography","component","count","length","Table","allowRowClick","rowData","rowSelection","columnData","renderColumnData","NoData","primaryButtonProps","ManageDomain","hasOne","isOpen","onClose","DeleteAlert","hostname","isSubmitting","onSubmit","id"],"mappings":"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"}
1
+ {"version":3,"file":"CustomDomainDashboard.js","sources":["../../src/components/CustomDomainDashboard/Header.jsx","../../src/components/CustomDomainDashboard/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { PLURAL } from \"neetocommons/constants\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { withEventTargetValue } from \"neetocommons/utils/general\";\nimport { Button } from \"neetoui\";\n\nimport NeetoHeader from \"components/Header\";\n\nconst Header = withT(\n ({ t, setIsPaneOpen, searchTerm, setSearchTerm, headerProps }) => (\n <NeetoHeader\n data-testid=\"custom-domain-header\"\n title={t(\"neetoMolecules.customDomain.customDomain\", PLURAL)}\n actionBlock={\n <Button\n data-cy=\"add-new-custom-domain-button\"\n label={t(\"neetoMolecules.customDomain.addNew\")}\n onClick={() => setIsPaneOpen(true)}\n />\n }\n searchProps={{\n value: searchTerm,\n onChange: withEventTargetValue(setSearchTerm),\n placeholder: t(\"neetoMolecules.customDomain.search\"),\n \"data-cy\": \"custom-domain-search-field\",\n className: \"w-56\",\n }}\n {...headerProps}\n />\n )\n);\n\nexport default React.memo(Header);\n","import React, { useState } from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport useDebounce from \"neetocommons/react-utils/useDebounce\";\nimport { Table, Typography, NoData, Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation, Trans } from \"react-i18next\";\n\nimport Container from \"components/Container\";\nimport PageLoader from \"components/PageLoader\";\nimport SubHeader from \"components/SubHeader\";\n\nimport DeleteAlert from \"./DeleteAlert\";\nimport Header from \"./Header\";\nimport ManageDomain from \"./Manage\";\nimport {\n useFetchCustomDomains,\n useDeleteCustomDomain,\n} from \"./useCustomDomainApi\";\nimport { renderColumnData } from \"./utils\";\n\nconst CustomDomainDashboard = ({ headerProps, url, onCreate }) => {\n const [searchTerm, setSearchTerm] = useState(\"\");\n const [isPaneOpen, setIsPaneOpen] = useState(false);\n const [customDomain, setCustomDomain] = useState({});\n const [isAlertOpen, setIsAlertOpen] = useState(false);\n const { t } = useTranslation();\n const debouncedSearchTerm = useDebounce(searchTerm, 500);\n\n const { data: data, isLoading } = useFetchCustomDomains({\n url,\n params: { searchTerm: debouncedSearchTerm },\n });\n\n const { mutate: deleteCustomDomain, isLoading: isDeleting } =\n useDeleteCustomDomain(url, {\n onSettled: () => {\n setIsAlertOpen(false);\n setCustomDomain({});\n },\n });\n\n const enableManagePane = customDomain => {\n setCustomDomain(customDomain);\n setIsPaneOpen(true);\n };\n\n const enableDeleteAlert = customDomain => {\n setCustomDomain(customDomain);\n setIsAlertOpen(true);\n };\n\n const disableManagePane = () => {\n setIsPaneOpen(false);\n setCustomDomain({});\n };\n\n const disableDeleteAlert = () => {\n setIsAlertOpen(false);\n setCustomDomain({});\n };\n\n return (\n <>\n <Container>\n <Header\n {...{ headerProps, searchTerm, setIsPaneOpen, setSearchTerm }}\n />\n {isLoading && (\n <div className=\"h-screen w-full\">\n <PageLoader />\n </div>\n )}\n {!isLoading &&\n (isNotEmpty(data?.customDomains) ? (\n <div className=\"w-full flex-grow\">\n <SubHeader\n leftActionBlock={\n <Typography\n className=\"neeto-ui-gray-800 font-semibold\"\n component=\"h4\"\n >\n {t(\"neetoMolecules.customDomain.customDomainWithCount\", {\n count: data?.customDomains?.length,\n })}\n </Typography>\n }\n />\n <div>\n <Table\n allowRowClick={false}\n rowData={data?.customDomains}\n rowSelection={false}\n columnData={renderColumnData(\n enableManagePane,\n enableDeleteAlert\n )}\n />\n </div>\n </div>\n ) : (\n <div className=\"flex h-full w-full flex-grow items-center justify-center\">\n <NoData\n title={t(\"neetoMolecules.customDomain.notFound\")}\n helpText={\n <Trans\n i18nKey=\"neetoMolecules.customDomain.learnMoreMessage\"\n components={{\n button: (\n <Button\n href=\"https://help.neetosite.com/p/a-95ad5b03\"\n style=\"link\"\n target=\"_blank\"\n />\n ),\n }}\n />\n }\n primaryButtonProps={{\n label: t(\"neetoMolecules.customDomain.addNew\"),\n onClick: () => setIsPaneOpen(true),\n }}\n />\n </div>\n ))}\n </Container>\n <ManageDomain\n {...{ customDomain, onCreate, setCustomDomain, url }}\n hasOne={false}\n isOpen={isPaneOpen}\n onClose={disableManagePane}\n />\n <DeleteAlert\n hostname={customDomain?.hostname}\n isOpen={isAlertOpen}\n isSubmitting={isDeleting}\n onClose={disableDeleteAlert}\n onSubmit={() => deleteCustomDomain(customDomain?.id)}\n />\n </>\n );\n};\n\nCustomDomainDashboard.propTypes = {\n /**\n * The props to be passed to the `CustomDomain` page header. Accepts all props that can be passed to the `Header` component.\n */\n headerProps: PropTypes.object,\n /**\n * API path to manage custom domain records.\n */\n url: PropTypes.string,\n /**\n * Callback function will be invoked with new domain values after successfully creating the domain.\n */\n onCreate: PropTypes.func,\n};\n\nexport default CustomDomainDashboard;\n"],"names":["Header","withT","_ref","t","setIsPaneOpen","searchTerm","setSearchTerm","headerProps","React","createElement","NeetoHeader","_extends","title","PLURAL","actionBlock","Button","label","onClick","searchProps","value","onChange","withEventTargetValue","placeholder","className","memo","CustomDomainDashboard","_data$customDomains","url","onCreate","_useState","useState","_useState2","_slicedToArray","_useState3","_useState4","isPaneOpen","_useState5","_useState6","customDomain","setCustomDomain","_useState7","_useState8","isAlertOpen","setIsAlertOpen","_useTranslation","useTranslation","debouncedSearchTerm","useDebounce","_useFetchCustomDomain","useFetchCustomDomains","params","data","isLoading","_useDeleteCustomDomai","useDeleteCustomDomain","onSettled","deleteCustomDomain","mutate","isDeleting","enableManagePane","enableDeleteAlert","disableManagePane","disableDeleteAlert","Fragment","Container","PageLoader","isNotEmpty","customDomains","SubHeader","leftActionBlock","Typography","component","count","length","Table","allowRowClick","rowData","rowSelection","columnData","renderColumnData","NoData","helpText","Trans","i18nKey","components","button","href","style","target","primaryButtonProps","ManageDomain","hasOne","isOpen","onClose","DeleteAlert","hostname","isSubmitting","onSubmit","id"],"mappings":"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"}
@@ -122,7 +122,9 @@ var ShareModalBody = function ShareModalBody(_ref) {
122
122
  }, shareLink)), /*#__PURE__*/React__default["default"].createElement(CopyToClipboardButton, {
123
123
  className: "flex-shrink-0",
124
124
  style: "secondary",
125
- value: shareLink
125
+ tooltipContent: t("neetoMolecules.shareRecording.tooltipContent"),
126
+ value: shareLink,
127
+ successTooltipContent: t("neetoMolecules.shareRecording.successTooltipContent")
126
128
  })), /*#__PURE__*/React__default["default"].createElement("div", {
127
129
  className: "flex items-center gap-x-2"
128
130
  }, /*#__PURE__*/React__default["default"].createElement(neetoui.Checkbox, {
@@ -1 +1 @@
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 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 <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","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
+ {"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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"}
@@ -52,20 +52,21 @@ var ProductTypefaceLogos__namespace = /*#__PURE__*/_interopNamespace(ProductType
52
52
  var Header = function Header(_ref) {
53
53
  var _ProductTypefaceLogos;
54
54
  var customLogo = _ref.customLogo,
55
- clearSettingsNav = _ref.clearSettingsNav;
55
+ clearSettingsNav = _ref.clearSettingsNav,
56
+ homePath = _ref.homePath;
56
57
  var productName = globalProps.appName.substr(5);
57
58
  var logoName = "Neeto".concat(neetoCist.capitalize(productName.toLowerCase()));
58
59
  var ProductTypefaceLogo = (_ProductTypefaceLogos = ProductTypefaceLogos__namespace[logoName]) !== null && _ProductTypefaceLogos !== void 0 ? _ProductTypefaceLogos : ProductTypefaceLogos.Neeto;
59
60
  var LogoComponent = customLogo !== null && customLogo !== void 0 ? customLogo : ProductTypefaceLogo;
60
61
  var _useFetchNeetoApps = useFetchNeetoApps__default["default"](),
61
62
  data = _useFetchNeetoApps.data;
62
- var homePath = "/";
63
+ var appHomePath = homePath;
63
64
  if (data !== null && data !== void 0 && data.neetoApps) {
64
65
  var thisApp = neetoCist.findBy({
65
66
  name: productName
66
67
  }, data.neetoApps);
67
68
  if (thisApp !== null && thisApp !== void 0 && thisApp.url) {
68
- homePath = new URL(thisApp === null || thisApp === void 0 ? void 0 : thisApp.url).pathname;
69
+ appHomePath = new URL(thisApp === null || thisApp === void 0 ? void 0 : thisApp.url).pathname;
69
70
  }
70
71
  }
71
72
  return /*#__PURE__*/React__default["default"].createElement("div", {
@@ -73,7 +74,7 @@ var Header = function Header(_ref) {
73
74
  "data-cy": "sidebar-info"
74
75
  }, /*#__PURE__*/React__default["default"].createElement(reactRouterDom.Link, {
75
76
  className: "neeto-molecules-sidebar__logo neeto-ui-w-full",
76
- to: homePath,
77
+ to: appHomePath,
77
78
  onClick: clearSettingsNav
78
79
  }, /*#__PURE__*/React__default["default"].createElement(LogoComponent, null)));
79
80
  };
@@ -166,7 +167,9 @@ var Sidebar = function Sidebar(_ref) {
166
167
  var navLinks = _ref.navLinks,
167
168
  customLogo = _ref.customLogo,
168
169
  _ref$isCountsLoading = _ref.isCountsLoading,
169
- isCountsLoading = _ref$isCountsLoading === void 0 ? false : _ref$isCountsLoading;
170
+ isCountsLoading = _ref$isCountsLoading === void 0 ? false : _ref$isCountsLoading,
171
+ _ref$homePath = _ref.homePath,
172
+ homePath = _ref$homePath === void 0 ? "/" : _ref$homePath;
170
173
  var productName = initializers.globalProps.appName.substr(5).toLowerCase();
171
174
  var _useState = React.useState(false),
172
175
  _useState2 = slicedToArray._slicedToArray(_useState, 2),
@@ -248,6 +251,7 @@ var Sidebar = function Sidebar(_ref) {
248
251
  })
249
252
  }, /*#__PURE__*/React__default["default"].createElement(Header$1, {
250
253
  customLogo: customLogo,
254
+ homePath: homePath,
251
255
  clearSettingsNav: function clearSettingsNav() {
252
256
  return setSelectedNavLinkRoute(null);
253
257
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.js","sources":["../../src/components/Sidebar/Components/Header.jsx","../../src/components/Sidebar/Components/Links/index.jsx","../../src/components/Sidebar/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { capitalize, findBy } from \"neetocist\";\nimport useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport { Neeto } from \"neetoicons/typeface-logos\";\nimport * as ProductTypefaceLogos from \"neetoicons/typeface-logos\";\nimport { Link } from \"react-router-dom\";\n\nconst Header = ({ customLogo, clearSettingsNav }) => {\n const productName = globalProps.appName.substr(5);\n const logoName = `Neeto${capitalize(productName.toLowerCase())}`;\n const ProductTypefaceLogo = ProductTypefaceLogos[logoName] ?? Neeto;\n const LogoComponent = customLogo ?? ProductTypefaceLogo;\n\n const { data } = useFetchNeetoApps();\n\n let homePath = \"/\";\n if (data?.neetoApps) {\n const thisApp = findBy({ name: productName }, data.neetoApps);\n if (thisApp?.url) {\n homePath = new URL(thisApp?.url).pathname;\n }\n }\n\n return (\n <div\n className=\"neeto-molecules-sidebar__header neeto-molecules-sidebar__no-shrinkable\"\n data-cy=\"sidebar-info\"\n >\n <Link\n className=\"neeto-molecules-sidebar__logo neeto-ui-w-full\"\n to={homePath}\n onClick={clearSettingsNav}\n >\n <LogoComponent />\n </Link>\n </div>\n );\n};\n\nexport default React.memo(Header);\n","import React, { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { hyphenate, isNotEmpty, isNotPresent } from \"neetocist\";\nimport { Down } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\nimport { is, not } from \"ramda\";\nimport { useLocation } from \"react-router-dom\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\nimport Items from \"./Items\";\n\nimport { filterByPermissions } from \"../../utils\";\n\nconst Links = ({\n navLinks,\n isCountsLoading: isCountsLoadingDeprecated,\n setSelectedNavLinkRoute,\n}) => {\n const location = useLocation();\n const [isActiveLinkExpanded, setIsActiveLinkExpanded] = useState(true);\n\n const handleNavLinkClick = ({ event, isActive, items, navLink }) => {\n if (isNotPresent(items)) return;\n\n if (navLink.isConfigureNavLink && isNotEmpty(navLink.items)) {\n setSelectedNavLinkRoute(navLink.to);\n }\n\n if (isActive()) {\n setIsActiveLinkExpanded(not);\n event.preventDefault();\n\n return;\n }\n\n setIsActiveLinkExpanded(true);\n };\n\n return (\n <div className=\"neeto-molecules-sidebar__links neeto-molecules-sidebar__no-shrinkable\">\n {navLinks.filter(filterByPermissions).map((navLink, index) => {\n const {\n label,\n to,\n icon,\n items,\n isConfigureNavLink,\n isCountsLoading = false,\n ...otherProps\n } = navLink;\n const IconSVG = icon;\n const url = new URL(to, window.location.href);\n const isActive = () =>\n is(Function, otherProps.isActive)\n ? otherProps.isActive()\n : location.pathname.startsWith(url.pathname);\n\n const isMenuExpanded =\n isActive() && isActiveLinkExpanded && !isCountsLoadingDeprecated;\n\n return (\n <React.Fragment key={index}>\n <CheckPointNavLinks\n activeClassName=\"active\"\n className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-no-underline neeto-ui-select-none neeto-molecules-sidebar__link\"\n data-testid={`navlink-${hyphenate(label)}`}\n onClick={event =>\n handleNavLinkClick({ event, isActive, items, navLink })\n }\n {...{ isActive, to, ...otherProps }}\n >\n {icon && (\n <span\n className=\"neeto-molecules-sidebar__link-icon\"\n data-testid={label}\n >\n <IconSVG />\n </span>\n )}\n <Typography\n className=\"neeto-molecules-sidebar__link-label\"\n component=\"span\"\n style=\"body2\"\n weight=\"normal\"\n >\n {label}\n </Typography>\n {items && !isConfigureNavLink && (\n <span\n className={classnames(\n \"neeto-molecules-sidebar__link-icon neeto-molecules-sidebar__link-icon--caret\",\n {\n \"neeto-molecules-sidebar__link-icon--rotate\":\n isMenuExpanded,\n }\n )}\n >\n <Down size={16} />\n </span>\n )}\n </CheckPointNavLinks>\n {items && !isConfigureNavLink && isMenuExpanded && (\n <Items {...{ isCountsLoading, items, ...otherProps }} />\n )}\n </React.Fragment>\n );\n })}\n </div>\n );\n};\n\nexport default Links;\n","import React, { useEffect, useMemo, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent, isNotEmpty } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { findLast, is, not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation, useHistory } from \"react-router-dom\";\n\nimport Chevron from \"./Components/Chevron\";\nimport Header from \"./Components/Header\";\nimport Links from \"./Components/Links\";\nimport SelectedLink from \"./Components/Links/SelectedLink\";\nimport { SELECTED_NAV_LINK_ROUTE_STORAGE_KEY } from \"./constants\";\nimport \"./sidebar.scss\";\nimport { getSidebarStateLocalStorageKey } from \"./utils\";\n\nconst Sidebar = ({ navLinks, customLogo, isCountsLoading = false }) => {\n const productName = globalProps.appName.substr(5).toLowerCase();\n const [isSidebarPaneOpen, setIsSidebarPaneOpen] = useState(false);\n const [selectedNavLinkRoute, setSelectedNavLinkRoute] = useLocalStorage(\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n null\n );\n\n const [isSidebarCollapsed, setIsSidebarCollapsed] = useLocalStorage(\n getSidebarStateLocalStorageKey(),\n false\n );\n\n const location = useLocation();\n const history = useHistory();\n const { t } = useTranslation();\n\n const isLargerScreen = () => window.innerWidth > 768;\n const isSidebarClosed = isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen);\n\n useEffect(() => {\n if (!isPresent(navLinks)) return;\n const currentLink = findLast(({ to, isActive }) => {\n const url = new URL(to, window.location.href);\n\n return is(Function, isActive)\n ? isActive()\n : location.pathname.includes(url.pathname);\n })(navLinks);\n\n if (isPresent(currentLink)) {\n setSelectedNavLinkRoute(\n currentLink.isConfigureNavLink ? currentLink.to : null\n );\n }\n }, []);\n\n useEffect(() => {\n const handleResize = () => {\n if (isLargerScreen()) return;\n setIsSidebarPaneOpen(false);\n setIsSidebarCollapsed(true);\n };\n window.addEventListener(\"resize\", handleResize);\n\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n const handleGoBack = event => {\n event.preventDefault();\n setSelectedNavLinkRoute(null);\n const settingsNavLink = navLinks.find(\n link => isPresent(link.isConfigureNavLink) && link.isConfigureNavLink\n );\n if (settingsNavLink.to) {\n history.push(buildUrl(settingsNavLink.to));\n }\n };\n\n const activeLink = useMemo(\n () =>\n navLinks.find(link => {\n if (is(Function, link.isActive)) return link.isActive();\n const url = new URL(link.to, window.location.href);\n\n return location.pathname.startsWith(url.pathname);\n }),\n [location.pathname, navLinks]\n );\n\n const isSelectedNavLinkVisible =\n selectedNavLinkRoute &&\n activeLink?.to === selectedNavLinkRoute &&\n isNotEmpty(navLinks);\n\n return (\n <div\n data-testid=\"sidebar-container\"\n className={classnames(\"neeto-molecules-sidebar__wrapper\", {\n \"neeto-molecules-sidebar__wrapper--collapsed\": isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen),\n })}\n >\n <div\n className=\"neeto-molecules-sidebar__backdrop\"\n onClick={() => {\n setIsSidebarPaneOpen(false);\n setSelectedNavLinkRoute(null);\n }}\n />\n <div\n data-cy=\"sidebar-wrapper\"\n data-testid=\"sidebar\"\n className={classnames(\n \"neeto-molecules-sidebar neeto-ui-flex neeto-ui-flex-col neeto-ui-flex-shrink-0 neeto-ui-overflow-y-auto neeto-ui-overflow-x-hidden\",\n {\n \"neeto-molecules-sidebar--focus-mode\":\n isPresent(selectedNavLinkRoute),\n }\n )}\n >\n <Header\n {...{ customLogo }}\n clearSettingsNav={() => setSelectedNavLinkRoute(null)}\n />\n {isSelectedNavLinkVisible ? (\n <SelectedLink {...{ handleGoBack }} navLink={activeLink} />\n ) : (\n <Links {...{ isCountsLoading, navLinks, setSelectedNavLinkRoute }} />\n )}\n </div>\n <Button\n className=\"neeto-molecules-sidebar__toggler\"\n data-cy=\"neeto-molecules-sidebar-toggler\"\n data-testid=\"sidebar-toggleButton\"\n style={isLargerScreen() ? \"text\" : \"secondary\"}\n icon={() => (\n <Chevron\n style={{ color: `rgb(var(--neeto-${productName}-primary))` }}\n />\n )}\n tooltipProps={{\n content: isSidebarClosed\n ? t(\"neetoMolecules.sidebar.showMenu\")\n : t(\"neetoMolecules.sidebar.hideMenu\"),\n position: \"bottom\",\n }}\n onClick={() => {\n setIsSidebarCollapsed(!isSidebarCollapsed);\n setIsSidebarPaneOpen(not);\n }}\n />\n </div>\n );\n};\n\nSidebar.propTypes = {\n /**\n * To specify the navlinks to be shown in sidebar.\n */\n navLinks: PropTypes.arrayOf(\n PropTypes.shape({\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n label: PropTypes.string,\n to: PropTypes.string,\n isActive: PropTypes.func,\n checkpointKey: PropTypes.string,\n isCountsLoading: PropTypes.bool,\n items: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n to: PropTypes.string,\n count: PropTypes.number,\n isActive: PropTypes.func,\n type: PropTypes.string,\n filters: PropTypes.array,\n checkpointKey: PropTypes.string,\n })\n ),\n })\n ),\n /**\n * To override the logo displayed on the sidebar.\n */\n customLogo: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n /**\n * Boolean to notate whether the counts are being fetched.\n */\n isCountsLoading: PropTypes.bool,\n};\n\nexport default Sidebar;\n"],"names":["Header","_ref","_ProductTypefaceLogos","customLogo","clearSettingsNav","productName","globalProps","appName","substr","logoName","concat","capitalize","toLowerCase","ProductTypefaceLogo","ProductTypefaceLogos","Neeto","LogoComponent","_useFetchNeetoApps","useFetchNeetoApps","data","homePath","neetoApps","thisApp","findBy","name","url","URL","pathname","React","createElement","className","Link","to","onClick","memo","Links","navLinks","isCountsLoadingDeprecated","isCountsLoading","setSelectedNavLinkRoute","location","useLocation","_useState","useState","_useState2","_slicedToArray","isActiveLinkExpanded","setIsActiveLinkExpanded","handleNavLinkClick","_ref2","event","isActive","items","navLink","isNotPresent","isConfigureNavLink","isNotEmpty","not","preventDefault","filter","filterByPermissions","map","index","label","icon","_navLink$isCountsLoad","otherProps","_objectWithoutProperties","_excluded","IconSVG","window","href","is","Function","startsWith","isMenuExpanded","Fragment","key","CheckPointNavLinks","_extends","activeClassName","hyphenate","_objectSpread","Typography","component","style","weight","classnames","Down","size","Items","Sidebar","_ref$isCountsLoading","isSidebarPaneOpen","setIsSidebarPaneOpen","_useLocalStorage","useLocalStorage","SELECTED_NAV_LINK_ROUTE_STORAGE_KEY","_useLocalStorage2","selectedNavLinkRoute","_useLocalStorage3","getSidebarStateLocalStorageKey","_useLocalStorage4","isSidebarCollapsed","setIsSidebarCollapsed","history","useHistory","_useTranslation","useTranslation","t","isLargerScreen","innerWidth","isSidebarClosed","useEffect","isPresent","currentLink","findLast","includes","handleResize","addEventListener","removeEventListener","handleGoBack","settingsNavLink","find","link","push","buildUrl","activeLink","useMemo","isSelectedNavLinkVisible","SelectedLink","Button","Chevron","color","tooltipProps","content","position"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,IAAMA,MAAM,GAAG,SAATA,MAAMA,CAAAC,IAAA,EAAyC;AAAA,EAAA,IAAAC,qBAAA,CAAA;AAAA,EAAA,IAAnCC,UAAU,GAAAF,IAAA,CAAVE,UAAU;IAAEC,gBAAgB,GAAAH,IAAA,CAAhBG,gBAAgB,CAAA;EAC5C,IAAMC,WAAW,GAAGC,WAAW,CAACC,OAAO,CAACC,MAAM,CAAC,CAAC,CAAC,CAAA;AACjD,EAAA,IAAMC,QAAQ,GAAA,OAAA,CAAAC,MAAA,CAAWC,oBAAU,CAACN,WAAW,CAACO,WAAW,EAAE,CAAC,CAAE,CAAA;AAChE,EAAA,IAAMC,mBAAmB,GAAA,CAAAX,qBAAA,GAAGY,+BAAoB,CAACL,QAAQ,CAAC,MAAAP,IAAAA,IAAAA,qBAAA,KAAAA,KAAAA,CAAAA,GAAAA,qBAAA,GAAIa,0BAAK,CAAA;EACnE,IAAMC,aAAa,GAAGb,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,UAAU,GAAIU,mBAAmB,CAAA;AAEvD,EAAA,IAAAI,kBAAA,GAAiBC,qCAAiB,EAAE;IAA5BC,IAAI,GAAAF,kBAAA,CAAJE,IAAI,CAAA;EAEZ,IAAIC,QAAQ,GAAG,GAAG,CAAA;AAClB,EAAA,IAAID,IAAI,KAAJA,IAAAA,IAAAA,IAAI,eAAJA,IAAI,CAAEE,SAAS,EAAE;IACnB,IAAMC,OAAO,GAAGC,gBAAM,CAAC;AAAEC,MAAAA,IAAI,EAAEnB,WAAAA;AAAY,KAAC,EAAEc,IAAI,CAACE,SAAS,CAAC,CAAA;AAC7D,IAAA,IAAIC,OAAO,KAAPA,IAAAA,IAAAA,OAAO,eAAPA,OAAO,CAAEG,GAAG,EAAE;AAChBL,MAAAA,QAAQ,GAAG,IAAIM,GAAG,CAACJ,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAEG,GAAG,CAAC,CAACE,QAAQ,CAAA;AAC3C,KAAA;AACF,GAAA;EAEA,oBACEC,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEC,IAAAA,SAAS,EAAC,wEAAwE;IAClF,SAAQ,EAAA,cAAA;AAAc,GAAA,eAEtBF,yBAAA,CAAAC,aAAA,CAACE,mBAAI,EAAA;AACHD,IAAAA,SAAS,EAAC,+CAA+C;AACzDE,IAAAA,EAAE,EAAEZ,QAAS;AACba,IAAAA,OAAO,EAAE7B,gBAAAA;GAETwB,eAAAA,yBAAA,CAAAC,aAAA,CAACb,aAAa,EAAE,IAAA,CACZ,CACH,CAAC,CAAA;AAEV,CAAC,CAAA;AAED,eAAA,aAAeY,yBAAK,CAACM,IAAI,CAAClC,MAAM,CAAC;;;;;AC1BjC,IAAMmC,KAAK,GAAG,SAARA,KAAKA,CAAAlC,IAAA,EAIL;AAAA,EAAA,IAHJmC,QAAQ,GAAAnC,IAAA,CAARmC,QAAQ;IACSC,yBAAyB,GAAApC,IAAA,CAA1CqC,eAAe;IACfC,uBAAuB,GAAAtC,IAAA,CAAvBsC,uBAAuB,CAAA;AAEvB,EAAA,IAAMC,QAAQ,GAAGC,0BAAW,EAAE,CAAA;AAC9B,EAAA,IAAAC,SAAA,GAAwDC,cAAQ,CAAC,IAAI,CAAC;IAAAC,UAAA,GAAAC,4BAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA/DI,IAAAA,oBAAoB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,uBAAuB,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAEpD,EAAA,IAAMI,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAC,KAAA,EAA4C;AAAA,IAAA,IAAtCC,KAAK,GAAAD,KAAA,CAALC,KAAK;MAAEC,QAAQ,GAAAF,KAAA,CAARE,QAAQ;MAAEC,KAAK,GAAAH,KAAA,CAALG,KAAK;MAAEC,OAAO,GAAAJ,KAAA,CAAPI,OAAO,CAAA;AAC3D,IAAA,IAAIC,sBAAY,CAACF,KAAK,CAAC,EAAE,OAAA;IAEzB,IAAIC,OAAO,CAACE,kBAAkB,IAAIC,oBAAU,CAACH,OAAO,CAACD,KAAK,CAAC,EAAE;AAC3Db,MAAAA,uBAAuB,CAACc,OAAO,CAACrB,EAAE,CAAC,CAAA;AACrC,KAAA;IAEA,IAAImB,QAAQ,EAAE,EAAE;MACdJ,uBAAuB,CAACU,SAAG,CAAC,CAAA;MAC5BP,KAAK,CAACQ,cAAc,EAAE,CAAA;AAEtB,MAAA,OAAA;AACF,KAAA;IAEAX,uBAAuB,CAAC,IAAI,CAAC,CAAA;GAC9B,CAAA;EAED,oBACEnB,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,uEAAA;AAAuE,GAAA,EACnFM,QAAQ,CAACuB,MAAM,CAACC,2BAAmB,CAAC,CAACC,GAAG,CAAC,UAACR,OAAO,EAAES,KAAK,EAAK;AAC5D,IAAA,IACEC,KAAK,GAOHV,OAAO,CAPTU,KAAK;MACL/B,EAAE,GAMAqB,OAAO,CANTrB,EAAE;MACFgC,IAAI,GAKFX,OAAO,CALTW,IAAI;MACJZ,KAAK,GAIHC,OAAO,CAJTD,KAAK;MACLG,kBAAkB,GAGhBF,OAAO,CAHTE,kBAAkB;MAAAU,qBAAA,GAGhBZ,OAAO,CAFTf,eAAe;AAAfA,MAAAA,eAAe,GAAA2B,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;AACpBC,MAAAA,UAAU,GAAAC,gDAAA,CACXd,OAAO,EAAAe,SAAA,CAAA,CAAA;IACX,IAAMC,OAAO,GAAGL,IAAI,CAAA;AACpB,IAAA,IAAMvC,GAAG,GAAG,IAAIC,GAAG,CAACM,EAAE,EAAEsC,MAAM,CAAC9B,QAAQ,CAAC+B,IAAI,CAAC,CAAA;AAC7C,IAAA,IAAMpB,QAAQ,GAAG,SAAXA,QAAQA,GAAA;MAAA,OACZqB,QAAE,CAACC,QAAQ,EAAEP,UAAU,CAACf,QAAQ,CAAC,GAC7Be,UAAU,CAACf,QAAQ,EAAE,GACrBX,QAAQ,CAACb,QAAQ,CAAC+C,UAAU,CAACjD,GAAG,CAACE,QAAQ,CAAC,CAAA;AAAA,KAAA,CAAA;IAEhD,IAAMgD,cAAc,GAClBxB,QAAQ,EAAE,IAAIL,oBAAoB,IAAI,CAACT,yBAAyB,CAAA;AAElE,IAAA,oBACET,yBAAA,CAAAC,aAAA,CAACD,yBAAK,CAACgD,QAAQ,EAAA;AAACC,MAAAA,GAAG,EAAEf,KAAAA;AAAM,KAAA,eACzBlC,yBAAA,CAAAC,aAAA,CAACiD,0BAAkB,EAAAC,iBAAA,CAAA;AACjBC,MAAAA,eAAe,EAAC,QAAQ;AACxBlD,MAAAA,SAAS,EAAC,8GAA8G;AACxH,MAAA,aAAA,EAAA,UAAA,CAAApB,MAAA,CAAwBuE,mBAAS,CAAClB,KAAK,CAAC,CAAG;MAC3C9B,OAAO,EAAE,SAAAA,OAAAA,CAAAiB,KAAK,EAAA;AAAA,QAAA,OACZF,kBAAkB,CAAC;AAAEE,UAAAA,KAAK,EAALA,KAAK;AAAEC,UAAAA,QAAQ,EAARA,QAAQ;AAAEC,UAAAA,KAAK,EAALA,KAAK;AAAEC,UAAAA,OAAO,EAAPA,OAAAA;AAAQ,SAAC,CAAC,CAAA;AAAA,OAAA;AACxD,KAAA,EAAA6B,aAAA,CAAA;AACK/B,MAAAA,QAAQ,EAARA,QAAQ;AAAEnB,MAAAA,EAAE,EAAFA,EAAAA;AAAE,KAAA,EAAKkC,UAAU,CAEhCF,CAAAA,EAAAA,IAAI,iBACHpC,yBAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AACEC,MAAAA,SAAS,EAAC,oCAAoC;MAC9C,aAAaiC,EAAAA,KAAAA;AAAM,KAAA,eAEnBnC,yBAAA,CAAAC,aAAA,CAACwC,OAAO,EAAA,IAAE,CACN,CACP,eACDzC,yBAAA,CAAAC,aAAA,CAACsD,kBAAU,EAAA;AACTrD,MAAAA,SAAS,EAAC,qCAAqC;AAC/CsD,MAAAA,SAAS,EAAC,MAAM;AAChBC,MAAAA,KAAK,EAAC,OAAO;AACbC,MAAAA,MAAM,EAAC,QAAA;KAENvB,EAAAA,KACS,CAAC,EACZX,KAAK,IAAI,CAACG,kBAAkB,iBAC3B3B,yBAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AACEC,MAAAA,SAAS,EAAEyD,8BAAU,CACnB,8EAA8E,EAC9E;AACE,QAAA,4CAA4C,EAC1CZ,cAAAA;OAEN,CAAA;AAAE,KAAA,eAEF/C,yBAAA,CAAAC,aAAA,CAAC2D,eAAI,EAAA;AAACC,MAAAA,IAAI,EAAE,EAAA;AAAG,KAAE,CACb,CAEU,CAAC,EACpBrC,KAAK,IAAI,CAACG,kBAAkB,IAAIoB,cAAc,iBAC7C/C,yBAAA,CAAAC,aAAA,CAAC6D,aAAK,EAAAR,aAAA,CAAA;AAAO5C,MAAAA,eAAe,EAAfA,eAAe;AAAEc,MAAAA,KAAK,EAALA,KAAAA;KAAUc,EAAAA,UAAU,CAAK,CAE3C,CAAC,CAAA;AAErB,GAAC,CACE,CAAC,CAAA;AAEV,CAAC;;ACzFD,IAAMyB,OAAO,GAAG,SAAVA,OAAOA,CAAA1F,IAAA,EAA0D;AAAA,EAAA,IAApDmC,QAAQ,GAAAnC,IAAA,CAARmC,QAAQ;IAAEjC,UAAU,GAAAF,IAAA,CAAVE,UAAU;IAAAyF,oBAAA,GAAA3F,IAAA,CAAEqC,eAAe;AAAfA,IAAAA,eAAe,GAAAsD,oBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,oBAAA,CAAA;AAC9D,EAAA,IAAMvF,WAAW,GAAGC,wBAAW,CAACC,OAAO,CAACC,MAAM,CAAC,CAAC,CAAC,CAACI,WAAW,EAAE,CAAA;AAC/D,EAAA,IAAA8B,SAAA,GAAkDC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,4BAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA1DmD,IAAAA,iBAAiB,GAAAjD,UAAA,CAAA,CAAA,CAAA;AAAEkD,IAAAA,oBAAoB,GAAAlD,UAAA,CAAA,CAAA,CAAA,CAAA;AAC9C,EAAA,IAAAmD,gBAAA,GAAwDC,mCAAe,CACrEC,2CAAmC,EACnC,IACF,CAAC;IAAAC,iBAAA,GAAArD,4BAAA,CAAAkD,gBAAA,EAAA,CAAA,CAAA;AAHMI,IAAAA,oBAAoB,GAAAD,iBAAA,CAAA,CAAA,CAAA;AAAE3D,IAAAA,uBAAuB,GAAA2D,iBAAA,CAAA,CAAA,CAAA,CAAA;EAKpD,IAAAE,iBAAA,GAAoDJ,mCAAe,CACjEK,sCAA8B,EAAE,EAChC,KACF,CAAC;IAAAC,iBAAA,GAAAzD,4BAAA,CAAAuD,iBAAA,EAAA,CAAA,CAAA;AAHMG,IAAAA,kBAAkB,GAAAD,iBAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,qBAAqB,GAAAF,iBAAA,CAAA,CAAA,CAAA,CAAA;AAKhD,EAAA,IAAM9D,QAAQ,GAAGC,0BAAW,EAAE,CAAA;AAC9B,EAAA,IAAMgE,OAAO,GAAGC,yBAAU,EAAE,CAAA;AAC5B,EAAA,IAAAC,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AAET,EAAA,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,GAAA;AAAA,IAAA,OAASxC,MAAM,CAACyC,UAAU,GAAG,GAAG,CAAA;AAAA,GAAA,CAAA;EACpD,IAAMC,eAAe,GAAGF,cAAc,EAAE,GACpCP,kBAAkB,GAClB9C,SAAG,CAACoC,iBAAiB,CAAC,CAAA;AAE1BoB,EAAAA,eAAS,CAAC,YAAM;AACd,IAAA,IAAI,CAACC,mBAAS,CAAC9E,QAAQ,CAAC,EAAE,OAAA;AAC1B,IAAA,IAAM+E,WAAW,GAAGC,cAAQ,CAAC,UAAAnE,KAAA,EAAsB;AAAA,MAAA,IAAnBjB,EAAE,GAAAiB,KAAA,CAAFjB,EAAE;QAAEmB,QAAQ,GAAAF,KAAA,CAARE,QAAQ,CAAA;AAC1C,MAAA,IAAM1B,GAAG,GAAG,IAAIC,GAAG,CAACM,EAAE,EAAEsC,MAAM,CAAC9B,QAAQ,CAAC+B,IAAI,CAAC,CAAA;MAE7C,OAAOC,QAAE,CAACC,QAAQ,EAAEtB,QAAQ,CAAC,GACzBA,QAAQ,EAAE,GACVX,QAAQ,CAACb,QAAQ,CAAC0F,QAAQ,CAAC5F,GAAG,CAACE,QAAQ,CAAC,CAAA;KAC7C,CAAC,CAACS,QAAQ,CAAC,CAAA;AAEZ,IAAA,IAAI8E,mBAAS,CAACC,WAAW,CAAC,EAAE;MAC1B5E,uBAAuB,CACrB4E,WAAW,CAAC5D,kBAAkB,GAAG4D,WAAW,CAACnF,EAAE,GAAG,IACpD,CAAC,CAAA;AACH,KAAA;GACD,EAAE,EAAE,CAAC,CAAA;AAENiF,EAAAA,eAAS,CAAC,YAAM;AACd,IAAA,IAAMK,YAAY,GAAG,SAAfA,YAAYA,GAAS;MACzB,IAAIR,cAAc,EAAE,EAAE,OAAA;MACtBhB,oBAAoB,CAAC,KAAK,CAAC,CAAA;MAC3BU,qBAAqB,CAAC,IAAI,CAAC,CAAA;KAC5B,CAAA;AACDlC,IAAAA,MAAM,CAACiD,gBAAgB,CAAC,QAAQ,EAAED,YAAY,CAAC,CAAA;IAE/C,OAAO,YAAA;AAAA,MAAA,OAAMhD,MAAM,CAACkD,mBAAmB,CAAC,QAAQ,EAAEF,YAAY,CAAC,CAAA;AAAA,KAAA,CAAA;GAChE,EAAE,EAAE,CAAC,CAAA;AAEN,EAAA,IAAMG,YAAY,GAAG,SAAfA,YAAYA,CAAGvE,KAAK,EAAI;IAC5BA,KAAK,CAACQ,cAAc,EAAE,CAAA;IACtBnB,uBAAuB,CAAC,IAAI,CAAC,CAAA;AAC7B,IAAA,IAAMmF,eAAe,GAAGtF,QAAQ,CAACuF,IAAI,CACnC,UAAAC,IAAI,EAAA;MAAA,OAAIV,mBAAS,CAACU,IAAI,CAACrE,kBAAkB,CAAC,IAAIqE,IAAI,CAACrE,kBAAkB,CAAA;AAAA,KACvE,CAAC,CAAA;IACD,IAAImE,eAAe,CAAC1F,EAAE,EAAE;MACtByE,OAAO,CAACoB,IAAI,CAACC,cAAQ,CAACJ,eAAe,CAAC1F,EAAE,CAAC,CAAC,CAAA;AAC5C,KAAA;GACD,CAAA;EAED,IAAM+F,UAAU,GAAGC,aAAO,CACxB,YAAA;AAAA,IAAA,OACE5F,QAAQ,CAACuF,IAAI,CAAC,UAAAC,IAAI,EAAI;AACpB,MAAA,IAAIpD,QAAE,CAACC,QAAQ,EAAEmD,IAAI,CAACzE,QAAQ,CAAC,EAAE,OAAOyE,IAAI,CAACzE,QAAQ,EAAE,CAAA;AACvD,MAAA,IAAM1B,GAAG,GAAG,IAAIC,GAAG,CAACkG,IAAI,CAAC5F,EAAE,EAAEsC,MAAM,CAAC9B,QAAQ,CAAC+B,IAAI,CAAC,CAAA;MAElD,OAAO/B,QAAQ,CAACb,QAAQ,CAAC+C,UAAU,CAACjD,GAAG,CAACE,QAAQ,CAAC,CAAA;AACnD,KAAC,CAAC,CAAA;AAAA,GAAA,EACJ,CAACa,QAAQ,CAACb,QAAQ,EAAES,QAAQ,CAC9B,CAAC,CAAA;AAED,EAAA,IAAM6F,wBAAwB,GAC5B9B,oBAAoB,IACpB,CAAA4B,UAAU,aAAVA,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAVA,UAAU,CAAE/F,EAAE,MAAKmE,oBAAoB,IACvC3C,oBAAU,CAACpB,QAAQ,CAAC,CAAA;EAEtB,oBACER,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,aAAA,EAAY,mBAAmB;AAC/BC,IAAAA,SAAS,EAAEyD,8BAAU,CAAC,kCAAkC,EAAE;MACxD,6CAA6C,EAAEuB,cAAc,EAAE,GAC3DP,kBAAkB,GAClB9C,SAAG,CAACoC,iBAAiB,CAAA;KAC1B,CAAA;GAEDjE,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEC,IAAAA,SAAS,EAAC,mCAAmC;IAC7CG,OAAO,EAAE,SAAAA,OAAAA,GAAM;MACb6D,oBAAoB,CAAC,KAAK,CAAC,CAAA;MAC3BvD,uBAAuB,CAAC,IAAI,CAAC,CAAA;AAC/B,KAAA;AAAE,GACH,CAAC,eACFX,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,SAAA,EAAQ,iBAAiB;AACzB,IAAA,aAAA,EAAY,SAAS;AACrBC,IAAAA,SAAS,EAAEyD,8BAAU,CACnB,oIAAoI,EACpI;MACE,qCAAqC,EACnC2B,mBAAS,CAACf,oBAAoB,CAAA;KAEpC,CAAA;AAAE,GAAA,eAEFvE,yBAAA,CAAAC,aAAA,CAAC7B,QAAM,EAAA;AACCG,IAAAA,UAAU,EAAVA,UAAU;IAChBC,gBAAgB,EAAE,SAAAA,gBAAA,GAAA;MAAA,OAAMmC,uBAAuB,CAAC,IAAI,CAAC,CAAA;AAAA,KAAA;GACtD,CAAC,EACD0F,wBAAwB,gBACvBrG,yBAAA,CAAAC,aAAA,CAACqG,oBAAY,EAAA;AAAOT,IAAAA,YAAY,EAAZA,YAAY;AAAIpE,IAAAA,OAAO,EAAE0E,UAAAA;AAAW,GAAE,CAAC,gBAE3DnG,yBAAA,CAAAC,aAAA,CAACM,KAAK,EAAA;AAAOG,IAAAA,eAAe,EAAfA,eAAe;AAAEF,IAAAA,QAAQ,EAARA,QAAQ;AAAEG,IAAAA,uBAAuB,EAAvBA,uBAAAA;AAAuB,GAAK,CAEnE,CAAC,eACNX,yBAAA,CAAAC,aAAA,CAACsG,cAAM,EAAA;AACLrG,IAAAA,SAAS,EAAC,kCAAkC;AAC5C,IAAA,SAAA,EAAQ,iCAAiC;AACzC,IAAA,aAAA,EAAY,sBAAsB;AAClCuD,IAAAA,KAAK,EAAEyB,cAAc,EAAE,GAAG,MAAM,GAAG,WAAY;IAC/C9C,IAAI,EAAE,SAAAA,IAAA,GAAA;AAAA,MAAA,oBACJpC,yBAAA,CAAAC,aAAA,CAACuG,eAAO,EAAA;AACN/C,QAAAA,KAAK,EAAE;UAAEgD,KAAK,EAAA,kBAAA,CAAA3H,MAAA,CAAqBL,WAAW,EAAA,YAAA,CAAA;AAAa,SAAA;AAAE,OAC9D,CAAC,CAAA;KACF;AACFiI,IAAAA,YAAY,EAAE;MACZC,OAAO,EAAEvB,eAAe,GACpBH,CAAC,CAAC,iCAAiC,CAAC,GACpCA,CAAC,CAAC,iCAAiC,CAAC;AACxC2B,MAAAA,QAAQ,EAAE,QAAA;KACV;IACFvG,OAAO,EAAE,SAAAA,OAAAA,GAAM;MACbuE,qBAAqB,CAAC,CAACD,kBAAkB,CAAC,CAAA;MAC1CT,oBAAoB,CAACrC,SAAG,CAAC,CAAA;AAC3B,KAAA;AAAE,GACH,CACE,CAAC,CAAA;AAEV;;;;"}
1
+ {"version":3,"file":"Sidebar.js","sources":["../../src/components/Sidebar/Components/Header.jsx","../../src/components/Sidebar/Components/Links/index.jsx","../../src/components/Sidebar/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { capitalize, findBy } from \"neetocist\";\nimport useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport { Neeto } from \"neetoicons/typeface-logos\";\nimport * as ProductTypefaceLogos from \"neetoicons/typeface-logos\";\nimport { Link } from \"react-router-dom\";\n\nconst Header = ({ customLogo, clearSettingsNav, homePath }) => {\n const productName = globalProps.appName.substr(5);\n const logoName = `Neeto${capitalize(productName.toLowerCase())}`;\n const ProductTypefaceLogo = ProductTypefaceLogos[logoName] ?? Neeto;\n const LogoComponent = customLogo ?? ProductTypefaceLogo;\n\n const { data } = useFetchNeetoApps();\n\n let appHomePath = homePath;\n if (data?.neetoApps) {\n const thisApp = findBy({ name: productName }, data.neetoApps);\n if (thisApp?.url) {\n appHomePath = new URL(thisApp?.url).pathname;\n }\n }\n\n return (\n <div\n className=\"neeto-molecules-sidebar__header neeto-molecules-sidebar__no-shrinkable\"\n data-cy=\"sidebar-info\"\n >\n <Link\n className=\"neeto-molecules-sidebar__logo neeto-ui-w-full\"\n to={appHomePath}\n onClick={clearSettingsNav}\n >\n <LogoComponent />\n </Link>\n </div>\n );\n};\n\nexport default React.memo(Header);\n","import React, { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { hyphenate, isNotEmpty, isNotPresent } from \"neetocist\";\nimport { Down } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\nimport { is, not } from \"ramda\";\nimport { useLocation } from \"react-router-dom\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\nimport Items from \"./Items\";\n\nimport { filterByPermissions } from \"../../utils\";\n\nconst Links = ({\n navLinks,\n isCountsLoading: isCountsLoadingDeprecated,\n setSelectedNavLinkRoute,\n}) => {\n const location = useLocation();\n const [isActiveLinkExpanded, setIsActiveLinkExpanded] = useState(true);\n\n const handleNavLinkClick = ({ event, isActive, items, navLink }) => {\n if (isNotPresent(items)) return;\n\n if (navLink.isConfigureNavLink && isNotEmpty(navLink.items)) {\n setSelectedNavLinkRoute(navLink.to);\n }\n\n if (isActive()) {\n setIsActiveLinkExpanded(not);\n event.preventDefault();\n\n return;\n }\n\n setIsActiveLinkExpanded(true);\n };\n\n return (\n <div className=\"neeto-molecules-sidebar__links neeto-molecules-sidebar__no-shrinkable\">\n {navLinks.filter(filterByPermissions).map((navLink, index) => {\n const {\n label,\n to,\n icon,\n items,\n isConfigureNavLink,\n isCountsLoading = false,\n ...otherProps\n } = navLink;\n const IconSVG = icon;\n const url = new URL(to, window.location.href);\n const isActive = () =>\n is(Function, otherProps.isActive)\n ? otherProps.isActive()\n : location.pathname.startsWith(url.pathname);\n\n const isMenuExpanded =\n isActive() && isActiveLinkExpanded && !isCountsLoadingDeprecated;\n\n return (\n <React.Fragment key={index}>\n <CheckPointNavLinks\n activeClassName=\"active\"\n className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-no-underline neeto-ui-select-none neeto-molecules-sidebar__link\"\n data-testid={`navlink-${hyphenate(label)}`}\n onClick={event =>\n handleNavLinkClick({ event, isActive, items, navLink })\n }\n {...{ isActive, to, ...otherProps }}\n >\n {icon && (\n <span\n className=\"neeto-molecules-sidebar__link-icon\"\n data-testid={label}\n >\n <IconSVG />\n </span>\n )}\n <Typography\n className=\"neeto-molecules-sidebar__link-label\"\n component=\"span\"\n style=\"body2\"\n weight=\"normal\"\n >\n {label}\n </Typography>\n {items && !isConfigureNavLink && (\n <span\n className={classnames(\n \"neeto-molecules-sidebar__link-icon neeto-molecules-sidebar__link-icon--caret\",\n {\n \"neeto-molecules-sidebar__link-icon--rotate\":\n isMenuExpanded,\n }\n )}\n >\n <Down size={16} />\n </span>\n )}\n </CheckPointNavLinks>\n {items && !isConfigureNavLink && isMenuExpanded && (\n <Items {...{ isCountsLoading, items, ...otherProps }} />\n )}\n </React.Fragment>\n );\n })}\n </div>\n );\n};\n\nexport default Links;\n","import React, { useEffect, useMemo, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent, isNotEmpty } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { findLast, is, not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation, useHistory } from \"react-router-dom\";\n\nimport Chevron from \"./Components/Chevron\";\nimport Header from \"./Components/Header\";\nimport Links from \"./Components/Links\";\nimport SelectedLink from \"./Components/Links/SelectedLink\";\nimport { SELECTED_NAV_LINK_ROUTE_STORAGE_KEY } from \"./constants\";\nimport \"./sidebar.scss\";\nimport { getSidebarStateLocalStorageKey } from \"./utils\";\n\nconst Sidebar = ({\n navLinks,\n customLogo,\n isCountsLoading = false,\n homePath = \"/\",\n}) => {\n const productName = globalProps.appName.substr(5).toLowerCase();\n const [isSidebarPaneOpen, setIsSidebarPaneOpen] = useState(false);\n const [selectedNavLinkRoute, setSelectedNavLinkRoute] = useLocalStorage(\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n null\n );\n\n const [isSidebarCollapsed, setIsSidebarCollapsed] = useLocalStorage(\n getSidebarStateLocalStorageKey(),\n false\n );\n\n const location = useLocation();\n const history = useHistory();\n const { t } = useTranslation();\n\n const isLargerScreen = () => window.innerWidth > 768;\n const isSidebarClosed = isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen);\n\n useEffect(() => {\n if (!isPresent(navLinks)) return;\n const currentLink = findLast(({ to, isActive }) => {\n const url = new URL(to, window.location.href);\n\n return is(Function, isActive)\n ? isActive()\n : location.pathname.includes(url.pathname);\n })(navLinks);\n\n if (isPresent(currentLink)) {\n setSelectedNavLinkRoute(\n currentLink.isConfigureNavLink ? currentLink.to : null\n );\n }\n }, []);\n\n useEffect(() => {\n const handleResize = () => {\n if (isLargerScreen()) return;\n setIsSidebarPaneOpen(false);\n setIsSidebarCollapsed(true);\n };\n window.addEventListener(\"resize\", handleResize);\n\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n const handleGoBack = event => {\n event.preventDefault();\n setSelectedNavLinkRoute(null);\n const settingsNavLink = navLinks.find(\n link => isPresent(link.isConfigureNavLink) && link.isConfigureNavLink\n );\n if (settingsNavLink.to) {\n history.push(buildUrl(settingsNavLink.to));\n }\n };\n\n const activeLink = useMemo(\n () =>\n navLinks.find(link => {\n if (is(Function, link.isActive)) return link.isActive();\n const url = new URL(link.to, window.location.href);\n\n return location.pathname.startsWith(url.pathname);\n }),\n [location.pathname, navLinks]\n );\n\n const isSelectedNavLinkVisible =\n selectedNavLinkRoute &&\n activeLink?.to === selectedNavLinkRoute &&\n isNotEmpty(navLinks);\n\n return (\n <div\n data-testid=\"sidebar-container\"\n className={classnames(\"neeto-molecules-sidebar__wrapper\", {\n \"neeto-molecules-sidebar__wrapper--collapsed\": isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen),\n })}\n >\n <div\n className=\"neeto-molecules-sidebar__backdrop\"\n onClick={() => {\n setIsSidebarPaneOpen(false);\n setSelectedNavLinkRoute(null);\n }}\n />\n <div\n data-cy=\"sidebar-wrapper\"\n data-testid=\"sidebar\"\n className={classnames(\n \"neeto-molecules-sidebar neeto-ui-flex neeto-ui-flex-col neeto-ui-flex-shrink-0 neeto-ui-overflow-y-auto neeto-ui-overflow-x-hidden\",\n {\n \"neeto-molecules-sidebar--focus-mode\":\n isPresent(selectedNavLinkRoute),\n }\n )}\n >\n <Header\n {...{ customLogo, homePath }}\n clearSettingsNav={() => setSelectedNavLinkRoute(null)}\n />\n {isSelectedNavLinkVisible ? (\n <SelectedLink {...{ handleGoBack }} navLink={activeLink} />\n ) : (\n <Links {...{ isCountsLoading, navLinks, setSelectedNavLinkRoute }} />\n )}\n </div>\n <Button\n className=\"neeto-molecules-sidebar__toggler\"\n data-cy=\"neeto-molecules-sidebar-toggler\"\n data-testid=\"sidebar-toggleButton\"\n style={isLargerScreen() ? \"text\" : \"secondary\"}\n icon={() => (\n <Chevron\n style={{ color: `rgb(var(--neeto-${productName}-primary))` }}\n />\n )}\n tooltipProps={{\n content: isSidebarClosed\n ? t(\"neetoMolecules.sidebar.showMenu\")\n : t(\"neetoMolecules.sidebar.hideMenu\"),\n position: \"bottom\",\n }}\n onClick={() => {\n setIsSidebarCollapsed(!isSidebarCollapsed);\n setIsSidebarPaneOpen(not);\n }}\n />\n </div>\n );\n};\n\nSidebar.propTypes = {\n /**\n * To specify the navlinks to be shown in sidebar.\n */\n navLinks: PropTypes.arrayOf(\n PropTypes.shape({\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n label: PropTypes.string,\n to: PropTypes.string,\n isActive: PropTypes.func,\n checkpointKey: PropTypes.string,\n isCountsLoading: PropTypes.bool,\n items: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n to: PropTypes.string,\n count: PropTypes.number,\n isActive: PropTypes.func,\n type: PropTypes.string,\n filters: PropTypes.array,\n checkpointKey: PropTypes.string,\n })\n ),\n })\n ),\n /**\n * To override the logo displayed on the sidebar.\n */\n customLogo: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n /**\n * Boolean to notate whether the counts are being fetched.\n */\n isCountsLoading: PropTypes.bool,\n};\n\nexport default Sidebar;\n"],"names":["Header","_ref","_ProductTypefaceLogos","customLogo","clearSettingsNav","homePath","productName","globalProps","appName","substr","logoName","concat","capitalize","toLowerCase","ProductTypefaceLogo","ProductTypefaceLogos","Neeto","LogoComponent","_useFetchNeetoApps","useFetchNeetoApps","data","appHomePath","neetoApps","thisApp","findBy","name","url","URL","pathname","React","createElement","className","Link","to","onClick","memo","Links","navLinks","isCountsLoadingDeprecated","isCountsLoading","setSelectedNavLinkRoute","location","useLocation","_useState","useState","_useState2","_slicedToArray","isActiveLinkExpanded","setIsActiveLinkExpanded","handleNavLinkClick","_ref2","event","isActive","items","navLink","isNotPresent","isConfigureNavLink","isNotEmpty","not","preventDefault","filter","filterByPermissions","map","index","label","icon","_navLink$isCountsLoad","otherProps","_objectWithoutProperties","_excluded","IconSVG","window","href","is","Function","startsWith","isMenuExpanded","Fragment","key","CheckPointNavLinks","_extends","activeClassName","hyphenate","_objectSpread","Typography","component","style","weight","classnames","Down","size","Items","Sidebar","_ref$isCountsLoading","_ref$homePath","isSidebarPaneOpen","setIsSidebarPaneOpen","_useLocalStorage","useLocalStorage","SELECTED_NAV_LINK_ROUTE_STORAGE_KEY","_useLocalStorage2","selectedNavLinkRoute","_useLocalStorage3","getSidebarStateLocalStorageKey","_useLocalStorage4","isSidebarCollapsed","setIsSidebarCollapsed","history","useHistory","_useTranslation","useTranslation","t","isLargerScreen","innerWidth","isSidebarClosed","useEffect","isPresent","currentLink","findLast","includes","handleResize","addEventListener","removeEventListener","handleGoBack","settingsNavLink","find","link","push","buildUrl","activeLink","useMemo","isSelectedNavLinkVisible","SelectedLink","Button","Chevron","color","tooltipProps","content","position"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-molecules",
3
- "version": "1.15.64",
3
+ "version": "1.15.66",
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>",
@@ -208,6 +208,7 @@
208
208
  "cname": "CNAME",
209
209
  "domainValidationCname": "domain validation CNAME",
210
210
  "label": "Domain",
211
+ "learnMoreMessage": "Learn about <button>how to setup custom domains</button>",
211
212
  "validation": {
212
213
  "buttonLabel": {
213
214
  "domain": "Validate domain",
@@ -785,7 +786,9 @@
785
786
  },
786
787
  "shareRecording": {
787
788
  "title": "Share recording",
788
- "checkboxLabel": "Start playback at"
789
+ "checkboxLabel": "Start playback at",
790
+ "tooltipContent": "Copy link",
791
+ "successTooltipContent": "Link copied"
789
792
  }
790
793
  }
791
794
  }
@@ -44,5 +44,6 @@ const Sidebar: React.FC<{
44
44
  navLinks?: NavLinkItemType[];
45
45
  customLogo?: any;
46
46
  isCountsLoading?: boolean;
47
+ homePath?: string;
47
48
  }>;
48
49
  export default Sidebar;