@bigbinary/neeto-molecules 1.6.4 → 1.6.5

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/Settings.js CHANGED
@@ -1,12 +1,14 @@
1
1
  import React, { memo, useEffect } from 'react';
2
- import { joinHyphenCase, getQueryParams } from '@bigbinary/neeto-commons-frontend/utils';
3
- import { Dropdown as Dropdown$1, Tooltip, Button, Tag, Typography, Spinner, NoData } from '@bigbinary/neetoui';
2
+ import classnames from 'classnames';
3
+ import { useQueryParams } from '@bigbinary/neeto-commons-frontend/react-utils';
4
+ import { Typography, Dropdown as Dropdown$2, Tooltip, Button, Tag, Spinner, NoData } from '@bigbinary/neetoui';
4
5
  import { mergeRight, isNotNil, isEmpty } from 'ramda';
5
6
  import { useTranslation } from 'react-i18next';
6
- import { noop, isNotEmpty } from '@bigbinary/neeto-cist';
7
- import classnames from 'classnames';
8
- import { MenuVertical, MenuHorizontal, Warning, Check } from '@bigbinary/neeto-icons';
9
- import { withRouter, Link } from 'react-router-dom';
7
+ import { isNotEmpty, noop, filterBy } from '@bigbinary/neeto-cist';
8
+ import Search from '@bigbinary/neeto-molecules/Search';
9
+ import { Link, withRouter } from 'react-router-dom';
10
+ import { MenuHorizontal, MenuVertical, Warning, Check } from '@bigbinary/neeto-icons';
11
+ import { joinHyphenCase } from '@bigbinary/neeto-commons-frontend/utils';
10
12
 
