@bigbinary/neeto-molecules 3.4.1 → 3.5.0

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.
@@ -0,0 +1,408 @@
1
+ 'use strict';
2
+
3
+ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
4
+ var React = require('react');
5
+ var neetoCist = require('@bigbinary/neeto-cist');
6
+ var Down = require('@bigbinary/neeto-icons/Down');
7
+ var Up = require('@bigbinary/neeto-icons/Up');
8
+ var Button = require('@bigbinary/neetoui/Button');
9
+ var Spinner = require('@bigbinary/neetoui/Spinner');
10
+ var ramda = require('ramda');
11
+ var reactI18next = require('react-i18next');
12
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
13
+ var Typography = require('@bigbinary/neetoui/Typography');
14
+ var HelpPopover = require('./HelpPopover.js');
15
+ var classnames = require('classnames');
16
+ var useHotkeys = require('@bigbinary/neeto-hotkeys');
17
+ var Check = require('@bigbinary/neeto-icons/Check');
18
+ var Close = require('@bigbinary/neeto-icons/Close');
19
+ var Input = require('@bigbinary/neetoui/Input');
20
+ var Tooltip = require('@bigbinary/neetoui/Tooltip');
21
+ var CopyToClipboardButton = require('./CopyToClipboardButton.js');
22
+ require('@babel/runtime/helpers/objectWithoutProperties');
23
+ require('formik');
24
+ var phoneNumber = require('./phone-number-904b0a70.js');
25
+ var jsxRuntime = require('react/jsx-runtime');
26
+ require('i18next');
27
+ require('libphonenumber-js/min');
28
+ require('yup');
29
+ var TimeFormat = require('./TimeFormat.js');
30
+ var Computer = require('@bigbinary/neeto-icons/Computer');
31
+ var Email = require('@bigbinary/neeto-icons/Email');
32
+ var Location = require('@bigbinary/neeto-icons/Location');
33
+ var Mobile = require('@bigbinary/neeto-icons/Mobile');
34
+ var Phone = require('@bigbinary/neeto-icons/Phone');
35
+ var Subdomain = require('@bigbinary/neeto-icons/Subdomain');
36
+ var User = require('@bigbinary/neeto-icons/User');
37
+ var Apple = require('@bigbinary/neeto-icons/misc/Apple');
38
+ var Chrome = require('@bigbinary/neeto-icons/misc/Chrome');
39
+ var Edge = require('@bigbinary/neeto-icons/misc/Edge');
40
+ var Firefox = require('@bigbinary/neeto-icons/misc/Firefox');
41
+ var Safari = require('@bigbinary/neeto-icons/misc/Safari');
42
+ var Ubuntu = require('@bigbinary/neeto-icons/misc/Ubuntu');
43
+ var Windows = require('@bigbinary/neeto-icons/misc/Windows');
44
+ var injectCss = require('./inject-css-80a5faa3.js');
45
+ require('@bigbinary/neeto-icons/Help');
46
+ require('@bigbinary/neetoui/Popover');
47
+ require('@bigbinary/neeto-commons-frontend/utils/general');
48
+ require('@bigbinary/neeto-icons/Copy');
49
+ require('zustand/shallow');
50
+ require('@bigbinary/neetoui/Select');
51
+ require('./_commonjsHelpers-68cdf74f.js');
52
+ require('@tanstack/react-query');
53
+ require('axios');
54
+ require('@bigbinary/neeto-commons-frontend/react-utils/withImmutableActions');
55
+ require('zustand');
56
+ require('zustand/middleware');
57
+ require('./DateFormat.js');
58
+ require('@bigbinary/neeto-commons-frontend/react-utils/useTimer');
59
+ require('@bigbinary/neeto-commons-frontend/utils/datetime');
60
+
61
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
62
+
63
+ var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
64
+ var Down__default = /*#__PURE__*/_interopDefaultLegacy(Down);
65
+ var Up__default = /*#__PURE__*/_interopDefaultLegacy(Up);
66
+ var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
67
+ var Spinner__default = /*#__PURE__*/_interopDefaultLegacy(Spinner);
68
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
69
+ var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
70
+ var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
71
+ var useHotkeys__default = /*#__PURE__*/_interopDefaultLegacy(useHotkeys);
72
+ var Check__default = /*#__PURE__*/_interopDefaultLegacy(Check);
73
+ var Close__default = /*#__PURE__*/_interopDefaultLegacy(Close);
74
+ var Input__default = /*#__PURE__*/_interopDefaultLegacy(Input);
75
+ var Tooltip__default = /*#__PURE__*/_interopDefaultLegacy(Tooltip);
76
+ var Computer__default = /*#__PURE__*/_interopDefaultLegacy(Computer);
77
+ var Email__default = /*#__PURE__*/_interopDefaultLegacy(Email);
78
+ var Location__default = /*#__PURE__*/_interopDefaultLegacy(Location);
79
+ var Mobile__default = /*#__PURE__*/_interopDefaultLegacy(Mobile);
80
+ var Phone__default = /*#__PURE__*/_interopDefaultLegacy(Phone);
81
+ var Subdomain__default = /*#__PURE__*/_interopDefaultLegacy(Subdomain);
82
+ var User__default = /*#__PURE__*/_interopDefaultLegacy(User);
83
+ var Apple__default = /*#__PURE__*/_interopDefaultLegacy(Apple);
84
+ var Chrome__default = /*#__PURE__*/_interopDefaultLegacy(Chrome);
85
+ var Edge__default = /*#__PURE__*/_interopDefaultLegacy(Edge);
86
+ var Firefox__default = /*#__PURE__*/_interopDefaultLegacy(Firefox);
87
+ var Safari__default = /*#__PURE__*/_interopDefaultLegacy(Safari);
88
+ var Ubuntu__default = /*#__PURE__*/_interopDefaultLegacy(Ubuntu);
89
+ var Windows__default = /*#__PURE__*/_interopDefaultLegacy(Windows);
90
+
91
+ var BOOLEAN_VALUES_MAP = {
92
+ "true": "Yes",
93
+ "false": "No"
94
+ };
95
+ var ENTER = "enter";
96
+ var ESCAPE = "escape";
97
+ var PHONE_NUMBER = "phone_number";
98
+ var INTEGER = "integer";
99
+ var ICONS_MAP = {
100
+ name: User__default["default"],
101
+ user: User__default["default"],
102
+ email: Email__default["default"],
103
+ phone_number: Phone__default["default"],
104
+ location: Location__default["default"],
105
+ timezone: Subdomain__default["default"],
106
+ chrome: Chrome__default["default"],
107
+ safari: Safari__default["default"],
108
+ firefox: Firefox__default["default"],
109
+ edge: Edge__default["default"],
110
+ ie: Edge__default["default"],
111
+ windows: Windows__default["default"],
112
+ mac_os: Apple__default["default"],
113
+ linux: Ubuntu__default["default"],
114
+ mobile: Mobile__default["default"],
115
+ desktop: Computer__default["default"]
116
+ };
117
+
118
+ var getInputType = function getInputType(_ref) {
119
+ var name = _ref.name,
120
+ kind = _ref.kind;
121
+ if (name === PHONE_NUMBER) return "tel";else if (kind === INTEGER) return "number";
122
+ return "text";
123
+ };
124
+ var getIcon = function getIcon(_ref2) {
125
+ var iconSize = _ref2.iconSize,
126
+ name = _ref2.name,
127
+ value = _ref2.value;
128
+ var Icon = name === "browser" || name === "os" ? ICONS_MAP[value === null || value === void 0 ? void 0 : value.toLowerCase().replace(" ", "_")] : ICONS_MAP[name];
129
+ return /*#__PURE__*/jsxRuntime.jsx(Icon, {
130
+ size: iconSize
131
+ });
132
+ };
133
+
134
+ var Item = function Item(_ref) {
135
+ var handleCancel = _ref.handleCancel,
136
+ handleSubmit = _ref.handleSubmit,
137
+ iconSize = _ref.iconSize,
138
+ item = _ref.item,
139
+ showIcons = _ref.showIcons;
140
+ var _useState = React.useState(item.isEditing),
141
+ _useState2 = _slicedToArray__default["default"](_useState, 2),
142
+ isEditing = _useState2[0],
143
+ setIsEditing = _useState2[1];
144
+ var _useState3 = React.useState(item.value),
145
+ _useState4 = _slicedToArray__default["default"](_useState3, 2),
146
+ value = _useState4[0],
147
+ setValue = _useState4[1];
148
+ var _useTranslation = reactI18next.useTranslation(),
149
+ t = _useTranslation.t;
150
+ var containerRef = useHotkeys__default["default"](ESCAPE, function () {
151
+ return handleCancel(name);
152
+ }, {
153
+ mode: "scoped"
154
+ });
155
+ var icon = item.icon,
156
+ _item$isEditable = item.isEditable,
157
+ isEditable = _item$isEditable === void 0 ? false : _item$isEditable,
158
+ _item$extraClasses = item.extraClasses,
159
+ extraClasses = _item$extraClasses === void 0 ? "" : _item$extraClasses,
160
+ _item$extraWrapperCla = item.extraWrapperClasses,
161
+ extraWrapperClasses = _item$extraWrapperCla === void 0 ? "" : _item$extraWrapperCla,
162
+ id = item.id,
163
+ fieldValueId = item.fieldValueId,
164
+ _item$custom = item.custom,
165
+ custom = _item$custom === void 0 ? false : _item$custom,
166
+ name = item.name,
167
+ kind = item.kind,
168
+ error = item.error,
169
+ label = item.label,
170
+ _item$showCopyButton = item.showCopyButton,
171
+ showCopyButton = _item$showCopyButton === void 0 ? false : _item$showCopyButton;
172
+ var valueToRender = React.useMemo(function () {
173
+ if (ramda.isNil(value)) return "-";
174
+ if (typeof value === "boolean") return BOOLEAN_VALUES_MAP[value.toString()];
175
+ return value;
176
+ }, [value]);
177
+ var iconToRender = React.useMemo(function () {
178
+ return icon || getIcon({
179
+ iconSize: iconSize,
180
+ name: name,
181
+ value: value
182
+ });
183
+ }, [icon, iconSize, name, value]);
184
+ var onSuccess = function onSuccess() {
185
+ return setIsEditing(false);
186
+ };
187
+ var handleMetadataSubmit = function handleMetadataSubmit() {
188
+ return handleSubmit({
189
+ fieldId: id,
190
+ fieldValueId: fieldValueId,
191
+ name: name,
192
+ value: value,
193
+ custom: custom,
194
+ onSuccess: onSuccess
195
+ });
196
+ };
197
+ var handleMetadataCancel = function handleMetadataCancel() {
198
+ setIsEditing(false);
199
+ setValue(item.value);
200
+ handleCancel(name);
201
+ };
202
+ var inputRef = useHotkeys__default["default"](ENTER, handleMetadataSubmit, {
203
+ mode: "scoped"
204
+ });
205
+ var InputComponent = name === PHONE_NUMBER ? phoneNumber.PhoneNumberInput : Input__default["default"];
206
+ var handleChange = function handleChange(event) {
207
+ var value = name === PHONE_NUMBER ? event : event.target.value;
208
+ setValue(value);
209
+ };
210
+ React.useEffect(function () {
211
+ setValue(item.value);
212
+ }, [item]);
213
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
214
+ ref: containerRef,
215
+ className: classnames__default["default"]("mb-2 flex place-items-center gap-2 align-middle", extraWrapperClasses, {
216
+ "flex-wrap": name !== PHONE_NUMBER
217
+ }),
218
+ children: [showIcons && neetoCist.isPresent(iconToRender) ? /*#__PURE__*/jsxRuntime.jsx(Tooltip__default["default"], {
219
+ content: label || t("neetoMolecules.sessionEnvironment.details.keys.".concat(name)),
220
+ children: /*#__PURE__*/jsxRuntime.jsx("div", {
221
+ className: "flex-shrink-0",
222
+ children: iconToRender
223
+ })
224
+ }) : /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
225
+ className: "neeto-molecules-session-environment-editable-field whitespace-nowrap",
226
+ style: "h5",
227
+ children: label || t("neetoMolecules.sessionEnvironment.details.keys.".concat(name))
228
+ }), !isEditing ? /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
229
+ children: [kind === "datetime" ? /*#__PURE__*/jsxRuntime.jsx(TimeFormat.DateWeekTime, {
230
+ date: value,
231
+ typographyProps: {
232
+ style: "body2",
233
+ className: "overflow-hidden truncate whitespace-normal break-all ".concat(extraClasses)
234
+ }
235
+ }) : /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
236
+ className: "overflow-hidden truncate whitespace-normal break-all ".concat(extraClasses),
237
+ "data-testid": "metadata-value-".concat(name),
238
+ style: "body2",
239
+ weight: "normal",
240
+ onClick: function onClick() {
241
+ return isEditable && setIsEditing(true);
242
+ },
243
+ children: valueToRender
244
+ }), showCopyButton && /*#__PURE__*/jsxRuntime.jsx(CopyToClipboardButton, {
245
+ className: "flex-shrink-0",
246
+ size: "small",
247
+ style: "text",
248
+ value: valueToRender
249
+ })]
250
+ }) : /*#__PURE__*/jsxRuntime.jsxs("div", {
251
+ className: "neeto-molecules-session-environment-editable-field relative flex min-w-0 flex-grow items-center",
252
+ children: [/*#__PURE__*/jsxRuntime.jsx(InputComponent, {
253
+ error: error,
254
+ autoFocus: true,
255
+ "data-testid": "metadata-input-".concat(name),
256
+ placeholder: t("neetoMolecules.common.enter", {
257
+ what: label
258
+ }),
259
+ ref: inputRef,
260
+ type: getInputType({
261
+ name: name,
262
+ kind: kind
263
+ }),
264
+ value: value || "",
265
+ onChange: handleChange
266
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
267
+ className: "neeto-molecules-session-environment-editable-field__actions absolute right-0 top-0 flex h-8 items-center pr-1",
268
+ children: [/*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
269
+ icon: Close__default["default"],
270
+ size: "small",
271
+ style: "text",
272
+ tooltipProps: {
273
+ content: t("neetoMolecules.common.actions.cancel"),
274
+ position: "top"
275
+ },
276
+ onClick: handleMetadataCancel
277
+ }), /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
278
+ "data-testid": "metadata-submit-".concat(name),
279
+ icon: Check__default["default"],
280
+ size: "small",
281
+ style: "text",
282
+ tooltipProps: {
283
+ content: t("neetoMolecules.common.actions.save"),
284
+ position: "top"
285
+ },
286
+ onClick: handleMetadataSubmit
287
+ })]
288
+ })]
289
+ })]
290
+ });
291
+ };
292
+
293
+ 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; }
294
+ 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__default["default"](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; }
295
+ var DetailsBlock = function DetailsBlock(_ref) {
296
+ var details = _ref.details,
297
+ _ref$handleCancel = _ref.handleCancel,
298
+ handleCancel = _ref$handleCancel === void 0 ? neetoCist.noop : _ref$handleCancel,
299
+ _ref$handleSubmit = _ref.handleSubmit,
300
+ handleSubmit = _ref$handleSubmit === void 0 ? neetoCist.noop : _ref$handleSubmit,
301
+ helpPopoverProps = _ref.helpPopoverProps,
302
+ iconSize = _ref.iconSize,
303
+ _ref$showIcons = _ref.showIcons,
304
+ showIcons = _ref$showIcons === void 0 ? false : _ref$showIcons,
305
+ _ref$title = _ref.title,
306
+ title = _ref$title === void 0 ? "" : _ref$title;
307
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
308
+ className: "mb-4",
309
+ children: [title && /*#__PURE__*/jsxRuntime.jsxs("div", {
310
+ className: "mb-2 flex",
311
+ children: [/*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
312
+ className: "mr-2",
313
+ style: "h4",
314
+ textTransform: "uppercase",
315
+ weight: "bold",
316
+ children: title
317
+ }), neetoCist.isPresent(helpPopoverProps) && /*#__PURE__*/jsxRuntime.jsx(HelpPopover, _objectSpread({}, helpPopoverProps))]
318
+ }), details.map(function (detail, index) {
319
+ return /*#__PURE__*/React.createElement(Item, {
320
+ handleCancel: handleCancel,
321
+ handleSubmit: handleSubmit,
322
+ iconSize: iconSize,
323
+ showIcons: showIcons,
324
+ item: detail,
325
+ key: index
326
+ });
327
+ })]
328
+ });
329
+ };
330
+ var DetailsBlock$1 = /*#__PURE__*/React.memo(DetailsBlock);
331
+
332
+ var css = ".neeto-molecules-session-environment-editable-field .neeto-ui-input__wrapper .ant-picker-suffix{display:none}.neeto-molecules-session-environment-editable-field .neeto-ui-input__wrapper .neeto-ui-input__prefix{margin:0;padding:0}.neeto-molecules-session-environment-editable-field .neeto-ui-input__wrapper .neeto-ui-date-input,.neeto-molecules-session-environment-editable-field .neeto-ui-input__wrapper .neeto-ui-input>input{padding:4px 45px 4px 4px!important}.neeto-molecules-session-environment-editable-field__actions .neeto-ui-btn{background-color:transparent!important;min-height:0!important;padding:2px!important}";
333
+ injectCss.n(css,{});
334
+
335
+ var SessionEnvironment = function SessionEnvironment(_ref) {
336
+ var details = _ref.details,
337
+ _ref$handleCancel = _ref.handleCancel,
338
+ handleCancel = _ref$handleCancel === void 0 ? neetoCist.noop : _ref$handleCancel,
339
+ _ref$handleSubmit = _ref.handleSubmit,
340
+ handleSubmit = _ref$handleSubmit === void 0 ? neetoCist.noop : _ref$handleSubmit,
341
+ _ref$helpPopoverProps = _ref.helpPopoverProps,
342
+ helpPopoverProps = _ref$helpPopoverProps === void 0 ? {} : _ref$helpPopoverProps,
343
+ _ref$iconSize = _ref.iconSize,
344
+ iconSize = _ref$iconSize === void 0 ? 20 : _ref$iconSize,
345
+ _ref$isLoading = _ref.isLoading,
346
+ isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
347
+ _ref$moreDetails = _ref.moreDetails,
348
+ moreDetails = _ref$moreDetails === void 0 ? [] : _ref$moreDetails,
349
+ _ref$title = _ref.title,
350
+ title = _ref$title === void 0 ? "" : _ref$title;
351
+ var _useState = React.useState(false),
352
+ _useState2 = _slicedToArray__default["default"](_useState, 2),
353
+ showViewMore = _useState2[0],
354
+ setShowViewMore = _useState2[1];
355
+ var customViewMoreItems = React.useMemo(function () {
356
+ return neetoCist.filterBy({
357
+ kind: "custom"
358
+ }, moreDetails);
359
+ }, [moreDetails]);
360
+ var _useTranslation = reactI18next.useTranslation(),
361
+ t = _useTranslation.t;
362
+ if (isLoading) {
363
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
364
+ className: "flex h-full w-full items-center justify-center",
365
+ children: /*#__PURE__*/jsxRuntime.jsx(Spinner__default["default"], {})
366
+ });
367
+ }
368
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
369
+ className: "w-full",
370
+ children: [/*#__PURE__*/jsxRuntime.jsx(DetailsBlock$1, {
371
+ details: details,
372
+ handleCancel: handleCancel,
373
+ handleSubmit: handleSubmit,
374
+ helpPopoverProps: helpPopoverProps,
375
+ iconSize: iconSize,
376
+ title: title,
377
+ showIcons: true
378
+ }), showViewMore && /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
379
+ children: [/*#__PURE__*/jsxRuntime.jsx("hr", {
380
+ className: "m-4"
381
+ }), /*#__PURE__*/jsxRuntime.jsx(DetailsBlock$1, {
382
+ handleCancel: handleCancel,
383
+ handleSubmit: handleSubmit,
384
+ helpPopoverProps: helpPopoverProps,
385
+ iconSize: iconSize,
386
+ details: neetoCist.removeBy({
387
+ kind: "custom"
388
+ }, moreDetails)
389
+ }), neetoCist.isPresent(customViewMoreItems) && /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
390
+ children: [/*#__PURE__*/jsxRuntime.jsx("hr", {
391
+ className: "m-4"
392
+ }), ramda.pluck("value", customViewMoreItems)]
393
+ })]
394
+ }), /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
395
+ className: "mb-4",
396
+ icon: showViewMore ? Up__default["default"] : Down__default["default"],
397
+ style: "link",
398
+ label: showViewMore ? t("neetoMolecules.sessionEnvironment.viewLess") : t("neetoMolecules.sessionEnvironment.viewMore"),
399
+ onClick: function onClick() {
400
+ return setShowViewMore(ramda.not);
401
+ }
402
+ })]
403
+ });
404
+ };
405
+ var index = /*#__PURE__*/React.memo(SessionEnvironment);
406
+
407
+ module.exports = index;
408
+ //# sourceMappingURL=SessionEnvironment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionEnvironment.js","sources":["../../src/components/SessionEnvironment/constants.js","../../src/components/SessionEnvironment/utils.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 { 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 <Icon size={iconSize} />;\n};\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Check, Close } from \"neetoicons\";\nimport { Button, Input, Tooltip, Typography } from \"neetoui\";\nimport { isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\nimport { PhoneNumberInput } from \"components/PhoneNumber\";\nimport TimeFormat from \"components/TimeFormat\";\n\nimport { BOOLEAN_VALUES_MAP, ENTER, ESCAPE, PHONE_NUMBER } from \"./constants\";\nimport { getIcon, getInputType } from \"./utils\";\n\nconst Item = ({ handleCancel, handleSubmit, iconSize, item, showIcons }) => {\n const [isEditing, setIsEditing] = useState(item.isEditing);\n const [value, setValue] = useState(item.value);\n\n const { t } = useTranslation();\n\n const containerRef = useHotkeys(ESCAPE, () => handleCancel(name), {\n mode: \"scoped\",\n });\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 inputRef = useHotkeys(ENTER, handleMetadataSubmit, {\n mode: \"scoped\",\n });\n\n const InputComponent = name === PHONE_NUMBER ? PhoneNumberInput : Input;\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 ref={containerRef}\n className={classNames(\n \"mb-2 flex place-items-center gap-2 align-middle\",\n extraWrapperClasses,\n { \"flex-wrap\": name !== PHONE_NUMBER }\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: `overflow-hidden truncate whitespace-normal break-all ${extraClasses}`,\n }}\n />\n ) : (\n <Typography\n className={`overflow-hidden truncate whitespace-normal break-all ${extraClasses}`}\n data-testid={`metadata-value-${name}`}\n style=\"body2\"\n weight=\"normal\"\n onClick={() => isEditable && setIsEditing(true)}\n >\n {valueToRender}\n </Typography>\n )}\n {showCopyButton && (\n <CopyToClipboardButton\n className=\"flex-shrink-0\"\n size=\"small\"\n style=\"text\"\n value={valueToRender}\n />\n )}\n </>\n ) : (\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={inputRef}\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 </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\";\n\nconst DetailsBlock = ({\n details,\n handleCancel = noop,\n handleSubmit = noop,\n helpPopoverProps,\n iconSize,\n showIcons = false,\n title = \"\",\n}) => (\n <div className=\"mb-4\">\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.map((detail, index) => (\n <Item\n {...{ handleCancel, handleSubmit, iconSize, showIcons }}\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 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 details,\n handleCancel,\n handleSubmit,\n helpPopoverProps,\n iconSize,\n title,\n }}\n showIcons\n />\n {showViewMore && (\n <>\n <hr className=\"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=\"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\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","_jsx","size","Item","handleCancel","handleSubmit","item","showIcons","_useState","useState","isEditing","_useState2","_slicedToArray","setIsEditing","_useState3","_useState4","setValue","_useTranslation","useTranslation","t","containerRef","useHotkeys","mode","icon","_item$isEditable","isEditable","_item$extraClasses","extraClasses","_item$extraWrapperCla","extraWrapperClasses","id","fieldValueId","_item$custom","custom","error","label","_item$showCopyButton","showCopyButton","valueToRender","useMemo","isNil","toString","iconToRender","onSuccess","handleMetadataSubmit","fieldId","handleMetadataCancel","inputRef","InputComponent","PhoneNumberInput","Input","handleChange","event","target","useEffect","_jsxs","ref","className","classNames","children","isPresent","Tooltip","content","concat","Typography","style","_Fragment","TimeFormat","DateWeekTime","date","typographyProps","weight","onClick","CopyToClipboardButton","autoFocus","placeholder","what","type","onChange","Button","Close","tooltipProps","position","Check","DetailsBlock","details","_ref$handleCancel","noop","_ref$handleSubmit","helpPopoverProps","_ref$showIcons","_ref$title","title","textTransform","HelpPopover","_objectSpread","map","detail","index","_createElement","key","memo","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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"}
@@ -19,10 +19,13 @@ var reactRouterDom = require('react-router-dom');
19
19
  var jsxRuntime = require('react/jsx-runtime');
