@bigbinary/neeto-molecules 3.16.102 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AuditLogs.js +6 -1
- package/dist/AuditLogs.js.map +1 -1
- package/dist/CalendarView.js +9 -2
- package/dist/CalendarView.js.map +1 -1
- package/dist/Columns.js +9 -2
- package/dist/Columns.js.map +1 -1
- package/dist/SubHeader.js +22 -47
- package/dist/SubHeader.js.map +1 -1
- package/dist/Taxonomy.js +6 -2
- package/dist/Taxonomy.js.map +1 -1
- package/dist/cjs/AuditLogs.js +6 -1
- package/dist/cjs/AuditLogs.js.map +1 -1
- package/dist/cjs/CalendarView.js +9 -2
- package/dist/cjs/CalendarView.js.map +1 -1
- package/dist/cjs/Columns.js +11 -2
- package/dist/cjs/Columns.js.map +1 -1
- package/dist/cjs/SubHeader.js +20 -45
- package/dist/cjs/SubHeader.js.map +1 -1
- package/dist/cjs/Taxonomy.js +6 -2
- package/dist/cjs/Taxonomy.js.map +1 -1
- package/dist/cjs/useColumns-XlhUVahw.js +578 -0
- package/dist/cjs/useColumns-XlhUVahw.js.map +1 -0
- package/dist/useColumns-ZmJggX3n.js +568 -0
- package/dist/useColumns-ZmJggX3n.js.map +1 -0
- package/package.json +3 -1
- package/src/translations/en.json +3 -2
- package/types/Columns.d.ts +53 -5
- package/types/SubHeader.d.ts +1 -3
- package/dist/cjs/useColumns-BP8c4PV-.js +0 -282
- package/dist/cjs/useColumns-BP8c4PV-.js.map +0 -1
- package/dist/useColumns-Db5uic1-.js +0 -274
- package/dist/useColumns-Db5uic1-.js.map +0 -1
|
@@ -1,274 +0,0 @@
|
|
|
1
|
-
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
-
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
3
|
-
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
4
|
-
import { useEffect, forwardRef, useState, useImperativeHandle } from 'react';
|
|
5
|
-
import i18next from 'i18next';
|
|
6
|
-
import { removeBy, existsBy, isNotEmpty } from '@bigbinary/neeto-cist';
|
|
7
|
-
import Search from '@bigbinary/neeto-icons/Search';
|
|
8
|
-
import Checkbox from '@bigbinary/neetoui/Checkbox';
|
|
9
|
-
import Dropdown from '@bigbinary/neetoui/Dropdown';
|
|
10
|
-
import Input from '@bigbinary/neetoui/Input';
|
|
11
|
-
import Label from '@bigbinary/neetoui/Label';
|
|
12
|
-
import Typography from '@bigbinary/neetoui/Typography';
|
|
13
|
-
import { filter, includes, trim, toLower, union, without, __, isEmpty, equals, identity, pipe } from 'ramda';
|
|
14
|
-
import { useTranslation } from 'react-i18next';
|
|
15
|
-
import { n } from './inject-css-DmrvuTKK.js';
|
|
16
|
-
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
17
|
-
import { create } from 'zustand';
|
|
18
|
-
import { persist } from 'zustand/middleware';
|
|
19
|
-
import { getFromLocalStorage, removeFromLocalStorage } from '@bigbinary/neeto-commons-frontend/utils/general';
|
|
20
|
-
|
|
21
|
-
var css = ":root{--neeto-molecules-columns-menu-max-width:31.25rem}.neeto-molecules-columns__container{max-width:31.25rem;max-width:var(--neeto-molecules-columns-menu-max-width)}";
|
|
22
|
-
n(css,{});
|
|
23
|
-
|
|
24
|
-
var HIDDEN_COLUMNS_STORAGE_KEY = "neeto-molecules-hidden-columns";
|
|
25
|
-
var COLUMNS_ORDER_STORAGE_KEY = "neeto-molecules-columns-order";
|
|
26
|
-
|
|
27
|
-
var getHidableColumns = function getHidableColumns(columnData) {
|
|
28
|
-
return removeBy({
|
|
29
|
-
isHidable: false
|
|
30
|
-
}, columnData);
|
|
31
|
-
};
|
|
32
|
-
var filterBySearchTerm = function filterBySearchTerm(searchTerm, columns) {
|
|
33
|
-
return filter(function (_ref) {
|
|
34
|
-
var title = _ref.title;
|
|
35
|
-
return includes(trim(toLower(searchTerm)), trim(toLower(title)));
|
|
36
|
-
}, columns);
|
|
37
|
-
};
|
|
38
|
-
var removeDeletedColumns = function removeDeletedColumns(hiddenColumns, columnData) {
|
|
39
|
-
return hiddenColumns.filter(function (hiddenColumn) {
|
|
40
|
-
return existsBy({
|
|
41
|
-
dataIndex: hiddenColumn
|
|
42
|
-
}, columnData);
|
|
43
|
-
});
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
/** @type {import("neetocommons/react-utils").ZustandStoreHook} */
|
|
47
|
-
var useHiddenColumnStore = create(persist(function () {
|
|
48
|
-
return {};
|
|
49
|
-
}, {
|
|
50
|
-
name: HIDDEN_COLUMNS_STORAGE_KEY
|
|
51
|
-
}));
|
|
52
|
-
var useHiddenColumns = function useHiddenColumns(localStorageKey) {
|
|
53
|
-
var initialValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
54
|
-
var hiddenColumns = useHiddenColumnStore(function (state) {
|
|
55
|
-
return state[localStorageKey];
|
|
56
|
-
});
|
|
57
|
-
var setHiddenColumns = function setHiddenColumns(columns) {
|
|
58
|
-
return useHiddenColumnStore.setState(_defineProperty({}, localStorageKey, columns));
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
// Migrates values from old location to new zustand location.
|
|
62
|
-
useEffect(function () {
|
|
63
|
-
var oldValue = getFromLocalStorage(localStorageKey);
|
|
64
|
-
if (oldValue) {
|
|
65
|
-
setHiddenColumns(oldValue);
|
|
66
|
-
removeFromLocalStorage(localStorageKey);
|
|
67
|
-
} else if (!hiddenColumns) {
|
|
68
|
-
setHiddenColumns(initialValue);
|
|
69
|
-
}
|
|
70
|
-
}, [localStorageKey]);
|
|
71
|
-
var hideColumn = function hideColumn(columns) {
|
|
72
|
-
return setHiddenColumns(union(hiddenColumns, Array.isArray(columns) ? columns : [columns]));
|
|
73
|
-
};
|
|
74
|
-
var showColumn = function showColumn(columns) {
|
|
75
|
-
return setHiddenColumns(without(Array.isArray(columns) ? columns : [columns], hiddenColumns));
|
|
76
|
-
};
|
|
77
|
-
var getVisibleColumnData = function getVisibleColumnData(columnData) {
|
|
78
|
-
return removeBy({
|
|
79
|
-
dataIndex: includes(__, hiddenColumns || [])
|
|
80
|
-
}, columnData);
|
|
81
|
-
};
|
|
82
|
-
var onColumnDataChange = function onColumnDataChange(columnData) {
|
|
83
|
-
if (isEmpty(columnData) || !hiddenColumns) return;
|
|
84
|
-
var newHiddenColumns = removeDeletedColumns(hiddenColumns, columnData);
|
|
85
|
-
if (!equals(newHiddenColumns, hiddenColumns)) {
|
|
86
|
-
setHiddenColumns(newHiddenColumns);
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
return {
|
|
90
|
-
hiddenColumns: hiddenColumns,
|
|
91
|
-
hideColumn: hideColumn,
|
|
92
|
-
showColumn: showColumn,
|
|
93
|
-
getVisibleColumnData: getVisibleColumnData,
|
|
94
|
-
onColumnDataChange: onColumnDataChange
|
|
95
|
-
};
|
|
96
|
-
};
|
|
97
|
-
|
|
98
|
-
var _excluded$1 = ["actionBlock", "checkboxProps", "columnData", "isSearchable", "localStorageKey", "initialValue", "noColumnMessage", "onChange", "searchProps"];
|
|
99
|
-
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; }
|
|
100
|
-
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; }
|
|
101
|
-
var Columns = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
102
|
-
var actionBlock = _ref.actionBlock,
|
|
103
|
-
_ref$checkboxProps = _ref.checkboxProps,
|
|
104
|
-
checkboxProps = _ref$checkboxProps === void 0 ? {} : _ref$checkboxProps,
|
|
105
|
-
_ref$columnData = _ref.columnData,
|
|
106
|
-
columnData = _ref$columnData === void 0 ? [] : _ref$columnData,
|
|
107
|
-
_ref$isSearchable = _ref.isSearchable,
|
|
108
|
-
isSearchable = _ref$isSearchable === void 0 ? false : _ref$isSearchable,
|
|
109
|
-
_ref$localStorageKey = _ref.localStorageKey,
|
|
110
|
-
localStorageKey = _ref$localStorageKey === void 0 ? "" : _ref$localStorageKey,
|
|
111
|
-
_ref$initialValue = _ref.initialValue,
|
|
112
|
-
initialValue = _ref$initialValue === void 0 ? [] : _ref$initialValue,
|
|
113
|
-
_ref$noColumnMessage = _ref.noColumnMessage,
|
|
114
|
-
noColumnMessage = _ref$noColumnMessage === void 0 ? i18next.t("neetoMolecules.columns.noColumns") : _ref$noColumnMessage,
|
|
115
|
-
_ref$onChange = _ref.onChange,
|
|
116
|
-
onChange = _ref$onChange === void 0 ? identity : _ref$onChange,
|
|
117
|
-
_ref$searchProps = _ref.searchProps,
|
|
118
|
-
searchProps = _ref$searchProps === void 0 ? {} : _ref$searchProps,
|
|
119
|
-
dropdownProps = _objectWithoutProperties(_ref, _excluded$1);
|
|
120
|
-
var Divider = Dropdown.Divider,
|
|
121
|
-
Menu = Dropdown.Menu,
|
|
122
|
-
MenuItem = Dropdown.MenuItem;
|
|
123
|
-
var _useState = useState(""),
|
|
124
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
125
|
-
searchTerm = _useState2[0],
|
|
126
|
-
setSearchTerm = _useState2[1];
|
|
127
|
-
var _useTranslation = useTranslation(),
|
|
128
|
-
t = _useTranslation.t;
|
|
129
|
-
var _useHiddenColumns = useHiddenColumns(localStorageKey, initialValue),
|
|
130
|
-
_useHiddenColumns$hid = _useHiddenColumns.hiddenColumns,
|
|
131
|
-
hiddenColumns = _useHiddenColumns$hid === void 0 ? [] : _useHiddenColumns$hid,
|
|
132
|
-
hideColumn = _useHiddenColumns.hideColumn,
|
|
133
|
-
showColumn = _useHiddenColumns.showColumn,
|
|
134
|
-
getVisibleColumnData = _useHiddenColumns.getVisibleColumnData,
|
|
135
|
-
onColumnDataChange = _useHiddenColumns.onColumnDataChange;
|
|
136
|
-
useEffect(function () {
|
|
137
|
-
onChange(getVisibleColumnData(columnData), hiddenColumns);
|
|
138
|
-
}, [hiddenColumns]);
|
|
139
|
-
useEffect(function () {
|
|
140
|
-
onColumnDataChange(columnData);
|
|
141
|
-
}, [columnData]);
|
|
142
|
-
|
|
143
|
-
/**
|
|
144
|
-
* @deprecated Use showColumn|hideColumn from useHiddenColumns
|
|
145
|
-
*/
|
|
146
|
-
useImperativeHandle(ref, function () {
|
|
147
|
-
return {
|
|
148
|
-
hideColumn: hideColumn,
|
|
149
|
-
showColumn: showColumn
|
|
150
|
-
};
|
|
151
|
-
}, []);
|
|
152
|
-
var handleChange = function handleChange(_ref2) {
|
|
153
|
-
var _ref2$target = _ref2.target,
|
|
154
|
-
dataIndex = _ref2$target.name,
|
|
155
|
-
checked = _ref2$target.checked;
|
|
156
|
-
if (checked) showColumn(dataIndex);else hideColumn(dataIndex);
|
|
157
|
-
};
|
|
158
|
-
var handleSearch = function handleSearch(_ref3) {
|
|
159
|
-
var value = _ref3.target.value;
|
|
160
|
-
return setSearchTerm(value);
|
|
161
|
-
};
|
|
162
|
-
var columns = getHidableColumns(columnData);
|
|
163
|
-
var filteredColumns = filterBySearchTerm(searchTerm, columns);
|
|
164
|
-
return /*#__PURE__*/jsx(Dropdown, _objectSpread$1(_objectSpread$1({
|
|
165
|
-
appendTo: document.body,
|
|
166
|
-
buttonSize: "medium",
|
|
167
|
-
buttonStyle: "text",
|
|
168
|
-
closeOnSelect: false,
|
|
169
|
-
label: t("neetoMolecules.columns.columns"),
|
|
170
|
-
position: "bottom-end",
|
|
171
|
-
onClose: function onClose() {
|
|
172
|
-
return setSearchTerm("");
|
|
173
|
-
}
|
|
174
|
-
}, dropdownProps), {}, {
|
|
175
|
-
children: /*#__PURE__*/jsx(Menu, {
|
|
176
|
-
children: /*#__PURE__*/jsxs("div", {
|
|
177
|
-
className: "neeto-molecules-columns__container",
|
|
178
|
-
children: [isSearchable && /*#__PURE__*/jsx(Input, _objectSpread$1({
|
|
179
|
-
className: "px-4 py-2",
|
|
180
|
-
"data-cy": "neeto-ui-columns-search",
|
|
181
|
-
"data-testid": "neeto-ui-columns-search",
|
|
182
|
-
placeholder: t("neetoMolecules.columns.search"),
|
|
183
|
-
prefix: /*#__PURE__*/jsx(Search, {}),
|
|
184
|
-
type: "search",
|
|
185
|
-
value: searchTerm,
|
|
186
|
-
onChange: handleSearch
|
|
187
|
-
}, searchProps)), /*#__PURE__*/jsx(Typography, {
|
|
188
|
-
className: "neeto-ui-text-gray-600 px-4 py-2",
|
|
189
|
-
style: "body2",
|
|
190
|
-
weight: "semibold",
|
|
191
|
-
children: t("neetoMolecules.columns.columns")
|
|
192
|
-
}), isNotEmpty(filteredColumns) ? filteredColumns.map(function (_ref4) {
|
|
193
|
-
var dataIndex = _ref4.dataIndex,
|
|
194
|
-
key = _ref4.key,
|
|
195
|
-
title = _ref4.title;
|
|
196
|
-
return /*#__PURE__*/jsx(MenuItem, {
|
|
197
|
-
children: /*#__PURE__*/jsx(Label, {
|
|
198
|
-
className: "neeto-ui-flex neeto-ui-w-full hover:neeto-ui-bg-gray-200 neeto-ui-cursor-pointer px-4 py-2",
|
|
199
|
-
htmlFor: dataIndex,
|
|
200
|
-
children: /*#__PURE__*/jsx(Checkbox, _objectSpread$1({
|
|
201
|
-
checked: !hiddenColumns.includes(dataIndex),
|
|
202
|
-
"data-cy": "neeto-ui-columns-checkbox",
|
|
203
|
-
id: dataIndex,
|
|
204
|
-
label: title,
|
|
205
|
-
name: dataIndex,
|
|
206
|
-
onChange: handleChange
|
|
207
|
-
}, checkboxProps))
|
|
208
|
-
})
|
|
209
|
-
}, key);
|
|
210
|
-
}) : /*#__PURE__*/jsx("span", {
|
|
211
|
-
className: "neeto-ui-flex neeto-ui-flex-col neeto-ui-items-center neeto-ui-p-2",
|
|
212
|
-
children: noColumnMessage
|
|
213
|
-
}), !!actionBlock && /*#__PURE__*/jsxs(Fragment, {
|
|
214
|
-
children: [/*#__PURE__*/jsx(Divider, {}), actionBlock]
|
|
215
|
-
})]
|
|
216
|
-
})
|
|
217
|
-
})
|
|
218
|
-
}));
|
|
219
|
-
});
|
|
220
|
-
Columns.displayName = "Columns";
|
|
221
|
-
|
|
222
|
-
var _excluded = ["hiddenColumns", "getVisibleColumnData"];
|
|
223
|
-
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; }
|
|
224
|
-
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; }
|
|
225
|
-
|
|
226
|
-
/** @type {import("neetocommons/react-utils").ZustandStoreHook} */
|
|
227
|
-
var useColumnOrderStore = create(persist(function () {
|
|
228
|
-
return {};
|
|
229
|
-
}, {
|
|
230
|
-
name: COLUMNS_ORDER_STORAGE_KEY
|
|
231
|
-
}));
|
|
232
|
-
var useColumns = function useColumns(_ref) {
|
|
233
|
-
var localStorageKey = _ref.localStorageKey,
|
|
234
|
-
initialHiddenColumns = _ref.initialHiddenColumns,
|
|
235
|
-
_ref$initialOrder = _ref.initialOrder,
|
|
236
|
-
initialOrder = _ref$initialOrder === void 0 ? [] : _ref$initialOrder;
|
|
237
|
-
var columnOrder = useColumnOrderStore(function (state) {
|
|
238
|
-
return state[localStorageKey];
|
|
239
|
-
}) || initialOrder;
|
|
240
|
-
var setColumnOrder = function setColumnOrder(columns) {
|
|
241
|
-
return useColumnOrderStore.setState(_defineProperty({}, localStorageKey, columns));
|
|
242
|
-
};
|
|
243
|
-
var _useHiddenColumns = useHiddenColumns(localStorageKey, initialHiddenColumns),
|
|
244
|
-
hiddenColumns = _useHiddenColumns.hiddenColumns,
|
|
245
|
-
getVisibleColumnData = _useHiddenColumns.getVisibleColumnData,
|
|
246
|
-
hiddenColumnHelpers = _objectWithoutProperties(_useHiddenColumns, _excluded);
|
|
247
|
-
var orderColumns = function orderColumns(columnData) {
|
|
248
|
-
if (isEmpty(columnOrder)) return columnData;
|
|
249
|
-
return columnData.sort(function (a, b) {
|
|
250
|
-
if (!columnOrder.includes(a.dataIndex) || !columnOrder.includes(b.dataIndex)) {
|
|
251
|
-
return 0;
|
|
252
|
-
}
|
|
253
|
-
return columnOrder.indexOf(a.dataIndex) - columnOrder.indexOf(b.dataIndex);
|
|
254
|
-
});
|
|
255
|
-
};
|
|
256
|
-
var getColumnData = function getColumnData(_ref2) {
|
|
257
|
-
var columnData = _ref2.columnData,
|
|
258
|
-
_ref2$isHidable = _ref2.isHidable,
|
|
259
|
-
isHidable = _ref2$isHidable === void 0 ? true : _ref2$isHidable,
|
|
260
|
-
_ref2$isReOrderable = _ref2.isReOrderable,
|
|
261
|
-
isReOrderable = _ref2$isReOrderable === void 0 ? false : _ref2$isReOrderable;
|
|
262
|
-
return pipe(isHidable ? getVisibleColumnData : identity, isReOrderable ? orderColumns : identity)(columnData);
|
|
263
|
-
};
|
|
264
|
-
return _objectSpread(_objectSpread({}, hiddenColumnHelpers), {}, {
|
|
265
|
-
hiddenColumns: hiddenColumns,
|
|
266
|
-
columnOrder: columnOrder,
|
|
267
|
-
getVisibleColumnData: getVisibleColumnData,
|
|
268
|
-
setColumnOrder: setColumnOrder,
|
|
269
|
-
getColumnData: getColumnData
|
|
270
|
-
});
|
|
271
|
-
};
|
|
272
|
-
|
|
273
|
-
export { Columns as C, HIDDEN_COLUMNS_STORAGE_KEY as H, useHiddenColumnStore as a, COLUMNS_ORDER_STORAGE_KEY as b, useColumns as c, useColumnOrderStore as d, useHiddenColumns as u };
|
|
274
|
-
//# sourceMappingURL=useColumns-Db5uic1-.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useColumns-Db5uic1-.js","sources":["../src/components/Columns/constants.js","../src/components/Columns/utils.js","../src/components/Columns/useHiddenColumns.js","../src/components/Columns/Columns.jsx","../src/components/Columns/useColumns.js"],"sourcesContent":["export const HIDDEN_COLUMNS_STORAGE_KEY = \"neeto-molecules-hidden-columns\";\nexport const COLUMNS_ORDER_STORAGE_KEY = \"neeto-molecules-columns-order\";\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 { useState, useImperativeHandle, forwardRef, useEffect } 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","import { identity, isEmpty, pipe } from \"ramda\";\nimport { create } from \"zustand\";\nimport { persist } from \"zustand/middleware\";\n\nimport { COLUMNS_ORDER_STORAGE_KEY } from \"./constants\";\nimport { useHiddenColumns } from \"./useHiddenColumns\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useColumnOrderStore = create(\n persist(() => ({}), { name: COLUMNS_ORDER_STORAGE_KEY })\n);\n\nconst useColumns = ({\n localStorageKey,\n initialHiddenColumns,\n initialOrder = [],\n}) => {\n const columnOrder =\n useColumnOrderStore(state => state[localStorageKey]) || initialOrder;\n\n const setColumnOrder = columns =>\n useColumnOrderStore.setState({ [localStorageKey]: columns });\n\n const { hiddenColumns, getVisibleColumnData, ...hiddenColumnHelpers } =\n useHiddenColumns(localStorageKey, initialHiddenColumns);\n\n const orderColumns = columnData => {\n if (isEmpty(columnOrder)) return columnData;\n\n return columnData.sort((a, b) => {\n if (\n !columnOrder.includes(a.dataIndex) ||\n !columnOrder.includes(b.dataIndex)\n ) {\n return 0;\n }\n\n return (\n columnOrder.indexOf(a.dataIndex) - columnOrder.indexOf(b.dataIndex)\n );\n });\n };\n\n const getColumnData = ({\n columnData,\n isHidable = true,\n isReOrderable = false,\n }) =>\n pipe(\n isHidable ? getVisibleColumnData : identity,\n isReOrderable ? orderColumns : identity\n )(columnData);\n\n return {\n ...hiddenColumnHelpers,\n hiddenColumns,\n columnOrder,\n getVisibleColumnData,\n setColumnOrder,\n getColumnData,\n };\n};\n\nexport { useColumns, useColumnOrderStore };\n"],"names":["HIDDEN_COLUMNS_STORAGE_KEY","COLUMNS_ORDER_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","_jsx","_objectSpread","appendTo","document","body","buttonSize","buttonStyle","closeOnSelect","label","position","onClose","children","_jsxs","className","Input","placeholder","prefix","Search","type","Typography","style","weight","isNotEmpty","map","_ref4","key","Label","htmlFor","Checkbox","id","_Fragment","displayName","useColumnOrderStore","useColumns","initialHiddenColumns","_ref$initialOrder","initialOrder","columnOrder","setColumnOrder","hiddenColumnHelpers","orderColumns","sort","a","b","indexOf","getColumnData","_ref2$isHidable","_ref2$isReOrderable","isReOrderable","pipe"],"mappings":"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"}
|