@bigbinary/neeto-molecules 4.1.50 → 4.1.52

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.
Files changed (91) hide show
  1. package/dist/CalendarView.js +2 -1
  2. package/dist/CalendarView.js.map +1 -1
  3. package/dist/{Columns-BB50-jks.js → Columns-D68XA-e7.js} +2 -53
  4. package/dist/Columns-D68XA-e7.js.map +1 -0
  5. package/dist/Columns-cUgR6NTO.js +502 -0
  6. package/dist/Columns-cUgR6NTO.js.map +1 -0
  7. package/dist/Columns.js +2 -1
  8. package/dist/Columns.js.map +1 -1
  9. package/dist/StatusDropdown.js +1 -0
  10. package/dist/StatusDropdown.js.map +1 -1
  11. package/dist/SubHeader.js +2 -1
  12. package/dist/SubHeader.js.map +1 -1
  13. package/dist/Taxonomy.js +2 -1
  14. package/dist/Taxonomy.js.map +1 -1
  15. package/dist/circle-question-mark-Dib48f5Z.js +19 -0
  16. package/dist/circle-question-mark-Dib48f5Z.js.map +1 -0
  17. package/dist/cjs/CalendarView.js +2 -1
  18. package/dist/cjs/CalendarView.js.map +1 -1
  19. package/dist/cjs/{Columns-jm_CUnLP.js → Columns-BACqpEQU.js} +3 -54
  20. package/dist/cjs/Columns-BACqpEQU.js.map +1 -0
  21. package/dist/cjs/Columns-D3eocaeY.js +508 -0
  22. package/dist/cjs/Columns-D3eocaeY.js.map +1 -0
  23. package/dist/cjs/Columns.js +2 -1
  24. package/dist/cjs/Columns.js.map +1 -1
  25. package/dist/cjs/StatusDropdown.js +1 -0
  26. package/dist/cjs/StatusDropdown.js.map +1 -1
  27. package/dist/cjs/SubHeader.js +2 -1
  28. package/dist/cjs/SubHeader.js.map +1 -1
  29. package/dist/cjs/Taxonomy.js +2 -1
  30. package/dist/cjs/Taxonomy.js.map +1 -1
  31. package/dist/cjs/circle-question-mark-kxBMPyWQ.js +21 -0
  32. package/dist/cjs/circle-question-mark-kxBMPyWQ.js.map +1 -0
  33. package/dist/cjs/ellipsis-BcfLTtl5.js +21 -0
  34. package/dist/cjs/ellipsis-BcfLTtl5.js.map +1 -0
  35. package/dist/cjs/utilities.esm-jwIHISzF.js +58 -0
  36. package/dist/cjs/utilities.esm-jwIHISzF.js.map +1 -0
  37. package/dist/cjs/v2/Breadcrumbs.js +50 -0
  38. package/dist/cjs/v2/Breadcrumbs.js.map +1 -0
  39. package/dist/cjs/v2/Columns.js +34 -0
  40. package/dist/cjs/v2/Columns.js.map +1 -0
  41. package/dist/cjs/v2/Container.js +34 -0
  42. package/dist/cjs/v2/Container.js.map +1 -0
  43. package/dist/cjs/v2/FloatingActionMenu.js +10 -24
  44. package/dist/cjs/v2/FloatingActionMenu.js.map +1 -1
  45. package/dist/cjs/v2/Header.js +128 -0
  46. package/dist/cjs/v2/Header.js.map +1 -0
  47. package/dist/cjs/v2/HelpPopover.js +93 -0
  48. package/dist/cjs/v2/HelpPopover.js.map +1 -0
  49. package/dist/cjs/v2/MoreDropdown.js +201 -0
  50. package/dist/cjs/v2/MoreDropdown.js.map +1 -0
  51. package/dist/cjs/v2/Search.js +129 -0
  52. package/dist/cjs/v2/Search.js.map +1 -0
  53. package/dist/cjs/v2/Sidebar.js +3 -17
  54. package/dist/cjs/v2/Sidebar.js.map +1 -1
  55. package/dist/cjs/v2/SubHeader.js +246 -0
  56. package/dist/cjs/v2/SubHeader.js.map +1 -0
  57. package/dist/ellipsis-DpI9xqUK.js +19 -0
  58. package/dist/ellipsis-DpI9xqUK.js.map +1 -0
  59. package/dist/utilities.esm-CS21Daln.js +56 -0
  60. package/dist/utilities.esm-CS21Daln.js.map +1 -0
  61. package/dist/v2/Breadcrumbs.js +48 -0
  62. package/dist/v2/Breadcrumbs.js.map +1 -0
  63. package/dist/v2/Columns.js +22 -0
  64. package/dist/v2/Columns.js.map +1 -0
  65. package/dist/v2/Container.js +32 -0
  66. package/dist/v2/Container.js.map +1 -0
  67. package/dist/v2/FloatingActionMenu.js +8 -22
  68. package/dist/v2/FloatingActionMenu.js.map +1 -1
  69. package/dist/v2/Header.js +126 -0
  70. package/dist/v2/Header.js.map +1 -0
  71. package/dist/v2/HelpPopover.js +91 -0
  72. package/dist/v2/HelpPopover.js.map +1 -0
  73. package/dist/v2/MoreDropdown.js +199 -0
  74. package/dist/v2/MoreDropdown.js.map +1 -0
  75. package/dist/v2/Search.js +127 -0
  76. package/dist/v2/Search.js.map +1 -0
  77. package/dist/v2/Sidebar.js +2 -16
  78. package/dist/v2/Sidebar.js.map +1 -1
  79. package/dist/v2/SubHeader.js +244 -0
  80. package/dist/v2/SubHeader.js.map +1 -0
  81. package/package.json +1 -1
  82. package/types/v2/Breadcrumbs.d.ts +12 -0
  83. package/types/v2/Columns.d.ts +42 -0
  84. package/types/v2/Container.d.ts +8 -0
  85. package/types/v2/Header.d.ts +22 -0
  86. package/types/v2/HelpPopover.d.ts +23 -0
  87. package/types/v2/MoreDropdown.d.ts +42 -0
  88. package/types/v2/Search.d.ts +16 -0
  89. package/types/v2/SubHeader.d.ts +51 -0
  90. package/dist/Columns-BB50-jks.js.map +0 -1
  91. package/dist/cjs/Columns-jm_CUnLP.js.map +0 -1
