@bigbinary/neeto-rules-frontend 2.7.36 → 2.7.37-beta1

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/.ready CHANGED
@@ -1 +1 @@
1
- Built at 2026-09-24T13:08:35.539Z
1
+ Built at 2026-09-25T14:01:26.552Z
@@ -8,7 +8,7 @@ var constants = require('@bigbinary/neeto-commons-frontend/v2/constants');
8
8
  var reactUtils = require('@bigbinary/neeto-commons-frontend/v2/react-utils');
9
9
  var Container = require('@bigbinary/neeto-molecules/v2/Container');
10
10
  var useAutomationRulesApi = require('../../useAutomationRulesApi-C1T2E1AN.js');
11
- var v2_RulesReorder = require('../../index-nOyFBBTX.js');
11
+ var v2_RulesReorder = require('../../index-CRxHZLEZ.js');
12
12
  var neetoAtoms = require('@bigbinary/neeto-atoms');
13
13
  var Header$2 = require('@bigbinary/neeto-molecules/v2/Header');
14
14
  var utils = require('../../utils-B3roKiff.js');
@@ -9,7 +9,7 @@ require('@bigbinary/neeto-atoms');
9
9
  require('ramda');
10
10
  require('react-i18next');
11
11
  require('../../useAutomationRulesApi-C1T2E1AN.js');
12
- var v2_RulesReorder = require('../../index-nOyFBBTX.js');
12
+ var v2_RulesReorder = require('../../index-CRxHZLEZ.js');
13
13
  require('react/jsx-runtime');
14
14
  require('@tanstack/react-query');
15
15
  require('@bigbinary/neeto-commons-frontend/react-utils');
@@ -4,7 +4,7 @@ var constants = require('../../index-DFwPrb81.js');
4
4
  var v2_CannedResponsesPane = require('./CannedResponsesPane.js');
5
5
  var v2_NeetoRules = require('./NeetoRules.js');
6
6
  var v2_NeetoRulesBuilder = require('./NeetoRulesBuilder.js');
7
- var v2_RulesReorder = require('../../index-nOyFBBTX.js');
7
+ var v2_RulesReorder = require('../../index-CRxHZLEZ.js');
8
8
  var v2_NeetoRulesForm = require('./NeetoRulesForm.js');
9
9
  var useCustomDataStore = require('../../useCustomDataStore-DPmWkEhs.js');
10
10
  var v2_RulePreview = require('./RulePreview.js');
