@bigbinary/neeto-molecules 3.16.96 → 3.16.98

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.
@@ -37,7 +37,7 @@ var Link = function Link(_ref) {
37
37
  var url = new URL(to);
38
38
  url.host = "";
39
39
  return /*#__PURE__*/jsx(Link$1, _objectSpread$1(_objectSpread$1({}, rest), {}, {
40
- to: url.pathname,
40
+ to: "".concat(url.pathname).concat(url.search),
41
41
  children: children
42
42
  }));
43
43
  };
@@ -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}>\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","import classNames from \"classnames\";\nimport { humanize, isNotPresent } from \"neetocist\";\nimport { Modal, Typography, NoData } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Link from \"./Link\";\nimport { htmlToText, highlightMatch, filterAndHighlightContent } from \"./utils\";\n\nconst ModalBody = ({\n containerRef,\n data,\n iconComponentMap,\n onClose,\n loading,\n searchTerm,\n}) => {\n const { t } = useTranslation();\n\n const isDataEmpty =\n isNotPresent(data) || Object.values(data).every(isNotPresent);\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=\"space-y-4\" ref={containerRef}>\n {Object.keys(data).map(key => {\n if (isNotPresent(data[key])) return null;\n\n return (\n <div className=\"w-full\" key={key}>\n <Typography className=\"mb-2\" style=\"h6\" textTransform=\"uppercase\">\n {humanize(key)}\n </Typography>\n <div className=\"w-full\">\n {data[key].map(item => {\n const Icon =\n iconComponentMap[key] || 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\n className=\"neeto-ui-text-gray-500 min-w-fit\"\n size={16}\n />\n <div className=\"line-clamp-1 flex flex-col\">\n {nameContent && (\n <Typography className=\"neeto-ui-text-black text-sm font-medium\">\n {highlightMatch(nameContent, searchTerm)}\n </Typography>\n )}\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\":\n !nameContent,\n })}\n >\n {filteredBodyContent || bodyContent}\n </Typography>\n )}\n </div>\n </Link>\n );\n })}\n </div>\n </div>\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=\"ml-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=\"ml-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\n */\n data: 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 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","pathname","minMax","number","max","arguments","length","undefined","Number","POSITIVE_INFINITY","min","Math","htmlToText","html","tmp","document","createElement","innerHTML","textContent","innerText","highlightMatch","text","searchTerm","regex","RegExp","concat","split","map","part","index","toLowerCase","className","filterAndHighlightContent","bodyContent","filter","line","trim","includes","_jsxs","React","Fragment","ModalBody","containerRef","data","iconComponentMap","onClose","loading","_useTranslation","useTranslation","t","isDataEmpty","isNotPresent","Object","values","every","Modal","Body","NoData","description","title","ref","keys","key","Typography","style","textTransform","humanize","item","Icon","nameContent","name","body","filteredBodyContent","onClick","size","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","import classNames from \"classnames\";\nimport { humanize, isNotPresent } from \"neetocist\";\nimport { Modal, Typography, NoData } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Link from \"./Link\";\nimport { htmlToText, highlightMatch, filterAndHighlightContent } from \"./utils\";\n\nconst ModalBody = ({\n containerRef,\n data,\n iconComponentMap,\n onClose,\n loading,\n searchTerm,\n}) => {\n const { t } = useTranslation();\n\n const isDataEmpty =\n isNotPresent(data) || Object.values(data).every(isNotPresent);\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=\"space-y-4\" ref={containerRef}>\n {Object.keys(data).map(key => {\n if (isNotPresent(data[key])) return null;\n\n return (\n <div className=\"w-full\" key={key}>\n <Typography className=\"mb-2\" style=\"h6\" textTransform=\"uppercase\">\n {humanize(key)}\n </Typography>\n <div className=\"w-full\">\n {data[key].map(item => {\n const Icon =\n iconComponentMap[key] || 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\n className=\"neeto-ui-text-gray-500 min-w-fit\"\n size={16}\n />\n <div className=\"line-clamp-1 flex flex-col\">\n {nameContent && (\n <Typography className=\"neeto-ui-text-black text-sm font-medium\">\n {highlightMatch(nameContent, searchTerm)}\n </Typography>\n )}\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\":\n !nameContent,\n })}\n >\n {filteredBodyContent || bodyContent}\n </Typography>\n )}\n </div>\n </Link>\n );\n })}\n </div>\n </div>\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=\"ml-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=\"ml-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\n */\n data: 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 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","ModalBody","containerRef","data","iconComponentMap","onClose","loading","_useTranslation","useTranslation","t","isDataEmpty","isNotPresent","Object","values","every","Modal","Body","NoData","description","title","ref","keys","key","Typography","style","textTransform","humanize","item","Icon","nameContent","name","body","filteredBodyContent","onClick","size","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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"}
@@ -102,16 +102,20 @@ var InlineInput = /*#__PURE__*/forwardRef(function (props, ref) {
102
102
  while (1) switch (_context.prev = _context.next) {
103
103
  case 0:
104
104
  setIsSubmitting(true);
105
- _context.next = 3;
105
+ _context.prev = 1;
106
+ _context.next = 4;
106
107
  return handleSubmit(trimmedValue);
107
- case 3:
108
- setIsSubmitting(false);
108
+ case 4:
109
109
  clearOnSave && setInternalValue("");
110
110
  case 5:
111
+ _context.prev = 5;
112
+ setIsSubmitting(false);
113
+ return _context.finish(5);
114
+ case 8:
111
115
  case "end":
112
116
  return _context.stop();
113
117
  }
114
- }, _callee);
118
+ }, _callee, null, [[1,, 5, 8]]);
115
119
  }));