@@ -0,0 +1,502 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
3
+ import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
4
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
5
+ import { useCallback, useMemo, useEffect, useState, createElement } from 'react';
6
+ import { Label, Checkbox, Popover, PopoverTrigger, Button, PopoverContent, Input, Separator } from '@bigbinary/neeto-atoms';
7
+ import { DndContext, closestCenter } from '@dnd-kit/core';
8
+ import { useSortable, SortableContext, verticalListSortingStrategy } from '@dnd-kit/sortable';
9
+ import i18next from 'i18next';
10
+ import { isNotEqualDeep, isNotEmpty, noop, removeBy, findIndexBy } from '@bigbinary/neeto-cist';
11
+ import { isEmpty, prop, pluck, filter, includes, trim, toLower, assoc } from 'ramda';
12
+ import { useTranslation } from 'react-i18next';
13
+ import { C as CSS } from './utilities.esm-CS21Daln.js';
14
+ import classnames from 'classnames';
15
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
16
+ import { c as createLucideIcon } from './createLucideIcon-mNMhCCpf.js';
17
+ import { useQuery } from '@tanstack/react-query';
18
+ import useMutationWithInvalidation from '@bigbinary/neeto-commons-frontend/react-utils/useMutationWithInvalidation';
19
+ import axios from 'axios';
20
+ import { S as Search } from './search-DCgpNjip.js';
21
+
22
+ /**
23
+ * @license lucide-react v1.7.0 - ISC
24
+ *
25
+ * This source code is licensed under the ISC license.
26
+ * See the LICENSE file in the root directory of this source tree.
27
+ */
28
+
29
+
30
+ const __iconNode = [
31
+ ["circle", { cx: "9", cy: "12", r: "1", key: "1vctgf" }],
32
+ ["circle", { cx: "9", cy: "5", r: "1", key: "hp0tcf" }],
33
+ ["circle", { cx: "9", cy: "19", r: "1", key: "fkjjf6" }],
34
+ ["circle", { cx: "15", cy: "12", r: "1", key: "1tmaij" }],
35
+ ["circle", { cx: "15", cy: "5", r: "1", key: "19l28e" }],
36
+ ["circle", { cx: "15", cy: "19", r: "1", key: "f4zoj3" }]
37
+ ];
38
+ const GripVertical = createLucideIcon("grip-vertical", __iconNode);
39
+
40
+ function ownKeys$3(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
41
+ function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
42
+ var Item = function Item(_ref) {
43
+ var _active$data, _over$data;
44
+ var column = _ref.column,
45
+ hiddenColumns = _ref.hiddenColumns,
46
+ checkboxProps = _ref.checkboxProps,
47
+ onToggle = _ref.onToggle,
48
+ isTableConfigurationFetching = _ref.isTableConfigurationFetching;
49
+ var key = column.key,
50
+ title = column.title;
51
+ var _useSortable = useSortable({
52
+ id: key
53
+ }),
54
+ attributes = _useSortable.attributes,
55
+ listeners = _useSortable.listeners,
56
+ setNodeRef = _useSortable.setNodeRef,
57
+ transform = _useSortable.transform,
58
+ transition = _useSortable.transition,
59
+ isDragging = _useSortable.isDragging,
60
+ isOver = _useSortable.isOver,
61
+ over = _useSortable.over,
62
+ active = _useSortable.active;
63
+ var dragStyle = {
64
+ transform: isDragging ? CSS.Transform.toString(transform) : undefined,
65
+ transition: transition,
66
+ opacity: isDragging ? 0.5 : 1
67
+ };
68
+ var isIndicatorVisible = !isDragging && isOver;
69
+ var draggedIndex = active === null || active === void 0 || (_active$data = active.data) === null || _active$data === void 0 || (_active$data = _active$data.current) === null || _active$data === void 0 || (_active$data = _active$data.sortable) === null || _active$data === void 0 ? void 0 : _active$data.index;
70
+ var targetIndex = over === null || over === void 0 || (_over$data = over.data) === null || _over$data === void 0 || (_over$data = _over$data.current) === null || _over$data === void 0 || (_over$data = _over$data.sortable) === null || _over$data === void 0 ? void 0 : _over$data.index;
71
+ var isChecked = !hiddenColumns.includes(key);
72
+ return /*#__PURE__*/jsxs("div", {
73
+ children: [/*#__PURE__*/jsx("div", {
74
+ className: classnames({
75
+ "bg-muted h-1 w-full": isIndicatorVisible && targetIndex < draggedIndex
76
+ })
77
+ }), /*#__PURE__*/jsxs("div", {
78
+ className: "hover:bg-accent relative flex items-center px-5 py-2",
79
+ "data-testid": "column-sortable-item",
80
+ ref: setNodeRef,
81
+ style: dragStyle,
82
+ children: [/*#__PURE__*/jsx("div", _objectSpread$3(_objectSpread$3(_objectSpread$3({}, attributes), listeners), {}, {
83
+ className: "absolute top-1/2 left-0.5 flex -translate-y-1/2 cursor-grab items-center active:cursor-grabbing",
84
+ "data-testid": "column-drag-handle",
85
+ children: /*#__PURE__*/jsx(GripVertical, {
86
+ className: "text-muted-foreground/50 hover:text-foreground transition-all duration-300 ease-in-out",
87
+ size: 16
88
+ })
89
+ })), /*#__PURE__*/jsxs(Label, {
90
+ className: "flex w-full cursor-pointer items-center",
91
+ htmlFor: key,
92
+ children: [/*#__PURE__*/jsx(Checkbox, _objectSpread$3({
93
+ checked: isChecked,
94
+ "data-testid": "neeto-ui-columns-checkbox",
95
+ disabled: isTableConfigurationFetching,
96
+ id: key,
97
+ name: key,
98
+ onCheckedChange: function onCheckedChange(checked) {
99
+ onToggle({
100
+ target: {
101
+ name: key,
102
+ checked: checked
103
+ }
104
+ });
105
+ }
106
+ }, checkboxProps)), /*#__PURE__*/jsx("span", {
107
+ className: "ml-2 text-sm",
108
+ children: title
109
+ })]
110
+ })]
111
+ }), /*#__PURE__*/jsx("div", {
112
+ className: classnames({
113
+ "bg-muted h-1 w-full": isIndicatorVisible && targetIndex > draggedIndex
114
+ })
115
+ })]
116
+ });
117
+ };
118
+
119
+ var baseUrl = "api/v1/table_configurations";
120
+ var fetch = function fetch(tableKey) {
121
+ return axios.get("".concat(baseUrl, "/").concat(tableKey));
122
+ };
123
+ var create = function create(payload) {
124
+ return axios.post(baseUrl, {
125
+ tableConfiguration: payload
126
+ });
127
+ };
128
+ var update = function update(_ref) {
129
+ var tableKey = _ref.tableKey,
130
+ payload = _ref.payload;
131
+ return axios.patch("".concat(baseUrl, "/").concat(tableKey), {
132
+ tableConfiguration: payload
133
+ });
134
+ };
135
+ var destroy = function destroy(tableKey) {
136
+ return axios["delete"]("".concat(baseUrl, "/").concat(tableKey));
137
+ };
138
+ var tableConfigurationApi = {
139
+ fetch: fetch,
140
+ create: create,
141
+ update: update,
142
+ destroy: destroy
143
+ };
144
+
145
+ var HIDDEN_COLUMNS_STORAGE_KEY = "neeto-molecules-hidden-columns";
146
+ var COLUMNS_ORDER_STORAGE_KEY = "neeto-molecules-columns-order";
147
+ var TABLE_CONFIGURATION_QUERY_KEY = "table-configuration";
148
+
149
+ function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
150
+ function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
151
+ var useFetchTableConfiguration = function useFetchTableConfiguration(_ref) {
152
+ var tableKey = _ref.tableKey,
153
+ _ref$options = _ref.options,
154
+ options = _ref$options === void 0 ? {} : _ref$options;
155
+ return useQuery(_objectSpread$2({
156
+ queryKey: [TABLE_CONFIGURATION_QUERY_KEY, tableKey],
157
+ enabled: !!tableKey,
158
+ queryFn: function queryFn() {
159
+ return tableConfigurationApi.fetch(tableKey);
160
+ }
161
+ }, options));
162
+ };
163
+ var useUpdateTableConfiguration = function useUpdateTableConfiguration(tableKey) {
164
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
165
+ return useMutationWithInvalidation(tableConfigurationApi.update, _objectSpread$2({
166
+ keysToInvalidate: [[TABLE_CONFIGURATION_QUERY_KEY, tableKey]]
167
+ }, options));
168
+ };
169
+ var useDestroyTableConfiguration = function useDestroyTableConfiguration(tableKey) {
170
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
171
+ return useMutationWithInvalidation(tableConfigurationApi.destroy, _objectSpread$2({
172
+ keysToInvalidate: [[TABLE_CONFIGURATION_QUERY_KEY, tableKey]]
173
+ }, options));
174
+ };
175
+
176
+ 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; }
177
+ 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), true).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; }
178
+ var useTableConfigurations = function useTableConfigurations(tableKey, columnData) {
179
+ var onMutationSuccess = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : noop;
180
+ var allowConfigurationResetOnUpdate = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
181
+ var defaultHiddenColumns = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : [];
182
+ var _useFetchTableConfigu = useFetchTableConfiguration({
183
+ tableKey: tableKey
184
+ }),
185
+ tableConfiguration = _useFetchTableConfigu.data,
186
+ isLoading = _useFetchTableConfigu.isLoading,
187
+ isFetching = _useFetchTableConfigu.isFetching;
188
+ var _useUpdateTableConfig = useUpdateTableConfiguration(tableKey, {
189
+ onSuccess: onMutationSuccess
190
+ }),
191
+ updateConfiguration = _useUpdateTableConfig.mutate;
192
+ var _useDestroyTableConfi = useDestroyTableConfiguration(tableKey, {
193
+ onSuccess: onMutationSuccess
194
+ }),
195
+ destroyConfiguration = _useDestroyTableConfi.mutate;
196
+ var processColumnsWithConfiguration = useCallback(function () {
197
+ var originalColumns = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
198
+ var existingColumnConfiguration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
199
+ if (isEmpty(existingColumnConfiguration)) {
200
+ return originalColumns;
201
+ }
202
+ var originalColumnsByKey = new Map(originalColumns === null || originalColumns === void 0 ? void 0 : originalColumns.filter(prop("key")).map(function (column) {
203
+ return [column.key, column];
204
+ }));
205
+ var configurationByKey = new Map(existingColumnConfiguration.map(function (config) {
206
+ return [config.key, config];
207
+ }));
208
+ var orderedConfiguredColumns = existingColumnConfiguration.map(function (config) {
209
+ return originalColumnsByKey.get(config.key);
210
+ }).filter(Boolean);
211
+ var unconfiguredOriginalColumns = originalColumns.filter(function (column) {
212
+ return column.key && !configurationByKey.has(column.key);
213
+ });
214
+ return [].concat(_toConsumableArray(orderedConfiguredColumns), _toConsumableArray(unconfiguredOriginalColumns));
215
+ }, []);
216
+ var hasAdditionalColumns = useMemo(function () {
217
+ if (!(tableConfiguration !== null && tableConfiguration !== void 0 && tableConfiguration.columns) || !columnData) {
218
+ return false;
219
+ }
220
+ var configurationKeys = pluck("key", tableConfiguration.columns).sort();
221
+ var dataKeys = pluck("key", columnData).sort();
222
+ return isNotEqualDeep(configurationKeys, dataKeys);
223
+ }, [tableConfiguration, columnData]);
224
+ var shouldApplyTableConfiguration = useMemo(function () {
225
+ return !isLoading && (tableConfiguration === null || tableConfiguration === void 0 ? void 0 : tableConfiguration.columns) && isNotEmpty(tableConfiguration === null || tableConfiguration === void 0 ? void 0 : tableConfiguration.columns) && !hasAdditionalColumns;
226
+ }, [tableConfiguration, isLoading, hasAdditionalColumns]);
227
+ useEffect(function () {
228
+ if (hasAdditionalColumns && tableConfiguration && allowConfigurationResetOnUpdate) {
229
+ destroyConfiguration(tableKey);
230
+ }
231
+ }, [hasAdditionalColumns, tableKey, allowConfigurationResetOnUpdate]);
232
+ var allProcessedColumns = useMemo(function () {
233
+ if (!isLoading && isNotEmpty(tableConfiguration === null || tableConfiguration === void 0 ? void 0 : tableConfiguration.columns) && !hasAdditionalColumns) {
234
+ return processColumnsWithConfiguration(columnData, tableConfiguration === null || tableConfiguration === void 0 ? void 0 : tableConfiguration.columns);
235
+ }
236
+ return columnData || [];
237
+ }, [isLoading, tableConfiguration === null || tableConfiguration === void 0 ? void 0 : tableConfiguration.columns, hasAdditionalColumns, columnData, processColumnsWithConfiguration]);
238
+ var existingColumnConfiguration = useMemo(function () {
239
+ if (shouldApplyTableConfiguration) {
240
+ return tableConfiguration.columns;
241
+ }
242
+ if (!columnData || isEmpty(columnData)) {
243
+ return [];
244
+ }
245
+ return columnData.map(function (column) {
246
+ return {
247
+ key: column.key,
248
+ isShown: !defaultHiddenColumns.includes(column.key)
249
+ };
250
+ });
251
+ }, [shouldApplyTableConfiguration, columnData, tableConfiguration === null || tableConfiguration === void 0 ? void 0 : tableConfiguration.columns, defaultHiddenColumns]);
252
+ var customizedColumns = useMemo(function () {
253
+ var visibleColumnsConfig = existingColumnConfiguration.filter(prop("isShown"));
254
+ var visibleColumnKeys = pluck("key", visibleColumnsConfig);
255
+ return allProcessedColumns.filter(function (column) {
256
+ return visibleColumnKeys.includes(column.key);
257
+ });
258
+ }, [allProcessedColumns, existingColumnConfiguration]);
259
+ var updateColumns = function updateColumns(updatedColumns) {
260
+ updateConfiguration({
261
+ tableKey: tableKey,
262
+ payload: {
263
+ table_key: tableKey,
264
+ columns: updatedColumns
265
+ }
266
+ });
267
+ };
268
+ var hideColumn = function hideColumn(columnKey) {
269
+ updateColumns(existingColumnConfiguration.map(function (column) {
270
+ return column.key === columnKey ? _objectSpread$1(_objectSpread$1({}, column), {}, {
271
+ isShown: false
272
+ }) : column;
273
+ }));
274
+ };
275
+ var showColumn = function showColumn(columnKey) {
276
+ updateColumns(existingColumnConfiguration.map(function (column) {
277
+ return column.key === columnKey ? _objectSpread$1(_objectSpread$1({}, column), {}, {
278
+ isShown: true
279
+ }) : column;
280
+ }));
281
+ };
282
+ return {
283
+ customizedColumns: customizedColumns,
284
+ allProcessedColumns: allProcessedColumns,
285
+ isTableConfigurationLoading: isLoading,
286
+ isTableConfigurationFetching: isFetching,
287
+ existingColumnConfiguration: existingColumnConfiguration,
288
+ hideColumn: hideColumn,
289
+ showColumn: showColumn,
290
+ updateColumns: updateColumns,
291
+ destroyConfiguration: destroyConfiguration
292
+ };
293
+ };
294
+
295
+ var getHidableColumns = function getHidableColumns(columnData) {
296
+ return removeBy({
297
+ isHidable: false
298
+ }, columnData);
299
+ };
300
+ var filterBySearchTerm = function filterBySearchTerm(searchTerm, columns) {
301
+ return filter(function (_ref) {
302
+ var _ref$title = _ref.title,
303
+ title = _ref$title === void 0 ? "" : _ref$title;
304
+ return includes(trim(toLower(searchTerm)), trim(toLower(title)));
305
+ }, columns);
306
+ };
307
+
308
+ var _excluded = ["icon", "data-testid", "label"];
309
+ 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; }
310
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).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; }
311
+ var Columns = function Columns(_ref) {
312
+ var actionBlock = _ref.actionBlock,
313
+ _ref$checkboxProps = _ref.checkboxProps,
314
+ checkboxProps = _ref$checkboxProps === void 0 ? {} : _ref$checkboxProps,
315
+ _ref$columnData = _ref.columnData,
316
+ columnData = _ref$columnData === void 0 ? [] : _ref$columnData,
317
+ _ref$isSearchable = _ref.isSearchable,
318
+ isSearchable = _ref$isSearchable === void 0 ? false : _ref$isSearchable,
319
+ _ref$tableKey = _ref.tableKey,
320
+ tableKey = _ref$tableKey === void 0 ? "" : _ref$tableKey,
321
+ _ref$noColumnMessage = _ref.noColumnMessage,
322
+ noColumnMessage = _ref$noColumnMessage === void 0 ? i18next.t("neetoMolecules.columns.noColumns") : _ref$noColumnMessage,
323
+ _ref$searchProps = _ref.searchProps,
324
+ searchProps = _ref$searchProps === void 0 ? {} : _ref$searchProps,
325
+ _ref$allowConfigurati = _ref.allowConfigurationResetOnUpdate,
326
+ allowConfigurationResetOnUpdate = _ref$allowConfigurati === void 0 ? true : _ref$allowConfigurati,
327
+ _ref$onMutationSucces = _ref.onMutationSuccess,
328
+ onMutationSuccess = _ref$onMutationSucces === void 0 ? noop : _ref$onMutationSucces,
329
+ _ref$defaultHiddenCol = _ref.defaultHiddenColumns,
330
+ defaultHiddenColumns = _ref$defaultHiddenCol === void 0 ? [] : _ref$defaultHiddenCol,
331
+ _ref$buttonProps = _ref.buttonProps,
332
+ buttonProps = _ref$buttonProps === void 0 ? {} : _ref$buttonProps;
333
+ var _useState = useState(""),
334
+ _useState2 = _slicedToArray(_useState, 2),
335
+ searchTerm = _useState2[0],
336
+ setSearchTerm = _useState2[1];
337
+ var _useState3 = useState(false),
338
+ _useState4 = _slicedToArray(_useState3, 2),
339
+ open = _useState4[0],
340
+ setOpen = _useState4[1];
341
+ var _useTranslation = useTranslation(),
342
+ t = _useTranslation.t;
343
+ var _useTableConfiguratio = useTableConfigurations(tableKey, columnData, onMutationSuccess, allowConfigurationResetOnUpdate, defaultHiddenColumns),
344
+ allProcessedColumns = _useTableConfiguratio.allProcessedColumns,
345
+ existingColumnConfiguration = _useTableConfiguratio.existingColumnConfiguration,
346
+ hideColumn = _useTableConfiguratio.hideColumn,
347
+ showColumn = _useTableConfiguratio.showColumn,
348
+ updateColumns = _useTableConfiguratio.updateColumns,
349
+ destroyConfiguration = _useTableConfiguratio.destroyConfiguration,
350
+ isTableConfigurationFetching = _useTableConfiguratio.isTableConfigurationFetching;
351
+ var hiddenColumns = pluck("key", existingColumnConfiguration.filter(function (column) {
352
+ return column.isShown === false;
353
+ }));
354
+ var handleDragEnd = function handleDragEnd(event) {
355
+ var active = event.active,
356
+ over = event.over;
357
+ if (!over || active.id === over.id) return;
358
+ var oldIndex = findIndexBy({
359
+ key: active.id
360
+ }, existingColumnConfiguration);
361
+ var newIndex = findIndexBy({
362
+ key: over.id
363
+ }, existingColumnConfiguration);
364
+ if (oldIndex === -1 || newIndex === -1) return;
365
+ var newOrder = _toConsumableArray(existingColumnConfiguration);
366
+ var _newOrder$splice = newOrder.splice(oldIndex, 1),
367
+ _newOrder$splice2 = _slicedToArray(_newOrder$splice, 1),
368
+ movedItem = _newOrder$splice2[0];
369
+ newOrder.splice(newIndex, 0, movedItem);
370
+ updateColumns(newOrder);
371
+ };
372
+ var columns = getHidableColumns(allProcessedColumns);
373
+ var filteredColumns = filterBySearchTerm(searchTerm, columns);
374
+ var handleHideAllColumns = function handleHideAllColumns() {
375
+ var columnsToHideKeys = pluck("key", columns);
376
+ updateColumns(existingColumnConfiguration.map(function (column) {
377
+ return includes(column.key, columnsToHideKeys) ? assoc("isShown", false, column) : column;
378
+ }));
379
+ };
380
+ var handleChange = function handleChange(_ref2) {
381
+ var _ref2$target = _ref2.target,
382
+ dataIndex = _ref2$target.name,
383
+ checked = _ref2$target.checked;
384
+ if (checked) showColumn(dataIndex);else hideColumn(dataIndex);
385
+ };
386
+ var handleSearch = function handleSearch(_ref3) {
387
+ var value = _ref3.target.value;
388
+ return setSearchTerm(value);
389
+ };
390
+ var Icon = buttonProps.icon,
391
+ _buttonProps$dataTes = buttonProps["data-testid"],
392
+ dataTestId = _buttonProps$dataTes === void 0 ? "columns-dropdown-button" : _buttonProps$dataTes,
393
+ buttonLabel = buttonProps.label,
394
+ restButtonProps = _objectWithoutProperties(buttonProps, _excluded);
395
+ return /*#__PURE__*/jsxs(Popover, {
396
+ open: open,
397
+ onOpenChange: function onOpenChange(isOpen) {
398
+ setOpen(isOpen);
399
+ if (!isOpen) setSearchTerm("");
400
+ },
401
+ children: [/*#__PURE__*/jsx(PopoverTrigger, {
402
+ asChild: true,
403
+ children: /*#__PURE__*/jsxs(Button, _objectSpread(_objectSpread({
404
+ "data-testid": dataTestId,
405
+ size: "icon",
406
+ variant: "ghost"
407
+ }, restButtonProps), {}, {
408
+ children: [Icon && /*#__PURE__*/jsx(Icon, {
409
+ size: 16
410
+ }), buttonLabel && /*#__PURE__*/jsx("span", {
411
+ children: buttonLabel
412
+ })]
413
+ }))
414
+ }), /*#__PURE__*/jsx(PopoverContent, {
415
+ align: "end",
416
+ className: "max-h-[calc(100dvh-200px)] w-80 max-w-[31.25rem] overflow-y-auto p-0",
417
+ children: /*#__PURE__*/jsxs("div", {
418
+ "data-testid": "customize-columns-dropdown-container",
419
+ children: [isSearchable && /*#__PURE__*/jsxs("div", {
420
+ className: "relative p-3",
421
+ children: [/*#__PURE__*/jsx(Search, {
422
+ className: "text-muted-foreground pointer-events-none absolute top-1/2 left-6 size-4 -translate-y-1/2"
423
+ }), /*#__PURE__*/jsx(Input, _objectSpread({
424
+ className: "pl-9",
425
+ "data-testid": "neeto-ui-columns-search",
426
+ placeholder: t("neetoMolecules.columns.search"),
427
+ type: "search",
428
+ value: searchTerm,
429
+ onChange: handleSearch
430
+ }, searchProps))]
431
+ }), isEmpty(filteredColumns) && /*#__PURE__*/jsx("span", {
432
+ className: "flex flex-col items-center p-2",
433
+ children: noColumnMessage
434
+ }), isNotEmpty(filteredColumns) && !searchTerm && /*#__PURE__*/jsx(DndContext, {
435
+ collisionDetection: closestCenter,
436
+ onDragEnd: handleDragEnd,
437
+ children: /*#__PURE__*/jsx(SortableContext, {
438
+ items: pluck("key", filteredColumns),
439
+ strategy: verticalListSortingStrategy,
440
+ children: filteredColumns.map(function (column) {
441
+ return /*#__PURE__*/createElement(Item, {
442
+ checkboxProps: checkboxProps,
443
+ column: column,
444
+ hiddenColumns: hiddenColumns,
445
+ isTableConfigurationFetching: isTableConfigurationFetching,
446
+ key: column.key,
447
+ onToggle: handleChange
448
+ });
449
+ })
450
+ })
451
+ }), isNotEmpty(filteredColumns) && searchTerm && filteredColumns.map(function (_ref4) {
452
+ var key = _ref4.key,
453
+ title = _ref4.title;
454
+ return /*#__PURE__*/jsxs(Label, {
455
+ className: "hover:bg-accent flex w-full cursor-pointer items-center px-5 py-2",
456
+ htmlFor: key,
457
+ children: [/*#__PURE__*/jsx(Checkbox, _objectSpread({
458
+ checked: !hiddenColumns.includes(key),
459
+ "data-testid": "neeto-ui-columns-checkbox",
460
+ id: key,
461
+ name: key,
462
+ onCheckedChange: function onCheckedChange(checked) {
463
+ handleChange({
464
+ target: {
465
+ name: key,
466
+ checked: checked
467
+ }
468
+ });
469
+ }
470
+ }, checkboxProps)), /*#__PURE__*/jsx("span", {
471
+ className: "ml-2 text-sm",
472
+ children: title
473
+ })]
474
+ }, key);
475
+ }), /*#__PURE__*/jsx(Separator, {}), !!actionBlock && /*#__PURE__*/jsxs(Fragment, {
476
+ children: [actionBlock, /*#__PURE__*/jsx(Separator, {})]
477
+ }), /*#__PURE__*/jsxs("div", {
478
+ className: "flex justify-end gap-2 px-3 py-2",
479
+ children: [/*#__PURE__*/jsx(Button, {
480
+ "data-testid": "column-visibility-hide-all-button",
481
+ size: "sm",
482
+ variant: "ghost",
483
+ onClick: handleHideAllColumns,
484
+ children: t("neetoMolecules.columns.hideAll")
485
+ }), /*#__PURE__*/jsx(Button, {
486
+ "data-testid": "column-visibility-reset-button",
487
+ size: "sm",
488
+ variant: "outline",
489
+ onClick: function onClick() {
490
+ return destroyConfiguration(tableKey);
491
+ },
492
+ children: t("neetoMolecules.columns.reset")
493
+ })]
494
+ })]
495
+ })
496
+ })]
497
+ });
498
+ };
499
+ Columns.displayName = "Columns";
500
+
501
+ export { COLUMNS_ORDER_STORAGE_KEY as C, HIDDEN_COLUMNS_STORAGE_KEY as H, TABLE_CONFIGURATION_QUERY_KEY as T, Columns as a, useTableConfigurations as u };
502
+ //# sourceMappingURL=Columns-cUgR6NTO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Columns-cUgR6NTO.js","sources":["../node_modules/lucide-react/dist/esm/icons/grip-vertical.js","../src/v2/components/Columns/Item.jsx","../src/v2/components/Columns/api.js","../src/v2/components/Columns/constants.js","../src/v2/components/Columns/useTableConfigurationsApi.js","../src/v2/components/Columns/useTableConfigurations.js","../src/v2/components/Columns/utils.js","../src/v2/components/Columns/Columns.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.7.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"circle\", { cx: \"9\", cy: \"12\", r: \"1\", key: \"1vctgf\" }],\n [\"circle\", { cx: \"9\", cy: \"5\", r: \"1\", key: \"hp0tcf\" }],\n [\"circle\", { cx: \"9\", cy: \"19\", r: \"1\", key: \"fkjjf6\" }],\n [\"circle\", { cx: \"15\", cy: \"12\", r: \"1\", key: \"1tmaij\" }],\n [\"circle\", { cx: \"15\", cy: \"5\", r: \"1\", key: \"19l28e\" }],\n [\"circle\", { cx: \"15\", cy: \"19\", r: \"1\", key: \"f4zoj3\" }]\n];\nconst GripVertical = createLucideIcon(\"grip-vertical\", __iconNode);\n\nexport { __iconNode, GripVertical as default };\n//# sourceMappingURL=grip-vertical.js.map\n","import { Checkbox, Label } from \"@bigbinary/neeto-atoms\";\nimport { useSortable } from \"@dnd-kit/sortable\";\nimport { CSS } from \"@dnd-kit/utilities\";\nimport classNames from \"classnames\";\nimport { GripVertical } from \"lucide-react\";\n\nconst Item = ({\n column,\n hiddenColumns,\n checkboxProps,\n onToggle,\n isTableConfigurationFetching,\n}) => {\n const { key, title } = column;\n const {\n attributes,\n listeners,\n setNodeRef,\n transform,\n transition,\n isDragging,\n isOver,\n over,\n active,\n } = useSortable({ id: key });\n\n const dragStyle = {\n transform: isDragging ? CSS.Transform.toString(transform) : undefined,\n transition,\n opacity: isDragging ? 0.5 : 1,\n };\n\n const isIndicatorVisible = !isDragging && isOver;\n const draggedIndex = active?.data?.current?.sortable?.index;\n const targetIndex = over?.data?.current?.sortable?.index;\n\n const isChecked = !hiddenColumns.includes(key);\n\n return (\n <div>\n <div\n className={classNames({\n \"bg-muted h-1 w-full\":\n isIndicatorVisible && targetIndex < draggedIndex,\n })}\n />\n <div\n className=\"hover:bg-accent relative flex items-center px-5 py-2\"\n data-testid=\"column-sortable-item\"\n ref={setNodeRef}\n style={dragStyle}\n >\n <div\n {...attributes}\n {...listeners}\n className=\"absolute top-1/2 left-0.5 flex -translate-y-1/2 cursor-grab items-center active:cursor-grabbing\"\n data-testid=\"column-drag-handle\"\n >\n <GripVertical\n className=\"text-muted-foreground/50 hover:text-foreground transition-all duration-300 ease-in-out\"\n size={16}\n />\n </div>\n <Label\n className=\"flex w-full cursor-pointer items-center\"\n htmlFor={key}\n >\n <Checkbox\n checked={isChecked}\n data-testid=\"neeto-ui-columns-checkbox\"\n disabled={isTableConfigurationFetching}\n id={key}\n name={key}\n onCheckedChange={checked => {\n onToggle({ target: { name: key, checked } });\n }}\n {...checkboxProps}\n />\n <span className=\"ml-2 text-sm\">{title}</span>\n </Label>\n </div>\n <div\n className={classNames({\n \"bg-muted h-1 w-full\":\n isIndicatorVisible && targetIndex > draggedIndex,\n })}\n />\n </div>\n );\n};\n\nexport default Item;\n","import axios from \"axios\";\n\nconst baseUrl = \"api/v1/table_configurations\";\n\nconst fetch = tableKey => axios.get(`${baseUrl}/${tableKey}`);\n\nconst create = payload => axios.post(baseUrl, { tableConfiguration: payload });\n\nconst update = ({ tableKey, payload }) =>\n axios.patch(`${baseUrl}/${tableKey}`, { tableConfiguration: payload });\n\nconst destroy = tableKey => axios.delete(`${baseUrl}/${tableKey}`);\n\nconst tableConfigurationApi = { fetch, create, update, destroy };\n\nexport default tableConfigurationApi;\n","export const HIDDEN_COLUMNS_STORAGE_KEY = \"neeto-molecules-hidden-columns\";\nexport const COLUMNS_ORDER_STORAGE_KEY = \"neeto-molecules-columns-order\";\nexport const TABLE_CONFIGURATION_QUERY_KEY = \"table-configuration\";\n","import { useQuery } from \"@tanstack/react-query\";\nimport useMutationWithInvalidation from \"neetocommons/react-utils/useMutationWithInvalidation\";\n\nimport tableConfigurationApi from \"./api\";\nimport { TABLE_CONFIGURATION_QUERY_KEY } from \"./constants.js\";\n\nconst useFetchTableConfiguration = ({ tableKey, options = {} }) =>\n useQuery({\n queryKey: [TABLE_CONFIGURATION_QUERY_KEY, tableKey],\n enabled: !!tableKey,\n queryFn: () => tableConfigurationApi.fetch(tableKey),\n ...options,\n });\n\nconst useUpdateTableConfiguration = (tableKey, options = {}) =>\n useMutationWithInvalidation(tableConfigurationApi.update, {\n keysToInvalidate: [[TABLE_CONFIGURATION_QUERY_KEY, tableKey]],\n ...options,\n });\n\nconst useDestroyTableConfiguration = (tableKey, options = {}) =>\n useMutationWithInvalidation(tableConfigurationApi.destroy, {\n keysToInvalidate: [[TABLE_CONFIGURATION_QUERY_KEY, tableKey]],\n ...options,\n });\n\nexport {\n useFetchTableConfiguration,\n useUpdateTableConfiguration,\n useDestroyTableConfiguration,\n};\n","import { useEffect, useMemo, useCallback } from \"react\";\n\nimport { isNotEqualDeep, isNotEmpty, noop } from \"neetocist\";\nimport { isEmpty, pluck, prop } from \"ramda\";\n\nimport {\n useFetchTableConfiguration,\n useUpdateTableConfiguration,\n useDestroyTableConfiguration,\n} from \"./useTableConfigurationsApi.js\";\n\nconst useTableConfigurations = (\n tableKey,\n columnData,\n onMutationSuccess = noop,\n allowConfigurationResetOnUpdate = true,\n defaultHiddenColumns = []\n) => {\n const {\n data: tableConfiguration,\n isLoading,\n isFetching,\n } = useFetchTableConfiguration({ tableKey });\n\n const { mutate: updateConfiguration } = useUpdateTableConfiguration(\n tableKey,\n { onSuccess: onMutationSuccess }\n );\n\n const { mutate: destroyConfiguration } = useDestroyTableConfiguration(\n tableKey,\n { onSuccess: onMutationSuccess }\n );\n\n const processColumnsWithConfiguration = useCallback(\n (originalColumns = [], existingColumnConfiguration = []) => {\n if (isEmpty(existingColumnConfiguration)) {\n return originalColumns;\n }\n\n const originalColumnsByKey = new Map(\n originalColumns?.filter(prop(\"key\")).map(column => [column.key, column])\n );\n\n const configurationByKey = new Map(\n existingColumnConfiguration.map(config => [config.key, config])\n );\n\n const orderedConfiguredColumns = existingColumnConfiguration\n .map(config => originalColumnsByKey.get(config.key))\n .filter(Boolean);\n\n const unconfiguredOriginalColumns = originalColumns.filter(\n column => column.key && !configurationByKey.has(column.key)\n );\n\n return [...orderedConfiguredColumns, ...unconfiguredOriginalColumns];\n },\n []\n );\n\n const hasAdditionalColumns = useMemo(() => {\n if (!tableConfiguration?.columns || !columnData) {\n return false;\n }\n\n const configurationKeys = pluck(\"key\", tableConfiguration.columns).sort();\n const dataKeys = pluck(\"key\", columnData).sort();\n\n return isNotEqualDeep(configurationKeys, dataKeys);\n }, [tableConfiguration, columnData]);\n\n const shouldApplyTableConfiguration = useMemo(\n () =>\n !isLoading &&\n tableConfiguration?.columns &&\n isNotEmpty(tableConfiguration?.columns) &&\n !hasAdditionalColumns,\n [tableConfiguration, isLoading, hasAdditionalColumns]\n );\n\n useEffect(() => {\n if (\n hasAdditionalColumns &&\n tableConfiguration &&\n allowConfigurationResetOnUpdate\n ) {\n destroyConfiguration(tableKey);\n }\n }, [hasAdditionalColumns, tableKey, allowConfigurationResetOnUpdate]);\n\n const allProcessedColumns = useMemo(() => {\n if (\n !isLoading &&\n isNotEmpty(tableConfiguration?.columns) &&\n !hasAdditionalColumns\n ) {\n return processColumnsWithConfiguration(\n columnData,\n tableConfiguration?.columns\n );\n }\n\n return columnData || [];\n }, [\n isLoading,\n tableConfiguration?.columns,\n hasAdditionalColumns,\n columnData,\n processColumnsWithConfiguration,\n ]);\n\n const existingColumnConfiguration = useMemo(() => {\n if (shouldApplyTableConfiguration) {\n return tableConfiguration.columns;\n }\n\n if (!columnData || isEmpty(columnData)) {\n return [];\n }\n\n return columnData.map(column => ({\n key: column.key,\n isShown: !defaultHiddenColumns.includes(column.key),\n }));\n }, [\n shouldApplyTableConfiguration,\n columnData,\n tableConfiguration?.columns,\n defaultHiddenColumns,\n ]);\n\n const customizedColumns = useMemo(() => {\n const visibleColumnsConfig = existingColumnConfiguration.filter(\n prop(\"isShown\")\n );\n const visibleColumnKeys = pluck(\"key\", visibleColumnsConfig);\n\n return allProcessedColumns.filter(column =>\n visibleColumnKeys.includes(column.key)\n );\n }, [allProcessedColumns, existingColumnConfiguration]);\n\n const updateColumns = updatedColumns => {\n updateConfiguration({\n tableKey,\n payload: { table_key: tableKey, columns: updatedColumns },\n });\n };\n\n const hideColumn = columnKey => {\n updateColumns(\n existingColumnConfiguration.map(column =>\n column.key === columnKey ? { ...column, isShown: false } : column\n )\n );\n };\n\n const showColumn = columnKey => {\n updateColumns(\n existingColumnConfiguration.map(column =>\n column.key === columnKey ? { ...column, isShown: true } : column\n )\n );\n };\n\n return {\n customizedColumns,\n allProcessedColumns,\n isTableConfigurationLoading: isLoading,\n isTableConfigurationFetching: isFetching,\n existingColumnConfiguration,\n hideColumn,\n showColumn,\n updateColumns,\n destroyConfiguration,\n };\n};\n\nexport default useTableConfigurations;\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 = \"\" }) =>\n 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 { useState } from \"react\";\n\nimport {\n Button,\n Checkbox,\n Input,\n Label,\n Popover,\n PopoverContent,\n PopoverTrigger,\n Separator,\n} from \"@bigbinary/neeto-atoms\";\nimport { DndContext, closestCenter } from \"@dnd-kit/core\";\nimport {\n SortableContext,\n verticalListSortingStrategy,\n} from \"@dnd-kit/sortable\";\nimport i18next from \"i18next\";\nimport { Search } from \"lucide-react\";\nimport { isNotEmpty, findIndexBy, noop } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { assoc, isEmpty, pluck, includes } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Item from \"./Item\";\nimport useTableConfigurations from \"./useTableConfigurations.js\";\nimport { filterBySearchTerm, getHidableColumns } from \"./utils.js\";\n\nconst Columns = ({\n actionBlock,\n checkboxProps = {},\n columnData = [],\n isSearchable = false,\n tableKey = \"\",\n noColumnMessage = i18next.t(\"neetoMolecules.columns.noColumns\"),\n searchProps = {},\n allowConfigurationResetOnUpdate = true,\n onMutationSuccess = noop,\n defaultHiddenColumns = [],\n buttonProps = {},\n}) => {\n const [searchTerm, setSearchTerm] = useState(\"\");\n const [open, setOpen] = useState(false);\n const { t } = useTranslation();\n\n const {\n allProcessedColumns,\n existingColumnConfiguration,\n hideColumn,\n showColumn,\n updateColumns,\n destroyConfiguration,\n isTableConfigurationFetching,\n } = useTableConfigurations(\n tableKey,\n columnData,\n onMutationSuccess,\n allowConfigurationResetOnUpdate,\n defaultHiddenColumns\n );\n\n const hiddenColumns = pluck(\n \"key\",\n existingColumnConfiguration.filter(column => column.isShown === false)\n );\n\n const handleDragEnd = event => {\n const { active, over } = event;\n if (!over || active.id === over.id) return;\n\n const oldIndex = findIndexBy(\n { key: active.id },\n existingColumnConfiguration\n );\n\n const newIndex = findIndexBy({ key: over.id }, existingColumnConfiguration);\n\n if (oldIndex === -1 || newIndex === -1) return;\n\n const newOrder = [...existingColumnConfiguration];\n const [movedItem] = newOrder.splice(oldIndex, 1);\n newOrder.splice(newIndex, 0, movedItem);\n updateColumns(newOrder);\n };\n\n const columns = getHidableColumns(allProcessedColumns);\n const filteredColumns = filterBySearchTerm(searchTerm, columns);\n\n const handleHideAllColumns = () => {\n const columnsToHideKeys = pluck(\"key\", columns);\n\n updateColumns(\n existingColumnConfiguration.map(column =>\n includes(column.key, columnsToHideKeys)\n ? assoc(\"isShown\", false, column)\n : column\n )\n );\n };\n\n const handleChange = ({ target: { name: dataIndex, checked } }) => {\n if (checked) showColumn(dataIndex);\n else hideColumn(dataIndex);\n };\n\n const handleSearch = ({ target: { value } }) => setSearchTerm(value);\n\n const {\n icon: Icon,\n \"data-testid\": dataTestId = \"columns-dropdown-button\",\n label: buttonLabel,\n ...restButtonProps\n } = buttonProps;\n\n return (\n <Popover\n {...{ open }}\n onOpenChange={isOpen => {\n setOpen(isOpen);\n if (!isOpen) setSearchTerm(\"\");\n }}\n >\n <PopoverTrigger asChild>\n <Button\n data-testid={dataTestId}\n size=\"icon\"\n variant=\"ghost\"\n {...restButtonProps}\n >\n {Icon && <Icon size={16} />}\n {buttonLabel && <span>{buttonLabel}</span>}\n </Button>\n </PopoverTrigger>\n <PopoverContent\n align=\"end\"\n className=\"max-h-[calc(100dvh-200px)] w-80 max-w-[31.25rem] overflow-y-auto p-0\"\n >\n <div data-testid=\"customize-columns-dropdown-container\">\n {isSearchable && (\n <div className=\"relative p-3\">\n <Search className=\"text-muted-foreground pointer-events-none absolute top-1/2 left-6 size-4 -translate-y-1/2\" />\n <Input\n className=\"pl-9\"\n data-testid=\"neeto-ui-columns-search\"\n placeholder={t(\"neetoMolecules.columns.search\")}\n type=\"search\"\n value={searchTerm}\n onChange={handleSearch}\n {...searchProps}\n />\n </div>\n )}\n {isEmpty(filteredColumns) && (\n <span className=\"flex flex-col items-center p-2\">\n {noColumnMessage}\n </span>\n )}\n {isNotEmpty(filteredColumns) && !searchTerm && (\n <DndContext\n collisionDetection={closestCenter}\n onDragEnd={handleDragEnd}\n >\n <SortableContext\n items={pluck(\"key\", filteredColumns)}\n strategy={verticalListSortingStrategy}\n >\n {filteredColumns.map(column => (\n <Item\n {...{\n checkboxProps,\n column,\n hiddenColumns,\n isTableConfigurationFetching,\n }}\n key={column.key}\n onToggle={handleChange}\n />\n ))}\n </SortableContext>\n </DndContext>\n )}\n {isNotEmpty(filteredColumns) &&\n searchTerm &&\n filteredColumns.map(({ key, title }) => (\n <Label\n className=\"hover:bg-accent flex w-full cursor-pointer items-center px-5 py-2\"\n htmlFor={key}\n key={key}\n >\n <Checkbox\n checked={!hiddenColumns.includes(key)}\n data-testid=\"neeto-ui-columns-checkbox\"\n id={key}\n name={key}\n onCheckedChange={checked => {\n handleChange({ target: { name: key, checked } });\n }}\n {...checkboxProps}\n />\n <span className=\"ml-2 text-sm\">{title}</span>\n </Label>\n ))}\n <Separator />\n {!!actionBlock && (\n <>\n {actionBlock}\n <Separator />\n </>\n )}\n <div className=\"flex justify-end gap-2 px-3 py-2\">\n <Button\n data-testid=\"column-visibility-hide-all-button\"\n size=\"sm\"\n variant=\"ghost\"\n onClick={handleHideAllColumns}\n >\n {t(\"neetoMolecules.columns.hideAll\")}\n </Button>\n <Button\n data-testid=\"column-visibility-reset-button\"\n size=\"sm\"\n variant=\"outline\"\n onClick={() => destroyConfiguration(tableKey)}\n >\n {t(\"neetoMolecules.columns.reset\")}\n </Button>\n </div>\n </div>\n </PopoverContent>\n </Popover>\n );\n};\n\nColumns.propTypes = {\n allowConfigurationResetOnUpdate: PropTypes.bool,\n actionBlock: PropTypes.element,\n checkboxProps: PropTypes.object,\n columnData: PropTypes.array,\n isSearchable: PropTypes.bool,\n tableKey: PropTypes.string,\n noColumnMessage: PropTypes.string,\n searchProps: PropTypes.object,\n onMutationSuccess: PropTypes.func,\n};\n\nColumns.displayName = \"Columns\";\nexport default Columns;\n"],"names":["Item","_ref","_active$data","_over$data","column","hiddenColumns","checkboxProps","onToggle","isTableConfigurationFetching","key","title","_useSortable","useSortable","id","attributes","listeners","setNodeRef","transform","transition","isDragging","isOver","over","active","dragStyle","CSS","Transform","toString","undefined","opacity","isIndicatorVisible","draggedIndex","data","current","sortable","index","targetIndex","isChecked","includes","_jsxs","children","_jsx","className","classNames","ref","style","_objectSpread","GripVertical","size","Label","htmlFor","Checkbox","checked","disabled","name","onCheckedChange","target","baseUrl","fetch","tableKey","axios","get","concat","create","payload","post","tableConfiguration","update","patch","destroy","tableConfigurationApi","HIDDEN_COLUMNS_STORAGE_KEY","COLUMNS_ORDER_STORAGE_KEY","TABLE_CONFIGURATION_QUERY_KEY","useFetchTableConfiguration","_ref$options","options","useQuery","queryKey","enabled","queryFn","useUpdateTableConfiguration","arguments","length","useMutationWithInvalidation","keysToInvalidate","useDestroyTableConfiguration","useTableConfigurations","columnData","onMutationSuccess","noop","allowConfigurationResetOnUpdate","defaultHiddenColumns","_useFetchTableConfigu","isLoading","isFetching","_useUpdateTableConfig","onSuccess","updateConfiguration","mutate","_useDestroyTableConfi","destroyConfiguration","processColumnsWithConfiguration","useCallback","originalColumns","existingColumnConfiguration","isEmpty","originalColumnsByKey","Map","filter","prop","map","configurationByKey","config","orderedConfiguredColumns","Boolean","unconfiguredOriginalColumns","has","_toConsumableArray","hasAdditionalColumns","useMemo","columns","configurationKeys","pluck","sort","dataKeys","isNotEqualDeep","shouldApplyTableConfiguration","isNotEmpty","useEffect","allProcessedColumns","isShown","customizedColumns","visibleColumnsConfig","visibleColumnKeys","updateColumns","updatedColumns","table_key","hideColumn","columnKey","showColumn","isTableConfigurationLoading","getHidableColumns","removeBy","isHidable","filterBySearchTerm","searchTerm","_ref$title","trim","toLower","Columns","actionBlock","_ref$checkboxProps","_ref$columnData","_ref$isSearchable","isSearchable","_ref$tableKey","_ref$noColumnMessage","noColumnMessage","i18next","t","_ref$searchProps","searchProps","_ref$allowConfigurati","_ref$onMutationSucces","_ref$defaultHiddenCol","_ref$buttonProps","buttonProps","_useState","useState","_useState2","_slicedToArray","setSearchTerm","_useState3","_useState4","open","setOpen","_useTranslation","useTranslation","_useTableConfiguratio","handleDragEnd","event","oldIndex","findIndexBy","newIndex","newOrder","_newOrder$splice","splice","_newOrder$splice2","movedItem","filteredColumns","handleHideAllColumns","columnsToHideKeys","assoc","handleChange","_ref2","_ref2$target","dataIndex","handleSearch","_ref3","value","Icon","icon","_buttonProps$dataTes","dataTestId","buttonLabel","label","restButtonProps","_objectWithoutProperties","_excluded","Popover","onOpenChange","isOpen","PopoverTrigger","asChild","Button","variant","PopoverContent","align","Search","Input","placeholder","type","onChange","DndContext","collisionDetection","closestCenter","onDragEnd","SortableContext","items","strategy","verticalListSortingStrategy","_createElement","_ref4","Separator","_Fragment","onClick","displayName"],"mappings":"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","x_google_ignoreList":[0]}
package/dist/Columns.js CHANGED
@@ -1,4 +1,4 @@
1
- export { C as COLUMNS_ORDER_STORAGE_KEY, H as HIDDEN_COLUMNS_STORAGE_KEY, T as TABLE_CONFIGURATION_QUERY_KEY, a as default, u as useTableConfigurations } from './Columns-BB50-jks.js';
1
+ export { C as COLUMNS_ORDER_STORAGE_KEY, H as HIDDEN_COLUMNS_STORAGE_KEY, T as TABLE_CONFIGURATION_QUERY_KEY, a as default, u as useTableConfigurations } from './Columns-D68XA-e7.js';
2
2
  import '@babel/runtime/helpers/defineProperty';
3
3
  import '@babel/runtime/helpers/toConsumableArray';
4
4
  import '@babel/runtime/helpers/slicedToArray';
@@ -17,6 +17,7 @@ import '@bigbinary/neetoui/Button';
17
17
  import 'ramda';
18
18
  import 'react-i18next';
19
19
  import './inject-css-C2dztUxs.js';
20
+ import './utilities.esm-CS21Daln.js';
20
21
  import 'classnames';
21
22
  import '@bigbinary/neeto-icons/Drag';
22
23
  import 'react/jsx-runtime';
@@ -1 +1 @@
1
- {"version":3,"file":"Columns.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Columns.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -132,6 +132,7 @@ var StatusDropdown = function StatusDropdown(_ref) {
132
132
  return document.body;
133
133
  },
134
134
  strategy: "fixed",
135
+ zIndex: 99999,
135
136
  customTarget: function customTarget() {
136
137
  return /*#__PURE__*/jsx(Target$1, _objectSpread({
137
138
  label: selectedValue