@bigbinary/neeto-molecules 4.0.6 → 4.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/AuditLogs.js CHANGED
@@ -44,7 +44,7 @@ import '@bigbinary/neeto-commons-frontend/react-utils/useUpdateEffect';
44
44
  import '@bigbinary/neeto-icons/Search';
45
45
  import '@bigbinary/neetoui/Input';
46
46
  import '@bigbinary/neeto-icons/Column';
47
- import './useColumns-B7aUtolF.js';
47
+ import './useColumns-BPD5xfeZ.js';
48
48
  import '@babel/runtime/helpers/toConsumableArray';
49
49
  import '@dnd-kit/core';
50
50
  import '@dnd-kit/sortable';
@@ -24,7 +24,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
24
24
  import 'classnames';
25
25
  import '@bigbinary/neeto-commons-frontend/react-utils';
26
26
  import '@bigbinary/neeto-icons/Column';
27
- import './useColumns-B7aUtolF.js';
27
+ import './useColumns-BPD5xfeZ.js';
28
28
  import '@babel/runtime/helpers/toConsumableArray';
29
29
  import '@dnd-kit/core';
30
30
  import '@dnd-kit/sortable';
package/dist/Columns.js CHANGED
@@ -1,4 +1,4 @@
1
- export { c as COLUMNS_ORDER_STORAGE_KEY, H as HIDDEN_COLUMNS_STORAGE_KEY, T as TABLE_CONFIGURATION_QUERY_KEY, C as default, e as useColumnOrderStore, d as useColumns, b as useHiddenColumnStore, a as useHiddenColumns, u as useTableConfigurations } from './useColumns-B7aUtolF.js';
1
+ export { c as COLUMNS_ORDER_STORAGE_KEY, H as HIDDEN_COLUMNS_STORAGE_KEY, T as TABLE_CONFIGURATION_QUERY_KEY, C as default, e as useColumnOrderStore, d as useColumns, b as useHiddenColumnStore, a as useHiddenColumns, u as useTableConfigurations } from './useColumns-BPD5xfeZ.js';
2
2
  import '@babel/runtime/helpers/defineProperty';
3
3
  import '@babel/runtime/helpers/toConsumableArray';
4
4
  import '@babel/runtime/helpers/slicedToArray';
package/dist/SubHeader.js CHANGED
@@ -6,7 +6,7 @@ import { omit, not } from 'ramda';
6
6
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
7
7
  import { withT } from '@bigbinary/neeto-commons-frontend/react-utils';
8
8
  import Column from '@bigbinary/neeto-icons/Column';
9
- import { C as Columns$1 } from './useColumns-B7aUtolF.js';
9
+ import { C as Columns$1 } from './useColumns-BPD5xfeZ.js';
10
10
  import '@babel/runtime/helpers/toConsumableArray';
11
11
  import '@tanstack/react-query';
12
12
  import '@bigbinary/neeto-commons-frontend/react-utils/useMutationWithInvalidation';
package/dist/Taxonomy.js CHANGED
@@ -52,7 +52,7 @@ import '@bigbinary/neeto-icons/MenuVertical';
52
52
  import '@bigbinary/neetoui/Tooltip';
53
53
  import '@bigbinary/neeto-commons-frontend/react-utils';
54
54
  import '@bigbinary/neeto-icons/Column';
55
- import './useColumns-B7aUtolF.js';
55
+ import './useColumns-BPD5xfeZ.js';
56
56
  import '@dnd-kit/core';
57
57
  import '@dnd-kit/sortable';
58
58
  import '@bigbinary/neetoui/Checkbox';
@@ -70,6 +70,7 @@ var Version = withT(function (_ref) {
70
70
  }),