116
120
  return function onSubmit() {
117
121
  return _ref.apply(this, arguments);
@@ -1 +1 @@
1
- {"version":3,"file":"InlineInput.js","sources":["../src/components/InlineInput/constants.js","../src/components/InlineInput/utils.js","../src/components/InlineInput/InlineInput.jsx","../src/components/InlineInput/FormikInlineInput.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const TOOLTIP_PROPS = {\n save: {\n content: t(\"neetoMolecules.common.actions.save\"),\n position: \"top\",\n delay: 300,\n },\n cancel: {\n content: t(\"neetoMolecules.common.actions.cancel\"),\n position: \"top\",\n delay: 300,\n },\n};\n","export const mergeRefs =\n (...refs) =>\n node =>\n refs.forEach(ref =>\n typeof ref === \"function\" ? ref(node) : (ref.current = node)\n );\n","import { forwardRef, useEffect, useState, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNotEmpty, noop } from \"neetocist\";\nimport useOnClickOutside from \"neetocommons/react-utils/useOnClickOutside\";\nimport useStateWithDependency from \"neetocommons/react-utils/useStateWithDependency\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Check, Close } from \"neetoicons\";\nimport { Button, Input } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { isNotNil } from \"ramda\";\n\nimport { TOOLTIP_PROPS } from \"./constants\";\nimport \"./inlineinput.scss\";\nimport { mergeRefs } from \"./utils\";\n\nconst InlineInput = forwardRef((props, ref) => {\n const {\n saveOnBlur = false,\n clearOnSave = false,\n nullable = false,\n value = \"\",\n isSaving,\n className = \"\",\n handleSubmit = noop,\n handleCancel = noop,\n submitButtonProps = {},\n cancelButtonProps = {},\n dirty,\n onInlineInputBlur = noop,\n ...otherProps\n } = props;\n\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [internalValue, setInternalValue] = useStateWithDependency(value ?? \"\");\n const inputRef = useRef(null);\n const inputWrapperRef = useRef(null);\n const trimmedValue = internalValue && internalValue?.trim();\n const isValidValue =\n nullable || (isNotEmpty(trimmedValue) && isNotNil(trimmedValue));\n\n const isDirty = internalValue !== value || dirty;\n\n const handleFocusOut = () => {\n if (!isValidValue || isSubmitting) return;\n\n onInlineInputBlur(trimmedValue);\n\n if (saveOnBlur && isDirty) {\n onSubmit();\n\n return;\n }\n\n onCancel();\n };\n\n useOnClickOutside(inputWrapperRef, handleFocusOut);\n\n const onSubmit = async () => {\n setIsSubmitting(true);\n await handleSubmit(trimmedValue);\n setIsSubmitting(false);\n clearOnSave && setInternalValue(\"\");\n };\n\n const onCancel = () => {\n handleCancel(trimmedValue);\n };\n\n const closeRef = useHotkeys(\n \"escape\",\n event => {\n event.stopPropagation();\n onCancel();\n },\n { mode: \"scoped\" }\n );\n\n const submitRef = useHotkeys([\"command+return\", \"return\"], () => onSubmit(), {\n mode: \"scoped\",\n enabled: isValidValue,\n });\n\n useEffect(() => inputRef.current && inputRef.current.focus(), [isSubmitting]);\n\n return (\n <div\n className={classnames(\"flex flex-grow\", { [className]: className })}\n ref={inputWrapperRef}\n >\n <Input\n disableTrimOnBlur\n className=\"neeto-molecules-autosave-input\"\n data-testid=\"neeto-molecules-autosave-input\"\n disabled={isSubmitting}\n ref={mergeRefs(inputRef, closeRef, submitRef)}\n value={internalValue}\n {...otherProps}\n suffix={\n <>\n <Button\n data-testid=\"neeto-molecules-autosave-input-save\"\n icon={Check}\n loading={isSubmitting || isSaving}\n size=\"small\"\n style=\"text\"\n tabIndex={-1}\n tooltipProps={TOOLTIP_PROPS[\"save\"]}\n onClick={onSubmit}\n {...submitButtonProps}\n disabled={\n !isValidValue ||\n isSubmitting ||\n isSaving ||\n submitButtonProps.disabled ||\n !isDirty\n }\n />\n <Button\n {...{ ref }}\n data-testid=\"neeto-molecules-autosave-input-cancel\"\n icon={Close}\n size=\"small\"\n style=\"text\"\n tabIndex={-1}\n tooltipProps={TOOLTIP_PROPS[\"cancel\"]}\n onClick={onCancel}\n {...cancelButtonProps}\n disabled={isSubmitting || isSaving || cancelButtonProps.disabled}\n />\n </>\n }\n onChange={e => {\n otherProps?.onChange?.(e);\n setInternalValue(e.target.value);\n }}\n />\n </div>\n );\n});\n\nInlineInput.displayName = \"InlineInput\";\n\nInlineInput.propTypes = {\n /**\n * To provide additional classes to the component.\n */\n className: PropTypes.string,\n /**\n * To specify the text to be displayed in the component.\n */\n value: PropTypes.string,\n /**\n * To enable submission of empty values.\n */\n nullable: PropTypes.bool,\n /**\n * To specify whether the value is being saved.\n */\n isSaving: PropTypes.bool,\n /**\n * To specify whether to save the value on blur.\n */\n saveOnBlur: PropTypes.bool,\n /**\n * To specify whether to clear the input on save.\n */\n clearOnSave: PropTypes.bool,\n /**\n * To specify additional props for submit button.\n */\n submitButtonProps: PropTypes.object,\n /**\n * To specify additional props for cancel button.\n */\n cancelButtonProps: PropTypes.object,\n /**\n * Function to be called on clicking the submit button.\n */\n handleSubmit: PropTypes.func,\n /**\n * Function to be called on clicking the cancel button .\n */\n handleCancel: PropTypes.func,\n};\n\nexport default InlineInput;\n","import { useField, useFormikContext } from \"formik\";\nimport { omit } from \"ramda\";\n\nimport InlineInput from \"./InlineInput\";\n\nconst FormikInlineInput = ({ name, ...props }) => {\n const [field, meta, { setValue, setTouched }] = useField(name);\n\n const { submitForm, isSubmitting, resetForm, dirty } = useFormikContext();\n\n const handleSubmit = value => {\n setValue(value);\n\n props.handleSubmit?.(value);\n\n return submitForm();\n };\n\n return (\n <InlineInput\n error={meta.touched ? meta.error : \"\"}\n isSaving={isSubmitting}\n {...props}\n handleCancel={() => {\n resetForm();\n props.handleCancel?.();\n }}\n {...{ handleSubmit, ...omit([\"onBlur\"], field), dirty }}\n onInlineInputBlur={trimmedValue => {\n setValue(trimmedValue);\n setTouched(true);\n }}\n />\n );\n};\n\nexport default FormikInlineInput;\n"],"names":["TOOLTIP_PROPS","save","content","t","position","delay","cancel","mergeRefs","_len","arguments","length","refs","Array","_key","node","forEach","ref","current","InlineInput","forwardRef","props","_props$saveOnBlur","saveOnBlur","_props$clearOnSave","clearOnSave","_props$nullable","nullable","_props$value","value","isSaving","_props$className","className","_props$handleSubmit","handleSubmit","noop","_props$handleCancel","handleCancel","_props$submitButtonPr","submitButtonProps","_props$cancelButtonPr","cancelButtonProps","dirty","_props$onInlineInputB","onInlineInputBlur","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","isSubmitting","setIsSubmitting","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","internalValue","setInternalValue","inputRef","useRef","inputWrapperRef","trimmedValue","trim","isValidValue","isNotEmpty","isNotNil","isDirty","handleFocusOut","onSubmit","onCancel","useOnClickOutside","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","stop","apply","closeRef","useHotkeys","event","stopPropagation","mode","submitRef","enabled","useEffect","focus","_jsx","classnames","_defineProperty","children","Input","_objectSpread","disableTrimOnBlur","disabled","suffix","_jsxs","_Fragment","Button","icon","Check","loading","size","style","tabIndex","tooltipProps","onClick","Close","onChange","e","_otherProps$onChange","call","target","displayName","FormikInlineInput","name","_useField","useField","_useField2","field","meta","_useField2$","setValue","setTouched","_useFormikContext","useFormikContext","submitForm","resetForm","error","touched","omit"],"mappings":"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"}
1
+ {"version":3,"file":"InlineInput.js","sources":["../src/components/InlineInput/constants.js","../src/components/InlineInput/utils.js","../src/components/InlineInput/InlineInput.jsx","../src/components/InlineInput/FormikInlineInput.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const TOOLTIP_PROPS = {\n save: {\n content: t(\"neetoMolecules.common.actions.save\"),\n position: \"top\",\n delay: 300,\n },\n cancel: {\n content: t(\"neetoMolecules.common.actions.cancel\"),\n position: \"top\",\n delay: 300,\n },\n};\n","export const mergeRefs =\n (...refs) =>\n node =>\n refs.forEach(ref =>\n typeof ref === \"function\" ? ref(node) : (ref.current = node)\n );\n","import { forwardRef, useEffect, useState, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNotEmpty, noop } from \"neetocist\";\nimport useOnClickOutside from \"neetocommons/react-utils/useOnClickOutside\";\nimport useStateWithDependency from \"neetocommons/react-utils/useStateWithDependency\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Check, Close } from \"neetoicons\";\nimport { Button, Input } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { isNotNil } from \"ramda\";\n\nimport { TOOLTIP_PROPS } from \"./constants\";\nimport \"./inlineinput.scss\";\nimport { mergeRefs } from \"./utils\";\n\nconst InlineInput = forwardRef((props, ref) => {\n const {\n saveOnBlur = false,\n clearOnSave = false,\n nullable = false,\n value = \"\",\n isSaving,\n className = \"\",\n handleSubmit = noop,\n handleCancel = noop,\n submitButtonProps = {},\n cancelButtonProps = {},\n dirty,\n onInlineInputBlur = noop,\n ...otherProps\n } = props;\n\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [internalValue, setInternalValue] = useStateWithDependency(value ?? \"\");\n const inputRef = useRef(null);\n const inputWrapperRef = useRef(null);\n const trimmedValue = internalValue && internalValue?.trim();\n const isValidValue =\n nullable || (isNotEmpty(trimmedValue) && isNotNil(trimmedValue));\n\n const isDirty = internalValue !== value || dirty;\n\n const handleFocusOut = () => {\n if (!isValidValue || isSubmitting) return;\n\n onInlineInputBlur(trimmedValue);\n\n if (saveOnBlur && isDirty) {\n onSubmit();\n\n return;\n }\n\n onCancel();\n };\n\n useOnClickOutside(inputWrapperRef, handleFocusOut);\n\n const onSubmit = async () => {\n setIsSubmitting(true);\n try {\n await handleSubmit(trimmedValue);\n clearOnSave && setInternalValue(\"\");\n } finally {\n setIsSubmitting(false);\n }\n };\n\n const onCancel = () => {\n handleCancel(trimmedValue);\n };\n\n const closeRef = useHotkeys(\n \"escape\",\n event => {\n event.stopPropagation();\n onCancel();\n },\n { mode: \"scoped\" }\n );\n\n const submitRef = useHotkeys([\"command+return\", \"return\"], () => onSubmit(), {\n mode: \"scoped\",\n enabled: isValidValue,\n });\n\n useEffect(() => inputRef.current && inputRef.current.focus(), [isSubmitting]);\n\n return (\n <div\n className={classnames(\"flex flex-grow\", { [className]: className })}\n ref={inputWrapperRef}\n >\n <Input\n disableTrimOnBlur\n className=\"neeto-molecules-autosave-input\"\n data-testid=\"neeto-molecules-autosave-input\"\n disabled={isSubmitting}\n ref={mergeRefs(inputRef, closeRef, submitRef)}\n value={internalValue}\n {...otherProps}\n suffix={\n <>\n <Button\n data-testid=\"neeto-molecules-autosave-input-save\"\n icon={Check}\n loading={isSubmitting || isSaving}\n size=\"small\"\n style=\"text\"\n tabIndex={-1}\n tooltipProps={TOOLTIP_PROPS[\"save\"]}\n onClick={onSubmit}\n {...submitButtonProps}\n disabled={\n !isValidValue ||\n isSubmitting ||\n isSaving ||\n submitButtonProps.disabled ||\n !isDirty\n }\n />\n <Button\n {...{ ref }}\n data-testid=\"neeto-molecules-autosave-input-cancel\"\n icon={Close}\n size=\"small\"\n style=\"text\"\n tabIndex={-1}\n tooltipProps={TOOLTIP_PROPS[\"cancel\"]}\n onClick={onCancel}\n {...cancelButtonProps}\n disabled={isSubmitting || isSaving || cancelButtonProps.disabled}\n />\n </>\n }\n onChange={e => {\n otherProps?.onChange?.(e);\n setInternalValue(e.target.value);\n }}\n />\n </div>\n );\n});\n\nInlineInput.displayName = \"InlineInput\";\n\nInlineInput.propTypes = {\n /**\n * To provide additional classes to the component.\n */\n className: PropTypes.string,\n /**\n * To specify the text to be displayed in the component.\n */\n value: PropTypes.string,\n /**\n * To enable submission of empty values.\n */\n nullable: PropTypes.bool,\n /**\n * To specify whether the value is being saved.\n */\n isSaving: PropTypes.bool,\n /**\n * To specify whether to save the value on blur.\n */\n saveOnBlur: PropTypes.bool,\n /**\n * To specify whether to clear the input on save.\n */\n clearOnSave: PropTypes.bool,\n /**\n * To specify additional props for submit button.\n */\n submitButtonProps: PropTypes.object,\n /**\n * To specify additional props for cancel button.\n */\n cancelButtonProps: PropTypes.object,\n /**\n * Function to be called on clicking the submit button.\n */\n handleSubmit: PropTypes.func,\n /**\n * Function to be called on clicking the cancel button .\n */\n handleCancel: PropTypes.func,\n};\n\nexport default InlineInput;\n","import { useField, useFormikContext } from \"formik\";\nimport { omit } from \"ramda\";\n\nimport InlineInput from \"./InlineInput\";\n\nconst FormikInlineInput = ({ name, ...props }) => {\n const [field, meta, { setValue, setTouched }] = useField(name);\n\n const { submitForm, isSubmitting, resetForm, dirty } = useFormikContext();\n\n const handleSubmit = value => {\n setValue(value);\n\n props.handleSubmit?.(value);\n\n return submitForm();\n };\n\n return (\n <InlineInput\n error={meta.touched ? meta.error : \"\"}\n isSaving={isSubmitting}\n {...props}\n handleCancel={() => {\n resetForm();\n props.handleCancel?.();\n }}\n {...{ handleSubmit, ...omit([\"onBlur\"], field), dirty }}\n onInlineInputBlur={trimmedValue => {\n setValue(trimmedValue);\n setTouched(true);\n }}\n />\n );\n};\n\nexport default FormikInlineInput;\n"],"names":["TOOLTIP_PROPS","save","content","t","position","delay","cancel","mergeRefs","_len","arguments","length","refs","Array","_key","node","forEach","ref","current","InlineInput","forwardRef","props","_props$saveOnBlur","saveOnBlur","_props$clearOnSave","clearOnSave","_props$nullable","nullable","_props$value","value","isSaving","_props$className","className","_props$handleSubmit","handleSubmit","noop","_props$handleCancel","handleCancel","_props$submitButtonPr","submitButtonProps","_props$cancelButtonPr","cancelButtonProps","dirty","_props$onInlineInputB","onInlineInputBlur","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","isSubmitting","setIsSubmitting","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","internalValue","setInternalValue","inputRef","useRef","inputWrapperRef","trimmedValue","trim","isValidValue","isNotEmpty","isNotNil","isDirty","handleFocusOut","onSubmit","onCancel","useOnClickOutside","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","finish","stop","apply","closeRef","useHotkeys","event","stopPropagation","mode","submitRef","enabled","useEffect","focus","_jsx","classnames","_defineProperty","children","Input","_objectSpread","disableTrimOnBlur","disabled","suffix","_jsxs","_Fragment","Button","icon","Check","loading","size","style","tabIndex","tooltipProps","onClick","Close","onChange","e","_otherProps$onChange","call","target","displayName","FormikInlineInput","name","_useField","useField","_useField2","field","meta","_useField2$","setValue","setTouched","_useFormikContext","useFormikContext","submitForm","resetForm","error","touched","omit"],"mappings":"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"}
@@ -39,7 +39,7 @@ var Link = function Link(_ref) {
39
39
  var url = new URL(to);
40
40
  url.host = "";
41
41
  return /*#__PURE__*/jsxRuntime.jsx(reactRouterDom.Link, _objectSpread$1(_objectSpread$1({}, rest), {}, {
42
- to: url.pathname,
42
+ to: "".concat(url.pathname).concat(url.search),
43
43
  children: children
44
44
  }));
45
45
  };
@@ -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}>\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","import classNames from \"classnames\";\nimport { humanize, isNotPresent } from \"neetocist\";\nimport { Modal, Typography, NoData } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Link from \"./Link\";\nimport { htmlToText, highlightMatch, filterAndHighlightContent } from \"./utils\";\n\nconst ModalBody = ({\n containerRef,\n data,\n iconComponentMap,\n onClose,\n loading,\n searchTerm,\n}) => {\n const { t } = useTranslation();\n\n const isDataEmpty =\n isNotPresent(data) || Object.values(data).every(isNotPresent);\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=\"space-y-4\" ref={containerRef}>\n {Object.keys(data).map(key => {\n if (isNotPresent(data[key])) return null;\n\n return (\n <div className=\"w-full\" key={key}>\n <Typography className=\"mb-2\" style=\"h6\" textTransform=\"uppercase\">\n {humanize(key)}\n </Typography>\n <div className=\"w-full\">\n {data[key].map(item => {\n const Icon =\n iconComponentMap[key] || 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\n className=\"neeto-ui-text-gray-500 min-w-fit\"\n size={16}\n />\n <div className=\"line-clamp-1 flex flex-col\">\n {nameContent && (\n <Typography className=\"neeto-ui-text-black text-sm font-medium\">\n {highlightMatch(nameContent, searchTerm)}\n </Typography>\n )}\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\":\n !nameContent,\n })}\n >\n {filteredBodyContent || bodyContent}\n </Typography>\n )}\n </div>\n </Link>\n );\n })}\n </div>\n </div>\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=\"ml-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=\"ml-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\n */\n data: 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 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","pathname","minMax","number","max","arguments","length","undefined","Number","POSITIVE_INFINITY","min","Math","htmlToText","html","tmp","document","createElement","innerHTML","textContent","innerText","highlightMatch","text","searchTerm","regex","RegExp","concat","split","map","part","index","toLowerCase","className","filterAndHighlightContent","bodyContent","filter","line","trim","includes","_jsxs","React","Fragment","ModalBody","containerRef","data","iconComponentMap","onClose","loading","_useTranslation","useTranslation","t","isDataEmpty","isNotPresent","Object","values","every","Modal","Body","NoData","description","title","ref","keys","key","Typography","style","textTransform","humanize","item","Icon","nameContent","name","body","filteredBodyContent","onClick","size","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","import classNames from \"classnames\";\nimport { humanize, isNotPresent } from \"neetocist\";\nimport { Modal, Typography, NoData } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Link from \"./Link\";\nimport { htmlToText, highlightMatch, filterAndHighlightContent } from \"./utils\";\n\nconst ModalBody = ({\n containerRef,\n data,\n iconComponentMap,\n onClose,\n loading,\n searchTerm,\n}) => {\n const { t } = useTranslation();\n\n const isDataEmpty =\n isNotPresent(data) || Object.values(data).every(isNotPresent);\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=\"space-y-4\" ref={containerRef}>\n {Object.keys(data).map(key => {\n if (isNotPresent(data[key])) return null;\n\n return (\n <div className=\"w-full\" key={key}>\n <Typography className=\"mb-2\" style=\"h6\" textTransform=\"uppercase\">\n {humanize(key)}\n </Typography>\n <div className=\"w-full\">\n {data[key].map(item => {\n const Icon =\n iconComponentMap[key] || 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\n className=\"neeto-ui-text-gray-500 min-w-fit\"\n size={16}\n />\n <div className=\"line-clamp-1 flex flex-col\">\n {nameContent && (\n <Typography className=\"neeto-ui-text-black text-sm font-medium\">\n {highlightMatch(nameContent, searchTerm)}\n </Typography>\n )}\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\":\n !nameContent,\n })}\n >\n {filteredBodyContent || bodyContent}\n </Typography>\n )}\n </div>\n </Link>\n );\n })}\n </div>\n </div>\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=\"ml-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=\"ml-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\n */\n data: 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 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","ModalBody","containerRef","data","iconComponentMap","onClose","loading","_useTranslation","useTranslation","t","isDataEmpty","isNotPresent","Object","values","every","Modal","Body","NoData","description","title","ref","keys","key","Typography","style","textTransform","humanize","item","Icon","nameContent","name","body","filteredBodyContent","onClick","size","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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"}
@@ -104,16 +104,20 @@ var InlineInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
104
104
  while (1) switch (_context.prev = _context.next) {
105
105
  case 0:
106
106
  setIsSubmitting(true);
107
- _context.next = 3;
107
+ _context.prev = 1;
108
+ _context.next = 4;
108
109
  return handleSubmit(trimmedValue);
109
- case 3:
110
- setIsSubmitting(false);
110
+ case 4:
111
111
  clearOnSave && setInternalValue("");
112
112
  case 5:
113
+ _context.prev = 5;
114
+ setIsSubmitting(false);
115
+ return _context.finish(5);
116
+ case 8:
113
117
  case "end":
114
118
  return _context.stop();
115
119
  }
