@wix/patterns 1.232.0 → 1.234.0
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/cjs/bm/WixPatternsBMProvider.js +2 -1
- package/dist/cjs/bm/WixPatternsBMProvider.js.map +1 -1
- package/dist/cjs/bm/errorMonitorCompat.js +33 -0
- package/dist/cjs/bm/errorMonitorCompat.js.map +1 -0
- package/dist/cjs/bm/usePickerModal.js +2 -1
- package/dist/cjs/bm/usePickerModal.js.map +1 -1
- package/dist/cjs/bm/warmUpPickerStandalone.js +2 -1
- package/dist/cjs/bm/warmUpPickerStandalone.js.map +1 -1
- package/dist/cjs/components/CardContainer/CardContainer.st.css.js +2 -2
- package/dist/cjs/components/CardContainer/CardContainer.st.css.js.map +1 -1
- package/dist/cjs/components/Collapse/Collapse.st.css.js +3 -3
- package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
- package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js +2 -2
- package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +4 -4
- package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
- package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
- package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js +2 -2
- package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
- package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
- package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
- package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
- package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
- package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
- package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
- package/dist/cjs/components/Kanban/Card.js +15 -13
- package/dist/cjs/components/Kanban/Card.js.map +1 -1
- package/dist/cjs/components/Kanban/Kanban.js +21 -7
- package/dist/cjs/components/Kanban/Kanban.js.map +1 -1
- package/dist/cjs/components/Kanban/Stage.js +20 -22
- package/dist/cjs/components/Kanban/Stage.js.map +1 -1
- package/dist/cjs/components/KanbanDragAndDropDndKit/KanbanCardDragAndDrop.js +16 -7
- package/dist/cjs/components/KanbanDragAndDropDndKit/KanbanCardDragAndDrop.js.map +1 -1
- package/dist/cjs/components/KanbanDragAndDropDndKit/KanbanDragAndDropContext.js +9 -1
- package/dist/cjs/components/KanbanDragAndDropDndKit/KanbanDragAndDropContext.js.map +1 -1
- package/dist/cjs/components/KanbanDragAndDropDndKit/KanbanDragOverlay.js +62 -0
- package/dist/cjs/components/KanbanDragAndDropDndKit/KanbanDragOverlay.js.map +1 -0
- package/dist/cjs/components/KanbanDragAndDropDndKit/KanbanDragOverlayCardItem.js +74 -0
- package/dist/cjs/components/KanbanDragAndDropDndKit/KanbanDragOverlayCardItem.js.map +1 -0
- package/dist/cjs/components/KanbanDragAndDropDndKit/KanbanDraggableCardItem.js +12 -7
- package/dist/cjs/components/KanbanDragAndDropDndKit/KanbanDraggableCardItem.js.map +1 -1
- package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
- package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
- package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
- package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
- package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
- package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
- package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
- package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
- package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
- package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
- package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
- package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
- package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
- package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
- package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
- package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
- package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
- package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
- package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
- package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
- package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
- package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
- package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
- package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
- package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
- package/dist/cjs/components/common.st.css.js +4 -4
- package/dist/cjs/components/common.st.css.js.map +1 -1
- package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
- package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
- package/dist/cjs/state/FormPage/FormPageHeader.st.css.js +2 -2
- package/dist/cjs/state/FormPage/FormPageHeader.st.css.js.map +1 -1
- package/dist/cjs/state/KanbanState/KanbanState.js +23 -4
- package/dist/cjs/state/KanbanState/KanbanState.js.map +1 -1
- package/dist/cjs/styles.global.css +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/esm/bm/WixPatternsBMProvider.js +3 -2
- package/dist/esm/bm/WixPatternsBMProvider.js.map +1 -1
- package/dist/esm/bm/errorMonitorCompat.js +30 -0
- package/dist/esm/bm/errorMonitorCompat.js.map +1 -0
- package/dist/esm/bm/usePickerModal.js +3 -2
- package/dist/esm/bm/usePickerModal.js.map +1 -1
- package/dist/esm/bm/warmUpPickerStandalone.js +2 -1
- package/dist/esm/bm/warmUpPickerStandalone.js.map +1 -1
- package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
- package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
- package/dist/esm/components/Collapse/Collapse.st.css.js.map +1 -1
- package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
- package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
- package/dist/esm/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
- package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/esm/components/DragHandle/DragHandle.st.css.js.map +1 -1
- package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
- package/dist/esm/components/Fade/Fade.st.css.js +2 -2
- package/dist/esm/components/Heading/Heading.st.css.js +2 -2
- package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
- package/dist/esm/components/Kanban/Card.js +2 -1
- package/dist/esm/components/Kanban/Card.js.map +1 -1
- package/dist/esm/components/Kanban/Kanban.js +4 -3
- package/dist/esm/components/Kanban/Kanban.js.map +1 -1
- package/dist/esm/components/Kanban/Stage.js +8 -6
- package/dist/esm/components/Kanban/Stage.js.map +1 -1
- package/dist/esm/components/KanbanDragAndDropDndKit/KanbanCardDragAndDrop.js +15 -5
- package/dist/esm/components/KanbanDragAndDropDndKit/KanbanCardDragAndDrop.js.map +1 -1
- package/dist/esm/components/KanbanDragAndDropDndKit/KanbanDragAndDropContext.js +9 -2
- package/dist/esm/components/KanbanDragAndDropDndKit/KanbanDragAndDropContext.js.map +1 -1
- package/dist/esm/components/KanbanDragAndDropDndKit/KanbanDragOverlay.js +16 -0
- package/dist/esm/components/KanbanDragAndDropDndKit/KanbanDragOverlay.js.map +1 -0
- package/dist/esm/components/KanbanDragAndDropDndKit/KanbanDragOverlayCardItem.js +50 -0
- package/dist/esm/components/KanbanDragAndDropDndKit/KanbanDragOverlayCardItem.js.map +1 -0
- package/dist/esm/components/KanbanDragAndDropDndKit/KanbanDraggableCardItem.js +8 -3
- package/dist/esm/components/KanbanDragAndDropDndKit/KanbanDraggableCardItem.js.map +1 -1
- package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
- package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
- package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
- package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
- package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
- package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
- package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
- package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
- package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
- package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
- package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
- package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
- package/dist/esm/components/common.st.css.js +2 -2
- package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
- package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
- package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
- package/dist/esm/state/KanbanState/KanbanState.js +23 -4
- package/dist/esm/state/KanbanState/KanbanState.js.map +1 -1
- package/dist/esm/styles.global.css +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/bm/WixPatternsBMProvider.d.ts.map +1 -1
- package/dist/types/bm/errorMonitorCompat.d.ts +5 -0
- package/dist/types/bm/errorMonitorCompat.d.ts.map +1 -0
- package/dist/types/bm/warmUpPickerStandalone.d.ts.map +1 -1
- package/dist/types/components/Collapse/Collapse.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionTable/CollectionTable.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/SearchOrCustomFilter.st.css.d.ts.map +1 -1
- package/dist/types/components/DragHandle/DragHandle.st.css.d.ts.map +1 -1
- package/dist/types/components/Kanban/Card.d.ts +2 -1
- package/dist/types/components/Kanban/Card.d.ts.map +1 -1
- package/dist/types/components/Kanban/Kanban.d.ts.map +1 -1
- package/dist/types/components/Kanban/Stage.d.ts.map +1 -1
- package/dist/types/components/KanbanDragAndDropDndKit/KanbanCardDragAndDrop.d.ts +3 -0
- package/dist/types/components/KanbanDragAndDropDndKit/KanbanCardDragAndDrop.d.ts.map +1 -1
- package/dist/types/components/KanbanDragAndDropDndKit/KanbanDragAndDropContext.d.ts.map +1 -1
- package/dist/types/components/KanbanDragAndDropDndKit/KanbanDragOverlay.d.ts +17 -0
- package/dist/types/components/KanbanDragAndDropDndKit/KanbanDragOverlay.d.ts.map +1 -0
- package/dist/types/components/KanbanDragAndDropDndKit/KanbanDragOverlayCardItem.d.ts +17 -0
- package/dist/types/components/KanbanDragAndDropDndKit/KanbanDragOverlayCardItem.d.ts.map +1 -0
- package/dist/types/components/KanbanDragAndDropDndKit/KanbanDraggableCardItem.d.ts.map +1 -1
- package/dist/types/components/SkeletonCard/SkeletonCard.st.css.d.ts.map +1 -1
- package/dist/types/state/CollectionPage/CollectionPageHeader.st.css.d.ts.map +1 -1
- package/dist/types/state/KanbanState/KanbanState.d.ts +11 -1
- package/dist/types/state/KanbanState/KanbanState.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +3 -3
|
@@ -14,7 +14,8 @@ function _CardComponent({
|
|
|
14
14
|
item,
|
|
15
15
|
stageKey,
|
|
16
16
|
actionCell,
|
|
17
|
-
itemActionsState
|
|
17
|
+
itemActionsState,
|
|
18
|
+
isDragging
|
|
18
19
|
}) {
|
|
19
20
|
const {
|
|
20
21
|
title,
|
|
@@ -28,12 +29,13 @@ function _CardComponent({
|
|
|
28
29
|
marginRight: '12px',
|
|
29
30
|
marginLeft: '12px',
|
|
30
31
|
overflow: 'visible',
|
|
31
|
-
width: '246px'
|
|
32
|
+
width: '246px',
|
|
33
|
+
opacity: isDragging ? 0.8 : 1
|
|
32
34
|
},
|
|
33
35
|
__self: this,
|
|
34
36
|
__source: {
|
|
35
37
|
fileName: _jsxFileName,
|
|
36
|
-
lineNumber:
|
|
38
|
+
lineNumber: 40,
|
|
37
39
|
columnNumber: 5
|
|
38
40
|
}
|
|
39
41
|
}, /*#__PURE__*/React.createElement(_designSystem.ClickableCard, {
|
|
@@ -42,7 +44,7 @@ function _CardComponent({
|
|
|
42
44
|
__self: this,
|
|
43
45
|
__source: {
|
|
44
46
|
fileName: _jsxFileName,
|
|
45
|
-
lineNumber:
|
|
47
|
+
lineNumber: 50,
|
|
46
48
|
columnNumber: 7
|
|
47
49
|
}
|
|
48
50
|
}, /*#__PURE__*/React.createElement(_designSystem.Box, {
|
|
@@ -52,7 +54,7 @@ function _CardComponent({
|
|
|
52
54
|
__self: this,
|
|
53
55
|
__source: {
|
|
54
56
|
fileName: _jsxFileName,
|
|
55
|
-
lineNumber:
|
|
57
|
+
lineNumber: 51,
|
|
56
58
|
columnNumber: 9
|
|
57
59
|
}
|
|
58
60
|
}, /*#__PURE__*/React.createElement(_designSystem.Box, {
|
|
@@ -60,7 +62,7 @@ function _CardComponent({
|
|
|
60
62
|
__self: this,
|
|
61
63
|
__source: {
|
|
62
64
|
fileName: _jsxFileName,
|
|
63
|
-
lineNumber:
|
|
65
|
+
lineNumber: 56,
|
|
64
66
|
columnNumber: 11
|
|
65
67
|
}
|
|
66
68
|
}, /*#__PURE__*/React.createElement(_designSystem.Text, {
|
|
@@ -72,7 +74,7 @@ function _CardComponent({
|
|
|
72
74
|
__self: this,
|
|
73
75
|
__source: {
|
|
74
76
|
fileName: _jsxFileName,
|
|
75
|
-
lineNumber:
|
|
77
|
+
lineNumber: 57,
|
|
76
78
|
columnNumber: 13
|
|
77
79
|
}
|
|
78
80
|
}, title)), /*#__PURE__*/React.createElement(_designSystem.Box, {
|
|
@@ -81,28 +83,28 @@ function _CardComponent({
|
|
|
81
83
|
__self: this,
|
|
82
84
|
__source: {
|
|
83
85
|
fileName: _jsxFileName,
|
|
84
|
-
lineNumber:
|
|
86
|
+
lineNumber: 68,
|
|
85
87
|
columnNumber: 11
|
|
86
88
|
}
|
|
87
89
|
}, /*#__PURE__*/React.createElement(_designSystem.Box, {
|
|
88
90
|
__self: this,
|
|
89
91
|
__source: {
|
|
90
92
|
fileName: _jsxFileName,
|
|
91
|
-
lineNumber:
|
|
93
|
+
lineNumber: 69,
|
|
92
94
|
columnNumber: 13
|
|
93
95
|
}
|
|
94
96
|
}, badge), /*#__PURE__*/React.createElement(_designSystem.Box, {
|
|
95
97
|
__self: this,
|
|
96
98
|
__source: {
|
|
97
99
|
fileName: _jsxFileName,
|
|
98
|
-
lineNumber:
|
|
100
|
+
lineNumber: 70,
|
|
99
101
|
columnNumber: 13
|
|
100
102
|
}
|
|
101
103
|
}, subtitle), /*#__PURE__*/React.createElement(_designSystem.Box, {
|
|
102
104
|
__self: this,
|
|
103
105
|
__source: {
|
|
104
106
|
fileName: _jsxFileName,
|
|
105
|
-
lineNumber:
|
|
107
|
+
lineNumber: 71,
|
|
106
108
|
columnNumber: 13
|
|
107
109
|
}
|
|
108
110
|
}, additionalInfo)), /*#__PURE__*/React.createElement(_designSystem.Box, {
|
|
@@ -111,7 +113,7 @@ function _CardComponent({
|
|
|
111
113
|
__self: this,
|
|
112
114
|
__source: {
|
|
113
115
|
fileName: _jsxFileName,
|
|
114
|
-
lineNumber:
|
|
116
|
+
lineNumber: 73,
|
|
115
117
|
columnNumber: 11
|
|
116
118
|
}
|
|
117
119
|
}, /*#__PURE__*/React.createElement(_CardActions.CardActions, {
|
|
@@ -124,7 +126,7 @@ function _CardComponent({
|
|
|
124
126
|
__self: this,
|
|
125
127
|
__source: {
|
|
126
128
|
fileName: _jsxFileName,
|
|
127
|
-
lineNumber:
|
|
129
|
+
lineNumber: 74,
|
|
128
130
|
columnNumber: 13
|
|
129
131
|
}
|
|
130
132
|
})))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","_interopRequireWildcard","require","_mobxReactLite","_designSystem","_CardActions","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_CardComponent","originalItem","itemIndex","item","stageKey","actionCell","itemActionsState","title","subtitle","additionalInfo","badge","createElement","key","style","marginRight","marginLeft","overflow","width","__self","__source","fileName","lineNumber","columnNumber","ClickableCard","hasPadding","skin","Box","padding","dataHook","direction","paddingBottom","Text","size","weight","ellipsis","maxLines","gap","align","paddingTop","CardActions","CardComponent","exports","observer"],"sources":["../../../../src/components/Kanban/Card.tsx"],"sourcesContent":["import * as React from 'react';\nimport { observer } from 'mobx-react-lite';\nimport { FiltersMap, KeyedItem } from '@wix/bex-core';\nimport { Box, Text, ClickableCard } from '@wix/design-system';\nimport { KanbanBaseProps } from './KanbanProps';\nimport { ItemActionsState } from '../../state';\nimport { CardActions } from './CardActions';\n\nexport interface KanbanCardProps<T, S, F extends FiltersMap> {\n keyedItem: KeyedItem<T>;\n stageKey: string;\n originalItem: T;\n itemIndex: number;\n item: {\n key: string;\n title?: string;\n subtitle?: React.ReactNode;\n additionalInfo?: React.ReactNode;\n badge?: React.ReactNode;\n };\n actionCell?: KanbanBaseProps<T, S, F>['actionCell'];\n itemActionsState: ItemActionsState<T, F>;\n dataExtension?: KanbanBaseProps<T, S, F>['dataExtension'];\n tags?: KanbanBaseProps<T, S, F>['tags'];\n}\n\nfunction _CardComponent<T, S, F extends FiltersMap>({\n originalItem,\n itemIndex,\n item,\n stageKey,\n actionCell,\n itemActionsState,\n}: KanbanCardProps<T, S, F>) {\n const { title, subtitle, additionalInfo, badge } = item;\n\n return (\n <div\n data-hook={`kanban-card-container-${stageKey}-${item.key}`}\n style={{\n marginRight: '12px',\n marginLeft: '12px',\n overflow: 'visible',\n width: '246px',\n }}\n >\n <ClickableCard hasPadding={false} skin=\"shadow\">\n <Box\n padding=\"12px\"\n dataHook={`kanban-card-${stageKey}-${item.key}`}\n direction=\"vertical\"\n >\n <Box paddingBottom=\"3px\">\n <Text\n dataHook={`kanban-card-title-${stageKey}-${item.key}`}\n size=\"small\"\n weight=\"normal\"\n ellipsis={true}\n maxLines={2}\n >\n {title}\n </Text>\n </Box>\n\n <Box direction=\"vertical\" gap=\"1px\">\n <Box>{badge}</Box>\n <Box>{subtitle}</Box>\n <Box>{additionalInfo}</Box>\n </Box>\n <Box align=\"right\" paddingTop=\"6px\">\n <CardActions\n actionCell={actionCell}\n originalItem={originalItem}\n itemIndex={itemIndex}\n itemActionsState={itemActionsState}\n stageKey={stageKey}\n item={item}\n />\n </Box>\n </Box>\n </ClickableCard>\n </div>\n );\n}\n\nexport const CardComponent = observer(_CardComponent);\n"],"mappings":";;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAEA,IAAAE,aAAA,GAAAF,OAAA;AAGA,IAAAG,YAAA,GAAAH,OAAA;AAA4C,IAAAI,YAAA;AAAA,SAAAL,wBAAAM,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAR,uBAAA,YAAAA,CAAAM,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;
|
|
1
|
+
{"version":3,"names":["React","_interopRequireWildcard","require","_mobxReactLite","_designSystem","_CardActions","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_CardComponent","originalItem","itemIndex","item","stageKey","actionCell","itemActionsState","isDragging","title","subtitle","additionalInfo","badge","createElement","key","style","marginRight","marginLeft","overflow","width","opacity","__self","__source","fileName","lineNumber","columnNumber","ClickableCard","hasPadding","skin","Box","padding","dataHook","direction","paddingBottom","Text","size","weight","ellipsis","maxLines","gap","align","paddingTop","CardActions","CardComponent","exports","observer"],"sources":["../../../../src/components/Kanban/Card.tsx"],"sourcesContent":["import * as React from 'react';\nimport { observer } from 'mobx-react-lite';\nimport { FiltersMap, KeyedItem } from '@wix/bex-core';\nimport { Box, Text, ClickableCard } from '@wix/design-system';\nimport { KanbanBaseProps } from './KanbanProps';\nimport { ItemActionsState } from '../../state';\nimport { CardActions } from './CardActions';\n\nexport interface KanbanCardProps<T, S, F extends FiltersMap> {\n keyedItem: KeyedItem<T>;\n stageKey: string;\n originalItem: T;\n itemIndex: number;\n item: {\n key: string;\n title?: string;\n subtitle?: React.ReactNode;\n additionalInfo?: React.ReactNode;\n badge?: React.ReactNode;\n };\n actionCell?: KanbanBaseProps<T, S, F>['actionCell'];\n itemActionsState: ItemActionsState<T, F>;\n dataExtension?: KanbanBaseProps<T, S, F>['dataExtension'];\n tags?: KanbanBaseProps<T, S, F>['tags'];\n isDragging?: boolean;\n}\n\nfunction _CardComponent<T, S, F extends FiltersMap>({\n originalItem,\n itemIndex,\n item,\n stageKey,\n actionCell,\n itemActionsState,\n isDragging,\n}: KanbanCardProps<T, S, F>) {\n const { title, subtitle, additionalInfo, badge } = item;\n\n return (\n <div\n data-hook={`kanban-card-container-${stageKey}-${item.key}`}\n style={{\n marginRight: '12px',\n marginLeft: '12px',\n overflow: 'visible',\n width: '246px',\n opacity: isDragging ? 0.8 : 1,\n }}\n >\n <ClickableCard hasPadding={false} skin=\"shadow\">\n <Box\n padding=\"12px\"\n dataHook={`kanban-card-${stageKey}-${item.key}`}\n direction=\"vertical\"\n >\n <Box paddingBottom=\"3px\">\n <Text\n dataHook={`kanban-card-title-${stageKey}-${item.key}`}\n size=\"small\"\n weight=\"normal\"\n ellipsis={true}\n maxLines={2}\n >\n {title}\n </Text>\n </Box>\n\n <Box direction=\"vertical\" gap=\"1px\">\n <Box>{badge}</Box>\n <Box>{subtitle}</Box>\n <Box>{additionalInfo}</Box>\n </Box>\n <Box align=\"right\" paddingTop=\"6px\">\n <CardActions\n actionCell={actionCell}\n originalItem={originalItem}\n itemIndex={itemIndex}\n itemActionsState={itemActionsState}\n stageKey={stageKey}\n item={item}\n />\n </Box>\n </Box>\n </ClickableCard>\n </div>\n );\n}\n\nexport const CardComponent = observer(_CardComponent);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -35,7 +35,8 @@ function _Kanban(props) {
|
|
|
35
35
|
|
|
36
36
|
// Wrap with global drag and drop context - always enabled for Kanban
|
|
37
37
|
const {
|
|
38
|
-
KanbanDragAndDropContext
|
|
38
|
+
KanbanDragAndDropContext,
|
|
39
|
+
DragOverlay
|
|
39
40
|
} = _KanbanCardDragAndDrop.KanbanCardDragAndDrop;
|
|
40
41
|
const stagesContent = /*#__PURE__*/_react.default.createElement(KanbanDragAndDropContext, {
|
|
41
42
|
state: state,
|
|
@@ -67,7 +68,19 @@ function _Kanban(props) {
|
|
|
67
68
|
lineNumber: 41,
|
|
68
69
|
columnNumber: 11
|
|
69
70
|
}
|
|
70
|
-
}))))
|
|
71
|
+
})))), /*#__PURE__*/_react.default.createElement(DragOverlay, {
|
|
72
|
+
state: state,
|
|
73
|
+
renderItem: props.renderItem,
|
|
74
|
+
actionCell: props.actionCell,
|
|
75
|
+
dataExtension: props.dataExtension,
|
|
76
|
+
tags: props.tags,
|
|
77
|
+
__self: this,
|
|
78
|
+
__source: {
|
|
79
|
+
fileName: _jsxFileName,
|
|
80
|
+
lineNumber: 50,
|
|
81
|
+
columnNumber: 7
|
|
82
|
+
}
|
|
83
|
+
}));
|
|
71
84
|
return /*#__PURE__*/_react.default.createElement(_CollectionCard.CollectionCard, {
|
|
72
85
|
errorState: false,
|
|
73
86
|
state: toolbar,
|
|
@@ -75,7 +88,7 @@ function _Kanban(props) {
|
|
|
75
88
|
__self: this,
|
|
76
89
|
__source: {
|
|
77
90
|
fileName: _jsxFileName,
|
|
78
|
-
lineNumber:
|
|
91
|
+
lineNumber: 61,
|
|
79
92
|
columnNumber: 5
|
|
80
93
|
}
|
|
81
94
|
}, /*#__PURE__*/_react.default.createElement(_ToolbarCollection.ToolbarCollection, {
|
|
@@ -85,7 +98,7 @@ function _Kanban(props) {
|
|
|
85
98
|
__self: this,
|
|
86
99
|
__source: {
|
|
87
100
|
fileName: _jsxFileName,
|
|
88
|
-
lineNumber:
|
|
101
|
+
lineNumber: 62,
|
|
89
102
|
columnNumber: 7
|
|
90
103
|
}
|
|
91
104
|
}, /*#__PURE__*/_react.default.createElement(_designSystem.Box, {
|
|
@@ -93,12 +106,13 @@ function _Kanban(props) {
|
|
|
93
106
|
marginTop: "12px",
|
|
94
107
|
marginBottom: "12px",
|
|
95
108
|
marginLeft: "18px",
|
|
109
|
+
marginRight: "18px",
|
|
96
110
|
overflow: "auto",
|
|
97
111
|
direction: "vertical",
|
|
98
112
|
__self: this,
|
|
99
113
|
__source: {
|
|
100
114
|
fileName: _jsxFileName,
|
|
101
|
-
lineNumber:
|
|
115
|
+
lineNumber: 63,
|
|
102
116
|
columnNumber: 9
|
|
103
117
|
}
|
|
104
118
|
}, /*#__PURE__*/_react.default.createElement(_designSystem.Box, {
|
|
@@ -107,14 +121,14 @@ function _Kanban(props) {
|
|
|
107
121
|
__self: this,
|
|
108
122
|
__source: {
|
|
109
123
|
fileName: _jsxFileName,
|
|
110
|
-
lineNumber:
|
|
124
|
+
lineNumber: 72,
|
|
111
125
|
columnNumber: 11
|
|
112
126
|
}
|
|
113
127
|
}, props.state.isLoadingStages() ? /*#__PURE__*/_react.default.createElement(_StagesSkeleton.StagesSkeleton, {
|
|
114
128
|
__self: this,
|
|
115
129
|
__source: {
|
|
116
130
|
fileName: _jsxFileName,
|
|
117
|
-
lineNumber:
|
|
131
|
+
lineNumber: 73,
|
|
118
132
|
columnNumber: 46
|
|
119
133
|
}
|
|
120
134
|
}) : stagesContent))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_ToolbarCollection","_mobxReactLite","_Stage","_designSystem","_CollectionCard","_KanbanCardDragAndDrop","_StagesSkeleton","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_Kanban","props","state","dataHook","toolbar","useEffect","init","stages","useMemo","activeId","dragAndDropState","activeStageKey","substring","indexOf","KanbanDragAndDropContext","KanbanCardDragAndDrop","stagesContent","createElement","stageId","__self","__source","fileName","lineNumber","columnNumber","Box","direction","gap","map","stage","StageComponent","_extends2","stageKey","key","CollectionCard","errorState","ToolbarCollection","search","sticky","marginTop","marginBottom","marginLeft","overflow","isLoadingStages","StagesSkeleton","Kanban","exports","observer"],"sources":["../../../../src/components/Kanban/Kanban.tsx"],"sourcesContent":["import React, { useEffect, useMemo } from 'react';\nimport { ToolbarBaseProps, ToolbarCollection } from '../ToolbarCollection';\nimport { observer } from 'mobx-react-lite';\nimport { FiltersMap } from '@wix/bex-core';\nimport { KanbanBaseProps } from './KanbanProps';\nimport { StageComponent } from './Stage';\nimport { Box } from '@wix/design-system';\nimport { CollectionCard } from '../CollectionCard';\nimport { KanbanCardDragAndDrop } from '../KanbanDragAndDropDndKit/KanbanCardDragAndDrop';\nimport { StagesSkeleton } from './StagesSkeleton';\n\nexport interface KanbanProps<C, S, F extends FiltersMap>\n extends ToolbarBaseProps,\n KanbanBaseProps<C, S, F> {}\n\nfunction _Kanban<C, S, F extends FiltersMap>(props: KanbanProps<C, S, F>) {\n const { state, dataHook } = props;\n\n const { toolbar } = state;\n\n useEffect(() => {\n props.state.init();\n }, [props.state]);\n\n const stages = useMemo(() => {\n return props.state.stages;\n }, [props.state.stages]);\n\n // Calculate active stage key from activeId\n const activeId = state.dragAndDropState.activeId;\n const activeStageKey = activeId\n ? activeId.substring(0, activeId.indexOf('-##-')) || null\n : null;\n\n // Wrap with global drag and drop context - always enabled for Kanban\n const { KanbanDragAndDropContext } = KanbanCardDragAndDrop;\n const stagesContent = (\n <KanbanDragAndDropContext state={state} stageId=\"all\">\n <Box direction=\"horizontal\" gap=\"12px\">\n {stages.map((stage: S) => (\n <StageComponent\n dataHook={`kanban-stage-${props.state.stageKey(stage)}`}\n key={props.state.stageKey(stage)}\n activeStageKey={activeStageKey}\n stageKey={props.state.stageKey(stage)}\n {...props}\n />\n ))}\n </Box>\n </KanbanDragAndDropContext>\n );\n\n return (\n <CollectionCard errorState={false} state={toolbar} dataHook={dataHook}>\n <ToolbarCollection search={true} sticky state={toolbar}>\n <Box\n dataHook=\"kanban-test\"\n marginTop=\"12px\"\n marginBottom=\"12px\"\n marginLeft=\"18px\"\n overflow=\"auto\"\n direction=\"vertical\"\n >\n <Box dataHook=\"kanban-stages\" direction=\"vertical\">\n {props.state.isLoadingStages() ? <StagesSkeleton /> : stagesContent}\n </Box>\n </Box>\n </ToolbarCollection>\n </CollectionCard>\n );\n}\n\nexport const Kanban = observer(_Kanban);\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AAGA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AACA,IAAAK,eAAA,GAAAL,OAAA;AACA,IAAAM,sBAAA,GAAAN,OAAA;AACA,IAAAO,eAAA,GAAAP,OAAA;AAAkD,IAAAQ,YAAA;AAAA,SAAAT,wBAAAU,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAZ,uBAAA,YAAAA,CAAAU,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAMlD,SAASkB,OAAOA,CAA6BC,KAA2B,EAAE;EACxE,MAAM;IAAEC,KAAK;IAAEC;EAAS,CAAC,GAAGF,KAAK;EAEjC,MAAM;IAAEG;EAAQ,CAAC,GAAGF,KAAK;EAEzB,IAAAG,gBAAS,EAAC,MAAM;IACdJ,KAAK,CAACC,KAAK,CAACI,IAAI,CAAC,CAAC;EACpB,CAAC,EAAE,CAACL,KAAK,CAACC,KAAK,CAAC,CAAC;EAEjB,MAAMK,MAAM,GAAG,IAAAC,cAAO,EAAC,MAAM;IAC3B,OAAOP,KAAK,CAACC,KAAK,CAACK,MAAM;EAC3B,CAAC,EAAE,CAACN,KAAK,CAACC,KAAK,CAACK,MAAM,CAAC,CAAC;;EAExB;EACA,MAAME,QAAQ,GAAGP,KAAK,CAACQ,gBAAgB,CAACD,QAAQ;EAChD,MAAME,cAAc,GAAGF,QAAQ,GAC3BA,QAAQ,CAACG,SAAS,CAAC,CAAC,EAAEH,QAAQ,CAACI,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,GACvD,IAAI;;EAER;EACA,MAAM;IAAEC;
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_ToolbarCollection","_mobxReactLite","_Stage","_designSystem","_CollectionCard","_KanbanCardDragAndDrop","_StagesSkeleton","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_Kanban","props","state","dataHook","toolbar","useEffect","init","stages","useMemo","activeId","dragAndDropState","activeStageKey","substring","indexOf","KanbanDragAndDropContext","DragOverlay","KanbanCardDragAndDrop","stagesContent","createElement","stageId","__self","__source","fileName","lineNumber","columnNumber","Box","direction","gap","map","stage","StageComponent","_extends2","stageKey","key","renderItem","actionCell","dataExtension","tags","CollectionCard","errorState","ToolbarCollection","search","sticky","marginTop","marginBottom","marginLeft","marginRight","overflow","isLoadingStages","StagesSkeleton","Kanban","exports","observer"],"sources":["../../../../src/components/Kanban/Kanban.tsx"],"sourcesContent":["import React, { useEffect, useMemo } from 'react';\nimport { ToolbarBaseProps, ToolbarCollection } from '../ToolbarCollection';\nimport { observer } from 'mobx-react-lite';\nimport { FiltersMap } from '@wix/bex-core';\nimport { KanbanBaseProps } from './KanbanProps';\nimport { StageComponent } from './Stage';\nimport { Box } from '@wix/design-system';\nimport { CollectionCard } from '../CollectionCard';\nimport { KanbanCardDragAndDrop } from '../KanbanDragAndDropDndKit/KanbanCardDragAndDrop';\nimport { StagesSkeleton } from './StagesSkeleton';\n\nexport interface KanbanProps<C, S, F extends FiltersMap>\n extends ToolbarBaseProps,\n KanbanBaseProps<C, S, F> {}\n\nfunction _Kanban<C, S, F extends FiltersMap>(props: KanbanProps<C, S, F>) {\n const { state, dataHook } = props;\n\n const { toolbar } = state;\n\n useEffect(() => {\n props.state.init();\n }, [props.state]);\n\n const stages = useMemo(() => {\n return props.state.stages;\n }, [props.state.stages]);\n\n // Calculate active stage key from activeId\n const activeId = state.dragAndDropState.activeId;\n const activeStageKey = activeId\n ? activeId.substring(0, activeId.indexOf('-##-')) || null\n : null;\n\n // Wrap with global drag and drop context - always enabled for Kanban\n const { KanbanDragAndDropContext, DragOverlay } = KanbanCardDragAndDrop;\n const stagesContent = (\n <KanbanDragAndDropContext state={state} stageId=\"all\">\n <Box direction=\"horizontal\" gap=\"12px\">\n {stages.map((stage: S) => (\n <StageComponent\n dataHook={`kanban-stage-${props.state.stageKey(stage)}`}\n key={props.state.stageKey(stage)}\n activeStageKey={activeStageKey}\n stageKey={props.state.stageKey(stage)}\n {...props}\n />\n ))}\n </Box>\n <DragOverlay \n state={state} \n renderItem={props.renderItem}\n actionCell={props.actionCell}\n dataExtension={props.dataExtension}\n tags={props.tags}\n />\n </KanbanDragAndDropContext>\n );\n\n return (\n <CollectionCard errorState={false} state={toolbar} dataHook={dataHook}>\n <ToolbarCollection search={true} sticky state={toolbar}>\n <Box\n dataHook=\"kanban-test\"\n marginTop=\"12px\"\n marginBottom=\"12px\"\n marginLeft=\"18px\"\n marginRight=\"18px\"\n overflow=\"auto\"\n direction=\"vertical\"\n >\n <Box dataHook=\"kanban-stages\" direction=\"vertical\">\n {props.state.isLoadingStages() ? <StagesSkeleton /> : stagesContent}\n </Box>\n </Box>\n </ToolbarCollection>\n </CollectionCard>\n );\n}\n\nexport const Kanban = observer(_Kanban);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -24,6 +24,7 @@ function _StageComponent({
|
|
|
24
24
|
stageKey,
|
|
25
25
|
...props
|
|
26
26
|
}) {
|
|
27
|
+
var _state$items$create, _state$items$create3;
|
|
27
28
|
const stageState = state.kanbanStageStates[stageKey];
|
|
28
29
|
const handleScroll = e => {
|
|
29
30
|
const {
|
|
@@ -200,42 +201,39 @@ function _StageComponent({
|
|
|
200
201
|
lineNumber: 156,
|
|
201
202
|
columnNumber: 15
|
|
202
203
|
}
|
|
203
|
-
}, /*#__PURE__*/React.createElement(_designSystem.Text, {
|
|
204
|
-
size: "tiny",
|
|
205
|
-
weight: "thin",
|
|
206
|
-
__self: this,
|
|
207
|
-
__source: {
|
|
208
|
-
fileName: _jsxFileName,
|
|
209
|
-
lineNumber: 157,
|
|
210
|
-
columnNumber: 17
|
|
211
|
-
}
|
|
212
|
-
}, "Total:"), shouldShowStageSummary ? /*#__PURE__*/React.createElement(_designSystem.Text, {
|
|
204
|
+
}, shouldShowStageSummary ? /*#__PURE__*/React.createElement(_designSystem.Text, {
|
|
213
205
|
size: "tiny",
|
|
214
206
|
weight: "thin",
|
|
215
207
|
__self: this,
|
|
216
208
|
__source: {
|
|
217
209
|
fileName: _jsxFileName,
|
|
218
|
-
lineNumber:
|
|
210
|
+
lineNumber: 158,
|
|
219
211
|
columnNumber: 19
|
|
220
212
|
}
|
|
221
213
|
}, stageSummary == null ? void 0 : stageSummary({
|
|
222
214
|
stage: stageState.stage
|
|
223
|
-
})) : null)), shouldShowStageSummary ? /*#__PURE__*/React.createElement(_designSystem.Box, {
|
|
215
|
+
})) : null)), shouldShowStageSummary && (_state$items$create = state.items.create) != null && _state$items$create.title ? /*#__PURE__*/React.createElement(_designSystem.Box, {
|
|
224
216
|
paddingBottom: "12px",
|
|
225
217
|
__self: this,
|
|
226
218
|
__source: {
|
|
227
219
|
fileName: _jsxFileName,
|
|
228
|
-
lineNumber:
|
|
220
|
+
lineNumber: 165,
|
|
229
221
|
columnNumber: 15
|
|
230
222
|
}
|
|
231
223
|
}, /*#__PURE__*/React.createElement(_designSystem.AddItem, {
|
|
232
224
|
size: "tiny",
|
|
233
225
|
removePadding: true,
|
|
234
226
|
dataHook: `kanban-stage-add-card-${stageState.stageKey}`,
|
|
227
|
+
onClick: () => {
|
|
228
|
+
var _state$items$create2;
|
|
229
|
+
(_state$items$create2 = state.items.create) == null || _state$items$create2.navigateToEntityPage == null || _state$items$create2.navigateToEntityPage({
|
|
230
|
+
stage: stageState.stage
|
|
231
|
+
});
|
|
232
|
+
},
|
|
235
233
|
__self: this,
|
|
236
234
|
__source: {
|
|
237
235
|
fileName: _jsxFileName,
|
|
238
|
-
lineNumber:
|
|
236
|
+
lineNumber: 166,
|
|
239
237
|
columnNumber: 17
|
|
240
238
|
}
|
|
241
239
|
}, /*#__PURE__*/React.createElement(_designSystem.Box, {
|
|
@@ -244,15 +242,15 @@ function _StageComponent({
|
|
|
244
242
|
__self: this,
|
|
245
243
|
__source: {
|
|
246
244
|
fileName: _jsxFileName,
|
|
247
|
-
lineNumber:
|
|
245
|
+
lineNumber: 176,
|
|
248
246
|
columnNumber: 19
|
|
249
247
|
}
|
|
250
|
-
},
|
|
248
|
+
}, (_state$items$create3 = state.items.create) == null ? void 0 : _state$items$create3.title))) : null), state.isRefetching || isStageLoading || isChangingFiltersValue ? /*#__PURE__*/React.createElement(_CardsSkeleton.CardsSkeleton, {
|
|
251
249
|
stageKey: stageState.stageKey,
|
|
252
250
|
__self: this,
|
|
253
251
|
__source: {
|
|
254
252
|
fileName: _jsxFileName,
|
|
255
|
-
lineNumber:
|
|
253
|
+
lineNumber: 184,
|
|
256
254
|
columnNumber: 13
|
|
257
255
|
}
|
|
258
256
|
}) : /*#__PURE__*/React.createElement(_designSystem.Box, {
|
|
@@ -261,7 +259,7 @@ function _StageComponent({
|
|
|
261
259
|
__self: this,
|
|
262
260
|
__source: {
|
|
263
261
|
fileName: _jsxFileName,
|
|
264
|
-
lineNumber:
|
|
262
|
+
lineNumber: 186,
|
|
265
263
|
columnNumber: 13
|
|
266
264
|
}
|
|
267
265
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -283,7 +281,7 @@ function _StageComponent({
|
|
|
283
281
|
__self: this,
|
|
284
282
|
__source: {
|
|
285
283
|
fileName: _jsxFileName,
|
|
286
|
-
lineNumber:
|
|
284
|
+
lineNumber: 187,
|
|
287
285
|
columnNumber: 15
|
|
288
286
|
}
|
|
289
287
|
}, isInSearchMode && items.length === 0 ? /*#__PURE__*/React.createElement(_designSystem.Box, {
|
|
@@ -293,7 +291,7 @@ function _StageComponent({
|
|
|
293
291
|
__self: this,
|
|
294
292
|
__source: {
|
|
295
293
|
fileName: _jsxFileName,
|
|
296
|
-
lineNumber:
|
|
294
|
+
lineNumber: 205,
|
|
297
295
|
columnNumber: 19
|
|
298
296
|
}
|
|
299
297
|
}, props.noResultsState) : items == null ? void 0 : items.map(item => /*#__PURE__*/React.createElement(DraggableCard, {
|
|
@@ -314,7 +312,7 @@ function _StageComponent({
|
|
|
314
312
|
__self: this,
|
|
315
313
|
__source: {
|
|
316
314
|
fileName: _jsxFileName,
|
|
317
|
-
lineNumber:
|
|
315
|
+
lineNumber: 214,
|
|
318
316
|
columnNumber: 21
|
|
319
317
|
}
|
|
320
318
|
}, _Card.CardComponent)), stageState.itemsCollectionState.status.isLoading && /*#__PURE__*/React.createElement("div", {
|
|
@@ -322,7 +320,7 @@ function _StageComponent({
|
|
|
322
320
|
__self: this,
|
|
323
321
|
__source: {
|
|
324
322
|
fileName: _jsxFileName,
|
|
325
|
-
lineNumber:
|
|
323
|
+
lineNumber: 235,
|
|
326
324
|
columnNumber: 19
|
|
327
325
|
}
|
|
328
326
|
}, "Loading more..."))))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","React","_designSystem","_mobxReactLite","_Card","_KanbanCardDragAndDrop","_state","_core","_mobx","_CardsSkeleton","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_StageComponent","dataHook","state","stageSummary","activeStageKey","stageKey","props","stageState","kanbanStageStates","handleScroll","scrollTop","scrollHeight","clientHeight","currentTarget","itemsCollectionState","fetchedLastPage","result","status","isFetching","fetchMore","keyedItems","useEffect","hasError","showErrorToast","error","isOver","setNodeRef","setDroppableRef","useDroppable","id","isDndSourceStage","items","useMemo","map","keyedItem","index","itemActionsState","ItemActionsState","fade","collection","originalItem","item","itemIndex","renderItem","stage","key","actionCell","length","DraggableCard","KanbanCardDragAndDrop","isInSearchMode","isStageLoading","isLoading","isChangingFiltersValue","getIsChangingFiltersValue","shouldShowStageSummary","createElement","_extends2","ref","style","width","backgroundColor","borderRadius","display","flexDirection","border","process","env","NODE_ENV","onPointerUp","action","dragAndDropState","activeId","handleDragEnd","over","active","__self","__source","fileName","lineNumber","columnNumber","Box","direction","padding","marginBottom","paddingRight","Text","size","weight","ellipsis","stageName","CounterBadge","skin","truncate","totalItems","gap","paddingBottom","AddItem","removePadding","paddingTop","isRefetching","CardsSkeleton","overflow","height","minHeight","maxHeight","alignItems","overflowX","scrollbarWidth","scrollbarColor","onScroll","flex","verticalAlign","noResultsState","cardProps","dataExtension","tags","CardComponent","className","StageComponent","exports","observer"],"sources":["../../../../src/components/Kanban/Stage.tsx"],"sourcesContent":["import * as React from 'react';\nimport { AddItem, Box, CounterBadge, Text } from '@wix/design-system';\nimport { FiltersMap, KeyedItem } from '@wix/bex-core';\nimport { observer } from 'mobx-react-lite';\nimport { CardComponent, KanbanCardProps } from './Card';\nimport { KanbanBaseProps } from './KanbanProps';\nimport { KanbanCardDragAndDrop } from '../KanbanDragAndDropDndKit/KanbanCardDragAndDrop';\nimport { ItemActionsState } from '../../state';\nimport { useDroppable } from '@wix/wix-style-react-incubator/dnd-kit/core';\nimport { KanbanState } from '../../state/KanbanState';\nimport { action } from 'mobx';\nimport { CardsSkeleton } from './CardsSkeleton';\nimport { useEffect } from 'react';\n\ninterface StageComponentProps<T, S, F extends FiltersMap> {\n dataHook: string;\n state: KanbanState<T, S, F>;\n stageSummary?: KanbanBaseProps<T, S, F>['stageSummary'];\n renderItem?: KanbanBaseProps<T, S, F>['renderItem'];\n noResultsState?: KanbanBaseProps<T, S, F>['noResultsState'];\n actionCell?: KanbanBaseProps<T, S, F>['actionCell'];\n dataExtension?: KanbanBaseProps<T, S, F>['dataExtension'];\n tags?: KanbanBaseProps<T, S, F>['tags'];\n activeStageKey?: string | null; // Active source stage key\n stageKey: string;\n}\n\nfunction _StageComponent<T, S, F extends FiltersMap>({\n dataHook,\n state,\n stageSummary,\n activeStageKey,\n stageKey,\n ...props\n}: StageComponentProps<T, S, F>) {\n const stageState = state.kanbanStageStates[stageKey];\n\n const handleScroll = (e: React.UIEvent<HTMLDivElement>) => {\n const { scrollTop, scrollHeight, clientHeight } = e.currentTarget;\n if (\n scrollHeight - scrollTop <= clientHeight + 10 &&\n !stageState.itemsCollectionState.fetchedLastPage &&\n !stageState.itemsCollectionState.result.status.isFetching\n ) {\n stageState.fetchMore();\n }\n };\n\n const {\n result: { keyedItems },\n status,\n } = stageState.itemsCollectionState;\n\n useEffect(() => {\n if (stageState.hasError) {\n stageState.showErrorToast(status.error);\n }\n }, [stageState.hasError]);\n\n // Make the stage droppable\n const { isOver, setNodeRef: setDroppableRef } = useDroppable({\n id: stageState.stageKey,\n });\n\n // Check if this stage is the source stage (where drag originated)\n const isDndSourceStage = activeStageKey === stageState.stageKey;\n\n const items: KanbanCardProps<T, S, F>[] = React.useMemo(() => {\n return keyedItems.map((keyedItem: KeyedItem<T>, index: number) => {\n const itemActionsState = new ItemActionsState({\n fade: 'static',\n keyedItem,\n collection: stageState.itemsCollectionState,\n });\n\n return {\n keyedItem,\n stageKey: stageState.stageKey,\n originalItem: keyedItem.item,\n itemIndex: index,\n itemActionsState,\n item: {\n ...props.renderItem?.({\n stage: stageState.stage,\n item: keyedItem.item,\n }),\n key: keyedItem.key,\n },\n actionCell: props.actionCell,\n };\n });\n }, [keyedItems, keyedItems.length]);\n\n const { DraggableCard } = KanbanCardDragAndDrop;\n const isInSearchMode = state.isInSearchMode();\n const isStageLoading = stageState.isLoading();\n const isChangingFiltersValue = state.getIsChangingFiltersValue();\n const shouldShowStageSummary = !isChangingFiltersValue && !isStageLoading;\n return (\n <div\n ref={setDroppableRef}\n data-hook={`kanban-stage-container-${stageState.stageKey}`}\n style={{\n width: '270px',\n backgroundColor: isOver && !isDndSourceStage ? '#D6E6FE' : '#F4F7FF',\n borderRadius: '8px',\n display: 'flex',\n flexDirection: 'column',\n border:\n isOver && !isDndSourceStage\n ? '1px dashed #80B1FF'\n : '1px solid transparent',\n }}\n {...(process.env.NODE_ENV === 'test' && {\n onPointerUp: action(() => {\n if (state.dragAndDropState.activeId) {\n state.dragAndDropState.handleDragEnd({\n over: { id: stageState.stageKey },\n active: { id: state.dragAndDropState.activeId },\n } as any);\n }\n }),\n })}\n >\n <Box width=\"270px\" direction=\"vertical\">\n <div data-hook={dataHook}>\n <Box direction=\"vertical\" padding=\"12px\">\n <Box\n marginBottom=\"24px\"\n direction=\"vertical\"\n padding=\"12px 6px 0 6px\"\n borderRadius=\"8px\"\n >\n <Box>\n <Box paddingRight=\"6px\">\n <Text\n size=\"small\"\n weight=\"bold\"\n dataHook={`kanban-stage-title-${stageState.stageKey}`}\n ellipsis={true}\n >\n {stageState.stageName}\n </Text>\n </Box>\n {shouldShowStageSummary ? (\n <CounterBadge\n dataHook={`kanban-stage-title-total-${stageState.stageKey}`}\n skin=\"light\"\n truncate={false}\n >\n {stageState.totalItems()}\n </CounterBadge>\n ) : null}\n </Box>\n\n <Box gap=\"0.2em\">\n <Text size=\"tiny\" weight=\"thin\">\n Total:\n </Text>\n {shouldShowStageSummary ? (\n <Text size=\"tiny\" weight=\"thin\">\n {stageSummary?.({ stage: stageState.stage })}\n </Text>\n ) : null}\n </Box>\n </Box>\n {shouldShowStageSummary ? (\n <Box paddingBottom=\"12px\">\n <AddItem\n size=\"tiny\"\n removePadding={true}\n dataHook={`kanban-stage-add-card-${stageState.stageKey}`}\n >\n <Box paddingTop=\"9px\" paddingBottom=\"9px\">\n Add Card\n </Box>\n </AddItem>\n </Box>\n ) : null}\n </Box>\n {state.isRefetching || isStageLoading || isChangingFiltersValue ? (\n <CardsSkeleton stageKey={stageState.stageKey} />\n ) : (\n <Box paddingBottom=\"12px\" direction=\"vertical\">\n <div\n data-hook={`kanban-stage-cards-container-${stageState.stageKey}`}\n style={{\n overflow: 'auto',\n height: '100%',\n minHeight: '430px',\n maxHeight: 'calc(100vh - 420px)',\n display: 'flex',\n flexDirection: 'column',\n gap: '12px',\n alignItems: 'center',\n overflowX: 'hidden',\n scrollbarWidth: 'thin',\n scrollbarColor: '#CFD1DC transparent',\n }}\n onScroll={handleScroll}\n >\n {isInSearchMode && items.length === 0 ? (\n <Box\n flex=\"1\"\n verticalAlign=\"middle\"\n dataHook={`kanban-stage-no-results-${stageState.stageKey}`}\n >\n {props.noResultsState}\n </Box>\n ) : (\n items?.map((item) => (\n <DraggableCard\n key={`${item.stageKey}-##-${item.item.key}`}\n id={`${item.stageKey}-##-${item.item.key}`}\n state={state}\n cardProps={{\n keyedItem: item.keyedItem,\n originalItem: item.keyedItem.item,\n itemIndex: item.itemIndex,\n item: item.item,\n stageKey: item.stageKey,\n actionCell: item.actionCell,\n itemActionsState: item.itemActionsState,\n dataExtension: props.dataExtension,\n tags: props.tags,\n }}\n >\n {CardComponent}\n </DraggableCard>\n ))\n )}\n {stageState.itemsCollectionState.status.isLoading && (\n <div className=\"text-sm text-center text-gray-500\">\n Loading more...\n </div>\n )}\n </div>\n </Box>\n )}\n </div>\n </Box>\n </div>\n );\n}\n\nexport const StageComponent = observer(_StageComponent);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","React","_designSystem","_mobxReactLite","_Card","_KanbanCardDragAndDrop","_state","_core","_mobx","_CardsSkeleton","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_StageComponent","dataHook","state","stageSummary","activeStageKey","stageKey","props","_state$items$create","_state$items$create3","stageState","kanbanStageStates","handleScroll","scrollTop","scrollHeight","clientHeight","currentTarget","itemsCollectionState","fetchedLastPage","result","status","isFetching","fetchMore","keyedItems","useEffect","hasError","showErrorToast","error","isOver","setNodeRef","setDroppableRef","useDroppable","id","isDndSourceStage","items","useMemo","map","keyedItem","index","itemActionsState","ItemActionsState","fade","collection","originalItem","item","itemIndex","renderItem","stage","key","actionCell","length","DraggableCard","KanbanCardDragAndDrop","isInSearchMode","isStageLoading","isLoading","isChangingFiltersValue","getIsChangingFiltersValue","shouldShowStageSummary","createElement","_extends2","ref","style","width","backgroundColor","borderRadius","display","flexDirection","border","process","env","NODE_ENV","onPointerUp","action","dragAndDropState","activeId","handleDragEnd","over","active","__self","__source","fileName","lineNumber","columnNumber","Box","direction","padding","marginBottom","paddingRight","Text","size","weight","ellipsis","stageName","CounterBadge","skin","truncate","totalItems","gap","create","title","paddingBottom","AddItem","removePadding","onClick","_state$items$create2","navigateToEntityPage","paddingTop","isRefetching","CardsSkeleton","overflow","height","minHeight","maxHeight","alignItems","overflowX","scrollbarWidth","scrollbarColor","onScroll","flex","verticalAlign","noResultsState","cardProps","dataExtension","tags","CardComponent","className","StageComponent","exports","observer"],"sources":["../../../../src/components/Kanban/Stage.tsx"],"sourcesContent":["import * as React from 'react';\nimport { AddItem, Box, CounterBadge, Text } from '@wix/design-system';\nimport { FiltersMap, KeyedItem } from '@wix/bex-core';\nimport { observer } from 'mobx-react-lite';\nimport { CardComponent, KanbanCardProps } from './Card';\nimport { KanbanBaseProps } from './KanbanProps';\nimport { KanbanCardDragAndDrop } from '../KanbanDragAndDropDndKit/KanbanCardDragAndDrop';\nimport { ItemActionsState } from '../../state';\nimport { useDroppable } from '@wix/wix-style-react-incubator/dnd-kit/core';\nimport { KanbanState } from '../../state/KanbanState';\nimport { action } from 'mobx';\nimport { CardsSkeleton } from './CardsSkeleton';\nimport { useEffect } from 'react';\n\ninterface StageComponentProps<T, S, F extends FiltersMap> {\n dataHook: string;\n state: KanbanState<T, S, F>;\n stageSummary?: KanbanBaseProps<T, S, F>['stageSummary'];\n renderItem?: KanbanBaseProps<T, S, F>['renderItem'];\n noResultsState?: KanbanBaseProps<T, S, F>['noResultsState'];\n actionCell?: KanbanBaseProps<T, S, F>['actionCell'];\n dataExtension?: KanbanBaseProps<T, S, F>['dataExtension'];\n tags?: KanbanBaseProps<T, S, F>['tags'];\n activeStageKey?: string | null; // Active source stage key\n stageKey: string;\n}\n\nfunction _StageComponent<T, S, F extends FiltersMap>({\n dataHook,\n state,\n stageSummary,\n activeStageKey,\n stageKey,\n ...props\n}: StageComponentProps<T, S, F>) {\n const stageState = state.kanbanStageStates[stageKey];\n\n const handleScroll = (e: React.UIEvent<HTMLDivElement>) => {\n const { scrollTop, scrollHeight, clientHeight } = e.currentTarget;\n if (\n scrollHeight - scrollTop <= clientHeight + 10 &&\n !stageState.itemsCollectionState.fetchedLastPage &&\n !stageState.itemsCollectionState.result.status.isFetching\n ) {\n stageState.fetchMore();\n }\n };\n\n const {\n result: { keyedItems },\n status,\n } = stageState.itemsCollectionState;\n\n useEffect(() => {\n if (stageState.hasError) {\n stageState.showErrorToast(status.error);\n }\n }, [stageState.hasError]);\n\n // Make the stage droppable\n const { isOver, setNodeRef: setDroppableRef } = useDroppable({\n id: stageState.stageKey,\n });\n\n // Check if this stage is the source stage (where drag originated)\n const isDndSourceStage = activeStageKey === stageState.stageKey;\n\n const items: KanbanCardProps<T, S, F>[] = React.useMemo(() => {\n return keyedItems.map((keyedItem: KeyedItem<T>, index: number) => {\n const itemActionsState = new ItemActionsState({\n fade: 'static',\n keyedItem,\n collection: stageState.itemsCollectionState,\n });\n\n return {\n keyedItem,\n stageKey: stageState.stageKey,\n originalItem: keyedItem.item,\n itemIndex: index,\n itemActionsState,\n item: {\n ...props.renderItem?.({\n stage: stageState.stage,\n item: keyedItem.item,\n }),\n key: keyedItem.key,\n },\n actionCell: props.actionCell,\n };\n });\n }, [keyedItems, keyedItems.length]);\n\n const { DraggableCard } = KanbanCardDragAndDrop;\n const isInSearchMode = state.isInSearchMode();\n const isStageLoading = stageState.isLoading();\n const isChangingFiltersValue = state.getIsChangingFiltersValue();\n const shouldShowStageSummary = !isChangingFiltersValue && !isStageLoading;\n return (\n <div\n ref={setDroppableRef}\n data-hook={`kanban-stage-container-${stageState.stageKey}`}\n style={{\n width: '270px',\n backgroundColor: isOver && !isDndSourceStage ? '#D6E6FE' : '#F4F7FF',\n borderRadius: '8px',\n display: 'flex',\n flexDirection: 'column',\n border:\n isOver && !isDndSourceStage\n ? '1px dashed #80B1FF'\n : '1px solid transparent',\n }}\n {...(process.env.NODE_ENV === 'test' && {\n onPointerUp: action(() => {\n if (state.dragAndDropState.activeId) {\n state.dragAndDropState.handleDragEnd({\n over: { id: stageState.stageKey },\n active: { id: state.dragAndDropState.activeId },\n } as any);\n }\n }),\n })}\n >\n <Box width=\"270px\" direction=\"vertical\">\n <div data-hook={dataHook}>\n <Box direction=\"vertical\" padding=\"12px\">\n <Box\n marginBottom=\"24px\"\n direction=\"vertical\"\n padding=\"12px 6px 0 6px\"\n borderRadius=\"8px\"\n >\n <Box>\n <Box paddingRight=\"6px\">\n <Text\n size=\"small\"\n weight=\"bold\"\n dataHook={`kanban-stage-title-${stageState.stageKey}`}\n ellipsis={true}\n >\n {stageState.stageName}\n </Text>\n </Box>\n {shouldShowStageSummary ? (\n <CounterBadge\n dataHook={`kanban-stage-title-total-${stageState.stageKey}`}\n skin=\"light\"\n truncate={false}\n >\n {stageState.totalItems()}\n </CounterBadge>\n ) : null}\n </Box>\n\n <Box gap=\"0.2em\">\n {shouldShowStageSummary ? (\n <Text size=\"tiny\" weight=\"thin\">\n {stageSummary?.({ stage: stageState.stage })}\n </Text>\n ) : null}\n </Box>\n </Box>\n {shouldShowStageSummary && state.items.create?.title ? (\n <Box paddingBottom=\"12px\">\n <AddItem\n size=\"tiny\"\n removePadding={true}\n dataHook={`kanban-stage-add-card-${stageState.stageKey}`}\n onClick={() => {\n state.items.create?.navigateToEntityPage?.({\n stage: stageState.stage,\n });\n }}\n >\n <Box paddingTop=\"9px\" paddingBottom=\"9px\">\n {state.items.create?.title}\n </Box>\n </AddItem>\n </Box>\n ) : null}\n </Box>\n {state.isRefetching || isStageLoading || isChangingFiltersValue ? (\n <CardsSkeleton stageKey={stageState.stageKey} />\n ) : (\n <Box paddingBottom=\"12px\" direction=\"vertical\">\n <div\n data-hook={`kanban-stage-cards-container-${stageState.stageKey}`}\n style={{\n overflow: 'auto',\n height: '100%',\n minHeight: '430px',\n maxHeight: 'calc(100vh - 420px)',\n display: 'flex',\n flexDirection: 'column',\n gap: '12px',\n alignItems: 'center',\n overflowX: 'hidden',\n scrollbarWidth: 'thin',\n scrollbarColor: '#CFD1DC transparent',\n }}\n onScroll={handleScroll}\n >\n {isInSearchMode && items.length === 0 ? (\n <Box\n flex=\"1\"\n verticalAlign=\"middle\"\n dataHook={`kanban-stage-no-results-${stageState.stageKey}`}\n >\n {props.noResultsState}\n </Box>\n ) : (\n items?.map((item) => (\n <DraggableCard\n key={`${item.stageKey}-##-${item.item.key}`}\n id={`${item.stageKey}-##-${item.item.key}`}\n state={state}\n cardProps={{\n keyedItem: item.keyedItem,\n originalItem: item.keyedItem.item,\n itemIndex: item.itemIndex,\n item: item.item,\n stageKey: item.stageKey,\n actionCell: item.actionCell,\n itemActionsState: item.itemActionsState,\n dataExtension: props.dataExtension,\n tags: props.tags,\n }}\n >\n {CardComponent}\n </DraggableCard>\n ))\n )}\n {stageState.itemsCollectionState.status.isLoading && (\n <div className=\"text-sm text-center text-gray-500\">\n Loading more...\n </div>\n )}\n </div>\n </Box>\n )}\n </div>\n </Box>\n </div>\n );\n}\n\nexport const StageComponent = observer(_StageComponent);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,6 +6,7 @@ exports.KanbanDragAndDropState = exports.KanbanCardDragAndDrop = void 0;
|
|
|
6
6
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
7
7
|
var _KanbanDragAndDropContext = require("./KanbanDragAndDropContext");
|
|
8
8
|
var _KanbanDraggableCardItem = require("./KanbanDraggableCardItem");
|
|
9
|
+
var _KanbanDragOverlay = require("./KanbanDragOverlay");
|
|
9
10
|
var _mobx = require("mobx");
|
|
10
11
|
class KanbanDragAndDropState {
|
|
11
12
|
constructor(params) {
|
|
@@ -68,19 +69,26 @@ class KanbanDragAndDropState {
|
|
|
68
69
|
fromStageId,
|
|
69
70
|
toStageId
|
|
70
71
|
};
|
|
71
|
-
if ((_this$kanbanState$ite = this.kanbanState.items.dragAndDrop) != null && _this$kanbanState$ite.onSubmit) {
|
|
72
|
+
if ((_this$kanbanState$ite = this.kanbanState.items) != null && (_this$kanbanState$ite = _this$kanbanState$ite.dragAndDrop) != null && _this$kanbanState$ite.onSubmit) {
|
|
72
73
|
const originalItem = item;
|
|
73
|
-
const
|
|
74
|
+
const updatedItem = {
|
|
74
75
|
...item,
|
|
75
76
|
[this.kanbanState.items.stageField]: toStageId
|
|
76
77
|
};
|
|
77
78
|
try {
|
|
78
|
-
|
|
79
|
-
this.kanbanState.
|
|
80
|
-
|
|
79
|
+
this.kanbanState.moveItemBetweenStages(originalItem, updatedItem, fromStageId, toStageId);
|
|
80
|
+
const submittedItem = await this.kanbanState.items.dragAndDrop.onSubmit(kanbanDragEndEvent);
|
|
81
|
+
const submittedItemStageId = submittedItem[this.kanbanState.items.stageField];
|
|
82
|
+
if (toStageId !== submittedItemStageId) {
|
|
83
|
+
// move has been cancelled
|
|
84
|
+
this.kanbanState.moveItemBetweenStages(updatedItem, originalItem, toStageId, fromStageId);
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
this.kanbanState.updateCard(submittedItem);
|
|
81
88
|
} catch (error) {
|
|
82
89
|
this.kanbanState.showErrorToast(error);
|
|
83
|
-
|
|
90
|
+
// rollback the move
|
|
91
|
+
this.kanbanState.moveItemBetweenStages(updatedItem, originalItem, toStageId, fromStageId);
|
|
84
92
|
}
|
|
85
93
|
}
|
|
86
94
|
});
|
|
@@ -136,6 +144,7 @@ class KanbanDragAndDropState {
|
|
|
136
144
|
exports.KanbanDragAndDropState = KanbanDragAndDropState;
|
|
137
145
|
const KanbanCardDragAndDrop = exports.KanbanCardDragAndDrop = {
|
|
138
146
|
KanbanDragAndDropContext: _KanbanDragAndDropContext.KanbanDragAndDropContext,
|
|
139
|
-
DraggableCard: _KanbanDraggableCardItem.KanbanDraggableCardItem
|
|
147
|
+
DraggableCard: _KanbanDraggableCardItem.KanbanDraggableCardItem,
|
|
148
|
+
DragOverlay: _KanbanDragOverlay.KanbanDragOverlay
|
|
140
149
|
};
|
|
141
150
|
//# sourceMappingURL=KanbanCardDragAndDrop.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_KanbanDragAndDropContext","require","_KanbanDraggableCardItem","_mobx","KanbanDragAndDropState","constructor","params","_defineProperty2","default","id","activeId","event","status","active","toString","setActiveId","_this$kanbanState$ite","over","overId","fromStageId","_findStageByItemId","toStageId","kanbanState","kanbanStageStates","item","_findItemById","kanbanDragEndEvent","items","dragAndDrop","onSubmit","originalItem","updateItem","stageField","_this$kanbanState$ite2","moveItemBetweenStages","error","showErrorToast","makeObservable","handleDragEnd","action","observable","ref","handleDragStart","handleDragCancel","_parseItemId","combinedId","stageKey","itemKey","split","_stageState$itemsColl","parsed","stageState","itemsCollectionState","getKeyedItem","init","keyboardCodes","start","cancel","end","exports","KanbanCardDragAndDrop","KanbanDragAndDropContext","DraggableCard","KanbanDraggableCardItem"],"sources":["../../../../src/components/KanbanDragAndDropDndKit/KanbanCardDragAndDrop.ts"],"sourcesContent":["import { KanbanDragAndDropContext } from './KanbanDragAndDropContext';\nimport { KanbanDraggableCardItem } from './KanbanDraggableCardItem';\n\nimport { KanbanState } from '../../state/KanbanState/KanbanState';\nimport { KanbanDragEndItemEvent } from '../../state/KanbanState/KanbanDragEndEvent';\nimport { FiltersMap } from '@wix/bex-core';\nimport { action, makeObservable, observable } from 'mobx';\nimport {\n DragStartEvent,\n DragEndEvent,\n} from '@wix/wix-style-react-incubator/dnd-kit/core';\n\nexport interface KanbanDragAndDropStateParams<T, S, F extends FiltersMap> {\n kanbanState: KanbanState<T, S, F>;\n}\n\nexport class KanbanDragAndDropState<T, S, F extends FiltersMap> {\n readonly kanbanState: KanbanState<T, S, F>;\n activeId: string | null = null;\n status: 'start' | 'over' | 'end' | 'cancel' = 'start';\n\n constructor(params: KanbanDragAndDropStateParams<T, S, F>) {\n this.kanbanState = params.kanbanState;\n\n makeObservable(this, {\n handleDragEnd: action,\n setActiveId: action,\n activeId: observable,\n status: observable.ref,\n handleDragStart: action,\n handleDragCancel: action,\n });\n }\n\n setActiveId = (id: string | null) => {\n this.activeId = id;\n };\n\n private _parseItemId(\n combinedId: string,\n ): { stageKey: string; itemKey: string } | null {\n // Parse combined ID format: \"stageKey-##-itemKey\"\n const [stageKey, itemKey] = combinedId.split('-##-');\n if (!stageKey || !itemKey) {\n return null;\n }\n return { stageKey, itemKey };\n }\n\n private _findItemById(combinedId: string): T | null {\n const parsed = this._parseItemId(combinedId);\n if (!parsed) {\n return null;\n }\n\n const stageState = this.kanbanState.kanbanStageStates[parsed.stageKey];\n if (!stageState) {\n return null;\n }\n\n const item = stageState.itemsCollectionState.getKeyedItem(\n parsed.itemKey,\n )?.item;\n return item || null;\n }\n\n private _findStageByItemId(combinedId: string): string | null {\n const parsed = this._parseItemId(combinedId);\n return parsed?.stageKey || null;\n }\n\n handleDragStart = (event: DragStartEvent) => {\n this.status = 'start';\n this.activeId = event.active.id.toString();\n };\n\n handleDragCancel = () => {\n this.status = 'cancel';\n this.setActiveId(null);\n };\n\n handleDragEnd = async (event: DragEndEvent) => {\n this.status = 'end';\n const { active, over } = event;\n this.setActiveId(null);\n\n if (!over) {\n return;\n }\n\n const activeId = active.id.toString();\n const overId = over.id.toString();\n\n const fromStageId = this._findStageByItemId(activeId);\n\n // Determine target stage - could be stage key directly or extracted from item ID\n let toStageId: string | null;\n if (this.kanbanState.kanbanStageStates[overId]) {\n // Dropping on a stage background\n toStageId = overId;\n } else {\n // Dropping on an item - extract stage from item ID\n toStageId = this._findStageByItemId(overId);\n }\n\n // Only return early if we don't have valid source and target stages\n if (!fromStageId || !toStageId) {\n return;\n }\n\n // PREVENT MOVEMENT WITHIN THE SAME STAGE\n if (fromStageId === toStageId) {\n return; // Don't allow reordering within the same stage\n }\n\n const item = this._findItemById(activeId);\n if (!item) {\n return;\n }\n\n // Create the Kanban drag end event\n const kanbanDragEndEvent: KanbanDragEndItemEvent<T> = {\n item,\n fromStageId,\n toStageId,\n };\n\n if (this.kanbanState.items.dragAndDrop?.onSubmit) {\n const originalItem = item;\n const updateItem = {\n ...item,\n [this.kanbanState.items.stageField]: toStageId,\n };\n try {\n this.kanbanState.moveItemBetweenStages(\n updateItem,\n fromStageId,\n toStageId,\n );\n await this.kanbanState.items.dragAndDrop?.onSubmit?.(\n kanbanDragEndEvent,\n );\n } catch (error) {\n this.kanbanState.showErrorToast(error);\n this.kanbanState.moveItemBetweenStages(\n originalItem,\n toStageId,\n fromStageId,\n );\n }\n }\n };\n\n init() {\n // No initialization needed for native drag and drop\n }\n\n get keyboardCodes() {\n return {\n start: ['Space', 'Enter'],\n cancel: ['Escape'],\n end: ['Space', 'Enter'],\n };\n }\n}\n\nexport const KanbanCardDragAndDrop = {\n KanbanDragAndDropContext,\n DraggableCard: KanbanDraggableCardItem,\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_KanbanDragAndDropContext","require","_KanbanDraggableCardItem","_KanbanDragOverlay","_mobx","KanbanDragAndDropState","constructor","params","_defineProperty2","default","id","activeId","event","status","active","toString","setActiveId","_this$kanbanState$ite","over","overId","fromStageId","_findStageByItemId","toStageId","kanbanState","kanbanStageStates","item","_findItemById","kanbanDragEndEvent","items","dragAndDrop","onSubmit","originalItem","updatedItem","stageField","moveItemBetweenStages","submittedItem","submittedItemStageId","updateCard","error","showErrorToast","makeObservable","handleDragEnd","action","observable","ref","handleDragStart","handleDragCancel","_parseItemId","combinedId","stageKey","itemKey","split","_stageState$itemsColl","parsed","stageState","itemsCollectionState","getKeyedItem","init","keyboardCodes","start","cancel","end","exports","KanbanCardDragAndDrop","KanbanDragAndDropContext","DraggableCard","KanbanDraggableCardItem","DragOverlay","KanbanDragOverlay"],"sources":["../../../../src/components/KanbanDragAndDropDndKit/KanbanCardDragAndDrop.ts"],"sourcesContent":["import { KanbanDragAndDropContext } from './KanbanDragAndDropContext';\nimport { KanbanDraggableCardItem } from './KanbanDraggableCardItem';\nimport { KanbanDragOverlay } from './KanbanDragOverlay';\n\nimport { KanbanState } from '../../state/KanbanState/KanbanState';\nimport { KanbanDragEndItemEvent } from '../../state/KanbanState/KanbanDragEndEvent';\nimport { FiltersMap } from '@wix/bex-core';\nimport { action, makeObservable, observable } from 'mobx';\nimport {\n DragStartEvent,\n DragEndEvent,\n} from '@wix/wix-style-react-incubator/dnd-kit/core';\n\nexport interface KanbanDragAndDropStateParams<T, S, F extends FiltersMap> {\n kanbanState: KanbanState<T, S, F>;\n}\n\nexport class KanbanDragAndDropState<T, S, F extends FiltersMap> {\n readonly kanbanState: KanbanState<T, S, F>;\n activeId: string | null = null;\n status: 'start' | 'over' | 'end' | 'cancel' = 'start';\n\n constructor(params: KanbanDragAndDropStateParams<T, S, F>) {\n this.kanbanState = params.kanbanState;\n\n makeObservable(this, {\n handleDragEnd: action,\n setActiveId: action,\n activeId: observable,\n status: observable.ref,\n handleDragStart: action,\n handleDragCancel: action,\n });\n }\n\n setActiveId = (id: string | null) => {\n this.activeId = id;\n };\n\n private _parseItemId(\n combinedId: string,\n ): { stageKey: string; itemKey: string } | null {\n // Parse combined ID format: \"stageKey-##-itemKey\"\n const [stageKey, itemKey] = combinedId.split('-##-');\n if (!stageKey || !itemKey) {\n return null;\n }\n return { stageKey, itemKey };\n }\n\n private _findItemById(combinedId: string): T | null {\n const parsed = this._parseItemId(combinedId);\n if (!parsed) {\n return null;\n }\n\n const stageState = this.kanbanState.kanbanStageStates[parsed.stageKey];\n if (!stageState) {\n return null;\n }\n\n const item = stageState.itemsCollectionState.getKeyedItem(\n parsed.itemKey,\n )?.item;\n return item || null;\n }\n\n private _findStageByItemId(combinedId: string): string | null {\n const parsed = this._parseItemId(combinedId);\n return parsed?.stageKey || null;\n }\n\n handleDragStart = (event: DragStartEvent) => {\n this.status = 'start';\n this.activeId = event.active.id.toString();\n };\n\n handleDragCancel = () => {\n this.status = 'cancel';\n this.setActiveId(null);\n };\n\n handleDragEnd = async (event: DragEndEvent) => {\n this.status = 'end';\n const { active, over } = event;\n this.setActiveId(null);\n\n if (!over) {\n return;\n }\n\n const activeId = active.id.toString();\n const overId = over.id.toString();\n\n const fromStageId = this._findStageByItemId(activeId);\n\n // Determine target stage - could be stage key directly or extracted from item ID\n let toStageId: string | null;\n if (this.kanbanState.kanbanStageStates[overId]) {\n // Dropping on a stage background\n toStageId = overId;\n } else {\n // Dropping on an item - extract stage from item ID\n toStageId = this._findStageByItemId(overId);\n }\n\n // Only return early if we don't have valid source and target stages\n if (!fromStageId || !toStageId) {\n return;\n }\n\n // PREVENT MOVEMENT WITHIN THE SAME STAGE\n if (fromStageId === toStageId) {\n return; // Don't allow reordering within the same stage\n }\n\n const item = this._findItemById(activeId);\n if (!item) {\n return;\n }\n\n // Create the Kanban drag end event\n const kanbanDragEndEvent: KanbanDragEndItemEvent<T> = {\n item,\n fromStageId,\n toStageId,\n };\n\n if (this.kanbanState.items?.dragAndDrop?.onSubmit) {\n const originalItem = item;\n const updatedItem = {\n ...item,\n [this.kanbanState.items.stageField]: toStageId,\n };\n try {\n this.kanbanState.moveItemBetweenStages(\n originalItem,\n updatedItem,\n fromStageId,\n toStageId,\n );\n const submittedItem: T =\n await this.kanbanState.items.dragAndDrop.onSubmit(kanbanDragEndEvent);\n const submittedItemStageId =\n submittedItem[this.kanbanState.items.stageField as keyof T];\n\n if (toStageId !== submittedItemStageId) {\n // move has been cancelled\n this.kanbanState.moveItemBetweenStages(\n updatedItem,\n originalItem,\n toStageId,\n fromStageId,\n );\n return;\n }\n this.kanbanState.updateCard(submittedItem);\n } catch (error) {\n this.kanbanState.showErrorToast(error);\n // rollback the move\n this.kanbanState.moveItemBetweenStages(\n updatedItem,\n originalItem,\n toStageId,\n fromStageId,\n );\n }\n }\n };\n\n init() {\n // No initialization needed for native drag and drop\n }\n\n get keyboardCodes() {\n return {\n start: ['Space', 'Enter'],\n cancel: ['Escape'],\n end: ['Space', 'Enter'],\n };\n }\n}\n\nexport const KanbanCardDragAndDrop = {\n KanbanDragAndDropContext,\n DraggableCard: KanbanDraggableCardItem,\n DragOverlay: KanbanDragOverlay,\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -44,6 +44,14 @@ function _KanbanDragAndDropContext(props) {
|
|
|
44
44
|
};
|
|
45
45
|
return /*#__PURE__*/_react.default.createElement(_core.DndContext, {
|
|
46
46
|
sensors: sensors,
|
|
47
|
+
autoScroll: {
|
|
48
|
+
activator: _core.AutoScrollActivator.DraggableRect,
|
|
49
|
+
acceleration: 4,
|
|
50
|
+
threshold: {
|
|
51
|
+
y: 0.01,
|
|
52
|
+
x: 0.2
|
|
53
|
+
}
|
|
54
|
+
},
|
|
47
55
|
accessibility: {
|
|
48
56
|
container: modalsContainerRef.current,
|
|
49
57
|
announcements: {
|
|
@@ -66,7 +74,7 @@ function _KanbanDragAndDropContext(props) {
|
|
|
66
74
|
__self: this,
|
|
67
75
|
__source: {
|
|
68
76
|
fileName: _jsxFileName,
|
|
69
|
-
lineNumber:
|
|
77
|
+
lineNumber: 67,
|
|
70
78
|
columnNumber: 5
|
|
71
79
|
}
|
|
72
80
|
}, children);
|