11
13
  function _extends() {
12
14
  _extends = Object.assign ? Object.assign.bind() : function (target) {
@@ -23,35 +25,6 @@ function _extends() {
23
25
  return _extends.apply(this, arguments);
24
26
  }
25
27
 
26
- function _objectWithoutPropertiesLoose(source, excluded) {
27
- if (source == null) return {};
28
- var target = {};
29
- var sourceKeys = Object.keys(source);
30
- var key, i;
31
- for (i = 0; i < sourceKeys.length; i++) {
32
- key = sourceKeys[i];
33
- if (excluded.indexOf(key) >= 0) continue;
34
- target[key] = source[key];
35
- }
36
- return target;
37
- }
38
-
39
- function _objectWithoutProperties(source, excluded) {
40
- if (source == null) return {};
41
- var target = _objectWithoutPropertiesLoose(source, excluded);
42
- var key, i;
43
- if (Object.getOwnPropertySymbols) {
44
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
45
- for (i = 0; i < sourceSymbolKeys.length; i++) {
46
- key = sourceSymbolKeys[i];
47
- if (excluded.indexOf(key) >= 0) continue;
48
- if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
49
- target[key] = source[key];
50
- }
51
- }
52
- return target;
53
- }
54
-
55
28
  function _typeof(o) {
56
29
  "@babel/helpers - typeof";
57
30
 
@@ -93,6 +66,140 @@ function _defineProperty(obj, key, value) {
93
66
  return obj;
94
67
  }
95
68
 
69
+ var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
70
+
71
+ var css = ":root{--neeto-molecules-main-header-height:98px;--neeto-molecules-main-header-with-breadcrumbs-height:170px}.neeto-molecules-header{align-items:flex-start;background:rgb(var(--neeto-ui-white));display:flex;flex-direction:row;flex-shrink:0;gap:16px;justify-content:space-between;min-height:98px;min-height:var(--neeto-molecules-main-header-height);padding:40px 0 24px;width:100%}@media screen and (max-width:1024px){.neeto-molecules-header{flex-wrap:wrap}}.neeto-molecules-header .neeto-molecules-header__toggle-menubar-btn{margin-right:8px}.neeto-molecules-header .neeto-molecules-header__left{align-items:flex-start;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start}.neeto-molecules-header .neeto-molecules-header__left-data-wrap{display:flex;flex-wrap:wrap}.neeto-molecules-header .neeto-molecules-header__page-title{align-items:center;display:flex;flex-direction:row;gap:12px;margin-top:-12px;width:100%}@media screen and (max-width:1024px){.neeto-molecules-header .neeto-molecules-header__page-title{margin-top:-10px}}@media screen and (max-width:768px){.neeto-molecules-header .neeto-molecules-header__page-title{margin-top:-8px}}@media screen and (max-width:576px){.neeto-molecules-header .neeto-molecules-header__page-title{margin-top:-4px}}.neeto-molecules-header .neeto-molecules-header__page-title h2{font-size:calc(1.375rem + 1.5vw);line-height:var(--neeto-ui-leading-tight)}@media (min-width:1200px){.neeto-molecules-header .neeto-molecules-header__page-title h2{font-size:2.5rem}}.neeto-molecules-header .neeto-molecules-header__breadcrumbs-wrap{display:flex;margin:0 0 40px}@media screen and (max-width:768px){.neeto-molecules-header .neeto-molecules-header__breadcrumbs-wrap{margin:0 0 16px}}.neeto-molecules-header .neeto-molecules-header__breadcrumb{align-items:center;display:flex;flex-direction:row;justify-content:flex-start;line-height:1}.neeto-molecules-header .neeto-molecules-header__breadcrumb a{text-decoration:none;transition:all .3s ease-in-out}.neeto-molecules-header .neeto-molecules-header__breadcrumb a:focus-visible{border-radius:var(--neeto-ui-rounded-sm);outline:3px solid rgba(var(--neeto-ui-primary-500),50%)}.neeto-molecules-header .neeto-molecules-header__breadcrumb-separator{font-size:12px;line-height:16px;margin:0 12px}.neeto-molecules-header .neeto-molecules-header__right{align-items:center;display:flex;gap:12px;justify-content:flex-end}@media screen and (max-width:768px){.neeto-molecules-header .neeto-molecules-header__right{flex-wrap:wrap;justify-content:flex-start}}.neeto-molecules-header .neeto-molecules-header__right .neeto-ui-btn{flex-shrink:0}.neeto-molecules-header .neeto-molecules-header__right .neeto-molecules-header__search-input{flex-grow:0;min-width:104px}.neeto-molecules-header .neeto-molecules-header__right .neeto-molecules-header__action-block{align-items:center;display:flex;flex-shrink:0;gap:12px;justify-content:flex-end}@media screen and (max-width:360px){.neeto-molecules-header .neeto-molecules-header__right .neeto-molecules-header__action-block{flex-shrink:1;flex-wrap:wrap;justify-content:flex-start}}.neeto-molecules-header--has-breadcrumbs{min-height:170px;min-height:var(--neeto-molecules-main-header-with-breadcrumbs-height)}.neeto-molecules-header--has-breadcrumbs .neeto-molecules-header__page-title{margin-top:0}.neeto-molecules-header--nano,.neeto-molecules-header--small{flex-shrink:0;min-height:0}.neeto-molecules-header--nano .neeto-molecules-header__breadcrumbs-wrap,.neeto-molecules-header--small .neeto-molecules-header__breadcrumbs-wrap{margin:0 0 16px}.neeto-molecules-header--small .neeto-molecules-header__page-title{margin-top:-4px}.neeto-molecules-header--small .neeto-molecules-header__page-title h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.neeto-molecules-header--small .neeto-molecules-header__page-title h2{font-size:2rem}}.neeto-molecules-header--nano .neeto-molecules-header__page-title{margin-top:0}.neeto-molecules-header--nano .neeto-molecules-header__page-title h2{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.neeto-molecules-header--nano .neeto-molecules-header__page-title h2{font-size:1.5rem}}";
72
+ n(css,{});
73
+
74
+ var Breadcrumbs = function Breadcrumbs(_ref) {
75
+ var breadcrumbs = _ref.breadcrumbs;
76
+ return /*#__PURE__*/React.createElement("div", {
77
+ className: "neeto-molecules-header__breadcrumbs-wrap"
78
+ }, breadcrumbs.map(function (_ref2, index) {
79
+ var text = _ref2.text,
80
+ _ref2$link = _ref2.link,
81
+ link = _ref2$link === void 0 ? "#" : _ref2$link;
82
+ return /*#__PURE__*/React.createElement("div", {
83
+ className: "neeto-molecules-header__breadcrumb",
84
+ "data-cy": "header-breadcrumb",
85
+ key: index
86
+ }, /*#__PURE__*/React.createElement(Link, {
87
+ to: link
88
+ }, /*#__PURE__*/React.createElement(Typography, {
89
+ className: "neeto-ui-text-gray-700 hover:neeto-ui-text-gray-800 neeto-molecules-header__breadcrumb-link",
90
+ component: "span",
91
+ "data-cy": text,
92
+ "data-test-id": text,
93
+ style: "body2",
94
+ weight: "normal"
95
+ }, text)), index !== breadcrumbs.length - 1 && /*#__PURE__*/React.createElement("span", {
96
+ className: "neeto-molecules-header__breadcrumb-separator neeto-ui-text-black"
97
+ }, "/"));
98
+ }));
99
+ };
100
+ var Breadcrumbs$1 = /*#__PURE__*/React.memo(Breadcrumbs);
101
+
102
+ var SIZES = {
103
+ nano: "nano",
104
+ small: "small",
105
+ large: "large"
106
+ };
107
+ var DROPDOWN_BUTTON_SIZES = {
108
+ nano: "small",
109
+ small: "medium",
110
+ large: "large"
111
+ };
112
+
113
+ var Dropdown$1 = function Dropdown(props) {
114
+ return /*#__PURE__*/React.createElement(Dropdown$2, _extends({
115
+ buttonSize: DROPDOWN_BUTTON_SIZES[props.size],
116
+ buttonStyle: "secondary",
117
+ icon: MenuHorizontal,
118
+ position: "bottom-start",
119
+ strategy: "fixed"
120
+ }, props));
121
+ };
122
+
123
+ function ownKeys$3(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
124
+ function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
125
+ var Header = function Header(_ref) {
126
+ var title = _ref.title,
127
+ searchProps = _ref.searchProps,
128
+ _ref$className = _ref.className,
129
+ className = _ref$className === void 0 ? "" : _ref$className,
130
+ actionBlock = _ref.actionBlock,
131
+ _ref$breadcrumbs = _ref.breadcrumbs,
132
+ breadcrumbs = _ref$breadcrumbs === void 0 ? [] : _ref$breadcrumbs,
133
+ _ref$renderDropdown = _ref.renderDropdown,
134
+ renderDropdown = _ref$renderDropdown === void 0 ? noop : _ref$renderDropdown,
135
+ _ref$size = _ref.size,
136
+ size = _ref$size === void 0 ? "large" : _ref$size,
137
+ _ref$dataTestid = _ref["data-testid"],
138
+ dataTestId = _ref$dataTestid === void 0 ? "neeto-molecules-header" : _ref$dataTestid;
139
+ return /*#__PURE__*/React.createElement("div", {
140
+ "data-testid": dataTestId,
141
+ className: classnames(["neeto-molecules-header", {
142
+ "neeto-molecules-header--has-breadcrumbs": isNotEmpty(breadcrumbs),
143
+ "neeto-molecules-header--large": size === SIZES.large,
144
+ "neeto-molecules-header--small": size === SIZES.small,
145
+ "neeto-molecules-header--nano": size === SIZES.nano
146
+ }, className])
147
+ }, /*#__PURE__*/React.createElement("div", {
148
+ className: "neeto-molecules-header__left"
149
+ }, /*#__PURE__*/React.createElement("div", {
150
+ className: "neeto-molecules-header__left-data-wrap"
151
+ }, isNotEmpty(breadcrumbs) && /*#__PURE__*/React.createElement(Breadcrumbs$1, {
152
+ breadcrumbs: breadcrumbs
153
+ }), /*#__PURE__*/React.createElement("div", {
154
+ className: "neeto-molecules-header__page-title"
155
+ }, /*#__PURE__*/React.createElement(Typography, {
156
+ "data-cy": "main-header",
157
+ "data-test-id": "main-header",
158
+ lineHeight: "tight",
159
+ style: "h2",
160
+ weight: "semibold"
161
+ }, title), renderDropdown(function (props) {
162
+ return /*#__PURE__*/React.createElement(Dropdown$1, _objectSpread$3({
163
+ size: size
164
+ }, props));
165
+ })))), /*#__PURE__*/React.createElement("div", {
166
+ className: "neeto-molecules-header__right"
167
+ }, searchProps && /*#__PURE__*/React.createElement(Search, _extends({
168
+ className: classnames(["neeto-molecules-header__search-input", searchProps.className])
169
+ }, searchProps)), actionBlock && /*#__PURE__*/React.createElement("div", {
170
+ className: "neeto-molecules-header__action-block"
171
+ }, actionBlock)));
172
+ };
173
+
174
+ function _objectWithoutPropertiesLoose(source, excluded) {
175
+ if (source == null) return {};
176
+ var target = {};
177
+ var sourceKeys = Object.keys(source);
178
+ var key, i;
179
+ for (i = 0; i < sourceKeys.length; i++) {
180
+ key = sourceKeys[i];
181
+ if (excluded.indexOf(key) >= 0) continue;
182
+ target[key] = source[key];
183
+ }
184
+ return target;
185
+ }
186
+
187
+ function _objectWithoutProperties(source, excluded) {
188
+ if (source == null) return {};
189
+ var target = _objectWithoutPropertiesLoose(source, excluded);
190
+ var key, i;
191
+ if (Object.getOwnPropertySymbols) {
192
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
193
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
194
+ key = sourceSymbolKeys[i];
195
+ if (excluded.indexOf(key) >= 0) continue;
196
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
197
+ target[key] = source[key];
198
+ }
199
+ }
200
+ return target;
201
+ }
202
+
96
203
  var MENU_ITEM_TYPES = {
97
204
  menuItem: "menuItem",
98
205
  divider: "divider"
@@ -104,13 +211,13 @@ var DEFAULT_TOOLTIP_PROPS = {
104
211
 
105
212
  var _excluded$4 = ["label", "key"],
106
213
  _excluded2 = ["isVisible", "key"];
107
- var MenuItem$1 = Dropdown$1.MenuItem,
108
- Menu$1 = Dropdown$1.Menu;
214
+ var MenuItem$1 = Dropdown$2.MenuItem,
215
+ Menu$1 = Dropdown$2.Menu;
109
216
  var Submenu = function Submenu(_ref) {
110
217
  var label = _ref.label,
111
218
  key = _ref.key,
112
219
  menuItemProps = _objectWithoutProperties(_ref, _excluded$4);
113
- return /*#__PURE__*/React.createElement(Dropdown$1, _extends({
220
+ return /*#__PURE__*/React.createElement(Dropdown$2, _extends({
114
221
  customTarget: /*#__PURE__*/React.createElement(MenuItem$1.Button, null, label),
115
222
  key: key,
116
223
  position: "left",
@@ -128,10 +235,10 @@ var Submenu = function Submenu(_ref) {
128
235
  };
129
236
 
130
237
  var _excluded$3 = ["onClick", "label", "type", "hasSubItems"];
131
- function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
132
- function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
133
- var MenuItem = Dropdown$1.MenuItem,
134
- Divider = Dropdown$1.Divider;
238
+ function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
239
+ function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
240
+ var MenuItem = Dropdown$2.MenuItem,
241
+ Divider = Dropdown$2.Divider;
135
242
  var MoreDropdownMenuItem = function MoreDropdownMenuItem(_ref) {
136
243
  var onClick = _ref.onClick,
137
244
  label = _ref.label,
@@ -144,19 +251,19 @@ var MoreDropdownMenuItem = function MoreDropdownMenuItem(_ref) {
144
251
  return /*#__PURE__*/React.createElement(Divider, null);
145
252
  }
146
253
  if (hasSubItems) {
147
- return /*#__PURE__*/React.createElement(Submenu, _objectSpread$1({
254
+ return /*#__PURE__*/React.createElement(Submenu, _objectSpread$2({
148
255
  label: label
149
256
  }, menuItemProps));
150
257
  }
151
- return /*#__PURE__*/React.createElement(MenuItem.Button, _objectSpread$1({
258
+ return /*#__PURE__*/React.createElement(MenuItem.Button, _objectSpread$2({
152
259
  onClick: onClick
153
260
  }, menuItemProps), label);
154
261
  };
155
262
 
156
263
  var _excluded$2 = ["isVisible", "key"];
157
- 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; }
158
- 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; }
159
- var Menu = Dropdown$1.Menu;
264
+ function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
265
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
266
+ var Menu = Dropdown$2.Menu;
160
267
  var MoreDropdown = function MoreDropdown(_ref) {
161
268
  var _ref$dropdownButtonPr = _ref.dropdownButtonProps,
162
269
  dropdownButtonProps = _ref$dropdownButtonPr === void 0 ? {} : _ref$dropdownButtonPr,
@@ -186,12 +293,12 @@ var MoreDropdown = function MoreDropdown(_ref) {
186
293
  style: "text"
187
294
  }, dropdownButtonProps))));
188
295
  }
189
- return /*#__PURE__*/React.createElement(Dropdown$1, _extends({
296
+ return /*#__PURE__*/React.createElement(Dropdown$2, _extends({
190
297
  autoWidth: true,
191
298
  className: "flex",
192
299
  disabled: isDisabled,
193
300
  icon: targetIcon,
194
- buttonProps: _objectSpread({
301
+ buttonProps: _objectSpread$1({
195
302
  className: "min-h-0 flex-shrink-0",
196
303
  style: "text",
197
304
  tooltipProps: {
@@ -437,7 +544,7 @@ var Category = function Category(_ref) {
437
544
  return /*#__PURE__*/React.createElement("div", {
438
545
  id: id,
439
546
  className: "flex flex-col py-6"
440
- }, isNotEmpty(items) && /*#__PURE__*/React.createElement(Typography, {
547
+ }, /*#__PURE__*/React.createElement(Typography, {
441
548
  className: "mb-6",
442
549
  component: "h2",
443
550
  "data-cy": "settings-category-heading",
@@ -452,27 +559,74 @@ var Category = function Category(_ref) {
452
559
  })));
453
560
  };
454
561
 
562
+ 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; }
563
+ 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; }
564
+ var isLabelMatching = function isLabelMatching(label, searchTerm) {
565
+ return label.toLowerCase().includes(searchTerm.trim().toLowerCase());
566
+ };
455
567
  var scrollIntoSettingCategory = function scrollIntoSettingCategory(activeCategory) {
456
568
  var _document$getElementB;
457
569
  (_document$getElementB = document.getElementById(activeCategory)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.scrollIntoView();
458
570
  };
571
+ var filterCategories = function filterCategories(_ref) {
572
+ var _ref$categories = _ref.categories,
573
+ categories = _ref$categories === void 0 ? [] : _ref$categories,
574
+ _ref$searchTerm = _ref.searchTerm,
575
+ searchTerm = _ref$searchTerm === void 0 ? "" : _ref$searchTerm;
576
+ var isSearchTermBlank = !searchTerm.trim();
577
+ var filteredCategories = isSearchTermBlank ? categories : categories.map(function (category) {
578
+ return _objectSpread(_objectSpread({}, category), {}, {
579
+ items: filterBy({
580
+ label: function label(_label) {
581
+ return isLabelMatching(_label, searchTerm);
582
+ }
583
+ }, category.items)
584
+ });
585
+ });
586
+ return filterBy({
587
+ items: isNotEmpty
588
+ }, filteredCategories);
589
+ };
459
590
 
460
591
  var Settings = function Settings(_ref) {
461
- var _ref$categories = _ref.categories,
592
+ var _ref$isTitleHidden = _ref.isTitleHidden,
593
+ isTitleHidden = _ref$isTitleHidden === void 0 ? false : _ref$isTitleHidden,
594
+ _ref$categories = _ref.categories,
462
595
  categories = _ref$categories === void 0 ? [] : _ref$categories;
463
596
  var _useTranslation = useTranslation(),
464
597
  t = _useTranslation.t;
465
- var _getQueryParams = getQueryParams(),
466
- categoryParam = _getQueryParams.category;
598
+ var _useQueryParams = useQueryParams(),
599
+ categoryParam = _useQueryParams.category,
600
+ _useQueryParams$searc = _useQueryParams.searchTerm,
601
+ searchTerm = _useQueryParams$searc === void 0 ? "" : _useQueryParams$searc;
602
+ var filteredCategories = filterCategories({
603
+ categories: categories,
604
+ searchTerm: searchTerm
605
+ });
467
606
  useEffect(function () {
468
607
  scrollIntoSettingCategory(categoryParam === null || categoryParam === void 0 ? void 0 : categoryParam.toUpperCase());
469
608
  }, [categoryParam]);
470
- return /*#__PURE__*/React.createElement(React.Fragment, null, isEmpty(categories) ? /*#__PURE__*/React.createElement("div", {
609
+ return /*#__PURE__*/React.createElement("div", {
610
+ className: classnames("neeto-molecules-container", {
611
+ "h-auto overflow-y-auto": isTitleHidden
612
+ })
613
+ }, /*#__PURE__*/React.createElement(Header, {
614
+ className: classnames({
615
+ "min-h-0 pb-4 pt-8": isTitleHidden
616
+ }),
617
+ title: !isTitleHidden && t("neetoMolecules.settingsPage.title"),
618
+ searchProps: {
619
+ className: "w-72",
620
+ placeholder: t("neetoMolecules.settingsPage.placeholder.search")
621
+ }
622
+ }), isEmpty(filteredCategories) ? /*#__PURE__*/React.createElement("div", {
471
623
  className: "flex h-full w-full flex-grow items-center justify-center",
472
624
  "data-testid": "settings-no-data"
473
625
  }, /*#__PURE__*/React.createElement(NoData, {
474
626
  title: t("neetoMolecules.settingsPage.noData")
475
- })) : categories.map(function (_ref2) {
627
+ })) : /*#__PURE__*/React.createElement("div", {
628
+ className: "w-full space-y-12"
629
+ }, filteredCategories.map(function (_ref2) {
476
630
  var id = _ref2.id,
477
631
  label = _ref2.label,
478
632
  items = _ref2.items,
@@ -484,7 +638,7 @@ var Settings = function Settings(_ref) {
484
638
  label: label,
485
639
  key: id
486
640
  });
487
- }));
641
+ })));
488
642
  };
489
643
 
490
644
  export { Settings as default };