20
20
  require('./Breadcrumbs.js');
21
21
  require('./inject-css-80a5faa3.js');
22
+ require('./HelpPopover.js');
23
+ require('@bigbinary/neeto-icons/Help');
24
+ require('@bigbinary/neetoui/Button');
25
+ require('@bigbinary/neetoui/Popover');
22
26
  require('./MoreDropdown.js');
23
27
  require('@bigbinary/neeto-icons/MenuHorizontal');
24
28
  require('@bigbinary/neeto-icons/MenuVertical');
25
- require('@bigbinary/neetoui/Button');
26
29
  require('@bigbinary/neetoui/Dropdown');
27
30
  require('@bigbinary/neetoui/Tooltip');
28
31
  require('./Search.js');
@@ -1 +1 @@
1
- {"version":3,"file":"Settings.js","sources":["../../src/components/Settings/constants.js","../../src/components/Settings/Item.jsx","../../src/components/Settings/IntegrationItem.jsx","../../src/components/Settings/Category.jsx","../../src/components/Settings/utils.js","../../src/components/Settings/index.jsx"],"sourcesContent":["export const UNSUPPORTED_LINK_PROPS = [\"staticContext\", \"tReady\"];\n","import { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Typography } from \"neetoui\";\nimport { omit } from \"ramda\";\nimport { withRouter, Link } from \"react-router-dom\";\n\nimport { UNSUPPORTED_LINK_PROPS } from \"./constants\";\n\nconst Item = ({\n label,\n description,\n icon: Icon = null,\n path,\n dataCy,\n className = \"\",\n children,\n ...otherProps\n}) => (\n <Link\n data-cy={dataCy}\n to={path}\n className={classnames(\n \"neeto-ui-rounded-lg neeto-ui-shadow-xs neeto-ui-border-gray-300 translate flex cursor-pointer flex-col space-y-4 border p-6 no-underline outline-none transition-transform duration-300 ease-in-out hover:-translate-y-1\",\n className\n )}\n {...omit(UNSUPPORTED_LINK_PROPS, otherProps)}\n >\n <div\n data-cy={`settings-item-${joinHyphenCase(label)}`}\n data-testid={`settings-item-${joinHyphenCase(label)}`}\n >\n <div className=\"mb-2 flex items-center gap-4\">\n {Icon && <Icon className=\"neeto-ui-text-gray-600\" size={32} />}\n <Typography\n data-cy=\"settings-item-heading\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {label}\n </Typography>\n </div>\n <Typography data-cy=\"settings-item-description\" style=\"body2\">\n {description}\n </Typography>\n </div>\n {children && (\n <div className=\"neeto-ui-border-gray-300 border-t pt-3\">{children}</div>\n )}\n </Link>\n);\n\nexport default memo(withRouter(Item));\n","import { memo } from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Check } from \"neetoicons\";\nimport { Tag } from \"neetoui\";\n\nimport Item from \"./Item\";\n\nconst IntegrationItem = withT(\n ({ t, isConnected, icon, description, label, path, ...otherProps }) => (\n <Item\n {...{ description, icon, label, path, ...otherProps }}\n dataCy={`${hyphenate(label).replace(/\\./g, \"-\")}-integration-card`}\n >\n {isConnected && (\n <Tag\n className=\"flex-row-reverse\"\n data-cy=\"integration-status-tag\"\n icon={Check}\n label={t(\"neetoMolecules.integrationCard.connected\")}\n style=\"success\"\n />\n )}\n </Item>\n )\n);\n\nexport default memo(IntegrationItem);\n","import classNames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { Typography } from \"neetoui\";\n\nimport IntegrationItem from \"./IntegrationItem\";\nimport Item from \"./Item\";\n\nconst Category = ({ items, label, id, isIntegration }) => {\n const SettingsCard = isIntegration ? IntegrationItem : Item;\n\n const isLabelPresent = isPresent(label);\n\n return (\n <div\n {...{ id }}\n className={classNames(\"flex flex-col\", { \"mb-7\": isLabelPresent })}\n >\n {isLabelPresent && (\n <Typography\n className=\"mb-6 mt-2\"\n component=\"h2\"\n data-cy=\"settings-category-heading\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {label}\n </Typography>\n )}\n <div className=\"grid grid-cols-1 gap-3 md:grid-cols-2 lg:grid-cols-2 lg:gap-6 xl:grid-cols-3 2xl:grid-cols-4\">\n {items.map(item => (\n <SettingsCard key={item.label} {...item} />\n ))}\n </div>\n </div>\n );\n};\n\nexport default Category;\n","import { filterBy, isNotEmpty } from \"neetocist\";\n\nconst isTextMatching = (label, searchTerm) =>\n label.toLowerCase().includes(searchTerm.trim().toLowerCase());\n\nexport const scrollIntoSettingCategory = activeCategory => {\n document.getElementById(activeCategory)?.scrollIntoView({\n behavior: \"smooth\",\n });\n};\n\nexport const filterCategories = ({ categories = [], searchTerm = \"\" }) => {\n const isSearchTermBlank = !searchTerm.trim();\n\n const filteredCategories = isSearchTermBlank\n ? categories\n : categories.map(category => ({\n ...category,\n items: filterBy(\n ({ label, description }) =>\n isTextMatching(label, searchTerm) ||\n isTextMatching(description, searchTerm),\n category.items\n ),\n }));\n\n return filterBy({ items: isNotEmpty }, filteredCategories);\n};\n","import { useEffect } from \"react\";\n\nimport classNames from \"classnames\";\nimport useQueryParams from \"neetocommons/react-utils/useQueryParams\";\nimport { NoData } from \"neetoui\";\nimport propTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Header from \"components/Header\";\n\nimport Category from \"./Category\";\nimport { filterCategories, scrollIntoSettingCategory } from \"./utils\";\n\nconst Settings = ({\n isTitleHidden = false,\n isSearchHidden = false,\n title,\n categories = [],\n}) => {\n const { t } = useTranslation();\n\n const { category: categoryParam, searchTerm = \"\" } = useQueryParams();\n\n const filteredCategories = filterCategories({ categories, searchTerm });\n\n const isHeaderVisible = !isSearchHidden || !isTitleHidden;\n\n const headerTitle = title ?? t(\"neetoMolecules.settingsPage.title\");\n\n useEffect(() => {\n scrollIntoSettingCategory(categoryParam);\n }, [categoryParam]);\n\n return (\n <div\n className={classNames(\"neeto-molecules-container\", {\n \"h-auto overflow-y-auto\": isTitleHidden,\n })}\n >\n {isHeaderVisible && (\n <Header\n className={classNames({ \"min-h-0 pb-4 pt-8\": isTitleHidden })}\n title={!isTitleHidden && headerTitle}\n searchProps={\n isSearchHidden\n ? null\n : {\n className: \"w-72\",\n placeholder: t(\n \"neetoMolecules.settingsPage.placeholder.search\"\n ),\n }\n }\n />\n )}\n {isEmpty(filteredCategories) ? (\n <div\n className=\"flex h-full w-full flex-grow items-center justify-center\"\n data-testid=\"settings-no-data\"\n >\n <NoData title={t(\"neetoMolecules.settingsPage.noData\")} />\n </div>\n ) : (\n <div className=\"w-full\">\n {filteredCategories.map(({ id, label, items, isIntegration }) => (\n <Category {...{ id, isIntegration, items, label }} key={id} />\n ))}\n </div>\n )}\n </div>\n );\n};\n\nSettings.propTypes = {\n /**\n * Whether to hide the title or not.\n */\n isTitleHidden: propTypes.bool,\n /**\n * This can be used to customize the title.\n */\n title: propTypes.string,\n /**\n * Whether to hide the search bar or not.\n */\n isSearchHidden: propTypes.bool,\n /**\n * An array of setting categories to be displayed.\n */\n categories: propTypes.array,\n};\n\nexport default Settings;\n"],"names":["UNSUPPORTED_LINK_PROPS","Item","_ref","label","description","_ref$icon","icon","Icon","path","dataCy","_ref$className","className","children","otherProps","_objectWithoutProperties","_excluded","_jsxs","Link","_objectSpread","to","classnames","omit","concat","joinHyphenCase","_jsx","size","Typography","style","weight","memo","withRouter","IntegrationItem","withT","t","isConnected","hyphenate","replace","Tag","Check","Category","items","id","isIntegration","SettingsCard","isLabelPresent","isPresent","classNames","component","map","item","isTextMatching","searchTerm","toLowerCase","includes","trim","scrollIntoSettingCategory","activeCategory","_document$getElementB","document","getElementById","scrollIntoView","behavior","filterCategories","_ref$categories","categories","_ref$searchTerm","isSearchTermBlank","filteredCategories","category","filterBy","_ref2","isNotEmpty","Settings","_ref$isTitleHidden","isTitleHidden","_ref$isSearchHidden","isSearchHidden","title","_useTranslation","useTranslation","_useQueryParams","useQueryParams","categoryParam","_useQueryParams$searc","isHeaderVisible","headerTitle","useEffect","Header","searchProps","placeholder","isEmpty","NoData","_createElement","key"],"mappings":"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"}
1
+ {"version":3,"file":"Settings.js","sources":["../../src/components/Settings/constants.js","../../src/components/Settings/Item.jsx","../../src/components/Settings/IntegrationItem.jsx","../../src/components/Settings/Category.jsx","../../src/components/Settings/utils.js","../../src/components/Settings/index.jsx"],"sourcesContent":["export const UNSUPPORTED_LINK_PROPS = [\"staticContext\", \"tReady\"];\n","import { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Typography } from \"neetoui\";\nimport { omit } from \"ramda\";\nimport { withRouter, Link } from \"react-router-dom\";\n\nimport { UNSUPPORTED_LINK_PROPS } from \"./constants\";\n\nconst Item = ({\n label,\n description,\n icon: Icon = null,\n path,\n dataCy,\n className = \"\",\n children,\n ...otherProps\n}) => (\n <Link\n data-cy={dataCy}\n to={path}\n className={classnames(\n \"neeto-ui-rounded-lg neeto-ui-shadow-xs neeto-ui-border-gray-300 translate flex cursor-pointer flex-col space-y-4 border p-6 no-underline outline-none transition-transform duration-300 ease-in-out hover:-translate-y-1\",\n className\n )}\n {...omit(UNSUPPORTED_LINK_PROPS, otherProps)}\n >\n <div\n data-cy={`settings-item-${joinHyphenCase(label)}`}\n data-testid={`settings-item-${joinHyphenCase(label)}`}\n >\n <div className=\"mb-2 flex items-center gap-4\">\n {Icon && <Icon className=\"neeto-ui-text-gray-600\" size={32} />}\n <Typography\n data-cy=\"settings-item-heading\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {label}\n </Typography>\n </div>\n <Typography data-cy=\"settings-item-description\" style=\"body2\">\n {description}\n </Typography>\n </div>\n {children && (\n <div className=\"neeto-ui-border-gray-300 border-t pt-3\">{children}</div>\n )}\n </Link>\n);\n\nexport default memo(withRouter(Item));\n","import { memo } from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Check } from \"neetoicons\";\nimport { Tag } from \"neetoui\";\n\nimport Item from \"./Item\";\n\nconst IntegrationItem = withT(\n ({ t, isConnected, icon, description, label, path, ...otherProps }) => (\n <Item\n {...{ description, icon, label, path, ...otherProps }}\n dataCy={`${hyphenate(label).replace(/\\./g, \"-\")}-integration-card`}\n >\n {isConnected && (\n <Tag\n className=\"flex-row-reverse\"\n data-cy=\"integration-status-tag\"\n icon={Check}\n label={t(\"neetoMolecules.integrationCard.connected\")}\n style=\"success\"\n />\n )}\n </Item>\n )\n);\n\nexport default memo(IntegrationItem);\n","import classNames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { Typography } from \"neetoui\";\n\nimport IntegrationItem from \"./IntegrationItem\";\nimport Item from \"./Item\";\n\nconst Category = ({ items, label, id, isIntegration }) => {\n const SettingsCard = isIntegration ? IntegrationItem : Item;\n\n const isLabelPresent = isPresent(label);\n\n return (\n <div\n {...{ id }}\n className={classNames(\"flex flex-col\", { \"mb-7\": isLabelPresent })}\n >\n {isLabelPresent && (\n <Typography\n className=\"mb-6 mt-2\"\n component=\"h2\"\n data-cy=\"settings-category-heading\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {label}\n </Typography>\n )}\n <div className=\"grid grid-cols-1 gap-3 md:grid-cols-2 lg:grid-cols-2 lg:gap-6 xl:grid-cols-3 2xl:grid-cols-4\">\n {items.map(item => (\n <SettingsCard key={item.label} {...item} />\n ))}\n </div>\n </div>\n );\n};\n\nexport default Category;\n","import { filterBy, isNotEmpty } from \"neetocist\";\n\nconst isTextMatching = (label, searchTerm) =>\n label.toLowerCase().includes(searchTerm.trim().toLowerCase());\n\nexport const scrollIntoSettingCategory = activeCategory => {\n document.getElementById(activeCategory)?.scrollIntoView({\n behavior: \"smooth\",\n });\n};\n\nexport const filterCategories = ({ categories = [], searchTerm = \"\" }) => {\n const isSearchTermBlank = !searchTerm.trim();\n\n const filteredCategories = isSearchTermBlank\n ? categories\n : categories.map(category => ({\n ...category,\n items: filterBy(\n ({ label, description }) =>\n isTextMatching(label, searchTerm) ||\n isTextMatching(description, searchTerm),\n category.items\n ),\n }));\n\n return filterBy({ items: isNotEmpty }, filteredCategories);\n};\n","import { useEffect } from \"react\";\n\nimport classNames from \"classnames\";\nimport useQueryParams from \"neetocommons/react-utils/useQueryParams\";\nimport { NoData } from \"neetoui\";\nimport propTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Header from \"components/Header\";\n\nimport Category from \"./Category\";\nimport { filterCategories, scrollIntoSettingCategory } from \"./utils\";\n\nconst Settings = ({\n isTitleHidden = false,\n isSearchHidden = false,\n title,\n categories = [],\n}) => {\n const { t } = useTranslation();\n\n const { category: categoryParam, searchTerm = \"\" } = useQueryParams();\n\n const filteredCategories = filterCategories({ categories, searchTerm });\n\n const isHeaderVisible = !isSearchHidden || !isTitleHidden;\n\n const headerTitle = title ?? t(\"neetoMolecules.settingsPage.title\");\n\n useEffect(() => {\n scrollIntoSettingCategory(categoryParam);\n }, [categoryParam]);\n\n return (\n <div\n className={classNames(\"neeto-molecules-container\", {\n \"h-auto overflow-y-auto\": isTitleHidden,\n })}\n >\n {isHeaderVisible && (\n <Header\n className={classNames({ \"min-h-0 pb-4 pt-8\": isTitleHidden })}\n title={!isTitleHidden && headerTitle}\n searchProps={\n isSearchHidden\n ? null\n : {\n className: \"w-72\",\n placeholder: t(\n \"neetoMolecules.settingsPage.placeholder.search\"\n ),\n }\n }\n />\n )}\n {isEmpty(filteredCategories) ? (\n <div\n className=\"flex h-full w-full flex-grow items-center justify-center\"\n data-testid=\"settings-no-data\"\n >\n <NoData title={t(\"neetoMolecules.settingsPage.noData\")} />\n </div>\n ) : (\n <div className=\"w-full\">\n {filteredCategories.map(({ id, label, items, isIntegration }) => (\n <Category {...{ id, isIntegration, items, label }} key={id} />\n ))}\n </div>\n )}\n </div>\n );\n};\n\nSettings.propTypes = {\n /**\n * Whether to hide the title or not.\n */\n isTitleHidden: propTypes.bool,\n /**\n * This can be used to customize the title.\n */\n title: propTypes.string,\n /**\n * Whether to hide the search bar or not.\n */\n isSearchHidden: propTypes.bool,\n /**\n * An array of setting categories to be displayed.\n */\n categories: propTypes.array,\n};\n\nexport default Settings;\n"],"names":["UNSUPPORTED_LINK_PROPS","Item","_ref","label","description","_ref$icon","icon","Icon","path","dataCy","_ref$className","className","children","otherProps","_objectWithoutProperties","_excluded","_jsxs","Link","_objectSpread","to","classnames","omit","concat","joinHyphenCase","_jsx","size","Typography","style","weight","memo","withRouter","IntegrationItem","withT","t","isConnected","hyphenate","replace","Tag","Check","Category","items","id","isIntegration","SettingsCard","isLabelPresent","isPresent","classNames","component","map","item","isTextMatching","searchTerm","toLowerCase","includes","trim","scrollIntoSettingCategory","activeCategory","_document$getElementB","document","getElementById","scrollIntoView","behavior","filterCategories","_ref$categories","categories","_ref$searchTerm","isSearchTermBlank","filteredCategories","category","filterBy","_ref2","isNotEmpty","Settings","_ref$isTitleHidden","isTitleHidden","_ref$isSearchHidden","isSearchHidden","title","_useTranslation","useTranslation","_useQueryParams","useQueryParams","categoryParam","_useQueryParams$searc","isHeaderVisible","headerTitle","useEffect","Header","searchProps","placeholder","isEmpty","NoData","_createElement","key"],"mappings":"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"}
@@ -15,7 +15,6 @@ var ramda = require('ramda');
15
15
  var reactI18next = require('react-i18next');
