@bigbinary/neeto-molecules 4.0.1 → 4.0.3

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 (34) hide show
  1. package/dist/AuditLogs.js +1 -1
  2. package/dist/CalendarView.js +1 -1
  3. package/dist/Columns.js +1 -1
  4. package/dist/PhoneNumber.js +3 -3
  5. package/dist/SessionEnvironment.js +1 -1
  6. package/dist/SubHeader.js +6 -2
  7. package/dist/SubHeader.js.map +1 -1
  8. package/dist/Taxonomy.js +1 -1
  9. package/dist/cjs/AuditLogs.js +1 -1
  10. package/dist/cjs/CalendarView.js +1 -1
  11. package/dist/cjs/Columns.js +1 -1
  12. package/dist/cjs/PhoneNumber.js +2 -2
  13. package/dist/cjs/SessionEnvironment.js +1 -1
  14. package/dist/cjs/SubHeader.js +6 -2
  15. package/dist/cjs/SubHeader.js.map +1 -1
  16. package/dist/cjs/Taxonomy.js +1 -1
  17. package/dist/cjs/{phone-number-BE-Z-FwN.js → phone-number-C93qn93_.js} +7 -1
  18. package/dist/cjs/{phone-number-BE-Z-FwN.js.map → phone-number-C93qn93_.js.map} +1 -1
  19. package/dist/cjs/{useColumns-XlhUVahw.js → useColumns-Bg0ZzPdJ.js} +23 -11
  20. package/dist/cjs/useColumns-Bg0ZzPdJ.js.map +1 -0
  21. package/dist/{phone-number-BPy1zqqJ.js → phone-number-CSXPpNBP.js} +7 -1
  22. package/dist/{phone-number-BPy1zqqJ.js.map → phone-number-CSXPpNBP.js.map} +1 -1
  23. package/dist/{useColumns-ZmJggX3n.js → useColumns-B7aUtolF.js} +24 -12
  24. package/dist/useColumns-B7aUtolF.js.map +1 -0
  25. package/package.json +1 -1
  26. package/src/translations/de.json +2 -1
  27. package/src/translations/en.json +1 -0
  28. package/src/translations/es.json +2 -1
  29. package/src/translations/fr.json +2 -1
  30. package/src/translations/nl.json +2 -1
  31. package/src/translations/pl.json +2 -1
  32. package/src/translations/pt.json +2 -1
  33. package/dist/cjs/useColumns-XlhUVahw.js.map +0 -1
  34. package/dist/useColumns-ZmJggX3n.js.map +0 -1
@@ -6,7 +6,7 @@ import { useCallback, useMemo, useEffect, useState, createElement } from 'react'
6
6
  import { DndContext } from '@dnd-kit/core';
7
7
  import { useSortable, SortableContext } from '@dnd-kit/sortable';
8
8
  import i18next from 'i18next';
9
- import { isNotEqualDeep, isNotEmpty, removeBy, existsBy, findIndexBy } from '@bigbinary/neeto-cist';
9
+ import { isNotEqualDeep, isNotEmpty, noop, removeBy, existsBy, findIndexBy } from '@bigbinary/neeto-cist';
10
10
  import Search from '@bigbinary/neeto-icons/Search';
11
11
  import Checkbox from '@bigbinary/neetoui/Checkbox';
12
12
  import Dropdown from '@bigbinary/neetoui/Dropdown';
@@ -173,27 +173,35 @@ var useFetchTableConfiguration = function useFetchTableConfiguration(_ref) {
173
173
  }, options));
174
174
  };
175
175
  var useUpdateTableConfiguration = function useUpdateTableConfiguration(tableKey) {
176
- return useMutationWithInvalidation(tableConfigurationApi.update, {
176
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
177
+ return useMutationWithInvalidation(tableConfigurationApi.update, _objectSpread$3({
177
178
  keysToInvalidate: [[TABLE_CONFIGURATION_QUERY_KEY, tableKey]]
178
- });
179
+ }, options));
179
180
  };
180
181
  var useDestroyTableConfiguration = function useDestroyTableConfiguration(tableKey) {
181
- return useMutationWithInvalidation(tableConfigurationApi.destroy, {
182
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
183
+ return useMutationWithInvalidation(tableConfigurationApi.destroy, _objectSpread$3({
182
184
  keysToInvalidate: [[TABLE_CONFIGURATION_QUERY_KEY, tableKey]]
183
- });
185
+ }, options));
184
186
  };
185
187
 
186
188
  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; }
187
189
  function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