@@ -77,6 +77,7 @@ var RulesReorder = function RulesReorder(_ref) {
77
77
  var isOpen = _ref.isOpen,
78
78
  totalCount = _ref.totalCount,
79
79
  url = _ref.url,
80
+ description = _ref.description,
80
81
  onClose = _ref.onClose,
81
82
  onReorderSuccess = _ref.onReorderSuccess;
82
83
  var _useState = react.useState([]),
@@ -152,7 +153,7 @@ var RulesReorder = function RulesReorder(_ref) {
152
153
  children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
153
154
  className: "mb-3",
154
155
  variant: "body1",
155
- children: t("neetoRules.description.reorder")
156
+ children: description !== null && description !== void 0 ? description : t("neetoRules.description.reorder")
156
157
  }), /*#__PURE__*/jsxRuntime.jsx("div", {
157
158
  className: "flex flex-col items-center w-full",
158
159
  children: /*#__PURE__*/jsxRuntime.jsx(dnd.DragDropContext, {
@@ -213,4 +214,4 @@ var RulesReorder = function RulesReorder(_ref) {
213
214
 
214
215
  exports.INITIAL_RULES_DATA = INITIAL_RULES_DATA;
215
216
  exports.RulesReorder = RulesReorder;
216
- //# sourceMappingURL=index-nOyFBBTX.js.map
217
+ //# sourceMappingURL=index-CRxHZLEZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CRxHZLEZ.js","sources":["../app/javascript/src/v2/components/NeetoRules/constants.js","../app/javascript/src/v2/components/NeetoRules/RulesReorder/utils.js","../app/javascript/src/v2/components/NeetoRules/RulesReorder/DraggableItem.jsx","../app/javascript/src/v2/components/NeetoRules/RulesReorder/index.jsx"],"sourcesContent":["export const STATUS_KEYS = { ENABLED: \"enabled\", DISABLED: \"disabled\" };\n\nexport const DEFAULT_INIT_PAGE = 1;\n\nexport const INITIAL_RULES_DATA = { rules: [], totalCount: 0 };\n","export const reorderList = ({\n endIndex,\n firstDisplayOrder,\n list,\n startIndex,\n}) => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n result.splice(endIndex, 0, removed);\n\n return result.map((item, index) => ({\n ...item,\n displayOrder: firstDisplayOrder + index,\n }));\n};\n\nexport const getDragItemStyle = (isDragging, draggableStyle) => ({\n // styles we need to apply on draggables\n ...draggableStyle,\n\n ...(isDragging && { zIndex: 99999 }),\n});\n","import { Draggable } from \"@hello-pangea/dnd\";\nimport { GripVertical } from \"lucide-react\";\nimport { withRouter } from \"react-router-dom\";\n\nimport { getDragItemStyle } from \"./utils\";\n\nconst DraggableItem = props => {\n const { rule, ruleIndex } = props;\n\n return (\n <Draggable draggableId={`item_${rule.id}`} index={ruleIndex}>\n {(provided, snapshot) => (\n <div\n className=\"text-foreground mb-3 flex w-full items-center gap-1 font-medium\"\n data-testid=\"automation-rule-reorder-drag-handle\"\n key={`list_${rule.id}`}\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n style={getDragItemStyle(\n snapshot.isDragging,\n provided.draggableProps.style\n )}\n >\n <GripVertical\n className=\"text-muted-foreground/60 hover:text-muted-foreground -ms-1 cursor-grab transition-all duration-300 ease-in-out\"\n size={16}\n />\n <div\n className=\"bg-background border-border rounded-md flex w-full items-center space-x-4 border p-3\"\n data-testid=\"automation-rule-reorder-container\"\n >\n {rule.name}\n </div>\n </div>\n )}\n </Draggable>\n );\n};\n\nexport default withRouter(DraggableItem);\n","import { useEffect, useState } from \"react\";\n\nimport { DragDropContext, Droppable } from \"@hello-pangea/dnd\";\nimport { GripVertical } from \"lucide-react\";\nimport { Button, Sheet, Spinner, Typography } from \"neetoatoms\";\nimport { clone, equals } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useFetchAutomationRules,\n useReorderAutomationRules,\n} from \"hooks/reactQuery/useAutomationRulesApi\";\n\nimport DraggableItem from \"./DraggableItem\";\nimport { getDragItemStyle, reorderList } from \"./utils\";\n\nimport { INITIAL_RULES_DATA } from \"../constants\";\n\nconst RulesReorder = ({\n isOpen,\n totalCount,\n url,\n description,\n onClose,\n onReorderSuccess,\n}) => {\n const [reorderedRules, setReorderedRules] = useState([]);\n\n const { t } = useTranslation();\n\n const { data: { rules } = INITIAL_RULES_DATA, isLoading } =\n useFetchAutomationRules({ pageSize: totalCount, url }, { enabled: isOpen });\n\n const { mutate: reOrder, isPending } = useReorderAutomationRules(url);\n\n const firstDisplayOrder = rules[0]?.displayOrder ?? 1;\n\n const handleReorderSave = () =>\n reOrder(\n { url, payload: { reorder: { rules: reorderedRules } } },\n {\n onSuccess: () => {\n onReorderSuccess?.();\n onClose();\n },\n }\n );\n\n const onDragEnd = ({ destination, source }) => {\n if (!destination || source.index === destination.index) return;\n\n const items = reorderList({\n endIndex: destination.index,\n firstDisplayOrder,\n list: clone(reorderedRules),\n startIndex: source.index,\n });\n setReorderedRules(items);\n };\n\n useEffect(() => {\n setReorderedRules(rules);\n }, [rules]);\n\n if (isLoading) {\n return (\n <Sheet {...{ isOpen, onClose }} size=\"large\">\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n </Sheet>\n );\n }\n\n return (\n <Sheet {...{ isOpen, onClose }} size=\"large\">\n <Sheet.Header>\n <Sheet.Title>{t(\"neetoRules.common.reorder\")}</Sheet.Title>\n </Sheet.Header>\n <Sheet.Body>\n <Typography className=\"mb-3\" variant=\"body1\">\n {description ?? t(\"neetoRules.description.reorder\")}\n </Typography>\n <div className=\"flex flex-col items-center w-full\">\n <DragDropContext {...{ onDragEnd }}>\n <Droppable\n droppableId=\"droppable\"\n renderClone={(provided, snapshot, rubric) => (\n <div\n className=\"text-foreground mb-3 flex w-full items-center gap-1 font-medium\"\n key={`list_${reorderedRules[rubric.source.index].id}`}\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n style={getDragItemStyle(\n snapshot.isDragging,\n provided.draggableProps.style\n )}\n >\n <GripVertical\n className=\"text-muted-foreground/60 hover:text-muted-foreground -ms-1 cursor-grab transition-all duration-300 ease-in-out\"\n size={16}\n />\n <div className=\"bg-background grow border-border rounded-md flex items-center space-x-4 border p-3\">\n <div>{reorderedRules[rubric.source.index].name}</div>\n </div>\n </div>\n )}\n >\n {provided => (\n <div\n className=\"w-full\"\n {...provided.droppableProps}\n ref={provided.innerRef}\n >\n {reorderedRules.map((rule, index) => (\n <DraggableItem\n {...{ rule }}\n key={rule.id}\n ruleIndex={index}\n />\n ))}\n {provided.placeholder}\n </div>\n )}\n </Droppable>\n </DragDropContext>\n </div>\n </Sheet.Body>\n <Sheet.Footer className=\"flex items-center gap-x-2\">\n <Button\n data-testid=\"save-changes-button\"\n disabled={isPending || equals(rules, reorderedRules)}\n label={t(\"neetoRules.common.saveChange\")}\n loading={isPending}\n onClick={handleReorderSave}\n />\n <Button\n data-testid=\"cancel-button\"\n label={t(\"neetoRules.buttons.cancel\")}\n variant=\"ghost\"\n onClick={onClose}\n />\n </Sheet.Footer>\n </Sheet>\n );\n};\nexport default RulesReorder;\n"],"names":["INITIAL_RULES_DATA","rules","totalCount","reorderList","_ref","endIndex","firstDisplayOrder","list","startIndex","result","Array","from","_result$splice","splice","_result$splice2","_slicedToArray","removed","map","item","index","_objectSpread","displayOrder","getDragItemStyle","isDragging","draggableStyle","zIndex","DraggableItem","props","rule","ruleIndex","_jsx","Draggable","draggableId","concat","id","children","provided","snapshot","_jsxs","className","ref","innerRef","draggableProps","dragHandleProps","style","GripVertical","size","name","withRouter","RulesReorder","_rules$0$displayOrder","_rules$","isOpen","url","description","onClose","onReorderSuccess","_useState","useState","_useState2","reorderedRules","setReorderedRules","_useTranslation","useTranslation","t","_useFetchAutomationRu","useFetchAutomationRules","pageSize","enabled","_useFetchAutomationRu2","data","_useFetchAutomationRu3","isLoading","_useReorderAutomation","useReorderAutomationRules","reOrder","mutate","isPending","handleReorderSave","payload","reorder","onSuccess","onDragEnd","_ref2","destination","source","items","clone","useEffect","Sheet","Spinner","Header","Title","Body","Typography","variant","DragDropContext","Droppable","droppableId","renderClone","rubric","droppableProps","_createElement","key","placeholder","Footer","Button","disabled","equals","label","loading","onClick"],"mappings":"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"}
@@ -75,6 +75,7 @@ var RulesReorder = function RulesReorder(_ref) {
75
75
  var isOpen = _ref.isOpen,
76
76
  totalCount = _ref.totalCount,
77
77
  url = _ref.url,
78
+ description = _ref.description,
78
79
  onClose = _ref.onClose,
79
80
  onReorderSuccess = _ref.onReorderSuccess;
80
81
  var _useState = useState([]),
@@ -150,7 +151,7 @@ var RulesReorder = function RulesReorder(_ref) {
150
151
  children: [/*#__PURE__*/jsx(Typography, {
151
152
  className: "mb-3",
152
153
  variant: "body1",
153
- children: t("neetoRules.description.reorder")
154
+ children: description !== null && description !== void 0 ? description : t("neetoRules.description.reorder")
154
155
  }), /*#__PURE__*/jsx("div", {
155
156
  className: "flex flex-col items-center w-full",
156
157
  children: /*#__PURE__*/jsx(DragDropContext, {
@@ -210,4 +211,4 @@ var RulesReorder = function RulesReorder(_ref) {
210
211
  };
211
212
 
212
213
  export { INITIAL_RULES_DATA as I, RulesReorder as R };
213
- //# sourceMappingURL=index-CA1_c_AW.js.map
214
+ //# sourceMappingURL=index-DA8DSoSK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-DA8DSoSK.js","sources":["../app/javascript/src/v2/components/NeetoRules/constants.js","../app/javascript/src/v2/components/NeetoRules/RulesReorder/utils.js","../app/javascript/src/v2/components/NeetoRules/RulesReorder/DraggableItem.jsx","../app/javascript/src/v2/components/NeetoRules/RulesReorder/index.jsx"],"sourcesContent":["export const STATUS_KEYS = { ENABLED: \"enabled\", DISABLED: \"disabled\" };\n\nexport const DEFAULT_INIT_PAGE = 1;\n\nexport const INITIAL_RULES_DATA = { rules: [], totalCount: 0 };\n","export const reorderList = ({\n endIndex,\n firstDisplayOrder,\n list,\n startIndex,\n}) => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n result.splice(endIndex, 0, removed);\n\n return result.map((item, index) => ({\n ...item,\n displayOrder: firstDisplayOrder + index,\n }));\n};\n\nexport const getDragItemStyle = (isDragging, draggableStyle) => ({\n // styles we need to apply on draggables\n ...draggableStyle,\n\n ...(isDragging && { zIndex: 99999 }),\n});\n","import { Draggable } from \"@hello-pangea/dnd\";\nimport { GripVertical } from \"lucide-react\";\nimport { withRouter } from \"react-router-dom\";\n\nimport { getDragItemStyle } from \"./utils\";\n\nconst DraggableItem = props => {\n const { rule, ruleIndex } = props;\n\n return (\n <Draggable draggableId={`item_${rule.id}`} index={ruleIndex}>\n {(provided, snapshot) => (\n <div\n className=\"text-foreground mb-3 flex w-full items-center gap-1 font-medium\"\n data-testid=\"automation-rule-reorder-drag-handle\"\n key={`list_${rule.id}`}\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n style={getDragItemStyle(\n snapshot.isDragging,\n provided.draggableProps.style\n )}\n >\n <GripVertical\n className=\"text-muted-foreground/60 hover:text-muted-foreground -ms-1 cursor-grab transition-all duration-300 ease-in-out\"\n size={16}\n />\n <div\n className=\"bg-background border-border rounded-md flex w-full items-center space-x-4 border p-3\"\n data-testid=\"automation-rule-reorder-container\"\n >\n {rule.name}\n </div>\n </div>\n )}\n </Draggable>\n );\n};\n\nexport default withRouter(DraggableItem);\n","import { useEffect, useState } from \"react\";\n\nimport { DragDropContext, Droppable } from \"@hello-pangea/dnd\";\nimport { GripVertical } from \"lucide-react\";\nimport { Button, Sheet, Spinner, Typography } from \"neetoatoms\";\nimport { clone, equals } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useFetchAutomationRules,\n useReorderAutomationRules,\n} from \"hooks/reactQuery/useAutomationRulesApi\";\n\nimport DraggableItem from \"./DraggableItem\";\nimport { getDragItemStyle, reorderList } from \"./utils\";\n\nimport { INITIAL_RULES_DATA } from \"../constants\";\n\nconst RulesReorder = ({\n isOpen,\n totalCount,\n url,\n description,\n onClose,\n onReorderSuccess,\n}) => {\n const [reorderedRules, setReorderedRules] = useState([]);\n\n const { t } = useTranslation();\n\n const { data: { rules } = INITIAL_RULES_DATA, isLoading } =\n useFetchAutomationRules({ pageSize: totalCount, url }, { enabled: isOpen });\n\n const { mutate: reOrder, isPending } = useReorderAutomationRules(url);\n\n const firstDisplayOrder = rules[0]?.displayOrder ?? 1;\n\n const handleReorderSave = () =>\n reOrder(\n { url, payload: { reorder: { rules: reorderedRules } } },\n {\n onSuccess: () => {\n onReorderSuccess?.();\n onClose();\n },\n }\n );\n\n const onDragEnd = ({ destination, source }) => {\n if (!destination || source.index === destination.index) return;\n\n const items = reorderList({\n endIndex: destination.index,\n firstDisplayOrder,\n list: clone(reorderedRules),\n startIndex: source.index,\n });\n setReorderedRules(items);\n };\n\n useEffect(() => {\n setReorderedRules(rules);\n }, [rules]);\n\n if (isLoading) {\n return (\n <Sheet {...{ isOpen, onClose }} size=\"large\">\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n </Sheet>\n );\n }\n\n return (\n <Sheet {...{ isOpen, onClose }} size=\"large\">\n <Sheet.Header>\n <Sheet.Title>{t(\"neetoRules.common.reorder\")}</Sheet.Title>\n </Sheet.Header>\n <Sheet.Body>\n <Typography className=\"mb-3\" variant=\"body1\">\n {description ?? t(\"neetoRules.description.reorder\")}\n </Typography>\n <div className=\"flex flex-col items-center w-full\">\n <DragDropContext {...{ onDragEnd }}>\n <Droppable\n droppableId=\"droppable\"\n renderClone={(provided, snapshot, rubric) => (\n <div\n className=\"text-foreground mb-3 flex w-full items-center gap-1 font-medium\"\n key={`list_${reorderedRules[rubric.source.index].id}`}\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n style={getDragItemStyle(\n snapshot.isDragging,\n provided.draggableProps.style\n )}\n >\n <GripVertical\n className=\"text-muted-foreground/60 hover:text-muted-foreground -ms-1 cursor-grab transition-all duration-300 ease-in-out\"\n size={16}\n />\n <div className=\"bg-background grow border-border rounded-md flex items-center space-x-4 border p-3\">\n <div>{reorderedRules[rubric.source.index].name}</div>\n </div>\n </div>\n )}\n >\n {provided => (\n <div\n className=\"w-full\"\n {...provided.droppableProps}\n ref={provided.innerRef}\n >\n {reorderedRules.map((rule, index) => (\n <DraggableItem\n {...{ rule }}\n key={rule.id}\n ruleIndex={index}\n />\n ))}\n {provided.placeholder}\n </div>\n )}\n </Droppable>\n </DragDropContext>\n </div>\n </Sheet.Body>\n <Sheet.Footer className=\"flex items-center gap-x-2\">\n <Button\n data-testid=\"save-changes-button\"\n disabled={isPending || equals(rules, reorderedRules)}\n label={t(\"neetoRules.common.saveChange\")}\n loading={isPending}\n onClick={handleReorderSave}\n />\n <Button\n data-testid=\"cancel-button\"\n label={t(\"neetoRules.buttons.cancel\")}\n variant=\"ghost\"\n onClick={onClose}\n />\n </Sheet.Footer>\n </Sheet>\n );\n};\nexport default RulesReorder;\n"],"names":["INITIAL_RULES_DATA","rules","totalCount","reorderList","_ref","endIndex","firstDisplayOrder","list","startIndex","result","Array","from","_result$splice","splice","_result$splice2","_slicedToArray","removed","map","item","index","_objectSpread","displayOrder","getDragItemStyle","isDragging","draggableStyle","zIndex","DraggableItem","props","rule","ruleIndex","_jsx","Draggable","draggableId","concat","id","children","provided","snapshot","_jsxs","className","ref","innerRef","draggableProps","dragHandleProps","style","GripVertical","size","name","withRouter","RulesReorder","_rules$0$displayOrder","_rules$","isOpen","url","description","onClose","onReorderSuccess","_useState","useState","_useState2","reorderedRules","setReorderedRules","_useTranslation","useTranslation","t","_useFetchAutomationRu","useFetchAutomationRules","pageSize","enabled","_useFetchAutomationRu2","data","_useFetchAutomationRu3","isLoading","_useReorderAutomation","useReorderAutomationRules","reOrder","mutate","isPending","handleReorderSave","payload","reorder","onSuccess","onDragEnd","_ref2","destination","source","items","clone","useEffect","Sheet","Spinner","Header","Title","Body","Typography","variant","DragDropContext","Droppable","droppableId","renderClone","rubric","droppableProps","_createElement","key","placeholder","Footer","Button","disabled","equals","label","loading","onClick"],"mappings":"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"}
@@ -6,7 +6,7 @@ import { DEFAULT_PAGE_SIZE } from '@bigbinary/neeto-commons-frontend/v2/constant
6
6
  import { withT, useQueryParams } from '@bigbinary/neeto-commons-frontend/v2/react-utils';
7
7
  import Container from '@bigbinary/neeto-molecules/v2/Container';
8
8
  import { b as useUpdateAutomationRule, c as useCloneAutomationRule, d as useDeleteAutomationRule, u as useFetchAutomationRules } from '../useAutomationRulesApi-C9I3wUZ8.js';
9
- import { I as INITIAL_RULES_DATA, R as RulesReorder } from '../index-CA1_c_AW.js';
9
+ import { I as INITIAL_RULES_DATA, R as RulesReorder } from '../index-DA8DSoSK.js';
10
10
  import { Button, Typography, Switch, Spinner, DataTable, Alert, Empty } from '@bigbinary/neeto-atoms';
11
11
  import Header$2 from '@bigbinary/neeto-molecules/v2/Header';
12
12
  import { c as createRoutes } from '../utils-CeTB10_T.js';
@@ -7,7 +7,7 @@ import '@bigbinary/neeto-atoms';
7
7
  import 'ramda';
8
8
  import 'react-i18next';
9
9
  import '../useAutomationRulesApi-C9I3wUZ8.js';
10
- export { R as default } from '../index-CA1_c_AW.js';
10
+ export { R as default } from '../index-DA8DSoSK.js';
11
11
  import 'react/jsx-runtime';
12
12
  import '@tanstack/react-query';
13
13
  import '@bigbinary/neeto-commons-frontend/react-utils';
package/dist/v2/index.js CHANGED
@@ -2,7 +2,7 @@ export { A as AUTOMATION_RULES_QUERY_KEY } from '../index-9h4B7JZZ.js';
2
2
  export { default as CannedResponsesPane } from './CannedResponsesPane.js';
3
3
  export { default as NeetoRules } from './NeetoRules.js';
4
4
  export { default as NeetoRulesBuilder } from './NeetoRulesBuilder.js';
5
- export { R as RulesReorder } from '../index-CA1_c_AW.js';
5
+ export { R as RulesReorder } from '../index-DA8DSoSK.js';
6
6
  export { default as NeetoRulesForm } from './NeetoRulesForm.js';
7
7
  export { u as useCustomDataStore } from '../useCustomDataStore-CEbhXugO.js';
8
8
  export { default as RulePreview } from './RulePreview.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-rules-frontend",
3
- "version": "2.7.36",
3
+ "version": "2.7.37-beta1",
4
4
  "description": "A repo acts as the source of truth for the new nano's structure, configs, data etc.",
5
5
  "license": "UNLICENSED",
6
6
  "homepage": "https://github.com/bigbinary/neeto-rules-nano",
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-CA1_c_AW.js","sources":["../app/javascript/src/v2/components/NeetoRules/constants.js","../app/javascript/src/v2/components/NeetoRules/RulesReorder/utils.js","../app/javascript/src/v2/components/NeetoRules/RulesReorder/DraggableItem.jsx","../app/javascript/src/v2/components/NeetoRules/RulesReorder/index.jsx"],"sourcesContent":["export const STATUS_KEYS = { ENABLED: \"enabled\", DISABLED: \"disabled\" };\n\nexport const DEFAULT_INIT_PAGE = 1;\n\nexport const INITIAL_RULES_DATA = { rules: [], totalCount: 0 };\n","export const reorderList = ({\n endIndex,\n firstDisplayOrder,\n list,\n startIndex,\n}) => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n result.splice(endIndex, 0, removed);\n\n return result.map((item, index) => ({\n ...item,\n displayOrder: firstDisplayOrder + index,\n }));\n};\n\nexport const getDragItemStyle = (isDragging, draggableStyle) => ({\n // styles we need to apply on draggables\n ...draggableStyle,\n\n ...(isDragging && { zIndex: 99999 }),\n});\n","import { Draggable } from \"@hello-pangea/dnd\";\nimport { GripVertical } from \"lucide-react\";\nimport { withRouter } from \"react-router-dom\";\n\nimport { getDragItemStyle } from \"./utils\";\n\nconst DraggableItem = props => {\n const { rule, ruleIndex } = props;\n\n return (\n <Draggable draggableId={`item_${rule.id}`} index={ruleIndex}>\n {(provided, snapshot) => (\n <div\n className=\"text-foreground mb-3 flex w-full items-center gap-1 font-medium\"\n data-testid=\"automation-rule-reorder-drag-handle\"\n key={`list_${rule.id}`}\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n style={getDragItemStyle(\n snapshot.isDragging,\n provided.draggableProps.style\n )}\n >\n <GripVertical\n className=\"text-muted-foreground/60 hover:text-muted-foreground -ms-1 cursor-grab transition-all duration-300 ease-in-out\"\n size={16}\n />\n <div\n className=\"bg-background border-border rounded-md flex w-full items-center space-x-4 border p-3\"\n data-testid=\"automation-rule-reorder-container\"\n >\n {rule.name}\n </div>\n </div>\n )}\n </Draggable>\n );\n};\n\nexport default withRouter(DraggableItem);\n","import { useEffect, useState } from \"react\";\n\nimport { DragDropContext, Droppable } from \"@hello-pangea/dnd\";\nimport { GripVertical } from \"lucide-react\";\nimport { Button, Sheet, Spinner, Typography } from \"neetoatoms\";\nimport { clone, equals } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useFetchAutomationRules,\n useReorderAutomationRules,\n} from \"hooks/reactQuery/useAutomationRulesApi\";\n\nimport DraggableItem from \"./DraggableItem\";\nimport { getDragItemStyle, reorderList } from \"./utils\";\n\nimport { INITIAL_RULES_DATA } from \"../constants\";\n\nconst RulesReorder = ({\n isOpen,\n totalCount,\n url,\n onClose,\n onReorderSuccess,\n}) => {\n const [reorderedRules, setReorderedRules] = useState([]);\n\n const { t } = useTranslation();\n\n const { data: { rules } = INITIAL_RULES_DATA, isLoading } =\n useFetchAutomationRules({ pageSize: totalCount, url }, { enabled: isOpen });\n\n const { mutate: reOrder, isPending } = useReorderAutomationRules(url);\n\n const firstDisplayOrder = rules[0]?.displayOrder ?? 1;\n\n const handleReorderSave = () =>\n reOrder(\n { url, payload: { reorder: { rules: reorderedRules } } },\n {\n onSuccess: () => {\n onReorderSuccess?.();\n onClose();\n },\n }\n );\n\n const onDragEnd = ({ destination, source }) => {\n if (!destination || source.index === destination.index) return;\n\n const items = reorderList({\n endIndex: destination.index,\n firstDisplayOrder,\n list: clone(reorderedRules),\n startIndex: source.index,\n });\n setReorderedRules(items);\n };\n\n useEffect(() => {\n setReorderedRules(rules);\n }, [rules]);\n\n if (isLoading) {\n return (\n <Sheet {...{ isOpen, onClose }} size=\"large\">\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n </Sheet>\n );\n }\n\n return (\n <Sheet {...{ isOpen, onClose }} size=\"large\">\n <Sheet.Header>\n <Sheet.Title>{t(\"neetoRules.common.reorder\")}</Sheet.Title>\n </Sheet.Header>\n <Sheet.Body>\n <Typography className=\"mb-3\" variant=\"body1\">\n {t(\"neetoRules.description.reorder\")}\n </Typography>\n <div className=\"flex flex-col items-center w-full\">\n <DragDropContext {...{ onDragEnd }}>\n <Droppable\n droppableId=\"droppable\"\n renderClone={(provided, snapshot, rubric) => (\n <div\n className=\"text-foreground mb-3 flex w-full items-center gap-1 font-medium\"\n key={`list_${reorderedRules[rubric.source.index].id}`}\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n style={getDragItemStyle(\n snapshot.isDragging,\n provided.draggableProps.style\n )}\n >\n <GripVertical\n className=\"text-muted-foreground/60 hover:text-muted-foreground -ms-1 cursor-grab transition-all duration-300 ease-in-out\"\n size={16}\n />\n <div className=\"bg-background grow border-border rounded-md flex items-center space-x-4 border p-3\">\n <div>{reorderedRules[rubric.source.index].name}</div>\n </div>\n </div>\n )}\n >\n {provided => (\n <div\n className=\"w-full\"\n {...provided.droppableProps}\n ref={provided.innerRef}\n >\n {reorderedRules.map((rule, index) => (\n <DraggableItem\n {...{ rule }}\n key={rule.id}\n ruleIndex={index}\n />\n ))}\n {provided.placeholder}\n </div>\n )}\n </Droppable>\n </DragDropContext>\n </div>\n </Sheet.Body>\n <Sheet.Footer className=\"flex items-center gap-x-2\">\n <Button\n data-testid=\"save-changes-button\"\n disabled={isPending || equals(rules, reorderedRules)}\n label={t(\"neetoRules.common.saveChange\")}\n loading={isPending}\n onClick={handleReorderSave}\n />\n <Button\n data-testid=\"cancel-button\"\n label={t(\"neetoRules.buttons.cancel\")}\n variant=\"ghost\"\n onClick={onClose}\n />\n </Sheet.Footer>\n </Sheet>\n );\n};\nexport default RulesReorder;\n"],"names":["INITIAL_RULES_DATA","rules","totalCount","reorderList","_ref","endIndex","firstDisplayOrder","list","startIndex","result","Array","from","_result$splice","splice","_result$splice2","_slicedToArray","removed","map","item","index","_objectSpread","displayOrder","getDragItemStyle","isDragging","draggableStyle","zIndex","DraggableItem","props","rule","ruleIndex","_jsx","Draggable","draggableId","concat","id","children","provided","snapshot","_jsxs","className","ref","innerRef","draggableProps","dragHandleProps","style","GripVertical","size","name","withRouter","RulesReorder","_rules$0$displayOrder","_rules$","isOpen","url","onClose","onReorderSuccess","_useState","useState","_useState2","reorderedRules","setReorderedRules","_useTranslation","useTranslation","t","_useFetchAutomationRu","useFetchAutomationRules","pageSize","enabled","_useFetchAutomationRu2","data","_useFetchAutomationRu3","isLoading","_useReorderAutomation","useReorderAutomationRules","reOrder","mutate","isPending","handleReorderSave","payload","reorder","onSuccess","onDragEnd","_ref2","destination","source","items","clone","useEffect","Sheet","Spinner","Header","Title","Body","Typography","variant","DragDropContext","Droppable","droppableId","renderClone","rubric","droppableProps","_createElement","key","placeholder","Footer","Button","disabled","equals","label","loading","onClick"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-nOyFBBTX.js","sources":["../app/javascript/src/v2/components/NeetoRules/constants.js","../app/javascript/src/v2/components/NeetoRules/RulesReorder/utils.js","../app/javascript/src/v2/components/NeetoRules/RulesReorder/DraggableItem.jsx","../app/javascript/src/v2/components/NeetoRules/RulesReorder/index.jsx"],"sourcesContent":["export const STATUS_KEYS = { ENABLED: \"enabled\", DISABLED: \"disabled\" };\n\nexport const DEFAULT_INIT_PAGE = 1;\n\nexport const INITIAL_RULES_DATA = { rules: [], totalCount: 0 };\n","export const reorderList = ({\n endIndex,\n firstDisplayOrder,\n list,\n startIndex,\n}) => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n result.splice(endIndex, 0, removed);\n\n return result.map((item, index) => ({\n ...item,\n displayOrder: firstDisplayOrder + index,\n }));\n};\n\nexport const getDragItemStyle = (isDragging, draggableStyle) => ({\n // styles we need to apply on draggables\n ...draggableStyle,\n\n ...(isDragging && { zIndex: 99999 }),\n});\n","import { Draggable } from \"@hello-pangea/dnd\";\nimport { GripVertical } from \"lucide-react\";\nimport { withRouter } from \"react-router-dom\";\n\nimport { getDragItemStyle } from \"./utils\";\n\nconst DraggableItem = props => {\n const { rule, ruleIndex } = props;\n\n return (\n <Draggable draggableId={`item_${rule.id}`} index={ruleIndex}>\n {(provided, snapshot) => (\n <div\n className=\"text-foreground mb-3 flex w-full items-center gap-1 font-medium\"\n data-testid=\"automation-rule-reorder-drag-handle\"\n key={`list_${rule.id}`}\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n style={getDragItemStyle(\n snapshot.isDragging,\n provided.draggableProps.style\n )}\n >\n <GripVertical\n className=\"text-muted-foreground/60 hover:text-muted-foreground -ms-1 cursor-grab transition-all duration-300 ease-in-out\"\n size={16}\n />\n <div\n className=\"bg-background border-border rounded-md flex w-full items-center space-x-4 border p-3\"\n data-testid=\"automation-rule-reorder-container\"\n >\n {rule.name}\n </div>\n </div>\n )}\n </Draggable>\n );\n};\n\nexport default withRouter(DraggableItem);\n","import { useEffect, useState } from \"react\";\n\nimport { DragDropContext, Droppable } from \"@hello-pangea/dnd\";\nimport { GripVertical } from \"lucide-react\";\nimport { Button, Sheet, Spinner, Typography } from \"neetoatoms\";\nimport { clone, equals } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useFetchAutomationRules,\n useReorderAutomationRules,\n} from \"hooks/reactQuery/useAutomationRulesApi\";\n\nimport DraggableItem from \"./DraggableItem\";\nimport { getDragItemStyle, reorderList } from \"./utils\";\n\nimport { INITIAL_RULES_DATA } from \"../constants\";\n\nconst RulesReorder = ({\n isOpen,\n totalCount,\n url,\n onClose,\n onReorderSuccess,\n}) => {\n const [reorderedRules, setReorderedRules] = useState([]);\n\n const { t } = useTranslation();\n\n const { data: { rules } = INITIAL_RULES_DATA, isLoading } =\n useFetchAutomationRules({ pageSize: totalCount, url }, { enabled: isOpen });\n\n const { mutate: reOrder, isPending } = useReorderAutomationRules(url);\n\n const firstDisplayOrder = rules[0]?.displayOrder ?? 1;\n\n const handleReorderSave = () =>\n reOrder(\n { url, payload: { reorder: { rules: reorderedRules } } },\n {\n onSuccess: () => {\n onReorderSuccess?.();\n onClose();\n },\n }\n );\n\n const onDragEnd = ({ destination, source }) => {\n if (!destination || source.index === destination.index) return;\n\n const items = reorderList({\n endIndex: destination.index,\n firstDisplayOrder,\n list: clone(reorderedRules),\n startIndex: source.index,\n });\n setReorderedRules(items);\n };\n\n useEffect(() => {\n setReorderedRules(rules);\n }, [rules]);\n\n if (isLoading) {\n return (\n <Sheet {...{ isOpen, onClose }} size=\"large\">\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n </Sheet>\n );\n }\n\n return (\n <Sheet {...{ isOpen, onClose }} size=\"large\">\n <Sheet.Header>\n <Sheet.Title>{t(\"neetoRules.common.reorder\")}</Sheet.Title>\n </Sheet.Header>\n <Sheet.Body>\n <Typography className=\"mb-3\" variant=\"body1\">\n {t(\"neetoRules.description.reorder\")}\n </Typography>\n <div className=\"flex flex-col items-center w-full\">\n <DragDropContext {...{ onDragEnd }}>\n <Droppable\n droppableId=\"droppable\"\n renderClone={(provided, snapshot, rubric) => (\n <div\n className=\"text-foreground mb-3 flex w-full items-center gap-1 font-medium\"\n key={`list_${reorderedRules[rubric.source.index].id}`}\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n style={getDragItemStyle(\n snapshot.isDragging,\n provided.draggableProps.style\n )}\n >\n <GripVertical\n className=\"text-muted-foreground/60 hover:text-muted-foreground -ms-1 cursor-grab transition-all duration-300 ease-in-out\"\n size={16}\n />\n <div className=\"bg-background grow border-border rounded-md flex items-center space-x-4 border p-3\">\n <div>{reorderedRules[rubric.source.index].name}</div>\n </div>\n </div>\n )}\n >\n {provided => (\n <div\n className=\"w-full\"\n {...provided.droppableProps}\n ref={provided.innerRef}\n >\n {reorderedRules.map((rule, index) => (\n <DraggableItem\n {...{ rule }}\n key={rule.id}\n ruleIndex={index}\n />\n ))}\n {provided.placeholder}\n </div>\n )}\n </Droppable>\n </DragDropContext>\n </div>\n </Sheet.Body>\n <Sheet.Footer className=\"flex items-center gap-x-2\">\n <Button\n data-testid=\"save-changes-button\"\n disabled={isPending || equals(rules, reorderedRules)}\n label={t(\"neetoRules.common.saveChange\")}\n loading={isPending}\n onClick={handleReorderSave}\n />\n <Button\n data-testid=\"cancel-button\"\n label={t(\"neetoRules.buttons.cancel\")}\n variant=\"ghost\"\n onClick={onClose}\n />\n </Sheet.Footer>\n </Sheet>\n );\n};\nexport default RulesReorder;\n"],"names":["INITIAL_RULES_DATA","rules","totalCount","reorderList","_ref","endIndex","firstDisplayOrder","list","startIndex","result","Array","from","_result$splice","splice","_result$splice2","_slicedToArray","removed","map","item","index","_objectSpread","displayOrder","getDragItemStyle","isDragging","draggableStyle","zIndex","DraggableItem","props","rule","ruleIndex","_jsx","Draggable","draggableId","concat","id","children","provided","snapshot","_jsxs","className","ref","innerRef","draggableProps","dragHandleProps","style","GripVertical","size","name","withRouter","RulesReorder","_rules$0$displayOrder","_rules$","isOpen","url","onClose","onReorderSuccess","_useState","useState","_useState2","reorderedRules","setReorderedRules","_useTranslation","useTranslation","t","_useFetchAutomationRu","useFetchAutomationRules","pageSize","enabled","_useFetchAutomationRu2","data","_useFetchAutomationRu3","isLoading","_useReorderAutomation","useReorderAutomationRules","reOrder","mutate","isPending","handleReorderSave","payload","reorder","onSuccess","onDragEnd","_ref2","destination","source","items","clone","useEffect","Sheet","Spinner","Header","Title","Body","Typography","variant","DragDropContext","Droppable","droppableId","renderClone","rubric","droppableProps","_createElement","key","placeholder","Footer","Button","disabled","equals","label","loading","onClick"],"mappings":"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"}