@bigbinary/neeto-molecules 3.15.21 → 3.15.23
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/FinderModal.js +41 -10
- package/dist/FinderModal.js.map +1 -1
- package/dist/Metadata.js +4 -4
- package/dist/Metadata.js.map +1 -1
- package/dist/SessionEnvironment.js +10 -9
- package/dist/SessionEnvironment.js.map +1 -1
- package/dist/cjs/FinderModal.js +41 -10
- package/dist/cjs/FinderModal.js.map +1 -1
- package/dist/cjs/Metadata.js +4 -4
- package/dist/cjs/Metadata.js.map +1 -1
- package/dist/cjs/SessionEnvironment.js +10 -9
- package/dist/cjs/SessionEnvironment.js.map +1 -1
- package/package.json +1 -1
- package/src/translations/en.json +3 -1
- package/types/FinderModal.d.ts +1 -0
package/dist/FinderModal.js
CHANGED
|
@@ -5,13 +5,14 @@ import { isNotPresent, humanize, noop } from '@bigbinary/neeto-cist';
|
|
|
5
5
|
import useHotkeys from '@bigbinary/neeto-hotkeys';
|
|
6
6
|
import Modal from '@bigbinary/neetoui/Modal';
|
|
7
7
|
import Typography from '@bigbinary/neetoui/Typography';
|
|
8
|
+
import NoData from '@bigbinary/neetoui/NoData';
|
|
9
|
+
import { useTranslation } from 'react-i18next';
|
|
8
10
|
import { Link as Link$1 } from 'react-router-dom';
|
|
9
11
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
10
12
|
import { n } from './inject-css-DmrvuTKK.js';
|
|
11
13
|
import Down from '@bigbinary/neeto-icons/Down';
|
|
12
14
|
import Up from '@bigbinary/neeto-icons/Up';
|
|
13
15
|
import { prop } from 'ramda';
|
|
14
|
-
import { useTranslation } from 'react-i18next';
|
|
15
16
|
import { withT } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
16
17
|
import Button from '@bigbinary/neetoui/Button';
|
|
17
18
|
import Spinner from '@bigbinary/neetoui/Spinner';
|
|
@@ -50,14 +51,38 @@ var htmlToText = function htmlToText(html) {
|
|
|
50
51
|
tmp.innerHTML = html;
|
|
51
52
|
return tmp.textContent || tmp.innerText || "";
|
|
52
53
|
};
|
|
54
|
+
var highlightMatch = function highlightMatch(text, searchTerm) {
|
|
55
|
+
if (!searchTerm) return text;
|
|
56
|
+
var regex = new RegExp("(".concat(searchTerm, ")"), "gi");
|
|
57
|
+
return text.split(regex).map(function (part, index) {
|
|
58
|
+
return part.toLowerCase() === searchTerm.toLowerCase() ? /*#__PURE__*/jsx("span", {
|
|
59
|
+
className: "neeto-molecules-finder-matched-tag",
|
|
60
|
+
children: part
|
|
61
|
+
}, index) : part;
|
|
62
|
+
});
|
|
63
|
+
};
|
|
53
64
|
|
|
54
65
|
var ModalBody = function ModalBody(_ref) {
|
|
55
66
|
var containerRef = _ref.containerRef,
|
|
56
67
|
data = _ref.data,
|
|
57
68
|
iconComponentMap = _ref.iconComponentMap,
|
|
58
|
-
onClose = _ref.onClose
|
|
69
|
+
onClose = _ref.onClose,
|
|
70
|
+
loading = _ref.loading,
|
|
71
|
+
searchTerm = _ref.searchTerm;
|
|
72
|
+
var _useTranslation = useTranslation(),
|
|
73
|
+
t = _useTranslation.t;
|
|
74
|
+
var isDataEmpty = isNotPresent(data) || Object.values(data).every(isNotPresent);
|
|
75
|
+
if (isDataEmpty && !loading) {
|
|
76
|
+
return /*#__PURE__*/jsx(Modal.Body, {
|
|
77
|
+
className: "neeto-molecules-finder-modal__body flex h-96 items-center justify-center overflow-y-auto px-4 py-6",
|
|
78
|
+
children: /*#__PURE__*/jsx(NoData, {
|
|
79
|
+
description: t("neetoMolecules.finderModal.noDataDesc"),
|
|
80
|
+
title: t("neetoMolecules.finderModal.noDataTitle")
|
|
81
|
+
})
|
|
82
|
+
});
|
|
83
|
+
}
|
|
59
84
|
return /*#__PURE__*/jsx(Modal.Body, {
|
|
60
|
-
className: "h-96 overflow-y-auto px-4 py-6",
|
|
85
|
+
className: "neeto-molecules-finder-modal__body h-96 overflow-y-auto px-4 py-6",
|
|
61
86
|
children: /*#__PURE__*/jsx("div", {
|
|
62
87
|
className: "space-y-4",
|
|
63
88
|
ref: containerRef,
|
|
@@ -75,6 +100,7 @@ var ModalBody = function ModalBody(_ref) {
|
|
|
75
100
|
children: data[key].map(function (item) {
|
|
76
101
|
var _ref2, _item$content;
|
|
77
102
|
var Icon = iconComponentMap[key] || iconComponentMap["default"];
|
|
103
|
+
var textContent = htmlToText((_ref2 = (_item$content = item.content) !== null && _item$content !== void 0 ? _item$content : item.body) !== null && _ref2 !== void 0 ? _ref2 : item.name);
|
|
78
104
|
return /*#__PURE__*/jsxs(Link, {
|
|
79
105
|
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",
|
|
80
106
|
to: item.url,
|
|
@@ -86,7 +112,7 @@ var ModalBody = function ModalBody(_ref) {
|
|
|
86
112
|
className: "neeto-ui-text-black line-clamp-1",
|
|
87
113
|
component: "span",
|
|
88
114
|
style: "body2",
|
|
89
|
-
children:
|
|
115
|
+
children: highlightMatch(textContent, searchTerm)
|
|
90
116
|
})]
|
|
91
117
|
}, item.id);
|
|
92
118
|
})
|
|
@@ -97,7 +123,7 @@ var ModalBody = function ModalBody(_ref) {
|
|
|
97
123
|
});
|
|
98
124
|
};
|
|
99
125
|
|
|
100
|
-
var css = ".neeto-molecules-finder-modal__search .neeto-ui-input--naked input{padding-left:4px}";
|
|
126
|
+
var css = ".neeto-molecules-finder-modal__search .neeto-ui-input--naked input{padding-left:4px}.neeto-molecules-finder-modal-backdrop{grid-template-columns:100%}.neeto-molecules-finder-modal-backdrop .neeto-ui-modal__wrapper.neeto-molecules-finder-modal{margin-left:auto;margin-right:auto;max-width:740px;width:100%}.neeto-molecules-finder-matched-tag{background-color:#fbe48f!important}.neeto-molecules-finder-modal__footer{--neeto-ui-modal-footer-bg:rgb(var(--neeto-ui-white))}";
|
|
101
127
|
n(css,{});
|
|
102
128
|
|
|
103
129
|
var ModalFooter = function ModalFooter(_ref) {
|
|
@@ -128,7 +154,7 @@ var ModalFooter = function ModalFooter(_ref) {
|
|
|
128
154
|
isVisible: true
|
|
129
155
|
}];
|
|
130
156
|
return /*#__PURE__*/jsx(Modal.Footer, {
|
|
131
|
-
className: "neeto-ui-border-gray-300 border-t px-4 py-
|
|
157
|
+
className: "neeto-ui-border-gray-300 neeto-molecules-finder-modal__footer border-t px-4 py-3",
|
|
132
158
|
children: /*#__PURE__*/jsx("div", {
|
|
133
159
|
className: "neeto-ui-text-xxs flex items-center justify-end gap-4",
|
|
134
160
|
children: shortcuts.filter(prop("isVisible")).map(function (_ref2, index) {
|
|
@@ -161,12 +187,12 @@ var ModalHeader = withT(function (_ref) {
|
|
|
161
187
|
onSearch = _ref.onSearch,
|
|
162
188
|
onGoToAdvanced = _ref.onGoToAdvanced;
|
|
163
189
|
return /*#__PURE__*/jsx(Modal.Header, {
|
|
164
|
-
className: "border-b px-0 py-0",
|
|
190
|
+
className: "neeto-molecules-finder-modal__header border-b px-0 py-0",
|
|
165
191
|
children: /*#__PURE__*/jsx(Search, {
|
|
166
192
|
onSearch: onSearch,
|
|
167
193
|
nakedInput: true,
|
|
168
194
|
autoComplete: "off",
|
|
169
|
-
className: "neeto-molecules-finder-modal__search px-
|
|
195
|
+
className: "neeto-molecules-finder-modal__search px-3 py-1.5",
|
|
170
196
|
name: "term",
|
|
171
197
|
placeholder: t("neetoMolecules.common.actions.search"),
|
|
172
198
|
suffix: /*#__PURE__*/jsxs("div", {
|
|
@@ -188,7 +214,7 @@ var ModalHeader = withT(function (_ref) {
|
|
|
188
214
|
});
|
|
189
215
|
});
|
|
190
216
|
|
|
191
|
-
var _excluded = ["enableAdvancedSearch", "data", "iconComponentMap", "isFetching", "isOpen", "setSearchTerm", "onClose", "onGoToAdvanced"];
|
|
217
|
+
var _excluded = ["enableAdvancedSearch", "data", "iconComponentMap", "isFetching", "isOpen", "searchTerm", "setSearchTerm", "onClose", "onGoToAdvanced"];
|
|
192
218
|
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; }
|
|
193
219
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(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; }
|
|
194
220
|
var FinderModal = function FinderModal(_ref) {
|
|
@@ -198,6 +224,7 @@ var FinderModal = function FinderModal(_ref) {
|
|
|
198
224
|
iconComponentMap = _ref.iconComponentMap,
|
|
199
225
|
isFetching = _ref.isFetching,
|
|
200
226
|
isOpen = _ref.isOpen,
|
|
227
|
+
searchTerm = _ref.searchTerm,
|
|
201
228
|
setSearchTerm = _ref.setSearchTerm,
|
|
202
229
|
onClose = _ref.onClose,
|
|
203
230
|
_ref$onGoToAdvanced = _ref.onGoToAdvanced,
|
|
@@ -229,6 +256,8 @@ var FinderModal = function FinderModal(_ref) {
|
|
|
229
256
|
onClose: onClose,
|
|
230
257
|
closeButton: false
|
|
231
258
|
}, props), {}, {
|
|
259
|
+
backdropClassName: "neeto-molecules-finder-modal-backdrop py-10 px-4",
|
|
260
|
+
className: "neeto-molecules-finder-modal",
|
|
232
261
|
children: [/*#__PURE__*/jsx(ModalHeader, {
|
|
233
262
|
enableAdvancedSearch: enableAdvancedSearch,
|
|
234
263
|
onGoToAdvanced: onGoToAdvanced,
|
|
@@ -238,7 +267,9 @@ var FinderModal = function FinderModal(_ref) {
|
|
|
238
267
|
containerRef: containerRef,
|
|
239
268
|
data: data,
|
|
240
269
|
iconComponentMap: iconComponentMap,
|
|
241
|
-
onClose: onClose
|
|
270
|
+
onClose: onClose,
|
|
271
|
+
searchTerm: searchTerm,
|
|
272
|
+
loading: isFetching
|
|
242
273
|
}), /*#__PURE__*/jsx(ModalFooter, {
|
|
243
274
|
enableAdvancedSearch: enableAdvancedSearch
|
|
244
275
|
})]
|
package/dist/FinderModal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FinderModal.js","sources":["../src/components/FinderModal/Link.jsx","../src/components/FinderModal/utils.js","../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","export const minMax = (number, max = Number.POSITIVE_INFINITY, min = 0) =>\n Math.min(max, Math.max(min, number));\n\nexport const htmlToText = html => {\n const tmp = document.createElement(\"div\");\n tmp.innerHTML = html;\n\n return tmp.textContent || tmp.innerText || \"\";\n};\n","import { humanize, isNotPresent } from \"neetocist\";\nimport { Modal, Typography } from \"neetoui\";\n\nimport Link from \"./Link\";\nimport { htmlToText } from \"./utils\";\n\nconst ModalBody = ({ containerRef, data, iconComponentMap, onClose }) => (\n <Modal.Body className=\"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 = iconComponentMap[key] || iconComponentMap.default;\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 <Typography\n className=\"neeto-ui-text-black line-clamp-1\"\n component=\"span\"\n style=\"body2\"\n >\n {htmlToText(item.content ?? item.body ?? item.name)}\n </Typography>\n </Link>\n );\n })}\n </div>\n </div>\n );\n })}\n </div>\n </Modal.Body>\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 border-t px-4 py-2\">\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=\"border-b px-0 py-0\">\n <Search\n {...{ onSearch }}\n nakedInput\n autoComplete=\"off\"\n className=\"neeto-molecules-finder-modal__search px-4 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\";\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 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 const nodes = container.querySelectorAll(\n \"a.neeto-molecules-search-result-item\"\n );\n\n mutables.focusIndex = minMax(\n mutables.focusIndex + offset,\n nodes.length - 1\n );\n nodes[mutables.focusIndex].focus();\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 {...{ isOpen, onClose }} closeButton={false} {...props}>\n <ModalHeader\n {...{ enableAdvancedSearch, onGoToAdvanced }}\n loading={isFetching}\n onSearch={setSearchTerm}\n />\n <ModalBody {...{ containerRef, data, iconComponentMap, onClose }} />\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 content: 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 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","ModalBody","containerRef","data","iconComponentMap","onClose","Modal","Body","className","ref","Object","keys","map","key","isNotPresent","_jsxs","Typography","style","textTransform","humanize","item","_ref2","_item$content","Icon","onClick","size","component","content","body","name","id","ModalFooter","enableAdvancedSearch","_useTranslation","useTranslation","t","shortcuts","label","isVisible","Up","Down","Footer","filter","prop","index","ModalHeader","withT","loading","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","focus","useHotkeys","event","preventDefault","code","mode","enabled","closeButton"],"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}>\n {children}\n </RRDLink>\n );\n};\n\nexport default Link;\n","export const minMax = (number, max = Number.POSITIVE_INFINITY, min = 0) =>\n Math.min(max, Math.max(min, number));\n\nexport const htmlToText = html => {\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 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","import { humanize, isNotPresent } from \"neetocist\";\nimport { Modal, Typography, NoData } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Link from \"./Link\";\nimport { htmlToText, highlightMatch } 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 textContent = htmlToText(\n item.content ?? item.body ?? item.name\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 <Typography\n className=\"neeto-ui-text-black line-clamp-1\"\n component=\"span\"\n style=\"body2\"\n >\n {highlightMatch(textContent, searchTerm)}\n </Typography>\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 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\";\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 const nodes = container.querySelectorAll(\n \"a.neeto-molecules-search-result-item\"\n );\n\n mutables.focusIndex = minMax(\n mutables.focusIndex + offset,\n nodes.length - 1\n );\n nodes[mutables.focusIndex].focus();\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 content: 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","ModalBody","containerRef","data","iconComponentMap","onClose","loading","_useTranslation","useTranslation","t","isDataEmpty","isNotPresent","Object","values","every","Modal","Body","NoData","description","title","ref","keys","key","_jsxs","Typography","style","textTransform","humanize","item","_ref2","_item$content","Icon","content","body","name","onClick","size","component","id","ModalFooter","enableAdvancedSearch","shortcuts","label","isVisible","Up","Down","Footer","filter","prop","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","focus","useHotkeys","event","preventDefault","code","mode","enabled","closeButton","backdropClassName"],"mappings":"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"}
|
package/dist/Metadata.js
CHANGED
|
@@ -19,10 +19,10 @@ var Block = function Block(_ref) {
|
|
|
19
19
|
_ref$className = _ref.className,
|
|
20
20
|
className = _ref$className === void 0 ? "" : _ref$className;
|
|
21
21
|
return /*#__PURE__*/jsxs("div", {
|
|
22
|
-
className: "neeto-molecules-metadata__block mb-
|
|
22
|
+
className: "neeto-molecules-metadata__block neeto-ui-border-gray-200 mb-4 w-full border-b pb-4",
|
|
23
23
|
"data-cy": "neeto-molecules-metadata-block",
|
|
24
24
|
"data-testid": "metadata-block",
|
|
25
|
-
children: [/*#__PURE__*/jsxs("div", {
|
|
25
|
+
children: [(title || actionBlock) && /*#__PURE__*/jsxs("div", {
|
|
26
26
|
className: "mb-2 flex w-full items-center justify-between gap-2",
|
|
27
27
|
children: [title && /*#__PURE__*/jsx("div", {
|
|
28
28
|
className: "flex w-60 items-center gap-2 break-all",
|
|
@@ -40,7 +40,7 @@ var Block = function Block(_ref) {
|
|
|
40
40
|
})]
|
|
41
41
|
}), !!children && /*#__PURE__*/jsx("div", {
|
|
42
42
|
"data-testid": "metadata-card",
|
|
43
|
-
className: classnames("neeto-ui-bg-white neeto-
|
|
43
|
+
className: classnames("neeto-ui-bg-white neeto-molecules-metadata__card", className),
|
|
44
44
|
children: children
|
|
45
45
|
})]
|
|
46
46
|
});
|
|
@@ -189,7 +189,7 @@ var Metadata = function Metadata(_ref) {
|
|
|
189
189
|
children: /*#__PURE__*/jsxs("div", {
|
|
190
190
|
"data-cy": "neeto-molecules-metadata-wrapper",
|
|
191
191
|
"data-testid": "metadata-wrapper",
|
|
192
|
-
className: classnames("neeto-ui-bg-
|
|
192
|
+
className: classnames("neeto-ui-bg-white neeto-molecules-metadata neeto-ui-border-gray-200 h-screen flex-shrink-0 overflow-y-auto overflow-x-hidden border-l", {
|
|
193
193
|
"neeto-molecules-metadata--size-large": size === SIZES.medium,
|
|
194
194
|
"neeto-molecules-metadata--size-small": size === SIZES.small
|
|
195
195
|
}, className),
|
package/dist/Metadata.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Metadata.js","sources":["../src/components/Metadata/Block.jsx","../src/components/Metadata/constants.js","../src/components/Metadata/DetailsBlock.jsx","../src/components/Metadata/index.jsx"],"sourcesContent":["import classnames from \"classnames\";\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nconst Block = ({ title, actionBlock, children, className = \"\" }) => (\n <div\n className=\"neeto-molecules-metadata__block mb-5 w-full\"\n data-cy=\"neeto-molecules-metadata-block\"\n data-testid=\"metadata-block\"\n >\n <div className=\"mb-2 flex w-full items-center justify-between gap-2\">\n {title && (\n <div className=\"flex w-60 items-center gap-2 break-all\">\n <Typography\n className=\"neeto-ui-text-gray-700\"\n data-testid=\"metadata-block-title\"\n style=\"h5\"\n textTransform=\"uppercase\"\n weight=\"bold\"\n >\n {title}\n </Typography>\n </div>\n )}\n {actionBlock && <div className=\"ml-auto\">{actionBlock}</div>}\n </div>\n {!!children && (\n <div\n data-testid=\"metadata-card\"\n className={classnames(\n \"neeto-ui-bg-white neeto-ui-border-gray-300 neeto-ui-rounded-lg neeto-molecules-metadata__card border p-4\",\n className\n )}\n >\n {children}\n </div>\n )}\n </div>\n);\n\nBlock.propTypes = {\n /**\n * To specify the content to be rendered on the right side of the title.\n */\n actionBlock: PropTypes.node,\n /**\n * To specify the title of the block.\n */\n title: PropTypes.string,\n /**\n * The content to be rendered inside the block.\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n /**\n * To specify external classNames as overrides to the `Block` component.\n */\n className: PropTypes.string,\n};\n\nexport default Block;\n","export const STYLES = { inline: \"inline\", multiline: \"multiline\" };\n\nexport const SIZES = { small: \"small\", medium: \"medium\" };\n\nexport const DEFAULT_TRUNCATE_AT = 3;\n","import { Fragment, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Down, Up } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Block from \"./Block\";\nimport { DEFAULT_TRUNCATE_AT, STYLES } from \"./constants\";\n\nconst DetailsBlock = ({\n title,\n actionBlock,\n details = [],\n className,\n style = STYLES.inline,\n truncate = false,\n truncateAt = DEFAULT_TRUNCATE_AT,\n children,\n}) => {\n const [showTruncated, setShowTruncated] = useState(false);\n\n const { t } = useTranslation();\n\n const [visibleDetails, truncatedDetails] = truncate\n ? [details.slice(0, truncateAt), details.slice(truncateAt)]\n : [details];\n\n const renderDetailsValue = value => {\n if (typeof value === \"string\") {\n return (\n <Typography className=\"break-anywhere\" style=\"body2\">\n {value}\n </Typography>\n );\n }\n\n return <span>{value}</span>;\n };\n\n return (\n <Block\n {...{ actionBlock, className }}\n title={title ?? t(\"neetoMolecules.metadata.detailsTitle\")}\n >\n <div\n className=\"flex flex-col space-y-3\"\n data-cy=\"neeto-molecules-metadata-details-block\"\n >\n {visibleDetails.map(({ label, value, type }, index) => (\n <Fragment key={index}>\n {type === \"divider\" ? (\n <hr className=\"neeto-ui-border-gray-200\" />\n ) : (\n <div\n data-testid=\"details-card-detail-wrapper\"\n className={classnames(\"flex\", {\n \"space-x-4\": style === STYLES.inline,\n \"flex-col\": style === STYLES.multiline,\n })}\n >\n <Typography className=\"neeto-ui-text-gray-600\" style=\"body2\">\n {label}\n </Typography>\n {renderDetailsValue(value)}\n </div>\n )}\n </Fragment>\n ))}\n {!truncate && children}\n {showTruncated && (\n <>\n {truncatedDetails.map(({ label, value, type }, index) => (\n <Fragment key={index}>\n {type === \"divider\" ? (\n <hr className=\"neeto-ui-border-gray-200\" />\n ) : (\n <div\n className={classnames(\"flex\", {\n \"space-x-4\": style === STYLES.inline,\n \"flex-col\": style === STYLES.multiline,\n })}\n >\n <Typography\n className=\"neeto-ui-text-gray-600\"\n style=\"body2\"\n >\n {label}\n </Typography>\n {renderDetailsValue(value)}\n </div>\n )}\n </Fragment>\n ))}\n {children}\n </>\n )}\n {truncate && isNotEmpty(truncatedDetails) && (\n <Button\n data-testid=\"expand-button\"\n icon={showTruncated ? Up : Down}\n style=\"link\"\n label={\n showTruncated\n ? t(\"neetoMolecules.metadata.card.viewLess\")\n : t(\"neetoMolecules.metadata.card.viewMore\")\n }\n onClick={() => setShowTruncated(showTruncated => !showTruncated)}\n />\n )}\n </div>\n </Block>\n );\n};\n\nDetailsBlock.propTypes = {\n /**\n * To specify the content to be rendered on the right side of the title.\n */\n actionBlock: PropTypes.node,\n /**\n * To specify the title of the block.\n */\n title: PropTypes.string,\n /**\n * The details to be rendered inside the block.\n */\n details: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.node,\n type: PropTypes.string,\n })\n ),\n /**\n * To specify whether the label and value should be rendered in a single line or in two lines.\n */\n style: PropTypes.oneOf([\"inline\", \"multiline\"]),\n /**\n * To specify whether the visible details should be truncated at a specific point.\n */\n truncate: PropTypes.bool,\n /**\n * To specify the position at which the details should be truncated and `View more` button should be shown.\n */\n truncateAt: PropTypes.number,\n /**\n * To specify external classNames as overrides to the `DetailsBlock` component.\n */\n className: PropTypes.string,\n /**\n * The additional content to be rendered inside the block.\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n};\n\nexport default DetailsBlock;\n","import { useEffect, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport useBreakpoints from \"neetocommons/react-utils/useBreakpoints\";\nimport { Collapse } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport Block from \"./Block\";\nimport { SIZES } from \"./constants\";\nimport DetailsBlock from \"./DetailsBlock\";\nimport \"./metadata.scss\";\n\nconst Metadata = ({\n headerBlock,\n size = SIZES.medium,\n children,\n className = \"\",\n}) => {\n const { isSize } = useBreakpoints();\n const isLargerScreen = isSize(\"desktop\") || isSize(\"largeDesktop\");\n const [isElementsPanelCollapsed, setIsElementsPanelCollapsed] = useState(\n !isLargerScreen\n );\n\n useEffect(() => {\n setIsElementsPanelCollapsed(!isLargerScreen);\n }, [isLargerScreen]);\n\n return (\n <>\n {!isElementsPanelCollapsed && (\n <div\n className=\"neeto-molecules-metadata-panel__backdrop\"\n onClick={() => {\n setIsElementsPanelCollapsed(!isElementsPanelCollapsed);\n }}\n />\n )}\n <div\n className={classnames(\"neeto-molecules-metadata-list-panel__wrapper\", {\n \"neeto-molecules-metadata-list-panel__wrapper--collapsed\":\n isElementsPanelCollapsed,\n })}\n >\n <div className=\"neeto-molecules-metadata-list-panel__container\">\n <div\n data-cy=\"neeto-molecules-metadata-wrapper\"\n data-testid=\"metadata-wrapper\"\n className={classnames(\n \"neeto-ui-bg-gray-100 neeto-molecules-metadata h-screen flex-shrink-0 overflow-y-auto overflow-x-hidden\",\n {\n \"neeto-molecules-metadata--size-large\": size === SIZES.medium,\n \"neeto-molecules-metadata--size-small\": size === SIZES.small,\n },\n className\n )}\n >\n {headerBlock && (\n <div\n className=\"neeto-molecules-metadata__header mb-5 flex w-full justify-center\"\n data-cy=\"neeto-molecules-metadata-header\"\n data-testid=\"metadata-header\"\n >\n {headerBlock}\n </div>\n )}\n {children}\n </div>\n </div>\n <Button\n className=\"neeto-molecules-metadata-list-panel__toggler\"\n icon={Collapse}\n style=\"secondary\"\n onClick={() => {\n setIsElementsPanelCollapsed(!isElementsPanelCollapsed);\n }}\n />\n </div>\n </>\n );\n};\n\nMetadata.Block = Block;\nMetadata.DetailsBlock = DetailsBlock;\n\nMetadata.propTypes = {\n /**\n * To specify the content to be rendered as the title of the `Metadata` wrapper.\n */\n headerBlock: PropTypes.node,\n /**\n * The content to be rendered inside the `Metadata` wrapper.\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n /**\n * To specify external classNames as overrides to the `Metadata` component.\n */\n className: PropTypes.string,\n /**\n * To set the size of the `Metadata` wrapper.\n */\n size: PropTypes.oneOf([\"small\", \"medium\"]),\n};\n\nexport default Metadata;\n"],"names":["Block","_ref","title","actionBlock","children","_ref$className","className","_jsxs","_jsx","Typography","style","textTransform","weight","classnames","STYLES","inline","multiline","SIZES","small","medium","DEFAULT_TRUNCATE_AT","DetailsBlock","_ref$details","details","_ref$style","_ref$truncate","truncate","_ref$truncateAt","truncateAt","_useState","useState","_useState2","_slicedToArray","showTruncated","setShowTruncated","_useTranslation","useTranslation","t","_ref2","slice","_ref3","visibleDetails","truncatedDetails","renderDetailsValue","value","map","_ref4","index","label","type","Fragment","_Fragment","_ref5","isNotEmpty","Button","icon","Up","Down","onClick","Metadata","headerBlock","_ref$size","size","_useBreakpoints","useBreakpoints","isSize","isLargerScreen","isElementsPanelCollapsed","setIsElementsPanelCollapsed","useEffect","Collapse"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Metadata.js","sources":["../src/components/Metadata/Block.jsx","../src/components/Metadata/constants.js","../src/components/Metadata/DetailsBlock.jsx","../src/components/Metadata/index.jsx"],"sourcesContent":["import classnames from \"classnames\";\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nconst Block = ({ title, actionBlock, children, className = \"\" }) => (\n <div\n className=\"neeto-molecules-metadata__block neeto-ui-border-gray-200 mb-4 w-full border-b pb-4\"\n data-cy=\"neeto-molecules-metadata-block\"\n data-testid=\"metadata-block\"\n >\n {(title || actionBlock) && (\n <div className=\"mb-2 flex w-full items-center justify-between gap-2\">\n {title && (\n <div className=\"flex w-60 items-center gap-2 break-all\">\n <Typography\n className=\"neeto-ui-text-gray-700\"\n data-testid=\"metadata-block-title\"\n style=\"h5\"\n textTransform=\"uppercase\"\n weight=\"bold\"\n >\n {title}\n </Typography>\n </div>\n )}\n {actionBlock && <div className=\"ml-auto\">{actionBlock}</div>}\n </div>\n )}\n {!!children && (\n <div\n data-testid=\"metadata-card\"\n className={classnames(\n \"neeto-ui-bg-white neeto-molecules-metadata__card\",\n className\n )}\n >\n {children}\n </div>\n )}\n </div>\n);\n\nBlock.propTypes = {\n /**\n * To specify the content to be rendered on the right side of the title.\n */\n actionBlock: PropTypes.node,\n /**\n * To specify the title of the block.\n */\n title: PropTypes.string,\n /**\n * The content to be rendered inside the block.\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n /**\n * To specify external classNames as overrides to the `Block` component.\n */\n className: PropTypes.string,\n};\n\nexport default Block;\n","export const STYLES = { inline: \"inline\", multiline: \"multiline\" };\n\nexport const SIZES = { small: \"small\", medium: \"medium\" };\n\nexport const DEFAULT_TRUNCATE_AT = 3;\n","import { Fragment, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Down, Up } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Block from \"./Block\";\nimport { DEFAULT_TRUNCATE_AT, STYLES } from \"./constants\";\n\nconst DetailsBlock = ({\n title,\n actionBlock,\n details = [],\n className,\n style = STYLES.inline,\n truncate = false,\n truncateAt = DEFAULT_TRUNCATE_AT,\n children,\n}) => {\n const [showTruncated, setShowTruncated] = useState(false);\n\n const { t } = useTranslation();\n\n const [visibleDetails, truncatedDetails] = truncate\n ? [details.slice(0, truncateAt), details.slice(truncateAt)]\n : [details];\n\n const renderDetailsValue = value => {\n if (typeof value === \"string\") {\n return (\n <Typography className=\"break-anywhere\" style=\"body2\">\n {value}\n </Typography>\n );\n }\n\n return <span>{value}</span>;\n };\n\n return (\n <Block\n {...{ actionBlock, className }}\n title={title ?? t(\"neetoMolecules.metadata.detailsTitle\")}\n >\n <div\n className=\"flex flex-col space-y-3\"\n data-cy=\"neeto-molecules-metadata-details-block\"\n >\n {visibleDetails.map(({ label, value, type }, index) => (\n <Fragment key={index}>\n {type === \"divider\" ? (\n <hr className=\"neeto-ui-border-gray-200\" />\n ) : (\n <div\n data-testid=\"details-card-detail-wrapper\"\n className={classnames(\"flex\", {\n \"space-x-4\": style === STYLES.inline,\n \"flex-col\": style === STYLES.multiline,\n })}\n >\n <Typography className=\"neeto-ui-text-gray-600\" style=\"body2\">\n {label}\n </Typography>\n {renderDetailsValue(value)}\n </div>\n )}\n </Fragment>\n ))}\n {!truncate && children}\n {showTruncated && (\n <>\n {truncatedDetails.map(({ label, value, type }, index) => (\n <Fragment key={index}>\n {type === \"divider\" ? (\n <hr className=\"neeto-ui-border-gray-200\" />\n ) : (\n <div\n className={classnames(\"flex\", {\n \"space-x-4\": style === STYLES.inline,\n \"flex-col\": style === STYLES.multiline,\n })}\n >\n <Typography\n className=\"neeto-ui-text-gray-600\"\n style=\"body2\"\n >\n {label}\n </Typography>\n {renderDetailsValue(value)}\n </div>\n )}\n </Fragment>\n ))}\n {children}\n </>\n )}\n {truncate && isNotEmpty(truncatedDetails) && (\n <Button\n data-testid=\"expand-button\"\n icon={showTruncated ? Up : Down}\n style=\"link\"\n label={\n showTruncated\n ? t(\"neetoMolecules.metadata.card.viewLess\")\n : t(\"neetoMolecules.metadata.card.viewMore\")\n }\n onClick={() => setShowTruncated(showTruncated => !showTruncated)}\n />\n )}\n </div>\n </Block>\n );\n};\n\nDetailsBlock.propTypes = {\n /**\n * To specify the content to be rendered on the right side of the title.\n */\n actionBlock: PropTypes.node,\n /**\n * To specify the title of the block.\n */\n title: PropTypes.string,\n /**\n * The details to be rendered inside the block.\n */\n details: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.node,\n type: PropTypes.string,\n })\n ),\n /**\n * To specify whether the label and value should be rendered in a single line or in two lines.\n */\n style: PropTypes.oneOf([\"inline\", \"multiline\"]),\n /**\n * To specify whether the visible details should be truncated at a specific point.\n */\n truncate: PropTypes.bool,\n /**\n * To specify the position at which the details should be truncated and `View more` button should be shown.\n */\n truncateAt: PropTypes.number,\n /**\n * To specify external classNames as overrides to the `DetailsBlock` component.\n */\n className: PropTypes.string,\n /**\n * The additional content to be rendered inside the block.\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n};\n\nexport default DetailsBlock;\n","import { useEffect, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport useBreakpoints from \"neetocommons/react-utils/useBreakpoints\";\nimport { Collapse } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport Block from \"./Block\";\nimport { SIZES } from \"./constants\";\nimport DetailsBlock from \"./DetailsBlock\";\nimport \"./metadata.scss\";\n\nconst Metadata = ({\n headerBlock,\n size = SIZES.medium,\n children,\n className = \"\",\n}) => {\n const { isSize } = useBreakpoints();\n const isLargerScreen = isSize(\"desktop\") || isSize(\"largeDesktop\");\n const [isElementsPanelCollapsed, setIsElementsPanelCollapsed] = useState(\n !isLargerScreen\n );\n\n useEffect(() => {\n setIsElementsPanelCollapsed(!isLargerScreen);\n }, [isLargerScreen]);\n\n return (\n <>\n {!isElementsPanelCollapsed && (\n <div\n className=\"neeto-molecules-metadata-panel__backdrop\"\n onClick={() => {\n setIsElementsPanelCollapsed(!isElementsPanelCollapsed);\n }}\n />\n )}\n <div\n className={classnames(\"neeto-molecules-metadata-list-panel__wrapper\", {\n \"neeto-molecules-metadata-list-panel__wrapper--collapsed\":\n isElementsPanelCollapsed,\n })}\n >\n <div className=\"neeto-molecules-metadata-list-panel__container\">\n <div\n data-cy=\"neeto-molecules-metadata-wrapper\"\n data-testid=\"metadata-wrapper\"\n className={classnames(\n \"neeto-ui-bg-white neeto-molecules-metadata neeto-ui-border-gray-200 h-screen flex-shrink-0 overflow-y-auto overflow-x-hidden border-l\",\n {\n \"neeto-molecules-metadata--size-large\": size === SIZES.medium,\n \"neeto-molecules-metadata--size-small\": size === SIZES.small,\n },\n className\n )}\n >\n {headerBlock && (\n <div\n className=\"neeto-molecules-metadata__header mb-5 flex w-full justify-center\"\n data-cy=\"neeto-molecules-metadata-header\"\n data-testid=\"metadata-header\"\n >\n {headerBlock}\n </div>\n )}\n {children}\n </div>\n </div>\n <Button\n className=\"neeto-molecules-metadata-list-panel__toggler\"\n icon={Collapse}\n style=\"secondary\"\n onClick={() => {\n setIsElementsPanelCollapsed(!isElementsPanelCollapsed);\n }}\n />\n </div>\n </>\n );\n};\n\nMetadata.Block = Block;\nMetadata.DetailsBlock = DetailsBlock;\n\nMetadata.propTypes = {\n /**\n * To specify the content to be rendered as the title of the `Metadata` wrapper.\n */\n headerBlock: PropTypes.node,\n /**\n * The content to be rendered inside the `Metadata` wrapper.\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n /**\n * To specify external classNames as overrides to the `Metadata` component.\n */\n className: PropTypes.string,\n /**\n * To set the size of the `Metadata` wrapper.\n */\n size: PropTypes.oneOf([\"small\", \"medium\"]),\n};\n\nexport default Metadata;\n"],"names":["Block","_ref","title","actionBlock","children","_ref$className","className","_jsxs","_jsx","Typography","style","textTransform","weight","classnames","STYLES","inline","multiline","SIZES","small","medium","DEFAULT_TRUNCATE_AT","DetailsBlock","_ref$details","details","_ref$style","_ref$truncate","truncate","_ref$truncateAt","truncateAt","_useState","useState","_useState2","_slicedToArray","showTruncated","setShowTruncated","_useTranslation","useTranslation","t","_ref2","slice","_ref3","visibleDetails","truncatedDetails","renderDetailsValue","value","map","_ref4","index","label","type","Fragment","_Fragment","_ref5","isNotEmpty","Button","icon","Up","Down","onClick","Metadata","headerBlock","_ref$size","size","_useBreakpoints","useBreakpoints","isSize","isLargerScreen","isElementsPanelCollapsed","setIsElementsPanelCollapsed","useEffect","Collapse"],"mappings":"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"}
|
|
@@ -242,7 +242,7 @@ var Item = function Item(_ref) {
|
|
|
242
242
|
setValue(item.value);
|
|
243
243
|
}, [item]);
|
|
244
244
|
return /*#__PURE__*/jsxs("div", {
|
|
245
|
-
className: classnames("mb-
|
|
245
|
+
className: classnames("mb-3 flex place-items-center gap-2 align-middle", extraWrapperClasses, {
|
|
246
246
|
"flex-wrap": name !== PHONE_NUMBER && allowMultiline,
|
|
247
247
|
"flex-nowrap": !allowMultiline
|
|
248
248
|
}),
|
|
@@ -253,14 +253,15 @@ var Item = function Item(_ref) {
|
|
|
253
253
|
children: iconToRender
|
|
254
254
|
})
|
|
255
255
|
}) : /*#__PURE__*/jsx(Typography, {
|
|
256
|
-
className: "neeto-molecules-session-environment-editable-field whitespace-nowrap",
|
|
257
|
-
style: "
|
|
256
|
+
className: "neeto-molecules-session-environment-editable-field neeto-ui-text-gray-600 whitespace-nowrap",
|
|
257
|
+
style: "body2",
|
|
258
258
|
children: label || t("neetoMolecules.sessionEnvironment.details.keys.".concat(name))
|
|
259
259
|
}), !isEditing ? /*#__PURE__*/jsxs(Fragment, {
|
|
260
260
|
children: [kind === "datetime" ? /*#__PURE__*/jsx(TimeFormat.DateWeekTime, {
|
|
261
261
|
date: value,
|
|
262
262
|
typographyProps: {
|
|
263
263
|
style: "body2",
|
|
264
|
+
weight: "medium",
|
|
264
265
|
className: classnames("overflow-hidden truncate whitespace-normal break-all ".concat(extraClasses), {
|
|
265
266
|
"whitespace-nowrap": !allowMultiline
|
|
266
267
|
})
|
|
@@ -271,7 +272,7 @@ var Item = function Item(_ref) {
|
|
|
271
272
|
children: /*#__PURE__*/jsx(Typography, {
|
|
272
273
|
"data-testid": "metadata-value-".concat(name),
|
|
273
274
|
style: "body2",
|
|
274
|
-
weight: "
|
|
275
|
+
weight: "medium",
|
|
275
276
|
className: classnames("overflow-hidden truncate whitespace-normal break-all ".concat(extraClasses), {
|
|
276
277
|
"neeto-molecules-session-environment-editable-text cursor-pointer p-0.5": isEditable,
|
|
277
278
|
"whitespace-nowrap": !allowMultiline
|
|
@@ -320,10 +321,10 @@ var DetailsBlock = function DetailsBlock(_ref) {
|
|
|
320
321
|
className: "mb-4",
|
|
321
322
|
"data-testid": "details-block-items-parent",
|
|
322
323
|
children: [title && /*#__PURE__*/jsxs("div", {
|
|
323
|
-
className: "mb-2 flex",
|
|
324
|
+
className: "mb-2 flex items-center gap-2",
|
|
324
325
|
children: [/*#__PURE__*/jsx(Typography, {
|
|
325
|
-
className: "
|
|
326
|
-
style: "
|
|
326
|
+
className: "neeto-ui-text-gray-700",
|
|
327
|
+
style: "h5",
|
|
327
328
|
textTransform: "uppercase",
|
|
328
329
|
weight: "bold",
|
|
329
330
|
children: title
|
|
@@ -396,7 +397,7 @@ var SessionEnvironment = function SessionEnvironment(_ref) {
|
|
|
396
397
|
showIcons: true
|
|
397
398
|
}), showViewMore && /*#__PURE__*/jsxs(Fragment, {
|
|
398
399
|
children: [/*#__PURE__*/jsx("hr", {
|
|
399
|
-
className: "neeto-ui-border-gray-200
|
|
400
|
+
className: "neeto-ui-border-gray-200 my-4"
|
|
400
401
|
}), /*#__PURE__*/jsx(DetailsBlock$1, {
|
|
401
402
|
handleCancel: handleCancel,
|
|
402
403
|
handleSubmit: handleSubmit,
|
|
@@ -407,7 +408,7 @@ var SessionEnvironment = function SessionEnvironment(_ref) {
|
|
|
407
408
|
}, moreDetails)
|
|
408
409
|
}), isPresent(customViewMoreItems) && /*#__PURE__*/jsxs(Fragment, {
|
|
409
410
|
children: [/*#__PURE__*/jsx("hr", {
|
|
410
|
-
className: "neeto-ui-border-gray-200
|
|
411
|
+
className: "neeto-ui-border-gray-200 my-4"
|
|
411
412
|
}), pluck("value", customViewMoreItems)]
|
|
412
413
|
})]
|
|
413
414
|
}), /*#__PURE__*/jsx(Button, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionEnvironment.js","sources":["../src/components/SessionEnvironment/constants.js","../src/components/SessionEnvironment/utils.jsx","../src/components/SessionEnvironment/EditField.jsx","../src/components/SessionEnvironment/Item.jsx","../src/components/SessionEnvironment/DetailsBlock.jsx","../src/components/SessionEnvironment/index.jsx"],"sourcesContent":["import {\n Computer,\n Email,\n Location,\n Mobile,\n Phone,\n Subdomain,\n User,\n} from \"neetoicons\";\nimport {\n Apple,\n Chrome,\n Edge,\n Firefox,\n Safari,\n Ubuntu,\n Windows,\n} from \"neetoicons/misc\";\n\nexport const BOOLEAN_VALUES_MAP = { true: \"Yes\", false: \"No\" };\nexport const ENTER = \"enter\";\nexport const ESCAPE = \"escape\";\nexport const PHONE_NUMBER = \"phone_number\";\nexport const INTEGER = \"integer\";\nexport const ICONS_MAP = {\n name: User,\n user: User,\n email: Email,\n phone_number: Phone,\n location: Location,\n timezone: Subdomain,\n chrome: Chrome,\n safari: Safari,\n firefox: Firefox,\n edge: Edge,\n ie: Edge,\n windows: Windows,\n mac_os: Apple,\n linux: Ubuntu,\n mobile: Mobile,\n desktop: Computer,\n};\n","import { isPresent } from \"neetocist\";\nimport { prop, pipe } from \"ramda\";\n\nimport { ICONS_MAP, INTEGER, PHONE_NUMBER } from \"./constants\";\n\nexport const getInputType = ({ name, kind }) => {\n if (name === PHONE_NUMBER) return \"tel\";\n else if (kind === INTEGER) return \"number\";\n\n return \"text\";\n};\n\nexport const getIcon = ({ iconSize, name, value }) => {\n const Icon =\n name === \"browser\" || name === \"os\"\n ? ICONS_MAP[value?.toLowerCase().replace(\" \", \"_\")]\n : ICONS_MAP[name];\n\n return isPresent(Icon) ? <Icon size={iconSize} /> : null;\n};\n\nexport const isValuePresent = pipe(prop(\"value\"), isPresent);\n\nexport const mergeRefs =\n (...refs) =>\n node =>\n refs\n .filter(Boolean)\n .forEach(ref =>\n typeof ref === \"function\" ? ref(node) : (ref.current = node)\n );\n","import { memo } from \"react\";\n\nimport useHotkeys from \"neetohotkeys\";\nimport { Check, Close } from \"neetoicons\";\nimport { Button, Input } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PhoneNumberInput } from \"components/PhoneNumber\";\n\nimport { ENTER, ESCAPE, PHONE_NUMBER } from \"./constants\";\nimport { getInputType, mergeRefs } from \"./utils\";\n\nconst EditField = ({\n name,\n error,\n label,\n kind,\n value,\n handleChange,\n handleMetadataCancel,\n handleMetadataSubmit,\n}) => {\n const { t } = useTranslation();\n\n const enterRef = useHotkeys(ENTER, handleMetadataSubmit, {\n mode: \"scoped\",\n });\n\n const cancelRef = useHotkeys(ESCAPE, handleMetadataCancel, {\n mode: \"scoped\",\n });\n\n const InputComponent = name === PHONE_NUMBER ? PhoneNumberInput : Input;\n\n return (\n <div className=\"neeto-molecules-session-environment-editable-field relative flex min-w-0 flex-grow items-center\">\n <InputComponent\n {...{ error }}\n autoFocus\n data-testid={`metadata-input-${name}`}\n placeholder={t(\"neetoMolecules.common.enter\", { what: label })}\n ref={mergeRefs(enterRef, cancelRef)}\n type={getInputType({ name, kind })}\n value={value || \"\"}\n onChange={handleChange}\n />\n <div className=\"neeto-molecules-session-environment-editable-field__actions absolute right-0 top-0 flex h-8 items-center pr-1\">\n <Button\n icon={Close}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.cancel\"),\n position: \"top\",\n }}\n onClick={handleMetadataCancel}\n />\n <Button\n data-testid={`metadata-submit-${name}`}\n icon={Check}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.save\"),\n position: \"top\",\n }}\n onClick={handleMetadataSubmit}\n />\n </div>\n </div>\n );\n};\n\nexport default memo(EditField);\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { Tooltip, Typography } from \"neetoui\";\nimport { isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\nimport TimeFormat from \"components/TimeFormat\";\n\nimport { BOOLEAN_VALUES_MAP, PHONE_NUMBER } from \"./constants\";\nimport EditField from \"./EditField\";\nimport { getIcon } from \"./utils\";\n\nconst Item = ({\n allowMultiline,\n handleCancel,\n handleSubmit,\n iconSize,\n item,\n showIcons,\n}) => {\n const [isEditing, setIsEditing] = useState(item.isEditing);\n const [value, setValue] = useState(item.value);\n\n const { t } = useTranslation();\n\n const {\n icon,\n isEditable = false,\n extraClasses = \"\",\n extraWrapperClasses = \"\",\n id,\n fieldValueId,\n custom = false,\n name,\n kind,\n error,\n label,\n showCopyButton = false,\n } = item;\n\n const valueToRender = useMemo(() => {\n if (isNil(value)) return \"-\";\n\n if (typeof value === \"boolean\") return BOOLEAN_VALUES_MAP[value.toString()];\n\n return value;\n }, [value]);\n\n const iconToRender = useMemo(\n () => icon || getIcon({ iconSize, name, value }),\n [icon, iconSize, name, value]\n );\n\n const onSuccess = () => setIsEditing(false);\n\n const handleMetadataSubmit = () =>\n handleSubmit({ fieldId: id, fieldValueId, name, value, custom, onSuccess });\n\n const handleMetadataCancel = () => {\n setIsEditing(false);\n setValue(item.value);\n handleCancel(name);\n };\n\n const handleChange = event => {\n const value = name === PHONE_NUMBER ? event : event.target.value;\n setValue(value);\n };\n\n useEffect(() => {\n setValue(item.value);\n }, [item]);\n\n return (\n <div\n className={classNames(\n \"mb-2 flex place-items-center gap-2 align-middle\",\n extraWrapperClasses,\n {\n \"flex-wrap\": name !== PHONE_NUMBER && allowMultiline,\n \"flex-nowrap\": !allowMultiline,\n }\n )}\n >\n {showIcons && isPresent(iconToRender) ? (\n <Tooltip\n content={\n label || t(`neetoMolecules.sessionEnvironment.details.keys.${name}`)\n }\n >\n <div className=\"flex-shrink-0\">{iconToRender}</div>\n </Tooltip>\n ) : (\n <Typography\n className=\"neeto-molecules-session-environment-editable-field whitespace-nowrap\"\n style=\"h5\"\n >\n {label || t(`neetoMolecules.sessionEnvironment.details.keys.${name}`)}\n </Typography>\n )}\n {!isEditing ? (\n <>\n {kind === \"datetime\" ? (\n <TimeFormat.DateWeekTime\n date={value}\n typographyProps={{\n style: \"body2\",\n className: classNames(\n `overflow-hidden truncate whitespace-normal break-all ${extraClasses}`,\n { \"whitespace-nowrap\": !allowMultiline }\n ),\n }}\n />\n ) : (\n <Tooltip content={valueToRender} position=\"top\">\n <Typography\n data-testid={`metadata-value-${name}`}\n style=\"body2\"\n weight=\"normal\"\n className={classNames(\n `overflow-hidden truncate whitespace-normal break-all ${extraClasses}`,\n {\n \"neeto-molecules-session-environment-editable-text cursor-pointer p-0.5\":\n isEditable,\n \"whitespace-nowrap\": !allowMultiline,\n }\n )}\n onClick={() => isEditable && setIsEditing(true)}\n >\n {valueToRender}\n </Typography>\n </Tooltip>\n )}\n {showCopyButton && (\n <CopyToClipboardButton\n className=\"flex-shrink-0\"\n size=\"small\"\n style=\"text\"\n value={valueToRender}\n />\n )}\n </>\n ) : (\n <EditField\n {...{\n error,\n handleChange,\n handleMetadataCancel,\n handleMetadataSubmit,\n kind,\n label,\n name,\n value,\n }}\n />\n )}\n </div>\n );\n};\n\nexport default Item;\n","import { memo } from \"react\";\n\nimport { isPresent, noop } from \"neetocist\";\nimport { Typography } from \"neetoui\";\n\nimport HelpPopover from \"components/HelpPopover\";\n\nimport Item from \"./Item\";\nimport { isValuePresent } from \"./utils\";\n\nconst DetailsBlock = ({\n allowMultiline = true,\n details,\n handleCancel = noop,\n handleSubmit = noop,\n helpPopoverProps,\n iconSize,\n showIcons = false,\n title = \"\",\n}) => (\n <div className=\"mb-4\" data-testid=\"details-block-items-parent\">\n {title && (\n <div className=\"mb-2 flex\">\n <Typography\n className=\"mr-2\"\n style=\"h4\"\n textTransform=\"uppercase\"\n weight=\"bold\"\n >\n {title}\n </Typography>\n {isPresent(helpPopoverProps) && <HelpPopover {...helpPopoverProps} />}\n </div>\n )}\n {details\n .filter(detail => detail.isEditable || isValuePresent(detail))\n .map((detail, index) => (\n <Item\n {...{\n allowMultiline,\n handleCancel,\n handleSubmit,\n iconSize,\n showIcons,\n }}\n item={detail}\n key={index}\n />\n ))}\n </div>\n);\n\nexport default memo(DetailsBlock);\n","import { memo, useMemo, useState } from \"react\";\n\nimport { filterBy, isPresent, noop, removeBy } from \"neetocist\";\nimport { Down, Up } from \"neetoicons\";\nimport { Button, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { pluck, not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DetailsBlock from \"./DetailsBlock\";\nimport \"./session-environment.scss\";\n\nconst SessionEnvironment = ({\n allowMultiline = false,\n details,\n handleCancel = noop,\n handleSubmit = noop,\n helpPopoverProps = {},\n iconSize = 20,\n isLoading = false,\n moreDetails = [],\n title = \"\",\n}) => {\n const [showViewMore, setShowViewMore] = useState(false);\n\n const customViewMoreItems = useMemo(\n () => filterBy({ kind: \"custom\" }, moreDetails),\n [moreDetails]\n );\n\n const { t } = useTranslation();\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <div className=\"w-full\">\n <DetailsBlock\n {...{\n allowMultiline,\n details,\n handleCancel,\n handleSubmit,\n helpPopoverProps,\n iconSize,\n title,\n }}\n showIcons\n />\n {showViewMore && (\n <>\n <hr className=\"neeto-ui-border-gray-200 m-4\" />\n <DetailsBlock\n {...{\n handleCancel,\n handleSubmit,\n helpPopoverProps,\n iconSize,\n }}\n details={removeBy({ kind: \"custom\" }, moreDetails)}\n />\n {isPresent(customViewMoreItems) && (\n <>\n <hr className=\"neeto-ui-border-gray-200 m-4\" />\n {pluck(\"value\", customViewMoreItems)}\n </>\n )}\n </>\n )}\n <Button\n className=\"mb-4\"\n icon={showViewMore ? Up : Down}\n style=\"link\"\n label={\n showViewMore\n ? t(\"neetoMolecules.sessionEnvironment.viewLess\")\n : t(\"neetoMolecules.sessionEnvironment.viewMore\")\n }\n onClick={() => setShowViewMore(not)}\n />\n </div>\n );\n};\n\nSessionEnvironment.propTypes = {\n /*\n details can be an array of fields to be displayed.\n */\n details: PropTypes.array,\n /*\n handleCancel is a function that will be called when the cancel button is clicked.\n */\n handleCancel: PropTypes.func,\n /*\n handleSubmit is a function that will be called when the form is submitted.\n */\n handleSubmit: PropTypes.func,\n /*\n helpPopoverProps are the props that will be passed to the HelpPopover component.\n */\n helpPopoverProps: PropTypes.object,\n /*\n iconSize is a number that will be used to set the size of the icon.\n */\n iconSize: PropTypes.number,\n /*\n isLoading is a boolean that will be used to show a spinner when true.\n */\n isLoading: PropTypes.bool,\n /*\n moreDetails can be an array of fields to be displayed when the view more button is clicked.\n */\n moreDetails: PropTypes.array,\n /*\n The title to be displayed above the details.\n */\n title: PropTypes.string,\n /*\n allowMultiline is a boolean that will be used to decide whether the items should be displayed in a single line or multiple lines.\n */\n allowMultiline: PropTypes.bool,\n};\n\nexport default memo(SessionEnvironment);\n"],"names":["BOOLEAN_VALUES_MAP","ENTER","ESCAPE","PHONE_NUMBER","INTEGER","ICONS_MAP","name","User","user","email","Email","phone_number","Phone","location","Location","timezone","Subdomain","chrome","Chrome","safari","Safari","firefox","Firefox","edge","Edge","ie","windows","Windows","mac_os","Apple","linux","Ubuntu","mobile","Mobile","desktop","Computer","getInputType","_ref","kind","getIcon","_ref2","iconSize","value","Icon","toLowerCase","replace","isPresent","_jsx","size","isValuePresent","pipe","prop","mergeRefs","_len","arguments","length","refs","Array","_key","node","filter","Boolean","forEach","ref","current","EditField","error","label","handleChange","handleMetadataCancel","handleMetadataSubmit","_useTranslation","useTranslation","t","enterRef","useHotkeys","mode","cancelRef","InputComponent","PhoneNumberInput","Input","_jsxs","className","children","autoFocus","concat","placeholder","what","type","onChange","Button","icon","Close","style","tooltipProps","content","position","onClick","Check","memo","Item","allowMultiline","handleCancel","handleSubmit","item","showIcons","_useState","useState","isEditing","_useState2","_slicedToArray","setIsEditing","_useState3","_useState4","setValue","_item$isEditable","isEditable","_item$extraClasses","extraClasses","_item$extraWrapperCla","extraWrapperClasses","id","fieldValueId","_item$custom","custom","_item$showCopyButton","showCopyButton","valueToRender","useMemo","isNil","toString","iconToRender","onSuccess","fieldId","event","target","useEffect","classNames","Tooltip","Typography","_Fragment","TimeFormat","DateWeekTime","date","typographyProps","weight","CopyToClipboardButton","DetailsBlock","_ref$allowMultiline","details","_ref$handleCancel","noop","_ref$handleSubmit","helpPopoverProps","_ref$showIcons","_ref$title","title","textTransform","HelpPopover","_objectSpread","detail","map","index","_createElement","key","SessionEnvironment","_ref$helpPopoverProps","_ref$iconSize","_ref$isLoading","isLoading","_ref$moreDetails","moreDetails","showViewMore","setShowViewMore","customViewMoreItems","filterBy","Spinner","removeBy","pluck","Up","Down","not"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SessionEnvironment.js","sources":["../src/components/SessionEnvironment/constants.js","../src/components/SessionEnvironment/utils.jsx","../src/components/SessionEnvironment/EditField.jsx","../src/components/SessionEnvironment/Item.jsx","../src/components/SessionEnvironment/DetailsBlock.jsx","../src/components/SessionEnvironment/index.jsx"],"sourcesContent":["import {\n Computer,\n Email,\n Location,\n Mobile,\n Phone,\n Subdomain,\n User,\n} from \"neetoicons\";\nimport {\n Apple,\n Chrome,\n Edge,\n Firefox,\n Safari,\n Ubuntu,\n Windows,\n} from \"neetoicons/misc\";\n\nexport const BOOLEAN_VALUES_MAP = { true: \"Yes\", false: \"No\" };\nexport const ENTER = \"enter\";\nexport const ESCAPE = \"escape\";\nexport const PHONE_NUMBER = \"phone_number\";\nexport const INTEGER = \"integer\";\nexport const ICONS_MAP = {\n name: User,\n user: User,\n email: Email,\n phone_number: Phone,\n location: Location,\n timezone: Subdomain,\n chrome: Chrome,\n safari: Safari,\n firefox: Firefox,\n edge: Edge,\n ie: Edge,\n windows: Windows,\n mac_os: Apple,\n linux: Ubuntu,\n mobile: Mobile,\n desktop: Computer,\n};\n","import { isPresent } from \"neetocist\";\nimport { prop, pipe } from \"ramda\";\n\nimport { ICONS_MAP, INTEGER, PHONE_NUMBER } from \"./constants\";\n\nexport const getInputType = ({ name, kind }) => {\n if (name === PHONE_NUMBER) return \"tel\";\n else if (kind === INTEGER) return \"number\";\n\n return \"text\";\n};\n\nexport const getIcon = ({ iconSize, name, value }) => {\n const Icon =\n name === \"browser\" || name === \"os\"\n ? ICONS_MAP[value?.toLowerCase().replace(\" \", \"_\")]\n : ICONS_MAP[name];\n\n return isPresent(Icon) ? <Icon size={iconSize} /> : null;\n};\n\nexport const isValuePresent = pipe(prop(\"value\"), isPresent);\n\nexport const mergeRefs =\n (...refs) =>\n node =>\n refs\n .filter(Boolean)\n .forEach(ref =>\n typeof ref === \"function\" ? ref(node) : (ref.current = node)\n );\n","import { memo } from \"react\";\n\nimport useHotkeys from \"neetohotkeys\";\nimport { Check, Close } from \"neetoicons\";\nimport { Button, Input } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PhoneNumberInput } from \"components/PhoneNumber\";\n\nimport { ENTER, ESCAPE, PHONE_NUMBER } from \"./constants\";\nimport { getInputType, mergeRefs } from \"./utils\";\n\nconst EditField = ({\n name,\n error,\n label,\n kind,\n value,\n handleChange,\n handleMetadataCancel,\n handleMetadataSubmit,\n}) => {\n const { t } = useTranslation();\n\n const enterRef = useHotkeys(ENTER, handleMetadataSubmit, {\n mode: \"scoped\",\n });\n\n const cancelRef = useHotkeys(ESCAPE, handleMetadataCancel, {\n mode: \"scoped\",\n });\n\n const InputComponent = name === PHONE_NUMBER ? PhoneNumberInput : Input;\n\n return (\n <div className=\"neeto-molecules-session-environment-editable-field relative flex min-w-0 flex-grow items-center\">\n <InputComponent\n {...{ error }}\n autoFocus\n data-testid={`metadata-input-${name}`}\n placeholder={t(\"neetoMolecules.common.enter\", { what: label })}\n ref={mergeRefs(enterRef, cancelRef)}\n type={getInputType({ name, kind })}\n value={value || \"\"}\n onChange={handleChange}\n />\n <div className=\"neeto-molecules-session-environment-editable-field__actions absolute right-0 top-0 flex h-8 items-center pr-1\">\n <Button\n icon={Close}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.cancel\"),\n position: \"top\",\n }}\n onClick={handleMetadataCancel}\n />\n <Button\n data-testid={`metadata-submit-${name}`}\n icon={Check}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.save\"),\n position: \"top\",\n }}\n onClick={handleMetadataSubmit}\n />\n </div>\n </div>\n );\n};\n\nexport default memo(EditField);\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { Tooltip, Typography } from \"neetoui\";\nimport { isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\nimport TimeFormat from \"components/TimeFormat\";\n\nimport { BOOLEAN_VALUES_MAP, PHONE_NUMBER } from \"./constants\";\nimport EditField from \"./EditField\";\nimport { getIcon } from \"./utils\";\n\nconst Item = ({\n allowMultiline,\n handleCancel,\n handleSubmit,\n iconSize,\n item,\n showIcons,\n}) => {\n const [isEditing, setIsEditing] = useState(item.isEditing);\n const [value, setValue] = useState(item.value);\n\n const { t } = useTranslation();\n\n const {\n icon,\n isEditable = false,\n extraClasses = \"\",\n extraWrapperClasses = \"\",\n id,\n fieldValueId,\n custom = false,\n name,\n kind,\n error,\n label,\n showCopyButton = false,\n } = item;\n\n const valueToRender = useMemo(() => {\n if (isNil(value)) return \"-\";\n\n if (typeof value === \"boolean\") return BOOLEAN_VALUES_MAP[value.toString()];\n\n return value;\n }, [value]);\n\n const iconToRender = useMemo(\n () => icon || getIcon({ iconSize, name, value }),\n [icon, iconSize, name, value]\n );\n\n const onSuccess = () => setIsEditing(false);\n\n const handleMetadataSubmit = () =>\n handleSubmit({ fieldId: id, fieldValueId, name, value, custom, onSuccess });\n\n const handleMetadataCancel = () => {\n setIsEditing(false);\n setValue(item.value);\n handleCancel(name);\n };\n\n const handleChange = event => {\n const value = name === PHONE_NUMBER ? event : event.target.value;\n setValue(value);\n };\n\n useEffect(() => {\n setValue(item.value);\n }, [item]);\n\n return (\n <div\n className={classNames(\n \"mb-3 flex place-items-center gap-2 align-middle\",\n extraWrapperClasses,\n {\n \"flex-wrap\": name !== PHONE_NUMBER && allowMultiline,\n \"flex-nowrap\": !allowMultiline,\n }\n )}\n >\n {showIcons && isPresent(iconToRender) ? (\n <Tooltip\n content={\n label || t(`neetoMolecules.sessionEnvironment.details.keys.${name}`)\n }\n >\n <div className=\"flex-shrink-0\">{iconToRender}</div>\n </Tooltip>\n ) : (\n <Typography\n className=\"neeto-molecules-session-environment-editable-field neeto-ui-text-gray-600 whitespace-nowrap\"\n style=\"body2\"\n >\n {label || t(`neetoMolecules.sessionEnvironment.details.keys.${name}`)}\n </Typography>\n )}\n {!isEditing ? (\n <>\n {kind === \"datetime\" ? (\n <TimeFormat.DateWeekTime\n date={value}\n typographyProps={{\n style: \"body2\",\n weight: \"medium\",\n className: classNames(\n `overflow-hidden truncate whitespace-normal break-all ${extraClasses}`,\n { \"whitespace-nowrap\": !allowMultiline }\n ),\n }}\n />\n ) : (\n <Tooltip content={valueToRender} position=\"top\">\n <Typography\n data-testid={`metadata-value-${name}`}\n style=\"body2\"\n weight=\"medium\"\n className={classNames(\n `overflow-hidden truncate whitespace-normal break-all ${extraClasses}`,\n {\n \"neeto-molecules-session-environment-editable-text cursor-pointer p-0.5\":\n isEditable,\n \"whitespace-nowrap\": !allowMultiline,\n }\n )}\n onClick={() => isEditable && setIsEditing(true)}\n >\n {valueToRender}\n </Typography>\n </Tooltip>\n )}\n {showCopyButton && (\n <CopyToClipboardButton\n className=\"flex-shrink-0\"\n size=\"small\"\n style=\"text\"\n value={valueToRender}\n />\n )}\n </>\n ) : (\n <EditField\n {...{\n error,\n handleChange,\n handleMetadataCancel,\n handleMetadataSubmit,\n kind,\n label,\n name,\n value,\n }}\n />\n )}\n </div>\n );\n};\n\nexport default Item;\n","import { memo } from \"react\";\n\nimport { isPresent, noop } from \"neetocist\";\nimport { Typography } from \"neetoui\";\n\nimport HelpPopover from \"components/HelpPopover\";\n\nimport Item from \"./Item\";\nimport { isValuePresent } from \"./utils\";\n\nconst DetailsBlock = ({\n allowMultiline = true,\n details,\n handleCancel = noop,\n handleSubmit = noop,\n helpPopoverProps,\n iconSize,\n showIcons = false,\n title = \"\",\n}) => (\n <div className=\"mb-4\" data-testid=\"details-block-items-parent\">\n {title && (\n <div className=\"mb-2 flex items-center gap-2\">\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"h5\"\n textTransform=\"uppercase\"\n weight=\"bold\"\n >\n {title}\n </Typography>\n {isPresent(helpPopoverProps) && <HelpPopover {...helpPopoverProps} />}\n </div>\n )}\n {details\n .filter(detail => detail.isEditable || isValuePresent(detail))\n .map((detail, index) => (\n <Item\n {...{\n allowMultiline,\n handleCancel,\n handleSubmit,\n iconSize,\n showIcons,\n }}\n item={detail}\n key={index}\n />\n ))}\n </div>\n);\n\nexport default memo(DetailsBlock);\n","import { memo, useMemo, useState } from \"react\";\n\nimport { filterBy, isPresent, noop, removeBy } from \"neetocist\";\nimport { Down, Up } from \"neetoicons\";\nimport { Button, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { pluck, not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DetailsBlock from \"./DetailsBlock\";\nimport \"./session-environment.scss\";\n\nconst SessionEnvironment = ({\n allowMultiline = false,\n details,\n handleCancel = noop,\n handleSubmit = noop,\n helpPopoverProps = {},\n iconSize = 20,\n isLoading = false,\n moreDetails = [],\n title = \"\",\n}) => {\n const [showViewMore, setShowViewMore] = useState(false);\n\n const customViewMoreItems = useMemo(\n () => filterBy({ kind: \"custom\" }, moreDetails),\n [moreDetails]\n );\n\n const { t } = useTranslation();\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <div className=\"w-full\">\n <DetailsBlock\n {...{\n allowMultiline,\n details,\n handleCancel,\n handleSubmit,\n helpPopoverProps,\n iconSize,\n title,\n }}\n showIcons\n />\n {showViewMore && (\n <>\n <hr className=\"neeto-ui-border-gray-200 my-4\" />\n <DetailsBlock\n {...{\n handleCancel,\n handleSubmit,\n helpPopoverProps,\n iconSize,\n }}\n details={removeBy({ kind: \"custom\" }, moreDetails)}\n />\n {isPresent(customViewMoreItems) && (\n <>\n <hr className=\"neeto-ui-border-gray-200 my-4\" />\n {pluck(\"value\", customViewMoreItems)}\n </>\n )}\n </>\n )}\n <Button\n className=\"mb-4\"\n icon={showViewMore ? Up : Down}\n style=\"link\"\n label={\n showViewMore\n ? t(\"neetoMolecules.sessionEnvironment.viewLess\")\n : t(\"neetoMolecules.sessionEnvironment.viewMore\")\n }\n onClick={() => setShowViewMore(not)}\n />\n </div>\n );\n};\n\nSessionEnvironment.propTypes = {\n /*\n details can be an array of fields to be displayed.\n */\n details: PropTypes.array,\n /*\n handleCancel is a function that will be called when the cancel button is clicked.\n */\n handleCancel: PropTypes.func,\n /*\n handleSubmit is a function that will be called when the form is submitted.\n */\n handleSubmit: PropTypes.func,\n /*\n helpPopoverProps are the props that will be passed to the HelpPopover component.\n */\n helpPopoverProps: PropTypes.object,\n /*\n iconSize is a number that will be used to set the size of the icon.\n */\n iconSize: PropTypes.number,\n /*\n isLoading is a boolean that will be used to show a spinner when true.\n */\n isLoading: PropTypes.bool,\n /*\n moreDetails can be an array of fields to be displayed when the view more button is clicked.\n */\n moreDetails: PropTypes.array,\n /*\n The title to be displayed above the details.\n */\n title: PropTypes.string,\n /*\n allowMultiline is a boolean that will be used to decide whether the items should be displayed in a single line or multiple lines.\n */\n allowMultiline: PropTypes.bool,\n};\n\nexport default memo(SessionEnvironment);\n"],"names":["BOOLEAN_VALUES_MAP","ENTER","ESCAPE","PHONE_NUMBER","INTEGER","ICONS_MAP","name","User","user","email","Email","phone_number","Phone","location","Location","timezone","Subdomain","chrome","Chrome","safari","Safari","firefox","Firefox","edge","Edge","ie","windows","Windows","mac_os","Apple","linux","Ubuntu","mobile","Mobile","desktop","Computer","getInputType","_ref","kind","getIcon","_ref2","iconSize","value","Icon","toLowerCase","replace","isPresent","_jsx","size","isValuePresent","pipe","prop","mergeRefs","_len","arguments","length","refs","Array","_key","node","filter","Boolean","forEach","ref","current","EditField","error","label","handleChange","handleMetadataCancel","handleMetadataSubmit","_useTranslation","useTranslation","t","enterRef","useHotkeys","mode","cancelRef","InputComponent","PhoneNumberInput","Input","_jsxs","className","children","autoFocus","concat","placeholder","what","type","onChange","Button","icon","Close","style","tooltipProps","content","position","onClick","Check","memo","Item","allowMultiline","handleCancel","handleSubmit","item","showIcons","_useState","useState","isEditing","_useState2","_slicedToArray","setIsEditing","_useState3","_useState4","setValue","_item$isEditable","isEditable","_item$extraClasses","extraClasses","_item$extraWrapperCla","extraWrapperClasses","id","fieldValueId","_item$custom","custom","_item$showCopyButton","showCopyButton","valueToRender","useMemo","isNil","toString","iconToRender","onSuccess","fieldId","event","target","useEffect","classNames","Tooltip","Typography","_Fragment","TimeFormat","DateWeekTime","date","typographyProps","weight","CopyToClipboardButton","DetailsBlock","_ref$allowMultiline","details","_ref$handleCancel","noop","_ref$handleSubmit","helpPopoverProps","_ref$showIcons","_ref$title","title","textTransform","HelpPopover","_objectSpread","detail","map","index","_createElement","key","SessionEnvironment","_ref$helpPopoverProps","_ref$iconSize","_ref$isLoading","isLoading","_ref$moreDetails","moreDetails","showViewMore","setShowViewMore","customViewMoreItems","filterBy","Spinner","removeBy","pluck","Up","Down","not"],"mappings":"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"}
|