@bigbinary/neeto-molecules 4.0.126 → 4.0.128
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{Chevron-Dtxc2piW.js → Chevron-Cat_oK6Q.js} +14 -10
- package/dist/Chevron-Cat_oK6Q.js.map +1 -0
- package/dist/ConfigurePageSidebar.js +2 -1
- package/dist/ConfigurePageSidebar.js.map +1 -1
- package/dist/FinderModal.js +2 -3
- package/dist/FinderModal.js.map +1 -1
- package/dist/Sidebar.js +20 -15
- package/dist/Sidebar.js.map +1 -1
- package/dist/cjs/{Chevron-DzdbGPJI.js → Chevron-ChTcXDNM.js} +14 -10
- package/dist/cjs/Chevron-ChTcXDNM.js.map +1 -0
- package/dist/cjs/ConfigurePageSidebar.js +2 -1
- package/dist/cjs/ConfigurePageSidebar.js.map +1 -1
- package/dist/cjs/FinderModal.js +2 -3
- package/dist/cjs/FinderModal.js.map +1 -1
- package/dist/cjs/Sidebar.js +20 -15
- package/dist/cjs/Sidebar.js.map +1 -1
- package/package.json +1 -1
- package/dist/Chevron-Dtxc2piW.js.map +0 -1
- package/dist/cjs/Chevron-DzdbGPJI.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FinderModal.js","sources":["../../src/components/FinderModal/Link.jsx","../../src/components/FinderModal/utils.jsx","../../src/components/FinderModal/Body.jsx","../../src/components/FinderModal/Footer.jsx","../../src/components/FinderModal/Header.jsx","../../src/components/FinderModal/index.jsx"],"sourcesContent":["import { Link as RRDLink } from \"react-router-dom\";\n\nconst Link = ({ to, children, ...rest }) => {\n const url = new URL(to);\n url.host = \"\";\n\n return (\n <RRDLink {...rest} to={`${url.pathname}${url.search}`}>\n {children}\n </RRDLink>\n );\n};\n\nexport default Link;\n","import React from \"react\";\n\nexport const minMax = (number, max = Number.POSITIVE_INFINITY, min = 0) =>\n Math.min(max, Math.max(min, number));\n\nexport const htmlToText = html => {\n if (!html) return null;\n\n const tmp = document.createElement(\"div\");\n tmp.innerHTML = html;\n\n return tmp.textContent || tmp.innerText || \"\";\n};\n\nexport const highlightMatch = (text, searchTerm) => {\n if (!searchTerm) return text;\n\n const regex = new RegExp(`(${searchTerm})`, \"gi\");\n\n return text.split(regex).map((part, index) =>\n part?.toLowerCase() === searchTerm.toLowerCase() ? (\n <span className=\"neeto-molecules-finder-matched-tag\" key={index}>\n {part}\n </span>\n ) : (\n part\n )\n );\n};\n\nexport const filterAndHighlightContent = (bodyContent, searchTerm) => {\n if (!searchTerm) return bodyContent;\n\n if (!bodyContent) return null;\n\n return bodyContent\n .split(/(.{1,130}(?:\\s|$))/g)\n .filter(line => line.trim())\n .filter(line => line.toLowerCase().includes(searchTerm.toLowerCase()))\n .map((line, index) => (\n <React.Fragment key={index}>\n {highlightMatch(line, searchTerm)}\n <br />\n </React.Fragment>\n ));\n};\n\nexport const flattenData = data => {\n if (!data) return [];\n\n if (Array.isArray(data)) return data;\n\n const result = [];\n Object.keys(data).forEach(key => {\n data[key].forEach(item => {\n result.push({ ...item, category: key });\n });\n });\n\n return result;\n};\n\nexport const createStylePalette = values => {\n const assignedStyles = {};\n let styleIndex = 0;\n\n return key => {\n if (assignedStyles[key]) return assignedStyles[key];\n const style = values[styleIndex];\n styleIndex = (styleIndex + 1) % values.length;\n assignedStyles[key] = style;\n\n return style;\n };\n};\n","import classNames from \"classnames\";\nimport { humanize, isNotPresent } from \"neetocist\";\nimport { Modal, Typography, NoData, Tag } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Link from \"./Link\";\nimport {\n htmlToText,\n highlightMatch,\n filterAndHighlightContent,\n flattenData,\n createStylePalette,\n} from \"./utils\";\n\nconst getStyle = createStylePalette([\n \"primary\",\n \"info\",\n \"success\",\n \"secondary\",\n \"warning\",\n]);\n\nconst ModalBody = ({\n containerRef,\n data,\n iconComponentMap,\n onClose,\n loading,\n searchTerm,\n}) => {\n const { t } = useTranslation();\n\n const flattenedData = flattenData(data);\n const isDataEmpty = isNotPresent(flattenedData);\n\n if (isDataEmpty && !loading) {\n return (\n <Modal.Body className=\"neeto-molecules-finder-modal__body flex h-96 items-center justify-center overflow-y-auto px-4 py-6\">\n <NoData\n description={t(\"neetoMolecules.finderModal.noDataDesc\")}\n title={t(\"neetoMolecules.finderModal.noDataTitle\")}\n />\n </Modal.Body>\n );\n }\n\n return (\n <Modal.Body className=\"neeto-molecules-finder-modal__body h-96 overflow-y-auto px-4 py-6\">\n <div className=\"flex flex-col gap-y-2\" ref={containerRef}>\n {flattenedData.map(item => {\n if (isNotPresent(item.category)) return null;\n\n const Icon =\n iconComponentMap[item.category] || iconComponentMap.default;\n\n const nameContent = htmlToText(item.name);\n const bodyContent = htmlToText(item.body);\n\n const filteredBodyContent = filterAndHighlightContent(\n bodyContent,\n searchTerm\n );\n\n return (\n <Link\n className=\"neeto-molecules-search-result-item hover:neeto-ui-bg-accent-100 focus:neeto-ui-bg-accent-100 neeto-ui-rounded flex w-full cursor-pointer items-center gap-2 p-2 text-xs\"\n key={item.id}\n to={item.url}\n onClick={onClose}\n >\n <Icon className=\"neeto-ui-text-gray-500 min-w-fit\" size={16} />\n <div className=\"line-clamp-1 flex flex-col\">\n <div className=\"flex items-center gap-2\">\n {nameContent && (\n <Typography className=\"neeto-ui-text-black text-sm font-medium\">\n {highlightMatch(nameContent, searchTerm)}\n </Typography>\n )}\n <Tag size=\"small\" style={getStyle(item.category)}>\n {humanize(item.category)}\n </Tag>\n </div>\n {bodyContent && (\n <Typography\n className={classNames(\"truncate\", {\n \"neeto-ui-text-gray-600 text-xs\": nameContent,\n \"neeto-ui-text-black text-sm font-medium\": !nameContent,\n })}\n >\n {filteredBodyContent || bodyContent}\n </Typography>\n )}\n </div>\n </Link>\n );\n })}\n </div>\n </Modal.Body>\n );\n};\n\nexport default ModalBody;\n","import { Down, Up } from \"neetoicons\";\nimport { Modal, Typography } from \"neetoui\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ModalFooter = ({ enableAdvancedSearch }) => {\n const { t } = useTranslation();\n\n const shortcuts = [\n {\n label: t(\"neetoMolecules.finderModal.advancedSearch\"),\n keys: [\"Cmd/Ctrl\", \"Return\"],\n isVisible: enableAdvancedSearch,\n },\n {\n label: t(\"neetoMolecules.common.actions.open\"),\n keys: [\"Return\"],\n isVisible: true,\n },\n {\n label: t(\"neetoMolecules.common.actions.move\"),\n keys: [\n <Up className=\"neeto-ui-text-gray-800\" key=\"up\" size={12} />,\n <Down className=\"neeto-ui-text-gray-800\" key=\"down\" size={12} />,\n ],\n isVisible: true,\n },\n {\n label: t(\"neetoMolecules.common.actions.close\"),\n keys: [\"Esc\"],\n isVisible: true,\n },\n ];\n\n return (\n <Modal.Footer className=\"neeto-ui-border-gray-300 neeto-molecules-finder-modal__footer border-t px-4 py-3\">\n <div className=\"neeto-ui-text-xxs flex items-center justify-end gap-4\">\n {shortcuts.filter(prop(\"isVisible\")).map(({ label, keys }, index) => (\n <div className=\"flex items-center gap-1\" key={index}>\n <Typography component=\"span\" style=\"nano\">\n {label}\n </Typography>\n {keys.map((key, index) => (\n <Typography\n className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-sm p-1\"\n component=\"span\"\n key={index}\n style=\"nano\"\n >\n {key}\n </Typography>\n ))}\n </div>\n ))}\n </div>\n </Modal.Footer>\n );\n};\n\nexport default ModalFooter;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Button, Modal, Spinner } from \"neetoui\";\n\nimport Search from \"components/Search\";\n\nconst ModalHeader = withT(\n ({ t, enableAdvancedSearch, loading, onSearch, onGoToAdvanced }) => (\n <Modal.Header className=\"neeto-molecules-finder-modal__header neeto-ui-border-gray-200 border-b px-0 py-0\">\n <Search\n {...{ onSearch }}\n nakedInput\n autoComplete=\"off\"\n className=\"neeto-molecules-finder-modal__search px-3 py-1.5\"\n name=\"term\"\n placeholder={t(\"neetoMolecules.common.actions.search\")}\n suffix={\n <div className=\"ms-3 flex items-center\">\n <div className=\"h-4 w-4 flex-shrink-0\">\n {loading && <Spinner size=\"small\" />}\n </div>\n {enableAdvancedSearch && (\n <Button\n className=\"ms-3 whitespace-nowrap\"\n label={t(\"neetoMolecules.finderModal.advancedSearch\")}\n size=\"small\"\n style=\"secondary\"\n onClick={onGoToAdvanced}\n />\n )}\n </div>\n }\n />\n </Modal.Header>\n )\n);\n\nexport default ModalHeader;\n","import { useRef } from \"react\";\n\nimport { noop } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Modal } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\n\nimport ModalBody from \"./Body\";\nimport \"./finder-modal.scss\";\nimport ModalFooter from \"./Footer\";\nimport ModalHeader from \"./Header\";\nimport { minMax } from \"./utils\";\n\nconst FinderModal = ({\n enableAdvancedSearch = true,\n data,\n iconComponentMap,\n isFetching,\n isOpen,\n searchTerm,\n setSearchTerm,\n onClose,\n onGoToAdvanced = noop,\n ...props\n}) => {\n const containerRef = useRef();\n const mutables = useRef({ focusIndex: -1 }).current;\n\n const onFocusChange = offset => {\n const container = containerRef.current;\n if (!container) return;\n\n const nodes = container.querySelectorAll(\n \"a.neeto-molecules-search-result-item\"\n );\n\n if (isEmpty(nodes)) return;\n\n mutables.focusIndex = minMax(\n mutables.focusIndex + offset,\n nodes.length - 1\n );\n\n const targetNode = nodes[mutables.focusIndex];\n if (targetNode) {\n targetNode.focus();\n }\n };\n\n useHotkeys(\n [\"up\", \"down\"],\n event => {\n event.preventDefault();\n if (event.code === \"ArrowUp\") onFocusChange(-1);\n else if (event.code === \"ArrowDown\") onFocusChange(1);\n },\n { mode: \"global\", enabled: isOpen }\n );\n\n useHotkeys([\"ctrl+enter\", \"command+enter\"], onGoToAdvanced, {\n mode: \"global\",\n enabled: isOpen && enableAdvancedSearch,\n });\n\n return (\n <Modal\n {...{ isOpen, onClose }}\n closeButton={false}\n {...props}\n backdropClassName=\"neeto-molecules-finder-modal-backdrop py-10 px-4\"\n className=\"neeto-molecules-finder-modal\"\n >\n <ModalHeader\n {...{ enableAdvancedSearch, onGoToAdvanced }}\n loading={isFetching}\n onSearch={setSearchTerm}\n />\n <ModalBody\n {...{ containerRef, data, iconComponentMap, onClose, searchTerm }}\n loading={isFetching}\n />\n <ModalFooter {...{ enableAdvancedSearch }} />\n </Modal>\n );\n};\n\nFinderModal.propTypes = {\n /*\n Boolean to indicate decide whether to show advanced search button or not\n */\n enableAdvancedSearch: PropTypes.bool,\n /*\n Data to be displayed in the modal. Can be an array of items with category property,\n or an object with category keys containing arrays of items.\n */\n data: PropTypes.oneOfType([\n PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n url: PropTypes.string,\n body: PropTypes.string,\n name: PropTypes.string,\n category: PropTypes.string,\n })\n ),\n PropTypes.objectOf(\n PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n url: PropTypes.string,\n body: PropTypes.string,\n name: PropTypes.string,\n })\n )\n ),\n ]),\n /*\n Icon component map to render icons for each section\n */\n iconComponentMap: PropTypes.objectOf(PropTypes.elementType),\n /*\n Boolean to indicate whether data is being fetched or not\n */\n isFetching: PropTypes.bool,\n /*\n Boolean to indicate whether modal is open or not\n */\n isOpen: PropTypes.bool,\n /*\n Term used for search\n */\n searchTerm: PropTypes.string,\n /*\n Function to set search term\n */\n setSearchTerm: PropTypes.func,\n /*\n Function to close the modal\n */\n onClose: PropTypes.func,\n /*\n Function to execute when user clicks on advanced search button\n */\n onGoToAdvanced: PropTypes.func,\n};\n\nexport default FinderModal;\n"],"names":["Link","_ref","to","children","rest","_objectWithoutProperties","_excluded","url","URL","host","_jsx","RRDLink","_objectSpread","concat","pathname","search","minMax","number","max","arguments","length","undefined","Number","POSITIVE_INFINITY","min","Math","htmlToText","html","tmp","document","createElement","innerHTML","textContent","innerText","highlightMatch","text","searchTerm","regex","RegExp","split","map","part","index","toLowerCase","className","filterAndHighlightContent","bodyContent","filter","line","trim","includes","_jsxs","React","Fragment","flattenData","data","Array","isArray","result","Object","keys","forEach","key","item","push","category","createStylePalette","values","assignedStyles","styleIndex","style","getStyle","ModalBody","containerRef","iconComponentMap","onClose","loading","_useTranslation","useTranslation","t","flattenedData","isDataEmpty","isNotPresent","Modal","Body","NoData","description","title","ref","Icon","nameContent","name","body","filteredBodyContent","onClick","size","Typography","Tag","humanize","classNames","id","ModalFooter","enableAdvancedSearch","shortcuts","label","isVisible","Up","Down","Footer","prop","_ref2","component","ModalHeader","withT","onSearch","onGoToAdvanced","Header","Search","nakedInput","autoComplete","placeholder","suffix","Spinner","Button","FinderModal","_ref$enableAdvancedSe","isFetching","isOpen","setSearchTerm","_ref$onGoToAdvanced","noop","props","useRef","mutables","focusIndex","current","onFocusChange","offset","container","nodes","querySelectorAll","isEmpty","targetNode","focus","useHotkeys","event","preventDefault","code","mode","enabled","closeButton","backdropClassName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FinderModal.js","sources":["../../src/components/FinderModal/Link.jsx","../../src/components/FinderModal/utils.jsx","../../src/components/FinderModal/Body.jsx","../../src/components/FinderModal/Footer.jsx","../../src/components/FinderModal/Header.jsx","../../src/components/FinderModal/index.jsx"],"sourcesContent":["import { Link as RRDLink } from \"react-router-dom\";\n\nconst Link = ({ to, children, ...rest }) => {\n const url = new URL(to);\n url.host = \"\";\n\n return (\n <RRDLink {...rest} to={`${url.pathname}${url.search}`}>\n {children}\n </RRDLink>\n );\n};\n\nexport default Link;\n","import React from \"react\";\n\nexport const minMax = (number, max = Number.POSITIVE_INFINITY, min = 0) =>\n Math.min(max, Math.max(min, number));\n\nexport const htmlToText = html => {\n if (!html) return null;\n\n const tmp = document.createElement(\"div\");\n tmp.innerHTML = html;\n\n return tmp.textContent || tmp.innerText || \"\";\n};\n\nexport const highlightMatch = (text, searchTerm) => {\n if (!searchTerm) return text;\n\n const regex = new RegExp(`(${searchTerm})`, \"gi\");\n\n return text.split(regex).map((part, index) =>\n part?.toLowerCase() === searchTerm.toLowerCase() ? (\n <span className=\"neeto-molecules-finder-matched-tag\" key={index}>\n {part}\n </span>\n ) : (\n part\n )\n );\n};\n\nexport const filterAndHighlightContent = (bodyContent, searchTerm) => {\n if (!searchTerm) return bodyContent;\n\n if (!bodyContent) return null;\n\n return bodyContent\n .split(/(.{1,130}(?:\\s|$))/g)\n .filter(line => line.trim())\n .filter(line => line.toLowerCase().includes(searchTerm.toLowerCase()))\n .map((line, index) => (\n <React.Fragment key={index}>\n {highlightMatch(line, searchTerm)}\n <br />\n </React.Fragment>\n ));\n};\n\nexport const flattenData = data => {\n if (!data) return [];\n\n if (Array.isArray(data)) return data;\n\n const result = [];\n Object.keys(data).forEach(key => {\n data[key].forEach(item => {\n result.push({ ...item, category: key });\n });\n });\n\n return result;\n};\n\nexport const createStylePalette = values => {\n const assignedStyles = {};\n let styleIndex = 0;\n\n return key => {\n if (assignedStyles[key]) return assignedStyles[key];\n const style = values[styleIndex];\n styleIndex = (styleIndex + 1) % values.length;\n assignedStyles[key] = style;\n\n return style;\n };\n};\n","import classNames from \"classnames\";\nimport { humanize, isNotPresent } from \"neetocist\";\nimport { Modal, Typography, NoData, Tag } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Link from \"./Link\";\nimport {\n htmlToText,\n highlightMatch,\n filterAndHighlightContent,\n flattenData,\n createStylePalette,\n} from \"./utils\";\n\nconst getStyle = createStylePalette([\n \"primary\",\n \"info\",\n \"success\",\n \"secondary\",\n \"warning\",\n]);\n\nconst ModalBody = ({\n containerRef,\n data,\n iconComponentMap,\n onClose,\n loading,\n searchTerm,\n}) => {\n const { t } = useTranslation();\n\n const flattenedData = flattenData(data);\n const isDataEmpty = isNotPresent(flattenedData);\n\n if (isDataEmpty && !loading) {\n return (\n <Modal.Body className=\"neeto-molecules-finder-modal__body flex h-96 items-center justify-center overflow-y-auto px-4 py-6\">\n <NoData\n description={t(\"neetoMolecules.finderModal.noDataDesc\")}\n title={t(\"neetoMolecules.finderModal.noDataTitle\")}\n />\n </Modal.Body>\n );\n }\n\n return (\n <Modal.Body className=\"neeto-molecules-finder-modal__body h-96 overflow-y-auto px-4 py-6\">\n <div className=\"flex flex-col gap-y-2\" ref={containerRef}>\n {flattenedData.map(item => {\n const Icon =\n (item.category && iconComponentMap[item.category]) ||\n iconComponentMap.default;\n\n const nameContent = htmlToText(item.name);\n const bodyContent = htmlToText(item.body);\n\n const filteredBodyContent = filterAndHighlightContent(\n bodyContent,\n searchTerm\n );\n\n return (\n <Link\n className=\"neeto-molecules-search-result-item hover:neeto-ui-bg-accent-100 focus:neeto-ui-bg-accent-100 neeto-ui-rounded flex w-full cursor-pointer items-center gap-2 p-2 text-xs\"\n key={item.id}\n to={item.url}\n onClick={onClose}\n >\n <Icon className=\"neeto-ui-text-gray-500 min-w-fit\" size={16} />\n <div className=\"line-clamp-1 flex flex-col\">\n <div className=\"flex items-center gap-2\">\n {nameContent && (\n <Typography className=\"neeto-ui-text-black text-sm font-medium\">\n {highlightMatch(nameContent, searchTerm)}\n </Typography>\n )}\n {item.category && (\n <Tag size=\"small\" style={getStyle(item.category)}>\n {humanize(item.category)}\n </Tag>\n )}\n </div>\n {bodyContent && (\n <Typography\n className={classNames(\"truncate\", {\n \"neeto-ui-text-gray-600 text-xs\": nameContent,\n \"neeto-ui-text-black text-sm font-medium\": !nameContent,\n })}\n >\n {filteredBodyContent || bodyContent}\n </Typography>\n )}\n </div>\n </Link>\n );\n })}\n </div>\n </Modal.Body>\n );\n};\n\nexport default ModalBody;\n","import { Down, Up } from \"neetoicons\";\nimport { Modal, Typography } from \"neetoui\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ModalFooter = ({ enableAdvancedSearch }) => {\n const { t } = useTranslation();\n\n const shortcuts = [\n {\n label: t(\"neetoMolecules.finderModal.advancedSearch\"),\n keys: [\"Cmd/Ctrl\", \"Return\"],\n isVisible: enableAdvancedSearch,\n },\n {\n label: t(\"neetoMolecules.common.actions.open\"),\n keys: [\"Return\"],\n isVisible: true,\n },\n {\n label: t(\"neetoMolecules.common.actions.move\"),\n keys: [\n <Up className=\"neeto-ui-text-gray-800\" key=\"up\" size={12} />,\n <Down className=\"neeto-ui-text-gray-800\" key=\"down\" size={12} />,\n ],\n isVisible: true,\n },\n {\n label: t(\"neetoMolecules.common.actions.close\"),\n keys: [\"Esc\"],\n isVisible: true,\n },\n ];\n\n return (\n <Modal.Footer className=\"neeto-ui-border-gray-300 neeto-molecules-finder-modal__footer border-t px-4 py-3\">\n <div className=\"neeto-ui-text-xxs flex items-center justify-end gap-4\">\n {shortcuts.filter(prop(\"isVisible\")).map(({ label, keys }, index) => (\n <div className=\"flex items-center gap-1\" key={index}>\n <Typography component=\"span\" style=\"nano\">\n {label}\n </Typography>\n {keys.map((key, index) => (\n <Typography\n className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-sm p-1\"\n component=\"span\"\n key={index}\n style=\"nano\"\n >\n {key}\n </Typography>\n ))}\n </div>\n ))}\n </div>\n </Modal.Footer>\n );\n};\n\nexport default ModalFooter;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Button, Modal, Spinner } from \"neetoui\";\n\nimport Search from \"components/Search\";\n\nconst ModalHeader = withT(\n ({ t, enableAdvancedSearch, loading, onSearch, onGoToAdvanced }) => (\n <Modal.Header className=\"neeto-molecules-finder-modal__header neeto-ui-border-gray-200 border-b px-0 py-0\">\n <Search\n {...{ onSearch }}\n nakedInput\n autoComplete=\"off\"\n className=\"neeto-molecules-finder-modal__search px-3 py-1.5\"\n name=\"term\"\n placeholder={t(\"neetoMolecules.common.actions.search\")}\n suffix={\n <div className=\"ms-3 flex items-center\">\n <div className=\"h-4 w-4 flex-shrink-0\">\n {loading && <Spinner size=\"small\" />}\n </div>\n {enableAdvancedSearch && (\n <Button\n className=\"ms-3 whitespace-nowrap\"\n label={t(\"neetoMolecules.finderModal.advancedSearch\")}\n size=\"small\"\n style=\"secondary\"\n onClick={onGoToAdvanced}\n />\n )}\n </div>\n }\n />\n </Modal.Header>\n )\n);\n\nexport default ModalHeader;\n","import { useRef } from \"react\";\n\nimport { noop } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Modal } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\n\nimport ModalBody from \"./Body\";\nimport \"./finder-modal.scss\";\nimport ModalFooter from \"./Footer\";\nimport ModalHeader from \"./Header\";\nimport { minMax } from \"./utils\";\n\nconst FinderModal = ({\n enableAdvancedSearch = true,\n data,\n iconComponentMap,\n isFetching,\n isOpen,\n searchTerm,\n setSearchTerm,\n onClose,\n onGoToAdvanced = noop,\n ...props\n}) => {\n const containerRef = useRef();\n const mutables = useRef({ focusIndex: -1 }).current;\n\n const onFocusChange = offset => {\n const container = containerRef.current;\n if (!container) return;\n\n const nodes = container.querySelectorAll(\n \"a.neeto-molecules-search-result-item\"\n );\n\n if (isEmpty(nodes)) return;\n\n mutables.focusIndex = minMax(\n mutables.focusIndex + offset,\n nodes.length - 1\n );\n\n const targetNode = nodes[mutables.focusIndex];\n if (targetNode) {\n targetNode.focus();\n }\n };\n\n useHotkeys(\n [\"up\", \"down\"],\n event => {\n event.preventDefault();\n if (event.code === \"ArrowUp\") onFocusChange(-1);\n else if (event.code === \"ArrowDown\") onFocusChange(1);\n },\n { mode: \"global\", enabled: isOpen }\n );\n\n useHotkeys([\"ctrl+enter\", \"command+enter\"], onGoToAdvanced, {\n mode: \"global\",\n enabled: isOpen && enableAdvancedSearch,\n });\n\n return (\n <Modal\n {...{ isOpen, onClose }}\n closeButton={false}\n {...props}\n backdropClassName=\"neeto-molecules-finder-modal-backdrop py-10 px-4\"\n className=\"neeto-molecules-finder-modal\"\n >\n <ModalHeader\n {...{ enableAdvancedSearch, onGoToAdvanced }}\n loading={isFetching}\n onSearch={setSearchTerm}\n />\n <ModalBody\n {...{ containerRef, data, iconComponentMap, onClose, searchTerm }}\n loading={isFetching}\n />\n <ModalFooter {...{ enableAdvancedSearch }} />\n </Modal>\n );\n};\n\nFinderModal.propTypes = {\n /*\n Boolean to indicate decide whether to show advanced search button or not\n */\n enableAdvancedSearch: PropTypes.bool,\n /*\n Data to be displayed in the modal. Can be an array of items with category property,\n or an object with category keys containing arrays of items.\n */\n data: PropTypes.oneOfType([\n PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n url: PropTypes.string,\n body: PropTypes.string,\n name: PropTypes.string,\n category: PropTypes.string,\n })\n ),\n PropTypes.objectOf(\n PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n url: PropTypes.string,\n body: PropTypes.string,\n name: PropTypes.string,\n })\n )\n ),\n ]),\n /*\n Icon component map to render icons for each section\n */\n iconComponentMap: PropTypes.objectOf(PropTypes.elementType),\n /*\n Boolean to indicate whether data is being fetched or not\n */\n isFetching: PropTypes.bool,\n /*\n Boolean to indicate whether modal is open or not\n */\n isOpen: PropTypes.bool,\n /*\n Term used for search\n */\n searchTerm: PropTypes.string,\n /*\n Function to set search term\n */\n setSearchTerm: PropTypes.func,\n /*\n Function to close the modal\n */\n onClose: PropTypes.func,\n /*\n Function to execute when user clicks on advanced search button\n */\n onGoToAdvanced: PropTypes.func,\n};\n\nexport default FinderModal;\n"],"names":["Link","_ref","to","children","rest","_objectWithoutProperties","_excluded","url","URL","host","_jsx","RRDLink","_objectSpread","concat","pathname","search","minMax","number","max","arguments","length","undefined","Number","POSITIVE_INFINITY","min","Math","htmlToText","html","tmp","document","createElement","innerHTML","textContent","innerText","highlightMatch","text","searchTerm","regex","RegExp","split","map","part","index","toLowerCase","className","filterAndHighlightContent","bodyContent","filter","line","trim","includes","_jsxs","React","Fragment","flattenData","data","Array","isArray","result","Object","keys","forEach","key","item","push","category","createStylePalette","values","assignedStyles","styleIndex","style","getStyle","ModalBody","containerRef","iconComponentMap","onClose","loading","_useTranslation","useTranslation","t","flattenedData","isDataEmpty","isNotPresent","Modal","Body","NoData","description","title","ref","Icon","nameContent","name","body","filteredBodyContent","onClick","size","Typography","Tag","humanize","classNames","id","ModalFooter","enableAdvancedSearch","shortcuts","label","isVisible","Up","Down","Footer","prop","_ref2","component","ModalHeader","withT","onSearch","onGoToAdvanced","Header","Search","nakedInput","autoComplete","placeholder","suffix","Spinner","Button","FinderModal","_ref$enableAdvancedSe","isFetching","isOpen","setSearchTerm","_ref$onGoToAdvanced","noop","props","useRef","mutables","focusIndex","current","onFocusChange","offset","container","nodes","querySelectorAll","isEmpty","targetNode","focus","useHotkeys","event","preventDefault","code","mode","enabled","closeButton","backdropClassName"],"mappings":"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"}
|
package/dist/cjs/Sidebar.js
CHANGED
|
@@ -11,7 +11,7 @@ var Typography = require('@bigbinary/neetoui/Typography');
|
|
|
11
11
|
var ramda = require('ramda');
|
|
12
12
|
var reactI18next = require('react-i18next');
|
|
13
13
|
var reactRouterDom = require('react-router-dom');
|
|
14
|
-
var Chevron = require('./Chevron-
|
|
14
|
+
var Chevron = require('./Chevron-ChTcXDNM.js');
|
|
15
15
|
var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
|
|
16
16
|
var Neeto = require('@bigbinary/neeto-icons/typeface-logos/Neeto');
|
|
17
17
|
var AppIcons = require('@bigbinary/neeto-icons/typeface-logos');
|
|
@@ -20,6 +20,7 @@ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
|
20
20
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
21
21
|
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
22
22
|
var Right = require('@bigbinary/neeto-icons/Right');
|
|
23
|
+
var Tag = require('@bigbinary/neetoui/Tag');
|
|
23
24
|
var Plus = require('@bigbinary/neeto-icons/Plus');
|
|
24
25
|
var Dropdown = require('@bigbinary/neetoui/Dropdown');
|
|
25
26
|
var MenuHorizontal = require('@bigbinary/neeto-icons/MenuHorizontal');
|
|
@@ -118,12 +119,12 @@ var AddDropdown = function AddDropdown(_ref) {
|
|
|
118
119
|
});
|
|
119
120
|
};
|
|
120
121
|
|
|
121
|
-
function ownKeys$
|
|
122
|
-
function _objectSpread$
|
|
122
|
+
function ownKeys$3(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
123
|
+
function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
123
124
|
var PinIcon = function PinIcon(_ref) {
|
|
124
125
|
var size = _ref.size,
|
|
125
126
|
otherProps = _ref.otherProps;
|
|
126
|
-
return /*#__PURE__*/jsxRuntime.jsx("svg", _objectSpread$
|
|
127
|
+
return /*#__PURE__*/jsxRuntime.jsx("svg", _objectSpread$3(_objectSpread$3({
|
|
127
128
|
fill: "currentColor",
|
|
128
129
|
height: size,
|
|
129
130
|
viewBox: "0 -960 960 960",
|
|
@@ -136,12 +137,12 @@ var PinIcon = function PinIcon(_ref) {
|
|
|
136
137
|
}));
|
|
137
138
|
};
|
|
138
139
|
|
|
139
|
-
function ownKeys$
|
|
140
|
-
function _objectSpread$
|
|
140
|
+
function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
141
|
+
function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
141
142
|
var UnpinIcon = function UnpinIcon(_ref) {
|
|
142
143
|
var size = _ref.size,
|
|
143
144
|
otherProps = _ref.otherProps;
|
|
144
|
-
return /*#__PURE__*/jsxRuntime.jsx("svg", _objectSpread$
|
|
145
|
+
return /*#__PURE__*/jsxRuntime.jsx("svg", _objectSpread$2(_objectSpread$2({
|
|
145
146
|
fill: "currentColor",
|
|
146
147
|
height: size,
|
|
147
148
|
viewBox: "0 -960 960 960",
|
|
@@ -154,7 +155,9 @@ var UnpinIcon = function UnpinIcon(_ref) {
|
|
|
154
155
|
}));
|
|
155
156
|
};
|
|
156
157
|
|
|
157
|
-
var _excluded$1 = ["label", "icon", "key", "to", "onClick"];
|
|
158
|
+
var _excluded$1 = ["label", "icon", "key", "to", "onClick", "tag"];
|
|
159
|
+
function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
160
|
+
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
158
161
|
var MoreDropdown = function MoreDropdown(_ref) {
|
|
159
162
|
var moreNavLinks = _ref.moreNavLinks,
|
|
160
163
|
isNavLinkPinned = _ref.isNavLinkPinned,
|
|
@@ -212,6 +215,7 @@ var MoreDropdown = function MoreDropdown(_ref) {
|
|
|
212
215
|
navLinkKey = navLink.key,
|
|
213
216
|
to = navLink.to,
|
|
214
217
|
onClick = navLink.onClick,
|
|
218
|
+
tag = navLink.tag,
|
|
215
219
|
otherProps = _objectWithoutProperties(navLink, _excluded$1);
|
|
216
220
|
var IconSVG = icon;
|
|
217
221
|
var isPinned = isNavLinkPinned(navLink);
|
|
@@ -232,11 +236,11 @@ var MoreDropdown = function MoreDropdown(_ref) {
|
|
|
232
236
|
children: [icon && /*#__PURE__*/jsxRuntime.jsx(IconSVG, {
|
|
233
237
|
className: "flex-shrink-0",
|
|
234
238
|
size: 20
|
|
235
|
-
}), /*#__PURE__*/jsxRuntime.
|
|
236
|
-
className: "min-w-0 flex-grow",
|
|
239
|
+
}), /*#__PURE__*/jsxRuntime.jsxs(Typography, {
|
|
240
|
+
className: "flex min-w-0 flex-grow items-center gap-2",
|
|
237
241
|
component: "span",
|
|
238
242
|
style: "body2",
|
|
239
|
-
children: label
|
|
243
|
+
children: [label, tag && /*#__PURE__*/jsxRuntime.jsx(Tag, _objectSpread$1({}, tag))]
|
|
240
244
|
})]
|
|
241
245
|
}), /*#__PURE__*/jsxRuntime.jsx(Button, {
|
|
242
246
|
className: "flex-shrink-0",
|
|
@@ -269,7 +273,7 @@ var MoreDropdown = function MoreDropdown(_ref) {
|
|
|
269
273
|
});
|
|
270
274
|
};
|
|
271
275
|
|
|
272
|
-
var _excluded = ["label", "to", "icon", "items", "isConfigureNavLink", "isCountsLoading", "count", "component", "onClick", "addActions"];
|
|
276
|
+
var _excluded = ["label", "to", "icon", "items", "isConfigureNavLink", "isCountsLoading", "count", "component", "onClick", "addActions", "tag"];
|
|
273
277
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
274
278
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
275
279
|
var renderCount = function renderCount(count) {
|
|
@@ -351,6 +355,7 @@ var Links = function Links(_ref) {
|
|
|
351
355
|
_onClick = navLink.onClick,
|
|
352
356
|
_navLink$addActions = navLink.addActions,
|
|
353
357
|
addActions = _navLink$addActions === void 0 ? [] : _navLink$addActions,
|
|
358
|
+
tag = navLink.tag,
|
|
354
359
|
otherProps = _objectWithoutProperties(navLink, _excluded);
|
|
355
360
|
var IconSVG = icon;
|
|
356
361
|
var url = new URL(to, window.location.href);
|
|
@@ -391,11 +396,11 @@ var Links = function Links(_ref) {
|
|
|
391
396
|
className: "neeto-molecules-sidebar__link-unread-count",
|
|
392
397
|
children: renderCount(count)
|
|
393
398
|
})]
|
|
394
|
-
}), /*#__PURE__*/jsxRuntime.
|
|
395
|
-
className: "neeto-molecules-sidebar__link-label neeto-ui-flex-grow flex items-center gap-
|
|
399
|
+
}), /*#__PURE__*/jsxRuntime.jsxs(Typography, {
|
|
400
|
+
className: "neeto-molecules-sidebar__link-label neeto-ui-flex-grow flex items-center gap-2",
|
|
396
401
|
component: "span",
|
|
397
402
|
style: "body2",
|
|
398
|
-
children: label
|
|
403
|
+
children: [label, tag && /*#__PURE__*/jsxRuntime.jsx(Tag, _objectSpread({}, tag))]
|
|
399
404
|
}), neetoCist.isNotEmpty(addActions) && /*#__PURE__*/jsxRuntime.jsx(AddDropdown, {
|
|
400
405
|
addActions: addActions
|
|
401
406
|
}), isExpandable && !isConfigureNavLink && /*#__PURE__*/jsxRuntime.jsx("span", {
|
package/dist/cjs/Sidebar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sidebar.js","sources":["../../src/components/Sidebar/Components/Header.jsx","../../src/components/Sidebar/Components/Links/AddDropdown.jsx","../../src/components/Sidebar/Components/Links/PinIcon.jsx","../../src/components/Sidebar/Components/Links/UnpinIcon.jsx","../../src/components/Sidebar/Components/Links/MoreDropdown.jsx","../../src/components/Sidebar/Components/Links/index.jsx","../../src/components/Sidebar/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { capitalize } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Neeto } from \"neetoicons/typeface-logos\";\nimport * as ProductTypefaceLogos from \"neetoicons/typeface-logos\";\nimport { Link } from \"react-router-dom\";\n\nimport { DEFAULT_HOME_PATH, SPECIAL_APP_NAMES } from \"../constants\";\n\nconst Header = ({ customLogo, clearSettingsNav }) => {\n const productName = globalProps.appName.substr(5);\n const normalizedName = (productName || \"\").trim().toLowerCase();\n const specialCase = SPECIAL_APP_NAMES[normalizedName];\n const logoName = specialCase\n ? `Neeto${specialCase}`\n : `Neeto${capitalize(normalizedName)}`;\n const ProductTypefaceLogo = ProductTypefaceLogos[logoName] ?? Neeto;\n const LogoComponent = customLogo ?? ProductTypefaceLogo;\n const isOnboarded = globalProps.user.isOnboarded !== false;\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 to={DEFAULT_HOME_PATH}\n className={classnames(\n \"neeto-molecules-sidebar__logo neeto-ui-w-full\",\n { \"cursor-pointer\": isOnboarded },\n { \"pointer-events-none\": !isOnboarded }\n )}\n onClick={clearSettingsNav}\n >\n <LogoComponent\n className={classnames({\n \"neeto-molecules-sidebar__logo\": !customLogo,\n })}\n />\n </Link>\n </div>\n );\n};\n\nexport default memo(Header);\n","import { Plus } from \"neetoicons\";\nimport { Dropdown } from \"neetoui\";\n\nconst AddDropdown = ({ addActions }) => (\n <Dropdown\n closeOnSelect\n position=\"bottom-end\"\n customTarget={() => (\n <span\n className=\"neeto-molecules-sidebar__link-icon neeto-molecules-sidebar__link-icon--caret\"\n data-testid=\"add-dropdown-trigger\"\n onClick={e => {\n e.preventDefault();\n e.stopPropagation();\n }}\n >\n <Plus size={16} />\n </span>\n )}\n >\n <Dropdown.Menu>\n {addActions.map(action => (\n <Dropdown.MenuItem.Button\n key={action.key}\n onClick={e => {\n e.preventDefault();\n action.onClick?.(e);\n }}\n >\n {action.label}\n </Dropdown.MenuItem.Button>\n ))}\n </Dropdown.Menu>\n </Dropdown>\n);\n\nexport default AddDropdown;\n","const PinIcon = ({ size, otherProps }) => (\n <svg\n fill=\"currentColor\"\n height={size}\n viewBox=\"0 -960 960 960\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...otherProps}\n >\n <path d=\"m640-480 80 80v80H520v240l-40 40-40-40v-240H240v-80l80-80v-280h-40v-80h400v80h-40zm-286 80h252l-46-46v-314H400v314zm126 0\" />\n </svg>\n);\n\nexport default PinIcon;\n","const UnpinIcon = ({ size, otherProps }) => (\n <svg\n fill=\"currentColor\"\n height={size}\n viewBox=\"0 -960 960 960\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...otherProps}\n >\n <path d=\"m640-480 80 80v80H520v240l-40 40-40-40v-240H240v-80l80-80v-280h-40v-80h400v80h-40z\" />\n </svg>\n);\n\nexport default UnpinIcon;\n","import { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { MenuHorizontal } from \"neetoicons\";\nimport { Typography, Dropdown, Button } from \"neetoui\";\nimport { is } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation } from \"react-router-dom\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink.jsx\";\nimport PinIcon from \"./PinIcon.jsx\";\nimport UnpinIcon from \"./UnpinIcon.jsx\";\n\nimport { filterByPermissions } from \"../../utils\";\n\nconst MoreDropdown = ({ moreNavLinks, isNavLinkPinned, handleTogglePin }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const [isOpen, setIsOpen] = useState(false);\n\n return (\n <Dropdown\n {...{ isOpen }}\n closeOnSelect\n appendTo={() => document.body}\n position=\"right\"\n strategy=\"fixed\"\n zIndex={99999}\n customTarget={() => (\n <div\n data-testid=\"more-nav-links-dropdown-button\"\n className={classnames(\n \"neeto-ui-flex neeto-ui-items-center neeto-ui-no-underline neeto-ui-select-none neeto-molecules-sidebar__link neeto-ui-w-full neeto-ui-cursor-pointer\",\n { \"neeto-molecules-sidebar__link--hover-active\": isOpen }\n )}\n onClick={() => setIsOpen(!isOpen)}\n >\n <span className=\"neeto-molecules-sidebar__link-icon\">\n <MenuHorizontal />\n </span>\n <Typography\n className=\"neeto-molecules-sidebar__link-label\"\n component=\"span\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.sidebar.more\")}\n </Typography>\n </div>\n )}\n onClickOutside={() => setIsOpen(false)}\n onClose={() => setIsOpen(false)}\n >\n <Dropdown.Menu\n className=\"p-0\"\n data-testid=\"more-nav-links-dropdown-menu\"\n position=\"right\"\n strategy=\"fixed\"\n >\n {moreNavLinks.filter(filterByPermissions).map((navLink, index) => {\n const {\n label,\n icon,\n key: navLinkKey,\n to,\n onClick,\n ...otherProps\n } = navLink;\n const IconSVG = icon;\n const isPinned = isNavLinkPinned(navLink);\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 return (\n <Dropdown.MenuItem data-testid={label} key={navLinkKey || index}>\n <CheckPointNavLinks\n {...{ onClick, to }}\n className={classnames(\n \"flex cursor-pointer items-center justify-between gap-2 px-2 py-1\",\n { \"neeto-ui-bg-accent-100 font-semibold\": isActive() }\n )}\n >\n <span className=\"flex min-w-0 flex-grow items-center gap-2\">\n {icon && <IconSVG className=\"flex-shrink-0\" size={20} />}\n <Typography\n className=\"min-w-0 flex-grow\"\n component=\"span\"\n style=\"body2\"\n >\n {label}\n </Typography>\n </span>\n <Button\n className=\"flex-shrink-0\"\n data-cy=\"pin-button\"\n size=\"small\"\n style=\"text\"\n icon={\n isPinned\n ? () => <UnpinIcon otherProps={{}} size={16} />\n : () => <PinIcon otherProps={{}} size={16} />\n }\n tooltipProps={{\n content: isPinned\n ? t(\"neetoMolecules.sidebar.unpin\")\n : t(\"neetoMolecules.sidebar.pin\"),\n position: \"right\",\n }}\n onClick={event => handleTogglePin(navLink, event)}\n />\n </CheckPointNavLinks>\n </Dropdown.MenuItem>\n );\n })}\n </Dropdown.Menu>\n </Dropdown>\n );\n};\n\nexport default MoreDropdown;\n","import { Fragment, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNot, hyphenate, isNotEmpty, isPresent } from \"neetocist\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport { Right } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\nimport { append, is } from \"ramda\";\nimport { useLocation } from \"react-router-dom\";\n\nimport AddDropdown from \"./AddDropdown\";\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\nimport Items from \"./Items\";\nimport MoreDropdown from \"./MoreDropdown\";\n\nimport { PINNED_MORE_NAV_LINKS_KEY } from \"../../constants\";\nimport { filterByPermissions } from \"../../utils\";\n\nconst renderCount = count => (count > 999 ? \"999+\" : count);\n\nconst Links = ({\n navLinks,\n moreNavLinks,\n isCountsLoading: isCountsLoadingDeprecated,\n setSelectedNavLinkRoute,\n}) => {\n const location = useLocation();\n const [expandedNavLinkKeys, setExpandedNavLinkKeys] = useState([]);\n const [pinnedNavLinks, setPinnedNavLinks] = useLocalStorage(\n PINNED_MORE_NAV_LINKS_KEY,\n []\n );\n\n const handleNavLinkClick = ({ event, isActive, navLink }) => {\n const isExpandable =\n isPresent(navLink.items) || isPresent(navLink.component);\n if (!isExpandable) {\n setExpandedNavLinkKeys([]);\n\n return;\n }\n\n if (navLink.isConfigureNavLink && isNotEmpty(navLink.items)) {\n setSelectedNavLinkRoute(navLink.to);\n }\n\n const navLinkKey = navLink.key || navLink.to;\n if (isActive()) {\n const isExpanded = expandedNavLinkKeys.includes(navLinkKey);\n setExpandedNavLinkKeys(isExpanded ? [] : [navLinkKey]);\n navLink.resetPath !== true && event.preventDefault();\n\n return;\n }\n\n setExpandedNavLinkKeys([navLinkKey]);\n };\n\n const handleTogglePin = (navLink, event) => {\n event.preventDefault();\n event.stopPropagation();\n const navLinkKey = navLink.key || navLink.to;\n const isPinned = pinnedNavLinks.includes(navLinkKey);\n\n if (isPinned) {\n setPinnedNavLinks(pinnedNavLinks.filter(isNot(navLinkKey)));\n } else {\n setPinnedNavLinks([...pinnedNavLinks, navLinkKey]);\n }\n };\n\n const isNavLinkPinned = navLink => {\n if (!navLink) return false;\n const navLinkKey = navLink.key || navLink.to;\n\n return pinnedNavLinks.includes(navLinkKey);\n };\n\n const pinnedItems = moreNavLinks ? moreNavLinks.filter(isNavLinkPinned) : [];\n\n const activeMoreNavLink = moreNavLinks\n ? moreNavLinks.find(\n navLink =>\n navLink &&\n (location.pathname + location.search).startsWith(navLink.to)\n )\n : null;\n\n const additionalItems = [...pinnedItems];\n\n if (activeMoreNavLink && !isNavLinkPinned(activeMoreNavLink)) {\n additionalItems.push(activeMoreNavLink);\n }\n\n const combinedNavLinks = [...navLinks, ...additionalItems];\n\n return (\n <div className=\"neeto-molecules-sidebar__links neeto-molecules-sidebar__no-shrinkable\">\n {combinedNavLinks.filter(filterByPermissions).map((navLink, index) => {\n const {\n label,\n to,\n icon,\n items,\n isConfigureNavLink,\n isCountsLoading = false,\n count = null,\n component: Component,\n onClick,\n addActions = [],\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 isExpandable = items || Component;\n const navLinkKey = navLink.key || navLink.to;\n const isMenuExpanded =\n expandedNavLinkKeys.includes(navLinkKey) &&\n !isCountsLoadingDeprecated;\n\n const handleCaretClick = event => {\n event.preventDefault();\n event.stopPropagation();\n setExpandedNavLinkKeys(keys =>\n keys.includes(navLinkKey)\n ? keys.filter(isNot(navLinkKey))\n : append(navLinkKey, keys)\n );\n };\n\n return (\n <Fragment key={navLink.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, navLink });\n onClick?.(event);\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 {isPresent(count) && !isCountsLoading && (\n <span className=\"neeto-molecules-sidebar__link-unread-count\">\n {renderCount(count)}\n </span>\n )}\n </span>\n )}\n <Typography\n className=\"neeto-molecules-sidebar__link-label neeto-ui-flex-grow flex items-center gap-1\"\n component=\"span\"\n style=\"body2\"\n >\n {label}\n </Typography>\n {isNotEmpty(addActions) && <AddDropdown {...{ addActions }} />}\n {isExpandable && !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 onClick={handleCaretClick}\n >\n <Right size={16} />\n </span>\n )}\n </CheckPointNavLinks>\n {isExpandable && !isConfigureNavLink && isMenuExpanded && (\n <>\n {items && (\n <Items {...{ isCountsLoading, items, ...otherProps }} />\n )}\n {Component && <Component {...{ navLink }} />}\n </>\n )}\n </Fragment>\n );\n })}\n {isNotEmpty(moreNavLinks) && (\n <MoreDropdown {...{ handleTogglePin, isNavLinkPinned, moreNavLinks }} />\n )}\n </div>\n );\n};\n\nexport default Links;\n","import { useEffect, useMemo, useState, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent, isNotEmpty } from \"neetocist\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Button, Typography } 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 {\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n SIDEBAR_WIDTH_KEY,\n MIN_SIDEBAR_WIDTH,\n MAX_SIDEBAR_WIDTH,\n DEFAULT_SIDEBAR_WIDTH,\n} from \"./constants\";\nimport \"./sidebar.scss\";\nimport {\n getActiveConfigurePageLink,\n getSidebarStateLocalStorageKey,\n enableDraggingStyles,\n disableDraggingStyles,\n} from \"./utils\";\n\nimport useKeyboardShortcutsPaneState from \"../KeyboardShortcuts/hooks/useKeyboardShortcutsPaneState\";\n\nconst Sidebar = ({\n navLinks,\n moreNavLinks = [],\n customLogo,\n isCountsLoading = false,\n showWorkspaceName = false,\n isExpandable = true,\n}) => {\n const [isKeyboardShortcutsPaneOpen] = useKeyboardShortcutsPaneState();\n\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 [sidebarWidth, setSidebarWidth] = useLocalStorage(\n SIDEBAR_WIDTH_KEY,\n `${DEFAULT_SIDEBAR_WIDTH}px`\n );\n\n const sidebarRef = useRef(null);\n const isMouseDownRef = useRef(false);\n const startXRef = useRef(null);\n const startWidthRef = useRef(null);\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 (isKeyboardShortcutsPaneOpen) {\n setIsSidebarPaneOpen(false);\n setIsSidebarCollapsed(true);\n } else if (!isKeyboardShortcutsPaneOpen && isLargerScreen()) {\n setIsSidebarPaneOpen(true);\n setIsSidebarCollapsed(false);\n }\n }, [isKeyboardShortcutsPaneOpen]);\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 useEffect(() => {\n if (!isExpandable) return undefined;\n\n const handle = document.querySelector(\n \".neeto-molecules-sidebar__resize-handle\"\n );\n\n if (!handle) return undefined;\n\n const onMouseDown = e => {\n isMouseDownRef.current = true;\n startXRef.current = e.clientX;\n startWidthRef.current =\n sidebarRef.current?.getBoundingClientRect().width ||\n DEFAULT_SIDEBAR_WIDTH;\n\n enableDraggingStyles();\n };\n\n const onMouseMove = e => {\n if (!isMouseDownRef.current) return;\n\n const dx = e.clientX - startXRef.current;\n let newWidth = startWidthRef.current + dx;\n\n newWidth = Math.max(\n MIN_SIDEBAR_WIDTH,\n Math.min(newWidth, MAX_SIDEBAR_WIDTH)\n );\n\n setSidebarWidth(`${newWidth}px`);\n };\n\n const onMouseUp = () => {\n if (!isMouseDownRef.current) return;\n\n isMouseDownRef.current = false;\n disableDraggingStyles();\n };\n\n handle.addEventListener(\"mousedown\", onMouseDown);\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseUp);\n\n return () => {\n handle.removeEventListener(\"mousedown\", onMouseDown);\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseUp);\n };\n }, [isExpandable]);\n\n useEffect(() => {\n document.documentElement.style.setProperty(\n \"--neeto-molecules-sidebar-width\",\n `${parseInt(sidebarWidth) / 16}rem`\n );\n }, [sidebarWidth]);\n\n const handleGoBack = event => {\n event.preventDefault();\n setSelectedNavLinkRoute(null);\n const configureNavLink = getActiveConfigurePageLink({ navLinks, location });\n if (configureNavLink?.to) {\n history.push(buildUrl(configureNavLink.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 <>\n <div\n data-testid=\"sidebar-container\"\n ref={sidebarRef}\n style={{ width: isSidebarCollapsed ? \"0\" : sidebarWidth }}\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 {showWorkspaceName && (\n <div className=\"neeto-ui-bg-gray-100 neeto-molecules-sidebar__workspace-info\">\n <Typography\n className=\"neeto-ui-mb-1\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.sidebar.myWorkspace\")}\n </Typography>\n <Typography className=\"neeto-ui-truncate\" style=\"body2\">\n {globalProps.organization.name}\n </Typography>\n </div>\n )}\n {isSelectedNavLinkVisible ? (\n <SelectedLink {...{ handleGoBack }} navLink={activeLink} />\n ) : (\n <Links\n {...{\n isCountsLoading,\n moreNavLinks,\n navLinks,\n setSelectedNavLinkRoute,\n }}\n />\n )}\n </div>\n <Button\n className=\"neeto-molecules-sidebar__toggler\"\n data-cy=\"neeto-molecules-sidebar-toggler\"\n data-testid=\"sidebar-toggleButton\"\n icon={() => <Chevron />}\n style={isLargerScreen() ? \"text\" : \"secondary\"}\n tooltipProps={{\n content: isSidebarClosed\n ? t(\"neetoMolecules.sidebar.showMenu\")\n : t(\"neetoMolecules.sidebar.hideMenu\"),\n position: \"bottom\",\n touch: [\"hold\", 500],\n }}\n onClick={() => {\n setIsSidebarCollapsed(!isSidebarCollapsed);\n setIsSidebarPaneOpen(not);\n }}\n />\n </div>\n {isExpandable && (\n <div className=\"neeto-molecules-sidebar__resize-handle\" />\n )}\n </>\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 onClick: PropTypes.func,\n count: PropTypes.number,\n isActive: PropTypes.func,\n checkpointKey: PropTypes.string,\n isCountsLoading: PropTypes.bool,\n addActions: PropTypes.arrayOf(\n PropTypes.shape({\n key: PropTypes.string,\n label: PropTypes.string,\n onClick: PropTypes.func,\n })\n ),\n items: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n href: 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 specify the navlinks to be shown in the dropdown which opens up on clicking More option in sidebar.\n */\n moreNavLinks: PropTypes.arrayOf(\n PropTypes.shape({\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n label: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n count: PropTypes.number,\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 onClick: PropTypes.func,\n href: 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 * Boolean to determine whether the workspace name should be shown.\n */\n showWorkspaceName: PropTypes.bool,\n /**\n * Boolean to determine whether the sidebar should be expandable.\n */\n isExpandable: PropTypes.bool,\n};\n\nexport default Sidebar;\n"],"names":["Header","_ref","_ProductTypefaceLogos","customLogo","clearSettingsNav","productName","globalProps","appName","substr","normalizedName","trim","toLowerCase","specialCase","SPECIAL_APP_NAMES","logoName","concat","capitalize","ProductTypefaceLogo","ProductTypefaceLogos","Neeto","LogoComponent","isOnboarded","user","_jsx","className","children","Link","to","DEFAULT_HOME_PATH","classnames","onClick","memo","AddDropdown","addActions","Dropdown","closeOnSelect","position","customTarget","e","preventDefault","stopPropagation","Plus","size","Menu","map","action","MenuItem","Button","_action$onClick","call","label","key","PinIcon","otherProps","_objectSpread","fill","height","viewBox","width","xmlns","d","UnpinIcon","MoreDropdown","moreNavLinks","isNavLinkPinned","handleTogglePin","_useTranslation","useTranslation","t","location","useLocation","_useState","useState","_useState2","_slicedToArray","isOpen","setIsOpen","appendTo","document","body","strategy","zIndex","_jsxs","MenuHorizontal","Typography","component","style","onClickOutside","onClose","filter","filterByPermissions","navLink","index","icon","navLinkKey","_objectWithoutProperties","_excluded","IconSVG","isPinned","url","URL","window","href","isActive","is","Function","pathname","startsWith","CheckPointNavLinks","tooltipProps","content","event","renderCount","count","Links","navLinks","isCountsLoadingDeprecated","isCountsLoading","setSelectedNavLinkRoute","expandedNavLinkKeys","setExpandedNavLinkKeys","_useLocalStorage","useLocalStorage","PINNED_MORE_NAV_LINKS_KEY","_useLocalStorage2","pinnedNavLinks","setPinnedNavLinks","handleNavLinkClick","_ref2","isExpandable","isPresent","items","isConfigureNavLink","isNotEmpty","isExpanded","includes","resetPath","isNot","_toConsumableArray","pinnedItems","activeMoreNavLink","find","search","additionalItems","push","combinedNavLinks","_navLink$isCountsLoad","_navLink$count","Component","_navLink$addActions","isMenuExpanded","handleCaretClick","keys","append","Fragment","activeClassName","hyphenate","Right","_Fragment","Items","Sidebar","_ref$moreNavLinks","_ref$isCountsLoading","_ref$showWorkspaceNam","showWorkspaceName","_ref$isExpandable","_useKeyboardShortcuts","useKeyboardShortcutsPaneState","_useKeyboardShortcuts2","isKeyboardShortcutsPaneOpen","isSidebarPaneOpen","setIsSidebarPaneOpen","SELECTED_NAV_LINK_ROUTE_STORAGE_KEY","selectedNavLinkRoute","_useLocalStorage3","getSidebarStateLocalStorageKey","_useLocalStorage4","isSidebarCollapsed","setIsSidebarCollapsed","_useLocalStorage5","SIDEBAR_WIDTH_KEY","DEFAULT_SIDEBAR_WIDTH","_useLocalStorage6","sidebarWidth","setSidebarWidth","sidebarRef","useRef","isMouseDownRef","startXRef","startWidthRef","history","useHistory","isLargerScreen","innerWidth","isSidebarClosed","not","useEffect","currentLink","findLast","handleResize","addEventListener","removeEventListener","undefined","handle","querySelector","onMouseDown","_sidebarRef$current","current","clientX","getBoundingClientRect","enableDraggingStyles","onMouseMove","dx","newWidth","Math","max","MIN_SIDEBAR_WIDTH","min","MAX_SIDEBAR_WIDTH","onMouseUp","disableDraggingStyles","documentElement","setProperty","parseInt","handleGoBack","configureNavLink","getActiveConfigurePageLink","buildUrl","activeLink","useMemo","link","isSelectedNavLinkVisible","ref","weight","organization","name","SelectedLink","Chevron","touch"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Sidebar.js","sources":["../../src/components/Sidebar/Components/Header.jsx","../../src/components/Sidebar/Components/Links/AddDropdown.jsx","../../src/components/Sidebar/Components/Links/PinIcon.jsx","../../src/components/Sidebar/Components/Links/UnpinIcon.jsx","../../src/components/Sidebar/Components/Links/MoreDropdown.jsx","../../src/components/Sidebar/Components/Links/index.jsx","../../src/components/Sidebar/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { capitalize } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Neeto } from \"neetoicons/typeface-logos\";\nimport * as ProductTypefaceLogos from \"neetoicons/typeface-logos\";\nimport { Link } from \"react-router-dom\";\n\nimport { DEFAULT_HOME_PATH, SPECIAL_APP_NAMES } from \"../constants\";\n\nconst Header = ({ customLogo, clearSettingsNav }) => {\n const productName = globalProps.appName.substr(5);\n const normalizedName = (productName || \"\").trim().toLowerCase();\n const specialCase = SPECIAL_APP_NAMES[normalizedName];\n const logoName = specialCase\n ? `Neeto${specialCase}`\n : `Neeto${capitalize(normalizedName)}`;\n const ProductTypefaceLogo = ProductTypefaceLogos[logoName] ?? Neeto;\n const LogoComponent = customLogo ?? ProductTypefaceLogo;\n const isOnboarded = globalProps.user.isOnboarded !== false;\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 to={DEFAULT_HOME_PATH}\n className={classnames(\n \"neeto-molecules-sidebar__logo neeto-ui-w-full\",\n { \"cursor-pointer\": isOnboarded },\n { \"pointer-events-none\": !isOnboarded }\n )}\n onClick={clearSettingsNav}\n >\n <LogoComponent\n className={classnames({\n \"neeto-molecules-sidebar__logo\": !customLogo,\n })}\n />\n </Link>\n </div>\n );\n};\n\nexport default memo(Header);\n","import { Plus } from \"neetoicons\";\nimport { Dropdown } from \"neetoui\";\n\nconst AddDropdown = ({ addActions }) => (\n <Dropdown\n closeOnSelect\n position=\"bottom-end\"\n customTarget={() => (\n <span\n className=\"neeto-molecules-sidebar__link-icon neeto-molecules-sidebar__link-icon--caret\"\n data-testid=\"add-dropdown-trigger\"\n onClick={e => {\n e.preventDefault();\n e.stopPropagation();\n }}\n >\n <Plus size={16} />\n </span>\n )}\n >\n <Dropdown.Menu>\n {addActions.map(action => (\n <Dropdown.MenuItem.Button\n key={action.key}\n onClick={e => {\n e.preventDefault();\n action.onClick?.(e);\n }}\n >\n {action.label}\n </Dropdown.MenuItem.Button>\n ))}\n </Dropdown.Menu>\n </Dropdown>\n);\n\nexport default AddDropdown;\n","const PinIcon = ({ size, otherProps }) => (\n <svg\n fill=\"currentColor\"\n height={size}\n viewBox=\"0 -960 960 960\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...otherProps}\n >\n <path d=\"m640-480 80 80v80H520v240l-40 40-40-40v-240H240v-80l80-80v-280h-40v-80h400v80h-40zm-286 80h252l-46-46v-314H400v314zm126 0\" />\n </svg>\n);\n\nexport default PinIcon;\n","const UnpinIcon = ({ size, otherProps }) => (\n <svg\n fill=\"currentColor\"\n height={size}\n viewBox=\"0 -960 960 960\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...otherProps}\n >\n <path d=\"m640-480 80 80v80H520v240l-40 40-40-40v-240H240v-80l80-80v-280h-40v-80h400v80h-40z\" />\n </svg>\n);\n\nexport default UnpinIcon;\n","import { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { MenuHorizontal } from \"neetoicons\";\nimport { Typography, Dropdown, Button, Tag } from \"neetoui\";\nimport { is } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation } from \"react-router-dom\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink.jsx\";\nimport PinIcon from \"./PinIcon.jsx\";\nimport UnpinIcon from \"./UnpinIcon.jsx\";\n\nimport { filterByPermissions } from \"../../utils\";\n\nconst MoreDropdown = ({ moreNavLinks, isNavLinkPinned, handleTogglePin }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const [isOpen, setIsOpen] = useState(false);\n\n return (\n <Dropdown\n {...{ isOpen }}\n closeOnSelect\n appendTo={() => document.body}\n position=\"right\"\n strategy=\"fixed\"\n zIndex={99999}\n customTarget={() => (\n <div\n data-testid=\"more-nav-links-dropdown-button\"\n className={classnames(\n \"neeto-ui-flex neeto-ui-items-center neeto-ui-no-underline neeto-ui-select-none neeto-molecules-sidebar__link neeto-ui-w-full neeto-ui-cursor-pointer\",\n { \"neeto-molecules-sidebar__link--hover-active\": isOpen }\n )}\n onClick={() => setIsOpen(!isOpen)}\n >\n <span className=\"neeto-molecules-sidebar__link-icon\">\n <MenuHorizontal />\n </span>\n <Typography\n className=\"neeto-molecules-sidebar__link-label\"\n component=\"span\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.sidebar.more\")}\n </Typography>\n </div>\n )}\n onClickOutside={() => setIsOpen(false)}\n onClose={() => setIsOpen(false)}\n >\n <Dropdown.Menu\n className=\"p-0\"\n data-testid=\"more-nav-links-dropdown-menu\"\n position=\"right\"\n strategy=\"fixed\"\n >\n {moreNavLinks.filter(filterByPermissions).map((navLink, index) => {\n const {\n label,\n icon,\n key: navLinkKey,\n to,\n onClick,\n tag,\n ...otherProps\n } = navLink;\n const IconSVG = icon;\n const isPinned = isNavLinkPinned(navLink);\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 return (\n <Dropdown.MenuItem data-testid={label} key={navLinkKey || index}>\n <CheckPointNavLinks\n {...{ onClick, to }}\n className={classnames(\n \"flex cursor-pointer items-center justify-between gap-2 px-2 py-1\",\n { \"neeto-ui-bg-accent-100 font-semibold\": isActive() }\n )}\n >\n <span className=\"flex min-w-0 flex-grow items-center gap-2\">\n {icon && <IconSVG className=\"flex-shrink-0\" size={20} />}\n <Typography\n className=\"flex min-w-0 flex-grow items-center gap-2\"\n component=\"span\"\n style=\"body2\"\n >\n {label}\n {tag && <Tag {...tag} />}\n </Typography>\n </span>\n <Button\n className=\"flex-shrink-0\"\n data-cy=\"pin-button\"\n size=\"small\"\n style=\"text\"\n icon={\n isPinned\n ? () => <UnpinIcon otherProps={{}} size={16} />\n : () => <PinIcon otherProps={{}} size={16} />\n }\n tooltipProps={{\n content: isPinned\n ? t(\"neetoMolecules.sidebar.unpin\")\n : t(\"neetoMolecules.sidebar.pin\"),\n position: \"right\",\n }}\n onClick={event => handleTogglePin(navLink, event)}\n />\n </CheckPointNavLinks>\n </Dropdown.MenuItem>\n );\n })}\n </Dropdown.Menu>\n </Dropdown>\n );\n};\n\nexport default MoreDropdown;\n","import { Fragment, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNot, hyphenate, isNotEmpty, isPresent } from \"neetocist\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport { Right } from \"neetoicons\";\nimport { Typography, Tag } from \"neetoui\";\nimport { append, is } from \"ramda\";\nimport { useLocation } from \"react-router-dom\";\n\nimport AddDropdown from \"./AddDropdown\";\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\nimport Items from \"./Items\";\nimport MoreDropdown from \"./MoreDropdown\";\n\nimport { PINNED_MORE_NAV_LINKS_KEY } from \"../../constants\";\nimport { filterByPermissions } from \"../../utils\";\n\nconst renderCount = count => (count > 999 ? \"999+\" : count);\n\nconst Links = ({\n navLinks,\n moreNavLinks,\n isCountsLoading: isCountsLoadingDeprecated,\n setSelectedNavLinkRoute,\n}) => {\n const location = useLocation();\n const [expandedNavLinkKeys, setExpandedNavLinkKeys] = useState([]);\n const [pinnedNavLinks, setPinnedNavLinks] = useLocalStorage(\n PINNED_MORE_NAV_LINKS_KEY,\n []\n );\n\n const handleNavLinkClick = ({ event, isActive, navLink }) => {\n const isExpandable =\n isPresent(navLink.items) || isPresent(navLink.component);\n if (!isExpandable) {\n setExpandedNavLinkKeys([]);\n\n return;\n }\n\n if (navLink.isConfigureNavLink && isNotEmpty(navLink.items)) {\n setSelectedNavLinkRoute(navLink.to);\n }\n\n const navLinkKey = navLink.key || navLink.to;\n if (isActive()) {\n const isExpanded = expandedNavLinkKeys.includes(navLinkKey);\n setExpandedNavLinkKeys(isExpanded ? [] : [navLinkKey]);\n navLink.resetPath !== true && event.preventDefault();\n\n return;\n }\n\n setExpandedNavLinkKeys([navLinkKey]);\n };\n\n const handleTogglePin = (navLink, event) => {\n event.preventDefault();\n event.stopPropagation();\n const navLinkKey = navLink.key || navLink.to;\n const isPinned = pinnedNavLinks.includes(navLinkKey);\n\n if (isPinned) {\n setPinnedNavLinks(pinnedNavLinks.filter(isNot(navLinkKey)));\n } else {\n setPinnedNavLinks([...pinnedNavLinks, navLinkKey]);\n }\n };\n\n const isNavLinkPinned = navLink => {\n if (!navLink) return false;\n const navLinkKey = navLink.key || navLink.to;\n\n return pinnedNavLinks.includes(navLinkKey);\n };\n\n const pinnedItems = moreNavLinks ? moreNavLinks.filter(isNavLinkPinned) : [];\n\n const activeMoreNavLink = moreNavLinks\n ? moreNavLinks.find(\n navLink =>\n navLink &&\n (location.pathname + location.search).startsWith(navLink.to)\n )\n : null;\n\n const additionalItems = [...pinnedItems];\n\n if (activeMoreNavLink && !isNavLinkPinned(activeMoreNavLink)) {\n additionalItems.push(activeMoreNavLink);\n }\n\n const combinedNavLinks = [...navLinks, ...additionalItems];\n\n return (\n <div className=\"neeto-molecules-sidebar__links neeto-molecules-sidebar__no-shrinkable\">\n {combinedNavLinks.filter(filterByPermissions).map((navLink, index) => {\n const {\n label,\n to,\n icon,\n items,\n isConfigureNavLink,\n isCountsLoading = false,\n count = null,\n component: Component,\n onClick,\n addActions = [],\n tag,\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 isExpandable = items || Component;\n const navLinkKey = navLink.key || navLink.to;\n const isMenuExpanded =\n expandedNavLinkKeys.includes(navLinkKey) &&\n !isCountsLoadingDeprecated;\n\n const handleCaretClick = event => {\n event.preventDefault();\n event.stopPropagation();\n setExpandedNavLinkKeys(keys =>\n keys.includes(navLinkKey)\n ? keys.filter(isNot(navLinkKey))\n : append(navLinkKey, keys)\n );\n };\n\n return (\n <Fragment key={navLink.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, navLink });\n onClick?.(event);\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 {isPresent(count) && !isCountsLoading && (\n <span className=\"neeto-molecules-sidebar__link-unread-count\">\n {renderCount(count)}\n </span>\n )}\n </span>\n )}\n <Typography\n className=\"neeto-molecules-sidebar__link-label neeto-ui-flex-grow flex items-center gap-2\"\n component=\"span\"\n style=\"body2\"\n >\n {label}\n {tag && <Tag {...tag} />}\n </Typography>\n {isNotEmpty(addActions) && <AddDropdown {...{ addActions }} />}\n {isExpandable && !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 onClick={handleCaretClick}\n >\n <Right size={16} />\n </span>\n )}\n </CheckPointNavLinks>\n {isExpandable && !isConfigureNavLink && isMenuExpanded && (\n <>\n {items && (\n <Items {...{ isCountsLoading, items, ...otherProps }} />\n )}\n {Component && <Component {...{ navLink }} />}\n </>\n )}\n </Fragment>\n );\n })}\n {isNotEmpty(moreNavLinks) && (\n <MoreDropdown {...{ handleTogglePin, isNavLinkPinned, moreNavLinks }} />\n )}\n </div>\n );\n};\n\nexport default Links;\n","import { useEffect, useMemo, useState, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent, isNotEmpty } from \"neetocist\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Button, Typography } 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 {\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n SIDEBAR_WIDTH_KEY,\n MIN_SIDEBAR_WIDTH,\n MAX_SIDEBAR_WIDTH,\n DEFAULT_SIDEBAR_WIDTH,\n} from \"./constants\";\nimport \"./sidebar.scss\";\nimport {\n getActiveConfigurePageLink,\n getSidebarStateLocalStorageKey,\n enableDraggingStyles,\n disableDraggingStyles,\n} from \"./utils\";\n\nimport useKeyboardShortcutsPaneState from \"../KeyboardShortcuts/hooks/useKeyboardShortcutsPaneState\";\n\nconst Sidebar = ({\n navLinks,\n moreNavLinks = [],\n customLogo,\n isCountsLoading = false,\n showWorkspaceName = false,\n isExpandable = true,\n}) => {\n const [isKeyboardShortcutsPaneOpen] = useKeyboardShortcutsPaneState();\n\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 [sidebarWidth, setSidebarWidth] = useLocalStorage(\n SIDEBAR_WIDTH_KEY,\n `${DEFAULT_SIDEBAR_WIDTH}px`\n );\n\n const sidebarRef = useRef(null);\n const isMouseDownRef = useRef(false);\n const startXRef = useRef(null);\n const startWidthRef = useRef(null);\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 (isKeyboardShortcutsPaneOpen) {\n setIsSidebarPaneOpen(false);\n setIsSidebarCollapsed(true);\n } else if (!isKeyboardShortcutsPaneOpen && isLargerScreen()) {\n setIsSidebarPaneOpen(true);\n setIsSidebarCollapsed(false);\n }\n }, [isKeyboardShortcutsPaneOpen]);\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 useEffect(() => {\n if (!isExpandable) return undefined;\n\n const handle = document.querySelector(\n \".neeto-molecules-sidebar__resize-handle\"\n );\n\n if (!handle) return undefined;\n\n const onMouseDown = e => {\n isMouseDownRef.current = true;\n startXRef.current = e.clientX;\n startWidthRef.current =\n sidebarRef.current?.getBoundingClientRect().width ||\n DEFAULT_SIDEBAR_WIDTH;\n\n enableDraggingStyles();\n };\n\n const onMouseMove = e => {\n if (!isMouseDownRef.current) return;\n\n const dx = e.clientX - startXRef.current;\n let newWidth = startWidthRef.current + dx;\n\n newWidth = Math.max(\n MIN_SIDEBAR_WIDTH,\n Math.min(newWidth, MAX_SIDEBAR_WIDTH)\n );\n\n setSidebarWidth(`${newWidth}px`);\n };\n\n const onMouseUp = () => {\n if (!isMouseDownRef.current) return;\n\n isMouseDownRef.current = false;\n disableDraggingStyles();\n };\n\n handle.addEventListener(\"mousedown\", onMouseDown);\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseUp);\n\n return () => {\n handle.removeEventListener(\"mousedown\", onMouseDown);\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseUp);\n };\n }, [isExpandable]);\n\n useEffect(() => {\n document.documentElement.style.setProperty(\n \"--neeto-molecules-sidebar-width\",\n `${parseInt(sidebarWidth) / 16}rem`\n );\n }, [sidebarWidth]);\n\n const handleGoBack = event => {\n event.preventDefault();\n setSelectedNavLinkRoute(null);\n const configureNavLink = getActiveConfigurePageLink({ navLinks, location });\n if (configureNavLink?.to) {\n history.push(buildUrl(configureNavLink.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 <>\n <div\n data-testid=\"sidebar-container\"\n ref={sidebarRef}\n style={{ width: isSidebarCollapsed ? \"0\" : sidebarWidth }}\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 {showWorkspaceName && (\n <div className=\"neeto-ui-bg-gray-100 neeto-molecules-sidebar__workspace-info\">\n <Typography\n className=\"neeto-ui-mb-1\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.sidebar.myWorkspace\")}\n </Typography>\n <Typography className=\"neeto-ui-truncate\" style=\"body2\">\n {globalProps.organization.name}\n </Typography>\n </div>\n )}\n {isSelectedNavLinkVisible ? (\n <SelectedLink {...{ handleGoBack }} navLink={activeLink} />\n ) : (\n <Links\n {...{\n isCountsLoading,\n moreNavLinks,\n navLinks,\n setSelectedNavLinkRoute,\n }}\n />\n )}\n </div>\n <Button\n className=\"neeto-molecules-sidebar__toggler\"\n data-cy=\"neeto-molecules-sidebar-toggler\"\n data-testid=\"sidebar-toggleButton\"\n icon={() => <Chevron />}\n style={isLargerScreen() ? \"text\" : \"secondary\"}\n tooltipProps={{\n content: isSidebarClosed\n ? t(\"neetoMolecules.sidebar.showMenu\")\n : t(\"neetoMolecules.sidebar.hideMenu\"),\n position: \"bottom\",\n touch: [\"hold\", 500],\n }}\n onClick={() => {\n setIsSidebarCollapsed(!isSidebarCollapsed);\n setIsSidebarPaneOpen(not);\n }}\n />\n </div>\n {isExpandable && (\n <div className=\"neeto-molecules-sidebar__resize-handle\" />\n )}\n </>\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 onClick: PropTypes.func,\n count: PropTypes.number,\n isActive: PropTypes.func,\n checkpointKey: PropTypes.string,\n isCountsLoading: PropTypes.bool,\n tag: PropTypes.object,\n addActions: PropTypes.arrayOf(\n PropTypes.shape({\n key: PropTypes.string,\n label: PropTypes.string,\n onClick: PropTypes.func,\n })\n ),\n items: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n href: PropTypes.string,\n count: PropTypes.number,\n isActive: PropTypes.func,\n type: PropTypes.string,\n filters: PropTypes.array,\n checkpointKey: PropTypes.string,\n tag: PropTypes.object,\n })\n ),\n })\n ),\n /**\n * To specify the navlinks to be shown in the dropdown which opens up on clicking More option in sidebar.\n */\n moreNavLinks: PropTypes.arrayOf(\n PropTypes.shape({\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n label: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n count: PropTypes.number,\n isActive: PropTypes.func,\n checkpointKey: PropTypes.string,\n isCountsLoading: PropTypes.bool,\n tag: PropTypes.object,\n items: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n href: PropTypes.string,\n count: PropTypes.number,\n isActive: PropTypes.func,\n type: PropTypes.string,\n filters: PropTypes.array,\n checkpointKey: PropTypes.string,\n tag: PropTypes.object,\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 * Boolean to determine whether the workspace name should be shown.\n */\n showWorkspaceName: PropTypes.bool,\n /**\n * Boolean to determine whether the sidebar should be expandable.\n */\n isExpandable: PropTypes.bool,\n};\n\nexport default Sidebar;\n"],"names":["Header","_ref","_ProductTypefaceLogos","customLogo","clearSettingsNav","productName","globalProps","appName","substr","normalizedName","trim","toLowerCase","specialCase","SPECIAL_APP_NAMES","logoName","concat","capitalize","ProductTypefaceLogo","ProductTypefaceLogos","Neeto","LogoComponent","isOnboarded","user","_jsx","className","children","Link","to","DEFAULT_HOME_PATH","classnames","onClick","memo","AddDropdown","addActions","Dropdown","closeOnSelect","position","customTarget","e","preventDefault","stopPropagation","Plus","size","Menu","map","action","MenuItem","Button","_action$onClick","call","label","key","PinIcon","otherProps","_objectSpread","fill","height","viewBox","width","xmlns","d","UnpinIcon","MoreDropdown","moreNavLinks","isNavLinkPinned","handleTogglePin","_useTranslation","useTranslation","t","location","useLocation","_useState","useState","_useState2","_slicedToArray","isOpen","setIsOpen","appendTo","document","body","strategy","zIndex","_jsxs","MenuHorizontal","Typography","component","style","onClickOutside","onClose","filter","filterByPermissions","navLink","index","icon","navLinkKey","tag","_objectWithoutProperties","_excluded","IconSVG","isPinned","url","URL","window","href","isActive","is","Function","pathname","startsWith","CheckPointNavLinks","Tag","tooltipProps","content","event","renderCount","count","Links","navLinks","isCountsLoadingDeprecated","isCountsLoading","setSelectedNavLinkRoute","expandedNavLinkKeys","setExpandedNavLinkKeys","_useLocalStorage","useLocalStorage","PINNED_MORE_NAV_LINKS_KEY","_useLocalStorage2","pinnedNavLinks","setPinnedNavLinks","handleNavLinkClick","_ref2","isExpandable","isPresent","items","isConfigureNavLink","isNotEmpty","isExpanded","includes","resetPath","isNot","_toConsumableArray","pinnedItems","activeMoreNavLink","find","search","additionalItems","push","combinedNavLinks","_navLink$isCountsLoad","_navLink$count","Component","_navLink$addActions","isMenuExpanded","handleCaretClick","keys","append","Fragment","activeClassName","hyphenate","Right","_Fragment","Items","Sidebar","_ref$moreNavLinks","_ref$isCountsLoading","_ref$showWorkspaceNam","showWorkspaceName","_ref$isExpandable","_useKeyboardShortcuts","useKeyboardShortcutsPaneState","_useKeyboardShortcuts2","isKeyboardShortcutsPaneOpen","isSidebarPaneOpen","setIsSidebarPaneOpen","SELECTED_NAV_LINK_ROUTE_STORAGE_KEY","selectedNavLinkRoute","_useLocalStorage3","getSidebarStateLocalStorageKey","_useLocalStorage4","isSidebarCollapsed","setIsSidebarCollapsed","_useLocalStorage5","SIDEBAR_WIDTH_KEY","DEFAULT_SIDEBAR_WIDTH","_useLocalStorage6","sidebarWidth","setSidebarWidth","sidebarRef","useRef","isMouseDownRef","startXRef","startWidthRef","history","useHistory","isLargerScreen","innerWidth","isSidebarClosed","not","useEffect","currentLink","findLast","handleResize","addEventListener","removeEventListener","undefined","handle","querySelector","onMouseDown","_sidebarRef$current","current","clientX","getBoundingClientRect","enableDraggingStyles","onMouseMove","dx","newWidth","Math","max","MIN_SIDEBAR_WIDTH","min","MAX_SIDEBAR_WIDTH","onMouseUp","disableDraggingStyles","documentElement","setProperty","parseInt","handleGoBack","configureNavLink","getActiveConfigurePageLink","buildUrl","activeLink","useMemo","link","isSelectedNavLinkVisible","ref","weight","organization","name","SelectedLink","Chevron","touch"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-molecules",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.128",
|
|
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>",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Chevron-Dtxc2piW.js","sources":["../src/components/Sidebar/constants.js","../src/components/Sidebar/Components/Links/CheckPointNavLink.jsx","../src/components/Sidebar/utils.js","../src/components/Sidebar/Components/Links/SubLink.jsx","../src/components/Sidebar/Components/Links/Items.jsx","../src/components/Sidebar/Components/Links/SelectedLink.jsx","../src/components/Sidebar/Components/Chevron.jsx"],"sourcesContent":["export const SUB_LINK_TYPES = {\n SYSTEM_VIEW: \"system_view\",\n SEGMENTS: \"segments\",\n};\n\nexport const SELECTED_NAV_LINK_ROUTE_STORAGE_KEY = \"selectedNavLinkRoute\";\n\nexport const DEFAULT_HOME_PATH = \"/admin\";\n\nexport const SIDEBAR_WIDTH_KEY = \"neeto-molecules-sidebar-width\";\nexport const MIN_SIDEBAR_WIDTH = 12.5 * 16;\nexport const MAX_SIDEBAR_WIDTH = 20 * 16;\nexport const DEFAULT_SIDEBAR_WIDTH = 15 * 16;\n\nexport const PINNED_MORE_NAV_LINKS_KEY = \"pinnedMoreNavLinks\";\n\nexport const SPECIAL_APP_NAMES = { bugwatch: \"BugWatch\" };\n","import { useNavigationCheckpoints } from \"neetocommons/react-utils/useRegisterNavigationCheckpoint\";\nimport { NavLink } from \"react-router-dom\";\n\nconst CheckPointNavLinks = ({\n checkpointKey,\n to,\n href,\n children,\n ...others\n}) => {\n const { [checkpointKey]: checkpoint } =\n useNavigationCheckpoints(checkpointKey);\n\n const LinkElement = href ? \"a\" : NavLink;\n const linkProps = href\n ? { href, key: href, ...others }\n : { to: checkpoint || to, key: to, ...others };\n\n return <LinkElement {...linkProps}>{children}</LinkElement>;\n};\n\nexport default CheckPointNavLinks;\n","import { isPresent, isNotEmpty } from \"neetocist\";\nimport { __, all, curry, equals, includes, is } from \"ramda\";\n\nexport const isSubRouteActive = (subRoute, location) => {\n const currentBrowserUrl = new URL(\n location.pathname + location.search + location.hash,\n window.location.origin\n );\n const targetUrl = new URL(subRoute, window.location.origin);\n\n const targetSearchParams = targetUrl.searchParams;\n const targetSearchKeys = Array.from(targetSearchParams.keys());\n\n return (\n all(\n key =>\n currentBrowserUrl.searchParams.get(key) === targetSearchParams.get(key),\n targetSearchKeys\n ) && equals(currentBrowserUrl.pathname, targetUrl.pathname)\n );\n};\n\nexport const getSidebarStateLocalStorageKey = () => {\n const user = globalProps.user?.email || globalProps.user?.phoneNumber;\n\n return `sidebarState-${user}`;\n};\n\nexport const filterByPermissions = curry(({ permissions }) => {\n if (permissions && isNotEmpty(permissions)) {\n return is(Array, permissions)\n ? permissions.some(includes(__, globalProps.permissions))\n : globalProps.permissions.includes(permissions);\n }\n\n return true;\n});\n\nexport const getActiveConfigurePageLink = ({ navLinks, location }) =>\n navLinks.find(link => {\n const [linkPathname] = link.to?.split(\"?\") || [];\n\n return (\n isPresent(link.isConfigureNavLink) &&\n link.isConfigureNavLink &&\n location.pathname.startsWith(linkPathname)\n );\n });\n\nexport const enableDraggingStyles = () => {\n document.body.classList.add(\"dragging-sidebar\");\n document.body.style.cursor = \"col-resize\";\n document.body.style.userSelect = \"none\";\n};\n\nexport const disableDraggingStyles = () => {\n document.body.classList.remove(\"dragging-sidebar\");\n document.body.style.cursor = \"\";\n document.body.style.userSelect = \"\";\n};\n","import { hyphenate } from \"neetocist\";\nimport { Segments } from \"neetofilters\";\nimport { Typography } from \"neetoui\";\nimport { is } from \"ramda\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\n\nimport { SUB_LINK_TYPES } from \"../../constants\";\nimport { isSubRouteActive } from \"../../utils\";\n\nconst SubLink = ({\n to,\n href,\n onClick,\n label,\n type = SUB_LINK_TYPES.SYSTEM_VIEW,\n count,\n isSectionHeader,\n isCountsLoading,\n \"data-cy\": dataCy,\n entity = \"\",\n columns = [],\n baseUrl,\n isActive,\n}) => {\n if (type === SUB_LINK_TYPES.SEGMENTS) {\n return <Segments {...{ baseUrl, columns, entity }} isIndependent={false} />;\n }\n\n const dataCyPrefix = dataCy || hyphenate(label);\n\n const renderCount = count => (count > 999 ? \"999+\" : count);\n\n const isSubLinkActive = () =>\n !isSectionHeader &&\n (is(Function, isActive) ? isActive() : isSubRouteActive(to, location));\n\n return (\n <CheckPointNavLinks\n {...{ href, onClick, to }}\n activeClassName=\"active\"\n className=\"neeto-molecules-sidebar__sublink neeto-ui-flex neeto-ui-items-center neeto-ui-select-none\"\n data-cy={`${dataCyPrefix}-sub-link`}\n isActive={isSubLinkActive}\n >\n <Typography\n className=\"neeto-molecules-sidebar__link-sub-label neeto-ui-flex-grow\"\n component=\"span\"\n data-cy={`${dataCyPrefix}-sub-link-label`}\n style=\"body2\"\n >\n {label}\n </Typography>\n <Typography\n className=\"neeto-molecules-sidebar__link-sub-count neeto-ui-flex-shrink-0\"\n component=\"span\"\n data-cy={`${dataCyPrefix}-sub-link-count`}\n style=\"body2\"\n >\n {isCountsLoading ? (\n <div className=\"neeto-ui-rounded neeto-ui-bg-gray-200 h-4 w-4 animate-pulse\" />\n ) : (\n renderCount(count)\n )}\n </Typography>\n </CheckPointNavLinks>\n );\n};\n\nexport default SubLink;\n","import { Fragment } from \"react\";\n\nimport { isPresent } from \"neetocist\";\n\nimport SubLink from \"./SubLink\";\n\nimport { filterByPermissions } from \"../../utils\";\n\nconst Items = ({ items, isSettingsItems = false, isCountsLoading }) => (\n <div\n className=\"neeto-molecules-sidebar__sublink-wrapper\"\n data-cy=\"sidebar-sub-link-wrapper\"\n >\n {items.filter(filterByPermissions).map((subItem, subIndex) => (\n <Fragment key={subIndex}>\n <SubLink\n {...{ ...subItem, isCountsLoading }}\n href={subItem.href}\n isActive={subItem.isActive}\n isSectionHeader={isPresent(subItem.item)}\n to={subItem.to ?? subItem.path}\n onClick={subItem.onClick}\n />\n {isSettingsItems && isPresent(subItem.items) && (\n <>\n <Items {...{ isSettingsItems }} items={subItem.items} />\n {items.length - 1 !== subIndex && (\n <hr className=\"neeto-molecules-sidebar__separator neeto-ui-border-gray-200\" />\n )}\n </>\n )}\n </Fragment>\n ))}\n </div>\n);\n\nexport default Items;\n","import classNames from \"classnames\";\nimport { handleMetaClick } from \"neetocommons/react-utils\";\nimport { hyphenize } from \"neetocommons/utils/general\";\nimport { Home } from \"neetoicons\";\nimport { Typography, Button } from \"neetoui\";\nimport { omit } from \"ramda\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { DEFAULT_HOME_PATH } from \"components/Sidebar/constants\";\n\nimport Items from \"./Items\";\n\nconst SelectedLink = ({\n navLink = { label: \"\", items: [], isConfigureNavLink: false },\n handleGoBack,\n isConfigureSidebar,\n}) => {\n const history = useHistory();\n const { label, items, isConfigureNavLink, ...otherProps } = navLink;\n\n const handleHomeButtonClick = e => {\n e.stopPropagation();\n handleMetaClick(history, DEFAULT_HOME_PATH, e);\n };\n\n return (\n <div\n className=\"neeto-molecules-sidebar__links neeto-molecules-sidebar__links--focus-mode neeto-molecules-sidebar__no-shrinkable\"\n data-cy=\"configure-nav-container\"\n >\n <div\n className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-no-underline neeto-molecules-sidebar__link neeto-ui-border-b neeto-ui-border-gray-200\"\n onClick={handleGoBack}\n {...{ ...omit([\"icon\"], otherProps) }}\n >\n {isConfigureNavLink && (\n <span className=\"neeto-molecules-sidebar__link-icon flex items-center pl-3\">\n <Button\n data-cy={`${hyphenize(label)}-go-back-button`}\n data-testid={`${label}-go-home-button`}\n icon={Home}\n style=\"text\"\n onClick={handleHomeButtonClick}\n />\n <span className=\"px-1 text-xs\">/</span>\n </span>\n )}\n <Typography\n component=\"span\"\n style=\"body1\"\n className={classNames(\"neeto-molecules-sidebar__link-label\", {\n \"neeto-molecules-sidebar__configure-page-header\":\n isConfigureNavLink,\n [\"pl-4\"]: isConfigureSidebar,\n })}\n >\n {label}\n </Typography>\n </div>\n {items && <Items {...{ items }} isSettingsItems />}\n </div>\n );\n};\n\nexport default SelectedLink;\n","const Chevron = ({ style }) => (\n <svg {...{ style }} height=\"16\" viewBox=\"0 0 16 16\" width=\"16\">\n <path\n d=\"M7.07031 13.8887C7.2207 14.0391 7.40527 14.1211 7.62402 14.1211C8.06836 14.1211 8.41699 13.7725 8.41699 13.3281C8.41699 13.1094 8.32812 12.9043 8.17773 12.7539L3.37207 8.05762L8.17773 3.375C8.32812 3.21777 8.41699 3.0127 8.41699 2.80078C8.41699 2.35645 8.06836 2.00781 7.62402 2.00781C7.40527 2.00781 7.2207 2.08984 7.07031 2.24023L1.73828 7.44922C1.56055 7.62012 1.46484 7.8252 1.46484 8.06445C1.46484 8.29688 1.55371 8.49512 1.73828 8.67969L7.07031 13.8887ZM13.1748 13.8887C13.3252 14.0391 13.5098 14.1211 13.7354 14.1211C14.1797 14.1211 14.5283 13.7725 14.5283 13.3281C14.5283 13.1094 14.4395 12.9043 14.2891 12.7539L9.4834 8.05762L14.2891 3.375C14.4395 3.21777 14.5283 3.0127 14.5283 2.80078C14.5283 2.35645 14.1797 2.00781 13.7354 2.00781C13.5098 2.00781 13.3252 2.08984 13.1748 2.24023L7.84961 7.44922C7.66504 7.62012 7.57617 7.8252 7.56934 8.06445C7.56934 8.29688 7.66504 8.49512 7.84961 8.67969L13.1748 13.8887Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default Chevron;\n"],"names":["SUB_LINK_TYPES","SYSTEM_VIEW","SEGMENTS","SELECTED_NAV_LINK_ROUTE_STORAGE_KEY","DEFAULT_HOME_PATH","SIDEBAR_WIDTH_KEY","MIN_SIDEBAR_WIDTH","MAX_SIDEBAR_WIDTH","DEFAULT_SIDEBAR_WIDTH","PINNED_MORE_NAV_LINKS_KEY","SPECIAL_APP_NAMES","bugwatch","CheckPointNavLinks","_ref","checkpointKey","to","href","children","others","_objectWithoutProperties","_excluded","_useNavigationCheckpo","useNavigationCheckpoints","checkpoint","LinkElement","NavLink","linkProps","_objectSpread","key","_jsx","isSubRouteActive","subRoute","location","currentBrowserUrl","URL","pathname","search","hash","window","origin","targetUrl","targetSearchParams","searchParams","targetSearchKeys","Array","from","keys","all","get","equals","getSidebarStateLocalStorageKey","_globalProps$user","_globalProps$user2","user","globalProps","email","phoneNumber","concat","filterByPermissions","curry","permissions","isNotEmpty","is","some","includes","__","getActiveConfigurePageLink","_ref2","navLinks","find","link","_link$to","_ref3","split","_ref4","_slicedToArray","linkPathname","isPresent","isConfigureNavLink","startsWith","enableDraggingStyles","document","body","classList","add","style","cursor","userSelect","disableDraggingStyles","remove","SubLink","onClick","label","_ref$type","type","count","isSectionHeader","isCountsLoading","dataCy","_ref$entity","entity","_ref$columns","columns","baseUrl","isActive","Segments","isIndependent","dataCyPrefix","hyphenate","renderCount","isSubLinkActive","Function","_jsxs","activeClassName","className","Typography","component","Items","items","_ref$isSettingsItems","isSettingsItems","filter","map","subItem","subIndex","_subItem$to","Fragment","item","path","_Fragment","_Items","length","SelectedLink","_ref$navLink","navLink","handleGoBack","isConfigureSidebar","history","useHistory","otherProps","handleHomeButtonClick","e","stopPropagation","handleMetaClick","omit","Button","hyphenize","icon","Home","classNames","_defineProperty","Chevron","height","viewBox","width","d","fill"],"mappings":"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"}
|