71
71
  children: /*#__PURE__*/jsxs("div", {
72
72
  className: "neeto-ui-rounded hover:neeto-ui-bg-gray-100 flex flex-grow cursor-pointer justify-between gap-4 px-1.5 pb-1.5 pt-1 transition-all duration-300",
73
+ "data-cy": "version-history-event",
73
74
  children: [/*#__PURE__*/jsxs("div", {
74
75
  className: "flex flex-grow flex-col gap-2",
75
76
  children: [/*#__PURE__*/jsxs("div", {
@@ -152,6 +153,7 @@ var VersionHistory = withT$1(function (_ref) {
152
153
  children: [/*#__PURE__*/jsxs(Pane.Header, {
153
154
  className: "flex justify-between",
154
155
  children: [/*#__PURE__*/jsx(Typography, {
156
+ "data-cy": "version-history-pane-header",
155
157
  "data-testid": "version-history-pane-header",
156
158
  lineHeight: "normal",
157
159
  style: "h2",
@@ -1 +1 @@
1
- {"version":3,"file":"VersionHistory.js","sources":["../src/components/VersionHistory/constants.js","../src/components/VersionHistory/Version.jsx","../src/components/VersionHistory/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const REFRESH_BUTTON_TOOLTIP_PROPS = Object.freeze({\n content: t(\"neetoMolecules.versionHistory.refreshButtonTooltip\"),\n position: \"bottom\",\n});\n","import classnames from \"classnames\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Typography, Tag, Avatar } from \"neetoui\";\n\nimport DateFormat from \"components/DateFormat\";\nimport MoreDropdown from \"components/MoreDropdown\";\n\nconst Version = withT(\n ({\n t,\n id,\n date,\n user,\n onClick,\n isDraft = false,\n isPublished = false,\n showMoreDropdown = false,\n moreDropdownProps = {},\n isLast = false,\n }) => (\n <div className=\"flex w-full gap-2\" key={id}>\n <div className=\"relative mt-2.5 flex flex-col items-center\">\n <span\n className={classnames(\n \"neeto-ui-rounded-full neeto-ui-bg-gray-300 relative z-10 h-2 w-2\",\n { \"neeto-ui-bg-warning-500\": isDraft },\n { \"neeto-ui-bg-primary-500\": isPublished }\n )}\n />\n {!isLast && (\n <span\n aria-hidden=\"true\"\n className=\"neeto-ui-bg-gray-300 absolute left-1/2 top-[9px] z-0 h-full w-px -translate-x-1/2\"\n />\n )}\n </div>\n <div\n {...{ onClick }}\n className={classnames(\"w-full\", { \"pb-3\": !isDraft })}\n >\n <div className=\"neeto-ui-rounded hover:neeto-ui-bg-gray-100 flex flex-grow cursor-pointer justify-between gap-4 px-1.5 pb-1.5 pt-1 transition-all duration-300\">\n <div className=\"flex flex-grow flex-col gap-2\">\n <div className=\"flex items-center gap-2\">\n <Typography style=\"h5\" weight=\"medium\">\n <DateFormat.DateWeekTime\n {...{ date }}\n typographyProps={{ style: \"body3\", lineHeight: \"snug\" }}\n />\n </Typography>\n {isDraft && (\n <Tag\n className=\"float-left\"\n data-testid=\"version-history-draft-tag\"\n label={t(\"neetoMolecules.common.actions.draft\")}\n size=\"small\"\n style=\"warning\"\n />\n )}\n </div>\n <div className=\"flex items-center gap-2\">\n <Avatar size=\"small\" user={{ name: user }} />\n <Typography style=\"body3\">{user}</Typography>\n </div>\n </div>\n {showMoreDropdown && (\n <div className=\"flex-shrink-0\" onClick={e => e.stopPropagation()}>\n <MoreDropdown\n dropdownButtonProps={{\n className: \"m-1\",\n size: \"small\",\n disabled: moreDropdownProps.disabled,\n }}\n dropdownProps={{\n strategy: \"fixed\",\n appendTo: () => document.body,\n }}\n {...moreDropdownProps}\n />\n </div>\n )}\n </div>\n </div>\n </div>\n )\n);\n\nexport default Version;\n","import { isNotEmpty } from \"neetocist\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { Refresh } from \"neetoicons\";\nimport { Button, Typography, Pane, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport { REFRESH_BUTTON_TOOLTIP_PROPS } from \"./constants\";\nimport Version from \"./Version\";\n\nconst VersionHistory = withT(\n ({\n t,\n isOpen,\n onClose,\n isLoading,\n draftVersions = [],\n publishedVersions = [],\n paneTitle,\n showRefreshButton = false,\n onRefreshClick,\n }) => (\n <Pane {...{ isOpen, onClose }}>\n {isLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <>\n <Pane.Header className=\"flex justify-between\">\n <Typography\n data-testid=\"version-history-pane-header\"\n lineHeight=\"normal\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {paneTitle || t(\"neetoMolecules.versionHistory.paneTitle\")}\n </Typography>\n {showRefreshButton && (\n <Button\n data-testid=\"version-history-refresh-button\"\n icon={Refresh}\n iconSize={18}\n size=\"small\"\n style=\"text\"\n tooltipProps={REFRESH_BUTTON_TOOLTIP_PROPS}\n onClick={onRefreshClick}\n />\n )}\n </Pane.Header>\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n {isNotEmpty(draftVersions) && (\n <div className=\"flex flex-col\">\n {draftVersions.map((version, index) => {\n const isLast = index === draftVersions.length - 1;\n\n return (\n <Version {...{ ...version, isLast }} key={version.id} />\n );\n })}\n </div>\n )}\n {isNotEmpty(publishedVersions) && (\n <div className=\"flex items-center\">\n <hr className=\"neeto-ui-border-gray-200 flex-grow\" />\n <Typography\n className=\"neeto-ui-bg-gray-200 neeto-ui-text-gray-800 neeto-ui-rounded inline-block px-3 py-1\"\n data-cy=\"version-history-published-title\"\n data-testid=\"version-history-published-title\"\n lineHeight=\"normal\"\n style=\"body3\"\n weight=\"medium\"\n >\n {t(\"neetoMolecules.versionHistory.publishedVersions\")}\n </Typography>\n <hr className=\"neeto-ui-border-gray-200 flex-grow\" />\n </div>\n )}\n <div className=\"flex flex-col\">\n {publishedVersions.map((version, index) => {\n const isLast = index === publishedVersions.length - 1;\n\n return (\n <Version {...{ ...version, isLast }} key={version.id} />\n );\n })}\n </div>\n </div>\n </Pane.Body>\n </>\n )}\n </Pane>\n )\n);\n\nVersionHistory.propTypes = {\n /**\n * To specify whether the version history pane should be opened or closed.\n */\n isOpen: PropTypes.bool.isRequired,\n /**\n * Handler function that is triggered when the close button is clicked.\n */\n onClose: PropTypes.func.isRequired,\n /**\n * Boolean flag to show loading state with spinner.\n */\n isLoading: PropTypes.bool,\n /**\n * Array of draft version objects to be displayed in the version history.\n */\n draftVersions: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n date: PropTypes.instanceOf(Date).isRequired,\n user: PropTypes.string.isRequired,\n onClick: PropTypes.func,\n isDraft: PropTypes.bool,\n isPublished: PropTypes.bool,\n showMoreDropdown: PropTypes.bool,\n moreDropdownProps: PropTypes.object,\n })\n ),\n /**\n * Array of published version objects to be displayed in the version history.\n */\n publishedVersions: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n date: PropTypes.instanceOf(Date).isRequired,\n user: PropTypes.string.isRequired,\n onClick: PropTypes.func,\n isDraft: PropTypes.bool,\n isPublished: PropTypes.bool,\n showMoreDropdown: PropTypes.bool,\n moreDropdownProps: PropTypes.object,\n })\n ),\n /**\n * Custom title to be displayed in the pane header. If not provided, a default title will be used.\n */\n paneTitle: PropTypes.string,\n /**\n * Boolean flag to show or hide the refresh button in the pane header.\n */\n showRefreshButton: PropTypes.bool,\n /**\n * Handler function that is triggered when the refresh button is clicked.\n */\n onRefreshClick: PropTypes.func,\n};\n\nexport default VersionHistory;\n"],"names":["REFRESH_BUTTON_TOOLTIP_PROPS","Object","freeze","content","t","position","Version","withT","_ref","id","date","user","onClick","_ref$isDraft","isDraft","_ref$isPublished","isPublished","_ref$showMoreDropdown","showMoreDropdown","_ref$moreDropdownProp","moreDropdownProps","_ref$isLast","isLast","_jsxs","className","children","_jsx","classnames","Typography","style","weight","DateFormat","DateWeekTime","typographyProps","lineHeight","Tag","label","size","Avatar","name","e","stopPropagation","MoreDropdown","_objectSpread","dropdownButtonProps","disabled","dropdownProps","strategy","appendTo","document","body","VersionHistory","isOpen","onClose","isLoading","_ref$draftVersions","draftVersions","_ref$publishedVersion","publishedVersions","paneTitle","_ref$showRefreshButto","showRefreshButton","onRefreshClick","Pane","Spinner","_Fragment","Header","Button","icon","Refresh","iconSize","tooltipProps","Body","isNotEmpty","map","version","index","length","_createElement","key"],"mappings":"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"}
1
+ {"version":3,"file":"VersionHistory.js","sources":["../src/components/VersionHistory/constants.js","../src/components/VersionHistory/Version.jsx","../src/components/VersionHistory/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const REFRESH_BUTTON_TOOLTIP_PROPS = Object.freeze({\n content: t(\"neetoMolecules.versionHistory.refreshButtonTooltip\"),\n position: \"bottom\",\n});\n","import classnames from \"classnames\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Typography, Tag, Avatar } from \"neetoui\";\n\nimport DateFormat from \"components/DateFormat\";\nimport MoreDropdown from \"components/MoreDropdown\";\n\nconst Version = withT(\n ({\n t,\n id,\n date,\n user,\n onClick,\n isDraft = false,\n isPublished = false,\n showMoreDropdown = false,\n moreDropdownProps = {},\n isLast = false,\n }) => (\n <div className=\"flex w-full gap-2\" key={id}>\n <div className=\"relative mt-2.5 flex flex-col items-center\">\n <span\n className={classnames(\n \"neeto-ui-rounded-full neeto-ui-bg-gray-300 relative z-10 h-2 w-2\",\n { \"neeto-ui-bg-warning-500\": isDraft },\n { \"neeto-ui-bg-primary-500\": isPublished }\n )}\n />\n {!isLast && (\n <span\n aria-hidden=\"true\"\n className=\"neeto-ui-bg-gray-300 absolute left-1/2 top-[9px] z-0 h-full w-px -translate-x-1/2\"\n />\n )}\n </div>\n <div\n {...{ onClick }}\n className={classnames(\"w-full\", { \"pb-3\": !isDraft })}\n >\n <div\n className=\"neeto-ui-rounded hover:neeto-ui-bg-gray-100 flex flex-grow cursor-pointer justify-between gap-4 px-1.5 pb-1.5 pt-1 transition-all duration-300\"\n data-cy=\"version-history-event\"\n >\n <div className=\"flex flex-grow flex-col gap-2\">\n <div className=\"flex items-center gap-2\">\n <Typography style=\"h5\" weight=\"medium\">\n <DateFormat.DateWeekTime\n {...{ date }}\n typographyProps={{ style: \"body3\", lineHeight: \"snug\" }}\n />\n </Typography>\n {isDraft && (\n <Tag\n className=\"float-left\"\n data-testid=\"version-history-draft-tag\"\n label={t(\"neetoMolecules.common.actions.draft\")}\n size=\"small\"\n style=\"warning\"\n />\n )}\n </div>\n <div className=\"flex items-center gap-2\">\n <Avatar size=\"small\" user={{ name: user }} />\n <Typography style=\"body3\">{user}</Typography>\n </div>\n </div>\n {showMoreDropdown && (\n <div className=\"flex-shrink-0\" onClick={e => e.stopPropagation()}>\n <MoreDropdown\n dropdownButtonProps={{\n className: \"m-1\",\n size: \"small\",\n disabled: moreDropdownProps.disabled,\n }}\n dropdownProps={{\n strategy: \"fixed\",\n appendTo: () => document.body,\n }}\n {...moreDropdownProps}\n />\n </div>\n )}\n </div>\n </div>\n </div>\n )\n);\n\nexport default Version;\n","import { isNotEmpty } from \"neetocist\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { Refresh } from \"neetoicons\";\nimport { Button, Typography, Pane, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport { REFRESH_BUTTON_TOOLTIP_PROPS } from \"./constants\";\nimport Version from \"./Version\";\n\nconst VersionHistory = withT(\n ({\n t,\n isOpen,\n onClose,\n isLoading,\n draftVersions = [],\n publishedVersions = [],\n paneTitle,\n showRefreshButton = false,\n onRefreshClick,\n }) => (\n <Pane {...{ isOpen, onClose }}>\n {isLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <>\n <Pane.Header className=\"flex justify-between\">\n <Typography\n data-cy=\"version-history-pane-header\"\n data-testid=\"version-history-pane-header\"\n lineHeight=\"normal\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {paneTitle || t(\"neetoMolecules.versionHistory.paneTitle\")}\n </Typography>\n {showRefreshButton && (\n <Button\n data-testid=\"version-history-refresh-button\"\n icon={Refresh}\n iconSize={18}\n size=\"small\"\n style=\"text\"\n tooltipProps={REFRESH_BUTTON_TOOLTIP_PROPS}\n onClick={onRefreshClick}\n />\n )}\n </Pane.Header>\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n {isNotEmpty(draftVersions) && (\n <div className=\"flex flex-col\">\n {draftVersions.map((version, index) => {\n const isLast = index === draftVersions.length - 1;\n\n return (\n <Version {...{ ...version, isLast }} key={version.id} />\n );\n })}\n </div>\n )}\n {isNotEmpty(publishedVersions) && (\n <div className=\"flex items-center\">\n <hr className=\"neeto-ui-border-gray-200 flex-grow\" />\n <Typography\n className=\"neeto-ui-bg-gray-200 neeto-ui-text-gray-800 neeto-ui-rounded inline-block px-3 py-1\"\n data-cy=\"version-history-published-title\"\n data-testid=\"version-history-published-title\"\n lineHeight=\"normal\"\n style=\"body3\"\n weight=\"medium\"\n >\n {t(\"neetoMolecules.versionHistory.publishedVersions\")}\n </Typography>\n <hr className=\"neeto-ui-border-gray-200 flex-grow\" />\n </div>\n )}\n <div className=\"flex flex-col\">\n {publishedVersions.map((version, index) => {\n const isLast = index === publishedVersions.length - 1;\n\n return (\n <Version {...{ ...version, isLast }} key={version.id} />\n );\n })}\n </div>\n </div>\n </Pane.Body>\n </>\n )}\n </Pane>\n )\n);\n\nVersionHistory.propTypes = {\n /**\n * To specify whether the version history pane should be opened or closed.\n */\n isOpen: PropTypes.bool.isRequired,\n /**\n * Handler function that is triggered when the close button is clicked.\n */\n onClose: PropTypes.func.isRequired,\n /**\n * Boolean flag to show loading state with spinner.\n */\n isLoading: PropTypes.bool,\n /**\n * Array of draft version objects to be displayed in the version history.\n */\n draftVersions: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n date: PropTypes.instanceOf(Date).isRequired,\n user: PropTypes.string.isRequired,\n onClick: PropTypes.func,\n isDraft: PropTypes.bool,\n isPublished: PropTypes.bool,\n showMoreDropdown: PropTypes.bool,\n moreDropdownProps: PropTypes.object,\n })\n ),\n /**\n * Array of published version objects to be displayed in the version history.\n */\n publishedVersions: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n date: PropTypes.instanceOf(Date).isRequired,\n user: PropTypes.string.isRequired,\n onClick: PropTypes.func,\n isDraft: PropTypes.bool,\n isPublished: PropTypes.bool,\n showMoreDropdown: PropTypes.bool,\n moreDropdownProps: PropTypes.object,\n })\n ),\n /**\n * Custom title to be displayed in the pane header. If not provided, a default title will be used.\n */\n paneTitle: PropTypes.string,\n /**\n * Boolean flag to show or hide the refresh button in the pane header.\n */\n showRefreshButton: PropTypes.bool,\n /**\n * Handler function that is triggered when the refresh button is clicked.\n */\n onRefreshClick: PropTypes.func,\n};\n\nexport default VersionHistory;\n"],"names":["REFRESH_BUTTON_TOOLTIP_PROPS","Object","freeze","content","t","position","Version","withT","_ref","id","date","user","onClick","_ref$isDraft","isDraft","_ref$isPublished","isPublished","_ref$showMoreDropdown","showMoreDropdown","_ref$moreDropdownProp","moreDropdownProps","_ref$isLast","isLast","_jsxs","className","children","_jsx","classnames","Typography","style","weight","DateFormat","DateWeekTime","typographyProps","lineHeight","Tag","label","size","Avatar","name","e","stopPropagation","MoreDropdown","_objectSpread","dropdownButtonProps","disabled","dropdownProps","strategy","appendTo","document","body","VersionHistory","isOpen","onClose","isLoading","_ref$draftVersions","draftVersions","_ref$publishedVersion","publishedVersions","paneTitle","_ref$showRefreshButto","showRefreshButton","onRefreshClick","Pane","Spinner","_Fragment","Header","Button","icon","Refresh","iconSize","tooltipProps","Body","isNotEmpty","map","version","index","length","_createElement","key"],"mappings":"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"}
@@ -46,7 +46,7 @@ require('@bigbinary/neeto-commons-frontend/react-utils/useUpdateEffect');
46
46
  require('@bigbinary/neeto-icons/Search');
47
47
  require('@bigbinary/neetoui/Input');
48
48
  require('@bigbinary/neeto-icons/Column');
49
- require('./useColumns-Bg0ZzPdJ.js');
49
+ require('./useColumns-CK2J7GSt.js');
50
50
  require('@babel/runtime/helpers/toConsumableArray');
51
51
  require('@dnd-kit/core');
52
52
  require('@dnd-kit/sortable');
@@ -26,7 +26,7 @@ var jsxRuntime = require('react/jsx-runtime');
26
26
  require('classnames');
27
27
  require('@bigbinary/neeto-commons-frontend/react-utils');
28
28
  require('@bigbinary/neeto-icons/Column');
29
- require('./useColumns-Bg0ZzPdJ.js');
29
+ require('./useColumns-CK2J7GSt.js');
30
30
  require('@babel/runtime/helpers/toConsumableArray');
31
31
  require('@dnd-kit/core');
32
32
  require('@dnd-kit/sortable');
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var useColumns = require('./useColumns-Bg0ZzPdJ.js');
5
+ var useColumns = require('./useColumns-CK2J7GSt.js');
6
6
  require('@babel/runtime/helpers/defineProperty');
7
7
  require('@babel/runtime/helpers/toConsumableArray');
8
8
  require('@babel/runtime/helpers/slicedToArray');
@@ -8,7 +8,7 @@ var ramda = require('ramda');
8
8
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
9
9
  var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
10
10
  var Column = require('@bigbinary/neeto-icons/Column');
11
- var useColumns = require('./useColumns-Bg0ZzPdJ.js');
11
+ var useColumns = require('./useColumns-CK2J7GSt.js');
12
12
  require('@babel/runtime/helpers/toConsumableArray');
13
13
  require('@tanstack/react-query');
14
14
  require('@bigbinary/neeto-commons-frontend/react-utils/useMutationWithInvalidation');
@@ -54,7 +54,7 @@ require('@bigbinary/neeto-icons/MenuVertical');
54
54
  require('@bigbinary/neetoui/Tooltip');
55
55
  require('@bigbinary/neeto-commons-frontend/react-utils');
56
56
  require('@bigbinary/neeto-icons/Column');
57
- require('./useColumns-Bg0ZzPdJ.js');
57
+ require('./useColumns-CK2J7GSt.js');
58
58
  require('@dnd-kit/core');
59
59
  require('@dnd-kit/sortable');
60
60
  require('@bigbinary/neetoui/Checkbox');
@@ -72,6 +72,7 @@ var Version = reactUtils.withT(function (_ref) {
72
72
  }),
73
73
  children: /*#__PURE__*/jsxRuntime.jsxs("div", {
74
74
  className: "neeto-ui-rounded hover:neeto-ui-bg-gray-100 flex flex-grow cursor-pointer justify-between gap-4 px-1.5 pb-1.5 pt-1 transition-all duration-300",
75
+ "data-cy": "version-history-event",
75
76
  children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
76
77
  className: "flex flex-grow flex-col gap-2",
77
78
  children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
@@ -154,6 +155,7 @@ var VersionHistory = withT(function (_ref) {
154
155
  children: [/*#__PURE__*/jsxRuntime.jsxs(Pane.Header, {
155
156
  className: "flex justify-between",
156
157
  children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
158
+ "data-cy": "version-history-pane-header",
157
159
  "data-testid": "version-history-pane-header",
158
160
  lineHeight: "normal",
159
161
  style: "h2",
@@ -1 +1 @@
1
- {"version":3,"file":"VersionHistory.js","sources":["../../src/components/VersionHistory/constants.js","../../src/components/VersionHistory/Version.jsx","../../src/components/VersionHistory/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const REFRESH_BUTTON_TOOLTIP_PROPS = Object.freeze({\n content: t(\"neetoMolecules.versionHistory.refreshButtonTooltip\"),\n position: \"bottom\",\n});\n","import classnames from \"classnames\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Typography, Tag, Avatar } from \"neetoui\";\n\nimport DateFormat from \"components/DateFormat\";\nimport MoreDropdown from \"components/MoreDropdown\";\n\nconst Version = withT(\n ({\n t,\n id,\n date,\n user,\n onClick,\n isDraft = false,\n isPublished = false,\n showMoreDropdown = false,\n moreDropdownProps = {},\n isLast = false,\n }) => (\n <div className=\"flex w-full gap-2\" key={id}>\n <div className=\"relative mt-2.5 flex flex-col items-center\">\n <span\n className={classnames(\n \"neeto-ui-rounded-full neeto-ui-bg-gray-300 relative z-10 h-2 w-2\",\n { \"neeto-ui-bg-warning-500\": isDraft },\n { \"neeto-ui-bg-primary-500\": isPublished }\n )}\n />\n {!isLast && (\n <span\n aria-hidden=\"true\"\n className=\"neeto-ui-bg-gray-300 absolute left-1/2 top-[9px] z-0 h-full w-px -translate-x-1/2\"\n />\n )}\n </div>\n <div\n {...{ onClick }}\n className={classnames(\"w-full\", { \"pb-3\": !isDraft })}\n >\n <div className=\"neeto-ui-rounded hover:neeto-ui-bg-gray-100 flex flex-grow cursor-pointer justify-between gap-4 px-1.5 pb-1.5 pt-1 transition-all duration-300\">\n <div className=\"flex flex-grow flex-col gap-2\">\n <div className=\"flex items-center gap-2\">\n <Typography style=\"h5\" weight=\"medium\">\n <DateFormat.DateWeekTime\n {...{ date }}\n typographyProps={{ style: \"body3\", lineHeight: \"snug\" }}\n />\n </Typography>\n {isDraft && (\n <Tag\n className=\"float-left\"\n data-testid=\"version-history-draft-tag\"\n label={t(\"neetoMolecules.common.actions.draft\")}\n size=\"small\"\n style=\"warning\"\n />\n )}\n </div>\n <div className=\"flex items-center gap-2\">\n <Avatar size=\"small\" user={{ name: user }} />\n <Typography style=\"body3\">{user}</Typography>\n </div>\n </div>\n {showMoreDropdown && (\n <div className=\"flex-shrink-0\" onClick={e => e.stopPropagation()}>\n <MoreDropdown\n dropdownButtonProps={{\n className: \"m-1\",\n size: \"small\",\n disabled: moreDropdownProps.disabled,\n }}\n dropdownProps={{\n strategy: \"fixed\",\n appendTo: () => document.body,\n }}\n {...moreDropdownProps}\n />\n </div>\n )}\n </div>\n </div>\n </div>\n )\n);\n\nexport default Version;\n","import { isNotEmpty } from \"neetocist\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { Refresh } from \"neetoicons\";\nimport { Button, Typography, Pane, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport { REFRESH_BUTTON_TOOLTIP_PROPS } from \"./constants\";\nimport Version from \"./Version\";\n\nconst VersionHistory = withT(\n ({\n t,\n isOpen,\n onClose,\n isLoading,\n draftVersions = [],\n publishedVersions = [],\n paneTitle,\n showRefreshButton = false,\n onRefreshClick,\n }) => (\n <Pane {...{ isOpen, onClose }}>\n {isLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <>\n <Pane.Header className=\"flex justify-between\">\n <Typography\n data-testid=\"version-history-pane-header\"\n lineHeight=\"normal\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {paneTitle || t(\"neetoMolecules.versionHistory.paneTitle\")}\n </Typography>\n {showRefreshButton && (\n <Button\n data-testid=\"version-history-refresh-button\"\n icon={Refresh}\n iconSize={18}\n size=\"small\"\n style=\"text\"\n tooltipProps={REFRESH_BUTTON_TOOLTIP_PROPS}\n onClick={onRefreshClick}\n />\n )}\n </Pane.Header>\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n {isNotEmpty(draftVersions) && (\n <div className=\"flex flex-col\">\n {draftVersions.map((version, index) => {\n const isLast = index === draftVersions.length - 1;\n\n return (\n <Version {...{ ...version, isLast }} key={version.id} />\n );\n })}\n </div>\n )}\n {isNotEmpty(publishedVersions) && (\n <div className=\"flex items-center\">\n <hr className=\"neeto-ui-border-gray-200 flex-grow\" />\n <Typography\n className=\"neeto-ui-bg-gray-200 neeto-ui-text-gray-800 neeto-ui-rounded inline-block px-3 py-1\"\n data-cy=\"version-history-published-title\"\n data-testid=\"version-history-published-title\"\n lineHeight=\"normal\"\n style=\"body3\"\n weight=\"medium\"\n >\n {t(\"neetoMolecules.versionHistory.publishedVersions\")}\n </Typography>\n <hr className=\"neeto-ui-border-gray-200 flex-grow\" />\n </div>\n )}\n <div className=\"flex flex-col\">\n {publishedVersions.map((version, index) => {\n const isLast = index === publishedVersions.length - 1;\n\n return (\n <Version {...{ ...version, isLast }} key={version.id} />\n );\n })}\n </div>\n </div>\n </Pane.Body>\n </>\n )}\n </Pane>\n )\n);\n\nVersionHistory.propTypes = {\n /**\n * To specify whether the version history pane should be opened or closed.\n */\n isOpen: PropTypes.bool.isRequired,\n /**\n * Handler function that is triggered when the close button is clicked.\n */\n onClose: PropTypes.func.isRequired,\n /**\n * Boolean flag to show loading state with spinner.\n */\n isLoading: PropTypes.bool,\n /**\n * Array of draft version objects to be displayed in the version history.\n */\n draftVersions: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n date: PropTypes.instanceOf(Date).isRequired,\n user: PropTypes.string.isRequired,\n onClick: PropTypes.func,\n isDraft: PropTypes.bool,\n isPublished: PropTypes.bool,\n showMoreDropdown: PropTypes.bool,\n moreDropdownProps: PropTypes.object,\n })\n ),\n /**\n * Array of published version objects to be displayed in the version history.\n */\n publishedVersions: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n date: PropTypes.instanceOf(Date).isRequired,\n user: PropTypes.string.isRequired,\n onClick: PropTypes.func,\n isDraft: PropTypes.bool,\n isPublished: PropTypes.bool,\n showMoreDropdown: PropTypes.bool,\n moreDropdownProps: PropTypes.object,\n })\n ),\n /**\n * Custom title to be displayed in the pane header. If not provided, a default title will be used.\n */\n paneTitle: PropTypes.string,\n /**\n * Boolean flag to show or hide the refresh button in the pane header.\n */\n showRefreshButton: PropTypes.bool,\n /**\n * Handler function that is triggered when the refresh button is clicked.\n */\n onRefreshClick: PropTypes.func,\n};\n\nexport default VersionHistory;\n"],"names":["REFRESH_BUTTON_TOOLTIP_PROPS","Object","freeze","content","t","position","Version","withT","_ref","id","date","user","onClick","_ref$isDraft","isDraft","_ref$isPublished","isPublished","_ref$showMoreDropdown","showMoreDropdown","_ref$moreDropdownProp","moreDropdownProps","_ref$isLast","isLast","_jsxs","className","children","_jsx","classnames","Typography","style","weight","DateFormat","DateWeekTime","typographyProps","lineHeight","Tag","label","size","Avatar","name","e","stopPropagation","MoreDropdown","_objectSpread","dropdownButtonProps","disabled","dropdownProps","strategy","appendTo","document","body","VersionHistory","isOpen","onClose","isLoading","_ref$draftVersions","draftVersions","_ref$publishedVersion","publishedVersions","paneTitle","_ref$showRefreshButto","showRefreshButton","onRefreshClick","Pane","Spinner","_Fragment","Header","Button","icon","Refresh","iconSize","tooltipProps","Body","isNotEmpty","map","version","index","length","_createElement","key"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,IAAMA,4BAA4B,GAAGC,MAAM,CAACC,MAAM,CAAC;AACxDC,EAAAA,OAAO,EAAEC,SAAC,CAAC,oDAAoD,CAAC;AAChEC,EAAAA,QAAQ,EAAE,QAAA;AACZ,CAAC,CAAC;;;;ACEF,IAAMC,OAAO,GAAGC,gBAAK,CACnB,UAAAC,IAAA,EAAA;AAAA,EAAA,IACEJ,CAAC,GAAAI,IAAA,CAADJ,CAAC;IACDK,EAAE,GAAAD,IAAA,CAAFC,EAAE;IACFC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IACJC,IAAI,GAAAH,IAAA,CAAJG,IAAI;IACJC,OAAO,GAAAJ,IAAA,CAAPI,OAAO;IAAAC,YAAA,GAAAL,IAAA,CACPM,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,YAAA;IAAAE,gBAAA,GAAAP,IAAA,CACfQ,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,gBAAA;IAAAE,qBAAA,GAAAT,IAAA,CACnBU,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IAAAE,qBAAA,GAAAX,IAAA,CACxBY,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAE,WAAA,GAAAb,IAAA,CACtBc,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,WAAA,CAAA;AAAA,EAAA,oBAEdE,eAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,mBAAmB;AAAAC,IAAAA,QAAA,gBAChCF,eAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,4CAA4C;AAAAC,MAAAA,QAAA,gBACzDC,cAAA,CAAA,MAAA,EAAA;AACEF,QAAAA,SAAS,EAAEG,UAAU,CACnB,kEAAkE,EAClE;AAAE,UAAA,yBAAyB,EAAEb,OAAAA;AAAQ,SAAC,EACtC;AAAE,UAAA,yBAAyB,EAAEE,WAAAA;SAC/B,CAAA;AAAE,OACH,CAAC,EACD,CAACM,MAAM,iBACNI,cAAA,CAAA,MAAA,EAAA;AACE,QAAA,aAAA,EAAY,MAAM;AAClBF,QAAAA,SAAS,EAAC,mFAAA;AAAmF,OAC9F,CACF,CAAA;KACE,CAAC,eACNE,cAAA,CAAA,KAAA,EAAA;AACQd,MAAAA,OAAO,EAAPA,OAAO;AACbY,MAAAA,SAAS,EAAEG,UAAU,CAAC,QAAQ,EAAE;AAAE,QAAA,MAAM,EAAE,CAACb,OAAAA;AAAQ,OAAC,CAAE;AAAAW,MAAAA,QAAA,eAEtDF,eAAA,CAAA,KAAA,EAAA;AAAKC,QAAAA,SAAS,EAAC,gJAAgJ;AAAAC,QAAAA,QAAA,gBAC7JF,eAAA,CAAA,KAAA,EAAA;AAAKC,UAAAA,SAAS,EAAC,+BAA+B;AAAAC,UAAAA,QAAA,gBAC5CF,eAAA,CAAA,KAAA,EAAA;AAAKC,YAAAA,SAAS,EAAC,yBAAyB;YAAAC,QAAA,EAAA,cACtCC,cAAA,CAACE,UAAU,EAAA;AAACC,cAAAA,KAAK,EAAC,IAAI;AAACC,cAAAA,MAAM,EAAC,QAAQ;AAAAL,cAAAA,QAAA,eACpCC,cAAA,CAACK,UAAU,CAACC,YAAY,EAAA;AAChBtB,gBAAAA,IAAI,EAAJA,IAAI;AACVuB,gBAAAA,eAAe,EAAE;AAAEJ,kBAAAA,KAAK,EAAE,OAAO;AAAEK,kBAAAA,UAAU,EAAE,MAAA;AAAO,iBAAA;eACvD,CAAA;AAAC,aACQ,CAAC,EACZpB,OAAO,iBACNY,cAAA,CAACS,GAAG,EAAA;AACFX,cAAAA,SAAS,EAAC,YAAY;AACtB,cAAA,aAAA,EAAY,2BAA2B;AACvCY,cAAAA,KAAK,EAAEhC,CAAC,CAAC,qCAAqC,CAAE;AAChDiC,cAAAA,IAAI,EAAC,OAAO;AACZR,cAAAA,KAAK,EAAC,SAAA;AAAS,aAChB,CACF,CAAA;WACE,CAAC,eACNN,eAAA,CAAA,KAAA,EAAA;AAAKC,YAAAA,SAAS,EAAC,yBAAyB;YAAAC,QAAA,EAAA,cACtCC,cAAA,CAACY,MAAM,EAAA;AAACD,cAAAA,IAAI,EAAC,OAAO;AAAC1B,cAAAA,IAAI,EAAE;AAAE4B,gBAAAA,IAAI,EAAE5B,IAAAA;AAAK,eAAA;AAAE,aAAE,CAAC,eAC7Ce,cAAA,CAACE,UAAU,EAAA;AAACC,cAAAA,KAAK,EAAC,OAAO;AAAAJ,cAAAA,QAAA,EAAEd,IAAAA;AAAI,aAAa,CAAC,CAAA;AAAA,WAC1C,CAAC,CAAA;AAAA,SACH,CAAC,EACLO,gBAAgB,iBACfQ,cAAA,CAAA,KAAA,EAAA;AAAKF,UAAAA,SAAS,EAAC,eAAe;AAACZ,UAAAA,OAAO,EAAE,SAATA,OAAOA,CAAE4B,CAAC,EAAA;AAAA,YAAA,OAAIA,CAAC,CAACC,eAAe,EAAE,CAAA;WAAC;AAAAhB,UAAAA,QAAA,eAC/DC,cAAA,CAACgB,YAAY,EAAAC,eAAA,CAAA;AACXC,YAAAA,mBAAmB,EAAE;AACnBpB,cAAAA,SAAS,EAAE,KAAK;AAChBa,cAAAA,IAAI,EAAE,OAAO;cACbQ,QAAQ,EAAEzB,iBAAiB,CAACyB,QAAAA;aAC5B;AACFC,YAAAA,aAAa,EAAE;AACbC,cAAAA,QAAQ,EAAE,OAAO;cACjBC,QAAQ,EAAE,SAAVA,QAAQA,GAAA;gBAAA,OAAQC,QAAQ,CAACC,IAAI,CAAA;AAAA,eAAA;AAC/B,aAAA;AAAE,WAAA,EACE9B,iBAAiB,CACtB,CAAA;AAAC,SACC,CACN,CAAA;OACE,CAAA;AAAC,KACH,CAAC,CAAA;AAAA,GAAA,EA7DgCX,EA8DnC,CAAC,CAAA;AAAA,CAEV,CAAC;;;;AC3ED,IAAM0C,cAAc,GAAG5C,KAAK,CAC1B,UAAAC,IAAA,EAAA;AAAA,EAAA,IACEJ,CAAC,GAAAI,IAAA,CAADJ,CAAC;IACDgD,MAAM,GAAA5C,IAAA,CAAN4C,MAAM;IACNC,OAAO,GAAA7C,IAAA,CAAP6C,OAAO;IACPC,SAAS,GAAA9C,IAAA,CAAT8C,SAAS;IAAAC,kBAAA,GAAA/C,IAAA,CACTgD,aAAa;AAAbA,IAAAA,aAAa,GAAAD,kBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,kBAAA;IAAAE,qBAAA,GAAAjD,IAAA,CAClBkD,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IACtBE,SAAS,GAAAnD,IAAA,CAATmD,SAAS;IAAAC,qBAAA,GAAApD,IAAA,CACTqD,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IACzBE,cAAc,GAAAtD,IAAA,CAAdsD,cAAc,CAAA;EAAA,oBAEdpC,cAAA,CAACqC,IAAI,EAAA;AAAOX,IAAAA,MAAM,EAANA,MAAM;AAAEC,IAAAA,OAAO,EAAPA,OAAO;IAAA5B,QAAA,EACxB6B,SAAS,gBACR5B,cAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,gDAAgD;AAAAC,MAAAA,QAAA,eAC7DC,cAAA,CAACsC,OAAO,EAAE,EAAA,CAAA;AAAC,KACR,CAAC,gBAENzC,eAAA,CAAA0C,mBAAA,EAAA;AAAAxC,MAAAA,QAAA,EACEF,cAAAA,eAAA,CAACwC,IAAI,CAACG,MAAM,EAAA;AAAC1C,QAAAA,SAAS,EAAC,sBAAsB;QAAAC,QAAA,EAAA,cAC3CC,cAAA,CAACE,UAAU,EAAA;AACT,UAAA,aAAA,EAAY,6BAA6B;AACzCM,UAAAA,UAAU,EAAC,QAAQ;AACnBL,UAAAA,KAAK,EAAC,IAAI;AACVC,UAAAA,MAAM,EAAC,UAAU;AAAAL,UAAAA,QAAA,EAEhBkC,SAAS,IAAIvD,CAAC,CAAC,yCAAyC,CAAA;AAAC,SAChD,CAAC,EACZyD,iBAAiB,iBAChBnC,cAAA,CAACyC,MAAM,EAAA;AACL,UAAA,aAAA,EAAY,gCAAgC;AAC5CC,UAAAA,IAAI,EAAEC,OAAQ;AACdC,UAAAA,QAAQ,EAAE,EAAG;AACbjC,UAAAA,IAAI,EAAC,OAAO;AACZR,UAAAA,KAAK,EAAC,MAAM;AACZ0C,UAAAA,YAAY,EAAEvE,4BAA6B;AAC3CY,UAAAA,OAAO,EAAEkD,cAAAA;AAAe,SACzB,CACF,CAAA;AAAA,OACU,CAAC,eACdpC,cAAA,CAACqC,IAAI,CAACS,IAAI,EAAA;AAAA/C,QAAAA,QAAA,eACRF,eAAA,CAAA,KAAA,EAAA;AAAKC,UAAAA,SAAS,EAAC,kBAAkB;AAAAC,UAAAA,QAAA,GAC9BgD,oBAAU,CAACjB,aAAa,CAAC,iBACxB9B,cAAA,CAAA,KAAA,EAAA;AAAKF,YAAAA,SAAS,EAAC,eAAe;YAAAC,QAAA,EAC3B+B,aAAa,CAACkB,GAAG,CAAC,UAACC,OAAO,EAAEC,KAAK,EAAK;cACrC,IAAMtD,MAAM,GAAGsD,KAAK,KAAKpB,aAAa,CAACqB,MAAM,GAAG,CAAC,CAAA;AAEjD,cAAA,oBACEC,mBAAA,CAACxE,OAAO,EAAAqC,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAAA,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAUgC,OAAO,CAAA,EAAA,EAAA,EAAA;AAAErD,gBAAAA,MAAM,EAANA,MAAAA;AAAM,eAAA,CAAA,CAAA,EAAA,EAAA,EAAA;gBAAIyD,GAAG,EAAEJ,OAAO,CAAClE,EAAAA;AAAG,eAAA,CAAE,CAAC,CAAA;aAE3D,CAAA;AAAC,WACC,CACN,EACAgE,oBAAU,CAACf,iBAAiB,CAAC,iBAC5BnC,eAAA,CAAA,KAAA,EAAA;AAAKC,YAAAA,SAAS,EAAC,mBAAmB;AAAAC,YAAAA,QAAA,gBAChCC,cAAA,CAAA,IAAA,EAAA;AAAIF,cAAAA,SAAS,EAAC,oCAAA;AAAoC,aAAE,CAAC,eACrDE,cAAA,CAACE,UAAU,EAAA;AACTJ,cAAAA,SAAS,EAAC,qFAAqF;AAC/F,cAAA,SAAA,EAAQ,iCAAiC;AACzC,cAAA,aAAA,EAAY,iCAAiC;AAC7CU,cAAAA,UAAU,EAAC,QAAQ;AACnBL,cAAAA,KAAK,EAAC,OAAO;AACbC,cAAAA,MAAM,EAAC,QAAQ;cAAAL,QAAA,EAEdrB,CAAC,CAAC,iDAAiD,CAAA;aAC1C,CAAC,eACbsB,cAAA,CAAA,IAAA,EAAA;AAAIF,cAAAA,SAAS,EAAC,oCAAA;AAAoC,aAAE,CAAC,CAAA;WAClD,CACN,eACDE,cAAA,CAAA,KAAA,EAAA;AAAKF,YAAAA,SAAS,EAAC,eAAe;YAAAC,QAAA,EAC3BiC,iBAAiB,CAACgB,GAAG,CAAC,UAACC,OAAO,EAAEC,KAAK,EAAK;cACzC,IAAMtD,MAAM,GAAGsD,KAAK,KAAKlB,iBAAiB,CAACmB,MAAM,GAAG,CAAC,CAAA;AAErD,cAAA,oBACEC,mBAAA,CAACxE,OAAO,EAAAqC,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAAA,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAUgC,OAAO,CAAA,EAAA,EAAA,EAAA;AAAErD,gBAAAA,MAAM,EAANA,MAAAA;AAAM,eAAA,CAAA,CAAA,EAAA,EAAA,EAAA;gBAAIyD,GAAG,EAAEJ,OAAO,CAAClE,EAAAA;AAAG,eAAA,CAAE,CAAC,CAAA;aAE3D,CAAA;AAAC,WACC,CAAC,CAAA;SACH,CAAA;AAAC,OACG,CAAC,CAAA;KACZ,CAAA;AACH,GACG,CAAC,CAAA;AAAA,CAEX;;;;"}
1
+ {"version":3,"file":"VersionHistory.js","sources":["../../src/components/VersionHistory/constants.js","../../src/components/VersionHistory/Version.jsx","../../src/components/VersionHistory/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const REFRESH_BUTTON_TOOLTIP_PROPS = Object.freeze({\n content: t(\"neetoMolecules.versionHistory.refreshButtonTooltip\"),\n position: \"bottom\",\n});\n","import classnames from \"classnames\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Typography, Tag, Avatar } from \"neetoui\";\n\nimport DateFormat from \"components/DateFormat\";\nimport MoreDropdown from \"components/MoreDropdown\";\n\nconst Version = withT(\n ({\n t,\n id,\n date,\n user,\n onClick,\n isDraft = false,\n isPublished = false,\n showMoreDropdown = false,\n moreDropdownProps = {},\n isLast = false,\n }) => (\n <div className=\"flex w-full gap-2\" key={id}>\n <div className=\"relative mt-2.5 flex flex-col items-center\">\n <span\n className={classnames(\n \"neeto-ui-rounded-full neeto-ui-bg-gray-300 relative z-10 h-2 w-2\",\n { \"neeto-ui-bg-warning-500\": isDraft },\n { \"neeto-ui-bg-primary-500\": isPublished }\n )}\n />\n {!isLast && (\n <span\n aria-hidden=\"true\"\n className=\"neeto-ui-bg-gray-300 absolute left-1/2 top-[9px] z-0 h-full w-px -translate-x-1/2\"\n />\n )}\n </div>\n <div\n {...{ onClick }}\n className={classnames(\"w-full\", { \"pb-3\": !isDraft })}\n >\n <div\n className=\"neeto-ui-rounded hover:neeto-ui-bg-gray-100 flex flex-grow cursor-pointer justify-between gap-4 px-1.5 pb-1.5 pt-1 transition-all duration-300\"\n data-cy=\"version-history-event\"\n >\n <div className=\"flex flex-grow flex-col gap-2\">\n <div className=\"flex items-center gap-2\">\n <Typography style=\"h5\" weight=\"medium\">\n <DateFormat.DateWeekTime\n {...{ date }}\n typographyProps={{ style: \"body3\", lineHeight: \"snug\" }}\n />\n </Typography>\n {isDraft && (\n <Tag\n className=\"float-left\"\n data-testid=\"version-history-draft-tag\"\n label={t(\"neetoMolecules.common.actions.draft\")}\n size=\"small\"\n style=\"warning\"\n />\n )}\n </div>\n <div className=\"flex items-center gap-2\">\n <Avatar size=\"small\" user={{ name: user }} />\n <Typography style=\"body3\">{user}</Typography>\n </div>\n </div>\n {showMoreDropdown && (\n <div className=\"flex-shrink-0\" onClick={e => e.stopPropagation()}>\n <MoreDropdown\n dropdownButtonProps={{\n className: \"m-1\",\n size: \"small\",\n disabled: moreDropdownProps.disabled,\n }}\n dropdownProps={{\n strategy: \"fixed\",\n appendTo: () => document.body,\n }}\n {...moreDropdownProps}\n />\n </div>\n )}\n </div>\n </div>\n </div>\n )\n);\n\nexport default Version;\n","import { isNotEmpty } from \"neetocist\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { Refresh } from \"neetoicons\";\nimport { Button, Typography, Pane, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport { REFRESH_BUTTON_TOOLTIP_PROPS } from \"./constants\";\nimport Version from \"./Version\";\n\nconst VersionHistory = withT(\n ({\n t,\n isOpen,\n onClose,\n isLoading,\n draftVersions = [],\n publishedVersions = [],\n paneTitle,\n showRefreshButton = false,\n onRefreshClick,\n }) => (\n <Pane {...{ isOpen, onClose }}>\n {isLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <>\n <Pane.Header className=\"flex justify-between\">\n <Typography\n data-cy=\"version-history-pane-header\"\n data-testid=\"version-history-pane-header\"\n lineHeight=\"normal\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {paneTitle || t(\"neetoMolecules.versionHistory.paneTitle\")}\n </Typography>\n {showRefreshButton && (\n <Button\n data-testid=\"version-history-refresh-button\"\n icon={Refresh}\n iconSize={18}\n size=\"small\"\n style=\"text\"\n tooltipProps={REFRESH_BUTTON_TOOLTIP_PROPS}\n onClick={onRefreshClick}\n />\n )}\n </Pane.Header>\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n {isNotEmpty(draftVersions) && (\n <div className=\"flex flex-col\">\n {draftVersions.map((version, index) => {\n const isLast = index === draftVersions.length - 1;\n\n return (\n <Version {...{ ...version, isLast }} key={version.id} />\n );\n })}\n </div>\n )}\n {isNotEmpty(publishedVersions) && (\n <div className=\"flex items-center\">\n <hr className=\"neeto-ui-border-gray-200 flex-grow\" />\n <Typography\n className=\"neeto-ui-bg-gray-200 neeto-ui-text-gray-800 neeto-ui-rounded inline-block px-3 py-1\"\n data-cy=\"version-history-published-title\"\n data-testid=\"version-history-published-title\"\n lineHeight=\"normal\"\n style=\"body3\"\n weight=\"medium\"\n >\n {t(\"neetoMolecules.versionHistory.publishedVersions\")}\n </Typography>\n <hr className=\"neeto-ui-border-gray-200 flex-grow\" />\n </div>\n )}\n <div className=\"flex flex-col\">\n {publishedVersions.map((version, index) => {\n const isLast = index === publishedVersions.length - 1;\n\n return (\n <Version {...{ ...version, isLast }} key={version.id} />\n );\n })}\n </div>\n </div>\n </Pane.Body>\n </>\n )}\n </Pane>\n )\n);\n\nVersionHistory.propTypes = {\n /**\n * To specify whether the version history pane should be opened or closed.\n */\n isOpen: PropTypes.bool.isRequired,\n /**\n * Handler function that is triggered when the close button is clicked.\n */\n onClose: PropTypes.func.isRequired,\n /**\n * Boolean flag to show loading state with spinner.\n */\n isLoading: PropTypes.bool,\n /**\n * Array of draft version objects to be displayed in the version history.\n */\n draftVersions: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n date: PropTypes.instanceOf(Date).isRequired,\n user: PropTypes.string.isRequired,\n onClick: PropTypes.func,\n isDraft: PropTypes.bool,\n isPublished: PropTypes.bool,\n showMoreDropdown: PropTypes.bool,\n moreDropdownProps: PropTypes.object,\n })\n ),\n /**\n * Array of published version objects to be displayed in the version history.\n */\n publishedVersions: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n date: PropTypes.instanceOf(Date).isRequired,\n user: PropTypes.string.isRequired,\n onClick: PropTypes.func,\n isDraft: PropTypes.bool,\n isPublished: PropTypes.bool,\n showMoreDropdown: PropTypes.bool,\n moreDropdownProps: PropTypes.object,\n })\n ),\n /**\n * Custom title to be displayed in the pane header. If not provided, a default title will be used.\n */\n paneTitle: PropTypes.string,\n /**\n * Boolean flag to show or hide the refresh button in the pane header.\n */\n showRefreshButton: PropTypes.bool,\n /**\n * Handler function that is triggered when the refresh button is clicked.\n */\n onRefreshClick: PropTypes.func,\n};\n\nexport default VersionHistory;\n"],"names":["REFRESH_BUTTON_TOOLTIP_PROPS","Object","freeze","content","t","position","Version","withT","_ref","id","date","user","onClick","_ref$isDraft","isDraft","_ref$isPublished","isPublished","_ref$showMoreDropdown","showMoreDropdown","_ref$moreDropdownProp","moreDropdownProps","_ref$isLast","isLast","_jsxs","className","children","_jsx","classnames","Typography","style","weight","DateFormat","DateWeekTime","typographyProps","lineHeight","Tag","label","size","Avatar","name","e","stopPropagation","MoreDropdown","_objectSpread","dropdownButtonProps","disabled","dropdownProps","strategy","appendTo","document","body","VersionHistory","isOpen","onClose","isLoading","_ref$draftVersions","draftVersions","_ref$publishedVersion","publishedVersions","paneTitle","_ref$showRefreshButto","showRefreshButton","onRefreshClick","Pane","Spinner","_Fragment","Header","Button","icon","Refresh","iconSize","tooltipProps","Body","isNotEmpty","map","version","index","length","_createElement","key"],"mappings":"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"}
@@ -413,6 +413,7 @@ var Columns = function Columns(_ref) {
413
413
  children: /*#__PURE__*/jsxRuntime.jsx(Menu, {
414
414
  children: /*#__PURE__*/jsxRuntime.jsxs("div", {
415
415
  className: "neeto-molecules-columns__container",
416
+ "data-cy": "customize-columns-dropdown-container",
416
417
  children: [isSearchable && /*#__PURE__*/jsxRuntime.jsx(Input, _objectSpread$1({
417
418
  className: "px-4 py-2",
418
419
  "data-cy": "neeto-ui-columns-search",
@@ -587,4 +588,4 @@ exports.useColumns = useColumns;
587
588
  exports.useHiddenColumnStore = useHiddenColumnStore;
588
589
  exports.useHiddenColumns = useHiddenColumns;
589
590
  exports.useTableConfigurations = useTableConfigurations;
590
- //# sourceMappingURL=useColumns-Bg0ZzPdJ.js.map
591
+ //# sourceMappingURL=useColumns-CK2J7GSt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useColumns-CK2J7GSt.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\n className=\"neeto-molecules-columns__container\"\n data-cy=\"customize-columns-dropdown-container\"\n >\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]}
@@ -411,6 +411,7 @@ var Columns = function Columns(_ref) {
411
411
  children: /*#__PURE__*/jsx(Menu, {
412
412
  children: /*#__PURE__*/jsxs("div", {
413
413
  className: "neeto-molecules-columns__container",
414
+ "data-cy": "customize-columns-dropdown-container",
414
415
  children: [isSearchable && /*#__PURE__*/jsx(Input, _objectSpread$1({
415
416
  className: "px-4 py-2",
416
417
  "data-cy": "neeto-ui-columns-search",
@@ -577,4 +578,4 @@ var useColumns = function useColumns(_ref) {
577
578
  };
578
579
 
579
580
  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 };
580
- //# sourceMappingURL=useColumns-B7aUtolF.js.map
581
+ //# sourceMappingURL=useColumns-BPD5xfeZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useColumns-BPD5xfeZ.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\n className=\"neeto-molecules-columns__container\"\n data-cy=\"customize-columns-dropdown-container\"\n >\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.6",
3
+ "version": "4.0.8",
4
4
  "description": "A package of reusable molecular components for neeto products.",
5
5
  "repository": "git@github.com:bigbinary/neeto-molecules.git",
6
6
  "author": "Amaljith K <amaljith.k@bigbinary.com>",
@@ -1 +0,0 @@
1
- {"version":3,"file":"useColumns-Bg0ZzPdJ.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]}
@@ -1 +0,0 @@
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]}