@bigbinary/neeto-molecules 4.1.49 → 4.1.51

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