16
16
  var Container = require('./Container.js');
17
17
  var Header = require('./Header.js');
18
- var HelpPopover = require('./HelpPopover.js');
19
18
  var SubHeader = require('./SubHeader.js');
20
19
  var TableWrapper = require('./TableWrapper.js');
21
20
  var constants = require('@bigbinary/neeto-commons-frontend/constants');
@@ -39,6 +38,10 @@ require('@babel/runtime/helpers/objectWithoutProperties');
39
38
  require('./Breadcrumbs.js');
40
39
  require('@bigbinary/neeto-commons-frontend/utils/general');
41
40
  require('react-router-dom');
41
+ require('./HelpPopover.js');
42
+ require('@bigbinary/neeto-icons/Help');
43
+ require('@bigbinary/neetoui/Button');
44
+ require('@bigbinary/neetoui/Popover');
42
45
  require('./Search.js');
43
46
  require('@bigbinary/neeto-commons-frontend/react-utils/useFuncDebounce');
44
47
  require('@bigbinary/neeto-commons-frontend/react-utils/useQueryParams');
@@ -47,10 +50,7 @@ require('@bigbinary/neeto-icons/Search');
47
50
  require('@bigbinary/neetoui/Input');
48
51
  require('@bigbinary/neeto-icons/MenuHorizontal');