188
190
  var useTableConfigurations = function useTableConfigurations(tableKey, columnData) {
191
+ var onMutationSuccess = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : noop;
192
+ var allowConfigurationResetOnUpdate = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
189
193
  var _useFetchTableConfigu = useFetchTableConfiguration({
190
194
  tableKey: tableKey
191
195
  }),
192
196
  tableConfiguration = _useFetchTableConfigu.data,
193
197
  isLoading = _useFetchTableConfigu.isLoading;
194
- var _useUpdateTableConfig = useUpdateTableConfiguration(tableKey),
198
+ var _useUpdateTableConfig = useUpdateTableConfiguration(tableKey, {
199
+ onSuccess: onMutationSuccess
200
+ }),
195
201
  updateConfiguration = _useUpdateTableConfig.mutate;
196
- var _useDestroyTableConfi = useDestroyTableConfiguration(tableKey),
202
+ var _useDestroyTableConfi = useDestroyTableConfiguration(tableKey, {
203
+ onSuccess: onMutationSuccess
204
+ }),
197
205
  destroyConfiguration = _useDestroyTableConfi.mutate;
198
206
  var processColumnsWithConfiguration = useCallback(function () {
199
207
  var originalColumns = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
@@ -227,10 +235,10 @@ var useTableConfigurations = function useTableConfigurations(tableKey, columnDat
227
235
  return !isLoading && (tableConfiguration === null || tableConfiguration === void 0 ? void 0 : tableConfiguration.columns) && isNotEmpty(tableConfiguration === null || tableConfiguration === void 0 ? void 0 : tableConfiguration.columns) && !hasAdditionalColumns;
228
236
  }, [tableConfiguration, isLoading, hasAdditionalColumns]);
229
237
  useEffect(function () {
230
- if (hasAdditionalColumns && tableConfiguration) {
238
+ if (hasAdditionalColumns && tableConfiguration && allowConfigurationResetOnUpdate) {
231
239
  destroyConfiguration(tableKey);
232
240
  }
233
- }, [hasAdditionalColumns, tableKey]);
241
+ }, [hasAdditionalColumns, tableKey, allowConfigurationResetOnUpdate]);
234
242
  var allProcessedColumns = useMemo(function () {
235
243
  if (!isLoading && isNotEmpty(tableConfiguration === null || tableConfiguration === void 0 ? void 0 : tableConfiguration.columns) && !hasAdditionalColumns) {
236
244
  return processColumnsWithConfiguration(columnData, tableConfiguration === null || tableConfiguration === void 0 ? void 0 : tableConfiguration.columns);
@@ -319,7 +327,7 @@ var removeDeletedColumns = function removeDeletedColumns(hiddenColumns, columnDa
319
327
  });
320
328
  };
321
329
 
322
- var _excluded$1 = ["actionBlock", "checkboxProps", "columnData", "isSearchable", "tableKey", "noColumnMessage", "searchProps"];
330
+ var _excluded$1 = ["actionBlock", "checkboxProps", "columnData", "isSearchable", "tableKey", "noColumnMessage", "searchProps", "allowConfigurationResetOnUpdate", "onMutationSuccess"];
323
331
  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; }
324
332
  function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
325
333
  var Columns = function Columns(_ref) {
@@ -336,6 +344,10 @@ var Columns = function Columns(_ref) {
336
344
  noColumnMessage = _ref$noColumnMessage === void 0 ? i18next.t("neetoMolecules.columns.noColumns") : _ref$noColumnMessage,
337
345
  _ref$searchProps = _ref.searchProps,
338
346
  searchProps = _ref$searchProps === void 0 ? {} : _ref$searchProps,
347
+ _ref$allowConfigurati = _ref.allowConfigurationResetOnUpdate,
348
+ allowConfigurationResetOnUpdate = _ref$allowConfigurati === void 0 ? true : _ref$allowConfigurati,
349
+ _ref$onMutationSucces = _ref.onMutationSuccess,
350
+ onMutationSuccess = _ref$onMutationSucces === void 0 ? noop : _ref$onMutationSucces,
339
351
  dropdownProps = _objectWithoutProperties(_ref, _excluded$1);
340
352
  var Divider = Dropdown.Divider,
341
353
  Menu = Dropdown.Menu,
@@ -346,7 +358,7 @@ var Columns = function Columns(_ref) {
346
358
  setSearchTerm = _useState2[1];
347
359
  var _useTranslation = useTranslation(),
348
360
  t = _useTranslation.t;
349
- var _useTableConfiguratio = useTableConfigurations(tableKey, columnData),
361
+ var _useTableConfiguratio = useTableConfigurations(tableKey, columnData, onMutationSuccess, allowConfigurationResetOnUpdate),
350
362
  allProcessedColumns = _useTableConfiguratio.allProcessedColumns,
351
363
  existingColumnConfiguration = _useTableConfiguratio.existingColumnConfiguration,
352
364
  hideColumn = _useTableConfiguratio.hideColumn,
@@ -565,4 +577,4 @@ var useColumns = function useColumns(_ref) {
565
577
  };
566
578
 
567
579
  export { Columns as C, HIDDEN_COLUMNS_STORAGE_KEY as H, TABLE_CONFIGURATION_QUERY_KEY as T, useHiddenColumns as a, useHiddenColumnStore as b, COLUMNS_ORDER_STORAGE_KEY as c, useColumns as d, useColumnOrderStore as e, useTableConfigurations as u };
568
- //# sourceMappingURL=useColumns-ZmJggX3n.js.map
580
+ //# sourceMappingURL=useColumns-B7aUtolF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useColumns-B7aUtolF.js","sources":["../node_modules/@dnd-kit/utilities/dist/utilities.esm.js","../src/components/Columns/Item.jsx","../src/components/Columns/api.js","../src/components/Columns/constants.js","../src/components/Columns/useTableConfigurationsApi.js","../src/components/Columns/useTableConfigurations.js","../src/components/Columns/utils.js","../src/components/Columns/Columns.jsx","../src/components/Columns/useHiddenColumns.js","../src/components/Columns/useColumns.js"],"sourcesContent":["import { useMemo, useLayoutEffect, useEffect, useRef, useCallback } from 'react';\n\nfunction useCombinedRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return useMemo(() => node => {\n refs.forEach(ref => ref(node));\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n refs);\n}\n\n// https://github.com/facebook/react/blob/master/packages/shared/ExecutionEnvironment.js\nconst canUseDOM = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';\n\nfunction isWindow(element) {\n const elementString = Object.prototype.toString.call(element);\n return elementString === '[object Window]' || // In Electron context the Window object serializes to [object global]\n elementString === '[object global]';\n}\n\nfunction isNode(node) {\n return 'nodeType' in node;\n}\n\nfunction getWindow(target) {\n var _target$ownerDocument, _target$ownerDocument2;\n\n if (!target) {\n return window;\n }\n\n if (isWindow(target)) {\n return target;\n }\n\n if (!isNode(target)) {\n return window;\n }\n\n return (_target$ownerDocument = (_target$ownerDocument2 = target.ownerDocument) == null ? void 0 : _target$ownerDocument2.defaultView) != null ? _target$ownerDocument : window;\n}\n\nfunction isDocument(node) {\n const {\n Document\n } = getWindow(node);\n return node instanceof Document;\n}\n\nfunction isHTMLElement(node) {\n if (isWindow(node)) {\n return false;\n }\n\n return node instanceof getWindow(node).HTMLElement;\n}\n\nfunction isSVGElement(node) {\n return node instanceof getWindow(node).SVGElement;\n}\n\nfunction getOwnerDocument(target) {\n if (!target) {\n return document;\n }\n\n if (isWindow(target)) {\n return target.document;\n }\n\n if (!isNode(target)) {\n return document;\n }\n\n if (isDocument(target)) {\n return target;\n }\n\n if (isHTMLElement(target) || isSVGElement(target)) {\n return target.ownerDocument;\n }\n\n return document;\n}\n\n/**\r\n * A hook that resolves to useEffect on the server and useLayoutEffect on the client\r\n * @param callback {function} Callback function that is invoked when the dependencies of the hook change\r\n */\n\nconst useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\n\nfunction useEvent(handler) {\n const handlerRef = useRef(handler);\n useIsomorphicLayoutEffect(() => {\n handlerRef.current = handler;\n });\n return useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return handlerRef.current == null ? void 0 : handlerRef.current(...args);\n }, []);\n}\n\nfunction useInterval() {\n const intervalRef = useRef(null);\n const set = useCallback((listener, duration) => {\n intervalRef.current = setInterval(listener, duration);\n }, []);\n const clear = useCallback(() => {\n if (intervalRef.current !== null) {\n clearInterval(intervalRef.current);\n intervalRef.current = null;\n }\n }, []);\n return [set, clear];\n}\n\nfunction useLatestValue(value, dependencies) {\n if (dependencies === void 0) {\n dependencies = [value];\n }\n\n const valueRef = useRef(value);\n useIsomorphicLayoutEffect(() => {\n if (valueRef.current !== value) {\n valueRef.current = value;\n }\n }, dependencies);\n return valueRef;\n}\n\nfunction useLazyMemo(callback, dependencies) {\n const valueRef = useRef();\n return useMemo(() => {\n const newValue = callback(valueRef.current);\n valueRef.current = newValue;\n return newValue;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [...dependencies]);\n}\n\nfunction useNodeRef(onChange) {\n const onChangeHandler = useEvent(onChange);\n const node = useRef(null);\n const setNodeRef = useCallback(element => {\n if (element !== node.current) {\n onChangeHandler == null ? void 0 : onChangeHandler(element, node.current);\n }\n\n node.current = element;\n }, //eslint-disable-next-line\n []);\n return [node, setNodeRef];\n}\n\nfunction usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n\nlet ids = {};\nfunction useUniqueId(prefix, value) {\n return useMemo(() => {\n if (value) {\n return value;\n }\n\n const id = ids[prefix] == null ? 0 : ids[prefix] + 1;\n ids[prefix] = id;\n return prefix + \"-\" + id;\n }, [prefix, value]);\n}\n\nfunction createAdjustmentFn(modifier) {\n return function (object) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((accumulator, adjustment) => {\n const entries = Object.entries(adjustment);\n\n for (const [key, valueAdjustment] of entries) {\n const value = accumulator[key];\n\n if (value != null) {\n accumulator[key] = value + modifier * valueAdjustment;\n }\n }\n\n return accumulator;\n }, { ...object\n });\n };\n}\n\nconst add = /*#__PURE__*/createAdjustmentFn(1);\nconst subtract = /*#__PURE__*/createAdjustmentFn(-1);\n\nfunction hasViewportRelativeCoordinates(event) {\n return 'clientX' in event && 'clientY' in event;\n}\n\nfunction isKeyboardEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n KeyboardEvent\n } = getWindow(event.target);\n return KeyboardEvent && event instanceof KeyboardEvent;\n}\n\nfunction isTouchEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n TouchEvent\n } = getWindow(event.target);\n return TouchEvent && event instanceof TouchEvent;\n}\n\n/**\r\n * Returns the normalized x and y coordinates for mouse and touch events.\r\n */\n\nfunction getEventCoordinates(event) {\n if (isTouchEvent(event)) {\n if (event.touches && event.touches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.touches[0];\n return {\n x,\n y\n };\n } else if (event.changedTouches && event.changedTouches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.changedTouches[0];\n return {\n x,\n y\n };\n }\n }\n\n if (hasViewportRelativeCoordinates(event)) {\n return {\n x: event.clientX,\n y: event.clientY\n };\n }\n\n return null;\n}\n\nconst CSS = /*#__PURE__*/Object.freeze({\n Translate: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n x,\n y\n } = transform;\n return \"translate3d(\" + (x ? Math.round(x) : 0) + \"px, \" + (y ? Math.round(y) : 0) + \"px, 0)\";\n }\n\n },\n Scale: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n scaleX,\n scaleY\n } = transform;\n return \"scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\";\n }\n\n },\n Transform: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n return [CSS.Translate.toString(transform), CSS.Scale.toString(transform)].join(' ');\n }\n\n },\n Transition: {\n toString(_ref) {\n let {\n property,\n duration,\n easing\n } = _ref;\n return property + \" \" + duration + \"ms \" + easing;\n }\n\n }\n});\n\nconst SELECTOR = 'a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]';\nfunction findFirstFocusableNode(element) {\n if (element.matches(SELECTOR)) {\n return element;\n }\n\n return element.querySelector(SELECTOR);\n}\n\nexport { CSS, add, canUseDOM, findFirstFocusableNode, getEventCoordinates, getOwnerDocument, getWindow, hasViewportRelativeCoordinates, isDocument, isHTMLElement, isKeyboardEvent, isNode, isSVGElement, isTouchEvent, isWindow, subtract, useCombinedRefs, useEvent, useInterval, useIsomorphicLayoutEffect, useLatestValue, useLazyMemo, useNodeRef, usePrevious, useUniqueId };\n//# sourceMappingURL=utilities.esm.js.map\n","import { useSortable } from \"@dnd-kit/sortable\";\nimport { CSS } from \"@dnd-kit/utilities\";\nimport { Drag } from \"neetoicons\";\nimport { Checkbox, Label } from \"neetoui\";\n\nconst Item = ({ column, hiddenColumns, checkboxProps, onToggle }) => {\n const { key, title } = column;\n const {\n attributes,\n listeners,\n setNodeRef,\n transform,\n transition,\n isDragging,\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 return (\n <div\n className=\"neeto-molecules-columns__sortable-item\"\n ref={setNodeRef}\n style={dragStyle}\n >\n <Label\n className=\"neeto-ui-flex neeto-ui-w-full hover:neeto-ui-bg-gray-200 neeto-ui-cursor-pointer neeto-ui-items-center px-4 py-2\"\n htmlFor={key}\n >\n <div\n {...attributes}\n {...listeners}\n className=\"neeto-ui-mr-2 neeto-ui-cursor-grab neeto-ui-flex neeto-ui-items-center\"\n >\n <Drag className=\"neeto-ui-text-gray-400\" size={16} />\n </div>\n <Checkbox\n checked={!hiddenColumns.includes(key)}\n data-cy=\"neeto-ui-columns-checkbox\"\n id={key}\n label={title}\n name={key}\n onChange={onToggle}\n {...checkboxProps}\n />\n </Label>\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) => {\n const { data: tableConfiguration, isLoading } = useFetchTableConfiguration({\n tableKey,\n });\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 customizedColumns = useMemo(() => {\n if (shouldApplyTableConfiguration) {\n const visibleColumnKeys = pluck(\n \"key\",\n tableConfiguration.columns.filter(prop(\"isShown\"))\n );\n\n return allProcessedColumns.filter(column =>\n visibleColumnKeys.includes(column.key)\n );\n }\n\n return columnData || [];\n }, [\n allProcessedColumns,\n columnData,\n tableConfiguration?.columns,\n shouldApplyTableConfiguration,\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 => ({ key: column.key, isShown: true }));\n }, [shouldApplyTableConfiguration, columnData, tableConfiguration?.columns]);\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 const reorderColumns = newOrder => {\n updateColumns(newOrder);\n };\n\n return {\n customizedColumns, // Only visible columns (for displaying the columns in the table)\n allProcessedColumns, // All columns (for displaying the columns in the Subheader)\n isTableConfigurationLoading: isLoading,\n existingColumnConfiguration,\n hideColumn,\n showColumn,\n reorderColumns,\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 }) => 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 { DndContext } from \"@dnd-kit/core\";\nimport { SortableContext } from \"@dnd-kit/sortable\";\nimport i18next from \"i18next\";\nimport { isNotEmpty, findIndexBy, noop } from \"neetocist\";\nimport { Search } from \"neetoicons\";\nimport { Checkbox, Dropdown, Input, Label, Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty, pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport \"./columns.scss\";\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 ...dropdownProps\n}) => {\n const { Divider, Menu, MenuItem } = Dropdown;\n const [searchTerm, setSearchTerm] = useState(\"\");\n const { t } = useTranslation();\n\n const {\n allProcessedColumns,\n existingColumnConfiguration,\n hideColumn,\n showColumn,\n reorderColumns,\n destroyConfiguration,\n } = useTableConfigurations(\n tableKey,\n columnData,\n onMutationSuccess,\n allowConfigurationResetOnUpdate\n );\n\n const hiddenColumns = pluck(\n \"key\",\n existingColumnConfiguration.filter(column => !column.isShown)\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 reorderColumns(newOrder);\n };\n\n const columns = getHidableColumns(allProcessedColumns);\n const filteredColumns = filterBySearchTerm(searchTerm, columns);\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 return (\n <Dropdown\n appendTo={document.body}\n buttonSize=\"medium\"\n buttonStyle=\"text\"\n closeOnSelect={false}\n position=\"bottom-end\"\n onClose={() => setSearchTerm(\"\")}\n {...dropdownProps}\n >\n <Menu>\n <div className=\"neeto-molecules-columns__container\">\n {isSearchable && (\n <Input\n className=\"px-4 py-2\"\n data-cy=\"neeto-ui-columns-search\"\n data-testid=\"neeto-ui-columns-search\"\n placeholder={t(\"neetoMolecules.columns.search\")}\n prefix={<Search />}\n type=\"search\"\n value={searchTerm}\n onChange={handleSearch}\n {...searchProps}\n />\n )}\n {isEmpty(filteredColumns) && (\n <span className=\"neeto-ui-flex neeto-ui-flex-col neeto-ui-items-center neeto-ui-p-2\">\n {noColumnMessage}\n </span>\n )}\n {isNotEmpty(filteredColumns) && !searchTerm && (\n <DndContext onDragEnd={handleDragEnd}>\n <SortableContext items={pluck(\"key\", filteredColumns)}>\n {filteredColumns.map(column => (\n <Item\n {...{ checkboxProps, column, hiddenColumns }}\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 <MenuItem key={key}>\n <Label\n className=\"neeto-ui-flex neeto-ui-w-full hover:neeto-ui-bg-gray-200 neeto-ui-cursor-pointer px-4 py-2\"\n htmlFor={key}\n >\n <Checkbox\n checked={!hiddenColumns.includes(key)}\n data-cy=\"neeto-ui-columns-checkbox\"\n id={key}\n label={title}\n name={key}\n onChange={handleChange}\n {...checkboxProps}\n />\n </Label>\n </MenuItem>\n ))}\n <Divider />\n {!!actionBlock && (\n <>\n {actionBlock}\n <Divider />\n </>\n )}\n <div className=\"flex justify-end p-1 pr-3\">\n <Button\n data-cy=\"column-visibility-reset-button\"\n label={t(\"neetoMolecules.columns.reset\")}\n style=\"secondary\"\n onClick={() => destroyConfiguration(tableKey)}\n />\n </div>\n </div>\n </Menu>\n </Dropdown>\n );\n};\n\nColumns.propTypes = {\n /**\n * Controls whether the table configuration should be reset on adding custom fields (optional).\n */\n allowConfigurationResetOnUpdate: PropTypes.bool,\n /**\n * Extra action items that can be added at the end of the dropdown (optional).\n */\n actionBlock: PropTypes.element,\n /**\n * Additional props for the checkboxes in the dropdown (optional).\n */\n checkboxProps: PropTypes.object,\n /**\n * The list of columns from which the dropdown options are built (required).\n */\n columnData: PropTypes.array,\n /**\n * Controls whether the dropdown options should be searchable (optional).\n */\n isSearchable: PropTypes.bool,\n /**\n * The table key used to identify table configuration in the API (required).\n */\n tableKey: PropTypes.string,\n /**\n * The message to be shown when there are no columns to be displayed in the dropdown (optional).\n */\n noColumnMessage: PropTypes.string,\n /**\n * Props to be passed to the search input in the column dropdown. Only works when `isSearchable` is set to `true` (optional).\n */\n searchProps: PropTypes.object,\n /**\n * The function will be called when the mutation is successful (optional).\n */\n onMutationSuccess: PropTypes.func,\n};\n\nColumns.displayName = \"Columns\";\nexport default Columns;\n","import { useEffect } from \"react\";\n\nimport { removeBy } from \"neetocist\";\nimport {\n getFromLocalStorage,\n removeFromLocalStorage,\n} from \"neetocommons/utils/general\";\nimport { __, without, includes, isEmpty, equals, union } from \"ramda\";\nimport { create } from \"zustand\";\nimport { persist } from \"zustand/middleware\";\n\nimport { HIDDEN_COLUMNS_STORAGE_KEY } from \"./constants\";\nimport { removeDeletedColumns } from \"./utils\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useHiddenColumnStore = create(\n persist(() => ({}), { name: HIDDEN_COLUMNS_STORAGE_KEY })\n);\n\nconst useHiddenColumns = (localStorageKey, initialValue = []) => {\n const hiddenColumns = useHiddenColumnStore(state => state[localStorageKey]);\n const setHiddenColumns = columns =>\n useHiddenColumnStore.setState({ [localStorageKey]: columns });\n\n // Migrates values from old location to new zustand location.\n useEffect(() => {\n const oldValue = getFromLocalStorage(localStorageKey);\n if (oldValue) {\n setHiddenColumns(oldValue);\n removeFromLocalStorage(localStorageKey);\n } else if (!hiddenColumns) {\n setHiddenColumns(initialValue);\n }\n }, [localStorageKey]);\n\n const hideColumn = columns =>\n setHiddenColumns(\n union(hiddenColumns, Array.isArray(columns) ? columns : [columns])\n );\n\n const showColumn = columns =>\n setHiddenColumns(\n without(Array.isArray(columns) ? columns : [columns], hiddenColumns)\n );\n\n const getVisibleColumnData = columnData =>\n removeBy({ dataIndex: includes(__, hiddenColumns || []) }, columnData);\n\n const onColumnDataChange = columnData => {\n if (isEmpty(columnData) || !hiddenColumns) return;\n const newHiddenColumns = removeDeletedColumns(hiddenColumns, columnData);\n if (!equals(newHiddenColumns, hiddenColumns)) {\n setHiddenColumns(newHiddenColumns);\n }\n };\n\n return {\n hiddenColumns,\n hideColumn,\n showColumn,\n getVisibleColumnData,\n onColumnDataChange,\n };\n};\n\nexport { useHiddenColumns, useHiddenColumnStore };\n","import { identity, isEmpty, pipe } from \"ramda\";\nimport { create } from \"zustand\";\nimport { persist } from \"zustand/middleware\";\n\nimport { COLUMNS_ORDER_STORAGE_KEY } from \"./constants\";\nimport { useHiddenColumns } from \"./useHiddenColumns\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useColumnOrderStore = create(\n persist(() => ({}), { name: COLUMNS_ORDER_STORAGE_KEY })\n);\n\nconst useColumns = ({\n localStorageKey,\n initialHiddenColumns,\n initialOrder = [],\n}) => {\n const columnOrder =\n useColumnOrderStore(state => state[localStorageKey]) || initialOrder;\n\n const setColumnOrder = columns =>\n useColumnOrderStore.setState({ [localStorageKey]: columns });\n\n const { hiddenColumns, getVisibleColumnData, ...hiddenColumnHelpers } =\n useHiddenColumns(localStorageKey, initialHiddenColumns);\n\n const orderColumns = columnData => {\n if (isEmpty(columnOrder)) return columnData;\n\n return columnData.sort((a, b) => {\n if (\n !columnOrder.includes(a.dataIndex) ||\n !columnOrder.includes(b.dataIndex)\n ) {\n return 0;\n }\n\n return (\n columnOrder.indexOf(a.dataIndex) - columnOrder.indexOf(b.dataIndex)\n );\n });\n };\n\n const getColumnData = ({\n columnData,\n isHidable = true,\n isReOrderable = false,\n }) =>\n pipe(\n isHidable ? getVisibleColumnData : identity,\n isReOrderable ? orderColumns : identity\n )(columnData);\n\n return {\n ...hiddenColumnHelpers,\n hiddenColumns,\n columnOrder,\n getVisibleColumnData,\n setColumnOrder,\n getColumnData,\n };\n};\n\nexport { useColumns, useColumnOrderStore };\n"],"names":["Item","_ref","column","hiddenColumns","checkboxProps","onToggle","key","title","_useSortable","useSortable","id","attributes","listeners","setNodeRef","transform","transition","isDragging","dragStyle","CSS","Transform","toString","undefined","opacity","_jsx","className","ref","style","children","_jsxs","Label","htmlFor","_objectSpread","Drag","size","Checkbox","checked","includes","label","name","onChange","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","_useFetchTableConfigu","data","isLoading","_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","customizedColumns","visibleColumnKeys","isShown","updateColumns","updatedColumns","table_key","hideColumn","columnKey","showColumn","reorderColumns","newOrder","isTableConfigurationLoading","getHidableColumns","removeBy","isHidable","filterBySearchTerm","searchTerm","trim","toLower","removeDeletedColumns","hiddenColumn","existsBy","dataIndex","Columns","actionBlock","_ref$checkboxProps","_ref$columnData","_ref$isSearchable","isSearchable","_ref$tableKey","_ref$noColumnMessage","noColumnMessage","i18next","t","_ref$searchProps","searchProps","_ref$allowConfigurati","_ref$onMutationSucces","dropdownProps","_objectWithoutProperties","_excluded","Divider","Dropdown","Menu","MenuItem","_useState","useState","_useState2","_slicedToArray","setSearchTerm","_useTranslation","useTranslation","_useTableConfiguratio","handleDragEnd","event","active","over","oldIndex","findIndexBy","newIndex","_newOrder$splice","splice","_newOrder$splice2","movedItem","filteredColumns","handleChange","_ref2","_ref2$target","target","handleSearch","_ref3","value","appendTo","document","body","buttonSize","buttonStyle","closeOnSelect","position","onClose","Input","placeholder","prefix","Search","type","DndContext","onDragEnd","SortableContext","items","_createElement","_ref4","_Fragment","Button","onClick","displayName","useHiddenColumnStore","persist","useHiddenColumns","localStorageKey","initialValue","state","setHiddenColumns","setState","_defineProperty","oldValue","getFromLocalStorage","removeFromLocalStorage","union","Array","isArray","without","getVisibleColumnData","__","onColumnDataChange","newHiddenColumns","equals","useColumnOrderStore","useColumns","initialHiddenColumns","_ref$initialOrder","initialOrder","columnOrder","setColumnOrder","_useHiddenColumns","hiddenColumnHelpers","orderColumns","a","b","indexOf","getColumnData","_ref2$isHidable","_ref2$isReOrderable","isReOrderable","pipe","identity"],"mappings":"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","x_google_ignoreList":[0]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-molecules",
3
- "version": "4.0.1",
3
+ "version": "4.0.3",
4
4
  "description": "A package of reusable molecular components for neeto products.",
5
5
  "repository": "git@github.com:bigbinary/neeto-molecules.git",
6
6
  "author": "Amaljith K <amaljith.k@bigbinary.com>",
@@ -530,7 +530,8 @@
530
530
  "placeholder": "{{prefix}} Telefonnummer eingeben",
531
531
  "validations": {
532
532
  "invalid": "Telefonnummer ist ungültig"
533
- }
533
+ },
534
+ "countryCodeAriaLabel": "Wählen Sie den Ländercode aus"
534
535
  },
535
536
  "codeblock": {
536
537
  "codeSnippet": "Codeausschnitt"
@@ -534,6 +534,7 @@
534
534
  },
535
535
  "phoneNumberInput": {
536
536
  "placeholder": "{{prefix}} type phone number",
537
+ "countryCodeAriaLabel": "Select country code",
537
538
  "validations": {
538
539
  "invalid": "Phone number is invalid"
539
540
  }
@@ -530,7 +530,8 @@
530
530
  "placeholder": "{{prefix}} tipo número de teléfono",
531
531
  "validations": {
532
532
  "invalid": "El número de teléfono no es válido"
533
- }
533
+ },
534
+ "countryCodeAriaLabel": "Seleccionar código de país"
534
535
  },
535
536
  "codeblock": {
536
537
  "codeSnippet": "Fragmento de código"
@@ -530,7 +530,8 @@
530
530
  "placeholder": "{{prefix}} tapez le numéro de téléphone",
531
531
  "validations": {
532
532
  "invalid": "Le numéro de téléphone est invalide"
533
- }
533
+ },
534
+ "countryCodeAriaLabel": "Sélectionnez le code pays"
534
535
  },