116
- }, _callee);
120
+ }, _callee, null, [[1,, 5, 8]]);
117
121
  }));
118
122
  return function onSubmit() {
119
123
  return _ref.apply(this, arguments);
@@ -1 +1 @@
1
- {"version":3,"file":"InlineInput.js","sources":["../../src/components/InlineInput/constants.js","../../src/components/InlineInput/utils.js","../../src/components/InlineInput/InlineInput.jsx","../../src/components/InlineInput/FormikInlineInput.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const TOOLTIP_PROPS = {\n save: {\n content: t(\"neetoMolecules.common.actions.save\"),\n position: \"top\",\n delay: 300,\n },\n cancel: {\n content: t(\"neetoMolecules.common.actions.cancel\"),\n position: \"top\",\n delay: 300,\n },\n};\n","export const mergeRefs =\n (...refs) =>\n node =>\n refs.forEach(ref =>\n typeof ref === \"function\" ? ref(node) : (ref.current = node)\n );\n","import { forwardRef, useEffect, useState, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNotEmpty, noop } from \"neetocist\";\nimport useOnClickOutside from \"neetocommons/react-utils/useOnClickOutside\";\nimport useStateWithDependency from \"neetocommons/react-utils/useStateWithDependency\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Check, Close } from \"neetoicons\";\nimport { Button, Input } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { isNotNil } from \"ramda\";\n\nimport { TOOLTIP_PROPS } from \"./constants\";\nimport \"./inlineinput.scss\";\nimport { mergeRefs } from \"./utils\";\n\nconst InlineInput = forwardRef((props, ref) => {\n const {\n saveOnBlur = false,\n clearOnSave = false,\n nullable = false,\n value = \"\",\n isSaving,\n className = \"\",\n handleSubmit = noop,\n handleCancel = noop,\n submitButtonProps = {},\n cancelButtonProps = {},\n dirty,\n onInlineInputBlur = noop,\n ...otherProps\n } = props;\n\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [internalValue, setInternalValue] = useStateWithDependency(value ?? \"\");\n const inputRef = useRef(null);\n const inputWrapperRef = useRef(null);\n const trimmedValue = internalValue && internalValue?.trim();\n const isValidValue =\n nullable || (isNotEmpty(trimmedValue) && isNotNil(trimmedValue));\n\n const isDirty = internalValue !== value || dirty;\n\n const handleFocusOut = () => {\n if (!isValidValue || isSubmitting) return;\n\n onInlineInputBlur(trimmedValue);\n\n if (saveOnBlur && isDirty) {\n onSubmit();\n\n return;\n }\n\n onCancel();\n };\n\n useOnClickOutside(inputWrapperRef, handleFocusOut);\n\n const onSubmit = async () => {\n setIsSubmitting(true);\n await handleSubmit(trimmedValue);\n setIsSubmitting(false);\n clearOnSave && setInternalValue(\"\");\n };\n\n const onCancel = () => {\n handleCancel(trimmedValue);\n };\n\n const closeRef = useHotkeys(\n \"escape\",\n event => {\n event.stopPropagation();\n onCancel();\n },\n { mode: \"scoped\" }\n );\n\n const submitRef = useHotkeys([\"command+return\", \"return\"], () => onSubmit(), {\n mode: \"scoped\",\n enabled: isValidValue,\n });\n\n useEffect(() => inputRef.current && inputRef.current.focus(), [isSubmitting]);\n\n return (\n <div\n className={classnames(\"flex flex-grow\", { [className]: className })}\n ref={inputWrapperRef}\n >\n <Input\n disableTrimOnBlur\n className=\"neeto-molecules-autosave-input\"\n data-testid=\"neeto-molecules-autosave-input\"\n disabled={isSubmitting}\n ref={mergeRefs(inputRef, closeRef, submitRef)}\n value={internalValue}\n {...otherProps}\n suffix={\n <>\n <Button\n data-testid=\"neeto-molecules-autosave-input-save\"\n icon={Check}\n loading={isSubmitting || isSaving}\n size=\"small\"\n style=\"text\"\n tabIndex={-1}\n tooltipProps={TOOLTIP_PROPS[\"save\"]}\n onClick={onSubmit}\n {...submitButtonProps}\n disabled={\n !isValidValue ||\n isSubmitting ||\n isSaving ||\n submitButtonProps.disabled ||\n !isDirty\n }\n />\n <Button\n {...{ ref }}\n data-testid=\"neeto-molecules-autosave-input-cancel\"\n icon={Close}\n size=\"small\"\n style=\"text\"\n tabIndex={-1}\n tooltipProps={TOOLTIP_PROPS[\"cancel\"]}\n onClick={onCancel}\n {...cancelButtonProps}\n disabled={isSubmitting || isSaving || cancelButtonProps.disabled}\n />\n </>\n }\n onChange={e => {\n otherProps?.onChange?.(e);\n setInternalValue(e.target.value);\n }}\n />\n </div>\n );\n});\n\nInlineInput.displayName = \"InlineInput\";\n\nInlineInput.propTypes = {\n /**\n * To provide additional classes to the component.\n */\n className: PropTypes.string,\n /**\n * To specify the text to be displayed in the component.\n */\n value: PropTypes.string,\n /**\n * To enable submission of empty values.\n */\n nullable: PropTypes.bool,\n /**\n * To specify whether the value is being saved.\n */\n isSaving: PropTypes.bool,\n /**\n * To specify whether to save the value on blur.\n */\n saveOnBlur: PropTypes.bool,\n /**\n * To specify whether to clear the input on save.\n */\n clearOnSave: PropTypes.bool,\n /**\n * To specify additional props for submit button.\n */\n submitButtonProps: PropTypes.object,\n /**\n * To specify additional props for cancel button.\n */\n cancelButtonProps: PropTypes.object,\n /**\n * Function to be called on clicking the submit button.\n */\n handleSubmit: PropTypes.func,\n /**\n * Function to be called on clicking the cancel button .\n */\n handleCancel: PropTypes.func,\n};\n\nexport default InlineInput;\n","import { useField, useFormikContext } from \"formik\";\nimport { omit } from \"ramda\";\n\nimport InlineInput from \"./InlineInput\";\n\nconst FormikInlineInput = ({ name, ...props }) => {\n const [field, meta, { setValue, setTouched }] = useField(name);\n\n const { submitForm, isSubmitting, resetForm, dirty } = useFormikContext();\n\n const handleSubmit = value => {\n setValue(value);\n\n props.handleSubmit?.(value);\n\n return submitForm();\n };\n\n return (\n <InlineInput\n error={meta.touched ? meta.error : \"\"}\n isSaving={isSubmitting}\n {...props}\n handleCancel={() => {\n resetForm();\n props.handleCancel?.();\n }}\n {...{ handleSubmit, ...omit([\"onBlur\"], field), dirty }}\n onInlineInputBlur={trimmedValue => {\n setValue(trimmedValue);\n setTouched(true);\n }}\n />\n );\n};\n\nexport default FormikInlineInput;\n"],"names":["TOOLTIP_PROPS","save","content","t","position","delay","cancel","mergeRefs","_len","arguments","length","refs","Array","_key","node","forEach","ref","current","InlineInput","forwardRef","props","_props$saveOnBlur","saveOnBlur","_props$clearOnSave","clearOnSave","_props$nullable","nullable","_props$value","value","isSaving","_props$className","className","_props$handleSubmit","handleSubmit","noop","_props$handleCancel","handleCancel","_props$submitButtonPr","submitButtonProps","_props$cancelButtonPr","cancelButtonProps","dirty","_props$onInlineInputB","onInlineInputBlur","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","isSubmitting","setIsSubmitting","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","internalValue","setInternalValue","inputRef","useRef","inputWrapperRef","trimmedValue","trim","isValidValue","isNotEmpty","isNotNil","isDirty","handleFocusOut","onSubmit","onCancel","useOnClickOutside","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","stop","apply","closeRef","useHotkeys","event","stopPropagation","mode","submitRef","enabled","useEffect","focus","_jsx","classnames","_defineProperty","children","Input","_objectSpread","disableTrimOnBlur","disabled","suffix","_jsxs","_Fragment","Button","icon","Check","loading","size","style","tabIndex","tooltipProps","onClick","Close","onChange","e","_otherProps$onChange","call","target","displayName","FormikInlineInput","name","_useField","useField","_useField2","field","meta","_useField2$","setValue","setTouched","_useFormikContext","useFormikContext","submitForm","resetForm","error","touched","omit"],"mappings":"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"}
1
+ {"version":3,"file":"InlineInput.js","sources":["../../src/components/InlineInput/constants.js","../../src/components/InlineInput/utils.js","../../src/components/InlineInput/InlineInput.jsx","../../src/components/InlineInput/FormikInlineInput.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const TOOLTIP_PROPS = {\n save: {\n content: t(\"neetoMolecules.common.actions.save\"),\n position: \"top\",\n delay: 300,\n },\n cancel: {\n content: t(\"neetoMolecules.common.actions.cancel\"),\n position: \"top\",\n delay: 300,\n },\n};\n","export const mergeRefs =\n (...refs) =>\n node =>\n refs.forEach(ref =>\n typeof ref === \"function\" ? ref(node) : (ref.current = node)\n );\n","import { forwardRef, useEffect, useState, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNotEmpty, noop } from \"neetocist\";\nimport useOnClickOutside from \"neetocommons/react-utils/useOnClickOutside\";\nimport useStateWithDependency from \"neetocommons/react-utils/useStateWithDependency\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Check, Close } from \"neetoicons\";\nimport { Button, Input } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { isNotNil } from \"ramda\";\n\nimport { TOOLTIP_PROPS } from \"./constants\";\nimport \"./inlineinput.scss\";\nimport { mergeRefs } from \"./utils\";\n\nconst InlineInput = forwardRef((props, ref) => {\n const {\n saveOnBlur = false,\n clearOnSave = false,\n nullable = false,\n value = \"\",\n isSaving,\n className = \"\",\n handleSubmit = noop,\n handleCancel = noop,\n submitButtonProps = {},\n cancelButtonProps = {},\n dirty,\n onInlineInputBlur = noop,\n ...otherProps\n } = props;\n\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [internalValue, setInternalValue] = useStateWithDependency(value ?? \"\");\n const inputRef = useRef(null);\n const inputWrapperRef = useRef(null);\n const trimmedValue = internalValue && internalValue?.trim();\n const isValidValue =\n nullable || (isNotEmpty(trimmedValue) && isNotNil(trimmedValue));\n\n const isDirty = internalValue !== value || dirty;\n\n const handleFocusOut = () => {\n if (!isValidValue || isSubmitting) return;\n\n onInlineInputBlur(trimmedValue);\n\n if (saveOnBlur && isDirty) {\n onSubmit();\n\n return;\n }\n\n onCancel();\n };\n\n useOnClickOutside(inputWrapperRef, handleFocusOut);\n\n const onSubmit = async () => {\n setIsSubmitting(true);\n try {\n await handleSubmit(trimmedValue);\n clearOnSave && setInternalValue(\"\");\n } finally {\n setIsSubmitting(false);\n }\n };\n\n const onCancel = () => {\n handleCancel(trimmedValue);\n };\n\n const closeRef = useHotkeys(\n \"escape\",\n event => {\n event.stopPropagation();\n onCancel();\n },\n { mode: \"scoped\" }\n );\n\n const submitRef = useHotkeys([\"command+return\", \"return\"], () => onSubmit(), {\n mode: \"scoped\",\n enabled: isValidValue,\n });\n\n useEffect(() => inputRef.current && inputRef.current.focus(), [isSubmitting]);\n\n return (\n <div\n className={classnames(\"flex flex-grow\", { [className]: className })}\n ref={inputWrapperRef}\n >\n <Input\n disableTrimOnBlur\n className=\"neeto-molecules-autosave-input\"\n data-testid=\"neeto-molecules-autosave-input\"\n disabled={isSubmitting}\n ref={mergeRefs(inputRef, closeRef, submitRef)}\n value={internalValue}\n {...otherProps}\n suffix={\n <>\n <Button\n data-testid=\"neeto-molecules-autosave-input-save\"\n icon={Check}\n loading={isSubmitting || isSaving}\n size=\"small\"\n style=\"text\"\n tabIndex={-1}\n tooltipProps={TOOLTIP_PROPS[\"save\"]}\n onClick={onSubmit}\n {...submitButtonProps}\n disabled={\n !isValidValue ||\n isSubmitting ||\n isSaving ||\n submitButtonProps.disabled ||\n !isDirty\n }\n />\n <Button\n {...{ ref }}\n data-testid=\"neeto-molecules-autosave-input-cancel\"\n icon={Close}\n size=\"small\"\n style=\"text\"\n tabIndex={-1}\n tooltipProps={TOOLTIP_PROPS[\"cancel\"]}\n onClick={onCancel}\n {...cancelButtonProps}\n disabled={isSubmitting || isSaving || cancelButtonProps.disabled}\n />\n </>\n }\n onChange={e => {\n otherProps?.onChange?.(e);\n setInternalValue(e.target.value);\n }}\n />\n </div>\n );\n});\n\nInlineInput.displayName = \"InlineInput\";\n\nInlineInput.propTypes = {\n /**\n * To provide additional classes to the component.\n */\n className: PropTypes.string,\n /**\n * To specify the text to be displayed in the component.\n */\n value: PropTypes.string,\n /**\n * To enable submission of empty values.\n */\n nullable: PropTypes.bool,\n /**\n * To specify whether the value is being saved.\n */\n isSaving: PropTypes.bool,\n /**\n * To specify whether to save the value on blur.\n */\n saveOnBlur: PropTypes.bool,\n /**\n * To specify whether to clear the input on save.\n */\n clearOnSave: PropTypes.bool,\n /**\n * To specify additional props for submit button.\n */\n submitButtonProps: PropTypes.object,\n /**\n * To specify additional props for cancel button.\n */\n cancelButtonProps: PropTypes.object,\n /**\n * Function to be called on clicking the submit button.\n */\n handleSubmit: PropTypes.func,\n /**\n * Function to be called on clicking the cancel button .\n */\n handleCancel: PropTypes.func,\n};\n\nexport default InlineInput;\n","import { useField, useFormikContext } from \"formik\";\nimport { omit } from \"ramda\";\n\nimport InlineInput from \"./InlineInput\";\n\nconst FormikInlineInput = ({ name, ...props }) => {\n const [field, meta, { setValue, setTouched }] = useField(name);\n\n const { submitForm, isSubmitting, resetForm, dirty } = useFormikContext();\n\n const handleSubmit = value => {\n setValue(value);\n\n props.handleSubmit?.(value);\n\n return submitForm();\n };\n\n return (\n <InlineInput\n error={meta.touched ? meta.error : \"\"}\n isSaving={isSubmitting}\n {...props}\n handleCancel={() => {\n resetForm();\n props.handleCancel?.();\n }}\n {...{ handleSubmit, ...omit([\"onBlur\"], field), dirty }}\n onInlineInputBlur={trimmedValue => {\n setValue(trimmedValue);\n setTouched(true);\n }}\n />\n );\n};\n\nexport default FormikInlineInput;\n"],"names":["TOOLTIP_PROPS","save","content","t","position","delay","cancel","mergeRefs","_len","arguments","length","refs","Array","_key","node","forEach","ref","current","InlineInput","forwardRef","props","_props$saveOnBlur","saveOnBlur","_props$clearOnSave","clearOnSave","_props$nullable","nullable","_props$value","value","isSaving","_props$className","className","_props$handleSubmit","handleSubmit","noop","_props$handleCancel","handleCancel","_props$submitButtonPr","submitButtonProps","_props$cancelButtonPr","cancelButtonProps","dirty","_props$onInlineInputB","onInlineInputBlur","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","isSubmitting","setIsSubmitting","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","internalValue","setInternalValue","inputRef","useRef","inputWrapperRef","trimmedValue","trim","isValidValue","isNotEmpty","isNotNil","isDirty","handleFocusOut","onSubmit","onCancel","useOnClickOutside","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","finish","stop","apply","closeRef","useHotkeys","event","stopPropagation","mode","submitRef","enabled","useEffect","focus","_jsx","classnames","_defineProperty","children","Input","_objectSpread","disableTrimOnBlur","disabled","suffix","_jsxs","_Fragment","Button","icon","Check","loading","size","style","tabIndex","tooltipProps","onClick","Close","onChange","e","_otherProps$onChange","call","target","displayName","FormikInlineInput","name","_useField","useField","_useField2","field","meta","_useField2$","setValue","setTouched","_useFormikContext","useFormikContext","submitForm","resetForm","error","touched","omit"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-molecules",
3
- "version": "3.16.96",
3
+ "version": "3.16.98",
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>",