@bigbinary/neeto-molecules 1.15.5 → 1.15.7

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.
@@ -16,7 +16,7 @@ import SubHeader from './SubHeader.js';
16
16
  import { t } from 'i18next';
17
17
  import { Left, Down, Right } from '@bigbinary/neeto-icons';
18
18
  import 'classnames';
19
- import './Columns-702d539a.js';
19
+ import './Columns-2bdb8579.js';
20
20
  import './inject-css-c86de496.js';
21
21
  import '@bigbinary/neeto-commons-frontend/utils/general';
22
22
  import 'zustand';
@@ -186,7 +186,7 @@ var Columns = /*#__PURE__*/forwardRef(function (_ref, ref) {
186
186
  return /*#__PURE__*/React__default.createElement(MenuItem, {
187
187
  key: key
188
188
  }, /*#__PURE__*/React__default.createElement(Label, {
189
- className: "neeto-ui-w-full hover:neeto-ui-bg-gray-200 neeto-ui-cursor-pointer px-4 py-2",
189
+ className: "neeto-ui-flex neeto-ui-w-full hover:neeto-ui-bg-gray-200 neeto-ui-cursor-pointer px-4 py-2",
190
190
  htmlFor: dataIndex
191
191
  }, /*#__PURE__*/React__default.createElement(Checkbox, _extends({
192
192
  checked: !hiddenColumns.includes(dataIndex),
@@ -203,4 +203,4 @@ var Columns = /*#__PURE__*/forwardRef(function (_ref, ref) {
203
203
  Columns.displayName = "Columns";
204
204
 
205
205
  export { Columns as C, HIDDEN_COLUMNS_STORAGE_KEY as H, useHiddenColumnStore as a, useHiddenColumns as u };
206
- //# sourceMappingURL=Columns-702d539a.js.map
206
+ //# sourceMappingURL=Columns-2bdb8579.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Columns-2bdb8579.js","sources":["../src/components/Columns/constants.js","../src/components/Columns/utils.js","../src/components/Columns/useHiddenColumns.js","../src/components/Columns/Columns.jsx"],"sourcesContent":["export const HIDDEN_COLUMNS_STORAGE_KEY = \"neeto-molecules-hidden-columns\";\n","import { existsBy, removeBy } from \"neetocist\";\nimport { filter, includes, toLower, trim } from \"ramda\";\n\nexport const getHidableColumns = columnData =>\n removeBy({ isHidable: false }, columnData);\n\nexport const filterBySearchTerm = (searchTerm, columns) =>\n filter(\n ({ title }) => includes(trim(toLower(searchTerm)), trim(toLower(title))),\n columns\n );\n\nexport const removeDeletedColumns = (hiddenColumns, columnData) =>\n hiddenColumns.filter(hiddenColumn =>\n existsBy({ dataIndex: hiddenColumn }, columnData)\n );\n","import { useEffect } from \"react\";\n\nimport { removeBy } from \"neetocist\";\nimport {\n getFromLocalStorage,\n removeFromLocalStorage,\n} from \"neetocommons/utils/general\";\nimport { __, without, includes, isEmpty, equals, union } from \"ramda\";\nimport { create } from \"zustand\";\nimport { persist } from \"zustand/middleware\";\n\nimport { HIDDEN_COLUMNS_STORAGE_KEY } from \"./constants\";\nimport { removeDeletedColumns } from \"./utils\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useHiddenColumnStore = create(\n persist(() => ({}), { name: HIDDEN_COLUMNS_STORAGE_KEY })\n);\n\nconst useHiddenColumns = (localStorageKey, initialValue = []) => {\n const hiddenColumns = useHiddenColumnStore(state => state[localStorageKey]);\n const setHiddenColumns = columns =>\n useHiddenColumnStore.setState({ [localStorageKey]: columns });\n\n // Migrates values from old location to new zustand location.\n useEffect(() => {\n const oldValue = getFromLocalStorage(localStorageKey);\n if (oldValue) {\n setHiddenColumns(oldValue);\n removeFromLocalStorage(localStorageKey);\n } else if (!hiddenColumns) {\n setHiddenColumns(initialValue);\n }\n }, [localStorageKey]);\n\n const hideColumn = columns =>\n setHiddenColumns(\n union(hiddenColumns, Array.isArray(columns) ? columns : [columns])\n );\n\n const showColumn = columns =>\n setHiddenColumns(\n without(Array.isArray(columns) ? columns : [columns], hiddenColumns)\n );\n\n const getVisibleColumnData = columnData =>\n removeBy({ dataIndex: includes(__, hiddenColumns || []) }, columnData);\n\n const onColumnDataChange = columnData => {\n if (isEmpty(columnData) || !hiddenColumns) return;\n const newHiddenColumns = removeDeletedColumns(hiddenColumns, columnData);\n if (!equals(newHiddenColumns, hiddenColumns)) {\n setHiddenColumns(newHiddenColumns);\n }\n };\n\n return {\n hiddenColumns,\n hideColumn,\n showColumn,\n getVisibleColumnData,\n onColumnDataChange,\n };\n};\n\nexport { useHiddenColumns, useHiddenColumnStore };\n","import React, {\n useState,\n useImperativeHandle,\n forwardRef,\n useEffect,\n} from \"react\";\n\nimport i18next from \"i18next\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Search } from \"neetoicons\";\nimport { Checkbox, Dropdown, Input, Label, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { identity } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport \"./columns.scss\";\nimport { useHiddenColumns } from \"./useHiddenColumns\";\nimport { filterBySearchTerm, getHidableColumns } from \"./utils\";\n\nconst Columns = forwardRef(\n (\n {\n actionBlock,\n checkboxProps = {},\n columnData = [],\n isSearchable = false,\n localStorageKey = \"\",\n initialValue = [],\n noColumnMessage = i18next.t(\"neetoMolecules.columns.noColumns\"),\n onChange = identity,\n searchProps = {},\n ...dropdownProps\n },\n ref\n ) => {\n const { Divider, Menu, MenuItem } = Dropdown;\n const [searchTerm, setSearchTerm] = useState(\"\");\n const { t } = useTranslation();\n\n const {\n hiddenColumns = [],\n hideColumn,\n showColumn,\n getVisibleColumnData,\n onColumnDataChange,\n } = useHiddenColumns(localStorageKey, initialValue);\n\n useEffect(() => {\n onChange(getVisibleColumnData(columnData), hiddenColumns);\n }, [hiddenColumns]);\n\n useEffect(() => {\n onColumnDataChange(columnData);\n }, [columnData]);\n\n /**\n * @deprecated Use showColumn|hideColumn from useHiddenColumns\n */\n useImperativeHandle(ref, () => ({ hideColumn, showColumn }), []);\n\n const handleChange = ({ target: { name: dataIndex, checked } }) => {\n if (checked) showColumn(dataIndex);\n else hideColumn(dataIndex);\n };\n const handleSearch = ({ target: { value } }) => setSearchTerm(value);\n\n const columns = getHidableColumns(columnData);\n const filteredColumns = filterBySearchTerm(searchTerm, columns);\n\n return (\n <Dropdown\n appendTo={document.body}\n buttonSize=\"medium\"\n buttonStyle=\"text\"\n closeOnSelect={false}\n label={t(\"neetoMolecules.columns.columns\")}\n position=\"bottom-end\"\n onClose={() => setSearchTerm(\"\")}\n {...dropdownProps}\n >\n <Menu>\n <div className=\"neeto-molecules-columns__container\">\n {isSearchable && (\n <Input\n className=\"px-4 py-2\"\n data-cy=\"neeto-ui-columns-search\"\n data-testid=\"neeto-ui-columns-search\"\n placeholder={t(\"neetoMolecules.columns.search\")}\n prefix={<Search />}\n type=\"search\"\n value={searchTerm}\n onChange={handleSearch}\n {...searchProps}\n />\n )}\n <Typography\n className=\"neeto-ui-text-gray-600 px-4 py-2\"\n style=\"body2\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.columns.columns\")}\n </Typography>\n {isNotEmpty(filteredColumns) ? (\n filteredColumns.map(({ dataIndex, key, title }) => (\n <MenuItem key={key}>\n <Label\n className=\"neeto-ui-flex neeto-ui-w-full hover:neeto-ui-bg-gray-200 neeto-ui-cursor-pointer px-4 py-2\"\n htmlFor={dataIndex}\n >\n <Checkbox\n checked={!hiddenColumns.includes(dataIndex)}\n data-cy=\"neeto-ui-columns-checkbox\"\n id={dataIndex}\n label={title}\n name={dataIndex}\n onChange={handleChange}\n {...checkboxProps}\n />\n </Label>\n </MenuItem>\n ))\n ) : (\n <span className=\"neeto-ui-flex neeto-ui-flex-col neeto-ui-items-center neeto-ui-p-2\">\n {noColumnMessage}\n </span>\n )}\n {!!actionBlock && (\n <>\n <Divider />\n {actionBlock}\n </>\n )}\n </div>\n </Menu>\n </Dropdown>\n );\n }\n);\n\nColumns.propTypes = {\n /**\n * Extra action items that can be added at the end of the dropdown (optional).\n */\n actionBlock: PropTypes.element,\n /**\n * Additional props for the checkboxes in the dropdown (optional).\n */\n checkboxProps: PropTypes.object,\n /**\n * The list of columns from which the dropdown options are built (required).\n */\n columnData: PropTypes.array,\n /**\n * Controls whether the dropdown options should be searchable (optional).\n */\n isSearchable: PropTypes.bool,\n /**\n * The key used to store data in local storage (required).\n */\n localStorageKey: PropTypes.string,\n /**\n * The list of columns that are hidden on initial render. This is the `dataIndex` attribute from columnData (optional).\n */\n initialValue: PropTypes.array,\n /**\n * The message to be shown when there are no columns to be displayed in the dropdown (optional).\n */\n noColumnMessage: PropTypes.string,\n /**\n * Handler function that is called when a checkbox is selected or unselected.\n */\n onChange: PropTypes.func,\n /**\n * Props to be passed to the search input in the column dropdown. Only works when `isSearchable` is set to `true` (optional).\n */\n searchProps: PropTypes.object,\n};\n\nColumns.displayName = \"Columns\";\nexport default Columns;\n"],"names":["HIDDEN_COLUMNS_STORAGE_KEY","getHidableColumns","columnData","removeBy","isHidable","filterBySearchTerm","searchTerm","columns","filter","_ref","title","includes","trim","toLower","removeDeletedColumns","hiddenColumns","hiddenColumn","existsBy","dataIndex","useHiddenColumnStore","create","persist","name","useHiddenColumns","localStorageKey","initialValue","arguments","length","undefined","state","setHiddenColumns","setState","_defineProperty","useEffect","oldValue","getFromLocalStorage","removeFromLocalStorage","hideColumn","union","Array","isArray","showColumn","without","getVisibleColumnData","__","onColumnDataChange","isEmpty","newHiddenColumns","equals","Columns","forwardRef","ref","actionBlock","_ref$checkboxProps","checkboxProps","_ref$columnData","_ref$isSearchable","isSearchable","_ref$localStorageKey","_ref$initialValue","_ref$noColumnMessage","noColumnMessage","i18next","t","_ref$onChange","onChange","identity","_ref$searchProps","searchProps","dropdownProps","_objectWithoutProperties","_excluded","Divider","Dropdown","Menu","MenuItem","_useState","useState","_useState2","_slicedToArray","setSearchTerm","_useTranslation","useTranslation","_useHiddenColumns","_useHiddenColumns$hid","useImperativeHandle","handleChange","_ref2","_ref2$target","target","checked","handleSearch","_ref3","value","filteredColumns","React","createElement","_extends","appendTo","document","body","buttonSize","buttonStyle","closeOnSelect","label","position","onClose","className","Input","placeholder","prefix","Search","type","Typography","style","weight","isNotEmpty","map","_ref4","key","Label","htmlFor","Checkbox","id","Fragment","displayName"],"mappings":"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"}
package/dist/Columns.js CHANGED
@@ -1,4 +1,4 @@
1
- export { H as HIDDEN_COLUMNS_STORAGE_KEY, C as default, a as useHiddenColumnStore, u as useHiddenColumns } from './Columns-702d539a.js';
1
+ export { H as HIDDEN_COLUMNS_STORAGE_KEY, C as default, a as useHiddenColumnStore, u as useHiddenColumns } from './Columns-2bdb8579.js';
2
2
  import './extends-093996c9.js';
3
3
  import './slicedToArray-b4278ecd.js';
4
4
  import './objectWithoutProperties-a0edb288.js';
@@ -20,7 +20,7 @@ import './objectWithoutProperties-a0edb288.js';
20
20
  import 'ramda';
21
21
  import './defineProperty-549061a7.js';
22
22
  import '@bigbinary/neeto-icons';
23
- import './Columns-702d539a.js';
23
+ import './Columns-2bdb8579.js';
24
24
  import 'i18next';
25
25
  import 'zustand';
26
26
  import 'zustand/middleware';
package/dist/Settings.js CHANGED
@@ -81,7 +81,7 @@ var Category = function Category(_ref) {
81
81
 
82
82
  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; }
83
83
  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; }
84
- var isLabelMatching = function isLabelMatching(label, searchTerm) {
84
+ var isTextMatching = function isTextMatching(label, searchTerm) {
85
85
  return label.toLowerCase().includes(searchTerm.trim().toLowerCase());
86
86
  };
87
87
  var scrollIntoSettingCategory = function scrollIntoSettingCategory(activeCategory) {
@@ -98,10 +98,10 @@ var filterCategories = function filterCategories(_ref) {
98
98
  var isSearchTermBlank = !searchTerm.trim();
99
99
  var filteredCategories = isSearchTermBlank ? categories : categories.map(function (category) {
100
100
  return _objectSpread(_objectSpread({}, category), {}, {
101
- items: filterBy({
102
- label: function label(_label) {
103
- return isLabelMatching(_label, searchTerm);
104
- }
101
+ items: filterBy(function (_ref2) {
102
+ var label = _ref2.label,
103
+ description = _ref2.description;
104
+ return isTextMatching(label, searchTerm) || isTextMatching(description, searchTerm);
105
105
  }, category.items)
106
106
  });
107
107
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Settings.js","sources":["../src/components/Settings/constants.js","../src/components/Settings/Item.jsx","../src/components/Settings/Category.jsx","../src/components/Settings/utils.js","../src/components/Settings/index.jsx"],"sourcesContent":["export const UNSUPPORTED_LINK_PROPS = [\"staticContext\"];\n","import React, { 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 ...otherProps\n}) => (\n <Link\n data-cy={dataCy}\n to={path}\n className={classnames(\n \"neeto-ui-border-gray-300 neeto-ui-shadow-xs hover:neeto-ui-border-gray-500 focus:neeto-ui-border-gray-500 neeto-ui-rounded-lg flex cursor-pointer flex-col border p-6 no-underline outline-none transition-colors\",\n className\n )}\n {...omit(UNSUPPORTED_LINK_PROPS, otherProps)}\n >\n <div data-testid={`settings-item-${joinHyphenCase(label)}`}>\n {Icon && <Icon className=\"neeto-ui-text-gray-600 mb-4\" size={32} />}\n <Typography\n className=\"mb-2\"\n data-cy=\"settings-item-heading\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {label}\n </Typography>\n <Typography data-cy=\"settings-item-description\" style=\"body2\">\n {description}\n </Typography>\n </div>\n </Link>\n);\n\nexport default memo(withRouter(Item));\n","import React from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nimport IntegrationCard from \"components/IntegrationCard\";\n\nimport Item from \"./Item\";\n\nconst Category = ({ items, label, id, isIntegration }) => {\n const SettingsCard = isIntegration ? IntegrationCard : Item;\n\n return (\n <div {...{ id }} className=\"flex flex-col py-6\">\n <Typography\n className=\"mb-6\"\n component=\"h2\"\n data-cy=\"settings-category-heading\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {label}\n </Typography>\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 isLabelMatching = (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: label => isLabelMatching(label, searchTerm) },\n category.items\n ),\n }));\n\n return filterBy({ items: isNotEmpty }, filteredCategories);\n};\n","import React, { 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 = ({ isTitleHidden = false, categories = [] }) => {\n const { t } = useTranslation();\n\n const { category: categoryParam, searchTerm = \"\" } = useQueryParams();\n\n const filteredCategories = filterCategories({ categories, searchTerm });\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 <Header\n className={classNames({ \"min-h-0 pb-4 pt-8\": isTitleHidden })}\n title={!isTitleHidden && t(\"neetoMolecules.settingsPage.title\")}\n searchProps={{\n className: \"w-72\",\n placeholder: t(\"neetoMolecules.settingsPage.placeholder.search\"),\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 space-y-12\">\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 * 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","otherProps","_objectWithoutProperties","_excluded","React","createElement","Link","_extends","to","classnames","omit","concat","joinHyphenCase","size","Typography","style","weight","memo","withRouter","Category","items","id","isIntegration","SettingsCard","IntegrationCard","component","map","item","key","isLabelMatching","searchTerm","toLowerCase","includes","trim","scrollIntoSettingCategory","activeCategory","_document$getElementB","document","getElementById","scrollIntoView","behavior","filterCategories","_ref$categories","categories","_ref$searchTerm","isSearchTermBlank","filteredCategories","category","_objectSpread","filterBy","isNotEmpty","Settings","_ref$isTitleHidden","isTitleHidden","_useTranslation","useTranslation","t","_useQueryParams","useQueryParams","categoryParam","_useQueryParams$searc","useEffect","classNames","Header","title","searchProps","placeholder","isEmpty","NoData","_ref2"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAO,IAAMA,sBAAsB,GAAG,CAAC,eAAe,CAAC;;;ACUvD,IAAMC,IAAI,GAAG,SAAPA,IAAIA,CAAAC,IAAA,EAAA;AAAA,EAAA,IACRC,KAAK,GAAAD,IAAA,CAALC,KAAK;IACLC,WAAW,GAAAF,IAAA,CAAXE,WAAW;IAAAC,SAAA,GAAAH,IAAA,CACXI,IAAI;AAAEC,IAAAA,IAAI,GAAAF,SAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,SAAA;IACjBG,IAAI,GAAAN,IAAA,CAAJM,IAAI;IACJC,MAAM,GAAAP,IAAA,CAANO,MAAM;IAAAC,cAAA,GAAAR,IAAA,CACNS,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,cAAA;AACXE,IAAAA,UAAU,GAAAC,wBAAA,CAAAX,IAAA,EAAAY,SAAA,CAAA,CAAA;AAAA,EAAA,oBAEbC,cAAA,CAAAC,aAAA,CAACC,IAAI,EAAAC,QAAA,CAAA;AACH,IAAA,SAAA,EAAST,MAAO;AAChBU,IAAAA,EAAE,EAAEX,IAAK;AACTG,IAAAA,SAAS,EAAES,UAAU,CACnB,mNAAmN,EACnNT,SACF,CAAA;GACIU,EAAAA,IAAI,CAACrB,sBAAsB,EAAEY,UAAU,CAAC,CAAA,eAE5CG,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,aAAA,EAAA,gBAAA,CAAAM,MAAA,CAA8BC,cAAc,CAACpB,KAAK,CAAC,CAAA;AAAG,GAAA,EACxDI,IAAI,iBAAIQ,cAAA,CAAAC,aAAA,CAACT,IAAI,EAAA;AAACI,IAAAA,SAAS,EAAC,6BAA6B;AAACa,IAAAA,IAAI,EAAE,EAAA;AAAG,GAAE,CAAC,eACnET,cAAA,CAAAC,aAAA,CAACS,UAAU,EAAA;AACTd,IAAAA,SAAS,EAAC,MAAM;AAChB,IAAA,SAAA,EAAQ,uBAAuB;AAC/Be,IAAAA,KAAK,EAAC,IAAI;AACVC,IAAAA,MAAM,EAAC,UAAA;AAAU,GAAA,EAEhBxB,KACS,CAAC,eACbY,cAAA,CAAAC,aAAA,CAACS,UAAU,EAAA;AAAC,IAAA,SAAA,EAAQ,2BAA2B;AAACC,IAAAA,KAAK,EAAC,OAAA;GACnDtB,EAAAA,WACS,CACT,CACD,CAAC,CAAA;AAAA,CACR,CAAA;AAED,aAAA,aAAewB,IAAI,CAACC,UAAU,CAAC5B,IAAI,CAAC,CAAC;;ACrCrC,IAAM6B,QAAQ,GAAG,SAAXA,QAAQA,CAAA5B,IAAA,EAA4C;AAAA,EAAA,IAAtC6B,KAAK,GAAA7B,IAAA,CAAL6B,KAAK;IAAE5B,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAE6B,EAAE,GAAA9B,IAAA,CAAF8B,EAAE;IAAEC,aAAa,GAAA/B,IAAA,CAAb+B,aAAa,CAAA;AACjD,EAAA,IAAMC,YAAY,GAAGD,aAAa,GAAGE,eAAe,GAAGlC,MAAI,CAAA;EAE3D,oBACEc,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAWgB,IAAAA,EAAE,EAAFA,EAAE;AAAIrB,IAAAA,SAAS,EAAC,oBAAA;AAAoB,GAAA,eAC7CI,cAAA,CAAAC,aAAA,CAACS,UAAU,EAAA;AACTd,IAAAA,SAAS,EAAC,MAAM;AAChByB,IAAAA,SAAS,EAAC,IAAI;AACd,IAAA,SAAA,EAAQ,2BAA2B;AACnCV,IAAAA,KAAK,EAAC,IAAI;AACVC,IAAAA,MAAM,EAAC,UAAA;AAAU,GAAA,EAEhBxB,KACS,CAAC,eACbY,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKL,IAAAA,SAAS,EAAC,8FAAA;AAA8F,GAAA,EAC1GoB,KAAK,CAACM,GAAG,CAAC,UAAAC,IAAI,EAAA;AAAA,IAAA,oBACbvB,cAAA,CAAAC,aAAA,CAACkB,YAAY,EAAAhB,QAAA,CAAA;MAACqB,GAAG,EAAED,IAAI,CAACnC,KAAAA;KAAWmC,EAAAA,IAAI,CAAG,CAAC,CAAA;GAC5C,CACE,CACF,CAAC,CAAA;AAEV,CAAC;;;;AC3BD,IAAME,eAAe,GAAG,SAAlBA,eAAeA,CAAIrC,KAAK,EAAEsC,UAAU,EAAA;AAAA,EAAA,OACxCtC,KAAK,CAACuC,WAAW,EAAE,CAACC,QAAQ,CAACF,UAAU,CAACG,IAAI,EAAE,CAACF,WAAW,EAAE,CAAC,CAAA;AAAA,CAAA,CAAA;AAExD,IAAMG,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAGC,cAAc,EAAI;AAAA,EAAA,IAAAC,qBAAA,CAAA;AACzD,EAAA,CAAAA,qBAAA,GAAAC,QAAQ,CAACC,cAAc,CAACH,cAAc,CAAC,MAAA,IAAA,IAAAC,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAvCA,qBAAA,CAAyCG,cAAc,CAAC;AACtDC,IAAAA,QAAQ,EAAE,QAAA;AACZ,GAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAEM,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAlD,IAAA,EAA6C;AAAA,EAAA,IAAAmD,eAAA,GAAAnD,IAAA,CAAvCoD,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,eAAA;IAAAE,eAAA,GAAArD,IAAA,CAAEuC,UAAU;AAAVA,IAAAA,UAAU,GAAAc,eAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,eAAA,CAAA;AACjE,EAAA,IAAMC,iBAAiB,GAAG,CAACf,UAAU,CAACG,IAAI,EAAE,CAAA;EAE5C,IAAMa,kBAAkB,GAAGD,iBAAiB,GACxCF,UAAU,GACVA,UAAU,CAACjB,GAAG,CAAC,UAAAqB,QAAQ,EAAA;AAAA,IAAA,OAAAC,aAAA,CAAAA,aAAA,CAAA,EAAA,EAClBD,QAAQ,CAAA,EAAA,EAAA,EAAA;MACX3B,KAAK,EAAE6B,QAAQ,CACb;QAAEzD,KAAK,EAAE,SAAAA,KAAK,CAAA,MAAA,EAAA;AAAA,UAAA,OAAIqC,eAAe,CAACrC,MAAK,EAAEsC,UAAU,CAAC,CAAA;AAAA,SAAA;OAAE,EACtDiB,QAAQ,CAAC3B,KACX,CAAA;AAAC,KAAA,CAAA,CAAA;AAAA,GACD,CAAC,CAAA;AAEP,EAAA,OAAO6B,QAAQ,CAAC;AAAE7B,IAAAA,KAAK,EAAE8B,UAAAA;GAAY,EAAEJ,kBAAkB,CAAC,CAAA;AAC5D,CAAC;;ACXD,IAAMK,QAAQ,GAAG,SAAXA,QAAQA,CAAA5D,IAAA,EAAmD;AAAA,EAAA,IAAA6D,kBAAA,GAAA7D,IAAA,CAA7C8D,aAAa;AAAbA,IAAAA,aAAa,GAAAD,kBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,kBAAA;IAAAV,eAAA,GAAAnD,IAAA,CAAEoD,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,eAAA,CAAA;AACxD,EAAA,IAAAY,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AAET,EAAA,IAAAC,eAAA,GAAqDC,cAAc,EAAE;IAAnDC,aAAa,GAAAF,eAAA,CAAvBV,QAAQ;IAAAa,qBAAA,GAAAH,eAAA,CAAiB3B,UAAU;AAAVA,IAAAA,UAAU,GAAA8B,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA,CAAA;EAEhD,IAAMd,kBAAkB,GAAGL,gBAAgB,CAAC;AAAEE,IAAAA,UAAU,EAAVA,UAAU;AAAEb,IAAAA,UAAU,EAAVA,UAAAA;AAAW,GAAC,CAAC,CAAA;AAEvE+B,EAAAA,SAAS,CAAC,YAAM;IACd3B,yBAAyB,CAACyB,aAAa,CAAC,CAAA;AAC1C,GAAC,EAAE,CAACA,aAAa,CAAC,CAAC,CAAA;EAEnB,oBACEvD,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEL,IAAAA,SAAS,EAAE8D,UAAU,CAAC,2BAA2B,EAAE;AACjD,MAAA,wBAAwB,EAAET,aAAAA;KAC3B,CAAA;AAAE,GAAA,eAEHjD,cAAA,CAAAC,aAAA,CAAC0D,MAAM,EAAA;IACL/D,SAAS,EAAE8D,UAAU,CAAC;AAAE,MAAA,mBAAmB,EAAET,aAAAA;AAAc,KAAC,CAAE;AAC9DW,IAAAA,KAAK,EAAE,CAACX,aAAa,IAAIG,CAAC,CAAC,mCAAmC,CAAE;AAChES,IAAAA,WAAW,EAAE;AACXjE,MAAAA,SAAS,EAAE,MAAM;MACjBkE,WAAW,EAAEV,CAAC,CAAC,gDAAgD,CAAA;AACjE,KAAA;GACD,CAAC,EACDW,OAAO,CAACrB,kBAAkB,CAAC,gBAC1B1C,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEL,IAAAA,SAAS,EAAC,0DAA0D;IACpE,aAAY,EAAA,kBAAA;AAAkB,GAAA,eAE9BI,cAAA,CAAAC,aAAA,CAAC+D,MAAM,EAAA;IAACJ,KAAK,EAAER,CAAC,CAAC,oCAAoC,CAAA;AAAE,GAAE,CACtD,CAAC,gBAENpD,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKL,IAAAA,SAAS,EAAC,mBAAA;AAAmB,GAAA,EAC/B8C,kBAAkB,CAACpB,GAAG,CAAC,UAAA2C,KAAA,EAAA;AAAA,IAAA,IAAGhD,EAAE,GAAAgD,KAAA,CAAFhD,EAAE;MAAE7B,KAAK,GAAA6E,KAAA,CAAL7E,KAAK;MAAE4B,KAAK,GAAAiD,KAAA,CAALjD,KAAK;MAAEE,aAAa,GAAA+C,KAAA,CAAb/C,aAAa,CAAA;AAAA,IAAA,oBACxDlB,cAAA,CAAAC,aAAA,CAACc,QAAQ,EAAA;AAAOE,MAAAA,EAAE,EAAFA,EAAE;AAAEC,MAAAA,aAAa,EAAbA,aAAa;AAAEF,MAAAA,KAAK,EAALA,KAAK;AAAE5B,MAAAA,KAAK,EAALA,KAAK;AAAIoC,MAAAA,GAAG,EAAEP,EAAAA;AAAG,KAAE,CAAC,CAAA;GAC/D,CACE,CAEJ,CAAC,CAAA;AAEV;;;;"}
1
+ {"version":3,"file":"Settings.js","sources":["../src/components/Settings/constants.js","../src/components/Settings/Item.jsx","../src/components/Settings/Category.jsx","../src/components/Settings/utils.js","../src/components/Settings/index.jsx"],"sourcesContent":["export const UNSUPPORTED_LINK_PROPS = [\"staticContext\"];\n","import React, { 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 ...otherProps\n}) => (\n <Link\n data-cy={dataCy}\n to={path}\n className={classnames(\n \"neeto-ui-border-gray-300 neeto-ui-shadow-xs hover:neeto-ui-border-gray-500 focus:neeto-ui-border-gray-500 neeto-ui-rounded-lg flex cursor-pointer flex-col border p-6 no-underline outline-none transition-colors\",\n className\n )}\n {...omit(UNSUPPORTED_LINK_PROPS, otherProps)}\n >\n <div data-testid={`settings-item-${joinHyphenCase(label)}`}>\n {Icon && <Icon className=\"neeto-ui-text-gray-600 mb-4\" size={32} />}\n <Typography\n className=\"mb-2\"\n data-cy=\"settings-item-heading\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {label}\n </Typography>\n <Typography data-cy=\"settings-item-description\" style=\"body2\">\n {description}\n </Typography>\n </div>\n </Link>\n);\n\nexport default memo(withRouter(Item));\n","import React from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nimport IntegrationCard from \"components/IntegrationCard\";\n\nimport Item from \"./Item\";\n\nconst Category = ({ items, label, id, isIntegration }) => {\n const SettingsCard = isIntegration ? IntegrationCard : Item;\n\n return (\n <div {...{ id }} className=\"flex flex-col py-6\">\n <Typography\n className=\"mb-6\"\n component=\"h2\"\n data-cy=\"settings-category-heading\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {label}\n </Typography>\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 React, { 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 = ({ isTitleHidden = false, categories = [] }) => {\n const { t } = useTranslation();\n\n const { category: categoryParam, searchTerm = \"\" } = useQueryParams();\n\n const filteredCategories = filterCategories({ categories, searchTerm });\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 <Header\n className={classNames({ \"min-h-0 pb-4 pt-8\": isTitleHidden })}\n title={!isTitleHidden && t(\"neetoMolecules.settingsPage.title\")}\n searchProps={{\n className: \"w-72\",\n placeholder: t(\"neetoMolecules.settingsPage.placeholder.search\"),\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 space-y-12\">\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 * 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","otherProps","_objectWithoutProperties","_excluded","React","createElement","Link","_extends","to","classnames","omit","concat","joinHyphenCase","size","Typography","style","weight","memo","withRouter","Category","items","id","isIntegration","SettingsCard","IntegrationCard","component","map","item","key","isTextMatching","searchTerm","toLowerCase","includes","trim","scrollIntoSettingCategory","activeCategory","_document$getElementB","document","getElementById","scrollIntoView","behavior","filterCategories","_ref$categories","categories","_ref$searchTerm","isSearchTermBlank","filteredCategories","category","_objectSpread","filterBy","_ref2","isNotEmpty","Settings","_ref$isTitleHidden","isTitleHidden","_useTranslation","useTranslation","t","_useQueryParams","useQueryParams","categoryParam","_useQueryParams$searc","useEffect","classNames","Header","title","searchProps","placeholder","isEmpty","NoData"],"mappings":"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"}
package/dist/SubHeader.js CHANGED
@@ -8,7 +8,7 @@ import { _ as _objectWithoutProperties } from './objectWithoutProperties-a0edb28
8
8
  import { Column, Download, Filter } from '@bigbinary/neeto-icons';
9
9
  import { Button } from '@bigbinary/neetoui';
10
10
  import { useTranslation } from 'react-i18next';
11
- import { u as useHiddenColumns, C as Columns$1 } from './Columns-702d539a.js';
11
+ import { u as useHiddenColumns, C as Columns$1 } from './Columns-2bdb8579.js';
12
12
  import { Filters } from '@bigbinary/neeto-filters-frontend';
13
13
  import { n } from './inject-css-c86de496.js';
14
14
  import './slicedToArray-b4278ecd.js';
package/dist/Taxonomy.js CHANGED
@@ -32,7 +32,7 @@ import '@bigbinary/neeto-commons-frontend/react-utils/useQueryParams';
32
32
  import '@bigbinary/neeto-commons-frontend/react-utils/useUpdateEffect';
33
33
  import '@bigbinary/neeto-commons-frontend/utils/general';
34
34
  import '@bigbinary/neeto-icons';
35
- import './Columns-702d539a.js';
35
+ import './Columns-2bdb8579.js';
36
36
  import 'zustand';
37
37
  import 'zustand/middleware';
38
38
  import '@bigbinary/neeto-filters-frontend';
@@ -18,7 +18,7 @@ var SubHeader = require('./SubHeader.js');
18
18
  var i18next = require('i18next');
19
19
  var neetoIcons = require('@bigbinary/neeto-icons');
20
20
  require('classnames');
21
- require('./Columns-069368e2.js');
21
+ require('./Columns-6b710238.js');
22
22
  require('./inject-css-80a5faa3.js');
23
23
  require('@bigbinary/neeto-commons-frontend/utils/general');
24
24
  require('zustand');
@@ -193,7 +193,7 @@ var Columns = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
193
193
  return /*#__PURE__*/React__default["default"].createElement(MenuItem, {
194
194
  key: key
195
195
  }, /*#__PURE__*/React__default["default"].createElement(neetoui.Label, {
196
- className: "neeto-ui-w-full hover:neeto-ui-bg-gray-200 neeto-ui-cursor-pointer px-4 py-2",
196
+ className: "neeto-ui-flex neeto-ui-w-full hover:neeto-ui-bg-gray-200 neeto-ui-cursor-pointer px-4 py-2",
197
197
  htmlFor: dataIndex
198
198
  }, /*#__PURE__*/React__default["default"].createElement(neetoui.Checkbox, _extends._extends({
199
199
  checked: !hiddenColumns.includes(dataIndex),
@@ -213,4 +213,4 @@ exports.Columns = Columns;
213
213
  exports.HIDDEN_COLUMNS_STORAGE_KEY = HIDDEN_COLUMNS_STORAGE_KEY;
214
214
  exports.useHiddenColumnStore = useHiddenColumnStore;
215
215
  exports.useHiddenColumns = useHiddenColumns;
216
- //# sourceMappingURL=Columns-069368e2.js.map
216
+ //# sourceMappingURL=Columns-6b710238.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Columns-6b710238.js","sources":["../../src/components/Columns/constants.js","../../src/components/Columns/utils.js","../../src/components/Columns/useHiddenColumns.js","../../src/components/Columns/Columns.jsx"],"sourcesContent":["export const HIDDEN_COLUMNS_STORAGE_KEY = \"neeto-molecules-hidden-columns\";\n","import { existsBy, removeBy } from \"neetocist\";\nimport { filter, includes, toLower, trim } from \"ramda\";\n\nexport const getHidableColumns = columnData =>\n removeBy({ isHidable: false }, columnData);\n\nexport const filterBySearchTerm = (searchTerm, columns) =>\n filter(\n ({ title }) => includes(trim(toLower(searchTerm)), trim(toLower(title))),\n columns\n );\n\nexport const removeDeletedColumns = (hiddenColumns, columnData) =>\n hiddenColumns.filter(hiddenColumn =>\n existsBy({ dataIndex: hiddenColumn }, columnData)\n );\n","import { useEffect } from \"react\";\n\nimport { removeBy } from \"neetocist\";\nimport {\n getFromLocalStorage,\n removeFromLocalStorage,\n} from \"neetocommons/utils/general\";\nimport { __, without, includes, isEmpty, equals, union } from \"ramda\";\nimport { create } from \"zustand\";\nimport { persist } from \"zustand/middleware\";\n\nimport { HIDDEN_COLUMNS_STORAGE_KEY } from \"./constants\";\nimport { removeDeletedColumns } from \"./utils\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useHiddenColumnStore = create(\n persist(() => ({}), { name: HIDDEN_COLUMNS_STORAGE_KEY })\n);\n\nconst useHiddenColumns = (localStorageKey, initialValue = []) => {\n const hiddenColumns = useHiddenColumnStore(state => state[localStorageKey]);\n const setHiddenColumns = columns =>\n useHiddenColumnStore.setState({ [localStorageKey]: columns });\n\n // Migrates values from old location to new zustand location.\n useEffect(() => {\n const oldValue = getFromLocalStorage(localStorageKey);\n if (oldValue) {\n setHiddenColumns(oldValue);\n removeFromLocalStorage(localStorageKey);\n } else if (!hiddenColumns) {\n setHiddenColumns(initialValue);\n }\n }, [localStorageKey]);\n\n const hideColumn = columns =>\n setHiddenColumns(\n union(hiddenColumns, Array.isArray(columns) ? columns : [columns])\n );\n\n const showColumn = columns =>\n setHiddenColumns(\n without(Array.isArray(columns) ? columns : [columns], hiddenColumns)\n );\n\n const getVisibleColumnData = columnData =>\n removeBy({ dataIndex: includes(__, hiddenColumns || []) }, columnData);\n\n const onColumnDataChange = columnData => {\n if (isEmpty(columnData) || !hiddenColumns) return;\n const newHiddenColumns = removeDeletedColumns(hiddenColumns, columnData);\n if (!equals(newHiddenColumns, hiddenColumns)) {\n setHiddenColumns(newHiddenColumns);\n }\n };\n\n return {\n hiddenColumns,\n hideColumn,\n showColumn,\n getVisibleColumnData,\n onColumnDataChange,\n };\n};\n\nexport { useHiddenColumns, useHiddenColumnStore };\n","import React, {\n useState,\n useImperativeHandle,\n forwardRef,\n useEffect,\n} from \"react\";\n\nimport i18next from \"i18next\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Search } from \"neetoicons\";\nimport { Checkbox, Dropdown, Input, Label, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { identity } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport \"./columns.scss\";\nimport { useHiddenColumns } from \"./useHiddenColumns\";\nimport { filterBySearchTerm, getHidableColumns } from \"./utils\";\n\nconst Columns = forwardRef(\n (\n {\n actionBlock,\n checkboxProps = {},\n columnData = [],\n isSearchable = false,\n localStorageKey = \"\",\n initialValue = [],\n noColumnMessage = i18next.t(\"neetoMolecules.columns.noColumns\"),\n onChange = identity,\n searchProps = {},\n ...dropdownProps\n },\n ref\n ) => {\n const { Divider, Menu, MenuItem } = Dropdown;\n const [searchTerm, setSearchTerm] = useState(\"\");\n const { t } = useTranslation();\n\n const {\n hiddenColumns = [],\n hideColumn,\n showColumn,\n getVisibleColumnData,\n onColumnDataChange,\n } = useHiddenColumns(localStorageKey, initialValue);\n\n useEffect(() => {\n onChange(getVisibleColumnData(columnData), hiddenColumns);\n }, [hiddenColumns]);\n\n useEffect(() => {\n onColumnDataChange(columnData);\n }, [columnData]);\n\n /**\n * @deprecated Use showColumn|hideColumn from useHiddenColumns\n */\n useImperativeHandle(ref, () => ({ hideColumn, showColumn }), []);\n\n const handleChange = ({ target: { name: dataIndex, checked } }) => {\n if (checked) showColumn(dataIndex);\n else hideColumn(dataIndex);\n };\n const handleSearch = ({ target: { value } }) => setSearchTerm(value);\n\n const columns = getHidableColumns(columnData);\n const filteredColumns = filterBySearchTerm(searchTerm, columns);\n\n return (\n <Dropdown\n appendTo={document.body}\n buttonSize=\"medium\"\n buttonStyle=\"text\"\n closeOnSelect={false}\n label={t(\"neetoMolecules.columns.columns\")}\n position=\"bottom-end\"\n onClose={() => setSearchTerm(\"\")}\n {...dropdownProps}\n >\n <Menu>\n <div className=\"neeto-molecules-columns__container\">\n {isSearchable && (\n <Input\n className=\"px-4 py-2\"\n data-cy=\"neeto-ui-columns-search\"\n data-testid=\"neeto-ui-columns-search\"\n placeholder={t(\"neetoMolecules.columns.search\")}\n prefix={<Search />}\n type=\"search\"\n value={searchTerm}\n onChange={handleSearch}\n {...searchProps}\n />\n )}\n <Typography\n className=\"neeto-ui-text-gray-600 px-4 py-2\"\n style=\"body2\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.columns.columns\")}\n </Typography>\n {isNotEmpty(filteredColumns) ? (\n filteredColumns.map(({ dataIndex, key, title }) => (\n <MenuItem key={key}>\n <Label\n className=\"neeto-ui-flex neeto-ui-w-full hover:neeto-ui-bg-gray-200 neeto-ui-cursor-pointer px-4 py-2\"\n htmlFor={dataIndex}\n >\n <Checkbox\n checked={!hiddenColumns.includes(dataIndex)}\n data-cy=\"neeto-ui-columns-checkbox\"\n id={dataIndex}\n label={title}\n name={dataIndex}\n onChange={handleChange}\n {...checkboxProps}\n />\n </Label>\n </MenuItem>\n ))\n ) : (\n <span className=\"neeto-ui-flex neeto-ui-flex-col neeto-ui-items-center neeto-ui-p-2\">\n {noColumnMessage}\n </span>\n )}\n {!!actionBlock && (\n <>\n <Divider />\n {actionBlock}\n </>\n )}\n </div>\n </Menu>\n </Dropdown>\n );\n }\n);\n\nColumns.propTypes = {\n /**\n * Extra action items that can be added at the end of the dropdown (optional).\n */\n actionBlock: PropTypes.element,\n /**\n * Additional props for the checkboxes in the dropdown (optional).\n */\n checkboxProps: PropTypes.object,\n /**\n * The list of columns from which the dropdown options are built (required).\n */\n columnData: PropTypes.array,\n /**\n * Controls whether the dropdown options should be searchable (optional).\n */\n isSearchable: PropTypes.bool,\n /**\n * The key used to store data in local storage (required).\n */\n localStorageKey: PropTypes.string,\n /**\n * The list of columns that are hidden on initial render. This is the `dataIndex` attribute from columnData (optional).\n */\n initialValue: PropTypes.array,\n /**\n * The message to be shown when there are no columns to be displayed in the dropdown (optional).\n */\n noColumnMessage: PropTypes.string,\n /**\n * Handler function that is called when a checkbox is selected or unselected.\n */\n onChange: PropTypes.func,\n /**\n * Props to be passed to the search input in the column dropdown. Only works when `isSearchable` is set to `true` (optional).\n */\n searchProps: PropTypes.object,\n};\n\nColumns.displayName = \"Columns\";\nexport default Columns;\n"],"names":["HIDDEN_COLUMNS_STORAGE_KEY","getHidableColumns","columnData","removeBy","isHidable","filterBySearchTerm","searchTerm","columns","filter","_ref","title","includes","trim","toLower","removeDeletedColumns","hiddenColumns","hiddenColumn","existsBy","dataIndex","useHiddenColumnStore","create","persist","name","useHiddenColumns","localStorageKey","initialValue","arguments","length","undefined","state","setHiddenColumns","setState","_defineProperty","useEffect","oldValue","getFromLocalStorage","removeFromLocalStorage","hideColumn","union","Array","isArray","showColumn","without","getVisibleColumnData","__","onColumnDataChange","isEmpty","newHiddenColumns","equals","Columns","forwardRef","ref","actionBlock","_ref$checkboxProps","checkboxProps","_ref$columnData","_ref$isSearchable","isSearchable","_ref$localStorageKey","_ref$initialValue","_ref$noColumnMessage","noColumnMessage","i18next","t","_ref$onChange","onChange","identity","_ref$searchProps","searchProps","dropdownProps","_objectWithoutProperties","_excluded","Divider","Dropdown","Menu","MenuItem","_useState","useState","_useState2","_slicedToArray","setSearchTerm","_useTranslation","useTranslation","_useHiddenColumns","_useHiddenColumns$hid","useImperativeHandle","handleChange","_ref2","_ref2$target","target","checked","handleSearch","_ref3","value","filteredColumns","React","createElement","_extends","appendTo","document","body","buttonSize","buttonStyle","closeOnSelect","label","position","onClose","className","Input","placeholder","prefix","Search","type","Typography","style","weight","isNotEmpty","map","_ref4","key","Label","htmlFor","Checkbox","id","Fragment","displayName"],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Columns = require('./Columns-069368e2.js');
5
+ var Columns = require('./Columns-6b710238.js');
6
6
  require('./extends-1b35a664.js');
7
7
  require('./slicedToArray-f320d9e7.js');
8
8
  require('./objectWithoutProperties-2fed2d7d.js');
@@ -22,7 +22,7 @@ require('./objectWithoutProperties-2fed2d7d.js');
22
22
  require('ramda');
23
23
  require('./defineProperty-886ed289.js');
24
24
  require('@bigbinary/neeto-icons');
25
- require('./Columns-069368e2.js');
25
+ require('./Columns-6b710238.js');
26
26
  require('i18next');
27
27
  require('zustand');
28
28
  require('zustand/middleware');
@@ -89,7 +89,7 @@ var Category = function Category(_ref) {
89
89
 
90
90
  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; }
91
91
  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._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; }
92
- var isLabelMatching = function isLabelMatching(label, searchTerm) {
92
+ var isTextMatching = function isTextMatching(label, searchTerm) {
93
93
  return label.toLowerCase().includes(searchTerm.trim().toLowerCase());
94
94
  };
95
95
  var scrollIntoSettingCategory = function scrollIntoSettingCategory(activeCategory) {
@@ -106,10 +106,10 @@ var filterCategories = function filterCategories(_ref) {
106
106
  var isSearchTermBlank = !searchTerm.trim();
107
107
  var filteredCategories = isSearchTermBlank ? categories : categories.map(function (category) {
108
108
  return _objectSpread(_objectSpread({}, category), {}, {
109
- items: neetoCist.filterBy({
110
- label: function label(_label) {
111
- return isLabelMatching(_label, searchTerm);
112
- }
109
+ items: neetoCist.filterBy(function (_ref2) {
110
+ var label = _ref2.label,
111
+ description = _ref2.description;
112
+ return isTextMatching(label, searchTerm) || isTextMatching(description, searchTerm);
113
113
  }, category.items)
114
114
  });
115
115
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Settings.js","sources":["../../src/components/Settings/constants.js","../../src/components/Settings/Item.jsx","../../src/components/Settings/Category.jsx","../../src/components/Settings/utils.js","../../src/components/Settings/index.jsx"],"sourcesContent":["export const UNSUPPORTED_LINK_PROPS = [\"staticContext\"];\n","import React, { 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 ...otherProps\n}) => (\n <Link\n data-cy={dataCy}\n to={path}\n className={classnames(\n \"neeto-ui-border-gray-300 neeto-ui-shadow-xs hover:neeto-ui-border-gray-500 focus:neeto-ui-border-gray-500 neeto-ui-rounded-lg flex cursor-pointer flex-col border p-6 no-underline outline-none transition-colors\",\n className\n )}\n {...omit(UNSUPPORTED_LINK_PROPS, otherProps)}\n >\n <div data-testid={`settings-item-${joinHyphenCase(label)}`}>\n {Icon && <Icon className=\"neeto-ui-text-gray-600 mb-4\" size={32} />}\n <Typography\n className=\"mb-2\"\n data-cy=\"settings-item-heading\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {label}\n </Typography>\n <Typography data-cy=\"settings-item-description\" style=\"body2\">\n {description}\n </Typography>\n </div>\n </Link>\n);\n\nexport default memo(withRouter(Item));\n","import React from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nimport IntegrationCard from \"components/IntegrationCard\";\n\nimport Item from \"./Item\";\n\nconst Category = ({ items, label, id, isIntegration }) => {\n const SettingsCard = isIntegration ? IntegrationCard : Item;\n\n return (\n <div {...{ id }} className=\"flex flex-col py-6\">\n <Typography\n className=\"mb-6\"\n component=\"h2\"\n data-cy=\"settings-category-heading\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {label}\n </Typography>\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 isLabelMatching = (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: label => isLabelMatching(label, searchTerm) },\n category.items\n ),\n }));\n\n return filterBy({ items: isNotEmpty }, filteredCategories);\n};\n","import React, { 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 = ({ isTitleHidden = false, categories = [] }) => {\n const { t } = useTranslation();\n\n const { category: categoryParam, searchTerm = \"\" } = useQueryParams();\n\n const filteredCategories = filterCategories({ categories, searchTerm });\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 <Header\n className={classNames({ \"min-h-0 pb-4 pt-8\": isTitleHidden })}\n title={!isTitleHidden && t(\"neetoMolecules.settingsPage.title\")}\n searchProps={{\n className: \"w-72\",\n placeholder: t(\"neetoMolecules.settingsPage.placeholder.search\"),\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 space-y-12\">\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 * 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","otherProps","_objectWithoutProperties","_excluded","React","createElement","Link","_extends","to","classnames","omit","concat","joinHyphenCase","size","Typography","style","weight","memo","withRouter","Category","items","id","isIntegration","SettingsCard","IntegrationCard","component","map","item","key","isLabelMatching","searchTerm","toLowerCase","includes","trim","scrollIntoSettingCategory","activeCategory","_document$getElementB","document","getElementById","scrollIntoView","behavior","filterCategories","_ref$categories","categories","_ref$searchTerm","isSearchTermBlank","filteredCategories","category","_objectSpread","filterBy","isNotEmpty","Settings","_ref$isTitleHidden","isTitleHidden","_useTranslation","useTranslation","t","_useQueryParams","useQueryParams","categoryParam","_useQueryParams$searc","useEffect","classNames","Header","title","searchProps","placeholder","isEmpty","NoData","_ref2"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAO,IAAMA,sBAAsB,GAAG,CAAC,eAAe,CAAC;;;ACUvD,IAAMC,IAAI,GAAG,SAAPA,IAAIA,CAAAC,IAAA,EAAA;AAAA,EAAA,IACRC,KAAK,GAAAD,IAAA,CAALC,KAAK;IACLC,WAAW,GAAAF,IAAA,CAAXE,WAAW;IAAAC,SAAA,GAAAH,IAAA,CACXI,IAAI;AAAEC,IAAAA,IAAI,GAAAF,SAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,SAAA;IACjBG,IAAI,GAAAN,IAAA,CAAJM,IAAI;IACJC,MAAM,GAAAP,IAAA,CAANO,MAAM;IAAAC,cAAA,GAAAR,IAAA,CACNS,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,cAAA;AACXE,IAAAA,UAAU,GAAAC,gDAAA,CAAAX,IAAA,EAAAY,SAAA,CAAA,CAAA;AAAA,EAAA,oBAEbC,yBAAA,CAAAC,aAAA,CAACC,mBAAI,EAAAC,iBAAA,CAAA;AACH,IAAA,SAAA,EAAST,MAAO;AAChBU,IAAAA,EAAE,EAAEX,IAAK;AACTG,IAAAA,SAAS,EAAES,8BAAU,CACnB,mNAAmN,EACnNT,SACF,CAAA;GACIU,EAAAA,UAAI,CAACrB,sBAAsB,EAAEY,UAAU,CAAC,CAAA,eAE5CG,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,aAAA,EAAA,gBAAA,CAAAM,MAAA,CAA8BC,sBAAc,CAACpB,KAAK,CAAC,CAAA;AAAG,GAAA,EACxDI,IAAI,iBAAIQ,yBAAA,CAAAC,aAAA,CAACT,IAAI,EAAA;AAACI,IAAAA,SAAS,EAAC,6BAA6B;AAACa,IAAAA,IAAI,EAAE,EAAA;AAAG,GAAE,CAAC,eACnET,yBAAA,CAAAC,aAAA,CAACS,kBAAU,EAAA;AACTd,IAAAA,SAAS,EAAC,MAAM;AAChB,IAAA,SAAA,EAAQ,uBAAuB;AAC/Be,IAAAA,KAAK,EAAC,IAAI;AACVC,IAAAA,MAAM,EAAC,UAAA;AAAU,GAAA,EAEhBxB,KACS,CAAC,eACbY,yBAAA,CAAAC,aAAA,CAACS,kBAAU,EAAA;AAAC,IAAA,SAAA,EAAQ,2BAA2B;AAACC,IAAAA,KAAK,EAAC,OAAA;GACnDtB,EAAAA,WACS,CACT,CACD,CAAC,CAAA;AAAA,CACR,CAAA;AAED,aAAA,aAAewB,UAAI,CAACC,yBAAU,CAAC5B,IAAI,CAAC,CAAC;;ACrCrC,IAAM6B,QAAQ,GAAG,SAAXA,QAAQA,CAAA5B,IAAA,EAA4C;AAAA,EAAA,IAAtC6B,KAAK,GAAA7B,IAAA,CAAL6B,KAAK;IAAE5B,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAE6B,EAAE,GAAA9B,IAAA,CAAF8B,EAAE;IAAEC,aAAa,GAAA/B,IAAA,CAAb+B,aAAa,CAAA;AACjD,EAAA,IAAMC,YAAY,GAAGD,aAAa,GAAGE,eAAe,GAAGlC,MAAI,CAAA;EAE3D,oBACEc,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAWgB,IAAAA,EAAE,EAAFA,EAAE;AAAIrB,IAAAA,SAAS,EAAC,oBAAA;AAAoB,GAAA,eAC7CI,yBAAA,CAAAC,aAAA,CAACS,kBAAU,EAAA;AACTd,IAAAA,SAAS,EAAC,MAAM;AAChByB,IAAAA,SAAS,EAAC,IAAI;AACd,IAAA,SAAA,EAAQ,2BAA2B;AACnCV,IAAAA,KAAK,EAAC,IAAI;AACVC,IAAAA,MAAM,EAAC,UAAA;AAAU,GAAA,EAEhBxB,KACS,CAAC,eACbY,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKL,IAAAA,SAAS,EAAC,8FAAA;AAA8F,GAAA,EAC1GoB,KAAK,CAACM,GAAG,CAAC,UAAAC,IAAI,EAAA;AAAA,IAAA,oBACbvB,yBAAA,CAAAC,aAAA,CAACkB,YAAY,EAAAhB,iBAAA,CAAA;MAACqB,GAAG,EAAED,IAAI,CAACnC,KAAAA;KAAWmC,EAAAA,IAAI,CAAG,CAAC,CAAA;GAC5C,CACE,CACF,CAAC,CAAA;AAEV,CAAC;;;;AC3BD,IAAME,eAAe,GAAG,SAAlBA,eAAeA,CAAIrC,KAAK,EAAEsC,UAAU,EAAA;AAAA,EAAA,OACxCtC,KAAK,CAACuC,WAAW,EAAE,CAACC,QAAQ,CAACF,UAAU,CAACG,IAAI,EAAE,CAACF,WAAW,EAAE,CAAC,CAAA;AAAA,CAAA,CAAA;AAExD,IAAMG,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAGC,cAAc,EAAI;AAAA,EAAA,IAAAC,qBAAA,CAAA;AACzD,EAAA,CAAAA,qBAAA,GAAAC,QAAQ,CAACC,cAAc,CAACH,cAAc,CAAC,MAAA,IAAA,IAAAC,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAvCA,qBAAA,CAAyCG,cAAc,CAAC;AACtDC,IAAAA,QAAQ,EAAE,QAAA;AACZ,GAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAEM,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAlD,IAAA,EAA6C;AAAA,EAAA,IAAAmD,eAAA,GAAAnD,IAAA,CAAvCoD,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,eAAA;IAAAE,eAAA,GAAArD,IAAA,CAAEuC,UAAU;AAAVA,IAAAA,UAAU,GAAAc,eAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,eAAA,CAAA;AACjE,EAAA,IAAMC,iBAAiB,GAAG,CAACf,UAAU,CAACG,IAAI,EAAE,CAAA;EAE5C,IAAMa,kBAAkB,GAAGD,iBAAiB,GACxCF,UAAU,GACVA,UAAU,CAACjB,GAAG,CAAC,UAAAqB,QAAQ,EAAA;AAAA,IAAA,OAAAC,aAAA,CAAAA,aAAA,CAAA,EAAA,EAClBD,QAAQ,CAAA,EAAA,EAAA,EAAA;MACX3B,KAAK,EAAE6B,kBAAQ,CACb;QAAEzD,KAAK,EAAE,SAAAA,KAAK,CAAA,MAAA,EAAA;AAAA,UAAA,OAAIqC,eAAe,CAACrC,MAAK,EAAEsC,UAAU,CAAC,CAAA;AAAA,SAAA;OAAE,EACtDiB,QAAQ,CAAC3B,KACX,CAAA;AAAC,KAAA,CAAA,CAAA;AAAA,GACD,CAAC,CAAA;AAEP,EAAA,OAAO6B,kBAAQ,CAAC;AAAE7B,IAAAA,KAAK,EAAE8B,oBAAAA;GAAY,EAAEJ,kBAAkB,CAAC,CAAA;AAC5D,CAAC;;ACXD,IAAMK,QAAQ,GAAG,SAAXA,QAAQA,CAAA5D,IAAA,EAAmD;AAAA,EAAA,IAAA6D,kBAAA,GAAA7D,IAAA,CAA7C8D,aAAa;AAAbA,IAAAA,aAAa,GAAAD,kBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,kBAAA;IAAAV,eAAA,GAAAnD,IAAA,CAAEoD,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,eAAA,CAAA;AACxD,EAAA,IAAAY,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AAET,EAAA,IAAAC,eAAA,GAAqDC,kCAAc,EAAE;IAAnDC,aAAa,GAAAF,eAAA,CAAvBV,QAAQ;IAAAa,qBAAA,GAAAH,eAAA,CAAiB3B,UAAU;AAAVA,IAAAA,UAAU,GAAA8B,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA,CAAA;EAEhD,IAAMd,kBAAkB,GAAGL,gBAAgB,CAAC;AAAEE,IAAAA,UAAU,EAAVA,UAAU;AAAEb,IAAAA,UAAU,EAAVA,UAAAA;AAAW,GAAC,CAAC,CAAA;AAEvE+B,EAAAA,eAAS,CAAC,YAAM;IACd3B,yBAAyB,CAACyB,aAAa,CAAC,CAAA;AAC1C,GAAC,EAAE,CAACA,aAAa,CAAC,CAAC,CAAA;EAEnB,oBACEvD,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEL,IAAAA,SAAS,EAAE8D,8BAAU,CAAC,2BAA2B,EAAE;AACjD,MAAA,wBAAwB,EAAET,aAAAA;KAC3B,CAAA;AAAE,GAAA,eAEHjD,yBAAA,CAAAC,aAAA,CAAC0D,MAAM,EAAA;IACL/D,SAAS,EAAE8D,8BAAU,CAAC;AAAE,MAAA,mBAAmB,EAAET,aAAAA;AAAc,KAAC,CAAE;AAC9DW,IAAAA,KAAK,EAAE,CAACX,aAAa,IAAIG,CAAC,CAAC,mCAAmC,CAAE;AAChES,IAAAA,WAAW,EAAE;AACXjE,MAAAA,SAAS,EAAE,MAAM;MACjBkE,WAAW,EAAEV,CAAC,CAAC,gDAAgD,CAAA;AACjE,KAAA;GACD,CAAC,EACDW,aAAO,CAACrB,kBAAkB,CAAC,gBAC1B1C,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEL,IAAAA,SAAS,EAAC,0DAA0D;IACpE,aAAY,EAAA,kBAAA;AAAkB,GAAA,eAE9BI,yBAAA,CAAAC,aAAA,CAAC+D,cAAM,EAAA;IAACJ,KAAK,EAAER,CAAC,CAAC,oCAAoC,CAAA;AAAE,GAAE,CACtD,CAAC,gBAENpD,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKL,IAAAA,SAAS,EAAC,mBAAA;AAAmB,GAAA,EAC/B8C,kBAAkB,CAACpB,GAAG,CAAC,UAAA2C,KAAA,EAAA;AAAA,IAAA,IAAGhD,EAAE,GAAAgD,KAAA,CAAFhD,EAAE;MAAE7B,KAAK,GAAA6E,KAAA,CAAL7E,KAAK;MAAE4B,KAAK,GAAAiD,KAAA,CAALjD,KAAK;MAAEE,aAAa,GAAA+C,KAAA,CAAb/C,aAAa,CAAA;AAAA,IAAA,oBACxDlB,yBAAA,CAAAC,aAAA,CAACc,QAAQ,EAAA;AAAOE,MAAAA,EAAE,EAAFA,EAAE;AAAEC,MAAAA,aAAa,EAAbA,aAAa;AAAEF,MAAAA,KAAK,EAALA,KAAK;AAAE5B,MAAAA,KAAK,EAALA,KAAK;AAAIoC,MAAAA,GAAG,EAAEP,EAAAA;AAAG,KAAE,CAAC,CAAA;GAC/D,CACE,CAEJ,CAAC,CAAA;AAEV;;;;"}
1
+ {"version":3,"file":"Settings.js","sources":["../../src/components/Settings/constants.js","../../src/components/Settings/Item.jsx","../../src/components/Settings/Category.jsx","../../src/components/Settings/utils.js","../../src/components/Settings/index.jsx"],"sourcesContent":["export const UNSUPPORTED_LINK_PROPS = [\"staticContext\"];\n","import React, { 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 ...otherProps\n}) => (\n <Link\n data-cy={dataCy}\n to={path}\n className={classnames(\n \"neeto-ui-border-gray-300 neeto-ui-shadow-xs hover:neeto-ui-border-gray-500 focus:neeto-ui-border-gray-500 neeto-ui-rounded-lg flex cursor-pointer flex-col border p-6 no-underline outline-none transition-colors\",\n className\n )}\n {...omit(UNSUPPORTED_LINK_PROPS, otherProps)}\n >\n <div data-testid={`settings-item-${joinHyphenCase(label)}`}>\n {Icon && <Icon className=\"neeto-ui-text-gray-600 mb-4\" size={32} />}\n <Typography\n className=\"mb-2\"\n data-cy=\"settings-item-heading\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {label}\n </Typography>\n <Typography data-cy=\"settings-item-description\" style=\"body2\">\n {description}\n </Typography>\n </div>\n </Link>\n);\n\nexport default memo(withRouter(Item));\n","import React from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nimport IntegrationCard from \"components/IntegrationCard\";\n\nimport Item from \"./Item\";\n\nconst Category = ({ items, label, id, isIntegration }) => {\n const SettingsCard = isIntegration ? IntegrationCard : Item;\n\n return (\n <div {...{ id }} className=\"flex flex-col py-6\">\n <Typography\n className=\"mb-6\"\n component=\"h2\"\n data-cy=\"settings-category-heading\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {label}\n </Typography>\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 React, { 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 = ({ isTitleHidden = false, categories = [] }) => {\n const { t } = useTranslation();\n\n const { category: categoryParam, searchTerm = \"\" } = useQueryParams();\n\n const filteredCategories = filterCategories({ categories, searchTerm });\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 <Header\n className={classNames({ \"min-h-0 pb-4 pt-8\": isTitleHidden })}\n title={!isTitleHidden && t(\"neetoMolecules.settingsPage.title\")}\n searchProps={{\n className: \"w-72\",\n placeholder: t(\"neetoMolecules.settingsPage.placeholder.search\"),\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 space-y-12\">\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 * 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","otherProps","_objectWithoutProperties","_excluded","React","createElement","Link","_extends","to","classnames","omit","concat","joinHyphenCase","size","Typography","style","weight","memo","withRouter","Category","items","id","isIntegration","SettingsCard","IntegrationCard","component","map","item","key","isTextMatching","searchTerm","toLowerCase","includes","trim","scrollIntoSettingCategory","activeCategory","_document$getElementB","document","getElementById","scrollIntoView","behavior","filterCategories","_ref$categories","categories","_ref$searchTerm","isSearchTermBlank","filteredCategories","category","_objectSpread","filterBy","_ref2","isNotEmpty","Settings","_ref$isTitleHidden","isTitleHidden","_useTranslation","useTranslation","t","_useQueryParams","useQueryParams","categoryParam","_useQueryParams$searc","useEffect","classNames","Header","title","searchProps","placeholder","isEmpty","NoData"],"mappings":"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"}
@@ -10,7 +10,7 @@ var objectWithoutProperties = require('./objectWithoutProperties-2fed2d7d.js');
10
10
  var neetoIcons = require('@bigbinary/neeto-icons');
11
11
  var neetoui = require('@bigbinary/neetoui');
12
12
  var reactI18next = require('react-i18next');
13
- var Columns$1 = require('./Columns-069368e2.js');
13
+ var Columns$1 = require('./Columns-6b710238.js');
14
14
  var neetoFiltersFrontend = require('@bigbinary/neeto-filters-frontend');
15
15
  var injectCss = require('./inject-css-80a5faa3.js');
16
16
  require('./slicedToArray-f320d9e7.js');
@@ -34,7 +34,7 @@ require('@bigbinary/neeto-commons-frontend/react-utils/useQueryParams');
34
34
  require('@bigbinary/neeto-commons-frontend/react-utils/useUpdateEffect');
35
35
  require('@bigbinary/neeto-commons-frontend/utils/general');
36
36
  require('@bigbinary/neeto-icons');
37
- require('./Columns-069368e2.js');
37
+ require('./Columns-6b710238.js');
38
38
  require('zustand');
39
39
  require('zustand/middleware');
40
40
  require('@bigbinary/neeto-filters-frontend');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-molecules",
3
- "version": "1.15.5",
3
+ "version": "1.15.7",
4
4
  "description": "A package of reusable molecular components for neeto products.",
5
5
  "repository": "git@github.com:bigbinary/neeto-molecules.git",
6
6
  "author": "Amaljith K <amaljith.k@bigbinary.com>",
@@ -1 +0,0 @@
1
- {"version":3,"file":"Columns-702d539a.js","sources":["../src/components/Columns/constants.js","../src/components/Columns/utils.js","../src/components/Columns/useHiddenColumns.js","../src/components/Columns/Columns.jsx"],"sourcesContent":["export const HIDDEN_COLUMNS_STORAGE_KEY = \"neeto-molecules-hidden-columns\";\n","import { existsBy, removeBy } from \"neetocist\";\nimport { filter, includes, toLower, trim } from \"ramda\";\n\nexport const getHidableColumns = columnData =>\n removeBy({ isHidable: false }, columnData);\n\nexport const filterBySearchTerm = (searchTerm, columns) =>\n filter(\n ({ title }) => includes(trim(toLower(searchTerm)), trim(toLower(title))),\n columns\n );\n\nexport const removeDeletedColumns = (hiddenColumns, columnData) =>\n hiddenColumns.filter(hiddenColumn =>\n existsBy({ dataIndex: hiddenColumn }, columnData)\n );\n","import { useEffect } from \"react\";\n\nimport { removeBy } from \"neetocist\";\nimport {\n getFromLocalStorage,\n removeFromLocalStorage,\n} from \"neetocommons/utils/general\";\nimport { __, without, includes, isEmpty, equals, union } from \"ramda\";\nimport { create } from \"zustand\";\nimport { persist } from \"zustand/middleware\";\n\nimport { HIDDEN_COLUMNS_STORAGE_KEY } from \"./constants\";\nimport { removeDeletedColumns } from \"./utils\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useHiddenColumnStore = create(\n persist(() => ({}), { name: HIDDEN_COLUMNS_STORAGE_KEY })\n);\n\nconst useHiddenColumns = (localStorageKey, initialValue = []) => {\n const hiddenColumns = useHiddenColumnStore(state => state[localStorageKey]);\n const setHiddenColumns = columns =>\n useHiddenColumnStore.setState({ [localStorageKey]: columns });\n\n // Migrates values from old location to new zustand location.\n useEffect(() => {\n const oldValue = getFromLocalStorage(localStorageKey);\n if (oldValue) {\n setHiddenColumns(oldValue);\n removeFromLocalStorage(localStorageKey);\n } else if (!hiddenColumns) {\n setHiddenColumns(initialValue);\n }\n }, [localStorageKey]);\n\n const hideColumn = columns =>\n setHiddenColumns(\n union(hiddenColumns, Array.isArray(columns) ? columns : [columns])\n );\n\n const showColumn = columns =>\n setHiddenColumns(\n without(Array.isArray(columns) ? columns : [columns], hiddenColumns)\n );\n\n const getVisibleColumnData = columnData =>\n removeBy({ dataIndex: includes(__, hiddenColumns || []) }, columnData);\n\n const onColumnDataChange = columnData => {\n if (isEmpty(columnData) || !hiddenColumns) return;\n const newHiddenColumns = removeDeletedColumns(hiddenColumns, columnData);\n if (!equals(newHiddenColumns, hiddenColumns)) {\n setHiddenColumns(newHiddenColumns);\n }\n };\n\n return {\n hiddenColumns,\n hideColumn,\n showColumn,\n getVisibleColumnData,\n onColumnDataChange,\n };\n};\n\nexport { useHiddenColumns, useHiddenColumnStore };\n","import React, {\n useState,\n useImperativeHandle,\n forwardRef,\n useEffect,\n} from \"react\";\n\nimport i18next from \"i18next\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Search } from \"neetoicons\";\nimport { Checkbox, Dropdown, Input, Label, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { identity } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport \"./columns.scss\";\nimport { useHiddenColumns } from \"./useHiddenColumns\";\nimport { filterBySearchTerm, getHidableColumns } from \"./utils\";\n\nconst Columns = forwardRef(\n (\n {\n actionBlock,\n checkboxProps = {},\n columnData = [],\n isSearchable = false,\n localStorageKey = \"\",\n initialValue = [],\n noColumnMessage = i18next.t(\"neetoMolecules.columns.noColumns\"),\n onChange = identity,\n searchProps = {},\n ...dropdownProps\n },\n ref\n ) => {\n const { Divider, Menu, MenuItem } = Dropdown;\n const [searchTerm, setSearchTerm] = useState(\"\");\n const { t } = useTranslation();\n\n const {\n hiddenColumns = [],\n hideColumn,\n showColumn,\n getVisibleColumnData,\n onColumnDataChange,\n } = useHiddenColumns(localStorageKey, initialValue);\n\n useEffect(() => {\n onChange(getVisibleColumnData(columnData), hiddenColumns);\n }, [hiddenColumns]);\n\n useEffect(() => {\n onColumnDataChange(columnData);\n }, [columnData]);\n\n /**\n * @deprecated Use showColumn|hideColumn from useHiddenColumns\n */\n useImperativeHandle(ref, () => ({ hideColumn, showColumn }), []);\n\n const handleChange = ({ target: { name: dataIndex, checked } }) => {\n if (checked) showColumn(dataIndex);\n else hideColumn(dataIndex);\n };\n const handleSearch = ({ target: { value } }) => setSearchTerm(value);\n\n const columns = getHidableColumns(columnData);\n const filteredColumns = filterBySearchTerm(searchTerm, columns);\n\n return (\n <Dropdown\n appendTo={document.body}\n buttonSize=\"medium\"\n buttonStyle=\"text\"\n closeOnSelect={false}\n label={t(\"neetoMolecules.columns.columns\")}\n position=\"bottom-end\"\n onClose={() => setSearchTerm(\"\")}\n {...dropdownProps}\n >\n <Menu>\n <div className=\"neeto-molecules-columns__container\">\n {isSearchable && (\n <Input\n className=\"px-4 py-2\"\n data-cy=\"neeto-ui-columns-search\"\n data-testid=\"neeto-ui-columns-search\"\n placeholder={t(\"neetoMolecules.columns.search\")}\n prefix={<Search />}\n type=\"search\"\n value={searchTerm}\n onChange={handleSearch}\n {...searchProps}\n />\n )}\n <Typography\n className=\"neeto-ui-text-gray-600 px-4 py-2\"\n style=\"body2\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.columns.columns\")}\n </Typography>\n {isNotEmpty(filteredColumns) ? (\n filteredColumns.map(({ dataIndex, key, title }) => (\n <MenuItem key={key}>\n <Label\n className=\"neeto-ui-w-full hover:neeto-ui-bg-gray-200 neeto-ui-cursor-pointer px-4 py-2\"\n htmlFor={dataIndex}\n >\n <Checkbox\n checked={!hiddenColumns.includes(dataIndex)}\n data-cy=\"neeto-ui-columns-checkbox\"\n id={dataIndex}\n label={title}\n name={dataIndex}\n onChange={handleChange}\n {...checkboxProps}\n />\n </Label>\n </MenuItem>\n ))\n ) : (\n <span className=\"neeto-ui-flex neeto-ui-flex-col neeto-ui-items-center neeto-ui-p-2\">\n {noColumnMessage}\n </span>\n )}\n {!!actionBlock && (\n <>\n <Divider />\n {actionBlock}\n </>\n )}\n </div>\n </Menu>\n </Dropdown>\n );\n }\n);\n\nColumns.propTypes = {\n /**\n * Extra action items that can be added at the end of the dropdown (optional).\n */\n actionBlock: PropTypes.element,\n /**\n * Additional props for the checkboxes in the dropdown (optional).\n */\n checkboxProps: PropTypes.object,\n /**\n * The list of columns from which the dropdown options are built (required).\n */\n columnData: PropTypes.array,\n /**\n * Controls whether the dropdown options should be searchable (optional).\n */\n isSearchable: PropTypes.bool,\n /**\n * The key used to store data in local storage (required).\n */\n localStorageKey: PropTypes.string,\n /**\n * The list of columns that are hidden on initial render. This is the `dataIndex` attribute from columnData (optional).\n */\n initialValue: PropTypes.array,\n /**\n * The message to be shown when there are no columns to be displayed in the dropdown (optional).\n */\n noColumnMessage: PropTypes.string,\n /**\n * Handler function that is called when a checkbox is selected or unselected.\n */\n onChange: PropTypes.func,\n /**\n * Props to be passed to the search input in the column dropdown. Only works when `isSearchable` is set to `true` (optional).\n */\n searchProps: PropTypes.object,\n};\n\nColumns.displayName = \"Columns\";\nexport default Columns;\n"],"names":["HIDDEN_COLUMNS_STORAGE_KEY","getHidableColumns","columnData","removeBy","isHidable","filterBySearchTerm","searchTerm","columns","filter","_ref","title","includes","trim","toLower","removeDeletedColumns","hiddenColumns","hiddenColumn","existsBy","dataIndex","useHiddenColumnStore","create","persist","name","useHiddenColumns","localStorageKey","initialValue","arguments","length","undefined","state","setHiddenColumns","setState","_defineProperty","useEffect","oldValue","getFromLocalStorage","removeFromLocalStorage","hideColumn","union","Array","isArray","showColumn","without","getVisibleColumnData","__","onColumnDataChange","isEmpty","newHiddenColumns","equals","Columns","forwardRef","ref","actionBlock","_ref$checkboxProps","checkboxProps","_ref$columnData","_ref$isSearchable","isSearchable","_ref$localStorageKey","_ref$initialValue","_ref$noColumnMessage","noColumnMessage","i18next","t","_ref$onChange","onChange","identity","_ref$searchProps","searchProps","dropdownProps","_objectWithoutProperties","_excluded","Divider","Dropdown","Menu","MenuItem","_useState","useState","_useState2","_slicedToArray","setSearchTerm","_useTranslation","useTranslation","_useHiddenColumns","_useHiddenColumns$hid","useImperativeHandle","handleChange","_ref2","_ref2$target","target","checked","handleSearch","_ref3","value","filteredColumns","React","createElement","_extends","appendTo","document","body","buttonSize","buttonStyle","closeOnSelect","label","position","onClose","className","Input","placeholder","prefix","Search","type","Typography","style","weight","isNotEmpty","map","_ref4","key","Label","htmlFor","Checkbox","id","Fragment","displayName"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Columns-069368e2.js","sources":["../../src/components/Columns/constants.js","../../src/components/Columns/utils.js","../../src/components/Columns/useHiddenColumns.js","../../src/components/Columns/Columns.jsx"],"sourcesContent":["export const HIDDEN_COLUMNS_STORAGE_KEY = \"neeto-molecules-hidden-columns\";\n","import { existsBy, removeBy } from \"neetocist\";\nimport { filter, includes, toLower, trim } from \"ramda\";\n\nexport const getHidableColumns = columnData =>\n removeBy({ isHidable: false }, columnData);\n\nexport const filterBySearchTerm = (searchTerm, columns) =>\n filter(\n ({ title }) => includes(trim(toLower(searchTerm)), trim(toLower(title))),\n columns\n );\n\nexport const removeDeletedColumns = (hiddenColumns, columnData) =>\n hiddenColumns.filter(hiddenColumn =>\n existsBy({ dataIndex: hiddenColumn }, columnData)\n );\n","import { useEffect } from \"react\";\n\nimport { removeBy } from \"neetocist\";\nimport {\n getFromLocalStorage,\n removeFromLocalStorage,\n} from \"neetocommons/utils/general\";\nimport { __, without, includes, isEmpty, equals, union } from \"ramda\";\nimport { create } from \"zustand\";\nimport { persist } from \"zustand/middleware\";\n\nimport { HIDDEN_COLUMNS_STORAGE_KEY } from \"./constants\";\nimport { removeDeletedColumns } from \"./utils\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useHiddenColumnStore = create(\n persist(() => ({}), { name: HIDDEN_COLUMNS_STORAGE_KEY })\n);\n\nconst useHiddenColumns = (localStorageKey, initialValue = []) => {\n const hiddenColumns = useHiddenColumnStore(state => state[localStorageKey]);\n const setHiddenColumns = columns =>\n useHiddenColumnStore.setState({ [localStorageKey]: columns });\n\n // Migrates values from old location to new zustand location.\n useEffect(() => {\n const oldValue = getFromLocalStorage(localStorageKey);\n if (oldValue) {\n setHiddenColumns(oldValue);\n removeFromLocalStorage(localStorageKey);\n } else if (!hiddenColumns) {\n setHiddenColumns(initialValue);\n }\n }, [localStorageKey]);\n\n const hideColumn = columns =>\n setHiddenColumns(\n union(hiddenColumns, Array.isArray(columns) ? columns : [columns])\n );\n\n const showColumn = columns =>\n setHiddenColumns(\n without(Array.isArray(columns) ? columns : [columns], hiddenColumns)\n );\n\n const getVisibleColumnData = columnData =>\n removeBy({ dataIndex: includes(__, hiddenColumns || []) }, columnData);\n\n const onColumnDataChange = columnData => {\n if (isEmpty(columnData) || !hiddenColumns) return;\n const newHiddenColumns = removeDeletedColumns(hiddenColumns, columnData);\n if (!equals(newHiddenColumns, hiddenColumns)) {\n setHiddenColumns(newHiddenColumns);\n }\n };\n\n return {\n hiddenColumns,\n hideColumn,\n showColumn,\n getVisibleColumnData,\n onColumnDataChange,\n };\n};\n\nexport { useHiddenColumns, useHiddenColumnStore };\n","import React, {\n useState,\n useImperativeHandle,\n forwardRef,\n useEffect,\n} from \"react\";\n\nimport i18next from \"i18next\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Search } from \"neetoicons\";\nimport { Checkbox, Dropdown, Input, Label, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { identity } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport \"./columns.scss\";\nimport { useHiddenColumns } from \"./useHiddenColumns\";\nimport { filterBySearchTerm, getHidableColumns } from \"./utils\";\n\nconst Columns = forwardRef(\n (\n {\n actionBlock,\n checkboxProps = {},\n columnData = [],\n isSearchable = false,\n localStorageKey = \"\",\n initialValue = [],\n noColumnMessage = i18next.t(\"neetoMolecules.columns.noColumns\"),\n onChange = identity,\n searchProps = {},\n ...dropdownProps\n },\n ref\n ) => {\n const { Divider, Menu, MenuItem } = Dropdown;\n const [searchTerm, setSearchTerm] = useState(\"\");\n const { t } = useTranslation();\n\n const {\n hiddenColumns = [],\n hideColumn,\n showColumn,\n getVisibleColumnData,\n onColumnDataChange,\n } = useHiddenColumns(localStorageKey, initialValue);\n\n useEffect(() => {\n onChange(getVisibleColumnData(columnData), hiddenColumns);\n }, [hiddenColumns]);\n\n useEffect(() => {\n onColumnDataChange(columnData);\n }, [columnData]);\n\n /**\n * @deprecated Use showColumn|hideColumn from useHiddenColumns\n */\n useImperativeHandle(ref, () => ({ hideColumn, showColumn }), []);\n\n const handleChange = ({ target: { name: dataIndex, checked } }) => {\n if (checked) showColumn(dataIndex);\n else hideColumn(dataIndex);\n };\n const handleSearch = ({ target: { value } }) => setSearchTerm(value);\n\n const columns = getHidableColumns(columnData);\n const filteredColumns = filterBySearchTerm(searchTerm, columns);\n\n return (\n <Dropdown\n appendTo={document.body}\n buttonSize=\"medium\"\n buttonStyle=\"text\"\n closeOnSelect={false}\n label={t(\"neetoMolecules.columns.columns\")}\n position=\"bottom-end\"\n onClose={() => setSearchTerm(\"\")}\n {...dropdownProps}\n >\n <Menu>\n <div className=\"neeto-molecules-columns__container\">\n {isSearchable && (\n <Input\n className=\"px-4 py-2\"\n data-cy=\"neeto-ui-columns-search\"\n data-testid=\"neeto-ui-columns-search\"\n placeholder={t(\"neetoMolecules.columns.search\")}\n prefix={<Search />}\n type=\"search\"\n value={searchTerm}\n onChange={handleSearch}\n {...searchProps}\n />\n )}\n <Typography\n className=\"neeto-ui-text-gray-600 px-4 py-2\"\n style=\"body2\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.columns.columns\")}\n </Typography>\n {isNotEmpty(filteredColumns) ? (\n filteredColumns.map(({ dataIndex, key, title }) => (\n <MenuItem key={key}>\n <Label\n className=\"neeto-ui-w-full hover:neeto-ui-bg-gray-200 neeto-ui-cursor-pointer px-4 py-2\"\n htmlFor={dataIndex}\n >\n <Checkbox\n checked={!hiddenColumns.includes(dataIndex)}\n data-cy=\"neeto-ui-columns-checkbox\"\n id={dataIndex}\n label={title}\n name={dataIndex}\n onChange={handleChange}\n {...checkboxProps}\n />\n </Label>\n </MenuItem>\n ))\n ) : (\n <span className=\"neeto-ui-flex neeto-ui-flex-col neeto-ui-items-center neeto-ui-p-2\">\n {noColumnMessage}\n </span>\n )}\n {!!actionBlock && (\n <>\n <Divider />\n {actionBlock}\n </>\n )}\n </div>\n </Menu>\n </Dropdown>\n );\n }\n);\n\nColumns.propTypes = {\n /**\n * Extra action items that can be added at the end of the dropdown (optional).\n */\n actionBlock: PropTypes.element,\n /**\n * Additional props for the checkboxes in the dropdown (optional).\n */\n checkboxProps: PropTypes.object,\n /**\n * The list of columns from which the dropdown options are built (required).\n */\n columnData: PropTypes.array,\n /**\n * Controls whether the dropdown options should be searchable (optional).\n */\n isSearchable: PropTypes.bool,\n /**\n * The key used to store data in local storage (required).\n */\n localStorageKey: PropTypes.string,\n /**\n * The list of columns that are hidden on initial render. This is the `dataIndex` attribute from columnData (optional).\n */\n initialValue: PropTypes.array,\n /**\n * The message to be shown when there are no columns to be displayed in the dropdown (optional).\n */\n noColumnMessage: PropTypes.string,\n /**\n * Handler function that is called when a checkbox is selected or unselected.\n */\n onChange: PropTypes.func,\n /**\n * Props to be passed to the search input in the column dropdown. Only works when `isSearchable` is set to `true` (optional).\n */\n searchProps: PropTypes.object,\n};\n\nColumns.displayName = \"Columns\";\nexport default Columns;\n"],"names":["HIDDEN_COLUMNS_STORAGE_KEY","getHidableColumns","columnData","removeBy","isHidable","filterBySearchTerm","searchTerm","columns","filter","_ref","title","includes","trim","toLower","removeDeletedColumns","hiddenColumns","hiddenColumn","existsBy","dataIndex","useHiddenColumnStore","create","persist","name","useHiddenColumns","localStorageKey","initialValue","arguments","length","undefined","state","setHiddenColumns","setState","_defineProperty","useEffect","oldValue","getFromLocalStorage","removeFromLocalStorage","hideColumn","union","Array","isArray","showColumn","without","getVisibleColumnData","__","onColumnDataChange","isEmpty","newHiddenColumns","equals","Columns","forwardRef","ref","actionBlock","_ref$checkboxProps","checkboxProps","_ref$columnData","_ref$isSearchable","isSearchable","_ref$localStorageKey","_ref$initialValue","_ref$noColumnMessage","noColumnMessage","i18next","t","_ref$onChange","onChange","identity","_ref$searchProps","searchProps","dropdownProps","_objectWithoutProperties","_excluded","Divider","Dropdown","Menu","MenuItem","_useState","useState","_useState2","_slicedToArray","setSearchTerm","_useTranslation","useTranslation","_useHiddenColumns","_useHiddenColumns$hid","useImperativeHandle","handleChange","_ref2","_ref2$target","target","checked","handleSearch","_ref3","value","filteredColumns","React","createElement","_extends","appendTo","document","body","buttonSize","buttonStyle","closeOnSelect","label","position","onClose","className","Input","placeholder","prefix","Search","type","Typography","style","weight","isNotEmpty","map","_ref4","key","Label","htmlFor","Checkbox","id","Fragment","displayName"],"mappings":"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"}