49
52
  require('@bigbinary/neeto-icons/MenuVertical');
50
- require('@bigbinary/neetoui/Button');
51
53
  require('@bigbinary/neetoui/Tooltip');
52
- require('@bigbinary/neeto-icons/Help');
53
- require('@bigbinary/neetoui/Popover');
54
54
  require('@bigbinary/neeto-icons/Column');
55
55
  require('./useColumns-8894f767.js');
56
56
  require('@bigbinary/neetoui/Checkbox');
@@ -475,21 +475,16 @@ var Taxonomy = function Taxonomy(_ref) {
475
475
  children: [/*#__PURE__*/jsxRuntime.jsx(Header, {
476
476
  breadcrumbs: breadcrumbs,
477
477
  size: isMobileScreen ? "small" : "large",
478
+ title: i18next.t("neetoMolecules.taxonomy.title"),
478
479
  searchProps: {
479
480
  onChange: handleSearch,
480
481
  value: searchString,
481
482
  placeholder: i18next.t("neetoMolecules.taxonomy.searchTaxonomy")
482
483
  },
483
- title: /*#__PURE__*/jsxRuntime.jsxs("div", {
484
- className: "flex items-center gap-x-2",
485
- children: [i18next.t("neetoMolecules.taxonomy.title"), /*#__PURE__*/jsxRuntime.jsx(HelpPopover, _objectSpread({
486
- description: i18next.t("neetoMolecules.taxonomy.description"),
487
- helpLinkProps: {
488
- href: ""
489
- },
490
- title: i18next.t("neetoMolecules.taxonomy.title")
491
- }, titleHelpPopoverProps))]
492
- })
484
+ titleHelpPopoverProps: _objectSpread({
485
+ description: i18next.t("neetoMolecules.taxonomy.description"),
486
+ title: i18next.t("neetoMolecules.taxonomy.title")
487
+ }, titleHelpPopoverProps)
493
488
  }), /*#__PURE__*/jsxRuntime.jsx(SubHeader, {
494
489
  leftActionBlock: /*#__PURE__*/jsxRuntime.jsx(LeftActionBlock, {
495
490
  selectedRowIds: selectedRowIds,