535
536
  "codeblock": {
536
537
  "codeSnippet": "Extrait de code"
@@ -530,7 +530,8 @@
530
530
  "placeholder": "{{prefix}} typ telefoonnummer",
531
531
  "validations": {
532
532
  "invalid": "Telefoonnummer is onjuist"
533
- }
533
+ },
534
+ "countryCodeAriaLabel": "Selecteer landcode"
534
535
  },
535
536
  "codeblock": {
536
537
  "codeSnippet": "Codefragment"
@@ -530,7 +530,8 @@
530
530
  "placeholder": "{{prefix}} wpisz numer telefonu",
531
531
  "validations": {
532
532
  "invalid": "Numer telefonu jest nieprawidłowy"
533
- }
533
+ },
534
+ "countryCodeAriaLabel": "Wybierz kod kraju"
534
535
  },
535
536
  "codeblock": {
536
537
  "codeSnippet": "Fragment kodu"
@@ -530,7 +530,8 @@
530
530
  "placeholder": "{{prefix}} digite o número de telefone",
531
531
  "validations": {
532
532
  "invalid": "Número de telefone é inválido"
533
- }
533
+ },
534
+ "countryCodeAriaLabel": "Selecione o código do país"
534
535
  },
535
536
  "codeblock": {
536
537
  "codeSnippet": "Trecho de código"
@@ -1 +0,0 @@
1
- {"version":3,"file":"useColumns-XlhUVahw.js","sources":["../../node_modules/@dnd-kit/utilities/dist/utilities.esm.js","../../src/components/Columns/Item.jsx","../../src/components/Columns/api.js","../../src/components/Columns/constants.js","../../src/components/Columns/useTableConfigurationsApi.js","../../src/components/Columns/useTableConfigurations.js","../../src/components/Columns/utils.js","../../src/components/Columns/Columns.jsx","../../src/components/Columns/useHiddenColumns.js","../../src/components/Columns/useColumns.js"],"sourcesContent":["import { useMemo, useLayoutEffect, useEffect, useRef, useCallback } from 'react';\n\nfunction useCombinedRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return useMemo(() => node => {\n refs.forEach(ref => ref(node));\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n refs);\n}\n\n// https://github.com/facebook/react/blob/master/packages/shared/ExecutionEnvironment.js\nconst canUseDOM = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';\n\nfunction isWindow(element) {\n const elementString = Object.prototype.toString.call(element);\n return elementString === '[object Window]' || // In Electron context the Window object serializes to [object global]\n elementString === '[object global]';\n}\n\nfunction isNode(node) {\n return 'nodeType' in node;\n}\n\nfunction getWindow(target) {\n var _target$ownerDocument, _target$ownerDocument2;\n\n if (!target) {\n return window;\n }\n\n if (isWindow(target)) {\n return target;\n }\n\n if (!isNode(target)) {\n return window;\n }\n\n return (_target$ownerDocument = (_target$ownerDocument2 = target.ownerDocument) == null ? void 0 : _target$ownerDocument2.defaultView) != null ? _target$ownerDocument : window;\n}\n\nfunction isDocument(node) {\n const {\n Document\n } = getWindow(node);\n return node instanceof Document;\n}\n\nfunction isHTMLElement(node) {\n if (isWindow(node)) {\n return false;\n }\n\n return node instanceof getWindow(node).HTMLElement;\n}\n\nfunction isSVGElement(node) {\n return node instanceof getWindow(node).SVGElement;\n}\n\nfunction getOwnerDocument(target) {\n if (!target) {\n return document;\n }\n\n if (isWindow(target)) {\n return target.document;\n }\n\n if (!isNode(target)) {\n return document;\n }\n\n if (isDocument(target)) {\n return target;\n }\n\n if (isHTMLElement(target) || isSVGElement(target)) {\n return target.ownerDocument;\n }\n\n return document;\n}\n\n/**\r\n * A hook that resolves to useEffect on the server and useLayoutEffect on the client\r\n * @param callback {function} Callback function that is invoked when the dependencies of the hook change\r\n */\n\nconst useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\n\nfunction useEvent(handler) {\n const handlerRef = useRef(handler);\n useIsomorphicLayoutEffect(() => {\n handlerRef.current = handler;\n });\n return useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return handlerRef.current == null ? void 0 : handlerRef.current(...args);\n }, []);\n}\n\nfunction useInterval() {\n const intervalRef = useRef(null);\n const set = useCallback((listener, duration) => {\n intervalRef.current = setInterval(listener, duration);\n }, []);\n const clear = useCallback(() => {\n if (intervalRef.current !== null) {\n clearInterval(intervalRef.current);\n intervalRef.current = null;\n }\n }, []);\n return [set, clear];\n}\n\nfunction useLatestValue(value, dependencies) {\n if (dependencies === void 0) {\n dependencies = [value];\n }\n\n const valueRef = useRef(value);\n useIsomorphicLayoutEffect(() => {\n if (valueRef.current !== value) {\n valueRef.current = value;\n }\n }, dependencies);\n return valueRef;\n}\n\nfunction useLazyMemo(callback, dependencies) {\n const valueRef = useRef();\n return useMemo(() => {\n const newValue = callback(valueRef.current);\n valueRef.current = newValue;\n return newValue;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [...dependencies]);\n}\n\nfunction useNodeRef(onChange) {\n const onChangeHandler = useEvent(onChange);\n const node = useRef(null);\n const setNodeRef = useCallback(element => {\n if (element !== node.current) {\n onChangeHandler == null ? void 0 : onChangeHandler(element, node.current);\n }\n\n node.current = element;\n }, //eslint-disable-next-line\n []);\n return [node, setNodeRef];\n}\n\nfunction usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n\nlet ids = {};\nfunction useUniqueId(prefix, value) {\n return useMemo(() => {\n if (value) {\n return value;\n }\n\n const id = ids[prefix] == null ? 0 : ids[prefix] + 1;\n ids[prefix] = id;\n return prefix + \"-\" + id;\n }, [prefix, value]);\n}\n\nfunction createAdjustmentFn(modifier) {\n return function (object) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((accumulator, adjustment) => {\n const entries = Object.entries(adjustment);\n\n for (const [key, valueAdjustment] of entries) {\n const value = accumulator[key];\n\n if (value != null) {\n accumulator[key] = value + modifier * valueAdjustment;\n }\n }\n\n return accumulator;\n }, { ...object\n });\n };\n}\n\nconst add = /*#__PURE__*/createAdjustmentFn(1);\nconst subtract = /*#__PURE__*/createAdjustmentFn(-1);\n\nfunction hasViewportRelativeCoordinates(event) {\n return 'clientX' in event && 'clientY' in event;\n}\n\nfunction isKeyboardEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n KeyboardEvent\n } = getWindow(event.target);\n return KeyboardEvent && event instanceof KeyboardEvent;\n}\n\nfunction isTouchEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n TouchEvent\n } = getWindow(event.target);\n return TouchEvent && event instanceof TouchEvent;\n}\n\n/**\r\n * Returns the normalized x and y coordinates for mouse and touch events.\r\n */\n\nfunction getEventCoordinates(event) {\n if (isTouchEvent(event)) {\n if (event.touches && event.touches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.touches[0];\n return {\n x,\n y\n };\n } else if (event.changedTouches && event.changedTouches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.changedTouches[0];\n return {\n x,\n y\n };\n }\n }\n\n if (hasViewportRelativeCoordinates(event)) {\n return {\n x: event.clientX,\n y: event.clientY\n };\n }\n\n return null;\n}\n\nconst CSS = /*#__PURE__*/Object.freeze({\n Translate: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n x,\n y\n } = transform;\n return \"translate3d(\" + (x ? Math.round(x) : 0) + \"px, \" + (y ? Math.round(y) : 0) + \"px, 0)\";\n }\n\n },\n Scale: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n scaleX,\n scaleY\n } = transform;\n return \"scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\";\n }\n\n },\n Transform: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n return [CSS.Translate.toString(transform), CSS.Scale.toString(transform)].join(' ');\n }\n\n },\n Transition: {\n toString(_ref) {\n let {\n property,\n duration,\n easing\n } = _ref;\n return property + \" \" + duration + \"ms \" + easing;\n }\n\n }\n});\n\nconst SELECTOR = 'a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]';\nfunction findFirstFocusableNode(element) {\n if (element.matches(SELECTOR)) {\n return element;\n }\n\n return element.querySelector(SELECTOR);\n}\n\nexport { CSS, add, canUseDOM, findFirstFocusableNode, getEventCoordinates, getOwnerDocument, getWindow, hasViewportRelativeCoordinates, isDocument, isHTMLElement, isKeyboardEvent, isNode, isSVGElement, isTouchEvent, isWindow, subtract, useCombinedRefs, useEvent, useInterval, useIsomorphicLayoutEffect, useLatestValue, useLazyMemo, useNodeRef, usePrevious, useUniqueId };\n//# sourceMappingURL=utilities.esm.js.map\n","import { useSortable } from \"@dnd-kit/sortable\";\nimport { CSS } from \"@dnd-kit/utilities\";\nimport { Drag } from \"neetoicons\";\nimport { Checkbox, Label } from \"neetoui\";\n\nconst Item = ({ column, hiddenColumns, checkboxProps, onToggle }) => {\n const { key, title } = column;\n const {\n attributes,\n listeners,\n setNodeRef,\n transform,\n transition,\n isDragging,\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 return (\n <div\n className=\"neeto-molecules-columns__sortable-item\"\n ref={setNodeRef}\n style={dragStyle}\n >\n <Label\n className=\"neeto-ui-flex neeto-ui-w-full hover:neeto-ui-bg-gray-200 neeto-ui-cursor-pointer neeto-ui-items-center px-4 py-2\"\n htmlFor={key}\n >\n <div\n {...attributes}\n {...listeners}\n className=\"neeto-ui-mr-2 neeto-ui-cursor-grab neeto-ui-flex neeto-ui-items-center\"\n >\n <Drag className=\"neeto-ui-text-gray-400\" size={16} />\n </div>\n <Checkbox\n checked={!hiddenColumns.includes(key)}\n data-cy=\"neeto-ui-columns-checkbox\"\n id={key}\n label={title}\n name={key}\n onChange={onToggle}\n {...checkboxProps}\n />\n </Label>\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 =>\n useMutationWithInvalidation(tableConfigurationApi.update, {\n keysToInvalidate: [[TABLE_CONFIGURATION_QUERY_KEY, tableKey]],\n });\n\nconst useDestroyTableConfiguration = tableKey =>\n useMutationWithInvalidation(tableConfigurationApi.destroy, {\n keysToInvalidate: [[TABLE_CONFIGURATION_QUERY_KEY, tableKey]],\n });\n\nexport {\n useFetchTableConfiguration,\n useUpdateTableConfiguration,\n useDestroyTableConfiguration,\n};\n","import { useEffect, useMemo, useCallback } from \"react\";\n\nimport { isNotEqualDeep, isNotEmpty } from \"neetocist\";\nimport { isEmpty, pluck, prop } from \"ramda\";\n\nimport {\n useFetchTableConfiguration,\n useUpdateTableConfiguration,\n useDestroyTableConfiguration,\n} from \"./useTableConfigurationsApi.js\";\n\nconst useTableConfigurations = (tableKey, columnData) => {\n const { data: tableConfiguration, isLoading } = useFetchTableConfiguration({\n tableKey,\n });\n const { mutate: updateConfiguration } = useUpdateTableConfiguration(tableKey);\n const { mutate: destroyConfiguration } =\n useDestroyTableConfiguration(tableKey);\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 (hasAdditionalColumns && tableConfiguration) {\n destroyConfiguration(tableKey);\n }\n }, [hasAdditionalColumns, tableKey]);\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 customizedColumns = useMemo(() => {\n if (shouldApplyTableConfiguration) {\n const visibleColumnKeys = pluck(\n \"key\",\n tableConfiguration.columns.filter(prop(\"isShown\"))\n );\n\n return allProcessedColumns.filter(column =>\n visibleColumnKeys.includes(column.key)\n );\n }\n\n return columnData || [];\n }, [\n allProcessedColumns,\n columnData,\n tableConfiguration?.columns,\n shouldApplyTableConfiguration,\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 => ({ key: column.key, isShown: true }));\n }, [shouldApplyTableConfiguration, columnData, tableConfiguration?.columns]);\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 const reorderColumns = newOrder => {\n updateColumns(newOrder);\n };\n\n return {\n customizedColumns, // Only visible columns (for displaying the columns in the table)\n allProcessedColumns, // All columns (for displaying the columns in the Subheader)\n isTableConfigurationLoading: isLoading,\n existingColumnConfiguration,\n hideColumn,\n showColumn,\n reorderColumns,\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 }) => 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 { DndContext } from \"@dnd-kit/core\";\nimport { SortableContext } from \"@dnd-kit/sortable\";\nimport i18next from \"i18next\";\nimport { isNotEmpty, findIndexBy } from \"neetocist\";\nimport { Search } from \"neetoicons\";\nimport { Checkbox, Dropdown, Input, Label, Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty, pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport \"./columns.scss\";\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 ...dropdownProps\n}) => {\n const { Divider, Menu, MenuItem } = Dropdown;\n const [searchTerm, setSearchTerm] = useState(\"\");\n const { t } = useTranslation();\n\n const {\n allProcessedColumns,\n existingColumnConfiguration,\n hideColumn,\n showColumn,\n reorderColumns,\n destroyConfiguration,\n } = useTableConfigurations(tableKey, columnData);\n\n const hiddenColumns = pluck(\n \"key\",\n existingColumnConfiguration.filter(column => !column.isShown)\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 reorderColumns(newOrder);\n };\n\n const columns = getHidableColumns(allProcessedColumns);\n const filteredColumns = filterBySearchTerm(searchTerm, columns);\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 return (\n <Dropdown\n appendTo={document.body}\n buttonSize=\"medium\"\n buttonStyle=\"text\"\n closeOnSelect={false}\n position=\"bottom-end\"\n onClose={() => setSearchTerm(\"\")}\n {...dropdownProps}\n >\n <Menu>\n <div className=\"neeto-molecules-columns__container\">\n {isSearchable && (\n <Input\n className=\"px-4 py-2\"\n data-cy=\"neeto-ui-columns-search\"\n data-testid=\"neeto-ui-columns-search\"\n placeholder={t(\"neetoMolecules.columns.search\")}\n prefix={<Search />}\n type=\"search\"\n value={searchTerm}\n onChange={handleSearch}\n {...searchProps}\n />\n )}\n {isEmpty(filteredColumns) && (\n <span className=\"neeto-ui-flex neeto-ui-flex-col neeto-ui-items-center neeto-ui-p-2\">\n {noColumnMessage}\n </span>\n )}\n {isNotEmpty(filteredColumns) && !searchTerm && (\n <DndContext onDragEnd={handleDragEnd}>\n <SortableContext items={pluck(\"key\", filteredColumns)}>\n {filteredColumns.map(column => (\n <Item\n {...{ checkboxProps, column, hiddenColumns }}\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 <MenuItem key={key}>\n <Label\n className=\"neeto-ui-flex neeto-ui-w-full hover:neeto-ui-bg-gray-200 neeto-ui-cursor-pointer px-4 py-2\"\n htmlFor={key}\n >\n <Checkbox\n checked={!hiddenColumns.includes(key)}\n data-cy=\"neeto-ui-columns-checkbox\"\n id={key}\n label={title}\n name={key}\n onChange={handleChange}\n {...checkboxProps}\n />\n </Label>\n </MenuItem>\n ))}\n <Divider />\n {!!actionBlock && (\n <>\n {actionBlock}\n <Divider />\n </>\n )}\n <div className=\"flex justify-end p-1 pr-3\">\n <Button\n data-cy=\"column-visibility-reset-button\"\n label={t(\"neetoMolecules.columns.reset\")}\n style=\"secondary\"\n onClick={() => destroyConfiguration(tableKey)}\n />\n </div>\n </div>\n </Menu>\n </Dropdown>\n );\n};\n\nColumns.propTypes = {\n /**\n * Extra action items that can be added at the end of the dropdown (optional).\n */\n actionBlock: PropTypes.element,\n /**\n * Additional props for the checkboxes in the dropdown (optional).\n */\n checkboxProps: PropTypes.object,\n /**\n * The list of columns from which the dropdown options are built (required).\n */\n columnData: PropTypes.array,\n /**\n * Controls whether the dropdown options should be searchable (optional).\n */\n isSearchable: PropTypes.bool,\n /**\n * The table key used to identify table configuration in the API (required).\n */\n tableKey: PropTypes.string,\n /**\n * The message to be shown when there are no columns to be displayed in the dropdown (optional).\n */\n noColumnMessage: PropTypes.string,\n /**\n * Props to be passed to the search input in the column dropdown. Only works when `isSearchable` is set to `true` (optional).\n */\n searchProps: PropTypes.object,\n};\n\nColumns.displayName = \"Columns\";\nexport default Columns;\n","import { useEffect } from \"react\";\n\nimport { removeBy } from \"neetocist\";\nimport {\n getFromLocalStorage,\n removeFromLocalStorage,\n} from \"neetocommons/utils/general\";\nimport { __, without, includes, isEmpty, equals, union } from \"ramda\";\nimport { create } from \"zustand\";\nimport { persist } from \"zustand/middleware\";\n\nimport { HIDDEN_COLUMNS_STORAGE_KEY } from \"./constants\";\nimport { removeDeletedColumns } from \"./utils\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useHiddenColumnStore = create(\n persist(() => ({}), { name: HIDDEN_COLUMNS_STORAGE_KEY })\n);\n\nconst useHiddenColumns = (localStorageKey, initialValue = []) => {\n const hiddenColumns = useHiddenColumnStore(state => state[localStorageKey]);\n const setHiddenColumns = columns =>\n useHiddenColumnStore.setState({ [localStorageKey]: columns });\n\n // Migrates values from old location to new zustand location.\n useEffect(() => {\n const oldValue = getFromLocalStorage(localStorageKey);\n if (oldValue) {\n setHiddenColumns(oldValue);\n removeFromLocalStorage(localStorageKey);\n } else if (!hiddenColumns) {\n setHiddenColumns(initialValue);\n }\n }, [localStorageKey]);\n\n const hideColumn = columns =>\n setHiddenColumns(\n union(hiddenColumns, Array.isArray(columns) ? columns : [columns])\n );\n\n const showColumn = columns =>\n setHiddenColumns(\n without(Array.isArray(columns) ? columns : [columns], hiddenColumns)\n );\n\n const getVisibleColumnData = columnData =>\n removeBy({ dataIndex: includes(__, hiddenColumns || []) }, columnData);\n\n const onColumnDataChange = columnData => {\n if (isEmpty(columnData) || !hiddenColumns) return;\n const newHiddenColumns = removeDeletedColumns(hiddenColumns, columnData);\n if (!equals(newHiddenColumns, hiddenColumns)) {\n setHiddenColumns(newHiddenColumns);\n }\n };\n\n return {\n hiddenColumns,\n hideColumn,\n showColumn,\n getVisibleColumnData,\n onColumnDataChange,\n };\n};\n\nexport { useHiddenColumns, useHiddenColumnStore };\n","import { identity, isEmpty, pipe } from \"ramda\";\nimport { create } from \"zustand\";\nimport { persist } from \"zustand/middleware\";\n\nimport { COLUMNS_ORDER_STORAGE_KEY } from \"./constants\";\nimport { useHiddenColumns } from \"./useHiddenColumns\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useColumnOrderStore = create(\n persist(() => ({}), { name: COLUMNS_ORDER_STORAGE_KEY })\n);\n\nconst useColumns = ({\n localStorageKey,\n initialHiddenColumns,\n initialOrder = [],\n}) => {\n const columnOrder =\n useColumnOrderStore(state => state[localStorageKey]) || initialOrder;\n\n const setColumnOrder = columns =>\n useColumnOrderStore.setState({ [localStorageKey]: columns });\n\n const { hiddenColumns, getVisibleColumnData, ...hiddenColumnHelpers } =\n useHiddenColumns(localStorageKey, initialHiddenColumns);\n\n const orderColumns = columnData => {\n if (isEmpty(columnOrder)) return columnData;\n\n return columnData.sort((a, b) => {\n if (\n !columnOrder.includes(a.dataIndex) ||\n !columnOrder.includes(b.dataIndex)\n ) {\n return 0;\n }\n\n return (\n columnOrder.indexOf(a.dataIndex) - columnOrder.indexOf(b.dataIndex)\n );\n });\n };\n\n const getColumnData = ({\n columnData,\n isHidable = true,\n isReOrderable = false,\n }) =>\n pipe(\n isHidable ? getVisibleColumnData : identity,\n isReOrderable ? orderColumns : identity\n )(columnData);\n\n return {\n ...hiddenColumnHelpers,\n hiddenColumns,\n columnOrder,\n getVisibleColumnData,\n setColumnOrder,\n getColumnData,\n };\n};\n\nexport { useColumns, useColumnOrderStore };\n"],"names":["Item","_ref","column","hiddenColumns","checkboxProps","onToggle","key","title","_useSortable","useSortable","id","attributes","listeners","setNodeRef","transform","transition","isDragging","dragStyle","CSS","Transform","toString","undefined","opacity","_jsx","className","ref","style","children","_jsxs","Label","htmlFor","_objectSpread","Drag","size","Checkbox","checked","includes","label","name","onChange","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","useMutationWithInvalidation","keysToInvalidate","useDestroyTableConfiguration","useTableConfigurations","columnData","_useFetchTableConfigu","data","isLoading","_useUpdateTableConfig","updateConfiguration","mutate","_useDestroyTableConfi","destroyConfiguration","processColumnsWithConfiguration","useCallback","originalColumns","arguments","length","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","customizedColumns","visibleColumnKeys","isShown","updateColumns","updatedColumns","table_key","hideColumn","columnKey","showColumn","reorderColumns","newOrder","isTableConfigurationLoading","getHidableColumns","removeBy","isHidable","filterBySearchTerm","searchTerm","trim","toLower","removeDeletedColumns","hiddenColumn","existsBy","dataIndex","Columns","actionBlock","_ref$checkboxProps","_ref$columnData","_ref$isSearchable","isSearchable","_ref$tableKey","_ref$noColumnMessage","noColumnMessage","i18next","t","_ref$searchProps","searchProps","dropdownProps","_objectWithoutProperties","_excluded","Divider","Dropdown","Menu","MenuItem","_useState","useState","_useState2","_slicedToArray","setSearchTerm","_useTranslation","useTranslation","_useTableConfiguratio","handleDragEnd","event","active","over","oldIndex","findIndexBy","newIndex","_newOrder$splice","splice","_newOrder$splice2","movedItem","filteredColumns","handleChange","_ref2","_ref2$target","target","handleSearch","_ref3","value","appendTo","document","body","buttonSize","buttonStyle","closeOnSelect","position","onClose","Input","placeholder","prefix","Search","type","DndContext","onDragEnd","SortableContext","items","_createElement","_ref4","_Fragment","Button","onClick","displayName","useHiddenColumnStore","persist","useHiddenColumns","localStorageKey","initialValue","state","setHiddenColumns","setState","_defineProperty","oldValue","getFromLocalStorage","removeFromLocalStorage","union","Array","isArray","without","getVisibleColumnData","__","onColumnDataChange","newHiddenColumns","equals","useColumnOrderStore","useColumns","initialHiddenColumns","_ref$initialOrder","initialOrder","columnOrder","setColumnOrder","_useHiddenColumns","hiddenColumnHelpers","orderColumns","a","b","indexOf","getColumnData","_ref2$isHidable","_ref2$isReOrderable","isReOrderable","pipe","identity"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useColumns-ZmJggX3n.js","sources":["../node_modules/@dnd-kit/utilities/dist/utilities.esm.js","../src/components/Columns/Item.jsx","../src/components/Columns/api.js","../src/components/Columns/constants.js","../src/components/Columns/useTableConfigurationsApi.js","../src/components/Columns/useTableConfigurations.js","../src/components/Columns/utils.js","../src/components/Columns/Columns.jsx","../src/components/Columns/useHiddenColumns.js","../src/components/Columns/useColumns.js"],"sourcesContent":["import { useMemo, useLayoutEffect, useEffect, useRef, useCallback } from 'react';\n\nfunction useCombinedRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return useMemo(() => node => {\n refs.forEach(ref => ref(node));\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n refs);\n}\n\n// https://github.com/facebook/react/blob/master/packages/shared/ExecutionEnvironment.js\nconst canUseDOM = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';\n\nfunction isWindow(element) {\n const elementString = Object.prototype.toString.call(element);\n return elementString === '[object Window]' || // In Electron context the Window object serializes to [object global]\n elementString === '[object global]';\n}\n\nfunction isNode(node) {\n return 'nodeType' in node;\n}\n\nfunction getWindow(target) {\n var _target$ownerDocument, _target$ownerDocument2;\n\n if (!target) {\n return window;\n }\n\n if (isWindow(target)) {\n return target;\n }\n\n if (!isNode(target)) {\n return window;\n }\n\n return (_target$ownerDocument = (_target$ownerDocument2 = target.ownerDocument) == null ? void 0 : _target$ownerDocument2.defaultView) != null ? _target$ownerDocument : window;\n}\n\nfunction isDocument(node) {\n const {\n Document\n } = getWindow(node);\n return node instanceof Document;\n}\n\nfunction isHTMLElement(node) {\n if (isWindow(node)) {\n return false;\n }\n\n return node instanceof getWindow(node).HTMLElement;\n}\n\nfunction isSVGElement(node) {\n return node instanceof getWindow(node).SVGElement;\n}\n\nfunction getOwnerDocument(target) {\n if (!target) {\n return document;\n }\n\n if (isWindow(target)) {\n return target.document;\n }\n\n if (!isNode(target)) {\n return document;\n }\n\n if (isDocument(target)) {\n return target;\n }\n\n if (isHTMLElement(target) || isSVGElement(target)) {\n return target.ownerDocument;\n }\n\n return document;\n}\n\n/**\r\n * A hook that resolves to useEffect on the server and useLayoutEffect on the client\r\n * @param callback {function} Callback function that is invoked when the dependencies of the hook change\r\n */\n\nconst useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\n\nfunction useEvent(handler) {\n const handlerRef = useRef(handler);\n useIsomorphicLayoutEffect(() => {\n handlerRef.current = handler;\n });\n return useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return handlerRef.current == null ? void 0 : handlerRef.current(...args);\n }, []);\n}\n\nfunction useInterval() {\n const intervalRef = useRef(null);\n const set = useCallback((listener, duration) => {\n intervalRef.current = setInterval(listener, duration);\n }, []);\n const clear = useCallback(() => {\n if (intervalRef.current !== null) {\n clearInterval(intervalRef.current);\n intervalRef.current = null;\n }\n }, []);\n return [set, clear];\n}\n\nfunction useLatestValue(value, dependencies) {\n if (dependencies === void 0) {\n dependencies = [value];\n }\n\n const valueRef = useRef(value);\n useIsomorphicLayoutEffect(() => {\n if (valueRef.current !== value) {\n valueRef.current = value;\n }\n }, dependencies);\n return valueRef;\n}\n\nfunction useLazyMemo(callback, dependencies) {\n const valueRef = useRef();\n return useMemo(() => {\n const newValue = callback(valueRef.current);\n valueRef.current = newValue;\n return newValue;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [...dependencies]);\n}\n\nfunction useNodeRef(onChange) {\n const onChangeHandler = useEvent(onChange);\n const node = useRef(null);\n const setNodeRef = useCallback(element => {\n if (element !== node.current) {\n onChangeHandler == null ? void 0 : onChangeHandler(element, node.current);\n }\n\n node.current = element;\n }, //eslint-disable-next-line\n []);\n return [node, setNodeRef];\n}\n\nfunction usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n\nlet ids = {};\nfunction useUniqueId(prefix, value) {\n return useMemo(() => {\n if (value) {\n return value;\n }\n\n const id = ids[prefix] == null ? 0 : ids[prefix] + 1;\n ids[prefix] = id;\n return prefix + \"-\" + id;\n }, [prefix, value]);\n}\n\nfunction createAdjustmentFn(modifier) {\n return function (object) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((accumulator, adjustment) => {\n const entries = Object.entries(adjustment);\n\n for (const [key, valueAdjustment] of entries) {\n const value = accumulator[key];\n\n if (value != null) {\n accumulator[key] = value + modifier * valueAdjustment;\n }\n }\n\n return accumulator;\n }, { ...object\n });\n };\n}\n\nconst add = /*#__PURE__*/createAdjustmentFn(1);\nconst subtract = /*#__PURE__*/createAdjustmentFn(-1);\n\nfunction hasViewportRelativeCoordinates(event) {\n return 'clientX' in event && 'clientY' in event;\n}\n\nfunction isKeyboardEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n KeyboardEvent\n } = getWindow(event.target);\n return KeyboardEvent && event instanceof KeyboardEvent;\n}\n\nfunction isTouchEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n TouchEvent\n } = getWindow(event.target);\n return TouchEvent && event instanceof TouchEvent;\n}\n\n/**\r\n * Returns the normalized x and y coordinates for mouse and touch events.\r\n */\n\nfunction getEventCoordinates(event) {\n if (isTouchEvent(event)) {\n if (event.touches && event.touches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.touches[0];\n return {\n x,\n y\n };\n } else if (event.changedTouches && event.changedTouches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.changedTouches[0];\n return {\n x,\n y\n };\n }\n }\n\n if (hasViewportRelativeCoordinates(event)) {\n return {\n x: event.clientX,\n y: event.clientY\n };\n }\n\n return null;\n}\n\nconst CSS = /*#__PURE__*/Object.freeze({\n Translate: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n x,\n y\n } = transform;\n return \"translate3d(\" + (x ? Math.round(x) : 0) + \"px, \" + (y ? Math.round(y) : 0) + \"px, 0)\";\n }\n\n },\n Scale: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n scaleX,\n scaleY\n } = transform;\n return \"scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\";\n }\n\n },\n Transform: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n return [CSS.Translate.toString(transform), CSS.Scale.toString(transform)].join(' ');\n }\n\n },\n Transition: {\n toString(_ref) {\n let {\n property,\n duration,\n easing\n } = _ref;\n return property + \" \" + duration + \"ms \" + easing;\n }\n\n }\n});\n\nconst SELECTOR = 'a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]';\nfunction findFirstFocusableNode(element) {\n if (element.matches(SELECTOR)) {\n return element;\n }\n\n return element.querySelector(SELECTOR);\n}\n\nexport { CSS, add, canUseDOM, findFirstFocusableNode, getEventCoordinates, getOwnerDocument, getWindow, hasViewportRelativeCoordinates, isDocument, isHTMLElement, isKeyboardEvent, isNode, isSVGElement, isTouchEvent, isWindow, subtract, useCombinedRefs, useEvent, useInterval, useIsomorphicLayoutEffect, useLatestValue, useLazyMemo, useNodeRef, usePrevious, useUniqueId };\n//# sourceMappingURL=utilities.esm.js.map\n","import { useSortable } from \"@dnd-kit/sortable\";\nimport { CSS } from \"@dnd-kit/utilities\";\nimport { Drag } from \"neetoicons\";\nimport { Checkbox, Label } from \"neetoui\";\n\nconst Item = ({ column, hiddenColumns, checkboxProps, onToggle }) => {\n const { key, title } = column;\n const {\n attributes,\n listeners,\n setNodeRef,\n transform,\n transition,\n isDragging,\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 return (\n <div\n className=\"neeto-molecules-columns__sortable-item\"\n ref={setNodeRef}\n style={dragStyle}\n >\n <Label\n className=\"neeto-ui-flex neeto-ui-w-full hover:neeto-ui-bg-gray-200 neeto-ui-cursor-pointer neeto-ui-items-center px-4 py-2\"\n htmlFor={key}\n >\n <div\n {...attributes}\n {...listeners}\n className=\"neeto-ui-mr-2 neeto-ui-cursor-grab neeto-ui-flex neeto-ui-items-center\"\n >\n <Drag className=\"neeto-ui-text-gray-400\" size={16} />\n </div>\n <Checkbox\n checked={!hiddenColumns.includes(key)}\n data-cy=\"neeto-ui-columns-checkbox\"\n id={key}\n label={title}\n name={key}\n onChange={onToggle}\n {...checkboxProps}\n />\n </Label>\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 =>\n useMutationWithInvalidation(tableConfigurationApi.update, {\n keysToInvalidate: [[TABLE_CONFIGURATION_QUERY_KEY, tableKey]],\n });\n\nconst useDestroyTableConfiguration = tableKey =>\n useMutationWithInvalidation(tableConfigurationApi.destroy, {\n keysToInvalidate: [[TABLE_CONFIGURATION_QUERY_KEY, tableKey]],\n });\n\nexport {\n useFetchTableConfiguration,\n useUpdateTableConfiguration,\n useDestroyTableConfiguration,\n};\n","import { useEffect, useMemo, useCallback } from \"react\";\n\nimport { isNotEqualDeep, isNotEmpty } from \"neetocist\";\nimport { isEmpty, pluck, prop } from \"ramda\";\n\nimport {\n useFetchTableConfiguration,\n useUpdateTableConfiguration,\n useDestroyTableConfiguration,\n} from \"./useTableConfigurationsApi.js\";\n\nconst useTableConfigurations = (tableKey, columnData) => {\n const { data: tableConfiguration, isLoading } = useFetchTableConfiguration({\n tableKey,\n });\n const { mutate: updateConfiguration } = useUpdateTableConfiguration(tableKey);\n const { mutate: destroyConfiguration } =\n useDestroyTableConfiguration(tableKey);\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 (hasAdditionalColumns && tableConfiguration) {\n destroyConfiguration(tableKey);\n }\n }, [hasAdditionalColumns, tableKey]);\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 customizedColumns = useMemo(() => {\n if (shouldApplyTableConfiguration) {\n const visibleColumnKeys = pluck(\n \"key\",\n tableConfiguration.columns.filter(prop(\"isShown\"))\n );\n\n return allProcessedColumns.filter(column =>\n visibleColumnKeys.includes(column.key)\n );\n }\n\n return columnData || [];\n }, [\n allProcessedColumns,\n columnData,\n tableConfiguration?.columns,\n shouldApplyTableConfiguration,\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 => ({ key: column.key, isShown: true }));\n }, [shouldApplyTableConfiguration, columnData, tableConfiguration?.columns]);\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 const reorderColumns = newOrder => {\n updateColumns(newOrder);\n };\n\n return {\n customizedColumns, // Only visible columns (for displaying the columns in the table)\n allProcessedColumns, // All columns (for displaying the columns in the Subheader)\n isTableConfigurationLoading: isLoading,\n existingColumnConfiguration,\n hideColumn,\n showColumn,\n reorderColumns,\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 }) => 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 { DndContext } from \"@dnd-kit/core\";\nimport { SortableContext } from \"@dnd-kit/sortable\";\nimport i18next from \"i18next\";\nimport { isNotEmpty, findIndexBy } from \"neetocist\";\nimport { Search } from \"neetoicons\";\nimport { Checkbox, Dropdown, Input, Label, Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty, pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport \"./columns.scss\";\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 ...dropdownProps\n}) => {\n const { Divider, Menu, MenuItem } = Dropdown;\n const [searchTerm, setSearchTerm] = useState(\"\");\n const { t } = useTranslation();\n\n const {\n allProcessedColumns,\n existingColumnConfiguration,\n hideColumn,\n showColumn,\n reorderColumns,\n destroyConfiguration,\n } = useTableConfigurations(tableKey, columnData);\n\n const hiddenColumns = pluck(\n \"key\",\n existingColumnConfiguration.filter(column => !column.isShown)\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 reorderColumns(newOrder);\n };\n\n const columns = getHidableColumns(allProcessedColumns);\n const filteredColumns = filterBySearchTerm(searchTerm, columns);\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 return (\n <Dropdown\n appendTo={document.body}\n buttonSize=\"medium\"\n buttonStyle=\"text\"\n closeOnSelect={false}\n position=\"bottom-end\"\n onClose={() => setSearchTerm(\"\")}\n {...dropdownProps}\n >\n <Menu>\n <div className=\"neeto-molecules-columns__container\">\n {isSearchable && (\n <Input\n className=\"px-4 py-2\"\n data-cy=\"neeto-ui-columns-search\"\n data-testid=\"neeto-ui-columns-search\"\n placeholder={t(\"neetoMolecules.columns.search\")}\n prefix={<Search />}\n type=\"search\"\n value={searchTerm}\n onChange={handleSearch}\n {...searchProps}\n />\n )}\n {isEmpty(filteredColumns) && (\n <span className=\"neeto-ui-flex neeto-ui-flex-col neeto-ui-items-center neeto-ui-p-2\">\n {noColumnMessage}\n </span>\n )}\n {isNotEmpty(filteredColumns) && !searchTerm && (\n <DndContext onDragEnd={handleDragEnd}>\n <SortableContext items={pluck(\"key\", filteredColumns)}>\n {filteredColumns.map(column => (\n <Item\n {...{ checkboxProps, column, hiddenColumns }}\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 <MenuItem key={key}>\n <Label\n className=\"neeto-ui-flex neeto-ui-w-full hover:neeto-ui-bg-gray-200 neeto-ui-cursor-pointer px-4 py-2\"\n htmlFor={key}\n >\n <Checkbox\n checked={!hiddenColumns.includes(key)}\n data-cy=\"neeto-ui-columns-checkbox\"\n id={key}\n label={title}\n name={key}\n onChange={handleChange}\n {...checkboxProps}\n />\n </Label>\n </MenuItem>\n ))}\n <Divider />\n {!!actionBlock && (\n <>\n {actionBlock}\n <Divider />\n </>\n )}\n <div className=\"flex justify-end p-1 pr-3\">\n <Button\n data-cy=\"column-visibility-reset-button\"\n label={t(\"neetoMolecules.columns.reset\")}\n style=\"secondary\"\n onClick={() => destroyConfiguration(tableKey)}\n />\n </div>\n </div>\n </Menu>\n </Dropdown>\n );\n};\n\nColumns.propTypes = {\n /**\n * Extra action items that can be added at the end of the dropdown (optional).\n */\n actionBlock: PropTypes.element,\n /**\n * Additional props for the checkboxes in the dropdown (optional).\n */\n checkboxProps: PropTypes.object,\n /**\n * The list of columns from which the dropdown options are built (required).\n */\n columnData: PropTypes.array,\n /**\n * Controls whether the dropdown options should be searchable (optional).\n */\n isSearchable: PropTypes.bool,\n /**\n * The table key used to identify table configuration in the API (required).\n */\n tableKey: PropTypes.string,\n /**\n * The message to be shown when there are no columns to be displayed in the dropdown (optional).\n */\n noColumnMessage: PropTypes.string,\n /**\n * Props to be passed to the search input in the column dropdown. Only works when `isSearchable` is set to `true` (optional).\n */\n searchProps: PropTypes.object,\n};\n\nColumns.displayName = \"Columns\";\nexport default Columns;\n","import { useEffect } from \"react\";\n\nimport { removeBy } from \"neetocist\";\nimport {\n getFromLocalStorage,\n removeFromLocalStorage,\n} from \"neetocommons/utils/general\";\nimport { __, without, includes, isEmpty, equals, union } from \"ramda\";\nimport { create } from \"zustand\";\nimport { persist } from \"zustand/middleware\";\n\nimport { HIDDEN_COLUMNS_STORAGE_KEY } from \"./constants\";\nimport { removeDeletedColumns } from \"./utils\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useHiddenColumnStore = create(\n persist(() => ({}), { name: HIDDEN_COLUMNS_STORAGE_KEY })\n);\n\nconst useHiddenColumns = (localStorageKey, initialValue = []) => {\n const hiddenColumns = useHiddenColumnStore(state => state[localStorageKey]);\n const setHiddenColumns = columns =>\n useHiddenColumnStore.setState({ [localStorageKey]: columns });\n\n // Migrates values from old location to new zustand location.\n useEffect(() => {\n const oldValue = getFromLocalStorage(localStorageKey);\n if (oldValue) {\n setHiddenColumns(oldValue);\n removeFromLocalStorage(localStorageKey);\n } else if (!hiddenColumns) {\n setHiddenColumns(initialValue);\n }\n }, [localStorageKey]);\n\n const hideColumn = columns =>\n setHiddenColumns(\n union(hiddenColumns, Array.isArray(columns) ? columns : [columns])\n );\n\n const showColumn = columns =>\n setHiddenColumns(\n without(Array.isArray(columns) ? columns : [columns], hiddenColumns)\n );\n\n const getVisibleColumnData = columnData =>\n removeBy({ dataIndex: includes(__, hiddenColumns || []) }, columnData);\n\n const onColumnDataChange = columnData => {\n if (isEmpty(columnData) || !hiddenColumns) return;\n const newHiddenColumns = removeDeletedColumns(hiddenColumns, columnData);\n if (!equals(newHiddenColumns, hiddenColumns)) {\n setHiddenColumns(newHiddenColumns);\n }\n };\n\n return {\n hiddenColumns,\n hideColumn,\n showColumn,\n getVisibleColumnData,\n onColumnDataChange,\n };\n};\n\nexport { useHiddenColumns, useHiddenColumnStore };\n","import { identity, isEmpty, pipe } from \"ramda\";\nimport { create } from \"zustand\";\nimport { persist } from \"zustand/middleware\";\n\nimport { COLUMNS_ORDER_STORAGE_KEY } from \"./constants\";\nimport { useHiddenColumns } from \"./useHiddenColumns\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useColumnOrderStore = create(\n persist(() => ({}), { name: COLUMNS_ORDER_STORAGE_KEY })\n);\n\nconst useColumns = ({\n localStorageKey,\n initialHiddenColumns,\n initialOrder = [],\n}) => {\n const columnOrder =\n useColumnOrderStore(state => state[localStorageKey]) || initialOrder;\n\n const setColumnOrder = columns =>\n useColumnOrderStore.setState({ [localStorageKey]: columns });\n\n const { hiddenColumns, getVisibleColumnData, ...hiddenColumnHelpers } =\n useHiddenColumns(localStorageKey, initialHiddenColumns);\n\n const orderColumns = columnData => {\n if (isEmpty(columnOrder)) return columnData;\n\n return columnData.sort((a, b) => {\n if (\n !columnOrder.includes(a.dataIndex) ||\n !columnOrder.includes(b.dataIndex)\n ) {\n return 0;\n }\n\n return (\n columnOrder.indexOf(a.dataIndex) - columnOrder.indexOf(b.dataIndex)\n );\n });\n };\n\n const getColumnData = ({\n columnData,\n isHidable = true,\n isReOrderable = false,\n }) =>\n pipe(\n isHidable ? getVisibleColumnData : identity,\n isReOrderable ? orderColumns : identity\n )(columnData);\n\n return {\n ...hiddenColumnHelpers,\n hiddenColumns,\n columnOrder,\n getVisibleColumnData,\n setColumnOrder,\n getColumnData,\n };\n};\n\nexport { useColumns, useColumnOrderStore };\n"],"names":["Item","_ref","column","hiddenColumns","checkboxProps","onToggle","key","title","_useSortable","useSortable","id","attributes","listeners","setNodeRef","transform","transition","isDragging","dragStyle","CSS","Transform","toString","undefined","opacity","_jsx","className","ref","style","children","_jsxs","Label","htmlFor","_objectSpread","Drag","size","Checkbox","checked","includes","label","name","onChange","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","useMutationWithInvalidation","keysToInvalidate","useDestroyTableConfiguration","useTableConfigurations","columnData","_useFetchTableConfigu","data","isLoading","_useUpdateTableConfig","updateConfiguration","mutate","_useDestroyTableConfi","destroyConfiguration","processColumnsWithConfiguration","useCallback","originalColumns","arguments","length","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","customizedColumns","visibleColumnKeys","isShown","updateColumns","updatedColumns","table_key","hideColumn","columnKey","showColumn","reorderColumns","newOrder","isTableConfigurationLoading","getHidableColumns","removeBy","isHidable","filterBySearchTerm","searchTerm","trim","toLower","removeDeletedColumns","hiddenColumn","existsBy","dataIndex","Columns","actionBlock","_ref$checkboxProps","_ref$columnData","_ref$isSearchable","isSearchable","_ref$tableKey","_ref$noColumnMessage","noColumnMessage","i18next","t","_ref$searchProps","searchProps","dropdownProps","_objectWithoutProperties","_excluded","Divider","Dropdown","Menu","MenuItem","_useState","useState","_useState2","_slicedToArray","setSearchTerm","_useTranslation","useTranslation","_useTableConfiguratio","handleDragEnd","event","active","over","oldIndex","findIndexBy","newIndex","_newOrder$splice","splice","_newOrder$splice2","movedItem","filteredColumns","handleChange","_ref2","_ref2$target","target","handleSearch","_ref3","value","appendTo","document","body","buttonSize","buttonStyle","closeOnSelect","position","onClose","Input","placeholder","prefix","Search","type","DndContext","onDragEnd","SortableContext","items","_createElement","_ref4","_Fragment","Button","onClick","displayName","useHiddenColumnStore","persist","useHiddenColumns","localStorageKey","initialValue","state","setHiddenColumns","setState","_defineProperty","oldValue","getFromLocalStorage","removeFromLocalStorage","union","Array","isArray","without","getVisibleColumnData","__","onColumnDataChange","newHiddenColumns","equals","useColumnOrderStore","useColumns","initialHiddenColumns","_ref$initialOrder","initialOrder","columnOrder","setColumnOrder","_useHiddenColumns","hiddenColumnHelpers","orderColumns","a","b","indexOf","getColumnData","_ref2$isHidable","_ref2$isReOrderable","isReOrderable","pipe","identity"],"mappings":"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","x_google_ignoreList":[0]}